<?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>129183</bug_id>
          
          <creation_ts>2014-02-21 16:48:02 -0800</creation_ts>
          <short_desc>Move unported Web Inspector tests to LayoutTests/inspector-obsolete</short_desc>
          <delta_ts>2014-02-21 17:59:01 -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>Tools / Tests</component>
          <version>528+ (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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Blaze Burg">bburg</reporter>
          <assigned_to name="Blaze Burg">bburg</assigned_to>
          <cc>joepeck</cc>
    
    <cc>timothy</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>983442</commentid>
    <comment_count>0</comment_count>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2014-02-21 16:48:02 -0800</bug_when>
    <thetext>And simplify TestExpectations entries for inspector-obsolete. It can be done with one line now, rather an entry in every port&apos;s test expectations file.

Also delete heap-profiler tests. Nobody likes you. Sorry.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>983450</commentid>
    <comment_count>1</comment_count>
      <attachid>224928</attachid>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2014-02-21 17:05:01 -0800</bug_when>
    <thetext>Created attachment 224928
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>983467</commentid>
    <comment_count>2</comment_count>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2014-02-21 17:58:49 -0800</bug_when>
    <thetext>Landed manually so the renames don&apos;t get lost.

http://trac.webkit.org/changeset/164518</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>224928</attachid>
            <date>2014-02-21 17:05:01 -0800</date>
            <delta_ts>2014-02-21 17:59:01 -0800</delta_ts>
            <desc>patch</desc>
            <filename>bug-129183-20140221170618.patch</filename>
            <type>text/plain</type>
            <size>2930724</size>
            <attacher name="Blaze Burg">bburg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY0NTE1CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggY2JlMzQyNTI3OWU1ODdlMjMzYWQ2
ZWU1OTBlYTRmN2U3NTU3YTFiMi4uNGM0YmYxYTUyMzBlMmYwYTMwYjQwNzAzZDZiODk3ZTVhNzBh
NDZkZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSw1ICsxLDQzIEBACiAyMDE0LTAyLTIxICBCcmlhbiBCdXJnICA8YmJ1
cmdAYXBwbGUuY29tPgogCisgICAgICAgIE1vdmUgdW5wb3J0ZWQgV2ViIEluc3BlY3RvciB0ZXN0
cyB0byBMYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyOTE4MworCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1vdmUgaW5zcGVjdG9yLyB0byBpbnNwZWN0b3It
b2Jzb2xldGUvLgorICAgICAgICBNb3ZlIGh0dHAvdGVzdHMvaW5zcGVjdG9yLyB0byBpbnNwZWN0
b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy8uCisgICAgICAgIEZvbGQgaHR0cC90ZXN0cy9pbnNwZWN0
b3ItZW5hYmxlZC8gaW50byBpbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy8uCisKKyAgICAg
ICAgSSBoYXZlIGVsaWRlZCBhYm91dCAxMTAwIGxpbmVzIG9mIHJlbmFtZSBDaGFuZ2Vsb2cgc3Bl
dzsKKyAgICAgICAgbm8gZmlsZW5hbWVzIGhhdmUgYmVlbiBhbHRlcmVkIGluIHRoaXMgcmVvcmdh
bml6YXRpb24uCisKKyAgICAgICAgUmVtb3ZlIG1lbnRpb25zIG9mIG9ic29sZXRlIHRlc3RzIGZy
b20gVGVzdEV4cGVjdGF0aW9ucy4gUmVtb3ZlIHNraXBzCisgICAgICAgIGZvciBpbnNwZWN0b3It
b2Jzb2xldGUvIGZyb20gcG9ydC1zcGVjaWZpYyBleHBlY3RhdGlvbnMsIGFuZCBqdXN0CisgICAg
ICAgIHB1dCBpdCBpbiB0aGUgZ2VuZXJpYyBleHBlY3RhdGlvbnMgZmlsZS4KKworICAgICAgICBS
ZW1vdmUgaW5zcGVjdG9yLXByb3RvY29sL2hlYXAtcHJvZmlsZXIgdGVzdHMsIGFzIHRoZXkgYXJl
IG9ic29sZXRlLgorCisgICAgICAgICogVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgICogaW5z
cGVjdG9yLXByb3RvY29sL2hlYXAtcHJvZmlsZXIvaGVhcC1zbmFwc2hvdC13aXRoLWRldGFjaGVk
LWRvbS10cmVlLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3ItcHJv
dG9jb2wvaGVhcC1wcm9maWxlci9oZWFwLXNuYXBzaG90LXdpdGgtZGV0YWNoZWQtZG9tLXRyZWUu
aHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3ItcHJvdG9jb2wvaGVhcC1wcm9maWxl
ci9oZWFwLXNuYXBzaG90LXdpdGgtZXZlbnQtbGlzdGVuZXItZXhwZWN0ZWQudHh0OiBSZW1vdmVk
LgorICAgICAgICAqIGluc3BlY3Rvci1wcm90b2NvbC9oZWFwLXByb2ZpbGVyL2hlYXAtc25hcHNo
b3Qtd2l0aC1ldmVudC1saXN0ZW5lci5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rv
ci1wcm90b2NvbC9oZWFwLXByb2ZpbGVyL3Jlc291cmNlcy9oZWFwLXNuYXBzaG90LWNvbW1vbi5q
czogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3ItcHJvdG9jb2wvaGVhcC1wcm9maWxlci9y
ZXNvdXJjZXMvcGFnZS13aXRoLWZ1bmN0aW9uLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaW5z
cGVjdG9yLXByb3RvY29sL2hlYXAtcHJvZmlsZXIvdGFrZS1oZWFwLXNuYXBzaG90LWV4cGVjdGVk
LnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3ItcHJvdG9jb2wvaGVhcC1wcm9maWxl
ci90YWtlLWhlYXAtc25hcHNob3QuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9l
ZmwvVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0
aW9uczoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAg
ICAgICogcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICogcGxhdGZvcm0v
d2luLXhwL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICogcGxhdGZvcm0vd2luL1Rlc3RFeHBl
Y3RhdGlvbnM6CisgICAgICAgICogcGxhdGZvcm0vd2luY2Fpcm8vVGVzdEV4cGVjdGF0aW9uczoK
KyAgICAgICAgKiBwbGF0Zm9ybS93azIvVGVzdEV4cGVjdGF0aW9uczoKKworMjAxNC0wMi0yMSAg
QnJpYW4gQnVyZyAgPGJidXJnQGFwcGxlLmNvbT4KKwogICAgICAgICBXZWIgSW5zcGVjdG9yOiBy
ZW1vdmUgb2xkIGluc3BlY3RvciB0ZXN0cyB0aGF0IGNhbm5vdCBiZSBwb3J0ZWQKICAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyOTE2OAogCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVj
dGF0aW9ucwppbmRleCAxZmZjOGE2ZTcxYjA3NTkyNDkzMTAyNGFmOWU5YjE3ZmMwNjA5MWI2Li5l
YzdlZDU4MTY5YjVmNjM5MWYxMWE3Y2QwYTgzYzJjM2ZlODE4ZWU2IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlv
bnMKQEAgLTQ2LDEwICs0Niw4IEBAIHdlYmtpdC5vcmcvYi8xMTkwOTQgZmFzdC9mb3Jtcy9jb2xv
ci9pbnB1dC1jb2xvci1vbmNoYW5nZS1ldmVudC5odG1sIFsgQ3Jhc2ggUGFzCiAjIFRoaXMgdGVz
dCB3aWxsIHJ1biBzbG93bHkgaW4gZGVidWcgbW9kZSwgYnV0IGlzIHBsZW50eSBmYXN0IGluIHJl
bGVhc2UuCiBbIERlYnVnIF0ganMvcmVncmVzcy9lbXNjcmlwdGVuLW1lbW9wcy5odG1sIFsgU2tp
cCBdCiAKLSMgU2tpcHBpbmcgdGhlIHRlc3RzIGZvciB0aGUgb2xkIGluc3BlY3RvciBVSQotaW5z
cGVjdG9yIFsgU2tpcCBdCi1odHRwL3Rlc3RzL2luc3BlY3RvciBbIFNraXAgXQotaHR0cC90ZXN0
cy9pbnNwZWN0b3ItZW5hYmxlZCBbIFNraXAgXQorIyBTa2lwIHRlc3RzIGZvciB0aGUgb2xkIGlu
c3BlY3RvciBVSSB0aGF0IHdpbGwgYmUgcG9ydGVkIG9yIHJlbW92ZWQgc29vbi4KK2luc3BlY3Rv
ci1vYnNvbGV0ZSBbIFNraXAgXQogCiB3ZWJraXQub3JnL2IvMTEyNTIxIFsgUmVsZWFzZSBdIHdl
YmF1ZGlvL2phdmFzY3JpcHRhdWRpb25vZGUuaHRtbCBbIFBhc3MgRmFpbHVyZSBdCiB3ZWJraXQu
b3JnL2IvMTEyNTIxIFsgRGVidWcgXSB3ZWJhdWRpby9qYXZhc2NyaXB0YXVkaW9ub2RlLmh0bWwg
WyBQYXNzIENyYXNoIF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVj
dG9yLWVuYWJsZWQvY29uc29sZS1jbGVhci1hcmd1bWVudHMtb24tZnJhbWUtbmF2aWdhdGlvbi1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci1lbmFibGVkL2Nv
bnNvbGUtY2xlYXItYXJndW1lbnRzLW9uLWZyYW1lLW5hdmlnYXRpb24tZXhwZWN0ZWQudHh0CmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1OWQ1YmJiMTdkYmVmODE3OTZhOGU4YzYwOGE2
MjA0M2NkMGJkNTU0Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yLWVuYWJsZWQvY29uc29sZS1jbGVh
ci1hcmd1bWVudHMtb24tZnJhbWUtbmF2aWdhdGlvbi1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVs
bApAQCAtMSwxMCArMCwwIEBACi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMjogQSBtZXNzYWdlIHdp
dGggZmlyc3QgYXJndW1lbnQgc3RyaW5nCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMzogMjAxMQot
Q09OU09MRSBNRVNTQUdFOiBsaW5lIDQ6IFtvYmplY3QgV2luZG93XQotVGVzdHMgdGhhdCBXZWIg
SW5zcGVjdG9yIHdpbGwgZGlzY2FyZCBjb25zb2xlIG1lc3NhZ2UgYXJndW1lbnRzIHdoZW4gaWZy
YW1lIHdoZXJlIHRoZSBtZXNzYWdlIHdhcyBsb2dnZWQgaXMgbmF2aWdhdGVkIHRvIGEgZGlmZmVy
ZW50IHBhZ2UuCi0KLQotUEFTU0VEOiBmb3VuZCBhcmd1bWVudCBjb3VudHMgZm9yIDMgbWVzc2Fn
ZXMKLVBBU1NFRDogbWVzc2FnZSAjMCBoYXMgbm8gYXJndW1lbnRzLgotUEFTU0VEOiBtZXNzYWdl
ICMxIGhhcyBubyBhcmd1bWVudHMuCi1QQVNTRUQ6IG1lc3NhZ2UgIzIgaGFzIG5vIGFyZ3VtZW50
cy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yLWVuYWJsZWQv
Y29uc29sZS1jbGVhci1hcmd1bWVudHMtb24tZnJhbWUtbmF2aWdhdGlvbi5odG1sIGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3ItZW5hYmxlZC9jb25zb2xlLWNsZWFyLWFyZ3VtZW50
cy1vbi1mcmFtZS1uYXZpZ2F0aW9uLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDdlYjA0ZjI2MjhkMDY4OTg3Y2UxYzZmYzQzZDNlMTM0NDc2OTUyNjkuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9p
bnNwZWN0b3ItZW5hYmxlZC9jb25zb2xlLWNsZWFyLWFyZ3VtZW50cy1vbi1mcmFtZS1uYXZpZ2F0
aW9uLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwzNiArMCwwIEBACi08aHRtbD4KLTxoZWFkPgot
PHNjcmlwdCBzcmM9InJlc291cmNlcy9jb25zb2xlLWNsZWFyLWFyZ3VtZW50cy10ZXN0LmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQ+Ci0KLWlmICh3aW5kb3cudGVzdFJ1bm5lcikgewotICAgIHRlc3RS
dW5uZXIud2FpdFVudGlsRG9uZSgpOwotICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotfQot
Ci12YXIgbG9hZENvdW50ID0gMDsKLWZ1bmN0aW9uIGZyYW1lTG9hZGVkKGV2ZW50KSB7Ci0gICAg
Kytsb2FkQ291bnQ7Ci0gICAgaWYgKGxvYWRDb3VudCA9PT0gMSkgewotICAgICAgICBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgndGhlRnJhbWUnKS5zcmMgPSAiYWJvdXQ6YmxhbmsiOwotICAgICAg
ICByZXR1cm47Ci0gICAgfQotCi0gICAgZHVtcENvbnNvbGVNZXNzYWdlQXJndW1lbnRDb3VudHMo
KTsKLSAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgIHRlc3RSdW5uZXIubm90aWZ5
RG9uZSgpOwotfQotCi08L3NjcmlwdD4KLQotPC9oZWFkPgotPGJvZHk+Ci08cD4KLVRlc3RzIHRo
YXQgV2ViIEluc3BlY3RvciB3aWxsIGRpc2NhcmQgY29uc29sZSBtZXNzYWdlIGFyZ3VtZW50cyB3
aGVuIGlmcmFtZSB3aGVyZSB0aGUgbWVzc2FnZSB3YXMKLWxvZ2dlZCBpcyBuYXZpZ2F0ZWQgdG8g
YSBkaWZmZXJlbnQgcGFnZS4KLTwvcD4KLTxpZnJhbWUgaWQ9InRoZUZyYW1lIiBvbmxvYWQ9ImZy
YW1lTG9hZGVkKGV2ZW50KSIgc3JjPSJyZXNvdXJjZXMvY29uc29sZS1jbGVhci1hcmd1bWVudHMt
aWZyYW1lLmh0bWwiPjwvaWZyYW1lPgotPGRpdiBpZD0ib3V0cHV0Ij48L2Rpdj4KLTwvYm9keT4K
LTwvaHRtbD4KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3It
ZW5hYmxlZC9jb25zb2xlLWNsZWFyLWFyZ3VtZW50cy1vbi1mcmFtZS1yZW1vdmUtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3ItZW5hYmxlZC9jb25zb2xlLWNs
ZWFyLWFyZ3VtZW50cy1vbi1mcmFtZS1yZW1vdmUtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCA1MjhjNTJhZTc3YzUyMzM4YWE4NDFiMTg3YWU4ZjRhMDM4ZTJhYWFh
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yLWVuYWJsZWQvY29uc29sZS1jbGVhci1hcmd1bWVudHMt
b24tZnJhbWUtcmVtb3ZlLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDkgKzAsMCBA
QAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDI6IEEgbWVzc2FnZSB3aXRoIGZpcnN0IGFyZ3VtZW50
IHN0cmluZwotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDM6IDIwMTEKLUNPTlNPTEUgTUVTU0FHRTog
bGluZSA0OiBbb2JqZWN0IFdpbmRvd10KLVRlc3RzIHRoYXQgY29uc29sZSBtZXNzYWdlIGFyZ3Vt
ZW50cyB3aWxsIGJlIGNsZWFyZWQgd2hlbiBpZnJhbWUgd2hlcmUgdGhlIG1lc3NhZ2VzIHdlcmUg
Y3JlYXRlZCBpcyByZW1vdmVkLgotCi1QQVNTRUQ6IGZvdW5kIGFyZ3VtZW50IGNvdW50cyBmb3Ig
MyBtZXNzYWdlcwotUEFTU0VEOiBtZXNzYWdlICMwIGhhcyBubyBhcmd1bWVudHMuCi1QQVNTRUQ6
IG1lc3NhZ2UgIzEgaGFzIG5vIGFyZ3VtZW50cy4KLVBBU1NFRDogbWVzc2FnZSAjMiBoYXMgbm8g
YXJndW1lbnRzLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3It
ZW5hYmxlZC9jb25zb2xlLWNsZWFyLWFyZ3VtZW50cy1vbi1mcmFtZS1yZW1vdmUuaHRtbCBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yLWVuYWJsZWQvY29uc29sZS1jbGVhci1hcmd1
bWVudHMtb24tZnJhbWUtcmVtb3ZlLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IGFiNzQ2M2I5MmFlYTYzZDVjYzIzNmMzOTA5Y2U3YzBjYTZiZDNkNTIuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9p
bnNwZWN0b3ItZW5hYmxlZC9jb25zb2xlLWNsZWFyLWFyZ3VtZW50cy1vbi1mcmFtZS1yZW1vdmUu
aHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDQxICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2Ny
aXB0IHNyYz0icmVzb3VyY2VzL2NvbnNvbGUtY2xlYXItYXJndW1lbnRzLXRlc3QuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdD4KLWlmICh3aW5kb3cudGVzdFJ1bm5lcikgewotICAgIHRlc3RSdW5uZXIu
d2FpdFVudGlsRG9uZSgpOwotICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotfQotCi1mdW5j
dGlvbiByZW1vdmVJRnJhbWUoKQotewotICAgIHZhciBjb250YWluZXIgPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgnY29udGFpbmVyJyk7Ci0gICAgdmFyIGNoaWxkID0gY29udGFpbmVyLmZpcnN0
Q2hpbGQ7Ci0gICAgd2hpbGUgKGNoaWxkKSB7Ci0gICAgICAgIGNvbnRhaW5lci5yZW1vdmVDaGls
ZChjaGlsZCk7Ci0gICAgICAgIGNoaWxkID0gY29udGFpbmVyLmZpcnN0Q2hpbGQ7Ci0gICAgfQot
ICAgIGR1bXBDb25zb2xlTWVzc2FnZUFyZ3VtZW50Q291bnRzKCk7Ci0gICAgaWYgKHdpbmRvdy50
ZXN0UnVubmVyKQotICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLX0KLQotZnVuY3Rp
b24gY3JlYXRlSUZyYW1lKCkKLXsKLSAgICB2YXIgaWZyYW1lID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgnaWZyYW1lJyk7Ci0gICAgaWZyYW1lLnNldEF0dHJpYnV0ZSgnc3JjJywgJ3Jlc291cmNl
cy9jb25zb2xlLWNsZWFyLWFyZ3VtZW50cy1pZnJhbWUuaHRtbCcpOwotICAgIGlmcmFtZS5vbmxv
YWQ9IHJlbW92ZUlGcmFtZTsKLSAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY29udGFpbmVy
JykuYXBwZW5kQ2hpbGQoaWZyYW1lKTsKLX0KLQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBv
bmxvYWQ9ImNyZWF0ZUlGcmFtZSgpIj4KLTxwPgotVGVzdHMgdGhhdCBjb25zb2xlIG1lc3NhZ2Ug
YXJndW1lbnRzIHdpbGwgYmUgY2xlYXJlZCB3aGVuIGlmcmFtZSB3aGVyZSB0aGUgbWVzc2FnZXMg
d2VyZQotY3JlYXRlZCBpcyByZW1vdmVkLgotPC9wPgotPGRpdiBpZD0iY29udGFpbmVyIj48L2Rp
dj4KLTxkaXYgaWQ9Im91dHB1dCI+PC9kaXY+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci1lbmFibGVkL2NvbnNvbGUtbG9nLWJl
Zm9yZS1mcmFtZS1uYXZpZ2F0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvaW5zcGVjdG9yLWVuYWJsZWQvY29uc29sZS1sb2ctYmVmb3JlLWZyYW1lLW5hdmlnYXRpb24t
ZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0OGZlODVhMDE1MTZk
OWI0N2UzNTlhZWEwYTBhMTgxNTkzODVkMmY3Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yLWVuYWJs
ZWQvY29uc29sZS1sb2ctYmVmb3JlLWZyYW1lLW5hdmlnYXRpb24tZXhwZWN0ZWQudHh0CisrKyAv
ZGV2L251bGwKQEAgLTEsOSArMCwwIEBACi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgNTogQ29uc29s
ZSBtZXNzYWdlIChDKSAlZCB3aXRoIGVsZW1lbnQKLVRlc3RzIHRoYXQgV2ViIEluc3BlY3RvciB3
b24ndCBjcmFzaCBpZiB0aGVyZSBhcmUgbWVzc2FnZXMgd3JpdHRlbiB0byBjb25zb2xlIGZyb20g
YSBmcmFtZSB3aGljaCBoYXMgYWxyZWFkeSBuYXZpZ2F0ZWQgdG8gYSBwYWdlIGZyb20gYSBkaWZm
ZXJlbnQgZG9tYWluLgotCi0KLVJlY2VpdmVkIGNvbnNvbGUgbWVzc2FnZXM6Ci1NZXNzYWdlWzBd
OgotTWVzc2FnZTogcmVzb3VyY2VzL2NvbnNvbGUtbG9nLWZyYW1lLWJlZm9yZS1uYXZpZ2F0aW9u
Lmh0bWw6NSBDb25zb2xlIG1lc3NhZ2UgKEMpICVkIHdpdGggZWxlbWVudAotVEVTVCBDT01QTEVU
RS4KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3ItZW5hYmxl
ZC9jb25zb2xlLWxvZy1iZWZvcmUtZnJhbWUtbmF2aWdhdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9pbnNwZWN0b3ItZW5hYmxlZC9jb25zb2xlLWxvZy1iZWZvcmUtZnJhbWUtbmF2
aWdhdGlvbi5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyYTc2ZTkwZTk5Yjc2
OTg0M2ZiNzU0OTJiNjI2Mzg5NzAyNmM1YzE1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yLWVuYWJs
ZWQvY29uc29sZS1sb2ctYmVmb3JlLWZyYW1lLW5hdmlnYXRpb24uaHRtbAorKysgL2Rldi9udWxs
CkBAIC0xLDQ5ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vaW5zcGVjdG9yL2luc3Bl
Y3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci0KLWZ1bmN0aW9uIG9ubG9hZCgpCi17
Ci0gICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRp
bERvbmUoKTsKLX0KLQotd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLCByZWNlaXZl
TWVzc2FnZSwgZmFsc2UpOwotCi1mdW5jdGlvbiByZWNlaXZlTWVzc2FnZShldmVudCkgewotICAg
IGlmIChldmVudC5kYXRhICE9ICJmcmFtZVJlbG9hZGVkIikgewotICAgICAgICB0ZXN0RmFpbGVk
KCJVbmV4cGVjdGVkIG1lc3NhZ2U6ICIgKyBldmVudC5kYXRhKTsKLSAgICAgICAgaWYgKHdpbmRv
dy50ZXN0UnVubmVyKQotICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci0gICAg
ICAgIHJldHVybjsKLSAgICB9Ci0gICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICB0
ZXN0UnVubmVyLnNob3dXZWJJbnNwZWN0b3IoKTsKLSAgICBydW5UZXN0KCk7Ci19Ci0KLWZ1bmN0
aW9uIHRlc3QoKQotewotICAgIHZhciBtZXNzYWdlcyA9IFdlYkluc3BlY3Rvci5jb25zb2xlLm1l
c3NhZ2VzOwotICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJSZWNlaXZlZCBjb25zb2xlIG1l
c3NhZ2VzOiIpOwotICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbWVzc2FnZXMubGVuZ3RoOyArK2kp
IHsKLSAgICAgICAgdmFyIG0gPSBtZXNzYWdlc1tpXTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5h
ZGRSZXN1bHQoIk1lc3NhZ2VbIiArIGkgKyAiXToiKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5h
ZGRSZXN1bHQoIk1lc3NhZ2U6ICIgKyBXZWJJbnNwZWN0b3IuZGlzcGxheU5hbWVGb3JVUkwobS51
cmwpICsgIjoiICsgbS5saW5lICsgIiAiICsgbS5tZXNzYWdlKTsKLSAgICB9Ci0gICAgSW5zcGVj
dG9yVGVzdC5hZGRSZXN1bHQoIlRFU1QgQ09NUExFVEUuIik7Ci0gICAgSW5zcGVjdG9yVGVzdC5j
b21wbGV0ZVRlc3QoKTsKLX0KLQotPC9zY3JpcHQ+Ci0KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0i
b25sb2FkKCkiPgotPHA+Ci1UZXN0cyB0aGF0IFdlYiBJbnNwZWN0b3Igd29uJ3QgY3Jhc2ggaWYg
dGhlcmUgYXJlIG1lc3NhZ2VzIHdyaXR0ZW4gdG8gY29uc29sZSBmcm9tIGEgZnJhbWUgd2hpY2gg
aGFzIGFscmVhZHkgbmF2aWdhdGVkIHRvIGEgcGFnZSBmcm9tIGEgZGlmZmVyZW50IGRvbWFpbi4K
LTwvcD4KLTxpZnJhbWUgaWQ9InRoZUZyYW1lIiBzcmM9InJlc291cmNlcy9jb25zb2xlLWxvZy1m
cmFtZS1iZWZvcmUtbmF2aWdhdGlvbi5odG1sIj48L2lmcmFtZT4KLTwvYm9keT4KLTwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yLWVuYWJsZWQvZGF0
YWJhc2Utb3Blbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rv
ci1lbmFibGVkL2RhdGFiYXNlLW9wZW4tZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCBhZjA4MjEyN2YxNGFkNzkzNjA5NGFjMzU4YjI2MWU0ODNlNzRmM2JlLi4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvaW5zcGVjdG9yLWVuYWJsZWQvZGF0YWJhc2Utb3Blbi1leHBlY3RlZC50eHQKKysr
IC9kZXYvbnVsbApAQCAtMSw2ICswLDAgQEAKLVRlc3RzIHRoYXQgV2ViIEluc3BlY3RvciBnZXRz
IHBvcHVsYXRlZCB3aXRoIGRhdGFiYXNlcyB0aGF0IHdlcmUgb3BlbmVkIGJlZm9yZSBpbnNwZWN0
b3IgaXMgc2hvd24uCi0KLU5hbWU6IEluc3BlY3RvckRhdGFiYXNlVGVzdAotVmVyc2lvbjogMS4w
Ci1Eb21haW46IDEyNy4wLjAuMQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2luc3BlY3Rvci1lbmFibGVkL2RhdGFiYXNlLW9wZW4uaHRtbCBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvaW5zcGVjdG9yLWVuYWJsZWQvZGF0YWJhc2Utb3Blbi5odG1sCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCBmZGNkM2NmYTczY2U0ZTdkODNlZDYwZWI4MWU2MTA0ODU5NjY2ZmRl
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yLWVuYWJsZWQvZGF0YWJhc2Utb3Blbi5odG1sCisrKyAv
ZGV2L251bGwKQEAgLTEsNDAgKzAsMCBAQAotPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi9pbnNwZWN0
b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLQotZnVuY3Rpb24gb25s
b2FkKCkKLXsKLSAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgIHRlc3RSdW5uZXIu
d2FpdFVudGlsRG9uZSgpOwotCi0gICAgdmFyIGRiID0gb3BlbkRhdGFiYXNlKCJJbnNwZWN0b3JE
YXRhYmFzZVRlc3QiLCAiMS4wIiwgIlRlc3Qgb2YgZGF0YWJhc2UgaW5zdHJ1bWVudGF0aW9uIiwg
MSk7Ci0KLSAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgIHRlc3RSdW5uZXIuc2hv
d1dlYkluc3BlY3RvcigpOwotICAgIHJ1blRlc3QoKTsKLX0KLQotZnVuY3Rpb24gdGVzdCgpCi17
Ci0gICAgZnVuY3Rpb24gcnVuKCkKLSAgICB7Ci0gICAgICAgIHZhciBkYXRhYmFzZXMgPSBXZWJJ
bnNwZWN0b3IuZGF0YWJhc2VNb2RlbC5kYXRhYmFzZXMoKTsKLSAgICAgICAgZm9yICh2YXIgaSA9
IDA7IGkgPCBkYXRhYmFzZXMubGVuZ3RoOyArK2kpIHsKLSAgICAgICAgICAgIEluc3BlY3RvclRl
c3QuYWRkUmVzdWx0KCJOYW1lOiAiICsgZGF0YWJhc2VzW2ldLm5hbWUpOwotICAgICAgICAgICAg
SW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIlZlcnNpb246ICIgKyBkYXRhYmFzZXNbaV0udmVyc2lv
bik7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiRG9tYWluOiAiICsgZGF0
YWJhc2VzW2ldLmRvbWFpbik7Ci0gICAgICAgIH0KLSAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21w
bGV0ZVRlc3QoKTsKLSAgICB9Ci0gICAgSW5zcGVjdG9yQmFja2VuZC5ydW5BZnRlclBlbmRpbmdE
aXNwYXRjaGVzKHJ1bik7Ci19Ci0KLTwvc2NyaXB0PgotCi08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9
Im9ubG9hZCgpIj4KLTxwPlRlc3RzIHRoYXQgV2ViIEluc3BlY3RvciBnZXRzIHBvcHVsYXRlZCB3
aXRoIGRhdGFiYXNlcyB0aGF0IHdlcmUgb3BlbmVkIGJlZm9yZSBpbnNwZWN0b3IgaXMgc2hvd24u
PC9wPgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9pbnNwZWN0b3ItZW5hYmxlZC9kZWRpY2F0ZWQtd29ya2Vycy1saXN0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yLWVuYWJsZWQvZGVkaWNhdGVkLXdvcmtl
cnMtbGlzdC1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGVhYjU5
NDg3NWM5ODRlZTg1Yjg3NWRjNTJjZDBiNmQ0MjAzMWUzOTQuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0
b3ItZW5hYmxlZC9kZWRpY2F0ZWQtd29ya2Vycy1saXN0LWV4cGVjdGVkLnR4dAorKysgL2Rldi9u
dWxsCkBAIC0xLDkgKzAsMCBAQAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDIwOiBSZWNlaXZlZCBt
ZXNzYWdlIGZyb20gd29ya2VyIDEKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAyMDogUmVjZWl2ZWQg
bWVzc2FnZSBmcm9tIHdvcmtlciAyCi1UZXN0cyB0aGF0IGRlZGljYXRlZCB3b3JrZXJzIGNyZWF0
ZWQgYmVmb3JlIHdvcmtlciBpbnNwZWN0aW9uIHdhcyBlbmFibGVkIHdpbGwgYmUgcmVwb3J0ZWQg
dG8gdGhlIGZyb250LWVuZC4gQnVnIDcyMDIwCi0KLVdvcmtlciBpbnNwZWN0aW9uIGVuYWJsZWQK
LUFkZGVkIHdvcmtlcjogMQotQWRkZWQgd29ya2VyOiAyCi1Eb25lLgotCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci1lbmFibGVkL2RlZGljYXRlZC13b3JrZXJz
LWxpc3QuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yLWVuYWJsZWQvZGVk
aWNhdGVkLXdvcmtlcnMtbGlzdC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAy
NjlkNmZmMDFhMzFlZjUxNTVjY2E0MjQzYWYxMTlkMmRkN2VlZjY3Li4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5z
cGVjdG9yLWVuYWJsZWQvZGVkaWNhdGVkLXdvcmtlcnMtbGlzdC5odG1sCisrKyAvZGV2L251bGwK
QEAgLTEsNjMgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi9pbnNwZWN0
b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uL2luc3BlY3Rv
ci9kZWJ1Z2dlci10ZXN0LmpzIj48L3NjcmlwdD4KLQotPHNjcmlwdD4KLWZ1bmN0aW9uIGhhbmRs
ZUxvYWQoKQotewotICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgdGVzdFJ1bm5l
ci53YWl0VW50aWxEb25lKCk7Ci0KLSAgICB2YXIgd29ya2VyMSA9IG5ldyBXb3JrZXIoInJlc291
cmNlcy9kZWRpY2F0ZWQtd29ya2VyLmpzP2lkPTEiKTsKLSAgICB3b3JrZXIxLm9ubWVzc2FnZSA9
IGhhbmRsZU1lc3NhZ2VGcm9tV29ya2VyOwotICAgIHZhciB3b3JrZXIyID0gbmV3IFdvcmtlcigi
cmVzb3VyY2VzL2RlZGljYXRlZC13b3JrZXIuanM/aWQ9MiIpOwotICAgIHdvcmtlcjIub25tZXNz
YWdlID0gaGFuZGxlTWVzc2FnZUZyb21Xb3JrZXI7Ci0gICAgdmFyIG1lc3NhZ2VDb3VudCA9IDA7
Ci0gICAgZnVuY3Rpb24gaGFuZGxlTWVzc2FnZUZyb21Xb3JrZXIoZXZlbnQpCi0gICAgewotICAg
ICAgICBtZXNzYWdlQ291bnQrKzsKLSAgICAgICAgY29uc29sZS5sb2coIlJlY2VpdmVkIG1lc3Nh
Z2UgZnJvbSB3b3JrZXIgIiArIG1lc3NhZ2VDb3VudCk7Ci0gICAgICAgIGlmIChtZXNzYWdlQ291
bnQgPT09IDIpIHsKLSAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAg
ICAgICAgICB0ZXN0UnVubmVyLnNob3dXZWJJbnNwZWN0b3IoKTsKLSAgICAgICAgICAgIHJ1blRl
c3QoKTsKLSAgICAgICAgfQotICAgIH0KLX0KLQotCi1mdW5jdGlvbiB0ZXN0KCkKLXsKLSAgICBX
b3JrZXJBZ2VudC5kaXNhYmxlKGRpZERpc2FibGVXb3JrZXJJbnNwZWN0aW9uKTsKLQotICAgIGZ1
bmN0aW9uIGRpZERpc2FibGVXb3JrZXJJbnNwZWN0aW9uKCkKLSAgICB7Ci0gICAgICAgIFdlYklu
c3BlY3Rvci53b3JrZXJNYW5hZ2VyLmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLldvcmtl
ck1hbmFnZXIuRXZlbnRzLldvcmtlckFkZGVkLCB3b3JrZXJBZGRlZCwgdGhpcyk7Ci0gICAgICAg
IFdvcmtlckFnZW50LmVuYWJsZSgpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgi
V29ya2VyIGluc3BlY3Rpb24gZW5hYmxlZCIpOwotICAgIH0KLQotICAgIHZhciB3b3JrZXJDb3Vu
dCA9IDA7Ci0gICAgZnVuY3Rpb24gd29ya2VyQWRkZWQoKQotICAgIHsKLSAgICAgICAgd29ya2Vy
Q291bnQrKzsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIkFkZGVkIHdvcmtlcjog
IiArIHdvcmtlckNvdW50KTsKLSAgICAgICAgaWYgKHdvcmtlckNvdW50ID09PSAyKSB7Ci0gICAg
ICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiRG9uZS4iKTsKLSAgICAgICAgICAgIElu
c3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7Ci0gICAgICAgIH0KLSAgICB9Ci19OwotCi08L3Nj
cmlwdD4KLQotPC9oZWFkPgotCi08Ym9keSBvbmxvYWQ9ImhhbmRsZUxvYWQoKSI+Ci08cD5UZXN0
cyB0aGF0IGRlZGljYXRlZCB3b3JrZXJzIGNyZWF0ZWQgYmVmb3JlIHdvcmtlciBpbnNwZWN0aW9u
IHdhcyBlbmFibGVkIHdpbGwgYmUgcmVwb3J0ZWQgdG8gdGhlIGZyb250LWVuZC4KLTxhIGhyZWY9
Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MjAyMCI+QnVnIDcyMDIw
PC9hPgotPC9wPgotCi08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2luc3BlY3Rvci1lbmFibGVkL2RvY3VtZW50LXdyaXRlLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yLWVuYWJsZWQvZG9jdW1lbnQtd3JpdGUt
ZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0Nzc3NGI2OTJlMzEy
ZTViZjk5ZDlkNjVmMmUwNjY4NjgzYWU3YmVlLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yLWVuYWJs
ZWQvZG9jdW1lbnQtd3JpdGUtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsOSArMCww
IEBACi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgNDogTGluZSA0Ci1DT05TT0xFIE1FU1NBR0U6IGxp
bmUgNTogTGluZSA1Ci1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTogTGluZSAxIGluIGRvY3VtZW50
LndyaXRlCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgNDogTGluZSA0IGluIGRvY3VtZW50LndyaXRl
Ci1DT05TT0xFIE1FU1NBR0U6IGxpbmUgNzogTGluZSA3Ci1DT05TT0xFIE1FU1NBR0U6IGxpbmUg
MjU6IExpbmUgMjUKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxOiBzY3JpcHQgZWxlbWVudAotQ09O
U09MRSBNRVNTQUdFOiBsaW5lIDE6IGRvY3VtZW50LndyaXRlIGZyb20gb25sb2FkCi0KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yLWVuYWJsZWQvZG9jdW1lbnQt
d3JpdGUuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yLWVuYWJsZWQvZG9j
dW1lbnQtd3JpdGUuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYmU3YTA2NDdk
NWNhMjUyMGJkY2FmYWI0NDZhZjY3NDc0ZjAzMDZmYi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci1l
bmFibGVkL2RvY3VtZW50LXdyaXRlLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwzMSArMCwwIEBA
Ci08aHRtbD4KLTxoZWFkPgotCi08c2NyaXB0PmNvbnNvbGUubG9nKCJMaW5lIDQiKTs8L3Njcmlw
dD4KLTxzY3JpcHQ+Y29uc29sZS5sb2coIkxpbmUgNSIpOzwvc2NyaXB0PgotPHNjcmlwdD5kb2N1
bWVudC53cml0ZSgiPHNjcmlwIiArICJ0PmNvbnNvbGUubG9nKFwiTGluZSAxIGluIGRvY3VtZW50
LndyaXRlXCIpO1xuXG5cbmNvbnNvbGUubG9nKFwiTGluZSA0IGluIGRvY3VtZW50LndyaXRlXCIp
Ozwvc2MiICsgInJpcHQ+Iik7PC9zY3JpcHQ+Ci08c2NyaXB0PmNvbnNvbGUubG9nKCJMaW5lIDci
KTs8L3NjcmlwdD4KLQotPHNjcmlwdD4KLQotZnVuY3Rpb24gb25sb2FkKCkKLXsKLSAgICBpZiAo
d2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotCi0g
ICAgdmFyIHNjcmlwdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpOwotICAgIHNj
cmlwdC50ZXh0Q29udGVudCA9ICJjb25zb2xlLmxvZyhcInNjcmlwdCBlbGVtZW50XCIpIjsKLSAg
ICBkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKHNjcmlwdCk7Ci0gICAgZG9jdW1lbnQud3JpdGUo
IjxzY3JpcCIgKyAidD5jb25zb2xlLmxvZyhcImRvY3VtZW50LndyaXRlIGZyb20gb25sb2FkXCIp
Ozwvc2MiICsgInJpcHQ+Iik7Ci19Ci0KLTwvc2NyaXB0PgotPC9oZWFkPgotCi08Ym9keSBvbmxv
YWQ9ImNvbnNvbGUubG9nKCdMaW5lIDI1Jyk7IG9ubG9hZCgpOyI+Ci08cD4KLVRlc3RzIHRoYXQg
Y29uc29sZSByZXBvcnRzIHplcm8gbGluZSBudW1iZXIgZm9yIHNjcmlwdHMgZ2VuZXJhdGVkIHdp
dGggZG9jdW1lbnQud3JpdGUuIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NzEwOTkuCi08L3A+Ci0KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yLWVuYWJsZWQvZG9tLXN0b3JhZ2Utb3Blbi1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci1lbmFibGVkL2RvbS1z
dG9yYWdlLW9wZW4tZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBh
NDY4MjExYTU2N2Y1NzNkOGMwNDA3N2IwOTE5MTBiMmIxZWUyMjlkLi4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5z
cGVjdG9yLWVuYWJsZWQvZG9tLXN0b3JhZ2Utb3Blbi1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVs
bApAQCAtMSw3ICswLDAgQEAKLVRlc3RzIHRoYXQgV2ViIEluc3BlY3RvciBnZXRzIHBvcHVsYXRl
ZCB3aXRoIERPTSBzdG9yYWdlcyBhY2NvcmRpbmcgdG8gc2VjdXJpdHkgb3JpZ2lucyBmb3VuZCBp
biB0aGUgcGFnZS4KLQotU2VjdXJpdHlPcmlnaW46IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMAotSXNM
b2NhbFN0b3JhZ2U6IHRydWUKLVNlY3VyaXR5T3JpZ2luOiBodHRwOi8vMTI3LjAuMC4xOjgwMDAK
LUlzTG9jYWxTdG9yYWdlOiBmYWxzZQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL2luc3BlY3Rvci1lbmFibGVkL2RvbS1zdG9yYWdlLW9wZW4uaHRtbCBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvaW5zcGVjdG9yLWVuYWJsZWQvZG9tLXN0b3JhZ2Utb3Blbi5odG1sCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxMzAyMDA3MjRlNWFhYWU0NGZhMjYyNzYyNzAxNzhh
ZDI0ZjZiNmQwLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yLWVuYWJsZWQvZG9tLXN0b3JhZ2Utb3Bl
bi5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMzkgKzAsMCBAQAotPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3Jj
PSIuLi9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLQot
ZnVuY3Rpb24gb25sb2FkKCkKLXsKLSAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAg
IHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotCi0gICAgd2luZG93LnNlc3Npb25TdG9yYWdl
WyJpbnNwZWN0b3IiXSA9ICJ0cnVlIjsKLQotICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAg
ICAgICAgdGVzdFJ1bm5lci5zaG93V2ViSW5zcGVjdG9yKCk7Ci0gICAgcnVuVGVzdCgpOwotfQot
Ci1mdW5jdGlvbiB0ZXN0KCkKLXsKLSAgICBmdW5jdGlvbiBjYWxsYmFjaygpCi0gICAgewotICAg
ICAgICB2YXIgc3RvcmFnZXMgPSBXZWJJbnNwZWN0b3IuZG9tU3RvcmFnZU1vZGVsLnN0b3JhZ2Vz
KCk7Ci0gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgc3RvcmFnZXMubGVuZ3RoOyArK2kpIHsK
LSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJTZWN1cml0eU9yaWdpbjogIiAr
IHN0b3JhZ2VzW2ldLnNlY3VyaXR5T3JpZ2luKTsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3Qu
YWRkUmVzdWx0KCJJc0xvY2FsU3RvcmFnZTogIiArIHN0b3JhZ2VzW2ldLmlzTG9jYWxTdG9yYWdl
KTsKLSAgICAgICAgfQotICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwotICAg
IH0KLSAgICBJbnNwZWN0b3JCYWNrZW5kLnJ1bkFmdGVyUGVuZGluZ0Rpc3BhdGNoZXMoY2FsbGJh
Y2spOwotfQotCi08L3NjcmlwdD4KLQotPC9oZWFkPgotPGJvZHkgb25sb2FkPSJvbmxvYWQoKSI+
Ci08cD5UZXN0cyB0aGF0IFdlYiBJbnNwZWN0b3IgZ2V0cyBwb3B1bGF0ZWQgd2l0aCBET00gc3Rv
cmFnZXMgYWNjb3JkaW5nIHRvIHNlY3VyaXR5IG9yaWdpbnMgZm91bmQgaW4gdGhlIHBhZ2UuPC9w
PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9p
bnNwZWN0b3ItZW5hYmxlZC9keW5hbWljLXNjcmlwdHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9pbnNwZWN0b3ItZW5hYmxlZC9keW5hbWljLXNjcmlwdHMtZXhwZWN0ZWQu
dHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2ZmZhOWY4N2ExZjVlY2NkMDFhZThl
ZDI0ZGRkZjBhNzNjOWYyY2FhLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yLWVuYWJsZWQvZHluYW1p
Yy1zY3JpcHRzLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDEzICswLDAgQEAKLVRl
c3RzIHRoYXQgc2NyaXB0cyBmb3IgZHluYW1pY2FsbHkgYWRkZWQgc2NyaXB0IGVsZW1lbnRzIGFy
ZSBzaG93biBpbiBzb3VyY2VzIHBhbmVsIGlmIGluc3BlY3RvciBpcyBvcGVuZWQgYWZ0ZXIgdGhl
IHNjcmlwdHMgd2VyZSBsb2FkZWQuCi0KLUJ1ZyA5OTMyNAotRGVidWdnZXIgd2FzIGVuYWJsZWQu
Ci1VSVNvdXJjZUNvZGVzOgotICAgIGRlYnVnZ2VyLXRlc3QuanMKLSAgICBkeW5hbWljLXNjcmlw
dC5qcwotICAgIGR5bmFtaWMtc2NyaXB0cy5odG1sCi0gICAgZXZhbFNvdXJjZVVSTC5qcwotICAg
IGluc3BlY3Rvci10ZXN0LmpzCi0gICAgc2NyaXB0RWxlbWVudENvbnRlbnRTb3VyY2VVUkwuanMK
LURlYnVnZ2VyIHdhcyBkaXNhYmxlZC4KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9pbnNwZWN0b3ItZW5hYmxlZC9keW5hbWljLXNjcmlwdHMuaHRtbCBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvaW5zcGVjdG9yLWVuYWJsZWQvZHluYW1pYy1zY3JpcHRzLmh0bWwKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAzZDU3MDM3YzY1MDY0MWM5YTMyNmRlZDBiYzI5NWI0
ZmVjZDEwMGYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3ItZW5hYmxlZC9keW5hbWljLXNjcmlwdHMu
aHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDgyICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0i
Li4vaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIu
Li9pbnNwZWN0b3IvZGVidWdnZXItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotZnVuY3Rp
b24gYXBwZW5kRHluYW1pY1NjcmlwdEVsZW1lbnQoc3JjLCBjb250ZW50KQotewotICAgIHZhciBz
Y3JpcHRFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7Ci0gICAgaWYg
KHNyYykKLSAgICAgICAgc2NyaXB0RWxlbWVudC5zcmMgPSBzcmM7Ci0gICAgZWxzZQotICAgICAg
ICBzY3JpcHRFbGVtZW50LnRleHRDb250ZW50ID0gY29udGVudDsKLSAgICBkb2N1bWVudC5oZWFk
LmFwcGVuZENoaWxkKHNjcmlwdEVsZW1lbnQpOwotfQotCi1mdW5jdGlvbiBsb2FkU2NyaXB0cygp
Ci17Ci0gICAgdmFyIHNvdXJjZVVSTENvbW1lbnQgPSAiXG4gLy9AIHNvdXJjZVVSTD0iOwotICAg
IHdpbmRvdy5ldmFsKCJmdW5jdGlvbiBmb29FdmFsKCkge30iKTsKLSAgICB3aW5kb3cuZXZhbCgi
ZnVuY3Rpb24gZm9vRXZhbFNvdXJjZVVSTCgpIHt9IiArIHNvdXJjZVVSTENvbW1lbnQgKyAiZXZh
bFNvdXJjZVVSTC5qcyIpOwotICAgIGFwcGVuZER5bmFtaWNTY3JpcHRFbGVtZW50KCIiLCAiZnVu
Y3Rpb24gZm9vU2NyaXB0RWxlbWVudENvbnRlbnQxKCkge30iKTsKLSAgICBhcHBlbmREeW5hbWlj
U2NyaXB0RWxlbWVudCgiIiwgImZ1bmN0aW9uIGZvb1NjcmlwdEVsZW1lbnRDb250ZW50MigpIHt9
Iik7Ci0gICAgYXBwZW5kRHluYW1pY1NjcmlwdEVsZW1lbnQoIiIsICJmdW5jdGlvbiBmb29TY3Jp
cHRFbGVtZW50Q29udGVudFNvdXJjZVVSTCgpIHt9IiArIHNvdXJjZVVSTENvbW1lbnQgKyAic2Ny
aXB0RWxlbWVudENvbnRlbnRTb3VyY2VVUkwuanMiKTsKLSAgICBhcHBlbmREeW5hbWljU2NyaXB0
RWxlbWVudCgicmVzb3VyY2VzL2R5bmFtaWMtc2NyaXB0LmpzIik7Ci19Ci0KLWZ1bmN0aW9uIG9u
bG9hZCgpCi17Ci0gICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICB0ZXN0UnVubmVy
LndhaXRVbnRpbERvbmUoKTsKLSAgICBsb2FkU2NyaXB0cygpOwotfQotCi1mdW5jdGlvbiBzY3Jp
cHRMb2FkZWQoKQotewotICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgdGVzdFJ1
bm5lci5zaG93V2ViSW5zcGVjdG9yKCk7Ci0gICAgcnVuVGVzdCgpOwotfQotCi1mdW5jdGlvbiB0
ZXN0KCkKLXsKLSAgICBJbnNwZWN0b3JUZXN0LnN0YXJ0RGVidWdnZXJUZXN0KHN0ZXAyKTsKLQot
ICAgIGZ1bmN0aW9uIHN0ZXAyKCkKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QucnVuQWZ0
ZXJQZW5kaW5nRGlzcGF0Y2hlcyhzdGVwMyk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc3RlcDMo
KQotICAgIHsKLSAgICAgICAgdmFyIHBhbmVsID0gV2ViSW5zcGVjdG9yLnNob3dQYW5lbCgic2Ny
aXB0cyIpOwotICAgICAgICB2YXIgdWlTb3VyY2VDb2RlcyA9IFdlYkluc3BlY3Rvci53b3Jrc3Bh
Y2UudWlTb3VyY2VDb2Rlc0ZvclByb2plY3RUeXBlKFdlYkluc3BlY3Rvci5wcm9qZWN0VHlwZXMu
TmV0d29yayk7Ci0gICAgICAgIHZhciB1cmxzID0gdWlTb3VyY2VDb2Rlcy5tYXAoZnVuY3Rpb24o
dWlTb3VyY2VDb2RlKSB7IHJldHVybiB1aVNvdXJjZUNvZGUubmFtZSgpOyB9KTsKLSAgICAgICAg
dXJscy5zb3J0KCk7Ci0gICAgICAgIAotICAgICAgICB2YXIgd2hpdGVMaXN0ID0gWyJkZWJ1Z2dl
ci10ZXN0LmpzIiwgImR5bmFtaWMtc2NyaXB0LmpzIiwgImR5bmFtaWMtc2NyaXB0cy5odG1sIiwg
ImV2YWxTb3VyY2VVUkwuanMiLCAiaW5zcGVjdG9yLXRlc3QuanMiLCAic2NyaXB0RWxlbWVudENv
bnRlbnRTb3VyY2VVUkwuanMiXTsKLSAgICAgICAgZnVuY3Rpb24gZmlsdGVyKHVybCkKLSAgICAg
ICAgewotICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB3aGl0ZUxpc3QubGVuZ3RoOyAr
K2kpIHsKLSAgICAgICAgICAgICAgICBpZiAodXJsLmluZGV4T2Yod2hpdGVMaXN0W2ldKSAhPT0g
LTEpCi0gICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwotICAgICAgICAgICAgfQotICAg
ICAgICAgICAgICAgIAotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICB9Ci0gICAg
ICAgIHVybHMgPSB1cmxzLmZpbHRlcihmaWx0ZXIpOwotCi0gICAgICAgIEluc3BlY3RvclRlc3Qu
YWRkUmVzdWx0KCJVSVNvdXJjZUNvZGVzOiIpOwotICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8
IHVybHMubGVuZ3RoOyArK2kpCi0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgi
ICAgICIgKyB1cmxzW2ldKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZURlYnVnZ2Vy
VGVzdCgpOwotICAgIH0KLX0KLTwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgb25sb2FkPSJvbmxv
YWQoKSI+Ci08cD5UZXN0cyB0aGF0IHNjcmlwdHMgZm9yIGR5bmFtaWNhbGx5IGFkZGVkIHNjcmlw
dCBlbGVtZW50cyBhcmUgc2hvd24gaW4gc291cmNlcyBwYW5lbCBpZiBpbnNwZWN0b3IgaXMgb3Bl
bmVkIGFmdGVyIHRoZSBzY3JpcHRzIHdlcmUgbG9hZGVkLjwvcD4KLTxhIGhyZWY9Imh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05OTMyNCI+QnVnIDk5MzI0PC9hPgotPC9i
b2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0
b3ItZW5hYmxlZC9pbmplY3RlZC1zY3JpcHQtZGlzY2FyZC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci1lbmFibGVkL2luamVjdGVkLXNjcmlwdC1kaXNjYXJk
LWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjg1ODRhNjFiN2E4
M2E3N2JmMmIwYzNkYWJhMWIzOGM4YmNkYmE0Yi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci1lbmFi
bGVkL2luamVjdGVkLXNjcmlwdC1kaXNjYXJkLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBA
IC0xLDcgKzAsMCBAQAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE6IE9wZW5pbmcgZnJvbnQtZW5k
IGZvciB0aGUgZmlyc3QgdGltZQotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE6IFJlc29sdmVkIG9i
amVjdCBzdWNjZXNzZnVsbHkKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxOiBPcGVuaW5nIGZyb250
LWVuZCBzZWNvbmQgdGltZQotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE6IEVycm9yIHJlc29sdmlu
ZyBvYmplY3QKLVRlc3RzIHRoYXQgaW5qZWN0ZWQgc2NyaXB0IGlzIGRpc2NhcmRlZCB1cG9uIGZy
b250LWVuZCBjbG9zZS4KLQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2lu
c3BlY3Rvci1lbmFibGVkL2luamVjdGVkLXNjcmlwdC1kaXNjYXJkLmh0bWwgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL2luc3BlY3Rvci1lbmFibGVkL2luamVjdGVkLXNjcmlwdC1kaXNjYXJkLmh0
bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGYwZTg1NjE1YzU3YjRhNGIzYTkzYTcz
NTBiODg1NTIzOWUwNjFjNzkuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3ItZW5hYmxlZC9pbmplY3Rl
ZC1zY3JpcHQtZGlzY2FyZC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNzUgKzAsMCBAQAotPGh0
bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMi
Pjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uL2luc3BlY3Rvci9jb25zb2xlLXRlc3QuanMiPjwv
c2NyaXB0PgotPHNjcmlwdD4KLQotZnVuY3Rpb24gb3BlbldlYkluc3BlY3RvcigpCi17Ci0gICAg
aWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Ci0gICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9u
ZSgpOwotICAgICAgICB0ZXN0UnVubmVyLnNob3dXZWJJbnNwZWN0b3IoKTsKLSAgICAgICAgcnVu
VGVzdCgpOwotICAgIH0KLX0KLQotZnVuY3Rpb24gcmVvcGVuV2ViSW5zcGVjdG9yKG9iamVjdElk
KQotewotICAgIHdpbmRvdy5vYmplY3RJZCA9IHVuZXNjYXBlKG9iamVjdElkKTsKLSAgICB0ZXN0
UnVubmVyLmNsb3NlV2ViSW5zcGVjdG9yKCk7Ci0gICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsK
LSAgICAgIHRlc3RSdW5uZXIuc2hvd1dlYkluc3BlY3RvcigpOwotICAgICAgcnVuVGVzdCgpOwot
ICAgIH0sIDApOwotfQotCi1mdW5jdGlvbiB0ZXN0KCkKLXsKLSAgICBSdW50aW1lQWdlbnQuZXZh
bHVhdGUoIndpbmRvdy5vYmplY3RJZCIsIGRpc3BhdGNoKTsKLQotICAgIGZ1bmN0aW9uIGRpc3Bh
dGNoKGVycm9yLCByZXN1bHQsIHdhc1Rocm93bikKLSAgICB7Ci0gICAgICAgIGlmIChyZXN1bHQu
dHlwZSAhPT0gInN0cmluZyIpIHsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJ
blBhZ2UoImNvbnNvbGUubG9nKCdPcGVuaW5nIGZyb250LWVuZCBmb3IgdGhlIGZpcnN0IHRpbWUn
KSIpOwotICAgICAgICAgICAgaW5zdGFsbEhhbmRsZUluSW5qZWN0ZWRTY3JpcHQoKTsKLSAgICAg
ICAgfSBlbHNlIHsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoImNv
bnNvbGUubG9nKCdPcGVuaW5nIGZyb250LWVuZCBzZWNvbmQgdGltZScpIik7Ci0gICAgICAgICAg
ICBjaGVja0hhbmRsZUluSW5qZWN0ZWRTY3JpcHQocmVzdWx0LnZhbHVlLCBJbnNwZWN0b3JUZXN0
LmNvbXBsZXRlVGVzdCk7Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBpbnN0YWxs
SGFuZGxlSW5JbmplY3RlZFNjcmlwdCgpCi0gICAgewotICAgICAgICBSdW50aW1lQWdlbnQuZXZh
bHVhdGUoIih7IGhhbmRsZSA6IFwiaGFuZGxlXCIgfSkiLCBzdG9yZUlkSW5UYXJnZXRXaW5kb3cp
OwotCi0gICAgICAgIGZ1bmN0aW9uIHN0b3JlSWRJblRhcmdldFdpbmRvdyhlcnJvciwgcmVzdWx0
LCB3YXNUaHJvd24pCi0gICAgICAgIHsKLSAgICAgICAgICAgIGNoZWNrSGFuZGxlSW5JbmplY3Rl
ZFNjcmlwdChyZXN1bHQub2JqZWN0SWQsIHJlb3Blbkluc3BlY3Rvcik7Ci0KLSAgICAgICAgICAg
IGZ1bmN0aW9uIHJlb3Blbkluc3BlY3RvcigpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAg
ICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgicmVvcGVuV2ViSW5zcGVjdG9yKCciICsg
ZXNjYXBlKHJlc3VsdC5vYmplY3RJZCkgKyAiJykiKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAg
fQotICAgIH0KLQotICAgIGZ1bmN0aW9uIGNoZWNrSGFuZGxlSW5JbmplY3RlZFNjcmlwdChvYmpl
Y3RJZCwgY2FsbGJhY2spCi0gICAgewotICAgICAgICBSdW50aW1lQWdlbnQuZ2V0UHJvcGVydGll
cyhvYmplY3RJZCwgZmFsc2UsIHByb3BlcnRpZXNBdmFpbGFibGUpOwotCi0gICAgICAgIGZ1bmN0
aW9uIHByb3BlcnRpZXNBdmFpbGFibGUoZXJyb3IsIHByb3BlcnRpZXMpCi0gICAgICAgIHsKLSAg
ICAgICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoZXJyb3IgPyAiY29uc29sZS5s
b2coJ0Vycm9yIHJlc29sdmluZyBvYmplY3QnKSIgOiAiY29uc29sZS5sb2coJ1Jlc29sdmVkIG9i
amVjdCBzdWNjZXNzZnVsbHknKSIsIGNhbGxiYWNrKTsKLSAgICAgICAgfQotICAgIH0KLX0KLQot
PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9Im9wZW5XZWJJbnNwZWN0b3IoKSI+Ci08
cD4KLVRlc3RzIHRoYXQgaW5qZWN0ZWQgc2NyaXB0IGlzIGRpc2NhcmRlZCB1cG9uIGZyb250LWVu
ZCBjbG9zZS4KLTwvcD4KLTxkaXYgaWQ9ImNvbnRhaW5lciIvPgotPC9ib2R5PgotPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3ItZW5hYmxlZC9yZXNv
dXJjZXMvY29uc29sZS1jbGVhci1hcmd1bWVudHMtaWZyYW1lLmh0bWwgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2luc3BlY3Rvci1lbmFibGVkL3Jlc291cmNlcy9jb25zb2xlLWNsZWFyLWFyZ3Vt
ZW50cy1pZnJhbWUuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzFkMGE3OWEx
NDlhMDNkYWNlNjQxMTUyZTAyMmI1N2UyOWQ1OTRiYi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci1l
bmFibGVkL3Jlc291cmNlcy9jb25zb2xlLWNsZWFyLWFyZ3VtZW50cy1pZnJhbWUuaHRtbAorKysg
L2Rldi9udWxsCkBAIC0xLDUgKzAsMCBAQAotPHNjcmlwdD4KLWNvbnNvbGUubG9nKCJBIG1lc3Nh
Z2Ugd2l0aCBmaXJzdCBhcmd1bWVudCBzdHJpbmciLCAiU2Vjb25kIGFyZ3VtZW50IHdoaWNoIHNo
b3VsZCBiZSBkaXNjYXJkZWQgb24gaWZyYW1lIHJlbW92YWwiKTsKLWNvbnNvbGUubG9nKDIwMTEs
ICJBIG1lc3NhZ2Ugd2l0aCBmaXJzdCBhcmd1bWVudCBpbnRlZ2VyIik7Ci1jb25zb2xlLmxvZyh3
aW5kb3csICJBIG1lc3NhZ2Ugd2l0aCBmaXJzdCBhcmd1bWVudCB3aW5kb3ciKTsKLTwvc2NyaXB0
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3ItZW5hYmxlZC9y
ZXNvdXJjZXMvY29uc29sZS1jbGVhci1hcmd1bWVudHMtdGVzdC5qcyBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvaW5zcGVjdG9yLWVuYWJsZWQvcmVzb3VyY2VzL2NvbnNvbGUtY2xlYXItYXJndW1l
bnRzLXRlc3QuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGZmYzZjZDNiM2EyNjA5
OTRkZmJmODY1NWYzYmQ1ZTk5YjExNWI2MzguLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3ItZW5hYmxl
ZC9yZXNvdXJjZXMvY29uc29sZS1jbGVhci1hcmd1bWVudHMtdGVzdC5qcworKysgL2Rldi9udWxs
CkBAIC0xLDI0ICswLDAgQEAKLWZ1bmN0aW9uIHByaW50KHRleHQpCi17Ci0gICAgdmFyIG91dHB1
dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJvdXRwdXQiKTsKLSAgICB2YXIgZGl2ID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7Ci0gICAgZGl2LnRleHRDb250ZW50ID0gdGV4dDsK
LSAgICBvdXRwdXQuYXBwZW5kQ2hpbGQoZGl2KTsKLX0KLQotZnVuY3Rpb24gZHVtcENvbnNvbGVN
ZXNzYWdlQXJndW1lbnRDb3VudHMoKQotewotICAgIHZhciBjb25zb2xlTWVzc2FnZUFyZ3VtZW50
Q291bnRzID0gd2luZG93LmludGVybmFscy5jb25zb2xlTWVzc2FnZUFyZ3VtZW50Q291bnRzKCk7
Ci0gICAgaWYgKGNvbnNvbGVNZXNzYWdlQXJndW1lbnRDb3VudHMubGVuZ3RoID09PSAzKQotICAg
ICAgICBwcmludCgiUEFTU0VEOiBmb3VuZCBhcmd1bWVudCBjb3VudHMgZm9yIDMgbWVzc2FnZXMi
KTsKLSAgICBlbHNlCi0gICAgICAgIHByaW50KCJGQUlMRUQ6IHVuZXhwZWN0ZWQgbnVtYmVyIG9m
IG1lc3NhZ2VzOiAiICsgY29uc29sZU1lc3NhZ2VBcmd1bWVudENvdW50cy5sZW5ndGgpOwotCi0g
ICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjb25zb2xlTWVzc2FnZUFyZ3VtZW50Q291bnRzLmxlbmd0
aDsgaSsrKSB7Ci0gICAgICAgIHZhciBjb3VudCA9IGNvbnNvbGVNZXNzYWdlQXJndW1lbnRDb3Vu
dHNbaV07Ci0gICAgICAgIGlmIChjb3VudCA9PSAwKQotICAgICAgICAgICAgcHJpbnQoIlBBU1NF
RDogbWVzc2FnZSAjIiArIGkgKyAiIGhhcyBubyBhcmd1bWVudHMuIik7Ci0gICAgICAgIGVsc2UK
LSAgICAgICAgICAgIHByaW50KCJGQUlMRUQ6IG1lc3NhZ2UgIyIgKyBpICsgIiBoYXMgIiArIGNv
dW50ICsgIiBhcmd1bWVudHMuIik7Ci0gICAgfQotfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9pbnNwZWN0b3ItZW5hYmxlZC9yZXNvdXJjZXMvY29uc29sZS1sb2ctZnJhbWUt
YWZ0ZXItbmF2aWdhdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3It
ZW5hYmxlZC9yZXNvdXJjZXMvY29uc29sZS1sb2ctZnJhbWUtYWZ0ZXItbmF2aWdhdGlvbi5odG1s
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwYzdjMWNkOTA3ZThhMjYzNDllMjg3YzQw
MmQ1NzQ1ZDc4YTMxOTZmLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yLWVuYWJsZWQvcmVzb3VyY2Vz
L2NvbnNvbGUtbG9nLWZyYW1lLWFmdGVyLW5hdmlnYXRpb24uaHRtbAorKysgL2Rldi9udWxsCkBA
IC0xLDEyICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0PgotZnVuY3Rpb24gaGFuZGxl
TG9hZCgpIHsKLSAgICB3aW5kb3cucGFyZW50LnBvc3RNZXNzYWdlKCJmcmFtZVJlbG9hZGVkIiwg
IioiKTsKLX0KLTwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgb25sb2FkPSJoYW5kbGVMb2FkKCki
PgotTmV3IElubmVyIENvbnRlbnQuCi08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci1lbmFibGVkL3Jlc291cmNlcy9jb25zb2xlLWxv
Zy1mcmFtZS1iZWZvcmUtbmF2aWdhdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9p
bnNwZWN0b3ItZW5hYmxlZC9yZXNvdXJjZXMvY29uc29sZS1sb2ctZnJhbWUtYmVmb3JlLW5hdmln
YXRpb24uaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmU3ZmY4MTEwZjllOTg3
MTc0MDI0Zjc0NmZlODY1YmVlMDk0ZDdjMS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci1lbmFibGVk
L3Jlc291cmNlcy9jb25zb2xlLWxvZy1mcmFtZS1iZWZvcmUtbmF2aWdhdGlvbi5odG1sCisrKyAv
ZGV2L251bGwKQEAgLTEsMTcgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQ+Ci1mdW5j
dGlvbiBoYW5kbGVMb2FkKCkgewotICBjb25zb2xlLmxvZygiQ29uc29sZSBtZXNzYWdlIChDKSAl
ZCB3aXRoIGVsZW1lbnQiLCAyMDEwLCBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpOwotCi0gIHNl
dFRpbWVvdXQoZnVuY3Rpb24oKSB7Ci0gICAgLy8gTm90ZSB0aGF0IGxvY2FsaG9zdCBpcyBkaWZm
ZXJlbnQgZnJvbSB0aGUgMTI3LjAuMC4xIHRoYXQgdGVzdHMgYXJlIHJ1bm51bmcgYWdhaW5zdC4g
U28gdGhpcyBuYXZpZ2F0aW9uCi0gICAgLy8gaXMgaW4gZmFjdCBjcm9zcy1kb21haW4uCi0gICAg
ZG9jdW1lbnQubG9jYXRpb24gPSAiaHR0cDovL2xvY2FsaG9zdDo4MDAwL2luc3BlY3Rvci1lbmFi
bGVkL3Jlc291cmNlcy9jb25zb2xlLWxvZy1mcmFtZS1hZnRlci1uYXZpZ2F0aW9uLmh0bWwiOwot
ICB9LCAwKTsKLX0KLTwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgb25sb2FkPSJoYW5kbGVMb2Fk
KCkiPgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9pbnNwZWN0b3ItZW5hYmxlZC9yZXNvdXJjZXMvZGVkaWNhdGVkLXdvcmtlci5qcyBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yLWVuYWJsZWQvcmVzb3VyY2VzL2RlZGljYXRlZC13
b3JrZXIuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg2MTc0OTYxNDNjMTljY2Qy
ZjFjZjlkZWY1MDFmYTdiNjY3OGE2ZTguLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3ItZW5hYmxlZC9y
ZXNvdXJjZXMvZGVkaWNhdGVkLXdvcmtlci5qcworKysgL2Rldi9udWxsCkBAIC0xLDcgKzAsMCBA
QAotdmFyIHdvcmtlcklkID0gbG9jYXRpb24uc2VhcmNoLnN1YnN0cmluZyg0KTsKLXBvc3RNZXNz
YWdlKCJXb3JrZXIgIiArIHdvcmtlcklkICsgIiBzdGFydGVkLiIpOwotZG9Xb3JrKCk7Ci1zZXRJ
bnRlcnZhbChkb1dvcmssIDEwMDApOwotZnVuY3Rpb24gZG9Xb3JrKCkgewotfQotCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci1lbmFibGVkL3Jlc291cmNlcy9k
eW5hbWljLXNjcmlwdC5qcyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yLWVuYWJs
ZWQvcmVzb3VyY2VzL2R5bmFtaWMtc2NyaXB0LmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCBmYjlmYjgxOTVhMDFiNWMxMGU4ZmUzNGZmYWVhOTEzMzg2YmUxMDg3Li4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvaW5zcGVjdG9yLWVuYWJsZWQvcmVzb3VyY2VzL2R5bmFtaWMtc2NyaXB0LmpzCisrKyAvZGV2
L251bGwKQEAgLTEsNSArMCwwIEBACi1mdW5jdGlvbiBmb29EeW5hbWljU2NyaXB0KCkKLXsKLX0K
LQotc2NyaXB0TG9hZGVkKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2lu
c3BlY3Rvci9hcHBjYWNoZS9hcHBjYWNoZS1pZnJhbWUtbWFuaWZlc3RzLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2FwcGNhY2hlL2FwcGNhY2hlLWlmcmFt
ZS1tYW5pZmVzdHMtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBi
MjVjZjc5MmI5MDNlODAzOTI2MTgyY2M2MmU5ZjdjMGEzYWQzYjI5Li4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5z
cGVjdG9yL2FwcGNhY2hlL2FwcGNhY2hlLWlmcmFtZS1tYW5pZmVzdHMtZXhwZWN0ZWQudHh0Cisr
KyAvZGV2L251bGwKQEAgLTEsODEgKzAsMCBAQAotVGVzdHMgdGhhdCBhcHBsaWNhdGlvbiBjYWNo
ZSBtb2RlbCBrZWVwcyB0cmFjayBvZiBtYW5pZmVzdCB1cmxzIGFuZCBzdGF0dXNlcyBjb3JyZWN0
bHkuCi0KLUJ1ZyA2NDU4MQotRHVtcGluZyBhcHBsaWNhdGlvbiBjYWNoZSB0cmVlOgotICAgIChl
bXB0eSkKLUR1bXBpbmcgYXBwbGljYXRpb24gY2FjaGUgbW9kZWw6Ci0gICAgKGVtcHR5KQotCi1E
dW1waW5nIGFwcGxpY2F0aW9uIGNhY2hlIHRyZWU6Ci0gICAgTWFuaWZlc3QgVVJMOiBodHRwOi8v
MTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL2FwcGNhY2hlL3Jlc291cmNlcy9tYW5pZmVzdC5waHA/
bWFuaWZlc3RJZD0xCi0gICAgICAgIEZyYW1lOiBmcmFtZTEgKHBhZ2Utd2l0aC1tYW5pZmVzdC5w
aHApCi1EdW1waW5nIGFwcGxpY2F0aW9uIGNhY2hlIG1vZGVsOgotICAgIEZyYW1lOiBmcmFtZTEK
LSAgICAgICAgbWFuaWZlc3QgdXJsOiBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL2Fw
cGNhY2hlL3Jlc291cmNlcy9tYW5pZmVzdC5waHA/bWFuaWZlc3RJZD0xCi0gICAgICAgIHN0YXR1
czogICAgICAgSURMRQotCi1EdW1waW5nIGFwcGxpY2F0aW9uIGNhY2hlIHRyZWU6Ci0gICAgTWFu
aWZlc3QgVVJMOiBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL2FwcGNhY2hlL3Jlc291
cmNlcy9tYW5pZmVzdC5waHA/bWFuaWZlc3RJZD0yCi0gICAgICAgIEZyYW1lOiBmcmFtZTEgKHBh
Z2Utd2l0aC1tYW5pZmVzdC5waHApCi1EdW1waW5nIGFwcGxpY2F0aW9uIGNhY2hlIG1vZGVsOgot
ICAgIEZyYW1lOiBmcmFtZTEKLSAgICAgICAgbWFuaWZlc3QgdXJsOiBodHRwOi8vMTI3LjAuMC4x
OjgwMDAvaW5zcGVjdG9yL2FwcGNhY2hlL3Jlc291cmNlcy9tYW5pZmVzdC5waHA/bWFuaWZlc3RJ
ZD0yCi0gICAgICAgIHN0YXR1czogICAgICAgSURMRQotCi1EdW1waW5nIGFwcGxpY2F0aW9uIGNh
Y2hlIHRyZWU6Ci0gICAgTWFuaWZlc3QgVVJMOiBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVj
dG9yL2FwcGNhY2hlL3Jlc291cmNlcy9tYW5pZmVzdC5waHA/bWFuaWZlc3RJZD0yCi0gICAgICAg
IEZyYW1lOiBmcmFtZTEgKHBhZ2Utd2l0aC1tYW5pZmVzdC5waHApCi0gICAgTWFuaWZlc3QgVVJM
OiBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL2FwcGNhY2hlL3Jlc291cmNlcy9tYW5p
ZmVzdC5waHA/bWFuaWZlc3RJZD0xCi0gICAgICAgIEZyYW1lOiBmcmFtZTIgKHBhZ2Utd2l0aC1t
YW5pZmVzdC5waHApCi1EdW1waW5nIGFwcGxpY2F0aW9uIGNhY2hlIG1vZGVsOgotICAgIEZyYW1l
OiBmcmFtZTEKLSAgICAgICAgbWFuaWZlc3QgdXJsOiBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5z
cGVjdG9yL2FwcGNhY2hlL3Jlc291cmNlcy9tYW5pZmVzdC5waHA/bWFuaWZlc3RJZD0yCi0gICAg
ICAgIHN0YXR1czogICAgICAgSURMRQotICAgIEZyYW1lOiBmcmFtZTIKLSAgICAgICAgbWFuaWZl
c3QgdXJsOiBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL2FwcGNhY2hlL3Jlc291cmNl
cy9tYW5pZmVzdC5waHA/bWFuaWZlc3RJZD0xCi0gICAgICAgIHN0YXR1czogICAgICAgSURMRQot
Ci1EdW1waW5nIGFwcGxpY2F0aW9uIGNhY2hlIHRyZWU6Ci0gICAgTWFuaWZlc3QgVVJMOiBodHRw
Oi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL2FwcGNhY2hlL3Jlc291cmNlcy9tYW5pZmVzdC5w
aHA/bWFuaWZlc3RJZD0yCi0gICAgICAgIEZyYW1lOiBmcmFtZTEgKHBhZ2Utd2l0aC1tYW5pZmVz
dC5waHApCi0gICAgTWFuaWZlc3QgVVJMOiBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9y
L2FwcGNhY2hlL3Jlc291cmNlcy9tYW5pZmVzdC5waHA/bWFuaWZlc3RJZD0xCi0gICAgICAgIEZy
YW1lOiBmcmFtZTIgKHBhZ2Utd2l0aC1tYW5pZmVzdC5waHApCi0gICAgICAgIEZyYW1lOiBmcmFt
ZTMgKHBhZ2Utd2l0aC1tYW5pZmVzdC5waHApCi1EdW1waW5nIGFwcGxpY2F0aW9uIGNhY2hlIG1v
ZGVsOgotICAgIEZyYW1lOiBmcmFtZTEKLSAgICAgICAgbWFuaWZlc3QgdXJsOiBodHRwOi8vMTI3
LjAuMC4xOjgwMDAvaW5zcGVjdG9yL2FwcGNhY2hlL3Jlc291cmNlcy9tYW5pZmVzdC5waHA/bWFu
aWZlc3RJZD0yCi0gICAgICAgIHN0YXR1czogICAgICAgSURMRQotICAgIEZyYW1lOiBmcmFtZTIK
LSAgICAgICAgbWFuaWZlc3QgdXJsOiBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL2Fw
cGNhY2hlL3Jlc291cmNlcy9tYW5pZmVzdC5waHA/bWFuaWZlc3RJZD0xCi0gICAgICAgIHN0YXR1
czogICAgICAgSURMRQotICAgIEZyYW1lOiBmcmFtZTMKLSAgICAgICAgbWFuaWZlc3QgdXJsOiBo
dHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL2FwcGNhY2hlL3Jlc291cmNlcy9tYW5pZmVz
dC5waHA/bWFuaWZlc3RJZD0xCi0gICAgICAgIHN0YXR1czogICAgICAgSURMRQotCi1EdW1waW5n
IGFwcGxpY2F0aW9uIGNhY2hlIHRyZWU6Ci0gICAgTWFuaWZlc3QgVVJMOiBodHRwOi8vMTI3LjAu
MC4xOjgwMDAvaW5zcGVjdG9yL2FwcGNhY2hlL3Jlc291cmNlcy9tYW5pZmVzdC5waHA/bWFuaWZl
c3RJZD0yCi0gICAgICAgIEZyYW1lOiBmcmFtZTEgKHBhZ2Utd2l0aC1tYW5pZmVzdC5waHApCi0g
ICAgTWFuaWZlc3QgVVJMOiBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL2FwcGNhY2hl
L3Jlc291cmNlcy9tYW5pZmVzdC5waHA/bWFuaWZlc3RJZD0xCi0gICAgICAgIEZyYW1lOiBmcmFt
ZTIgKHBhZ2Utd2l0aC1tYW5pZmVzdC5waHApCi1EdW1waW5nIGFwcGxpY2F0aW9uIGNhY2hlIG1v
ZGVsOgotICAgIEZyYW1lOiBmcmFtZTEKLSAgICAgICAgbWFuaWZlc3QgdXJsOiBodHRwOi8vMTI3
LjAuMC4xOjgwMDAvaW5zcGVjdG9yL2FwcGNhY2hlL3Jlc291cmNlcy9tYW5pZmVzdC5waHA/bWFu
aWZlc3RJZD0yCi0gICAgICAgIHN0YXR1czogICAgICAgSURMRQotICAgIEZyYW1lOiBmcmFtZTIK
LSAgICAgICAgbWFuaWZlc3QgdXJsOiBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL2Fw
cGNhY2hlL3Jlc291cmNlcy9tYW5pZmVzdC5waHA/bWFuaWZlc3RJZD0xCi0gICAgICAgIHN0YXR1
czogICAgICAgSURMRQotCi1EdW1waW5nIGFwcGxpY2F0aW9uIGNhY2hlIHRyZWU6Ci0gICAgTWFu
aWZlc3QgVVJMOiBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL2FwcGNhY2hlL3Jlc291
cmNlcy9tYW5pZmVzdC5waHA/bWFuaWZlc3RJZD0yCi0gICAgICAgIEZyYW1lOiBmcmFtZTEgKHBh
Z2Utd2l0aC1tYW5pZmVzdC5waHApCi1EdW1waW5nIGFwcGxpY2F0aW9uIGNhY2hlIG1vZGVsOgot
ICAgIEZyYW1lOiBmcmFtZTEKLSAgICAgICAgbWFuaWZlc3QgdXJsOiBodHRwOi8vMTI3LjAuMC4x
OjgwMDAvaW5zcGVjdG9yL2FwcGNhY2hlL3Jlc291cmNlcy9tYW5pZmVzdC5waHA/bWFuaWZlc3RJ
ZD0yCi0gICAgICAgIHN0YXR1czogICAgICAgSURMRQotCi1EdW1waW5nIGFwcGxpY2F0aW9uIGNh
Y2hlIHRyZWU6Ci0gICAgKGVtcHR5KQotRHVtcGluZyBhcHBsaWNhdGlvbiBjYWNoZSBtb2RlbDoK
LSAgICAoZW1wdHkpCi0KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNw
ZWN0b3IvYXBwY2FjaGUvYXBwY2FjaGUtaWZyYW1lLW1hbmlmZXN0cy5odG1sIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvYXBwY2FjaGUvYXBwY2FjaGUtaWZyYW1lLW1hbmlmZXN0
cy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzMGY1MzEzMDg1MGU2OTE5NDRj
MmJlZWVkMWM5OWJjM2IyNWM1NmE4Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2FwcGNhY2hlL2Fw
cGNhY2hlLWlmcmFtZS1tYW5pZmVzdHMuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDEwNyArMCww
IEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uL2luc3BlY3Rvci10ZXN0LmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJhcHBjYWNoZS10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQ+Ci1mdW5jdGlvbiB0ZXN0KCkKLXsKLSAgICB2YXIgZnJhbWVJZDE7Ci0gICAgdmFyIGZyYW1l
SWQyOwotICAgIHZhciBmcmFtZUlkMzsKLQotICAgIFdlYkluc3BlY3Rvci5zaG93UGFuZWwoInJl
c291cmNlcyIpOwotICAgIEluc3BlY3RvclRlc3QuZHVtcEFwcGxpY2F0aW9uQ2FjaGUoKTsKLSAg
ICBJbnNwZWN0b3JUZXN0LmNyZWF0ZUFuZE5hdmlnYXRlSUZyYW1lKCJyZXNvdXJjZXMvcGFnZS13
aXRoLW1hbmlmZXN0LnBocD9tYW5pZmVzdElkPTEiLCBzdGVwMSk7Ci0KLSAgICBmdW5jdGlvbiBz
dGVwMShmcmFtZUlkKQotICAgIHsKLSAgICAgICAgZnJhbWVJZDEgPSBmcmFtZUlkOwotICAgICAg
ICBJbnNwZWN0b3JUZXN0LndhaXRGb3JGcmFtZU1hbmlmZXN0VVJMQW5kU3RhdHVzKGZyYW1lSWQx
LCAibWFuaWZlc3QucGhwP21hbmlmZXN0SWQ9MSIsIGFwcGxpY2F0aW9uQ2FjaGUuSURMRSwgc3Rl
cDIpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0ZXAyKCkKLSAgICB7Ci0gICAgICAgIEluc3Bl
Y3RvclRlc3QuZHVtcEFwcGxpY2F0aW9uQ2FjaGUoKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5u
YXZpZ2F0ZUlGcmFtZShmcmFtZUlkMSwgInJlc291cmNlcy9wYWdlLXdpdGgtbWFuaWZlc3QucGhw
P21hbmlmZXN0SWQ9MiIsIHN0ZXAzKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwMygpCi0g
ICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LndhaXRGb3JGcmFtZU1hbmlmZXN0VVJMQW5kU3Rh
dHVzKGZyYW1lSWQxLCAibWFuaWZlc3QucGhwP21hbmlmZXN0SWQ9MiIsIGFwcGxpY2F0aW9uQ2Fj
aGUuSURMRSwgc3RlcDQpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0ZXA0KCkKLSAgICB7Ci0g
ICAgICAgIEluc3BlY3RvclRlc3QuZHVtcEFwcGxpY2F0aW9uQ2FjaGUoKTsKLSAgICAgICAgSW5z
cGVjdG9yVGVzdC5jcmVhdGVBbmROYXZpZ2F0ZUlGcmFtZSgicmVzb3VyY2VzL3BhZ2Utd2l0aC1t
YW5pZmVzdC5waHA/bWFuaWZlc3RJZD0xIiwgc3RlcDUpOwotICAgIH0KLQotICAgIGZ1bmN0aW9u
IHN0ZXA1KGZyYW1lSWQpCi0gICAgewotICAgICAgICBmcmFtZUlkMiA9IGZyYW1lSWQ7Ci0gICAg
ICAgIEluc3BlY3RvclRlc3Qud2FpdEZvckZyYW1lTWFuaWZlc3RVUkxBbmRTdGF0dXMoZnJhbWVJ
ZDIsICJtYW5pZmVzdC5waHA/bWFuaWZlc3RJZD0xIiwgYXBwbGljYXRpb25DYWNoZS5JRExFLCBz
dGVwNik7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc3RlcDYoKQotICAgIHsKLSAgICAgICAgSW5z
cGVjdG9yVGVzdC5kdW1wQXBwbGljYXRpb25DYWNoZSgpOwotICAgICAgICBJbnNwZWN0b3JUZXN0
LmNyZWF0ZUFuZE5hdmlnYXRlSUZyYW1lKCJyZXNvdXJjZXMvcGFnZS13aXRoLW1hbmlmZXN0LnBo
cD9tYW5pZmVzdElkPTEiLCBzdGVwNyk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc3RlcDcoZnJh
bWVJZCkKLSAgICB7Ci0gICAgICAgIGZyYW1lSWQzID0gZnJhbWVJZDsKLSAgICAgICAgSW5zcGVj
dG9yVGVzdC53YWl0Rm9yRnJhbWVNYW5pZmVzdFVSTEFuZFN0YXR1cyhmcmFtZUlkMywgIm1hbmlm
ZXN0LnBocD9tYW5pZmVzdElkPTEiLCBhcHBsaWNhdGlvbkNhY2hlLklETEUsIHN0ZXA4KTsKLSAg
ICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwOCgpCi0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0
LndhaXRGb3JGcmFtZU1hbmlmZXN0VVJMQW5kU3RhdHVzKGZyYW1lSWQyLCAibWFuaWZlc3QucGhw
P21hbmlmZXN0SWQ9MSIsIGFwcGxpY2F0aW9uQ2FjaGUuSURMRSwgc3RlcDkpOwotICAgIH0KLQot
ICAgIGZ1bmN0aW9uIHN0ZXA5KCkKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuZHVtcEFw
cGxpY2F0aW9uQ2FjaGUoKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5yZW1vdmVJRnJhbWUoZnJh
bWVJZDMsIHN0ZXAxMCk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc3RlcDEwKCkKLSAgICB7Ci0g
ICAgICAgIEluc3BlY3RvclRlc3Qud2FpdEZvckZyYW1lTWFuaWZlc3RVUkxBbmRTdGF0dXMoZnJh
bWVJZDMsICIiLCBhcHBsaWNhdGlvbkNhY2hlLlVOQ0FDSEVELCBzdGVwMTEpOwotICAgIH0KLQot
ICAgIGZ1bmN0aW9uIHN0ZXAxMSgpCi0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBB
cHBsaWNhdGlvbkNhY2hlKCk7Ci0gICAgICAgIEluc3BlY3RvclRlc3QucmVtb3ZlSUZyYW1lKGZy
YW1lSWQyLCBzdGVwMTIpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0ZXAxMigpCi0gICAgewot
ICAgICAgICBJbnNwZWN0b3JUZXN0LndhaXRGb3JGcmFtZU1hbmlmZXN0VVJMQW5kU3RhdHVzKGZy
YW1lSWQyLCAiIiwgYXBwbGljYXRpb25DYWNoZS5VTkNBQ0hFRCwgc3RlcDEzKTsKLSAgICB9Ci0K
LSAgICBmdW5jdGlvbiBzdGVwMTMoKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1w
QXBwbGljYXRpb25DYWNoZSgpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LnJlbW92ZUlGcmFtZShm
cmFtZUlkMSwgc3RlcDE0KTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwMTQoKQotICAgIHsK
LSAgICAgICAgSW5zcGVjdG9yVGVzdC53YWl0Rm9yRnJhbWVNYW5pZmVzdFVSTEFuZFN0YXR1cyhm
cmFtZUlkMSwgIiIsIGFwcGxpY2F0aW9uQ2FjaGUuVU5DQUNIRUQsIHN0ZXAxNSk7Ci0gICAgfQot
Ci0gICAgZnVuY3Rpb24gc3RlcDE1KCkKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuZHVt
cEFwcGxpY2F0aW9uQ2FjaGUoKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3Qo
KTsKLSAgICB9Ci19Ci08L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgp
Ij4KLTxwPlRlc3RzIHRoYXQgYXBwbGljYXRpb24gY2FjaGUgbW9kZWwga2VlcHMgdHJhY2sgb2Yg
bWFuaWZlc3QgdXJscyBhbmQgc3RhdHVzZXMgY29ycmVjdGx5LjwvcD4KLTxhIGhyZWY9Imh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NDU4MSI+QnVnIDY0NTgxPC9hPgot
PC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNw
ZWN0b3IvYXBwY2FjaGUvYXBwY2FjaGUtbWFuaWZlc3Qtd2l0aC1ub24tZXhpc3RpbmctZmlsZS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9hcHBjYWNoZS9h
cHBjYWNoZS1tYW5pZmVzdC13aXRoLW5vbi1leGlzdGluZy1maWxlLWV4cGVjdGVkLnR4dApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjAzOWY4YjUyY2I4YzBkYzBmY2U3YTdlZDk1Njdi
ZjIzZTJlZTc0Ni4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9hcHBjYWNoZS9hcHBjYWNoZS1tYW5p
ZmVzdC13aXRoLW5vbi1leGlzdGluZy1maWxlLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBA
IC0xLDE1ICswLDAgQEAKLUNPTlNPTEUgTUVTU0FHRTogQXBwbGljYXRpb24gQ2FjaGUgdXBkYXRl
IGZhaWxlZCwgYmVjYXVzZSBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL2FwcGNhY2hl
L3Jlc291cmNlcy9ub24tZXhpc3RpbmctZmlsZSBjb3VsZCBub3QgYmUgZmV0Y2hlZC4KLVRlc3Rz
IHRoYXQgYXBwbGljYXRpb24gY2FjaGUgbW9kZWwga2VlcHMgdHJhY2sgb2YgbWFuaWZlc3QgdXJs
cyBhbmQgc3RhdHVzZXMgY29ycmVjdGx5IHdoZW4gdGhlcmUgaXMgYSBub24gZXhpc3RpbmcgZmls
ZSBsaXN0ZWQgaW4gbWFuaWZlc3QuCi0KLUJ1ZyA2NDU4MQotRHVtcGluZyBhcHBsaWNhdGlvbiBj
YWNoZSB0cmVlOgotICAgIChlbXB0eSkKLUR1bXBpbmcgYXBwbGljYXRpb24gY2FjaGUgbW9kZWw6
Ci0gICAgKGVtcHR5KQotCi1EdW1waW5nIGFwcGxpY2F0aW9uIGNhY2hlIHRyZWU6Ci0gICAgKGVt
cHR5KQotRHVtcGluZyBhcHBsaWNhdGlvbiBjYWNoZSBtb2RlbDoKLSAgICAoZW1wdHkpCi0KLQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvYXBwY2FjaGUvYXBw
Y2FjaGUtbWFuaWZlc3Qtd2l0aC1ub24tZXhpc3RpbmctZmlsZS5odG1sIGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9pbnNwZWN0b3IvYXBwY2FjaGUvYXBwY2FjaGUtbWFuaWZlc3Qtd2l0aC1ub24t
ZXhpc3RpbmctZmlsZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMmVhMzJl
YTgwMDM3OGQwMWJjNmNmYTZiMDNiZWJkZGExNDljMTU3Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9y
L2FwcGNhY2hlL2FwcGNhY2hlLW1hbmlmZXN0LXdpdGgtbm9uLWV4aXN0aW5nLWZpbGUuaHRtbAor
KysgL2Rldi9udWxsCkBAIC0xLDQyICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNy
Yz0iLi4vaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9ImFwcGNhY2hl
LXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLWZ1bmN0aW9uIHRlc3QoKQotewotICAgIHZh
ciBmcmFtZUlkMTsKLSAgICB2YXIgZnJhbWVJZDI7Ci0gICAgdmFyIGZyYW1lSWQzOwotCi0gICAg
V2ViSW5zcGVjdG9yLnNob3dQYW5lbCgicmVzb3VyY2VzIik7Ci0gICAgSW5zcGVjdG9yVGVzdC5z
dGFydEFwcGxpY2F0aW9uQ2FjaGVTdGF0dXNlc1JlY29yZGluZygpOwotICAgIEluc3BlY3RvclRl
c3QuZHVtcEFwcGxpY2F0aW9uQ2FjaGUoKTsKLSAgICBJbnNwZWN0b3JUZXN0LmNyZWF0ZUFuZE5h
dmlnYXRlSUZyYW1lKCJyZXNvdXJjZXMvcGFnZS13aXRoLW1hbmlmZXN0LnBocD9tYW5pZmVzdElk
PXdpdGgtbm9uLWV4aXN0aW5nLWZpbGUiLCBzdGVwMSk7Ci0KLSAgICBmdW5jdGlvbiBzdGVwMShm
cmFtZUlkKQotICAgIHsKLSAgICAgICAgZnJhbWVJZDEgPSBmcmFtZUlkOwotICAgICAgICAvLyBX
YWl0aW5nIGZvciBhdCBsZWFzdCB0d28gc3RhdHVzIGV2ZW50cyBub3RpZmljYXRpb25zIGZyb20g
YmFja2VuZCwgdG8gbWFrZSBzdXJlCi0gICAgICAgIC8vIHdlIGFyZSBub3QgY29tcGxldGluZyB0
ZXN0IGJlZm9yZSBsb2FkaW5nIGFwcGxpY2F0aW9uIGNhY2hlLgotICAgICAgICBJbnNwZWN0b3JU
ZXN0LmVuc3VyZUZyYW1lU3RhdHVzRXZlbnRzUmVjZWl2ZWQoZnJhbWVJZCwgMiwgc3RlcDIpCi0g
ICAgfQotCi0gICAgZnVuY3Rpb24gc3RlcDIoKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVz
dC53YWl0Rm9yRnJhbWVNYW5pZmVzdFVSTEFuZFN0YXR1cyhmcmFtZUlkMSwgIiIsIGFwcGxpY2F0
aW9uQ2FjaGUuVU5DQUNIRUQsIHN0ZXAzKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwMygp
Ci0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBBcHBsaWNhdGlvbkNhY2hlKCk7Ci0g
ICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7Ci0gICAgfQotfQotPC9zY3JpcHQ+
Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci08cD5UZXN0cyB0aGF0IGFwcGxp
Y2F0aW9uIGNhY2hlIG1vZGVsIGtlZXBzIHRyYWNrIG9mIG1hbmlmZXN0IHVybHMgYW5kIHN0YXR1
c2VzIGNvcnJlY3RseSB3aGVuIHRoZXJlIGlzIGEgbm9uIGV4aXN0aW5nIGZpbGUgbGlzdGVkIGlu
IG1hbmlmZXN0LjwvcD4KLTxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD02NDU4MSI+QnVnIDY0NTgxPC9hPgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvYXBwY2FjaGUvYXBwY2FjaGUtc3dh
cC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9hcHBjYWNo
ZS9hcHBjYWNoZS1zd2FwLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggNzZkZTZkNmQzZjgyOTRhM2VhNTliODdhOWFjY2VmZmFmZmZlMmVkMy4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2luc3BlY3Rvci9hcHBjYWNoZS9hcHBjYWNoZS1zd2FwLWV4cGVjdGVkLnR4dAorKysgL2Rldi9u
dWxsCkBAIC0xLDQyICswLDAgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSA2OiBYSFIgbG9hZGVk
OiAxCi1UZXN0cyB0aGF0IGFwcGxpY2F0aW9uIGNhY2hlIG1vZGVsIGtlZXBzIHRyYWNrIG9mIG1h
bmlmZXN0IHVybHMgYW5kIHN0YXR1c2VzIGNvcnJlY3RseSBhZnRlciBVUERBVEVSRUFEWSBldmVu
dCBhbmQgc3dhcENhY2hlKCkgY2FsbC4KLQotQnVnIDcyMTIzCi1EdW1waW5nIGFwcGxpY2F0aW9u
IGNhY2hlIHRyZWU6Ci0gICAgKGVtcHR5KQotRHVtcGluZyBhcHBsaWNhdGlvbiBjYWNoZSBtb2Rl
bDoKLSAgICAoZW1wdHkpCi0KLUR1bXBpbmcgYXBwbGljYXRpb24gY2FjaGUgdHJlZToKLSAgICBN
YW5pZmVzdCBVUkw6IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvYXBwY2FjaGUvcmVz
b3VyY2VzL3ZlcnNpb25lZC1tYW5pZmVzdC5waHAKLSAgICAgICAgRnJhbWU6IGZyYW1lMSAod2l0
aC12ZXJzaW9uZWQtbWFuaWZlc3QucGhwKQotRHVtcGluZyBhcHBsaWNhdGlvbiBjYWNoZSBtb2Rl
bDoKLSAgICBGcmFtZTogZnJhbWUxCi0gICAgICAgIG1hbmlmZXN0IHVybDogaHR0cDovLzEyNy4w
LjAuMTo4MDAwL2luc3BlY3Rvci9hcHBjYWNoZS9yZXNvdXJjZXMvdmVyc2lvbmVkLW1hbmlmZXN0
LnBocAotICAgICAgICBzdGF0dXM6ICAgICAgIElETEUKLQotRHVtcGluZyBhcHBsaWNhdGlvbiBj
YWNoZSB0cmVlOgotICAgIE1hbmlmZXN0IFVSTDogaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3Bl
Y3Rvci9hcHBjYWNoZS9yZXNvdXJjZXMvdmVyc2lvbmVkLW1hbmlmZXN0LnBocAotICAgICAgICBG
cmFtZTogZnJhbWUxICh3aXRoLXZlcnNpb25lZC1tYW5pZmVzdC5waHApCi0gICAgICAgIEZyYW1l
OiBmcmFtZTIgKHdpdGgtdmVyc2lvbmVkLW1hbmlmZXN0LnBocCkKLUR1bXBpbmcgYXBwbGljYXRp
b24gY2FjaGUgbW9kZWw6Ci0gICAgRnJhbWU6IGZyYW1lMQotICAgICAgICBtYW5pZmVzdCB1cmw6
IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvYXBwY2FjaGUvcmVzb3VyY2VzL3ZlcnNp
b25lZC1tYW5pZmVzdC5waHAKLSAgICAgICAgc3RhdHVzOiAgICAgICBVUERBVEVSRUFEWQotICAg
IEZyYW1lOiBmcmFtZTIKLSAgICAgICAgbWFuaWZlc3QgdXJsOiBodHRwOi8vMTI3LjAuMC4xOjgw
MDAvaW5zcGVjdG9yL2FwcGNhY2hlL3Jlc291cmNlcy92ZXJzaW9uZWQtbWFuaWZlc3QucGhwCi0g
ICAgICAgIHN0YXR1czogICAgICAgVVBEQVRFUkVBRFkKLQotRHVtcGluZyBhcHBsaWNhdGlvbiBj
YWNoZSB0cmVlOgotICAgIE1hbmlmZXN0IFVSTDogaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3Bl
Y3Rvci9hcHBjYWNoZS9yZXNvdXJjZXMvdmVyc2lvbmVkLW1hbmlmZXN0LnBocAotICAgICAgICBG
cmFtZTogZnJhbWUxICh3aXRoLXZlcnNpb25lZC1tYW5pZmVzdC5waHApCi0gICAgICAgIEZyYW1l
OiBmcmFtZTIgKHdpdGgtdmVyc2lvbmVkLW1hbmlmZXN0LnBocCkKLUR1bXBpbmcgYXBwbGljYXRp
b24gY2FjaGUgbW9kZWw6Ci0gICAgRnJhbWU6IGZyYW1lMQotICAgICAgICBtYW5pZmVzdCB1cmw6
IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvYXBwY2FjaGUvcmVzb3VyY2VzL3ZlcnNp
b25lZC1tYW5pZmVzdC5waHAKLSAgICAgICAgc3RhdHVzOiAgICAgICBJRExFCi0gICAgRnJhbWU6
IGZyYW1lMgotICAgICAgICBtYW5pZmVzdCB1cmw6IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNw
ZWN0b3IvYXBwY2FjaGUvcmVzb3VyY2VzL3ZlcnNpb25lZC1tYW5pZmVzdC5waHAKLSAgICAgICAg
c3RhdHVzOiAgICAgICBVUERBVEVSRUFEWQotCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvaW5zcGVjdG9yL2FwcGNhY2hlL2FwcGNhY2hlLXN3YXAuaHRtbCBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2FwcGNhY2hlL2FwcGNhY2hlLXN3YXAuaHRtbApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzdiMmJhOTA2YjU1YjVjOTZlZDUyM2E1NzkyYWUy
MzVkYmE3NjIyYS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9hcHBjYWNoZS9hcHBjYWNoZS1zd2Fw
Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw2NSArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHNj
cmlwdCBzcmM9Ii4uL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJh
cHBjYWNoZS10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi9uZXR3b3JrLXRlc3Qu
anMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLWZ1bmN0aW9uIHRlc3QoKQotewotICAgIHZhciBmcmFt
ZUlkMTsKLSAgICB2YXIgZnJhbWVJZDI7Ci0KLSAgICBXZWJJbnNwZWN0b3Iuc2hvd1BhbmVsKCJy
ZXNvdXJjZXMiKTsKLSAgICBJbnNwZWN0b3JUZXN0LnN0YXJ0QXBwbGljYXRpb25DYWNoZVN0YXR1
c2VzUmVjb3JkaW5nKCk7Ci0gICAgSW5zcGVjdG9yVGVzdC5kdW1wQXBwbGljYXRpb25DYWNoZSgp
OwotICAgIEluc3BlY3RvclRlc3QuY3JlYXRlQW5kTmF2aWdhdGVJRnJhbWUoInJlc291cmNlcy93
aXRoLXZlcnNpb25lZC1tYW5pZmVzdC5waHAiLCBzdGVwMSk7Ci0KLSAgICBmdW5jdGlvbiBzdGVw
MShmcmFtZUlkKQotICAgIHsKLSAgICAgICAgZnJhbWVJZDEgPSBmcmFtZUlkOwotICAgICAgICBJ
bnNwZWN0b3JUZXN0LndhaXRGb3JGcmFtZU1hbmlmZXN0VVJMQW5kU3RhdHVzKGZyYW1lSWQxLCAi
cmVzb3VyY2VzL3ZlcnNpb25lZC1tYW5pZmVzdC5waHAiLCBhcHBsaWNhdGlvbkNhY2hlLklETEUs
IHN0ZXAyKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwMigpCi0gICAgewotICAgICAgICBJ
bnNwZWN0b3JUZXN0LmR1bXBBcHBsaWNhdGlvbkNhY2hlKCk7Ci0gICAgICAgIEluc3BlY3RvclRl
c3QubWFrZVNpbXBsZVhIUigiR0VUIiwgInJlc291cmNlcy92ZXJzaW9uZWQtbWFuaWZlc3QucGhw
P2NvbW1hbmQ9c3RlcCIsIHRydWUsIHN0ZXAzKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVw
MygpCi0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmNyZWF0ZUFuZE5hdmlnYXRlSUZyYW1l
KCJyZXNvdXJjZXMvd2l0aC12ZXJzaW9uZWQtbWFuaWZlc3QucGhwIiwgc3RlcDQpOwotICAgIH0K
LQotICAgIGZ1bmN0aW9uIHN0ZXA0KGZyYW1lSWQpCi0gICAgewotICAgICAgICBmcmFtZUlkMiA9
IGZyYW1lSWQ7Ci0gICAgICAgIEluc3BlY3RvclRlc3Qud2FpdEZvckZyYW1lTWFuaWZlc3RVUkxB
bmRTdGF0dXMoZnJhbWVJZDEsICJyZXNvdXJjZXMvdmVyc2lvbmVkLW1hbmlmZXN0LnBocCIsIGFw
cGxpY2F0aW9uQ2FjaGUuVVBEQVRFUkVBRFksIHN0ZXA1KTsKLSAgICB9Ci0KLSAgICBmdW5jdGlv
biBzdGVwNShmcmFtZUlkKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC53YWl0Rm9yRnJh
bWVNYW5pZmVzdFVSTEFuZFN0YXR1cyhmcmFtZUlkMiwgInJlc291cmNlcy92ZXJzaW9uZWQtbWFu
aWZlc3QucGhwIiwgYXBwbGljYXRpb25DYWNoZS5VUERBVEVSRUFEWSwgc3RlcDYpOwotICAgIH0K
LQotICAgIGZ1bmN0aW9uIHN0ZXA2KCkKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuZHVt
cEFwcGxpY2F0aW9uQ2FjaGUoKTsKLQotICAgICAgICBJbnNwZWN0b3JUZXN0LnN3YXBGcmFtZUNh
Y2hlKGZyYW1lSWQxKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC53YWl0Rm9yRnJhbWVNYW5pZmVz
dFVSTEFuZFN0YXR1cyhmcmFtZUlkMSwgInJlc291cmNlcy92ZXJzaW9uZWQtbWFuaWZlc3QucGhw
IiwgYXBwbGljYXRpb25DYWNoZS5JRExFLCBzdGVwNyk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24g
c3RlcDcoKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wQXBwbGljYXRpb25DYWNo
ZSgpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwotICAgIH0KLX0KLTwv
c2NyaXB0PgotPC9oZWFkPgotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotPHA+VGVzdHMgdGhh
dCBhcHBsaWNhdGlvbiBjYWNoZSBtb2RlbCBrZWVwcyB0cmFjayBvZiBtYW5pZmVzdCB1cmxzIGFu
ZCBzdGF0dXNlcyBjb3JyZWN0bHkgYWZ0ZXIgVVBEQVRFUkVBRFkgZXZlbnQgYW5kIHN3YXBDYWNo
ZSgpIGNhbGwuPC9wPgotPGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTcyMTIzIj5CdWcgNzIxMjM8L2E+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9hcHBjYWNoZS9hcHBjYWNoZS10ZXN0
LmpzIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvYXBwY2FjaGUvYXBwY2FjaGUt
dGVzdC5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzZlNTU3N2U3OWUwMWIwNDY0
YjQ1YTYwZjc2NGRmOGYxYTZmNDE2OS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9hcHBjYWNoZS9h
cHBjYWNoZS10ZXN0LmpzCisrKyAvZGV2L251bGwKQEAgLTEsMjEwICswLDAgQEAKLXZhciBmcmFt
ZXNDb3VudCA9IDA7Ci0KLWZ1bmN0aW9uIGNyZWF0ZUFuZE5hdmlnYXRlSUZyYW1lKHVybCkKLXsK
LSAgICB2YXIgaWZyYW1lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7Ci0gICAg
aWZyYW1lLnNyYyA9IHVybDsKLSAgICBpZnJhbWUubmFtZSA9ICJmcmFtZSIgKyArK2ZyYW1lc0Nv
dW50OwotICAgIGlmcmFtZS5pZCA9IGlmcmFtZS5uYW1lOwotICAgIGRvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQoaWZyYW1lKTsKLX0KLQotZnVuY3Rpb24gcmVtb3ZlSUZyYW1lKG5hbWUpCi17Ci0g
ICAgdmFyIGlmcmFtZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiMiICsgbmFtZSk7Ci0gICAg
aWZyYW1lLnBhcmVudEVsZW1lbnQucmVtb3ZlQ2hpbGQoaWZyYW1lKTsKLX0KLQotZnVuY3Rpb24g
bmF2aWdhdGVJRnJhbWUobmFtZSwgdXJsKQotewotICAgIHZhciBpZnJhbWUgPSBkb2N1bWVudC5x
dWVyeVNlbGVjdG9yKCIjIiArIG5hbWUpOwotICAgIGlmcmFtZS5zcmMgPSB1cmw7Ci19Ci0KLWZ1
bmN0aW9uIHN3YXBGcmFtZUNhY2hlKG5hbWUpCi17Ci0gICAgdmFyIGlmcmFtZSA9IGRvY3VtZW50
LnF1ZXJ5U2VsZWN0b3IoIiMiICsgbmFtZSk7Ci0gICAgaWZyYW1lLmNvbnRlbnRXaW5kb3cuYXBw
bGljYXRpb25DYWNoZS5zd2FwQ2FjaGUoKTsKLX0KLQotdmFyIGluaXRpYWxpemVfQXBwbGljYXRp
b25DYWNoZVRlc3QgPSBmdW5jdGlvbigpIHsKLQotSW5zcGVjdG9yVGVzdC5jcmVhdGVBbmROYXZp
Z2F0ZUlGcmFtZSA9IGZ1bmN0aW9uKHVybCwgY2FsbGJhY2spCi17Ci0gICAgSW5zcGVjdG9yVGVz
dC5hZGRTbmlmZmVyKFdlYkluc3BlY3Rvci5SZXNvdXJjZVRyZWVNb2RlbC5wcm90b3R5cGUsICJf
ZnJhbWVOYXZpZ2F0ZWQiLCBmcmFtZU5hdmlnYXRlZCk7Ci0gICAgSW5zcGVjdG9yVGVzdC5ldmFs
dWF0ZUluUGFnZSgiY3JlYXRlQW5kTmF2aWdhdGVJRnJhbWUodW5lc2NhcGUoJyIgKyBlc2NhcGUo
dXJsKSArICInKSkiKTsKLQotICAgIGZ1bmN0aW9uIGZyYW1lTmF2aWdhdGVkKGZyYW1lKQotICAg
IHsKLSAgICAgICAgY2FsbGJhY2soZnJhbWUuaWQpOwotICAgIH0KLX0KLQotSW5zcGVjdG9yVGVz
dC5uYXZpZ2F0ZUlGcmFtZSA9IGZ1bmN0aW9uKGZyYW1lSWQsIHVybCwgY2FsbGJhY2spCi17Ci0g
ICAgdmFyIGZyYW1lID0gV2ViSW5zcGVjdG9yLnJlc291cmNlVHJlZU1vZGVsLmZyYW1lRm9ySWQo
ZnJhbWVJZCkKLSAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJuYXZpZ2F0ZUlGcmFt
ZSh1bmVzY2FwZSgnIiArIGVzY2FwZShmcmFtZS5uYW1lKSArIicpLCB1bmVzY2FwZSgnIiArIGVz
Y2FwZSh1cmwpICsgIicpKSIpOwotICAgIEluc3BlY3RvclRlc3QuYWRkU25pZmZlcihXZWJJbnNw
ZWN0b3IuUmVzb3VyY2VUcmVlTW9kZWwucHJvdG90eXBlLCAiX2ZyYW1lTmF2aWdhdGVkIiwgZnJh
bWVOYXZpZ2F0ZWQpOwotCi0gICAgZnVuY3Rpb24gZnJhbWVOYXZpZ2F0ZWQoZnJhbWUpCi0gICAg
ewotICAgICAgICBjYWxsYmFjayhmcmFtZS5pZCk7Ci0gICAgfQotfQotCi1JbnNwZWN0b3JUZXN0
LnJlbW92ZUlGcmFtZSA9IGZ1bmN0aW9uKGZyYW1lSWQsIGNhbGxiYWNrKQotewotICAgIHZhciBm
cmFtZSA9IFdlYkluc3BlY3Rvci5yZXNvdXJjZVRyZWVNb2RlbC5mcmFtZUZvcklkKGZyYW1lSWQp
Ci0gICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgicmVtb3ZlSUZyYW1lKHVuZXNjYXBl
KCciICsgZXNjYXBlKGZyYW1lLm5hbWUpICsiJykpIik7Ci0gICAgSW5zcGVjdG9yVGVzdC5hZGRT
bmlmZmVyKFdlYkluc3BlY3Rvci5SZXNvdXJjZVRyZWVNb2RlbC5wcm90b3R5cGUsICJfZnJhbWVE
ZXRhY2hlZCIsIGZyYW1lRGV0YWNoZWQpOwotCi0gICAgZnVuY3Rpb24gZnJhbWVEZXRhY2hlZChm
cmFtZSkKLSAgICB7Ci0gICAgICAgIGNhbGxiYWNrKGZyYW1lLmlkKTsKLSAgICB9Ci19Ci0KLUlu
c3BlY3RvclRlc3Quc3dhcEZyYW1lQ2FjaGUgPSBmdW5jdGlvbihmcmFtZUlkKQotewotICAgIHZh
ciBmcmFtZSA9IFdlYkluc3BlY3Rvci5yZXNvdXJjZVRyZWVNb2RlbC5mcmFtZUZvcklkKGZyYW1l
SWQpOwotICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoInN3YXBGcmFtZUNhY2hlKHVu
ZXNjYXBlKCciICsgZXNjYXBlKGZyYW1lLm5hbWUpICsiJykpIik7Ci19Ci0KLQotSW5zcGVjdG9y
VGVzdC5kdW1wQXBwbGljYXRpb25DYWNoZSA9IGZ1bmN0aW9uKCkKLXsKLSAgICBJbnNwZWN0b3JU
ZXN0LmR1bXBBcHBsaWNhdGlvbkNhY2hlVHJlZSgpOwotICAgIEluc3BlY3RvclRlc3QuZHVtcEFw
cGxpY2F0aW9uQ2FjaGVNb2RlbCgpOwotICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCIiKTsK
LX0KLQotSW5zcGVjdG9yVGVzdC5kdW1wQXBwbGljYXRpb25DYWNoZVRyZWUgPSBmdW5jdGlvbigp
Ci17Ci0gICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIkR1bXBpbmcgYXBwbGljYXRpb24gY2Fj
aGUgdHJlZToiKTsKLSAgICB2YXIgYXBwbGljYXRpb25DYWNoZVRyZWVFbGVtZW50ID0gV2ViSW5z
cGVjdG9yLnBhbmVscy5yZXNvdXJjZXMuYXBwbGljYXRpb25DYWNoZUxpc3RUcmVlRWxlbWVudDsK
LSAgICBpZiAoIWFwcGxpY2F0aW9uQ2FjaGVUcmVlRWxlbWVudC5jaGlsZHJlbi5sZW5ndGgpIHsK
LSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIiAgICAoZW1wdHkpIik7Ci0gICAgICAg
IHJldHVybjsKLSAgICB9Ci0gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBhcHBsaWNhdGlvbkNhY2hl
VHJlZUVsZW1lbnQuY2hpbGRyZW4ubGVuZ3RoOyArK2kpIHsKLSAgICAgICAgdmFyIG1hbmlmZXN0
VHJlZUVsZW1lbnQgPSBhcHBsaWNhdGlvbkNhY2hlVHJlZUVsZW1lbnQuY2hpbGRyZW5baV07Ci0g
ICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCIgICAgTWFuaWZlc3QgVVJMOiAiICsgbWFu
aWZlc3RUcmVlRWxlbWVudC5tYW5pZmVzdFVSTCk7Ci0gICAgICAgIGlmICghbWFuaWZlc3RUcmVl
RWxlbWVudC5jaGlsZHJlbi5sZW5ndGgpIHsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRk
UmVzdWx0KCIgICAgKG5vIGZyYW1lcykiKTsKLSAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAg
ICB9Ci0gICAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgbWFuaWZlc3RUcmVlRWxlbWVudC5jaGls
ZHJlbi5sZW5ndGg7ICsraikgewotICAgICAgICAgICAgdmFyIGZyYW1lVHJlZUVsZW1lbnQgPSBt
YW5pZmVzdFRyZWVFbGVtZW50LmNoaWxkcmVuW2pdOwotICAgICAgICAgICAgSW5zcGVjdG9yVGVz
dC5hZGRSZXN1bHQoIiAgICAgICAgRnJhbWU6ICIgKyBmcmFtZVRyZWVFbGVtZW50LmRpc3BsYXlO
YW1lKTsKLSAgICAgICAgfQotICAgIH0KLX0KLQotSW5zcGVjdG9yVGVzdC5mcmFtZUlkVG9TdHJp
bmcgPSBmdW5jdGlvbihmcmFtZUlkKQotewotICAgIGlmICghSW5zcGVjdG9yVGVzdC5mcmFtZXNC
eUZyYW1lSWQpCi0gICAgICAgIEluc3BlY3RvclRlc3QuZnJhbWVzQnlGcmFtZUlkID0ge307Ci0g
ICAgdmFyIGZyYW1lID0gV2ViSW5zcGVjdG9yLnJlc291cmNlVHJlZU1vZGVsLmZyYW1lRm9ySWQo
ZnJhbWVJZCk7Ci0gICAgaWYgKCFmcmFtZSkKLSAgICAgICAgZnJhbWUgPSBJbnNwZWN0b3JUZXN0
LmZyYW1lc0J5RnJhbWVJZFtmcmFtZUlkXTsKLSAgICBJbnNwZWN0b3JUZXN0LmZyYW1lc0J5RnJh
bWVJZFtmcmFtZUlkXSA9IGZyYW1lOwotCi0gICAgcmV0dXJuIGZyYW1lLm5hbWU7Ci19Ci0KLUlu
c3BlY3RvclRlc3QuYXBwbGljYXRpb25DYWNoZVN0YXR1c1RvU3RyaW5nID0gZnVuY3Rpb24oc3Rh
dHVzKQotewotICAgIHZhciBzdGF0dXNJbmZvcm1hdGlvbiA9IHt9OwotICAgIHN0YXR1c0luZm9y
bWF0aW9uW2FwcGxpY2F0aW9uQ2FjaGUuVU5DQUNIRURdICAgID0gIlVOQ0FDSEVEIjsKLSAgICBz
dGF0dXNJbmZvcm1hdGlvblthcHBsaWNhdGlvbkNhY2hlLklETEVdICAgICAgICA9ICJJRExFIjsK
LSAgICBzdGF0dXNJbmZvcm1hdGlvblthcHBsaWNhdGlvbkNhY2hlLkNIRUNLSU5HXSAgICA9ICJD
SEVDS0lORyI7Ci0gICAgc3RhdHVzSW5mb3JtYXRpb25bYXBwbGljYXRpb25DYWNoZS5ET1dOTE9B
RElOR10gPSAiRE9XTkxPQURJTkciOwotICAgIHN0YXR1c0luZm9ybWF0aW9uW2FwcGxpY2F0aW9u
Q2FjaGUuVVBEQVRFUkVBRFldID0gIlVQREFURVJFQURZIjsKLSAgICBzdGF0dXNJbmZvcm1hdGlv
blthcHBsaWNhdGlvbkNhY2hlLk9CU09MRVRFXSAgICA9ICJPQlNPTEVURSI7Ci0gICAgcmV0dXJu
IHN0YXR1c0luZm9ybWF0aW9uW3N0YXR1c10gfHwgc3RhdHVzSW5mb3JtYXRpb25bYXBwbGljYXRp
b25DYWNoZS5VTkNBQ0hFRF07Ci19Ci0KLUluc3BlY3RvclRlc3QuZHVtcEFwcGxpY2F0aW9uQ2Fj
aGVNb2RlbCA9IGZ1bmN0aW9uKCkKLXsKLSAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiRHVt
cGluZyBhcHBsaWNhdGlvbiBjYWNoZSBtb2RlbDoiKTsKLSAgICB2YXIgbW9kZWwgPSBXZWJJbnNw
ZWN0b3IucGFuZWxzLnJlc291cmNlcy5fYXBwbGljYXRpb25DYWNoZU1vZGVsOwotCi0gICAgdmFy
IGZyYW1lSWRzID0gW107Ci0gICAgZm9yICh2YXIgZnJhbWVJZCBpbiBtb2RlbC5fbWFuaWZlc3RV
UkxzQnlGcmFtZSkKLSAgICAgICAgZnJhbWVJZHMucHVzaChmcmFtZUlkKTsKLQotICAgIGZ1bmN0
aW9uIGNvbXBhcmVGdW5jKGEsIGIpIHsKLSAgICAgICAgcmV0dXJuIEluc3BlY3RvclRlc3QuZnJh
bWVJZFRvU3RyaW5nKGEpLmxvY2FsZUNvbXBhcmUoSW5zcGVjdG9yVGVzdC5mcmFtZUlkVG9TdHJp
bmcoYikpOwotICAgIH0KLSAgICBmcmFtZUlkcy5zb3J0KGNvbXBhcmVGdW5jKTsKLQotICAgIGlm
ICghZnJhbWVJZHMubGVuZ3RoKSB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCIg
ICAgKGVtcHR5KSIpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotICAgIGZvciAodmFyIGkgPSAw
OyBpIDwgZnJhbWVJZHMubGVuZ3RoOyArK2kpIHsKLSAgICAgICAgdmFyIGZyYW1lSWQgPSBmcmFt
ZUlkc1tpXTsKLSAgICAgICAgdmFyIG1hbmlmZXN0VVJMID0gbW9kZWwuZnJhbWVNYW5pZmVzdFVS
TChmcmFtZUlkKTsKLSAgICAgICAgdmFyIHN0YXR1cyA9IG1vZGVsLmZyYW1lTWFuaWZlc3RTdGF0
dXMoZnJhbWVJZCk7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCIgICAgRnJhbWU6
ICIgKyBJbnNwZWN0b3JUZXN0LmZyYW1lSWRUb1N0cmluZyhmcmFtZUlkKSk7Ci0gICAgICAgIElu
c3BlY3RvclRlc3QuYWRkUmVzdWx0KCIgICAgICAgIG1hbmlmZXN0IHVybDogIiArIG1hbmlmZXN0
VVJMKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIiAgICAgICAgc3RhdHVzOiAg
ICAgICAiICsgSW5zcGVjdG9yVGVzdC5hcHBsaWNhdGlvbkNhY2hlU3RhdHVzVG9TdHJpbmcoc3Rh
dHVzKSk7Ci0gICAgfQotfQotCi1JbnNwZWN0b3JUZXN0LndhaXRGb3JGcmFtZU1hbmlmZXN0VVJM
QW5kU3RhdHVzID0gZnVuY3Rpb24oZnJhbWVJZCwgbWFuaWZlc3RVUkwsIHN0YXR1cywgY2FsbGJh
Y2spCi17Ci0gICAgdmFyIGZyYW1lTWFuaWZlc3RTdGF0dXMgPSBXZWJJbnNwZWN0b3IucGFuZWxz
LnJlc291cmNlcy5fYXBwbGljYXRpb25DYWNoZU1vZGVsLmZyYW1lTWFuaWZlc3RTdGF0dXMoZnJh
bWVJZCk7Ci0gICAgdmFyIGZyYW1lTWFuaWZlc3RVUkwgPSBXZWJJbnNwZWN0b3IucGFuZWxzLnJl
c291cmNlcy5fYXBwbGljYXRpb25DYWNoZU1vZGVsLmZyYW1lTWFuaWZlc3RVUkwoZnJhbWVJZCk7
Ci0gICAgaWYgKGZyYW1lTWFuaWZlc3RTdGF0dXMgPT09IHN0YXR1cyAmJiBmcmFtZU1hbmlmZXN0
VVJMLmluZGV4T2YobWFuaWZlc3RVUkwpICE9PSAtMSkgewotICAgICAgICBjYWxsYmFjaygpOwot
ICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgdmFyIGhhbmRsZXIgPSBJbnNwZWN0b3JUZXN0
LndhaXRGb3JGcmFtZU1hbmlmZXN0VVJMQW5kU3RhdHVzLmJpbmQodGhpcywgZnJhbWVJZCwgbWFu
aWZlc3RVUkwsIHN0YXR1cywgY2FsbGJhY2spOwotICAgIEluc3BlY3RvclRlc3QuYWRkU25pZmZl
cihXZWJJbnNwZWN0b3IuQXBwbGljYXRpb25DYWNoZU1vZGVsLnByb3RvdHlwZSwgIl9mcmFtZU1h
bmlmZXN0VXBkYXRlZCIsIGhhbmRsZXIpOwotfQotCi1JbnNwZWN0b3JUZXN0LnN0YXJ0QXBwbGlj
YXRpb25DYWNoZVN0YXR1c2VzUmVjb3JkaW5nID0gZnVuY3Rpb24oKQotewotICAgIGlmIChJbnNw
ZWN0b3JUZXN0LmFwcGxpY2F0aW9uQ2FjaGVTdGF0dXNlc1JlY29yZHMpIHsKLSAgICAgICAgSW5z
cGVjdG9yVGVzdC5hcHBsaWNhdGlvbkNhY2hlU3RhdHVzZXNSZWNvcmRzID0ge307Ci0gICAgICAg
IHJldHVybjsKLSAgICB9Ci0KLSAgICBJbnNwZWN0b3JUZXN0LmFwcGxpY2F0aW9uQ2FjaGVTdGF0
dXNlc1JlY29yZHMgPSB7fTsKLSAgICBmdW5jdGlvbiBhZGRSZWNvcmQoZnJhbWVJZCwgbWFuaWZl
c3RVUkwsIHN0YXR1cykgewotICAgICAgICB2YXIgcmVjb3JkID0ge307Ci0gICAgICAgIHJlY29y
ZC5tYW5pZmVzdFVSTCA9IG1hbmlmZXN0VVJMOwotICAgICAgICByZWNvcmQuc3RhdHVzID0gc3Rh
dHVzOwotICAgICAgICBpZiAoIUluc3BlY3RvclRlc3QuYXBwbGljYXRpb25DYWNoZVN0YXR1c2Vz
UmVjb3Jkc1tmcmFtZUlkXSkKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYXBwbGljYXRpb25D
YWNoZVN0YXR1c2VzUmVjb3Jkc1tmcmFtZUlkXSA9IFtdOwotICAgICAgICBJbnNwZWN0b3JUZXN0
LmFwcGxpY2F0aW9uQ2FjaGVTdGF0dXNlc1JlY29yZHNbZnJhbWVJZF0ucHVzaChyZWNvcmQpOwot
Ci0gICAgICAgIGlmIChJbnNwZWN0b3JUZXN0LmF3YWl0ZWRGcmFtZVN0YXR1c0V2ZW50c0NvdW50
ICYmIEluc3BlY3RvclRlc3QuYXdhaXRlZEZyYW1lU3RhdHVzRXZlbnRzQ291bnRbZnJhbWVJZF0p
IHsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYXdhaXRlZEZyYW1lU3RhdHVzRXZlbnRzQ291
bnRbZnJhbWVJZF0uY291bnQtLTsKLSAgICAgICAgICAgIGlmICghSW5zcGVjdG9yVGVzdC5hd2Fp
dGVkRnJhbWVTdGF0dXNFdmVudHNDb3VudFtmcmFtZUlkXS5jb3VudCkKLSAgICAgICAgICAgICAg
ICBJbnNwZWN0b3JUZXN0LmF3YWl0ZWRGcmFtZVN0YXR1c0V2ZW50c0NvdW50W2ZyYW1lSWRdLmNh
bGxiYWNrKCk7Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICBJbnNwZWN0b3JUZXN0LmFkZFNuaWZm
ZXIoV2ViSW5zcGVjdG9yLkFwcGxpY2F0aW9uQ2FjaGVNb2RlbC5wcm90b3R5cGUsICJfZnJhbWVN
YW5pZmVzdFVwZGF0ZWQiLCBhZGRSZWNvcmQsIHRydWUpOwotfQotCi1JbnNwZWN0b3JUZXN0LmVu
c3VyZUZyYW1lU3RhdHVzRXZlbnRzUmVjZWl2ZWQgPSBmdW5jdGlvbihmcmFtZUlkLCBjb3VudCwg
Y2FsbGJhY2spCi17Ci0gICAgdmFyIHJlY29yZHMgPSBJbnNwZWN0b3JUZXN0LmFwcGxpY2F0aW9u
Q2FjaGVTdGF0dXNlc1JlY29yZHNbZnJhbWVJZF0gfHwgW107Ci0gICAgdmFyIGV2ZW50c0xlZnQg
PSBjb3VudCAtIHJlY29yZHMubGVuZ3RoOwotCi0gICAgaWYgKCFldmVudHNMZWZ0KSB7Ci0gICAg
ICAgIGNhbGxiYWNrKCk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBpZiAoIUluc3Bl
Y3RvclRlc3QuYXdhaXRlZEZyYW1lU3RhdHVzRXZlbnRzQ291bnQpCi0gICAgICAgIEluc3BlY3Rv
clRlc3QuYXdhaXRlZEZyYW1lU3RhdHVzRXZlbnRzQ291bnQgPSB7fTsKLSAgICBJbnNwZWN0b3JU
ZXN0LmF3YWl0ZWRGcmFtZVN0YXR1c0V2ZW50c0NvdW50W2ZyYW1lSWRdID0geyBjb3VudDogZXZl
bnRzTGVmdCwgY2FsbGJhY2s6IGNhbGxiYWNrIH07Ci19Ci0KLX07Ci0KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2FwcGNhY2hlL3Jlc291cmNlcy9tYW5pZmVz
dC5waHAgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9hcHBjYWNoZS9yZXNvdXJj
ZXMvbWFuaWZlc3QucGhwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwYjlmOGVkYjdl
MGVmNDlkZGYyYmMwNjlkNTM4NmEzYWE0Y2Y4NDkyLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2Fw
cGNhY2hlL3Jlc291cmNlcy9tYW5pZmVzdC5waHAKKysrIC9kZXYvbnVsbApAQCAtMSwxNSArMCww
IEBACi08P3BocAotICAgIGhlYWRlcigiRXhwaXJlczogVGh1LCAwMSBEZWMgMjAwMyAxNjowMDow
MCBHTVQiKTsKLSAgICBoZWFkZXIoIkNhY2hlLUNvbnRyb2w6IG5vLWNhY2hlLCBtdXN0LXJldmFs
aWRhdGUiKTsKLSAgICBoZWFkZXIoIlByYWdtYTogbm8tY2FjaGUiKTsKLSAgICBoZWFkZXIoIkNv
bnRlbnQtVHlwZTogdGV4dC9jYWNoZS1tYW5pZmVzdCIpOwotCi0gICAgJG1hbmlmZXN0SWQgPSAk
X0dFVFsibWFuaWZlc3RJZCJdOwotCi0gICAgZWNobygiQ0FDSEUgTUFOSUZFU1RcbiIpOwotICAg
IGVjaG8oIiMgIiAuICRtYW5pZmVzdElkIC4gIlxuIik7Ci0gICAgZWNobygicGFnZS13aXRoLW1h
bmlmZXN0LnBocD9tYW5pZmVzdElkPSIgLiAkbWFuaWZlc3RJZCAuICJcbiIpOwotCi0gICAgaWYg
KCRtYW5pZmVzdElkID09ICJ3aXRoLW5vbi1leGlzdGluZy1maWxlIikKLSAgICAgICAgZWNobygi
bm9uLWV4aXN0aW5nLWZpbGVcbiIpOwotPz4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvaW5zcGVjdG9yL2FwcGNhY2hlL3Jlc291cmNlcy9wYWdlLXdpdGgtbWFuaWZlc3QucGhw
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvYXBwY2FjaGUvcmVzb3VyY2VzL3Bh
Z2Utd2l0aC1tYW5pZmVzdC5waHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGMwOGRj
MDc1MzliNDEwZGFiZTVmYWZkZTI2MTMwZmE1YTQ1ZWZjMTEuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0
b3IvYXBwY2FjaGUvcmVzb3VyY2VzL3BhZ2Utd2l0aC1tYW5pZmVzdC5waHAKKysrIC9kZXYvbnVs
bApAQCAtMSwxMyArMCwwIEBACi08P3BocAotJG1hbmlmZXN0SWQgPSAkX0dFVFsibWFuaWZlc3RJ
ZCJdOwotZWNobyAiPGh0bWwgbWFuaWZlc3Q9XCJtYW5pZmVzdC5waHA/bWFuaWZlc3RJZD0iIC4g
JG1hbmlmZXN0SWQgLiAiXCI+XG4iOwotPz4KLTxoZWFkPgotPC9oZWFkPgotPGJvZHk+Ci08P3Bo
cAotJG1hbmlmZXN0SWQgPSAkX0dFVFsibWFuaWZlc3RJZCJdOwotZWNobyAiUGFnZSB3aXRoIG1h
bmlmZXN0ICMiIC4gJG1hbmlmZXN0SWQuICIuXG4iOwotPz4KLTwvYm9keT4KLTwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2FwcGNhY2hlL3Jlc291
cmNlcy92ZXJzaW9uZWQtbWFuaWZlc3QucGhwIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNw
ZWN0b3IvYXBwY2FjaGUvcmVzb3VyY2VzL3ZlcnNpb25lZC1tYW5pZmVzdC5waHAKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDEwNzc4ZTcyNjk5YTVmZTVkMDYzYjcwYjgxNTIzODdlYjYz
ZTQ2ZDguLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvYXBwY2FjaGUvcmVzb3VyY2VzL3ZlcnNpb25l
ZC1tYW5pZmVzdC5waHAKKysrIC9kZXYvbnVsbApAQCAtMSwzNCArMCwwIEBACi08P3BocAotcmVx
dWlyZV9vbmNlICcuLi8uLi8uLi9yZXNvdXJjZXMvcG9ydGFiaWxpdHlMYXllci5waHAnOwotCi0k
dG1wRmlsZSA9IHN5c19nZXRfdGVtcF9kaXIoKSAuICIvIiAuICJhcHBjYWNoZV9tYW5pZmVzdF9j
b3VudGVyIjsKLQotZnVuY3Rpb24gZ2V0Q291bnQoJGZpbGUpCi17Ci0gICAgaWYgKCFmaWxlX2V4
aXN0cygkZmlsZSkpIHsKLSAgICAgICAgZmlsZV9wdXRfY29udGVudHMoJGZpbGUsICIwIik7Ci0g
ICAgICAgIHJldHVybiAiMCI7Ci0gICAgfQotICAgIHJldHVybiBmaWxlX2dldF9jb250ZW50cygk
ZmlsZSk7Ci19Ci0KLWZ1bmN0aW9uIHN0ZXBDb3VudGVyKCRmaWxlKQotewotICAgIGlmIChmaWxl
X2V4aXN0cygkZmlsZSkpIHsKLSAgICAgICAgJHZhbHVlID0gZ2V0Q291bnQoJGZpbGUpOwotICAg
ICAgICBmaWxlX3B1dF9jb250ZW50cygkZmlsZSwgKyskdmFsdWUpOwotICAgIH0KLX0KLQotaWYg
KCJzdGVwIiA9PSAkX0dFVFsnY29tbWFuZCddKQotICAgIHN0ZXBDb3VudGVyKCR0bXBGaWxlKTsK
LQotaGVhZGVyKCJFeHBpcmVzOiBUaHUsIDAxIERlYyAyMDAzIDE2OjAwOjAwIEdNVCIpOwotaGVh
ZGVyKCJDYWNoZS1Db250cm9sOiBuby1jYWNoZSwgbXVzdC1yZXZhbGlkYXRlIik7Ci1oZWFkZXIo
IlByYWdtYTogbm8tY2FjaGUiKTsKLWhlYWRlcigiQ29udGVudC1UeXBlOiB0ZXh0L2NhY2hlLW1h
bmlmZXN0Iik7Ci0KLXByaW50KCJDQUNIRSBNQU5JRkVTVFxuIik7Ci1wcmludCgiIyB2ZXJzaW9u
ICIgLiBnZXRDb3VudCgkdG1wRmlsZSkgLiAiXG4iKTsKLXByaW50KCJ3aXRoLXZlcnNpb25lZC1t
YW5pZmVzdC5waHBcbiIpOwotPz4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
aW5zcGVjdG9yL2FwcGNhY2hlL3Jlc291cmNlcy93aXRoLXZlcnNpb25lZC1tYW5pZmVzdC5waHAg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9hcHBjYWNoZS9yZXNvdXJjZXMvd2l0
aC12ZXJzaW9uZWQtbWFuaWZlc3QucGhwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4
NTY5MDFmNDkzZjhmOTVkOWVkMjEwMjJiOTMzZjk3NDExNmRmYzVjLi4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5z
cGVjdG9yL2FwcGNhY2hlL3Jlc291cmNlcy93aXRoLXZlcnNpb25lZC1tYW5pZmVzdC5waHAKKysr
IC9kZXYvbnVsbApAQCAtMSw3ICswLDAgQEAKLTxodG1sIG1hbmlmZXN0PSJ2ZXJzaW9uZWQtbWFu
aWZlc3QucGhwIj4KLTxoZWFkPgotPC9oZWFkPgotPGJvZHk+Ci1QYWdlIHdpdGggdmVyc2lvbmVk
IG1hbmlmZXN0Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2luc3BlY3Rvci9hdWRpdHMvcmVzb3VyY2VzL2FiZS5wbmcgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2luc3BlY3Rvci9hdWRpdHMvcmVzb3VyY2VzL2FiZS5wbmcKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IGM5MzI1MzY3MzRhOTI0NjRhM2Y2NThjOGEyZDI5NmRkNmVmZGFl
NTAuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKR0lUIGJpbmFyeSBw
YXRjaApsaXRlcmFsIDAKSGNtVj9kMDAwMDEKCmxpdGVyYWwgMTIyNDIKemNtVysrMlJOMWc3cTx5
bi1HcFJiKyk3OWlsRCkxRkxpVG96QnhHbUg0cERhMmxec0h8bDV4cS1gcV5aIT4/RTgyCno+M0A2
aEpVeT1XelZHKigmcElidVR9fDtLSVRKWV45Xk9UP2xBST58UkRteVJHNk1Me20zfTgyZXEzLT0o
dENsMgp6TXsoKWo3ZH5GZmRqPm9fSGF4VlB3M2YmRlhXcTg8JSomcVYtUnVBVWBTODFZdlNLfkxL
NzNIcFEwaHB5KWZWd2cKelJQa0RDJCkpPX1pSnd0e0VFeTM1QCZRPHo7e3N4R0EqckEqPWdueUtF
Mj9KSXd3RFc+dVhSLU57Pm53aCYyak95Cno4YWEwP3tAaDwqWEZqS3Z7SU0yMGNfX3VacFg1MmNV
KnBAbTxAcSE1b0FZNz44KEFFKGpRMSUrTk1UYDBFQEtFZwp6bmhxeUdpUiUrbSlqKzVZOXl9UW9p
az1yemVKWSR2aTQkUl9RWFJDYk95VFZrUEwwWjRiKnIwbHNCJCZSdnJXbWgKem1EZG83ekMkVVNW
NVAxN08hejhKcHRodV9AUnk2MlhmKFhCdSNofkVFcko2bEFlYEVSc1czeFVobks4dnhZWjVXCnpt
R080JWlubHBjVWtMZm5VVTtWJlF6SmxXRzskSHc9YkMxdm10ZSphZiZLUn1GNWRab2lrS0hzcD1P
O2BqbGsrQQp6djw1dkJQRE1vb3ZUNUNqKkRQNHJAZW9xWU1zKyQ9LUp5SjNJeD97I2oxekZIeVNE
VyhQRU8tcHVDMCkyMUBEQjcKeihEPXB8RURFbF49ekptMmxwekYqM05oO3dkUjgmXk4kM0RST1o2
Pm9ER2Z4anE9SjB2bTFKP3Q1WUtYdE0zb2RRCnpOfnMlREZ9cl5kKT9QOD9Ga3ZxJk8oUEtJUihG
ZjZ4dl4ySVF2YUN7USg+VlhyM0N7Q2VkQEFqYD5SfnJrTlFQSgp6JjNPKTBSfFEre20yRz00R1pM
b2Y3WiNjXjlFa1N3aDdsMlI0c3Zwfi00RjVIY3l4cyNEN0JvSUJEa3IoOXFHaWAKekZsfHlnYXk9
ckBFeHJyeG5sWiNsRUtSKWs5I2ZROGVNI1hCaGQ+aSl6MDRmKFVXO1ZVXmtxKyRVVHRrezRNZzQ0
CnpyZ0lJUCEoTnF+Z1lOeSN1a0EhKERgRFUxRG1ZVHc8RVJCKG92JnpYY1dpdlQ1IS17WUNgJkAz
QDg3PjRFe0U7Ngp6NWxLXzRubj4lZ15wP25BQllUck48dUt3fXVUeWxKbDlQO310NmJNM0E1VUgq
MCZBMTxVNFlYNUg1UFNwUylNa00KekFlTF4zT04+fV9wNDByJChxU1BtWUNaQklnJXQwX01ENEIm
Jnk3OD1pQDBqZi1LQ2RYXzR8X055T0pTaHVXKUFSCnolWmR2QlVMaGVOR2ltfVpieUhONWF2RiNv
TW1aYEVkYVhuKE4teDJuSTAxPks7WiM1cWcqN0J5LVUqfCpMZCpIewp6V2JUdCpIRUheQ2FsK0It
WXhBVEckISt0OHReQj9fYCtuIzk/cHJAeU1WUU5VS2FTYUIxZTFHdWRNWWFgYH1fTkMKemdnU1M+
dlhOen1xbk4zPiVITVlfUXNUbEN2WitGfHdRZ0xGbHM2aWdhPTc8U0tKSjQkM1BETjImV0V+bEhm
UGRKCno2eWFaSHJnTCFSclZObzEjenh5aUMmOXwqJHt8LVNreGAmSVA1cUZva0Z+WTZvMTJAaFpP
OG8xIVJjOWp7UjYhTwp6IVRgS0JyPFg1Wjc4YUoybVg2cH15NDVgcDUlRDxLby1IbWVaZiV2PE9R
Mj5KblFeWXNkR2gzKnUmfDMhajZ5YVIKel47P2BqIWttfT4+YX1hdjcjT3lfPlV8cW4/fGRkRj5J
fXkzT1EwdytKeHcmIUcwMmZUVEgpbVZJXl9eNUNjUDx+CnpUMEdfT0ckcTd1PVQ3dXxNQztzSVgr
c0gweCEhcEgoM2BtfTcteUV6JWhUb1Q/IUdAV2xpNDxaSitVaVhqdzRvUwp6VmZYT29QaCh4dkdG
PlJ1TVEyNzk/U3dAU2FmIVFrP34wM2UzI2RxQjxrXm1JP2VCYFMjPFc0SnE5UyVZI0Y/VTsKem5l
KjBhZEFzNzNUTmo7SVltSkxfdldFSklJVmoySy1KfmYhQnd4eyMlRHh3UU4ySWchSV41eTteQ3Z+
eE1rQU55CnpaSDFWMFVBNDdDTHFme08+fkY7WF9Oc3NJO0tBd1g+RDFLSmtlJXlgN2NaVmE9Wnt4
amJRV2RFZ01SWD9HNWxkRQp6c0Z3RzVXWTFEQ3hvZ3FJPW43RjJyZWJKcTReeSRhPWhnUThgO1ln
Y3lDPUs3az1QWnRJIzs3Kmtzbis4NzZjSmsKenNwRjUySWFtO25DbG09amJOejBfK2tRfj0+amlW
QFAkI0NNPD5+YlpmKEF7I01BaXBoTkhrcldsZ0hxeSVpcTYkCno7am07cilzfEgwLSloazxqfURl
R2dPfEplMiZNdWBmR20wMF5CK2J7PXB7XnprMUhlVGM2V0N4RGtgUT1Ie0dkTwp6IzdGSGF3Xngq
TklMSFdNLWB1NCFyRGZNWCY+SD9ec0RzejxQLVR8aWxFdDJCUmlYRnchaiFfdD1UI0YjPn1FI0YK
eklSa1RaYkt+UlYzayNPQCMtWXFOOz5uazZ0MHR+VCphPE5tZFZmPCN1YExLdmF6PTFTRzI7Wk5M
UyslSF9RSSkzCnokWHxPJFMrYiMyRWFHOGBfdFZyPTJNemhJJW4rNXk3RkUwJm1VN01yIW9UXmtF
UUMhRUp1fGVvMmFqaldwfl5Gegp6WEdkS0ZGLW1FUXg4KDE0R29KaHB2MHhrMXlvMzcxMHxxNiRJ
NHdqRHp9fktCT2p7N2NzRXJVXklNS3spRWtyPH0KekY3S1M0b00+P2JJPC0ybmEodj1XYmZvdnlR
WSQ/XmBwQnpTdU0meVA3Z1dkY2NCJHBQb3BFSmpzRzJaQkE9O0g/Cno0fEVZVG5DP3JhWn1KKHQ9
X25MNndDYml4aFV7OStXM2w8cyhhflBAS2tYYGk/VEl6QkFWUCgyaShNZDxOfmA5MQp6K0Rmallz
S1djVWFVNF5UK2BJZz8xRjFSfmhlWEZ8NiVFYiE1PSliWDtgKyEhJXFBVn57U0h5aW5jTUwmJkd+
JTYKejFZbFg2bWYtVF8pIXRxOEdvMiEwUVEzOGRsRUt4PHVgeFllLTdxPGhLKDxDbFI3OFlBY0Qh
PE1xZnZ7KFlrR0l3CnpMUG5zZzRoNlMpM3YlYmN1Q2xoV2E+JHxULSZ0O2liZlYqczVnZjBePj8k
cXd4Y2ljcTVBNzxJd2E4WFo3ezhMdAp6bj16MGBRT15LKjs3THRKVmU/YihKd0lGRWtAV24lKDZP
K3Z1KEZjaHlMPU50elVQJURNPWBrX0lxT2cwbVpLXmEKekkoRXNDaGZKbm8/M0o+bUFZKUExO35W
aUooWXFldiNYMykpS2N+KkI5SjhrPEMrNlV3MyVqZk9TVVl9UnEqQExnCnpYUFVxZ2xVRy1Gezlu
T2ltWTZuJkRyPj55UC08Ml9ldHl8OStLakJTYV43OT5FJDVuPFArPyhWLTs7UyhjWCMqbQp6aipP
RUlzRHchZV9qK1RWcWl7WGJmWHBKfmAlZ3JTZVVJaUpncVJmJC1EdUwwJFM1N05GWnVaS0tmQWpH
c3V5dUsKekxRR0sjZ3hPX1NZZFhwYyYzM302Mj5GWHRSSzlCbChfUn51QkxvNWRnUjdRJFVrdiZG
LVFiVjNgJmFtbHprMlIrCnpUWDVTez5ofW14aFReaTt5YjgxZXRNWThjbDJ2QFNuQEQ0bzxQaD9x
eEUrLTwofkhNWWR2VUcwTz9iP3ZmSEVIOQp6OCpXJG0mVVdWOE1vTFctODxFWVNrX2FNdm96U29X
eUdsb2Mlcjk8cjh+ZXZHKlkzTTVidGV9VDZxcEt4WjQ8QU4KemxMVkZOK0l4RkBKMzJhZ2QhSWFN
SU1PY0cwV3gwTzgoIU4zPXRSZlcqNDlGb0kyYVZgQEVjWmRGUXE7WSFJQFJ4CnpVUENzbGgrS35f
RkI+SnxkSzFqUGhGP2B2Uy1IMjwjPiMpfG1Tfno5dlJkdkQmQXhzeXtaZFRjX3tMdlRmZmN3awp6
diM2ayRuQXFMQm0hbE5TUEU1dThGRk1gfiNtKCo/SHlqTz5zO1IwKk1NVzhYXzFHREZCPkFqVHpn
PG1CYCZQVSUKel5xe3NqZ0JrWipibHpaQEUrdXVQYEwpKyRWKDY0eXl9OVdOJGlecXkrQ1h0UE1q
V2NQZSU4Ty1gPXcxdWshfT0rCnpUJW1VT1oqWHZhJis3cFRefUU2T29qLWVmdUNBezJmNSlGJTV7
cEojPTs8VVpZOER7S2gkd012QDUhN09PRy0qdQp6UGk5RXJAT3tydV94WCkjd2ZHVz1yVGNgNmh3
UGdDcEg/I1U/bWAmPk5PXm18WE0xRClFPHYjM2FoUlFDTXZEUDUKeklPdmtLOT0odU91fSs9ZWBQ
dHZVIW57UHIhMGBhfDUhbHtrM0w9NnNVMHchQzFyRk44dUdaYko2QzBaPUU2YG16CnpucklyTF55
UyU1TX12JnMmfjN0b1crJiRTT1F9NyV3JlJLNHslfCErTzl+MSlAQkpGT0A0bmV5Sn49WHkqdDwq
Xgp6O0V6UWk8Z1o4azk8JERueyo5Q19gfC1CPyU+fmQjYV5jfn5vZEBhNVNyNmxvJitQNHliUWVV
UHdoUGRaUUJxU3cKeiNsRWNuPV5fNGVYc0ZmY0pyV0lROSowIUZJK00jeE1WZGhVck89a0NVQWtx
IVhTQjd2azRlMVZrU2BLQEYjZmJPCnpEbXdhWDdvPFNeJV9xdF5iYUVTeEJFUi0oT1YqTkFtaX0l
YDBBKXlJI0hqUnM2MWJ8djZ1P0NrYkpycWQ1eER3bQp6SkVrSTdyZkpuQmNoRUx7YFBCRWtyS1Az
Z0VsKnV0OVc3NSNsUEw7OEtvX1dKcmwmS3FyO3Uke0hFfiVVLT95PTQKemApO0VWUEpvNipVZ1B0
YWVYLTYlOGxxNUt6YF5TN1ZQRiVSR2F8JXs/VWBOemRrITNuJStsdiVOQnhWeDN0V2h2Cnp6UDgy
e2ZidSVVX3BHUl4+dkEkPXFzaUMwcF9XJStUKkBscGVHdmJ8U2shcVR0Wm0rQCMmRX1qKl8+dyhT
M0UwJgp6eytXcClaeUgzVjsqUlc2TE1GKmdXVGwrenJpQEc3OVVWVjRHKXhPbiM8YWF2O1dxS3Yo
PFQjN1IqfkBoWlJ6VlAKekB3UCpWPjdxRXw5aDF6eFhZNHxNR3ZxJE1ZZDFwM3FtcmZeczYlbHxt
UTlQeV91WTd6cVJNJSVoUmV9Vm4/OEFFCno2K355Z0BsaUx6QUg2MTlvTV5AJS1iOzhAbm5GUVFr
KHlPdnZjRGduKDFLd3AmSGJtZWBHcXBWWCtsY1EjPXd3fQp6KHxMWWIpVU5kO0ZGUEJOdn00X3I9
fW0/Wj1fN3UwOUItRmY5YjY5QS00O3ZVeXBUIUU1KTtac3g8PH5GQVQmWkEKemNjQ0BwPEZ2cipa
e05PTTshJTRZOXNPbHU8THZDcnUyU3NJb2pWVTZUI0laNE58QjxZZClSNHRXY3BXVTwlP3Y4Cnpe
PkY7aCY/JCR1cy1QeWVJT3VCQSY7SUtPZEZkd3hrNCVzbSs7cU1uc3VnMFFNZm1+Ryk3MHsmOTd4
YXE4eWdjOQp6Nkp3JHp1fXZ7SEhVPnVGPG1BTlJhSXMzM1Ijc2RZeWAxV28ocW1fSW9pfSh5RUMq
V0puKWVDeyRxJjN7OFVxfGYKelIwSnQkbnhZaEIyWmhqYURMdmZpN21sKGtIJXdfeGk5ZXBKc0Jt
NnNRdDMwbVY/eEo/LU1gPFB7LUV5TEh3ajVlCnp6dlVsa0dGZ3BJbFNRVDkjJStXVzUpKitrJjhh
KFlIQnR7LVMldSokamRkeVk1e2laamI4VDUtdFVXd0w3JGBZRAp6bmh9Sn0jNEcyRiszVmJoU0lG
K1M3ZDl4UzQrKjByNDVvMzhaUkl1XzdraHZyYklDSTw8PWpfdlVVI2Q1aUBqWHcKeiVoRGB4Kl9t
c1YkQCl9UjJZJGR1VioyLVFYVGZBRzFUaDtleyR6XlNUSjcwP2t7QFAqQzskLX0lb3REPjBZMjll
Cno8WkxmejcmaEVxMCU+ZEE3X3pJPkRLY3gwel9QaSRqbGBveVpRdDE/QkZwTD9jKkVQMyYmfkUp
bytFYnBzQ2ZGPAp6JThKTHkhRUskeC0tfSVuNkI5dCs2Y2lNb0tZPTk/N29NRG54PmMmaG1IWD9H
d2Fody1yMlNDSEV+fkdIMk9zTksKelc1YEcyMjhEWmVrP3tfNVg4Y0wwQihmfH5CfUF9NFVPTyk3
MH5SSGIoVGt+UW5xak82MVcqVHNlc3B3eyh0YG5ICnpCbmdVUGNgIWFQYW9fdTNgfWduUCt1TSNw
T3N4WnI2I0E9MEp+UThTYjx4UDwyeUZHI3JkXzM3I2g2VDEtfSpXKQp6NT81fDduQjJYKlRVWkQo
QSY4Vig2RzY8KjgzP0EmUVJLfXsoamUmJkdYVmF0TGcteGY2N3c+JF96KlBWdXJTal8KenJBS2ll
VCpTYXhHQmk1Wm9YailARGFOb2tGKDwwIWZ5TiQ5aTt1c1lWM25xM3QqQSk0QkV3Nk14QF5jeCYr
PVJZCnpsU0NyTWxUY0ckP3RGZkJzPX1TVTx8VVM8dStTTFRCK0ZMRz4zVXlWK2V7ek5DSnhEZDEt
dkc2bjx6N3QyTGkrcQp6a0lZZzhIb3ArNkZ0dng8VHZzQXZkVVNNVWJ5ZHtzazQ/cHgzaW4kOCho
KmxGTTFtRVYodDJZUGVTSSk8S3dfaDEKejdRbTdUaSF4ZE1TfSNvRVhzJWdZcilpWEMmKDU+MClo
VXspZjRUb1g+VDBzZV9rVTckRUZkNXREfm1tJmNWdWtyCnpnN1ZlTVd1Mm02NThZeE5BZGFyYEsw
RDFuS3JnbitXeERVSTcoRUNOWl9wRUdHNHhYcUNaKG8hVkpoSWhqZns9Ywp6R2NyZ093bCs1JUQp
bmFfSnpsPTcoPHYkX096QjtZWXtlRTlIbEJqUD9sZ0t9XjtTU2Y8IVpRU0A5dj91RlIwclcKekZE
fXU3Q2dKY2xxakA5bCVZbWsmR3w8LWVXK2J9KVpnQUdJejVLbSQ0bX58UmktZm9DanJpUVdKVFBO
UU97SDJsCnpua1k8YnRufEtmTFZ2aXN4Z3BWa2V4TUFvQ0A1Pzw4PUhMMWZ8RWFhbDJib19oUn43
K3NgRGw0Q0E4fCgjUHF9Kwp6ezhkcGAyeiN1M0godlJmZzlFe3xaT1dHflV4d3w0dWg3JEhlcy13
M1BlVFNLRExwLVhYVUZMU3xGKk9HeF5obGoKejUyZ3NMeXtANjVBKFJ2UVhSNW4mTlVXfUV3VzQw
YVlgdndQTE5yTjNUR3R9RCpORnxQVT5Oe3Q3NnlpRCpSfG9hCnpgfGc/VTVEUkdDejt+dFhkJkpo
Wjk0R1dtVHxYQzlYazQxOCUlIWMzQDhWKHYxPjk7Kml3KiZPPU0jcXZOQ2hNfAp6SDMyazhPaWF1
V19uZFJDU3oyMXMoYX58UEYlKE45OENpRGAxNGt4dHZNcDsjJE4la01aZ2lCUCYxdU4pdmQxLUkK
ensrS3BHbDJfUCNkKlB6QitMNSkoQDtqZ2JmTkA0amozJDJte09lVihxK19ZKUFlXzNnRWFoLW9R
PiZrUyRLdHgpCnpUZWhWZzQ9Km4tQD9lPThAaUlxMnVMd1V3T3B3MmppSkVae2dFIS01eDloZ1At
UiR9dSVJY2ZjMXYyM3M3UjdMewp6R2o3T0U4X35NNEBoayQxP096IWwpPV5ZYzZrdkZAIzw3fmlN
cG1xSUdxSjBxe0MkVXxBPlQtdU1IfD9LJDt0UHEKejI+eW5YYXdQZ21pNk1TM2ZqKl5sWVJoYkl7
bXJIIzlaJE95NV88cT95VUtDK09FPTtOVCg4WjEkNWUhNGx7NjZJCnpNRGBjbnR3VDhwRmBjR09B
RXRwZShZZ2BMdyV7VW1KKSZeUFBEbk1WVGBtRikoMkxwVFYzWUhzNXVRaXMtcGd0Mwp6UCRtNztH
SmBJbDx0cF9aZX1JbitWcXt7e0gjUUVUSVFmMz44LUFQQFJPWG9kWipmLWc7NzBkWSNMMkQqZFFk
MXwKekBrMGYzOCFkK1RwKSl8WTNpc3x6NkpoJFliWl5zYmolN0s/U0dkezZ5cC1JWT9yd2pDZ3h9
ZjhAbTdOZ1VtYDhaCnpVRGFLJGRjZVpjKGs8eHpLKDxVOUYwJHNIKU8qQ3pRZz5POVl8OEoxUT1l
SHxoeUR3Zjl0YTQkPkF9NDF1bW1iNAp6QV8hQXlpQHhAPllHVCYkO0d4TnBXfklMVCQxbWclUSVz
fmp8Skk+Zk5KZDBZK2xpUDFxWDx3WUxtTXExMXdvOS0Kel9NIUtvY1JHXlUkSCVBMXZ+UEwwYj42
OE9ZYm1II0kmIzcwJE1TQURadyVPK24zJGs9ZSk+cVlKaCszUGVqOXt1CnpXYlBeO3tufkpgOTB6
LVpgU2EoY3h3Zms9T25kOVB5dXlObGJOazJsI2wjQG8wQlEhJWRSRzNNZmg5UntxdnpmPAp6YXh9
dXlNTT9JO1UmNzFmQFQja08qYipqMC1wVSgrLVJBY0hhayN0dUN8IUpQWGVpajU+OVZXSGNZRVE7
YWRmP0wKejE3c1ZXbyNkKn14KHI4P2M5cHJne3smVmMyQUR6fV57Izc/a2QqNFp4TSNVOD9+azR5
X1F2S21nPWBKSTFrVHRuCnpCPkZnfHF1Z3tOeSZUOys1SDA2U0VNaz88eTI5OG40T1Z8LWMkalFI
TTVTfXBnQFllUnI/Q2o2ZUcmPEVTZ1NkSQp6e1U2UEc8TVdtNTc7c3gpXk9QKW9lQ2l0LSZKVDl4
XlZISnBzd05KLWpjSkpUUlZ2MWFlNUk1e0A3fm8kQT5pPE4KemN6Q3E2PnBnY2RJaHhXTmw7N3xj
R0lfZ0RwV2JURyRJSEtOYGtTYHB0JDZQIzI2PFdMdnk/RjlEM25Jdjx3aHBlCnpLYGJpcEZAYVlJ
UVpGSEBaVHxWITlURyNVPzB6WTIzbDkkbGJydig9UChac3k9TmVOMUFpRXVLJGlYdH41YTNOdQp6
WkBHd1JrUCtAfUkqUjswSlpXcmZvUzkrNjI+PTdHdCp6Q1R6PTI4WlByZ3Vrc3YkXl9vUyhYM15J
PDU2cXtoQmQKemdUcXtqUylhO2BpanRDOSsoUkg8SVVwNTYzYihwP3tvKmhCdy1VUkVfY204b0pz
MERqZF49Zz5ocDNSMzkkKVYwCnpfO35rRlR4MVZxNVYlKX1HNndTPXY1R2oodG5fQ3ElezcqQytP
eSVYfEJeKmNlVWMjUXgrd18oMGZGMU1vekJtRQp6PlpVKnlGWVheVnV8TlJoQzw0YUBhNWwyV1cl
VmQtZGkxQnF7S2Q+cSo1d2p4UWtvQkMyVlF5Zk8td3speHd5STIKelBDMHk0TGVnMVNTYiQ9QXh6
bD4oKVlxPi0zd1NleTU7Z0IhMTVSO3hjbythO3xKIzBqTEJhS2c+ODsmRXNZNWQlCnpCT3t+eXM8
JDZpNkJaJSlAKGB5PUZJUHZjdWRsbmZ5ODNLOUhNej5qRDl0Jnl3PkJidW9pU3dBdCoqYnMlJlBD
JQp6XnZUamFib0BsaGMkVV57ZjNxWjJ8NW8kYzI9ZS1heGt3MUhOPW1SeVJrZ01IRDFAPV47b0BA
b085eWp2Zn5TbUIKenAmKFByYlglT2tiZTRLQS1VUFdgU21eTlZTPGpDajFpQ0BAMjwhPHk8TCQ9
TzhmRXVgVWNZKHNDVWdgKU1Ua2JSCno0aU05JE40PGFrZTRnSFZxUDtnQ0JZOEhfYUI1JlFxTEpy
VlYrZy12IXVgVlJZN35pZEBpRTQoZzhkQzFJZ1hiTAp6RSNxITIha21seCl0IThZd35MUkw3bWpU
Xl89PlRrU1FfWTFJQlNxU3EqVG1PR2l1eSNTR01yRVZ3SDJDNTwhUl4KemY0fS0xOXtiZGtrJSlG
Mm9zfEN2dlNMJnhOU1YjZSV+SFM5SDdLTmpxJHFgS3prXlVlRzg9TjBmMHt1Wl5AXyYtCnpAKmw3
SV9LZEtCYSh7Zn1EfFBNKGBGMWtneH0ycStQVFlyeXNeXmhkNXBpKkdRQmhHNWsrOUU2XlZMSGBM
eHowJgp6JUBxN15TWStefDxUYiNeNHYmbW5xZipTIzRBNmNscDYoJFk/THx2TSMzM2B7YHRoTWVo
S1ozO3oxUUJhc0hedisKemNIYiQzI3c5Z1RQTnd8NncxZzMwQElHOGpqQTUxQi0wfD5WclFNen0r
UTBiNT54ZUBhS1ZhaDFwWlpVe2tARGtYCnpXN3B7O2VIJGR7QmtfNGExMiMxXnh6JENQMmJlTEtg
ViZkN3RnbkNkSkNfanFfRE1IOEl+I1E/a1F+YDdXMVBgcAp6c2ltISZIJnwzdTFjclRqYSp+O3Vg
Sit3fEQyQT41SXp2QTFKMllnT0chaFV+e2AjKX45IVYzUWxEITQqMlZvMVkKemV3JktyRHs/ZXcj
UHpxZ3I2THl+SyFjXz5rM2U9VUktbVlkWT1CNWN4e0ZHa0I5TEBKMlRaJEJFeiNGNldufT5aCnpW
VE96PzsmdzN4MV9zY3duZ3c3ajlqWlZfeWpRYXBYQ2R7S2lWT2NyUztVVlg3Iy1DV1ZPQnV3Yy0y
JGxHSDxfWAp6cF5tXyslPFRIQGBBZndTQGkxVlZVVj9aamJgPFliPGUpVmdrdiFTUEooNHtBMUx5
LVdESGVyWWc1PDRZJSlVVVkKemAzOVZEIz5vTj85O3p7RGAqejxiNUlRZUM7MlFtdkUyU240QzJM
fUstMmgmdXJsdXx+PztMO2VCfGIjNzB4fWxDCnpuTFFDPWxEREpzQFcwK0BeY1dOT2J6MFhfKy1V
TlMzTFI0Y2sxPDtxIzAwMTcpez16VT58X01HO2EhUlJGKT1acgp6R0ZnXl98QTZfM1NMMkNQZn1f
YUV2ZnRUcXhaR1VuKntAUD4zMDdYbGFwUiZQYnU0SWtjLXFGTFJTXjM/UEJLM34KejU0T2cqYmlY
dEhYMFBQQXhEdWgleGxDNShuaXc7JEdBR1BBdn5DMT1tZ30+czRqJHYzTXFWKSRRPXpwWFZVYzhA
CnpHX0xuQHdZOXlGeWEwa3tiRSojRmhwU1FGbzEyP0tMJGpTSVdDeSYqNko8fVMyOSpLMjF0LVRy
OGAoPDZPIXpUcQp6RWo9fldMZUlfN1FHaDg1TGh6bWN6bzJsPl9lez1SUTN6K1RHemVsWEVJN2Vs
MSZ+WmlaPDZxWXt6cHc0KEVqPnYKeklgPkJTY1leaWlpbnNjZ2FSTHc7fDUrWFV8R04lPFRZYmBv
NzxqfCZgMUlgWCZAJSFuYWR1ejw7NUkhP29kbkxICnplfGs2MT88akJVPitUUWVGSlNQN0ZKSngr
OCQ1UyliSklqe3EzS28jSzZfSkJRQUo+cmx5aSp6UEYqZFJfY3h+PQp6Qk5sdGwpX1otb19JKnE5
QF5+UGxramQpcipGZVdmTWFxMm5AVT5VQlR+UjQ2Nyl5d2IjZ00wdE8laFZTSXdQRDYKeiV2fVpT
XkBEXjs+SDNNVXEtSnFQTStmK3RuaXxgUnZDaFRjI1JnU3h2PntNKTV0e35aNGFHSDt1ZSYhSzgl
NTlpCnpwNnpDd1BmZWQxSiU3RmhwI2w2SjI/PmRAKkQ5QVpPKkcyYHVwO1ZqVU83WWwpNWl0RmdN
T08+P3tCZk93OSsoPAp6TkJFYDlMTX5reEFgZm1sViFoQFVjUUNUbFI+SmFeSmMyMjdLQUBDRW0/
Zk1TK1FIPy1qWFIybk9HdjBPOXJrZ0IKeilQe3wkSiVJbkc7USM3KV52OU5sUldYe20teFVidjRD
O2prQ2pkQS1lZkdFTmUyKUxqK3wlPXJeP1pqX0hqQyFICnpzMD5BZHQmN1gmcU4xRGhrJGUwNWAr
eHBhUGRSKVBkRWExVyViajs/TlpRO1RBd1R4aFl3WkBEWGdlamxDZj0zYgp6Kz9fRk9sYHNSU2Re
I2VoTDZwYCVIM2VHZVEkPEQ0dSRzSV5wWkx4cXp1KTE+O1Z6SGJgPDJiaisjV2toXl9AdW0Kelpg
RUpFeEI7X1J2XylHOUNXRXgyeW0qbkEwQUl2ZDEyTFE2PF9AOWJSYD9+Sj9gPkAkVXVOYGFTSX48
fmpPbnp5CnpwVEFRfkpVPzR7OT04ejBQXyhnMUYtJjwoRkhkYFV0NUBRZnZaMHdKN2gqaTQ1emJn
TFVsfFE4Y3JHQzJgbStfSwp6bGpwan4lJUtBYzMpTklxUk1nYXJZaDRPLWRESEteSjZLdkdRK3E7
VyprUXRVNWNTSXhOaGVMeSU+MVNqRTJpe3UKel5aWSYxYkdOe1U0fCF0JSErQ1FkeTJLJSQmeURF
TS1Ab1oldURfcmNVPFJVNyNQdF5LZzIqcV89Y1VLWjNUIVdjCnokZCQrbHkkYVo3JHxkYjRyVHAm
XkdsbUBjb299NTdPYVRxSEpvZihxdjRvUD5fd3w2bFlqaVJRc34wa2syNj5xVgp6VndKanFRKC1i
JnIwTk9KUVZrLU5tYXVETGNzQGMqKkh+RV8wOGl5TFl8TThLVkg1XilpQFR7a2tOXn5EMzg/fUsK
ekNpMHNvM3tySCpuPGFyRmttSS13YW9SI1Z0LU1BXlh6MFgtbj5ZJiRXSVUhPFUyYTZnREl2alhO
WDw0am5SPTtQCnpiVCVJdWE5UWUoOEAwRV9WV042dFMjWFV6NDQ2YlI3czY3WXpBKChZV2M8RnE2
V150NyN5P3VpeU41TTNxRSE9OQp6Z00qakM8PSZ2YSZwVzlPbVhFQ3UzPUR3NXF7Sk56U0FEeDIq
fiVqNmAqRjwrJH5RLUlibzR7dkZKUVIwSmRhQEoKekFyaWZ8eksoUiZ3JmFtfURCYVNSej5VUE1Q
bkReOF99eSF8QlNEQE9MaUNzcEduMWtJN3RRP15BPHRnNEIoZSMzCnp3ZFpBJnUoLVMybipwI2hT
QFF5SHptKyllYExBRVVQRU5qI3RvaUg+SiEkd2BTJkR4UHFHekUxMElCJXAhJGNFYgp6bWA1eC1p
fmNGdTdNfShnQmMzRmImclQ5Sik4RzlKfDZUQkxtNzI5Kjk5aFQqSWtZJFJ2clV6V3twUUA7cmFD
TSEKekpQN2paNWdjZ0U/RWFOc3p2ZXVCSnc1ZGh0cj0mM14xI2xsdUMzd25naX4qXiNRNlIwO0Js
KXZvcFBUKD9SQGdCCnp5YjVBIWVUakBtSWh0QU9EfWJyU3JTfSpwQXJXKmBAMzdQeXswIW1BO0dr
P187d01rN0NgZzhHTTZUcGoqME5GIwp6e2NeUVEhQnBuJER8dyM8Nm52TW5iO2BuVih+dj03ejxk
bXswJFpsdmFreylmV3h5KiVMdFpCYlBHQ01wKSp4RVYKej16WE4zYTxaWiokOzg2S20pSz1Qallp
U3x6M3AjSkU4ZX1aZnJYMUV6JnNYbSFSbmZ0YTRNR1FjfVJVSHNifDxUCnpgTTxFVW02K1N0al9H
NT5yI2hQVFo+SjlsN1NEWlFzLTUyQU4wNmgyZ1A1Z3s7OF49STElIXBjcHBnZVJAQWdXOQp6RUM8
MDBORERDNC1tV0I9Pns0VHhxcSh9Jmxsc3IlOVglN2EyPkRNQjUwQmQ4LSE0RVpqNSE+dCtVOXEo
WmQ2dVIKej5sU0YwbV4xKD1PRy0jaztpVHlaSkZFMUlZWXE4UzJPSFUmPFd9P1FKZmlYQEdJaXMm
YFZ5WGZTU2ExJkpZbChYCnpKbVBtYzt2IX1ReEJUKkB3MVIyQ0hMQTlvckMkZmUjdHY4V0c5WnBW
K1lYaEtKQ34lbF42QCFzM0wtcn1aYUJYZwp6RipoKGtoai1FUmwxclh1Zmo2OF5eJF42Y3EkREpM
KWwyKXdGY2BKY2dPcFVEJT9UQzdoV25oZGM8JExSKVQ0anQKeiglSylUbE1sQ2dDYm1vNT5VXnhN
aEBadH5zZ3JmUlBXdUZRVip2ajYpNWBJZG1SRzA8NyF5Syowbmk4JE4/MU0yCno7PXJuank7ITBv
c0R9fEshMypYcCRRSXhzUmFHdFRje1FCdm1HKlhiT1MhPTR5UV5oakFQenppSVN2fl5MZUBpaAp6
Oz9Id35LRmN6SzdEYX58bjJGWHFveUJXbnlldTBtcm1+PllUI1RtMiRBMUJLKD9fMTRQTT0+M20h
cmd1aipwOVoKell8bUl7Xz5nPUlvdHE2SEJuXmArOGQ9bDV0MT1JJDZVSztnJkZxOD9mWndeTTB0
WWB8WmklTS03JV9mWFR2MmdKCno/cSQmc2hsKiUmdjM1dkhRMjdWTkBOIz9DdG59ekYzbnRyJCRC
IVIzZlJ+V2dSITM7X0NDWDswKkJKaHNuZ1hpPgp6Zmh9QS1DQVlZPXc1IXxAUFFjNUhBVjh8I18p
Kl5Bc0JQR3Y3JVdQUXwzKkNJTGZ3bmJwbkZFMkZGQV85UCo5bEsKemc3aGFlY2Q3NSpPPkoheDtN
MGNibjNLXlB2VUFzcGFrPWRZN1gpdnZ0P3tlVHlgdCZlMSskaXRsbXhkRmtaVCgqCnpOMSkhY3cm
ITRQNTVoQWdfZUlWNy1lbjZ0O1dSWl5mJXhobXp8ZUFyd0NCVFQ/e2xjcWEzJklmdE9rcnc2RWl+
eQp6e3Vzb0VNQUV1P2RlU1dePkZKO3gxS0J8TlRjMVFaWX1ScVN7ZH5IKWJ5bmk9VyNvMjNeITBN
JFd7a3RQKT9LaXMKelYkRT0/MXpQJGhDV2BtUFErKWxXVypPR3FVUEAkOy1VfUdFdXp3fEVkcnw0
NDhyPnEzSUREWFdQI1FyJkZlOVFnCnpxR0U2dE8jYlMhOGl6JllYa0wkM1gyMFlqbWlFYXk+PD1U
bTQ8R3R+VmM8eUdue3FYZEdlVEpkITQlcWA/dFpYcwp6cms3QXZSUnpoOFNeZG1eNDcrZGVpSloo
d2haXypgdnI3MGxgfCFya0Z4UDtwUHt7NjZoO3VaWmxgMEN2S1N9Z0UKek9ndWIxZ2xBWDs0RVZ+
NHBkajBiUCYhQDNuemh3e1hQMSk5bzctT0kxJnpgX2lJODlnKTNXTiVwRmZ3Q04kVS1+CnpQI3No
K2xLVzQoc3JNSS08fXxaTkRmUihOWih9MiNUWjM0ZFQ2ZjBuTjRHe05DVzF+TSMoaDlfWmZeMSE/
IyNgWgp6YH12KjJKUCNWSUtMIUxNM2AobUhlS0lrc0NFPUokYW5aPTBNcDw+RXw5Kmp2UWREZSVZ
NXFTa3pQckBaYUcyVXEKenBpQC1Obns3c0dyUERMe3FTem9zcylKJCQ3RGJmNCZBSjlTSEAwQVpE
aCYjP0llYEolajsrKkpyNkYxdXNyNVpRCnowJjFBc0lxMilfZ1poUjEwYldxPEZ6dU1kITwqQTkh
VWRsYntsTHJSa3x5P0xiLSs5M2YqQHtVPEx7dyZyVTkoVwp6O0FUPHVrdio3OHNhcUY1VEohcEZa
Nzx7I0ckbEVPNUY5bUhWPXl2VlpfTH48WipFekd5YW5XMGItQFRTK0dpbnkKekNWJjFeTCgoUGs4
QVpyKEsoI351MD02dSYpZnsjaT5mMWokakFkaEBab1NKe1pTX2JJeXhtPVJjUl5URV4xTEdCCnpe
cklta0kwTG11azY8Y0V2X2RwSDg8YEBMezlxRlhuWjw1NGl0cGRRS1JNZlBWMnh9STh5ZEEyZXVv
LWQ2PUV7Zgp6cHM9WiR1KDUpe2l3JjlMMms8cUEtZS1Va2Zvdip8OSlaTUVRJmFvOXpoOG1PRGdP
fnJ7KVd2X3ZMKTt5NHNZVXUKemYjVDVXVHF7STNnSW9LNjdMYk82cEZqK0pgRUswRllae2N3VVo7
ZF9nMjc7WmBXfGxwYXxVdHtAWihlYj1qITkrCnpNQy19dVl0eGZuUnp2Y1lAPGJLNUw1TkI2e0lJ
dHZSVzRpT2QqfFMrJSZrezY7PV87N2RMKnhIYXhgbVBSdEZTVwp6ZVRhbXd5KEchOWU+Y1lhVCl0
c0pQZT5KKEJYOXlVdUhWMFpLYnhVR24qbWwkTy09MSVvNiojQGhkMjJnM2skRykKeiNKaTRQcG1P
UDQ/bG1oSlQ2P0gxaFNqOWI/T0RlNFB+U0BoT2lTJDdrUWpZaW1ZSU5Ab0UkSkNDZn5kbkhPaHdV
CnpxR0RwUUopKH4hPSk/WmhgeVU0bGFNJStPO09pd0VBME1CdSNHSXxIazUlaz5VODd8VS1+cDMm
T0ZDaWs9fTN0Tgp6QX49UFZzUlNDLWtacF9+dnY/aTklYilhX0BXaCFmejluNH1eN0BDXkFJZDY4
Vyg9U29nS0RBWllpb35JYFo/RjwKekxrdmlocTd8fmkkJCtEVyZTYStBK1NtWURxJU1KeXNoVzZ9
Kml7S1ZTVyZTJWBKKHB9eFlCRGpfKTZoV1ZQVDxmCnpMeFgtWHc4bzV0PmZuaipjYChKNXo2VzlR
aWtzJDFGQiNERUdOfklFOXFuek5qOVRCcHZ0cW1MZiV0ZkQ+OXVLYQp6U2BkdVZlZX5jOzQ8QTBQ
Rilabn5YPjZVKE1LeSVyV31rYntVb0Y7SVlZelQ1PW0xTTNAMll9X3BLSGsxdXMzV1YKei1zYHVV
SXhRIVBjZEh5R0NwVHFteUpzQ0M4akYhUUI2RE87ZV9kXjMhK1lVKE9EN3JZdkZJRnJQLTlBN15f
dkNSCnpkJWJEfHQ0VF5vMFFpNXJeNkFyP3UwezNFOzhNPUMyTGU2YFIoWkwoMU9hJllRODAyKTs/
QyZKZWtVbWB7MTtNLQp6Mj8hcmQ3NWJ1PV9tNj14VlkhQmxoVjNlflpPWWs5NU90ck0tSk9aJHlT
dGYwQDl1U3dBbX1FRmBfbCNXc0Q/MnQKelNXOHQybiZeaSluIT41Xzw7VUJ6eFo+aGxybEA/T2Vu
KFZSNH43c2BJJUVmZHxIanNxPGNwPGxhNDk4KkhOV0JVCnpZaWszQHtFS19zcit3VT1vI31qdXJ2
eWQqYChSdn1KeEpnVihGazxGUj5RZShmZm1QaEZxeXdVPkcrNTdeblFiPAp6K3QhUi1Wfm82QTFt
MExmZThieDY+Z3dgeGZ9XkJLR0FoLSg/aU9XQiMldUB+UV59UTJfaDBeOWhqakUxRDI8Q1EKemU5
TD9KS0cqfU9eJkhMYytZZlg4enNASkcoZkFiTil6WG5qa2NgJldfd0w9aCVfdzRiVjZBJSV8TFNN
MSoxWWEwCnokNDlRe3hGQGcyejZJNWYhcVNZY2t4XlB8RGxQJSNWKUkpKENXO1Y9clNUYFJrRnc2
PiFjKk9XYzIhZTVUUW9XMgp6c3dHcTMzMypGJkImKXwlNmw4XyV7YEhgaT03S25xSHRmP3BRNW5x
ditMYHZkJXIoaE1HLTZyZiF7RGs0X2x3Z2IKelNidT8rPm5tNXBmVjU/blV6RiloKU4ze30yJSlH
IzM4QElMVlQ/PCFxKGpnaFl0RWZ5VzlyalEtY0s8ZWZTJWo+CnpeWEN0MmlCVFpwSX5jWDlaRld+
fjE+UTVlRlBEKU9yfldiXzNDcjhIPmYhfTY2OSkkZSRsV1h+Mj1gQGJOYlZuKgp6dHN2eEtyXkBB
NGVqJDBnT2xteF9VSUkpcyZTcUs5WDJJUnltQzRHPT9zJEF2TkFkRldnVnVzb0d3YEZhdjlhbz8K
enwzQyEwWTRsOUtacm5aRG41YXRhUyg/UiMhZkohUk5XZnM1a2dCWTNXWWsqd3JPZilVX2hkMlpt
aitKQjt4UVU7CnpeJGlSTnlYNGQrKkBKMX5XTEs2amNNZzdmKWtoPW5OcWN5Mi1HYmMkdEJOdG52
dzJCaHAhNGFpVVEwbyQmPitWUgp6LUFFVSkoKy17dDFiSHkqRlpUQzRMQ0Moa1lNYzI+aXA+Iypr
byFNaEs4SENvZVBxKkJYZTFTR1R5bSZgblpPS2IKenxGRUl+Nn5UUD52KTNVdHYrPXBNXmI9IU91
M1h1Z1pmR2JraHNsaWdGMFd8WnU/RHYhJFFAP04mRkJRbj09cmI0CnpUbGNyVi1ubzR7JVhhK2E8
WWNQTzlVc30oQ3koZ0hZJSlwalVFVE92PHVHKj1iQUNYTEslVithaVd3bCRvdEE9Vwp6WD15Y3ZS
QT1acms5XnA1SXxXaj1YIU55VFJOVmQ8eDs0NkFALUxBWjlaa3h9Zkx1ekJ1VUdIS0pHU1R+SGVJ
fFkKejt1bXlkdT15e1JmMUoqY08wS018SyMmTkA3enIqKTQmUkZNaGo8NWQwRUA+KFduelpjbXRo
TXNVWVlvRWRScDJ3Cno1Mk1kIXhMeTNLOUNFVDlJfSRxaCp4YTZxWWlKaXMkK0xyYkwlemZnJVJZ
Jm9CJVhZbDtlfSliXmJSZ0R2eGQ7Kgp6XyNlbFIyZ0FIK2tpbmFRUE9WWUBeUWdzSlVLKHlJbWl5
fChJPmdmY3pkIX0mWUYtYTlnR0J7aFJ0OSN2OCoqN1IKeldnQCN1dlhlQSNUTXtsJXpJSEp4Z05t
MjNZfTI2bWtYdytQczxfUzF7IVp5RE9qMV9aek49fHhIYkF7WDB5OExkCnpGJSV1MCohYilNYnps
SD9nZ0c/M2s/bEAkX3JEPTJCTkBAbV9XJXJJI2U+KDU0cEl2PSpTKDNaVitWd3l1NHg+UAp6Izs+
cVElTl9gU0JEMW5KPFFObDZjI0coYlcpPnlyZSpqYW5qSS00WWlObDNVJW8tc35jZjdmKTYlY05q
V1JfMmIKemR2YEBCVjZrTDJeVldPOG9IYTR3QEJ0eEolMllXP0ktZFRidGR5NnQ/WGp0cnZQP0p1
ZGpTVHlLMkV5OXAydmtACnpDUlYpaG1eWkBfKmYqQlR1JnFTWDleLWQxP3t7M35fb0J2N2ZXK2x5
VkU2PSZlKXBqRSZHP0FrV2YoV1o7dTk3ewp6dW4pXjBHRmRZXzkmZHVwczdibVJYdm5GaUp5T25j
ZCNFbT9kVHcpTHFKdkVTLVlnMkU0Ky1ZfnVqaU16MU81PXQKekE3bUtHd2lYc3VZZ29kbTgxMlpN
KnRIMGQ7elM0RDhEPyReUUFxU0JiY0BmNz9KSEtBRkRzOGpBcm87U0FfJFA8CnpmY0M7YUJndFkm
YkZhUzQjdit3N3ZleFA7cllrWVlUdkJQc1hDWWZzU2F8I244S0NxSUVyaWRnWF83eVMmdCpZVwp6
VGF2eDslMVRkKmh7bTw3dFlka1gtOGtEbXFBX2EyLVNMI1MzJWRhRXtBS2NCZmd1PThQZnRWVCh+
JD8kXnVienkKekgtRCRWQ2x3ZDcqO2tCJEd5MjZrZTJLRnF1YEt1eldnbXs7bXU+JEYkemdsdzY3
PU89KUVvNXR3dyZYX3NKI004CnpBIzx8NnpGcjkjYylBZmJrOXJrQUJqejtNMCMtXjtSNVpLOz87
JTc3aTtJaVhVXk51NE5kOHMwdnQkLTl5ZU8+Rgp6SVUjVnJ2O0RwJFhQZC1pOFB5YXlwMytwQEJ4
M3FAY1I2KXVEWGM7O3g0fDFCVm99alJrYlRmRVBVeH17ZGZ6a3gKeitjVW5XWWJLSVRiNDI8JnM5
aEhnMjJzSzE8S25LTEg0OTkwV18pUjBrdWhaUWhUNTQyNiZEdTVsQ3lQRD0waWVOCnorZXxlVkJr
UFdqQU14PDBxRXNlNGo8bUduNCMpeXdTYl9IPFJKTD1gUz56akkoNil6b2wpXmoraHZ5QmFmNGpS
Vwp6fEwkdkl7ME5iPCYzTEFFdXolI1ghUXs9XjxePHd6KSlELUZpPiEkQ3hIIVkqRVY4UD1XbTFP
NWA7SWNnc1Q7ZHoKekcoN2BAMVROLUw7X3Fzbk19OWladjs9RUlRfF4wIVZ9JUR6RXBkUj9xWVQ+
NmZzR3t3dH1AWkViRzBHTW1Qd2V5CnpnOEhmazJoNEIoc0VmbXskKFgkYFE8UyswRDNPbWZzemlT
MUZfT091PlFeanVpVWJ+WDJma0MjJjFiY2BLQmVjSAp6PGRxV00lNGYpYzdHUXc9Z2I9ZkJhbGZO
S3RGWjlfK0htWHFZJTl8ZXFWZGc1Mj8jU0YrXztEdjlVRShzYzh0TEsKejZHPVVNSj57U25TRnEt
bC00OSMzWDBSLVAwd0Z4ZzhRPkJsZTFZa2VqaXBqOzNFPlNrOGRMVzE0WXc/SDBoUF89CmFiMyg0
KF9ac2ErRCkoVlk5fWd8QkNSWlkzOHUmamwjXzdOUwoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvaW5zcGVjdG9yL2F1ZGl0cy9zZXQtY29va2llLWhlYWRlci1hdWRpdC1uby1m
YWxzZS1wb3NpdGl2ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3Bl
Y3Rvci9hdWRpdHMvc2V0LWNvb2tpZS1oZWFkZXItYXVkaXQtbm8tZmFsc2UtcG9zaXRpdmUtZXhw
ZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwOWY5NmY4N2EwZjQ1NjNk
OWQ1MDliMzE1NzRjMWUwNjhkNmU5ZTg5Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2F1ZGl0cy9z
ZXQtY29va2llLWhlYWRlci1hdWRpdC1uby1mYWxzZS1wb3NpdGl2ZS1leHBlY3RlZC50eHQKKysr
IC9kZXYvbnVsbApAQCAtMSw0ICswLDAgQEAKLVRlc3RzIHRoZXJlIGlzIG5vIGZhbHNlIHBvc2l0
aXZlIFNldC1Db29raWUgYXVkaXQgZXJyb3IuIAotUGFnZSByZWxvYWRlZC4KLVN1Y2Nlc3MsIG5v
IFNldC1Db29raWUgaGVhZGVycyBmb3VuZC4KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9pbnNwZWN0b3IvYXVkaXRzL3NldC1jb29raWUtaGVhZGVyLWF1ZGl0LW5vLWZhbHNl
LXBvc2l0aXZlLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9hdWRpdHMv
c2V0LWNvb2tpZS1oZWFkZXItYXVkaXQtbm8tZmFsc2UtcG9zaXRpdmUuaHRtbApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMzc0NjgyOTY2NWVmZDk2ZGVjMGFmZmM4MmUxZDIzNjM3YzYw
YWZjNS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9hdWRpdHMvc2V0LWNvb2tpZS1oZWFkZXItYXVk
aXQtbm8tZmFsc2UtcG9zaXRpdmUuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDI1ICswLDAgQEAK
LTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vaW5zcGVjdG9yLXRlc3QuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdD4KLXZhciB0ZXN0ID0gZnVuY3Rpb24oKQotewotICAgIEluc3BlY3RvclRl
c3QucmVsb2FkUGFnZShzdGVwMSk7Ci0KLSAgICBmdW5jdGlvbiBzdGVwMSgpCi0gICAgewotICAg
ICAgICBXZWJJbnNwZWN0b3Iuc2hvd1BhbmVsKCJuZXR3b3JrIik7Ci0gICAgICAgIHZhciByZXF1
ZXN0cyA9IFdlYkluc3BlY3Rvci5wYW5lbHMubmV0d29yay5yZXF1ZXN0czsKLSAgICAgICAgZm9y
ICh2YXIgaSA9IDA7IGkgPCByZXF1ZXN0cy5sZW5ndGg7ICsraSkKLSAgICAgICAgICAgIEluc3Bl
Y3RvclRlc3QuYXNzZXJ0VHJ1ZShyZXF1ZXN0c1tpXS5yZXNwb25zZUhlYWRlclZhbHVlKCJTZXQt
Q29va2llIikgPT09IHVuZGVmaW5lZCk7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0
KCJTdWNjZXNzLCBubyBTZXQtQ29va2llIGhlYWRlcnMgZm91bmQuIik7Ci0gICAgICAgIEluc3Bl
Y3RvclRlc3QuY29tcGxldGVUZXN0KCk7Ci0gICAgfQotfQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08
Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci1UZXN0cyB0aGVyZSBpcyBubyBmYWxzZSBwb3NpdGl2
ZSBTZXQtQ29va2llIGF1ZGl0IGVycm9yLgotPGltZyBzcmM9InJlc291cmNlcy9hYmUucG5nIj4K
LTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5z
cGVjdG9yL2NoYW5nZS1pZnJhbWUtc3JjLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvaW5zcGVjdG9yL2NoYW5nZS1pZnJhbWUtc3JjLWV4cGVjdGVkLnR4dApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggZDgwMjJhMzYzZDlhNjg3NGMyZWZhZTgyZjY5MjY3OWFkODNm
M2EyMS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9jaGFuZ2UtaWZyYW1lLXNyYy1leHBlY3RlZC50
eHQKKysrIC9kZXYvbnVsbApAQCAtMSw0ICswLDAgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSA2
OiBJRlJBTUUgSE9TVDogMTI3LjAuMC4xOjgwMDAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSA2OiBJ
RlJBTUUgSE9TVDogbG9jYWxob3N0OjgwMDAKLQotVGVzdHMgdGhhdCBFbGVtZW50cyBwYW5lbCBh
bGxvd3MgdG8gY2hhbmdlIHNyYyBhdHRyaWJ1dGUgb24gaWZyYW1lcyBpbnNpZGUgaW5zcGVjdGVk
IHBhZ2UuIFNlZSBidWcgNDEzNTAuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2luc3BlY3Rvci9jaGFuZ2UtaWZyYW1lLXNyYy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9pbnNwZWN0b3IvY2hhbmdlLWlmcmFtZS1zcmMuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggOTRjMDdiMGUxNjJlYjNlYWNhYWM4NGNhNTdjYmYwOGM2NzNkOGE1ZC4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2luc3BlY3Rvci9jaGFuZ2UtaWZyYW1lLXNyYy5odG1sCisrKyAvZGV2L251bGwKQEAg
LTEsNDMgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTx0aXRsZT5DaGFuZ2UgaW5zcGVjdGVkIGlm
cmFtZSdzICJzcmMiIGF0dHJpYnV0ZS48L3RpdGxlPgotPHNjcmlwdCBzcmM9Imluc3BlY3Rvci10
ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJlbGVtZW50cy10ZXN0LmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQ+Ci0KLXZhciBvbklGcmFtZUxvYWRDYWxsZWQgPSBmYWxzZTsKLWZ1bmN0aW9u
IG9uSUZyYW1lTG9hZCgpCi17Ci0gICAgaWYgKG9uSUZyYW1lTG9hZENhbGxlZCkKLSAgICAgICAg
cmV0dXJuOwotICAgIG9uSUZyYW1lTG9hZENhbGxlZCA9IHRydWU7Ci0gICAgcnVuVGVzdCgpOwot
fQotCi1mdW5jdGlvbiB0ZXN0KCkKLXsKLSAgICBJbnNwZWN0b3JUZXN0Lm5vZGVXaXRoSWQoInJl
Y2VpdmVyIiwgc3RlcDEpOwotCi0gICAgZnVuY3Rpb24gc3RlcDEobm9kZSkKLSAgICB7Ci0gICAg
ICAgIG5vZGUuc2V0QXR0cmlidXRlKCJzcmMiLCAic3JjPVwiaHR0cDovL2xvY2FsaG9zdDo4MDAw
L2luc3BlY3Rvci9yZXNvdXJjZXMvaWZyYW1lLWZyb20tZGlmZmVyZW50LWRvbWFpbi1kYXRhLmh0
bWxcIiIpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZENvbnNvbGVTbmlmZmVyKHN0ZXAyKTsK
LSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwMigpCi0gICAgewotICAgICAgICBJbnNwZWN0b3JU
ZXN0LmNvbXBsZXRlVGVzdCgpOwotICAgIH0KLX0KLQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9k
eT4KLSAgICA8aWZyYW1lIHNyYz0icmVzb3VyY2VzL2lmcmFtZS1mcm9tLWRpZmZlcmVudC1kb21h
aW4tZGF0YS5odG1sIiBpZD0icmVjZWl2ZXIiIG9ubG9hZD0ib25JRnJhbWVMb2FkKCkiPjwvaWZy
YW1lPgotICAgIDxwPgotICAgIFRlc3RzIHRoYXQgRWxlbWVudHMgcGFuZWwgYWxsb3dzIHRvIGNo
YW5nZSBzcmMgYXR0cmlidXRlIG9uIGlmcmFtZXMKLSAgICBpbnNpZGUgaW5zcGVjdGVkIHBhZ2Uu
Ci0gICAgU2VlIDxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD00MTM1MCI+YnVnIDQxMzUwPC9hPi4KLSAgICA8L3A+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9jb21waWxlci1zY3JpcHQt
bWFwcGluZy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9j
b21waWxlci1zY3JpcHQtbWFwcGluZy1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDZjMmJjOTgwZmNjOWU5Mjk3NzNmZDk5YmI1ZDEzZDE3Yzg1ZmRiNDIuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9pbnNwZWN0b3IvY29tcGlsZXItc2NyaXB0LW1hcHBpbmctZXhwZWN0ZWQudHh0Cisr
KyAvZGV2L251bGwKQEAgLTEsNzcgKzAsMCBAQAotVGVzdHMgU291cmNlTWFwIGFuZCBDb21waWxl
clNjcmlwdE1hcHBpbmcuCi0KLQotUnVubmluZzogdGVzdFNpbXBsZU1hcAotZXhhbXBsZS5qcyA9
PT0gZXhhbXBsZS5qcwotMCA9PT0gMAotOSA9PT0gOQotZXhhbXBsZS5qcyA9PT0gZXhhbXBsZS5q
cwotMCA9PT0gMAotMTMgPT09IDEzCi1leGFtcGxlLmpzID09PSBleGFtcGxlLmpzCi0wID09PSAw
Ci0yNSA9PT0gMjUKLWV4YW1wbGUuanMgPT09IGV4YW1wbGUuanMKLTIgPT09IDIKLTQgPT09IDQK
LWV4YW1wbGUuanMgPT09IGV4YW1wbGUuanMKLTIgPT09IDIKLTExID09PSAxMQotZXhhbXBsZS5q
cyA9PT0gZXhhbXBsZS5qcwotMiA9PT0gMgotMjQgPT09IDI0Ci0wID09PSAwCi0wID09PSAwCi0w
ID09PSAwCi0xNyA9PT0gMTcKLTAgPT09IDAKLTE4ID09PSAxOAotMCA9PT0gMAotMjkgPT09IDI5
Ci0wID09PSAwCi0yOSA9PT0gMjkKLQotUnVubmluZzogdGVzdE5vTWFwcGluZ0VudHJ5Ci1leGFt
cGxlLmpzID09PSBleGFtcGxlLmpzCi0wID09PSAwCi0wID09PSAwCi1leGFtcGxlLmpzID09PSBl
eGFtcGxlLmpzCi0wID09PSAwCi0yID09PSAyCi0KLVJ1bm5pbmc6IHRlc3RFbXB0eUxpbmUKLWV4
YW1wbGUuanMgPT09IGV4YW1wbGUuanMKLTAgPT09IDAKLTAgPT09IDAKLTMgPT09IDMKLTEgPT09
IDEKLQotUnVubmluZzogdGVzdFNlY3Rpb25zCi1zb3VyY2UxLmpzID09PSBzb3VyY2UxLmpzCi0w
ID09PSAwCi0wID09PSAwCi1zb3VyY2UxLmpzID09PSBzb3VyY2UxLmpzCi0yID09PSAyCi0xID09
PSAxCi1zb3VyY2UyLmpzID09PSBzb3VyY2UyLmpzCi0wID09PSAwCi0wID09PSAwCi1zb3VyY2Uy
LmpzID09PSBzb3VyY2UyLmpzCi0yID09PSAyCi0xID09PSAxCi0KLVJ1bm5pbmc6IHRlc3RSZXNv
bHZlU291cmNlTWFwVVJMCi1odHRwOi8vZXhhbXBsZS5jb20vbWFwLmpzb24gPT09IGh0dHA6Ly9l
eGFtcGxlLmNvbS9tYXAuanNvbgotaHR0cDovL2V4YW1wbGUuY29tL21hcC5qc29uID09PSBodHRw
Oi8vZXhhbXBsZS5jb20vbWFwLmpzb24KLWh0dHA6Ly9leGFtcGxlLmNvbS9zY3JpcHRzLy4uL21h
cHMvbWFwLmpzb24gPT09IGh0dHA6Ly9leGFtcGxlLmNvbS9zY3JpcHRzLy4uL21hcHMvbWFwLmpz
b24KLQotUnVubmluZzogdGVzdENvbXBpbGVyU2NyaXB0TWFwcGluZwotCi1SdW5uaW5nOiB0ZXN0
Q29tcGlsZXJTY3JpcHRNYXBwaW5nV2hlblJlc291cmNlV2FzTG9hZGVkQWZ0ZXJTb3VyY2UKLQot
UnVubmluZzogdGVzdElubGluZWRTb3VyY2VNYXAKLTxzb3VyY2UgY29udGVudD4gPT09IDxzb3Vy
Y2UgY29udGVudD4KLQotUnVubmluZzogdGVzdFNvdXJjZU1hcENvdWxkTm90QmVMb2FkZWQKLWNv
bXBpbGVkLmpzCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9y
L2NvbXBpbGVyLXNjcmlwdC1tYXBwaW5nLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2lu
c3BlY3Rvci9jb21waWxlci1zY3JpcHQtbWFwcGluZy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCA3MmNlOWUzOTg2ZDVmOTFkNTVkZjE1NDllNDNhZTA2ZGY0NDYwOTk1Li4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvaW5zcGVjdG9yL2NvbXBpbGVyLXNjcmlwdC1tYXBwaW5nLmh0bWwKKysrIC9kZXYv
bnVsbApAQCAtMSwzNDIgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSJpbnNw
ZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iZGVidWdnZXItdGVzdC5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0id29ya3NwYWNlLXRlc3QuanMiPjwvc2NyaXB0PgotCi08
c2NyaXB0PgotCi1mdW5jdGlvbiB0ZXN0KCkKLXsKLSAgICB2YXIgZGVmYXVsdFNjcmlwdE1hcHBp
bmc7Ci0gICAgdmFyIHJlc291cmNlU2NyaXB0TWFwcGluZzsKLQotICAgIGZ1bmN0aW9uIGNyZWF0
ZUNvbXBpbGVyU2NyaXB0TWFwcGluZygpCi0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmNy
ZWF0ZVdvcmtzcGFjZSgpOwotICAgICAgICB2YXIgY29tcGlsZXJTY3JpcHRNYXBwaW5nID0gbmV3
IFdlYkluc3BlY3Rvci5Db21waWxlclNjcmlwdE1hcHBpbmcoSW5zcGVjdG9yVGVzdC50ZXN0V29y
a3NwYWNlLCBJbnNwZWN0b3JUZXN0LnRlc3ROZXR3b3JrV29ya3NwYWNlUHJvdmlkZXIpOwotICAg
ICAgICByZXNvdXJjZVNjcmlwdE1hcHBpbmcgPSBuZXcgV2ViSW5zcGVjdG9yLlJlc291cmNlU2Ny
aXB0TWFwcGluZyhJbnNwZWN0b3JUZXN0LnRlc3RXb3Jrc3BhY2UpOwotICAgICAgICBkZWZhdWx0
U2NyaXB0TWFwcGluZyA9IG5ldyBXZWJJbnNwZWN0b3IuRGVmYXVsdFNjcmlwdE1hcHBpbmcoSW5z
cGVjdG9yVGVzdC50ZXN0V29ya3NwYWNlKTsKLSAgICAgICAgcmV0dXJuIGNvbXBpbGVyU2NyaXB0
TWFwcGluZzsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBjaGVja01hcHBpbmcoY29tcGlsZWRMaW5l
TnVtYmVyLCBjb21waWxlZENvbHVtbk51bWJlciwgc291cmNlVVJMLCBzb3VyY2VMaW5lTnVtYmVy
LCBzb3VyY2VDb2x1bW5OdW1iZXIsIG1hcHBpbmcpCi0gICAgewotICAgICAgICB2YXIgZW50cnkg
PSBtYXBwaW5nLmZpbmRFbnRyeShjb21waWxlZExpbmVOdW1iZXIsIGNvbXBpbGVkQ29sdW1uTnVt
YmVyKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoc291cmNlVVJMICsgIiA9PT0g
IiArIGVudHJ5WzJdKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoc291cmNlTGlu
ZU51bWJlciArICIgPT09ICIgKyBlbnRyeVszXSk7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRk
UmVzdWx0KHNvdXJjZUNvbHVtbk51bWJlciArICIgPT09ICIgKyBlbnRyeVs0XSk7Ci0gICAgfQot
Ci0gICAgZnVuY3Rpb24gY2hlY2tSZXZlcnNlTWFwcGluZyhjb21waWxlZExpbmVOdW1iZXIsIGNv
bXBpbGVkQ29sdW1uTnVtYmVyLCBzb3VyY2VVUkwsIHNvdXJjZUxpbmVOdW1iZXIsIG1hcHBpbmcp
Ci0gICAgewotICAgICAgICB2YXIgZW50cnkgPSBtYXBwaW5nLmZpbmRFbnRyeVJldmVyc2VkKHNv
dXJjZVVSTCwgc291cmNlTGluZU51bWJlcik7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVz
dWx0KGNvbXBpbGVkTGluZU51bWJlciArICIgPT09ICIgKyBlbnRyeVswXSk7Ci0gICAgICAgIElu
c3BlY3RvclRlc3QuYWRkUmVzdWx0KGNvbXBpbGVkQ29sdW1uTnVtYmVyICsgIiA9PT0gIiArIGVu
dHJ5WzFdKTsKLSAgICB9Ci0KLSAgICBJbnNwZWN0b3JUZXN0LnJ1blRlc3RTdWl0ZShbCi0gICAg
ICAgIGZ1bmN0aW9uIHRlc3RTaW1wbGVNYXAobmV4dCkKLSAgICAgICAgewotICAgICAgICAgICAg
LyoKLSAgICAgICAgICAgICAgICBleGFtcGxlLmpzOgotICAgICAgICAgICAgICAgIDAgICAgICAg
ICAxICAgICAgICAgMiAgICAgICAgIDMKLSAgICAgICAgICAgICAgICAwMTIzNDU2Nzg5MDEyMzQ1
Njc4OTAxMjM0NTY3ODkwMTIzNDUKLSAgICAgICAgICAgICAgICBmdW5jdGlvbiBhZGQodmFyaWFi
bGVfeCwgdmFyaWFibGVfeSkKLSAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAg
IHJldHVybiB2YXJpYWJsZV94ICsgdmFyaWFibGVfeTsKLSAgICAgICAgICAgICAgICB9Ci0KLSAg
ICAgICAgICAgICAgICB2YXIgZ2xvYmFsID0gImZvbyI7Ci0gICAgICAgICAgICAgICAgLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotICAgICAgICAgICAgICAgIGV4YW1w
bGUtY29tcGlsZWQuanM6Ci0gICAgICAgICAgICAgICAgMCAgICAgICAgIDEgICAgICAgICAyICAg
ICAgICAgMwotICAgICAgICAgICAgICAgIDAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAx
MjM0NQotICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGFkZChhLGIpe3JldHVybiBhK2J9dmFyIGds
b2JhbD0iZm9vIjsKLSAgICAgICAgICAgICovCi0gICAgICAgICAgICB2YXIgbWFwcGluZ1BheWxv
YWQgPSB7Ci0gICAgICAgICAgICAgICAgIm1hcHBpbmdzIjoiQUFBU0EsUUFBQUEsSUFBRyxDQUFD
QyxDQUFELENBQWFDLENBQWIsQ0FDWixDQUNJLE1BQU9ELEVBQVAsQ0FBb0JDLENBRHhCLENBSUEs
SUFBSUMsT0FBUzsiLAotICAgICAgICAgICAgICAgICJzb3VyY2VzIjpbImV4YW1wbGUuanMiXQot
ICAgICAgICAgICAgfTsKLSAgICAgICAgICAgIHZhciBtYXBwaW5nID0gbmV3IFdlYkluc3BlY3Rv
ci5Tb3VyY2VNYXAoInNvdXJjZS1tYXAuanNvbiIsIG1hcHBpbmdQYXlsb2FkKTsKLQotICAgICAg
ICAgICAgY2hlY2tNYXBwaW5nKDAsIDksICJleGFtcGxlLmpzIiwgMCwgOSwgbWFwcGluZyk7Ci0g
ICAgICAgICAgICBjaGVja01hcHBpbmcoMCwgMTMsICJleGFtcGxlLmpzIiwgMCwgMTMsIG1hcHBp
bmcpOwotICAgICAgICAgICAgY2hlY2tNYXBwaW5nKDAsIDE1LCAiZXhhbXBsZS5qcyIsIDAsIDI1
LCBtYXBwaW5nKTsKLSAgICAgICAgICAgIGNoZWNrTWFwcGluZygwLCAxOCwgImV4YW1wbGUuanMi
LCAyLCA0LCBtYXBwaW5nKTsKLSAgICAgICAgICAgIGNoZWNrTWFwcGluZygwLCAyNSwgImV4YW1w
bGUuanMiLCAyLCAxMSwgbWFwcGluZyk7Ci0gICAgICAgICAgICBjaGVja01hcHBpbmcoMCwgMjcs
ICJleGFtcGxlLmpzIiwgMiwgMjQsIG1hcHBpbmcpOwotCi0gICAgICAgICAgICBjaGVja1JldmVy
c2VNYXBwaW5nKDAsIDAsICJleGFtcGxlLmpzIiwgMCwgbWFwcGluZyk7Ci0gICAgICAgICAgICBj
aGVja1JldmVyc2VNYXBwaW5nKDAsIDE3LCAiZXhhbXBsZS5qcyIsIDEsIG1hcHBpbmcpOwotICAg
ICAgICAgICAgY2hlY2tSZXZlcnNlTWFwcGluZygwLCAxOCwgImV4YW1wbGUuanMiLCAyLCBtYXBw
aW5nKTsKLSAgICAgICAgICAgIGNoZWNrUmV2ZXJzZU1hcHBpbmcoMCwgMjksICJleGFtcGxlLmpz
IiwgNCwgbWFwcGluZyk7Ci0gICAgICAgICAgICBjaGVja1JldmVyc2VNYXBwaW5nKDAsIDI5LCAi
ZXhhbXBsZS5qcyIsIDUsIG1hcHBpbmcpOwotCi0gICAgICAgICAgICBuZXh0KCk7Ci0gICAgICAg
IH0sCi0KLSAgICAgICAgZnVuY3Rpb24gdGVzdE5vTWFwcGluZ0VudHJ5KG5leHQpCi0gICAgICAg
IHsKLSAgICAgICAgICAgIHZhciBtYXBwaW5nUGF5bG9hZCA9IHsKLSAgICAgICAgICAgICAgICAi
bWFwcGluZ3MiOiJBQUFBLEMsQ0FBRTsiLAotICAgICAgICAgICAgICAgICJzb3VyY2VzIjpbImV4
YW1wbGUuanMiXQotICAgICAgICAgICAgfTsKLSAgICAgICAgICAgIHZhciBtYXBwaW5nID0gbmV3
IFdlYkluc3BlY3Rvci5Tb3VyY2VNYXAoInNvdXJjZS1tYXAuanNvbiIsIG1hcHBpbmdQYXlsb2Fk
KTsKLSAgICAgICAgICAgIGNoZWNrTWFwcGluZygwLCAwLCAiZXhhbXBsZS5qcyIsIDAsIDAsIG1h
cHBpbmcpOwotICAgICAgICAgICAgdmFyIGVudHJ5ID0gbWFwcGluZy5maW5kRW50cnkoMCwgMSk7
Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydEVxdWFscygyLCBlbnRyeS5sZW5ndGgp
OwotICAgICAgICAgICAgY2hlY2tNYXBwaW5nKDAsIDIsICJleGFtcGxlLmpzIiwgMCwgMiwgbWFw
cGluZyk7Ci0gICAgICAgICAgICBuZXh0KCk7Ci0gICAgICAgIH0sCi0KLSAgICAgICAgZnVuY3Rp
b24gdGVzdEVtcHR5TGluZShuZXh0KQotICAgICAgICB7Ci0gICAgICAgICAgICB2YXIgbWFwcGlu
Z1BheWxvYWQgPSB7Ci0gICAgICAgICAgICAgICAgIm1hcHBpbmdzIjoiQUFBQTs7O0NBQ0EiLAot
ICAgICAgICAgICAgICAgICJzb3VyY2VzIjpbImV4YW1wbGUuanMiXQotICAgICAgICAgICAgfTsK
LSAgICAgICAgICAgIHZhciBtYXBwaW5nID0gbmV3IFdlYkluc3BlY3Rvci5Tb3VyY2VNYXAoInNv
dXJjZS1tYXAuanNvbiIsIG1hcHBpbmdQYXlsb2FkKTsKLSAgICAgICAgICAgIGNoZWNrTWFwcGlu
ZygwLCAwLCAiZXhhbXBsZS5qcyIsIDAsIDAsIG1hcHBpbmcpOwotICAgICAgICAgICAgY2hlY2tS
ZXZlcnNlTWFwcGluZygzLCAxLCAiZXhhbXBsZS5qcyIsIDEsIG1hcHBpbmcpOwotICAgICAgICAg
ICAgbmV4dCgpOwotICAgICAgICB9LAotCi0gICAgICAgIGZ1bmN0aW9uIHRlc3RTZWN0aW9ucyhu
ZXh0KQotICAgICAgICB7Ci0gICAgICAgICAgICB2YXIgbWFwcGluZ1BheWxvYWQgPSB7Ci0gICAg
ICAgICAgICAgICAgInNlY3Rpb25zIjogW3sKLSAgICAgICAgICAgICAgICAgICAgIm9mZnNldCI6
IHsgImxpbmUiOiAwLCAiY29sdW1uIjogMCB9LAotICAgICAgICAgICAgICAgICAgICAibWFwIjog
ewotICAgICAgICAgICAgICAgICAgICAgICAgIm1hcHBpbmdzIjoiQUFBQSxDQUVDIiwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJzb3VyY2VzIjpbInNvdXJjZTEuanMiLCAic291cmNlMi5qcyJd
Ci0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICB9LCB7Ci0gICAgICAgICAg
ICAgICAgICAgICJvZmZzZXQiOiB7ICJsaW5lIjogMiwgImNvbHVtbiI6IDEwIH0sCi0gICAgICAg
ICAgICAgICAgICAgICJtYXAiOiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAibWFwcGluZ3Mi
OiJBQUFBLENBRUMiLAotICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZXMiOlsic291cmNl
Mi5qcyJdCi0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICB9Ci0gICAgICAg
ICAgICBdfTsKLSAgICAgICAgICAgIHZhciBtYXBwaW5nID0gbmV3IFdlYkluc3BlY3Rvci5Tb3Vy
Y2VNYXAoInNvdXJjZS1tYXAuanNvbiIsIG1hcHBpbmdQYXlsb2FkKTsKLSAgICAgICAgICAgIElu
c3BlY3RvclRlc3QuYXNzZXJ0RXF1YWxzKDIsIG1hcHBpbmcuc291cmNlcygpLmxlbmd0aCk7Ci0g
ICAgICAgICAgICBjaGVja01hcHBpbmcoMCwgMCwgInNvdXJjZTEuanMiLCAwLCAwLCBtYXBwaW5n
KTsKLSAgICAgICAgICAgIGNoZWNrTWFwcGluZygwLCAxLCAic291cmNlMS5qcyIsIDIsIDEsIG1h
cHBpbmcpOwotICAgICAgICAgICAgY2hlY2tNYXBwaW5nKDIsIDEwLCAic291cmNlMi5qcyIsIDAs
IDAsIG1hcHBpbmcpOwotICAgICAgICAgICAgY2hlY2tNYXBwaW5nKDIsIDExLCAic291cmNlMi5q
cyIsIDIsIDEsIG1hcHBpbmcpOwotICAgICAgICAgICAgbmV4dCgpOwotICAgICAgICB9LAotCi0g
ICAgICAgIGZ1bmN0aW9uIHRlc3RSZXNvbHZlU291cmNlTWFwVVJMKG5leHQpCi0gICAgICAgIHsK
LSAgICAgICAgICAgIHZhciBmdW5jID0gV2ViSW5zcGVjdG9yLlBhcnNlZFVSTC5jb21wbGV0ZVVS
TDsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJodHRwOi8vZXhhbXBsZS5j
b20vbWFwLmpzb24gPT09ICIgKyBmdW5jKCJodHRwOi8vZXhhbXBsZS5jb20vc2NyaXB0LmpzIiwg
Imh0dHA6Ly9leGFtcGxlLmNvbS9tYXAuanNvbiIpKTsKLSAgICAgICAgICAgIEluc3BlY3RvclRl
c3QuYWRkUmVzdWx0KCJodHRwOi8vZXhhbXBsZS5jb20vbWFwLmpzb24gPT09ICIgKyBmdW5jKCJo
dHRwOi8vZXhhbXBsZS5jb20vc2NyaXB0LmpzIiwgIi9tYXAuanNvbiIpKTsKLSAgICAgICAgICAg
IEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJodHRwOi8vZXhhbXBsZS5jb20vc2NyaXB0cy8uLi9t
YXBzL21hcC5qc29uID09PSAiICsgZnVuYygiaHR0cDovL2V4YW1wbGUuY29tL3NjcmlwdHMvc2Ny
aXB0LmpzIiwgIi4uL21hcHMvbWFwLmpzb24iKSk7Ci0gICAgICAgICAgICBuZXh0KCk7Ci0gICAg
ICAgIH0sCi0KLSAgICAgICAgZnVuY3Rpb24gdGVzdENvbXBpbGVyU2NyaXB0TWFwcGluZyhuZXh0
KQotICAgICAgICB7Ci0gICAgICAgICAgICB2YXIgc2NyaXB0OwotICAgICAgICAgICAgV2ViSW5z
cGVjdG9yLmRlYnVnZ2VyTW9kZWwuX3Jlc2V0KCk7Ci0gICAgICAgICAgICB2YXIgbWFwcGluZyA9
IGNyZWF0ZUNvbXBpbGVyU2NyaXB0TWFwcGluZygpOwotICAgICAgICAgICAgdmFyIG9yaWdpbmFs
VUlTb3VyY2VDb2RlOwotICAgICAgICAgICAgc3RlcDEoKTsKLQotICAgICAgICAgICAgZnVuY3Rp
b24gc3RlcDEoKQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3Qu
d2FpdEZvcldvcmtzcGFjZVVJU291cmNlQ29kZUFkZGVkRXZlbnQob3JpZ2luYWxVSVNvdXJjZUNv
ZGVBZGRlZCk7Ci0gICAgICAgICAgICAgICAgc2NyaXB0ID0gSW5zcGVjdG9yVGVzdC5jcmVhdGVT
Y3JpcHRNb2NrKCJjb21waWxlZC5qcyIsIDAsIDAsIHRydWUsICIiKTsKLSAgICAgICAgICAgICAg
ICBzY3JpcHQuc291cmNlTWFwVVJMID0gImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9pbnNwZWN0b3Iv
cmVzb3VyY2VzL3NvdXJjZS1tYXAuanNvbiI7Ci0gICAgICAgICAgICAgICAgZGVmYXVsdFNjcmlw
dE1hcHBpbmcuYWRkU2NyaXB0KHNjcmlwdCk7Ci0gICAgICAgICAgICAgICAgcmVzb3VyY2VTY3Jp
cHRNYXBwaW5nLmFkZFNjcmlwdChzY3JpcHQpOwotICAgICAgICAgICAgICAgIG1hcHBpbmcuYWRk
U2NyaXB0KHNjcmlwdCk7Ci0gICAgICAgICAgICAgICAgYWZ0ZXJTY3JpcHRBZGRlZCgpOwotICAg
ICAgICAgICAgfQotCi0gICAgICAgICAgICBmdW5jdGlvbiBvcmlnaW5hbFVJU291cmNlQ29kZUFk
ZGVkKHVpU291cmNlQ29kZSkKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBJbnNwZWN0
b3JUZXN0LndhaXRGb3JXb3Jrc3BhY2VVSVNvdXJjZUNvZGVBZGRlZEV2ZW50KG9yaWdpbmFsUmVz
b3VyY2VVSVNvdXJjZUNvZGVBZGRlZCk7Ci0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5h
ZGRNb2NrVUlTb3VyY2VDb2RlVG9Xb3Jrc3BhY2UoImNvbXBpbGVkLmpzIiwgV2ViSW5zcGVjdG9y
LnJlc291cmNlVHlwZXMuU2NyaXB0LCAiIik7Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAg
IGZ1bmN0aW9uIG9yaWdpbmFsUmVzb3VyY2VVSVNvdXJjZUNvZGVBZGRlZCh1aVNvdXJjZUNvZGUp
Ci0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC53YWl0Rm9yV29y
a3NwYWNlVUlTb3VyY2VDb2RlQWRkZWRFdmVudChmaXJzdFVJU291cmNlQ29kZUFkZGVkKTsKLSAg
ICAgICAgICAgICAgICBvcmlnaW5hbFVJU291cmNlQ29kZSA9IHVpU291cmNlQ29kZTsKLSAgICAg
ICAgICAgIH0KLQotICAgICAgICAgICAgZnVuY3Rpb24gZmlyc3RVSVNvdXJjZUNvZGVBZGRlZCh1
aVNvdXJjZUNvZGUpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVz
dC53YWl0Rm9yV29ya3NwYWNlVUlTb3VyY2VDb2RlQWRkZWRFdmVudChzZWNvbmRVSVNvdXJjZUNv
ZGVBZGRlZCk7Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIGZ1bmN0aW9uIHNlY29uZFVJ
U291cmNlQ29kZUFkZGVkKHVpU291cmNlQ29kZSkgeyB9Ci0KLSAgICAgICAgICAgIGZ1bmN0aW9u
IGFmdGVyU2NyaXB0QWRkZWQodWlTb3VyY2VDb2RlKQotICAgICAgICAgICAgewotICAgICAgICAg
ICAgICAgIHZhciB1aVNvdXJjZUNvZGUxID0gSW5zcGVjdG9yVGVzdC50ZXN0V29ya3NwYWNlLnVp
U291cmNlQ29kZUZvck9yaWdpblVSTCgiaHR0cDovL2xvY2FsaG9zdDo4MDAwL2luc3BlY3Rvci9y
ZXNvdXJjZXMvc291cmNlMS5qcyIpOwotICAgICAgICAgICAgICAgIHZhciB1aVNvdXJjZUNvZGUy
ID0gSW5zcGVjdG9yVGVzdC50ZXN0V29ya3NwYWNlLnVpU291cmNlQ29kZUZvck9yaWdpblVSTCgi
aHR0cDovL2xvY2FsaG9zdDo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZXMvc291cmNlMi5qcyIpOwot
Ci0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5jaGVja1VJTG9jYXRpb24odWlTb3VyY2VD
b2RlMSwgNCwgNCwgc2NyaXB0LnJhd0xvY2F0aW9uVG9VSUxvY2F0aW9uKDAsIDgxKSk7Ci0gICAg
ICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5jaGVja1VJTG9jYXRpb24odWlTb3VyY2VDb2RlMSwg
NSwgNCwgc2NyaXB0LnJhd0xvY2F0aW9uVG9VSUxvY2F0aW9uKDAsIDkzKSk7Ci0gICAgICAgICAg
ICAgICAgSW5zcGVjdG9yVGVzdC5jaGVja1VJTG9jYXRpb24odWlTb3VyY2VDb2RlMiwgNywgNCwg
c2NyaXB0LnJhd0xvY2F0aW9uVG9VSUxvY2F0aW9uKDEsIDE1MSkpOwotICAgICAgICAgICAgICAg
IEluc3BlY3RvclRlc3QuY2hlY2tVSUxvY2F0aW9uKG9yaWdpbmFsVUlTb3VyY2VDb2RlLCAxLCAy
MDAsIHNjcmlwdC5yYXdMb2NhdGlvblRvVUlMb2NhdGlvbigxLCAyMDApKTsKLQotICAgICAgICAg
ICAgICAgIEluc3BlY3RvclRlc3QuY2hlY2tSYXdMb2NhdGlvbihzY3JpcHQsIDAsIDQyLCB1aVNv
dXJjZUNvZGUxLnVpTG9jYXRpb25Ub1Jhd0xvY2F0aW9uKDMsIDEwKSk7Ci0gICAgICAgICAgICAg
ICAgSW5zcGVjdG9yVGVzdC5jaGVja1Jhd0xvY2F0aW9uKHNjcmlwdCwgMSwgODUsIHVpU291cmNl
Q29kZTIudWlMb2NhdGlvblRvUmF3TG9jYXRpb24oMCwgMCkpOwotICAgICAgICAgICAgICAgIElu
c3BlY3RvclRlc3QuY2hlY2tSYXdMb2NhdGlvbihzY3JpcHQsIDEsIDExMCwgdWlTb3VyY2VDb2Rl
Mi51aUxvY2F0aW9uVG9SYXdMb2NhdGlvbig1LCAyKSk7Ci0KLSAgICAgICAgICAgICAgICB1aVNv
dXJjZUNvZGUxLnJlcXVlc3RDb250ZW50KGRpZFJlcXVlc3RDb250ZW50MSk7Ci0KLSAgICAgICAg
ICAgICAgICBmdW5jdGlvbiBkaWRSZXF1ZXN0Q29udGVudDEoY29udGVudCwgY29udGVudEVuY29k
ZWQsIG1pbWVUeXBlKQotICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgSW5z
cGVjdG9yVGVzdC5hc3NlcnRFcXVhbHMoMCwgY29udGVudC5pbmRleE9mKCJ3aW5kb3cuYWRkRXZl
bnRMaXN0ZW5lciIpKTsKLSAgICAgICAgICAgICAgICAgICAgdWlTb3VyY2VDb2RlMi5yZXF1ZXN0
Q29udGVudChkaWRSZXF1ZXN0Q29udGVudDIpOwotICAgICAgICAgICAgICAgIH0KLQotICAgICAg
ICAgICAgICAgIGZ1bmN0aW9uIGRpZFJlcXVlc3RDb250ZW50Mihjb250ZW50LCBjb250ZW50RW5j
b2RlZCwgbWltZVR5cGUpCi0gICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICBJ
bnNwZWN0b3JUZXN0LmFzc2VydEVxdWFscygwLCBjb250ZW50LmluZGV4T2YoImZ1bmN0aW9uIENs
aWNrSGFuZGxlcigpIikpOwotICAgICAgICAgICAgICAgICAgICBuZXh0KCk7Ci0gICAgICAgICAg
ICAgICAgfQotICAgICAgICAgICAgfQotICAgICAgICB9LAotCi0gICAgICAgIGZ1bmN0aW9uIHRl
c3RDb21waWxlclNjcmlwdE1hcHBpbmdXaGVuUmVzb3VyY2VXYXNMb2FkZWRBZnRlclNvdXJjZShu
ZXh0KQotICAgICAgICB7Ci0gICAgICAgICAgICB2YXIgc2NyaXB0OwotICAgICAgICAgICAgV2Vi
SW5zcGVjdG9yLmRlYnVnZ2VyTW9kZWwuX3Jlc2V0KCk7Ci0gICAgICAgICAgICB2YXIgbWFwcGlu
ZyA9IGNyZWF0ZUNvbXBpbGVyU2NyaXB0TWFwcGluZygpOwotICAgICAgICAgICAgdmFyIG9yaWdp
bmFsVUlTb3VyY2VDb2RlOwotICAgICAgICAgICAgc3RlcDEoKTsKLQotICAgICAgICAgICAgZnVu
Y3Rpb24gc3RlcDEoKQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIEluc3BlY3RvclRl
c3Qud2FpdEZvcldvcmtzcGFjZVVJU291cmNlQ29kZUFkZGVkRXZlbnQoZnVuY3Rpb24oKSB7IH0p
OwotICAgICAgICAgICAgICAgIHNjcmlwdCA9IEluc3BlY3RvclRlc3QuY3JlYXRlU2NyaXB0TW9j
aygiY29tcGlsZWQuanMiLCAwLCAwLCB0cnVlLCAiIik7Ci0gICAgICAgICAgICAgICAgc2NyaXB0
LnNvdXJjZU1hcFVSTCA9ICJodHRwOi8vbG9jYWxob3N0OjgwMDAvaW5zcGVjdG9yL3Jlc291cmNl
cy9zb3VyY2UtbWFwLmpzb24iOwotICAgICAgICAgICAgICAgIGRlZmF1bHRTY3JpcHRNYXBwaW5n
LmFkZFNjcmlwdChzY3JpcHQpOwotICAgICAgICAgICAgICAgIHJlc291cmNlU2NyaXB0TWFwcGlu
Zy5hZGRTY3JpcHQoc2NyaXB0KTsKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LndhaXRG
b3JXb3Jrc3BhY2VVSVNvdXJjZUNvZGVBZGRlZEV2ZW50KGZpcnN0VUlTb3VyY2VDb2RlQWRkZWQp
OwotICAgICAgICAgICAgICAgIG1hcHBpbmcuYWRkU2NyaXB0KHNjcmlwdCk7Ci0gICAgICAgICAg
ICAgICAgSW5zcGVjdG9yVGVzdC53YWl0Rm9yV29ya3NwYWNlVUlTb3VyY2VDb2RlQWRkZWRFdmVu
dChvcmlnaW5hbFJlc291cmNlVUlTb3VyY2VDb2RlQWRkZWQpOwotICAgICAgICAgICAgICAgIElu
c3BlY3RvclRlc3QuYWRkTW9ja1VJU291cmNlQ29kZVRvV29ya3NwYWNlKCJjb21waWxlZC5qcyIs
IFdlYkluc3BlY3Rvci5yZXNvdXJjZVR5cGVzLlNjcmlwdCwgIiIpOwotICAgICAgICAgICAgICAg
IGFmdGVyU2NyaXB0QWRkZWQoKTsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgZnVuY3Rp
b24gb3JpZ2luYWxSZXNvdXJjZVVJU291cmNlQ29kZUFkZGVkKHVpU291cmNlQ29kZSkgewotICAg
ICAgICAgICAgICAgIG9yaWdpbmFsVUlTb3VyY2VDb2RlID0gdWlTb3VyY2VDb2RlOwotICAgICAg
ICAgICAgfQotCi0gICAgICAgICAgICBmdW5jdGlvbiBmaXJzdFVJU291cmNlQ29kZUFkZGVkKHVp
U291cmNlQ29kZSkKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0
LndhaXRGb3JXb3Jrc3BhY2VVSVNvdXJjZUNvZGVBZGRlZEV2ZW50KGZ1bmN0aW9uKCkgeyB9KTsK
LSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgZnVuY3Rpb24gYWZ0ZXJTY3JpcHRBZGRlZCh1
aVNvdXJjZUNvZGUpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgdmFyIHVpU291cmNl
Q29kZTEgPSBJbnNwZWN0b3JUZXN0LnRlc3RXb3Jrc3BhY2UudWlTb3VyY2VDb2RlRm9yT3JpZ2lu
VVJMKCJodHRwOi8vbG9jYWxob3N0OjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlcy9zb3VyY2UxLmpz
Iik7Ci0gICAgICAgICAgICAgICAgdmFyIHVpU291cmNlQ29kZTIgPSBJbnNwZWN0b3JUZXN0LnRl
c3RXb3Jrc3BhY2UudWlTb3VyY2VDb2RlRm9yT3JpZ2luVVJMKCJodHRwOi8vbG9jYWxob3N0Ojgw
MDAvaW5zcGVjdG9yL3Jlc291cmNlcy9zb3VyY2UyLmpzIik7Ci0KLSAgICAgICAgICAgICAgICBJ
bnNwZWN0b3JUZXN0LmNoZWNrVUlMb2NhdGlvbih1aVNvdXJjZUNvZGUxLCA0LCA0LCBzY3JpcHQu
cmF3TG9jYXRpb25Ub1VJTG9jYXRpb24oMCwgODEpKTsKLSAgICAgICAgICAgICAgICBJbnNwZWN0
b3JUZXN0LmNoZWNrVUlMb2NhdGlvbih1aVNvdXJjZUNvZGUxLCA1LCA0LCBzY3JpcHQucmF3TG9j
YXRpb25Ub1VJTG9jYXRpb24oMCwgOTMpKTsKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0
LmNoZWNrVUlMb2NhdGlvbih1aVNvdXJjZUNvZGUyLCA3LCA0LCBzY3JpcHQucmF3TG9jYXRpb25U
b1VJTG9jYXRpb24oMSwgMTUxKSk7Ci0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5jaGVj
a1VJTG9jYXRpb24ob3JpZ2luYWxVSVNvdXJjZUNvZGUsIDEsIDIwMCwgc2NyaXB0LnJhd0xvY2F0
aW9uVG9VSUxvY2F0aW9uKDEsIDIwMCkpOwotCi0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVz
dC5jaGVja1Jhd0xvY2F0aW9uKHNjcmlwdCwgMCwgNDIsIHVpU291cmNlQ29kZTEudWlMb2NhdGlv
blRvUmF3TG9jYXRpb24oMywgMTApKTsKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmNo
ZWNrUmF3TG9jYXRpb24oc2NyaXB0LCAxLCA4NSwgdWlTb3VyY2VDb2RlMi51aUxvY2F0aW9uVG9S
YXdMb2NhdGlvbigwLCAwKSk7Ci0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5jaGVja1Jh
d0xvY2F0aW9uKHNjcmlwdCwgMSwgMTEwLCB1aVNvdXJjZUNvZGUyLnVpTG9jYXRpb25Ub1Jhd0xv
Y2F0aW9uKDUsIDIpKTsKLQotICAgICAgICAgICAgICAgIHVpU291cmNlQ29kZTEucmVxdWVzdENv
bnRlbnQoZGlkUmVxdWVzdENvbnRlbnQxKTsKLQotICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGRp
ZFJlcXVlc3RDb250ZW50MShjb250ZW50LCBjb250ZW50RW5jb2RlZCwgbWltZVR5cGUpCi0gICAg
ICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydEVx
dWFscygwLCBjb250ZW50LmluZGV4T2YoIndpbmRvdy5hZGRFdmVudExpc3RlbmVyIikpOwotICAg
ICAgICAgICAgICAgICAgICB1aVNvdXJjZUNvZGUyLnJlcXVlc3RDb250ZW50KGRpZFJlcXVlc3RD
b250ZW50Mik7Ci0gICAgICAgICAgICAgICAgfQotCi0gICAgICAgICAgICAgICAgZnVuY3Rpb24g
ZGlkUmVxdWVzdENvbnRlbnQyKGNvbnRlbnQsIGNvbnRlbnRFbmNvZGVkLCBtaW1lVHlwZSkKLSAg
ICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0
RXF1YWxzKDAsIGNvbnRlbnQuaW5kZXhPZigiZnVuY3Rpb24gQ2xpY2tIYW5kbGVyKCkiKSk7Ci0g
ICAgICAgICAgICAgICAgICAgIG5leHQoKTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAg
ICB9Ci0gICAgICAgIH0sCi0KLSAgICAgICAgZnVuY3Rpb24gdGVzdElubGluZWRTb3VyY2VNYXAo
bmV4dCkKLSAgICAgICAgewotICAgICAgICAgICAgV2ViSW5zcGVjdG9yLmRlYnVnZ2VyTW9kZWwu
X3Jlc2V0KCk7Ci0gICAgICAgICAgICB2YXIgbWFwcGluZyA9IGNyZWF0ZUNvbXBpbGVyU2NyaXB0
TWFwcGluZygpOwotICAgICAgICAgICAgdmFyIHNjcmlwdCA9IEluc3BlY3RvclRlc3QuY3JlYXRl
U2NyaXB0TW9jaygiaHR0cDovL2V4YW1wbGUuY29tL2NvbXBpbGVkLmpzIiwgMCwgMCwgdHJ1ZSwg
IiIpOwotICAgICAgICAgICAgdmFyIHNvdXJjZU1hcCA9IHsKLSAgICAgICAgICAgICAgICAiZmls
ZSI6ImNvbXBpbGVkLmpzIiwKLSAgICAgICAgICAgICAgICAibWFwcGluZ3MiOiJBQUFTQSxRQUFB
QSxJQUFHLENBQUNDLENBQUQsQ0FBYUMsQ0FBYixDQUNaLENBQ0ksTUFBT0QsRUFBUCxDQUFvQkMs
Q0FEeEIsQ0FJQSxJQUFJQyxPQUFTOyIsCi0gICAgICAgICAgICAgICAgInNvdXJjZXMiOlsic291
cmNlLmpzIl0sCi0gICAgICAgICAgICAgICAgInNvdXJjZXNDb250ZW50IjpbIjxzb3VyY2UgY29u
dGVudD4iXQotICAgICAgICAgICAgfTsKLSAgICAgICAgICAgIHNjcmlwdC5zb3VyY2VNYXBVUkwg
PSAiZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCwiICsgYnRvYShKU09OLnN0cmluZ2lmeShz
b3VyY2VNYXApKTsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3Qud2FpdEZvcldvcmtzcGFjZVVJ
U291cmNlQ29kZUFkZGVkRXZlbnQoY29tcGlsZWRVSVNvdXJjZUNvZGVBZGRlZCk7Ci0KLSAgICAg
ICAgICAgIGZ1bmN0aW9uIGNvbXBpbGVkVUlTb3VyY2VDb2RlQWRkZWQodWlTb3VyY2VDb2RlKQot
ICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3Qud2FpdEZvcldvcmtz
cGFjZVVJU291cmNlQ29kZUFkZGVkRXZlbnQob3JpZ2luYWxVSVNvdXJjZUNvZGVBZGRlZCk7Ci0g
ICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIGZ1bmN0aW9uIG9yaWdpbmFsVUlTb3VyY2VDb2Rl
QWRkZWQodWlTb3VyY2VDb2RlKSB7IH0KLSAgICAgICAgICAgIAotICAgICAgICAgICAgZGVmYXVs
dFNjcmlwdE1hcHBpbmcuYWRkU2NyaXB0KHNjcmlwdCk7Ci0gICAgICAgICAgICByZXNvdXJjZVNj
cmlwdE1hcHBpbmcuYWRkU2NyaXB0KHNjcmlwdCk7Ci0gICAgICAgICAgICBtYXBwaW5nLmFkZFNj
cmlwdChzY3JpcHQpOwotCi0gICAgICAgICAgICB2YXIgdWlTb3VyY2VDb2RlID0gSW5zcGVjdG9y
VGVzdC50ZXN0V29ya3NwYWNlLnVpU291cmNlQ29kZUZvck9yaWdpblVSTCgiaHR0cDovL2V4YW1w
bGUuY29tL3NvdXJjZS5qcyIpOwotCi0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmNoZWNrVUlM
b2NhdGlvbih1aVNvdXJjZUNvZGUsIDIsIDQsIG1hcHBpbmcucmF3TG9jYXRpb25Ub1VJTG9jYXRp
b24oV2ViSW5zcGVjdG9yLmRlYnVnZ2VyTW9kZWwuY3JlYXRlUmF3TG9jYXRpb24oc2NyaXB0LCAw
LCAxOCkpKTsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuY2hlY2tSYXdMb2NhdGlvbihzY3Jp
cHQsIDAsIDE4LCBtYXBwaW5nLnVpTG9jYXRpb25Ub1Jhd0xvY2F0aW9uKHVpU291cmNlQ29kZSwg
MiwgNCkpOwotCi0gICAgICAgICAgICB1aVNvdXJjZUNvZGUucmVxdWVzdENvbnRlbnQoZGlkUmVx
dWVzdENvbnRlbnQpOwotCi0gICAgICAgICAgICBmdW5jdGlvbiBkaWRSZXF1ZXN0Q29udGVudChj
b250ZW50LCBjb250ZW50RW5jb2RlZCwgbWltZVR5cGUpCi0gICAgICAgICAgICB7Ci0gICAgICAg
ICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIjxzb3VyY2UgY29udGVudD4gPT09ICIg
KyBjb250ZW50KTsKLSAgICAgICAgICAgICAgICBuZXh0KCk7Ci0gICAgICAgICAgICB9Ci0gICAg
ICAgIH0sCi0KLSAgICAgICAgZnVuY3Rpb24gdGVzdFNvdXJjZU1hcENvdWxkTm90QmVMb2FkZWQo
bmV4dCkKLSAgICAgICAgewotICAgICAgICAgICAgV2ViSW5zcGVjdG9yLnNldHRpbmdzLnNvdXJj
ZU1hcHNFbmFibGVkLnNldCh0cnVlKTsKLSAgICAgICAgICAgIFdlYkluc3BlY3Rvci5kZWJ1Z2dl
ck1vZGVsLl9yZXNldCgpOwotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5jcmVhdGVXb3Jrc3Bh
Y2UoKTsKLSAgICAgICAgICAgIHZhciBkZWJ1Z2dlclNjcmlwdE1hcHBpbmcgPSBuZXcgV2ViSW5z
cGVjdG9yLkRlYnVnZ2VyU2NyaXB0TWFwcGluZyhJbnNwZWN0b3JUZXN0LnRlc3RXb3Jrc3BhY2Us
IEluc3BlY3RvclRlc3QudGVzdE5ldHdvcmtXb3Jrc3BhY2VQcm92aWRlcik7Ci0KLSAgICAgICAg
ICAgIEluc3BlY3RvclRlc3Qud2FpdEZvcldvcmtzcGFjZVVJU291cmNlQ29kZUFkZGVkRXZlbnQo
Y29tcGlsZWRVSVNvdXJjZUNvZGVBZGRlZCk7Ci0gICAgICAgICAgICB2YXIgc2NyaXB0ID0gSW5z
cGVjdG9yVGVzdC5jcmVhdGVTY3JpcHRNb2NrKCJjb21waWxlZC5qcyIsIDAsIDAsIHRydWUsICIi
KTsKLQotICAgICAgICAgICAgZnVuY3Rpb24gY29tcGlsZWRVSVNvdXJjZUNvZGVBZGRlZCh1aVNv
dXJjZUNvZGUpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC53
YWl0Rm9yV29ya3NwYWNlVUlTb3VyY2VDb2RlQWRkZWRFdmVudChvcmlnaW5hbFVJU291cmNlQ29k
ZUFkZGVkKTsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgZnVuY3Rpb24gb3JpZ2luYWxV
SVNvdXJjZUNvZGVBZGRlZCh1aVNvdXJjZUNvZGUpIHsgfQotCi0gICAgICAgICAgICBzY3JpcHQu
c291cmNlTWFwVVJMID0gImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2Vz
L3NvdXJjZS1tYXAuanNvbl8iOwotICAgICAgICAgICAgY29uc29sZS5lcnJvciA9IGZ1bmN0aW9u
KCkge307IC8vIEVycm9yIG1lc3NhZ2UgaXMgcGxhdGZvcm0gZGVwZW5kZW50LgotICAgICAgICAg
ICAgZGVidWdnZXJTY3JpcHRNYXBwaW5nLl9wYXJzZWRTY3JpcHRTb3VyY2Uoe2RhdGE6c2NyaXB0
fSk7Ci0gICAgICAgICAgICB2YXIgdWlMb2NhdGlvbiA9IHNjcmlwdC5yYXdMb2NhdGlvblRvVUlM
b2NhdGlvbigwLCAwKTsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KHVpTG9j
YXRpb24udWlTb3VyY2VDb2RlLm9yaWdpblVSTCgpKTsKLSAgICAgICAgICAgIG5leHQoKTsKLSAg
ICAgICAgfQotICAgIF0pOwotfTsKLQotPC9zY3JpcHQ+Ci0KLTwvaGVhZD4KLQotPGJvZHkgb25s
b2FkPSJydW5UZXN0KCkiPgotPHA+VGVzdHMgU291cmNlTWFwIGFuZCBDb21waWxlclNjcmlwdE1h
cHBpbmcuPC9wPgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9pbnNwZWN0b3IvY29tcGlsZXItc291cmNlLW1hcHBpbmctZGVidWctZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvY29tcGlsZXItc291cmNlLW1h
cHBpbmctZGVidWctZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4
ZmZjZTcyYTg3Zjc2OGMxOTBjOGNlZDlhYmU2MzkwZjRhZmRkNjEwLi4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5z
cGVjdG9yL2NvbXBpbGVyLXNvdXJjZS1tYXBwaW5nLWRlYnVnLWV4cGVjdGVkLnR4dAorKysgL2Rl
di9udWxsCkBAIC0xLDE2ICswLDAgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAyOiBidXR0b24g
Y2xpY2tlZCEKLVRlc3RzIGluc3RhbGxpbmcgY29tcGlsZXIgc291cmNlIG1hcCBpbiBzY3JpcHRz
IHBhbmVsLgotCi0KLURlYnVnZ2VyIHdhcyBlbmFibGVkLgotCi1SdW5uaW5nOiB0ZXN0U2V0QnJl
YWtwb2ludAotUGFnZSByZWxvYWRlZC4KLVNjcmlwdCBzb3VyY2Ugd2FzIHNob3duLgotU2NyaXB0
IGV4ZWN1dGlvbiBwYXVzZWQuCi1DYWxsIHN0YWNrOgotICAgIDApIGhhbmRsZUNsaWNrIChjb21w
aWxlZC5qczoyKQotICAgIDEpIGNsaWNrQnV0dG9uIChjb21waWxlci1zb3VyY2UtbWFwcGluZy1k
ZWJ1Zy5odG1sOjExKQotU2NyaXB0IGV4ZWN1dGlvbiByZXN1bWVkLgotRGVidWdnZXIgd2FzIGRp
c2FibGVkLgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9j
b21waWxlci1zb3VyY2UtbWFwcGluZy1kZWJ1Zy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9pbnNwZWN0b3IvY29tcGlsZXItc291cmNlLW1hcHBpbmctZGVidWcuaHRtbApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggZTNhZTViYzJmNjIwNzM4YTVkYTVhN2JhMTk3YzI4NzQ2YTYx
ZWVjYy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9jb21waWxlci1zb3VyY2UtbWFwcGluZy1kZWJ1
Zy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNTEgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxz
Y3JpcHQgc3JjPSJpbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iZGVi
dWdnZXItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0icmVzb3VyY2VzL2NvbXBpbGVk
LmpzIj48L3NjcmlwdD4KLQotPHNjcmlwdD4KLQotZnVuY3Rpb24gY2xpY2tCdXR0b24oKQotewot
ICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0ZXN0JykuY2xpY2soKTsKLX0KLQotZnVuY3Rp
b24gdGVzdCgpCi17Ci0gICAgSW5zcGVjdG9yVGVzdC5ydW5EZWJ1Z2dlclRlc3RTdWl0ZShbCi0g
ICAgICAgIGZ1bmN0aW9uIHRlc3RTZXRCcmVha3BvaW50KG5leHQpCi0gICAgICAgIHsKLSAgICAg
ICAgICAgIFdlYkluc3BlY3Rvci5zZXR0aW5ncy5zb3VyY2VNYXBzRW5hYmxlZC5zZXQodHJ1ZSk7
Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LnJlbG9hZFBhZ2UocGFnZVJlbG9hZGVkKTsKLQot
ICAgICAgICAgICAgZnVuY3Rpb24gcGFnZVJlbG9hZGVkKCkKLSAgICAgICAgICAgIHsKLSAgICAg
ICAgICAgICAgICBJbnNwZWN0b3JUZXN0LnNob3dTY3JpcHRTb3VyY2UoInNvdXJjZTEuanMiLCBk
aWRTaG93U291cmNlKTsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgZnVuY3Rpb24gZGlk
U2hvd1NvdXJjZShzb3VyY2VGcmFtZSkKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBJ
bnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiU2NyaXB0IHNvdXJjZSB3YXMgc2hvd24uIik7Ci0gICAg
ICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5zZXRCcmVha3BvaW50KHNvdXJjZUZyYW1lLCAxNCwg
IiIsIHRydWUpOwotICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3Qud2FpdFVudGlsUGF1c2Vk
KHBhdXNlZCk7Ci0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgi
c2V0VGltZW91dChjbGlja0J1dHRvbiwgMCkiKTsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAg
ICAgZnVuY3Rpb24gcGF1c2VkKGNhbGxGcmFtZXMpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAg
ICAgICAgSW5zcGVjdG9yVGVzdC5jYXB0dXJlU3RhY2tUcmFjZShjYWxsRnJhbWVzKTsKLSAgICAg
ICAgICAgICAgICBuZXh0KCk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICBdKTsKLX07
Ci0KLTwvc2NyaXB0PgotCi08L2hlYWQ+Ci0KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxw
PlRlc3RzIGluc3RhbGxpbmcgY29tcGlsZXIgc291cmNlIG1hcCBpbiBzY3JpcHRzIHBhbmVsLjwv
cD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
aW5zcGVjdG9yL2NvbnNvbGUtY2QtY29tcGxldGlvbnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvY29uc29sZS1jZC1jb21wbGV0aW9ucy1leHBlY3RlZC50
eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDM0NmYzOTBhYTRiNjYzNjM2YjFiNGFj
OTdkYzI2YTk4NGMyNjkwOGEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvY29uc29sZS1jZC1jb21w
bGV0aW9ucy1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw2ICswLDAgQEAKLVRlc3Qg
dGhhdCBjb21wbGV0aW9ucyBpbiB0aGUgY29udGV4dCBvZiBhbiBpZnJhbWUgd2l0aCBhIGRpZmZl
cmVudCBvcmlnaW4gd2lsbCByZXN1bHQgaW4gbmFtZXMgb2YgaXRzIGdsb2JhbCB2YXJpYWJsZXMu
IFRlc3QgcGFzc2VzIGlmIGFsbCBnbG9iYWwgdmFyaWFibGVzIGFyZSBmb3VuZCBhbW9uZyBjb21w
bGV0aW9ucyBBTkQgdGhlcmUgYXJlIE5PIGNvbnNvbGUgbWVzc2FnZXMuIEJ1ZyA2NTQ1Ny4KLQot
Ci1teUdsb2JhbFZhcgotbXlHbG9iYWxGdW5jdGlvbgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9jb25zb2xlLWNkLWNvbXBsZXRpb25zLmh0bWwgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9jb25zb2xlLWNkLWNvbXBsZXRpb25zLmh0bWwK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM1MTRjYWE4MzgwNTYzODYzMTkzOTE1MjVl
Y2JlNDVkOTMyMmE4MTcuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvY29uc29sZS1jZC1jb21wbGV0
aW9ucy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNTMgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4K
LTxzY3JpcHQgc3JjPSJjb25zb2xlLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Imlu
c3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci0KLWZ1bmN0aW9uIHRlc3QoKQot
ewotICAgIEluc3BlY3RvclRlc3Quc2hvd0NvbnNvbGVQYW5lbCgpOwotICAgIHZhciBzZWxlY3Rv
ciA9IFdlYkluc3BlY3Rvci5jb25zb2xlVmlldy5fZnJhbWVTZWxlY3Rvci5fc2VsZWN0RWxlbWVu
dDsKLSAgICB2YXIgb3B0aW9uID0gc2VsZWN0b3IuZmlyc3RDaGlsZDsKLSAgICB3aGlsZSAob3B0
aW9uKSB7Ci0gICAgICAgIGlmIChvcHRpb24udGV4dENvbnRlbnQgJiYgb3B0aW9uLnRleHRDb250
ZW50LnN0YXJ0c1dpdGgoIm15SUZyYW1lIikpCi0gICAgICAgICAgICBicmVhazsKLSAgICAgICAg
b3B0aW9uID0gb3B0aW9uLm5leHRTaWJsaW5nOwotICAgIH0KLSAgICBpZiAoIW9wdGlvbikgewot
ICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiRkFJTEVEOiBteUlGcmFtZSBub3QgZm91
bmQgaW4gdGhlIGNvbnRleHQgbGlzdCIpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRl
VGVzdCgpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotICAgIG9wdGlvbi5zZWxlY3RlZCA9IHRy
dWU7Ci0gICAgV2ViSW5zcGVjdG9yLmNvbnNvbGVWaWV3Ll9mcmFtZUNoYW5nZWQoKTsKLQotICAg
IFdlYkluc3BlY3Rvci5ydW50aW1lTW9kZWwuX2NvbXBsZXRpb25zRm9yRXhwcmVzc2lvbigiIiwg
Im15R2xvYiIsIGZhbHNlLCBjaGVja0NvbXBsZXRpb25zLmJpbmQodGhpcykpOwotICAgIGZ1bmN0
aW9uIGNoZWNrQ29tcGxldGlvbnMoY29tcGxldGlvbnMpCi0gICAgewotICAgICAgICB2YXIgZXhw
ZWN0ZWQgPSBbIm15R2xvYmFsVmFyIiwgIm15R2xvYmFsRnVuY3Rpb24iXTsKLSAgICAgICAgZm9y
ICh2YXIgaSA9IDA7IGkgPCBleHBlY3RlZC5sZW5ndGg7ICsraSkgewotICAgICAgICAgICAgaWYg
KGNvbXBsZXRpb25zLmluZGV4T2YoZXhwZWN0ZWRbaV0pICE9PSAtMSkKLSAgICAgICAgICAgICAg
ICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdChleHBlY3RlZFtpXSk7Ci0gICAgICAgICAgICBlbHNl
Ci0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIk5PVCBGT1VORDogIiAr
IGV4cGVjdGVkW2ldKTsKLSAgICAgICAgfQotICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBDb25z
b2xlTWVzc2FnZXMoKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKLSAg
ICB9Ci19Ci0KLTwvc2NyaXB0PgotPC9oZWFkPgotCi08Ym9keT4KLTxwPgotVGVzdCB0aGF0IGNv
bXBsZXRpb25zIGluIHRoZSBjb250ZXh0IG9mIGFuIGlmcmFtZSB3aXRoIGEgZGlmZmVyZW50IG9y
aWdpbiB3aWxsCi1yZXN1bHQgaW4gbmFtZXMgb2YgaXRzIGdsb2JhbCB2YXJpYWJsZXMuIFRlc3Qg
cGFzc2VzIGlmIGFsbCBnbG9iYWwgdmFyaWFibGVzCi1hcmUgZm91bmQgYW1vbmcgY29tcGxldGlv
bnMgQU5EIHRoZXJlIGFyZSBOTyBjb25zb2xlIG1lc3NhZ2VzLgotPGEgaHJlZj0iaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY1NDU3Ij5CdWcgNjU0NTcuPC9hPgotPC9w
PgotPGlmcmFtZSBuYW1lPSJteUlGcmFtZSIgc3JjPSJodHRwOi8vbG9jYWxob3N0OjgwMDAvaW5z
cGVjdG9yL3Jlc291cmNlcy9jb25zb2xlLWNkLWNvbXBsZXRpb25zLWlmcmFtZS5odG1sIiBvbmxv
YWQ9InJ1blRlc3QoKSI+PC9pZnJhbWU+Ci0KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUtY2QtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvY29uc29sZS1jZC1leHBlY3RlZC50
eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDFhN2E3ZjlkMDYwNDdkZGRmOTFjMWUy
ZjkxNGI0ZTM0NGZjYjc4MjkuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvY29uc29sZS1jZC1leHBl
Y3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw1ICswLDAgQEAKLVRlc3RzIHRoYXQgY29uc29s
ZSBldmFsdWF0aW9uIGNhbiBiZSBwZXJmb3JtZWQgaW4gYW4gaWZyYW1lIGNvbnRleHQuQnVnIDE5
ODcyLgotCi0KLWZvbyA9IDIwMTEKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9pbnNwZWN0b3IvY29uc29sZS1jZC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNw
ZWN0b3IvY29uc29sZS1jZC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyNDgw
ZmNhY2E2YmY4ZjhiYzkxNWM2ZmRiZjA4MTFjMThmMDc4YzUwLi4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVj
dG9yL2NvbnNvbGUtY2QuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDQzICswLDAgQEAKLTxodG1s
PgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iY29uc29sZS10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSJpbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci0KLTxzY3JpcHQ+Ci0KLWZ1bmN0
aW9uIHRlc3QoKQotewotICAgIEluc3BlY3RvclRlc3Quc2hvd0NvbnNvbGVQYW5lbCgpOwotICAg
IHZhciBzZWxlY3RvciA9IFdlYkluc3BlY3Rvci5jb25zb2xlVmlldy5fZnJhbWVTZWxlY3Rvci5f
c2VsZWN0RWxlbWVudDsKLSAgICB2YXIgb3B0aW9uID0gc2VsZWN0b3IuZmlyc3RDaGlsZDsKLSAg
ICB3aGlsZSAob3B0aW9uKSB7Ci0gICAgICAgIGlmIChvcHRpb24udGV4dENvbnRlbnQgJiYgb3B0
aW9uLnRleHRDb250ZW50LnN0YXJ0c1dpdGgoIm15SUZyYW1lIikpCi0gICAgICAgICAgICBicmVh
azsKLSAgICAgICAgb3B0aW9uID0gb3B0aW9uLm5leHRTaWJsaW5nOwotICAgIH0KLSAgICBpZiAo
IW9wdGlvbikgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiRkFJTEVEOiBteUlG
cmFtZSBub3QgZm91bmQgaW4gdGhlIGNvbnRleHQgbGlzdCIpOwotICAgICAgICBJbnNwZWN0b3JU
ZXN0LmNvbXBsZXRlVGVzdCgpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotICAgIG9wdGlvbi5z
ZWxlY3RlZCA9IHRydWU7Ci0gICAgV2ViSW5zcGVjdG9yLmNvbnNvbGVWaWV3Ll9mcmFtZUNoYW5n
ZWQoKTsKLQotICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJbkNvbnNvbGVBbmREdW1wKCJmb28i
LCBmaW5pc2gpOwotICAgIGZ1bmN0aW9uIGZpbmlzaCgpCi0gICAgewotICAgICAgICBJbnNwZWN0
b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwotICAgIH0KLX0KLQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci0K
LTxib2R5PgotPHA+Ci1UZXN0cyB0aGF0IGNvbnNvbGUgZXZhbHVhdGlvbiBjYW4gYmUgcGVyZm9y
bWVkIGluIGFuIGlmcmFtZSBjb250ZXh0LjxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xOTg3MiI+QnVnIDE5ODcyLjwvYT4KLTwvcD4KLTxpZnJhbWUgbmFt
ZT0ibXlJRnJhbWUiIHNyYz0iaHR0cDovL2xvY2FsaG9zdDo4MDAwL2luc3BlY3Rvci9yZXNvdXJj
ZXMvY29uc29sZS1jZC1pZnJhbWUuaHRtbCIgb25sb2FkPSJydW5UZXN0KCkiPjwvaWZyYW1lPgot
Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2lu
c3BlY3Rvci9jb25zb2xlLWNyb3NzLW9yaWdpbi1pZnJhbWUtbG9nZ2luZy1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9jb25zb2xlLWNyb3NzLW9yaWdpbi1p
ZnJhbWUtbG9nZ2luZy1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDMyNmI2ODhjZDljOGQ5YWVhZTRlYzk4MTdmYjJlMWU1Mzk5MDAzOTMuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9p
bnNwZWN0b3IvY29uc29sZS1jcm9zcy1vcmlnaW4taWZyYW1lLWxvZ2dpbmctZXhwZWN0ZWQudHh0
CisrKyAvZGV2L251bGwKQEAgLTEsMTIgKzAsMCBAQAotQ09OU09MRSBNRVNTQUdFOiBCbG9ja2Vk
IGEgZnJhbWUgd2l0aCBvcmlnaW4gImh0dHA6Ly8xMjcuMC4wLjE6ODAwMCIgZnJvbSBhY2Nlc3Np
bmcgYSBmcmFtZSB3aXRoIG9yaWdpbiAiaHR0cDovL2xvY2FsaG9zdDo4MDAwIi4gUHJvdG9jb2xz
LCBkb21haW5zLCBhbmQgcG9ydHMgbXVzdCBtYXRjaC4KLUNPTlNPTEUgTUVTU0FHRTogQmxvY2tl
ZCBhIGZyYW1lIHdpdGggb3JpZ2luICJodHRwOi8vMTI3LjAuMC4xOjgwMDAiIGZyb20gYWNjZXNz
aW5nIGEgZnJhbWUgd2l0aCBvcmlnaW4gImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMCIuIFByb3RvY29s
cywgZG9tYWlucywgYW5kIHBvcnRzIG11c3QgbWF0Y2guCi1DT05TT0xFIE1FU1NBR0U6IFVuYWJs
ZSB0byBwb3N0IG1lc3NhZ2UgdG8gaHR0cDovLzEyNy4wLjAuMTo4MDAwLiBSZWNpcGllbnQgaGFz
IG9yaWdpbiBodHRwOi8vbG9jYWxob3N0OjgwMDAuCi0KLVRlc3RzIHRoYXQgY3Jvc3Mgb3JpZ2lu
IGVycm9ycyBhcmUgbG9nZ2VkIHdpdGggc291cmNlIHVybCBhbmQgbGluZSBudW1iZXIuCi0KLQot
QmxvY2tlZCBhIGZyYW1lIHdpdGggb3JpZ2luICJodHRwOi8vMTI3LjAuMC4xOjgwMDAiIGZyb20g
YWNjZXNzaW5nIGEgZnJhbWUgd2l0aCBvcmlnaW4gImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMCIuIFBy
b3RvY29scywgZG9tYWlucywgYW5kIHBvcnRzIG11c3QgbWF0Y2guIGNvbnNvbGUtY3Jvc3Mtb3Jp
Z2luLWlmcmFtZS1sb2dnaW5nLmh0bWw6OQotQmxvY2tlZCBhIGZyYW1lIHdpdGggb3JpZ2luICJo
dHRwOi8vMTI3LjAuMC4xOjgwMDAiIGZyb20gYWNjZXNzaW5nIGEgZnJhbWUgd2l0aCBvcmlnaW4g
Imh0dHA6Ly9sb2NhbGhvc3Q6ODAwMCIuIFByb3RvY29scywgZG9tYWlucywgYW5kIHBvcnRzIG11
c3QgbWF0Y2guIFtuYXRpdmUgY29kZV06MQotVW5hYmxlIHRvIHBvc3QgbWVzc2FnZSB0byBodHRw
Oi8vMTI3LjAuMC4xOjgwMDAuIFJlY2lwaWVudCBoYXMgb3JpZ2luIGh0dHA6Ly9sb2NhbGhvc3Q6
ODAwMC4KLSBbbmF0aXZlIGNvZGVdOjEKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9pbnNwZWN0b3IvY29uc29sZS1jcm9zcy1vcmlnaW4taWZyYW1lLWxvZ2dpbmcuaHRtbCBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUtY3Jvc3Mtb3JpZ2luLWlm
cmFtZS1sb2dnaW5nLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDU3ZDIxYTUx
ZWMzMjYwMTQ0ZDRhY2Q2YmEwMzhmMzlmY2FhNzg0MWMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3Iv
Y29uc29sZS1jcm9zcy1vcmlnaW4taWZyYW1lLWxvZ2dpbmcuaHRtbAorKysgL2Rldi9udWxsCkBA
IC0xLDUwICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iaW5zcGVjdG9yLXRl
c3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9ImNvbnNvbGUtdGVzdC5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0PgotZnVuY3Rpb24gYWNjZXNzRnJhbWUoKQotewotICAgIC8vIFNob3VsZCBmYWls
LgotICAgIHZhciBob3N0ID0gZnJhbWVzWzBdLmxvY2F0aW9uLmhvc3Q7Ci0KLSAgICAvLyBTaG91
bGQgZmFpbC4KLSAgICBmcmFtZXNbMF0ubG9jYXRpb24ucmVsb2FkKCk7Ci0KLSAgICAvLyBTaG91
bGQgZmFpbC4KLSAgICBmcmFtZXNbMF0ucG9zdE1lc3NhZ2UoImZhaWwiLCAiaHR0cDovLzEyNy4w
LjAuMTo4MDAwIik7Ci19Ci0KLWZ1bmN0aW9uIHRlc3QoKQotewotICAgIHZhciBmaW5pc2hBdHRl
bXB0c0xlZnQgPSA0OwotICAgIEluc3BlY3RvclRlc3QuYWRkQ29uc29sZVNuaWZmZXIobWF5YmVG
aW5pc2gsIHRydWUpOwotICAgIENvbnNvbGVBZ2VudC5zZXRNb25pdG9yaW5nWEhSRW5hYmxlZCh0
cnVlLCBzdGVwMSk7Ci0KLSAgICBmdW5jdGlvbiBzdGVwMSgpCi0gICAgewotICAgICAgICBJbnNw
ZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJhY2Nlc3NGcmFtZSgpIiwgbWF5YmVGaW5pc2gpOwot
ICAgIH0KLQotICAgIGZ1bmN0aW9uIG1heWJlRmluaXNoKCkKLSAgICB7Ci0gICAgICAgIC0tZmlu
aXNoQXR0ZW1wdHNMZWZ0OwotICAgICAgICBpZiAoZmluaXNoQXR0ZW1wdHNMZWZ0KQotICAgICAg
ICAgICAgcmV0dXJuOwotCi0gICAgICAgIENvbnNvbGVBZ2VudC5zZXRNb25pdG9yaW5nWEhSRW5h
YmxlZChmYWxzZSwgZmluaXNoKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBmaW5pc2goKQotICAg
IHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wQ29uc29sZU1lc3NhZ2VzKCk7Ci0gICAgICAg
IEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7Ci0gICAgfQotfQotPC9zY3JpcHQ+Ci08L2hl
YWQ+Ci08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci08cD5UZXN0cyB0aGF0IGNyb3NzIG9yaWdp
biBlcnJvcnMgYXJlIGxvZ2dlZCB3aXRoIHNvdXJjZSB1cmwgYW5kIGxpbmUgbnVtYmVyLjwvcD4K
LTxpZnJhbWUgc3JjPSJodHRwOi8vbG9jYWxob3N0OjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlcy9j
cm9zcy1vcmlnaW4taWZyYW1lLmh0bWwiPjwvaWZyYW1lPgotPC9ib2R5PgotPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvY29uc29sZS1yZXNvdXJj
ZS1lcnJvcnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3Iv
Y29uc29sZS1yZXNvdXJjZS1lcnJvcnMtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCBmMTRkYTk2ZWRiM2U3YjA2MDgwNzQxMjE5MTJmY2VkNGM5MDhhNzI4Li4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUtcmVzb3VyY2UtZXJyb3JzLWV4cGVjdGVkLnR4dAor
KysgL2Rldi9udWxsCkBAIC0xLDggKzAsMCBAQAotVGVzdHMgdGhhdCBlcnJvcnMgdG8gbG9hZCBh
IHJlc291cmNlIGNhdXNlIGVycm9yIG1lc3NhZ2VzIHRvIGJlIGxvZ2dlZCB0byBjb25zb2xlLgot
Ci0KLUdFVCBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL21pc3NpbmcuY3NzIDQwNCAo
Tm90IEZvdW5kKSBjb25zb2xlLXJlc291cmNlLWVycm9ycy1pZnJhbWUuaHRtbDozIGNvbnNvbGUt
bWVzc2FnZSBjb25zb2xlLWVycm9yLWxldmVsCi1HRVQgaHR0cDovLzEyNy4wLjAuMTo4MDAwL2lu
c3BlY3Rvci9ub24tZXhpc3RlbnQtaWZyYW1lLmh0bWwgNDA0IChOb3QgRm91bmQpIG5vbi1leGlz
dGVudC1pZnJhbWUuaHRtbDoxIGNvbnNvbGUtbWVzc2FnZSBjb25zb2xlLWVycm9yLWxldmVsCi1H
RVQgaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9ub24tZXhpc3RlbnQtc2NyaXB0Lmpz
IDQwNCAoTm90IEZvdW5kKSBjb25zb2xlLXJlc291cmNlLWVycm9ycy1pZnJhbWUuaHRtbDo0IGNv
bnNvbGUtbWVzc2FnZSBjb25zb2xlLWVycm9yLWxldmVsCi1HRVQgaHR0cDovLzEyNy4wLjAuMTo4
MDAwL2luc3BlY3Rvci9ub24tZXhpc3RlbnQteGhyIDQwNCAoTm90IEZvdW5kKSBbbmF0aXZlIGNv
ZGVdOjFzZW5kIFtuYXRpdmUgY29kZV06MWxvYWRYSFIgY29uc29sZS1yZXNvdXJjZS1lcnJvcnMu
aHRtbDoxOHBlcmZvcm1BY3Rpb25zIGNvbnNvbGUtcmVzb3VyY2UtZXJyb3JzLmh0bWw6MTBldmFs
IGNvZGVldmFsIFtuYXRpdmUgY29kZV06MWV2YWx1YXRlIFtuYXRpdmUgY29kZV06MV9ldmFsdWF0
ZU9uX2V2YWx1YXRlQW5kV3JhcGV2YWx1YXRlIGNvbnNvbGUtbWVzc2FnZSBjb25zb2xlLWVycm9y
LWxldmVsCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2Nv
bnNvbGUtcmVzb3VyY2UtZXJyb3JzLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3Bl
Y3Rvci9jb25zb2xlLXJlc291cmNlLWVycm9ycy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDEzMGM2MTE2MGZjMWFjZjY4MTk0N2FkOGFiNWZmMmI5N2FjZmYzLi4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUtcmVzb3VyY2UtZXJyb3JzLmh0bWwKKysrIC9kZXYvbnVs
bApAQCAtMSw1MyArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9ImNvbnNvbGUt
dGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iaW5zcGVjdG9yLXRlc3QuanMiPjwvc2Ny
aXB0PgotCi08c2NyaXB0PgotCi1mdW5jdGlvbiBwZXJmb3JtQWN0aW9ucygpCi17Ci0gICAgbG9h
ZFhIUigpOwotICAgIGxvYWRJZnJhbWUoKTsKLX0KLQotZnVuY3Rpb24gbG9hZFhIUigpCi17Ci0g
ICAgdmFyIHhociA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpOwotICAgIHhoci5vcGVuKCJHRVQiLCJu
b24tZXhpc3RlbnQteGhyIiwgZmFsc2UpOwotICAgIHhoci5zZW5kKG51bGwpOwotfQotCi1mdW5j
dGlvbiBsb2FkSWZyYW1lKCkKLXsKLSAgICB2YXIgaWZyYW1lID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgiaWZyYW1lIik7Ci0gICAgaWZyYW1lLnNyYyA9ICJyZXNvdXJjZXMvY29uc29sZS1yZXNv
dXJjZS1lcnJvcnMtaWZyYW1lLmh0bWwiOwotICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
aWZyYW1lKTsKLX0KLQotZnVuY3Rpb24gdGVzdCgpCi17Ci0gICAgSW5zcGVjdG9yVGVzdC5hZGRD
b25zb2xlU25pZmZlcihhZGRNZXNzYWdlLCB0cnVlKTsKLQotICAgIHZhciBtZXNzYWdlQ291bnQg
PSAwOwotICAgIGZ1bmN0aW9uIGFkZE1lc3NhZ2UobWVzc2FnZSkKLSAgICB7Ci0gICAgICAgaWYg
KG1lc3NhZ2UudG9TdHJpbmcoKS5pbmRleE9mKCJub24tZXhpc3RlbnQtaWZyYW1lIikgIT09IC0x
KSB7Ci0gICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwYW5kQ29uc29sZU1lc3NhZ2VzKCk7Ci0g
ICAgICAgICAgIEluc3BlY3RvclRlc3QuZHVtcENvbnNvbGVNZXNzYWdlc1dpdGhDbGFzc2VzKHRy
dWUpOwotICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwotICAgICAgICB9
Ci0gICAgfQotCi0gICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgicGVyZm9ybUFjdGlv
bnMoKSIpOwotfQotCi08L3NjcmlwdD4KLTwvaGVhZD4KLQotPGJvZHkgb25sb2FkPSJydW5UZXN0
KCkiPgotPHA+Ci1UZXN0cyB0aGF0IGVycm9ycyB0byBsb2FkIGEgcmVzb3VyY2UgY2F1c2UgZXJy
b3IgbWVzc2FnZXMgdG8gYmUgbG9nZ2VkIHRvIGNvbnNvbGUuCi08L3A+Ci08L2JvZHk+Ci08L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9jb25zb2xl
LXRlc3QuanMgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9jb25zb2xlLXRlc3Qu
anMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQ2YTc3NDllMTQwODVkMDJiODljNjNh
NzAzYWE3ZTRmNzU3NzQ0YjEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvY29uc29sZS10ZXN0Lmpz
CisrKyAvZGV2L251bGwKQEAgLTEsOTEgKzAsMCBAQAotdmFyIGluaXRpYWxpemVfQ29uc29sZVRl
c3QgPSBmdW5jdGlvbigpIHsKLQotSW5zcGVjdG9yVGVzdC5zaG93Q29uc29sZVBhbmVsID0gZnVu
Y3Rpb24oKQotewotICAgIFdlYkluc3BlY3Rvci5zaG93UGFuZWwoImNvbnNvbGUiKTsKLSAgICBX
ZWJJbnNwZWN0b3IuZHJhd2VyLmltbWVkaWF0ZWx5RmluaXNoQW5pbWF0aW9uKCk7Ci19Ci0KLUlu
c3BlY3RvclRlc3QuZHVtcENvbnNvbGVNZXNzYWdlcyA9IGZ1bmN0aW9uKHByaW50T3JpZ2luYXRp
bmdDb21tYW5kLCBkdW1wQ2xhc3NOYW1lcykKLXsKLSAgICB2YXIgcmVzdWx0ID0gW107Ci0gICAg
dmFyIG1lc3NhZ2VzID0gV2ViSW5zcGVjdG9yLmNvbnNvbGVWaWV3Ll92aXNpYmxlTWVzc2FnZXM7
Ci0gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBtZXNzYWdlcy5sZW5ndGg7ICsraSkgewotICAgICAg
ICB2YXIgZWxlbWVudCA9IG1lc3NhZ2VzW2ldLnRvTWVzc2FnZUVsZW1lbnQoKTsKLQotICAgICAg
ICBpZiAoZHVtcENsYXNzTmFtZXMpIHsKLSAgICAgICAgICAgIHZhciBjbGFzc05hbWVzID0gW107
Ci0gICAgICAgICAgICBmb3IgKHZhciBub2RlID0gZWxlbWVudC5maXJzdENoaWxkOyBub2RlOyBu
b2RlID0gbm9kZS50cmF2ZXJzZU5leHROb2RlKGVsZW1lbnQpKSB7Ci0gICAgICAgICAgICAgICAg
aWYgKG5vZGUubm9kZVR5cGUgPT09IE5vZGUuRUxFTUVOVF9OT0RFICYmIG5vZGUuY2xhc3NOYW1l
KQotICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWVzLnB1c2gobm9kZS5jbGFzc05hbWUpOwot
ICAgICAgICAgICAgfQotICAgICAgICB9Ci0KLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1
bHQoZWxlbWVudC50ZXh0Q29udGVudC5yZXBsYWNlKC9cdTIwMGIvZywgIiIpICsgKGR1bXBDbGFz
c05hbWVzID8gIiAiICsgY2xhc3NOYW1lcy5qb2luKCIgPiAiKSA6ICIiKSk7Ci0gICAgICAgIGlm
IChwcmludE9yaWdpbmF0aW5nQ29tbWFuZCAmJiBtZXNzYWdlc1tpXS5vcmlnaW5hdGluZ0NvbW1h
bmQpIHsKLSAgICAgICAgICAgIHZhciBvcmlnaW5hdGluZ0VsZW1lbnQgPSBtZXNzYWdlc1tpXS5v
cmlnaW5hdGluZ0NvbW1hbmQudG9NZXNzYWdlRWxlbWVudCgpOwotICAgICAgICAgICAgSW5zcGVj
dG9yVGVzdC5hZGRSZXN1bHQoIk9yaWdpbmF0aW5nIGZyb206ICIgKyBvcmlnaW5hdGluZ0VsZW1l
bnQudGV4dENvbnRlbnQucmVwbGFjZSgvXHUyMDBiL2csICIiKSk7Ci0gICAgICAgIH0KLSAgICB9
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotSW5zcGVjdG9yVGVzdC5kdW1wQ29uc29sZU1lc3Nh
Z2VzV2l0aFN0eWxlcyA9IGZ1bmN0aW9uKHNvcnRNZXNzYWdlcykKLXsKLSAgICB2YXIgcmVzdWx0
ID0gW107Ci0gICAgdmFyIG1lc3NhZ2VzID0gV2ViSW5zcGVjdG9yLmNvbnNvbGVWaWV3Ll92aXNp
YmxlTWVzc2FnZXM7Ci0gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBtZXNzYWdlcy5sZW5ndGg7ICsr
aSkgewotICAgICAgICB2YXIgZWxlbWVudCA9IG1lc3NhZ2VzW2ldLnRvTWVzc2FnZUVsZW1lbnQo
KTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoZWxlbWVudC50ZXh0Q29udGVudC5y
ZXBsYWNlKC9cdTIwMGIvZywgIiIpKTsKLSAgICAgICAgdmFyIHNwYW5zID0gZWxlbWVudC5xdWVy
eVNlbGVjdG9yQWxsKCIuY29uc29sZS1tZXNzYWdlLXRleHQgPiBzcGFuID4gc3BhbiIpOwotICAg
ICAgICBmb3IgKHZhciBqID0gMDsgaiA8IHNwYW5zLmxlbmd0aDsgaisrKQotICAgICAgICAgICAg
SW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIlN0eWxlZCB0ZXh0ICMiICsgaiArICI6ICIgKyAoc3Bh
bnNbal0uc3R5bGUuY3NzVGV4dCB8fCAiTk8gU1RZTEVTIERFRklORUQiKSk7Ci0gICAgfQotfQot
Ci1JbnNwZWN0b3JUZXN0LmR1bXBDb25zb2xlTWVzc2FnZXNXaXRoQ2xhc3NlcyA9IGZ1bmN0aW9u
KHNvcnRNZXNzYWdlcykgewotICAgIHZhciByZXN1bHQgPSBbXTsKLSAgICB2YXIgbWVzc2FnZXMg
PSBXZWJJbnNwZWN0b3IuY29uc29sZVZpZXcuX3Zpc2libGVNZXNzYWdlczsKLSAgICBmb3IgKHZh
ciBpID0gMDsgaSA8IG1lc3NhZ2VzLmxlbmd0aDsgKytpKSB7Ci0gICAgICAgIHZhciBlbGVtZW50
ID0gbWVzc2FnZXNbaV0udG9NZXNzYWdlRWxlbWVudCgpOwotICAgICAgICByZXN1bHQucHVzaChl
bGVtZW50LnRleHRDb250ZW50LnJlcGxhY2UoL1x1MjAwYi9nLCAiIikgKyAiICIgKyBlbGVtZW50
LmdldEF0dHJpYnV0ZSgiY2xhc3MiKSk7Ci0gICAgfQotICAgIGlmIChzb3J0TWVzc2FnZXMpCi0g
ICAgICAgIHJlc3VsdC5zb3J0KCk7Ci0gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBtZXNzYWdlcy5s
ZW5ndGg7ICsraSkKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQocmVzdWx0W2ldKTsK
LX0KLQotSW5zcGVjdG9yVGVzdC5leHBhbmRDb25zb2xlTWVzc2FnZXMgPSBmdW5jdGlvbigpCi17
Ci0gICAgdmFyIG1lc3NhZ2VzID0gV2ViSW5zcGVjdG9yLmNvbnNvbGVWaWV3Ll92aXNpYmxlTWVz
c2FnZXM7Ci0gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBtZXNzYWdlcy5sZW5ndGg7ICsraSkgewot
ICAgICAgICB2YXIgZWxlbWVudCA9IG1lc3NhZ2VzW2ldLnRvTWVzc2FnZUVsZW1lbnQoKTsKLSAg
ICAgICAgdmFyIG5vZGUgPSBlbGVtZW50OwotICAgICAgICB3aGlsZSAobm9kZSkgewotICAgICAg
ICAgICAgaWYgKG5vZGUudHJlZUVsZW1lbnRGb3JUZXN0KQotICAgICAgICAgICAgICAgIG5vZGUu
dHJlZUVsZW1lbnRGb3JUZXN0LmV4cGFuZCgpOwotICAgICAgICAgICAgbm9kZSA9IG5vZGUudHJh
dmVyc2VOZXh0Tm9kZShlbGVtZW50KTsKLSAgICAgICAgfQotICAgIH0KLX0KLQotSW5zcGVjdG9y
VGVzdC5jaGVja0NvbnNvbGVNZXNzYWdlc0RvbnRIYXZlUGFyYW1ldGVycyA9IGZ1bmN0aW9uKCkK
LXsKLSAgICB2YXIgbWVzc2FnZXMgPSBXZWJJbnNwZWN0b3IuY29uc29sZVZpZXcuX3Zpc2libGVN
ZXNzYWdlczsKLSAgICBmb3IgKHZhciBpID0gMDsgaSA8IG1lc3NhZ2VzLmxlbmd0aDsgKytpKSB7
Ci0gICAgICAgIHZhciBtID0gbWVzc2FnZXNbaV07Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRk
UmVzdWx0KCJNZXNzYWdlWyIgKyBpICsgIl06Iik7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRk
UmVzdWx0KCJNZXNzYWdlOiAiICsgV2ViSW5zcGVjdG9yLmRpc3BsYXlOYW1lRm9yVVJMKG0udXJs
KSArICI6IiArIG0ubGluZSArICIgIiArIG0ubWVzc2FnZSk7Ci0gICAgICAgIGlmICgiX3BhcmFt
ZXRlcnMiIGluIG0pIHsKLSAgICAgICAgICAgIGlmIChtLl9wYXJhbWV0ZXJzKQotICAgICAgICAg
ICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJGQUlMRUQ6IG1lc3NhZ2UgcGFyYW1ldGVy
cyBsaXN0IGlzIG5vdCBlbXB0eTogIiArIG0uX3BhcmFtZXRlcnMpOwotICAgICAgICAgICAgZWxz
ZQotICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJTVUNDRVNTOiBtZXNz
YWdlIHBhcmFtZXRlcnMgbGlzdCBpcyBlbXB0eS4gIik7Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAg
ICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiRkFJTEVEOiBkaWRuJ3QgZmluZCBfcGFy
YW1ldGVycyBmaWVsZCBpbiB0aGUgbWVzc2FnZS4iKTsKLSAgICAgICAgfQotICAgIH0KLX0KLQot
fQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvY29uc29sZS13
ZWJzb2NrZXQtZXJyb3IuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2Nv
bnNvbGUtd2Vic29ja2V0LWVycm9yLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDJmMTJjY2Y1NzM5MWQ0YzFmMGYyN2MzYWJmMzFlYzg3MWY3MDJkZWYuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9p
bnNwZWN0b3IvY29uc29sZS13ZWJzb2NrZXQtZXJyb3IuaHRtbAorKysgL2Rldi9udWxsCkBAIC0x
LDg0ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iaW5zcGVjdG9yLXRlc3Qu
anMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9ImNvbnNvbGUtdGVzdC5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0PgotdmFyIHRlc3RGdW5jdGlvbnMgPSBbdGVzdEROU0xvb2t1cCwgdGVzdFNTTENlcnRp
ZmljYXRlXTsKLXZhciBuZXh0VGVzdEluZGV4ID0gMDsKLQotZnVuY3Rpb24gb25sb2FkKCkKLXsK
LSAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGls
RG9uZSgpOwotICAgIGlmICghd2luZG93LldlYlNvY2tldCkgewotICAgICAgICBjb25zb2xlLmxv
ZygiV2ViU29ja2V0IGlzIG5vdCBzdXBwb3J0ZWQuIik7IHJldHVybjsKLSAgICB9Ci0gICAgZG9O
ZXh0VGVzdCgpOwotfQotCi1mdW5jdGlvbiBkb05leHRUZXN0KCkKLXsKLSAgICBpZiAobmV4dFRl
c3RJbmRleCA9PSB0ZXN0RnVuY3Rpb25zLmxlbmd0aCkgewotICAgICAgICBydW5UZXN0KCk7Ci0g
ICAgICAgIHJldHVybjsKLSAgICB9Ci0gICAgdmFyIHRlc3RGdW5jdGlvbiA9IHRlc3RGdW5jdGlv
bnNbbmV4dFRlc3RJbmRleF07Ci0gICAgbmV4dFRlc3RJbmRleCsrOwotICAgIHRlc3RGdW5jdGlv
bigpOwotfQotCi1mdW5jdGlvbiB0ZXN0RE5TTG9va3VwKCkKLXsKLSAgICBjb25zb2xlLmxvZygi
dGVzdEROU0xvb2t1cDogVGVzdCBzdGFydGVkLiIpOwotICAgIHZhciB3cyA9IG5ldyBXZWJTb2Nr
ZXQoIndzOi8vbm9uZXhpc3RlbnQuZG9tYWluLmludmFsaWQvIik7IC8vIE5ldHdvcmsgZXJyb3Ig
c2hvdWxkIGJlIGxvZ2dlZCB0byBjb25zb2xlLgotICAgIHdzLm9ub3BlbiA9IGZ1bmN0aW9uKCkg
ewotICAgICAgICBjb25zb2xlLmxvZygidGVzdEROU0xvb2t1cDogb25vcGVuIGlzIGNhbGxlZC4i
KTsKLSAgICAgICAgd3MuY2xvc2UoKTsKLSAgICB9OwotICAgIHdzLm9uZXJyb3IgPSBmdW5jdGlv
bigpIHsKLSAgICAgICAgY29uc29sZS5sb2coInRlc3RETlNMb29rdXA6IG9uZXJyb3IgaXMgY2Fs
bGVkLiIpOwotICAgICAgICB3cy5jbG9zZSgpOwotICAgIH07Ci0gICAgd3Mub25jbG9zZSA9IGZ1
bmN0aW9uKCkgewotICAgICAgICBjb25zb2xlLmxvZygidGVzdEROU0xvb2t1cDogb25jbG9zZSBp
cyBjYWxsZWQuIik7Ci0gICAgICAgIGRvTmV4dFRlc3QoKTsKLSAgICB9OwotfQotCi1mdW5jdGlv
biB0ZXN0U1NMQ2VydGlmaWNhdGUoKQotewotICAgIGNvbnNvbGUubG9nKCJ0ZXN0U1NMQ2VydGlm
aWNhdGU6IFRlc3Qgc3RhcnRlZC4iKTsKLSAgICAvLyBUaGUgZm9sbG93aW5nIHN0YXRlbWVudCBz
aG91bGQgY2F1c2UgIlVudHJ1c3RlZCByb290IGNlcnRpZmljYXRlIiBlcnJvci4KLSAgICAvLyBO
b3RlIHRoYXQgcG9ydCA4NDQzIHNlcnZlcyBIVFRQUyBjb250ZW50IHJhdGhlciB0aGFuIHNlY3Vy
ZSBXZWJTb2NrZXQsCi0gICAgLy8gYnV0IGl0IGRvZXMgbm90IG1hdHRlciBiZWNhdXNlIHRoZSB0
ZXN0IGRvZXMgbm90IHNlbmQgb3IgcmVjZWl2ZSBhbnkgcGF5bG9hZC4KLSAgICB2YXIgd3MgPSBu
ZXcgV2ViU29ja2V0KCJ3c3M6Ly8xMjcuMC4wLjE6ODQ0My8iKTsKLSAgICB3cy5vbm9wZW4gPSBm
dW5jdGlvbigpIHsKLSAgICAgICAgY29uc29sZS5sb2coInRlc3RTU0xDZXJ0aWZpY2F0ZTogb25v
cGVuIGlzIGNhbGxlZC4iKTsKLSAgICAgICAgd3MuY2xvc2UoKTsKLSAgICB9OwotICAgIHdzLm9u
ZXJyb3IgPSBmdW5jdGlvbigpIHsKLSAgICAgICAgY29uc29sZS5sb2coInRlc3RTU0xDZXJ0aWZp
Y2F0ZTogb25lcnJvciBpcyBjYWxsZWQuIik7Ci0gICAgICAgIHdzLmNsb3NlKCk7Ci0gICAgfTsK
LSAgICB3cy5vbmNsb3NlID0gZnVuY3Rpb24oKSB7Ci0gICAgICAgIGNvbnNvbGUubG9nKCJ0ZXN0
U1NMQ2VydGlmaWNhdGU6IG9uY2xvc2UgaXMgY2FsbGVkLiIpOwotICAgICAgICBkb05leHRUZXN0
KCk7Ci0gICAgfTsKLX0KLQotZnVuY3Rpb24gdGVzdCgpCi17Ci0gICAgSW5zcGVjdG9yVGVzdC5k
dW1wQ29uc29sZU1lc3NhZ2VzKCk7Ci0gICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsK
LX0KLQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci0KLTxib2R5IG9ubG9hZD0ib25sb2FkKCkiPgotPHA+
Ci1XZWJTb2NrZXQncyBuZXR3b3JrIGVycm9ycyBzaG91bGQgYmUgbG9nZ2VkIHRvIGNvbnNvbGUu
Ci08L3A+Ci0KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUteGhyLWxvZ2dpbmctYXN5bmMtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvY29uc29sZS14aHItbG9nZ2luZy1hc3lu
Yy1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDYyMTYxYjNlYjM4
MGNmNTFhZjEyZGQxMjU2YzMxZDkwZDE4ZjUxZGMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvY29u
c29sZS14aHItbG9nZ2luZy1hc3luYy1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw5
ICswLDAgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSA2OiBYSFIgbG9hZGVkOiAxCi1DT05TT0xF
IE1FU1NBR0U6IGxpbmUgNjogWEhSIGxvYWRlZDogMgotVGVzdHMgdGhhdCBYTUxIdHRwUmVxdWVz
dCBMb2dnaW5nIHdvcmtzIHdoZW4gRW5hYmxlZCBhbmQgZG9lc24ndCBzaG93IGxvZ3Mgd2hlbiBE
aXNhYmxlZCBmb3IgYXN5bmNocm9ub3VzIFhIUnMuCi0KLUJ1ZyA3OTIyOQotWEhSIGZpbmlzaGVk
IGxvYWRpbmc6ICJodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlcy94aHIt
ZXhpc3RzLmh0bWwiLiBbbmF0aXZlIGNvZGVdOjEKLVhIUiBsb2FkZWQ6IDEgbmV0d29yay10ZXN0
LmpzOjYKLVhIUiBsb2FkZWQ6IDIgbmV0d29yay10ZXN0LmpzOjYKLQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvY29uc29sZS14aHItbG9nZ2luZy1hc3luYy5o
dG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvY29uc29sZS14aHItbG9nZ2lu
Zy1hc3luYy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhNTRkY2YyYzYwMjE4
ZjJiNzZiZGJhNTc3YTEzNTE0YzZhZTFjNmMzLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2NvbnNv
bGUteGhyLWxvZ2dpbmctYXN5bmMuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDU0ICswLDAgQEAK
LTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9ImNvbnNvbGUtdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
bmV0d29yay10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci1mdW5jdGlvbiB0ZXN0KCkKLXsK
LSAgICBzdGVwMSgpOwotCi0gICAgZnVuY3Rpb24gbWFrZVJlcXVlc3QoY2FsbGJhY2spCi0gICAg
ewotICAgICAgICBJbnNwZWN0b3JUZXN0Lm1ha2VTaW1wbGVYSFIoIkdFVCIsICJyZXNvdXJjZXMv
eGhyLWV4aXN0cy5odG1sIiwgdHJ1ZSwgY2FsbGJhY2spOwotICAgIH0KLQotICAgIGZ1bmN0aW9u
IHN0ZXAxKCkKLSAgICB7Ci0gICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrKCkKLSAgICAgICAgewot
ICAgICAgICAgICAgbWFrZVJlcXVlc3Qoc3RlcDIpOwotICAgICAgICB9Ci0KLSAgICAgICAgQ29u
c29sZUFnZW50LnNldE1vbml0b3JpbmdYSFJFbmFibGVkKHRydWUsIGNhbGxiYWNrKTsKLSAgICB9
Ci0KLSAgICBmdW5jdGlvbiBzdGVwMigpCi0gICAgewotICAgICAgICBmdW5jdGlvbiBjYWxsYmFj
aygpCi0gICAgICAgIHsKLSAgICAgICAgICAgIG1ha2VSZXF1ZXN0KHN0ZXAzKTsKLSAgICAgICAg
fQotCi0gICAgICAgIENvbnNvbGVBZ2VudC5zZXRNb25pdG9yaW5nWEhSRW5hYmxlZChmYWxzZSwg
Y2FsbGJhY2spOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0ZXAzKCkKLSAgICB7Ci0gICAgICAg
IGZ1bmN0aW9uIGZpbmlzaCgpCi0gICAgICAgIHsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3Qu
ZHVtcENvbnNvbGVNZXNzYWdlcygpOwotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0
ZVRlc3QoKTsKLSAgICAgICAgfQotICAgICAgICBJbnNwZWN0b3JUZXN0LnJ1bkFmdGVyUGVuZGlu
Z0Rpc3BhdGNoZXMoZmluaXNoKTsKLSAgICB9Ci19Ci0KLTwvc2NyaXB0PgotPC9oZWFkPgotCi08
Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci08cD5UZXN0cyB0aGF0IFhNTEh0dHBSZXF1ZXN0IExv
Z2dpbmcgd29ya3Mgd2hlbiBFbmFibGVkIGFuZCBkb2Vzbid0IHNob3cgbG9ncyB3aGVuIERpc2Fi
bGVkIGZvciBhc3luY2hyb25vdXMgWEhScy48L3A+Ci08YSBocmVmPSJodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzkyMjkiPkJ1ZyA3OTIyOTwvYT4KLTwvYm9keT4KLTwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2NvbnNv
bGUteGhyLWxvZ2dpbmctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNw
ZWN0b3IvY29uc29sZS14aHItbG9nZ2luZy1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IGE1MDk2Zjg5YjE1MmQ1ZmFkNWQzZWM5NTAyMjUwNDQ4ZTFlYjc3NDQuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9pbnNwZWN0b3IvY29uc29sZS14aHItbG9nZ2luZy1leHBlY3RlZC50eHQKKysr
IC9kZXYvbnVsbApAQCAtMSwyOCArMCwwIEBACi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTA6IHNl
bmRpbmcgYSAlcyByZXF1ZXN0IHRvICVzCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTA6IHNlbmRp
bmcgYSAlcyByZXF1ZXN0IHRvICVzCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTA6IHNlbmRpbmcg
YSAlcyByZXF1ZXN0IHRvICVzCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTA6IHNlbmRpbmcgYSAl
cyByZXF1ZXN0IHRvICVzCi1DT05TT0xFIE1FU1NBR0U6IFhNTEh0dHBSZXF1ZXN0IGNhbm5vdCBs
b2FkIGh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2VzL3hoci1leGlzdHMu
aHRtbC4gT3JpZ2luIGh0dHA6Ly8xMjcuMC4wLjE6ODAwMCBpcyBub3QgYWxsb3dlZCBieSBBY2Nl
c3MtQ29udHJvbC1BbGxvdy1PcmlnaW4uCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTA6IHNlbmRp
bmcgYSAlcyByZXF1ZXN0IHRvICVzCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTA6IHNlbmRpbmcg
YSAlcyByZXF1ZXN0IHRvICVzCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTA6IHNlbmRpbmcgYSAl
cyByZXF1ZXN0IHRvICVzCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTA6IHNlbmRpbmcgYSAlcyBy
ZXF1ZXN0IHRvICVzCi1DT05TT0xFIE1FU1NBR0U6IFhNTEh0dHBSZXF1ZXN0IGNhbm5vdCBsb2Fk
IGh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2VzL3hoci1leGlzdHMuaHRt
bC4gT3JpZ2luIGh0dHA6Ly8xMjcuMC4wLjE6ODAwMCBpcyBub3QgYWxsb3dlZCBieSBBY2Nlc3Mt
Q29udHJvbC1BbGxvdy1PcmlnaW4uCi1UZXN0cyB0aGF0IFhNTEh0dHBSZXF1ZXN0IExvZ2dpbmcg
d29ya3Mgd2hlbiBFbmFibGVkIGFuZCBkb2Vzbid0IHNob3cgbG9ncyB3aGVuIERpc2FibGVkLgot
Ci1zZW5kaW5nIGEgR0VUIHJlcXVlc3QgdG8gcmVzb3VyY2VzL3hoci1leGlzdHMuaHRtbCBjb25z
b2xlLXhoci1sb2dnaW5nLmh0bWw6MTAKLVhIUiBmaW5pc2hlZCBsb2FkaW5nOiAiaHR0cDovLzEy
Ny4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZXMveGhyLWV4aXN0cy5odG1sIi4gW25hdGl2
ZSBjb2RlXToxCi1zZW5kaW5nIGEgR0VUIHJlcXVlc3QgdG8gcmVzb3VyY2VzL3hoci1kb2VzLW5v
dC1leGlzdC5odG1sIGNvbnNvbGUteGhyLWxvZ2dpbmcuaHRtbDoxMAotR0VUIGh0dHA6Ly8xMjcu
MC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2VzL3hoci1kb2VzLW5vdC1leGlzdC5odG1sIDQw
NCAoTm90IEZvdW5kKSBbbmF0aXZlIGNvZGVdOjEKLVhIUiBmaW5pc2hlZCBsb2FkaW5nOiAiaHR0
cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZXMveGhyLWRvZXMtbm90LWV4aXN0
Lmh0bWwiLiBbbmF0aXZlIGNvZGVdOjEKLXNlbmRpbmcgYSBQT1NUIHJlcXVlc3QgdG8gcmVzb3Vy
Y2VzL3Bvc3QtdGFyZ2V0LmNnaSBjb25zb2xlLXhoci1sb2dnaW5nLmh0bWw6MTAKLVhIUiBmaW5p
c2hlZCBsb2FkaW5nOiAiaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZXMv
cG9zdC10YXJnZXQuY2dpIi4gW25hdGl2ZSBjb2RlXToxCi1zZW5kaW5nIGEgR0VUIHJlcXVlc3Qg
dG8gaHR0cDovL2xvY2FsaG9zdDo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZXMveGhyLWV4aXN0cy5o
dG1sIGNvbnNvbGUteGhyLWxvZ2dpbmcuaHRtbDoxMAotWE1MSHR0cFJlcXVlc3QgY2Fubm90IGxv
YWQgaHR0cDovL2xvY2FsaG9zdDo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZXMveGhyLWV4aXN0cy5o
dG1sLiBPcmlnaW4gaHR0cDovLzEyNy4wLjAuMTo4MDAwIGlzIG5vdCBhbGxvd2VkIGJ5IEFjY2Vz
cy1Db250cm9sLUFsbG93LU9yaWdpbi4gW25hdGl2ZSBjb2RlXToxCi1zZW5kaW5nIGEgR0VUIHJl
cXVlc3QgdG8gcmVzb3VyY2VzL3hoci1leGlzdHMuaHRtbCBjb25zb2xlLXhoci1sb2dnaW5nLmh0
bWw6MTAKLXNlbmRpbmcgYSBHRVQgcmVxdWVzdCB0byByZXNvdXJjZXMveGhyLWRvZXMtbm90LWV4
aXN0Lmh0bWwgY29uc29sZS14aHItbG9nZ2luZy5odG1sOjEwCi1HRVQgaHR0cDovLzEyNy4wLjAu
MTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZXMveGhyLWRvZXMtbm90LWV4aXN0Lmh0bWwgNDA0IChO
b3QgRm91bmQpIFtuYXRpdmUgY29kZV06MQotc2VuZGluZyBhIFBPU1QgcmVxdWVzdCB0byByZXNv
dXJjZXMvcG9zdC10YXJnZXQuY2dpIGNvbnNvbGUteGhyLWxvZ2dpbmcuaHRtbDoxMAotc2VuZGlu
ZyBhIEdFVCByZXF1ZXN0IHRvIGh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9pbnNwZWN0b3IvcmVzb3Vy
Y2VzL3hoci1leGlzdHMuaHRtbCBjb25zb2xlLXhoci1sb2dnaW5nLmh0bWw6MTAKLVhNTEh0dHBS
ZXF1ZXN0IGNhbm5vdCBsb2FkIGh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9pbnNwZWN0b3IvcmVzb3Vy
Y2VzL3hoci1leGlzdHMuaHRtbC4gT3JpZ2luIGh0dHA6Ly8xMjcuMC4wLjE6ODAwMCBpcyBub3Qg
YWxsb3dlZCBieSBBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4uIFtuYXRpdmUgY29kZV06MQot
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9jb25zb2xlLXho
ci1sb2dnaW5nLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9jb25zb2xl
LXhoci1sb2dnaW5nLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDhjYzg5MTVi
NTBiNjNiNWFjNjkwYjBkYzZiZDQ1NzQ2N2QwZjRkMDkuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3Iv
Y29uc29sZS14aHItbG9nZ2luZy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNjggKzAsMCBAQAot
PGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSJpbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0IHNyYz0iY29uc29sZS10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJu
ZXR3b3JrLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLWZ1bmN0aW9uIHJlcXVlc3RIZWxw
ZXIobWV0aG9kLCB1cmwpCi17Ci0gICAgLy8gTWFrZSBzeW5jaHJvbm91cyByZXF1ZXN0cyBmb3Ig
c2ltcGxpY2l0eS4KLSAgICBjb25zb2xlLmxvZygic2VuZGluZyBhICVzIHJlcXVlc3QgdG8gJXMi
LCBtZXRob2QsIHVybCk7Ci0gICAgbWFrZVNpbXBsZVhIUihtZXRob2QsIHVybCwgZmFsc2UpOwot
fQotCi1mdW5jdGlvbiBtYWtlUmVxdWVzdHMoKQotewotICAgIC8vIDEuIFBhZ2UgdGhhdCBleGlz
dHMuCi0gICAgcmVxdWVzdEhlbHBlcigiR0VUIiwgInJlc291cmNlcy94aHItZXhpc3RzLmh0bWwi
KTsKLSAgICAvLyAyLiBQYWdlIHRoYXQgZG9lc24ndCBleGlzdC4KLSAgICByZXF1ZXN0SGVscGVy
KCJHRVQiLCAicmVzb3VyY2VzL3hoci1kb2VzLW5vdC1leGlzdC5odG1sIik7Ci0gICAgLy8gMy4g
UE9TVCB0byBhIHBhZ2UuCi0gICAgcmVxdWVzdEhlbHBlcigiUE9TVCIsICJyZXNvdXJjZXMvcG9z
dC10YXJnZXQuY2dpIik7Ci0gICAgLy8gNC4gQ3Jvc3Mtb3JpZ2luIHJlcXVlc3QKLSAgICByZXF1
ZXN0SGVscGVyKCJHRVQiLCAiaHR0cDovL2xvY2FsaG9zdDo4MDAwL2luc3BlY3Rvci9yZXNvdXJj
ZXMveGhyLWV4aXN0cy5odG1sIik7Ci19Ci0KLWZ1bmN0aW9uIHRlc3QoKQotewotICAgIHN0ZXAx
KCk7Ci0KLSAgICBmdW5jdGlvbiBzdGVwMSgpCi0gICAgewotICAgICAgICBmdW5jdGlvbiBjYWxs
YmFjaygpCi0gICAgICAgIHsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBh
Z2UoIm1ha2VSZXF1ZXN0cygpIiwgc3RlcDIpOwotICAgICAgICB9Ci0gICAgICAgIENvbnNvbGVB
Z2VudC5zZXRNb25pdG9yaW5nWEhSRW5hYmxlZCh0cnVlLCBjYWxsYmFjayk7Ci0gICAgfQotCi0g
ICAgZnVuY3Rpb24gc3RlcDIoKQotICAgIHsKLSAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2soKQot
ICAgICAgICB7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJtYWtl
UmVxdWVzdHMoKSIsIHN0ZXAzKTsKLSAgICAgICAgfQotICAgICAgICBDb25zb2xlQWdlbnQuc2V0
TW9uaXRvcmluZ1hIUkVuYWJsZWQoZmFsc2UsIGNhbGxiYWNrKTsKLSAgICB9Ci0KLSAgICBmdW5j
dGlvbiBzdGVwMygpCi0gICAgewotICAgICAgICBmdW5jdGlvbiBmaW5pc2goKQotICAgICAgICB7
Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBDb25zb2xlTWVzc2FnZXMoKTsKLSAgICAg
ICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7Ci0gICAgICAgIH0KLSAgICAgICAg
SW5zcGVjdG9yVGVzdC5ydW5BZnRlclBlbmRpbmdEaXNwYXRjaGVzKGZpbmlzaCk7Ci0gICAgfQot
fQotCi08L3NjcmlwdD4KLTwvaGVhZD4KLQotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotPHA+
Ci1UZXN0cyB0aGF0IFhNTEh0dHBSZXF1ZXN0IExvZ2dpbmcgd29ya3Mgd2hlbiBFbmFibGVkIGFu
ZCBkb2Vzbid0IHNob3cgbG9ncyB3aGVuIERpc2FibGVkLgotPC9wPgotCi08L2JvZHk+Ci08L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9kZWJ1Z2dl
ci10ZXN0LmpzIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvZGVidWdnZXItdGVz
dC5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOGRlM2NhYzJlMmQ5ODJhN2FlYWVm
ODg1ODRiOGQ1MmJjOWRhODQyYS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci10ZXN0
LmpzCisrKyAvZGV2L251bGwKQEAgLTEsMzEyICswLDAgQEAKLXZhciBpbml0aWFsaXplX0RlYnVn
Z2VyVGVzdCA9IGZ1bmN0aW9uKCkgewotCi1JbnNwZWN0b3JUZXN0LnN0YXJ0RGVidWdnZXJUZXN0
ID0gZnVuY3Rpb24oY2FsbGJhY2ssIHF1aWV0KQotewotICAgIGlmIChxdWlldCAhPT0gdW5kZWZp
bmVkKQotICAgICAgICBJbnNwZWN0b3JUZXN0Ll9xdWlldCA9IHF1aWV0OwotICAgIFdlYkluc3Bl
Y3Rvci5zaG93UGFuZWwoInNjcmlwdHMiKTsKLQotICAgIGlmIChXZWJJbnNwZWN0b3IuZGVidWdn
ZXJNb2RlbC5kZWJ1Z2dlckVuYWJsZWQoKSkKLSAgICAgICAgc3RhcnRUZXN0KCk7Ci0gICAgZWxz
ZSB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkU25pZmZlcihXZWJJbnNwZWN0b3IuZGVidWdn
ZXJNb2RlbCwgIl9kZWJ1Z2dlcldhc0VuYWJsZWQiLCBzdGFydFRlc3QpOwotICAgICAgICBXZWJJ
bnNwZWN0b3IuZGVidWdnZXJNb2RlbC5lbmFibGVEZWJ1Z2dlcigpOwotICAgIH0KLQotICAgIGZ1
bmN0aW9uIHN0YXJ0VGVzdCgpCi0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3Vs
dCgiRGVidWdnZXIgd2FzIGVuYWJsZWQuIik7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkU25p
ZmZlcihXZWJJbnNwZWN0b3IuZGVidWdnZXJNb2RlbCwgIl9wYXVzZWRTY3JpcHQiLCBJbnNwZWN0
b3JUZXN0Ll9wYXVzZWRTY3JpcHQsIHRydWUpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFNu
aWZmZXIoV2ViSW5zcGVjdG9yLmRlYnVnZ2VyTW9kZWwsICJfcmVzdW1lZFNjcmlwdCIsIEluc3Bl
Y3RvclRlc3QuX3Jlc3VtZWRTY3JpcHQsIHRydWUpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LnNh
ZmVXcmFwKGNhbGxiYWNrKSgpOwotICAgIH0KLX07Ci0KLUluc3BlY3RvclRlc3QuZmluaXNoRGVi
dWdnZXJUZXN0ID0gZnVuY3Rpb24oY2FsbGJhY2spCi17Ci0gICAgdmFyIHNjcmlwdHNQYW5lbCA9
IFdlYkluc3BlY3Rvci5wYW5lbHMuc2NyaXB0czsKLQotICAgIFdlYkluc3BlY3Rvci5kZWJ1Z2dl
ck1vZGVsLnNldEJyZWFrcG9pbnRzQWN0aXZlKHRydWUpOwotICAgIEluc3BlY3RvclRlc3QucmVz
dW1lRXhlY3V0aW9uKGRpc2FibGVEZWJ1Z2dlcik7Ci0KLSAgICBmdW5jdGlvbiBkaXNhYmxlRGVi
dWdnZXIoKQotICAgIHsKLSAgICAgICAgaWYgKCFXZWJJbnNwZWN0b3IuZGVidWdnZXJNb2RlbC5k
ZWJ1Z2dlckVuYWJsZWQoKSkKLSAgICAgICAgICAgIGNvbXBsZXRlVGVzdCgpOwotICAgICAgICBl
bHNlIHsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkU25pZmZlcihXZWJJbnNwZWN0b3Iu
ZGVidWdnZXJNb2RlbCwgIl9kZWJ1Z2dlcldhc0Rpc2FibGVkIiwgZGVidWdnZXJEaXNhYmxlZCk7
Ci0gICAgICAgICAgICBXZWJJbnNwZWN0b3IuZGVidWdnZXJNb2RlbC5kaXNhYmxlRGVidWdnZXIo
KTsKLSAgICAgICAgfQotICAgIH0KLQotICAgIGZ1bmN0aW9uIGRlYnVnZ2VyRGlzYWJsZWQoKQot
ICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIkRlYnVnZ2VyIHdhcyBkaXNh
YmxlZC4iKTsKLSAgICAgICAgY2FsbGJhY2soKTsKLSAgICB9Ci19OwotCi1JbnNwZWN0b3JUZXN0
LmNvbXBsZXRlRGVidWdnZXJUZXN0ID0gZnVuY3Rpb24oKQotewotICAgIEluc3BlY3RvclRlc3Qu
ZmluaXNoRGVidWdnZXJUZXN0KEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0LmJpbmQoSW5zcGVj
dG9yVGVzdCkpOwotfTsKLQotSW5zcGVjdG9yVGVzdC5ydW5EZWJ1Z2dlclRlc3RTdWl0ZSA9IGZ1
bmN0aW9uKHRlc3RTdWl0ZSkKLXsKLSAgICB2YXIgdGVzdFN1aXRlVGVzdHMgPSB0ZXN0U3VpdGUu
c2xpY2UoKTsKLQotICAgIGZ1bmN0aW9uIHJ1bm5lcigpCi0gICAgewotICAgICAgICBpZiAoIXRl
c3RTdWl0ZVRlc3RzLmxlbmd0aCkgewotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0
ZURlYnVnZ2VyVGVzdCgpOwotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB9Ci0KLSAgICAg
ICAgdmFyIG5leHRUZXN0ID0gdGVzdFN1aXRlVGVzdHMuc2hpZnQoKTsKLSAgICAgICAgSW5zcGVj
dG9yVGVzdC5hZGRSZXN1bHQoIiIpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgi
UnVubmluZzogIiArIC9mdW5jdGlvblxzKFteKF0qKS8uZXhlYyhuZXh0VGVzdClbMV0pOwotICAg
ICAgICBJbnNwZWN0b3JUZXN0LnNhZmVXcmFwKG5leHRUZXN0KShydW5uZXIsIHJ1bm5lcik7Ci0g
ICAgfQotCi0gICAgSW5zcGVjdG9yVGVzdC5zdGFydERlYnVnZ2VyVGVzdChydW5uZXIpOwotfQot
Ci1JbnNwZWN0b3JUZXN0LnJ1blRlc3RGdW5jdGlvbkFuZFdhaXRVbnRpbFBhdXNlZCA9IGZ1bmN0
aW9uKGNhbGxiYWNrKQotewotICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJbkNvbnNvbGUoInNl
dFRpbWVvdXQodGVzdEZ1bmN0aW9uLCAwKSIpOwotICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0
KCJTZXQgdGltZXIgZm9yIHRlc3QgZnVuY3Rpb24uIik7Ci0gICAgSW5zcGVjdG9yVGVzdC53YWl0
VW50aWxQYXVzZWQoY2FsbGJhY2spOwotfTsKLQotSW5zcGVjdG9yVGVzdC53YWl0VW50aWxQYXVz
ZWQgPSBmdW5jdGlvbihjYWxsYmFjaykKLXsKLSAgICBjYWxsYmFjayA9IEluc3BlY3RvclRlc3Qu
c2FmZVdyYXAoY2FsbGJhY2spOwotCi0gICAgaWYgKEluc3BlY3RvclRlc3QuX2NhbGxGcmFtZXMp
Ci0gICAgICAgIGNhbGxiYWNrKEluc3BlY3RvclRlc3QuX2NhbGxGcmFtZXMpOwotICAgIGVsc2UK
LSAgICAgICAgSW5zcGVjdG9yVGVzdC5fd2FpdFVudGlsUGF1c2VkQ2FsbGJhY2sgPSBjYWxsYmFj
azsKLX07Ci0KLUluc3BlY3RvclRlc3Qud2FpdFVudGlsUmVzdW1lZCA9IGZ1bmN0aW9uKGNhbGxi
YWNrKQotewotICAgIGNhbGxiYWNrID0gSW5zcGVjdG9yVGVzdC5zYWZlV3JhcChjYWxsYmFjayk7
Ci0KLSAgICBpZiAoIUluc3BlY3RvclRlc3QuX2NhbGxGcmFtZXMpCi0gICAgICAgIGNhbGxiYWNr
KCk7Ci0gICAgZWxzZQotICAgICAgICBJbnNwZWN0b3JUZXN0Ll93YWl0VW50aWxSZXN1bWVkQ2Fs
bGJhY2sgPSBjYWxsYmFjazsKLX07Ci0KLUluc3BlY3RvclRlc3QucmVzdW1lRXhlY3V0aW9uID0g
ZnVuY3Rpb24oY2FsbGJhY2spCi17Ci0gICAgaWYgKFdlYkluc3BlY3Rvci5wYW5lbHMuc2NyaXB0
cy5wYXVzZWQpCi0gICAgICAgIFdlYkluc3BlY3Rvci5wYW5lbHMuc2NyaXB0cy5fdG9nZ2xlUGF1
c2UoKTsKLSAgICBJbnNwZWN0b3JUZXN0LndhaXRVbnRpbFJlc3VtZWQoY2FsbGJhY2spOwotfTsK
LQotSW5zcGVjdG9yVGVzdC5jYXB0dXJlU3RhY2tUcmFjZSA9IGZ1bmN0aW9uKGNhbGxGcmFtZXMs
IGRyb3BMaW5lTnVtYmVycywgdmVyYm9zZSkKLXsKLSAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3Vs
dCgiQ2FsbCBzdGFjazoiKTsKLSAgICBmb3IgKHZhciBpID0gMDsgaSA8IGNhbGxGcmFtZXMubGVu
Z3RoOyBpKyspIHsKLSAgICAgICAgdmFyIGZyYW1lID0gY2FsbEZyYW1lc1tpXTsKLSAgICAgICAg
dmFyIHNjcmlwdCA9IFdlYkluc3BlY3Rvci5kZWJ1Z2dlck1vZGVsLnNjcmlwdEZvcklkKGZyYW1l
LmxvY2F0aW9uLnNjcmlwdElkKTsKLSAgICAgICAgdmFyIHVybDsKLSAgICAgICAgdmFyIGxpbmVO
dW1iZXI7Ci0gICAgICAgIHZhciBkcm9wRnJhbWVMaW5lTnVtYmVyID0gZHJvcExpbmVOdW1iZXJz
OwotICAgICAgICBpZiAoc2NyaXB0KSB7Ci0gICAgICAgICAgICB1cmwgPSBXZWJJbnNwZWN0b3Iu
ZGlzcGxheU5hbWVGb3JVUkwoc2NyaXB0LnNvdXJjZVVSTCk7Ci0gICAgICAgICAgICBsaW5lTnVt
YmVyID0gZnJhbWUubG9jYXRpb24ubGluZU51bWJlciArIDE7Ci0gICAgICAgIH0gZWxzZSB7Ci0g
ICAgICAgICAgICB1cmwgPSAiKGludGVybmFsIHNjcmlwdCkiOwotICAgICAgICAgICAgZHJvcEZy
YW1lTGluZU51bWJlciA9ICB0cnVlOwotICAgICAgICB9Ci0gICAgICAgIHZhciBzID0gIiAgICAi
ICsgaSArICIpICIgKyBmcmFtZS5mdW5jdGlvbk5hbWUgKyAiICgiICsgdXJsICsgKGRyb3BGcmFt
ZUxpbmVOdW1iZXIgPyAiIiA6ICI6IiArIGxpbmVOdW1iZXIpICsgIikiOwotICAgICAgICBJbnNw
ZWN0b3JUZXN0LmFkZFJlc3VsdChzKTsKLSAgICB9Ci19OwotCi1JbnNwZWN0b3JUZXN0LmR1bXBT
b3VyY2VGcmFtZUNvbnRlbnRzID0gZnVuY3Rpb24oc291cmNlRnJhbWUpCi17Ci0gICAgSW5zcGVj
dG9yVGVzdC5hZGRSZXN1bHQoIj09U291cmNlIGZyYW1lIGNvbnRlbnRzIHN0YXJ0PT0iKTsKLSAg
ICB2YXIgdGV4dEVkaXRvciA9IHNvdXJjZUZyYW1lLl90ZXh0RWRpdG9yOwotICAgIGZvciAodmFy
IGkgPSAwOyBpIDwgdGV4dEVkaXRvci5saW5lc0NvdW50OyArK2kpCi0gICAgICAgIEluc3BlY3Rv
clRlc3QuYWRkUmVzdWx0KHRleHRFZGl0b3IubGluZShpKSk7Ci0gICAgSW5zcGVjdG9yVGVzdC5h
ZGRSZXN1bHQoIj09U291cmNlIGZyYW1lIGNvbnRlbnRzIGVuZD09Iik7Ci19OwotCi1JbnNwZWN0
b3JUZXN0Ll9wYXVzZWRTY3JpcHQgPSBmdW5jdGlvbihjYWxsRnJhbWVzLCByZWFzb24sIGF1eERh
dGEpCi17Ci0gICAgaWYgKCFJbnNwZWN0b3JUZXN0Ll9xdWlldCkKLSAgICAgICAgSW5zcGVjdG9y
VGVzdC5hZGRSZXN1bHQoIlNjcmlwdCBleGVjdXRpb24gcGF1c2VkLiIpOwotICAgIEluc3BlY3Rv
clRlc3QuX2NhbGxGcmFtZXMgPSBjYWxsRnJhbWVzOwotICAgIGlmIChJbnNwZWN0b3JUZXN0Ll93
YWl0VW50aWxQYXVzZWRDYWxsYmFjaykgewotICAgICAgICB2YXIgY2FsbGJhY2sgPSBJbnNwZWN0
b3JUZXN0Ll93YWl0VW50aWxQYXVzZWRDYWxsYmFjazsKLSAgICAgICAgZGVsZXRlIEluc3BlY3Rv
clRlc3QuX3dhaXRVbnRpbFBhdXNlZENhbGxiYWNrOwotICAgICAgICBjYWxsYmFjayhJbnNwZWN0
b3JUZXN0Ll9jYWxsRnJhbWVzKTsKLSAgICB9Ci19Ci0KLUluc3BlY3RvclRlc3QuX3Jlc3VtZWRT
Y3JpcHQgPSBmdW5jdGlvbigpCi17Ci0gICAgaWYgKCFJbnNwZWN0b3JUZXN0Ll9xdWlldCkKLSAg
ICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIlNjcmlwdCBleGVjdXRpb24gcmVzdW1lZC4i
KTsKLSAgICBkZWxldGUgSW5zcGVjdG9yVGVzdC5fY2FsbEZyYW1lczsKLSAgICBpZiAoSW5zcGVj
dG9yVGVzdC5fd2FpdFVudGlsUmVzdW1lZENhbGxiYWNrKSB7Ci0gICAgICAgIHZhciBjYWxsYmFj
ayA9IEluc3BlY3RvclRlc3QuX3dhaXRVbnRpbFJlc3VtZWRDYWxsYmFjazsKLSAgICAgICAgZGVs
ZXRlIEluc3BlY3RvclRlc3QuX3dhaXRVbnRpbFJlc3VtZWRDYWxsYmFjazsKLSAgICAgICAgY2Fs
bGJhY2soKTsKLSAgICB9Ci19OwotCi1JbnNwZWN0b3JUZXN0LnNob3dVSVNvdXJjZUNvZGUgPSBm
dW5jdGlvbih1aVNvdXJjZUNvZGUsIGNhbGxiYWNrKQotewotICAgIHZhciBwYW5lbCA9IFdlYklu
c3BlY3Rvci5zaG93UGFuZWwoInNjcmlwdHMiKTsKLSAgICBwYW5lbC5zaG93VUlTb3VyY2VDb2Rl
KHVpU291cmNlQ29kZSk7Ci0gICAgdmFyIHNvdXJjZUZyYW1lID0gcGFuZWwudmlzaWJsZVZpZXc7
Ci0gICAgaWYgKHNvdXJjZUZyYW1lLmxvYWRlZCkKLSAgICAgICAgY2FsbGJhY2soc291cmNlRnJh
bWUpOwotICAgIGVsc2UKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRTbmlmZmVyKHNvdXJjZUZy
YW1lLCAib25UZXh0RWRpdG9yQ29udGVudExvYWRlZCIsIGNhbGxiYWNrLmJpbmQobnVsbCwgc291
cmNlRnJhbWUpKTsKLX07Ci0KLUluc3BlY3RvclRlc3Quc2hvd1NjcmlwdFNvdXJjZSA9IGZ1bmN0
aW9uKHNjcmlwdE5hbWUsIGNhbGxiYWNrKQotewotICAgIHZhciBwYW5lbCA9IFdlYkluc3BlY3Rv
ci5zaG93UGFuZWwoInNjcmlwdHMiKTsKLSAgICB2YXIgdWlTb3VyY2VDb2RlcyA9IHBhbmVsLl93
b3Jrc3BhY2UudWlTb3VyY2VDb2RlcygpOwotICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdWlTb3Vy
Y2VDb2Rlcy5sZW5ndGg7ICsraSkgewotICAgICAgICBpZiAodWlTb3VyY2VDb2Rlc1tpXS5uYW1l
KCkgPT09IHNjcmlwdE5hbWUpIHsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3Quc2hvd1VJU291
cmNlQ29kZSh1aVNvdXJjZUNvZGVzW2ldLCBjYWxsYmFjayk7Ci0gICAgICAgICAgICByZXR1cm47
Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICBJbnNwZWN0b3JUZXN0LmFkZFNuaWZmZXIoV2ViSW5z
cGVjdG9yLlNjcmlwdHNQYW5lbC5wcm90b3R5cGUsICJfYWRkVUlTb3VyY2VDb2RlIiwgSW5zcGVj
dG9yVGVzdC5zaG93U2NyaXB0U291cmNlLmJpbmQoSW5zcGVjdG9yVGVzdCwgc2NyaXB0TmFtZSwg
Y2FsbGJhY2spKTsKLX07Ci0KLUluc3BlY3RvclRlc3QuZHVtcFNjcmlwdHNOYXZpZ2F0b3IgPSBm
dW5jdGlvbihuYXZpZ2F0b3IsIHByZWZpeCkKLXsKLSAgICBwcmVmaXggPSBwcmVmaXggfHwgIiI7
Ci0gICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQocHJlZml4ICsgIkR1bXBpbmcgU2NyaXB0c05h
dmlnYXRvciAnU2NyaXB0cycgdGFiOiIpOwotICAgIGR1bXBOYXZpZ2F0b3JUcmVlT3V0bGluZShw
cmVmaXgsIG5hdmlnYXRvci5fc2NyaXB0c1ZpZXcuX3NjcmlwdHNUcmVlKTsKLSAgICBJbnNwZWN0
b3JUZXN0LmFkZFJlc3VsdChwcmVmaXggKyAiRHVtcGluZyBTY3JpcHRzTmF2aWdhdG9yICdDb250
ZW50IHNjcmlwdHMnIHRhYjoiKTsKLSAgICBkdW1wTmF2aWdhdG9yVHJlZU91dGxpbmUocHJlZml4
LCBuYXZpZ2F0b3IuX2NvbnRlbnRTY3JpcHRzVmlldy5fc2NyaXB0c1RyZWUpOwotCi0gICAgZnVu
Y3Rpb24gZHVtcE5hdmlnYXRvclRyZWVFbGVtZW50KHByZWZpeCwgdHJlZUVsZW1lbnQpCi0gICAg
ewotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdChwcmVmaXggKyB0cmVlRWxlbWVudC50
aXRsZVRleHQpOwotICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRyZWVFbGVtZW50LmNoaWxk
cmVuLmxlbmd0aDsgKytpKQotICAgICAgICAgICAgZHVtcE5hdmlnYXRvclRyZWVFbGVtZW50KHBy
ZWZpeCArICIgICIsIHRyZWVFbGVtZW50LmNoaWxkcmVuW2ldKTsKLSAgICB9Ci0KLSAgICBmdW5j
dGlvbiBkdW1wTmF2aWdhdG9yVHJlZU91dGxpbmUocHJlZml4LCB0cmVlT3V0bGluZSkKLSAgICB7
Ci0gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdHJlZU91dGxpbmUuY2hpbGRyZW4ubGVuZ3Ro
OyArK2kpCi0gICAgICAgICAgICBkdW1wTmF2aWdhdG9yVHJlZUVsZW1lbnQocHJlZml4ICsgIiAg
IiwgdHJlZU91dGxpbmUuY2hpbGRyZW5baV0pOwotICAgIH0KLSAgICBJbnNwZWN0b3JUZXN0LmFk
ZFJlc3VsdCgiIik7Ci19OwotCi1JbnNwZWN0b3JUZXN0LnNldEJyZWFrcG9pbnQgPSBmdW5jdGlv
bihzb3VyY2VGcmFtZSwgbGluZU51bWJlciwgY29uZGl0aW9uLCBlbmFibGVkKQotewotICAgIHNv
dXJjZUZyYW1lLl9zZXRCcmVha3BvaW50KGxpbmVOdW1iZXIsIGNvbmRpdGlvbiwgZW5hYmxlZCk7
Ci19OwotCi1JbnNwZWN0b3JUZXN0LnJlbW92ZUJyZWFrcG9pbnQgPSBmdW5jdGlvbihzb3VyY2VG
cmFtZSwgbGluZU51bWJlcikKLXsKLSAgICBzb3VyY2VGcmFtZS5fYnJlYWtwb2ludE1hbmFnZXIu
ZmluZEJyZWFrcG9pbnQoc291cmNlRnJhbWUuX3VpU291cmNlQ29kZSwgbGluZU51bWJlcikucmVt
b3ZlKCk7Ci19OwotCi0KLUluc3BlY3RvclRlc3QuZXhwYW5kUHJvcGVydGllcyA9IGZ1bmN0aW9u
KHByb3BlcnRpZXMsIGNhbGxiYWNrKQotewotICAgIHZhciBpbmRleCA9IDA7Ci0gICAgZnVuY3Rp
b24gZXhwYW5kTmV4dFBhdGgoKQotICAgIHsKLSAgICAgICAgaWYgKGluZGV4ID09PSBwcm9wZXJ0
aWVzLmxlbmd0aCkgewotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5zYWZlV3JhcChjYWxsYmFj
aykoKTsKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgfQotICAgICAgICB2YXIgcGFyZW50
VHJlZUVsZW1lbnQgPSBwcm9wZXJ0aWVzW2luZGV4KytdOwotICAgICAgICB2YXIgcGF0aCA9IHBy
b3BlcnRpZXNbaW5kZXgrK107Ci0gICAgICAgIEluc3BlY3RvclRlc3QuX2V4cGFuZFByb3BlcnR5
KHBhcmVudFRyZWVFbGVtZW50LCBwYXRoLCAwLCBleHBhbmROZXh0UGF0aCk7Ci0gICAgfQotICAg
IEluc3BlY3RvclRlc3QucnVuQWZ0ZXJQZW5kaW5nRGlzcGF0Y2hlcyhleHBhbmROZXh0UGF0aCk7
Ci19OwotCi1JbnNwZWN0b3JUZXN0Ll9leHBhbmRQcm9wZXJ0eSA9IGZ1bmN0aW9uKHBhcmVudFRy
ZWVFbGVtZW50LCBwYXRoLCBwYXRoSW5kZXgsIGNhbGxiYWNrKQotewotICAgIGlmIChwYXRoSW5k
ZXggPT09IHBhdGgubGVuZ3RoKSB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJF
eHBhbmRlZCBwcm9wZXJ0eTogIiArIHBhdGguam9pbigiLiIpKTsKLSAgICAgICAgY2FsbGJhY2so
KTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLSAgICB2YXIgbmFtZSA9IHBhdGhbcGF0aEluZGV4
KytdOwotICAgIHZhciBwcm9wZXJ0eVRyZWVFbGVtZW50ID0gSW5zcGVjdG9yVGVzdC5fZmluZENo
aWxkUHJvcGVydHlUcmVlRWxlbWVudChwYXJlbnRUcmVlRWxlbWVudCwgbmFtZSk7Ci0gICAgaWYg
KCFwcm9wZXJ0eVRyZWVFbGVtZW50KSB7Ci0gICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQo
IkZhaWxlZCB0byBleHBhbmQgcHJvcGVydHk6ICIgKyBwYXRoLnNsaWNlKDAsIHBhdGhJbmRleCku
am9pbigiLiIpKTsKLSAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlRGVidWdnZXJUZXN0KCk7
Ci0gICAgICAgcmV0dXJuOwotICAgIH0KLSAgICBwcm9wZXJ0eVRyZWVFbGVtZW50LmV4cGFuZCgp
OwotICAgIEluc3BlY3RvclRlc3QucnVuQWZ0ZXJQZW5kaW5nRGlzcGF0Y2hlcyhJbnNwZWN0b3JU
ZXN0Ll9leHBhbmRQcm9wZXJ0eS5iaW5kKEluc3BlY3RvclRlc3QsIHByb3BlcnR5VHJlZUVsZW1l
bnQsIHBhdGgsIHBhdGhJbmRleCwgY2FsbGJhY2spKTsKLX07Ci0KLUluc3BlY3RvclRlc3QuX2Zp
bmRDaGlsZFByb3BlcnR5VHJlZUVsZW1lbnQgPSBmdW5jdGlvbihwYXJlbnQsIGNoaWxkTmFtZSkK
LXsKLSAgICB2YXIgY2hpbGRyZW4gPSBwYXJlbnQuY2hpbGRyZW47Ci0gICAgZm9yICh2YXIgaSA9
IDA7IGkgPCBjaGlsZHJlbi5sZW5ndGg7IGkrKykgewotICAgICAgICB2YXIgdHJlZUVsZW1lbnQg
PSBjaGlsZHJlbltpXTsKLSAgICAgICAgdmFyIHByb3BlcnR5ID0gdHJlZUVsZW1lbnQucHJvcGVy
dHk7Ci0gICAgICAgIGlmIChwcm9wZXJ0eS5uYW1lID09PSBjaGlsZE5hbWUpCi0gICAgICAgICAg
ICByZXR1cm4gdHJlZUVsZW1lbnQ7Ci0gICAgfQotfTsKLQotSW5zcGVjdG9yVGVzdC5zZXRRdWll
dCA9IGZ1bmN0aW9uKHF1aWV0KQotewotICAgIEluc3BlY3RvclRlc3QuX3F1aWV0ID0gcXVpZXQ7
Ci19OwotCi1JbnNwZWN0b3JUZXN0LnF1ZXJ5U2NyaXB0cyA9IGZ1bmN0aW9uKGZpbHRlcikKLXsK
LSAgICB2YXIgc2NyaXB0cyA9IFtdOwotICAgIGZvciAodmFyIHNjcmlwdElkIGluIFdlYkluc3Bl
Y3Rvci5kZWJ1Z2dlck1vZGVsLl9zY3JpcHRzKSB7Ci0gICAgICAgIHZhciBzY3JpcHQgPSBXZWJJ
bnNwZWN0b3IuZGVidWdnZXJNb2RlbC5fc2NyaXB0c1tzY3JpcHRJZF07Ci0gICAgICAgIGlmICgh
ZmlsdGVyIHx8IGZpbHRlcihzY3JpcHQpKQotICAgICAgICAgICAgc2NyaXB0cy5wdXNoKHNjcmlw
dCk7Ci0gICAgfQotICAgIHJldHVybiBzY3JpcHRzOwotfTsKLQotSW5zcGVjdG9yVGVzdC5jcmVh
dGVTY3JpcHRNb2NrID0gZnVuY3Rpb24odXJsLCBzdGFydExpbmUsIHN0YXJ0Q29sdW1uLCBpc0Nv
bnRlbnRTY3JpcHQsIHNvdXJjZSkKLXsKLSAgICB2YXIgc2NyaXB0SWQgPSArK0luc3BlY3RvclRl
c3QuX2xhc3RTY3JpcHRJZDsKLSAgICB2YXIgbGluZUNvdW50ID0gc291cmNlLmxpbmVFbmRpbmdz
KCkubGVuZ3RoOwotICAgIHZhciBlbmRMaW5lID0gc3RhcnRMaW5lICsgbGluZUNvdW50IC0gMTsK
LSAgICB2YXIgZW5kQ29sdW1uID0gbGluZUNvdW50ID09PSAxID8gc3RhcnRDb2x1bW4gKyBzb3Vy
Y2UubGVuZ3RoIDogc291cmNlLmxlbmd0aCAtIHNvdXJjZS5saW5lRW5kaW5ncygpW2xpbmVDb3Vu
dCAtIDJdOwotICAgIHZhciBoYXNTb3VyY2VVUkwgPSAhIXNvdXJjZS5tYXRjaCgvXC9cL0Bcc3Nv
dXJjZVVSTD1ccyooXFMqPylccyokL20pOwotICAgIHZhciBzY3JpcHQgPSBuZXcgV2ViSW5zcGVj
dG9yLlNjcmlwdChzY3JpcHRJZCwgdXJsLCBzdGFydExpbmUsIHN0YXJ0Q29sdW1uLCBlbmRMaW5l
LCBlbmRDb2x1bW4sIGlzQ29udGVudFNjcmlwdCwgbnVsbCwgaGFzU291cmNlVVJMKTsKLSAgICBz
Y3JpcHQucmVxdWVzdENvbnRlbnQgPSBmdW5jdGlvbihjYWxsYmFjaykgeyBjYWxsYmFjayhzb3Vy
Y2UsIGZhbHNlLCAidGV4dC9qYXZhc2NyaXB0Iik7IH07Ci0gICAgV2ViSW5zcGVjdG9yLmRlYnVn
Z2VyTW9kZWwuX3JlZ2lzdGVyU2NyaXB0KHNjcmlwdCk7Ci0gICAgcmV0dXJuIHNjcmlwdDsKLX0K
LQotSW5zcGVjdG9yVGVzdC5fbGFzdFNjcmlwdElkID0gMDsKLQotSW5zcGVjdG9yVGVzdC5jaGVj
a1Jhd0xvY2F0aW9uID0gZnVuY3Rpb24oc2NyaXB0LCBsaW5lTnVtYmVyLCBjb2x1bW5OdW1iZXIs
IGxvY2F0aW9uKQotewotICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0RXF1YWxzKHNjcmlwdC5zY3Jp
cHRJZCwgbG9jYXRpb24uc2NyaXB0SWQsICJJbmNvcnJlY3Qgc2NyaXB0SWQiKTsKLSAgICBJbnNw
ZWN0b3JUZXN0LmFzc2VydEVxdWFscyhsaW5lTnVtYmVyLCBsb2NhdGlvbi5saW5lTnVtYmVyLCAi
SW5jb3JyZWN0IGxpbmVOdW1iZXIiKTsKLSAgICBJbnNwZWN0b3JUZXN0LmFzc2VydEVxdWFscyhj
b2x1bW5OdW1iZXIsIGxvY2F0aW9uLmNvbHVtbk51bWJlciwgIkluY29ycmVjdCBjb2x1bW5OdW1i
ZXIiKTsKLX07Ci0KLUluc3BlY3RvclRlc3QuY2hlY2tVSUxvY2F0aW9uID0gZnVuY3Rpb24odWlT
b3VyY2VDb2RlLCBsaW5lTnVtYmVyLCBjb2x1bW5OdW1iZXIsIGxvY2F0aW9uKQotewotICAgIElu
c3BlY3RvclRlc3QuYXNzZXJ0RXF1YWxzKHVpU291cmNlQ29kZSwgbG9jYXRpb24udWlTb3VyY2VD
b2RlLCAiSW5jb3JyZWN0IHVpU291cmNlQ29kZSwgZXhwZWN0ZWQgJyIgKyAodWlTb3VyY2VDb2Rl
ID8gdWlTb3VyY2VDb2RlLm9yaWdpblVSTCgpIDogbnVsbCkgKyAiJywiICsKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IiBidXQgZ290ICciICsgKGxvY2F0aW9uLnVpU291cmNlQ29kZSA/IGxvY2F0aW9uLnVpU291cmNl
Q29kZS5vcmlnaW5VUkwoKSA6IG51bGwpICsgIiciKTsKLSAgICBJbnNwZWN0b3JUZXN0LmFzc2Vy
dEVxdWFscyhsaW5lTnVtYmVyLCBsb2NhdGlvbi5saW5lTnVtYmVyLCAiSW5jb3JyZWN0IGxpbmVO
dW1iZXIsIGV4cGVjdGVkICciICsgbGluZU51bWJlciArICInLCBidXQgZ290ICciICsgbG9jYXRp
b24ubGluZU51bWJlciArICInIik7Ci0gICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRFcXVhbHMoY29s
dW1uTnVtYmVyLCBsb2NhdGlvbi5jb2x1bW5OdW1iZXIsICJJbmNvcnJlY3QgY29sdW1uTnVtYmVy
LCBleHBlY3RlZCAnIiArIGNvbHVtbk51bWJlciArICInLCBidXQgZ290ICciICsgbG9jYXRpb24u
Y29sdW1uTnVtYmVyICsgIiciKTsKLX07Ci0KLX07CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2luc3BlY3Rvci9lbGVtZW50cy10ZXN0LmpzIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMtdGVzdC5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggNDBmNmQ1N2FiZTE3Y2JhY2IzODUxNDhmYTM5ZGUwNTNhZTk1MTI3YS4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL2luc3BlY3Rvci9lbGVtZW50cy10ZXN0LmpzCisrKyAvZGV2L251bGwKQEAgLTEsNjQ0ICsw
LDAgQEAKLXZhciBpbml0aWFsaXplX0VsZW1lbnRUZXN0ID0gZnVuY3Rpb24oKSB7Ci0KLUluc3Bl
Y3RvclRlc3QuZmluZE5vZGUgPSBmdW5jdGlvbihtYXRjaEZ1bmN0aW9uLCBjYWxsYmFjaykKLXsK
LSAgICBjYWxsYmFjayA9IEluc3BlY3RvclRlc3Quc2FmZVdyYXAoY2FsbGJhY2spOwotICAgIHZh
ciByZXN1bHQgPSBudWxsOwotICAgIHZhciB0b3BMZXZlbENoaWxkcmVuUmVxdWVzdGVkID0gZmFs
c2U7Ci0gICAgdmFyIHBlbmRpbmdSZXF1ZXN0cyA9IDA7Ci0gICAgZnVuY3Rpb24gcHJvY2Vzc0No
aWxkcmVuKHRvcExldmVsLCBjaGlsZHJlbikKLSAgICB7Ci0gICAgICAgIHBlbmRpbmdSZXF1ZXN0
cy0tOwotICAgICAgICBpZiAocmVzdWx0KQotICAgICAgICAgICAgcmV0dXJuOwotCi0gICAgICAg
IGZvciAodmFyIGkgPSAwOyBjaGlsZHJlbiAmJiBpIDwgY2hpbGRyZW4ubGVuZ3RoOyArK2kpIHsK
LSAgICAgICAgICAgIHZhciBjaGlsZE5vZGUgPSBjaGlsZHJlbltpXTsKLSAgICAgICAgICAgIGlm
IChtYXRjaEZ1bmN0aW9uKGNoaWxkTm9kZSkpIHsKLSAgICAgICAgICAgICAgICByZXN1bHQgPSBj
aGlsZE5vZGU7Ci0gICAgICAgICAgICAgICAgY2FsbGJhY2socmVzdWx0KTsKLSAgICAgICAgICAg
ICAgICByZXR1cm47Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBwZW5kaW5nUmVxdWVzdHMr
KzsKLSAgICAgICAgICAgIGNoaWxkTm9kZS5nZXRDaGlsZE5vZGVzKHByb2Nlc3NDaGlsZHJlbi5i
aW5kKG51bGwsIGZhbHNlKSk7Ci0gICAgICAgIH0KLQotICAgICAgICBpZiAodG9wTGV2ZWwpCi0g
ICAgICAgICAgICB0b3BMZXZlbENoaWxkcmVuUmVxdWVzdGVkID0gdHJ1ZTsKLSAgICAgICAgaWYg
KHRvcExldmVsQ2hpbGRyZW5SZXF1ZXN0ZWQgJiYgIXJlc3VsdCAmJiAhcGVuZGluZ1JlcXVlc3Rz
KQotICAgICAgICAgICAgY2FsbGJhY2sobnVsbCk7Ci0gICAgfQotICAgIHBlbmRpbmdSZXF1ZXN0
cysrOwotCi0gICAgV2ViSW5zcGVjdG9yLmRvbUFnZW50LnJlcXVlc3REb2N1bWVudChkb2N1bWVu
dFJlcXVlc3RlZC5iaW5kKHRoaXMpKTsKLSAgICBmdW5jdGlvbiBkb2N1bWVudFJlcXVlc3RlZChk
b2MpCi0gICAgewotICAgICAgICBkb2MuZ2V0Q2hpbGROb2Rlcyhwcm9jZXNzQ2hpbGRyZW4uYmlu
ZCh0aGlzLCB0cnVlKSk7Ci0gICAgfQotfTsKLQotSW5zcGVjdG9yVGVzdC5ub2RlV2l0aElkID0g
ZnVuY3Rpb24oaWRWYWx1ZSwgY2FsbGJhY2spCi17Ci0gICAgZnVuY3Rpb24gbm9kZUlkTWF0Y2hl
cyhub2RlKQotICAgIHsKLSAgICAgICAgcmV0dXJuIG5vZGUuZ2V0QXR0cmlidXRlKCJpZCIpID09
PSBpZFZhbHVlOwotICAgIH0KLSAgICBJbnNwZWN0b3JUZXN0LmZpbmROb2RlKG5vZGVJZE1hdGNo
ZXMsIGNhbGxiYWNrKTsKLX0KLQotSW5zcGVjdG9yVGVzdC5leHBhbmRlZE5vZGVXaXRoSWQgPSBm
dW5jdGlvbihpZFZhbHVlKQotewotICAgIHZhciByZXN1bHQ7Ci0gICAgZnVuY3Rpb24gY2FsbGJh
Y2sobm9kZSkKLSAgICB7Ci0gICAgICAgIHJlc3VsdCA9IG5vZGU7Ci0gICAgfQotICAgIEluc3Bl
Y3RvclRlc3Qubm9kZVdpdGhJZChpZFZhbHVlLCBjYWxsYmFjayk7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLQotSW5zcGVjdG9yVGVzdC5zZWxlY3ROb2RlV2l0aElkID0gZnVuY3Rpb24oaWRWYWx1
ZSwgY2FsbGJhY2spCi17Ci0gICAgY2FsbGJhY2sgPSBJbnNwZWN0b3JUZXN0LnNhZmVXcmFwKGNh
bGxiYWNrKTsKLSAgICBmdW5jdGlvbiBvbk5vZGVGb3VuZChub2RlKQotICAgIHsKLSAgICAgICAg
aWYgKG5vZGUpCi0gICAgICAgICAgICBXZWJJbnNwZWN0b3IuX3VwZGF0ZUZvY3VzZWROb2RlKG5v
ZGUuaWQpOwotICAgICAgICBjYWxsYmFjayhub2RlKTsKLSAgICB9Ci0gICAgSW5zcGVjdG9yVGVz
dC5ub2RlV2l0aElkKGlkVmFsdWUsIG9uTm9kZUZvdW5kKTsKLX0KLQotSW5zcGVjdG9yVGVzdC53
YWl0Rm9yU3R5bGVzID0gZnVuY3Rpb24oaWRWYWx1ZSwgY2FsbGJhY2ssIHJlcXVpcmVSZWJ1aWxk
KQotewotICAgIGNhbGxiYWNrID0gSW5zcGVjdG9yVGVzdC5zYWZlV3JhcChjYWxsYmFjayk7Ci0K
LSAgICAoZnVuY3Rpb24gc25pZmYobm9kZSwgcmVidWlsZCkKLSAgICB7Ci0gICAgICAgIGlmICgo
cmVidWlsZCB8fCAhcmVxdWlyZVJlYnVpbGQpICYmIG5vZGUgJiYgbm9kZS5nZXRBdHRyaWJ1dGUo
ImlkIikgPT09IGlkVmFsdWUpIHsKLSAgICAgICAgICAgIGNhbGxiYWNrKCk7Ci0gICAgICAgICAg
ICByZXR1cm47Ci0gICAgICAgIH0KLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRTbmlmZmVyKFdl
Ykluc3BlY3Rvci5TdHlsZXNTaWRlYmFyUGFuZS5wcm90b3R5cGUsICJfbm9kZVN0eWxlc1VwZGF0
ZWRGb3JUZXN0Iiwgc25pZmYpOwotICAgIH0pKG51bGwpOwotfQotCi1JbnNwZWN0b3JUZXN0LnNl
bGVjdE5vZGVBbmRXYWl0Rm9yU3R5bGVzID0gZnVuY3Rpb24oaWRWYWx1ZSwgY2FsbGJhY2spCi17
Ci0gICAgV2ViSW5zcGVjdG9yLnNob3dQYW5lbCgiZWxlbWVudHMiKTsKLQotICAgIGNhbGxiYWNr
ID0gSW5zcGVjdG9yVGVzdC5zYWZlV3JhcChjYWxsYmFjayk7Ci0KLSAgICB2YXIgdGFyZ2V0Tm9k
ZTsKLQotICAgIEluc3BlY3RvclRlc3Qud2FpdEZvclN0eWxlcyhpZFZhbHVlLCBzdHlsZXNVcGRh
dGVkLCB0cnVlKTsKLSAgICBJbnNwZWN0b3JUZXN0LnNlbGVjdE5vZGVXaXRoSWQoaWRWYWx1ZSwg
bm9kZVNlbGVjdGVkKTsKLQotICAgIGZ1bmN0aW9uIG5vZGVTZWxlY3RlZChub2RlKQotICAgIHsK
LSAgICAgICAgdGFyZ2V0Tm9kZSA9IG5vZGU7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc3R5bGVz
VXBkYXRlZCgpCi0gICAgewotICAgICAgICBjYWxsYmFjayh0YXJnZXROb2RlKTsKLSAgICB9Ci19
Ci0KLUluc3BlY3RvclRlc3Quc2VsZWN0Tm9kZUFuZFdhaXRGb3JTdHlsZXNXaXRoQ29tcHV0ZWQg
PSBmdW5jdGlvbihpZFZhbHVlLCBjYWxsYmFjaykKLXsKLSAgICBjYWxsYmFjayA9IEluc3BlY3Rv
clRlc3Quc2FmZVdyYXAoY2FsbGJhY2spOwotCi0gICAgZnVuY3Rpb24gc3R5bGVzQ2FsbGJhY2so
dGFyZ2V0Tm9kZSkKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkU25pZmZlcihXZWJJ
bnNwZWN0b3IuU2lkZWJhclBhbmUucHJvdG90eXBlLCAib25Db250ZW50UmVhZHkiLCBjYWxsYmFj
ayk7Ci0gICAgICAgIFdlYkluc3BlY3Rvci5wYW5lbHMuZWxlbWVudHMuc2lkZWJhclBhbmVzLmNv
bXB1dGVkU3R5bGUuZXhwYW5kKCk7Ci0gICAgfQotCi0gICAgSW5zcGVjdG9yVGVzdC5zZWxlY3RO
b2RlQW5kV2FpdEZvclN0eWxlcyhpZFZhbHVlLCBzdHlsZXNDYWxsYmFjayk7Ci19Ci0KLUluc3Bl
Y3RvclRlc3QuZHVtcFNlbGVjdGVkRWxlbWVudFN0eWxlcyA9IGZ1bmN0aW9uKGV4Y2x1ZGVDb21w
dXRlZCwgZXhjbHVkZU1hdGNoZWQsIG9taXRMb25naGFuZHMsIGluY2x1ZGVTZWxlY3Rvckdyb3Vw
TWFya3MpCi17Ci0gICAgZnVuY3Rpb24gZXh0cmFjdFRleHQoZWxlbWVudCkKLSAgICB7Ci0gICAg
ICAgIHZhciB0ZXh0ID0gZWxlbWVudC50ZXh0Q29udGVudDsKLSAgICAgICAgaWYgKHRleHQpCi0g
ICAgICAgICAgICByZXR1cm4gdGV4dDsKLSAgICAgICAgZWxlbWVudCA9IGVsZW1lbnQucXVlcnlT
ZWxlY3RvcigiW2RhdGEtdW5jb3B5YWJsZV0iKTsKLSAgICAgICAgcmV0dXJuIGVsZW1lbnQgPyBl
bGVtZW50LmdldEF0dHJpYnV0ZSgiZGF0YS11bmNvcHlhYmxlIikgOiAiIjsKLSAgICB9Ci0KLSAg
ICBmdW5jdGlvbiBidWlsZE1hcmtlZFNlbGVjdG9ycyhlbGVtZW50KQotICAgIHsKLSAgICAgICAg
dmFyIHJlc3VsdCA9ICIiOwotICAgICAgICBmb3IgKHZhciBub2RlID0gZWxlbWVudC5maXJzdENo
aWxkOyBub2RlOyBub2RlID0gbm9kZS5uZXh0U2libGluZykgewotICAgICAgICAgICAgaWYgKG5v
ZGUubm9kZVR5cGUgPT09IE5vZGUuRUxFTUVOVF9OT0RFICYmIG5vZGUuY2xhc3NOYW1lID09PSAi
c2VsZWN0b3ItbWF0Y2hlcyIpCi0gICAgICAgICAgICAgICAgcmVzdWx0ICs9ICJbJCIgKyBub2Rl
LnRleHRDb250ZW50ICsgIiRdIjsKLSAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICBy
ZXN1bHQgKz0gbm9kZS50ZXh0Q29udGVudDsKLSAgICAgICAgfQotICAgICAgICByZXR1cm4gcmVz
dWx0OwotICAgIH0KLQotICAgIHZhciBzdHlsZVNlY3Rpb25zID0gV2ViSW5zcGVjdG9yLnBhbmVs
cy5lbGVtZW50cy5zaWRlYmFyUGFuZXMuc3R5bGVzLnNlY3Rpb25zOwotICAgIGZvciAodmFyIHBz
ZXVkb0lkIGluIHN0eWxlU2VjdGlvbnMpIHsKLSAgICAgICAgdmFyIHBzZXVkb05hbWUgPSBXZWJJ
bnNwZWN0b3IuU3R5bGVzU2lkZWJhclBhbmUuUHNldWRvSWROYW1lc1twc2V1ZG9JZF07Ci0gICAg
ICAgIHZhciBzZWN0aW9ucyA9IHN0eWxlU2VjdGlvbnNbcHNldWRvSWRdOwotICAgICAgICBmb3Ig
KHZhciBpID0gMDsgaSA8IHNlY3Rpb25zLmxlbmd0aDsgKytpKSB7Ci0gICAgICAgICAgICB2YXIg
c2VjdGlvbiA9IHNlY3Rpb25zW2ldOwotICAgICAgICAgICAgaWYgKHNlY3Rpb24uY29tcHV0ZWRT
dHlsZSAmJiBleGNsdWRlQ29tcHV0ZWQpCi0gICAgICAgICAgICAgICAgY29udGludWU7Ci0gICAg
ICAgICAgICBpZiAoc2VjdGlvbi5ydWxlICYmIGV4Y2x1ZGVNYXRjaGVkKQotICAgICAgICAgICAg
ICAgIGNvbnRpbnVlOwotICAgICAgICAgICAgaWYgKHNlY3Rpb24uZWxlbWVudC5wcmV2aW91c1Np
YmxpbmcgJiYgc2VjdGlvbi5lbGVtZW50LnByZXZpb3VzU2libGluZy5jbGFzc05hbWUgPT09ICJz
aWRlYmFyLXNlcGFyYXRvciIpCi0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1
bHQoIj09PT09PT09ICIgKyBzZWN0aW9uLmVsZW1lbnQucHJldmlvdXNTaWJsaW5nLnRleHRDb250
ZW50ICsgIiA9PT09PT09PSIpOwotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQo
KHNlY3Rpb24uZXhwYW5kZWQgPyAiW2V4cGFuZGVkXSAiIDogIltjb2xsYXBzZWRdICIpICsgKHNl
Y3Rpb24ubm9BZmZlY3QgPyAiW25vLWFmZmVjdF0gIiA6ICIiKSk7Ci0gICAgICAgICAgICB2YXIg
Y2hhaW5FbnRyaWVzID0gc2VjdGlvbi50aXRsZUVsZW1lbnQuY2hpbGRyZW47Ci0gICAgICAgICAg
ICBmb3IgKHZhciBqID0gMDsgaiA8IGNoYWluRW50cmllcy5sZW5ndGg7ICsraikgewotICAgICAg
ICAgICAgICAgIHZhciBjaGFpbkVudHJ5ID0gY2hhaW5FbnRyaWVzW2pdOwotICAgICAgICAgICAg
ICAgIHZhciBlbnRyeUxpbmUgPSBpbmNsdWRlU2VsZWN0b3JHcm91cE1hcmtzID8gYnVpbGRNYXJr
ZWRTZWxlY3RvcnMoY2hhaW5FbnRyeS5jaGlsZHJlblsxXSkgOiBjaGFpbkVudHJ5LmNoaWxkcmVu
WzFdLnRleHRDb250ZW50OwotICAgICAgICAgICAgICAgIGlmIChjaGFpbkVudHJ5LmNoaWxkcmVu
WzJdKQotICAgICAgICAgICAgICAgICAgICBlbnRyeUxpbmUgKz0gIiAiICsgY2hhaW5FbnRyeS5j
aGlsZHJlblsyXS50ZXh0Q29udGVudDsKLSAgICAgICAgICAgICAgICBlbnRyeUxpbmUgKz0gIiAo
IiArIGV4dHJhY3RUZXh0KGNoYWluRW50cnkuY2hpbGRyZW5bMF0pICsgIikiOwotICAgICAgICAg
ICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KGVudHJ5TGluZSk7Ci0gICAgICAgICAgICB9
Ci0gICAgICAgICAgICBzZWN0aW9uLmV4cGFuZCgpOwotICAgICAgICAgICAgSW5zcGVjdG9yVGVz
dC5kdW1wU3R5bGVUcmVlT3V0bGluZShzZWN0aW9uLnByb3BlcnRpZXNUcmVlT3V0bGluZSwgb21p
dExvbmdoYW5kcyA/IDEgOiAyKTsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0
KCIiKTsKLSAgICAgICAgfQotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiIik7Ci0g
ICAgfQotfQotCi1JbnNwZWN0b3JUZXN0LnRvZ2dsZVN0eWxlUHJvcGVydHkgPSBmdW5jdGlvbihw
cm9wZXJ0eU5hbWUsIGNoZWNrZWQpCi17Ci0gICAgdmFyIHRyZWVJdGVtID0gSW5zcGVjdG9yVGVz
dC5nZXRFbGVtZW50U3R5bGVQcm9wZXJ0eVRyZWVJdGVtKHByb3BlcnR5TmFtZSk7Ci0gICAgdHJl
ZUl0ZW0udG9nZ2xlRW5hYmxlZCh7IHRhcmdldDogeyBjaGVja2VkOiBjaGVja2VkIH0sIGNvbnN1
bWU6IGZ1bmN0aW9uKCkgeyB9IH0pOwotfQotCi1JbnNwZWN0b3JUZXN0LnRvZ2dsZU1hdGNoZWRT
dHlsZVByb3BlcnR5ID0gZnVuY3Rpb24ocHJvcGVydHlOYW1lLCBjaGVja2VkKQotewotICAgIHZh
ciB0cmVlSXRlbSA9IEluc3BlY3RvclRlc3QuZ2V0TWF0Y2hlZFN0eWxlUHJvcGVydHlUcmVlSXRl
bShwcm9wZXJ0eU5hbWUpOwotICAgIHRyZWVJdGVtLnRvZ2dsZUVuYWJsZWQoeyB0YXJnZXQ6IHsg
Y2hlY2tlZDogY2hlY2tlZCB9LCBjb25zdW1lOiBmdW5jdGlvbigpIHsgfSB9KTsKLX0KLQotSW5z
cGVjdG9yVGVzdC5leHBhbmRBbmREdW1wU2VsZWN0ZWRFbGVtZW50RXZlbnRMaXN0ZW5lcnMgPSBm
dW5jdGlvbihjYWxsYmFjaykKLXsKLSAgICBJbnNwZWN0b3JUZXN0LmV4cGFuZFNlbGVjdGVkRWxl
bWVudEV2ZW50TGlzdGVuZXJzKGZ1bmN0aW9uKCkgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmR1
bXBTZWxlY3RlZEVsZW1lbnRFdmVudExpc3RlbmVycyhjYWxsYmFjayk7Ci0gICAgfSk7Ci19Ci0K
LUluc3BlY3RvclRlc3QuZXhwYW5kU2VsZWN0ZWRFbGVtZW50RXZlbnRMaXN0ZW5lcnMgPSBmdW5j
dGlvbihjYWxsYmFjaykKLXsKLSAgICB2YXIgc2lkZWJhclBhbmUgPSBXZWJJbnNwZWN0b3IucGFu
ZWxzLmVsZW1lbnRzLnNpZGViYXJQYW5lcy5ldmVudExpc3RlbmVyczsKLSAgICBzaWRlYmFyUGFu
ZS5leHBhbmQoKTsKLQotICAgIEluc3BlY3RvclRlc3QucnVuQWZ0ZXJQZW5kaW5nRGlzcGF0Y2hl
cyhmdW5jdGlvbigpIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBhbmRTZWxlY3RlZEVsZW1l
bnRFdmVudExpc3RlbmVyc1N1YnNlY3Rpb25zKGNhbGxiYWNrKTsKLSAgICB9KTsKLX0KLQotSW5z
cGVjdG9yVGVzdC5leHBhbmRTZWxlY3RlZEVsZW1lbnRFdmVudExpc3RlbmVyc1N1YnNlY3Rpb25z
ID0gZnVuY3Rpb24oY2FsbGJhY2spCi17Ci0gICAgdmFyIGV2ZW50TGlzdGVuZXJTZWN0aW9ucyA9
IFdlYkluc3BlY3Rvci5wYW5lbHMuZWxlbWVudHMuc2lkZWJhclBhbmVzLmV2ZW50TGlzdGVuZXJz
LnNlY3Rpb25zOwotICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZXZlbnRMaXN0ZW5lclNlY3Rpb25z
Lmxlbmd0aDsgKytpKQotICAgICAgICBldmVudExpc3RlbmVyU2VjdGlvbnNbaV0uZXhwYW5kKCk7
Ci0KLSAgICAvLyBNdWx0aXBsZSBzZWN0aW9ucyBtYXkgZXhwYW5kLgotICAgIEluc3BlY3RvclRl
c3QucnVuQWZ0ZXJQZW5kaW5nRGlzcGF0Y2hlcyhmdW5jdGlvbigpIHsKLSAgICAgICAgSW5zcGVj
dG9yVGVzdC5leHBhbmRTZWxlY3RlZEVsZW1lbnRFdmVudExpc3RlbmVyc0V2ZW50QmFycyhjYWxs
YmFjayk7Ci0gICAgfSk7Ci19Ci0KLUluc3BlY3RvclRlc3QuZXhwYW5kU2VsZWN0ZWRFbGVtZW50
RXZlbnRMaXN0ZW5lcnNFdmVudEJhcnMgPSBmdW5jdGlvbihjYWxsYmFjaykKLXsKLSAgICB2YXIg
ZXZlbnRMaXN0ZW5lclNlY3Rpb25zID0gV2ViSW5zcGVjdG9yLnBhbmVscy5lbGVtZW50cy5zaWRl
YmFyUGFuZXMuZXZlbnRMaXN0ZW5lcnMuc2VjdGlvbnM7Ci0gICAgZm9yICh2YXIgaSA9IDA7IGkg
PCBldmVudExpc3RlbmVyU2VjdGlvbnMubGVuZ3RoOyArK2kpIHsKLSAgICAgICAgdmFyIGV2ZW50
QmFyQ2hpbGRyZW4gPSBldmVudExpc3RlbmVyU2VjdGlvbnNbaV0uX2V2ZW50QmFycy5jaGlsZHJl
bjsKLSAgICAgICAgZm9yICh2YXIgaiA9IDA7IGogPCBldmVudEJhckNoaWxkcmVuLmxlbmd0aDsg
KytqKQotICAgICAgICAgICAgZXZlbnRCYXJDaGlsZHJlbltqXS5fc2VjdGlvbi5leHBhbmQoKTsK
LSAgICB9Ci0KLSAgICAvLyBNdWx0aXBsZSBzZWN0aW9ucyBtYXkgZXhwYW5kLgotICAgIEluc3Bl
Y3RvclRlc3QucnVuQWZ0ZXJQZW5kaW5nRGlzcGF0Y2hlcyhjYWxsYmFjayk7Ci19Ci0KLUluc3Bl
Y3RvclRlc3QuZHVtcFNlbGVjdGVkRWxlbWVudEV2ZW50TGlzdGVuZXJzID0gZnVuY3Rpb24oY2Fs
bGJhY2spCi17Ci0gICAgZnVuY3Rpb24gZm9ybWF0U291cmNlTmFtZVByb3BlcnR5KHZhbHVlKQot
ICAgIHsKLSAgICAgICAgcmV0dXJuICJbY2xpcHBlZC1mb3ItdGVzdF0vIiArIHZhbHVlLnJlcGxh
Y2UoLyguKj9cLylMYXlvdXRUZXN0cy8sICJMYXlvdXRUZXN0cyIpOwotICAgIH0KLQotICAgIHZh
ciBldmVudExpc3RlbmVyU2VjdGlvbnMgPSBXZWJJbnNwZWN0b3IucGFuZWxzLmVsZW1lbnRzLnNp
ZGViYXJQYW5lcy5ldmVudExpc3RlbmVycy5zZWN0aW9uczsKLSAgICBmb3IgKHZhciBpID0gMDsg
aSA8IGV2ZW50TGlzdGVuZXJTZWN0aW9ucy5sZW5ndGg7ICsraSkgewotICAgICAgICB2YXIgc2Vj
dGlvbiA9IGV2ZW50TGlzdGVuZXJTZWN0aW9uc1tpXTsKLSAgICAgICAgdmFyIGV2ZW50VHlwZSA9
IHNlY3Rpb24uX3RpdGxlOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiIik7Ci0g
ICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCI9PT09PT09PSAiICsgZXZlbnRUeXBlICsg
IiA9PT09PT09PSIpOwotICAgICAgICB2YXIgZXZlbnRCYXJDaGlsZHJlbiA9IHNlY3Rpb24uX2V2
ZW50QmFycy5jaGlsZHJlbjsKLSAgICAgICAgZm9yICh2YXIgaiA9IDA7IGogPCBldmVudEJhckNo
aWxkcmVuLmxlbmd0aDsgKytqKSB7Ci0gICAgICAgICAgICB2YXIgb2JqZWN0UHJvcGVydGllc1Nl
Y3Rpb24gPSBldmVudEJhckNoaWxkcmVuW2pdLl9zZWN0aW9uOwotICAgICAgICAgICAgSW5zcGVj
dG9yVGVzdC5kdW1wT2JqZWN0UHJvcGVydHlTZWN0aW9uKG9iamVjdFByb3BlcnRpZXNTZWN0aW9u
LCB7Ci0gICAgICAgICAgICAgICAgc291cmNlTmFtZTogZm9ybWF0U291cmNlTmFtZVByb3BlcnR5
Ci0gICAgICAgICAgICB9KTsKLSAgICAgICAgfQotICAgIH0KLQotICAgIGNhbGxiYWNrKCk7Ci19
Ci0KLUluc3BlY3RvclRlc3QuZHVtcE9iamVjdFByb3BlcnR5U2VjdGlvbiA9IGZ1bmN0aW9uKHNl
Y3Rpb24sIGZvcm1hdHRlcnMpCi17Ci0gICAgdmFyIGV4cGFuZGVkU3Vic3RyaW5nID0gc2VjdGlv
bi5leHBhbmRlZCA/ICJbZXhwYW5kZWRdIiA6ICJbY29sbGFwc2VkXSI7Ci0gICAgSW5zcGVjdG9y
VGVzdC5hZGRSZXN1bHQoZXhwYW5kZWRTdWJzdHJpbmcgKyAiICIgKyBzZWN0aW9uLnRpdGxlRWxl
bWVudC50ZXh0Q29udGVudCArICIgIiArIHNlY3Rpb24uc3VidGl0bGVBc1RleHRGb3JUZXN0KTsK
LSAgICBpZiAoIXNlY3Rpb24ucHJvcGVydGllc0ZvclRlc3QpCi0gICAgICAgIHJldHVybjsKLQot
ICAgIGZvciAodmFyIGkgPSAwOyBpIDwgc2VjdGlvbi5wcm9wZXJ0aWVzRm9yVGVzdC5sZW5ndGg7
ICsraSkgewotICAgICAgICB2YXIgcHJvcGVydHkgPSBzZWN0aW9uLnByb3BlcnRpZXNGb3JUZXN0
W2ldOwotICAgICAgICB2YXIga2V5ID0gcHJvcGVydHkubmFtZTsKLSAgICAgICAgdmFyIHZhbHVl
ID0gcHJvcGVydHkudmFsdWUuX2Rlc2NyaXB0aW9uOwotICAgICAgICBpZiAoa2V5IGluIGZvcm1h
dHRlcnMpCi0gICAgICAgICAgICB2YWx1ZSA9IGZvcm1hdHRlcnNba2V5XSh2YWx1ZSk7Ci0gICAg
ICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCIgICAgIiArIGtleSArICI6ICIgKyB2YWx1ZSk7
Ci0gICAgfQotfQotCi1JbnNwZWN0b3JUZXN0LmR1bXBPYmplY3RQcm9wZXJ0eVNlY3Rpb25EZWVw
ID0gZnVuY3Rpb24oc2VjdGlvbikKLXsKLSAgICBmdW5jdGlvbiBkb21Ob2RlVG9TdHJpbmcobm9k
ZSkgewotICAgICAgICBpZiAobm9kZSkKLSAgICAgICAgICAgIHJldHVybiAiJyIgKyBub2RlLnRl
eHRDb250ZW50ICsgIiciOwotICAgICAgICBlbHNlCi0gICAgICAgICAgICByZXR1cm4gIm51bGwi
OwotICAgIH0KLSAgICBmdW5jdGlvbiBkdW1wVHJlZUVsZW1lbnRSZWN1cnNpdmVseSh0cmVlRWxl
bWVudCwgcHJlZml4KSB7Ci0gICAgICAgIGlmICgibmFtZUVsZW1lbnQiIGluIHRyZWVFbGVtZW50
KQotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQocHJlZml4ICsgZG9tTm9kZVRv
U3RyaW5nKHRyZWVFbGVtZW50Lm5hbWVFbGVtZW50KSArICIgPT4gIiArIGRvbU5vZGVUb1N0cmlu
Zyh0cmVlRWxlbWVudC52YWx1ZUVsZW1lbnQpKTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAg
SW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQocHJlZml4ICsgdHJlZUVsZW1lbnQudGl0bGUpOwotICAg
ICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRyZWVFbGVtZW50LmNoaWxkcmVuLmxlbmd0aDsgaSsr
KQotICAgICAgICAgICAgZHVtcFRyZWVFbGVtZW50UmVjdXJzaXZlbHkodHJlZUVsZW1lbnQuY2hp
bGRyZW5baV0sIHByZWZpeCArICIgICAgIik7Ci0gICAgfQotCi0gICAgdmFyIGNoaWxkTm9kZXMg
PSBzZWN0aW9uLnByb3BlcnRpZXNUcmVlT3V0bGluZS5jaGlsZHJlbjsKLSAgICBmb3IgKHZhciBp
ID0gMDsgaSA8IGNoaWxkTm9kZXMubGVuZ3RoOyBpKyspIHsKLSAgICAgICAgZHVtcFRyZWVFbGVt
ZW50UmVjdXJzaXZlbHkoY2hpbGROb2Rlc1tpXSwgIiIpOwotICAgIH0KLX0KLQotLy8gRklYTUU6
IHRoaXMgcmV0dXJucyB0aGUgZmlyc3QgdHJlZSBpdGVtIGZvdW5kIChtYXkgZmFpbCBmb3Igc2Ft
ZS1uYW1lZCBwcm9wZXJ0aWVzIGluIGEgc3R5bGUpLgotSW5zcGVjdG9yVGVzdC5nZXRFbGVtZW50
U3R5bGVQcm9wZXJ0eVRyZWVJdGVtID0gZnVuY3Rpb24ocHJvcGVydHlOYW1lKQotewotICAgIHZh
ciBzdHlsZVNlY3Rpb25zID0gV2ViSW5zcGVjdG9yLnBhbmVscy5lbGVtZW50cy5zaWRlYmFyUGFu
ZXMuc3R5bGVzLnNlY3Rpb25zWzBdOwotICAgIHZhciBlbGVtZW50U3R5bGVTZWN0aW9uID0gc3R5
bGVTZWN0aW9uc1sxXTsKLSAgICByZXR1cm4gSW5zcGVjdG9yVGVzdC5nZXRGaXJzdFByb3BlcnR5
VHJlZUl0ZW1Gb3JTZWN0aW9uKGVsZW1lbnRTdHlsZVNlY3Rpb24sIHByb3BlcnR5TmFtZSk7Ci19
OwotCi0vLyBGSVhNRTogdGhpcyByZXR1cm5zIHRoZSBmaXJzdCB0cmVlIGl0ZW0gZm91bmQgKG1h
eSBmYWlsIGZvciBzYW1lLW5hbWVkIHByb3BlcnRpZXMgaW4gYSBzdHlsZSkuCi1JbnNwZWN0b3JU
ZXN0LmdldE1hdGNoZWRTdHlsZVByb3BlcnR5VHJlZUl0ZW0gPSBmdW5jdGlvbihwcm9wZXJ0eU5h
bWUpCi17Ci0gICAgdmFyIHN0eWxlU2VjdGlvbnMgPSBXZWJJbnNwZWN0b3IucGFuZWxzLmVsZW1l
bnRzLnNpZGViYXJQYW5lcy5zdHlsZXMuc2VjdGlvbnNbMF07Ci0gICAgZm9yICh2YXIgaSA9IDE7
IGkgPCBzdHlsZVNlY3Rpb25zLmxlbmd0aDsgKytpKSB7Ci0gICAgICAgIHZhciB0cmVlSXRlbSA9
IEluc3BlY3RvclRlc3QuZ2V0Rmlyc3RQcm9wZXJ0eVRyZWVJdGVtRm9yU2VjdGlvbihzdHlsZVNl
Y3Rpb25zW2ldLCBwcm9wZXJ0eU5hbWUpOwotICAgICAgICBpZiAodHJlZUl0ZW0pCi0gICAgICAg
ICAgICByZXR1cm4gdHJlZUl0ZW07Ci0gICAgfQotICAgIHJldHVybiBudWxsOwotfTsKLQotSW5z
cGVjdG9yVGVzdC5nZXRGaXJzdFByb3BlcnR5VHJlZUl0ZW1Gb3JTZWN0aW9uID0gZnVuY3Rpb24o
c2VjdGlvbiwgcHJvcGVydHlOYW1lKQotewotICAgIHZhciBvdXRsaW5lID0gc2VjdGlvbi5wcm9w
ZXJ0aWVzVHJlZU91dGxpbmU7Ci0gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBvdXRsaW5lLmNoaWxk
cmVuLmxlbmd0aDsgKytpKSB7Ci0gICAgICAgIHZhciB0cmVlSXRlbSA9IG91dGxpbmUuY2hpbGRy
ZW5baV07Ci0gICAgICAgIGlmICh0cmVlSXRlbS5uYW1lID09PSBwcm9wZXJ0eU5hbWUpCi0gICAg
ICAgICAgICByZXR1cm4gdHJlZUl0ZW07Ci0gICAgfQotICAgIHJldHVybiBudWxsOwotfTsKLQot
SW5zcGVjdG9yVGVzdC5kdW1wU3R5bGVUcmVlT3V0bGluZSA9IGZ1bmN0aW9uKHRyZWVJdGVtLCBk
ZXB0aCkKLXsKLSAgICB2YXIgY2hpbGRyZW4gPSB0cmVlSXRlbS5jaGlsZHJlbjsKLSAgICBmb3Ig
KHZhciBpID0gMDsgaSA8IGNoaWxkcmVuLmxlbmd0aDsgKytpKQotICAgICAgICBJbnNwZWN0b3JU
ZXN0LmR1bXBTdHlsZVRyZWVJdGVtKGNoaWxkcmVuW2ldLCAiIiwgZGVwdGggfHwgMik7Ci19Owot
Ci1JbnNwZWN0b3JUZXN0LmR1bXBTdHlsZVRyZWVJdGVtID0gZnVuY3Rpb24odHJlZUl0ZW0sIHBy
ZWZpeCwgZGVwdGgpCi17Ci0gICAgLy8gRmlsdGVyIG91dCB3aWR0aCBhbmQgaGVpZ2h0IHByb3Bl
cnRpZXMgaW4gb3JkZXIgdG8gbWluaW1pemUKLSAgICAvLyBwb3RlbnRpYWwgZGlmZnMuCi0gICAg
aWYgKCF0cmVlSXRlbS5saXN0SXRlbUVsZW1lbnQudGV4dENvbnRlbnQuaW5kZXhPZigid2lkdGgi
KSB8fAotICAgICAgICAhdHJlZUl0ZW0ubGlzdEl0ZW1FbGVtZW50LnRleHRDb250ZW50LmluZGV4
T2YoImhlaWdodCIpKQotICAgICAgICByZXR1cm47Ci0KLSAgICBpZiAodHJlZUl0ZW0ubGlzdEl0
ZW1FbGVtZW50Lmhhc1N0eWxlQ2xhc3MoImluaGVyaXRlZCIpKQotICAgICAgICByZXR1cm47Ci0g
ICAgdmFyIHR5cGVQcmVmaXggPSAiIjsKLSAgICBpZiAodHJlZUl0ZW0ubGlzdEl0ZW1FbGVtZW50
Lmhhc1N0eWxlQ2xhc3MoIm92ZXJsb2FkZWQiKSB8fCB0cmVlSXRlbS5saXN0SXRlbUVsZW1lbnQu
aGFzU3R5bGVDbGFzcygiaW5hY3RpdmUiKSB8fCB0cmVlSXRlbS5saXN0SXRlbUVsZW1lbnQuaGFz
U3R5bGVDbGFzcygibm90LXBhcnNlZC1vayIpKQotICAgICAgICB0eXBlUHJlZml4ICs9ICIvLS0g
b3ZlcmxvYWRlZCAtLS8gIjsKLSAgICBpZiAodHJlZUl0ZW0ubGlzdEl0ZW1FbGVtZW50Lmhhc1N0
eWxlQ2xhc3MoImRpc2FibGVkIikpCi0gICAgICAgIHR5cGVQcmVmaXggKz0gIi8tLSBkaXNhYmxl
ZCAtLS8gIjsKLSAgICB2YXIgdGV4dENvbnRlbnQgPSB0cmVlSXRlbS5saXN0SXRlbUVsZW1lbnQu
dGV4dENvbnRlbnQ7Ci0KLSAgICAvLyBBZGQgbm9uLXNlbGVjdGFibGUgdXJsIHRleHQuCi0gICAg
dmFyIHRleHREYXRhID0gdHJlZUl0ZW0ubGlzdEl0ZW1FbGVtZW50LnF1ZXJ5U2VsZWN0b3IoIltk
YXRhLXVuY29weWFibGVdIik7Ci0gICAgaWYgKHRleHREYXRhKQotICAgICAgICB0ZXh0Q29udGVu
dCArPSB0ZXh0RGF0YS5nZXRBdHRyaWJ1dGUoImRhdGEtdW5jb3B5YWJsZSIpOwotICAgIEluc3Bl
Y3RvclRlc3QuYWRkUmVzdWx0KHByZWZpeCArIHR5cGVQcmVmaXggKyB0ZXh0Q29udGVudCk7Ci0g
ICAgaWYgKC0tZGVwdGgpIHsKLSAgICAgICAgdHJlZUl0ZW0uZXhwYW5kKCk7Ci0gICAgICAgIHZh
ciBjaGlsZHJlbiA9IHRyZWVJdGVtLmNoaWxkcmVuOwotICAgICAgICBmb3IgKHZhciBpID0gMDsg
Y2hpbGRyZW4gJiYgaSA8IGNoaWxkcmVuLmxlbmd0aDsgKytpKQotICAgICAgICAgICAgSW5zcGVj
dG9yVGVzdC5kdW1wU3R5bGVUcmVlSXRlbShjaGlsZHJlbltpXSwgcHJlZml4ICsgIiAgICAiLCBk
ZXB0aCk7Ci0gICAgfQotfTsKLQotSW5zcGVjdG9yVGVzdC5kdW1wRWxlbWVudHNUcmVlID0gZnVu
Y3Rpb24ocm9vdE5vZGUsIGRlcHRoKQotewotICAgIGZ1bmN0aW9uIGJlYXV0aWZ5KGVsZW1lbnQp
Ci0gICAgewotICAgICAgICByZXR1cm4gZWxlbWVudC5pbm5lclRleHQucmVwbGFjZSgvXHUyMDBi
L2csICIiKS5yZXBsYWNlKC9cbi9nLCAiXFxuIikudHJpbSgpOwotICAgIH0KLQotICAgIGZ1bmN0
aW9uIGR1bXBNYXAobmFtZSwgbWFwKQotICAgIHsKLSAgICAgICAgdmFyIHJlc3VsdCA9IFtdOwot
ICAgICAgICBmb3IgKHZhciBpZCBpbiBtYXApCi0gICAgICAgICAgICByZXN1bHQucHVzaChpZCAr
ICI9IiArIG1hcFtpZF0pOwotICAgICAgICBpZiAoIXJlc3VsdC5sZW5ndGgpCi0gICAgICAgICAg
ICByZXR1cm4gIiI7Ci0gICAgICAgIHJldHVybiBuYW1lICsgIjpbIiArIHJlc3VsdC5qb2luKCIs
IikgKyAiXSI7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gdXNlclByb3BlcnR5RGF0YUR1bXAodHJl
ZUl0ZW0pCi0gICAgewotICAgICAgICBpZiAodHJlZUl0ZW0uX2VsZW1lbnRDbG9zZVRhZykKLSAg
ICAgICAgICAgIHJldHVybiAiIjsKLQotICAgICAgICB2YXIgdXNlclByb3BlcnRpZXMgPSAiIjsK
LSAgICAgICAgdmFyIG5vZGUgPSB0cmVlSXRlbS5yZXByZXNlbnRlZE9iamVjdDsKLSAgICAgICAg
aWYgKG5vZGUpIHsKLSAgICAgICAgICAgIHVzZXJQcm9wZXJ0aWVzICs9IGR1bXBNYXAoInVzZXJQ
cm9wZXJ0aWVzIiwgbm9kZS5fdXNlclByb3BlcnRpZXMpOwotICAgICAgICAgICAgdmFyIGR1bXAg
PSBkdW1wTWFwKCJkZXNjZW5kYW50VXNlckF0dHJpYnV0ZUNvdW50ZXJzIiwgbm9kZS5fZGVzY2Vu
ZGFudFVzZXJQcm9wZXJ0eUNvdW50ZXJzKTsKLSAgICAgICAgICAgIGlmIChkdW1wKSB7Ci0gICAg
ICAgICAgICAgICAgaWYgKHVzZXJQcm9wZXJ0aWVzKQotICAgICAgICAgICAgICAgICAgICB1c2Vy
UHJvcGVydGllcyArPSAiLCAiOwotICAgICAgICAgICAgICAgIHVzZXJQcm9wZXJ0aWVzICs9IGR1
bXA7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBpZiAodXNlclByb3BlcnRpZXMpCi0gICAg
ICAgICAgICAgICAgdXNlclByb3BlcnRpZXMgPSAiIFsiICsgdXNlclByb3BlcnRpZXMgKyAiXSI7
Ci0gICAgICAgIH0KLSAgICAgICAgcmV0dXJuIHVzZXJQcm9wZXJ0aWVzOwotICAgIH0KLQotICAg
IGZ1bmN0aW9uIHByaW50KHRyZWVJdGVtLCBwcmVmaXgsIGRlcHRoKQotICAgIHsKLSAgICAgICAg
aWYgKHRyZWVJdGVtLmxpc3RJdGVtRWxlbWVudCkgewotICAgICAgICAgICAgdmFyIGV4cGFuZGVy
OwotICAgICAgICAgICAgaWYgKHRyZWVJdGVtLmhhc0NoaWxkcmVuKSB7Ci0gICAgICAgICAgICAg
ICAgaWYgKHRyZWVJdGVtLmV4cGFuZGVkKQotICAgICAgICAgICAgICAgICAgICBleHBhbmRlciA9
ICItICI7Ci0gICAgICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICAgICBleHBhbmRl
ciA9ICIrICI7Ci0gICAgICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgICAgICBleHBhbmRlciA9
ICIgICI7Ci0KLSAgICAgICAgICAgIHZhciB1c2VyUHJvcGVydGllcyA9IHVzZXJQcm9wZXJ0eURh
dGFEdW1wKHRyZWVJdGVtKTsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KHBy
ZWZpeCArIGV4cGFuZGVyICsgYmVhdXRpZnkodHJlZUl0ZW0ubGlzdEl0ZW1FbGVtZW50KSArIHVz
ZXJQcm9wZXJ0aWVzKTsKLSAgICAgICAgfQotCi0gICAgICAgIGlmICghdHJlZUl0ZW0uZXhwYW5k
ZWQpCi0gICAgICAgICAgICByZXR1cm47Ci0KLSAgICAgICAgdmFyIGNoaWxkcmVuID0gdHJlZUl0
ZW0uY2hpbGRyZW47Ci0gICAgICAgIGZvciAodmFyIGkgPSAwOyBkZXB0aCAmJiBjaGlsZHJlbiAm
JiBpIDwgY2hpbGRyZW4ubGVuZ3RoIC0gMTsgKytpKQotICAgICAgICAgICAgcHJpbnQoY2hpbGRy
ZW5baV0sIHByZWZpeCArICIgICAgIiwgZGVwdGggLSAxKTsKLQotICAgICAgICAvLyBDbG9zaW5n
IHRhZy4KLSAgICAgICAgaWYgKGNoaWxkcmVuICYmIGNoaWxkcmVuLmxlbmd0aCkKLSAgICAgICAg
ICAgIHByaW50KGNoaWxkcmVuW2NoaWxkcmVuLmxlbmd0aCAtIDFdLCBwcmVmaXgsIGRlcHRoKTsK
LSAgICB9Ci0KLSAgICBXZWJJbnNwZWN0b3IucGFuZWxzLmVsZW1lbnRzLnRyZWVPdXRsaW5lLl91
cGRhdGVNb2RpZmllZE5vZGVzKCk7Ci0gICAgdmFyIHRyZWVPdXRsaW5lID0gV2ViSW5zcGVjdG9y
LnBhbmVscy5lbGVtZW50cy50cmVlT3V0bGluZTsKLSAgICBwcmludChyb290Tm9kZSA/IHRyZWVP
dXRsaW5lLmZpbmRUcmVlRWxlbWVudChyb290Tm9kZSkgOiB0cmVlT3V0bGluZSwgIiIsIGRlcHRo
IHx8IDEwMDAwKTsKLX07Ci0KLUluc3BlY3RvclRlc3QuZXhwYW5kRWxlbWVudHNUcmVlID0gZnVu
Y3Rpb24oY2FsbGJhY2spCi17Ci0gICAgY2FsbGJhY2sgPSBJbnNwZWN0b3JUZXN0LnNhZmVXcmFw
KGNhbGxiYWNrKTsKLQotICAgIGZ1bmN0aW9uIGV4cGFuZCh0cmVlSXRlbSkKLSAgICB7Ci0gICAg
ICAgIHZhciBjaGlsZHJlbiA9IHRyZWVJdGVtLmNoaWxkcmVuOwotICAgICAgICBmb3IgKHZhciBp
ID0gMDsgY2hpbGRyZW4gJiYgaSA8IGNoaWxkcmVuLmxlbmd0aDsgKytpKSB7Ci0gICAgICAgICAg
ICBjaGlsZHJlbltpXS5leHBhbmQoKTsKLSAgICAgICAgICAgIGV4cGFuZChjaGlsZHJlbltpXSk7
Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBvbkFsbE5vZGVzQXZhaWxhYmxlKCkK
LSAgICB7Ci0gICAgICAgIFdlYkluc3BlY3Rvci5wYW5lbHMuZWxlbWVudHMudHJlZU91dGxpbmUu
X3VwZGF0ZU1vZGlmaWVkTm9kZXMoKTsKLSAgICAgICAgZXhwYW5kKFdlYkluc3BlY3Rvci5wYW5l
bHMuZWxlbWVudHMudHJlZU91dGxpbmUpOwotICAgICAgICBjYWxsYmFjaygpOwotICAgIH0KLSAg
ICBXZWJJbnNwZWN0b3Iuc2hvd1BhbmVsKCJlbGVtZW50cyIpOwotICAgIEluc3BlY3RvclRlc3Qu
ZmluZE5vZGUoZnVuY3Rpb24oKSB7IHJldHVybiBmYWxzZTsgfSwgb25BbGxOb2Rlc0F2YWlsYWJs
ZSk7Ci19OwotCi1JbnNwZWN0b3JUZXN0LmR1bXBET01BZ2VudFRyZWUgPSBmdW5jdGlvbigpCi17
Ci0gICAgaWYgKCFXZWJJbnNwZWN0b3IuZG9tQWdlbnQuX2RvY3VtZW50KQotICAgICAgICByZXR1
cm47Ci0KLSAgICBmdW5jdGlvbiBkdW1wKG5vZGUsIHByZWZpeCwgc3RhcnRJbmRleCkKLSAgICB7
Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KHByZWZpeCArIG5vZGUubm9kZU5hbWUo
KSArICJbIiArIChub2RlLmlkIC0gc3RhcnRJbmRleCkrICJdIik7Ci0gICAgICAgIHZhciBjaGls
ZHJlbiA9IG5vZGUuY2hpbGRyZW47Ci0gICAgICAgIGZvciAodmFyIGkgPSAwOyBjaGlsZHJlbiAm
JiBpIDwgY2hpbGRyZW4ubGVuZ3RoOyArK2kpCi0gICAgICAgICAgICBkdW1wKGNoaWxkcmVuW2ld
LCBwcmVmaXggKyAiICAgICIsIHN0YXJ0SW5kZXgpOwotICAgIH0KLSAgICBkdW1wKFdlYkluc3Bl
Y3Rvci5kb21BZ2VudC5fZG9jdW1lbnQsICIiLCBXZWJJbnNwZWN0b3IuZG9tQWdlbnQuX2RvY3Vt
ZW50LmlkIC0gMSk7Ci19OwotCi1JbnNwZWN0b3JUZXN0LnJhbmdlVGV4dCA9IGZ1bmN0aW9uKHJh
bmdlKQotewotICAgIGlmICghcmFuZ2UpCi0gICAgICAgIHJldHVybiAiW3VuZGVmaW5lZC11bmRl
ZmluZWRdIjsKLSAgICByZXR1cm4gIlsiICsgcmFuZ2Uuc3RhcnRMaW5lICsgIjoiICsgcmFuZ2Uu
c3RhcnRDb2x1bW4gKyAiLSIgKyByYW5nZS5lbmRMaW5lICsgIjoiICsgcmFuZ2UuZW5kQ29sdW1u
ICsgIl0iOwotfQotCi1JbnNwZWN0b3JUZXN0LmdlbmVyYXRlVW5kb1Rlc3QgPSBmdW5jdGlvbih0
ZXN0Qm9keSkKLXsKLSAgICBmdW5jdGlvbiByZXN1bHQobmV4dCkKLSAgICB7Ci0gICAgICAgIHZh
ciB0ZXN0Tm9kZSA9IEluc3BlY3RvclRlc3QuZXhwYW5kZWROb2RlV2l0aElkKC9mdW5jdGlvblxz
KFteKF0qKS8uZXhlYyh0ZXN0Qm9keSlbMV0pOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJl
c3VsdCgiSW5pdGlhbDoiKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wRWxlbWVudHNUcmVl
KHRlc3ROb2RlKTsKLQotICAgICAgICB0ZXN0Qm9keSh1bmRvKTsKLQotICAgICAgICBmdW5jdGlv
biB1bmRvKCkKLSAgICAgICAgewotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQo
IlBvc3QtYWN0aW9uOiIpOwotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wRWxlbWVudHNU
cmVlKHRlc3ROb2RlKTsKLSAgICAgICAgICAgIFdlYkluc3BlY3Rvci5kb21BZ2VudC51bmRvKHJl
ZG8pOwotICAgICAgICB9Ci0KLSAgICAgICAgZnVuY3Rpb24gcmVkbygpCi0gICAgICAgIHsKLSAg
ICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJQb3N0LXVuZG8gKGluaXRpYWwpOiIp
OwotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wRWxlbWVudHNUcmVlKHRlc3ROb2RlKTsK
LSAgICAgICAgICAgIFdlYkluc3BlY3Rvci5kb21BZ2VudC5yZWRvKGRvbmUpOwotICAgICAgICB9
Ci0KLSAgICAgICAgZnVuY3Rpb24gZG9uZSgpCi0gICAgICAgIHsKLSAgICAgICAgICAgIEluc3Bl
Y3RvclRlc3QuYWRkUmVzdWx0KCJQb3N0LXJlZG8gKGFjdGlvbik6Iik7Ci0gICAgICAgICAgICBJ
bnNwZWN0b3JUZXN0LmR1bXBFbGVtZW50c1RyZWUodGVzdE5vZGUpOwotICAgICAgICAgICAgbmV4
dCgpOwotICAgICAgICB9Ci0gICAgfQotICAgIHJlc3VsdC50b1N0cmluZyA9IGZ1bmN0aW9uKCkK
LSAgICB7Ci0gICAgICAgIHJldHVybiB0ZXN0Qm9keS50b1N0cmluZygpOwotICAgIH0KLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotCi1jb25zdCBpbmRlbnQgPSAiICAgICI7Ci0KLUluc3BlY3RvclRl
c3QuZHVtcFJ1bGVzQXJyYXkgPSBmdW5jdGlvbihydWxlcywgY3VycmVudEluZGVudCkKLXsKLSAg
ICBpZiAoIXJ1bGVzKQotICAgICAgICByZXR1cm47Ci0gICAgY3VycmVudEluZGVudCA9IGN1cnJl
bnRJbmRlbnQgfHwgIiI7Ci0gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBydWxlcy5sZW5ndGg7ICsr
aSkKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wUnVsZShydWxlc1tpXSwgY3VycmVudEluZGVu
dCk7Ci19Ci0KLUluc3BlY3RvclRlc3QuZHVtcFJ1bGVNYXRjaGVzQXJyYXkgPSBmdW5jdGlvbiht
YXRjaGVzLCBjdXJyZW50SW5kZW50KQotewotICAgIGlmICghbWF0Y2hlcykKLSAgICAgICAgcmV0
dXJuOwotICAgIGN1cnJlbnRJbmRlbnQgPSBjdXJyZW50SW5kZW50IHx8ICIiOwotICAgIGZvciAo
dmFyIGkgPSAwOyBpIDwgbWF0Y2hlcy5sZW5ndGg7ICsraSkKLSAgICAgICAgSW5zcGVjdG9yVGVz
dC5kdW1wUnVsZShtYXRjaGVzW2ldLnJ1bGUsIGN1cnJlbnRJbmRlbnQpOwotfQotCi1JbnNwZWN0
b3JUZXN0LmR1bXBSdWxlID0gZnVuY3Rpb24ocnVsZSwgY3VycmVudEluZGVudCkKLXsKLSAgICBm
dW5jdGlvbiBzZWxlY3RvclJhbmdlKCkKLSAgICB7Ci0gICAgICAgIGlmICghcnVsZS5zZWxlY3Rv
ckxpc3QgfHwgIXJ1bGUuc2VsZWN0b3JMaXN0LnJhbmdlKQotICAgICAgICAgICAgcmV0dXJuICIi
OwotICAgICAgICB2YXIgcmFuZ2UgPSBydWxlLnNlbGVjdG9yTGlzdC5yYW5nZTsKLSAgICAgICAg
cmV0dXJuICIsICIgKyByYW5nZS5zdGFydExpbmUgKyAiOiIgKyByYW5nZS5zdGFydENvbHVtbiAr
ICItIiArIHJhbmdlLmVuZExpbmUgKyAiOiIgKyByYW5nZS5lbmRDb2x1bW47Ci0gICAgfQotCi0g
ICAgY3VycmVudEluZGVudCA9IGN1cnJlbnRJbmRlbnQgfHwgIiI7Ci0KLSAgICBpZiAoIXJ1bGUu
dHlwZSB8fCBydWxlLnR5cGUgPT09ICJzdHlsZSIpIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5h
ZGRSZXN1bHQoY3VycmVudEluZGVudCArIHJ1bGUuc2VsZWN0b3JMaXN0LnRleHQgKyAiOiBbIiAr
IHJ1bGUub3JpZ2luICsgc2VsZWN0b3JSYW5nZSgpICsgIl0geyIpOwotICAgICAgICBJbnNwZWN0
b3JUZXN0LmR1bXBTdHlsZShydWxlLnN0eWxlLCBjdXJyZW50SW5kZW50ICsgaW5kZW50KTsKLSAg
ICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoY3VycmVudEluZGVudCArICJ9Iik7Ci0gICAg
ICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBpZiAocnVsZS50eXBlID09PSAibWVkaWEiKSB7Ci0g
ICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KGN1cnJlbnRJbmRlbnQgKyAiQG1lZGlhICIg
KyBydWxlLm1lZGlhVGV4dCArICIgeyIpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBSdWxl
c0FycmF5KHJ1bGUuY2hpbGRSdWxlcywgY3VycmVudEluZGVudCArIGluZGVudCk7Ci0gICAgICAg
IEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KGN1cnJlbnRJbmRlbnQgKyAifSIpOwotICAgICAgICBy
ZXR1cm47Ci0gICAgfQotCi0gICAgaWYgKHJ1bGUudHlwZSA9PT0gImltcG9ydCIpIHsKLSAgICAg
ICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoY3VycmVudEluZGVudCArICJAaW1wb3J0OiBoZWFk
ZXI9IiArIEluc3BlY3RvclRlc3QucmFuZ2VUZXh0KHJ1bGUuaGVhZGVyUmFuZ2UpICsgIiwgYm9k
eT0iICsgSW5zcGVjdG9yVGVzdC5yYW5nZVRleHQocnVsZS5ib2R5UmFuZ2UpKTsKLSAgICAgICAg
cmV0dXJuOwotICAgIH0KLQotICAgIGlmIChydWxlLnR5cGUgPT09ICJwYWdlIiB8fCBydWxlLnR5
cGUgPT09ICJmb250LWZhY2UiKSB7Ci0gICAgICAgIGlmIChydWxlLnR5cGUgPT09ICJwYWdlIikK
LSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KGN1cnJlbnRJbmRlbnQgKyBydWxl
LnNlbGVjdG9yTGlzdC50ZXh0ICsgIiB7Iik7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIElu
c3BlY3RvclRlc3QuYWRkUmVzdWx0KGN1cnJlbnRJbmRlbnQgKyAiQCIgKyBydWxlLnR5cGUgKyAi
ICIgKyAocnVsZS5zZWxlY3Rvckxpc3QudGV4dCA/IHJ1bGUuc2VsZWN0b3JMaXN0LnRleHQgKyAi
ICIgOiAiIikgICsgInsiKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wU3R5bGUocnVsZS5z
dHlsZSwgY3VycmVudEluZGVudCArIGluZGVudCk7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRk
UmVzdWx0KGN1cnJlbnRJbmRlbnQgKyAifSIpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0g
ICAgaWYgKHJ1bGUudHlwZSA9PT0gImNoYXJzZXQiKSB7Ci0gICAgICAgIEluc3BlY3RvclRlc3Qu
YWRkUmVzdWx0KCJAY2hhcnNldCIpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgSW5z
cGVjdG9yVGVzdC5hZGRSZXN1bHQoY3VycmVudEluZGVudCArICJbVU5LTk9XTiBSVUxFXTogaGVh
ZGVyPSIgKyBJbnNwZWN0b3JUZXN0LnJhbmdlVGV4dChydWxlLmhlYWRlclJhbmdlKSArICIsIGJv
ZHk9IiArIEluc3BlY3RvclRlc3QucmFuZ2VUZXh0KHJ1bGUuYm9keVJhbmdlKSk7Ci19Ci0KLUlu
c3BlY3RvclRlc3QuZHVtcFN0eWxlID0gZnVuY3Rpb24oc3R5bGUsIGN1cnJlbnRJbmRlbnQpCi17
Ci0gICAgY3VycmVudEluZGVudCA9IGN1cnJlbnRJbmRlbnQgfHwgIiI7Ci0gICAgaWYgKCFzdHls
ZSkgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdChjdXJyZW50SW5kZW50ICsgIltO
TyBTVFlMRV0iKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLSAgICBmb3IgKHZhciBpID0gMDsg
aSA8IHN0eWxlLmNzc1Byb3BlcnRpZXMubGVuZ3RoOyArK2kpIHsKLSAgICAgICAgdmFyIHByb3Bl
cnR5ID0gc3R5bGUuY3NzUHJvcGVydGllc1tpXTsKLSAgICAgICAgaWYgKHByb3BlcnR5LnN0YXR1
cyAhPT0gImRpc2FibGVkIikKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KGN1
cnJlbnRJbmRlbnQgKyAiWyciICsgcHJvcGVydHkubmFtZSArICInOiciICsgcHJvcGVydHkudmFs
dWUgKyAiJyIgKyAocHJvcGVydHkucHJpb3JpdHkgPT09ICJpbXBvcnRhbnQiID8gIiBpcy1pbXBv
cnRhbnQiIDogIiIpICsgKCgicGFyc2VkT2siIGluIHByb3BlcnR5KSA/ICIgbm9uLXBhcnNlZCIg
OiAiIikgKyJdIEAiICsgSW5zcGVjdG9yVGVzdC5yYW5nZVRleHQocHJvcGVydHkucmFuZ2UpICsg
IiAiICsgKHByb3BlcnR5LnN0YXR1cyB8fCAic3R5bGUiKSk7Ci0gICAgICAgIGVsc2UKLSAgICAg
ICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KGN1cnJlbnRJbmRlbnQgKyAiW3RleHQ9JyIg
KyBwcm9wZXJ0eS50ZXh0ICsgIiddICIgKyBwcm9wZXJ0eS5zdGF0dXMpOwotICAgIH0KLX0KLQot
fTsKLQotZnVuY3Rpb24gZHVtcEluc3BlY3RvckhpZ2hsaWdodFJlY3RzKCkKLXsKLSAgICB2YXIg
cmVjdE5hbWVzID0gWyJtYXJnaW4iLCAiYm9yZGVyIiwgInBhZGRpbmciLCAiY29udGVudCJdOwot
ICAgIHZhciByZWN0cyA9IHdpbmRvdy5pbnRlcm5hbHMuaW5zcGVjdG9ySGlnaGxpZ2h0UmVjdHMo
KTsKLSAgICBmb3IgKHZhciBpID0gMDsgaSA8IHJlY3RzLmxlbmd0aDsgaSsrKQotICAgIHsKLSAg
ICAgICAgdmFyIHJlY3ROYW1lID0gKGkgPCByZWN0TmFtZXMubGVuZ3RoID8gcmVjdE5hbWVzW2ld
IDogInVudGl0bGVkIik7Ci0gICAgICAgIHZhciByZWN0ID0gcmVjdHMuaXRlbShpKTsKLSAgICAg
ICAgb3V0cHV0KHJlY3ROYW1lICsgIiByZWN0IGlzICIgKyByZWN0LndpZHRoICsgIiB4ICIgKyBy
ZWN0LmhlaWdodCArICIgYXQgKCIgKyByZWN0LmxlZnQgKyAiLCAiICsgcmVjdC50b3AgKyAiKSIp
OwotICAgIH0KLX0KLQotZnVuY3Rpb24gZHVtcEluc3BlY3RvckhpZ2hsaWdodGVkUmVnaW9ucygp
Ci17Ci0gICAgdmFyIGhpZ2hsaWdodCA9IHdpbmRvdy5pbnRlcm5hbHMuaW5zcGVjdG9ySGlnaGxp
Z2h0T2JqZWN0KCk7Ci0gICAgaWYgKCFoaWdobGlnaHQubGVuZ3RoKSB7Ci0gICAgICAgIG91dHB1
dCgiTm8gaGlnaGxpZ2h0ZWQgbm9kZS4iKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLSAgICAv
LyBSZWZvcm1hdCB0aGUgc3RyaW5nIHVzaW5nIEpTT04uc3RyaW5naWZ5LgotICAgIHZhciBqc29u
ID0gSlNPTi5wYXJzZShoaWdobGlnaHQpOwotICAgIGlmICghanNvbi5lbGVtZW50SW5mbyB8fCAh
anNvbi5lbGVtZW50SW5mby5yZWdpb25GbG93SW5mbykgewotICAgICAgICBvdXRwdXQoIk5vIGhp
Z2hsaWdodGVkIHJlZ2lvbnMuIik7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0gICAgb3V0cHV0
KEpTT04uc3RyaW5naWZ5KGpzb24uZWxlbWVudEluZm8ucmVnaW9uRmxvd0luZm8sIG51bGwsIDQp
KTsKLX0KLQotZnVuY3Rpb24gZHVtcEluc3BlY3RvckhpZ2hsaWdodGVkTm9kZSgpCi17Ci0gICAg
dmFyIGhpZ2hsaWdodCA9IHdpbmRvdy5pbnRlcm5hbHMuaW5zcGVjdG9ySGlnaGxpZ2h0T2JqZWN0
KCk7Ci0gICAgaWYgKCFoaWdobGlnaHQubGVuZ3RoKSB7Ci0gICAgICAgIG91dHB1dCgiTm8gaGln
aGxpZ2h0ZWQgbm9kZS4iKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLSAgICAvLyBSZWZvcm1h
dCB0aGUgc3RyaW5nIHVzaW5nIEpTT04uc3RyaW5naWZ5LgotICAgIHZhciBqc29uID0gSlNPTi5w
YXJzZShoaWdobGlnaHQpOwotICAgIGlmICghanNvbikgewotICAgICAgICBvdXRwdXQoIk5vIGhp
Z2hsaWdodGVkIG5vZGUuIik7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0gICAgb3V0cHV0KEpT
T04uc3RyaW5naWZ5KGpzb24sIG51bGwsIDQpKTsKLX0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvaW5zcGVjdG9yL2V4dGVuc2lvbnMtaGVhZGVycy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9leHRlbnNpb25zLWhlYWRlcnMtZXhwZWN0
ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzZTY3YTE2MTMwNTExNjUxZDA4
ZmVhZDZiZWEzNjlhNDZkNWU5YmJhLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2V4dGVuc2lvbnMt
aGVhZGVycy1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw5ICswLDAgQEAKLVRlc3Rz
IFdlYkluc3BlY3RvciBleHRlbnNpb24gQVBJCi0KLUhUVFBfWF9XRUJJTlNQRUNUT1JfRVhURU5T
SU9OOiB0ZXN0Ci1IVFRQX1VTRVJfQUdFTlQ6IE1vemlsbGEvNC4wIChjb21wYXRpYmxlOyBNU0lF
IDcuMGI7IFdpbmRvd3MgTlQgNi4wKQotU3RhcnRlZCBleHRlbnNpb24uCi1SdW5uaW5nIHRlc3Rz
Li4uCi1SVU5OSU5HIFRFU1Q6IGV4dGVuc2lvbl90ZXN0QWRkSGVhZGVycwotQWxsIHRlc3RzIGRv
bmUuCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2V4dGVu
c2lvbnMtaGVhZGVycy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvZXh0
ZW5zaW9ucy1oZWFkZXJzLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGZkMmYx
MjNlMzc2YmI4ODhlYjM2Mzk0NmYzZGI3NzkwY2E3MDg2Y2QuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0
b3IvZXh0ZW5zaW9ucy1oZWFkZXJzLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw0MCArMCwwIEBA
Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Imluc3BlY3Rvci10ZXN0LmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQgc3JjPSJleHRlbnNpb25zLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdCB0
eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgotCi1mdW5jdGlvbiBleHRlbnNpb25fdGVzdEFkZEhlYWRl
cnMobmV4dFRlc3QpCi17Ci0gICAgd2ViSW5zcGVjdG9yLm5ldHdvcmsuYWRkUmVxdWVzdEhlYWRl
cnMoewotICAgICAgICAieC13ZWJpbnNwZWN0b3ItZXh0ZW5zaW9uIjogInRlc3QiLAotICAgICAg
ICAidXNlci1hZ2VudCI6ICJNb3ppbGxhLzQuMCAoY29tcGF0aWJsZTsgTVNJRSA3LjBiOyBXaW5k
b3dzIE5UIDYuMCkiCi0gICAgfSk7Ci0gICAgZnVuY3Rpb24gY2xlYW5VcEhlYWRlcnMoKQotICAg
IHsKLSAgICAgICAgd2ViSW5zcGVjdG9yLm5ldHdvcmsuYWRkUmVxdWVzdEhlYWRlcnMoewotICAg
ICAgICAgICAgIngtd2ViaW5zcGVjdG9yLWV4dGVuc2lvbiI6IG51bGwsCi0gICAgICAgICAgICAi
dXNlci1hZ2VudCI6IG51bGwKLSAgICAgICAgfSk7Ci0gICAgfQotICAgIHdlYkluc3BlY3Rvci5p
bnNwZWN0ZWRXaW5kb3cuZXZhbCgiZG9YSFIoKSIsIGNhbGxiYWNrQW5kTmV4dFRlc3QoY2xlYW5V
cEhlYWRlcnMsIG5leHRUZXN0KSk7Ci19Ci0KLWZ1bmN0aW9uIGRvWEhSKCkKLXsKLSAgICB2YXIg
eGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7Ci0gICAgeGhyLm9wZW4oIkdFVCIsICJyZXNvdXJj
ZXMvZWNoby1oZWFkZXJzLnBocCIsIGZhbHNlKTsKLSAgICB4aHIuc2VuZChudWxsKTsKLSAgICAv
LyBDYW4ndCB1c2Ugb3V0cHV0KCkgaGVyZSBkdWUgdG8gb3V0cHV0IG9yZGVyIGluc3RhYmlsaXR5
OiB0aGlzIGlzIGludm9rZWQgYnkgaW5zcGVjdGVkV2luZG93LmV2YWwoKSwKLSAgICAvLyB3aGlj
aCBpcyBub3Qgc2VyaWFsaXplZCBhZ2FpbnN0IG91dHB1dCBmcm9tIGV4dGVuc2lvbiwgYXMgdGhl
IGxhdHRlciBpcyBwb3N0ZWQgYXN5bmNocm9ub3VzbHkgdmlhCi0gICAgLy8gcG9zdE1lc3NhZ2Ug
dG8gZnJvbnQtZW5kIHdpbmRvdy4KLSAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaGVhZGVy
cyIpLnRleHRDb250ZW50ICs9IHhoci5yZXNwb25zZVRleHQ7Ci19Ci0KLTwvc2NyaXB0PgotPC9o
ZWFkPgotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotPHA+VGVzdHMgV2ViSW5zcGVjdG9yIGV4
dGVuc2lvbiBBUEk8L3A+Ci08ZGl2IHN0eWxlPSJ3aGl0ZS1zcGFjZTogcHJlIiBpZD0iaGVhZGVy
cyI+PC9kaXY+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2luc3BlY3Rvci9leHRlbnNpb25zLWlmcmFtZS1ldmFsLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2V4dGVuc2lvbnMtaWZyYW1lLWV2YWwtZXhw
ZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiODRjMzYwZGM5ZmRlZTVh
Y2MyYzhkZTdiMDRjOTY3ZjEzYjU4ZmY3Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2V4dGVuc2lv
bnMtaWZyYW1lLWV2YWwtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTIgKzAsMCBA
QAotVGVzdHMgV2ViSW5zcGVjdG9yIGV4dGVuc2lvbiBBUEkKLQotCi1TdGFydGVkIGV4dGVuc2lv
bi4KLVJ1bm5pbmcgdGVzdHMuLi4KLVJVTk5JTkcgVEVTVDogZXh0ZW5zaW9uX3Rlc3RFdmFsSW5J
RnJhbWUKLUV2YWx1YXRlOiAiL2luc3BlY3Rvci9yZXNvdXJjZXMvZXh0ZW5zaW9ucy1mcmFtZS1l
dmFsLmh0bWwiIChleGNlcHRpb246IHVuZGVmaW5lZCkKLVJVTk5JTkcgVEVTVDogZXh0ZW5zaW9u
X3Rlc3RFdmFsSW5JRnJhbWVCYWRPcHRpb24KLWxvZzogRXh0ZW5zaW9uIHNlcnZlciBlcnJvcjog
T2JqZWN0IG5vdCBmb3VuZDogYm9ndXMKLUV2YWx1YXRlOiB1bmRlZmluZWQgKGV4Y2VwdGlvbjog
W29iamVjdCBPYmplY3RdKQotQWxsIHRlc3RzIGRvbmUuCi0KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2V4dGVuc2lvbnMtaWZyYW1lLWV2YWwuaHRtbCBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2V4dGVuc2lvbnMtaWZyYW1lLWV2YWwuaHRt
bApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggY2Y5MWIxNTZlNGMyYzI2YTA3ZjY5YThh
ODNlYmMyYjgyMzcyYzM2OS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9leHRlbnNpb25zLWlmcmFt
ZS1ldmFsLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw0MSArMCwwIEBACi08aHRtbD4KLTxoZWFk
PgotPHNjcmlwdCBzcmM9Imluc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSJleHRlbnNpb25zLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFz
Y3JpcHQiPgotCi1mdW5jdGlvbiBleHRlbnNpb25fdGVzdEV2YWxJbklGcmFtZShuZXh0VGVzdCkg
Ci17Ci0gICAgdmFyIHVybCA9ICdodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291
cmNlcy9leHRlbnNpb25zLWZyYW1lLWV2YWwuaHRtbCc7Ci0gICAgdmFyIG9yaWdpbiA9ICJodHRw
Oi8vMTI3LjAuMC4xOjgwMDAiCi0gICAgdmFyIG9wdGlvbnMgPSB7Ci0gICAgICAgIGZyYW1lVVJM
OiB1cmwKLSAgICB9OwotICAgIHZhciBsb2MgPSAid2luZG93LmxvY2F0aW9uLnBhdGhuYW1lIjsK
LSAgICB3ZWJJbnNwZWN0b3IuaW5zcGVjdGVkV2luZG93LmV2YWwobG9jLCBvcHRpb25zLCBjYWxs
YmFja0FuZE5leHRUZXN0KGV4dGVuc2lvbl9vbkV2YWwsIG5leHRUZXN0KSk7Ci19Ci0KLWZ1bmN0
aW9uIGV4dGVuc2lvbl90ZXN0RXZhbEluSUZyYW1lQmFkT3B0aW9uKG5leHRUZXN0KSAKLXsKLSAg
ICB2YXIgdXJsID0gJ2h0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2VzL2V4
dGVuc2lvbnMtZnJhbWUtZXZhbC5odG1sJzsKLSAgICB2YXIgb3JpZ2luID0gImh0dHA6Ly8xMjcu
MC4wLjE6ODAwMCIKLSAgICB2YXIgb3B0aW9ucyA9IHsKLSAgICAgICAgZnJhbWVVUkw6IHVybCwK
LSAgICAgICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4dDogImJvZ3VzIgotICAgIH07Ci0gICAgdmFy
IGxvYyA9ICJ3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUiOwotICAgIHdlYkluc3BlY3Rvci5pbnNw
ZWN0ZWRXaW5kb3cuZXZhbChsb2MsIG9wdGlvbnMsIGNhbGxiYWNrQW5kTmV4dFRlc3QoZXh0ZW5z
aW9uX29uRXZhbCwgbmV4dFRlc3QpKTsKLX0KLQotZnVuY3Rpb24gZXh0ZW5zaW9uX29uRXZhbCh2
YWx1ZSwgaXNFeGNlcHRpb24pCi17Ci0gICAgb3V0cHV0KCJFdmFsdWF0ZTogIiArIEpTT04uc3Ry
aW5naWZ5KHZhbHVlKSArICIgKGV4Y2VwdGlvbjogIiArIGlzRXhjZXB0aW9uICsgIikiKTsKLX0K
LQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci08cD5UZXN0
cyBXZWJJbnNwZWN0b3IgZXh0ZW5zaW9uIEFQSTwvcD4KLTxpZnJhbWUgc3JjPSJyZXNvdXJjZXMv
ZXh0ZW5zaW9ucy1mcmFtZS1ldmFsLmh0bWwiPjwvaWZyYW1lPgotPC9ib2R5PgotPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvZXh0ZW5zaW9ucy1p
Z25vcmUtY2FjaGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0
b3IvZXh0ZW5zaW9ucy1pZ25vcmUtY2FjaGUtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCA1OWVhMmQwNjgwNzdjZWVkNGQ3ZWZhZWY1NDE3NmZmNjAwZDY4ZDU1Li4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvaW5zcGVjdG9yL2V4dGVuc2lvbnMtaWdub3JlLWNhY2hlLWV4cGVjdGVkLnR4
dAorKysgL2Rldi9udWxsCkBAIC0xLDE0ICswLDAgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAx
OiBEb25lLgotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE6IERvbmUuCi1DT05TT0xFIE1FU1NBR0U6
IGxpbmUgMTogRG9uZS4KLVRlc3RzIGlnbm9yZUNhY2hlIGZsYWcgb2YgV2ViSW5zcGVjdG9yLmlu
c3BlY3RlZFBhZ2UucmVsb2FkKCkKLQotU3RhcnRlZCBleHRlbnNpb24uCi1SdW5uaW5nIHRlc3Rz
Li4uCi1SVU5OSU5HIFRFU1Q6IGV4dGVuc2lvbl90ZXN0SWdub3JlQ2FjaGUKLVBhZ2UgcmVsb2Fk
ZWQuCi1QYWdlIHJlbG9hZGVkLgotYWZ0ZXJOb3JtYWxSZWxvYWQgPT09IGJlZm9yZVJlbG9hZAot
YWZ0ZXJOb3JtYWxSZWxvYWQgIT09IGFmdGVyUmVsb2FkV2l0aElnbm9yZUNhY2hlCi1BbGwgdGVz
dHMgZG9uZS4KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3Iv
ZXh0ZW5zaW9ucy1pZ25vcmUtY2FjaGUuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5z
cGVjdG9yL2V4dGVuc2lvbnMtaWdub3JlLWNhY2hlLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IGU0NWY3ODc3YzI3NDAxMjcxYzM0OGJmOWM0OGY1MThiNTdlYmEzYTUuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9pbnNwZWN0b3IvZXh0ZW5zaW9ucy1pZ25vcmUtY2FjaGUuaHRtbAorKysgL2Rldi9u
dWxsCkBAIC0xLDQ2ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iaW5zcGVj
dG9yLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9ImV4dGVuc2lvbnMtdGVzdC5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0ibmV0d29yay9yZXNvdXJjZXMvcmFuZG9tLXNjcmlwdC5w
aHAiPjwvc2NyaXB0PgotCi08c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Ci0KLWZ1bmN0
aW9uIGV4dGVuc2lvbl90ZXN0SWdub3JlQ2FjaGUobmV4dFRlc3QpCi17Ci0gICAgdmFyIGJlZm9y
ZVJlbG9hZDsKLSAgICB2YXIgYWZ0ZXJSZWxvYWRXaXRoSWdub3JlQ2FjaGU7Ci0gICAgdmFyIGFm
dGVyTm9ybWFsUmVsb2FkOwotCi0gICAgZnVuY3Rpb24gb25Ob3JtYWxSZWxvYWQoKQotICAgIHsK
LSAgICAgICAgd2ViSW5zcGVjdG9yLmluc3BlY3RlZFdpbmRvdy5ldmFsKCJyYW5kb21WYWx1ZSIs
IGZ1bmN0aW9uKHZhbHVlKSB7Ci0gICAgICAgICAgICBhZnRlck5vcm1hbFJlbG9hZCA9IHZhbHVl
OwotICAgICAgICAgICAgZXZhbHVhdGVPbkZyb250ZW5kKCJJbnNwZWN0b3JUZXN0LnJ1bldoZW5Q
YWdlTG9hZHMocmVwbHkpIiwgb25SZWxvYWRXaXRoSWdub3JlQ2FjaGUpOwotICAgICAgICAgICAg
d2ViSW5zcGVjdG9yLmluc3BlY3RlZFdpbmRvdy5yZWxvYWQoeyBpZ25vcmVDYWNoZTogdHJ1ZSB9
KTsKLSAgICAgICAgfSk7Ci0gICAgfTsKLQotICAgIGZ1bmN0aW9uIG9uUmVsb2FkV2l0aElnbm9y
ZUNhY2hlKCkKLSAgICB7Ci0gICAgICAgIHdlYkluc3BlY3Rvci5pbnNwZWN0ZWRXaW5kb3cuZXZh
bCgicmFuZG9tVmFsdWUiLCBmdW5jdGlvbih2YWx1ZSkgewotICAgICAgICAgICAgYWZ0ZXJSZWxv
YWRXaXRoSWdub3JlQ2FjaGUgPSB2YWx1ZTsKLSAgICAgICAgICAgIG91dHB1dCgiYWZ0ZXJOb3Jt
YWxSZWxvYWQgIiArIChhZnRlck5vcm1hbFJlbG9hZCA9PT0gYmVmb3JlUmVsb2FkID8gIj09PSIg
OiAiIT09IiApICsgIiBiZWZvcmVSZWxvYWQiKTsKLSAgICAgICAgICAgIG91dHB1dCgiYWZ0ZXJO
b3JtYWxSZWxvYWQgIiArIChhZnRlck5vcm1hbFJlbG9hZCA9PT0gYWZ0ZXJSZWxvYWRXaXRoSWdu
b3JlQ2FjaGUgPyAiPT09IiA6ICIhPT0iICkgKyAiIGFmdGVyUmVsb2FkV2l0aElnbm9yZUNhY2hl
Iik7Ci0gICAgICAgICAgICBuZXh0VGVzdCgpOwotICAgICAgICB9KTsKLSAgICB9Ci0KLSAgICB3
ZWJJbnNwZWN0b3IuaW5zcGVjdGVkV2luZG93LmV2YWwoInJhbmRvbVZhbHVlIiwgZnVuY3Rpb24o
dmFsdWUpIHsKLSAgICAgICAgYmVmb3JlUmVsb2FkID0gdmFsdWU7Ci0gICAgICAgIGV2YWx1YXRl
T25Gcm9udGVuZCgiSW5zcGVjdG9yVGVzdC5ydW5XaGVuUGFnZUxvYWRzKHJlcGx5KSIsIG9uTm9y
bWFsUmVsb2FkKTsKLSAgICAgICAgd2ViSW5zcGVjdG9yLmluc3BlY3RlZFdpbmRvdy5yZWxvYWQo
KTsKLSAgICB9KTsKLX0KLQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9InJ1blRl
c3QoKSI+Ci08cD5UZXN0cyBpZ25vcmVDYWNoZSBmbGFnIG9mIFdlYkluc3BlY3Rvci5pbnNwZWN0
ZWRQYWdlLnJlbG9hZCgpPC9wPgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvZXh0ZW5zaW9ucy1uZXR3b3JrLXJlZGlyZWN0LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2V4dGVuc2lvbnMt
bmV0d29yay1yZWRpcmVjdC1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDVjMTQ0YTFmMjU1MmRjZDU0ZDkyMWY4ZTY5MWQ2MGE2YzI0YTBhNGMuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9pbnNwZWN0b3IvZXh0ZW5zaW9ucy1uZXR3b3JrLXJlZGlyZWN0LWV4cGVjdGVkLnR4dAorKysg
L2Rldi9udWxsCkBAIC0xLDIyICswLDAgQEAKLVRlc3RzIFdlYkluc3BlY3RvciBleHRlbnNpb24g
QVBJIHJldHVybnMgdmFsaWQgZGF0YSBmb3IgcmVkaXJlY3RlZCByZXNvdXJjZXMKLQotUGFnZSBy
ZWxvYWRlZC4KLVN0YXJ0ZWQgZXh0ZW5zaW9uLgotUnVubmluZyB0ZXN0cy4uLgotUlVOTklORyBU
RVNUOiBleHRlbnNpb25fdGVzdEdldFJlZGlyZWN0UmVxdWVzdENvbnRlbnQKLWNvbnRlbnQ6IG51
bGwsIGVuY29kaW5nOiAKLVJVTk5JTkcgVEVTVDogZXh0ZW5zaW9uX3Rlc3RSZWRpcmVjdFJlcXVl
c3RGaW5pc2hlZAotRmluaXNoZWQgcmVxdWVzdDogaHR0cDovLzEyNy4wLjAuMTo4MDAwL2xvYWRp
bmcvcmVzb3VyY2VzL3JlZGlyZWN0LW1ldGhvZHMtcmVzdWx0LnBocD9zdGF0dXM9MzAyCi1GaW5p
c2hlZCByZXF1ZXN0OiBodHRwOi8vMTI3LjAuMC4xOjgwMDAvbG9hZGluZy9yZXNvdXJjZXMvcmVk
aXJlY3QtbWV0aG9kcy1yZXN1bHQucGhwP3JlZGlyZWN0ZWQ9dHJ1ZQotUlVOTklORyBURVNUOiBl
eHRlbnNpb25fdGVzdFJlZGlyZWN0UmVxdWVzdEluSEFSCi1SZXF1ZXN0cyBpbiBIQVI6Ci1odHRw
Oi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL2V4dGVuc2lvbnMtbmV0d29yay1yZWRpcmVjdC5o
dG1sCi1odHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL2V4dGVuc2lvbnMtbmV0d29yay10
ZXN0LmpzCi1odHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL2V4dGVuc2lvbnMtdGVzdC5q
cwotaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcwotaHR0
cDovLzEyNy4wLjAuMTo4MDAwL2xvYWRpbmcvcmVzb3VyY2VzL3JlZGlyZWN0LW1ldGhvZHMtcmVz
dWx0LnBocD9yZWRpcmVjdGVkPXRydWUKLWh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9sb2FkaW5nL3Jl
c291cmNlcy9yZWRpcmVjdC1tZXRob2RzLXJlc3VsdC5waHA/cmVkaXJlY3RlZD10cnVlCi1odHRw
Oi8vMTI3LjAuMC4xOjgwMDAvbG9hZGluZy9yZXNvdXJjZXMvcmVkaXJlY3QtbWV0aG9kcy1yZXN1
bHQucGhwP3N0YXR1cz0zMDIKLWh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9sb2FkaW5nL3Jlc291cmNl
cy9yZWRpcmVjdC1tZXRob2RzLXJlc3VsdC5waHA/c3RhdHVzPTMwMgotQWxsIHRlc3RzIGRvbmUu
Ci0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2V4dGVuc2lv
bnMtbmV0d29yay1yZWRpcmVjdC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0
b3IvZXh0ZW5zaW9ucy1uZXR3b3JrLXJlZGlyZWN0Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IGQ0ZWRjYWM2OGM5OTM0MzNiNmE5YTBiZDdhNzQxNmQyY2Q0YTNmYjcuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9pbnNwZWN0b3IvZXh0ZW5zaW9ucy1uZXR3b3JrLXJlZGlyZWN0Lmh0bWwKKysrIC9k
ZXYvbnVsbApAQCAtMSwxMDMgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSJp
bnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iZXh0ZW5zaW9ucy1uZXR3
b3JrLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9ImV4dGVuc2lvbnMtdGVzdC5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Ci0KLWZ1bmN0aW9uIGV4
dGVuc2lvbl9kb1JlcXVlc3QoZm9yY2UsIGNhbGxiYWNrKQotewotICAgIGZ1bmN0aW9uIGNhbGxi
YWNrV3JhcHBlcihyZXF1ZXN0KQotICAgIHsKLSAgICAgICAgdmFyIGxhc3RDYWxsYmFjayA9ICFy
ZXF1ZXN0IHx8IC9cP3JlZGlyZWN0ZWQ9dHJ1ZSQvLnRlc3QocmVxdWVzdC5yZXF1ZXN0LnVybCk7
Ci0gICAgICAgIGlmIChsYXN0Q2FsbGJhY2spCi0gICAgICAgICAgICB3ZWJJbnNwZWN0b3IubmV0
d29yay5vblJlcXVlc3RGaW5pc2hlZC5yZW1vdmVMaXN0ZW5lcihjYWxsYmFja1dyYXBwZXIpOwot
ICAgICAgICBjYWxsYmFjayhyZXF1ZXN0LCBsYXN0Q2FsbGJhY2spOwotICAgIH0KLSAgICB3ZWJJ
bnNwZWN0b3IubmV0d29yay5vblJlcXVlc3RGaW5pc2hlZC5hZGRMaXN0ZW5lcihjYWxsYmFja1dy
YXBwZXIpOwotICAgIHdlYkluc3BlY3Rvci5pbnNwZWN0ZWRXaW5kb3cuZXZhbCgiZG9SZXF1ZXN0
KCIgKyBmb3JjZSArICIpIiwgZnVuY3Rpb24ocmVzdWx0KSB7Ci0gICAgICAgIGlmIChyZXN1bHQp
Ci0gICAgICAgICAgICBjYWxsYmFja1dyYXBwZXIobnVsbCk7Ci0gICAgfSk7Ci19Ci0KLWZ1bmN0
aW9uIGV4dGVuc2lvbl90ZXN0R2V0UmVkaXJlY3RSZXF1ZXN0Q29udGVudChuZXh0VGVzdCkKLXsK
LSAgICBmdW5jdGlvbiBvblJlcXVlc3RGaW5pc2hlZChyZXF1ZXN0LCBsYXN0Q2FsbGJhY2spCi0g
ICAgewotICAgICAgICBpZiAoIWxhc3RDYWxsYmFjaykKLSAgICAgICAgICAgIHJldHVybjsKLSAg
ICAgICAgZXh0ZW5zaW9uX2dldFJlcXVlc3RCeVVybChbIC9yZWRpcmVjdC1tZXRob2RzLXJlc3Vs
dC5waHBcP3N0YXR1cz0zMDIkLyBdLCBmdW5jdGlvbihyZXF1ZXN0KSB7Ci0gICAgICAgICAgICBy
ZXF1ZXN0LmdldENvbnRlbnQob25Db250ZW50KTsKLSAgICAgICAgfSk7Ci0gICAgfQotICAgIGZ1
bmN0aW9uIG9uQ29udGVudChjb250ZW50LCBlbmNvZGluZykKLSAgICB7Ci0gICAgICAgIG91dHB1
dCgiY29udGVudDogIiArIGNvbnRlbnQgKyAiLCBlbmNvZGluZzogIiArIGVuY29kaW5nKTsKLSAg
ICAgICAgbmV4dFRlc3QoKTsKLSAgICB9Ci0gICAgZXh0ZW5zaW9uX2RvUmVxdWVzdChmYWxzZSwg
b25SZXF1ZXN0RmluaXNoZWQpOwotfQotCi1mdW5jdGlvbiBleHRlbnNpb25fdGVzdFJlZGlyZWN0
UmVxdWVzdEluSEFSKG5leHRUZXN0KQotewotICAgIGZ1bmN0aW9uIG9uUmVxdWVzdEZpbmlzaGVk
KHJlc291cmNlLCBsYXN0Q2FsbGJhY2spCi0gICAgewotICAgICAgICBpZiAobGFzdENhbGxiYWNr
KQotICAgICAgICAgICAgd2ViSW5zcGVjdG9yLm5ldHdvcmsuZ2V0SEFSKG9uSEFSKTsKLSAgICB9
Ci0gICAgZnVuY3Rpb24gb25IQVIoaGFyKQotICAgIHsKLSAgICAgICAgdmFyIGVudHJpZXMgPSBo
YXIuZW50cmllczsKLSAgICAgICAgdmFyIHVybHMgPSBbXTsKLSAgICAgICAgZm9yICh2YXIgaSA9
IDA7IGkgPCBlbnRyaWVzLmxlbmd0aDsgKytpKSB7Ci0gICAgICAgICAgICB2YXIgdXJsID0gZW50
cmllc1tpXS5yZXF1ZXN0LnVybDsKLSAgICAgICAgICAgIC8vIFdvcmthcm91bmQgZm9yIEdUSyBE
UlQgdGhhdCByZXF1ZXN0cyBmYXZpY29uLmljbyBhbG9uZyB3aXRoIHRoZSBwYWdlLgotICAgICAg
ICAgICAgaWYgKCEvXC9mYXZpY29uXC5pY28kLy50ZXN0KHVybCkpCi0gICAgICAgICAgICAgICAg
dXJscy5wdXNoKHVybCk7Ci0gICAgICAgIH0KLSAgICAgICAgdXJscy5zb3J0KCk7Ci0gICAgICAg
IG91dHB1dCgiUmVxdWVzdHMgaW4gSEFSOlxuIiArIHVybHMuam9pbigiXG4iKSk7Ci0gICAgICAg
IG5leHRUZXN0KCk7Ci0gICAgfQotICAgIGV4dGVuc2lvbl9kb1JlcXVlc3QoZmFsc2UsIG9uUmVx
dWVzdEZpbmlzaGVkKTsKLX0KLQotZnVuY3Rpb24gZXh0ZW5zaW9uX3Rlc3RSZWRpcmVjdFJlcXVl
c3RGaW5pc2hlZChuZXh0VGVzdCkKLXsKLSAgICBmdW5jdGlvbiBvblJlcXVlc3RGaW5pc2hlZChy
ZXF1ZXN0LCBsYXN0Q2FsbGJhY2spCi0gICAgewotICAgICAgICBvdXRwdXQoIkZpbmlzaGVkIHJl
cXVlc3Q6ICIgKyByZXF1ZXN0LnJlcXVlc3QudXJsKTsKLSAgICAgICAgaWYgKGxhc3RDYWxsYmFj
aykKLSAgICAgICAgICAgIG5leHRUZXN0KCk7Ci0gICAgfQotICAgIGV4dGVuc2lvbl9kb1JlcXVl
c3QodHJ1ZSwgb25SZXF1ZXN0RmluaXNoZWQpOwotfQotCi12YXIgcmVxdWVzdERvbmUgPSBmYWxz
ZTsKLQotZnVuY3Rpb24gZG9SZXF1ZXN0KGZvcmNlKQotewotICAgIC8vIE9ubHkgZG8gcmVxdWVz
dCBvbmNlIHBlciB0ZXN0IHN1aXRlLCB0byBtYWtlIHRlc3RzIGluZGVwZW5kZW50IG9uIGVhY2gg
b3RoZXIuCi0gICAgLy8gUmV0dXJucyB0cnVlIGlmZiByZXF1ZXN0IGlzIGFscmVkeSBkb25lIChz
byB0aGUgY2FsbGVyIHNob3VsZG4ndCB3YWl0IGZvciBvbkZpbmlzaGVkKS4KLSAgICBpZiAocmVx
dWVzdERvbmUgJiYgIWZvcmNlKQotICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICByZXF1ZXN0RG9u
ZSA9IHRydWU7Ci0gICAgLy8gV2UgY2FuJ3QgdXNlIFhIUiBoZXJlIC0tIHRoZSBjb250ZW50IGZv
ciBYSFJzIGlzIHB1c2hlZCBmcm9tIGJhY2stZW5kLgotICAgIHZhciBpZnJhbWUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKTsKLSAgICBpZnJhbWUuc3JjID0gIi9sb2FkaW5nL3Jl
c291cmNlcy9yZWRpcmVjdC1tZXRob2RzLXJlc3VsdC5waHA/c3RhdHVzPTMwMiI7Ci0gICAgZG9j
dW1lbnQuYm9keS5hcHBlbmRDaGlsZChpZnJhbWUpOwotICAgIHJldHVybiBmYWxzZTsKLX0KLQot
dmFyIHRlc3QgPSBmdW5jdGlvbigpCi17Ci0gICAgSW5zcGVjdG9yVGVzdC5yZWxvYWRQYWdlKElu
c3BlY3RvclRlc3QucnVuRXh0ZW5zaW9uVGVzdHMpOwotfQotCi08L3NjcmlwdD4KLTwvaGVhZD4K
LTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxwPlRlc3RzIFdlYkluc3BlY3RvciBleHRlbnNp
b24gQVBJIHJldHVybnMgdmFsaWQgZGF0YSBmb3IgcmVkaXJlY3RlZCByZXNvdXJjZXM8L3A+Ci08
L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3Bl
Y3Rvci9leHRlbnNpb25zLW5ldHdvcmstdGVzdC5qcyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
aW5zcGVjdG9yL2V4dGVuc2lvbnMtbmV0d29yay10ZXN0LmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCBhNWRjMjNkZDY1NWFiMjhiYjVkZjNjM2FhZjAyNWNjZjFiNmFlMjc1Li4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvaW5zcGVjdG9yL2V4dGVuc2lvbnMtbmV0d29yay10ZXN0LmpzCisrKyAvZGV2L251
bGwKQEAgLTEsMTYgKzAsMCBAQAotZnVuY3Rpb24gZXh0ZW5zaW9uX2dldFJlcXVlc3RCeVVybCh1
cmxzLCBjYWxsYmFjaykKLXsKLSAgICBmdW5jdGlvbiBvbkhBUihyZXNwb25zZSkKLSAgICB7Ci0g
ICAgICAgIHZhciBlbnRyaWVzID0gcmVzcG9uc2UuZW50cmllczsKLSAgICAgICAgZm9yICh2YXIg
aSA9IDA7IGkgPCBlbnRyaWVzLmxlbmd0aDsgKytpKSB7Ci0gICAgICAgICAgICBmb3IgKHZhciB1
cmwgPSAwOyB1cmwgPCB1cmxzLmxlbmd0aDsgKyt1cmwpIHsKLSAgICAgICAgICAgICAgICBpZiAo
dXJsc1t1cmxdLnRlc3QoZW50cmllc1tpXS5yZXF1ZXN0LnVybCkpIHsKLSAgICAgICAgICAgICAg
ICAgICAgY2FsbGJhY2soZW50cmllc1tpXSk7Ci0gICAgICAgICAgICAgICAgICAgIHJldHVybjsK
LSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICB9Ci0gICAg
d2ViSW5zcGVjdG9yLm5ldHdvcmsuZ2V0SEFSKG9uSEFSKTsKLX0KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2V4dGVuc2lvbnMtdGVzdC5qcyBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2V4dGVuc2lvbnMtdGVzdC5qcwpkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggOWFmMWRiYWM5MGM0NzUzNDJkZmY0YmZjOWE0NTVjNjM2NDM1NTI5
Mi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9leHRlbnNpb25zLXRlc3QuanMKKysrIC9kZXYvbnVs
bApAQCAtMSw3NCArMCwwIEBACi1mdW5jdGlvbiBleHRlbnNpb25GdW5jdGlvbnMoKQotewotICAg
IHZhciBmdW5jdGlvbnMgPSAiIjsKLQotICAgIGZvciAoc3ltYm9sIGluIHdpbmRvdykgewotICAg
ICAgICBpZiAoL15leHRlbnNpb25fLy5leGVjKHN5bWJvbCkgJiYgdHlwZW9mIHdpbmRvd1tzeW1i
b2xdID09PSAiZnVuY3Rpb24iKQotICAgICAgICAgICAgZnVuY3Rpb25zICs9IHdpbmRvd1tzeW1i
b2xdLnRvU3RyaW5nKCk7Ci0gICAgfQotICAgIHJldHVybiBmdW5jdGlvbnM7Ci19Ci0KLXZhciBp
bml0aWFsaXplX0V4dGVuc2lvbnNUZXN0ID0gZnVuY3Rpb24oKQotewotCi13aW5kb3cuYnVpbGRQ
bGF0Zm9ybUV4dGVuc2lvbkFQSSA9IGZ1bmN0aW9uKGV4dGVuc2lvbkluZm8pCi17Ci0gICAgZnVu
Y3Rpb24gcGxhdGZvcm1FeHRlbnNpb25BUEkoY29yZUFQSSkKLSAgICB7Ci0gICAgICAgIHdpbmRv
dy53ZWJJbnNwZWN0b3IgPSBjb3JlQVBJOwotICAgICAgICB3aW5kb3cuX2V4dGVuc2lvblNlcnZl
ckZvclRlc3RzID0gZXh0ZW5zaW9uU2VydmVyOwotICAgIH0KLSAgICByZXR1cm4gcGxhdGZvcm1F
eHRlbnNpb25BUEkudG9TdHJpbmcoKTsKLX0KLQotSW5zcGVjdG9yVGVzdC5fcmVwbHlUb0V4dGVu
c2lvbiA9IGZ1bmN0aW9uKHJlcXVlc3RJZCwgcG9ydCkKLXsKLSAgICBXZWJJbnNwZWN0b3IuZXh0
ZW5zaW9uU2VydmVyLl9kaXNwYXRjaENhbGxiYWNrKHJlcXVlc3RJZCwgcG9ydCk7Ci19Ci0KLWZ1
bmN0aW9uIG9uRXZhbHVhdGUobWVzc2FnZSwgcG9ydCkKLXsKLSAgICB2YXIgcmVwbHkgPSBXZWJJ
bnNwZWN0b3IuZXh0ZW5zaW9uU2VydmVyLl9kaXNwYXRjaENhbGxiYWNrLmJpbmQoV2ViSW5zcGVj
dG9yLmV4dGVuc2lvblNlcnZlciwgbWVzc2FnZS5yZXF1ZXN0SWQsIHBvcnQpOwotICAgIHRyeSB7
Ci0gICAgICAgIGV2YWwobWVzc2FnZS5leHByZXNzaW9uKTsKLSAgICB9IGNhdGNoIChlKSB7Ci0g
ICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJFeGNlcHRpb24gd2hpbGUgcnVubmluZzog
IiArIG1lc3NhZ2UuZXhwcmVzc2lvbiArICJcbiIgKyAoZS5zdGFjayB8fCBlKSk7Ci0gICAgICAg
IEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7Ci0gICAgfQotfQotCi1XZWJJbnNwZWN0b3Iu
ZXh0ZW5zaW9uU2VydmVyLl9yZWdpc3RlckhhbmRsZXIoImV2YWx1YXRlRm9yVGVzdEluRnJvbnRF
bmQiLCBvbkV2YWx1YXRlKTsKLQotSW5zcGVjdG9yVGVzdC5zaG93UGFuZWwgPSBmdW5jdGlvbihw
YW5lbElkKQotewotICAgIGlmIChwYW5lbElkID09PSAiZXh0ZW5zaW9uIikKLSAgICAgICAgcGFu
ZWxJZCA9IFdlYkluc3BlY3Rvci5pbnNwZWN0b3JWaWV3Ll9wYW5lbE9yZGVyW1dlYkluc3BlY3Rv
ci5pbnNwZWN0b3JWaWV3Ll9wYW5lbE9yZGVyLmxlbmd0aCAtIDFdOwotICAgIFdlYkluc3BlY3Rv
ci5zaG93UGFuZWwocGFuZWxJZCk7Ci19Ci0KLUluc3BlY3RvclRlc3QucnVuRXh0ZW5zaW9uVGVz
dHMgPSBmdW5jdGlvbigpCi17Ci0gICAgUnVudGltZUFnZW50LmV2YWx1YXRlKCJsb2NhdGlvbi5o
cmVmIiwgImNvbnNvbGUiLCBmYWxzZSwgZnVuY3Rpb24oZXJyb3IsIHJlc3VsdCkgewotICAgICAg
ICBpZiAoZXJyb3IpCi0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIHZhciBwYWdlVVJMID0g
cmVzdWx0LnZhbHVlOwotICAgICAgICB2YXIgZXh0ZW5zaW9uVVJMID0gKC9eaHR0cHM/Oi8udGVz
dChwYWdlVVJMKSA/Ci0gICAgICAgICAgICBwYWdlVVJMLnJlcGxhY2UoL14oaHR0cHM/OlwvXC9b
Xi9dKlwvKS4qJC8sIiQxIikgOgotICAgICAgICAgICAgcGFnZVVSTC5yZXBsYWNlKC9cL2luc3Bl
Y3RvclwvZXh0ZW5zaW9uc1wvW14vXSokLywgIi9odHRwL3Rlc3RzIikpICsKLSAgICAgICAgICAg
ICIvaW5zcGVjdG9yL3Jlc291cmNlcy9leHRlbnNpb24tbWFpbi5odG1sIjsKLSAgICAgICAgV2Vi
SW5zcGVjdG9yLmFkZEV4dGVuc2lvbnMoW3sgc3RhcnRQYWdlOiBleHRlbnNpb25VUkwsIG5hbWU6
ICJ0ZXN0IGV4dGVuc2lvbiIsIGV4cG9zZVdlYkluc3BlY3Rvck5hbWVzcGFjZTogdHJ1ZSB9XSk7
Ci0gICAgfSk7Ci19Ci0KLX0KLQotZnVuY3Rpb24gZXh0ZW5zaW9uX3Nob3dQYW5lbChwYW5lbElk
LCBjYWxsYmFjaykKLXsKLSAgICBldmFsdWF0ZU9uRnJvbnRlbmQoIkluc3BlY3RvclRlc3Quc2hv
d1BhbmVsKHVuZXNjYXBlKCciICsgZXNjYXBlKHBhbmVsSWQpICsgIicpKTsgcmVwbHkoKTsiLCBj
YWxsYmFjayk7Ci19Ci0KLXZhciB0ZXN0ID0gZnVuY3Rpb24oKQotewotICAgIEluc3BlY3RvclRl
c3QucnVuRXh0ZW5zaW9uVGVzdHMoKTsKLX0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvaW5zcGVjdG9yL2luZGV4ZWRkYi9kYXRhYmFzZS1kYXRhLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luZGV4ZWRkYi9kYXRhYmFzZS1kYXRhLWV4
cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggM2U5ZDg5YjQ5NTc0NWI4
ZDMwODIzYjY3YWQyYmVlNGJiM2I2OTIzOC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbmRleGVk
ZGIvZGF0YWJhc2UtZGF0YS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw2NyArMCww
IEBACi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTA4OiBJbnNwZWN0b3JUZXN0LkluZGV4ZWREQl9j
YWxsYmFjazEKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxMDg6IEluc3BlY3RvclRlc3QuSW5kZXhl
ZERCX2NhbGxiYWNrMgotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDEwODogSW5zcGVjdG9yVGVzdC5J
bmRleGVkREJfY2FsbGJhY2szCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTA4OiBJbnNwZWN0b3JU
ZXN0LkluZGV4ZWREQl9jYWxsYmFjazQKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxMDg6IEluc3Bl
Y3RvclRlc3QuSW5kZXhlZERCX2NhbGxiYWNrNQotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDEwODog
SW5zcGVjdG9yVGVzdC5JbmRleGVkREJfY2FsbGJhY2s2Ci1DT05TT0xFIE1FU1NBR0U6IGxpbmUg
MTA4OiBJbnNwZWN0b3JUZXN0LkluZGV4ZWREQl9jYWxsYmFjazcKLUNPTlNPTEUgTUVTU0FHRTog
bGluZSAxMDg6IEluc3BlY3RvclRlc3QuSW5kZXhlZERCX2NhbGxiYWNrOAotQ09OU09MRSBNRVNT
QUdFOiBsaW5lIDEwODogSW5zcGVjdG9yVGVzdC5JbmRleGVkREJfY2FsbGJhY2s5Ci1DT05TT0xF
IE1FU1NBR0U6IGxpbmUgMTA4OiBJbnNwZWN0b3JUZXN0LkluZGV4ZWREQl9jYWxsYmFjazEwCi1D
T05TT0xFIE1FU1NBR0U6IGxpbmUgMTA4OiBJbnNwZWN0b3JUZXN0LkluZGV4ZWREQl9jYWxsYmFj
azExCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTA4OiBJbnNwZWN0b3JUZXN0LkluZGV4ZWREQl9j
YWxsYmFjazEyCi1UZXN0cyB0aGF0IGRhdGEgaXMgY29ycmVjdGx5IGxvYWRlZCBieSBJbmRleGVk
REJNb2RlbCBmcm9tIEluZGV4ZWREQiBvYmplY3Qgc3RvcmUgYW5kIGluZGV4LgotCi1EdW1waW5n
IHZhbHVlcywgZnJvbUluZGV4ID0gZmFsc2UsIHNraXBDb3VudCA9IDAsIHBhZ2VTaXplID0gMiwg
aWRiS2V5UmFuZ2UgPSBudWxsCi0gICAgS2V5ID0ga2V5XzAxLCBwcmltYXJ5S2V5ID0ga2V5XzAx
LCB2YWx1ZSA9IHsia2V5Ijoia2V5XzAxIiwidmFsdWUiOiJ2YWx1ZV8wMSJ9Ci0gICAgS2V5ID0g
a2V5XzAyLCBwcmltYXJ5S2V5ID0ga2V5XzAyLCB2YWx1ZSA9IHsia2V5Ijoia2V5XzAyIiwidmFs
dWUiOiJ2YWx1ZV8wMiJ9Ci0gICAgaGFzTW9yZSA9IHRydWUKLUR1bXBpbmcgdmFsdWVzLCBmcm9t
SW5kZXggPSBmYWxzZSwgc2tpcENvdW50ID0gMiwgcGFnZVNpemUgPSAyLCBpZGJLZXlSYW5nZSA9
IG51bGwKLSAgICBLZXkgPSBrZXlfMDMsIHByaW1hcnlLZXkgPSBrZXlfMDMsIHZhbHVlID0geyJr
ZXkiOiJrZXlfMDMiLCJ2YWx1ZSI6InZhbHVlXzAzIn0KLSAgICBLZXkgPSBrZXlfMDQsIHByaW1h
cnlLZXkgPSBrZXlfMDQsIHZhbHVlID0geyJrZXkiOiJrZXlfMDQiLCJ2YWx1ZSI6InZhbHVlXzA0
In0KLSAgICBoYXNNb3JlID0gdHJ1ZQotRHVtcGluZyB2YWx1ZXMsIGZyb21JbmRleCA9IGZhbHNl
LCBza2lwQ291bnQgPSA0LCBwYWdlU2l6ZSA9IDIsIGlkYktleVJhbmdlID0gbnVsbAotICAgIEtl
eSA9IGtleV8wNSwgcHJpbWFyeUtleSA9IGtleV8wNSwgdmFsdWUgPSB7ImtleSI6ImtleV8wNSIs
InZhbHVlIjoidmFsdWVfMDUifQotICAgIEtleSA9IGtleV8wNiwgcHJpbWFyeUtleSA9IGtleV8w
NiwgdmFsdWUgPSB7ImtleSI6ImtleV8wNiIsInZhbHVlIjoidmFsdWVfMDYifQotICAgIGhhc01v
cmUgPSBmYWxzZQotRHVtcGluZyB2YWx1ZXMsIGZyb21JbmRleCA9IGZhbHNlLCBza2lwQ291bnQg
PSA1LCBwYWdlU2l6ZSA9IDIsIGlkYktleVJhbmdlID0gbnVsbAotICAgIEtleSA9IGtleV8wNiwg
cHJpbWFyeUtleSA9IGtleV8wNiwgdmFsdWUgPSB7ImtleSI6ImtleV8wNiIsInZhbHVlIjoidmFs
dWVfMDYifQotICAgIGhhc01vcmUgPSBmYWxzZQotRHVtcGluZyB2YWx1ZXMsIGZyb21JbmRleCA9
IGZhbHNlLCBza2lwQ291bnQgPSA2LCBwYWdlU2l6ZSA9IDIsIGlkYktleVJhbmdlID0gbnVsbAot
ICAgIGhhc01vcmUgPSBmYWxzZQotRHVtcGluZyB2YWx1ZXMsIGZyb21JbmRleCA9IGZhbHNlLCBz
a2lwQ291bnQgPSA3LCBwYWdlU2l6ZSA9IDIsIGlkYktleVJhbmdlID0gbnVsbAotICAgIGhhc01v
cmUgPSBmYWxzZQotRHVtcGluZyB2YWx1ZXMsIGZyb21JbmRleCA9IGZhbHNlLCBza2lwQ291bnQg
PSAwLCBwYWdlU2l6ZSA9IDIsIGlkYktleVJhbmdlID0ge2xvd2VyOiJrZXlfMDIiLGxvd2VyT3Bl
bjp0cnVlLHVwcGVyOiJrZXlfMDUiLHVwcGVyT3BlbjpmYWxzZX0KLSAgICBLZXkgPSBrZXlfMDMs
IHByaW1hcnlLZXkgPSBrZXlfMDMsIHZhbHVlID0geyJrZXkiOiJrZXlfMDMiLCJ2YWx1ZSI6InZh
bHVlXzAzIn0KLSAgICBLZXkgPSBrZXlfMDQsIHByaW1hcnlLZXkgPSBrZXlfMDQsIHZhbHVlID0g
eyJrZXkiOiJrZXlfMDQiLCJ2YWx1ZSI6InZhbHVlXzA0In0KLSAgICBoYXNNb3JlID0gdHJ1ZQot
RHVtcGluZyB2YWx1ZXMsIGZyb21JbmRleCA9IGZhbHNlLCBza2lwQ291bnQgPSAwLCBwYWdlU2l6
ZSA9IDMsIGlkYktleVJhbmdlID0ge2xvd2VyOiJrZXlfMDIiLGxvd2VyT3Blbjp0cnVlLHVwcGVy
OiJrZXlfMDUiLHVwcGVyT3BlbjpmYWxzZX0KLSAgICBLZXkgPSBrZXlfMDMsIHByaW1hcnlLZXkg
PSBrZXlfMDMsIHZhbHVlID0geyJrZXkiOiJrZXlfMDMiLCJ2YWx1ZSI6InZhbHVlXzAzIn0KLSAg
ICBLZXkgPSBrZXlfMDQsIHByaW1hcnlLZXkgPSBrZXlfMDQsIHZhbHVlID0geyJrZXkiOiJrZXlf
MDQiLCJ2YWx1ZSI6InZhbHVlXzA0In0KLSAgICBLZXkgPSBrZXlfMDUsIHByaW1hcnlLZXkgPSBr
ZXlfMDUsIHZhbHVlID0geyJrZXkiOiJrZXlfMDUiLCJ2YWx1ZSI6InZhbHVlXzA1In0KLSAgICBo
YXNNb3JlID0gZmFsc2UKLUR1bXBpbmcgdmFsdWVzLCBmcm9tSW5kZXggPSBmYWxzZSwgc2tpcENv
dW50ID0gMCwgcGFnZVNpemUgPSA0LCBpZGJLZXlSYW5nZSA9IHtsb3dlcjoia2V5XzAyIixsb3dl
ck9wZW46dHJ1ZSx1cHBlcjoia2V5XzA1Iix1cHBlck9wZW46ZmFsc2V9Ci0gICAgS2V5ID0ga2V5
XzAzLCBwcmltYXJ5S2V5ID0ga2V5XzAzLCB2YWx1ZSA9IHsia2V5Ijoia2V5XzAzIiwidmFsdWUi
OiJ2YWx1ZV8wMyJ9Ci0gICAgS2V5ID0ga2V5XzA0LCBwcmltYXJ5S2V5ID0ga2V5XzA0LCB2YWx1
ZSA9IHsia2V5Ijoia2V5XzA0IiwidmFsdWUiOiJ2YWx1ZV8wNCJ9Ci0gICAgS2V5ID0ga2V5XzA1
LCBwcmltYXJ5S2V5ID0ga2V5XzA1LCB2YWx1ZSA9IHsia2V5Ijoia2V5XzA1IiwidmFsdWUiOiJ2
YWx1ZV8wNSJ9Ci0gICAgaGFzTW9yZSA9IGZhbHNlCi1EdW1waW5nIHZhbHVlcywgZnJvbUluZGV4
ID0gZmFsc2UsIHNraXBDb3VudCA9IDEsIHBhZ2VTaXplID0gMiwgaWRiS2V5UmFuZ2UgPSB7bG93
ZXI6ImtleV8wMiIsbG93ZXJPcGVuOnRydWUsdXBwZXI6ImtleV8wNSIsdXBwZXJPcGVuOmZhbHNl
fQotICAgIEtleSA9IGtleV8wNCwgcHJpbWFyeUtleSA9IGtleV8wNCwgdmFsdWUgPSB7ImtleSI6
ImtleV8wNCIsInZhbHVlIjoidmFsdWVfMDQifQotICAgIEtleSA9IGtleV8wNSwgcHJpbWFyeUtl
eSA9IGtleV8wNSwgdmFsdWUgPSB7ImtleSI6ImtleV8wNSIsInZhbHVlIjoidmFsdWVfMDUifQot
ICAgIGhhc01vcmUgPSBmYWxzZQotRHVtcGluZyB2YWx1ZXMsIGZyb21JbmRleCA9IGZhbHNlLCBz
a2lwQ291bnQgPSAxLCBwYWdlU2l6ZSA9IDMsIGlkYktleVJhbmdlID0ge2xvd2VyOiJrZXlfMDIi
LGxvd2VyT3Blbjp0cnVlLHVwcGVyOiJrZXlfMDUiLHVwcGVyT3BlbjpmYWxzZX0KLSAgICBLZXkg
PSBrZXlfMDQsIHByaW1hcnlLZXkgPSBrZXlfMDQsIHZhbHVlID0geyJrZXkiOiJrZXlfMDQiLCJ2
YWx1ZSI6InZhbHVlXzA0In0KLSAgICBLZXkgPSBrZXlfMDUsIHByaW1hcnlLZXkgPSBrZXlfMDUs
IHZhbHVlID0geyJrZXkiOiJrZXlfMDUiLCJ2YWx1ZSI6InZhbHVlXzA1In0KLSAgICBoYXNNb3Jl
ID0gZmFsc2UKLUR1bXBpbmcgdmFsdWVzLCBmcm9tSW5kZXggPSBmYWxzZSwgc2tpcENvdW50ID0g
MSwgcGFnZVNpemUgPSA0LCBpZGJLZXlSYW5nZSA9IHtsb3dlcjoia2V5XzAyIixsb3dlck9wZW46
dHJ1ZSx1cHBlcjoia2V5XzA1Iix1cHBlck9wZW46ZmFsc2V9Ci0gICAgS2V5ID0ga2V5XzA0LCBw
cmltYXJ5S2V5ID0ga2V5XzA0LCB2YWx1ZSA9IHsia2V5Ijoia2V5XzA0IiwidmFsdWUiOiJ2YWx1
ZV8wNCJ9Ci0gICAgS2V5ID0ga2V5XzA1LCBwcmltYXJ5S2V5ID0ga2V5XzA1LCB2YWx1ZSA9IHsi
a2V5Ijoia2V5XzA1IiwidmFsdWUiOiJ2YWx1ZV8wNSJ9Ci0gICAgaGFzTW9yZSA9IGZhbHNlCi1E
dW1waW5nIHZhbHVlcywgZnJvbUluZGV4ID0gdHJ1ZSwgc2tpcENvdW50ID0gMCwgcGFnZVNpemUg
PSAyLCBpZGJLZXlSYW5nZSA9IG51bGwKLSAgICBLZXkgPSB2YWx1ZV8wMSwgcHJpbWFyeUtleSA9
IGtleV8wMSwgdmFsdWUgPSB7ImtleSI6ImtleV8wMSIsInZhbHVlIjoidmFsdWVfMDEifQotICAg
IEtleSA9IHZhbHVlXzAyLCBwcmltYXJ5S2V5ID0ga2V5XzAyLCB2YWx1ZSA9IHsia2V5Ijoia2V5
XzAyIiwidmFsdWUiOiJ2YWx1ZV8wMiJ9Ci0gICAgaGFzTW9yZSA9IHRydWUKLUNsZWFyZWQgZGF0
YSBmcm9tIG9iamVjdFN0b3JlCi1EdW1waW5nIHZhbHVlcywgZnJvbUluZGV4ID0gZmFsc2UsIHNr
aXBDb3VudCA9IDAsIHBhZ2VTaXplID0gMTAsIGlkYktleVJhbmdlID0gbnVsbAotICAgIGhhc01v
cmUgPSBmYWxzZQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rv
ci9pbmRleGVkZGIvZGF0YWJhc2UtZGF0YS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9p
bnNwZWN0b3IvaW5kZXhlZGRiL2RhdGFiYXNlLWRhdGEuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggZTZhMTUyMjUwZWEyNmRmY2JlYzllMGFhZWM1MmI4OWJmNWUyNTNkZS4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2luc3BlY3Rvci9pbmRleGVkZGIvZGF0YWJhc2UtZGF0YS5odG1sCisrKyAvZGV2
L251bGwKQEAgLTEsMjI5ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4v
aW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9ImluZGV4ZWRkYi10ZXN0
LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci1mdW5jdGlvbiB0ZXN0KCkKLXsKLSAgICB2YXIgSURC
S2V5UmFuZ2UgPSB3aW5kb3cuSURCS2V5UmFuZ2UgfHwgd2luZG93LndlYmtpdElEQktleVJhbmdl
OwotICAgIHZhciBpbmRleGVkREJNb2RlbCA9IG5ldyBXZWJJbnNwZWN0b3IuSW5kZXhlZERCTW9k
ZWwoKTsKLSAgICB2YXIgbWFpbkZyYW1lSWQgPSBXZWJJbnNwZWN0b3IucmVzb3VyY2VUcmVlTW9k
ZWwubWFpbkZyYW1lLmlkOwotICAgIHZhciBzZWN1cml0eU9yaWdpbiA9ICJodHRwOi8vMTI3LjAu
MC4xOjgwMDAiOwotICAgIHZhciBkYXRhYmFzZU5hbWUgPSAidGVzdERhdGFiYXNlIjsKLSAgICB2
YXIgb2JqZWN0U3RvcmVOYW1lID0gInRlc3RPYmplY3RTdG9yZSI7Ci0gICAgdmFyIGluZGV4TmFt
ZSA9ICJ0ZXN0SW5kZXhOYW1lIjsKLSAgICB2YXIgZGF0YWJhc2VJZCA9IG5ldyBXZWJJbnNwZWN0
b3IuSW5kZXhlZERCTW9kZWwuRGF0YWJhc2VJZChzZWN1cml0eU9yaWdpbiwgZGF0YWJhc2VOYW1l
KTsKLQotICAgIGZ1bmN0aW9uIGFkZElEQlZhbHVlcyhjb3VudCwgY2FsbGJhY2spCi0gICAgewot
ICAgICAgICB2YXIgaSA9IDA7Ci0gICAgICAgIGFkZFZhbHVlcygpOwotCi0gICAgICAgIGZ1bmN0
aW9uIGFkZFZhbHVlcygpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGlmIChpID09IGNvdW50KSB7
Ci0gICAgICAgICAgICAgICAgY2FsbGJhY2soKTsKLSAgICAgICAgICAgICAgICByZXR1cm47Ci0g
ICAgICAgICAgICB9Ci0gICAgICAgICAgICArK2k7Ci0gICAgICAgICAgICB2YXIgaWQgPSBpIDwg
MTAgPyAiMCIgKyBpIDogaTsKLSAgICAgICAgICAgIHZhciBrZXkgPSAia2V5XyIgKyBpZDsKLSAg
ICAgICAgICAgIHZhciB2YWx1ZSA9ICJ2YWx1ZV8iICsgaWQ7Ci0gICAgICAgICAgICBJbnNwZWN0
b3JUZXN0LmFkZElEQlZhbHVlKG1haW5GcmFtZUlkLCBkYXRhYmFzZU5hbWUsIG9iamVjdFN0b3Jl
TmFtZSwgeyBrZXk6IGtleSwgdmFsdWU6IHZhbHVlIH0sICIiLCBhZGRWYWx1ZXMpOwotICAgICAg
ICB9Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gbG9hZFZhbHVlc0FuZER1bXAoZnJvbUluZGV4LCBp
ZGJLZXlSYW5nZSwgc2tpcENvdW50LCBwYWdlU2l6ZSwgY2FsbGJhY2spCi0gICAgewotICAgICAg
ICB2YXIgaWRiS2V5UmFuZ2VTdHJpbmcgPSBpZGJLZXlSYW5nZSA/ICJ7bG93ZXI6XCIiICsgaWRi
S2V5UmFuZ2UubG93ZXIgKyAiXCIsbG93ZXJPcGVuOiIgKyBpZGJLZXlSYW5nZS5sb3dlck9wZW4g
KyAiLHVwcGVyOlwiIiArIGlkYktleVJhbmdlLnVwcGVyICsgIlwiLHVwcGVyT3BlbjoiICsgaWRi
S2V5UmFuZ2UudXBwZXJPcGVuICsgIn0iIDogIm51bGwiOwotICAgICAgICBJbnNwZWN0b3JUZXN0
LmFkZFJlc3VsdCgiRHVtcGluZyB2YWx1ZXMsIGZyb21JbmRleCA9ICIgKyBmcm9tSW5kZXggKyAi
LCBza2lwQ291bnQgPSAiICsgc2tpcENvdW50ICsgIiwgcGFnZVNpemUgPSAiICsgcGFnZVNpemUg
KyAiLCBpZGJLZXlSYW5nZSA9ICIgKyBpZGJLZXlSYW5nZVN0cmluZyk7Ci0gICAgICAgIGlmIChm
cm9tSW5kZXgpCi0gICAgICAgICAgICBpbmRleGVkREJNb2RlbC5sb2FkSW5kZXhEYXRhKGRhdGFi
YXNlSWQsIG9iamVjdFN0b3JlTmFtZSwgaW5kZXhOYW1lLCBpZGJLZXlSYW5nZSwgc2tpcENvdW50
LCBwYWdlU2l6ZSwgaW5uZXJDYWxsYmFjayk7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIGlu
ZGV4ZWREQk1vZGVsLmxvYWRPYmplY3RTdG9yZURhdGEoZGF0YWJhc2VJZCwgb2JqZWN0U3RvcmVO
YW1lLCBpZGJLZXlSYW5nZSwgc2tpcENvdW50LCBwYWdlU2l6ZSwgaW5uZXJDYWxsYmFjayk7Ci0K
LSAgICAgICAgZnVuY3Rpb24gaW5uZXJDYWxsYmFjayhlbnRyaWVzLCBoYXNNb3JlKQotICAgICAg
ICB7Ci0gICAgICAgICAgICB2YXIgaW5kZXggPSAwOwotICAgICAgICAgICAgdmFyIGVudHJ5Owot
ICAgICAgICAgICAgZHVtcEVudHJpZXMoKTsKLQotICAgICAgICAgICAgZnVuY3Rpb24gZHVtcEVu
dHJpZXMoKQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIGlmIChpbmRleCA9PT0gZW50
cmllcy5sZW5ndGgpIHsKLSAgICAgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1
bHQoIiAgICBoYXNNb3JlID0gIiArIGhhc01vcmUpOwotICAgICAgICAgICAgICAgICAgICBjYWxs
YmFjaygpOwotICAgICAgICAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgICAgICAgICAgfQot
ICAgICAgICAgICAgICAgIGVudHJ5ID0gZW50cmllc1tpbmRleF07Ci0gICAgICAgICAgICAgICAg
ZW50cnkudmFsdWUuY2FsbEZ1bmN0aW9uSlNPTihkdW1wTWUsIHVuZGVmaW5lZCwgZHVtcGVkLmJp
bmQodGhpcykpOwotICAgICAgICAgICAgICAgICsraW5kZXg7Ci0gICAgICAgICAgICB9Ci0KLSAg
ICAgICAgICAgIGZ1bmN0aW9uIGR1bXBNZSgpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAg
ICAgcmV0dXJuICJ7XCJrZXlcIjpcIiIgKyB0aGlzLmtleSArICJcIixcInZhbHVlXCI6XCIiICsg
dGhpcy52YWx1ZSArICJcIn0iOwotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICBmdW5jdGlv
biBkdW1wZWQodmFsdWUpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgSW5zcGVjdG9y
VGVzdC5hZGRSZXN1bHQoIiAgICBLZXkgPSAiICsgZW50cnkua2V5LmRlc2NyaXB0aW9uICsgIiwg
cHJpbWFyeUtleSA9ICIgKyBlbnRyeS5wcmltYXJ5S2V5LmRlc2NyaXB0aW9uICsgIiwgdmFsdWUg
PSAiICsgdmFsdWUpOwotICAgICAgICAgICAgICAgIGR1bXBFbnRyaWVzKCk7Ci0gICAgICAgICAg
ICB9Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICBJbnNwZWN0b3JUZXN0LmFkZFNuaWZmZXIoV2Vi
SW5zcGVjdG9yLkluZGV4ZWREQk1vZGVsLnByb3RvdHlwZSwgIl91cGRhdGVPcmlnaW5EYXRhYmFz
ZU5hbWVzIiwgZmlsbERhdGFiYXNlLCBmYWxzZSk7Ci0KLSAgICBmdW5jdGlvbiBmaWxsRGF0YWJh
c2UoKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5jcmVhdGVEYXRhYmFzZShtYWluRnJh
bWVJZCwgZGF0YWJhc2VOYW1lLCBzdGVwMik7Ci0KLSAgICAgICAgZnVuY3Rpb24gc3RlcDIoKQot
ICAgICAgICB7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmNyZWF0ZU9iamVjdFN0b3JlKG1h
aW5GcmFtZUlkLCBkYXRhYmFzZU5hbWUsIG9iamVjdFN0b3JlTmFtZSwgImtleSIsIHRydWUsIHN0
ZXAzKTsKLSAgICAgICAgfQotCi0gICAgICAgIGZ1bmN0aW9uIHN0ZXAzKCkKLSAgICAgICAgewot
ICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5jcmVhdGVPYmplY3RTdG9yZUluZGV4KG1haW5GcmFt
ZUlkLCBkYXRhYmFzZU5hbWUsIG9iamVjdFN0b3JlTmFtZSwgaW5kZXhOYW1lLCAidmFsdWUiLCBm
YWxzZSwgdHJ1ZSwgc3RlcDQpOwotICAgICAgICB9Ci0KLSAgICAgICAgZnVuY3Rpb24gc3RlcDQo
KQotICAgICAgICB7Ci0gICAgICAgICAgICBhZGRJREJWYWx1ZXMoNiwgcmVmcmVzaERhdGFiYXNl
TmFtZXMpOwotICAgICAgICB9Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gcmVmcmVzaERhdGFiYXNl
TmFtZXMoKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRTbmlmZmVyKFdlYkluc3Bl
Y3Rvci5JbmRleGVkREJNb2RlbC5wcm90b3R5cGUsICJfdXBkYXRlT3JpZ2luRGF0YWJhc2VOYW1l
cyIsIHJlZnJlc2hEYXRhYmFzZSwgZmFsc2UpOwotICAgICAgICBpbmRleGVkREJNb2RlbC5yZWZy
ZXNoRGF0YWJhc2VOYW1lcygpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHJlZnJlc2hEYXRhYmFz
ZSgpCi0gICAgewotICAgICAgICBpbmRleGVkREJNb2RlbC5hZGRFdmVudExpc3RlbmVyKFdlYklu
c3BlY3Rvci5JbmRleGVkREJNb2RlbC5FdmVudFR5cGVzLkRhdGFiYXNlTG9hZGVkLCBydW5PYmpl
Y3RTdG9yZVRlc3RzKTsKLSAgICAgICAgaW5kZXhlZERCTW9kZWwucmVmcmVzaERhdGFiYXNlKGRh
dGFiYXNlSWQpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHJ1bk9iamVjdFN0b3JlVGVzdHMoKQot
ICAgIHsKLSAgICAgICAgaW5kZXhlZERCTW9kZWwucmVtb3ZlRXZlbnRMaXN0ZW5lcihXZWJJbnNw
ZWN0b3IuSW5kZXhlZERCTW9kZWwuRXZlbnRUeXBlcy5EYXRhYmFzZUxvYWRlZCwgcnVuT2JqZWN0
U3RvcmVUZXN0cyk7Ci0gICAgICAgIGxvYWRWYWx1ZXNBbmREdW1wKGZhbHNlLCBudWxsLCAwLCAy
LCBzdGVwMikKLQotICAgICAgICBmdW5jdGlvbiBzdGVwMigpCi0gICAgICAgIHsKLSAgICAgICAg
ICAgIGxvYWRWYWx1ZXNBbmREdW1wKGZhbHNlLCBudWxsLCAyLCAyLCBzdGVwMykKLSAgICAgICAg
fQotCi0gICAgICAgIGZ1bmN0aW9uIHN0ZXAzKCkKLSAgICAgICAgewotICAgICAgICAgICAgbG9h
ZFZhbHVlc0FuZER1bXAoZmFsc2UsIG51bGwsIDQsIDIsIHN0ZXA0KTsKLSAgICAgICAgfQotCi0g
ICAgICAgIGZ1bmN0aW9uIHN0ZXA0KCkKLSAgICAgICAgewotICAgICAgICAgICAgbG9hZFZhbHVl
c0FuZER1bXAoZmFsc2UsIG51bGwsIDUsIDIsIHN0ZXA1KTsKLSAgICAgICAgfQotCi0gICAgICAg
IGZ1bmN0aW9uIHN0ZXA1KCkKLSAgICAgICAgewotICAgICAgICAgICAgbG9hZFZhbHVlc0FuZER1
bXAoZmFsc2UsIG51bGwsIDYsIDIsIHN0ZXA2KTsKLSAgICAgICAgfQotCi0gICAgICAgIGZ1bmN0
aW9uIHN0ZXA2KCkKLSAgICAgICAgewotICAgICAgICAgICAgbG9hZFZhbHVlc0FuZER1bXAoZmFs
c2UsIG51bGwsIDcsIDIsIHN0ZXA3KTsKLSAgICAgICAgfQotCi0gICAgICAgIGZ1bmN0aW9uIHN0
ZXA3KCkKLSAgICAgICAgewotICAgICAgICAgICAgbG9hZFZhbHVlc0FuZER1bXAoZmFsc2UsIElE
QktleVJhbmdlLmJvdW5kKCJrZXlfMDIiLCAia2V5XzA1IiwgdHJ1ZSwgZmFsc2UpLCAwLCAyLCBz
dGVwOCk7Ci0gICAgICAgIH0KLQotICAgICAgICBmdW5jdGlvbiBzdGVwOCgpCi0gICAgICAgIHsK
LSAgICAgICAgICAgIGxvYWRWYWx1ZXNBbmREdW1wKGZhbHNlLCBJREJLZXlSYW5nZS5ib3VuZCgi
a2V5XzAyIiwgImtleV8wNSIsIHRydWUsIGZhbHNlKSwgMCwgMywgc3RlcDkpOwotICAgICAgICB9
Ci0KLSAgICAgICAgZnVuY3Rpb24gc3RlcDkoKQotICAgICAgICB7Ci0gICAgICAgICAgICBsb2Fk
VmFsdWVzQW5kRHVtcChmYWxzZSwgSURCS2V5UmFuZ2UuYm91bmQoImtleV8wMiIsICJrZXlfMDUi
LCB0cnVlLCBmYWxzZSksIDAsIDQsIHN0ZXAxMCk7Ci0gICAgICAgIH0KLQotICAgICAgICBmdW5j
dGlvbiBzdGVwMTAoKQotICAgICAgICB7Ci0gICAgICAgICAgICBsb2FkVmFsdWVzQW5kRHVtcChm
YWxzZSwgSURCS2V5UmFuZ2UuYm91bmQoImtleV8wMiIsICJrZXlfMDUiLCB0cnVlLCBmYWxzZSks
IDEsIDIsIHN0ZXAxMSk7Ci0gICAgICAgIH0KLQotICAgICAgICBmdW5jdGlvbiBzdGVwMTEoKQot
ICAgICAgICB7Ci0gICAgICAgICAgICBsb2FkVmFsdWVzQW5kRHVtcChmYWxzZSwgSURCS2V5UmFu
Z2UuYm91bmQoImtleV8wMiIsICJrZXlfMDUiLCB0cnVlLCBmYWxzZSksIDEsIDMsIHN0ZXAxMik7
Ci0gICAgICAgIH0KLQotICAgICAgICBmdW5jdGlvbiBzdGVwMTIoKQotICAgICAgICB7Ci0gICAg
ICAgICAgICBsb2FkVmFsdWVzQW5kRHVtcChmYWxzZSwgSURCS2V5UmFuZ2UuYm91bmQoImtleV8w
MiIsICJrZXlfMDUiLCB0cnVlLCBmYWxzZSksIDEsIDQsIHN0ZXAxMyk7Ci0gICAgICAgIH0KLQot
ICAgICAgICBmdW5jdGlvbiBzdGVwMTMoKQotICAgICAgICB7Ci0gICAgICAgICAgICBydW5JbmRl
eFRlc3RzKCk7Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBydW5JbmRleFRlc3Rz
KCkKLSAgICB7Ci0gICAgICAgIGxvYWRWYWx1ZXNBbmREdW1wKHRydWUsIG51bGwsIDAsIDIsIHN0
ZXAyKQotCi0gICAgICAgIGZ1bmN0aW9uIHN0ZXAyKCkKLSAgICAgICAgewotICAgICAgICAgICAg
cnVuQ2xlYXJUZXN0cygpOwotICAgICAgICB9Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gcnVuQ2xl
YXJUZXN0cygpCi0gICAgewotICAgICAgICBpbmRleGVkREJNb2RlbC5jbGVhck9iamVjdFN0b3Jl
KGRhdGFiYXNlSWQsIG9iamVjdFN0b3JlTmFtZSwgc3RlcDEpOwotICAgICAgICBJbnNwZWN0b3JU
ZXN0LmFkZFJlc3VsdCgiQ2xlYXJlZCBkYXRhIGZyb20gb2JqZWN0U3RvcmUiKTsKLQotICAgICAg
ICBmdW5jdGlvbiBzdGVwMSgpIHsKLSAgICAgICAgICAgIGluZGV4ZWREQk1vZGVsLmFkZEV2ZW50
TGlzdGVuZXIoV2ViSW5zcGVjdG9yLkluZGV4ZWREQk1vZGVsLkV2ZW50VHlwZXMuRGF0YWJhc2VM
b2FkZWQsIHN0ZXAyKTsKLSAgICAgICAgICAgIGluZGV4ZWREQk1vZGVsLnJlZnJlc2hEYXRhYmFz
ZShkYXRhYmFzZUlkKTsKLSAgICAgICAgfQotICAgICAgICBmdW5jdGlvbiBzdGVwMigpIHsKLSAg
ICAgICAgICAgIGluZGV4ZWREQk1vZGVsLnJlbW92ZUV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9y
LkluZGV4ZWREQk1vZGVsLkV2ZW50VHlwZXMuRGF0YWJhc2VMb2FkZWQsIHN0ZXAyKTsKLSAgICAg
ICAgICAgIGxvYWRWYWx1ZXNBbmREdW1wKGZhbHNlLCBudWxsLCAwLCAxMCwgc3RlcDMpOwotICAg
ICAgICB9Ci0KLSAgICAgICAgZnVuY3Rpb24gc3RlcDMoKSB7Ci0gICAgICAgICAgICBkZWxldGVE
YXRhYmFzZSgpOwotICAgICAgICB9Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gZGVsZXRlRGF0YWJh
c2UoKSB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuZGVsZXRlT2JqZWN0U3RvcmVJbmRleChtYWlu
RnJhbWVJZCwgZGF0YWJhc2VOYW1lLCBvYmplY3RTdG9yZU5hbWUsIGluZGV4TmFtZSwgc3RlcDIp
OwotCi0gICAgICAgIGZ1bmN0aW9uIHN0ZXAyKCkKLSAgICAgICAgewotICAgICAgICAgICAgSW5z
cGVjdG9yVGVzdC5kZWxldGVPYmplY3RTdG9yZShtYWluRnJhbWVJZCwgZGF0YWJhc2VOYW1lLCBv
YmplY3RTdG9yZU5hbWUsIHN0ZXAzKTsKLSAgICAgICAgfQotCi0gICAgICAgIGZ1bmN0aW9uIHN0
ZXAzKCkKLSAgICAgICAgewotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5kZWxldGVEYXRhYmFz
ZShtYWluRnJhbWVJZCwgZGF0YWJhc2VOYW1lLCBzdGVwNCk7Ci0gICAgICAgIH0KLQotICAgICAg
ICBmdW5jdGlvbiBzdGVwNCgpCi0gICAgICAgIHsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3Qu
Y29tcGxldGVUZXN0KCk7Ci0gICAgICAgIH0KLSAgICB9Ci19Ci08L3NjcmlwdD4KLTwvaGVhZD4K
LTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxwPlRlc3RzIHRoYXQgZGF0YSBpcyBjb3JyZWN0
bHkgbG9hZGVkIGJ5IEluZGV4ZWREQk1vZGVsIGZyb20gSW5kZXhlZERCIG9iamVjdCBzdG9yZSBh
bmQgaW5kZXguPC9wPgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5kZXhlZGRiL2RhdGFiYXNlLW5hbWVzLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luZGV4ZWRkYi9kYXRhYmFzZS1u
YW1lcy1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDgwNzk2ZDIy
NjIwNDdlODczNDg5ZTAzMzRmZWI3NmNhMzczMDM3MzcuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3Iv
aW5kZXhlZGRiL2RhdGFiYXNlLW5hbWVzLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0x
LDIxICswLDAgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxMDg6IEluc3BlY3RvclRlc3QuSW5k
ZXhlZERCX2NhbGxiYWNrMQotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDEwODogSW5zcGVjdG9yVGVz
dC5JbmRleGVkREJfY2FsbGJhY2syCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTA4OiBJbnNwZWN0
b3JUZXN0LkluZGV4ZWREQl9jYWxsYmFjazMKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxMDg6IElu
c3BlY3RvclRlc3QuSW5kZXhlZERCX2NhbGxiYWNrNAotVGVzdHMgdGhhdCBkYXRhYmFzZSBuYW1l
cyBhcmUgY29ycmVjdGx5IGxvYWRlZCBhbmQgc2F2ZWQgaW4gSW5kZXhlZERCTW9kZWwuCi0KLUR1
bXBpbmcgZGF0YWJhc2UgbmFtZXM6Ci0KLUR1bXBpbmcgZGF0YWJhc2UgbmFtZXM6Ci0gICAgdGVz
dERhdGFiYXNlMQotCi1EdW1waW5nIGRhdGFiYXNlIG5hbWVzOgotICAgIHRlc3REYXRhYmFzZTEK
LSAgICB0ZXN0RGF0YWJhc2UyCi0KLUR1bXBpbmcgZGF0YWJhc2UgbmFtZXM6Ci0gICAgdGVzdERh
dGFiYXNlMQotCi1EdW1waW5nIGRhdGFiYXNlIG5hbWVzOgotCi0KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luZGV4ZWRkYi9kYXRhYmFzZS1uYW1lcy5odG1s
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5kZXhlZGRiL2RhdGFiYXNlLW5h
bWVzLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAxNDNmNzM4NDJlYmVhZTk4
MWRkMGMyNzk4MGIxMWNlM2E0N2VhZGQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5kZXhlZGRi
L2RhdGFiYXNlLW5hbWVzLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw4MyArMCwwIEBACi08aHRt
bD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSJpbmRleGVkZGItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotZnVu
Y3Rpb24gdGVzdCgpCi17Ci0gICAgdmFyIGluZGV4ZWREQk1vZGVsID0gbmV3IFdlYkluc3BlY3Rv
ci5JbmRleGVkREJNb2RlbCgpOwotICAgIHZhciBtYWluRnJhbWVJZCA9IFdlYkluc3BlY3Rvci5y
ZXNvdXJjZVRyZWVNb2RlbC5tYWluRnJhbWUuaWQ7Ci0KLSAgICBmdW5jdGlvbiBkdW1wRGF0YWJh
c2VOYW1lcygpCi0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiRHVtcGlu
ZyBkYXRhYmFzZSBuYW1lczoiKTsKLSAgICAgICAgdmFyIHNlY3VyaXR5T3JpZ2lucyA9IFdlYklu
c3BlY3Rvci5yZXNvdXJjZVRyZWVNb2RlbC5zZWN1cml0eU9yaWdpbnMoKTsKLSAgICAgICAgdmFy
IHNlY3VyaXR5T3JpZ2luID0gc2VjdXJpdHlPcmlnaW5zWzBdOwotICAgICAgICB2YXIgbmFtZXMg
PSBpbmRleGVkREJNb2RlbC5fZGF0YWJhc2VOYW1lc0J5U2VjdXJpdHlPcmlnaW5bc2VjdXJpdHlP
cmlnaW5dOwotICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IG5hbWVzLmxlbmd0aDsgKytpKQot
ICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIiAgICAiICsgbmFtZXNbaV0pOwot
ICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiIik7Ci0gICAgfQotCi0gICAgSW5zcGVj
dG9yVGVzdC5hZGRTbmlmZmVyKFdlYkluc3BlY3Rvci5JbmRleGVkREJNb2RlbC5wcm90b3R5cGUs
ICJfdXBkYXRlT3JpZ2luRGF0YWJhc2VOYW1lcyIsIHN0ZXAyLCBmYWxzZSk7Ci0KLSAgICBmdW5j
dGlvbiBzdGVwMigpCi0gICAgewotICAgICAgICBkdW1wRGF0YWJhc2VOYW1lcygpOwotICAgICAg
ICBJbnNwZWN0b3JUZXN0LmNyZWF0ZURhdGFiYXNlKG1haW5GcmFtZUlkLCAidGVzdERhdGFiYXNl
MSIsIHN0ZXAzKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwMygpCi0gICAgewotICAgICAg
ICBJbnNwZWN0b3JUZXN0LmFkZFNuaWZmZXIoV2ViSW5zcGVjdG9yLkluZGV4ZWREQk1vZGVsLnBy
b3RvdHlwZSwgIl91cGRhdGVPcmlnaW5EYXRhYmFzZU5hbWVzIiwgc3RlcDQsIGZhbHNlKTsKLSAg
ICAgICAgaW5kZXhlZERCTW9kZWwucmVmcmVzaERhdGFiYXNlTmFtZXMoKTsKLSAgICB9Ci0KLSAg
ICBmdW5jdGlvbiBzdGVwNCgpCi0gICAgewotICAgICAgICBkdW1wRGF0YWJhc2VOYW1lcygpOwot
ICAgICAgICBJbnNwZWN0b3JUZXN0LmNyZWF0ZURhdGFiYXNlKG1haW5GcmFtZUlkLCAidGVzdERh
dGFiYXNlMiIsIHN0ZXA1KTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwNSgpCi0gICAgewot
ICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFNuaWZmZXIoV2ViSW5zcGVjdG9yLkluZGV4ZWREQk1v
ZGVsLnByb3RvdHlwZSwgIl91cGRhdGVPcmlnaW5EYXRhYmFzZU5hbWVzIiwgc3RlcDYsIGZhbHNl
KTsKLSAgICAgICAgaW5kZXhlZERCTW9kZWwucmVmcmVzaERhdGFiYXNlTmFtZXMoKTsKLSAgICB9
Ci0KLSAgICBmdW5jdGlvbiBzdGVwNigpCi0gICAgewotICAgICAgICBkdW1wRGF0YWJhc2VOYW1l
cygpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmRlbGV0ZURhdGFiYXNlKG1haW5GcmFtZUlkLCAi
dGVzdERhdGFiYXNlMiIsIHN0ZXA3KTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwNygpCi0g
ICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFNuaWZmZXIoV2ViSW5zcGVjdG9yLkluZGV4
ZWREQk1vZGVsLnByb3RvdHlwZSwgIl91cGRhdGVPcmlnaW5EYXRhYmFzZU5hbWVzIiwgc3RlcDgs
IGZhbHNlKTsKLSAgICAgICAgaW5kZXhlZERCTW9kZWwucmVmcmVzaERhdGFiYXNlTmFtZXMoKTsK
LSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwOCgpCi0gICAgewotICAgICAgICBkdW1wRGF0YWJh
c2VOYW1lcygpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmRlbGV0ZURhdGFiYXNlKG1haW5GcmFt
ZUlkLCAidGVzdERhdGFiYXNlMSIsIHN0ZXA5KTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVw
OSgpCi0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFNuaWZmZXIoV2ViSW5zcGVjdG9y
LkluZGV4ZWREQk1vZGVsLnByb3RvdHlwZSwgIl91cGRhdGVPcmlnaW5EYXRhYmFzZU5hbWVzIiwg
c3RlcDEwLCBmYWxzZSk7Ci0gICAgICAgIGluZGV4ZWREQk1vZGVsLnJlZnJlc2hEYXRhYmFzZU5h
bWVzKCk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc3RlcDEwKCkKLSAgICB7Ci0gICAgICAgIGR1
bXBEYXRhYmFzZU5hbWVzKCk7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7
Ci0gICAgfQotfQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+
Ci08cD5UZXN0cyB0aGF0IGRhdGFiYXNlIG5hbWVzIGFyZSBjb3JyZWN0bHkgbG9hZGVkIGFuZCBz
YXZlZCBpbiBJbmRleGVkREJNb2RlbC48L3A+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbmRleGVkZGIvZGF0YWJhc2Utc3Ry
dWN0dXJlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2lu
ZGV4ZWRkYi9kYXRhYmFzZS1zdHJ1Y3R1cmUtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAyZjZhNDg2MGUxOTM2ZTQyZDdiODBhZjA4ODQ5ZGQzYmJhMGU5YjBlLi4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luZGV4ZWRkYi9kYXRhYmFzZS1zdHJ1Y3R1cmUtZXhwZWN0
ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTIzICswLDAgQEAKLUNPTlNPTEUgTUVTU0FHRTog
bGluZSAxMDg6IEluc3BlY3RvclRlc3QuSW5kZXhlZERCX2NhbGxiYWNrMQotQ09OU09MRSBNRVNT
QUdFOiBsaW5lIDEwODogSW5zcGVjdG9yVGVzdC5JbmRleGVkREJfY2FsbGJhY2syCi1DT05TT0xF
IE1FU1NBR0U6IGxpbmUgMTA4OiBJbnNwZWN0b3JUZXN0LkluZGV4ZWREQl9jYWxsYmFjazMKLUNP
TlNPTEUgTUVTU0FHRTogbGluZSAxMDg6IEluc3BlY3RvclRlc3QuSW5kZXhlZERCX2NhbGxiYWNr
NAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDEwODogSW5zcGVjdG9yVGVzdC5JbmRleGVkREJfY2Fs
bGJhY2s1Ci1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTA4OiBJbnNwZWN0b3JUZXN0LkluZGV4ZWRE
Ql9jYWxsYmFjazYKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxMDg6IEluc3BlY3RvclRlc3QuSW5k
ZXhlZERCX2NhbGxiYWNrNwotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDEwODogSW5zcGVjdG9yVGVz
dC5JbmRleGVkREJfY2FsbGJhY2s4Ci1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTA4OiBJbnNwZWN0
b3JUZXN0LkluZGV4ZWREQl9jYWxsYmFjazkKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxMDg6IElu
c3BlY3RvclRlc3QuSW5kZXhlZERCX2NhbGxiYWNrMTAKLVRlc3RzIHRoYXQgZGF0YWJhc2UgbmFt
ZXMgYXJlIGNvcnJlY3RseSBsb2FkZWQgYW5kIHNhdmVkIGluIEluZGV4ZWREQk1vZGVsLgotCi1E
dW1waW5nIGRhdGFiYXNlOgotRHVtcGluZyBkYXRhYmFzZToKLXRlc3REYXRhYmFzZTEKLSAgICBp
bnRWZXJzaW9uOiAxCi0gICAgb2JqZWN0U3RvcmVzOgotCi1EdW1waW5nIGRhdGFiYXNlOgotdGVz
dERhdGFiYXNlMQotICAgIGludFZlcnNpb246IDIKLSAgICBvYmplY3RTdG9yZXM6Ci0gICAgdGVz
dE9iamVjdFN0b3JlMQotICAgICAgICBrZXlQYXRoOiAidGVzdC5rZXkucGF0aCIKLSAgICAgICAg
YXV0b0luY3JlbWVudDogdHJ1ZQotICAgICAgICBpbmRleGVzOiAKLQotRHVtcGluZyBkYXRhYmFz
ZToKLXRlc3REYXRhYmFzZTEKLSAgICBpbnRWZXJzaW9uOiAzCi0gICAgb2JqZWN0U3RvcmVzOgot
ICAgIHRlc3RPYmplY3RTdG9yZTEKLSAgICAgICAga2V5UGF0aDogInRlc3Qua2V5LnBhdGgiCi0g
ICAgICAgIGF1dG9JbmNyZW1lbnQ6IHRydWUKLSAgICAgICAgaW5kZXhlczogCi0gICAgdGVzdE9i
amVjdFN0b3JlMgotICAgICAgICBrZXlQYXRoOiBudWxsCi0gICAgICAgIGF1dG9JbmNyZW1lbnQ6
IGZhbHNlCi0gICAgICAgIGluZGV4ZXM6IAotCi1EdW1waW5nIGRhdGFiYXNlOgotdGVzdERhdGFi
YXNlMQotICAgIGludFZlcnNpb246IDQKLSAgICBvYmplY3RTdG9yZXM6Ci0gICAgdGVzdE9iamVj
dFN0b3JlMQotICAgICAgICBrZXlQYXRoOiAidGVzdC5rZXkucGF0aCIKLSAgICAgICAgYXV0b0lu
Y3JlbWVudDogdHJ1ZQotICAgICAgICBpbmRleGVzOiAKLSAgICB0ZXN0T2JqZWN0U3RvcmUyCi0g
ICAgICAgIGtleVBhdGg6IG51bGwKLSAgICAgICAgYXV0b0luY3JlbWVudDogZmFsc2UKLSAgICAg
ICAgaW5kZXhlczogCi0gICAgICAgIHRlc3RJbmRleE5hbWUxCi0gICAgICAgICAgICBrZXlQYXRo
OiAiIgotICAgICAgICAgICAgdW5pcXVlOiBmYWxzZQotICAgICAgICAgICAgbXVsdGlFbnRyeTog
dHJ1ZQotCi1EdW1waW5nIGRhdGFiYXNlOgotdGVzdERhdGFiYXNlMQotICAgIGludFZlcnNpb246
IDUKLSAgICBvYmplY3RTdG9yZXM6Ci0gICAgdGVzdE9iamVjdFN0b3JlMQotICAgICAgICBrZXlQ
YXRoOiAidGVzdC5rZXkucGF0aCIKLSAgICAgICAgYXV0b0luY3JlbWVudDogdHJ1ZQotICAgICAg
ICBpbmRleGVzOiAKLSAgICB0ZXN0T2JqZWN0U3RvcmUyCi0gICAgICAgIGtleVBhdGg6IG51bGwK
LSAgICAgICAgYXV0b0luY3JlbWVudDogZmFsc2UKLSAgICAgICAgaW5kZXhlczogCi0gICAgICAg
IHRlc3RJbmRleE5hbWUxCi0gICAgICAgICAgICBrZXlQYXRoOiAiIgotICAgICAgICAgICAgdW5p
cXVlOiBmYWxzZQotICAgICAgICAgICAgbXVsdGlFbnRyeTogdHJ1ZQotICAgICAgICB0ZXN0SW5k
ZXhOYW1lMgotICAgICAgICAgICAga2V5UGF0aDogWyJrZXkucGF0aDEiLCJrZXkucGF0aDIiXQot
ICAgICAgICAgICAgdW5pcXVlOiB0cnVlCi0gICAgICAgICAgICBtdWx0aUVudHJ5OiBmYWxzZQot
Ci1EdW1waW5nIGRhdGFiYXNlOgotdGVzdERhdGFiYXNlMQotICAgIGludFZlcnNpb246IDYKLSAg
ICBvYmplY3RTdG9yZXM6Ci0gICAgdGVzdE9iamVjdFN0b3JlMQotICAgICAgICBrZXlQYXRoOiAi
dGVzdC5rZXkucGF0aCIKLSAgICAgICAgYXV0b0luY3JlbWVudDogdHJ1ZQotICAgICAgICBpbmRl
eGVzOiAKLSAgICB0ZXN0T2JqZWN0U3RvcmUyCi0gICAgICAgIGtleVBhdGg6IG51bGwKLSAgICAg
ICAgYXV0b0luY3JlbWVudDogZmFsc2UKLSAgICAgICAgaW5kZXhlczogCi0gICAgICAgIHRlc3RJ
bmRleE5hbWUxCi0gICAgICAgICAgICBrZXlQYXRoOiAiIgotICAgICAgICAgICAgdW5pcXVlOiBm
YWxzZQotICAgICAgICAgICAgbXVsdGlFbnRyeTogdHJ1ZQotCi1EdW1waW5nIGRhdGFiYXNlOgot
dGVzdERhdGFiYXNlMQotICAgIGludFZlcnNpb246IDcKLSAgICBvYmplY3RTdG9yZXM6Ci0gICAg
dGVzdE9iamVjdFN0b3JlMQotICAgICAgICBrZXlQYXRoOiAidGVzdC5rZXkucGF0aCIKLSAgICAg
ICAgYXV0b0luY3JlbWVudDogdHJ1ZQotICAgICAgICBpbmRleGVzOiAKLSAgICB0ZXN0T2JqZWN0
U3RvcmUyCi0gICAgICAgIGtleVBhdGg6IG51bGwKLSAgICAgICAgYXV0b0luY3JlbWVudDogZmFs
c2UKLSAgICAgICAgaW5kZXhlczogCi0KLUR1bXBpbmcgZGF0YWJhc2U6Ci10ZXN0RGF0YWJhc2Ux
Ci0gICAgaW50VmVyc2lvbjogOAotICAgIG9iamVjdFN0b3JlczoKLSAgICB0ZXN0T2JqZWN0U3Rv
cmUxCi0gICAgICAgIGtleVBhdGg6ICJ0ZXN0LmtleS5wYXRoIgotICAgICAgICBhdXRvSW5jcmVt
ZW50OiB0cnVlCi0gICAgICAgIGluZGV4ZXM6IAotCi1EdW1waW5nIGRhdGFiYXNlOgotdGVzdERh
dGFiYXNlMQotICAgIGludFZlcnNpb246IDkKLSAgICBvYmplY3RTdG9yZXM6Ci0KLQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5kZXhlZGRiL2RhdGFiYXNl
LXN0cnVjdHVyZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5kZXhl
ZGRiL2RhdGFiYXNlLXN0cnVjdHVyZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCBkODIzYmVmZjRkNjZiMjM2NmEyNjlhZmQ4ZDU3MmUzNjU2NGNjYzJlLi4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
aW5zcGVjdG9yL2luZGV4ZWRkYi9kYXRhYmFzZS1zdHJ1Y3R1cmUuaHRtbAorKysgL2Rldi9udWxs
CkBAIC0xLDE5OCArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uL2luc3Bl
Y3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJpbmRleGVkZGItdGVzdC5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0PgotZnVuY3Rpb24gdGVzdCgpCi17Ci0gICAgdmFyIGluZGV4ZWRE
Qk1vZGVsID0gbmV3IFdlYkluc3BlY3Rvci5JbmRleGVkREJNb2RlbCgpOwotICAgIHZhciBtYWlu
RnJhbWVJZCA9IFdlYkluc3BlY3Rvci5yZXNvdXJjZVRyZWVNb2RlbC5tYWluRnJhbWUuaWQ7Ci0g
ICAgdmFyIGRhdGFiYXNlTmFtZSA9ICJ0ZXN0RGF0YWJhc2UxIjsKLSAgICB2YXIgc2VjdXJpdHlP
cmlnaW4gPSAiaHR0cDovLzEyNy4wLjAuMTo4MDAwIjsKLSAgICB2YXIgZGF0YWJhc2VJZCA9IG5l
dyBXZWJJbnNwZWN0b3IuSW5kZXhlZERCTW9kZWwuRGF0YWJhc2VJZChzZWN1cml0eU9yaWdpbiwg
ZGF0YWJhc2VOYW1lKTsKLQotICAgIGZ1bmN0aW9uIGR1bXBEYXRhYmFzZSgpCi0gICAgewotICAg
ICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiRHVtcGluZyBkYXRhYmFzZToiKTsKLSAgICAg
ICAgdmFyIGRhdGFiYXNlID0gaW5kZXhlZERCTW9kZWwuX2RhdGFiYXNlcy5nZXQoZGF0YWJhc2VJ
ZCk7Ci0gICAgICAgIGlmICghZGF0YWJhc2UpCi0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAg
IEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KGRhdGFiYXNlLmRhdGFiYXNlSWQubmFtZSk7Ci0gICAg
ICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCIgICAgaW50VmVyc2lvbjogIiArIGRhdGFiYXNl
LmludFZlcnNpb24pOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiICAgIG9iamVj
dFN0b3JlczoiKTsKLSAgICAgICAgdmFyIG9iamVjdFN0b3JlTmFtZXMgPSBbXTsKLSAgICAgICAg
Zm9yICh2YXIgb2JqZWN0U3RvcmVOYW1lIGluIGRhdGFiYXNlLm9iamVjdFN0b3JlcykKLSAgICAg
ICAgICAgIG9iamVjdFN0b3JlTmFtZXMucHVzaChvYmplY3RTdG9yZU5hbWUpOwotICAgICAgICBv
YmplY3RTdG9yZU5hbWVzLnNvcnQoKTsKLSAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBvYmpl
Y3RTdG9yZU5hbWVzLmxlbmd0aDsgKytpKSB7Ci0gICAgICAgICAgICB2YXIgb2JqZWN0U3RvcmUg
PSBkYXRhYmFzZS5vYmplY3RTdG9yZXNbb2JqZWN0U3RvcmVOYW1lc1tpXV07Ci0gICAgICAgICAg
ICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiICAgICIgKyBvYmplY3RTdG9yZS5uYW1lKTsKLSAg
ICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCIgICAgICAgIGtleVBhdGg6ICIgKyBK
U09OLnN0cmluZ2lmeShvYmplY3RTdG9yZS5rZXlQYXRoKSk7Ci0gICAgICAgICAgICBJbnNwZWN0
b3JUZXN0LmFkZFJlc3VsdCgiICAgICAgICBhdXRvSW5jcmVtZW50OiAiICsgb2JqZWN0U3RvcmUu
YXV0b0luY3JlbWVudCk7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiICAg
ICAgICBpbmRleGVzOiAiKTsKLSAgICAgICAgICAgIHZhciBpbmRleE5hbWVzID0gW107Ci0gICAg
ICAgICAgICBmb3IgKHZhciBpbmRleE5hbWUgaW4gb2JqZWN0U3RvcmUuaW5kZXhlcykKLSAgICAg
ICAgICAgICAgICBpbmRleE5hbWVzLnB1c2goaW5kZXhOYW1lKTsKLSAgICAgICAgICAgIGluZGV4
TmFtZXMuc29ydCgpOwotICAgICAgICAgICAgZm9yICh2YXIgaiA9IDA7IGogPCBpbmRleE5hbWVz
Lmxlbmd0aDsgKytqKSB7Ci0gICAgICAgICAgICAgICAgdmFyIGluZGV4ID0gb2JqZWN0U3RvcmUu
aW5kZXhlc1tpbmRleE5hbWVzW2pdXTsKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFk
ZFJlc3VsdCgiICAgICAgICAiICsgaW5kZXgubmFtZSk7Ci0gICAgICAgICAgICAgICAgSW5zcGVj
dG9yVGVzdC5hZGRSZXN1bHQoIiAgICAgICAgICAgIGtleVBhdGg6ICIgKyBKU09OLnN0cmluZ2lm
eShpbmRleC5rZXlQYXRoKSk7Ci0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1
bHQoIiAgICAgICAgICAgIHVuaXF1ZTogIiArIGluZGV4LnVuaXF1ZSk7Ci0gICAgICAgICAgICAg
ICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIiAgICAgICAgICAgIG11bHRpRW50cnk6ICIgKyBp
bmRleC5tdWx0aUVudHJ5KTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQotICAgICAgICBJbnNw
ZWN0b3JUZXN0LmFkZFJlc3VsdCgiIik7Ci0gICAgfQotCi0gICAgSW5zcGVjdG9yVGVzdC5hZGRT
bmlmZmVyKFdlYkluc3BlY3Rvci5JbmRleGVkREJNb2RlbC5wcm90b3R5cGUsICJfdXBkYXRlT3Jp
Z2luRGF0YWJhc2VOYW1lcyIsIHN0ZXAyLCBmYWxzZSk7Ci0KLSAgICBmdW5jdGlvbiBzdGVwMigp
Ci0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmNyZWF0ZURhdGFiYXNlKG1haW5GcmFtZUlk
LCBkYXRhYmFzZU5hbWUsIHN0ZXAzKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwMygpCi0g
ICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFNuaWZmZXIoV2ViSW5zcGVjdG9yLkluZGV4
ZWREQk1vZGVsLnByb3RvdHlwZSwgIl91cGRhdGVPcmlnaW5EYXRhYmFzZU5hbWVzIiwgc3RlcDQs
IGZhbHNlKTsKLSAgICAgICAgaW5kZXhlZERCTW9kZWwucmVmcmVzaERhdGFiYXNlTmFtZXMoKTsK
LSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwNCgpCi0gICAgewotICAgICAgICBkdW1wRGF0YWJh
c2UoKTsKLQotICAgICAgICBpbmRleGVkREJNb2RlbC5hZGRFdmVudExpc3RlbmVyKFdlYkluc3Bl
Y3Rvci5JbmRleGVkREJNb2RlbC5FdmVudFR5cGVzLkRhdGFiYXNlTG9hZGVkLCBzdGVwNSk7Ci0g
ICAgICAgIGluZGV4ZWREQk1vZGVsLnJlZnJlc2hEYXRhYmFzZShkYXRhYmFzZUlkKTsKLSAgICB9
Ci0KLSAgICBmdW5jdGlvbiBzdGVwNSgpCi0gICAgewotICAgICAgICBpbmRleGVkREJNb2RlbC5y
ZW1vdmVFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5JbmRleGVkREJNb2RlbC5FdmVudFR5cGVz
LkRhdGFiYXNlTG9hZGVkLCBzdGVwNSk7Ci0gICAgICAgIGR1bXBEYXRhYmFzZSgpOwotCi0gICAg
ICAgIEluc3BlY3RvclRlc3QuY3JlYXRlT2JqZWN0U3RvcmUobWFpbkZyYW1lSWQsIGRhdGFiYXNl
TmFtZSwgInRlc3RPYmplY3RTdG9yZTEiLCAidGVzdC5rZXkucGF0aCIsIHRydWUsIHN0ZXA2KTsK
LSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwNigpCi0gICAgewotICAgICAgICBpbmRleGVkREJN
b2RlbC5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5JbmRleGVkREJNb2RlbC5FdmVudFR5
cGVzLkRhdGFiYXNlTG9hZGVkLCBzdGVwNyk7Ci0gICAgICAgIGluZGV4ZWREQk1vZGVsLnJlZnJl
c2hEYXRhYmFzZShkYXRhYmFzZUlkKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwNygpCi0g
ICAgewotICAgICAgICBpbmRleGVkREJNb2RlbC5yZW1vdmVFdmVudExpc3RlbmVyKFdlYkluc3Bl
Y3Rvci5JbmRleGVkREJNb2RlbC5FdmVudFR5cGVzLkRhdGFiYXNlTG9hZGVkLCBzdGVwNyk7Ci0g
ICAgICAgIGR1bXBEYXRhYmFzZSgpOwotCi0gICAgICAgIEluc3BlY3RvclRlc3QuY3JlYXRlT2Jq
ZWN0U3RvcmUobWFpbkZyYW1lSWQsIGRhdGFiYXNlTmFtZSwgInRlc3RPYmplY3RTdG9yZTIiLCBu
dWxsLCBmYWxzZSwgc3RlcDgpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0ZXA4KCkKLSAgICB7
Ci0gICAgICAgIGluZGV4ZWREQk1vZGVsLmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLklu
ZGV4ZWREQk1vZGVsLkV2ZW50VHlwZXMuRGF0YWJhc2VMb2FkZWQsIHN0ZXA5KTsKLSAgICAgICAg
aW5kZXhlZERCTW9kZWwucmVmcmVzaERhdGFiYXNlKGRhdGFiYXNlSWQpOwotICAgIH0KLQotICAg
IGZ1bmN0aW9uIHN0ZXA5KCkKLSAgICB7Ci0gICAgICAgIGluZGV4ZWREQk1vZGVsLnJlbW92ZUV2
ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLkluZGV4ZWREQk1vZGVsLkV2ZW50VHlwZXMuRGF0YWJh
c2VMb2FkZWQsIHN0ZXA5KTsKLSAgICAgICAgZHVtcERhdGFiYXNlKCk7Ci0KLSAgICAgICAgSW5z
cGVjdG9yVGVzdC5jcmVhdGVPYmplY3RTdG9yZUluZGV4KG1haW5GcmFtZUlkLCBkYXRhYmFzZU5h
bWUsICJ0ZXN0T2JqZWN0U3RvcmUyIiwgInRlc3RJbmRleE5hbWUxIiwgIiIsIGZhbHNlLCB0cnVl
LCBzdGVwMTApOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0ZXAxMCgpCi0gICAgewotICAgICAg
ICBpbmRleGVkREJNb2RlbC5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5JbmRleGVkREJN
b2RlbC5FdmVudFR5cGVzLkRhdGFiYXNlTG9hZGVkLCBzdGVwMTEpOwotICAgICAgICBpbmRleGVk
REJNb2RlbC5yZWZyZXNoRGF0YWJhc2UoZGF0YWJhc2VJZCk7Ci0gICAgfQotCi0gICAgZnVuY3Rp
b24gc3RlcDExKCkKLSAgICB7Ci0gICAgICAgIGluZGV4ZWREQk1vZGVsLnJlbW92ZUV2ZW50TGlz
dGVuZXIoV2ViSW5zcGVjdG9yLkluZGV4ZWREQk1vZGVsLkV2ZW50VHlwZXMuRGF0YWJhc2VMb2Fk
ZWQsIHN0ZXAxMSk7Ci0gICAgICAgIGR1bXBEYXRhYmFzZSgpOwotCi0gICAgICAgIEluc3BlY3Rv
clRlc3QuY3JlYXRlT2JqZWN0U3RvcmVJbmRleChtYWluRnJhbWVJZCwgZGF0YWJhc2VOYW1lLCAi
dGVzdE9iamVjdFN0b3JlMiIsICJ0ZXN0SW5kZXhOYW1lMiIsIFsia2V5LnBhdGgxIiwgImtleS5w
YXRoMiJdLCB0cnVlLCBmYWxzZSwgc3RlcDEyKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVw
MTIoKQotICAgIHsKLSAgICAgICAgaW5kZXhlZERCTW9kZWwuYWRkRXZlbnRMaXN0ZW5lcihXZWJJ
bnNwZWN0b3IuSW5kZXhlZERCTW9kZWwuRXZlbnRUeXBlcy5EYXRhYmFzZUxvYWRlZCwgc3RlcDEz
KTsKLSAgICAgICAgaW5kZXhlZERCTW9kZWwucmVmcmVzaERhdGFiYXNlKGRhdGFiYXNlSWQpOwot
ICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0ZXAxMygpCi0gICAgewotICAgICAgICBpbmRleGVkREJN
b2RlbC5yZW1vdmVFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5JbmRleGVkREJNb2RlbC5FdmVu
dFR5cGVzLkRhdGFiYXNlTG9hZGVkLCBzdGVwMTMpOwotICAgICAgICBkdW1wRGF0YWJhc2UoKTsK
LQotICAgICAgICBJbnNwZWN0b3JUZXN0LmRlbGV0ZU9iamVjdFN0b3JlSW5kZXgobWFpbkZyYW1l
SWQsIGRhdGFiYXNlTmFtZSwgInRlc3RPYmplY3RTdG9yZTIiLCAidGVzdEluZGV4TmFtZTIiLCBz
dGVwMTQpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0ZXAxNCgpCi0gICAgewotICAgICAgICBp
bmRleGVkREJNb2RlbC5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5JbmRleGVkREJNb2Rl
bC5FdmVudFR5cGVzLkRhdGFiYXNlTG9hZGVkLCBzdGVwMTUpOwotICAgICAgICBpbmRleGVkREJN
b2RlbC5yZWZyZXNoRGF0YWJhc2UoZGF0YWJhc2VJZCk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24g
c3RlcDE1KCkKLSAgICB7Ci0gICAgICAgIGluZGV4ZWREQk1vZGVsLnJlbW92ZUV2ZW50TGlzdGVu
ZXIoV2ViSW5zcGVjdG9yLkluZGV4ZWREQk1vZGVsLkV2ZW50VHlwZXMuRGF0YWJhc2VMb2FkZWQs
IHN0ZXAxNSk7Ci0gICAgICAgIGR1bXBEYXRhYmFzZSgpOwotCi0gICAgICAgIEluc3BlY3RvclRl
c3QuZGVsZXRlT2JqZWN0U3RvcmVJbmRleChtYWluRnJhbWVJZCwgZGF0YWJhc2VOYW1lLCAidGVz
dE9iamVjdFN0b3JlMiIsICJ0ZXN0SW5kZXhOYW1lMSIsIHN0ZXAxNik7Ci0gICAgfQotCi0gICAg
ZnVuY3Rpb24gc3RlcDE2KCkKLSAgICB7Ci0gICAgICAgIGluZGV4ZWREQk1vZGVsLmFkZEV2ZW50
TGlzdGVuZXIoV2ViSW5zcGVjdG9yLkluZGV4ZWREQk1vZGVsLkV2ZW50VHlwZXMuRGF0YWJhc2VM
b2FkZWQsIHN0ZXAxNyk7Ci0gICAgICAgIGluZGV4ZWREQk1vZGVsLnJlZnJlc2hEYXRhYmFzZShk
YXRhYmFzZUlkKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwMTcoKQotICAgIHsKLSAgICAg
ICAgaW5kZXhlZERCTW9kZWwucmVtb3ZlRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuSW5kZXhl
ZERCTW9kZWwuRXZlbnRUeXBlcy5EYXRhYmFzZUxvYWRlZCwgc3RlcDE3KTsKLSAgICAgICAgZHVt
cERhdGFiYXNlKCk7Ci0KLSAgICAgICAgSW5zcGVjdG9yVGVzdC5kZWxldGVPYmplY3RTdG9yZSht
YWluRnJhbWVJZCwgZGF0YWJhc2VOYW1lLCAidGVzdE9iamVjdFN0b3JlMiIsIHN0ZXAxOCk7Ci0g
ICAgfQotCi0gICAgZnVuY3Rpb24gc3RlcDE4KCkKLSAgICB7Ci0gICAgICAgIGluZGV4ZWREQk1v
ZGVsLmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLkluZGV4ZWREQk1vZGVsLkV2ZW50VHlw
ZXMuRGF0YWJhc2VMb2FkZWQsIHN0ZXAxOSk7Ci0gICAgICAgIGluZGV4ZWREQk1vZGVsLnJlZnJl
c2hEYXRhYmFzZShkYXRhYmFzZUlkKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwMTkoKQot
ICAgIHsKLSAgICAgICAgaW5kZXhlZERCTW9kZWwucmVtb3ZlRXZlbnRMaXN0ZW5lcihXZWJJbnNw
ZWN0b3IuSW5kZXhlZERCTW9kZWwuRXZlbnRUeXBlcy5EYXRhYmFzZUxvYWRlZCwgc3RlcDE5KTsK
LSAgICAgICAgZHVtcERhdGFiYXNlKCk7Ci0KLSAgICAgICAgSW5zcGVjdG9yVGVzdC5kZWxldGVP
YmplY3RTdG9yZShtYWluRnJhbWVJZCwgZGF0YWJhc2VOYW1lLCAidGVzdE9iamVjdFN0b3JlMSIs
IHN0ZXAyMCk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc3RlcDIwKCkKLSAgICB7Ci0gICAgICAg
IGluZGV4ZWREQk1vZGVsLmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLkluZGV4ZWREQk1v
ZGVsLkV2ZW50VHlwZXMuRGF0YWJhc2VMb2FkZWQsIHN0ZXAyMSk7Ci0gICAgICAgIGluZGV4ZWRE
Qk1vZGVsLnJlZnJlc2hEYXRhYmFzZShkYXRhYmFzZUlkKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlv
biBzdGVwMjEoKQotICAgIHsKLSAgICAgICAgaW5kZXhlZERCTW9kZWwucmVtb3ZlRXZlbnRMaXN0
ZW5lcihXZWJJbnNwZWN0b3IuSW5kZXhlZERCTW9kZWwuRXZlbnRUeXBlcy5EYXRhYmFzZUxvYWRl
ZCwgc3RlcDIxKTsKLSAgICAgICAgZHVtcERhdGFiYXNlKCk7Ci0gICAgICAgIEluc3BlY3RvclRl
c3QuZGVsZXRlRGF0YWJhc2UobWFpbkZyYW1lSWQsIGRhdGFiYXNlTmFtZSwgc3RlcDIyKTsKLSAg
ICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwMjIoKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVz
dC5jb21wbGV0ZVRlc3QoKTsKLSAgICB9Ci19Ci08L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IG9u
bG9hZD0icnVuVGVzdCgpIj4KLTxwPlRlc3RzIHRoYXQgZGF0YWJhc2UgbmFtZXMgYXJlIGNvcnJl
Y3RseSBsb2FkZWQgYW5kIHNhdmVkIGluIEluZGV4ZWREQk1vZGVsLjwvcD4KLTwvYm9keT4KLTwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luZGV4
ZWRkYi9pbmRleGVkZGItdGVzdC5qcyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9y
L2luZGV4ZWRkYi9pbmRleGVkZGItdGVzdC5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggOGFhNjc5NjMxYjJhZTExOGY5NjcxMWQwZjg1YzYzMjVmOTNkYWU1MS4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2luc3BlY3Rvci9pbmRleGVkZGIvaW5kZXhlZGRiLXRlc3QuanMKKysrIC9kZXYvbnVsbApAQCAt
MSwyNTkgKzAsMCBAQAotdmFyIGluaXRpYWxpemVfSW5kZXhlZERCVGVzdCA9IGZ1bmN0aW9uKCkg
ewotCi1JbnNwZWN0b3JUZXN0LmR1bXBJbmRleGVkREJUcmVlID0gZnVuY3Rpb24oKQotewotICAg
IEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJEdW1waW5nIEluZGV4ZWREQiB0cmVlOiIpOwotICAg
IHZhciBpbmRleGVkREJUcmVlRWxlbWVudCA9IFdlYkluc3BlY3Rvci5wYW5lbHMucmVzb3VyY2Vz
LmluZGV4ZWREQkxpc3RUcmVlRWxlbWVudDsKLSAgICBpZiAoIWluZGV4ZWREQlRyZWVFbGVtZW50
LmNoaWxkcmVuLmxlbmd0aCkgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiICAg
IChlbXB0eSkiKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLSAgICBmb3IgKHZhciBpID0gMDsg
aSA8IGluZGV4ZWREQlRyZWVFbGVtZW50LmNoaWxkcmVuLmxlbmd0aDsgKytpKSB7Ci0gICAgICAg
IHZhciBkYXRhYmFzZVRyZWVFbGVtZW50ID0gaW5kZXhlZERCVHJlZUVsZW1lbnQuY2hpbGRyZW5b
aV07Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCIgICAgZGF0YWJhc2U6ICIgKyBk
YXRhYmFzZVRyZWVFbGVtZW50LnRpdGxlVGV4dCk7Ci0gICAgICAgIGlmICghZGF0YWJhc2VUcmVl
RWxlbWVudC5jaGlsZHJlbi5sZW5ndGgpIHsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRk
UmVzdWx0KCIgICAgICAgIChubyBvYmplY3Qgc3RvcmVzKSIpOwotICAgICAgICAgICAgY29udGlu
dWU7Ci0gICAgICAgIH0KLSAgICAgICAgZm9yICh2YXIgaiA9IDA7IGogPCBkYXRhYmFzZVRyZWVF
bGVtZW50LmNoaWxkcmVuLmxlbmd0aDsgKytqKSB7Ci0gICAgICAgICAgICB2YXIgb2JqZWN0U3Rv
cmVUcmVlRWxlbWVudCA9IGRhdGFiYXNlVHJlZUVsZW1lbnQuY2hpbGRyZW5bal07Ci0gICAgICAg
ICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiICAgICAgICBPYmplY3Qgc3RvcmU6ICIgKyBv
YmplY3RTdG9yZVRyZWVFbGVtZW50LnRpdGxlVGV4dCk7Ci0gICAgICAgICAgICBpZiAoIW9iamVj
dFN0b3JlVHJlZUVsZW1lbnQuY2hpbGRyZW4ubGVuZ3RoKSB7Ci0gICAgICAgICAgICAgICAgSW5z
cGVjdG9yVGVzdC5hZGRSZXN1bHQoIiAgICAgICAgICAgIChubyBpbmRleGVzKSIpOwotICAgICAg
ICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgZm9yICh2YXIg
aiA9IDA7IGogPCBvYmplY3RTdG9yZVRyZWVFbGVtZW50LmNoaWxkcmVuLmxlbmd0aDsgKytqKSB7
Ci0gICAgICAgICAgICAgICAgdmFyIGluZGV4VHJlZUVsZW1lbnQgPSBvYmplY3RTdG9yZVRyZWVF
bGVtZW50LmNoaWxkcmVuW2pdOwotICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVz
dWx0KCIgICAgICAgICAgICBJbmRleDogIiArIGluZGV4VHJlZUVsZW1lbnQudGl0bGVUZXh0KTsK
LSAgICAgICAgICAgIH0KLSAgICAgICAgfQotICAgIH0KLX0KLQotdmFyIGxhc3RDYWxsYmFja0lk
ID0gMDsKLXZhciBjYWxsYmFja3MgPSB7fTsKLXZhciBjYWxsYmFja0lkUHJlZml4ID0gIkluc3Bl
Y3RvclRlc3QuSW5kZXhlZERCX2NhbGxiYWNrIjsKLUluc3BlY3RvclRlc3QuZXZhbHVhdGVXaXRo
Q2FsbGJhY2sgPSBmdW5jdGlvbihmcmFtZUlkLCBtZXRob2ROYW1lLCBwYXJhbWV0ZXJzLCBjYWxs
YmFjaykKLXsKLSAgICBJbnNwZWN0b3JUZXN0Ll9pbnN0YWxsSW5kZXhlZERCU25pZmZlcigpOwot
ICAgIHZhciBjYWxsYmFja0lkID0gKytsYXN0Q2FsbGJhY2tJZDsKLSAgICBjYWxsYmFja3NbY2Fs
bGJhY2tJZF0gPSBjYWxsYmFjazsKLSAgICB2YXIgcGFyYW1ldGVyc1N0cmluZyA9ICJkaXNwYXRj
aENhbGxiYWNrLmJpbmQodGhpcywgXCIiICsgY2FsbGJhY2tJZFByZWZpeCArIGNhbGxiYWNrSWQg
KyAiXCIpIjsKLSAgICBmb3IgKHZhciBpID0gMDsgaSA8IHBhcmFtZXRlcnMubGVuZ3RoOyArK2kp
Ci0gICAgICAgIHBhcmFtZXRlcnNTdHJpbmcgKz0gIiwgIiArIEpTT04uc3RyaW5naWZ5KHBhcmFt
ZXRlcnNbaV0pOwotCi0gICAgdmFyIHJlcXVlc3RTdHJpbmcgPSBtZXRob2ROYW1lICsgIigiICsg
cGFyYW1ldGVyc1N0cmluZyArICIpIjsKLSAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdl
KHJlcXVlc3RTdHJpbmcpOwotfTsKLQotSW5zcGVjdG9yVGVzdC5faW5zdGFsbEluZGV4ZWREQlNu
aWZmZXIgPSBmdW5jdGlvbigpCi17Ci0gICAgSW5zcGVjdG9yVGVzdC5hZGRDb25zb2xlU25pZmZl
cihjb25zb2xlTWVzc2FnZU92ZXJyaWRlLCBmYWxzZSk7Ci0KLSAgICBmdW5jdGlvbiBjb25zb2xl
TWVzc2FnZU92ZXJyaWRlKG1zZykKLSAgICB7Ci0gICAgICAgIHZhciB0ZXh0ID0gbXNnLl9tZXNz
YWdlVGV4dDsKLSAgICAgICAgaWYgKCF0ZXh0LnN0YXJ0c1dpdGgoY2FsbGJhY2tJZFByZWZpeCkp
IHsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkQ29uc29sZVNuaWZmZXIoY29uc29sZU1l
c3NhZ2VPdmVycmlkZSwgZmFsc2UpOwotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB9Ci0g
ICAgICAgIHZhciBjYWxsYmFja0lkID0gdGV4dC5zdWJzdHJpbmcoY2FsbGJhY2tJZFByZWZpeC5s
ZW5ndGgpOwotICAgICAgICBjYWxsYmFja3NbY2FsbGJhY2tJZF0uY2FsbCgpOwotICAgICAgICBk
ZWxldGUgY2FsbGJhY2tzW2NhbGxiYWNrSWRdOwotICAgIH0KLX07Ci0KLUluc3BlY3RvclRlc3Qu
Y3JlYXRlRGF0YWJhc2UgPSBmdW5jdGlvbihmcmFtZUlkLCBkYXRhYmFzZU5hbWUsIGNhbGxiYWNr
KQotewotICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVXaXRoQ2FsbGJhY2soZnJhbWVJZCwgImNy
ZWF0ZURhdGFiYXNlIiwgW2RhdGFiYXNlTmFtZV0sIGNhbGxiYWNrKQotfTsKLQotSW5zcGVjdG9y
VGVzdC5kZWxldGVEYXRhYmFzZSA9IGZ1bmN0aW9uKGZyYW1lSWQsIGRhdGFiYXNlTmFtZSwgY2Fs
bGJhY2spCi17Ci0gICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZVdpdGhDYWxsYmFjayhmcmFtZUlk
LCAiZGVsZXRlRGF0YWJhc2UiLCBbZGF0YWJhc2VOYW1lXSwgY2FsbGJhY2spCi19OwotCi1JbnNw
ZWN0b3JUZXN0LmNyZWF0ZU9iamVjdFN0b3JlID0gZnVuY3Rpb24oZnJhbWVJZCwgZGF0YWJhc2VO
YW1lLCBvYmplY3RTdG9yZU5hbWUsIGtleVBhdGgsIGF1dG9JbmNyZW1lbnQsIGNhbGxiYWNrKQot
ewotICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVXaXRoQ2FsbGJhY2soZnJhbWVJZCwgImNyZWF0
ZU9iamVjdFN0b3JlIiwgW2RhdGFiYXNlTmFtZSwgb2JqZWN0U3RvcmVOYW1lLCBrZXlQYXRoLCBh
dXRvSW5jcmVtZW50XSwgY2FsbGJhY2spCi19OwotCi1JbnNwZWN0b3JUZXN0LmRlbGV0ZU9iamVj
dFN0b3JlID0gZnVuY3Rpb24oZnJhbWVJZCwgZGF0YWJhc2VOYW1lLCBvYmplY3RTdG9yZU5hbWUs
IGNhbGxiYWNrKQotewotICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVXaXRoQ2FsbGJhY2soZnJh
bWVJZCwgImRlbGV0ZU9iamVjdFN0b3JlIiwgW2RhdGFiYXNlTmFtZSwgb2JqZWN0U3RvcmVOYW1l
XSwgY2FsbGJhY2spCi19OwotCi1JbnNwZWN0b3JUZXN0LmNyZWF0ZU9iamVjdFN0b3JlSW5kZXgg
PSBmdW5jdGlvbihmcmFtZUlkLCBkYXRhYmFzZU5hbWUsIG9iamVjdFN0b3JlTmFtZSwgb2JqZWN0
U3RvcmVJbmRleE5hbWUsIGtleVBhdGgsIHVuaXF1ZSwgbXVsdGlFbnRyeSwgY2FsbGJhY2spCi17
Ci0gICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZVdpdGhDYWxsYmFjayhmcmFtZUlkLCAiY3JlYXRl
T2JqZWN0U3RvcmVJbmRleCIsIFtkYXRhYmFzZU5hbWUsIG9iamVjdFN0b3JlTmFtZSwgb2JqZWN0
U3RvcmVJbmRleE5hbWUsIGtleVBhdGgsIHVuaXF1ZSwgbXVsdGlFbnRyeV0sIGNhbGxiYWNrKQot
fTsKLQotSW5zcGVjdG9yVGVzdC5kZWxldGVPYmplY3RTdG9yZUluZGV4ID0gZnVuY3Rpb24oZnJh
bWVJZCwgZGF0YWJhc2VOYW1lLCBvYmplY3RTdG9yZU5hbWUsIG9iamVjdFN0b3JlSW5kZXhOYW1l
LCBjYWxsYmFjaykKLXsKLSAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlV2l0aENhbGxiYWNrKGZy
YW1lSWQsICJkZWxldGVPYmplY3RTdG9yZUluZGV4IiwgW2RhdGFiYXNlTmFtZSwgb2JqZWN0U3Rv
cmVOYW1lLCBvYmplY3RTdG9yZUluZGV4TmFtZV0sIGNhbGxiYWNrKQotfTsKLQotSW5zcGVjdG9y
VGVzdC5hZGRJREJWYWx1ZSA9IGZ1bmN0aW9uKGZyYW1lSWQsIGRhdGFiYXNlTmFtZSwgb2JqZWN0
U3RvcmVOYW1lLCB2YWx1ZSwga2V5LCBjYWxsYmFjaykKLXsKLSAgICBJbnNwZWN0b3JUZXN0LmV2
YWx1YXRlV2l0aENhbGxiYWNrKGZyYW1lSWQsICJhZGRJREJWYWx1ZSIsIFtkYXRhYmFzZU5hbWUs
IG9iamVjdFN0b3JlTmFtZSwgdmFsdWUsIGtleV0sIGNhbGxiYWNrKQotfTsKLQotfTsKLQotdmFy
IGluZGV4ZWREQiA9IHdpbmRvdy5pbmRleGVkZGIgfHwgd2luZG93LndlYmtpdEluZGV4ZWREQjsK
LXdpbmRvdy5JREJUcmFuc2FjdGlvbiA9IHdpbmRvdy5JREJUcmFuc2FjdGlvbiB8fCB3aW5kb3cu
d2Via2l0SURCVHJhbnNhY3Rpb247Ci0KLWZ1bmN0aW9uIGRpc3BhdGNoQ2FsbGJhY2soY2FsbGJh
Y2tJZCkKLXsKLSAgICBjb25zb2xlLmxvZyhjYWxsYmFja0lkKTsKLX0KLQotZnVuY3Rpb24gb25J
bmRleGVkREJFcnJvcihlKQotewotICAgIGNvbnNvbGUuZXJyb3IoIkluZGV4ZWREQiBlcnJvcjog
IiArIGUpOwotfQotCi1mdW5jdGlvbiBvbkluZGV4ZWREQkJsb2NrZWQoZSkKLXsKLSAgICBjb25z
b2xlLmVycm9yKCJJbmRleGVkREIgYmxvY2tlZDogIiArIGUpOwotfQotCi1mdW5jdGlvbiBkb1dp
dGhEYXRhYmFzZShkYXRhYmFzZU5hbWUsIGNhbGxiYWNrKQotewotICAgIGZ1bmN0aW9uIGlubmVy
Q2FsbGJhY2soKQotICAgIHsKLSAgICAgICAgdmFyIGRiID0gcmVxdWVzdC5yZXN1bHQ7Ci0gICAg
ICAgIGNhbGxiYWNrKGRiKTsKLSAgICB9Ci0KLSAgICB2YXIgcmVxdWVzdCA9IGluZGV4ZWREQi5v
cGVuKGRhdGFiYXNlTmFtZSk7Ci0gICAgcmVxdWVzdC5vbmJsb2NrZWQgPSBvbkluZGV4ZWREQkJs
b2NrZWQ7Ci0gICAgcmVxdWVzdC5vbmVycm9yID0gb25JbmRleGVkREJFcnJvcjsKLSAgICByZXF1
ZXN0Lm9uc3VjY2VzcyA9IGlubmVyQ2FsbGJhY2s7Ci19Ci0KLWZ1bmN0aW9uIGRvV2l0aFZlcnNp
b25UcmFuc2FjdGlvbihkYXRhYmFzZU5hbWUsIGNhbGxiYWNrLCBjb21taXRDYWxsYmFjaykKLXsK
LSAgICBkb1dpdGhEYXRhYmFzZShkYXRhYmFzZU5hbWUsIHN0ZXAyKTsKLQotICAgIGZ1bmN0aW9u
IHN0ZXAyKGRiKQotICAgIHsKLSAgICAgICAgdmFyIHZlcnNpb24gPSBkYi52ZXJzaW9uOwotICAg
ICAgICBkYi5jbG9zZSgpOwotICAgICAgICByZXF1ZXN0ID0gaW5kZXhlZERCLm9wZW4oZGF0YWJh
c2VOYW1lLCB2ZXJzaW9uICsgMSk7Ci0gICAgICAgIHJlcXVlc3Qub25lcnJvciA9IG9uSW5kZXhl
ZERCRXJyb3I7Ci0gICAgICAgIHJlcXVlc3Qub251cGdyYWRlbmVlZGVkID0gb25VcGdyYWRlTmVl
ZGVkOwotICAgICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IG9uT3BlbmVkOwotCi0gICAgICAgIGZ1
bmN0aW9uIG9uVXBncmFkZU5lZWRlZChlKQotICAgICAgICB7Ci0gICAgICAgICAgICB2YXIgZGIg
PSBlLnRhcmdldC5yZXN1bHQ7Ci0gICAgICAgICAgICB2YXIgdHJhbnMgPSBlLnRhcmdldC50cmFu
c2FjdGlvbjsKLSAgICAgICAgICAgIGNhbGxiYWNrKGRiLCB0cmFucyk7Ci0gICAgICAgIH0KLQot
ICAgICAgICBmdW5jdGlvbiBvbk9wZW5lZChlKQotICAgICAgICB7Ci0gICAgICAgICAgICB2YXIg
ZGIgPSBlLnRhcmdldC5yZXN1bHQ7Ci0gICAgICAgICAgICBkYi5jbG9zZSgpOwotICAgICAgICAg
ICAgY29tbWl0Q2FsbGJhY2soKTsKLSAgICAgICAgfQotICAgIH0KLX0KLQotZnVuY3Rpb24gZG9X
aXRoUmVhZFdyaXRlVHJhbnNhY3Rpb24oZGF0YWJhc2VOYW1lLCBvYmplY3RTdG9yZU5hbWUsIGNh
bGxiYWNrLCBjb21taXRDYWxsYmFjaykKLXsKLSAgICBkb1dpdGhEYXRhYmFzZShkYXRhYmFzZU5h
bWUsIHN0ZXAyKTsKLQotICAgIGZ1bmN0aW9uIHN0ZXAyKGRiKQotICAgIHsKLSAgICAgICAgdmFy
IHRyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24oW29iamVjdFN0b3JlTmFtZV0sICdyZWFkd3Jp
dGUnKTsKLSAgICAgICAgdmFyIG9iamVjdFN0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUo
b2JqZWN0U3RvcmVOYW1lKTsKLSAgICAgICAgY2FsbGJhY2sob2JqZWN0U3RvcmUsIGlubmVyQ29t
bWl0Q2FsbGJhY2spOwotCi0gICAgICAgIGZ1bmN0aW9uIGlubmVyQ29tbWl0Q2FsbGJhY2soKQot
ICAgICAgICB7Ci0gICAgICAgICAgICBkYi5jbG9zZSgpOwotICAgICAgICAgICAgY29tbWl0Q2Fs
bGJhY2soKTsKLSAgICAgICAgfQotICAgIH0KLX0KLQotZnVuY3Rpb24gY3JlYXRlRGF0YWJhc2Uo
Y2FsbGJhY2ssIGRhdGFiYXNlTmFtZSkKLXsKLSAgICB2YXIgcmVxdWVzdCA9IGluZGV4ZWREQi5v
cGVuKGRhdGFiYXNlTmFtZSk7Ci0gICAgcmVxdWVzdC5vbmVycm9yID0gb25JbmRleGVkREJFcnJv
cjsKLSAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IGNsb3NlRGF0YWJhc2U7Ci0KLSAgICBmdW5jdGlv
biBjbG9zZURhdGFiYXNlKCkKLSAgICB7Ci0gICAgICAgIHJlcXVlc3QucmVzdWx0LmNsb3NlKCk7
Ci0gICAgICAgIGNhbGxiYWNrKCk7Ci0gICAgfQotfQotCi1mdW5jdGlvbiBkZWxldGVEYXRhYmFz
ZShjYWxsYmFjaywgZGF0YWJhc2VOYW1lKQotewotICAgIHZhciByZXF1ZXN0ID0gaW5kZXhlZERC
LmRlbGV0ZURhdGFiYXNlKGRhdGFiYXNlTmFtZSk7Ci0gICAgcmVxdWVzdC5vbmVycm9yID0gb25J
bmRleGVkREJFcnJvcjsKLSAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IGNhbGxiYWNrOwotfQotCi1m
dW5jdGlvbiBjcmVhdGVPYmplY3RTdG9yZShjYWxsYmFjaywgZGF0YWJhc2VOYW1lLCBvYmplY3RT
dG9yZU5hbWUsIGtleVBhdGgsIGF1dG9JbmNyZW1lbnQpCi17Ci0gICAgZG9XaXRoVmVyc2lvblRy
YW5zYWN0aW9uKGRhdGFiYXNlTmFtZSwgd2l0aFRyYW5zYWN0aW9uQ2FsbGJhY2ssIGNhbGxiYWNr
KTsKLQotICAgIGZ1bmN0aW9uIHdpdGhUcmFuc2FjdGlvbkNhbGxiYWNrKGRiLCB0cmFuc2FjdGlv
bikKLSAgICB7Ci0gICAgICAgIHZhciBzdG9yZSA9IGRiLmNyZWF0ZU9iamVjdFN0b3JlKG9iamVj
dFN0b3JlTmFtZSwgeyBrZXlQYXRoOiBrZXlQYXRoLCBhdXRvSW5jcmVtZW50OiBhdXRvSW5jcmVt
ZW50IH0pOwotICAgIH0KLX0KLQotZnVuY3Rpb24gZGVsZXRlT2JqZWN0U3RvcmUoY2FsbGJhY2ss
IGRhdGFiYXNlTmFtZSwgb2JqZWN0U3RvcmVOYW1lKQotewotICAgIGRvV2l0aFZlcnNpb25UcmFu
c2FjdGlvbihkYXRhYmFzZU5hbWUsIHdpdGhUcmFuc2FjdGlvbkNhbGxiYWNrLCBjYWxsYmFjayk7
Ci0KLSAgICBmdW5jdGlvbiB3aXRoVHJhbnNhY3Rpb25DYWxsYmFjayhkYiwgdHJhbnNhY3Rpb24p
Ci0gICAgewotICAgICAgICB2YXIgc3RvcmUgPSBkYi5kZWxldGVPYmplY3RTdG9yZShvYmplY3RT
dG9yZU5hbWUpOwotICAgIH0KLX0KLQotZnVuY3Rpb24gY3JlYXRlT2JqZWN0U3RvcmVJbmRleChj
YWxsYmFjaywgZGF0YWJhc2VOYW1lLCBvYmplY3RTdG9yZU5hbWUsIG9iamVjdFN0b3JlSW5kZXhO
YW1lLCBrZXlQYXRoLCB1bmlxdWUsIG11bHRpRW50cnkpCi17Ci0gICAgZG9XaXRoVmVyc2lvblRy
YW5zYWN0aW9uKGRhdGFiYXNlTmFtZSwgd2l0aFRyYW5zYWN0aW9uQ2FsbGJhY2ssIGNhbGxiYWNr
KTsKLQotICAgIGZ1bmN0aW9uIHdpdGhUcmFuc2FjdGlvbkNhbGxiYWNrKGRiLCB0cmFuc2FjdGlv
bikKLSAgICB7Ci0gICAgICAgIHZhciBvYmplY3RTdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0
b3JlKG9iamVjdFN0b3JlTmFtZSk7Ci0gICAgICAgIG9iamVjdFN0b3JlLmNyZWF0ZUluZGV4KG9i
amVjdFN0b3JlSW5kZXhOYW1lLCBrZXlQYXRoLCB7IHVuaXF1ZTogdW5pcXVlLCBtdWx0aUVudHJ5
OiBtdWx0aUVudHJ5IH0pOwotICAgIH0KLX0KLQotZnVuY3Rpb24gZGVsZXRlT2JqZWN0U3RvcmVJ
bmRleChjYWxsYmFjaywgZGF0YWJhc2VOYW1lLCBvYmplY3RTdG9yZU5hbWUsIG9iamVjdFN0b3Jl
SW5kZXhOYW1lKQotewotICAgIGRvV2l0aFZlcnNpb25UcmFuc2FjdGlvbihkYXRhYmFzZU5hbWUs
IHdpdGhUcmFuc2FjdGlvbkNhbGxiYWNrLCBjYWxsYmFjayk7Ci0KLSAgICBmdW5jdGlvbiB3aXRo
VHJhbnNhY3Rpb25DYWxsYmFjayhkYiwgdHJhbnNhY3Rpb24pCi0gICAgewotICAgICAgICB2YXIg
b2JqZWN0U3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZShvYmplY3RTdG9yZU5hbWUpOwot
ICAgICAgICBvYmplY3RTdG9yZS5kZWxldGVJbmRleChvYmplY3RTdG9yZUluZGV4TmFtZSk7Ci0g
ICAgfQotfQotCi1mdW5jdGlvbiBhZGRJREJWYWx1ZShjYWxsYmFjaywgZGF0YWJhc2VOYW1lLCBv
YmplY3RTdG9yZU5hbWUsIHZhbHVlLCBrZXkpCi17Ci0gICAgZG9XaXRoUmVhZFdyaXRlVHJhbnNh
Y3Rpb24oZGF0YWJhc2VOYW1lLCBvYmplY3RTdG9yZU5hbWUsIHdpdGhUcmFuc2FjdGlvbkNhbGxi
YWNrLCBjYWxsYmFjaykKLQotICAgIGZ1bmN0aW9uIHdpdGhUcmFuc2FjdGlvbkNhbGxiYWNrKG9i
amVjdFN0b3JlLCBjb21taXRDYWxsYmFjaykKLSAgICB7Ci0gICAgICAgIHZhciByZXF1ZXN0Owot
ICAgICAgICBpZiAoa2V5KQotICAgICAgICAgICAgcmVxdWVzdCA9IG9iamVjdFN0b3JlLmFkZCh2
YWx1ZSwga2V5KTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgcmVxdWVzdCA9IG9iamVjdFN0
b3JlLmFkZCh2YWx1ZSk7Ci0gICAgICAgIHJlcXVlc3Qub25lcnJvciA9IG9uSW5kZXhlZERCRXJy
b3I7Ci0gICAgICAgIHJlcXVlc3Qub25zdWNjZXNzID0gY29tbWl0Q2FsbGJhY2s7Ci0gICAgfQot
fQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbmRleGVk
ZGIvcmVzb3VyY2VzLXBhbmVsLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
aW5zcGVjdG9yL2luZGV4ZWRkYi9yZXNvdXJjZXMtcGFuZWwtZXhwZWN0ZWQudHh0CmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkM2NhYzFjYTUzMGQxMWM5ZTFkMjIyMGNjM2NmZGI4NDYz
ODYzOWRiLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luZGV4ZWRkYi9yZXNvdXJjZXMtcGFuZWwt
ZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMzYgKzAsMCBAQAotQ09OU09MRSBNRVNT
QUdFOiBsaW5lIDEwODogSW5zcGVjdG9yVGVzdC5JbmRleGVkREJfY2FsbGJhY2sxCi1DT05TT0xF
IE1FU1NBR0U6IGxpbmUgMTA4OiBJbnNwZWN0b3JUZXN0LkluZGV4ZWREQl9jYWxsYmFjazIKLUNP
TlNPTEUgTUVTU0FHRTogbGluZSAxMDg6IEluc3BlY3RvclRlc3QuSW5kZXhlZERCX2NhbGxiYWNr
MwotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDEwODogSW5zcGVjdG9yVGVzdC5JbmRleGVkREJfY2Fs
bGJhY2s0Ci1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTA4OiBJbnNwZWN0b3JUZXN0LkluZGV4ZWRE
Ql9jYWxsYmFjazUKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxMDg6IEluc3BlY3RvclRlc3QuSW5k
ZXhlZERCX2NhbGxiYWNrNgotVGVzdHMgSW5kZXhlZERCIHRyZWUgZWxlbWVudCBvbiByZXNvdXJj
ZXMgcGFuZWwuCi0KLUV4cGFuZGVkIEluZGV4ZWREQiB0cmVlIGVsZW1lbnQuCi1EdW1waW5nIElu
ZGV4ZWREQiB0cmVlOgotICAgIChlbXB0eSkKLUNyZWF0ZWQgZGF0YWJhc2UuCi1EYXRhYmFzZSBh
ZGRlZC4KLURhdGFiYXNlIGxvYWRlZC4KLUR1bXBpbmcgSW5kZXhlZERCIHRyZWU6Ci0gICAgZGF0
YWJhc2U6IHRlc3REYXRhYmFzZSAtIGh0dHA6Ly8xMjcuMC4wLjE6ODAwMAotICAgICAgICBPYmpl
Y3Qgc3RvcmU6IHRlc3RPYmplY3RTdG9yZQotICAgICAgICAgICAgSW5kZXg6IHRlc3RJbmRleE5h
bWUKLU5hdmlnYXRlZCB0byBhbm90aGVyIHNlY3VyaXR5IG9yaWdpbi4KLURhdGFiYXNlIHJlbW92
ZWQuCi1QYWdlIHJlbG9hZGVkLgotRHVtcGluZyBJbmRleGVkREIgdHJlZToKLSAgICAoZW1wdHkp
Ci1OYXZpZ2F0ZWQgYmFjay4KLURhdGFiYXNlIGFkZGVkLgotRGF0YWJhc2UgbG9hZGVkLgotUGFn
ZSByZWxvYWRlZC4KLUR1bXBpbmcgSW5kZXhlZERCIHRyZWU6Ci0gICAgZGF0YWJhc2U6IHRlc3RE
YXRhYmFzZSAtIGh0dHA6Ly8xMjcuMC4wLjE6ODAwMAotICAgICAgICBPYmplY3Qgc3RvcmU6IHRl
c3RPYmplY3RTdG9yZQotICAgICAgICAgICAgSW5kZXg6IHRlc3RJbmRleE5hbWUKLURlbGV0ZWQg
ZGF0YWJhc2UuCi1EYXRhYmFzZSByZW1vdmVkLgotRHVtcGluZyBJbmRleGVkREIgdHJlZToKLSAg
ICAoZW1wdHkpCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9y
L2luZGV4ZWRkYi9yZXNvdXJjZXMtcGFuZWwuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
aW5zcGVjdG9yL2luZGV4ZWRkYi9yZXNvdXJjZXMtcGFuZWwuaHRtbApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggYTU2NzE1MWViN2NlMWJiYzNjYjdlODU5Yjc2YTdjMGUwYmQyM2FmYy4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbmRleGVkZGIvcmVzb3VyY2VzLXBhbmVsLmh0bWwKKysr
IC9kZXYvbnVsbApAQCAtMSwxMjUgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3Jj
PSIuLi9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iaW5kZXhlZGRi
LXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLWZ1bmN0aW9uIHRlc3QoKQotewotICAgIHZh
ciBtYWluRnJhbWVJZCA9IFdlYkluc3BlY3Rvci5yZXNvdXJjZVRyZWVNb2RlbC5tYWluRnJhbWUu
aWQ7Ci0gICAgdmFyIGluZGV4ZWREQk1vZGVsOwotICAgIHZhciB3aXRob3V0SW5kZXhlZERCVVJM
ID0gImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9pbnNwZWN0b3IvaW5kZXhlZGRiL3Jlc291cmNlcy93
aXRob3V0LWluZGV4ZWQtZGIuaHRtbCI7Ci0gICAgdmFyIG9yaWdpbmFsVVJMID0gImh0dHA6Ly8x
MjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvaW5kZXhlZGRiL3Jlc291cmNlcy1wYW5lbC5odG1sIjsK
LSAgICB2YXIgZGF0YWJhc2VOYW1lID0gInRlc3REYXRhYmFzZSI7Ci0gICAgdmFyIG9iamVjdFN0
b3JlTmFtZSA9ICJ0ZXN0T2JqZWN0U3RvcmUiOwotICAgIHZhciBpbmRleE5hbWUgPSAidGVzdElu
ZGV4TmFtZSI7Ci0KLSAgICBmdW5jdGlvbiBjcmVhdGVEYXRhYmFzZShjYWxsYmFjaykKLSAgICB7
Ci0gICAgICAgIEluc3BlY3RvclRlc3QuY3JlYXRlRGF0YWJhc2UobWFpbkZyYW1lSWQsIGRhdGFi
YXNlTmFtZSwgc3RlcDIpOwotCi0gICAgICAgIGZ1bmN0aW9uIHN0ZXAyKCkKLSAgICAgICAgewot
ICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5jcmVhdGVPYmplY3RTdG9yZShtYWluRnJhbWVJZCwg
ZGF0YWJhc2VOYW1lLCBvYmplY3RTdG9yZU5hbWUsICIiLCBmYWxzZSwgc3RlcDMpOwotICAgICAg
ICB9Ci0KLSAgICAgICAgZnVuY3Rpb24gc3RlcDMoKQotICAgICAgICB7Ci0gICAgICAgICAgICBJ
bnNwZWN0b3JUZXN0LmNyZWF0ZU9iamVjdFN0b3JlSW5kZXgobWFpbkZyYW1lSWQsIGRhdGFiYXNl
TmFtZSwgb2JqZWN0U3RvcmVOYW1lLCBpbmRleE5hbWUsICIiLCBmYWxzZSwgZmFsc2UsIGNhbGxi
YWNrKTsKLSAgICAgICAgfQotICAgIH0KLQotICAgIGZ1bmN0aW9uIGRlbGV0ZURhdGFiYXNlKGNh
bGxiYWNrKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5kZWxldGVPYmplY3RTdG9yZUlu
ZGV4KG1haW5GcmFtZUlkLCBkYXRhYmFzZU5hbWUsIG9iamVjdFN0b3JlTmFtZSwgaW5kZXhOYW1l
LCBzdGVwMik7Ci0KLSAgICAgICAgZnVuY3Rpb24gc3RlcDIoKQotICAgICAgICB7Ci0gICAgICAg
ICAgICBJbnNwZWN0b3JUZXN0LmRlbGV0ZU9iamVjdFN0b3JlKG1haW5GcmFtZUlkLCBkYXRhYmFz
ZU5hbWUsIG9iamVjdFN0b3JlTmFtZSwgc3RlcDMpOwotICAgICAgICB9Ci0KLSAgICAgICAgZnVu
Y3Rpb24gc3RlcDMoKQotICAgICAgICB7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmRlbGV0
ZURhdGFiYXNlKG1haW5GcmFtZUlkLCBkYXRhYmFzZU5hbWUsIGNhbGxiYWNrKTsKLSAgICAgICAg
fQotICAgIH0KLQotICAgIFdlYkluc3BlY3Rvci5zaG93UGFuZWwoInJlc291cmNlcyIpOwotCi0g
ICAgSW5zcGVjdG9yVGVzdC5hZGRTbmlmZmVyKFdlYkluc3BlY3Rvci5JbmRleGVkREJUcmVlRWxl
bWVudC5wcm90b3R5cGUsICJfaW5kZXhlZERCQWRkZWQiLCBpbmRleGVkREJBZGRlZCwgdHJ1ZSk7
Ci0gICAgZnVuY3Rpb24gaW5kZXhlZERCQWRkZWQoKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9y
VGVzdC5hZGRSZXN1bHQoIkRhdGFiYXNlIGFkZGVkLiIpOwotICAgIH0KLQotICAgIEluc3BlY3Rv
clRlc3QuYWRkU25pZmZlcihXZWJJbnNwZWN0b3IuSW5kZXhlZERCVHJlZUVsZW1lbnQucHJvdG90
eXBlLCAiX2luZGV4ZWREQlJlbW92ZWQiLCBpbmRleGVkREJSZW1vdmVkLCB0cnVlKTsKLSAgICBm
dW5jdGlvbiBpbmRleGVkREJSZW1vdmVkKCkKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3Qu
YWRkUmVzdWx0KCJEYXRhYmFzZSByZW1vdmVkLiIpOwotICAgIH0KLQotICAgIEluc3BlY3RvclRl
c3QuYWRkU25pZmZlcihXZWJJbnNwZWN0b3IuSW5kZXhlZERCVHJlZUVsZW1lbnQucHJvdG90eXBl
LCAiX2luZGV4ZWREQkxvYWRlZCIsIGluZGV4ZWREQkxvYWRlZCwgdHJ1ZSk7Ci0gICAgZnVuY3Rp
b24gaW5kZXhlZERCTG9hZGVkKCkKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVz
dWx0KCJEYXRhYmFzZSBsb2FkZWQuIik7Ci0gICAgfQotCi0gICAgSW5zcGVjdG9yVGVzdC5hZGRS
ZXN1bHQoIkV4cGFuZGVkIEluZGV4ZWREQiB0cmVlIGVsZW1lbnQuIik7Ci0gICAgV2ViSW5zcGVj
dG9yLnBhbmVscy5yZXNvdXJjZXMuaW5kZXhlZERCTGlzdFRyZWVFbGVtZW50LmV4cGFuZCgpOwot
Ci0gICAgSW5zcGVjdG9yVGVzdC5hZGRTbmlmZmVyKFdlYkluc3BlY3Rvci5JbmRleGVkREJNb2Rl
bC5wcm90b3R5cGUsICJfdXBkYXRlT3JpZ2luRGF0YWJhc2VOYW1lcyIsIGluZGV4ZWREQlRyZWVF
bGVtZW50RXhwYW5kZWQsIGZhbHNlKTsKLSAgICBmdW5jdGlvbiBpbmRleGVkREJUcmVlRWxlbWVu
dEV4cGFuZGVkKCkKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuZHVtcEluZGV4ZWREQlRy
ZWUoKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIkNyZWF0ZWQgZGF0YWJhc2Uu
Iik7Ci0gICAgICAgIGNyZWF0ZURhdGFiYXNlKGRhdGFiYXNlQ3JlYXRlZCk7Ci0gICAgfQotCi0g
ICAgZnVuY3Rpb24gZGF0YWJhc2VDcmVhdGVkKCkKLSAgICB7Ci0gICAgICAgIGluZGV4ZWREQk1v
ZGVsID0gV2ViSW5zcGVjdG9yLnBhbmVscy5yZXNvdXJjZXMuaW5kZXhlZERCTGlzdFRyZWVFbGVt
ZW50Ll9pbmRleGVkREJNb2RlbDsKLSAgICAgICAgaW5kZXhlZERCTW9kZWwuYWRkRXZlbnRMaXN0
ZW5lcihXZWJJbnNwZWN0b3IuSW5kZXhlZERCTW9kZWwuRXZlbnRUeXBlcy5EYXRhYmFzZUxvYWRl
ZCwgZGF0YWJhc2VMb2FkZWQpOwotICAgICAgICBXZWJJbnNwZWN0b3IucGFuZWxzLnJlc291cmNl
cy5pbmRleGVkREJMaXN0VHJlZUVsZW1lbnQucmVmcmVzaEluZGV4ZWREQigpOwotICAgIH0KLQot
ICAgIGZ1bmN0aW9uIGRhdGFiYXNlTG9hZGVkKCkKLSAgICB7Ci0gICAgICAgIGluZGV4ZWREQk1v
ZGVsLnJlbW92ZUV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLkluZGV4ZWREQk1vZGVsLkV2ZW50
VHlwZXMuRGF0YWJhc2VMb2FkZWQsIGRhdGFiYXNlTG9hZGVkKTsKLSAgICAgICAgSW5zcGVjdG9y
VGVzdC5kdW1wSW5kZXhlZERCVHJlZSgpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3Vs
dCgiTmF2aWdhdGVkIHRvIGFub3RoZXIgc2VjdXJpdHkgb3JpZ2luLiIpOwotICAgICAgICBJbnNw
ZWN0b3JUZXN0Lm5hdmlnYXRlKHdpdGhvdXRJbmRleGVkREJVUkwsIG5hdmlnYXRlZEF3YXkpOwot
ICAgIH0KLQotICAgIGZ1bmN0aW9uIG5hdmlnYXRlZEF3YXkoKQotICAgIHsKLSAgICAgICAgSW5z
cGVjdG9yVGVzdC5kdW1wSW5kZXhlZERCVHJlZSgpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmFk
ZFJlc3VsdCgiTmF2aWdhdGVkIGJhY2suIik7Ci0gICAgICAgIEluc3BlY3RvclRlc3QubmF2aWdh
dGUob3JpZ2luYWxVUkwsIG5hdmlnYXRlZEJhY2spOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIG5h
dmlnYXRlZEJhY2soKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wSW5kZXhlZERC
VHJlZSgpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiRGVsZXRlZCBkYXRhYmFz
ZS4iKTsKLSAgICAgICAgZGVsZXRlRGF0YWJhc2UoZGF0YWJhc2VEZWxldGVkKTsKLSAgICB9Ci0K
LSAgICBmdW5jdGlvbiBkYXRhYmFzZURlbGV0ZWQoKQotICAgIHsKLSAgICAgICAgV2ViSW5zcGVj
dG9yLnBhbmVscy5yZXNvdXJjZXMuaW5kZXhlZERCTGlzdFRyZWVFbGVtZW50LnJlZnJlc2hJbmRl
eGVkREIoKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRTbmlmZmVyKFdlYkluc3BlY3Rvci5J
bmRleGVkREJNb2RlbC5wcm90b3R5cGUsICJfdXBkYXRlT3JpZ2luRGF0YWJhc2VOYW1lcyIsIGRh
dGFiYXNlTmFtZXNMb2FkZWRBZnRlckRlbGV0aW5nLCBmYWxzZSk7Ci0gICAgfQotCi0gICAgZnVu
Y3Rpb24gZGF0YWJhc2VOYW1lc0xvYWRlZEFmdGVyRGVsZXRpbmcoKQotICAgIHsKLSAgICAgICAg
SW5zcGVjdG9yVGVzdC5kdW1wSW5kZXhlZERCVHJlZSgpOwotICAgICAgICBXZWJJbnNwZWN0b3Iu
cGFuZWxzLnJlc291cmNlcy5pbmRleGVkREJMaXN0VHJlZUVsZW1lbnQuY29sbGFwc2UoKTsKLSAg
ICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKLSAgICB9Ci19Ci0KLTwvc2NyaXB0
PgotPC9oZWFkPgotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotPHA+VGVzdHMgSW5kZXhlZERC
IHRyZWUgZWxlbWVudCBvbiByZXNvdXJjZXMgcGFuZWwuPC9wPgotPC9ib2R5PgotPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5kZXhlZGRiL3Jl
c291cmNlcy93aXRob3V0LWluZGV4ZWQtZGIuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
aW5zcGVjdG9yL2luZGV4ZWRkYi9yZXNvdXJjZXMvd2l0aG91dC1pbmRleGVkLWRiLmh0bWwKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDhhMzQ3ODg5ZGFhYzJjYzEyODZjZmRlYjMzOTE5
MWEzMmYxM2Q3YmMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5kZXhlZGRiL3Jlc291cmNlcy93
aXRob3V0LWluZGV4ZWQtZGIuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDE1ICswLDAgQEAKLTxo
dG1sPgotPHNjcmlwdD4KLXdpbmRvdy5vbmxvYWQgPSBmdW5jdGlvbigpCi17Ci0gICAgZnVuY3Rp
b24gbm90aWZ5RnJvbnRlbmQoKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5wYWdlTG9h
ZGVkKCk7Ci0gICAgfQotICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotICAgIHRlc3RSdW5u
ZXIud2FpdFVudGlsRG9uZSgpOwotICAgIHRlc3RSdW5uZXIuZXZhbHVhdGVJbldlYkluc3BlY3Rv
cigwLCAiKCIgKyBub3RpZnlGcm9udGVuZCArICIpKCkiKTsKLX0KLTwvc2NyaXB0PgotPHA+UGFn
ZSB3aXRob3V0IEluZGV4ZWQgREIuPC9wPgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdC1lbGVtZW50LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3QtZWxlbWVudC1leHBlY3RlZC50
eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAxMjAyNzlmMzc4YmMyOGYyNmIxMzJj
M2I0N2UwZjU2NDlmY2E3MjEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdC1lbGVtZW50
LWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDUgKzAsMCBAQAotVGVzdHMgdGhhdCBp
bnNwZWN0IGVsZW1lbnQgYWN0aW9uIHdvcmtzIGZvciBpZnJhbWUgY2hpbGRyZW4gKGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NjgwOCkuCi0KLQotZGl2I2RpdgotCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0LWVsZW1l
bnQuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3QtZWxlbWVu
dC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxMGU2YWM3YTA1MjVhODJmNDBl
Y2M4ODcwMDNhYzcyNzliYzFiNGY5Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3QtZWxl
bWVudC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMzYgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4K
LTxzY3JpcHQgc3JjPSJpbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
ZWxlbWVudHMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotCi1mdW5jdGlvbiB0ZXN0KCkK
LXsKLSAgICBXZWJJbnNwZWN0b3Iuc2hvd1BhbmVsKCJlbGVtZW50cyIpLnRyZWVPdXRsaW5lLgot
ICAgICAgICBhZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5FbGVtZW50c1RyZWVPdXRsaW5l
LkV2ZW50cy5TZWxlY3RlZE5vZGVDaGFuZ2VkLCBzZWxlY3RlZE5vZGVDaGFuZ2VkLCB0aGlzKTsK
LSAgICBmdW5jdGlvbiBzZWxlY3RlZE5vZGVDaGFuZ2VkKGV2ZW50KQotICAgIHsKLSAgICAgICAg
dmFyIG5vZGUgPSBldmVudC5kYXRhOwotICAgICAgICBpZiAoIW5vZGUpCi0gICAgICAgICAgICBy
ZXR1cm47Ci0KLSAgICAgICAgaWYgKG5vZGUuZ2V0QXR0cmlidXRlKCJpZCIpID09ICJkaXYiKSB7
Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdChub2RlLmFwcHJvcHJpYXRlU2Vs
ZWN0b3JGb3IoKSk7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwot
ICAgICAgICB9Ci0gICAgfQotICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJbkNvbnNvbGUoImlu
c3BlY3QoaWZyYW1lRGl2RWxlbWVudCkiKTsKLX0KLQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci0KLTxi
b2R5PgotPHA+Ci1UZXN0cyB0aGF0IGluc3BlY3QgZWxlbWVudCBhY3Rpb24gd29ya3MgZm9yIGlm
cmFtZSBjaGlsZHJlbiAoaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc2
ODA4KS4KLTwvcD4KLQotPGlmcmFtZSBzcmM9InJlc291cmNlcy9pbnNwZWN0LWVsZW1lbnQtaWZy
YW1lLmh0bWwiIG9ubG9hZD0icnVuVGVzdCgpIj48L2lmcmFtZT4KLQotPC9ib2R5PgotPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdC1p
ZnJhbWUtZnJvbS1kaWZmZXJlbnQtZG9tYWluLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3QtaWZyYW1lLWZyb20tZGlmZmVyZW50LWRvbWFpbi1l
eHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDBhYjYyYmViZWIwZDYw
YjJiNTlhYTE0MzM4Zjc0NDM1MDdiOTI2MjguLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVj
dC1pZnJhbWUtZnJvbS1kaWZmZXJlbnQtZG9tYWluLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxs
CkBAIC0xLDYgKzAsMCBAQAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDY6IElGUkFNRSBIT1NUOiBs
b2NhbGhvc3Q6ODAwMAotCi1UZXN0cyB0aGF0IHN0eWxlIHByb3BlcnRpZXMgb2YgZWxlbWVudHMg
aW4gaWZyYW1lcyBsb2FkZWQgZnJvbSBkb21haW4gZGlmZmVyZW50IGZyb20gdGhlIG1haW4gZG9j
dW1lbnQgZG9tYWluIGNhbiBiZSBpbnNwZWN0ZWQuIFNlZSBidWcgMzE1ODcuCi0KLWJhY2tncm91
bmQ6IGdyZWVuOwotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rv
ci9pbnNwZWN0LWlmcmFtZS1mcm9tLWRpZmZlcmVudC1kb21haW4uaHRtbCBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3QtaWZyYW1lLWZyb20tZGlmZmVyZW50LWRvbWFp
bi5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxNjVkNmI2MmQ5ZGM4MGMzY2U1
YzgwM2JiZGVhNGIzYmU3ZDAyYTE3Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3QtaWZy
YW1lLWZyb20tZGlmZmVyZW50LWRvbWFpbi5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMzkgKzAs
MCBAQAotPGh0bWw+Ci08aGVhZD4KLTx0aXRsZT5JbnNwZWN0IHN0eWxlIGluIGlmcmFtZSBmcm9t
IGRpZmZlcmVudCBkb21haW4uPC90aXRsZT4KLTxzY3JpcHQgc3JjPSJpbnNwZWN0b3ItdGVzdC5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iZWxlbWVudHMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0PgotCi12YXIgb25JRnJhbWVMb2FkQ2FsbGVkID0gZmFsc2U7Ci1mdW5jdGlvbiBvbklG
cmFtZUxvYWQoKQotewotICAgIGlmIChvbklGcmFtZUxvYWRDYWxsZWQpCi0gICAgICAgIHJldHVy
bjsKLSAgICBvbklGcmFtZUxvYWRDYWxsZWQgPSB0cnVlOwotICAgIHJ1blRlc3QoKTsKLX0KLQot
ZnVuY3Rpb24gdGVzdCgpCi17Ci0gICAgSW5zcGVjdG9yVGVzdC5zZWxlY3ROb2RlQW5kV2FpdEZv
clN0eWxlcygiaWZyYW1lLWJvZHkiLCBzdGVwMSk7Ci0KLSAgICBmdW5jdGlvbiBzdGVwMSgpCi0g
ICAgewotICAgICAgICB2YXIgdHJlZUl0ZW0gPSBJbnNwZWN0b3JUZXN0LmdldEVsZW1lbnRTdHls
ZVByb3BlcnR5VHJlZUl0ZW0oImJhY2tncm91bmQiKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5k
dW1wU3R5bGVUcmVlSXRlbSh0cmVlSXRlbSwgIiIpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmNv
bXBsZXRlVGVzdCgpOwotICAgIH0KLX0KLQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLSAg
ICA8aWZyYW1lIHNyYz0iaHR0cDovL2xvY2FsaG9zdDo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZXMv
aWZyYW1lLWZyb20tZGlmZmVyZW50LWRvbWFpbi1kYXRhLmh0bWwiIGlkPSJyZWNlaXZlciIgb25s
b2FkPSJvbklGcmFtZUxvYWQoKSI+PC9pZnJhbWU+Ci0gICAgPHA+Ci0gICAgVGVzdHMgdGhhdCBz
dHlsZSBwcm9wZXJ0aWVzIG9mIGVsZW1lbnRzIGluIGlmcmFtZXMgbG9hZGVkIGZyb20gZG9tYWlu
IGRpZmZlcmVudCBmcm9tCi0gICAgdGhlIG1haW4gZG9jdW1lbnQgZG9tYWluIGNhbiBiZSBpbnNw
ZWN0ZWQuCi0gICAgU2VlIDxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0zMTU4NyI+YnVnIDMxNTg3PC9hPi4KLSAgICA8L3A+Ci08L2JvZHk+Ci08L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3It
dGVzdC5qcyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0
LmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzMGJhYzQwZWUwOTk4MzBhY2I2MmVh
YjUyODFmMWI1NzZmYmU1OTI2Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0
LmpzCisrKyAvZGV2L251bGwKQEAgLTEsNjEwICswLDAgQEAKLXZhciBpbml0aWFsaXplX0luc3Bl
Y3RvclRlc3QgPSBmdW5jdGlvbigpIHsKLQotdmFyIHJlc3VsdHMgPSBbXTsKLXZhciByZXN1bHRz
U3luY2hyb25pemVkID0gZmFsc2U7Ci0KLWZ1bmN0aW9uIGNvbnNvbGVPdXRwdXRIb29rKG1lc3Nh
Z2VUeXBlKQotewotICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KG1lc3NhZ2VUeXBlICsgIjog
IiArIEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywgMSkpOwotfQotCi1jb25z
b2xlLmxvZyA9IGNvbnNvbGVPdXRwdXRIb29rLmJpbmQoSW5zcGVjdG9yVGVzdCwgImxvZyIpOwot
Y29uc29sZS5lcnJvciA9IGNvbnNvbGVPdXRwdXRIb29rLmJpbmQoSW5zcGVjdG9yVGVzdCwgImVy
cm9yIik7Ci1jb25zb2xlLmluZm8gPSBjb25zb2xlT3V0cHV0SG9vay5iaW5kKEluc3BlY3RvclRl
c3QsICJpbmZvIik7Ci0KLUluc3BlY3RvclRlc3QuT3V0cHV0ID0geyAgIC8vIG92ZXJyaWRlIGlu
IHdpbmRvdy5pbml0aWFsaXplX3lvdXJOYW1lCi0gICAgdGVzdENvbXBsZXRlOiBmdW5jdGlvbigp
Ci0gICAgewotICAgICAgICBSdW50aW1lQWdlbnQuZXZhbHVhdGUoImRpZEV2YWx1YXRlRm9yVGVz
dEluRnJvbnRlbmQoIiArIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0Q2FsbElkICsgIiwgXCJc
IikiLCAidGVzdCIpOwotICAgIH0sCi0KLSAgICBhZGRSZXN1bHQ6IGZ1bmN0aW9uKHRleHQpCi0g
ICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJvdXRwdXQodW5lc2Nh
cGUoJyIgKyBlc2NhcGUodGV4dCkgKyAiJykpIik7Ci0gICAgfSwKLSAgICAKLSAgICBjbGVhclJl
c3VsdHM6IGZ1bmN0aW9uKCkKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJ
blBhZ2UoImNsZWFyT3V0cHV0KCkiKTsKLSAgICB9Ci19OwotCi1JbnNwZWN0b3JUZXN0LmNvbXBs
ZXRlVGVzdCA9IGZ1bmN0aW9uKCkKLXsKLSAgICBmdW5jdGlvbiB0ZXN0RGlzcGF0Y2hRdWV1ZUlz
RW1wdHkoKSB7Ci0gICAgICAgIGlmICghV2ViSW5zcGVjdG9yLmRpc3BhdGNoUXVldWVJc0VtcHR5
KCkpIHsKLSAgICAgICAgICAgIC8vIFdhaXQgZm9yIHVucHJvY2Vzc2VkIG1lc3NhZ2VzLgotICAg
ICAgICAgICAgc2V0VGltZW91dCh0ZXN0RGlzcGF0Y2hRdWV1ZUlzRW1wdHksIDEwKTsKLSAgICAg
ICAgICAgIHJldHVybjsKLSAgICAgICAgfQotICAgICAgICBJbnNwZWN0b3JUZXN0Lk91dHB1dC50
ZXN0Q29tcGxldGUoKTsKLSAgICB9Ci0gICAgdGVzdERpc3BhdGNoUXVldWVJc0VtcHR5KCk7Ci19
Ci0KLUluc3BlY3RvclRlc3QuZXZhbHVhdGVJbkNvbnNvbGUgPSBmdW5jdGlvbihjb2RlLCBjYWxs
YmFjaykKLXsKLSAgICBjYWxsYmFjayA9IEluc3BlY3RvclRlc3Quc2FmZVdyYXAoY2FsbGJhY2sp
OwotCi0gICAgV2ViSW5zcGVjdG9yLmNvbnNvbGVWaWV3LnZpc2libGUgPSB0cnVlOwotICAgIFdl
Ykluc3BlY3Rvci5jb25zb2xlVmlldy5wcm9tcHQudGV4dCA9IGNvZGU7Ci0gICAgdmFyIGV2ZW50
ID0gZG9jdW1lbnQuY3JlYXRlRXZlbnQoIktleWJvYXJkRXZlbnQiKTsKLSAgICBldmVudC5pbml0
S2V5Ym9hcmRFdmVudCgia2V5ZG93biIsIHRydWUsIHRydWUsIG51bGwsICJFbnRlciIsICIiKTsK
LSAgICBXZWJJbnNwZWN0b3IuY29uc29sZVZpZXcucHJvbXB0LnByb3h5RWxlbWVudC5kaXNwYXRj
aEV2ZW50KGV2ZW50KTsKLSAgICBJbnNwZWN0b3JUZXN0LmFkZENvbnNvbGVTbmlmZmVyKAotICAg
ICAgICBmdW5jdGlvbihjb21tYW5kUmVzdWx0KSB7Ci0gICAgICAgICAgICBjYWxsYmFjayhjb21t
YW5kUmVzdWx0LnRvTWVzc2FnZUVsZW1lbnQoKS50ZXh0Q29udGVudCk7Ci0gICAgICAgIH0pOwot
fQotCi1JbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5Db25zb2xlQW5kRHVtcCA9IGZ1bmN0aW9uKGNv
ZGUsIGNhbGxiYWNrKQotewotICAgIGNhbGxiYWNrID0gSW5zcGVjdG9yVGVzdC5zYWZlV3JhcChj
YWxsYmFjayk7Ci0KLSAgICBmdW5jdGlvbiBteWNhbGxiYWNrKHRleHQpCi0gICAgewotICAgICAg
ICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdChjb2RlICsgIiA9ICIgKyB0ZXh0KTsKLSAgICAgICAg
Y2FsbGJhY2sodGV4dCk7Ci0gICAgfQotICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJbkNvbnNv
bGUoY29kZSwgbXljYWxsYmFjayk7Ci19Ci0KLUluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2Ug
PSBmdW5jdGlvbihjb2RlLCBjYWxsYmFjaykKLXsKLSAgICBjYWxsYmFjayA9IEluc3BlY3RvclRl
c3Quc2FmZVdyYXAoY2FsbGJhY2spOwotCi0gICAgZnVuY3Rpb24gbXljYWxsYmFjayhlcnJvciwg
cmVzdWx0LCB3YXNUaHJvd24pCi0gICAgewotICAgICAgICBpZiAoIWVycm9yKQotICAgICAgICAg
ICAgY2FsbGJhY2soV2ViSW5zcGVjdG9yLlJlbW90ZU9iamVjdC5mcm9tUGF5bG9hZChyZXN1bHQp
LCB3YXNUaHJvd24pOwotICAgIH0KLSAgICBSdW50aW1lQWdlbnQuZXZhbHVhdGUoY29kZSwgImNv
bnNvbGUiLCBmYWxzZSwgbXljYWxsYmFjayk7Ci19Ci0KLUluc3BlY3RvclRlc3QuZXZhbHVhdGVJ
blBhZ2VXaXRoVGltZW91dCA9IGZ1bmN0aW9uKGNvZGUpCi17Ci0gICAgSW5zcGVjdG9yVGVzdC5l
dmFsdWF0ZUluUGFnZSgic2V0VGltZW91dCh1bmVzY2FwZSgnIiArIGVzY2FwZShjb2RlKSArICIn
KSkiKTsKLX0KLQotSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQgPSBmdW5jdGlvbih0ZXh0KQotewot
ICAgIHJlc3VsdHMucHVzaCh0ZXh0KTsKLSAgICBpZiAocmVzdWx0c1N5bmNocm9uaXplZCkKLSAg
ICAgICAgSW5zcGVjdG9yVGVzdC5PdXRwdXQuYWRkUmVzdWx0KHRleHQpOwotICAgIGVsc2Ugewot
ICAgICAgICBJbnNwZWN0b3JUZXN0Lk91dHB1dC5jbGVhclJlc3VsdHMoKTsKLSAgICAgICAgZm9y
ICh2YXIgaSA9IDA7IGkgPCByZXN1bHRzLmxlbmd0aDsgKytpKQotICAgICAgICAgICAgSW5zcGVj
dG9yVGVzdC5PdXRwdXQuYWRkUmVzdWx0KHJlc3VsdHNbaV0pOwotICAgICAgICByZXN1bHRzU3lu
Y2hyb25pemVkID0gdHJ1ZTsKLSAgICB9Ci19Ci0KLUluc3BlY3RvclRlc3QuYWRkUmVzdWx0cyA9
IGZ1bmN0aW9uKHRleHRBcnJheSkKLXsKLSAgICBpZiAoIXRleHRBcnJheSkKLSAgICAgICAgcmV0
dXJuOwotICAgIGZvciAodmFyIGkgPSAwLCBzaXplID0gdGV4dEFycmF5Lmxlbmd0aDsgaSA8IHNp
emU7ICsraSkKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQodGV4dEFycmF5W2ldKTsK
LX0KLQotZnVuY3Rpb24gb25FcnJvcihldmVudCkKLXsKLSAgICB3aW5kb3cucmVtb3ZlRXZlbnRM
aXN0ZW5lcigiZXJyb3IiLCBvbkVycm9yKTsKLSAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgi
VW5jYXVnaHQgZXhjZXB0aW9uIGluIGluc3BlY3RvciBmcm9udC1lbmQ6ICIgKyBldmVudC5tZXNz
YWdlICsgIiBbIiArIGV2ZW50LmZpbGVuYW1lICsgIjoiICsgZXZlbnQubGluZW5vICsgIl0iKTsK
LSAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwotfQotCi13aW5kb3cuYWRkRXZlbnRM
aXN0ZW5lcigiZXJyb3IiLCBvbkVycm9yKTsKLQotSW5zcGVjdG9yVGVzdC5mb3JtYXR0ZXJzID0g
e307Ci0KLUluc3BlY3RvclRlc3QuZm9ybWF0dGVycy5mb3JtYXRBc1R5cGVOYW1lID0gZnVuY3Rp
b24odmFsdWUpCi17Ci0gICAgcmV0dXJuICI8IiArIHR5cGVvZiB2YWx1ZSArICI+IjsKLX0KLQot
SW5zcGVjdG9yVGVzdC5mb3JtYXR0ZXJzLmZvcm1hdEFzUmVjZW50VGltZSA9IGZ1bmN0aW9uKHZh
bHVlKQotewotICAgIGlmICh0eXBlb2YgdmFsdWUgIT09ICJvYmplY3QiIHx8ICEodmFsdWUgaW5z
dGFuY2VvZiBEYXRlKSkKLSAgICAgICAgcmV0dXJuIEluc3BlY3RvclRlc3QuZm9ybWF0QXNUeXBl
TmFtZSh2YWx1ZSk7Ci0gICAgdmFyIGRlbHRhID0gRGF0ZS5ub3coKSAtIHZhbHVlOwotICAgIHJl
dHVybiAwIDw9IGRlbHRhICYmIGRlbHRhIDwgMzAgKiA2MCAqIDEwMDAgPyAiPHBsYXVzaWJsZT4i
IDogdmFsdWU7Ci19Ci0KLUluc3BlY3RvclRlc3QuYWRkT2JqZWN0ID0gZnVuY3Rpb24ob2JqZWN0
LCBjdXN0b21Gb3JtYXR0ZXJzLCBwcmVmaXgsIGZpcnN0TGluZVByZWZpeCkKLXsKLSAgICBwcmVm
aXggPSBwcmVmaXggfHwgIiI7Ci0gICAgZmlyc3RMaW5lUHJlZml4ID0gZmlyc3RMaW5lUHJlZml4
IHx8IHByZWZpeDsKLSAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdChmaXJzdExpbmVQcmVmaXgg
KyAieyIpOwotICAgIHZhciBwcm9wZXJ0eU5hbWVzID0gT2JqZWN0LmtleXMob2JqZWN0KTsKLSAg
ICBwcm9wZXJ0eU5hbWVzLnNvcnQoKTsKLSAgICBmb3IgKHZhciBpID0gMDsgaSA8IHByb3BlcnR5
TmFtZXMubGVuZ3RoOyArK2kpIHsKLSAgICAgICAgdmFyIHByb3AgPSBwcm9wZXJ0eU5hbWVzW2ld
OwotICAgICAgICBpZiAodHlwZW9mIG9iamVjdC5oYXNPd25Qcm9wZXJ0eSA9PT0gImZ1bmN0aW9u
IiAmJiAhb2JqZWN0Lmhhc093blByb3BlcnR5KHByb3ApKQotICAgICAgICAgICAgY29udGludWU7
Ci0gICAgICAgIHZhciBwcmVmaXhXaXRoTmFtZSA9ICIgICAgIiArIHByZWZpeCArIHByb3AgKyAi
IDogIjsKLSAgICAgICAgdmFyIHByb3BWYWx1ZSA9IG9iamVjdFtwcm9wXTsKLSAgICAgICAgaWYg
KGN1c3RvbUZvcm1hdHRlcnMgJiYgY3VzdG9tRm9ybWF0dGVyc1twcm9wXSkgewotICAgICAgICAg
ICAgdmFyIGZvcm1hdHRlck5hbWUgPSBjdXN0b21Gb3JtYXR0ZXJzW3Byb3BdOwotICAgICAgICAg
ICAgaWYgKGZvcm1hdHRlck5hbWUgIT09ICJza2lwIikgewotICAgICAgICAgICAgICAgIHZhciBm
b3JtYXR0ZXIgPSBJbnNwZWN0b3JUZXN0LmZvcm1hdHRlcnNbZm9ybWF0dGVyTmFtZV07Ci0gICAg
ICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQocHJlZml4V2l0aE5hbWUgKyBmb3Jt
YXR0ZXIocHJvcFZhbHVlKSk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0gZWxzZQotICAgICAg
ICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wKHByb3BWYWx1ZSwgY3VzdG9tRm9ybWF0dGVycywgIiAg
ICAiICsgcHJlZml4LCBwcmVmaXhXaXRoTmFtZSk7Ci0gICAgfQotICAgIEluc3BlY3RvclRlc3Qu
YWRkUmVzdWx0KHByZWZpeCArICJ9Iik7Ci19Ci0KLUluc3BlY3RvclRlc3QuYWRkQXJyYXkgPSBm
dW5jdGlvbihhcnJheSwgY3VzdG9tRm9ybWF0dGVycywgcHJlZml4LCBmaXJzdExpbmVQcmVmaXgp
Ci17Ci0gICAgcHJlZml4ID0gcHJlZml4IHx8ICIiOwotICAgIGZpcnN0TGluZVByZWZpeCA9IGZp
cnN0TGluZVByZWZpeCB8fCBwcmVmaXg7Ci0gICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoZmly
c3RMaW5lUHJlZml4ICsgIlsiKTsKLSAgICBmb3IgKHZhciBpID0gMDsgaSA8IGFycmF5Lmxlbmd0
aDsgKytpKQotICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXAoYXJyYXlbaV0sIGN1c3RvbUZvcm1h
dHRlcnMsIHByZWZpeCArICIgICAgIik7Ci0gICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQocHJl
Zml4ICsgIl0iKTsKLX0KLQotSW5zcGVjdG9yVGVzdC5kdW1wID0gZnVuY3Rpb24odmFsdWUsIGN1
c3RvbUZvcm1hdHRlcnMsIHByZWZpeCwgcHJlZml4V2l0aE5hbWUpCi17Ci0gICAgcHJlZml4V2l0
aE5hbWUgPSBwcmVmaXhXaXRoTmFtZSB8fCBwcmVmaXg7Ci0gICAgaWYgKHByZWZpeFdpdGhOYW1l
ICYmIHByZWZpeFdpdGhOYW1lLmxlbmd0aCA+IDgwKSB7Ci0gICAgICAgIEluc3BlY3RvclRlc3Qu
YWRkUmVzdWx0KHByZWZpeFdpdGhOYW1lICsgIndhcyBza2lwcGVkIGR1ZSB0byBwcmVmaXggbGVu
Z3RoIGxpbWl0Iik7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0gICAgaWYgKHZhbHVlID09PSBu
dWxsKQotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdChwcmVmaXhXaXRoTmFtZSArICJu
dWxsIik7Ci0gICAgZWxzZSBpZiAodmFsdWUgaW5zdGFuY2VvZiBBcnJheSkKLSAgICAgICAgSW5z
cGVjdG9yVGVzdC5hZGRBcnJheSh2YWx1ZSwgY3VzdG9tRm9ybWF0dGVycywgcHJlZml4LCBwcmVm
aXhXaXRoTmFtZSk7Ci0gICAgZWxzZSBpZiAodHlwZW9mIHZhbHVlID09PSAib2JqZWN0IikKLSAg
ICAgICAgSW5zcGVjdG9yVGVzdC5hZGRPYmplY3QodmFsdWUsIGN1c3RvbUZvcm1hdHRlcnMsIHBy
ZWZpeCwgcHJlZml4V2l0aE5hbWUpOwotICAgIGVsc2UgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gInN0
cmluZyIpCi0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KHByZWZpeFdpdGhOYW1lICsg
IlwiIiArIHZhbHVlICsgIlwiIik7Ci0gICAgZWxzZQotICAgICAgICBJbnNwZWN0b3JUZXN0LmFk
ZFJlc3VsdChwcmVmaXhXaXRoTmFtZSArIHZhbHVlKTsKLX0KLQotSW5zcGVjdG9yVGVzdC5hc3Nl
cnRHcmVhdGVyT3JFcXVhbCA9IGZ1bmN0aW9uKGEsIGIsIG1lc3NhZ2UpCi17Ci0gICAgaWYgKGEg
PCBiKQotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiRkFJTEVEOiAiICsgKG1lc3Nh
Z2UgPyBtZXNzYWdlICsgIjogIiA6ICIiKSArIGEgKyAiIDwgIiArIGIpOwotfQotCi1JbnNwZWN0
b3JUZXN0Lm5hdmlnYXRlID0gZnVuY3Rpb24odXJsLCBjYWxsYmFjaykKLXsKLSAgICBJbnNwZWN0
b3JUZXN0Ll9wYWdlTG9hZGVkQ2FsbGJhY2sgPSBJbnNwZWN0b3JUZXN0LnNhZmVXcmFwKGNhbGxi
YWNrKTsKLQotICAgIFdlYkluc3BlY3Rvci5wYW5lbCgibmV0d29yayIpLl9yZXNldCgpOwotICAg
IEluc3BlY3RvclRlc3QuZXZhbHVhdGVJbkNvbnNvbGUoIndpbmRvdy5sb2NhdGlvbiA9ICciICsg
dXJsICsgIiciKTsKLX0KLQotSW5zcGVjdG9yVGVzdC5oYXJkUmVsb2FkUGFnZSA9IGZ1bmN0aW9u
KGNhbGxiYWNrLCBzY3JpcHRUb0V2YWx1YXRlT25Mb2FkLCBzY3JpcHRQcmVwcm9jZXNzb3IpCi17
Ci0gICAgSW5zcGVjdG9yVGVzdC5faW5uZXJSZWxvYWRQYWdlKHRydWUsIGNhbGxiYWNrLCBzY3Jp
cHRUb0V2YWx1YXRlT25Mb2FkLCBzY3JpcHRQcmVwcm9jZXNzb3IpOwotfQotCi1JbnNwZWN0b3JU
ZXN0LnJlbG9hZFBhZ2UgPSBmdW5jdGlvbihjYWxsYmFjaywgc2NyaXB0VG9FdmFsdWF0ZU9uTG9h
ZCwgc2NyaXB0UHJlcHJvY2Vzc29yKQotewotICAgIEluc3BlY3RvclRlc3QuX2lubmVyUmVsb2Fk
UGFnZShmYWxzZSwgY2FsbGJhY2ssIHNjcmlwdFRvRXZhbHVhdGVPbkxvYWQsIHNjcmlwdFByZXBy
b2Nlc3Nvcik7Ci19Ci0KLUluc3BlY3RvclRlc3QuX2lubmVyUmVsb2FkUGFnZSA9IGZ1bmN0aW9u
KGhhcmRSZWxvYWQsIGNhbGxiYWNrLCBzY3JpcHRUb0V2YWx1YXRlT25Mb2FkLCBzY3JpcHRQcmVw
cm9jZXNzb3IpCi17Ci0gICAgSW5zcGVjdG9yVGVzdC5fcGFnZUxvYWRlZENhbGxiYWNrID0gSW5z
cGVjdG9yVGVzdC5zYWZlV3JhcChjYWxsYmFjayk7Ci0KLSAgICBpZiAoV2ViSW5zcGVjdG9yLnBh
bmVscy5uZXR3b3JrKQotICAgICAgICBXZWJJbnNwZWN0b3IucGFuZWxzLm5ldHdvcmsuX3Jlc2V0
KCk7Ci0gICAgUGFnZUFnZW50LnJlbG9hZChoYXJkUmVsb2FkLCBzY3JpcHRUb0V2YWx1YXRlT25M
b2FkLCBzY3JpcHRQcmVwcm9jZXNzb3IpOwotfQotCi1JbnNwZWN0b3JUZXN0LnBhZ2VMb2FkZWQg
PSBmdW5jdGlvbigpCi17Ci0gICAgcmVzdWx0c1N5bmNocm9uaXplZCA9IGZhbHNlOwotICAgIElu
c3BlY3RvclRlc3QuYWRkUmVzdWx0KCJQYWdlIHJlbG9hZGVkLiIpOwotICAgIGlmIChJbnNwZWN0
b3JUZXN0Ll9wYWdlTG9hZGVkQ2FsbGJhY2spIHsKLSAgICAgICAgdmFyIGNhbGxiYWNrID0gSW5z
cGVjdG9yVGVzdC5fcGFnZUxvYWRlZENhbGxiYWNrOwotICAgICAgICBkZWxldGUgSW5zcGVjdG9y
VGVzdC5fcGFnZUxvYWRlZENhbGxiYWNrOwotICAgICAgICBjYWxsYmFjaygpOwotICAgIH0KLX0K
LQotSW5zcGVjdG9yVGVzdC5ydW5XaGVuUGFnZUxvYWRzID0gZnVuY3Rpb24oY2FsbGJhY2spCi17
Ci0gICAgdmFyIG9sZENhbGxiYWNrID0gSW5zcGVjdG9yVGVzdC5fcGFnZUxvYWRlZENhbGxiYWNr
OwotICAgIGZ1bmN0aW9uIGNoYWluZWRDYWxsYmFjaygpCi0gICAgewotICAgICAgICBpZiAob2xk
Q2FsbGJhY2spCi0gICAgICAgICAgICBvbGRDYWxsYmFjaygpOwotICAgICAgICBjYWxsYmFjaygp
OwotICAgIH0KLSAgICBJbnNwZWN0b3JUZXN0Ll9wYWdlTG9hZGVkQ2FsbGJhY2sgPSBJbnNwZWN0
b3JUZXN0LnNhZmVXcmFwKGNoYWluZWRDYWxsYmFjayk7Ci19Ci0KLUluc3BlY3RvclRlc3QucnVu
QWZ0ZXJQZW5kaW5nRGlzcGF0Y2hlcyA9IGZ1bmN0aW9uKGNhbGxiYWNrKQotewotICAgIGNhbGxi
YWNrID0gSW5zcGVjdG9yVGVzdC5zYWZlV3JhcChjYWxsYmFjayk7Ci0gICAgSW5zcGVjdG9yQmFj
a2VuZC5ydW5BZnRlclBlbmRpbmdEaXNwYXRjaGVzKGNhbGxiYWNrKTsKLX0KLQotSW5zcGVjdG9y
VGVzdC5jcmVhdGVLZXlFdmVudCA9IGZ1bmN0aW9uKGtleUlkZW50aWZpZXIsIGN0cmxLZXksIGFs
dEtleSwgc2hpZnRLZXksIG1ldGFLZXkpCi17Ci0gICAgdmFyIGV2dCA9IGRvY3VtZW50LmNyZWF0
ZUV2ZW50KCJLZXlib2FyZEV2ZW50Iik7Ci0gICAgZXZ0LmluaXRLZXlib2FyZEV2ZW50KCJrZXlk
b3duIiwgdHJ1ZSAvKiBjYW4gYnViYmxlICovLCB0cnVlIC8qIGNhbiBjYW5jZWwgKi8sIG51bGwg
LyogdmlldyAqLywga2V5SWRlbnRpZmllciwgIiIsIGN0cmxLZXksIGFsdEtleSwgc2hpZnRLZXks
IG1ldGFLZXkpOwotICAgIHJldHVybiBldnQ7Ci19Ci0KLUluc3BlY3RvclRlc3QucnVuVGVzdFN1
aXRlID0gZnVuY3Rpb24odGVzdFN1aXRlKQotewotICAgIHZhciB0ZXN0U3VpdGVUZXN0cyA9IHRl
c3RTdWl0ZS5zbGljZSgpOwotCi0gICAgZnVuY3Rpb24gcnVubmVyKCkKLSAgICB7Ci0gICAgICAg
IGlmICghdGVzdFN1aXRlVGVzdHMubGVuZ3RoKSB7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0
LmNvbXBsZXRlVGVzdCgpOwotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB9Ci0gICAgICAg
IHZhciBuZXh0VGVzdCA9IHRlc3RTdWl0ZVRlc3RzLnNoaWZ0KCk7Ci0gICAgICAgIEluc3BlY3Rv
clRlc3QuYWRkUmVzdWx0KCIiKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIlJ1
bm5pbmc6ICIgKyAvZnVuY3Rpb25ccyhbXihdKikvLmV4ZWMobmV4dFRlc3QpWzFdKTsKLSAgICAg
ICAgSW5zcGVjdG9yVGVzdC5zYWZlV3JhcChuZXh0VGVzdCkocnVubmVyLCBydW5uZXIpOwotICAg
IH0KLSAgICBydW5uZXIoKTsKLX0KLQotSW5zcGVjdG9yVGVzdC5hc3NlcnRFcXVhbHMgPSBmdW5j
dGlvbihleHBlY3RlZCwgZm91bmQsIG1lc3NhZ2UpCi17Ci0gICAgaWYgKGV4cGVjdGVkID09PSBm
b3VuZCkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgdmFyIGVycm9yOwotICAgIGlmIChtZXNzYWdl
KQotICAgICAgICBlcnJvciA9ICJGYWlsdXJlICgiICsgbWVzc2FnZSArICIpOiI7Ci0gICAgZWxz
ZQotICAgICAgICBlcnJvciA9ICJGYWlsdXJlOiI7Ci0gICAgdGhyb3cgbmV3IEVycm9yKGVycm9y
ICsgIiBleHBlY3RlZCA8IiArIGV4cGVjdGVkICsgIj4gZm91bmQgPCIgKyBmb3VuZCArICI+Iik7
Ci19Ci0KLUluc3BlY3RvclRlc3QuYXNzZXJ0VHJ1ZSA9IGZ1bmN0aW9uKGZvdW5kLCBtZXNzYWdl
KQotewotICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0RXF1YWxzKHRydWUsICEhZm91bmQsIG1lc3Nh
Z2UpOwotfQotCi1JbnNwZWN0b3JUZXN0LnNhZmVXcmFwID0gZnVuY3Rpb24oZnVuYywgb25leGNl
cHRpb24pCi17Ci0gICAgZnVuY3Rpb24gcmVzdWx0KCkKLSAgICB7Ci0gICAgICAgIGlmICghZnVu
YykKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgdmFyIHdyYXBUaGlzID0gdGhpczsKLSAg
ICAgICAgdHJ5IHsKLSAgICAgICAgICAgIHJldHVybiBmdW5jLmFwcGx5KHdyYXBUaGlzLCBhcmd1
bWVudHMpOwotICAgICAgICB9IGNhdGNoKGUpIHsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3Qu
YWRkUmVzdWx0KCJFeGNlcHRpb24gd2hpbGUgcnVubmluZzogIiArIGZ1bmMgKyAiXG4iICsgKGUu
c3RhY2sgfHwgZSkpOwotICAgICAgICAgICAgaWYgKG9uZXhjZXB0aW9uKQotICAgICAgICAgICAg
ICAgIEluc3BlY3RvclRlc3Quc2FmZVdyYXAob25leGNlcHRpb24pKCk7Ci0gICAgICAgICAgICBl
bHNlCi0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKLSAgICAg
ICAgfQotICAgIH0KLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi1JbnNwZWN0b3JUZXN0LmFkZFNu
aWZmZXIgPSBmdW5jdGlvbihyZWNlaXZlciwgbWV0aG9kTmFtZSwgb3ZlcnJpZGUsIG9wdF9zdGlj
a3kpCi17Ci0gICAgb3ZlcnJpZGUgPSBJbnNwZWN0b3JUZXN0LnNhZmVXcmFwKG92ZXJyaWRlKTsK
LQotICAgIHZhciBvcmlnaW5hbCA9IHJlY2VpdmVyW21ldGhvZE5hbWVdOwotICAgIGlmICh0eXBl
b2Ygb3JpZ2luYWwgIT09ICJmdW5jdGlvbiIpCi0gICAgICAgIHRocm93ICgiQ2Fubm90IGZpbmQg
bWV0aG9kIHRvIG92ZXJyaWRlOiAiICsgbWV0aG9kTmFtZSk7Ci0KLSAgICByZWNlaXZlclttZXRo
b2ROYW1lXSA9IGZ1bmN0aW9uKHZhcl9hcmdzKSB7Ci0gICAgICAgIHRyeSB7Ci0gICAgICAgICAg
ICB2YXIgcmVzdWx0ID0gb3JpZ2luYWwuYXBwbHkodGhpcywgYXJndW1lbnRzKTsKLSAgICAgICAg
fSBmaW5hbGx5IHsKLSAgICAgICAgICAgIGlmICghb3B0X3N0aWNreSkKLSAgICAgICAgICAgICAg
ICByZWNlaXZlclttZXRob2ROYW1lXSA9IG9yaWdpbmFsOwotICAgICAgICB9Ci0gICAgICAgIC8v
IEluIGNhc2Ugb2YgZXhjZXB0aW9uIHRoZSBvdmVycmlkZSB3b24ndCBiZSBjYWxsZWQuCi0gICAg
ICAgIHRyeSB7Ci0gICAgICAgICAgICBvdmVycmlkZS5hcHBseSh0aGlzLCBhcmd1bWVudHMpOwot
ICAgICAgICB9IGNhdGNoIChlKSB7Ci0gICAgICAgICAgICB0aHJvdyAoIkV4Y2VwdGlvbiBpbiBv
dmVycmlkZW4gbWV0aG9kICciICsgbWV0aG9kTmFtZSArICInOiAiICsgZSk7Ci0gICAgICAgIH0K
LSAgICAgICAgcmV0dXJuIHJlc3VsdDsKLSAgICB9OwotfQotCi1JbnNwZWN0b3JUZXN0LmFkZENv
bnNvbGVTbmlmZmVyID0gZnVuY3Rpb24ob3ZlcnJpZGUsIG9wdF9zdGlja3kpCi17Ci0gICAgSW5z
cGVjdG9yVGVzdC5hZGRTbmlmZmVyKFdlYkluc3BlY3Rvci5Db25zb2xlVmlldy5wcm90b3R5cGUs
ICJfYXBwZW5kQ29uc29sZU1lc3NhZ2UiLCBvdmVycmlkZSwgb3B0X3N0aWNreSk7Ci19Ci0KLUlu
c3BlY3RvclRlc3Qub3ZlcnJpZGUgPSBmdW5jdGlvbihyZWNlaXZlciwgbWV0aG9kTmFtZSwgb3Zl
cnJpZGUsIG9wdF9zdGlja3kpCi17Ci0gICAgb3ZlcnJpZGUgPSBJbnNwZWN0b3JUZXN0LnNhZmVX
cmFwKG92ZXJyaWRlKTsKLQotICAgIHZhciBvcmlnaW5hbCA9IHJlY2VpdmVyW21ldGhvZE5hbWVd
OwotICAgIGlmICh0eXBlb2Ygb3JpZ2luYWwgIT09ICJmdW5jdGlvbiIpCi0gICAgICAgIHRocm93
ICgiQ2Fubm90IGZpbmQgbWV0aG9kIHRvIG92ZXJyaWRlOiAiICsgbWV0aG9kTmFtZSk7Ci0KLSAg
ICByZWNlaXZlclttZXRob2ROYW1lXSA9IGZ1bmN0aW9uKHZhcl9hcmdzKSB7Ci0gICAgICAgIHRy
eSB7Ci0gICAgICAgICAgICB0cnkgewotICAgICAgICAgICAgICAgIHZhciByZXN1bHQgPSBvdmVy
cmlkZS5hcHBseSh0aGlzLCBhcmd1bWVudHMpOwotICAgICAgICAgICAgfSBjYXRjaCAoZSkgewot
ICAgICAgICAgICAgICAgIHRocm93ICgiRXhjZXB0aW9uIGluIG92ZXJyaWRlbiBtZXRob2QgJyIg
KyBtZXRob2ROYW1lICsgIic6ICIgKyBlKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfSBmaW5h
bGx5IHsKLSAgICAgICAgICAgIGlmICghb3B0X3N0aWNreSkKLSAgICAgICAgICAgICAgICByZWNl
aXZlclttZXRob2ROYW1lXSA9IG9yaWdpbmFsOwotICAgICAgICB9Ci0gICAgICAgIHJldHVybiBy
ZXN1bHQ7Ci0gICAgfTsKLQotICAgIHJldHVybiBvcmlnaW5hbDsKLX0KLQotSW5zcGVjdG9yVGVz
dC50ZXh0Q29udGVudFdpdGhMaW5lQnJlYWtzID0gZnVuY3Rpb24obm9kZSkKLXsKLSAgICB2YXIg
YnVmZmVyID0gIiI7Ci0gICAgdmFyIGN1cnJlbnROb2RlID0gbm9kZTsKLSAgICB3aGlsZSAoY3Vy
cmVudE5vZGUgPSBjdXJyZW50Tm9kZS50cmF2ZXJzZU5leHROb2RlKG5vZGUpKSB7Ci0gICAgICAg
IGlmIChjdXJyZW50Tm9kZS5ub2RlVHlwZSA9PT0gTm9kZS5URVhUX05PREUpCi0gICAgICAgICAg
ICBidWZmZXIgKz0gY3VycmVudE5vZGUubm9kZVZhbHVlOwotICAgICAgICBlbHNlIGlmIChjdXJy
ZW50Tm9kZS5ub2RlTmFtZSA9PT0gIkxJIikKLSAgICAgICAgICAgIGJ1ZmZlciArPSAiXG4gICAg
IjsKLSAgICAgICAgZWxzZSBpZiAoY3VycmVudE5vZGUuY2xhc3NMaXN0LmNvbnRhaW5zKCJjb25z
b2xlLW1lc3NhZ2UiKSkKLSAgICAgICAgICAgIGJ1ZmZlciArPSAiXG5cbiI7Ci0gICAgfQotICAg
IHJldHVybiBidWZmZXI7Ci19Ci0KLUluc3BlY3RvclRlc3QuU3RyaW5nT3V0cHV0U3RyZWFtID0g
ZnVuY3Rpb24oY2FsbGJhY2spCi17Ci0gICAgdGhpcy5fY2FsbGJhY2sgPSBjYWxsYmFjazsKLSAg
ICB0aGlzLl9idWZmZXIgPSAiIjsKLX07Ci0KLUluc3BlY3RvclRlc3QuU3RyaW5nT3V0cHV0U3Ry
ZWFtLnByb3RvdHlwZSA9IHsKLSAgICB3cml0ZTogZnVuY3Rpb24oY2h1bmssIGNhbGxiYWNrKQot
ICAgIHsKLSAgICAgICAgdGhpcy5fYnVmZmVyICs9IGNodW5rOwotICAgICAgICBpZiAoY2FsbGJh
Y2spCi0gICAgICAgICAgICBjYWxsYmFjayh0aGlzKTsKLSAgICB9LAotCi0gICAgY2xvc2U6IGZ1
bmN0aW9uKCkKLSAgICB7Ci0gICAgICAgIHRoaXMuX2NhbGxiYWNrKHRoaXMuX2J1ZmZlcik7Ci0g
ICAgfQotfTsKLQotSW5zcGVjdG9yVGVzdC5Nb2NrU2V0dGluZyA9IGZ1bmN0aW9uKHZhbHVlKQot
ewotICAgIHRoaXMuX3ZhbHVlID0gdmFsdWU7Ci19OwotCi1JbnNwZWN0b3JUZXN0Lk1vY2tTZXR0
aW5nLnByb3RvdHlwZSA9IHsKLSAgICBnZXQ6IGZ1bmN0aW9uKCkgewotICAgICAgICByZXR1cm4g
dGhpcy5fdmFsdWU7Ci0gICAgfSwKLQotICAgIHNldDogZnVuY3Rpb24odmFsdWUpIHsKLSAgICAg
ICAgdGhpcy5fdmFsdWUgPSB2YWx1ZTsKLSAgICB9Ci19OwotCi19OwotCi12YXIgaW5pdGlhbGl6
ZUNhbGxJZCA9IDA7Ci12YXIgcnVuVGVzdENhbGxJZCA9IDE7Ci12YXIgY29tcGxldGVUZXN0Q2Fs
bElkID0gMjsKLXZhciBmcm9udGVuZFJlb3BlbmluZ0NvdW50ID0gMDsKLQotZnVuY3Rpb24gcmVv
cGVuRnJvbnRlbmQoKQotewotICAgIGNsb3NlRnJvbnRlbmQob3BlbkZyb250ZW5kQW5kSW5jcmVt
ZW50KTsKLX0KLQotZnVuY3Rpb24gY2xvc2VGcm9udGVuZChjYWxsYmFjaykKLXsKLSAgICAvLyBE
byB0aGlzIGFzeW5jaHJvbm91c2x5IHRvIGFsbG93IEluc3BlY3RvckJhY2tlbmREaXNwYXRjaGVy
IHRvIHNlbmQgcmVzcG9uc2UKLSAgICAvLyBiYWNrIHRvIHRoZSBmcm9udGVuZCBiZWZvcmUgaXQn
cyBkZXN0cm95ZWQuCi0gICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsKLSAgICAgICAgdGVzdFJ1
bm5lci5jbG9zZVdlYkluc3BlY3RvcigpOwotICAgICAgICBjYWxsYmFjaygpOwotICAgIH0sIDAp
OwotfQotCi1mdW5jdGlvbiBvcGVuRnJvbnRlbmRBbmRJbmNyZW1lbnQoKQotewotICAgIGZyb250
ZW5kUmVvcGVuaW5nQ291bnQrKzsKLSAgICB0ZXN0UnVubmVyLnNob3dXZWJJbnNwZWN0b3IoKTsK
LSAgICBydW5UZXN0KCk7Ci19Ci0KLWZ1bmN0aW9uIHJ1bkFmdGVySWZyYW1lSXNMb2FkZWQoKQot
ewotICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50
aWxEb25lKCk7Ci0gICAgZnVuY3Rpb24gc3RlcCgpCi0gICAgewotICAgICAgICBpZiAoIXdpbmRv
dy5pZnJhbWVMb2FkZWQpCi0gICAgICAgICAgICBzZXRUaW1lb3V0KHN0ZXAsIDEwMCk7Ci0gICAg
ICAgIGVsc2UKLSAgICAgICAgICAgIHJ1blRlc3QoKTsKLSAgICB9Ci0gICAgc2V0VGltZW91dChz
dGVwLCAxMDApOwotfQotCi1mdW5jdGlvbiBydW5UZXN0KGVuYWJsZVdhdGNoRG9nV2hpbGVEZWJ1
Z2dpbmcpCi17Ci0gICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgcmV0dXJuOwot
Ci0gICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci0gICAgdGVzdFJ1bm5lci53YWl0VW50aWxE
b25lKCk7Ci0KLSAgICBmdW5jdGlvbiBpbml0aWFsaXplRnJvbnRlbmQoaW5pdGlhbGl6YXRpb25G
dW5jdGlvbnMpCi0gICAgewotICAgICAgICBpZiAod2luZG93Lkluc3BlY3RvclRlc3QpIHsKLSAg
ICAgICAgICAgIEluc3BlY3RvclRlc3QucGFnZUxvYWRlZCgpOwotICAgICAgICAgICAgcmV0dXJu
OwotICAgICAgICB9Ci0KLSAgICAgICAgSW5zcGVjdG9yVGVzdCA9IHt9OwotICAgIAotICAgICAg
ICBmb3IgKHZhciBpID0gMDsgaSA8IGluaXRpYWxpemF0aW9uRnVuY3Rpb25zLmxlbmd0aDsgKytp
KSB7Ci0gICAgICAgICAgICB0cnkgewotICAgICAgICAgICAgICAgIGluaXRpYWxpemF0aW9uRnVu
Y3Rpb25zW2ldKCk7Ci0gICAgICAgICAgICB9IGNhdGNoIChlKSB7Ci0gICAgICAgICAgICAgICAg
Y29uc29sZS5lcnJvcigiRXhjZXB0aW9uIGluIHRlc3QgaW5pdGlhbGl6YXRpb246ICIgKyBlKTsK
LSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwotICAgICAgICAg
ICAgfQotICAgICAgICB9Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gcnVuVGVzdEluRnJvbnRlbmQo
dGVzdEZ1bmN0aW9uLCBjb21wbGV0ZVRlc3RDYWxsSWQpCi0gICAgewotICAgICAgICBpZiAoSW5z
cGVjdG9yVGVzdC5jb21wbGV0ZVRlc3RDYWxsSWQpIAotICAgICAgICAgICAgcmV0dXJuOwotCi0g
ICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0Q2FsbElkID0gY29tcGxldGVUZXN0Q2Fs
bElkOwotCi0gICAgICAgIFdlYkluc3BlY3Rvci5zaG93UGFuZWwoImF1ZGl0cyIpOwotICAgICAg
ICB0cnkgewotICAgICAgICAgICAgdGVzdEZ1bmN0aW9uKCk7Ci0gICAgICAgIH0gY2F0Y2ggKGUp
IHsKLSAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoIkV4Y2VwdGlvbiBkdXJpbmcgdGVzdCBleGVj
dXRpb246ICIgKyBlLCAgKGUuc3RhY2sgPyBlLnN0YWNrIDogIiIpICk7Ci0gICAgICAgICAgICBJ
bnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwotICAgICAgICB9Ci0gICAgfQotCi0gICAgdmFy
IGluaXRpYWxpemF0aW9uRnVuY3Rpb25zID0gWyBTdHJpbmcoaW5pdGlhbGl6ZV9JbnNwZWN0b3JU
ZXN0KSBdOwotICAgIGZvciAodmFyIG5hbWUgaW4gd2luZG93KSB7Ci0gICAgICAgIGlmIChuYW1l
LmluZGV4T2YoImluaXRpYWxpemVfIikgPT09IDAgJiYgdHlwZW9mIHdpbmRvd1tuYW1lXSA9PT0g
ImZ1bmN0aW9uIiAmJiBuYW1lICE9PSAiaW5pdGlhbGl6ZV9JbnNwZWN0b3JUZXN0IikKLSAgICAg
ICAgICAgIGluaXRpYWxpemF0aW9uRnVuY3Rpb25zLnB1c2god2luZG93W25hbWVdLnRvU3RyaW5n
KCkpOwotICAgIH0KLSAgICB2YXIgcGFyYW1ldGVycyA9IFsiWyIgKyBpbml0aWFsaXphdGlvbkZ1
bmN0aW9ucyArICJdIl07Ci0gICAgdmFyIHRvRXZhbHVhdGUgPSAiKCIgKyBpbml0aWFsaXplRnJv
bnRlbmQgKyAiKSgiICsgcGFyYW1ldGVycy5qb2luKCIsICIpICsgIik7IjsKLSAgICB0ZXN0UnVu
bmVyLmV2YWx1YXRlSW5XZWJJbnNwZWN0b3IoaW5pdGlhbGl6ZUNhbGxJZCwgdG9FdmFsdWF0ZSk7
Ci0KLSAgICBwYXJhbWV0ZXJzID0gW3Rlc3QsIGNvbXBsZXRlVGVzdENhbGxJZF07Ci0gICAgdG9F
dmFsdWF0ZSA9ICIoIiArIHJ1blRlc3RJbkZyb250ZW5kICsgIikoIiArIHBhcmFtZXRlcnMuam9p
bigiLCAiKSArICIpOyI7Ci0gICAgdGVzdFJ1bm5lci5ldmFsdWF0ZUluV2ViSW5zcGVjdG9yKHJ1
blRlc3RDYWxsSWQsIHRvRXZhbHVhdGUpOwotCi0gICAgaWYgKGVuYWJsZVdhdGNoRG9nV2hpbGVE
ZWJ1Z2dpbmcpIHsKLSAgICAgICAgZnVuY3Rpb24gd2F0Y2hEb2coKQotICAgICAgICB7Ci0gICAg
ICAgICAgICBjb25zb2xlLmxvZygiSW50ZXJuYWwgd2F0Y2hkb2cgdHJpZ2dlcmVkIGF0IDIwIHNl
Y29uZHMuIFRlc3QgdGltZWQgb3V0LiIpOwotICAgICAgICAgICAgY2xvc2VJbnNwZWN0b3JBbmRO
b3RpZnlEb25lKCk7Ci0gICAgICAgIH0KLSAgICAgICAgd2luZG93Ll93YXRjaERvZ1RpbWVyID0g
c2V0VGltZW91dCh3YXRjaERvZywgMjAwMDApOwotICAgIH0KLX0KLQotZnVuY3Rpb24gZGlkRXZh
bHVhdGVGb3JUZXN0SW5Gcm9udGVuZChjYWxsSWQpCi17Ci0gICAgaWYgKGNhbGxJZCAhPT0gY29t
cGxldGVUZXN0Q2FsbElkKQotICAgICAgICByZXR1cm47Ci0gICAgZGVsZXRlIHdpbmRvdy5jb21w
bGV0ZVRlc3RDYWxsSWQ7Ci0gICAgLy8gQ2xvc2UgaW5zcGVjdG9yIGFzeW5jaHJvdXNseSB0byBh
bGxvdyBjYWxsZXIgb2YgdGhpcwotICAgIC8vIGZ1bmN0aW9uIHNlbmQgcmVzcG9uc2UgYmVmb3Jl
IGJhY2tlbmQgZGlzcGF0Y2hlciBhbmQgZnJvbnRlbmQgYXJlIGRlc3Ryb3llZC4KLSAgICBzZXRU
aW1lb3V0KGNsb3NlSW5zcGVjdG9yQW5kTm90aWZ5RG9uZSwgMCk7Ci19Ci0KLWZ1bmN0aW9uIGNs
b3NlSW5zcGVjdG9yQW5kTm90aWZ5RG9uZSgpCi17Ci0gICAgaWYgKHdpbmRvdy5fd2F0Y2hEb2dU
aW1lcikKLSAgICAgICAgY2xlYXJUaW1lb3V0KHdpbmRvdy5fd2F0Y2hEb2dUaW1lcik7Ci0KLSAg
ICB0ZXN0UnVubmVyLmNsb3NlV2ViSW5zcGVjdG9yKCk7Ci0gICAgc2V0VGltZW91dChmdW5jdGlv
bigpIHsKLSAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci0gICAgfSwgMCk7Ci19Ci0K
LXZhciBvdXRwdXRFbGVtZW50OwotCi1mdW5jdGlvbiBvdXRwdXQodGV4dCkKLXsKLSAgICBpZiAo
IW91dHB1dEVsZW1lbnQpIHsKLSAgICAgICAgdmFyIGludGVybWVkaWF0ZSA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoImRpdiIpOwotICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGlu
dGVybWVkaWF0ZSk7Ci0KLSAgICAgICAgdmFyIGludGVybWVkaWF0ZTIgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJkaXYiKTsKLSAgICAgICAgaW50ZXJtZWRpYXRlLmFwcGVuZENoaWxkKGludGVy
bWVkaWF0ZTIpOwotCi0gICAgICAgIG91dHB1dEVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJkaXYiKTsKLSAgICAgICAgb3V0cHV0RWxlbWVudC5jbGFzc05hbWUgPSAib3V0cHV0IjsK
LSAgICAgICAgb3V0cHV0RWxlbWVudC5pZCA9ICJvdXRwdXQiOwotICAgICAgICBvdXRwdXRFbGVt
ZW50LnN0eWxlLndoaXRlU3BhY2UgPSAicHJlIjsKLSAgICAgICAgaW50ZXJtZWRpYXRlMi5hcHBl
bmRDaGlsZChvdXRwdXRFbGVtZW50KTsKLSAgICB9Ci0gICAgb3V0cHV0RWxlbWVudC5hcHBlbmRD
aGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSh0ZXh0KSk7Ci0gICAgb3V0cHV0RWxlbWVudC5h
cHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJiciIpKTsKLX0KLQotZnVuY3Rpb24g
Y2xlYXJPdXRwdXQoKQotewotICAgIGlmIChvdXRwdXRFbGVtZW50KSB7Ci0gICAgICAgIG91dHB1
dEVsZW1lbnQucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChvdXRwdXRFbGVtZW50KTsKLSAgICAgICAg
b3V0cHV0RWxlbWVudCA9IG51bGw7Ci0gICAgfQotfQotCi1mdW5jdGlvbiBTdGFuZGFsb25lVGVz
dFJ1bm5lclN0dWIoKQotewotfQotCi1TdGFuZGFsb25lVGVzdFJ1bm5lclN0dWIucHJvdG90eXBl
ID0gewotICAgIGR1bXBBc1RleHQ6IGZ1bmN0aW9uKCkKLSAgICB7Ci0gICAgfSwKLQotICAgIHdh
aXRVbnRpbERvbmU6IGZ1bmN0aW9uKCkKLSAgICB7Ci0gICAgfSwKLQotICAgIGNsb3NlV2ViSW5z
cGVjdG9yOiBmdW5jdGlvbigpCi0gICAgewotICAgICAgICB3aW5kb3cub3BlbmVyLnBvc3RNZXNz
YWdlKFsiY2xvc2VXZWJJbnNwZWN0b3IiXSwgIioiKTsKLSAgICB9LAotCi0gICAgbm90aWZ5RG9u
ZTogZnVuY3Rpb24oKQotICAgIHsKLSAgICAgICAgdmFyIGFjdHVhbCA9IGRvY3VtZW50LmJvZHku
aW5uZXJUZXh0ICsgIlxuIjsKLSAgICAgICAgd2luZG93Lm9wZW5lci5wb3N0TWVzc2FnZShbIm5v
dGlmeURvbmUiLCBhY3R1YWxdLCAiKiIpOwotICAgIH0sCi0KLSAgICBldmFsdWF0ZUluV2ViSW5z
cGVjdG9yOiBmdW5jdGlvbihjYWxsSWQsIHNjcmlwdCkKLSAgICB7Ci0gICAgICAgIHdpbmRvdy5v
cGVuZXIucG9zdE1lc3NhZ2UoWyJldmFsdWF0ZUluV2ViSW5zcGVjdG9yIiwgY2FsbElkLCBzY3Jp
cHRdLCAiKiIpOwotICAgIH0sCi0KLSAgICBkaXNwbGF5OiBmdW5jdGlvbigpIHsgfQotfQotCi1p
ZiAoIXdpbmRvdy50ZXN0UnVubmVyICYmIHdpbmRvdy5vcGVuZXIpCi0gICAgd2luZG93LnRlc3RS
dW5uZXIgPSBuZXcgU3RhbmRhbG9uZVRlc3RSdW5uZXJTdHViKCk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9pc29sYXRlZC1maWxlc3lzdGVtLXRlc3QuanMg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9pc29sYXRlZC1maWxlc3lzdGVtLXRl
c3QuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGNkMTQ1MWRkMjI2NjcyNTBkZGQ4
YzkyODBlNTE4MWFmOWUyYzJjYTIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvaXNvbGF0ZWQtZmls
ZXN5c3RlbS10ZXN0LmpzCisrKyAvZGV2L251bGwKQEAgLTEsNjMgKzAsMCBAQAotdmFyIGluaXRp
YWxpemVfSXNvbGF0ZWRGaWxlU3lzdGVtVGVzdCA9IGZ1bmN0aW9uKCkgewotCi1JbnNwZWN0b3JU
ZXN0LmNyZWF0ZUlzb2xhdGVkRmlsZVN5c3RlbU1hbmFnZXIgPSBmdW5jdGlvbih3b3Jrc3BhY2Us
IGZpbGVTeXN0ZW1NYXBwaW5nKQotewotICAgIHZhciBtYW5hZ2VyID0gbmV3IE1vY2tJc29sYXRl
ZEZpbGVTeXN0ZW1NYW5hZ2VyKCk7Ci0gICAgbWFuYWdlci5maWxlU3lzdGVtV29ya3NwYWNlUHJv
dmlkZXIgPSBuZXcgV2ViSW5zcGVjdG9yLkZpbGVTeXN0ZW1Xb3Jrc3BhY2VQcm92aWRlcihtYW5h
Z2VyLCB3b3Jrc3BhY2UpOwotICAgIG1hbmFnZXIuZmlsZVN5c3RlbU1hcHBpbmcgPSBmaWxlU3lz
dGVtTWFwcGluZzsKLSAgICByZXR1cm4gbWFuYWdlcjsKLX0KLQotdmFyIE1vY2tJc29sYXRlZEZp
bGVTeXN0ZW0gPSBmdW5jdGlvbihwYXRoLCBmaWxlcykKLXsKLSAgICB0aGlzLl9wYXRoID0gcGF0
aDsKLSAgICB0aGlzLl9maWxlcyA9IGZpbGVzOwotfTsKLU1vY2tJc29sYXRlZEZpbGVTeXN0ZW0u
cHJvdG90eXBlID0gewotICAgIHBhdGg6IGZ1bmN0aW9uKCkKLSAgICB7Ci0gICAgICAgIHJldHVy
biB0aGlzLl9wYXRoOwotICAgIH0sCi0KLSAgICByZXF1ZXN0RmlsZUNvbnRlbnQ6IGZ1bmN0aW9u
KHBhdGgsIGNhbGxiYWNrKQotICAgIHsKLSAgICAgICAgY2FsbGJhY2sodGhpcy5fZmlsZXNbcGF0
aF0pOwotICAgIH0sCi0KLSAgICBzZXRGaWxlQ29udGVudDogZnVuY3Rpb24ocGF0aCwgbmV3Q29u
dGVudCwgY2FsbGJhY2spCi0gICAgewotICAgICAgICB0aGlzLl9maWxlc1twYXRoXSA9IG5ld0Nv
bnRlbnQ7Ci0gICAgICAgIGNhbGxiYWNrKCk7Ci0gICAgfSwKLQotICAgIHJlcXVlc3RGaWxlc1Jl
Y3Vyc2l2ZTogZnVuY3Rpb24ocGF0aCwgY2FsbGJhY2spCi0gICAgewotICAgICAgICB2YXIgZmls
ZXMgPSBPYmplY3Qua2V5cyh0aGlzLl9maWxlcyk7Ci0gICAgICAgIGZvciAodmFyIGkgPSAwOyBp
IDwgZmlsZXMubGVuZ3RoOyArK2kpCi0gICAgICAgICAgICBjYWxsYmFjayhmaWxlc1tpXSk7Ci0g
ICAgfSwKLX0KLQotdmFyIE1vY2tJc29sYXRlZEZpbGVTeXN0ZW1NYW5hZ2VyID0gZnVuY3Rpb24o
KSB7fTsKLU1vY2tJc29sYXRlZEZpbGVTeXN0ZW1NYW5hZ2VyLnByb3RvdHlwZSA9IHsKLSAgICBh
ZGRNb2NrRmlsZVN5c3RlbTogZnVuY3Rpb24ocGF0aCwgZmlsZXMpCi0gICAgewotICAgICAgICB2
YXIgZmlsZVN5c3RlbSA9IG5ldyBNb2NrSXNvbGF0ZWRGaWxlU3lzdGVtKHBhdGgsIGZpbGVzKTsK
LSAgICAgICAgdGhpcy5fZmlsZVN5c3RlbXMgPSB0aGlzLl9maWxlU3lzdGVtcyB8fCB7fTsKLSAg
ICAgICAgdGhpcy5fZmlsZVN5c3RlbXNbcGF0aF0gPSBmaWxlU3lzdGVtOwotICAgICAgICB0aGlz
LmZpbGVTeXN0ZW1NYXBwaW5nLmFkZEZpbGVTeXN0ZW1NYXBwaW5nKHBhdGgpOwotICAgICAgICB0
aGlzLmRpc3BhdGNoRXZlbnRUb0xpc3RlbmVycyhXZWJJbnNwZWN0b3IuSXNvbGF0ZWRGaWxlU3lz
dGVtTWFuYWdlci5FdmVudHMuRmlsZVN5c3RlbUFkZGVkLCBmaWxlU3lzdGVtKTsKLSAgICB9LAot
Ci0gICAgcmVtb3ZlTW9ja0ZpbGVTeXN0ZW06IGZ1bmN0aW9uKHBhdGgpCi0gICAgewotICAgICAg
ICB2YXIgZmlsZVN5c3RlbSA9IHRoaXMuX2ZpbGVTeXN0ZW1zW3BhdGhdOwotICAgICAgICBkZWxl
dGUgdGhpcy5fZmlsZVN5c3RlbXNbcGF0aF07Ci0gICAgICAgIHRoaXMuZmlsZVN5c3RlbU1hcHBp
bmcucmVtb3ZlRmlsZVN5c3RlbU1hcHBpbmcocGF0aCk7Ci0gICAgICAgIHRoaXMuZGlzcGF0Y2hF
dmVudFRvTGlzdGVuZXJzKFdlYkluc3BlY3Rvci5Jc29sYXRlZEZpbGVTeXN0ZW1NYW5hZ2VyLkV2
ZW50cy5GaWxlU3lzdGVtUmVtb3ZlZCwgZmlsZVN5c3RlbSk7Ci0gICAgfSwKLQotICAgIF9fcHJv
dG9fXzogV2ViSW5zcGVjdG9yLk9iamVjdC5wcm90b3R5cGUKLX0KLQotfTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2xpdmUtZWRpdC10ZXN0LmpzIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvbGl2ZS1lZGl0LXRlc3QuanMKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDc0NTA2ZjViOTc0MmVlMzcxYjI5ZjhlNzE1NDM5ZGMyMzk4
NjNhOTIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvbGl2ZS1lZGl0LXRlc3QuanMKKysrIC9kZXYv
bnVsbApAQCAtMSwyNyArMCwwIEBACi12YXIgaW5pdGlhbGl6ZV9MaXZlRWRpdFRlc3QgPSBmdW5j
dGlvbigpIHsKLQotSW5zcGVjdG9yVGVzdC5yZXBsYWNlSW5Tb3VyY2UgPSBmdW5jdGlvbihzb3Vy
Y2VGcmFtZSwgc3RyaW5nLCByZXBsYWNlbWVudCkKLXsKLSAgICBzb3VyY2VGcmFtZS5fdGV4dEVk
aXRvci5fbWFpblBhbmVsLnNldFJlYWRPbmx5KGZhbHNlKTsKLSAgICBmb3IgKHZhciBpID0gMDsg
aSA8IHNvdXJjZUZyYW1lLl90ZXh0RWRpdG9yLmxpbmVzQ291bnQ7ICsraSkgewotICAgICAgICB2
YXIgbGluZSA9IHNvdXJjZUZyYW1lLl90ZXh0RWRpdG9yLmxpbmUoaSk7Ci0gICAgICAgIHZhciBj
b2x1bW4gPSBsaW5lLmluZGV4T2Yoc3RyaW5nKTsKLSAgICAgICAgaWYgKGNvbHVtbiA9PT0gLTEp
Ci0gICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgcmFuZ2UgPSBuZXcgV2ViSW5zcGVjdG9y
LlRleHRSYW5nZShpLCBjb2x1bW4sIGksIGNvbHVtbiArIHN0cmluZy5sZW5ndGgpOwotICAgICAg
ICB2YXIgbmV3UmFuZ2UgPSBzb3VyY2VGcmFtZS5fdGV4dEVkaXRvci5lZGl0UmFuZ2UocmFuZ2Us
IHJlcGxhY2VtZW50KTsKLSAgICAgICAgYnJlYWs7Ci0gICAgfQotfQotCi1JbnNwZWN0b3JUZXN0
LmNvbW1pdFNvdXJjZSA9IGZ1bmN0aW9uKHNvdXJjZUZyYW1lKQotewotICAgIHNvdXJjZUZyYW1l
Ll9jb21taXRFZGl0aW5nKCk7Ci19Ci0KLUluc3BlY3RvclRlc3QudW5kb1NvdXJjZUVkaXRpbmcg
PSBmdW5jdGlvbihzb3VyY2VGcmFtZSkKLXsKLSAgICBzb3VyY2VGcmFtZS5fdGV4dEVkaXRvci5f
bWFpblBhbmVsLl9oYW5kbGVVbmRvUmVkbyhmYWxzZSk7Ci19Ci0KLX07CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9tb2RpZnktY3Jvc3MtZG9tYWluLXJ1bGUt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvbW9kaWZ5LWNy
b3NzLWRvbWFpbi1ydWxlLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggYTNhZWE2MDgyOTgyYmMzNjcyZDVkOTU2OTg3MmVkMmVkNGU0ZjIxYS4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2luc3BlY3Rvci9tb2RpZnktY3Jvc3MtZG9tYWluLXJ1bGUtZXhwZWN0ZWQudHh0CisrKyAvZGV2
L251bGwKQEAgLTEsMTcgKzAsMCBAQAotVGVzdHMgdGhhdCBtb2RpZnlpbmcgYSBydWxlIGluIGEg
c3R5bGVzaGVldCBsb2FkZWQgZnJvbSBhIGRpZmZlcmVudCBkb21haW4gZG9lcyBub3QgY3Jhc2gg
dGhlIHJlbmRlcmVyLgotCi1UZXh0Ci0KLVJ1bm5pbmc6IHRlc3RTZXRVcAotCi1SdW5uaW5nOiB0
ZXN0QWRkUHJvcGVydHkKLT09PSBSdWxlIG1vZGlmaWVkID09PQotY29sb3I6IGdyZWVuOwotd2lk
dGg6IDEwMCU7Ci09PT0gU2VsZWN0b3IgY2hhbmdlZCA9PT0KLWJvZHkgewotICBjb2xvcjogZ3Jl
ZW47Ci0gIHdpZHRoOiAxMDAlOwotfQotQWZmZWN0cyBzZWxlY3RlZCAoI2luc3BlY3RlZCkgbm9k
ZTogZmFsc2UKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3Iv
bW9kaWZ5LWNyb3NzLWRvbWFpbi1ydWxlLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2lu
c3BlY3Rvci9tb2RpZnktY3Jvc3MtZG9tYWluLXJ1bGUuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggY2I3OWRkM2ZlYjdkMTQ5NDIzYzA3MDYyMmIyYmVjMDM3MWZlMjUyYi4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2luc3BlY3Rvci9tb2RpZnktY3Jvc3MtZG9tYWluLXJ1bGUuaHRtbAorKysgL2Rl
di9udWxsCkBAIC0xLDExMCArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPGxpbmsgcmVsPSJzdHls
ZXNoZWV0IiBocmVmPSJodHRwOi8vbG9jYWxob3N0OjgwMDAvaW5zcGVjdG9yL3N0eWxlcy9tb2Rp
ZnktY3Jvc3MtZG9tYWluLXJ1bGUuY3NzIj4KLTxzY3JpcHQgc3JjPSJpbnNwZWN0b3ItdGVzdC5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iZWxlbWVudHMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0PgotCi1mdW5jdGlvbiB0ZXN0KCkKLXsKLSAgICB2YXIgbm9kZUlkOwotICAgIHZhciBh
bGxSdWxlczsKLSAgICB2YXIgcnVsZTsKLSAgICB2YXIgbWF0Y2hlZFJ1bGVzOwotCi0gICAgV2Vi
SW5zcGVjdG9yLnNob3dQYW5lbCgiZWxlbWVudHMiKTsKLQotICAgIEluc3BlY3RvclRlc3QucnVu
VGVzdFN1aXRlKFsKLSAgICAgICAgZnVuY3Rpb24gdGVzdFNldFVwKG5leHQpIHsKLSAgICAgICAg
ICAgIEluc3BlY3RvclRlc3Quc2VsZWN0Tm9kZUFuZFdhaXRGb3JTdHlsZXMoImluc3BlY3RlZCIs
IHNlbGVjdENhbGxiYWNrKTsKLQotICAgICAgICAgICAgZnVuY3Rpb24gc2VsZWN0Q2FsbGJhY2so
KQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIHZhciBpZFRvRE9NTm9kZSA9IFdlYklu
c3BlY3Rvci5kb21BZ2VudC5faWRUb0RPTU5vZGU7Ci0gICAgICAgICAgICAgICAgZm9yICh2YXIg
aWQgaW4gaWRUb0RPTU5vZGUpIHsKLSAgICAgICAgICAgICAgICAgICAgbm9kZSA9IGlkVG9ET01O
b2RlW2lkXTsKLSAgICAgICAgICAgICAgICAgICAgaWYgKG5vZGUuZ2V0QXR0cmlidXRlICYmIG5v
ZGUuZ2V0QXR0cmlidXRlKCJpZCIpID09PSAiaW5zcGVjdGVkIikgewotICAgICAgICAgICAgICAg
ICAgICAgICAgbm9kZUlkID0gcGFyc2VJbnQoaWQsIDEwKTsKLSAgICAgICAgICAgICAgICAgICAg
ICAgIGJyZWFrOwotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgfQotCi0g
ICAgICAgICAgICAgICAgaWYgKCFub2RlSWQpIHsKLSAgICAgICAgICAgICAgICAgICAgSW5zcGVj
dG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwotICAg
ICAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgICAgIFdlYkluc3BlY3Rvci5jc3NNb2RlbC5n
ZXRNYXRjaGVkU3R5bGVzQXN5bmMobm9kZUlkLCBmYWxzZSwgZmFsc2UsIGNhbGxiYWNrKTsKLSAg
ICAgICAgICAgIH0KLQotICAgICAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2socnVsZXMpCi0gICAg
ICAgICAgICB7Ci0gICAgICAgICAgICAgICAgaWYgKCFydWxlcyB8fCAhcnVsZXMubWF0Y2hlZENT
U1J1bGVzIHx8ICFydWxlcy5tYXRjaGVkQ1NTUnVsZXMubGVuZ3RoKSB7Ci0gICAgICAgICAgICAg
ICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJbIV0gTm8gcnVsZXMgZm91bmQiKTsKLSAg
ICAgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKLSAgICAgICAg
ICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgICAg
IGFsbFJ1bGVzID0gcnVsZXMubWF0Y2hlZENTU1J1bGVzOwotICAgICAgICAgICAgICAgIG5leHQo
KTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfSwKLQotICAgICAgICBmdW5jdGlvbiB0ZXN0QWRk
UHJvcGVydHkobmV4dCkKLSAgICAgICAgewotICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkg
PCBhbGxSdWxlcy5sZW5ndGg7ICsraSkgewotICAgICAgICAgICAgICAgIGlmIChhbGxSdWxlc1tp
XS5pc1JlZ3VsYXIpIHsKLSAgICAgICAgICAgICAgICAgICAgcnVsZSA9IGFsbFJ1bGVzW2ldOwot
ICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAg
ICB9Ci0gICAgICAgICAgICBydWxlLnN0eWxlLmFwcGVuZFByb3BlcnR5KCJ3aWR0aCIsICIxMDAl
IiwgY2FsbGJhY2spOwotICAgICAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2sobmV3U3R5bGUpCi0g
ICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIj09
PSBSdWxlIG1vZGlmaWVkID09PSIpOwotICAgICAgICAgICAgICAgIGlmICghbmV3U3R5bGUpIHsK
LSAgICAgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIlshXSBObyB2YWxp
ZCBydWxlIHN0eWxlIHJlY2VpdmVkIik7Ci0gICAgICAgICAgICAgICAgICAgIEluc3BlY3RvclRl
c3QuY29tcGxldGVUZXN0KCk7Ci0gICAgICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAg
ICAgICAgICAgZHVtcFByb3BlcnRpZXMobmV3U3R5bGUpOwotICAgICAgICAgICAgICAgICAgICBX
ZWJJbnNwZWN0b3IuY3NzTW9kZWwuc2V0UnVsZVNlbGVjdG9yKHJ1bGUuaWQsIG5vZGVJZCwgImJv
ZHkiLCBzdWNjZXNzQ2FsbGJhY2ssIGZhaWx1cmVDYWxsYmFjayk7Ci0gICAgICAgICAgICAgICAg
fQotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICBmdW5jdGlvbiBzdWNjZXNzQ2FsbGJhY2so
cnVsZSwgZG9lc0FmZmVjdFNlbGVjdGVkTm9kZSkKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAg
ICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiPT09IFNlbGVjdG9yIGNoYW5nZWQgPT09Iik7
Ci0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQocnVsZS5zZWxlY3RvclRl
eHQgKyAiIHsiICsgcnVsZS5zdHlsZS5jc3NUZXh0ICsgIn0iKTsKLSAgICAgICAgICAgICAgICBJ
bnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiQWZmZWN0cyBzZWxlY3RlZCAoI2luc3BlY3RlZCkgbm9k
ZTogIiArIGRvZXNBZmZlY3RTZWxlY3RlZE5vZGUpOwotICAgICAgICAgICAgICAgIG5leHQoKTsK
LSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgZnVuY3Rpb24gZmFpbHVyZUNhbGxiYWNrKCkK
LSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgi
WyFdIEZhaWxlZCB0byBjaGFuZ2Ugc2VsZWN0b3IiKTsKLSAgICAgICAgICAgICAgICBJbnNwZWN0
b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwotICAgICAgICAgICAgfQotICAgICAgICB9Ci0gICAgXSk7
Ci0KLSAgICBmdW5jdGlvbiBkdW1wUHJvcGVydGllcyhzdHlsZSkKLSAgICB7Ci0gICAgICAgaWYg
KCFzdHlsZSkKLSAgICAgICAgICAgcmV0dXJuOwotICAgICAgIHZhciBhbGxQcm9wZXJ0aWVzID0g
c3R5bGUuYWxsUHJvcGVydGllczsKLSAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGFsbFByb3Bl
cnRpZXMubGVuZ3RoOyArK2kpCi0gICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KGFs
bFByb3BlcnRpZXNbaV0udGV4dCk7Ci0gICAgfQotfQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci0KLTxi
b2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxwPgotVGVzdHMgdGhhdCBtb2RpZnlpbmcgYSBydWxl
IGluIGEgc3R5bGVzaGVldCBsb2FkZWQgZnJvbSBhIGRpZmZlcmVudCBkb21haW4gZG9lcyBub3Qg
Y3Jhc2ggdGhlIHJlbmRlcmVyLgotPC9wPgotCi08ZGl2IGlkPSJpbnNwZWN0ZWQiPlRleHQ8L2Rp
dj4KLQotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9pbnNwZWN0b3IvbmV0d29yay1wcmVmbGlnaHQtb3B0aW9ucy1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrLXByZWZsaWdodC1vcHRpb25zLWV4
cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODQ2MDkxNzNiNDQ5ODFk
YjgyYTlhMGI2ZjA0MDJmZTA5YWMzZDYwZi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3Jr
LXByZWZsaWdodC1vcHRpb25zLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDE2ICsw
LDAgQEAKLUNPTlNPTEUgTUVTU0FHRTogWE1MSHR0cFJlcXVlc3QgY2Fubm90IGxvYWQgaHR0cDov
L2xvY2FsaG9zdDo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZXMvY29ycy10YXJnZXQucGhwP2lkPTAm
ZGVueT15ZXMuIE9yaWdpbiBodHRwOi8vMTI3LjAuMC4xOjgwMDAgaXMgbm90IGFsbG93ZWQgYnkg
QWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luLgotQ09OU09MRSBNRVNTQUdFOiBYTUxIdHRwUmVx
dWVzdCBjYW5ub3QgbG9hZCBodHRwOi8vbG9jYWxob3N0OjgwMDAvaW5zcGVjdG9yL3Jlc291cmNl
cy9jb3JzLXRhcmdldC5waHA/aWQ9MSZkZW55PXllcy4gT3JpZ2luIGh0dHA6Ly8xMjcuMC4wLjE6
ODAwMCBpcyBub3QgYWxsb3dlZCBieSBBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4uCi1DT05T
T0xFIE1FU1NBR0U6IFhNTEh0dHBSZXF1ZXN0IGNhbm5vdCBsb2FkIGh0dHA6Ly9sb2NhbGhvc3Q6
ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2VzL2NvcnMtdGFyZ2V0LnBocD9pZD0zJmRlbnk9eWVzLiBP
cmlnaW4gaHR0cDovLzEyNy4wLjAuMTo4MDAwIGlzIG5vdCBhbGxvd2VkIGJ5IEFjY2Vzcy1Db250
cm9sLUFsbG93LU9yaWdpbi4KLUNPTlNPTEUgTUVTU0FHRTogWE1MSHR0cFJlcXVlc3QgY2Fubm90
IGxvYWQgaHR0cDovL2xvY2FsaG9zdDo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZXMvY29ycy10YXJn
ZXQucGhwP2lkPTQmZGVueT15ZXMuIE9yaWdpbiBodHRwOi8vMTI3LjAuMC4xOjgwMDAgaXMgbm90
IGFsbG93ZWQgYnkgQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luLgotVGVzdHMgdGhhdCBwcmVm
bGlnaHQgT1BUSU9OUyByZXF1ZXN0cyBhcHBlYXIgaW4gTmV0d29yayByZXNvdXJjZXMKLQotQnVn
IDYzNzEyCi0wIHhocjpQT1NUIGh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9pbnNwZWN0b3IvcmVzb3Vy
Y2VzL2NvcnMtdGFyZ2V0LnBocD9pZD0wJmRlbnk9eWVzCi0xIHhocjpPUFRJT05TIGh0dHA6Ly9s
b2NhbGhvc3Q6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2VzL2NvcnMtdGFyZ2V0LnBocD9pZD0xJmRl
bnk9eWVzCi0yIHhocjpPUFRJT05TIGh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9pbnNwZWN0b3IvcmVz
b3VyY2VzL2NvcnMtdGFyZ2V0LnBocD9pZD0yCi0yIHhocjpQT1NUIGh0dHA6Ly9sb2NhbGhvc3Q6
ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2VzL2NvcnMtdGFyZ2V0LnBocD9pZD0yCi0zIG90aGVyOlBP
U1QgaHR0cDovL2xvY2FsaG9zdDo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZXMvY29ycy10YXJnZXQu
cGhwP2lkPTMmZGVueT15ZXMKLTQgeGhyOk9QVElPTlMgaHR0cDovL2xvY2FsaG9zdDo4MDAwL2lu
c3BlY3Rvci9yZXNvdXJjZXMvY29ycy10YXJnZXQucGhwP2lkPTQmZGVueT15ZXMKLTUgeGhyOk9Q
VElPTlMgaHR0cDovL2xvY2FsaG9zdDo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZXMvY29ycy10YXJn
ZXQucGhwP2lkPTUKLTUgeGhyOlBPU1QgaHR0cDovL2xvY2FsaG9zdDo4MDAwL2luc3BlY3Rvci9y
ZXNvdXJjZXMvY29ycy10YXJnZXQucGhwP2lkPTUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29yay1wcmVmbGlnaHQtb3B0aW9ucy5odG1sIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29yay1wcmVmbGlnaHQtb3B0aW9ucy5o
dG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmOGUxMzc0ODkwNjI5OGQ5MDIyNGQy
YTEyNzgyZmE3NGVlYTg3MjJmLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL25ldHdvcmstcHJlZmxp
Z2h0LW9wdGlvbnMuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDg5ICswLDAgQEAKLTxodG1sPgot
PGhlYWQ+Ci08c2NyaXB0IHNyYz0iaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlw
dCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgotZnVuY3Rpb24gc2VuZFhIUih1cmwsIGZvcmNlUHJl
ZmxpZ2h0LCBhc3luYywgY2FsbGJhY2spCi17Ci0gICAgdmFyIHhociA9IG5ldyBYTUxIdHRwUmVx
dWVzdCgpOwotCi0gICAgeGhyLm9ucmVhZHlzdGF0ZWNoYW5nZSA9IGZ1bmN0aW9uKCkKLSAgICB7
Ci0gICAgICAgIGlmICh4aHIucmVhZHlTdGF0ZSA9PT0gWE1MSHR0cFJlcXVlc3QuRE9ORSkgewot
ICAgICAgICAgICAgaWYgKHR5cGVvZihjYWxsYmFjaykgPT09ICJmdW5jdGlvbiIpCi0gICAgICAg
ICAgICAgICAgY2FsbGJhY2soKTsKLSAgICAgICAgfQotICAgIH07Ci0KLSAgICB4aHIub3Blbigi
UE9TVCIsIHVybCwgYXN5bmMpOwotICAgIHhoci5zZXRSZXF1ZXN0SGVhZGVyKCJDb250ZW50LVR5
cGUiLCBmb3JjZVByZWZsaWdodCA/ICJhcHBsaWNhdGlvbi94bWwiIDogInRleHQvcGxhaW4iKTsK
LSAgICB0cnkgewotICAgICAgICB4aHIuc2VuZCgiPHhtbD48L3htbD4iKTsgIC8vIERlbmllZCBy
ZXF1ZXN0cyB3aWxsIGNhdXNlIGV4Y2VwdGlvbnMuCi0gICAgfSBjYXRjaCAoZSkgewotICAgIH0K
LX0KLQotdmFyIGJhc2VUYXJnZXRVUkwgPSAiaHR0cDovL2xvY2FsaG9zdDo4MDAwL2luc3BlY3Rv
ci9yZXNvdXJjZXMvY29ycy10YXJnZXQucGhwIjsKLQotZnVuY3Rpb24gdGFyZ2V0VVJMKGlkLCBk
ZW55LCBhZGRUaW1lc3RhbXApCi17Ci0gICAgdmFyIHJlc3VsdCA9IGJhc2VUYXJnZXRVUkwgKyAi
P2lkPSIgKyBpZDsKLSAgICBpZiAoZGVueSkKLSAgICAgICAgcmVzdWx0ICs9ICImZGVueT15ZXMi
OwotICAgIGlmIChhZGRUaW1lc3RhbXApCi0gICAgICAgIHJlc3VsdCArPSAiJmRhdGU9IiArIERh
dGUubm93KCk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotZnVuY3Rpb24gZG9Dcm9zc09yaWdp
blhIUigpCi17Ci0gICAgLy8gRmFpbGVkIFBPU1RzIHdpdGggbm8gcHJlZmxpZ2h0IGNoZWNrIHNo
b3VsZCByZXN1bHQgaW4gYSBQT1NUIHJlcXVlc3QgYmVpbmcgbG9nZ2VkCi0gICAgc2VuZFhIUih0
YXJnZXRVUkwoMCwgdHJ1ZSwgZmFsc2UpLCBmYWxzZSwgZmFsc2UpOwotICAgIC8vIEZhaWxlZCBQ
T1NUcyB3aXRoIHByZWZsaWdodCBjaGVjayBzaG91bGQgcmVzdWx0IGluIGFuIE9QVElPTlMgcmVx
dWVzdCBiZWluZyBsb2dnZWQKLSAgICBzZW5kWEhSKHRhcmdldFVSTCgxLCB0cnVlLCBmYWxzZSks
IHRydWUsIGZhbHNlKTsKLSAgICAvLyBTdWNjZXNzZnVsIFBPU1RzIHdpdGggcHJlZmxpZ2h0IGNo
ZWNrIHNob3VsZCByZXN1bHQgaW4gYW4gT1BUSU9OUyByZXF1ZXN0IGZvbGxvd2VkIGJ5IFBPU1Qg
cmVxdWVzdCBiZWluZyBsb2dnZWQKLSAgICAvLyBHZW5lcmF0ZSByZXF1ZXN0IG5hbWUgYmFzZWQg
b24gdGltZXN0YW1wIHRvIGRlZmVhdCBPUFRJT05TIHJlcXVlc3QgY2FjaGluZyAodGhpcyBpcyBv
bmx5IHJlbGV2YW50IGZvciByZXBlYXRlZCBpbnZvY2F0aW9ucyBvZiB0aGUgdGVzdCBpbiBzaWdu
bGUgaW5zdGFuY2Ugb2YgRFJUKQotICAgIHNlbmRYSFIodGFyZ2V0VVJMKDIsIGZhbHNlLCB0cnVl
KSwgdHJ1ZSwgZmFsc2UpOwotCi0gICAgLy8gQW5kIG5vdyBzZW5kIHRoZSBzYW1lIHJlcXVlc3Rz
IGFzeW5jaHJvbm91c2x5Ci0gICAgLy8gQWRkIHJlZHVuZGFudCBhc3luYyBwYXJhbWV0ZXIgdG8g
ZW5zdXJlIHRoaXMgcmVxdWVzdCBkaWZmZXJzIGZyb20gdGhlIG9uZSBhYm92ZS4KLSAgICBzZW5k
WEhSKHRhcmdldFVSTCgzLCB0cnVlLCBmYWxzZSksIGZhbHNlLCB0cnVlLCBzdGVwMik7Ci19Ci0K
LWZ1bmN0aW9uIHN0ZXAyKCkKLXsKLSAgICBzZW5kWEhSKHRhcmdldFVSTCg0LCB0cnVlLCBmYWxz
ZSksIHRydWUsIHRydWUsIHN0ZXAzKTsKLX0KLQotZnVuY3Rpb24gc3RlcDMoKQotewotICAgIHNl
bmRYSFIodGFyZ2V0VVJMKDUsIGZhbHNlLCB0cnVlKSwgdHJ1ZSwgdHJ1ZSk7Ci19Ci0KLXZhciB0
ZXN0ID0gZnVuY3Rpb24oKQotewotICAgIHZhciByZXF1ZXN0TWVzc2FnZXMgPSBbXTsKLSAgICB2
YXIgcG9zdFJlcXVlc3RzQ291bnQgPSAwOwotICAgIGZ1bmN0aW9uIG9uUmVxdWVzdChldmVudCkK
LSAgICB7Ci0gICAgICAgIHZhciByZXF1ZXN0ID0gZXZlbnQuZGF0YTsKLSAgICAgICAgdmFyIGlk
TWF0Y2ggPSAvXD9pZD0oWzAtOV0qKSYvLmV4ZWMocmVxdWVzdC51cmwpOwotICAgICAgICB2YXIg
cmVxdWVzdElkID0gaWRNYXRjaFsxXTsKLSAgICAgICAgdmFyIHJlcXVlc3RNZXNzYWdlID0gcmVx
dWVzdElkICsgIiAiICsgcmVxdWVzdC50eXBlICsgIjoiICsgcmVxdWVzdC5yZXF1ZXN0TWV0aG9k
ICsgIiAiICsgcmVxdWVzdC51cmwucmVwbGFjZSgvWyY/XWRhdGU9XGQrLywgIiIpOwotICAgICAg
ICByZXF1ZXN0TWVzc2FnZXMucHVzaChyZXF1ZXN0TWVzc2FnZSk7Ci0gICAgICAgIGlmIChyZXF1
ZXN0LnJlcXVlc3RNZXRob2QgPT09ICJQT1NUIiAmJiArK3Bvc3RSZXF1ZXN0c0NvdW50ID09PSA0
KSB7Ci0gICAgICAgICAgICByZXF1ZXN0TWVzc2FnZXMuc29ydCgpOwotICAgICAgICAgICAgZm9y
ICh2YXIgaSA9IDA7IGkgPCByZXF1ZXN0TWVzc2FnZXMubGVuZ3RoOyBpKyspCi0gICAgICAgICAg
ICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQocmVxdWVzdE1lc3NhZ2VzW2ldKTsKLSAgICAg
ICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7Ci0gICAgICAgIH0KLSAgICB9Ci0g
ICAgV2ViSW5zcGVjdG9yLm5ldHdvcmtNYW5hZ2VyLmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVj
dG9yLk5ldHdvcmtNYW5hZ2VyLkV2ZW50VHlwZXMuUmVxdWVzdEZpbmlzaGVkLCBvblJlcXVlc3Qp
OwotICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoImRvQ3Jvc3NPcmlnaW5YSFIoKTsi
KTsKLX0KLTwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotPHA+
VGVzdHMgdGhhdCBwcmVmbGlnaHQgT1BUSU9OUyByZXF1ZXN0cyBhcHBlYXIgaW4gTmV0d29yayBy
ZXNvdXJjZXM8L3A+Ci08YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NjM3MTIiPkJ1ZyA2MzcxMjwvYT4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL25ldHdvcmstdGVzdC5qcyBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL25ldHdvcmstdGVzdC5qcwpkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggYWE0MTQ5N2YyMWFmMmFmZTA2Y2YwNDY4MTIyZTgxNTg4MzczODgz
Zi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrLXRlc3QuanMKKysrIC9kZXYvbnVsbApA
QCAtMSwxMTMgKzAsMCBAQAotLy8gVGhpcyBnb2VzIGJlZm9yZSBldmVyeXRoaW5nIGVsc2UgdG8g
a2VlcCBjb25zb2xlIG1lc3NhZ2UgbGluZSBudW1iZXIgaW52YXJpYW50LgotdmFyIGxhc3RYSFJJ
bmRleCA9IDA7Ci1mdW5jdGlvbiB4aHJMb2FkZWRDYWxsYmFjaygpCi17Ci0gICAgLy8gV2UgbmVl
ZCB0byBtYWtlIHN1cmUgdGhlIGNvbnNvbGUgbWVzc2FnZSB0ZXh0IGlzIHVuaXF1ZSBzbyB0aGF0
IHdlIGRvbid0IGVuZCB1cCB3aXRoIHJlcGVhdCBjb3VudCB1cGRhdGUgb25seS4KLSAgICBjb25z
b2xlLmxvZygiWEhSIGxvYWRlZDogIiArICgrK2xhc3RYSFJJbmRleCkpOwotfQotCi12YXIgaW5p
dGlhbGl6ZV9OZXR3b3JrVGVzdCA9IGZ1bmN0aW9uKCkgewotCi1JbnNwZWN0b3JUZXN0LmR1bXBO
ZXR3b3JrUmVxdWVzdHMgPSBmdW5jdGlvbigpCi17Ci0gICAgdmFyIHJlcXVlc3RzID0gV2ViSW5z
cGVjdG9yLnBhbmVsKCJuZXR3b3JrIikucmVxdWVzdHMuc2xpY2UoKTsKLSAgICByZXF1ZXN0cy5z
b3J0KGZ1bmN0aW9uKGEsIGIpIHtyZXR1cm4gYS51cmwubG9jYWxlQ29tcGFyZShiLnVybCk7fSk7
Ci0gICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoInJlc291cmNlcyBjb3VudCA9ICIgKyByZXF1
ZXN0cy5sZW5ndGgpOwotICAgIGZvciAoaSA9IDA7IGkgPCByZXF1ZXN0cy5sZW5ndGg7IGkrKykK
LSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQocmVxdWVzdHNbaV0udXJsKTsKLX0KLQot
SW5zcGVjdG9yVGVzdC5yZXNldEluc3BlY3RvclJlc291cmNlc0RhdGEgPSBmdW5jdGlvbihjYWxs
YmFjaykKLXsKLSAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJyZXNldEluc3BlY3Rv
clJlc291cmNlc0RhdGEoKSIsIG5leHRTdGVwKTsKLQotICAgIGZ1bmN0aW9uIG5leHRTdGVwKHJl
c3VsdCkKLSAgICB7Ci0gICAgICAgIGlmICghcmVzdWx0KSB7Ci0gICAgICAgICAgICBJbnNwZWN0
b3JUZXN0LmFkZFJlc3VsdCgiVGhpcyB0ZXN0IGNhbiBub3QgYmUgcnVuIGFzIHdpbmRvdy5pbnRl
cm5hbHMgaXMgbm90IGF2YWlsYWJsZS4iKTsKLSAgICAgICAgICAgIEluc3BlY3Rvci5jb21wbGV0
ZVRlc3QoKTsKLSAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICBjYWxsYmFjaygpOwotICAgIH0K
LX0KLQotSW5zcGVjdG9yVGVzdC5tYWtlU2ltcGxlWEhSID0gZnVuY3Rpb24obWV0aG9kLCB1cmws
IGFzeW5jLCBjYWxsYmFjaykKLXsKLSAgICBJbnNwZWN0b3JUZXN0Lm1ha2VYSFIobWV0aG9kLCB1
cmwsIGFzeW5jLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgW10sIGZhbHNlLCB1bmRlZmluZWQsIGNh
bGxiYWNrKTsKLX0KLQotSW5zcGVjdG9yVGVzdC5tYWtlU2ltcGxlWEhSV2l0aFBheWxvYWQgPSBm
dW5jdGlvbihtZXRob2QsIHVybCwgYXN5bmMsIHBheWxvYWQsIGNhbGxiYWNrKQotewotICAgIElu
c3BlY3RvclRlc3QubWFrZVhIUihtZXRob2QsIHVybCwgYXN5bmMsIHVuZGVmaW5lZCwgdW5kZWZp
bmVkLCBbXSwgZmFsc2UsIHBheWxvYWQsIGNhbGxiYWNrKTsKLX0KLQotSW5zcGVjdG9yVGVzdC5t
YWtlWEhSID0gZnVuY3Rpb24obWV0aG9kLCB1cmwsIGFzeW5jLCB1c2VyLCBwYXNzd29yZCwgaGVh
ZGVycywgd2l0aENyZWRlbnRpYWxzLCBwYXlsb2FkLCBjYWxsYmFjaykKLXsKLSAgICB2YXIgYXJn
cyA9IHt9OwotICAgIGFyZ3MubWV0aG9kID0gbWV0aG9kOwotICAgIGFyZ3MudXJsID0gdXJsOwot
ICAgIGFyZ3MuYXN5bmMgPSBhc3luYzsKLSAgICBhcmdzLnVzZXIgPSB1c2VyOwotICAgIGFyZ3Mu
cGFzc3dvcmQgPSBwYXNzd29yZDsKLSAgICBhcmdzLmhlYWRlcnMgPSBoZWFkZXJzOwotICAgIGFy
Z3Mud2l0aENyZWRlbnRpYWxzID0gd2l0aENyZWRlbnRpYWxzOwotICAgIGFyZ3MucGF5bG9hZCA9
IHBheWxvYWQ7Ci0gICAgdmFyIGpzb25BcmdzID0gSlNPTi5zdHJpbmdpZnkoYXJncykucmVwbGFj
ZSgvXCIvZywgIlxcXCIiKTsKLQotICAgIGZ1bmN0aW9uIGlubmVyQ2FsbGJhY2sobXNnKQotICAg
IHsKLSAgICAgICAgaWYgKG1zZy5fbWVzc2FnZVRleHQuaW5kZXhPZigiWEhSIGxvYWRlZCIpICE9
PSAtMSkKLSAgICAgICAgICAgIGNhbGxiYWNrKCk7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAg
IEluc3BlY3RvclRlc3QuYWRkQ29uc29sZVNuaWZmZXIoaW5uZXJDYWxsYmFjayk7Ci0gICAgfQot
Ci0gICAgSW5zcGVjdG9yVGVzdC5hZGRDb25zb2xlU25pZmZlcihpbm5lckNhbGxiYWNrKTsKLSAg
ICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJtYWtlWEhSRm9ySlNPTkFyZ3VtZW50cyhc
IiIgKyBqc29uQXJncyArICJcIikiKTsKLX0KLQotfTsKLQotZnVuY3Rpb24gbWFrZVNpbXBsZVhI
UihtZXRob2QsIHVybCwgYXN5bmMsIGNhbGxiYWNrKQotewotICAgIG1ha2VTaW1wbGVYSFJXaXRo
UGF5bG9hZChtZXRob2QsIHVybCwgYXN5bmMsIG51bGwsIGNhbGxiYWNrKTsKLX0KLQotZnVuY3Rp
b24gbWFrZVNpbXBsZVhIUldpdGhQYXlsb2FkKG1ldGhvZCwgdXJsLCBhc3luYywgcGF5bG9hZCwg
Y2FsbGJhY2spCi17Ci0gICAgbWFrZVhIUihtZXRob2QsIHVybCwgYXN5bmMsIHVuZGVmaW5lZCwg
dW5kZWZpbmVkLCBbXSwgZmFsc2UsIHBheWxvYWQsIGNhbGxiYWNrKQotfQotCi1mdW5jdGlvbiBt
YWtlWEhSKG1ldGhvZCwgdXJsLCBhc3luYywgdXNlciwgcGFzc3dvcmQsIGhlYWRlcnMsIHdpdGhD
cmVkZW50aWFscywgcGF5bG9hZCwgY2FsbGJhY2spCi17Ci0gICAgdmFyIHhociA9IG5ldyBYTUxI
dHRwUmVxdWVzdCgpOwotICAgIHhoci5vbnJlYWR5c3RhdGVjaGFuZ2UgPSBmdW5jdGlvbigpCi0g
ICAgewotICAgICAgICBpZiAoeGhyLnJlYWR5U3RhdGUgPT09IFhNTEh0dHBSZXF1ZXN0LkRPTkUp
IHsKLSAgICAgICAgICAgIGlmICh0eXBlb2YoY2FsbGJhY2spID09PSAiZnVuY3Rpb24iKQotICAg
ICAgICAgICAgICAgIGNhbGxiYWNrKCk7Ci0gICAgICAgIH0KLSAgICB9Ci0gICAgeGhyLm9wZW4o
bWV0aG9kLCB1cmwsIGFzeW5jLCB1c2VyLCBwYXNzd29yZCk7Ci0gICAgeGhyLndpdGhDcmVkZW50
aWFscyA9IHdpdGhDcmVkZW50aWFsczsKLSAgICBmb3IgKHZhciAgaSA9IDA7IGkgPCBoZWFkZXJz
Lmxlbmd0aDsgKytpKQotICAgICAgICB4aHIuc2V0UmVxdWVzdEhlYWRlcihoZWFkZXJzW2ldWzBd
LCBoZWFkZXJzW2ldWzFdKTsKLSAgICB4aHIuc2VuZChwYXlsb2FkKTsKLX0KLQotZnVuY3Rpb24g
bWFrZVhIUkZvckpTT05Bcmd1bWVudHMoanNvbkFyZ3MpCi17Ci0gICAgdmFyIGFyZ3MgPSBKU09O
LnBhcnNlKGpzb25BcmdzKTsKLSAgICBtYWtlWEhSKGFyZ3MubWV0aG9kLCBhcmdzLnVybCwgYXJn
cy5hc3luYywgYXJncy51c2VyLCBhcmdzLnBhc3N3b3JkLCBhcmdzLmhlYWRlcnMsIGFyZ3Mud2l0
aENyZWRlbnRpYWxzLCBhcmdzLnBheWxvYWQsIHhockxvYWRlZENhbGxiYWNrKTsKLX0KLQotCi1m
dW5jdGlvbiByZXNldEluc3BlY3RvclJlc291cmNlc0RhdGEoKQotewotICAgIGlmICghd2luZG93
LmludGVybmFscykKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgaW50ZXJuYWxzLnNldElu
c3BlY3RvclJlc291cmNlc0RhdGFTaXplTGltaXRzKDEwICogMTAwMCAqIDEwMDAsIDEwMDAgKiAx
MDAwKTsKLSAgICByZXR1cm4gdHJ1ZTsKLX0KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29yay9hc3luYy14aHItanNvbi1taW1lLXR5cGUtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29yay9hc3luYy14
aHItanNvbi1taW1lLXR5cGUtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCA2ZGYwOThmYzk1YzVhNjU3NmQ0ZmJiYWEyMmVlMDdiOTRmYzE0Nzc5Li4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvaW5zcGVjdG9yL25ldHdvcmsvYXN5bmMteGhyLWpzb24tbWltZS10eXBlLWV4cGVjdGVkLnR4
dAorKysgL2Rldi9udWxsCkBAIC0xLDEwICswLDAgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSA2
OiBYSFIgbG9hZGVkOiAxCi1UZXN0cyBYSFIgbmV0d29yayByZXNvdXJjZSBjb250ZW50IGZvciBh
c3luY2hyb25vdXMgcmVxdWVzdHMgd2l0aCBhcHBsaWNhdGlvbi9qc29uIG1pbWUgdHlwZS4gQnVn
IDgwNjg0Ci0KLWh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvbmV0d29yay9yZXNvdXJj
ZXMvanNvbi5waHAKLXJlc291cmNlLnR5cGU6IHhocgotcmVzb3VyY2UuY29udGVudCBiZWZvcmUg
cmVxdWVzdGluZyBjb250ZW50OiB1bmRlZmluZWQKLXJlc291cmNlLmNvbnRlbnQgYWZ0ZXIgcmVx
dWVzdGluZyBjb250ZW50OiB7Im51bWJlciI6ICI0MiJ9Ci0KLQotCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL2FzeW5jLXhoci1qc29uLW1pbWUt
dHlwZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29yay9hc3lu
Yy14aHItanNvbi1taW1lLXR5cGUuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MGI4MjE1YzIzOTU2MGQ1OTQ0NDhiNTg0MTMxYjBhNGIyZjE3NzkxMy4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2lu
c3BlY3Rvci9uZXR3b3JrL2FzeW5jLXhoci1qc29uLW1pbWUtdHlwZS5odG1sCisrKyAvZGV2L251
bGwKQEAgLTEsMzYgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi9pbnNw
ZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vbmV0d29yay10ZXN0Lmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQ+Ci1mdW5jdGlvbiB0ZXN0KCkKLXsKLSAgICBJbnNwZWN0b3JU
ZXN0Lm1ha2VTaW1wbGVYSFIoIkdFVCIsICJyZXNvdXJjZXMvanNvbi5waHAiLCB0cnVlLCBzdGVw
Mik7Ci0KLSAgICBmdW5jdGlvbiBzdGVwMigpCi0gICAgewotICAgICAgICB2YXIgcmVxdWVzdDEg
PSBXZWJJbnNwZWN0b3IucGFuZWwoIm5ldHdvcmsiKS5yZXF1ZXN0c1tXZWJJbnNwZWN0b3IucGFu
ZWwoIm5ldHdvcmsiKS5yZXF1ZXN0cy5sZW5ndGggLSAxXTsKLSAgICAgICAgSW5zcGVjdG9yVGVz
dC5hZGRSZXN1bHQocmVxdWVzdDEudXJsKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1
bHQoInJlc291cmNlLnR5cGU6ICIgKyByZXF1ZXN0MS50eXBlKTsKLSAgICAgICAgSW5zcGVjdG9y
VGVzdC5hZGRSZXN1bHQoInJlc291cmNlLmNvbnRlbnQgYmVmb3JlIHJlcXVlc3RpbmcgY29udGVu
dDogIiArIHJlcXVlc3QxLmNvbnRlbnQpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydFRy
dWUoIXJlcXVlc3QxLmZhaWxlZCwgIlJlc291cmNlIGxvYWRpbmcgZmFpbGVkLiIpOwotICAgICAg
ICByZXF1ZXN0MS5yZXF1ZXN0Q29udGVudChzdGVwMyk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24g
c3RlcDMoKQotICAgIHsKLSAgICAgICAgdmFyIHJlcXVlc3QxID0gV2ViSW5zcGVjdG9yLnBhbmVs
KCJuZXR3b3JrIikucmVxdWVzdHNbV2ViSW5zcGVjdG9yLnBhbmVsKCJuZXR3b3JrIikucmVxdWVz
dHMubGVuZ3RoIC0gMV07Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJyZXNvdXJj
ZS5jb250ZW50IGFmdGVyIHJlcXVlc3RpbmcgY29udGVudDogIiArIHJlcXVlc3QxLmNvbnRlbnQp
OwotCi0gICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7Ci0gICAgfQotfQotPC9z
Y3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci0gPHA+Ci0gVGVzdHMg
WEhSIG5ldHdvcmsgcmVzb3VyY2UgY29udGVudCBmb3IgYXN5bmNocm9ub3VzIHJlcXVlc3RzIHdp
dGggYXBwbGljYXRpb24vanNvbiBtaW1lIHR5cGUuCi08YSBocmVmPSJodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODA2ODQiPkJ1ZyA4MDY4NDwvYT4KLTwvcD4KLTwvYm9k
eT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9y
L25ldHdvcmsvY2FjaGVkLXJlc291cmNlLWRlc3Ryb3llZC1tb3ZlZC10by1zdG9yYWdlLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL25ldHdvcmsvY2FjaGVk
LXJlc291cmNlLWRlc3Ryb3llZC1tb3ZlZC10by1zdG9yYWdlLWV4cGVjdGVkLnR4dApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzNiNDFlYmI3ZWE0Yzg2Mzc1YmRhNTM1MThjYTM2MjQy
MWI4MGJjNS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL2NhY2hlZC1yZXNvdXJjZS1k
ZXN0cm95ZWQtbW92ZWQtdG8tc3RvcmFnZS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAt
MSwxMSArMCwwIEBACi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTY6IERvbmUxLgotQ09OU09MRSBN
RVNTQUdFOiBsaW5lIDI2OiBEb25lMi4KLVRlc3RzIGNvbnRlbnQgaXMgbW92ZWQgZnJvbSBjYWNo
ZWQgcmVzb3VyY2UgdG8gcmVzb3VyY2UgYWdlbnQncyBkYXRhIHN0b3JhZ2Ugd2hlbiBjYWNoZWQg
cmVzb3VyY2UgaXMgZGVzdHJveWVkLgotCi1CdWcgOTIxMDggIAotaHR0cDovLzEyNy4wLjAuMTo4
MDAwL2luc3BlY3Rvci9uZXR3b3JrL3Jlc291cmNlcy9yZXNvdXJjZS5waHA/dHlwZT1pbWFnZSZy
YW5kb209MSZzaXplPTQwMAotcmVxdWVzdC50eXBlOiBpbWFnZQotcmVxdWVzdC5jb250ZW50Lmxl
bmd0aCBhZnRlciByZXF1ZXN0aW5nIGNvbnRlbnQ6IDUzNgotUmVsZWFzaW5nIGNhY2hlZCByZXNv
dXJjZS4KLXJlcXVlc3QuY29udGVudC5sZW5ndGggYWZ0ZXIgcmVxdWVzdGluZyBjb250ZW50OiA1
MzYKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29y
ay9jYWNoZWQtcmVzb3VyY2UtZGVzdHJveWVkLW1vdmVkLXRvLXN0b3JhZ2UuaHRtbCBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL25ldHdvcmsvY2FjaGVkLXJlc291cmNlLWRlc3Ry
b3llZC1tb3ZlZC10by1zdG9yYWdlLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IGIzODk1YjhjZGYzNmI4MmViMzc3YWExMmI3MWMwNzUyYmNhZmI5NjAuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9p
bnNwZWN0b3IvbmV0d29yay9jYWNoZWQtcmVzb3VyY2UtZGVzdHJveWVkLW1vdmVkLXRvLXN0b3Jh
Z2UuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDEwOSArMCwwIEBACi08aHRtbD4KLTxoZWFkPgot
PHNjcmlwdCBzcmM9Ii4uL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIuLi9uZXR3b3JrLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLXZhciBpbWFnZTsKLWZ1
bmN0aW9uIGxvYWRGaXJzdEltYWdlKCkgewotICAgIGltYWdlID0gbmV3IEltYWdlKCk7Ci0gICAg
aW1hZ2Uub25sb2FkID0gZmlyc3RJbWFnZUxvYWRlZDsKLSAgICBkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKGltYWdlKTsKLSAgICBpbWFnZS5zcmMgPSAicmVzb3VyY2VzL3Jlc291cmNlLnBocD90
eXBlPWltYWdlJnJhbmRvbT0xJnNpemU9NDAwIjsKLX0KLQotZnVuY3Rpb24gZmlyc3RJbWFnZUxv
YWRlZCgpCi17Ci0gICAgY29uc29sZS5sb2coIkRvbmUxLiIpOwotfQotCi1mdW5jdGlvbiBsb2Fk
U2Vjb25kSW1hZ2UoKSB7Ci0gICAgaW1hZ2Uub25sb2FkID0gc2Vjb25kSW1hZ2VMb2FkZWQ7Ci0g
ICAgaW1hZ2Uuc3JjID0gInJlc291cmNlcy9yZXNvdXJjZS5waHA/dHlwZT1pbWFnZSZyYW5kb209
MSZzaXplPTIwMCI7Ci19Ci0KLWZ1bmN0aW9uIHNlY29uZEltYWdlTG9hZGVkKCkKLXsKLSAgICBj
b25zb2xlLmxvZygiRG9uZTIuIik7Ci19Ci0KLWZ1bmN0aW9uIGZvcmNlQ2FjaGVkUmVzb3VyY2VM
b2FkZXJHQygpIHsKLSAgICBpZiAod2luZG93LmludGVybmFscykKLSAgICAgICAgd2luZG93Lmlu
dGVybmFscy5nYXJiYWdlQ29sbGVjdERvY3VtZW50UmVzb3VyY2VzKCk7Ci19Ci0KLWZ1bmN0aW9u
IHRlc3QoKQotewotICAgIC8vIFNpbmNlIHRoaXMgdGVzdCBjb3VsZCBiZSBydW4gdG9nZXRoZXIg
d2l0aCBvdGhlciBpbnNwZWN0b3IgYmFja2VuZCBjYWNoZQotICAgIC8vIHRlc3RzLCB3ZSBuZWVk
IHRvIHJlc2V0IHNpemUgbGltaXRzIHRvIGRlZmF1bHQgb25lcy4KLSAgICBJbnNwZWN0b3JUZXN0
LnJlc2V0SW5zcGVjdG9yUmVzb3VyY2VzRGF0YShzdGVwMSk7Ci0KLSAgICB2YXIgaW1hZ2VSZXF1
ZXN0OwotICAgIGZ1bmN0aW9uIHN0ZXAxKCkKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3Qu
YWRkQ29uc29sZVNuaWZmZXIoc3RlcDIpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRl
SW5QYWdlKCJsb2FkRmlyc3RJbWFnZSgpIik7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc3RlcDIo
KQotICAgIHsKLSAgICAgICAgaW1hZ2VSZXF1ZXN0ID0gV2ViSW5zcGVjdG9yLnBhbmVsKCJuZXR3
b3JrIikucmVxdWVzdHNbV2ViSW5zcGVjdG9yLnBhbmVsKCJuZXR3b3JrIikucmVxdWVzdHMubGVu
Z3RoIC0gMV07Ci0gICAgICAgIGltYWdlUmVxdWVzdC5yZXF1ZXN0Q29udGVudChzdGVwMyk7Ci0g
ICAgfQotCi0gICAgdmFyIG9yaWdpbmFsQ29udGVudExlbmd0aDsKLSAgICBmdW5jdGlvbiBzdGVw
MygpCi0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdChpbWFnZVJlcXVlc3Qu
dXJsKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoInJlcXVlc3QudHlwZTogIiAr
IGltYWdlUmVxdWVzdC50eXBlKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoInJl
cXVlc3QuY29udGVudC5sZW5ndGggYWZ0ZXIgcmVxdWVzdGluZyBjb250ZW50OiAiICsgaW1hZ2VS
ZXF1ZXN0LmNvbnRlbnQubGVuZ3RoKTsKLSAgICAgICAgb3JpZ2luYWxDb250ZW50TGVuZ3RoID0g
aW1hZ2VSZXF1ZXN0LmNvbnRlbnQubGVuZ3RoOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2Vy
dFRydWUoaW1hZ2VSZXF1ZXN0LmNvbnRlbnQubGVuZ3RoID4gMCwgIk5vIGNvbnRlbnQgYmVmb3Jl
IGRlc3Ryb3lpbmcgQ2FjaGVkUmVzb3VyY2UuIik7Ci0KLSAgICAgICAgSW5zcGVjdG9yVGVzdC5h
ZGRSZXN1bHQoIlJlbGVhc2luZyBjYWNoZWQgcmVzb3VyY2UuIik7Ci0gICAgICAgIC8vIExvYWRp
bmcgYW5vdGhlciBpbWFnZSB0byB0aGUgc2FtZSBpbWFnZSBlbGVtZW50IHNvIHRoYXQgdGhlIG9y
aWdpbmFsIGltYWdlIGNhY2hlZCByZXNvdXJjZSBpcyByZWxlYXNlZC4KLSAgICAgICAgSW5zcGVj
dG9yVGVzdC5hZGRDb25zb2xlU25pZmZlcihzdGVwNCk7Ci0gICAgICAgIEluc3BlY3RvclRlc3Qu
ZXZhbHVhdGVJblBhZ2UoImxvYWRTZWNvbmRJbWFnZSgpIik7Ci0gICAgfQotCi0gICAgZnVuY3Rp
b24gc3RlcDQobXNnKQotICAgIHsKLSAgICAgICAgLy8gRGlzYWJsZS1lbmFibGUgY2FjaGUgdG8g
Zm9yY2UgTWVtb3J5Q2FjaGU6OmV2aWN0UmVzb3VyY2VzKCkuCi0gICAgICAgIE5ldHdvcmtBZ2Vu
dC5zZXRDYWNoZURpc2FibGVkKHRydWUsIHN0ZXA1KTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBz
dGVwNShtc2cpCi0gICAgewotICAgICAgICBOZXR3b3JrQWdlbnQuc2V0Q2FjaGVEaXNhYmxlZChm
YWxzZSwgc3RlcDYpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0ZXA2KCkKLSAgICB7Ci0gICAg
ICAgIC8vIEZvcmNlIENhY2hlZFJlc291cmNlTG9hZGVyIGdhcmJhZ2UgY29sbGVjdG9yIHJ1bi4K
LSAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgiZm9yY2VDYWNoZWRSZXNvdXJj
ZUxvYWRlckdDKCkiKTsKLQotICAgICAgICAvLyBSZS1yZXF1ZXN0IGNvbnRlbnQgbm93IHRoYXQg
Q2FjaGVkUmVzb3VyY2Ugc2hvdWxkIGhhdmUgYmVlbiBkZXN0cm95ZWQuCi0gICAgICAgIGRlbGV0
ZSBpbWFnZVJlcXVlc3QuX2NvbnRlbnQ7Ci0gICAgICAgIGltYWdlUmVxdWVzdC5yZXF1ZXN0Q29u
dGVudChzdGVwNyk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc3RlcDcoKQotICAgIHsKLSAgICAg
ICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoInJlcXVlc3QuY29udGVudC5sZW5ndGggYWZ0ZXIg
cmVxdWVzdGluZyBjb250ZW50OiAiICsgaW1hZ2VSZXF1ZXN0LmNvbnRlbnQubGVuZ3RoKTsKLSAg
ICAgICAgb3JpZ2luYWxDb250ZW50TGVuZ3RoID0gaW1hZ2VSZXF1ZXN0LmNvbnRlbnQubGVuZ3Ro
OwotICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydFRydWUoaW1hZ2VSZXF1ZXN0LmNvbnRlbnQu
bGVuZ3RoID09PSBvcmlnaW5hbENvbnRlbnRMZW5ndGgsICJDb250ZW50IGNoYW5nZWQgYWZ0ZXIg
Y2FjaGVkIHJlc291cmNlIHdhcyBkZXN0cm95ZWQiKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5y
ZXNldEluc3BlY3RvclJlc291cmNlc0RhdGEoc3RlcDgpOwotICAgIH0KLQotICAgIGZ1bmN0aW9u
IHN0ZXA4KCkKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7Ci0g
ICAgfQotfQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci08
cD5UZXN0cyBjb250ZW50IGlzIG1vdmVkIGZyb20gY2FjaGVkIHJlc291cmNlIHRvIHJlc291cmNl
IGFnZW50J3MgZGF0YSBzdG9yYWdlIHdoZW4gY2FjaGVkIHJlc291cmNlIGlzIGRlc3Ryb3llZC48
L3A+Ci08YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTIx
MDgiPkJ1ZyA5MjEwODwvYT4KLTwvYm9keT4KLTwvaHRtbD4KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29yay9jYWNoZWQtcmVzb3VyY2UtZGVzdHJv
eWVkLXRvby1iaWctZGlzY2FyZGVkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvaW5zcGVjdG9yL25ldHdvcmsvY2FjaGVkLXJlc291cmNlLWRlc3Ryb3llZC10b28tYmlnLWRp
c2NhcmRlZC1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZhNDI3
NDU2ZjNhOTk2YzNiNWI5MjFlZjQzZTIxODRkOGIyMmIzNWIuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0
b3IvbmV0d29yay9jYWNoZWQtcmVzb3VyY2UtZGVzdHJveWVkLXRvby1iaWctZGlzY2FyZGVkLWV4
cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDExICswLDAgQEAKLUNPTlNPTEUgTUVTU0FH
RTogbGluZSAyMzogRG9uZTEuCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMzM6IERvbmUyLgotVGVz
dHMgY2FjaGVkIHJlc291cmNlIGNvbnRlbnQgaXMgZGlzY2FyZGVkIHdoZW4gY2FjaGVkIHJlc291
cmNlIGlzIGRlc3Ryb3llZCBpZiBjb250ZW50IHNpemUgaXMgdG9vIGJpZyBmb3IgdGhlIHJlc291
cmNlIGFnZW50J3MgZGF0YSBzdG9yYWdlLgotCi1CdWcgOTIxMDggIAotaHR0cDovLzEyNy4wLjAu
MTo4MDAwL2luc3BlY3Rvci9uZXR3b3JrL3Jlc291cmNlcy9yZXNvdXJjZS5waHA/dHlwZT1pbWFn
ZSZyYW5kb209MSZzaXplPTQwMAotcmVxdWVzdC50eXBlOiBpbWFnZQotcmVxdWVzdC5jb250ZW50
Lmxlbmd0aCBhZnRlciByZXF1ZXN0aW5nIGNvbnRlbnQ6IDUzNgotUmVsZWFzaW5nIGNhY2hlZCBy
ZXNvdXJjZS4KLXJlcXVlc3QuY29udGVudCBhZnRlciByZXF1ZXN0aW5nIGNvbnRlbnQ6IG51bGwK
LQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29yay9j
YWNoZWQtcmVzb3VyY2UtZGVzdHJveWVkLXRvby1iaWctZGlzY2FyZGVkLmh0bWwgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL2NhY2hlZC1yZXNvdXJjZS1kZXN0cm95
ZWQtdG9vLWJpZy1kaXNjYXJkZWQuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
OTMwOGQwYjllMDU4Mjk3MzI5NmIxMzE5N2MxY2JjMDZhMGRiMTFlYy4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2lu
c3BlY3Rvci9uZXR3b3JrL2NhY2hlZC1yZXNvdXJjZS1kZXN0cm95ZWQtdG9vLWJpZy1kaXNjYXJk
ZWQuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDEwNiArMCwwIEBACi08aHRtbD4KLTxoZWFkPgot
PHNjcmlwdCBzcmM9Ii4uL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIuLi9uZXR3b3JrLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLXZhciBpbWFnZTsKLWZ1
bmN0aW9uIGxvYWRGaXJzdEltYWdlKCkgewotICAgIGlmICghd2luZG93LmludGVybmFscykgewot
ICAgICAgICBjb25zb2xlLmxvZygiVGhpcyB0ZXN0IGNhbiBub3QgYmUgcnVuIGFzIHdpbmRvdy5p
bnRlcm5hbHMgaXMgbm90IGF2YWlsYWJsZS4iKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLSAg
ICAvLyBNYWtlIHN1cmUgdGhlcmUgaXMgbm8gZW5vdWdoIHNwYWNlIHRvIHNhdmUgY29udGVudCBp
biByZXNvdXJjZSBhZ2VudCdzIHN0b3JhZ2UuCi0gICAgaW50ZXJuYWxzLnNldEluc3BlY3RvclJl
c291cmNlc0RhdGFTaXplTGltaXRzKDEwMCwgMTAwKTsKLQotICAgIGltYWdlID0gbmV3IEltYWdl
KCk7Ci0gICAgaW1hZ2Uub25sb2FkID0gZmlyc3RJbWFnZUxvYWRlZDsKLSAgICBkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKGltYWdlKTsKLSAgICBpbWFnZS5zcmMgPSAicmVzb3VyY2VzL3Jlc291
cmNlLnBocD90eXBlPWltYWdlJnJhbmRvbT0xJnNpemU9NDAwIjsKLX0KLQotZnVuY3Rpb24gZmly
c3RJbWFnZUxvYWRlZCgpCi17Ci0gICAgY29uc29sZS5sb2coIkRvbmUxLiIpOwotfQotCi1mdW5j
dGlvbiBsb2FkU2Vjb25kSW1hZ2UoKSB7Ci0gICAgaW1hZ2Uub25sb2FkID0gc2Vjb25kSW1hZ2VM
b2FkZWQ7Ci0gICAgaW1hZ2Uuc3JjID0gInJlc291cmNlcy9yZXNvdXJjZS5waHA/dHlwZT1pbWFn
ZSZyYW5kb209MSZzaXplPTIwMCI7Ci19Ci0KLWZ1bmN0aW9uIHNlY29uZEltYWdlTG9hZGVkKCkK
LXsKLSAgICBjb25zb2xlLmxvZygiRG9uZTIuIik7Ci19Ci0KLWZ1bmN0aW9uIGZvcmNlQ2FjaGVk
UmVzb3VyY2VMb2FkZXJHQygpIHsKLSAgICBpZiAod2luZG93LmludGVybmFscykKLSAgICAgICAg
d2luZG93LmludGVybmFscy5nYXJiYWdlQ29sbGVjdERvY3VtZW50UmVzb3VyY2VzKCk7Ci19Ci0K
LWZ1bmN0aW9uIHRlc3QoKQotewotICAgIHZhciBpbWFnZVJlcXVlc3Q7Ci0gICAgSW5zcGVjdG9y
VGVzdC5hZGRDb25zb2xlU25pZmZlcihzdGVwMik7Ci0gICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0
ZUluUGFnZSgibG9hZEZpcnN0SW1hZ2UoKSIpOwotCi0gICAgZnVuY3Rpb24gc3RlcDIoKQotICAg
IHsKLSAgICAgICAgaW1hZ2VSZXF1ZXN0ID0gV2ViSW5zcGVjdG9yLnBhbmVsKCJuZXR3b3JrIiku
cmVxdWVzdHNbV2ViSW5zcGVjdG9yLnBhbmVsKCJuZXR3b3JrIikucmVxdWVzdHMubGVuZ3RoIC0g
MV07Ci0gICAgICAgIGltYWdlUmVxdWVzdC5yZXF1ZXN0Q29udGVudChzdGVwMyk7Ci0gICAgfQot
Ci0gICAgZnVuY3Rpb24gc3RlcDMoKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRS
ZXN1bHQoaW1hZ2VSZXF1ZXN0LnVybCk7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0
KCJyZXF1ZXN0LnR5cGU6ICIgKyBpbWFnZVJlcXVlc3QudHlwZSk7Ci0gICAgICAgIEluc3BlY3Rv
clRlc3QuYWRkUmVzdWx0KCJyZXF1ZXN0LmNvbnRlbnQubGVuZ3RoIGFmdGVyIHJlcXVlc3Rpbmcg
Y29udGVudDogIiArIGltYWdlUmVxdWVzdC5jb250ZW50Lmxlbmd0aCk7Ci0gICAgICAgIEluc3Bl
Y3RvclRlc3QuYXNzZXJ0VHJ1ZShpbWFnZVJlcXVlc3QuY29udGVudC5sZW5ndGggPiAwLCAiTm8g
Y29udGVudCBiZWZvcmUgZGVzdHJveWluZyBDYWNoZWRSZXNvdXJjZS4iKTsKLQotICAgICAgICBJ
bnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiUmVsZWFzaW5nIGNhY2hlZCByZXNvdXJjZS4iKTsKLSAg
ICAgICAgLy8gTG9hZGluZyBhbm90aGVyIGltYWdlIHRvIHRoZSBzYW1lIGltYWdlIGVsZW1lbnQg
c28gdGhhdCB0aGUgb3JpZ2luYWwgaW1hZ2UgY2FjaGVkIHJlc291cmNlIGlzIHJlbGVhc2VkLgot
ICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZENvbnNvbGVTbmlmZmVyKHN0ZXA0KTsKLSAgICAgICAg
SW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgibG9hZFNlY29uZEltYWdlKCkiKTsKLSAgICB9
Ci0KLSAgICBmdW5jdGlvbiBzdGVwNChtc2cpCi0gICAgewotICAgICAgICAvLyBEaXNhYmxlLWVu
YWJsZSBjYWNoZSB0byBmb3JjZSBNZW1vcnlDYWNoZTo6ZXZpY3RSZXNvdXJjZXMoKS4KLSAgICAg
ICAgTmV0d29ya0FnZW50LnNldENhY2hlRGlzYWJsZWQodHJ1ZSwgc3RlcDUpOwotICAgIH0KLQot
ICAgIGZ1bmN0aW9uIHN0ZXA1KG1zZykKLSAgICB7Ci0gICAgICAgIE5ldHdvcmtBZ2VudC5zZXRD
YWNoZURpc2FibGVkKGZhbHNlLCBzdGVwNik7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc3RlcDYo
KQotICAgIHsKLSAgICAgICAgLy8gRm9yY2UgQ2FjaGVkUmVzb3VyY2VMb2FkZXIgZ2FyYmFnZSBj
b2xsZWN0b3IgcnVuLgotICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJmb3Jj
ZUNhY2hlZFJlc291cmNlTG9hZGVyR0MoKSIpOwotCi0gICAgICAgIC8vIFJlLXJlcXVlc3QgY29u
dGVudCBub3cgdGhhdCBDYWNoZWRSZXNvdXJjZSBzaG91bGQgaGF2ZSBiZWVuIGRlc3Ryb3llZC4K
LSAgICAgICAgZGVsZXRlIGltYWdlUmVxdWVzdC5fY29udGVudDsKLSAgICAgICAgaW1hZ2VSZXF1
ZXN0LnJlcXVlc3RDb250ZW50KHN0ZXA3KTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwNygp
Ci0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgicmVxdWVzdC5jb250ZW50
IGFmdGVyIHJlcXVlc3RpbmcgY29udGVudDogIiArIGltYWdlUmVxdWVzdC5jb250ZW50KTsKLSAg
ICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRUcnVlKCFpbWFnZVJlcXVlc3QuY29udGVudCwgIkNv
bnRlbnQgYXZhaWxhYmxlIGFmdGVyIENhY2hlZFJlc291cmNlIHdhcyBkZXN0cm95ZWQuIik7Ci0g
ICAgICAgIEluc3BlY3RvclRlc3QucmVzZXRJbnNwZWN0b3JSZXNvdXJjZXNEYXRhKHN0ZXA4KTsK
LSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwOCgpCi0gICAgewotICAgICAgICBJbnNwZWN0b3JU
ZXN0LmNvbXBsZXRlVGVzdCgpOwotICAgIH0KLX0KLTwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkg
b25sb2FkPSJydW5UZXN0KCkiPgotPHA+VGVzdHMgY2FjaGVkIHJlc291cmNlIGNvbnRlbnQgaXMg
ZGlzY2FyZGVkIHdoZW4gY2FjaGVkIHJlc291cmNlIGlzIGRlc3Ryb3llZCBpZiBjb250ZW50IHNp
emUgaXMgdG9vIGJpZyBmb3IgdGhlIHJlc291cmNlIGFnZW50J3MgZGF0YSBzdG9yYWdlLjwvcD4K
LTxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MjEwOCI+
QnVnIDkyMTA4PC9hPgotPC9ib2R5PgotPC9odG1sPgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL2Nzcy1zb3VyY2UtbWFwcGluZy11cmwtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29yay9jc3Mt
c291cmNlLW1hcHBpbmctdXJsLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMzQwMmQ5MTUxZTVkZjM5ZmUxNmE2OTM0NGFhMjI2YTkyYmUyYzVkYS4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL2luc3BlY3Rvci9uZXR3b3JrL2Nzcy1zb3VyY2UtbWFwcGluZy11cmwtZXhwZWN0ZWQudHh0
CisrKyAvZGV2L251bGwKQEAgLTEsNyArMCwwIEBACi1UZXN0cyB0aGF0IHRoZSBleHRyYVJlc291
cmNlSW5mbyBpbiBOZXR3b3JrLmxvYWRpbmdGaW5pc2hlZCBjb250YWlucyBhIHNvdXJjZU1hcFVS
TCBmb3IgYSBTdHlsZXNoZWV0IGNvbnRhaW5pbmcgYSBzb3VyY2VNYXBwaW5nVVJMLiBBbHNvIHRo
ZW4gdGVzdHMgdGhhdCBQYWdlLmdldFJlc291cmNlVHJlZSBjb250YWlucyB0aGUgc291cmNlTWFw
VVJMIGZvciB0aGUgcmVzb3VyY2UuCi0KLVJlc3BvbnNlIHJlY2VpdmVkIGZvciBzdHlsZS5jc3MK
LU5ldHdvcmsubG9hZGluZ0ZhaWxlZCBleHRyYVJlc291cmNlSW5mbyBjb250YWlucyBhIHNvdXJj
ZU1hcFVSTDogc291cmNlLW1hcC10ZXN0LXN0eWxlLmNzcy5tYXAKLVBhZ2UuZ2V0UmVzb3VyY2VU
cmVlIHJlc291cmNlUGF5bG9hZCBjb250YWlucyBzb3VyY2VNYXBVUkw6IHNvdXJjZS1tYXAtdGVz
dC1zdHlsZS5jc3MubWFwCi1TVUNDRVNTCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvaW5zcGVjdG9yL25ldHdvcmsvY3NzLXNvdXJjZS1tYXBwaW5nLXVybC5odG1sIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29yay9jc3Mtc291cmNlLW1hcHBpbmct
dXJsLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQwMDBiN2ZlY2Y3ZDY1ZmEy
Zjc5YWYzNTQyMTUxM2I3NjhhYzc5MjQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29yay9j
c3Mtc291cmNlLW1hcHBpbmctdXJsLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw4OCArMCwwIEBA
Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uL2luc3BlY3Rvci10ZXN0LmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQ+Ci1mdW5jdGlvbiBsb2FkU3R5bGVzaGVldFdpdGhTb3VyY2VNYXBwaW5n
VVJMKCkKLXsKLSAgICB2YXIgbGluayA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImxpbmsiKTsK
LSAgICBsaW5rLnJlbCA9ICJzdHlsZXNoZWV0IjsKLSAgICBsaW5rLnR5cGUgPSAidGV4dC9jc3Mi
OwotICAgIGxpbmsuaHJlZiA9ICJyZXNvdXJjZXMvc291cmNlLW1hcC10ZXN0LXN0eWxlLmNzcyI7
Ci0gICAgZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChsaW5rKTsKLX0KLQotZnVuY3Rpb24gdGVz
dCgpCi17Ci0gICAgSW5zcGVjdG9yVGVzdC5hZGRTbmlmZmVyKFdlYkluc3BlY3Rvci5OZXR3b3Jr
RGlzcGF0Y2hlci5wcm90b3R5cGUsICJsb2FkaW5nRmluaXNoZWQiLCBsb2FkaW5nRmluaXNoZWQp
OwotICAgIEluc3BlY3RvclRlc3QuYWRkU25pZmZlcihXZWJJbnNwZWN0b3IuTmV0d29ya0Rpc3Bh
dGNoZXIucHJvdG90eXBlLCAibG9hZGluZ0ZhaWxlZCIsIGxvYWRpbmdGYWlsZWQpOwotCi0gICAg
SW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgibG9hZFN0eWxlc2hlZXRXaXRoU291cmNlTWFw
cGluZ1VSTCgpIik7Ci0KLSAgICBmdW5jdGlvbiBsb2FkaW5nRmluaXNoZWQocmVxdWVzdElkLCB0
aW1lc3RhbXAsIHNvdXJjZU1hcFVSTCkKLSAgICB7Ci0gICAgICAgIHZhciByZXF1ZXN0ID0gV2Vi
SW5zcGVjdG9yLm5ldHdvcmtMb2cucmVxdWVzdEZvcklkKHJlcXVlc3RJZCk7Ci0gICAgICAgIGlm
ICgvc291cmNlLW1hcC10ZXN0LXN0eWxlXC5jc3MkLy5leGVjKHJlcXVlc3QudXJsKSkgewotICAg
ICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIlJlc3BvbnNlIHJlY2VpdmVkIGZvciBz
dHlsZS5jc3MiKTsKLSAgICAgICAgICAgIGlmIChzb3VyY2VNYXBVUkwpIHsKLSAgICAgICAgICAg
ICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiTmV0d29yay5sb2FkaW5nRmFpbGVkIGV4dHJh
UmVzb3VyY2VJbmZvIGNvbnRhaW5zIGEgc291cmNlTWFwVVJMOiAiICsgc291cmNlTWFwVVJMKTsK
LSAgICAgICAgICAgICAgICBhZnRlckxvYWRpbmdSZXNvdXJjZSgpOwotICAgICAgICAgICAgfSBl
bHNlIHsKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiTmV0d29yay5s
b2FkaW5nRmFpbGVkIGV4dHJhUmVzb3VyY2VJbmZvIG1pc3Npbmcgc291cmNlTWFwVVJMIik7Ci0g
ICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIkZBSUxVUkUiKTsKLSAgICAg
ICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwotICAgICAgICAgICAgfQot
ICAgICAgICB9Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gbG9hZGluZ0ZhaWxlZChyZXF1ZXN0SWQs
IHRpbWUsIGxvY2FsaXplZERlc2NyaXB0aW9uLCBjYW5jZWxlZCkKLSAgICB7Ci0gICAgICAgIHZh
ciByZXF1ZXN0ID0gV2ViSW5zcGVjdG9yLm5ldHdvcmtMb2cucmVxdWVzdEZvcklkKHJlcXVlc3RJ
ZCk7Ci0gICAgICAgIGlmICgvc291cmNlLW1hcC10ZXN0LXN0eWxlXC5jc3MkLy5leGVjKHJlcXVl
c3QudXJsKSkgewotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIkZhaWxlZCB0
byBsb2FkIHNvdXJjZS1tYXAtdGVzdC1zdHlsZS5jc3MiKTsKLSAgICAgICAgICAgIEluc3BlY3Rv
clRlc3QuYWRkUmVzdWx0KCJGQUlMVVJFIik7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmNv
bXBsZXRlVGVzdCgpOwotICAgICAgICB9Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gYWZ0ZXJMb2Fk
aW5nUmVzb3VyY2UoKQotICAgIHsKLSAgICAgICAgUGFnZUFnZW50LmdldFJlc291cmNlVHJlZShw
cm9jZXNzUmVzb3VyY2VUcmVlKTsKLQotICAgICAgICBmdW5jdGlvbiBwcm9jZXNzUmVzb3VyY2VU
cmVlKGVycm9yLCBtYWluRnJhbWVQYXlsb2FkKQotICAgICAgICB7Ci0gICAgICAgICAgICBpZiAo
ZXJyb3IpIHsKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiUGFnZS5n
ZXRSZXNvdXJjZVRyZWUgZXJyb3I6ICIgKyBlcnJvcik7Ci0gICAgICAgICAgICAgICAgSW5zcGVj
dG9yVGVzdC5hZGRSZXN1bHQoIkZBSUxVUkUiKTsKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JU
ZXN0LmNvbXBsZXRlVGVzdCgpOwotICAgICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgICAg
IH0KLQotICAgICAgICAgICAgdmFyIHJlc291cmNlcyA9IG1haW5GcmFtZVBheWxvYWQucmVzb3Vy
Y2VzOwotICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCByZXNvdXJjZXMubGVuZ3RoOyAr
K2kpIHsKLSAgICAgICAgICAgICAgICB2YXIgcmVzb3VyY2VQYXlsb2FkID0gcmVzb3VyY2VzW2ld
OwotICAgICAgICAgICAgICAgIGlmICgvc291cmNlLW1hcC10ZXN0LXN0eWxlXC5jc3MkLy5leGVj
KHJlc291cmNlUGF5bG9hZC51cmwpKSB7Ci0gICAgICAgICAgICAgICAgICAgIGlmIChyZXNvdXJj
ZVBheWxvYWQuc291cmNlTWFwVVJMKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBJbnNwZWN0
b3JUZXN0LmFkZFJlc3VsdCgiUGFnZS5nZXRSZXNvdXJjZVRyZWUgcmVzb3VyY2VQYXlsb2FkIGNv
bnRhaW5zIHNvdXJjZU1hcFVSTDogIiArIHJlc291cmNlUGF5bG9hZC5zb3VyY2VNYXBVUkwpOwot
ICAgICAgICAgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIlNVQ0NFU1Mi
KTsKLSAgICAgICAgICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7
Ci0gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBJ
bnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiUGFnZS5nZXRSZXNvdXJjZVRyZWUgcmVzb3VyY2VQYXls
b2FkIG1pc3Npbmcgc291cmNlTWFwVVJMIik7Ci0gICAgICAgICAgICAgICAgICAgICAgICBJbnNw
ZWN0b3JUZXN0LmFkZFJlc3VsdCgiRkFJTFVSRSIpOwotICAgICAgICAgICAgICAgICAgICAgICAg
SW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKLSAgICAgICAgICAgICAgICAgICAgfQotICAg
ICAgICAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAg
fQotCi0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiUGFnZS5nZXRSZXNvdXJj
ZVRyZWUgbWlzc2luZyBzb3VyY2UtbWFwLXRlc3Qtc3R5bGUuY3NzIik7Ci0gICAgICAgICAgICBJ
bnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiRkFJTFVSRSIpOwotICAgICAgICAgICAgSW5zcGVjdG9y
VGVzdC5jb21wbGV0ZVRlc3QoKTsKLSAgICAgICAgfQotICAgIH0KLX0KLTwvc2NyaXB0PgotPC9o
ZWFkPgotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotPHA+VGVzdHMgdGhhdCB0aGUgZXh0cmFS
ZXNvdXJjZUluZm8gaW4gTmV0d29yay5sb2FkaW5nRmluaXNoZWQgY29udGFpbnMgYSBzb3VyY2VN
YXBVUkwgZm9yIGEgU3R5bGVzaGVldCBjb250YWluaW5nIGEgc291cmNlTWFwcGluZ1VSTC4gQWxz
byB0aGVuIHRlc3RzIHRoYXQgUGFnZS5nZXRSZXNvdXJjZVRyZWUgY29udGFpbnMgdGhlIHNvdXJj
ZU1hcFVSTCBmb3IgdGhlIHJlc291cmNlLjwvcD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL25ldHdvcmsvZG93bmxvYWQtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29yay9kb3du
bG9hZC1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDVlMTZiMjM1
MjlkNWI2ZTlmYTllYzZlNmIwMTdjMjk2MDhhNGY0YmQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3Iv
bmV0d29yay9kb3dubG9hZC1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw2ICswLDAg
QEAKLVRlc3RzIHRoYXQgcmVzcG9uc2VSZWNlaXZlZCBpcyBjYWxsZWQgb24gTmV0d29ya0Rpc3Bh
dGNoZXIgZm9yIGRvd25sb2Fkcy4KLQotCi1SZWNlaXZlZCByZXNwb25zZSBmb3IgZG93bmxvYWQu
enp6Ci1TVUNDRVNTCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVj
dG9yL25ldHdvcmsvZG93bmxvYWQuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVj
dG9yL25ldHdvcmsvZG93bmxvYWQuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
YzVhZjAwZDczNzFlOWNlNTllOTVmZTk4N2NlN2JjMDBlNTMyMjQ3Mi4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2lu
c3BlY3Rvci9uZXR3b3JrL2Rvd25sb2FkLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw0OCArMCww
IEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uL2luc3BlY3Rvci10ZXN0LmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQ+Ci1mdW5jdGlvbiBsb2FkSUZyYW1lV2l0aERvd25sb2FkKCkKLXsK
LSAgICB2YXIgaWZyYW1lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7Ci0gICAg
aWZyYW1lLnNldEF0dHJpYnV0ZSgic3JjIiwgInJlc291cmNlcy9kb3dubG9hZC56enoiKTsKLSAg
ICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGlmcmFtZSk7Ci19Ci0KLWZ1bmN0aW9uIHRlc3Qo
KQotewotICAgIEluc3BlY3RvclRlc3QuYWRkU25pZmZlcihXZWJJbnNwZWN0b3IuTmV0d29ya0Rp
c3BhdGNoZXIucHJvdG90eXBlLCAicmVzcG9uc2VSZWNlaXZlZCIsIHJlc3BvbnNlUmVjZWl2ZWQp
OwotICAgIEluc3BlY3RvclRlc3QuYWRkU25pZmZlcihXZWJJbnNwZWN0b3IuTmV0d29ya0Rpc3Bh
dGNoZXIucHJvdG90eXBlLCAibG9hZGluZ0ZhaWxlZCIsIGxvYWRpbmdGYWlsZWQpOwotICAgIElu
c3BlY3RvclRlc3QuYWRkU25pZmZlcihXZWJJbnNwZWN0b3IuTmV0d29ya0Rpc3BhdGNoZXIucHJv
dG90eXBlLCAibG9hZGluZ0ZpbmlzaGVkIiwgbG9hZGluZ0ZpbmlzaGVkKTsKLSAgICBJbnNwZWN0
b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJsb2FkSUZyYW1lV2l0aERvd25sb2FkKCkiKTsKLQotICAg
IGZ1bmN0aW9uIHJlc3BvbnNlUmVjZWl2ZWQocmVxdWVzdElkLCB0aW1lLCByZXNvdXJjZVR5cGUs
IHJlc3BvbnNlKQotICAgIHsKLSAgICAgICAgdmFyIHJlcXVlc3QgPSBXZWJJbnNwZWN0b3IubmV0
d29ya0xvZy5yZXF1ZXN0Rm9ySWQocmVxdWVzdElkKTsKLSAgICAgICAgaWYgKC9kb3dubG9hZFwu
enp6Ly5leGVjKHJlcXVlc3QudXJsKSkgewotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRS
ZXN1bHQoIlJlY2VpdmVkIHJlc3BvbnNlIGZvciBkb3dubG9hZC56enoiKTsKLSAgICAgICAgICAg
IEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJTVUNDRVNTIik7Ci0gICAgICAgICAgICBJbnNwZWN0
b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwotICAgICAgICB9Ci0gICAgfQotCi0gICAgZnVuY3Rpb24g
bG9hZGluZ0ZpbmlzaGVkKHJlcXVlc3RJZCwgZmluaXNoVGltZSkKLSAgICB7Ci0gICAgICAgIHZh
ciByZXF1ZXN0ID0gV2ViSW5zcGVjdG9yLm5ldHdvcmtMb2cucmVxdWVzdEZvcklkKHJlcXVlc3RJ
ZCk7Ci0gICAgICAgIGlmICgvZG93bmxvYWRcLnp6ei8uZXhlYyhyZXF1ZXN0LnVybCkpCi0gICAg
ICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwotICAgIH0KLQotICAgIGZ1bmN0
aW9uIGxvYWRpbmdGYWlsZWQocmVxdWVzdElkLCB0aW1lLCBsb2NhbGl6ZWREZXNjcmlwdGlvbiwg
Y2FuY2VsZWQpCi0gICAgewotICAgICAgICB2YXIgcmVxdWVzdCA9IFdlYkluc3BlY3Rvci5uZXR3
b3JrTG9nLnJlcXVlc3RGb3JJZChyZXF1ZXN0SWQpOwotICAgICAgICBpZiAoL2Rvd25sb2FkXC56
enovLmV4ZWMocmVxdWVzdC51cmwpKQotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0
ZVRlc3QoKTsKLSAgICB9Ci19Ci08L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0icnVu
VGVzdCgpIj4KLTxwPlRlc3RzIHRoYXQgcmVzcG9uc2VSZWNlaXZlZCBpcyBjYWxsZWQgb24gTmV0
d29ya0Rpc3BhdGNoZXIgZm9yIGRvd25sb2Fkcy48L3A+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL2hhci1jb250
ZW50LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL25ldHdv
cmsvaGFyLWNvbnRlbnQtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCBjMThlNjBjMjQ0NzBjNjhlYjYzMTY3YzcwOWRhNjE2YWQ3MDljMTY0Li4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
aW5zcGVjdG9yL25ldHdvcmsvaGFyLWNvbnRlbnQtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwK
QEAgLTEsMTMgKzAsMCBAQAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDY6IFhIUiBsb2FkZWQ6IDEK
LVRlc3RzIGNvbnZlcnNpb24gb2YgSW5zcGVjdG9yJ3MgcmVzb3VyY2UgcmVwcmVzZW50YXRpb24g
aW50byBIQVIgZm9ybWF0LgotCi1pbml0aWF0b3IuY3NzOiAuaW1hZ2UtYmFja2dyb3VuZCB7Ci0g
ICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCJyZXNvdXJjZS5waHA/dHlwZT1pbWFnZSZyYW5kb209
MSZzaXplPTIwMCIpOwotfQotCi0uaW1hZ2UtYmFja2dyb3VuZC0yIHsKLSAgICBiYWNrZ3JvdW5k
LWltYWdlOiB1cmwoInJlc291cmNlLnBocD90eXBlPWltYWdlJnJhbmRvbT0xJnNpemU9MzAwIik7
Ci19Ci0KLQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9u
ZXR3b3JrL2hhci1jb250ZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rv
ci9uZXR3b3JrL2hhci1jb250ZW50Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDYxMTc4YzlkNjllZGZiM2Q1NDUwYzhhY2ZiNDc5MWY3NGNhZmM5YjYuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9p
bnNwZWN0b3IvbmV0d29yay9oYXItY29udGVudC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNTEg
KzAsMCBAQAotPCFkb2N0eXBlIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4u
L2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi9uZXR3b3JrLXRl
c3QuanMiPjwvc2NyaXB0PgotCi08c2NyaXB0PgotdmFyIHRlc3QgPSBmdW5jdGlvbigpCi17Ci0g
ICAgY29uc3QgcmVxdWVzdFJlZ0V4cCA9IC9cL2luaXRpYXRvci5jc3MkLzsKLQotICAgIGZ1bmN0
aW9uIG9uUmVxdWVzdEZpbmlzaGVkKCkKLSAgICB7Ci0gICAgICAgIHZhciB3cml0ZXIgPSBuZXcg
V2ViSW5zcGVjdG9yLkhBUldyaXRlcigpOwotICAgICAgICB2YXIgc3RyZWFtID0gbmV3IEluc3Bl
Y3RvclRlc3QuU3RyaW5nT3V0cHV0U3RyZWFtKG9uU2F2ZWQpOwotICAgICAgICB3cml0ZXIud3Jp
dGUoc3RyZWFtLCBXZWJJbnNwZWN0b3IubmV0d29ya0xvZy5yZXF1ZXN0cywgbmV3IFdlYkluc3Bl
Y3Rvci5Qcm9ncmVzcygpKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBvblNhdmVkKGRhdGEpCi0g
ICAgewotICAgICAgICB2YXIgaGFyID0gSlNPTi5wYXJzZShkYXRhKTsKLSAgICAgICAgSW5zcGVj
dG9yVGVzdC5hZGRSZXN1bHQoImluaXRpYXRvci5jc3M6ICIgKyBmaW5kRW50cnkoaGFyLCByZXF1
ZXN0UmVnRXhwKS5yZXNwb25zZS5jb250ZW50LnRleHQpOwotICAgICAgICBJbnNwZWN0b3JUZXN0
LmNvbXBsZXRlVGVzdCgpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIGZpbmRFbnRyeShoYXIsIHJl
Z2V4cCkKLSAgICB7Ci0gICAgICAgIHZhciBlbnRyaWVzID0gaGFyLmxvZy5lbnRyaWVzOwotICAg
ICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGVudHJpZXMubGVuZ3RoOyArK2kpIHsKLSAgICAgICAg
ICAgICB2YXIgZW50cnkgPSBlbnRyaWVzW2ldOwotICAgICAgICAgICAgIGlmIChyZWdleHAudGVz
dChlbnRyeS5yZXF1ZXN0LnVybCkpCi0gICAgICAgICAgICAgICAgIHJldHVybiBlbnRyeTsKLSAg
ICAgICAgfQotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiRkFJTDogY2FuJ3QgZmlu
ZCByZXNvdXJjZSBmb3IgIiArIHJlZ2V4cCk7Ci0gICAgICAgIHJldHVybiBudWxsOwotICAgIH0K
LQotICAgIEluc3BlY3RvclRlc3QubWFrZVNpbXBsZVhIUigiR0VUIiwgInJlc291cmNlcy9pbml0
aWF0b3IuY3NzIiwgZmFsc2UsIG9uUmVxdWVzdEZpbmlzaGVkKTsKLX0KLTwvc2NyaXB0PgotCi0K
LTwvaGVhZD4KLQotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotPHA+Ci1UZXN0cyBjb252ZXJz
aW9uIG9mIEluc3BlY3RvcidzIHJlc291cmNlIHJlcHJlc2VudGF0aW9uIGludG8gSEFSIGZvcm1h
dC4KLTwvcD4KLQotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29yay9pbWFnZS1hcy10ZXh0LWxvYWRpbmctZGF0YS11cmwt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29yay9p
bWFnZS1hcy10ZXh0LWxvYWRpbmctZGF0YS11cmwtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCBmMjAyZTY3ZTlmNjZhOGZmYjE0NDRjOGM5NjE4Y2QxYTQ4NDFkYzk5
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL25ldHdvcmsvaW1hZ2UtYXMtdGV4dC1sb2FkaW5nLWRh
dGEtdXJsLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDUgKzAsMCBAQAotVGVzdHMg
dGhhdCBsb25nIGRhdGE6IFVSTHMgYXJlIGNvcnJlY3RseSB0cmltbWVkIGluIE1JTUUgdHlwZSBj
b25zb2xlIHdhcm5pbmdzLgotCi1CdWcgMTAwMDgzICAKLVJlc291cmNlIGludGVycHJldGVkIGFz
IEltYWdlIGJ1dCB0cmFuc2ZlcnJlZCB3aXRoIE1JTUUgdHlwZSB0ZXh0L3BsYWluOiAiZGF0YTp0
ZXh0L3BsYWluO2Jhc2U2NCwvOWovNEFBUVNrWkpSZ0FCQVFFQkxBRXNBQUQvMndCREFBTUNBZ01D
QWdNREF3TUVBd01F4oCmRGNkRFdud3JPeFFBUjhJNmVtSEtUU2JORkNPeW8wVnZnMWtWdHBDZTZk
SVhaSThUc1JDMUhielVvRWsvVW5EV1NYdk9kd2lmL1oiLiBpbWFnZS1hcy10ZXh0LWxvYWRpbmct
ZGF0YS11cmwuaHRtbDo5Ci0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5z
cGVjdG9yL25ldHdvcmsvaW1hZ2UtYXMtdGV4dC1sb2FkaW5nLWRhdGEtdXJsLmh0bWwgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL2ltYWdlLWFzLXRleHQtbG9hZGlu
Zy1kYXRhLXVybC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4OGI0YjMyY2Fj
YzkzODllZDYwOGE1NjA3ZmRjMDlkYWNmMTVhZGRiLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL25l
dHdvcmsvaW1hZ2UtYXMtdGV4dC1sb2FkaW5nLWRhdGEtdXJsLmh0bWwKKysrIC9kZXYvbnVsbApA
QCAtMSwzMCArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uL2luc3BlY3Rv
ci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi9jb25zb2xlLXRlc3QuanMiPjwv
c2NyaXB0PgotPHNjcmlwdD4KLWZ1bmN0aW9uIGxvYWRJbWFnZSgpCi17Ci0gICAgdmFyIGkgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbWcnKTsKLSAgICBpLnNyYyA9ICJkYXRhOnRleHQvcGxh
aW47YmFzZTY0LC85ai80QUFRU2taSlJnQUJBUUVCTEFFc0FBRC8yd0JEQUFNQ0FnTUNBZ01EQXdN
RUF3TUVCUWdGQlFRRUJRb0hCd1lJREFvTURBc0tDd3NORGhJUURRNFJEZ3NMRUJZUUVSTVVGUlVW
REE4WEdCWVVHQklVRlJULzJ3QkRBUU1FQkFVRUJRa0ZCUWtVRFFzTkZCUVVGQlFVRkJRVUZCUVVG
QlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlQvd0FBUkNB
QkxBRXNEQVJFQUFoRUJBeEVCLzhRQUhRQUFBQWNCQVFFQUFBQUFBQUFBQUFBQUFBRUNCQVVHQndn
RENmL0VBRG9RQUFFREFnUURCUWNCQmdjQUFBQUFBQUVDQXdRRkVRQUdFaUVIRXpFVUZpSkJVUWdW
TWxKaGthR0JDU01rUW1PeFUySnhjc0hoOFAvRUFCb0JBQU1CQVFFQkFBQUFBQUFBQUFBQUFBQUJB
Z01FQlFiL3hBQXZFUUFDQWdFREFRVUhCQU1BQUFBQUFBQUFBUUlSQXhJaE1VRUVFeUpoZ1FWUmNa
R3gwZkFVTXFIQkl6UHgvOW9BREFNQkFBSVJBeEVBUHdDVDkzcTlNZVliQTkzcTlNQUJlNzFEeU9B
UVBkNnZRNFlBTUJYcGhBRHNDdmxPQUF1d0tIa2NBQTdBcjVUaGdEc0t2bHdnQjJKWHk0QU5FN3FP
NkNybEtLZk02VGI3NDMwRWllN0N2a1Ayd2FBQzdzSytUOFlOQWdkMkZmSitNR2dBZDJGZkorTUdn
ZGc3c0srVDhZTkFCZDJGRCtYOFlOQUJkMkYvSitNTFFGZzdzSytYOFlOQUE3c3ErVDhZTkFXYit4
bHN3anBCQ21EMUhUOFkxYVRKRzBqS2pDMzdJYjBBanlIaEdCTUdBNUxiYnRydHYwU2tYSncyd0Vk
emtFMlNrRStsdC90Z1ZNVkJuSmY5UDhZcWdDN2wvd0JQOFlla0R5ZnlXYkFocTRIVUFZVFFCbkk0
K1MzcmdvWWxXUjBvSldkZ091M1RDb0xQQmVYR2txSUNRZjB3aEYzakxTODBWbFFzRGEyQVo2eHcy
dGQraUFMNFF4Y2lTMUdITnVuZndqekF3UFlCYk1wcDRvdWxKZEl2cXZiQUQySGxNSWNrT2gwQkNB
bS9pM0pQMHhjWFRFUzZJRFMwZ2dDeDlSalFRMlcyMGw1U0FrRURhOXZQQ3NCaE1RcEN5MkVYSi9t
U0xnNFFDMkl6Q0dydko1aEozdjB3QUp0U2Y4QlAyd0RLbjc0amwza3MyVjVBV3RjNHhiTFVUMWZs
TnA1VEhiNGpFeDBxRFVSNlNoRGpwSFVKU1RjbXhIUVlPTnVvcklPdXJxVWRpS0hZNzhkYXlVckJB
Rzl5ZWwvUVlpVm90VStDRVl6UTlTNWpqVWxKYjBKOEpYMVY5Y0pTRzRsb3lyWHBOV3JMTFl1V2RW
eVFiMytuMjMvVEZxVnVpWEhhelRnL29RUWszOUw0NkxNaU9kVElreVUvdXlFbnFkUS84Y0lCRlZt
Q0hMUzM0TzBteVF5dHhDVi9va2tIeTlQTEFCWGFwVTUwVWxyc0R6YTlWcktUYXgvMHdnSXd0MVFI
ZUkrRC9tUVFjTURuamh4N1J1WDg4ZHFhelZJaFpQZk4wdHZJZGRJY1dUcEJTcTFnUnVUZjZmWEh6
ZlpmYW1MdERhek5RZng1T3B3Y1ZhM09OY3gwNnRWTE1FNEtuT3pwc3laSlYyWnB4Ynp5MUlVb2xh
RkJJVXBKQUoxamJiZTF3TVA5T3B0eWpYenR2ODk0NFphVzUzZjdKUEhzY1dzanhxSFdJemtpcjVl
anN0OXFTelpLa0pBU2xLbGttN213djBKRnR1dVBYd1NjNDAraGpOVTlqZDNld3VMNWtpQzI2Z0lL
UVhVQW14NmdISFZwVDZFYW1qa0RqdCswQ3BHUWVMa1NnNWRpdnNROHBWRmNXdU5xWEdiOThKUTN5
ekZaSzByVTJodFNpZWI0U29vS2JBSFVIcFNleUM3VzUxcncwNG1VM2l0dytvT2I2RSs4cWwxaU4y
bGtQdHBTNjNaU2tMUXNBa0JTVm9VazJKRzJHU1pkN1lISENzY0dPRjdVcWpCcFZRcXo3dE9EN3FT
b3hVOHBTbE9BZENiQWpmWVhIVGJITm5uS0VmRHl5NHBObnk4aXVUTXpOOHg5dCtZdDlGMXlGcVV0
d3BIaDJYMTJGdDcvQU44ZURsbERHL0ZMZGU4Nks4T3lPdjhBaEg3WjlVNFE4S2FabEtwMHFWbVdk
VGw5bWh6NUV0WWRYSExpdkNWT0o4UmJTVXBSOFFJU1FiYll1SHRid3RhUDUvUFF5N3ZuU1pSTjlx
N1BUbFNxTHpiY3hodVJNa1NFTUlYemtNcGNkVXNOcFVwQkpTa0tDUUw3QklBc0JiRlI3WkpxNHEw
L1A3KzdnMmZaOVcrdGVqT1o4dGNWOHkwRnQ2TkpxRGJ6U1ZrdXhuWWpaMVd0WlFJdHFIVzR1RHVD
TDc0M2wyTHMyVjNwcjRPdlE2WjNUdFcvaC9KWW8vSGlTMkFpUlJoTVlaZENrU1dKWmFjanJCQStG
WUpSWTMvbTg3M3h6djJaaWhKU3d5Y1g1R0xnNXEwYVp3bjlyUlBDcWM0NVFaOWNvOFNSS0V5ZFNL
Z3dtVkVtT1dBVnpGSUpjM0FIakJDZ0wySTN4cENQYmNUdU00elhuc1JMRStLTjhwbjdSYWRXSlpS
RnkvbEtYR0FUL0QrOVg0NzQ4WGlJS2diN2JXS1JZNzc5TWRTN1psaC90eE5lYTNYelJpc01uYVhQ
bWNNOFhNNTBUTW5HUE45YnJFV28wcVZVS3pLcVRzTU5wZFNsTGptdEtFa3FHcFBUZmEvVysrT3RU
elRncDQxRjM1djdIcjRzZnNuWHB6Wk1xVjF0R0RkVnpUa3Q3MnJmYmV6cmpnUjdjSTRPK3p0bHZM
a2ZLOGVROVRZOHBFVjJkVWRDbkM1SWNkWlV0dEk2RFdvcXVvRWdKdGErL0xMdGVUdkhoeHd0cnIw
UE55WThkS1dGdXE2cGM3MnR1bkcrMzNvUEU3MnVLbnhOcDdVSE5HWkdLNUhqUEdRekhnMHBQSlM3
Y2RFcENVS1NQaFRyVXJyZlk0OHljTzNkb3ZYUFN2ZC96ZjBzdkhpcmxldjU5VExhaHhmUzhHL2Q5
SmVMcTdoRDBpUXl5Tkk2NlFsSzdJQjh5Zk1EZkdTOW00bGZlU2JYa3Z4bTBjRTVQZVhKQkk0b3pF
dUtLbzBWYzBydHp3bm5LRjl0UE1ldmM5YjZVMkgzeDZVT3g5blN2Ujg3K2xocGVQd3g2L25PeEdI
aVRtd1dDSzFWMzBnQWN5TTIyMDBmOXFlV2JEMC80NlkwY2NTNkpHc2NhUzJWK2kreGJIT0hOUmhU
MGtOVU9ib3VsYW1wd1lBOVFwT29iMkk2QTljY3ZlSnJsblZUVDRSTlF1SE1OZkpXaW5zZHZlYjF2
eEdwN2E3SzI4SXVwSkpVazNDa25iZS9rU1BLM3k5aEpLUENKRm5obFMwcTVmdTk5YmlTRUpIYVlo
NWUvd0FBSlh1YmtiS0JPNDZkY0paSlZhZTNxRHA3VnVXR2s4S0taVUpDSWpWQmFtYU5sRjUxaGFr
RUt0cEtRZFJJTmhzTUx2VytHSnF1VU9EbERLTHp4YVZTNkErNEZLWVVGc1JuZVVvYkJPNlNRb1hQ
aE52UEM3eWNGczM4eWRFWjd0TDVEZVhsRExyN3l0Rk5wVERlNFNwY3VLbFJQb0NsT3JjallXRnIy
d0tjcXB2NmpyZlpFRkp5aGx5VnFVNjlDWVNrMjBlOG81MTN2WWJKSkYvK3NYcmt1UDdCZVpHOXo2
UTV6VnMxcWlJU2ZDcFM1VFMxQkE2NlVqU2dXdGF5Z1RodVRxbW1VcE5OdEVkT3lwQjVDMllGU29F
WWJMTDh1WXB6V1R0YlNnSVNrZm9mNzRGT3VVMkhLNUhkRnl2bHBOTGpDZFZXRnpOTjNWUjZpRXQ2
dlBTTkoyOU44WTVIazFQU2xYbXR6b3h1Q2l0YmQrVDJOYWp6TXZyRXFvUzBKcWFYVURuU1hJaEtP
V0xKU2tyU0JaQXNCWW5UMXZpTzdkOHRlcGgzdTNDUE9vNWd5bEtZUnpheEhpdE1FSFUzeWtsdFdu
UllIVHFTYkpHNDM4STN0MWxZRW54ZGhMSTN1MGc2TFBvbEVVWGFmWG1rSWNLbmk0dmxLWDFKSjFL
UnEySnZmcU50eHRpNVFVdG1namttbHN5UmcxdW5pREpMTStuTGlQYTMxcFdXZ2txY1VTU0FiZUky
dUFBVDBOdWh4bExIQ1R0b3VPV2NWU0hFUmlEbWNHVkVoUTZtRXF1SElqWWNhQ2xwSXNiSTBsUkZ4
YzdpM1hhMkswcVB2SmVSdlowUnN6aDFsaW14OWRRaXhtMU10cEtBNkVLVzJBZmlOaHZjamU5NzM2
YjR2VzExTStlaUdWVm9PUjFQeUlMeTZhMlV4eVhtMjNSbzBnM1VTUmM2bEEzSlNibXd0dmlsSi91
WDlpZDFwWWwvSzJSYXNJamEyS0lsYlRZam9Ra0xRZElGMDZ3a3AxRHhmRWQvSysrRjNraytXVTFk
YklaeDh2WktZUzA0OHpTSEdYYnBhUExYeTc5VGRXbzcySG1SdURmRGMzYnBpcllib3lkdzZuZ3lC
QWpXY0pQN3AxMUtldmtPYUxEOUJoOTdrVzFocDhqd3pkSmtMeXFoZmE1SVUzSmxhU2w5WXR5MkZG
QTJQUVc2ZmZIRmhmOEFsYStCMjVVdTYxZVgzSXpoTmxlbHRVL0w5VjdJSEowaGhwUzNYVnFjR291
QWFrcFVTRW5ZYmdBNDdzK1NWeVY5VG13d2pTZGRDVnpmVzV0T2FQWlhoRy9pcENUeWtKVHFUclJz
YkRjZlE3WWpIRlhRNThsMzRQNUJ5NVZuSzVVcDFGaFRKZE1VRlJGU0dRdExSVTAwVDRENFR2Y2dF
SFNTb2kybzNqTGtrb3hpbnkyS0VJdVc2TGZYNkZBajBPWS9IaXR3MXk1YVhYMHd4eUVPcStHNmtJ
c2s3QWVYbVQxSnZuSHhLbWJ1RVU3U01welptaXBVakxFYVhHZVFtVW9zTkY1eGh0eFJRdHhJVUNW
SlBVWW1QaWxUOHlZZnZvc21TY3JVZlBWT0VtdFV1SkpmS25HdzQweWxncFNFMkFUeXduU0I5TFli
eVRWYm5STERqVGV4V3N0WkpvYkhFck1OUE5PYmZoaW1RVmhtVVZQcENuSFNsYXZHVHVRT3ZYcjZu
R3VTY3U2VHZxL3FjU2hGVGt2SXMxQnkxU00wVlp1RlVxWENlakI1V2xEY2REV253ck94UUFSOEk2
ZW1IS1RTYk5GQ095bzBWdmcxa1Z0cENlNmRJWFpJOFRzUkMxSGJ6VW9Fay9VbkRXU1h2T2R3aWYv
WiI7Ci0gICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChpKTsKLX0KLQotZnVuY3Rpb24gdGVz
dCgpCi17Ci0gICAgSW5zcGVjdG9yVGVzdC5hZGRDb25zb2xlU25pZmZlcihzdGVwMSk7Ci0gICAg
SW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgibG9hZEltYWdlKCkiKTsKLQotICAgIGZ1bmN0
aW9uIHN0ZXAxKCkKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuZHVtcENvbnNvbGVNZXNz
YWdlcygpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwotICAgIH0KLX0K
LTwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotPHA+VGVzdHMg
dGhhdCBsb25nIGRhdGE6IFVSTHMgYXJlIGNvcnJlY3RseSB0cmltbWVkIGluIE1JTUUgdHlwZSBj
b25zb2xlIHdhcm5pbmdzLjwvcD4KLTxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xMDAwODMiPkJ1ZyAxMDAwODM8L2E+Ci08L2JvZHk+Ci08L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL25ldHdv
cmstY2FjaGVkcmVzb3VyY2VzLXdpdGgtc2FtZS11cmxzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL25ldHdvcmsvbmV0d29yay1jYWNoZWRyZXNvdXJjZXMt
d2l0aC1zYW1lLXVybHMtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAzNWMwMTE4ZTVkNjU3Nzk1MGM2ZmNlMWVjMmQwMWY4OWQ3ZjUwMWY0Li4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
aW5zcGVjdG9yL25ldHdvcmsvbmV0d29yay1jYWNoZWRyZXNvdXJjZXMtd2l0aC1zYW1lLXVybHMt
ZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNyArMCwwIEBACi1DT05TT0xFIE1FU1NB
R0U6IGxpbmUgMjM6IERvbmUuCi1UZXN0cyB0aGF0IHdoZW4gd2UgbG9hZCB0d28gZGlmZmVyZW50
IGltYWdlcyBmcm9tIHRoZSBzYW1lIHVybCAoZS5nLiBjb3VudGVycyksIHRoZWlyIGNvbnRlbnQg
aXMgZGlmZmVyZW50IGluIG5ldHdvcmsgcGFuZWwgYXMgd2VsbC4KLQotCi1odHRwOi8vMTI3LjAu
MC4xOjgwMDAvaW5zcGVjdG9yL25ldHdvcmsvcmVzb3VyY2VzL3Jlc291cmNlLnBocD90eXBlPWlt
YWdlJnJhbmRvbT0xCi1odHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL25ldHdvcmsvcmVz
b3VyY2VzL3Jlc291cmNlLnBocD90eXBlPWltYWdlJnJhbmRvbT0xCi0KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL25ldHdvcmsvbmV0d29yay1jYWNoZWRyZXNv
dXJjZXMtd2l0aC1zYW1lLXVybHMuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVj
dG9yL25ldHdvcmsvbmV0d29yay1jYWNoZWRyZXNvdXJjZXMtd2l0aC1zYW1lLXVybHMuaHRtbApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYmEwN2ZhYjQ3YzViMzdlMzhjNDRlMzdlMDQ2
NTM1MTVjMTA4MWI5NC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL25ldHdvcmstY2Fj
aGVkcmVzb3VyY2VzLXdpdGgtc2FtZS11cmxzLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw2NSAr
MCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uL2luc3BlY3Rvci10ZXN0Lmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQ+Ci1mdW5jdGlvbiBsb2FkSW1hZ2VzKCkKLXsKLSAgICB2YXIg
aW1hZ2UgPSBuZXcgSW1hZ2UoKTsKLSAgICBpbWFnZS5vbmxvYWQgPSBzdGVwMjsKLSAgICBpbWFn
ZS5zcmMgPSAicmVzb3VyY2VzL3Jlc291cmNlLnBocD90eXBlPWltYWdlJnJhbmRvbT0xIjsKLSAg
ICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGltYWdlKTsKLX0KLQotZnVuY3Rpb24gc3RlcDIo
KQotewotICAgIHZhciBpbWFnZSA9IG5ldyBJbWFnZSgpOwotICAgIGltYWdlLm9ubG9hZCA9IGlt
YWdlTG9hZGVkOwotICAgIGltYWdlLnNyYyA9ICJyZXNvdXJjZXMvcmVzb3VyY2UucGhwP3R5cGU9
aW1hZ2UmcmFuZG9tPTEiOwotICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaW1hZ2UpOwot
fQotCi1mdW5jdGlvbiBpbWFnZUxvYWRlZCgpCi17Ci0gICAgY29uc29sZS5sb2coIkRvbmUuIik7
Ci19Ci0KLWZ1bmN0aW9uIHRlc3QoKQotewotICAgIEluc3BlY3RvclRlc3QuYWRkQ29uc29sZVNu
aWZmZXIoc3RlcDIsIHRydWUpOwotICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoImxv
YWRJbWFnZXMoKSIpOwotCi0gICAgZnVuY3Rpb24gc3RlcDIobXNnKQotICAgIHsKLSAgICAgICAg
Ly8gaW5zcGVjdG9yLXRlc3QuanMgYXBwZWFycyBpbiBuZXR3b3JrIHBhbmVsIG9jY2FzaW9uYWxs
eSBpbiBTYWZhcmkgb24KLSAgICAgICAgLy8gTWFjLCBzbyBjaGVja2luZyB0d28gbGFzdCByZXF1
ZXN0cy4KLSAgICAgICAgdmFyIHJlcXVlc3RzQ291bnQgPSBXZWJJbnNwZWN0b3IucGFuZWwoIm5l
dHdvcmsiKS5yZXF1ZXN0cy5sZW5ndGg7Ci0gICAgICAgIHZhciByZXF1ZXN0MSA9IFdlYkluc3Bl
Y3Rvci5wYW5lbCgibmV0d29yayIpLnJlcXVlc3RzW3JlcXVlc3RzQ291bnQgLSAyXTsKLSAgICAg
ICAgdmFyIHJlcXVlc3QyID0gV2ViSW5zcGVjdG9yLnBhbmVsKCJuZXR3b3JrIikucmVxdWVzdHNb
cmVxdWVzdHNDb3VudCAtIDFdOwotICAgICAgICByZXF1ZXN0MS5yZXF1ZXN0Q29udGVudChjb250
ZW50TG9hZGVkKTsKLSAgICAgICAgcmVxdWVzdDIucmVxdWVzdENvbnRlbnQoY29udGVudExvYWRl
ZCk7Ci0gICAgfQotCi0gICAgdmFyIGNvbnRlbnRMb2FkZWRDb3VudCA9IDA7Ci0gICAgZnVuY3Rp
b24gY29udGVudExvYWRlZCgpCi0gICAgewotICAgICAgICBpZiAoKytjb250ZW50TG9hZGVkQ291
bnQgIT09IDIpCi0gICAgICAgICAgICByZXR1cm47Ci0KLSAgICAgICAgdmFyIHJlcXVlc3RzQ291
bnQgPSBXZWJJbnNwZWN0b3IucGFuZWwoIm5ldHdvcmsiKS5yZXF1ZXN0cy5sZW5ndGg7Ci0gICAg
ICAgIHZhciByZXF1ZXN0MSA9IFdlYkluc3BlY3Rvci5wYW5lbCgibmV0d29yayIpLnJlcXVlc3Rz
W3JlcXVlc3RzQ291bnQgLSAyXTsKLSAgICAgICAgdmFyIHJlcXVlc3QyID0gV2ViSW5zcGVjdG9y
LnBhbmVsKCJuZXR3b3JrIikucmVxdWVzdHNbcmVxdWVzdHNDb3VudCAtIDFdOwotCi0gICAgICAg
IEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KHJlcXVlc3QxLnVybCk7Ci0gICAgICAgIEluc3BlY3Rv
clRlc3QuYWRkUmVzdWx0KHJlcXVlc3QyLnVybCk7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYXNz
ZXJ0VHJ1ZShyZXF1ZXN0MS5jb250ZW50ICE9PSByZXF1ZXN0Mi5jb250ZW50KTsKLSAgICAgICAg
SW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKLSAgICB9Ci0KLX0KLTwvc2NyaXB0PgotPC9o
ZWFkPgotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotPHA+VGVzdHMgdGhhdCB3aGVuIHdlIGxv
YWQgdHdvIGRpZmZlcmVudCBpbWFnZXMgZnJvbSB0aGUgc2FtZSB1cmwgKGUuZy4gY291bnRlcnMp
LAotdGhlaXIgY29udGVudCBpcyBkaWZmZXJlbnQgaW4gbmV0d29yayBwYW5lbCBhcyB3ZWxsLjwv
cD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
aW5zcGVjdG9yL25ldHdvcmsvbmV0d29yay1jbGVhci1jYWNoZS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL25ldHdvcmstY2xlYXItY2FjaGUt
ZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiNzViZDFkZGFjYTI0
MzZiZTcxOWEwOGY2MmMxMDg0N2RkODUxNWIwLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL25ldHdv
cmsvbmV0d29yay1jbGVhci1jYWNoZS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw4
ICswLDAgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxMzogRmlyc3QgWEhSIGxvYWRlZC4KLUNP
TlNPTEUgTUVTU0FHRTogbGluZSAyODogRG9uZS4KLVRlc3RzIGNsZWFyaW5nIGJyb3dzZXIgY2Fj
aGUgZnJvbSBpbnNwZWN0b3IuCi0KLWh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvbmV0
d29yay9yZXNvdXJjZXMvcmFuZG9tLWNhY2hlZC5waHAKLWh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9p
bnNwZWN0b3IvbmV0d29yay9yZXNvdXJjZXMvcmFuZG9tLWNhY2hlZC5waHAKLWh0dHA6Ly8xMjcu
MC4wLjE6ODAwMC9pbnNwZWN0b3IvbmV0d29yay9yZXNvdXJjZXMvcmFuZG9tLWNhY2hlZC5waHAK
LQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29yay9u
ZXR3b3JrLWNsZWFyLWNhY2hlLmh0bWwtZGlzYWJsZWQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2luc3BlY3Rvci9uZXR3b3JrL25ldHdvcmstY2xlYXItY2FjaGUuaHRtbC1kaXNhYmxlZApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggY2U3YjBhMDBkMjJkZTEyMjA0ZTVmNWVmNTlmNmRm
MWFhOGU4ZTc4My4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL25ldHdvcmstY2xlYXIt
Y2FjaGUuaHRtbC1kaXNhYmxlZAorKysgL2Rldi9udWxsCkBAIC0xLDczICswLDAgQEAKLTxodG1s
PgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdCBzcmM9Ii4uL25ldHdvcmstdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotZnVu
Y3Rpb24gdGVzdCgpCi17Ci0gICAgLy8gU2luY2UgdGhpcyB0ZXN0IGNvdWxkIGJlIHJ1biB0b2dl
dGhlciB3aXRoIG90aGVyIGluc3BlY3RvciBiYWNrZW5kIGNhY2hlCi0gICAgLy8gdGVzdHMsIHdl
IG5lZWQgdG8gcmVzZXQgc2l6ZSBsaW1pdHMgdG8gZGVmYXVsdCBvbmVzLgotICAgIEluc3BlY3Rv
clRlc3QucmVzZXRJbnNwZWN0b3JSZXNvdXJjZXNEYXRhKHN0ZXAxKTsKLQotICAgIGZ1bmN0aW9u
IHN0ZXAxKCkKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QubWFrZVNpbXBsZVhIUldpdGhQ
YXlsb2FkKCJHRVQiLCAicmVzb3VyY2VzL3JhbmRvbS1jYWNoZWQucGhwIiwgdHJ1ZSwgc3RlcDIp
OwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0ZXAyKG1zZykKLSAgICB7Ci0gICAgICAgIGlmICh0
eXBlb2YoTmV0d29ya0FnZW50LmNsZWFyQnJvd3NlckNhY2hlKSA9PT0gJ2Z1bmN0aW9uJykKLSAg
ICAgICAgICAgIE5ldHdvcmtBZ2VudC5jbGVhckJyb3dzZXJDYWNoZShzdGVwMyk7Ci0gICAgICAg
IGVsc2UKLSAgICAgICAgICAgIHN0ZXAzKCk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc3RlcDMo
bXNnKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5tYWtlU2ltcGxlWEhSV2l0aFBheWxv
YWQoIkdFVCIsICJyZXNvdXJjZXMvcmFuZG9tLWNhY2hlZC5waHAiLCB0cnVlLCBzdGVwNCk7Ci0K
LSAgICAgICAgZnVuY3Rpb24gZmlyc3RYSFJMb2FkZWQoKQotICAgICAgICB7Ci0gICAgICAgICAg
ICBJbnNwZWN0b3JUZXN0Lm1ha2VTaW1wbGVYSFJXaXRoUGF5bG9hZCgiR0VUIiwgInJlc291cmNl
cy9yYW5kb20tY2FjaGVkLnBocCIsIHRydWUsIHN0ZXA0KTsKLSAgICAgICAgfQotICAgIH0KLQot
ICAgIGZ1bmN0aW9uIHN0ZXA0KG1zZykKLSAgICB7Ci0gICAgICAgIC8vIGluc3BlY3Rvci10ZXN0
LmpzIGFwcGVhcnMgaW4gbmV0d29yayBwYW5lbCBvY2Nhc2lvbmFsbHkgaW4gU2FmYXJpIG9uCi0g
ICAgICAgIC8vIE1hYywgc28gY2hlY2tpbmcgdHdvIGxhc3QgcmVzb3VyY2VzLgotICAgICAgICB2
YXIgcmVzb3VyY2VzQ291bnQgPSBXZWJJbnNwZWN0b3IucGFuZWwoIm5ldHdvcmsiKS5yZXNvdXJj
ZXMubGVuZ3RoOwotICAgICAgICB2YXIgcmVzb3VyY2UxID0gV2ViSW5zcGVjdG9yLnBhbmVsKCJu
ZXR3b3JrIikucmVzb3VyY2VzW3Jlc291cmNlc0NvdW50IC0gM107Ci0gICAgICAgIHZhciByZXNv
dXJjZTIgPSBXZWJJbnNwZWN0b3IucGFuZWwoIm5ldHdvcmsiKS5yZXNvdXJjZXNbcmVzb3VyY2Vz
Q291bnQgLSAyXTsKLSAgICAgICAgdmFyIHJlc291cmNlMyA9IFdlYkluc3BlY3Rvci5wYW5lbCgi
bmV0d29yayIpLnJlc291cmNlc1tyZXNvdXJjZXNDb3VudCAtIDFdOwotICAgICAgICByZXNvdXJj
ZTEucmVxdWVzdENvbnRlbnQoY29udGVudExvYWRlZCk7Ci0gICAgICAgIHJlc291cmNlMi5yZXF1
ZXN0Q29udGVudChjb250ZW50TG9hZGVkKTsKLSAgICAgICAgcmVzb3VyY2UzLnJlcXVlc3RDb250
ZW50KGNvbnRlbnRMb2FkZWQpOwotICAgIH0KLQotICAgIHZhciBjb250ZW50TG9hZGVkQ291bnQg
PSAwOwotICAgIGZ1bmN0aW9uIGNvbnRlbnRMb2FkZWQoKQotICAgIHsKLSAgICAgICAgaWYgKCsr
Y29udGVudExvYWRlZENvdW50ICE9PSAzKQotICAgICAgICAgICAgcmV0dXJuOwotCi0gICAgICAg
IHZhciByZXNvdXJjZXNDb3VudCA9IFdlYkluc3BlY3Rvci5wYW5lbCgibmV0d29yayIpLnJlc291
cmNlcy5sZW5ndGg7Ci0gICAgICAgIHZhciByZXNvdXJjZTEgPSBXZWJJbnNwZWN0b3IucGFuZWwo
Im5ldHdvcmsiKS5yZXNvdXJjZXNbcmVzb3VyY2VzQ291bnQgLSAzXTsKLSAgICAgICAgdmFyIHJl
c291cmNlMiA9IFdlYkluc3BlY3Rvci5wYW5lbCgibmV0d29yayIpLnJlc291cmNlc1tyZXNvdXJj
ZXNDb3VudCAtIDJdOwotICAgICAgICB2YXIgcmVzb3VyY2UzID0gV2ViSW5zcGVjdG9yLnBhbmVs
KCJuZXR3b3JrIikucmVzb3VyY2VzW3Jlc291cmNlc0NvdW50IC0gMV07Ci0KLSAgICAgICAgSW5z
cGVjdG9yVGVzdC5hZGRSZXN1bHQocmVzb3VyY2UxLnVybCk7Ci0gICAgICAgIEluc3BlY3RvclRl
c3QuYWRkUmVzdWx0KHJlc291cmNlMi51cmwpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJl
c3VsdChyZXNvdXJjZTMudXJsKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRUcnVlKHJl
c291cmNlMS5jb250ZW50ICE9PSByZXNvdXJjZTIuY29udGVudCk7Ci0gICAgICAgIEluc3BlY3Rv
clRlc3QuYXNzZXJ0VHJ1ZShyZXNvdXJjZTIuY29udGVudCA9PT0gcmVzb3VyY2UzLmNvbnRlbnQp
OwotICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwotICAgIH0KLX0KLTwvc2Ny
aXB0PgotPC9oZWFkPgotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotICAgIDxwPlRlc3RzIGNs
ZWFyaW5nIGJyb3dzZXIgY2FjaGUgZnJvbSBpbnNwZWN0b3IuPC9wPgotPC9ib2R5PgotPC9odG1s
PgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3Jr
L25ldHdvcmstY2xlYXItY29va2llcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL2luc3BlY3Rvci9uZXR3b3JrL25ldHdvcmstY2xlYXItY29va2llcy1leHBlY3RlZC50eHQK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAzNzI2MTkwNDNkYjU4NTcyMzc4ODIyNjU2
NDcwYWRiMGQyZTdkZjUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29yay9uZXR3b3JrLWNs
ZWFyLWNvb2tpZXMtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNyArMCwwIEBACi1D
T05TT0xFIE1FU1NBR0U6IGxpbmUgMTM6IEZpcnN0IFhIUiBsb2FkZWQuCi1DT05TT0xFIE1FU1NB
R0U6IGxpbmUgMjg6IERvbmUuCi1UZXN0cyBjbGVhcmluZyBicm93c2VyIGNvb2tpZXMgZnJvbSBp
bnNwZWN0b3IuCi0KLWh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvbmV0d29yay9yZXNv
dXJjZXMvc2V0LWNvb2tpZS5waHAKLWh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvbmV0
d29yay9yZXNvdXJjZXMvc2V0LWNvb2tpZS5waHAKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29yay9uZXR3b3JrLWNsZWFyLWNvb2tpZXMuaHRtbC1k
aXNhYmxlZCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL25ldHdvcmsvbmV0d29y
ay1jbGVhci1jb29raWVzLmh0bWwtZGlzYWJsZWQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IGJmNjRmMDRjZjkyMDY4Njk3MTFiM2Y2OWJlNDVkYTFmN2UxOGVjNDMuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9pbnNwZWN0b3IvbmV0d29yay9uZXR3b3JrLWNsZWFyLWNvb2tpZXMuaHRtbC1kaXNhYmxlZAor
KysgL2Rldi9udWxsCkBAIC0xLDcwICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNy
Yz0iLi4vaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uL25ldHdv
cmstdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotZnVuY3Rpb24gdGVzdCgpCi17Ci0gICAg
Ly8gU2luY2UgdGhpcyB0ZXN0IGNvdWxkIGJlIHJ1biB0b2dldGhlciB3aXRoIG90aGVyIGluc3Bl
Y3RvciBiYWNrZW5kIGNhY2hlCi0gICAgLy8gdGVzdHMsIHdlIG5lZWQgdG8gcmVzZXQgc2l6ZSBs
aW1pdHMgdG8gZGVmYXVsdCBvbmVzLgotICAgIEluc3BlY3RvclRlc3QucmVzZXRJbnNwZWN0b3JS
ZXNvdXJjZXNEYXRhKHN0ZXAxKTsKLQotICAgIGZ1bmN0aW9uIHN0ZXAxKCkKLSAgICB7Ci0gICAg
ICAgIEluc3BlY3RvclRlc3QubWFrZVNpbXBsZVhIUldpdGhQYXlsb2FkKCJHRVQiLCAicmVzb3Vy
Y2VzL3NldC1jb29raWUucGhwIiwgdHJ1ZSwgc3RlcDIpOwotICAgIH0KLQotICAgIGZ1bmN0aW9u
IHN0ZXAyKG1zZykKLSAgICB7Ci0gICAgICAgIGlmICh0eXBlb2YoTmV0d29ya0FnZW50LmNsZWFy
QnJvd3NlckNvb2tpZXMpID09PSAnZnVuY3Rpb24nKQotICAgICAgICAgICAgTmV0d29ya0FnZW50
LmNsZWFyQnJvd3NlckNvb2tpZXMoc3RlcDMpOwotICAgICAgICBlbHNlCi0gICAgICAgICAgICBz
dGVwMygpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0ZXAzKG1zZykKLSAgICB7Ci0gICAgICAg
IEluc3BlY3RvclRlc3QubWFrZVNpbXBsZVhIUldpdGhQYXlsb2FkKCJHRVQiLCAicmVzb3VyY2Vz
L3NldC1jb29raWUucGhwIiwgdHJ1ZSwgZmlyc3RYSFJMb2FkZWQpOwotCi0gICAgICAgIGZ1bmN0
aW9uIGZpcnN0WEhSTG9hZGVkKCkKLSAgICAgICAgewotICAgICAgICAgICAgSW5zcGVjdG9yVGVz
dC5tYWtlU2ltcGxlWEhSV2l0aFBheWxvYWQoIkdFVCIsICJyZXNvdXJjZXMvc2V0LWNvb2tpZS5w
aHAiLCB0cnVlLCBzdGVwNCk7Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVw
NChtc2cpCi0gICAgewotICAgICAgICAvLyBpbnNwZWN0b3ItdGVzdC5qcyBhcHBlYXJzIGluIG5l
dHdvcmsgcGFuZWwgb2NjYXNpb25hbGx5IGluIFNhZmFyaSBvbgotICAgICAgICAvLyBNYWMsIHNv
IGNoZWNraW5nIHR3byBsYXN0IHJlc291cmNlcy4KLSAgICAgICAgdmFyIHJlc291cmNlc0NvdW50
ID0gV2ViSW5zcGVjdG9yLnBhbmVsKCJuZXR3b3JrIikucmVzb3VyY2VzLmxlbmd0aDsKLSAgICAg
ICAgdmFyIHJlc291cmNlMSA9IFdlYkluc3BlY3Rvci5wYW5lbCgibmV0d29yayIpLnJlc291cmNl
c1tyZXNvdXJjZXNDb3VudCAtIDJdOwotICAgICAgICB2YXIgcmVzb3VyY2UyID0gV2ViSW5zcGVj
dG9yLnBhbmVsKCJuZXR3b3JrIikucmVzb3VyY2VzW3Jlc291cmNlc0NvdW50IC0gMV07Ci0KLSAg
ICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQocmVzb3VyY2UxLnVybCk7Ci0gICAgICAgIElu
c3BlY3RvclRlc3QuYWRkUmVzdWx0KHJlc291cmNlMi51cmwpOwotCi0gICAgICAgIEluc3BlY3Rv
clRlc3QuYXNzZXJ0VHJ1ZSghaGFzUmVxdWVzdENvb2tpZVdpdGhOYW1lKHJlc291cmNlMSwgIlRl
c3RDb29raWUiKSk7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0VHJ1ZShoYXNSZXF1ZXN0
Q29va2llV2l0aE5hbWUocmVzb3VyY2UyLCAiVGVzdENvb2tpZSIpKTsKLSAgICAgICAgSW5zcGVj
dG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKLQotICAgIH0KLQotICAgIGZ1bmN0aW9uIGhhc1JlcXVl
c3RDb29raWVXaXRoTmFtZShyZXNvdXJjZSwgbmFtZSkKLSAgICB7Ci0gICAgICAgIHZhciByZXF1
ZXN0Q29va2llcyA9IHJlc291cmNlLnJlcXVlc3RDb29raWVzOwotICAgICAgICBpZiAoIXJlcXVl
c3RDb29raWVzKQotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICBmb3IgKHZhciAg
aSA9IDA7IGkgPCByZXF1ZXN0Q29va2llcy5sZW5ndGg7IGkrKykgewotICAgICAgICAgICAgaWYg
KHJlcXVlc3RDb29raWVzW2ldLm5hbWUgPT09IG5hbWUpCi0gICAgICAgICAgICAgICAgcmV0dXJu
IHRydWU7Ci0gICAgICAgIH0KLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0KLX0KLTwvc2Ny
aXB0PgotPC9oZWFkPgotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotICAgIDxwPlRlc3RzIGNs
ZWFyaW5nIGJyb3dzZXIgY29va2llcyBmcm9tIGluc3BlY3Rvci48L3A+Ci08L2JvZHk+Ci08L2h0
bWw+Ci0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL25ldHdv
cmsvbmV0d29yay1jb250ZW50LXJlcGxhY2VtZW50LWVtYmVkLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL25ldHdvcmsvbmV0d29yay1jb250ZW50LXJlcGxh
Y2VtZW50LWVtYmVkLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
ZDNiMWNkMDgzNTkyN2E5NGFjZGM5ZGQ4Y2M5YjE1YzVmOGExYzM5ZC4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2lu
c3BlY3Rvci9uZXR3b3JrL25ldHdvcmstY29udGVudC1yZXBsYWNlbWVudC1lbWJlZC1leHBlY3Rl
ZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxMyArMCwwIEBACi1DT05TT0xFIE1FU1NBR0U6IGxp
bmUgNTg6IERvbmUuCi1UZXN0cyBOZXR3b3JrUmVzb3VyY2VzRGF0YSBsb2dpYyBmb3IgZW1iZWQg
Y29udGVudCByZXBsYWNlbWVudC4KLQotCi1odHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9y
L25ldHdvcmsvcmVzb3VyY2VzL3Jlc291cmNlLnBocD9zaXplPTIwMAotcmVzb3VyY2UuY29udGVu
dCBhZnRlciByZXF1ZXN0aW5nIGNvbnRlbnQ6IG51bGwKLWh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9p
bnNwZWN0b3IvbmV0d29yay9yZXNvdXJjZXMvcmVzb3VyY2UucGhwP3NpemU9MTAwCi1yZXNvdXJj
ZS5jb250ZW50IGFmdGVyIHJlcXVlc3RpbmcgY29udGVudDogKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKgotaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9u
ZXR3b3JrL3Jlc291cmNlcy9yZXNvdXJjZS5waHA/c2l6ZT0yMDEKLXJlc291cmNlLmNvbnRlbnQg
YWZ0ZXIgcmVxdWVzdGluZyBjb250ZW50OiBudWxsCi1odHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5z
cGVjdG9yL25ldHdvcmsvcmVzb3VyY2VzL3Jlc291cmNlLnBocD9zaXplPTEwMAotcmVzb3VyY2Uu
Y29udGVudCBhZnRlciByZXF1ZXN0aW5nIGNvbnRlbnQ6ICoqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9pbnNwZWN0b3IvbmV0d29yay9uZXR3b3JrLWNvbnRlbnQtcmVwbGFjZW1lbnQtZW1iZWQuaHRt
bCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL25ldHdvcmsvbmV0d29yay1jb250
ZW50LXJlcGxhY2VtZW50LWVtYmVkLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDFiODliYTFiMjU4ZTRjMzc3MTQ1OGViYjczZTk4ZTY2YTAxZTI1MjguLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9p
bnNwZWN0b3IvbmV0d29yay9uZXR3b3JrLWNvbnRlbnQtcmVwbGFjZW1lbnQtZW1iZWQuaHRtbAor
KysgL2Rldi9udWxsCkBAIC0xLDExNyArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBz
cmM9Ii4uL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci0KLXZhciBsb2Fk
ZWRGaXJzdFVSTCA9IGZhbHNlOwotZnVuY3Rpb24gc3RyZWFtTG9hZGVkKCkKLXsKLSAgICBpZiAo
bG9hZGVkRmlyc3RVUkwpCi0gICAgICAgIHJldHVybjsKLQotICAgIGxvYWRlZEZpcnN0VVJMID0g
dHJ1ZTsKLSAgICBsb2FkVVJMcygpOwotfQotCi12YXIgc25pZmZlckluc3RhbGxlZCA9IGZhbHNl
OwotZnVuY3Rpb24gb25TbmlmZmVySW5zdGFsbGVkKCkKLXsKLSAgICBzbmlmZmVySW5zdGFsbGVk
ID0gdHJ1ZTsKLSAgICBsb2FkVVJMcygpOwotfQotCi1mdW5jdGlvbiBsb2FkVVJMcygpCi17Ci0g
ICAgaWYgKCFzbmlmZmVySW5zdGFsbGVkIHx8ICFsb2FkZWRGaXJzdFVSTCkKLSAgICAgICAgcmV0
dXJuOwotCi0gICAgaWYgKCF3aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAgICAgIGNvbnNvbGUubG9n
KCJUaGlzIHRlc3QgY2FuIG5vdCBiZSBydW4gYXMgd2luZG93LmludGVybmFscyBpcyBub3QgYXZh
aWxhYmxlLiIpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotICAgIGludGVybmFscy5zZXRJbnNw
ZWN0b3JSZXNvdXJjZXNEYXRhU2l6ZUxpbWl0cygzMDAsIDIwMCk7Ci0KLSAgICAvLyBIZXJlIHdl
IHRlc3QgcmVwbGFjZW1lbnQgbG9naWMuIFdlIHNhdmUgZmlyc3QgdHdvIHJlc291cmNlcyBjb250
ZW50LAotICAgIC8vIGRpc2NhcmQgdGhpcmQgcmVzb3VyY2UgY29udGVudCBvbmNlIHdlIHNlZSBp
dHMgc2l6ZSBleGNlZWRzIGxpbWl0LAotICAgIC8vIGFuZCBmaW5hbGx5IHJlcGxhY2UgZmlyc3Qg
cmVzb3VyY2UgY29udGVudCB3aXRoIHRoZSBsYXN0IHJlc291cmNlIGNvbnRlbnQuCi0KLSAgICBw
bGcuZ2V0VVJMTm90aWZ5KCJyZXNvdXJjZXMvcmVzb3VyY2UucGhwP3NpemU9MjAwIiwgbnVsbCwg
ImxvYWRVUkwyIik7Ci19Ci0KLWZ1bmN0aW9uIGxvYWRVUkwyKCkKLXsKLSAgICBwbGcuZ2V0VVJM
Tm90aWZ5KCJyZXNvdXJjZXMvcmVzb3VyY2UucGhwP3NpemU9MTAwIiwgbnVsbCwgImxvYWRVUkwz
Iik7Ci19Ci0KLWZ1bmN0aW9uIGxvYWRVUkwzKCkKLXsKLSAgICBwbGcuZ2V0VVJMTm90aWZ5KCJy
ZXNvdXJjZXMvcmVzb3VyY2UucGhwP3NpemU9MjAxIiwgbnVsbCwgImxvYWRVUkw0Iik7Ci19Ci0K
LWZ1bmN0aW9uIGxvYWRVUkw0KCkKLXsKLSAgICBwbGcuZ2V0VVJMTm90aWZ5KCJyZXNvdXJjZXMv
cmVzb3VyY2UucGhwP3NpemU9MTAwIiwgbnVsbCwgImFsbFVSTHNMb2FkZWQiKTsKLX0KLQotZnVu
Y3Rpb24gYWxsVVJMc0xvYWRlZCgpCi17Ci0gICAgY29uc29sZS5sb2coIkRvbmUuIik7Ci19Ci0K
LWZ1bmN0aW9uIHRlc3QoKQotewotICAgIEluc3BlY3RvclRlc3QuYWRkQ29uc29sZVNuaWZmZXIo
c3RlcDEpOwotICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoIm9uU25pZmZlckluc3Rh
bGxlZCgpIik7Ci0KLSAgICBmdW5jdGlvbiBkdW1wUmVxdWVzdChyZXF1ZXN0LCBjYWxsYmFjaykK
LSAgICB7Ci0gICAgICAgIGlmICghcmVxdWVzdCkKLSAgICAgICAgICAgIHJldHVybiBjYWxsYmFj
aygpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdChyZXF1ZXN0LnVybCk7Ci0KLSAg
ICAgICAgZnVuY3Rpb24gY29udGVudExvYWRlZCgpCi0gICAgICAgIHsKLSAgICAgICAgICAgIElu
c3BlY3RvclRlc3QuYWRkUmVzdWx0KCJyZXNvdXJjZS5jb250ZW50IGFmdGVyIHJlcXVlc3Rpbmcg
Y29udGVudDogIiArIHJlcXVlc3QuY29udGVudCk7Ci0gICAgICAgICAgICBjYWxsYmFjaygpOwot
ICAgICAgICB9Ci0KLSAgICAgICAgcmVxdWVzdC5yZXF1ZXN0Q29udGVudChjb250ZW50TG9hZGVk
KTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwMSgpCi0gICAgewotICAgICAgICB2YXIgcmVx
dWVzdCA9IFdlYkluc3BlY3Rvci5wYW5lbCgibmV0d29yayIpLnJlcXVlc3RzW1dlYkluc3BlY3Rv
ci5wYW5lbCgibmV0d29yayIpLnJlcXVlc3RzLmxlbmd0aCAtIDRdOwotICAgICAgICBkdW1wUmVx
dWVzdChyZXF1ZXN0LCBzdGVwMik7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc3RlcDIoKQotICAg
IHsKLSAgICAgICAgdmFyIHJlcXVlc3QgPSBXZWJJbnNwZWN0b3IucGFuZWwoIm5ldHdvcmsiKS5y
ZXF1ZXN0c1tXZWJJbnNwZWN0b3IucGFuZWwoIm5ldHdvcmsiKS5yZXF1ZXN0cy5sZW5ndGggLSAz
XTsKLSAgICAgICAgZHVtcFJlcXVlc3QocmVxdWVzdCwgc3RlcDMpOwotICAgIH0KLQotICAgIGZ1
bmN0aW9uIHN0ZXAzKCkKLSAgICB7Ci0gICAgICAgIHZhciByZXF1ZXN0ID0gV2ViSW5zcGVjdG9y
LnBhbmVsKCJuZXR3b3JrIikucmVxdWVzdHNbV2ViSW5zcGVjdG9yLnBhbmVsKCJuZXR3b3JrIiku
cmVxdWVzdHMubGVuZ3RoIC0gMl07Ci0gICAgICAgIGR1bXBSZXF1ZXN0KHJlcXVlc3QsIHN0ZXA0
KTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwNCgpCi0gICAgewotICAgICAgICB2YXIgcmVx
dWVzdCA9IFdlYkluc3BlY3Rvci5wYW5lbCgibmV0d29yayIpLnJlcXVlc3RzW1dlYkluc3BlY3Rv
ci5wYW5lbCgibmV0d29yayIpLnJlcXVlc3RzLmxlbmd0aCAtIDFdOwotICAgICAgICBkdW1wUmVx
dWVzdChyZXF1ZXN0LCBzdGVwNSk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc3RlcDUoKQotICAg
IHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKLSAgICB9Ci19Ci08L3Nj
cmlwdD4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLSAgICA8cD5UZXN0cyBO
ZXR3b3JrUmVzb3VyY2VzRGF0YSBsb2dpYyBmb3IgZW1iZWQgY29udGVudCByZXBsYWNlbWVudC48
L3A+Ci0gICAgPGVtYmVkIG5hbWU9InBsZyIgdHlwZT0iYXBwbGljYXRpb24veC13ZWJraXQtdGVz
dC1uZXRzY2FwZSIgc3JjPSJyZXNvdXJjZXMvcmVzb3VyY2UucGhwP3R5cGU9aW1hZ2UiIG9uc3Ry
ZWFtbG9hZD0ic3RyZWFtTG9hZGVkKCkiPjwvZW1iZWQ+Ci08L2JvZHk+Ci08L2h0bWw+Ci0KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL25ldHdvcmsvbmV0d29y
ay1jb250ZW50LXJlcGxhY2VtZW50LXhoci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL25ldHdvcmstY29udGVudC1yZXBsYWNlbWVudC14aHIt
ZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1Y2RlZGI4MDMyMjFj
MjhkM2YwZmE0YzY0OTllMGIyOTE5OWUyNGM5Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL25ldHdv
cmsvbmV0d29yay1jb250ZW50LXJlcGxhY2VtZW50LXhoci1leHBlY3RlZC50eHQKKysrIC9kZXYv
bnVsbApAQCAtMSwxNiArMCwwIEBACi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTM6IERvbmUuCi1D
T05TT0xFIE1FU1NBR0U6IGxpbmUgNjogWEhSIGxvYWRlZDogMQotQ09OU09MRSBNRVNTQUdFOiBs
aW5lIDY6IFhIUiBsb2FkZWQ6IDIKLUNPTlNPTEUgTUVTU0FHRTogbGluZSA2OiBYSFIgbG9hZGVk
OiAzCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgNjogWEhSIGxvYWRlZDogNAotVGVzdHMgTmV0d29y
a1Jlc291cmNlc0RhdGEgbG9naWMgZm9yIFhIUiBjb250ZW50IHJlcGxhY2VtZW50LgotCi1odHRw
Oi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL25ldHdvcmsvcmVzb3VyY2VzL3Jlc291cmNlLnBo
cD9zaXplPTIwMAotcmVzb3VyY2UuY29udGVudDogbnVsbAotaHR0cDovLzEyNy4wLjAuMTo4MDAw
L2luc3BlY3Rvci9uZXR3b3JrL3Jlc291cmNlcy9yZXNvdXJjZS5waHA/c2l6ZT0xMDAKLXJlc291
cmNlLmNvbnRlbnQ6ICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioK
LWh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvbmV0d29yay9yZXNvdXJjZXMvcmVzb3Vy
Y2UucGhwP3NpemU9MjAxCi1yZXNvdXJjZS5jb250ZW50OiBudWxsCi1odHRwOi8vMTI3LjAuMC4x
OjgwMDAvaW5zcGVjdG9yL25ldHdvcmsvcmVzb3VyY2VzL3Jlc291cmNlLnBocD9zaXplPTEwMAot
cmVzb3VyY2UuY29udGVudDogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3
b3JrL25ldHdvcmstY29udGVudC1yZXBsYWNlbWVudC14aHIuaHRtbCBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvaW5zcGVjdG9yL25ldHdvcmsvbmV0d29yay1jb250ZW50LXJlcGxhY2VtZW50LXho
ci5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5Yjg2NWYxYWUyZjhhODI0ZTNl
MDdjMjI4NDBjMDllYmUyN2VlMjE4Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL25ldHdvcmsvbmV0
d29yay1jb250ZW50LXJlcGxhY2VtZW50LXhoci5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsOTUg
KzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi9pbnNwZWN0b3ItdGVzdC5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vbmV0d29yay10ZXN0LmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQ+Ci1mdW5jdGlvbiBzZXRJbnNwZWN0b3JSZXNvdXJjZXNEYXRhU2l6ZUxpbWl0cygp
Ci17Ci0gICAgaWYgKCF3aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAgICAgIGNvbnNvbGUubG9nKCJU
aGlzIHRlc3QgY2FuIG5vdCBiZSBydW4gYXMgd2luZG93LmludGVybmFscyBpcyBub3QgYXZhaWxh
YmxlLiIpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotICAgIGludGVybmFscy5zZXRJbnNwZWN0
b3JSZXNvdXJjZXNEYXRhU2l6ZUxpbWl0cygzMDAsIDIwMCk7Ci0gICAgY29uc29sZS5sb2coIkRv
bmUuIik7Ci19Ci0KLWZ1bmN0aW9uIHRlc3QoKQotewotICAgIEluc3BlY3RvclRlc3QuYWRkQ29u
c29sZVNuaWZmZXIoZGF0YVNpemVMaW1pdHNTZXQpOwotICAgIEluc3BlY3RvclRlc3QuZXZhbHVh
dGVJblBhZ2UoInNldEluc3BlY3RvclJlc291cmNlc0RhdGFTaXplTGltaXRzKCkiKTsKLQotICAg
IGZ1bmN0aW9uIGRhdGFTaXplTGltaXRzU2V0KCkKLSAgICB7Ci0gICAgICAgIC8vIEhlcmUgd2Ug
dGVzdCByZXBsYWNlbWVudCBsb2dpYy4gV2Ugc2F2ZSBmaXJzdCB0d28gcmVzb3VyY2VzIGNvbnRl
bnQsCi0gICAgICAgIC8vIGRpc2NhcmQgdGhpcmQgcmVzb3VyY2UgY29udGVudCBvbmNlIHdlIHNl
ZSBpdHMgc2l6ZSBleGNlZWRzIGxpbWl0LAotICAgICAgICAvLyBhbmQgZmluYWxseSByZXBsYWNl
IGZpcnN0IHJlc291cmNlIGNvbnRlbnQgd2l0aCB0aGUgbGFzdCByZXNvdXJjZSBjb250ZW50Lgot
Ci0gICAgICAgIEluc3BlY3RvclRlc3QubWFrZVNpbXBsZVhIUigiR0VUIiwgInJlc291cmNlcy9y
ZXNvdXJjZS5waHA/c2l6ZT0yMDAiLCBmYWxzZSwgeGhyTG9hZGVkMSk7Ci0gICAgfQotCi0gICAg
ZnVuY3Rpb24geGhyTG9hZGVkMSgpCi0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0Lm1ha2VT
aW1wbGVYSFIoIkdFVCIsICJyZXNvdXJjZXMvcmVzb3VyY2UucGhwP3NpemU9MTAwIiwgZmFsc2Us
IHhockxvYWRlZDIpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHhockxvYWRlZDIoKQotICAgIHsK
LSAgICAgICAgSW5zcGVjdG9yVGVzdC5tYWtlU2ltcGxlWEhSKCJHRVQiLCAicmVzb3VyY2VzL3Jl
c291cmNlLnBocD9zaXplPTIwMSIsIGZhbHNlLCB4aHJMb2FkZWQzKTsKLSAgICB9Ci0KLSAgICBm
dW5jdGlvbiB4aHJMb2FkZWQzKCkKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QubWFrZVNp
bXBsZVhIUigiR0VUIiwgInJlc291cmNlcy9yZXNvdXJjZS5waHA/c2l6ZT0xMDAiLCBmYWxzZSwg
c3RlcDEpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIGR1bXBSZXF1ZXN0KHJlcXVlc3QsIGNhbGxi
YWNrKQotICAgIHsKLSAgICAgICAgaWYgKCFyZXF1ZXN0KQotICAgICAgICAgICAgcmV0dXJuIGNh
bGxiYWNrKCk7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KHJlcXVlc3QudXJsKTsK
LQotICAgICAgICBmdW5jdGlvbiBjb250ZW50TG9hZGVkKCkKLSAgICAgICAgewotICAgICAgICAg
ICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoInJlc291cmNlLmNvbnRlbnQ6ICIgKyByZXF1ZXN0
LmNvbnRlbnQpOwotICAgICAgICAgICAgY2FsbGJhY2soKTsKLSAgICAgICAgfQotCi0gICAgICAg
IHJlcXVlc3QucmVxdWVzdENvbnRlbnQoY29udGVudExvYWRlZCk7Ci0gICAgfQotCi0gICAgZnVu
Y3Rpb24gc3RlcDEoKQotICAgIHsKLSAgICAgICAgdmFyIHJlcXVlc3QgPSBXZWJJbnNwZWN0b3Iu
cGFuZWwoIm5ldHdvcmsiKS5yZXF1ZXN0c1tXZWJJbnNwZWN0b3IucGFuZWwoIm5ldHdvcmsiKS5y
ZXF1ZXN0cy5sZW5ndGggLSA0XTsKLSAgICAgICAgZHVtcFJlcXVlc3QocmVxdWVzdCwgc3RlcDIp
OwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0ZXAyKCkKLSAgICB7Ci0gICAgICAgIHZhciByZXF1
ZXN0ID0gV2ViSW5zcGVjdG9yLnBhbmVsKCJuZXR3b3JrIikucmVxdWVzdHNbV2ViSW5zcGVjdG9y
LnBhbmVsKCJuZXR3b3JrIikucmVxdWVzdHMubGVuZ3RoIC0gM107Ci0gICAgICAgIGR1bXBSZXF1
ZXN0KHJlcXVlc3QsIHN0ZXAzKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwMygpCi0gICAg
ewotICAgICAgICB2YXIgcmVxdWVzdCA9IFdlYkluc3BlY3Rvci5wYW5lbCgibmV0d29yayIpLnJl
cXVlc3RzW1dlYkluc3BlY3Rvci5wYW5lbCgibmV0d29yayIpLnJlcXVlc3RzLmxlbmd0aCAtIDJd
OwotICAgICAgICBkdW1wUmVxdWVzdChyZXF1ZXN0LCBzdGVwNCk7Ci0gICAgfQotCi0gICAgZnVu
Y3Rpb24gc3RlcDQoKQotICAgIHsKLSAgICAgICAgdmFyIHJlcXVlc3QgPSBXZWJJbnNwZWN0b3Iu
cGFuZWwoIm5ldHdvcmsiKS5yZXF1ZXN0c1tXZWJJbnNwZWN0b3IucGFuZWwoIm5ldHdvcmsiKS5y
ZXF1ZXN0cy5sZW5ndGggLSAxXTsKLSAgICAgICAgZHVtcFJlcXVlc3QocmVxdWVzdCwgc3RlcDUp
OwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0ZXA1KCkKLSAgICB7Ci0gICAgICAgIEluc3BlY3Rv
clRlc3QuY29tcGxldGVUZXN0KCk7Ci0gICAgfQotfQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9k
eSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci0gICAgPHA+IFRlc3RzIE5ldHdvcmtSZXNvdXJjZXNEYXRh
IGxvZ2ljIGZvciBYSFIgY29udGVudCByZXBsYWNlbWVudC48L3A+Ci08L2JvZHk+Ci08L2h0bWw+
Ci0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL25ldHdvcmsv
bmV0d29yay1jeXJpbGxpYy14aHItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9pbnNwZWN0b3IvbmV0d29yay9uZXR3b3JrLWN5cmlsbGljLXhoci1leHBlY3RlZC50eHQKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY1MjA3N2Q1Yjc2ZjFkNjgxYTM0ODY3ZWE2ZDM4
ODEyMThkNTQ0NmIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29yay9uZXR3b3JrLWN5cmls
bGljLXhoci1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxNCArMCwwIEBACi1DT05T
T0xFIE1FU1NBR0U6IGxpbmUgNjogWEhSIGxvYWRlZDogMQotQ09OU09MRSBNRVNTQUdFOiBsaW5l
IDY6IFhIUiBsb2FkZWQ6IDIKLVRlc3RzIGN5cmlsbGljIHhociBjb250ZW50IGlzIGNvcnJlY3Rs
eSBsb2FkZWQgaW4gaW5zcGVjdG9yLgotCi1CdWcgNzkwMjYKLWh0dHA6Ly8xMjcuMC4wLjE6ODAw
MC9pbnNwZWN0b3IvbmV0d29yay9yZXNvdXJjZXMvY3lyaWxsaWMuaHRtbAotcmVzb3VyY2UuY29u
dGVudDogVGhlIGZvbGxvd2luZyBsaW5lIGNvbnRhaW5zIGEgd29yZCAic3VjY2VzcyIgd3JpdHRl
biB3aXRoIGN5cmlsbGljIGxldHRlcnMuCi1TVdCh0KHQlVNTCi0KLWh0dHA6Ly8xMjcuMC4wLjE6
ODAwMC9pbnNwZWN0b3IvbmV0d29yay9yZXNvdXJjZXMvY3lyaWxsaWMuaHRtbAotcmVzb3VyY2Uu
Y29udGVudDogVGhlIGZvbGxvd2luZyBsaW5lIGNvbnRhaW5zIGEgd29yZCAic3VjY2VzcyIgd3Jp
dHRlbiB3aXRoIGN5cmlsbGljIGxldHRlcnMuCi1TVdCh0KHQlVNTCi0KLQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29yay9uZXR3b3JrLWN5cmlsbGlj
LXhoci5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29yay9uZXR3
b3JrLWN5cmlsbGljLXhoci5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5OTY3
NDY0ODg4OGQwZDEzYzM3ZTkyMmE0ZDlkZGJjZmFjZWI3YzFiLi4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVj
dG9yL25ldHdvcmsvbmV0d29yay1jeXJpbGxpYy14aHIuaHRtbAorKysgL2Rldi9udWxsCkBAIC0x
LDYxICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vaW5zcGVjdG9yLXRl
c3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uL25ldHdvcmstdGVzdC5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0PgotZnVuY3Rpb24gdGVzdCgpCi17Ci0gICAgLy8gU2luY2UgdGhpcyB0ZXN0
IGNvdWxkIGJlIHJ1biB0b2dldGhlciB3aXRoIG90aGVyIGluc3BlY3RvciBiYWNrZW5kIGNhY2hl
Ci0gICAgLy8gdGVzdHMsIHdlIG5lZWQgdG8gcmVzZXQgc2l6ZSBsaW1pdHMgdG8gZGVmYXVsdCBv
bmVzLgotICAgIEluc3BlY3RvclRlc3QucmVzZXRJbnNwZWN0b3JSZXNvdXJjZXNEYXRhKHN0ZXAx
KTsKLQotICAgIGZ1bmN0aW9uIGR1bXBSZXF1ZXN0KHJlcXVlc3QsIGNhbGxiYWNrKQotICAgIHsK
LSAgICAgICAgaWYgKCFyZXF1ZXN0KQotICAgICAgICAgICAgcmV0dXJuIGNhbGxiYWNrKCk7Ci0g
ICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KHJlcXVlc3QudXJsKTsKLQotICAgICAgICBm
dW5jdGlvbiBjb250ZW50TG9hZGVkKCkKLSAgICAgICAgewotICAgICAgICAgICAgSW5zcGVjdG9y
VGVzdC5hZGRSZXN1bHQoInJlc291cmNlLmNvbnRlbnQ6ICIgKyByZXF1ZXN0LmNvbnRlbnQpOwot
ICAgICAgICAgICAgY2FsbGJhY2soKTsKLSAgICAgICAgfQotCi0gICAgICAgIHJlcXVlc3QucmVx
dWVzdENvbnRlbnQoY29udGVudExvYWRlZCk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc3RlcDEo
KQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5tYWtlU2ltcGxlWEhSKCJHRVQiLCAicmVz
b3VyY2VzL2N5cmlsbGljLmh0bWwiLCBmYWxzZSwgZmlyc3RYSFJMb2FkZWQpOwotCi0gICAgICAg
IGZ1bmN0aW9uIGZpcnN0WEhSTG9hZGVkKCkKLSAgICAgICAgewotICAgICAgICAgICAgSW5zcGVj
dG9yVGVzdC5tYWtlU2ltcGxlWEhSKCJHRVQiLCAicmVzb3VyY2VzL2N5cmlsbGljLmh0bWwiLCB0
cnVlLCBzdGVwMik7Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwMigpCi0g
ICAgewotICAgICAgICB2YXIgcmVxdWVzdCA9IFdlYkluc3BlY3Rvci5wYW5lbCgibmV0d29yayIp
LnJlcXVlc3RzW1dlYkluc3BlY3Rvci5wYW5lbCgibmV0d29yayIpLnJlcXVlc3RzLmxlbmd0aCAt
IDJdOwotICAgICAgICBkdW1wUmVxdWVzdChyZXF1ZXN0LCBzdGVwMyk7Ci0gICAgfQotCi0gICAg
ZnVuY3Rpb24gc3RlcDMoKQotICAgIHsKLSAgICAgICAgdmFyIHJlcXVlc3QgPSBXZWJJbnNwZWN0
b3IucGFuZWwoIm5ldHdvcmsiKS5yZXF1ZXN0c1tXZWJJbnNwZWN0b3IucGFuZWwoIm5ldHdvcmsi
KS5yZXF1ZXN0cy5sZW5ndGggLSAxXTsKLSAgICAgICAgZHVtcFJlcXVlc3QocmVxdWVzdCwgc3Rl
cDQpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0ZXA0KCkKLSAgICB7Ci0gICAgICAgIEluc3Bl
Y3RvclRlc3QuY29tcGxldGVUZXN0KCk7Ci0gICAgfQotfQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08
Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci08cD4gVGVzdHMgY3lyaWxsaWMgeGhyIGNvbnRlbnQg
aXMgY29ycmVjdGx5IGxvYWRlZCBpbiBpbnNwZWN0b3IuPC9wPgotPGEgaHJlZj0iaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc5MDI2Ij5CdWcgNzkwMjY8L2E+Ci08L2Jv
ZHk+Ci08L2h0bWw+Ci0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVj
dG9yL25ldHdvcmsvbmV0d29yay1kaXNhYmxlLWNhY2hlLW1lbW9yeS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL25ldHdvcmstZGlzYWJsZS1j
YWNoZS1tZW1vcnktZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBm
M2Q2Y2IzZmIxZTFiYzdjODk4MDQwMGM3YjQzNTA4ZjZlZDk1YzIxLi4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5z
cGVjdG9yL25ldHdvcmsvbmV0d29yay1kaXNhYmxlLWNhY2hlLW1lbW9yeS1leHBlY3RlZC50eHQK
KysrIC9kZXYvbnVsbApAQCAtMSw4ICswLDAgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxOiBE
b25lLgotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE6IERvbmUuCi1DT05TT0xFIE1FU1NBR0U6IGxp
bmUgMTogRG9uZS4KLVRlc3RzIGRpc2FibGluZyBjYWNoZSBmcm9tIGluc3BlY3Rvci4KLQotUGFn
ZSByZWxvYWRlZC4KLVBhZ2UgcmVsb2FkZWQuCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvaW5zcGVjdG9yL25ldHdvcmsvbmV0d29yay1kaXNhYmxlLWNhY2hlLW1lbW9yeS5o
dG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29yay9uZXR3b3JrLWRp
c2FibGUtY2FjaGUtbWVtb3J5Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGNl
ZDdkOGI5NDI5NTZjZDkzMGQ4MDg4ZjFiOGM2YTVmOTY5ZDZkZmIuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNw
ZWN0b3IvbmV0d29yay9uZXR3b3JrLWRpc2FibGUtY2FjaGUtbWVtb3J5Lmh0bWwKKysrIC9kZXYv
bnVsbApAQCAtMSw5MiArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uL2lu
c3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi9uZXR3b3JrLXRlc3Qu
anMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLWZ1bmN0aW9uIHNjaGVkdWxlU2NyaXB0TG9hZCgpIHsK
LSAgICB3aW5kb3cuc2V0VGltZW91dChsb2FkU2NyaXB0LCAwKTsKLX0KLQotZnVuY3Rpb24gbG9h
ZFNjcmlwdCgpIHsKLSAgICB2YXIgc2NyaXB0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2Ny
aXB0Iik7Ci0gICAgc2NyaXB0LnR5cGUgPSAidGV4dC9qYXZhc2NyaXB0IjsKLSAgICBzY3JpcHQu
c3JjID0gInJlc291cmNlcy9yYW5kb20tc2NyaXB0LnBocCI7Ci0gICAgZG9jdW1lbnQuaGVhZC5h
cHBlbmRDaGlsZChzY3JpcHQpOwotfQotCi1mdW5jdGlvbiB0ZXN0KCkKLXsKLSAgICB2YXIgY29u
dGVudDE7Ci0gICAgdmFyIGNvbnRlbnQyOwotICAgIHZhciBjb250ZW50MzsKLQotICAgIGZ1bmN0
aW9uIGxvYWRTY3JpcHRBbmRHZXRDb250ZW50KGNhbGxiYWNrKQotICAgIHsKLSAgICAgICAgSW5z
cGVjdG9yVGVzdC5hZGRDb25zb2xlU25pZmZlcihzY3JpcHRMb2FkZWQpOwotICAgICAgICBJbnNw
ZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJzY2hlZHVsZVNjcmlwdExvYWQoKSIpOwotCi0gICAg
ICAgIGZ1bmN0aW9uIHNjcmlwdExvYWRlZCgpCi0gICAgICAgIHsKLSAgICAgICAgICAgIHZhciBy
ZXF1ZXN0c0NvdW50ID0gV2ViSW5zcGVjdG9yLnBhbmVsKCJuZXR3b3JrIikucmVxdWVzdHMubGVu
Z3RoOwotICAgICAgICAgICAgdmFyIHJlcXVlc3QgPSBXZWJJbnNwZWN0b3IucGFuZWwoIm5ldHdv
cmsiKS5yZXF1ZXN0c1tyZXF1ZXN0c0NvdW50IC0gMV07Ci0gICAgICAgICAgICByZXF1ZXN0LnJl
cXVlc3RDb250ZW50KGNvbnRlbnRMb2FkZWQpOwotICAgICAgICB9Ci0KLSAgICAgICAgZnVuY3Rp
b24gY29udGVudExvYWRlZCgpCi0gICAgICAgIHsKLSAgICAgICAgICAgIHZhciByZXF1ZXN0c0Nv
dW50ID0gV2ViSW5zcGVjdG9yLnBhbmVsKCJuZXR3b3JrIikucmVxdWVzdHMubGVuZ3RoOwotICAg
ICAgICAgICAgdmFyIHJlcXVlc3QgPSBXZWJJbnNwZWN0b3IucGFuZWwoIm5ldHdvcmsiKS5yZXF1
ZXN0c1tyZXF1ZXN0c0NvdW50IC0gMV07Ci0gICAgICAgICAgICBjYWxsYmFjayhyZXF1ZXN0LmNv
bnRlbnQpOwotICAgICAgICB9Ci0gICAgfQotCi0gICAgbG9hZFNjcmlwdEFuZEdldENvbnRlbnQo
c3RlcDEpOwotCi0gICAgZnVuY3Rpb24gc3RlcDEoY29udGVudCkKLSAgICB7Ci0gICAgICAgIGNv
bnRlbnQxID0gY29udGVudDsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5yZWxvYWRQYWdlKHN0ZXAy
KTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwMihtc2cpCi0gICAgewotICAgICAgICBsb2Fk
U2NyaXB0QW5kR2V0Q29udGVudChzdGVwMyk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc3RlcDMo
Y29udGVudCkKLSAgICB7Ci0gICAgICAgIGNvbnRlbnQyID0gY29udGVudDsKLSAgICAgICAgTmV0
d29ya0FnZW50LnNldENhY2hlRGlzYWJsZWQodHJ1ZSwgc3RlcDQpOwotICAgIH0KLQotICAgIGZ1
bmN0aW9uIHN0ZXA0KG1zZykKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QucmVsb2FkUGFn
ZShzdGVwNSk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc3RlcDUobXNnKQotICAgIHsKLSAgICAg
ICAgbG9hZFNjcmlwdEFuZEdldENvbnRlbnQoc3RlcDYpOwotICAgIH0KLQotICAgIGZ1bmN0aW9u
IHN0ZXA2KGNvbnRlbnQpCi0gICAgewotICAgICAgICBjb250ZW50MyA9IGNvbnRlbnQ7Ci0KLSAg
ICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRUcnVlKGNvbnRlbnQxID09PSBjb250ZW50MiwgIkZp
cnN0IGFuZCBzZWNvbmQgc2NyaXB0cyBzaG91bGQgYmUgZXF1YWwuIik7Ci0gICAgICAgIEluc3Bl
Y3RvclRlc3QuYXNzZXJ0VHJ1ZShjb250ZW50MiAhPT0gY29udGVudDMsICJTZWNvbmQgYW5kIHRo
aXJkIHNjcmlwdHMgc2hvdWxkIGRpZmZlci4iKTsKLSAgICAgICAgTmV0d29ya0FnZW50LnNldENh
Y2hlRGlzYWJsZWQoZmFsc2UsIHN0ZXA3KTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwNyht
c2cpCi0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwotICAgIH0K
LX0KLTwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotICAgIDxw
PlRlc3RzIGRpc2FibGluZyBjYWNoZSBmcm9tIGluc3BlY3Rvci48L3A+Ci08L2JvZHk+Ci08L2h0
bWw+Ci0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL25ldHdv
cmsvbmV0d29yay1kaXNhYmxlLWNhY2hlLXhocnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29yay9uZXR3b3JrLWRpc2FibGUtY2FjaGUteGhycy1l
eHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI5NzVlZTE5YzhkZjU1
MDMxNDI0ZTQzMzg1ZGE0NjViY2I5MDQwYzIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29y
ay9uZXR3b3JrLWRpc2FibGUtY2FjaGUteGhycy1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApA
QCAtMSw5ICswLDAgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSA2OiBYSFIgbG9hZGVkOiAxCi1D
T05TT0xFIE1FU1NBR0U6IGxpbmUgNjogWEhSIGxvYWRlZDogMgotQ09OU09MRSBNRVNTQUdFOiBs
aW5lIDY6IFhIUiBsb2FkZWQ6IDMKLVRlc3RzIGRpc2FibGluZyBjYWNoZSBmcm9tIGluc3BlY3Rv
ci4KLQotaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9uZXR3b3JrL3Jlc291cmNlcy9y
ZXNvdXJjZS5waHA/cmFuZG9tPTEmY2FjaGVkPTEKLWh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNw
ZWN0b3IvbmV0d29yay9yZXNvdXJjZXMvcmVzb3VyY2UucGhwP3JhbmRvbT0xJmNhY2hlZD0xCi1o
dHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL25ldHdvcmsvcmVzb3VyY2VzL3Jlc291cmNl
LnBocD9yYW5kb209MSZjYWNoZWQ9MQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL2luc3BlY3Rvci9uZXR3b3JrL25ldHdvcmstZGlzYWJsZS1jYWNoZS14aHJzLmh0bWwgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL25ldHdvcmstZGlzYWJsZS1j
YWNoZS14aHJzLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM3MTJhY2U2N2Vl
YjU0MjI2OWM5Y2E5OWIyNGRhZjlhNzcwYzA3YTQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0
d29yay9uZXR3b3JrLWRpc2FibGUtY2FjaGUteGhycy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEs
NzUgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi9pbnNwZWN0b3ItdGVz
dC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vbmV0d29yay10ZXN0LmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQ+Ci1mdW5jdGlvbiB0ZXN0KCkKLXsKLSAgICAvLyBTaW5jZSB0aGlzIHRlc3Qg
Y291bGQgYmUgcnVuIHRvZ2V0aGVyIHdpdGggb3RoZXIgaW5zcGVjdG9yIGJhY2tlbmQgY2FjaGUK
LSAgICAvLyB0ZXN0cywgd2UgbmVlZCB0byByZXNldCBzaXplIGxpbWl0cyB0byBkZWZhdWx0IG9u
ZXMuCi0gICAgSW5zcGVjdG9yVGVzdC5yZXNldEluc3BlY3RvclJlc291cmNlc0RhdGEoc3RlcDEp
OwotCi0gICAgZnVuY3Rpb24gc3RlcDEoKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5t
YWtlU2ltcGxlWEhSKCJHRVQiLCAicmVzb3VyY2VzL3Jlc291cmNlLnBocD9yYW5kb209MSZjYWNo
ZWQ9MSIsIHRydWUsIGZpcnN0WEhSTG9hZGVkKTsKLQotICAgICAgICBmdW5jdGlvbiBmaXJzdFhI
UkxvYWRlZCgpCi0gICAgICAgIHsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QubWFrZVNpbXBs
ZVhIUigiR0VUIiwgInJlc291cmNlcy9yZXNvdXJjZS5waHA/cmFuZG9tPTEmY2FjaGVkPTEiLCB0
cnVlLCBzdGVwMik7Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwMihtc2cp
Ci0gICAgewotICAgICAgICBOZXR3b3JrQWdlbnQuc2V0Q2FjaGVEaXNhYmxlZCh0cnVlLCBzdGVw
Myk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc3RlcDMobXNnKQotICAgIHsKLSAgICAgICAgSW5z
cGVjdG9yVGVzdC5tYWtlU2ltcGxlWEhSKCJHRVQiLCAicmVzb3VyY2VzL3Jlc291cmNlLnBocD9y
YW5kb209MSZjYWNoZWQ9MSIsIHRydWUsIHN0ZXA0KTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBz
dGVwNChtc2cpCi0gICAgewotICAgICAgICAvLyBpbnNwZWN0b3ItdGVzdC5qcyBhcHBlYXJzIGlu
IG5ldHdvcmsgcGFuZWwgb2NjYXNpb25hbGx5IGluIFNhZmFyaSBvbgotICAgICAgICAvLyBNYWMs
IHNvIGNoZWNraW5nIHR3byBsYXN0IHJlc291cmNlcy4KLSAgICAgICAgdmFyIHJlcXVlc3RzQ291
bnQgPSBXZWJJbnNwZWN0b3IucGFuZWwoIm5ldHdvcmsiKS5yZXF1ZXN0cy5sZW5ndGg7Ci0gICAg
ICAgIHZhciByZXF1ZXN0MSA9IFdlYkluc3BlY3Rvci5wYW5lbCgibmV0d29yayIpLnJlcXVlc3Rz
W3JlcXVlc3RzQ291bnQgLSAzXTsKLSAgICAgICAgdmFyIHJlcXVlc3QyID0gV2ViSW5zcGVjdG9y
LnBhbmVsKCJuZXR3b3JrIikucmVxdWVzdHNbcmVxdWVzdHNDb3VudCAtIDJdOwotICAgICAgICB2
YXIgcmVxdWVzdDMgPSBXZWJJbnNwZWN0b3IucGFuZWwoIm5ldHdvcmsiKS5yZXF1ZXN0c1tyZXF1
ZXN0c0NvdW50IC0gMV07Ci0gICAgICAgIHJlcXVlc3QxLnJlcXVlc3RDb250ZW50KGNvbnRlbnRM
b2FkZWQpOwotICAgICAgICByZXF1ZXN0Mi5yZXF1ZXN0Q29udGVudChjb250ZW50TG9hZGVkKTsK
LSAgICAgICAgcmVxdWVzdDMucmVxdWVzdENvbnRlbnQoY29udGVudExvYWRlZCk7Ci0gICAgfQot
Ci0gICAgdmFyIGNvbnRlbnRMb2FkZWRDb3VudCA9IDA7Ci0gICAgZnVuY3Rpb24gY29udGVudExv
YWRlZCgpCi0gICAgewotICAgICAgICBpZiAoKytjb250ZW50TG9hZGVkQ291bnQgIT09IDMpCi0g
ICAgICAgICAgICByZXR1cm47Ci0KLSAgICAgICAgdmFyIHJlcXVlc3RzQ291bnQgPSBXZWJJbnNw
ZWN0b3IucGFuZWwoIm5ldHdvcmsiKS5yZXF1ZXN0cy5sZW5ndGg7Ci0gICAgICAgIHZhciByZXF1
ZXN0MSA9IFdlYkluc3BlY3Rvci5wYW5lbCgibmV0d29yayIpLnJlcXVlc3RzW3JlcXVlc3RzQ291
bnQgLSAzXTsKLSAgICAgICAgdmFyIHJlcXVlc3QyID0gV2ViSW5zcGVjdG9yLnBhbmVsKCJuZXR3
b3JrIikucmVxdWVzdHNbcmVxdWVzdHNDb3VudCAtIDJdOwotICAgICAgICB2YXIgcmVxdWVzdDMg
PSBXZWJJbnNwZWN0b3IucGFuZWwoIm5ldHdvcmsiKS5yZXF1ZXN0c1tyZXF1ZXN0c0NvdW50IC0g
MV07Ci0KLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQocmVxdWVzdDEudXJsKTsKLSAg
ICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQocmVxdWVzdDIudXJsKTsKLSAgICAgICAgSW5z
cGVjdG9yVGVzdC5hZGRSZXN1bHQocmVxdWVzdDMudXJsKTsKLSAgICAgICAgSW5zcGVjdG9yVGVz
dC5hc3NlcnRUcnVlKHJlcXVlc3QxLmNvbnRlbnQgPT09IHJlcXVlc3QyLmNvbnRlbnQsICJGaXJz
dCBhbmQgc2Vjb25kIHJlc291cmNlcyBhcmUgZXF1YWwiKTsKLSAgICAgICAgSW5zcGVjdG9yVGVz
dC5hc3NlcnRUcnVlKHJlcXVlc3QyLmNvbnRlbnQgIT09IHJlcXVlc3QzLmNvbnRlbnQsICJTZWNv
bmQgYW5kIHRoaXJkIHJlc291cmNlcyBkaWZmZXIiKTsKLSAgICAgICAgTmV0d29ya0FnZW50LnNl
dENhY2hlRGlzYWJsZWQoZmFsc2UsIHN0ZXA1KTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVw
NShtc2cpCi0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwotICAg
IH0KLX0KLTwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotICAg
IDxwPlRlc3RzIGRpc2FibGluZyBjYWNoZSBmcm9tIGluc3BlY3Rvci48L3A+Ci08L2JvZHk+Ci08
L2h0bWw+Ci0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL25l
dHdvcmsvbmV0d29yay1kaXNhYmxpbmctY2hlY2stbm8tbWVtb3J5LWxlYWstZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29yay9uZXR3b3JrLWRpc2Fi
bGluZy1jaGVjay1uby1tZW1vcnktbGVhay1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDE4ZWM2NDY0NjcxMDE3MjdmNWJlNzYwZWE4NjVkOWJkOWRjNjU2NTIuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29yay9uZXR3b3JrLWRpc2FibGluZy1jaGVjay1uby1t
ZW1vcnktbGVhay1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw1ICswLDAgQEAKLUNP
TlNPTEUgTUVTU0FHRTogbGluZSA2OiBYSFIgbG9hZGVkOiAxCi1UZXN0cyB0aGF0IGFmdGVyIGRp
c2FibGluZyBuZXR3b3JrIGRvbWFpbiwgY29udGVudCBzYXZlZCBvbiBiYWNrZW5kIGlzIHJlbW92
ZWQuIEJ1ZyA2Nzk5NQotCi1yZXNvdXJjZS5jb250ZW50IGFmdGVyIGRpc2FibGluZyBuZXR3b3Jr
IGRvbWFpbjogbnVsbAotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3Bl
Y3Rvci9uZXR3b3JrL25ldHdvcmstZGlzYWJsaW5nLWNoZWNrLW5vLW1lbW9yeS1sZWFrLmh0bWwg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL25ldHdvcmstZGlzYWJs
aW5nLWNoZWNrLW5vLW1lbW9yeS1sZWFrLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IGUyMDYwYjgwNThiY2UwY2FmZDVlZTIwZGQ0Y2I3NWY3Y2U5Yzc2N2QuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9pbnNwZWN0b3IvbmV0d29yay9uZXR3b3JrLWRpc2FibGluZy1jaGVjay1uby1tZW1vcnktbGVh
ay5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNDggKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxz
Y3JpcHQgc3JjPSIuLi9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
Li4vbmV0d29yay10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci1mdW5jdGlvbiB0ZXN0KCkK
LXsKLSAgICAvLyBTaW5jZSB0aGlzIHRlc3QgY291bGQgYmUgcnVuIHRvZ2V0aGVyIHdpdGggb3Ro
ZXIgaW5zcGVjdG9yIGJhY2tlbmQgY2FjaGUKLSAgICAvLyB0ZXN0cywgd2UgbmVlZCB0byByZXNl
dCBzaXplIGxpbWl0cyB0byBkZWZhdWx0IG9uZXMuCi0gICAgSW5zcGVjdG9yVGVzdC5yZXNldElu
c3BlY3RvclJlc291cmNlc0RhdGEoc3RlcDEpOwotCi0gICAgZnVuY3Rpb24gc3RlcDEoKQotICAg
IHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5tYWtlU2ltcGxlWEhSKCJHRVQiLCAicmVzb3VyY2Vz
L3Jlc291cmNlLnBocCIsIHRydWUsIHN0ZXAyKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVw
MigpCi0gICAgewotICAgICAgICBOZXR3b3JrQWdlbnQuZGlzYWJsZShzdGVwMyk7Ci0gICAgfQot
Ci0gICAgZnVuY3Rpb24gc3RlcDMoKQotICAgIHsKLSAgICAgICAgdmFyIHJlcXVlc3QxID0gV2Vi
SW5zcGVjdG9yLnBhbmVsKCJuZXR3b3JrIikucmVxdWVzdHNbV2ViSW5zcGVjdG9yLnBhbmVsKCJu
ZXR3b3JrIikucmVxdWVzdHMubGVuZ3RoIC0gMV07Ci0gICAgICAgIHJlcXVlc3QxLnJlcXVlc3RD
b250ZW50KHN0ZXA0KTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwNCgpCi0gICAgewotICAg
ICAgICB2YXIgcmVxdWVzdDEgPSBXZWJJbnNwZWN0b3IucGFuZWwoIm5ldHdvcmsiKS5yZXF1ZXN0
c1tXZWJJbnNwZWN0b3IucGFuZWwoIm5ldHdvcmsiKS5yZXF1ZXN0cy5sZW5ndGggLSAxXTsKLSAg
ICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoInJlc291cmNlLmNvbnRlbnQgYWZ0ZXIgZGlz
YWJsaW5nIG5ldHdvcmsgZG9tYWluOiAiICsgcmVxdWVzdDEuY29udGVudCk7Ci0gICAgICAgIE5l
dHdvcmtBZ2VudC5lbmFibGUoc3RlcDUpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0ZXA1KCkK
LSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7Ci0gICAgfQotfQot
PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci0gPHA+Ci0gVGVz
dHMgdGhhdCBhZnRlciBkaXNhYmxpbmcgbmV0d29yayBkb21haW4sIGNvbnRlbnQgc2F2ZWQgb24g
YmFja2VuZCBpcyByZW1vdmVkLgotPGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTY3OTk1Ij5CdWcgNjc5OTU8L2E+Ci08L3A+Ci08L2JvZHk+Ci08L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL25l
dHdvcmstZW1iZWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0
b3IvbmV0d29yay9uZXR3b3JrLWVtYmVkLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggZDNkODUyMjRlMGY3NzdhYmI3ZTExMGVkZDNiYjE2MGE2NzczNjVkOS4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL25ldHdvcmstZW1iZWQtZXhwZWN0ZWQudHh0Cisr
KyAvZGV2L251bGwKQEAgLTEsNDEgKzAsMCBAQAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDU4OiBE
b25lLgotVGVzdHMgdGhhdCBuZXR3b3JrIHBhbmVsIHNob3dzIGNvbnRlbnQgZm9yIGVtYmVkIG9i
amVjdHMuCi0KLQotaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9uZXR3b3JrL3Jlc291
cmNlcy9yZXNvdXJjZS5waHA/dHlwZT1pbWFnZQotcmVzb3VyY2UudHlwZTogb3RoZXIKLXJlc291
cmNlLmNvbnRlbnQgYmVmb3JlIHJlcXVlc3RpbmcgY29udGVudDogdW5kZWZpbmVkCi1yZXNvdXJj
ZS5jb250ZW50IGFmdGVyIHJlcXVlc3RpbmcgY29udGVudDogbnVsbAotaHR0cDovLzEyNy4wLjAu
MTo4MDAwL2luc3BlY3Rvci9uZXR3b3JrL3Jlc291cmNlcy9wbHVnaW4tZGF0YS5waHA/ZmlsZW5h
bWU9dXRmOC54bWwmbWltZXR5cGU9dGV4dC9odG1sJmNoYXJzZXQ9dXRmOAotcmVzb3VyY2UudHlw
ZTogb3RoZXIKLXJlc291cmNlLmNvbnRlbnQgYmVmb3JlIHJlcXVlc3RpbmcgY29udGVudDogdW5k
ZWZpbmVkCi1yZXNvdXJjZS5jb250ZW50IGFmdGVyIHJlcXVlc3RpbmcgY29udGVudDogPD94bWwg
dmVyc2lvbj0nMS4wJyBlbmNvZGluZz0ndXRmLTgnPz4KLTxyb290PgotICA8dXRmOD5TVdCh0KHQ
lVNTIC0gVGhlc2UgJ0NDRScgYXJlIGN5cmlsbGljIGxldHRlcnMuPC91dGY4PgotPC9yb290Pgot
Ci1odHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL25ldHdvcmsvcmVzb3VyY2VzL3BsdWdp
bi1kYXRhLnBocD9maWxlbmFtZT1jcDEyNTEueG1sJm1pbWV0eXBlPXRleHQvaHRtbCZjaGFyc2V0
PWNwMTI1MQotcmVzb3VyY2UudHlwZTogb3RoZXIKLXJlc291cmNlLmNvbnRlbnQgYmVmb3JlIHJl
cXVlc3RpbmcgY29udGVudDogdW5kZWZpbmVkCi1yZXNvdXJjZS5jb250ZW50IGFmdGVyIHJlcXVl
c3RpbmcgY29udGVudDogPD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nY3AxMjUxJz8+Ci08
cm9vdD4KLSAgPGNwMTI1MT5TVdCh0KHQlVNTIC0gVGhlc2UgJ0NDRScgYXJlIGN5cmlsbGljIGxl
dHRlcnMuPC9jcDEyNTE+Ci08L3Jvb3Q+Ci0KLWh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0
b3IvbmV0d29yay9yZXNvdXJjZXMvcGx1Z2luLWRhdGEucGhwP2ZpbGVuYW1lPXV0ZjgueG1sJm1p
bWV0eXBlPWFwcGxpY2F0aW9uL3htbAotcmVzb3VyY2UudHlwZTogb3RoZXIKLXJlc291cmNlLmNv
bnRlbnQgYmVmb3JlIHJlcXVlc3RpbmcgY29udGVudDogdW5kZWZpbmVkCi1yZXNvdXJjZS5jb250
ZW50IGFmdGVyIHJlcXVlc3RpbmcgY29udGVudDogPD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGlu
Zz0ndXRmLTgnPz4KLTxyb290PgotICA8dXRmOD5TVdCh0KHQlVNTIC0gVGhlc2UgJ0NDRScgYXJl
IGN5cmlsbGljIGxldHRlcnMuPC91dGY4PgotPC9yb290PgotCi1odHRwOi8vMTI3LjAuMC4xOjgw
MDAvaW5zcGVjdG9yL25ldHdvcmsvcmVzb3VyY2VzL3BsdWdpbi1kYXRhLnBocD9maWxlbmFtZT1j
cDEyNTEueG1sJm1pbWV0eXBlPWFwcGxpY2F0aW9uL3htbAotcmVzb3VyY2UudHlwZTogb3RoZXIK
LXJlc291cmNlLmNvbnRlbnQgYmVmb3JlIHJlcXVlc3RpbmcgY29udGVudDogdW5kZWZpbmVkCi1y
ZXNvdXJjZS5jb250ZW50IGFmdGVyIHJlcXVlc3RpbmcgY29udGVudDogPD94bWwgdmVyc2lvbj0n
MS4wJyBlbmNvZGluZz0nY3AxMjUxJz8+Ci08cm9vdD4KLSAgPGNwMTI1MT5TVdCh0KHQlVNTIC0g
VGhlc2UgJ0NDRScgYXJlIGN5cmlsbGljIGxldHRlcnMuPC9jcDEyNTE+Ci08L3Jvb3Q+Ci0KLQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29yay9uZXR3
b3JrLWVtYmVkLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3Jr
L25ldHdvcmstZW1iZWQuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggM2UwYzUw
NTM0MDdhODhkY2YxMjNhZGU5M2JlMTE2MjFhZDUxODdjMS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rv
ci9uZXR3b3JrL25ldHdvcmstZW1iZWQuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDEzMiArMCww
IEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uL2luc3BlY3Rvci10ZXN0LmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi9uZXR3b3JrLXRlc3QuanMiPjwvc2NyaXB0PgotPHNj
cmlwdD4KLXZhciBsb2FkZWRGaXJzdFVSTCA9IGZhbHNlOwotZnVuY3Rpb24gc3RyZWFtTG9hZGVk
KCkKLXsKLSAgICBpZiAobG9hZGVkRmlyc3RVUkwpCi0gICAgICAgIHJldHVybjsKLQotICAgIGxv
YWRlZEZpcnN0VVJMID0gdHJ1ZTsKLSAgICBsb2FkVVJMcygpOwotfQotCi12YXIgc25pZmZlcklu
c3RhbGxlZCA9IGZhbHNlOwotZnVuY3Rpb24gb25TbmlmZmVySW5zdGFsbGVkKCkKLXsKLSAgICBz
bmlmZmVySW5zdGFsbGVkID0gdHJ1ZTsKLSAgICBsb2FkVVJMcygpOwotfQotCi1mdW5jdGlvbiBs
b2FkVVJMcygpCi17Ci0gICAgaWYgKCFzbmlmZmVySW5zdGFsbGVkIHx8ICFsb2FkZWRGaXJzdFVS
TCkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgLy8gQmluYXJ5IGNvbnRlbnQgc2hvdWxkIG5vdCBi
ZSBhdmFpbGFibGUuCi0gICAgcGxnLmdldFVSTE5vdGlmeSgicmVzb3VyY2VzL3Jlc291cmNlLnBo
cD90eXBlPWltYWdlIiwgbnVsbCwgImxvYWRVUkwyIik7Ci19Ci0KLWZ1bmN0aW9uIGxvYWRVUkwy
KCkKLXsKLSAgICAvLyBUaGlzIHJlc291cmNlIGNvbnRlbnQgc2hvdWxkIGJlIGNvcnJlY3RseSBk
ZWNvZGVkLgotICAgIHBsZy5nZXRVUkxOb3RpZnkoInJlc291cmNlcy9wbHVnaW4tZGF0YS5waHA/
ZmlsZW5hbWU9dXRmOC54bWwmbWltZXR5cGU9dGV4dC9odG1sJmNoYXJzZXQ9dXRmOCIsIG51bGws
ICJsb2FkVVJMMyIpOwotfQotCi1mdW5jdGlvbiBsb2FkVVJMMygpCi17Ci0gICAgLy8gVGhpcyBy
ZXNvdXJjZSBjb250ZW50IHNob3VsZCBiZSBjb3JyZWN0bHkgZGVjb2RlZC4KLSAgICBwbGcuZ2V0
VVJMTm90aWZ5KCJyZXNvdXJjZXMvcGx1Z2luLWRhdGEucGhwP2ZpbGVuYW1lPWNwMTI1MS54bWwm
bWltZXR5cGU9dGV4dC9odG1sJmNoYXJzZXQ9Y3AxMjUxIiwgbnVsbCwgImxvYWRVUkw0Iik7Ci19
Ci0KLWZ1bmN0aW9uIGxvYWRVUkw0KCkKLXsKLSAgICAvLyBUaGlzIHJlc291cmNlIGNvbnRlbnQg
c2hvdWxkIGJlIGNvcnJlY3RseSBkZWNvZGVkLgotICAgIHBsZy5nZXRVUkxOb3RpZnkoInJlc291
cmNlcy9wbHVnaW4tZGF0YS5waHA/ZmlsZW5hbWU9dXRmOC54bWwmbWltZXR5cGU9YXBwbGljYXRp
b24veG1sIiwgbnVsbCwgImxvYWRVUkw1Iik7Ci19Ci0KLWZ1bmN0aW9uIGxvYWRVUkw1KCkKLXsK
LSAgICAvLyBUaGlzIHJlc291cmNlIGNvbnRlbnQgc2hvdWxkIGJlIGNvcnJlY3RseSBkZWNvZGVk
LgotICAgIHBsZy5nZXRVUkxOb3RpZnkoInJlc291cmNlcy9wbHVnaW4tZGF0YS5waHA/ZmlsZW5h
bWU9Y3AxMjUxLnhtbCZtaW1ldHlwZT1hcHBsaWNhdGlvbi94bWwiLCBudWxsLCAiYWxsVVJMc0xv
YWRlZCIpOwotfQotCi1mdW5jdGlvbiBhbGxVUkxzTG9hZGVkKCkKLXsKLSAgICBjb25zb2xlLmxv
ZygiRG9uZS4iKTsKLX0KLQotZnVuY3Rpb24gdGVzdCgpCi17Ci0gICAgLy8gU2luY2UgdGhpcyB0
ZXN0IGNvdWxkIGJlIHJ1biB0b2dldGhlciB3aXRoIG90aGVyIGluc3BlY3RvciBiYWNrZW5kIGNh
Y2hlCi0gICAgLy8gdGVzdHMsIHdlIG5lZWQgdG8gcmVzZXQgc2l6ZSBsaW1pdHMgdG8gZGVmYXVs
dCBvbmVzLgotICAgIEluc3BlY3RvclRlc3QucmVzZXRJbnNwZWN0b3JSZXNvdXJjZXNEYXRhKHN0
ZXAxKTsKLQotICAgIGZ1bmN0aW9uIHN0ZXAxKCkKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRl
c3QuYWRkQ29uc29sZVNuaWZmZXIoc3RlcDIpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1
YXRlSW5QYWdlKCJvblNuaWZmZXJJbnN0YWxsZWQoKSIpOwotICAgIH0KLQotICAgIGZ1bmN0aW9u
IGR1bXBSZXF1ZXN0KHJlcXVlc3QsIGNhbGxiYWNrKQotICAgIHsKLSAgICAgICAgaWYgKCFyZXF1
ZXN0KQotICAgICAgICAgICAgcmV0dXJuIGNhbGxiYWNrKCk7Ci0gICAgICAgIEluc3BlY3RvclRl
c3QuYWRkUmVzdWx0KHJlcXVlc3QudXJsKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1
bHQoInJlc291cmNlLnR5cGU6ICIgKyByZXF1ZXN0LnR5cGUpOwotICAgICAgICBJbnNwZWN0b3JU
ZXN0LmFkZFJlc3VsdCgicmVzb3VyY2UuY29udGVudCBiZWZvcmUgcmVxdWVzdGluZyBjb250ZW50
OiAiICsgcmVxdWVzdC5jb250ZW50KTsKLQotICAgICAgICBmdW5jdGlvbiBjb250ZW50TG9hZGVk
KCkKLSAgICAgICAgewotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoInJlc291
cmNlLmNvbnRlbnQgYWZ0ZXIgcmVxdWVzdGluZyBjb250ZW50OiAiICsgcmVxdWVzdC5jb250ZW50
KTsKLSAgICAgICAgICAgIGNhbGxiYWNrKCk7Ci0gICAgICAgIH0KLQotICAgICAgICByZXF1ZXN0
LnJlcXVlc3RDb250ZW50KGNvbnRlbnRMb2FkZWQpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0
ZXAyKCkKLSAgICB7Ci0gICAgICAgIHZhciByZXF1ZXN0ID0gV2ViSW5zcGVjdG9yLnBhbmVsKCJu
ZXR3b3JrIikucmVxdWVzdHNbV2ViSW5zcGVjdG9yLnBhbmVsKCJuZXR3b3JrIikucmVxdWVzdHMu
bGVuZ3RoIC0gNV07Ci0gICAgICAgIGR1bXBSZXF1ZXN0KHJlcXVlc3QsIHN0ZXAzKTsKLSAgICB9
Ci0KLSAgICBmdW5jdGlvbiBzdGVwMygpCi0gICAgewotICAgICAgICB2YXIgcmVxdWVzdCA9IFdl
Ykluc3BlY3Rvci5wYW5lbCgibmV0d29yayIpLnJlcXVlc3RzW1dlYkluc3BlY3Rvci5wYW5lbCgi
bmV0d29yayIpLnJlcXVlc3RzLmxlbmd0aCAtIDRdOwotICAgICAgICBkdW1wUmVxdWVzdChyZXF1
ZXN0LCBzdGVwNCk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc3RlcDQoKQotICAgIHsKLSAgICAg
ICAgdmFyIHJlcXVlc3QgPSBXZWJJbnNwZWN0b3IucGFuZWwoIm5ldHdvcmsiKS5yZXF1ZXN0c1tX
ZWJJbnNwZWN0b3IucGFuZWwoIm5ldHdvcmsiKS5yZXF1ZXN0cy5sZW5ndGggLSAzXTsKLSAgICAg
ICAgZHVtcFJlcXVlc3QocmVxdWVzdCwgc3RlcDUpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0
ZXA1KCkKLSAgICB7Ci0gICAgICAgIHZhciByZXF1ZXN0ID0gV2ViSW5zcGVjdG9yLnBhbmVsKCJu
ZXR3b3JrIikucmVxdWVzdHNbV2ViSW5zcGVjdG9yLnBhbmVsKCJuZXR3b3JrIikucmVxdWVzdHMu
bGVuZ3RoIC0gMl07Ci0gICAgICAgIGR1bXBSZXF1ZXN0KHJlcXVlc3QsIHN0ZXA2KTsKLSAgICB9
Ci0KLSAgICBmdW5jdGlvbiBzdGVwNigpCi0gICAgewotICAgICAgICB2YXIgcmVxdWVzdCA9IFdl
Ykluc3BlY3Rvci5wYW5lbCgibmV0d29yayIpLnJlcXVlc3RzW1dlYkluc3BlY3Rvci5wYW5lbCgi
bmV0d29yayIpLnJlcXVlc3RzLmxlbmd0aCAtIDFdOwotICAgICAgICBkdW1wUmVxdWVzdChyZXF1
ZXN0LCBzdGVwNyk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc3RlcDcoKQotICAgIHsKLSAgICAg
ICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKLSAgICB9Ci19Ci08L3NjcmlwdD4KLTwv
aGVhZD4KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLSAgICA8cD5UZXN0cyB0aGF0IG5ldHdv
cmsgcGFuZWwgc2hvd3MgY29udGVudCBmb3IgZW1iZWQgb2JqZWN0cy48L3A+Ci0gICAgPGVtYmVk
IG5hbWU9InBsZyIgdHlwZT0iYXBwbGljYXRpb24veC13ZWJraXQtdGVzdC1uZXRzY2FwZSIgc3Jj
PSJyZXNvdXJjZXMvcmVzb3VyY2UucGhwP3R5cGU9aW1hZ2UiIG9uc3RyZWFtbG9hZD0ic3RyZWFt
TG9hZGVkKCkiPjwvZW1iZWQ+Ci08L2JvZHk+Ci08L2h0bWw+Ci0KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL25ldHdvcmsvbmV0d29yay1lbXB0eS14aHItZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29yay9uZXR3
b3JrLWVtcHR5LXhoci1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IGM4ZDYzOTA4MGYxZTUzNDYxMzg4MTU2OTRkYTdiNzA3ZmY2YWFhYWUuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9p
bnNwZWN0b3IvbmV0d29yay9uZXR3b3JrLWVtcHR5LXhoci1leHBlY3RlZC50eHQKKysrIC9kZXYv
bnVsbApAQCAtMSwxMCArMCwwIEBACi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgNjogWEhSIGxvYWRl
ZDogMQotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDY6IFhIUiBsb2FkZWQ6IDIKLVRlc3RzIGVtcHR5
IHhociBjb250ZW50IGlzIGNvcnJlY3RseSBsb2FkZWQgaW4gaW5zcGVjdG9yLgotCi1CdWcgNzkw
MjYKLWh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvbmV0d29yay9yZXNvdXJjZXMvZW1w
dHkuaHRtbAotcmVzb3VyY2UuY29udGVudDogCi1odHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVj
dG9yL25ldHdvcmsvcmVzb3VyY2VzL2VtcHR5Lmh0bWwKLXJlc291cmNlLmNvbnRlbnQ6IAotCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL25ldHdv
cmstZW1wdHkteGhyLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3
b3JrL25ldHdvcmstZW1wdHkteGhyLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IGQwYjVjMjJmODgzNzI5MjllYWNlMGU0M2E4MjBjNzEwMDQzODI4ZDUuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9p
bnNwZWN0b3IvbmV0d29yay9uZXR3b3JrLWVtcHR5LXhoci5odG1sCisrKyAvZGV2L251bGwKQEAg
LTEsNjEgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi9pbnNwZWN0b3It
dGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vbmV0d29yay10ZXN0LmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQ+Ci1mdW5jdGlvbiB0ZXN0KCkKLXsKLSAgICAvLyBTaW5jZSB0aGlzIHRl
c3QgY291bGQgYmUgcnVuIHRvZ2V0aGVyIHdpdGggb3RoZXIgaW5zcGVjdG9yIGJhY2tlbmQgY2Fj
aGUKLSAgICAvLyB0ZXN0cywgd2UgbmVlZCB0byByZXNldCBzaXplIGxpbWl0cyB0byBkZWZhdWx0
IG9uZXMuCi0gICAgSW5zcGVjdG9yVGVzdC5yZXNldEluc3BlY3RvclJlc291cmNlc0RhdGEoc3Rl
cDEpOwotCi0gICAgZnVuY3Rpb24gZHVtcFJlcXVlc3QocmVxdWVzdCwgY2FsbGJhY2spCi0gICAg
ewotICAgICAgICBpZiAoIXJlcXVlc3QpCi0gICAgICAgICAgICByZXR1cm4gY2FsbGJhY2soKTsK
LSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQocmVxdWVzdC51cmwpOwotCi0gICAgICAg
IGZ1bmN0aW9uIGNvbnRlbnRMb2FkZWQoKQotICAgICAgICB7Ci0gICAgICAgICAgICBJbnNwZWN0
b3JUZXN0LmFkZFJlc3VsdCgicmVzb3VyY2UuY29udGVudDogIiArIHJlcXVlc3QuY29udGVudCk7
Ci0gICAgICAgICAgICBjYWxsYmFjaygpOwotICAgICAgICB9Ci0KLSAgICAgICAgcmVxdWVzdC5y
ZXF1ZXN0Q29udGVudChjb250ZW50TG9hZGVkKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVw
MSgpCi0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0Lm1ha2VTaW1wbGVYSFIoIkdFVCIsICJy
ZXNvdXJjZXMvZW1wdHkuaHRtbCIsIGZhbHNlLCBmaXJzdFhIUkxvYWRlZCk7Ci0KLSAgICAgICAg
ZnVuY3Rpb24gZmlyc3RYSFJMb2FkZWQoKQotICAgICAgICB7Ci0gICAgICAgICAgICBJbnNwZWN0
b3JUZXN0Lm1ha2VTaW1wbGVYSFIoIkdFVCIsICJyZXNvdXJjZXMvZW1wdHkuaHRtbCIsIHRydWUs
IHN0ZXAyKTsKLSAgICAgICAgfQotICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0ZXAyKCkKLSAgICB7
Ci0gICAgICAgIHZhciByZXF1ZXN0ID0gV2ViSW5zcGVjdG9yLnBhbmVsKCJuZXR3b3JrIikucmVx
dWVzdHNbV2ViSW5zcGVjdG9yLnBhbmVsKCJuZXR3b3JrIikucmVxdWVzdHMubGVuZ3RoIC0gMl07
Ci0gICAgICAgIGR1bXBSZXF1ZXN0KHJlcXVlc3QsIHN0ZXAzKTsKLSAgICB9Ci0KLSAgICBmdW5j
dGlvbiBzdGVwMygpCi0gICAgewotICAgICAgICB2YXIgcmVxdWVzdCA9IFdlYkluc3BlY3Rvci5w
YW5lbCgibmV0d29yayIpLnJlcXVlc3RzW1dlYkluc3BlY3Rvci5wYW5lbCgibmV0d29yayIpLnJl
cXVlc3RzLmxlbmd0aCAtIDFdOwotICAgICAgICBkdW1wUmVxdWVzdChyZXF1ZXN0LCBzdGVwNCk7
Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc3RlcDQoKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9y
VGVzdC5jb21wbGV0ZVRlc3QoKTsKLSAgICB9Ci19Ci08L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5
IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxwPiBUZXN0cyBlbXB0eSB4aHIgY29udGVudCBpcyBjb3Jy
ZWN0bHkgbG9hZGVkIGluIGluc3BlY3Rvci48L3A+Ci08YSBocmVmPSJodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzkwMjYiPkJ1ZyA3OTAyNjwvYT4KLTwvYm9keT4KLTwv
aHRtbD4KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0
d29yay9uZXR3b3JrLWlmcmFtZS1sb2FkLWFuZC1kZWxldGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29yay9uZXR3b3JrLWlmcmFtZS1sb2FkLWFu
ZC1kZWxldGUtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyNDU1
Yzg0MzgxYjc2ZGFiOWRmOWU0ZmY4NmRlNzM5YTMyNGZhYjg5Li4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVj
dG9yL25ldHdvcmsvbmV0d29yay1pZnJhbWUtbG9hZC1hbmQtZGVsZXRlLWV4cGVjdGVkLnR4dAor
KysgL2Rldi9udWxsCkBAIC0xLDEyICswLDAgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAzNjog
RG9uZS4KLVRlc3RzIHRoYXQgaWYgaWZyYW1lIGlzIGxvYWRlZCBhbmQgdGhlbiBkZWxldGVkLCBp
bnNwZWN0b3IgY291bGQgc3RpbGwgc2hvdyBpdHMgY29udGVudC4gTm90ZSB0aGF0IGlmIGlmcmFt
ZS5zcmMgaXMgY2hhbmdlZCB0byAiamF2YXNjcmlwdDonLi4uc29tZSBodG1sLi4uJyIgYWZ0ZXIg
bG9hZGluZywgdGhlbiB3ZSBoYXZlIGRpZmZlcmVudCBjb2RlcGF0aCwgaGVuY2UgdHdvIHRlc3Rz
OwotCi1odHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL25ldHdvcmsvcmVzb3VyY2VzL3Jl
c291cmNlLnBocAotcmVzb3VyY2UudHlwZTogZG9jdW1lbnQKLXJlc291cmNlLmNvbnRlbnQgYmVm
b3JlIHJlcXVlc3RpbmcgY29udGVudDogdW5kZWZpbmVkCi1yZXNvdXJjZS5jb250ZW50IGFmdGVy
IHJlcXVlc3RpbmcgY29udGVudDogSGVsbG8gd29ybGQKLWh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9p
bnNwZWN0b3IvbmV0d29yay9yZXNvdXJjZXMvcmVzb3VyY2UucGhwCi1yZXNvdXJjZS50eXBlOiBk
b2N1bWVudAotcmVzb3VyY2UuY29udGVudCBiZWZvcmUgcmVxdWVzdGluZyBjb250ZW50OiB1bmRl
ZmluZWQKLXJlc291cmNlLmNvbnRlbnQgYWZ0ZXIgcmVxdWVzdGluZyBjb250ZW50OiBIZWxsbyB3
b3JsZAotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3
b3JrL25ldHdvcmstaWZyYW1lLWxvYWQtYW5kLWRlbGV0ZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29yay9uZXR3b3JrLWlmcmFtZS1sb2FkLWFuZC1kZWxldGUu
aHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZGI2NGEzYjU3ZWMxMTczYzM5Yzll
NTgyM2MwNWRjZjAyNWRhYjZmYy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL25ldHdv
cmstaWZyYW1lLWxvYWQtYW5kLWRlbGV0ZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsODIgKzAs
MCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi9pbnNwZWN0b3ItdGVzdC5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vbmV0d29yay10ZXN0LmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQ+Ci12YXIgaWZyYW1lOwotCi1mdW5jdGlvbiBsb2FkSWZyYW1lKCkKLXsKLSAgICBpZnJh
bWUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKTsKLSAgICBkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKGlmcmFtZSk7Ci0gICAgaWZyYW1lLm9ubG9hZCA9IGlmcmFtZUxvYWRlZDsK
LSAgICBpZnJhbWUuc3JjID0gInJlc291cmNlcy9yZXNvdXJjZS5waHAiOwotfQotCi1mdW5jdGlv
biBpZnJhbWVMb2FkZWQoKQotewotICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoaWZyYW1l
KTsKLQotICAgIGxvYWRJZnJhbWVBbmRDaGFuZ2VTcmNBZnRlckxvYWQoKTsKLX0KLQotZnVuY3Rp
b24gbG9hZElmcmFtZUFuZENoYW5nZVNyY0FmdGVyTG9hZCgpCi17Ci0gICAgaWZyYW1lID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7Ci0gICAgZG9jdW1lbnQuYm9keS5hcHBlbmRD
aGlsZChpZnJhbWUpOwotICAgIGlmcmFtZS5vbmxvYWQgPSBpZnJhbWVMb2FkZWRDaGFuZ2VTcmM7
Ci0gICAgaWZyYW1lLnNyYyA9ICJyZXNvdXJjZXMvcmVzb3VyY2UucGhwIjsKLX0KLQotZnVuY3Rp
b24gaWZyYW1lTG9hZGVkQ2hhbmdlU3JjKCkKLXsKLSAgICBpZnJhbWUub25sb2FkID0gbnVsbDsK
LSAgICBpZnJhbWUuc3JjID0gImphdmFzY3JpcHQ6JzxodG1sPjwvaHRtbD4nIjsKLSAgICBkb2N1
bWVudC5ib2R5LnJlbW92ZUNoaWxkKGlmcmFtZSk7Ci0gICAgY29uc29sZS5sb2coIkRvbmUuIik7
Ci19Ci0KLWZ1bmN0aW9uIHRlc3QoKQotewotICAgIEluc3BlY3RvclRlc3QuYWRkQ29uc29sZVNu
aWZmZXIoc3RlcDIpOwotICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoImxvYWRJZnJh
bWUoKSIpOwotCi0gICAgZnVuY3Rpb24gc3RlcDIoKQotICAgIHsKLSAgICAgICAgdmFyIHJlcXVl
c3QxID0gV2ViSW5zcGVjdG9yLnBhbmVsKCJuZXR3b3JrIikucmVxdWVzdHNbV2ViSW5zcGVjdG9y
LnBhbmVsKCJuZXR3b3JrIikucmVxdWVzdHMubGVuZ3RoIC0gMl07Ci0gICAgICAgIEluc3BlY3Rv
clRlc3QuYWRkUmVzdWx0KHJlcXVlc3QxLnVybCk7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRk
UmVzdWx0KCJyZXNvdXJjZS50eXBlOiAiICsgcmVxdWVzdDEudHlwZSk7Ci0gICAgICAgIEluc3Bl
Y3RvclRlc3QuYWRkUmVzdWx0KCJyZXNvdXJjZS5jb250ZW50IGJlZm9yZSByZXF1ZXN0aW5nIGNv
bnRlbnQ6ICIgKyByZXF1ZXN0MS5jb250ZW50KTsKLSAgICAgICAgcmVxdWVzdDEucmVxdWVzdENv
bnRlbnQoc3RlcDMpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0ZXAzKCkKLSAgICB7Ci0gICAg
ICAgIHZhciByZXF1ZXN0MSA9IFdlYkluc3BlY3Rvci5wYW5lbCgibmV0d29yayIpLnJlcXVlc3Rz
W1dlYkluc3BlY3Rvci5wYW5lbCgibmV0d29yayIpLnJlcXVlc3RzLmxlbmd0aCAtIDJdOwotICAg
ICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgicmVzb3VyY2UuY29udGVudCBhZnRlciByZXF1
ZXN0aW5nIGNvbnRlbnQ6ICIgKyByZXF1ZXN0MS5jb250ZW50KTsKLQotICAgICAgICB2YXIgcmVx
dWVzdDIgPSBXZWJJbnNwZWN0b3IucGFuZWwoIm5ldHdvcmsiKS5yZXF1ZXN0c1tXZWJJbnNwZWN0
b3IucGFuZWwoIm5ldHdvcmsiKS5yZXF1ZXN0cy5sZW5ndGggLSAxXTsKLSAgICAgICAgSW5zcGVj
dG9yVGVzdC5hZGRSZXN1bHQocmVxdWVzdDIudXJsKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5h
ZGRSZXN1bHQoInJlc291cmNlLnR5cGU6ICIgKyByZXF1ZXN0Mi50eXBlKTsKLSAgICAgICAgSW5z
cGVjdG9yVGVzdC5hZGRSZXN1bHQoInJlc291cmNlLmNvbnRlbnQgYmVmb3JlIHJlcXVlc3Rpbmcg
Y29udGVudDogIiArIHJlcXVlc3QyLmNvbnRlbnQpOwotICAgICAgICByZXF1ZXN0Mi5yZXF1ZXN0
Q29udGVudChzdGVwNCk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc3RlcDQoKQotICAgIHsKLSAg
ICAgICAgdmFyIHJlcXVlc3QyID0gV2ViSW5zcGVjdG9yLnBhbmVsKCJuZXR3b3JrIikucmVxdWVz
dHNbV2ViSW5zcGVjdG9yLnBhbmVsKCJuZXR3b3JrIikucmVxdWVzdHMubGVuZ3RoIC0gMV07Ci0g
ICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJyZXNvdXJjZS5jb250ZW50IGFmdGVyIHJl
cXVlc3RpbmcgY29udGVudDogIiArIHJlcXVlc3QyLmNvbnRlbnQpOwotCi0gICAgICAgIEluc3Bl
Y3RvclRlc3QuY29tcGxldGVUZXN0KCk7Ci0gICAgfQotfQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08
Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci0gIDxwPgotICAgIFRlc3RzIHRoYXQgaWYgaWZyYW1l
IGlzIGxvYWRlZCBhbmQgdGhlbiBkZWxldGVkLCBpbnNwZWN0b3IgY291bGQgc3RpbGwgc2hvdyBp
dHMgY29udGVudC4KLSAgICBOb3RlIHRoYXQgaWYgaWZyYW1lLnNyYyBpcyBjaGFuZ2VkIHRvICJq
YXZhc2NyaXB0OicuLi5zb21lIGh0bWwuLi4nIiBhZnRlcgotICAgIGxvYWRpbmcsIHRoZW4gd2Ug
aGF2ZSBkaWZmZXJlbnQgY29kZXBhdGgsIGhlbmNlIHR3byB0ZXN0czsKLSAgPC9wPgotPC9ib2R5
PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3Iv
bmV0d29yay9uZXR3b3JrLWltYWdlLTQwNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL25ldHdvcmstaW1hZ2UtNDA0LWV4cGVjdGVkLnR4dApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTNmMDRlNmU1ZjBkZTNhMzZjNWQ4ODQ3OGJj
YzNlMjQxOTE1Nzc3Yi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL25ldHdvcmstaW1h
Z2UtNDA0LWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDkgKzAsMCBAQAotQ09OU09M
RSBNRVNTQUdFOiBsaW5lIDE1OiBEb25lLgotVGVzdHMgY29udGVudCBpcyBhdmFpbGFibGUgZm9y
IGZhaWxlZCBpbWFnZSByZXF1ZXN0LgotCi1CdWcgODQyNjUKLWh0dHA6Ly8xMjcuMC4wLjE6ODAw
MC9pbnNwZWN0b3IvbmV0d29yay9yZXNvdXJjZXMvNDA0LnBocAotcmVzb3VyY2UudHlwZTogaW1h
Z2UKLXJlc291cmNlLmNvbnRlbnQgYmVmb3JlIHJlcXVlc3RpbmcgY29udGVudDogdW5kZWZpbmVk
Ci1yZXNvdXJjZS5jb250ZW50IGFmdGVyIHJlcXVlc3RpbmcgY29udGVudDogNDA0IC0gcmVzb3Vy
Y2Ugd2FzIG5vdCBmb3VuZC4KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9p
bnNwZWN0b3IvbmV0d29yay9uZXR3b3JrLWltYWdlLTQwNC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29yay9uZXR3b3JrLWltYWdlLTQwNC5odG1sCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlYTI2Y2IwMDhlMWFiYzkxZDQxMjAzMGZmMjE1MDA0NDZm
OWM3MTY5Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL25ldHdvcmsvbmV0d29yay1pbWFnZS00MDQu
aHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDU0ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2Ny
aXB0IHNyYz0iLi4vaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4u
L25ldHdvcmstdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotZnVuY3Rpb24gbG9hZERhdGEo
KQotewotICAgIHZhciBpbWFnZSA9IG5ldyBJbWFnZSgpOwotICAgIGltYWdlLnNyYyA9ICJyZXNv
dXJjZXMvNDA0LnBocCI7Ci0gICAgaW1hZ2Uub25lcnJvciA9IHJlc291cmNlTG9hZGVkOwotfQot
Ci1mdW5jdGlvbiByZXNvdXJjZUxvYWRlZCgpCi17Ci0gICAgY29uc29sZS5sb2coIkRvbmUuIik7
Ci19Ci0KLWZ1bmN0aW9uIHRlc3QoKQotewotICAgIC8vIFNpbmNlIHRoaXMgdGVzdCBjb3VsZCBi
ZSBydW4gdG9nZXRoZXIgd2l0aCBvdGhlciBpbnNwZWN0b3IgYmFja2VuZCBjYWNoZQotICAgIC8v
IHRlc3RzLCB3ZSBuZWVkIHRvIHJlc2V0IHNpemUgbGltaXRzIHRvIGRlZmF1bHQgb25lcy4KLSAg
ICBJbnNwZWN0b3JUZXN0LnJlc2V0SW5zcGVjdG9yUmVzb3VyY2VzRGF0YShzdGVwMSk7Ci0KLSAg
ICBmdW5jdGlvbiBzdGVwMSgpCi0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZENvbnNv
bGVTbmlmZmVyKHN0ZXAyKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgi
bG9hZERhdGEoKSIpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0ZXAyKCkKLSAgICB7Ci0gICAg
ICAgIHZhciByZXF1ZXN0MSA9IFdlYkluc3BlY3Rvci5wYW5lbCgibmV0d29yayIpLnJlcXVlc3Rz
W1dlYkluc3BlY3Rvci5wYW5lbCgibmV0d29yayIpLnJlcXVlc3RzLmxlbmd0aCAtIDFdOwotICAg
ICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdChyZXF1ZXN0MS51cmwpOwotICAgICAgICBJbnNw
ZWN0b3JUZXN0LmFkZFJlc3VsdCgicmVzb3VyY2UudHlwZTogIiArIHJlcXVlc3QxLnR5cGUpOwot
ICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgicmVzb3VyY2UuY29udGVudCBiZWZvcmUg
cmVxdWVzdGluZyBjb250ZW50OiAiICsgcmVxdWVzdDEuY29udGVudCk7Ci0gICAgICAgIEluc3Bl
Y3RvclRlc3QuYXNzZXJ0VHJ1ZSghcmVxdWVzdDEuZmFpbGVkLCAiUmVzb3VyY2UgbG9hZGluZyBm
YWlsZWQuIik7Ci0gICAgICAgIHJlcXVlc3QxLnJlcXVlc3RDb250ZW50KHN0ZXAzKTsKLSAgICB9
Ci0KLSAgICBmdW5jdGlvbiBzdGVwMygpCi0gICAgewotICAgICAgICB2YXIgcmVxdWVzdDEgPSBX
ZWJJbnNwZWN0b3IucGFuZWwoIm5ldHdvcmsiKS5yZXF1ZXN0c1tXZWJJbnNwZWN0b3IucGFuZWwo
Im5ldHdvcmsiKS5yZXF1ZXN0cy5sZW5ndGggLSAxXTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5h
ZGRSZXN1bHQoInJlc291cmNlLmNvbnRlbnQgYWZ0ZXIgcmVxdWVzdGluZyBjb250ZW50OiAiICsg
cmVxdWVzdDEuY29udGVudCk7Ci0KLSAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3Qo
KTsKLSAgICB9Ci19Ci08L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgp
Ij4KLTxwPlRlc3RzIGNvbnRlbnQgaXMgYXZhaWxhYmxlIGZvciBmYWlsZWQgaW1hZ2UgcmVxdWVz
dC48L3A+Ci08YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
ODQyNjUiPkJ1ZyA4NDI2NTwvYT4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL25ldHdvcmsvbmV0d29yay1pbml0aWF0b3ItZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29yay9uZXR3
b3JrLWluaXRpYXRvci1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwZmQwODVlODU2MmY5ZGYyZWQ5MGU5OTlmYTZlOWQyZmFiMjcyZGMuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9p
bnNwZWN0b3IvbmV0d29yay9uZXR3b3JrLWluaXRpYXRvci1leHBlY3RlZC50eHQKKysrIC9kZXYv
bnVsbApAQCAtMSwxOCArMCwwIEBACi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMzQ6IERvbmUuCi1U
ZXN0cyByZXNvdXJjZXMgaW5pdGlhdG9yIGZvciBpbWFnZXMgaW5pdGlhdGVkIGJ5IElNRyB0YWcs
IHN0YXRpYyBDU1MsIENTUyBjbGFzcyBhZGRlZCBmcm9tIEphdmFTY3JpcHQgYW5kIFhIUi4KLQot
QnVnIDY1MTA1IAotVGhpcyBkaXYgaGFzIGJhY2tncm91bmQgaW1hZ2Ugc2V0IGZyb20gQ1NTLgot
VGhpcyBkaXYgd2lsbCBoYXZlIGJhY2tncm91bmQgaW1hZ2Ugc2V0IGZyb20gSmF2YVNjcmlwdC4K
LVBhZ2UgcmVsb2FkZWQuCi1odHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL25ldHdvcmsv
cmVzb3VyY2VzL2luaXRpYXRvci5jc3M6IHBhcnNlcgotICAgIGh0dHA6Ly8xMjcuMC4wLjE6ODAw
MC9pbnNwZWN0b3IvbmV0d29yay9uZXR3b3JrLWluaXRpYXRvci5odG1sIDMKLWh0dHA6Ly8xMjcu
MC4wLjE6ODAwMC9pbnNwZWN0b3IvbmV0d29yay9yZXNvdXJjZXMvcmVzb3VyY2UucGhwP3R5cGU9
aW1hZ2UmcmFuZG9tPTEmc2l6ZT0xMDA6IHBhcnNlcgotICAgIGh0dHA6Ly8xMjcuMC4wLjE6ODAw
MC9pbnNwZWN0b3IvbmV0d29yay9uZXR3b3JrLWluaXRpYXRvci5odG1sIDEwNwotaHR0cDovLzEy
Ny4wLjAuMTo4MDAwL2luc3BlY3Rvci9uZXR3b3JrL3Jlc291cmNlcy9yZXNvdXJjZS5waHA/dHlw
ZT1pbWFnZSZyYW5kb209MSZzaXplPTIwMDogcGFyc2VyCi0gICAgaHR0cDovLzEyNy4wLjAuMTo4
MDAwL2luc3BlY3Rvci9uZXR3b3JrL25ldHdvcmstaW5pdGlhdG9yLmh0bWwgMTA4Ci1odHRwOi8v
MTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL25ldHdvcmsvcmVzb3VyY2VzL3Jlc291cmNlLnBocD90
eXBlPWltYWdlJnJhbmRvbT0xJnNpemU9MzAwOiBzY3JpcHQKLSAgICBhZGRDbGFzc1RvRGl2U3Rl
cDIgaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9uZXR3b3JrL25ldHdvcmstaW5pdGlh
dG9yLmh0bWwgMTcKLWh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvbmV0d29yay9yZXNv
dXJjZXMvcmVzb3VyY2UucGhwP3R5cGU9aW1hZ2UmcmFuZG9tPTEmc2l6ZT00MDA6IHNjcmlwdAot
ICAgIGxvYWREYXRhIGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvbmV0d29yay9uZXR3
b3JrLWluaXRpYXRvci5odG1sIDI5Ci0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvaW5zcGVjdG9yL25ldHdvcmsvbmV0d29yay1pbml0aWF0b3ItZnJvbS1jb25zb2xlLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL25ldHdvcmsvbmV0d29y
ay1pbml0aWF0b3ItZnJvbS1jb25zb2xlLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggODg5NGEyMjI4OWFkNTlkNDdmMjU3YzJjN2JlMzQ5ODI0NzcwOTIwNS4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL25ldHdvcmstaW5pdGlhdG9yLWZyb20tY29uc29s
ZS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw1ICswLDAgQEAKLVRlc3RzIHRoYXQg
dGhlcmUgaXMgbm8gamF2YXNjcmlwdCBlcnJvciB3aGVuIGNvbnNvbGUgZXZhbHVhdGlvbiBjYXVz
ZXMgcmVzb3VyY2UgbG9hZGluZy4KLQotQnVnIDY1NDY2Ci1QYWdlIHJlbG9hZGVkLgotCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL25ldHdvcmst
aW5pdGlhdG9yLWZyb20tY29uc29sZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNw
ZWN0b3IvbmV0d29yay9uZXR3b3JrLWluaXRpYXRvci1mcm9tLWNvbnNvbGUuaHRtbApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjNmZDhiMDUyYmZlY2M4ODJjYzk5ZjA4YWIzNmExYWE4
Y2VjNjM1YS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL25ldHdvcmstaW5pdGlhdG9y
LWZyb20tY29uc29sZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNTIgKzAsMCBAQAotPGh0bWw+
Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0iLi4vbmV0d29yay10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci12YXIg
dGVzdCA9IGZ1bmN0aW9uKCkKLXsKLSAgICBJbnNwZWN0b3JUZXN0LnJlbG9hZFBhZ2Uoc3RlcDEp
OwotCi0gICAgZnVuY3Rpb24gZmluZFJlcXVlc3RCeVVSTCh1cmwpCi0gICAgewotICAgICAgICB2
YXIgcmVxdWVzdHMgPSBXZWJJbnNwZWN0b3IubmV0d29ya0xvZy5yZXF1ZXN0czsKLSAgICAgICAg
Zm9yICh2YXIgaSA9IDA7IGkgPCByZXF1ZXN0cy5sZW5ndGg7ICsraSkgewotICAgICAgICAgICAg
aWYgKHVybC50ZXN0KHJlcXVlc3RzW2ldLnVybCkpCi0gICAgICAgICAgICAgICAgcmV0dXJuIHJl
cXVlc3RzW2ldOwotICAgICAgICB9Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc3RlcDEoKQotICAg
IHsKLSAgICAgICAgV2ViSW5zcGVjdG9yLm5ldHdvcmtNYW5hZ2VyLmFkZEV2ZW50TGlzdGVuZXIo
V2ViSW5zcGVjdG9yLk5ldHdvcmtNYW5hZ2VyLkV2ZW50VHlwZXMuUmVxdWVzdFN0YXJ0ZWQsIG9u
UmVxdWVzdCk7Ci0gICAgICAgIHZhciBzdHIgPSAiIjsKLSAgICAgICAgc3RyICs9ICJ2YXIgcyA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJzY3JpcHRcIik7IjsKLSAgICAgICAgc3RyICs9ICJz
LnNyYyA9IFwicmVzb3VyY2VzL3NpbGVudF9zY3JpcHQuanNcIjsiOwotICAgICAgICBzdHIgKz0g
ImRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQocyk7IjsKLSAgICAgICAgV2ViSW5zcGVjdG9yLnJ1
bnRpbWVNb2RlbC5ldmFsdWF0ZShzdHIsICJjb25zb2xlIiwgdHJ1ZSwgdW5kZWZpbmVkLCB1bmRl
ZmluZWQsIHVuZGVmaW5lZCwgZnVuY3Rpb24oKXt9KTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBv
blJlcXVlc3QoZXZlbnQpCi0gICAgewotICAgICAgICB2YXIgcmVxdWVzdCA9IGV2ZW50LmRhdGE7
Ci0gICAgICAgIGlmICgvc2lsZW50X3NjcmlwdC5qcy8udGVzdChyZXF1ZXN0LnVybCkpCi0gICAg
ICAgICAgICBzdGVwMigpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0ZXAyKCkKLSAgICB7Ci0g
ICAgICAgIGlmICghZmluZFJlcXVlc3RCeVVSTCgvc2lsZW50X3NjcmlwdC5qcy8pKQotICAgICAg
ICAgICAgcmV0dXJuOwotCi0gICAgICAgIFdlYkluc3BlY3Rvci5wYW5lbCgibmV0d29yayIpLnNo
b3coKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKLSAgICB9Ci19Ci0K
LTwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotPHA+VGVzdHMg
dGhhdCB0aGVyZSBpcyBubyBqYXZhc2NyaXB0IGVycm9yIHdoZW4gY29uc29sZSBldmFsdWF0aW9u
IGNhdXNlcyByZXNvdXJjZSBsb2FkaW5nLjwvcD4KLTxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NTQ2NiI+QnVnIDY1NDY2PC9hPgotPC9ib2R5PgotPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29y
ay9uZXR3b3JrLWluaXRpYXRvci5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0
b3IvbmV0d29yay9uZXR3b3JrLWluaXRpYXRvci5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAyZjc5MGQ2YTFkOGIwOTViNGMyMmM5NGUwODNkZGY3YWM2NDZhZmYyLi4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvaW5zcGVjdG9yL25ldHdvcmsvbmV0d29yay1pbml0aWF0b3IuaHRtbAorKysgL2Rldi9u
dWxsCkBAIC0xLDExMSArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPGxpbmsgaHJlZj0icmVzb3Vy
Y2VzL2luaXRpYXRvci5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiPgotPHNj
cmlwdCBzcmM9Ii4uL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIu
Li9uZXR3b3JrLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLQotZnVuY3Rpb24gYWRkQ2xh
c3NUb0RpdigpCi17Ci0gICAgLy8gV2UgbmVlZCB0byBzZXRUaW1lb3V0LCB0byBtYWtlIHN1cmUg
dGhhdCBzdHlsZSByZWNhbGN1bGF0aW9uIHNjaGVkdWxpbmcKLSAgICAvLyBpcyByZWFsbHkgdHJp
Z2dlcmVkIGJ5IGFkZGluZyBhIGNsYXNzIHRvIHRoZSBkaXYuCi0gICAgd2luZG93LnNldFRpbWVv
dXQoYWRkQ2xhc3NUb0RpdlN0ZXAyLCAwKTsKLX0KLQotZnVuY3Rpb24gYWRkQ2xhc3NUb0RpdlN0
ZXAyKCkKLXsKLSAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZGl2LXdpdGhvdXQtY2xhc3Mi
KS5jbGFzc05hbWUgPSAiaW1hZ2UtYmFja2dyb3VuZC0yIjsKLX0KLQotZnVuY3Rpb24gbG9hZERh
dGEoKQotewotICAgIHZhciB4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTsKLSAgICB4aHIub25y
ZWFkeXN0YXRlY2hhbmdlID0gZnVuY3Rpb24oKQotICAgIHsKLSAgICAgICAgaWYgKHhoci5yZWFk
eVN0YXRlID09PSBYTUxIdHRwUmVxdWVzdC5ET05FKQotICAgICAgICAgICAgcmVzb3VyY2VMb2Fk
ZWQoKTsKLSAgICB9OwotICAgIHhoci5vcGVuKCJHRVQiLCAicmVzb3VyY2VzL3Jlc291cmNlLnBo
cD90eXBlPWltYWdlJnJhbmRvbT0xJnNpemU9NDAwIiwgdHJ1ZSk7Ci0gICAgeGhyLnNlbmQobnVs
bCk7Ci19Ci0KLWZ1bmN0aW9uIHJlc291cmNlTG9hZGVkKCkKLXsKLSAgICBjb25zb2xlLmxvZygi
RG9uZS4iKTsKLX0KLQotdmFyIHRlc3QgPSBmdW5jdGlvbigpCi17Ci0gICAgSW5zcGVjdG9yVGVz
dC5oYXJkUmVsb2FkUGFnZShzdGVwMSk7Ci0KLSAgICBmdW5jdGlvbiBmaW5kUmVxdWVzdEJ5VVJM
KHVybCkKLSAgICB7Ci0gICAgICAgIHZhciByZXF1ZXN0cyA9IFdlYkluc3BlY3Rvci5uZXR3b3Jr
TG9nLnJlcXVlc3RzOwotICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHJlcXVlc3RzLmxlbmd0
aDsgKytpKSB7Ci0gICAgICAgICAgICBpZiAodXJsLnRlc3QocmVxdWVzdHNbaV0udXJsKSkKLSAg
ICAgICAgICAgICAgICByZXR1cm4gcmVxdWVzdHNbaV07Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAg
ICBmdW5jdGlvbiBzdGVwMSgpCi0gICAgewotICAgICAgICBXZWJJbnNwZWN0b3IubmV0d29ya01h
bmFnZXIuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuTmV0d29ya01hbmFnZXIuRXZlbnRU
eXBlcy5SZXF1ZXN0RmluaXNoZWQsIG9uUmVxdWVzdCk7Ci0gICAgICAgIEluc3BlY3RvclRlc3Qu
ZXZhbHVhdGVJblBhZ2UoImFkZENsYXNzVG9EaXYoKSIsIHN0ZXAyKTsKLSAgICB9Ci0KLSAgICBm
dW5jdGlvbiBvblJlcXVlc3QoZXZlbnQpCi0gICAgewotICAgICAgICB2YXIgcmVxdWVzdCA9IGV2
ZW50LmRhdGE7Ci0gICAgICAgIGlmICgvc2l6ZT0zMDAvLnRlc3QocmVxdWVzdC51cmwpKQotICAg
ICAgICAgICAgc3RlcDIoKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwMigpCi0gICAgewot
ICAgICAgICBpZiAoIWZpbmRSZXF1ZXN0QnlVUkwoL3NpemU9MzAwLykpCi0gICAgICAgICAgICBy
ZXR1cm47Ci0KLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRDb25zb2xlU25pZmZlcihzdGVwMyk7
Ci0gICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoImxvYWREYXRhKCkiKTsKLSAg
ICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwMygpCi0gICAgewotICAgICAgICBmdW5jdGlvbiBkdW1w
SW5pdGlhdG9yKHJlcXVlc3QpCi0gICAgICAgIHsKLSAgICAgICAgICAgIHZhciBpbml0aWF0b3Ig
PSByZXF1ZXN0LmluaXRpYXRvcjsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0
KHJlcXVlc3QudXJsICsgIjogIiArIGluaXRpYXRvci50eXBlKTsKLSAgICAgICAgICAgIGlmIChp
bml0aWF0b3IudXJsKQotICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCIg
ICAgIiArIGluaXRpYXRvci51cmwgKyAiICIgKyBpbml0aWF0b3IubGluZU51bWJlcik7Ci0gICAg
ICAgICAgICBpZiAoaW5pdGlhdG9yLnN0YWNrVHJhY2UpIHsKLSAgICAgICAgICAgICAgICB2YXIg
c3RhY2tUcmFjZSA9IGluaXRpYXRvci5zdGFja1RyYWNlOwotICAgICAgICAgICAgICAgIGZvciAo
dmFyIGkgPSAwOyBpIDwgc3RhY2tUcmFjZS5sZW5ndGg7ICsraSkgewotICAgICAgICAgICAgICAg
ICAgICB2YXIgZnJhbWUgPSBzdGFja1RyYWNlW2ldOwotICAgICAgICAgICAgICAgICAgICBpZiAo
ZnJhbWUubGluZU51bWJlcikgewotICAgICAgICAgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVz
dC5hZGRSZXN1bHQoIiAgICAiICsgZnJhbWUuZnVuY3Rpb25OYW1lICsgIiAiICsgZnJhbWUudXJs
ICsgIiAiICsgZnJhbWUubGluZU51bWJlcik7Ci0gICAgICAgICAgICAgICAgICAgICAgICBicmVh
azsKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAg
IH0KLSAgICAgICAgfQotCi0gICAgICAgIGR1bXBJbml0aWF0b3IoZmluZFJlcXVlc3RCeVVSTCgv
aW5pdGlhdG9yXC5jc3MvKSk7Ci0gICAgICAgIGR1bXBJbml0aWF0b3IoZmluZFJlcXVlc3RCeVVS
TCgvc2l6ZT0xMDAvKSk7Ci0gICAgICAgIGR1bXBJbml0aWF0b3IoZmluZFJlcXVlc3RCeVVSTCgv
c2l6ZT0yMDAvKSk7Ci0gICAgICAgIGR1bXBJbml0aWF0b3IoZmluZFJlcXVlc3RCeVVSTCgvc2l6
ZT0zMDAvKSk7Ci0gICAgICAgIGR1bXBJbml0aWF0b3IoZmluZFJlcXVlc3RCeVVSTCgvc2l6ZT00
MDAvKSk7Ci0KLSAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKLSAgICB9Ci19
Ci0KLTwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotPHA+VGVz
dHMgcmVzb3VyY2VzIGluaXRpYXRvciBmb3IgaW1hZ2VzIGluaXRpYXRlZCBieSBJTUcgdGFnLCBz
dGF0aWMgQ1NTLCBDU1MgY2xhc3MgYWRkZWQgZnJvbSBKYXZhU2NyaXB0IGFuZCBYSFIuPC9wPgot
PGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY1MTA1Ij5C
dWcgNjUxMDU8L2E+Ci08aW1nIHNyYz0icmVzb3VyY2VzL3Jlc291cmNlLnBocD90eXBlPWltYWdl
JnJhbmRvbT0xJnNpemU9MTAwIj4KLTxkaXYgY2xhc3M9ImltYWdlLWJhY2tncm91bmQiPlRoaXMg
ZGl2IGhhcyBiYWNrZ3JvdW5kIGltYWdlIHNldCBmcm9tIENTUy48L2Rpdj4KLTxkaXYgaWQ9ImRp
di13aXRob3V0LWNsYXNzIj5UaGlzIGRpdiB3aWxsIGhhdmUgYmFja2dyb3VuZCBpbWFnZSBzZXQg
ZnJvbSBKYXZhU2NyaXB0LjwvZGl2PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29yay9uZXR3b3JrLXByZXZpZXctanNv
bi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3Jr
L25ldHdvcmstcHJldmlldy1qc29uLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggYmFiNTZjYzI5NTJjNDlkYWVkNDYzY2MzYzdkMGIwMTlmYmIzZTFmYS4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL25ldHdvcmstcHJldmlldy1qc29uLWV4cGVjdGVkLnR4
dAorKysgL2Rldi9udWxsCkBAIC0xLDMgKzAsMCBAQAotVGVzdHMgUmVxdWVzdEpTT05WaWV3IGFi
aWxpdHkgdG8gcGFyc2UgSlNPTiBwYXNzZWQgaW4gWEhSLCBKU09OUAotCi1CdWcgNjU1NTkKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL25ldHdvcmsvbmV0d29y
ay1wcmV2aWV3LWpzb24uaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL25l
dHdvcmsvbmV0d29yay1wcmV2aWV3LWpzb24uaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggYmJkZDhmN2M5MGZkYzAyYTllNTNmZDI5NTMwZDAyMzZkZDFmZmY3Yy4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL2luc3BlY3Rvci9uZXR3b3JrL25ldHdvcmstcHJldmlldy1qc29uLmh0bWwKKysrIC9kZXYv
bnVsbApAQCAtMSw1NiArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uL2lu
c3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci0KLWZ1bmN0aW9uIHRlc3QoKQot
ewotICAgIFdlYkluc3BlY3Rvci5zaG93UGFuZWwoIm5ldHdvcmsiKTsKLQotICAgIHZhciB0ZXN0
RGF0YTsKLQotICAgIHRlc3REYXRhID0gIndoaWxlKDEpOyI7Ci0gICAgSW5zcGVjdG9yVGVzdC5h
c3NlcnRUcnVlKCFXZWJJbnNwZWN0b3IuUmVxdWVzdEpTT05WaWV3LnBhcnNlSlNPTih0ZXN0RGF0
YSksICJTaG91bGQgbm90IGJlIGFibGUgdG8gcGFyc2UgXCIiICsgdGVzdERhdGEgKyAiXCIuIik7
Ci0KLSAgICB0ZXN0RGF0YSA9ICJ7XCJuYW1lXCI6IFwidmFsdWVcIiI7Ci0gICAgSW5zcGVjdG9y
VGVzdC5hc3NlcnRUcnVlKCFXZWJJbnNwZWN0b3IuUmVxdWVzdEpTT05WaWV3LnBhcnNlSlNPTih0
ZXN0RGF0YSksICJTaG91bGQgbm90IGJlIGFibGUgdG8gcGFyc2UgXCIiICsgdGVzdERhdGEgKyAi
XCIuIik7Ci0KLSAgICB0ZXN0RGF0YSA9ICJ7XCJuYW1lXCI6IFwidmFsdWVcIn0iOwotICAgIHZh
ciBwYXJzZWRKU09OID0gV2ViSW5zcGVjdG9yLlJlcXVlc3RKU09OVmlldy5wYXJzZUpTT04odGVz
dERhdGEpOwotICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0RXF1YWxzKHBhcnNlZEpTT04ucHJlZml4
LCAiIik7Ci0gICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRFcXVhbHMocGFyc2VkSlNPTi5kYXRhLm5h
bWUsICJ2YWx1ZSIpOwotICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0RXF1YWxzKHBhcnNlZEpTT04u
c3VmZml4LCAiIik7Ci0KLSAgICB0ZXN0RGF0YSA9ICJ3aGlsZSgxKTsge1wibmFtZVwiOiBcInZh
bHVlXCJ9IjsKLSAgICBwYXJzZWRKU09OID0gV2ViSW5zcGVjdG9yLlJlcXVlc3RKU09OVmlldy5w
YXJzZUpTT04odGVzdERhdGEpOwotICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0RXF1YWxzKHBhcnNl
ZEpTT04ucHJlZml4LCAid2hpbGUoMSk7ICIpOwotICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0RXF1
YWxzKHBhcnNlZEpTT04uZGF0YS5uYW1lLCAidmFsdWUiKTsKLSAgICBJbnNwZWN0b3JUZXN0LmFz
c2VydEVxdWFscyhwYXJzZWRKU09OLnN1ZmZpeCwgIiIpOwotCi0gICAgdGVzdERhdGEgPSAiZnVu
Yyh7KSI7Ci0gICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRUcnVlKCFXZWJJbnNwZWN0b3IuUmVxdWVz
dEpTT05WaWV3LnBhcnNlSlNPTlAodGVzdERhdGEpLCAiU2hvdWxkIG5vdCBiZSBhYmxlIHRvIHBh
cnNlIFwiIiArIHRlc3REYXRhICsgIlwiLiIpOwotCi0gICAgdGVzdERhdGEgPSAiZnVuYyl7KCI7
Ci0gICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRUcnVlKCFXZWJJbnNwZWN0b3IuUmVxdWVzdEpTT05W
aWV3LnBhcnNlSlNPTlAodGVzdERhdGEpLCAiU2hvdWxkIG5vdCBiZSBhYmxlIHRvIHBhcnNlIFwi
IiArIHRlc3REYXRhICsgIlwiLiIpOwotCi0gICAgdGVzdERhdGEgPSAiZnVuYyh7XCJuYW1lXCI6
IFwidmFsdWVcIn0iOwotICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0VHJ1ZSghV2ViSW5zcGVjdG9y
LlJlcXVlc3RKU09OVmlldy5wYXJzZUpTT05QKHRlc3REYXRhKSwgIlNob3VsZCBub3QgYmUgYWJs
ZSB0byBwYXJzZSBcIiIgKyB0ZXN0RGF0YSArICJcIi4iKTsKLQotICAgIHRlc3REYXRhID0gImZ1
bmN7XCJuYW1lXCI6IFwidmFsdWVcIn0pIjsKLSAgICBJbnNwZWN0b3JUZXN0LmFzc2VydFRydWUo
IVdlYkluc3BlY3Rvci5SZXF1ZXN0SlNPTlZpZXcucGFyc2VKU09OUCh0ZXN0RGF0YSksICJTaG91
bGQgbm90IGJlIGFibGUgdG8gcGFyc2UgXCIiICsgdGVzdERhdGEgKyAiXCIuIik7Ci0KLSAgICB0
ZXN0RGF0YSA9ICJmdW5jKHtcIm5hbWVcIjogXCJ2YWx1ZVwifSkiOwotICAgIHZhciBwYXJzZWRK
U09OUCA9IFdlYkluc3BlY3Rvci5SZXF1ZXN0SlNPTlZpZXcucGFyc2VKU09OUCh0ZXN0RGF0YSk7
Ci0gICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRFcXVhbHMocGFyc2VkSlNPTlAucHJlZml4LCAiZnVu
YygiKTsKLSAgICBJbnNwZWN0b3JUZXN0LmFzc2VydEVxdWFscyhwYXJzZWRKU09OUC5kYXRhLm5h
bWUsICJ2YWx1ZSIpOwotICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0RXF1YWxzKHBhcnNlZEpTT05Q
LnN1ZmZpeCwgIikiKTsKLQotICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7Ci19Ci08
L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxwPlRlc3RzIFJl
cXVlc3RKU09OVmlldyBhYmlsaXR5IHRvIHBhcnNlIEpTT04gcGFzc2VkIGluIFhIUiwgSlNPTlA8
L3A+Ci08YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU1
NTkiPkJ1ZyA2NTU1OTwvYT4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL25ldHdvcmsvbmV0d29yay1yZXF1ZXN0LXJldmlzaW9u
LWNvbnRlbnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3Iv
bmV0d29yay9uZXR3b3JrLXJlcXVlc3QtcmV2aXNpb24tY29udGVudC1leHBlY3RlZC50eHQKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGY5MWJhNGY0NmI2NmQ3Y2IyNzkyZGUyMDIwM2U1
M2Y1NDBkZjhhZmQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29yay9uZXR3b3JrLXJlcXVl
c3QtcmV2aXNpb24tY29udGVudC1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw2ICsw
LDAgQEAKLVRlc3RzIGhvdyByZXZpc2lvbiByZXF1ZXN0cyBjb250ZW50IGlmIG9yaWdpbmFsIGNv
bnRlbnQgd2FzIG5vdCBsb2FkZWQgeWV0LgotCi1CdWcgNjM2MzEKLWh0dHA6Ly8xMjcuMC4wLjE6
ODAwMC9pbnNwZWN0b3IvbmV0d29yay9yZXNvdXJjZXMvc3R5bGUuY3NzCi0KLQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29yay9uZXR3b3JrLXJlcXVl
c3QtcmV2aXNpb24tY29udGVudC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0
b3IvbmV0d29yay9uZXR3b3JrLXJlcXVlc3QtcmV2aXNpb24tY29udGVudC5odG1sCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxN2FiZGYxNjg5MzA1M2JiMjMwY2ZkODlmMGU5ZGQ0MGJj
OTRkZTU1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL25ldHdvcmsvbmV0d29yay1yZXF1ZXN0LXJl
dmlzaW9uLWNvbnRlbnQuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDQ2ICswLDAgQEAKLTxodG1s
PgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdD4KLWZ1bmN0aW9uIGxvYWRTdHlsZXNoZWV0KCkKLXsKLSAgICB2YXIgY3NzID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgibGluayIpOwotICAgIGNzcy5yZWwgPSAic3R5bGVzaGVldCI7
Ci0gICAgY3NzLnR5cGUgPSAidGV4dC9jc3MiOwotICAgIGNzcy5ocmVmID0gInJlc291cmNlcy9z
dHlsZS5jc3MiOwotICAgIGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoY3NzKTsKLX0KLQotZnVu
Y3Rpb24gdGVzdCgpCi17Ci0gICAgV2ViSW5zcGVjdG9yLndvcmtzcGFjZS5hZGRFdmVudExpc3Rl
bmVyKFdlYkluc3BlY3Rvci5VSVNvdXJjZUNvZGVQcm92aWRlci5FdmVudHMuVUlTb3VyY2VDb2Rl
QWRkZWQsIHN0ZXAyKTsKLSAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJsb2FkU3R5
bGVzaGVldCgpIik7Ci0KLSAgICB2YXIgcmVzb3VyY2U7Ci0gICAgZnVuY3Rpb24gc3RlcDIoZXZl
bnQpCi0gICAgewotICAgICAgICB2YXIgZXZlbnRVSVNvdXJjZUNvZGUgPSBldmVudC5kYXRhOwot
ICAgICAgICBpZiAoZXZlbnRVSVNvdXJjZUNvZGUub3JpZ2luVVJMKCkuaW5kZXhPZigic3R5bGUu
Y3NzIikgPT0gLTEpCi0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIHZhciByZXF1ZXN0ID0g
V2ViSW5zcGVjdG9yLnBhbmVsKCJuZXR3b3JrIikucmVxdWVzdHNbV2ViSW5zcGVjdG9yLnBhbmVs
KCJuZXR3b3JrIikucmVxdWVzdHMubGVuZ3RoIC0gMV07Ci0gICAgICAgIHVpU291cmNlQ29kZSA9
IFdlYkluc3BlY3Rvci53b3Jrc3BhY2UudWlTb3VyY2VDb2RlRm9yT3JpZ2luVVJMKHJlcXVlc3Qu
dXJsKTsKLSAgICAgICAgaWYgKCF1aVNvdXJjZUNvZGUpCi0gICAgICAgICAgICByZXR1cm47Ci0g
ICAgICAgIHVpU291cmNlQ29kZS5hZGRSZXZpc2lvbigiIik7Ci0gICAgICAgIHVpU291cmNlQ29k
ZS5oaXN0b3J5WzBdLnJlcXVlc3RDb250ZW50KHN0ZXAzKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlv
biBzdGVwMyhjb250ZW50KQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQo
dWlTb3VyY2VDb2RlLm9yaWdpblVSTCgpKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1
bHQoY29udGVudCk7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7Ci0gICAg
fQotfQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci08cD5U
ZXN0cyBob3cgcmV2aXNpb24gcmVxdWVzdHMgY29udGVudCBpZiBvcmlnaW5hbCBjb250ZW50IHdh
cyBub3QgbG9hZGVkIHlldC48L3A+Ci08YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NjM2MzEiPkJ1ZyA2MzYzMTwvYT4KLTwvYm9keT4KLTwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL25ldHdvcmsvbmV0d29y
ay1zaGFyZWQtd29ya2VyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5z
cGVjdG9yL25ldHdvcmsvbmV0d29yay1zaGFyZWQtd29ya2VyLWV4cGVjdGVkLnR4dApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTE2Y2JkOWMwYTljYmIzNTFjNzdlNzJiYzllMzRiMzIz
MzYyOTQ4Zi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL25ldHdvcmstc2hhcmVkLXdv
cmtlci1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxNSArMCwwIEBACi1DT05TT0xF
IE1FU1NBR0U6IGxpbmUgMTQ6IERvbmUuCi1UZXN0cyB0aGF0IHNoYXJlZCB3b3JrZXIgY29udGVu
dCBpcyBhdmFpbGFibGUgaW4gbmV0d29yayBwYW5lbC4KLQotQnVnIDY1OTI5Ci1odHRwOi8vMTI3
LjAuMC4xOjgwMDAvaW5zcGVjdG9yL25ldHdvcmsvcmVzb3VyY2VzL3NoYXJlZC13b3JrZXIuanMK
LXJlc291cmNlLnR5cGU6IHNjcmlwdAotcmVzb3VyY2UuY29udGVudCBiZWZvcmUgcmVxdWVzdGlu
ZyBjb250ZW50OiB1bmRlZmluZWQKLXJlc291cmNlLmNvbnRlbnQgYWZ0ZXIgcmVxdWVzdGluZyBj
b250ZW50OiBvbmNvbm5lY3QgPSBmdW5jdGlvbihldmVudCkKLXsKLSAgICB2YXIgcG9ydCA9IGV2
ZW50LnBvcnRzWzBdOwotICAgIHBvcnQucG9zdE1lc3NhZ2UoIkRvbmUuIik7Ci19Ci0KLQotCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL25ldHdv
cmstc2hhcmVkLXdvcmtlci5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3Iv
bmV0d29yay9uZXR3b3JrLXNoYXJlZC13b3JrZXIuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMzhmMThiMDgzM2NlMzZhMDZmODIzMDdkNjE1NGViZTEwMjVmMzgyMy4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL25ldHdvcmstc2hhcmVkLXdvcmtlci5odG1sCisrKyAv
ZGV2L251bGwKQEAgLTEsNTIgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIu
Li9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vbmV0d29yay10
ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci1mdW5jdGlvbiBsb2FkRGF0YSgpCi17Ci0gICAg
dmFyIHdvcmtlciA9IG5ldyBTaGFyZWRXb3JrZXIoInJlc291cmNlcy9zaGFyZWQtd29ya2VyLmpz
Iik7Ci0gICAgd29ya2VyLnBvcnQub25tZXNzYWdlID0gd29ya2VyTG9hZGVkOwotfQotCi1mdW5j
dGlvbiB3b3JrZXJMb2FkZWQoZXZlbnQpCi17Ci0gICAgY29uc29sZS5sb2coZXZlbnQuZGF0YSk7
Ci19Ci0KLWZ1bmN0aW9uIHRlc3QoKQotewotICAgIC8vIFNpbmNlIHRoaXMgdGVzdCBjb3VsZCBi
ZSBydW4gdG9nZXRoZXIgd2l0aCBvdGhlciBpbnNwZWN0b3IgYmFja2VuZCBjYWNoZQotICAgIC8v
IHRlc3RzLCB3ZSBuZWVkIHRvIHJlc2V0IHNpemUgbGltaXRzIHRvIGRlZmF1bHQgb25lcy4KLSAg
ICBJbnNwZWN0b3JUZXN0LnJlc2V0SW5zcGVjdG9yUmVzb3VyY2VzRGF0YShzdGVwMSk7Ci0KLSAg
ICBmdW5jdGlvbiBzdGVwMSgpCi0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZENvbnNv
bGVTbmlmZmVyKHN0ZXAyKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgi
bG9hZERhdGEoKSIpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0ZXAyKCkKLSAgICB7Ci0gICAg
ICAgIHZhciByZXF1ZXN0MSA9IFdlYkluc3BlY3Rvci5wYW5lbCgibmV0d29yayIpLnJlcXVlc3Rz
W1dlYkluc3BlY3Rvci5wYW5lbCgibmV0d29yayIpLnJlcXVlc3RzLmxlbmd0aCAtIDFdOwotICAg
ICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdChyZXF1ZXN0MS51cmwpOwotICAgICAgICBJbnNw
ZWN0b3JUZXN0LmFkZFJlc3VsdCgicmVzb3VyY2UudHlwZTogIiArIHJlcXVlc3QxLnR5cGUpOwot
ICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgicmVzb3VyY2UuY29udGVudCBiZWZvcmUg
cmVxdWVzdGluZyBjb250ZW50OiAiICsgcmVxdWVzdDEuY29udGVudCk7Ci0gICAgICAgIHJlcXVl
c3QxLnJlcXVlc3RDb250ZW50KHN0ZXAzKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwMygp
Ci0gICAgewotICAgICAgICB2YXIgcmVxdWVzdDEgPSBXZWJJbnNwZWN0b3IucGFuZWwoIm5ldHdv
cmsiKS5yZXF1ZXN0c1tXZWJJbnNwZWN0b3IucGFuZWwoIm5ldHdvcmsiKS5yZXF1ZXN0cy5sZW5n
dGggLSAxXTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoInJlc291cmNlLmNvbnRl
bnQgYWZ0ZXIgcmVxdWVzdGluZyBjb250ZW50OiAiICsgcmVxdWVzdDEuY29udGVudCk7Ci0KLSAg
ICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKLSAgICB9Ci19Ci08L3NjcmlwdD4K
LTwvaGVhZD4KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxwPlRlc3RzIHRoYXQgc2hhcmVk
IHdvcmtlciBjb250ZW50IGlzIGF2YWlsYWJsZSBpbiBuZXR3b3JrIHBhbmVsLjwvcD4KLTxhIGhy
ZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NTkyOSI+QnVnIDY1
OTI5PC9hPgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9pbnNwZWN0b3IvbmV0d29yay9uZXR3b3JrLXNpZGViYXItd2lkdGgtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29yay9uZXR3b3JrLXNpZGVi
YXItd2lkdGgtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1MmNh
ZWRmODkwZjA2NGUxNTNjYWQyMmNlY2FiYzFiYTc0ZjNjMmViLi4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVj
dG9yL25ldHdvcmsvbmV0d29yay1zaWRlYmFyLXdpZHRoLWV4cGVjdGVkLnR4dAorKysgL2Rldi9u
dWxsCkBAIC0xLDcgKzAsMCBAQAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDY6IFhIUiBsb2FkZWQ6
IDEKLVRlc3RzIG5ldHdvcmsgcGFuZWwgc2lkZWJhciB3aWR0aCB3aXRoIGFuZCB3aXRob3V0IHBy
ZWZlcmVuY2Ugc2V0LgotCi1CdWcgNjUyNTYKLVNpZGViYXIgd2lkdGg6IDIwMAotU2lkZWJhciB3
aWR0aDogMjQyCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9y
L25ldHdvcmsvbmV0d29yay1zaWRlYmFyLXdpZHRoLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL2luc3BlY3Rvci9uZXR3b3JrL25ldHdvcmstc2lkZWJhci13aWR0aC5odG1sCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwYjBmYzAzNDE2Zjg4ZGExNGM1YWYwYWU1MmE3MzhjNzU0
OGI2ZThjLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL25ldHdvcmsvbmV0d29yay1zaWRlYmFyLXdp
ZHRoLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw0MSArMCwwIEBACi08aHRtbD4KLTxoZWFkPgot
PHNjcmlwdCBzcmM9Ii4uL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIuLi9uZXR3b3JrLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLWZ1bmN0aW9uIHRlc3Qo
KQotewotICAgIEluc3BlY3RvclRlc3QubWFrZVNpbXBsZVhIUigiR0VUIiwgInJlc291cmNlcy9y
ZXNvdXJjZS5waHAiLCB0cnVlLCBzdGVwMik7Ci0KLSAgICB2YXIgb2xkU2V0dGluZzsKLSAgICBm
dW5jdGlvbiBzdGVwMigpCi0gICAgewotICAgICAgICB2YXIgcGFuZWwgPSBXZWJJbnNwZWN0b3Iu
cGFuZWwoIm5ldHdvcmsiKTsKLSAgICAgICAgdmFyIHNldHRpbmcgPSBXZWJJbnNwZWN0b3Iuc2V0
dGluZ3NbcGFuZWwuX3NpZGViYXJXaWR0aFNldHRpbmdOYW1lKCldOwotICAgICAgICB2YXIgcmVx
dWVzdCA9IFdlYkluc3BlY3Rvci5wYW5lbCgibmV0d29yayIpLnJlcXVlc3RzW1dlYkluc3BlY3Rv
ci5wYW5lbCgibmV0d29yayIpLnJlcXVlc3RzLmxlbmd0aCAtIDFdOwotCi0gICAgICAgIG9sZFNl
dHRpbmcgPSBzZXR0aW5nLmdldCgpOwotICAgICAgICBwYW5lbC5zaG93KCk7Ci0KLSAgICAgICAg
c2V0dGluZy5zZXQodW5kZWZpbmVkKTsKLSAgICAgICAgcGFuZWwuX3Nob3dSZXF1ZXN0KHJlcXVl
c3QpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiU2lkZWJhciB3aWR0aDogIiAr
IHBhbmVsLnNpZGViYXJFbGVtZW50Lm9mZnNldFdpZHRoKTsKLSAgICAgICAgcGFuZWwuX3RvZ2ds
ZUdyaWRNb2RlKCk7Ci0KLSAgICAgICAgc2V0dGluZy5zZXQoMjQyKTsKLSAgICAgICAgcGFuZWwu
X3Nob3dSZXF1ZXN0KHJlcXVlc3QpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgi
U2lkZWJhciB3aWR0aDogIiArIHBhbmVsLnNpZGViYXJFbGVtZW50Lm9mZnNldFdpZHRoKTsKLSAg
ICAgICAgcGFuZWwuX2Nsb3NlVmlzaWJsZVJlcXVlc3QocmVxdWVzdCk7Ci0KLSAgICAgICAgc2V0
dGluZy5zZXQob2xkU2V0dGluZyk7Ci0KLSAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRl
c3QoKTsKLSAgICB9Ci19Ci08L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0icnVuVGVz
dCgpIj4KLTxwPlRlc3RzIG5ldHdvcmsgcGFuZWwgc2lkZWJhciB3aWR0aCB3aXRoIGFuZCB3aXRo
b3V0IHByZWZlcmVuY2Ugc2V0LjwvcD4KLTxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD02NTI1NiI+QnVnIDY1MjU2PC9hPgotPC9ib2R5PgotPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29yay9uZXR3
b3JrLXNpemUtY2h1bmtlZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2lu
c3BlY3Rvci9uZXR3b3JrL25ldHdvcmstc2l6ZS1jaHVua2VkLWV4cGVjdGVkLnR4dApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTZjNTE5YmJhYTgwZjYxNzZkMTkyZmEwYWU4OTAxZTkw
ZDA1Yzc5OC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL25ldHdvcmstc2l6ZS1jaHVu
a2VkLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDggKzAsMCBAQAotQ09OU09MRSBN
RVNTQUdFOiBsaW5lIDE1OiBEb25lLgotVGVzdHMgbmV0d29yayByZXNvdXJjZSBzaXplIHJlcG9y
dGluZyBmb3IgY2h1bmtlZCB0cmFuc2ZlciBlbmNvZGluZy4KLQotCi1odHRwOi8vMTI3LjAuMC4x
OjgwMDAvaW5zcGVjdG9yL25ldHdvcmsvcmVzb3VyY2VzL3Jlc291cmNlLnBocD90eXBlPWltYWdl
JnNpemU9NTAwJmd6aXA9dHJ1ZSZjaHVua2VkPXRydWUKLXJlc291cmNlU2l6ZTogNTAwCi10cmFu
c2ZlclNpemU6IDkzNwotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3Bl
Y3Rvci9uZXR3b3JrL25ldHdvcmstc2l6ZS1jaHVua2VkLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL25ldHdvcmstc2l6ZS1jaHVua2VkLmh0bWwKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGEyNWNhMGQxMzZhMDU1MWY5YTJkMTdhNDM2ZTRhZDgy
ZjM4YmUzYTcuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29yay9uZXR3b3JrLXNpemUtY2h1
bmtlZC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMzggKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4K
LTxzY3JpcHQgc3JjPSIuLi9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0Pgot
ZnVuY3Rpb24gbG9hZEltYWdlcygpCi17Ci0gICAgdmFyIGltYWdlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgiaW1nIik7Ci0gICAgaW1hZ2Uub25sb2FkID0gcmVzb3VyY2VMb2FkZWQ7Ci0gICAg
aW1hZ2Uuc2V0QXR0cmlidXRlKCJzcmMiLCAicmVzb3VyY2VzL3Jlc291cmNlLnBocD90eXBlPWlt
YWdlJnNpemU9NTAwJmd6aXA9dHJ1ZSZjaHVua2VkPXRydWUiKTsKLSAgICBkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKGltYWdlKTsKLX0KLQotZnVuY3Rpb24gcmVzb3VyY2VMb2FkZWQoKQotewot
ICAgIGNvbnNvbGUubG9nKCJEb25lLiIpOwotfQotCi1mdW5jdGlvbiB0ZXN0KCkKLXsKLSAgICBJ
bnNwZWN0b3JUZXN0LmFkZENvbnNvbGVTbmlmZmVyKHN0ZXAyKTsKLSAgICBJbnNwZWN0b3JUZXN0
LmV2YWx1YXRlSW5QYWdlKCJsb2FkSW1hZ2VzKCkiKTsKLQotICAgIGZ1bmN0aW9uIHN0ZXAyKCkK
LSAgICB7Ci0gICAgICAgIHZhciByZXF1ZXN0MSA9IFdlYkluc3BlY3Rvci5wYW5lbCgibmV0d29y
ayIpLnJlcXVlc3RzW1dlYkluc3BlY3Rvci5wYW5lbCgibmV0d29yayIpLnJlcXVlc3RzLmxlbmd0
aCAtIDFdOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdChyZXF1ZXN0MS51cmwpOwot
ICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgicmVzb3VyY2VTaXplOiAiICsgcmVxdWVz
dDEucmVzb3VyY2VTaXplKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoInRyYW5z
ZmVyU2l6ZTogIiArIHJlcXVlc3QxLnRyYW5zZmVyU2l6ZSk7Ci0KLSAgICAgICAgSW5zcGVjdG9y
VGVzdC5jb21wbGV0ZVRlc3QoKTsKLSAgICB9Ci19Ci08L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5
IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxwPlRlc3RzIG5ldHdvcmsgcmVzb3VyY2Ugc2l6ZSByZXBv
cnRpbmcgZm9yIGNodW5rZWQgdHJhbnNmZXIgZW5jb2RpbmcuPC9wPgotPC9ib2R5PgotPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29yay9u
ZXR3b3JrLXNpemUtZXhwZWN0ZWQtY2h1bmtlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2luc3BlY3Rvci9uZXR3b3JrL25ldHdvcmstc2l6ZS1leHBlY3RlZC1jaHVua2VkLnR4dApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNWRiOWIwM2MyMTk5YWRiNDllNTA5NzJlZjU2ZDMw
MDMyNTE4YjUyNC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL25ldHdvcmstc2l6ZS1l
eHBlY3RlZC1jaHVua2VkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDggKzAsMCBAQAotQ09OU09M
RSBNRVNTQUdFOiBsaW5lIDIyOiBEb25lLgotVGVzdHMgbmV0d29yayByZXNvdXJjZSBzaXplIHJl
cG9ydGluZy4KLQotCi1odHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL25ldHdvcmsvcmVz
b3VyY2VzL3Jlc291cmNlLnBocD90eXBlPWltYWdlJnNpemU9NTAwJmd6aXA9dHJ1ZSVjaHVua2Vk
PXRydWUKLXJlc291cmNlU2l6ZTogNTAwCi10cmFuc2ZlclNpemU6IDIwOAotCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL25ldHdvcmstc2l6ZS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL25l
dHdvcmstc2l6ZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGY0
MzM2YWFlMzdjNjQ2MTkwMWFmMmNiYTk4MjJjMzU1ZjBjOGM4M2UuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNw
ZWN0b3IvbmV0d29yay9uZXR3b3JrLXNpemUtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAg
LTEsMTEgKzAsMCBAQAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDIyOiBEb25lLgotVGVzdHMgbmV0
d29yayByZXNvdXJjZSBzaXplIHJlcG9ydGluZy4KLQotCi1odHRwOi8vMTI3LjAuMC4xOjgwMDAv
aW5zcGVjdG9yL25ldHdvcmsvcmVzb3VyY2VzL3Jlc291cmNlLnBocD90eXBlPWltYWdlJnNpemU9
NTAwCi1yZXNvdXJjZVNpemU6IDUwMAotdHJhbnNmZXJTaXplOiA1MDAKLWh0dHA6Ly8xMjcuMC4w
LjE6ODAwMC9pbnNwZWN0b3IvbmV0d29yay9yZXNvdXJjZXMvcmVzb3VyY2UucGhwP3R5cGU9aW1h
Z2Umc2l6ZT01MDAmZ3ppcD10cnVlCi1yZXNvdXJjZVNpemU6IDUwMAotdHJhbnNmZXJTaXplOiAy
MDIKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29y
ay9uZXR3b3JrLXNpemUtc3luYy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2luc3BlY3Rvci9uZXR3b3JrL25ldHdvcmstc2l6ZS1zeW5jLWV4cGVjdGVkLnR4dApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMWFmYWU5ZTM1OWEzYmVhMjhkMWI0MzIzMjE4ZGU4OGZh
ZWUwMDk1MC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL25ldHdvcmstc2l6ZS1zeW5j
LWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDcgKzAsMCBAQAotQ09OU09MRSBNRVNT
QUdFOiBsaW5lIDY6IFhIUiBsb2FkZWQ6IDEKLVRlc3RzIG5ldHdvcmsgcmVzb3VyY2Ugc2l6ZSBy
ZXBvcnRpbmcgZm9yIHN5bmNocm9ub3VzIHJlcXVlc3RzLgotCi1odHRwOi8vMTI3LjAuMC4xOjgw
MDAvaW5zcGVjdG9yL25ldHdvcmsvcmVzb3VyY2VzL3Jlc291cmNlLnBocD90eXBlPWltYWdlJnNp
emU9NTAwJmd6aXA9dHJ1ZSZjaHVua2VkPXRydWUKLXJlc291cmNlU2l6ZTogNTAwCi10cmFuc2Zl
clNpemU6IDkzNwotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rv
ci9uZXR3b3JrL25ldHdvcmstc2l6ZS1zeW5jLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2luc3BlY3Rvci9uZXR3b3JrL25ldHdvcmstc2l6ZS1zeW5jLmh0bWwKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDgyNTk5OWFjYzAyOWYyNzAwMjllYjdkYTZhZTY4OWFiZTgyOWZmMTQu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29yay9uZXR3b3JrLXNpemUtc3luYy5odG1sCisr
KyAvZGV2L251bGwKQEAgLTEsMjUgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3Jj
PSIuLi9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vbmV0d29y
ay10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci1mdW5jdGlvbiB0ZXN0KCkKLXsKLSAgICBJ
bnNwZWN0b3JUZXN0Lm1ha2VTaW1wbGVYSFIoIkdFVCIsICJyZXNvdXJjZXMvcmVzb3VyY2UucGhw
P3R5cGU9aW1hZ2Umc2l6ZT01MDAmZ3ppcD10cnVlJmNodW5rZWQ9dHJ1ZSIsIGZhbHNlLCBzdGVw
Mik7Ci0KLSAgICBmdW5jdGlvbiBzdGVwMigpCi0gICAgewotICAgICAgICB2YXIgcmVxdWVzdDEg
PSBXZWJJbnNwZWN0b3IucGFuZWwoIm5ldHdvcmsiKS5yZXF1ZXN0c1tXZWJJbnNwZWN0b3IucGFu
ZWwoIm5ldHdvcmsiKS5yZXF1ZXN0cy5sZW5ndGggLSAxXTsKLSAgICAgICAgSW5zcGVjdG9yVGVz
dC5hZGRSZXN1bHQocmVxdWVzdDEudXJsKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1
bHQoInJlc291cmNlU2l6ZTogIiArIHJlcXVlc3QxLnJlc291cmNlU2l6ZSk7Ci0gICAgICAgIElu
c3BlY3RvclRlc3QuYWRkUmVzdWx0KCJ0cmFuc2ZlclNpemU6ICIgKyByZXF1ZXN0MS50cmFuc2Zl
clNpemUpOwotCi0gICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7Ci0gICAgfQot
fQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci08cD5UZXN0
cyBuZXR3b3JrIHJlc291cmNlIHNpemUgcmVwb3J0aW5nIGZvciBzeW5jaHJvbm91cyByZXF1ZXN0
cy48L3A+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL2luc3BlY3Rvci9uZXR3b3JrL25ldHdvcmstc2l6ZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29yay9uZXR3b3JrLXNpemUuaHRtbApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggZGY1M2NhY2VmNmU5NDk2YTM0NzI0MTJmMTY2ODFmZTQyNDMzMWNm
NC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL25ldHdvcmstc2l6ZS5odG1sCisrKyAv
ZGV2L251bGwKQEAgLTEsNTQgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIu
Li9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotZnVuY3Rpb24gbG9hZElt
YWdlcygpCi17Ci0gICAgdmFyIGltYWdlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaW1nIik7
Ci0gICAgaW1hZ2Uub25sb2FkID0gcmVzb3VyY2VMb2FkZWQ7Ci0gICAgaW1hZ2Uuc2V0QXR0cmli
dXRlKCJzcmMiLCAicmVzb3VyY2VzL3Jlc291cmNlLnBocD90eXBlPWltYWdlJnNpemU9NTAwIik7
Ci0gICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChpbWFnZSk7Ci0KLSAgICB2YXIgaW1hZ2Uy
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaW1nIik7Ci0gICAgaW1hZ2UyLm9ubG9hZCA9IHJl
c291cmNlTG9hZGVkOwotICAgIGltYWdlMi5zZXRBdHRyaWJ1dGUoInNyYyIsICJyZXNvdXJjZXMv
cmVzb3VyY2UucGhwP3R5cGU9aW1hZ2Umc2l6ZT01MDAmZ3ppcD10cnVlIik7Ci0gICAgZG9jdW1l
bnQuYm9keS5hcHBlbmRDaGlsZChpbWFnZTIpOwotfQotCi12YXIgbG9hZGVkUmVzb3VyY2VDb3Vu
dCA9IDA7Ci1mdW5jdGlvbiByZXNvdXJjZUxvYWRlZCgpCi17Ci0gICAgaWYgKCsrbG9hZGVkUmVz
b3VyY2VDb3VudCA9PT0gMikgewotICAgICAgICBjb25zb2xlLmxvZygiRG9uZS4iKTsKLSAgICB9
Ci19Ci0KLWZ1bmN0aW9uIHRlc3QoKQotewotICAgIEluc3BlY3RvclRlc3QuYWRkQ29uc29sZVNu
aWZmZXIoc3RlcDIpOwotICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoImxvYWRJbWFn
ZXMoKSIpOwotCi0gICAgZnVuY3Rpb24gc3RlcDIoKQotICAgIHsKLSAgICAgICAgLy8gaW5zcGVj
dG9yLXRlc3QuanMgYXBwZWFycyBpbiBuZXR3b3JrIHBhbmVsIG9jY2FzaW9uYWxseSBpbiBTYWZh
cmkgb24KLSAgICAgICAgLy8gTWFjLCBzbyBjaGVja2luZyB0d28gbGFzdCByZXNvdXJjZXMuCi0g
ICAgICAgIHZhciByZXF1ZXN0c0NvdW50ID0gV2ViSW5zcGVjdG9yLnBhbmVsKCJuZXR3b3JrIiku
cmVxdWVzdHMubGVuZ3RoOwotICAgICAgICB2YXIgcmVxdWVzdDEgPSBXZWJJbnNwZWN0b3IucGFu
ZWwoIm5ldHdvcmsiKS5yZXF1ZXN0c1tyZXF1ZXN0c0NvdW50IC0gMl07Ci0gICAgICAgIEluc3Bl
Y3RvclRlc3QuYWRkUmVzdWx0KHJlcXVlc3QxLnVybCk7Ci0gICAgICAgIEluc3BlY3RvclRlc3Qu
YWRkUmVzdWx0KCJyZXNvdXJjZVNpemU6ICIgKyByZXF1ZXN0MS5yZXNvdXJjZVNpemUpOwotICAg
ICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgidHJhbnNmZXJTaXplOiAiICsgKHJlcXVlc3Qx
LnRyYW5zZmVyU2l6ZSAtIHJlcXVlc3QxLnJlc3BvbnNlSGVhZGVyc1NpemUpKTsKLQotICAgICAg
ICB2YXIgcmVxdWVzdDIgPSBXZWJJbnNwZWN0b3IucGFuZWwoIm5ldHdvcmsiKS5yZXF1ZXN0c1ty
ZXF1ZXN0c0NvdW50IC0gMV07Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KHJlcXVl
c3QyLnVybCk7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJyZXNvdXJjZVNpemU6
ICIgKyByZXF1ZXN0Mi5yZXNvdXJjZVNpemUpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJl
c3VsdCgidHJhbnNmZXJTaXplOiAiICsgKHJlcXVlc3QyLnRyYW5zZmVyU2l6ZSAtIHJlcXVlc3Qy
LnJlc3BvbnNlSGVhZGVyc1NpemUpKTsKLQotICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRl
VGVzdCgpOwotICAgIH0KLX0KLTwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgb25sb2FkPSJydW5U
ZXN0KCkiPgotPHA+VGVzdHMgbmV0d29yayByZXNvdXJjZSBzaXplIHJlcG9ydGluZy48L3A+Ci08
L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3Bl
Y3Rvci9uZXR3b3JrL25ldHdvcmstdGltaW5nLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvaW5zcGVjdG9yL25ldHdvcmsvbmV0d29yay10aW1pbmctZXhwZWN0ZWQudHh0CmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmYWRkZDFlNjY4ZDU1YTJmOGMyNDM0MzdhNTRl
YzJkZWQ4MmE2ZjFjLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL25ldHdvcmsvbmV0d29yay10aW1p
bmctZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNiArMCwwIEBACi1DT05TT0xFIE1F
U1NBR0U6IGxpbmUgMjI6IERvbmUuCi1UZXN0cyBuZXR3b3JrIHBhbmVsIHRpbWluZy4KLQotaHR0
cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9uZXR3b3JrL3Jlc291cmNlcy9yZXNvdXJjZS5w
aHA/dHlwZT1qcyZ3YWl0PTEwMCZzZW5kPTIwMCZqc2RlbGF5PTMwMCZqc2NvbnRlbnQ9cmVzb3Vy
Y2VMb2FkZWQoKQotaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9uZXR3b3JrL3Jlc291
cmNlcy9yZXNvdXJjZS5waHA/dHlwZT1qcyZ3YWl0PTEwMCZzZW5kPTEwMCZqc2NvbnRlbnQ9cmVz
b3VyY2VMb2FkZWQoKQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3Bl
Y3Rvci9uZXR3b3JrL25ldHdvcmstdGltaW5nLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2luc3BlY3Rvci9uZXR3b3JrL25ldHdvcmstdGltaW5nLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDY1ZWIyYzJkODI4ZmU2YmYxYzI2Y2IyODEwMzM1MjgyZWU5ZWQ1NTcuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29yay9uZXR3b3JrLXRpbWluZy5odG1sCisrKyAvZGV2
L251bGwKQEAgLTEsNTMgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi9p
bnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotZnVuY3Rpb24gbG9hZFNjcmlw
dHMoKQotewotICAgIC8vIFdhaXQgMTAwIG1zLCB0aGVuIHNlcnZlIGZvciAyMDBtcyBmaWxlIGNv
bnRhaW5pbmcgMzAwbXMgbG9vcC4KLSAgICB2YXIgc2NyaXB0ID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgic2NyaXB0Iik7Ci0gICAgc2NyaXB0LnNldEF0dHJpYnV0ZSgic3JjIiwgInJlc291cmNl
cy9yZXNvdXJjZS5waHA/dHlwZT1qcyZ3YWl0PTEwMCZzZW5kPTIwMCZqc2RlbGF5PTMwMCZqc2Nv
bnRlbnQ9cmVzb3VyY2VMb2FkZWQoKSIpOwotICAgIGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQo
c2NyaXB0KTsKLQotICAgIC8vIFdhaXQgMTAwIG1zLCB0aGVuIHNlcnZlIGZvciAxMDBtcyBhbmQg
Y2FsbCBjb25zb2xlLmxvZyBpbiBjb250ZW50LgotICAgIHNjcmlwdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInNjcmlwdCIpOwotICAgIHNjcmlwdC5zZXRBdHRyaWJ1dGUoInNyYyIsICJyZXNv
dXJjZXMvcmVzb3VyY2UucGhwP3R5cGU9anMmd2FpdD0xMDAmc2VuZD0xMDAmanNjb250ZW50PXJl
c291cmNlTG9hZGVkKCkiKTsKLSAgICBkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKHNjcmlwdCk7
Ci19Ci0KLXZhciBsb2FkZWRSZXNvdXJjZUNvdW50ID0gMDsKLWZ1bmN0aW9uIHJlc291cmNlTG9h
ZGVkKCkKLXsKLSAgICBpZiAoKytsb2FkZWRSZXNvdXJjZUNvdW50ID09PSAyKQotICAgICAgICBj
b25zb2xlLmxvZygiRG9uZS4iKTsKLX0KLQotZnVuY3Rpb24gdGVzdCgpCi17Ci0gICAgSW5zcGVj
dG9yVGVzdC5hZGRDb25zb2xlU25pZmZlcihzdGVwMik7Ci0gICAgSW5zcGVjdG9yVGVzdC5ldmFs
dWF0ZUluUGFnZSgibG9hZFNjcmlwdHMoKSIpOwotCi0gICAgZnVuY3Rpb24gc3RlcDIoKQotICAg
IHsKLSAgICAgICAgLy8gaW5zcGVjdG9yLXRlc3QuanMgYXBwZWFycyBpbiBuZXR3b3JrIHBhbmVs
IG9jY2FzaW9uYWxseSBpbiBTYWZhcmkgb24KLSAgICAgICAgLy8gTWFjLCBzbyBjaGVja2luZyB0
d28gbGFzdCByZXF1ZXN0cy4KLSAgICAgICAgdmFyIHJlcXVlc3RzID0gV2ViSW5zcGVjdG9yLm5l
dHdvcmtMb2cucmVxdWVzdHM7Ci0gICAgICAgIHZhciByZXF1ZXN0c0NvdW50ID0gcmVxdWVzdHMu
bGVuZ3RoOwotICAgICAgICB2YXIgcmVxdWVzdDEgPSByZXF1ZXN0c1tyZXF1ZXN0c0NvdW50IC0g
Ml07Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KHJlcXVlc3QxLnVybCk7Ci0gICAg
ICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0R3JlYXRlck9yRXF1YWwocmVxdWVzdDEubGF0ZW5jeSAq
IDEwMDAsIDEwMCwgIkxhdGVuY3kgb2YgdGhlIGZpcnN0IHJlc291cmNlIik7Ci0gICAgICAgIElu
c3BlY3RvclRlc3QuYXNzZXJ0R3JlYXRlck9yRXF1YWwocmVxdWVzdDEuZHVyYXRpb24gKiAxMDAw
LCAzMDAsICJEdXJhdGlvbiBvZiB0aGUgZmlyc3QgcmVzb3VyY2UiKTsKLQotICAgICAgICB2YXIg
cmVxdWVzdDIgPSByZXF1ZXN0c1tyZXF1ZXN0c0NvdW50IC0gMV07Ci0gICAgICAgIEluc3BlY3Rv
clRlc3QuYWRkUmVzdWx0KHJlcXVlc3QyLnVybCk7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYXNz
ZXJ0R3JlYXRlck9yRXF1YWwocmVxdWVzdDIubGF0ZW5jeSAqIDEwMDAsIDEwMCwgIkxhdGVuY3kg
b2YgdGhlIHNlY29uZCByZXNvdXJjZSIpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydEdy
ZWF0ZXJPckVxdWFsKHJlcXVlc3QyLmR1cmF0aW9uICogMTAwMCwgMTAwLCAiRHVyYXRpb24gb2Yg
dGhlIHNlY29uZCByZXNvdXJjZSIpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVz
dCgpOwotICAgIH0KLX0KLTwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgb25sb2FkPSJydW5UZXN0
KCkiPgotPHA+VGVzdHMgbmV0d29yayBwYW5lbCB0aW1pbmcuPC9wPgotPC9ib2R5PgotPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29yay9u
ZXR3b3JrLXdvcmtlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3Bl
Y3Rvci9uZXR3b3JrL25ldHdvcmstd29ya2VyLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggY2JlYTQ1NDM0MDUyYTI4YWE2YjMzZGRjZDU3Mzg4YjUzMmU0OTg1Mi4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL25ldHdvcmstd29ya2VyLWV4cGVjdGVkLnR4
dAorKysgL2Rldi9udWxsCkBAIC0xLDEwICswLDAgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAx
NDogRG9uZS4KLVRlc3RzIHRoYXQgd29ya2VyIGNvbnRlbnQgaXMgYXZhaWxhYmxlIGluIG5ldHdv
cmsgcGFuZWwuCi0KLUJ1ZyA2NTkyOQotaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9u
ZXR3b3JrL3Jlc291cmNlcy93b3JrZXIuanMKLXJlc291cmNlLnR5cGU6IHNjcmlwdAotcmVzb3Vy
Y2UuY29udGVudCBiZWZvcmUgcmVxdWVzdGluZyBjb250ZW50OiB1bmRlZmluZWQKLXJlc291cmNl
LmNvbnRlbnQgYWZ0ZXIgcmVxdWVzdGluZyBjb250ZW50OiBwb3N0TWVzc2FnZSgiRG9uZS4iKTsK
LQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3Jr
L25ldHdvcmstd29ya2VyLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9u
ZXR3b3JrL25ldHdvcmstd29ya2VyLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDNhZTRjNmU0ZWRlODA0MDQwZDIxYzlmMmVlYjAzNWJlYzA2OTYyZjguLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9p
bnNwZWN0b3IvbmV0d29yay9uZXR3b3JrLXdvcmtlci5odG1sCisrKyAvZGV2L251bGwKQEAgLTEs
NTIgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi9pbnNwZWN0b3ItdGVz
dC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vbmV0d29yay10ZXN0LmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQ+Ci1mdW5jdGlvbiBsb2FkRGF0YSgpCi17Ci0gICAgdmFyIHdvcmtlciA9IG5l
dyBXb3JrZXIoInJlc291cmNlcy93b3JrZXIuanMiKTsKLSAgICB3b3JrZXIub25tZXNzYWdlID0g
d29ya2VyTG9hZGVkOwotfQotCi1mdW5jdGlvbiB3b3JrZXJMb2FkZWQoZXZlbnQpCi17Ci0gICAg
Y29uc29sZS5sb2coZXZlbnQuZGF0YSk7Ci19Ci0KLWZ1bmN0aW9uIHRlc3QoKQotewotICAgIC8v
IFNpbmNlIHRoaXMgdGVzdCBjb3VsZCBiZSBydW4gdG9nZXRoZXIgd2l0aCBvdGhlciBpbnNwZWN0
b3IgYmFja2VuZCBjYWNoZQotICAgIC8vIHRlc3RzLCB3ZSBuZWVkIHRvIHJlc2V0IHNpemUgbGlt
aXRzIHRvIGRlZmF1bHQgb25lcy4KLSAgICBJbnNwZWN0b3JUZXN0LnJlc2V0SW5zcGVjdG9yUmVz
b3VyY2VzRGF0YShzdGVwMSk7Ci0KLSAgICBmdW5jdGlvbiBzdGVwMSgpCi0gICAgewotICAgICAg
ICBJbnNwZWN0b3JUZXN0LmFkZENvbnNvbGVTbmlmZmVyKHN0ZXAyKTsKLSAgICAgICAgSW5zcGVj
dG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgibG9hZERhdGEoKSIpOwotICAgIH0KLQotICAgIGZ1bmN0
aW9uIHN0ZXAyKCkKLSAgICB7Ci0gICAgICAgIHZhciByZXF1ZXN0MSA9IFdlYkluc3BlY3Rvci5w
YW5lbCgibmV0d29yayIpLnJlcXVlc3RzW1dlYkluc3BlY3Rvci5wYW5lbCgibmV0d29yayIpLnJl
cXVlc3RzLmxlbmd0aCAtIDFdOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdChyZXF1
ZXN0MS51cmwpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgicmVzb3VyY2UudHlw
ZTogIiArIHJlcXVlc3QxLnR5cGUpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgi
cmVzb3VyY2UuY29udGVudCBiZWZvcmUgcmVxdWVzdGluZyBjb250ZW50OiAiICsgcmVxdWVzdDEu
Y29udGVudCk7Ci0gICAgICAgIHJlcXVlc3QxLnJlcXVlc3RDb250ZW50KHN0ZXAzKTsKLSAgICB9
Ci0KLSAgICBmdW5jdGlvbiBzdGVwMygpCi0gICAgewotICAgICAgICB2YXIgcmVxdWVzdDEgPSBX
ZWJJbnNwZWN0b3IucGFuZWwoIm5ldHdvcmsiKS5yZXF1ZXN0c1tXZWJJbnNwZWN0b3IucGFuZWwo
Im5ldHdvcmsiKS5yZXF1ZXN0cy5sZW5ndGggLSAxXTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5h
ZGRSZXN1bHQoInJlc291cmNlLmNvbnRlbnQgYWZ0ZXIgcmVxdWVzdGluZyBjb250ZW50OiAiICsg
cmVxdWVzdDEuY29udGVudCk7Ci0KLSAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3Qo
KTsKLSAgICB9Ci19Ci08L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgp
Ij4KLTxwPlRlc3RzIHRoYXQgd29ya2VyIGNvbnRlbnQgaXMgYXZhaWxhYmxlIGluIG5ldHdvcmsg
cGFuZWwuPC9wPgotPGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTY1OTI5Ij5CdWcgNjU5Mjk8L2E+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL25ldHdvcmsteGhyLWFzeW5j
LWRvdWJsZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9u
ZXR3b3JrL25ldHdvcmsteGhyLWFzeW5jLWRvdWJsZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDkwYTZlZGE4ODljOWFjY2VhNzc3OGZlMDMzZGFkY2QzNDJkZTQx
NWYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29yay9uZXR3b3JrLXhoci1hc3luYy1kb3Vi
bGUtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNiArMCwwIEBACi1DT05TT0xFIE1F
U1NBR0U6IGxpbmUgNjogWEhSIGxvYWRlZDogMQotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDY6IFhI
UiBsb2FkZWQ6IDIKLVRlc3RzIHJlc3BvbnNlcyBpbiBuZXR3b3JrIHRhYiBmb3IgdHdvIFhIUnMg
c2VudCB3aXRob3V0IGFueSBkZWxheSBiZXR3ZWVuIHRoZW0uIEJ1ZyA5MTYzMAotcmVzb3VyY2Ux
LmNvbnRlbnQ6IHJlcXVlc3QxCi1yZXNvdXJjZTIuY29udGVudDogcmVxdWVzdDIKLQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29yay9uZXR3b3JrLXho
ci1hc3luYy1kb3VibGUuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL25l
dHdvcmsvbmV0d29yay14aHItYXN5bmMtZG91YmxlLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDBiY2U4NGFhNzlhNWM4ZTNlZTkzODFjMTc5MzU3ZjEwMjAwNzFhNGIuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29yay9uZXR3b3JrLXhoci1hc3luYy1kb3VibGUuaHRtbAor
KysgL2Rldi9udWxsCkBAIC0xLDQ5ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNy
Yz0iLi4vaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uL25ldHdv
cmstdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotZnVuY3Rpb24gdGVzdCgpCi17Ci0gICAg
Ly8gU2luY2UgdGhpcyB0ZXN0IGNvdWxkIGJlIHJ1biB0b2dldGhlciB3aXRoIG90aGVyIGluc3Bl
Y3RvciBiYWNrZW5kIGNhY2hlCi0gICAgLy8gdGVzdHMsIHdlIG5lZWQgdG8gcmVzZXQgc2l6ZSBs
aW1pdHMgdG8gZGVmYXVsdCBvbmVzLgotICAgIEluc3BlY3RvclRlc3QucmVzZXRJbnNwZWN0b3JS
ZXNvdXJjZXNEYXRhKHN0ZXAxKTsKLQotICAgIGZ1bmN0aW9uIHN0ZXAxKCkKLSAgICB7Ci0gICAg
ICAgIEluc3BlY3RvclRlc3QubWFrZVNpbXBsZVhIUldpdGhQYXlsb2FkKCJQT1NUIiwgInJlc291
cmNlcy9lY2hvLXBheWxvYWQucGhwIiwgdHJ1ZSwgJ3JlcXVlc3QxJywgc3RlcDIpOwotICAgIH0K
LQotICAgIGZ1bmN0aW9uIHN0ZXAyKCkKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QubWFr
ZVNpbXBsZVhIUldpdGhQYXlsb2FkKCJQT1NUIiwgInJlc291cmNlcy9lY2hvLXBheWxvYWQucGhw
IiwgdHJ1ZSwgJ3JlcXVlc3QyJywgc3RlcDMpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0ZXAz
KCkKLSAgICB7Ci0gICAgICAgIHZhciByZXF1ZXN0MSA9IFdlYkluc3BlY3Rvci5wYW5lbCgibmV0
d29yayIpLnJlcXVlc3RzW1dlYkluc3BlY3Rvci5wYW5lbCgibmV0d29yayIpLnJlcXVlc3RzLmxl
bmd0aCAtIDJdOwotICAgICAgICB2YXIgcmVxdWVzdDIgPSBXZWJJbnNwZWN0b3IucGFuZWwoIm5l
dHdvcmsiKS5yZXF1ZXN0c1tXZWJJbnNwZWN0b3IucGFuZWwoIm5ldHdvcmsiKS5yZXF1ZXN0cy5s
ZW5ndGggLSAxXTsKLSAgICAgICAgcmVxdWVzdDEucmVxdWVzdENvbnRlbnQoc3RlcDQpOwotICAg
ICAgICByZXF1ZXN0Mi5yZXF1ZXN0Q29udGVudChzdGVwNCk7Ci0gICAgfQotCi0gICAgdmFyIHRv
TG9hZCA9IDI7Ci0gICAgZnVuY3Rpb24gc3RlcDQoKQotICAgIHsKLSAgICAgICAgaWYgKC0tdG9M
b2FkKQotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB2YXIgcmVxdWVzdDEgPSBXZWJJbnNw
ZWN0b3IucGFuZWwoIm5ldHdvcmsiKS5yZXF1ZXN0c1tXZWJJbnNwZWN0b3IucGFuZWwoIm5ldHdv
cmsiKS5yZXF1ZXN0cy5sZW5ndGggLSAyXTsKLSAgICAgICAgdmFyIHJlcXVlc3QyID0gV2ViSW5z
cGVjdG9yLnBhbmVsKCJuZXR3b3JrIikucmVxdWVzdHNbV2ViSW5zcGVjdG9yLnBhbmVsKCJuZXR3
b3JrIikucmVxdWVzdHMubGVuZ3RoIC0gMV07Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVz
dWx0KCJyZXNvdXJjZTEuY29udGVudDogIiArIHJlcXVlc3QxLmNvbnRlbnQpOwotICAgICAgICBJ
bnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgicmVzb3VyY2UyLmNvbnRlbnQ6ICIgKyByZXF1ZXN0Mi5j
b250ZW50KTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRUcnVlKHJlcXVlc3QxLmNvbnRl
bnQgPT09ICdyZXF1ZXN0MScgJiYgcmVxdWVzdDIuY29udGVudCA9PT0gJ3JlcXVlc3QyJyk7Ci0g
ICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7Ci0gICAgfQotfQotPC9zY3JpcHQ+
Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci1UZXN0cyByZXNwb25zZXMgaW4g
bmV0d29yayB0YWIgZm9yIHR3byBYSFJzIHNlbnQgd2l0aG91dCBhbnkgZGVsYXkgYmV0d2VlbiB0
aGVtLgotPGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkx
NjMwIj5CdWcgOTE2MzA8L2E+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL25ldHdvcmsteGhyLWFzeW5jLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL25ldHdvcmsvbmV0d29y
ay14aHItYXN5bmMtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAy
ZDE1N2MxNDAzYzUzNzQwZWE1YzZjNjFmNDZhNjUxN2M4YzJhNWFkLi4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5z
cGVjdG9yL25ldHdvcmsvbmV0d29yay14aHItYXN5bmMtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251
bGwKQEAgLTEsOCArMCwwIEBACi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgNjogWEhSIGxvYWRlZDog
MQotVGVzdHMgWEhSIG5ldHdvcmsgcmVzb3VyY2UgdHlwZSBhbmQgY29udGVudCBmb3IgYXN5bmNo
cm9ub3VzIHJlcXVlc3RzLiBCdWcgNjEyMDUKLQotaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3Bl
Y3Rvci9uZXR3b3JrL3Jlc291cmNlcy9yZXNvdXJjZS5waHAKLXJlc291cmNlLnR5cGU6IHhocgot
cmVzb3VyY2UuY29udGVudCBiZWZvcmUgcmVxdWVzdGluZyBjb250ZW50OiB1bmRlZmluZWQKLXJl
c291cmNlLmNvbnRlbnQgYWZ0ZXIgcmVxdWVzdGluZyBjb250ZW50OiBIZWxsbyB3b3JsZAotCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL25ldHdv
cmsteGhyLWFzeW5jLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3
b3JrL25ldHdvcmsteGhyLWFzeW5jLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IGFhZjkzZTA4MjE3MGJiNjUyMjcyZTQ4NjQ5YzZlZWJiMDlmOTBlY2MuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9p
bnNwZWN0b3IvbmV0d29yay9uZXR3b3JrLXhoci1hc3luYy5odG1sCisrKyAvZGV2L251bGwKQEAg
LTEsNDMgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi9pbnNwZWN0b3It
dGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vbmV0d29yay10ZXN0LmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQ+Ci1mdW5jdGlvbiB0ZXN0KCkKLXsKLSAgICAvLyBTaW5jZSB0aGlzIHRl
c3QgY291bGQgYmUgcnVuIHRvZ2V0aGVyIHdpdGggb3RoZXIgaW5zcGVjdG9yIGJhY2tlbmQgY2Fj
aGUKLSAgICAvLyB0ZXN0cywgd2UgbmVlZCB0byByZXNldCBzaXplIGxpbWl0cyB0byBkZWZhdWx0
IG9uZXMuCi0gICAgSW5zcGVjdG9yVGVzdC5yZXNldEluc3BlY3RvclJlc291cmNlc0RhdGEoc3Rl
cDEpOwotCi0gICAgZnVuY3Rpb24gc3RlcDEoKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVz
dC5tYWtlU2ltcGxlWEhSKCJHRVQiLCAicmVzb3VyY2VzL3Jlc291cmNlLnBocCIsIHRydWUsIHN0
ZXAyKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwMigpCi0gICAgewotICAgICAgICB2YXIg
cmVxdWVzdDEgPSBXZWJJbnNwZWN0b3IucGFuZWwoIm5ldHdvcmsiKS5yZXF1ZXN0c1tXZWJJbnNw
ZWN0b3IucGFuZWwoIm5ldHdvcmsiKS5yZXF1ZXN0cy5sZW5ndGggLSAxXTsKLSAgICAgICAgSW5z
cGVjdG9yVGVzdC5hZGRSZXN1bHQocmVxdWVzdDEudXJsKTsKLSAgICAgICAgSW5zcGVjdG9yVGVz
dC5hZGRSZXN1bHQoInJlc291cmNlLnR5cGU6ICIgKyByZXF1ZXN0MS50eXBlKTsKLSAgICAgICAg
SW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoInJlc291cmNlLmNvbnRlbnQgYmVmb3JlIHJlcXVlc3Rp
bmcgY29udGVudDogIiArIHJlcXVlc3QxLmNvbnRlbnQpOwotICAgICAgICBJbnNwZWN0b3JUZXN0
LmFzc2VydFRydWUoIXJlcXVlc3QxLmZhaWxlZCwgIlJlc291cmNlIGxvYWRpbmcgZmFpbGVkLiIp
OwotICAgICAgICByZXF1ZXN0MS5yZXF1ZXN0Q29udGVudChzdGVwMyk7Ci0gICAgfQotCi0gICAg
ZnVuY3Rpb24gc3RlcDMoKQotICAgIHsKLSAgICAgICAgdmFyIHJlcXVlc3QxID0gV2ViSW5zcGVj
dG9yLnBhbmVsKCJuZXR3b3JrIikucmVxdWVzdHNbV2ViSW5zcGVjdG9yLnBhbmVsKCJuZXR3b3Jr
IikucmVxdWVzdHMubGVuZ3RoIC0gMV07Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0
KCJyZXNvdXJjZS5jb250ZW50IGFmdGVyIHJlcXVlc3RpbmcgY29udGVudDogIiArIHJlcXVlc3Qx
LmNvbnRlbnQpOwotCi0gICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7Ci0gICAg
fQotfQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci0gPHA+
Ci0gVGVzdHMgWEhSIG5ldHdvcmsgcmVzb3VyY2UgdHlwZSBhbmQgY29udGVudCBmb3IgYXN5bmNo
cm9ub3VzIHJlcXVlc3RzLgotPGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTYxMjA1Ij5CdWcgNjEyMDU8L2E+Ci08L3A+Ci08L2JvZHk+Ci08L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL25ldHdv
cmsteGhyLXJlcGxheS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3Bl
Y3Rvci9uZXR3b3JrL25ldHdvcmsteGhyLXJlcGxheS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IGIyOTcxYWU2OGZjNGUxYjM2NjYzZTkzNjdhZmU3YzE4YjA5YzUx
MDcuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29yay9uZXR3b3JrLXhoci1yZXBsYXktZXhw
ZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNjAgKzAsMCBAQAotQ09OU09MRSBNRVNTQUdF
OiBsaW5lIDY6IFhIUiBsb2FkZWQ6IDEKLUNPTlNPTEUgTUVTU0FHRTogbGluZSA2OiBYSFIgbG9h
ZGVkOiAyCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgNjogWEhSIGxvYWRlZDogMwotQ09OU09MRSBN
RVNTQUdFOiBsaW5lIDY6IFhIUiBsb2FkZWQ6IDQKLUNPTlNPTEUgTUVTU0FHRTogbGluZSA2OiBY
SFIgbG9hZGVkOiA1Ci1DT05TT0xFIE1FU1NBR0U6IGxpbmUgNjogWEhSIGxvYWRlZDogNgotQ09O
U09MRSBNRVNTQUdFOiBsaW5lIDY6IFhIUiBsb2FkZWQ6IDcKLUNPTlNPTEUgTUVTU0FHRTogbGlu
ZSA2OiBYSFIgbG9hZGVkOiA4Ci1UZXN0cyBYSFIgcmVwbGF5aW5nLiBCdWcgOTUxODcKLQotUnVu
bmluZzogdGVzdEdldFN0YXRpY0FzeW5jCi1EdW1waW5nIHJlcXVlc3Q6IAotICAgIHVybDogaHR0
cDovL3VzZXI6cGFzc3dvcmRAMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL25ldHdvcmsvcmVzb3Vy
Y2VzL2VtcHR5Lmh0bWwKLSAgICByZXF1ZXN0TWV0aG9kOiBHRVQKLSAgICB0ZXN0IHJlcXVlc3Qg
aGVhZGVyIHZhbHVlOiBoZWFkZXJWYWx1ZQotCi1SdW5uaW5nOiB0ZXN0R2V0U3RhdGljU3luYwot
RHVtcGluZyByZXF1ZXN0OiAKLSAgICB1cmw6IGh0dHA6Ly91c2VyOnBhc3N3b3JkQDEyNy4wLjAu
MTo4MDAwL2luc3BlY3Rvci9uZXR3b3JrL3Jlc291cmNlcy9lbXB0eS5odG1sCi0gICAgcmVxdWVz
dE1ldGhvZDogR0VUCi0gICAgdGVzdCByZXF1ZXN0IGhlYWRlciB2YWx1ZTogaGVhZGVyVmFsdWUK
LQotUnVubmluZzogdGVzdEdldENhY2hlZEFzeW5jCi1EdW1waW5nIHJlcXVlc3Q6IAotICAgIHVy
bDogaHR0cDovL3VzZXI6cGFzc3dvcmRAMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL25ldHdvcmsv
cmVzb3VyY2VzL3JhbmRvbS1jYWNoZWQucGhwCi0gICAgcmVxdWVzdE1ldGhvZDogR0VUCi0gICAg
dGVzdCByZXF1ZXN0IGhlYWRlciB2YWx1ZTogaGVhZGVyVmFsdWUKLQotUnVubmluZzogdGVzdEdl
dENhY2hlZFN5bmMKLUR1bXBpbmcgcmVxdWVzdDogCi0gICAgdXJsOiBodHRwOi8vdXNlcjpwYXNz
d29yZEAxMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvbmV0d29yay9yZXNvdXJjZXMvcmFuZG9tLWNh
Y2hlZC5waHAKLSAgICByZXF1ZXN0TWV0aG9kOiBHRVQKLSAgICB0ZXN0IHJlcXVlc3QgaGVhZGVy
IHZhbHVlOiBoZWFkZXJWYWx1ZQotCi1SdW5uaW5nOiB0ZXN0R2V0UmFuZG9tQXN5bmMKLUR1bXBp
bmcgcmVxdWVzdDogCi0gICAgdXJsOiBodHRwOi8vdXNlcjpwYXNzd29yZEAxMjcuMC4wLjE6ODAw
MC9pbnNwZWN0b3IvbmV0d29yay9yZXNvdXJjZXMvcmFuZG9tLnBocAotICAgIHJlcXVlc3RNZXRo
b2Q6IEdFVAotICAgIHRlc3QgcmVxdWVzdCBoZWFkZXIgdmFsdWU6IGhlYWRlclZhbHVlCi0KLVJ1
bm5pbmc6IHRlc3RHZXRSYW5kb21TeW5jCi1EdW1waW5nIHJlcXVlc3Q6IAotICAgIHVybDogaHR0
cDovL3VzZXI6cGFzc3dvcmRAMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL25ldHdvcmsvcmVzb3Vy
Y2VzL3JhbmRvbS5waHAKLSAgICByZXF1ZXN0TWV0aG9kOiBHRVQKLSAgICB0ZXN0IHJlcXVlc3Qg
aGVhZGVyIHZhbHVlOiBoZWFkZXJWYWx1ZQotCi1SdW5uaW5nOiB0ZXN0UG9zdEFzeW5jCi1EdW1w
aW5nIHJlcXVlc3Q6IAotICAgIHVybDogaHR0cDovL3VzZXI6cGFzc3dvcmRAMTI3LjAuMC4xOjgw
MDAvaW5zcGVjdG9yL25ldHdvcmsvcmVzb3VyY2VzL3JhbmRvbS5waHAKLSAgICByZXF1ZXN0Rm9y
bURhdGE6IHBheWxvYWQKLSAgICByZXF1ZXN0TWV0aG9kOiBQT1NUCi0gICAgdGVzdCByZXF1ZXN0
IGhlYWRlciB2YWx1ZTogaGVhZGVyVmFsdWUKLQotUnVubmluZzogdGVzdFBvc3RTeW5jCi1EdW1w
aW5nIHJlcXVlc3Q6IAotICAgIHVybDogaHR0cDovL3VzZXI6cGFzc3dvcmRAMTI3LjAuMC4xOjgw
MDAvaW5zcGVjdG9yL25ldHdvcmsvcmVzb3VyY2VzL3JhbmRvbS5waHAKLSAgICByZXF1ZXN0Rm9y
bURhdGE6IHBheWxvYWQKLSAgICByZXF1ZXN0TWV0aG9kOiBQT1NUCi0gICAgdGVzdCByZXF1ZXN0
IGhlYWRlciB2YWx1ZTogaGVhZGVyVmFsdWUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29yay9uZXR3b3JrLXhoci1yZXBsYXkuaHRtbCBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL25ldHdvcmsvbmV0d29yay14aHItcmVwbGF5Lmh0
bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGVmZjU4ZDc1ODY5ZGMwMWI4MzU2NDc3
NGNiMzQ5Y2MyNDY4YTRhNDAuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29yay9uZXR3b3Jr
LXhoci1yZXBsYXkuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDEwOSArMCwwIEBACi08aHRtbD4K
LTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSIuLi9uZXR3b3JrLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLQotZnVu
Y3Rpb24gdGVzdCgpCi17Ci0gICAgdmFyIG5ldHdvcmtQYW5lbCA9IFdlYkluc3BlY3Rvci5zaG93
UGFuZWwoIm5ldHdvcmsiKTsKLQotICAgIGZ1bmN0aW9uIGxhc3RSZXF1ZXN0KCkKLSAgICB7Ci0g
ICAgICAgIHJldHVybiBuZXR3b3JrUGFuZWwucmVxdWVzdHNbbmV0d29ya1BhbmVsLnJlcXVlc3Rz
Lmxlbmd0aCAtIDFdOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIGR1bXBSZXF1ZXN0KHJlcXVlc3Qp
Ci0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiRHVtcGluZyByZXF1ZXN0
OiAiKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIiAgICB1cmw6ICIgKyByZXF1
ZXN0LnVybCk7Ci0gICAgICAgIGlmIChyZXF1ZXN0LnJlcXVlc3RGb3JtRGF0YSkKLSAgICAgICAg
ICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCIgICAgcmVxdWVzdEZvcm1EYXRhOiAiICsgcmVx
dWVzdC5yZXF1ZXN0Rm9ybURhdGEpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgi
ICAgIHJlcXVlc3RNZXRob2Q6ICIgKyByZXF1ZXN0LnJlcXVlc3RNZXRob2QpOwotICAgICAgICBJ
bnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiICAgIHRlc3QgcmVxdWVzdCBoZWFkZXIgdmFsdWU6ICIg
KyByZXF1ZXN0LnJlcXVlc3RIZWFkZXJWYWx1ZSgiaGVhZGVyTmFtZSIpKTsKLSAgICB9Ci0KLSAg
ICBmdW5jdGlvbiBhc3NlcnRSZXF1ZXN0RXF1YWwocmVxdWVzdDEsIHJlcXVlc3QyKQotICAgIHsK
LSAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRFcXVhbHMocmVxdWVzdDEudXJsLCByZXF1ZXN0
Mi51cmwsICJSZXF1ZXN0cyBoYXZlIGRpZmZlcmVudCB1cmwiKTsKLSAgICAgICAgSW5zcGVjdG9y
VGVzdC5hc3NlcnRFcXVhbHMocmVxdWVzdDEucmVxdWVzdEZvcm1EYXRhLCByZXF1ZXN0Mi5yZXF1
ZXN0Rm9ybURhdGEsICJSZXF1ZXN0cyBoYXZlIGRpZmZlcmVudCByZXF1ZXN0Rm9ybURhdGEiKTsK
LSAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRFcXVhbHMocmVxdWVzdDEucmVxdWVzdE1ldGhv
ZCwgcmVxdWVzdDIucmVxdWVzdE1ldGhvZCwgIlJlcXVlc3RzIGhhdmUgZGlmZmVyZW50IHJlcXVl
c3RNZXRob2QiKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRFcXVhbHMocmVxdWVzdDEu
cmVxdWVzdEhlYWRlcnNUZXh0LCByZXF1ZXN0Mi5yZXF1ZXN0SGVhZGVyc1RleHQsICJSZXF1ZXN0
cyBoYXZlIGRpZmZlcmVudCByZXF1ZXN0SGVhZGVyc1RleHQiKTsKLSAgICB9Ci0KLSAgICBmdW5j
dGlvbiB0ZXN0WEhSUmVwbGF5KG1ldGhvZCwgdXJsLCBhc3luYywgdXNlciwgcGFzc3dvcmQsIGhl
YWRlcnMsIHdpdGhDcmVkZW50aWFscywgcGF5bG9hZCwgY2FsbGJhY2spCi0gICAgewotICAgICAg
ICBJbnNwZWN0b3JUZXN0LnJlc2V0SW5zcGVjdG9yUmVzb3VyY2VzRGF0YShzdGVwMSk7Ci0KLSAg
ICAgICAgZnVuY3Rpb24gc3RlcDEoKQotICAgICAgICB7Ci0gICAgICAgICAgICBJbnNwZWN0b3JU
ZXN0Lm1ha2VYSFIobWV0aG9kLCB1cmwsIGFzeW5jLCB1c2VyLCBwYXNzd29yZCwgaGVhZGVycywg
d2l0aENyZWRlbnRpYWxzLCBwYXlsb2FkLCBzdGVwMik7Ci0gICAgICAgIH0KLQotICAgICAgICB2
YXIgb3JpZ2luYWxSZXF1ZXN0OwotICAgICAgICBmdW5jdGlvbiBzdGVwMigpCi0gICAgICAgIHsK
LSAgICAgICAgICAgIG9yaWdpbmFsUmVxdWVzdCA9IGxhc3RSZXF1ZXN0KCk7Ci0gICAgICAgICAg
ICBkdW1wUmVxdWVzdChvcmlnaW5hbFJlcXVlc3QpOwotICAgICAgICAgICAgTmV0d29ya0FnZW50
LnJlcGxheVhIUihvcmlnaW5hbFJlcXVlc3QucmVxdWVzdElkKTsKLSAgICAgICAgICAgIEluc3Bl
Y3RvclRlc3QuYWRkU25pZmZlcihXZWJJbnNwZWN0b3IuTmV0d29ya0xvZ1ZpZXcucHJvdG90eXBl
LCAiX2FwcGVuZFJlcXVlc3QiLCBzdGVwMyk7Ci0gICAgICAgIH0KLQotICAgICAgICBmdW5jdGlv
biBzdGVwMygpCi0gICAgICAgIHsKLSAgICAgICAgICAgIHZhciByZXBsYXllZFJlcXVlc3QgPSBs
YXN0UmVxdWVzdCgpOwotICAgICAgICAgICAgYXNzZXJ0UmVxdWVzdEVxdWFsKG9yaWdpbmFsUmVx
dWVzdCwgcmVwbGF5ZWRSZXF1ZXN0KTsKLSAgICAgICAgICAgIGNhbGxiYWNrKCk7Ci0gICAgICAg
IH0KLSAgICB9Ci0KLQotICAgIEluc3BlY3RvclRlc3QucnVuVGVzdFN1aXRlKFsKLSAgICAgICAg
ZnVuY3Rpb24gdGVzdEdldFN0YXRpY0FzeW5jKG5leHQpCi0gICAgICAgIHsKLSAgICAgICAgICAg
IHRlc3RYSFJSZXBsYXkoIkdFVCIsICJyZXNvdXJjZXMvZW1wdHkuaHRtbCIsIHRydWUsICJ1c2Vy
IiwgInBhc3N3b3JkIiwgW1siaGVhZGVyTmFtZSIsICJoZWFkZXJWYWx1ZSJdXSwgZmFsc2UsIHVu
ZGVmaW5lZCwgbmV4dCk7Ci0gICAgICAgIH0sCi0KLSAgICAgICAgZnVuY3Rpb24gdGVzdEdldFN0
YXRpY1N5bmMobmV4dCkKLSAgICAgICAgewotICAgICAgICAgICAgdGVzdFhIUlJlcGxheSgiR0VU
IiwgInJlc291cmNlcy9lbXB0eS5odG1sIiwgZmFsc2UsICJ1c2VyIiwgInBhc3N3b3JkIiwgW1si
aGVhZGVyTmFtZSIsICJoZWFkZXJWYWx1ZSJdXSwgZmFsc2UsIHVuZGVmaW5lZCwgbmV4dCk7Ci0g
ICAgICAgIH0sCi0KLSAgICAgICAgZnVuY3Rpb24gdGVzdEdldENhY2hlZEFzeW5jKG5leHQpCi0g
ICAgICAgIHsKLSAgICAgICAgICAgIHRlc3RYSFJSZXBsYXkoIkdFVCIsICJyZXNvdXJjZXMvcmFu
ZG9tLWNhY2hlZC5waHAiLCB0cnVlLCAidXNlciIsICJwYXNzd29yZCIsIFtbImhlYWRlck5hbWUi
LCAiaGVhZGVyVmFsdWUiXV0sIGZhbHNlLCB1bmRlZmluZWQsIG5leHQpOwotICAgICAgICB9LAot
Ci0gICAgICAgIGZ1bmN0aW9uIHRlc3RHZXRDYWNoZWRTeW5jKG5leHQpCi0gICAgICAgIHsKLSAg
ICAgICAgICAgIHRlc3RYSFJSZXBsYXkoIkdFVCIsICJyZXNvdXJjZXMvcmFuZG9tLWNhY2hlZC5w
aHAiLCBmYWxzZSwgInVzZXIiLCAicGFzc3dvcmQiLCBbWyJoZWFkZXJOYW1lIiwgImhlYWRlclZh
bHVlIl1dLCBmYWxzZSwgdW5kZWZpbmVkLCBuZXh0KTsKLSAgICAgICAgfSwKLQotICAgICAgICBm
dW5jdGlvbiB0ZXN0R2V0UmFuZG9tQXN5bmMobmV4dCkKLSAgICAgICAgewotICAgICAgICAgICAg
dGVzdFhIUlJlcGxheSgiR0VUIiwgInJlc291cmNlcy9yYW5kb20ucGhwIiwgdHJ1ZSwgInVzZXIi
LCAicGFzc3dvcmQiLCBbWyJoZWFkZXJOYW1lIiwgImhlYWRlclZhbHVlIl1dLCBmYWxzZSwgdW5k
ZWZpbmVkLCBuZXh0KTsKLSAgICAgICAgfSwKLQotICAgICAgICBmdW5jdGlvbiB0ZXN0R2V0UmFu
ZG9tU3luYyhuZXh0KQotICAgICAgICB7Ci0gICAgICAgICAgICB0ZXN0WEhSUmVwbGF5KCJHRVQi
LCAicmVzb3VyY2VzL3JhbmRvbS5waHAiLCBmYWxzZSwgInVzZXIiLCAicGFzc3dvcmQiLCBbWyJo
ZWFkZXJOYW1lIiwgImhlYWRlclZhbHVlIl1dLCBmYWxzZSwgdW5kZWZpbmVkLCBuZXh0KTsKLSAg
ICAgICAgfSwKLQotICAgICAgICBmdW5jdGlvbiB0ZXN0UG9zdEFzeW5jKG5leHQpCi0gICAgICAg
IHsKLSAgICAgICAgICAgIHRlc3RYSFJSZXBsYXkoIlBPU1QiLCAicmVzb3VyY2VzL3JhbmRvbS5w
aHAiLCB0cnVlLCAidXNlciIsICJwYXNzd29yZCIsIFtbImhlYWRlck5hbWUiLCAiaGVhZGVyVmFs
dWUiXV0sIGZhbHNlLCAicGF5bG9hZCIsIG5leHQpOwotICAgICAgICB9LAotCi0gICAgICAgIGZ1
bmN0aW9uIHRlc3RQb3N0U3luYyhuZXh0KQotICAgICAgICB7Ci0gICAgICAgICAgICB0ZXN0WEhS
UmVwbGF5KCJQT1NUIiwgInJlc291cmNlcy9yYW5kb20ucGhwIiwgZmFsc2UsICJ1c2VyIiwgInBh
c3N3b3JkIiwgW1siaGVhZGVyTmFtZSIsICJoZWFkZXJWYWx1ZSJdXSwgZmFsc2UsICJwYXlsb2Fk
IiwgbmV4dCk7Ci0gICAgICAgIH0KLSAgICBdKTsKLX0KLTwvc2NyaXB0PgotPC9oZWFkPgotPGJv
ZHkgb25sb2FkPSJydW5UZXN0KCkiPgotVGVzdHMgWEhSIHJlcGxheWluZy4KLTxhIGhyZWY9Imh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NTE4NyI+QnVnIDk1MTg3PC9h
PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9p
bnNwZWN0b3IvbmV0d29yay9uZXR3b3JrLXhoci1zYW1lLXVybC1hcy1tYWluLXJlc291cmNlLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL25ldHdvcmsvbmV0
d29yay14aHItc2FtZS11cmwtYXMtbWFpbi1yZXNvdXJjZS1leHBlY3RlZC50eHQKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDk5OGUzMDlhYmQxYjJlYzk4ZmEyY2QzY2U5YjY5NTg2MjE1
NmExODAuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29yay9uZXR3b3JrLXhoci1zYW1lLXVy
bC1hcy1tYWluLXJlc291cmNlLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDYgKzAs
MCBAQAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDY6IFhIUiBsb2FkZWQ6IDEKLVRlc3RzIHRoYXQg
WEhScyB3aXRoIHRoZSBzYW1lIHVybCBhcyBhIG1haW4gcmVzb3VyY2UgaGF2ZSBjb3JyZWN0IGNh
dGVnb3J5LgotCi1CdWcgNjg2NDgKLXhocgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL25ldHdvcmsteGhyLXNhbWUtdXJsLWFzLW1haW4tcmVz
b3VyY2UuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL25ldHdvcmsvbmV0
d29yay14aHItc2FtZS11cmwtYXMtbWFpbi1yZXNvdXJjZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAzYmRmY2FjMDdjOGNmZDEzMzJhZjY3ZmY3MGJhMGY1ZDNiYjNiZTBkLi4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvaW5zcGVjdG9yL25ldHdvcmsvbmV0d29yay14aHItc2FtZS11cmwtYXMtbWFp
bi1yZXNvdXJjZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMjMgKzAsMCBAQAotPGh0bWw+Ci08
aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2Ny
aXB0IHNyYz0iLi4vbmV0d29yay10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci1mdW5jdGlv
biB0ZXN0KCkKLXsKLSAgICBJbnNwZWN0b3JUZXN0Lm1ha2VTaW1wbGVYSFIoIkdFVCIsICJuZXR3
b3JrLXhoci1zYW1lLXVybC1hcy1tYWluLXJlc291cmNlLmh0bWwiLCB0cnVlLCBzdGVwMik7Ci0K
LSAgICBmdW5jdGlvbiBzdGVwMigpCi0gICAgewotICAgICAgICB2YXIgcmVxdWVzdDEgPSBXZWJJ
bnNwZWN0b3IucGFuZWwoIm5ldHdvcmsiKS5yZXF1ZXN0c1tXZWJJbnNwZWN0b3IucGFuZWwoIm5l
dHdvcmsiKS5yZXF1ZXN0cy5sZW5ndGggLSAxXTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRS
ZXN1bHQocmVxdWVzdDEudHlwZS5uYW1lKCkpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBs
ZXRlVGVzdCgpOwotICAgIH0KLX0KLTwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgb25sb2FkPSJy
dW5UZXN0KCkiPgotPHA+VGVzdHMgdGhhdCBYSFJzIHdpdGggdGhlIHNhbWUgdXJsIGFzIGEgbWFp
biByZXNvdXJjZSBoYXZlIGNvcnJlY3QgY2F0ZWdvcnkuPC9wPgotPGEgaHJlZj0iaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY4NjQ4Ij5CdWcgNjg2NDg8L2E+Ci08L2Jv
ZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rv
ci9uZXR3b3JrL25ldHdvcmsteGhyLXN5bmMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29yay9uZXR3b3JrLXhoci1zeW5jLWV4cGVjdGVkLnR4dApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZGE2NWY3YjlkY2I2MmI0NjU4YmZkMTljODRj
NzRkODE3ZTU5ZjcwMy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL25ldHdvcmsteGhy
LXN5bmMtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsOCArMCwwIEBACi1DT05TT0xF
IE1FU1NBR0U6IGxpbmUgNjogWEhSIGxvYWRlZDogMQotVGVzdHMgWEhSIG5ldHdvcmsgcmVzb3Vy
Y2UgdHlwZSBhbmQgY29udGVudCBmb3Igc3luY2hyb25vdXMgcmVxdWVzdHMuIEJ1ZyA2MTIwNQot
Ci1odHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL25ldHdvcmsvcmVzb3VyY2VzL3Jlc291
cmNlLnBocAotcmVzb3VyY2UudHlwZTogeGhyCi1yZXNvdXJjZS5jb250ZW50IGJlZm9yZSByZXF1
ZXN0aW5nIGNvbnRlbnQ6IHVuZGVmaW5lZAotcmVzb3VyY2UuY29udGVudCBhZnRlciByZXF1ZXN0
aW5nIGNvbnRlbnQ6IEhlbGxvIHdvcmxkCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvaW5zcGVjdG9yL25ldHdvcmsvbmV0d29yay14aHItc3luYy5odG1sIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29yay9uZXR3b3JrLXhoci1zeW5jLmh0bWwKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGVmMWYwOTFlMTk0NmUzNjhiZjZiNzFkZjEyZTdh
ZTFlMjdhMmQ3YTAuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29yay9uZXR3b3JrLXhoci1z
eW5jLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw0MyArMCwwIEBACi08aHRtbD4KLTxoZWFkPgot
PHNjcmlwdCBzcmM9Ii4uL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIuLi9uZXR3b3JrLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLWZ1bmN0aW9uIHRlc3Qo
KQotewotICAgIC8vIFNpbmNlIHRoaXMgdGVzdCBjb3VsZCBiZSBydW4gdG9nZXRoZXIgd2l0aCBv
dGhlciBpbnNwZWN0b3IgYmFja2VuZCBjYWNoZQotICAgIC8vIHRlc3RzLCB3ZSBuZWVkIHRvIHJl
c2V0IHNpemUgbGltaXRzIHRvIGRlZmF1bHQgb25lcy4KLSAgICBJbnNwZWN0b3JUZXN0LnJlc2V0
SW5zcGVjdG9yUmVzb3VyY2VzRGF0YShzdGVwMSk7Ci0KLSAgICBmdW5jdGlvbiBzdGVwMSgpCi0g
ICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0Lm1ha2VTaW1wbGVYSFIoIkdFVCIsICJyZXNvdXJj
ZXMvcmVzb3VyY2UucGhwIiwgZmFsc2UsIHN0ZXAyKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBz
dGVwMigpCi0gICAgewotICAgICAgICB2YXIgcmVxdWVzdDEgPSBXZWJJbnNwZWN0b3IucGFuZWwo
Im5ldHdvcmsiKS5yZXF1ZXN0c1tXZWJJbnNwZWN0b3IucGFuZWwoIm5ldHdvcmsiKS5yZXF1ZXN0
cy5sZW5ndGggLSAxXTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQocmVxdWVzdDEu
dXJsKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoInJlc291cmNlLnR5cGU6ICIg
KyByZXF1ZXN0MS50eXBlKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoInJlc291
cmNlLmNvbnRlbnQgYmVmb3JlIHJlcXVlc3RpbmcgY29udGVudDogIiArIHJlcXVlc3QxLmNvbnRl
bnQpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydFRydWUoIXJlcXVlc3QxLmZhaWxlZCwg
IlJlc291cmNlIGxvYWRpbmcgZmFpbGVkLiIpOwotICAgICAgICByZXF1ZXN0MS5yZXF1ZXN0Q29u
dGVudChzdGVwMyk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc3RlcDMoKQotICAgIHsKLSAgICAg
ICAgdmFyIHJlcXVlc3QxID0gV2ViSW5zcGVjdG9yLnBhbmVsKCJuZXR3b3JrIikucmVxdWVzdHNb
V2ViSW5zcGVjdG9yLnBhbmVsKCJuZXR3b3JrIikucmVxdWVzdHMubGVuZ3RoIC0gMV07Ci0gICAg
ICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJyZXNvdXJjZS5jb250ZW50IGFmdGVyIHJlcXVl
c3RpbmcgY29udGVudDogIiArIHJlcXVlc3QxLmNvbnRlbnQpOwotCi0gICAgICAgIEluc3BlY3Rv
clRlc3QuY29tcGxldGVUZXN0KCk7Ci0gICAgfQotfQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9k
eSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci0gPHA+Ci0gVGVzdHMgWEhSIG5ldHdvcmsgcmVzb3VyY2Ug
dHlwZSBhbmQgY29udGVudCBmb3Igc3luY2hyb25vdXMgcmVxdWVzdHMuCi08YSBocmVmPSJodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjEyMDUiPkJ1ZyA2MTIwNTwvYT4K
LTwvcD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvaW5zcGVjdG9yL25ldHdvcmsvcGluZy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL3BpbmctZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCBhYzk5NDZhMDM2M2Y5ZGEwOWI2MjUyNjE0MTI0Nzk0ZmYxZWE1Mzg0
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL25ldHdvcmsvcGluZy1leHBlY3RlZC50eHQKKysrIC9k
ZXYvbnVsbApAQCAtMSw3ICswLDAgQEAKLXBpbmcKLVRlc3RzIHRoYXQgaHlwZXJsaW5rIGF1ZGl0
aW5nIChwaW5nKSByZXF1ZXN0cyBhcHBlYXIgaW4gbmV0d29yayBwYW5lbC4KLQotaHR0cDovLzEy
Ny4wLjAuMTo4MDAwL2luc3BlY3Rvci9uZXR3b3JrL3BpbmcuaHRtbAotcmVzb3VyY2UuaXNQaW5n
UmVxdWVzdCgpOiB0cnVlCi1yZXNvdXJjZS5yZXF1ZXN0Q29udGVudFR5cGU6IHRleHQvcGluZwot
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL3Bp
bmcuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL25ldHdvcmsvcGluZy5o
dG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1YmZmNmUyZjllMjc3OTMwZGZlNjI2
MTU2MzgyZjhiMGE5N2I5ZGYzLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL25ldHdvcmsvcGluZy5o
dG1sCisrKyAvZGV2L251bGwKQEAgLTEsNDYgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3Jp
cHQgc3JjPSIuLi9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotZnVuY3Rp
b24gb25sb2FkKCkKLXsKLSAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgIHRlc3RS
dW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRIeXBlcmxpbmtBdWRpdGluZ0VuYWJsZWQi
LCAxKTsKLSAgICBydW5UZXN0KCk7Ci19Ci0KLWZ1bmN0aW9uIG5hdmlnYXRlTGluaygpCi17Ci0g
ICAgdmFyIGV2dCA9IGRvY3VtZW50LmNyZWF0ZUV2ZW50KCJNb3VzZUV2ZW50cyIpOwotICAgIGV2
dC5pbml0TW91c2VFdmVudCgiY2xpY2siKTsKLSAgICB2YXIgbGluayA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJwaW5nTGluayIpOwotICAgIGxpbmsuZGlzcGF0Y2hFdmVudChldnQpOwotfQot
Ci1mdW5jdGlvbiB0ZXN0KCkKLXsKLSAgICBJbnNwZWN0b3JUZXN0LmFkZFNuaWZmZXIoV2ViSW5z
cGVjdG9yLk5ldHdvcmtEaXNwYXRjaGVyLnByb3RvdHlwZSwgInJlcXVlc3RXaWxsQmVTZW50Iiwg
c3RlcDIpOwotICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoIm5hdmlnYXRlTGluaygp
Iik7Ci0KLSAgICBmdW5jdGlvbiBzdGVwMigpCi0gICAgewotICAgICAgICAvLyBpbnNwZWN0b3It
dGVzdC5qcyBhcHBlYXJzIGluIG5ldHdvcmsgcGFuZWwgb2NjYXNpb25hbGx5IGluIFNhZmFyaSBv
bgotICAgICAgICAvLyBNYWMsIHNvIGNoZWNraW5nIGxhc3QgcmVxdWVzdC4KLSAgICAgICAgdmFy
IHJlcXVlc3RzID0gV2ViSW5zcGVjdG9yLm5ldHdvcmtMb2cucmVxdWVzdHM7Ci0gICAgICAgIHZh
ciByZXF1ZXN0c0NvdW50ID0gcmVxdWVzdHMubGVuZ3RoOwotICAgICAgICB2YXIgcmVxdWVzdCA9
IHJlcXVlc3RzW3JlcXVlc3RzQ291bnQgLSAxXTsKLQotICAgICAgICBJbnNwZWN0b3JUZXN0LmFk
ZFJlc3VsdChyZXF1ZXN0LnVybCk7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJy
ZXNvdXJjZS5pc1BpbmdSZXF1ZXN0KCk6ICIgKyByZXF1ZXN0LmlzUGluZ1JlcXVlc3QoKSk7Ci0g
ICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJyZXNvdXJjZS5yZXF1ZXN0Q29udGVudFR5
cGU6ICIgKyByZXF1ZXN0LnJlcXVlc3RDb250ZW50VHlwZSgpKTsKLQotICAgICAgICBJbnNwZWN0
b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwotICAgIH0KLX0KLTwvc2NyaXB0PgotPC9oZWFkPgotPGJv
ZHkgb25sb2FkPSJvbmxvYWQoKSI+Ci08YSBpZD0icGluZ0xpbmsiIGhyZWY9IiMiIHBpbmc9InBp
bmcuaHRtbCI+cGluZzwvYT4KLTxwPlRlc3RzIHRoYXQgaHlwZXJsaW5rIGF1ZGl0aW5nIChwaW5n
KSByZXF1ZXN0cyBhcHBlYXIgaW4gbmV0d29yayBwYW5lbC48L3A+Ci08L2JvZHk+Ci08L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL3Jl
cXVlc3QtbmFtZS1wYXRoLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5z
cGVjdG9yL25ldHdvcmsvcmVxdWVzdC1uYW1lLXBhdGgtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwZmM5ZTE0OTNjNzUzZDJjYzJlMDc0ODQ5NDlhOTZmMTE0ZTJl
NDBiLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL25ldHdvcmsvcmVxdWVzdC1uYW1lLXBhdGgtZXhw
ZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNTIgKzAsMCBAQAotVGVzdHMgbmFtZSgpIGFu
ZCBwYXRoKCkgbWV0aG9kcyBvZiBOZXR3b3JrUmVxdWVzdC4KLQotQnVnIDEwMTA2NAotRHVtcGlu
ZyByZXF1ZXN0IG5hbWUgYW5kIHBhdGggZm9yIHVybDogaHR0cDovL3d3dy5leGFtcGxlLmNvbS9m
b28vYmFyL2Jhej9rZXk9dmFsdWUKLSAgICBuYW1lID0gYmF6P2tleT12YWx1ZQotICAgIHBhdGgg
PSB3d3cuZXhhbXBsZS5jb20vZm9vL2JhcgotRHVtcGluZyByZXF1ZXN0IG5hbWUgYW5kIHBhdGgg
Zm9yIHVybDogaHR0cDovL3d3dy5leGFtcGxlLmNvbS9mb28vYmFyLz9rZXk9dmFsdWUKLSAgICBu
YW1lID0gP2tleT12YWx1ZQotICAgIHBhdGggPSB3d3cuZXhhbXBsZS5jb20vZm9vL2JhcgotRHVt
cGluZyByZXF1ZXN0IG5hbWUgYW5kIHBhdGggZm9yIHVybDogaHR0cDovL3d3dy5leGFtcGxlLmNv
bS9mb28vYmFyL2JhegotICAgIG5hbWUgPSBiYXoKLSAgICBwYXRoID0gd3d3LmV4YW1wbGUuY29t
L2Zvby9iYXIKLUR1bXBpbmcgcmVxdWVzdCBuYW1lIGFuZCBwYXRoIGZvciB1cmw6IGh0dHA6Ly93
d3cuZXhhbXBsZS5jb20vZm9vL2Jhci8KLSAgICBuYW1lID0gYmFyLwotICAgIHBhdGggPSB3d3cu
ZXhhbXBsZS5jb20vZm9vCi1EdW1waW5nIHJlcXVlc3QgbmFtZSBhbmQgcGF0aCBmb3IgdXJsOiBo
dHRwOi8vd3d3LmV4YW1wbGUuY29tL2Jhej9rZXk9dmFsdWUKLSAgICBuYW1lID0gYmF6P2tleT12
YWx1ZQotICAgIHBhdGggPSB3d3cuZXhhbXBsZS5jb20KLUR1bXBpbmcgcmVxdWVzdCBuYW1lIGFu
ZCBwYXRoIGZvciB1cmw6IGh0dHA6Ly93d3cuZXhhbXBsZS5jb20vP2tleT12YWx1ZQotICAgIG5h
bWUgPSA/a2V5PXZhbHVlCi0gICAgcGF0aCA9IHd3dy5leGFtcGxlLmNvbQotRHVtcGluZyByZXF1
ZXN0IG5hbWUgYW5kIHBhdGggZm9yIHVybDogaHR0cDovL3d3dy5leGFtcGxlLmNvbS9iYXoKLSAg
ICBuYW1lID0gYmF6Ci0gICAgcGF0aCA9IHd3dy5leGFtcGxlLmNvbQotRHVtcGluZyByZXF1ZXN0
IG5hbWUgYW5kIHBhdGggZm9yIHVybDogaHR0cDovL3d3dy5leGFtcGxlLmNvbS8KLSAgICBuYW1l
ID0gd3d3LmV4YW1wbGUuY29tCi0gICAgcGF0aCA9IAotRHVtcGluZyByZXF1ZXN0IG5hbWUgYW5k
IHBhdGggZm9yIHVybDogaHR0cDovLzEyNy4wLjAuMS9mb28vYmFyL2Jhej9rZXk9dmFsdWUKLSAg
ICBuYW1lID0gYmF6P2tleT12YWx1ZQotICAgIHBhdGggPSAvZm9vL2JhcgotRHVtcGluZyByZXF1
ZXN0IG5hbWUgYW5kIHBhdGggZm9yIHVybDogaHR0cDovLzEyNy4wLjAuMS9mb28vYmFyLz9rZXk9
dmFsdWUKLSAgICBuYW1lID0gP2tleT12YWx1ZQotICAgIHBhdGggPSAvZm9vL2JhcgotRHVtcGlu
ZyByZXF1ZXN0IG5hbWUgYW5kIHBhdGggZm9yIHVybDogaHR0cDovLzEyNy4wLjAuMS9mb28vYmFy
L2JhegotICAgIG5hbWUgPSBiYXoKLSAgICBwYXRoID0gL2Zvby9iYXIKLUR1bXBpbmcgcmVxdWVz
dCBuYW1lIGFuZCBwYXRoIGZvciB1cmw6IGh0dHA6Ly8xMjcuMC4wLjEvZm9vL2Jhci8KLSAgICBu
YW1lID0gYmFyLwotICAgIHBhdGggPSAvZm9vCi1EdW1waW5nIHJlcXVlc3QgbmFtZSBhbmQgcGF0
aCBmb3IgdXJsOiBodHRwOi8vMTI3LjAuMC4xL2Jhej9rZXk9dmFsdWUKLSAgICBuYW1lID0gYmF6
P2tleT12YWx1ZQotICAgIHBhdGggPSAKLUR1bXBpbmcgcmVxdWVzdCBuYW1lIGFuZCBwYXRoIGZv
ciB1cmw6IGh0dHA6Ly8xMjcuMC4wLjEvP2tleT12YWx1ZQotICAgIG5hbWUgPSA/a2V5PXZhbHVl
Ci0gICAgcGF0aCA9IAotRHVtcGluZyByZXF1ZXN0IG5hbWUgYW5kIHBhdGggZm9yIHVybDogaHR0
cDovLzEyNy4wLjAuMS9iYXoKLSAgICBuYW1lID0gYmF6Ci0gICAgcGF0aCA9IAotRHVtcGluZyBy
ZXF1ZXN0IG5hbWUgYW5kIHBhdGggZm9yIHVybDogaHR0cDovLzEyNy4wLjAuMS8KLSAgICBuYW1l
ID0gMTI3LjAuMC4xCi0gICAgcGF0aCA9IAotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL3JlcXVlc3QtbmFtZS1wYXRoLmh0bWwgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL3JlcXVlc3QtbmFtZS1wYXRoLmh0bWwK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDgwNzVlZTQ0OTdhZDBhYTQ4ZDVjYWFhNDNm
MzRlOTBlM2Q2MzY5ZTQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29yay9yZXF1ZXN0LW5h
bWUtcGF0aC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNDQgKzAsMCBAQAotPGh0bWw+Ci08aGVh
ZD4KLTxzY3JpcHQgc3JjPSIuLi9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
PgotZnVuY3Rpb24gdGVzdCgpCi17Ci0gICAgZnVuY3Rpb24gY3JlYXRlTmV0d29ya1JlcXVlc3RG
b3JVUkxBbmREdW1wTmFtZUFuZFBhdGgodXJsKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVz
dC5hZGRSZXN1bHQoIkR1bXBpbmcgcmVxdWVzdCBuYW1lIGFuZCBwYXRoIGZvciB1cmw6ICIgKyB1
cmwpOwotICAgICAgICB2YXIgcmVxdWVzdCA9IG5ldyBXZWJJbnNwZWN0b3IuTmV0d29ya1JlcXVl
c3QoMCwgdXJsKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIiAgICBuYW1lID0g
IiArIHJlcXVlc3QubmFtZSgpKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIiAg
ICBwYXRoID0gIiArIHJlcXVlc3QucGF0aCgpKTsKLSAgICB9Ci0KLSAgICBjcmVhdGVOZXR3b3Jr
UmVxdWVzdEZvclVSTEFuZER1bXBOYW1lQW5kUGF0aCgiaHR0cDovL3d3dy5leGFtcGxlLmNvbS9m
b28vYmFyL2Jhej9rZXk9dmFsdWUiKTsKLSAgICBjcmVhdGVOZXR3b3JrUmVxdWVzdEZvclVSTEFu
ZER1bXBOYW1lQW5kUGF0aCgiaHR0cDovL3d3dy5leGFtcGxlLmNvbS9mb28vYmFyLz9rZXk9dmFs
dWUiKTsKLSAgICBjcmVhdGVOZXR3b3JrUmVxdWVzdEZvclVSTEFuZER1bXBOYW1lQW5kUGF0aCgi
aHR0cDovL3d3dy5leGFtcGxlLmNvbS9mb28vYmFyL2JheiIpOwotICAgIGNyZWF0ZU5ldHdvcmtS
ZXF1ZXN0Rm9yVVJMQW5kRHVtcE5hbWVBbmRQYXRoKCJodHRwOi8vd3d3LmV4YW1wbGUuY29tL2Zv
by9iYXIvIik7Ci0KLSAgICBjcmVhdGVOZXR3b3JrUmVxdWVzdEZvclVSTEFuZER1bXBOYW1lQW5k
UGF0aCgiaHR0cDovL3d3dy5leGFtcGxlLmNvbS9iYXo/a2V5PXZhbHVlIik7Ci0gICAgY3JlYXRl
TmV0d29ya1JlcXVlc3RGb3JVUkxBbmREdW1wTmFtZUFuZFBhdGgoImh0dHA6Ly93d3cuZXhhbXBs
ZS5jb20vP2tleT12YWx1ZSIpOwotICAgIGNyZWF0ZU5ldHdvcmtSZXF1ZXN0Rm9yVVJMQW5kRHVt
cE5hbWVBbmRQYXRoKCJodHRwOi8vd3d3LmV4YW1wbGUuY29tL2JheiIpOwotICAgIGNyZWF0ZU5l
dHdvcmtSZXF1ZXN0Rm9yVVJMQW5kRHVtcE5hbWVBbmRQYXRoKCJodHRwOi8vd3d3LmV4YW1wbGUu
Y29tLyIpOwotCi0gICAgY3JlYXRlTmV0d29ya1JlcXVlc3RGb3JVUkxBbmREdW1wTmFtZUFuZFBh
dGgoImh0dHA6Ly8xMjcuMC4wLjEvZm9vL2Jhci9iYXo/a2V5PXZhbHVlIik7Ci0gICAgY3JlYXRl
TmV0d29ya1JlcXVlc3RGb3JVUkxBbmREdW1wTmFtZUFuZFBhdGgoImh0dHA6Ly8xMjcuMC4wLjEv
Zm9vL2Jhci8/a2V5PXZhbHVlIik7Ci0gICAgY3JlYXRlTmV0d29ya1JlcXVlc3RGb3JVUkxBbmRE
dW1wTmFtZUFuZFBhdGgoImh0dHA6Ly8xMjcuMC4wLjEvZm9vL2Jhci9iYXoiKTsKLSAgICBjcmVh
dGVOZXR3b3JrUmVxdWVzdEZvclVSTEFuZER1bXBOYW1lQW5kUGF0aCgiaHR0cDovLzEyNy4wLjAu
MS9mb28vYmFyLyIpOwotCi0gICAgY3JlYXRlTmV0d29ya1JlcXVlc3RGb3JVUkxBbmREdW1wTmFt
ZUFuZFBhdGgoImh0dHA6Ly8xMjcuMC4wLjEvYmF6P2tleT12YWx1ZSIpOwotICAgIGNyZWF0ZU5l
dHdvcmtSZXF1ZXN0Rm9yVVJMQW5kRHVtcE5hbWVBbmRQYXRoKCJodHRwOi8vMTI3LjAuMC4xLz9r
ZXk9dmFsdWUiKTsKLSAgICBjcmVhdGVOZXR3b3JrUmVxdWVzdEZvclVSTEFuZER1bXBOYW1lQW5k
UGF0aCgiaHR0cDovLzEyNy4wLjAuMS9iYXoiKTsKLSAgICBjcmVhdGVOZXR3b3JrUmVxdWVzdEZv
clVSTEFuZER1bXBOYW1lQW5kUGF0aCgiaHR0cDovLzEyNy4wLjAuMS8iKTsKLQotICAgIEluc3Bl
Y3RvclRlc3QuY29tcGxldGVUZXN0KCk7Ci19Ci0KLTwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkg
b25sb2FkPSJydW5UZXN0KCkiPgotPHA+VGVzdHMgbmFtZSgpIGFuZCBwYXRoKCkgbWV0aG9kcyBv
ZiBOZXR3b3JrUmVxdWVzdC48L3A+Ci08YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTAxMDY0Ij5CdWcgMTAxMDY0PC9hPgotPC9ib2R5PgotPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29yay9yZXF1
ZXN0LXBhcmFtZXRlcnMtZGVjb2RpbmctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9pbnNwZWN0b3IvbmV0d29yay9yZXF1ZXN0LXBhcmFtZXRlcnMtZGVjb2RpbmctZXhwZWN0
ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0YjcwNjZmNDJmMzE4MjAyODRi
OTU0ZmFiY2FlMzI0OTk1ZTdkZmE5Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL25ldHdvcmsvcmVx
dWVzdC1wYXJhbWV0ZXJzLWRlY29kaW5nLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0x
LDYgKzAsMCBAQAotVGVzdHMgaG93IHJlcXVlc3QgaGVhZGVycyBhcmUgZGVjb2RlZCBpbiBuZXR3
b3JrIGl0ZW0gdmlldy4KLQotQnVnIDc0NDIyCi1PcmlnaW5hbCB2YWx1ZTogVGVzdCslMjElNDAl
MjMlMjQlMjUlNUUlMjYqJTI4JTI5XyUyQitwYXJhbWV0ZXJzLgotRGVjb2RlZCB2YWx1ZTogVGVz
dCAhQCMkJV4mKigpXysgcGFyYW1ldGVycy4KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29yay9yZXF1ZXN0LXBhcmFtZXRlcnMtZGVjb2RpbmcuaHRt
bCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL25ldHdvcmsvcmVxdWVzdC1wYXJh
bWV0ZXJzLWRlY29kaW5nLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDcwOTY5
ZWNjZmZhMzM2ZjUzYjZjNWY0Y2M3MjEyMWNhMjg0YzkzODguLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0
b3IvbmV0d29yay9yZXF1ZXN0LXBhcmFtZXRlcnMtZGVjb2RpbmcuaHRtbAorKysgL2Rldi9udWxs
CkBAIC0xLDIxICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vaW5zcGVj
dG9yLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLQotZnVuY3Rpb24gdGVzdCgpCi17Ci0J
V2ViSW5zcGVjdG9yLnNob3dQYW5lbCgibmV0d29yayIpOwotICAgIHZhciB2YWx1ZSA9ICJUZXN0
KyUyMSU0MCUyMyUyNCUyNSU1RSUyNiolMjglMjlfJTJCK3BhcmFtZXRlcnMuIjsKLSAgICB2YXIg
cGFyYW1ldGVyRWxlbWVudCA9IFdlYkluc3BlY3Rvci5SZXF1ZXN0SGVhZGVyc1ZpZXcucHJvdG90
eXBlLl9mb3JtYXRQYXJhbWV0ZXIodmFsdWUsICIiLCB0cnVlKTsKLSAgICBJbnNwZWN0b3JUZXN0
LmFkZFJlc3VsdCgiT3JpZ2luYWwgdmFsdWU6ICIgKyB2YWx1ZSk7Ci0gICAgSW5zcGVjdG9yVGVz
dC5hZGRSZXN1bHQoIkRlY29kZWQgdmFsdWU6ICIgKyBwYXJhbWV0ZXJFbGVtZW50LnRleHRDb250
ZW50KTsKLSAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwotfQotPC9zY3JpcHQ+Ci08
L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci0gPHA+VGVzdHMgaG93IHJlcXVlc3Qg
aGVhZGVycyBhcmUgZGVjb2RlZCBpbiBuZXR3b3JrIGl0ZW0gdmlldy48L3A+Ci08YSBocmVmPSJo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjEyMDUiPkJ1ZyA3NDQyMjwv
YT4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
aW5zcGVjdG9yL25ldHdvcmsvcmVzb3VyY2VzLzQwNC5waHAgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL2luc3BlY3Rvci9uZXR3b3JrL3Jlc291cmNlcy80MDQucGhwCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCBmMTM3NmNlYjg0MTcyNDVjNTQ3MThkY2FhNjk0OTE3N2FkNjEzZGY2Li4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvaW5zcGVjdG9yL25ldHdvcmsvcmVzb3VyY2VzLzQwNC5waHAKKysrIC9kZXYv
bnVsbApAQCAtMSw0ICswLDAgQEAKLTw/cGhwCi0gICAgaGVhZGVyKCJIVFRQLzEuMCA0MDQgTm90
IEZvdW5kIik7Ci0gICAgZWNobygiNDA0IC0gcmVzb3VyY2Ugd2FzIG5vdCBmb3VuZC4iKTsKLT8+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL3Jl
c291cmNlcy9jcDEyNTEueG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0
d29yay9yZXNvdXJjZXMvY3AxMjUxLnhtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MzIyODVmMzYwYmNlM2U1ZDkzZjNjMmQ2ZTBlYzRjMzBjYjQ5NGE3Yy4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2lu
c3BlY3Rvci9uZXR3b3JrL3Jlc291cmNlcy9jcDEyNTEueG1sCisrKyAvZGV2L251bGwKQEAgLTEs
NCArMCwwIEBACi08P3htbCB2ZXJzaW9uPScxLjAnIGVuY29kaW5nPSdjcDEyNTEnPz4KLTxyb290
PgotICA8Y3AxMjUxPlNV0dHFU1MgLSBUaGVzZSAnQ0NFJyBhcmUgY3lyaWxsaWMgbGV0dGVycy48
L2NwMTI1MT4KLTwvcm9vdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5z
cGVjdG9yL25ldHdvcmsvcmVzb3VyY2VzL2N5cmlsbGljLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL3Jlc291cmNlcy9jeXJpbGxpYy5odG1sCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiNGJmNzFhZTZmYzdjZTQxMzY5NGY3ZTcwNDJlZThhNjVh
NjdjOTk1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL25ldHdvcmsvcmVzb3VyY2VzL2N5cmlsbGlj
Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwyICswLDAgQEAKLVRoZSBmb2xsb3dpbmcgbGluZSBj
b250YWlucyBhIHdvcmQgInN1Y2Nlc3MiIHdyaXR0ZW4gd2l0aCBjeXJpbGxpYyBsZXR0ZXJzLgot
U1XQodCh0JVTUwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3Iv
bmV0d29yay9yZXNvdXJjZXMvZG93bmxvYWQuenp6IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9p
bnNwZWN0b3IvbmV0d29yay9yZXNvdXJjZXMvZG93bmxvYWQuenp6CmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAyNWY3MjBlNmM4NjgzODA0NzgxYmNkMzdmMmVlNjJjNThhYjdmNWM5Li4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvaW5zcGVjdG9yL25ldHdvcmsvcmVzb3VyY2VzL2Rvd25sb2FkLnp6egorKysg
L2Rldi9udWxsCkBAIC0xICswLDAgQEAKLVRlc3QgcmVzb3VyY2UgZm9yIHRyaWdnZXJpbmcgZG93
bmxvYWRzLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0
d29yay9yZXNvdXJjZXMvZWNoby1wYXlsb2FkLnBocCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
aW5zcGVjdG9yL25ldHdvcmsvcmVzb3VyY2VzL2VjaG8tcGF5bG9hZC5waHAKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDFjYjFiMTJiZTFhOGRhNWMzMGNkMjliNjM4NGI5MGRkOGVkM2Ex
MDIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29yay9yZXNvdXJjZXMvZWNoby1wYXlsb2Fk
LnBocAorKysgL2Rldi9udWxsCkBAIC0xLDMgKzAsMCBAQAotPD9waHAKLQllY2hvIGZpbGVfZ2V0
X2NvbnRlbnRzKCdwaHA6Ly9pbnB1dCcpOwotPz4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvaW5zcGVjdG9yL25ldHdvcmsvcmVzb3VyY2VzL2VtcHR5Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL3Jlc291cmNlcy9lbXB0eS5odG1sCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlNjlkZTI5YmIyZDFkNjQzNGI4YjI5YWU3NzVh
ZDhjMmU0OGM1MzkxLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL3Jlc291
cmNlcy9pbml0aWF0b3IuY3NzIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0
d29yay9yZXNvdXJjZXMvaW5pdGlhdG9yLmNzcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggNWM1ZGU3ODY5ZjM1NWQ4OTgyMDI4MmMyOTA0NzA4OGFlOGViMDgyYi4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2luc3BlY3Rvci9uZXR3b3JrL3Jlc291cmNlcy9pbml0aWF0b3IuY3NzCisrKyAvZGV2L251bGwK
QEAgLTEsOCArMCwwIEBACi0uaW1hZ2UtYmFja2dyb3VuZCB7Ci0gICAgYmFja2dyb3VuZC1pbWFn
ZTogdXJsKCJyZXNvdXJjZS5waHA/dHlwZT1pbWFnZSZyYW5kb209MSZzaXplPTIwMCIpOwotfQot
Ci0uaW1hZ2UtYmFja2dyb3VuZC0yIHsKLSAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoInJlc291
cmNlLnBocD90eXBlPWltYWdlJnJhbmRvbT0xJnNpemU9MzAwIik7Ci19Ci0KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL25ldHdvcmsvcmVzb3VyY2VzL2pzb24u
cGhwIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29yay9yZXNvdXJjZXMv
anNvbi5waHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IGU1MzQ0YTVhZmUxMzdhZWVh
OWEwNTIwNWMyMmZmNDhjMzhhZmI2Y2IuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29yay9y
ZXNvdXJjZXMvanNvbi5waHAKKysrIC9kZXYvbnVsbApAQCAtMSw1ICswLDAgQEAKLTw/cGhwCi0g
ICAgaGVhZGVyKCJDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL2pzb24iKTsKLT8+Ci17Im51bWJl
ciI6ICI0MiJ9Ci0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9y
L25ldHdvcmsvcmVzb3VyY2VzL3BsdWdpbi1kYXRhLnBocCBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvaW5zcGVjdG9yL25ldHdvcmsvcmVzb3VyY2VzL3BsdWdpbi1kYXRhLnBocApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMzIxZDllOGU5ZDk3MzYyM2JiMWY1MmFiNDRkMDY3NTJmYmJj
YWRiOC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL3Jlc291cmNlcy9wbHVnaW4tZGF0
YS5waHAKKysrIC9kZXYvbnVsbApAQCAtMSwxNSArMCwwIEBACi08P3BocAotICAgICRtaW1ldHlw
ZSA9ICRfR0VUWyJtaW1ldHlwZSJdOwotICAgICRmaWxlbmFtZSA9ICRfR0VUWyJmaWxlbmFtZSJd
OwotICAgICRjaGFyc2V0ID0gJF9HRVRbImNoYXJzZXQiXTsKLQotICAgIGhlYWRlcigiRXhwaXJl
czogVGh1LCAwMSBEZWMgMjAwMyAxNjowMDowMCBHTVQiKTsKLSAgICBoZWFkZXIoIkNhY2hlLUNv
bnRyb2w6IG5vLXN0b3JlLCBuby1jYWNoZSwgbXVzdC1yZXZhbGlkYXRlIik7Ci0gICAgaGVhZGVy
KCJQcmFnbWE6IG5vLWNhY2hlIik7Ci0gICAgaWYgKCRjaGFyc2V0KQotICAgICAgICBoZWFkZXIo
IkNvbnRlbnQtVHlwZTogIiAuICRtaW1ldHlwZSAuICI7IGNoYXJzZXQ9IiAuICRjaGFyc2V0KTsK
LSAgICBlbHNlCi0gICAgICAgIGhlYWRlcigiQ29udGVudC1UeXBlOiAiIC4gJG1pbWV0eXBlKTsK
LQotICAgIHJlYWRmaWxlKCRmaWxlbmFtZSk7Ci0/PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29yay9yZXNvdXJjZXMvcmFuZG9tLWNhY2hlZC5waHAg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL3Jlc291cmNlcy9yYW5k
b20tY2FjaGVkLnBocApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmIwOTVhZTk0ZGJi
YmM3MDNlMTU0NjBkZTY5NmQ0MDhkY2UxNmVhMi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3
b3JrL3Jlc291cmNlcy9yYW5kb20tY2FjaGVkLnBocAorKysgL2Rldi9udWxsCkBAIC0xLDE4ICsw
LDAgQEAKLTw/cGhwCi0gICAgaWYgKCRfU0VSVkVSWyJIVFRQX0lGX01PRElGSUVEX1NJTkNFIl0p
IHsKLSAgICAgICAgaGVhZGVyKCJIVFRQLzEuMCAzMDQgTm90IE1vZGlmaWVkIik7Ci0gICAgICAg
IGV4aXQ7Ci0gICAgfQotCi0gICAgJG1heF9hZ2UgPSAxMiAqIDMxICogMjQgKiA2MCAqIDYwOyAv
L29uZSB5ZWFyCi0gICAgJGV4cGlyZXMgPSBnbWRhdGUoREFURV9SRkMxMTIzLCB0aW1lKCkgKyAk
bWF4X2FnZSk7Ci0gICAgJGxhc3RfbW9kaWZpZWQgPSBnbWRhdGUoREFURV9SRkMxMTIzLCB0aW1l
KCkgLSAkbWF4X2FnZSk7Ci0KLSAgICBoZWFkZXIoIkNhY2hlLUNvbnRyb2w6IHB1YmxpYywgbWF4
LWFnZT0iIC4gNSokbWF4X2FnZSk7Ci0gICAgaGVhZGVyKCJDYWNoZS1jb250cm9sOiBtYXgtYWdl
PTAiKTsKLSAgICBoZWFkZXIoIkV4cGlyZXM6ICIgLiAkZXhwaXJlcyk7Ci0gICAgaGVhZGVyKCJD
b250ZW50LVR5cGU6IHRleHQvaHRtbCIpOwotICAgIGhlYWRlcigiTGFzdC1Nb2RpZmllZDogIiAu
ICRsYXN0X21vZGlmaWVkKTsKLQotICAgIGVjaG8ocmFuZCgpKTsKLT8+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL3Jlc291cmNlcy9yYW5kb20t
c2NyaXB0LnBocCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL25ldHdvcmsvcmVz
b3VyY2VzL3JhbmRvbS1zY3JpcHQucGhwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAx
NGZjMzJkZDgwMGQwYzNjMWFlZDY2YTc3OWVlODdkYzRmNDIwZjliLi4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5z
cGVjdG9yL25ldHdvcmsvcmVzb3VyY2VzL3JhbmRvbS1zY3JpcHQucGhwCisrKyAvZGV2L251bGwK
QEAgLTEsMTkgKzAsMCBAQAotPD9waHAKLSAgICBpZiAoJF9TRVJWRVJbIkhUVFBfSUZfTU9ESUZJ
RURfU0lOQ0UiXSkgewotICAgICAgICBoZWFkZXIoIkhUVFAvMS4wIDMwNCBOb3QgTW9kaWZpZWQi
KTsKLSAgICAgICAgZXhpdDsKLSAgICB9Ci0KLSAgICAkbWF4X2FnZSA9IDEyICogMzEgKiAyNCAq
IDYwICogNjA7IC8vb25lIHllYXIKLSAgICAkZXhwaXJlcyA9IGdtZGF0ZShEQVRFX1JGQzExMjMs
IHRpbWUoKSArICRtYXhfYWdlKTsKLSAgICAkbGFzdF9tb2RpZmllZCA9IGdtZGF0ZShEQVRFX1JG
QzExMjMsIHRpbWUoKSAtICRtYXhfYWdlKTsKLQotICAgIGhlYWRlcigiQ2FjaGUtQ29udHJvbDog
cHVibGljLCBtYXgtYWdlPSIgLiA1KiRtYXhfYWdlKTsKLSAgICBoZWFkZXIoIkNhY2hlLWNvbnRy
b2w6IG1heC1hZ2U9MCIpOwotICAgIGhlYWRlcigiRXhwaXJlczogIiAuICRleHBpcmVzKTsKLSAg
ICBoZWFkZXIoIkNvbnRlbnQtVHlwZTogdGV4dC9odG1sIik7Ci0gICAgaGVhZGVyKCJMYXN0LU1v
ZGlmaWVkOiAiIC4gJGxhc3RfbW9kaWZpZWQpOwotCi0gICAgZWNobygiY29uc29sZS5sb2coXCJE
b25lLlwiKTsiKTsKLSAgICBlY2hvKCJ2YXIgcmFuZG9tVmFsdWUgPSAiIC4gcmFuZCgpIC4gIjsi
KTsKLT8+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3
b3JrL3Jlc291cmNlcy9yZXNvdXJjZS5waHAgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3Bl
Y3Rvci9uZXR3b3JrL3Jlc291cmNlcy9yZXNvdXJjZS5waHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IGMyYjZmMWNjY2VlMmNiYzhjNjM4OWU2ZjcxOGVmZTU5NTVmZjA2NDAuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29yay9yZXNvdXJjZXMvcmVzb3VyY2UucGhwCisrKyAvZGV2
L251bGwKQEAgLTEsMTE5ICswLDAgQEAKLTw/cGhwCi0gICAgJHR5cGUgPSAkX0dFVFsidHlwZSJd
OwotICAgICR3YWl0ID0gJF9HRVRbIndhaXQiXTsKLSAgICAkc2VuZCA9ICRfR0VUWyJzZW5kIl07
Ci0gICAgJHNpemUgPSAkX0dFVFsic2l6ZSJdOwotICAgICRnemlwID0gJF9HRVRbImd6aXAiXTsK
LSAgICAkanNkZWxheSA9ICRfR0VUWyJqc2RlbGF5Il07Ci0gICAgJGpzY29udGVudCA9ICRfR0VU
WyJqc2NvbnRlbnQiXTsKLSAgICAkY2h1bmtlZCA9ICRfR0VUWyJjaHVua2VkIl07Ci0gICAgJHJh
bmRvbSA9ICRfR0VUWyJyYW5kb20iXTsKLSAgICAkY2FjaGVkID0gJF9HRVRbImNhY2hlZCJdOwot
Ci0gICAgIyBXYWl0IGJlZm9yZSBzZW5kaW5nIHJlc3BvbnNlCi0gICAgaWYgKCR3YWl0KQotICAg
ICAgICB1c2xlZXAoJHdhaXQgKiAxMDAwKTsKLQotICAgICMgRXhpdCBlYXJseSBpZiB3ZSByZXR1
cm4gMzA0IGNvZGUuCi0gICAgaWYgKCRjYWNoZWQgJiYgJF9TRVJWRVJbIkhUVFBfSUZfTU9ESUZJ
RURfU0lOQ0UiXSkgewotICAgICAgICBoZWFkZXIoIkhUVFAvMS4wIDMwNCBOb3QgTW9kaWZpZWQi
KTsKLSAgICAgICAgZXhpdDsKLSAgICB9Ci0KLSAgICAjIEVuYWJsZSBnemlwIGNvbXByZXNzaW9u
IGlmIG5lZWRlZAotICAgIGlmICgkZ3ppcCkKLSAgICAgICAgb2Jfc3RhcnQoIm9iX2d6aGFuZGxl
ciIpOwotCi0gICAgIyBTZW5kIGhlYWRlcnMKLSAgICBpZiAoJGNhY2hlZCkgewotICAgICAgICAk
bWF4X2FnZSA9IDEyICogMzEgKiAyNCAqIDYwICogNjA7IC8vb25lIHllYXIKLSAgICAgICAgJGV4
cGlyZXMgPSBnbWRhdGUoREFURV9SRkMxMTIzLCB0aW1lKCkgKyAkbWF4X2FnZSk7Ci0gICAgICAg
ICRsYXN0X21vZGlmaWVkID0gZ21kYXRlKERBVEVfUkZDMTEyMywgdGltZSgpIC0gJG1heF9hZ2Up
OwotCi0gICAgICAgIGhlYWRlcigiQ2FjaGUtQ29udHJvbDogcHVibGljLCBtYXgtYWdlPSIgLiA1
KiRtYXhfYWdlKTsKLSAgICAgICAgaGVhZGVyKCJDYWNoZS1jb250cm9sOiBtYXgtYWdlPTAiKTsK
LSAgICAgICAgaGVhZGVyKCJFeHBpcmVzOiAiIC4gJGV4cGlyZXMpOwotICAgICAgICBoZWFkZXIo
Ikxhc3QtTW9kaWZpZWQ6ICIgLiAkbGFzdF9tb2RpZmllZCk7Ci0gICAgfSBlbHNlIHsKLSAgICAg
ICAgaGVhZGVyKCJFeHBpcmVzOiBUaHUsIDAxIERlYyAyMDAzIDE2OjAwOjAwIEdNVCIpOwotICAg
ICAgICBoZWFkZXIoIkNhY2hlLUNvbnRyb2w6IG5vLXN0b3JlLCBuby1jYWNoZSwgbXVzdC1yZXZh
bGlkYXRlIik7Ci0gICAgICAgIGhlYWRlcigiUHJhZ21hOiBuby1jYWNoZSIpOwotICAgIH0KLSAg
ICBpZiAoJHR5cGUgPT0gImpzIikKLSAgICAgICAgaGVhZGVyKCJDb250ZW50LVR5cGU6dGV4dC9q
YXZhc2NyaXB0OyBjaGFyc2V0PVVURi04Iik7Ci0gICAgZWxzZSBpZiAoJHR5cGUgPT0gImltYWdl
IikKLSAgICAgICAgaGVhZGVyKCJDb250ZW50LVR5cGU6IGltYWdlL3BuZyIpOwotICAgIGVsc2UK
LSAgICAgICAgaGVhZGVyKCJDb250ZW50LVR5cGU6IHRleHQvcGxhaW4iKTsKLQotICAgICMgRmx1
c2ggaGVhZGVycyBhbmQgc2xlZXAgYm9mb3JlIHNlbmRpbmcgcmVzcG9uc2UKLSAgICBpZiAoJHNl
bmQpIHsKLSAgICAgICAgZmx1c2goKTsKLSAgICAgICAgdXNsZWVwKCRzZW5kICogMTAwMCk7Ci0g
ICAgfQotCi0gICAgaWYgKCR0eXBlID09ICJqcyIpIHsKLSAgICAgICAgIyBTZW5kIEphdmFTY3Jp
cHQgZmlsZQotICAgICAgICAkYnl0ZXNfZW1pdHRlZCA9IDA7Ci0gICAgICAgIGlmICgkanNkZWxh
eSkgewotICAgICAgICAgICAgIyBKYXZhU2NyaXB0IGZpbGUgc2hvdWxkIGJsb2NrIG9uIGxvYWQK
LT8+Ci1mdW5jdGlvbiBfX2ZvbyhzZWNvbmRzKSB7Ci0gICAgdmFyIG5vdyA9ICBEYXRlLm5vdygp
OwotICAgIHZhciBjb3VudGVyID0gTnVtYmVyKDApOwotICAgIHdoaWxlKG5vdyArIHNlY29uZHMg
ID4gRGF0ZS5ub3coKSkgeyBjb3VudGVyID0gTnVtYmVyKGNvdW50ZXIgKyAxKTsgfQotfQotX19m
b28oPD9waHAgZWNobygkanNkZWxheSk/Pik7Ci08P3BocAotICAgICAgICAgICAgJGJ5dGVzX2Vt
aXR0ZWQgKz0gMTc1OwotICAgICAgICB9Ci0KLSAgICAgICAgaWYgKCEkanNjb250ZW50KQotICAg
ICAgICAgICAgJGpzY29udGVudCA9ICJmdW5jdGlvbiBmb28oKSB7fSI7Ci0KLSAgICAgICAgIyBK
YXZhU2NyaXB0IGZpbGUgc2hvdWxkIGlzc3VlIGdpdmVuIGNvbW1hbmQuCi0gICAgICAgIGVjaG8o
JGpzY29udGVudCk7Ci0gICAgICAgICRieXRlc19lbWl0dGVkICs9IHN0cmxlbigkanNjb250ZW50
KTsKLQotICAgICAgICBpZiAoJHNpemUpIHsKLSAgICAgICAgICAgIGZvciAoJGkgPSAwOyAkaSA8
ICRzaXplIC0gJGJ5dGVzX2VtaXR0ZWQ7ICsrJGkpCi0gICAgICAgICAgICAgICAgZWNobygiLyIp
OwotICAgICAgICB9Ci0gICAgfSBlbHNlIGlmICgkdHlwZSA9PSAiaW1hZ2UiKSB7Ci0gICAgICAg
ICRiYXNlNjRkYXRhID0gImlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JV
LzgwQUFBQUFYTlNSMElBcnM0YzZRQUFBQWx3U0ZsekFBQUxFd0FBQ3hNQkFKcWNHQUFBQUFkMFNV
MUZCOWtJQ1FzdyIgLiAKLSAgICAgICAgICAgICJBUkNKQ29nQUFBQkZTVVJCVkVqSDdaTEJDUUF3
Q0FPTmRQK1YweFZxcTBneDl3K0dpMlpDVEFjWEdXYmU4RzREcTlEZWtTIiAuCi0gICAgICAgICAg
ICAia1BhR2VGZ2ZZSlZPRGxDVG5XQURJTG9FZzN2cGxBQ0xFQk45VUdHOStteGJvQUFBQUFTVVZP
Uks1Q1lJST0iOwotICAgICAgICAkZGF0YSA9IGJhc2U2NF9kZWNvZGUoJGJhc2U2NGRhdGEpOwot
ICAgICAgICAkZGF0YV9sZW4gPSBzdHJsZW4oJGRhdGEpOwotICAgICAgICBwcmludCgkZGF0YSk7
Ci0gICAgICAgIGlmICgkc2l6ZSkgewotICAgICAgICAgICAgaWYgKCRjaHVua2VkKSB7Ci0gICAg
ICAgICAgICAgICAgb2JfZmx1c2goKTsKLSAgICAgICAgICAgICAgICBmbHVzaCgpOwotICAgICAg
ICAgICAgfQotICAgICAgICAgICAgZm9yICgkaSA9IDA7ICRzaXplICYmICRpIDwgJHNpemUgLSAk
ZGF0YV9sZW47ICsrJGkpCi0gICAgICAgICAgICAgICAgZWNobygiPSIpOwotICAgICAgICB9IGVs
c2UgaWYgKCRyYW5kb20pCi0gICAgICAgICAgICBlY2hvKHJhbmQoKSk7Ci0gICAgfSBlbHNlIHsK
LSAgICAgICAgIyBHZW5lcmF0ZSBkdW1teSB0ZXh0L2h0bWwuCi0gICAgICAgIGlmICgkc2l6ZSkg
ewotICAgICAgICAgICAgZm9yICgkaSA9IDA7ICRpIDwgJHNpemU7ICsrJGkpIHsKLSAgICAgICAg
ICAgICAgICBpZiAoJGNodW5rZWQgJiYgKDEgPT0gJGkpKSB7Ci0gICAgICAgICAgICAgICAgICAg
IG9iX2ZsdXNoKCk7Ci0gICAgICAgICAgICAgICAgICAgIGZsdXNoKCk7Ci0gICAgICAgICAgICAg
ICAgfQotICAgICAgICAgICAgICAgIGVjaG8oIioiKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAg
fSBlbHNlIHsKLSAgICAgICAgICAgIGVjaG8oIkhlbGxvICIpOwotICAgICAgICAgICAgaWYgKCRj
aHVua2VkKSB7Ci0gICAgICAgICAgICAgICAgb2JfZmx1c2goKTsKLSAgICAgICAgICAgICAgICBm
bHVzaCgpOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgZWNobygid29ybGQiKTsKLSAgICAg
ICAgICAgIGlmICgkcmFuZG9tKQotICAgICAgICAgICAgICAgIGVjaG8oIjogIiAuIHJhbmQoKSk7
Ci0gICAgICAgIH0KLSAgICB9Ci0/PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9pbnNwZWN0b3IvbmV0d29yay9yZXNvdXJjZXMvc2NyaXB0LWFzLXRleHQtd2l0aC1hLXZlcnkt
dmVyeS12ZXJ5LXZlcnktdmVyeS12ZXJ5LXZlcnktdmVyeS12ZXJ5LXZlcnktdmVyeS12ZXJ5LXZl
cnktdmVyeS1sb25nLXVybC5waHAgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9u
ZXR3b3JrL3Jlc291cmNlcy9zY3JpcHQtYXMtdGV4dC13aXRoLWEtdmVyeS12ZXJ5LXZlcnktdmVy
eS12ZXJ5LXZlcnktdmVyeS12ZXJ5LXZlcnktdmVyeS12ZXJ5LXZlcnktdmVyeS12ZXJ5LWxvbmct
dXJsLnBocApkZWxldGVkIGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMmQzMThlY2MzMTM1NjE2YjJl
MGYyMmI5MmJmOTViOWY3NzIyYmI1ZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL3Jl
c291cmNlcy9zY3JpcHQtYXMtdGV4dC13aXRoLWEtdmVyeS12ZXJ5LXZlcnktdmVyeS12ZXJ5LXZl
cnktdmVyeS12ZXJ5LXZlcnktdmVyeS12ZXJ5LXZlcnktdmVyeS12ZXJ5LWxvbmctdXJsLnBocAor
KysgL2Rldi9udWxsCkBAIC0xLDggKzAsMCBAQAotPD9waHAKLSAgICBoZWFkZXIoIkNvbnRlbnQt
VHlwZTogdGV4dC9wbGFpbiIpOwotPz4KLQotZnVuY3Rpb24gZm9vKCkKLXsKLSAgICB2YXIgYmFy
ID0gNDI7Ci19CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9u
ZXR3b3JrL3Jlc291cmNlcy9zY3JpcHQtYXMtdGV4dC5waHAgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL2luc3BlY3Rvci9uZXR3b3JrL3Jlc291cmNlcy9zY3JpcHQtYXMtdGV4dC5waHAKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDJkMzE4ZWNjMzEzNTYxNmIyZTBmMjJiOTJiZjk1Yjlm
NzcyMmJiNWUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29yay9yZXNvdXJjZXMvc2NyaXB0
LWFzLXRleHQucGhwCisrKyAvZGV2L251bGwKQEAgLTEsOCArMCwwIEBACi08P3BocAotICAgIGhl
YWRlcigiQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluIik7Ci0/PgotCi1mdW5jdGlvbiBmb28oKQot
ewotICAgIHZhciBiYXIgPSA0MjsKLX0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvaW5zcGVjdG9yL25ldHdvcmsvcmVzb3VyY2VzL3NjcmlwdC5qcyBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvaW5zcGVjdG9yL25ldHdvcmsvcmVzb3VyY2VzL3NjcmlwdC5qcwpkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggZjJiODVhYTM5MTRkNTZiOWVlODE1NDU4YTczZWEyYTJlZDZh
YmQ0Yy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL3Jlc291cmNlcy9zY3JpcHQuanMK
KysrIC9kZXYvbnVsbApAQCAtMSArMCwwIEBACi1jb25zb2xlLmxvZygiRG9uZS4iKTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL25ldHdvcmsvcmVzb3VyY2Vz
L3NldC1jb29raWUucGhwIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29y
ay9yZXNvdXJjZXMvc2V0LWNvb2tpZS5waHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IGI5NTk2MTJiZGNkMWQ1MGIxODA2Y2U5ODcxMzliOWI3Mzc1YzQ0MjUuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9p
bnNwZWN0b3IvbmV0d29yay9yZXNvdXJjZXMvc2V0LWNvb2tpZS5waHAKKysrIC9kZXYvbnVsbApA
QCAtMSw5ICswLDAgQEAKLTw/cGhwCi0gICAgaGVhZGVyKCJFeHBpcmVzOiBUaHUsIDAxIERlYyAy
MDAzIDE2OjAwOjAwIEdNVCIpOwotICAgIGhlYWRlcigiQ2FjaGUtQ29udHJvbDogbm8tc3RvcmUs
IG5vLWNhY2hlLCBtdXN0LXJldmFsaWRhdGUiKTsKLSAgICBoZWFkZXIoIlByYWdtYTogbm8tY2Fj
aGUiKTsKLSAgICBoZWFkZXIoIkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbiIpOwotICAgIHNldGNv
b2tpZSgiVGVzdENvb2tpZSIsICJUZXN0Q29va2llVmFsdWUiKTsKLQotICAgIGVjaG8oIkNvb2tp
ZSBzZXQuIik7Ci0/PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0
b3IvbmV0d29yay9yZXNvdXJjZXMvc2hhcmVkLXdvcmtlci5qcyBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvaW5zcGVjdG9yL25ldHdvcmsvcmVzb3VyY2VzL3NoYXJlZC13b3JrZXIuanMKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDMyZDNlMDIyYTdiZmJhZDlkMmMxZTBjODBlNTU2YTE4
OTY3NmU1NmMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29yay9yZXNvdXJjZXMvc2hhcmVk
LXdvcmtlci5qcworKysgL2Rldi9udWxsCkBAIC0xLDYgKzAsMCBAQAotb25jb25uZWN0ID0gZnVu
Y3Rpb24oZXZlbnQpCi17Ci0gICAgdmFyIHBvcnQgPSBldmVudC5wb3J0c1swXTsKLSAgICBwb3J0
LnBvc3RNZXNzYWdlKCJEb25lLiIpOwotfQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL3Jlc291cmNlcy9zaWxlbnRfc2NyaXB0LmpzIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29yay9yZXNvdXJjZXMvc2lsZW50X3Nj
cmlwdC5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjQ2ZDZhMmJmNDhjZGY3YmM1
ZjYyNmEwMGEwMmE0OTYzYmRjMTQ3Ni4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL3Jl
c291cmNlcy9zaWxlbnRfc2NyaXB0LmpzCisrKyAvZGV2L251bGwKQEAgLTEsNCArMCwwIEBACi1m
dW5jdGlvbiBmb28oKQotewotICAgIHJldHVybiAyICsgMjsKLX0KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL25ldHdvcmsvcmVzb3VyY2VzL3NvdXJjZS1tYXAt
dGVzdC1zdHlsZS5jc3MgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3Jr
L3Jlc291cmNlcy9zb3VyY2UtbWFwLXRlc3Qtc3R5bGUuY3NzCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCA5NmFiYTQ2MjI1ZDljYzY0YTg3OWNiYTlhM2VkMGExZjZiYWY5NzQ5Li4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvaW5zcGVjdG9yL25ldHdvcmsvcmVzb3VyY2VzL3NvdXJjZS1tYXAtdGVzdC1zdHls
ZS5jc3MKKysrIC9kZXYvbnVsbApAQCAtMSw2ICswLDAgQEAKLSNjb250YWluZXIgewotICBiYWNr
Z3JvdW5kOiBwYXBheWF3aGlwOyB9Ci0gICNjb250YWluZXIgI2luc3BlY3RlZCB7Ci0gICAgY29s
b3I6IGdyZWVuOyB9Ci0KLS8qIyBzb3VyY2VNYXBwaW5nVVJMPXNvdXJjZS1tYXAtdGVzdC1zdHls
ZS5jc3MubWFwICovClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29yay9yZXNvdXJjZXMvc291cmNlLW1h
cC10ZXN0LXN0eWxlLmNzcy5tYXAgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9u
ZXR3b3JrL3Jlc291cmNlcy9zb3VyY2UtbWFwLXRlc3Qtc3R5bGUuY3NzLm1hcApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMGExMTMwMTgyZDQ1MjNiZDE0NzJkZWFiMTE1NzJiNzBiMTAw
MzIzYy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL3Jlc291cmNlcy9zb3VyY2UtbWFw
LXRlc3Qtc3R5bGUuY3NzLm1hcAorKysgL2Rldi9udWxsCkBAIC0xLDYgKzAsMCBAQAotewotInZl
cnNpb24iOiAiMyIsCi0ibWFwcGluZ3MiOiAiQUFBQSxVQUFXO0VBQ1AsVUFBVSxFQUFFLFVBQVU7
RUFFdEIscUJBQVc7SUFDUCxLQUFLLEVBQUUsS0FBSyIsCi0ic291cmNlcyI6IFsic3R5bGUuc2Nz
cyJdLAotImZpbGUiOiAic3R5bGUuY3NzIgotfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29yay9yZXNvdXJjZXMvc291cmNlLW1hcC10ZXN0LXN0eWxl
LnNjc3MgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL3Jlc291cmNl
cy9zb3VyY2UtbWFwLXRlc3Qtc3R5bGUuc2NzcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggNWM3NGQzNWQyOWIxNjhhOTQ1YjdmOWFmMjhhN2E5M2JiN2VmOTkwZS4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2luc3BlY3Rvci9uZXR3b3JrL3Jlc291cmNlcy9zb3VyY2UtbWFwLXRlc3Qtc3R5bGUuc2Nzcwor
KysgL2Rldi9udWxsCkBAIC0xLDcgKzAsMCBAQAotI2NvbnRhaW5lciB7Ci0gICAgYmFja2dyb3Vu
ZDogcGFwYXlhd2hpcDsKLQotICAgICNpbnNwZWN0ZWQgewotICAgICAgICBjb2xvcjogZ3JlZW47
Ci0gICAgfQotfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3Iv
bmV0d29yay9yZXNvdXJjZXMvc3R5bGUuY3NzIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNw
ZWN0b3IvbmV0d29yay9yZXNvdXJjZXMvc3R5bGUuY3NzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMjNjM2E0NjMyZWQyNGIwZjg3ZjZiNjM3ZjNmYzQ1Y2ExNTk4MGUzLi4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvaW5zcGVjdG9yL25ldHdvcmsvcmVzb3VyY2VzL3N0eWxlLmNzcworKysgL2Rldi9udWxs
CkBAIC0xLDMgKzAsMCBAQAotYm9keSB7Ci0gICAgY29sb3I6IGJsYWNrOwotfQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29yay9yZXNvdXJjZXMvdXRm
OC54bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL3Jlc291cmNl
cy91dGY4LnhtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDdlZTQ4MWZhODA3NGFj
Yjc1M2MzYzdlZjU0MjE5ZmQ5MmYxMDQ2MC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3Jr
L3Jlc291cmNlcy91dGY4LnhtbAorKysgL2Rldi9udWxsCkBAIC0xLDQgKzAsMCBAQAotPD94bWwg
dmVyc2lvbj0nMS4wJyBlbmNvZGluZz0ndXRmLTgnPz4KLTxyb290PgotICA8dXRmOD5TVdCh0KHQ
lVNTIC0gVGhlc2UgJ0NDRScgYXJlIGN5cmlsbGljIGxldHRlcnMuPC91dGY4PgotPC9yb290Pgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29yay9yZXNv
dXJjZXMvd29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29y
ay9yZXNvdXJjZXMvd29ya2VyLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4ZjYx
Y2EwY2RhMzZiNTE3ZmJkNDIxNTNjM2MyMTU5NDg3NTBiZmI1Li4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVj
dG9yL25ldHdvcmsvcmVzb3VyY2VzL3dvcmtlci5qcworKysgL2Rldi9udWxsCkBAIC0xICswLDAg
QEAKLXBvc3RNZXNzYWdlKCJEb25lLiIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9pbnNwZWN0b3IvbmV0d29yay9yZXNvdXJjZXMveC1mcmFtZS1vcHRpb25zLWRlbnkuY2dp
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29yay9yZXNvdXJjZXMveC1m
cmFtZS1vcHRpb25zLWRlbnkuY2dpCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDc1NQppbmRleCA3YTY5
MTY1NTQ3M2M4ZjA5MWViNGE0ZGE4ZTFhMTcxNzBkYTQwNDE0Li4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVj
dG9yL25ldHdvcmsvcmVzb3VyY2VzL3gtZnJhbWUtb3B0aW9ucy1kZW55LmNnaQorKysgL2Rldi9u
dWxsCkBAIC0xLDggKzAsMCBAQAotIyEvdXNyL2Jpbi9wZXJsIC13VAotdXNlIHN0cmljdDsKLQot
cHJpbnQgIkNvbnRlbnQtVHlwZTogdGV4dC9odG1sXG4iOwotcHJpbnQgIkNhY2hlLUNvbnRyb2w6
IG5vLWNhY2hlLCBuby1zdG9yZVxuIjsKLXByaW50ICJYLUZSQU1FLU9QVElPTlM6IGRlbnlcblxu
IjsKLQotcHJpbnQgIjxwPkZBSUw6IFRoaXMgc2hvdWxkIG5vdCBzaG93IHVwLjwvcD5cbiI7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL3Njcmlw
dC1hcy10ZXh0LWxvYWRpbmctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9p
bnNwZWN0b3IvbmV0d29yay9zY3JpcHQtYXMtdGV4dC1sb2FkaW5nLWV4cGVjdGVkLnR4dApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTEyMWEwODlhM2Y1MjY5MGQzNTE0ZmZhYzFkYzE5
ZTY5YWZkOTIxYy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL3NjcmlwdC1hcy10ZXh0
LWxvYWRpbmctZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNSArMCwwIEBACi1UZXN0
cyBjb25zb2xlIG1lc3NhZ2Ugd2hlbiBzY3JpcHQgaXMgbG9hZGVkIHdpdGggaW5jb3JyZWN0IHRl
eHQvaHRtbCBtaW1lIHR5cGUuCi0KLUJ1ZyA2OTk3MgotUmVzb3VyY2UgaW50ZXJwcmV0ZWQgYXMg
U2NyaXB0IGJ1dCB0cmFuc2ZlcnJlZCB3aXRoIE1JTUUgdHlwZSB0ZXh0L3BsYWluOiAiaHR0cDov
LzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9uZXR3b3JrL3Jlc291cmNlcy9zY3JpcHQtYXMtdGV4
dC5waHAiLiBbbmF0aXZlIGNvZGVdOjEKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9pbnNwZWN0b3IvbmV0d29yay9zY3JpcHQtYXMtdGV4dC1sb2FkaW5nLWxvbmctdXJsLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL25ldHdvcmsvc2Ny
aXB0LWFzLXRleHQtbG9hZGluZy1sb25nLXVybC1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IGU4NDZkYzdiZjYzZDE0Yjk2MTBmMTU4MTVmY2NmNjNjNWU0YmUxODQu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29yay9zY3JpcHQtYXMtdGV4dC1sb2FkaW5nLWxv
bmctdXJsLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDUgKzAsMCBAQAotVGVzdHMg
dGhhdCBsb25nIFVSTHMgYXJlIGNvcnJlY3RseSB0cmltbWVkIGluIGFuY2hvciBsaW5rcy4KLQot
QnVnIDEwMDA5NQotUmVzb3VyY2UgaW50ZXJwcmV0ZWQgYXMgU2NyaXB0IGJ1dCB0cmFuc2ZlcnJl
ZCB3aXRoIE1JTUUgdHlwZSB0ZXh0L3BsYWluOiAiaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3Bl
Y3Rvci9uZXR3b3JrL3Jlc291cmNlcy9zY3JpcHQtYXMtdGV4dC13aXRoLWEtdmVy4oCmeS12ZXJ5
LXZlcnktdmVyeS12ZXJ5LXZlcnktdmVyeS12ZXJ5LXZlcnktdmVyeS12ZXJ5LXZlcnktdmVyeS1s
b25nLXVybC5waHAiLiBbbmF0aXZlIGNvZGVdOjEKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29yay9zY3JpcHQtYXMtdGV4dC1sb2FkaW5nLWxvbmct
dXJsLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL3Njcmlw
dC1hcy10ZXh0LWxvYWRpbmctbG9uZy11cmwuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMTEzY2U2NWUwYTg4OGExNTc1MWM1YTY0ZjE5NWZhOTYwOTUxMjg0Ni4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL2luc3BlY3Rvci9uZXR3b3JrL3NjcmlwdC1hcy10ZXh0LWxvYWRpbmctbG9uZy11cmwuaHRt
bAorKysgL2Rldi9udWxsCkBAIC0xLDMwICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0
IHNyYz0iLi4vaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uL2Nv
bnNvbGUtdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotZnVuY3Rpb24gbG9hZFNjcmlwdCgp
Ci17Ci0gICAgdmFyIGkgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTsKLSAgICBp
LnNyYyA9ICJodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL25ldHdvcmsvcmVzb3VyY2Vz
L3NjcmlwdC1hcy10ZXh0LXdpdGgtYS12ZXJ5LXZlcnktdmVyeS12ZXJ5LXZlcnktdmVyeS12ZXJ5
LXZlcnktdmVyeS12ZXJ5LXZlcnktdmVyeS12ZXJ5LXZlcnktbG9uZy11cmwucGhwIjsKLSAgICBk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGkpOwotfQotCi1mdW5jdGlvbiB0ZXN0KCkKLXsKLSAg
ICBJbnNwZWN0b3JUZXN0LmFkZENvbnNvbGVTbmlmZmVyKHN0ZXAxKTsKLSAgICBJbnNwZWN0b3JU
ZXN0LmV2YWx1YXRlSW5QYWdlKCJsb2FkU2NyaXB0KCkiKTsKLQotICAgIGZ1bmN0aW9uIHN0ZXAx
KCkKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuZHVtcENvbnNvbGVNZXNzYWdlcygpOwot
ICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwotICAgIH0KLX0KLTwvc2NyaXB0
PgotPC9oZWFkPgotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotPHA+VGVzdHMgdGhhdCBsb25n
IFVSTHMgYXJlIGNvcnJlY3RseSB0cmltbWVkIGluIGFuY2hvciBsaW5rcy48L3A+Ci08YSBocmVm
PSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAwMDk1Ij5CdWcgMTAw
MDk1PC9hPgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9pbnNwZWN0b3IvbmV0d29yay9zY3JpcHQtYXMtdGV4dC1sb2FkaW5nLXdpdGgtY2FyZXQt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29yay9z
Y3JpcHQtYXMtdGV4dC1sb2FkaW5nLXdpdGgtY2FyZXQtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCA4ODc1YTQ4Y2I4NWQwOWQyYTBlNGQ1YjhjMjk2M2E2ODc3M2I4
YTlmLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL25ldHdvcmsvc2NyaXB0LWFzLXRleHQtbG9hZGlu
Zy13aXRoLWNhcmV0LWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDUgKzAsMCBAQAot
VGVzdHMgY29uc29sZSBtZXNzYWdlIHdoZW4gc2NyaXB0IGlzIGxvYWRlZCB3aXRoIGluY29ycmVj
dCB0ZXh0L2h0bWwgbWltZSB0eXBlIGFuZCB0aGUgVVJMIGNvbnRhaW5zIHRoZSAnXicgY2hhcmFj
dGVyLgotCi1CdWcgMTAzMjQ4Ci1SZXNvdXJjZSBpbnRlcnByZXRlZCBhcyBTY3JpcHQgYnV0IHRy
YW5zZmVycmVkIHdpdGggTUlNRSB0eXBlIHRleHQvcGxhaW46ICJodHRwOi8vMTI3LjAuMC4xOjgw
MDAvaW5zcGVjdG9yL25ldHdvcmsvcmVzb3VyY2VzL3NjcmlwdC1hcy10ZXh0LnBocD90aGlzLWni
gKYtd2l0aF5jYXJhdHNebGlrZV50aGVzZV5iZWNhdXNlXndob15kb2VzbnRebG92ZV5zdHJhbmdl
XmNoYXJhY3RlcnNeaW5edXJscyIuIFtuYXRpdmUgY29kZV06MQotCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL3NjcmlwdC1hcy10ZXh0LWxvYWRp
bmctd2l0aC1jYXJldC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0
d29yay9zY3JpcHQtYXMtdGV4dC1sb2FkaW5nLXdpdGgtY2FyZXQuaHRtbApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMTI2YTYxN2RlZWRkOGE3ZDM4YzYxZTA3ZmUyZDc3ZTViYmY4NzE1
My4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL3NjcmlwdC1hcy10ZXh0LWxvYWRpbmct
d2l0aC1jYXJldC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMzEgKzAsMCBAQAotPGh0bWw+Ci08
aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2Ny
aXB0IHNyYz0iLi4vY29uc29sZS10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci1mdW5jdGlv
biBsb2FkU2NyaXB0KCkKLXsKLSAgICB2YXIgcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNj
cmlwdCIpOwotICAgIHMuc3JjID0gInJlc291cmNlcy9zY3JpcHQtYXMtdGV4dC5waHA/dGhpcy1p
cy1hLXdlaXJkPXF1ZXJ5c3RyaW5nLXdpdGheY2FyYXRzXmxpa2VedGhlc2VeYmVjYXVzZV53aG9e
ZG9lc250XmxvdmVec3RyYW5nZV5jaGFyYWN0ZXJzXmluXnVybHMiOwotICAgIGRvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocyk7Ci19Ci0KLWZ1bmN0aW9uIHRlc3QoKQotewotICAgIEluc3BlY3Rv
clRlc3QuYWRkQ29uc29sZVNuaWZmZXIoc3RlcDEpOwotICAgIEluc3BlY3RvclRlc3QuZXZhbHVh
dGVJblBhZ2UoImxvYWRTY3JpcHQoKSIpOwotCi0gICAgZnVuY3Rpb24gc3RlcDEoKQotICAgIHsK
LSAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wQ29uc29sZU1lc3NhZ2VzKCk7Ci0gICAgICAgIElu
c3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7Ci0gICAgfQotfQotPC9zY3JpcHQ+Ci08L2hlYWQ+
Ci08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci08cD5UZXN0cyBjb25zb2xlIG1lc3NhZ2Ugd2hl
biBzY3JpcHQgaXMgbG9hZGVkIHdpdGggaW5jb3JyZWN0IHRleHQvaHRtbCBtaW1lCi10eXBlIGFu
ZCB0aGUgVVJMIGNvbnRhaW5zIHRoZSAnXicgY2hhcmFjdGVyLjwvcD4KLTxhIGhyZWY9Imh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDMyNDgiPkJ1ZyAxMDMyNDg8L2E+
Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2lu
c3BlY3Rvci9uZXR3b3JrL3NjcmlwdC1hcy10ZXh0LWxvYWRpbmcuaHRtbCBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvaW5zcGVjdG9yL25ldHdvcmsvc2NyaXB0LWFzLXRleHQtbG9hZGluZy5odG1s
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwYTAyMWE3YzEyZjBlMDEyZjFiNzUxZDc1
NjgwOGI0ZWVjNmU2MjYwLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL25ldHdvcmsvc2NyaXB0LWFz
LXRleHQtbG9hZGluZy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMzAgKzAsMCBAQAotPGh0bWw+
Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0iLi4vY29uc29sZS10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci1mdW5j
dGlvbiBsb2FkU2NyaXB0KCkKLXsKLSAgICB2YXIgcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InNjcmlwdCIpOwotICAgIHMuc3JjID0gInJlc291cmNlcy9zY3JpcHQtYXMtdGV4dC5waHAiOwot
ICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocyk7Ci19Ci0KLWZ1bmN0aW9uIHRlc3QoKQot
ewotICAgIEluc3BlY3RvclRlc3QuYWRkQ29uc29sZVNuaWZmZXIoc3RlcDEpOwotICAgIEluc3Bl
Y3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoImxvYWRTY3JpcHQoKSIpOwotCi0gICAgZnVuY3Rpb24g
c3RlcDEoKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wQ29uc29sZU1lc3NhZ2Vz
KCk7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7Ci0gICAgfQotfQotPC9z
Y3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci08cD5UZXN0cyBjb25z
b2xlIG1lc3NhZ2Ugd2hlbiBzY3JpcHQgaXMgbG9hZGVkIHdpdGggaW5jb3JyZWN0IHRleHQvaHRt
bCBtaW1lIHR5cGUuPC9wPgotPGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTY5OTcyIj5CdWcgNjk5NzI8L2E+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL3gtZnJhbWUtb3B0
aW9ucy1kZW55LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9y
L25ldHdvcmsveC1mcmFtZS1vcHRpb25zLWRlbnktZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCA4MmUxYWJjNDI1OGRjNWY0YWExODlhMmMxNDIwZWE0YjQxMGM1OGQ1
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL25ldHdvcmsveC1mcmFtZS1vcHRpb25zLWRlbnktZXhw
ZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNyArMCwwIEBACi1DT05TT0xFIE1FU1NBR0U6
IFJlZnVzZWQgdG8gZGlzcGxheSAnaHR0cDovLzEyNy4wLjAuMTo4MDAwL3NlY3VyaXR5L1hGcmFt
ZU9wdGlvbnMvcmVzb3VyY2VzL3gtZnJhbWUtb3B0aW9ucy1kZW55LmNnaScgaW4gYSBmcmFtZSBi
ZWNhdXNlIGl0IHNldCAnWC1GcmFtZS1PcHRpb25zJyB0byAnZGVueScuCi1UZXN0cyB0aGF0IHJl
c3BvbnNlUmVjZWl2ZWQgaXMgY2FsbGVkIG9uIE5ldHdvcmtEaXNwYXRjaGVyIGZvciByZXNvdXJj
ZSByZXF1ZXN0cyBkZW5pZWQgZHVlIHRvIFgtRnJhbWUtT3B0aW9ucyBoZWFkZXIuCi0KLQotUmVj
ZWl2ZWQgcmVzcG9uc2UgZm9yIHgtZnJhbWUtb3B0aW9ucy1kZW55LmNnaQotU1VDQ0VTUwotCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL3gtZnJh
bWUtb3B0aW9ucy1kZW55Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9u
ZXR3b3JrL3gtZnJhbWUtb3B0aW9ucy1kZW55Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IGRlNThjNmE2ZjkyMDFkZjlmMzE5N2JhODc2MWUzNDllNTIyOGNhZjQuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9pbnNwZWN0b3IvbmV0d29yay94LWZyYW1lLW9wdGlvbnMtZGVueS5odG1sCisrKyAvZGV2
L251bGwKQEAgLTEsNDggKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi9p
bnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotZnVuY3Rpb24gbG9hZElGcmFt
ZVdpdGhEb3dubG9hZCgpCi17Ci0gICAgdmFyIGlmcmFtZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoImlmcmFtZSIpOwotICAgIGlmcmFtZS5zZXRBdHRyaWJ1dGUoInNyYyIsICJodHRwOi8vMTI3
LjAuMC4xOjgwMDAvc2VjdXJpdHkvWEZyYW1lT3B0aW9ucy9yZXNvdXJjZXMveC1mcmFtZS1vcHRp
b25zLWRlbnkuY2dpIik7Ci0gICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChpZnJhbWUpOwot
fQotCi1mdW5jdGlvbiB0ZXN0KCkKLXsKLSAgICBJbnNwZWN0b3JUZXN0LmFkZFNuaWZmZXIoV2Vi
SW5zcGVjdG9yLk5ldHdvcmtEaXNwYXRjaGVyLnByb3RvdHlwZSwgInJlc3BvbnNlUmVjZWl2ZWQi
LCByZXNwb25zZVJlY2VpdmVkKTsKLSAgICBJbnNwZWN0b3JUZXN0LmFkZFNuaWZmZXIoV2ViSW5z
cGVjdG9yLk5ldHdvcmtEaXNwYXRjaGVyLnByb3RvdHlwZSwgImxvYWRpbmdGYWlsZWQiLCBsb2Fk
aW5nRmFpbGVkKTsKLSAgICBJbnNwZWN0b3JUZXN0LmFkZFNuaWZmZXIoV2ViSW5zcGVjdG9yLk5l
dHdvcmtEaXNwYXRjaGVyLnByb3RvdHlwZSwgImxvYWRpbmdGaW5pc2hlZCIsIGxvYWRpbmdGaW5p
c2hlZCk7Ci0gICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgibG9hZElGcmFtZVdpdGhE
b3dubG9hZCgpIik7Ci0KLSAgICBmdW5jdGlvbiByZXNwb25zZVJlY2VpdmVkKHJlcXVlc3RJZCwg
dGltZSwgcmVzb3VyY2VUeXBlLCByZXNwb25zZSkKLSAgICB7Ci0gICAgICAgIHZhciByZXF1ZXN0
ID0gV2ViSW5zcGVjdG9yLm5ldHdvcmtMb2cucmVxdWVzdEZvcklkKHJlcXVlc3RJZCk7Ci0gICAg
ICAgIGlmICgveC1mcmFtZS1vcHRpb25zLWRlbnlcLmNnaS8uZXhlYyhyZXF1ZXN0LnVybCkpIHsK
LSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJSZWNlaXZlZCByZXNwb25zZSBm
b3IgeC1mcmFtZS1vcHRpb25zLWRlbnkuY2dpIik7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0
LmFkZFJlc3VsdCgiU1VDQ0VTUyIpOwotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0
ZVRlc3QoKTsKLSAgICAgICAgfQotICAgIH0KLQotICAgIGZ1bmN0aW9uIGxvYWRpbmdGaW5pc2hl
ZChyZXF1ZXN0SWQsIGZpbmlzaFRpbWUpCi0gICAgewotICAgICAgICB2YXIgcmVxdWVzdCA9IFdl
Ykluc3BlY3Rvci5uZXR3b3JrTG9nLnJlcXVlc3RGb3JJZChyZXF1ZXN0SWQpOwotICAgICAgICBp
ZiAoL3gtZnJhbWUtb3B0aW9ucy1kZW55XC5jZ2kvLmV4ZWMocmVxdWVzdC51cmwpKQotICAgICAg
ICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlv
biBsb2FkaW5nRmFpbGVkKHJlcXVlc3RJZCwgdGltZSwgbG9jYWxpemVkRGVzY3JpcHRpb24sIGNh
bmNlbGVkKQotICAgIHsKLSAgICAgICAgdmFyIHJlcXVlc3QgPSBXZWJJbnNwZWN0b3IubmV0d29y
a0xvZy5yZXF1ZXN0Rm9ySWQocmVxdWVzdElkKTsKLSAgICAgICAgaWYgKC94LWZyYW1lLW9wdGlv
bnMtZGVueVwuY2dpLy5leGVjKHJlcXVlc3QudXJsKSkKLSAgICAgICAgICAgIEluc3BlY3RvclRl
c3QuY29tcGxldGVUZXN0KCk7Ci0gICAgfQotfQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBv
bmxvYWQ9InJ1blRlc3QoKSI+Ci08cD5UZXN0cyB0aGF0IHJlc3BvbnNlUmVjZWl2ZWQgaXMgY2Fs
bGVkIG9uIE5ldHdvcmtEaXNwYXRjaGVyIGZvciByZXNvdXJjZSByZXF1ZXN0cyBkZW5pZWQgZHVl
IHRvIFgtRnJhbWUtT3B0aW9ucyBoZWFkZXIuPC9wPgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvcHJvdG9jb2wtdGVzdC5qcyBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Byb3RvY29sLXRlc3QuanMKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDk3M2VmZTc2ODJjOTE0ZmQzZGQ1NWI3MWQ0ZDViOTI4
NThlOWJmYWMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvcHJvdG9jb2wtdGVzdC5qcworKysgL2Rl
di9udWxsCkBAIC0xLDEyOSArMCwwIEBACi12YXIgaW5pdGlhbGl6ZV9Qcm90b2NvbFRlc3QgPSBm
dW5jdGlvbigpIHsKLQotSW5zcGVjdG9yVGVzdC5maWx0ZXJQcm9wcyA9IGZ1bmN0aW9uKG9iamVj
dCwgbm9uZGV0ZXJtaW5pc3RpY1Byb3BzKQotewotICAgIGlmIChvYmplY3QgaW5zdGFuY2VvZiBP
YmplY3QpCi0gICAgICAgIGZvciAodmFyIHByb3AgaW4gb2JqZWN0KQotICAgICAgICAgICAgaWYg
KHByb3AgaW4gbm9uZGV0ZXJtaW5pc3RpY1Byb3BzKQotICAgICAgICAgICAgICAgIG9iamVjdFtw
cm9wXSA9ICI8IiArIHR5cGVvZiBvYmplY3RbcHJvcF0gKyAiPiI7Ci0gICAgICAgICAgICBlbHNl
Ci0gICAgICAgICAgICAgICAgb2JqZWN0W3Byb3BdID0gdGhpcy5maWx0ZXJQcm9wcyhvYmplY3Rb
cHJvcF0sIG5vbmRldGVybWluaXN0aWNQcm9wcyk7Ci0gICAgZWxzZSBpZiAob2JqZWN0IGluc3Rh
bmNlb2YgQXJyYXkpCi0gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgb2JqZWN0Lmxlbmd0aDsg
KytpKQotICAgICAgICAgICAgb2JqZWN0W2ldID0gdGhpcy5maWx0ZXJQcm9wcyhvYmplY3RbaV0s
IG5vbmRldGVybWluaXN0aWNQcm9wcyk7Ci0gICAgZWxzZSBpZiAodHlwZW9mIG9iamVjdCA9PT0g
Im51bWJlciIpCi0gICAgICAgIG9iamVjdCA9ICI8bnVtYmVyPiI7Ci0gICAgZWxzZSBpZiAodHlw
ZW9mIG9iamVjdCA9PT0gInN0cmluZyIgJiYgb2JqZWN0LmluZGV4T2YoIlwiaWRcIiIpICE9IC0x
KQotICAgICAgICBvYmplY3QgPSAiPHN0cmluZz4iOwotICAgIHJldHVybiBvYmplY3Q7Ci19Owot
Ci1JbnNwZWN0b3JUZXN0Ll9kdW1wRXZlbnQgPSBmdW5jdGlvbigpCi17Ci0gICAgdmFyIGFyZ3Mg
PSBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMpOwotICAgIHZhciBldmVudE5h
bWUgPSBhcmdzLnNoaWZ0KCk7Ci0gICAgSW5zcGVjdG9yVGVzdC5fYWdlbnRDb3ZlcmFnZVtldmVu
dE5hbWVdID0gImNoZWNrZWQiOwotICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJldmVudCAi
ICsgSW5zcGVjdG9yVGVzdC5fYWdlbnROYW1lICsgIi4iICsgZXZlbnROYW1lKTsKLSAgICBJbnNw
ZWN0b3JUZXN0LmFkZE9iamVjdChJbnNwZWN0b3JUZXN0Ll9sYXN0UmVjZWl2ZWRNZXNzYWdlLCBJ
bnNwZWN0b3JUZXN0Ll9jdXN0b21Gb3JtYXR0ZXJzKTsKLSAgICBJbnNwZWN0b3JUZXN0LmFkZFJl
c3VsdCgiIik7Ci0KLSAgICB2YXIgb3JpZ2luYWxFdmVudEhhbmRsZXIgPSBhcmdzLnNoaWZ0KCk7
Ci0gICAgb3JpZ2luYWxFdmVudEhhbmRsZXIuYXBwbHkodGhpcywgYXJncyk7Ci19OwotCi0KLUlu
c3BlY3RvclRlc3QuX2R1bXBDYWxsQXJndW1lbnRzID0gZnVuY3Rpb24oY2FsbEFyZ3VtZW50cykK
LXsKLSAgICB2YXIgY2FsbEFyZ3VtZW50c0NvcHkgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5
KGNhbGxBcmd1bWVudHMpKTsKLSAgICB2YXIgYWdlbnROYW1lID0gY2FsbEFyZ3VtZW50c0NvcHku
c2hpZnQoKTsKLSAgICB2YXIgZnVuY3Rpb25OYW1lID0gY2FsbEFyZ3VtZW50c0NvcHkuc2hpZnQo
KTsKLSAgICB0aGlzLmZpbHRlclByb3BzKGNhbGxBcmd1bWVudHNDb3B5LCB0aGlzLl9jdXN0b21G
b3JtYXR0ZXJzKTsKLSAgICB2YXIgZXhwcmVzc2lvbiA9IEpTT04uc3RyaW5naWZ5KGNhbGxBcmd1
bWVudHNDb3B5KTsKLSAgICBleHByZXNzaW9uID0gZXhwcmVzc2lvbi5zbGljZSgxLCBleHByZXNz
aW9uLmxlbmd0aCAtIDEpLnJlcGxhY2UoL1wiPG51bWJlcj5cIi9nLCAiPG51bWJlcj4iKS5yZXBs
YWNlKC9cIjxzdHJpbmc+XCIvZywgIjxzdHJpbmc+Iik7Ci0KLSAgICBJbnNwZWN0b3JUZXN0LmFk
ZFJlc3VsdCgiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0iKTsKLSAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdChhZ2VudE5hbWUgKyAi
LiIgKyBmdW5jdGlvbk5hbWUgKyAiKCIgKyBleHByZXNzaW9uICsgIikiKTsKLSAgICBJbnNwZWN0
b3JUZXN0LmFkZFJlc3VsdCgiIik7Ci19OwotCi1JbnNwZWN0b3JUZXN0Ll9jYWxsYmFjayA9IGZ1
bmN0aW9uKHJlc3VsdCkKLXsKLSAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgicmVzcG9uc2U6
Iik7Ci0gICAgSW5zcGVjdG9yVGVzdC5hZGRPYmplY3QoSW5zcGVjdG9yVGVzdC5fbGFzdFJlY2Vp
dmVkTWVzc2FnZSwgSW5zcGVjdG9yVGVzdC5fY3VzdG9tRm9ybWF0dGVycyk7Ci0gICAgSW5zcGVj
dG9yVGVzdC5hZGRSZXN1bHQoIiIpOwotICAgIEluc3BlY3RvclRlc3QuX3J1bk5leHRUZXN0KCk7
Ci19OwotCi1JbnNwZWN0b3JUZXN0Ll9ydW5OZXh0VGVzdCA9IGZ1bmN0aW9uKCkKLXsKLSAgICB2
YXIgc3RlcCA9ICsrdGhpcy5fc3RlcDsKLSAgICB2YXIgbmV4dFRlc3QgPSB0aGlzLl90ZXN0U3Vp
dGVbc3RlcF07Ci0gICAgaWYgKG5leHRUZXN0KSB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuX2R1
bXBDYWxsQXJndW1lbnRzKG5leHRUZXN0KTsKLQotICAgICAgICBuZXh0VGVzdC5wdXNoKHRoaXMu
X2NhbGxiYWNrLmJpbmQodGhpcykpOwotCi0gICAgICAgIHZhciBhZ2VudE5hbWUgPSBuZXh0VGVz
dC5zaGlmdCgpOwotICAgICAgICB2YXIgZnVuY3Rpb25OYW1lID0gbmV4dFRlc3Quc2hpZnQoKTsK
LSAgICAgICAgd2luZG93W2FnZW50TmFtZV1bZnVuY3Rpb25OYW1lXS5hcHBseSh3aW5kb3dbYWdl
bnROYW1lXSwgbmV4dFRlc3QpOwotCi0gICAgICAgIHZhciBsYXN0U2VudE1lc3NhZ2UgPSBJbnNw
ZWN0b3JUZXN0Ll9sYXN0U2VudE1lc3NhZ2U7IC8vIFRoaXMgaXMgYmVjYXVzZSB0aGUgbmV4dCBj
YWxsIHdpbGwgb3ZlcnJpZGUgX2xhc3RTZW50TWVzc2FnZS4KLSAgICAgICAgSW5zcGVjdG9yVGVz
dC5hZGRSZXN1bHQoInJlcXVlc3Q6Iik7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkT2JqZWN0
KGxhc3RTZW50TWVzc2FnZSwgSW5zcGVjdG9yVGVzdC5fY3VzdG9tRm9ybWF0dGVycyk7Ci0gICAg
ICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCIiKTsKLQotICAgICAgICBpZiAoYWdlbnROYW1l
ID09PSB0aGlzLl9hZ2VudE5hbWUpCi0gICAgICAgICAgICB0aGlzLl9hZ2VudENvdmVyYWdlW2Z1
bmN0aW9uTmFtZV0gPSAiY2hlY2tlZCI7Ci0gICAgfQotICAgIGVsc2UgewotICAgICAgICBJbnNw
ZWN0b3JUZXN0LmFkZFJlc3VsdCgiPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0iKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1
bHQoIkNvdmVyYWdlIGZvciAiICsgdGhpcy5fYWdlbnROYW1lKTsKLSAgICAgICAgSW5zcGVjdG9y
VGVzdC5hZGRPYmplY3QodGhpcy5fYWdlbnRDb3ZlcmFnZSk7Ci0gICAgICAgIEluc3BlY3RvckJh
Y2tlbmQuZGlzcGF0Y2ggPSB0aGlzLl9vcmlnaW5hbERpc3BhdGNoOwotICAgICAgICBJbnNwZWN0
b3JGcm9udGVuZEhvc3Quc2VuZE1lc3NhZ2VUb0JhY2tlbmQgPSB0aGlzLl9vcmlnaW5hbFNlbmRN
ZXNzYWdlVG9CYWNrZW5kOwotICAgICAgICB0aGlzLmNvbXBsZXRlVGVzdCgpOwotICAgIH0KLX07
Ci0KLUluc3BlY3RvclRlc3QucnVuUHJvdG9jb2xUZXN0U3VpdGUgPSBmdW5jdGlvbihhZ2VudE5h
bWUsIHRlc3RTdWl0ZSwgbm9uZGV0ZXJtaW5pc3RpY1Byb3BzKQotewotICAgIHRoaXMuX2FnZW50
TmFtZSA9IGFnZW50TmFtZTsKLSAgICB0aGlzLl90ZXN0U3VpdGUgPSB0ZXN0U3VpdGU7Ci0gICAg
dGhpcy5fY3VzdG9tRm9ybWF0dGVycyA9IHt9OwotICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbm9u
ZGV0ZXJtaW5pc3RpY1Byb3BzLmxlbmd0aDsgKytpKQotICAgICAgICB0aGlzLl9jdXN0b21Gb3Jt
YXR0ZXJzW25vbmRldGVybWluaXN0aWNQcm9wc1tpXV0gPSAiZm9ybWF0QXNUeXBlTmFtZSI7Ci0g
ICAgdmFyIGFnZW50ID0gd2luZG93W2FnZW50TmFtZV07Ci0KLSAgICB0aGlzLl9hZ2VudENvdmVy
YWdlID0ge307Ci0gICAgZm9yICh2YXIga2V5IGluIGFnZW50KQotICAgICAgICB0aGlzLl9hZ2Vu
dENvdmVyYWdlW2tleV0gPSAibm90IGNoZWNrZWQiOwotCi0gICAgdmFyIGRvbWFpbiA9IGFnZW50
TmFtZS5yZXBsYWNlKC9BZ2VudCQvLCIiKTsKLSAgICB2YXIgZG9tYWluTWVzc2FnZXNIYW5kbGVy
ID0gSW5zcGVjdG9yQmFja2VuZC5fZG9tYWluRGlzcGF0Y2hlcnNbZG9tYWluXTsKLSAgICBmb3Ig
KHZhciBldmVudE5hbWUgaW4gZG9tYWluTWVzc2FnZXNIYW5kbGVyKSB7Ci0gICAgICAgIGlmICh0
eXBlb2YgZG9tYWluTWVzc2FnZXNIYW5kbGVyW2V2ZW50TmFtZV0gIT09ICJmdW5jdGlvbiIpCi0g
ICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgdGhpcy5fYWdlbnRDb3ZlcmFnZVtldmVudE5h
bWVdID0gIm5vdCBjaGVja2VkIjsKLSAgICAgICAgZG9tYWluTWVzc2FnZXNIYW5kbGVyW2V2ZW50
TmFtZV0gPSBJbnNwZWN0b3JUZXN0Ll9kdW1wRXZlbnQuYmluZChkb21haW5NZXNzYWdlc0hhbmRs
ZXIsIGV2ZW50TmFtZSwgZG9tYWluTWVzc2FnZXNIYW5kbGVyW2V2ZW50TmFtZV0pOwotICAgIH0K
LQotICAgIHRoaXMuX29yaWdpbmFsRGlzcGF0Y2ggPSBJbnNwZWN0b3JCYWNrZW5kLmRpc3BhdGNo
OwotICAgIEluc3BlY3RvckJhY2tlbmQuZGlzcGF0Y2ggPSBmdW5jdGlvbihtZXNzYWdlKQotICAg
IHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5fbGFzdFJlY2VpdmVkTWVzc2FnZSA9ICh0eXBlb2Yg
bWVzc2FnZSA9PT0gInN0cmluZyIpID8gSlNPTi5wYXJzZShtZXNzYWdlKSA6IG1lc3NhZ2U7Ci0g
ICAgICAgIEluc3BlY3RvclRlc3QuX29yaWdpbmFsRGlzcGF0Y2guYXBwbHkoSW5zcGVjdG9yQmFj
a2VuZCwgW21lc3NhZ2VdKTsKLSAgICB9Ci0KLSAgICB0aGlzLl9vcmlnaW5hbFNlbmRNZXNzYWdl
VG9CYWNrZW5kID0gSW5zcGVjdG9yRnJvbnRlbmRIb3N0LnNlbmRNZXNzYWdlVG9CYWNrZW5kOwot
ICAgIEluc3BlY3RvckZyb250ZW5kSG9zdC5zZW5kTWVzc2FnZVRvQmFja2VuZCA9IGZ1bmN0aW9u
KG1lc3NhZ2UpCi0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0Ll9sYXN0U2VudE1lc3NhZ2Ug
PSBKU09OLnBhcnNlKG1lc3NhZ2UpOwotICAgICAgICBJbnNwZWN0b3JUZXN0Ll9vcmlnaW5hbFNl
bmRNZXNzYWdlVG9CYWNrZW5kLmFwcGx5KEluc3BlY3RvckZyb250ZW5kSG9zdCwgW21lc3NhZ2Vd
KTsKLSAgICB9Ci0KLSAgICB0aGlzLl9zdGVwID0gLTE7Ci0KLSAgICB0aGlzLl9ydW5OZXh0VGVz
dCgpOwotfTsKLQotfTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVj
dG9yL3Jlc291cmNlLWhhci1jb252ZXJzaW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlLWhhci1jb252ZXJzaW9uLWV4cGVjdGVkLnR4dApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTYzYzIxYmI0MzY2ZDE2ZGY2ZjJhYjc1Yjg2
ZGYzNjQyOWM5OTg4Ny4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZS1oYXItY29udmVy
c2lvbi1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwyMjYgKzAsMCBAQAotVGVzdHMg
Y29udmVyc2lvbiBvZiBJbnNwZWN0b3IncyByZXNvdXJjZSByZXByZXNlbnRhdGlvbiBpbnRvIEhB
UiBmb3JtYXQuCi0KLVBhZ2UgcmVsb2FkZWQuCi17Ci0gICAgdmVyc2lvbiA6IDxzdHJpbmc+Ci0g
ICAgY3JlYXRvciA6IHsKLSAgICAgICAgbmFtZSA6ICJXZWJJbnNwZWN0b3IiCi0gICAgICAgIHZl
cnNpb24gOiA8c3RyaW5nPgotICAgIH0KLSAgICBwYWdlcyA6IFsKLSAgICAgICAgewotICAgICAg
ICAgICAgc3RhcnRlZERhdGVUaW1lIDogPG9iamVjdD4KLSAgICAgICAgICAgIGlkIDogPHN0cmlu
Zz4KLSAgICAgICAgICAgIHRpdGxlIDogImh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3Iv
cmVzb3VyY2UtaGFyLWNvbnZlcnNpb24uaHRtbCIKLSAgICAgICAgICAgIHBhZ2VUaW1pbmdzIDog
ewotICAgICAgICAgICAgICAgIG9uQ29udGVudExvYWQgOiA8bnVtYmVyPgotICAgICAgICAgICAg
ICAgIG9uTG9hZCA6IDxudW1iZXI+Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICBdCi0g
ICAgZW50cmllcyA6IFsKLSAgICAgICAgewotICAgICAgICAgICAgcGFnZXJlZiA6ICJwYWdlXzEi
Ci0gICAgICAgICAgICBzdGFydGVkRGF0ZVRpbWUgOiA8b2JqZWN0PgotICAgICAgICAgICAgdGlt
ZSA6IDxudW1iZXI+Ci0gICAgICAgICAgICByZXF1ZXN0IDogewotICAgICAgICAgICAgICAgIG1l
dGhvZCA6ICJHRVQiCi0gICAgICAgICAgICAgICAgdXJsIDogImh0dHA6Ly8xMjcuMC4wLjE6ODAw
MC9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiCi0gICAgICAgICAgICAgICAgaHR0cFZlcnNp
b24gOiAiSFRUUC8xLjEiCi0gICAgICAgICAgICAgICAgaGVhZGVycyA6IDxvYmplY3Q+Ci0gICAg
ICAgICAgICAgICAgcXVlcnlTdHJpbmcgOiBbCi0gICAgICAgICAgICAgICAgXQotICAgICAgICAg
ICAgICAgIGNvb2tpZXMgOiBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAg
ICAgICAgICAgIG5hbWUgOiAiYSIKLSAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIDogImIi
Ci0gICAgICAgICAgICAgICAgICAgICAgICBwYXRoIDogIi9wYXRoIgotICAgICAgICAgICAgICAg
ICAgICAgICAgZG9tYWluIDogImV4YW1wbGUuY29tIgotICAgICAgICAgICAgICAgICAgICAgICAg
ZXhwaXJlcyA6IG51bGwKLSAgICAgICAgICAgICAgICAgICAgICAgIGh0dHBPbmx5IDogZmFsc2UK
LSAgICAgICAgICAgICAgICAgICAgICAgIHNlY3VyZSA6IGZhbHNlCi0gICAgICAgICAgICAgICAg
ICAgIH0KLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgbmFt
ZSA6ICJhMSIKLSAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIDogImIxIgotICAgICAgICAg
ICAgICAgICAgICAgICAgcGF0aCA6IHVuZGVmaW5lZAotICAgICAgICAgICAgICAgICAgICAgICAg
ZG9tYWluIDogdW5kZWZpbmVkCi0gICAgICAgICAgICAgICAgICAgICAgICBleHBpcmVzIDogbnVs
bAotICAgICAgICAgICAgICAgICAgICAgICAgaHR0cE9ubHkgOiBmYWxzZQotICAgICAgICAgICAg
ICAgICAgICAgICAgc2VjdXJlIDogZmFsc2UKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAg
ICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBuYW1lIDogImMxIgotICAg
ICAgICAgICAgICAgICAgICAgICAgdmFsdWUgOiAiZDEiCi0gICAgICAgICAgICAgICAgICAgICAg
ICBwYXRoIDogdW5kZWZpbmVkCi0gICAgICAgICAgICAgICAgICAgICAgICBkb21haW4gOiB1bmRl
ZmluZWQKLSAgICAgICAgICAgICAgICAgICAgICAgIGV4cGlyZXMgOiBudWxsCi0gICAgICAgICAg
ICAgICAgICAgICAgICBodHRwT25seSA6IGZhbHNlCi0gICAgICAgICAgICAgICAgICAgICAgICBz
ZWN1cmUgOiBmYWxzZQotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXQot
ICAgICAgICAgICAgICAgIGhlYWRlcnNTaXplIDogPG51bWJlcj4KLSAgICAgICAgICAgICAgICBi
b2R5U2l6ZSA6IDxudW1iZXI+Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICByZXNwb25zZSA6
IHsKLSAgICAgICAgICAgICAgICBzdGF0dXMgOiAzMDQKLSAgICAgICAgICAgICAgICBzdGF0dXNU
ZXh0IDogIk5vdCBNb2RpZmllZCIKLSAgICAgICAgICAgICAgICBodHRwVmVyc2lvbiA6ICJIVFRQ
LzEuMSIKLSAgICAgICAgICAgICAgICBoZWFkZXJzIDogPG9iamVjdD4KLSAgICAgICAgICAgICAg
ICBjb29raWVzIDogWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICBuYW1lIDogIngiCi0gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSA6ICJ5IgotICAg
ICAgICAgICAgICAgICAgICAgICAgcGF0aCA6ICIvcGF0aCIKLSAgICAgICAgICAgICAgICAgICAg
ICAgIGRvbWFpbiA6ICJleGFtcGxlLmNvbSIKLSAgICAgICAgICAgICAgICAgICAgICAgIGV4cGly
ZXMgOiBudWxsCi0gICAgICAgICAgICAgICAgICAgICAgICBodHRwT25seSA6IHRydWUKLSAgICAg
ICAgICAgICAgICAgICAgICAgIHNlY3VyZSA6IHRydWUKLSAgICAgICAgICAgICAgICAgICAgfQot
ICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBuYW1lIDogIngx
IgotICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgOiAieTEiCi0gICAgICAgICAgICAgICAg
ICAgICAgICBwYXRoIDogdW5kZWZpbmVkCi0gICAgICAgICAgICAgICAgICAgICAgICBkb21haW4g
OiB1bmRlZmluZWQKLSAgICAgICAgICAgICAgICAgICAgICAgIGV4cGlyZXMgOiBudWxsCi0gICAg
ICAgICAgICAgICAgICAgICAgICBodHRwT25seSA6IGZhbHNlCi0gICAgICAgICAgICAgICAgICAg
ICAgICBzZWN1cmUgOiBmYWxzZQotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAg
ICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIG5hbWUgOiAiejIiCi0gICAgICAgICAg
ICAgICAgICAgICAgICB2YWx1ZSA6ICJ5MiIKLSAgICAgICAgICAgICAgICAgICAgICAgIHBhdGgg
OiB1bmRlZmluZWQKLSAgICAgICAgICAgICAgICAgICAgICAgIGRvbWFpbiA6IHVuZGVmaW5lZAot
ICAgICAgICAgICAgICAgICAgICAgICAgZXhwaXJlcyA6IG51bGwKLSAgICAgICAgICAgICAgICAg
ICAgICAgIGh0dHBPbmx5IDogZmFsc2UKLSAgICAgICAgICAgICAgICAgICAgICAgIHNlY3VyZSA6
IGZhbHNlCi0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdCi0gICAgICAg
ICAgICAgICAgY29udGVudCA6IHsKLSAgICAgICAgICAgICAgICAgICAgc2l6ZSA6IDxudW1iZXI+
Ci0gICAgICAgICAgICAgICAgICAgIGNvbXByZXNzaW9uIDogPG51bWJlcj4KLSAgICAgICAgICAg
ICAgICAgICAgbWltZVR5cGUgOiAidGV4dC9wbGFpbiIKLSAgICAgICAgICAgICAgICB9Ci0gICAg
ICAgICAgICAgICAgcmVkaXJlY3RVUkwgOiAiIgotICAgICAgICAgICAgICAgIGhlYWRlcnNTaXpl
IDogPG51bWJlcj4KLSAgICAgICAgICAgICAgICBib2R5U2l6ZSA6IDxudW1iZXI+Ci0gICAgICAg
ICAgICB9Ci0gICAgICAgICAgICBjYWNoZSA6IHsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAg
IHRpbWluZ3MgOiA8b2JqZWN0PgotICAgICAgICB9Ci0gICAgICAgIHsKLSAgICAgICAgICAgIHBh
Z2VyZWYgOiAicGFnZV8xIgotICAgICAgICAgICAgc3RhcnRlZERhdGVUaW1lIDogPG9iamVjdD4K
LSAgICAgICAgICAgIHRpbWUgOiA8bnVtYmVyPgotICAgICAgICAgICAgcmVxdWVzdCA6IHsKLSAg
ICAgICAgICAgICAgICBtZXRob2QgOiAiR0VUIgotICAgICAgICAgICAgICAgIHVybCA6ICJodHRw
Oi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlLWhhci1jb252ZXJzaW9uLmh0bWwi
Ci0gICAgICAgICAgICAgICAgaHR0cFZlcnNpb24gOiAiSFRUUC8xLjEiCi0gICAgICAgICAgICAg
ICAgaGVhZGVycyA6IDxvYmplY3Q+Ci0gICAgICAgICAgICAgICAgcXVlcnlTdHJpbmcgOiBbCi0g
ICAgICAgICAgICAgICAgXQotICAgICAgICAgICAgICAgIGNvb2tpZXMgOiBbCi0gICAgICAgICAg
ICAgICAgXQotICAgICAgICAgICAgICAgIGhlYWRlcnNTaXplIDogPG51bWJlcj4KLSAgICAgICAg
ICAgICAgICBib2R5U2l6ZSA6IDxudW1iZXI+Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBy
ZXNwb25zZSA6IHsKLSAgICAgICAgICAgICAgICBzdGF0dXMgOiAyMDAKLSAgICAgICAgICAgICAg
ICBzdGF0dXNUZXh0IDogIk9LIgotICAgICAgICAgICAgICAgIGh0dHBWZXJzaW9uIDogIkhUVFAv
MS4xIgotICAgICAgICAgICAgICAgIGhlYWRlcnMgOiA8b2JqZWN0PgotICAgICAgICAgICAgICAg
IGNvb2tpZXMgOiBbCi0gICAgICAgICAgICAgICAgXQotICAgICAgICAgICAgICAgIGNvbnRlbnQg
OiB7Ci0gICAgICAgICAgICAgICAgICAgIHNpemUgOiA8bnVtYmVyPgotICAgICAgICAgICAgICAg
ICAgICBjb21wcmVzc2lvbiA6IDxudW1iZXI+Ci0gICAgICAgICAgICAgICAgICAgIG1pbWVUeXBl
IDogInRleHQvaHRtbCIKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgcmVkaXJl
Y3RVUkwgOiAiIgotICAgICAgICAgICAgICAgIGhlYWRlcnNTaXplIDogPG51bWJlcj4KLSAgICAg
ICAgICAgICAgICBib2R5U2l6ZSA6IDxudW1iZXI+Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAg
ICBjYWNoZSA6IHsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIHRpbWluZ3MgOiA8b2JqZWN0
PgotICAgICAgICB9Ci0gICAgICAgIHsKLSAgICAgICAgICAgIHBhZ2VyZWYgOiAicGFnZV8xIgot
ICAgICAgICAgICAgc3RhcnRlZERhdGVUaW1lIDogPG9iamVjdD4KLSAgICAgICAgICAgIHRpbWUg
OiA8bnVtYmVyPgotICAgICAgICAgICAgcmVxdWVzdCA6IHsKLSAgICAgICAgICAgICAgICBtZXRo
b2QgOiAiR0VUIgotICAgICAgICAgICAgICAgIHVybCA6ICJodHRwOi8vMTI3LjAuMC4xOjgwMDAv
aW5zcGVjdG9yL3Jlc291cmNlcy10ZXN0LmpzIgotICAgICAgICAgICAgICAgIGh0dHBWZXJzaW9u
IDogIkhUVFAvMS4xIgotICAgICAgICAgICAgICAgIGhlYWRlcnMgOiA8b2JqZWN0PgotICAgICAg
ICAgICAgICAgIHF1ZXJ5U3RyaW5nIDogWwotICAgICAgICAgICAgICAgIF0KLSAgICAgICAgICAg
ICAgICBjb29raWVzIDogWwotICAgICAgICAgICAgICAgIF0KLSAgICAgICAgICAgICAgICBoZWFk
ZXJzU2l6ZSA6IDxudW1iZXI+Ci0gICAgICAgICAgICAgICAgYm9keVNpemUgOiA8bnVtYmVyPgot
ICAgICAgICAgICAgfQotICAgICAgICAgICAgcmVzcG9uc2UgOiB7Ci0gICAgICAgICAgICAgICAg
c3RhdHVzIDogMzA0Ci0gICAgICAgICAgICAgICAgc3RhdHVzVGV4dCA6ICJOb3QgTW9kaWZpZWQi
Ci0gICAgICAgICAgICAgICAgaHR0cFZlcnNpb24gOiAiSFRUUC8xLjEiCi0gICAgICAgICAgICAg
ICAgaGVhZGVycyA6IDxvYmplY3Q+Ci0gICAgICAgICAgICAgICAgY29va2llcyA6IFsKLSAgICAg
ICAgICAgICAgICBdCi0gICAgICAgICAgICAgICAgY29udGVudCA6IHsKLSAgICAgICAgICAgICAg
ICAgICAgc2l6ZSA6IDxudW1iZXI+Ci0gICAgICAgICAgICAgICAgICAgIGNvbXByZXNzaW9uIDog
PG51bWJlcj4KLSAgICAgICAgICAgICAgICAgICAgbWltZVR5cGUgOiAidGV4dC9wbGFpbiIKLSAg
ICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgcmVkaXJlY3RVUkwgOiAiIgotICAgICAg
ICAgICAgICAgIGhlYWRlcnNTaXplIDogPG51bWJlcj4KLSAgICAgICAgICAgICAgICBib2R5U2l6
ZSA6IDxudW1iZXI+Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBjYWNoZSA6IHsKLSAgICAg
ICAgICAgIH0KLSAgICAgICAgICAgIHRpbWluZ3MgOiA8b2JqZWN0PgotICAgICAgICB9Ci0gICAg
ICAgIHsKLSAgICAgICAgICAgIHBhZ2VyZWYgOiAicGFnZV8xIgotICAgICAgICAgICAgc3RhcnRl
ZERhdGVUaW1lIDogPG9iamVjdD4KLSAgICAgICAgICAgIHRpbWUgOiA8bnVtYmVyPgotICAgICAg
ICAgICAgcmVxdWVzdCA6IHsKLSAgICAgICAgICAgICAgICBtZXRob2QgOiAiUE9TVCIKLSAgICAg
ICAgICAgICAgICB1cmwgOiAiaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJj
ZXMvcG9zdC10YXJnZXQuY2dpIgotICAgICAgICAgICAgICAgIGh0dHBWZXJzaW9uIDogIkhUVFAv
MS4xIgotICAgICAgICAgICAgICAgIGhlYWRlcnMgOiA8b2JqZWN0PgotICAgICAgICAgICAgICAg
IHF1ZXJ5U3RyaW5nIDogWwotICAgICAgICAgICAgICAgIF0KLSAgICAgICAgICAgICAgICBjb29r
aWVzIDogWwotICAgICAgICAgICAgICAgIF0KLSAgICAgICAgICAgICAgICBoZWFkZXJzU2l6ZSA6
IDxudW1iZXI+Ci0gICAgICAgICAgICAgICAgYm9keVNpemUgOiA8bnVtYmVyPgotICAgICAgICAg
ICAgICAgIHBvc3REYXRhIDogewotICAgICAgICAgICAgICAgICAgICBtaW1lVHlwZSA6ICJ0ZXh0
L3htbCIKLSAgICAgICAgICAgICAgICAgICAgdGV4dCA6ICI8eG1sPjwveG1sPiIKLSAgICAgICAg
ICAgICAgICB9Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICByZXNwb25zZSA6IHsKLSAgICAg
ICAgICAgICAgICBzdGF0dXMgOiAyMDAKLSAgICAgICAgICAgICAgICBzdGF0dXNUZXh0IDogIk9L
IgotICAgICAgICAgICAgICAgIGh0dHBWZXJzaW9uIDogIkhUVFAvMS4xIgotICAgICAgICAgICAg
ICAgIGhlYWRlcnMgOiA8b2JqZWN0PgotICAgICAgICAgICAgICAgIGNvb2tpZXMgOiBbCi0gICAg
ICAgICAgICAgICAgXQotICAgICAgICAgICAgICAgIGNvbnRlbnQgOiB7Ci0gICAgICAgICAgICAg
ICAgICAgIHNpemUgOiA8bnVtYmVyPgotICAgICAgICAgICAgICAgICAgICBjb21wcmVzc2lvbiA6
IDxudW1iZXI+Ci0gICAgICAgICAgICAgICAgICAgIG1pbWVUeXBlIDogImFwcGxpY2F0aW9uL3ht
bCIKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgcmVkaXJlY3RVUkwgOiAiIgot
ICAgICAgICAgICAgICAgIGhlYWRlcnNTaXplIDogPG51bWJlcj4KLSAgICAgICAgICAgICAgICBi
b2R5U2l6ZSA6IDxudW1iZXI+Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBjYWNoZSA6IHsK
LSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIHRpbWluZ3MgOiA8b2JqZWN0PgotICAgICAgICB9
Ci0gICAgXQotfQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rv
ci9yZXNvdXJjZS1oYXItY29udmVyc2lvbi5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9p
bnNwZWN0b3IvcmVzb3VyY2UtaGFyLWNvbnZlcnNpb24uaHRtbApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggZTI3ZjdlODAxMjYwNDhiMzkwMjFlZTk3ODk1YjViN2JjNDM2NjE1MS4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZS1oYXItY29udmVyc2lvbi5odG1sCisrKyAvZGV2
L251bGwKQEAgLTEsNzIgKzAsMCBAQAotPCFkb2N0eXBlIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgot
PHNjcmlwdCBzcmM9Imluc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJy
ZXNvdXJjZXMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci0KLTxzY3JpcHQ+Ci0KLWZ1bmN0aW9uIGRvWEhS
KCkKLXsKLSAgICB2YXIgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7Ci0gICAgeGhyLm9wZW4o
IlBPU1QiLCAicmVzb3VyY2VzL3Bvc3QtdGFyZ2V0LmNnaSIsIGZhbHNlKTsKLSAgICB4aHIuc2V0
UmVxdWVzdEhlYWRlcigiQ29udGVudC1UeXBlIiwgInRleHQveG1sIik7Ci0gICAgeGhyLnNlbmQo
Ijx4bWw+PC94bWw+Iik7Ci19Ci0KLXZhciB0ZXN0ID0gZnVuY3Rpb24oKQotewotICAgIEluc3Bl
Y3RvclRlc3QucmVsb2FkUGFnZShzdGVwMSk7Ci0KLSAgICBmdW5jdGlvbiBzdGVwMSgpCi0gICAg
ewotICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJkb1hIUigpIiwgc3RlcDIp
OwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0ZXAyKCkKLSAgICB7Ci0gICAgICAgIGZ1bmN0aW9u
IGZpbmRSZXF1ZXN0QnlVUkwodXJsKQotICAgICAgICB7Ci0gICAgICAgICAgICB2YXIgcmVxdWVz
dHMgPSBXZWJJbnNwZWN0b3IubmV0d29ya0xvZy5yZXF1ZXN0czsKLSAgICAgICAgICAgIGZvciAo
dmFyIGkgPSAwOyBpIDwgcmVxdWVzdHMubGVuZ3RoOyArK2kpIHsKLSAgICAgICAgICAgICAgICBp
ZiAodXJsLnRlc3QocmVxdWVzdHNbaV0udXJsKSkKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJu
IHJlcXVlc3RzW2ldOwotICAgICAgICAgICAgfQotICAgICAgICB9Ci0KLSAgICAgICAgZnVuY3Rp
b24gYWRkQ29va2llSGVhZGVyc1RvUmVxdWVzdChyZXF1ZXN0KQotICAgICAgICB7Ci0gICAgICAg
ICAgICByZXF1ZXN0LnJlcXVlc3RIZWFkZXJzID0gWwotICAgICAgICAgICAgICAgIHsgbmFtZTog
IkNvb2tpZSIsIHZhbHVlOiAiYT1iOyAkUGF0aD0vcGF0aDsgJERvbWFpbj1leGFtcGxlLmNvbTsg
YTE9YjFcbmMxPWQxIiB9Ci0gICAgICAgICAgICBdOwotCi0gICAgICAgICAgICByZXF1ZXN0LnJl
c3BvbnNlSGVhZGVycyA9IFsKLSAgICAgICAgICAgICAgICB7IG5hbWU6ICJTZXQtQ29va2llIiwg
dmFsdWU6ICJ4PXk7IFBhdGg9L3BhdGg7IERvbWFpbj1leGFtcGxlLmNvbTsgRGlzY2FyZDsgaHR0
cE9ubHk7IFNlY3VyZTsgVmVyc2lvbj0xXG54MT15MVxuejI9eTIiIH0KLSAgICAgICAgICAgIF07
Ci0gICAgICAgIH0KLQotICAgICAgICBhZGRDb29raWVIZWFkZXJzVG9SZXF1ZXN0KGZpbmRSZXF1
ZXN0QnlVUkwoL2luc3BlY3Rvci10ZXN0XC5qcyQvKSk7Ci0gICAgICAgIHZhciBsb2cgPSAobmV3
IFdlYkluc3BlY3Rvci5IQVJMb2coV2ViSW5zcGVjdG9yLm5ldHdvcmtMb2cucmVxdWVzdHMpKS5i
dWlsZCgpOwotICAgICAgICAvLyBGaWx0ZXIgb3V0IGZhdmljb24uaWNvIHJlcXVlc3RzIHRoYXQg
b25seSBhcHBlYXIgb24gY2VydGFpbiBwbGF0Zm9ybXMuCi0gICAgICAgIGxvZy5lbnRyaWVzID0g
bG9nLmVudHJpZXMuZmlsdGVyKGZ1bmN0aW9uKGVudHJ5KSB7Ci0gICAgICAgICAgICByZXR1cm4g
IS9mYXZpY29uXC5pY28kLy50ZXN0KGVudHJ5LnJlcXVlc3QudXJsKTsKLSAgICAgICAgfSk7Ci0g
ICAgICAgIGxvZy5lbnRyaWVzLnNvcnQoSW5zcGVjdG9yVGVzdC5yZXF1ZXN0VVJMQ29tcGFyZXIp
OwotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZE9iamVjdChsb2csIEluc3BlY3RvclRlc3QuSEFS
UHJvcGVydHlGb3JtYXR0ZXJzV2l0aFNpemUpOwotICAgICAgICB2YXIgcGFnZVRpbWluZ3MgPSBs
b2cucGFnZXNbMF0ucGFnZVRpbWluZ3M7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVU
ZXN0KCk7Ci0gICAgfQotfQotCi08L3NjcmlwdD4KLQotCi08L2hlYWQ+Ci0KLTxib2R5IG9ubG9h
ZD0icnVuVGVzdCgpIj4KLTxwPgotVGVzdHMgY29udmVyc2lvbiBvZiBJbnNwZWN0b3IncyByZXNv
dXJjZSByZXByZXNlbnRhdGlvbiBpbnRvIEhBUiBmb3JtYXQuCi08L3A+Ci0KLTwvYm9keT4KLTwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291
cmNlLWhhci1oZWFkZXJzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5z
cGVjdG9yL3Jlc291cmNlLWhhci1oZWFkZXJzLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggYTg2NjU0ODBmMjI0MjllNDNjNTFlOTA4OGUyNTNhMmJjMDcyNmE0Yi4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZS1oYXItaGVhZGVycy1leHBlY3RlZC50eHQK
KysrIC9kZXYvbnVsbApAQCAtMSw3MiArMCwwIEBACi1UZXN0cyB0aGUgbm9uZGV0ZXJtaW5pc3Rp
YyBiaXRzIG9mIEhBUiBjb252ZXJzaW9uIHZpYSB0aGUgbWFnaWMgb2YgaGFyZC1jb2RlZCB2YWx1
ZXMuCi0KLVJlc291cmNlOnsKLSAgICByZXF1ZXN0IDogewotICAgICAgICBoZWFkZXJzIDogWwot
ICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIG5hbWUgOiAiUmVxdWVzdCIKLSAgICAgICAg
ICAgICAgICB2YWx1ZSA6ICJyZXF1ZXN0LXZhbHVlIgotICAgICAgICAgICAgfQotICAgICAgICBd
Ci0gICAgICAgIGhlYWRlcnNTaXplIDogNzIKLSAgICAgICAgaGVhZGVyc1RleHQgOiAiR0VUIGh0
dHA6Ly9leGFtcGxlLmNvbS9pbnNwZWN0b3ItdGVzdC5qcyBIVFRQLzEuMVxyXG5SZXF1ZXN0OiBo
ZWFkZXJzLXRleHQiCi0gICAgfQotICAgIHJlc3BvbnNlIDogewotICAgICAgICBoZWFkZXJzIDog
WwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIG5hbWUgOiAiUmVzcG9uc2UiCi0gICAg
ICAgICAgICAgICAgdmFsdWUgOiAicmVzcG9uc2UtdmFsdWUiCi0gICAgICAgICAgICB9Ci0gICAg
ICAgIF0KLSAgICAgICAgaGVhZGVyc1NpemUgOiAzOQotICAgICAgICBoZWFkZXJzVGV4dCA6ICJI
VFRQLzEuMSAyMDAgT0tcclxuUmVzcG9uc2U6IGhlYWRlcnMtdGV4dCIKLSAgICAgICAgcmVzb3Vy
Y2VTaXplIDogMTAwMAotICAgICAgICB0cmFuc2ZlclNpemUgOiA1MzkKLSAgICB9Ci19Ci1IQVI6
ewotICAgIGNhY2hlIDogewotICAgIH0KLSAgICByZXF1ZXN0IDogewotICAgICAgICBib2R5U2l6
ZSA6IDAKLSAgICAgICAgY29va2llcyA6IFsKLSAgICAgICAgXQotICAgICAgICBoZWFkZXJzIDog
WwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIG5hbWUgOiAiUmVxdWVzdCIKLSAgICAg
ICAgICAgICAgICB2YWx1ZSA6ICJyZXF1ZXN0LXZhbHVlIgotICAgICAgICAgICAgfQotICAgICAg
ICBdCi0gICAgICAgIGhlYWRlcnNTaXplIDogNzIKLSAgICAgICAgaHR0cFZlcnNpb24gOiAiSFRU
UC8xLjEiCi0gICAgICAgIG1ldGhvZCA6ICJHRVQiCi0gICAgICAgIHF1ZXJ5U3RyaW5nIDogWwot
ICAgICAgICBdCi0gICAgICAgIHVybCA6ICJodHRwOi8vZXhhbXBsZS5jb20vaW5zcGVjdG9yLXRl
c3QuanMiCi0gICAgfQotICAgIHJlc3BvbnNlIDogewotICAgICAgICBib2R5U2l6ZSA6IDUwMAot
ICAgICAgICBjb250ZW50IDogewotICAgICAgICAgICAgY29tcHJlc3Npb24gOiA1MDAKLSAgICAg
ICAgICAgIG1pbWVUeXBlIDogInRleHQvaHRtbCIKLSAgICAgICAgICAgIHNpemUgOiAxMDAwCi0g
ICAgICAgIH0KLSAgICAgICAgY29va2llcyA6IFsKLSAgICAgICAgXQotICAgICAgICBoZWFkZXJz
IDogWwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIG5hbWUgOiAiUmVzcG9uc2UiCi0g
ICAgICAgICAgICAgICAgdmFsdWUgOiAicmVzcG9uc2UtdmFsdWUiCi0gICAgICAgICAgICB9Ci0g
ICAgICAgIF0KLSAgICAgICAgaGVhZGVyc1NpemUgOiAzOQotICAgICAgICBodHRwVmVyc2lvbiA6
ICJIVFRQLzEuMSIKLSAgICAgICAgcmVkaXJlY3RVUkwgOiAiIgotICAgICAgICBzdGF0dXMgOiAy
MDAKLSAgICAgICAgc3RhdHVzVGV4dCA6ICJPSyIKLSAgICB9Ci0gICAgc3RhcnRlZERhdGVUaW1l
IDogPG9iamVjdD4KLSAgICB0aW1lIDogPG51bWJlcj4KLSAgICB0aW1pbmdzIDogPG9iamVjdD4K
LX0KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3Vy
Y2UtaGFyLWhlYWRlcnMuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jl
c291cmNlLWhhci1oZWFkZXJzLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDU0
OWRiNjk0ZjQ1ZGYzMzk0YjQ3ZDNhNmFmNWIxYTUxNWYyZTQxYzQuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNw
ZWN0b3IvcmVzb3VyY2UtaGFyLWhlYWRlcnMuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDczICsw
LDAgQEAKLTwhZG9jdHlwZSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSJpbnNw
ZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0icmVzb3VyY2VzLXRlc3QuanMi
Pjwvc2NyaXB0PgotCi08c2NyaXB0PgotdmFyIHRlc3QgPSBmdW5jdGlvbigpCi17Ci0gICAgZnVu
Y3Rpb24gdmlzaWJsZU5ld2xpbmVzKHMpCi0gICAgewotICAgICAgICByZXR1cm4gcy5yZXBsYWNl
KC9cci8sICJcXHIiKS5yZXBsYWNlKC9cbi8sICJcXG4iKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlv
biBzZXRSZXF1ZXN0VmFsdWVzKHJlcXVlc3QpCi0gICAgewotICAgICAgICByZXF1ZXN0LnJlcXVl
c3RIZWFkZXJzID0gWwotICAgICAgICAgICAgeyBuYW1lOiAiUmVxdWVzdCIsIHZhbHVlOiAicmVx
dWVzdC12YWx1ZSIgfQotICAgICAgICBdOwotICAgICAgICByZXF1ZXN0LnJlcXVlc3RIZWFkZXJz
VGV4dCA9ICJHRVQgaHR0cDovL2V4YW1wbGUuY29tL2luc3BlY3Rvci10ZXN0LmpzIEhUVFAvMS4x
XHJcblJlcXVlc3Q6IGhlYWRlcnMtdGV4dCI7Ci0KLSAgICAgICAgcmVxdWVzdC5yZXNwb25zZUhl
YWRlcnMgPSBbCi0gICAgICAgICAgICB7IG5hbWU6ICJSZXNwb25zZSIsIHZhbHVlOiAicmVzcG9u
c2UtdmFsdWUiIH0KLSAgICAgICAgXTsKLSAgICAgICAgcmVxdWVzdC5yZXNwb25zZUhlYWRlcnNU
ZXh0ID0gIkhUVFAvMS4xIDIwMCBPS1xyXG5SZXNwb25zZTogaGVhZGVycy10ZXh0IjsKLQotICAg
ICAgICByZXF1ZXN0LmRvY3VtZW50VVJMID0gImh0dHA6Ly9leGFtcGxlLmNvbS9pbnNwZWN0b3It
dGVzdC5qcyI7Ci0gICAgICAgIHJlcXVlc3QucmVxdWVzdE1ldGhvZCA9ICJHRVQiOwotICAgICAg
ICByZXF1ZXN0Lm1pbWVUeXBlID0gInRleHQvaHRtbCI7Ci0gICAgICAgIHJlcXVlc3Quc3RhdHVz
Q29kZSA9IDIwMDsKLSAgICAgICAgcmVxdWVzdC5zdGF0dXNUZXh0ID0gIk9LIjsKLSAgICAgICAg
cmVxdWVzdC5yZXNvdXJjZVNpemUgPSAxMDAwOwotICAgICAgICByZXF1ZXN0Ll90cmFuc2ZlclNp
emUgPSA1Mzk7IC8vIDM5ID0gaGVhZGVyIHNpemUgYXQgdGhlIGVuZCBvZiB0aGUgZGF5Ci0gICAg
fQotCi0gICAgdmFyIHRlc3RSZXF1ZXN0ID0gbmV3IFdlYkluc3BlY3Rvci5OZXR3b3JrUmVxdWVz
dCgidGVzdFJlcXVlc3QiLCAiaHR0cDovL2V4YW1wbGUuY29tL2luc3BlY3Rvci10ZXN0LmpzIiwg
MSk7IAotICAgIHNldFJlcXVlc3RWYWx1ZXModGVzdFJlcXVlc3QpOwotICAgIHZhciByZXF1ZXN0
UmVzdWx0cyA9IHsKLSAgICAgICAgInJlcXVlc3QiOiB7Ci0gICAgICAgICAgICAiaGVhZGVycyI6
IHRlc3RSZXF1ZXN0LnJlcXVlc3RIZWFkZXJzLAotICAgICAgICAgICAgImhlYWRlcnNUZXh0Ijog
dmlzaWJsZU5ld2xpbmVzKHRlc3RSZXF1ZXN0LnJlcXVlc3RIZWFkZXJzVGV4dCksCi0gICAgICAg
ICAgICAiaGVhZGVyc1NpemUiOiB0ZXN0UmVxdWVzdC5yZXF1ZXN0SGVhZGVyc1NpemUsCi0gICAg
ICAgIH0sCi0gICAgICAgICJyZXNwb25zZSI6IHsKLSAgICAgICAgICAgICJoZWFkZXJzIjogdGVz
dFJlcXVlc3QucmVzcG9uc2VIZWFkZXJzLAotICAgICAgICAgICAgImhlYWRlcnNUZXh0Ijogdmlz
aWJsZU5ld2xpbmVzKHRlc3RSZXF1ZXN0LnJlc3BvbnNlSGVhZGVyc1RleHQpLAotICAgICAgICAg
ICAgImhlYWRlcnNTaXplIjogdGVzdFJlcXVlc3QucmVzcG9uc2VIZWFkZXJzU2l6ZSwKLSAgICAg
ICAgICAgICJyZXNvdXJjZVNpemUiOiB0ZXN0UmVxdWVzdC5yZXNvdXJjZVNpemUsCi0gICAgICAg
ICAgICAidHJhbnNmZXJTaXplIjogdGVzdFJlcXVlc3QudHJhbnNmZXJTaXplCi0gICAgICAgIH0K
LSAgICB9OwotICAgIEluc3BlY3RvclRlc3QuYWRkT2JqZWN0KHJlcXVlc3RSZXN1bHRzLCB7fSwg
IiIsICJSZXNvdXJjZToiKTsKLQotICAgIHZhciBzdGlsbE5vbmRldGVybWluaXN0aWMgPSB7Ci0g
ICAgICAgICJzdGFydGVkRGF0ZVRpbWUiOiAiZm9ybWF0QXNUeXBlTmFtZSIsCi0gICAgICAgICJ0
aW1lIjogImZvcm1hdEFzVHlwZU5hbWUiLAotICAgICAgICAidGltaW5ncyI6ICJmb3JtYXRBc1R5
cGVOYW1lIgotICAgIH07Ci0gICAgSW5zcGVjdG9yVGVzdC5hZGRPYmplY3QobmV3IFdlYkluc3Bl
Y3Rvci5IQVJFbnRyeSh0ZXN0UmVxdWVzdCkuYnVpbGQoKSwgc3RpbGxOb25kZXRlcm1pbmlzdGlj
LCAiIiwgIkhBUjoiKTsKLSAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwotfQotPC9z
Y3JpcHQ+Ci0KLQotPC9oZWFkPgotCi08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci08cD4KLVRl
c3RzIHRoZSBub25kZXRlcm1pbmlzdGljIGJpdHMgb2YgSEFSIGNvbnZlcnNpb24gdmlhIHRoZSBt
YWdpYyBvZiBoYXJkLWNvZGVkIHZhbHVlcy4KLTwvcD4KLQotPC9ib2R5PgotPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2UtaGFyLXBh
Z2VzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291
cmNlLWhhci1wYWdlcy1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDBjMmI1Njg0MjlmODRmM2RiMGViODlkZmRhMWU0MzVhNjhmMGNkNTMuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9p
bnNwZWN0b3IvcmVzb3VyY2UtaGFyLXBhZ2VzLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBA
IC0xLDMxICswLDAgQEAKLVRlc3RzIGNvbnZlcnNpb24gb2YgSW5zcGVjdG9yJ3MgcmVzb3VyY2Ug
cmVwcmVzZW50YXRpb24gaW50byBIQVIgZm9ybWF0LgotCi17Ci0gICAgMCA6IHsKLSAgICAgICAg
aWQgOiA8c3RyaW5nPgotICAgICAgICBwYWdlVGltaW5ncyA6IHsKLSAgICAgICAgICAgIG9uQ29u
dGVudExvYWQgOiA8bnVtYmVyPgotICAgICAgICAgICAgb25Mb2FkIDogPG51bWJlcj4KLSAgICAg
ICAgfQotICAgICAgICBzdGFydGVkRGF0ZVRpbWUgOiA8cGxhdXNpYmxlPgotICAgICAgICB0aXRs
ZSA6ICJodHRwOi8vMTI3LjAuMC4xOjgwMDAvcmVzb3VyY2VzL3JlZGlyZWN0LnBocD91cmw9L2lu
c3BlY3Rvci9yZXNvdXJjZXMvaGFyLXBhZ2VzLW5hdmlnYXRpb24tdGFyZ2V0Lmh0bWwiCi0gICAg
fQotICAgIDEgOiB7Ci0gICAgICAgIGlkIDogPHN0cmluZz4KLSAgICAgICAgcGFnZVRpbWluZ3Mg
OiB7Ci0gICAgICAgICAgICBvbkNvbnRlbnRMb2FkIDogPG51bWJlcj4KLSAgICAgICAgICAgIG9u
TG9hZCA6IDxudW1iZXI+Ci0gICAgICAgIH0KLSAgICAgICAgc3RhcnRlZERhdGVUaW1lIDogPHBs
YXVzaWJsZT4KLSAgICAgICAgdGl0bGUgOiAiaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rv
ci9yZXNvdXJjZS1oYXItcGFnZXMuaHRtbCIKLSAgICB9Ci19Ci1wYWdlOiBwYWdlXzIgdXJsOiBo
dHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzCi1wYWdlOiBw
YWdlXzIgdXJsOiBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlLWhhci1w
YWdlcy5odG1sCi1wYWdlOiBwYWdlXzIgdXJsOiBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVj
dG9yL3Jlc291cmNlcy10ZXN0LmpzCi1wYWdlOiBwYWdlXzEgdXJsOiBodHRwOi8vMTI3LjAuMC4x
OjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlcy9oYXItcGFnZXMtaWZyYW1lLmh0bWwKLXBhZ2U6IHBh
Z2VfMSB1cmw6IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2VzL2hhci1w
YWdlcy1uYXZpZ2F0aW9uLXRhcmdldC5odG1sCi1wYWdlOiBwYWdlXzEgdXJsOiBodHRwOi8vMTI3
LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlcy9zb3VyY2UxLmpzCi1wYWdlOiBwYWdlXzEg
dXJsOiBodHRwOi8vMTI3LjAuMC4xOjgwMDAvcmVzb3VyY2VzL3JlZGlyZWN0LnBocD91cmw9L2lu
c3BlY3Rvci9yZXNvdXJjZXMvaGFyLXBhZ2VzLW5hdmlnYXRpb24tdGFyZ2V0Lmh0bWwKLVBhZ2Ug
cmVsb2FkZWQuCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9y
L3Jlc291cmNlLWhhci1wYWdlcy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0
b3IvcmVzb3VyY2UtaGFyLXBhZ2VzLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDZkNmRlODI1NWYxMmZiNjg5MjcwOGExNWNhMGY4Mjk4YjZkOTVmM2QuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9p
bnNwZWN0b3IvcmVzb3VyY2UtaGFyLXBhZ2VzLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw2NCAr
MCwwIEBACi08IWRvY3R5cGUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iaW5z
cGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9InJlc291cmNlcy10ZXN0Lmpz
Ij48L3NjcmlwdD4KLQotPHNjcmlwdD4KLQotdmFyIHRlc3QgPSBmdW5jdGlvbigpCi17Ci0gICAg
ZnVuY3Rpb24gc3RlcDEoKQotICAgIHsKLSAgICAgICAgdmFyIGhhZE5hdmlnYXRpb24gPSBmYWxz
ZTsKLQotICAgICAgICBmdW5jdGlvbiBvblJlcXVlc3RGaW5pc2hlZChldmVudCkKLSAgICAgICAg
ewotICAgICAgICAgICAgdmFyIHJlcXVlc3QgPSBldmVudC5kYXRhOwotICAgICAgICAgICAgaWYg
KC9cL2hhci1wYWdlcy1uYXZpZ2F0aW9uLXRhcmdldFwuaHRtbCQvLnRlc3QocmVxdWVzdC51cmwp
KQotICAgICAgICAgICAgICAgIGhhZE5hdmlnYXRpb24gPSB0cnVlOwotICAgICAgICAgICAgaWYg
KGhhZE5hdmlnYXRpb24gJiYgL1wvcmVzb3VyY2UtaGFyLXBhZ2VzXC5odG1sJC8udGVzdChyZXF1
ZXN0LnVybCkpIHsKLSAgICAgICAgICAgICAgICBXZWJJbnNwZWN0b3IubmV0d29ya01hbmFnZXIu
cmVtb3ZlRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuTmV0d29ya01hbmFnZXIuRXZlbnRUeXBl
cy5SZXF1ZXN0RmluaXNoZWQsIG9uUmVxdWVzdEZpbmlzaGVkKQotICAgICAgICAgICAgICAgIHN0
ZXAyKCk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICAgICAgV2ViSW5zcGVjdG9yLnNo
b3dQYW5lbCgibmV0d29yayIpOwotICAgICAgICB2YXIgbmV0d29ya0xvZ1ZpZXcgPSBXZWJJbnNw
ZWN0b3IucGFuZWwoIm5ldHdvcmsiKS5fbmV0d29ya0xvZ1ZpZXc7Ci0gICAgICAgIC8vIG5ldHdv
cmtMb2dWaWV3LmNsZWFyKCk7Ci0gICAgICAgIG5ldHdvcmtMb2dWaWV3Ll9wcmVzZXJ2ZUxvZ1Rv
Z2dsZS50b2dnbGVkID0gdHJ1ZTsKLSAgICAgICAgV2ViSW5zcGVjdG9yLm5ldHdvcmtNYW5hZ2Vy
LmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLk5ldHdvcmtNYW5hZ2VyLkV2ZW50VHlwZXMu
UmVxdWVzdEZpbmlzaGVkLCBvblJlcXVlc3RGaW5pc2hlZCk7Ci0gICAgICAgIEluc3BlY3RvclRl
c3QuZXZhbHVhdGVJblBhZ2UoImxvY2F0aW9uLmhyZWYgPSAnL3Jlc291cmNlcy9yZWRpcmVjdC5w
aHA/dXJsPS9pbnNwZWN0b3IvcmVzb3VyY2VzL2hhci1wYWdlcy1uYXZpZ2F0aW9uLXRhcmdldC5o
dG1sJzsiKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwMigpCi0gICAgewotICAgICAgICB2
YXIgbG9nID0gKG5ldyBXZWJJbnNwZWN0b3IuSEFSTG9nKFdlYkluc3BlY3Rvci5wYW5lbCgibmV0
d29yayIpLl9uZXR3b3JrTG9nVmlldy5fcmVxdWVzdHMpKS5idWlsZCgpOwotICAgICAgICBJbnNw
ZWN0b3JUZXN0LmFkZE9iamVjdChsb2cucGFnZXMsIEluc3BlY3RvclRlc3QuSEFSUHJvcGVydHlG
b3JtYXR0ZXJzV2l0aFNpemUpOwotCi0gICAgICAgIC8vIEZpbHRlciBvdXQgZmF2aWNvbi5pY28g
cmVxdWVzdHMgdGhhdCBvbmx5IGFwcGVhciBvbiBjZXJ0YWluIHBsYXRmb3Jtcy4KLSAgICAgICAg
bG9nLmVudHJpZXMgPSBsb2cuZW50cmllcy5maWx0ZXIoZnVuY3Rpb24oZW50cnkpIHsKLSAgICAg
ICAgICAgIHJldHVybiAhL2Zhdmljb25cLmljbyQvLnRlc3QoZW50cnkucmVxdWVzdC51cmwpOwot
ICAgICAgICB9KTsKLSAgICAgICAgbG9nLmVudHJpZXMuc29ydChJbnNwZWN0b3JUZXN0LnJlcXVl
c3RVUkxDb21wYXJlcik7Ci0gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbG9nLmVudHJpZXMu
bGVuZ3RoOyArK2kpIHsKLSAgICAgICAgICAgIHZhciBlbnRyeSA9IGxvZy5lbnRyaWVzW2ldOwot
ICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoInBhZ2U6ICIgKyBlbnRyeS5wYWdl
cmVmICsgIiB1cmw6ICIgKyBlbnRyeS5yZXF1ZXN0LnVybCk7Ci0gICAgICAgIH0KLSAgICAgICAg
SW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKLSAgICB9Ci0KLSAgICBzdGVwMSgpOwotfQot
Ci08L3NjcmlwdD4KLQotCi08L2hlYWQ+Ci0KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxw
PgotVGVzdHMgY29udmVyc2lvbiBvZiBJbnNwZWN0b3IncyByZXNvdXJjZSByZXByZXNlbnRhdGlv
biBpbnRvIEhBUiBmb3JtYXQuCi08L3A+Ci0KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlLW1haW4tY29va2llcy1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZS1t
YWluLWNvb2tpZXMtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2
NWE4YjJiMDhkOGJjYjlkZWZlZTI3NGIyYTI3ZjhlNjdiZDE1MDRmLi4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5z
cGVjdG9yL3Jlc291cmNlLW1haW4tY29va2llcy1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApA
QCAtMSw2ICswLDAgQEAKLVRoaXMgdGVzdHMgdGhhdCB0aGUgY29va2llIHNldCBieSBtYWluIHJl
c291cmNlIGlzIHNob3duIGluIHJlc291cmNlcyBwYW5lbC4KLQotYnVnIDY1NzcwLgotUGFnZSBy
ZWxvYWRlZC4KLUNvb2tpZTogY29va2llTmFtZT1jb29raWVWYWx1ZS4KLQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2UtbWFpbi1jb29raWVzLnBo
cCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlLW1haW4tY29va2ll
cy5waHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDRlZDNlZWQ2NTE5ODNiYTRiYzkz
YjRjNzliOTQ4MDhkMzhiY2E0MTcuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2UtbWFp
bi1jb29raWVzLnBocAorKysgL2Rldi9udWxsCkBAIC0xLDUyICswLDAgQEAKLTw/cGhwCi0gICAg
aWYgKCEkX0NPT0tJRVsiY29va2llTmFtZSJdKQotICAgICAgICBzZXRjb29raWUoImNvb2tpZU5h
bWUiLCAiY29va2llVmFsdWUiKTsKLT8+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Imlu
c3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci0KLWZ1bmN0aW9uIHRlc3QoKQot
ewotICAgIHZhciBjb29raWVOYW1lID0gImNvb2tpZU5hbWUiOwotICAgIHZhciBjb29raWVEb21h
aW4gPSAiMTI3LjAuMC4xIjsKLSAgICB2YXIgY29va2llVVJMID0gImh0dHA6Ly8iICsgY29va2ll
RG9tYWluICsgIi8iOwotICAgIC8vIEVuc3VyZSBjb29raWUgaXMgZGVsZXRlZCBiZWZvcmUgdGVz
dGluZy4KLSAgICBQYWdlQWdlbnQuZGVsZXRlQ29va2llKGNvb2tpZU5hbWUsIGNvb2tpZVVSTCwg
c3RlcDEpOwotCi0gICAgZnVuY3Rpb24gc3RlcDEoKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9y
VGVzdC5yZWxvYWRQYWdlKHN0ZXAyKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwMigpCi0g
ICAgewotICAgICAgICBXZWJJbnNwZWN0b3IuQ29va2llcy5nZXRDb29raWVzQXN5bmMoc3RlcDMp
OwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0ZXAzKGFsbENvb2tpZXMpCi0gICAgewotICAgICAg
ICBmb3IgKHZhciBpID0gMDsgaSA8IGFsbENvb2tpZXMubGVuZ3RoOyBpKyspIHsKLSAgICAgICAg
ICB2YXIgY29va2llID0gYWxsQ29va2llc1tpXTsKLSAgICAgICAgICAgIGlmIChjb29raWUubmFt
ZSgpID09PSBjb29raWVOYW1lICYmIGNvb2tpZS5kb21haW4oKSA9PSBjb29raWVEb21haW4pIHsK
LSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiQ29va2llOiAiICsgY29v
a2llLm5hbWUoKSArICI9IiArIGNvb2tpZS52YWx1ZSgpICsgIi4iKTsKLSAgICAgICAgICAgIH0K
LSAgICAgICAgfQotICAgICAgICAvLyBFbnN1cmUgY29va2llIGlzIGRlbGV0ZWQgYWZ0ZXIgdGVz
dGluZy4KLSAgICAgICAgUGFnZUFnZW50LmRlbGV0ZUNvb2tpZShjb29raWVOYW1lLCBjb29raWVV
UkwsIHN0ZXA0KTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwNCgpCi0gICAgewotICAgICAg
ICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwotICAgIH0KLX0KLQotPC9zY3JpcHQ+Ci08
L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci0gICAgPHA+VGhpcyB0ZXN0cyB0aGF0
IHRoZSBjb29raWUgc2V0IGJ5IG1haW4gcmVzb3VyY2UgaXMgc2hvd24gaW4gcmVzb3VyY2VzIHBh
bmVsLjwvcD4KLSAgICA8YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NjU3NzAiPmJ1ZyA2NTc3MDwvYT4uCi08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZS1wYXJhbWV0ZXJzLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlLXBh
cmFtZXRlcnMtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhNTJh
NTc0YTc1M2MwMTVhZTU2YmViOTQ1YzNmNzZiODFlOTk3MzMxLi4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVj
dG9yL3Jlc291cmNlLXBhcmFtZXRlcnMtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEs
NjIgKzAsMCBAQAotVGVzdHMgdGhhdCByZXNvdXJjZXMgcGFuZWwgc2hvd3MgZm9ybSBkYXRhIHBh
cmFtZXRlcnMuCi0KLSAgCi0KLXsKLSAgICBjYWNoZSA6IHsKLSAgICB9Ci0gICAgcmVxdWVzdCA6
IHsKLSAgICAgICAgYm9keVNpemUgOiA8bnVtYmVyPgotICAgICAgICBjb29raWVzIDogWwotICAg
ICAgICBdCi0gICAgICAgIGhlYWRlcnMgOiA8b2JqZWN0PgotICAgICAgICBoZWFkZXJzU2l6ZSA6
IDxudW1iZXI+Ci0gICAgICAgIGh0dHBWZXJzaW9uIDogIkhUVFAvMS4xIgotICAgICAgICBtZXRo
b2QgOiAiUE9TVCIKLSAgICAgICAgcG9zdERhdGEgOiB7Ci0gICAgICAgICAgICBtaW1lVHlwZSA6
ICJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQiCi0gICAgICAgICAgICBwYXJhbXMg
OiBbCi0gICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICBuYW1lIDogImZvcm1Q
YXJhbTEiCi0gICAgICAgICAgICAgICAgICAgIHZhbHVlIDogImZvcm1WYWx1ZTEiCi0gICAgICAg
ICAgICAgICAgfQotICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgbmFtZSA6
ICJmb3JtUGFyYW0yIgotICAgICAgICAgICAgICAgICAgICB2YWx1ZSA6ICIiCi0gICAgICAgICAg
ICAgICAgfQotICAgICAgICAgICAgXQotICAgICAgICAgICAgdGV4dCA6ICJmb3JtUGFyYW0xPWZv
cm1WYWx1ZTEmZm9ybVBhcmFtMj0iCi0gICAgICAgIH0KLSAgICAgICAgcXVlcnlTdHJpbmcgOiBb
Ci0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgbmFtZSA6ICJxdWVyeVBhcmFtMSIKLSAg
ICAgICAgICAgICAgICB2YWx1ZSA6ICJxdWVyeVZhbHVlMSIKLSAgICAgICAgICAgIH0KLSAgICAg
ICAgICAgIHsKLSAgICAgICAgICAgICAgICBuYW1lIDogInF1ZXJ5UGFyYW0yIgotICAgICAgICAg
ICAgICAgIHZhbHVlIDogIiIKLSAgICAgICAgICAgIH0KLSAgICAgICAgXQotICAgICAgICB1cmwg
OiAiaHR0cDovL2xvY2FsaG9zdDo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZXMvcG9zdC10YXJnZXQu
Y2dpP3F1ZXJ5UGFyYW0xPXF1ZXJ5VmFsdWUxJnF1ZXJ5UGFyYW0yPSIKLSAgICB9Ci0gICAgcmVz
cG9uc2UgOiB7Ci0gICAgICAgIGJvZHlTaXplIDogPG51bWJlcj4KLSAgICAgICAgY29udGVudCA6
IHsKLSAgICAgICAgICAgIGNvbXByZXNzaW9uIDogPG51bWJlcj4KLSAgICAgICAgICAgIG1pbWVU
eXBlIDogImFwcGxpY2F0aW9uL3htbCIKLSAgICAgICAgICAgIHNpemUgOiAxNAotICAgICAgICB9
Ci0gICAgICAgIGNvb2tpZXMgOiBbCi0gICAgICAgIF0KLSAgICAgICAgaGVhZGVycyA6IDxvYmpl
Y3Q+Ci0gICAgICAgIGhlYWRlcnNTaXplIDogPG51bWJlcj4KLSAgICAgICAgaHR0cFZlcnNpb24g
OiAiSFRUUC8xLjEiCi0gICAgICAgIHJlZGlyZWN0VVJMIDogIiIKLSAgICAgICAgc3RhdHVzIDog
MjAwCi0gICAgICAgIHN0YXR1c1RleHQgOiAiT0siCi0gICAgfQotICAgIHN0YXJ0ZWREYXRlVGlt
ZSA6IDxwbGF1c2libGU+Ci0gICAgdGltZSA6IDxudW1iZXI+Ci0gICAgdGltaW5ncyA6IDxvYmpl
Y3Q+Ci19Ci0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jl
c291cmNlLXBhcmFtZXRlcnMuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9y
L3Jlc291cmNlLXBhcmFtZXRlcnMuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
NTNkODdhMjU0MzI3M2FhYzFiNDA5NzliZjc0NzY5NzRmNzA4MWFmOS4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2lu
c3BlY3Rvci9yZXNvdXJjZS1wYXJhbWV0ZXJzLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw0MCAr
MCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Imluc3BlY3Rvci10ZXN0LmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJyZXNvdXJjZXMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci0KLTxz
Y3JpcHQ+Ci1mdW5jdGlvbiBzdWJtaXQoKQotewotICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdWJtaXQiKS5jbGljaygpOwotfQotCi1mdW5jdGlvbiB0ZXN0KCkKLXsKLSAgICBJbnNwZWN0
b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJzdWJtaXQoKSIpOwotICAgIFdlYkluc3BlY3Rvci5uZXR3
b3JrTWFuYWdlci5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5OZXR3b3JrTWFuYWdlci5F
dmVudFR5cGVzLlJlcXVlc3RGaW5pc2hlZCwgb25SZXF1ZXN0RmluaXNoZWQpOwotCi0gICAgZnVu
Y3Rpb24gb25SZXF1ZXN0RmluaXNoZWQoZXZlbnQpCi0gICAgewotICAgICAgICB2YXIgcmVxdWVz
dCA9IGV2ZW50LmRhdGE7Ci0gICAgICAgIGlmIChyZXF1ZXN0LnVybCAhPT0gImh0dHA6Ly9sb2Nh
bGhvc3Q6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2VzL3Bvc3QtdGFyZ2V0LmNnaT9xdWVyeVBhcmFt
MT1xdWVyeVZhbHVlMSZxdWVyeVBhcmFtMj0jZnJhZ21lbnRQYXJhbTE9ZnJhZ21lbnRWYWx1ZTEm
ZnJhZ21lbnRQYXJhbTI9IikKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgSW5zcGVjdG9y
VGVzdC5hZGRPYmplY3QobmV3IFdlYkluc3BlY3Rvci5IQVJFbnRyeShyZXF1ZXN0KS5idWlsZCgp
LCBJbnNwZWN0b3JUZXN0LkhBUlByb3BlcnR5Rm9ybWF0dGVycyk7Ci0gICAgICAgIEluc3BlY3Rv
clRlc3QuY29tcGxldGVUZXN0KCk7Ci0gICAgfQotfQotCi08L3NjcmlwdD4KLTwvaGVhZD4KLTxi
b2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxwPgotVGVzdHMgdGhhdCByZXNvdXJjZXMgcGFuZWwg
c2hvd3MgZm9ybSBkYXRhIHBhcmFtZXRlcnMuCi08L3A+Ci08Zm9ybSB0YXJnZXQ9InRhcmdldC1p
ZnJhbWUiIG1ldGhvZD0iUE9TVCIgYWN0aW9uPSJodHRwOi8vbG9jYWxob3N0OjgwMDAvaW5zcGVj
dG9yL3Jlc291cmNlcy9wb3N0LXRhcmdldC5jZ2k/cXVlcnlQYXJhbTE9cXVlcnlWYWx1ZTEmcXVl
cnlQYXJhbTI9I2ZyYWdtZW50UGFyYW0xPWZyYWdtZW50VmFsdWUxJmZyYWdtZW50UGFyYW0yPSI+
Ci08aW5wdXQgbmFtZT0iZm9ybVBhcmFtMSIgdmFsdWU9ImZvcm1WYWx1ZTEiPgotPGlucHV0IG5h
bWU9ImZvcm1QYXJhbTIiPgotPGlucHV0IGlkPSJzdWJtaXQiIHR5cGU9InN1Ym1pdCI+Ci08L2Zv
cm0+Ci08aWZyYW1lIG5hbWU9InRhcmdldC1pZnJhbWUiPjwvaWZyYW1lPgotPC9ib2R5PgotPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3Vy
Y2UtdHJlZS9yZXNvdXJjZS1yZXF1ZXN0LWNvbnRlbnQtYWZ0ZXItbG9hZGluZy1hbmQtY2xlYXJp
bmctY2FjaGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3Iv
cmVzb3VyY2UtdHJlZS9yZXNvdXJjZS1yZXF1ZXN0LWNvbnRlbnQtYWZ0ZXItbG9hZGluZy1hbmQt
Y2xlYXJpbmctY2FjaGUtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCBiOGViZmM1ZTVkMWQxMjNjN2M4NGE3N2Y1YmM4N2U0Y2NhYTBjMGEzLi4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
aW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2UtcmVxdWVzdC1jb250ZW50LWFmdGVyLWxv
YWRpbmctYW5kLWNsZWFyaW5nLWNhY2hlLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0x
LDEyICswLDAgQEAKLVRlc3RzIHJlc291cmNlIGNvbnRlbnQgaXMgY29ycmVjdGx5IGxvYWRlZCBp
ZiBSZXNvdXJjZS5yZXF1ZXN0Q29udGVudCB3YXMgY2FsbGVkIGJlZm9yZSBuZXR3b3JrIHJlcXVl
c3Qgd2FzIGZpbmlzaGVkLgotCi1CdWcgOTAxNTMKLUFkZGluZyBkeW5hbWljIHNjcmlwdDogCi1X
YWl0aW5nIGZvciBzY3JpcHQgcmVxdWVzdCB0byBmaW5pc2g6IAotQ2xlYXJpbmcgbWVtb3J5IGNh
Y2hlOiAKLVJlcXVlc3RpbmcgY29udGVudDogCi1SZXNvdXJjZSB1cmw6IGh0dHA6Ly8xMjcuMC4w
LjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZXMvZHluYW1pYy1zY3JpcHQu
anMKLVJlc291cmNlIGNvbnRlbnQ6IGZ1bmN0aW9uIGZvbygpIHsKLX0KLQotCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNl
LXJlcXVlc3QtY29udGVudC1hZnRlci1sb2FkaW5nLWFuZC1jbGVhcmluZy1jYWNoZS5odG1sIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZS1y
ZXF1ZXN0LWNvbnRlbnQtYWZ0ZXItbG9hZGluZy1hbmQtY2xlYXJpbmctY2FjaGUuaHRtbApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDg2MGQyZGIyMzcwOTA4YTljMzJmMzUwZDgwYzc2
OWFmOTdlMDE4Zi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNl
LXJlcXVlc3QtY29udGVudC1hZnRlci1sb2FkaW5nLWFuZC1jbGVhcmluZy1jYWNoZS5odG1sCisr
KyAvZGV2L251bGwKQEAgLTEsNTkgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3Jj
PSIuLi9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vcmVzb3Vy
Y2VzLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9InJlc291cmNlLXRyZWUtdGVzdC5q
cyI+PC9zY3JpcHQ+Ci08bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9InJlc291cmNlcy9zdHls
ZXMtaW5pdGlhbC5jc3MiPgotPHNjcmlwdD4KLWZ1bmN0aW9uIGNyZWF0ZVNjcmlwdFRhZygpCi17
Ci0gICAgdmFyIHNjcmlwdEVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzY3JpcHQi
KTsKLSAgICBzY3JpcHRFbGVtZW50LnNyYyA9ICJyZXNvdXJjZXMvZHluYW1pYy1zY3JpcHQuanMi
OwotICAgIGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoc2NyaXB0RWxlbWVudCk7Ci19Ci0KLWZ1
bmN0aW9uIHRlc3QoKQotewotICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJBZGRpbmcgZHlu
YW1pYyBzY3JpcHQ6ICIpOwotICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoImNyZWF0
ZVNjcmlwdFRhZygpIiwgc3RlcDIpOwotCi0gICAgZnVuY3Rpb24gc3RlcDIoKQotICAgIHsKLSAg
ICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIldhaXRpbmcgZm9yIHNjcmlwdCByZXF1ZXN0
IHRvIGZpbmlzaDogIik7Ci0gICAgICAgIEluc3BlY3RvclRlc3QucnVuQWZ0ZXJSZXNvdXJjZXNB
cmVGaW5pc2hlZChbImR5bmFtaWMtc2NyaXB0LmpzIl0sIHN0ZXAzKQotICAgIH0KLQotICAgIGZ1
bmN0aW9uIHN0ZXAzKCkKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJD
bGVhcmluZyBtZW1vcnkgY2FjaGU6ICIpOwotICAgICAgICBOZXR3b3JrQWdlbnQuc2V0Q2FjaGVE
aXNhYmxlZCh0cnVlLCBzdGVwNCk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc3RlcDQoKQotICAg
IHsKLSAgICAgICAgTmV0d29ya0FnZW50LnNldENhY2hlRGlzYWJsZWQoZmFsc2UsIHN0ZXA1KTsK
LSAgICB9Ci0KLSAgICB2YXIgcmVzb3VyY2U7Ci0gICAgZnVuY3Rpb24gc3RlcDUoKQotICAgIHsK
LSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIlJlcXVlc3RpbmcgY29udGVudDogIik7
Ci0gICAgICAgIHJlc291cmNlID0gSW5zcGVjdG9yVGVzdC5yZXNvdXJjZU1hdGNoaW5nVVJMKCJk
eW5hbWljLXNjcmlwdC5qcyIpOwotICAgICAgICByZXNvdXJjZS5yZXF1ZXN0Q29udGVudChzdGVw
Nik7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc3RlcDYoY29udGVudCkKLSAgICB7Ci0gICAgICAg
IEluc3BlY3RvclRlc3QuYXNzZXJ0VHJ1ZSghIWNvbnRlbnQsICJObyBjb250ZW50IGF2YWlsYWJs
ZS4iKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIlJlc291cmNlIHVybDogIiAr
IHJlc291cmNlLnVybCk7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJSZXNvdXJj
ZSBjb250ZW50OiAiICsgY29udGVudCk7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVU
ZXN0KCk7Ci0gICAgfQotfQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9InJ1blRl
c3QoKSI+Ci08cD5UZXN0cyByZXNvdXJjZSBjb250ZW50IGlzIGNvcnJlY3RseSBsb2FkZWQgaWYg
UmVzb3VyY2UucmVxdWVzdENvbnRlbnQgd2FzIGNhbGxlZCBiZWZvcmUgbmV0d29yayByZXF1ZXN0
IHdhcyBmaW5pc2hlZC48L3A+Ci08YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9OTAxNTMiPkJ1ZyA5MDE1MzwvYT4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVz
b3VyY2UtcmVxdWVzdC1jb250ZW50LXdoaWxlLWxvYWRpbmctZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZS1yZXF1ZXN0
LWNvbnRlbnQtd2hpbGUtbG9hZGluZy1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDdlMmMzNzkwMGFhNGRlYzMyZWI1YTc0MWU4Y2U0ZjY0ZWYyOTMyZTMuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZS1yZXF1ZXN0LWNvbnRlbnQt
d2hpbGUtbG9hZGluZy1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw5ICswLDAgQEAK
LVRlc3RzIHJlc291cmNlIGNvbnRlbnQgaXMgY29ycmVjdGx5IGxvYWRlZCBpZiBSZXNvdXJjZS5y
ZXF1ZXN0Q29udGVudCB3YXMgY2FsbGVkIGJlZm9yZSBuZXR3b3JrIHJlcXVlc3Qgd2FzIGZpbmlz
aGVkLgotCi1CdWcgOTAxNTMKLVJlc291cmNlIHVybDogaHR0cDovLzEyNy4wLjAuMTo4MDAwL2lu
c3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlcy9zdHlsZXMtaW5pdGlhbC5jc3MKLVJlc291
cmNlIGNvbnRlbnQ6IGh0bWwgewotICAgIGJhY2tncm91bmQtY29sb3I6IGdyZWVuOwotfQotCi0K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlLXRy
ZWUvcmVzb3VyY2UtcmVxdWVzdC1jb250ZW50LXdoaWxlLWxvYWRpbmcuaHRtbCBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2UtcmVxdWVzdC1j
b250ZW50LXdoaWxlLWxvYWRpbmcuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
YWQ5YzhiZTVkNzcyODU4N2U2ZWZkYjQ0NTNmODk5MjlkY2FhMzEwNS4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2lu
c3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlLXJlcXVlc3QtY29udGVudC13aGlsZS1sb2Fk
aW5nLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw1MiArMCwwIEBACi08aHRtbD4KLTxoZWFkPgot
PHNjcmlwdCBzcmM9Ii4uL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIuLi9yZXNvdXJjZXMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0icmVzb3VyY2Ut
dHJlZS10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci1mdW5jdGlvbiBsb2FkU3R5bGVzaGVl
dCgpCi17Ci0gICAgdmFyIHN0eWxlRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImxp
bmsiKTsKLSAgICBzdHlsZUVsZW1lbnQucmVsID0gInN0eWxlc2hlZXQiOwotICAgIHN0eWxlRWxl
bWVudC5ocmVmID0gInJlc291cmNlcy9zdHlsZXMtaW5pdGlhbC5jc3MiOwotICAgIGRvY3VtZW50
LmhlYWQuYXBwZW5kQ2hpbGQoc3R5bGVFbGVtZW50KTsKLX0KLQotZnVuY3Rpb24gdGVzdCgpCi17
Ci0gICAgSW5zcGVjdG9yVGVzdC5hZGRTbmlmZmVyKFdlYkluc3BlY3Rvci5SZXNvdXJjZVRyZWVG
cmFtZS5wcm90b3R5cGUsICJfYWRkUmVxdWVzdCIsIHJlcXVlc3RBZGRlZCwgdHJ1ZSk7Ci0gICAg
SW5zcGVjdG9yVGVzdC5hZGRTbmlmZmVyKFBhZ2VBZ2VudCwgImdldFJlc291cmNlQ29udGVudCIs
IHBhZ2VBZ2VudEdldFJlc291cmNlQ29udGVudENhbGxlZCwgdHJ1ZSk7Ci0gICAgSW5zcGVjdG9y
VGVzdC5ldmFsdWF0ZUluUGFnZSgibG9hZFN0eWxlc2hlZXQoKSIpOwotICAgIHZhciBjb250ZW50
V2FzUmVxdWVzdGVkID0gZmFsc2U7Ci0gICAgdmFyIHJlc291cmNlOwotCi0gICAgZnVuY3Rpb24g
cmVxdWVzdEFkZGVkKHJlcXVlc3QpCi0gICAgewotICAgICAgICBpZiAocmVxdWVzdC51cmwuaW5k
ZXhPZigic3R5bGVzLWluaXRpYWwiKSA9PT0gLTEpCi0gICAgICAgICAgICByZXR1cm47Ci0gICAg
ICAgIHJlc291cmNlID0gSW5zcGVjdG9yVGVzdC5yZXNvdXJjZU1hdGNoaW5nVVJMKCJzdHlsZXMt
aW5pdGlhbCIpOwotICAgICAgICBpZiAoIXJlc291cmNlIHx8ICFyZXNvdXJjZS5yZXF1ZXN0IHx8
IGNvbnRlbnRXYXNSZXF1ZXN0ZWQpCi0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIHJlc291
cmNlLnJlcXVlc3RDb250ZW50KGNvbnRlbnRMb2FkZWQpOwotICAgICAgICBjb250ZW50V2FzUmVx
dWVzdGVkID0gdHJ1ZTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBwYWdlQWdlbnRHZXRSZXNvdXJj
ZUNvbnRlbnRDYWxsZWQoKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRUcnVl
KHJlc291cmNlLnJlcXVlc3QuZmluaXNoZWQpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIGNvbnRl
bnRMb2FkZWQoY29udGVudCkKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0
KCJSZXNvdXJjZSB1cmw6ICIgKyByZXNvdXJjZS51cmwpOwotICAgICAgICBJbnNwZWN0b3JUZXN0
LmFkZFJlc3VsdCgiUmVzb3VyY2UgY29udGVudDogIiArIGNvbnRlbnQpOwotICAgICAgICBJbnNw
ZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwotICAgIH0KLX0KLTwvc2NyaXB0PgotPC9oZWFkPgot
PGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotPHA+VGVzdHMgcmVzb3VyY2UgY29udGVudCBpcyBj
b3JyZWN0bHkgbG9hZGVkIGlmIFJlc291cmNlLnJlcXVlc3RDb250ZW50IHdhcyBjYWxsZWQgYmVm
b3JlIG5ldHdvcmsgcmVxdWVzdCB3YXMgZmluaXNoZWQuPC9wPgotPGEgaHJlZj0iaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkwMTUzIj5CdWcgOTAxNTM8L2E+Ci08L2Jv
ZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rv
ci9yZXNvdXJjZS10cmVlL3Jlc291cmNlLXRyZWUtZG9jdW1lbnQtdXJsLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2Ut
dHJlZS1kb2N1bWVudC11cmwtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCA3NjZjNmJjNTJiYjAwMWMxMTE3MGY3YmJmOWIxMTA2MDc2ZjgyMjNhLi4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2UtdHJlZS1kb2N1bWVudC11cmwtZXhw
ZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsOSArMCwwIEBACi1UZXN0cyB0aGF0IHJlc291
cmNlcyBoYXZlIHByb3BlciBkb2N1bWVudFVSTCBzZXQgaW4gdGhlIHRyZWUgbW9kZWwuCi0KLQot
aHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyA9PiBodHRw
Oi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2UtdHJlZS1k
b2N1bWVudC11cmwuaHRtbAotaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJj
ZS10cmVlL3Jlc291cmNlLXRyZWUtZG9jdW1lbnQtdXJsLmh0bWwgPT4gaHR0cDovLzEyNy4wLjAu
MTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlLXRyZWUtZG9jdW1lbnQtdXJs
Lmh0bWwKLWh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNv
dXJjZS10cmVlLXRlc3QuanMgPT4gaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNv
dXJjZS10cmVlL3Jlc291cmNlLXRyZWUtZG9jdW1lbnQtdXJsLmh0bWwKLWh0dHA6Ly8xMjcuMC4w
LjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZXMvZHVtbXktaWZyYW1lLmh0
bWwgPT4gaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291
cmNlcy9kdW1teS1pZnJhbWUuaHRtbAotaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9y
ZXNvdXJjZXMtdGVzdC5qcyA9PiBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291
cmNlLXRyZWUvcmVzb3VyY2UtdHJlZS1kb2N1bWVudC11cmwuaHRtbAotCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlLXRy
ZWUtZG9jdW1lbnQtdXJsLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9y
ZXNvdXJjZS10cmVlL3Jlc291cmNlLXRyZWUtZG9jdW1lbnQtdXJsLmh0bWwKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDc0OWNlYTUzNmFlYWFjZGY5YzBiNTU2YzljYzI3NDYyYWZlMjUz
ZGQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZS10cmVlLWRv
Y3VtZW50LXVybC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMzcgKzAsMCBAQAotPGh0bWw+Ci08
aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2Ny
aXB0IHNyYz0iLi4vcmVzb3VyY2VzLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9InJl
c291cmNlLXRyZWUtdGVzdC5qcyI+PC9zY3JpcHQ+Ci0KLTxzY3JpcHQ+Ci0KLWZ1bmN0aW9uIHRl
c3QoKQotewotICAgIEluc3BlY3RvclRlc3QucnVuQWZ0ZXJSZXNvdXJjZXNBcmVGaW5pc2hlZChb
ImR1bW15LWlmcmFtZS5odG1sIiwgImluc3BlY3Rvci10ZXN0LmpzIiwgInJlc291cmNlcy10ZXN0
LmpzIiwgInJlc291cmNlLXRyZWUtdGVzdC5qcyJdLCBzdGVwMSk7Ci0KLSAgICBmdW5jdGlvbiBz
dGVwMSgpCi0gICAgewotICAgICAgICBmdW5jdGlvbiBmb3JtYXR0ZXIocmVzb3VyY2UpCi0gICAg
ICAgIHsKLSAgICAgICAgICAgIHJldHVybiByZXNvdXJjZS51cmwgKyAiID0+ICIgKyByZXNvdXJj
ZS5kb2N1bWVudFVSTDsKLSAgICAgICAgfQotICAgIAotICAgICAgICBJbnNwZWN0b3JUZXN0LmR1
bXBSZXNvdXJjZXMoZm9ybWF0dGVyKTsgICAgCi0gICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxl
dGVUZXN0KCk7Ci0gICAgfQotfQotCi08L3NjcmlwdD4KLQotPC9oZWFkPgotCi08Ym9keT4KLTxw
PgotVGVzdHMgdGhhdCByZXNvdXJjZXMgaGF2ZSBwcm9wZXIgZG9jdW1lbnRVUkwgc2V0IGluIHRo
ZSB0cmVlIG1vZGVsLgotPC9wPgotCi08aWZyYW1lIHNyYz0icmVzb3VyY2VzL2R1bW15LWlmcmFt
ZS5odG1sIiBvbmxvYWQ9InJ1blRlc3QoKSI+Ci0KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3Vy
Y2UtdHJlZS1lcnJvcnMtcmVsb2FkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2UtdHJlZS1lcnJvcnMtcmVsb2FkLWV4
cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDdlOTA5YTdmNWVlYWQ4
NmJiMzYzZmY2MWQwM2RlZmZiNWE5NDNiZC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJj
ZS10cmVlL3Jlc291cmNlLXRyZWUtZXJyb3JzLXJlbG9hZC1leHBlY3RlZC50eHQKKysrIC9kZXYv
bnVsbApAQCAtMSwxMCArMCwwIEBACi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgNDogQ29uc29sZSBl
cnJvciAxLgotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDU6IENvbnNvbGUgZXJyb3IgMi4KLUNPTlNP
TEUgTUVTU0FHRTogbGluZSA0OiBDb25zb2xlIGVycm9yIDEuCi1DT05TT0xFIE1FU1NBR0U6IGxp
bmUgNTogQ29uc29sZSBlcnJvciAyLgotVGVzdHMgdGhhdCBjb25zb2xlIG1lc3NhZ2VzIGFyZSBt
YXRjaGVkIHRvIHJlc291cmNlcyBhZnRlciBwYWdlIHJlbG9hZC4KLQotQnVnIDYwNzAxCi1QYWdl
IHJlbG9hZGVkLgotTnVtYmVyIG9mIGVycm9ycyBmb3IgdGhlIG1haW4gcmVzb3VyY2U6IDIKLQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2UtdHJl
ZS9yZXNvdXJjZS10cmVlLWVycm9ycy1yZWxvYWQuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2UtdHJlZS1lcnJvcnMtcmVsb2FkLmh0
bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDNjMGM1ZjRhMjAyOWMwYzNlZWIzYzgy
MTk4NmNhZmQyMzFkY2U2ZjAuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9y
ZXNvdXJjZS10cmVlLWVycm9ycy1yZWxvYWQuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDU1ICsw
LDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0PgotY29uc29sZS5lcnJvcigiQ29uc29sZSBl
cnJvciAxLiIpOwotY29uc29sZS5lcnJvcigiQ29uc29sZSBlcnJvciAyLiIpOwotPC9zY3JpcHQ+
Ci08c2NyaXB0IHNyYz0iLi4vaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBz
cmM9Ii4uL3Jlc291cmNlcy10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJyZXNvdXJj
ZS10cmVlLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLQotZnVuY3Rpb24gdGVzdCgpCi17
Ci0gICAgdmFyIHJlc291cmNlc1dlcmVGaW5pc2hlZCA9IGZhbHNlOwotICAgIHZhciBwYWdlV2Fz
UmVsb2FkZWQgPSBmYWxzZTsKLQotICAgIFdlYkluc3BlY3Rvci5yZXNvdXJjZVRyZWVNb2RlbC5h
ZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5SZXNvdXJjZVRyZWVNb2RlbC5FdmVudFR5cGVz
Lk1haW5GcmFtZU5hdmlnYXRlZCwgZnJhbWVOYXZpZ2F0ZWQpOwotICAgIEluc3BlY3RvclRlc3Qu
cmVsb2FkUGFnZShwYWdlUmVsb2FkZWQpOwotCi0gICAgZnVuY3Rpb24gZnJhbWVOYXZpZ2F0ZWQo
KQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5ydW5BZnRlclJlc291cmNlc0FyZUZpbmlz
aGVkKFsicmVzb3VyY2UtdHJlZS1lcnJvcnMtcmVsb2FkLmh0bWwiXSwgcmVzb3VyY2VzRmluaXNo
ZWQpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHJlc291cmNlc0ZpbmlzaGVkKCkKLSAgICB7Ci0g
ICAgICAgIGlmIChwYWdlV2FzUmVsb2FkZWQpCi0gICAgICAgICAgICBzdGVwMSgpOwotICAgICAg
ICBlbHNlCi0gICAgICAgICAgICByZXNvdXJjZXNXZXJlRmluaXNoZWQgPSB0cnVlOwotICAgIH0K
LQotICAgIGZ1bmN0aW9uIHBhZ2VSZWxvYWRlZCgpCi0gICAgewotICAgICAgICBpZiAocmVzb3Vy
Y2VzV2VyZUZpbmlzaGVkKQotICAgICAgICAgICAgc3RlcDEoKTsKLSAgICAgICAgZWxzZQotICAg
ICAgICAgICAgcGFnZVdhc1JlbG9hZGVkID0gdHJ1ZTsKLQotICAgIH0KLQotICAgIGZ1bmN0aW9u
IHN0ZXAxKCkKLSAgICB7Ci0gICAgICAgIHZhciByZXNvdXJjZSA9IFdlYkluc3BlY3Rvci5yZXNv
dXJjZVRyZWVNb2RlbC5yZXNvdXJjZUZvclVSTCgiaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3Bl
Y3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlLXRyZWUtZXJyb3JzLXJlbG9hZC5odG1sIik7Ci0g
ICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJOdW1iZXIgb2YgZXJyb3JzIGZvciB0aGUg
bWFpbiByZXNvdXJjZTogIiArIHJlc291cmNlLmVycm9ycyk7Ci0gICAgICAgIEluc3BlY3RvclRl
c3QuY29tcGxldGVUZXN0KCk7Ci0gICAgfQotfQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBv
bmxvYWQ9InJ1blRlc3QoKSI+Ci08cD5UZXN0cyB0aGF0IGNvbnNvbGUgbWVzc2FnZXMgYXJlIG1h
dGNoZWQgdG8gcmVzb3VyY2VzIGFmdGVyIHBhZ2UgcmVsb2FkLjwvcD4KLTxhIGhyZWY9Imh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MDcwMSI+QnVnIDYwNzAxPC9hPgot
PC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNw
ZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZS10cmVlLWV2ZW50cy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlLXRy
ZWUtZXZlbnRzLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzdi
NTI4MTlhOTI5ZWRlNzc0YWY5NWJlYWZmYjVlMzBjZDNmMzE0ZC4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3Bl
Y3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlLXRyZWUtZXZlbnRzLWV4cGVjdGVkLnR4dAorKysg
L2Rldi9udWxsCkBAIC0xLDI4ICswLDAgQEAKLVRlc3RzIHRvcCBmcmFtZSBuYXZpZ2F0aW9uIGV2
ZW50cy4KLQotCi1OYXZpZ2F0aW5nIGNoaWxkIGZyYW1lIDEKLSAgICBGcmFtZUFkZGVkIDogY2hp
bGQxCi0gICAgRnJhbWVOYXZpZ2F0ZWQgOiBjaGlsZDEKLSAgICBTZWN1cml0eU9yaWdpbkFkZGVk
IDogaHR0cDovL2ZyYW1lL2NoaWxkMS5odG1sCi1OYXZpZ2F0aW5nIGNoaWxkIGZyYW1lIDEgdG8g
YSBkaWZmZXJlbnQgVVJMCi0gICAgU2VjdXJpdHlPcmlnaW5SZW1vdmVkIDogaHR0cDovL2ZyYW1l
L2NoaWxkMS5odG1sCi0gICAgRnJhbWVOYXZpZ2F0ZWQgOiBjaGlsZDEKLSAgICBTZWN1cml0eU9y
aWdpbkFkZGVkIDogaHR0cDovL2ZyYW1lL2NoaWxkMS1uZXcuaHRtbAotTmF2aWdhdGluZyBjaGls
ZCBmcmFtZSAyCi0gICAgRnJhbWVBZGRlZCA6IGNoaWxkMgotICAgIEZyYW1lTmF2aWdhdGVkIDog
Y2hpbGQyCi0gICAgU2VjdXJpdHlPcmlnaW5BZGRlZCA6IGh0dHA6Ly9mcmFtZS9jaGlsZDIuaHRt
bAotRGV0YWNoaW5nIGNoaWxkIGZyYW1lIDEKLSAgICBTZWN1cml0eU9yaWdpblJlbW92ZWQgOiBo
dHRwOi8vZnJhbWUvY2hpbGQxLW5ldy5odG1sCi0gICAgRnJhbWVEZXRhY2hlZCA6IGNoaWxkMQot
TmF2aWdhdGluZyByb290IGZyYW1lCi0gICAgU2VjdXJpdHlPcmlnaW5SZW1vdmVkIDogaHR0cDov
L2ZyYW1lL2NoaWxkMi5odG1sCi0gICAgU2VjdXJpdHlPcmlnaW5SZW1vdmVkIDogaHR0cDovL2Zy
YW1lL3Jvb3QxLmh0bWwKLSAgICBGcmFtZURldGFjaGVkIDogY2hpbGQyCi0gICAgRnJhbWVEZXRh
Y2hlZCA6IHJvb3QxCi0gICAgRnJhbWVBZGRlZCA6IHJvb3QyCi0gICAgRnJhbWVOYXZpZ2F0ZWQg
OiByb290MgotICAgIE1haW5GcmFtZU5hdmlnYXRlZCA6IHJvb3QyCi0gICAgU2VjdXJpdHlPcmln
aW5BZGRlZCA6IGh0dHA6Ly9mcmFtZS9yb290Mi5odG1sCi0KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2UtdHJlZS1ldmVu
dHMuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUv
cmVzb3VyY2UtdHJlZS1ldmVudHMuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
ZWUxZWM5ZDc1YjVkZDc1ZmNjNjA3M2ZmMTQzOThkN2YwODk3OGRiZi4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2lu
c3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlLXRyZWUtZXZlbnRzLmh0bWwKKysrIC9kZXYv
bnVsbApAQCAtMSw4MCArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uL2lu
c3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMtdGVz
dC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0icmVzb3VyY2UtdHJlZS10ZXN0LmpzIj48L3Nj
cmlwdD4KLQotPHNjcmlwdD4KLQotZnVuY3Rpb24gdGVzdCgpCi17Ci0gICAgSW5zcGVjdG9yVGVz
dC5ydW5BZnRlclJlc291cmNlc0FyZUZpbmlzaGVkKFsiZHVtbXktaWZyYW1lLmh0bWwiLCAiaW5z
cGVjdG9yLXRlc3QuanMiLCAicmVzb3VyY2VzLXRlc3QuanMiLCAicmVzb3VyY2UtdHJlZS10ZXN0
LmpzIl0sIHN0ZXAxKTsKLQotICAgIGZ1bmN0aW9uIHN0ZXAxKCkKLSAgICB7Ci0gICAgICAgIFdl
Ykluc3BlY3Rvci5yZXNvdXJjZVRyZWVNb2RlbC5fZnJhbWVOYXZpZ2F0ZWQoY3JlYXRlRnJhbWVQ
YXlsb2FkKCJyb290MSIpKTsKLQotICAgICAgICBmb3IgKHZhciBldmVudE5hbWUgaW4gV2ViSW5z
cGVjdG9yLlJlc291cmNlVHJlZU1vZGVsLkV2ZW50VHlwZXMpCi0gICAgICAgICAgICBXZWJJbnNw
ZWN0b3IucmVzb3VyY2VUcmVlTW9kZWwuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuUmVz
b3VyY2VUcmVlTW9kZWwuRXZlbnRUeXBlc1tldmVudE5hbWVdLCBldmVudEhhbmRsZXIuYmluZCh0
aGlzLCBldmVudE5hbWUpKTsKLSAgICAKLSAgICAgICAgZnVuY3Rpb24gZXZlbnRIYW5kbGVyKGV2
ZW50TmFtZSwgZXZlbnQpCi0gICAgICAgIHsKLSAgICAgICAgICAgIHN3aXRjaCAoZXZlbnROYW1l
KSB7Ci0gICAgICAgICAgICBjYXNlICJGcmFtZUFkZGVkIjoKLSAgICAgICAgICAgIGNhc2UgIkZy
YW1lTmF2aWdhdGVkIjoKLSAgICAgICAgICAgIGNhc2UgIkZyYW1lRGV0YWNoZWQiOgotICAgICAg
ICAgICAgY2FzZSAiTWFpbkZyYW1lTmF2aWdhdGVkIjoKLSAgICAgICAgICAgICAgICB2YXIgZnJh
bWUgPSBldmVudC5kYXRhOwotICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0
KCIgICAgIiArIGV2ZW50TmFtZSArICIgOiAiICsgZnJhbWUuaWQpOwotICAgICAgICAgICAgICAg
IGJyZWFrOwotICAgICAgICAgICAgY2FzZSAiU2VjdXJpdHlPcmlnaW5BZGRlZCI6Ci0gICAgICAg
ICAgICBjYXNlICJTZWN1cml0eU9yaWdpblJlbW92ZWQiOgotICAgICAgICAgICAgICAgIHZhciBz
ZWN1cml0eU9yaWdpbiA9IGV2ZW50LmRhdGE7Ci0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVz
dC5hZGRSZXN1bHQoIiAgICAiICsgZXZlbnROYW1lICsgIiA6ICIgKyBzZWN1cml0eU9yaWdpbik7
Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBkZWZhdWx0OgotICAgICAgICAg
ICAgfQotICAgICAgICAgICAgCi0gICAgICAgIH0KLQotICAgICAgICBJbnNwZWN0b3JUZXN0LmFk
ZFJlc3VsdCgiTmF2aWdhdGluZyBjaGlsZCBmcmFtZSAxIik7Ci0gICAgICAgIFdlYkluc3BlY3Rv
ci5yZXNvdXJjZVRyZWVNb2RlbC5fZnJhbWVOYXZpZ2F0ZWQoY3JlYXRlRnJhbWVQYXlsb2FkKCJj
aGlsZDEiLCAicm9vdDEiKSk7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJOYXZp
Z2F0aW5nIGNoaWxkIGZyYW1lIDEgdG8gYSBkaWZmZXJlbnQgVVJMIik7Ci0gICAgICAgIFdlYklu
c3BlY3Rvci5yZXNvdXJjZVRyZWVNb2RlbC5fZnJhbWVOYXZpZ2F0ZWQoY3JlYXRlRnJhbWVQYXls
b2FkKCJjaGlsZDEiLCAicm9vdDEiLCAiY2hpbGQxLW5ldyIpKTsKLSAgICAgICAgSW5zcGVjdG9y
VGVzdC5hZGRSZXN1bHQoIk5hdmlnYXRpbmcgY2hpbGQgZnJhbWUgMiIpOwotICAgICAgICBXZWJJ
bnNwZWN0b3IucmVzb3VyY2VUcmVlTW9kZWwuX2ZyYW1lTmF2aWdhdGVkKGNyZWF0ZUZyYW1lUGF5
bG9hZCgiY2hpbGQyIiwgInJvb3QxIikpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3Vs
dCgiRGV0YWNoaW5nIGNoaWxkIGZyYW1lIDEiKTsKLSAgICAgICAgV2ViSW5zcGVjdG9yLnJlc291
cmNlVHJlZU1vZGVsLl9mcmFtZURldGFjaGVkKCJjaGlsZDEiKTsKLQotICAgICAgICBJbnNwZWN0
b3JUZXN0LmFkZFJlc3VsdCgiTmF2aWdhdGluZyByb290IGZyYW1lIik7Ci0gICAgICAgIFdlYklu
c3BlY3Rvci5yZXNvdXJjZVRyZWVNb2RlbC5fZnJhbWVOYXZpZ2F0ZWQoY3JlYXRlRnJhbWVQYXls
b2FkKCJyb290MiIpKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKLSAg
ICB9Ci0KLSAgICBmdW5jdGlvbiBjcmVhdGVGcmFtZVBheWxvYWQoaWQsIHBhcmVudElkLCBuYW1l
KQotICAgIHsKLSAgICAgICAgdmFyIGZyYW1lUGF5bG9hZCA9IHt9OwotICAgICAgICBmcmFtZVBh
eWxvYWQuaWQgPSBpZDsKLSAgICAgICAgZnJhbWVQYXlsb2FkLnBhcmVudElkID0gcGFyZW50SWQg
fHwgIiI7Ci0gICAgICAgIGZyYW1lUGF5bG9hZC5sb2FkZXJJZCA9ICJsb2FkZXItIiArIGlkOwot
ICAgICAgICBmcmFtZVBheWxvYWQubmFtZSA9ICJmcmFtZS0iICsgaWQ7Ci0gICAgICAgIGZyYW1l
UGF5bG9hZC51cmwgPSAiaHR0cDovL2ZyYW1lLyIgKyAobmFtZSB8fCBpZCkgKyAiLmh0bWwiOwot
ICAgICAgICBmcmFtZVBheWxvYWQuc2VjdXJpdHlPcmlnaW4gPSBmcmFtZVBheWxvYWQudXJsOwot
ICAgICAgICBmcmFtZVBheWxvYWQubWltZVR5cGUgPSAidGV4dC9odG1sIjsKLSAgICAgICAgcmV0
dXJuIGZyYW1lUGF5bG9hZDsKLSAgICB9Ci19Ci0KLTwvc2NyaXB0PgotCi08L2hlYWQ+Ci0KLTxi
b2R5PgotPHA+Ci1UZXN0cyB0b3AgZnJhbWUgbmF2aWdhdGlvbiBldmVudHMuCi08L3A+Ci0KLTxp
ZnJhbWUgc3JjPSJyZXNvdXJjZXMvZHVtbXktaWZyYW1lLmh0bWwiIG9ubG9hZD0icnVuVGVzdCgp
Ij4KLQotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZS10cmVlLWZyYW1lLWFkZC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jl
c291cmNlLXRyZWUtZnJhbWUtYWRkLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggNWUzZWY2YjcwM2M0ZTAyMjdkN2NiZjkwMzhhZTUzODViMzFjZjJjZC4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlLXRyZWUtZnJhbWUtYWRkLWV4
cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDY5ICswLDAgQEAKLUNPTlNPTEUgTUVTU0FH
RTogbGluZSAyMTogaWZyYW1lIG5hdmlnYXRlZAotVGVzdHMgcmVzb3VyY2UgdHJlZSBtb2RlbCBv
biBpZnJhbWUgYWRkaXRpb24sIGNvbXBhcmVzIHJlc291cmNlIHRyZWUgYWdhaW5zdCBnb2xkZW4u
IEV2ZXJ5IGxpbmUgaXMgaW1wb3J0YW50LgotCi1CZWZvcmUgYWRkaXRpb24KLT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotUmVzb3VyY2VzOgotc2NyaXB0IGh0dHA6Ly8xMjcu
MC4wLjE6ODAwMC9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMKLWRvY3VtZW50IGh0dHA6Ly8x
MjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZS10cmVlLWZyYW1l
LWFkZC5odG1sCi1zY3JpcHQgaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJj
ZS10cmVlL3Jlc291cmNlLXRyZWUtdGVzdC5qcwotc3R5bGVzaGVldCBodHRwOi8vMTI3LjAuMC4x
OjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL3N0eWxlcy1pbml0aWFsLmNz
cwotc2NyaXB0IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2VzLXRlc3Qu
anMKLQotUmVzb3VyY2VzIFVSTCBNYXA6Ci1odHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9y
L2luc3BlY3Rvci10ZXN0LmpzID09IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvaW5z
cGVjdG9yLXRlc3QuanMKLWh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2Ut
dHJlZS9yZXNvdXJjZS10cmVlLWZyYW1lLWFkZC5odG1sID09IGh0dHA6Ly8xMjcuMC4wLjE6ODAw
MC9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZS10cmVlLWZyYW1lLWFkZC5odG1sCi1o
dHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2UtdHJl
ZS10ZXN0LmpzID09IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2UtdHJl
ZS9yZXNvdXJjZS10cmVlLXRlc3QuanMKLWh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3Iv
cmVzb3VyY2UtdHJlZS9yZXNvdXJjZXMvc3R5bGVzLWluaXRpYWwuY3NzID09IGh0dHA6Ly8xMjcu
MC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZXMvc3R5bGVzLWluaXRp
YWwuY3NzCi1odHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlcy10ZXN0Lmpz
ID09IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2VzLXRlc3QuanMKLQot
UmVzb3VyY2VzIFRyZWU6Ci1GcmFtZXMKLSAgICAocmVzb3VyY2UtdHJlZS1mcmFtZS1hZGQuaHRt
bCkKLSAgICAgICAgU2NyaXB0cwotICAgICAgICAgICAgaW5zcGVjdG9yLXRlc3QuanMKLSAgICAg
ICAgICAgIHJlc291cmNlLXRyZWUtdGVzdC5qcwotICAgICAgICAgICAgcmVzb3VyY2VzLXRlc3Qu
anMKLSAgICAgICAgU3R5bGVzaGVldHMKLSAgICAgICAgICAgIHN0eWxlcy1pbml0aWFsLmNzcwot
ICAgICAgICByZXNvdXJjZS10cmVlLWZyYW1lLWFkZC5odG1sCi0KLUFmdGVyIGFkZGl0aW9uCi09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLVJlc291cmNlczoKLXNjcmlwdCBo
dHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzCi1kb2N1bWVu
dCBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2Ut
dHJlZS1mcmFtZS1hZGQuaHRtbAotc2NyaXB0IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0
b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZS10cmVlLXRlc3QuanMKLWRvY3VtZW50IGh0dHA6Ly8x
MjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZXMvcmVzb3VyY2Ut
dHJlZS1mcmFtZS1hZGQtaWZyYW1lLmh0bWwKLXNjcmlwdCBodHRwOi8vMTI3LjAuMC4xOjgwMDAv
aW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL3NjcmlwdC1uYXZpZ2F0ZWQuanMKLXN0
eWxlc2hlZXQgaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jl
c291cmNlcy9zdHlsZXMtaW5pdGlhbC5jc3MKLXN0eWxlc2hlZXQgaHR0cDovLzEyNy4wLjAuMTo4
MDAwL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlcy9zdHlsZXMtbmF2aWdhdGVkLmNz
cwotc2NyaXB0IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2VzLXRlc3Qu
anMKLQotUmVzb3VyY2VzIFVSTCBNYXA6Ci1odHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9y
L2luc3BlY3Rvci10ZXN0LmpzID09IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvaW5z
cGVjdG9yLXRlc3QuanMKLWh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2Ut
dHJlZS9yZXNvdXJjZS10cmVlLWZyYW1lLWFkZC5odG1sID09IGh0dHA6Ly8xMjcuMC4wLjE6ODAw
MC9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZS10cmVlLWZyYW1lLWFkZC5odG1sCi1o
dHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2UtdHJl
ZS10ZXN0LmpzID09IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2UtdHJl
ZS9yZXNvdXJjZS10cmVlLXRlc3QuanMKLWh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3Iv
cmVzb3VyY2UtdHJlZS9yZXNvdXJjZXMvcmVzb3VyY2UtdHJlZS1mcmFtZS1hZGQtaWZyYW1lLmh0
bWwgPT0gaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291
cmNlcy9yZXNvdXJjZS10cmVlLWZyYW1lLWFkZC1pZnJhbWUuaHRtbAotaHR0cDovLzEyNy4wLjAu
MTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlcy9zY3JpcHQtbmF2aWdhdGVk
LmpzID09IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNv
dXJjZXMvc2NyaXB0LW5hdmlnYXRlZC5qcwotaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rv
ci9yZXNvdXJjZS10cmVlL3Jlc291cmNlcy9zdHlsZXMtaW5pdGlhbC5jc3MgPT0gaHR0cDovLzEy
Ny4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlcy9zdHlsZXMtaW5p
dGlhbC5jc3MKLWh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9y
ZXNvdXJjZXMvc3R5bGVzLW5hdmlnYXRlZC5jc3MgPT0gaHR0cDovLzEyNy4wLjAuMTo4MDAwL2lu
c3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlcy9zdHlsZXMtbmF2aWdhdGVkLmNzcwotaHR0
cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZXMtdGVzdC5qcyA9PSBodHRwOi8v
MTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlcy10ZXN0LmpzCi0KLVJlc291cmNlcyBU
cmVlOgotRnJhbWVzCi0gICAgKHJlc291cmNlLXRyZWUtZnJhbWUtYWRkLmh0bWwpCi0gICAgICAg
IChyZXNvdXJjZS10cmVlLWZyYW1lLWFkZC1pZnJhbWUuaHRtbCkKLSAgICAgICAgICAgIFNjcmlw
dHMKLSAgICAgICAgICAgICAgICBzY3JpcHQtbmF2aWdhdGVkLmpzCi0gICAgICAgICAgICBTdHls
ZXNoZWV0cwotICAgICAgICAgICAgICAgIHN0eWxlcy1uYXZpZ2F0ZWQuY3NzCi0gICAgICAgICAg
ICByZXNvdXJjZS10cmVlLWZyYW1lLWFkZC1pZnJhbWUuaHRtbAotICAgICAgICBTY3JpcHRzCi0g
ICAgICAgICAgICBpbnNwZWN0b3ItdGVzdC5qcwotICAgICAgICAgICAgcmVzb3VyY2UtdHJlZS10
ZXN0LmpzCi0gICAgICAgICAgICByZXNvdXJjZXMtdGVzdC5qcwotICAgICAgICBTdHlsZXNoZWV0
cwotICAgICAgICAgICAgc3R5bGVzLWluaXRpYWwuY3NzCi0gICAgICAgIHJlc291cmNlLXRyZWUt
ZnJhbWUtYWRkLmh0bWwKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNw
ZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZS10cmVlLWZyYW1lLWFkZC5odG1sIGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZS10cmVlLWZy
YW1lLWFkZC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxN2RhYzI3ZmUzNmNm
MzIwYjJhZGUyNWFjYjhlN2VmM2Q4ZmFkYzQ0Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291
cmNlLXRyZWUvcmVzb3VyY2UtdHJlZS1mcmFtZS1hZGQuaHRtbAorKysgL2Rldi9udWxsCkBAIC0x
LDYzICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vaW5zcGVjdG9yLXRl
c3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy10ZXN0LmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSJyZXNvdXJjZS10cmVlLXRlc3QuanMiPjwvc2NyaXB0PgotCi08
bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9InJlc291cmNlcy9zdHlsZXMtaW5pdGlhbC5jc3Mi
PgotCi08c2NyaXB0PgotCi1mdW5jdGlvbiBjcmVhdGVJZnJhbWUoKQotewotICAgIHZhciBpZnJh
bWUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKTsKLSAgICBpZnJhbWUuc2V0QXR0
cmlidXRlKCJzcmMiLCAicmVzb3VyY2VzL3Jlc291cmNlLXRyZWUtZnJhbWUtYWRkLWlmcmFtZS5o
dG1sIik7Ci0gICAgaWZyYW1lLm9ubG9hZCA9IG9uSWZyYW1lTG9hZDsKLSAgICBkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKGlmcmFtZSk7Ci19Ci0KLWZ1bmN0aW9uIG9uSWZyYW1lTG9hZCgpCi17
Ci0gICAgY29uc29sZS5sb2coImlmcmFtZSBuYXZpZ2F0ZWQiKTsKLX0KLQotZnVuY3Rpb24gdGVz
dCgpCi17Ci0gICAgV2ViSW5zcGVjdG9yLnNob3dQYW5lbCgicmVzb3VyY2VzIik7Ci0gICAgSW5z
cGVjdG9yVGVzdC5ydW5BZnRlclJlc291cmNlc0FyZUZpbmlzaGVkKFsicmVzb3VyY2UtdHJlZS1m
cmFtZS1hZGQuaHRtbCIsICJyZXNvdXJjZS10cmVlLXRlc3QuanMiLCAic3R5bGVzLWluaXRpYWwu
Y3NzIl0sIHN0ZXAxKTsKLQotICAgIGZ1bmN0aW9uIHN0ZXAxKCkKLSAgICB7Ci0gICAgICAgIElu
c3BlY3RvclRlc3QuYWRkUmVzdWx0KCJCZWZvcmUgYWRkaXRpb24iKTsKLSAgICAgICAgSW5zcGVj
dG9yVGVzdC5hZGRSZXN1bHQoIj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSIp
OwotICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBSZXNvdXJjZVRyZWVFdmVyeXRoaW5nKCk7Ci0g
ICAgICAgIEluc3BlY3RvclRlc3QuYWRkQ29uc29sZVNuaWZmZXIoc3RlcDIpOwotICAgICAgICBJ
bnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJjcmVhdGVJZnJhbWUoKSIpOwotICAgIH0KLQot
ICAgIGZ1bmN0aW9uIHN0ZXAyKCkKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QucnVuQWZ0
ZXJSZXNvdXJjZXNBcmVGaW5pc2hlZChbInJlc291cmNlLXRyZWUtZnJhbWUtYWRkLWlmcmFtZS5o
dG1sIiwgInN0eWxlcy1uYXZpZ2F0ZWQuY3NzIiwgInNjcmlwdC1uYXZpZ2F0ZWQuanMiXSwgc3Rl
cDMpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0ZXAzKCkKLSAgICB7Ci0gICAgICAgIEluc3Bl
Y3RvclRlc3QuYWRkUmVzdWx0KCIiKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQo
IkFmdGVyIGFkZGl0aW9uIik7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCI9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0iKTsKLSAgICAgICAgSW5zcGVjdG9yVGVz
dC5kdW1wUmVzb3VyY2VUcmVlRXZlcnl0aGluZygpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmNv
bXBsZXRlVGVzdCgpOwotICAgIH0KLX0KLQotPC9zY3JpcHQ+Ci0KLTwvaGVhZD4KLQotPGJvZHkg
b25sb2FkPSJydW5UZXN0KCkiPgotPHA+Ci1UZXN0cyByZXNvdXJjZSB0cmVlIG1vZGVsIG9uIGlm
cmFtZSBhZGRpdGlvbiwgY29tcGFyZXMgcmVzb3VyY2UgdHJlZSBhZ2FpbnN0IGdvbGRlbi4gRXZl
cnkgbGluZSBpcyBpbXBvcnRhbnQuCi08L3A+Ci0KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3Vy
Y2UtdHJlZS1mcmFtZS1uYXZpZ2F0ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlLXRyZWUtZnJhbWUtbmF2aWdhdGUt
ZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzZGYwNjJmY2I1NDM2
YTJhNjIyM2NkODVhZmZhNjk1MjY3ZmYzNGFlLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291
cmNlLXRyZWUvcmVzb3VyY2UtdHJlZS1mcmFtZS1uYXZpZ2F0ZS1leHBlY3RlZC50eHQKKysrIC9k
ZXYvbnVsbApAQCAtMSw4MSArMCwwIEBACi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMjI6IGlmcmFt
ZSBuYXZpZ2F0ZWQKLVRlc3RzIHJlc291cmNlIHRyZWUgbW9kZWwgb24gaWZyYW1lIG5hdmlnYXRp
b24sIGNvbXBhcmVzIHJlc291cmNlIHRyZWUgYWdhaW5zdCBnb2xkZW4uIEV2ZXJ5IGxpbmUgaXMg
aW1wb3J0YW50LgotCi1CZWZvcmUgbmF2aWdhdGlvbgotPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci1SZXNvdXJjZXM6Ci1zY3JpcHQgaHR0cDovLzEyNy4wLjAuMTo4MDAwL2lu
c3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcwotZG9jdW1lbnQgaHR0cDovLzEyNy4wLjAuMTo4MDAw
L2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlLXRyZWUtZnJhbWUtbmF2aWdhdGUuaHRt
bAotc2NyaXB0IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9y
ZXNvdXJjZS10cmVlLXRlc3QuanMKLWRvY3VtZW50IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNw
ZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZXMvcmVzb3VyY2UtdHJlZS1mcmFtZS1uYXZpZ2F0
ZS1pZnJhbWUtYmVmb3JlLmh0bWwKLXNjcmlwdCBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVj
dG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL3NjcmlwdC1pbml0aWFsLmpzCi1zdHlsZXNoZWV0
IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZXMv
c3R5bGVzLWluaXRpYWwtMi5jc3MKLXN0eWxlc2hlZXQgaHR0cDovLzEyNy4wLjAuMTo4MDAwL2lu
c3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlcy9zdHlsZXMtaW5pdGlhbC5jc3MKLXNjcmlw
dCBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlcy10ZXN0LmpzCi0KLVJl
c291cmNlcyBVUkwgTWFwOgotaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9pbnNwZWN0
b3ItdGVzdC5qcyA9PSBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL2luc3BlY3Rvci10
ZXN0LmpzCi1odHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVz
b3VyY2UtdHJlZS1mcmFtZS1uYXZpZ2F0ZS5odG1sID09IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9p
bnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZS10cmVlLWZyYW1lLW5hdmlnYXRlLmh0bWwK
LWh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZS10
cmVlLXRlc3QuanMgPT0gaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZS10
cmVlL3Jlc291cmNlLXRyZWUtdGVzdC5qcwotaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rv
ci9yZXNvdXJjZS10cmVlL3Jlc291cmNlcy9yZXNvdXJjZS10cmVlLWZyYW1lLW5hdmlnYXRlLWlm
cmFtZS1iZWZvcmUuaHRtbCA9PSBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291
cmNlLXRyZWUvcmVzb3VyY2VzL3Jlc291cmNlLXRyZWUtZnJhbWUtbmF2aWdhdGUtaWZyYW1lLWJl
Zm9yZS5odG1sCi1odHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUv
cmVzb3VyY2VzL3NjcmlwdC1pbml0aWFsLmpzID09IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNw
ZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZXMvc2NyaXB0LWluaXRpYWwuanMKLWh0dHA6Ly8x
MjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZXMvc3R5bGVzLWlu
aXRpYWwtMi5jc3MgPT0gaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZS10
cmVlL3Jlc291cmNlcy9zdHlsZXMtaW5pdGlhbC0yLmNzcwotaHR0cDovLzEyNy4wLjAuMTo4MDAw
L2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlcy9zdHlsZXMtaW5pdGlhbC5jc3MgPT0g
aHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlcy9z
dHlsZXMtaW5pdGlhbC5jc3MKLWh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3Vy
Y2VzLXRlc3QuanMgPT0gaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZXMt
dGVzdC5qcwotCi1SZXNvdXJjZXMgVHJlZToKLUZyYW1lcwotICAgIChyZXNvdXJjZS10cmVlLWZy
YW1lLW5hdmlnYXRlLmh0bWwpCi0gICAgICAgIGlmcmFtZShyZXNvdXJjZS10cmVlLWZyYW1lLW5h
dmlnYXRlLWlmcmFtZS1iZWZvcmUuaHRtbCkKLSAgICAgICAgICAgIFNjcmlwdHMKLSAgICAgICAg
ICAgICAgICBzY3JpcHQtaW5pdGlhbC5qcwotICAgICAgICAgICAgU3R5bGVzaGVldHMKLSAgICAg
ICAgICAgICAgICBzdHlsZXMtaW5pdGlhbC0yLmNzcwotICAgICAgICAgICAgcmVzb3VyY2UtdHJl
ZS1mcmFtZS1uYXZpZ2F0ZS1pZnJhbWUtYmVmb3JlLmh0bWwKLSAgICAgICAgU2NyaXB0cwotICAg
ICAgICAgICAgaW5zcGVjdG9yLXRlc3QuanMKLSAgICAgICAgICAgIHJlc291cmNlLXRyZWUtdGVz
dC5qcwotICAgICAgICAgICAgcmVzb3VyY2VzLXRlc3QuanMKLSAgICAgICAgU3R5bGVzaGVldHMK
LSAgICAgICAgICAgIHN0eWxlcy1pbml0aWFsLmNzcwotICAgICAgICByZXNvdXJjZS10cmVlLWZy
YW1lLW5hdmlnYXRlLmh0bWwKLQotQWZ0ZXIgbmF2aWdhdGlvbgotPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci1SZXNvdXJjZXM6Ci1zY3JpcHQgaHR0cDovLzEyNy4wLjAuMTo4
MDAwL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcwotZG9jdW1lbnQgaHR0cDovLzEyNy4wLjAu
MTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlLXRyZWUtZnJhbWUtbmF2aWdh
dGUuaHRtbAotc2NyaXB0IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2Ut
dHJlZS9yZXNvdXJjZS10cmVlLXRlc3QuanMKLWRvY3VtZW50IGh0dHA6Ly8xMjcuMC4wLjE6ODAw
MC9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZXMvcmVzb3VyY2UtdHJlZS1mcmFtZS1u
YXZpZ2F0ZS1pZnJhbWUtYWZ0ZXIuaHRtbAotc2NyaXB0IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9p
bnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZXMvc2NyaXB0LW5hdmlnYXRlZC5qcwotc3R5
bGVzaGVldCBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVz
b3VyY2VzL3N0eWxlcy1pbml0aWFsLmNzcwotc3R5bGVzaGVldCBodHRwOi8vMTI3LjAuMC4xOjgw
MDAvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL3N0eWxlcy1uYXZpZ2F0ZWQuY3Nz
Ci1zY3JpcHQgaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZXMtdGVzdC5q
cwotCi1SZXNvdXJjZXMgVVJMIE1hcDoKLWh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3Iv
aW5zcGVjdG9yLXRlc3QuanMgPT0gaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9pbnNw
ZWN0b3ItdGVzdC5qcwotaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZS10
cmVlL3Jlc291cmNlLXRyZWUtZnJhbWUtbmF2aWdhdGUuaHRtbCA9PSBodHRwOi8vMTI3LjAuMC4x
OjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2UtdHJlZS1mcmFtZS1uYXZpZ2F0
ZS5odG1sCi1odHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVz
b3VyY2UtdHJlZS10ZXN0LmpzID09IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVz
b3VyY2UtdHJlZS9yZXNvdXJjZS10cmVlLXRlc3QuanMKLWh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9p
bnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZXMvcmVzb3VyY2UtdHJlZS1mcmFtZS1uYXZp
Z2F0ZS1pZnJhbWUtYWZ0ZXIuaHRtbCA9PSBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9y
L3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL3Jlc291cmNlLXRyZWUtZnJhbWUtbmF2aWdhdGUtaWZy
YW1lLWFmdGVyLmh0bWwKLWh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2Ut
dHJlZS9yZXNvdXJjZXMvc2NyaXB0LW5hdmlnYXRlZC5qcyA9PSBodHRwOi8vMTI3LjAuMC4xOjgw
MDAvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL3NjcmlwdC1uYXZpZ2F0ZWQuanMK
LWh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZXMv
c3R5bGVzLWluaXRpYWwuY3NzID09IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVz
b3VyY2UtdHJlZS9yZXNvdXJjZXMvc3R5bGVzLWluaXRpYWwuY3NzCi1odHRwOi8vMTI3LjAuMC4x
OjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL3N0eWxlcy1uYXZpZ2F0ZWQu
Y3NzID09IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNv
dXJjZXMvc3R5bGVzLW5hdmlnYXRlZC5jc3MKLWh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0
b3IvcmVzb3VyY2VzLXRlc3QuanMgPT0gaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9y
ZXNvdXJjZXMtdGVzdC5qcwotCi1SZXNvdXJjZXMgVHJlZToKLUZyYW1lcwotICAgIChyZXNvdXJj
ZS10cmVlLWZyYW1lLW5hdmlnYXRlLmh0bWwpCi0gICAgICAgIGlmcmFtZShyZXNvdXJjZS10cmVl
LWZyYW1lLW5hdmlnYXRlLWlmcmFtZS1hZnRlci5odG1sKQotICAgICAgICAgICAgU2NyaXB0cwot
ICAgICAgICAgICAgICAgIHNjcmlwdC1uYXZpZ2F0ZWQuanMKLSAgICAgICAgICAgIFN0eWxlc2hl
ZXRzCi0gICAgICAgICAgICAgICAgc3R5bGVzLW5hdmlnYXRlZC5jc3MKLSAgICAgICAgICAgIHJl
c291cmNlLXRyZWUtZnJhbWUtbmF2aWdhdGUtaWZyYW1lLWFmdGVyLmh0bWwKLSAgICAgICAgU2Ny
aXB0cwotICAgICAgICAgICAgaW5zcGVjdG9yLXRlc3QuanMKLSAgICAgICAgICAgIHJlc291cmNl
LXRyZWUtdGVzdC5qcwotICAgICAgICAgICAgcmVzb3VyY2VzLXRlc3QuanMKLSAgICAgICAgU3R5
bGVzaGVldHMKLSAgICAgICAgICAgIHN0eWxlcy1pbml0aWFsLmNzcwotICAgICAgICByZXNvdXJj
ZS10cmVlLWZyYW1lLW5hdmlnYXRlLmh0bWwKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZS10cmVlLWZyYW1lLW5hdmln
YXRlLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZS10cmVl
L3Jlc291cmNlLXRyZWUtZnJhbWUtbmF2aWdhdGUuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggNDhjMGE3YjVkNjliN2ZlN2ZkN2QxOWRkMzYxMThlZTFiNzU3YWMwMy4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlLXRyZWUtZnJhbWUtbmF2aWdh
dGUuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDY2ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08
c2NyaXB0IHNyYz0iLi4vaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
Ii4uL3Jlc291cmNlcy10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJyZXNvdXJjZS10
cmVlLXRlc3QuanMiPjwvc2NyaXB0PgotCi08bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9InJl
c291cmNlcy9zdHlsZXMtaW5pdGlhbC5jc3MiPgotCi08c2NyaXB0PgotCi1mdW5jdGlvbiBuYXZp
Z2F0ZUlmcmFtZSgpCi17Ci0gICAgdmFyIGlmcmFtZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJpZnJhbWUiKTsKLSAgICBpZnJhbWUucmVtb3ZlQXR0cmlidXRlKCJvbmxvYWQiKTsKLSAgICBp
ZnJhbWUub25sb2FkID0gb25JZnJhbWVMb2FkOwotICAgIGlmcmFtZS5zZXRBdHRyaWJ1dGUoInNy
YyIsICJyZXNvdXJjZXMvcmVzb3VyY2UtdHJlZS1mcmFtZS1uYXZpZ2F0ZS1pZnJhbWUtYWZ0ZXIu
aHRtbCIpOwotICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaWZyYW1lKTsKLX0KLQotZnVu
Y3Rpb24gb25JZnJhbWVMb2FkKCkKLXsKLSAgICBjb25zb2xlLmxvZygiaWZyYW1lIG5hdmlnYXRl
ZCIpOwotfQotCi1mdW5jdGlvbiB0ZXN0KCkKLXsKLSAgICBXZWJJbnNwZWN0b3Iuc2hvd1BhbmVs
KCJyZXNvdXJjZXMiKTsKLSAgICBJbnNwZWN0b3JUZXN0LnJ1bkFmdGVyUmVzb3VyY2VzQXJlRmlu
aXNoZWQoWyJyZXNvdXJjZS10cmVlLWZyYW1lLW5hdmlnYXRlLWlmcmFtZS1iZWZvcmUuaHRtbCIs
ICJzY3JpcHQtaW5pdGlhbC5qcyIsICJzdHlsZXMtaW5pdGlhbC5jc3MiLCAic3R5bGVzLWluaXRp
YWwtMi5jc3MiXSwgc3RlcDEpOwotCi0gICAgZnVuY3Rpb24gc3RlcDEoKQotICAgIHsKLSAgICAg
ICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIkJlZm9yZSBuYXZpZ2F0aW9uIik7Ci0gICAgICAg
IEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCI9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0iKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wUmVzb3VyY2VUcmVlRXZlcnl0aGlu
ZygpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZENvbnNvbGVTbmlmZmVyKHN0ZXAyKTsKLSAg
ICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgibmF2aWdhdGVJZnJhbWUoKSIpOwot
ICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0ZXAyKCkKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRl
c3QucnVuQWZ0ZXJSZXNvdXJjZXNBcmVGaW5pc2hlZChbInJlc291cmNlLXRyZWUtZnJhbWUtbmF2
aWdhdGUtaWZyYW1lLWFmdGVyLmh0bWwiLCAic3R5bGVzLW5hdmlnYXRlZC5jc3MiLCAic2NyaXB0
LW5hdmlnYXRlZC5qcyJdLCBzdGVwMyk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc3RlcDMoKQot
ICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIiIpOwotICAgICAgICBJbnNw
ZWN0b3JUZXN0LmFkZFJlc3VsdCgiQWZ0ZXIgbmF2aWdhdGlvbiIpOwotICAgICAgICBJbnNwZWN0
b3JUZXN0LmFkZFJlc3VsdCgiPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Iik7
Ci0gICAgICAgIEluc3BlY3RvclRlc3QuZHVtcFJlc291cmNlVHJlZUV2ZXJ5dGhpbmcoKTsKLSAg
ICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKLSAgICB9Ci19Ci0KLTwvc2NyaXB0
PgotCi08L2hlYWQ+Ci0KLTxib2R5PgotPHA+Ci1UZXN0cyByZXNvdXJjZSB0cmVlIG1vZGVsIG9u
IGlmcmFtZSBuYXZpZ2F0aW9uLCBjb21wYXJlcyByZXNvdXJjZSB0cmVlIGFnYWluc3QgZ29sZGVu
LiBFdmVyeSBsaW5lIGlzIGltcG9ydGFudC4KLTwvcD4KLQotPGlmcmFtZSBpZD0iaWZyYW1lIiBz
cmM9InJlc291cmNlcy9yZXNvdXJjZS10cmVlLWZyYW1lLW5hdmlnYXRlLWlmcmFtZS1iZWZvcmUu
aHRtbCIgb25sb2FkPSJydW5UZXN0KCkiPgotCi08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNl
LXRyZWUtaW52YWxpZC1taW1lLXR5cGUtY3NzLWNvbnRlbnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZS10cmVlLWlu
dmFsaWQtbWltZS10eXBlLWNzcy1jb250ZW50LWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggODkxMjA1MWM0NmRhZTMzMjA0YzIzZTIzMzIzNzI4NTEyYzQwZTQwNC4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlLXRyZWUtaW52YWxp
ZC1taW1lLXR5cGUtY3NzLWNvbnRlbnQtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEs
OSArMCwwIEBACi1UZXN0cyB0aGF0IGNvbnRlbnQgaXMgY29ycmVjdGx5IHNob3duIGZvciBjc3Mg
bG9hZGVkIHdpdGggaW52YWxpZCBtaW1lIHR5cGUgaW4gcXVpcmtzIG1vZGUuCi0KLUJ1ZyA4MDUy
OAotaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNl
cy9zdHlsZXNoZWV0LXRleHQtcGxhaW4ucGhwCi1SZXNvdXJjZS5jb250ZW50OiBib2R5IHsKLSAg
ICBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjoKLX0KLQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlLXRyZWUtaW52YWxp
ZC1taW1lLXR5cGUtY3NzLWNvbnRlbnQuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5z
cGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2UtdHJlZS1pbnZhbGlkLW1pbWUtdHlwZS1jc3Mt
Y29udGVudC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5ZjQzZjVkYzI5ODJm
NWVhMzYyMTk1ZGJhMTAzZmU2MzVkMmRiMGIzLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291
cmNlLXRyZWUvcmVzb3VyY2UtdHJlZS1pbnZhbGlkLW1pbWUtdHlwZS1jc3MtY29udGVudC5odG1s
CisrKyAvZGV2L251bGwKQEAgLTEsMzkgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQg
c3JjPSIuLi9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vcmVz
b3VyY2VzLXRlc3QuanMiPjwvc2NyaXB0PgotPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJy
ZXNvdXJjZXMvc3R5bGVzaGVldC10ZXh0LXBsYWluLnBocCIgdHlwZT0idGV4dC9jc3MiPgotPHNj
cmlwdD4KLWZ1bmN0aW9uIHRlc3QoKQotewotICAgIHZhciBjc3NSZXNvdXJjZTsKLQotICAgIElu
c3BlY3RvclRlc3QucnVuQWZ0ZXJSZXNvdXJjZXNBcmVGaW5pc2hlZChbInN0eWxlc2hlZXQtdGV4
dC1wbGFpbi5waHAiXSwgc3RlcDEpOwotCi0gICAgZnVuY3Rpb24gc3RlcDEoKQotICAgIHsKLSAg
ICAgICAgV2ViSW5zcGVjdG9yLnJlc291cmNlVHJlZU1vZGVsLmZvckFsbFJlc291cmNlcyhmaW5k
Q1NTUmVzb3VyY2UpOwotICAgICAgICBmdW5jdGlvbiBmaW5kQ1NTUmVzb3VyY2UocmVzb3VyY2Up
Ci0gICAgICAgIHsKLSAgICAgICAgICAgIGlmIChyZXNvdXJjZS51cmwuaW5kZXhPZigic3R5bGVz
aGVldC10ZXh0LXBsYWluLnBocCIpICE9PSAtMSkKLSAgICAgICAgICAgICAgICBjc3NSZXNvdXJj
ZSA9IHJlc291cmNlOwotICAgICAgICB9Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0
KGNzc1Jlc291cmNlLnVybCk7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0RXF1YWxzKGNz
c1Jlc291cmNlLnR5cGUsIFdlYkluc3BlY3Rvci5yZXNvdXJjZVR5cGVzLlN0eWxlc2hlZXQsICJS
ZXNvdXJjZSB0eXBlIHNob3VsZCBiZSBTdHlsZXNoZWV0LiIpOwotICAgICAgICBJbnNwZWN0b3JU
ZXN0LmFzc2VydFRydWUoIWNzc1Jlc291cmNlLmZhaWxlZCwgIlJlc291cmNlIGxvYWRpbmcgZmFp
bGVkLiIpOwotICAgICAgICBjc3NSZXNvdXJjZS5yZXF1ZXN0Q29udGVudChzdGVwMik7Ci0gICAg
fQotCi0gICAgZnVuY3Rpb24gc3RlcDIoKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5h
ZGRSZXN1bHQoIlJlc291cmNlLmNvbnRlbnQ6ICIgKyBjc3NSZXNvdXJjZS5jb250ZW50KTsKLSAg
ICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKLSAgICB9Ci19Ci08L3NjcmlwdD4K
LTwvaGVhZD4KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxwPlRlc3RzIHRoYXQgY29udGVu
dCBpcyBjb3JyZWN0bHkgc2hvd24gZm9yIGNzcyBsb2FkZWQgd2l0aCBpbnZhbGlkIG1pbWUgdHlw
ZSBpbiBxdWlya3MgbW9kZS48L3A+Ci08YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9ODA1MjgiPkJ1ZyA4MDUyODwvYT4KLTwvYm9keT4KLTwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUv
cmVzb3VyY2UtdHJlZS1taW1ldHlwZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlLXRyZWUtbWltZXR5cGUtZXhwZWN0
ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxNzcwMzE0YTRhMWJiNWM2NjQ5
OGYyM2U0NmNlZmVhYjQ2YTNjMjExLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlLXRy
ZWUvcmVzb3VyY2UtdHJlZS1taW1ldHlwZS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAt
MSw5ICswLDAgQEAKLVRlc3RzIHRoYXQgcmVzb3VyY2VzIHBhbmVsIGNvcnJlY3RseSBzaG93cyBt
aW1lIHR5cGUgd2hlbiBpdCBsb2FkcyBkYXRhIGZyb20gbWVtb3J5IGNhY2hlLgotCi1CdWcgNjM3
MDEgCi1zY3JpcHQgYXBwbGljYXRpb24veC1qYXZhc2NyaXB0IGh0dHA6Ly8xMjcuMC4wLjE6ODAw
MC9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMKLWRvY3VtZW50IHRleHQvaHRtbCBodHRwOi8v
MTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2UtdHJlZS1taW1l
dHlwZS5odG1sCi1zY3JpcHQgYXBwbGljYXRpb24veC1qYXZhc2NyaXB0IGh0dHA6Ly8xMjcuMC4w
LjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZS10cmVlLXRlc3QuanMKLWlt
YWdlIGltYWdlL3BuZyBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlLXRy
ZWUvcmVzb3VyY2VzL2VtcHR5LnBuZwotc3R5bGVzaGVldCB0ZXh0L2NzcyBodHRwOi8vMTI3LjAu
MC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL3N0eWxlcy1pbml0aWFs
LmNzcwotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNv
dXJjZS10cmVlL3Jlc291cmNlLXRyZWUtbWltZXR5cGUuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2UtdHJlZS1taW1ldHlwZS5odG1s
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiZjcxZWNjNjQ5M2I1OWM3NmQ4ZTA0ZjY3
YzY2ODY4MzIzODg5NDk1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVz
b3VyY2UtdHJlZS1taW1ldHlwZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMzEgKzAsMCBAQAot
PGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0IHNyYz0icmVzb3VyY2UtdHJlZS10ZXN0LmpzIj48L3NjcmlwdD4KLTxsaW5r
IHJlbD0ic3R5bGVzaGVldCIgaHJlZj0icmVzb3VyY2VzL3N0eWxlcy1pbml0aWFsLmNzcyI+Ci08
c2NyaXB0PgotZnVuY3Rpb24gdGVzdCgpCi17Ci0gICAgV2ViSW5zcGVjdG9yLnBhbmVsKCJuZXR3
b3JrIikuX3Jlc2V0KCk7Ci0gICAgV2ViSW5zcGVjdG9yLnJlc291cmNlVHJlZU1vZGVsLmFkZEV2
ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLlJlc291cmNlVHJlZU1vZGVsLkV2ZW50VHlwZXMuQ2Fj
aGVkUmVzb3VyY2VzTG9hZGVkLCBzdGVwMik7Ci0gICAgV2ViSW5zcGVjdG9yLnJlc291cmNlVHJl
ZU1vZGVsLl9mZXRjaFJlc291cmNlVHJlZSgpOwotCi0gICAgZnVuY3Rpb24gc3RlcDIoKQotICAg
IHsKLSAgICAgICAgZnVuY3Rpb24gZm9ybWF0KHJlc291cmNlKQotICAgICAgICB7Ci0gICAgICAg
ICAgICByZXR1cm4gcmVzb3VyY2UudHlwZS5uYW1lKCkgKyAiICIgKyByZXNvdXJjZS5taW1lVHlw
ZSArICIgIiArIHJlc291cmNlLnVybDsKLSAgICAgICAgfQotCi0gICAgICAgIEluc3BlY3RvclRl
c3QuZHVtcFJlc291cmNlcyhmb3JtYXQpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRl
VGVzdCgpOwotICAgIH0KLX0KLTwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgb25sb2FkPSJydW5U
ZXN0KCkiPgotPHA+VGVzdHMgdGhhdCByZXNvdXJjZXMgcGFuZWwgY29ycmVjdGx5IHNob3dzIG1p
bWUgdHlwZSB3aGVuIGl0IGxvYWRzIGRhdGEgZnJvbSBtZW1vcnkgY2FjaGUuPC9wPgotPGEgaHJl
Zj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYzNzAxIj5CdWcgNjM3
MDE8L2E+Ci08aW1nIHNyYz0icmVzb3VyY2VzL2VtcHR5LnBuZyI+Ci08L2JvZHk+Ci08L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZS10
cmVlL3Jlc291cmNlLXRyZWUtbm8teGhycy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlLXRyZWUtbm8teGhycy1leHBl
Y3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDViYzU4ZTZhOTc4MDRkOGIy
YjAzNWMzOGQyNGYzYjQ2M2VlOWVlZjcuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2Ut
dHJlZS9yZXNvdXJjZS10cmVlLW5vLXhocnMtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAg
LTEsNCArMCwwIEBACi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgNjogWEhSIGxvYWRlZDogMQotVGVz
dHMgdGhhdCBYSFJzIGFyZSBub3QgYWRkZWQgdG8gcmVzb3VyY2VUcmVlTW9kZWwuCi0KLUJ1ZyA2
MDMyMQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3Vy
Y2UtdHJlZS9yZXNvdXJjZS10cmVlLW5vLXhocnMuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2UtdHJlZS1uby14aHJzLmh0bWwKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGY1MzQ1ZTJiMTFjYzI2ZDhiNTI0MzEzOTAxMTZk
YWY4Yjg3YjI2MjkuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJj
ZS10cmVlLW5vLXhocnMuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDIzICswLDAgQEAKLTxodG1s
PgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdCBzcmM9Ii4uL25ldHdvcmstdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotZnVu
Y3Rpb24gdGVzdCgpCi17Ci0gICAgSW5zcGVjdG9yVGVzdC5tYWtlU2ltcGxlWEhSKCJHRVQiLCAi
cmVzb3VyY2VzL3Jlc291cmNlLnBocCIsIGZhbHNlLCBzdGVwMik7Ci0KLSAgICBmdW5jdGlvbiBz
dGVwMigpCi0gICAgewotICAgICAgICB2YXIgcmVzb3VyY2UgPSBXZWJJbnNwZWN0b3IucmVzb3Vy
Y2VUcmVlTW9kZWwucmVzb3VyY2VGb3JVUkwoImh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0
b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZXMvcmVzb3VyY2UucGhwIik7Ci0gICAgICAgIEluc3Bl
Y3RvclRlc3QuYXNzZXJ0VHJ1ZSghcmVzb3VyY2UsICJYSFIgcmVzb3VyY2Ugc2hvdWxkIG5vdCBi
ZSBhZGRlZCB0byByZXNvdXJjZVRyZWVNb2RlbC4iKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5j
b21wbGV0ZVRlc3QoKTsKLSAgICB9Ci19Ci08L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IG9ubG9h
ZD0icnVuVGVzdCgpIj4KLTxwPlRlc3RzIHRoYXQgWEhScyBhcmUgbm90IGFkZGVkIHRvIHJlc291
cmNlVHJlZU1vZGVsLjwvcD4KLTxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD02MDMyMSI+QnVnIDYwMzIxPC9hPgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNv
dXJjZS10cmVlLW5vbi11bmlxdWUtdXJsLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2UtdHJlZS1ub24tdW5pcXVlLXVy
bC1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGNiYzUwMWVmYTIy
OTZmOGIyYjhmNjU0NjllOGY2MDRiZmQ3M2U5MGYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVz
b3VyY2UtdHJlZS9yZXNvdXJjZS10cmVlLW5vbi11bmlxdWUtdXJsLWV4cGVjdGVkLnR4dAorKysg
L2Rldi9udWxsCkBAIC0xLDE4ICswLDAgQEAKLVRlc3RzIHJlc291cmNlcyBwYW5lbCBzaG93cyBz
ZXZlcmFsIHJlc291cmNlcyB3aXRoIHRoZSBzYW1lIHVybCBpZiB0aGV5IHdlcmUgbG9hZGVkIHdp
dGggaW5zcGVjdG9yIGFscmVhZHkgb3BlbmVkLgotCi0KLVJlc291cmNlcyBUcmVlOgotRnJhbWVz
Ci0gICAgKHJlc291cmNlLXRyZWUtbm9uLXVuaXF1ZS11cmwuaHRtbCkKLSAgICAgICAgKHJlc291
cmNlLXRyZWUtbm9uLXVuaXF1ZS11cmwtaWZyYW1lLmh0bWwpCi0gICAgICAgICAgICBJbWFnZXMK
LSAgICAgICAgICAgICAgICBzdHlsZXMtbm9uLXVuaXF1ZS11cmwuY3NzCi0gICAgICAgICAgICBT
dHlsZXNoZWV0cwotICAgICAgICAgICAgICAgIHN0eWxlcy1ub24tdW5pcXVlLXVybC5jc3MKLSAg
ICAgICAgICAgIHJlc291cmNlLXRyZWUtbm9uLXVuaXF1ZS11cmwtaWZyYW1lLmh0bWwKLSAgICAg
ICAgU2NyaXB0cwotICAgICAgICAgICAgaW5zcGVjdG9yLXRlc3QuanMKLSAgICAgICAgICAgIHJl
c291cmNlLXRyZWUtdGVzdC5qcwotICAgICAgICAgICAgcmVzb3VyY2VzLXRlc3QuanMKLSAgICAg
ICAgcmVzb3VyY2UtdHJlZS1ub24tdW5pcXVlLXVybC5odG1sCi0KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2UtdHJlZS1u
b24tdW5pcXVlLXVybC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVz
b3VyY2UtdHJlZS9yZXNvdXJjZS10cmVlLW5vbi11bmlxdWUtdXJsLmh0bWwKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IGFlNGViMjMxYzQ1MjhhMzE2YmI5Yjg3ZmQ2YjA1ZWFlYzI4Yjc4
MGYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZS10cmVlLW5v
bi11bmlxdWUtdXJsLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwzNyArMCwwIEBACi08aHRtbD4K
LTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
cmVzb3VyY2UtdHJlZS10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci1mdW5jdGlvbiBsb2Fk
SWZyYW1lKCkKLXsKLSAgICB2YXIgaWZyYW1lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZy
YW1lIik7Ci0gICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChpZnJhbWUpOwotICAgIGlmcmFt
ZS5zcmMgPSAicmVzb3VyY2VzL3Jlc291cmNlLXRyZWUtbm9uLXVuaXF1ZS11cmwtaWZyYW1lLmh0
bWwiOwotfQotCi1mdW5jdGlvbiB0ZXN0KCkKLXsKLSAgICBXZWJJbnNwZWN0b3Iuc2hvd1BhbmVs
KCJyZXNvdXJjZXMiKTsKLSAgICBJbnNwZWN0b3JUZXN0LmFkZFNuaWZmZXIoV2ViSW5zcGVjdG9y
LkZyYW1lVHJlZUVsZW1lbnQucHJvdG90eXBlLCAiYXBwZW5kUmVzb3VyY2UiLCBvblJlc291cmNl
LCB0cnVlKTsKLQotICAgIHZhciBjc3NSZXF1ZXN0c0NvdW50ID0gMDsKLSAgICBmdW5jdGlvbiBv
blJlc291cmNlKHJlc291cmNlKQotICAgIHsKLSAgICAgICAgaWYgKHJlc291cmNlLnVybC5tYXRj
aCgvXC5jc3MkLykgJiYgKytjc3NSZXF1ZXN0c0NvdW50ID09PSAyKSB7Ci0gICAgICAgICAgICBJ
bnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiUmVzb3VyY2VzIFRyZWU6Iik7Ci0gICAgICAgICAgICBJ
bnNwZWN0b3JUZXN0LmR1bXBSZXNvdXJjZXNUcmVlKCk7Ci0gICAgICAgICAgICBJbnNwZWN0b3JU
ZXN0LmNvbXBsZXRlVGVzdCgpOwotICAgICAgICB9Ci0gICAgfQotCi0gICAgSW5zcGVjdG9yVGVz
dC5ldmFsdWF0ZUluUGFnZSgibG9hZElmcmFtZSgpOyIpOwotfQotPC9zY3JpcHQ+Ci08L2hlYWQ+
Ci08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci08cD5UZXN0cyByZXNvdXJjZXMgcGFuZWwgc2hv
d3Mgc2V2ZXJhbCByZXNvdXJjZXMgd2l0aCB0aGUgc2FtZSB1cmwgaWYgdGhleSB3ZXJlIGxvYWRl
ZCB3aXRoIGluc3BlY3RvciBhbHJlYWR5IG9wZW5lZC48L3A+Ci08L2JvZHk+Ci08L2h0bWw+Ci0K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlLXRy
ZWUvcmVzb3VyY2UtdHJlZS1yZWxvYWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZS10cmVlLXJlbG9hZC1leHBlY3Rl
ZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg2ODM3NDZmMTkyOTFjMmI0MTQ4
OTQ5OGQ4MWZmMDI2OTk5MGQ3MDQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2UtdHJl
ZS9yZXNvdXJjZS10cmVlLXJlbG9hZC1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw0
MSArMCwwIEBACi1UZXN0cyByZXNvdXJjZSB0cmVlIG1vZGVsIG9uIHBhZ2UgcmVsb2FkLCBjb21w
YXJlcyByZXNvdXJjZSB0cmVlIGFnYWluc3QgZ29sZGVuLiBFdmVyeSBsaW5lIGlzIGltcG9ydGFu
dC4KLQotCi1QYWdlIHJlbG9hZGVkLgotUmVzb3VyY2VzOgotc2NyaXB0IGh0dHA6Ly8xMjcuMC4w
LjE6ODAwMC9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMKLWRvY3VtZW50IGh0dHA6Ly8xMjcu
MC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZS10cmVlLXJlbG9hZC5o
dG1sCi1zY3JpcHQgaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZS10cmVl
L3Jlc291cmNlLXRyZWUtdGVzdC5qcwotZG9jdW1lbnQgaHR0cDovLzEyNy4wLjAuMTo4MDAwL2lu
c3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlcy9yZXNvdXJjZS10cmVlLXJlbG9hZC1pZnJh
bWUuaHRtbAotc2NyaXB0IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2Ut
dHJlZS9yZXNvdXJjZXMvc2NyaXB0LWluaXRpYWwuanMKLXN0eWxlc2hlZXQgaHR0cDovLzEyNy4w
LjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlcy9zdHlsZXMtaW5pdGlh
bC0yLmNzcwotc3R5bGVzaGVldCBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291
cmNlLXRyZWUvcmVzb3VyY2VzL3N0eWxlcy1pbml0aWFsLmNzcwotc2NyaXB0IGh0dHA6Ly8xMjcu
MC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2VzLXRlc3QuanMKLQotUmVzb3VyY2VzIFVSTCBN
YXA6Ci1odHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzID09
IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMKLWh0dHA6
Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZS10cmVlLXJl
bG9hZC5odG1sID09IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2UtdHJl
ZS9yZXNvdXJjZS10cmVlLXJlbG9hZC5odG1sCi1odHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVj
dG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2UtdHJlZS10ZXN0LmpzID09IGh0dHA6Ly8xMjcuMC4w
LjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZS10cmVlLXRlc3QuanMKLWh0
dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZXMvcmVz
b3VyY2UtdHJlZS1yZWxvYWQtaWZyYW1lLmh0bWwgPT0gaHR0cDovLzEyNy4wLjAuMTo4MDAwL2lu
c3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlcy9yZXNvdXJjZS10cmVlLXJlbG9hZC1pZnJh
bWUuaHRtbAotaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jl
c291cmNlcy9zY3JpcHQtaW5pdGlhbC5qcyA9PSBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVj
dG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL3NjcmlwdC1pbml0aWFsLmpzCi1odHRwOi8vMTI3
LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL3N0eWxlcy1pbml0
aWFsLTIuY3NzID09IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2UtdHJl
ZS9yZXNvdXJjZXMvc3R5bGVzLWluaXRpYWwtMi5jc3MKLWh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9p
bnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZXMvc3R5bGVzLWluaXRpYWwuY3NzID09IGh0
dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZXMvc3R5
bGVzLWluaXRpYWwuY3NzCi1odHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNl
cy10ZXN0LmpzID09IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2VzLXRl
c3QuanMKLQotUmVzb3VyY2VzIFRyZWU6Ci1GcmFtZXMKLSAgICAocmVzb3VyY2UtdHJlZS1yZWxv
YWQuaHRtbCkKLSAgICAgICAgKHJlc291cmNlLXRyZWUtcmVsb2FkLWlmcmFtZS5odG1sKQotICAg
ICAgICAgICAgU2NyaXB0cwotICAgICAgICAgICAgICAgIHNjcmlwdC1pbml0aWFsLmpzCi0gICAg
ICAgICAgICBTdHlsZXNoZWV0cwotICAgICAgICAgICAgICAgIHN0eWxlcy1pbml0aWFsLTIuY3Nz
Ci0gICAgICAgICAgICByZXNvdXJjZS10cmVlLXJlbG9hZC1pZnJhbWUuaHRtbAotICAgICAgICBT
Y3JpcHRzCi0gICAgICAgICAgICBpbnNwZWN0b3ItdGVzdC5qcwotICAgICAgICAgICAgcmVzb3Vy
Y2UtdHJlZS10ZXN0LmpzCi0gICAgICAgICAgICByZXNvdXJjZXMtdGVzdC5qcwotICAgICAgICBT
dHlsZXNoZWV0cwotICAgICAgICAgICAgc3R5bGVzLWluaXRpYWwuY3NzCi0gICAgICAgIHJlc291
cmNlLXRyZWUtcmVsb2FkLmh0bWwKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZS10cmVlLXJlbG9hZC5odG1sIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZS10cmVl
LXJlbG9hZC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5YWIyZTE0OWFhZWNi
Njc4NTE4MzliN2Y2OGYwOTg3NzI3YTI4ZDJjLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291
cmNlLXRyZWUvcmVzb3VyY2UtdHJlZS1yZWxvYWQuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDQx
ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vaW5zcGVjdG9yLXRlc3Qu
anMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy10ZXN0LmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQgc3JjPSJyZXNvdXJjZS10cmVlLXRlc3QuanMiPjwvc2NyaXB0PgotCi08bGlu
ayByZWw9InN0eWxlc2hlZXQiIGhyZWY9InJlc291cmNlcy9zdHlsZXMtaW5pdGlhbC5jc3MiPgot
Ci08c2NyaXB0PgotCi1mdW5jdGlvbiB0ZXN0KCkKLXsKLSAgICBXZWJJbnNwZWN0b3Iuc2hvd1Bh
bmVsKCJyZXNvdXJjZXMiKTsKLQotICAgIEluc3BlY3RvclRlc3QucmVsb2FkUGFnZShzdGVwMSk7
Ci0KLSAgICBmdW5jdGlvbiBzdGVwMSgpCi0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LnJ1
bkFmdGVyUmVzb3VyY2VzQXJlRmluaXNoZWQoWyJyZXNvdXJjZS10cmVlLXJlbG9hZC1pZnJhbWUu
aHRtbCIsICJzY3JpcHQtaW5pdGlhbC5qcyIsICJzdHlsZXMtaW5pdGlhbC0yLmNzcyJdLCBzdGVw
Mik7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc3RlcDIoKQotICAgIHsKLSAgICAgICAgSW5zcGVj
dG9yVGVzdC5kdW1wUmVzb3VyY2VUcmVlRXZlcnl0aGluZygpOwotICAgICAgICBJbnNwZWN0b3JU
ZXN0LmNvbXBsZXRlVGVzdCgpOwotICAgIH0KLX0KLQotPC9zY3JpcHQ+Ci0KLTwvaGVhZD4KLQot
PGJvZHk+Ci08cD4KLVRlc3RzIHJlc291cmNlIHRyZWUgbW9kZWwgb24gcGFnZSByZWxvYWQsIGNv
bXBhcmVzIHJlc291cmNlIHRyZWUgYWdhaW5zdCBnb2xkZW4uIEV2ZXJ5IGxpbmUgaXMgaW1wb3J0
YW50LgotPC9wPgotCi08aWZyYW1lIHNyYz0icmVzb3VyY2VzL3Jlc291cmNlLXRyZWUtcmVsb2Fk
LWlmcmFtZS5odG1sIiBvbmxvYWQ9InJ1blRlc3QoKSI+Ci0KLTwvYm9keT4KLTwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUv
cmVzb3VyY2UtdHJlZS10ZXN0LmpzIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3Iv
cmVzb3VyY2UtdHJlZS9yZXNvdXJjZS10cmVlLXRlc3QuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDRjYTZhNWI4MmMxMjJjN2QxZGNlNWI0MGFmYWIxNzllMmVkZDIwYmYuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZS10cmVlLXRlc3QuanMKKysr
IC9kZXYvbnVsbApAQCAtMSw4OSArMCwwIEBACi12YXIgaW5pdGlhbGl6ZV9SZXNvdXJjZVRyZWVU
ZXN0ID0gZnVuY3Rpb24oKSB7Ci0KLUluc3BlY3RvclRlc3QuZHVtcFJlc291cmNlcyA9IGZ1bmN0
aW9uKGZvcm1hdHRlcikKLXsKLSAgICB2YXIgcmVzdWx0cyA9IFtdOwotCi0gICAgZnVuY3Rpb24g
Zm9ybWF0dGVyV3JhcHBlcihyZXNvdXJjZSkKLSAgICB7Ci0gICAgICAgIGlmIChmb3JtYXR0ZXIp
Ci0gICAgICAgICAgICByZXN1bHRzLnB1c2goeyByZXNvdXJjZTogcmVzb3VyY2UsIHRleHQ6IGZv
cm1hdHRlcihyZXNvdXJjZSkgfSk7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIHJlc3VsdHMu
cHVzaCh7IHJlc291cmNlOiByZXNvdXJjZSwgdGV4dDogcmVzb3VyY2UudXJsIH0pOwotICAgIH0K
LQotICAgIFdlYkluc3BlY3Rvci5yZXNvdXJjZVRyZWVNb2RlbC5mb3JBbGxSZXNvdXJjZXMoZm9y
bWF0dGVyV3JhcHBlcik7Ci0KLSAgICBmdW5jdGlvbiBjb21wYXJhdG9yKHJlc3VsdDEsIHJlc3Vs
dDIpCi0gICAgewotICAgICAgICByZXR1cm4gcmVzdWx0MS5yZXNvdXJjZS51cmwubG9jYWxlQ29t
cGFyZShyZXN1bHQyLnJlc291cmNlLnVybCk7Ci0gICAgfQotICAgIHJlc3VsdHMuc29ydChjb21w
YXJhdG9yKTsKLQotICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcmVzdWx0cy5sZW5ndGg7ICsraSkK
LSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQocmVzdWx0c1tpXS50ZXh0KTsKLX0KLQot
SW5zcGVjdG9yVGVzdC5kdW1wUmVzb3VyY2VzVVJMTWFwID0gZnVuY3Rpb24oKQotewotICAgIHZh
ciByZXN1bHRzID0gW107Ci0gICAgV2ViSW5zcGVjdG9yLnJlc291cmNlVHJlZU1vZGVsLmZvckFs
bFJlc291cmNlcyhjb2xsZWN0KTsKLSAgICBmdW5jdGlvbiBjb2xsZWN0KHJlc291cmNlKQotICAg
IHsKLSAgICAgICAgcmVzdWx0cy5wdXNoKHsgdXJsOiByZXNvdXJjZS51cmwsIHJlc291cmNlOiBX
ZWJJbnNwZWN0b3IucmVzb3VyY2VUcmVlTW9kZWwucmVzb3VyY2VGb3JVUkwocmVzb3VyY2UudXJs
KSB9KTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBjb21wYXJhdG9yKHJlc3VsdDEsIHJlc3VsdDIp
Ci0gICAgewotICAgICAgICBpZiAocmVzdWx0MS51cmwgPiByZXN1bHQyLnVybCkKLSAgICAgICAg
ICAgIHJldHVybiAxOwotICAgICAgICBpZiAocmVzdWx0Mi51cmwgPiByZXN1bHQxLnVybCkKLSAg
ICAgICAgICAgIHJldHVybiAtMTsKLSAgICAgICAgcmV0dXJuIDA7Ci0gICAgfQotCi0gICAgcmVz
dWx0cy5zb3J0KGNvbXBhcmF0b3IpOwotCi0gICAgZm9yICh2YXIgaSA9IDA7IGkgPCByZXN1bHRz
Lmxlbmd0aDsgKytpKQotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdChyZXN1bHRzW2ld
LnVybCArICIgPT0gIiArIHJlc3VsdHNbaV0ucmVzb3VyY2UudXJsKTsKLX0KLQotSW5zcGVjdG9y
VGVzdC5kdW1wUmVzb3VyY2VzVHJlZSA9IGZ1bmN0aW9uKCkKLXsKLSAgICBmdW5jdGlvbiBkdW1w
KHRyZWVJdGVtLCBwcmVmaXgpCi0gICAgewotICAgICAgICAvLyBXZSBkb24ndCBuZWVkIHRvIHBy
aW50IHRoZSBidWJibGVzIGNvbnRlbnQgaGVyZS4KLSAgICAgICAgaWYgKHR5cGVvZih0cmVlSXRl
bS5fcmVzZXRCdWJibGUpID09PSAiZnVuY3Rpb24iKQotICAgICAgICAgICAgdHJlZUl0ZW0uX3Jl
c2V0QnViYmxlKCk7Ci0KLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQocHJlZml4ICsg
dHJlZUl0ZW0ubGlzdEl0ZW1FbGVtZW50LnRleHRDb250ZW50KTsKLQotICAgICAgICB0cmVlSXRl
bS5leHBhbmQoKTsKLSAgICAgICAgdmFyIGNoaWxkcmVuID0gdHJlZUl0ZW0uY2hpbGRyZW47Ci0g
ICAgICAgIGZvciAodmFyIGkgPSAwOyBjaGlsZHJlbiAmJiBpIDwgY2hpbGRyZW4ubGVuZ3RoOyAr
K2kpCi0gICAgICAgICAgICBkdW1wKGNoaWxkcmVuW2ldLCBwcmVmaXggKyAiICAgICIpOwotICAg
IH0KLQotICAgIGR1bXAoV2ViSW5zcGVjdG9yLnNob3dQYW5lbCgicmVzb3VyY2VzIikucmVzb3Vy
Y2VzTGlzdFRyZWVFbGVtZW50LCAiIik7Ci19Ci0KLUluc3BlY3RvclRlc3QuZHVtcFJlc291cmNl
VHJlZUV2ZXJ5dGhpbmcgPSBmdW5jdGlvbigpCi17Ci0gICAgZnVuY3Rpb24gZm9ybWF0KHJlc291
cmNlKQotICAgIHsKLSAgICAgICAgcmV0dXJuIHJlc291cmNlLnR5cGUubmFtZSgpICsgIiAiICsg
cmVzb3VyY2UudXJsOwotICAgIH0KLQotICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJSZXNv
dXJjZXM6Iik7Ci0gICAgSW5zcGVjdG9yVGVzdC5kdW1wUmVzb3VyY2VzKGZvcm1hdCk7Ci0KLSAg
ICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiIik7Ci0gICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1
bHQoIlJlc291cmNlcyBVUkwgTWFwOiIpOwotICAgIEluc3BlY3RvclRlc3QuZHVtcFJlc291cmNl
c1VSTE1hcCgpOwotCi0gICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIiIpOwotICAgIEluc3Bl
Y3RvclRlc3QuYWRkUmVzdWx0KCJSZXNvdXJjZXMgVHJlZToiKTsKLSAgICBJbnNwZWN0b3JUZXN0
LmR1bXBSZXNvdXJjZXNUcmVlKCk7Ci19Ci0KLX07CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlcy9kdW1teS1pZnJhbWUu
aHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVz
b3VyY2VzL2R1bW15LWlmcmFtZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1
M2E3ZjI0Mjk1NDkxNDJmNzhiNzc3NzkwNGIyNjEwMjg1OGQ5NzE2Li4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5z
cGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL2R1bW15LWlmcmFtZS5odG1sCisrKyAvZGV2
L251bGwKQEAgLTEsNiArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPC9oZWFkPgotPGJvZHk+Ci08
L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3Bl
Y3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlcy9keW5hbWljLXNjcmlwdC5qcyBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL2R5bmFtaWMt
c2NyaXB0LmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2OTQwNzI5ZTllYjg0ODYy
YThmMWI0OTBjODQ0MzM1MmE4MTVhZmI5Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNl
LXRyZWUvcmVzb3VyY2VzL2R5bmFtaWMtc2NyaXB0LmpzCisrKyAvZGV2L251bGwKQEAgLTEsMiAr
MCwwIEBACi1mdW5jdGlvbiBmb28oKSB7Ci19CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlcy9lbXB0eS5wbmcgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlcy9lbXB0
eS5wbmcKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGZkNWI5MWVhMDdiOTQ3MzkxNzE0
MDg1ZWE5Yzc2M2QzYTc4NjhkNjguLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKR0lUIGJpbmFyeSBwYXRjaApsaXRlcmFsIDAKSGNtVj9kMDAwMDEKCmxpdGVyYWwgMjYw
CnpjbWVBU0BOPyhvbEh5YHVWQnEhaWEwdnBeajNDU2JCcDlzZldgX2JQcmpqN1BWMUAmNHp3PnYx
Y3VDJndFKHtFLQp6ZFg8ZlVKa0ExLSRZTFB2MG1nMTh2K2FQNG1KLSo5bDkxSG01KFhQWjdrfXJG
JE4qUGBqRlF8T0l+eXBPbndWbHwKelE8N1BkbFdPUFk9Oz5wbDRgSktyWE1rbXJAPjQ0OVl6bS1x
MSRIKlkkd2lxM0MzWGRnTVg3bHVkVV5SSm5RNF84CnpOfnlVOEM2IyZ3ZEZlYDtIdV9Le0h1QDBG
YGUyKjdlI0hJKnhgKWZ0I1c5NUFkYT96T2VUZD1Vanw9fDdLbyowaQpMdERubXtyLVVXfCVmM3FO
CgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2Ut
dHJlZS9yZXNvdXJjZXMvcmVzb3VyY2UtdHJlZS1mcmFtZS1hZGQtaWZyYW1lLmh0bWwgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlcy9yZXNv
dXJjZS10cmVlLWZyYW1lLWFkZC1pZnJhbWUuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMGM4ODRjODQ5ZjU5YTZmZjllNTIxNWIwZTY2Njk3M2FkODY2MmNiMS4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlcy9yZXNvdXJjZS10cmVlLWZyYW1l
LWFkZC1pZnJhbWUuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDEwICswLDAgQEAKLTxodG1sPgot
Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSJzY3JpcHQtbmF2aWdhdGVkLmpzIj48L3NjcmlwdD4KLTxs
aW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0ic3R5bGVzLW5hdmlnYXRlZC5jc3MiPgotPC9oZWFk
PgotCi08Ym9keT4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL3Jlc291cmNlLXRyZWUt
ZnJhbWUtbmF2aWdhdGUtaWZyYW1lLWFmdGVyLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlcy9yZXNvdXJjZS10cmVlLWZyYW1lLW5h
dmlnYXRlLWlmcmFtZS1hZnRlci5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
Yzg4NGM4NDlmNTlhNmZmOWU1MjE1YjBlNjY2OTczYWQ4NjYyY2IxLi4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5z
cGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL3Jlc291cmNlLXRyZWUtZnJhbWUtbmF2aWdh
dGUtaWZyYW1lLWFmdGVyLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxMCArMCwwIEBACi08aHRt
bD4KLQotPGhlYWQ+Ci08c2NyaXB0IHNyYz0ic2NyaXB0LW5hdmlnYXRlZC5qcyI+PC9zY3JpcHQ+
Ci08bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9InN0eWxlcy1uYXZpZ2F0ZWQuY3NzIj4KLTwv
aGVhZD4KLQotPGJvZHk+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlcy9yZXNvdXJjZS10
cmVlLWZyYW1lLW5hdmlnYXRlLWlmcmFtZS1iZWZvcmUuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL3Jlc291cmNlLXRyZWUtZnJh
bWUtbmF2aWdhdGUtaWZyYW1lLWJlZm9yZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCBiMTMxMWYyODZhODkyMmVkNmYyYmQ5NzMyYjEwZjk2Y2U5OTg3OTBkLi4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL3Jlc291cmNlLXRyZWUtZnJhbWUt
bmF2aWdhdGUtaWZyYW1lLWJlZm9yZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTAgKzAsMCBA
QAotPGh0bWw+Ci0KLTxoZWFkPgotPHNjcmlwdCBzcmM9InNjcmlwdC1pbml0aWFsLmpzIj48L3Nj
cmlwdD4KLTxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0ic3R5bGVzLWluaXRpYWwtMi5jc3Mi
PgotPC9oZWFkPgotCi08Ym9keT4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL3Jlc291
cmNlLXRyZWUtbm9uLXVuaXF1ZS11cmwtaWZyYW1lLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlcy9yZXNvdXJjZS10cmVlLW5vbi11
bmlxdWUtdXJsLWlmcmFtZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0Y2I1
Mjc2NjlhOTMxZTZlMTc2MWZiM2MxYWQxNWJkYzdlNTkxZDRkLi4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVj
dG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL3Jlc291cmNlLXRyZWUtbm9uLXVuaXF1ZS11cmwt
aWZyYW1lLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw4ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+
Ci08bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9InN0eWxlcy1ub24tdW5pcXVlLXVybC5jc3Mi
PgotPC9oZWFkPgotPGJvZHk+Ci08L2JvZHk+Ci08L2h0bWw+Ci0KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL3Jlc291
cmNlLXRyZWUtcmVsb2FkLWlmcmFtZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNw
ZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZXMvcmVzb3VyY2UtdHJlZS1yZWxvYWQtaWZyYW1l
Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGIxMzExZjI4NmE4OTIyZWQ2ZjJi
ZDk3MzJiMTBmOTZjZTk5ODc5MGQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2UtdHJl
ZS9yZXNvdXJjZXMvcmVzb3VyY2UtdHJlZS1yZWxvYWQtaWZyYW1lLmh0bWwKKysrIC9kZXYvbnVs
bApAQCAtMSwxMCArMCwwIEBACi08aHRtbD4KLQotPGhlYWQ+Ci08c2NyaXB0IHNyYz0ic2NyaXB0
LWluaXRpYWwuanMiPjwvc2NyaXB0PgotPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJzdHls
ZXMtaW5pdGlhbC0yLmNzcyI+Ci08L2hlYWQ+Ci0KLTxib2R5PgotPC9ib2R5PgotPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2UtdHJl
ZS9yZXNvdXJjZXMvc2NyaXB0LWluaXRpYWwuanMgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2lu
c3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlcy9zY3JpcHQtaW5pdGlhbC5qcwpkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjk0MDcyOWU5ZWI4NDg2MmE4ZjFiNDkwYzg0NDMzNTJh
ODE1YWZiOS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlcy9z
Y3JpcHQtaW5pdGlhbC5qcworKysgL2Rldi9udWxsCkBAIC0xLDIgKzAsMCBAQAotZnVuY3Rpb24g
Zm9vKCkgewotfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3Iv
cmVzb3VyY2UtdHJlZS9yZXNvdXJjZXMvc2NyaXB0LW5hdmlnYXRlZC5qcyBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL3NjcmlwdC1uYXZp
Z2F0ZWQuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY5NDA3MjllOWViODQ4NjJh
OGYxYjQ5MGM4NDQzMzUyYTgxNWFmYjkuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2Ut
dHJlZS9yZXNvdXJjZXMvc2NyaXB0LW5hdmlnYXRlZC5qcworKysgL2Rldi9udWxsCkBAIC0xLDIg
KzAsMCBAQAotZnVuY3Rpb24gZm9vKCkgewotfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZXMvc3R5bGVzLWluaXRpYWwt
Mi5jc3MgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jl
c291cmNlcy9zdHlsZXMtaW5pdGlhbC0yLmNzcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggZjViNjZjYmFiYmE5YjkyODMzNjY4ODNjNjlhMjgxOGViN2NkOThjMi4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlcy9zdHlsZXMtaW5pdGlhbC0yLmNzcwor
KysgL2Rldi9udWxsCkBAIC0xLDMgKzAsMCBAQAotaHRtbCB7Ci0gICAgYmFja2dyb3VuZC1jb2xv
cjogZ3JlZW47Ci19CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rv
ci9yZXNvdXJjZS10cmVlL3Jlc291cmNlcy9zdHlsZXMtaW5pdGlhbC5jc3MgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlcy9zdHlsZXMtaW5p
dGlhbC5jc3MKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGY1YjY2Y2JhYmJhOWI5Mjgz
MzY2ODgzYzY5YTI4MThlYjdjZDk4YzIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2Ut
dHJlZS9yZXNvdXJjZXMvc3R5bGVzLWluaXRpYWwuY3NzCisrKyAvZGV2L251bGwKQEAgLTEsMyAr
MCwwIEBACi1odG1sIHsKLSAgICBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsKLX0KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3Vy
Y2VzL3N0eWxlcy1uYXZpZ2F0ZWQuY3NzIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0
b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZXMvc3R5bGVzLW5hdmlnYXRlZC5jc3MKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IGY1YjY2Y2JhYmJhOWI5MjgzMzY2ODgzYzY5YTI4MThlYjdj
ZDk4YzIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZXMvc3R5
bGVzLW5hdmlnYXRlZC5jc3MKKysrIC9kZXYvbnVsbApAQCAtMSwzICswLDAgQEAKLWh0bWwgewot
ICAgIGJhY2tncm91bmQtY29sb3I6IGdyZWVuOwotfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZXMvc3R5bGVzLW5vbi11
bmlxdWUtdXJsLmNzcyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNl
LXRyZWUvcmVzb3VyY2VzL3N0eWxlcy1ub24tdW5pcXVlLXVybC5jc3MKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IGYzYTJlYWQ0ZmRjNjc5NTVkMjE4M2RmYjQ5NmI0N2IzMDA4YTdjNDIu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZXMvc3R5bGVzLW5v
bi11bmlxdWUtdXJsLmNzcworKysgL2Rldi9udWxsCkBAIC0xLDQgKzAsMCBAQAotYm9keSB7Ci0g
ICAgYmFja2dyb3VuZDogdXJsKCk7Ci19Ci0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL3N0eWxlc2hlZXQtdGV4dC1w
bGFpbi5waHAgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZS10cmVl
L3Jlc291cmNlcy9zdHlsZXNoZWV0LXRleHQtcGxhaW4ucGhwCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDc1NQppbmRleCBmZWFlNzRlZDI2YTljZTgyMzE1N2M3ZmRlNTYyZTNhYzczMDUyNmY1Li4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL3N0eWxlc2hlZXQtdGV4
dC1wbGFpbi5waHAKKysrIC9kZXYvbnVsbApAQCAtMSw2ICswLDAgQEAKLTw/cGhwCi0gICAgaGVh
ZGVyKCJDb250ZW50LVR5cGU6IHRleHQvcGxhaW4iKTsKLT8+Ci1ib2R5IHsKLSAgICBiYWNrZ3Jv
dW5kLWNvbG9yOiBncmVlbjoKLX0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
aW5zcGVjdG9yL3Jlc291cmNlcy10ZXN0LmpzIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNw
ZWN0b3IvcmVzb3VyY2VzLXRlc3QuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDc0
ZmNlNzk1YjRlZjRjNDQ3OWU2MTdjYTBhNTJhZDZjMGQxODFiM2UuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNw
ZWN0b3IvcmVzb3VyY2VzLXRlc3QuanMKKysrIC9kZXYvbnVsbApAQCAtMSw5OSArMCwwIEBACi12
YXIgaW5pdGlhbGl6ZV9SZXNvdXJjZVRlc3QgPSBmdW5jdGlvbigpIHsKLQotSW5zcGVjdG9yVGVz
dC5IQVJQcm9wZXJ0eUZvcm1hdHRlcnMgPSB7Ci0gICAgYm9keVNpemU6ICJmb3JtYXRBc1R5cGVO
YW1lIiwKLSAgICBjb21wcmVzc2lvbjogImZvcm1hdEFzVHlwZU5hbWUiLAotICAgIGhlYWRlcnM6
ICJmb3JtYXRBc1R5cGVOYW1lIiwKLSAgICBoZWFkZXJzU2l6ZTogImZvcm1hdEFzVHlwZU5hbWUi
LAotICAgIGlkOiAiZm9ybWF0QXNUeXBlTmFtZSIsCi0gICAgb25Db250ZW50TG9hZDogImZvcm1h
dEFzVHlwZU5hbWUiLAotICAgIG9uTG9hZDogImZvcm1hdEFzVHlwZU5hbWUiLAotICAgIHJlY2Vp
dmU6ICJmb3JtYXRBc1R5cGVOYW1lIiwKLSAgICBzdGFydGVkRGF0ZVRpbWU6ICJmb3JtYXRBc1Jl
Y2VudFRpbWUiLAotICAgIHRpbWU6ICJmb3JtYXRBc1R5cGVOYW1lIiwKLSAgICB0aW1pbmdzOiAi
Zm9ybWF0QXNUeXBlTmFtZSIsCi0gICAgdmVyc2lvbjogImZvcm1hdEFzVHlwZU5hbWUiLAotICAg
IHdhaXQ6ICJmb3JtYXRBc1R5cGVOYW1lIiwKLX07Ci0KLS8vIGFkZE9iamVjdCBjaGVja3Mgb3du
IHByb3BlcnRpZXMgb25seSwgc28gbWFrZSBhIGRlZXAgY29weSByYXRoZXIgdGhhbiB1c2UgcHJv
dG90eXBlLgotCi1JbnNwZWN0b3JUZXN0LkhBUlByb3BlcnR5Rm9ybWF0dGVyc1dpdGhTaXplID0g
SlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShJbnNwZWN0b3JUZXN0LkhBUlByb3BlcnR5Rm9ybWF0
dGVycykpOwotSW5zcGVjdG9yVGVzdC5IQVJQcm9wZXJ0eUZvcm1hdHRlcnNXaXRoU2l6ZS5zaXpl
ID0gImZvcm1hdEFzVHlwZU5hbWUiOwotCi0KLUluc3BlY3RvclRlc3QucmVxdWVzdFVSTENvbXBh
cmVyID0gZnVuY3Rpb24ocjEsIHIyKQotewotICAgIHJldHVybiByMS5yZXF1ZXN0LnVybC5sb2Nh
bGVDb21wYXJlKHIyLnJlcXVlc3QudXJsKTsKLX0KLQotSW5zcGVjdG9yVGVzdC5ydW5BZnRlckNh
Y2hlZFJlc291cmNlc1Byb2Nlc3NlZCA9IGZ1bmN0aW9uKGNhbGxiYWNrKQotewotICAgIGlmICgh
V2ViSW5zcGVjdG9yLnJlc291cmNlVHJlZU1vZGVsLl9jYWNoZWRSZXNvdXJjZXNQcm9jZXNzZWQp
Ci0gICAgICAgIFdlYkluc3BlY3Rvci5yZXNvdXJjZVRyZWVNb2RlbC5hZGRFdmVudExpc3RlbmVy
KFdlYkluc3BlY3Rvci5SZXNvdXJjZVRyZWVNb2RlbC5FdmVudFR5cGVzLkNhY2hlZFJlc291cmNl
c0xvYWRlZCwgY2FsbGJhY2spOwotICAgIGVsc2UKLSAgICAgICAgY2FsbGJhY2soKTsKLX0KLQot
SW5zcGVjdG9yVGVzdC5ydW5BZnRlclJlc291cmNlc0FyZUZpbmlzaGVkID0gZnVuY3Rpb24ocmVz
b3VyY2VVUkxzLCBjYWxsYmFjaykKLXsKLSAgICB2YXIgcmVzb3VyY2VVUkxzTWFwID0gcmVzb3Vy
Y2VVUkxzLmtleVNldCgpOwotCi0gICAgZnVuY3Rpb24gY2hlY2tSZXNvdXJjZXMoKQotICAgIHsK
LSAgICAgICAgZm9yICh1cmwgaW4gcmVzb3VyY2VVUkxzTWFwKSB7Ci0gICAgICAgICAgICB2YXIg
cmVzb3VyY2UgPSBJbnNwZWN0b3JUZXN0LnJlc291cmNlTWF0Y2hpbmdVUkwodXJsKTsKLSAgICAg
ICAgICAgIGlmIChyZXNvdXJjZSkKLSAgICAgICAgICAgICAgICBkZWxldGUgcmVzb3VyY2VVUkxz
TWFwW3VybF07Ci0gICAgICAgIH0KLSAgICAgICAgaWYgKCFPYmplY3Qua2V5cyhyZXNvdXJjZVVS
THNNYXApLmxlbmd0aCkgewotICAgICAgICAgICAgV2ViSW5zcGVjdG9yLnJlc291cmNlVHJlZU1v
ZGVsLnJlbW92ZUV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLlJlc291cmNlVHJlZU1vZGVsLkV2
ZW50VHlwZXMuUmVzb3VyY2VBZGRlZCwgY2hlY2tSZXNvdXJjZXMpOwotICAgICAgICAgICAgY2Fs
bGJhY2soKTsKLSAgICAgICAgfQotICAgIH0KLSAgICBjaGVja1Jlc291cmNlcygpOwotICAgIGlm
IChPYmplY3Qua2V5cyhyZXNvdXJjZVVSTHNNYXApLmxlbmd0aCkKLSAgICAgICAgV2ViSW5zcGVj
dG9yLnJlc291cmNlVHJlZU1vZGVsLmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLlJlc291
cmNlVHJlZU1vZGVsLkV2ZW50VHlwZXMuUmVzb3VyY2VBZGRlZCwgY2hlY2tSZXNvdXJjZXMpOwot
fQotCi1JbnNwZWN0b3JUZXN0LnNob3dSZXNvdXJjZSA9IGZ1bmN0aW9uKHJlc291cmNlVVJMLCBj
YWxsYmFjaykKLXsKLSAgICB2YXIgcmVwb3J0ZWQgPSBmYWxzZTsKLSAgICBmdW5jdGlvbiBjYWxs
YmFja1dyYXBwZXIoc291cmNlRnJhbWUpCi0gICAgewotICAgICAgICBpZiAocmVwb3J0ZWQpCi0g
ICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIGNhbGxiYWNrKHNvdXJjZUZyYW1lKTsKLSAgICAg
ICAgcmVwb3J0ZWQgPSB0cnVlOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHNob3dSZXNvdXJjZUNh
bGxiYWNrKCkKLSAgICB7Ci0gICAgICAgIHZhciByZXNvdXJjZSA9IEluc3BlY3RvclRlc3QucmVz
b3VyY2VNYXRjaGluZ1VSTChyZXNvdXJjZVVSTCk7Ci0gICAgICAgIGlmICghcmVzb3VyY2UpCi0g
ICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIFdlYkluc3BlY3Rvci5wYW5lbHMucmVzb3VyY2Vz
LnNob3dSZXNvdXJjZShyZXNvdXJjZSwgMSk7Ci0gICAgICAgIHZhciBzb3VyY2VGcmFtZSA9IFdl
Ykluc3BlY3Rvci5wYW5lbHMucmVzb3VyY2VzLl9yZXNvdXJjZVZpZXdGb3JSZXNvdXJjZShyZXNv
dXJjZSk7Ci0gICAgICAgIGlmIChzb3VyY2VGcmFtZS5sb2FkZWQpCi0gICAgICAgICAgICBjYWxs
YmFja1dyYXBwZXIoc291cmNlRnJhbWUpOwotICAgICAgICBlbHNlCi0gICAgICAgICAgICBJbnNw
ZWN0b3JUZXN0LmFkZFNuaWZmZXIoc291cmNlRnJhbWUsICJvblRleHRFZGl0b3JDb250ZW50TG9h
ZGVkIiwgY2FsbGJhY2tXcmFwcGVyLmJpbmQobnVsbCwgc291cmNlRnJhbWUpKTsKLSAgICB9Ci0g
ICAgSW5zcGVjdG9yVGVzdC5ydW5BZnRlclJlc291cmNlc0FyZUZpbmlzaGVkKFtyZXNvdXJjZVVS
TF0sIHNob3dSZXNvdXJjZUNhbGxiYWNrKTsKLX0KLQotSW5zcGVjdG9yVGVzdC5yZXNvdXJjZU1h
dGNoaW5nVVJMID0gZnVuY3Rpb24ocmVzb3VyY2VVUkwpCi17Ci0gICAgdmFyIHJlc3VsdCA9IG51
bGw7Ci0gICAgV2ViSW5zcGVjdG9yLnJlc291cmNlVHJlZU1vZGVsLmZvckFsbFJlc291cmNlcyh2
aXNpdCk7Ci0gICAgZnVuY3Rpb24gdmlzaXQocmVzb3VyY2UpCi0gICAgewotICAgICAgICBpZiAo
cmVzb3VyY2UudXJsLmluZGV4T2YocmVzb3VyY2VVUkwpICE9PSAtMSkgewotICAgICAgICAgICAg
cmVzdWx0ID0gcmVzb3VyY2U7Ci0gICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgfQot
ICAgIH0KLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi19CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZXMvY29tcGlsZWQuanMgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZXMvY29tcGlsZWQuanMKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDFmYmJkYjkxOGFkMDRkOTdhNTc1YWNkMTdlZDYxZDkzMWVmNjUy
ZjcuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2VzL2NvbXBpbGVkLmpzCisrKyAvZGV2
L251bGwKQEAgLTEsMyArMCwwIEBACi13aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsZnVu
Y3Rpb24oKXt2YXIgYT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJidXR0b24iKTthLmlkPSJ0ZXN0
IjthLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixoYW5kbGVDbGljaywhMCk7ZG9jdW1lbnQuYm9k
eS5hcHBlbmRDaGlsZChhKTthPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2EuaWQ9ImJh
cnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJy
cnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJy
cnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJy
cnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJy
cnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJy
cnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJy
cnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJy
cnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJyciI7Ci1kb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKGEpfSk7ZnVuY3Rpb24gaGFuZGxlQ2xpY2soYSl7KG5ldyBD
bGlja0hhbmRsZXIpLmhhbmRsZShhKX07ZnVuY3Rpb24gQ2xpY2tIYW5kbGVyKCl7fUNsaWNrSGFu
ZGxlci5wcm90b3R5cGUuaGFuZGxlPWZ1bmN0aW9uKCl7Y29uc29sZS5sb2coImJ1dHRvbiBjbGlj
a2VkISIpfTsKLS8vQCBzb3VyY2VNYXBwaW5nVVJMPXNvdXJjZS1tYXAuanNvbiAgCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZXMvY29uc29sZS1j
ZC1jb21wbGV0aW9ucy1pZnJhbWUuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVj
dG9yL3Jlc291cmNlcy9jb25zb2xlLWNkLWNvbXBsZXRpb25zLWlmcmFtZS5odG1sCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlMjNmMzQwYjMzMzkxNjdiYzI0YjI5Y2QzOTAxNWJhZDc0
ZjQ1MTgzLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlcy9jb25zb2xlLWNkLWNvbXBs
ZXRpb25zLWlmcmFtZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNCArMCwwIEBACi08c2NyaXB0
PgotdmFyIG15R2xvYmFsVmFyID0gMjAxMTsKLWZ1bmN0aW9uIG15R2xvYmFsRnVuY3Rpb24oKSB7
IH0KLTwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0
b3IvcmVzb3VyY2VzL2NvbnNvbGUtY2QtaWZyYW1lLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL2luc3BlY3Rvci9yZXNvdXJjZXMvY29uc29sZS1jZC1pZnJhbWUuaHRtbApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMWVjMWJjMzA0NzNhOTcxZjE4MzVjODQ3NDBlYjg3ZDdhNGEz
Mzc5OC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZXMvY29uc29sZS1jZC1pZnJhbWUu
aHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDMgKzAsMCBAQAotPHNjcmlwdD4KLXZhciBmb28gPSAy
MDExOwotPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3Bl
Y3Rvci9yZXNvdXJjZXMvY29uc29sZS1yZXNvdXJjZS1lcnJvcnMtaWZyYW1lLmh0bWwgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZXMvY29uc29sZS1yZXNvdXJjZS1l
cnJvcnMtaWZyYW1lLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ3MzE3MmJi
Yzk2MzUxMzJmMjFlNzg2NTRhMGMwNTJjN2ZkMmRkYmMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3Iv
cmVzb3VyY2VzL2NvbnNvbGUtcmVzb3VyY2UtZXJyb3JzLWlmcmFtZS5odG1sCisrKyAvZGV2L251
bGwKQEAgLTEsMTAgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxsaW5rIHJlbD0ic3R5bGVzaGVl
dCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9Ii4uL21pc3NpbmcuY3NzIj4KLTxzY3JpcHQgc3JjPSIu
Li9ub24tZXhpc3RlbnQtc2NyaXB0LmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLQotPGJvZHk+Ci08
aWZyYW1lIHNyYz0iLi4vbm9uLWV4aXN0ZW50LWlmcmFtZS5odG1sIj48L2lmcmFtZT4KLTwvYm9k
eT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9y
L3Jlc291cmNlcy9jb3JzLXRhcmdldC5waHAgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3Bl
Y3Rvci9yZXNvdXJjZXMvY29ycy10YXJnZXQucGhwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDc1NQpp
bmRleCBkNzg0YmFmZjVkYTFhNjFlZjIyNTUyZDFkOTA1YTIwMjY3MWVlNzY2Li4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvaW5zcGVjdG9yL3Jlc291cmNlcy9jb3JzLXRhcmdldC5waHAKKysrIC9kZXYvbnVsbApAQCAt
MSwxMCArMCwwIEBACi08P3BocAotICAgIHBhcnNlX3N0cigkX1NFUlZFUlsnUVVFUllfU1RSSU5H
J10sICRxdWVyeVBhcmFtcyk7Ci0gICAgaWYgKCRxdWVyeVBhcmFtc1siZGVueSJdICE9ICJ5ZXMi
KSB7Ci0gICAgICAgIGhlYWRlcigiQWNjZXNzLWNvbnRyb2wtYWxsb3ctb3JpZ2luOiBodHRwOi8v
MTI3LjAuMC4xOjgwMDAiKTsKLSAgICAgICAgaGVhZGVyKCJBY2Nlc3MtY29udHJvbC1hbGxvdy1o
ZWFkZXJzOiBDb250ZW50LVR5cGUiKTsKLSAgICB9Ci0gICAgaGVhZGVyKCJDb250ZW50LVR5cGU6
IHRleHQvcGxhaW4iKTsKLQotICAgIHByaW50ICJib2R5IgotPz4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlcy9jcm9zcy1vcmlnaW4taWZyYW1l
Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZXMvY3Jvc3Mt
b3JpZ2luLWlmcmFtZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkNTBiOTZh
ZjRmNzQ5ZTBiZGZmZTljMzM0ZTg2YjZjZjk0YTAzMzZlLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9y
L3Jlc291cmNlcy9jcm9zcy1vcmlnaW4taWZyYW1lLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw3
ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08L2hlYWQ+Ci08Ym9keT4KLSAgPHA+Q3Jvc3Mgb3Jp
Z2luIGZyYW1lLjxwPgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2VzL2VjaG8taGVhZGVycy5waHAgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZXMvZWNoby1oZWFkZXJzLnBocApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggYWU2OTU5N2E5Yjk1YzYwMjEyYzYxNTc5ZDg4MmQw
ZmQ0ZGY3MGM1OC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZXMvZWNoby1oZWFkZXJz
LnBocAorKysgL2Rldi9udWxsCkBAIC0xLDkgKzAsMCBAQAotPD9waHAKLQotJGhlYWRlcnMgPSBB
cnJheSgnSFRUUF9YX1dFQklOU1BFQ1RPUl9FWFRFTlNJT04nLCAnSFRUUF9VU0VSX0FHRU5UJyk7
Ci0KLWZvcmVhY2ggKCRoZWFkZXJzIGFzICRoZWFkZXIpIHsKLSAgICBlY2hvICRoZWFkZXIgLiAi
OiAiIC4gJF9TRVJWRVJbJGhlYWRlcl0gLiAiXG4iOwotfQotCi0/PgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2VzL2VtcHR5LnppcCBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlcy9lbXB0eS56aXAKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDE1Y2IwZWNiM2UyMTlkMTcwMTI5NGJmZGYwZmUzZjVjYjVk
MjA4ZTcuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKR0lUIGJpbmFy
eSBwYXRjaApsaXRlcmFsIDAKSGNtVj9kMDAwMDEKCmxpdGVyYWwgMjIKTmNtV0lXV0BUZiowMDBn
MTBIKil8CgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVz
b3VyY2VzL2V4YW1wbGUuY3NzLm1hcCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9y
L3Jlc291cmNlcy9leGFtcGxlLmNzcy5tYXAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDRjMzNkOTRjYjJhMDIzOWYxNWE1MjkzMGE1MmJlNTgxNDIxMWVkYTMuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9p
bnNwZWN0b3IvcmVzb3VyY2VzL2V4YW1wbGUuY3NzLm1hcAorKysgL2Rldi9udWxsCkBAIC0xLDYg
KzAsMCBAQAotewotInZlcnNpb24iOiAiMyIsCi0ibWFwcGluZ3MiOiAiO0FBQ0EsQ0FBRTtFQUNB
LEdBQUcsRUFBRSxHQUFHOztFQUVSLFNBQVMsRUFBRSxJQUFJIiwKLSJzb3VyY2VzIjogWyJleGFt
cGxlLnNjc3MiXSwKLSJmaWxlIjogImV4YW1wbGUuY3NzIgotfQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2VzL2V4YW1wbGUuc2NzcyBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlcy9leGFtcGxlLnNjc3MKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDkwNjdjNWIzMmU5NzZlMjM1YjkxNzg1YTMwZmU2ZGQ5
ZjZhNjE4Y2IuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2VzL2V4YW1wbGUuc2Nzcwor
KysgL2Rldi9udWxsCkBAIC0xLDcgKzAsMCBAQAotLyogQ29tbWVudCAqLwotYSB7Ci0gIGZvbzog
YmFyOwotLyogU09NRSBDT01NRU5UICovCi0gIGZvbnQtc2l6ZTogMTJweDsKLX0KLQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2VzL2V4dGVuc2lv
bi1tYWluLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZXMv
ZXh0ZW5zaW9uLW1haW4uaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNGM5ODYy
MTc2NjU5ZTBlZDQ5ZTU3Mjk1MWM1ZjIwYzFhOWEwN2Q3Ny4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rv
ci9yZXNvdXJjZXMvZXh0ZW5zaW9uLW1haW4uaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDkgKzAs
MCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSJleHRlbnNpb24tbWFpbi5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Ci1vdXRwdXQoIlN0YXJ0ZWQg
ZXh0ZW5zaW9uLiIpOwotZmV0Y2hUZXN0cygpOwotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZXMv
ZXh0ZW5zaW9uLW1haW4uanMgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNv
dXJjZXMvZXh0ZW5zaW9uLW1haW4uanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDEz
ZTcyZDliNWNjZmJkMjcxNjIzODM1OWRjZTVkZTczZTU3YjViZWIuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNw
ZWN0b3IvcmVzb3VyY2VzL2V4dGVuc2lvbi1tYWluLmpzCisrKyAvZGV2L251bGwKQEAgLTEsMTIw
ICswLDAgQEAKLWZ1bmN0aW9uIHRyaW1VUkwodXJsKQotewotICAgIGlmICghdXJsKQotICAgICAg
ICByZXR1cm47Ci0gICAgaWYgKC9eZGF0YTovLnRlc3QodXJsKSkKLSAgICAgICAgcmV0dXJuIHVy
bC5yZXBsYWNlKC8sLiokLywgIi4uLiIpOwotICAgIHJldHVybiB1cmwucmVwbGFjZSgvLipcLy8s
ICIuLi4vIik7Ci19Ci0KLWZ1bmN0aW9uIGR1bXBPYmplY3Qob2JqZWN0LCBub25kZXRlcm1pbmlz
dGljUHJvcHMsIHByZWZpeCwgZmlyc3RMaW5lUHJlZml4KQotewotICAgIHByZWZpeCA9IHByZWZp
eCB8fCAiIjsKLSAgICBmaXJzdExpbmVQcmVmaXggPSBmaXJzdExpbmVQcmVmaXggfHwgcHJlZml4
OwotICAgIG91dHB1dChmaXJzdExpbmVQcmVmaXggKyAieyIpOwotICAgIHZhciBwcm9wZXJ0eU5h
bWVzID0gT2JqZWN0LmtleXMob2JqZWN0KTsKLSAgICBwcm9wZXJ0eU5hbWVzLnNvcnQoKTsKLSAg
ICAKLSAgICBmb3IgKHZhciBpID0gMDsgaSA8IHByb3BlcnR5TmFtZXMubGVuZ3RoOyArK2kpIHsK
LSAgICAgICAgdmFyIHByb3AgPSBwcm9wZXJ0eU5hbWVzW2ldOwotICAgICAgICB2YXIgcHJlZml4
V2l0aE5hbWUgPSBwcmVmaXggKyAiICAgICIgKyBwcm9wICsgIiA6ICI7Ci0gICAgICAgIHZhciBw
cm9wVmFsdWUgPSBvYmplY3RbcHJvcF07Ci0gICAgICAgIGlmIChub25kZXRlcm1pbmlzdGljUHJv
cHMgJiYgcHJvcCBpbiBub25kZXRlcm1pbmlzdGljUHJvcHMpIHsKLSAgICAgICAgICAgIHZhciB2
YWx1ZSA9IG5vbmRldGVybWluaXN0aWNQcm9wc1twcm9wXSA9PT0gInVybCIgPyB0cmltVVJMKHBy
b3BWYWx1ZSkgOiAiPCIgKyB0eXBlb2YgcHJvcFZhbHVlICsgIj4iOwotICAgICAgICAgICAgb3V0
cHV0KHByZWZpeFdpdGhOYW1lICsgdmFsdWUpOwotICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiBw
cm9wVmFsdWUgPT09ICJvYmplY3QiICYmIHByb3BWYWx1ZSAhPSBudWxsKQotICAgICAgICAgICAg
ZHVtcE9iamVjdChwcm9wVmFsdWUsIG5vbmRldGVybWluaXN0aWNQcm9wcywgcHJlZml4ICsgIiAg
ICAiLCBwcmVmaXhXaXRoTmFtZSk7Ci0gICAgICAgIGVsc2UgaWYgKHR5cGVvZiBwcm9wVmFsdWUg
PT09ICJzdHJpbmciKQotICAgICAgICAgICAgb3V0cHV0KHByZWZpeFdpdGhOYW1lICsgIlwiIiAr
IHByb3BWYWx1ZSArICJcIiIpOwotICAgICAgICBlbHNlIGlmICh0eXBlb2YgcHJvcFZhbHVlID09
PSAiZnVuY3Rpb24iKQotICAgICAgICAgICAgb3V0cHV0KHByZWZpeFdpdGhOYW1lICsgIjxmdW5j
dGlvbj4iKTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgb3V0cHV0KHByZWZpeFdpdGhOYW1l
ICsgcHJvcFZhbHVlKTsKLSAgICB9Ci0gICAgb3V0cHV0KHByZWZpeCArICJ9Iik7Ci19Ci0KLWZ1
bmN0aW9uIGR1bXBBcnJheShyZXN1bHQpCi17Ci0gICAgaWYgKHJlc3VsdCBpbnN0YW5jZW9mIEFy
cmF5KSB7Ci0gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcmVzdWx0Lmxlbmd0aDsgKytpKQot
ICAgICAgICAgICAgb3V0cHV0KHJlc3VsdFtpXSk7Ci0gICAgfSBlbHNlCi0gICAgICAgIG91dHB1
dChyZXN1bHQpOwotfQotCi1mdW5jdGlvbiBldmFsdWF0ZU9uRnJvbnRlbmQoZXhwcmVzc2lvbiwg
Y2FsbGJhY2spCi17Ci0gICAgd2luZG93Ll9leHRlbnNpb25TZXJ2ZXJGb3JUZXN0cy5zZW5kUmVx
dWVzdCh7IGNvbW1hbmQ6ICJldmFsdWF0ZUZvclRlc3RJbkZyb250RW5kIiwgZXhwcmVzc2lvbjog
ZXhwcmVzc2lvbiB9LCBjYWxsYmFjayk7Ci19Ci0KLWZ1bmN0aW9uIG91dHB1dChtZXNzYWdlKQot
ewotICAgIGV2YWx1YXRlT25Gcm9udGVuZCgiSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQodW5lc2Nh
cGUoJyIgKyBlc2NhcGUobWVzc2FnZSkgKyAiJykpOyIpOwotfQotCi1mdW5jdGlvbiBvbkVycm9y
KGV2ZW50KQotewotICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJlcnJvciIsIG9uRXJy
b3IpOwotICAgIG91dHB1dCgiVW5jYXVnaHQgZXhjZXB0aW9uIGluIGV4dGVuc2lvbiBjb250ZXh0
OiAiICsgZXZlbnQubWVzc2FnZSArICIgWyIgKyBldmVudC5maWxlbmFtZSArICI6IiArIGV2ZW50
LmxpbmVubyArICJdIik7Ci0gICAgZXZhbHVhdGVPbkZyb250ZW5kKCJJbnNwZWN0b3JUZXN0LmNv
bXBsZXRlVGVzdCgpOyIpOwotfQotCi13aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLCBv
bkVycm9yKTsKLQotZnVuY3Rpb24gZmV0Y2hUZXN0cygpCi17Ci0gICAgZnVuY3Rpb24gY2FsbGJh
Y2socmVzdWx0KQotICAgIHsKLSAgICAgICAgIHdpbmRvdy5ldmFsKHJlc3VsdCk7Ci0gICAgICAg
ICBydW5UZXN0cygpOwotICAgIH0KLSAgICB3ZWJJbnNwZWN0b3IuaW5zcGVjdGVkV2luZG93LmV2
YWwoImV4dGVuc2lvbkZ1bmN0aW9ucygpIiwgY2FsbGJhY2spOwotfQotCi1mdW5jdGlvbiBydW5U
ZXN0cygpCi17Ci0gICAgb3V0cHV0KCJSdW5uaW5nIHRlc3RzLi4uIik7Ci0gICAgdmFyIHRlc3Rz
ID0gW107Ci0gICAgZm9yICh2YXIgc3ltYm9sIGluIHRoaXMpIHsKLSAgICAgICAgaWYgKC9eZXh0
ZW5zaW9uX3Rlc3QvLnRlc3Qoc3ltYm9sKSAmJiB0eXBlb2YgdGhpc1tzeW1ib2xdID09PSAiZnVu
Y3Rpb24iKQotICAgICAgICAgICAgdGVzdHMucHVzaChzeW1ib2wpOwotICAgIH0KLSAgICB0ZXN0
cyA9IHRlc3RzLnNvcnQoKTsKLSAgICB2YXIgdGVzdENoYWluID0gb25UZXN0c0RvbmU7Ci0gICAg
Zm9yICh2YXIgdGVzdCA9IHRlc3RzLnBvcCgpOyB0ZXN0OyB0ZXN0ID0gdGVzdHMucG9wKCkpCi0g
ICAgICAgIHRlc3RDaGFpbiA9IGJpbmQocnVuVGVzdCwgdGhpcywgYmluZCh0aGlzW3Rlc3RdLCB0
aGlzLCB0ZXN0Q2hhaW4pLCB0ZXN0KTsKLSAgICB0ZXN0Q2hhaW4oKTsKLX0KLQotZnVuY3Rpb24g
b25UZXN0c0RvbmUoKQotewotICAgIG91dHB1dCgiQWxsIHRlc3RzIGRvbmUuIik7Ci0gICAgZXZh
bHVhdGVPbkZyb250ZW5kKCJJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOyIpOwotfQotCi1m
dW5jdGlvbiBydW5UZXN0KHRlc3QsIG5hbWUpCi17Ci0gICAgb3V0cHV0KCJSVU5OSU5HIFRFU1Q6
ICIgKyBuYW1lKTsKLSAgICB0cnkgewotICAgICAgICB0ZXN0KCk7Ci0gICAgfSBjYXRjaCAoZSkg
ewotICAgICAgICBvdXRwdXQobmFtZSArICI6ICIgKyBlKTsKLSAgICB9Ci19Ci0KLWZ1bmN0aW9u
IGNhbGxiYWNrQW5kTmV4dFRlc3QoY2FsbGJhY2ssIG5leHRUZXN0KQotewotICAgIGZ1bmN0aW9u
IGNhbGxiYWNrV3JhcHBlcigpCi0gICAgewotICAgICAgICBjYWxsYmFjay5hcHBseSh0aGlzLCBh
cmd1bWVudHMpOwotICAgICAgICBuZXh0VGVzdC5jYWxsKHRoaXMpOwotICAgIH0KLSAgICByZXR1
cm4gY2FsbGJhY2tXcmFwcGVyOwotfQotCi1mdW5jdGlvbiBiaW5kKGZ1bmMsIHRoaXNPYmplY3Qp
Ci17Ci0gICAgdmFyIGFyZ3MgPSBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMs
IDIpOwotICAgIHJldHVybiBmdW5jdGlvbigpIHsgcmV0dXJuIGZ1bmMuYXBwbHkodGhpc09iamVj
dCwgYXJncy5jb25jYXQoQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLCAwKSkp
OyB9OwotfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVz
b3VyY2VzL2V4dGVuc2lvbi1wYW5lbC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNw
ZWN0b3IvcmVzb3VyY2VzL2V4dGVuc2lvbi1wYW5lbC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCBkMTk0ZWExNjc3NDNlMzg2MGQzOWRlNjdjMjE2MDcxN2Y1NWI2NjQwLi4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlcy9leHRlbnNpb24tcGFuZWwuaHRtbAorKysgL2Rl
di9udWxsCkBAIC0xLDcgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSJleHRl
bnNpb24tbWFpbi5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTwvYm9keT4KLTwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNl
cy9leHRlbnNpb24tc2lkZWJhci5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0
b3IvcmVzb3VyY2VzL2V4dGVuc2lvbi1zaWRlYmFyLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDkwNTMxYTRiM2VkMThiMjBjOWQ1Yjk1MmI2MWNiYjkzNWUwZTUwYTIuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2VzL2V4dGVuc2lvbi1zaWRlYmFyLmh0bWwKKysrIC9k
ZXYvbnVsbApAQCAtMSwyICswLDAgQEAKLTxodG1sPgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2VzL2V4dGVuc2lvbnMtZnJhbWUt
ZXZhbC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2VzL2V4
dGVuc2lvbnMtZnJhbWUtZXZhbC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBl
MDMyNzFjMTdkYmZjYmU3OWEzMzY5ZmI1NzdiYjRjNTQ2NjBiMzFlLi4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5z
cGVjdG9yL3Jlc291cmNlcy9leHRlbnNpb25zLWZyYW1lLWV2YWwuaHRtbAorKysgL2Rldi9udWxs
CkBAIC0xLDYgKzAsMCBAQAotPGh0bWw+Ci08c2NyaXB0PgotLy8gU29tZSBKUyB0byBjcmVhdGUg
YSBjb250ZXh0Ci13aW5kb3cuaUFtQW5JRnJhbWUgPSB0cnVlOwotPC9zY3JpcHQ+Ci08L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2VzL2hhci1wYWdlcy1pZnJhbWUuaHRtbCBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlcy9oYXItcGFnZXMtaWZyYW1lLmh0
bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGYzNjJhODVkMjUyMzljYTdjNTk2NTc3
NDI0NDhhYzg4ODE2NDM5NzkuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2VzL2hhci1w
YWdlcy1pZnJhbWUuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDEzICswLDAgQEAKLTxodG1sPgot
PGhlYWQ+Ci08c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Ci1mdW5jdGlvbiByZWRpcmVj
dEJhY2soKQotewotICAgIHRvcC5sb2NhdGlvbi5ocmVmID0gIi9pbnNwZWN0b3IvcmVzb3VyY2Ut
aGFyLXBhZ2VzLmh0bWwiOwotfQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9InJl
ZGlyZWN0QmFjaygpIj4KLTxzY3JpcHQgc3JjPSJzb3VyY2UxLmpzIj48L3NjcmlwdD4KLTwvYm9k
eT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9y
L3Jlc291cmNlcy9oYXItcGFnZXMtbmF2aWdhdGlvbi10YXJnZXQuaHRtbCBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlcy9oYXItcGFnZXMtbmF2aWdhdGlvbi10YXJn
ZXQuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMWRhYmM3NzMwYWI0MDk1N2Yz
OWQwZDhjYzk2YmZhY2UxZDFhNjc0MS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZXMv
aGFyLXBhZ2VzLW5hdmlnYXRpb24tdGFyZ2V0Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw1ICsw
LDAgQEAKLTxodG1sPgotPGJvZHk+Ci08aWZyYW1lIHNyYz0iaGFyLXBhZ2VzLWlmcmFtZS5odG1s
Ij48L2lmcmFtZT4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlcy9pZnJhbWUtZnJvbS1kaWZmZXJlbnQtZG9tYWlu
LWRhdGEuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlcy9p
ZnJhbWUtZnJvbS1kaWZmZXJlbnQtZG9tYWluLWRhdGEuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggYjk0MDllMjA4NWNiYWY4MDA5YTM4YjU5OWY3ZjE0Yzc2MzljY2Y1OS4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZXMvaWZyYW1lLWZyb20tZGlmZmVyZW50LWRvbWFp
bi1kYXRhLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxMyArMCwwIEBACi08aHRtbD4KLTxoZWFk
PgotPHNjcmlwdD4KLWZ1bmN0aW9uIG9ubG9hZCgpCi17Ci0gICAgY29uc29sZS5sb2coIklGUkFN
RSBIT1NUOiAiICsgd2luZG93LmxvY2F0aW9uLmhvc3QpOwotfQotPC9zY3JpcHQ+Ci08L2hlYWQ+
Ci08Ym9keSBpZD0iaWZyYW1lLWJvZHkiIHN0eWxlPSJiYWNrZ3JvdW5kOmdyZWVuOyIgb25sb2Fk
PSJvbmxvYWQoKSI+Ci1JbnNwZWN0IG1lLgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2VzL2luc3BlY3QtZWxlbWVu
dC1pZnJhbWUuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNl
cy9pbnNwZWN0LWVsZW1lbnQtaWZyYW1lLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDJkZmI1NDE3NTY3M2U2YmNmNTRmMGVmZjA0YjE3OTAzYzdmMzRmYzAuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9pbnNwZWN0b3IvcmVzb3VyY2VzL2luc3BlY3QtZWxlbWVudC1pZnJhbWUuaHRtbAorKysgL2Rl
di9udWxsCkBAIC0xLDExICswLDAgQEAKLTxodG1sPgotCi08Ym9keT4KLTxkaXYgaWQ9ImRpdiI+
RWxlbWVudCB0byBpbnNwZWN0PC9kaXY+Ci08L2JvZHk+Ci0KLTxzY3JpcHQ+Ci10b3AuaWZyYW1l
RGl2RWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJkaXYiKTsKLTwvc2NyaXB0Pgot
Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9y
ZXNvdXJjZXMvcG9zdC10YXJnZXQuY2dpIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0
b3IvcmVzb3VyY2VzL3Bvc3QtdGFyZ2V0LmNnaQpkZWxldGVkIGZpbGUgbW9kZSAxMDA3NTUKaW5k
ZXggNmI5NjViNjJiODFjMjc0N2UyMDA5MTE5YzJhMmI1MjdiYjJlMWUxMi4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2luc3BlY3Rvci9yZXNvdXJjZXMvcG9zdC10YXJnZXQuY2dpCisrKyAvZGV2L251bGwKQEAgLTEs
NCArMCwwIEBACi0jIS91c3IvYmluL3BlcmwgLXdUDQotDQotcHJpbnQgIkNvbnRlbnQtVHlwZTog
YXBwbGljYXRpb24veG1sXG5cbiI7DQotcHJpbnQgIjx4bWw+NDI8L3htbD5cbiI7DQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2VzL3Jlc291cmNl
LWZvcm0tZGF0YS1yZWNlaXZlci1pZnJhbWUuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
aW5zcGVjdG9yL3Jlc291cmNlcy9yZXNvdXJjZS1mb3JtLWRhdGEtcmVjZWl2ZXItaWZyYW1lLmh0
bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDc4NzllMWNlOWZkNzdkNGQ5MDA1NDAx
MzcyNWFmNTEzN2U4ZWYzMWEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2VzL3Jlc291
cmNlLWZvcm0tZGF0YS1yZWNlaXZlci1pZnJhbWUuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDQg
KzAsMCBAQAotPGh0bWw+Ci08Ym9keT4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlcy9zb3VyY2UtbWFwLmpzb24g
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZXMvc291cmNlLW1hcC5q
c29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2M2I3ZmVlNjQ1OWY5YjFiMWM4NmEx
NzQzZjMzNmIzMTAxYmZhZjg5Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlcy9zb3Vy
Y2UtbWFwLmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSw5ICswLDAgQEAKLXsKLSJ2ZXJzaW9uIjoz
LAotImZpbGUiOiJjb21waWxlZC5qcyIsCi0ic291cmNlUm9vdCI6ICIiLAotImxpbmVDb3VudCI6
MiwKLSJtYXBwaW5ncyI6IkFBQ0FBLE1BQUFDLGlCQUF1QixDQUFDLE1BQUQsQ0FBUyxRQUFRLEVB
Q3hDLENBQ0ksSUFBSUMsRUFBU0MsUUFBQUMsY0FBc0IsQ0FBQyxRQUFELENBQ25DRixFQUFBRyxH
QUFBLENBQVksTUFDWkgsRUFBQUQsaUJBQXVCLENBQUMsT0FBRCxDQUFVSyxXQUFWLENBQXVCLENB
QUEsQ0FBdkIsQ0FDdkJILFNBQUFJLEtBQUFDLFlBQXlCLENBQUNOLENBQUQsQ0FFckJPLEVBQUFB
LENBQU1OLFFBQUFDLGNBQXNCLENBQUMsS0FBRCxDQUNoQ0ssRUFBQUosR0FBQSxDQUFTLG9jQUNU
RjtRQUFBSSxLQUFBQyxZQUF5QixDQUFDQyxDQUFELENBUjdCLENBRHVCLENBWXZCSCxTQUFTQSxZ
QUFXLENBQUNJLENBQUQsQ0FDcEIsQ0FFSUMsQ0FEOEJDLElBQVpDLFlBQ2xCRixRQUFjLENBQUNE
LENBQUQsQ0FGbEIsQyxDQ2JBRyxRQUFTQSxhQUFZLEVBQ3JCLEVBR0FBLFlBQUFDLFVBQUFILE9B
QUEsQ0FBZ0NJLFFBQVEsRUFDeEMsQ0FDSUMsT0FBQUMsSUFBVyxDQUFDLGlCQUFELENBRGYsQzsi
LAotInNvdXJjZXMiOlsic291cmNlMS5qcyIsInNvdXJjZTIuanMiXSwKLSJuYW1lcyI6WyJ3aW5k
b3ciLCJhZGRFdmVudExpc3RlbmVyIiwiYnV0dG9uIiwiZG9jdW1lbnQiLCJjcmVhdGVFbGVtZW50
IiwiaWQiLCJoYW5kbGVDbGljayIsImJvZHkiLCJhcHBlbmRDaGlsZCIsImJhciIsImV2ZW50Iiwi
aGFuZGxlIiwiaGFuZGxlciIsIkNsaWNrSGFuZGxlciIsInByb3RvdHlwZSIsIkNsaWNrSGFuZGxl
ci5wcm90b3R5cGUuaGFuZGxlIiwiY29uc29sZSIsImxvZyJdCi19CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZXMvc291cmNlMS5qcyBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlcy9zb3VyY2UxLmpzCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0ZjUzNmM3YzNkNjY4YWYwN2M4YTNkMjZhNDcyNjhiNDMy
NjBjZDczLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlcy9zb3VyY2UxLmpzCisrKyAv
ZGV2L251bGwKQEAgLTEsMTcgKzAsMCBAQAotd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQn
LCBmdW5jdGlvbigpCi17Ci0gICAgdmFyIGJ1dHRvbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
J2J1dHRvbicpOwotICAgIGJ1dHRvbi5pZCA9ICd0ZXN0JzsKLSAgICBidXR0b24uYWRkRXZlbnRM
aXN0ZW5lcignY2xpY2snLCBoYW5kbGVDbGljaywgdHJ1ZSk7Ci0gICAgZG9jdW1lbnQuYm9keS5h
cHBlbmRDaGlsZChidXR0b24pOwotCi0gICAgdmFyIGJhciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoJ2RpdicpOwotICAgIGJhci5pZCA9ICdiYXJycnJycnJycnJycnJycnJycnJycnJycnJycnJy
cnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJy
cnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJy
cnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJy
cnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJy
cnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJy
cnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJy
cnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJy
cnJycnJycnJycnJycnJycnJycnInOwotICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoYmFy
KTsKLX0pOwotCi1mdW5jdGlvbiBoYW5kbGVDbGljayhldmVudCkKLXsKLSAgICB2YXIgaGFuZGxl
ciA9IG5ldyBDbGlja0hhbmRsZXIoKTsKLSAgICBoYW5kbGVyLmhhbmRsZShldmVudCk7Ci19CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZXMvc291
cmNlMi5qcyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlcy9zb3Vy
Y2UyLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjMGFlNGE2MGJhODNlYjExODg4
NzA4OWIzOTdkMTA2OTYyODRmNDhhLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlcy9z
b3VyY2UyLmpzCisrKyAvZGV2L251bGwKQEAgLTEsOCArMCwwIEBACi1mdW5jdGlvbiBDbGlja0hh
bmRsZXIoKQotewotfQotCi1DbGlja0hhbmRsZXIucHJvdG90eXBlLmhhbmRsZSA9IGZ1bmN0aW9u
KGV2ZW50KQotewotICAgIGNvbnNvbGUubG9nKCdidXR0b24gY2xpY2tlZCEnKTsKLX0KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlcy90ZXN0LXNj
YW5uZXIuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlcy90
ZXN0LXNjYW5uZXIuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjQxNzIyOGRl
ZGY4NDQzNTQ2YzRjODkxZGJkMTk4MzkzM2RkNTNlZi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9y
ZXNvdXJjZXMvdGVzdC1zY2FubmVyLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw2OCArMCwwIEBA
Ci08aHRtbD4KLTxzY3JpcHQ+Ci12YXIgdGVzdHMgPSBbXTsKLQotc2NhbkZvbGRlcigiaW5zcGVj
dG9yL2NvbnNvbGUiKTsKLS8vIHNjYW5Gb2xkZXIoImluc3BlY3Rvci9kZWJ1Z2dlciIpOwotc2Nh
bkZvbGRlcigiaW5zcGVjdG9yL2VkaXRvciIpOwotc2NhbkZvbGRlcigiaW5zcGVjdG9yL2VsZW1l
bnRzIik7Ci1zY2FuRm9sZGVyKCJpbnNwZWN0b3IvcHJvZmlsZXIiKTsKLXNjYW5Gb2xkZXIoImlu
c3BlY3Rvci9zdHlsZXMiKTsKLXNjYW5Gb2xkZXIoImluc3BlY3Rvci90aW1lbGluZSIpOwotc2Nh
bkZvbGRlcigiaW5zcGVjdG9yIik7Ci0KLWZ1bmN0aW9uIHNjYW5Gb2xkZXIoZm9sZGVyKQotewot
ICAgIHZhciB4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTsKLSAgICB4aHIub3BlbigiR0VUIiwg
Ii9MYXlvdXRUZXN0cy8iICsgZm9sZGVyICsgIi8iLCBmYWxzZSk7Ci0gICAgeGhyLnNlbmQobnVs
bCk7Ci0gICAgdmFyIHRleHQgPSB4aHIucmVzcG9uc2VUZXh0OwotICAgIHZhciBlbGVtZW50ID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7Ci0gICAgZWxlbWVudC5pbm5lckhUTUwgPSB0
ZXh0OwotICAgIHZhciBsaW5rcyA9IGVsZW1lbnQucXVlcnlTZWxlY3RvckFsbCgiYSIpOwotICAg
IGZvciAodmFyIGkgPSAwOyBpIDwgbGlua3MubGVuZ3RoOyArK2kpIHsKLSAgICAgICAgdmFyIGxp
bmsgPSBsaW5rc1tpXS5ocmVmOwotICAgICAgICB2YXIgbWF0Y2ggPSBsaW5rLm1hdGNoKC9bXlwv
XSpcLyhbXlwvXStcLmh0bWwpJC8pOwotICAgICAgICBpZiAoIW1hdGNoKQotICAgICAgICAgICAg
Y29udGludWU7Ci0gICAgICAgIHZhciBwYXRoID0gIi9MYXlvdXRUZXN0cy8iICsgZm9sZGVyICsg
Ii8iICsgbWF0Y2hbMV07Ci0gICAgICAgIHZhciBleHBlY3RlZCA9IGZldGNoRXhwZWN0YXRpb25z
KHBhdGgpOwotICAgICAgICB0ZXN0cy5wdXNoKFtwYXRoLCBleHBlY3RlZF0pOwotICAgIH0KLX0K
LQotZnVuY3Rpb24gZmV0Y2hFeHBlY3RhdGlvbnMocGF0aCkKLXsKLSAgICB2YXIgZXh0ID0gcGF0
aC5sYXN0SW5kZXhPZigiLiIpOwotICAgIHBhdGggPSBwYXRoLnN1YnN0cmluZygwLCBleHQpICsg
Ii1leHBlY3RlZC50eHQiOwotICAgIHZhciBjaHJvbWl1bVBhdGggPSBwYXRoLnJlcGxhY2UoIi9M
YXlvdXRUZXN0cy8iLCAiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLyIpOwotCi0gICAg
dmFyIGV4cGVjdGF0aW9ucyA9IGZldGNoKGNocm9taXVtUGF0aCkgfHwgZmV0Y2gocGF0aCkgfHwg
IiI7Ci0KLSAgICB2YXIgZXhwZWN0YXRpb25MaW5lcyA9IGV4cGVjdGF0aW9ucy5zcGxpdCgiXG4i
KTsKLSAgICB2YXIgZmlsdGVyZWQgPSBbXTsKLSAgICBmb3IgKHZhciBpID0gMDsgaSA8IGV4cGVj
dGF0aW9uTGluZXMubGVuZ3RoOyArK2kpIHsKLSAgICAgICAgaWYgKCFleHBlY3RhdGlvbkxpbmVz
W2ldLmluZGV4T2YoIkFMRVJUOiAiKSB8fAotICAgICAgICAgICAgIWV4cGVjdGF0aW9uTGluZXNb
aV0uaW5kZXhPZigiQ09OU09MRSBNRVNTQUdFOiAiKSkgewotICAgICAgICAgICAgZmlsdGVyZWQg
PSBbXTsKLSAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICB9Ci0gICAgICAgIGZpbHRlcmVk
LnB1c2goZXhwZWN0YXRpb25MaW5lc1tpXSk7Ci0gICAgfQotICAgIHJldHVybiBmaWx0ZXJlZC5q
b2luKCJcbiIpOwotfQotCi1mdW5jdGlvbiBmZXRjaChwYXRoKQotewotICAgIHZhciB4aHIgPSBu
ZXcgWE1MSHR0cFJlcXVlc3QoKTsKLSAgICB4aHIub3BlbigiR0VUIiwgcGF0aCwgZmFsc2UpOwot
ICAgIHhoci5zZW5kKG51bGwpOwotICAgIHJldHVybiB4aHIuc3RhdHVzICE9PSA0MDQgPyB4aHIu
cmVzcG9uc2VUZXh0IDogIiI7Ci19Ci0KLXdpbmRvdy5wYXJlbnQucG9zdE1lc3NhZ2UoWyJ0ZXN0
cyIsIHRlc3RzXSwgIioiKTsKLQotPC9zY3JpcHQ+Ci08Ym9keT4KLTwvYm9keT4KLTwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlcy94
aHItZXhpc3RzLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJj
ZXMveGhyLWV4aXN0cy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4NjMxYWVh
YjgxZTk0MTU1YzI5Y2Q3NTNkYmVhYjIyMTk5OGRjOGQ4Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9y
L3Jlc291cmNlcy94aHItZXhpc3RzLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSArMCwwIEBACi08
cD5FeGlzdGluZyBGaWxlPC9wPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9p
bnNwZWN0b3Ivc2VhcmNoL3Jlc291cmNlcy1zZWFyY2gtbWF0Y2gtaW5kZXgtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3Ivc2VhcmNoL3Jlc291cmNlcy1zZWFy
Y2gtbWF0Y2gtaW5kZXgtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwZjQxNDkxYWUwYjY3MTEwMWJmNGI0YTljZjNmNmFiNzJkMTI2ZWE5Li4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
aW5zcGVjdG9yL3NlYXJjaC9yZXNvdXJjZXMtc2VhcmNoLW1hdGNoLWluZGV4LWV4cGVjdGVkLnR4
dAorKysgL2Rldi9udWxsCkBAIC0xLDEyMCArMCwwIEBACi1UZXN0cyBzZWFyY2ggbWF0Y2ggaW5k
ZXggY2FsY3VsYXRpb24gaW4gcmVzb3VyY2VzIHBhbmVsLgotCi1CdWcgNjYwNTAKLQotUnVubmlu
ZzogdGVzdDEKLVJ1bm5pbmcgdGVzdCBmb3IgbWF0Y2hlcyBjb3VudHM6IFsxXQotRWxlbWVudCBp
bmRleDogMSwgaW5kZXg6IDAsIG1hdGNoIGluZGV4OiAxLgotRWxlbWVudCBpbmRleDogMSwgaW5k
ZXg6IDAsIG1hdGNoIGluZGV4OiAxLgotRWxlbWVudCBpbmRleDogMSwgaW5kZXg6IDAsIG1hdGNo
IGluZGV4OiAxLgotRWxlbWVudCBpbmRleDogMSwgaW5kZXg6IDAsIG1hdGNoIGluZGV4OiAxLgot
RWxlbWVudCBpbmRleDogMSwgaW5kZXg6IDAsIG1hdGNoIGluZGV4OiAxLgotRWxlbWVudCBpbmRl
eDogMSwgaW5kZXg6IDAsIG1hdGNoIGluZGV4OiAxLgotCi0KLVJ1bm5pbmc6IHRlc3QyCi1SdW5u
aW5nIHRlc3QgZm9yIG1hdGNoZXMgY291bnRzOiBbMSwyLDNdCi1FbGVtZW50IGluZGV4OiAxLCBp
bmRleDogMCwgbWF0Y2ggaW5kZXg6IDEuCi1FbGVtZW50IGluZGV4OiAyLCBpbmRleDogMCwgbWF0
Y2ggaW5kZXg6IDIuCi1FbGVtZW50IGluZGV4OiAyLCBpbmRleDogMSwgbWF0Y2ggaW5kZXg6IDMu
Ci1FbGVtZW50IGluZGV4OiAzLCBpbmRleDogMCwgbWF0Y2ggaW5kZXg6IDQuCi1FbGVtZW50IGlu
ZGV4OiAzLCBpbmRleDogMSwgbWF0Y2ggaW5kZXg6IDUuCi1FbGVtZW50IGluZGV4OiAzLCBpbmRl
eDogMiwgbWF0Y2ggaW5kZXg6IDYuCi1FbGVtZW50IGluZGV4OiAxLCBpbmRleDogMCwgbWF0Y2gg
aW5kZXg6IDEuCi1FbGVtZW50IGluZGV4OiAzLCBpbmRleDogMiwgbWF0Y2ggaW5kZXg6IDYuCi1F
bGVtZW50IGluZGV4OiAzLCBpbmRleDogMSwgbWF0Y2ggaW5kZXg6IDUuCi1FbGVtZW50IGluZGV4
OiAzLCBpbmRleDogMCwgbWF0Y2ggaW5kZXg6IDQuCi1FbGVtZW50IGluZGV4OiAyLCBpbmRleDog
MSwgbWF0Y2ggaW5kZXg6IDMuCi1FbGVtZW50IGluZGV4OiAyLCBpbmRleDogMCwgbWF0Y2ggaW5k
ZXg6IDIuCi1FbGVtZW50IGluZGV4OiAxLCBpbmRleDogMCwgbWF0Y2ggaW5kZXg6IDEuCi1FbGVt
ZW50IGluZGV4OiAzLCBpbmRleDogMiwgbWF0Y2ggaW5kZXg6IDYuCi1FbGVtZW50IGluZGV4OiAx
LCBpbmRleDogMCwgbWF0Y2ggaW5kZXg6IDEuCi1FbGVtZW50IGluZGV4OiAzLCBpbmRleDogMiwg
bWF0Y2ggaW5kZXg6IDYuCi0KLQotUnVubmluZzogdGVzdDMKLVJ1bm5pbmcgdGVzdCBmb3IgbWF0
Y2hlcyBjb3VudHM6IFsxLDAsMiwwLDNdCi1FbGVtZW50IGluZGV4OiAxLCBpbmRleDogMCwgbWF0
Y2ggaW5kZXg6IDEuCi1FbGVtZW50IGluZGV4OiAzLCBpbmRleDogMCwgbWF0Y2ggaW5kZXg6IDIu
Ci1FbGVtZW50IGluZGV4OiAzLCBpbmRleDogMSwgbWF0Y2ggaW5kZXg6IDMuCi1FbGVtZW50IGlu
ZGV4OiA1LCBpbmRleDogMCwgbWF0Y2ggaW5kZXg6IDQuCi1FbGVtZW50IGluZGV4OiA1LCBpbmRl
eDogMSwgbWF0Y2ggaW5kZXg6IDUuCi1FbGVtZW50IGluZGV4OiA1LCBpbmRleDogMiwgbWF0Y2gg
aW5kZXg6IDYuCi1FbGVtZW50IGluZGV4OiAxLCBpbmRleDogMCwgbWF0Y2ggaW5kZXg6IDEuCi1F
bGVtZW50IGluZGV4OiA1LCBpbmRleDogMiwgbWF0Y2ggaW5kZXg6IDYuCi1FbGVtZW50IGluZGV4
OiA1LCBpbmRleDogMSwgbWF0Y2ggaW5kZXg6IDUuCi1FbGVtZW50IGluZGV4OiA1LCBpbmRleDog
MCwgbWF0Y2ggaW5kZXg6IDQuCi1FbGVtZW50IGluZGV4OiAzLCBpbmRleDogMSwgbWF0Y2ggaW5k
ZXg6IDMuCi1FbGVtZW50IGluZGV4OiAzLCBpbmRleDogMCwgbWF0Y2ggaW5kZXg6IDIuCi1FbGVt
ZW50IGluZGV4OiAxLCBpbmRleDogMCwgbWF0Y2ggaW5kZXg6IDEuCi1FbGVtZW50IGluZGV4OiA1
LCBpbmRleDogMiwgbWF0Y2ggaW5kZXg6IDYuCi1FbGVtZW50IGluZGV4OiAxLCBpbmRleDogMCwg
bWF0Y2ggaW5kZXg6IDEuCi1FbGVtZW50IGluZGV4OiA1LCBpbmRleDogMiwgbWF0Y2ggaW5kZXg6
IDYuCi1FbGVtZW50IGluZGV4OiAzLCBpbmRleDogMCwgbWF0Y2ggaW5kZXg6IDIuCi1FbGVtZW50
IGluZGV4OiAxLCBpbmRleDogMCwgbWF0Y2ggaW5kZXg6IDEuCi1FbGVtZW50IGluZGV4OiA1LCBp
bmRleDogMCwgbWF0Y2ggaW5kZXg6IDQuCi1FbGVtZW50IGluZGV4OiAzLCBpbmRleDogMSwgbWF0
Y2ggaW5kZXg6IDMuCi0KLQotUnVubmluZzogdGVzdDQKLVJ1bm5pbmcgdGVzdCBmb3IgbWF0Y2hl
cyBjb3VudHM6IFswLDAsMCwzLDAsMCwwLDMsMCwwLDBdCi1FbGVtZW50IGluZGV4OiA0LCBpbmRl
eDogMCwgbWF0Y2ggaW5kZXg6IDEuCi1FbGVtZW50IGluZGV4OiA0LCBpbmRleDogMSwgbWF0Y2gg
aW5kZXg6IDIuCi1FbGVtZW50IGluZGV4OiA0LCBpbmRleDogMiwgbWF0Y2ggaW5kZXg6IDMuCi1F
bGVtZW50IGluZGV4OiA4LCBpbmRleDogMCwgbWF0Y2ggaW5kZXg6IDQuCi1FbGVtZW50IGluZGV4
OiA4LCBpbmRleDogMSwgbWF0Y2ggaW5kZXg6IDUuCi1FbGVtZW50IGluZGV4OiA4LCBpbmRleDog
MiwgbWF0Y2ggaW5kZXg6IDYuCi1FbGVtZW50IGluZGV4OiA0LCBpbmRleDogMCwgbWF0Y2ggaW5k
ZXg6IDEuCi1FbGVtZW50IGluZGV4OiA4LCBpbmRleDogMiwgbWF0Y2ggaW5kZXg6IDYuCi1FbGVt
ZW50IGluZGV4OiA4LCBpbmRleDogMSwgbWF0Y2ggaW5kZXg6IDUuCi1FbGVtZW50IGluZGV4OiA4
LCBpbmRleDogMCwgbWF0Y2ggaW5kZXg6IDQuCi1FbGVtZW50IGluZGV4OiA0LCBpbmRleDogMiwg
bWF0Y2ggaW5kZXg6IDMuCi1FbGVtZW50IGluZGV4OiA0LCBpbmRleDogMSwgbWF0Y2ggaW5kZXg6
IDIuCi1FbGVtZW50IGluZGV4OiA0LCBpbmRleDogMCwgbWF0Y2ggaW5kZXg6IDEuCi1FbGVtZW50
IGluZGV4OiA4LCBpbmRleDogMiwgbWF0Y2ggaW5kZXg6IDYuCi1FbGVtZW50IGluZGV4OiA0LCBp
bmRleDogMCwgbWF0Y2ggaW5kZXg6IDEuCi1FbGVtZW50IGluZGV4OiA4LCBpbmRleDogMiwgbWF0
Y2ggaW5kZXg6IDYuCi1FbGVtZW50IGluZGV4OiA0LCBpbmRleDogMCwgbWF0Y2ggaW5kZXg6IDEu
Ci1FbGVtZW50IGluZGV4OiA4LCBpbmRleDogMiwgbWF0Y2ggaW5kZXg6IDYuCi1FbGVtZW50IGlu
ZGV4OiA0LCBpbmRleDogMCwgbWF0Y2ggaW5kZXg6IDEuCi1FbGVtZW50IGluZGV4OiA4LCBpbmRl
eDogMiwgbWF0Y2ggaW5kZXg6IDYuCi1FbGVtZW50IGluZGV4OiA0LCBpbmRleDogMCwgbWF0Y2gg
aW5kZXg6IDEuCi1FbGVtZW50IGluZGV4OiA4LCBpbmRleDogMiwgbWF0Y2ggaW5kZXg6IDYuCi1F
bGVtZW50IGluZGV4OiA4LCBpbmRleDogMCwgbWF0Y2ggaW5kZXg6IDQuCi1FbGVtZW50IGluZGV4
OiA0LCBpbmRleDogMiwgbWF0Y2ggaW5kZXg6IDMuCi1FbGVtZW50IGluZGV4OiA4LCBpbmRleDog
MCwgbWF0Y2ggaW5kZXg6IDQuCi1FbGVtZW50IGluZGV4OiA0LCBpbmRleDogMiwgbWF0Y2ggaW5k
ZXg6IDMuCi1FbGVtZW50IGluZGV4OiA4LCBpbmRleDogMCwgbWF0Y2ggaW5kZXg6IDQuCi1FbGVt
ZW50IGluZGV4OiA0LCBpbmRleDogMiwgbWF0Y2ggaW5kZXg6IDMuCi1FbGVtZW50IGluZGV4OiA0
LCBpbmRleDogMCwgbWF0Y2ggaW5kZXg6IDEuCi1FbGVtZW50IGluZGV4OiA4LCBpbmRleDogMiwg
bWF0Y2ggaW5kZXg6IDYuCi1FbGVtZW50IGluZGV4OiA0LCBpbmRleDogMCwgbWF0Y2ggaW5kZXg6
IDEuCi1FbGVtZW50IGluZGV4OiA4LCBpbmRleDogMiwgbWF0Y2ggaW5kZXg6IDYuCi1FbGVtZW50
IGluZGV4OiA0LCBpbmRleDogMCwgbWF0Y2ggaW5kZXg6IDEuCi1FbGVtZW50IGluZGV4OiA4LCBp
bmRleDogMiwgbWF0Y2ggaW5kZXg6IDYuCi0KLQotUnVubmluZzogdGVzdDUKLVJ1bm5pbmcgdGVz
dCBmb3IgbWF0Y2hlcyBjb3VudHM6IFswLDAsMCwwLDEsMCwwLDBdCi1FbGVtZW50IGluZGV4OiA1
LCBpbmRleDogMCwgbWF0Y2ggaW5kZXg6IDEuCi1FbGVtZW50IGluZGV4OiA1LCBpbmRleDogMCwg
bWF0Y2ggaW5kZXg6IDEuCi1FbGVtZW50IGluZGV4OiA1LCBpbmRleDogMCwgbWF0Y2ggaW5kZXg6
IDEuCi1FbGVtZW50IGluZGV4OiA1LCBpbmRleDogMCwgbWF0Y2ggaW5kZXg6IDEuCi1FbGVtZW50
IGluZGV4OiA1LCBpbmRleDogMCwgbWF0Y2ggaW5kZXg6IDEuCi1FbGVtZW50IGluZGV4OiA1LCBp
bmRleDogMCwgbWF0Y2ggaW5kZXg6IDEuCi1FbGVtZW50IGluZGV4OiA1LCBpbmRleDogMCwgbWF0
Y2ggaW5kZXg6IDEuCi1FbGVtZW50IGluZGV4OiA1LCBpbmRleDogMCwgbWF0Y2ggaW5kZXg6IDEu
Ci1FbGVtZW50IGluZGV4OiA1LCBpbmRleDogMCwgbWF0Y2ggaW5kZXg6IDEuCi1FbGVtZW50IGlu
ZGV4OiA1LCBpbmRleDogMCwgbWF0Y2ggaW5kZXg6IDEuCi1FbGVtZW50IGluZGV4OiA1LCBpbmRl
eDogMCwgbWF0Y2ggaW5kZXg6IDEuCi1FbGVtZW50IGluZGV4OiA1LCBpbmRleDogMCwgbWF0Y2gg
aW5kZXg6IDEuCi1FbGVtZW50IGluZGV4OiA1LCBpbmRleDogMCwgbWF0Y2ggaW5kZXg6IDEuCi1F
bGVtZW50IGluZGV4OiA1LCBpbmRleDogMCwgbWF0Y2ggaW5kZXg6IDEuCi1FbGVtZW50IGluZGV4
OiA1LCBpbmRleDogMCwgbWF0Y2ggaW5kZXg6IDEuCi1FbGVtZW50IGluZGV4OiA1LCBpbmRleDog
MCwgbWF0Y2ggaW5kZXg6IDEuCi1FbGVtZW50IGluZGV4OiA1LCBpbmRleDogMCwgbWF0Y2ggaW5k
ZXg6IDEuCi1FbGVtZW50IGluZGV4OiA1LCBpbmRleDogMCwgbWF0Y2ggaW5kZXg6IDEuCi1FbGVt
ZW50IGluZGV4OiA1LCBpbmRleDogMCwgbWF0Y2ggaW5kZXg6IDEuCi1FbGVtZW50IGluZGV4OiA1
LCBpbmRleDogMCwgbWF0Y2ggaW5kZXg6IDEuCi0KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9pbnNwZWN0b3Ivc2VhcmNoL3Jlc291cmNlcy1zZWFyY2gtbWF0Y2gtaW5kZXgu
aHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3NlYXJjaC9yZXNvdXJjZXMt
c2VhcmNoLW1hdGNoLWluZGV4Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg2
NzRjNjZlNjBjNmFlYmExYWIwNjg5NmFkOTI3ZjU0YWRkYzNkOGMuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNw
ZWN0b3Ivc2VhcmNoL3Jlc291cmNlcy1zZWFyY2gtbWF0Y2gtaW5kZXguaHRtbAorKysgL2Rldi9u
dWxsCkBAIC0xLDEzMCArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uL2lu
c3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci1mdW5jdGlvbiB0ZXN0KCkKLXsK
LSAgICBXZWJJbnNwZWN0b3Iuc2hvd1BhbmVsKCJyZXNvdXJjZXMiKTsKLQotICAgIHZhciBGYWtl
RWxlbWVudCA9IGZ1bmN0aW9uKGVsZW1lbnRzLCBpbmRleCwgc2VhcmNoTWF0Y2hlc0NvdW50KQot
ICAgIHsKLSAgICAgICAgdGhpcy5fZWxlbWVudHMgPSBlbGVtZW50czsKLSAgICAgICAgdGhpcy5p
bmRleCA9IGluZGV4OwotICAgICAgICB0aGlzLnNlYXJjaE1hdGNoZXNDb3VudCA9IHNlYXJjaE1h
dGNoZXNDb3VudDsKLSAgICB9OwotCi0gICAgRmFrZUVsZW1lbnQucHJvdG90eXBlID0gewotICAg
ICAgICAvLyBJZ25vcmUgYWxsIHBhcmFtZXRlcnMuCi0gICAgICAgIHRyYXZlcnNlUHJldmlvdXNU
cmVlRWxlbWVudDogZnVuY3Rpb24oKQotICAgICAgICB7Ci0gICAgICAgICAgICByZXR1cm4gdGhp
cy5pbmRleCA+IDAgPyB0aGlzLl9lbGVtZW50c1t0aGlzLmluZGV4IC0gMV0gOiBudWxsOwotICAg
ICAgICB9LAotCi0gICAgICAgIC8vIElnbm9yZSBhbGwgcGFyYW1ldGVycy4KLSAgICAgICAgdHJh
dmVyc2VOZXh0VHJlZUVsZW1lbnQ6IGZ1bmN0aW9uKCkKLSAgICAgICAgewotICAgICAgICAgICAg
cmV0dXJuIHRoaXMuaW5kZXggPCB0aGlzLl9lbGVtZW50cy5sZW5ndGggLSAxID8gdGhpcy5fZWxl
bWVudHNbdGhpcy5pbmRleCArIDFdIDogbnVsbDsKLSAgICAgICAgfQotICAgIH07Ci0KLSAgICBm
dW5jdGlvbiBjcmVhdGVFbGVtZW50c1RyZWVXaXRoTWF0Y2hlc0NvdW50cyhtYXRjaGVzQ291bnRz
KQotICAgIHsKLSAgICAgICAgdmFyIGVsZW1lbnRzID0gW107Ci0gICAgICAgIHZhciB0b3RhbE1h
dGNoZXNDb3VudCA9IDA7Ci0gICAgICAgIHZhciBlbGVtZW50ID0gbmV3IEZha2VFbGVtZW50KGVs
ZW1lbnRzLCAwLCAwKTsKLSAgICAgICAgZWxlbWVudHMucHVzaChlbGVtZW50KTsKLSAgICAgICAg
Zm9yICh2YXIgaSA9IDA7IGkgPCBtYXRjaGVzQ291bnRzLmxlbmd0aDsgKytpKSB7Ci0gICAgICAg
ICAgICBlbGVtZW50ID0gbmV3IEZha2VFbGVtZW50KGVsZW1lbnRzLCBpICsgMSwgbWF0Y2hlc0Nv
dW50c1tpXSk7Ci0gICAgICAgICAgICBlbGVtZW50cy5wdXNoKGVsZW1lbnQpOwotICAgICAgICAg
ICAgdG90YWxNYXRjaGVzQ291bnQgKz0gbWF0Y2hlc0NvdW50c1tpXTsKLSAgICAgICAgfQotICAg
ICAgICBlbGVtZW50cy50b3RhbE1hdGNoZXNDb3VudCA9IHRvdGFsTWF0Y2hlc0NvdW50OwotICAg
ICAgICByZXR1cm4gZWxlbWVudHM7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gZHVtcFNlYXJjaFJl
c3VsdChzZWFyY2hSZXN1bHQpCi0gICAgewotICAgICAgICBpZiAoc2VhcmNoUmVzdWx0KSB7Ci0g
ICAgICAgICAgICB2YXIgZWxlbWVudEluZGV4ID0gc2VhcmNoUmVzdWx0LnRyZWVFbGVtZW50Lmlu
ZGV4OwotICAgICAgICAgICAgdmFyIGluZGV4ID0gc2VhcmNoUmVzdWx0LmluZGV4OwotICAgICAg
ICAgICAgdmFyIG1hdGNoSW5kZXggPSBzZWFyY2hSZXN1bHQuY3VycmVudE1hdGNoSW5kZXg7Ci0g
ICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiRWxlbWVudCBpbmRleDogIiArIGVs
ZW1lbnRJbmRleCArICIsIGluZGV4OiAiICsgaW5kZXggKyAiLCBtYXRjaCBpbmRleDogIiArIG1h
dGNoSW5kZXggKyAiLiIpOwotICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgIEluc3BlY3RvclRl
c3QuYWRkUmVzdWx0KCJObyBzZWFyY2ggcmVzdWx0IGZvdW5kLiIpOwotICAgIH0KLQotICAgIGZ1
bmN0aW9uIHJ1blRlc3RGb3JNYXRjaGVzQ291bnRzKG1hdGNoZXNDb3VudHMpCi0gICAgewotICAg
ICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiUnVubmluZyB0ZXN0IGZvciBtYXRjaGVzIGNv
dW50czogIiArIEpTT04uc3RyaW5naWZ5KG1hdGNoZXNDb3VudHMpKTsKLSAgICAgICAgdmFyIGVs
ZW1lbnRzID0gY3JlYXRlRWxlbWVudHNUcmVlV2l0aE1hdGNoZXNDb3VudHMobWF0Y2hlc0NvdW50
cyk7Ci0gICAgICAgIHZhciBjb250cm9sbGVyID0gbmV3IFdlYkluc3BlY3Rvci5SZXNvdXJjZXNT
ZWFyY2hDb250cm9sbGVyKGVsZW1lbnRzWzBdLCBlbGVtZW50cy50b3RhbE1hdGNoZXNDb3VudCk7
Ci0gICAgICAgIHZhciBsYXN0U2VhcmNoUmVzdWx0OwotCi0gICAgICAgIC8vIEZpcnN0IG9mIGFs
bCBtYWtlIGEgZnVsbCBjeWNsZSB0aHJvdWdoIHRoZSB0cmVlLgotICAgICAgICBmb3IgKHZhciBp
ID0gMDsgaSA8IGVsZW1lbnRzLnRvdGFsTWF0Y2hlc0NvdW50ICsgMTsgKytpKSB7Ci0gICAgICAg
ICAgICBsYXN0U2VhcmNoUmVzdWx0ID0gY29udHJvbGxlci5uZXh0U2VhcmNoUmVzdWx0KGxhc3RT
ZWFyY2hSZXN1bHQgPyBsYXN0U2VhcmNoUmVzdWx0LnRyZWVFbGVtZW50IDogbnVsbCk7Ci0gICAg
ICAgICAgICBkdW1wU2VhcmNoUmVzdWx0KGxhc3RTZWFyY2hSZXN1bHQpOwotICAgICAgICAgICAg
aWYgKCFsYXN0U2VhcmNoUmVzdWx0KQotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9
Ci0KLSAgICAgICAgLy8gVGhlbiBtYWtlIGFub3RoZXIgb25lIGluIHRoZSBvcHBvc2l0ZSBkaXJl
Y3Rpb24uCi0gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZWxlbWVudHMudG90YWxNYXRjaGVz
Q291bnQgKyAxOyArK2kpIHsKLSAgICAgICAgICAgIGxhc3RTZWFyY2hSZXN1bHQgPSBjb250cm9s
bGVyLnByZXZpb3VzU2VhcmNoUmVzdWx0KGxhc3RTZWFyY2hSZXN1bHQgPyBsYXN0U2VhcmNoUmVz
dWx0LnRyZWVFbGVtZW50IDogbnVsbCk7Ci0gICAgICAgICAgICBkdW1wU2VhcmNoUmVzdWx0KGxh
c3RTZWFyY2hSZXN1bHQpOwotICAgICAgICAgICAgaWYgKCFsYXN0U2VhcmNoUmVzdWx0KQotICAg
ICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0KLSAgICAgICAgLy8gTm93IGR1bXAgbmV4
dCBhbmQgcHJldmlvdXMgc2VhcmNoIHJlc3VsdHMgZm9yIGVhY2ggZWxlbWVudCB3aXRob3V0IHNl
YXJjaCBtYXRjaGVzLgotICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGVsZW1lbnRzLmxlbmd0
aDsgKytpKSB7Ci0gICAgICAgICAgICBpZiAoZWxlbWVudHNbaV0uc2VhcmNoTWF0Y2hlc0NvdW50
ID09PSAwKSB7Ci0gICAgICAgICAgICAgICAgdmFyIHNlYXJjaFJlc3VsdCA9IGNvbnRyb2xsZXIu
bmV4dFNlYXJjaFJlc3VsdChlbGVtZW50c1tpXSk7Ci0gICAgICAgICAgICAgICAgZHVtcFNlYXJj
aFJlc3VsdChzZWFyY2hSZXN1bHQpOwotICAgICAgICAgICAgICAgIHNlYXJjaFJlc3VsdCA9IGNv
bnRyb2xsZXIucHJldmlvdXNTZWFyY2hSZXN1bHQoZWxlbWVudHNbaV0pOwotICAgICAgICAgICAg
ICAgIGR1bXBTZWFyY2hSZXN1bHQoc2VhcmNoUmVzdWx0KTsKLSAgICAgICAgICAgIH0KLSAgICAg
ICAgfQotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiIik7Ci0gICAgfQotCi0gICAg
SW5zcGVjdG9yVGVzdC5ydW5UZXN0U3VpdGUoWwotICAgICAgICBmdW5jdGlvbiB0ZXN0MShuZXh0
KQotICAgICAgICB7Ci0gICAgICAgICAgICBydW5UZXN0Rm9yTWF0Y2hlc0NvdW50cyhbMV0pOwot
ICAgICAgICAgICAgbmV4dCgpOwotICAgICAgICB9LAotCi0gICAgICAgIGZ1bmN0aW9uIHRlc3Qy
KG5leHQpCi0gICAgICAgIHsKLSAgICAgICAgICAgIHJ1blRlc3RGb3JNYXRjaGVzQ291bnRzKFsx
LCAyLCAzXSk7Ci0gICAgICAgICAgICBuZXh0KCk7Ci0gICAgICAgIH0sCi0KLSAgICAgICAgZnVu
Y3Rpb24gdGVzdDMobmV4dCkKLSAgICAgICAgewotICAgICAgICAgICAgcnVuVGVzdEZvck1hdGNo
ZXNDb3VudHMoWzEsIDAsIDIsIDAsIDNdKTsKLSAgICAgICAgICAgIG5leHQoKTsKLSAgICAgICAg
fSwKLQotICAgICAgICBmdW5jdGlvbiB0ZXN0NChuZXh0KQotICAgICAgICB7Ci0gICAgICAgICAg
ICBydW5UZXN0Rm9yTWF0Y2hlc0NvdW50cyhbMCwgMCwgMCwgMywgMCwgMCwgMCwgMywgMCwgMCwg
MF0pOwotICAgICAgICAgICAgbmV4dCgpOwotICAgICAgICB9LAotCi0gICAgICAgIGZ1bmN0aW9u
IHRlc3Q1KG5leHQpCi0gICAgICAgIHsKLSAgICAgICAgICAgIHJ1blRlc3RGb3JNYXRjaGVzQ291
bnRzKFswLCAwLCAwLCAwLCAxLCAwLCAwLCAwXSk7Ci0gICAgICAgICAgICBuZXh0KCk7Ci0gICAg
ICAgIH0KLSAgICBdKTsKLQotfQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9InJ1
blRlc3QoKSI+Ci08cD5UZXN0cyBzZWFyY2ggbWF0Y2ggaW5kZXggY2FsY3VsYXRpb24gaW4gcmVz
b3VyY2VzIHBhbmVsLjwvcD4KLTxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD02NjA1MCI+QnVnIDY2MDUwPC9hPgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3Ivc2VhcmNoL3Jlc291cmNlcy9z
ZWFyY2gtY29uY2F0ZW5hdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rv
ci9zZWFyY2gvcmVzb3VyY2VzL3NlYXJjaC1jb25jYXRlbmF0ZWQuaHRtbApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggNzI4ZmY2NGMyYmJmMjY5YjA2ZTIwYWYzMDEwNDgzMmY2M2Q4MTQ3
YS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9zZWFyY2gvcmVzb3VyY2VzL3NlYXJjaC1jb25jYXRl
bmF0ZWQuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDMwICswLDAgQEAKLTxodG1sPgotPGhlYWQ+
Ci08c2NyaXB0PgotZnVuY3Rpb24gc2VhcmNoVGVzdFVuaXF1ZVN0cmluZygpCi17Ci0gICAgdmFy
IHZhcmlhYmxlID0gMDsKLSAgICAvLyBzZWFyY2hUZXN0VW5pcXVlU3RyaW5nIHR3byBvY2N1cmVu
Y2VzIG9uIHRoZSBzYW1lIGxpbmUgc2VhcmNoVGVzdFVuaXF1ZVN0cmluZwotICAgIHZhciB2YXJp
YWJsZTIgPSAwOwotfQotPC9zY3JpcHQ+PHNjcmlwdD4KLWZ1bmN0aW9uIGRvU29tZXRoaW5nKCkK
LXsKLSAgICBzZWFyY2hUZXN0VW5pcXVlU3RyaW5nKCk7Ci0gICAgLy8gU0VBUkNIVGVzdFVuaXF1
ZVN0cmluZygpOwotfQotPC9zY3JpcHQ+Ci08bGluayBocmVmPSJzZWFyY2guY3NzIiByZWw9InN0
eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIj4KLTxzY3JpcHQ+Ci1mdW5jdGlvbiBzZWFyY2hUZXN0
VW5pcXVlU3RyaW5nMigpCi17Ci0gICAgdmFyIHZhcmlhYmxlID0gMDsKLSAgICAvKiBzZWFyY2hU
ZXN0VW5pcXVlU3RyaW5nIHR3byBvY2N1cmVuY2VzIG9uIHRoZSBzYW1lIGxpbmUgc2VhcmNoVGVz
dFVuaXF1ZVN0cmluZyAqLyB9IDwvc2NyaXB0PjxzY3JpcHQ+IGZ1bmN0aW9uIGRvU29tZXRoaW5n
MigpIHsgc2VhcmNoVGVzdFVuaXF1ZVN0cmluZygpOwotICAgIC8vIFNFQVJDSFRlc3RVbmlxdWVT
dHJpbmcoKTsKLX0KLTwvc2NyaXB0PgotPC9zY3JpcHQ+Ci08Ym9keT4KLTwvYm9keT4KLTwvaHRt
bD4KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3Ivc2VhcmNo
L3Jlc291cmNlcy9zZWFyY2guY3NzIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3Iv
c2VhcmNoL3Jlc291cmNlcy9zZWFyY2guY3NzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwNzYwYzliMDNiZTlkOTc3MTkyOTUxNTk3ZTcyYWMwN2ZiMjIzMDVhLi4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
aW5zcGVjdG9yL3NlYXJjaC9yZXNvdXJjZXMvc2VhcmNoLmNzcworKysgL2Rldi9udWxsCkBAIC0x
LDkgKzAsMCBAQAotZGl2LnNlYXJjaFRlc3RVbmlxdWVTdHJpbmcgewotICAgIGJhY2tncm91bmQt
Y29sb3I6IHJlZDsKLX0KLQotZGl2LnNlYXJjaFRlc3RVbmlxdWVTdHJpbmc6aG92ZXIgewotICAg
IC8qIGFub3RoZXIgc2VhcmNoVGVzdFVuaXF1ZVN0cmluZyBvY2N1cmVuY2UgKi8KLSAgICBiYWNr
Z3JvdW5kLWNvbG9yOiByZWQ7Ci19Ci0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvaW5zcGVjdG9yL3NlYXJjaC9yZXNvdXJjZXMvc2VhcmNoLmh0bWwgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2luc3BlY3Rvci9zZWFyY2gvcmVzb3VyY2VzL3NlYXJjaC5odG1sCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2ZWE4ODhkZTY0Nzg0MTBlMzgyZDE4MjZkMzA5NjRiNzZk
ODUxNWE0Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3NlYXJjaC9yZXNvdXJjZXMvc2VhcmNoLmh0
bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxMyArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPGxpbmsg
aHJlZj0ic2VhcmNoLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyI+Ci08c2Ny
aXB0IHNyYz0ic2VhcmNoLmpzIj48L3NjcmlwdD4KLTxib2R5PgotPGRpdj5zZWFyY2hUZXN0VW5p
cXVlU3RyaW5nPC9kaXY+Ci08ZGl2Pm90aGVyIHRleHQ8L2Rpdj4KLTwhLS0gc2VhcmNoVGVzdFVu
aXF1ZVN0cmluZyAtLT4KLTxkaXY+c29tZSBvdGhlciB0ZXh0PC9kaXY+Ci08ZGl2IGlkPSJzZWFy
Y2hUZXN0VW5pcXVlU3RyaW5nIj5kaXYgdGV4dDwvZGl2PgotPC9ib2R5PgotPC9odG1sPgotCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9zZWFyY2gvcmVzb3Vy
Y2VzL3NlYXJjaC5qcyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3NlYXJjaC9y
ZXNvdXJjZXMvc2VhcmNoLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzNTkzZWUx
ZDE2ODQ2NGRmOTk0NzM1NjVkMzgzZDJkZTVlY2E1NGMxLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9y
L3NlYXJjaC9yZXNvdXJjZXMvc2VhcmNoLmpzCisrKyAvZGV2L251bGwKQEAgLTEsMTMgKzAsMCBA
QAotZnVuY3Rpb24gc2VhcmNoVGVzdFVuaXF1ZVN0cmluZygpCi17Ci0gICAgdmFyIHZhcmlhYmxl
ID0gMDsKLSAgICAvLyBzZWFyY2hUZXN0VW5pcXVlU3RyaW5nIHR3byBvY2N1cmVuY2VzIG9uIHRo
ZSBzYW1lIGxpbmUgc2VhcmNoVGVzdFVuaXF1ZVN0cmluZwotICAgIHZhciB2YXJpYWJsZTIgPSAw
OwotfQotCi1mdW5jdGlvbiBkb1NvbWV0aGluZygpCi17Ci0gICAgc2VhcmNoVGVzdFVuaXF1ZVN0
cmluZygpOwotICAgIC8vIFNFQVJDSFRlc3RVbmlxdWVTdHJpbmcoKTsKLX0KLQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3Ivc2VhcmNoL3NjcmlwdHMtc2VhcmNo
LXNjb3BlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Nl
YXJjaC9zY3JpcHRzLXNlYXJjaC1zY29wZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IGJmMzVlMzhjNzAxZTRhZjAzYWU1NWVkZTUyNWMwMWZjNDMxOThiZTYuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9pbnNwZWN0b3Ivc2VhcmNoL3NjcmlwdHMtc2VhcmNoLXNjb3BlLWV4cGVjdGVk
LnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDMxICswLDAgQEAKLQotCi1SdW5uaW5nOiB0ZXN0SWdu
b3JlQ2FzZQotU2VhcmNoIHJlc3VsdCAjMTogdWlTb3VyY2VDb2RlLnVyaSA9IGh0dHA6Ly8xMjcu
MC4wLjE6ODAwMC9pbnNwZWN0b3Ivc2VhcmNoL3Jlc291cmNlcy9zZWFyY2guY3NzCi0gIHNlYXJj
aCBtYXRjaCAjMTogbGluZU51bWJlciA9IDAsIGxpbmVDb250ZW50ID0gJ2Rpdi5zZWFyY2hUZXN0
VW5pcXVlU3RyaW5nIHsnCi0gIHNlYXJjaCBtYXRjaCAjMjogbGluZU51bWJlciA9IDQsIGxpbmVD
b250ZW50ID0gJ2Rpdi5zZWFyY2hUZXN0VW5pcXVlU3RyaW5nOmhvdmVyIHsnCi0gIHNlYXJjaCBt
YXRjaCAjMzogbGluZU51bWJlciA9IDUsIGxpbmVDb250ZW50ID0gJyAgICAvKiBhbm90aGVyIHNl
YXJjaFRlc3RVbmlxdWVTdHJpbmcgb2NjdXJlbmNlICovJwotU2VhcmNoIHJlc3VsdCAjMjogdWlT
b3VyY2VDb2RlLnVyaSA9IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3Ivc2VhcmNoL3Jl
c291cmNlcy9zZWFyY2guaHRtbAotICBzZWFyY2ggbWF0Y2ggIzE6IGxpbmVOdW1iZXIgPSA1LCBs
aW5lQ29udGVudCA9ICc8ZGl2PnNlYXJjaFRlc3RVbmlxdWVTdHJpbmc8L2Rpdj4nCi0gIHNlYXJj
aCBtYXRjaCAjMjogbGluZU51bWJlciA9IDcsIGxpbmVDb250ZW50ID0gJzwhLS0gc2VhcmNoVGVz
dFVuaXF1ZVN0cmluZyAtLT4nCi0gIHNlYXJjaCBtYXRjaCAjMzogbGluZU51bWJlciA9IDksIGxp
bmVDb250ZW50ID0gJzxkaXYgaWQ9InNlYXJjaFRlc3RVbmlxdWVTdHJpbmciPmRpdiB0ZXh0PC9k
aXY+JwotU2VhcmNoIHJlc3VsdCAjMzogdWlTb3VyY2VDb2RlLnVyaSA9IGh0dHA6Ly8xMjcuMC4w
LjE6ODAwMC9pbnNwZWN0b3Ivc2VhcmNoL3Jlc291cmNlcy9zZWFyY2guanMKLSAgc2VhcmNoIG1h
dGNoICMxOiBsaW5lTnVtYmVyID0gMCwgbGluZUNvbnRlbnQgPSAnZnVuY3Rpb24gc2VhcmNoVGVz
dFVuaXF1ZVN0cmluZygpJwotICBzZWFyY2ggbWF0Y2ggIzI6IGxpbmVOdW1iZXIgPSAzLCBsaW5l
Q29udGVudCA9ICcgICAgLy8gc2VhcmNoVGVzdFVuaXF1ZVN0cmluZyB0d28gb2NjdXJlbmNlcyBv
biB0aGUgc2FtZSBsaW5lIHNlYXJjaFRlc3RVbmlxdWVTdHJpbmcnCi0gIHNlYXJjaCBtYXRjaCAj
MzogbGluZU51bWJlciA9IDksIGxpbmVDb250ZW50ID0gJyAgICBzZWFyY2hUZXN0VW5pcXVlU3Ry
aW5nKCk7JwotICBzZWFyY2ggbWF0Y2ggIzQ6IGxpbmVOdW1iZXIgPSAxMCwgbGluZUNvbnRlbnQg
PSAnICAgIC8vIFNFQVJDSFRlc3RVbmlxdWVTdHJpbmcoKTsnCi0KLVJ1bm5pbmc6IHRlc3RDYXNl
U2Vuc2l0aXZlCi1TZWFyY2ggcmVzdWx0ICMxOiB1aVNvdXJjZUNvZGUudXJpID0gaHR0cDovLzEy
Ny4wLjAuMTo4MDAwL2luc3BlY3Rvci9zZWFyY2gvcmVzb3VyY2VzL3NlYXJjaC5jc3MKLSAgc2Vh
cmNoIG1hdGNoICMxOiBsaW5lTnVtYmVyID0gMCwgbGluZUNvbnRlbnQgPSAnZGl2LnNlYXJjaFRl
c3RVbmlxdWVTdHJpbmcgeycKLSAgc2VhcmNoIG1hdGNoICMyOiBsaW5lTnVtYmVyID0gNCwgbGlu
ZUNvbnRlbnQgPSAnZGl2LnNlYXJjaFRlc3RVbmlxdWVTdHJpbmc6aG92ZXIgeycKLSAgc2VhcmNo
IG1hdGNoICMzOiBsaW5lTnVtYmVyID0gNSwgbGluZUNvbnRlbnQgPSAnICAgIC8qIGFub3RoZXIg
c2VhcmNoVGVzdFVuaXF1ZVN0cmluZyBvY2N1cmVuY2UgKi8nCi1TZWFyY2ggcmVzdWx0ICMyOiB1
aVNvdXJjZUNvZGUudXJpID0gaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9zZWFyY2gv
cmVzb3VyY2VzL3NlYXJjaC5odG1sCi0gIHNlYXJjaCBtYXRjaCAjMTogbGluZU51bWJlciA9IDUs
IGxpbmVDb250ZW50ID0gJzxkaXY+c2VhcmNoVGVzdFVuaXF1ZVN0cmluZzwvZGl2PicKLSAgc2Vh
cmNoIG1hdGNoICMyOiBsaW5lTnVtYmVyID0gNywgbGluZUNvbnRlbnQgPSAnPCEtLSBzZWFyY2hU
ZXN0VW5pcXVlU3RyaW5nIC0tPicKLSAgc2VhcmNoIG1hdGNoICMzOiBsaW5lTnVtYmVyID0gOSwg
bGluZUNvbnRlbnQgPSAnPGRpdiBpZD0ic2VhcmNoVGVzdFVuaXF1ZVN0cmluZyI+ZGl2IHRleHQ8
L2Rpdj4nCi1TZWFyY2ggcmVzdWx0ICMzOiB1aVNvdXJjZUNvZGUudXJpID0gaHR0cDovLzEyNy4w
LjAuMTo4MDAwL2luc3BlY3Rvci9zZWFyY2gvcmVzb3VyY2VzL3NlYXJjaC5qcwotICBzZWFyY2gg
bWF0Y2ggIzE6IGxpbmVOdW1iZXIgPSAwLCBsaW5lQ29udGVudCA9ICdmdW5jdGlvbiBzZWFyY2hU
ZXN0VW5pcXVlU3RyaW5nKCknCi0gIHNlYXJjaCBtYXRjaCAjMjogbGluZU51bWJlciA9IDMsIGxp
bmVDb250ZW50ID0gJyAgICAvLyBzZWFyY2hUZXN0VW5pcXVlU3RyaW5nIHR3byBvY2N1cmVuY2Vz
IG9uIHRoZSBzYW1lIGxpbmUgc2VhcmNoVGVzdFVuaXF1ZVN0cmluZycKLSAgc2VhcmNoIG1hdGNo
ICMzOiBsaW5lTnVtYmVyID0gOSwgbGluZUNvbnRlbnQgPSAnICAgIHNlYXJjaFRlc3RVbmlxdWVT
dHJpbmcoKTsnCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9y
L3NlYXJjaC9zY3JpcHRzLXNlYXJjaC1zY29wZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9pbnNwZWN0b3Ivc2VhcmNoL3NjcmlwdHMtc2VhcmNoLXNjb3BlLmh0bWwKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IGRiNTZiZjdmZDQ1NDUwOTU4ZmYyNDRlYjNlMDQ3OWExODBkN2Uz
MmQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3Ivc2VhcmNoL3NjcmlwdHMtc2VhcmNoLXNjb3BlLmh0
bWwKKysrIC9kZXYvbnVsbApAQCAtMSw4MCArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHRpdGxl
PkNoYW5nZSBpbnNwZWN0ZWQgaWZyYW1lJ3MgInNyYyIgYXR0cmlidXRlLjwvdGl0bGU+Ci08c2Ny
aXB0IHNyYz0iLi4vaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4u
L3Jlc291cmNlcy10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci1mdW5jdGlvbiB0ZXN0KCkK
LXsKLSAgICBXZWJJbnNwZWN0b3Iuc2hvd1BhbmVsKCJzY3JpcHRzIik7Ci0gICAgSW5zcGVjdG9y
VGVzdC5ydW5BZnRlclJlc291cmNlc0FyZUZpbmlzaGVkKFsic2VhcmNoLmh0bWwiLCAic2VhcmNo
LmpzIiwgInNlYXJjaC5jc3MiXSwgc3RlcDEpCi0KLSAgICBmdW5jdGlvbiBydW5TZWFyY2hBbmRE
dW1wUmVzdWx0cyhzZWFyY2hDb25maWcsIGNhbGxiYWNrKQotICAgIHsKLSAgICAgICAgdmFyIHNl
YXJjaFJlc3VsdHMgPSBbXTsKLSAgICAgICAgdmFyIHNjb3BlID0gbmV3IFdlYkluc3BlY3Rvci5T
Y3JpcHRzU2VhcmNoU2NvcGUoV2ViSW5zcGVjdG9yLndvcmtzcGFjZSk7Ci0gICAgICAgIHNjb3Bl
LnBlcmZvcm1TZWFyY2goc2VhcmNoQ29uZmlnLCBzZWFyY2hSZXN1bHRDYWxsYmFjaywgc2VhcmNo
RmluaXNoZWRDYWxsYmFjayk7Ci0KLSAgICAgICAgZnVuY3Rpb24gc2VhcmNoUmVzdWx0Q2FsbGJh
Y2soc2VhcmNoUmVzdWx0KQotICAgICAgICB7Ci0gICAgICAgICAgICBzZWFyY2hSZXN1bHRzLnB1
c2goc2VhcmNoUmVzdWx0KTsKLSAgICAgICAgfQotCi0gICAgICAgIGZ1bmN0aW9uIHNlYXJjaEZp
bmlzaGVkQ2FsbGJhY2soKQotICAgICAgICB7Ci0gICAgICAgICAgICBmdW5jdGlvbiBmaWx0ZXJP
dXRFbXB0eVNlYXJjaFJlc3VsdHMoc2VhcmNoUmVzdWx0KQotICAgICAgICAgICAgewotICAgICAg
ICAgICAgICAgIHJldHVybiBzZWFyY2hSZXN1bHQuc2VhcmNoTWF0Y2hlcy5sZW5ndGg7Ci0gICAg
ICAgICAgICB9Ci0gICAgICAgICAgICBzZWFyY2hSZXN1bHRzID0gc2VhcmNoUmVzdWx0cy5maWx0
ZXIoZmlsdGVyT3V0RW1wdHlTZWFyY2hSZXN1bHRzKTsKLQotICAgICAgICAgICAgZm9yICh2YXIg
aSA9IDA7IGkgPCBzZWFyY2hSZXN1bHRzLmxlbmd0aDsgKytpKSB7Ci0gICAgICAgICAgICAgICAg
dmFyIHNlYXJjaFJlc3VsdCA9IHNlYXJjaFJlc3VsdHNbaV07Ci0gICAgICAgICAgICAgICAgdmFy
IHVpU291cmNlQ29kZSA9IHNlYXJjaFJlc3VsdC51aVNvdXJjZUNvZGU7Ci0gICAgICAgICAgICAg
ICAgdmFyIHNlYXJjaE1hdGNoZXMgPSBzZWFyY2hSZXN1bHQuc2VhcmNoTWF0Y2hlczsKLQotICAg
ICAgICAgICAgICAgIGlmICghc2VhcmNoTWF0Y2hlcy5sZW5ndGgpCi0gICAgICAgICAgICAgICAg
ICAgIGNvbnRpbnVlOwotICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJT
ZWFyY2ggcmVzdWx0ICMiICsgKGkgKyAxKSArICI6IHVpU291cmNlQ29kZS51cmkgPSAiICsgdWlT
b3VyY2VDb2RlLnVyaSgpKTsKLSAgICAgICAgICAgICAgICBmb3IgKHZhciBqID0gMDsgaiA8IHNl
YXJjaE1hdGNoZXMubGVuZ3RoOyArK2opIHsKLSAgICAgICAgICAgICAgICAgICAgdmFyIGxpbmVO
dW1iZXIgPSBzZWFyY2hNYXRjaGVzW2pdLmxpbmVOdW1iZXI7Ci0gICAgICAgICAgICAgICAgICAg
IHZhciBsaW5lQ29udGVudCA9IHNlYXJjaE1hdGNoZXNbal0ubGluZUNvbnRlbnQ7Ci0gICAgICAg
ICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCIgIHNlYXJjaCBtYXRjaCAjIiAr
IChqICsgMSkgKyAiOiBsaW5lTnVtYmVyID0gIiArIGxpbmVOdW1iZXIgKyAiLCBsaW5lQ29udGVu
dCA9ICciICsgbGluZUNvbnRlbnQgKyAiJyIpOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAg
ICAgIH0KLSAgICAgICAgICAgIGNhbGxiYWNrKCk7Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICBm
dW5jdGlvbiBzdGVwMSgpCi0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LnJ1blRlc3RTdWl0
ZShbCi0gICAgICAgICAgICBmdW5jdGlvbiB0ZXN0SWdub3JlQ2FzZShuZXh0KQotICAgICAgICAg
ICAgewotICAgICAgICAgICAgICAgIHZhciBzZWFyY2hDb25maWcgPSB7fTsKLSAgICAgICAgICAg
ICAgICBzZWFyY2hDb25maWcucXVlcnkgPSAic2VhcmNoVGVzdCIgKyAiVW5pcXVlU3RyaW5nIjsK
LSAgICAgICAgICAgICAgICBzZWFyY2hDb25maWcuaWdub3JlQ2FzZSA9IHRydWU7Ci0gICAgICAg
ICAgICAgICAgc2VhcmNoQ29uZmlnLmlzUmVnZXggPSBmYWxzZTsKLSAgICAgICAgICAgICAgICBy
dW5TZWFyY2hBbmREdW1wUmVzdWx0cyhzZWFyY2hDb25maWcsIG5leHQpOwotICAgICAgICAgICAg
fSwKLQotICAgICAgICAgICAgZnVuY3Rpb24gdGVzdENhc2VTZW5zaXRpdmUobmV4dCkKLSAgICAg
ICAgICAgIHsKLSAgICAgICAgICAgICAgICB2YXIgc2VhcmNoQ29uZmlnID0ge307Ci0gICAgICAg
ICAgICAgICAgc2VhcmNoQ29uZmlnLnF1ZXJ5ID0gInNlYXJjaFRlc3QiICsgIlVuaXF1ZVN0cmlu
ZyI7Ci0gICAgICAgICAgICAgICAgc2VhcmNoQ29uZmlnLmlnbm9yZUNhc2UgPSBmYWxzZTsKLSAg
ICAgICAgICAgICAgICBzZWFyY2hDb25maWcuaXNSZWdleCA9IGZhbHNlOwotICAgICAgICAgICAg
ICAgIHJ1blNlYXJjaEFuZER1bXBSZXN1bHRzKHNlYXJjaENvbmZpZywgbmV4dCk7Ci0gICAgICAg
ICAgICB9LAotICAgICAgICBdKTsKLSAgICB9Ci19Ci0KLTwvc2NyaXB0PgotPC9oZWFkPgotPGJv
ZHkgb25sb2FkPSJydW5UZXN0KCkiPgotPGlmcmFtZSBzcmM9InJlc291cmNlcy9zZWFyY2guaHRt
bCI+Ci08cD5UZXN0cyB0aGF0IFNjcmlwdFNlYXJjaFNjb3BlIHBlcmZvcm1zIHNlYXJjaCBhY3Jv
c3MgYWxsIHNvdXJjZXMgY29ycmVjdGx5LjwvcD4KLVNlZSA8YSBocmVmPSJodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDEzNTAiPmJ1ZyA0MTM1MDwvYT4uCi08L2JvZHk+
Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9z
ZWFyY2gvc2VhcmNoLWluLWNvbmNhdGVuYXRlZC1zY3JpcHQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3Ivc2VhcmNoL3NlYXJjaC1pbi1jb25jYXRlbmF0ZWQt
c2NyaXB0LWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOGFiNDhh
NTJiOTUwYzg3MDcxODhjZDUxMDY5MTc0N2Y2NDNjZjhkOC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rv
ci9zZWFyY2gvc2VhcmNoLWluLWNvbmNhdGVuYXRlZC1zY3JpcHQtZXhwZWN0ZWQudHh0CisrKyAv
ZGV2L251bGwKQEAgLTEsMTcgKzAsMCBAQAotVGVzdHMgY29uY2F0ZW5hdGVkIHNjcmlwdCBzZWFy
Y2ggaW4gaW5zcGVjdG9yIGRlYnVnZ2VyIGFnZW50LgotCi1CdWcgNjkwMTUgIAotRGVidWdnZXIg
d2FzIGVuYWJsZWQuCi1odHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3NlYXJjaC9yZXNv
dXJjZXMvc2VhcmNoLWNvbmNhdGVuYXRlZC5odG1sCi1TZWFyY2ggbWF0Y2hlczogCi1saW5lTnVt
YmVyOiAzLCBsaW5lOiAnZnVuY3Rpb24gc2VhcmNoVGVzdFVuaXF1ZVN0cmluZygpJwotbGluZU51
bWJlcjogNiwgbGluZTogJyAgICAvLyBzZWFyY2hUZXN0VW5pcXVlU3RyaW5nIHR3byBvY2N1cmVu
Y2VzIG9uIHRoZSBzYW1lIGxpbmUgc2VhcmNoVGVzdFVuaXF1ZVN0cmluZycKLWxpbmVOdW1iZXI6
IDEyLCBsaW5lOiAnICAgIHNlYXJjaFRlc3RVbmlxdWVTdHJpbmcoKTsnCi1saW5lTnVtYmVyOiAx
MywgbGluZTogJyAgICAvLyBTRUFSQ0hUZXN0VW5pcXVlU3RyaW5nKCk7JwotbGluZU51bWJlcjog
MTgsIGxpbmU6ICdmdW5jdGlvbiBzZWFyY2hUZXN0VW5pcXVlU3RyaW5nMigpJwotbGluZU51bWJl
cjogMjEsIGxpbmU6ICcgICAgLyogc2VhcmNoVGVzdFVuaXF1ZVN0cmluZyB0d28gb2NjdXJlbmNl
cyBvbiB0aGUgc2FtZSBsaW5lIHNlYXJjaFRlc3RVbmlxdWVTdHJpbmcgKi8gfSAnCi1saW5lTnVt
YmVyOiAyMSwgbGluZTogJyBmdW5jdGlvbiBkb1NvbWV0aGluZzIoKSB7IHNlYXJjaFRlc3RVbmlx
dWVTdHJpbmcoKTsnCi1saW5lTnVtYmVyOiAyMiwgbGluZTogJyAgICAvLyBTRUFSQ0hUZXN0VW5p
cXVlU3RyaW5nKCk7JwotCi1EZWJ1Z2dlciB3YXMgZGlzYWJsZWQuCi0KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3NlYXJjaC9zZWFyY2gtaW4tY29uY2F0ZW5h
dGVkLXNjcmlwdC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3Ivc2VhcmNo
L3NlYXJjaC1pbi1jb25jYXRlbmF0ZWQtc2NyaXB0Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDk3ZGFhYTc3MjVkMTk0YzRiNmJiMGIzOTM1YWYwYTRhNzkzMGZkMzYuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9pbnNwZWN0b3Ivc2VhcmNoL3NlYXJjaC1pbi1jb25jYXRlbmF0ZWQtc2NyaXB0Lmh0
bWwKKysrIC9kZXYvbnVsbApAQCAtMSw0NyArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlw
dCBzcmM9Ii4uL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi9y
ZXNvdXJjZXMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vZGVidWdnZXItdGVz
dC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0ic2VhcmNoLXRlc3QuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdD4KLWZ1bmN0aW9uIHRlc3QoKQotewotICAgIC8vIFRoaXMgZmlsZSBzaG91bGQgbm90
IG1hdGNoIHNlYXJjaCBxdWVyeS4KLSAgICB2YXIgdGV4dCA9ICJzZWFyY2hUZXN0IiArICJVbmlx
dWVTdHJpbmciOwotICAgIEluc3BlY3RvclRlc3Quc3RhcnREZWJ1Z2dlclRlc3Qoc3RlcDEpOwot
Ci0gICAgZnVuY3Rpb24gc3RlcDEoKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5ydW5B
ZnRlclJlc291cmNlc0FyZUZpbmlzaGVkKFsic2VhcmNoLWNvbmNhdGVuYXRlZC5odG1sIl0sIHN0
ZXAyKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwMigpCi0gICAgewotICAgICAgICBJbnNw
ZWN0b3JUZXN0LnNob3dTY3JpcHRTb3VyY2UoInNlYXJjaC1jb25jYXRlbmF0ZWQuaHRtbCIsIHN0
ZXAzKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwMygpCi0gICAgewotICAgICAgICB2YXIg
dXJsID0gImh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3Ivc2VhcmNoL3Jlc291cmNlcy9z
ZWFyY2gtY29uY2F0ZW5hdGVkLmh0bWwiOwotICAgICAgICB2YXIgc2NyaXB0cyA9IEluc3BlY3Rv
clRlc3QucXVlcnlTY3JpcHRzKGZ1bmN0aW9uKHMpIHsgcmV0dXJuIHMuc291cmNlVVJMID09PSB1
cmw7IH0pOwotICAgICAgICB2YXIgY29udGVudFByb3ZpZGVyID0gbmV3IFdlYkluc3BlY3Rvci5D
b25jYXRlbmF0ZWRTY3JpcHRzQ29udGVudFByb3ZpZGVyKHNjcmlwdHMpOwotICAgICAgICBJbnNw
ZWN0b3JUZXN0LmFkZFJlc3VsdCh1cmwpOwotICAgICAgICBjb250ZW50UHJvdmlkZXIuc2VhcmNo
SW5Db250ZW50KHRleHQsIGZhbHNlLCBmYWxzZSwgc3RlcDQpOwotICAgIH0KLQotICAgIGZ1bmN0
aW9uIHN0ZXA0KHNlYXJjaE1hdGNoZXMpCi0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmR1
bXBTZWFyY2hNYXRjaGVzKHNlYXJjaE1hdGNoZXMpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmNv
bXBsZXRlRGVidWdnZXJUZXN0KCk7Ci0gICAgfQotfQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9k
eT4KLTxwPlRlc3RzIGNvbmNhdGVuYXRlZCBzY3JpcHQgc2VhcmNoIGluIGluc3BlY3RvciBkZWJ1
Z2dlciBhZ2VudC48L3A+Ci08YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NjkwMTUiPkJ1ZyA2OTAxNTwvYT4KLQotPGlmcmFtZSBzcmM9InJlc291cmNlcy9z
ZWFyY2gtY29uY2F0ZW5hdGVkLmh0bWwiIG9ubG9hZD0icnVuVGVzdCgpIj4KLTwvYm9keT4KLTwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3NlYXJj
aC9zZWFyY2gtaW4tbm9uLWV4aXN0aW5nLXJlc291cmNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3NlYXJjaC9zZWFyY2gtaW4tbm9uLWV4aXN0aW5nLXJl
c291cmNlLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOWYzNTRl
ZGJmYzNlMjcxZTYzNmJjY2NhZjE0ZmY5ZDBiZDNlMjkzOC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rv
ci9zZWFyY2gvc2VhcmNoLWluLW5vbi1leGlzdGluZy1yZXNvdXJjZS1leHBlY3RlZC50eHQKKysr
IC9kZXYvbnVsbApAQCAtMSw2ICswLDAgQEAKLVRlc3RzIHNpbmdsZSByZXNvdXJjZSBzZWFyY2gg
aW4gaW5zcGVjdG9yIHBhZ2UgYWdlbnQgd2l0aCBub24gZXhpc3RpbmcgcmVzb3VyY2UgdXJsIGRv
ZXMgbm90IGNhdXNlIGEgY3Jhc2guCi0KLUJ1ZyA2OTc2NyAgCi1TZWFyY2ggbWF0Y2hlczogCi0K
LQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3Ivc2VhcmNoL3Nl
YXJjaC1pbi1ub24tZXhpc3RpbmctcmVzb3VyY2UuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvaW5zcGVjdG9yL3NlYXJjaC9zZWFyY2gtaW4tbm9uLWV4aXN0aW5nLXJlc291cmNlLmh0bWwK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDhkNTMyOWY0MWIzZGJmMDk5MDU5YjlkODIw
ZmNlNWU5MjlhOGU4OWIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3Ivc2VhcmNoL3NlYXJjaC1pbi1u
b24tZXhpc3RpbmctcmVzb3VyY2UuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDM0ICswLDAgQEAK
LTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vaW5zcGVjdG9yLXRlc3QuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSJzZWFyY2gtdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotZnVuY3Rpb24gdGVz
dCgpCi17Ci0gICAgLy8gVGhpcyBmaWxlIHNob3VsZCBub3QgbWF0Y2ggc2VhcmNoIHF1ZXJ5Lgot
ICAgIHZhciB0ZXh0ID0gInNlYXJjaFRlc3QiICsgIlVuaXF1ZVN0cmluZyI7Ci0gICAgSW5zcGVj
dG9yVGVzdC5ydW5BZnRlclJlc291cmNlc0FyZUZpbmlzaGVkKFsic2VhcmNoLmpzIl0sIHN0ZXAy
KTsKLQotICAgIGZ1bmN0aW9uIHN0ZXAyKCkKLSAgICB7Ci0gICAgICAgIHZhciByZXNvdXJjZSA9
IFdlYkluc3BlY3Rvci5yZXNvdXJjZUZvclVSTCgiaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3Bl
Y3Rvci9zZWFyY2gvcmVzb3VyY2VzL3NlYXJjaC5qcyIpOwotICAgICAgICB2YXIgdXJsID0gImh0
dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3Ivc2VhcmNoL3Jlc291cmNlcy9ub24tZXhpc3Rp
bmcuanMiOwotICAgICAgICBQYWdlQWdlbnQuc2VhcmNoSW5SZXNvdXJjZShyZXNvdXJjZS5mcmFt
ZUlkLCB1cmwsIHRleHQsIHN0ZXAzKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwMyhlcnJv
ciwgc2VhcmNoTWF0Y2hlcykKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuZHVtcFNlYXJj
aE1hdGNoZXMoc2VhcmNoTWF0Y2hlcyk7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVU
ZXN0KCk7Ci0gICAgfQotfQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxwPlRlc3RzIHNp
bmdsZSByZXNvdXJjZSBzZWFyY2ggaW4gaW5zcGVjdG9yIHBhZ2UgYWdlbnQgd2l0aCBub24gZXhp
c3RpbmcgcmVzb3VyY2UgdXJsIGRvZXMgbm90IGNhdXNlIGEgY3Jhc2guPC9wPgotPGEgaHJlZj0i
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY5NzY3Ij5CdWcgNjk3Njc8
L2E+Ci0KLTxpZnJhbWUgc3JjPSJyZXNvdXJjZXMvc2VhcmNoLmh0bWwiIG9ubG9hZD0icnVuVGVz
dCgpIj4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvaW5zcGVjdG9yL3NlYXJjaC9zZWFyY2gtaW4tcmVzb3VyY2UtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3Ivc2VhcmNoL3NlYXJjaC1pbi1yZXNvdXJjZS1l
eHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGFiNTgwY2U4NmZjZjk5
MTVhMzAzNzI5OTVhNjMzNzExYjE3NzBhYTMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3Ivc2VhcmNo
L3NlYXJjaC1pbi1yZXNvdXJjZS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwyNyAr
MCwwIEBACi1UZXN0cyBzaW5nbGUgcmVzb3VyY2Ugc2VhcmNoIGluIGluc3BlY3RvciBwYWdlIGFn
ZW50LgotCi1CdWcgNjg5OTggIAotaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9zZWFy
Y2gvcmVzb3VyY2VzL3NlYXJjaC5qcwotU2VhcmNoIG1hdGNoZXM6IAotbGluZU51bWJlcjogMCwg
bGluZTogJ2Z1bmN0aW9uIHNlYXJjaFRlc3RVbmlxdWVTdHJpbmcoKScKLWxpbmVOdW1iZXI6IDMs
IGxpbmU6ICcgICAgLy8gc2VhcmNoVGVzdFVuaXF1ZVN0cmluZyB0d28gb2NjdXJlbmNlcyBvbiB0
aGUgc2FtZSBsaW5lIHNlYXJjaFRlc3RVbmlxdWVTdHJpbmcnCi1saW5lTnVtYmVyOiA5LCBsaW5l
OiAnICAgIHNlYXJjaFRlc3RVbmlxdWVTdHJpbmcoKTsnCi1saW5lTnVtYmVyOiAxMCwgbGluZTog
JyAgICAvLyBTRUFSQ0hUZXN0VW5pcXVlU3RyaW5nKCk7JwotCi1TZWFyY2ggbWF0Y2hlczogCi1s
aW5lTnVtYmVyOiAwLCBsaW5lOiAnZnVuY3Rpb24gc2VhcmNoVGVzdFVuaXF1ZVN0cmluZygpJwot
bGluZU51bWJlcjogMywgbGluZTogJyAgICAvLyBzZWFyY2hUZXN0VW5pcXVlU3RyaW5nIHR3byBv
Y2N1cmVuY2VzIG9uIHRoZSBzYW1lIGxpbmUgc2VhcmNoVGVzdFVuaXF1ZVN0cmluZycKLWxpbmVO
dW1iZXI6IDksIGxpbmU6ICcgICAgc2VhcmNoVGVzdFVuaXF1ZVN0cmluZygpOycKLQotU2VhcmNo
IG1hdGNoZXM6IAotbGluZU51bWJlcjogMCwgbGluZTogJ2Z1bmN0aW9uIHNlYXJjaFRlc3RVbmlx
dWVTdHJpbmcoKScKLWxpbmVOdW1iZXI6IDMsIGxpbmU6ICcgICAgLy8gc2VhcmNoVGVzdFVuaXF1
ZVN0cmluZyB0d28gb2NjdXJlbmNlcyBvbiB0aGUgc2FtZSBsaW5lIHNlYXJjaFRlc3RVbmlxdWVT
dHJpbmcnCi1saW5lTnVtYmVyOiA5LCBsaW5lOiAnICAgIHNlYXJjaFRlc3RVbmlxdWVTdHJpbmco
KTsnCi1saW5lTnVtYmVyOiAxMCwgbGluZTogJyAgICAvLyBTRUFSQ0hUZXN0VW5pcXVlU3RyaW5n
KCk7JwotCi1TZWFyY2ggbWF0Y2hlczogCi1saW5lTnVtYmVyOiAwLCBsaW5lOiAnZnVuY3Rpb24g
c2VhcmNoVGVzdFVuaXF1ZVN0cmluZygpJwotbGluZU51bWJlcjogMywgbGluZTogJyAgICAvLyBz
ZWFyY2hUZXN0VW5pcXVlU3RyaW5nIHR3byBvY2N1cmVuY2VzIG9uIHRoZSBzYW1lIGxpbmUgc2Vh
cmNoVGVzdFVuaXF1ZVN0cmluZycKLWxpbmVOdW1iZXI6IDksIGxpbmU6ICcgICAgc2VhcmNoVGVz
dFVuaXF1ZVN0cmluZygpOycKLQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2luc3BlY3Rvci9zZWFyY2gvc2VhcmNoLWluLXJlc291cmNlLmh0bWwgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2luc3BlY3Rvci9zZWFyY2gvc2VhcmNoLWluLXJlc291cmNlLmh0bWwKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGVmMzM1MWRhOGZkYWNhMjRiODk4NTAwMTliZTBiMTQx
NmY2OGIwMTguLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3Ivc2VhcmNoL3NlYXJjaC1pbi1yZXNvdXJj
ZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNjIgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxz
Y3JpcHQgc3JjPSIuLi9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
Li4vcmVzb3VyY2VzLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9InNlYXJjaC10ZXN0
LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci1mdW5jdGlvbiB0ZXN0KCkKLXsKLSAgICBJbnNwZWN0
b3JUZXN0LnJ1bkFmdGVyUmVzb3VyY2VzQXJlRmluaXNoZWQoWyJzZWFyY2guanMiXSwgc3RlcDIp
OwotICAgIHZhciByZXNvdXJjZTsKLQotICAgIGZ1bmN0aW9uIHN0ZXAyKCkKLSAgICB7Ci0gICAg
ICAgIHJlc291cmNlID0gV2ViSW5zcGVjdG9yLnJlc291cmNlRm9yVVJMKCJodHRwOi8vMTI3LjAu
MC4xOjgwMDAvaW5zcGVjdG9yL3NlYXJjaC9yZXNvdXJjZXMvc2VhcmNoLmpzIik7Ci0gICAgICAg
IEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KHJlc291cmNlLnVybCk7Ci0KLSAgICAgICAgLy8gVGhp
cyBmaWxlIHNob3VsZCBub3QgbWF0Y2ggc2VhcmNoIHF1ZXJ5LgotICAgICAgICB2YXIgdGV4dCA9
ICJzZWFyY2hUZXN0IiArICJVbmlxdWVTdHJpbmciOwotICAgICAgICByZXNvdXJjZS5zZWFyY2hJ
bkNvbnRlbnQodGV4dCwgZmFsc2UsIGZhbHNlLCBzdGVwMyk7Ci0gICAgfQotCi0gICAgZnVuY3Rp
b24gc3RlcDMoc2VhcmNoTWF0Y2hlcykKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuZHVt
cFNlYXJjaE1hdGNoZXMoc2VhcmNoTWF0Y2hlcyk7Ci0KLSAgICAgICAgLy8gVGhpcyBmaWxlIHNo
b3VsZCBub3QgbWF0Y2ggc2VhcmNoIHF1ZXJ5LgotICAgICAgICB2YXIgdGV4dCA9ICJzZWFyY2hU
ZXN0IiArICJVbmlxdWVTdHJpbmciOwotICAgICAgICByZXNvdXJjZS5zZWFyY2hJbkNvbnRlbnQo
dGV4dCwgdHJ1ZSwgZmFsc2UsIHN0ZXA0KTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwNChz
ZWFyY2hNYXRjaGVzKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wU2VhcmNoTWF0
Y2hlcyhzZWFyY2hNYXRjaGVzKTsKLQotICAgICAgICB2YXIgdGV4dCA9ICJbYS16XWVhcmNoVGVz
dFVuaXF1ZVN0cmluZyI7Ci0gICAgICAgIHJlc291cmNlLnNlYXJjaEluQ29udGVudCh0ZXh0LCBm
YWxzZSwgdHJ1ZSwgc3RlcDUpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0ZXA1KHNlYXJjaE1h
dGNoZXMpCi0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBTZWFyY2hNYXRjaGVzKHNl
YXJjaE1hdGNoZXMpOwotCi0gICAgICAgIHZhciB0ZXh0ID0gIlthLXpdZWFyY2hUZXN0VW5pcXVl
U3RyaW5nIjsKLSAgICAgICAgcmVzb3VyY2Uuc2VhcmNoSW5Db250ZW50KHRleHQsIHRydWUsIHRy
dWUsIHN0ZXA2KTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwNihzZWFyY2hNYXRjaGVzKQot
ICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wU2VhcmNoTWF0Y2hlcyhzZWFyY2hNYXRj
aGVzKTsKLQotICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwotICAgIH0KLX0K
LTwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08cD5UZXN0cyBzaW5nbGUgcmVzb3VyY2Ugc2Vh
cmNoIGluIGluc3BlY3RvciBwYWdlIGFnZW50LjwvcD4KLTxhIGhyZWY9Imh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02ODk5OCI+QnVnIDY4OTk4PC9hPgotCi08aWZyYW1l
IHNyYz0icmVzb3VyY2VzL3NlYXJjaC5odG1sIiBvbmxvYWQ9InJ1blRlc3QoKSI+Ci08L2JvZHk+
Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9z
ZWFyY2gvc2VhcmNoLWluLXJlc291cmNlcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2luc3BlY3Rvci9zZWFyY2gvc2VhcmNoLWluLXJlc291cmNlcy1leHBlY3RlZC50eHQK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGEyYWZlYzdiYmNlYWNlOTc2ODAzMjIzZTYy
YjA2YzhkZDNhYjU4ZjcuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3Ivc2VhcmNoL3NlYXJjaC1pbi1y
ZXNvdXJjZXMtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMjggKzAsMCBAQAotVGVz
dHMgYmFja2VuZCBzZWFyY2ggaW4gaW5zcGVjdG9yLgotCi1CdWcgNjEyMDUgIAotQ2FzZSBpbnNl
bnNpdGl2ZSwgbm9uIHJlZ2V4OgotU2VhcmNoIHJlc3VsdHM6IAotdXJsOiBodHRwOi8vMTI3LjAu
MC4xOjgwMDAvaW5zcGVjdG9yL3NlYXJjaC9yZXNvdXJjZXMvc2VhcmNoLmNzcywgbWF0Y2hlc0Nv
dW50OiAzCi11cmw6IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3Ivc2VhcmNoL3Jlc291
cmNlcy9zZWFyY2guanMsIG1hdGNoZXNDb3VudDogNQotdXJsOiBodHRwOi8vMTI3LjAuMC4xOjgw
MDAvaW5zcGVjdG9yL3NlYXJjaC9yZXNvdXJjZXMvc2VhcmNoLmh0bWwsIG1hdGNoZXNDb3VudDog
MwotCi1DYXNlIHNlbnNpdGl2ZSwgbm9uIHJlZ2V4OgotU2VhcmNoIHJlc3VsdHM6IAotdXJsOiBo
dHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3NlYXJjaC9yZXNvdXJjZXMvc2VhcmNoLmNz
cywgbWF0Y2hlc0NvdW50OiAzCi11cmw6IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3Iv
c2VhcmNoL3Jlc291cmNlcy9zZWFyY2guanMsIG1hdGNoZXNDb3VudDogNAotdXJsOiBodHRwOi8v
MTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3NlYXJjaC9yZXNvdXJjZXMvc2VhcmNoLmh0bWwsIG1h
dGNoZXNDb3VudDogMwotCi1DYXNlIGluc2Vuc2l0aXZlLCByZWdleDoKLVNlYXJjaCByZXN1bHRz
OiAKLXVybDogaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9zZWFyY2gvcmVzb3VyY2Vz
L3NlYXJjaC5jc3MsIG1hdGNoZXNDb3VudDogMwotdXJsOiBodHRwOi8vMTI3LjAuMC4xOjgwMDAv
aW5zcGVjdG9yL3NlYXJjaC9yZXNvdXJjZXMvc2VhcmNoLmpzLCBtYXRjaGVzQ291bnQ6IDUKLXVy
bDogaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9zZWFyY2gvcmVzb3VyY2VzL3NlYXJj
aC5odG1sLCBtYXRjaGVzQ291bnQ6IDMKLQotQ2FzZSBzZW5zaXRpdmUsIHJlZ2V4OgotU2VhcmNo
IHJlc3VsdHM6IAotdXJsOiBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3NlYXJjaC9y
ZXNvdXJjZXMvc2VhcmNoLmNzcywgbWF0Y2hlc0NvdW50OiAzCi11cmw6IGh0dHA6Ly8xMjcuMC4w
LjE6ODAwMC9pbnNwZWN0b3Ivc2VhcmNoL3Jlc291cmNlcy9zZWFyY2guanMsIG1hdGNoZXNDb3Vu
dDogNAotdXJsOiBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3NlYXJjaC9yZXNvdXJj
ZXMvc2VhcmNoLmh0bWwsIG1hdGNoZXNDb3VudDogMwotCi0KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3NlYXJjaC9zZWFyY2gtaW4tcmVzb3VyY2VzLmh0bWwg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9zZWFyY2gvc2VhcmNoLWluLXJlc291
cmNlcy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiOTk5OWVhYThiMDQxYWNm
NDU3ODFiZWZkMTNjZTM3MjQ2YzJhZWFhLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3NlYXJjaC9z
ZWFyY2gtaW4tcmVzb3VyY2VzLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw0OSArMCwwIEBACi08
aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uL2luc3BlY3Rvci10ZXN0LmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQgc3JjPSJzZWFyY2gtdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotZnVu
Y3Rpb24gdGVzdCgpCi17Ci0gICAgLy8gVGhpcyBmaWxlIHNob3VsZCBub3QgbWF0Y2ggc2VhcmNo
IHF1ZXJ5LgotICAgIHZhciB0ZXh0ID0gInNlYXJjaFRlc3QiICsgIlVuaXF1ZVN0cmluZyI7Ci0K
LSAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiQ2FzZSBpbnNlbnNpdGl2ZSwgbm9uIHJlZ2V4
OiIpOwotICAgIFBhZ2VBZ2VudC5zZWFyY2hJblJlc291cmNlcyh0ZXh0LCBmYWxzZSwgZmFsc2Us
IHN0ZXAyKTsKLQotICAgIGZ1bmN0aW9uIHN0ZXAyKGVycm9yLCBzZWFyY2hSZXN1bHRzKQotICAg
IHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wU2VhcmNoUmVzdWx0cyhzZWFyY2hSZXN1bHRz
KTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIkNhc2Ugc2Vuc2l0aXZlLCBub24g
cmVnZXg6Iik7Ci0gICAgICAgIFBhZ2VBZ2VudC5zZWFyY2hJblJlc291cmNlcyh0ZXh0LCB0cnVl
LCBmYWxzZSwgc3RlcDMpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0ZXAzKGVycm9yLCBzZWFy
Y2hSZXN1bHRzKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wU2VhcmNoUmVzdWx0
cyhzZWFyY2hSZXN1bHRzKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIkNhc2Ug
aW5zZW5zaXRpdmUsIHJlZ2V4OiIpOwotICAgICAgICBQYWdlQWdlbnQuc2VhcmNoSW5SZXNvdXJj
ZXModGV4dCwgZmFsc2UsIHRydWUsIHN0ZXA0KTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVw
NChlcnJvciwgc2VhcmNoUmVzdWx0cykKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuZHVt
cFNlYXJjaFJlc3VsdHMoc2VhcmNoUmVzdWx0cyk7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRk
UmVzdWx0KCJDYXNlIHNlbnNpdGl2ZSwgcmVnZXg6Iik7Ci0gICAgICAgIFBhZ2VBZ2VudC5zZWFy
Y2hJblJlc291cmNlcyh0ZXh0LCB0cnVlLCB0cnVlLCBzdGVwNSk7Ci0gICAgfQotCi0gICAgZnVu
Y3Rpb24gc3RlcDUoZXJyb3IsIHNlYXJjaFJlc3VsdHMpCi0gICAgewotICAgICAgICBJbnNwZWN0
b3JUZXN0LmR1bXBTZWFyY2hSZXN1bHRzKHNlYXJjaFJlc3VsdHMpOwotICAgICAgICBJbnNwZWN0
b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwotICAgIH0KLX0KLTwvc2NyaXB0PgotPC9oZWFkPgotPGJv
ZHk+Ci08cD5UZXN0cyBiYWNrZW5kIHNlYXJjaCBpbiBpbnNwZWN0b3IuPC9wPgotPGEgaHJlZj0i
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYxMjA1Ij5CdWcgNjEyMDU8
L2E+Ci0KLTxpZnJhbWUgc3JjPSJyZXNvdXJjZXMvc2VhcmNoLmh0bWwiIG9ubG9hZD0icnVuVGVz
dCgpIj4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvaW5zcGVjdG9yL3NlYXJjaC9zZWFyY2gtaW4tc2NyaXB0LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3NlYXJjaC9zZWFyY2gtaW4tc2NyaXB0LWV4cGVj
dGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzM3ZDY3ZTI3M2YzZWQ2Y2Ni
MDI2M2I1Y2M5MmUxNzFiYTU1NTQzOS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9zZWFyY2gvc2Vh
cmNoLWluLXNjcmlwdC1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwyOSArMCwwIEBA
Ci1UZXN0cyBzY3JpcHQgc2VhcmNoIGluIGluc3BlY3RvciBkZWJ1Z2dlciBhZ2VudC4KLQotQnVn
IDY5MDE1ICAKLURlYnVnZ2VyIHdhcyBlbmFibGVkLgotaHR0cDovLzEyNy4wLjAuMTo4MDAwL2lu
c3BlY3Rvci9zZWFyY2gvcmVzb3VyY2VzL3NlYXJjaC5qcwotU2VhcmNoIG1hdGNoZXM6IAotbGlu
ZU51bWJlcjogMCwgbGluZTogJ2Z1bmN0aW9uIHNlYXJjaFRlc3RVbmlxdWVTdHJpbmcoKScKLWxp
bmVOdW1iZXI6IDMsIGxpbmU6ICcgICAgLy8gc2VhcmNoVGVzdFVuaXF1ZVN0cmluZyB0d28gb2Nj
dXJlbmNlcyBvbiB0aGUgc2FtZSBsaW5lIHNlYXJjaFRlc3RVbmlxdWVTdHJpbmcnCi1saW5lTnVt
YmVyOiA5LCBsaW5lOiAnICAgIHNlYXJjaFRlc3RVbmlxdWVTdHJpbmcoKTsnCi1saW5lTnVtYmVy
OiAxMCwgbGluZTogJyAgICAvLyBTRUFSQ0hUZXN0VW5pcXVlU3RyaW5nKCk7JwotCi1TZWFyY2gg
bWF0Y2hlczogCi1saW5lTnVtYmVyOiAwLCBsaW5lOiAnZnVuY3Rpb24gc2VhcmNoVGVzdFVuaXF1
ZVN0cmluZygpJwotbGluZU51bWJlcjogMywgbGluZTogJyAgICAvLyBzZWFyY2hUZXN0VW5pcXVl
U3RyaW5nIHR3byBvY2N1cmVuY2VzIG9uIHRoZSBzYW1lIGxpbmUgc2VhcmNoVGVzdFVuaXF1ZVN0
cmluZycKLWxpbmVOdW1iZXI6IDksIGxpbmU6ICcgICAgc2VhcmNoVGVzdFVuaXF1ZVN0cmluZygp
OycKLQotU2VhcmNoIG1hdGNoZXM6IAotbGluZU51bWJlcjogMCwgbGluZTogJ2Z1bmN0aW9uIHNl
YXJjaFRlc3RVbmlxdWVTdHJpbmcoKScKLWxpbmVOdW1iZXI6IDMsIGxpbmU6ICcgICAgLy8gc2Vh
cmNoVGVzdFVuaXF1ZVN0cmluZyB0d28gb2NjdXJlbmNlcyBvbiB0aGUgc2FtZSBsaW5lIHNlYXJj
aFRlc3RVbmlxdWVTdHJpbmcnCi1saW5lTnVtYmVyOiA5LCBsaW5lOiAnICAgIHNlYXJjaFRlc3RV
bmlxdWVTdHJpbmcoKTsnCi1saW5lTnVtYmVyOiAxMCwgbGluZTogJyAgICAvLyBTRUFSQ0hUZXN0
VW5pcXVlU3RyaW5nKCk7JwotCi1TZWFyY2ggbWF0Y2hlczogCi1saW5lTnVtYmVyOiAwLCBsaW5l
OiAnZnVuY3Rpb24gc2VhcmNoVGVzdFVuaXF1ZVN0cmluZygpJwotbGluZU51bWJlcjogMywgbGlu
ZTogJyAgICAvLyBzZWFyY2hUZXN0VW5pcXVlU3RyaW5nIHR3byBvY2N1cmVuY2VzIG9uIHRoZSBz
YW1lIGxpbmUgc2VhcmNoVGVzdFVuaXF1ZVN0cmluZycKLWxpbmVOdW1iZXI6IDksIGxpbmU6ICcg
ICAgc2VhcmNoVGVzdFVuaXF1ZVN0cmluZygpOycKLQotRGVidWdnZXIgd2FzIGRpc2FibGVkLgot
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9zZWFyY2gvc2Vh
cmNoLWluLXNjcmlwdC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3Ivc2Vh
cmNoL3NlYXJjaC1pbi1zY3JpcHQuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
OTg5Y2IwY2I0MzIzNmZjZmU0NWY2YTYyZDJmZjUwMmUzNTY4MDViZi4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2lu
c3BlY3Rvci9zZWFyY2gvc2VhcmNoLWluLXNjcmlwdC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEs
NzUgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi9pbnNwZWN0b3ItdGVz
dC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzLXRlc3QuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdCBzcmM9Ii4uL2RlYnVnZ2VyLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlw
dCBzcmM9InNlYXJjaC10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci1mdW5jdGlvbiB0ZXN0
KCkKLXsKLSAgICBJbnNwZWN0b3JUZXN0LnN0YXJ0RGVidWdnZXJUZXN0KHN0ZXAxKTsKLSAgICB2
YXIgc2NyaXB0OwotCi0gICAgZnVuY3Rpb24gc3RlcDEoKQotICAgIHsKLSAgICAgICAgSW5zcGVj
dG9yVGVzdC5ydW5BZnRlclJlc291cmNlc0FyZUZpbmlzaGVkKFsic2VhcmNoLmpzIl0sIHN0ZXAy
KTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwMigpCi0gICAgewotICAgICAgICBJbnNwZWN0
b3JUZXN0LnNob3dTY3JpcHRTb3VyY2UoInNlYXJjaC5qcyIsIHN0ZXAzKTsKLSAgICB9Ci0KLSAg
ICBmdW5jdGlvbiBzdGVwMygpCi0gICAgewotICAgICAgICB2YXIgdXJsID0gImh0dHA6Ly8xMjcu
MC4wLjE6ODAwMC9pbnNwZWN0b3Ivc2VhcmNoL3Jlc291cmNlcy9zZWFyY2guanMiOwotICAgICAg
ICB2YXIgc2NyaXB0cyA9IEluc3BlY3RvclRlc3QucXVlcnlTY3JpcHRzKGZ1bmN0aW9uKHMpIHsg
cmV0dXJuIHMuc291cmNlVVJMID09PSB1cmw7IH0pOwotICAgICAgICBzY3JpcHQgPSBzY3JpcHRz
WzBdOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdChzY3JpcHQuc291cmNlVVJMKTsK
LQotICAgICAgICAvLyBUaGlzIGZpbGUgc2hvdWxkIG5vdCBtYXRjaCBzZWFyY2ggcXVlcnkuCi0g
ICAgICAgIHZhciB0ZXh0ID0gInNlYXJjaFRlc3QiICsgIlVuaXF1ZVN0cmluZyI7Ci0gICAgICAg
IHNjcmlwdC5zZWFyY2hJbkNvbnRlbnQodGV4dCwgZmFsc2UsIGZhbHNlLCBzdGVwNCk7Ci0gICAg
fQotCi0gICAgZnVuY3Rpb24gc3RlcDQoc2VhcmNoTWF0Y2hlcykKLSAgICB7Ci0gICAgICAgIElu
c3BlY3RvclRlc3QuZHVtcFNlYXJjaE1hdGNoZXMoc2VhcmNoTWF0Y2hlcyk7Ci0KLSAgICAgICAg
Ly8gVGhpcyBmaWxlIHNob3VsZCBub3QgbWF0Y2ggc2VhcmNoIHF1ZXJ5LgotICAgICAgICB2YXIg
dGV4dCA9ICJzZWFyY2hUZXN0IiArICJVbmlxdWVTdHJpbmciOwotICAgICAgICBzY3JpcHQuc2Vh
cmNoSW5Db250ZW50KHRleHQsIHRydWUsIGZhbHNlLCBzdGVwNSk7Ci0gICAgfQotCi0gICAgZnVu
Y3Rpb24gc3RlcDUoc2VhcmNoTWF0Y2hlcykKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3Qu
ZHVtcFNlYXJjaE1hdGNoZXMoc2VhcmNoTWF0Y2hlcyk7Ci0KLSAgICAgICAgdmFyIHRleHQgPSAi
W2Etel1lYXJjaFRlc3RVbmlxdWVTdHJpbmciOwotICAgICAgICBzY3JpcHQuc2VhcmNoSW5Db250
ZW50KHRleHQsIGZhbHNlLCB0cnVlLCBzdGVwNik7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc3Rl
cDYoc2VhcmNoTWF0Y2hlcykKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuZHVtcFNlYXJj
aE1hdGNoZXMoc2VhcmNoTWF0Y2hlcyk7Ci0KLSAgICAgICAgdmFyIHRleHQgPSAiW2Etel1lYXJj
aFRlc3RVbmlxdWVTdHJpbmciOwotICAgICAgICBzY3JpcHQuc2VhcmNoSW5Db250ZW50KHRleHQs
IHRydWUsIHRydWUsIHN0ZXA3KTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwNyhzZWFyY2hN
YXRjaGVzKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wU2VhcmNoTWF0Y2hlcyhz
ZWFyY2hNYXRjaGVzKTsKLQotICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlRGVidWdnZXJU
ZXN0KCk7Ci0gICAgfQotfQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxwPlRlc3RzIHNj
cmlwdCBzZWFyY2ggaW4gaW5zcGVjdG9yIGRlYnVnZ2VyIGFnZW50LjwvcD4KLTxhIGhyZWY9Imh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02OTAxNSI+QnVnIDY5MDE1PC9h
PgotCi08aWZyYW1lIHNyYz0icmVzb3VyY2VzL3NlYXJjaC5odG1sIiBvbmxvYWQ9InJ1blRlc3Qo
KSI+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2luc3BlY3Rvci9zZWFyY2gvc2VhcmNoLWluLXN0YXRpYy1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9zZWFyY2gvc2VhcmNoLWluLXN0YXRpYy1leHBlY3Rl
ZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGJhM2U1YjI0NzlhZWY2NTFiNDdh
MTU0YTE5N2JjNDZmMDUzYWUyYjQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3Ivc2VhcmNoL3NlYXJj
aC1pbi1zdGF0aWMtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMjUgKzAsMCBAQAot
VGVzdHMgc3RhdGljIGNvbnRlbnQgcHJvdmlkZXIgc2VhcmNoLgotCi1CdWcgNzAzNTQgIAotaHR0
cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9zZWFyY2gvcmVzb3VyY2VzL3NlYXJjaC5qcwot
U2VhcmNoIG1hdGNoZXM6IAotbGluZU51bWJlcjogMCwgbGluZTogJ2Z1bmN0aW9uIHNlYXJjaFRl
c3RVbmlxdWVTdHJpbmcoKScKLWxpbmVOdW1iZXI6IDMsIGxpbmU6ICcgICAgLy8gc2VhcmNoVGVz
dFVuaXF1ZVN0cmluZyB0d28gb2NjdXJlbmNlcyBvbiB0aGUgc2FtZSBsaW5lIHNlYXJjaFRlc3RV
bmlxdWVTdHJpbmcnCi1saW5lTnVtYmVyOiA5LCBsaW5lOiAnICAgIHNlYXJjaFRlc3RVbmlxdWVT
dHJpbmcoKTsnCi0KLVNlYXJjaCBtYXRjaGVzOiAKLWxpbmVOdW1iZXI6IDAsIGxpbmU6ICdmdW5j
dGlvbiBzZWFyY2hUZXN0VW5pcXVlU3RyaW5nKCknCi1saW5lTnVtYmVyOiAzLCBsaW5lOiAnICAg
IC8vIHNlYXJjaFRlc3RVbmlxdWVTdHJpbmcgdHdvIG9jY3VyZW5jZXMgb24gdGhlIHNhbWUgbGlu
ZSBzZWFyY2hUZXN0VW5pcXVlU3RyaW5nJwotbGluZU51bWJlcjogOSwgbGluZTogJyAgICBzZWFy
Y2hUZXN0VW5pcXVlU3RyaW5nKCk7JwotCi1TZWFyY2ggbWF0Y2hlczogCi1saW5lTnVtYmVyOiAw
LCBsaW5lOiAnZnVuY3Rpb24gc2VhcmNoVGVzdFVuaXF1ZVN0cmluZygpJwotbGluZU51bWJlcjog
MywgbGluZTogJyAgICAvLyBzZWFyY2hUZXN0VW5pcXVlU3RyaW5nIHR3byBvY2N1cmVuY2VzIG9u
IHRoZSBzYW1lIGxpbmUgc2VhcmNoVGVzdFVuaXF1ZVN0cmluZycKLWxpbmVOdW1iZXI6IDksIGxp
bmU6ICcgICAgc2VhcmNoVGVzdFVuaXF1ZVN0cmluZygpOycKLQotU2VhcmNoIG1hdGNoZXM6IAot
bGluZU51bWJlcjogMCwgbGluZTogJ2Z1bmN0aW9uIHNlYXJjaFRlc3RVbmlxdWVTdHJpbmcoKScK
LWxpbmVOdW1iZXI6IDMsIGxpbmU6ICcgICAgLy8gc2VhcmNoVGVzdFVuaXF1ZVN0cmluZyB0d28g
b2NjdXJlbmNlcyBvbiB0aGUgc2FtZSBsaW5lIHNlYXJjaFRlc3RVbmlxdWVTdHJpbmcnCi1saW5l
TnVtYmVyOiA5LCBsaW5lOiAnICAgIHNlYXJjaFRlc3RVbmlxdWVTdHJpbmcoKTsnCi0KLQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3Ivc2VhcmNoL3NlYXJjaC1p
bi1zdGF0aWMuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3NlYXJjaC9z
ZWFyY2gtaW4tc3RhdGljLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ0MWFk
ZGNlMTExYmJmMmM5OGMwNDhiMjNiY2EyOWYyOWRhMDkzYmMuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0
b3Ivc2VhcmNoL3NlYXJjaC1pbi1zdGF0aWMuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDY3ICsw
LDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vaW5zcGVjdG9yLXRlc3QuanMi
Pjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy10ZXN0LmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSJzZWFyY2gtdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotZnVuY3Rp
b24gdGVzdCgpCi17Ci0gICAgSW5zcGVjdG9yVGVzdC5ydW5BZnRlclJlc291cmNlc0FyZUZpbmlz
aGVkKFsic2VhcmNoLmpzIl0sIHN0ZXAyKTsKLSAgICB2YXIgcmVzb3VyY2U7Ci0gICAgdmFyIHN0
YXRpY0NvbnRlbnRQcm92aWRlcjsKLQotICAgIGZ1bmN0aW9uIHN0ZXAyKCkKLSAgICB7Ci0gICAg
ICAgIHJlc291cmNlID0gV2ViSW5zcGVjdG9yLnJlc291cmNlRm9yVVJMKCJodHRwOi8vMTI3LjAu
MC4xOjgwMDAvaW5zcGVjdG9yL3NlYXJjaC9yZXNvdXJjZXMvc2VhcmNoLmpzIik7Ci0gICAgICAg
IHJlc291cmNlLnJlcXVlc3RDb250ZW50KHN0ZXAzKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBz
dGVwMygpCi0gICAgewotICAgICAgICBzdGF0aWNDb250ZW50UHJvdmlkZXIgPSBuZXcgV2ViSW5z
cGVjdG9yLlN0YXRpY0NvbnRlbnRQcm92aWRlcihXZWJJbnNwZWN0b3IucmVzb3VyY2VUeXBlcy5T
Y3JpcHQsIHJlc291cmNlLmNvbnRlbnQpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3Vs
dChyZXNvdXJjZS51cmwpOwotCi0gICAgICAgIHZhciB0ZXh0ID0gInNlYXJjaFRlc3RVbmlxdWVT
dHJpbmciOwotICAgICAgICBzdGF0aWNDb250ZW50UHJvdmlkZXIuc2VhcmNoSW5Db250ZW50KHRl
eHQsIHRydWUsIGZhbHNlLCBzdGVwNCk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc3RlcDQoc2Vh
cmNoTWF0Y2hlcykKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuZHVtcFNlYXJjaE1hdGNo
ZXMoc2VhcmNoTWF0Y2hlcyk7Ci0KLSAgICAgICAgdmFyIHRleHQgPSAic2VhcmNoVGVzdFVuaXF1
ZVN0cmluZyI7Ci0gICAgICAgIHN0YXRpY0NvbnRlbnRQcm92aWRlci5zZWFyY2hJbkNvbnRlbnQo
dGV4dCwgdHJ1ZSwgZmFsc2UsIHN0ZXA1KTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwNShz
ZWFyY2hNYXRjaGVzKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wU2VhcmNoTWF0
Y2hlcyhzZWFyY2hNYXRjaGVzKTsKLQotICAgICAgICB2YXIgdGV4dCA9ICJbYS16XWVhcmNoVGVz
dFVuaXF1ZVN0cmluZyI7Ci0gICAgICAgIHN0YXRpY0NvbnRlbnRQcm92aWRlci5zZWFyY2hJbkNv
bnRlbnQodGV4dCwgZmFsc2UsIHRydWUsIHN0ZXA2KTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBz
dGVwNihzZWFyY2hNYXRjaGVzKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wU2Vh
cmNoTWF0Y2hlcyhzZWFyY2hNYXRjaGVzKTsKLQotICAgICAgICB2YXIgdGV4dCA9ICJbYS16XWVh
cmNoVGVzdFVuaXF1ZVN0cmluZyI7Ci0gICAgICAgIHN0YXRpY0NvbnRlbnRQcm92aWRlci5zZWFy
Y2hJbkNvbnRlbnQodGV4dCwgdHJ1ZSwgdHJ1ZSwgc3RlcDcpOwotICAgIH0KLQotICAgIGZ1bmN0
aW9uIHN0ZXA3KHNlYXJjaE1hdGNoZXMpCi0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmR1
bXBTZWFyY2hNYXRjaGVzKHNlYXJjaE1hdGNoZXMpOwotCi0gICAgICAgIEluc3BlY3RvclRlc3Qu
Y29tcGxldGVUZXN0KCk7Ci0gICAgfQotfQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxw
PlRlc3RzIHN0YXRpYyBjb250ZW50IHByb3ZpZGVyIHNlYXJjaC48L3A+Ci08YSBocmVmPSJodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAzNTQiPkJ1ZyA3MDM1NDwvYT4K
LQotPGlmcmFtZSBzcmM9InJlc291cmNlcy9zZWFyY2guaHRtbCIgb25sb2FkPSJydW5UZXN0KCki
PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9p
bnNwZWN0b3Ivc2VhcmNoL3NlYXJjaC10ZXN0LmpzIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9p
bnNwZWN0b3Ivc2VhcmNoL3NlYXJjaC10ZXN0LmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCA1Mjc2MjgxNjA2YjFkNDYzZDVhOTFmYTlkYTFmOTUzZDliZjUzZWQzLi4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvaW5zcGVjdG9yL3NlYXJjaC9zZWFyY2gtdGVzdC5qcworKysgL2Rldi9udWxsCkBAIC0xLDI1
ICswLDAgQEAKLXZhciBpbml0aWFsaXplX1NlYXJjaFRlc3QgPSBmdW5jdGlvbigpIHsKLQotSW5z
cGVjdG9yVGVzdC5kdW1wU2VhcmNoUmVzdWx0cyA9IGZ1bmN0aW9uKHNlYXJjaFJlc3VsdHMpCi17
Ci0gICAgZnVuY3Rpb24gY29tcGFyYXRvcihhLCBiKQotICAgIHsKLSAgICAgICAgYS51cmwubG9j
YWxlQ29tcGFyZShiLnVybCk7Ci0gICAgfQotICAgIHNlYXJjaFJlc3VsdHMuc29ydChjb21wYXJh
dG9yKTsKLQotICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJTZWFyY2ggcmVzdWx0czogIik7
Ci0gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBzZWFyY2hSZXN1bHRzLmxlbmd0aDsgaSsrKQotICAg
ICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgidXJsOiAiICsgc2VhcmNoUmVzdWx0c1tpXS51
cmwgKyAiLCBtYXRjaGVzQ291bnQ6ICIgKyBzZWFyY2hSZXN1bHRzW2ldLm1hdGNoZXNDb3VudCk7
Ci0gICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIiIpOwotfTsKLQotSW5zcGVjdG9yVGVzdC5k
dW1wU2VhcmNoTWF0Y2hlcyA9IGZ1bmN0aW9uKHNlYXJjaE1hdGNoZXMpCi17Ci0gICAgSW5zcGVj
dG9yVGVzdC5hZGRSZXN1bHQoIlNlYXJjaCBtYXRjaGVzOiAiKTsKLSAgICBmb3IgKHZhciBpID0g
MDsgaSA8IHNlYXJjaE1hdGNoZXMubGVuZ3RoOyBpKyspCi0gICAgICAgIEluc3BlY3RvclRlc3Qu
YWRkUmVzdWx0KCJsaW5lTnVtYmVyOiAiICsgc2VhcmNoTWF0Y2hlc1tpXS5saW5lTnVtYmVyICsg
IiwgbGluZTogJyIgKyBzZWFyY2hNYXRjaGVzW2ldLmxpbmVDb250ZW50ICsgIiciKTsKLSAgICBJ
bnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiIik7Ci19OwotCi19OwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3Ivc3RhY2t0cmFjZXMvY3NwLWluamVjdGVkLWNvbnRl
bnQtd2FybmluZy1jb250YWlucy1zdGFja3RyYWNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvaW5zcGVjdG9yL3N0YWNrdHJhY2VzL2NzcC1pbmplY3RlZC1jb250ZW50LXdh
cm5pbmctY29udGFpbnMtc3RhY2t0cmFjZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IGE5YTgwNDQ5YjgyY2JjNDllODhmMTlkMmUwZGJkYTk0MGRiZjdlNmYuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9pbnNwZWN0b3Ivc3RhY2t0cmFjZXMvY3NwLWluamVjdGVkLWNvbnRlbnQtd2Fy
bmluZy1jb250YWlucy1zdGFja3RyYWNlLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0x
LDEzICswLDAgQEAKLUNPTlNPTEUgTUVTU0FHRTogUmVmdXNlZCB0byBsb2FkIHRoZSBpbWFnZSAn
aHR0cDovLzEyNy4wLjAuMTo4MDAwL3Jlc291cmNlcy9hYmUucG5nJyBiZWNhdXNlIGl0IHZpb2xh
dGVzIHRoZSBmb2xsb3dpbmcgQ29udGVudCBTZWN1cml0eSBQb2xpY3kgZGlyZWN0aXZlOiAiaW1n
LXNyYyAnbm9uZSciLgotCi1UaGlzIHRlc3QgaW5qZWN0cyBhIGJsb2NrZWQgaW1hZ2UgZnJvbSBK
YXZhU2NyaXB0LiBUaGUgcmVzdWx0aW5nIGNvbnNvbGUgZXJyb3Igc2hvdWxkIGNvbnRhaW4gYSBz
dGFjayB0cmFjZS4KLQotCi1NZXNzYWdlWzBdOiBjc3AtaW5qZWN0ZWQtY29udGVudC13YXJuaW5n
LWNvbnRhaW5zLXN0YWNrdHJhY2UuaHRtbDoxMiBSZWZ1c2VkIHRvIGxvYWQgdGhlIGltYWdlICdo
dHRwOi8vMTI3LjAuMC4xOjgwMDAvcmVzb3VyY2VzL2FiZS5wbmcnIGJlY2F1c2UgaXQgdmlvbGF0
ZXMgdGhlIGZvbGxvd2luZyBDb250ZW50IFNlY3VyaXR5IFBvbGljeSBkaXJlY3RpdmU6ICJpbWct
c3JjICdub25lJyIuCi0KLVN0YWNrIFRyYWNlOgotCi0gICAgdXJsOiBodHRwOi8vMTI3LjAuMC4x
OjgwMDAvaW5zcGVjdG9yL3N0YWNrdHJhY2VzL2NzcC1pbmplY3RlZC1jb250ZW50LXdhcm5pbmct
Y29udGFpbnMtc3RhY2t0cmFjZS5odG1sCi0gICAgZnVuY3Rpb246IHRoaXNUZXN0Ci0gICAgbGlu
ZTogMTIKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3Ivc3Rh
Y2t0cmFjZXMvY3NwLWluamVjdGVkLWNvbnRlbnQtd2FybmluZy1jb250YWlucy1zdGFja3RyYWNl
Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9zdGFja3RyYWNlcy9jc3At
aW5qZWN0ZWQtY29udGVudC13YXJuaW5nLWNvbnRhaW5zLXN0YWNrdHJhY2UuaHRtbApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZGIwMWU1ZWM1ODc1M2JkNzA1NDA5ZGMxNzMxNGI2NjZl
ZWQ5ODc5MC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9zdGFja3RyYWNlcy9jc3AtaW5qZWN0ZWQt
Y29udGVudC13YXJuaW5nLWNvbnRhaW5zLXN0YWNrdHJhY2UuaHRtbAorKysgL2Rldi9udWxsCkBA
IC0xLDIxICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci0gICAgPGhlYWQ+Ci0gICAg
ICAgIDxtZXRhIGh0dHAtZXF1aXY9J0NvbnRlbnQtU2VjdXJpdHktUG9saWN5JyBjb250ZW50PSJp
bWctc3JjICdub25lJyI+Ci0gICAgICAgIDxzY3JpcHQgc3JjPScvaW5zcGVjdG9yL2NvbnNvbGUt
dGVzdC5qcyc+PC9zY3JpcHQ+Ci0gICAgICAgIDxzY3JpcHQgc3JjPScvaW5zcGVjdG9yL2RlYnVn
Z2VyLXRlc3QuanMnPjwvc2NyaXB0PgotICAgICAgICA8c2NyaXB0IHNyYz0nL2luc3BlY3Rvci9p
bnNwZWN0b3ItdGVzdC5qcyc+PC9zY3JpcHQ+Ci0gICAgICAgIDxzY3JpcHQgc3JjPScvaW5zcGVj
dG9yL3N0YWNrdHJhY2VzL3Jlc291cmNlcy9zdGFja3RyYWNlLXRlc3QuanMnPjwvc2NyaXB0Pgot
ICAgICAgICA8c2NyaXB0PgotICAgICAgICAgICAgZnVuY3Rpb24gdGhpc1Rlc3QoKSB7Ci0gICAg
ICAgICAgICAgICAgdmFyIGltZyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2ltZycpOwotICAg
ICAgICAgICAgICAgIGltZy5zcmMgPSAnL3Jlc291cmNlcy9hYmUucG5nJzsKLSAgICAgICAgICAg
ICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGltZyk7Ci0gICAgICAgICAgICB9Ci0gICAg
ICAgIDwvc2NyaXB0PgotICAgIDwvaGVhZD4KLSAgICA8Ym9keSBvbmxvYWQ9J3J1blRlc3QoKSc+
Ci0gICAgICAgIDxwPlRoaXMgdGVzdCBpbmplY3RzIGEgYmxvY2tlZCBpbWFnZSBmcm9tIEphdmFT
Y3JpcHQuIFRoZSByZXN1bHRpbmcgY29uc29sZQotICAgICAgICBlcnJvciBzaG91bGQgY29udGFp
biBhIHN0YWNrIHRyYWNlLjwvcD4KLSAgICA8L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9zdGFja3RyYWNlcy9jc3AtaW5saW5lLXdh
cm5pbmctY29udGFpbnMtc3RhY2t0cmFjZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2luc3BlY3Rvci9zdGFja3RyYWNlcy9jc3AtaW5saW5lLXdhcm5pbmctY29udGFpbnMt
c3RhY2t0cmFjZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDdm
NDE4MGNlN2FkOTczZTZkM2Q1YmFkZmYxODA4NzRmYzU5MzUzZWEuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNw
ZWN0b3Ivc3RhY2t0cmFjZXMvY3NwLWlubGluZS13YXJuaW5nLWNvbnRhaW5zLXN0YWNrdHJhY2Ut
ZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTIgKzAsMCBAQAotQ09OU09MRSBNRVNT
QUdFOiBSZWZ1c2VkIHRvIGV4ZWN1dGUgaW5saW5lIHNjcmlwdCBiZWNhdXNlIGl0IHZpb2xhdGVz
IHRoZSBmb2xsb3dpbmcgQ29udGVudCBTZWN1cml0eSBQb2xpY3kgZGlyZWN0aXZlOiAic2NyaXB0
LXNyYyAnc2VsZiciLgotCi1UaGlzIHRlc3QgaW5qZWN0cyBhbiBpbmxpbmUgc2NyaXB0IGZyb20g
SmF2YVNjcmlwdC4gVGhlIHJlc3VsdGluZyBjb25zb2xlIGVycm9yIHNob3VsZCBjb250YWluIGEg
c3RhY2sgdHJhY2UuCi0KLU1lc3NhZ2VbMF06IFtuYXRpdmUgY29kZV06MCBSZWZ1c2VkIHRvIGV4
ZWN1dGUgaW5saW5lIHNjcmlwdCBiZWNhdXNlIGl0IHZpb2xhdGVzIHRoZSBmb2xsb3dpbmcgQ29u
dGVudCBTZWN1cml0eSBQb2xpY3kgZGlyZWN0aXZlOiAic2NyaXB0LXNyYyAnc2VsZiciLgotCi1T
dGFjayBUcmFjZToKLQotICAgIHVybDogW25hdGl2ZSBjb2RlXQotICAgIGZ1bmN0aW9uOiBhcHBl
bmRDaGlsZAotICAgIGxpbmU6IDAKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9pbnNwZWN0b3Ivc3RhY2t0cmFjZXMvY3NwLWlubGluZS13YXJuaW5nLWNvbnRhaW5zLXN0YWNr
dHJhY2UuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3N0YWNrdHJhY2Vz
L2NzcC1pbmxpbmUtd2FybmluZy1jb250YWlucy1zdGFja3RyYWNlLmh0bWwKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDhkODUxZDBhZWZiMTJiYTYyY2MxNGQzMWU0ZDA2YjA0ZWY1Njgw
YjkuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3Ivc3RhY2t0cmFjZXMvY3NwLWlubGluZS13YXJuaW5n
LWNvbnRhaW5zLXN0YWNrdHJhY2UuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDE1ICswLDAgQEAK
LTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci0gICAgPGhlYWQ+Ci0gICAgICAgIDxtZXRhIGh0dHAt
ZXF1aXY9J0NvbnRlbnQtU2VjdXJpdHktUG9saWN5JyBjb250ZW50PSJzY3JpcHQtc3JjICdzZWxm
JyI+Ci0gICAgICAgIDxzY3JpcHQgc3JjPScvaW5zcGVjdG9yL2NvbnNvbGUtdGVzdC5qcyc+PC9z
Y3JpcHQ+Ci0gICAgICAgIDxzY3JpcHQgc3JjPScvaW5zcGVjdG9yL2RlYnVnZ2VyLXRlc3QuanMn
Pjwvc2NyaXB0PgotICAgICAgICA8c2NyaXB0IHNyYz0nL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVz
dC5qcyc+PC9zY3JpcHQ+Ci0gICAgICAgIDxzY3JpcHQgc3JjPScvaW5zcGVjdG9yL3N0YWNrdHJh
Y2VzL3Jlc291cmNlcy9zdGFja3RyYWNlLXRlc3QuanMnPjwvc2NyaXB0PgotICAgICAgICA8c2Ny
aXB0IHNyYz0nL2luc3BlY3Rvci9zdGFja3RyYWNlcy9yZXNvdXJjZXMvY3NwLWlubGluZS10ZXN0
LmpzJz48L3NjcmlwdD4KLSAgICA8L2hlYWQ+Ci0gICAgPGJvZHk+Ci0gICAgICAgIDxwPlRoaXMg
dGVzdCBpbmplY3RzIGFuIGlubGluZSBzY3JpcHQgZnJvbSBKYXZhU2NyaXB0LiBUaGUgcmVzdWx0
aW5nCi0gICAgICAgIGNvbnNvbGUgZXJyb3Igc2hvdWxkIGNvbnRhaW4gYSBzdGFjayB0cmFjZS48
L3A+Ci0gICAgPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9pbnNwZWN0b3Ivc3RhY2t0cmFjZXMvY3NwLXNldEludGVydmFsLXdhcm5pbmctY29udGFp
bnMtc3RhY2t0cmFjZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3Bl
Y3Rvci9zdGFja3RyYWNlcy9jc3Atc2V0SW50ZXJ2YWwtd2FybmluZy1jb250YWlucy1zdGFja3Ry
YWNlLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDlkM2FkYjQ3
MTIzMzliZTdkZDVkZmY5YjdiMGRiZWUwMTc0ZmQ3Ni4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9z
dGFja3RyYWNlcy9jc3Atc2V0SW50ZXJ2YWwtd2FybmluZy1jb250YWlucy1zdGFja3RyYWNlLWV4
cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDEyICswLDAgQEAKLUNPTlNPTEUgTUVTU0FH
RTogUmVmdXNlZCB0byBldmFsdWF0ZSBzY3JpcHQgYmVjYXVzZSBpdCB2aW9sYXRlcyB0aGUgZm9s
bG93aW5nIENvbnRlbnQgU2VjdXJpdHkgUG9saWN5IGRpcmVjdGl2ZTogInNjcmlwdC1zcmMgJ3Nl
bGYnICd1bnNhZmUtaW5saW5lJyIuCi0KLVRoaXMgdGVzdCBhdHRlbXB0cyB0byBldmFsdWF0ZSBz
Y3JpcHQgdmlhIHNldEludGVydmFsLiBUaGUgcmVzdWx0aW5nIGNvbnNvbGUgZXJyb3Igc2hvdWxk
IGNvbnRhaW4gYSBzdGFjayB0cmFjZSB0aWVkIHRvIGxpbmUgMTEuCi0KLU1lc3NhZ2VbMF06IGNz
cC1zZXRJbnRlcnZhbC13YXJuaW5nLWNvbnRhaW5zLXN0YWNrdHJhY2UuaHRtbDoxMSBSZWZ1c2Vk
IHRvIGV2YWx1YXRlIHNjcmlwdCBiZWNhdXNlIGl0IHZpb2xhdGVzIHRoZSBmb2xsb3dpbmcgQ29u
dGVudCBTZWN1cml0eSBQb2xpY3kgZGlyZWN0aXZlOiAic2NyaXB0LXNyYyAnc2VsZicgJ3Vuc2Fm
ZS1pbmxpbmUnIi4KLQotU3RhY2sgVHJhY2U6Ci0KLSAgICB1cmw6IGh0dHA6Ly8xMjcuMC4wLjE6
ODAwMC9pbnNwZWN0b3Ivc3RhY2t0cmFjZXMvY3NwLXNldEludGVydmFsLXdhcm5pbmctY29udGFp
bnMtc3RhY2t0cmFjZS5odG1sCi0gICAgZnVuY3Rpb246IHRoaXNUZXN0Ci0gICAgbGluZTogMTEK
LQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3Ivc3RhY2t0cmFj
ZXMvY3NwLXNldEludGVydmFsLXdhcm5pbmctY29udGFpbnMtc3RhY2t0cmFjZS5odG1sIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3Ivc3RhY2t0cmFjZXMvY3NwLXNldEludGVydmFs
LXdhcm5pbmctY29udGFpbnMtc3RhY2t0cmFjZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCBhNzY3YmYzMDg5ZWEzNzRhMTRiNTc5NTRhMjNlODM5MWIxYzI0NTdiLi4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvaW5zcGVjdG9yL3N0YWNrdHJhY2VzL2NzcC1zZXRJbnRlcnZhbC13YXJuaW5nLWNvbnRh
aW5zLXN0YWNrdHJhY2UuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDIzICswLDAgQEAKLTwhRE9D
VFlQRSBodG1sPgotPGh0bWw+Ci0gICAgPGhlYWQ+Ci0gICAgICAgIDxtZXRhIGh0dHAtZXF1aXY9
J0NvbnRlbnQtU2VjdXJpdHktUG9saWN5JyBjb250ZW50PSJzY3JpcHQtc3JjICdzZWxmJyAndW5z
YWZlLWlubGluZSciPgotICAgICAgICA8c2NyaXB0IHNyYz0nL2luc3BlY3Rvci9jb25zb2xlLXRl
c3QuanMnPjwvc2NyaXB0PgotICAgICAgICA8c2NyaXB0IHNyYz0nL2luc3BlY3Rvci9kZWJ1Z2dl
ci10ZXN0LmpzJz48L3NjcmlwdD4KLSAgICAgICAgPHNjcmlwdCBzcmM9Jy9pbnNwZWN0b3IvaW5z
cGVjdG9yLXRlc3QuanMnPjwvc2NyaXB0PgotICAgICAgICA8c2NyaXB0IHNyYz0nL2luc3BlY3Rv
ci9zdGFja3RyYWNlcy9yZXNvdXJjZXMvc3RhY2t0cmFjZS10ZXN0LmpzJz48L3NjcmlwdD4KLSAg
ICAgICAgPHNjcmlwdD4KLSAgICAgICAgICAgIGZ1bmN0aW9uIHRoaXNUZXN0KCkgewotICAgICAg
ICAgICAgICAgIHZhciBpZCA9IHNldEludGVydmFsKCdsb2coIkZBSUwiKScsIDApOwotICAgICAg
ICAgICAgICAgIGlmIChpZCAhPSAwKQotICAgICAgICAgICAgICAgICAgICBsb2coJ0ZBSUw6IFJl
dHVybiB2YWx1ZSBmb3Igc3RyaW5nIChzaG91bGQgYmUgMCk6ICcgKyBpZCk7Ci0gICAgICAgICAg
ICAgICAgZWxzZQotICAgICAgICAgICAgICAgICAgICBsb2coJ1BBU1M6IFJldHVybiB2YWx1ZSBm
b3IgYmxvY2tlZCBzZXRJbnRlcnZhbCBpcyAwJyk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIDwv
c2NyaXB0PgotICAgIDwvaGVhZD4KLSAgICA8Ym9keSBvbmxvYWQ9J3J1blRlc3QoKSc+Ci0gICAg
ICAgIDxwPlRoaXMgdGVzdCBhdHRlbXB0cyB0byBldmFsdWF0ZSBzY3JpcHQgdmlhIHNldEludGVy
dmFsLiBUaGUgcmVzdWx0aW5nIGNvbnNvbGUKLSAgICAgICAgZXJyb3Igc2hvdWxkIGNvbnRhaW4g
YSBzdGFjayB0cmFjZSB0aWVkIHRvIGxpbmUgMTEuPC9wPgotICAgIDwvYm9keT4KLTwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3N0YWNrdHJhY2Vz
L2NzcC1zZXRUaW1lb3V0LXdhcm5pbmctY29udGFpbnMtc3RhY2t0cmFjZS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9zdGFja3RyYWNlcy9jc3Atc2V0VGlt
ZW91dC13YXJuaW5nLWNvbnRhaW5zLXN0YWNrdHJhY2UtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCBmZTQ1NDIyZWIyNjY3ZTgxMGExMmIwNTA1ODJkZWNiODQwZThi
NGQ1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3N0YWNrdHJhY2VzL2NzcC1zZXRUaW1lb3V0LXdh
cm5pbmctY29udGFpbnMtc3RhY2t0cmFjZS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAt
MSwxMiArMCwwIEBACi1DT05TT0xFIE1FU1NBR0U6IFJlZnVzZWQgdG8gZXZhbHVhdGUgc2NyaXB0
IGJlY2F1c2UgaXQgdmlvbGF0ZXMgdGhlIGZvbGxvd2luZyBDb250ZW50IFNlY3VyaXR5IFBvbGlj
eSBkaXJlY3RpdmU6ICJzY3JpcHQtc3JjICdzZWxmJyAndW5zYWZlLWlubGluZSciLgotCi1UaGlz
IHRlc3QgYXR0ZW1wdHMgdG8gZXZhbHVhdGUgc2NyaXB0IHZpYSBzZXRUaW1lb3V0LiBUaGUgcmVz
dWx0aW5nIGNvbnNvbGUgZXJyb3Igc2hvdWxkIGNvbnRhaW4gYSBzdGFjayB0cmFjZSB0aWVkIHRv
IGxpbmUgMTEuCi0KLU1lc3NhZ2VbMF06IGNzcC1zZXRUaW1lb3V0LXdhcm5pbmctY29udGFpbnMt
c3RhY2t0cmFjZS5odG1sOjExIFJlZnVzZWQgdG8gZXZhbHVhdGUgc2NyaXB0IGJlY2F1c2UgaXQg
dmlvbGF0ZXMgdGhlIGZvbGxvd2luZyBDb250ZW50IFNlY3VyaXR5IFBvbGljeSBkaXJlY3RpdmU6
ICJzY3JpcHQtc3JjICdzZWxmJyAndW5zYWZlLWlubGluZSciLgotCi1TdGFjayBUcmFjZToKLQot
ICAgIHVybDogaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9zdGFja3RyYWNlcy9jc3At
c2V0VGltZW91dC13YXJuaW5nLWNvbnRhaW5zLXN0YWNrdHJhY2UuaHRtbAotICAgIGZ1bmN0aW9u
OiB0aGlzVGVzdAotICAgIGxpbmU6IDExCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvaW5zcGVjdG9yL3N0YWNrdHJhY2VzL2NzcC1zZXRUaW1lb3V0LXdhcm5pbmctY29udGFp
bnMtc3RhY2t0cmFjZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3Ivc3Rh
Y2t0cmFjZXMvY3NwLXNldFRpbWVvdXQtd2FybmluZy1jb250YWlucy1zdGFja3RyYWNlLmh0bWwK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGNjZDc0NDY1ZmIwMmIwNjkwZmE3YjZmODNm
ZmQwYWFlNTE5NWUyYjIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3Ivc3RhY2t0cmFjZXMvY3NwLXNl
dFRpbWVvdXQtd2FybmluZy1jb250YWlucy1zdGFja3RyYWNlLmh0bWwKKysrIC9kZXYvbnVsbApA
QCAtMSwyMyArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotICAgIDxoZWFkPgotICAg
ICAgICA8bWV0YSBodHRwLWVxdWl2PSdDb250ZW50LVNlY3VyaXR5LVBvbGljeScgY29udGVudD0i
c2NyaXB0LXNyYyAnc2VsZicgJ3Vuc2FmZS1pbmxpbmUnIj4KLSAgICAgICAgPHNjcmlwdCBzcmM9
Jy9pbnNwZWN0b3IvY29uc29sZS10ZXN0LmpzJz48L3NjcmlwdD4KLSAgICAgICAgPHNjcmlwdCBz
cmM9Jy9pbnNwZWN0b3IvZGVidWdnZXItdGVzdC5qcyc+PC9zY3JpcHQ+Ci0gICAgICAgIDxzY3Jp
cHQgc3JjPScvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzJz48L3NjcmlwdD4KLSAgICAgICAg
PHNjcmlwdCBzcmM9Jy9pbnNwZWN0b3Ivc3RhY2t0cmFjZXMvcmVzb3VyY2VzL3N0YWNrdHJhY2Ut
dGVzdC5qcyc+PC9zY3JpcHQ+Ci0gICAgICAgIDxzY3JpcHQ+Ci0gICAgICAgICAgICBmdW5jdGlv
biB0aGlzVGVzdCgpIHsKLSAgICAgICAgICAgICAgICB2YXIgaWQgPSBzZXRUaW1lb3V0KCdsb2co
IkZBSUwiKScsIDApOwotICAgICAgICAgICAgICAgIGlmIChpZCAhPSAwKQotICAgICAgICAgICAg
ICAgICAgICBsb2coJ0ZBSUw6IFJldHVybiB2YWx1ZSBmb3Igc3RyaW5nIChzaG91bGQgYmUgMCk6
ICcgKyBpZCk7Ci0gICAgICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICAgICBsb2co
J1BBU1M6IFJldHVybiB2YWx1ZSBmb3IgYmxvY2tlZCBzZXRJbnRlcnZhbCBpcyAwJyk7Ci0gICAg
ICAgICAgICB9Ci0gICAgICAgIDwvc2NyaXB0PgotICAgIDwvaGVhZD4KLSAgICA8Ym9keSBvbmxv
YWQ9J3J1blRlc3QoKSc+Ci0gICAgICAgIDxwPlRoaXMgdGVzdCBhdHRlbXB0cyB0byBldmFsdWF0
ZSBzY3JpcHQgdmlhIHNldFRpbWVvdXQuIFRoZSByZXN1bHRpbmcgY29uc29sZQotICAgICAgICBl
cnJvciBzaG91bGQgY29udGFpbiBhIHN0YWNrIHRyYWNlIHRpZWQgdG8gbGluZSAxMS48L3A+Ci0g
ICAgPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9p
bnNwZWN0b3Ivc3RhY2t0cmFjZXMvcmVzb3VyY2VzL2NzcC1pbmxpbmUtdGVzdC5qcyBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3N0YWNrdHJhY2VzL3Jlc291cmNlcy9jc3AtaW5s
aW5lLXRlc3QuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY3ODM0NGYyYmNlYjhi
ZjFkMTM4MjU5NDZmYmJlOWU1MTdiNTk3ZGYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3Ivc3RhY2t0
cmFjZXMvcmVzb3VyY2VzL2NzcC1pbmxpbmUtdGVzdC5qcworKysgL2Rldi9udWxsCkBAIC0xLDYg
KzAsMCBAQAotZnVuY3Rpb24gdGhpc1Rlc3QoKSB7Ci0gICAgdmFyIHMgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCdzY3JpcHQnKTsKLSAgICBzLmlubmVyVGV4dCA9ICJhbGVydCgnRkFJTC4nKTsi
Ci0gICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChzKTsKLX0KLXdpbmRvdy5vbmxvYWQgPSBy
dW5UZXN0OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3Ivc3Rh
Y2t0cmFjZXMvcmVzb3VyY2VzL3N0YWNrdHJhY2UtdGVzdC5qcyBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvaW5zcGVjdG9yL3N0YWNrdHJhY2VzL3Jlc291cmNlcy9zdGFja3RyYWNlLXRlc3QuanMK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAzNTFmMGE1ZWU1MTk4MTIwOWMxM2NhZTFl
MjUwYTZlMzEyMmNmZWUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3Ivc3RhY2t0cmFjZXMvcmVzb3Vy
Y2VzL3N0YWNrdHJhY2UtdGVzdC5qcworKysgL2Rldi9udWxsCkBAIC0xLDIyICswLDAgQEAKLWZ1
bmN0aW9uIHRlc3QoKSB7Ci0gICAgSW5zcGVjdG9yVGVzdC5hZGRDb25zb2xlU25pZmZlcihhZGRN
ZXNzYWdlKTsKLQotICAgIGZ1bmN0aW9uIGFkZE1lc3NhZ2UobWVzc2FnZSkgewotICAgICAgICB2
YXIgbWVzc2FnZXMgPSBXZWJJbnNwZWN0b3IuY29uc29sZVZpZXcuX3Zpc2libGVNZXNzYWdlczsK
LSAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBtZXNzYWdlcy5sZW5ndGg7ICsraSkgewotICAg
ICAgICAgICAgdmFyIG0gPSBtZXNzYWdlc1tpXTsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3Qu
YWRkUmVzdWx0KCJNZXNzYWdlWyIgKyBpICsgIl06ICIgKyBXZWJJbnNwZWN0b3IuZGlzcGxheU5h
bWVGb3JVUkwobS51cmwpICsgIjoiICsgbS5saW5lICsgIiAiICsgbS5tZXNzYWdlKTsKLSAgICAg
ICAgICAgIHZhciB0cmFjZSA9IG0uc3RhY2tUcmFjZTsKLSAgICAgICAgICAgIGlmICghdHJhY2Up
IHsKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiRkFJTDogbm8gc3Rh
Y2sgdHJhY2UgYXR0YWNoZWQgdG8gbWVzc2FnZSAjIiArIGkpOwotICAgICAgICAgICAgfSBlbHNl
IHsKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiU3RhY2sgVHJhY2U6
XG4iKTsKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiICAgIHVybDog
IiArIHRyYWNlWzBdLnVybCk7Ci0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1
bHQoIiAgICBmdW5jdGlvbjogIiArIHRyYWNlWzBdLmZ1bmN0aW9uTmFtZSk7Ci0gICAgICAgICAg
ICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIiAgICBsaW5lOiAiICsgdHJhY2VbMF0ubGlu
ZU51bWJlcik7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICAgICAgSW5zcGVjdG9yVGVz
dC5jb21wbGV0ZVRlc3QoKTsKLSAgICB9Ci0gICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFn
ZSgidGhpc1Rlc3QoKSIpOwotfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9p
bnNwZWN0b3Ivc3R5bGVzL21vZGlmeS1jcm9zcy1kb21haW4tcnVsZS5jc3MgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9zdHlsZXMvbW9kaWZ5LWNyb3NzLWRvbWFpbi1ydWxlLmNz
cwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOWEyZWUxYTI5YTI5ZmFkNjI2N2ZjZjY2
MmUwZTlkMzU5OWIwNTNlZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9zdHlsZXMvbW9kaWZ5LWNy
b3NzLWRvbWFpbi1ydWxlLmNzcworKysgL2Rldi9udWxsCkBAIC0xLDMgKzAsMCBAQAotI2luc3Bl
Y3RlZCB7Ci0gIGNvbG9yOiBncmVlbjsKLX0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvaW5zcGVjdG9yL3N0eWxlcy9yZXNvdXJjZXMvc3R5bGVzLXJlZGlyZWN0ZWQtY3NzLmNz
cyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3N0eWxlcy9yZXNvdXJjZXMvc3R5
bGVzLXJlZGlyZWN0ZWQtY3NzLmNzcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODk1
OTYwYzIyNTY0NDMxOTUyODg1MTE2ZjMwMTM1NGY4Njk0NTY3OC4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3Bl
Y3Rvci9zdHlsZXMvcmVzb3VyY2VzL3N0eWxlcy1yZWRpcmVjdGVkLWNzcy5jc3MKKysrIC9kZXYv
bnVsbApAQCAtMSw0ICswLDAgQEAKLWRpdiB7Ci0gICAgYmFja2dyb3VuZC1jb2xvcjogcmVkOwot
fQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9zdHlsZXMv
cmVzb3VyY2VzL3N0eWxlcy1yZWRpcmVjdGVkLWNzcy5waHAgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL2luc3BlY3Rvci9zdHlsZXMvcmVzb3VyY2VzL3N0eWxlcy1yZWRpcmVjdGVkLWNzcy5waHAK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ4OTc5Y2RkMjFhNjFiYjllYzQ2ZDU2YTFl
Yzk0MTg2MDk0ZGU1ZTEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3Ivc3R5bGVzL3Jlc291cmNlcy9z
dHlsZXMtcmVkaXJlY3RlZC1jc3MucGhwCisrKyAvZGV2L251bGwKQEAgLTEsMyArMCwwIEBACi08
P3BocAotICAgIGhlYWRlcigiTG9jYXRpb246IHN0eWxlcy1yZWRpcmVjdGVkLWNzcy5jc3MiKTsK
LT8+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9zdHlsZXMv
cmVzb3VyY2VzL3hzbC10cmFuc2Zvcm1lZC54c2wgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2lu
c3BlY3Rvci9zdHlsZXMvcmVzb3VyY2VzL3hzbC10cmFuc2Zvcm1lZC54c2wKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDBlNmIxNzdiODRjYzM2MjdlMDdkZWZlZmRlNzkxNTkyMGQ0YTRl
MmMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3Ivc3R5bGVzL3Jlc291cmNlcy94c2wtdHJhbnNmb3Jt
ZWQueHNsCisrKyAvZGV2L251bGwKQEAgLTEsMzggKzAsMCBAQAotPD94bWwgdmVyc2lvbj0nMS4w
JyBlbmNvZGluZz0ndXRmLTgnPz4KLTx4c2w6c3R5bGVzaGVldCB2ZXJzaW9uPSIxLjAiCi0gICAg
ICAgICAgICAgICAgaWQ9InN0eWxlc2hlZXQiCi0gICAgICAgICAgICAgICAgeG1sbnM6eHNsPSJo
dHRwOi8vd3d3LnczLm9yZy8xOTk5L1hTTC9UcmFuc2Zvcm0iPgotICAgIDx4c2w6dGVtcGxhdGUg
bWF0Y2g9Iml0ZW1zIj4KLSAgICAgICAgPGh0bWw+Ci0gICAgICAgIDxoZWFkPgotICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgotICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vZWxlbWVudHMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci0gICAgICAgIDxzY3JpcHQg
c3JjPSIuLi9yZXNvdXJjZXMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci0gICAgICAgIDxzY3JpcHQ+Ci0g
ICAgICAgIGZ1bmN0aW9uIHRlc3QoKQotICAgICAgICB7Ci0gICAgICAgICAgICBJbnNwZWN0b3JU
ZXN0LnJlbG9hZFBhZ2Uoc3RlcDEpOwotCi0gICAgICAgICAgICBmdW5jdGlvbiBzdGVwMSgpCi0g
ICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5ydW5BZnRlclJlc291
cmNlc0FyZUZpbmlzaGVkKFsieHNsLXRyYW5zZm9ybWVkLnhzbCJdLCBJbnNwZWN0b3JUZXN0LmV4
cGFuZEVsZW1lbnRzVHJlZS5iaW5kKEluc3BlY3RvclRlc3QsIHN0ZXAyKSk7Ci0gICAgICAgICAg
ICB9Ci0KLSAgICAgICAgICAgIGZ1bmN0aW9uIHN0ZXAyKCkKLSAgICAgICAgICAgIHsKLSAgICAg
ICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBFbGVtZW50c1RyZWUoKTsKLSAgICAgICAgICAg
ICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwotICAgICAgICAgICAgfQotICAgICAg
ICB9Ci0gICAgICAgIDwvc2NyaXB0PgotICAgICAgICA8L2hlYWQ+Ci0gICAgICAgIDxib2R5IG9u
bG9hZD0icnVuVGVzdCgpIj4KLSAgICAgICAgPHA+VGVzdHMgdGhhdCBYU0wtdHJhbnNmb3JtZWQg
ZG9jdW1lbnRzIGluIHRoZSBtYWluIGZyYW1lIGFyZSByZW5kZXJlZCBjb3JyZWN0bHkgaW4gdGhl
IEVsZW1lbnRzIHBhbmVsLiA8YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTExMzEzIj5CdWcgMTExMzEzPC9hPjwvcD4KLSAgICAgICAgPHhzbDpmb3ItZWFj
aCBzZWxlY3Q9Iml0ZW0iPgotICAgICAgICAgIDxzcGFuPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIu
Ii8+PC9zcGFuPgotICAgICAgICA8L3hzbDpmb3ItZWFjaD4KLSAgICAgICAgPC9ib2R5PgotICAg
ICAgICA8L2h0bWw+Ci0gICAgPC94c2w6dGVtcGxhdGU+Ci08L3hzbDpzdHlsZXNoZWV0PgotCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9zdHlsZXMvc3R5bGVz
LXJlZGlyZWN0ZWQtY3NzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5z
cGVjdG9yL3N0eWxlcy9zdHlsZXMtcmVkaXJlY3RlZC1jc3MtZXhwZWN0ZWQudHh0CmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjN2NmMDcwM2I4ZDNjNDYwMGY5NGQxYTAyNTg2YzZlMjc1
OWU0ZDY5Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3N0eWxlcy9zdHlsZXMtcmVkaXJlY3RlZC1j
c3MtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNCArMCwwIEBACi1UZXN0cyB0aGF0
IHN0eWxlcyBpbiByZWRpcmVjdGVkIGNzcyBhcmUgZWRpdGFibGUuCi0KLUJ1ZyA2ODYzMQotdGVz
dApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3Ivc3R5bGVzL3N0
eWxlcy1yZWRpcmVjdGVkLWNzcy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0
b3Ivc3R5bGVzL3N0eWxlcy1yZWRpcmVjdGVkLWNzcy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCA4ZjJiYmIyNjRlODcyYmFmMDc2YTIyMWY0ZWQ2MWIzZDI3MWU2YmFkLi4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvaW5zcGVjdG9yL3N0eWxlcy9zdHlsZXMtcmVkaXJlY3RlZC1jc3MuaHRtbAorKysg
L2Rldi9udWxsCkBAIC0xLDMzICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08bGluayByZWw9InN0
eWxlc2hlZXQiIGhyZWY9InJlc291cmNlcy9zdHlsZXMtcmVkaXJlY3RlZC1jc3MucGhwIiB0eXBl
PSJ0ZXh0L2NzcyI+Ci08c2NyaXB0IHNyYz0iLi4vaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii4uL2VsZW1lbnRzLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4K
LQotZnVuY3Rpb24gdGVzdCgpCi17Ci0gICAgSW5zcGVjdG9yVGVzdC5zZWxlY3ROb2RlQW5kV2Fp
dEZvclN0eWxlcygidGVzdF9kaXYiLCBzdGVwMSk7Ci0KLSAgICBmdW5jdGlvbiBzdGVwMSgpCi0g
ICAgewotICAgICAgICB2YXIgdHJlZUl0ZW0gPSBJbnNwZWN0b3JUZXN0LmdldE1hdGNoZWRTdHls
ZVByb3BlcnR5VHJlZUl0ZW0oImJhY2tncm91bmQtY29sb3IiKTsKLSAgICAgICAgdHJlZUl0ZW0u
cHJvcGVydHkuc2V0RGlzYWJsZWQodHJ1ZSwgc3RlcDIpOwotICAgIH0KLQotICAgIGZ1bmN0aW9u
IHN0ZXAyKG5ld1N0eWxlKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRUcnVl
KCEhbmV3U3R5bGUsICJDb3VsZCBub3QgZGlzYWJsZSBzdHlsZSBpbiByZWRpcmVjdGVkIGNzcy4i
KTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKLSAgICB9Ci19Ci08L3Nj
cmlwdD4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxwPlRlc3RzIHRoYXQg
c3R5bGVzIGluIHJlZGlyZWN0ZWQgY3NzIGFyZSBlZGl0YWJsZS48L3A+Ci08YSBocmVmPSJodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg2MzEiPkJ1ZyA2ODYzMTwvYT4K
LQotPGRpdiBpZD0idGVzdF9kaXYiPnRlc3Q8L2Rpdj4KLTwvYm9keT4KLTwvaHRtbD4KLQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3Ivc3R5bGVzL3hzbC10cmFu
c2Zvcm1lZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9z
dHlsZXMveHNsLXRyYW5zZm9ybWVkLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggN2U0MTU1MzczOWE4MDNlNjFjNDdkZmE4ZGM5MDc0ZDY0NGY0NWYyZS4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2luc3BlY3Rvci9zdHlsZXMveHNsLXRyYW5zZm9ybWVkLWV4cGVjdGVkLnR4dAorKysg
L2Rldi9udWxsCkBAIC0xLDMzICswLDAgQEAKLVRlc3RzIHRoYXQgWFNMLXRyYW5zZm9ybWVkIGRv
Y3VtZW50cyBpbiB0aGUgbWFpbiBmcmFtZSBhcmUgcmVuZGVyZWQgY29ycmVjdGx5IGluIHRoZSBF
bGVtZW50cyBwYW5lbC4gQnVnIDExMTMxMwotCi1PbmVUd29UaHJlZQotUGFnZSByZWxvYWRlZC4K
LS0gPGh0bWw+Ci0gICAgLSA8aGVhZD4KLSAgICAgICAgICA8bWV0YSBodHRwLWVxdWl2PSJDb250
ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCI+Ci0gICAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KLSAgICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vZWxlbWVudHMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci0gICAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uL3Jlc291cmNlcy10ZXN0LmpzIj48L3NjcmlwdD4KLSAgICAgICAgLSA8c2Ny
aXB0PgotICAgICAgICAgICAgICBmdW5jdGlvbiB0ZXN0KClcbiAgICAgICAge1xuICAgICAgICAg
ICAgSW5zcGVjdG9yVGVzdC5yZWxvYWRQYWdlKHN0ZXAxKTtcblxuICAgICAgICAgICAgZnVuY3Rp
b24gc3RlcDEoKVxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3Qu
cnVuQWZ0ZXJSZXNvdXJjZXNBcmVGaW5pc2hlZChbInhzbC10cmFuc2Zvcm1lZC54c2wiXSwgSW5z
cGVjdG9yVGVzdC5leHBhbmRFbGVtZW50c1RyZWUuYmluZChJbnNwZWN0b3JUZXN0LCBzdGVwMikp
O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBmdW5jdGlvbiBzdGVwMigpXG4gICAgICAg
ICAgICB7XG4gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wRWxlbWVudHNUcmVlKCk7
XG4gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTtcbiAgICAgICAg
ICAgIH1cbiAgICAgICAgfVxuCi0gICAgICAgICAgPC9zY3JpcHQ+Ci0gICAgICA8L2hlYWQ+Ci0g
ICAgLSA8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci0gICAgICAgIC0gPHA+Ci0gICAgICAgICAg
ICAgICJUZXN0cyB0aGF0IFhTTC10cmFuc2Zvcm1lZCBkb2N1bWVudHMgaW4gdGhlIG1haW4gZnJh
bWUgYXJlIHJlbmRlcmVkIGNvcnJlY3RseSBpbiB0aGUgRWxlbWVudHMgcGFuZWwuICIKLSAgICAg
ICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTExMTMxMyI+QnVnIDExMTMxMzwvYT4KLSAgICAgICAgICA8L3A+Ci0gICAgICAgICAgPHNwYW4+
T25lPC9zcGFuPgotICAgICAgICAgIDxzcGFuPlR3bzwvc3Bhbj4KLSAgICAgICAgICA8c3Bhbj5U
aHJlZTwvc3Bhbj4KLSAgICAgICAgLSA8ZGl2PgotICAgICAgICAgICAgLSA8ZGl2PgotICAgICAg
ICAgICAgICAgIC0gPGRpdiBjbGFzcz0ib3V0cHV0IiBpZD0ib3V0cHV0IiBzdHlsZT0id2hpdGUt
c3BhY2U6IHByZTsiPgotICAgICAgICAgICAgICAgICAgICAgICJQYWdlIHJlbG9hZGVkLiIKLSAg
ICAgICAgICAgICAgICAgICAgICA8YnI+Ci0gICAgICAgICAgICAgICAgICA8L2Rpdj4KLSAgICAg
ICAgICAgICAgPC9kaXY+Ci0gICAgICAgICAgPC9kaXY+Ci0gICAgICA8L2JvZHk+Ci0gIDwvaHRt
bD4KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3Ivc3R5bGVz
L3hzbC10cmFuc2Zvcm1lZC54bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9z
dHlsZXMveHNsLXRyYW5zZm9ybWVkLnhtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDM0NWMzODlmMzUyMThmYjE5Y2NmZGMyNDYxOWQwODY0MDEyMTJhNy4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2lu
c3BlY3Rvci9zdHlsZXMveHNsLXRyYW5zZm9ybWVkLnhtbAorKysgL2Rldi9udWxsCkBAIC0xLDYg
KzAsMCBAQAotPD94bWwtc3R5bGVzaGVldCB0eXBlPSJ0ZXh0L3hzbCIgaHJlZj0icmVzb3VyY2Vz
L3hzbC10cmFuc2Zvcm1lZC54c2wiPz4KLTxpdGVtcz4KLSAgPGl0ZW0+T25lPC9pdGVtPgotICA8
aXRlbT5Ud288L2l0ZW0+Ci0gIDxpdGVtPlRocmVlPC9pdGVtPgotPC9pdGVtcz4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3N0eWxlc2hlZXQtc291cmNlLW1h
cHBpbmctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3Ivc3R5
bGVzaGVldC1zb3VyY2UtbWFwcGluZy1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDQ5OGRmOWNiNzIzNDljYzg5NGZlYjU0ZTRmMWQ0ODJjOTYxZmMxODAuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9pbnNwZWN0b3Ivc3R5bGVzaGVldC1zb3VyY2UtbWFwcGluZy1leHBlY3RlZC50eHQK
KysrIC9kZXYvbnVsbApAQCAtMSw0ICswLDAgQEAKLVRlc3RzIFNvdXJjZU1hcCBhbmQgU3R5bGVT
aGVldE1hcHBpbmcuCi0KLVBBU1MKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9pbnNwZWN0b3Ivc3R5bGVzaGVldC1zb3VyY2UtbWFwcGluZy5odG1sIGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9pbnNwZWN0b3Ivc3R5bGVzaGVldC1zb3VyY2UtbWFwcGluZy5odG1sCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2MDQ0NGYyZDgyYmEwMDdlZTZlYjI0OTRhYjc1NTZi
YWYwZjIxYTg0Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3N0eWxlc2hlZXQtc291cmNlLW1hcHBp
bmcuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDkwICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08
c2NyaXB0IHNyYz0iaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9ImRl
YnVnZ2VyLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9IndvcmtzcGFjZS10ZXN0Lmpz
Ij48L3NjcmlwdD4KLQotPHNjcmlwdD4KLQotZnVuY3Rpb24gdGVzdCgpCi17Ci0gICAgSW5zcGVj
dG9yVGVzdC5jcmVhdGVXb3Jrc3BhY2UoKTsKLSAgICB2YXIgY3NzTW9kZWwgPSBuZXcgV2ViSW5z
cGVjdG9yLkNTU1N0eWxlTW9kZWwoSW5zcGVjdG9yVGVzdC50ZXN0V29ya3NwYWNlKTsKLSAgICB2
YXIgbWFwcGluZyA9IG5ldyBXZWJJbnNwZWN0b3IuU0FTU1NvdXJjZU1hcHBpbmcoY3NzTW9kZWws
IEluc3BlY3RvclRlc3QudGVzdFdvcmtzcGFjZSwgSW5zcGVjdG9yVGVzdC50ZXN0TmV0d29ya1dv
cmtzcGFjZVByb3ZpZGVyKTsKLSAgICB2YXIgc3R5bGVzU291cmNlTWFwcGluZyA9IG5ldyBXZWJJ
bnNwZWN0b3IuU3R5bGVzU291cmNlTWFwcGluZyhjc3NNb2RlbCwgSW5zcGVjdG9yVGVzdC50ZXN0
V29ya3NwYWNlKTsKLQotICAgIEluc3BlY3RvclRlc3Qud2FpdEZvcldvcmtzcGFjZVVJU291cmNl
Q29kZUFkZGVkRXZlbnQoY3NzVUlTb3VyY2VDb2RlQWRkZWQpOwotICAgIEluc3BlY3RvclRlc3Qu
YWRkTW9ja1VJU291cmNlQ29kZVRvV29ya3NwYWNlKCJodHRwOi8vbG9jYWxob3N0OjgwMDAvaW5z
cGVjdG9yL3Jlc291cmNlcy9leGFtcGxlLmNzcyIsIFdlYkluc3BlY3Rvci5yZXNvdXJjZVR5cGVz
LlN0eWxlc2hlZXQsICIiKTsKLSAgICB2YXIgZXZlbnQgPSB7IGRhdGE6IGNyZWF0ZU1vY2tTdHls
ZVNoZWV0UmVzb3VyY2UoImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2Vz
L2V4YW1wbGUuY3NzIiwgInRleHQvY3NzIiwKLSAgICAgICAgIi8qIENvbW1lbnQgKi9cbiIgKwot
ICAgICAgICAiYSB7XG4iICsKLSAgICAgICAgIiAgZm9vOiBiYXI7XG4iICsKLSAgICAgICAgIiAg
LyogU09NRSBDT01NRU5UICovXG4iICsKLSAgICAgICAgIiAgZm9udC1zaXplOiAxMnB4OyB9XG5c
biIgKwotICAgICAgICAiLyojIHNvdXJjZU1hcHBpbmdVUkw9ZXhhbXBsZS5jc3MubWFwICovIikg
fTsKLSAgICBzdHlsZXNTb3VyY2VNYXBwaW5nLl9yZXNvdXJjZUFkZGVkKGV2ZW50KTsKLSAgICBt
YXBwaW5nLl9yZXNvdXJjZUFkZGVkKGV2ZW50KTsKLSAgICBhZnRlclN0eWxlU2hlZXRBZGRlZCgp
OwotCi0gICAgZnVuY3Rpb24gY3JlYXRlTW9ja1N0eWxlU2hlZXRSZXNvdXJjZSh1cmwsIG1pbWVU
eXBlLCBjb250ZW50KQotICAgIHsKLSAgICAgICAgY29uc3QgZG9jdW1lbnRVUkwgPSAiaHR0cDov
L2xvY2FsaG9zdDo4MDAwL2luc3BlY3Rvci9zdHlsZXNoZWV0LXNvdXJjZS1tYXBwaW5nLmh0bWwi
OwotICAgICAgICBjb25zdCBmcmFtZSA9IFdlYkluc3BlY3Rvci5yZXNvdXJjZVRyZWVNb2RlbC5t
YWluRnJhbWU7Ci0gICAgICAgIHZhciByZXNvdXJjZSA9IG5ldyBXZWJJbnNwZWN0b3IuUmVzb3Vy
Y2UobnVsbCwgdXJsLCBkb2N1bWVudFVSTCwgZnJhbWUuaWQsIGZyYW1lLmxvYWRlcklkLCBXZWJJ
bnNwZWN0b3IucmVzb3VyY2VUeXBlcy5TdHlsZXNoZWV0LCBtaW1lVHlwZSk7Ci0gICAgICAgIHJl
c291cmNlLnJlcXVlc3RDb250ZW50ID0gZnVuY3Rpb24oY2FsbGJhY2spCi0gICAgICAgIHsKLSAg
ICAgICAgICAgIGNhbGxiYWNrKGNvbnRlbnQsIGZhbHNlLCBtaW1lVHlwZSk7Ci0gICAgICAgIH0K
LSAgICAgICAgcmV0dXJuIHJlc291cmNlOwotICAgIH0KLQotCi0gICAgZnVuY3Rpb24gY3NzVUlT
b3VyY2VDb2RlQWRkZWQodWlTb3VyY2VDb2RlKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVz
dC53YWl0Rm9yV29ya3NwYWNlVUlTb3VyY2VDb2RlQWRkZWRFdmVudChzY3NzVUlTb3VyY2VDb2Rl
QWRkZWQpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHNjc3NVSVNvdXJjZUNvZGVBZGRlZCh1aVNv
dXJjZUNvZGUpCi0gICAgewotICAgIH0KLQotICAgIGZ1bmN0aW9uIHJhd0xvY2F0aW9uVG9VSUxv
Y2F0aW9uKGxpbmUsIGNvbHVtbiwgdXJsKQotICAgIHsKLSAgICAgICAgcmV0dXJuIGNzc01vZGVs
LnJhd0xvY2F0aW9uVG9VSUxvY2F0aW9uKG5ldyBXZWJJbnNwZWN0b3IuQ1NTTG9jYXRpb24oImh0
dHA6Ly9sb2NhbGhvc3Q6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2VzL2V4YW1wbGUuY3NzIiwgbGlu
ZSwgY29sdW1uKSk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gYWZ0ZXJTdHlsZVNoZWV0QWRkZWQo
KQotICAgIHsKLSAgICAgICAgdmFyIGNzc1VJU291cmNlQ29kZSA9IEluc3BlY3RvclRlc3QudGVz
dFdvcmtzcGFjZS51aVNvdXJjZUNvZGVGb3JPcmlnaW5VUkwoImh0dHA6Ly9sb2NhbGhvc3Q6ODAw
MC9pbnNwZWN0b3IvcmVzb3VyY2VzL2V4YW1wbGUuY3NzIik7Ci0gICAgICAgIHZhciBzY3NzVUlT
b3VyY2VDb2RlID0gSW5zcGVjdG9yVGVzdC50ZXN0V29ya3NwYWNlLnVpU291cmNlQ29kZUZvck9y
aWdpblVSTCgiaHR0cDovL2xvY2FsaG9zdDo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZXMvZXhhbXBs
ZS5zY3NzIik7Ci0KLSAgICAgICAgSW5zcGVjdG9yVGVzdC5jaGVja1VJTG9jYXRpb24oY3NzVUlT
b3VyY2VDb2RlLCAwLCAzLCByYXdMb2NhdGlvblRvVUlMb2NhdGlvbigwLCAzKSk7Ci0gICAgICAg
IEluc3BlY3RvclRlc3QuY2hlY2tVSUxvY2F0aW9uKHNjc3NVSVNvdXJjZUNvZGUsIDEsIDAsIHJh
d0xvY2F0aW9uVG9VSUxvY2F0aW9uKDEsIDApKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5jaGVj
a1VJTG9jYXRpb24oc2Nzc1VJU291cmNlQ29kZSwgMiwgMiwgcmF3TG9jYXRpb25Ub1VJTG9jYXRp
b24oMiwgNCkpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmNoZWNrVUlMb2NhdGlvbihzY3NzVUlT
b3VyY2VDb2RlLCAyLCA1LCByYXdMb2NhdGlvblRvVUlMb2NhdGlvbigyLCA2KSk7Ci0gICAgICAg
IEluc3BlY3RvclRlc3QuY2hlY2tVSUxvY2F0aW9uKHNjc3NVSVNvdXJjZUNvZGUsIDIsIDcsIHJh
d0xvY2F0aW9uVG9VSUxvY2F0aW9uKDIsIDkpKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5jaGVj
a1VJTG9jYXRpb24oc2Nzc1VJU291cmNlQ29kZSwgMiwgMTAsIHJhd0xvY2F0aW9uVG9VSUxvY2F0
aW9uKDMsIDcpKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5jaGVja1VJTG9jYXRpb24oc2Nzc1VJ
U291cmNlQ29kZSwgNCwgMiwgcmF3TG9jYXRpb25Ub1VJTG9jYXRpb24oNCwgOCkpOwotICAgICAg
ICBJbnNwZWN0b3JUZXN0LmNoZWNrVUlMb2NhdGlvbihzY3NzVUlTb3VyY2VDb2RlLCA0LCAyLCBy
YXdMb2NhdGlvblRvVUlMb2NhdGlvbig0LCAxMCkpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmNo
ZWNrVUlMb2NhdGlvbihzY3NzVUlTb3VyY2VDb2RlLCA0LCAxMSwgcmF3TG9jYXRpb25Ub1VJTG9j
YXRpb24oNCwgMTEpKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5jaGVja1VJTG9jYXRpb24oc2Nz
c1VJU291cmNlQ29kZSwgNCwgMTMsIHJhd0xvY2F0aW9uVG9VSUxvY2F0aW9uKDQsIDE1KSk7Ci0g
ICAgICAgIEluc3BlY3RvclRlc3QuY2hlY2tVSUxvY2F0aW9uKHNjc3NVSVNvdXJjZUNvZGUsIDQs
IDE3LCByYXdMb2NhdGlvblRvVUlMb2NhdGlvbig0LCAyMCkpOwotICAgICAgICBzY3NzVUlTb3Vy
Y2VDb2RlLnJlcXVlc3RDb250ZW50KGRpZFJlcXVlc3RDb250ZW50KTsKLQotICAgICAgICBmdW5j
dGlvbiBkaWRSZXF1ZXN0Q29udGVudChjb250ZW50LCBjb250ZW50RW5jb2RlZCwgbWltZVR5cGUp
Ci0gICAgICAgIHsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0RXF1YWxzKDAsIGNv
bnRlbnQuaW5kZXhPZigiLyogQ29tbWVudCAqLyIpKTsKLSAgICAgICAgICAgIEluc3BlY3RvclRl
c3QuYWRkUmVzdWx0KCJQQVNTIik7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRl
VGVzdCgpOwotICAgICAgICB9Ci0gICAgfQotfQotCi08L3NjcmlwdD4KLQotPC9oZWFkPgotCi08
Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci08cD5UZXN0cyBTb3VyY2VNYXAgYW5kIFN0eWxlU2hl
ZXRNYXBwaW5nLjwvcD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lLXRlc3QuanMgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2luc3BlY3Rvci90aW1lbGluZS10ZXN0LmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAyMGYzZmJhZjM5MWYxMzQzMWJhMmNkN2MzZDc0Njg4Y2E4ZTM3NWM2Li4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lLXRlc3QuanMKKysrIC9kZXYvbnVsbApAQCAtMSwyMzcg
KzAsMCBAQAotdmFyIGluaXRpYWxpemVfVGltZWxpbmUgPSBmdW5jdGlvbigpIHsKLQotLy8gU2Ny
dWIgdmFsdWVzIHdoZW4gcHJpbnRpbmcgb3V0IHRoZXNlIHByb3BlcnRpZXMgaW4gdGhlIHJlY29y
ZCBvciBkYXRhIGZpZWxkLgotSW5zcGVjdG9yVGVzdC50aW1lbGluZVByb3BlcnR5Rm9ybWF0dGVy
cyA9IHsKLSAgICBjaGlsZHJlbjogImZvcm1hdEFzVHlwZU5hbWUiLAotICAgIGVuZFRpbWU6ICJm
b3JtYXRBc1R5cGVOYW1lIiwKLSAgICByZXF1ZXN0SWQ6ICJmb3JtYXRBc1R5cGVOYW1lIiwKLSAg
ICBzdGFydFRpbWU6ICJmb3JtYXRBc1R5cGVOYW1lIiwKLSAgICBzdGFja1RyYWNlOiAiZm9ybWF0
QXNUeXBlTmFtZSIsCi0gICAgdXJsOiAiZm9ybWF0QXNUeXBlTmFtZSIsCi0gICAgc2NyaXB0TmFt
ZTogImZvcm1hdEFzVHlwZU5hbWUiLAotICAgIHVzZWRIZWFwU2l6ZTogImZvcm1hdEFzVHlwZU5h
bWUiLAotICAgIHVzZWRIZWFwU2l6ZURlbHRhOiAic2tpcCIsCi0gICAgbWltZVR5cGU6ICJmb3Jt
YXRBc1R5cGVOYW1lIiwKLSAgICBpZDogImZvcm1hdEFzVHlwZU5hbWUiLAotICAgIGNvdW50ZXJz
OiAiZm9ybWF0QXNUeXBlTmFtZSIsCi0gICAgdGltZXJJZDogImZvcm1hdEFzVHlwZU5hbWUiLAot
ICAgIHNjcmlwdExpbmU6ICJmb3JtYXRBc1R5cGVOYW1lIiwKLSAgICBsaW5lTnVtYmVyOiAiZm9y
bWF0QXNUeXBlTmFtZSIsCi0gICAgZnJhbWVJZDogImZvcm1hdEFzVHlwZU5hbWUiLAotICAgIGVu
Y29kZWREYXRhTGVuZ3RoOiAiZm9ybWF0QXNUeXBlTmFtZSIsCi0gICAgaWRlbnRpZmllcjogImZv
cm1hdEFzVHlwZU5hbWUiLAotICAgIGNsaXA6ICJmb3JtYXRBc1R5cGVOYW1lIiwKLSAgICByb290
OiAiZm9ybWF0QXNUeXBlTmFtZSIsCi19OwotCi1JbnNwZWN0b3JUZXN0LnN0YXJ0VGltZWxpbmUg
PSBmdW5jdGlvbihjYWxsYmFjaykKLXsKLSAgICBJbnNwZWN0b3JUZXN0Ll90aW1lbGluZVJlY29y
ZHMgPSBbXTsKLSAgICBXZWJJbnNwZWN0b3IucGFuZWwoInRpbWVsaW5lIikudG9nZ2xlVGltZWxp
bmVCdXR0b24udG9nZ2xlZCA9IHRydWU7Ci0gICAgV2ViSW5zcGVjdG9yLnBhbmVsKCJ0aW1lbGlu
ZSIpLl9tb2RlbC5fY29sbGVjdGlvbkVuYWJsZWQgPSB0cnVlOwotICAgIFRpbWVsaW5lQWdlbnQu
c3RhcnQoNSwgdHJ1ZSwgZmFsc2UsIGNhbGxiYWNrKTsKLSAgICBmdW5jdGlvbiBhZGRSZWNvcmQo
cmVjb3JkKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5fdGltZWxpbmVSZWNvcmRzLnB1
c2gocmVjb3JkKTsKLSAgICAgICAgZm9yICh2YXIgaSA9IDA7IHJlY29yZC5jaGlsZHJlbiAmJiBp
IDwgcmVjb3JkLmNoaWxkcmVuLmxlbmd0aDsgKytpKQotICAgICAgICAgICAgYWRkUmVjb3JkKHJl
Y29yZC5jaGlsZHJlbltpXSk7Ci0gICAgfQotICAgIEluc3BlY3RvclRlc3QuX2FkZFRpbWVsaW5l
RXZlbnQgPSBmdW5jdGlvbihldmVudCkKLSAgICB7Ci0gICAgICAgIGFkZFJlY29yZChldmVudC5k
YXRhKTsKLSAgICB9Ci0gICAgV2ViSW5zcGVjdG9yLnRpbWVsaW5lTWFuYWdlci5hZGRFdmVudExp
c3RlbmVyKFdlYkluc3BlY3Rvci5UaW1lbGluZU1hbmFnZXIuRXZlbnRUeXBlcy5UaW1lbGluZUV2
ZW50UmVjb3JkZWQsIEluc3BlY3RvclRlc3QuX2FkZFRpbWVsaW5lRXZlbnQpOwotfTsKLQotCi1J
bnNwZWN0b3JUZXN0LndhaXRGb3JSZWNvcmRUeXBlID0gZnVuY3Rpb24ocmVjb3JkVHlwZSwgY2Fs
bGJhY2spCi17Ci0gICAgV2ViSW5zcGVjdG9yLnRpbWVsaW5lTWFuYWdlci5hZGRFdmVudExpc3Rl
bmVyKFdlYkluc3BlY3Rvci5UaW1lbGluZU1hbmFnZXIuRXZlbnRUeXBlcy5UaW1lbGluZUV2ZW50
UmVjb3JkZWQsIGFkZEV2ZW50KTsKLQotICAgIGZ1bmN0aW9uIGFkZEV2ZW50KGV2ZW50KQotICAg
IHsKLSAgICAgICAgYWRkUmVjb3JkKGV2ZW50LmRhdGEpOwotICAgIH0KLSAgICBmdW5jdGlvbiBh
ZGRSZWNvcmQocmVjb3JkKQotICAgIHsKLSAgICAgICAgaWYgKHJlY29yZC50eXBlICE9PSBXZWJJ
bnNwZWN0b3IuVGltZWxpbmVNb2RlbC5SZWNvcmRUeXBlW3JlY29yZFR5cGVdKSB7Ci0gICAgICAg
ICAgICBmb3IgKHZhciBpID0gMDsgcmVjb3JkLmNoaWxkcmVuICYmIGkgPCByZWNvcmQuY2hpbGRy
ZW4ubGVuZ3RoOyArK2kpCi0gICAgICAgICAgICAgICAgYWRkUmVjb3JkKHJlY29yZC5jaGlsZHJl
bltpXSk7Ci0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIH0KLSAgICAgICAgV2ViSW5zcGVj
dG9yLnRpbWVsaW5lTWFuYWdlci5yZW1vdmVFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5UaW1l
bGluZU1hbmFnZXIuRXZlbnRUeXBlcy5UaW1lbGluZUV2ZW50UmVjb3JkZWQsIGFkZEV2ZW50KTsK
LSAgICAgICAgY2FsbGJhY2socmVjb3JkKTsKLSAgICB9Ci19Ci0KLUluc3BlY3RvclRlc3Quc3Rv
cFRpbWVsaW5lID0gZnVuY3Rpb24oY2FsbGJhY2spCi17Ci0gICAgZnVuY3Rpb24gZGlkU3RvcCgp
Ci0gICAgewotICAgICAgICBXZWJJbnNwZWN0b3IudGltZWxpbmVNYW5hZ2VyLnJlbW92ZUV2ZW50
TGlzdGVuZXIoV2ViSW5zcGVjdG9yLlRpbWVsaW5lTWFuYWdlci5FdmVudFR5cGVzLlRpbWVsaW5l
RXZlbnRSZWNvcmRlZCwgSW5zcGVjdG9yVGVzdC5fYWRkVGltZWxpbmVFdmVudCk7Ci0gICAgICAg
IFdlYkluc3BlY3Rvci5wYW5lbCgidGltZWxpbmUiKS50b2dnbGVUaW1lbGluZUJ1dHRvbi50b2dn
bGVkID0gZmFsc2U7Ci0gICAgICAgIFdlYkluc3BlY3Rvci5wYW5lbCgidGltZWxpbmUiKS5fbW9k
ZWwuX2NvbGxlY3Rpb25FbmFibGVkID0gZmFsc2U7Ci0gICAgICAgIGNhbGxiYWNrKEluc3BlY3Rv
clRlc3QuX3RpbWVsaW5lUmVjb3Jkcyk7Ci0gICAgfQotICAgIFRpbWVsaW5lQWdlbnQuc3RvcChk
aWRTdG9wKTsKLX07Ci0KLUluc3BlY3RvclRlc3QuZXZhbHVhdGVXaXRoVGltZWxpbmUgPSBmdW5j
dGlvbihhY3Rpb25zLCBkb25lQ2FsbGJhY2spCi17Ci0gICAgSW5zcGVjdG9yVGVzdC5zdGFydFRp
bWVsaW5lKHN0ZXAxKTsKLSAgICBmdW5jdGlvbiBzdGVwMSgpCi0gICAgewotICAgICAgICBJbnNw
ZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKGFjdGlvbnMsIHN0ZXAyKTsKLSAgICB9Ci0KLSAgICBm
dW5jdGlvbiBzdGVwMigpCi0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LnN0b3BUaW1lbGlu
ZShkb25lQ2FsbGJhY2spOwotICAgIH0KLQotfQotCi1JbnNwZWN0b3JUZXN0LnBlcmZvcm1BY3Rp
b25zQW5kUHJpbnQgPSBmdW5jdGlvbihhY3Rpb25zLCB0eXBlTmFtZSwgaW5jbHVkZVRpbWVTdGFt
cHMpCi17Ci0gICAgZnVuY3Rpb24gY2FsbGJhY2soKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9y
VGVzdC5wcmludFRpbWVsaW5lUmVjb3Jkcyh0eXBlTmFtZSk7Ci0gICAgICAgIGlmIChpbmNsdWRl
VGltZVN0YW1wcykgewotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIlRpbWVz
dGFtcCByZWNvcmRzOiAiKTsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QucHJpbnRUaW1lc3Rh
bXBSZWNvcmRzKHR5cGVOYW1lKTsKLSAgICAgICAgfQotICAgICAgICBJbnNwZWN0b3JUZXN0LmNv
bXBsZXRlVGVzdCgpOwotICAgIH0KLSAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlV2l0aFRpbWVs
aW5lKGFjdGlvbnMsIGNhbGxiYWNrKQotfTsKLQotSW5zcGVjdG9yVGVzdC5wcmludFRpbWVsaW5l
UmVjb3JkcyA9IGZ1bmN0aW9uKHR5cGVOYW1lLCBmb3JtYXR0ZXIpCi17Ci0gICAgSW5zcGVjdG9y
VGVzdC5pbm5lclByaW50VGltZWxpbmVSZWNvcmRzKEluc3BlY3RvclRlc3QuX3RpbWVsaW5lUmVj
b3JkcywgdHlwZU5hbWUsIGZvcm1hdHRlcik7Ci19OwotCi1JbnNwZWN0b3JUZXN0LnByaW50VGlt
ZXN0YW1wUmVjb3JkcyA9IGZ1bmN0aW9uKHR5cGVOYW1lLCBmb3JtYXR0ZXIpCi17Ci0gICAgSW5z
cGVjdG9yVGVzdC5pbm5lclByaW50VGltZWxpbmVSZWNvcmRzKFdlYkluc3BlY3Rvci5wYW5lbHMu
dGltZWxpbmUuX3ByZXNlbnRhdGlvbk1vZGVsLmV2ZW50RGl2aWRlclJlY29yZHMoKS5zZWxlY3Qo
Il9yZWNvcmQiKSwgdHlwZU5hbWUsIGZvcm1hdHRlcik7Ci19OwotCi1JbnNwZWN0b3JUZXN0Lmlu
bmVyUHJpbnRUaW1lbGluZVJlY29yZHMgPSBmdW5jdGlvbihyZWNvcmRzLCB0eXBlTmFtZSwgZm9y
bWF0dGVyKQotewotICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcmVjb3Jkcy5sZW5ndGg7ICsraSkg
ewotICAgICAgICBpZiAodHlwZU5hbWUgJiYgcmVjb3Jkc1tpXS50eXBlID09PSBXZWJJbnNwZWN0
b3IuVGltZWxpbmVNb2RlbC5SZWNvcmRUeXBlW3R5cGVOYW1lXSkKLSAgICAgICAgICAgIEluc3Bl
Y3RvclRlc3QucHJpbnRUaW1lbGluZVJlY29yZFByb3BlcnRpZXMocmVjb3Jkc1tpXSk7Ci0gICAg
ICAgIGlmIChmb3JtYXR0ZXIpCi0gICAgICAgICAgICBmb3JtYXR0ZXIocmVjb3Jkc1tpXSk7Ci0g
ICAgfQotfTsKLQotLy8gRHVtcCBqdXN0IHRoZSByZWNvcmQgbmFtZSwgaW5kZW50aW5nIG91dHB1
dCBvbiBzZXBhcmF0ZSBsaW5lcyBmb3Igc3VicmVjb3JkcwotSW5zcGVjdG9yVGVzdC5kdW1wVGlt
ZWxpbmVSZWNvcmQgPSBmdW5jdGlvbihyZWNvcmQsIGxldmVsKSAKLXsKLSAgICBpZiAodHlwZW9m
IGxldmVsICE9PSAibnVtYmVyIikKLSAgICAgICAgbGV2ZWwgPSAwOwotICAgIHZhciBwcmVmaXgg
PSAiIjsKLSAgICB2YXIgc3VmZml4ID0gIiI7Ci0gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBsZXZl
bCA7ICsraSkKLSAgICAgICAgcHJlZml4ID0gIi0tLS0iICsgcHJlZml4OwotICAgIGlmIChsZXZl
bCA+IDApCi0gICAgICAgIHByZWZpeCA9IHByZWZpeCArICI+ICI7Ci0gICAgaWYgKHJlY29yZC50
eXBlID09PSBXZWJJbnNwZWN0b3IuVGltZWxpbmVNb2RlbC5SZWNvcmRUeXBlLlRpbWVTdGFtcCkg
ewotICAgICAgICBzdWZmaXggPSAiIDogIiArIHJlY29yZC5kYXRhLm1lc3NhZ2U7Ci0gICAgfQot
ICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KHByZWZpeCArIEluc3BlY3RvclRlc3QuX3RpbWVs
aW5lQWdlbnRUeXBlVG9TdHJpbmcocmVjb3JkLnR5cGUpICsgc3VmZml4KTsKLQotICAgIHZhciBu
dW1DaGlsZHJlbiA9IHJlY29yZC5jaGlsZHJlbiA/IHJlY29yZC5jaGlsZHJlbi5sZW5ndGggOiAw
OwotICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbnVtQ2hpbGRyZW47ICsraSkKLSAgICAgICAgSW5z
cGVjdG9yVGVzdC5kdW1wVGltZWxpbmVSZWNvcmQocmVjb3JkLmNoaWxkcmVuW2ldLCBsZXZlbCAr
IDEpOwotfTsKLQotSW5zcGVjdG9yVGVzdC5kdW1wVGltZWxpbmVSZWNvcmRzID0gZnVuY3Rpb24o
dGltZWxpbmVSZWNvcmRzKQotewotICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGltZWxpbmVSZWNv
cmRzLmxlbmd0aDsgKytpKQotICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBUaW1lbGluZVJlY29y
ZCh0aW1lbGluZVJlY29yZHNbaV0sIDApOwotfTsKLQotSW5zcGVjdG9yVGVzdC5wcmludFRpbWVs
aW5lUmVjb3JkUHJvcGVydGllcyA9IGZ1bmN0aW9uKHJlY29yZCkKLXsKLSAgICBJbnNwZWN0b3JU
ZXN0LmFkZFJlc3VsdChJbnNwZWN0b3JUZXN0Ll90aW1lbGluZUFnZW50VHlwZVRvU3RyaW5nKHJl
Y29yZC50eXBlKSArICIgUHJvcGVydGllczoiKTsKLSAgICAvLyBVc2UgdGhpcyByZWN1cnNpdmUg
cm91dGluZSB0byBwcmludCB0aGUgcHJvcGVydGllcwotICAgIEluc3BlY3RvclRlc3QuYWRkT2Jq
ZWN0KHJlY29yZCwgSW5zcGVjdG9yVGVzdC50aW1lbGluZVByb3BlcnR5Rm9ybWF0dGVycyk7Ci19
OwotCi1JbnNwZWN0b3JUZXN0Ll90aW1lbGluZUFnZW50VHlwZVRvU3RyaW5nID0gZnVuY3Rpb24o
bnVtZXJpY1R5cGUpCi17Ci0gICAgZm9yICh2YXIgcHJvcCBpbiBXZWJJbnNwZWN0b3IuVGltZWxp
bmVNb2RlbC5SZWNvcmRUeXBlKSB7Ci0gICAgICAgIGlmIChXZWJJbnNwZWN0b3IuVGltZWxpbmVN
b2RlbC5SZWNvcmRUeXBlW3Byb3BdID09PSBudW1lcmljVHlwZSkKLSAgICAgICAgICAgIHJldHVy
biBwcm9wOwotICAgIH0KLSAgICByZXR1cm4gdW5kZWZpbmVkOwotfTsKLQotSW5zcGVjdG9yVGVz
dC5maW5kUHJlc2VudGF0aW9uUmVjb3JkID0gZnVuY3Rpb24odHlwZSkKLXsKLSAgICB2YXIgcmVz
dWx0OwotICAgIGZ1bmN0aW9uIGZpbmRCeVR5cGUocmVjb3JkKQotICAgIHsKLSAgICAgICAgaWYg
KHJlY29yZC50eXBlICE9PSB0eXBlKQotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAg
ICByZXN1bHQgPSByZWNvcmQ7Ci0gICAgICAgIHJldHVybiB0cnVlOwotICAgIH0KLSAgICB2YXIg
cmVjb3JkcyA9IFdlYkluc3BlY3Rvci5wYW5lbCgidGltZWxpbmUiKS5fcm9vdFJlY29yZCgpLmNo
aWxkcmVuOwotICAgIFdlYkluc3BlY3Rvci5UaW1lbGluZVByZXNlbnRhdGlvbk1vZGVsLmZvckFs
bFJlY29yZHMocmVjb3JkcywgZmluZEJ5VHlwZSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQot
SW5zcGVjdG9yVGVzdC5GYWtlRmlsZVJlYWRlciA9IGZ1bmN0aW9uKGlucHV0LCBkZWxlZ2F0ZSwg
Y2FsbGJhY2spCi17Ci0gICAgdGhpcy5fZGVsZWdhdGUgPSBkZWxlZ2F0ZTsKLSAgICB0aGlzLl9j
YWxsYmFjayA9IGNhbGxiYWNrOwotICAgIHRoaXMuX2lucHV0ID0gaW5wdXQ7Ci0gICAgdGhpcy5f
bG9hZGVkU2l6ZSA9IDA7Ci0gICAgdGhpcy5fZmlsZVNpemUgPSBpbnB1dC5sZW5ndGg7Ci19Owot
Ci1JbnNwZWN0b3JUZXN0LkZha2VGaWxlUmVhZGVyLnByb3RvdHlwZSA9IHsKLSAgICBzdGFydDog
ZnVuY3Rpb24ob3V0cHV0KQotICAgIHsKLSAgICAgICAgdGhpcy5fZGVsZWdhdGUub25UcmFuc2Zl
clN0YXJ0ZWQodGhpcyk7Ci0KLSAgICAgICAgdmFyIGxlbmd0aCA9IHRoaXMuX2lucHV0Lmxlbmd0
aDsKLSAgICAgICAgdmFyIGhhbGYgPSAobGVuZ3RoICsgMSkgPj4gMTsKLQotICAgICAgICB2YXIg
Y2h1bmsgPSB0aGlzLl9pbnB1dC5zdWJzdHJpbmcoMCwgaGFsZik7Ci0gICAgICAgIHRoaXMuX2xv
YWRlZFNpemUgKz0gY2h1bmsubGVuZ3RoOwotICAgICAgICBvdXRwdXQud3JpdGUoY2h1bmspOwot
ICAgICAgICB0aGlzLl9kZWxlZ2F0ZS5vbkNodW5rVHJhbnNmZXJyZWQodGhpcyk7Ci0KLSAgICAg
ICAgY2h1bmsgPSB0aGlzLl9pbnB1dC5zdWJzdHJpbmcoaGFsZik7Ci0gICAgICAgIHRoaXMuX2xv
YWRlZFNpemUgKz0gY2h1bmsubGVuZ3RoOwotICAgICAgICBvdXRwdXQud3JpdGUoY2h1bmspOwot
ICAgICAgICB0aGlzLl9kZWxlZ2F0ZS5vbkNodW5rVHJhbnNmZXJyZWQodGhpcyk7Ci0KLSAgICAg
ICAgb3V0cHV0LmNsb3NlKCk7Ci0gICAgICAgIHRoaXMuX2RlbGVnYXRlLm9uVHJhbnNmZXJGaW5p
c2hlZCh0aGlzKTsKLQotICAgICAgICB0aGlzLl9jYWxsYmFjaygpOwotICAgIH0sCi0KLSAgICBj
YW5jZWw6IGZ1bmN0aW9uKCkgeyB9LAotCi0gICAgbG9hZGVkU2l6ZTogZnVuY3Rpb24oKQotICAg
IHsKLSAgICAgICAgcmV0dXJuIHRoaXMuX2xvYWRlZFNpemU7Ci0gICAgfSwKLQotICAgIGZpbGVT
aXplOiBmdW5jdGlvbigpCi0gICAgewotICAgICAgICByZXR1cm4gdGhpcy5fZmlsZVNpemU7Ci0g
ICAgfSwKLQotICAgIGZpbGVOYW1lOiBmdW5jdGlvbigpCi0gICAgewotICAgICAgICByZXR1cm4g
ImZha2VGaWxlIjsKLSAgICB9Ci19OwotCi19OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9pbnNwZWN0b3Ivd2ViLXNvY2tldC1mcmFtZS1lcnJvci1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci93ZWItc29ja2V0LWZyYW1lLWVycm9yLWV4
cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTEzM2ZhMjdlNmEyZjQ5
ZDA3M2I5NWJhOTMzZTkxN2NkYTRhNGVlYi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci93ZWItc29j
a2V0LWZyYW1lLWVycm9yLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDYgKzAsMCBA
QAotQ09OU09MRSBNRVNTQUdFOiBXZWJTb2NrZXQgY29ubmVjdGlvbiB0byAnd3M6Ly9sb2NhbGhv
c3Q6ODAwMC93ZWJzb2NrZXQvdGVzdHMvaHliaS9kb2VzX25vdF9leGlzdCcgZmFpbGVkOiBVbmV4
cGVjdGVkIHJlc3BvbnNlIGNvZGU6IDQwNAotQ2xvc2VkLgotVGVzdHMgdGhhdCBXZWJTb2NrZXRG
cmFtZXMgZXJyb3JzIGFyZSB2aXNpYmxlIHRvIFdlYiBJbnNwZWN0b3IuCi0KLTE6IFVuZXhwZWN0
ZWQgcmVzcG9uc2UgY29kZTogNDA0Ci0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvaW5zcGVjdG9yL3dlYi1zb2NrZXQtZnJhbWUtZXJyb3IuaHRtbCBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvaW5zcGVjdG9yL3dlYi1zb2NrZXQtZnJhbWUtZXJyb3IuaHRtbApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggY2I4YmRiMjIzYWY4N2NjZDQxNzI3MDJlNDkzZmZlYjE4N2Ux
MTA5Ni4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci93ZWItc29ja2V0LWZyYW1lLWVycm9yLmh0bWwK
KysrIC9kZXYvbnVsbApAQCAtMSwzNyArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBz
cmM9Imluc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi8u
Li9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0Pgot
dmFyIHdzOwotZnVuY3Rpb24gc2VuZE1lc3NhZ2VzKCkgewotICAgIHdzID0gbmV3IFdlYlNvY2tl
dCgid3M6Ly9sb2NhbGhvc3Q6ODAwMC93ZWJzb2NrZXQvdGVzdHMvaHliaS9kb2VzX25vdF9leGlz
dCIpOwotICAgIHdzLm9uY2xvc2UgPSBmdW5jdGlvbigpCi0gICAgewotICAgICAgICBkZWJ1Zygi
Q2xvc2VkLiIpOwotICAgIH07Ci19Ci0KLWZ1bmN0aW9uIHRlc3QoKSB7Ci0gICAgZnVuY3Rpb24g
b25SZXF1ZXN0KGV2ZW50KQotICAgIHsKLSAgICAgICAgdmFyIHJlcXVlc3QgPSBldmVudC5kYXRh
OwotICAgICAgICBpZiAocmVxdWVzdC5fdHlwZS5fbmFtZSA9PT0gIndlYnNvY2tldCIpIHsKLSAg
ICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcmVxdWVzdC5mcmFtZXMoKS5sZW5ndGg7IGkr
KykgewotICAgICAgICAgICAgICAgIHZhciBmcmFtZSA9IHJlcXVlc3QuZnJhbWUoaSk7Ci0gICAg
ICAgICAgICAgICAgdmFyIHJlc3VsdCA9IFN0cmluZy5zcHJpbnRmKCIlZDogJXMiLCAoaSArIDEp
LCBmcmFtZS5lcnJvck1lc3NhZ2UpOwotICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRk
UmVzdWx0KHJlc3VsdCk7Ci0gICAgICAgICAgICAgICAgaWYgKGZyYW1lLmVycm9yTWVzc2FnZSkK
LSAgICAgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKLSAgICAg
ICAgICAgIH0KLSAgICAgICAgfQotICAgIH0KLSAgICBXZWJJbnNwZWN0b3IubmV0d29ya01hbmFn
ZXIuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuTmV0d29ya01hbmFnZXIuRXZlbnRUeXBl
cy5SZXF1ZXN0VXBkYXRlZCwgb25SZXF1ZXN0KTsKLSAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRl
SW5QYWdlKCJzZW5kTWVzc2FnZXMoKSIpOwotfQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBv
bmxvYWQ9InJ1blRlc3QoKSI+Ci08cD5UZXN0cyB0aGF0IFdlYlNvY2tldEZyYW1lcyBlcnJvcnMg
YXJlIHZpc2libGUgdG8gV2ViIEluc3BlY3Rvci48L3A+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci93ZWJzb2NrZXQvdGltZWxp
bmUtd2Vic29ja2V0LWV2ZW50LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
aW5zcGVjdG9yL3dlYnNvY2tldC90aW1lbGluZS13ZWJzb2NrZXQtZXZlbnQtZXhwZWN0ZWQudHh0
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5ZjRmMGQ5MjRkNWQzN2RkODAwYmJjMTY2
N2EzMzYxZGVkMWZmMDE5Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3dlYnNvY2tldC90aW1lbGlu
ZS13ZWJzb2NrZXQtZXZlbnQtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNDkgKzAs
MCBAQAotVGVzdHMgdGhlIFRpbWVsaW5lIGV2ZW50cyBmb3IgV2ViU29ja2V0Ci0KLVdlYlNvY2tl
dENyZWF0ZSBQcm9wZXJ0aWVzOgotewotICAgIGNvdW50ZXJzIDogPG9iamVjdD4KLSAgICBkYXRh
IDogewotICAgICAgICBpZGVudGlmaWVyIDogPG51bWJlcj4KLSAgICAgICAgdXJsIDogPHN0cmlu
Zz4KLSAgICB9Ci0gICAgZnJhbWVJZCA6IDxzdHJpbmc+Ci0gICAgc3RhY2tUcmFjZSA6IDxvYmpl
Y3Q+Ci0gICAgc3RhcnRUaW1lIDogPG51bWJlcj4KLSAgICB0eXBlIDogIldlYlNvY2tldENyZWF0
ZSIKLSAgICB1c2VkSGVhcFNpemUgOiA8bnVtYmVyPgotfQotV2ViU29ja2V0U2VuZEhhbmRzaGFr
ZVJlcXVlc3QgUHJvcGVydGllczoKLXsKLSAgICBjb3VudGVycyA6IDxvYmplY3Q+Ci0gICAgZGF0
YSA6IHsKLSAgICAgICAgaWRlbnRpZmllciA6IDxudW1iZXI+Ci0gICAgfQotICAgIGZyYW1lSWQg
OiA8c3RyaW5nPgotICAgIHN0YXJ0VGltZSA6IDxudW1iZXI+Ci0gICAgdHlwZSA6ICJXZWJTb2Nr
ZXRTZW5kSGFuZHNoYWtlUmVxdWVzdCIKLSAgICB1c2VkSGVhcFNpemUgOiA8bnVtYmVyPgotfQot
V2ViU29ja2V0UmVjZWl2ZUhhbmRzaGFrZVJlc3BvbnNlIFByb3BlcnRpZXM6Ci17Ci0gICAgY291
bnRlcnMgOiA8b2JqZWN0PgotICAgIGRhdGEgOiB7Ci0gICAgICAgIGlkZW50aWZpZXIgOiA8bnVt
YmVyPgotICAgIH0KLSAgICBmcmFtZUlkIDogPHN0cmluZz4KLSAgICBzdGFydFRpbWUgOiA8bnVt
YmVyPgotICAgIHR5cGUgOiAiV2ViU29ja2V0UmVjZWl2ZUhhbmRzaGFrZVJlc3BvbnNlIgotICAg
IHVzZWRIZWFwU2l6ZSA6IDxudW1iZXI+Ci19Ci1XZWJTb2NrZXREZXN0cm95IFByb3BlcnRpZXM6
Ci17Ci0gICAgY291bnRlcnMgOiA8b2JqZWN0PgotICAgIGRhdGEgOiB7Ci0gICAgICAgIGlkZW50
aWZpZXIgOiA8bnVtYmVyPgotICAgIH0KLSAgICBmcmFtZUlkIDogPHN0cmluZz4KLSAgICBzdGFy
dFRpbWUgOiA8bnVtYmVyPgotICAgIHR5cGUgOiAiV2ViU29ja2V0RGVzdHJveSIKLSAgICB1c2Vk
SGVhcFNpemUgOiA8bnVtYmVyPgotfQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL2luc3BlY3Rvci93ZWJzb2NrZXQvdGltZWxpbmUtd2Vic29ja2V0LWV2ZW50Lmh0bWwgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci93ZWJzb2NrZXQvdGltZWxpbmUtd2Vic29j
a2V0LWV2ZW50Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ0Nzc2MGFkNDQw
NWM0ZDhmMjk0YmM4MTY0ZjUwM2YyZWMzNmE0MzYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3Ivd2Vi
c29ja2V0L3RpbWVsaW5lLXdlYnNvY2tldC1ldmVudC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEs
NDQgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi9pbnNwZWN0b3ItdGVz
dC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vdGltZWxpbmUtdGVzdC5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0PgotCi1mdW5jdGlvbiBwZXJmb3JtQWN0aW9ucygpCi17Ci0gICAgdmFyIHdz
ID0gbmV3IFdlYlNvY2tldCgid3M6Ly8xMjcuMC4wLjE6ODg4MC93ZWJzb2NrZXQvdGVzdHMvaHli
aS9zaW1wbGUiKTsKLQotICAgIHRlc3RSdW5uZXIuZGlzcGxheSgpOwotfQotCi1mdW5jdGlvbiB0
ZXN0KCkKLXsKLSAgICBJbnNwZWN0b3JUZXN0LnN0YXJ0VGltZWxpbmUoZnVuY3Rpb24oKSB7Ci0g
ICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoInBlcmZvcm1BY3Rpb25zKCkiKTsK
LSAgICB9KTsKLQotICAgIEluc3BlY3RvclRlc3Qud2FpdEZvclJlY29yZFR5cGUoIldlYlNvY2tl
dERlc3Ryb3kiLCBmaW5pc2gpOwotCi0gICAgZnVuY3Rpb24gZmluaXNoKCkKLSAgICB7Ci0gICAg
ICAgIEluc3BlY3RvclRlc3QucHJpbnRUaW1lbGluZVJlY29yZHMoIldlYlNvY2tldENyZWF0ZSIp
OwotICAgICAgICBJbnNwZWN0b3JUZXN0LnByaW50VGltZWxpbmVSZWNvcmRzKCJXZWJTb2NrZXRT
ZW5kSGFuZHNoYWtlUmVxdWVzdCIpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LnByaW50VGltZWxp
bmVSZWNvcmRzKCJXZWJTb2NrZXRSZWNlaXZlSGFuZHNoYWtlUmVzcG9uc2UiKTsKLSAgICAgICAg
SW5zcGVjdG9yVGVzdC5wcmludFRpbWVsaW5lUmVjb3JkcygiV2ViU29ja2V0RGVzdHJveSIpOwot
ICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwotICAgIH0KLX0KLQotaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKLSAgICBzZXRUaW1lb3V0KHBlcmZvcm1BY3Rpb25zLCAyMDAwKTsK
LQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci0KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxwPgot
VGVzdHMgdGhlIFRpbWVsaW5lIGV2ZW50cyBmb3IgV2ViU29ja2V0Ci08L3A+Ci0KLTwvYm9keT4K
LTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3dl
YnNvY2tldC93ZWItc29ja2V0LWZyYW1lLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvaW5zcGVjdG9yL3dlYnNvY2tldC93ZWItc29ja2V0LWZyYW1lLWV4cGVjdGVkLnR4dApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZWY0YTVjODAyMDljZWZmYWU0NGQ0MzUwNjg2
NDBkYWE5NjE1YWUwYy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci93ZWJzb2NrZXQvd2ViLXNvY2tl
dC1mcmFtZS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxNCArMCwwIEBACi1Db25u
ZWN0ZWQuCi1UZXN0cyB0aGF0IFdlYlNvY2tldEZyYW1lcyBhcmUgYmVpbmcgc2VudCBhbmQgcmVj
aWV2ZWQgYnkgV2ViIEluc3BlY3Rvci4KLQotMS0gc2VudDogdGVzdAotMS0gc2VudDogdGVzdAot
Mi0gc2VudDogZXhpdAotMS0gc2VudDogdGVzdAotMi0gc2VudDogZXhpdAotMy0gcmVjZWl2ZWQ6
IHRlc3QKLTEtIHNlbnQ6IHRlc3QKLTItIHNlbnQ6IGV4aXQKLTMtIHJlY2VpdmVkOiB0ZXN0Ci00
LSByZWNlaXZlZDogZXhpdAotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2lu
c3BlY3Rvci93ZWJzb2NrZXQvd2ViLXNvY2tldC1mcmFtZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9pbnNwZWN0b3Ivd2Vic29ja2V0L3dlYi1zb2NrZXQtZnJhbWUuaHRtbApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZGI3MDg1NTI4NTZiYWNjODY1ZTA0MjI0YWFmZmNiNTQz
OTIxZDA2OC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci93ZWJzb2NrZXQvd2ViLXNvY2tldC1mcmFt
ZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMzkgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxz
Y3JpcHQgc3JjPSIuLi9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
Li4vLi4vLi4vLi4vLi4vanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgotPHNjcmlwdD4KLXZhciB3czsKLWZ1bmN0aW9uIHNlbmRNZXNzYWdlcygpIHsKLSAgICB3cyA9
IG5ldyBXZWJTb2NrZXQoIndzOi8vbG9jYWxob3N0Ojg4ODAvd2Vic29ja2V0L3Rlc3RzL2h5Ymkv
ZWNobyIpOwotICAgIHdzLm9ub3BlbiA9IGZ1bmN0aW9uKCkKLSAgICB7Ci0gICAgICAgIGRlYnVn
KCJDb25uZWN0ZWQuIik7Ci0gICAgICAgIHdzLnNlbmQoInRlc3QiKTsKLSAgICAgICAgd3Muc2Vu
ZCgiZXhpdCIpOwotICAgIH07Ci19Ci0KLWZ1bmN0aW9uIHRlc3QoKSB7Ci0gICAgZnVuY3Rpb24g
b25SZXF1ZXN0KGV2ZW50KQotICAgIHsKLSAgICAgICAgdmFyIHJlcXVlc3QgPSBldmVudC5kYXRh
OwotICAgICAgICBpZiAocmVxdWVzdC5fdHlwZS5fbmFtZSA9PT0gIndlYnNvY2tldCIpIHsKLSAg
ICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcmVxdWVzdC5mcmFtZXMoKS5sZW5ndGg7IGkr
KykgewotICAgICAgICAgICAgICAgIHZhciBmcmFtZSA9IHJlcXVlc3QuZnJhbWUoaSk7Ci0gICAg
ICAgICAgICAgICAgdmFyIHJlc3VsdCA9IFN0cmluZy5zcHJpbnRmKCIlZC0lczogJXMiLCAoaSAr
IDEpLCBmcmFtZS5zZW50ID8gIiBzZW50IiA6ICIgcmVjZWl2ZWQiLCBmcmFtZS5wYXlsb2FkRGF0
YSk7Ci0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQocmVzdWx0KTsKLSAg
ICAgICAgICAgICAgICBpZiAoIWZyYW1lLnNlbnQgJiYgZnJhbWUucGF5bG9hZERhdGEgPT09ICJl
eGl0IikKLSAgICAgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsK
LSAgICAgICAgICAgIH0KLSAgICAgICAgfQotICAgIH0KLSAgICBXZWJJbnNwZWN0b3IubmV0d29y
a01hbmFnZXIuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuTmV0d29ya01hbmFnZXIuRXZl
bnRUeXBlcy5SZXF1ZXN0VXBkYXRlZCwgb25SZXF1ZXN0KTsKLSAgICBJbnNwZWN0b3JUZXN0LmV2
YWx1YXRlSW5QYWdlKCJzZW5kTWVzc2FnZXMoKSIpOwotfQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08
Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci08cD5UZXN0cyB0aGF0IFdlYlNvY2tldEZyYW1lcyBh
cmUgYmVpbmcgc2VudCBhbmQgcmVjaWV2ZWQgYnkgV2ViIEluc3BlY3Rvci48L3A+Ci08L2JvZHk+
Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci93
b3Jrc3BhY2UtdGVzdC5qcyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3dvcmtz
cGFjZS10ZXN0LmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzNmFjZjRkZjRhZTMz
YmE0M2E0MDNkZWFmOTk2ZjVmMWRiNmI5MTE3Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3dvcmtz
cGFjZS10ZXN0LmpzCisrKyAvZGV2L251bGwKQEAgLTEsNjMgKzAsMCBAQAotdmFyIGluaXRpYWxp
emVfV29ya3NwYWNlVGVzdCA9IGZ1bmN0aW9uKCkgewotCi1JbnNwZWN0b3JUZXN0LmNyZWF0ZVdv
cmtzcGFjZSA9IGZ1bmN0aW9uKGlnbm9yZUV2ZW50cykKLXsKLSAgICBJbnNwZWN0b3JUZXN0LnRl
c3RGaWxlTWFwcGluZyA9IG5ldyBXZWJJbnNwZWN0b3IuRmlsZU1hcHBpbmcoKTsKLSAgICBJbnNw
ZWN0b3JUZXN0LnRlc3RGaWxlU3lzdGVtTWFwcGluZyA9IG5ldyBXZWJJbnNwZWN0b3IuRmlsZVN5
c3RlbU1hcHBpbmdJbXBsKCk7Ci0gICAgSW5zcGVjdG9yVGVzdC50ZXN0RmlsZVN5c3RlbU1hcHBp
bmcuX2ZpbGVTeXN0ZW1NYXBwaW5nU2V0dGluZyA9IG5ldyBJbnNwZWN0b3JUZXN0Lk1vY2tTZXR0
aW5nKHt9KTsKLQotICAgIEluc3BlY3RvclRlc3QudGVzdFdvcmtzcGFjZSA9IG5ldyBXZWJJbnNw
ZWN0b3IuV29ya3NwYWNlKEluc3BlY3RvclRlc3QudGVzdEZpbGVNYXBwaW5nLCBJbnNwZWN0b3JU
ZXN0LnRlc3RGaWxlU3lzdGVtTWFwcGluZyk7Ci0gICAgSW5zcGVjdG9yVGVzdC50ZXN0TmV0d29y
a1dvcmtzcGFjZVByb3ZpZGVyID0gbmV3IFdlYkluc3BlY3Rvci5TaW1wbGVXb3Jrc3BhY2VQcm92
aWRlcihJbnNwZWN0b3JUZXN0LnRlc3RXb3Jrc3BhY2UsIFdlYkluc3BlY3Rvci5wcm9qZWN0VHlw
ZXMuTmV0d29yayk7Ci0gICAgaWYgKGlnbm9yZUV2ZW50cykKLSAgICAgICAgcmV0dXJuOwotICAg
IEluc3BlY3RvclRlc3QudGVzdFdvcmtzcGFjZS5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rv
ci5VSVNvdXJjZUNvZGVQcm92aWRlci5FdmVudHMuVUlTb3VyY2VDb2RlQWRkZWQsIEluc3BlY3Rv
clRlc3QuX2RlZmF1bHRVSVNvdXJjZUNvZGVQcm92aWRlckV2ZW50SGFuZGxlcik7Ci0gICAgSW5z
cGVjdG9yVGVzdC50ZXN0V29ya3NwYWNlLmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLlVJ
U291cmNlQ29kZVByb3ZpZGVyLkV2ZW50cy5VSVNvdXJjZUNvZGVSZW1vdmVkLCBJbnNwZWN0b3JU
ZXN0Ll9kZWZhdWx0VUlTb3VyY2VDb2RlUHJvdmlkZXJFdmVudEhhbmRsZXIpOwotfQotCi1JbnNw
ZWN0b3JUZXN0LndhaXRGb3JXb3Jrc3BhY2VVSVNvdXJjZUNvZGVBZGRlZEV2ZW50ID0gZnVuY3Rp
b24oY2FsbGJhY2ssIGNvdW50KQotewotICAgIEluc3BlY3RvclRlc3QudWlTb3VyY2VDb2RlQWRk
ZWRFdmVudHNMZWZ0ID0gY291bnQgfHwgMTsKLSAgICBJbnNwZWN0b3JUZXN0LnRlc3RXb3Jrc3Bh
Y2UucmVtb3ZlRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuVUlTb3VyY2VDb2RlUHJvdmlkZXIu
RXZlbnRzLlVJU291cmNlQ29kZUFkZGVkLCBJbnNwZWN0b3JUZXN0Ll9kZWZhdWx0VUlTb3VyY2VD
b2RlUHJvdmlkZXJFdmVudEhhbmRsZXIpOwotICAgIEluc3BlY3RvclRlc3QudGVzdFdvcmtzcGFj
ZS5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5VSVNvdXJjZUNvZGVQcm92aWRlci5FdmVu
dHMuVUlTb3VyY2VDb2RlQWRkZWQsIHVpU291cmNlQ29kZUFkZGVkKTsKLQotICAgIGZ1bmN0aW9u
IHVpU291cmNlQ29kZUFkZGVkKGV2ZW50KQotICAgIHsKLSAgICAgICAgaWYgKCEoLS1JbnNwZWN0
b3JUZXN0LnVpU291cmNlQ29kZUFkZGVkRXZlbnRzTGVmdCkpIHsKLSAgICAgICAgICAgIEluc3Bl
Y3RvclRlc3QudGVzdFdvcmtzcGFjZS5yZW1vdmVFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5V
SVNvdXJjZUNvZGVQcm92aWRlci5FdmVudHMuVUlTb3VyY2VDb2RlQWRkZWQsIHVpU291cmNlQ29k
ZUFkZGVkKTsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QudGVzdFdvcmtzcGFjZS5hZGRFdmVu
dExpc3RlbmVyKFdlYkluc3BlY3Rvci5VSVNvdXJjZUNvZGVQcm92aWRlci5FdmVudHMuVUlTb3Vy
Y2VDb2RlQWRkZWQsIEluc3BlY3RvclRlc3QuX2RlZmF1bHRVSVNvdXJjZUNvZGVQcm92aWRlckV2
ZW50SGFuZGxlcik7Ci0gICAgICAgIH0KLSAgICAgICAgY2FsbGJhY2soZXZlbnQuZGF0YSk7Ci0g
ICAgfQotfQotCi1JbnNwZWN0b3JUZXN0LmFkZE1vY2tVSVNvdXJjZUNvZGVUb1dvcmtzcGFjZSA9
IGZ1bmN0aW9uKHVybCwgdHlwZSwgY29udGVudCkKLXsKLSAgICB2YXIgaXNEb2N1bWVudCA9IHR5
cGUgPT09IFdlYkluc3BlY3Rvci5yZXNvdXJjZVR5cGVzLkRvY3VtZW50OwotICAgIHZhciBtb2Nr
Q29udGVudFByb3ZpZGVyID0gbmV3IFdlYkluc3BlY3Rvci5TdGF0aWNDb250ZW50UHJvdmlkZXIo
dHlwZSwgY29udGVudCk7Ci0gICAgSW5zcGVjdG9yVGVzdC50ZXN0TmV0d29ya1dvcmtzcGFjZVBy
b3ZpZGVyLmFkZEZpbGVGb3JVUkwodXJsLCBtb2NrQ29udGVudFByb3ZpZGVyLCAhaXNEb2N1bWVu
dCk7Ci19Ci0KLUluc3BlY3RvclRlc3QuX2RlZmF1bHRVSVNvdXJjZUNvZGVQcm92aWRlckV2ZW50
SGFuZGxlciA9IGZ1bmN0aW9uKGV2ZW50KQotewotICAgIHZhciB1aVNvdXJjZUNvZGUgPSBldmVu
dC5kYXRhOwotICAgIHRocm93IG5ldyBFcnJvcigiVW5leHBlY3RlZCBVSVNvdXJjZUNvZGVQcm92
aWRlciBldmVudDogIiArIGV2ZW50LnR5cGUgKyAiOiAiICsgdWlTb3VyY2VDb2RlLnVyaSgpICsg
Ii4iKTsKLX0KLQotSW5zcGVjdG9yVGVzdC5kdW1wVUlTb3VyY2VDb2RlID0gZnVuY3Rpb24odWlT
b3VyY2VDb2RlLCBjYWxsYmFjaykKLXsKLSAgICB2YXIgdXJsID0gdWlTb3VyY2VDb2RlLm9yaWdp
blVSTCgpLnJlcGxhY2UoLy4qTGF5b3V0VGVzdHMvLCAiTGF5b3V0VGVzdHMiKTsKLSAgICBJbnNw
ZWN0b3JUZXN0LmFkZFJlc3VsdCgiVUlTb3VyY2VDb2RlOiAiICsgdXJsKTsKLSAgICBJbnNwZWN0
b3JUZXN0LmFkZFJlc3VsdCgiVUlTb3VyY2VDb2RlIGlzIGVkaXRhYmxlOiAiICsgdWlTb3VyY2VD
b2RlLmlzRWRpdGFibGUoKSk7Ci0gICAgaWYgKHVpU291cmNlQ29kZS5jb250ZW50VHlwZSgpID09
PSBXZWJJbnNwZWN0b3IucmVzb3VyY2VUeXBlcy5TY3JpcHQgfHwgdWlTb3VyY2VDb2RlLmNvbnRl
bnRUeXBlKCkgPT09IFdlYkluc3BlY3Rvci5yZXNvdXJjZVR5cGVzLkRvY3VtZW50KQotICAgICAg
ICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiVUlTb3VyY2VDb2RlIGlzIGNvbnRlbnQgc2NyaXB0
OiAiICsgISF1aVNvdXJjZUNvZGUuaXNDb250ZW50U2NyaXB0KTsKLSAgICB1aVNvdXJjZUNvZGUu
cmVxdWVzdENvbnRlbnQoZGlkUmVxdWVzdENvbnRlbnQpOwotCi0gICAgZnVuY3Rpb24gZGlkUmVx
dWVzdENvbnRlbnQoY29udGVudCwgY29udGVudEVuY29kZWQsIG1pbWVUeXBlKQotICAgIHsKLSAg
ICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIk1pbWUgdHlwZTogIiArIG1pbWVUeXBlKTsK
LSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIlVJU291cmNlQ29kZSBjb250ZW50OiAi
ICsgY29udGVudCk7Ci0gICAgICAgIGNhbGxiYWNrKCk7Ci0gICAgfQotfQotCi19OwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvYWxlcnQtdG9TdHJp
bmctZXhjZXB0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0
ZS9jb25zb2xlL2FsZXJ0LXRvU3RyaW5nLWV4Y2VwdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uYTIyNmEzNGZjYTQ4ODA5NjI2ZTMyYmYwYjIzOWE0NGJiM2I4YzgxNwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xlL2FsZXJ0LXRvU3Ry
aW5nLWV4Y2VwdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw3IEBACitDT05TT0xFIE1FU1NB
R0U6IGxpbmUgNjogRXhjZXB0aW9uIGluIHRvU3RyaW5nKCkuCitDT05TT0xFIE1FU1NBR0U6IGxp
bmUgNjogRXhjZXB0aW9uIGluIHRvU3RyaW5nKCkuCitUZXN0IHRoYXQgYnJvd3NlciB3b24ndCBj
cmFzaCBpZiBpbnNwZWN0b3IgaXMgb3BlbmVkIGZvciBhIHBhZ2UgdGhhdCBmYWlscyB0byBjb252
ZXJ0IGFsZXJ0KCkgYXJndW1lbnQgdG8gc3RyaW5nLiBUaGUgdGVzdCBwYXNzZXMgaWYgaXQgZG9l
c24ndCBjcmFzaC4gQnVnIDYwNTQxCisKK1BhZ2UgcmVsb2FkZWQuCitFeGNlcHRpb24gaW4gdG9T
dHJpbmcoKS4gYWxlcnQtdG9TdHJpbmctZXhjZXB0aW9uLmh0bWw6NgorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9hbGVydC10b1N0cmluZy1leGNl
cHRpb24uaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xlL2FsZXJ0
LXRvU3RyaW5nLWV4Y2VwdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjlhYTA1NTI1N2JkYTBkZTg2Y2Fh
YjgyNGFjOWM3MDZjZjdiMWI5MjAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3Itb2Jzb2xldGUvY29uc29sZS9hbGVydC10b1N0cmluZy1leGNlcHRpb24uaHRtbApAQCAt
MCwwICsxLDI1IEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVz
dHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9jb25zb2xlLXRlc3QuanMiPjwvc2NyaXB0PgorPHNj
cmlwdD4KK2FsZXJ0KHt0b1N0cmluZzogZnVuY3Rpb24oKSB7IHRocm93ICJFeGNlcHRpb24gaW4g
dG9TdHJpbmcoKS4iOyB9fSk7Cis8L3NjcmlwdD4KKzxzY3JpcHQ+CitmdW5jdGlvbiB0ZXN0KCkK
K3sKKyAgICBJbnNwZWN0b3JUZXN0LnJlbG9hZFBhZ2UoZnVuY3Rpb24oKSB7CisgICAgICAgIElu
c3BlY3RvclRlc3QuZHVtcENvbnNvbGVNZXNzYWdlcygpOworICAgICAgICBJbnNwZWN0b3JUZXN0
LmNvbXBsZXRlVGVzdCgpOworICAgIH0pOworfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBv
bmxvYWQ9InJ1blRlc3QoKSI+Cis8cD4KK1Rlc3QgdGhhdCBicm93c2VyIHdvbid0IGNyYXNoIGlm
IGluc3BlY3RvciBpcyBvcGVuZWQgZm9yIGEgcGFnZSB0aGF0IGZhaWxzIHRvIGNvbnZlcnQKK2Fs
ZXJ0KCkgYXJndW1lbnQgdG8gc3RyaW5nLiBUaGUgdGVzdCBwYXNzZXMgaWYgaXQgZG9lc24ndCBj
cmFzaC4KKzxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02
MDU0MSI+QnVnIDYwNTQxPC9hPgorPC9wPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY2xpZW50cy1pZ25vcmVkLWlu
LXByaXZhdGVicm93c2luZy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jz
b2xldGUvY29uc29sZS9jbGllbnRzLWlnbm9yZWQtaW4tcHJpdmF0ZWJyb3dzaW5nLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YmUyNDFlYjc5YmVjMmU3M2RkNTg2ZGQwM2M1ZmJjZjExMDAxNGY3
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNv
bGUvY2xpZW50cy1pZ25vcmVkLWluLXByaXZhdGVicm93c2luZy1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSw0IEBACitJbiBQcml2YXRlQnJvd3NpbmcgbW9kZSwgY29uc29sZSBtZXNzYWdlcyBhcmUg
dmlzaWJsZSBpbiB0aGUgQ29uc29sZSwgYnV0IGFyZW4ndCBzZW50IHRvIENocm9tZUNsaWVudHMg
KG9yIHByaW50ZidkKSBpbiBvcmRlciB0byBlbnN1cmUgdGhleSBuZXZlciBlbmQgdXAgaW4gbG9n
cy4gQmV0dGVyIHNhZmUgdGhhbiBzb3JyeS4KKworbG9nOiBUaGlzIHNob3VsZCBzaG93IHVwIG9u
Y2UgY29uc29sZSBtZXNzYWdlcyBhcmUgZHVtcGVkLCBidXQgc2hvdWxkIF9ub3RfIHNob3cgdXAg
YXMgYSAiQ09OU09MRSBNRVNTQUdFOiIgYXQgdGhlIHRvcCBvZiB0aGUgb3V0cHV0LgorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jbGllbnRzLWln
bm9yZWQtaW4tcHJpdmF0ZWJyb3dzaW5nLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jz
b2xldGUvY29uc29sZS9jbGllbnRzLWlnbm9yZWQtaW4tcHJpdmF0ZWJyb3dzaW5nLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNGM3ODQyNzA0OWM3YWVlN2Y1NmRjZmY1YjEzOWYyMGEzMDAwMjQ3MgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xlL2NsaWVu
dHMtaWdub3JlZC1pbi1wcml2YXRlYnJvd3NpbmcuaHRtbApAQCAtMCwwICsxLDMwIEBACis8aHRt
bD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3Bl
Y3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2lu
c3BlY3Rvci9jb25zb2xlLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKworZnVuY3Rpb24g
dGVzdCgpCit7CisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICB0ZXN0UnVubmVy
LnNldFByaXZhdGVCcm93c2luZ0VuYWJsZWQodHJ1ZSk7CisKKyAgICBjb25zb2xlLmxvZygnVGhp
cyBzaG91bGQgc2hvdyB1cCBvbmNlIGNvbnNvbGUgbWVzc2FnZXMgYXJlIGR1bXBlZCwgYnV0IHNo
b3VsZCBfbm90XyBzaG93IHVwIGFzIGEgIkNPTlNPTEUgTUVTU0FHRToiIGF0IHRoZSB0b3Agb2Yg
dGhlIG91dHB1dC4nKTsKKworICAgIEluc3BlY3RvclRlc3QuZHVtcENvbnNvbGVNZXNzYWdlcygp
OworCisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICB0ZXN0UnVubmVyLnNldFBy
aXZhdGVCcm93c2luZ0VuYWJsZWQoZmFsc2UpOworICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVU
ZXN0KCk7Cit9CisKKzwvc2NyaXB0PgorPC9oZWFkPgorCis8Ym9keSBvbmxvYWQ9InJ1blRlc3Qo
KSI+Cis8cD5JbiBQcml2YXRlQnJvd3NpbmcgbW9kZSwgY29uc29sZSBtZXNzYWdlcyBhcmUgdmlz
aWJsZSBpbiB0aGUgQ29uc29sZSwgYnV0CithcmVuJ3Qgc2VudCB0byBDaHJvbWVDbGllbnRzIChv
ciBwcmludGYnZCkgaW4gb3JkZXIgdG8gZW5zdXJlIHRoZXkgbmV2ZXIgZW5kCit1cCBpbiBsb2dz
LiBCZXR0ZXIgc2FmZSB0aGFuIHNvcnJ5LjwvcD4KKworPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29tbWFuZC1saW5l
LWFwaS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29uc29s
ZS9jb21tYW5kLWxpbmUtYXBpLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yYjJmZTMxMWQ2NzFi
OGI3OWFiMDBmOGQ4YmRiN2I5NGQ1MDQ0ZDMzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29tbWFuZC1saW5lLWFwaS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSw0OCBAQAorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDEyMjM6IFRoZSBjb25z
b2xlIGZ1bmN0aW9uICQoKSBoYXMgY2hhbmdlZCBmcm9tICQ9Z2V0RWxlbWVudEJ5SWQoaWQpIHRv
ICQ9cXVlcnlTZWxlY3RvcihzZWxlY3RvcikuIFlvdSBtaWdodCB0cnkgJCgiIyVzIikKK1Rlc3Rz
IHRoYXQgY29tbWFuZCBsaW5lIGFwaSB3b3Jrcy4KKworCisKK1N0cmluZygkMCkKKyJbb2JqZWN0
IEhUTUxQYXJhZ3JhcGhFbGVtZW50XSIKKworCiskMwordW5kZWZpbmVkCisKKworU3RyaW5nKGtl
eXMoWzMsNF0pKQorIjAsMSIKKworCitTdHJpbmcodmFsdWVzKFszLDRdKSkKKyIzLDQiCisKKwor
U3RyaW5nKCQoJyNmb28nKSkKKyJbb2JqZWN0IEhUTUxQYXJhZ3JhcGhFbGVtZW50XSIKKworCitT
dHJpbmcoJCgnI2ZvbycsIGRvY3VtZW50LmJvZHkpKQorIltvYmplY3QgSFRNTFBhcmFncmFwaEVs
ZW1lbnRdIgorCisKK1N0cmluZygkKCcjZm9vJywgJ25vbi1ub2RlJykpCisiW29iamVjdCBIVE1M
UGFyYWdyYXBoRWxlbWVudF0iCisKKworU3RyaW5nKCQoJyNmb28nLCAkKCcjYmFyJykpKQorIm51
bGwiCisKKworU3RyaW5nKCQkKCdwI2ZvbycpKQorIltvYmplY3QgTm9kZUxpc3RdIgorCisKK1N0
cmluZygkJCgncCNmb28nLCBkb2N1bWVudC5ib2R5KSkKKyJbb2JqZWN0IE5vZGVMaXN0XSIKKwor
CitTdHJpbmcoJCgnZm9vJykpCitUaGUgY29uc29sZSBmdW5jdGlvbiAkKCkgaGFzIGNoYW5nZWQg
ZnJvbSAkPWdldEVsZW1lbnRCeUlkKGlkKSB0byAkPXF1ZXJ5U2VsZWN0b3Ioc2VsZWN0b3IpLiBZ
b3UgbWlnaHQgdHJ5ICQoIiNmb28iKQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0
b3Itb2Jzb2xldGUvY29uc29sZS9jb21tYW5kLWxpbmUtYXBpLWluc3BlY3QtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29tbWFuZC1saW5lLWFw
aS1pbnNwZWN0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43MjY3MTZhZWY0YWEyNGQ3M2YyYzc1
ZDJiZDI0ZjFhYWE3MTY1MTRiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yLW9ic29sZXRlL2NvbnNvbGUvY29tbWFuZC1saW5lLWFwaS1pbnNwZWN0LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM5IEBACitUZXN0cyB0aGF0IGluc3BlY3QoKSBjb21tYW5kIGxpbmUgYXBp
IHdvcmtzLgorCisKK1J1bm5pbmc6IHRlc3RSZXZlYWxFbGVtZW50CisKKworV2ViSW5zcGVjdG9y
Lmluc3BlY3QgY2FsbGVkIHdpdGg6IHAjcDEKK1dlYkluc3BlY3Rvci5pbnNwZWN0J3MgaGludHMg
YXJlOiBbXQoraW5zcGVjdCgkKCcjcDEnKSkgPSAKK1NlbGVjdGVkIG5vZGUgaWQ6ICdwMScuCisK
K1J1bm5pbmc6IHRlc3RSZXZlYWxEYXRhYmFzZQorCisKK1dlYkluc3BlY3Rvci5pbnNwZWN0IGNh
bGxlZCB3aXRoOiBEYXRhYmFzZQorV2ViSW5zcGVjdG9yLmluc3BlY3QncyBoaW50cyBhcmU6IFsi
ZGF0YWJhc2VJZCJdCitpbnNwZWN0KGRiKSA9IERhdGFiYXNlIHt2ZXJzaW9uOiAiMS4wIiwgdHJh
bnNhY3Rpb246IGZ1bmN0aW9uLCByZWFkVHJhbnNhY3Rpb246IGZ1bmN0aW9uLCBjaGFuZ2VWZXJz
aW9uOiBmdW5jdGlvbn0KKworUnVubmluZzogdGVzdFJldmVhbERhdGFiYXNlMgorCisKK1dlYklu
c3BlY3Rvci5pbnNwZWN0IGNhbGxlZCB3aXRoOiBEYXRhYmFzZQorV2ViSW5zcGVjdG9yLmluc3Bl
Y3QncyBoaW50cyBhcmU6IFsiZGF0YWJhc2VJZCJdCitpbnNwZWN0KGRiMikgPSBEYXRhYmFzZSB7
dmVyc2lvbjogIjEuMCIsIHRyYW5zYWN0aW9uOiBmdW5jdGlvbiwgcmVhZFRyYW5zYWN0aW9uOiBm
dW5jdGlvbiwgY2hhbmdlVmVyc2lvbjogZnVuY3Rpb259CisKK1J1bm5pbmc6IHRlc3RSZXZlYWxM
b2NhbFN0b3JhZ2UKKworCitXZWJJbnNwZWN0b3IuaW5zcGVjdCBjYWxsZWQgd2l0aDogU3RvcmFn
ZQorV2ViSW5zcGVjdG9yLmluc3BlY3QncyBoaW50cyBhcmU6IFsiZG9tU3RvcmFnZUlkIl0KK2lu
c3BlY3QobG9jYWxTdG9yYWdlKSA9IFN0b3JhZ2Uge30KKworUnVubmluZzogdGVzdFJldmVhbFNl
c3Npb25TdG9yYWdlCisKKworV2ViSW5zcGVjdG9yLmluc3BlY3QgY2FsbGVkIHdpdGg6IFN0b3Jh
Z2UKK1dlYkluc3BlY3Rvci5pbnNwZWN0J3MgaGludHMgYXJlOiBbImRvbVN0b3JhZ2VJZCJdCitp
bnNwZWN0KHNlc3Npb25TdG9yYWdlKSA9IFN0b3JhZ2Uge30KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29tbWFuZC1saW5lLWFwaS1pbnNwZWN0
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb21tYW5kLWxp
bmUtYXBpLWluc3BlY3QuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iYTAzMDQ2ODBlYTJlNGI3MGFjMjU4NWQw
MzdiMGJlMjdlODQ0MmI4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
LW9ic29sZXRlL2NvbnNvbGUvY29tbWFuZC1saW5lLWFwaS1pbnNwZWN0Lmh0bWwKQEAgLTAsMCAr
MSw3NiBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2lu
c3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
aHR0cC90ZXN0cy9pbnNwZWN0b3IvY29uc29sZS10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+
CisKK2Z1bmN0aW9uIG9ubG9hZCgpCit7CisgICAgd2luZG93LmRiID0gb3BlbkRhdGFiYXNlKCJJ
bnNwZWN0b3JEYXRhYmFzZVRlc3QiLCAiMS4wIiwgIlRlc3Qgb2YgZGF0YWJhc2UgcmV2ZWFsIGlu
IGluc3BlY3RvciIsIDEpOworICAgIHdpbmRvdy5kYjIgPSBvcGVuRGF0YWJhc2UoIkluc3BlY3Rv
ckRhdGFiYXNlVGVzdDIiLCAiMS4wIiwgIlRlc3Qgb2YgZGF0YWJhc2UgcmV2ZWFsIGluIGluc3Bl
Y3RvciIsIDEpOworICAgIGxvY2FsU3RvcmFnZVsiaW5zcGVjdG9yIl0gPSAiVGVzdCBvZiBsb2Nh
bCBzdG9yYWdlIHJldmVhbCBpbiBpbnNwZWN0b3IiOworICAgIHNlc3Npb25TdG9yYWdlWyJpbnNw
ZWN0b3IiXSA9ICJUZXN0IG9mIHNlc3Npb24gc3RvcmFnZSByZXZlYWwgaW4gaW5zcGVjdG9yIjsK
KyAgICBydW5UZXN0KCk7Cit9CisKK2Z1bmN0aW9uIHRlc3QoKQoreworICAgIEluc3BlY3RvclRl
c3QuYWRkU25pZmZlcihXZWJJbnNwZWN0b3IsICJpbnNwZWN0Iiwgc25pZmZJbnNwZWN0LCB0cnVl
KTsKKworICAgIGZ1bmN0aW9uIHNuaWZmSW5zcGVjdChvYmplY3RJZCwgaGludHMpCisgICAgewor
ICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiV2ViSW5zcGVjdG9yLmluc3BlY3QgY2Fs
bGVkIHdpdGg6ICIgKyBvYmplY3RJZC5kZXNjcmlwdGlvbik7CisgICAgICAgIEluc3BlY3RvclRl
c3QuYWRkUmVzdWx0KCJXZWJJbnNwZWN0b3IuaW5zcGVjdCdzIGhpbnRzIGFyZTogIiArIEpTT04u
c3RyaW5naWZ5KE9iamVjdC5rZXlzKGhpbnRzKSkpOworICAgIH0KKworICAgIGZ1bmN0aW9uIGV2
YWxBbmREdW1wKGV4cHJlc3Npb24sIG5leHQpCisgICAgeworICAgICAgICBJbnNwZWN0b3JUZXN0
LmFkZFJlc3VsdCgiXG4iKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluQ29uc29s
ZUFuZER1bXAoZXhwcmVzc2lvbiwgbmV4dCk7CisgICAgfQorCisgICAgSW5zcGVjdG9yVGVzdC5y
dW5UZXN0U3VpdGUoWworICAgICAgICBmdW5jdGlvbiB0ZXN0UmV2ZWFsRWxlbWVudChuZXh0KQor
ICAgICAgICB7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFNuaWZmZXIoV2ViSW5zcGVj
dG9yLCAiX3VwZGF0ZUZvY3VzZWROb2RlIiwgc3RlcDIpOworICAgICAgICAgICAgZXZhbEFuZER1
bXAoImluc3BlY3QoJCgnI3AxJykpIik7CisKKyAgICAgICAgICAgIGZ1bmN0aW9uIHN0ZXAyKCkK
KyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgi
U2VsZWN0ZWQgbm9kZSBpZDogJyIgKyBXZWJJbnNwZWN0b3IucGFuZWxzLmVsZW1lbnRzLnNlbGVj
dGVkRE9NTm9kZSgpLmdldEF0dHJpYnV0ZSgiaWQiKSArICInLiIpOworICAgICAgICAgICAgICAg
IG5leHQoKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfSwKKworICAgICAgICBmdW5jdGlvbiB0
ZXN0UmV2ZWFsRGF0YWJhc2UobmV4dCkKKyAgICAgICAgeworICAgICAgICAgICAgZXZhbEFuZER1
bXAoImluc3BlY3QoZGIpIiwgbmV4dCk7CisgICAgICAgIH0sCisKKyAgICAgICAgZnVuY3Rpb24g
dGVzdFJldmVhbERhdGFiYXNlMihuZXh0KQorICAgICAgICB7CisgICAgICAgICAgICBldmFsQW5k
RHVtcCgiaW5zcGVjdChkYjIpIiwgbmV4dCk7CisgICAgICAgIH0sCisKKyAgICAgICAgZnVuY3Rp
b24gdGVzdFJldmVhbExvY2FsU3RvcmFnZShuZXh0KQorICAgICAgICB7CisgICAgICAgICAgICBl
dmFsQW5kRHVtcCgiaW5zcGVjdChsb2NhbFN0b3JhZ2UpIiwgbmV4dCk7CisgICAgICAgIH0sCisK
KyAgICAgICAgZnVuY3Rpb24gdGVzdFJldmVhbFNlc3Npb25TdG9yYWdlKG5leHQpCisgICAgICAg
IHsKKyAgICAgICAgICAgIGV2YWxBbmREdW1wKCJpbnNwZWN0KHNlc3Npb25TdG9yYWdlKSIsIG5l
eHQpOworICAgICAgICB9CisgICAgXSk7Cit9CisKKzwvc2NyaXB0PgorPC9oZWFkPgorCis8Ym9k
eSBvbmxvYWQ9Im9ubG9hZCgpIj4KKzxwIGlkPSJwMSI+CitUZXN0cyB0aGF0IGluc3BlY3QoKSBj
b21tYW5kIGxpbmUgYXBpIHdvcmtzLgorPC9wPgorCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb21tYW5kLWxpbmUt
YXBpLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb21tYW5k
LWxpbmUtYXBpLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDFmNmNiNDllYWQ5ZmZmMzJlNDk1NzM4ODI5OGE5
MmE5OTRiN2U4MgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNv
bGV0ZS9jb25zb2xlL2NvbW1hbmQtbGluZS1hcGkuaHRtbApAQCAtMCwwICsxLDQ5IEBACis8aHRt
bD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3Bl
Y3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2lu
c3BlY3Rvci9jb25zb2xlLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2h0
dHAvdGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4K
KwordmFyIHRlc3QgPSBmdW5jdGlvbigpCit7CisgICAgdmFyIGV4cHJlc3Npb25zID0gWworICAg
ICAgICAiU3RyaW5nKCQwKSIsCisgICAgICAgICIkMyIsCisgICAgICAgICJTdHJpbmcoa2V5cyhb
Myw0XSkpIiwKKyAgICAgICAgIlN0cmluZyh2YWx1ZXMoWzMsNF0pKSIsCisgICAgICAgICJTdHJp
bmcoJCgnI2ZvbycpKSIsCisgICAgICAgICJTdHJpbmcoJCgnI2ZvbycsIGRvY3VtZW50LmJvZHkp
KSIsCisgICAgICAgICJTdHJpbmcoJCgnI2ZvbycsICdub24tbm9kZScpKSIsCisgICAgICAgICJT
dHJpbmcoJCgnI2ZvbycsICQoJyNiYXInKSkpIiwKKyAgICAgICAgIlN0cmluZygkJCgncCNmb28n
KSkiLAorICAgICAgICAiU3RyaW5nKCQkKCdwI2ZvbycsIGRvY3VtZW50LmJvZHkpKSIsCisgICAg
ICAgICJTdHJpbmcoJCgnZm9vJykpIgorICAgIF07CisKKyAgICBJbnNwZWN0b3JUZXN0LnNlbGVj
dE5vZGVXaXRoSWQoImZvbyIsIHN0ZXAxKTsKKworICAgIGZ1bmN0aW9uIHN0ZXAxKG5vZGUpCisg
ICAgeworICAgICAgICBpZiAoIWV4cHJlc3Npb25zLmxlbmd0aCkgeworICAgICAgICAgICAgSW5z
cGVjdG9yVGVzdC5kdW1wQ29uc29sZU1lc3NhZ2VzKCk7CisgICAgICAgICAgICBJbnNwZWN0b3JU
ZXN0LmNvbXBsZXRlVGVzdCgpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAg
ICAgIHZhciBleHByZXNzaW9uID0gZXhwcmVzc2lvbnNbMF07CisgICAgICAgIGV4cHJlc3Npb25z
LnNwbGljZSgwLCAxKTsKKyAgICAgICAgV2ViSW5zcGVjdG9yLmxvZygiXG4iKTsKKyAgICAgICAg
SW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluQ29uc29sZShleHByZXNzaW9uLCBzdGVwMSk7CisgICAg
fQorfQorCis8L3NjcmlwdD4KKzwvaGVhZD4KKworPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgor
PHAgaWQ9ImZvbyI+CitUZXN0cyB0aGF0IGNvbW1hbmQgbGluZSBhcGkgd29ya3MuCis8L3A+PHAg
aWQ9ImJhciI+PC9wPgorCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb25zb2xlLU9iamVjdC1vdmVyd3JpdHRlbi1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb25z
b2xlLU9iamVjdC1vdmVyd3JpdHRlbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2I4NmMzZDA5
ZjNjOGFkNzZjYTZlZTNhNTNiY2ZlOTRhNDZhYjJiZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xlL2NvbnNvbGUtT2JqZWN0LW92ZXJ3cml0
dGVuLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1Rlc3RzIHRoYXQgV2ViIEluc3BlY3Rv
cidzIGNvbnNvbGUgaXMgbm90IGJyb2tlbiBpZiBPYmplY3QgaXMgb3ZlcndyaXR0ZW4gaW4gdGhl
IGluc3BlY3RlZCBwYWdlLiBUZXN0IHBhc3NlcyBpZiB0aGUgZXhwcmVzc2lvbiBpcyBldmFsdWF0
ZWQgaW4gdGhlIGNvbnNvbGUgYW5kIG5vIGVycm9ycyBwcmludGVkLiBCdWcgMTAxMzIwLgorCit2
YXIgZm9vID0ge2JhcjoyMDEyfTsgZm9vCitPYmplY3Qge2JhcjogMjAxMn0KKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29sZS1PYmplY3Qt
b3ZlcndyaXR0ZW4uaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xl
L2NvbnNvbGUtT2JqZWN0LW92ZXJ3cml0dGVuLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjk2Y2VmNzFkMjE1
NDdiNDE2ZDU2OTU1NTJiOGY4MzJhNTAyYjhiNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xlL2NvbnNvbGUtT2JqZWN0LW92ZXJ3cml0dGVu
Lmh0bWwKQEAgLTAsMCArMSwyOSBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvY29uc29sZS10ZXN0LmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQ+CisKK09iamVjdCA9IGZ1bmN0aW9uKCkge307CisKK2Z1bmN0aW9uIHRl
c3QoKQoreworICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJbkNvbnNvbGUoInZhciBmb28gPSB7
YmFyOjIwMTJ9OyBmb28iLCBzdGVwMSk7CisKKyAgICBmdW5jdGlvbiBzdGVwMSgpCisgICAgewor
ICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBDb25zb2xlTWVzc2FnZXMoKTsKKyAgICAgICAgSW5z
cGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKKyAgICB9Cit9CisKKzwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgorPHA+CitUZXN0cyB0aGF0IFdlYiBJbnNwZWN0
b3IncyBjb25zb2xlIGlzIG5vdCBicm9rZW4gaWYgT2JqZWN0IGlzIG92ZXJ3cml0dGVuIGluIHRo
ZSBpbnNwZWN0ZWQgcGFnZS4KK1Rlc3QgcGFzc2VzIGlmIHRoZSBleHByZXNzaW9uIGlzIGV2YWx1
YXRlZCBpbiB0aGUgY29uc29sZSBhbmQgbm8gZXJyb3JzIHByaW50ZWQuCis8YSBocmVmPSJodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAxMzIwIj5CdWcgMTAxMzIwLjwv
YT4KKzwvcD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci1vYnNvbGV0ZS9jb25zb2xlL2NvbnNvbGUtYXBpLW9uLWNhbGwtZnJhbWUtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29sZS1hcGkt
b24tY2FsbC1mcmFtZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZWYxMTRjODE0MTJhODk3Mzg4
MTNhNWUzYzE2NGM0YTM3M2VmYjU2NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lu
c3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xlL2NvbnNvbGUtYXBpLW9uLWNhbGwtZnJhbWUtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTAgQEAKK1Rlc3QgdGhhdCBjb21tYW5kIGxpbmUgYXBpIGRvZXMg
bm90IG1hc2sgdmFsdWVzIG9mIHNjb3BlIHZhcmlhYmxlcyB3aGlsZSBldmFsdWF0aW5nIG9uIGEg
Y2FsbCBmcmFtZS4KKworRGVidWdnZXIgd2FzIGVuYWJsZWQuCitTZXQgdGltZXIgZm9yIHRlc3Qg
ZnVuY3Rpb24uCitTY3JpcHQgZXhlY3V0aW9uIHBhdXNlZC4KK0V2YWx1YXRlZCBpbiBjb25zb2xl
IGluIHRoZSB0b3AgZnJhbWUgY29udGV4dDogZGlyICsgY2xlYXIgKyBpbnNwZWN0ID0gImRpcmNs
ZWFyaW5zcGVjdCIKK0V2YWx1YXRlZCBpbiBjb25zb2xlIGluIHRoZSB0b3AgZnJhbWUgY29udGV4
dDogdHlwZW9mICQkID0gImZ1bmN0aW9uIgorU2NyaXB0IGV4ZWN1dGlvbiByZXN1bWVkLgorRGVi
dWdnZXIgd2FzIGRpc2FibGVkLgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3It
b2Jzb2xldGUvY29uc29sZS9jb25zb2xlLWFwaS1vbi1jYWxsLWZyYW1lLmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb25zb2xlLWFwaS1vbi1jYWxsLWZyYW1l
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uOTc5NGRjZjgyZDQ0MzU4YTRmNzY4YzQ4NTg0Yzc3NTRkYjJiODZl
ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9jb25z
b2xlL2NvbnNvbGUtYXBpLW9uLWNhbGwtZnJhbWUuaHRtbApAQCAtMCwwICsxLDUzIEBACis8aHRt
bD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3Bl
Y3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2lu
c3BlY3Rvci9kZWJ1Z2dlci10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisKK3dpbmRvdy5p
bnNwZWN0ID0gImluc3BlY3QiOwordmFyIGNsZWFyID0gImNsZWFyIjsKKworZnVuY3Rpb24gdGVz
dEZ1bmN0aW9uKCkKK3sKKyAgICB2YXIgZGlyID0gImRpciI7CisgICAgZGVidWdnZXI7Cit9CisK
K3ZhciB0ZXN0ID0gZnVuY3Rpb24oKQoreworICAgIEluc3BlY3RvclRlc3Quc3RhcnREZWJ1Z2dl
clRlc3Qoc3RlcDEpOworCisgICAgZnVuY3Rpb24gc3RlcDEoKQorICAgIHsKKyAgICAgICAgSW5z
cGVjdG9yVGVzdC5ydW5UZXN0RnVuY3Rpb25BbmRXYWl0VW50aWxQYXVzZWQoc3RlcDIpOworICAg
IH0KKworICAgIGZ1bmN0aW9uIHN0ZXAyKCkKKyAgICB7CisgICAgICAgIEluc3BlY3RvclRlc3Qu
ZXZhbHVhdGVJbkNvbnNvbGUoImRpciArIGNsZWFyICsgaW5zcGVjdCIsIHN0ZXAzKTsKKyAgICB9
CisKKyAgICBmdW5jdGlvbiBzdGVwMyhyZXN1bHQpCisgICAgeworICAgICAgICBJbnNwZWN0b3JU
ZXN0LmFkZFJlc3VsdCgiRXZhbHVhdGVkIGluIGNvbnNvbGUgaW4gdGhlIHRvcCBmcmFtZSBjb250
ZXh0OiBkaXIgKyBjbGVhciArIGluc3BlY3QgPSAiICsgcmVzdWx0KTsKKyAgICAgICAgSW5zcGVj
dG9yVGVzdC5ldmFsdWF0ZUluQ29uc29sZSgidHlwZW9mICQkIiwgc3RlcDQpOworICAgIH0KKwor
ICAgIGZ1bmN0aW9uIHN0ZXA0KHJlc3VsdCkKKyAgICB7CisgICAgICAgIEluc3BlY3RvclRlc3Qu
YWRkUmVzdWx0KCJFdmFsdWF0ZWQgaW4gY29uc29sZSBpbiB0aGUgdG9wIGZyYW1lIGNvbnRleHQ6
IHR5cGVvZiAkJCA9ICIgKyByZXN1bHQpOworICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRl
RGVidWdnZXJUZXN0KCk7CisgICAgfQorfQorCis8L3NjcmlwdD4KKzwvaGVhZD4KKworPGJvZHkg
b25sb2FkPSJydW5UZXN0KCkiPgorPHA+CitUZXN0IHRoYXQgY29tbWFuZCBsaW5lIGFwaSBkb2Vz
IG5vdCBtYXNrIHZhbHVlcyBvZiBzY29wZSB2YXJpYWJsZXMgd2hpbGUgZXZhbHVhdGluZworb24g
YSBjYWxsIGZyYW1lLgorPC9wPgorCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb25zb2xlLWFzc2VydC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb25zb2xlLWFz
c2VydC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmMyM2FiMDE5NWQ3NGVmODk2ODQ3YjE2NjNl
YTE5ODg5Y2EwMWY3OQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1v
YnNvbGV0ZS9jb25zb2xlL2NvbnNvbGUtYXNzZXJ0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDcg
QEAKK0NPTlNPTEUgTUVTU0FHRTogbGluZSA5OiAxCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTA6
IGEKK1Rlc3RzIHRoYXQgY29uc29sZS5hc3NlcnQoKSB3aWxsIGR1bXAgYSBtZXNzYWdlIGFuZCBz
dGFjayB0cmFjZSB3aXRoIHNvdXJjZSBVUkxzIGFuZCBsaW5lIG51bWJlcnMuCisKK0Fzc2VydGlv
biBmYWlsZWQ6IDEgY29uc29sZS1hc3NlcnQuaHRtbDo5YiBjb25zb2xlLWFzc2VydC5odG1sOjlh
IGNvbnNvbGUtYXNzZXJ0Lmh0bWw6MTUKK0Fzc2VydGlvbiBmYWlsZWQ6IGEgYiBjb25zb2xlLWFz
c2VydC5odG1sOjEwYiBjb25zb2xlLWFzc2VydC5odG1sOjEwYSBjb25zb2xlLWFzc2VydC5odG1s
OjE1CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xl
L2NvbnNvbGUtYXNzZXJ0Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29u
c29sZS9jb25zb2xlLWFzc2VydC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdjMWY2ZGE1YTU4MzQ1Y2U0MWI4
NWE0ZTczMjYwNzMzMjMwMjExMjAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb25zb2xlLWFzc2VydC5odG1sCkBAIC0wLDAgKzEsNDIg
QEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0
b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAv
dGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorCitm
dW5jdGlvbiBiKCkKK3sKKyAgICBjb25zb2xlLmFzc2VydChmYWxzZSwgMSk7CisgICAgY29uc29s
ZS5hc3NlcnQoZmFsc2UsICJhIiwgImIiKTsKK30KKworZnVuY3Rpb24gYSgpCit7CisgICAgYigp
OworfQorCitmdW5jdGlvbiB0ZXN0KCkKK3sKKyAgICB2YXIgY2FsbENvdW50ID0gMDsKKyAgICBm
dW5jdGlvbiBjYWxsYmFjaygpCisgICAgeworICAgICAgICBpZiAoKytjYWxsQ291bnQgPT09IDIp
IHsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwYW5kQ29uc29sZU1lc3NhZ2VzKCk7Cisg
ICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBDb25zb2xlTWVzc2FnZXMoKTsKKyAgICAgICAg
ICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7CisgICAgICAgIH0KKyAgICB9CisgICAg
SW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgic2V0VGltZW91dChhLCAwKSIpOworICAgIElu
c3BlY3RvclRlc3QuYWRkQ29uc29sZVNuaWZmZXIoY2FsbGJhY2ssIHRydWUpOworfQorCis8L3Nj
cmlwdD4KKzwvaGVhZD4KKworPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgorPHA+CitUZXN0cyB0
aGF0IGNvbnNvbGUuYXNzZXJ0KCkgd2lsbCBkdW1wIGEgbWVzc2FnZSBhbmQgc3RhY2sgdHJhY2Ug
d2l0aCBzb3VyY2UgVVJMcyBhbmQgbGluZSBudW1iZXJzLgorPC9wPgorCis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9j
b25zb2xlLWJpbmQtZmFrZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jz
b2xldGUvY29uc29sZS9jb25zb2xlLWJpbmQtZmFrZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NGIyOWNmYzQ5OWI3ZDZkMzIyMmQ5NGIyNjMwNWJkNzhjNDhiMjIzNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xlL2NvbnNvbGUtYmluZC1m
YWtlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1Rlc3RzIHRoYXQgb3ZlcnJpZGluZyBG
dW5jdGlvbi5wcm90b3R5cGUuYmluZCBkb2VzIG5vdCBicmVhayBpbnNwZWN0b3IuCisKK2Zvbwor
ImZvb1ZhbHVlIgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUv
Y29uc29sZS9jb25zb2xlLWJpbmQtZmFrZS5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9i
c29sZXRlL2NvbnNvbGUvY29uc29sZS1iaW5kLWZha2UuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jYjNhMDA0
NjYyNzdkOWVlMjU1NGQxYjhiMmRkNDQwYzhlNzAxNTVmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29sZS1iaW5kLWZha2UuaHRt
bApAQCAtMCwwICsxLDI5IEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2h0
dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9jb25zb2xlLXRlc3QuanMiPjwvc2NyaXB0
PgorPHNjcmlwdD4KK3ZhciBmb28gPSAnZm9vVmFsdWUnOworCitGdW5jdGlvbi5wcm90b3R5cGUu
YmluZCA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgIjpQIjsgfTsKKworZnVuY3Rpb24gdGVzdCgpCit7
CisgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluQ29uc29sZSgiZm9vIiwgc3RlcDEpOworCisg
ICAgZnVuY3Rpb24gc3RlcDEoKQorICAgIHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wQ29u
c29sZU1lc3NhZ2VzKCk7CisgICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7Cisg
ICAgfQorfQorPC9zY3JpcHQ+Cis8L2hlYWQ+CisKKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4K
KzxwPgorVGVzdHMgdGhhdCBvdmVycmlkaW5nIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kIGRvZXMg
bm90IGJyZWFrIGluc3BlY3Rvci4KKzwvcD4KKworPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29sZS1jbGVhci1m
dW5jdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29u
c29sZS9jb25zb2xlLWNsZWFyLWZ1bmN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zZjUz
MzE2ZTJmMjgzNmZiM2QwN2I1NTQwNjA1NTY3NDEzYzdmMTVhCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29sZS1jbGVhci1mdW5j
dGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorQ09OU09MRSBNRVNTQUdFOiBsaW5l
IDEwOiBvbmUKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxMTogdHdvCitDT05TT0xFIE1FU1NBR0U6
IGxpbmUgMTI6IHRocmVlCitUZXN0cyB0aGF0IGNvbnNvbGUgaXMgY2xlYXJlZCB2aWEgY29uc29s
ZS5jbGVhcigpIG1ldGhvZAorCitCdWcgMTAxMDIxCis9PT0gQmVmb3JlIGNsZWFyID09PQorb25l
IGNvbnNvbGUtY2xlYXItZnVuY3Rpb24uaHRtbDoxMAordHdvIGNvbnNvbGUtY2xlYXItZnVuY3Rp
b24uaHRtbDoxMQordGhyZWUgY29uc29sZS1jbGVhci1mdW5jdGlvbi5odG1sOjEyCis9PT0gQWZ0
ZXIgY2xlYXIgPT09CitDb25zb2xlIHdhcyBjbGVhcmVkIGNvbnNvbGUtY2xlYXItZnVuY3Rpb24u
aHRtbDoxOQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29u
c29sZS9jb25zb2xlLWNsZWFyLWZ1bmN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3It
b2Jzb2xldGUvY29uc29sZS9jb25zb2xlLWNsZWFyLWZ1bmN0aW9uLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MDBiZjQyMzI2YWVhZjdhYzg5YjBmYmFhZDFhMzIyZGI0NDI5ZjEwNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xlL2NvbnNvbGUtY2xlYXIt
ZnVuY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ3IEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9jb25zb2xlLXRlc3Qu
anMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKworZnVuY3Rpb24gbG9nKCkKK3sKKyAgICAvLyBGaWxs
IGNvbnNvbGUuCisgICAgY29uc29sZS5sb2coIm9uZSIpOworICAgIGNvbnNvbGUubG9nKCJ0d28i
KTsKKyAgICBjb25zb2xlLmxvZygidGhyZWUiKTsKK30KKworbG9nKCk7CisKK2Z1bmN0aW9uIGZv
bygpCit7CisgICAgY29uc29sZS5jbGVhcigpOworfQorCitmdW5jdGlvbiB0ZXN0KCkKK3sKKyAg
ICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiPT09IEJlZm9yZSBjbGVhciA9PT0iKTsKKyAgICBJ
bnNwZWN0b3JUZXN0LmR1bXBDb25zb2xlTWVzc2FnZXMoKTsKKworICAgIFJ1bnRpbWVBZ2VudC5l
dmFsdWF0ZSgiZm9vKCk7Iiwgc3RlcDEpOworCisgICAgZnVuY3Rpb24gc3RlcDEoKQorICAgIHsK
KyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIj09PSBBZnRlciBjbGVhciA9PT0iKTsK
KyAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wQ29uc29sZU1lc3NhZ2VzKCk7CisgICAgICAgIElu
c3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7CisgICAgfTsKK30KKworPC9zY3JpcHQ+Cis8L2hl
YWQ+CisKKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KKzxwPgorVGVzdHMgdGhhdCBjb25zb2xl
IGlzIGNsZWFyZWQgdmlhIGNvbnNvbGUuY2xlYXIoKSBtZXRob2QKKzwvcD4KKzxhIGhyZWY9Imh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDEwMjEiPkJ1ZyAxMDEwMjEg
PC9hPgorCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0
b3Itb2Jzb2xldGUvY29uc29sZS9jb25zb2xlLWNvbW1hbmQtY2xlYXItZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29sZS1jb21tYW5kLWNs
ZWFyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kYzVlZGUwZDRhZWQyY2Q0ZjBkOTlkZTk4NTM0
OGZkOGMwODhiZjUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9i
c29sZXRlL2NvbnNvbGUvY29uc29sZS1jb21tYW5kLWNsZWFyLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEyIEBACitDT05TT0xFIE1FU1NBR0U6IGxpbmUgOTogb25lCitDT05TT0xFIE1FU1NBR0U6
IGxpbmUgMTA6IHR3bworQ09OU09MRSBNRVNTQUdFOiBsaW5lIDExOiB0aHJlZQorVGVzdHMgdGhh
dCBjb25zb2xlIGlzIGNsZWFyZWQgdXBvbiBjbGVhcigpIGV2YWwgaW4gY29uc29sZS4KKworPT09
IEJlZm9yZSBjbGVhciA9PT0KK29uZSBjb25zb2xlLWNvbW1hbmQtY2xlYXIuaHRtbDo5Cit0d28g
Y29uc29sZS1jb21tYW5kLWNsZWFyLmh0bWw6MTAKK3RocmVlIGNvbnNvbGUtY29tbWFuZC1jbGVh
ci5odG1sOjExCis9PT0gQWZ0ZXIgY2xlYXIgPT09Cit1bmRlZmluZWQKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29sZS1jb21tYW5kLWNs
ZWFyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb25zb2xl
LWNvbW1hbmQtY2xlYXIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lZDc5ZGFhMmVlYzlmY2U0ZTQ2ZmNmMDgw
MDNiZmM2YjNhNDkyOGExCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
LW9ic29sZXRlL2NvbnNvbGUvY29uc29sZS1jb21tYW5kLWNsZWFyLmh0bWwKQEAgLTAsMCArMSw0
MCBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3Bl
Y3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vaHR0
cC90ZXN0cy9pbnNwZWN0b3IvY29uc29sZS10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisK
K2Z1bmN0aW9uIGxvZygpIHsKKyAgICAvLyBGaWxsIGNvbnNvbGUuCisgICAgY29uc29sZS5sb2co
Im9uZSIpOworICAgIGNvbnNvbGUubG9nKCJ0d28iKTsKKyAgICBjb25zb2xlLmxvZygidGhyZWUi
KTsKK30KKworbG9nKCk7CisKK2Z1bmN0aW9uIHRlc3QoKQoreworCisgICAgSW5zcGVjdG9yVGVz
dC5hZGRSZXN1bHQoIj09PSBCZWZvcmUgY2xlYXIgPT09Iik7IAorICAgIEluc3BlY3RvclRlc3Qu
ZHVtcENvbnNvbGVNZXNzYWdlcygpOworCisgICAgZnVuY3Rpb24gY2FsbGJhY2soKQorICAgIHsK
KyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIj09PSBBZnRlciBjbGVhciA9PT0iKTsg
CisgICAgICAgIEluc3BlY3RvclRlc3QuZHVtcENvbnNvbGVNZXNzYWdlcygpOworICAgICAgICBJ
bnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOworICAgIH0KKyAgICBJbnNwZWN0b3JUZXN0LmV2
YWx1YXRlSW5Db25zb2xlKCJjbGVhcigpIiwgY2FsbGJhY2spOworfQorCis8L3NjcmlwdD4KKzwv
aGVhZD4KKworPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgorPHA+CisgICAgVGVzdHMgdGhhdCBj
b25zb2xlIGlzIGNsZWFyZWQgdXBvbiBjbGVhcigpIGV2YWwgaW4gY29uc29sZS4KKzwvcD4KKwor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29s
ZXRlL2NvbnNvbGUvY29uc29sZS1jc3Mtd2FybmluZ3MtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29sZS1jc3Mtd2FybmluZ3MtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmU1YjI3OGJmZGQ3YTQxZGQ5ODY4ZDI5OGZiYTJkNjg2Y2ZiYzI1
NDQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29u
c29sZS9jb25zb2xlLWNzcy13YXJuaW5ncy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNCBAQAor
VGVzdHMgQ1NTIHdhcm5pbmdzIGFyZSBwcm9wZXJseSBleHBvc2VkLgorCitJbnZhbGlkIENTUyBw
cm9wZXJ0eSBkZWNsYXJhdGlvbiBhdDogIyBjb25zb2xlLWNzcy13YXJuaW5ncy5odG1sOjEwCitJ
bnZhbGlkIENTUyBwcm9wZXJ0eSBkZWNsYXJhdGlvbiBhdDogeyBjb25zb2xlLWNzcy13YXJuaW5n
cy5odG1sOjE1CitJbnZhbGlkIENTUyBwcm9wZXJ0eSBkZWNsYXJhdGlvbiBhdDogIyBjb25zb2xl
LWNzcy13YXJuaW5ncy5odG1sOjE4CitJbnZhbGlkIENTUyBwcm9wZXJ0eSBkZWNsYXJhdGlvbiBh
dDogIyBjb25zb2xlLWNzcy13YXJuaW5ncy5odG1sOjIyCitJbnZhbGlkIENTUyBwcm9wZXJ0eSBk
ZWNsYXJhdGlvbiBhdDogIyBjb25zb2xlLWNzcy13YXJuaW5ncy5odG1sOjMyCitVbmV4cGVjdGVk
IENTUyB0b2tlbjogQCBjb25zb2xlLWNzcy13YXJuaW5ncy5odG1sOjMzCitVbmV4cGVjdGVkIENT
UyB0b2tlbjogeyBjb25zb2xlLWNzcy13YXJuaW5ncy5odG1sOjM3CitVbmV4cGVjdGVkIENTUyB0
b2tlbjogeyBjb25zb2xlLWNzcy13YXJuaW5ncy5odG1sOjM4CitVbmV4cGVjdGVkIENTUyB0b2tl
bjogeyBjb25zb2xlLWNzcy13YXJuaW5ncy5odG1sOjM5CitVbmV4cGVjdGVkIENTUyB0b2tlbjog
eyBjb25zb2xlLWNzcy13YXJuaW5ncy5odG1sOjQwCitVbmV4cGVjdGVkIENTUyB0b2tlbjogQCBj
b25zb2xlLWNzcy13YXJuaW5ncy5odG1sOjQ0CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lu
c3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xlL2NvbnNvbGUtY3NzLXdhcm5pbmdzLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb25zb2xlLWNzcy13YXJuaW5ncy5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmZhMGI3MzQ1YjdiYTRiMzgxYzI5ZjFkYjJiMmJhYjY3MzE5NjI0YTgK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29uc29s
ZS9jb25zb2xlLWNzcy13YXJuaW5ncy5odG1sCkBAIC0wLDAgKzEsNjkgQEAKKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRl
c3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9y
L2NvbnNvbGUtdGVzdC5qcyI+PC9zY3JpcHQ+CisKKzxzdHlsZT4KK3gge30KKworeCB7CisgICAg
IworfQorCit4IHsKKyAgICBjb2xvcjogcmVkOworICAgIHt9fQorCit4IHsKKyAgICAjIyMge319
CisKK3ggeworICAgY29sb3I6IHJlZDsKKyAgICMjIyMjIyMjIworfQorCit4IHsKKyAgIGNvbG9y
OiByZWQge307CisgICBjb2xvcjogIzsKK30KKworeCB7CisgICBjb2xvcjogcmVkOworICAgIyMj
OworICAgY29sb3I6IEA7Cit9CisKK3ggeworICAgIGNvbG9ye307CisgICAgY29sb3J7I307Cisg
ICAgY29sb3J7IyMjfTsKKyAgICBjb2xvcnt7e319fTsKK30KKworeCB7CisgICAgY29sb3I6IEA7
ICAvKiBUZXN0IHNpbXBsZSBlcnJvciB0byBlbnN1cmUgcGFyc2luZyByZWNvdmVyZWQuICovCit9
CisKKzwvc3R5bGU+CisKKzxzY3JpcHQ+CisKK2Z1bmN0aW9uIHRlc3QoKQoreworICAgIC8vIEVu
c3VyZSBzY3JpcHQgZ2VuZXJhdGVkIGVycm9ycyBkb24ndCBnbyB0byB0aGUgY29uc29sZS4KKyAg
ICB2YXIgc3R5bGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzdHlsZScpOworICAgIHN0eWxl
LnRleHRDb250ZW50ID0gInh7eToqfSI7CisgICAgZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChz
dHlsZSk7CisKKyAgICBJbnNwZWN0b3JUZXN0LmV4cGFuZENvbnNvbGVNZXNzYWdlcygpOworICAg
IEluc3BlY3RvclRlc3QuZHVtcENvbnNvbGVNZXNzYWdlcygpOworICAgIEluc3BlY3RvclRlc3Qu
Y29tcGxldGVUZXN0KCk7Cit9CisKKzwvc2NyaXB0PgorPC9oZWFkPgorCis8Ym9keSBvbmxvYWQ9
InJ1blRlc3QoKSI+Cis8cCBpZD0icCI+VGVzdHMgQ1NTIHdhcm5pbmdzIGFyZSBwcm9wZXJseSBl
eHBvc2VkLjwvcD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lu
c3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xlL2NvbnNvbGUtZGlyLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xlL2NvbnNvbGUtZGlyLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44YTVlYmQyNTc5MTg3OWYyMDRiYzFkOWI3ZmQ1NGY3Mjk2NzczNzBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUv
Y29uc29sZS1kaXItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzAgQEAKK0NPTlNPTEUgTUVTU0FH
RTogbGluZSA5OiB0ZXN0MSx0ZXN0MgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDEwOiBbb2JqZWN0
IE5vZGVMaXN0XQorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDExOiBbb2JqZWN0IFhQYXRoUmVzdWx0
XQorVGVzdHMgdGhhdCBjb25zb2xlIGxvZ2dpbmcgZHVtcHMgcHJvcGVyIG1lc3NhZ2VzLgorCisK
KworQXJyYXlbMl0KKyAgICAwOiAidGVzdDEiCisgICAgMTogInRlc3QyIgorICAgIGxlbmd0aDog
MgorICAgIF9fcHJvdG9fXzogQXJyYXlbMF0gY29uc29sZS1kaXIuaHRtbDo5CisKK05vZGVMaXN0
WzFdCisgICAgMDogaHRtbAorICAgIGNvbnN0cnVjdG9yOiBOb2RlTGlzdENvbnN0cnVjdG9yCisg
ICAgbGVuZ3RoOiAxCisgICAgX19wcm90b19fOiBOb2RlTGlzdFByb3RvdHlwZSBjb25zb2xlLWRp
ci5odG1sOjEwCisKK1hQYXRoUmVzdWx0CisgICAgYm9vbGVhblZhbHVlOiBbRXhjZXB0aW9uOiBY
UGF0aEV4Y2VwdGlvbl0KKyAgICBjb25zdHJ1Y3RvcjogWFBhdGhSZXN1bHRDb25zdHJ1Y3Rvcgor
ICAgIGludmFsaWRJdGVyYXRvclN0YXRlOiBmYWxzZQorICAgIG51bWJlclZhbHVlOiBbRXhjZXB0
aW9uOiBYUGF0aEV4Y2VwdGlvbl0KKyAgICByZXN1bHRUeXBlOiA0CisgICAgc2luZ2xlTm9kZVZh
bHVlOiBbRXhjZXB0aW9uOiBYUGF0aEV4Y2VwdGlvbl0KKyAgICBzbmFwc2hvdExlbmd0aDogW0V4
Y2VwdGlvbjogWFBhdGhFeGNlcHRpb25dCisgICAgc3RyaW5nVmFsdWU6IFtFeGNlcHRpb246IFhQ
YXRoRXhjZXB0aW9uXQorICAgIF9fcHJvdG9fXzogWFBhdGhSZXN1bHRQcm90b3R5cGUgY29uc29s
ZS1kaXIuaHRtbDoxMQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xl
dGUvY29uc29sZS9jb25zb2xlLWRpci1nbG9iYWwtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29sZS1kaXItZ2xvYmFsLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi41YWNlMmJkZTA2MjZhMjVjYjE0MDY4OTZkZWUwZWFiNDNlNGZiOGViCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUv
Y29uc29sZS1kaXItZ2xvYmFsLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE0IEBACitDT05TT0xF
IE1FU1NBR0U6IGxpbmUgOTogW29iamVjdCBXaW5kb3ddCitUZXN0cyB0aGF0IGNvbnNvbGUgZHVt
cHMgZ2xvYmFsIG9iamVjdCB3aXRoIHByb3BlcnRpZXMuCisKK3sKKyAgICBBcnJheSA6IDEKKyAg
ICBjb25zb2xlIDogMQorICAgIGNvbnN0cnVjdG9yIDogMQorICAgIGRvY3VtZW50IDogMQorICAg
IGRvaXQgOiAxCisgICAgZXZhbCA6IDEKKyAgICBmcmFtZXMgOiAxCisgICAgd2luZG93IDogMQor
fQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9j
b25zb2xlLWRpci1nbG9iYWwuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9j
b25zb2xlL2NvbnNvbGUtZGlyLWdsb2JhbC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdmMDY4NTEzNTM0MDBk
MTc3M2RiZDdiYWU4ZTBkMTZlOTJkODE2ZjMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb25zb2xlLWRpci1nbG9iYWwuaHRtbApAQCAt
MCwwICsxLDUzIEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVz
dHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9jb25zb2xlLXRlc3QuanMiPjwvc2NyaXB0PgorPHNj
cmlwdD4KKworZnVuY3Rpb24gZG9pdCgpCit7CisgICAgY29uc29sZS5kaXIod2luZG93KTsKKyAg
ICBydW5UZXN0KCk7Cit9CisKK2Z1bmN0aW9uIHRlc3QoKQoreworICAgIFJ1bnRpbWVBZ2VudC5l
dmFsdWF0ZSgid2luZG93IiwgImNvbnNvbGUiLCBmYWxzZSwgZXZhbENhbGxiYWNrKTsKKworICAg
IGZ1bmN0aW9uIGV2YWxDYWxsYmFjayhlcnJvciwgcmVzdWx0KQorICAgIHsKKyAgICAgICAgaWYg
KGVycm9yKSB7CisgICAgICAgICAgICB0ZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCJFeGNlcHRp
b246IiArIGVycm9yKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAgICAgICBp
ZiAocmVzdWx0LnR5cGUgPT09ICJlcnJvciIpCisgICAgICAgICAgICB0ZXN0Q29udHJvbGxlci5u
b3RpZnlEb25lKCJFeGNlcHRpb246IiArIHJlc3VsdCk7CisgICAgICAgIHZhciBvYmplY3RQcm94
eSA9IFdlYkluc3BlY3Rvci5SZW1vdGVPYmplY3QuZnJvbVBheWxvYWQocmVzdWx0KTsKKyAgICAg
ICAgb2JqZWN0UHJveHkuZ2V0T3duUHJvcGVydGllcyhnZXRQcm9wZXJ0aWVzQ2FsbGJhY2spOwor
ICAgIH0KKworICAgIGZ1bmN0aW9uIGdldFByb3BlcnRpZXNDYWxsYmFjayhwcm9wZXJ0aWVzKQor
ICAgIHsKKyAgICAgICAgcHJvcGVydGllcy5zb3J0KFdlYkluc3BlY3Rvci5PYmplY3RQcm9wZXJ0
aWVzU2VjdGlvbi5Db21wYXJlUHJvcGVydGllcyk7CisgICAgICAgIHZhciBnb2xkZW4gPSB7ICJ3
aW5kb3ciOiAxLCAiZG9jdW1lbnQiOiAxLCAiZXZhbCI6IDEsICJjb25zb2xlIjogMSwgImZyYW1l
cyI6IDEsICJBcnJheSI6IDEsICJkb2l0IjogMSB9OyAKKyAgICAgICAgdmFyIHJlc3VsdCA9IHt9
OworICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHByb3BlcnRpZXMubGVuZ3RoOyArK2kpIHsK
KyAgICAgICAgICAgIHZhciBuYW1lID0gcHJvcGVydGllc1tpXS5uYW1lOworICAgICAgICAgICAg
aWYgKGdvbGRlbltuYW1lXSkKKyAgICAgICAgICAgICAgICByZXN1bHRbbmFtZV0gPSAxOworICAg
ICAgICB9CisgICAgICAgIEluc3BlY3RvclRlc3QuYWRkT2JqZWN0KHJlc3VsdCk7CisgICAgICAg
IEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7CisgICAgfQorfQorCis8L3NjcmlwdD4KKzwv
aGVhZD4KKworPGJvZHkgb25sb2FkPSJkb2l0KCkiPgorPHA+CitUZXN0cyB0aGF0IGNvbnNvbGUg
ZHVtcHMgZ2xvYmFsIG9iamVjdCB3aXRoIHByb3BlcnRpZXMuCis8L3A+CisKKzwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xl
L2NvbnNvbGUtZGlyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29uc29s
ZS9jb25zb2xlLWRpci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjVhYzFhZmUwMWVhMTRjYTY0NzBiNzkxZGNk
Mzk3ZDA0YjkwMDIyM2EKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3It
b2Jzb2xldGUvY29uc29sZS9jb25zb2xlLWRpci5odG1sCkBAIC0wLDAgKzEsNDkgQEAKKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVj
dG9yLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5z
cGVjdG9yL2NvbnNvbGUtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorCitmdW5jdGlvbiBv
bmxvYWQoKQoreworICAgIGNvbnNvbGUuZGlyKFsidGVzdDEiLCAidGVzdDIiXSk7CisgICAgY29u
c29sZS5kaXIoZG9jdW1lbnQuY2hpbGROb2Rlcyk7CisgICAgY29uc29sZS5kaXIoZG9jdW1lbnQu
ZXZhbHVhdGUoIi8vaGVhZCIsIGRvY3VtZW50LCBudWxsLCBYUGF0aFJlc3VsdC5BTllfVFlQRSwg
bnVsbCkpOworICAgIHJ1blRlc3QoKTsKK30KKworZnVuY3Rpb24gdGVzdCgpCit7CisgICAgdmFy
IG1lc3NhZ2VzID0gV2ViSW5zcGVjdG9yLmNvbnNvbGUubWVzc2FnZXM7CisgICAgZm9yICh2YXIg
aSA9IDA7IGkgPCBtZXNzYWdlcy5sZW5ndGg7ICsraSkgeworICAgICAgICB2YXIgZWxlbWVudCA9
IG1lc3NhZ2VzW2ldLnRvTWVzc2FnZUVsZW1lbnQoKTsKKyAgICAgICAgdmFyIG5vZGUgPSBlbGVt
ZW50LnRyYXZlcnNlTmV4dE5vZGUoZWxlbWVudCk7CisgICAgICAgIHdoaWxlIChub2RlKSB7Cisg
ICAgICAgICAgICBpZiAobm9kZS5fc2VjdGlvbikgeworICAgICAgICAgICAgICAgIG1lc3NhZ2Vz
W2ldLnNlY3Rpb24gPSBub2RlLl9zZWN0aW9uOworICAgICAgICAgICAgICAgIG5vZGUuX3NlY3Rp
b24uZXhwYW5kZWQgPSB0cnVlOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAg
fQorICAgICAgICAgICAgbm9kZSA9IG5vZGUudHJhdmVyc2VOZXh0Tm9kZShlbGVtZW50KTsKKyAg
ICAgICAgfQorICAgIH0KKworICAgIEluc3BlY3RvclRlc3QucnVuQWZ0ZXJQZW5kaW5nRGlzcGF0
Y2hlcyhkdW1wQ29uc29sZU1lc3NhZ2VzKTsKKworICAgIGZ1bmN0aW9uIGR1bXBDb25zb2xlTWVz
c2FnZXMoKQorICAgIHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoSW5zcGVjdG9y
VGVzdC50ZXh0Q29udGVudFdpdGhMaW5lQnJlYWtzKFdlYkluc3BlY3Rvci5jb25zb2xlVmlldy5t
ZXNzYWdlc0VsZW1lbnQpKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsK
KyAgICB9Cit9CisKKzwvc2NyaXB0PgorPC9oZWFkPgorCis8Ym9keSBvbmxvYWQ9Im9ubG9hZCgp
Ij4KKzxwPgorVGVzdHMgdGhhdCBjb25zb2xlIGxvZ2dpbmcgZHVtcHMgcHJvcGVyIG1lc3NhZ2Vz
LgorPC9wPgorCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb25zb2xlLWV2YWwtYmxvY2tlZC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb25zb2xlLWV2YWwtYmxv
Y2tlZC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGZiOTI3NmYwM2MxZGUwZTJjNmEwY2FiNjEy
ZTk5MmJhMDYwYWY1NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1v
YnNvbGV0ZS9jb25zb2xlL2NvbnNvbGUtZXZhbC1ibG9ja2VkLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDUgQEAKK1Rlc3RzIHRoYXQgZXZhbHVhdGlvbiBpbiBjb25zb2xlIHN0aWxsIHdvcmtzIGV2
ZW4gaWYgc2NyaXB0IGV2YWxzIGFyZSBwcm9oaWJpdGVkIGJ5IENvbnRlbnQtU2VjdXJpdHktUG9s
aWN5LiBCdWcgNjA4MDAuCisKKzErMgorMworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb25zb2xlLWV2YWwtYmxvY2tlZC5odG1sIGIvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29sZS1ldmFsLWJsb2NrZWQuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5kZjk4OGJmNDVkNzJlZjBiNTU1OGY5NTQ4ODk5YWYzZmM1OTUxMDk2Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUv
Y29uc29sZS1ldmFsLWJsb2NrZWQuaHRtbApAQCAtMCwwICsxLDI0IEBACis8aHRtbD4KKzxoZWFk
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9j
b25zb2xlLXRlc3QuanMiPjwvc2NyaXB0PgorPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1TZWN1
cml0eS1Qb2xpY3kiIGNvbnRlbnQ9InNjcmlwdC1zcmMgJ3Vuc2FmZS1pbmxpbmUnIj4KKzxzY3Jp
cHQ+CitmdW5jdGlvbiB0ZXN0KCkKK3sKKyAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5Db25z
b2xlKCIxKzIiLCBzdGVwMSk7CisgICAgZnVuY3Rpb24gc3RlcDEoKQorICAgIHsKKyAgICAgICAg
SW5zcGVjdG9yVGVzdC5kdW1wQ29uc29sZU1lc3NhZ2VzKCk7CisgICAgICAgIEluc3BlY3RvclRl
c3QuY29tcGxldGVUZXN0KCk7CisgICAgfQorfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBv
bmxvYWQ9InJ1blRlc3QoKSI+Cis8cD4KK1Rlc3RzIHRoYXQgZXZhbHVhdGlvbiBpbiBjb25zb2xl
IHN0aWxsIHdvcmtzIGV2ZW4gaWYgc2NyaXB0IGV2YWxzIGFyZSBwcm9oaWJpdGVkIGJ5IENvbnRl
bnQtU2VjdXJpdHktUG9saWN5LgorPGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTYwODAwIj5CdWcgNjA4MDAuPC9hPgorPC9wPgorPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29u
c29sZS1ldmFsLWNvbW1lbnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9i
c29sZXRlL2NvbnNvbGUvY29uc29sZS1ldmFsLWNvbW1lbnQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjg2YTBjOWQyZTExM2NhZDBiZmE2N2MzYjI0MTkxMzM4NmYyMmEwYjcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb25zb2xlLWV2
YWwtY29tbWVudC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUZXN0cyB0aGF0IGV2YWx1
YXRpbmcgYW4gZXhwcmVzc2lvbiBjb250YWluaW5nIGEgc2luZ2xlIGxpbmUgY29tbWVudCBkb2Vz
IG5vdCBjYXVzZSBhbiBlcnJvbmVvdXMgZXJyb3IuIEJ1ZyAxMTYyOTIuCisKKy8vIHRlc3QKK3Vu
ZGVmaW5lZAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29u
c29sZS9jb25zb2xlLWV2YWwtY29tbWVudC5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9i
c29sZXRlL2NvbnNvbGUvY29uc29sZS1ldmFsLWNvbW1lbnQuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lM2E1
YTVhMTUwODljNTBhYWM0OTkwODQ2YzZmYzViNDUzNzc0ZDdhCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29sZS1ldmFsLWNvbW1l
bnQuaHRtbApAQCAtMCwwICsxLDI0IEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9jb25zb2xlLXRlc3QuanMiPjwv
c2NyaXB0PgorPHNjcmlwdD4KK2Z1bmN0aW9uIHRlc3QoKQoreworICAgIEluc3BlY3RvclRlc3Qu
ZXZhbHVhdGVJbkNvbnNvbGUoIi8vIHRlc3QiLCBzdGVwMSk7CisKKyAgICBmdW5jdGlvbiBzdGVw
MSgpCisgICAgeworICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBDb25zb2xlTWVzc2FnZXMoKTsK
KyAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKKyAgICB9Cit9Cis8L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KKzxwPgorVGVzdHMgdGhhdCBl
dmFsdWF0aW5nIGFuIGV4cHJlc3Npb24gY29udGFpbmluZyBhIHNpbmdsZSBsaW5lIGNvbW1lbnQg
ZG9lcyBub3QgY2F1c2UgYW4gZXJyb25lb3VzIGVycm9yLgorPGEgaHJlZj0iaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExNjI5MiI+QnVnIDExNjI5Mi48L2E+Cis8L3A+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jz
b2xldGUvY29uc29sZS9jb25zb2xlLWV2YWwtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29sZS1ldmFsLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43M2E1MDQyMDBmNzgwNTdhZTNlMTcwOTkxNGRhNjQ1ZGI2ODY2MzQxCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29sZS1l
dmFsLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1Rlc3RzIHRoYXQgc2ltcGxlIGV2YWx1
YXRpb25zIG1heSBiZSBwZXJmb3JtZWQgaW4gdGhlIGNvbnNvbGUuCisKKzErMgorMworCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb25zb2xlLWV2
YWwtZmFrZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29u
c29sZS9jb25zb2xlLWV2YWwtZmFrZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODA3MzdkMTc0
YTRkMTdkNWQwMDUxZDY1MDFlMTU0MDZiYjlhOTUyNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xlL2NvbnNvbGUtZXZhbC1mYWtlLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1Rlc3RzIHRoYXQgb3ZlcnJpZGluZyB3aW5kb3cuZXZh
bCBkb2VzIG5vdCBicmVhayBpbnNwZWN0b3IuCisKK2ZvbworImZvb1ZhbHVlIgorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb25zb2xlLWV2YWwt
ZmFrZS5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29s
ZS1ldmFsLWZha2UuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lODM4YTkzMTEwYWQxZmMyMTRkMWVhOTk0Zjg1
ZjBhZmViOWFhYzQ1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9i
c29sZXRlL2NvbnNvbGUvY29uc29sZS1ldmFsLWZha2UuaHRtbApAQCAtMCwwICsxLDI5IEBACis8
aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2lu
c3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3Rz
L2luc3BlY3Rvci9jb25zb2xlLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK3ZhciBmb28g
PSAnZm9vVmFsdWUnOworCit3aW5kb3cuZXZhbCA9ICJOb24tZnVuY3Rpb24iOworCitmdW5jdGlv
biB0ZXN0KCkKK3sKKyAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5Db25zb2xlKCJmb28iLCBz
dGVwMSk7CisKKyAgICBmdW5jdGlvbiBzdGVwMSgpCisgICAgeworICAgICAgICBJbnNwZWN0b3JU
ZXN0LmR1bXBDb25zb2xlTWVzc2FnZXMoKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0
ZVRlc3QoKTsKKyAgICB9Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKworPGJvZHkgb25sb2FkPSJy
dW5UZXN0KCkiPgorPHA+CitUZXN0cyB0aGF0IG92ZXJyaWRpbmcgd2luZG93LmV2YWwgZG9lcyBu
b3QgYnJlYWsgaW5zcGVjdG9yLgorPC9wPgorCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb25zb2xlLWV2YWwtZ2xv
YmFsLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xl
L2NvbnNvbGUtZXZhbC1nbG9iYWwtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk2ODM5Y2ZjZTg4
ODEzN2YxMDg4MjQ3YWI2NjFkMTU5YjkzNWU4ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb25zb2xlLWV2YWwtZ2xvYmFsLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDcgQEAKK1Rlc3RzIHRoYXQgc2ltcGxlIGV2YWx1YXRpb25zIG1h
eSBiZSBwZXJmb3JtZWQgaW4gdGhlIGNvbnNvbGUgb24gZ2xvYmFsIG9iamVjdC4KKworZm9vCisi
Zm9vVmFsdWUiCitiYXIKK09iamVjdCB7YTogImIifQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb25zb2xlLWV2YWwtZ2xvYmFsLmh0bWwgYi9M
YXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb25zb2xlLWV2YWwtZ2xvYmFs
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uOTRmZTJkZWVkOTI4YzY0YTRmYjgwMmQ3NTdmOWNhYjc3MzA4NzQ4
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9jb25z
b2xlL2NvbnNvbGUtZXZhbC1nbG9iYWwuaHRtbApAQCAtMCwwICsxLDM3IEBACis8aHRtbD4KKzxo
ZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10
ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rv
ci9jb25zb2xlLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKwordmFyIGZvbyA9ICdmb29W
YWx1ZSc7Cit2YXIgYmFyID0geworICAgIGE6ICdiJworfTsKKworZnVuY3Rpb24gdGVzdCgpCit7
CisgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluQ29uc29sZSgiZm9vIiwgc3RlcDEpOworCisg
ICAgZnVuY3Rpb24gc3RlcDEoKQorICAgIHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0
ZUluQ29uc29sZSgiYmFyIiwgc3RlcDIpOworICAgIH0KKworICAgIGZ1bmN0aW9uIHN0ZXAyKCkK
KyAgICB7CisgICAgICAgIEluc3BlY3RvclRlc3QuZHVtcENvbnNvbGVNZXNzYWdlcygpOworICAg
ICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOworICAgIH0KK30KKworPC9zY3JpcHQ+
Cis8L2hlYWQ+CisKKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KKzxwPgorVGVzdHMgdGhhdCBz
aW1wbGUgZXZhbHVhdGlvbnMgbWF5IGJlIHBlcmZvcm1lZCBpbiB0aGUgY29uc29sZSBvbiBnbG9i
YWwgb2JqZWN0LgorPC9wPgorCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb25zb2xlLWV2YWwtc2NvcGVkLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xlL2NvbnNvbGUt
ZXZhbC1zY29wZWQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk5NWY5ZjM5YjQ4MzE0ZDhjNDQz
NTk0NDMxMzgwNWY5YTdlYWExZjkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb25zb2xlLWV2YWwtc2NvcGVkLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDkgQEAKK0NPTlNPTEUgTUVTU0FHRTogbGluZSA0OiB3aXRoOiBPYmplY3QgcHJv
cGVydHkgdmFsdWUKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxOiBldmFsIGluIHdpdGg6IE9iamVj
dCBwcm9wZXJ0eSB2YWx1ZQorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE6IGV2YWwgaW4gZnVuY3Rp
b246IEZ1bmN0aW9uIHBhcmFtZXRlcgorVGVzdHMgdGhhdCBldmFsdWF0aW5nICdjb25zb2xlLmxv
ZygpJyBpbiB0aGUgY29uc29sZSB3aWxsIGhhdmUgYWNjZXNzIHRvIGl0cyBvdXRlciBzY29wZSB2
YXJpYWJsZXMuIEJ1ZyA2MDU0Ny4KKword2l0aDogT2JqZWN0IHByb3BlcnR5IHZhbHVlCitldmFs
IGluIHdpdGg6IE9iamVjdCBwcm9wZXJ0eSB2YWx1ZQorZXZhbCBpbiBmdW5jdGlvbjogRnVuY3Rp
b24gcGFyYW1ldGVyCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0
ZS9jb25zb2xlL2NvbnNvbGUtZXZhbC1zY29wZWQuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rv
ci1vYnNvbGV0ZS9jb25zb2xlL2NvbnNvbGUtZXZhbC1zY29wZWQuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
ZjdjY2FhMjJhNWEzYmMyOGE4MzRkZTRhMzljY2M4M2ZhZGJmNDA0Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29sZS1ldmFsLXNj
b3BlZC5odG1sCkBAIC0wLDAgKzEsNTMgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUtdGVzdC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0PgorZnVuY3Rpb24gdGVzdCgpCit7CisgICAgZnVuY3Rpb24gc25p
cHBldDEoKSB7CisgICAgICAgIChmdW5jdGlvbiAob2JqKSB7CisgICAgICAgICAgIHdpdGggKG9i
aikgeworICAgICAgICAgICAgICBjb25zb2xlLmxvZygnd2l0aDogJyArIGEpOworICAgICAgICAg
ICAgICBldmFsKCJjb25zb2xlLmxvZygnZXZhbCBpbiB3aXRoOiAnICsgYSkiKTsKKyAgICAgICAg
ICAgfQorICAgICAgICB9KSh7IGE6ICJPYmplY3QgcHJvcGVydHkgdmFsdWUiIH0pCisgICAgfQor
CisgICAgZnVuY3Rpb24gc25pcHBldDIoKSB7CisgICAgICAgIChmdW5jdGlvbiAoYSkgeyBldmFs
KCJjb25zb2xlLmxvZygnZXZhbCBpbiBmdW5jdGlvbjogJyArIGEpIik7IH0pKCJGdW5jdGlvbiBw
YXJhbWV0ZXIiKQorICAgIH0KKworICAgIGZ1bmN0aW9uIGJvZHlUZXh0KGYpIHsKKyAgICAgICAg
dmFyIHRleHQgPSBmLnRvU3RyaW5nKCk7CisgICAgICAgIHZhciBiZWdpbiA9IHRleHQuaW5kZXhP
ZigieyIpOworICAgICAgICByZXR1cm4gdGV4dC5zdWJzdHJpbmcoYmVnaW4pOworICAgIH0KKwor
ICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoYm9keVRleHQoc25pcHBldDEpLCBzdGVw
MSk7CisKKyAgICBmdW5jdGlvbiBzdGVwMSgpCisgICAgeworICAgICAgICBJbnNwZWN0b3JUZXN0
LnJ1bkFmdGVyUGVuZGluZ0Rpc3BhdGNoZXMoc3RlcDIpOworICAgIH0KKworICAgIGZ1bmN0aW9u
IHN0ZXAyKCkKKyAgICB7CisgICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoYm9k
eVRleHQoc25pcHBldDIpLCBzdGVwMyk7CisgICAgfQorCisgICAgZnVuY3Rpb24gc3RlcDMoKQor
ICAgIHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wQ29uc29sZU1lc3NhZ2VzKCk7CisgICAg
ICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7CisgICAgfQorfQorPC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Cis8cD4KK1Rlc3RzIHRoYXQgZXZhbHVh
dGluZyAnY29uc29sZS5sb2coKScgaW4gdGhlIGNvbnNvbGUgd2lsbCBoYXZlIGFjY2VzcyB0byBp
dHMgb3V0ZXIgc2NvcGUgdmFyaWFibGVzLgorPGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTYwNTQ3Ij5CdWcgNjA1NDcuPC9hPgorPC9wPgorPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNv
bGUvY29uc29sZS1ldmFsLXN5bnRheC1lcnJvci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb25zb2xlLWV2YWwtc3ludGF4LWVycm9yLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi41NzczMDdjMDM2YzliMGM2ZGNjNzU0NGI4NDY2OWI0ZTE2MzAz
NzBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2Nv
bnNvbGUvY29uc29sZS1ldmFsLXN5bnRheC1lcnJvci1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1
IEBACitUZXN0cyB0aGF0IGV2YWx1YXRpbmcgYW4gZXhwcmVzc2lvbiB3aXRoIGEgc3ludGF4IGVy
cm9yIGluIHRoZSBjb25zb2xlIHdvbid0IGNyYXNoIHRoZSBicm93c2VyLiBCdWcgNjExOTQuCisK
K2ZvbygpLgorU3ludGF4RXJyb3I6IEV4cGVjdGVkIGFuIGlkZW50aWZpZXIgYnV0IGZvdW5kICd9
JyBpbnN0ZWFkCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9j
b25zb2xlL2NvbnNvbGUtZXZhbC1zeW50YXgtZXJyb3IuaHRtbCBiL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci1vYnNvbGV0ZS9jb25zb2xlL2NvbnNvbGUtZXZhbC1zeW50YXgtZXJyb3IuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi40ZjdjZjc4MzRiMTE0ZTk5ZmMwZWY2ZTcxYjdjMzBkZWU4NTBjNjRlCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29s
ZS1ldmFsLXN5bnRheC1lcnJvci5odG1sCkBAIC0wLDAgKzEsMjUgQEAKKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3Qu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2Nv
bnNvbGUtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorZnVuY3Rpb24gdGVzdCgpCit7Cisg
ICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluQ29uc29sZSgiZm9vKCkuIiwgc3RlcDEpOworCisg
ICAgZnVuY3Rpb24gc3RlcDEoKQorICAgIHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wQ29u
c29sZU1lc3NhZ2VzKCk7CisgICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7Cisg
ICAgfQorfQorCis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4K
KzxwPgorVGVzdHMgdGhhdCBldmFsdWF0aW5nIGFuIGV4cHJlc3Npb24gd2l0aCBhIHN5bnRheCBl
cnJvciBpbiB0aGUgY29uc29sZSB3b24ndCBjcmFzaCB0aGUgYnJvd3Nlci4KKzxhIGhyZWY9Imh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MTE5NCI+QnVnIDYxMTk0Ljwv
YT4KKzwvcD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci1vYnNvbGV0ZS9jb25zb2xlL2NvbnNvbGUtZXZhbC10aHJvdy11bmRlZmluZWQtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29sZS1l
dmFsLXRocm93LXVuZGVmaW5lZC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMWIwZGJhZDM4Mzkz
NjlmY2E2N2Y4ZmUzNThjYTkwZmNlNTNmYjljZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xlL2NvbnNvbGUtZXZhbC10aHJvdy11bmRlZmlu
ZWQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGVzdHMgdGhhdCBldmFsdWF0aW5nICd0
aHJvdyB1bmRlZmluZWQnIGluIHRoZSBjb25zb2xlIHdvbid0IGNyYXNoIHRoZSBicm93c2VyLiBC
dWcgNTk2MTEuCisKK3Rocm93IHVuZGVmaW5lZAordW5kZWZpbmVkCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xlL2NvbnNvbGUtZXZhbC10aHJvdy11
bmRlZmluZWQuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xlL2Nv
bnNvbGUtZXZhbC10aHJvdy11bmRlZmluZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41MzYwZTNiMzE1ZDUz
ZTFmMzJhOGE2OWIxZTA5N2UwNzRhOWExOThmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29sZS1ldmFsLXRocm93LXVuZGVmaW5l
ZC5odG1sCkBAIC0wLDAgKzEsMjUgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUtdGVzdC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0PgorZnVuY3Rpb24gdGVzdCgpCit7CisgICAgSW5zcGVjdG9yVGVzdC5l
dmFsdWF0ZUluQ29uc29sZSgidGhyb3cgdW5kZWZpbmVkIiwgc3RlcDEpOworCisgICAgZnVuY3Rp
b24gc3RlcDEoKQorICAgIHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wQ29uc29sZU1lc3Nh
Z2VzKCk7CisgICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7CisgICAgfQorfQor
Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KKzxwPgorVGVz
dHMgdGhhdCBldmFsdWF0aW5nICd0aHJvdyB1bmRlZmluZWQnIGluIHRoZSBjb25zb2xlIHdvbid0
IGNyYXNoIHRoZSBicm93c2VyLgorPGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTU5NjExIj5CdWcgNTk2MTEuPC9hPgorPC9wPgorPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29u
c29sZS1ldmFsLXVuZGVmaW5lZC1vdmVycmlkZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb25zb2xlLWV2YWwtdW5kZWZpbmVkLW92ZXJyaWRl
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yYjQ1YjE0ZmQ1ZDM3ZTdjNTFiZTFlMGZjMWJhYzk4
ZmYwMmYwZjIwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29s
ZXRlL2NvbnNvbGUvY29uc29sZS1ldmFsLXVuZGVmaW5lZC1vdmVycmlkZS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSw3IEBACitUZXN0cyB0aGF0IGV2YWx1YXRpbmcgc29tZXRoaW5nIGluIGNvbnNv
bGUgd29uJ3QgY3Jhc2ggdGhlIGJyb3dzZXIgaWYgdW5kZWZpbmVkIHZhbHVlIGlzIG92ZXJyaWRl
bi4gVGhlIHRlc3QgcGFzc2VzIGlmIGl0IGRvZXNuJ3QgY3Jhc2guIEJ1ZyA2NDE1NS4KKwordmFy
IHggPSB7YToxfTsgeC5zZWxmID0geDsgdW5kZWZpbmVkID0geDsKK09iamVjdCB7YTogMSwgc2Vs
ZjogT2JqZWN0fQordW5rbm93blZhcgorUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFi
bGU6IHVua25vd25WYXIKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29s
ZXRlL2NvbnNvbGUvY29uc29sZS1ldmFsLXVuZGVmaW5lZC1vdmVycmlkZS5odG1sIGIvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29sZS1ldmFsLXVuZGVmaW5lZC1v
dmVycmlkZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ2ZWRmYWU0N2NiOWZhNjc5Yzg4ODdmZTUyNzBjZWZm
MDdiZjZiMzcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xl
dGUvY29uc29sZS9jb25zb2xlLWV2YWwtdW5kZWZpbmVkLW92ZXJyaWRlLmh0bWwKQEAgLTAsMCAr
MSwzMCBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2lu
c3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
aHR0cC90ZXN0cy9pbnNwZWN0b3IvY29uc29sZS10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+
CitmdW5jdGlvbiB0ZXN0KCkKK3sKKyAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5Db25zb2xl
KCJ2YXIgeCA9IHthOjF9OyB4LnNlbGYgPSB4OyB1bmRlZmluZWQgPSB4OyIsIHN0ZXAxKTsKKwor
ICAgIGZ1bmN0aW9uIHN0ZXAxKCkKKyAgICB7CisgICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVh
dGVJbkNvbnNvbGUoInVua25vd25WYXIiLCBzdGVwMik7CisgICAgfQorICAgIGZ1bmN0aW9uIHN0
ZXAyKCkKKyAgICB7CisgICAgICAgIEluc3BlY3RvclRlc3QuZHVtcENvbnNvbGVNZXNzYWdlcygp
OworICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOworICAgIH0KK30KKworPC9z
Y3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Cis8cD4KK1Rlc3RzIHRo
YXQgZXZhbHVhdGluZyBzb21ldGhpbmcgaW4gY29uc29sZSB3b24ndCBjcmFzaCB0aGUgYnJvd3Nl
ciBpZiB1bmRlZmluZWQgdmFsdWUKK2lzIG92ZXJyaWRlbi4gVGhlIHRlc3QgcGFzc2VzIGlmIGl0
IGRvZXNuJ3QgY3Jhc2guCis8YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NjQxNTUiPkJ1ZyA2NDE1NS48L2E+Cis8L3A+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb25zb2xl
LWV2YWwuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xlL2NvbnNv
bGUtZXZhbC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY0YTBlZGJmMDkyZTFlNDY1OTA0MGY0ZjYzOTVkN2Jj
ZWNhMmZjOGEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xl
dGUvY29uc29sZS9jb25zb2xlLWV2YWwuaHRtbApAQCAtMCwwICsxLDI3IEBACis8aHRtbD4KKzxo
ZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10
ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rv
ci9jb25zb2xlLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKworZnVuY3Rpb24gdGVzdCgp
Cit7CisgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluQ29uc29sZSgiMSsyIiwgc3RlcDIpOwor
CisgICAgZnVuY3Rpb24gc3RlcDIoKQorICAgIHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1w
Q29uc29sZU1lc3NhZ2VzKCk7CisgICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7
CisgICAgfQorfQorCis8L3NjcmlwdD4KKzwvaGVhZD4KKworPGJvZHkgb25sb2FkPSJydW5UZXN0
KCkiPgorPHA+CitUZXN0cyB0aGF0IHNpbXBsZSBldmFsdWF0aW9ucyBtYXkgYmUgcGVyZm9ybWVk
IGluIHRoZSBjb25zb2xlLgorPC9wPgorCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb25zb2xlLWV4Y2VwdGlvbi1z
dGFjay10cmFjZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRl
L2NvbnNvbGUvY29uc29sZS1leGNlcHRpb24tc3RhY2stdHJhY2VzLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5iOThiZTQ2Y2I2MjBjY2NhZmY3ZGEzZjNiNDYwMDFiMWU1MzM0ZmJlCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29s
ZS1leGNlcHRpb24tc3RhY2stdHJhY2VzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitD
T05TT0xFIE1FU1NBR0U6IGxpbmUgMTY6IFVSSUVycm9yOiBVUkkgZXJyb3IKK0NPTlNPTEUgTUVT
U0FHRTogbGluZSAyMTogVHlwZUVycm9yOiAxIGlzIG5vdCBhIGZ1bmN0aW9uIChldmFsdWF0aW5n
ICcxKCknKQorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDI2OiBSYW5nZUVycm9yOiBBcnJheSBzaXpl
IGlzIG5vdCBhIHNtYWxsIGVub3VnaCBwb3NpdGl2ZSBpbnRlZ2VyLgorQ09OU09MRSBNRVNTQUdF
OiBsaW5lIDMxOiBTeW50YXhFcnJvcjogRXhwZWN0ZWQgdG9rZW4gJ30nCitDT05TT0xFIE1FU1NB
R0U6IGxpbmUgMzY6IFJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBkb2VzTm90
RXhpc3QKK0NPTlNPTEUgTUVTU0FHRTogbGluZSA0NjogRXJyb3I6IEN1c3RvbSBFcnJvcgorQ09O
U09MRSBNRVNTQUdFOiBsaW5lIDUxOiBbb2JqZWN0IE9iamVjdF0KK0NPTlNPTEUgTUVTU0FHRTog
bGluZSA1NjogZXJyb3Igc3RyaW5nCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTogRE9ORQorVGVz
dHMgdGhhdCBKYXZhU2NyaXB0IGV4Y2VwdGlvbidzIGNvbnRhaW4gc3RhY2sgdHJhY2VzIGFuZCB0
aGF0IHRoZSBmdW5jdGlvbnMgbWF0Y2ggY29uc29sZS50cmFjZSgpIHN0YWNrIHRyYWNlcy4KKwor
U1VDQ0VTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29u
c29sZS9jb25zb2xlLWV4Y2VwdGlvbi1zdGFjay10cmFjZXMuaHRtbCBiL0xheW91dFRlc3RzL2lu
c3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xlL2NvbnNvbGUtZXhjZXB0aW9uLXN0YWNrLXRyYWNlcy5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmFlYTA2MzMxMTJlZjViMGI0ZWIzNjg3ZDY0ZGUzYjhhZDU0ZmI0Y2MK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29uc29s
ZS9jb25zb2xlLWV4Y2VwdGlvbi1zdGFjay10cmFjZXMuaHRtbApAQCAtMCwwICsxLDEzNCBAQAor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9p
bnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorZnVuY3Rpb24gd3JhcHBlcihm
KSB7IHdyYXBwZXIyKGYpOyB9CitmdW5jdGlvbiB3cmFwcGVyMihmKSB7IHdyYXBwZXIzKGYpOyB9
CitmdW5jdGlvbiB3cmFwcGVyMyhmKSB7IHdyYXBwZXI0KGYpOyB9CitmdW5jdGlvbiB3cmFwcGVy
NChmKSB7IGZpbmFsV3JhcHBlcihmKTsgfQorZnVuY3Rpb24gZmluYWxXcmFwcGVyKGYpIHsgcHJv
ZHVjZUVycm9yKGYpOyB9CitmdW5jdGlvbiBwcm9kdWNlRXJyb3IoZikgeworICAgIGYoKTsKK30K
KworZnVuY3Rpb24gdXJpRXJyb3IoKSB7CisgICAgY29uc29sZS50cmFjZSgpOworICAgIGRlY29k
ZVVSSSgiJSIpOworfQorCitmdW5jdGlvbiB0eXBlRXJyb3IoKSB7CisgICAgY29uc29sZS50cmFj
ZSgpOworICAgIDEoKTsKK30KKworZnVuY3Rpb24gcmFuZ2VFcnJvcigpIHsKKyAgICBjb25zb2xl
LnRyYWNlKCk7CisgICAgQXJyYXkoLTEpLmxlbmd0aDsKK30KKworZnVuY3Rpb24gc3ludGF4RXJy
b3IoKSB7CisgICAgY29uc29sZS50cmFjZSgpOworICAgIGV2YWwoInsiKTsKK30KKworZnVuY3Rp
b24gcmVmZXJlbmNlRXJyb3IoKSB7CisgICAgY29uc29sZS50cmFjZSgpOworICAgIGRvZXNOb3RF
eGlzdDsKK30KKworZnVuY3Rpb24gZG9tRXhjZXB0aW9uKCkgeworICAgIGNvbnNvbGUudHJhY2Uo
KTsKKyAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKCJzaG91bGQgbm90IGJlIGEgc3RyaW5n
Iik7Cit9CisKK2Z1bmN0aW9uIHRocm93RXJyb3JPYmplY3QoKSB7CisgICAgY29uc29sZS50cmFj
ZSgpOworICAgIHRocm93IG5ldyBFcnJvcigiQ3VzdG9tIEVycm9yIik7Cit9CisKK2Z1bmN0aW9u
IHRocm93T2JqZWN0KCkgeworICAgIGNvbnNvbGUudHJhY2UoKTsKKyAgICB0aHJvdyB7bmFtZTog
IkN1c3RvbUVycm9yT2JqZWN0TmFtZSIsIG1lc3NhZ2U6ICJDdXN0b21FcnJvck9iamVjdE1lc3Nh
Z2UifTsKK30KKworZnVuY3Rpb24gdGhyb3dTdHJpbmcoKSB7CisgICAgY29uc29sZS50cmFjZSgp
OworICAgIHRocm93ICJlcnJvciBzdHJpbmciOworfQorCitmdW5jdGlvbiB0ZXN0KCkKK3sKKyAg
ICBJbnNwZWN0b3JUZXN0LmFkZFNuaWZmZXIoV2ViSW5zcGVjdG9yLkNvbnNvbGVEaXNwYXRjaGVy
LnByb3RvdHlwZSwgIm1lc3NhZ2VBZGRlZCIsIG1lc3NhZ2VBZGRlZCwgdHJ1ZSk7CisKKyAgICB2
YXIgaGFkRXJyb3IgPSBmYWxzZTsKKyAgICB2YXIgdHJhY2VTdGFja1RyYWNlID0gbnVsbDsKKyAg
ICB2YXIgZXJyb3JTdGFja1RyYWNlID0gbnVsbDsKKworICAgIGZ1bmN0aW9uIG1lc3NhZ2VBZGRl
ZChwYXlsb2FkKQorICAgIHsKKyAgICAgICAgaWYgKHBheWxvYWQudGV4dCA9PT0gIkRPTkUiKSB7
CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdChoYWRFcnJvciA/ICJGQUlMVVJF
IiA6ICJTVUNDRVNTIik7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgp
OworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisKKyAgICAgICAgaWYgKCF0cmFjZVN0
YWNrVHJhY2UpIHsKKyAgICAgICAgICAgIGlmIChwYXlsb2FkLnNvdXJjZSA9PT0gImNvbnNvbGUt
YXBpIiAmJiBwYXlsb2FkLnR5cGUgPT09ICJ0cmFjZSIgJiYgcGF5bG9hZC5zdGFja1RyYWNlKQor
ICAgICAgICAgICAgICAgIHRyYWNlU3RhY2tUcmFjZSA9IHBheWxvYWQuc3RhY2tUcmFjZTsKKyAg
ICAgICAgICAgIGVsc2UgeworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0
KCJFeHBlY3RlZCBjb25zb2xlLnRyYWNlKCkgbWVzc2FnZSB3aXRoIGEgc3RhY2tUcmFjZSwgYnV0
IGdvdDogIiArIEpTT04uc3RyaW5naWZ5KHBheWxvYWQpKTsKKyAgICAgICAgICAgICAgICB0cmFj
ZVN0YWNrVHJhY2UgPSBlcnJvclN0YWNrVHJhY2UgPSBudWxsOworICAgICAgICAgICAgICAgIGhh
ZEVycm9yID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICB9Cisg
ICAgICAgIH0gZWxzZSBpZiAoIWVycm9yU3RhY2tUcmFjZSkgeworICAgICAgICAgICAgaWYgKHBh
eWxvYWQuc291cmNlID09PSAiamF2YXNjcmlwdCIgJiYgcGF5bG9hZC5sZXZlbCA9PT0gImVycm9y
IiAmJiBwYXlsb2FkLnN0YWNrVHJhY2UpCisgICAgICAgICAgICAgICAgZXJyb3JTdGFja1RyYWNl
ID0gcGF5bG9hZC5zdGFja1RyYWNlOworICAgICAgICAgICAgZWxzZSB7CisgICAgICAgICAgICAg
ICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIkV4cGVjdGVkIEphdmFTY3JpcHQgRXJyb3IgbWVz
c2FnZSB3aXRoIHN0YWNrVHJhY2UgYnV0IGdvdDogIiArIEpTT04uc3RyaW5naWZ5KHBheWxvYWQp
KTsKKyAgICAgICAgICAgICAgICB0cmFjZVN0YWNrVHJhY2UgPSBlcnJvclN0YWNrVHJhY2UgPSBu
dWxsOworICAgICAgICAgICAgICAgIGhhZEVycm9yID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICBy
ZXR1cm47CisgICAgICAgICAgICB9CisgICAgICAgIH0KKworICAgICAgICBpZiAodHJhY2VTdGFj
a1RyYWNlICYmIGVycm9yU3RhY2tUcmFjZSkgeworICAgICAgICAgICAgdmFyIGhhZFN0YWNrVHJh
Y2VEaWZmZXJlbmNlID0gZmFsc2U7CisgICAgICAgICAgICAgaWYgKHRyYWNlU3RhY2tUcmFjZS5s
ZW5ndGggIT0gZXJyb3JTdGFja1RyYWNlLmxlbmd0aCkgeworICAgICAgICAgICAgICAgIGlmIChl
cnJvclN0YWNrVHJhY2UubGVuZ3RoIC0gdHJhY2VTdGFja1RyYWNlLmxlbmd0aCAhPSAxIHx8IChl
cnJvclN0YWNrVHJhY2VbMF0uZnVuY3Rpb25OYW1lICE9ICJkZWNvZGVVUkkiICYmIGVycm9yU3Rh
Y2tUcmFjZVswXS5mdW5jdGlvbk5hbWUgIT0gImV2YWwiKSkKKyAgICAgICAgICAgICAgICAgICAg
aGFkU3RhY2tUcmFjZURpZmZlcmVuY2UgPSB0cnVlOworICAgICAgICAgICAgfQorICAgICAgICAg
ICAgZWxzZSB7CisgICAgICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0cmFjZVN0YWNr
VHJhY2UubGVuZ3RoOyArK2kpIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHRyYWNlU3RhY2tU
cmFjZVtpXS5mdW5jdGlvbk5hbWUgIT09IGVycm9yU3RhY2tUcmFjZVtpXS5mdW5jdGlvbk5hbWUp
CisgICAgICAgICAgICAgICAgICAgICAgICBoYWRTdGFja1RyYWNlRGlmZmVyZW5jZSA9IHRydWU7
CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorCisgICAgICAgICAgICBpZiAoaGFk
U3RhY2tUcmFjZURpZmZlcmVuY2UpIHsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFk
ZFJlc3VsdCgiVW5leHBlY3RlZCBzdGFjayB0cmFjZSBmb3IgSmF2YVNjcmlwdCBFcnJvcjogIiAr
IHBheWxvYWQudGV4dCk7CisgICAgICAgICAgICAgICAgaGFkRXJyb3IgPSB0cnVlOworICAgICAg
ICAgICAgfQorCisgICAgICAgICAgICB0cmFjZVN0YWNrVHJhY2UgPSBlcnJvclN0YWNrVHJhY2Ug
PSBudWxsOworICAgICAgICB9CisgICAgfQorCisgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUlu
UGFnZVdpdGhUaW1lb3V0KCJ3cmFwcGVyKHVyaUVycm9yKSIpOworICAgIEluc3BlY3RvclRlc3Qu
ZXZhbHVhdGVJblBhZ2VXaXRoVGltZW91dCgid3JhcHBlcih0eXBlRXJyb3IpIik7CisgICAgSW5z
cGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZVdpdGhUaW1lb3V0KCJ3cmFwcGVyKHJhbmdlRXJyb3Ip
Iik7CisgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZVdpdGhUaW1lb3V0KCJ3cmFwcGVy
KHN5bnRheEVycm9yKSIpOworICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2VXaXRoVGlt
ZW91dCgid3JhcHBlcihyZWZlcmVuY2VFcnJvcikiKTsKKyAgICBJbnNwZWN0b3JUZXN0LmV2YWx1
YXRlSW5QYWdlV2l0aFRpbWVvdXQoIndyYXBwZXIodGhyb3dFcnJvck9iamVjdCkiKTsKKyAgICBJ
bnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlV2l0aFRpbWVvdXQoIndyYXBwZXIodGhyb3dPYmpl
Y3QpIik7CisgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZVdpdGhUaW1lb3V0KCJ3cmFw
cGVyKHRocm93U3RyaW5nKSIpOworICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2VXaXRo
VGltZW91dCgiY29uc29sZS5sb2coJ0RPTkUnKSIpOworfQorPC9zY3JpcHQ+Cis8L2hlYWQ+CisK
Kzxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KKzxwPlRlc3RzIHRoYXQgSmF2YVNjcmlwdCBleGNl
cHRpb24ncyBjb250YWluIHN0YWNrIHRyYWNlcyBhbmQgdGhhdCB0aGUgZnVuY3Rpb25zIG1hdGNo
IGNvbnNvbGUudHJhY2UoKSBzdGFjayB0cmFjZXMuPC9wPgorCis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb25zb2xl
LWV4dGVybmFsLWFycmF5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNv
bGV0ZS9jb25zb2xlL2NvbnNvbGUtZXh0ZXJuYWwtYXJyYXktZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjg3YTlkZDNjMjVjNTIxYTNjYmUzNjlhYzllNzE1NzU4NDQ3OWE3ZjUKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb25zb2xlLWV4
dGVybmFsLWFycmF5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM1IEBACitDT05TT0xFIE1FU1NB
R0U6IGxpbmUgOTogW29iamVjdCBJbnQ4QXJyYXldCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTA6
IFtvYmplY3QgSW50MTZBcnJheV0KK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxMTogW29iamVjdCBJ
bnQzMkFycmF5XQorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDEyOiBbb2JqZWN0IFVpbnQ4QXJyYXld
CitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTM6IFtvYmplY3QgVWludDE2QXJyYXldCitDT05TT0xF
IE1FU1NBR0U6IGxpbmUgMTQ6IFtvYmplY3QgVWludDMyQXJyYXldCitDT05TT0xFIE1FU1NBR0U6
IGxpbmUgMTU6IFtvYmplY3QgRmxvYXQzMkFycmF5XQorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE2
OiBbb2JqZWN0IEZsb2F0NjRBcnJheV0KK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxODogW29iamVj
dCBJbnQ4QXJyYXldCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTk6IFtvYmplY3QgSW50MTZBcnJh
eV0KK0NPTlNPTEUgTUVTU0FHRTogbGluZSAyMDogW29iamVjdCBJbnQzMkFycmF5XQorQ09OU09M
RSBNRVNTQUdFOiBsaW5lIDIxOiBbb2JqZWN0IFVpbnQ4QXJyYXldCitDT05TT0xFIE1FU1NBR0U6
IGxpbmUgMjI6IFtvYmplY3QgVWludDE2QXJyYXldCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMjM6
IFtvYmplY3QgVWludDMyQXJyYXldCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMjQ6IFtvYmplY3Qg
RmxvYXQzMkFycmF5XQorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDI1OiBbb2JqZWN0IEZsb2F0NjRB
cnJheV0KK1Rlc3RzIHRoYXQgY29uc29sZSBsb2dnaW5nIGRldGVjdHMgZXh0ZXJuYWwgYXJyYXlz
IGFzIGFycmF5cy4KKworSW50OEFycmF5WzEwXSBjb25zb2xlLWV4dGVybmFsLWFycmF5Lmh0bWw6
OQorSW50MTZBcnJheVsxMF0gY29uc29sZS1leHRlcm5hbC1hcnJheS5odG1sOjEwCitJbnQzMkFy
cmF5WzEwXSBjb25zb2xlLWV4dGVybmFsLWFycmF5Lmh0bWw6MTEKK1VpbnQ4QXJyYXlbMTBdIGNv
bnNvbGUtZXh0ZXJuYWwtYXJyYXkuaHRtbDoxMgorVWludDE2QXJyYXlbMTBdIGNvbnNvbGUtZXh0
ZXJuYWwtYXJyYXkuaHRtbDoxMworVWludDMyQXJyYXlbMTBdIGNvbnNvbGUtZXh0ZXJuYWwtYXJy
YXkuaHRtbDoxNAorRmxvYXQzMkFycmF5WzEwXSBjb25zb2xlLWV4dGVybmFsLWFycmF5Lmh0bWw6
MTUKK0Zsb2F0NjRBcnJheVsxMF0gY29uc29sZS1leHRlcm5hbC1hcnJheS5odG1sOjE2CitJbnQ4
QXJyYXlbMTBdIGNvbnNvbGUtZXh0ZXJuYWwtYXJyYXkuaHRtbDoxOAorSW50MTZBcnJheVsxMF0g
Y29uc29sZS1leHRlcm5hbC1hcnJheS5odG1sOjE5CitJbnQzMkFycmF5WzEwXSBjb25zb2xlLWV4
dGVybmFsLWFycmF5Lmh0bWw6MjAKK1VpbnQ4QXJyYXlbMTBdIGNvbnNvbGUtZXh0ZXJuYWwtYXJy
YXkuaHRtbDoyMQorVWludDE2QXJyYXlbMTBdIGNvbnNvbGUtZXh0ZXJuYWwtYXJyYXkuaHRtbDoy
MgorVWludDMyQXJyYXlbMTBdIGNvbnNvbGUtZXh0ZXJuYWwtYXJyYXkuaHRtbDoyMworRmxvYXQz
MkFycmF5WzEwXSBjb25zb2xlLWV4dGVybmFsLWFycmF5Lmh0bWw6MjQKK0Zsb2F0NjRBcnJheVsx
MF0gY29uc29sZS1leHRlcm5hbC1hcnJheS5odG1sOjI1CisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xlL2NvbnNvbGUtZXh0ZXJuYWwtYXJyYXkuaHRt
bCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xlL2NvbnNvbGUtZXh0ZXJu
YWwtYXJyYXkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43NzU3MWQ4MGYyNzI3MGMwZDM2YjFiNjY3NThmOTRh
MzBjZmI2OGVmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29s
ZXRlL2NvbnNvbGUvY29uc29sZS1leHRlcm5hbC1hcnJheS5odG1sCkBAIC0wLDAgKzEsNDUgQEAK
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3Iv
aW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVz
dHMvaW5zcGVjdG9yL2NvbnNvbGUtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorCitmdW5j
dGlvbiBvbmxvYWQoKQoreworICAgIGNvbnNvbGUubG9nKG5ldyBJbnQ4QXJyYXkoMTApKTsKKyAg
ICBjb25zb2xlLmxvZyhuZXcgSW50MTZBcnJheSgxMCkpOworICAgIGNvbnNvbGUubG9nKG5ldyBJ
bnQzMkFycmF5KDEwKSk7CisgICAgY29uc29sZS5sb2cobmV3IFVpbnQ4QXJyYXkoMTApKTsKKyAg
ICBjb25zb2xlLmxvZyhuZXcgVWludDE2QXJyYXkoMTApKTsKKyAgICBjb25zb2xlLmxvZyhuZXcg
VWludDMyQXJyYXkoMTApKTsKKyAgICBjb25zb2xlLmxvZyhuZXcgRmxvYXQzMkFycmF5KDEwKSk7
CisgICAgY29uc29sZS5sb2cobmV3IEZsb2F0NjRBcnJheSgxMCkpOworCisgICAgY29uc29sZS5k
aXIobmV3IEludDhBcnJheSgxMCkpOworICAgIGNvbnNvbGUuZGlyKG5ldyBJbnQxNkFycmF5KDEw
KSk7CisgICAgY29uc29sZS5kaXIobmV3IEludDMyQXJyYXkoMTApKTsKKyAgICBjb25zb2xlLmRp
cihuZXcgVWludDhBcnJheSgxMCkpOworICAgIGNvbnNvbGUuZGlyKG5ldyBVaW50MTZBcnJheSgx
MCkpOworICAgIGNvbnNvbGUuZGlyKG5ldyBVaW50MzJBcnJheSgxMCkpOworICAgIGNvbnNvbGUu
ZGlyKG5ldyBGbG9hdDMyQXJyYXkoMTApKTsKKyAgICBjb25zb2xlLmRpcihuZXcgRmxvYXQ2NEFy
cmF5KDEwKSk7CisKKyAgICBydW5UZXN0KCk7Cit9CisKK2Z1bmN0aW9uIHRlc3QoKQoreworICAg
IEluc3BlY3RvclRlc3QuZHVtcENvbnNvbGVNZXNzYWdlcygpOworICAgIEluc3BlY3RvclRlc3Qu
Y29tcGxldGVUZXN0KCk7Cit9CisKKzwvc2NyaXB0PgorPC9oZWFkPgorCis8Ym9keSBvbmxvYWQ9
Im9ubG9hZCgpIj4KKzxwPgorVGVzdHMgdGhhdCBjb25zb2xlIGxvZ2dpbmcgZGV0ZWN0cyBleHRl
cm5hbCBhcnJheXMgYXMgYXJyYXlzLgorPC9wPgorCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb25zb2xlLWxhc3Qt
cmVzdWx0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9jb25z
b2xlL2NvbnNvbGUtbGFzdC1yZXN1bHQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjAwMGRjZTZj
MDRhZTY5ZmY2Yzc1NjEwOGFjODU2ZWE5ZTA3ZTVhMDgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb25zb2xlLWxhc3QtcmVzdWx0LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDcgQEAKK1Rlc3RzIHRoYXQgY29uc29sZSBleHBvc2VzIGxh
c3QgZXZhbHVhdGlvbiByZXN1bHQgYXMgJF8uCisKKzErMQorMgorJF8KKzIKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29sZS1sYXN0LXJl
c3VsdC5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29s
ZS1sYXN0LXJlc3VsdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc0NjQ1ODdiYTNhNzEyYTY4OWEyOTRiZGM0
N2Q0NTYxOWFkOGY3MDIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3It
b2Jzb2xldGUvY29uc29sZS9jb25zb2xlLWxhc3QtcmVzdWx0Lmh0bWwKQEAgLTAsMCArMSwzMiBA
QAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rv
ci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90
ZXN0cy9pbnNwZWN0b3IvY29uc29sZS10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisKK2Z1
bmN0aW9uIHRlc3QoKQoreworICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJbkNvbnNvbGUoIjEr
MSIsIHN0ZXAxKTsKKworICAgIGZ1bmN0aW9uIHN0ZXAxKCkKKyAgICB7CisgICAgICAgIEluc3Bl
Y3RvclRlc3QuZXZhbHVhdGVJbkNvbnNvbGUoIiRfIiwgY2FsbGJhY2spOworICAgIH0KKworICAg
IGZ1bmN0aW9uIGNhbGxiYWNrKCkKKyAgICB7CisgICAgICAgIEluc3BlY3RvclRlc3QuZHVtcENv
bnNvbGVNZXNzYWdlcygpOworICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwor
ICAgIH0KK30KKworPC9zY3JpcHQ+Cis8L2hlYWQ+CisKKzxib2R5IG9ubG9hZD0icnVuVGVzdCgp
Ij4KKzxwPgorICAgIFRlc3RzIHRoYXQgY29uc29sZSBleHBvc2VzIGxhc3QgZXZhbHVhdGlvbiBy
ZXN1bHQgYXMgJF8uCis8L3A+CisKKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xlL2NvbnNvbGUtbG9nLWJlZm9yZS1pbnNw
ZWN0b3Itb3Blbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUv
Y29uc29sZS9jb25zb2xlLWxvZy1iZWZvcmUtaW5zcGVjdG9yLW9wZW4tZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjM0Y2I2ZWViNDFmZTgzMmY2YzIyOGMwOGQzMzY2YTY5MjNkOTA3N2EKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb25z
b2xlLWxvZy1iZWZvcmUtaW5zcGVjdG9yLW9wZW4tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK0NPTlNPTEUgTUVTU0FHRTogbGluZSA3OiBsb2cKK0NPTlNPTEUgTUVTU0FHRTogbGluZSA4
OiBkZWJ1ZworQ09OU09MRSBNRVNTQUdFOiBsaW5lIDk6IGluZm8KK0NPTlNPTEUgTUVTU0FHRTog
bGluZSAxMDogd2FybgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDExOiBlcnJvcgorVGVzdHMgdGhh
dCBXZWIgSW5zcGVjdG9yIHdvbid0IGNyYXNoIGlmIHNvbWUgY29uc29sZSBoYXZlIGJlZW4gbG9n
Z2VkIGJ5IHRoZSB0aW1lIGl0J3Mgb3BlbmluZy4KKworbG9nIGNvbnNvbGUtbG9nLWJlZm9yZS1p
bnNwZWN0b3Itb3Blbi5odG1sOjcKK2RlYnVnIGNvbnNvbGUtbG9nLWJlZm9yZS1pbnNwZWN0b3It
b3Blbi5odG1sOjgKK2luZm8gY29uc29sZS1sb2ctYmVmb3JlLWluc3BlY3Rvci1vcGVuLmh0bWw6
OQord2FybiBjb25zb2xlLWxvZy1iZWZvcmUtaW5zcGVjdG9yLW9wZW4uaHRtbDoxMAorZXJyb3Ig
Y29uc29sZS1sb2ctYmVmb3JlLWluc3BlY3Rvci1vcGVuLmh0bWw6MTEKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29sZS1sb2ctYmVmb3Jl
LWluc3BlY3Rvci1vcGVuLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29u
c29sZS9jb25zb2xlLWxvZy1iZWZvcmUtaW5zcGVjdG9yLW9wZW4uaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40
YTAwNDJhZTlkOWQwNjgyYTc5Mjc5NjRkMTY5M2VhMDI4YmQzZWQyCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29sZS1sb2ctYmVm
b3JlLWluc3BlY3Rvci1vcGVuLmh0bWwKQEAgLTAsMCArMSwyOCBAQAorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvY29u
c29sZS10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisKK2NvbnNvbGUubG9nKCdsb2cnKTsK
K2NvbnNvbGUuZGVidWcoJ2RlYnVnJyk7Citjb25zb2xlLmluZm8oJ2luZm8nKTsKK2NvbnNvbGUu
d2Fybignd2FybicpOworY29uc29sZS5lcnJvcignZXJyb3InKTsKKworZnVuY3Rpb24gdGVzdCgp
Cit7CisgICAgSW5zcGVjdG9yVGVzdC5kdW1wQ29uc29sZU1lc3NhZ2VzKCk7CisgICAgSW5zcGVj
dG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKK30KKworPC9zY3JpcHQ+Cis8L2hlYWQ+CisKKzxib2R5
IG9ubG9hZD0icnVuVGVzdCgpIj4KKzxwPgorVGVzdHMgdGhhdCBXZWIgSW5zcGVjdG9yIHdvbid0
IGNyYXNoIGlmIHNvbWUgY29uc29sZSBoYXZlIGJlZW4gbG9nZ2VkIGJ5IHRoZSB0aW1lIGl0J3Mg
b3BlbmluZy4KKzwvcD4KKworPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29sZS1sb2ctZG9jdW1lbnQtcHJvdG8t
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29u
c29sZS1sb2ctZG9jdW1lbnQtcHJvdG8tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ2MDgxYzNm
OTljMWU0ODAxYjM3NTVkOGVmZmJiOGIyZGFjN2E5MmQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb25zb2xlLWxvZy1kb2N1bWVudC1w
cm90by1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitDT05TT0xFIE1FU1NBR0U6IGxpbmUg
NjogW29iamVjdCBIVE1MRG9jdW1lbnRQcm90b3R5cGVdCitUZXN0IHRoYXQgY29uc29sZS5kaXIo
ZG9jdW1lbnQuX19wcm90b19fKSB3b24ndCByZXN1bHQgaW4gYW4gZXhjZXB0aW9uIHdoZW4gdGhl
IG1lc3NhZ2UgaXMgZm9ybWF0dGVkIGluIHRoZSBpbnNwZWN0b3IuQnVnIDI3MTY5LgorCitIVE1M
RG9jdW1lbnRQcm90b3R5cGUgY29uc29sZS1sb2ctZG9jdW1lbnQtcHJvdG8uaHRtbDo2CisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xlL2NvbnNvbGUt
bG9nLWRvY3VtZW50LXByb3RvLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUv
Y29uc29sZS9jb25zb2xlLWxvZy1kb2N1bWVudC1wcm90by5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI2Mzlj
NDdjYTllYzExY2E2NDI5MDA1MDU2YWRiZjNhZGFhMmQ4YmUKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb25zb2xlLWxvZy1kb2N1bWVu
dC1wcm90by5odG1sCkBAIC0wLDAgKzEsMjEgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUtdGVzdC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorY29uc29sZS5kaXIoZG9jdW1lbnQuX19wcm90b19fKTsK
KworZnVuY3Rpb24gdGVzdCgpCit7CisgICAgSW5zcGVjdG9yVGVzdC5kdW1wQ29uc29sZU1lc3Nh
Z2VzKCk7CisgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKK30KKzwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgorPHA+CitUZXN0IHRoYXQgY29uc29s
ZS5kaXIoZG9jdW1lbnQuX19wcm90b19fKSB3b24ndCByZXN1bHQgaW4gYW4gZXhjZXB0aW9uIHdo
ZW4gdGhlIG1lc3NhZ2UKK2lzIGZvcm1hdHRlZCBpbiB0aGUgaW5zcGVjdG9yLjxhIGJ1Zz0iaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI3MTY5Ij5CdWcgIDI3MTY5Ljwv
YT4KKzwvcD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci1vYnNvbGV0ZS9jb25zb2xlL2NvbnNvbGUtbG9nLW5hdGl2ZS1mdW5jcy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb25zb2xlLWxvZy1u
YXRpdmUtZnVuY3MtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRhNzkyMWU3NzZlYzg3ZjZjOWM5
OWI4NzQ1Njk3YmIwZjQyZmEwYWIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb25zb2xlLWxvZy1uYXRpdmUtZnVuY3MtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTEgQEAKK0NPTlNPTEUgTUVTU0FHRTogbGluZSA5OiBbb2JqZWN0IERv
Y3VtZW50Q29uc3RydWN0b3JdCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTA6IGZ1bmN0aW9uIGNy
ZWF0ZUVsZW1lbnQoKSB7CisgICAgW25hdGl2ZSBjb2RlXQorfQorVGVzdHMgdGhhdCBjb25zb2xl
IGxvZ2dpbmcgZHVtcHMgcHJvcGVyIG1lc3NhZ2VzLgorCitjb25zb2xlLWxvZy1uYXRpdmUtZnVu
Y3MuaHRtbDo5RG9jdW1lbnRDb25zdHJ1Y3RvciBjb25zb2xlLW1lc3NhZ2UgY29uc29sZS1qcy1z
b3VyY2UgY29uc29sZS1sb2ctbGV2ZWwKK2NvbnNvbGUtbG9nLW5hdGl2ZS1mdW5jcy5odG1sOjEw
ZnVuY3Rpb24gY3JlYXRlRWxlbWVudCgpIHsKKyAgICBbbmF0aXZlIGNvZGVdCit9IGNvbnNvbGUt
bWVzc2FnZSBjb25zb2xlLWpzLXNvdXJjZSBjb25zb2xlLWxvZy1sZXZlbAorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb25zb2xlLWxvZy1zeW50
YXgtZXJyb3ItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2Nv
bnNvbGUvY29uc29sZS1sb2ctc3ludGF4LWVycm9yLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5i
YmY5NjkxMWQ2NTFlYmFjNzI0MDk3NzVkNDM5OGI5YzJmMzhiM2YxCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29sZS1sb2ctc3lu
dGF4LWVycm9yLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK0NPTlNPTEUgTUVTU0FHRTog
bGluZSAxOiBTeW50YXhFcnJvcjogVW5leHBlY3RlZCB0b2tlbiAnKScKK1Rlc3RzIHRoYXQgc3lu
dGF4IGVycm9ycyBhcmUgbG9nZ2VkIGludG8gY29uc29sZSBhbmQgZG9lc24ndCBjYXVzZSBicm93
c2VyIGNyYXNoLgorCitTeW50YXhFcnJvcjogVW5leHBlY3RlZCB0b2tlbiAnKScgc3ludGF4LWVy
cm9yLmpzOjEKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2Nv
bnNvbGUvY29uc29sZS1sb2ctc3ludGF4LWVycm9yLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0
b3Itb2Jzb2xldGUvY29uc29sZS9jb25zb2xlLWxvZy1zeW50YXgtZXJyb3IuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi45NjdkN2E0Yzc0ODc1NDcxMjM2MzYyZTk1YjRhODA1MzM3NmUxZTU3Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29sZS1s
b2ctc3ludGF4LWVycm9yLmh0bWwKQEAgLTAsMCArMSwxOSBAQAorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvY29uc29s
ZS10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvc3ludGF4LWVycm9y
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CitmdW5jdGlvbiB0ZXN0KCkKK3sKKyAgICBJbnNwZWN0
b3JUZXN0LmR1bXBDb25zb2xlTWVzc2FnZXMoKTsKKyAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRl
VGVzdCgpOworfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+
Cis8cD4KK1Rlc3RzIHRoYXQgc3ludGF4IGVycm9ycyBhcmUgbG9nZ2VkIGludG8gY29uc29sZSBh
bmQgZG9lc24ndCBjYXVzZSBicm93c2VyIGNyYXNoLgorPC9wPgorPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29s
ZS1sb2ctdG9TdHJpbmctb2JqZWN0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rv
ci1vYnNvbGV0ZS9jb25zb2xlL2NvbnNvbGUtbG9nLXRvU3RyaW5nLW9iamVjdC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMDUyMjdlY2ZjMGYzODY3YTJmZjVmNTJiYmY3OTI5ZTBhZjUwYzEwOQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xl
L2NvbnNvbGUtbG9nLXRvU3RyaW5nLW9iamVjdC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw3IEBA
CitDT05TT0xFIE1FU1NBR0U6IGxpbmUgNzogCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgNzogCitU
ZXN0cyB0aGF0IHBhc3NpbmcgYW4gb2JqZWN0IHdoaWNoIHRocm93cyBvbiBzdHJpbmcgY29udmVy
c2lvbiBpbnRvIGNvbnNvbGUubG9nIHdvbid0IGNyYXNoIGluc3BlY3RlZCBQYWdlLiBUaGUgdGVz
dCBwYXNzZXMgaWYgaXQgZG9lc24ndCBjcmFzaC4gQnVnIDU3NTU3CisKK1BhZ2UgcmVsb2FkZWQu
CitPYmplY3Qge3RvU3RyaW5nOiBPYmplY3R9IGNvbnNvbGUtbG9nLXRvU3RyaW5nLW9iamVjdC5o
dG1sOjcKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNv
bGUvY29uc29sZS1sb2ctdG9TdHJpbmctb2JqZWN0Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0
b3Itb2Jzb2xldGUvY29uc29sZS9jb25zb2xlLWxvZy10b1N0cmluZy1vYmplY3QuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi45OTg2ODk0YzdiZDEwM2U4OGZkYmI1ZDE0NjQ0Zjk5OWMyM2NhOThlCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29s
ZS1sb2ctdG9TdHJpbmctb2JqZWN0Lmh0bWwKQEAgLTAsMCArMSwyNSBAQAorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVz
dC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3Iv
Y29uc29sZS10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisKK2NvbnNvbGUubG9nKHt0b1N0
cmluZzp7fX0pOworCitmdW5jdGlvbiB0ZXN0KCkKK3sKKyAgICBJbnNwZWN0b3JUZXN0LnJlbG9h
ZFBhZ2UoZnVuY3Rpb24oKSB7CisgICAgICAgIEluc3BlY3RvclRlc3QuZHVtcENvbnNvbGVNZXNz
YWdlcygpOworICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOworICAgIH0pOwor
fQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Cis8cD4KK1Rl
c3RzIHRoYXQgcGFzc2luZyBhbiBvYmplY3Qgd2hpY2ggdGhyb3dzIG9uIHN0cmluZyBjb252ZXJz
aW9uIGludG8gY29uc29sZS5sb2cgd29uJ3QgY3Jhc2gKK2luc3BlY3RlZCBQYWdlLiBUaGUgdGVz
dCBwYXNzZXMgaWYgaXQgZG9lc24ndCBjcmFzaC4KKzxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NzU1NyI+QnVnIDU3NTU3PC9hPgorPC9wPgorPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2Nv
bnNvbGUvY29uc29sZS1sb25nLWV2YWwtY3Jhc2gtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29sZS1sb25nLWV2YWwtY3Jhc2gtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmM2Nzc3ZWQxN2JhNTAxNTY1YjQwNDI5Nzk2MTVhM2ZhNmY4MGY3
ODEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29u
c29sZS9jb25zb2xlLWxvbmctZXZhbC1jcmFzaC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBA
CitUZXN0IHRoYXQgYW55IGxvbmcgYXBpIGNhbGwgZnJvbSB0aGUgZnJvbnRlbmQgd2lsbCBub3Qg
Y3Jhc2ggdGhlIGluc3BlY3RlZCBwYWdlJ3MgcmVuZGVyZXIgaWYgdGhlIHBhZ2UgaXMgcmVsb2Fk
ZWQgb3IgZnJvbnRlbmQgaXMgY2xvc2VkIGluIHRoZSBtaWRkbGUuCisKK2h0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MDYxNgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29sZS1sb25nLWV2YWwtY3Jhc2guaHRtbCBi
L0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xlL2NvbnNvbGUtbG9uZy1ldmFs
LWNyYXNoLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODdiNGZhYzNhNmI5MDExNTAyNTlkOGRjMDg4YTlkNTY4
YzM1ODIzNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0
ZS9jb25zb2xlL2NvbnNvbGUtbG9uZy1ldmFsLWNyYXNoLmh0bWwKQEAgLTAsMCArMSwzMSBAQAor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9p
bnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0
cy9pbnNwZWN0b3IvY29uc29sZS10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisKK3Rlc3RS
dW5uZXIuc2V0Q2FuT3BlbldpbmRvd3MoKTsKKworZnVuY3Rpb24gZG9EaWFsb2coKQoreworICAg
IHRlc3RSdW5uZXIuY2xvc2VXZWJJbnNwZWN0b3IoKTsKKyAgICBzaG93TW9kYWxEaWFsb2coJ2Rh
dGE6dGV4dC9odG1sLDxzY3JpcHQ+c2V0VGltZW91dChjbG9zZSwgMCk7JTNjL3NjcmlwdD4nKTsK
KyAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7fSwgMCk7
Cit9CisKK2Z1bmN0aW9uIHRlc3QoKQoreworICAgIFJ1bnRpbWVBZ2VudC5ldmFsdWF0ZSgiZG9E
aWFsb2coKSIpOworfQorCis8L3NjcmlwdD4KKzwvaGVhZD4KKworPGJvZHkgb25sb2FkPSJydW5U
ZXN0KCkiPgorPHA+CitUZXN0IHRoYXQgYW55IGxvbmcgYXBpIGNhbGwgZnJvbSB0aGUgZnJvbnRl
bmQgd2lsbCBub3QgY3Jhc2ggdGhlIGluc3BlY3RlZCBwYWdlJ3MgcmVuZGVyZXIgaWYgdGhlIHBh
Z2UgaXMgcmVsb2FkZWQgb3IgZnJvbnRlbmQgaXMgY2xvc2VkIGluIHRoZSBtaWRkbGUuCis8L3A+
Cis8YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjA2MTYi
Pmh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MDYxNjwvYT4KKworPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRl
L2NvbnNvbGUvY29uc29sZS1tZXNzYWdlLWZvcm1hdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb25zb2xlLW1lc3NhZ2UtZm9ybWF0LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMGVhZWNmNDM5ZGVkMjQzMDQwNjNlMzQ3Mjk5Njk4NmRiYTFm
NDU5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2Nv
bnNvbGUvY29uc29sZS1tZXNzYWdlLWZvcm1hdC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxOSBA
QAorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDk6IE1lc3NhZ2UgZm9ybWF0IG51bWJlciAlaSwgJWQg
YW5kICVmCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTA6IE1lc3NhZ2UgJXMgZm9yICVzCitDT05T
T0xFIE1FU1NBR0U6IGxpbmUgMTE6IE9iamVjdCAlbworQ09OU09MRSBNRVNTQUdFOiBsaW5lIDEy
OiBGbG9hdGluZyBhcyBpbnRlZ2VyczogJWQgJWkKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxMzog
RmxvYXRpbmcgYXMgaXM6ICVmCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTQ6IE5vbi1udW1iZXJz
IGFzIG51bWJlcnM6ICVkICVpICVmCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTU6IFN0cmluZyBh
cyBpczogJXMKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxNjogT2JqZWN0IGFzIHN0cmluZzogJXMK
K1Rlc3RzIHRoYXQgY29uc29sZSBsb2dnaW5nIHVzZXMgcHJvcGVyIG1lc3NhZ2UgZm9ybWF0dGlu
Zy4KKworTWVzc2FnZSBmb3JtYXQgbnVtYmVyIDEsIDIgYW5kIDMuNSBjb25zb2xlLW1lc3NhZ2Ut
Zm9ybWF0Lmh0bWw6OQorTWVzc2FnZSBmb3JtYXQgZm9yIHN0cmluZyBjb25zb2xlLW1lc3NhZ2Ut
Zm9ybWF0Lmh0bWw6MTAKK09iamVjdCBPYmplY3QgY29uc29sZS1tZXNzYWdlLWZvcm1hdC5odG1s
OjExCitGbG9hdGluZyBhcyBpbnRlZ2VyczogNDIgNDIgY29uc29sZS1tZXNzYWdlLWZvcm1hdC5o
dG1sOjEyCitGbG9hdGluZyBhcyBpczogNDIuNSBjb25zb2xlLW1lc3NhZ2UtZm9ybWF0Lmh0bWw6
MTMKK05vbi1udW1iZXJzIGFzIG51bWJlcnM6IE5hTiBOYU4gTmFOIGNvbnNvbGUtbWVzc2FnZS1m
b3JtYXQuaHRtbDoxNAorU3RyaW5nIGFzIGlzOiBzdHJpbmcgY29uc29sZS1tZXNzYWdlLWZvcm1h
dC5odG1sOjE1CitPYmplY3QgYXMgc3RyaW5nOiAjZG9jdW1lbnQgY29uc29sZS1tZXNzYWdlLWZv
cm1hdC5odG1sOjE2CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0
ZS9jb25zb2xlL2NvbnNvbGUtbWVzc2FnZS1mb3JtYXQuaHRtbCBiL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci1vYnNvbGV0ZS9jb25zb2xlL2NvbnNvbGUtbWVzc2FnZS1mb3JtYXQuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44OGU0YTM5NGZlZjllMTk5Y2NkNWI0ZjNkNzQ1MjRkNjExNjExMTc2Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29sZS1t
ZXNzYWdlLWZvcm1hdC5odG1sCkBAIC0wLDAgKzEsMzMgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUt
dGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorCitmdW5jdGlvbiBvbmxvYWQoKQoreworICAg
IGNvbnNvbGUubG9nKCdNZXNzYWdlIGZvcm1hdCBudW1iZXIgJWksICVkIGFuZCAlZicsIDEsIDIs
IDMuNSk7CisgICAgY29uc29sZS5sb2coJ01lc3NhZ2UgJXMgZm9yICVzJywgJ2Zvcm1hdCcsICdz
dHJpbmcnKTsKKyAgICBjb25zb2xlLmxvZygnT2JqZWN0ICVvJywgeydmb28nIDogJ2JhcicgfSk7
CisgICAgY29uc29sZS5sb2coIkZsb2F0aW5nIGFzIGludGVnZXJzOiAlZCAlaSIsIDQyLjUsIDQy
LjUpOworICAgIGNvbnNvbGUubG9nKCJGbG9hdGluZyBhcyBpczogJWYiLCA0Mi41KTsKKyAgICBj
b25zb2xlLmxvZygiTm9uLW51bWJlcnMgYXMgbnVtYmVyczogJWQgJWkgJWYiLCBkb2N1bWVudCwg
bnVsbCwgImRvY3VtZW50Iik7CisgICAgY29uc29sZS5sb2coIlN0cmluZyBhcyBpczogJXMiLCAi
c3RyaW5nIik7CisgICAgY29uc29sZS5sb2coIk9iamVjdCBhcyBzdHJpbmc6ICVzIiwgZG9jdW1l
bnQpOworCisgICAgcnVuVGVzdCgpOworfQorCitmdW5jdGlvbiB0ZXN0KCkKK3sKKyAgICBJbnNw
ZWN0b3JUZXN0LmV4cGFuZENvbnNvbGVNZXNzYWdlcygpOworICAgIEluc3BlY3RvclRlc3QuZHVt
cENvbnNvbGVNZXNzYWdlcygpOworICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7Cit9
Cis8L3NjcmlwdD4KKzwvaGVhZD4KKworPGJvZHkgb25sb2FkPSJvbmxvYWQoKSI+Cis8cCBpZD0i
cCI+VGVzdHMgdGhhdCBjb25zb2xlIGxvZ2dpbmcgdXNlcyBwcm9wZXIgbWVzc2FnZSBmb3JtYXR0
aW5nLjwvcD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci1vYnNvbGV0ZS9jb25zb2xlL2NvbnNvbGUtbWVzc2FnZXMtc3RhY2stdHJhY2VzLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xlL2NvbnNvbGUt
bWVzc2FnZXMtc3RhY2stdHJhY2VzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40ZmE3MWJlY2Ez
YWVlODg3Y2FjYjgyZDYzODQxZGE5YzZkNjBlOWY5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29sZS1tZXNzYWdlcy1zdGFjay10
cmFjZXMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTUgQEAKK0NPTlNPTEUgTUVTU0FHRTogbGlu
ZSAxNjogbG9nCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTc6IGluZm8KK0NPTlNPTEUgTUVTU0FH
RTogbGluZSAxODogd2FybgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE5OiBkZWJ1ZworQ09OU09M
RSBNRVNTQUdFOiBsaW5lIDIwOiBlcnJvcgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDIxOiBhc3Nl
cnQKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAyMjogdHJhY2UKK0NPTlNPTEUgTUVTU0FHRTogbGlu
ZSAyMzogMSwyLDMKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAyNDogW29iamVjdCBIVE1MQm9keUVs
ZW1lbnRdCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMzA6IE1BUktFUjogRVhQRUNUIE5PIFNUQUNL
IFRSQUNFUworQ09OU09MRSBNRVNTQUdFOiBsaW5lIDM0OiBNQVJLRVI6IERPTkUKK1Rlc3RzIHRo
YXQgY29uc29sZS1hcGkgbWVzc2FnZXMgY29udGFpbiBzdGFjayB0cmFjZXMuCisKK1NVQ0NFU1MK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29u
c29sZS1tZXNzYWdlcy1zdGFjay10cmFjZXMuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1v
YnNvbGV0ZS9jb25zb2xlL2NvbnNvbGUtbWVzc2FnZXMtc3RhY2stdHJhY2VzLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZWJjNmY4N2I3ZDBmYjBmYjBmZjQ5MTk2MjVjODkzOTM3NDkwMzRlMgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xlL2NvbnNvbGUt
bWVzc2FnZXMtc3RhY2stdHJhY2VzLmh0bWwKQEAgLTAsMCArMSw4MSBAQAorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVz
dC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3Iv
Y29uc29sZS10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisKK2Z1bmN0aW9uIHBlcmZvcm1D
b25zb2xlTWVzc2FnZXMoKSB7CisgICAgLy8gTm8gY29uc29sZSBtZXNzYWdlLgorICAgIGNvbnNv
bGUudGltZVN0YW1wKCk7CisKKyAgICAvLyBFeHBlY3RlZCB0byBoYXZlIHN0YWNrIHRyYWNlcy4K
KyAgICBjb25zb2xlLnRpbWUoInRpbWUiKTsgLy8gTm90aGluZyB1bnRpbCB0aW1lRW5kLgorICAg
IGNvbnNvbGUuY2xlYXIoKTsKKyAgICBjb25zb2xlLmdyb3VwKCJncm91cCIpOworICAgIGNvbnNv
bGUucHJvZmlsZSgicHJvZmlsZSIpOworICAgIGNvbnNvbGUubG9nKCJsb2ciKTsKKyAgICBjb25z
b2xlLmluZm8oImluZm8iKTsKKyAgICBjb25zb2xlLndhcm4oIndhcm4iKTsKKyAgICBjb25zb2xl
LmVycm9yKCJkZWJ1ZyIpOworICAgIGNvbnNvbGUuZXJyb3IoImVycm9yIik7CisgICAgY29uc29s
ZS5hc3NlcnQoZmFsc2UsICJhc3NlcnQiKTsKKyAgICBjb25zb2xlLnRyYWNlKCJ0cmFjZSIpOwor
ICAgIGNvbnNvbGUuZGlyKFsxLDIsM10pOworICAgIGNvbnNvbGUuZGlyeG1sKGRvY3VtZW50LmJv
ZHkpOworICAgIGNvbnNvbGUuY291bnQoImNvdW50Iik7CisgICAgY29uc29sZS5wcm9maWxlRW5k
KCJwcm9maWxlIik7CisgICAgY29uc29sZS50aW1lRW5kKCJ0aW1lIik7CisKKyAgICAvLyBOb3Qg
ZXhwZWN0ZWQgdG8gaGF2ZSBzdGFjayB0cmFjZXMuCisgICAgY29uc29sZS5sb2coIk1BUktFUjog
RVhQRUNUIE5PIFNUQUNLIFRSQUNFUyIpOworICAgIGNvbnNvbGUuZ3JvdXBFbmQoImdyb3VwIik7
CisKKyAgICAvLyBFbmQgdGhlIHRlc3QKKyAgICBjb25zb2xlLmxvZygiTUFSS0VSOiBET05FIik7
Cit9CisKK2Z1bmN0aW9uIHRlc3QoKQoreworICAgIEluc3BlY3RvclRlc3QuYWRkU25pZmZlcihX
ZWJJbnNwZWN0b3IuQ29uc29sZURpc3BhdGNoZXIucHJvdG90eXBlLCAibWVzc2FnZUFkZGVkIiwg
bWVzc2FnZUFkZGVkLCB0cnVlKTsKKworICAgIHZhciBoYWRJc3N1ZSA9IGZhbHNlOworICAgIHZh
ciBleHBlY3RTdGFja1RyYWNlcyA9IHRydWU7CisKKyAgICBmdW5jdGlvbiBtZXNzYWdlQWRkZWQo
cGF5bG9hZCkKKyAgICB7CisgICAgICAgIGlmIChwYXlsb2FkLmxldmVsID09PSAibG9nIikgewor
ICAgICAgICAgICAgaWYgKHBheWxvYWQudGV4dCA9PT0gIk1BUktFUjogRE9ORSIpIHsKKyAgICAg
ICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdChoYWRJc3N1ZSA/ICJGQUlMVVJFIiA6
ICJTVUNDRVNTIik7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3Qo
KTsKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICB9CisgICAgICAgICAgICBp
ZiAocGF5bG9hZC50ZXh0ID09PSAiTUFSS0VSOiBFWFBFQ1QgTk8gU1RBQ0sgVFJBQ0VTIikgewor
ICAgICAgICAgICAgICAgIGV4cGVjdFN0YWNrVHJhY2VzID0gZmFsc2U7CisgICAgICAgICAgICAg
ICAgcmV0dXJuOworICAgICAgICAgICAgfQorICAgICAgICB9CisKKyAgICAgICAgdmFyIHVybCA9
IHBheWxvYWQudXJsOworICAgICAgICB2YXIgbGFzdFNsYXNoSW5kZXggPSB1cmwubGFzdEluZGV4
T2YoIi8iKTsKKyAgICAgICAgdXJsID0gdXJsLnN1YnN0cmluZyhsYXN0U2xhc2hJbmRleCArIDEp
OworCisgICAgICAgIGlmICgic3RhY2tUcmFjZSIgaW4gcGF5bG9hZCAmJiAhZXhwZWN0U3RhY2tU
cmFjZXMpIHsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJVbmV4cGVjdGVk
IHN0YWNrIHRyYWNlIGZvcjogIiArIEpTT04uc3RyaW5naWZ5KHBheWxvYWQpKTsKKyAgICAgICAg
ICAgIGhhZElzc3VlID0gdHJ1ZTsKKyAgICAgICAgfSBlbHNlIGlmICghKCJzdGFja1RyYWNlIiBp
biBwYXlsb2FkKSAmJiBleHBlY3RTdGFja1RyYWNlcykgeworICAgICAgICAgICAgSW5zcGVjdG9y
VGVzdC5hZGRSZXN1bHQoIkV4cGVjdGVkIHN0YWNrIHRyYWNlIGZvcjogIiArIEpTT04uc3RyaW5n
aWZ5KHBheWxvYWQpKTsKKyAgICAgICAgICAgIGhhZElzc3VlID0gdHJ1ZTsKKyAgICAgICAgfQor
ICAgIH0KKworICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoInBlcmZvcm1Db25zb2xl
TWVzc2FnZXMoKSIpOworfQorCis8L3NjcmlwdD4KKzwvaGVhZD4KKworPGJvZHkgb25sb2FkPSJy
dW5UZXN0KCkiPgorPHA+VGVzdHMgdGhhdCBjb25zb2xlLWFwaSBtZXNzYWdlcyBjb250YWluIHN0
YWNrIHRyYWNlcy48L3A+CisKKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xlL2NvbnNvbGUtbmF0aXZlLWZ1bmN0aW9uLXRv
LXN0cmluZy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29u
c29sZS9jb25zb2xlLW5hdGl2ZS1mdW5jdGlvbi10by1zdHJpbmctZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmYzYjAzNzgxYmE4NzMyMTQyZDU4N2NjZGFhZWI2MDcwMzczNTRkM2YKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb25zb2xl
LW5hdGl2ZS1mdW5jdGlvbi10by1zdHJpbmctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNjMgQEAK
K1Rlc3RzIHRoYXQgY29tbWFuZC1saW5lIEFQSSBtZXRob2RzIGJlaGF2ZSBzaW1pbGFybHkgdG8g
bmF0aXZlIGNvZGUgYnkgcmV0dXJuaW5nICdbV2ViSW5zcGVjdG9yIGNvbnNvbGUgZnVuY3Rpb25d
JyB2aWEgdG9TdHJpbmcoKS4KKworCisKKyQKK2Z1bmN0aW9uICQoKSB7IFtDb21tYW5kIExpbmUg
QVBJXSB9CisKKworJCQKK2Z1bmN0aW9uICQkKCkgeyBbQ29tbWFuZCBMaW5lIEFQSV0gfQorCisK
KyR4CitmdW5jdGlvbiAkeCgpIHsgW0NvbW1hbmQgTGluZSBBUEldIH0KKworCitkaXIKK2Z1bmN0
aW9uIGRpcigpIHsgW0NvbW1hbmQgTGluZSBBUEldIH0KKworCitkaXJ4bWwKK2Z1bmN0aW9uIGRp
cnhtbCgpIHsgW0NvbW1hbmQgTGluZSBBUEldIH0KKworCitrZXlzCitmdW5jdGlvbiBrZXlzKCkg
eyBbQ29tbWFuZCBMaW5lIEFQSV0gfQorCisKK3ZhbHVlcworZnVuY3Rpb24gdmFsdWVzKCkgeyBb
Q29tbWFuZCBMaW5lIEFQSV0gfQorCisKK3Byb2ZpbGUKK2Z1bmN0aW9uIHByb2ZpbGUoKSB7IFtD
b21tYW5kIExpbmUgQVBJXSB9CisKKworcHJvZmlsZUVuZAorZnVuY3Rpb24gcHJvZmlsZUVuZCgp
IHsgW0NvbW1hbmQgTGluZSBBUEldIH0KKworCittb25pdG9yRXZlbnRzCitmdW5jdGlvbiBtb25p
dG9yRXZlbnRzKCkgeyBbQ29tbWFuZCBMaW5lIEFQSV0gfQorCisKK3VubW9uaXRvckV2ZW50cwor
ZnVuY3Rpb24gdW5tb25pdG9yRXZlbnRzKCkgeyBbQ29tbWFuZCBMaW5lIEFQSV0gfQorCisKK2lu
c3BlY3QKK2Z1bmN0aW9uIGluc3BlY3QoKSB7IFtDb21tYW5kIExpbmUgQVBJXSB9CisKKworY29w
eQorZnVuY3Rpb24gY29weSgpIHsgW0NvbW1hbmQgTGluZSBBUEldIH0KKworCitjbGVhcgorZnVu
Y3Rpb24gY2xlYXIoKSB7IFtDb21tYW5kIExpbmUgQVBJXSB9CisKKworZ2V0RXZlbnRMaXN0ZW5l
cnMKK2Z1bmN0aW9uIGdldEV2ZW50TGlzdGVuZXJzKCkgeyBbQ29tbWFuZCBMaW5lIEFQSV0gfQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb25z
b2xlLW5hdGl2ZS1mdW5jdGlvbi10by1zdHJpbmcuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rv
ci1vYnNvbGV0ZS9jb25zb2xlL2NvbnNvbGUtbmF0aXZlLWZ1bmN0aW9uLXRvLXN0cmluZy5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjMyMWNiMTNlOGJhYzlkM2Y3Y2I4NWJkNjEzNmFmYjczMTNlOTE1NjYKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9j
b25zb2xlLW5hdGl2ZS1mdW5jdGlvbi10by1zdHJpbmcuaHRtbApAQCAtMCwwICsxLDM0IEBACis8
aHRtbD4KKzxoZWFkPgorICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rv
ci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL2h0
dHAvdGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgIDxzY3JpcHQ+CisgICAgICAgIHZhciB0ZXN0ID0gZnVuY3Rpb24oKQorICAgICAg
ICB7CisgICAgICAgICAgICB2YXIgZXhwcmVzc2lvbnMgPSBbCisgICAgICAgICAgICAgICAgIiQi
LCAiJCQiLCAiJHgiLCAiZGlyIiwgImRpcnhtbCIsICJrZXlzIiwgInZhbHVlcyIsICJwcm9maWxl
IiwgInByb2ZpbGVFbmQiLAorICAgICAgICAgICAgICAgICJtb25pdG9yRXZlbnRzIiwgInVubW9u
aXRvckV2ZW50cyIsICJpbnNwZWN0IiwgImNvcHkiLCAiY2xlYXIiLCAiZ2V0RXZlbnRMaXN0ZW5l
cnMiCisgICAgICAgICAgICBdOworCisgICAgICAgICAgICBmdW5jdGlvbiBleGVjdXRlRXhwcmVz
c2lvbigpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgaWYgKCFleHByZXNzaW9ucy5s
ZW5ndGgpIHsKKyAgICAgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wQ29uc29sZU1l
c3NhZ2VzKCk7CisgICAgICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0
KCk7CisgICAgICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICAgICAgdmFyIGV4cHJlc3Npb24gPSBleHByZXNzaW9uc1swXTsKKyAgICAgICAgICAg
ICAgICBleHByZXNzaW9ucy5zcGxpY2UoMCwgMSk7CisgICAgICAgICAgICAgICAgV2ViSW5zcGVj
dG9yLmxvZygiXG4iKTsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5D
b25zb2xlKGV4cHJlc3Npb24sIGV4ZWN1dGVFeHByZXNzaW9uKTsKKyAgICAgICAgICAgIH0KKwor
ICAgICAgICAgICAgZXhlY3V0ZUV4cHJlc3Npb24oKTsKKyAgICAgICAgfQorICAgIDwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgorICAgIDxwPlRlc3RzIHRoYXQg
Y29tbWFuZC1saW5lIEFQSSBtZXRob2RzIGJlaGF2ZSBzaW1pbGFybHkgdG8gbmF0aXZlIGNvZGUg
YnkgcmV0dXJuaW5nICdbV2ViSW5zcGVjdG9yIGNvbnNvbGUgZnVuY3Rpb25dJyB2aWEgdG9TdHJp
bmcoKS48L3A+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb25zb2xlLW5lc3RlZC1ncm91cC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb25zb2xlLW5lc3RlZC1n
cm91cC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOWYxMzk1ODAwODgyZjFiYzk2OTk4ZDE4ODU3
Y2Q3NjJhYmJlMmMyZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1v
YnNvbGV0ZS9jb25zb2xlL2NvbnNvbGUtbmVzdGVkLWdyb3VwLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDE5IEBACitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTE6IE1lc3NhZ2UgaW5zaWRlIGlubmVy
IGdyb3VwCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTQ6IE1lc3NhZ2UgdGhhdCBtdXN0IG5vdCBi
ZSBpbiBhbnkgZ3JvdXAKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAyMTogTWVzc2FnZSBpbnNpZGUg
dGhpcmQgZ3JvdXAKK1Rlc3RzIHRoYXQgY29uc29sZS5ncm91cC9ncm91cEVuZCBtZXNzYWdlcyB3
b24ndCBiZSBjb2FsZXNjZWQuIEJ1ZyA1NjExNC4gQnVnIDYzNTIxLgorCitvdXRlciBncm91cCBj
b25zb2xlLW5lc3RlZC1ncm91cC5odG1sOjkgY29uc29sZS1tZXNzYWdlIGNvbnNvbGUtbG9nLWxl
dmVsIGNvbnNvbGUtZ3JvdXAtdGl0bGUKK2lubmVyIGdyb3VwIGNvbnNvbGUtbmVzdGVkLWdyb3Vw
Lmh0bWw6MTAgY29uc29sZS1tZXNzYWdlIGNvbnNvbGUtbG9nLWxldmVsIGNvbnNvbGUtZ3JvdXAt
dGl0bGUKK01lc3NhZ2UgaW5zaWRlIGlubmVyIGdyb3VwIGNvbnNvbGUtbmVzdGVkLWdyb3VwLmh0
bWw6MTEgY29uc29sZS1tZXNzYWdlIGNvbnNvbGUtbG9nLWxldmVsCisgY29uc29sZS1tZXNzYWdl
IGNvbnNvbGUtbG9nLWxldmVsCisgY29uc29sZS1tZXNzYWdlIGNvbnNvbGUtbG9nLWxldmVsCitN
ZXNzYWdlIHRoYXQgbXVzdCBub3QgYmUgaW4gYW55IGdyb3VwIGNvbnNvbGUtbmVzdGVkLWdyb3Vw
Lmh0bWw6MTQgY29uc29sZS1tZXNzYWdlIGNvbnNvbGUtbG9nLWxldmVsCitPbmUgb2Ygc2V2ZXJh
bCBncm91cHMgd2hpY2ggc2hvdWxkbid0IGJlIGNvYWxlc2NlZC4gY29uc29sZS1uZXN0ZWQtZ3Jv
dXAuaHRtbDoxOSBjb25zb2xlLW1lc3NhZ2UgY29uc29sZS1sb2ctbGV2ZWwgY29uc29sZS1ncm91
cC10aXRsZQorT25lIG9mIHNldmVyYWwgZ3JvdXBzIHdoaWNoIHNob3VsZG4ndCBiZSBjb2FsZXNj
ZWQuIGNvbnNvbGUtbmVzdGVkLWdyb3VwLmh0bWw6MTkgY29uc29sZS1tZXNzYWdlIGNvbnNvbGUt
bG9nLWxldmVsIGNvbnNvbGUtZ3JvdXAtdGl0bGUKK09uZSBvZiBzZXZlcmFsIGdyb3VwcyB3aGlj
aCBzaG91bGRuJ3QgYmUgY29hbGVzY2VkLiBjb25zb2xlLW5lc3RlZC1ncm91cC5odG1sOjE5IGNv
bnNvbGUtbWVzc2FnZSBjb25zb2xlLWxvZy1sZXZlbCBjb25zb2xlLWdyb3VwLXRpdGxlCitNZXNz
YWdlIGluc2lkZSB0aGlyZCBncm91cCBjb25zb2xlLW5lc3RlZC1ncm91cC5odG1sOjIxIGNvbnNv
bGUtbWVzc2FnZSBjb25zb2xlLWxvZy1sZXZlbAorIGNvbnNvbGUtbWVzc2FnZSBjb25zb2xlLWxv
Zy1sZXZlbAorIGNvbnNvbGUtbWVzc2FnZSBjb25zb2xlLWxvZy1sZXZlbAorIGNvbnNvbGUtbWVz
c2FnZSBjb25zb2xlLWxvZy1sZXZlbAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0
b3Itb2Jzb2xldGUvY29uc29sZS9jb25zb2xlLW5lc3RlZC1ncm91cC5odG1sIGIvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29sZS1uZXN0ZWQtZ3JvdXAuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xNjVmMmE5M2E3MGI3MDgxYmNmN2I2YzBkYTA4MmVhMzA5ZDNlYzkxCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29u
c29sZS1uZXN0ZWQtZ3JvdXAuaHRtbApAQCAtMCwwICsxLDQ1IEBACis8aHRtbD4KKzxoZWFkPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0Lmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9jb25z
b2xlLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKworZnVuY3Rpb24gb25sb2FkKCkKK3sK
KyAgICBjb25zb2xlLmdyb3VwKCJvdXRlciBncm91cCIpOworICAgIGNvbnNvbGUuZ3JvdXAoImlu
bmVyIGdyb3VwIik7CisgICAgY29uc29sZS5sb2coIk1lc3NhZ2UgaW5zaWRlIGlubmVyIGdyb3Vw
Iik7CisgICAgY29uc29sZS5ncm91cEVuZCgpOworICAgIGNvbnNvbGUuZ3JvdXBFbmQoKTsKKyAg
ICBjb25zb2xlLmxvZygiTWVzc2FnZSB0aGF0IG11c3Qgbm90IGJlIGluIGFueSBncm91cCIpOwor
CisKKyAgICB2YXIgZ3JvdXBDb3VudCA9IDM7CisgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBncm91
cENvdW50OyBpKyspIHsKKyAgICAgICAgY29uc29sZS5ncm91cCgiT25lIG9mIHNldmVyYWwgZ3Jv
dXBzIHdoaWNoIHNob3VsZG4ndCBiZSBjb2FsZXNjZWQuIik7CisgICAgfQorICAgIGNvbnNvbGUu
bG9nKCJNZXNzYWdlIGluc2lkZSB0aGlyZCBncm91cCIpOworICAgIGZvciAodmFyIGkgPSAwOyBp
IDwgZ3JvdXBDb3VudDsgaSsrKSB7CisgICAgICAgIGNvbnNvbGUuZ3JvdXBFbmQoKTsKKyAgICB9
CisKKyAgICBydW5UZXN0KCk7Cit9CisKK2Z1bmN0aW9uIHRlc3QoKQoreworICAgIEluc3BlY3Rv
clRlc3QuZHVtcENvbnNvbGVNZXNzYWdlc1dpdGhDbGFzc2VzKCk7CisgICAgSW5zcGVjdG9yVGVz
dC5jb21wbGV0ZVRlc3QoKTsKK30KKzwvc2NyaXB0PgorPC9oZWFkPgorCis8Ym9keSBvbmxvYWQ9
Im9ubG9hZCgpIj4KKzxwPgorVGVzdHMgdGhhdCBjb25zb2xlLmdyb3VwL2dyb3VwRW5kIG1lc3Nh
Z2VzIHdvbid0IGJlIGNvYWxlc2NlZC4gPGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTU2MTE0Ij5CdWcgNTYxMTQuPC9hPgorPGEgaHJlZj0iaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYzNTIxIj5CdWcgNjM1MjEuPC9hPgorCis8
L3A+CisKKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rv
ci1vYnNvbGV0ZS9jb25zb2xlL2NvbnNvbGUtb2JqZWN0LWNvbnN0cnVjdG9yLW5hbWUtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29sZS1v
YmplY3QtY29uc3RydWN0b3ItbmFtZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzNhOWI4NDA4
YjVjNzgwMGViNjNlMmU2NzM2YTg3MmZhYmVjMjQxMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xlL2NvbnNvbGUtb2JqZWN0LWNvbnN0cnVj
dG9yLW5hbWUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsOSBAQAorQ09OU09MRSBNRVNTQUdFOiBs
aW5lIDExOiBbb2JqZWN0IE9iamVjdF0KK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxMjogW29iamVj
dCBPYmplY3RdCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTM6IFtvYmplY3QgT2JqZWN0XQorVGVz
dHMgdGhhdCB0aGUgbmFtZSBvZiB0aGUgZnVuY3Rpb24gaW52b2tlZCBhcyBvYmplY3QgY29uc3Ry
dWN0b3Igd2lsbCBiZSBkaXNwbGF5ZWQgYXMgaXRzIHR5cGUgaW4gdGhlIGZyb250LWVuZC4gQnVn
IDUwMDYzLgorCitQYXJlbnQgY29uc29sZS1vYmplY3QtY29uc3RydWN0b3ItbmFtZS5odG1sOjEx
CitQYXJlbnQgY29uc29sZS1vYmplY3QtY29uc3RydWN0b3ItbmFtZS5odG1sOjEyCitPYmplY3Qg
Y29uc29sZS1vYmplY3QtY29uc3RydWN0b3ItbmFtZS5odG1sOjEzCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xlL2NvbnNvbGUtb2JqZWN0LWNvbnN0
cnVjdG9yLW5hbWUuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xl
L2NvbnNvbGUtb2JqZWN0LWNvbnN0cnVjdG9yLW5hbWUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iOTM0ZmZl
ZDFlZTg3N2ZmYzBmNTU2ODBhMGJmZjNlZDYyZmE2ZTgyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29sZS1vYmplY3QtY29uc3Ry
dWN0b3ItbmFtZS5odG1sCkBAIC0wLDAgKzEsMzIgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUtdGVz
dC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorCitmdW5jdGlvbiBQYXJlbnQoKSB7IH0KK2Z1bmN0
aW9uIENoaWxkKCkgeyB9CitDaGlsZC5wcm90b3R5cGUgPSBuZXcgUGFyZW50KCk7Cit2YXIgb3V0
ZXIgPSB7IGlubmVyOiBmdW5jdGlvbigpIHsgfSB9OworY29uc29sZS5sb2cobmV3IFBhcmVudCgp
KTsKK2NvbnNvbGUubG9nKG5ldyBDaGlsZCgpKTsKK2NvbnNvbGUubG9nKG5ldyBvdXRlci5pbm5l
cigpKTsKKworZnVuY3Rpb24gdGVzdCgpCit7CisgICAgSW5zcGVjdG9yVGVzdC5leHBhbmRDb25z
b2xlTWVzc2FnZXMoKTsKKyAgICBJbnNwZWN0b3JUZXN0LmR1bXBDb25zb2xlTWVzc2FnZXMoKTsK
KyAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOworfQorCis8L3NjcmlwdD4KKzwvaGVh
ZD4KKworPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgorPHA+CitUZXN0cyB0aGF0IHRoZSBuYW1l
IG9mIHRoZSBmdW5jdGlvbiBpbnZva2VkIGFzIG9iamVjdCBjb25zdHJ1Y3RvciB3aWxsIGJlIGRp
c3BsYXllZCBhcyBpdHMgdHlwZSBpbiB0aGUgZnJvbnQtZW5kLgorPGEgaHJlZj0iaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUwMDYzIj5CdWcgNTAwNjMuPC9hPgorPC9w
PgorCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3It
b2Jzb2xldGUvY29uc29sZS9jb25zb2xlLW9iamVjdC1wcmV2aWV3LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xlL2NvbnNvbGUtb2JqZWN0LXByZXZp
ZXctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdmNTg1NjQ0ZTMzMjk1MGFhZTBiMDc2ZjA0ODU1
ZmI5ZjUzNWY4MTcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jz
b2xldGUvY29uc29sZS9jb25zb2xlLW9iamVjdC1wcmV2aWV3LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM5IEBACitDT05TT0xFIE1FU1NBR0U6IGxpbmUgOTogTXV0YXRpbmcgb2JqZWN0IGluIGEg
bG9vcAorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDEzOiBbb2JqZWN0IE9iamVjdF0KK0NPTlNPTEUg
TUVTU0FHRTogbGluZSAxMzogW29iamVjdCBPYmplY3RdCitDT05TT0xFIE1FU1NBR0U6IGxpbmUg
MTM6IFtvYmplY3QgT2JqZWN0XQorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE2OiBNdXRhdGluZyBh
cnJheSBpbiBhIGxvb3AKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAyMDogMCwwLDAKK0NPTlNPTEUg
TUVTU0FHRTogbGluZSAyMDogMCwwLDEKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAyMDogMCwwLDIK
K0NPTlNPTEUgTUVTU0FHRTogbGluZSAyMzogT2JqZWN0IHdpdGggbWFueSBwcm9wZXJ0aWVzCitD
T05TT0xFIE1FU1NBR0U6IGxpbmUgMjg6IFtvYmplY3QgT2JqZWN0XQorQ09OU09MRSBNRVNTQUdF
OiBsaW5lIDMwOiBBcnJheSB3aXRoIG1hbnkgcHJvcGVydGllcworQ09OU09MRSBNRVNTQUdFOiBs
aW5lIDM1OiAwLDEKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAzNzogT2JqZWN0IHdpdGggcHJvdG8K
K0NPTlNPTEUgTUVTU0FHRTogbGluZSA0MDogW29iamVjdCBPYmplY3RdCitDT05TT0xFIE1FU1NB
R0U6IGxpbmUgNDI6IFNwYXJzZSBhcnJheQorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDQ1OiAsLCws
LCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLDUwLCwsLCwsLCws
LCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCws
LCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsCitDT05TT0xFIE1FU1NBR0U6IGxpbmUg
NDc6IERlbnNlIGFycmF5IHdpdGggaW5kZXhlcyBhbmQgcHJvcGV0aWVzCitDT05TT0xFIE1FU1NB
R0U6IGxpbmUgNTM6IDAsMSwyLDMsNCw1LDYsNyw4LDksMTAsMTEsMTIsMTMsMTQsMTUsMTYsMTcs
MTgsMTksMjAsMjEsMjIsMjMsMjQsMjUsMjYsMjcsMjgsMjksMzAsMzEsMzIsMzMsMzQsMzUsMzYs
MzcsMzgsMzksNDAsNDEsNDIsNDMsNDQsNDUsNDYsNDcsNDgsNDksNTAsNTEsNTIsNTMsNTQsNTUs
NTYsNTcsNTgsNTksNjAsNjEsNjIsNjMsNjQsNjUsNjYsNjcsNjgsNjksNzAsNzEsNzIsNzMsNzQs
NzUsNzYsNzcsNzgsNzksODAsODEsODIsODMsODQsODUsODYsODcsODgsODksOTAsOTEsOTIsOTMs
OTQsOTUsOTYsOTcsOTgsOTksMTAwLDEwMSwxMDIsMTAzLDEwNCwxMDUsMTA2LDEwNywxMDgsMTA5
LDExMCwxMTEsMTEyLDExMywxMTQsMTE1LDExNiwxMTcsMTE4LDExOSwxMjAsMTIxLDEyMiwxMjMs
MTI0LDEyNSwxMjYsMTI3LDEyOCwxMjksMTMwLDEzMSwxMzIsMTMzLDEzNCwxMzUsMTM2LDEzNywx
MzgsMTM5LDE0MCwxNDEsMTQyLDE0MywxNDQsMTQ1LDE0NiwxNDcsMTQ4LDE0OQorVGVzdHMgdGhh
dCBjb25zb2xlIHByb2R1Y2VzIGluc3RhbnQgcHJldmlld3MgZm9yIGFycmF5cyBhbmQgb2JqZWN0
cy4KKworTXV0YXRpbmcgb2JqZWN0IGluIGEgbG9vcCBjb25zb2xlLW9iamVjdC1wcmV2aWV3Lmh0
bWw6OSBjb25zb2xlLW1lc3NhZ2UtdGV4dCBzb3VyY2UtY29kZSA+IGNvbnNvbGUtbWVzc2FnZS11
cmwgd2Via2l0LWh0bWwtcmVzb3VyY2UtbGluaworT2JqZWN0IHthOiAwLCBiOiAwLCBjOiAwfSBj
b25zb2xlLW9iamVjdC1wcmV2aWV3Lmh0bWw6MTMgY29uc29sZS1tZXNzYWdlLXRleHQgc291cmNl
LWNvZGUgPiBjb25zb2xlLWZvcm1hdHRlZC1vYmplY3Qgc291cmNlLWNvZGUgPiBjb25zb2xlLW9i
amVjdC1wcmV2aWV3ID4gbmFtZSA+IGNvbnNvbGUtZm9ybWF0dGVkLW51bWJlciA+IG5hbWUgPiBj
b25zb2xlLWZvcm1hdHRlZC1udW1iZXIgPiBuYW1lID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVy
ID4gY29uc29sZS1tZXNzYWdlLXVybCB3ZWJraXQtaHRtbC1yZXNvdXJjZS1saW5rCitPYmplY3Qg
e2E6IDAsIGI6IDAsIGM6IDF9IGNvbnNvbGUtb2JqZWN0LXByZXZpZXcuaHRtbDoxMyBjb25zb2xl
LW1lc3NhZ2UtdGV4dCBzb3VyY2UtY29kZSA+IGNvbnNvbGUtZm9ybWF0dGVkLW9iamVjdCBzb3Vy
Y2UtY29kZSA+IGNvbnNvbGUtb2JqZWN0LXByZXZpZXcgPiBuYW1lID4gY29uc29sZS1mb3JtYXR0
ZWQtbnVtYmVyID4gbmFtZSA+IGNvbnNvbGUtZm9ybWF0dGVkLW51bWJlciA+IG5hbWUgPiBjb25z
b2xlLWZvcm1hdHRlZC1udW1iZXIgPiBjb25zb2xlLW1lc3NhZ2UtdXJsIHdlYmtpdC1odG1sLXJl
c291cmNlLWxpbmsKK09iamVjdCB7YTogMCwgYjogMCwgYzogMn0gY29uc29sZS1vYmplY3QtcHJl
dmlldy5odG1sOjEzIGNvbnNvbGUtbWVzc2FnZS10ZXh0IHNvdXJjZS1jb2RlID4gY29uc29sZS1m
b3JtYXR0ZWQtb2JqZWN0IHNvdXJjZS1jb2RlID4gY29uc29sZS1vYmplY3QtcHJldmlldyA+IG5h
bWUgPiBjb25zb2xlLWZvcm1hdHRlZC1udW1iZXIgPiBuYW1lID4gY29uc29sZS1mb3JtYXR0ZWQt
bnVtYmVyID4gbmFtZSA+IGNvbnNvbGUtZm9ybWF0dGVkLW51bWJlciA+IGNvbnNvbGUtbWVzc2Fn
ZS11cmwgd2Via2l0LWh0bWwtcmVzb3VyY2UtbGluaworTXV0YXRpbmcgYXJyYXkgaW4gYSBsb29w
IGNvbnNvbGUtb2JqZWN0LXByZXZpZXcuaHRtbDoxNiBjb25zb2xlLW1lc3NhZ2UtdGV4dCBzb3Vy
Y2UtY29kZSA+IGNvbnNvbGUtbWVzc2FnZS11cmwgd2Via2l0LWh0bWwtcmVzb3VyY2UtbGluawor
WzAsIDAsIDBdIGNvbnNvbGUtb2JqZWN0LXByZXZpZXcuaHRtbDoyMCBjb25zb2xlLW1lc3NhZ2Ut
dGV4dCBzb3VyY2UtY29kZSA+IGNvbnNvbGUtZm9ybWF0dGVkLWFycmF5IHNvdXJjZS1jb2RlID4g
Y29uc29sZS1vYmplY3QtcHJldmlldyA+IGNvbnNvbGUtZm9ybWF0dGVkLW51bWJlciA+IGNvbnNv
bGUtZm9ybWF0dGVkLW51bWJlciA+IGNvbnNvbGUtZm9ybWF0dGVkLW51bWJlciA+IGNvbnNvbGUt
bWVzc2FnZS11cmwgd2Via2l0LWh0bWwtcmVzb3VyY2UtbGluaworWzAsIDAsIDFdIGNvbnNvbGUt
b2JqZWN0LXByZXZpZXcuaHRtbDoyMCBjb25zb2xlLW1lc3NhZ2UtdGV4dCBzb3VyY2UtY29kZSA+
IGNvbnNvbGUtZm9ybWF0dGVkLWFycmF5IHNvdXJjZS1jb2RlID4gY29uc29sZS1vYmplY3QtcHJl
dmlldyA+IGNvbnNvbGUtZm9ybWF0dGVkLW51bWJlciA+IGNvbnNvbGUtZm9ybWF0dGVkLW51bWJl
ciA+IGNvbnNvbGUtZm9ybWF0dGVkLW51bWJlciA+IGNvbnNvbGUtbWVzc2FnZS11cmwgd2Via2l0
LWh0bWwtcmVzb3VyY2UtbGluaworWzAsIDAsIDJdIGNvbnNvbGUtb2JqZWN0LXByZXZpZXcuaHRt
bDoyMCBjb25zb2xlLW1lc3NhZ2UtdGV4dCBzb3VyY2UtY29kZSA+IGNvbnNvbGUtZm9ybWF0dGVk
LWFycmF5IHNvdXJjZS1jb2RlID4gY29uc29sZS1vYmplY3QtcHJldmlldyA+IGNvbnNvbGUtZm9y
bWF0dGVkLW51bWJlciA+IGNvbnNvbGUtZm9ybWF0dGVkLW51bWJlciA+IGNvbnNvbGUtZm9ybWF0
dGVkLW51bWJlciA+IGNvbnNvbGUtbWVzc2FnZS11cmwgd2Via2l0LWh0bWwtcmVzb3VyY2UtbGlu
aworT2JqZWN0IHdpdGggbWFueSBwcm9wZXJ0aWVzIGNvbnNvbGUtb2JqZWN0LXByZXZpZXcuaHRt
bDoyMyBjb25zb2xlLW1lc3NhZ2UtdGV4dCBzb3VyY2UtY29kZSA+IGNvbnNvbGUtbWVzc2FnZS11
cmwgd2Via2l0LWh0bWwtcmVzb3VyY2UtbGluaworT2JqZWN0IHtwcm9wZXJ0eV8wOiAwLCBwcm9w
ZXJ0eV8xOiAxLCBwcm9wZXJ0eV8yOiAyLCBwcm9wZXJ0eV8zOiAzLCBwcm9wZXJ0eV80OiA04oCm
fSBjb25zb2xlLW9iamVjdC1wcmV2aWV3Lmh0bWw6MjggY29uc29sZS1tZXNzYWdlLXRleHQgc291
cmNlLWNvZGUgPiBjb25zb2xlLWZvcm1hdHRlZC1vYmplY3Qgc291cmNlLWNvZGUgPiBzZWN0aW9u
ID4gaGVhZGVyIG1vbm9zcGFjZSA+IHN1YnRpdGxlID4gdGl0bGUgPiBjb25zb2xlLW9iamVjdC1w
cmV2aWV3ID4gbmFtZSA+IGNvbnNvbGUtZm9ybWF0dGVkLW51bWJlciA+IG5hbWUgPiBjb25zb2xl
LWZvcm1hdHRlZC1udW1iZXIgPiBuYW1lID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gbmFt
ZSA+IGNvbnNvbGUtZm9ybWF0dGVkLW51bWJlciA+IG5hbWUgPiBjb25zb2xlLWZvcm1hdHRlZC1u
dW1iZXIgPiBvYmplY3QtaW5mby1zdGF0ZS1ub3RlID4gcHJvcGVydGllcyBwcm9wZXJ0aWVzLXRy
ZWUgbW9ub3NwYWNlID4gY29uc29sZS1tZXNzYWdlLXVybCB3ZWJraXQtaHRtbC1yZXNvdXJjZS1s
aW5rCitBcnJheSB3aXRoIG1hbnkgcHJvcGVydGllcyBjb25zb2xlLW9iamVjdC1wcmV2aWV3Lmh0
bWw6MzAgY29uc29sZS1tZXNzYWdlLXRleHQgc291cmNlLWNvZGUgPiBjb25zb2xlLW1lc3NhZ2Ut
dXJsIHdlYmtpdC1odG1sLXJlc291cmNlLWxpbmsKK1swLCAxLCBwcm9wZXJ0eV8wOiAwLCBwcm9w
ZXJ0eV8xOiAxLCBwcm9wZXJ0eV8yOiAyLCBwcm9wZXJ0eV8zOiAzLCBwcm9wZXJ0eV80OiA04oCm
XSBjb25zb2xlLW9iamVjdC1wcmV2aWV3Lmh0bWw6MzUgY29uc29sZS1tZXNzYWdlLXRleHQgc291
cmNlLWNvZGUgPiBjb25zb2xlLWZvcm1hdHRlZC1hcnJheSBzb3VyY2UtY29kZSA+IHNlY3Rpb24g
PiBoZWFkZXIgbW9ub3NwYWNlID4gc3VidGl0bGUgPiB0aXRsZSA+IGNvbnNvbGUtb2JqZWN0LXBy
ZXZpZXcgPiBjb25zb2xlLWZvcm1hdHRlZC1udW1iZXIgPiBjb25zb2xlLWZvcm1hdHRlZC1udW1i
ZXIgPiBuYW1lID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gbmFtZSA+IGNvbnNvbGUtZm9y
bWF0dGVkLW51bWJlciA+IG5hbWUgPiBjb25zb2xlLWZvcm1hdHRlZC1udW1iZXIgPiBuYW1lID4g
Y29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gbmFtZSA+IGNvbnNvbGUtZm9ybWF0dGVkLW51bWJl
ciA+IG9iamVjdC1pbmZvLXN0YXRlLW5vdGUgPiBwcm9wZXJ0aWVzIHByb3BlcnRpZXMtdHJlZSBt
b25vc3BhY2UgPiBjb25zb2xlLW1lc3NhZ2UtdXJsIHdlYmtpdC1odG1sLXJlc291cmNlLWxpbmsK
K09iamVjdCB3aXRoIHByb3RvIGNvbnNvbGUtb2JqZWN0LXByZXZpZXcuaHRtbDozNyBjb25zb2xl
LW1lc3NhZ2UtdGV4dCBzb3VyY2UtY29kZSA+IGNvbnNvbGUtbWVzc2FnZS11cmwgd2Via2l0LWh0
bWwtcmVzb3VyY2UtbGluaworT2JqZWN0IHtkOiAxLCBhOiAwLCBiOiAwLCBjOiAyfSBjb25zb2xl
LW9iamVjdC1wcmV2aWV3Lmh0bWw6NDAgY29uc29sZS1tZXNzYWdlLXRleHQgc291cmNlLWNvZGUg
PiBjb25zb2xlLWZvcm1hdHRlZC1vYmplY3Qgc291cmNlLWNvZGUgPiBjb25zb2xlLW9iamVjdC1w
cmV2aWV3ID4gbmFtZSA+IGNvbnNvbGUtZm9ybWF0dGVkLW51bWJlciA+IG5hbWUgPiBjb25zb2xl
LWZvcm1hdHRlZC1udW1iZXIgPiBuYW1lID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gbmFt
ZSA+IGNvbnNvbGUtZm9ybWF0dGVkLW51bWJlciA+IGNvbnNvbGUtbWVzc2FnZS11cmwgd2Via2l0
LWh0bWwtcmVzb3VyY2UtbGluaworU3BhcnNlIGFycmF5IGNvbnNvbGUtb2JqZWN0LXByZXZpZXcu
aHRtbDo0MiBjb25zb2xlLW1lc3NhZ2UtdGV4dCBzb3VyY2UtY29kZSA+IGNvbnNvbGUtbWVzc2Fn
ZS11cmwgd2Via2l0LWh0bWwtcmVzb3VyY2UtbGluaworWzUwOiA1MF0gY29uc29sZS1vYmplY3Qt
cHJldmlldy5odG1sOjQ1IGNvbnNvbGUtbWVzc2FnZS10ZXh0IHNvdXJjZS1jb2RlID4gY29uc29s
ZS1mb3JtYXR0ZWQtYXJyYXkgc291cmNlLWNvZGUgPiBjb25zb2xlLW9iamVjdC1wcmV2aWV3ID4g
bmFtZSA+IGNvbnNvbGUtZm9ybWF0dGVkLW51bWJlciA+IGNvbnNvbGUtbWVzc2FnZS11cmwgd2Vi
a2l0LWh0bWwtcmVzb3VyY2UtbGluaworRGVuc2UgYXJyYXkgd2l0aCBpbmRleGVzIGFuZCBwcm9w
ZXRpZXMgY29uc29sZS1vYmplY3QtcHJldmlldy5odG1sOjQ3IGNvbnNvbGUtbWVzc2FnZS10ZXh0
IHNvdXJjZS1jb2RlID4gY29uc29sZS1tZXNzYWdlLXVybCB3ZWJraXQtaHRtbC1yZXNvdXJjZS1s
aW5rCitbMCwgMSwgMiwgMywgNCwgNSwgNiwgNywgOCwgOSwgMTAsIDExLCAxMiwgMTMsIDE0LCAx
NSwgMTYsIDE3LCAxOCwgMTksIDIwLCAyMSwgMjIsIDIzLCAyNCwgMjUsIDI2LCAyNywgMjgsIDI5
LCAzMCwgMzEsIDMyLCAzMywgMzQsIDM1LCAzNiwgMzcsIDM4LCAzOSwgNDAsIDQxLCA0MiwgNDMs
IDQ0LCA0NSwgNDYsIDQ3LCA0OCwgNDksIDUwLCA1MSwgNTIsIDUzLCA1NCwgNTUsIDU2LCA1Nywg
NTgsIDU5LCA2MCwgNjEsIDYyLCA2MywgNjQsIDY1LCA2NiwgNjcsIDY4LCA2OSwgNzAsIDcxLCA3
MiwgNzMsIDc0LCA3NSwgNzYsIDc3LCA3OCwgNzksIDgwLCA4MSwgODIsIDgzLCA4NCwgODUsIDg2
LCA4NywgODgsIDg5LCA5MCwgOTEsIDkyLCA5MywgOTQsIDk1LCA5NiwgOTcsIDk4LCA5OeKApl0g
Y29uc29sZS1vYmplY3QtcHJldmlldy5odG1sOjUzIGNvbnNvbGUtbWVzc2FnZS10ZXh0IHNvdXJj
ZS1jb2RlID4gY29uc29sZS1mb3JtYXR0ZWQtYXJyYXkgc291cmNlLWNvZGUgPiBzZWN0aW9uID4g
aGVhZGVyIG1vbm9zcGFjZSA+IHN1YnRpdGxlID4gdGl0bGUgPiBjb25zb2xlLW9iamVjdC1wcmV2
aWV3ID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVy
ID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4g
Y29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29u
c29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29uc29s
ZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29uc29sZS1m
b3JtYXR0ZWQtbnVtYmVyID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29uc29sZS1mb3Jt
YXR0ZWQtbnVtYmVyID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29uc29sZS1mb3JtYXR0
ZWQtbnVtYmVyID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29uc29sZS1mb3JtYXR0ZWQt
bnVtYmVyID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29uc29sZS1mb3JtYXR0ZWQtbnVt
YmVyID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVy
ID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4g
Y29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29u
c29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29uc29s
ZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29uc29sZS1m
b3JtYXR0ZWQtbnVtYmVyID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29uc29sZS1mb3Jt
YXR0ZWQtbnVtYmVyID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29uc29sZS1mb3JtYXR0
ZWQtbnVtYmVyID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29uc29sZS1mb3JtYXR0ZWQt
bnVtYmVyID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29uc29sZS1mb3JtYXR0ZWQtbnVt
YmVyID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVy
ID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4g
Y29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29u
c29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29uc29s
ZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29uc29sZS1m
b3JtYXR0ZWQtbnVtYmVyID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29uc29sZS1mb3Jt
YXR0ZWQtbnVtYmVyID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29uc29sZS1mb3JtYXR0
ZWQtbnVtYmVyID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29uc29sZS1mb3JtYXR0ZWQt
bnVtYmVyID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29uc29sZS1mb3JtYXR0ZWQtbnVt
YmVyID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVy
ID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4g
Y29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29u
c29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29uc29s
ZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29uc29sZS1m
b3JtYXR0ZWQtbnVtYmVyID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29uc29sZS1mb3Jt
YXR0ZWQtbnVtYmVyID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29uc29sZS1mb3JtYXR0
ZWQtbnVtYmVyID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29uc29sZS1mb3JtYXR0ZWQt
bnVtYmVyID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29uc29sZS1mb3JtYXR0ZWQtbnVt
YmVyID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVy
ID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4g
Y29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29u
c29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29uc29s
ZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29uc29sZS1m
b3JtYXR0ZWQtbnVtYmVyID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29uc29sZS1mb3Jt
YXR0ZWQtbnVtYmVyID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29uc29sZS1mb3JtYXR0
ZWQtbnVtYmVyID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29uc29sZS1mb3JtYXR0ZWQt
bnVtYmVyID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29uc29sZS1mb3JtYXR0ZWQtbnVt
YmVyID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVy
ID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4g
Y29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gb2JqZWN0LWluZm8tc3RhdGUtbm90ZSA+IHByb3Bl
cnRpZXMgcHJvcGVydGllcy10cmVlIG1vbm9zcGFjZSA+IGNvbnNvbGUtbWVzc2FnZS11cmwgd2Vi
a2l0LWh0bWwtcmVzb3VyY2UtbGluaworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0
b3Itb2Jzb2xldGUvY29uc29sZS9jb25zb2xlLW9iamVjdC1wcmV2aWV3Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb25zb2xlLW9iamVjdC1wcmV2aWV3Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjdhMmZjNWI0NDUyZjJhMzNkNDBiOGIwNTQxZDhkNDVkOTllNjhjNwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xl
L2NvbnNvbGUtb2JqZWN0LXByZXZpZXcuaHRtbApAQCAtMCwwICsxLDc1IEBACis8aHRtbD4KKzxo
ZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10
ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rv
ci9jb25zb2xlLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKworZnVuY3Rpb24gbG9nVG9D
b25zb2xlKCkKK3sKKyAgICBjb25zb2xlLmxvZygiTXV0YXRpbmcgb2JqZWN0IGluIGEgbG9vcCIp
OworICAgIHZhciBvYmplY3QgPSB7IGE6IDAsIGI6IDAgfTsKKyAgICBmb3IgKHZhciBpID0gMDsg
aSA8IDM7ICsraSkgeworICAgICAgICBvYmplY3QuYyA9IGk7CisgICAgICAgIGNvbnNvbGUubG9n
KG9iamVjdCk7CisgICAgfQorCisgICAgY29uc29sZS5sb2coIk11dGF0aW5nIGFycmF5IGluIGEg
bG9vcCIpOworICAgIHZhciBhcnJheSA9IFswLCAwLCAwXTsKKyAgICBmb3IgKHZhciBpID0gMDsg
aSA8IDM7ICsraSkgeworICAgICAgICBhcnJheVsyXSA9IGk7CisgICAgICAgIGNvbnNvbGUubG9n
KGFycmF5KTsKKyAgICB9CisKKyAgICBjb25zb2xlLmxvZygiT2JqZWN0IHdpdGggbWFueSBwcm9w
ZXJ0aWVzIik7CisgICAgdmFyIG9iamVjdFdpdGhNYW55UHJvcGVydGllcyA9IHt9OworICAgIGZv
ciAodmFyIGkgPSAwOyBpIDwgMTA7ICsraSkgeworICAgICAgICBvYmplY3RXaXRoTWFueVByb3Bl
cnRpZXNbInByb3BlcnR5XyIgKyBpXSA9IGk7CisgICAgfQorICAgIGNvbnNvbGUubG9nKG9iamVj
dFdpdGhNYW55UHJvcGVydGllcyk7CisKKyAgICBjb25zb2xlLmxvZygiQXJyYXkgd2l0aCBtYW55
IHByb3BlcnRpZXMiKTsKKyAgICB2YXIgYXJyYXlXaXRoTWFueVByb3BlcnRpZXMgPSBbMCwgMV07
CisgICAgZm9yICh2YXIgaSA9IDA7IGkgPCAxMDsgKytpKSB7CisgICAgICAgIGFycmF5V2l0aE1h
bnlQcm9wZXJ0aWVzWyJwcm9wZXJ0eV8iICsgaV0gPSBpOworICAgIH0KKyAgICBjb25zb2xlLmxv
ZyhhcnJheVdpdGhNYW55UHJvcGVydGllcyk7CisKKyAgICBjb25zb2xlLmxvZygiT2JqZWN0IHdp
dGggcHJvdG8iKTsKKyAgICB2YXIgb2JqZWN0V2l0aFByb3RvID0geyBkOiAxIH07CisgICAgb2Jq
ZWN0V2l0aFByb3RvLl9fcHJvdG9fXyA9IG9iamVjdDsKKyAgICBjb25zb2xlLmxvZyhvYmplY3RX
aXRoUHJvdG8pOworCisgICAgY29uc29sZS5sb2coIlNwYXJzZSBhcnJheSIpOworICAgIHZhciBz
cGFyc2VBcnJheSA9IG5ldyBBcnJheSgxNTApOworICAgIHNwYXJzZUFycmF5WzUwXSA9IDUwOwor
ICAgIGNvbnNvbGUubG9nKHNwYXJzZUFycmF5KTsKKworICAgIGNvbnNvbGUubG9nKCJEZW5zZSBh
cnJheSB3aXRoIGluZGV4ZXMgYW5kIHByb3BldGllcyIpOworICAgIHZhciBkZW5zZUFycmF5ID0g
bmV3IEFycmF5KDE1MCk7CisgICAgZm9yICh2YXIgaSA9IDA7IGkgPCAxNTA7ICsraSkgeworICAg
ICAgICBkZW5zZUFycmF5W2ldID0gaTsKKyAgICAgICAgZGVuc2VBcnJheVsicHJvcGVydHlfIiAr
IGldID0gaTsKKyAgICB9CisgICAgY29uc29sZS5sb2coZGVuc2VBcnJheSk7Cit9CisKK2Z1bmN0
aW9uIHRlc3QoKQoreworICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoImxvZ1RvQ29u
c29sZSgpIiwgY2FsbGJhY2spOworCisgICAgZnVuY3Rpb24gY2FsbGJhY2soKQorICAgIHsKKyAg
ICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wQ29uc29sZU1lc3NhZ2VzKGZhbHNlLCB0cnVlKTsKKyAg
ICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKKyAgICB9Cit9Cis8L3NjcmlwdD4K
KzwvaGVhZD4KKworPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgorPHA+CitUZXN0cyB0aGF0IGNv
bnNvbGUgcHJvZHVjZXMgaW5zdGFudCBwcmV2aWV3cyBmb3IgYXJyYXlzIGFuZCBvYmplY3RzLgor
PC9wPgorCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0
b3Itb2Jzb2xldGUvY29uc29sZS9jb25zb2xlLW9yaWdpbmF0aW5nLWNvbW1hbmQtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29sZS1vcmln
aW5hdGluZy1jb21tYW5kLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lODM4YTg2MDc1OTRjOWM1
NGI0NTJlNTlkMDI2M2ZkNTgyNjU4NjRjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29sZS1vcmlnaW5hdGluZy1jb21tYW5kLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDYgQEAKK1Rlc3RzIHRoYXQgY29uc29sZSByZXN1bHQgaGFz
IG9yaWdpbmF0aW5nIGNvbW1hbmQgYXNzb2NpYXRlZCB3aXRoIGl0LgorCisxICsgMQorMgorT3Jp
Z2luYXRpbmcgZnJvbTogMSArIDEKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
LW9ic29sZXRlL2NvbnNvbGUvY29uc29sZS1vcmlnaW5hdGluZy1jb21tYW5kLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb25zb2xlLW9yaWdpbmF0aW5nLWNv
bW1hbmQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lNGY4NzdmYTg3NzhiNmE5ZmY5NGYxMTg3ZjhjNTBhZjgz
ZmRkYzYyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRl
L2NvbnNvbGUvY29uc29sZS1vcmlnaW5hdGluZy1jb21tYW5kLmh0bWwKQEAgLTAsMCArMSwyNiBA
QAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rv
ci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90
ZXN0cy9pbnNwZWN0b3IvY29uc29sZS10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisKK2Z1
bmN0aW9uIHRlc3QoKQoreworICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJbkNvbnNvbGUoIjEg
KyAxIiwgc3RlcDEpOworICAgIGZ1bmN0aW9uIHN0ZXAxKCkKKyAgICB7CisgICAgICAgIEluc3Bl
Y3RvclRlc3QuZHVtcENvbnNvbGVNZXNzYWdlcyh0cnVlKTsKKyAgICAgICAgSW5zcGVjdG9yVGVz
dC5jb21wbGV0ZVRlc3QoKTsKKyAgICB9Cit9CisKKzwvc2NyaXB0PgorPC9oZWFkPgorCis8Ym9k
eSBvbmxvYWQ9InJ1blRlc3QoKSI+Cis8cD4KKyAgICBUZXN0cyB0aGF0IGNvbnNvbGUgcmVzdWx0
IGhhcyBvcmlnaW5hdGluZyBjb21tYW5kIGFzc29jaWF0ZWQgd2l0aCBpdC4KKzwvcD4KKworPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRl
L2NvbnNvbGUvY29uc29sZS1wcmVzZXJ2ZS1sb2ctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29sZS1wcmVzZXJ2ZS1sb2ctZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjU2MWQ2ODUyNTUwMTFjMTc4YWE5YmMwMWJmMDMyNDc5ODBhYTZkOTkK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29uc29s
ZS9jb25zb2xlLXByZXNlcnZlLWxvZy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUZXN0
cyB0aGF0IHRoZSBjb25zb2xlIGNhbiBwcmVzZXJ2ZSBsb2cgbWVzc2FnZXMgYWNyb3NzIG5hdmln
YXRpb25zLiBCdWcgNTMzNTkKKworUGFnZSByZWxvYWRlZC4KK1BBU1MKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29sZS1wcmVzZXJ2ZS1s
b2cuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xlL2NvbnNvbGUt
cHJlc2VydmUtbG9nLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGVmOWEzM2M4MDgyZTg2Yzg4NmYxNzE4MzU0
Mjk5YTZkZTI3MjgyYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1v
YnNvbGV0ZS9jb25zb2xlL2NvbnNvbGUtcHJlc2VydmUtbG9nLmh0bWwKQEAgLTAsMCArMSwyNCBA
QAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rv
ci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90
ZXN0cy9pbnNwZWN0b3IvY29uc29sZS10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CitmdW5j
dGlvbiB0ZXN0KCkKK3sKKyAgICBXZWJJbnNwZWN0b3IuY29uc29sZS5hZGRNZXNzYWdlKFdlYklu
c3BlY3Rvci5Db25zb2xlTWVzc2FnZS5jcmVhdGUoV2ViSW5zcGVjdG9yLkNvbnNvbGVNZXNzYWdl
Lk1lc3NhZ2VTb3VyY2UuT3RoZXIsIFdlYkluc3BlY3Rvci5Db25zb2xlTWVzc2FnZS5NZXNzYWdl
TGV2ZWwuTG9nLCAiUEFTUyIpKTsKKyAgICBXZWJJbnNwZWN0b3Iuc2V0dGluZ3MucHJlc2VydmVD
b25zb2xlTG9nLnNldCh0cnVlKTsKKyAgICBJbnNwZWN0b3JUZXN0LnJlbG9hZFBhZ2UoZnVuY3Rp
b24oKSB7CisgICAgICAgIEluc3BlY3RvclRlc3QuZHVtcENvbnNvbGVNZXNzYWdlcygpOworICAg
ICAgICBXZWJJbnNwZWN0b3Iuc2V0dGluZ3MucHJlc2VydmVDb25zb2xlTG9nLnNldChmYWxzZSk7
CisgICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7CisgICAgfSk7Cit9Cis8L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KKzxwPgorVGVzdHMgdGhh
dCB0aGUgY29uc29sZSBjYW4gcHJlc2VydmUgbG9nIG1lc3NhZ2VzIGFjcm9zcyBuYXZpZ2F0aW9u
cy4KKzxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MzM1
OSI+QnVnIDUzMzU5PC9hPgorPC9wPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29sZS1yZXBlYXQtY291bnQt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29u
c29sZS1yZXBlYXQtY291bnQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBjY2EwNmI5ODQxM2Mw
NmQ3MTcwZmFkNzBiMjA0ZDA3YWE3OGU2ODQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb25zb2xlLXJlcGVhdC1jb3VudC1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxNyBAQAorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDEwOiBTYW1lIG1l
c3NhZ2UKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxMDogU2FtZSBtZXNzYWdlCitDT05TT0xFIE1F
U1NBR0U6IGxpbmUgMTA6IFNhbWUgbWVzc2FnZQorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDEwOiBT
YW1lIG1lc3NhZ2UKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxMDogU2FtZSBtZXNzYWdlCitDT05T
T0xFIE1FU1NBR0U6IGxpbmUgMTA6IFNhbWUgbWVzc2FnZQorQ09OU09MRSBNRVNTQUdFOiBsaW5l
IDEwOiBTYW1lIG1lc3NhZ2UKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxMDogU2FtZSBtZXNzYWdl
CitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTA6IFNhbWUgbWVzc2FnZQorQ09OU09MRSBNRVNTQUdF
OiBsaW5lIDEwOiBTYW1lIG1lc3NhZ2UKK1Rlc3RzIHRoYXQgcmVwZWF0IGNvdW50IGlzIHByb3Bl
cmx5IHVwZGF0ZWQuCisKKzVTYW1lIG1lc3NhZ2UgY29uc29sZS1yZXBlYXQtY291bnQuaHRtbDox
MAorIkRpZmZlcmVudCBtZXNzYWdlIgorIkRpZmZlcmVudCBtZXNzYWdlIgorNVNhbWUgbWVzc2Fn
ZSBjb25zb2xlLXJlcGVhdC1jb3VudC5odG1sOjEwCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2luc3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xlL2NvbnNvbGUtcmVwZWF0LWNvdW50Lmh0bWwgYi9M
YXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb25zb2xlLXJlcGVhdC1jb3Vu
dC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjU3MDJlMThlOTdkM2M2NjdiODYyZDQ3N2VlODhiNjc1YTg2MDUx
OWYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29u
c29sZS9jb25zb2xlLXJlcGVhdC1jb3VudC5odG1sCkBAIC0wLDAgKzEsNDAgQEAKKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9y
LXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVj
dG9yL2NvbnNvbGUtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorCitmdW5jdGlvbiBkdW1w
TWVzc2FnZXMoKQoreworICAgIGZvciAodmFyIGkgPSAwOyBpIDwgNTsgKytpKQorICAgICAgICBj
b25zb2xlLmxvZygiU2FtZSBtZXNzYWdlIik7Cit9CisKK2Z1bmN0aW9uIHRlc3QoKQoreworICAg
IEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoImR1bXBNZXNzYWdlcygpIiwgc3RlcDEpOwor
CisgICAgZnVuY3Rpb24gc3RlcDEoKQorICAgIHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFs
dWF0ZUluQ29uc29sZSgiXCJEaWZmZXJlbnQgbWVzc2FnZVwiIiwgc3RlcDIpOworICAgIH0KKwor
ICAgIGZ1bmN0aW9uIHN0ZXAyKCkKKyAgICB7CisgICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVh
dGVJblBhZ2UoImR1bXBNZXNzYWdlcygpIiwgc3RlcDMpOworICAgIH0KKworICAgIGZ1bmN0aW9u
IHN0ZXAzKCkKKyAgICB7CisgICAgICAgIEluc3BlY3RvclRlc3QuZHVtcENvbnNvbGVNZXNzYWdl
cygpOworICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOworICAgIH0KK30KKzwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgorPHA+CitUZXN0cyB0
aGF0IHJlcGVhdCBjb3VudCBpcyBwcm9wZXJseSB1cGRhdGVkLgorPC9wPgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUv
Y29uc29sZS1zdHJpbmctZm9ybWF0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rv
ci1vYnNvbGV0ZS9jb25zb2xlL2NvbnNvbGUtc3RyaW5nLWZvcm1hdC1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMTFkNTBlNjYzOWUxNTY4ZDZmZGIxNGVmZDFiMzQwMTYxOTIyZGI5YgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xlL2NvbnNv
bGUtc3RyaW5nLWZvcm1hdC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMSBAQAorVGVzdHMgdGhh
dCBmb3JtYXR0aW5nIHByb2Nlc3NlcyAnJScgcHJvcGVybHkgaW4gY2FzZSBvZiBtaXNzaW5nIGZv
cm1hdHRlcnMuCisKK1N0cmluZy5zcHJpbnRmKCVULCAxKSA9ICIlVCIKK1N0cmluZy5zcHJpbnRm
KDEwJSB4IDIwJSwgb2YgdGhlIG9yaWdpbmFsKSA9ICIxMCUgeCAyMCUiCitTdHJpbmcuc3ByaW50
ZiglJSwgKSA9ICIlJSIKK1N0cmluZy5zcHJpbnRmKCUsICkgPSAiJSIKK1N0cmluZy5zcHJpbnRm
KCUgJWQsIDEpID0gIiUgMSIKK1N0cmluZy5zcHJpbnRmKCVkICUgJXMsIDEsIGZvbykgPSAiMSAl
IGZvbyIKK1N0cmluZy5zcHJpbnRmKCUuMmYsIDAuMTIzNDUpID0gIjAuMTIiCitTdHJpbmcuc3By
aW50Zihmb28lNTU1IGJhciwgKSA9ICJmb28lNTU1IGJhciIKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29sZS1zdHJpbmctZm9ybWF0Lmh0
bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb25zb2xlLXN0cmlu
Zy1mb3JtYXQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kODlkN2JiNmQzMjA2Mjk2MzYxZjljYzE0YjJmODMw
NjIwNDNjYWQ0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29s
ZXRlL2NvbnNvbGUvY29uc29sZS1zdHJpbmctZm9ybWF0Lmh0bWwKQEAgLTAsMCArMSwzMSBAQAor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9p
bnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0
cy9pbnNwZWN0b3IvY29uc29sZS10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CitmdW5jdGlv
biB0ZXN0KCkKK3sKKyAgICB2YXIgcGFyYW1zID0gWworICAgICAgICBbIiVUIiwgMV0sCisgICAg
ICAgIFsiMTAlIHggMjAlIiwgIm9mIHRoZSBvcmlnaW5hbCJdLAorICAgICAgICBbIiUlIiwgIiJd
LAorICAgICAgICBbIiUiLCAiIl0sCisgICAgICAgIFsiJSAlZCIsIDFdLAorICAgICAgICBbIiVk
ICUgJXMiLCAxLCAiZm9vIl0sCisgICAgICAgIFsiJS4yZiIsIDAuMTIzNDVdLAorICAgICAgICBb
ImZvbyU1NTUgYmFyIiwgIiJdLAorICAgIF07CisgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBwYXJh
bXMubGVuZ3RoOyArK2kpCisgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJTdHJpbmcu
c3ByaW50ZigiICsgcGFyYW1zW2ldLmpvaW4oIiwgIikgKyAiKSA9IFwiIiArIFN0cmluZy5zcHJp
bnRmLmFwcGx5KFN0cmluZywgcGFyYW1zW2ldKSArICJcIiIpOworICAgIEluc3BlY3RvclRlc3Qu
Y29tcGxldGVUZXN0KCk7Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKworPGJvZHkgb25sb2FkPSJy
dW5UZXN0KCkiPgorPHA+CitUZXN0cyB0aGF0IGZvcm1hdHRpbmcgcHJvY2Vzc2VzICclJyBwcm9w
ZXJseSBpbiBjYXNlIG9mIG1pc3NpbmcgZm9ybWF0dGVycy4KKzwvcD4KKworPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUv
Y29uc29sZS1zdWJzdGl0dXRlZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3It
b2Jzb2xldGUvY29uc29sZS9jb25zb2xlLXN1YnN0aXR1dGVkLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5jYTU0MDkyZGY5YjMwMTk0Yjg1NWEzZTI0MTk2MzIwMWYyYjMxOWUwCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29sZS1z
dWJzdGl0dXRlZC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUZXN0cyB0aGF0IGV2YWx1
YXRlIGluIGNvbnNvbGUgd29ya3MgZXZlbiBpZiB3aW5kb3cuY29uc29sZSBpcyBzdWJzdGl0dXRl
ZCBvciBkZWxldGVkLiBCdWcgNTMwNzIKKworMQorMgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb25zb2xlLXN1YnN0aXR1dGVkLmh0bWwgYi9M
YXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb25zb2xlLXN1YnN0aXR1dGVk
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMWYwOTJjOWU3MmExY2U3NzEyZTFjZjZlZmE0ODQxNGFmZWEzMGRm
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9jb25z
b2xlL2NvbnNvbGUtc3Vic3RpdHV0ZWQuaHRtbApAQCAtMCwwICsxLDU2IEBACis8aHRtbD4KKzxo
ZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10
ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisKK2Z1bmN0aW9uIGRlbGV0ZUNvbnNvbGUoKQor
eworICAgIHdpbmRvdy5jb25zb2xlID0gdW5kZWZpbmVkOworfQorCitmdW5jdGlvbiBzdWJzdGl0
dXRlQ29uc29sZSgpCit7CisgICAgd2luZG93LmNvbnNvbGUgPSB7CisgICAgICAgIGdldCBfY29t
bWFuZExpbmVBUEkoKSB7IHJldHVybiB1bmRlZmluZWQ7IH0sCisgICAgICAgIHNldCBfY29tbWFu
ZExpbmVBUEkoKSB7fQorICAgIH07Cit9CisKK3ZhciB0ZXN0ID0gZnVuY3Rpb24oKQoreworICAg
IEluc3BlY3RvclRlc3QuZXZhbHVhdGVJbkNvbnNvbGUoImRlbGV0ZUNvbnNvbGUoKSIsIHN0ZXAx
KTsKKworICAgIGZ1bmN0aW9uIHN0ZXAxKCkKKyAgICB7CisgICAgICAgIEluc3BlY3RvclRlc3Qu
ZXZhbHVhdGVJbkNvbnNvbGUoIjEiLCBzdGVwMik7CisgICAgfQorCisgICAgZnVuY3Rpb24gc3Rl
cDIocmVzdWx0KQorICAgIHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQocmVzdWx0
KTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluQ29uc29sZSgic3Vic3RpdHV0ZUNv
bnNvbGUoKSIsIHN0ZXAzKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBzdGVwMyhyZXN1bHQpCisg
ICAgeworICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5Db25zb2xlKCIyIiwgc3RlcDQp
OworICAgIH0KKworICAgIGZ1bmN0aW9uIHN0ZXA0KHJlc3VsdCkKKyAgICB7CisgICAgICAgIElu
c3BlY3RvclRlc3QuYWRkUmVzdWx0KHJlc3VsdCk7CisgICAgICAgIEluc3BlY3RvclRlc3QuY29t
cGxldGVUZXN0KCk7CisgICAgfQorfQorCis8L3NjcmlwdD4KKzwvaGVhZD4KKworPGJvZHkgb25s
b2FkPSJydW5UZXN0KCkiPgorPHA+CitUZXN0cyB0aGF0IGV2YWx1YXRlIGluIGNvbnNvbGUgd29y
a3MgZXZlbiBpZiB3aW5kb3cuY29uc29sZSBpcyBzdWJzdGl0dXRlZCBvciBkZWxldGVkLgorPGEg
aHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUzMDcyIj5CdWcg
NTMwNzI8L2E+Cis8L3A+CisKKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xlL2NvbnNvbGUtdGVzdHMtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29sZS10ZXN0cy1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODc1MTFiNmE5ODI0MzZkMjA5NGFkOGYzZTkzOGRkYzIz
MzIwNzQ1NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0
ZS9jb25zb2xlL2NvbnNvbGUtdGVzdHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNDcgQEAKK0NP
TlNPTEUgTUVTU0FHRTogbGluZSA5OiBsb2cKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxMDogZGVi
dWcKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxMTogaW5mbworQ09OU09MRSBNRVNTQUdFOiBsaW5l
IDEyOiB3YXJuCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTM6IGVycm9yCitDT05TT0xFIE1FU1NB
R0U6IGxpbmUgMTU6IHJlcGVhdGVkCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTU6IHJlcGVhdGVk
CitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTU6IHJlcGVhdGVkCitDT05TT0xFIE1FU1NBR0U6IGxp
bmUgMTU6IHJlcGVhdGVkCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTU6IHJlcGVhdGVkCitDT05T
T0xFIE1FU1NBR0U6IGxpbmUgMjA6IDEKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAyMjogW29iamVj
dCBPYmplY3RdCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMjM6IDQyCitDT05TT0xFIE1FU1NBR0U6
IGxpbmUgMjQ6IHRydWUKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAyNTogbnVsbAorQ09OU09MRSBN
RVNTQUdFOiBsaW5lIDI2OiB1bmRlZmluZWQKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAyNzogW29i
amVjdCBIVE1MRG9jdW1lbnRdCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMjg6IGZ1bmN0aW9uICgp
IHsgfQorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDI5OiBmdW5jdGlvbiBmKCkgeyB9CitDT05TT0xF
IE1FU1NBR0U6IGxpbmUgMzA6IDEsMiwzCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMzE6IC9yZWdl
eHAuKi8KK1Rlc3RzIHRoYXQgY29uc29sZSBsb2dnaW5nIGR1bXBzIHByb3BlciBtZXNzYWdlcy4K
KworbG9nIGNvbnNvbGUtdGVzdHMuaHRtbDo5IGNvbnNvbGUtbWVzc2FnZSBjb25zb2xlLWxvZy1s
ZXZlbAorZGVidWcgY29uc29sZS10ZXN0cy5odG1sOjEwIGNvbnNvbGUtbWVzc2FnZSBjb25zb2xl
LWRlYnVnLWxldmVsCitpbmZvIGNvbnNvbGUtdGVzdHMuaHRtbDoxMSBjb25zb2xlLW1lc3NhZ2Ug
Y29uc29sZS1sb2ctbGV2ZWwKK3dhcm4gY29uc29sZS10ZXN0cy5odG1sOjEyIGNvbnNvbGUtbWVz
c2FnZSBjb25zb2xlLXdhcm5pbmctbGV2ZWwKK2Vycm9yIGNvbnNvbGUtdGVzdHMuaHRtbDoxMyBj
b25zb2xlLW1lc3NhZ2UgY29uc29sZS1lcnJvci1sZXZlbAorNXJlcGVhdGVkIGNvbnNvbGUtdGVz
dHMuaHRtbDoxNSBjb25zb2xlLW1lc3NhZ2UgY29uc29sZS1sb2ctbGV2ZWwgcmVwZWF0ZWQtbWVz
c2FnZQorY291bnQ6IDEgY29uc29sZS10ZXN0cy5odG1sOjE3IGNvbnNvbGUtbWVzc2FnZSBjb25z
b2xlLWRlYnVnLWxldmVsCitjb3VudDogMiBjb25zb2xlLXRlc3RzLmh0bWw6MTcgY29uc29sZS1t
ZXNzYWdlIGNvbnNvbGUtZGVidWctbGV2ZWwKK2dyb3VwIGNvbnNvbGUtdGVzdHMuaHRtbDoxOCBj
b25zb2xlLW1lc3NhZ2UgY29uc29sZS1sb2ctbGV2ZWwgY29uc29sZS1ncm91cC10aXRsZQorIGNv
bnNvbGUtbWVzc2FnZSBjb25zb2xlLWxvZy1sZXZlbAorMSAyIDMgY29uc29sZS10ZXN0cy5odG1s
OjIwIGNvbnNvbGUtbWVzc2FnZSBjb25zb2xlLWxvZy1sZXZlbAorZ3JvdXBDb2xsYXBzZWQgY29u
c29sZS10ZXN0cy5odG1sOjIxIGNvbnNvbGUtbWVzc2FnZSBjb25zb2xlLWxvZy1sZXZlbCBjb25z
b2xlLWdyb3VwLXRpdGxlCitPYmplY3QgY29uc29sZS10ZXN0cy5odG1sOjIyIGNvbnNvbGUtbWVz
c2FnZSBjb25zb2xlLWxvZy1sZXZlbAorNDIgY29uc29sZS10ZXN0cy5odG1sOjIzIGNvbnNvbGUt
bWVzc2FnZSBjb25zb2xlLWxvZy1sZXZlbAordHJ1ZSBjb25zb2xlLXRlc3RzLmh0bWw6MjQgY29u
c29sZS1tZXNzYWdlIGNvbnNvbGUtbG9nLWxldmVsCitudWxsIGNvbnNvbGUtdGVzdHMuaHRtbDoy
NSBjb25zb2xlLW1lc3NhZ2UgY29uc29sZS1sb2ctbGV2ZWwKK3VuZGVmaW5lZCBjb25zb2xlLXRl
c3RzLmh0bWw6MjYgY29uc29sZS1tZXNzYWdlIGNvbnNvbGUtbG9nLWxldmVsCisjZG9jdW1lbnQg
Y29uc29sZS10ZXN0cy5odG1sOjI3IGNvbnNvbGUtbWVzc2FnZSBjb25zb2xlLWxvZy1sZXZlbAor
ZnVuY3Rpb24gKCkgeyB9IGNvbnNvbGUtdGVzdHMuaHRtbDoyOCBjb25zb2xlLW1lc3NhZ2UgY29u
c29sZS1sb2ctbGV2ZWwKK2Z1bmN0aW9uIGYoKSB7IH0gY29uc29sZS10ZXN0cy5odG1sOjI5IGNv
bnNvbGUtbWVzc2FnZSBjb25zb2xlLWxvZy1sZXZlbAorQXJyYXlbM10gY29uc29sZS10ZXN0cy5o
dG1sOjMwIGNvbnNvbGUtbWVzc2FnZSBjb25zb2xlLWxvZy1sZXZlbAorL3JlZ2V4cC4qLyBjb25z
b2xlLXRlc3RzLmh0bWw6MzEgY29uc29sZS1tZXNzYWdlIGNvbnNvbGUtbG9nLWxldmVsCisgY29u
c29sZS1tZXNzYWdlIGNvbnNvbGUtbG9nLWxldmVsCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2luc3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xlL2NvbnNvbGUtdGVzdHMuaHRtbCBiL0xheW91dFRl
c3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xlL2NvbnNvbGUtdGVzdHMuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5iMzkxMDJiMDAzYTYwYWE0NDNhYTc1OThlZjM4YTk3ODY2ODQ3MWQyCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29sZS10
ZXN0cy5odG1sCkBAIC0wLDAgKzEsNTEgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUtdGVzdC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0PgorCitmdW5jdGlvbiBvbmxvYWQoKQoreworICAgIGNvbnNvbGUu
bG9nKCdsb2cnKTsKKyAgICBjb25zb2xlLmRlYnVnKCdkZWJ1ZycpOworICAgIGNvbnNvbGUuaW5m
bygnaW5mbycpOworICAgIGNvbnNvbGUud2Fybignd2FybicpOworICAgIGNvbnNvbGUuZXJyb3Io
J2Vycm9yJyk7CisgICAgZm9yICh2YXIgaSA9IDA7IGkgPCA1OyArK2kpCisgICAgICAgIGNvbnNv
bGUubG9nKCdyZXBlYXRlZCcpOworICAgIGZvciAodmFyIGkgPSAwOyBpIDwgMjsgKytpKQorICAg
ICAgICBjb25zb2xlLmNvdW50KCdjb3VudCcpOworICAgIGNvbnNvbGUuZ3JvdXAoJ2dyb3VwJyk7
CisgICAgY29uc29sZS5ncm91cEVuZCgpOworICAgIGNvbnNvbGUubG9nKCcxJywgJzInLCAnMycp
OworICAgIGNvbnNvbGUuZ3JvdXBDb2xsYXBzZWQoJ2dyb3VwQ29sbGFwc2VkJyk7CisgICAgY29u
c29sZS5sb2coeyBwcm9wZXJ0eTogInZhbHVlIiB9KTsKKyAgICBjb25zb2xlLmxvZyg0Mik7Cisg
ICAgY29uc29sZS5sb2codHJ1ZSk7CisgICAgY29uc29sZS5sb2cobnVsbCk7CisgICAgY29uc29s
ZS5sb2codW5kZWZpbmVkKTsKKyAgICBjb25zb2xlLmxvZyhkb2N1bWVudCk7CisgICAgY29uc29s
ZS5sb2coZnVuY3Rpb24oKSB7IH0pOworICAgIGNvbnNvbGUubG9nKGZ1bmN0aW9uIGYoKSB7IH0p
OworICAgIGNvbnNvbGUubG9nKFsxLCAyLCAzXSk7CisgICAgY29uc29sZS5sb2coL3JlZ2V4cC4q
Lyk7CisgICAgY29uc29sZS5ncm91cEVuZCgpOworCisgICAgcnVuVGVzdCgpOworfQorCitmdW5j
dGlvbiB0ZXN0KCkKK3sKKyAgICBJbnNwZWN0b3JUZXN0LmR1bXBDb25zb2xlTWVzc2FnZXNXaXRo
Q2xhc3NlcygpOworICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7Cit9Cis8L3Njcmlw
dD4KKzwvaGVhZD4KKworPGJvZHkgb25sb2FkPSJvbmxvYWQoKSI+Cis8cD4KK1Rlc3RzIHRoYXQg
Y29uc29sZSBsb2dnaW5nIGR1bXBzIHByb3BlciBtZXNzYWdlcy4KKzwvcD4KKworPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNv
bGUvY29uc29sZS10cmFjZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jz
b2xldGUvY29uc29sZS9jb25zb2xlLXRyYWNlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41MTkw
ZjYzNzUwNjQzNjRmM2ZkMWIzMzlkMjYzMjlhYzBiN2ViZWE3Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29sZS10cmFjZS1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSw0IEBACitUZXN0cyB0aGF0IGNvbnNvbGUudHJhY2UgZHVtcHMg
c3RhY2sgdHJhY2Ugd2l0aCBzb3VyY2UgVVJMcyBhbmQgbGluZSBudW1iZXJzLgorCitjb25zb2xl
LnRyYWNlKCkgY29uc29sZS10cmFjZS5odG1sOjliIGNvbnNvbGUtdHJhY2UuaHRtbDo5YSBjb25z
b2xlLXRyYWNlLmh0bWw6MTQKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9i
c29sZXRlL2NvbnNvbGUvY29uc29sZS10cmFjZS1pbi1ldmFsLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xlL2NvbnNvbGUtdHJhY2UtaW4tZXZhbC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGVlNjVlMmM2ZmRkNTkyODVlNzVlYzNkOTNjMzk0MWIy
NGNiNmJhZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0
ZS9jb25zb2xlL2NvbnNvbGUtdHJhY2UtaW4tZXZhbC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0
IEBACitUZXN0cyB0aGF0IHdoZW4gY29uc29sZS50cmFjZSBpcyBjYWxsZWQgaW4gZXZhbCdlZCBz
Y3JpcHQgZW5kaW5nIHdpdGggLy9AIHNvdXJjZVVSTD11cmwgaXQgd2lsbCBkdW1wIGEgc3RhY2sg
dHJhY2UgdGhhdCB3aWxsIGhhdmUgdGhlIHVybCBhcyB0aGUgc2NyaXB0IHNvdXJjZS4gQnVnIDQ3
MjUyLgorCitjb25zb2xlLnRyYWNlKCliYWV2YWxTb3VyY2UKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29sZS10cmFjZS1pbi1ldmFsLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb25zb2xlLXRyYWNl
LWluLWV2YWwuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42NGNlOWUxOTI4ZDk2NDNiZDU5NzA4NmQyZDUxY2Ex
YTA1NTZjMWYzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29s
ZXRlL2NvbnNvbGUvY29uc29sZS10cmFjZS1pbi1ldmFsLmh0bWwKQEAgLTAsMCArMSw1MiBAQAor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9p
bnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0
cy9pbnNwZWN0b3IvY29uc29sZS10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisKKworZnVu
Y3Rpb24gZXZhbFNvdXJjZSgpCit7CisgICAgZnVuY3Rpb24gYigpCisgICAgeworICAgICAgICBj
b25zb2xlLnRyYWNlKCk7CisgICAgfQorCisgICAgZnVuY3Rpb24gYSgpCisgICAgeworICAgICAg
ICBiKCk7CisgICAgfQorCisgICAgYSgpOworfQorCitmdW5jdGlvbiBkb0V2YWxTb3VyY2UoKQor
eworICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CisgICAgICAgIGV2YWwoIigiICsgZXZhbFNv
dXJjZSArICIpKCkvL0Agc291cmNlVVJMPWV2YWxVUkwuanMiKTsKKyAgICB9LCAwKTsKK30KKwor
ZnVuY3Rpb24gdGVzdCgpCit7CisgICAgZnVuY3Rpb24gY2FsbGJhY2soKQorICAgIHsKKyAgICAg
ICAgSW5zcGVjdG9yVGVzdC5kdW1wQ29uc29sZU1lc3NhZ2VzKCk7CisgICAgICAgIEluc3BlY3Rv
clRlc3QuY29tcGxldGVUZXN0KCk7CisgICAgfQorICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJ
blBhZ2UoImRvRXZhbFNvdXJjZSgpIik7CisgICAgSW5zcGVjdG9yVGVzdC5hZGRDb25zb2xlU25p
ZmZlcihjYWxsYmFjayk7Cit9CisKKzwvc2NyaXB0PgorPC9oZWFkPgorCis8Ym9keSBvbmxvYWQ9
InJ1blRlc3QoKSI+Cis8cD4KK1Rlc3RzIHRoYXQgd2hlbiBjb25zb2xlLnRyYWNlIGlzIGNhbGxl
ZCBpbiBldmFsJ2VkIHNjcmlwdCBlbmRpbmcKK3dpdGggLy9AIHNvdXJjZVVSTD11cmwgaXQgd2ls
bCBkdW1wIGEgc3RhY2sgdHJhY2UgdGhhdCB3aWxsIGhhdmUKK3RoZSB1cmwgYXMgdGhlIHNjcmlw
dCBzb3VyY2UuIDxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD00NzI1MiI+QnVnIDQ3MjUyLjwvYT4KKzwvcD4KKworPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29sZS10cmFj
ZS5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29sZS10
cmFjZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM1YmYyNTNkMGIwMmNkNjNhNWE1ZWE2ZDU0ZmJhNTBjYzQz
MzdlOWQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUv
Y29uc29sZS9jb25zb2xlLXRyYWNlLmh0bWwKQEAgLTAsMCArMSwzNyBAQAorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVz
dC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3Iv
Y29uc29sZS10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisKK2Z1bmN0aW9uIGIoKQorewor
ICAgIGNvbnNvbGUudHJhY2UoKTsKK30KKworZnVuY3Rpb24gYSgpCit7CisgICAgYigpOworfQor
CitmdW5jdGlvbiB0ZXN0KCkKK3sKKyAgICBmdW5jdGlvbiBjYWxsYmFjaygpCisgICAgeworICAg
ICAgICBJbnNwZWN0b3JUZXN0LmR1bXBDb25zb2xlTWVzc2FnZXMoKTsKKyAgICAgICAgSW5zcGVj
dG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKKyAgICB9CisgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0
ZUluUGFnZSgic2V0VGltZW91dChhLCAwKSIpOworICAgIEluc3BlY3RvclRlc3QuYWRkQ29uc29s
ZVNuaWZmZXIoY2FsbGJhY2spOworfQorCis8L3NjcmlwdD4KKzwvaGVhZD4KKworPGJvZHkgb25s
b2FkPSJydW5UZXN0KCkiPgorPHA+CitUZXN0cyB0aGF0IGNvbnNvbGUudHJhY2UgZHVtcHMgc3Rh
Y2sgdHJhY2Ugd2l0aCBzb3VyY2UgVVJMcyBhbmQgbGluZSBudW1iZXJzLgorPC9wPgorCis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUv
Y29uc29sZS9jb25zb2xlLXVuY2F1Z2h0LWV4Y2VwdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb25zb2xlLXVuY2F1Z2h0LWV4Y2VwdGlv
bi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2EyY2ZlNmRlZGEzMTczNTFmMDY2NmQ0ZWM2Zjhj
OTViNzg1Zjk1MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNv
bGV0ZS9jb25zb2xlL2NvbnNvbGUtdW5jYXVnaHQtZXhjZXB0aW9uLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEwIEBACitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTg6IEVycm9yOiBFeGNlcHRpb24g
aW4gaW5saW5lIHNjcmlwdC4KK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxMTogRXJyb3I6IEV4Y2Vw
dGlvbiBpbiAnbG9hZCcgZXZlbnQgbGlzdGVuZXIuCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgNjog
RXJyb3I6IEV4Y2VwdGlvbiBpbiBzZXRUaW1lb3V0IGNhbGxiYWNrLgorVGVzdHMgdGhhdCB1bmNh
dWdodCBleGNlcHRpb25zIGFyZSBsb2dnZWQgaW50byBjb25zb2xlLkJ1ZyA0NzI1MC4KKworCitF
cnJvcjogRXhjZXB0aW9uIGluIGlubGluZSBzY3JpcHQuIHJlc291cmNlcy91bmNhdWdodC1pbi1p
ZnJhbWUuaHRtbDoxOGEgcmVzb3VyY2VzL3VuY2F1Z2h0LWluLWlmcmFtZS5odG1sOjE4YiByZXNv
dXJjZXMvdW5jYXVnaHQtaW4taWZyYW1lLmh0bWw6MjMKK0Vycm9yOiBFeGNlcHRpb24gaW4gJ2xv
YWQnIGV2ZW50IGxpc3RlbmVyLiByZXNvdXJjZXMvdW5jYXVnaHQtaW4taWZyYW1lLmh0bWw6MTFm
IHJlc291cmNlcy91bmNhdWdodC1pbi1pZnJhbWUuaHRtbDoxMShhbm9ueW1vdXMgZnVuY3Rpb24p
IHJlc291cmNlcy91bmNhdWdodC1pbi1pZnJhbWUuaHRtbDoxMworRXJyb3I6IEV4Y2VwdGlvbiBp
biBzZXRUaW1lb3V0IGNhbGxiYWNrLiB1bmNhdWdodC1pbi1pZnJhbWUuaHRtbDo2YmFyIHVuY2F1
Z2h0LWluLWlmcmFtZS5odG1sOjYoYW5vbnltb3VzIGZ1bmN0aW9uKSB1bmNhdWdodC1pbi1pZnJh
bWUuaHRtbDo4CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9j
b25zb2xlL2NvbnNvbGUtdW5jYXVnaHQtZXhjZXB0aW9uLWluLWV2YWwtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29sZS11bmNhdWdodC1l
eGNlcHRpb24taW4tZXZhbC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzM4ZTYzZWJjNGVjMmY4
YmZkN2M2MjRjODM4NmIwYjk0NThlYzQxZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2luc3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xlL2NvbnNvbGUtdW5jYXVnaHQtZXhjZXB0aW9uLWlu
LWV2YWwtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNyBAQAorQ09OU09MRSBNRVNTQUdFOiBsaW5l
IDQ6IEVycm9yOiBFeGNlcHRpb24gaW4gZXZhbC4KK0NPTlNPTEUgTUVTU0FHRTogbGluZSA0OiBF
cnJvcjogRXhjZXB0aW9uIGluIGV2YWwuCitUZXN0cyB0aGF0IHdoZW4gdW5jYXVnaHQgZXhjZXB0
aW9uIGluIGV2YWwnZWQgc2NyaXB0IGVuZGluZyB3aXRoIC8vQCBzb3VyY2VVUkw9dXJsIGlzIGxv
Z2dlZCBpbnRvIGNvbnNvbGUsIGl0cyBzdGFjayB0cmFjZSB3aWxsIGhhdmUgdGhlIHVybCBhcyB0
aGUgc2NyaXB0IHNvdXJjZS4gQnVnIDQ3MjUyLgorCitQYWdlIHJlbG9hZGVkLgorRXJyb3I6IEV4
Y2VwdGlvbiBpbiBldmFsLiB1bmRlZmluZWQ6NGIgdW5kZWZpbmVkOjRhZXZhbFNvdXJjZQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb25zb2xl
LXVuY2F1Z2h0LWV4Y2VwdGlvbi1pbi1ldmFsLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3It
b2Jzb2xldGUvY29uc29sZS9jb25zb2xlLXVuY2F1Z2h0LWV4Y2VwdGlvbi1pbi1ldmFsLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNWVjMDBiYmFmMDYxNjg0NzI5MTlkMjkzZWY2MjFiYjMwNzFiNmViMgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xlL2Nv
bnNvbGUtdW5jYXVnaHQtZXhjZXB0aW9uLWluLWV2YWwuaHRtbApAQCAtMCwwICsxLDQ0IEBACis8
aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2lu
c3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3Rz
L2luc3BlY3Rvci9jb25zb2xlLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKworZnVuY3Rp
b24gdGVzdCgpCit7CisgICAgSW5zcGVjdG9yVGVzdC5yZWxvYWRQYWdlKGZ1bmN0aW9uKCkgewor
ICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGFuZENvbnNvbGVNZXNzYWdlcygpOworICAgICAgICBJ
bnNwZWN0b3JUZXN0LmR1bXBDb25zb2xlTWVzc2FnZXMoKTsKKyAgICAgICAgSW5zcGVjdG9yVGVz
dC5jb21wbGV0ZVRlc3QoKTsKKyAgICB9KTsKK30KKworZnVuY3Rpb24gZXZhbFNvdXJjZSgpCit7
CisgICAgZnVuY3Rpb24gYigpCisgICAgeworICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkV4Y2Vw
dGlvbiBpbiBldmFsLiIpOworICAgIH0KKworICAgIGZ1bmN0aW9uIGEoKQorICAgIHsKKyAgICAg
ICAgYigpOworICAgIH0KKworICAgIGEoKTsKK30KKworZXZhbCgiKCIgKyBldmFsU291cmNlICsg
IikoKS8vQCBzb3VyY2VVUkw9ZXZhbFVSTC5qcyIpOworCis8L3NjcmlwdD4KKzwvaGVhZD4KKwor
PGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgorPHA+CitUZXN0cyB0aGF0IHdoZW4gdW5jYXVnaHQg
ZXhjZXB0aW9uIGluIGV2YWwnZWQgc2NyaXB0IGVuZGluZword2l0aCAvL0Agc291cmNlVVJMPXVy
bCBpcyBsb2dnZWQgaW50byBjb25zb2xlLCBpdHMgc3RhY2sgdHJhY2UKK3dpbGwgaGF2ZSB0aGUg
dXJsIGFzIHRoZSBzY3JpcHQgc291cmNlLiA8YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NDcyNTIiPkJ1ZyA0NzI1Mi48L2E+Cis8L3A+CisKKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9jb25z
b2xlL2NvbnNvbGUtdW5jYXVnaHQtZXhjZXB0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0
b3Itb2Jzb2xldGUvY29uc29sZS9jb25zb2xlLXVuY2F1Z2h0LWV4Y2VwdGlvbi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIwZWI5ODI0NjViNjZjZGEzM2VkM2Q3ZWQyODVjNjZjMTllN2YxOTYKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb25zb2xl
LXVuY2F1Z2h0LWV4Y2VwdGlvbi5odG1sCkBAIC0wLDAgKzEsMzcgQEAKKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3Qu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2Nv
bnNvbGUtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorCitmdW5jdGlvbiB0ZXN0KCkKK3sK
KyAgICBJbnNwZWN0b3JUZXN0LmFkZENvbnNvbGVTbmlmZmVyKGFkZE1lc3NhZ2UsIHRydWUpOwor
ICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoImxvYWRJZnJhbWUoKSIpOworICAgIGZ1
bmN0aW9uIGFkZE1lc3NhZ2UobWVzc2FnZSkKKyAgICB7CisgICAgICAgIGlmIChtZXNzYWdlLnRv
U3RyaW5nKCkuaW5kZXhPZigic2V0VGltZW91dCIpICE9PSAtMSkgeworICAgICAgICAgICAgSW5z
cGVjdG9yVGVzdC5leHBhbmRDb25zb2xlTWVzc2FnZXMoKTsKKyAgICAgICAgICAgIEluc3BlY3Rv
clRlc3QuZHVtcENvbnNvbGVNZXNzYWdlcygpOworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5j
b21wbGV0ZVRlc3QoKTsKKyAgICAgICAgfQorICAgIH0KK30KKworZnVuY3Rpb24gbG9hZElmcmFt
ZSgpCit7CisgICAgdmFyIGlmcmFtZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlmcmFtZSIp
OworICAgIGlmcmFtZS5zcmMgPSAicmVzb3VyY2VzL3VuY2F1Z2h0LWluLWlmcmFtZS5odG1sIjsK
KyAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGlmcmFtZSk7Cit9CisKKzwvc2NyaXB0Pgor
PC9oZWFkPgorCis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Cis8cD4KK1Rlc3RzIHRoYXQgdW5j
YXVnaHQgZXhjZXB0aW9ucyBhcmUgbG9nZ2VkIGludG8gY29uc29sZS48YSBocmVmPSJodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDcyNTAiPkJ1ZyA0NzI1MC48L2E+Cis8
L3A+CisKKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rv
ci1vYnNvbGV0ZS9jb25zb2xlL2NvbnNvbGUtdXJsLWxpbmUtY29sdW1uLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xlL2NvbnNvbGUtdXJsLWxpbmUt
Y29sdW1uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43MTMzYjI1M2I4MGJmZTc0M2YwOTRmOWJl
NzNiNDc3YTBkNGM4Njc1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
LW9ic29sZXRlL2NvbnNvbGUvY29uc29sZS11cmwtbGluZS1jb2x1bW4tZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTkgQEAKK0NPTlNPTEUgTUVTU0FHRTogbGluZSA5OiBvbmUKK0NPTlNPTEUgTUVT
U0FHRTogbGluZSAxMDogdHdvCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTE6IHRocmVlCitDT05T
T0xFIE1FU1NBR0U6IGxpbmUgMTQ6IGVycm9yCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTQ6IGxv
ZworQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE1OiBpbmZvCitDT05TT0xFIE1FU1NBR0U6IGxpbmUg
MTU6IHdhcm4KK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxNjogYXNzZXJ0CitUZXN0cyB0aGF0IHVy
bCwgbGluZSwgYW5kIGNvbHVtbiBwcm9wZXJ0aWVzIGFyZSBkZWZpbmVkIGZvciBjb25zb2xlIGZ1
bmN0aW9ucy4KKworTWVzc2FnZSBhdCBsb2NhdGlvbjogY29uc29sZS11cmwtbGluZS1jb2x1bW4u
aHRtbDo5OjE2CitNZXNzYWdlIGF0IGxvY2F0aW9uOiBjb25zb2xlLXVybC1saW5lLWNvbHVtbi5o
dG1sOjEwOjE2CitNZXNzYWdlIGF0IGxvY2F0aW9uOiBjb25zb2xlLXVybC1saW5lLWNvbHVtbi5o
dG1sOjExOjE2CitNZXNzYWdlIGF0IGxvY2F0aW9uOiBjb25zb2xlLXVybC1saW5lLWNvbHVtbi5o
dG1sOjE0OjE4CitNZXNzYWdlIGF0IGxvY2F0aW9uOiBjb25zb2xlLXVybC1saW5lLWNvbHVtbi5o
dG1sOjE0OjQwCitNZXNzYWdlIGF0IGxvY2F0aW9uOiBjb25zb2xlLXVybC1saW5lLWNvbHVtbi5o
dG1sOjE1OjE3CitNZXNzYWdlIGF0IGxvY2F0aW9uOiBjb25zb2xlLXVybC1saW5lLWNvbHVtbi5o
dG1sOjE1OjM5CitNZXNzYWdlIGF0IGxvY2F0aW9uOiBjb25zb2xlLXVybC1saW5lLWNvbHVtbi5o
dG1sOjE2OjE5CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9j
b25zb2xlL2NvbnNvbGUtdXJsLWxpbmUtY29sdW1uLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0
b3Itb2Jzb2xldGUvY29uc29sZS9jb25zb2xlLXVybC1saW5lLWNvbHVtbi5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgwY2NmNjQ2ODgzNzE4NTE2ZGE3YTYzYzE3MjUwM2IxNzYxNjU3YmQKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb25zb2xlLXVy
bC1saW5lLWNvbHVtbi5odG1sCkBAIC0wLDAgKzEsNDUgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUt
dGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorCitmdW5jdGlvbiBsb2coKSB7CisgICAgLy8g
RmlsbCBjb25zb2xlLgorICAgIGNvbnNvbGUubG9nKCJvbmUiKTsKKyAgICBjb25zb2xlLmxvZygi
dHdvIik7CisgICAgY29uc29sZS5sb2coInRocmVlIik7CisKKyAgICAvLyBEaWZmZXJlbnQgdHlw
ZXMgYW5kIGRpZmZlcmVudCBjb2x1bW5zLgorICAgIGNvbnNvbGUuZXJyb3IoImVycm9yIik7IGNv
bnNvbGUubG9nKCJsb2ciKTsKKyAgICBjb25zb2xlLmluZm8oImluZm8iKTsgY29uc29sZS53YXJu
KCJ3YXJuIik7CisgICAgY29uc29sZS5hc3NlcnQoZmFsc2UsICJhc3NlcnQiKTsKK30KKworZnVu
Y3Rpb24gdGVzdCgpCit7CisgICAgSW5zcGVjdG9yVGVzdC5hZGRTbmlmZmVyKFdlYkluc3BlY3Rv
ci5Db25zb2xlRGlzcGF0Y2hlci5wcm90b3R5cGUsICJtZXNzYWdlQWRkZWQiLCBtZXNzYWdlQWRk
ZWQsIHRydWUpOworCisgICAgZnVuY3Rpb24gbWVzc2FnZUFkZGVkKHBheWxvYWQpCisgICAgewor
ICAgICAgICB2YXIgdXJsID0gcGF5bG9hZC51cmw7CisgICAgICAgIHZhciBsYXN0U2xhc2hJbmRl
eCA9IHVybC5sYXN0SW5kZXhPZigiLyIpOworICAgICAgICB1cmwgPSB1cmwuc3Vic3RyaW5nKGxh
c3RTbGFzaEluZGV4ICsgMSk7CisgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJNZXNz
YWdlIGF0IGxvY2F0aW9uOiAiICsgdXJsICsgIjoiICsgcGF5bG9hZC5saW5lICsgIjoiICsgcGF5
bG9hZC5jb2x1bW4pOworICAgICAgICBpZiAocGF5bG9hZC5saW5lID09PSAxNikKKyAgICAgICAg
ICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7CisgICAgfQorCisgICAgSW5zcGVjdG9y
VGVzdC5ldmFsdWF0ZUluUGFnZSgibG9nKCkiKTsKK30KKworPC9zY3JpcHQ+Cis8L2hlYWQ+CisK
Kzxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KKzxwPgorVGVzdHMgdGhhdCB1cmwsIGxpbmUsIGFu
ZCBjb2x1bW4gcHJvcGVydGllcyBhcmUgZGVmaW5lZCBmb3IgY29uc29sZSBmdW5jdGlvbnMuCis8
L3A+CisKKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rv
ci1vYnNvbGV0ZS9jb25zb2xlL2NvbnNvbGUteG1sLWRvY3VtZW50LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xlL2NvbnNvbGUteG1sLWRvY3VtZW50
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45ZDdhMmY1Yjc1N2ViZWI3MjI1ZjlhMjI2Y2EzZGMz
MzUwNGU1YWJjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29s
ZXRlL2NvbnNvbGUvY29uc29sZS14bWwtZG9jdW1lbnQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
NSBAQAorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDk6IFtvYmplY3QgRG9jdW1lbnRdCitUZXN0cyB0
aGF0IFhNTCBkb2N1bWVudCBjb250ZW50cyBhcmUgbG9nZ2VkIHVzaW5nIHRoZSBjb3JyZWN0IGNh
c2UgaW4gdGhlIGNvbnNvbGUuCisKKyNkb2N1bWVudDxNaXhlZENhc2U+IFRlc3QgPC9NaXhlZENh
c2U+IGNvbnNvbGUteG1sLWRvY3VtZW50Lmh0bWw6OQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb25zb2xlLXhtbC1kb2N1bWVudC5odG1sIGIv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29sZS14bWwtZG9jdW1l
bnQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4zMTVmYWM5NjY5NTI3ODViOGM1ZmY3OTFhOTUxMmUzZDZiMDg4
YTU5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2Nv
bnNvbGUvY29uc29sZS14bWwtZG9jdW1lbnQuaHRtbApAQCAtMCwwICsxLDMzIEBACis8aHRtbD4K
KzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rv
ci10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3Bl
Y3Rvci9jb25zb2xlLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKworZnVuY3Rpb24gb25s
b2FkKCkKK3sKKyAgICBjb25zb2xlLmRpcnhtbCgobmV3IERPTVBhcnNlcigpKS5wYXJzZUZyb21T
dHJpbmcoIjxNaXhlZENhc2U+IFRlc3QgPC9NaXhlZENhc2U+IiwgInRleHQveG1sIikpOworICAg
IHJ1blRlc3QoKTsKK30KKworZnVuY3Rpb24gdGVzdCgpCit7CisgICAgSW5zcGVjdG9yVGVzdC5l
eHBhbmRDb25zb2xlTWVzc2FnZXMoKTsKKyAgICBJbnNwZWN0b3JUZXN0LnJ1bkFmdGVyUGVuZGlu
Z0Rpc3BhdGNoZXMoY2FsbGJhY2spOworCisgICAgZnVuY3Rpb24gY2FsbGJhY2soKQorICAgIHsK
KyAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wQ29uc29sZU1lc3NhZ2VzKCk7CisgICAgICAgIElu
c3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7CisgICAgfQorfQorPC9zY3JpcHQ+Cis8L2hlYWQ+
CisKKzxib2R5IG9ubG9hZD0ib25sb2FkKCkiPgorPHA+CitUZXN0cyB0aGF0IFhNTCBkb2N1bWVu
dCBjb250ZW50cyBhcmUgbG9nZ2VkIHVzaW5nIHRoZSBjb3JyZWN0IGNhc2UgaW4gdGhlIGNvbnNv
bGUuCis8L3A+CisKKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lu
c3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xlL2NvbnNvbGUteHBhdGgtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29sZS14cGF0aC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uOTc2ZTc5MTAyNzMyODM5ZWZkYjdiNzEzZWZmZWMyM2M3ODBkNDgz
ZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9jb25z
b2xlL2NvbnNvbGUteHBhdGgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK0NPTlNPTEUg
TUVTU0FHRTogbGluZSAxOiBjb21wbGV0ZQorVGVzdHMgJHggZm9yIGl0ZXJhdG9yIGFuZCBub24t
aXRlcmF0b3IgdHlwZXMuCisKKyR4KCc0MicpCiskeCgnbmFtZSgvaHRtbCknKQorJHgoJ25vdCg0
MiknKQorJHgoJy9odG1sL2JvZHkvcCcpLmxlbmd0aAorNDIKKyJodG1sIgorZmFsc2UKKzEKK2Nv
bXBsZXRlCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9jb25z
b2xlL2NvbnNvbGUteHBhdGguaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9j
b25zb2xlL2NvbnNvbGUteHBhdGguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43MTc4OGVlMGM4YmZmMzY1NGNm
NDg3YmVmNzRmMDMwZWM3NDY1Mzc1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29sZS14cGF0aC5odG1sCkBAIC0wLDAgKzEsMzUg
QEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0
b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAv
dGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorCitm
dW5jdGlvbiB0ZXN0KCkKK3sKKyAgICBJbnNwZWN0b3JUZXN0LmFkZENvbnNvbGVTbmlmZmVyKGFk
ZE1lc3NhZ2VTbmlmZmVyLCB0cnVlKTsKKworICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJbkNv
bnNvbGUoIiR4KCc0MicpIik7IC8vIG51bWJlcgorICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJ
bkNvbnNvbGUoIiR4KCduYW1lKC9odG1sKScpIik7IC8vIHN0cmluZworICAgIEluc3BlY3RvclRl
c3QuZXZhbHVhdGVJbkNvbnNvbGUoIiR4KCdub3QoNDIpJykiKTsgLy8gYm9vbGVhbgorICAgIElu
c3BlY3RvclRlc3QuZXZhbHVhdGVJbkNvbnNvbGUoIiR4KCcvaHRtbC9ib2R5L3AnKS5sZW5ndGgi
KTsgLy8gbm9kZSBpdGVyYXRvcgorICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoImNv
bnNvbGUubG9nKCdjb21wbGV0ZScpIik7IC8vIG5vZGUgaXRlcmF0b3IKKworICAgIGZ1bmN0aW9u
IGFkZE1lc3NhZ2VTbmlmZmVyKG1lc3NhZ2UpCisgICAgeworICAgICAgICBpZiAobWVzc2FnZS50
b1N0cmluZygpLmluZGV4T2YoImNvbXBsZXRlIikgIT09IC0xKSB7CisgICAgICAgICAgICBJbnNw
ZWN0b3JUZXN0LmR1bXBDb25zb2xlTWVzc2FnZXMoKTsKKyAgICAgICAgICAgIEluc3BlY3RvclRl
c3QuY29tcGxldGVUZXN0KCk7CisgICAgICAgIH0KKyAgICB9Cit9CisKKzwvc2NyaXB0PgorPC9o
ZWFkPgorCis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Cis8cD4KK1Rlc3RzICR4IGZvciBpdGVy
YXRvciBhbmQgbm9uLWl0ZXJhdG9yIHR5cGVzLgorPC9wPgorCis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9pbnNwZWN0
LWh0bWwtYWxsLWNvbGxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
LW9ic29sZXRlL2NvbnNvbGUvaW5zcGVjdC1odG1sLWFsbC1jb2xsZWN0aW9uLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4wOTg3MjdkYzYwYTkyZTA4ZTk2ZTQxYTU1YmY3NTdhYmNhMmFhODBlCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUv
aW5zcGVjdC1odG1sLWFsbC1jb2xsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQgQEAK
K1Rlc3RzIHRoYXQgSFRNTEFsbENvbGxlY3Rpb24gcHJvcGVydGllcyBjYW4gYmUgaW5zcGVjdGVk
LgorCitQQVNTRUQ6IHJldHJpZXZlZCBsZW5ndGggb2YgZG9jdW1lbnQuYWxsCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xlL2luc3BlY3QtaHRtbC1h
bGwtY29sbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNv
bGUvaW5zcGVjdC1odG1sLWFsbC1jb2xsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjllNGE0ZWNj
OGM5MDA0NWNkYWU2MTRhZjljYTE4ZDkxNDAwODcyOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xlL2luc3BlY3QtaHRtbC1hbGwtY29sbGVj
dGlvbi5odG1sCkBAIC0wLDAgKzEsMzkgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdD4KKworZnVuY3Rpb24gdGVzdCgpCit7CisgICAgUnVudGltZUFnZW50LmV2YWx1YXRl
KCJkb2N1bWVudC5hbGwiLCAiY29uc29sZSIsIGZhbHNlLCBkaWRHZXRIVE1MQWxsQ29sbGVjdGlv
bi5iaW5kKHRoaXMpKTsKKyAgICBmdW5jdGlvbiBkaWRHZXRIVE1MQWxsQ29sbGVjdGlvbihlcnJv
ciwgcmVzdWx0LCB3YXNUaHJvd24pCisgICAgeworICAgICAgICBpZiAoZXJyb3IgfHwgd2FzVGhy
b3duKSB7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiRkFJTEVEOiAiICsg
ZXJyb3IpOworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKKyAgICAg
ICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAgICAgICB2YXIgaHRtbEFsbENvbGxlY3Rpb24g
PSBXZWJJbnNwZWN0b3IuUmVtb3RlT2JqZWN0LmZyb21QYXlsb2FkKHJlc3VsdCk7CisgICAgICAg
IGh0bWxBbGxDb2xsZWN0aW9uLmNhbGxGdW5jdGlvbkpTT04oImZ1bmN0aW9uKGNvbGxlY3Rpb24p
IHsgcmV0dXJuIHRoaXMubGVuZ3RoICsgY29sbGVjdGlvbi5sZW5ndGg7IH0iLCBbe29iamVjdElk
OiBodG1sQWxsQ29sbGVjdGlvbi5vYmplY3RJZH1dLCBkaWRHZXRMZW5ndGguYmluZCh0aGlzKSk7
CisgICAgfQorCisgICAgZnVuY3Rpb24gZGlkR2V0TGVuZ3RoKGxlbikKKyAgICB7CisgICAgICAg
IGlmICghbGVuIHx8IHR5cGVvZiBsZW4gIT09ICJudW1iZXIiKQorICAgICAgICAgICAgSW5zcGVj
dG9yVGVzdC5hZGRSZXN1bHQoIkZBSUxFRDogdW5leHBlY3RlZCBkb2N1bWVudC5hbGwubGVuZ3Ro
OiAiICsgbGVuKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRS
ZXN1bHQoIlBBU1NFRDogcmV0cmlldmVkIGxlbmd0aCBvZiBkb2N1bWVudC5hbGwiKTsKKyAgICAg
ICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKKyAgICB9Cit9CisKKzwvc2NyaXB0Pgor
PC9oZWFkPgorCis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Cis8cD4KK1Rlc3RzIHRoYXQgSFRN
TEFsbENvbGxlY3Rpb24gcHJvcGVydGllcyBjYW4gYmUgaW5zcGVjdGVkLgorPC9wPgorCis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUv
Y29uc29sZS9yZXNvdXJjZXMvbG9nLXNvdXJjZS5qcyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1v
YnNvbGV0ZS9jb25zb2xlL3Jlc291cmNlcy9sb2ctc291cmNlLmpzCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZkYWIx
NzczYjhhYWI5NGY5ZGIzODRiMzBjODJiODQ1ZGY4OWMyZjYKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9yZXNvdXJjZXMvbG9nLXNvdXJj
ZS5qcwpAQCAtMCwwICsxLDQgQEAKK2Z1bmN0aW9uIGxvZzIoKQoreworICAgIGNvbnNvbGUubG9n
LmFwcGx5KGNvbnNvbGUsIGFyZ3VtZW50cyk7Cit9ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvcmVz
b3VyY2VzL3N5bnRheC1lcnJvci5qcyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9j
b25zb2xlL3Jlc291cmNlcy9zeW50YXgtZXJyb3IuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmVhOGNkMTc3YWZm
OWQxZWMyYjlkMWIyMWFjZTljNDVlMjNhZTdkZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xlL3Jlc291cmNlcy9zeW50YXgtZXJyb3IuanMK
QEAgLTAsMCArMSBAQAorKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29s
ZXRlL2NvbnNvbGUvcmVzb3VyY2VzL3VuY2F1Z2h0LWluLWlmcmFtZS5odG1sIGIvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvcmVzb3VyY2VzL3VuY2F1Z2h0LWluLWlmcmFt
ZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjQ0ODM2YzFiNTgyNTEyYTFjMTQwMTdmZjQzMTU3YmZmNzcxNmUx
MzAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29u
c29sZS9yZXNvdXJjZXMvdW5jYXVnaHQtaW4taWZyYW1lLmh0bWwKQEAgLTAsMCArMSwyNyBAQAor
PHNjcmlwdD4KK3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgZnVuY3Rpb24oZSkgewor
ICAgIGZ1bmN0aW9uIGYoKSB7CisgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CisgICAg
ICAgICAgICBmdW5jdGlvbiBiYXIoKSB7CisgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9y
KCJFeGNlcHRpb24gaW4gc2V0VGltZW91dCBjYWxsYmFjay4iKTsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIGJhcigpOworICAgICAgICB9LCAwKTsKKworICAgICAgICB0aHJvdyBuZXcgRXJy
b3IoIkV4Y2VwdGlvbiBpbiAnbG9hZCcgZXZlbnQgbGlzdGVuZXIuIikKKyAgICB9CisgICAgZigp
OworfSwgZmFsc2UpOworCitmdW5jdGlvbiBhKCkKK3sKKyAgICB0aHJvdyBuZXcgRXJyb3IoIkV4
Y2VwdGlvbiBpbiBpbmxpbmUgc2NyaXB0LiIpCit9CisKK2Z1bmN0aW9uIGIoKQoreworICAgIGEo
KTsKK30KKworYigpOworPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0
b3Itb2Jzb2xldGUvZGVidWdnZXIvYnJlYWtwb2ludC1tYW5hZ2VyLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9kZWJ1Z2dlci9icmVha3BvaW50LW1hbmFnZXIt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ5NmY4NDYwMzMwZjc0MmQyNGYyYjcxZWZkZmU0Njg0
ZmNiMmViZTIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xl
dGUvZGVidWdnZXIvYnJlYWtwb2ludC1tYW5hZ2VyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDI4
NiBAQAorVGVzdHMgQnJlYWtwb2ludE1hbmFnZXIgY2xhc3MuCisKKworUnVubmluZzogdGVzdFNl
dEJyZWFrcG9pbnQKKyAgQ3JlYXRlZCBicmVha3BvaW50cyBtYW5hZ2VyCisgIER1bXBpbmcgU3Rv
cmFnZQorICBBZGRpbmcgVUlTb3VyY2VDb2RlOiBhLmpzCisgIFNldHRpbmcgYnJlYWtwb2ludCBh
dCBhLmpzOjMwIGVuYWJsZWQ6dHJ1ZSBjb25kaXRpb246CisgICAgZGVidWdnZXJNb2RlbC5zZXRC
cmVha3BvaW50KGEuanM6MzA6KQorICAgIGJyZWFrcG9pbnRBZGRlZChhLmpzLCAzMCwgLCB0cnVl
KQorICAgIExvY2F0aW9uIGNyZWF0ZWQ6IGEuanM6MzAKKyAgRHVtcGluZyBTdG9yYWdlCisgICAg
YS5qczozMCBlbmFibGVkOnRydWUgY29uZGl0aW9uOgorICBSZXNldHRpbmcgYnJlYWtwb2ludCBt
YW5hZ2VyCisgICAgYnJlYWtwb2ludFJlbW92ZWQoYS5qcywgMzApCisgICAgTG9jYXRpb24gZGlz
cG9zZWQ6IGEuanM6MzAKKyAgICBkZWJ1Z2dlck1vZGVsLnJlbW92ZUJyZWFrcG9pbnQoYS5qczoz
MCkKKworUnVubmluZzogdGVzdFNldERpc2FibGVkQnJlYWtwb2ludAorICBDcmVhdGVkIGJyZWFr
cG9pbnRzIG1hbmFnZXIKKyAgRHVtcGluZyBTdG9yYWdlCisgIEFkZGluZyBVSVNvdXJjZUNvZGU6
IGEuanMKKyAgU2V0dGluZyBicmVha3BvaW50IGF0IGEuanM6MzAgZW5hYmxlZDpmYWxzZSBjb25k
aXRpb246CisgICAgYnJlYWtwb2ludEFkZGVkKGEuanMsIDMwLCAsIGZhbHNlKQorICBEdW1waW5n
IFN0b3JhZ2UKKyAgICBhLmpzOjMwIGVuYWJsZWQ6ZmFsc2UgY29uZGl0aW9uOgorICBFbmFibGlu
ZyBicmVha3BvaW50CisgICAgZGVidWdnZXJNb2RlbC5zZXRCcmVha3BvaW50KGEuanM6MzA6KQor
ICAgIGJyZWFrcG9pbnRSZW1vdmVkKGEuanMsIDMwKQorICAgIGJyZWFrcG9pbnRBZGRlZChhLmpz
LCAzMCwgLCB0cnVlKQorICAgIExvY2F0aW9uIGNyZWF0ZWQ6IGEuanM6MzAKKyAgRHVtcGluZyBT
dG9yYWdlCisgICAgYS5qczozMCBlbmFibGVkOnRydWUgY29uZGl0aW9uOgorICBSZXNldHRpbmcg
YnJlYWtwb2ludCBtYW5hZ2VyCisgICAgYnJlYWtwb2ludFJlbW92ZWQoYS5qcywgMzApCisgICAg
TG9jYXRpb24gZGlzcG9zZWQ6IGEuanM6MzAKKyAgICBkZWJ1Z2dlck1vZGVsLnJlbW92ZUJyZWFr
cG9pbnQoYS5qczozMCkKKworUnVubmluZzogdGVzdFNldENvbmRpdGlvbmFsQnJlYWtwb2ludAor
ICBDcmVhdGVkIGJyZWFrcG9pbnRzIG1hbmFnZXIKKyAgRHVtcGluZyBTdG9yYWdlCisgIEFkZGlu
ZyBVSVNvdXJjZUNvZGU6IGEuanMKKyAgU2V0dGluZyBicmVha3BvaW50IGF0IGEuanM6MzAgZW5h
YmxlZDp0cnVlIGNvbmRpdGlvbjpjb25kaXRpb24KKyAgICBkZWJ1Z2dlck1vZGVsLnNldEJyZWFr
cG9pbnQoYS5qczozMDpjb25kaXRpb24pCisgICAgYnJlYWtwb2ludEFkZGVkKGEuanMsIDMwLCBj
b25kaXRpb24sIHRydWUpCisgICAgTG9jYXRpb24gY3JlYXRlZDogYS5qczozMAorICBEdW1waW5n
IFN0b3JhZ2UKKyAgICBhLmpzOjMwIGVuYWJsZWQ6dHJ1ZSBjb25kaXRpb246Y29uZGl0aW9uCisg
IFVwZGF0aW5nIGNvbmRpdGlvbgorICAgIGRlYnVnZ2VyTW9kZWwucmVtb3ZlQnJlYWtwb2ludChh
LmpzOjMwKQorICAgIGRlYnVnZ2VyTW9kZWwuc2V0QnJlYWtwb2ludChhLmpzOjMwOikKKyAgICBi
cmVha3BvaW50UmVtb3ZlZChhLmpzLCAzMCkKKyAgICBMb2NhdGlvbiBkaXNwb3NlZDogYS5qczoz
MAorICAgIGJyZWFrcG9pbnRBZGRlZChhLmpzLCAzMCwgLCB0cnVlKQorICAgIExvY2F0aW9uIGNy
ZWF0ZWQ6IGEuanM6MzAKKyAgRHVtcGluZyBTdG9yYWdlCisgICAgYS5qczozMCBlbmFibGVkOnRy
dWUgY29uZGl0aW9uOgorICBSZXNldHRpbmcgYnJlYWtwb2ludCBtYW5hZ2VyCisgICAgYnJlYWtw
b2ludFJlbW92ZWQoYS5qcywgMzApCisgICAgTG9jYXRpb24gZGlzcG9zZWQ6IGEuanM6MzAKKyAg
ICBkZWJ1Z2dlck1vZGVsLnJlbW92ZUJyZWFrcG9pbnQoYS5qczozMCkKKworUnVubmluZzogdGVz
dFJlc3RvcmVCcmVha3BvaW50cworICBDcmVhdGVkIGJyZWFrcG9pbnRzIG1hbmFnZXIKKyAgRHVt
cGluZyBTdG9yYWdlCisgICAgYS5qczoxMCBlbmFibGVkOnRydWUgY29uZGl0aW9uOmZvbyA9PSBi
YXIKKyAgICBhLmpzOjIwIGVuYWJsZWQ6ZmFsc2UgY29uZGl0aW9uOgorICAgIGIuanM6MyBlbmFi
bGVkOnRydWUgY29uZGl0aW9uOgorICBBZGRpbmcgVUlTb3VyY2VDb2RlOiBhLmpzCisgICAgZGVi
dWdnZXJNb2RlbC5zZXRCcmVha3BvaW50KGEuanM6MTA6Zm9vID09IGJhcikKKyAgICBicmVha3Bv
aW50QWRkZWQoYS5qcywgMjAsICwgZmFsc2UpCisgICAgYnJlYWtwb2ludEFkZGVkKGEuanMsIDEw
LCBmb28gPT0gYmFyLCB0cnVlKQorICAgIExvY2F0aW9uIGNyZWF0ZWQ6IGEuanM6MTAKKyAgRHVt
cGluZyBTdG9yYWdlCisgICAgYS5qczoxMCBlbmFibGVkOnRydWUgY29uZGl0aW9uOmZvbyA9PSBi
YXIKKyAgICBhLmpzOjIwIGVuYWJsZWQ6ZmFsc2UgY29uZGl0aW9uOgorICAgIGIuanM6MyBlbmFi
bGVkOnRydWUgY29uZGl0aW9uOgorICBSZXNldHRpbmcgYnJlYWtwb2ludCBtYW5hZ2VyCisgICAg
YnJlYWtwb2ludFJlbW92ZWQoYS5qcywgMTApCisgICAgTG9jYXRpb24gZGlzcG9zZWQ6IGEuanM6
MTAKKyAgICBkZWJ1Z2dlck1vZGVsLnJlbW92ZUJyZWFrcG9pbnQoYS5qczoxMCkKKyAgICBicmVh
a3BvaW50UmVtb3ZlZChhLmpzLCAyMCkKKworUnVubmluZzogdGVzdFJlc3RvcmVCcmVha3BvaW50
c1R3aWNlCisgIENyZWF0ZWQgYnJlYWtwb2ludHMgbWFuYWdlcgorICBEdW1waW5nIFN0b3JhZ2UK
KyAgICBhLmpzOjEwIGVuYWJsZWQ6dHJ1ZSBjb25kaXRpb246Zm9vID09IGJhcgorICAgIGEuanM6
MjAgZW5hYmxlZDpmYWxzZSBjb25kaXRpb246CisgICAgYi5qczozIGVuYWJsZWQ6dHJ1ZSBjb25k
aXRpb246CisgIEFkZGluZyBVSVNvdXJjZUNvZGU6IGEuanMKKyAgICBkZWJ1Z2dlck1vZGVsLnNl
dEJyZWFrcG9pbnQoYS5qczoxMDpmb28gPT0gYmFyKQorICAgIGJyZWFrcG9pbnRBZGRlZChhLmpz
LCAyMCwgLCBmYWxzZSkKKyAgQWRkaW5nIFVJU291cmNlQ29kZTogYS5qcworICAgIGJyZWFrcG9p
bnRBZGRlZChhLmpzLCAxMCwgZm9vID09IGJhciwgdHJ1ZSkKKyAgICBMb2NhdGlvbiBjcmVhdGVk
OiBhLmpzOjEwCisgIER1bXBpbmcgU3RvcmFnZQorICAgIGEuanM6MTAgZW5hYmxlZDp0cnVlIGNv
bmRpdGlvbjpmb28gPT0gYmFyCisgICAgYS5qczoyMCBlbmFibGVkOmZhbHNlIGNvbmRpdGlvbjoK
KyAgICBiLmpzOjMgZW5hYmxlZDp0cnVlIGNvbmRpdGlvbjoKKyAgUmVzZXR0aW5nIGJyZWFrcG9p
bnQgbWFuYWdlcgorICAgIGJyZWFrcG9pbnRSZW1vdmVkKGEuanMsIDEwKQorICAgIExvY2F0aW9u
IGRpc3Bvc2VkOiBhLmpzOjEwCisgICAgZGVidWdnZXJNb2RlbC5yZW1vdmVCcmVha3BvaW50KGEu
anM6MTApCisgICAgYnJlYWtwb2ludFJlbW92ZWQoYS5qcywgMjApCisKK1J1bm5pbmc6IHRlc3RS
ZW1vdmVCcmVha3BvaW50cworICBDcmVhdGVkIGJyZWFrcG9pbnRzIG1hbmFnZXIKKyAgRHVtcGlu
ZyBTdG9yYWdlCisgICAgYS5qczoxMCBlbmFibGVkOnRydWUgY29uZGl0aW9uOmZvbyA9PSBiYXIK
KyAgICBhLmpzOjIwIGVuYWJsZWQ6ZmFsc2UgY29uZGl0aW9uOgorICAgIGIuanM6MyBlbmFibGVk
OnRydWUgY29uZGl0aW9uOgorICBBZGRpbmcgVUlTb3VyY2VDb2RlOiBhLmpzCisgICAgZGVidWdn
ZXJNb2RlbC5zZXRCcmVha3BvaW50KGEuanM6MTA6Zm9vID09IGJhcikKKyAgICBicmVha3BvaW50
QWRkZWQoYS5qcywgMjAsICwgZmFsc2UpCisgICAgYnJlYWtwb2ludEFkZGVkKGEuanMsIDEwLCBm
b28gPT0gYmFyLCB0cnVlKQorICAgIExvY2F0aW9uIGNyZWF0ZWQ6IGEuanM6MTAKKyAgU2V0dGlu
ZyBicmVha3BvaW50IGF0IGEuanM6MzAgZW5hYmxlZDp0cnVlIGNvbmRpdGlvbjoKKyAgICBkZWJ1
Z2dlck1vZGVsLnNldEJyZWFrcG9pbnQoYS5qczozMDopCisgICAgYnJlYWtwb2ludEFkZGVkKGEu
anMsIDMwLCAsIHRydWUpCisgICAgTG9jYXRpb24gY3JlYXRlZDogYS5qczozMAorICBSZW1vdmlu
ZyBicmVha3BvaW50IGF0IGEuanM6MzAKKyAgICBicmVha3BvaW50UmVtb3ZlZChhLmpzLCAzMCkK
KyAgICBMb2NhdGlvbiBkaXNwb3NlZDogYS5qczozMAorICAgIGRlYnVnZ2VyTW9kZWwucmVtb3Zl
QnJlYWtwb2ludChhLmpzOjMwKQorICBSZW1vdmluZyBicmVha3BvaW50IGF0IGEuanM6MTAKKyAg
ICBicmVha3BvaW50UmVtb3ZlZChhLmpzLCAxMCkKKyAgICBMb2NhdGlvbiBkaXNwb3NlZDogYS5q
czoxMAorICAgIGRlYnVnZ2VyTW9kZWwucmVtb3ZlQnJlYWtwb2ludChhLmpzOjEwKQorICBSZW1v
dmluZyBicmVha3BvaW50IGF0IGEuanM6MjAKKyAgICBicmVha3BvaW50UmVtb3ZlZChhLmpzLCAy
MCkKKyAgRHVtcGluZyBTdG9yYWdlCisgICAgYi5qczozIGVuYWJsZWQ6dHJ1ZSBjb25kaXRpb246
CisgIFJlc2V0dGluZyBicmVha3BvaW50IG1hbmFnZXIKKworUnVubmluZzogdGVzdFNldEJyZWFr
cG9pbnRUaGF0U2hpZnRzCisgIENyZWF0ZWQgYnJlYWtwb2ludHMgbWFuYWdlcgorICBEdW1waW5n
IFN0b3JhZ2UKKyAgQWRkaW5nIFVJU291cmNlQ29kZTogYS5qcworICBTZXR0aW5nIGJyZWFrcG9p
bnQgYXQgYS5qczoxMDE1IGVuYWJsZWQ6dHJ1ZSBjb25kaXRpb246CisgICAgZGVidWdnZXJNb2Rl
bC5zZXRCcmVha3BvaW50KGEuanM6MTAxNTopCisgICAgYnJlYWtwb2ludEFkZGVkKGEuanMsIDEw
MjUsICwgdHJ1ZSkKKyAgICBMb2NhdGlvbiBjcmVhdGVkOiBhLmpzOjEwMjUKKyAgRHVtcGluZyBT
dG9yYWdlCisgICAgYS5qczoxMDE1IGVuYWJsZWQ6dHJ1ZSBjb25kaXRpb246CisgIFJlc2V0dGlu
ZyBicmVha3BvaW50IG1hbmFnZXIKKyAgICBicmVha3BvaW50UmVtb3ZlZChhLmpzLCAxMDI1KQor
ICAgIExvY2F0aW9uIGRpc3Bvc2VkOiBhLmpzOjEwMjUKKyAgICBkZWJ1Z2dlck1vZGVsLnJlbW92
ZUJyZWFrcG9pbnQoYS5qczoxMDE1KQorCitSdW5uaW5nOiB0ZXN0U2V0QnJlYWtwb2ludFRoYXRT
aGlmdHNUd2ljZQorICBDcmVhdGVkIGJyZWFrcG9pbnRzIG1hbmFnZXIKKyAgRHVtcGluZyBTdG9y
YWdlCisgIEFkZGluZyBVSVNvdXJjZUNvZGU6IGEuanMKKyAgU2V0dGluZyBicmVha3BvaW50IGF0
IGEuanM6MTAxNSBlbmFibGVkOnRydWUgY29uZGl0aW9uOgorICAgIGRlYnVnZ2VyTW9kZWwuc2V0
QnJlYWtwb2ludChhLmpzOjEwMTU6KQorICAgIGJyZWFrcG9pbnRBZGRlZChhLmpzLCAxMDI1LCAs
IHRydWUpCisgICAgTG9jYXRpb24gY3JlYXRlZDogYS5qczoxMDI1CisgIFNldHRpbmcgYnJlYWtw
b2ludCBhdCBhLmpzOjEwMTUgZW5hYmxlZDp0cnVlIGNvbmRpdGlvbjoKKyAgRHVtcGluZyBTdG9y
YWdlCisgICAgYS5qczoxMDE1IGVuYWJsZWQ6dHJ1ZSBjb25kaXRpb246CisgIFJlc2V0dGluZyBi
cmVha3BvaW50IG1hbmFnZXIKKyAgICBicmVha3BvaW50UmVtb3ZlZChhLmpzLCAxMDI1KQorICAg
IExvY2F0aW9uIGRpc3Bvc2VkOiBhLmpzOjEwMjUKKyAgICBkZWJ1Z2dlck1vZGVsLnJlbW92ZUJy
ZWFrcG9pbnQoYS5qczoxMDE1KQorCitSdW5uaW5nOiB0ZXN0U2V0QnJlYWtwb2ludE91dHNpZGVT
Y3JpcHQKKyAgQ3JlYXRlZCBicmVha3BvaW50cyBtYW5hZ2VyCisgIER1bXBpbmcgU3RvcmFnZQor
ICBBZGRpbmcgVUlTb3VyY2VDb2RlOiBhLmpzCisgICAgZGVidWdnZXJNb2RlbC5zZXRCcmVha3Bv
aW50KGEuanM6MjUwMDopCisgICAgYnJlYWtwb2ludEFkZGVkKGEuanMsIDI1MDAsICwgdHJ1ZSkK
KyAgRHVtcGluZyBTdG9yYWdlCisgICAgYS5qczoyNTAwIGVuYWJsZWQ6dHJ1ZSBjb25kaXRpb246
CisgIFJlc2V0dGluZyBicmVha3BvaW50IG1hbmFnZXIKKyAgICBicmVha3BvaW50UmVtb3ZlZChh
LmpzLCAyNTAwKQorICAgIGRlYnVnZ2VyTW9kZWwucmVtb3ZlQnJlYWtwb2ludChhLmpzOjI1MDAp
CisKK1J1bm5pbmc6IHRlc3ROYXZpZ2F0aW9uCisgIENyZWF0ZWQgYnJlYWtwb2ludHMgbWFuYWdl
cgorICBEdW1waW5nIFN0b3JhZ2UKKyAgICBhLmpzOjEwIGVuYWJsZWQ6dHJ1ZSBjb25kaXRpb246
Zm9vID09IGJhcgorICAgIGEuanM6MjAgZW5hYmxlZDpmYWxzZSBjb25kaXRpb246CisgICAgYi5q
czozIGVuYWJsZWQ6dHJ1ZSBjb25kaXRpb246CisgIEFkZGluZyBVSVNvdXJjZUNvZGU6IGEuanMK
KyAgICBkZWJ1Z2dlck1vZGVsLnNldEJyZWFrcG9pbnQoYS5qczoxMDpmb28gPT0gYmFyKQorICAg
IGJyZWFrcG9pbnRBZGRlZChhLmpzLCAyMCwgLCBmYWxzZSkKKyAgICBicmVha3BvaW50QWRkZWQo
YS5qcywgMTAsIGZvbyA9PSBiYXIsIHRydWUpCisgICAgTG9jYXRpb24gY3JlYXRlZDogYS5qczox
MAorCisgIE5hdmlnYXRpbmcgdG8gQi4KKyAgUmVzZXR0aW5nIGRlYnVnZ2VyLgorICBSZXNldHRp
bmcgd29ya3NwYWNlLgorICAgIGJyZWFrcG9pbnRSZW1vdmVkKGEuanMsIDEwKQorICAgIExvY2F0
aW9uIGRpc3Bvc2VkOiBhLmpzOjEwCisgICAgYnJlYWtwb2ludFJlbW92ZWQoYS5qcywgMjApCisg
IEFkZGluZyBVSVNvdXJjZUNvZGU6IGIuanMKKyAgICBkZWJ1Z2dlck1vZGVsLnNldEJyZWFrcG9p
bnQoYi5qczozOikKKyAgICBicmVha3BvaW50QWRkZWQoYi5qcywgMywgLCB0cnVlKQorICAgIExv
Y2F0aW9uIGNyZWF0ZWQ6IGIuanM6MworCisgIE5hdmlnYXRpbmcgYmFjayB0byBBLgorICBSZXNl
dHRpbmcgZGVidWdnZXIuCisgIFJlc2V0dGluZyB3b3Jrc3BhY2UuCisgICAgYnJlYWtwb2ludFJl
bW92ZWQoYi5qcywgMykKKyAgICBMb2NhdGlvbiBkaXNwb3NlZDogYi5qczozCisgIFJlc29sdmlu
ZyBwcm92aXNpb25hbCBicmVha3BvaW50LgorICBBZGRpbmcgdGVtcG9yYXJ5IFVJU291cmNlQ29k
ZTogYS5qcworICAgIGJyZWFrcG9pbnRBZGRlZChhLmpzLCAxMSwgZm9vID09IGJhciwgdHJ1ZSkK
KyAgICBMb2NhdGlvbiBjcmVhdGVkOiBhLmpzOjExCisgIEFkZGluZyBVSVNvdXJjZUNvZGU6IGEu
anMKKyAgICBicmVha3BvaW50UmVtb3ZlZChhLmpzLCAxMSkKKyAgICBMb2NhdGlvbiBkaXNwb3Nl
ZDogYS5qczoxMQorICAgIGRlYnVnZ2VyTW9kZWwucmVtb3ZlQnJlYWtwb2ludChhLmpzOjEwKQor
ICAgIGRlYnVnZ2VyTW9kZWwuc2V0QnJlYWtwb2ludChhLmpzOjEwOmZvbyA9PSBiYXIpCisgICAg
YnJlYWtwb2ludEFkZGVkKGEuanMsIDIwLCAsIGZhbHNlKQorICAgIGJyZWFrcG9pbnRBZGRlZChh
LmpzLCAxMCwgZm9vID09IGJhciwgdHJ1ZSkKKyAgICBMb2NhdGlvbiBjcmVhdGVkOiBhLmpzOjEw
CisgIER1bXBpbmcgU3RvcmFnZQorICAgIGEuanM6MTAgZW5hYmxlZDp0cnVlIGNvbmRpdGlvbjpm
b28gPT0gYmFyCisgICAgYS5qczoyMCBlbmFibGVkOmZhbHNlIGNvbmRpdGlvbjoKKyAgICBiLmpz
OjMgZW5hYmxlZDp0cnVlIGNvbmRpdGlvbjoKKyAgUmVzZXR0aW5nIGJyZWFrcG9pbnQgbWFuYWdl
cgorICAgIGJyZWFrcG9pbnRSZW1vdmVkKGEuanMsIDEwKQorICAgIExvY2F0aW9uIGRpc3Bvc2Vk
OiBhLmpzOjEwCisgICAgZGVidWdnZXJNb2RlbC5yZW1vdmVCcmVha3BvaW50KGEuanM6MTApCisg
ICAgYnJlYWtwb2ludFJlbW92ZWQoYS5qcywgMjApCisgICAgZGVidWdnZXJNb2RlbC5yZW1vdmVC
cmVha3BvaW50KGIuanM6MykKKworUnVubmluZzogdGVzdFNvdXJjZU1hcHBpbmcKKyAgQ3JlYXRl
ZCBicmVha3BvaW50cyBtYW5hZ2VyCisgIER1bXBpbmcgU3RvcmFnZQorICAgIGEuanM6MTAgZW5h
YmxlZDp0cnVlIGNvbmRpdGlvbjpmb28gPT0gYmFyCisgICAgYS5qczoyMCBlbmFibGVkOnRydWUg
Y29uZGl0aW9uOgorICBBZGRpbmcgVUlTb3VyY2VDb2RlOiBhLmpzCisgICAgZGVidWdnZXJNb2Rl
bC5zZXRCcmVha3BvaW50KGEuanM6MTA6Zm9vID09IGJhcikKKyAgICBkZWJ1Z2dlck1vZGVsLnNl
dEJyZWFrcG9pbnQoYS5qczoyMDopCisgICAgYnJlYWtwb2ludEFkZGVkKGEuanMsIDEwLCBmb28g
PT0gYmFyLCB0cnVlKQorICAgIExvY2F0aW9uIGNyZWF0ZWQ6IGEuanM6MTAKKyAgICBicmVha3Bv
aW50QWRkZWQoYS5qcywgMjAsICwgdHJ1ZSkKKyAgICBMb2NhdGlvbiBjcmVhdGVkOiBhLmpzOjIw
CisKKyAgVG9nZ2xpbmcgc291cmNlIG1hcHBpbmcuCisgICAgYnJlYWtwb2ludFJlbW92ZWQoYS5q
cywgMTApCisgICAgYnJlYWtwb2ludEFkZGVkKGEuanMsIDIwLCBmb28gPT0gYmFyLCB0cnVlKQor
ICAgIGJyZWFrcG9pbnRSZW1vdmVkKGEuanMsIDIwKQorICAgIGJyZWFrcG9pbnRBZGRlZChhLmpz
LCAzMCwgLCB0cnVlKQorCisgIFRvZ2dsaW5nIHNvdXJjZSBtYXBwaW5nIGJhY2suCisgICAgYnJl
YWtwb2ludFJlbW92ZWQoYS5qcywgMjApCisgICAgYnJlYWtwb2ludEFkZGVkKGEuanMsIDEwLCBm
b28gPT0gYmFyLCB0cnVlKQorICAgIGJyZWFrcG9pbnRSZW1vdmVkKGEuanMsIDMwKQorICAgIGJy
ZWFrcG9pbnRBZGRlZChhLmpzLCAyMCwgLCB0cnVlKQorICBEdW1waW5nIFN0b3JhZ2UKKyAgICBh
LmpzOjEwIGVuYWJsZWQ6dHJ1ZSBjb25kaXRpb246Zm9vID09IGJhcgorICAgIGEuanM6MjAgZW5h
YmxlZDp0cnVlIGNvbmRpdGlvbjoKKyAgUmVzZXR0aW5nIGJyZWFrcG9pbnQgbWFuYWdlcgorICAg
IGJyZWFrcG9pbnRSZW1vdmVkKGEuanMsIDEwKQorICAgIExvY2F0aW9uIGRpc3Bvc2VkOiBhLmpz
OjEwCisgICAgZGVidWdnZXJNb2RlbC5yZW1vdmVCcmVha3BvaW50KGEuanM6MTApCisgICAgYnJl
YWtwb2ludFJlbW92ZWQoYS5qcywgMjApCisgICAgTG9jYXRpb24gZGlzcG9zZWQ6IGEuanM6MjAK
KyAgICBkZWJ1Z2dlck1vZGVsLnJlbW92ZUJyZWFrcG9pbnQoYS5qczoyMCkKKworUnVubmluZzog
dGVzdFByb3Zpc2lvbmFsQnJlYWtwb2ludHNSZXNvbHZlCisgIENyZWF0ZWQgYnJlYWtwb2ludHMg
bWFuYWdlcgorICBEdW1waW5nIFN0b3JhZ2UKKyAgICBhLmpzOjEwIGVuYWJsZWQ6dHJ1ZSBjb25k
aXRpb246Zm9vID09IGJhcgorICBBZGRpbmcgVUlTb3VyY2VDb2RlOiBhLmpzCisgICAgZGVidWdn
ZXJNb2RlbC5zZXRCcmVha3BvaW50KGEuanM6MTA6Zm9vID09IGJhcikKKyAgICBicmVha3BvaW50
QWRkZWQoYS5qcywgMTAsIGZvbyA9PSBiYXIsIHRydWUpCisgICAgTG9jYXRpb24gY3JlYXRlZDog
YS5qczoxMAorICBSZXNldHRpbmcgZGVidWdnZXIuCisgIFJlc2V0dGluZyB3b3Jrc3BhY2UuCisg
ICAgYnJlYWtwb2ludFJlbW92ZWQoYS5qcywgMTApCisgICAgTG9jYXRpb24gZGlzcG9zZWQ6IGEu
anM6MTAKKyAgUmVzb2x2aW5nIHByb3Zpc2lvbmFsIGJyZWFrcG9pbnQuCisgIEFkZGluZyB0ZW1w
b3JhcnkgVUlTb3VyY2VDb2RlOiBhLmpzCisgICAgYnJlYWtwb2ludEFkZGVkKGEuanMsIDExLCBm
b28gPT0gYmFyLCB0cnVlKQorICAgIExvY2F0aW9uIGNyZWF0ZWQ6IGEuanM6MTEKKyAgRHVtcGlu
ZyBTdG9yYWdlCisgICAgYS5qczoxMCBlbmFibGVkOnRydWUgY29uZGl0aW9uOmZvbyA9PSBiYXIK
KyAgUmVzZXR0aW5nIGJyZWFrcG9pbnQgbWFuYWdlcgorICAgIGJyZWFrcG9pbnRSZW1vdmVkKGEu
anMsIDExKQorICAgIExvY2F0aW9uIGRpc3Bvc2VkOiBhLmpzOjExCisgICAgZGVidWdnZXJNb2Rl
bC5yZW1vdmVCcmVha3BvaW50KGEuanM6MTApCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lu
c3BlY3Rvci1vYnNvbGV0ZS9kZWJ1Z2dlci9icmVha3BvaW50LW1hbmFnZXIuaHRtbCBiL0xheW91
dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9kZWJ1Z2dlci9icmVha3BvaW50LW1hbmFnZXIuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi45NTIzM2IwNWE5ZjhhOWIyMTYwNGMzYWRlNzRmNWZkZjE5ZDliYmFjCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2Vy
L2JyZWFrcG9pbnQtbWFuYWdlci5odG1sCkBAIC0wLDAgKzEsNTI3IEBACis8aHRtbD4KKzxoZWFk
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0
LmpzIj48L3NjcmlwdD4KKworPHNjcmlwdD4KKworZnVuY3Rpb24gdGVzdCgpCit7CisgICAgdmFy
IHVpU291cmNlQ29kZXMgPSB7fTsKKworICAgIHZhciBkZWZhdWx0TWFwcGluZyA9IHsKKyAgICAg
ICAgcmF3TG9jYXRpb25Ub1VJTG9jYXRpb246IGZ1bmN0aW9uKHJhd0xvY2F0aW9uKQorICAgICAg
ICB7CisgICAgICAgICAgICByZXR1cm4gbmV3IFdlYkluc3BlY3Rvci5VSUxvY2F0aW9uKHVpU291
cmNlQ29kZXNbcmF3TG9jYXRpb24uc2NyaXB0SWRdLCByYXdMb2NhdGlvbi5saW5lTnVtYmVyLCAw
KTsKKyAgICAgICAgfSwKKworICAgICAgICB1aUxvY2F0aW9uVG9SYXdMb2NhdGlvbjogZnVuY3Rp
b24odWlTb3VyY2VDb2RlLCBsaW5lTnVtYmVyKQorICAgICAgICB7CisgICAgICAgICAgICBpZiAo
IXVpU291cmNlQ29kZXNbdWlTb3VyY2VDb2RlLnVybF0pCisgICAgICAgICAgICAgICAgcmV0dXJu
IG51bGw7CisgICAgICAgICAgICByZXR1cm4gbmV3IFdlYkluc3BlY3Rvci5EZWJ1Z2dlck1vZGVs
LkxvY2F0aW9uKHVpU291cmNlQ29kZS51cmwsIGxpbmVOdW1iZXIsIDApOworICAgICAgICB9LAor
CisgICAgICAgIGlzSWRlbnRpdHk6IGZ1bmN0aW9uKCkKKyAgICAgICAgeworICAgICAgICAgICAg
cmV0dXJuIHRydWU7CisgICAgICAgIH0KKyAgICB9OworCisgICAgdmFyIHNoaWZ0aW5nTWFwcGlu
ZyA9IHsKKyAgICAgICAgcmF3TG9jYXRpb25Ub1VJTG9jYXRpb246IGZ1bmN0aW9uKHJhd0xvY2F0
aW9uKQorICAgICAgICB7CisgICAgICAgICAgICBpZiAodGhpcy5fZGlzYWJsZWQpCisgICAgICAg
ICAgICAgICAgcmV0dXJuIG51bGw7CisgICAgICAgICAgICByZXR1cm4gbmV3IFdlYkluc3BlY3Rv
ci5VSUxvY2F0aW9uKHVpU291cmNlQ29kZXNbcmF3TG9jYXRpb24uc2NyaXB0SWRdLCByYXdMb2Nh
dGlvbi5saW5lTnVtYmVyICsgMTAsIDApOworICAgICAgICB9LAorCisgICAgICAgIHVpTG9jYXRp
b25Ub1Jhd0xvY2F0aW9uOiBmdW5jdGlvbih1aVNvdXJjZUNvZGUsIGxpbmVOdW1iZXIpCisgICAg
ICAgIHsKKyAgICAgICAgICAgIHJldHVybiBuZXcgV2ViSW5zcGVjdG9yLkRlYnVnZ2VyTW9kZWwu
TG9jYXRpb24odWlTb3VyY2VDb2RlLnVybCwgbGluZU51bWJlciAtIDEwLCAwKTsKKyAgICAgICAg
fSwKKworICAgICAgICBpc0lkZW50aXR5OiBmdW5jdGlvbigpCisgICAgICAgIHsKKyAgICAgICAg
ICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgfQorICAgIH07CisKKyAgICBmdW5jdGlvbiBEZWJ1
Z2dlck1vZGVsTW9jayhzb3VyY2VNYXBwaW5nKQorICAgIHsKKyAgICAgICAgdGhpcy5fc2NyaXB0
cyA9IHt9OworICAgICAgICB0aGlzLl9zb3VyY2VNYXBwaW5nID0gc291cmNlTWFwcGluZzsKKyAg
ICAgICAgdGhpcy5fYnJlYWtwb2ludHMgPSB7fTsKKyAgICB9CisKKyAgICBEZWJ1Z2dlck1vZGVs
TW9jay5wcm90b3R5cGUgPSB7CisgICAgICAgIF9hZGRTY3JpcHQ6IGZ1bmN0aW9uKHNjcmlwdElk
LCB1cmwpCisgICAgICAgIHsKKyAgICAgICAgICAgIHRoaXMuX3NjcmlwdHNbc2NyaXB0SWRdID0g
bmV3IFdlYkluc3BlY3Rvci5TY3JpcHQoc2NyaXB0SWQsIHVybCk7CisgICAgICAgICAgICB0aGlz
Ll9zY3JpcHRzW3NjcmlwdElkXS5wdXNoU291cmNlTWFwcGluZyh0aGlzLl9zb3VyY2VNYXBwaW5n
KTsKKyAgICAgICAgfSwKKworICAgICAgICBfc2NyaXB0Rm9yVVJMOiBmdW5jdGlvbih1cmwpCisg
ICAgICAgIHsKKyAgICAgICAgICAgIGZvciAodmFyIHNjcmlwdElkIGluIHRoaXMuX3NjcmlwdHMp
IHsKKyAgICAgICAgICAgICAgICB2YXIgc2NyaXB0ID0gdGhpcy5fc2NyaXB0c1tzY3JpcHRJZF07
CisgICAgICAgICAgICAgICAgaWYgKHNjcmlwdC5zb3VyY2VVUkwgPT09IHVybCkKKyAgICAgICAg
ICAgICAgICAgICAgcmV0dXJuIHNjcmlwdDsKKyAgICAgICAgICAgIH0KKyAgICAgICB9LAorCisg
ICAgICAgIF9zY2hlZHVsZVNldEJlYWtwb2ludENhbGxiYWNrOiBmdW5jdGlvbihjYWxsYmFjaywg
YnJlYWtwb2ludElkLCBsb2NhdGlvbnMpCisgICAgICAgIHsKKyAgICAgICAgICAgIHNldFRpbWVv
dXQoaW5uZXJDYWxsYmFjay5iaW5kKHRoaXMpLCAwKTsKKworICAgICAgICAgICAgZnVuY3Rpb24g
aW5uZXJDYWxsYmFjaygpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgaWYgKGNhbGxi
YWNrKQorICAgICAgICAgICAgICAgICAgICBjYWxsYmFjayhicmVha3BvaW50SWQsIGxvY2F0aW9u
cyk7CisgICAgICAgICAgICAgICAgaWYgKHdpbmRvdy5zZXRCcmVha3BvaW50Q2FsbGJhY2spIHsK
KyAgICAgICAgICAgICAgICAgICAgdmFyIHNhdmVkQ2FsbGJhY2sgPSB3aW5kb3cuc2V0QnJlYWtw
b2ludENhbGxiYWNrOworICAgICAgICAgICAgICAgICAgICBkZWxldGUgd2luZG93LnNldEJyZWFr
cG9pbnRDYWxsYmFjazsKKyAgICAgICAgICAgICAgICAgICAgc2F2ZWRDYWxsYmFjaygpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgfSwKKworICAgICAgICBzZXRC
cmVha3BvaW50QnlVUkw6IGZ1bmN0aW9uKHVybCwgbGluZU51bWJlciwgY29sdW1uTnVtYmVyLCBj
b25kaXRpb24sIGNhbGxiYWNrKQorICAgICAgICB7CisgICAgICAgICAgICB2YXIgYnJlYWtwb2lu
dElkID0gdXJsICsgIjoiICsgbGluZU51bWJlcjsKKyAgICAgICAgICAgIGlmICh0aGlzLl9icmVh
a3BvaW50c1ticmVha3BvaW50SWRdKSB7CisgICAgICAgICAgICAgICAgdGhpcy5fc2NoZWR1bGVT
ZXRCZWFrcG9pbnRDYWxsYmFjayhjYWxsYmFjaywgbnVsbCk7CisgICAgICAgICAgICAgICAgcmV0
dXJuOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICB0aGlzLl9icmVha3BvaW50c1ticmVh
a3BvaW50SWRdID0gdHJ1ZTsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCIg
ICAgZGVidWdnZXJNb2RlbC5zZXRCcmVha3BvaW50KCIgKyBbdXJsLCBsaW5lTnVtYmVyLCBjb25k
aXRpb25dLmpvaW4oIjoiKSArICIpIik7CisKKyAgICAgICAgICAgIHZhciBsb2NhdGlvbnMgPSBb
XTsKKyAgICAgICAgICAgIHZhciBzY3JpcHQgPSB0aGlzLl9zY3JpcHRGb3JVUkwodXJsKTsKKyAg
ICAgICAgICAgIGlmIChzY3JpcHQpIHsKKyAgICAgICAgICAgICAgICB2YXIgbG9jYXRpb24gPSBu
ZXcgV2ViSW5zcGVjdG9yLkRlYnVnZ2VyTW9kZWwuTG9jYXRpb24oc2NyaXB0LnNjcmlwdElkLCBs
aW5lTnVtYmVyLCAwKTsKKyAgICAgICAgICAgICAgICBsb2NhdGlvbnMucHVzaChsb2NhdGlvbik7
CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIHRoaXMuX3NjaGVkdWxlU2V0QmVha3BvaW50
Q2FsbGJhY2soY2FsbGJhY2ssIGJyZWFrcG9pbnRJZCwgbG9jYXRpb25zKTsKKyAgICAgICAgfSwK
KworICAgICAgICBzZXRCcmVha3BvaW50QnlTY3JpcHRMb2NhdGlvbjogZnVuY3Rpb24obG9jYXRp
b24sIGNvbmRpdGlvbiwgY2FsbGJhY2spCisgICAgICAgIHsKKyAgICAgICAgICAgIHZhciBicmVh
a3BvaW50SWQgPSBsb2NhdGlvbi5zY3JpcHRJZCArICI6IiArIGxvY2F0aW9uLmxpbmVOdW1iZXI7
CisgICAgICAgICAgICBpZiAodGhpcy5fYnJlYWtwb2ludHNbYnJlYWtwb2ludElkXSkgeworICAg
ICAgICAgICAgICAgIHRoaXMuX3NjaGVkdWxlU2V0QmVha3BvaW50Q2FsbGJhY2soY2FsbGJhY2ss
IG51bGwpOworICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIH0KKworICAgICAg
ICAgICAgdGhpcy5fYnJlYWtwb2ludHNbYnJlYWtwb2ludElkXSA9IHRydWU7CisgICAgICAgICAg
ICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiICAgIGRlYnVnZ2VyTW9kZWwuc2V0QnJlYWtwb2lu
dCgiICsgW2xvY2F0aW9uLnNjcmlwdElkLCBsb2NhdGlvbi5saW5lTnVtYmVyLCBjb25kaXRpb25d
LmpvaW4oIjoiKSArICIpIik7CisKKyAgICAgICAgICAgIGlmIChsb2NhdGlvbi5saW5lTnVtYmVy
ID49IDIwMDApIHsKKyAgICAgICAgICAgICAgICB0aGlzLl9zY2hlZHVsZVNldEJlYWtwb2ludENh
bGxiYWNrKGNhbGxiYWNrLCBicmVha3BvaW50SWQsIFtdKTsKKyAgICAgICAgICAgICAgICByZXR1
cm47CisgICAgICAgICAgICB9CisgICAgICAgICAgICBpZiAobG9jYXRpb24ubGluZU51bWJlciA+
PSAxMDAwKSB7CisgICAgICAgICAgICAgICAgdmFyIHNoaWZ0ZWRMb2NhdGlvbiA9IHtzY3JpcHRJ
ZDogbG9jYXRpb24uc2NyaXB0SWQsIGxpbmVOdW1iZXI6IGxvY2F0aW9uLmxpbmVOdW1iZXIgKyAx
MCwgY29sdW1uTnVtYmVyOiBsb2NhdGlvbi5jb2x1bW5OdW1iZXIgfTsKKyAgICAgICAgICAgICAg
ICB0aGlzLl9zY2hlZHVsZVNldEJlYWtwb2ludENhbGxiYWNrKGNhbGxiYWNrLCBicmVha3BvaW50
SWQsIFtzaGlmdGVkTG9jYXRpb25dKTsKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAg
ICAgICB9CisKKyAgICAgICAgICAgIHRoaXMuX3NjaGVkdWxlU2V0QmVha3BvaW50Q2FsbGJhY2so
Y2FsbGJhY2ssIGJyZWFrcG9pbnRJZCwgW2xvY2F0aW9uXSk7CisgICAgICAgIH0sCisKKyAgICAg
ICAgcmVtb3ZlQnJlYWtwb2ludDogZnVuY3Rpb24oYnJlYWtwb2ludElkLCBjYWxsYmFjaykKKyAg
ICAgICAgeworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIiAgICBkZWJ1Z2dl
ck1vZGVsLnJlbW92ZUJyZWFrcG9pbnQoIiArIGJyZWFrcG9pbnRJZCArICIpIik7CisgICAgICAg
ICAgICBkZWxldGUgdGhpcy5fYnJlYWtwb2ludHNbYnJlYWtwb2ludElkXTsKKyAgICAgICAgICAg
IGlmIChjYWxsYmFjaykKKyAgICAgICAgICAgICAgICBjYWxsYmFjaygpOworICAgICAgICB9LAor
CisgICAgICAgIHNldEJyZWFrcG9pbnRzQWN0aXZlOiBmdW5jdGlvbigpIHsgfSwKKworICAgICAg
ICBjcmVhdGVMaXZlTG9jYXRpb246IGZ1bmN0aW9uKHJhd0xvY2F0aW9uLCB1cGRhdGVEZWxlZ2F0
ZSkKKyAgICAgICAgeworICAgICAgICAgICAgIHJldHVybiB0aGlzLl9zY3JpcHRzW3Jhd0xvY2F0
aW9uLnNjcmlwdElkXS5jcmVhdGVMaXZlTG9jYXRpb24ocmF3TG9jYXRpb24sIHVwZGF0ZURlbGVn
YXRlKTsKKyAgICAgICAgfSwKKworICAgICAgICBzY3JpcHRGb3JJZDogZnVuY3Rpb24oc2NyaXB0
SWQpCisgICAgICAgIHsKKyAgICAgICAgICAgIHJldHVybiB0aGlzLl9zY3JpcHRzW3NjcmlwdElk
XTsKKyAgICAgICAgfSwKKworICAgICAgICByZXNldDogZnVuY3Rpb24oKQorICAgICAgICB7Cisg
ICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiICBSZXNldHRpbmcgZGVidWdnZXIu
Iik7CisgICAgICAgICAgICB0aGlzLl9zY3JpcHRzID0ge307CisgICAgICAgIH0sCisKKyAgICAg
ICAgcHVzaFNvdXJjZU1hcHBpbmc6IGZ1bmN0aW9uKHNvdXJjZU1hcHBpbmcpCisgICAgICAgIHsK
KyAgICAgICAgICAgIGZvciAodmFyIHNjcmlwdElkIGluIHRoaXMuX3NjcmlwdHMpCisgICAgICAg
ICAgICAgICAgdGhpcy5fc2NyaXB0c1tzY3JpcHRJZF0ucHVzaFNvdXJjZU1hcHBpbmcoc291cmNl
TWFwcGluZyk7CisgICAgICAgIH0sCisKKyAgICAgICAgZGlzYWJsZVNvdXJjZU1hcHBpbmc6IGZ1
bmN0aW9uKHNvdXJjZU1hcHBpbmcpCisgICAgICAgIHsKKyAgICAgICAgICAgIHNvdXJjZU1hcHBp
bmcuX2Rpc2FibGVkID0gdHJ1ZTsKKyAgICAgICAgICAgIGZvciAodmFyIHNjcmlwdElkIGluIHRo
aXMuX3NjcmlwdHMpCisgICAgICAgICAgICAgICAgdGhpcy5fc2NyaXB0c1tzY3JpcHRJZF0udXBk
YXRlTG9jYXRpb25zKCk7CisgICAgICAgIH0KKyAgICB9CisgICAgRGVidWdnZXJNb2RlbE1vY2su
cHJvdG90eXBlLl9fcHJvdG9fXyA9IFdlYkluc3BlY3Rvci5PYmplY3QucHJvdG90eXBlOworCisg
ICAgdmFyIGR1bW15U2V0dGluZyA9IHsKKyAgICAgICAgZ2V0OiBmdW5jdGlvbigpIHsgcmV0dXJu
IFtdOyB9LAorICAgICAgICBzZXQ6IGZ1bmN0aW9uKGJyZWFrcG9pbnRzKSB7IH0KKyAgICB9Owor
CisgICAgZnVuY3Rpb24gcmVzZXRXb3Jrc3BhY2UoYnJlYWtwb2ludE1hbmFnZXIpCisgICAgewor
ICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiICBSZXNldHRpbmcgd29ya3NwYWNlLiIp
OworICAgICAgICBicmVha3BvaW50TWFuYWdlci5fbmV0d29ya1dvcmtzcGFjZVByb3ZpZGVyLnJl
c2V0KCk7CisgICAgICAgIGJyZWFrcG9pbnRNYW5hZ2VyLl9kZWJ1Z2dlcldvcmtzcGFjZVByb3Zp
ZGVyLnJlc2V0KCk7CisgICAgfQorCisgICAgZnVuY3Rpb24gYnJlYWtwb2ludEFkZGVkKGV2ZW50
KQorICAgIHsKKyAgICAgICAgdmFyIGJyZWFrcG9pbnQgPSBldmVudC5kYXRhLmJyZWFrcG9pbnQ7
CisgICAgICAgIHZhciB1aUxvY2F0aW9uID0gZXZlbnQuZGF0YS51aUxvY2F0aW9uOworICAgICAg
ICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiICAgIGJyZWFrcG9pbnRBZGRlZCgiICsgW3VpTG9j
YXRpb24udWlTb3VyY2VDb2RlLm9yaWdpblVSTCgpLCB1aUxvY2F0aW9uLmxpbmVOdW1iZXIsIGJy
ZWFrcG9pbnQuY29uZGl0aW9uKCksIGJyZWFrcG9pbnQuZW5hYmxlZCgpXS5qb2luKCIsICIpICsg
IikiKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBicmVha3BvaW50UmVtb3ZlZChldmVudCkKKyAg
ICB7CisgICAgICAgIHZhciB1aUxvY2F0aW9uID0gZXZlbnQuZGF0YS51aUxvY2F0aW9uOworICAg
ICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiICAgIGJyZWFrcG9pbnRSZW1vdmVkKCIgKyBb
dWlMb2NhdGlvbi51aVNvdXJjZUNvZGUub3JpZ2luVVJMKCksIHVpTG9jYXRpb24ubGluZU51bWJl
cl0uam9pbigiLCAiKSArICIpIik7CisgICAgfQorCisgICAgSW5zcGVjdG9yVGVzdC5hZGRTbmlm
ZmVyKFdlYkluc3BlY3Rvci5TY3JpcHQucHJvdG90eXBlLCAiY3JlYXRlTGl2ZUxvY2F0aW9uIiwg
ZnVuY3Rpb24ocmF3TG9jYXRpb24pCisgICAgeworICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJl
c3VsdCgiICAgIExvY2F0aW9uIGNyZWF0ZWQ6ICIgKyByYXdMb2NhdGlvbi5zY3JpcHRJZCArICI6
IiArIHJhd0xvY2F0aW9uLmxpbmVOdW1iZXIpOworICAgIH0sIHRydWUpOworICAgIEluc3BlY3Rv
clRlc3QuYWRkU25pZmZlcihXZWJJbnNwZWN0b3IuU2NyaXB0LkxvY2F0aW9uLnByb3RvdHlwZSwg
ImRpc3Bvc2UiLCBmdW5jdGlvbigpCisgICAgeworICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJl
c3VsdCgiICAgIExvY2F0aW9uIGRpc3Bvc2VkOiAiICsgdGhpcy5fcmF3TG9jYXRpb24uc2NyaXB0
SWQgKyAiOiIgKyB0aGlzLl9yYXdMb2NhdGlvbi5saW5lTnVtYmVyKTsKKyAgICB9LCB0cnVlKTsK
KworICAgIGZ1bmN0aW9uIGFkZFVJU291cmNlQ29kZShicmVha3BvaW50TWFuYWdlciwgdXJsKQor
ICAgIHsKKyAgICAgICAgYnJlYWtwb2ludE1hbmFnZXIuX2RlYnVnZ2VyTW9kZWwuX2FkZFNjcmlw
dCh1cmwsIHVybCk7CisgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCIgIEFkZGluZyBV
SVNvdXJjZUNvZGU6ICIgKyB1cmwpOworICAgICAgICB2YXIgY29udGVudFByb3ZpZGVyID0gbmV3
IFdlYkluc3BlY3Rvci5TdGF0aWNDb250ZW50UHJvdmlkZXIoV2ViSW5zcGVjdG9yLnJlc291cmNl
VHlwZXMuU2NyaXB0LCAiIiwgInRleHQvamF2YXNjcmlwdCIpOworICAgICAgICB2YXIgdWlTb3Vy
Y2VDb2RlID0gYnJlYWtwb2ludE1hbmFnZXIuX25ldHdvcmtXb3Jrc3BhY2VQcm92aWRlci5hZGRG
aWxlRm9yVVJMKHVybCwgY29udGVudFByb3ZpZGVyLCB0cnVlKTsKKyAgICAgICAgdWlTb3VyY2VD
b2Rlc1t1cmxdID0gdWlTb3VyY2VDb2RlOworICAgICAgICB1aVNvdXJjZUNvZGUuc2V0U291cmNl
TWFwcGluZyhkZWZhdWx0TWFwcGluZyk7CisgICAgICAgIHJldHVybiB1aVNvdXJjZUNvZGU7Cisg
ICAgfQorCisgICAgZnVuY3Rpb24gYWRkVGVtcG9yYXJ5VUlTb3VyY2VDb2RlKGJyZWFrcG9pbnRN
YW5hZ2VyLCB1cmwpCisgICAgeworCisgICAgICAgIGJyZWFrcG9pbnRNYW5hZ2VyLl9kZWJ1Z2dl
ck1vZGVsLl9hZGRTY3JpcHQodXJsLCB1cmwpOworICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJl
c3VsdCgiICBBZGRpbmcgdGVtcG9yYXJ5IFVJU291cmNlQ29kZTogIiArIHVybCk7CisgICAgICAg
IHZhciBjb250ZW50UHJvdmlkZXIgPSBuZXcgV2ViSW5zcGVjdG9yLlN0YXRpY0NvbnRlbnRQcm92
aWRlcihXZWJJbnNwZWN0b3IucmVzb3VyY2VUeXBlcy5TY3JpcHQsICIiLCAidGV4dC9qYXZhc2Ny
aXB0Iik7CisgICAgICAgIHZhciB1aVNvdXJjZUNvZGUgPSBicmVha3BvaW50TWFuYWdlci5fZGVi
dWdnZXJXb3Jrc3BhY2VQcm92aWRlci5hZGRVbmlxdWVGaWxlRm9yVVJMKHVybCwgY29udGVudFBy
b3ZpZGVyLCB0cnVlKTsKKyAgICAgICAgdWlTb3VyY2VDb2RlLnNldFNvdXJjZU1hcHBpbmcoZGVm
YXVsdE1hcHBpbmcpOworICAgICAgICB1aVNvdXJjZUNvZGVzW3VybF0gPSB1aVNvdXJjZUNvZGU7
CisgICAgICAgIHJldHVybiB1aVNvdXJjZUNvZGU7CisgICAgfQorCisgICAgZnVuY3Rpb24gY3Jl
YXRlQnJlYWtwb2ludCh1aVNvdXJjZUNvZGVJZCwgbGluZU51bWJlciwgY29uZGl0aW9uLCBlbmFi
bGVkKQorICAgIHsKKyAgICAgICAgcmV0dXJuIHsgc291cmNlRmlsZUlkOiB1aVNvdXJjZUNvZGVJ
ZCwgbGluZU51bWJlcjogbGluZU51bWJlciwgY29uZGl0aW9uOiBjb25kaXRpb24sIGVuYWJsZWQ6
IGVuYWJsZWQgfTsKKyAgICB9CisKKyAgICB2YXIgc2VyaWFsaXplZEJyZWFrcG9pbnRzID0gW107
CisgICAgc2VyaWFsaXplZEJyZWFrcG9pbnRzLnB1c2goY3JlYXRlQnJlYWtwb2ludCgiYS5qcyIs
IDEwLCAiZm9vID09IGJhciIsIHRydWUpKTsKKyAgICBzZXJpYWxpemVkQnJlYWtwb2ludHMucHVz
aChjcmVhdGVCcmVha3BvaW50KCJhLmpzIiwgMjAsICIiLCBmYWxzZSkpOworICAgIHNlcmlhbGl6
ZWRCcmVha3BvaW50cy5wdXNoKGNyZWF0ZUJyZWFrcG9pbnQoImIuanMiLCAzLCAiIiwgdHJ1ZSkp
OworCisgICAgZnVuY3Rpb24gY3JlYXRlQnJlYWtwb2ludE1hbmFnZXIocGVyc2lzdGVudEJyZWFr
cG9pbnRzLCBzb3VyY2VNYXBwaW5nKQorICAgIHsKKyAgICAgICAgcGVyc2lzdGVudEJyZWFrcG9p
bnRzID0gcGVyc2lzdGVudEJyZWFrcG9pbnRzIHx8IFtdOworICAgICAgICB2YXIgc2V0dGluZyA9
IHsKKyAgICAgICAgICAgIGdldDogZnVuY3Rpb24oKSB7IHJldHVybiBwZXJzaXN0ZW50QnJlYWtw
b2ludHM7IH0sCisgICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uKGJyZWFrcG9pbnRzKSB7IHBlcnNp
c3RlbnRCcmVha3BvaW50cyA9IGJyZWFrcG9pbnRzOyB9CisgICAgICAgIH07CisKKyAgICAgICAg
dmFyIHNvdXJjZU1hcHBpbmcgPSBzb3VyY2VNYXBwaW5nIHx8IGRlZmF1bHRNYXBwaW5nOworICAg
ICAgICB2YXIgZGVidWdnZXJNb2RlbCA9IG5ldyBEZWJ1Z2dlck1vZGVsTW9jayhzb3VyY2VNYXBw
aW5nKTsKKyAgICAgICAgdmFyIHdvcmtzcGFjZSA9IG5ldyBXZWJJbnNwZWN0b3IuV29ya3NwYWNl
KCk7CisgICAgICAgIHZhciBicmVha3BvaW50TWFuYWdlciA9IG5ldyBXZWJJbnNwZWN0b3IuQnJl
YWtwb2ludE1hbmFnZXIoc2V0dGluZywgZGVidWdnZXJNb2RlbCwgd29ya3NwYWNlKTsKKyAgICAg
ICAgYnJlYWtwb2ludE1hbmFnZXIuX25ldHdvcmtXb3Jrc3BhY2VQcm92aWRlciA9IG5ldyBXZWJJ
bnNwZWN0b3IuU2ltcGxlV29ya3NwYWNlUHJvdmlkZXIod29ya3NwYWNlLCBXZWJJbnNwZWN0b3Iu
cHJvamVjdFR5cGVzLk5ldHdvcmspOworICAgICAgICBicmVha3BvaW50TWFuYWdlci5fZGVidWdn
ZXJXb3Jrc3BhY2VQcm92aWRlciA9IG5ldyBXZWJJbnNwZWN0b3IuU2ltcGxlV29ya3NwYWNlUHJv
dmlkZXIod29ya3NwYWNlLCBXZWJJbnNwZWN0b3IucHJvamVjdFR5cGVzLkRlYnVnZ2VyKTsKKyAg
ICAgICAgYnJlYWtwb2ludE1hbmFnZXIuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuQnJl
YWtwb2ludE1hbmFnZXIuRXZlbnRzLkJyZWFrcG9pbnRBZGRlZCwgYnJlYWtwb2ludEFkZGVkKTsK
KyAgICAgICAgYnJlYWtwb2ludE1hbmFnZXIuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3Iu
QnJlYWtwb2ludE1hbmFnZXIuRXZlbnRzLkJyZWFrcG9pbnRSZW1vdmVkLCBicmVha3BvaW50UmVt
b3ZlZCk7CisgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCIgIENyZWF0ZWQgYnJlYWtw
b2ludHMgbWFuYWdlciIpOworICAgICAgICBkdW1wQnJlYWtwb2ludFN0b3JhZ2UoYnJlYWtwb2lu
dE1hbmFnZXIpOworICAgICAgICByZXR1cm4gYnJlYWtwb2ludE1hbmFnZXI7CisgICAgfQorCisg
ICAgZnVuY3Rpb24gc2V0QnJlYWtwb2ludChicmVha3BvaW50TWFuYWdlciwgdWlTb3VyY2VDb2Rl
LCBsaW5lTnVtYmVyLCBjb25kaXRpb24sIGVuYWJsZWQpCisgICAgeworICAgICAgICBJbnNwZWN0
b3JUZXN0LmFkZFJlc3VsdCgiICBTZXR0aW5nIGJyZWFrcG9pbnQgYXQgIiArIHVpU291cmNlQ29k
ZS5vcmlnaW5VUkwoKSArICI6IiArIGxpbmVOdW1iZXIgKyAiIGVuYWJsZWQ6IiArIGVuYWJsZWQg
KyAiIGNvbmRpdGlvbjoiICsgY29uZGl0aW9uKTsKKyAgICAgICAgcmV0dXJuIGJyZWFrcG9pbnRN
YW5hZ2VyLnNldEJyZWFrcG9pbnQodWlTb3VyY2VDb2RlLCBsaW5lTnVtYmVyLCBjb25kaXRpb24s
IGVuYWJsZWQpOworICAgIH0KKworICAgIGZ1bmN0aW9uIHJlbW92ZUJyZWFrcG9pbnQoYnJlYWtw
b2ludE1hbmFnZXIsIHVpU291cmNlQ29kZSwgbGluZU51bWJlcikKKyAgICB7CisgICAgICAgIElu
c3BlY3RvclRlc3QuYWRkUmVzdWx0KCIgIFJlbW92aW5nIGJyZWFrcG9pbnQgYXQgIiArIHVpU291
cmNlQ29kZS5vcmlnaW5VUkwoKSArICI6IiArIGxpbmVOdW1iZXIpOworICAgICAgICBicmVha3Bv
aW50TWFuYWdlci5maW5kQnJlYWtwb2ludCh1aVNvdXJjZUNvZGUsIGxpbmVOdW1iZXIpLnJlbW92
ZSgpOworICAgIH0KKworICAgIGZ1bmN0aW9uIGR1bXBCcmVha3BvaW50U3RvcmFnZShicmVha3Bv
aW50TWFuYWdlcikKKyAgICB7CisgICAgICAgIHZhciBicmVha3BvaW50cyA9IGJyZWFrcG9pbnRN
YW5hZ2VyLl9zdG9yYWdlLl9zZXR0aW5nLmdldCgpOworICAgICAgICBJbnNwZWN0b3JUZXN0LmFk
ZFJlc3VsdCgiICBEdW1waW5nIFN0b3JhZ2UiKTsKKyAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkg
PCBicmVha3BvaW50cy5sZW5ndGg7ICsraSkKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRk
UmVzdWx0KCIgICAgIiArIGJyZWFrcG9pbnRzW2ldLnNvdXJjZUZpbGVJZCArICI6IiArIGJyZWFr
cG9pbnRzW2ldLmxpbmVOdW1iZXIgICsgIiBlbmFibGVkOiIgKyBicmVha3BvaW50c1tpXS5lbmFi
bGVkICsgIiBjb25kaXRpb246IiArIGJyZWFrcG9pbnRzW2ldLmNvbmRpdGlvbik7CisgICAgfQor
CisgICAgZnVuY3Rpb24gcmVzZXRCcmVha3BvaW50TWFuYWdlcihicmVha3BvaW50TWFuYWdlciwg
bmV4dCkKKyAgICB7CisgICAgICAgIGR1bXBCcmVha3BvaW50U3RvcmFnZShicmVha3BvaW50TWFu
YWdlcik7CisgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCIgIFJlc2V0dGluZyBicmVh
a3BvaW50IG1hbmFnZXIiKTsKKyAgICAgICAgYnJlYWtwb2ludE1hbmFnZXIucmVzZXQoKTsKKyAg
ICAgICAgdWlTb3VyY2VDb2RlcyA9IHt9OworICAgICAgICBuZXh0KCk7CisgICAgfQorCisgICAg
SW5zcGVjdG9yVGVzdC5ydW5UZXN0U3VpdGUoWworICAgICAgICBmdW5jdGlvbiB0ZXN0U2V0QnJl
YWtwb2ludChuZXh0KQorICAgICAgICB7CisgICAgICAgICAgICB2YXIgYnJlYWtwb2ludE1hbmFn
ZXIgPSBjcmVhdGVCcmVha3BvaW50TWFuYWdlcigpOworICAgICAgICAgICAgdmFyIHVpU291cmNl
Q29kZSA9IGFkZFVJU291cmNlQ29kZShicmVha3BvaW50TWFuYWdlciwgImEuanMiKTsKKyAgICAg
ICAgICAgIHNldEJyZWFrcG9pbnQoYnJlYWtwb2ludE1hbmFnZXIsIHVpU291cmNlQ29kZSwgMzAs
ICIiLCB0cnVlKTsKKyAgICAgICAgICAgIHdpbmRvdy5zZXRCcmVha3BvaW50Q2FsbGJhY2sgPSBz
dGVwMi5iaW5kKHRoaXMpOworCisgICAgICAgICAgICBmdW5jdGlvbiBzdGVwMigpCisgICAgICAg
ICAgICB7CisgICAgICAgICAgICAgICAgcmVzZXRCcmVha3BvaW50TWFuYWdlcihicmVha3BvaW50
TWFuYWdlciwgbmV4dCk7CisgICAgICAgICAgICB9CisgICAgICAgIH0sCisKKyAgICAgICAgZnVu
Y3Rpb24gdGVzdFNldERpc2FibGVkQnJlYWtwb2ludChuZXh0KQorICAgICAgICB7CisgICAgICAg
ICAgICB2YXIgYnJlYWtwb2ludE1hbmFnZXIgPSBjcmVhdGVCcmVha3BvaW50TWFuYWdlcigpOwor
ICAgICAgICAgICAgdmFyIHVpU291cmNlQ29kZSA9IGFkZFVJU291cmNlQ29kZShicmVha3BvaW50
TWFuYWdlciwgImEuanMiKTsKKyAgICAgICAgICAgIHZhciBicmVha3BvaW50ID0gc2V0QnJlYWtw
b2ludChicmVha3BvaW50TWFuYWdlciwgdWlTb3VyY2VDb2RlLCAzMCwgIiIsIGZhbHNlKTsKKyAg
ICAgICAgICAgIGR1bXBCcmVha3BvaW50U3RvcmFnZShicmVha3BvaW50TWFuYWdlcik7CisgICAg
ICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiICBFbmFibGluZyBicmVha3BvaW50Iik7
CisgICAgICAgICAgICBicmVha3BvaW50LnNldEVuYWJsZWQodHJ1ZSk7CisgICAgICAgICAgICB3
aW5kb3cuc2V0QnJlYWtwb2ludENhbGxiYWNrID0gc3RlcDIuYmluZCh0aGlzKTsKKworICAgICAg
ICAgICAgZnVuY3Rpb24gc3RlcDIoKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHJl
c2V0QnJlYWtwb2ludE1hbmFnZXIoYnJlYWtwb2ludE1hbmFnZXIsIG5leHQpOworICAgICAgICAg
ICAgfQorICAgICAgICB9LAorCisgICAgICAgIGZ1bmN0aW9uIHRlc3RTZXRDb25kaXRpb25hbEJy
ZWFrcG9pbnQobmV4dCkKKyAgICAgICAgeworICAgICAgICAgICAgdmFyIGJyZWFrcG9pbnRNYW5h
Z2VyID0gY3JlYXRlQnJlYWtwb2ludE1hbmFnZXIoKTsKKyAgICAgICAgICAgIHZhciB1aVNvdXJj
ZUNvZGUgPSBhZGRVSVNvdXJjZUNvZGUoYnJlYWtwb2ludE1hbmFnZXIsICJhLmpzIik7CisgICAg
ICAgICAgICB2YXIgYnJlYWtwb2ludCA9IHNldEJyZWFrcG9pbnQoYnJlYWtwb2ludE1hbmFnZXIs
IHVpU291cmNlQ29kZSwgMzAsICJjb25kaXRpb24iLCB0cnVlKTsKKyAgICAgICAgICAgIHdpbmRv
dy5zZXRCcmVha3BvaW50Q2FsbGJhY2sgPSBzdGVwMi5iaW5kKHRoaXMpOworCisgICAgICAgICAg
ICBmdW5jdGlvbiBzdGVwMigpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgZHVtcEJy
ZWFrcG9pbnRTdG9yYWdlKGJyZWFrcG9pbnRNYW5hZ2VyKTsKKyAgICAgICAgICAgICAgICBJbnNw
ZWN0b3JUZXN0LmFkZFJlc3VsdCgiICBVcGRhdGluZyBjb25kaXRpb24iKTsKKyAgICAgICAgICAg
ICAgICBicmVha3BvaW50LnNldENvbmRpdGlvbigiIik7CisgICAgICAgICAgICAgICAgd2luZG93
LnNldEJyZWFrcG9pbnRDYWxsYmFjayA9IHN0ZXAzLmJpbmQodGhpcyk7CisgICAgICAgICAgICB9
CisKKyAgICAgICAgICAgIGZ1bmN0aW9uIHN0ZXAzKCkKKyAgICAgICAgICAgIHsKKyAgICAgICAg
ICAgICAgICByZXNldEJyZWFrcG9pbnRNYW5hZ2VyKGJyZWFrcG9pbnRNYW5hZ2VyLCBuZXh0KTsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgfSwKKworICAgICAgICBmdW5jdGlvbiB0ZXN0UmVzdG9y
ZUJyZWFrcG9pbnRzKG5leHQpCisgICAgICAgIHsKKyAgICAgICAgICAgIHZhciBicmVha3BvaW50
TWFuYWdlciA9IGNyZWF0ZUJyZWFrcG9pbnRNYW5hZ2VyKHNlcmlhbGl6ZWRCcmVha3BvaW50cyk7
CisgICAgICAgICAgICBhZGRVSVNvdXJjZUNvZGUoYnJlYWtwb2ludE1hbmFnZXIsICJhLmpzIik7
CisgICAgICAgICAgICB3aW5kb3cuc2V0QnJlYWtwb2ludENhbGxiYWNrID0gc3RlcDIuYmluZCh0
aGlzKTsKKworICAgICAgICAgICAgZnVuY3Rpb24gc3RlcDIoKQorICAgICAgICAgICAgeworICAg
ICAgICAgICAgICAgIHJlc2V0QnJlYWtwb2ludE1hbmFnZXIoYnJlYWtwb2ludE1hbmFnZXIsIG5l
eHQpOworICAgICAgICAgICAgfQorICAgICAgICB9LAorCisgICAgICAgIGZ1bmN0aW9uIHRlc3RS
ZXN0b3JlQnJlYWtwb2ludHNUd2ljZShuZXh0KQorICAgICAgICB7CisgICAgICAgICAgICB2YXIg
YnJlYWtwb2ludE1hbmFnZXIgPSBjcmVhdGVCcmVha3BvaW50TWFuYWdlcihzZXJpYWxpemVkQnJl
YWtwb2ludHMpOworICAgICAgICAgICAgYWRkVUlTb3VyY2VDb2RlKGJyZWFrcG9pbnRNYW5hZ2Vy
LCAiYS5qcyIpOworICAgICAgICAgICAgYWRkVUlTb3VyY2VDb2RlKGJyZWFrcG9pbnRNYW5hZ2Vy
LCAiYS5qcyIpOworICAgICAgICAgICAgd2luZG93LnNldEJyZWFrcG9pbnRDYWxsYmFjayA9IHN0
ZXAyLmJpbmQodGhpcyk7CisKKyAgICAgICAgICAgIGZ1bmN0aW9uIHN0ZXAyKCkKKyAgICAgICAg
ICAgIHsKKyAgICAgICAgICAgICAgICByZXNldEJyZWFrcG9pbnRNYW5hZ2VyKGJyZWFrcG9pbnRN
YW5hZ2VyLCBuZXh0KTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfSwKKworICAgICAgICBmdW5j
dGlvbiB0ZXN0UmVtb3ZlQnJlYWtwb2ludHMobmV4dCkKKyAgICAgICAgeworICAgICAgICAgICAg
dmFyIGJyZWFrcG9pbnRNYW5hZ2VyID0gY3JlYXRlQnJlYWtwb2ludE1hbmFnZXIoc2VyaWFsaXpl
ZEJyZWFrcG9pbnRzKTsKKyAgICAgICAgICAgIHZhciB1aVNvdXJjZUNvZGUgPSBhZGRVSVNvdXJj
ZUNvZGUoYnJlYWtwb2ludE1hbmFnZXIsICJhLmpzIik7CisgICAgICAgICAgICB3aW5kb3cuc2V0
QnJlYWtwb2ludENhbGxiYWNrID0gc3RlcDIuYmluZCh0aGlzKTsKKworICAgICAgICAgICAgZnVu
Y3Rpb24gc3RlcDIoKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHNldEJyZWFrcG9p
bnQoYnJlYWtwb2ludE1hbmFnZXIsIHVpU291cmNlQ29kZSwgMzAsICIiLCB0cnVlKTsKKyAgICAg
ICAgICAgICAgICB3aW5kb3cuc2V0QnJlYWtwb2ludENhbGxiYWNrID0gc3RlcDMuYmluZCh0aGlz
KTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgZnVuY3Rpb24gc3RlcDMoKQorICAgICAg
ICAgICAgeworICAgICAgICAgICAgICAgIHJlbW92ZUJyZWFrcG9pbnQoYnJlYWtwb2ludE1hbmFn
ZXIsIHVpU291cmNlQ29kZSwgMzApOworICAgICAgICAgICAgICAgIHJlbW92ZUJyZWFrcG9pbnQo
YnJlYWtwb2ludE1hbmFnZXIsIHVpU291cmNlQ29kZSwgMTApOworICAgICAgICAgICAgICAgIHJl
bW92ZUJyZWFrcG9pbnQoYnJlYWtwb2ludE1hbmFnZXIsIHVpU291cmNlQ29kZSwgMjApOworICAg
ICAgICAgICAgICAgIHJlc2V0QnJlYWtwb2ludE1hbmFnZXIoYnJlYWtwb2ludE1hbmFnZXIsIG5l
eHQpOworICAgICAgICAgICAgfQorICAgICAgICB9LAorCisgICAgICAgIGZ1bmN0aW9uIHRlc3RT
ZXRCcmVha3BvaW50VGhhdFNoaWZ0cyhuZXh0KQorICAgICAgICB7CisgICAgICAgICAgICB2YXIg
YnJlYWtwb2ludE1hbmFnZXIgPSBjcmVhdGVCcmVha3BvaW50TWFuYWdlcigpOworICAgICAgICAg
ICAgdmFyIHVpU291cmNlQ29kZSA9IGFkZFVJU291cmNlQ29kZShicmVha3BvaW50TWFuYWdlciwg
ImEuanMiKTsKKyAgICAgICAgICAgIHNldEJyZWFrcG9pbnQoYnJlYWtwb2ludE1hbmFnZXIsIHVp
U291cmNlQ29kZSwgMTAxNSwgIiIsIHRydWUpOworICAgICAgICAgICAgd2luZG93LnNldEJyZWFr
cG9pbnRDYWxsYmFjayA9IHN0ZXAyLmJpbmQodGhpcyk7CisKKyAgICAgICAgICAgIGZ1bmN0aW9u
IHN0ZXAyKCkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICByZXNldEJyZWFrcG9pbnRN
YW5hZ2VyKGJyZWFrcG9pbnRNYW5hZ2VyLCBuZXh0KTsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
fSwKKworICAgICAgICBmdW5jdGlvbiB0ZXN0U2V0QnJlYWtwb2ludFRoYXRTaGlmdHNUd2ljZShu
ZXh0KQorICAgICAgICB7CisgICAgICAgICAgICB2YXIgYnJlYWtwb2ludE1hbmFnZXIgPSBjcmVh
dGVCcmVha3BvaW50TWFuYWdlcigpOworICAgICAgICAgICAgdmFyIHVpU291cmNlQ29kZSA9IGFk
ZFVJU291cmNlQ29kZShicmVha3BvaW50TWFuYWdlciwgImEuanMiKTsKKyAgICAgICAgICAgIHNl
dEJyZWFrcG9pbnQoYnJlYWtwb2ludE1hbmFnZXIsIHVpU291cmNlQ29kZSwgMTAxNSwgIiIsIHRy
dWUpOworICAgICAgICAgICAgd2luZG93LnNldEJyZWFrcG9pbnRDYWxsYmFjayA9IHN0ZXAyLmJp
bmQodGhpcyk7CisKKyAgICAgICAgICAgIGZ1bmN0aW9uIHN0ZXAyKCkKKyAgICAgICAgICAgIHsK
KyAgICAgICAgICAgICAgICBzZXRCcmVha3BvaW50KGJyZWFrcG9pbnRNYW5hZ2VyLCB1aVNvdXJj
ZUNvZGUsIDEwMTUsICIiLCB0cnVlKTsKKyAgICAgICAgICAgICAgICB3aW5kb3cuc2V0QnJlYWtw
b2ludENhbGxiYWNrID0gc3RlcDMuYmluZCh0aGlzKTsKKyAgICAgICAgICAgIH0KKworICAgICAg
ICAgICAgZnVuY3Rpb24gc3RlcDMoKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHJl
c2V0QnJlYWtwb2ludE1hbmFnZXIoYnJlYWtwb2ludE1hbmFnZXIsIG5leHQpOworICAgICAgICAg
ICAgfQorICAgICAgICB9LAorCisgICAgICAgIGZ1bmN0aW9uIHRlc3RTZXRCcmVha3BvaW50T3V0
c2lkZVNjcmlwdChuZXh0KQorICAgICAgICB7CisgICAgICAgICAgICB2YXIgYnJlYWtwb2ludE1h
bmFnZXIgPSBjcmVhdGVCcmVha3BvaW50TWFuYWdlcihbXSk7CisgICAgICAgICAgICB2YXIgdWlT
b3VyY2VDb2RlID0gYWRkVUlTb3VyY2VDb2RlKGJyZWFrcG9pbnRNYW5hZ2VyLCAiYS5qcyIpOwor
ICAgICAgICAgICAgYnJlYWtwb2ludE1hbmFnZXIuc2V0QnJlYWtwb2ludCh1aVNvdXJjZUNvZGUs
IDI1MDAsICIiLCB0cnVlKTsKKyAgICAgICAgICAgIHdpbmRvdy5zZXRCcmVha3BvaW50Q2FsbGJh
Y2sgPSBzdGVwMi5iaW5kKHRoaXMpOworCisgICAgICAgICAgICBmdW5jdGlvbiBzdGVwMigpCisg
ICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgcmVzZXRCcmVha3BvaW50TWFuYWdlcihicmVh
a3BvaW50TWFuYWdlciwgbmV4dCk7CisgICAgICAgICAgICB9CisgICAgICAgfSwKKworICAgICAg
ICBmdW5jdGlvbiB0ZXN0TmF2aWdhdGlvbihuZXh0KQorICAgICAgICB7CisgICAgICAgICAgICB2
YXIgYnJlYWtwb2ludE1hbmFnZXIgPSBjcmVhdGVCcmVha3BvaW50TWFuYWdlcihzZXJpYWxpemVk
QnJlYWtwb2ludHMpOworICAgICAgICAgICAgdmFyIHVpU291cmNlQ29kZUEgPSBhZGRVSVNvdXJj
ZUNvZGUoYnJlYWtwb2ludE1hbmFnZXIsICJhLmpzIik7CisgICAgICAgICAgICB3aW5kb3cuc2V0
QnJlYWtwb2ludENhbGxiYWNrID0gc3RlcDIuYmluZCh0aGlzKTsKKworICAgICAgICAgICAgZnVu
Y3Rpb24gc3RlcDIoKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIEluc3BlY3RvclRl
c3QuYWRkUmVzdWx0KCJcbiAgTmF2aWdhdGluZyB0byBCLiIpOworICAgICAgICAgICAgICAgIGJy
ZWFrcG9pbnRNYW5hZ2VyLl9kZWJ1Z2dlck1vZGVsLnJlc2V0KCk7CisgICAgICAgICAgICAgICAg
cmVzZXRXb3Jrc3BhY2UoYnJlYWtwb2ludE1hbmFnZXIpOworICAgICAgICAgICAgICAgIHZhciB1
aVNvdXJjZUNvZGVCID0gYWRkVUlTb3VyY2VDb2RlKGJyZWFrcG9pbnRNYW5hZ2VyLCAiYi5qcyIp
OworICAgICAgICAgICAgICAgIHdpbmRvdy5zZXRCcmVha3BvaW50Q2FsbGJhY2sgPSBzdGVwMy5i
aW5kKHRoaXMpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBmdW5jdGlvbiBzdGVwMygp
CisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQo
IlxuICBOYXZpZ2F0aW5nIGJhY2sgdG8gQS4iKTsKKyAgICAgICAgICAgICAgICBicmVha3BvaW50
TWFuYWdlci5fZGVidWdnZXJNb2RlbC5yZXNldCgpOworICAgICAgICAgICAgICAgIHJlc2V0V29y
a3NwYWNlKGJyZWFrcG9pbnRNYW5hZ2VyKTsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0
LmFkZFJlc3VsdCgiICBSZXNvbHZpbmcgcHJvdmlzaW9uYWwgYnJlYWtwb2ludC4iKTsKKyAgICAg
ICAgICAgICAgICBhZGRUZW1wb3JhcnlVSVNvdXJjZUNvZGUoYnJlYWtwb2ludE1hbmFnZXIsICJh
LmpzIikgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICB2YXIgZXZlbnREYXRhID0geyBicmVh
a3BvaW50SWQ6ICJhLmpzOjEwIiwgbG9jYXRpb246IHsgc2NyaXB0SWQ6ICJhLmpzIiwgbGluZU51
bWJlcjogMTEsIGNvbHVtbk51bWJlcjogNSB9fTsKKyAgICAgICAgICAgICAgICBicmVha3BvaW50
TWFuYWdlci5fZGVidWdnZXJNb2RlbC5kaXNwYXRjaEV2ZW50VG9MaXN0ZW5lcnMoV2ViSW5zcGVj
dG9yLkRlYnVnZ2VyTW9kZWwuRXZlbnRzLkJyZWFrcG9pbnRSZXNvbHZlZCwgZXZlbnREYXRhKTsK
KyAgICAgICAgICAgICAgICBhZGRVSVNvdXJjZUNvZGUoYnJlYWtwb2ludE1hbmFnZXIsICJhLmpz
Iik7CisgICAgICAgICAgICAgICAgd2luZG93LnNldEJyZWFrcG9pbnRDYWxsYmFjayA9IHN0ZXA0
LmJpbmQodGhpcyk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGZ1bmN0aW9uIHN0ZXA0
KCkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICByZXNldEJyZWFrcG9pbnRNYW5hZ2Vy
KGJyZWFrcG9pbnRNYW5hZ2VyLCBuZXh0KTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfSwKKwor
ICAgICAgICBmdW5jdGlvbiB0ZXN0U291cmNlTWFwcGluZyhuZXh0KQorICAgICAgICB7CisgICAg
ICAgICAgICAvLyBTb3VyY2UgbWFwcGluZyB3aWxsIHNoaWZ0IGV2ZXJ0aGluZyAxMCBsaW5lcyBh
aGVhZCBzbyB0aGF0IGJyZWFrcG9pbnQgMSBjbGFzaGVkIHdpdGggYnJlYWtwb2ludCAyLgorICAg
ICAgICAgICAgdmFyIHNlcmlhbGl6ZWRCcmVha3BvaW50cyA9IFtdOworICAgICAgICAgICAgc2Vy
aWFsaXplZEJyZWFrcG9pbnRzLnB1c2goY3JlYXRlQnJlYWtwb2ludCgiYS5qcyIsIDEwLCAiZm9v
ID09IGJhciIsIHRydWUpKTsKKyAgICAgICAgICAgIHNlcmlhbGl6ZWRCcmVha3BvaW50cy5wdXNo
KGNyZWF0ZUJyZWFrcG9pbnQoImEuanMiLCAyMCwgIiIsIHRydWUpKTsKKworICAgICAgICAgICAg
dmFyIGJyZWFrcG9pbnRNYW5hZ2VyID0gY3JlYXRlQnJlYWtwb2ludE1hbmFnZXIoc2VyaWFsaXpl
ZEJyZWFrcG9pbnRzKTsKKyAgICAgICAgICAgIHZhciB1aVNvdXJjZUNvZGVBID0gYWRkVUlTb3Vy
Y2VDb2RlKGJyZWFrcG9pbnRNYW5hZ2VyLCAiYS5qcyIpOworICAgICAgICAgICAgd2luZG93LnNl
dEJyZWFrcG9pbnRDYWxsYmFjayA9IHN0ZXAyLmJpbmQodGhpcyk7CisKKyAgICAgICAgICAgIGZ1
bmN0aW9uIHN0ZXAyKCkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICB3aW5kb3cuc2V0
QnJlYWtwb2ludENhbGxiYWNrID0gc3RlcDMuYmluZCh0aGlzKTsKKyAgICAgICAgICAgIH0KKwor
ICAgICAgICAgICAgZnVuY3Rpb24gc3RlcDMoKQorICAgICAgICAgICAgeworICAgICAgICAgICAg
ICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJcbiAgVG9nZ2xpbmcgc291cmNlIG1hcHBpbmcu
Iik7CisgICAgICAgICAgICAgICAgYnJlYWtwb2ludE1hbmFnZXIuX2RlYnVnZ2VyTW9kZWwucHVz
aFNvdXJjZU1hcHBpbmcoc2hpZnRpbmdNYXBwaW5nKTsKKyAgICAgICAgICAgICAgICBJbnNwZWN0
b3JUZXN0LmFkZFJlc3VsdCgiXG4gIFRvZ2dsaW5nIHNvdXJjZSBtYXBwaW5nIGJhY2suIik7Cisg
ICAgICAgICAgICAgICAgYnJlYWtwb2ludE1hbmFnZXIuX2RlYnVnZ2VyTW9kZWwuZGlzYWJsZVNv
dXJjZU1hcHBpbmcoc2hpZnRpbmdNYXBwaW5nKTsKKyAgICAgICAgICAgICAgICByZXNldEJyZWFr
cG9pbnRNYW5hZ2VyKGJyZWFrcG9pbnRNYW5hZ2VyLCBuZXh0KTsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgfSwKKworICAgICAgICBmdW5jdGlvbiB0ZXN0UHJvdmlzaW9uYWxCcmVha3BvaW50c1Jl
c29sdmUobmV4dCkKKyAgICAgICAgeworICAgICAgICAgICAgdmFyIHNlcmlhbGl6ZWRCcmVha3Bv
aW50cyA9IFtdOworICAgICAgICAgICAgc2VyaWFsaXplZEJyZWFrcG9pbnRzLnB1c2goY3JlYXRl
QnJlYWtwb2ludCgiYS5qcyIsIDEwLCAiZm9vID09IGJhciIsIHRydWUpKTsKKworICAgICAgICAg
ICAgdmFyIGJyZWFrcG9pbnRNYW5hZ2VyID0gY3JlYXRlQnJlYWtwb2ludE1hbmFnZXIoc2VyaWFs
aXplZEJyZWFrcG9pbnRzKTsKKyAgICAgICAgICAgIHZhciB1aVNvdXJjZUNvZGUgPSBhZGRVSVNv
dXJjZUNvZGUoYnJlYWtwb2ludE1hbmFnZXIsICJhLmpzIik7CisgICAgICAgICAgICB3aW5kb3cu
c2V0QnJlYWtwb2ludENhbGxiYWNrID0gc3RlcDIuYmluZCh0aGlzKTsKKworICAgICAgICAgICAg
ZnVuY3Rpb24gc3RlcDIoKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGJyZWFrcG9p
bnRNYW5hZ2VyLl9kZWJ1Z2dlck1vZGVsLnJlc2V0KCk7CisgICAgICAgICAgICAgICAgcmVzZXRX
b3Jrc3BhY2UoYnJlYWtwb2ludE1hbmFnZXIpOworICAgICAgICAgICAgICAgIEluc3BlY3RvclRl
c3QuYWRkUmVzdWx0KCIgIFJlc29sdmluZyBwcm92aXNpb25hbCBicmVha3BvaW50LiIpOworICAg
ICAgICAgICAgICAgIGFkZFRlbXBvcmFyeVVJU291cmNlQ29kZShicmVha3BvaW50TWFuYWdlciwg
ImEuanMiKSAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIHZhciBldmVudERhdGEgPSB7IGJy
ZWFrcG9pbnRJZDogImEuanM6MTAiLCBsb2NhdGlvbjogeyBzY3JpcHRJZDogImEuanMiLCBsaW5l
TnVtYmVyOiAxMSwgY29sdW1uTnVtYmVyOiA1IH19OworICAgICAgICAgICAgICAgIGJyZWFrcG9p
bnRNYW5hZ2VyLl9kZWJ1Z2dlck1vZGVsLmRpc3BhdGNoRXZlbnRUb0xpc3RlbmVycyhXZWJJbnNw
ZWN0b3IuRGVidWdnZXJNb2RlbC5FdmVudHMuQnJlYWtwb2ludFJlc29sdmVkLCBldmVudERhdGEp
OworICAgICAgICAgICAgICAgIHZhciBicmVha3BvaW50cyA9IGJyZWFrcG9pbnRNYW5hZ2VyLl9i
cmVha3BvaW50cy5rZXlzKCk7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRF
cXVhbHMoYnJlYWtwb2ludHMubGVuZ3RoLCAxLCAiRXhhY3RseSBvbmUgYnJlYWtwb2ludCBzaG91
bGQgYmUgcmVnaXN0ZXJlZCBpbiBicmVha3BvaW50IG1hbmFnZXIuIik7CisgICAgICAgICAgICAg
ICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRUcnVlKCFicmVha3BvaW50c1swXS5fcHJpbWFyeVVJTG9j
YXRpb24sICJfcHJpbWFyeVVJTG9jYXRpb24gZmllbGQgc2hvdWxkIGJlIGNsZWFyZWQgZm9yIHBy
b3Zpc2lvbmFsIGJyZWFwb2ludC4iKTsKKyAgICAgICAgICAgICAgICByZXNldEJyZWFrcG9pbnRN
YW5hZ2VyKGJyZWFrcG9pbnRNYW5hZ2VyLCBuZXh0KTsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
fQorICAgIF0pOworfTsKKworPC9zY3JpcHQ+CisKKzwvaGVhZD4KKworPGJvZHkgb25sb2FkPSJy
dW5UZXN0KCkiPgorPHA+VGVzdHMgQnJlYWtwb2ludE1hbmFnZXIgY2xhc3MuPC9wPgorCis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUv
ZGVidWdnZXIvY29weS1zdGFjay10cmFjZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIvY29weS1zdGFjay10cmFjZS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNmEwM2ZmZTZmNmFmYjQzYTcwOGQ2YzM2NzBkZDU2ZTQ3MDA4MDcyOAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9kZWJ1Z2dlci9jb3B5
LXN0YWNrLXRyYWNlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEyIEBACitUZXN0cyB0aGF0IGRl
YnVnZ2VyIHdpbGwgY29weSB2YWxpZCBzdGFjayB0cmFjZSB1cG9uIGNvbnRleHQgbWVudSBhY3Rp
b24uCisKK0RlYnVnZ2VyIHdhcyBlbmFibGVkLgorU2V0IHRpbWVyIGZvciB0ZXN0IGZ1bmN0aW9u
LgorU2NyaXB0IGV4ZWN1dGlvbiBwYXVzZWQuCitmdW5jdGlvbkJheiAoY29weS1zdGFjay10cmFj
ZS5odG1sOjE5KQorZnVuY3Rpb25CYXIgKGNvcHktc3RhY2stdHJhY2UuaHRtbDoxNCkKK3Rlc3RG
dW5jdGlvbiAoY29weS1zdGFjay10cmFjZS5odG1sOjkpCisKK1NjcmlwdCBleGVjdXRpb24gcmVz
dW1lZC4KK0RlYnVnZ2VyIHdhcyBkaXNhYmxlZC4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2VyL2NvcHktc3RhY2stdHJhY2UuaHRtbCBiL0xheW91
dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9kZWJ1Z2dlci9jb3B5LXN0YWNrLXRyYWNlLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZTE5MmYxNjQxYTQ5NTJmOGM0ZWFkYmVjZDgyZWY0Y2Q1NWVjMDJjYwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9kZWJ1Z2dlci9j
b3B5LXN0YWNrLXRyYWNlLmh0bWwKQEAgLTAsMCArMSw0OCBAQAorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvZGVidWdn
ZXItdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorCitmdW5jdGlvbiB0ZXN0RnVuY3Rpb24o
KQoreworICAgIGZ1bmN0aW9uQmFyKCk7Cit9CisKK2Z1bmN0aW9uIGZ1bmN0aW9uQmFyKCkKK3sK
KyAgICBmdW5jdGlvbkJheigpOworfQorCitmdW5jdGlvbiBmdW5jdGlvbkJheigpCit7CisgICAg
ZGVidWdnZXI7Cit9CisKK3ZhciB0ZXN0ID0gZnVuY3Rpb24oKQoreworICAgIEluc3BlY3RvclRl
c3Quc3RhcnREZWJ1Z2dlclRlc3Qoc3RlcDEpOworCisgICAgZnVuY3Rpb24gc3RlcDEoKQorICAg
IHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5ydW5UZXN0RnVuY3Rpb25BbmRXYWl0VW50aWxQYXVz
ZWQoc3RlcDIpOworICAgIH0KKworICAgIGZ1bmN0aW9uIHN0ZXAyKCkKKyAgICB7CisgICAgICAg
IEluc3BlY3RvckZyb250ZW5kSG9zdC5jb3B5VGV4dCA9IEluc3BlY3RvclRlc3QuYWRkUmVzdWx0
LmJpbmQoSW5zcGVjdG9yVGVzdCk7CisgICAgICAgIFdlYkluc3BlY3Rvci5wYW5lbHMuc2NyaXB0
cy5zaWRlYmFyUGFuZXMuY2FsbHN0YWNrLl9jb3B5U3RhY2tUcmFjZSgpOworICAgICAgICBJbnNw
ZWN0b3JUZXN0LmNvbXBsZXRlRGVidWdnZXJUZXN0KCk7CisgICAgfQorfQorCis8L3NjcmlwdD4K
KzwvaGVhZD4KKworPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgorPHA+CitUZXN0cyB0aGF0IGRl
YnVnZ2VyIHdpbGwgY29weSB2YWxpZCBzdGFjayB0cmFjZSB1cG9uIGNvbnRleHQgbWVudSBhY3Rp
b24uCis8L3A+CisKKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lu
c3BlY3Rvci1vYnNvbGV0ZS9kZWJ1Z2dlci9kZWJ1Z2dlci1hY3RpdmF0aW9uLWNyYXNoLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9kZWJ1Z2dlci9kZWJ1Z2dl
ci1hY3RpdmF0aW9uLWNyYXNoLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zMzAxZWY1NGE4MzE1
NTI5MTc0NWYxNzhhNDA4YmEwOTQ2Nzg5MDZkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2VyL2RlYnVnZ2VyLWFjdGl2YXRpb24tY3Jhc2gt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGVzdHMgZm9yIGEgY3Jhc2ggY2F1c2VkIGJ5
IGluYWNjdXJhdGUgQWN0aXZhdGlvbiByZWNvcmRzLiA8cmRhcjovL3Byb2JsZW0vODUyNTkwNz4g
Q3Jhc2ggaW4gZGVidWdnZXIgYmVuZWF0aCBNYXJrU3RhY2s6OmRyYWluIEAgbWUuY29tLCBpYm0u
Y29tCisKK0RlYnVnZ2VyIHdhcyBlbmFibGVkLgorRGVidWdnZXIgd2FzIGRpc2FibGVkLgorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIvZGVidWdn
ZXItYWN0aXZhdGlvbi1jcmFzaC5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRl
L2RlYnVnZ2VyL2RlYnVnZ2VyLWFjdGl2YXRpb24tY3Jhc2guaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iNDA1
NzcwY2E5NjEzOWUwOTkzN2JjZmQ0YTVmOTJjYWJmOTFkY2VjCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2VyL2RlYnVnZ2VyLWFjdGl2YXRp
b24tY3Jhc2guaHRtbApAQCAtMCwwICsxLDQyIEBACis8c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90
ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyLXRlc3QuanMiPjwvc2NyaXB0Pgor
Cis8c2NyaXB0PgordmFyIGNsb3N1cmVzID0gW107CitmdW5jdGlvbiBtYWtlQ2xvc3VyZSgpIHsK
KyAgICB2YXIgdjEsIHYyLCB2MywgdjQsIHY1LCB2NiwgdjcsIHY4LCB2OSwgdjEwOyAvLyBNYWtl
IGEgbG90IG9mIHBvdGVudGlhbGx5IGNhcHR1cmVkIHZhcmlhYmxlcy4KKyAgICByZXR1cm4gZnVu
Y3Rpb24gKCl7IHJldHVybiB2MTsgfTsgLy8gQnV0IG9ubHkgY2FwdHVyZSBvbmUgaW4gb3B0aW1p
emluZyBjb21waWxlcy4KK30KKworZm9yICh2YXIgaSA9IDA7IGkgPCAxMDA7ICsraSkgeworICAg
IGNsb3N1cmVzLnB1c2gobWFrZUNsb3N1cmUoKSk7Cit9CisKK2Z1bmN0aW9uIHRyeUNyYXNoKCkg
eworICAgIG1ha2VDbG9zdXJlKCk7IC8vIEZvcmNlIHJlY29tcGlsYXRpb24uCisgICAgCisgICAg
Ly8gQXQgdGhpcyBwb2ludCwgd2Ugc2hvdWxkIGhhdmUgMTAwIGFjdGl2YXRpb25zIHRoYXQgY2Fw
dHVyZWQgMSB2YXJpYWJsZQorICAgIC8vIGJ1dCB0aGluayB0aGV5IGNhcHR1cmVkIDEwLiBJZiBz
bywgR0Mgc2hvdWxkIG1ha2UgdGhlbSBjcmFzaC4KKyAgICBpZiAod2luZG93LkdDQ29udHJvbGxl
cikKKyAgICAgICAgR0NDb250cm9sbGVyLmNvbGxlY3QoKTsKKyAgICBlbHNlIHsKKyAgICAgICAg
Zm9yICh2YXIgaSA9IDA7IGkgPCAxMDAwMDsgKytpKQorICAgICAgICAgICAgbmV3IE9iamVjdDsK
KyAgICB9Cit9CisKK2Z1bmN0aW9uIHRlc3QoKSB7CisgICAgSW5zcGVjdG9yVGVzdC5zdGFydERl
YnVnZ2VyVGVzdChmdW5jdGlvbiAoKSB7CisgICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJ
blBhZ2UoInRyeUNyYXNoKCkiKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZURlYnVn
Z2VyVGVzdCgpOworICAgIH0pOworfQorCit3aW5kb3cub25sb2FkID0gcnVuVGVzdDsKKzwvc2Ny
aXB0PgorCis8cD4KK1Rlc3RzIGZvciBhIGNyYXNoIGNhdXNlZCBieSBpbmFjY3VyYXRlIEFjdGl2
YXRpb24gcmVjb3Jkcy4KKyZsdDtyZGFyOi8vcHJvYmxlbS84NTI1OTA3Jmd0OyBDcmFzaCBpbiBk
ZWJ1Z2dlciBiZW5lYXRoIE1hcmtTdGFjazo6ZHJhaW4gQCBtZS5jb20sIGlibS5jb20KKzwvcD4K
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2VyL2Rl
YnVnZ2VyLWFjdGl2YXRpb24tY3Jhc2gyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci1vYnNvbGV0ZS9kZWJ1Z2dlci9kZWJ1Z2dlci1hY3RpdmF0aW9uLWNyYXNoMi1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uY2U1MzE2NWU4MDhlMWRhNzEwMjg3OTU4N2VhMDM2ODg0ZmFmMTY2
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9kZWJ1
Z2dlci9kZWJ1Z2dlci1hY3RpdmF0aW9uLWNyYXNoMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MiBAQAorVGVzdHMgZm9yIGEgY3Jhc2ggd2hlbiBwYXVzZWQgYXQgYSBicmVha3BvaW50IGNhdXNl
ZCBieSBpbmFjY3VyYXRlIEFjdGl2YXRpb24gcmVjb3Jkcy4gQnVnIDU3MTIwCisKK0RlYnVnZ2Vy
IHdhcyBlbmFibGVkLgorU2NyaXB0IHNvdXJjZSB3YXMgc2hvd24uCitTZXQgdGltZXIgZm9yIHRl
c3QgZnVuY3Rpb24uCitTY3JpcHQgZXhlY3V0aW9uIHBhdXNlZC4KK0NhbGwgc3RhY2s6CisgICAg
MCkgIChkZWJ1Z2dlci1hY3RpdmF0aW9uLWNyYXNoMi5odG1sKQorICAgIDEpIHRlc3RGdW5jdGlv
biAoZGVidWdnZXItYWN0aXZhdGlvbi1jcmFzaDIuaHRtbCkKK1NjcmlwdCBleGVjdXRpb24gcmVz
dW1lZC4KK0RlYnVnZ2VyIHdhcyBkaXNhYmxlZC4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2VyL2RlYnVnZ2VyLWFjdGl2YXRpb24tY3Jhc2gyLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIvZGVidWdnZXItYWN0
aXZhdGlvbi1jcmFzaDIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iMWE3MThhYjE1OTNjOWI0MjA4MzA5YTIx
MGEzMTBlOWJiYzJjM2JhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
LW9ic29sZXRlL2RlYnVnZ2VyL2RlYnVnZ2VyLWFjdGl2YXRpb24tY3Jhc2gyLmh0bWwKQEAgLTAs
MCArMSw1NCBAQAorPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3Bl
Y3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2lu
c3BlY3Rvci9kZWJ1Z2dlci10ZXN0LmpzIj48L3NjcmlwdD4KKworPHNjcmlwdD4KK3ZhciBjbG9z
dXJlcyA9IFtdOworZnVuY3Rpb24gbWFrZUNsb3N1cmUoKSB7CisgICAgdmFyIHYxLCB2MiwgdjMs
IHY0LCB2NSwgdjYsIHY3LCB2OCwgdjksIHYxMDsgLy8gTWFrZSBhIGxvdCBvZiBwb3RlbnRpYWxs
eSBjYXB0dXJlZCB2YXJpYWJsZXMuCisgICAgcmV0dXJuIGZ1bmN0aW9uICgpIHsgCisgICAgICAg
IHZhciB4ID0gdjE7IC8vIEJ1dCBvbmx5IGNhcHR1cmUgb25lIGluIG9wdGltaXppbmcgY29tcGls
ZXMuCisgICAgICAgIHJldHVybiB4OworICAgIH07Cit9CisKK2ZvciAodmFyIGkgPSAwOyBpIDwg
MTAwOyArK2kpIHsKKyAgICBjbG9zdXJlcy5wdXNoKG1ha2VDbG9zdXJlKCkpOworfQorCitjbG9z
dXJlc1swXSgpOyAvLyBGb3JjZSBjb21waWxhdGlvbi4KK2Z1bmN0aW9uIHRlc3RGdW5jdGlvbigp
IHsKKyAgICBjbG9zdXJlc1swXSgpOyAvLyBGb3JjZSByZWNvbXBpbGF0aW9uLgorICAgIAorICAg
IC8vIEF0IHRoaXMgcG9pbnQsIGNsb3N1cmVzWzBdIGNhcHR1cmVkIDEgdmFyaWFibGUgYnV0IHRo
aW5rcyBpdCBjYXB0dXJlZCAxMC4KKyAgICAvLyBJZiBzbywgc3RvcHBpbmcgYXQgYSBicmVha3Bv
aW50IHNob3VsZCBtYWtlIGl0IGNyYXNoLgorfQorCitmdW5jdGlvbiB0ZXN0KCkgeworICAgIElu
c3BlY3RvclRlc3Quc3RhcnREZWJ1Z2dlclRlc3Qoc3RlcDEpOworCisgICAgZnVuY3Rpb24gc3Rl
cDEoKQorICAgIHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5zaG93U2NyaXB0U291cmNlKCJkZWJ1
Z2dlci1hY3RpdmF0aW9uLWNyYXNoMi5odG1sIiwgc3RlcDIpOworICAgIH0KKworICAgIGZ1bmN0
aW9uIHN0ZXAyKHNvdXJjZUZyYW1lKQorICAgIHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRS
ZXN1bHQoIlNjcmlwdCBzb3VyY2Ugd2FzIHNob3duLiIpOworICAgICAgICBJbnNwZWN0b3JUZXN0
LnNldEJyZWFrcG9pbnQoc291cmNlRnJhbWUsIDgsICIiLCB0cnVlKTsKKyAgICAgICAgSW5zcGVj
dG9yVGVzdC5ydW5UZXN0RnVuY3Rpb25BbmRXYWl0VW50aWxQYXVzZWQoc3RlcDMpOworICAgIH0K
KworICAgIGZ1bmN0aW9uIHN0ZXAzKGNhbGxGcmFtZXMpCisgICAgeworICAgICAgICBJbnNwZWN0
b3JUZXN0LmNhcHR1cmVTdGFja1RyYWNlKGNhbGxGcmFtZXMsIHRydWUpOworICAgICAgICBJbnNw
ZWN0b3JUZXN0LmNvbXBsZXRlRGVidWdnZXJUZXN0KCk7CisgICAgfQorfQorCit3aW5kb3cub25s
b2FkID0gcnVuVGVzdDsKKzwvc2NyaXB0PgorCis8cD4KK1Rlc3RzIGZvciBhIGNyYXNoIHdoZW4g
cGF1c2VkIGF0IGEgYnJlYWtwb2ludCBjYXVzZWQgYnkgaW5hY2N1cmF0ZSBBY3RpdmF0aW9uIHJl
Y29yZHMuCis8YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NTcxMjAiPkJ1ZyA1NzEyMDwvYT4KKzwvcD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci1vYnNvbGV0ZS9kZWJ1Z2dlci9kZWJ1Z2dlci1hdXRvY29udGludWUtb24tc3ludGF4LWVy
cm9yLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9kZWJ1Z2dl
ci9kZWJ1Z2dlci1hdXRvY29udGludWUtb24tc3ludGF4LWVycm9yLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi41ZWRmOTU5YmQxNmFkMTU2NDVmZjFiMGM0ZGM0NmVjNzQ0OGJhMmZlCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2VyL2RlYnVn
Z2VyLWF1dG9jb250aW51ZS1vbi1zeW50YXgtZXJyb3ItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
NyBAQAorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDQ6IFN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHRv
a2VuICcpJworQ09OU09MRSBNRVNTQUdFOiBsaW5lIDg6IElmcmFtZSBsb2FkZWQKK1Rlc3RzIHRo
YXQgZGVidWdnZXIgd29uJ3Qgc3RvcCBvbiBzeW50YXggZXJyb3JzIGV2ZW4gaWYgInBhdXNlIG9u
IHVuY2F1Z2h0IGV4Y2VwdGlvbnMiIGlzIG9uLgorCitEZWJ1Z2dlciB3YXMgZW5hYmxlZC4KK0Rl
YnVnZ2VyIHdhcyBkaXNhYmxlZC4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
LW9ic29sZXRlL2RlYnVnZ2VyL2RlYnVnZ2VyLWF1dG9jb250aW51ZS1vbi1zeW50YXgtZXJyb3Iu
aHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9kZWJ1Z2dlci9kZWJ1Z2dlci1h
dXRvY29udGludWUtb24tc3ludGF4LWVycm9yLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWQ4MTk2YjBlZGMw
MGM5OWU3MTVhNjI1ZWI3MmY2NDQxZTI0ZjRhNwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9kZWJ1Z2dlci9kZWJ1Z2dlci1hdXRvY29udGludWUtb24t
c3ludGF4LWVycm9yLmh0bWwKQEAgLTAsMCArMSw0MSBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIt
dGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorCitmdW5jdGlvbiBsb2FkSWZyYW1lKCkKK3sK
KyAgICB2YXIgaWZyYW1lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7CisgICAg
aWZyYW1lLnNyYyA9ICJyZXNvdXJjZXMvc3ludGF4LWVycm9yLmh0bWwiOworICAgIGRvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQoaWZyYW1lKTsKK30KKworZnVuY3Rpb24gdGVzdCgpCit7CisgICAg
V2ViSW5zcGVjdG9yLnNob3dQYW5lbCgic2NyaXB0cyIpOworICAgIEluc3BlY3RvclRlc3Quc3Rh
cnREZWJ1Z2dlclRlc3Qoc3RlcDEpOworCisgICAgZnVuY3Rpb24gc3RlcDEoKQorICAgIHsKKyAg
ICAgICAgRGVidWdnZXJBZ2VudC5zZXRQYXVzZU9uRXhjZXB0aW9ucyhXZWJJbnNwZWN0b3IuRGVi
dWdnZXJNb2RlbC5QYXVzZU9uRXhjZXB0aW9uc1N0YXRlLlBhdXNlT25VbmNhdWdodEV4Y2VwdGlv
bnMpOworICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZENvbnNvbGVTbmlmZmVyKHN0ZXAyKTsKKyAg
ICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgibG9hZElmcmFtZSgpIik7CisgICAg
fQorCisgICAgZnVuY3Rpb24gc3RlcDIoKQorICAgIHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5j
b21wbGV0ZURlYnVnZ2VyVGVzdCgpOworICAgIH0KK30KKworPC9zY3JpcHQ+Cis8L2hlYWQ+CisK
Kzxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KKzxwPgorVGVzdHMgdGhhdCBkZWJ1Z2dlciB3b24n
dCBzdG9wIG9uIHN5bnRheCBlcnJvcnMgZXZlbiBpZiAicGF1c2Ugb24gdW5jYXVnaHQgZXhjZXB0
aW9ucyIgaXMgb24uCis8L3A+CisKKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9kZWJ1Z2dlci9kZWJ1Z2dlci1icmVha3BvaW50cy1u
b3QtYWN0aXZhdGVkLW9uLXJlbG9hZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0
b3Itb2Jzb2xldGUvZGVidWdnZXIvZGVidWdnZXItYnJlYWtwb2ludHMtbm90LWFjdGl2YXRlZC1v
bi1yZWxvYWQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjViYjA2ZTQyZWZjY2JkZjkzY2I0Njlm
ZTcxOGZlYTdkYmI5YWRjMmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0
b3Itb2Jzb2xldGUvZGVidWdnZXIvZGVidWdnZXItYnJlYWtwb2ludHMtbm90LWFjdGl2YXRlZC1v
bi1yZWxvYWQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsOSBAQAorVGVzdHMgdGhhdCBicmVha3Bv
aW50cyBhcmUgbm90IGFjdGl2YXRlZCBvbiBwYWdlIHJlbG9hZC5CdWcgNDE0NjEKKworRGVidWdn
ZXIgd2FzIGVuYWJsZWQuCitNYWluIHJlc291cmNlIHdhcyBzaG93bi4KK1BhZ2UgcmVsb2FkZWQu
CitNYWluIHJlc291cmNlIHdhcyBzaG93bi4KK0JyZWFrcG9pbnRzIGFyZSBkZWFjdGl2YXRlZC4K
K0RlYnVnZ2VyIHdhcyBkaXNhYmxlZC4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yLW9ic29sZXRlL2RlYnVnZ2VyL2RlYnVnZ2VyLWJyZWFrcG9pbnRzLW5vdC1hY3RpdmF0ZWQt
b24tcmVsb2FkLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIv
ZGVidWdnZXItYnJlYWtwb2ludHMtbm90LWFjdGl2YXRlZC1vbi1yZWxvYWQuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5iYWVhNTdhYmExNzQ4YThjMWIyNmE4YjA2MWUzMDE2ZGE5N2U4MDVkCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2VyL2RlYnVnZ2Vy
LWJyZWFrcG9pbnRzLW5vdC1hY3RpdmF0ZWQtb24tcmVsb2FkLmh0bWwKQEAgLTAsMCArMSw1MSBA
QAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rv
ci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90
ZXN0cy9pbnNwZWN0b3IvZGVidWdnZXItdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorCitm
dW5jdGlvbiB0ZXN0RnVuY3Rpb24oKQoreworICAgIHJldHVybiAwOworfQorCit2YXIgdGVzdCA9
IGZ1bmN0aW9uKCkKK3sKKyAgICB2YXIgdGVzdE5hbWUgPSBXZWJJbnNwZWN0b3IuaW5zcGVjdGVk
UGFnZVVSTDsKKyAgICB0ZXN0TmFtZSA9IHRlc3ROYW1lLnN1YnN0cmluZyh0ZXN0TmFtZS5sYXN0
SW5kZXhPZignLycpICsgMSk7CisKKyAgICBJbnNwZWN0b3JUZXN0LnN0YXJ0RGVidWdnZXJUZXN0
KHN0ZXAxKTsKKworICAgIGZ1bmN0aW9uIHN0ZXAxKCkKKyAgICB7CisgICAgICAgIEluc3BlY3Rv
clRlc3Quc2hvd1NjcmlwdFNvdXJjZSh0ZXN0TmFtZSwgc3RlcDIpOworICAgIH0KKworICAgIGZ1
bmN0aW9uIHN0ZXAyKHNvdXJjZUZyYW1lKQorICAgIHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5h
ZGRSZXN1bHQoIk1haW4gcmVzb3VyY2Ugd2FzIHNob3duLiIpOworICAgICAgICBJbnNwZWN0b3JU
ZXN0LnNldEJyZWFrcG9pbnQoc291cmNlRnJhbWUsIDgsICIiLCB0cnVlKTsKKyAgICAgICAgV2Vi
SW5zcGVjdG9yLnBhbmVscy5zY3JpcHRzLl90b2dnbGVCcmVha3BvaW50c0J1dHRvbi5lbGVtZW50
LmNsaWNrKCk7CisgICAgICAgIEluc3BlY3RvclRlc3QucmVsb2FkUGFnZShzdGVwMyk7CisgICAg
fQorCisgICAgZnVuY3Rpb24gc3RlcDMoKQorICAgIHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5h
ZGRSZXN1bHQoIk1haW4gcmVzb3VyY2Ugd2FzIHNob3duLiIpOworICAgICAgICBpZiAoIVdlYklu
c3BlY3Rvci5kZWJ1Z2dlck1vZGVsLmJyZWFrcG9pbnRzQWN0aXZlKCkpCisgICAgICAgICAgICBJ
bnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiQnJlYWtwb2ludHMgYXJlIGRlYWN0aXZhdGVkLiIpOwor
ICAgICAgICBlbHNlCisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiRXJyb3I6
IGJyZWFrcG9pbnRzIGFyZSBhY3RpdmF0ZWQuIik7CisgICAgICAgIEluc3BlY3RvclRlc3QuY29t
cGxldGVEZWJ1Z2dlclRlc3QoKTsKKyAgICB9Cit9OworCis8L3NjcmlwdD4KKzwvaGVhZD4KKwor
PGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgorPHA+CitUZXN0cyB0aGF0IGJyZWFrcG9pbnRzIGFy
ZSBub3QgYWN0aXZhdGVkIG9uIHBhZ2UgcmVsb2FkLjxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MTQ2MSI+QnVnIDQxNDYxPC9hPgorPC9wPgorPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2Rl
YnVnZ2VyL2RlYnVnZ2VyLWNvbXBpbGUtYW5kLXJ1bi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9pbnNwZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIvZGVidWdnZXItY29tcGlsZS1hbmQtcnVuLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iYzE5YjVjYzNlNTVjNGZhOTkwODY3YjVhZTdhYzdjMTYy
NGJmNmZmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRl
L2RlYnVnZ2VyL2RlYnVnZ2VyLWNvbXBpbGUtYW5kLXJ1bi1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwyMCBAQAorVGVzdHMgc2VwYXJhdGUgY29tcGlsYXRpb24gYW5kIHJ1bi4KKworQnVnIDg5NjQ2
LgorRGVidWdnZXIgd2FzIGVuYWJsZWQuCisKK1J1bm5pbmc6IHRlc3RTdWNjZXNzZnVsQ29tcGls
ZUFuZFJ1bgorQ29tcGlsaW5nIHNjcmlwdAorUnVubmluZyBzY3JpcHQKK1NjcmlwdCByZXN1bHQ6
IDMKKworUnVubmluZzogdGVzdFJ1bkVycm9yCitDb21waWxpbmcgc2NyaXB0CitSdW5uaW5nIHNj
cmlwdAorU2NyaXB0IHJ1biBlcnJvcjogVW5jYXVnaHQgUmVmZXJlbmNlRXJyb3I6IGMgaXMgbm90
IGRlZmluZWQKKworUnVubmluZzogdGVzdENvbXBpbGVFcnJvcgorQ29tcGlsaW5nIHNjcmlwdAor
U2NyaXB0IGNvbXBpbGUgZXJyb3I6IFVuY2F1Z2h0IFN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHRv
a2VuIH0KK0RlYnVnZ2VyIHdhcyBkaXNhYmxlZC4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2VyL2RlYnVnZ2VyLWNvbXBpbGUtYW5kLXJ1bi5odG1s
IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2VyL2RlYnVnZ2VyLWNvbXBp
bGUtYW5kLXJ1bi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE3MmY3ZGI5NzRmNTVkNjZjMjZkN2JiOGFjODk1
OTk5YzA1NTc2ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jz
b2xldGUvZGVidWdnZXIvZGVidWdnZXItY29tcGlsZS1hbmQtcnVuLmh0bWwKQEAgLTAsMCArMSw4
MSBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3Bl
Y3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vaHR0
cC90ZXN0cy9pbnNwZWN0b3IvZGVidWdnZXItdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0Pgor
dmFyIHRlc3QgPSBmdW5jdGlvbigpCit7CisgICAgSW5zcGVjdG9yVGVzdC5ydW5EZWJ1Z2dlclRl
c3RTdWl0ZShbCisgICAgICAgIGZ1bmN0aW9uIHRlc3RTdWNjZXNzZnVsQ29tcGlsZUFuZFJ1bihu
ZXh0KQorICAgICAgICB7CisgICAgICAgICAgICB2YXIgZXhwcmVzc2lvbiA9ICJ2YXIgYSA9IDE7
IHZhciBiID0gMjsgYSArIGI7ICI7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3Vs
dCgiQ29tcGlsaW5nIHNjcmlwdCIpOworICAgICAgICAgICAgRGVidWdnZXJBZ2VudC5jb21waWxl
U2NyaXB0KGV4cHJlc3Npb24sICJ0ZXN0LmpzIiwgY29tcGlsZUNhbGxiYWNrLmJpbmQodGhpcykp
OworCisgICAgICAgICAgICBmdW5jdGlvbiBjb21waWxlQ2FsbGJhY2soZXJyb3IsIHNjcmlwdElk
LCBzeW50YXhFcnJvck1lc3NhZ2UpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgSW5z
cGVjdG9yVGVzdC5hc3NlcnRUcnVlKCFlcnJvcik7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9y
VGVzdC5hc3NlcnRUcnVlKCFzeW50YXhFcnJvck1lc3NhZ2UpOworICAgICAgICAgICAgICAgIElu
c3BlY3RvclRlc3QuYXNzZXJ0VHJ1ZSghIXNjcmlwdElkKTsKKyAgICAgICAgICAgICAgICB2YXIg
Y29udGV4dElkID0gdW5kZWZpbmVkOworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRk
UmVzdWx0KCJSdW5uaW5nIHNjcmlwdCIpOworICAgICAgICAgICAgICAgIERlYnVnZ2VyQWdlbnQu
cnVuU2NyaXB0KHNjcmlwdElkLCBjb250ZXh0SWQsICJjb25zb2xlIiwgZmFsc2UsIHJ1bkNhbGxi
YWNrLmJpbmQodGhpcykpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBmdW5jdGlvbiBy
dW5DYWxsYmFjayhlcnJvciwgcmVzdWx0LCB3YXNUaHJvd24pCisgICAgICAgICAgICB7CisgICAg
ICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRUcnVlKCFlcnJvcik7CisgICAgICAgICAg
ICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRUcnVlKCF3YXNUaHJvd24pOworICAgICAgICAgICAg
ICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJTY3JpcHQgcmVzdWx0OiAiICsgcmVzdWx0LnZh
bHVlKTsKKyAgICAgICAgICAgICAgICBuZXh0KCk7CisgICAgICAgICAgICB9CisgICAgICAgIH0s
CisKKyAgICAgICAgZnVuY3Rpb24gdGVzdFJ1bkVycm9yKG5leHQpCisgICAgICAgIHsKKyAgICAg
ICAgICAgIHZhciBleHByZXNzaW9uID0gInZhciBhID0gMTsgYSArIGM7ICI7CisgICAgICAgICAg
ICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiQ29tcGlsaW5nIHNjcmlwdCIpOworICAgICAgICAg
ICAgRGVidWdnZXJBZ2VudC5jb21waWxlU2NyaXB0KGV4cHJlc3Npb24sICJ0ZXN0LmpzIiwgY29t
cGlsZUNhbGxiYWNrLmJpbmQodGhpcykpOworCisgICAgICAgICAgICBmdW5jdGlvbiBjb21waWxl
Q2FsbGJhY2soZXJyb3IsIHNjcmlwdElkLCBzeW50YXhFcnJvck1lc3NhZ2UpCisgICAgICAgICAg
ICB7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRUcnVlKCFlcnJvcik7Cisg
ICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRUcnVlKCFzeW50YXhFcnJvck1lc3Nh
Z2UpOworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0VHJ1ZSghIXNjcmlwdElk
KTsKKyAgICAgICAgICAgICAgICB2YXIgY29udGV4dElkID0gdW5kZWZpbmVkOworICAgICAgICAg
ICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJSdW5uaW5nIHNjcmlwdCIpOworICAgICAg
ICAgICAgICAgIERlYnVnZ2VyQWdlbnQucnVuU2NyaXB0KHNjcmlwdElkLCBjb250ZXh0SWQsICJj
b25zb2xlIiwgZmFsc2UsIHJ1bkNhbGxiYWNrLmJpbmQodGhpcykpOworICAgICAgICAgICAgfQor
CisgICAgICAgICAgICBmdW5jdGlvbiBydW5DYWxsYmFjayhlcnJvciwgcmVzdWx0LCB3YXNUaHJv
d24pCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRU
cnVlKCFlcnJvcik7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRUcnVlKHdh
c1Rocm93bik7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIlNjcmlw
dCBydW4gZXJyb3I6ICIgKyByZXN1bHQuZGVzY3JpcHRpb24pOworICAgICAgICAgICAgICAgIG5l
eHQoKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfSwKKworICAgICAgICBmdW5jdGlvbiB0ZXN0
Q29tcGlsZUVycm9yKG5leHQpCisgICAgICAgIHsKKyAgICAgICAgICAgIHZhciBleHByZXNzaW9u
ID0gIn0iOworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIkNvbXBpbGluZyBz
Y3JpcHQiKTsKKyAgICAgICAgICAgIERlYnVnZ2VyQWdlbnQuY29tcGlsZVNjcmlwdChleHByZXNz
aW9uLCAidGVzdC5qcyIsIGNvbXBpbGVDYWxsYmFjay5iaW5kKHRoaXMpKTsKKworICAgICAgICAg
ICAgZnVuY3Rpb24gY29tcGlsZUNhbGxiYWNrKGVycm9yLCBzY3JpcHRJZCwgc3ludGF4RXJyb3JN
ZXNzYWdlKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYXNz
ZXJ0VHJ1ZSghZXJyb3IpOworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0VHJ1
ZSghc2NyaXB0SWQpOworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJT
Y3JpcHQgY29tcGlsZSBlcnJvcjogIiArIHN5bnRheEVycm9yTWVzc2FnZSk7CisgICAgICAgICAg
ICAgICAgbmV4dCgpOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgXSk7Cit9Cis8L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KKzxwPlRlc3RzIHNlcGFy
YXRlIGNvbXBpbGF0aW9uIGFuZCBydW4uPC9wPgorPGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTg5NjQ2Ij5CdWcgODk2NDYuPC9hPgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2Vy
L2RlYnVnZ2VyLWNvbXBsZXRpb25zLW9uLWNhbGwtZnJhbWUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2VyL2RlYnVnZ2VyLWNvbXBsZXRpb25zLW9u
LWNhbGwtZnJhbWUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQzY2NkMGI2ZWY2NDgzYjJiNmQ0
ZDE5ZmQ4MmRjYjU4MmY0MDU0Y2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIvZGVidWdnZXItY29tcGxldGlvbnMtb24tY2FsbC1mcmFt
ZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNSBAQAorVGVzdCB0aGF0IGNvbXBsZXRpb25zIGlu
IHRoZSBjb250ZXh0IG9mIHRoZSBjYWxsIGZyYW1lIHdpbGwgcmVzdWx0IGluIG5hbWVzIG9mIGl0
cyBzY29wZSB2YXJpYWJsZXMuCisKK0RlYnVnZ2VyIHdhcyBlbmFibGVkLgorU2V0IHRpbWVyIGZv
ciB0ZXN0IGZ1bmN0aW9uLgorU2NyaXB0IGV4ZWN1dGlvbiBwYXVzZWQuCit2YXIxCit2YXIyCitk
aXIKK2RpcnhtbAord2luZG93Cit0aGlzCit0b0V4cG9uZW50aWFsCitTY3JpcHQgZXhlY3V0aW9u
IHJlc3VtZWQuCitEZWJ1Z2dlciB3YXMgZGlzYWJsZWQuCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9kZWJ1Z2dlci9kZWJ1Z2dlci1jb21wbGV0aW9ucy1vbi1j
YWxsLWZyYW1lLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIv
ZGVidWdnZXItY29tcGxldGlvbnMtb24tY2FsbC1mcmFtZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFmNzI4
NjY0MjgyZDQ3Mzg0YTczYjZiYjU2YWQ2OTM0ZWVmZWFkNTgKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIvZGVidWdnZXItY29tcGxldGlv
bnMtb24tY2FsbC1mcmFtZS5odG1sCkBAIC0wLDAgKzEsODcgQEAKKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2RlYnVn
Z2VyLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKwordmFyIGEgPSAxOworZnVuY3Rpb24g
dGVzdEZ1bmN0aW9uKCkKK3sKKyAgICB2YXIgdmFyMSA9IDI7CisgICAgdmFyIHZhcjIgPSAzOwor
ICAgIGRlYnVnZ2VyOworfQorCit2YXIgdGVzdCA9IGZ1bmN0aW9uKCkKK3sKKyAgICBJbnNwZWN0
b3JUZXN0LnN0YXJ0RGVidWdnZXJUZXN0KHN0ZXAxKTsKKworICAgIGZ1bmN0aW9uIHN0ZXAxKCkK
KyAgICB7CisgICAgICAgIEluc3BlY3RvclRlc3QucnVuVGVzdEZ1bmN0aW9uQW5kV2FpdFVudGls
UGF1c2VkKHN0ZXAyKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBzdGVwMigpCisgICAgeworICAg
ICAgICBXZWJJbnNwZWN0b3IucnVudGltZU1vZGVsLl9jb21wbGV0aW9uc0ZvckV4cHJlc3Npb24o
IiIsICJ2YXIiLCBmYWxzZSwgY2hlY2tBZ2FpbnN0R29sZGVuLmJpbmQodGhpcywgWyAidmFyMSIs
ICJ2YXIyIiBdLCBbXSwgc3RlcDMpKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBzdGVwMygpCisg
ICAgeworICAgICAgICBXZWJJbnNwZWN0b3IucnVudGltZU1vZGVsLl9jb21wbGV0aW9uc0ZvckV4
cHJlc3Npb24oIiIsICJkaSIsIGZhbHNlLCBjaGVja0FnYWluc3RHb2xkZW4uYmluZCh0aGlzLCBb
ICJkaXIiLCAiZGlyeG1sIiBdLCBbXSwgc3RlcDQpKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBz
dGVwNCgpCisgICAgeworICAgICAgICBXZWJJbnNwZWN0b3IucnVudGltZU1vZGVsLl9jb21wbGV0
aW9uc0ZvckV4cHJlc3Npb24oIiIsICJ3aW4iLCBmYWxzZSwgY2hlY2tBZ2FpbnN0R29sZGVuLmJp
bmQodGhpcywgWyAid2luZG93IiBdLCBbXSwgc3RlcDUpKTsKKyAgICB9CisKKyAgICBmdW5jdGlv
biBzdGVwNSgpCisgICAgeworICAgICAgICBXZWJJbnNwZWN0b3IucnVudGltZU1vZGVsLl9jb21w
bGV0aW9uc0ZvckV4cHJlc3Npb24oIiIsICJ0IiwgZmFsc2UsIGNoZWNrQWdhaW5zdEdvbGRlbi5i
aW5kKHRoaXMsIFsgInRoaXMiIF0sIFtdLCBzdGVwNikpOworICAgIH0KKworICAgIGZ1bmN0aW9u
IHN0ZXA2KCkKKyAgICB7CisgICAgICAgIFdlYkluc3BlY3Rvci5ydW50aW1lTW9kZWwuX2NvbXBs
ZXRpb25zRm9yRXhwcmVzc2lvbigidmFyMSIsICJ0b0V4cCIsIGZhbHNlLCBjaGVja0FnYWluc3RH
b2xkZW4uYmluZCh0aGlzLCBbICJ0b0V4cG9uZW50aWFsIiBdLCBbXSwgc3RlcDcpKTsKKyAgICB9
CisKKyAgICBmdW5jdGlvbiBzdGVwNygpCisgICAgeworICAgICAgICBXZWJJbnNwZWN0b3IucnVu
dGltZU1vZGVsLl9jb21wbGV0aW9uc0ZvckV4cHJlc3Npb24oIjEyMyIsICJ0b0V4cCIsIGZhbHNl
LCBjaGVja0FnYWluc3RHb2xkZW4uYmluZCh0aGlzLCBbXSwgWyAidG9FeHBvbmVudGlhbCIgXSwg
c3RlcDgpKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBzdGVwOCgpCisgICAgeworICAgICAgICBJ
bnNwZWN0b3JUZXN0LmNvbXBsZXRlRGVidWdnZXJUZXN0KCk7CisgICAgfQorCisgICAgZnVuY3Rp
b24gY2hlY2tBZ2FpbnN0R29sZGVuKGdvbGRlbiwgYW50aUdvbGRlbiwgY29udGludWF0aW9uLCBj
b21wbGV0aW9ucykKKyAgICB7CisgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZ29sZGVuLmxl
bmd0aDsgKytpKSB7CisgICAgICAgICAgICBpZiAoY29tcGxldGlvbnMuaW5kZXhPZihnb2xkZW5b
aV0pICE9PSAtMSkKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdChnb2xk
ZW5baV0pOworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3Qu
YWRkUmVzdWx0KCJOT1QgRk9VTkQ6ICIgKyBnb2xkZW5baV0pOworICAgICAgICB9CisKKyAgICAg
ICAgZm9yICh2YXIgaSA9IDA7IGkgPCBhbnRpR29sZGVuLmxlbmd0aDsgKytpKSB7CisgICAgICAg
ICAgICBpZiAoY29tcGxldGlvbnMuaW5kZXhPZihhbnRpR29sZGVuW2ldKSAhPT0gLTEpCisgICAg
ICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIkZPVU5EOiAiICsgYW50aUdvbGRl
bltpXSk7CisgICAgICAgIH0KKworICAgICAgICBjb250aW51YXRpb24oKTsKKyAgICB9Cit9CisK
Kzwvc2NyaXB0PgorPC9oZWFkPgorCis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Cis8cD4KK1Rl
c3QgdGhhdCBjb21wbGV0aW9ucyBpbiB0aGUgY29udGV4dCBvZiB0aGUgY2FsbCBmcmFtZSB3aWxs
IHJlc3VsdCBpbiBuYW1lcworb2YgaXRzIHNjb3BlIHZhcmlhYmxlcy4KKzwvcD4KKworPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2Rl
YnVnZ2VyL2RlYnVnZ2VyLWN5Y2xpYy1yZWYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yLW9ic29sZXRlL2RlYnVnZ2VyL2RlYnVnZ2VyLWN5Y2xpYy1yZWYtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjczNTRlMWFjNGQ4YzcwYzg5ZDcyYTdkMDhiOGI5ZDE1NTg1M2M1NzQKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIv
ZGVidWdnZXItY3ljbGljLXJlZi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw4IEBACitUZXN0cyB0
aGF0IGRlYnVnZ2luZyBhIHBhZ2Ugd2hlcmUgT2JqZWN0IHByb3RvdHlwZSBoYXMgYSBjeWNsaWMg
cmVmZXJlbmNlIHdvbid0IGNyYXNoIHRoZSBicm93c2VyLkJ1ZyA0MzU1OAorCitEZWJ1Z2dlciB3
YXMgZW5hYmxlZC4KK1NldCB0aW1lciBmb3IgdGVzdCBmdW5jdGlvbi4KK1NjcmlwdCBleGVjdXRp
b24gcGF1c2VkLgorU2NyaXB0IGV4ZWN1dGlvbiByZXN1bWVkLgorRGVidWdnZXIgd2FzIGRpc2Fi
bGVkLgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZGVidWdn
ZXIvZGVidWdnZXItY3ljbGljLXJlZi5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29s
ZXRlL2RlYnVnZ2VyL2RlYnVnZ2VyLWN5Y2xpYy1yZWYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iZGM2ZDM4
NDEyMWVkMmY5NzE5MzQ4OGJjNzM1YWM0NmM4MmMwNmZhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2VyL2RlYnVnZ2VyLWN5Y2xpYy1yZWYu
aHRtbApAQCAtMCwwICsxLDQwIEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci10ZXN0LmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQ+CisKK09iamVjdC5wcm90b3R5cGUuY3ljbGljUmVmID0gT2JqZWN0LnBy
b3RvdHlwZTsKKworZnVuY3Rpb24gdGVzdEZ1bmN0aW9uKCkKK3sKKyAgICB2YXIgbyA9IG5ldyBP
YmplY3QoKTsKKyAgICBkZWJ1Z2dlcjsKK30KKwordmFyIHRlc3QgPSBmdW5jdGlvbigpCit7Cisg
ICAgSW5zcGVjdG9yVGVzdC5zdGFydERlYnVnZ2VyVGVzdChzdGVwMSk7CisKKyAgICBmdW5jdGlv
biBzdGVwMSgpCisgICAgeworICAgICAgICBJbnNwZWN0b3JUZXN0LnJ1blRlc3RGdW5jdGlvbkFu
ZFdhaXRVbnRpbFBhdXNlZChzdGVwMik7CisgICAgfQorCisgICAgZnVuY3Rpb24gc3RlcDIoKQor
ICAgIHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZURlYnVnZ2VyVGVzdCgpOworICAg
IH0KK30KKworPC9zY3JpcHQ+Cis8L2hlYWQ+CisKKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4K
KzxwPgorVGVzdHMgdGhhdCBkZWJ1Z2dpbmcgYSBwYWdlIHdoZXJlIE9iamVjdCBwcm90b3R5cGUg
aGFzIGEgY3ljbGljIHJlZmVyZW5jZSB3b24ndAorY3Jhc2ggdGhlIGJyb3dzZXIuPGEgaHJlZj0i
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQzNTU4Ij5CdWcgNDM1NTg8
L2E+Cis8L3A+CisKKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lu
c3BlY3Rvci1vYnNvbGV0ZS9kZWJ1Z2dlci9kZWJ1Z2dlci1ldmFsLW9uLWNhbGwtZnJhbWUtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2VyL2RlYnVn
Z2VyLWV2YWwtb24tY2FsbC1mcmFtZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2UxMzg4Y2Zh
OWQ3YmE0NzA4YzViNWRjMmE4NGZiZjI2MGEyYTJlNwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9kZWJ1Z2dlci9kZWJ1Z2dlci1ldmFsLW9uLWNhbGwt
ZnJhbWUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsOSBAQAorVGVzdCB0aGF0IGV2YWx1YXRpb24g
aW4gdGhlIGNvbnRleHQgb2YgdG9wIGZyYW1lIHdpbGwgc2VlIHZhbHVlcyBvZiBpdHMgbG9jYWwg
dmFyaWFibGVzLCBldmVuIGlmIHRoZXJlIGFyZSBnbG9iYWwgdmFyaWFibGVzIHdpdGggc2FtZSBu
YW1lcy4gT24gc3VjY2VzcyB0aGUgdGVzdCB3aWxsIHByaW50IGEgPSAyKHZhbHVlIG9mIHRoZSBs
b2NhbCB2YXJpYWJsZSBhKS4gQnVnIDQ3MzU4LgorCitEZWJ1Z2dlciB3YXMgZW5hYmxlZC4KK1Nl
dCB0aW1lciBmb3IgdGVzdCBmdW5jdGlvbi4KK1NjcmlwdCBleGVjdXRpb24gcGF1c2VkLgorRXZh
bHVhdGVkIGluIGNvbnNvbGUgaW4gdGhlIHRvcCBmcmFtZSBjb250ZXh0OiBhID0gMgorU2NyaXB0
IGV4ZWN1dGlvbiByZXN1bWVkLgorRGVidWdnZXIgd2FzIGRpc2FibGVkLgorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIvZGVidWdnZXItZXZhbC1v
bi1jYWxsLWZyYW1lLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZGVidWdn
ZXIvZGVidWdnZXItZXZhbC1vbi1jYWxsLWZyYW1lLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTkyODhkZWQw
MGU0NGI2YjQwNjUzYjE2YzRkNjFhZDhhYWVmYzBkMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9kZWJ1Z2dlci9kZWJ1Z2dlci1ldmFsLW9uLWNhbGwt
ZnJhbWUuaHRtbApAQCAtMCwwICsxLDQ3IEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci10ZXN0Lmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQ+CisKK3ZhciBhID0gMTsKK2Z1bmN0aW9uIHRlc3RGdW5jdGlv
bigpCit7CisgICAgdmFyIGEgPSAyOworICAgIGRlYnVnZ2VyOworfQorCit2YXIgdGVzdCA9IGZ1
bmN0aW9uKCkKK3sKKyAgICBJbnNwZWN0b3JUZXN0LnN0YXJ0RGVidWdnZXJUZXN0KHN0ZXAxKTsK
KworICAgIGZ1bmN0aW9uIHN0ZXAxKCkKKyAgICB7CisgICAgICAgIEluc3BlY3RvclRlc3QucnVu
VGVzdEZ1bmN0aW9uQW5kV2FpdFVudGlsUGF1c2VkKHN0ZXAyKTsKKyAgICB9CisKKyAgICBmdW5j
dGlvbiBzdGVwMigpCisgICAgeworICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5Db25z
b2xlKCJhIiwgc3RlcDMpOworICAgIH0KKworICAgIGZ1bmN0aW9uIHN0ZXAzKHJlc3VsdCkKKyAg
ICB7CisgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJFdmFsdWF0ZWQgaW4gY29uc29s
ZSBpbiB0aGUgdG9wIGZyYW1lIGNvbnRleHQ6IGEgPSAiICsgcmVzdWx0KTsKKyAgICAgICAgSW5z
cGVjdG9yVGVzdC5jb21wbGV0ZURlYnVnZ2VyVGVzdCgpOworICAgIH0KK30KKworPC9zY3JpcHQ+
Cis8L2hlYWQ+CisKKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KKzxwPgorVGVzdCB0aGF0IGV2
YWx1YXRpb24gaW4gdGhlIGNvbnRleHQgb2YgdG9wIGZyYW1lIHdpbGwgc2VlIHZhbHVlcworb2Yg
aXRzIGxvY2FsIHZhcmlhYmxlcywgZXZlbiBpZiB0aGVyZSBhcmUgZ2xvYmFsIHZhcmlhYmxlcyB3
aXRoCitzYW1lIG5hbWVzLiBPbiBzdWNjZXNzIHRoZSB0ZXN0IHdpbGwgcHJpbnQgYSA9IDIodmFs
dWUgb2YgdGhlCitsb2NhbCB2YXJpYWJsZSBhKS4gPGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTQ3MzU4Ij5CdWcgNDczNTguPC9hPgorPC9wPgorCis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUv
ZGVidWdnZXIvZGVidWdnZXItZXZhbC13aGlsZS1wYXVzZWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2VyL2RlYnVnZ2VyLWV2YWwtd2hpbGUtcGF1
c2VkLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44ZjRkZDMwZmMyZGRhZTQyNjY0NmFlMWIyNmIy
NWVlMjk5NDhlOTA5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9i
c29sZXRlL2RlYnVnZ2VyL2RlYnVnZ2VyLWV2YWwtd2hpbGUtcGF1c2VkLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEwIEBACitUZXN0cyB0aGF0IGV2YWx1YXRpb24gaW4gY29uc29sZSB3b3JrcyBm
aW5lIHdoZW4gc2NyaXB0IGlzIHBhdXNlZC4gSXQgYWxzbyBjaGVja3MgdGhhdCBzdGFjayBhbmQg
Z2xvYmFsIHZhcmlhYmxlcyBhcmUgYWNjZXNzaWJsZSBmcm9tIHRoZSBjb25zb2xlLgorCitEZWJ1
Z2dlciB3YXMgZW5hYmxlZC4KK1NldCB0aW1lciBmb3IgdGVzdCBmdW5jdGlvbi4KK1NjcmlwdCBl
eGVjdXRpb24gcGF1c2VkLgorRXZhbHVhdGVkIHNjcmlwdCBvbiB0aGUgdG9wIGZyYW1lOiA0MDIx
CitFdmFsdWF0ZWQgc2NyaXB0IG9uIHRoZSBjYWxsaW5nIGZyYW1lOiAzMDEKK1NjcmlwdCBleGVj
dXRpb24gcmVzdW1lZC4KK0RlYnVnZ2VyIHdhcyBkaXNhYmxlZC4KKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2VyL2RlYnVnZ2VyLWV2YWwtd2hpbGUt
cGF1c2VkLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIvZGVi
dWdnZXItZXZhbC13aGlsZS1wYXVzZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMDYwMmM4MGJiMWMyNWJi
NDJiNmUwNTk1ZDI4MzYxNDU5YjJmY2VlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2VyL2RlYnVnZ2VyLWV2YWwtd2hpbGUtcGF1c2VkLmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9o
dHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvZGVidWdnZXItdGVzdC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0PgorCit2YXIgZ2xvYmFsVmFyID0geyBiOiAxIH07CisKK2Z1bmN0aW9uIHNs
YXZlKHgpCit7CisgICAgdmFyIHkgPSAyMDsKKyAgICBkZWJ1Z2dlcjsKK30KKworZnVuY3Rpb24g
dGVzdEZ1bmN0aW9uKCkKK3sKKyAgICB2YXIgbG9jYWxPYmplY3QgPSB7IGE6IDMwMCB9OworICAg
IHNsYXZlKDQwMDApOworfQorCit2YXIgdGVzdCA9IGZ1bmN0aW9uKCkKK3sKKyAgICBJbnNwZWN0
b3JUZXN0LnN0YXJ0RGVidWdnZXJUZXN0KHN0ZXAxKTsKKworICAgIGZ1bmN0aW9uIHN0ZXAxKCkK
KyAgICB7CisgICAgICAgIEluc3BlY3RvclRlc3QucnVuVGVzdEZ1bmN0aW9uQW5kV2FpdFVudGls
UGF1c2VkKHN0ZXAyKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBzdGVwMihjYWxsRnJhbWVzKQor
ICAgIHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluQ29uc29sZSgieCArIHkgKyBn
bG9iYWxWYXIuYiIsIHN0ZXAzLmJpbmQobnVsbCwgY2FsbEZyYW1lcykpOworICAgIH0KKworICAg
IGZ1bmN0aW9uIHN0ZXAzKGNhbGxGcmFtZXMsIHJlc3VsdCkKKyAgICB7CisgICAgICAgIEluc3Bl
Y3RvclRlc3QuYWRkUmVzdWx0KCJFdmFsdWF0ZWQgc2NyaXB0IG9uIHRoZSB0b3AgZnJhbWU6ICIg
KyByZXN1bHQpOworICAgICAgICB2YXIgcGFuZSA9IFdlYkluc3BlY3Rvci5wYW5lbHMuc2NyaXB0
cy5zaWRlYmFyUGFuZXMuY2FsbHN0YWNrOworICAgICAgICBwYW5lLl9wbGFjYXJkU2VsZWN0ZWQo
cGFuZS5wbGFjYXJkc1sxXSk7CisgICAgICAgIEluc3BlY3RvclRlc3QucnVuQWZ0ZXJQZW5kaW5n
RGlzcGF0Y2hlcyhzdGVwNCk7CisgICAgfQorCisgICAgZnVuY3Rpb24gc3RlcDQoKQorICAgIHsK
KyAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluQ29uc29sZSgibG9jYWxPYmplY3QuYSAr
IGdsb2JhbFZhci5iIiwgc3RlcDUpOworICAgIH0KKworICAgIGZ1bmN0aW9uIHN0ZXA1KHJlc3Vs
dCkKKyAgICB7CisgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJFdmFsdWF0ZWQgc2Ny
aXB0IG9uIHRoZSBjYWxsaW5nIGZyYW1lOiAiICsgcmVzdWx0KTsKKyAgICAgICAgSW5zcGVjdG9y
VGVzdC5jb21wbGV0ZURlYnVnZ2VyVGVzdCgpOworICAgIH0KK30KKworPC9zY3JpcHQ+Cis8L2hl
YWQ+CisKKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KKzxwPgorVGVzdHMgdGhhdCBldmFsdWF0
aW9uIGluIGNvbnNvbGUgd29ya3MgZmluZSB3aGVuIHNjcmlwdCBpcyBwYXVzZWQuIEl0IGFsc28g
Y2hlY2tzIHRoYXQKK3N0YWNrIGFuZCBnbG9iYWwgdmFyaWFibGVzIGFyZSBhY2Nlc3NpYmxlIGZy
b20gdGhlIGNvbnNvbGUuCis8L3A+CisKKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9kZWJ1Z2dlci9kZWJ1Z2dlci1uby1uZXN0ZWQt
cGF1c2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2RlYnVn
Z2VyL2RlYnVnZ2VyLW5vLW5lc3RlZC1wYXVzZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjNi
NDhmN2Y0YzFjZDFhNDkyODk4NDRlZGJkYmQ2MDUyMjdhYzFkZQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9kZWJ1Z2dlci9kZWJ1Z2dlci1uby1uZXN0
ZWQtcGF1c2UtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTAgQEAKK1Rlc3RzIHRoYXQgZGVidWdn
ZXIgd2lsbCBza2lwIGJyZWFrcG9pbnQgaGl0IHdoZW4gc2NyaXB0IGV4ZWN1dGlvbiBpcyBhbHJl
YWR5IHBhdXNlZC4gU2VlIGJ1ZworCitEZWJ1Z2dlciB3YXMgZW5hYmxlZC4KK1NldCB0aW1lciBm
b3IgdGVzdCBmdW5jdGlvbi4KK1NjcmlwdCBleGVjdXRpb24gcGF1c2VkLgorU2V0IHRpbWVyIGZv
ciB0ZXN0IGZ1bmN0aW9uLgordGVzdEZ1bmN0aW9uLmludm9jYXRpb25Db3VudCA9IDIKK1Njcmlw
dCBleGVjdXRpb24gcmVzdW1lZC4KK0RlYnVnZ2VyIHdhcyBkaXNhYmxlZC4KKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2VyL2RlYnVnZ2VyLW5vLW5l
c3RlZC1wYXVzZS5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2Vy
L2RlYnVnZ2VyLW5vLW5lc3RlZC1wYXVzZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE1ZWNlMjQ2OTlkNDI3
YTc4YjIyMzZmNzg1M2E5NDZiZTIyMDc5OGYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9pbnNwZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIvZGVidWdnZXItbm8tbmVzdGVkLXBhdXNlLmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9o
dHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvZGVidWdnZXItdGVzdC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0PgorCitmdW5jdGlvbiB0ZXN0RnVuY3Rpb24oKQoreworICAgIHRlc3RGdW5j
dGlvbi5pbnZvY2F0aW9uQ291bnQrKzsKKyAgICBkZWJ1Z2dlcjsKK30KKwordGVzdEZ1bmN0aW9u
Lmludm9jYXRpb25Db3VudCA9IDA7CisKK3ZhciB0ZXN0ID0gZnVuY3Rpb24oKQoreworICAgIElu
c3BlY3RvclRlc3Quc3RhcnREZWJ1Z2dlclRlc3Qoc3RlcDEpOworCisgICAgZnVuY3Rpb24gc3Rl
cDEoKQorICAgIHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5ydW5UZXN0RnVuY3Rpb25BbmRXYWl0
VW50aWxQYXVzZWQoc3RlcDIpOworICAgIH0KKworICAgIGZ1bmN0aW9uIHN0ZXAyKCkKKyAgICB7
CisgICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJbkNvbnNvbGUoInRlc3RGdW5jdGlvbigp
OyB0ZXN0RnVuY3Rpb24uaW52b2NhdGlvbkNvdW50Iiwgc3RlcDMpOworICAgICAgICBJbnNwZWN0
b3JUZXN0LmFkZFJlc3VsdCgiU2V0IHRpbWVyIGZvciB0ZXN0IGZ1bmN0aW9uLiIpOworICAgIH0K
KworICAgIGZ1bmN0aW9uIHN0ZXAzKHJlc3VsdCkKKyAgICB7CisgICAgICAgIEluc3BlY3RvclRl
c3QuYWRkUmVzdWx0KCJ0ZXN0RnVuY3Rpb24uaW52b2NhdGlvbkNvdW50ID0gIiArIHJlc3VsdCk7
CisgICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVEZWJ1Z2dlclRlc3QoKTsKKyAgICB9Cit9
CisKKzwvc2NyaXB0PgorPC9oZWFkPgorCis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Cis8cD4K
K1Rlc3RzIHRoYXQgZGVidWdnZXIgd2lsbCBza2lwIGJyZWFrcG9pbnQgaGl0IHdoZW4gc2NyaXB0
IGV4ZWN1dGlvbiBpcyBhbHJlYWR5IHBhdXNlZC4gPGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTQxNzY4Ij5TZWUgYnVnPC9hPgorPC9wPgorCis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZGVi
dWdnZXIvZGVidWdnZXItcGF1c2UtaW4tZXZhbC1zY3JpcHQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2VyL2RlYnVnZ2VyLXBhdXNlLWluLWV2YWwt
c2NyaXB0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43MzZhNWE4ZjFiNGM1OTY2NmMxNDliMzJj
YTJlNmI3M2U0OGE1NDJmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
LW9ic29sZXRlL2RlYnVnZ2VyL2RlYnVnZ2VyLXBhdXNlLWluLWV2YWwtc2NyaXB0LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEwIEBACitUZXN0cyB0aGF0IGRlYnVnZ2VyIHdpbGwgc3RvcCBvbiAi
ZGVidWdnZXIiIHN0YXRlbWVudCBpbiBhIGZ1bmN0aW9uIHRoYXQgd2FzIGFkZGVkIHRvIHRoZSBp
bnNwZWN0ZWQgcGFnZSB2aWEgZXZhbHVhdGlvbiBpbiBXZWIgSW5zcGVjdG9yIGNvbnNvbGUuQnVn
IDQxMDU4CisKK0RlYnVnZ2VyIHdhcyBlbmFibGVkLgorRXZhbHVhdGVkIHNjcmlwdCBpbiBjb25z
b2xlLgorU2NyaXB0IGV4ZWN1dGlvbiBwYXVzZWQuCitDYWxsIHN0YWNrOgorICAgIDApIHRlc3RG
dW5jdGlvbiAoOjIpCitTY3JpcHQgZXhlY3V0aW9uIHJlc3VtZWQuCitEZWJ1Z2dlciB3YXMgZGlz
YWJsZWQuCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9kZWJ1
Z2dlci9kZWJ1Z2dlci1wYXVzZS1pbi1ldmFsLXNjcmlwdC5odG1sIGIvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yLW9ic29sZXRlL2RlYnVnZ2VyL2RlYnVnZ2VyLXBhdXNlLWluLWV2YWwtc2NyaXB0Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNDViZGZjYmNmZjc3OTNlODRkZGFhYjlmYTczMTVmMmFiODJkYTlhNwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9kZWJ1Z2dl
ci9kZWJ1Z2dlci1wYXVzZS1pbi1ldmFsLXNjcmlwdC5odG1sCkBAIC0wLDAgKzEsNDAgQEAKKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5z
cGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMv
aW5zcGVjdG9yL2RlYnVnZ2VyLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKworCit2YXIg
dGVzdCA9IGZ1bmN0aW9uKCkKK3sKKyAgICB2YXIgc2NyaXB0VG9FdmFsdWF0ZSA9ICJmdW5jdGlv
biB0ZXN0RnVuY3Rpb24oKSB7XG4iICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICIgICAg
ZGVidWdnZXI7XG4iICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJ9XG4iICsKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJzZXRUaW1lb3V0KHRlc3RGdW5jdGlvbiwgMCk7XG4iOwor
CisgICAgSW5zcGVjdG9yVGVzdC5zdGFydERlYnVnZ2VyVGVzdChzdGVwMSk7CisKKyAgICBmdW5j
dGlvbiBzdGVwMSgpCisgICAgeworICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5Db25z
b2xlKHNjcmlwdFRvRXZhbHVhdGUsIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0LmJpbmQoSW5zcGVj
dG9yVGVzdCwgIkV2YWx1YXRlZCBzY3JpcHQgaW4gY29uc29sZS4iKSk7CisgICAgICAgIEluc3Bl
Y3RvclRlc3Qud2FpdFVudGlsUGF1c2VkKHN0ZXAyKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBz
dGVwMihjYWxsRnJhbWVzKQorICAgIHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5jYXB0dXJlU3Rh
Y2tUcmFjZShjYWxsRnJhbWVzKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZURlYnVn
Z2VyVGVzdCgpOworICAgIH0KK30KKworPC9zY3JpcHQ+Cis8L2hlYWQ+CisKKzxib2R5IG9ubG9h
ZD0icnVuVGVzdCgpIj4KKzxwPgorVGVzdHMgdGhhdCBkZWJ1Z2dlciB3aWxsIHN0b3Agb24gImRl
YnVnZ2VyIiBzdGF0ZW1lbnQgaW4gYSBmdW5jdGlvbiB0aGF0IHdhcyBhZGRlZAordG8gdGhlIGlu
c3BlY3RlZCBwYWdlIHZpYSBldmFsdWF0aW9uIGluIFdlYiBJbnNwZWN0b3IgY29uc29sZS48YSBo
cmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDEwNTgiPkJ1ZyA0
MTA1ODwvYT4KKzwvcD4KKworPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2VyL2RlYnVnZ2VyLXBhdXNlLWluLWludGVybmFs
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9kZWJ1Z2dlci9k
ZWJ1Z2dlci1wYXVzZS1pbi1pbnRlcm5hbC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmI0YWI5
MDU3YmQyYWRhZjJiZjI1ZjE4MjNhNzdhY2ZiNWI2MjhiNQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9kZWJ1Z2dlci9kZWJ1Z2dlci1wYXVzZS1pbi1p
bnRlcm5hbC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMiBAQAorQ09OU09MRSBNRVNTQUdFOiBs
aW5lIDI6IFN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHRva2VuICcpJworVGVzdHMgdGhhdCBwYXVz
ZSBvbiBleGNlcHRpb24gaW4gaW50ZXJuYWwgc2NyaXB0IGRvZXMgbm90IGNyYXNoLgorCitEZWJ1
Z2dlciB3YXMgZW5hYmxlZC4KK1NjcmlwdCBzb3VyY2Ugd2FzIHNob3duLgorU2NyaXB0IGV4ZWN1
dGlvbiBwYXVzZWQuCitDYWxsIHN0YWNrOgorICAgIDApIHRocm93RXhjZXB0aW9uIChkZWJ1Z2dl
ci1wYXVzZS1pbi1pbnRlcm5hbC5odG1sOjkpCisgICAgMSkgaGFuZGxlQ2xpY2sgKGRlYnVnZ2Vy
LXBhdXNlLWluLWludGVybmFsLmh0bWw6MTQpCitTY3JpcHQgZXhlY3V0aW9uIHJlc3VtZWQuCitE
ZWJ1Z2dlciB3YXMgZGlzYWJsZWQuCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rv
ci1vYnNvbGV0ZS9kZWJ1Z2dlci9kZWJ1Z2dlci1wYXVzZS1pbi1pbnRlcm5hbC5odG1sIGIvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2VyL2RlYnVnZ2VyLXBhdXNlLWluLWlu
dGVybmFsLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzE0MTdkYjc1NmI1Yzc3ODUzMjFlYTQ5ZDZhYTYwMzkx
ZWQ1NjYzMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0
ZS9kZWJ1Z2dlci9kZWJ1Z2dlci1wYXVzZS1pbi1pbnRlcm5hbC5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0
b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAv
dGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKwor
ZnVuY3Rpb24gdGhyb3dFeGNlcHRpb24oKQoreworICAgIG5ldyBGdW5jdGlvbigicmV0dXJuICgp
Iik7Cit9CisKK2Z1bmN0aW9uIGhhbmRsZUNsaWNrKCkKK3sKKyAgICB0aHJvd0V4Y2VwdGlvbigp
OworfQorCit2YXIgdGVzdCA9IGZ1bmN0aW9uKCkKK3sKKyAgICBJbnNwZWN0b3JUZXN0LnN0YXJ0
RGVidWdnZXJUZXN0KHN0ZXAxKTsKKworICAgIGZ1bmN0aW9uIHN0ZXAxKCkKKyAgICB7CisgICAg
ICAgIERlYnVnZ2VyQWdlbnQuc2V0UGF1c2VPbkV4Y2VwdGlvbnMoV2ViSW5zcGVjdG9yLkRlYnVn
Z2VyTW9kZWwuUGF1c2VPbkV4Y2VwdGlvbnNTdGF0ZS5QYXVzZU9uVW5jYXVnaHRFeGNlcHRpb25z
KTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5zaG93U2NyaXB0U291cmNlKCJkZWJ1Z2dlci1wYXVz
ZS1pbi1pbnRlcm5hbC5odG1sIiwgc3RlcDIpOworICAgIH0KKworICAgIGZ1bmN0aW9uIHN0ZXAy
KCkgIAorICAgIHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIlNjcmlwdCBzb3Vy
Y2Ugd2FzIHNob3duLiIpOworICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJz
ZXRUaW1lb3V0KGhhbmRsZUNsaWNrLCAwKSIpOworICAgICAgICBJbnNwZWN0b3JUZXN0LndhaXRV
bnRpbFBhdXNlZChzdGVwMyk7CisgICAgfQorCisgICAgZnVuY3Rpb24gc3RlcDMoY2FsbEZyYW1l
cykKKyAgICB7CisgICAgICAgIEluc3BlY3RvclRlc3QuY2FwdHVyZVN0YWNrVHJhY2UoY2FsbEZy
YW1lcyk7CisgICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVEZWJ1Z2dlclRlc3QoKTsKKyAg
ICB9Cit9CisKKzwvc2NyaXB0PgorPC9oZWFkPgorCis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+
Cis8cD4KK1Rlc3RzIHRoYXQgcGF1c2Ugb24gZXhjZXB0aW9uIGluIGludGVybmFsIHNjcmlwdCBk
b2VzIG5vdCBjcmFzaC4KKzwvcD4KKworPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2VyL2RlYnVnZ2VyLXBhdXNlLW9uLWJs
b2NrZWQtZXZlbnQtaGFuZGxlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3It
b2Jzb2xldGUvZGVidWdnZXIvZGVidWdnZXItcGF1c2Utb24tYmxvY2tlZC1ldmVudC1oYW5kbGVy
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zOWI2NGIwZGYzNmU0NWNlNTMyNWY4MTA0MTViYTY3
MGFiMjljMTAzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29s
ZXRlL2RlYnVnZ2VyL2RlYnVnZ2VyLXBhdXNlLW9uLWJsb2NrZWQtZXZlbnQtaGFuZGxlci1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMiBAQAorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDEzOiBSZWZ1
c2VkIHRvIGV4ZWN1dGUgaW5saW5lIGV2ZW50IGhhbmRsZXIgYmVjYXVzZSBpdCB2aW9sYXRlcyB0
aGUgZm9sbG93aW5nIENvbnRlbnQgU2VjdXJpdHkgUG9saWN5IGRpcmVjdGl2ZTogInNjcmlwdC1z
cmMgJ3NlbGYnIi4KKworVGVzdHMgdGhhdCBwYXVzZSBvbiBleGNlcHRpb24gd29ya3MgZm9yIGlu
bGluZSBldmVudCBoYW5kbGVycyBibG9ja2VkIGJ5IENTUC4KKworQnV0dG9uCitEZWJ1Z2dlciB3
YXMgZW5hYmxlZC4KK1NjcmlwdCBleGVjdXRpb24gcGF1c2VkLgorQ2FsbCBzdGFjazoKKyAgICAw
KSB0ZXN0QWN0aW9uIChwYXVzZS1vbi1ibG9ja2VkLWV2ZW50LWhhbmRsZXIuanM6NCkKK1Njcmlw
dCBleGVjdXRpb24gcmVzdW1lZC4KK0RlYnVnZ2VyIHdhcyBkaXNhYmxlZC4KKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2VyL2RlYnVnZ2VyLXBhdXNl
LW9uLWJsb2NrZWQtZXZlbnQtaGFuZGxlci5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9i
c29sZXRlL2RlYnVnZ2VyL2RlYnVnZ2VyLXBhdXNlLW9uLWJsb2NrZWQtZXZlbnQtaGFuZGxlci5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjBhMjEzZTQ5OTdlYWU2Y2MwNWI0MzllZjhiYWJiYTIyZWNkZjVlN2EK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZGVidWdn
ZXIvZGVidWdnZXItcGF1c2Utb24tYmxvY2tlZC1ldmVudC1oYW5kbGVyLmh0bWwKQEAgLTAsMCAr
MSwxNSBAQAorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtU2VjdXJp
dHktUG9saWN5IiBjb250ZW50PSJzY3JpcHQtc3JjICdzZWxmJzsiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci10ZXN0LmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvcGF1c2Utb24tYmxvY2tlZC1ldmVudC1o
YW5kbGVyLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvcGF1c2Utb24tYmxv
Y2tlZC1ieS1jc3AuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD4KK1Rlc3RzIHRo
YXQgcGF1c2Ugb24gZXhjZXB0aW9uIHdvcmtzIGZvciBpbmxpbmUgZXZlbnQgaGFuZGxlcnMgYmxv
Y2tlZCBieSBDU1AuCis8L3A+Cis8YnV0dG9uIGlkPSJ0ZXN0IiBvbmNsaWNrPSJhbGVydCgnRkFJ
TCEnKTsiPkJ1dHRvbjwvYnV0dG9uPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2VyL2RlYnVnZ2VyLXBhdXNlLW9uLWJs
b2NrZWQtc2NyaXB0LWluamVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0
b3Itb2Jzb2xldGUvZGVidWdnZXIvZGVidWdnZXItcGF1c2Utb24tYmxvY2tlZC1zY3JpcHQtaW5q
ZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41OWVmMzgxODdjZGM4MTNmNDRiNjU0NDE0
ZjFhYmZjYjA4OGNhOTYyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
LW9ic29sZXRlL2RlYnVnZ2VyL2RlYnVnZ2VyLXBhdXNlLW9uLWJsb2NrZWQtc2NyaXB0LWluamVj
dGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMSBAQAorQ09OU09MRSBNRVNTQUdFOiBSZWZ1
c2VkIHRvIGV4ZWN1dGUgaW5saW5lIHNjcmlwdCBiZWNhdXNlIGl0IHZpb2xhdGVzIHRoZSBmb2xs
b3dpbmcgQ29udGVudCBTZWN1cml0eSBQb2xpY3kgZGlyZWN0aXZlOiAic2NyaXB0LXNyYyAnc2Vs
ZiciLgorCitUZXN0cyB0aGF0IHBhdXNlIG9uIGV4Y2VwdGlvbiB3b3JrcyBmb3IgaW5saW5lIHNj
cmlwdHMgYmxvY2tlZCBieSBDU1AuCisKK0RlYnVnZ2VyIHdhcyBlbmFibGVkLgorU2NyaXB0IGV4
ZWN1dGlvbiBwYXVzZWQuCitDYWxsIHN0YWNrOgorICAgIDApIHRlc3RBY3Rpb24gKHBhdXNlLW9u
LWJsb2NrZWQtc2NyaXB0LWluamVjdGlvbi5qczo1KQorU2NyaXB0IGV4ZWN1dGlvbiByZXN1bWVk
LgorRGVidWdnZXIgd2FzIGRpc2FibGVkLgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIvZGVidWdnZXItcGF1c2Utb24tYmxvY2tlZC1zY3JpcHQt
aW5qZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIv
ZGVidWdnZXItcGF1c2Utb24tYmxvY2tlZC1zY3JpcHQtaW5qZWN0aW9uLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMWRmNzRjYWI4ZTlkYzZiOWFmNmU2ZTgwMjNlZjRhZGFmYzBmZTEzOAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9kZWJ1Z2dlci9kZWJ1Z2dlci1w
YXVzZS1vbi1ibG9ja2VkLXNjcmlwdC1pbmplY3Rpb24uaHRtbApAQCAtMCwwICsxLDE0IEBACis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1TZWN1cml0eS1Qb2xpY3ki
IGNvbnRlbnQ9InNjcmlwdC1zcmMgJ3NlbGYnOyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90
ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyLXRlc3QuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9InJlc291cmNlcy9wYXVzZS1vbi1ibG9ja2VkLWJ5LWNzcC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3BhdXNlLW9uLWJsb2NrZWQtc2NyaXB0LWluamVj
dGlvbi5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPgorVGVzdHMgdGhhdCBwYXVz
ZSBvbiBleGNlcHRpb24gd29ya3MgZm9yIGlubGluZSBzY3JpcHRzIGJsb2NrZWQgYnkgQ1NQLgor
PC9wPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
LW9ic29sZXRlL2RlYnVnZ2VyL2RlYnVnZ2VyLXBhdXNlLW9uLWJsb2NrZWQtc2NyaXB0LXVybC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIvZGVi
dWdnZXItcGF1c2Utb24tYmxvY2tlZC1zY3JpcHQtdXJsLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xOWU2OWU1ZWZhOTU2OTNhOWEzMDQxMDZiZDNlMmNmN2FiZTFhM2MzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2VyL2RlYnVnZ2VyLXBh
dXNlLW9uLWJsb2NrZWQtc2NyaXB0LXVybC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMSBAQAor
Q09OU09MRSBNRVNTQUdFOiBsaW5lIDE6IFJlZnVzZWQgdG8gZXhlY3V0ZSBKYXZhU2NyaXB0IFVS
TCBiZWNhdXNlIGl0IHZpb2xhdGVzIHRoZSBmb2xsb3dpbmcgQ29udGVudCBTZWN1cml0eSBQb2xp
Y3kgZGlyZWN0aXZlOiAic2NyaXB0LXNyYyAnc2VsZiciLgorCitUZXN0cyB0aGF0IHBhdXNlIG9u
IGV4Y2VwdGlvbiB3b3JrcyBmb3IgaW5saW5lIHNjcmlwdCBVUkxzIGJsb2NrZWQgYnkgQ1NQLgor
CitEZWJ1Z2dlciB3YXMgZW5hYmxlZC4KK1NjcmlwdCBleGVjdXRpb24gcGF1c2VkLgorQ2FsbCBz
dGFjazoKKyAgICAwKSB0ZXN0QWN0aW9uIChwYXVzZS1vbi1ibG9ja2VkLXNjcmlwdC11cmwuanM6
NikKK1NjcmlwdCBleGVjdXRpb24gcmVzdW1lZC4KK0RlYnVnZ2VyIHdhcyBkaXNhYmxlZC4KKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2VyL2RlYnVn
Z2VyLXBhdXNlLW9uLWJsb2NrZWQtc2NyaXB0LXVybC5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yLW9ic29sZXRlL2RlYnVnZ2VyL2RlYnVnZ2VyLXBhdXNlLW9uLWJsb2NrZWQtc2NyaXB0LXVy
bC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmI3MzkxZWQ1MzM5NGVmNzY1NGVmOWY5NDI5ZGZkY2NhNzg1ZmRi
MTAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZGVi
dWdnZXIvZGVidWdnZXItcGF1c2Utb24tYmxvY2tlZC1zY3JpcHQtdXJsLmh0bWwKQEAgLTAsMCAr
MSwxNCBAQAorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtU2VjdXJp
dHktUG9saWN5IiBjb250ZW50PSJzY3JpcHQtc3JjICdzZWxmJzsiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci10ZXN0LmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvcGF1c2Utb24tYmxvY2tlZC1ieS1jc3Au
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9wYXVzZS1vbi1ibG9ja2VkLXNj
cmlwdC11cmwuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD4KK1Rlc3RzIHRoYXQg
cGF1c2Ugb24gZXhjZXB0aW9uIHdvcmtzIGZvciBpbmxpbmUgc2NyaXB0IFVSTHMgYmxvY2tlZCBi
eSBDU1AuCis8L3A+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bnNwZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIvZGVidWdnZXItcGF1c2Utb24tZGVidWdnZXItc3Rh
dGVtZW50LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9kZWJ1
Z2dlci9kZWJ1Z2dlci1wYXVzZS1vbi1kZWJ1Z2dlci1zdGF0ZW1lbnQtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmQ3OGVlN2I0ZTQyMGNmY2I5ODM3YmRlNTA0YjYxMjRmNzIzN2YyZmUKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIvZGVi
dWdnZXItcGF1c2Utb24tZGVidWdnZXItc3RhdGVtZW50LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDggQEAKK1Rlc3RzIHRoYXQgZGVidWdnZXIgd2lsbCBzdG9wIG9uICJkZWJ1Z2dlciIgc3RhdGVt
ZW50LgorCitEZWJ1Z2dlciB3YXMgZW5hYmxlZC4KK1NldCB0aW1lciBmb3IgdGVzdCBmdW5jdGlv
bi4KK1NjcmlwdCBleGVjdXRpb24gcGF1c2VkLgorU2NyaXB0IGV4ZWN1dGlvbiByZXN1bWVkLgor
RGVidWdnZXIgd2FzIGRpc2FibGVkLgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0
b3Itb2Jzb2xldGUvZGVidWdnZXIvZGVidWdnZXItcGF1c2Utb24tZGVidWdnZXItc3RhdGVtZW50
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIvZGVidWdnZXIt
cGF1c2Utb24tZGVidWdnZXItc3RhdGVtZW50Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmI2YWU2NzQ1MzFm
MTg4OGNkNTdhZTVhZmE3NDMyYTUyOTIxZDkwNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9kZWJ1Z2dlci9kZWJ1Z2dlci1wYXVzZS1vbi1kZWJ1Z2dl
ci1zdGF0ZW1lbnQuaHRtbApAQCAtMCwwICsxLDM2IEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci10
ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisKK2Z1bmN0aW9uIHRlc3RGdW5jdGlvbigpCit7
CisgICAgZGVidWdnZXI7Cit9CisKK3ZhciB0ZXN0ID0gZnVuY3Rpb24oKQoreworICAgIEluc3Bl
Y3RvclRlc3Quc3RhcnREZWJ1Z2dlclRlc3Qoc3RlcDEpOworCisgICAgZnVuY3Rpb24gc3RlcDEo
KQorICAgIHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5ydW5UZXN0RnVuY3Rpb25BbmRXYWl0VW50
aWxQYXVzZWQoc3RlcDIpOworICAgIH0KKworICAgIGZ1bmN0aW9uIHN0ZXAyKCkKKyAgICB7Cisg
ICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVEZWJ1Z2dlclRlc3QoKTsKKyAgICB9Cit9CisK
Kzwvc2NyaXB0PgorPC9oZWFkPgorCis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Cis8cD4KK1Rl
c3RzIHRoYXQgZGVidWdnZXIgd2lsbCBzdG9wIG9uICJkZWJ1Z2dlciIgc3RhdGVtZW50LgorPC9w
PgorCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3It
b2Jzb2xldGUvZGVidWdnZXIvZGVidWdnZXItcGF1c2Utb24tZXhjZXB0aW9uLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9kZWJ1Z2dlci9kZWJ1Z2dlci1wYXVz
ZS1vbi1leGNlcHRpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc3ZGFhOWY1ZmY1MDhjM2M1
YjkxZTNkYTZhZDY1M2JlM2YyZGRiZGMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9p
bnNwZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIvZGVidWdnZXItcGF1c2Utb24tZXhjZXB0aW9uLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEyIEBACitDT05TT0xFIE1FU1NBR0U6IGxpbmUgOTogUmVm
ZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IHVua25vd25fdmFyCitUZXN0cyB0aGF0
IHBhdXNlIG9uIGV4Y2VwdGlvbiB3b3Jrcy4KKworRGVidWdnZXIgd2FzIGVuYWJsZWQuCitTY3Jp
cHQgc291cmNlIHdhcyBzaG93bi4KK1NjcmlwdCBleGVjdXRpb24gcGF1c2VkLgorQ2FsbCBzdGFj
azoKKyAgICAwKSB0aHJvd0FuRXhjZXB0aW9uIChkZWJ1Z2dlci1wYXVzZS1vbi1leGNlcHRpb24u
aHRtbDo5KQorICAgIDEpIGhhbmRsZUNsaWNrIChkZWJ1Z2dlci1wYXVzZS1vbi1leGNlcHRpb24u
aHRtbDoxNCkKK1NjcmlwdCBleGVjdXRpb24gcmVzdW1lZC4KK0RlYnVnZ2VyIHdhcyBkaXNhYmxl
ZC4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2Vy
L2RlYnVnZ2VyLXBhdXNlLW9uLWV4Y2VwdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
LW9ic29sZXRlL2RlYnVnZ2VyL2RlYnVnZ2VyLXBhdXNlLW9uLWV4Y2VwdGlvbi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjYzMDE3Y2JhNTI4N2MxMWY0MDdlZTA1MjgxMmJmYTc1MjgzOThkZDIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIvZGVidWdn
ZXItcGF1c2Utb24tZXhjZXB0aW9uLmh0bWwKQEAgLTAsMCArMSw1MCBAQAorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVz
dC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3Iv
ZGVidWdnZXItdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorCitmdW5jdGlvbiB0aHJvd0Fu
RXhjZXB0aW9uKCkKK3sKKyAgICByZXR1cm4gdW5rbm93bl92YXI7Cit9CisKK2Z1bmN0aW9uIGhh
bmRsZUNsaWNrKCkKK3sKKyAgICB0aHJvd0FuRXhjZXB0aW9uKCk7Cit9CisKK3ZhciB0ZXN0ID0g
ZnVuY3Rpb24oKQoreworICAgIEluc3BlY3RvclRlc3Quc3RhcnREZWJ1Z2dlclRlc3Qoc3RlcDEp
OworCisgICAgZnVuY3Rpb24gc3RlcDEoKQorICAgIHsKKyAgICAgICAgRGVidWdnZXJBZ2VudC5z
ZXRQYXVzZU9uRXhjZXB0aW9ucyhXZWJJbnNwZWN0b3IuRGVidWdnZXJNb2RlbC5QYXVzZU9uRXhj
ZXB0aW9uc1N0YXRlLlBhdXNlT25VbmNhdWdodEV4Y2VwdGlvbnMpOworICAgICAgICBJbnNwZWN0
b3JUZXN0LnNob3dTY3JpcHRTb3VyY2UoImRlYnVnZ2VyLXBhdXNlLW9uLWV4Y2VwdGlvbi5odG1s
Iiwgc3RlcDIpOworICAgIH0KKworICAgIGZ1bmN0aW9uIHN0ZXAyKCkKKyAgICB7CisgICAgICAg
IEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJTY3JpcHQgc291cmNlIHdhcyBzaG93bi4iKTsKKyAg
ICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgic2V0VGltZW91dChoYW5kbGVDbGlj
aywgMCkiKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC53YWl0VW50aWxQYXVzZWQoc3RlcDMpOwor
ICAgIH0KKworICAgIGZ1bmN0aW9uIHN0ZXAzKGNhbGxGcmFtZXMpCisgICAgeworICAgICAgICBJ
bnNwZWN0b3JUZXN0LmNhcHR1cmVTdGFja1RyYWNlKGNhbGxGcmFtZXMpOworICAgICAgICBJbnNw
ZWN0b3JUZXN0LmNvbXBsZXRlRGVidWdnZXJUZXN0KCk7CisgICAgfQorfQorCis8L3NjcmlwdD4K
KzwvaGVhZD4KKworPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgorPHA+CitUZXN0cyB0aGF0IHBh
dXNlIG9uIGV4Y2VwdGlvbiB3b3Jrcy4KKzwvcD4KKworPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2VyL2RlYnVnZ2VyLXBh
dXNlLW9uLWZhaWxlZC1hc3NlcnRpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yLW9ic29sZXRlL2RlYnVnZ2VyL2RlYnVnZ2VyLXBhdXNlLW9uLWZhaWxlZC1hc3NlcnRpb24t
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFlNjgyMTAwYjBkMWQyZTcwZjg4MGE0NTMzM2UwZWEz
Y2EyMzVlMmYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xl
dGUvZGVidWdnZXIvZGVidWdnZXItcGF1c2Utb24tZmFpbGVkLWFzc2VydGlvbi1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMSBAQAorVGVzdHMgdGhhdCBkZWJ1Z2dlciBicmVha3Mgb24gZmFpbGVk
IGFzc2VydGlvbiB3aGVuIHBhdXNlIG9uIGV4Y2VwdGlvbiBtb2RlIGlzIGVuYWJsZWQuCisKK0Rl
YnVnZ2VyIHdhcyBlbmFibGVkLgorU2NyaXB0IHNvdXJjZSB3YXMgc2hvd24uCitTY3JpcHQgZXhl
Y3V0aW9uIHBhdXNlZC4KK0NhbGwgc3RhY2s6CisgICAgMCkgZmFpbEFzc2VydGlvbiAoZGVidWdn
ZXItcGF1c2Utb24tZmFpbGVkLWFzc2VydGlvbi5odG1sOjkpCisgICAgMSkgaGFuZGxlQ2xpY2sg
KGRlYnVnZ2VyLXBhdXNlLW9uLWZhaWxlZC1hc3NlcnRpb24uaHRtbDoxNCkKK1NjcmlwdCBleGVj
dXRpb24gcmVzdW1lZC4KK0RlYnVnZ2VyIHdhcyBkaXNhYmxlZC4KKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2VyL2RlYnVnZ2VyLXBhdXNlLW9uLWZh
aWxlZC1hc3NlcnRpb24uaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9kZWJ1
Z2dlci9kZWJ1Z2dlci1wYXVzZS1vbi1mYWlsZWQtYXNzZXJ0aW9uLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NDUzOWYzOWM3ZDRiMThlODZhYjY4YjE4MzBlZjZmNjViOTYxNTM4MwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9kZWJ1Z2dlci9kZWJ1Z2dlci1wYXVz
ZS1vbi1mYWlsZWQtYXNzZXJ0aW9uLmh0bWwKQEAgLTAsMCArMSw1MCBAQAorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVz
dC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3Iv
ZGVidWdnZXItdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorCitmdW5jdGlvbiBmYWlsQXNz
ZXJ0aW9uKCkKK3sKKyAgICBjb25zb2xlLmFzc2VydChmYWxzZSk7Cit9CisKK2Z1bmN0aW9uIGhh
bmRsZUNsaWNrKCkKK3sKKyAgICBmYWlsQXNzZXJ0aW9uKCk7Cit9CisKK3ZhciB0ZXN0ID0gZnVu
Y3Rpb24oKQoreworICAgIEluc3BlY3RvclRlc3Quc3RhcnREZWJ1Z2dlclRlc3Qoc3RlcDEpOwor
CisgICAgZnVuY3Rpb24gc3RlcDEoKQorICAgIHsKKyAgICAgICAgRGVidWdnZXJBZ2VudC5zZXRQ
YXVzZU9uRXhjZXB0aW9ucyhXZWJJbnNwZWN0b3IuRGVidWdnZXJNb2RlbC5QYXVzZU9uRXhjZXB0
aW9uc1N0YXRlLlBhdXNlT25VbmNhdWdodEV4Y2VwdGlvbnMpOworICAgICAgICBJbnNwZWN0b3JU
ZXN0LnNob3dTY3JpcHRTb3VyY2UoImRlYnVnZ2VyLXBhdXNlLW9uLWZhaWxlZC1hc3NlcnRpb24u
aHRtbCIsIHN0ZXAyKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBzdGVwMigpCisgICAgeworICAg
ICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiU2NyaXB0IHNvdXJjZSB3YXMgc2hvd24uIik7
CisgICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoInNldFRpbWVvdXQoaGFuZGxl
Q2xpY2ssIDApIik7CisgICAgICAgIEluc3BlY3RvclRlc3Qud2FpdFVudGlsUGF1c2VkKHN0ZXAz
KTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBzdGVwMyhjYWxsRnJhbWVzKQorICAgIHsKKyAgICAg
ICAgSW5zcGVjdG9yVGVzdC5jYXB0dXJlU3RhY2tUcmFjZShjYWxsRnJhbWVzKTsKKyAgICAgICAg
SW5zcGVjdG9yVGVzdC5jb21wbGV0ZURlYnVnZ2VyVGVzdCgpOworICAgIH0KK30KKworPC9zY3Jp
cHQ+Cis8L2hlYWQ+CisKKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KKzxwPgorVGVzdHMgdGhh
dCBkZWJ1Z2dlciBicmVha3Mgb24gZmFpbGVkIGFzc2VydGlvbiB3aGVuIHBhdXNlIG9uIGV4Y2Vw
dGlvbiBtb2RlIGlzIGVuYWJsZWQuCis8L3A+CisKKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9kZWJ1Z2dlci9kZWJ1Z2dlci1yZWxv
YWQtb24tcGF1c2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRl
L2RlYnVnZ2VyL2RlYnVnZ2VyLXJlbG9hZC1vbi1wYXVzZS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODc4MTBjOWExOGRjZDFmMzg3NzAxYTUxMjc2ZDU1MDNlZmNiNzY2MQotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9kZWJ1Z2dlci9kZWJ1Z2dlci1y
ZWxvYWQtb24tcGF1c2UtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsOSBAQAorVGVzdHMgInJlbG9h
ZCIgZnJvbSB3aXRoaW4gaW5zcGVjdG9yIHdpbmRvdyB3aGlsZSBvbiBwYXVzZS4KKworRGVidWdn
ZXIgd2FzIGVuYWJsZWQuCitTZXQgdGltZXIgZm9yIHRlc3QgZnVuY3Rpb24uCitTY3JpcHQgZXhl
Y3V0aW9uIHBhdXNlZC4KK1NjcmlwdCBleGVjdXRpb24gcmVzdW1lZC4KK1BhZ2UgcmVsb2FkZWQu
CitEZWJ1Z2dlciB3YXMgZGlzYWJsZWQuCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci1vYnNvbGV0ZS9kZWJ1Z2dlci9kZWJ1Z2dlci1yZWxvYWQtb24tcGF1c2UuaHRtbCBiL0xh
eW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9kZWJ1Z2dlci9kZWJ1Z2dlci1yZWxvYWQtb24t
cGF1c2UuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hNTYxYjljODQ5ZDEwZmE1NWFhNjQ4NDk0MWMxN2Y0YjJj
MzU3MjJhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRl
L2RlYnVnZ2VyL2RlYnVnZ2VyLXJlbG9hZC1vbi1wYXVzZS5odG1sCkBAIC0wLDAgKzEsNDEgQEAK
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3Iv
aW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVz
dHMvaW5zcGVjdG9yL2RlYnVnZ2VyLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKworZnVu
Y3Rpb24gdGVzdEZ1bmN0aW9uKCkKK3sKKyAgICBkZWJ1Z2dlcjsKK30KKwordmFyIHRlc3QgPSBm
dW5jdGlvbigpCit7CisgICAgSW5zcGVjdG9yVGVzdC5zdGFydERlYnVnZ2VyVGVzdChzdGVwMSk7
CisKKyAgICBmdW5jdGlvbiBzdGVwMSgpCisgICAgeworICAgICAgICBJbnNwZWN0b3JUZXN0LnJ1
blRlc3RGdW5jdGlvbkFuZFdhaXRVbnRpbFBhdXNlZChzdGVwMik7CisgICAgfQorCisgICAgZnVu
Y3Rpb24gc3RlcDIoKQorICAgIHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5yZWxvYWRQYWdlKHN0
ZXAzKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBzdGVwMygpCisgICAgeworICAgICAgICBJbnNw
ZWN0b3JUZXN0LmNvbXBsZXRlRGVidWdnZXJUZXN0KCk7CisgICAgfQorfQorCis8L3NjcmlwdD4K
KzwvaGVhZD4KKworPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgorPHA+CitUZXN0cyAicmVsb2Fk
IiBmcm9tIHdpdGhpbiBpbnNwZWN0b3Igd2luZG93IHdoaWxlIG9uIHBhdXNlLgorPC9wPgorCis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xl
dGUvZGVidWdnZXIvZGVidWdnZXItc2NyaXB0cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bnNwZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIvZGVidWdnZXItc2NyaXB0cy1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNzc1MDhhNjhiMTY3MWEwYjBjODVmNWFlYjM0NGQ1NTE3ZTY4NmQ5OQotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9kZWJ1Z2dlci9k
ZWJ1Z2dlci1zY3JpcHRzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDIzIEBACitUZXN0cyB0aGF0
IHZhbGlkIHBhcnNlZCBzY3JpcHQgbm90aWZpY2F0aW9ucyBhcmUgcmVjZWl2ZWQgYnkgZnJvbnQt
ZW5kLiBCdWcgNTI3MjEKKworRGVidWdnZXIgd2FzIGVuYWJsZWQuCitzY3JpcHQgMToKKyAgICBz
dGFydDogNTo4CisgICAgZW5kOiAzODowCitzY3JpcHQgMjoKKyAgICBzdGFydDogMzg6MjEKKyAg
ICBlbmQ6IDQyOjAKK3NjcmlwdCAzOgorICAgIHN0YXJ0OiA0MzoxMQorICAgIGVuZDogNDM6MzIK
K3NjcmlwdCA0OgorICAgIHN0YXJ0OiA0NDoxMQorICAgIGVuZDogNDU6MAorc2NyaXB0IDU6Cisg
ICAgc3RhcnQ6IDQ2OjExCisgICAgZW5kOiA0ODowCitzY3JpcHQgNjoKKyAgICBzdGFydDogNTE6
NTYKKyAgICBlbmQ6IDUyOjIKK0RlYnVnZ2VyIHdhcyBkaXNhYmxlZC4KKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2VyL2RlYnVnZ2VyLXNjcmlwdHMt
cmVsb2FkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9kZWJ1
Z2dlci9kZWJ1Z2dlci1zY3JpcHRzLXJlbG9hZC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDZm
MTJmM2NlYmQ4YjZkMzQxOGQ3MDdjNDhiYmIxOTk0NWJkN2QyZAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9kZWJ1Z2dlci9kZWJ1Z2dlci1zY3JpcHRz
LXJlbG9hZC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw3IEBACitUZXN0cyB0aGF0IHNjcmlwdHMg
bGlzdCBpcyBjbGVhcmVkIHVwb24gcGFnZSByZWxvYWQuCisKK0RlYnVnZ2VyIHdhcyBlbmFibGVk
LgorRHVtbXkgc2NyaXB0IGZvdW5kOiBkdW1teVNjcmlwdC5qcworUGFnZSByZWxvYWRlZC4KK0Rl
YnVnZ2VyIHdhcyBkaXNhYmxlZC4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
LW9ic29sZXRlL2RlYnVnZ2VyL2RlYnVnZ2VyLXNjcmlwdHMtcmVsb2FkLmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIvZGVidWdnZXItc2NyaXB0cy1yZWxvYWQu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi40NzdiNGQwMDM2YTNkYWFjYjIzOGMwN2ZlN2U3ZmRmYTU1MzZmNTAy
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2RlYnVn
Z2VyL2RlYnVnZ2VyLXNjcmlwdHMtcmVsb2FkLmh0bWwKQEAgLTAsMCArMSw1MSBAQAorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0
b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNw
ZWN0b3IvZGVidWdnZXItdGVzdC5qcyI+PC9zY3JpcHQ+CisKKzxzY3JpcHQ+CisKK2Z1bmN0aW9u
IHRlc3QoKQoreworICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoImZ1bmN0aW9uIGZv
bygpIHt9IC8vQCBzb3VyY2VVUkw9ZHVtbXlTY3JpcHQuanMiLCBzdGVwMSk7CisKKyAgICBmdW5j
dGlvbiBzdGVwMSgpCisgICAgeworICAgICAgICBJbnNwZWN0b3JUZXN0LnN0YXJ0RGVidWdnZXJU
ZXN0KHN0ZXAyKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBzdGVwMigpCisgICAgeworICAgICAg
ICBJbnNwZWN0b3JUZXN0LnF1ZXJ5U2NyaXB0cyhmdW5jdGlvbihzY3JpcHQpIHsgc3RlcDMoeyBk
YXRhOiBzY3JpcHQgfSkgfSk7CisgICAgICAgIFdlYkluc3BlY3Rvci5kZWJ1Z2dlck1vZGVsLmFk
ZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLkRlYnVnZ2VyTW9kZWwuRXZlbnRzLlBhcnNlZFNj
cmlwdFNvdXJjZSwgc3RlcDMpOworICAgIH0KKworICAgIGZ1bmN0aW9uIHN0ZXAzKGV2ZW50KQor
ICAgIHsKKyAgICAgICAgdmFyIHNjcmlwdCA9IGV2ZW50LmRhdGE7CisgICAgICAgIGlmIChzY3Jp
cHQuc291cmNlVVJMLmluZGV4T2YoImR1bW15U2NyaXB0LmpzIikgIT09IC0xKSB7CisgICAgICAg
ICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiRHVtbXkgc2NyaXB0IGZvdW5kOiAiICsgc2Ny
aXB0LnNvdXJjZVVSTCk7CisgICAgICAgICAgICAvLyBMZXQgc2NyaXB0cyBkaXNwYXRjaCBhbmQg
cmVsb2FkLgorICAgICAgICAgICAgc2V0VGltZW91dChJbnNwZWN0b3JUZXN0LnJlbG9hZFBhZ2Uu
YmluZChJbnNwZWN0b3JUZXN0LCBhZnRlclJlbG9hZCksIDApOworICAgICAgICB9CisgICAgfQor
CisgICAgZnVuY3Rpb24gYWZ0ZXJSZWxvYWQoKQorICAgIHsKKyAgICAgICAgdmFyIHNjcmlwdHMg
PSBJbnNwZWN0b3JUZXN0LnF1ZXJ5U2NyaXB0cygpOworICAgICAgICBmb3IgKHZhciBpID0gMDsg
aSA8IHNjcmlwdHMubGVuZ3RoOyArK2kpIHsKKyAgICAgICAgICAgIGlmIChzY3JpcHRzW2ldLnNv
dXJjZVVSTC5pbmRleE9mKCJkdW1teVNjcmlwdC5qcyIpICE9PSAtMSkKKyAgICAgICAgICAgICAg
ICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiRkFJTEVEOiBkdW1teSBzY3JpcHQgZm91bmQgYWZ0
ZXIgbmF2aWdhdGlvbiIpOworICAgICAgICB9CisgICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxl
dGVEZWJ1Z2dlclRlc3QoKTsKKyAgICB9CisKK30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkg
b25sb2FkPSJydW5UZXN0KCkiPgorPHA+CitUZXN0cyB0aGF0IHNjcmlwdHMgbGlzdCBpcyBjbGVh
cmVkIHVwb24gcGFnZSByZWxvYWQuCis8L3A+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIvZGVidWdnZXItc2NyaXB0
cy5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2VyL2RlYnVnZ2Vy
LXNjcmlwdHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41Y2RiOTMwYTdlOTA2ZTQ4NWE5NjlmZWNjOTc0NjI1
OGM0ZTliNjRiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29s
ZXRlL2RlYnVnZ2VyL2RlYnVnZ2VyLXNjcmlwdHMuaHRtbApAQCAtMCwwICsxLDU5IEBACis8aHRt
bD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3Bl
Y3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2lu
c3BlY3Rvci9kZWJ1Z2dlci10ZXN0LmpzIj48L3NjcmlwdD4KKworPHNjcmlwdD4KK2Z1bmN0aW9u
IHRlc3QoKQoreworICAgIHZhciBzY3JpcHRzID0gW107CisgICAgSW5zcGVjdG9yVGVzdC5zdGFy
dERlYnVnZ2VyVGVzdChzdGVwMSk7CisKKyAgICBmdW5jdGlvbiBzdGVwMSgpCisgICAgeworICAg
ICAgICBJbnNwZWN0b3JUZXN0LnF1ZXJ5U2NyaXB0cyhmdW5jdGlvbihzY3JpcHQpIHsgc3RlcDIo
eyBkYXRhOiBzY3JpcHQgfSkgfSk7CisgICAgICAgIFdlYkluc3BlY3Rvci5kZWJ1Z2dlck1vZGVs
LmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLkRlYnVnZ2VyTW9kZWwuRXZlbnRzLlBhcnNl
ZFNjcmlwdFNvdXJjZSwgc3RlcDIpOworICAgIH0KKworICAgIGZ1bmN0aW9uIHN0ZXAyKGV2ZW50
KQorICAgIHsKKyAgICAgICAgdmFyIHNjcmlwdCA9IGV2ZW50LmRhdGE7CisgICAgICAgIGlmIChz
Y3JpcHQuc291cmNlVVJMICE9PSBXZWJJbnNwZWN0b3IuaW5zcGVjdGVkUGFnZVVSTCkKKyAgICAg
ICAgICAgIHJldHVybjsKKyAgICAgICAgc2NyaXB0cy5wdXNoKHNjcmlwdCk7CisgICAgICAgIGlm
IChzY3JpcHRzLmxlbmd0aCA9PT0gNikKKyAgICAgICAgICAgIHN0ZXAzKCk7CisgICAgfQorCisg
ICAgZnVuY3Rpb24gc3RlcDMoKQorICAgIHsKKyAgICAgICAgc2NyaXB0cy5zb3J0KGZ1bmN0aW9u
KHgsIHkpIHsgcmV0dXJuIHgubGluZU9mZnNldCAtIHkubGluZU9mZnNldCB9KTsKKyAgICAgICAg
Zm9yICh2YXIgaSA9IDA7IGkgPCBzY3JpcHRzLmxlbmd0aDsgKytpKSB7CisgICAgICAgICAgICBJ
bnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgic2NyaXB0ICIgKyAoaSArIDEpICsgIjoiKTsKKyAgICAg
ICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCIgICAgc3RhcnQ6ICIgKyBzY3JpcHRzW2ld
LmxpbmVPZmZzZXQgKyAiOiIgKyBzY3JpcHRzW2ldLmNvbHVtbk9mZnNldCk7CisgICAgICAgICAg
ICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiICAgIGVuZDogIiArIHNjcmlwdHNbaV0uZW5kTGlu
ZSArICI6IiArIHNjcmlwdHNbaV0uZW5kQ29sdW1uKTsKKyAgICAgICAgfQorICAgICAgICBJbnNw
ZWN0b3JUZXN0LmNvbXBsZXRlRGVidWdnZXJUZXN0KCk7CisgICAgfQorfQorPC9zY3JpcHQ+ICAg
IDxzY3JpcHQ+CitmdW5jdGlvbiBmMSgpCit7Cit9Cis8L3NjcmlwdD4KKyAgIDxzY3JpcHQ+IGZ1
bmN0aW9uIGYyKCkge30gICAgPC9zY3JpcHQ+CisgICA8c2NyaXB0PmZ1bmN0aW9uIGYzKCkge30K
Kzwvc2NyaXB0PgorICAgPHNjcmlwdD4KKyAgIGZ1bmN0aW9uIGY0KCkge30KKzwvc2NyaXB0Pgor
Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9IndpbmRvdy5kdW1teSA9IGZ1bmN0aW9uKCkgeyB9OyBy
dW5UZXN0KCkiPgorPHA+CitUZXN0cyB0aGF0IHZhbGlkIHBhcnNlZCBzY3JpcHQgbm90aWZpY2F0
aW9ucyBhcmUgcmVjZWl2ZWQgYnkgZnJvbnQtZW5kLgorPGEgaHJlZj0iaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUyNzIxIj5CdWcgNTI3MjE8L2E+Cis8L3A+Cis8L2Jv
ZHk+CisKKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0
ZS9kZWJ1Z2dlci9kZWJ1Z2dlci1zZXQtYnJlYWtwb2ludC1yZWdleC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIvZGVidWdnZXItc2V0LWJyZWFr
cG9pbnQtcmVnZXgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmUwNjUxMDRmZjJkYjQwYmE1Nzcz
NDMzYzY4YTBkOGZkNjZiZjU3MTcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIvZGVidWdnZXItc2V0LWJyZWFrcG9pbnQtcmVnZXgtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTggQEAKK1Rlc3RzIERlYnVnZ2VyLnNldEJyZWFrcG9pbnRC
eVVybCB3aXRoIGlzUmVnZXggc2V0IHRvIHRydWUuCisKK0RlYnVnZ2VyIHdhcyBlbmFibGVkLgor
CitSdW5uaW5nOiB0ZXN0U2V0Tm9uZU9mVVJMQW5kUmVnZXgKK0VpdGhlciB1cmwgb3IgdXJsUmVn
ZXggbXVzdCBiZSBzcGVjaWZpZWQuCisKK1J1bm5pbmc6IHRlc3RTZXRCb3RoVVJMQW5kUmVnZXgK
K0VpdGhlciB1cmwgb3IgdXJsUmVnZXggbXVzdCBiZSBzcGVjaWZpZWQuCisKK1J1bm5pbmc6IHRl
c3RTZXRCeVJlZ2V4CitTZXQgdGltZXIgZm9yIHRlc3QgZnVuY3Rpb24uCitTY3JpcHQgZXhlY3V0
aW9uIHBhdXNlZC4KK0NhbGwgc3RhY2s6CisgICAgMCkgdGVzdEZ1bmN0aW9uIChkZWJ1Z2dlci1z
ZXQtYnJlYWtwb2ludC1yZWdleC5odG1sOjkpCitTY3JpcHQgZXhlY3V0aW9uIHJlc3VtZWQuCitE
ZWJ1Z2dlciB3YXMgZGlzYWJsZWQuCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rv
ci1vYnNvbGV0ZS9kZWJ1Z2dlci9kZWJ1Z2dlci1zZXQtYnJlYWtwb2ludC1yZWdleC5odG1sIGIv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2VyL2RlYnVnZ2VyLXNldC1icmVh
a3BvaW50LXJlZ2V4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMWZhZDI3YzBmYmE3ZDI1OGVmZDJiOWYxMGY4
MmJkYTEzZjBkYjIwMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1v
YnNvbGV0ZS9kZWJ1Z2dlci9kZWJ1Z2dlci1zZXQtYnJlYWtwb2ludC1yZWdleC5odG1sCkBAIC0w
LDAgKzEsNjkgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0
cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyLXRlc3QuanMiPjwvc2NyaXB0PgorPHNj
cmlwdD4KKworZnVuY3Rpb24gdGVzdEZ1bmN0aW9uKCkKK3sKKyAgICBmb28oKTsKK30KKworZnVu
Y3Rpb24gZm9vKCkKK3sKK30KKworZnVuY3Rpb24gdGVzdCgpCit7CisgICAgSW5zcGVjdG9yVGVz
dC5ydW5EZWJ1Z2dlclRlc3RTdWl0ZShbCisgICAgICAgIGZ1bmN0aW9uIHRlc3RTZXROb25lT2ZV
UkxBbmRSZWdleChuZXh0KQorICAgICAgICB7CisgICAgICAgICAgICBEZWJ1Z2dlckFnZW50LnNl
dEJyZWFrcG9pbnRCeVVybC5pbnZva2Uoe2xpbmVOdW1iZXI6IDF9LCBzdGVwMik7CisKKyAgICAg
ICAgICAgIGZ1bmN0aW9uIHN0ZXAyKGVycm9yKQorICAgICAgICAgICAgeworICAgICAgICAgICAg
ICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KGVycm9yKTsKKyAgICAgICAgICAgICAgICBuZXh0
KCk7CisgICAgICAgICAgICB9CisgICAgICAgIH0sCisKKyAgICAgICAgZnVuY3Rpb24gdGVzdFNl
dEJvdGhVUkxBbmRSZWdleChuZXh0KQorICAgICAgICB7CisgICAgICAgICAgICB2YXIgdXJsID0g
ImRlYnVnZ2VyLXNldC1icmVha3BvaW50LmpzIjsKKyAgICAgICAgICAgIHZhciB1cmxSZWdleCA9
ICJkZWJ1Z2dlci1zZXQtYnJlYWtwb2ludC4qIjsKKyAgICAgICAgICAgIERlYnVnZ2VyQWdlbnQu
c2V0QnJlYWtwb2ludEJ5VXJsKDEsIHVybCwgdXJsUmVnZXgsIHN0ZXAyKTsKKworICAgICAgICAg
ICAgZnVuY3Rpb24gc3RlcDIoZXJyb3IpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAg
SW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoZXJyb3IpOworICAgICAgICAgICAgICAgIG5leHQoKTsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgfSwKKworICAgICAgICBmdW5jdGlvbiB0ZXN0U2V0QnlS
ZWdleChuZXh0KQorICAgICAgICB7CisgICAgICAgICAgICBEZWJ1Z2dlckFnZW50LnNldEJyZWFr
cG9pbnRCeVVybC5pbnZva2Uoe3VybFJlZ2V4OiAiZGVidWdnZXItc2V0LWJyZWFrcG9pbnQuKiIs
IGxpbmVOdW1iZXI6OH0sIHN0ZXAyKTsKKworICAgICAgICAgICAgZnVuY3Rpb24gc3RlcDIocmVz
dWx0KQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QucnVuVGVz
dEZ1bmN0aW9uQW5kV2FpdFVudGlsUGF1c2VkKHN0ZXAzKTsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgCisgICAgICAgICAgICBmdW5jdGlvbiBzdGVwMyhjYWxsRnJhbWVzKQorICAgICAgICAgICAg
eworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuY2FwdHVyZVN0YWNrVHJhY2UoY2FsbEZy
YW1lcyk7CisgICAgICAgICAgICAgICAgbmV4dCgpOworICAgICAgICAgICAgfQorICAgICAgICB9
CisgICAgXSk7Cit9CisKKzwvc2NyaXB0PgorPC9oZWFkPgorCis8Ym9keSBvbmxvYWQ9InJ1blRl
c3QoKSI+Cis8cD4KK1Rlc3RzIERlYnVnZ2VyLnNldEJyZWFrcG9pbnRCeVVybCB3aXRoIGlzUmVn
ZXggc2V0IHRvIHRydWUuCis8L3A+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIvZGVidWdnZXItc3RlcC1pbi1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIvZGVidWdn
ZXItc3RlcC1pbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjM5ZTIwODU1NDg1MmYwYjA1Yjc2
NzQxNDVlYzEzNmVmMjFjZDZmZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci1vYnNvbGV0ZS9kZWJ1Z2dlci9kZWJ1Z2dlci1zdGVwLWluLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDIxIEBACitUZXN0cyAic3RlcCBpbiIgZnVuY3Rpb25hbGl0eSBpbiBkZWJ1Z2dlci4K
KworRGVidWdnZXIgd2FzIGVuYWJsZWQuCitTZXQgdGltZXIgZm9yIHRlc3QgZnVuY3Rpb24uCitT
Y3JpcHQgZXhlY3V0aW9uIHBhdXNlZC4KK0NhbGwgc3RhY2s6CisgICAgMCkgdGVzdEZ1bmN0aW9u
IChkZWJ1Z2dlci1zdGVwLWluLmh0bWw6MTQpCitTdGVwcGluZyBpbnRvLi4uCitTY3JpcHQgZXhl
Y3V0aW9uIHJlc3VtZWQuCitTY3JpcHQgZXhlY3V0aW9uIHBhdXNlZC4KK0NhbGwgc3RhY2s6Cisg
ICAgMCkgdGVzdEZ1bmN0aW9uIChkZWJ1Z2dlci1zdGVwLWluLmh0bWw6MTUpCitTdGVwcGluZyBp
bnRvLi4uCitTY3JpcHQgZXhlY3V0aW9uIHJlc3VtZWQuCitTY3JpcHQgZXhlY3V0aW9uIHBhdXNl
ZC4KK0NhbGwgc3RhY2s6CisgICAgMCkgZCAoZGVidWdnZXItc3RlcC1pbi5odG1sOjgpCisgICAg
MSkgdGVzdEZ1bmN0aW9uIChkZWJ1Z2dlci1zdGVwLWluLmh0bWw6MTUpCitTY3JpcHQgZXhlY3V0
aW9uIHJlc3VtZWQuCitEZWJ1Z2dlciB3YXMgZGlzYWJsZWQuCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9kZWJ1Z2dlci9kZWJ1Z2dlci1zdGVwLWluLmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIvZGVidWdnZXItc3RlcC1p
bi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjhiNWI5MDkxZTIxYjU4N2ZlMTMzMzc4M2FmMjRlMWYzZDdhZTk3
MTYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZGVi
dWdnZXIvZGVidWdnZXItc3RlcC1pbi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRl
c3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9y
L2RlYnVnZ2VyLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKworZnVuY3Rpb24gZCgpCit7
CisgICAgdmFyIGkgPSAxMDsKK30KKworZnVuY3Rpb24gdGVzdEZ1bmN0aW9uKCkKK3sKKyAgICBk
ZWJ1Z2dlcjsKKyAgICBkKCk7Cit9CisKK3ZhciB0ZXN0ID0gZnVuY3Rpb24oKQoreworICAgIElu
c3BlY3RvclRlc3Quc3RhcnREZWJ1Z2dlclRlc3Qoc3RlcDEpOworCisgICAgZnVuY3Rpb24gc3Rl
cDEoKQorICAgIHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5ydW5UZXN0RnVuY3Rpb25BbmRXYWl0
VW50aWxQYXVzZWQoc3RlcDIpOworICAgIH0KKworICAgIHZhciBzdGVwQ291bnQgPSAwOworICAg
IGZ1bmN0aW9uIHN0ZXAyKGNhbGxGcmFtZXMpCisgICAgeworICAgICAgICBJbnNwZWN0b3JUZXN0
LmNhcHR1cmVTdGFja1RyYWNlKGNhbGxGcmFtZXMpOworICAgICAgICBpZiAoc3RlcENvdW50IDwg
MikgeworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIlN0ZXBwaW5nIGludG8u
Li4iKTsKKyAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzY3JpcHRzLXN0ZXAt
aW50byIpLmNsaWNrKCk7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LndhaXRVbnRpbFJlc3Vt
ZWQoSW5zcGVjdG9yVGVzdC53YWl0VW50aWxQYXVzZWQuYmluZChJbnNwZWN0b3JUZXN0LCBzdGVw
MikpOworICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVE
ZWJ1Z2dlclRlc3QoKTsKKyAgICAgICAgc3RlcENvdW50Kys7CisgICAgfQorfQorCis8L3Njcmlw
dD4KKzwvaGVhZD4KKworPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgorPHA+CitUZXN0cyAic3Rl
cCBpbiIgZnVuY3Rpb25hbGl0eSBpbiBkZWJ1Z2dlci4KKzwvcD4KKworPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2VyL2Rl
YnVnZ2VyLXN0ZXAtb3V0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNv
bGV0ZS9kZWJ1Z2dlci9kZWJ1Z2dlci1zdGVwLW91dC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZGEyZDBjNGRhZTM1NDlkYTVkZDliNGMyMmUxNzE5MWRiZTkyMDZmYQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9kZWJ1Z2dlci9kZWJ1Z2dlci1zdGVw
LW91dC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNiBAQAorVGVzdHMgInN0ZXAgb3V0IiBmdW5j
dGlvbmFsaXR5IGluIGRlYnVnZ2VyLgorCitEZWJ1Z2dlciB3YXMgZW5hYmxlZC4KK1NldCB0aW1l
ciBmb3IgdGVzdCBmdW5jdGlvbi4KK1NjcmlwdCBleGVjdXRpb24gcGF1c2VkLgorQ2FsbCBzdGFj
azoKKyAgICAwKSBkIChkZWJ1Z2dlci1zdGVwLW91dC5odG1sOjkpCisgICAgMSkgdGVzdEZ1bmN0
aW9uIChkZWJ1Z2dlci1zdGVwLW91dC5odG1sOjE0KQorU3RlcHBpbmcgb3V0Li4uCitTY3JpcHQg
ZXhlY3V0aW9uIHJlc3VtZWQuCitTY3JpcHQgZXhlY3V0aW9uIHBhdXNlZC4KK0NhbGwgc3RhY2s6
CisgICAgMCkgdGVzdEZ1bmN0aW9uIChkZWJ1Z2dlci1zdGVwLW91dC5odG1sOjE1KQorU2NyaXB0
IGV4ZWN1dGlvbiByZXN1bWVkLgorRGVidWdnZXIgd2FzIGRpc2FibGVkLgorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIvZGVidWdnZXItc3RlcC1v
dXQuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9kZWJ1Z2dlci9kZWJ1Z2dl
ci1zdGVwLW91dC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmUzZGVkMGMwNjEwOWU0MDExZDY4ZmI5ZmU3MzJm
YzQ4Y2I2Nzg5ZDUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jz
b2xldGUvZGVidWdnZXIvZGVidWdnZXItc3RlcC1vdXQuaHRtbApAQCAtMCwwICsxLDUwIEBACis8
aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2lu
c3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3Rz
L2luc3BlY3Rvci9kZWJ1Z2dlci10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisKK2Z1bmN0
aW9uIGQoKQoreworICAgIGRlYnVnZ2VyOworfQorCitmdW5jdGlvbiB0ZXN0RnVuY3Rpb24oKQor
eworICAgIGQoKTsKK30KKwordmFyIHRlc3QgPSBmdW5jdGlvbigpCit7CisgICAgSW5zcGVjdG9y
VGVzdC5zdGFydERlYnVnZ2VyVGVzdChzdGVwMSk7CisKKyAgICBmdW5jdGlvbiBzdGVwMSgpCisg
ICAgeworICAgICAgICBJbnNwZWN0b3JUZXN0LnJ1blRlc3RGdW5jdGlvbkFuZFdhaXRVbnRpbFBh
dXNlZChzdGVwMik7CisgICAgfQorCisgICAgZnVuY3Rpb24gc3RlcDIoY2FsbEZyYW1lcykKKyAg
ICB7CisgICAgICAgIEluc3BlY3RvclRlc3QuY2FwdHVyZVN0YWNrVHJhY2UoY2FsbEZyYW1lcyk7
CisgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJTdGVwcGluZyBvdXQuLi4iKTsKKyAg
ICAgICAgSW5zcGVjdG9yVGVzdC53YWl0VW50aWxSZXN1bWVkKEluc3BlY3RvclRlc3Qud2FpdFVu
dGlsUGF1c2VkLmJpbmQoSW5zcGVjdG9yVGVzdCwgc3RlcDMpKTsKKyAgICAgICAgZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInNjcmlwdHMtc3RlcC1vdXQiKS5jbGljaygpOworICAgIH0KKworICAg
IGZ1bmN0aW9uIHN0ZXAzKGNhbGxGcmFtZXMpCisgICAgeworICAgICAgICBJbnNwZWN0b3JUZXN0
LmNhcHR1cmVTdGFja1RyYWNlKGNhbGxGcmFtZXMpOworICAgICAgICBJbnNwZWN0b3JUZXN0LmNv
bXBsZXRlRGVidWdnZXJUZXN0KCk7CisgICAgfQorfQorCis8L3NjcmlwdD4KKzwvaGVhZD4KKwor
PGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgorPHA+CitUZXN0cyAic3RlcCBvdXQiIGZ1bmN0aW9u
YWxpdHkgaW4gZGVidWdnZXIuCis8L3A+CisKKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9kZWJ1Z2dlci9kZWJ1Z2dlci1zdGVwLW92
ZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2Vy
L2RlYnVnZ2VyLXN0ZXAtb3Zlci1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODY5NDNhOWJmOTMy
NzMxNTJiZTc4ZTAwODU1YjFkZTFlZjhjYTMxOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9kZWJ1Z2dlci9kZWJ1Z2dlci1zdGVwLW92ZXItZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMjMgQEAKK1Rlc3RzICJzdGVwIG92ZXIiIGZ1bmN0aW9uYWxpdHkg
aW4gZGVidWdnZXIuCisKK0RlYnVnZ2VyIHdhcyBlbmFibGVkLgorU2V0IHRpbWVyIGZvciB0ZXN0
IGZ1bmN0aW9uLgorU2NyaXB0IGV4ZWN1dGlvbiBwYXVzZWQuCitDYWxsIHN0YWNrOgorICAgIDAp
IGQgKGRlYnVnZ2VyLXN0ZXAtb3Zlci5odG1sOjE0KQorICAgIDEpIHRlc3RGdW5jdGlvbiAoZGVi
dWdnZXItc3RlcC1vdmVyLmh0bWw6MjApCitTdGVwcGluZyBvdmVyLi4uCitTY3JpcHQgZXhlY3V0
aW9uIHJlc3VtZWQuCitTY3JpcHQgZXhlY3V0aW9uIHBhdXNlZC4KK0NhbGwgc3RhY2s6CisgICAg
MCkgZCAoZGVidWdnZXItc3RlcC1vdmVyLmh0bWw6MTUpCisgICAgMSkgdGVzdEZ1bmN0aW9uIChk
ZWJ1Z2dlci1zdGVwLW92ZXIuaHRtbDoyMCkKK1N0ZXBwaW5nIG92ZXIuLi4KK1NjcmlwdCBleGVj
dXRpb24gcmVzdW1lZC4KK1NjcmlwdCBleGVjdXRpb24gcGF1c2VkLgorQ2FsbCBzdGFjazoKKyAg
ICAwKSBkIChkZWJ1Z2dlci1zdGVwLW92ZXIuaHRtbDoxNikKKyAgICAxKSB0ZXN0RnVuY3Rpb24g
KGRlYnVnZ2VyLXN0ZXAtb3Zlci5odG1sOjIwKQorU2NyaXB0IGV4ZWN1dGlvbiByZXN1bWVkLgor
RGVidWdnZXIgd2FzIGRpc2FibGVkLgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0
b3Itb2Jzb2xldGUvZGVidWdnZXIvZGVidWdnZXItc3RlcC1vdmVyLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbnNwZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIvZGVidWdnZXItc3RlcC1vdmVyLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMWUxNDhhM2I0NGFhNzM3ZGI2MjNhMDBhZjVjZGNmZjRhZmIxY2YxYwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9kZWJ1Z2dlci9kZWJ1
Z2dlci1zdGVwLW92ZXIuaHRtbApAQCAtMCwwICsxLDU1IEBACis8aHRtbD4KKzxoZWFkPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9kZWJ1Z2dl
ci10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisKK2Z1bmN0aW9uIGYoKQoreworICAgIHZh
ciBpID0gMTA7Cit9CisKK2Z1bmN0aW9uIGQoKQoreworICAgIGRlYnVnZ2VyOworICAgIGYoKTsK
K30KKworZnVuY3Rpb24gdGVzdEZ1bmN0aW9uKCkKK3sKKyAgICBkKCk7Cit9CisKK3ZhciB0ZXN0
ID0gZnVuY3Rpb24oKQoreworICAgIEluc3BlY3RvclRlc3Quc3RhcnREZWJ1Z2dlclRlc3Qoc3Rl
cDEpOworCisgICAgZnVuY3Rpb24gc3RlcDEoKQorICAgIHsKKyAgICAgICAgSW5zcGVjdG9yVGVz
dC5ydW5UZXN0RnVuY3Rpb25BbmRXYWl0VW50aWxQYXVzZWQoc3RlcDIpOworICAgIH0KKworICAg
IHZhciBzdGVwQ291bnQgPSAwOworICAgIGZ1bmN0aW9uIHN0ZXAyKGNhbGxGcmFtZXMpCisgICAg
eworICAgICAgICBJbnNwZWN0b3JUZXN0LmNhcHR1cmVTdGFja1RyYWNlKGNhbGxGcmFtZXMpOwor
ICAgICAgICBpZiAoc3RlcENvdW50IDwgMikgeworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5h
ZGRSZXN1bHQoIlN0ZXBwaW5nIG92ZXIuLi4iKTsKKyAgICAgICAgICAgIGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzY3JpcHRzLXN0ZXAtb3ZlciIpLmNsaWNrKCk7CisgICAgICAgICAgICBJbnNw
ZWN0b3JUZXN0LndhaXRVbnRpbFJlc3VtZWQoSW5zcGVjdG9yVGVzdC53YWl0VW50aWxQYXVzZWQu
YmluZChJbnNwZWN0b3JUZXN0LCBzdGVwMikpOworICAgICAgICB9IGVsc2UKKyAgICAgICAgICAg
IEluc3BlY3RvclRlc3QuY29tcGxldGVEZWJ1Z2dlclRlc3QoKTsKKyAgICAgICAgc3RlcENvdW50
Kys7CisgICAgfQorfQorCis8L3NjcmlwdD4KKzwvaGVhZD4KKworPGJvZHkgb25sb2FkPSJydW5U
ZXN0KCkiPgorPHA+CitUZXN0cyAic3RlcCBvdmVyIiBmdW5jdGlvbmFsaXR5IGluIGRlYnVnZ2Vy
LgorPC9wPgorCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIvZGVidWdnZXItc3VzcGVuZC1hY3RpdmUtZG9tLW9iamVj
dHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2Vy
L2RlYnVnZ2VyLXN1c3BlbmQtYWN0aXZlLWRvbS1vYmplY3RzLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4yMmJkYTdjMjdlMzQ1NThlMjhlMTRjMzk4N2IyMjk0OGVhOTYwNDQ3Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2VyL2RlYnVnZ2Vy
LXN1c3BlbmQtYWN0aXZlLWRvbS1vYmplY3RzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEwIEBA
CitBTEVSVDogMQorVGVzdHMgdGhhdCBicm93c2VyIHdvbid0IGNyYXNoIGlmIHVzZXIgZXZhbHVh
dGVzIHNvbWV0aGluZyBpbiB0aGUgY29uc29sZSB0aGF0IHdvdWxkIHN1c3BlbmQgYWN0aXZlIGRv
bSBvYmplY3RzIChlLmcuIGlmIHVzZXIgYXR0ZW1wdHMgdG8gc2hvdyBhbiBhbGVydCkgd2hlbiBz
Y3JpcHQgZXhlY3V0aW9uIGlzIHBhdXNlZCBvbiBhIGJyZWFrcG9pbnQgYW5kIGFsbCBhY3RpdmUg
ZG9tIG9iamVjdHMgYXJlIGFscmVhZHkgc3VzcGVuZGVkLgorCitEZWJ1Z2dlciB3YXMgZW5hYmxl
ZC4KK1NldCB0aW1lciBmb3IgdGVzdCBmdW5jdGlvbi4KK1NjcmlwdCBleGVjdXRpb24gcGF1c2Vk
LgorU2hvd24gYWxlcnQgd2hpbGUgc3RheWluZyBvbiBhIGJyZWFrcG9pbnQuCitTY3JpcHQgZXhl
Y3V0aW9uIHJlc3VtZWQuCitEZWJ1Z2dlciB3YXMgZGlzYWJsZWQuCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9kZWJ1Z2dlci9kZWJ1Z2dlci1zdXNwZW5kLWFj
dGl2ZS1kb20tb2JqZWN0cy5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2Rl
YnVnZ2VyL2RlYnVnZ2VyLXN1c3BlbmQtYWN0aXZlLWRvbS1vYmplY3RzLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNGJiMzNkNjE2MjVmOTZmNTkzOWUwMGNmNjFlNGFhZDk5NDE1YmMzMQotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9kZWJ1Z2dlci9kZWJ1Z2dlci1z
dXNwZW5kLWFjdGl2ZS1kb20tb2JqZWN0cy5odG1sCkBAIC0wLDAgKzEsNDUgQEAKKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9y
LXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVj
dG9yL2RlYnVnZ2VyLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKworZnVuY3Rpb24gdGVz
dEZ1bmN0aW9uKCkgeworICAgIHNldFRpbWVvdXQoInZvaWQgMCIsIDApOyAvLyBDcmVhdGUgYSB0
aW1lciB0aGF0IHdpbGwgYmUgc3VzcGVuZGVkIG9uIGEgYnJlYWtwb2ludC4KKyAgICBkZWJ1Z2dl
cjsKK30KKworZnVuY3Rpb24gdGVzdCgpCit7CisgICAgV2ViSW5zcGVjdG9yLnNob3dQYW5lbCgi
c2NyaXB0cyIpOworICAgIEluc3BlY3RvclRlc3Quc3RhcnREZWJ1Z2dlclRlc3Qoc3RhcnREZWJ1
Z2dlclRlc3RDYWxsYmFjayk7CisKKyAgICBmdW5jdGlvbiBzdGFydERlYnVnZ2VyVGVzdENhbGxi
YWNrKCkKKyAgICB7CisgICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJbkNvbnNvbGUoInNl
dFRpbWVvdXQodGVzdEZ1bmN0aW9uLCAwKSIsIGZ1bmN0aW9uKHJlc3VsdCkgeworICAgICAgICAg
ICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIlNldCB0aW1lciBmb3IgdGVzdCBmdW5jdGlvbi4i
KTsKKyAgICAgICAgfSk7CisKKyAgICAgICAgSW5zcGVjdG9yVGVzdC53YWl0VW50aWxQYXVzZWQo
ZnVuY3Rpb24oY2FsbEZyYW1lcykgeworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0
ZUluQ29uc29sZSgiYWxlcnQoMSkiLCBmdW5jdGlvbihyZXN1bHQpIHsKKyAgICAgICAgICAgICAg
ICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiU2hvd24gYWxlcnQgd2hpbGUgc3RheWluZyBvbiBh
IGJyZWFrcG9pbnQuIik7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZURl
YnVnZ2VyVGVzdCgpOworICAgICAgICAgICAgfSk7CisgICAgICAgIH0pOworICAgIH0KKworfQor
Cis8L3NjcmlwdD4KKzwvaGVhZD4KKworPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgorPHA+CitU
ZXN0cyB0aGF0IGJyb3dzZXIgd29uJ3QgY3Jhc2ggaWYgdXNlciBldmFsdWF0ZXMgc29tZXRoaW5n
IGluIHRoZSBjb25zb2xlCit0aGF0IHdvdWxkIHN1c3BlbmQgYWN0aXZlIGRvbSBvYmplY3RzIChl
LmcuIGlmIHVzZXIgYXR0ZW1wdHMgdG8gc2hvdyBhbiBhbGVydCkKK3doZW4gc2NyaXB0IGV4ZWN1
dGlvbiBpcyBwYXVzZWQgb24gYSBicmVha3BvaW50IGFuZCBhbGwgYWN0aXZlIGRvbSBvYmplY3Rz
CithcmUgYWxyZWFkeSBzdXNwZW5kZWQuCis8L3A+CisKKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9kZWJ1Z2dlci9ldmFsLW9uLXBh
dXNlLWJsb2NrZWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRl
L2RlYnVnZ2VyL2V2YWwtb24tcGF1c2UtYmxvY2tlZC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODgyZWJmN2FmMGExYjZiZGU5NzJiOTIzOTNmYzM3MjM3MjQxNDExYQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9kZWJ1Z2dlci9ldmFsLW9uLXBhdXNl
LWJsb2NrZWQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsOSBAQAorVGVzdCB0aGF0IGV2YWx1YXRp
b24gaW4gdGhlIGNvbnRleHQgb2YgdG9wIGZyYW1lIHdpbGwgbm90IGJlIGJsb2NrZWQgYnkgQ29u
dGVudC1TZWN1cml0eS1Qb2xpY3kuIEJ1ZyA3NzIwMy4KKworRGVidWdnZXIgd2FzIGVuYWJsZWQu
CitTZXQgdGltZXIgZm9yIHRlc3QgZnVuY3Rpb24uCitTY3JpcHQgZXhlY3V0aW9uIHBhdXNlZC4K
K0V2YWx1YXRlZCBpbiBjb25zb2xlIGluIHRoZSB0b3AgZnJhbWUgY29udGV4dDogZm9vID0gMjAx
MgorU2NyaXB0IGV4ZWN1dGlvbiByZXN1bWVkLgorRGVidWdnZXIgd2FzIGRpc2FibGVkLgorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIvZXZhbC1v
bi1wYXVzZS1ibG9ja2VkLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZGVi
dWdnZXIvZXZhbC1vbi1wYXVzZS1ibG9ja2VkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjcwZTExNTU4YWM1
NGI0ZmE2YzE3MDViYzJlNmVhMGU3MTYyNDZjMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9kZWJ1Z2dlci9ldmFsLW9uLXBhdXNlLWJsb2NrZWQuaHRt
bApAQCAtMCwwICsxLDQzIEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2h0
dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci10ZXN0LmpzIj48L3Njcmlw
dD4KKzxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtU2VjdXJpdHktUG9saWN5IiBjb250ZW50PSJz
Y3JpcHQtc3JjICd1bnNhZmUtaW5saW5lJyI+Cis8c2NyaXB0PgorZnVuY3Rpb24gdGVzdEZ1bmN0
aW9uKCkKK3sKKyAgICB2YXIgZm9vID0gMjAxMjsKKyAgICBkZWJ1Z2dlcjsKK30KKwordmFyIHRl
c3QgPSBmdW5jdGlvbigpCit7CisgICAgSW5zcGVjdG9yVGVzdC5zdGFydERlYnVnZ2VyVGVzdChz
dGVwMSk7CisKKyAgICBmdW5jdGlvbiBzdGVwMSgpCisgICAgeworICAgICAgICBJbnNwZWN0b3JU
ZXN0LnJ1blRlc3RGdW5jdGlvbkFuZFdhaXRVbnRpbFBhdXNlZChzdGVwMik7CisgICAgfQorCisg
ICAgZnVuY3Rpb24gc3RlcDIoKQorICAgIHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0
ZUluQ29uc29sZSgiZm9vIiwgc3RlcDMpOworICAgIH0KKworICAgIGZ1bmN0aW9uIHN0ZXAzKHJl
c3VsdCkKKyAgICB7CisgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJFdmFsdWF0ZWQg
aW4gY29uc29sZSBpbiB0aGUgdG9wIGZyYW1lIGNvbnRleHQ6IGZvbyA9ICIgKyByZXN1bHQpOwor
ICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlRGVidWdnZXJUZXN0KCk7CisgICAgfQorfQor
Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KKzxwPgorVGVz
dCB0aGF0IGV2YWx1YXRpb24gaW4gdGhlIGNvbnRleHQgb2YgdG9wIGZyYW1lIHdpbGwgbm90IGJl
IGJsb2NrZWQgYnkgQ29udGVudC1TZWN1cml0eS1Qb2xpY3kuCis8YSBocmVmPSJodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzcyMDMiPkJ1ZyA3NzIwMy48L2E+Cis8L3A+
CisKKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1v
YnNvbGV0ZS9kZWJ1Z2dlci9mdW5jdGlvbi1kZXRhaWxzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9kZWJ1Z2dlci9mdW5jdGlvbi1kZXRhaWxzLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi42ZDJjMTQ3ZjRjYWFiYzY2MGY5M2E1ZTMyNTc0NWIzZmM4ZDBhNDkw
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2RlYnVn
Z2VyL2Z1bmN0aW9uLWRldGFpbHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNzEgQEAKK1Rlc3Rz
IHRoYXQgRGVidWdnZXIuZ2V0RnVuY3Rpb25EZXRhaWxzIGNvbW1hbmQgcmV0dXJucyBjb3JyZWN0
IGxvY2F0aW9uLiBCdWcgNzE4MDgKKworRGVidWdnZXIgd2FzIGVuYWJsZWQuCisKK1J1bm5pbmc6
IHRlc3RHZXRGaXJzdExpbmVGdW5jdGlvbkRldGFpbHMKK2ZpcnN0TGluZUZ1bmN0aW9uIHR5cGUg
PSBmdW5jdGlvbgorRnVuY3Rpb24gZGV0YWlsczogCitsaW5lTnVtYmVyOiA3Citjb2x1bW5OdW1i
ZXI6IHVuZGVmaW5lZAorc2NyaXB0SWQgaXMgdmFsaWQ6IHRydWUKK25hbWU6IGZpcnN0TGluZUZ1
bmN0aW9uCitkaXNwbGF5TmFtZTogdW5kZWZpbmVkCitpbmZlcnJlZE5hbWU6IHVuZGVmaW5lZAor
c2NvcGVDaGFpbjogbi9hCisKK1J1bm5pbmc6IHRlc3RHZXROb25GaXJzdExpbmVGdW5jdGlvbkRl
dGFpbHMKK25vdEZpcnN0TGluZUZ1bmN0aW9uIHR5cGUgPSBmdW5jdGlvbgorRnVuY3Rpb24gZGV0
YWlsczogCitsaW5lTnVtYmVyOiAxMgorY29sdW1uTnVtYmVyOiB1bmRlZmluZWQKK3NjcmlwdElk
IGlzIHZhbGlkOiB0cnVlCituYW1lOiBub3RGaXJzdExpbmVGdW5jdGlvbgorZGlzcGxheU5hbWU6
IHVuZGVmaW5lZAoraW5mZXJyZWROYW1lOiB1bmRlZmluZWQKK3Njb3BlQ2hhaW46IG4vYQorCitS
dW5uaW5nOiB0ZXN0R2V0RGV0YWlsc09mRnVuY3Rpb25XaXRoSW5mZXJyZWROYW1lCitvYmoubSB0
eXBlID0gZnVuY3Rpb24KK0Z1bmN0aW9uIGRldGFpbHM6IAorbGluZU51bWJlcjogMTYKK2NvbHVt
bk51bWJlcjogdW5kZWZpbmVkCitzY3JpcHRJZCBpcyB2YWxpZDogdHJ1ZQorbmFtZTogdW5kZWZp
bmVkCitkaXNwbGF5TmFtZTogdW5kZWZpbmVkCitpbmZlcnJlZE5hbWU6IHVuZGVmaW5lZAorc2Nv
cGVDaGFpbjogbi9hCisKK1J1bm5pbmc6IHRlc3RHZXREZXRhaWxzT2ZGdW5jdGlvbldpdGhEaXNw
bGF5TmFtZQorZnVuY3Rpb25XaXRoRGlzcGxheU5hbWUgdHlwZSA9IGZ1bmN0aW9uCitGdW5jdGlv
biBkZXRhaWxzOiAKK2xpbmVOdW1iZXI6IDE5Citjb2x1bW5OdW1iZXI6IHVuZGVmaW5lZAorc2Ny
aXB0SWQgaXMgdmFsaWQ6IHRydWUKK25hbWU6IGZ1bmN0aW9uV2l0aERpc3BsYXlOYW1lCitkaXNw
bGF5TmFtZTogdXNlci1mcmllbmRseSBuYW1lCitpbmZlcnJlZE5hbWU6IHVuZGVmaW5lZAorc2Nv
cGVDaGFpbjogbi9hCisKK1J1bm5pbmc6IHRlc3RTbWFsbENsb3N1cmUKK3NtYWxsQ2xvc3VyZSB0
eXBlID0gZnVuY3Rpb24KK0Z1bmN0aW9uIGRldGFpbHM6IAorbGluZU51bWJlcjogMjIKK2NvbHVt
bk51bWJlcjogdW5kZWZpbmVkCitzY3JpcHRJZCBpcyB2YWxpZDogdHJ1ZQorbmFtZTogdW5kZWZp
bmVkCitkaXNwbGF5TmFtZTogdW5kZWZpbmVkCitpbmZlcnJlZE5hbWU6IHVuZGVmaW5lZAorc2Nv
cGVDaGFpbjogbi9hCisKK1J1bm5pbmc6IHRlc3RCaWdDbG9zdXJlCitiaWdDbG9zdXJlIHR5cGUg
PSBmdW5jdGlvbgorRnVuY3Rpb24gZGV0YWlsczogCitsaW5lTnVtYmVyOiAzNQorY29sdW1uTnVt
YmVyOiB1bmRlZmluZWQKK3NjcmlwdElkIGlzIHZhbGlkOiB0cnVlCituYW1lOiB1bmRlZmluZWQK
K2Rpc3BsYXlOYW1lOiB1bmRlZmluZWQKK2luZmVycmVkTmFtZTogdW5kZWZpbmVkCitzY29wZUNo
YWluOiBuL2EKK0RlYnVnZ2VyIHdhcyBkaXNhYmxlZC4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2VyL2Z1bmN0aW9uLWRldGFpbHMuaHRtbCBiL0xh
eW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9kZWJ1Z2dlci9mdW5jdGlvbi1kZXRhaWxzLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNTk3ZjEzMTZkMDdhOGU5ZTJlOWVhMGVkNTM1ZTliMTQ4Nzk0NzVlYwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9kZWJ1Z2dl
ci9mdW5jdGlvbi1kZXRhaWxzLmh0bWwKQEAgLTAsMCArMSwxNjQgQEAKKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3Qu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2Rl
YnVnZ2VyLXRlc3QuanMiPjwvc2NyaXB0PgorCis8c2NyaXB0PiAgZnVuY3Rpb24gZmlyc3RMaW5l
RnVuY3Rpb24oKQorCit7Cit9CisKKyAgIGZ1bmN0aW9uIG5vdEZpcnN0TGluZUZ1bmN0aW9uKCkK
KworeworfQorCit2YXIgb2JqID0geworICAgIG06IGZ1bmN0aW9uKCkge30KK30KKworZnVuY3Rp
b24gZnVuY3Rpb25XaXRoRGlzcGxheU5hbWUoKSB7fQorZnVuY3Rpb25XaXRoRGlzcGxheU5hbWUu
ZGlzcGxheU5hbWUgPSAidXNlci1mcmllbmRseSBuYW1lIjsKKwordmFyIHNtYWxsQ2xvc3VyZSA9
IChmdW5jdGlvbihwKSB7IHJldHVybiBmdW5jdGlvbigpIHsgcmV0dXJuIHA7IH07IH0pKCJDYXB5
YmFyYSIpOworCit2YXIgYmlnQ2xvc3VyZSA9IChmdW5jdGlvbihwKSB7CisgICAgdmFyIG8gPSB7
CisgICAgICAgZTogNywKKyAgICAgICBmOiA1LAorICAgICAgIGdldCB1KCkgeyByZXR1cm4gMzsg
fSwKKyAgICAgICBzZXQgdih2YWx1ZSkgeyB9CisgICAgfTsKKyAgICB3aXRoIChvKSB7CisgICAg
ICAgIHRyeSB7CisgICAgICAgICAgICB0aHJvdyBFcnJvcigiVGVzdCIpOworICAgICAgICB9IGNh
dGNoIChleCkgeworICAgICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uKCkgeworICAgICAgICAgICAg
ICAgIHJldHVybiBTdHJpbmcocCkgKyBTdHJpbmcoZXgpICsgdSArIGU7CisgICAgICAgICAgICB9
OworICAgICAgICB9CisgICAgfQorfSkoe30pOworCitmdW5jdGlvbiB0ZXN0KCkKK3sKKyAgICBm
dW5jdGlvbiBkdW1wRnVuY3Rpb25EZXRhaWxzKGRldGFpbHMpCisgICAgeworICAgICAgICBJbnNw
ZWN0b3JUZXN0LmFkZFJlc3VsdCgiRnVuY3Rpb24gZGV0YWlsczogIik7CisgICAgICAgIEluc3Bl
Y3RvclRlc3QuYWRkUmVzdWx0KCJsaW5lTnVtYmVyOiAiICsgZGV0YWlscy5sb2NhdGlvbi5saW5l
TnVtYmVyKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoImNvbHVtbk51bWJlcjog
IiArIGRldGFpbHMubG9jYXRpb24uY29sdW1uTnVtYmVyKTsKKyAgICAgICAgSW5zcGVjdG9yVGVz
dC5hZGRSZXN1bHQoInNjcmlwdElkIGlzIHZhbGlkOiAiICsgISFkZXRhaWxzLmxvY2F0aW9uLnNj
cmlwdElkKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIm5hbWU6ICIgKyBkZXRh
aWxzLm5hbWUpOworICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiZGlzcGxheU5hbWU6
ICIgKyBkZXRhaWxzLmRpc3BsYXlOYW1lKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1
bHQoImluZmVycmVkTmFtZTogIiArIGRldGFpbHMuaW5mZXJyZWROYW1lKTsKKyAgICB9CisKKyAg
ICBmdW5jdGlvbiBkdW1wRnVuY3Rpb25Ob1Njb3BlcygpCisgICAgeworICAgICAgICBJbnNwZWN0
b3JUZXN0LmFkZFJlc3VsdCgic2NvcGVDaGFpbjogbi9hIik7CisgICAgfQorCisKKyAgICBmdW5j
dGlvbiBkdW1wRnVuY3Rpb25TY29wZShwb3MsIHR5cGUsIHByb3BlcnR5RGVzY3JpcHRvcnMpCisg
ICAgeworICAgICAgICB2YXIgdmFyaWFibGVzOworICAgICAgICBpZiAodHlwZSA9PSAiZ2xvYmFs
IikgeworICAgICAgICAgICAgdmFyaWFibGVzID0gIjxnbG9iYWwgb2JqZWN0IHByb3BlcnRpZXMg
b21pdHRlZD4iOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgdmFyIHZhckFycmF5ID0g
W107CisgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHByb3BlcnR5RGVzY3JpcHRvcnMu
bGVuZ3RoOyBpKyspIHsKKyAgICAgICAgICAgICAgICB2YXIgZCA9IHByb3BlcnR5RGVzY3JpcHRv
cnNbaV07CisgICAgICAgICAgICAgICAgdmFyIHZhbHVlU3RyOworICAgICAgICAgICAgICAgIGlm
IChkLnZhbHVlKSB7CisgICAgICAgICAgICAgICAgICAgIGlmIChkLnZhbHVlLnZhbHVlKQorICAg
ICAgICAgICAgICAgICAgICAgICAgdmFsdWVTdHIgPSBKU09OLnN0cmluZ2lmeShkLnZhbHVlLnZh
bHVlKTsKKyAgICAgICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgICAgICAgICAg
dmFsdWVTdHIgPSAiPG5vIHN0cmluZyByZXByZXNlbnRhdGlvbj4iOworICAgICAgICAgICAgICAg
IH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgIHZhbHVlU3RyID0gIjxubyB2YWx1ZT4iOwor
ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB2YXJBcnJheS5wdXNoKGQubmFtZSAr
ICI6ICIgKyB2YWx1ZVN0cik7CisgICAgICAgICAgICB9CisgICAgICAgICAgICB2YXJBcnJheS5z
b3J0KCk7CisgICAgICAgICAgICB2YXJpYWJsZXMgPSB2YXJBcnJheS5qb2luKCk7CisgICAgICAg
IH0KKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoInNjb3BlQ2hhaW4gIyIgKyBwb3Mg
KyAiOiAiICsgdHlwZSArICI7ICIgKyB2YXJpYWJsZXMpOworICAgIH0KKworICAgIGZ1bmN0aW9u
IGxvYWRBbmREdW1wU2NvcGVPYmplY3RzKHNjb3BlQ2hhaW4sIGVuZCkgeworICAgICAgICBmdW5j
dGlvbiBsb2FkU2NvcGVPYmplY3QocG9zLCBuZXh0KSB7CisgICAgICAgICAgICBpZiAocG9zID49
IHNjb3BlQ2hhaW4ubGVuZ3RoKSB7CisgICAgICAgICAgICAgICAgbmV4dCgpOworICAgICAgICAg
ICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHZhciBzY29wZUpzb24g
PSBzY29wZUNoYWluW3Bvc107CisgICAgICAgICAgICBSdW50aW1lQWdlbnQuZ2V0UHJvcGVydGll
cyhzY29wZUpzb24ub2JqZWN0Lm9iamVjdElkLCB0cnVlLCBkaWRHZXRQcm9wZXJ0aWVzKTsKKwor
ICAgICAgICAgICAgZnVuY3Rpb24gZGlkR2V0UHJvcGVydGllcyhlcnJvciwgcHJvcGVydHlEZXNj
cmlwdG9ycykgeworICAgICAgICAgICAgICAgIGR1bXBGdW5jdGlvblNjb3BlKHBvcywgc2NvcGVK
c29uLnR5cGUsIHByb3BlcnR5RGVzY3JpcHRvcnMpOworICAgICAgICAgICAgICAgIGxvYWRTY29w
ZU9iamVjdChwb3MgKyAxLCBuZXh0KTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorCisgICAg
ICAgIGlmIChzY29wZUNoYWluKSB7CisgICAgICAgICAgICBsb2FkU2NvcGVPYmplY3QoMCwgZW5k
KTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIGR1bXBGdW5jdGlvbk5vU2NvcGVzKCk7
CisgICAgICAgICAgICBlbmQoKTsKKyAgICAgICAgfQorICAgIH0KKworICAgIGZ1bmN0aW9uIHBl
cmZvcm1TdGFuZGFyZFRlc3RDYXNlKHBhZ2VFeHByZXNzaW9uLCBuZXh0KSB7CisgICAgICAgIElu
c3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UocGFnZUV4cHJlc3Npb24sIGRpZEV2YWx1YXRlKTsK
KworICAgICAgICBmdW5jdGlvbiBkaWRFdmFsdWF0ZShyZW1vdGUpCisgICAgICAgIHsKKyAgICAg
ICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KHBhZ2VFeHByZXNzaW9uICsgIiB0eXBlID0g
IiArIHJlbW90ZS50eXBlKTsKKyAgICAgICAgICAgIERlYnVnZ2VyQWdlbnQuZ2V0RnVuY3Rpb25E
ZXRhaWxzKHJlbW90ZS5vYmplY3RJZCwgZGlkR2V0RGV0YWlscyk7CisgICAgICAgIH0KKyAgICAg
ICAgZnVuY3Rpb24gZGlkR2V0RGV0YWlscyhlcnJvciwgcmVzcG9uc2UpCisgICAgICAgIHsKKyAg
ICAgICAgICAgIGR1bXBGdW5jdGlvbkRldGFpbHMocmVzcG9uc2UpOworICAgICAgICAgICAgbG9h
ZEFuZER1bXBTY29wZU9iamVjdHMocmVzcG9uc2Uuc2NvcGVDaGFpbiwgbmV4dCk7CisgICAgICAg
IH0KKyAgICB9CisKKyAgICBJbnNwZWN0b3JUZXN0LnJ1bkRlYnVnZ2VyVGVzdFN1aXRlKFsKKyAg
ICAgICAgZnVuY3Rpb24gdGVzdEdldEZpcnN0TGluZUZ1bmN0aW9uRGV0YWlscyhuZXh0KQorICAg
ICAgICB7CisgICAgICAgICAgICBwZXJmb3JtU3RhbmRhcmRUZXN0Q2FzZSgiZmlyc3RMaW5lRnVu
Y3Rpb24iLCBuZXh0KTsKKyAgICAgICAgfSwKKyAgICAgICAgZnVuY3Rpb24gdGVzdEdldE5vbkZp
cnN0TGluZUZ1bmN0aW9uRGV0YWlscyhuZXh0KQorICAgICAgICB7CisgICAgICAgICAgICBwZXJm
b3JtU3RhbmRhcmRUZXN0Q2FzZSgibm90Rmlyc3RMaW5lRnVuY3Rpb24iLCBuZXh0KTsKKyAgICAg
ICAgfSwKKyAgICAgICAgZnVuY3Rpb24gdGVzdEdldERldGFpbHNPZkZ1bmN0aW9uV2l0aEluZmVy
cmVkTmFtZShuZXh0KQorICAgICAgICB7CisgICAgICAgICAgICBwZXJmb3JtU3RhbmRhcmRUZXN0
Q2FzZSgib2JqLm0iLCBuZXh0KTsKKyAgICAgICAgfSwKKyAgICAgICAgZnVuY3Rpb24gdGVzdEdl
dERldGFpbHNPZkZ1bmN0aW9uV2l0aERpc3BsYXlOYW1lKG5leHQpCisgICAgICAgIHsKKyAgICAg
ICAgICAgIHBlcmZvcm1TdGFuZGFyZFRlc3RDYXNlKCJmdW5jdGlvbldpdGhEaXNwbGF5TmFtZSIs
IG5leHQpOworICAgICAgICB9LAorICAgICAgICBmdW5jdGlvbiB0ZXN0U21hbGxDbG9zdXJlKG5l
eHQpCisgICAgICAgIHsKKyAgICAgICAgICAgIHBlcmZvcm1TdGFuZGFyZFRlc3RDYXNlKCJzbWFs
bENsb3N1cmUiLCBuZXh0KTsKKyAgICAgICAgfSwKKyAgICAgICAgZnVuY3Rpb24gdGVzdEJpZ0Ns
b3N1cmUobmV4dCkKKyAgICAgICAgeworICAgICAgICAgICAgcGVyZm9ybVN0YW5kYXJkVGVzdENh
c2UoImJpZ0Nsb3N1cmUiLCBuZXh0KTsKKyAgICAgICAgfQorICAgIF0pOworfTsKKworPC9zY3Jp
cHQ+CisKKzwvaGVhZD4KKworPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgorPHA+VGVzdHMgdGhh
dCBEZWJ1Z2dlci5nZXRGdW5jdGlvbkRldGFpbHMgY29tbWFuZCByZXR1cm5zIGNvcnJlY3QgbG9j
YXRpb24uCis8YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NzE4MDgiPkJ1ZyA3MTgwODwvYT4KKzwvcD4KKworPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2VyL29wZW4tY2xvc2Utb3Bl
bi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIv
b3Blbi1jbG9zZS1vcGVuLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42MTIxYTRlNmEwNmVjNTlh
OTRkMWVkZmQxZTFiNDAyMWUyMWU5OTdhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2VyL29wZW4tY2xvc2Utb3Blbi1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSw0OSBAQAorVGVzdHMgdGhhdCBzY3JpcHRzIHBhbmVsIGRpc3BsYXlzIHJlc291
cmNlIGNvbnRlbnQgY29ycmVjdGx5IGFmdGVyIHRoZSBvcGVuIC0gY2xvc2UgLSBvcGVuIHNlcXVl
bmNlLiBCdWcgNTY3NDcKKworRGVidWdnZXIgd2FzIGVuYWJsZWQuCisKK1J1bm5pbmc6IHRlc3RT
b3VyY2VGcmFtZUNvbnRlbnQKKz09U291cmNlIGZyYW1lIGNvbnRlbnRzIHN0YXJ0PT0KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVj
dG9yLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5z
cGVjdG9yL2RlYnVnZ2VyLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKworZnVuY3Rpb24g
dGVzdCgpCit7CisgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgiZnJvbnRlbmRSZW9w
ZW5pbmdDb3VudCIsIGZ1bmN0aW9uKHJlc3VsdCkgeworICAgICAgICBpZiAocmVzdWx0Ll9kZXNj
cmlwdGlvbiA9PT0gIjAiKQorICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFn
ZSgicmVvcGVuRnJvbnRlbmQoKSIpCisgICAgICAgIGVsc2UgeworICAgICAgICAgICAgSW5zcGVj
dG9yVGVzdC5ydW5EZWJ1Z2dlclRlc3RTdWl0ZShbCisgICAgICAgICAgICAgICAgZnVuY3Rpb24g
dGVzdFNvdXJjZUZyYW1lQ29udGVudChuZXh0KQorICAgICAgICAgICAgICAgIHsKKyAgICAgICAg
ICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5zaG93U2NyaXB0U291cmNlKCJvcGVuLWNsb3NlLW9w
ZW4uaHRtbCIsIGRpZFNob3dTY3JpcHRTb3VyY2UpOworCisgICAgICAgICAgICAgICAgICAgIGZ1
bmN0aW9uIGRpZFNob3dTY3JpcHRTb3VyY2Uoc291cmNlRnJhbWUpCisgICAgICAgICAgICAgICAg
ICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZHVtcFNvdXJjZUZy
YW1lQ29udGVudHMoc291cmNlRnJhbWUpOworICAgICAgICAgICAgICAgICAgICAgICAgbmV4dCgp
OworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
XSk7CisgICAgICAgIH0KKyAgICB9KTsKK30KKworPC9zY3JpcHQ+CisKKzwvaGVhZD4KKworPGJv
ZHkgb25sb2FkPSJydW5UZXN0KCkiPgorPHA+CitUZXN0cyB0aGF0IHNjcmlwdHMgcGFuZWwgZGlz
cGxheXMgcmVzb3VyY2UgY29udGVudCBjb3JyZWN0bHkgYWZ0ZXIgdGhlIG9wZW4gLSBjbG9zZSAt
IG9wZW4gc2VxdWVuY2UuCis8YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NTY3NDciPkJ1ZyA1Njc0NzwvYT4KKzwvcD4KKzwvYm9keT4KKzwvaHRtbD4KKwor
PT1Tb3VyY2UgZnJhbWUgY29udGVudHMgZW5kPT0KK0RlYnVnZ2VyIHdhcyBkaXNhYmxlZC4KKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2VyL29wZW4t
Y2xvc2Utb3Blbi5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2Vy
L29wZW4tY2xvc2Utb3Blbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjVmZWJlY2E2NWFhMGI5OWQxMDE3YmNi
ZmRlMWFmZmE4YjYyNzBjMWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0
b3Itb2Jzb2xldGUvZGVidWdnZXIvb3Blbi1jbG9zZS1vcGVuLmh0bWwKQEAgLTAsMCArMSwzOSBA
QAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rv
ci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90
ZXN0cy9pbnNwZWN0b3IvZGVidWdnZXItdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorCitm
dW5jdGlvbiB0ZXN0KCkKK3sKKyAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJmcm9u
dGVuZFJlb3BlbmluZ0NvdW50IiwgZnVuY3Rpb24ocmVzdWx0KSB7CisgICAgICAgIGlmIChyZXN1
bHQuX2Rlc2NyaXB0aW9uID09PSAiMCIpCisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1
YXRlSW5QYWdlKCJyZW9wZW5Gcm9udGVuZCgpIikKKyAgICAgICAgZWxzZSB7CisgICAgICAgICAg
ICBJbnNwZWN0b3JUZXN0LnJ1bkRlYnVnZ2VyVGVzdFN1aXRlKFsKKyAgICAgICAgICAgICAgICBm
dW5jdGlvbiB0ZXN0U291cmNlRnJhbWVDb250ZW50KG5leHQpCisgICAgICAgICAgICAgICAgewor
ICAgICAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LnNob3dTY3JpcHRTb3VyY2UoIm9wZW4t
Y2xvc2Utb3Blbi5odG1sIiwgZGlkU2hvd1NjcmlwdFNvdXJjZSk7CisKKyAgICAgICAgICAgICAg
ICAgICAgZnVuY3Rpb24gZGlkU2hvd1NjcmlwdFNvdXJjZShzb3VyY2VGcmFtZSkKKyAgICAgICAg
ICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1w
U291cmNlRnJhbWVDb250ZW50cyhzb3VyY2VGcmFtZSk7CisgICAgICAgICAgICAgICAgICAgICAg
ICBuZXh0KCk7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICBdKTsKKyAgICAgICAgfQorICAgIH0pOworfQorCis8L3NjcmlwdD4KKworPC9oZWFk
PgorCis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Cis8cD4KK1Rlc3RzIHRoYXQgc2NyaXB0cyBw
YW5lbCBkaXNwbGF5cyByZXNvdXJjZSBjb250ZW50IGNvcnJlY3RseSBhZnRlciB0aGUgb3BlbiAt
IGNsb3NlIC0gb3BlbiBzZXF1ZW5jZS4KKzxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD01Njc0NyI+QnVnIDU2NzQ3PC9hPgorPC9wPgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2Vy
L3BhdXNlLWluLWlubGluZS1zY3JpcHQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yLW9ic29sZXRlL2RlYnVnZ2VyL3BhdXNlLWluLWlubGluZS1zY3JpcHQtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyODY5YmU3Nzc1NmJiMjM2M2E3YzlmMWM4ZTRiMDNhZTM3N2VkMjgKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIv
cGF1c2UtaW4taW5saW5lLXNjcmlwdC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxOCBAQAorVGVz
dHMgdGhhdCBtYWluIHJlc291cmNlIHNjcmlwdCB0ZXh0IGlzIGNvcnJlY3Qgd2hlbiBwYXVzZWQg
aW4gaW5saW5lIHNjcmlwdCBvbiByZWxvYWQuIEJ1ZyA3NzU0OC4KKworRGVidWdnZXIgd2FzIGVu
YWJsZWQuCitEaWQgbG9hZCBmcm9udC1lbmQKK1BhdXNlZDogZmFsc2UKK2RpZFBhdXNlQWZ0ZXJS
ZWxvYWQKK1NvdXJjZSBzdHJpbmdzIGNvcnJlc3BvbmRpbmcgdG8gdGhlIGNhbGwgc3RhY2s6CitT
Y3JpcHQgZXhlY3V0aW9uIHBhdXNlZC4KK0ZyYW1lIDApIGxpbmUgNiwgY29udGVudDogICAgICAg
ICAgPHNjcmlwdD5mdW5jdGlvbiBmMSgpIHsgZGVidWdnZXI7IH08L3NjcmlwdD4gKG11c3QgYmUg
cGFydCBvZiBmdW5jdGlvbiAnZjEnKQorRnJhbWUgMSkgbGluZSA4LCBjb250ZW50OiBmdW5jdGlv
biBmMigpIHsgcmV0dXJuIGYxKCk7IH0gKG11c3QgYmUgcGFydCBvZiBmdW5jdGlvbiAnZjInKQor
RnJhbWUgMikgbGluZSAxNCwgY29udGVudDogICAgIHJldHVybiBmMigpOyAobXVzdCBiZSBwYXJ0
IG9mIGZ1bmN0aW9uICdmMycpCitGcmFtZSAzKSBsaW5lIDE2LCBjb250ZW50OiBmMygpOyAobXVz
dCBiZSBwYXJ0IG9mIGZ1bmN0aW9uICcnKQorU2NyaXB0IGV4ZWN1dGlvbiByZXN1bWVkLgorZGlk
UmVzdW1lCitQYWdlIHJlbG9hZGVkLgorZGlkUmVsb2FkCitEZWJ1Z2dlciB3YXMgZGlzYWJsZWQu
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9kZWJ1Z2dlci9w
YXVzZS1pbi1pbmxpbmUtc2NyaXB0Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xl
dGUvZGVidWdnZXIvcGF1c2UtaW4taW5saW5lLXNjcmlwdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjcxYWY1
MzgwZjdkOThlMTcwN2I1NzMyZDQ2OTY2ZTc0ZjY5NDEwZmUKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIvcGF1c2UtaW4taW5saW5lLXNj
cmlwdC5odG1sCkBAIC0wLDAgKzEsMTAyIEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdD5mdW5j
dGlvbiBmb28oKSB7IH07Cis8L3NjcmlwdD4KKzxzY3JpcHQ+CitmdW5jdGlvbiBiYXIoKSB7IH07
Cis8L3NjcmlwdD48c2NyaXB0PmZ1bmN0aW9uIGYxKCkgeyBkZWJ1Z2dlcjsgfTwvc2NyaXB0Pgor
PHNjcmlwdD4KK2Z1bmN0aW9uIGYyKCkgeyByZXR1cm4gZjEoKTsgfQorPC9zY3JpcHQ+CisKKzxz
Y3JpcHQ+CitmdW5jdGlvbiBmMygpCit7CisgICAgcmV0dXJuIGYyKCk7Cit9CitmMygpOworPC9z
Y3JpcHQ+CisKKzxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0
b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNw
ZWN0b3IvZGVidWdnZXItdGVzdC5qcyI+PC9zY3JpcHQ+CisKKzxzY3JpcHQ+CisKK3ZhciB0ZXN0
ID0gZnVuY3Rpb24oKQoreworICAgIHZhciB0ZXN0TmFtZSA9IFdlYkluc3BlY3Rvci5pbnNwZWN0
ZWRQYWdlVVJMOworICAgIHRlc3ROYW1lID0gdGVzdE5hbWUuc3Vic3RyaW5nKHRlc3ROYW1lLmxh
c3RJbmRleE9mKCcvJykgKyAxKTsKKworICAgIEluc3BlY3RvclRlc3Quc3RhcnREZWJ1Z2dlclRl
c3Qoc3RlcDEpOworCisgICAgZnVuY3Rpb24gc3RlcDEoKQorICAgIHsKKyAgICAgICAgSW5zcGVj
dG9yVGVzdC5hZGRSZXN1bHQoIkRpZCBsb2FkIGZyb250LWVuZCIpOworICAgICAgICBJbnNwZWN0
b3JUZXN0LmFkZFJlc3VsdCgiUGF1c2VkOiAiICsgISFXZWJJbnNwZWN0b3IuZGVidWdnZXJNb2Rl
bC5kZWJ1Z2dlclBhdXNlZERldGFpbHMoKSk7CisgICAgICAgIEluc3BlY3RvclRlc3QucmVsb2Fk
UGFnZShkaWRSZWxvYWQuYmluZCh0aGlzKSk7CisgICAgICAgIFdlYkluc3BlY3Rvci5kZWJ1Z2dl
ck1vZGVsLmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLkRlYnVnZ2VyTW9kZWwuRXZlbnRz
LkRlYnVnZ2VyUGF1c2VkLCBkaWRQYXVzZUFmdGVyUmVsb2FkLCB0aGlzKTsgCisgICAgfQorCisg
ICAgZnVuY3Rpb24gZGlkUmVsb2FkKCkKKyAgICB7CisgICAgICAgIEluc3BlY3RvclRlc3QuYWRk
UmVzdWx0KCJkaWRSZWxvYWQiKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZURlYnVn
Z2VyVGVzdCgpOworICAgIH0KKworICAgIGZ1bmN0aW9uIGRpZFBhdXNlQWZ0ZXJSZWxvYWQoZGV0
YWlscykKKyAgICB7CisgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJkaWRQYXVzZUFm
dGVyUmVsb2FkIik7CisgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJTb3VyY2Ugc3Ry
aW5ncyBjb3JyZXNwb25kaW5nIHRvIHRoZSBjYWxsIHN0YWNrOiIpOworICAgICAgICBkdW1wTmV4
dENhbGxGcmFtZShkaWREdW1wKTsKKyAgICB9CisKKyAgICB2YXIgY2FsbEZyYW1lSW5kZXggPSAw
OworICAgIGZ1bmN0aW9uIGR1bXBOZXh0Q2FsbEZyYW1lKG5leHQpCisgICAgeworICAgICAgICB2
YXIgY2FsbEZyYW1lcyA9IFdlYkluc3BlY3Rvci5kZWJ1Z2dlck1vZGVsLmNhbGxGcmFtZXM7Cisg
ICAgICAgIGlmIChjYWxsRnJhbWVJbmRleCA9PT0gY2FsbEZyYW1lcy5sZW5ndGgpIHsKKyAgICAg
ICAgICAgIG5leHQoKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAgICAgICB2
YXIgZnJhbWUgPSBjYWxsRnJhbWVzW2NhbGxGcmFtZUluZGV4XTsKKyAgICAgICAgdmFyIHVpTG9j
YXRpb24gPSBXZWJJbnNwZWN0b3IuZGVidWdnZXJNb2RlbC5yYXdMb2NhdGlvblRvVUlMb2NhdGlv
bihmcmFtZS5sb2NhdGlvbik7CisgICAgICAgIEluc3BlY3RvclRlc3Quc2hvd1VJU291cmNlQ29k
ZSh1aUxvY2F0aW9uLnVpU291cmNlQ29kZSwgZHVtcENhbGxGcmFtZUxpbmUpOworCisgICAgICAg
IGZ1bmN0aW9uIGR1bXBDYWxsRnJhbWVMaW5lKHNvdXJjZUZyYW1lKQorICAgICAgICB7CisgICAg
ICAgICAgICB2YXIgcmVzb3VyY2VUZXh0ID0gc291cmNlRnJhbWUuX3RleHRFZGl0b3IudGV4dCgp
OworICAgICAgICAgICAgdmFyIGxpbmVzID0gcmVzb3VyY2VUZXh0LnNwbGl0KCJcbiIpOworICAg
ICAgICAgICAgdmFyIGxpbmVOdW1iZXIgPSB1aUxvY2F0aW9uLmxpbmVOdW1iZXI7CisgICAgICAg
ICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiRnJhbWUgIiArIGNhbGxGcmFtZUluZGV4ICsg
IikgbGluZSAiICsgbGluZU51bWJlciArICIsIGNvbnRlbnQ6ICIgKyBsaW5lc1tsaW5lTnVtYmVy
XSArICIgKG11c3QgYmUgcGFydCBvZiBmdW5jdGlvbiAnIiArIGZyYW1lLmZ1bmN0aW9uTmFtZSAr
ICInKSIpOworICAgICAgICAgICAgY2FsbEZyYW1lSW5kZXgrKworICAgICAgICAgICAgZHVtcE5l
eHRDYWxsRnJhbWUobmV4dCk7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBmdW5jdGlvbiB1aVNv
dXJjZUNvZGVBZGRlZCh1aVNvdXJjZUNvZGUpCisgICAgeworICAgICAgICBJbnNwZWN0b3JUZXN0
LmFkZFJlc3VsdCgidWlTb3VyY2VDb2RlQWRkZWQiKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBk
aWREdW1wKCkKKyAgICB7CisgICAgICAgIEluc3BlY3RvclRlc3QucmVzdW1lRXhlY3V0aW9uKGRp
ZFJlc3VtZSk7CisgICAgfQorCisgICAgZnVuY3Rpb24gZGlkUmVzdW1lKCkKKyAgICB7CisgICAg
ICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJkaWRSZXN1bWUiKTsKKyAgICB9Cit9OworPC9z
Y3JpcHQ+CisKKzwvaGVhZD4KKworPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgorPHA+CitUZXN0
cyB0aGF0IG1haW4gcmVzb3VyY2Ugc2NyaXB0IHRleHQgaXMgY29ycmVjdCB3aGVuIHBhdXNlZCBp
biBpbmxpbmUgc2NyaXB0IG9uIHJlbG9hZC4KKzxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD03NzU0OCI+QnVnIDc3NTQ4LjwvYT4KKzwvcD4KKworPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2Rl
YnVnZ2VyL3BhdXNlLWluLWludGVybmFsLXNjcmlwdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9pbnNwZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIvcGF1c2UtaW4taW50ZXJuYWwtc2NyaXB0LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMjgwZjAxNmI4NjUyOGI3YTc3NzkxNzkyZjFlNjYyYWNj
YzU4ZTc3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRl
L2RlYnVnZ2VyL3BhdXNlLWluLWludGVybmFsLXNjcmlwdC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxNiBAQAorVGVzdHMgdGhhdCBpbnRlcm5hbCBzY3JpcHRzIHVua25vd24gdG8gZnJvbnQtZW5k
IGFyZSBwcm9jZXNzZWQgY29ycmVjdGx5IHdoZW4gYXBwZWFyIGluIGRlYnVnZ2VyIGNhbGwgZnJh
bWVzLiBCdWcgNjQ5OTUKKworRGVidWdnZXIgd2FzIGVuYWJsZWQuCisKK1J1bm5pbmc6IHRlc3RT
ZXRCcmVha3BvaW50CitTY3JpcHQgc291cmNlIHdhcyBzaG93bi4KK1NldCB0aW1lciBmb3IgdGVz
dCBmdW5jdGlvbi4KK1NjcmlwdCBleGVjdXRpb24gcGF1c2VkLgorQ2FsbCBzdGFjazoKKyAgICAw
KSAgKHBhdXNlLWluLWludGVybmFsLXNjcmlwdC5odG1sOjE0KQorICAgIDEpIGZvckVhY2ggKChp
bnRlcm5hbCBzY3JpcHQpKQorICAgIDIpIHRlc3RGdW5jdGlvbiAocGF1c2UtaW4taW50ZXJuYWwt
c2NyaXB0Lmh0bWw6MTIpCitTY3JpcHQgZXhlY3V0aW9uIHJlc3VtZWQuCitTY3JpcHQgZXhlY3V0
aW9uIHBhdXNlZC4KK0RlYnVnZ2VyIHdhcyBkaXNhYmxlZC4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2VyL3BhdXNlLWluLWludGVybmFsLXNjcmlw
dC5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2VyL3BhdXNlLWlu
LWludGVybmFsLXNjcmlwdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM2ZmI1MDdlMDEwNTYwMjFhODg5NWEw
Y2JhYzY2NWJhYmUzMDZkNmQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0
b3Itb2Jzb2xldGUvZGVidWdnZXIvcGF1c2UtaW4taW50ZXJuYWwtc2NyaXB0Lmh0bWwKQEAgLTAs
MCArMSw1MiBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3Rz
L2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvZGVidWdnZXItdGVzdC5qcyI+PC9zY3JpcHQ+CisKKzxz
Y3JpcHQ+CisKK2Z1bmN0aW9uIHRlc3RGdW5jdGlvbigpCit7CisgICAgdmFyIGFycmF5ID0gWzIs
IDUsIDddOworICAgIHZhciBzdW0gPSAwOworICAgIGFycmF5LmZvckVhY2goZnVuY3Rpb24oa2V5
KQorICAgIHsKKyAgICAgICAgc3VtICs9IGFycmF5W2tleV07CisgICAgfSk7CisgICAgcmV0dXJu
IHN1bTsKK30KKworZnVuY3Rpb24gdGVzdCgpCit7CisgICAgSW5zcGVjdG9yVGVzdC5ydW5EZWJ1
Z2dlclRlc3RTdWl0ZShbCisgICAgICAgIGZ1bmN0aW9uIHRlc3RTZXRCcmVha3BvaW50KG5leHQp
CisgICAgICAgIHsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3Quc2hvd1NjcmlwdFNvdXJjZSgi
cGF1c2UtaW4taW50ZXJuYWwtc2NyaXB0Lmh0bWwiLCBkaWRTaG93U2NyaXB0U291cmNlKTsKKwor
ICAgICAgICAgICAgZnVuY3Rpb24gZGlkU2hvd1NjcmlwdFNvdXJjZShzb3VyY2VGcmFtZSkKKyAg
ICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiU2Ny
aXB0IHNvdXJjZSB3YXMgc2hvd24uIik7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5z
ZXRCcmVha3BvaW50KHNvdXJjZUZyYW1lLCAxMywgIiIsIHRydWUpOworICAgICAgICAgICAgICAg
IEluc3BlY3RvclRlc3QucnVuVGVzdEZ1bmN0aW9uQW5kV2FpdFVudGlsUGF1c2VkKGRpZFBhdXNl
KTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgZnVuY3Rpb24gZGlkUGF1c2UoY2FsbEZy
YW1lcykKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmNhcHR1
cmVTdGFja1RyYWNlKGNhbGxGcmFtZXMpOworICAgICAgICAgICAgICAgIG5leHQoKTsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgfQorICAgIF0pOworfTsKKworPC9zY3JpcHQ+CisKKzwvaGVhZD4K
KworPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgorPHA+VGVzdHMgdGhhdCBpbnRlcm5hbCBzY3Jp
cHRzIHVua25vd24gdG8gZnJvbnQtZW5kIGFyZSBwcm9jZXNzZWQgY29ycmVjdGx5IHdoZW4gYXBw
ZWFyIGluIGRlYnVnZ2VyIGNhbGwgZnJhbWVzLgorPGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTY0OTk1Ij5CdWcgNjQ5OTU8L2E+Cis8L3A+CisKKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9k
ZWJ1Z2dlci9yZXNvdXJjZXMvZHluYW1pYy1zY3JpcHQuanMgYi9MYXlvdXRUZXN0cy9pbnNwZWN0
b3Itb2Jzb2xldGUvZGVidWdnZXIvcmVzb3VyY2VzL2R5bmFtaWMtc2NyaXB0LmpzCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmZiOWZiODE5NWEwMWI1YzEwZThmZTM0ZmZhZWE5MTMzODZiZTEwODcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIvcmVzb3VyY2Vz
L2R5bmFtaWMtc2NyaXB0LmpzCkBAIC0wLDAgKzEsNSBAQAorZnVuY3Rpb24gZm9vRHluYW1pY1Nj
cmlwdCgpCit7Cit9CisKK3NjcmlwdExvYWRlZCgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2VyL3Jlc291cmNlcy9lZGl0LW1lLWJyZWFrcG9pbnRz
LmpzIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2VyL3Jlc291cmNlcy9l
ZGl0LW1lLWJyZWFrcG9pbnRzLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM2ZWQzZjg0MjhiNTdkYzliMDU4NWMw
ODc4M2RlOWQ5MDNjMjBmMmYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0
b3Itb2Jzb2xldGUvZGVidWdnZXIvcmVzb3VyY2VzL2VkaXQtbWUtYnJlYWtwb2ludHMuanMKQEAg
LTAsMCArMSw0IEBACitmdW5jdGlvbiBmKCkKK3sKKyAgICByZXR1cm4gMDsKK30KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9kZWJ1Z2dlci9yZXNvdXJjZXMvZWRp
dC1tZS1zeW50YXgtZXJyb3IuanMgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZGVi
dWdnZXIvcmVzb3VyY2VzL2VkaXQtbWUtc3ludGF4LWVycm9yLmpzCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdmN2M4
YmQ5OWVmNzBiMWIzOGFiZmE5MGNkNjgwNmZmNmYzMTNiM2MKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIvcmVzb3VyY2VzL2VkaXQtbWUt
c3ludGF4LWVycm9yLmpzCkBAIC0wLDAgKzEsNCBAQAorZnVuY3Rpb24gc3ludGF4RXJyb3IoKQor
eworICAgIHJldHVybiAsIkknbSBnb29kIjsKK30KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lu
c3BlY3Rvci1vYnNvbGV0ZS9kZWJ1Z2dlci9yZXNvdXJjZXMvZWRpdC1tZS13aGVuLXBhdXNlZC5q
cyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9kZWJ1Z2dlci9yZXNvdXJjZXMvZWRp
dC1tZS13aGVuLXBhdXNlZC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41OGI5YzhlM2MyOTdmZjBlNThlMzlhODIw
NjFkNGExMTg3MGU5ZmVkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
LW9ic29sZXRlL2RlYnVnZ2VyL3Jlc291cmNlcy9lZGl0LW1lLXdoZW4tcGF1c2VkLmpzCkBAIC0w
LDAgKzEsMTEgQEAKK2Z1bmN0aW9uIGYyKCkKK3sKKyAgICByZXR1cm4gMTsKK30KKworZnVuY3Rp
b24gZjEoKQoreworICAgIHZhciB4ID0gMTsKKyAgICBkZWJ1Z2dlcjsKKyAgICByZXR1cm4geCAr
IGYyKCk7Cit9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZGVi
dWdnZXIvcmVzb3VyY2VzL2VkaXQtbWUuanMgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xl
dGUvZGVidWdnZXIvcmVzb3VyY2VzL2VkaXQtbWUuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzZlZDNmODQyOGI1
N2RjOWIwNTg1YzA4NzgzZGU5ZDkwM2MyMGYyZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9kZWJ1Z2dlci9yZXNvdXJjZXMvZWRpdC1tZS5qcwpAQCAt
MCwwICsxLDQgQEAKK2Z1bmN0aW9uIGYoKQoreworICAgIHJldHVybiAwOworfQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2VyL3Jlc291cmNlcy9vYmZ1
c2NhdGVkLmpzIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2VyL3Jlc291
cmNlcy9vYmZ1c2NhdGVkLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzNDAzZDU0Zjk2Nzg3ZDY1YTc2ZjgxNTJj
NTMwNzg4NTIxZWNkZDcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3It
b2Jzb2xldGUvZGVidWdnZXIvcmVzb3VyY2VzL29iZnVzY2F0ZWQuanMKQEAgLTAsMCArMSwyMCBA
QAorZnVuY3Rpb24gZm9ybWF0dGVkMSgpCit7CisgICAgdmFyIHZhcmlhYmxlMSA9IDA7Cit9CisK
K2Z1bmN0aW9uIHdpdGhDb21tZW50cygpCit7CisvLyBjb21tZW50CisgICAgcmV0dXJuICJmdW5j
dGlvbldpdGhDb21tZW50cyI7Cit9CisKK3RyeXtvbm1lc3NhZ2U9ZnVuY3Rpb24oZXZlbnQpe3Zh
ciBzb3VyY2U9ZXZlbnQuZGF0YTt2YXIgZm9ybWF0dGVkU291cmNlPWJlYXV0aWZ5KHNvdXJjZSk7
dmFyIG1hcHBpbmc9YnVpbGRNYXBwaW5nKHNvdXJjZSxmb3JtYXR0ZWRTb3VyY2UpO3Bvc3RNZXNz
YWdlKHtmb3JtYXR0ZWRTb3VyY2U6Zm9ybWF0dGVkU291cmNlLG1hcHBpbmc6bWFwcGluZ30pfTtm
dW5jdGlvbiBiZWF1dGlmeShzb3VyY2Upe3ZhciBhc3Q9cGFyc2UucGFyc2Uoc291cmNlKTt2YXIg
YmVhdXRpZnlPcHRpb25zPQore2luZGVudF9sZXZlbDo0LGluZGVudF9zdGFydDowLHF1b3RlX2tl
eXM6ZmFsc2Usc3BhY2VfY29sb246ZmFsc2V9O3JldHVybiBwcm9jZXNzLmdlbl9jb2RlKGFzdCxi
ZWF1dGlmeU9wdGlvbnMpfWZ1bmN0aW9uIGJ1aWxkTWFwcGluZyhzb3VyY2UsZm9ybWF0dGVkU291
cmNlKXt2YXIgbWFwcGluZz17b3JpZ2luYWw6W10sZm9ybWF0dGVkOltdfTt2YXIgbGFzdFBvc2l0
aW9uPTA7dmFyIHJlZ2V4cD0vKF58W15cXF0pXGIoKD89XEQpW1wkXC5cd10rKVxiL2c7d2hpbGUo
dHJ1ZSkKK3t2YXIgbWF0Y2g9cmVnZXhwLmV4ZWMoZm9ybWF0dGVkU291cmNlKTtpZighbWF0Y2gp
YnJlYWs7dmFyIHBvc2l0aW9uPXNvdXJjZS5pbmRleE9mKG1hdGNoWzJdLGxhc3RQb3NpdGlvbik7
aWYocG9zaXRpb249PT0tMSl0aHJvdyJObyBtYXRjaCBmb3VuZCBpbiBvcmlnaW5hbCBzb3VyY2Ug
Zm9yICIrbWF0Y2hbMl07bWFwcGluZy5vcmlnaW5hbC5wdXNoKHBvc2l0aW9uKTttYXBwaW5nLmZv
cm1hdHRlZC5wdXNoKG1hdGNoLmluZGV4K21hdGNoWzFdLmxlbmd0aCk7CitsYXN0UG9zaXRpb249
cG9zaXRpb24rbWF0Y2hbMl0ubGVuZ3RofXJldHVybiBtYXBwaW5nfWZ1bmN0aW9uIHJlcXVpcmUo
KXtyZXR1cm4gcGFyc2V9dmFyIGV4cG9ydHM9e307aW1wb3J0U2NyaXB0cygiVWdsaWZ5SlMvcGFy
c2UtanMuanMiKTt2YXIgcGFyc2U9ZXhwb3J0czt2YXIgZXhwb3J0cz17fTtpbXBvcnRTY3JpcHRz
KCJVZ2xpZnlKUy9wcm9jZXNzLmpzIik7dmFyIHByb2Nlc3M9ZXhwb3J0czt9Y2F0Y2goZSl7fQor
CitmdW5jdGlvbiBmb3JtYXR0ZWQyKCkKK3sKKyAgICB2YXIgdmFyaWFibGUyID0gMDsKK30KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9kZWJ1Z2dlci9yZXNvdXJj
ZXMvcGF1c2Utb24tYmxvY2tlZC1ieS1jc3AuanMgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jz
b2xldGUvZGVidWdnZXIvcmVzb3VyY2VzL3BhdXNlLW9uLWJsb2NrZWQtYnktY3NwLmpzCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjBjZTM4MDg1OGM0YTIyYjY0OTdjOTBjNDJkYmRjMWYwZWU2MjhlNDYKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIvcmVzb3Vy
Y2VzL3BhdXNlLW9uLWJsb2NrZWQtYnktY3NwLmpzCkBAIC0wLDAgKzEsMzAgQEAKK2Z1bmN0aW9u
IHRlc3QoKQoreworICAgIFdlYkluc3BlY3Rvci5zaG93UGFuZWwoInNjcmlwdHMiKTsKKworICAg
IEluc3BlY3RvclRlc3QuYWRkU25pZmZlcihXZWJJbnNwZWN0b3IuQ2FsbFN0YWNrU2lkZWJhclBh
bmUucHJvdG90eXBlLCAic2V0U3RhdHVzIiwgc2V0U3RhdHVzLCBmYWxzZSk7CisKKyAgICBmdW5j
dGlvbiBzZXRTdGF0dXMoc3RhdHVzKQorICAgIHsKKyAgICAgICAgLy8gRklYTUU6IEZvciB3aGF0
ZXZlciByZWFzb24sIHRoaXMgaXNuJ3QgZ2V0dGluZyBjYWxsZWQgY29uc2lzdGVudGx5LgorICAg
ICAgICAvLyBDb21tZW50aW5nIGl0IG91dCB0byBhdm9pZCBmbGFrZXluZXNzLiBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTY4NjcKKyAgICAgICAgLy8gSW5zcGVjdG9y
VGVzdC5hZGRSZXN1bHQoIkNhbGxzdGFjayBzdGF0dXMgc2V0IHRvOiAnIiArIHN0YXR1cyArICIn
LiIpOworICAgIH0KKworICAgIEluc3BlY3RvclRlc3Quc3RhcnREZWJ1Z2dlclRlc3Qoc3RlcDEp
OworCisgICAgZnVuY3Rpb24gc3RlcDEoKQorICAgIHsKKyAgICAgICAgRGVidWdnZXJBZ2VudC5z
ZXRQYXVzZU9uRXhjZXB0aW9ucyhXZWJJbnNwZWN0b3IuRGVidWdnZXJNb2RlbC5QYXVzZU9uRXhj
ZXB0aW9uc1N0YXRlLlBhdXNlT25VbmNhdWdodEV4Y2VwdGlvbnMpOworICAgICAgICBJbnNwZWN0
b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJzZXRUaW1lb3V0KHRlc3RBY3Rpb24sIDApOyIpOworICAg
ICAgICBJbnNwZWN0b3JUZXN0LndhaXRVbnRpbFBhdXNlZChzdGVwMik7CisgICAgfQorCisgICAg
ZnVuY3Rpb24gc3RlcDIoY2FsbEZyYW1lcykKKyAgICB7CisgICAgICAgIEluc3BlY3RvclRlc3Qu
Y2FwdHVyZVN0YWNrVHJhY2UoY2FsbEZyYW1lcyk7CisgICAgICAgIEluc3BlY3RvclRlc3QuY29t
cGxldGVEZWJ1Z2dlclRlc3QoKTsKKyAgICB9Cit9CisKK3dpbmRvdy5hZGRFdmVudExpc3RlbmVy
KCdsb2FkJywgcnVuVGVzdCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jz
b2xldGUvZGVidWdnZXIvcmVzb3VyY2VzL3BhdXNlLW9uLWJsb2NrZWQtZXZlbnQtaGFuZGxlci5q
cyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9kZWJ1Z2dlci9yZXNvdXJjZXMvcGF1
c2Utb24tYmxvY2tlZC1ldmVudC1oYW5kbGVyLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhhNmQ1MWQ2ZjYyMmNi
OGFmYmM4NDFmMjI2NWMyYTcxYzkyYjY0MTAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9pbnNwZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIvcmVzb3VyY2VzL3BhdXNlLW9uLWJsb2NrZWQt
ZXZlbnQtaGFuZGxlci5qcwpAQCAtMCwwICsxLDUgQEAKK2Z1bmN0aW9uIHRlc3RBY3Rpb24oKQor
eworICAgIHZhciBidXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGVzdCcpOworICAg
IGJ1dHRvbi5jbGljaygpOworfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9i
c29sZXRlL2RlYnVnZ2VyL3Jlc291cmNlcy9wYXVzZS1vbi1ibG9ja2VkLXNjcmlwdC1pbmplY3Rp
b24uanMgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIvcmVzb3VyY2Vz
L3BhdXNlLW9uLWJsb2NrZWQtc2NyaXB0LWluamVjdGlvbi5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40ZjlhYjk5
MTMzOTQ0ZGM0MzdhOWQ0YTk2ZDZhMGYxZTAwMzU2NmRmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2VyL3Jlc291cmNlcy9wYXVzZS1vbi1i
bG9ja2VkLXNjcmlwdC1pbmplY3Rpb24uanMKQEAgLTAsMCArMSw2IEBACitmdW5jdGlvbiB0ZXN0
QWN0aW9uKCkKK3sKKyAgICB2YXIgc2NyaXB0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2Ny
aXB0Jyk7CisgICAgc2NyaXB0LmlubmVyVGV4dCA9ICJhbGVydCgnRkFJTCEnKTsiOworICAgIGRv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoc2NyaXB0KTsKK30KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9kZWJ1Z2dlci9yZXNvdXJjZXMvcGF1c2Utb24tYmxvY2tl
ZC1zY3JpcHQtdXJsLmpzIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2Vy
L3Jlc291cmNlcy9wYXVzZS1vbi1ibG9ja2VkLXNjcmlwdC11cmwuanMKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
YzYwNDRiNGQxNGZjNzM1YTcyODVhOTkzNmIzNjllYzk2MjdiYwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9kZWJ1Z2dlci9yZXNvdXJjZXMvcGF1c2Ut
b24tYmxvY2tlZC1zY3JpcHQtdXJsLmpzCkBAIC0wLDAgKzEsNyBAQAorZnVuY3Rpb24gdGVzdEFj
dGlvbigpCit7CisgICAgdmFyIGEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7CisgICAg
YS5zZXRBdHRyaWJ1dGUoJ2hyZWYnLCAnamF2YXNjcmlwdDphbGVydCgiRkFJTCEiKTsnKTsKKyAg
ICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGEpOworICAgIGEuY2xpY2soKTsKK30KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9kZWJ1Z2dlci9yZXNvdXJjZXMv
c2NyaXB0MS5qcyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9kZWJ1Z2dlci9yZXNv
dXJjZXMvc2NyaXB0MS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hNmZlNGMzYTljNGI2ZTE3ZTVhNmE4NjczNWI4
MWU4NzRlODA4YzcwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9i
c29sZXRlL2RlYnVnZ2VyL3Jlc291cmNlcy9zY3JpcHQxLmpzCkBAIC0wLDAgKzEgQEAKK2Z1bmN0
aW9uIGYxKCkge30KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIvcmVzb3VyY2VzL3NjcmlwdDIuanMg
Yi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIvcmVzb3VyY2VzL3Njcmlw
dDIuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODY2NWEwZjI2OTdmYjA1NTk2MTViMjY3MGUxMDA5YzdjMzY3NTU1
NgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9kZWJ1
Z2dlci9yZXNvdXJjZXMvc2NyaXB0Mi5qcwpAQCAtMCwwICsxIEBACitmdW5jdGlvbiBmMigpIHt9
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yLW9ic29sZXRlL2RlYnVnZ2VyL3Jlc291cmNlcy9zY3JpcHQzLmpzIGIvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2VyL3Jlc291cmNlcy9zY3JpcHQzLmpzCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmUzZmIzNDM2NjE3ZGJkM2U3NzdiN2M0ODdkNmE1M2EzNTE4ZGQyYzUKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIvcmVzb3Vy
Y2VzL3NjcmlwdDMuanMKQEAgLTAsMCArMSBAQAorZnVuY3Rpb24gZjMoKSB7fQpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNv
bGV0ZS9kZWJ1Z2dlci9yZXNvdXJjZXMvc3ludGF4LWVycm9yLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bnNwZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIvcmVzb3VyY2VzL3N5bnRheC1lcnJvci5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjVhZWUyMTQ1NGYzYTExM2U2MzlhMDgxMjk4YzAzNWMwNTg2MjY4MmUKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIvcmVz
b3VyY2VzL3N5bnRheC1lcnJvci5odG1sCkBAIC0wLDAgKzEsMTAgQEAKKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0PgorKQorPC9zY3JpcHQ+Cis8L2hlYWQ+CisKKzxib2R5IG9ubG9hZD0iY29uc29s
ZS5sb2coJ0lmcmFtZSBsb2FkZWQnKTsiPgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0
ZS9kZWJ1Z2dlci9zY3JpcHQtZm9ybWF0dGVyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2lu
c3BlY3Rvci1vYnNvbGV0ZS9kZWJ1Z2dlci9zY3JpcHQtZm9ybWF0dGVyLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi42YTAxZjAzYTljZTJmZGU3YzdmMmFkMzUyNmVlMjgxMjIyMTkyMDk2Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2VyL3Nj
cmlwdC1mb3JtYXR0ZXItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjEgQEAKK1Rlc3RzIHRoZSBz
Y3JpcHQgZm9ybWF0dGluZyBmdW5jdGlvbmFsaXR5LgorCitEZWJ1Z2dlciB3YXMgZW5hYmxlZC4K
KworUnVubmluZzogdGVzdFNjcmlwdEZvcm1hdHRlcldvcmtlcgorCitSdW5uaW5nOiB0ZXN0U291
cmNlTWFwcGluZworCitSdW5uaW5nOiB0ZXN0Rm9ybWF0SW5saW5lZFNjcmlwdHMKKzxodG1sPjxi
b2R5PjxzY3JpcHQ+CitmdW5jdGlvbiBmKCkgeworfQorPC9zY3JpcHQ+PHNjcmlwdD4KK2Z1bmN0
aW9uIGcoKSB7CisqKnZhciBhOworKippZiAoYSkKKyoqKipyZXR1cm47Cit9Cis8L3NjcmlwdD48
L2JvZHk+PC9odG1sPgorRGVidWdnZXIgd2FzIGRpc2FibGVkLgorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIvc2NyaXB0LWZvcm1hdHRlci1zZWFy
Y2gtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2Vy
L3NjcmlwdC1mb3JtYXR0ZXItc2VhcmNoLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43NzQwYTQ0
NGRmYmVkZmVlOTAwOGEzMzMzYmQ2ZjUyMzI5Mjk3ZTgxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2VyL3NjcmlwdC1mb3JtYXR0ZXItc2Vh
cmNoLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE1IEBACitUZXN0cyB0aGF0IHNlYXJjaCBhY3Jv
c3MgZmlsZXMgd29ya3Mgd2l0aCBmb3JtYXR0ZWQgc2NyaXB0cy4KKworRGVidWdnZXIgd2FzIGVu
YWJsZWQuCitQcmUtZm9ybWF0IHNlYXJjaCByZXN1bHRzOgorU2VhcmNoIG1hdGNoZXM6IAorbGlu
ZU51bWJlcjogMjQsIGxpbmU6ICcgICAgICAgIHNjcmlwdFNvdXJjZS5zZWFyY2hJbkNvbnRlbnQo
Im1hZ2ljLXN0cmluZyIsIHRydWUsIGZhbHNlLCBkdW1wMSk7JworbGluZU51bWJlcjogMzksIGxp
bmU6ICcgICAgICAgIHNjcmlwdFNvdXJjZS5zZWFyY2hJbkNvbnRlbnQoIm1hZ2ljLXN0cmluZyIs
IHRydWUsIGZhbHNlLCBkdW1wMik7JworCitPcmlnaW5hbCBjb250ZW50IHdhcyByZXF1ZXN0ZWQu
CitQb3N0LWZvcm1hdCBzZWFyY2ggcmVzdWx0czoKK1NlYXJjaCBtYXRjaGVzOiAKK2xpbmVOdW1i
ZXI6IDI4LCBsaW5lOiAnICAgICAgICBzY3JpcHRTb3VyY2Uuc2VhcmNoSW5Db250ZW50KCJtYWdp
Yy1zdHJpbmciLCB0cnVlLCBmYWxzZSwgZHVtcDEpOycKK2xpbmVOdW1iZXI6IDQzLCBsaW5lOiAn
ICAgICAgICBzY3JpcHRTb3VyY2Uuc2VhcmNoSW5Db250ZW50KCJtYWdpYy1zdHJpbmciLCB0cnVl
LCBmYWxzZSwgZHVtcDIpOycKKworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3It
b2Jzb2xldGUvZGVidWdnZXIvc2NyaXB0LWZvcm1hdHRlci1zZWFyY2guaHRtbCBiL0xheW91dFRl
c3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9kZWJ1Z2dlci9zY3JpcHQtZm9ybWF0dGVyLXNlYXJjaC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmFiZDE2Y2Q0MTgxMWE5Zjk0OWRmZDM5YmJhN2FjZWE4MTI0NmY2MDcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZGVidWdn
ZXIvc2NyaXB0LWZvcm1hdHRlci1zZWFyY2guaHRtbApAQCAtMCwwICsxLDY4IEBACis8aHRtbD4K
KzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rv
ci10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3Bl
Y3Rvci9kZWJ1Z2dlci10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9odHRw
L3Rlc3RzL2luc3BlY3Rvci9zZWFyY2gvc2VhcmNoLXRlc3QuanMiPjwvc2NyaXB0PgorCis8c2Ny
aXB0PgorCit2YXIgdGVzdCA9IGZ1bmN0aW9uKCkKK3sKKyAgICB2YXIgc2NyaXB0U291cmNlOwor
ICAgIHZhciBzaG91bGRSZXF1ZXN0Q29udGVudCA9IGZhbHNlOworCisgICAgSW5zcGVjdG9yVGVz
dC5zdGFydERlYnVnZ2VyVGVzdChzdGFydGVkKTsKKworICAgIGZ1bmN0aW9uIHN0YXJ0ZWQoKQor
ICAgIHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5zaG93U2NyaXB0U291cmNlKCJzY3JpcHQtZm9y
bWF0dGVyLXNlYXJjaC5odG1sIiwgZGlkU2hvd1NjcmlwdFNvdXJjZSk7CisgICAgfQorCisgICAg
ZnVuY3Rpb24gZGlkU2hvd1NjcmlwdFNvdXJjZShmcmFtZSkKKyAgICB7CisgICAgICAgIHNjcmlw
dFNvdXJjZSA9IGZyYW1lLl91aVNvdXJjZUNvZGU7CisgICAgICAgIEluc3BlY3RvclRlc3QuYWRk
U25pZmZlcihzY3JpcHRTb3VyY2UuX3Byb2plY3QsICJyZXF1ZXN0RmlsZUNvbnRlbnQiLCByZXF1
ZXN0Q29udGVudFNuaWZmZXIpOworICAgICAgICBzY3JpcHRTb3VyY2Uuc2VhcmNoSW5Db250ZW50
KCJtYWdpYy1zdHJpbmciLCB0cnVlLCBmYWxzZSwgZHVtcDEpOworICAgIH0KKworICAgIGZ1bmN0
aW9uIGR1bXAxKG1hdGNoZXMpCisgICAgeworICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3Vs
dCgiUHJlLWZvcm1hdCBzZWFyY2ggcmVzdWx0czoiKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5k
dW1wU2VhcmNoTWF0Y2hlcyhtYXRjaGVzKTsKKyAgICAgICAgc2hvdWxkUmVxdWVzdENvbnRlbnQg
PSB0cnVlOworICAgICAgICBzY3JpcHRTb3VyY2UuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0
b3IuVUlTb3VyY2VDb2RlLkV2ZW50cy5Gb3JtYXR0ZWRDaGFuZ2VkLCBkaWRGb3JtYXQsIHRoaXMp
OworICAgICAgICBzY3JpcHRTb3VyY2Uuc2V0Rm9ybWF0dGVkKHRydWUpOworICAgIH0KKworICAg
IGZ1bmN0aW9uIGRpZEZvcm1hdCgpCisgICAgeworICAgICAgICBzY3JpcHRTb3VyY2UucmVtb3Zl
RXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuVUlTb3VyY2VDb2RlLkV2ZW50cy5Gb3JtYXR0ZWRD
aGFuZ2VkLCBkaWRGb3JtYXQsIHRoaXMpOworICAgICAgICBzY3JpcHRTb3VyY2Uuc2VhcmNoSW5D
b250ZW50KCJtYWdpYy1zdHJpbmciLCB0cnVlLCBmYWxzZSwgZHVtcDIpOworICAgIH0KKworICAg
IGZ1bmN0aW9uIGR1bXAyKG1hdGNoZXMpCisgICAgeworICAgICAgICBJbnNwZWN0b3JUZXN0LmFk
ZFJlc3VsdCgiUG9zdC1mb3JtYXQgc2VhcmNoIHJlc3VsdHM6Iik7CisgICAgICAgIEluc3BlY3Rv
clRlc3QuZHVtcFNlYXJjaE1hdGNoZXMobWF0Y2hlcyk7CisgICAgICAgIEluc3BlY3RvclRlc3Qu
Y29tcGxldGVUZXN0KCk7CisgICAgfQorCisgICAgZnVuY3Rpb24gcmVxdWVzdENvbnRlbnRTbmlm
ZmVyKCkKKyAgICB7CisgICAgICAgIGlmIChzaG91bGRSZXF1ZXN0Q29udGVudCkKKyAgICAgICAg
ICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJPcmlnaW5hbCBjb250ZW50IHdhcyByZXF1ZXN0
ZWQuIik7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0
KCJGYWlsdXJlOiBvcmlnaW5hbCBjb250ZW50IHNob3VsZCBub3QgYmUgcmVxdWVzdGVkLiIpOwor
ICAgIH0KK30KKworPC9zY3JpcHQ+CisKKzwvaGVhZD4KKworPGJvZHkgb25sb2FkPSJydW5UZXN0
KCkiPgorPHA+VGVzdHMgdGhhdCBzZWFyY2ggYWNyb3NzIGZpbGVzIHdvcmtzIHdpdGggZm9ybWF0
dGVkIHNjcmlwdHMuCis8L3A+CisKKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9kZWJ1Z2dlci9zY3JpcHQtZm9ybWF0dGVyLmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIvc2NyaXB0LWZvcm1hdHRl
ci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmYxYWQ0NmQ0M2U1NDIxNzEyNjY3ZmYwOTBjZjdlN2Y2NzY2NjNj
ZTQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZGVi
dWdnZXIvc2NyaXB0LWZvcm1hdHRlci5odG1sCkBAIC0wLDAgKzEsMTA2IEBACis8aHRtbD4KKzxo
ZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10
ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rv
ci9kZWJ1Z2dlci10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvb2Jm
dXNjYXRlZC5qcyI+PC9zY3JpcHQ+CisKKzxzY3JpcHQ+CisKK3ZhciB0ZXN0ID0gZnVuY3Rpb24o
KQoreworICAgIHZhciBwYW5lbCA9IFdlYkluc3BlY3Rvci5wYW5lbHMuc2NyaXB0czsKKyAgICB2
YXIgd29ya2VyID0gbmV3IFdvcmtlcigiU2NyaXB0Rm9ybWF0dGVyV29ya2VyLmpzIik7CisKKyAg
ICBJbnNwZWN0b3JUZXN0LnJ1bkRlYnVnZ2VyVGVzdFN1aXRlKFsKKyAgICAgICAgZnVuY3Rpb24g
dGVzdFNjcmlwdEZvcm1hdHRlcldvcmtlcihuZXh0KQorICAgICAgICB7CisgICAgICAgICAgICB3
b3JrZXIub25tZXNzYWdlID0gSW5zcGVjdG9yVGVzdC5zYWZlV3JhcChmdW5jdGlvbihldmVudCkK
KyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydEVxdWFs
cygidmFyIHggPSAwXG4iLCBldmVudC5kYXRhLmNvbnRlbnQpOworICAgICAgICAgICAgICAgIG5l
eHQoKTsKKyAgICAgICAgICAgIH0pOworCisgICAgICAgICAgICB3b3JrZXIub25lcnJvciA9IGZ1
bmN0aW9uKGV2ZW50KQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIEluc3BlY3RvclRl
c3QuYWRkUmVzdWx0KCJFcnJvciBpbiB3b3JrZXI6ICIgKyBldmVudC5kYXRhKTsKKyAgICAgICAg
ICAgICAgICBuZXh0KCk7CisgICAgICAgICAgICB9OworCisgICAgICAgICAgICB3b3JrZXIucG9z
dE1lc3NhZ2UoeyBtZXRob2Q6ICJmb3JtYXQiLCBwYXJhbXM6IHsgbWltZVR5cGU6ICJ0ZXh0L2ph
dmFzY3JpcHQiLCBjb250ZW50OiAidmFyIHg9MCIgfSB9KTsKKyAgICAgICAgfSwKKworICAgICAg
ICBmdW5jdGlvbiB0ZXN0U291cmNlTWFwcGluZyhuZXh0KQorICAgICAgICB7CisgICAgICAgICAg
ICB2YXIgZm9ybWF0dGVyID0gbmV3IFdlYkluc3BlY3Rvci5TY3JpcHRGb3JtYXR0ZXIoKTsKKwor
ICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5zaG93U2NyaXB0U291cmNlKCJvYmZ1c2NhdGVkLmpz
IiwgZGlkU2hvd1NjcmlwdFNvdXJjZSk7CisgICAgICAgICAgICBmdW5jdGlvbiBkaWRTaG93U2Ny
aXB0U291cmNlKHNvdXJjZUZyYW1lKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGZv
cm1hdHRlci5mb3JtYXRDb250ZW50KCJ0ZXh0L2phdmFzY3JpcHQiLCBzb3VyY2VGcmFtZS5fdGV4
dEVkaXRvci50ZXh0KCksIGRpZEZvcm1hdENvbnRlbnQpOworICAgICAgICAgICAgfQorCisgICAg
ICAgICAgICBmdW5jdGlvbiBkaWRGb3JtYXRDb250ZW50KGNvbnRlbnQsIG1hcHBpbmcpCisgICAg
ICAgICAgICB7CisgICAgICAgICAgICAgICAgdmFyIHNvdXJjZSA9IFdlYkluc3BlY3Rvci5wYW5l
bHMuc2NyaXB0cy52aXNpYmxlVmlldy5fdGV4dEVkaXRvci50ZXh0KCk7CisgICAgICAgICAgICAg
ICAgdmFyIGZvcm1hdHRlZFNvdXJjZSA9IGNvbnRlbnQ7CisKKyAgICAgICAgICAgICAgICBmdW5j
dGlvbiB0ZXN0TWFwcGluZyhzdHJpbmcpCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAg
ICAgICAgICB2YXIgb3JpZ2luYWxQb3NpdGlvbiA9IHNvdXJjZS5pbmRleE9mKHN0cmluZyk7Cisg
ICAgICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0VHJ1ZShvcmlnaW5hbFBvc2l0
aW9uICE9PSAtMSk7CisgICAgICAgICAgICAgICAgICAgIHZhciBvcmlnaW5hbExvY2F0aW9uID0g
V2ViSW5zcGVjdG9yLkZvcm1hdHRlci5wb3NpdGlvblRvTG9jYXRpb24oc291cmNlLmxpbmVFbmRp
bmdzKCksIG9yaWdpbmFsUG9zaXRpb24pOworICAgICAgICAgICAgICAgICAgICB2YXIgZm9ybWF0
dGVkTG9jYXRpb24gPSBtYXBwaW5nLm9yaWdpbmFsVG9Gb3JtYXR0ZWQob3JpZ2luYWxMb2NhdGlv
blswXSwgb3JpZ2luYWxMb2NhdGlvblsxXSk7CisgICAgICAgICAgICAgICAgICAgIHZhciBmb3Jt
YXR0ZWRQb3NpdGlvbiA9IFdlYkluc3BlY3Rvci5Gb3JtYXR0ZXIubG9jYXRpb25Ub1Bvc2l0aW9u
KGZvcm1hdHRlZFNvdXJjZS5saW5lRW5kaW5ncygpLCBmb3JtYXR0ZWRMb2NhdGlvblswXSwgZm9y
bWF0dGVkTG9jYXRpb25bMV0pOworICAgICAgICAgICAgICAgICAgICB2YXIgZXhwZWN0ZWRGb3Jt
YXR0ZWRQb3NpdGlvbiA9IGZvcm1hdHRlZFNvdXJjZS5pbmRleE9mKHN0cmluZyk7CisgICAgICAg
ICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0RXF1YWxzKGV4cGVjdGVkRm9ybWF0dGVk
UG9zaXRpb24sIGZvcm1hdHRlZFBvc2l0aW9uLCAid3JvbmcgbWFwcGluZyBmb3IgPCIgKyBzdHJp
bmcgKyAiPiIpOworICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIHRlc3RNYXBw
aW5nKCJmdW5jdGlvbiIpOworICAgICAgICAgICAgICAgIHRlc3RNYXBwaW5nKCJmb3JtYXR0ZWQx
Iik7CisgICAgICAgICAgICAgICAgdGVzdE1hcHBpbmcoInZhcmlhYmxlMSIpOworCisgICAgICAg
ICAgICAgICAgdGVzdE1hcHBpbmcoIiAgICByZXR1cm4gXCJmdW5jdGlvbldpdGhDb21tZW50c1wi
Iik7CisKKyAgICAgICAgICAgICAgICB0ZXN0TWFwcGluZygib25tZXNzYWdlIik7CisgICAgICAg
ICAgICAgICAgdGVzdE1hcHBpbmcoImluZGVudF9zdGFydCIpOworICAgICAgICAgICAgICAgIHRl
c3RNYXBwaW5nKCJmdW5jdGlvbiByZXF1aXJlIik7CisgICAgICAgICAgICAgICAgdGVzdE1hcHBp
bmcoInZhciByZWdleHAiKTsKKyAgICAgICAgICAgICAgICB0ZXN0TWFwcGluZygiaW1wb3J0U2Ny
aXB0cyIpOworCisgICAgICAgICAgICAgICAgdGVzdE1hcHBpbmcoImZvcm1hdHRlZDIiKTsKKyAg
ICAgICAgICAgICAgICB0ZXN0TWFwcGluZygidmFyaWFibGUyIik7CisKKyAgICAgICAgICAgICAg
ICBuZXh0KCk7CisgICAgICAgICAgICB9CisgICAgICAgIH0sCisKKyAgICAgICAgZnVuY3Rpb24g
dGVzdEZvcm1hdElubGluZWRTY3JpcHRzKG5leHQpCisgICAgICAgIHsKKyAgICAgICAgICAgIHdv
cmtlci5vbm1lc3NhZ2UgPSBJbnNwZWN0b3JUZXN0LnNhZmVXcmFwKGZ1bmN0aW9uKGV2ZW50KQor
ICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KGV2
ZW50LmRhdGEuY29udGVudCk7CisgICAgICAgICAgICAgICAgbmV4dCgpOworICAgICAgICAgICAg
fSk7CisKKyAgICAgICAgICAgIHdvcmtlci5vbmVycm9yID0gZnVuY3Rpb24oZXZlbnQpCisgICAg
ICAgICAgICB7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIkVycm9y
IGluIHdvcmtlcjogIiArIGV2ZW50LmRhdGEpOworICAgICAgICAgICAgICAgIG5leHQoKTsKKyAg
ICAgICAgICAgIH07CisKKyAgICAgICAgICAgIHZhciBjb250ZW50ID0gIjxodG1sPjxib2R5Pjxz
Y3JpcHQ+ZnVuY3Rpb24gZigpe308IiArICIvc2NyaXB0PjxzY3JpcHQ+ZnVuY3Rpb24gZygpe3Zh
ciBhO2lmIChhKSByZXR1cm47fTwiICsgIi9zY3JpcHQ+PC9ib2R5PjwvaHRtbD4iOworICAgICAg
ICAgICAgd29ya2VyLnBvc3RNZXNzYWdlKHsgbWV0aG9kOiAiZm9ybWF0IiwgcGFyYW1zOiB7IG1p
bWVUeXBlOiAidGV4dC9odG1sIiwgY29udGVudDogY29udGVudCwgaW5kZW50U3RyaW5nOiAiKioi
IH0gfSk7CisgICAgICAgIH0KKyAgICBdKTsKK30KKworPC9zY3JpcHQ+CisKKzwvaGVhZD4KKwor
PGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgorPHA+VGVzdHMgdGhlIHNjcmlwdCBmb3JtYXR0aW5n
IGZ1bmN0aW9uYWxpdHkuCis8L3A+CisKKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9kZWJ1Z2dlci9zb3VyY2UtdXJsLWNvbW1lbnQt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2VyL3Nv
dXJjZS11cmwtY29tbWVudC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjEwNzQ2NTY2YjNhYzZh
NzI1OGZiYzFiYmU0NzhjNTc5NGMyNWU4YQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2luc3BlY3Rvci1vYnNvbGV0ZS9kZWJ1Z2dlci9zb3VyY2UtdXJsLWNvbW1lbnQtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMjMgQEAKK1Rlc3RzIHRoYXQgZXZhbHMgd2l0aCBzb3VyY2VVUkwgY29t
bWVudCBhcmUgc2hvd24gaW4gc2NyaXB0cyBwYW5lbC4KKworRGVidWdnZXIgd2FzIGVuYWJsZWQu
CisKK1J1bm5pbmc6IHRlc3RTb3VyY2VVUkxDb21tZW50SW5JbmxpbmVTY3JpcHQKKworUnVubmlu
ZzogdGVzdFNvdXJjZVVSTENvbW1lbnQKK2Z1bmN0aW9uIGtlZXBBbGl2ZSgpIHt9CisvL0Agc291
cmNlVVJMPWV2YWxVUkwuanMKKworUnVubmluZzogdGVzdFNvdXJjZVVSTENvbW1lbnRJbkR5bmFt
aWNTY3JpcHQKK2Z1bmN0aW9uIGtlZXBBbGl2ZUluRHluYW1pY1NjcmlwdCgpIHt9CisvL0Agc291
cmNlVVJMPWR5bmFtaWNTY3JpcHRVUkwuanMKKworUnVubmluZzogdGVzdE5vblJlbGF0aXZlVVJM
CitmdW5jdGlvbiByZWxhdGl2ZVVSTFNjcmlwdCgpIHt9CisvL0Agc291cmNlVVJMPS9qcy9ub25S
ZWxhdGl2ZVVSTC5qcworCitSdW5uaW5nOiB0ZXN0SGFzaFN5bnRheAorZnVuY3Rpb24gaGFzaFN5
bnRheCgpIHt9CisvLyMgc291cmNlVVJMPWhhc2hTeW50YXguanMKK0RlYnVnZ2VyIHdhcyBkaXNh
YmxlZC4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2RlYnVn
Z2VyL3NvdXJjZS11cmwtY29tbWVudC5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29s
ZXRlL2RlYnVnZ2VyL3NvdXJjZS11cmwtY29tbWVudC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjUxZGZjMDY0
NmNlNWZjYTMwNzY0ZWJmMWMwNGJlZDIxNzI2ZmZlMTQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIvc291cmNlLXVybC1jb21tZW50Lmh0
bWwKQEAgLTAsMCArMSwxNDcgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
aHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyLXRlc3QuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdD4KK2Z1bmN0aW9uIGtlZXBBbGl2ZUluSW5saW5lU2NyaXB0KCkgeyB9CisK
Ky8vQCBzb3VyY2VVUkw9aW5saW5lU2NyaXB0VVJMLmpzCis8L3NjcmlwdD4KKzxzY3JpcHQ+Citm
dW5jdGlvbiBkb0V2YWwoKQoreworICAgIGV2YWwoImZ1bmN0aW9uIGtlZXBBbGl2ZSgpIHt9XG4v
L0Agc291cmNlVVJMPWV2YWxVUkwuanMiKTsKK30KKworZnVuY3Rpb24gZG9FdmFsV2l0aE5vblJl
bGF0aXZlVVJMKCkKK3sKKyAgICBldmFsKCJmdW5jdGlvbiByZWxhdGl2ZVVSTFNjcmlwdCgpIHt9
XG4vL0Agc291cmNlVVJMPS9qcy9ub25SZWxhdGl2ZVVSTC5qcyIpOworfQorCitmdW5jdGlvbiBk
b0V2YWxXaXRoSGFzaFN5bnRheCgpCit7CisgICAgZXZhbCgiZnVuY3Rpb24gaGFzaFN5bnRheCgp
IHt9XG4vLyMgc291cmNlVVJMPWhhc2hTeW50YXguanMiKTsKK30KKworZnVuY3Rpb24gZG9EeW5h
bWljU2NyaXB0KCkKK3sKKyAgICB2YXIgc2NyaXB0RWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInNjcmlwdCIpOworICAgIHNjcmlwdEVsZW1lbnQudGV4dENvbnRlbnQgPSAiZnVuY3Rp
b24ga2VlcEFsaXZlSW5EeW5hbWljU2NyaXB0KCkge31cbi8vQCBzb3VyY2VVUkw9ZHluYW1pY1Nj
cmlwdFVSTC5qcyI7CisgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChzY3JpcHRFbGVtZW50
KTsKK30KKworZnVuY3Rpb24gdGVzdCgpCisKK3sKKyAgICBmdW5jdGlvbiBmb3JFYWNoU2NyaXB0
TWF0Y2hpbmdVUkwodXJsLCBoYW5kbGVyKQorICAgIHsKKyAgICAgICAgdmFyIHNjcmlwdHMgPSBX
ZWJJbnNwZWN0b3IuZGVidWdnZXJNb2RlbC5zY3JpcHRzOworICAgICAgICBmb3IgKHZhciBpID0g
MDsgaSA8IHNjcmlwdHMubGVuZ3RoOyArK2kpIHsKKyAgICAgICAgICAgIGlmIChzY3JpcHRzW2ld
LnNvdXJjZVVSTC5pbmRleE9mKHVybCkgIT09IC0xKQorICAgICAgICAgICAgICAgIGhhbmRsZXIo
c2NyaXB0c1tpXSk7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBJbnNwZWN0b3JUZXN0LnJ1bkRl
YnVnZ2VyVGVzdFN1aXRlKFsKKyAgICAgICAgZnVuY3Rpb24gdGVzdFNvdXJjZVVSTENvbW1lbnRJ
bklubGluZVNjcmlwdChuZXh0KQorICAgICAgICB7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0
LnNob3dTY3JpcHRTb3VyY2UoInNvdXJjZS11cmwtY29tbWVudC5odG1sIiwgZGlkU2hvd1Njcmlw
dFNvdXJjZSk7CisKKyAgICAgICAgICAgIGZ1bmN0aW9uIGRpZFNob3dTY3JpcHRTb3VyY2Uoc291
cmNlRnJhbWUpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgZnVuY3Rpb24gY2hlY2tT
Y3JpcHREb2VzTm90SGF2ZVNvdXJjZVVSTChzY3JpcHQpCisgICAgICAgICAgICAgICAgeworICAg
ICAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydFRydWUoIXNjcmlwdC5oYXNTb3Vy
Y2VVUkwsICJoYXNTb3VyY2VVUkwgZmxhZyBpcyBzZXQgZm9yIGlubGluZSBzY3JpcHQiKTsKKyAg
ICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICB2YXIgcGFuZWwgPSBXZWJJbnNwZWN0
b3IucGFuZWwoInNjcmlwdHMiKTsKKyAgICAgICAgICAgICAgICB2YXIgdWlTb3VyY2VDb2RlcyA9
IHBhbmVsLl93b3Jrc3BhY2UudWlTb3VyY2VDb2RlcygpOworICAgICAgICAgICAgICAgIGZvciAo
dmFyIGkgPSAwOyBpIDwgdWlTb3VyY2VDb2Rlcy5sZW5ndGg7ICsraSkKKyAgICAgICAgICAgICAg
ICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRUcnVlKHVpU291cmNlQ29kZXNbaV0ub3JpZ2luVVJM
KCkuaW5kZXhPZigiaW5saW5lU2NyaXB0VVJMLmpzIikgPT09IC0xLCAic291cmNlVVJMIGNvbW1l
bnQgaW4gaW5saW5lIHNjcmlwdCB3YXMgdXNlZCBhcyBhIHNjcmlwdCBuYW1lIik7CisgICAgICAg
ICAgICAgICAgZm9yRWFjaFNjcmlwdE1hdGNoaW5nVVJMKCJzb3VyY2UtdXJsLWNvbW1lbnQuaHRt
bCIsIGNoZWNrU2NyaXB0RG9lc05vdEhhdmVTb3VyY2VVUkwpCisgICAgICAgICAgICAgICAgbmV4
dCgpOworICAgICAgICAgICAgfQorICAgICAgICB9LAorCisgICAgICAgIGZ1bmN0aW9uIHRlc3RT
b3VyY2VVUkxDb21tZW50KG5leHQpCisgICAgICAgIHsKKyAgICAgICAgICAgIEluc3BlY3RvclRl
c3Quc2hvd1NjcmlwdFNvdXJjZSgiZXZhbFVSTC5qcyIsIGRpZFNob3dTY3JpcHRTb3VyY2UpOwor
ICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgic2V0VGltZW91dChkb0V2
YWwsIDApIik7CisKKyAgICAgICAgICAgIGZ1bmN0aW9uIGRpZFNob3dTY3JpcHRTb3VyY2Uoc291
cmNlRnJhbWUpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgZnVuY3Rpb24gY2hlY2tT
Y3JpcHRIYXNTb3VyY2VVUkwoc2NyaXB0KQorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAg
ICAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRUcnVlKHNjcmlwdC5oYXNTb3VyY2VVUkwsICJo
YXNTb3VyY2VVUkwgZmxhZyBpcyBub3Qgc2V0IGZvciBldmFsIHdpdGggc291cmNlVVJMIGNvbW1l
bnQiKTsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0
LmFkZFJlc3VsdChzb3VyY2VGcmFtZS50ZXh0RWRpdG9yLnRleHQoKSk7CisgICAgICAgICAgICAg
ICAgZm9yRWFjaFNjcmlwdE1hdGNoaW5nVVJMKCJldmFsVVJMLmpzIiwgY2hlY2tTY3JpcHRIYXNT
b3VyY2VVUkwpOworICAgICAgICAgICAgICAgIG5leHQoKTsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgfSwKKworICAgICAgICBmdW5jdGlvbiB0ZXN0U291cmNlVVJMQ29tbWVudEluRHluYW1pY1Nj
cmlwdChuZXh0KQorICAgICAgICB7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LnNob3dTY3Jp
cHRTb3VyY2UoImR5bmFtaWNTY3JpcHRVUkwuanMiLCBkaWRTaG93U2NyaXB0U291cmNlKTsKKyAg
ICAgICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoInNldFRpbWVvdXQoZG9EeW5h
bWljU2NyaXB0LCAwKSIpOworCisgICAgICAgICAgICBmdW5jdGlvbiBkaWRTaG93U2NyaXB0U291
cmNlKHNvdXJjZUZyYW1lKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGZ1bmN0aW9u
IGNoZWNrU2NyaXB0SGFzU291cmNlVVJMKHNjcmlwdCkKKyAgICAgICAgICAgICAgICB7CisgICAg
ICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0VHJ1ZShzY3JpcHQuaGFzU291cmNl
VVJMLCAiaGFzU291cmNlVVJMIGZsYWcgaXMgbm90IHNldCBmb3IgZHluYW1pYyBzY3JpcHQgd2l0
aCBzb3VyY2VVUkwgY29tbWVudCIpOworICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAg
ICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KHNvdXJjZUZyYW1lLnRleHRFZGl0b3IudGV4dCgp
KTsKKyAgICAgICAgICAgICAgICBmb3JFYWNoU2NyaXB0TWF0Y2hpbmdVUkwoImR5bmFtaWNTY3Jp
cHRVUkwuanMiLCBjaGVja1NjcmlwdEhhc1NvdXJjZVVSTCk7CisgICAgICAgICAgICAgICAgbmV4
dCgpOworICAgICAgICAgICAgfQorICAgICAgICB9LAorCisgICAgICAgIGZ1bmN0aW9uIHRlc3RO
b25SZWxhdGl2ZVVSTChuZXh0KQorICAgICAgICB7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0
LnNob3dTY3JpcHRTb3VyY2UoIi9qcy9ub25SZWxhdGl2ZVVSTC5qcyIsIGRpZFNob3dTY3JpcHRT
b3VyY2UpOworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgic2V0VGlt
ZW91dChkb0V2YWxXaXRoTm9uUmVsYXRpdmVVUkwsIDApIik7CisKKyAgICAgICAgICAgIGZ1bmN0
aW9uIGRpZFNob3dTY3JpcHRTb3VyY2Uoc291cmNlRnJhbWUpCisgICAgICAgICAgICB7CisgICAg
ICAgICAgICAgICAgZnVuY3Rpb24gY2hlY2tTY3JpcHRIYXNTb3VyY2VVUkwoc2NyaXB0KQorICAg
ICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRU
cnVlKHNjcmlwdC5oYXNTb3VyY2VVUkwsICJoYXNTb3VyY2VVUkwgZmxhZyBpcyBub3Qgc2V0IGZv
ciBldmFsIHdpdGggYSBub24tcmVsYXRpdmUgVVJMIGluIGEgc291cmNlVVJMIGNvbW1lbnQiKTsK
KyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJl
c3VsdChzb3VyY2VGcmFtZS50ZXh0RWRpdG9yLnRleHQoKSk7CisgICAgICAgICAgICAgICAgZm9y
RWFjaFNjcmlwdE1hdGNoaW5nVVJMKCJub25SZWxhdGl2ZVVSTC5qcyIsIGNoZWNrU2NyaXB0SGFz
U291cmNlVVJMKTsKKyAgICAgICAgICAgICAgICBuZXh0KCk7CisgICAgICAgICAgICB9CisgICAg
ICAgIH0sCisKKyAgICAgICAgZnVuY3Rpb24gdGVzdEhhc2hTeW50YXgobmV4dCkKKyAgICAgICAg
eworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5zaG93U2NyaXB0U291cmNlKCJoYXNoU3ludGF4
LmpzIiwgZGlkU2hvd1NjcmlwdFNvdXJjZSk7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV2
YWx1YXRlSW5QYWdlKCJzZXRUaW1lb3V0KGRvRXZhbFdpdGhIYXNoU3ludGF4LCAwKSIpOworCisg
ICAgICAgICAgICBmdW5jdGlvbiBkaWRTaG93U2NyaXB0U291cmNlKHNvdXJjZUZyYW1lKQorICAg
ICAgICAgICAgeworICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGNoZWNrU2NyaXB0SGFzU291cmNl
VVJMKHNjcmlwdCkKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgIEluc3Bl
Y3RvclRlc3QuYXNzZXJ0VHJ1ZShzY3JpcHQuaGFzU291cmNlVVJMLCAiaGFzU291cmNlVVJMIGZs
YWcgaXMgbm90IHNldCBmb3IgZXZhbCB3aXRoIGEgbm9uLXJlbGF0aXZlIFVSTCBpbiBhIHNvdXJj
ZVVSTCBjb21tZW50Iik7CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgSW5z
cGVjdG9yVGVzdC5hZGRSZXN1bHQoc291cmNlRnJhbWUudGV4dEVkaXRvci50ZXh0KCkpOworICAg
ICAgICAgICAgICAgIGZvckVhY2hTY3JpcHRNYXRjaGluZ1VSTCgiaGFzaFN5bnRheC5qcyIsIGNo
ZWNrU2NyaXB0SGFzU291cmNlVVJMKTsKKyAgICAgICAgICAgICAgICBuZXh0KCk7CisgICAgICAg
ICAgICB9CisgICAgICAgIH0KKyAgICBdKTsKK307CisKKzwvc2NyaXB0PgorCis8L2hlYWQ+CisK
Kzxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KKzxwPlRlc3RzIHRoYXQgZXZhbHMgd2l0aCBzb3Vy
Y2VVUkwgY29tbWVudCBhcmUgc2hvd24gaW4gc2NyaXB0cyBwYW5lbC48L3A+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZWxlbWVu
dHMvZG9tLWFnZW50LXF1ZXJ5LXNlbGVjdG9yLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2lu
c3BlY3Rvci1vYnNvbGV0ZS9lbGVtZW50cy9kb20tYWdlbnQtcXVlcnktc2VsZWN0b3ItZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmIyNDBiMDYyMmVkYzNhNzM2NDcwZTY0MmUwZjFmNTA5MjYwYWVj
NDEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZWxl
bWVudHMvZG9tLWFnZW50LXF1ZXJ5LXNlbGVjdG9yLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDIz
IEBACitUZXN0cyBET01BZ2VudC5xdWVyeVNlbGVjdG9yIGFuZCBET01BZ2VudC5xdWVyeVNlbGVj
dG9yQWxsLgorCisKK1J1bm5pbmc6IHRlc3REb2N1bWVudFF1ZXJ5U2VsZWN0b3IKK25vZGUgaWQ6
IGlkMQorCitSdW5uaW5nOiB0ZXN0RG9jdW1lbnRRdWVyeVNlbGVjdG9yQWxsCitub2RlIGlkOiBp
ZDEKK25vZGUgaWQ6IGlkMgorbm9kZSBpZDogaWQzCitub2RlIGlkOiBpZDQKK25vZGUgaWQ6IGlk
NQorbm9kZSBpZDogaWQ2CisKK1J1bm5pbmc6IHRlc3RRdWVyeVNlbGVjdG9yCitub2RlIGlkOiBp
ZDMKKworUnVubmluZzogdGVzdFF1ZXJ5U2VsZWN0b3JBbGwKK25vZGUgaWQ6IGlkMworbm9kZSBp
ZDogaWQ0Citub2RlIGlkOiBpZDUKK25vZGUgaWQ6IGlkNgorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZWxlbWVudHMvZG9tLWFnZW50LXF1ZXJ5LXNlbGVjdG9y
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZWxlbWVudHMvZG9tLWFnZW50
LXF1ZXJ5LXNlbGVjdG9yLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDRiMjZjMGRiOGVhNTg2NjQ4ZGM2ZWJl
M2Q1MGQ5ODEwY2M4ZDg0YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rv
ci1vYnNvbGV0ZS9lbGVtZW50cy9kb20tYWdlbnQtcXVlcnktc2VsZWN0b3IuaHRtbApAQCAtMCww
ICsxLDgxIEBACis8aHRtbD4KKzxoZWFkPgorCis8c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0
cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzLXRlc3QuanMiPjwvc2NyaXB0PgorPHNj
cmlwdD4KKworZnVuY3Rpb24gdGVzdCgpCit7CisgICAgSW5zcGVjdG9yVGVzdC5zZWxlY3ROb2Rl
V2l0aElkKCJjb250YWluZXIiLCBzdGVwMSk7CisKKyAgICBmdW5jdGlvbiBzdGVwMShub2RlKQor
ICAgIHsKKyAgICAgICAgdmFyIGNvbnRhaW5lcklkID0gbm9kZS5pZDsKKyAgICAgICAgdmFyIGRv
Y3VtZW50SWQgPSBub2RlLm93bmVyRG9jdW1lbnQuaWQ7CisKKyAgICAgICAgSW5zcGVjdG9yVGVz
dC5ydW5UZXN0U3VpdGUoWworICAgICAgICAgICAgZnVuY3Rpb24gdGVzdERvY3VtZW50UXVlcnlT
ZWxlY3RvcihuZXh0KQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIERPTUFnZW50LnF1
ZXJ5U2VsZWN0b3IoZG9jdW1lbnRJZCwgImRpdi5mb28iLCBkdW1wTm9kZXMuYmluZChudWxsLCBu
ZXh0KSk7CisgICAgICAgICAgICB9LAorCisgICAgICAgICAgICBmdW5jdGlvbiB0ZXN0RG9jdW1l
bnRRdWVyeVNlbGVjdG9yQWxsKG5leHQpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAg
RE9NQWdlbnQucXVlcnlTZWxlY3RvckFsbChkb2N1bWVudElkLCAiZGl2LmZvbyIsIGR1bXBOb2Rl
cy5iaW5kKG51bGwsIG5leHQpKTsKKyAgICAgICAgICAgIH0sCisKKyAgICAgICAgICAgIGZ1bmN0
aW9uIHRlc3RRdWVyeVNlbGVjdG9yKG5leHQpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAg
ICAgRE9NQWdlbnQucXVlcnlTZWxlY3Rvcihjb250YWluZXJJZCwgImRpdi5mb28iLCBkdW1wTm9k
ZXMuYmluZChudWxsLCBuZXh0KSk7CisgICAgICAgICAgICB9LAorCisgICAgICAgICAgICBmdW5j
dGlvbiB0ZXN0UXVlcnlTZWxlY3RvckFsbChuZXh0KQorICAgICAgICAgICAgeworICAgICAgICAg
ICAgICAgIERPTUFnZW50LnF1ZXJ5U2VsZWN0b3JBbGwoY29udGFpbmVySWQsICJkaXYuZm9vIiwg
ZHVtcE5vZGVzLmJpbmQobnVsbCwgbmV4dCkpOworICAgICAgICAgICAgfQorICAgICAgICBdKTsK
KyAgICB9CisKKyAgICBmdW5jdGlvbiBkdW1wTm9kZXMobmV4dCwgZXJyb3IsIG5vZGVJZHMpCisg
ICAgeworICAgICAgICBpZiAoZXJyb3IpIHsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRk
UmVzdWx0KGVycm9yKTsKKyAgICAgICAgICAgIG5leHQoKTsKKyAgICAgICAgICAgIHJldHVybjsK
KyAgICAgICAgfQorCisgICAgICAgIGlmICghKG5vZGVJZHMgaW5zdGFuY2VvZiBBcnJheSkpCisg
ICAgICAgICAgICBub2RlSWRzID0gW25vZGVJZHNdOworCisgICAgICAgIGZvciAodmFyIGkgPSAw
OyBpIDwgbm9kZUlkcy5sZW5ndGg7ICsraSkgeworICAgICAgICAgICAgaWYgKCFub2RlSWRzW2ld
KQorICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJubyByZXN1bHRzIik7
CisgICAgICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgICAgICB2YXIgbm9kZSA9IFdlYkluc3Bl
Y3Rvci5kb21BZ2VudC5ub2RlRm9ySWQobm9kZUlkc1tpXSk7CisgICAgICAgICAgICAgICAgSW5z
cGVjdG9yVGVzdC5hZGRSZXN1bHQoIm5vZGUgaWQ6ICIgKyBub2RlLmdldEF0dHJpYnV0ZSgiaWQi
KSk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgbmV4dCgpOworICAgIH0KK30K
Kzwvc2NyaXB0PgorPC9oZWFkPgorCis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Cis8cD4KK1Rl
c3RzIERPTUFnZW50LnF1ZXJ5U2VsZWN0b3IgYW5kIERPTUFnZW50LnF1ZXJ5U2VsZWN0b3JBbGwu
Cis8L3A+CisKKzxkaXYgaWQ9ImlkMSIgY2xhc3M9ImZvbyI+PC9kaXY+Cis8ZGl2IGlkPSJpZDIi
IGNsYXNzPSJmb28iPjwvZGl2PgorCis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxkaXYgaWQ9
ImlkMyIgY2xhc3M9ImZvbyI+PC9kaXY+CisgICAgPGRpdiBpZD0iaWQ0IiBjbGFzcz0iZm9vIj48
L2Rpdj4KKyAgICA8ZGl2IGlkPSJpZDUiIGNsYXNzPSJmb28iPjwvZGl2PgorICAgIDxkaXYgaWQ9
ImlkNiIgY2xhc3M9ImZvbyI+PC9kaXY+Cis8L2Rpdj4KKworPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2VsZW1lbnRzL2RvbS1zZWFy
Y2gtY3Jhc2gtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2Vs
ZW1lbnRzL2RvbS1zZWFyY2gtY3Jhc2gtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZkODk5OGEy
YTUzNDQzMTQ3ZTc0NjIwNmMzOTMxMGY0NDMxNmZlN2UKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZWxlbWVudHMvZG9tLXNlYXJjaC1jcmFzaC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSw4IEBACitUZXN0cyB0aGF0IGVsZW1lbnRzIHBhbmVsIHNlYXJj
aCBpcyBub3QgY3Jhc2hpbmcgb24gZG9jdW1lbnRFbGVtZW50LWxlc3MgY2FzZXMuCisKKworCitS
dW5uaW5nOiB0ZXN0U2V0VXAKKworUnVubmluZzogdGVzdE5vQ3Jhc2gKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2VsZW1lbnRzL2RvbS1zZWFyY2gtY3Jhc2gu
aHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9lbGVtZW50cy9kb20tc2VhcmNo
LWNyYXNoLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDY4NDFiYTUyOWNhYzA2ZTAyNjM1MzJmNGU1ZDJhNjQ3
MzdmN2M1MQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0
ZS9lbGVtZW50cy9kb20tc2VhcmNoLWNyYXNoLmh0bWwKQEAgLTAsMCArMSwyOSBAQAorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0
b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorZnVuY3Rpb24gdGVzdCgpCit7CisgICAg
SW5zcGVjdG9yVGVzdC5ydW5UZXN0U3VpdGUoWworICAgICAgICBmdW5jdGlvbiB0ZXN0U2V0VXAo
bmV4dCkKKyAgICAgICAgeworICAgICAgICAgICAgV2ViSW5zcGVjdG9yLnNob3dQYW5lbCgiZWxl
bWVudHMiKTsKKyAgICAgICAgICAgIFdlYkluc3BlY3Rvci5kb21BZ2VudC5yZXF1ZXN0RG9jdW1l
bnQobmV4dCk7CisgICAgICAgIH0sCisKKyAgICAgICAgZnVuY3Rpb24gdGVzdE5vQ3Jhc2gobmV4
dCkKKyAgICAgICAgeworICAgICAgICAgICAgV2ViSW5zcGVjdG9yLmRvbUFnZW50LnBlcmZvcm1T
ZWFyY2goIkZvb0JhciIsIG5leHQpOworICAgICAgICB9CisgICAgXSk7Cit9Cis8L3NjcmlwdD4K
KzwvaGVhZD4KKworPGJvZHk+Cis8cD4KK1Rlc3RzIHRoYXQgZWxlbWVudHMgcGFuZWwgc2VhcmNo
IGlzIG5vdCBjcmFzaGluZyBvbiBkb2N1bWVudEVsZW1lbnQtbGVzcyBjYXNlcy4KKzwvcD4KKzxp
ZnJhbWUgc3JjPSJyZXNvdXJjZXMvZG9tLXNlYXJjaC1jcmFzaC1pZnJhbWUuaHRtbCIgb25sb2Fk
PSJydW5UZXN0KCkiPjwvaWZyYW1lPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2VsZW1lbnRzL2VkaXQtc3R5bGUtYXR0cmlidXRl
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9lbGVtZW50cy9l
ZGl0LXN0eWxlLWF0dHJpYnV0ZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTY1MjM4NGMyNzU1
N2U3ODk0ZDM0NGQyNTNmNWRkMDg1YWU1ZjA3NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9lbGVtZW50cy9lZGl0LXN0eWxlLWF0dHJpYnV0ZS1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMSBAQAorVGVzdHMgdGhhdCBzdHlsZSBtb2RpZmljYXRpb24g
Z2VuZXJhdGVzIGF0dHJpYnV0ZSB1cGRhdGVkIGV2ZW50IG9ubHkgd2hlbiBhdHRyaWJ1dGUgaXMg
YWN0dWFsbHkgY2hhbmdlZC4KKworCitSdW5uaW5nOiB0ZXN0U2V0VXAKKworUnVubmluZzogdGVz
dFNldE5ld1ZhbHVlCitXZWJJbnNwZWN0b3IuRE9NQWdlbnQuRXZlbnRzLkF0dHJNb2RpZmllZCBz
aG91bGQgYmUgaXNzdWVkCisKK1J1bm5pbmc6IHRlc3RTZXRTYW1lVmFsdWUKK1dlYkluc3BlY3Rv
ci5ET01Ob2RlLnByb3RvdHlwZS5fc2V0QXR0cmlidXRlc1BheWxvYWQgc2hvdWxkIGJlIGNhbGxl
ZAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZWxlbWVudHMv
ZWRpdC1zdHlsZS1hdHRyaWJ1dGUuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0
ZS9lbGVtZW50cy9lZGl0LXN0eWxlLWF0dHJpYnV0ZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY3ZjdjYTM0
N2M2NTMwOGU2MDlkZDdmZTE4MmU4M2FlOTUxZDViMWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZWxlbWVudHMvZWRpdC1zdHlsZS1hdHRyaWJ1dGUu
aHRtbApAQCAtMCwwICsxLDc4IEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9lbGVtZW50cy10ZXN0LmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQ+CisKK2Z1bmN0aW9uIHRlc3RTZXROZXdWYWx1ZSgpCit7CisgICAgZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm5vZGUtc2V0LW5ldy12YWx1ZSIpLnN0eWxlLnNldFByb3Bl
cnR5KCJjb2xvciIsICJibHVlIik7Cit9CisKK2Z1bmN0aW9uIHRlc3RTZXRTYW1lVmFsdWUoKQor
eworICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJub2RlLXNldC1zYW1lLXZhbHVlIikuc3R5
bGUuc2V0UHJvcGVydHkoImNvbG9yIiwgInJlZCIpOworfQorCitmdW5jdGlvbiB0ZXN0KCkKK3sK
KyAgICAvLyBTYXZlIHRpbWUgb24gc3R5bGUgdXBkYXRlcy4KKyAgICBXZWJJbnNwZWN0b3Iuc2hv
d1BhbmVsKCJlbGVtZW50cyIpOworICAgIFdlYkluc3BlY3Rvci5TdHlsZXNTaWRlYmFyUGFuZS5w
cm90b3R5cGUudXBkYXRlID0gZnVuY3Rpb24oKSB7fTsKKyAgICBXZWJJbnNwZWN0b3IuTWV0cmlj
c1NpZGViYXJQYW5lLnByb3RvdHlwZS51cGRhdGUgPSBmdW5jdGlvbigpIHt9OworCisgICAgSW5z
cGVjdG9yVGVzdC5ydW5UZXN0U3VpdGUoWworICAgICAgICBmdW5jdGlvbiB0ZXN0U2V0VXAobmV4
dCkKKyAgICAgICAgeworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBhbmRFbGVtZW50c1Ry
ZWUobmV4dCk7CisgICAgICAgIH0sCisKKyAgICAgICAgZnVuY3Rpb24gdGVzdFNldE5ld1ZhbHVl
KG5leHQpCisgICAgICAgIHsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBh
Z2UoInRlc3RTZXROZXdWYWx1ZSgpIik7CisKKyAgICAgICAgICAgIFdlYkluc3BlY3Rvci5kb21B
Z2VudC5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5ET01BZ2VudC5FdmVudHMuQXR0ck1v
ZGlmaWVkLCBsaXN0ZW5lcik7CisgICAgICAgICAgICBmdW5jdGlvbiBsaXN0ZW5lcihldmVudCkK
KyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgi
V2ViSW5zcGVjdG9yLkRPTUFnZW50LkV2ZW50cy5BdHRyTW9kaWZpZWQgc2hvdWxkIGJlIGlzc3Vl
ZCIpOworICAgICAgICAgICAgICAgIFdlYkluc3BlY3Rvci5kb21BZ2VudC5yZW1vdmVFdmVudExp
c3RlbmVyKFdlYkluc3BlY3Rvci5ET01BZ2VudC5FdmVudHMuQXR0ck1vZGlmaWVkLCBsaXN0ZW5l
cik7CisgICAgICAgICAgICAgICAgbmV4dCgpOworICAgICAgICAgICAgfQorICAgICAgICB9LAor
CisgICAgICAgIGZ1bmN0aW9uIHRlc3RTZXRTYW1lVmFsdWUobmV4dCkKKyAgICAgICAgeworICAg
ICAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgidGVzdFNldFNhbWVWYWx1ZSgp
Iik7CisKKyAgICAgICAgICAgIFdlYkluc3BlY3Rvci5kb21BZ2VudC5hZGRFdmVudExpc3RlbmVy
KFdlYkluc3BlY3Rvci5ET01BZ2VudC5FdmVudHMuQXR0ck1vZGlmaWVkLCBsaXN0ZW5lcik7Cisg
ICAgICAgICAgICBmdW5jdGlvbiBsaXN0ZW5lcihldmVudCkKKyAgICAgICAgICAgIHsKKyAgICAg
ICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiV2ViSW5zcGVjdG9yLkRPTUFnZW50
LkV2ZW50cy5BdHRyTW9kaWZpZWQgc2hvdWxkIG5vdCBiZSBpc3N1ZWQiKTsKKyAgICAgICAgICAg
ICAgICBXZWJJbnNwZWN0b3IuZG9tQWdlbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0
b3IuRE9NQWdlbnQuRXZlbnRzLkF0dHJNb2RpZmllZCwgbGlzdGVuZXIpOworICAgICAgICAgICAg
fQorCisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFNuaWZmZXIoV2ViSW5zcGVjdG9yLkRP
TU5vZGUucHJvdG90eXBlLCAiX3NldEF0dHJpYnV0ZXNQYXlsb2FkIiwgY2FsbGJhY2spOworICAg
ICAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2soKQorICAgICAgICAgICAgeworICAgICAgICAgICAg
ICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJXZWJJbnNwZWN0b3IuRE9NTm9kZS5wcm90b3R5
cGUuX3NldEF0dHJpYnV0ZXNQYXlsb2FkIHNob3VsZCBiZSBjYWxsZWQiKTsKKyAgICAgICAgICAg
ICAgICBXZWJJbnNwZWN0b3IuZG9tQWdlbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0
b3IuRE9NQWdlbnQuRXZlbnRzLkF0dHJNb2RpZmllZCwgbGlzdGVuZXIpOworICAgICAgICAgICAg
ICAgIG5leHQoKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIF0pOworfQorCis8L3Nj
cmlwdD4KKzwvaGVhZD4KKworPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgorPHA+CitUZXN0cyB0
aGF0IHN0eWxlIG1vZGlmaWNhdGlvbiBnZW5lcmF0ZXMgYXR0cmlidXRlIHVwZGF0ZWQgZXZlbnQg
b25seSB3aGVuIGF0dHJpYnV0ZSBpcyBhY3R1YWxseSBjaGFuZ2VkLgorPC9wPgorCis8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxkaXYgaWQ9Im5vZGUtc2V0LW5ldy12YWx1ZSIgc3R5bGU9ImNv
bG9yOnJlZCI+PC9kaXY+CisgICAgPGRpdiBpZD0ibm9kZS1zZXQtc2FtZS12YWx1ZSIgc3R5bGU9
ImNvbG9yOnJlZCI+PC9kaXY+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9lbGVtZW50cy9lbGVtZW50cy1wYW5lbC1y
ZWxvYWQtYXNzZXJ0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0
ZS9lbGVtZW50cy9lbGVtZW50cy1wYW5lbC1yZWxvYWQtYXNzZXJ0LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi45NDMwNjA0NWIyNzU1Y2MzZjRhYjRiMzBmZDQ3OTE4OTJkYjAwZDNkCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2VsZW1lbnRzL2VsZW1l
bnRzLXBhbmVsLXJlbG9hZC1hc3NlcnQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGVz
dHMgdGhhdCB0aGUgaW5zcGVjdGVkIHBhZ2UgZG9lcyBub3QgY3Jhc2ggaW4gYSBkZWJ1ZyBidWls
ZCB3aGVuIHJlbG9hZGluZyBhIHBhZ2UgY29udGFpbmluZyBzaGFkb3cgRE9NIHdpdGggb3BlbiBp
bnNwZWN0b3IuIEJ1ZyA4NDE1NC4KKworCitQYWdlIHJlbG9hZGVkLgorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZWxlbWVudHMvZWxlbWVudHMtcGFuZWwtcmVs
b2FkLWFzc2VydC5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2VsZW1lbnRz
L2VsZW1lbnRzLXBhbmVsLXJlbG9hZC1hc3NlcnQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hNTc0ZjBlOTJk
MWQyYjU0NWY0MjhjOGEwNjEzMzQwZDg1OWE4ZDI2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2VsZW1lbnRzL2VsZW1lbnRzLXBhbmVsLXJlbG9hZC1h
c3NlcnQuaHRtbApAQCAtMCwwICsxLDM0IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL1cz
Qy8vRFREIEhUTUwgNC4wMSBUcmFuc2l0aW9uYWwvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIv
aHRtbDQvbG9vc2UuZHRkIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vaHR0
cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzLXRlc3QuanMiPjwvc2NyaXB0
PgorPHNjcmlwdD4KKworZnVuY3Rpb24gdGVzdCgpCit7CisgICAgSW5zcGVjdG9yVGVzdC5leHBh
bmRFbGVtZW50c1RyZWUoc3RlcDEpOworCisgICAgZnVuY3Rpb24gc3RlcDEoKQorICAgIHsKKyAg
ICAgICAgSW5zcGVjdG9yVGVzdC5yZWxvYWRQYWdlKHN0ZXAyKTsKKyAgICB9CisKKyAgICBmdW5j
dGlvbiBzdGVwMigpCisgICAgeworICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgp
OworICAgIH0KK30KKworPC9zY3JpcHQ+Cis8L2hlYWQ+CisKKzxib2R5IG9ubG9hZD0icnVuVGVz
dCgpIj4KKzxwPgorVGVzdHMgdGhhdCB0aGUgaW5zcGVjdGVkIHBhZ2UgZG9lcyBub3QgY3Jhc2gg
aW4gYSBkZWJ1ZyBidWlsZCB3aGVuIHJlbG9hZGluZyBhIHBhZ2UgY29udGFpbmluZyBzaGFkb3cg
RE9NIHdpdGggb3BlbiBpbnNwZWN0b3IuIDxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD04NDE1NCI+QnVnIDg0MTU0PC9hPi4KKzwvcD4KKworPGlucHV0IHR5
cGU9InJhZGlvIj4KKworPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yLW9ic29sZXRlL2VsZW1lbnRzL2VsZW1lbnRzLXBhbmVsLXNlYXJjaC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZWxlbWVudHMvZWxlbWVudHMt
cGFuZWwtc2VhcmNoLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xOTQ5YjE3MmYxYmJkOTE3NTVm
ZGIwZWE2NzY1NzFmNmQxZjQxMzExCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yLW9ic29sZXRlL2VsZW1lbnRzL2VsZW1lbnRzLXBhbmVsLXNlYXJjaC1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSw1MCBAQAorVGVzdHMgdGhhdCBlbGVtZW50cyBwYW5lbCBzZWFyY2ggaXMg
cmV0dXJuaW5nIHByb3BlciByZXN1bHRzLgorCitGb29CYXIKKworRm91bmQgYnkgc2VsZWN0b3IK
KworUnVubmluZzogdGVzdFNldFVwCisKK1J1bm5pbmc6IHRlc3RQbGFpblRleHQKK0YgbyBvIEIg
YSByCisKK1J1bm5pbmc6IHRlc3RQYXJ0aWFsVGV4dAorRiBvIG8gQiBhIHIKKworUnVubmluZzog
dGVzdFN0YXJ0VGFnCis8IGkgbiBwIHUgdCAgIHYgYSBsIHUgZSA9ICIgSSBuIHAgdSB0IFYgYSBs
ICIgPgorCitSdW5uaW5nOiB0ZXN0RW5kVGFnCis8IGkgbiBwIHUgdCAgIHYgYSBsIHUgZSA9ICIg
SSBuIHAgdSB0IFYgYSBsICIgPgorCitSdW5uaW5nOiB0ZXN0UGFydGlhbFRhZworPCBpIG4gcCB1
IHQgICB2IGEgbCB1IGUgPSAiIEkgbiBwIHUgdCBWIGEgbCAiID4KKworUnVubmluZzogdGVzdFBh
cnRpYWxBYnNlbnRUYWdTdGFydAorTm90aGluZyBmb3VuZAorCitSdW5uaW5nOiB0ZXN0UGFydGlh
bEFic2VudFRhZ0VuZAorTm90aGluZyBmb3VuZAorCitSdW5uaW5nOiB0ZXN0RnVsbFRhZworPCBp
IG4gcCB1IHQgICB2IGEgbCB1IGUgPSAiIEkgbiBwIHUgdCBWIGEgbCAiID4KKworUnVubmluZzog
dGVzdEV4YWN0QXR0cmlidXRlTmFtZQorPCBpIG4gcCB1IHQgICB2IGEgbCB1IGUgPSAiIEkgbiBw
IHUgdCBWIGEgbCAiID4KKworUnVubmluZzogdGVzdEV4YWN0QXR0cmlidXRlVmFsX3VlCis8IGkg
biBwIHUgdCAgIHYgYSBsIHUgZSA9ICIgSSBuIHAgdSB0IFYgYSBsICIgPgorCitSdW5uaW5nOiB0
ZXN0RXhhY3RBdHRyaWJ1dGVWYWxfdWVXaXRoUXVvdGVzCis8IGQgaSB2ICAgYSB0IHQgciA9ICIg
ZiBvIG8gIiA+IDwgLyBkIGkgdiA+CisKK1J1bm5pbmc6IHRlc3RQYXJ0aWFsQXR0cmlidXRlVmFs
X3VlCis8IGkgbiBwIHUgdCAgIHYgYSBsIHUgZSA9ICIgSSBuIHAgdSB0IFYgYSBsICIgPgorCitS
dW5uaW5nOiB0ZXN0WFBhdGhBdHRyaWJ1dGUKKzwgZCBpIHYgICBhIHQgdCByID0gIiBmIG8gbyAi
ID4gPCAvIGQgaSB2ID4KKworUnVubmluZzogdGVzdFNlbGVjdG9yCis8IHMgcCBhIG4gPiBGIG8g
dSBuIGQgICBiIHkgICBzIGUgbCBlIGMgdCBvIHIgPCAvIHMgcCBhIG4gPgorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZWxlbWVudHMvZWxlbWVudHMtcGFuZWwt
c2VhcmNoLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZWxlbWVudHMvZWxl
bWVudHMtcGFuZWwtc2VhcmNoLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMWU4Zjc5NWY1MGIwMjg3MTA3YjE1
MjZhMDBhZTBiYzZkMGUwNzBlYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci1vYnNvbGV0ZS9lbGVtZW50cy9lbGVtZW50cy1wYW5lbC1zZWFyY2guaHRtbApAQCAtMCww
ICsxLDEzMCBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEg
VHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL2h0bWw0L2xvb3NlLmR0ZCI+
Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9y
L2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CitmdW5jdGlvbiB0ZXN0KCkK
K3sKKyAgICBXZWJJbnNwZWN0b3Iuc2hvd1BhbmVsKCJlbGVtZW50cyIpOworCisgICAgZnVuY3Rp
b24gc2VhcmNoQ2FsbGJhY2sobmV4dCwgcmVzdWx0Q291bnQpCisgICAgeworICAgICAgICBpZiAo
cmVzdWx0Q291bnQgPT0gMCkgeworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQo
Ik5vdGhpbmcgZm91bmQiKTsKKyAgICAgICAgICAgIFdlYkluc3BlY3Rvci5kb21BZ2VudC5jYW5j
ZWxTZWFyY2goKTsKKyAgICAgICAgICAgIG5leHQoKTsKKyAgICAgICAgfQorCisgICAgICAgIGZv
ciAodmFyIGkgPSAwOyBpIDwgcmVzdWx0Q291bnQ7ICsraSkKKyAgICAgICAgICAgIFdlYkluc3Bl
Y3Rvci5kb21BZ2VudC5zZWFyY2hSZXN1bHQoaSwgc2VhcmNoUmVzdWx0Q2FsbGJhY2suYmluZCh0
aGlzLCBpICsgMSA9PT0gcmVzdWx0Q291bnQpKTsKKworICAgICAgICBmdW5jdGlvbiBzZWFyY2hS
ZXN1bHRDYWxsYmFjayhpc0xhc3RJdGVtLCBub2RlKQorICAgICAgICB7CisgICAgICAgICAgICBu
b2RlLmdldE91dGVySFRNTChhZGRTZWFyY2hSZXN1bHQuYmluZCh0aGlzLCBpc0xhc3RJdGVtKSk7
CisgICAgICAgIH0KKworICAgICAgICBmdW5jdGlvbiBhZGRTZWFyY2hSZXN1bHQoaXNMYXN0SXRl
bSwgZXJyb3IsIG1hcmt1cFZhX2x1ZSkKKyAgICAgICAgeworICAgICAgICAgICAgSW5zcGVjdG9y
VGVzdC5hZGRSZXN1bHQobWFya3VwVmFfbHVlLnNwbGl0KCIiKS5qb2luKCIgIikpOworICAgICAg
ICAgICAgaWYgKGlzTGFzdEl0ZW0pIHsKKyAgICAgICAgICAgICAgICBXZWJJbnNwZWN0b3IuZG9t
QWdlbnQuY2FuY2VsU2VhcmNoKCk7CisgICAgICAgICAgICAgICAgbmV4dCgpOworICAgICAgICAg
ICAgfQorICAgICAgICB9CisgICAgfQorCisgICAgSW5zcGVjdG9yVGVzdC5ydW5UZXN0U3VpdGUo
WworICAgICAgICBmdW5jdGlvbiB0ZXN0U2V0VXAobmV4dCkKKyAgICAgICAgeworICAgICAgICAg
ICAgV2ViSW5zcGVjdG9yLmRvbUFnZW50LnJlcXVlc3REb2N1bWVudChuZXh0KTsKKyAgICAgICAg
fSwKKworICAgICAgICBmdW5jdGlvbiB0ZXN0UGxhaW5UZXh0KG5leHQpCisgICAgICAgIHsKKyAg
ICAgICAgICAgIFdlYkluc3BlY3Rvci5kb21BZ2VudC5wZXJmb3JtU2VhcmNoKCJGbyIgKyAibyIg
KyAiQmFyIiwgc2VhcmNoQ2FsbGJhY2suYmluZCh0aGlzLCBuZXh0KSk7CisgICAgICAgIH0sCisK
KyAgICAgICAgZnVuY3Rpb24gdGVzdFBhcnRpYWxUZXh0KG5leHQpCisgICAgICAgIHsKKyAgICAg
ICAgICAgIFdlYkluc3BlY3Rvci5kb21BZ2VudC5wZXJmb3JtU2VhcmNoKCJvbyIgKyAiQmEiLCBz
ZWFyY2hDYWxsYmFjay5iaW5kKHRoaXMsIG5leHQpKTsKKyAgICAgICAgfSwKKworICAgICAgICBm
dW5jdGlvbiB0ZXN0U3RhcnRUYWcobmV4dCkKKyAgICAgICAgeworICAgICAgICAgICAgV2ViSW5z
cGVjdG9yLmRvbUFnZW50LnBlcmZvcm1TZWFyY2goIjxpbnB1IiArICJ0Iiwgc2VhcmNoQ2FsbGJh
Y2suYmluZCh0aGlzLCBuZXh0KSk7CisgICAgICAgIH0sCisKKyAgICAgICAgZnVuY3Rpb24gdGVz
dEVuZFRhZyhuZXh0KQorICAgICAgICB7CisgICAgICAgICAgICBXZWJJbnNwZWN0b3IuZG9tQWdl
bnQucGVyZm9ybVNlYXJjaCgibnB1IiArICJ0PiIsIHNlYXJjaENhbGxiYWNrLmJpbmQodGhpcywg
bmV4dCkpOworICAgICAgICB9LAorCisgICAgICAgIGZ1bmN0aW9uIHRlc3RQYXJ0aWFsVGFnKG5l
eHQpCisgICAgICAgIHsKKyAgICAgICAgICAgIFdlYkluc3BlY3Rvci5kb21BZ2VudC5wZXJmb3Jt
U2VhcmNoKCJucHUiICsgInQiLCBzZWFyY2hDYWxsYmFjay5iaW5kKHRoaXMsIG5leHQpKTsKKyAg
ICAgICAgfSwKKworICAgICAgICBmdW5jdGlvbiB0ZXN0UGFydGlhbEFic2VudFRhZ1N0YXJ0KG5l
eHQpCisgICAgICAgIHsKKyAgICAgICAgICAgIFdlYkluc3BlY3Rvci5kb21BZ2VudC5wZXJmb3Jt
U2VhcmNoKCI8bnB1IiArICJ0Iiwgc2VhcmNoQ2FsbGJhY2suYmluZCh0aGlzLCBuZXh0KSk7Cisg
ICAgICAgIH0sCisKKyAgICAgICAgZnVuY3Rpb24gdGVzdFBhcnRpYWxBYnNlbnRUYWdFbmQobmV4
dCkKKyAgICAgICAgeworICAgICAgICAgICAgV2ViSW5zcGVjdG9yLmRvbUFnZW50LnBlcmZvcm1T
ZWFyY2goIm5wdSIgKyAiPiIsIHNlYXJjaENhbGxiYWNrLmJpbmQodGhpcywgbmV4dCkpOworICAg
ICAgICB9LAorCisgICAgICAgIGZ1bmN0aW9uIHRlc3RGdWxsVGFnKG5leHQpCisgICAgICAgIHsK
KyAgICAgICAgICAgIFdlYkluc3BlY3Rvci5kb21BZ2VudC5wZXJmb3JtU2VhcmNoKCI8aW5wdSIg
KyAidD4iLCBzZWFyY2hDYWxsYmFjay5iaW5kKHRoaXMsIG5leHQpKTsKKyAgICAgICAgfSwKKwor
ICAgICAgICBmdW5jdGlvbiB0ZXN0RXhhY3RBdHRyaWJ1dGVOYW1lKG5leHQpCisgICAgICAgIHsK
KyAgICAgICAgICAgIFdlYkluc3BlY3Rvci5kb21BZ2VudC5wZXJmb3JtU2VhcmNoKCJ2YWx1IiAr
ICJlIiwgc2VhcmNoQ2FsbGJhY2suYmluZCh0aGlzLCBuZXh0KSk7CisgICAgICAgIH0sCisKKyAg
ICAgICAgZnVuY3Rpb24gdGVzdEV4YWN0QXR0cmlidXRlVmFsX3VlKG5leHQpCisgICAgICAgIHsK
KyAgICAgICAgICAgIFdlYkluc3BlY3Rvci5kb21BZ2VudC5wZXJmb3JtU2VhcmNoKCJJbiIgKyAi
cHV0VmEiICsgImwiLCBzZWFyY2hDYWxsYmFjay5iaW5kKHRoaXMsIG5leHQpKTsKKyAgICAgICAg
fSwKKworICAgICAgICBmdW5jdGlvbiB0ZXN0RXhhY3RBdHRyaWJ1dGVWYWxfdWVXaXRoUXVvdGVz
KG5leHQpCisgICAgICAgIHsKKyAgICAgICAgICAgIFdlYkluc3BlY3Rvci5kb21BZ2VudC5wZXJm
b3JtU2VhcmNoKCJcImZvIiArICJvXCIiLCBzZWFyY2hDYWxsYmFjay5iaW5kKHRoaXMsIG5leHQp
KTsKKyAgICAgICAgfSwKKworICAgICAgICBmdW5jdGlvbiB0ZXN0UGFydGlhbEF0dHJpYnV0ZVZh
bF91ZShuZXh0KQorICAgICAgICB7CisgICAgICAgICAgICBXZWJJbnNwZWN0b3IuZG9tQWdlbnQu
cGVyZm9ybVNlYXJjaCgibiIgKyAicHV0VmEiICsgImwiLCBzZWFyY2hDYWxsYmFjay5iaW5kKHRo
aXMsIG5leHQpKTsKKyAgICAgICAgfSwKKworICAgICAgICBmdW5jdGlvbiB0ZXN0WFBhdGhBdHRy
aWJ1dGUobmV4dCkKKyAgICAgICAgeworICAgICAgICAgICAgV2ViSW5zcGVjdG9yLmRvbUFnZW50
LnBlcmZvcm1TZWFyY2goIi8vaHRtbCIgKyAiLy9AYXR0ciIsIHNlYXJjaENhbGxiYWNrLmJpbmQo
dGhpcywgbmV4dCkpOworICAgICAgICB9LAorCisgICAgICAgIGZ1bmN0aW9uIHRlc3RTZWxlY3Rv
cihuZXh0KQorICAgICAgICB7CisgICAgICAgICAgICBXZWJJbnNwZWN0b3IuZG9tQWdlbnQucGVy
Zm9ybVNlYXJjaCgiZCIgKyAiaXYuZGl2Y2xhc3Mgc3BhbiIsIHNlYXJjaENhbGxiYWNrLmJpbmQo
dGhpcywgbmV4dCkpOworICAgICAgICB9CisgICAgXSk7CisKK30KKzwvc2NyaXB0PgorPC9oZWFk
PgorCis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Cis8cD4KK1Rlc3RzIHRoYXQgZWxlbWVudHMg
cGFuZWwgc2VhcmNoIGlzIHJldHVybmluZyBwcm9wZXIgcmVzdWx0cy4KKzwvcD4KKworPGRpdj5G
b29CYXI8L2Rpdj4KKzxpbnB1dCB2YWx1ZT0iSW5wdXRWYWwiPgorPGRpdiBhdHRyPSJmb28iPjwv
ZGl2PgorPGRpdiBpZD0idGVybWluYXRvciI+PC9kaXY+Cis8ZGl2IGNsYXNzPSJkaXZjbGFzcyI+
PHNwYW4+Rm91bmQgYnkgc2VsZWN0b3I8L3NwYW4+PC9kaXY+Cis8c3BhbiBjbGFzcz0iZm9vIGtv
byI+PC9zcGFuPgorCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bnNwZWN0b3Itb2Jzb2xldGUvZWxlbWVudHMvZWxlbWVudHMtcGFuZWwtc3R5bGVzLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9lbGVtZW50cy9lbGVtZW50cy1w
YW5lbC1zdHlsZXMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZiMjZlM2VjOTAxNGZkNGQ2OTRi
ZjZhZmU5ZGU3NmY4N2IzMTUyZmMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3Itb2Jzb2xldGUvZWxlbWVudHMvZWxlbWVudHMtcGFuZWwtc3R5bGVzLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDE0NCBAQAorVGVzdHMgdGhhdCBlbGVtZW50cyBwYW5lbCBzaG93cyBwcm9w
ZXIgc3R5bGVzIGluIHRoZSBzaWRlYmFyIHBhbmVsLgorCitGb28KK1tleHBhbmRlZF0gCistd2Vi
a2l0LWZvbnQtc21vb3RoaW5nOiBzdWJwaXhlbC1hbnRpYWxpYXNlZDsKKyAgICBlbGVtZW50LnN0
eWxlIC0gc3VicGl4ZWwtYW50aWFsaWFzZWQgCitib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA1
cHg7CisgICAgLmZvbyAtIDVweCBlbGVtZW50cy1wYW5lbC1zdHlsZXMuY3NzOjE2Citib3JkZXIt
Ym90dG9tLXJpZ2h0LXJhZGl1czogNXB4OworICAgIC5mb28gLSA1cHggZWxlbWVudHMtcGFuZWwt
c3R5bGVzLmNzczoxNgorYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogNXB4OworICAgIC5mb28gLSA1
cHggZWxlbWVudHMtcGFuZWwtc3R5bGVzLmNzczoxNgorYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6
IDVweDsKKyAgICAuZm9vIC0gNXB4IGVsZW1lbnRzLXBhbmVsLXN0eWxlcy5jc3M6MTYKK2NvbG9y
OiByZ2IoMCwgMCwgMjU1KTsKKyAgICAuZm9vLCAuZm9vOjpiZWZvcmUgLSBibHVlIGVsZW1lbnRz
LXBhbmVsLXN0eWxlcy5jc3M6MjgKKyAgICAvLS0gb3ZlcmxvYWRlZCAtLS8gLmZvbyAtIGJsYWNr
IGVsZW1lbnRzLXBhbmVsLXN0eWxlcy5jc3M6MTYKKyAgICAvLS0gb3ZlcmxvYWRlZCAtLS8gI2Nv
bnRhaW5lciAtIHJlZCBlbGVtZW50cy1wYW5lbC1zdHlsZXMuY3NzOjUKK2Rpc3BsYXk6IGJsb2Nr
OworICAgIC8tLSBvdmVybG9hZGVkIC0tLyBlbGVtZW50LnN0eWxlIC0gbm9uZSAKKyAgICAuZm9v
LCAuZm9vOjpiZWZvcmUgLSBibG9jayAhaW1wb3J0YW50IGVsZW1lbnRzLXBhbmVsLXN0eWxlcy5j
c3M6MjgKKyAgICAvLS0gb3ZlcmxvYWRlZCAtLS8gZGl2IC0gYmxvY2sgdXNlciBhZ2VudCBzdHls
ZXNoZWV0Citmb250LWZhbWlseTogc2VyaWY7CisgICAgI2NvbnRhaW5lciAtIHNlcmlmIGVsZW1l
bnRzLXBhbmVsLXN0eWxlcy5jc3M6NQorZm9udC1zaXplOiAxNHB4OworICAgICNjb250YWluZXIg
LSAxNHB4IGVsZW1lbnRzLXBhbmVsLXN0eWxlcy5jc3M6NQorICAgIC8tLSBvdmVybG9hZGVkIC0t
LyBib2R5IC0gMTJweCBlbGVtZW50cy1wYW5lbC1zdHlsZXMuY3NzOjEKK2ZvbnQtc3R5bGU6IGl0
YWxpYzsKKyAgICAjY29udGFpbmVyIC5mb28gLSBpdGFsaWMgIWltcG9ydGFudCBlbGVtZW50cy1w
YW5lbC1zdHlsZXMuY3NzOjEyCisgICAgLy0tIG92ZXJsb2FkZWQgLS0vIC5mb28gLSBub3JtYWwg
IWltcG9ydGFudCBlbGVtZW50cy1wYW5lbC1zdHlsZXMuY3NzOjE2Citmb250LXdlaWdodDogbm9y
bWFsOworICAgIC5mb28gLSBub3JtYWwgIWltcG9ydGFudCBlbGVtZW50cy1wYW5lbC1zdHlsZXMu
Y3NzOjE2CisgICAgLy0tIG92ZXJsb2FkZWQgLS0vIC5mb28gLSBib2xkIGVsZW1lbnRzLXBhbmVs
LXN0eWxlcy5jc3M6MTYKK21hcmdpbi1ib3R0b206IDJweDsKKyAgICAuZm9vIC0gMnB4IGVsZW1l
bnRzLXBhbmVsLXN0eWxlcy5jc3M6MTYKK21hcmdpbi1sZWZ0OiAwcHg7CisgICAgLmZvbyAtIDFw
eCBlbGVtZW50cy1wYW5lbC1zdHlsZXMuY3NzOjE2CittYXJnaW4tcmlnaHQ6IDBweDsKKyAgICAu
Zm9vIC0gMHB4IGVsZW1lbnRzLXBhbmVsLXN0eWxlcy5jc3M6MTYKK21hcmdpbi10b3A6IDEwcHg7
CisgICAgLmZvbyAtIDEwcHggZWxlbWVudHMtcGFuZWwtc3R5bGVzLmNzczoxNgorcGFkZGluZy1i
b3R0b206IDRweDsKKyAgICAuZm9vIC0gNHB4IGVsZW1lbnRzLXBhbmVsLXN0eWxlcy5jc3M6MTYK
K3BhZGRpbmctbGVmdDogNHB4OworICAgIC5mb28gLSA0cHggZWxlbWVudHMtcGFuZWwtc3R5bGVz
LmNzczoxNgorcGFkZGluZy1yaWdodDogMXB4OworICAgIC5mb28gLSAxcHggZWxlbWVudHMtcGFu
ZWwtc3R5bGVzLmNzczoxNgorcGFkZGluZy10b3A6IDRweDsKKyAgICAuZm9vIC0gNHB4IGVsZW1l
bnRzLXBhbmVsLXN0eWxlcy5jc3M6MTYKK3RleHQtYWxpZ246IC13ZWJraXQtbGVmdDsKKyAgICBk
aXZbQXR0cmlidXRlcyBTdHlsZV0gLSAtd2Via2l0LWxlZnQgCisKK1tleHBhbmRlZF0gCitlbGVt
ZW50LnN0eWxlICB7ICgpCisvLS0gb3ZlcmxvYWRlZCAtLS8gZGlzcGxheTogbm9uZTsKKy13ZWJr
aXQtZm9udC1zbW9vdGhpbmc6IHN1YnBpeGVsLWFudGlhbGlhc2VkOworCis9PT09PT09PSBNYXRj
aGVkIENTUyBSdWxlcyA9PT09PT09PQorW2V4cGFuZGVkXSAKKyNjb250YWluZXIgLmZvbyAgeyAo
ZWxlbWVudHMtcGFuZWwtc3R5bGVzLmNzczoxMikKK2ZvbnQtc3R5bGU6IGl0YWxpYyAhaW1wb3J0
YW50OworCitbZXhwYW5kZWRdIAorLmZvbyAgeyAoZWxlbWVudHMtcGFuZWwtc3R5bGVzLmNzczo0
NykKKworW2V4cGFuZGVkXSAKKy5mb28sIC5mb286OmJlZm9yZSAgeyAoZWxlbWVudHMtcGFuZWwt
c3R5bGVzLmNzczoyOCkKK2NvbnRlbnQ6ICJbYmVmb3JlIEZvb10iOworY29sb3I6IGJsdWU7Citk
aXNwbGF5OiBibG9jayAhaW1wb3J0YW50OworCitbZXhwYW5kZWRdIAorLmZvbyAgeyAoZWxlbWVu
dHMtcGFuZWwtc3R5bGVzLmNzczoxNikKKy8tLSBvdmVybG9hZGVkIC0tLyBjb2xvcjogYmxhY2s7
CittYXJnaW4tbGVmdDogMXB4OworbWFyZ2luOiAxMHB4IDAgMnB4OworICAgIG1hcmdpbi10b3A6
IDEwcHg7CisgICAgbWFyZ2luLXJpZ2h0OiAwcHg7CisgICAgbWFyZ2luLWJvdHRvbTogMnB4Owor
ICAgIG1hcmdpbi1sZWZ0OiAxcHg7Citib3JkZXItcmFkaXVzOiA1cHg7CisgICAgYm9yZGVyLXRv
cC1sZWZ0LXJhZGl1czogNXB4OworICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA1cHg7Cisg
ICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDVweDsKKyAgICBib3JkZXItYm90dG9tLWxl
ZnQtcmFkaXVzOiA1cHg7CisvLS0gb3ZlcmxvYWRlZCAtLS8gZm9udC1zdHlsZTogbm9ybWFsICFp
bXBvcnRhbnQ7Citmb250LXdlaWdodDogbm9ybWFsICFpbXBvcnRhbnQ7CisvLS0gb3ZlcmxvYWRl
ZCAtLS8gZm9udC13ZWlnaHQ6IGJvbGQ7CitwYWRkaW5nOiA0cHg7CisgICAgcGFkZGluZy10b3A6
IDRweDsKKyAgICBwYWRkaW5nLXJpZ2h0OiAxcHg7CisgICAgcGFkZGluZy1ib3R0b206IDRweDsK
KyAgICBwYWRkaW5nLWxlZnQ6IDRweDsKK3BhZGRpbmctcmlnaHQ6IDFweDsKKworW2V4cGFuZGVk
XSAKK2RpdltBdHRyaWJ1dGVzIFN0eWxlXSAgeyAoKQordGV4dC1hbGlnbjogLXdlYmtpdC1sZWZ0
OworCitbZXhwYW5kZWRdIAorZGl2ICB7ICh1c2VyIGFnZW50IHN0eWxlc2hlZXQpCisvLS0gb3Zl
cmxvYWRlZCAtLS8gZGlzcGxheTogYmxvY2s7CisKKz09PT09PT09IEluaGVyaXRlZCBmcm9tIGRp
diNjb250YWluZXIgPT09PT09PT0KK1tleHBhbmRlZF0gCisjY29udGFpbmVyICB7IChlbGVtZW50
cy1wYW5lbC1zdHlsZXMuY3NzOjUpCitmb250LWZhbWlseTogc2VyaWY7Citmb250LXNpemU6IDE0
cHg7CisvLS0gb3ZlcmxvYWRlZCAtLS8gY29sb3I6IHJlZDsKKworPT09PT09PT0gSW5oZXJpdGVk
IGZyb20gYm9keSA9PT09PT09PQorW2V4cGFuZGVkXSAKK2JvZHkgIHsgKGVsZW1lbnRzLXBhbmVs
LXN0eWxlcy5jc3M6MSkKKy8tLSBvdmVybG9hZGVkIC0tLyBmb250LXNpemU6IDEycHg7CisKKwor
PT09PT09PT0gUHNldWRvIDo6YmVmb3JlIGVsZW1lbnQgPT09PT09PT0KK1tleHBhbmRlZF0gCisu
Zm9vOjpiZWZvcmUgIHsgKGVsZW1lbnRzLXBhbmVsLXN0eWxlcy5jc3M6NTEpCisKK1tleHBhbmRl
ZF0gCisuZm9vOjpiZWZvcmUgIHsgKGVsZW1lbnRzLXBhbmVsLXN0eWxlcy5jc3M6MzQpCitjb2xv
cjogcmVkOworCitbZXhwYW5kZWRdIAorLmZvbywgLmZvbzo6YmVmb3JlICB7IChlbGVtZW50cy1w
YW5lbC1zdHlsZXMuY3NzOjI4KQorY29udGVudDogIltiZWZvcmUgRm9vXSI7CisvLS0gb3Zlcmxv
YWRlZCAtLS8gY29sb3I6IGJsdWU7CitkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OworCisKKz09
PT09PT09IFBzZXVkbyA6OmFmdGVyIGVsZW1lbnQgPT09PT09PT0KK1tleHBhbmRlZF0gCisuZm9v
OjphZnRlciAgeyAoZWxlbWVudHMtcGFuZWwtc3R5bGVzLmNzczo0MikKK2ZvbnQtZmFtaWx5OiBj
b3VyaWVyOworY29udGVudDogIlthZnRlciBGb28gMl0iOworCitbZXhwYW5kZWRdIAorLmZvbzo6
YWZ0ZXIgIHsgKGVsZW1lbnRzLXBhbmVsLXN0eWxlcy5jc3M6MzgpCisvLS0gb3ZlcmxvYWRlZCAt
LS8gY29udGVudDogIlthZnRlciBGb29dIjsKK2NvbG9yOiBncmVlbjsKKworCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9lbGVtZW50cy9lbGVtZW50cy1wYW5l
bC1zdHlsZXMuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9lbGVtZW50cy9l
bGVtZW50cy1wYW5lbC1zdHlsZXMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zOTM1ODA2MjZmMzdhYjdhMTNm
Zjc0MjhhMGI2NDA1YjE0MWJhNTRmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yLW9ic29sZXRlL2VsZW1lbnRzL2VsZW1lbnRzLXBhbmVsLXN0eWxlcy5odG1sCkBAIC0w
LDAgKzEsMzMgQEAKKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9
InRleHQvY3NzIiBocmVmPSJyZXNvdXJjZXMvZWxlbWVudHMtcGFuZWwtc3R5bGVzLmNzcyI+CisK
KzxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvZWxl
bWVudHMtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorCitmdW5jdGlvbiB0ZXN0KCkKK3sK
KyAgICBJbnNwZWN0b3JUZXN0LnNlbGVjdE5vZGVBbmRXYWl0Rm9yU3R5bGVzV2l0aENvbXB1dGVk
KCJmb28iLCBzdGVwMSk7CisKKyAgICBmdW5jdGlvbiBzdGVwMSgpCisgICAgeworICAgICAgICBJ
bnNwZWN0b3JUZXN0LmR1bXBTZWxlY3RlZEVsZW1lbnRTdHlsZXMoZmFsc2UsIGZhbHNlKTsKKyAg
ICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKKyAgICB9Cit9CisKKzwvc2NyaXB0
PgorPC9oZWFkPgorCis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Cis8cD4KK1Rlc3RzIHRoYXQg
ZWxlbWVudHMgcGFuZWwgc2hvd3MgcHJvcGVyIHN0eWxlcyBpbiB0aGUgc2lkZWJhciBwYW5lbC4K
KzwvcD4KKworPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8ZGl2IGlkPSJmb28iIGNsYXNzPSJm
b28iIHN0eWxlPSJkaXNwbGF5Om5vbmU7IC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IHN1YnBpeGVs
LWFudGlhbGlhc2VkOyIgYWxpZ249ImxlZnQiPkZvbzwvZGl2PgorPC9kaXY+CisKKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9lbGVt
ZW50cy9oaWdobGlnaHQtbm9kZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3It
b2Jzb2xldGUvZWxlbWVudHMvaGlnaGxpZ2h0LW5vZGUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmYxYzRmMDA2YTZjM2FmNjY4NWE3MzYyZThlZDU2ODM2NzljMzE2ZDYKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZWxlbWVudHMvaGlnaGxpZ2h0LW5v
ZGUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoZSBw
b3NpdGlvbiBhbmQgc2l6ZSBvZiB0aGUgaGlnaGxpZ2h0IHJlY3RhbmdsZXMgb3ZlcmxheWVkIG9u
IGFuIGluc3BlY3RlZCBkaXYuCisKK21hcmdpbiByZWN0IGlzIDI2MCB4IDI2MCBhdCAoMCwgMCkK
K2JvcmRlciByZWN0IGlzIDI1MCB4IDI1MCBhdCAoNSwgNSkKK3BhZGRpbmcgcmVjdCBpcyAyMzAg
eCAyMzAgYXQgKDE1LCAxNSkKK2NvbnRlbnQgcmVjdCBpcyAyMDAgeCAyMDAgYXQgKDMwLCAzMCkK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2VsZW1lbnRzL2hp
Z2hsaWdodC1ub2RlLXJlZ2lvbnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
LW9ic29sZXRlL2VsZW1lbnRzL2hpZ2hsaWdodC1ub2RlLXJlZ2lvbnMtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmM5ZmE5OTU3MjYyZmEyZWY2MjhjMDE4OWI1YjJjNjk0OGIwMDEyM2EKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZWxlbWVudHMvaGln
aGxpZ2h0LW5vZGUtcmVnaW9ucy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyODkgQEAKK1RoaXMg
dGVzdCB2ZXJpZmllcyB0aGUgcG9zaXRpb24gYW5kIHNpemUgb2YgdGhlIGhpZ2hsaWdodGVkIENT
UyBSZWdpb25zIHF1YWRzIG92ZXJsYXllZCBvbiB0aGUgaW5zcGVjdGVkIGRpdi4KKworeworICAg
ICJuYW1lIjogImZsb3ciLAorICAgICJyZWdpb25zIjogWworICAgICAgICB7CisgICAgICAgICAg
ICAiYm9yZGVyUXVhZCI6IFsKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAg
ICJ4IjogNSwKKyAgICAgICAgICAgICAgICAgICAgInkiOiA1CisgICAgICAgICAgICAgICAgfSwK
KyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICJ4IjogMjU1LAorICAgICAg
ICAgICAgICAgICAgICAieSI6IDUKKyAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAg
IHsKKyAgICAgICAgICAgICAgICAgICAgIngiOiAyNTUsCisgICAgICAgICAgICAgICAgICAgICJ5
IjogMjU1CisgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAg
ICAgICAgICAgICJ4IjogNSwKKyAgICAgICAgICAgICAgICAgICAgInkiOiAyNTUKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICBdLAorICAgICAgICAgICAgImluY29taW5nUXVhZCI6IFsK
KyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICJ4IjogMCwKKyAgICAgICAg
ICAgICAgICAgICAgInkiOiAxNQorICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAg
eworICAgICAgICAgICAgICAgICAgICAieCI6IDEwLAorICAgICAgICAgICAgICAgICAgICAieSI6
IDE1CisgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAg
ICAgICAgICJ4IjogMTAsCisgICAgICAgICAgICAgICAgICAgICJ5IjogMjUKKyAgICAgICAgICAg
ICAgICB9LAorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgIngiOiAwLAor
ICAgICAgICAgICAgICAgICAgICAieSI6IDI1CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgXSwKKyAgICAgICAgICAgICJvdXRnb2luZ1F1YWQiOiBbCisgICAgICAgICAgICAgICAgewor
ICAgICAgICAgICAgICAgICAgICAieCI6IDI1MCwKKyAgICAgICAgICAgICAgICAgICAgInkiOiAy
MzUKKyAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAg
ICAgICAgIngiOiAyNjAsCisgICAgICAgICAgICAgICAgICAgICJ5IjogMjM1CisgICAgICAgICAg
ICAgICAgfSwKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICJ4IjogMjYw
LAorICAgICAgICAgICAgICAgICAgICAieSI6IDI0NQorICAgICAgICAgICAgICAgIH0sCisgICAg
ICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAieCI6IDI1MCwKKyAgICAgICAgICAg
ICAgICAgICAgInkiOiAyNDUKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICBdCisgICAg
ICAgIH0sCisgICAgICAgIHsKKyAgICAgICAgICAgICJib3JkZXJRdWFkIjogWworICAgICAgICAg
ICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgIngiOiAyNjUsCisgICAgICAgICAgICAgICAg
ICAgICJ5IjogNQorICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgeworICAgICAg
ICAgICAgICAgICAgICAieCI6IDUxNSwKKyAgICAgICAgICAgICAgICAgICAgInkiOiA1CisgICAg
ICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICJ4
IjogNTE1LAorICAgICAgICAgICAgICAgICAgICAieSI6IDI1NQorICAgICAgICAgICAgICAgIH0s
CisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAieCI6IDI2NSwKKyAgICAg
ICAgICAgICAgICAgICAgInkiOiAyNTUKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICBd
LAorICAgICAgICAgICAgImluY29taW5nUXVhZCI6IFsKKyAgICAgICAgICAgICAgICB7CisgICAg
ICAgICAgICAgICAgICAgICJ4IjogMjYwLAorICAgICAgICAgICAgICAgICAgICAieSI6IDE1Cisg
ICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAg
ICJ4IjogMjcwLAorICAgICAgICAgICAgICAgICAgICAieSI6IDE1CisgICAgICAgICAgICAgICAg
fSwKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICJ4IjogMjcwLAorICAg
ICAgICAgICAgICAgICAgICAieSI6IDI1CisgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAg
ICAgICB7CisgICAgICAgICAgICAgICAgICAgICJ4IjogMjYwLAorICAgICAgICAgICAgICAgICAg
ICAieSI6IDI1CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgXSwKKyAgICAgICAgICAg
ICJvdXRnb2luZ1F1YWQiOiBbCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAg
ICAieCI6IDUxMCwKKyAgICAgICAgICAgICAgICAgICAgInkiOiAyMzUKKyAgICAgICAgICAgICAg
ICB9LAorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgIngiOiA1MjAsCisg
ICAgICAgICAgICAgICAgICAgICJ5IjogMjM1CisgICAgICAgICAgICAgICAgfSwKKyAgICAgICAg
ICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICJ4IjogNTIwLAorICAgICAgICAgICAgICAg
ICAgICAieSI6IDI0NQorICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgeworICAg
ICAgICAgICAgICAgICAgICAieCI6IDUxMCwKKyAgICAgICAgICAgICAgICAgICAgInkiOiAyNDUK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICBdLAorICAgICAgICAgICAgImlzSGlnaGxp
Z2h0ZWQiOiB0cnVlCisgICAgICAgIH0sCisgICAgICAgIHsKKyAgICAgICAgICAgICJib3JkZXJR
dWFkIjogWworICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgIngiOiA1MjUs
CisgICAgICAgICAgICAgICAgICAgICJ5IjogNQorICAgICAgICAgICAgICAgIH0sCisgICAgICAg
ICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAieCI6IDc3NSwKKyAgICAgICAgICAgICAg
ICAgICAgInkiOiA1CisgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICB7CisgICAg
ICAgICAgICAgICAgICAgICJ4IjogNzc1LAorICAgICAgICAgICAgICAgICAgICAieSI6IDI1NQor
ICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAg
ICAieCI6IDUyNSwKKyAgICAgICAgICAgICAgICAgICAgInkiOiAyNTUKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICBdLAorICAgICAgICAgICAgImluY29taW5nUXVhZCI6IFsKKyAgICAg
ICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICJ4IjogNTIwLAorICAgICAgICAgICAg
ICAgICAgICAieSI6IDE1CisgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICB7Cisg
ICAgICAgICAgICAgICAgICAgICJ4IjogNTMwLAorICAgICAgICAgICAgICAgICAgICAieSI6IDE1
CisgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAg
ICAgICJ4IjogNTMwLAorICAgICAgICAgICAgICAgICAgICAieSI6IDI1CisgICAgICAgICAgICAg
ICAgfSwKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICJ4IjogNTIwLAor
ICAgICAgICAgICAgICAgICAgICAieSI6IDI1CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgXSwKKyAgICAgICAgICAgICJvdXRnb2luZ1F1YWQiOiBbCisgICAgICAgICAgICAgICAgewor
ICAgICAgICAgICAgICAgICAgICAieCI6IDc3MCwKKyAgICAgICAgICAgICAgICAgICAgInkiOiAy
MzUKKyAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAg
ICAgICAgIngiOiA3ODAsCisgICAgICAgICAgICAgICAgICAgICJ5IjogMjM1CisgICAgICAgICAg
ICAgICAgfSwKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICJ4IjogNzgw
LAorICAgICAgICAgICAgICAgICAgICAieSI6IDI0NQorICAgICAgICAgICAgICAgIH0sCisgICAg
ICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAieCI6IDc3MCwKKyAgICAgICAgICAg
ICAgICAgICAgInkiOiAyNDUKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICBdCisgICAg
ICAgIH0sCisgICAgICAgIHsKKyAgICAgICAgICAgICJib3JkZXJRdWFkIjogWworICAgICAgICAg
ICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgIngiOiA1LAorICAgICAgICAgICAgICAgICAg
ICAieSI6IDI2NQorICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgeworICAgICAg
ICAgICAgICAgICAgICAieCI6IDIwNSwKKyAgICAgICAgICAgICAgICAgICAgInkiOiAyNjUKKyAg
ICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAg
IngiOiAyMDUsCisgICAgICAgICAgICAgICAgICAgICJ5IjogMjY1CisgICAgICAgICAgICAgICAg
fSwKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICJ4IjogNSwKKyAgICAg
ICAgICAgICAgICAgICAgInkiOiAyNjUKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICBd
LAorICAgICAgICAgICAgImluY29taW5nUXVhZCI6IFsKKyAgICAgICAgICAgICAgICB7CisgICAg
ICAgICAgICAgICAgICAgICJ4IjogMCwKKyAgICAgICAgICAgICAgICAgICAgInkiOiAyNjAKKyAg
ICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAg
IngiOiAxMCwKKyAgICAgICAgICAgICAgICAgICAgInkiOiAyNjAKKyAgICAgICAgICAgICAgICB9
LAorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgIngiOiAxMCwKKyAgICAg
ICAgICAgICAgICAgICAgInkiOiAyNzAKKyAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAg
ICAgIHsKKyAgICAgICAgICAgICAgICAgICAgIngiOiAwLAorICAgICAgICAgICAgICAgICAgICAi
eSI6IDI3MAorICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIF0sCisgICAgICAgICAgICAi
b3V0Z29pbmdRdWFkIjogWworICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAg
IngiOiAyMDAsCisgICAgICAgICAgICAgICAgICAgICJ5IjogMjYwCisgICAgICAgICAgICAgICAg
fSwKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICJ4IjogMjEwLAorICAg
ICAgICAgICAgICAgICAgICAieSI6IDI2MAorICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAg
ICAgICAgeworICAgICAgICAgICAgICAgICAgICAieCI6IDIxMCwKKyAgICAgICAgICAgICAgICAg
ICAgInkiOiAyNzAKKyAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgIHsKKyAgICAg
ICAgICAgICAgICAgICAgIngiOiAyMDAsCisgICAgICAgICAgICAgICAgICAgICJ5IjogMjcwCisg
ICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgXQorICAgICAgICB9LAorICAgICAgICB7Cisg
ICAgICAgICAgICAiYm9yZGVyUXVhZCI6IFsKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAg
ICAgICAgICAgICJ4IjogMjE1LAorICAgICAgICAgICAgICAgICAgICAieSI6IDI2NQorICAgICAg
ICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAieCI6
IDIxNSwKKyAgICAgICAgICAgICAgICAgICAgInkiOiAyNjUKKyAgICAgICAgICAgICAgICB9LAor
ICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgIngiOiAyMTUsCisgICAgICAg
ICAgICAgICAgICAgICJ5IjogMjY1CisgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAg
ICB7CisgICAgICAgICAgICAgICAgICAgICJ4IjogMjE1LAorICAgICAgICAgICAgICAgICAgICAi
eSI6IDI2NQorICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIF0sCisgICAgICAgICAgICAi
aW5jb21pbmdRdWFkIjogWworICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAg
IngiOiAyMTAsCisgICAgICAgICAgICAgICAgICAgICJ5IjogMjYwCisgICAgICAgICAgICAgICAg
fSwKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICJ4IjogMjIwLAorICAg
ICAgICAgICAgICAgICAgICAieSI6IDI2MAorICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAg
ICAgICAgeworICAgICAgICAgICAgICAgICAgICAieCI6IDIyMCwKKyAgICAgICAgICAgICAgICAg
ICAgInkiOiAyNzAKKyAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgIHsKKyAgICAg
ICAgICAgICAgICAgICAgIngiOiAyMTAsCisgICAgICAgICAgICAgICAgICAgICJ5IjogMjcwCisg
ICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgXSwKKyAgICAgICAgICAgICJvdXRnb2luZ1F1
YWQiOiBbCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAieCI6IDIxMCwK
KyAgICAgICAgICAgICAgICAgICAgInkiOiAyNjAKKyAgICAgICAgICAgICAgICB9LAorICAgICAg
ICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgIngiOiAyMjAsCisgICAgICAgICAgICAg
ICAgICAgICJ5IjogMjYwCisgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICB7Cisg
ICAgICAgICAgICAgICAgICAgICJ4IjogMjIwLAorICAgICAgICAgICAgICAgICAgICAieSI6IDI3
MAorICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAg
ICAgICAieCI6IDIxMCwKKyAgICAgICAgICAgICAgICAgICAgInkiOiAyNzAKKyAgICAgICAgICAg
ICAgICB9CisgICAgICAgICAgICBdCisgICAgICAgIH0KKyAgICBdCit9CisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9lbGVtZW50cy9oaWdobGlnaHQtbm9kZS1y
ZWdpb25zLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZWxlbWVudHMvaGln
aGxpZ2h0LW5vZGUtcmVnaW9ucy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBjNWRkYmMyYzZkMzQyMGM5MDU5
ODM2N2Y5MWRhMzY0OWYwY2ExYTQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3Itb2Jzb2xldGUvZWxlbWVudHMvaGlnaGxpZ2h0LW5vZGUtcmVnaW9ucy5odG1sCkBAIC0w
LDAgKzEsNzcgQEAKKzxodG1sPgorPGhlYWQ+CisKKzxzdHlsZT4KKworYm9keSB7CisgICAgbWFy
Z2luOiAwOworfQorI2Zsb3cgeworICAgIC13ZWJraXQtZmxvdy1pbnRvOiBmbG93OworfQorI2Nv
bnRhaW5lciB7CisgICAgd2lkdGg6IDQwMHB4OworICAgIGhlaWdodDogNDAwcHg7CisgICAgYmFj
a2dyb3VuZC1jb2xvcjogZ3JleTsKK30KKy5yZWdpb24geworICAgIG1hcmdpbjogNXB4OworICAg
IGJvcmRlcjogc29saWQgMTBweCBhcXVhOworICAgIHBhZGRpbmc6IDE1cHg7CisgICAgd2lkdGg6
IDIwMHB4OworICAgIGhlaWdodDogMjAwcHg7CisgICAgYmFja2dyb3VuZC1jb2xvcjogYmx1ZTsK
KyAgICBmbG9hdDogbGVmdDsKKyAgICAtd2Via2l0LWZsb3ctZnJvbTogZmxvdzsKK30KKy56ZXJv
LWhlaWdodCB7CisgICAgYm9yZGVyOiBub25lOworICAgIGhlaWdodDogMHB4OworICAgIHBhZGRp
bmc6IDA7Cit9CisuemVyby1zaXplIHsKKyAgICBib3JkZXI6IG5vbmU7CisgICAgd2lkdGg6IDBw
eDsKKyAgICBoZWlnaHQ6IDBweDsKKyAgICBwYWRkaW5nOiAwOworfQorLmhpZGRlbiB7CisgICAg
ZGlzcGxheTogbm9uZTsKK30KKyNkZXNjcmlwdGlvbiB7CisgICAgY2xlYXI6IGJvdGg7Cit9CisK
Kzwvc3R5bGU+CisKKzxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNw
ZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9p
bnNwZWN0b3IvZWxlbWVudHMtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorCitmdW5jdGlv
biB0ZXN0KCkKK3sKKyAgICBmdW5jdGlvbiBub2RlU2VsZWN0ZWQobm9kZSkKKyAgICB7CisgICAg
ICAgIFJ1bnRpbWVBZ2VudC5ldmFsdWF0ZSgiZHVtcEluc3BlY3RvckhpZ2hsaWdodGVkUmVnaW9u
cygpIiwgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QpOworICAgIH0KKworICAgIEluc3BlY3Rv
clRlc3Quc2VsZWN0Tm9kZVdpdGhJZCgiaW5zcGVjdGVkRWxlbWVudCIsIG5vZGVTZWxlY3RlZCk7
Cit9CisKKzwvc2NyaXB0PgorPC9oZWFkPgorCis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+CisK
KzxkaXYgaWQ9ImZsb3ciPjwvZGl2PgorCis8ZGl2IGNsYXNzPSJyZWdpb24iPjwvZGl2PgorPGRp
diBjbGFzcz0icmVnaW9uIiBpZD0iaW5zcGVjdGVkRWxlbWVudCI+PC9kaXY+Cis8ZGl2IGNsYXNz
PSJyZWdpb24iPjwvZGl2PgorPGRpdiBjbGFzcz0icmVnaW9uIHplcm8taGVpZ2h0Ij48L2Rpdj4K
KzxkaXYgY2xhc3M9InJlZ2lvbiB6ZXJvLXNpemUiPjwvZGl2PgorPGRpdiBjbGFzcz0icmVnaW9u
IGhpZGRlbiI+PC9kaXY+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGUgcG9zaXRpb24gYW5kIHNpemUgb2YgdGhlIGhpZ2hsaWdodGVkIENTUyBSZWdpb25zIHF1YWRz
IG92ZXJsYXllZCBvbiB0aGUgaW5zcGVjdGVkIGRpdi48L3A+CisKKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9lbGVtZW50cy9oaWdo
bGlnaHQtbm9kZS1zY2FsZWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9i
c29sZXRlL2VsZW1lbnRzL2hpZ2hsaWdodC1ub2RlLXNjYWxlZC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMDZhZTRlNzRiYjVkZTMxOGU1YzdjNWZkOTY3ZGJmMTEzYjRiNjg2NAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9lbGVtZW50cy9oaWdobGln
aHQtbm9kZS1zY2FsZWQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNiBAQAorCittYXJnaW4gcmVj
dCBpcyAxNjYgeCAxODggYXQgKDE5MiwgMTU0KQorYm9yZGVyIHJlY3QgaXMgMTM4IHggMTYwIGF0
ICgyMDYsIDE2OCkKK3BhZGRpbmcgcmVjdCBpcyAxMTggeCAxNDAgYXQgKDIxNiwgMTc4KQorY29u
dGVudCByZWN0IGlzIDY2IHggODggYXQgKDI0MiwgMjA0KQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZWxlbWVudHMvaGlnaGxpZ2h0LW5vZGUtc2NhbGVkLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZWxlbWVudHMvaGlnaGxpZ2h0LW5v
ZGUtc2NhbGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZGI0MTkyZGFjNmYxYjE1NDRmYjUwZTQwZGVmODMy
ODBkYWEzOTgxZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNv
bGV0ZS9lbGVtZW50cy9oaWdobGlnaHQtbm9kZS1zY2FsZWQuaHRtbApAQCAtMCwwICsxLDUxIEBA
Cis8aHRtbD4KKzxoZWFkPgorCis8c3R5bGU+CisKK2JvZHkgeworICAgIG1hcmdpbjogMDsKK30K
KworaWZyYW1lIHsKKyAgICBwb3NpdGlvbjogYWJzb2x1dGU7CisgICAgbGVmdDogODNweDsKKyAg
ICB0b3A6IDUzcHg7CisgICAgd2lkdGg6IDIwMHB4OworICAgIGhlaWdodDogMjAwcHg7Cit9CisK
Kzwvc3R5bGU+CisKKzxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNw
ZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9p
bnNwZWN0b3IvZWxlbWVudHMtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorCitmdW5jdGlv
biBvbmxvYWQoKQoreworICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgICAgICB3aW5kb3cu
aW50ZXJuYWxzLnNldFBhZ2VTY2FsZUZhY3RvcigyLCAwLCAwKTsKKyAgICBydW5UZXN0KCk7Cit9
CisgICAgCitmdW5jdGlvbiB0ZXN0KCkKK3sKKyAgICBXZWJJbnNwZWN0b3Iuc2hvd1BhbmVsKCJl
bGVtZW50cyIpOworICAgIFdlYkluc3BlY3Rvci5wYW5lbHMuZWxlbWVudHMudHJlZU91dGxpbmUu
YWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuRWxlbWVudHNUcmVlT3V0bGluZS5FdmVudHMu
U2VsZWN0ZWROb2RlQ2hhbmdlZCwgc2VsZWN0ZWROb2RlQ2hhbmdlZCwgdGhpcyk7CisKKyAgICBm
dW5jdGlvbiBzZWxlY3RlZE5vZGVDaGFuZ2VkKGV2ZW50KQorICAgIHsKKyAgICAgICAgdmFyIG5v
ZGUgPSBldmVudC5kYXRhOworICAgICAgICBpZiAobm9kZS5nZXRBdHRyaWJ1dGUoImlkIikgPT0g
ImRpdiIpCisgICAgICAgICAgICBSdW50aW1lQWdlbnQuZXZhbHVhdGUoImR1bXBJbnNwZWN0b3JI
aWdobGlnaHRSZWN0cygpIiwgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QpOworICAgIH0KKyAg
ICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5Db25zb2xlKCJpbnNwZWN0KGlmcmFtZURpdkVsZW1l
bnQpIik7Cit9CisKKzwvc2NyaXB0PgorPC9oZWFkPgorCis8Ym9keSBvbmxvYWQ9Im9ubG9hZCgp
Ij4KKzxpZnJhbWUgc3JjPSJyZXNvdXJjZXMvaGlnaGxpZ2h0LW5vZGUtc2NhbGVkLWlmcmFtZS5o
dG1sIj48L2lmcmFtZT4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2luc3BlY3Rvci1vYnNvbGV0ZS9lbGVtZW50cy9oaWdobGlnaHQtbm9kZS1zY3JvbGwtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2VsZW1lbnRzL2hpZ2hsaWdo
dC1ub2RlLXNjcm9sbC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDMxZjZkMzIwODUyNmE3MDNm
ODZhZjM1ZTdkZmVhN2RkMThjZjEzMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lu
c3BlY3Rvci1vYnNvbGV0ZS9lbGVtZW50cy9oaWdobGlnaHQtbm9kZS1zY3JvbGwtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTEgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGUgcG9zaXRpb24gYW5k
IHNpemUgb2YgdGhlIGhpZ2hsaWdodCByZWN0YW5nbGVzIG92ZXJsYXllZCBvbiBhbiBpbnNwZWN0
ZWQgZGl2IGluIHRoZSBzY3JvbGxlZCB2aWV3LgorCittYXJnaW4gcmVjdCBpcyAyNjAgeCAyNjAg
YXQgKDgsIDgpCitib3JkZXIgcmVjdCBpcyAyNTAgeCAyNTAgYXQgKDEzLCAxMykKK3BhZGRpbmcg
cmVjdCBpcyAyMzAgeCAyMzAgYXQgKDIzLCAyMykKK2NvbnRlbnQgcmVjdCBpcyAyMDAgeCAyMDAg
YXQgKDM4LCAzOCkKK21hcmdpbiByZWN0IGlzIDI2MCB4IDI2MCBhdCAoLTUyLCAyMTgpCitib3Jk
ZXIgcmVjdCBpcyAyNTAgeCAyNTAgYXQgKC00NywgMjIzKQorcGFkZGluZyByZWN0IGlzIDIzMCB4
IDIzMCBhdCAoLTM3LCAyMzMpCitjb250ZW50IHJlY3QgaXMgMjAwIHggMjAwIGF0ICgtMjIsIDI0
OCkKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2VsZW1lbnRz
L2hpZ2hsaWdodC1ub2RlLXNjcm9sbC5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29s
ZXRlL2VsZW1lbnRzL2hpZ2hsaWdodC1ub2RlLXNjcm9sbC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmJlMjZl
ZjY0NzQ2N2ZlZDhkZmNhM2U3ZjYwMTM5MTA0MmNhOTM0MmEKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZWxlbWVudHMvaGlnaGxpZ2h0LW5vZGUtc2Ny
b2xsLmh0bWwKQEAgLTAsMCArMSw3OSBAQAorPGh0bWw+Cis8aGVhZD4KKworPHN0eWxlPgorCiti
b2R5IHsKKyAgICB3aWR0aDogMjAwMHB4OworICAgIGhlaWdodDogMjAwMHB4OworICAgIGJhY2tn
cm91bmQtY29sb3I6IGdyZXk7Cit9CisuaW5zcGVjdGVkIHsKKyAgICBtYXJnaW46IDVweDsKKyAg
ICBib3JkZXI6IHNvbGlkIDEwcHggYXF1YTsKKyAgICBwYWRkaW5nOiAxNXB4OworICAgIHdpZHRo
OiAyMDBweDsKKyAgICBoZWlnaHQ6IDIwMHB4OworICAgIGJhY2tncm91bmQtY29sb3I6IGJsdWU7
CisgICAgZmxvYXQ6IGxlZnQ7Cit9Cisjc2Nyb2xsaW5nQ29udGFpbmVyIHsKKyAgICBjbGVhcjog
Ym90aDsKKyAgICB3aWR0aDogMTAwcHg7CisgICAgaGVpZ2h0OiAxMDBweDsKKyAgICBvdmVyZmxv
dzogYXV0bzsKK30KKyNkZXNjcmlwdGlvbiB7CisgICAgY2xlYXI6IGJvdGg7Cit9CisKKzwvc3R5
bGU+CisKKzxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3It
dGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0
b3IvZWxlbWVudHMtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorCitmdW5jdGlvbiBvbmxv
YWQoKQoreworICAgIHdpbmRvdy5zY3JvbGxCeSg1MCwgMTAwKTsKKyAgICBzY3JvbGxpbmdDb250
YWluZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2Nyb2xsaW5nQ29udGFpbmVyIik7Cisg
ICAgc2Nyb2xsaW5nQ29udGFpbmVyLnNjcm9sbFRvcCA9IDUwOworICAgIHNjcm9sbGluZ0NvbnRh
aW5lci5zY3JvbGxMZWZ0ID0gNjA7CisgICAgcnVuVGVzdCgpOworfQorCitmdW5jdGlvbiB0ZXN0
KCkKK3sKKyAgICBmdW5jdGlvbiBub2RlU2VsZWN0ZWQyKG5vZGUpCisgICAgeworICAgICAgICBS
dW50aW1lQWdlbnQuZXZhbHVhdGUoImR1bXBJbnNwZWN0b3JIaWdobGlnaHRSZWN0cygpIiwgSW5z
cGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QpOworICAgIH0KKworICAgIGZ1bmN0aW9uIHRlc3ROb2Rl
MigpCisgICAgeworICAgICAgICBJbnNwZWN0b3JUZXN0LnNlbGVjdE5vZGVXaXRoSWQoImluc3Bl
Y3RlZEVsZW1lbnQyIiwgbm9kZVNlbGVjdGVkMik7CisgICAgfQorCisgICAgZnVuY3Rpb24gbm9k
ZVNlbGVjdGVkMShub2RlKQorICAgIHsKKyAgICAgICAgUnVudGltZUFnZW50LmV2YWx1YXRlKCJk
dW1wSW5zcGVjdG9ySGlnaGxpZ2h0UmVjdHMoKSIsIHRlc3ROb2RlMik7CisgICAgfQorCisgICAg
SW5zcGVjdG9yVGVzdC5zZWxlY3ROb2RlV2l0aElkKCJpbnNwZWN0ZWRFbGVtZW50MSIsIG5vZGVT
ZWxlY3RlZDEpOworfQorCis8L3NjcmlwdD4KKzwvaGVhZD4KKworPGJvZHkgb25sb2FkPSJvbmxv
YWQoKSI+CisKKzxkaXYgaWQ9Imluc3BlY3RlZEVsZW1lbnQxIiBjbGFzcz0iaW5zcGVjdGVkIj48
L2Rpdj4KKworPGRpdiBpZD0ic2Nyb2xsaW5nQ29udGFpbmVyIj4KKyAgICA8ZGl2IGlkPSJpbnNw
ZWN0ZWRFbGVtZW50MiIgY2xhc3M9Imluc3BlY3RlZCI+PC9kaXY+Cis8L2Rpdj4KKworPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhlIHBvc2l0aW9uIGFuZCBzaXplIG9m
IHRoZSBoaWdobGlnaHQgcmVjdGFuZ2xlcyBvdmVybGF5ZWQgb24gYW4gaW5zcGVjdGVkIGRpdiBp
biB0aGUgc2Nyb2xsZWQgdmlldy48L3A+CisKKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9lbGVtZW50cy9oaWdobGlnaHQtbm9kZS5o
dG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2VsZW1lbnRzL2hpZ2hsaWdodC1u
b2RlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNGI3NWU1YzMxZDE0YmQyYTY1YTI1MmNjMmI4Y2ZhOWZlMjI1
OWVjMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9l
bGVtZW50cy9oaWdobGlnaHQtbm9kZS5odG1sCkBAIC0wLDAgKzEsNTIgQEAKKzxodG1sPgorPGhl
YWQ+CisKKzxzdHlsZT4KKworYm9keSB7CisgICAgbWFyZ2luOiAwOworfQorI2NvbnRhaW5lciB7
CisgICAgd2lkdGg6IDQwMHB4OworICAgIGhlaWdodDogNDAwcHg7CisgICAgYmFja2dyb3VuZC1j
b2xvcjogZ3JleTsKK30KKyNpbnNwZWN0ZWRFbGVtZW50IHsKKyAgICBtYXJnaW46IDVweDsKKyAg
ICBib3JkZXI6IHNvbGlkIDEwcHggYXF1YTsKKyAgICBwYWRkaW5nOiAxNXB4OworICAgIHdpZHRo
OiAyMDBweDsKKyAgICBoZWlnaHQ6IDIwMHB4OworICAgIGJhY2tncm91bmQtY29sb3I6IGJsdWU7
CisgICAgZmxvYXQ6IGxlZnQ7Cit9CisjZGVzY3JpcHRpb24geworICAgIGNsZWFyOiBib3RoOwor
fQorCis8L3N0eWxlPgorCis8c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3Iv
aW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVz
dHMvaW5zcGVjdG9yL2VsZW1lbnRzLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKworZnVu
Y3Rpb24gdGVzdCgpCit7CisgICAgZnVuY3Rpb24gbm9kZVNlbGVjdGVkKG5vZGUpCisgICAgewor
ICAgICAgICBSdW50aW1lQWdlbnQuZXZhbHVhdGUoImR1bXBJbnNwZWN0b3JIaWdobGlnaHRSZWN0
cygpIiwgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QpOworICAgIH0KKworICAgIEluc3BlY3Rv
clRlc3Quc2VsZWN0Tm9kZVdpdGhJZCgiaW5zcGVjdGVkRWxlbWVudCIsIG5vZGVTZWxlY3RlZCk7
Cit9CisKKzwvc2NyaXB0PgorPC9oZWFkPgorCis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+CisK
KzxkaXYgaWQ9Imluc3BlY3RlZEVsZW1lbnQiPjwvZGl2PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhlIHBvc2l0aW9uIGFuZCBzaXplIG9mIHRoZSBoaWdobGlnaHQg
cmVjdGFuZ2xlcyBvdmVybGF5ZWQgb24gYW4gaW5zcGVjdGVkIGRpdi48L3A+CisKKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9lbGVt
ZW50cy9oaWdobGlnaHQtcmVnaW9ucy1mbG93LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2lu
c3BlY3Rvci1vYnNvbGV0ZS9lbGVtZW50cy9oaWdobGlnaHQtcmVnaW9ucy1mbG93LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi45ZTFlM2M2Nzk5ZWYwOTcxZWRkZTg3M2FkNDhhYThmMWExNTllYTJk
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2VsZW1l
bnRzL2hpZ2hsaWdodC1yZWdpb25zLWZsb3ctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNDI4IEBA
CitUaGlzIHRlc3QgdmVyaWZpZXMgdGhlIHBvc2l0aW9uIGFuZCBzaXplIG9mIHRoZSBoaWdobGln
aHRlZCBub2RlIGluc2lkZSBDU1MgUmVnaW9ucy4KKworeworICAgICJzY3JvbGwiOiB7CisgICAg
ICAgICJ4IjogMCwKKyAgICAgICAgInkiOiAwCisgICAgfSwKKyAgICAiZnJhZ21lbnRzIjogWwor
ICAgICAgICB7CisgICAgICAgICAgICAicXVhZHMiOiBbCisgICAgICAgICAgICAgICAgWworICAg
ICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAieCI6IDMwLAorICAg
ICAgICAgICAgICAgICAgICAgICAgInkiOiAzMAorICAgICAgICAgICAgICAgICAgICB9LAorICAg
ICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAieCI6IDIzMCwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICJ5IjogMzAKKyAgICAgICAgICAgICAgICAgICAgfSwKKyAg
ICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAyMzAsCisg
ICAgICAgICAgICAgICAgICAgICAgICAieSI6IDEwMzAKKyAgICAgICAgICAgICAgICAgICAgfSwK
KyAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAzMCwK
KyAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMTAzMAorICAgICAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICAgICAgXSwKKyAgICAgICAgICAgICAgICBbCisgICAgICAgICAgICAgICAg
ICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogMzAsCisgICAgICAgICAgICAgICAg
ICAgICAgICAieSI6IDMwCisgICAgICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAg
ICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogMjMwLAorICAgICAgICAgICAgICAg
ICAgICAgICAgInkiOiAzMAorICAgICAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAg
ICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAieCI6IDIzMCwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICJ5IjogMTAzMAorICAgICAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAg
ICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAieCI6IDMwLAorICAgICAgICAgICAg
ICAgICAgICAgICAgInkiOiAxMDMwCisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
ICAgICBdLAorICAgICAgICAgICAgICAgIFsKKyAgICAgICAgICAgICAgICAgICAgeworICAgICAg
ICAgICAgICAgICAgICAgICAgIngiOiAzMCwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ5Ijog
MzAKKyAgICAgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICAgICAgeworICAgICAg
ICAgICAgICAgICAgICAgICAgIngiOiAyMzAsCisgICAgICAgICAgICAgICAgICAgICAgICAieSI6
IDMwCisgICAgICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAg
ICAgICAgICAgICAgICAgICAgICJ4IjogMjMwLAorICAgICAgICAgICAgICAgICAgICAgICAgInki
OiAxMDMwCisgICAgICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAgIHsKKyAg
ICAgICAgICAgICAgICAgICAgICAgICJ4IjogMzAsCisgICAgICAgICAgICAgICAgICAgICAgICAi
eSI6IDEwMzAKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIF0sCisgICAg
ICAgICAgICAgICAgWworICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAg
ICAgICAieCI6IDMwLAorICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAzMAorICAgICAgICAg
ICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAg
ICAgICAieCI6IDIzMCwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMzAKKyAgICAgICAg
ICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAg
ICAgICAgIngiOiAyMzAsCisgICAgICAgICAgICAgICAgICAgICAgICAieSI6IDEwMzAKKyAgICAg
ICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAg
ICAgICAgICAgIngiOiAzMCwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMTAzMAorICAg
ICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgXQorICAgICAgICAgICAgXSwKKyAg
ICAgICAgICAgICJzaG93UnVsZXJzIjogZmFsc2UsCisgICAgICAgICAgICAiY29udGVudENvbG9y
IjogInJnYmEoMTExLCAxNjgsIDIyMCwgMC42NTg4MjM1Mjk0MTE3NjQ3KSIsCisgICAgICAgICAg
ICAiY29udGVudE91dGxpbmVDb2xvciI6ICJyZ2JhKDAsIDAsIDAsIDApIiwKKyAgICAgICAgICAg
ICJwYWRkaW5nQ29sb3IiOiAicmdiYSgxNDcsIDE5NiwgMTI1LCAwLjU0OTAxOTYwNzg0MzEzNzMp
IiwKKyAgICAgICAgICAgICJib3JkZXJDb2xvciI6ICJyZ2JhKDI1NSwgMjI5LCAxNTMsIDAuNjU4
ODIzNTI5NDExNzY0NykiLAorICAgICAgICAgICAgIm1hcmdpbkNvbG9yIjogInJnYmEoMjQ2LCAx
NzgsIDEwNywgMC42NTg4MjM1Mjk0MTE3NjQ3KSIsCisgICAgICAgICAgICAicmVnaW9uIjogewor
ICAgICAgICAgICAgICAgICJxdWFkIjogWworICAgICAgICAgICAgICAgICAgICB7CisgICAgICAg
ICAgICAgICAgICAgICAgICAieCI6IDMwLAorICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAz
MAorICAgICAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICAgICB7CisgICAgICAg
ICAgICAgICAgICAgICAgICAieCI6IDIzMCwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ5Ijog
MzAKKyAgICAgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICAgICAgeworICAgICAg
ICAgICAgICAgICAgICAgICAgIngiOiAyMzAsCisgICAgICAgICAgICAgICAgICAgICAgICAieSI6
IDIzMAorICAgICAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICAgICB7CisgICAg
ICAgICAgICAgICAgICAgICAgICAieCI6IDMwLAorICAgICAgICAgICAgICAgICAgICAgICAgInki
OiAyMzAKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIF0KKyAgICAgICAg
ICAgIH0KKyAgICAgICAgfSwKKyAgICAgICAgeworICAgICAgICAgICAgInF1YWRzIjogWworICAg
ICAgICAgICAgICAgIFsKKyAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAg
ICAgICAgIngiOiAyOTAsCisgICAgICAgICAgICAgICAgICAgICAgICAieSI6IC0xNzAKKyAgICAg
ICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAg
ICAgICAgICAgIngiOiAzOTAsCisgICAgICAgICAgICAgICAgICAgICAgICAieSI6IC0xNzAKKyAg
ICAgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAg
ICAgICAgICAgICAgIngiOiAzOTAsCisgICAgICAgICAgICAgICAgICAgICAgICAieSI6IDgzMAor
ICAgICAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAg
ICAgICAgICAgICAgICAieCI6IDI5MCwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogODMw
CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBdLAorICAgICAgICAgICAg
ICAgIFsKKyAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgIngi
OiAyOTAsCisgICAgICAgICAgICAgICAgICAgICAgICAieSI6IC0xNzAKKyAgICAgICAgICAgICAg
ICAgICAgfSwKKyAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAg
IngiOiAzOTAsCisgICAgICAgICAgICAgICAgICAgICAgICAieSI6IC0xNzAKKyAgICAgICAgICAg
ICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAg
ICAgIngiOiAzOTAsCisgICAgICAgICAgICAgICAgICAgICAgICAieSI6IDgzMAorICAgICAgICAg
ICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAg
ICAgICAieCI6IDI5MCwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogODMwCisgICAgICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBdLAorICAgICAgICAgICAgICAgIFsKKyAg
ICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAyOTAsCisg
ICAgICAgICAgICAgICAgICAgICAgICAieSI6IC0xNzAKKyAgICAgICAgICAgICAgICAgICAgfSwK
KyAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAzOTAs
CisgICAgICAgICAgICAgICAgICAgICAgICAieSI6IC0xNzAKKyAgICAgICAgICAgICAgICAgICAg
fSwKKyAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAz
OTAsCisgICAgICAgICAgICAgICAgICAgICAgICAieSI6IDgzMAorICAgICAgICAgICAgICAgICAg
ICB9LAorICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAieCI6
IDI5MCwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogODMwCisgICAgICAgICAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgICAgICBdLAorICAgICAgICAgICAgICAgIFsKKyAgICAgICAgICAg
ICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAyOTAsCisgICAgICAgICAg
ICAgICAgICAgICAgICAieSI6IC0xNzAKKyAgICAgICAgICAgICAgICAgICAgfSwKKyAgICAgICAg
ICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAzOTAsCisgICAgICAg
ICAgICAgICAgICAgICAgICAieSI6IC0xNzAKKyAgICAgICAgICAgICAgICAgICAgfSwKKyAgICAg
ICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAzOTAsCisgICAg
ICAgICAgICAgICAgICAgICAgICAieSI6IDgzMAorICAgICAgICAgICAgICAgICAgICB9LAorICAg
ICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAieCI6IDI5MCwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICJ5IjogODMwCisgICAgICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgICAgICBdCisgICAgICAgICAgICBdLAorICAgICAgICAgICAgInNob3dSdWxlcnMi
OiBmYWxzZSwKKyAgICAgICAgICAgICJjb250ZW50Q29sb3IiOiAicmdiYSgxMTEsIDE2OCwgMjIw
LCAwLjY1ODgyMzUyOTQxMTc2NDcpIiwKKyAgICAgICAgICAgICJjb250ZW50T3V0bGluZUNvbG9y
IjogInJnYmEoMCwgMCwgMCwgMCkiLAorICAgICAgICAgICAgInBhZGRpbmdDb2xvciI6ICJyZ2Jh
KDE0NywgMTk2LCAxMjUsIDAuNTQ5MDE5NjA3ODQzMTM3MykiLAorICAgICAgICAgICAgImJvcmRl
ckNvbG9yIjogInJnYmEoMjU1LCAyMjksIDE1MywgMC42NTg4MjM1Mjk0MTE3NjQ3KSIsCisgICAg
ICAgICAgICAibWFyZ2luQ29sb3IiOiAicmdiYSgyNDYsIDE3OCwgMTA3LCAwLjY1ODgyMzUyOTQx
MTc2NDcpIiwKKyAgICAgICAgICAgICJyZWdpb24iOiB7CisgICAgICAgICAgICAgICAgInF1YWQi
OiBbCisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICJ4Ijog
MjkwLAorICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAzMAorICAgICAgICAgICAgICAgICAg
ICB9LAorICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAieCI6
IDQ5MCwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMzAKKyAgICAgICAgICAgICAgICAg
ICAgfSwKKyAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgIngi
OiA0OTAsCisgICAgICAgICAgICAgICAgICAgICAgICAieSI6IDIzMAorICAgICAgICAgICAgICAg
ICAgICB9LAorICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAi
eCI6IDI5MCwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMjMwCisgICAgICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgICAgICBdCisgICAgICAgICAgICB9CisgICAgICAgIH0sCisg
ICAgICAgIHsKKyAgICAgICAgICAgICJxdWFkcyI6IFsKKyAgICAgICAgICAgICAgICBbCisgICAg
ICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogNDI1LAorICAg
ICAgICAgICAgICAgICAgICAgICAgInkiOiAtMzk1CisgICAgICAgICAgICAgICAgICAgIH0sCisg
ICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogNjI1LAor
ICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAtMzk1CisgICAgICAgICAgICAgICAgICAgIH0s
CisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogNjI1
LAorICAgICAgICAgICAgICAgICAgICAgICAgInkiOiA2MDUKKyAgICAgICAgICAgICAgICAgICAg
fSwKKyAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA0
MjUsCisgICAgICAgICAgICAgICAgICAgICAgICAieSI6IDYwNQorICAgICAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICAgICAgXSwKKyAgICAgICAgICAgICAgICBbCisgICAgICAgICAgICAg
ICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogNDI1LAorICAgICAgICAgICAg
ICAgICAgICAgICAgInkiOiAtMzk1CisgICAgICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAg
ICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogNjI1LAorICAgICAgICAg
ICAgICAgICAgICAgICAgInkiOiAtMzk1CisgICAgICAgICAgICAgICAgICAgIH0sCisgICAgICAg
ICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogNjI1LAorICAgICAg
ICAgICAgICAgICAgICAgICAgInkiOiA2MDUKKyAgICAgICAgICAgICAgICAgICAgfSwKKyAgICAg
ICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA0MjUsCisgICAg
ICAgICAgICAgICAgICAgICAgICAieSI6IDYwNQorICAgICAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICAgICAgXSwKKyAgICAgICAgICAgICAgICBbCisgICAgICAgICAgICAgICAgICAgIHsK
KyAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogNDI1LAorICAgICAgICAgICAgICAgICAgICAg
ICAgInkiOiAtMzk1CisgICAgICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAg
IHsKKyAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogNjI1LAorICAgICAgICAgICAgICAgICAg
ICAgICAgInkiOiAtMzk1CisgICAgICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAg
ICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogNjI1LAorICAgICAgICAgICAgICAg
ICAgICAgICAgInkiOiA2MDUKKyAgICAgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAg
ICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA0MjUsCisgICAgICAgICAgICAg
ICAgICAgICAgICAieSI6IDYwNQorICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAg
ICAgXSwKKyAgICAgICAgICAgICAgICBbCisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAg
ICAgICAgICAgICAgICAgICJ4IjogNDI1LAorICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAt
Mzk1CisgICAgICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAg
ICAgICAgICAgICAgICAgICAgICJ4IjogNjI1LAorICAgICAgICAgICAgICAgICAgICAgICAgInki
OiAtMzk1CisgICAgICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAgIHsKKyAg
ICAgICAgICAgICAgICAgICAgICAgICJ4IjogNjI1LAorICAgICAgICAgICAgICAgICAgICAgICAg
InkiOiA2MDUKKyAgICAgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICAgICAgewor
ICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA0MjUsCisgICAgICAgICAgICAgICAgICAgICAg
ICAieSI6IDYwNQorICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgXQorICAg
ICAgICAgICAgXSwKKyAgICAgICAgICAgICJzaG93UnVsZXJzIjogZmFsc2UsCisgICAgICAgICAg
ICAiY29udGVudENvbG9yIjogInJnYmEoMTExLCAxNjgsIDIyMCwgMC42NTg4MjM1Mjk0MTE3NjQ3
KSIsCisgICAgICAgICAgICAiY29udGVudE91dGxpbmVDb2xvciI6ICJyZ2JhKDAsIDAsIDAsIDAp
IiwKKyAgICAgICAgICAgICJwYWRkaW5nQ29sb3IiOiAicmdiYSgxNDcsIDE5NiwgMTI1LCAwLjU0
OTAxOTYwNzg0MzEzNzMpIiwKKyAgICAgICAgICAgICJib3JkZXJDb2xvciI6ICJyZ2JhKDI1NSwg
MjI5LCAxNTMsIDAuNjU4ODIzNTI5NDExNzY0NykiLAorICAgICAgICAgICAgIm1hcmdpbkNvbG9y
IjogInJnYmEoMjQ2LCAxNzgsIDEwNywgMC42NTg4MjM1Mjk0MTE3NjQ3KSIsCisgICAgICAgICAg
ICAicmVnaW9uIjogeworICAgICAgICAgICAgICAgICJxdWFkIjogWworICAgICAgICAgICAgICAg
ICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAieCI6IDQyNSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICJ5IjogNQorICAgICAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAg
ICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAieCI6IDYyNSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICJ5IjogNQorICAgICAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAg
ICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAieCI6IDYyNSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICJ5IjogNQorICAgICAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAg
ICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAieCI6IDQyNSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICJ5IjogNQorICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAg
XQorICAgICAgICAgICAgfQorICAgICAgICB9LAorICAgICAgICB7CisgICAgICAgICAgICAicXVh
ZHMiOiBbCisgICAgICAgICAgICAgICAgWworICAgICAgICAgICAgICAgICAgICB7CisgICAgICAg
ICAgICAgICAgICAgICAgICAieCI6IDYzNSwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ5Ijog
LTM5NQorICAgICAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICAgICB7CisgICAg
ICAgICAgICAgICAgICAgICAgICAieCI6IDYzNSwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ5
IjogLTM5NQorICAgICAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICAgICB7Cisg
ICAgICAgICAgICAgICAgICAgICAgICAieCI6IDYzNSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICJ5IjogNjA1CisgICAgICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAgIHsK
KyAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogNjM1LAorICAgICAgICAgICAgICAgICAgICAg
ICAgInkiOiA2MDUKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIF0sCisg
ICAgICAgICAgICAgICAgWworICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAg
ICAgICAgICAieCI6IDYzNSwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogLTM5NQorICAg
ICAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAg
ICAgICAgICAgICAieCI6IDYzNSwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogLTM5NQor
ICAgICAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAg
ICAgICAgICAgICAgICAieCI6IDYzNSwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogNjA1
CisgICAgICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAg
ICAgICAgICAgICAgICAgICJ4IjogNjM1LAorICAgICAgICAgICAgICAgICAgICAgICAgInkiOiA2
MDUKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIF0sCisgICAgICAgICAg
ICAgICAgWworICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAi
eCI6IDYzNSwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogLTM5NQorICAgICAgICAgICAg
ICAgICAgICB9LAorICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAg
ICAieCI6IDYzNSwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogLTM5NQorICAgICAgICAg
ICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAg
ICAgICAieCI6IDYzNSwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogNjA1CisgICAgICAg
ICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAg
ICAgICAgICJ4IjogNjM1LAorICAgICAgICAgICAgICAgICAgICAgICAgInkiOiA2MDUKKyAgICAg
ICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIF0sCisgICAgICAgICAgICAgICAgWwor
ICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAieCI6IDYzNSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogLTM5NQorICAgICAgICAgICAgICAgICAgICB9
LAorICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAieCI6IDYz
NSwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogLTM5NQorICAgICAgICAgICAgICAgICAg
ICB9LAorICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAieCI6
IDYzNSwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogNjA1CisgICAgICAgICAgICAgICAg
ICAgIH0sCisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICJ4
IjogNjM1LAorICAgICAgICAgICAgICAgICAgICAgICAgInkiOiA2MDUKKyAgICAgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgICAgIF0KKyAgICAgICAgICAgIF0sCisgICAgICAgICAgICAi
c2hvd1J1bGVycyI6IGZhbHNlLAorICAgICAgICAgICAgImNvbnRlbnRDb2xvciI6ICJyZ2JhKDEx
MSwgMTY4LCAyMjAsIDAuNjU4ODIzNTI5NDExNzY0NykiLAorICAgICAgICAgICAgImNvbnRlbnRP
dXRsaW5lQ29sb3IiOiAicmdiYSgwLCAwLCAwLCAwKSIsCisgICAgICAgICAgICAicGFkZGluZ0Nv
bG9yIjogInJnYmEoMTQ3LCAxOTYsIDEyNSwgMC41NDkwMTk2MDc4NDMxMzczKSIsCisgICAgICAg
ICAgICAiYm9yZGVyQ29sb3IiOiAicmdiYSgyNTUsIDIyOSwgMTUzLCAwLjY1ODgyMzUyOTQxMTc2
NDcpIiwKKyAgICAgICAgICAgICJtYXJnaW5Db2xvciI6ICJyZ2JhKDI0NiwgMTc4LCAxMDcsIDAu
NjU4ODIzNTI5NDExNzY0NykiLAorICAgICAgICAgICAgInJlZ2lvbiI6IHsKKyAgICAgICAgICAg
ICAgICAicXVhZCI6IFsKKyAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAg
ICAgICAgIngiOiA2MzUsCisgICAgICAgICAgICAgICAgICAgICAgICAieSI6IDUKKyAgICAgICAg
ICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAg
ICAgICAgIngiOiA4MzUsCisgICAgICAgICAgICAgICAgICAgICAgICAieSI6IDUKKyAgICAgICAg
ICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAg
ICAgICAgIngiOiA4MzUsCisgICAgICAgICAgICAgICAgICAgICAgICAieSI6IDYwNQorICAgICAg
ICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAg
ICAgICAgICAieCI6IDYzNSwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogNjA1CisgICAg
ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBdCisgICAgICAgICAgICB9CisgICAg
ICAgIH0KKyAgICBdLAorICAgICJlbGVtZW50SW5mbyI6IHsKKyAgICAgICAgInRhZ05hbWUiOiAi
ZGl2IiwKKyAgICAgICAgImlkVmFsdWUiOiAiaW5zcGVjdGVkRWxlbWVudCIsCisgICAgICAgICJu
b2RlV2lkdGgiOiAiMjAwIiwKKyAgICAgICAgIm5vZGVIZWlnaHQiOiAiMTAwMCIsCisgICAgICAg
ICJjb250ZW50Rmxvd0luZm8iOiB7CisgICAgICAgICAgICAibmFtZSI6ICJmbG93IgorICAgICAg
ICB9CisgICAgfQorfQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xl
dGUvZWxlbWVudHMvaGlnaGxpZ2h0LXJlZ2lvbnMtZmxvdy1ob3Jpei1idC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZWxlbWVudHMvaGlnaGxpZ2h0LXJlZ2lv
bnMtZmxvdy1ob3Jpei1idC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzBmMWU3YzJkYzhhYWI1
MmFjMTk5ZDQwOTM4ZDMzYzk1MGQ5N2YwMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2luc3BlY3Rvci1vYnNvbGV0ZS9lbGVtZW50cy9oaWdobGlnaHQtcmVnaW9ucy1mbG93LWhvcml6
LWJ0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQyOCBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
ZSBwb3NpdGlvbiBhbmQgc2l6ZSBvZiB0aGUgaGlnaGxpZ2h0ZWQgbm9kZSBpbnNpZGUgQ1NTIFJl
Z2lvbnMuCisKK3sKKyAgICAic2Nyb2xsIjogeworICAgICAgICAieCI6IDAsCisgICAgICAgICJ5
IjogMAorICAgIH0sCisgICAgImZyYWdtZW50cyI6IFsKKyAgICAgICAgeworICAgICAgICAgICAg
InF1YWRzIjogWworICAgICAgICAgICAgICAgIFsKKyAgICAgICAgICAgICAgICAgICAgeworICAg
ICAgICAgICAgICAgICAgICAgICAgIngiOiAzMCwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ5
IjogLTczMAorICAgICAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICAgICB7Cisg
ICAgICAgICAgICAgICAgICAgICAgICAieCI6IDIzMCwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICJ5IjogLTczMAorICAgICAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICAgICB7
CisgICAgICAgICAgICAgICAgICAgICAgICAieCI6IDIzMCwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICJ5IjogMjcwCisgICAgICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAg
IHsKKyAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogMzAsCisgICAgICAgICAgICAgICAgICAg
ICAgICAieSI6IDI3MAorICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgXSwK
KyAgICAgICAgICAgICAgICBbCisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAg
ICAgICAgICAgICJ4IjogMzAsCisgICAgICAgICAgICAgICAgICAgICAgICAieSI6IC03MzAKKyAg
ICAgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAg
ICAgICAgICAgICAgIngiOiAyMzAsCisgICAgICAgICAgICAgICAgICAgICAgICAieSI6IC03MzAK
KyAgICAgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAg
ICAgICAgICAgICAgICAgIngiOiAyMzAsCisgICAgICAgICAgICAgICAgICAgICAgICAieSI6IDI3
MAorICAgICAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICAgICB7CisgICAgICAg
ICAgICAgICAgICAgICAgICAieCI6IDMwLAorICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAy
NzAKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIF0sCisgICAgICAgICAg
ICAgICAgWworICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAi
eCI6IDMwLAorICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAtNzMwCisgICAgICAgICAgICAg
ICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAg
ICJ4IjogMjMwLAorICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAtNzMwCisgICAgICAgICAg
ICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAg
ICAgICJ4IjogMjMwLAorICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAyNzAKKyAgICAgICAg
ICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAg
ICAgICAgIngiOiAzMCwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMjcwCisgICAgICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBdLAorICAgICAgICAgICAgICAgIFsKKyAg
ICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAzMCwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICJ5IjogLTczMAorICAgICAgICAgICAgICAgICAgICB9LAor
ICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAieCI6IDIzMCwK
KyAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogLTczMAorICAgICAgICAgICAgICAgICAgICB9
LAorICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAieCI6IDIz
MCwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMjcwCisgICAgICAgICAgICAgICAgICAg
IH0sCisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICJ4Ijog
MzAsCisgICAgICAgICAgICAgICAgICAgICAgICAieSI6IDI3MAorICAgICAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICAgICAgXQorICAgICAgICAgICAgXSwKKyAgICAgICAgICAgICJzaG93
UnVsZXJzIjogZmFsc2UsCisgICAgICAgICAgICAiY29udGVudENvbG9yIjogInJnYmEoMTExLCAx
NjgsIDIyMCwgMC42NTg4MjM1Mjk0MTE3NjQ3KSIsCisgICAgICAgICAgICAiY29udGVudE91dGxp
bmVDb2xvciI6ICJyZ2JhKDAsIDAsIDAsIDApIiwKKyAgICAgICAgICAgICJwYWRkaW5nQ29sb3Ii
OiAicmdiYSgxNDcsIDE5NiwgMTI1LCAwLjU0OTAxOTYwNzg0MzEzNzMpIiwKKyAgICAgICAgICAg
ICJib3JkZXJDb2xvciI6ICJyZ2JhKDI1NSwgMjI5LCAxNTMsIDAuNjU4ODIzNTI5NDExNzY0Nyki
LAorICAgICAgICAgICAgIm1hcmdpbkNvbG9yIjogInJnYmEoMjQ2LCAxNzgsIDEwNywgMC42NTg4
MjM1Mjk0MTE3NjQ3KSIsCisgICAgICAgICAgICAicmVnaW9uIjogeworICAgICAgICAgICAgICAg
ICJxdWFkIjogWworICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAg
ICAieCI6IDMwLAorICAgICAgICAgICAgICAgICAgICAgICAgInkiOiA3MAorICAgICAgICAgICAg
ICAgICAgICB9LAorICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAg
ICAieCI6IDIzMCwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogNzAKKyAgICAgICAgICAg
ICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAg
ICAgIngiOiAyMzAsCisgICAgICAgICAgICAgICAgICAgICAgICAieSI6IDI3MAorICAgICAgICAg
ICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAg
ICAgICAieCI6IDMwLAorICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAyNzAKKyAgICAgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIF0KKyAgICAgICAgICAgIH0KKyAgICAgICAg
fSwKKyAgICAgICAgeworICAgICAgICAgICAgInF1YWRzIjogWworICAgICAgICAgICAgICAgIFsK
KyAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAyOTAs
CisgICAgICAgICAgICAgICAgICAgICAgICAieSI6IC01MzAKKyAgICAgICAgICAgICAgICAgICAg
fSwKKyAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAz
OTAsCisgICAgICAgICAgICAgICAgICAgICAgICAieSI6IC01MzAKKyAgICAgICAgICAgICAgICAg
ICAgfSwKKyAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgIngi
OiAzOTAsCisgICAgICAgICAgICAgICAgICAgICAgICAieSI6IDQ3MAorICAgICAgICAgICAgICAg
ICAgICB9LAorICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAi
eCI6IDI5MCwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogNDcwCisgICAgICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgICAgICBdLAorICAgICAgICAgICAgICAgIFsKKyAgICAgICAg
ICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAyOTAsCisgICAgICAg
ICAgICAgICAgICAgICAgICAieSI6IC01MzAKKyAgICAgICAgICAgICAgICAgICAgfSwKKyAgICAg
ICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAzOTAsCisgICAg
ICAgICAgICAgICAgICAgICAgICAieSI6IC01MzAKKyAgICAgICAgICAgICAgICAgICAgfSwKKyAg
ICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAzOTAsCisg
ICAgICAgICAgICAgICAgICAgICAgICAieSI6IDQ3MAorICAgICAgICAgICAgICAgICAgICB9LAor
ICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAieCI6IDI5MCwK
KyAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogNDcwCisgICAgICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgICAgICBdLAorICAgICAgICAgICAgICAgIFsKKyAgICAgICAgICAgICAgICAg
ICAgeworICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAyOTAsCisgICAgICAgICAgICAgICAg
ICAgICAgICAieSI6IC01MzAKKyAgICAgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAg
ICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAzOTAsCisgICAgICAgICAgICAg
ICAgICAgICAgICAieSI6IC01MzAKKyAgICAgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAg
ICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAzOTAsCisgICAgICAgICAg
ICAgICAgICAgICAgICAieSI6IDQ3MAorICAgICAgICAgICAgICAgICAgICB9LAorICAgICAgICAg
ICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAieCI6IDI5MCwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICJ5IjogNDcwCisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgICAgICBdLAorICAgICAgICAgICAgICAgIFsKKyAgICAgICAgICAgICAgICAgICAgeworICAg
ICAgICAgICAgICAgICAgICAgICAgIngiOiAyOTAsCisgICAgICAgICAgICAgICAgICAgICAgICAi
eSI6IC01MzAKKyAgICAgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICAgICAgewor
ICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAzOTAsCisgICAgICAgICAgICAgICAgICAgICAg
ICAieSI6IC01MzAKKyAgICAgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICAgICAg
eworICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAzOTAsCisgICAgICAgICAgICAgICAgICAg
ICAgICAieSI6IDQ3MAorICAgICAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICAg
ICB7CisgICAgICAgICAgICAgICAgICAgICAgICAieCI6IDI5MCwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICJ5IjogNDcwCisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBd
CisgICAgICAgICAgICBdLAorICAgICAgICAgICAgInNob3dSdWxlcnMiOiBmYWxzZSwKKyAgICAg
ICAgICAgICJjb250ZW50Q29sb3IiOiAicmdiYSgxMTEsIDE2OCwgMjIwLCAwLjY1ODgyMzUyOTQx
MTc2NDcpIiwKKyAgICAgICAgICAgICJjb250ZW50T3V0bGluZUNvbG9yIjogInJnYmEoMCwgMCwg
MCwgMCkiLAorICAgICAgICAgICAgInBhZGRpbmdDb2xvciI6ICJyZ2JhKDE0NywgMTk2LCAxMjUs
IDAuNTQ5MDE5NjA3ODQzMTM3MykiLAorICAgICAgICAgICAgImJvcmRlckNvbG9yIjogInJnYmEo
MjU1LCAyMjksIDE1MywgMC42NTg4MjM1Mjk0MTE3NjQ3KSIsCisgICAgICAgICAgICAibWFyZ2lu
Q29sb3IiOiAicmdiYSgyNDYsIDE3OCwgMTA3LCAwLjY1ODgyMzUyOTQxMTc2NDcpIiwKKyAgICAg
ICAgICAgICJyZWdpb24iOiB7CisgICAgICAgICAgICAgICAgInF1YWQiOiBbCisgICAgICAgICAg
ICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogMjkwLAorICAgICAgICAg
ICAgICAgICAgICAgICAgInkiOiA3MAorICAgICAgICAgICAgICAgICAgICB9LAorICAgICAgICAg
ICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAieCI6IDQ5MCwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICJ5IjogNzAKKyAgICAgICAgICAgICAgICAgICAgfSwKKyAgICAgICAg
ICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA0OTAsCisgICAgICAg
ICAgICAgICAgICAgICAgICAieSI6IDI3MAorICAgICAgICAgICAgICAgICAgICB9LAorICAgICAg
ICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAieCI6IDI5MCwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICJ5IjogMjcwCisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgICAgICBdCisgICAgICAgICAgICB9CisgICAgICAgIH0sCisgICAgICAgIHsKKyAgICAg
ICAgICAgICJxdWFkcyI6IFsKKyAgICAgICAgICAgICAgICBbCisgICAgICAgICAgICAgICAgICAg
IHsKKyAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogNDI1LAorICAgICAgICAgICAgICAgICAg
ICAgICAgInkiOiAtMzA1CisgICAgICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAg
ICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogNjI1LAorICAgICAgICAgICAgICAg
ICAgICAgICAgInkiOiAtMzA1CisgICAgICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAg
ICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogNjI1LAorICAgICAgICAgICAg
ICAgICAgICAgICAgInkiOiA2OTUKKyAgICAgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAg
ICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA0MjUsCisgICAgICAgICAg
ICAgICAgICAgICAgICAieSI6IDY5NQorICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICAgICAgXSwKKyAgICAgICAgICAgICAgICBbCisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAg
ICAgICAgICAgICAgICAgICAgICJ4IjogNDI1LAorICAgICAgICAgICAgICAgICAgICAgICAgInki
OiAtMzA1CisgICAgICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAgIHsKKyAg
ICAgICAgICAgICAgICAgICAgICAgICJ4IjogNjI1LAorICAgICAgICAgICAgICAgICAgICAgICAg
InkiOiAtMzA1CisgICAgICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAgIHsK
KyAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogNjI1LAorICAgICAgICAgICAgICAgICAgICAg
ICAgInkiOiA2OTUKKyAgICAgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICAgICAg
eworICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA0MjUsCisgICAgICAgICAgICAgICAgICAg
ICAgICAieSI6IDY5NQorICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgXSwK
KyAgICAgICAgICAgICAgICBbCisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAg
ICAgICAgICAgICJ4IjogNDI1LAorICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAtMzA1Cisg
ICAgICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAg
ICAgICAgICAgICAgICJ4IjogNjI1LAorICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAtMzA1
CisgICAgICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAg
ICAgICAgICAgICAgICAgICJ4IjogNjI1LAorICAgICAgICAgICAgICAgICAgICAgICAgInkiOiA2
OTUKKyAgICAgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICAgICAgeworICAgICAg
ICAgICAgICAgICAgICAgICAgIngiOiA0MjUsCisgICAgICAgICAgICAgICAgICAgICAgICAieSI6
IDY5NQorICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgXSwKKyAgICAgICAg
ICAgICAgICBbCisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAg
ICJ4IjogNDI1LAorICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAtMzA1CisgICAgICAgICAg
ICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAg
ICAgICJ4IjogNjI1LAorICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAtMzA1CisgICAgICAg
ICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAg
ICAgICAgICJ4IjogNjI1LAorICAgICAgICAgICAgICAgICAgICAgICAgInkiOiA2OTUKKyAgICAg
ICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAg
ICAgICAgICAgIngiOiA0MjUsCisgICAgICAgICAgICAgICAgICAgICAgICAieSI6IDY5NQorICAg
ICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgXQorICAgICAgICAgICAgXSwKKyAg
ICAgICAgICAgICJzaG93UnVsZXJzIjogZmFsc2UsCisgICAgICAgICAgICAiY29udGVudENvbG9y
IjogInJnYmEoMTExLCAxNjgsIDIyMCwgMC42NTg4MjM1Mjk0MTE3NjQ3KSIsCisgICAgICAgICAg
ICAiY29udGVudE91dGxpbmVDb2xvciI6ICJyZ2JhKDAsIDAsIDAsIDApIiwKKyAgICAgICAgICAg
ICJwYWRkaW5nQ29sb3IiOiAicmdiYSgxNDcsIDE5NiwgMTI1LCAwLjU0OTAxOTYwNzg0MzEzNzMp
IiwKKyAgICAgICAgICAgICJib3JkZXJDb2xvciI6ICJyZ2JhKDI1NSwgMjI5LCAxNTMsIDAuNjU4
ODIzNTI5NDExNzY0NykiLAorICAgICAgICAgICAgIm1hcmdpbkNvbG9yIjogInJnYmEoMjQ2LCAx
NzgsIDEwNywgMC42NTg4MjM1Mjk0MTE3NjQ3KSIsCisgICAgICAgICAgICAicmVnaW9uIjogewor
ICAgICAgICAgICAgICAgICJxdWFkIjogWworICAgICAgICAgICAgICAgICAgICB7CisgICAgICAg
ICAgICAgICAgICAgICAgICAieCI6IDQyNSwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ5Ijog
Mjk1CisgICAgICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAg
ICAgICAgICAgICAgICAgICAgICJ4IjogNjI1LAorICAgICAgICAgICAgICAgICAgICAgICAgInki
OiAyOTUKKyAgICAgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICAgICAgeworICAg
ICAgICAgICAgICAgICAgICAgICAgIngiOiA2MjUsCisgICAgICAgICAgICAgICAgICAgICAgICAi
eSI6IDI5NQorICAgICAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICAgICB7Cisg
ICAgICAgICAgICAgICAgICAgICAgICAieCI6IDQyNSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICJ5IjogMjk1CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBdCisgICAg
ICAgICAgICB9CisgICAgICAgIH0sCisgICAgICAgIHsKKyAgICAgICAgICAgICJxdWFkcyI6IFsK
KyAgICAgICAgICAgICAgICBbCisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAg
ICAgICAgICAgICJ4IjogNjM1LAorICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAtMzA1Cisg
ICAgICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAg
ICAgICAgICAgICAgICJ4IjogNjM1LAorICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAtMzA1
CisgICAgICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAg
ICAgICAgICAgICAgICAgICJ4IjogNjM1LAorICAgICAgICAgICAgICAgICAgICAgICAgInkiOiA2
OTUKKyAgICAgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICAgICAgeworICAgICAg
ICAgICAgICAgICAgICAgICAgIngiOiA2MzUsCisgICAgICAgICAgICAgICAgICAgICAgICAieSI6
IDY5NQorICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgXSwKKyAgICAgICAg
ICAgICAgICBbCisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAg
ICJ4IjogNjM1LAorICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAtMzA1CisgICAgICAgICAg
ICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAg
ICAgICJ4IjogNjM1LAorICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAtMzA1CisgICAgICAg
ICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAg
ICAgICAgICJ4IjogNjM1LAorICAgICAgICAgICAgICAgICAgICAgICAgInkiOiA2OTUKKyAgICAg
ICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAg
ICAgICAgICAgIngiOiA2MzUsCisgICAgICAgICAgICAgICAgICAgICAgICAieSI6IDY5NQorICAg
ICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgXSwKKyAgICAgICAgICAgICAgICBb
CisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogNjM1
LAorICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAtMzA1CisgICAgICAgICAgICAgICAgICAg
IH0sCisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICJ4Ijog
NjM1LAorICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAtMzA1CisgICAgICAgICAgICAgICAg
ICAgIH0sCisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICJ4
IjogNjM1LAorICAgICAgICAgICAgICAgICAgICAgICAgInkiOiA2OTUKKyAgICAgICAgICAgICAg
ICAgICAgfSwKKyAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAg
IngiOiA2MzUsCisgICAgICAgICAgICAgICAgICAgICAgICAieSI6IDY5NQorICAgICAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICAgICAgXSwKKyAgICAgICAgICAgICAgICBbCisgICAgICAg
ICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogNjM1LAorICAgICAg
ICAgICAgICAgICAgICAgICAgInkiOiAtMzA1CisgICAgICAgICAgICAgICAgICAgIH0sCisgICAg
ICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogNjM1LAorICAg
ICAgICAgICAgICAgICAgICAgICAgInkiOiAtMzA1CisgICAgICAgICAgICAgICAgICAgIH0sCisg
ICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogNjM1LAor
ICAgICAgICAgICAgICAgICAgICAgICAgInkiOiA2OTUKKyAgICAgICAgICAgICAgICAgICAgfSwK
KyAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA2MzUs
CisgICAgICAgICAgICAgICAgICAgICAgICAieSI6IDY5NQorICAgICAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICAgICAgXQorICAgICAgICAgICAgXSwKKyAgICAgICAgICAgICJzaG93UnVs
ZXJzIjogZmFsc2UsCisgICAgICAgICAgICAiY29udGVudENvbG9yIjogInJnYmEoMTExLCAxNjgs
IDIyMCwgMC42NTg4MjM1Mjk0MTE3NjQ3KSIsCisgICAgICAgICAgICAiY29udGVudE91dGxpbmVD
b2xvciI6ICJyZ2JhKDAsIDAsIDAsIDApIiwKKyAgICAgICAgICAgICJwYWRkaW5nQ29sb3IiOiAi
cmdiYSgxNDcsIDE5NiwgMTI1LCAwLjU0OTAxOTYwNzg0MzEzNzMpIiwKKyAgICAgICAgICAgICJi
b3JkZXJDb2xvciI6ICJyZ2JhKDI1NSwgMjI5LCAxNTMsIDAuNjU4ODIzNTI5NDExNzY0NykiLAor
ICAgICAgICAgICAgIm1hcmdpbkNvbG9yIjogInJnYmEoMjQ2LCAxNzgsIDEwNywgMC42NTg4MjM1
Mjk0MTE3NjQ3KSIsCisgICAgICAgICAgICAicmVnaW9uIjogeworICAgICAgICAgICAgICAgICJx
dWFkIjogWworICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAi
eCI6IDYzNSwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMjk1CisgICAgICAgICAgICAg
ICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAg
ICJ4IjogODM1LAorICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAyOTUKKyAgICAgICAgICAg
ICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAg
ICAgIngiOiA4MzUsCisgICAgICAgICAgICAgICAgICAgICAgICAieSI6IDg5NQorICAgICAgICAg
ICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAg
ICAgICAieCI6IDYzNSwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogODk1CisgICAgICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBdCisgICAgICAgICAgICB9CisgICAgICAg
IH0KKyAgICBdLAorICAgICJlbGVtZW50SW5mbyI6IHsKKyAgICAgICAgInRhZ05hbWUiOiAiZGl2
IiwKKyAgICAgICAgImlkVmFsdWUiOiAiaW5zcGVjdGVkRWxlbWVudCIsCisgICAgICAgICJub2Rl
V2lkdGgiOiAiMjAwIiwKKyAgICAgICAgIm5vZGVIZWlnaHQiOiAiMTAwMCIsCisgICAgICAgICJj
b250ZW50Rmxvd0luZm8iOiB7CisgICAgICAgICAgICAibmFtZSI6ICJmbG93IgorICAgICAgICB9
CisgICAgfQorfQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUv
ZWxlbWVudHMvaGlnaGxpZ2h0LXJlZ2lvbnMtZmxvdy1ob3Jpei1idC5odG1sIGIvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yLW9ic29sZXRlL2VsZW1lbnRzL2hpZ2hsaWdodC1yZWdpb25zLWZsb3ctaG9y
aXotYnQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mNjg1MzllNjM4ZThlM2I5M2VkMTdlMGUwYjlkMTZjOTMy
ODhmOWM3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRl
L2VsZW1lbnRzL2hpZ2hsaWdodC1yZWdpb25zLWZsb3ctaG9yaXotYnQuaHRtbApAQCAtMCwwICsx
LDg3IEBACis8IWRvY3R5cGUgaHRtbD4KKzxodG1sIHN0eWxlPSItd2Via2l0LXdyaXRpbmctbW9k
ZTogaG9yaXpvbnRhbC1idDsiPgorPGhlYWQ+CisKKzxzdHlsZT4KKworYm9keSB7CisgICAgbWFy
Z2luOiAwOworfQorI2Zsb3cgeworICAgIC13ZWJraXQtZmxvdy1pbnRvOiBmbG93OworfQorI2Nv
bnRhaW5lciB7CisgICAgd2lkdGg6IDQwMHB4OworICAgIGhlaWdodDogNDAwcHg7CisgICAgYmFj
a2dyb3VuZC1jb2xvcjogZ3JleTsKK30KKyNpbnNwZWN0ZWRFbGVtZW50IHsKKyAgICB3aWR0aDog
MTAwJTsKKyAgICBoZWlnaHQ6IDEwMDBweDsKKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsK
K30KKy5yZWdpb24geworICAgIG1hcmdpbjogNXB4OworICAgIGJvcmRlcjogc29saWQgMTBweCBh
cXVhOworICAgIHBhZGRpbmc6IDE1cHg7CisgICAgd2lkdGg6IDIwMHB4OworICAgIGhlaWdodDog
MjAwcHg7CisgICAgYmFja2dyb3VuZC1jb2xvcjogYmx1ZTsKKyAgICBmbG9hdDogbGVmdDsKKyAg
ICAtd2Via2l0LWZsb3ctZnJvbTogZmxvdzsKK30KKy5zbWFsbCB7CisgICAgd2lkdGg6IDEwMHB4
OworfQorLnplcm8taGVpZ2h0IHsKKyAgICBib3JkZXI6IG5vbmU7CisgICAgaGVpZ2h0OiAwcHg7
CisgICAgcGFkZGluZzogMDsKK30KKy56ZXJvLXNpemUgeworICAgIGJvcmRlcjogbm9uZTsKKyAg
ICB3aWR0aDogMHB4OworICAgIGhlaWdodDogMHB4OworICAgIHBhZGRpbmc6IDA7Cit9CisuaGlk
ZGVuIHsKKyAgICBkaXNwbGF5OiBub25lOworfQorI2Rlc2NyaXB0aW9uIHsKKyAgICBjbGVhcjog
Ym90aDsKK30KKworPC9zdHlsZT4KKworPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5z
cGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9o
dHRwL3Rlc3RzL2luc3BlY3Rvci9lbGVtZW50cy10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+
CisKK2Z1bmN0aW9uIHRlc3QoKQoreworICAgIGZ1bmN0aW9uIG5vZGVTZWxlY3RlZChub2RlKQor
ICAgIHsKKyAgICAgICAgUnVudGltZUFnZW50LmV2YWx1YXRlKCJkdW1wSW5zcGVjdG9ySGlnaGxp
Z2h0ZWROb2RlKCkiLCBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCk7CisgICAgfQorCisgICAg
SW5zcGVjdG9yVGVzdC5zZWxlY3ROb2RlV2l0aElkKCJpbnNwZWN0ZWRFbGVtZW50Iiwgbm9kZVNl
bGVjdGVkKTsKK30KKworPC9zY3JpcHQ+Cis8L2hlYWQ+CisKKzxib2R5IG9ubG9hZD0icnVuVGVz
dCgpIj4KKworPGRpdiBpZD0iZmxvdyI+CisgICAgPGRpdiBpZD0iaW5zcGVjdGVkRWxlbWVudCI+
PC9kaXY+Cis8L2Rpdj4KKworPGRpdiBjbGFzcz0icmVnaW9uIj48L2Rpdj4KKzxkaXYgY2xhc3M9
InJlZ2lvbiBzbWFsbCI+PC9kaXY+Cis8ZGl2IGNsYXNzPSJyZWdpb24gemVyby1oZWlnaHQiPjwv
ZGl2PgorPGRpdiBjbGFzcz0icmVnaW9uIHplcm8tc2l6ZSI+PC9kaXY+Cis8ZGl2IGNsYXNzPSJy
ZWdpb24gaGlkZGVuIj48L2Rpdj4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IHZlcmlm
aWVzIHRoZSBwb3NpdGlvbiBhbmQgc2l6ZSBvZiB0aGUgaGlnaGxpZ2h0ZWQgbm9kZSBpbnNpZGUg
Q1NTIFJlZ2lvbnMuPC9wPgorCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZWxlbWVudHMvaGlnaGxpZ2h0LXJlZ2lvbnMtZmxvdy10
cmFuc2Zvcm0tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2Vs
ZW1lbnRzL2hpZ2hsaWdodC1yZWdpb25zLWZsb3ctdHJhbnNmb3JtLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi45ZTI1ZTkzOWU5ZjAwODM4NmFiZjIxZDRiOTM0MzQ3Zjk5NDgzMGIyCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2VsZW1lbnRzL2hpZ2hs
aWdodC1yZWdpb25zLWZsb3ctdHJhbnNmb3JtLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQyOCBA
QAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoZSBwb3NpdGlvbiBhbmQgc2l6ZSBvZiB0aGUgaGlnaGxp
Z2h0ZWQgbm9kZSBpbnNpZGUgQ1NTIFJlZ2lvbnMuCisKK3sKKyAgICAic2Nyb2xsIjogeworICAg
ICAgICAieCI6IDAsCisgICAgICAgICJ5IjogMAorICAgIH0sCisgICAgImZyYWdtZW50cyI6IFsK
KyAgICAgICAgeworICAgICAgICAgICAgInF1YWRzIjogWworICAgICAgICAgICAgICAgIFsKKyAg
ICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAyMDcsCisg
ICAgICAgICAgICAgICAgICAgICAgICAieSI6IDI2CisgICAgICAgICAgICAgICAgICAgIH0sCisg
ICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogMzk1LAor
ICAgICAgICAgICAgICAgICAgICAgICAgInkiOiA5NAorICAgICAgICAgICAgICAgICAgICB9LAor
ICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAieCI6IDUzLAor
ICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAxMDM0CisgICAgICAgICAgICAgICAgICAgIH0s
CisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogLTEz
NSwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogOTY2CisgICAgICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgICAgICBdLAorICAgICAgICAgICAgICAgIFsKKyAgICAgICAgICAgICAg
ICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAyMDcsCisgICAgICAgICAgICAg
ICAgICAgICAgICAieSI6IDI2CisgICAgICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAg
ICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogMzk1LAorICAgICAgICAgICAg
ICAgICAgICAgICAgInkiOiA5NAorICAgICAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAg
ICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAieCI6IDUzLAorICAgICAgICAgICAg
ICAgICAgICAgICAgInkiOiAxMDM0CisgICAgICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAg
ICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogLTEzNSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICJ5IjogOTY2CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgICAgICBdLAorICAgICAgICAgICAgICAgIFsKKyAgICAgICAgICAgICAgICAgICAgeworICAg
ICAgICAgICAgICAgICAgICAgICAgIngiOiAyMDcsCisgICAgICAgICAgICAgICAgICAgICAgICAi
eSI6IDI2CisgICAgICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAgIHsKKyAg
ICAgICAgICAgICAgICAgICAgICAgICJ4IjogMzk1LAorICAgICAgICAgICAgICAgICAgICAgICAg
InkiOiA5NAorICAgICAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICAgICB7Cisg
ICAgICAgICAgICAgICAgICAgICAgICAieCI6IDUzLAorICAgICAgICAgICAgICAgICAgICAgICAg
InkiOiAxMDM0CisgICAgICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAgIHsK
KyAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogLTEzNSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICJ5IjogOTY2CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBdLAor
ICAgICAgICAgICAgICAgIFsKKyAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAg
ICAgICAgICAgIngiOiAyMDcsCisgICAgICAgICAgICAgICAgICAgICAgICAieSI6IDI2CisgICAg
ICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAg
ICAgICAgICAgICJ4IjogMzk1LAorICAgICAgICAgICAgICAgICAgICAgICAgInkiOiA5NAorICAg
ICAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAg
ICAgICAgICAgICAieCI6IDUzLAorICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAxMDM0Cisg
ICAgICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAg
ICAgICAgICAgICAgICJ4IjogLTEzNSwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogOTY2
CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBdCisgICAgICAgICAgICBd
LAorICAgICAgICAgICAgInNob3dSdWxlcnMiOiBmYWxzZSwKKyAgICAgICAgICAgICJjb250ZW50
Q29sb3IiOiAicmdiYSgxMTEsIDE2OCwgMjIwLCAwLjY1ODgyMzUyOTQxMTc2NDcpIiwKKyAgICAg
ICAgICAgICJjb250ZW50T3V0bGluZUNvbG9yIjogInJnYmEoMCwgMCwgMCwgMCkiLAorICAgICAg
ICAgICAgInBhZGRpbmdDb2xvciI6ICJyZ2JhKDE0NywgMTk2LCAxMjUsIDAuNTQ5MDE5NjA3ODQz
MTM3MykiLAorICAgICAgICAgICAgImJvcmRlckNvbG9yIjogInJnYmEoMjU1LCAyMjksIDE1Mywg
MC42NTg4MjM1Mjk0MTE3NjQ3KSIsCisgICAgICAgICAgICAibWFyZ2luQ29sb3IiOiAicmdiYSgy
NDYsIDE3OCwgMTA3LCAwLjY1ODgyMzUyOTQxMTc2NDcpIiwKKyAgICAgICAgICAgICJyZWdpb24i
OiB7CisgICAgICAgICAgICAgICAgInF1YWQiOiBbCisgICAgICAgICAgICAgICAgICAgIHsKKyAg
ICAgICAgICAgICAgICAgICAgICAgICJ4IjogMzAsCisgICAgICAgICAgICAgICAgICAgICAgICAi
eSI6IDMwCisgICAgICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAgIHsKKyAg
ICAgICAgICAgICAgICAgICAgICAgICJ4IjogMjMwLAorICAgICAgICAgICAgICAgICAgICAgICAg
InkiOiAzMAorICAgICAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICAgICB7Cisg
ICAgICAgICAgICAgICAgICAgICAgICAieCI6IDIzMCwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICJ5IjogMjMwCisgICAgICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAgIHsK
KyAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogMzAsCisgICAgICAgICAgICAgICAgICAgICAg
ICAieSI6IDIzMAorICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgXQorICAg
ICAgICAgICAgfQorICAgICAgICB9LAorICAgICAgICB7CisgICAgICAgICAgICAicXVhZHMiOiBb
CisgICAgICAgICAgICAgICAgWworICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAg
ICAgICAgICAgICAieCI6IDQ2NywKKyAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogLTE3NAor
ICAgICAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAg
ICAgICAgICAgICAgICAieCI6IDU2MSwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogLTE0
MAorICAgICAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICAgICB7CisgICAgICAg
ICAgICAgICAgICAgICAgICAieCI6IDIxOSwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ5Ijog
ODAwCisgICAgICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAg
ICAgICAgICAgICAgICAgICAgICJ4IjogMTI1LAorICAgICAgICAgICAgICAgICAgICAgICAgInki
OiA3NjYKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIF0sCisgICAgICAg
ICAgICAgICAgWworICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAg
ICAieCI6IDQ2NywKKyAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogLTE3NAorICAgICAgICAg
ICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAg
ICAgICAieCI6IDU2MSwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogLTE0MAorICAgICAg
ICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAg
ICAgICAgICAieCI6IDIxOSwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogODAwCisgICAg
ICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAg
ICAgICAgICAgICJ4IjogMTI1LAorICAgICAgICAgICAgICAgICAgICAgICAgInkiOiA3NjYKKyAg
ICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIF0sCisgICAgICAgICAgICAgICAg
WworICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAieCI6IDQ2
NywKKyAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogLTE3NAorICAgICAgICAgICAgICAgICAg
ICB9LAorICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAieCI6
IDU2MSwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogLTE0MAorICAgICAgICAgICAgICAg
ICAgICB9LAorICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAi
eCI6IDIxOSwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogODAwCisgICAgICAgICAgICAg
ICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAg
ICJ4IjogMTI1LAorICAgICAgICAgICAgICAgICAgICAgICAgInkiOiA3NjYKKyAgICAgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgICAgIF0sCisgICAgICAgICAgICAgICAgWworICAgICAg
ICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAieCI6IDQ2NywKKyAgICAg
ICAgICAgICAgICAgICAgICAgICJ5IjogLTE3NAorICAgICAgICAgICAgICAgICAgICB9LAorICAg
ICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAieCI6IDU2MSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICJ5IjogLTE0MAorICAgICAgICAgICAgICAgICAgICB9LAor
ICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAieCI6IDIxOSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogODAwCisgICAgICAgICAgICAgICAgICAgIH0s
CisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogMTI1
LAorICAgICAgICAgICAgICAgICAgICAgICAgInkiOiA3NjYKKyAgICAgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgICAgIF0KKyAgICAgICAgICAgIF0sCisgICAgICAgICAgICAic2hvd1J1
bGVycyI6IGZhbHNlLAorICAgICAgICAgICAgImNvbnRlbnRDb2xvciI6ICJyZ2JhKDExMSwgMTY4
LCAyMjAsIDAuNjU4ODIzNTI5NDExNzY0NykiLAorICAgICAgICAgICAgImNvbnRlbnRPdXRsaW5l
Q29sb3IiOiAicmdiYSgwLCAwLCAwLCAwKSIsCisgICAgICAgICAgICAicGFkZGluZ0NvbG9yIjog
InJnYmEoMTQ3LCAxOTYsIDEyNSwgMC41NDkwMTk2MDc4NDMxMzczKSIsCisgICAgICAgICAgICAi
Ym9yZGVyQ29sb3IiOiAicmdiYSgyNTUsIDIyOSwgMTUzLCAwLjY1ODgyMzUyOTQxMTc2NDcpIiwK
KyAgICAgICAgICAgICJtYXJnaW5Db2xvciI6ICJyZ2JhKDI0NiwgMTc4LCAxMDcsIDAuNjU4ODIz
NTI5NDExNzY0NykiLAorICAgICAgICAgICAgInJlZ2lvbiI6IHsKKyAgICAgICAgICAgICAgICAi
cXVhZCI6IFsKKyAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAg
IngiOiAyOTAsCisgICAgICAgICAgICAgICAgICAgICAgICAieSI6IDMwCisgICAgICAgICAgICAg
ICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAg
ICJ4IjogNDkwLAorICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAzMAorICAgICAgICAgICAg
ICAgICAgICB9LAorICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAg
ICAieCI6IDQ5MCwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMjMwCisgICAgICAgICAg
ICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAg
ICAgICJ4IjogMjkwLAorICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAyMzAKKyAgICAgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIF0KKyAgICAgICAgICAgIH0KKyAgICAgICAg
fSwKKyAgICAgICAgeworICAgICAgICAgICAgInF1YWRzIjogWworICAgICAgICAgICAgICAgIFsK
KyAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA2MDIs
CisgICAgICAgICAgICAgICAgICAgICAgICAieSI6IC0zOTkKKyAgICAgICAgICAgICAgICAgICAg
fSwKKyAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA3
OTAsCisgICAgICAgICAgICAgICAgICAgICAgICAieSI6IC0zMzEKKyAgICAgICAgICAgICAgICAg
ICAgfSwKKyAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgIngi
OiA0NDgsCisgICAgICAgICAgICAgICAgICAgICAgICAieSI6IDYwOQorICAgICAgICAgICAgICAg
ICAgICB9LAorICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAi
eCI6IDI2MCwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogNTQxCisgICAgICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgICAgICBdLAorICAgICAgICAgICAgICAgIFsKKyAgICAgICAg
ICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA2MDIsCisgICAgICAg
ICAgICAgICAgICAgICAgICAieSI6IC0zOTkKKyAgICAgICAgICAgICAgICAgICAgfSwKKyAgICAg
ICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA3OTAsCisgICAg
ICAgICAgICAgICAgICAgICAgICAieSI6IC0zMzEKKyAgICAgICAgICAgICAgICAgICAgfSwKKyAg
ICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA0NDgsCisg
ICAgICAgICAgICAgICAgICAgICAgICAieSI6IDYwOQorICAgICAgICAgICAgICAgICAgICB9LAor
ICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAieCI6IDI2MCwK
KyAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogNTQxCisgICAgICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgICAgICBdLAorICAgICAgICAgICAgICAgIFsKKyAgICAgICAgICAgICAgICAg
ICAgeworICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA2MDIsCisgICAgICAgICAgICAgICAg
ICAgICAgICAieSI6IC0zOTkKKyAgICAgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAg
ICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA3OTAsCisgICAgICAgICAgICAg
ICAgICAgICAgICAieSI6IC0zMzEKKyAgICAgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAg
ICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA0NDgsCisgICAgICAgICAg
ICAgICAgICAgICAgICAieSI6IDYwOQorICAgICAgICAgICAgICAgICAgICB9LAorICAgICAgICAg
ICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAieCI6IDI2MCwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICJ5IjogNTQxCisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgICAgICBdLAorICAgICAgICAgICAgICAgIFsKKyAgICAgICAgICAgICAgICAgICAgeworICAg
ICAgICAgICAgICAgICAgICAgICAgIngiOiA2MDIsCisgICAgICAgICAgICAgICAgICAgICAgICAi
eSI6IC0zOTkKKyAgICAgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICAgICAgewor
ICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA3OTAsCisgICAgICAgICAgICAgICAgICAgICAg
ICAieSI6IC0zMzEKKyAgICAgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICAgICAg
eworICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA0NDgsCisgICAgICAgICAgICAgICAgICAg
ICAgICAieSI6IDYwOQorICAgICAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICAg
ICB7CisgICAgICAgICAgICAgICAgICAgICAgICAieCI6IDI2MCwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICJ5IjogNTQxCisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBd
CisgICAgICAgICAgICBdLAorICAgICAgICAgICAgInNob3dSdWxlcnMiOiBmYWxzZSwKKyAgICAg
ICAgICAgICJjb250ZW50Q29sb3IiOiAicmdiYSgxMTEsIDE2OCwgMjIwLCAwLjY1ODgyMzUyOTQx
MTc2NDcpIiwKKyAgICAgICAgICAgICJjb250ZW50T3V0bGluZUNvbG9yIjogInJnYmEoMCwgMCwg
MCwgMCkiLAorICAgICAgICAgICAgInBhZGRpbmdDb2xvciI6ICJyZ2JhKDE0NywgMTk2LCAxMjUs
IDAuNTQ5MDE5NjA3ODQzMTM3MykiLAorICAgICAgICAgICAgImJvcmRlckNvbG9yIjogInJnYmEo
MjU1LCAyMjksIDE1MywgMC42NTg4MjM1Mjk0MTE3NjQ3KSIsCisgICAgICAgICAgICAibWFyZ2lu
Q29sb3IiOiAicmdiYSgyNDYsIDE3OCwgMTA3LCAwLjY1ODgyMzUyOTQxMTc2NDcpIiwKKyAgICAg
ICAgICAgICJyZWdpb24iOiB7CisgICAgICAgICAgICAgICAgInF1YWQiOiBbCisgICAgICAgICAg
ICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogNDI1LAorICAgICAgICAg
ICAgICAgICAgICAgICAgInkiOiA1CisgICAgICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAg
ICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogNjI1LAorICAgICAgICAg
ICAgICAgICAgICAgICAgInkiOiA1CisgICAgICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAg
ICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogNjI1LAorICAgICAgICAg
ICAgICAgICAgICAgICAgInkiOiA1CisgICAgICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAg
ICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogNDI1LAorICAgICAgICAg
ICAgICAgICAgICAgICAgInkiOiA1CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
ICAgICBdCisgICAgICAgICAgICB9CisgICAgICAgIH0sCisgICAgICAgIHsKKyAgICAgICAgICAg
ICJxdWFkcyI6IFsKKyAgICAgICAgICAgICAgICBbCisgICAgICAgICAgICAgICAgICAgIHsKKyAg
ICAgICAgICAgICAgICAgICAgICAgICJ4IjogODEyLAorICAgICAgICAgICAgICAgICAgICAgICAg
InkiOiAtMzk5CisgICAgICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAgIHsK
KyAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogODEyLAorICAgICAgICAgICAgICAgICAgICAg
ICAgInkiOiAtMzk5CisgICAgICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAg
IHsKKyAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogNDcwLAorICAgICAgICAgICAgICAgICAg
ICAgICAgInkiOiA1NDEKKyAgICAgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICAg
ICAgeworICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA0NzAsCisgICAgICAgICAgICAgICAg
ICAgICAgICAieSI6IDU0MQorICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAg
XSwKKyAgICAgICAgICAgICAgICBbCisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAg
ICAgICAgICAgICAgICJ4IjogODEyLAorICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAtMzk5
CisgICAgICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAg
ICAgICAgICAgICAgICAgICJ4IjogODEyLAorICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAt
Mzk5CisgICAgICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAg
ICAgICAgICAgICAgICAgICAgICJ4IjogNDcwLAorICAgICAgICAgICAgICAgICAgICAgICAgInki
OiA1NDEKKyAgICAgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICAgICAgeworICAg
ICAgICAgICAgICAgICAgICAgICAgIngiOiA0NzAsCisgICAgICAgICAgICAgICAgICAgICAgICAi
eSI6IDU0MQorICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgXSwKKyAgICAg
ICAgICAgICAgICBbCisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAg
ICAgICJ4IjogODEyLAorICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAtMzk5CisgICAgICAg
ICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAg
ICAgICAgICJ4IjogODEyLAorICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAtMzk5CisgICAg
ICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAg
ICAgICAgICAgICJ4IjogNDcwLAorICAgICAgICAgICAgICAgICAgICAgICAgInkiOiA1NDEKKyAg
ICAgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAg
ICAgICAgICAgICAgIngiOiA0NzAsCisgICAgICAgICAgICAgICAgICAgICAgICAieSI6IDU0MQor
ICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgXSwKKyAgICAgICAgICAgICAg
ICBbCisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICJ4Ijog
ODEyLAorICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAtMzk5CisgICAgICAgICAgICAgICAg
ICAgIH0sCisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICJ4
IjogODEyLAorICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAtMzk5CisgICAgICAgICAgICAg
ICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAg
ICJ4IjogNDcwLAorICAgICAgICAgICAgICAgICAgICAgICAgInkiOiA1NDEKKyAgICAgICAgICAg
ICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAg
ICAgIngiOiA0NzAsCisgICAgICAgICAgICAgICAgICAgICAgICAieSI6IDU0MQorICAgICAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgXQorICAgICAgICAgICAgXSwKKyAgICAgICAg
ICAgICJzaG93UnVsZXJzIjogZmFsc2UsCisgICAgICAgICAgICAiY29udGVudENvbG9yIjogInJn
YmEoMTExLCAxNjgsIDIyMCwgMC42NTg4MjM1Mjk0MTE3NjQ3KSIsCisgICAgICAgICAgICAiY29u
dGVudE91dGxpbmVDb2xvciI6ICJyZ2JhKDAsIDAsIDAsIDApIiwKKyAgICAgICAgICAgICJwYWRk
aW5nQ29sb3IiOiAicmdiYSgxNDcsIDE5NiwgMTI1LCAwLjU0OTAxOTYwNzg0MzEzNzMpIiwKKyAg
ICAgICAgICAgICJib3JkZXJDb2xvciI6ICJyZ2JhKDI1NSwgMjI5LCAxNTMsIDAuNjU4ODIzNTI5
NDExNzY0NykiLAorICAgICAgICAgICAgIm1hcmdpbkNvbG9yIjogInJnYmEoMjQ2LCAxNzgsIDEw
NywgMC42NTg4MjM1Mjk0MTE3NjQ3KSIsCisgICAgICAgICAgICAicmVnaW9uIjogeworICAgICAg
ICAgICAgICAgICJxdWFkIjogWworICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAg
ICAgICAgICAgICAieCI6IDYzNSwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogNQorICAg
ICAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAg
ICAgICAgICAgICAieCI6IDgzNSwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogNQorICAg
ICAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAg
ICAgICAgICAgICAieCI6IDgzNSwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogNjA1Cisg
ICAgICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAg
ICAgICAgICAgICAgICJ4IjogNjM1LAorICAgICAgICAgICAgICAgICAgICAgICAgInkiOiA2MDUK
KyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIF0KKyAgICAgICAgICAgIH0K
KyAgICAgICAgfQorICAgIF0sCisgICAgImVsZW1lbnRJbmZvIjogeworICAgICAgICAidGFnTmFt
ZSI6ICJkaXYiLAorICAgICAgICAiaWRWYWx1ZSI6ICJpbnNwZWN0ZWRFbGVtZW50IiwKKyAgICAg
ICAgIm5vZGVXaWR0aCI6ICIyMDAiLAorICAgICAgICAibm9kZUhlaWdodCI6ICIxMDAwIiwKKyAg
ICAgICAgImNvbnRlbnRGbG93SW5mbyI6IHsKKyAgICAgICAgICAgICJuYW1lIjogImZsb3ciCisg
ICAgICAgIH0KKyAgICB9Cit9CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1v
YnNvbGV0ZS9lbGVtZW50cy9oaWdobGlnaHQtcmVnaW9ucy1mbG93LXRyYW5zZm9ybS1ob3Jpei1i
dC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZWxlbWVudHMv
aGlnaGxpZ2h0LXJlZ2lvbnMtZmxvdy10cmFuc2Zvcm0taG9yaXotYnQtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmMwNTM4NjkzZGY0ZTJiNzI1OGNkNDk3ZWRmOTI4YmZjNWQwZTM3MWIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZWxlbWVudHMvaGln
aGxpZ2h0LXJlZ2lvbnMtZmxvdy10cmFuc2Zvcm0taG9yaXotYnQtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsNDI4IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhlIHBvc2l0aW9uIGFuZCBzaXplIG9m
IHRoZSBoaWdobGlnaHRlZCBub2RlIGluc2lkZSBDU1MgUmVnaW9ucy4KKworeworICAgICJzY3Jv
bGwiOiB7CisgICAgICAgICJ4IjogMCwKKyAgICAgICAgInkiOiAwCisgICAgfSwKKyAgICAiZnJh
Z21lbnRzIjogWworICAgICAgICB7CisgICAgICAgICAgICAicXVhZHMiOiBbCisgICAgICAgICAg
ICAgICAgWworICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAi
eCI6IDIwNywKKyAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogLTczNAorICAgICAgICAgICAg
ICAgICAgICB9LAorICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAg
ICAieCI6IDM5NSwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogLTY2NgorICAgICAgICAg
ICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAg
ICAgICAieCI6IDUzLAorICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAyNzQKKyAgICAgICAg
ICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAg
ICAgICAgIngiOiAtMTM1LAorICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAyMDYKKyAgICAg
ICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIF0sCisgICAgICAgICAgICAgICAgWwor
ICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAieCI6IDIwNywK
KyAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogLTczNAorICAgICAgICAgICAgICAgICAgICB9
LAorICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAieCI6IDM5
NSwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogLTY2NgorICAgICAgICAgICAgICAgICAg
ICB9LAorICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAieCI6
IDUzLAorICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAyNzQKKyAgICAgICAgICAgICAgICAg
ICAgfSwKKyAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgIngi
OiAtMTM1LAorICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAyMDYKKyAgICAgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgICAgIF0sCisgICAgICAgICAgICAgICAgWworICAgICAgICAg
ICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAieCI6IDIwNywKKyAgICAgICAg
ICAgICAgICAgICAgICAgICJ5IjogLTczNAorICAgICAgICAgICAgICAgICAgICB9LAorICAgICAg
ICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAieCI6IDM5NSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICJ5IjogLTY2NgorICAgICAgICAgICAgICAgICAgICB9LAorICAg
ICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAieCI6IDUzLAorICAg
ICAgICAgICAgICAgICAgICAgICAgInkiOiAyNzQKKyAgICAgICAgICAgICAgICAgICAgfSwKKyAg
ICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAtMTM1LAor
ICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAyMDYKKyAgICAgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgICAgIF0sCisgICAgICAgICAgICAgICAgWworICAgICAgICAgICAgICAgICAg
ICB7CisgICAgICAgICAgICAgICAgICAgICAgICAieCI6IDIwNywKKyAgICAgICAgICAgICAgICAg
ICAgICAgICJ5IjogLTczNAorICAgICAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAg
ICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAieCI6IDM5NSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICJ5IjogLTY2NgorICAgICAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAg
ICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAieCI6IDUzLAorICAgICAgICAgICAg
ICAgICAgICAgICAgInkiOiAyNzQKKyAgICAgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAg
ICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAtMTM1LAorICAgICAgICAg
ICAgICAgICAgICAgICAgInkiOiAyMDYKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgICAgIF0KKyAgICAgICAgICAgIF0sCisgICAgICAgICAgICAic2hvd1J1bGVycyI6IGZhbHNl
LAorICAgICAgICAgICAgImNvbnRlbnRDb2xvciI6ICJyZ2JhKDExMSwgMTY4LCAyMjAsIDAuNjU4
ODIzNTI5NDExNzY0NykiLAorICAgICAgICAgICAgImNvbnRlbnRPdXRsaW5lQ29sb3IiOiAicmdi
YSgwLCAwLCAwLCAwKSIsCisgICAgICAgICAgICAicGFkZGluZ0NvbG9yIjogInJnYmEoMTQ3LCAx
OTYsIDEyNSwgMC41NDkwMTk2MDc4NDMxMzczKSIsCisgICAgICAgICAgICAiYm9yZGVyQ29sb3Ii
OiAicmdiYSgyNTUsIDIyOSwgMTUzLCAwLjY1ODgyMzUyOTQxMTc2NDcpIiwKKyAgICAgICAgICAg
ICJtYXJnaW5Db2xvciI6ICJyZ2JhKDI0NiwgMTc4LCAxMDcsIDAuNjU4ODIzNTI5NDExNzY0Nyki
LAorICAgICAgICAgICAgInJlZ2lvbiI6IHsKKyAgICAgICAgICAgICAgICAicXVhZCI6IFsKKyAg
ICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAzMCwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICJ5IjogNzAKKyAgICAgICAgICAgICAgICAgICAgfSwKKyAg
ICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAyMzAsCisg
ICAgICAgICAgICAgICAgICAgICAgICAieSI6IDcwCisgICAgICAgICAgICAgICAgICAgIH0sCisg
ICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogMjMwLAor
ICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAyNzAKKyAgICAgICAgICAgICAgICAgICAgfSwK
KyAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAzMCwK
KyAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMjcwCisgICAgICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgICAgICBdCisgICAgICAgICAgICB9CisgICAgICAgIH0sCisgICAgICAgIHsK
KyAgICAgICAgICAgICJxdWFkcyI6IFsKKyAgICAgICAgICAgICAgICBbCisgICAgICAgICAgICAg
ICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogNDY3LAorICAgICAgICAgICAg
ICAgICAgICAgICAgInkiOiAtNTM0CisgICAgICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAg
ICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogNTYxLAorICAgICAgICAg
ICAgICAgICAgICAgICAgInkiOiAtNTAwCisgICAgICAgICAgICAgICAgICAgIH0sCisgICAgICAg
ICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogMjE5LAorICAgICAg
ICAgICAgICAgICAgICAgICAgInkiOiA0NDAKKyAgICAgICAgICAgICAgICAgICAgfSwKKyAgICAg
ICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAxMjUsCisgICAg
ICAgICAgICAgICAgICAgICAgICAieSI6IDQwNgorICAgICAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICAgICAgXSwKKyAgICAgICAgICAgICAgICBbCisgICAgICAgICAgICAgICAgICAgIHsK
KyAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogNDY3LAorICAgICAgICAgICAgICAgICAgICAg
ICAgInkiOiAtNTM0CisgICAgICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAg
IHsKKyAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogNTYxLAorICAgICAgICAgICAgICAgICAg
ICAgICAgInkiOiAtNTAwCisgICAgICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAg
ICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogMjE5LAorICAgICAgICAgICAgICAg
ICAgICAgICAgInkiOiA0NDAKKyAgICAgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAg
ICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAxMjUsCisgICAgICAgICAgICAg
ICAgICAgICAgICAieSI6IDQwNgorICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAg
ICAgXSwKKyAgICAgICAgICAgICAgICBbCisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAg
ICAgICAgICAgICAgICAgICJ4IjogNDY3LAorICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAt
NTM0CisgICAgICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAg
ICAgICAgICAgICAgICAgICAgICJ4IjogNTYxLAorICAgICAgICAgICAgICAgICAgICAgICAgInki
OiAtNTAwCisgICAgICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAgIHsKKyAg
ICAgICAgICAgICAgICAgICAgICAgICJ4IjogMjE5LAorICAgICAgICAgICAgICAgICAgICAgICAg
InkiOiA0NDAKKyAgICAgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICAgICAgewor
ICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAxMjUsCisgICAgICAgICAgICAgICAgICAgICAg
ICAieSI6IDQwNgorICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgXSwKKyAg
ICAgICAgICAgICAgICBbCisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAg
ICAgICAgICJ4IjogNDY3LAorICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAtNTM0CisgICAg
ICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAg
ICAgICAgICAgICJ4IjogNTYxLAorICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAtNTAwCisg
ICAgICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAg
ICAgICAgICAgICAgICJ4IjogMjE5LAorICAgICAgICAgICAgICAgICAgICAgICAgInkiOiA0NDAK
KyAgICAgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAg
ICAgICAgICAgICAgICAgIngiOiAxMjUsCisgICAgICAgICAgICAgICAgICAgICAgICAieSI6IDQw
NgorICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgXQorICAgICAgICAgICAg
XSwKKyAgICAgICAgICAgICJzaG93UnVsZXJzIjogZmFsc2UsCisgICAgICAgICAgICAiY29udGVu
dENvbG9yIjogInJnYmEoMTExLCAxNjgsIDIyMCwgMC42NTg4MjM1Mjk0MTE3NjQ3KSIsCisgICAg
ICAgICAgICAiY29udGVudE91dGxpbmVDb2xvciI6ICJyZ2JhKDAsIDAsIDAsIDApIiwKKyAgICAg
ICAgICAgICJwYWRkaW5nQ29sb3IiOiAicmdiYSgxNDcsIDE5NiwgMTI1LCAwLjU0OTAxOTYwNzg0
MzEzNzMpIiwKKyAgICAgICAgICAgICJib3JkZXJDb2xvciI6ICJyZ2JhKDI1NSwgMjI5LCAxNTMs
IDAuNjU4ODIzNTI5NDExNzY0NykiLAorICAgICAgICAgICAgIm1hcmdpbkNvbG9yIjogInJnYmEo
MjQ2LCAxNzgsIDEwNywgMC42NTg4MjM1Mjk0MTE3NjQ3KSIsCisgICAgICAgICAgICAicmVnaW9u
IjogeworICAgICAgICAgICAgICAgICJxdWFkIjogWworICAgICAgICAgICAgICAgICAgICB7Cisg
ICAgICAgICAgICAgICAgICAgICAgICAieCI6IDI5MCwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICJ5IjogNzAKKyAgICAgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICAgICAgewor
ICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA0OTAsCisgICAgICAgICAgICAgICAgICAgICAg
ICAieSI6IDcwCisgICAgICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAgIHsK
KyAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogNDkwLAorICAgICAgICAgICAgICAgICAgICAg
ICAgInkiOiAyNzAKKyAgICAgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICAgICAg
eworICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAyOTAsCisgICAgICAgICAgICAgICAgICAg
ICAgICAieSI6IDI3MAorICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgXQor
ICAgICAgICAgICAgfQorICAgICAgICB9LAorICAgICAgICB7CisgICAgICAgICAgICAicXVhZHMi
OiBbCisgICAgICAgICAgICAgICAgWworICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAg
ICAgICAgICAgICAgICAieCI6IDYwMiwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogLTMw
OQorICAgICAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICAgICB7CisgICAgICAg
ICAgICAgICAgICAgICAgICAieCI6IDc5MCwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ5Ijog
LTI0MQorICAgICAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICAgICB7CisgICAg
ICAgICAgICAgICAgICAgICAgICAieCI6IDQ0OCwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ5
IjogNjk5CisgICAgICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAgIHsKKyAg
ICAgICAgICAgICAgICAgICAgICAgICJ4IjogMjYwLAorICAgICAgICAgICAgICAgICAgICAgICAg
InkiOiA2MzEKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIF0sCisgICAg
ICAgICAgICAgICAgWworICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAg
ICAgICAieCI6IDYwMiwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogLTMwOQorICAgICAg
ICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAg
ICAgICAgICAieCI6IDc5MCwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogLTI0MQorICAg
ICAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAg
ICAgICAgICAgICAieCI6IDQ0OCwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogNjk5Cisg
ICAgICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAg
ICAgICAgICAgICAgICJ4IjogMjYwLAorICAgICAgICAgICAgICAgICAgICAgICAgInkiOiA2MzEK
KyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIF0sCisgICAgICAgICAgICAg
ICAgWworICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAieCI6
IDYwMiwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogLTMwOQorICAgICAgICAgICAgICAg
ICAgICB9LAorICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAi
eCI6IDc5MCwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogLTI0MQorICAgICAgICAgICAg
ICAgICAgICB9LAorICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAg
ICAieCI6IDQ0OCwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogNjk5CisgICAgICAgICAg
ICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAg
ICAgICJ4IjogMjYwLAorICAgICAgICAgICAgICAgICAgICAgICAgInkiOiA2MzEKKyAgICAgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIF0sCisgICAgICAgICAgICAgICAgWworICAg
ICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAieCI6IDYwMiwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICJ5IjogLTMwOQorICAgICAgICAgICAgICAgICAgICB9LAor
ICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAieCI6IDc5MCwK
KyAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogLTI0MQorICAgICAgICAgICAgICAgICAgICB9
LAorICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAieCI6IDQ0
OCwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogNjk5CisgICAgICAgICAgICAgICAgICAg
IH0sCisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICJ4Ijog
MjYwLAorICAgICAgICAgICAgICAgICAgICAgICAgInkiOiA2MzEKKyAgICAgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgICAgIF0KKyAgICAgICAgICAgIF0sCisgICAgICAgICAgICAic2hv
d1J1bGVycyI6IGZhbHNlLAorICAgICAgICAgICAgImNvbnRlbnRDb2xvciI6ICJyZ2JhKDExMSwg
MTY4LCAyMjAsIDAuNjU4ODIzNTI5NDExNzY0NykiLAorICAgICAgICAgICAgImNvbnRlbnRPdXRs
aW5lQ29sb3IiOiAicmdiYSgwLCAwLCAwLCAwKSIsCisgICAgICAgICAgICAicGFkZGluZ0NvbG9y
IjogInJnYmEoMTQ3LCAxOTYsIDEyNSwgMC41NDkwMTk2MDc4NDMxMzczKSIsCisgICAgICAgICAg
ICAiYm9yZGVyQ29sb3IiOiAicmdiYSgyNTUsIDIyOSwgMTUzLCAwLjY1ODgyMzUyOTQxMTc2NDcp
IiwKKyAgICAgICAgICAgICJtYXJnaW5Db2xvciI6ICJyZ2JhKDI0NiwgMTc4LCAxMDcsIDAuNjU4
ODIzNTI5NDExNzY0NykiLAorICAgICAgICAgICAgInJlZ2lvbiI6IHsKKyAgICAgICAgICAgICAg
ICAicXVhZCI6IFsKKyAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAg
ICAgIngiOiA0MjUsCisgICAgICAgICAgICAgICAgICAgICAgICAieSI6IDI5NQorICAgICAgICAg
ICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAg
ICAgICAieCI6IDYyNSwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMjk1CisgICAgICAg
ICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAg
ICAgICAgICJ4IjogNjI1LAorICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAyOTUKKyAgICAg
ICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAg
ICAgICAgICAgIngiOiA0MjUsCisgICAgICAgICAgICAgICAgICAgICAgICAieSI6IDI5NQorICAg
ICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgXQorICAgICAgICAgICAgfQorICAg
ICAgICB9LAorICAgICAgICB7CisgICAgICAgICAgICAicXVhZHMiOiBbCisgICAgICAgICAgICAg
ICAgWworICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAieCI6
IDgxMiwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogLTMwOQorICAgICAgICAgICAgICAg
ICAgICB9LAorICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAi
eCI6IDgxMiwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogLTMwOQorICAgICAgICAgICAg
ICAgICAgICB9LAorICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAg
ICAieCI6IDQ3MCwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogNjMxCisgICAgICAgICAg
ICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAg
ICAgICJ4IjogNDcwLAorICAgICAgICAgICAgICAgICAgICAgICAgInkiOiA2MzEKKyAgICAgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIF0sCisgICAgICAgICAgICAgICAgWworICAg
ICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAieCI6IDgxMiwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICJ5IjogLTMwOQorICAgICAgICAgICAgICAgICAgICB9LAor
ICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAieCI6IDgxMiwK
KyAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogLTMwOQorICAgICAgICAgICAgICAgICAgICB9
LAorICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAieCI6IDQ3
MCwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogNjMxCisgICAgICAgICAgICAgICAgICAg
IH0sCisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICJ4Ijog
NDcwLAorICAgICAgICAgICAgICAgICAgICAgICAgInkiOiA2MzEKKyAgICAgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgICAgIF0sCisgICAgICAgICAgICAgICAgWworICAgICAgICAgICAg
ICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAieCI6IDgxMiwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICJ5IjogLTMwOQorICAgICAgICAgICAgICAgICAgICB9LAorICAgICAgICAg
ICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAieCI6IDgxMiwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICJ5IjogLTMwOQorICAgICAgICAgICAgICAgICAgICB9LAorICAgICAg
ICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAieCI6IDQ3MCwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICJ5IjogNjMxCisgICAgICAgICAgICAgICAgICAgIH0sCisgICAg
ICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogNDcwLAorICAg
ICAgICAgICAgICAgICAgICAgICAgInkiOiA2MzEKKyAgICAgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgICAgIF0sCisgICAgICAgICAgICAgICAgWworICAgICAgICAgICAgICAgICAgICB7
CisgICAgICAgICAgICAgICAgICAgICAgICAieCI6IDgxMiwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICJ5IjogLTMwOQorICAgICAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICAg
ICB7CisgICAgICAgICAgICAgICAgICAgICAgICAieCI6IDgxMiwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICJ5IjogLTMwOQorICAgICAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAg
ICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAieCI6IDQ3MCwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICJ5IjogNjMxCisgICAgICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAg
ICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogNDcwLAorICAgICAgICAgICAg
ICAgICAgICAgICAgInkiOiA2MzEKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
ICAgIF0KKyAgICAgICAgICAgIF0sCisgICAgICAgICAgICAic2hvd1J1bGVycyI6IGZhbHNlLAor
ICAgICAgICAgICAgImNvbnRlbnRDb2xvciI6ICJyZ2JhKDExMSwgMTY4LCAyMjAsIDAuNjU4ODIz
NTI5NDExNzY0NykiLAorICAgICAgICAgICAgImNvbnRlbnRPdXRsaW5lQ29sb3IiOiAicmdiYSgw
LCAwLCAwLCAwKSIsCisgICAgICAgICAgICAicGFkZGluZ0NvbG9yIjogInJnYmEoMTQ3LCAxOTYs
IDEyNSwgMC41NDkwMTk2MDc4NDMxMzczKSIsCisgICAgICAgICAgICAiYm9yZGVyQ29sb3IiOiAi
cmdiYSgyNTUsIDIyOSwgMTUzLCAwLjY1ODgyMzUyOTQxMTc2NDcpIiwKKyAgICAgICAgICAgICJt
YXJnaW5Db2xvciI6ICJyZ2JhKDI0NiwgMTc4LCAxMDcsIDAuNjU4ODIzNTI5NDExNzY0NykiLAor
ICAgICAgICAgICAgInJlZ2lvbiI6IHsKKyAgICAgICAgICAgICAgICAicXVhZCI6IFsKKyAgICAg
ICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA2MzUsCisgICAg
ICAgICAgICAgICAgICAgICAgICAieSI6IDI5NQorICAgICAgICAgICAgICAgICAgICB9LAorICAg
ICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAieCI6IDgzNSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICJ5IjogMjk1CisgICAgICAgICAgICAgICAgICAgIH0sCisg
ICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogODM1LAor
ICAgICAgICAgICAgICAgICAgICAgICAgInkiOiA4OTUKKyAgICAgICAgICAgICAgICAgICAgfSwK
KyAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA2MzUs
CisgICAgICAgICAgICAgICAgICAgICAgICAieSI6IDg5NQorICAgICAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICAgICAgXQorICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgXSwKKyAg
ICAiZWxlbWVudEluZm8iOiB7CisgICAgICAgICJ0YWdOYW1lIjogImRpdiIsCisgICAgICAgICJp
ZFZhbHVlIjogImluc3BlY3RlZEVsZW1lbnQiLAorICAgICAgICAibm9kZVdpZHRoIjogIjIwMCIs
CisgICAgICAgICJub2RlSGVpZ2h0IjogIjEwMDAiLAorICAgICAgICAiY29udGVudEZsb3dJbmZv
IjogeworICAgICAgICAgICAgIm5hbWUiOiAiZmxvdyIKKyAgICAgICAgfQorICAgIH0KK30KKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2VsZW1lbnRzL2hpZ2hs
aWdodC1yZWdpb25zLWZsb3ctdHJhbnNmb3JtLWhvcml6LWJ0Lmh0bWwgYi9MYXlvdXRUZXN0cy9p
bnNwZWN0b3Itb2Jzb2xldGUvZWxlbWVudHMvaGlnaGxpZ2h0LXJlZ2lvbnMtZmxvdy10cmFuc2Zv
cm0taG9yaXotYnQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41OWIzY2EwOGE3ZTJjODQ4MTM5Yzk3YzQ5MjA1
NTJmYTg0YmE2ODVjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9i
c29sZXRlL2VsZW1lbnRzL2hpZ2hsaWdodC1yZWdpb25zLWZsb3ctdHJhbnNmb3JtLWhvcml6LWJ0
Lmh0bWwKQEAgLTAsMCArMSw4OSBAQAorPCFkb2N0eXBlIGh0bWw+Cis8aHRtbCBzdHlsZT0iLXdl
YmtpdC13cml0aW5nLW1vZGU6IGhvcml6b250YWwtYnQ7Ij4KKzxoZWFkPgorCis8c3R5bGU+CisK
K2JvZHkgeworICAgIG1hcmdpbjogMDsKK30KKyNmbG93IHsKKyAgICAtd2Via2l0LWZsb3ctaW50
bzogZmxvdzsKK30KKyNjb250YWluZXIgeworICAgIHdpZHRoOiA0MDBweDsKKyAgICBoZWlnaHQ6
IDQwMHB4OworICAgIGJhY2tncm91bmQtY29sb3I6IGdyZXk7Cit9CisjaW5zcGVjdGVkRWxlbWVu
dCB7CisgICAgd2lkdGg6IDEwMCU7CisgICAgaGVpZ2h0OiAxMDAwcHg7CisgICAgYmFja2dyb3Vu
ZC1jb2xvcjogZ3JlZW47CisgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgyMGRlZyk7Cisg
ICAgdHJhbnNmb3JtOiByb3RhdGUoMjBkZWcpOworfQorLnJlZ2lvbiB7CisgICAgbWFyZ2luOiA1
cHg7CisgICAgYm9yZGVyOiBzb2xpZCAxMHB4IGFxdWE7CisgICAgcGFkZGluZzogMTVweDsKKyAg
ICB3aWR0aDogMjAwcHg7CisgICAgaGVpZ2h0OiAyMDBweDsKKyAgICBiYWNrZ3JvdW5kLWNvbG9y
OiBibHVlOworICAgIGZsb2F0OiBsZWZ0OworICAgIC13ZWJraXQtZmxvdy1mcm9tOiBmbG93Owor
fQorLnNtYWxsIHsKKyAgICB3aWR0aDogMTAwcHg7Cit9CisuemVyby1oZWlnaHQgeworICAgIGJv
cmRlcjogbm9uZTsKKyAgICBoZWlnaHQ6IDBweDsKKyAgICBwYWRkaW5nOiAwOworfQorLnplcm8t
c2l6ZSB7CisgICAgYm9yZGVyOiBub25lOworICAgIHdpZHRoOiAwcHg7CisgICAgaGVpZ2h0OiAw
cHg7CisgICAgcGFkZGluZzogMDsKK30KKy5oaWRkZW4geworICAgIGRpc3BsYXk6IG5vbmU7Cit9
CisjZGVzY3JpcHRpb24geworICAgIGNsZWFyOiBib3RoOworfQorCis8L3N0eWxlPgorCis8c2Ny
aXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRz
LXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKworZnVuY3Rpb24gdGVzdCgpCit7CisgICAg
ZnVuY3Rpb24gbm9kZVNlbGVjdGVkKG5vZGUpCisgICAgeworICAgICAgICBSdW50aW1lQWdlbnQu
ZXZhbHVhdGUoImR1bXBJbnNwZWN0b3JIaWdobGlnaHRlZE5vZGUoKSIsIEluc3BlY3RvclRlc3Qu
Y29tcGxldGVUZXN0KTsKKyAgICB9CisKKyAgICBJbnNwZWN0b3JUZXN0LnNlbGVjdE5vZGVXaXRo
SWQoImluc3BlY3RlZEVsZW1lbnQiLCBub2RlU2VsZWN0ZWQpOworfQorCis8L3NjcmlwdD4KKzwv
aGVhZD4KKworPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgorCis8ZGl2IGlkPSJmbG93Ij4KKyAg
ICA8ZGl2IGlkPSJpbnNwZWN0ZWRFbGVtZW50Ij48L2Rpdj4KKzwvZGl2PgorCis8ZGl2IGNsYXNz
PSJyZWdpb24iPjwvZGl2PgorPGRpdiBjbGFzcz0icmVnaW9uIHNtYWxsIj48L2Rpdj4KKzxkaXYg
Y2xhc3M9InJlZ2lvbiB6ZXJvLWhlaWdodCI+PC9kaXY+Cis8ZGl2IGNsYXNzPSJyZWdpb24gemVy
by1zaXplIj48L2Rpdj4KKzxkaXYgY2xhc3M9InJlZ2lvbiBoaWRkZW4iPjwvZGl2PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhlIHBvc2l0aW9uIGFuZCBzaXplIG9m
IHRoZSBoaWdobGlnaHRlZCBub2RlIGluc2lkZSBDU1MgUmVnaW9ucy48L3A+CisKKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9lbGVt
ZW50cy9oaWdobGlnaHQtcmVnaW9ucy1mbG93LXRyYW5zZm9ybS12ZXJ0LWxyLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9lbGVtZW50cy9oaWdobGlnaHQtcmVn
aW9ucy1mbG93LXRyYW5zZm9ybS12ZXJ0LWxyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yYzEz
YTk0YjRlNmYxNmE3ZmNkMjcxYjkyYTQxNGZmYjEzOTBkZmE0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2VsZW1lbnRzL2hpZ2hsaWdodC1yZWdpb25z
LWZsb3ctdHJhbnNmb3JtLXZlcnQtbHItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNDI4IEBACitU
aGlzIHRlc3QgdmVyaWZpZXMgdGhlIHBvc2l0aW9uIGFuZCBzaXplIG9mIHRoZSBoaWdobGlnaHRl
ZCBub2RlIGluc2lkZSBDU1MgUmVnaW9ucy4KKworeworICAgICJzY3JvbGwiOiB7CisgICAgICAg
ICJ4IjogMCwKKyAgICAgICAgInkiOiAwCisgICAgfSwKKyAgICAiZnJhZ21lbnRzIjogWworICAg
ICAgICB7CisgICAgICAgICAgICAicXVhZHMiOiBbCisgICAgICAgICAgICAgICAgWworICAgICAg
ICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAieCI6IC0xODEsCisgICAg
ICAgICAgICAgICAgICAgICAgICAieSI6IC0xMzUKKyAgICAgICAgICAgICAgICAgICAgfSwKKyAg
ICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA3NTksCisg
ICAgICAgICAgICAgICAgICAgICAgICAieSI6IDIwNworICAgICAgICAgICAgICAgICAgICB9LAor
ICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAieCI6IDY5MSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMzk1CisgICAgICAgICAgICAgICAgICAgIH0s
CisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogLTI0
OSwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogNTMKKyAgICAgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgICAgIF0sCisgICAgICAgICAgICAgICAgWworICAgICAgICAgICAgICAg
ICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAieCI6IC0xODEsCisgICAgICAgICAgICAg
ICAgICAgICAgICAieSI6IC0xMzUKKyAgICAgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAg
ICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA3NTksCisgICAgICAgICAg
ICAgICAgICAgICAgICAieSI6IDIwNworICAgICAgICAgICAgICAgICAgICB9LAorICAgICAgICAg
ICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAieCI6IDY5MSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICJ5IjogMzk1CisgICAgICAgICAgICAgICAgICAgIH0sCisgICAgICAg
ICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogLTI0OSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICJ5IjogNTMKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgICAgIF0sCisgICAgICAgICAgICAgICAgWworICAgICAgICAgICAgICAgICAgICB7Cisg
ICAgICAgICAgICAgICAgICAgICAgICAieCI6IC0xODEsCisgICAgICAgICAgICAgICAgICAgICAg
ICAieSI6IC0xMzUKKyAgICAgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICAgICAg
eworICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA3NTksCisgICAgICAgICAgICAgICAgICAg
ICAgICAieSI6IDIwNworICAgICAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICAg
ICB7CisgICAgICAgICAgICAgICAgICAgICAgICAieCI6IDY5MSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICJ5IjogMzk1CisgICAgICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAg
ICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogLTI0OSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICJ5IjogNTMKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAg
IF0sCisgICAgICAgICAgICAgICAgWworICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAg
ICAgICAgICAgICAgICAieCI6IC0xODEsCisgICAgICAgICAgICAgICAgICAgICAgICAieSI6IC0x
MzUKKyAgICAgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICAgICAgeworICAgICAg
ICAgICAgICAgICAgICAgICAgIngiOiA3NTksCisgICAgICAgICAgICAgICAgICAgICAgICAieSI6
IDIwNworICAgICAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICAgICB7CisgICAg
ICAgICAgICAgICAgICAgICAgICAieCI6IDY5MSwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ5
IjogMzk1CisgICAgICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAgIHsKKyAg
ICAgICAgICAgICAgICAgICAgICAgICJ4IjogLTI0OSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICJ5IjogNTMKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIF0KKyAgICAg
ICAgICAgIF0sCisgICAgICAgICAgICAic2hvd1J1bGVycyI6IGZhbHNlLAorICAgICAgICAgICAg
ImNvbnRlbnRDb2xvciI6ICJyZ2JhKDExMSwgMTY4LCAyMjAsIDAuNjU4ODIzNTI5NDExNzY0Nyki
LAorICAgICAgICAgICAgImNvbnRlbnRPdXRsaW5lQ29sb3IiOiAicmdiYSgwLCAwLCAwLCAwKSIs
CisgICAgICAgICAgICAicGFkZGluZ0NvbG9yIjogInJnYmEoMTQ3LCAxOTYsIDEyNSwgMC41NDkw
MTk2MDc4NDMxMzczKSIsCisgICAgICAgICAgICAiYm9yZGVyQ29sb3IiOiAicmdiYSgyNTUsIDIy
OSwgMTUzLCAwLjY1ODgyMzUyOTQxMTc2NDcpIiwKKyAgICAgICAgICAgICJtYXJnaW5Db2xvciI6
ICJyZ2JhKDI0NiwgMTc4LCAxMDcsIDAuNjU4ODIzNTI5NDExNzY0NykiLAorICAgICAgICAgICAg
InJlZ2lvbiI6IHsKKyAgICAgICAgICAgICAgICAicXVhZCI6IFsKKyAgICAgICAgICAgICAgICAg
ICAgeworICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA1NTUsCisgICAgICAgICAgICAgICAg
ICAgICAgICAieSI6IDMwCisgICAgICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAg
ICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogNzU1LAorICAgICAgICAgICAgICAg
ICAgICAgICAgInkiOiAzMAorICAgICAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAg
ICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAieCI6IDc1NSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICJ5IjogMjMwCisgICAgICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAg
ICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogNTU1LAorICAgICAgICAgICAg
ICAgICAgICAgICAgInkiOiAyMzAKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
ICAgIF0KKyAgICAgICAgICAgIH0KKyAgICAgICAgfSwKKyAgICAgICAgeworICAgICAgICAgICAg
InF1YWRzIjogWworICAgICAgICAgICAgICAgIFsKKyAgICAgICAgICAgICAgICAgICAgeworICAg
ICAgICAgICAgICAgICAgICAgICAgIngiOiAtMjQxLAorICAgICAgICAgICAgICAgICAgICAgICAg
InkiOiAtMTM1CisgICAgICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAgIHsK
KyAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogNjk5LAorICAgICAgICAgICAgICAgICAgICAg
ICAgInkiOiAyMDcKKyAgICAgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICAgICAg
eworICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA2MzEsCisgICAgICAgICAgICAgICAgICAg
ICAgICAieSI6IDM5NQorICAgICAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICAg
ICB7CisgICAgICAgICAgICAgICAgICAgICAgICAieCI6IC0zMDksCisgICAgICAgICAgICAgICAg
ICAgICAgICAieSI6IDUzCisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBd
LAorICAgICAgICAgICAgICAgIFsKKyAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAg
ICAgICAgICAgICAgIngiOiAtMjQxLAorICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAtMTM1
CisgICAgICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAg
ICAgICAgICAgICAgICAgICJ4IjogNjk5LAorICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAy
MDcKKyAgICAgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICAgICAgeworICAgICAg
ICAgICAgICAgICAgICAgICAgIngiOiA2MzEsCisgICAgICAgICAgICAgICAgICAgICAgICAieSI6
IDM5NQorICAgICAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICAgICB7CisgICAg
ICAgICAgICAgICAgICAgICAgICAieCI6IC0zMDksCisgICAgICAgICAgICAgICAgICAgICAgICAi
eSI6IDUzCisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBdLAorICAgICAg
ICAgICAgICAgIFsKKyAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAg
ICAgIngiOiAtMjQxLAorICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAtMTM1CisgICAgICAg
ICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAg
ICAgICAgICJ4IjogNjk5LAorICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAyMDcKKyAgICAg
ICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAg
ICAgICAgICAgIngiOiA2MzEsCisgICAgICAgICAgICAgICAgICAgICAgICAieSI6IDM5NQorICAg
ICAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAg
ICAgICAgICAgICAieCI6IC0zMDksCisgICAgICAgICAgICAgICAgICAgICAgICAieSI6IDUzCisg
ICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBdLAorICAgICAgICAgICAgICAg
IFsKKyAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAt
MjQxLAorICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAtMTM1CisgICAgICAgICAgICAgICAg
ICAgIH0sCisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICJ4
IjogNjk5LAorICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAyMDcKKyAgICAgICAgICAgICAg
ICAgICAgfSwKKyAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAg
IngiOiA2MzEsCisgICAgICAgICAgICAgICAgICAgICAgICAieSI6IDM5NQorICAgICAgICAgICAg
ICAgICAgICB9LAorICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAg
ICAieCI6IC0zMDksCisgICAgICAgICAgICAgICAgICAgICAgICAieSI6IDUzCisgICAgICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBdCisgICAgICAgICAgICBdLAorICAgICAgICAg
ICAgInNob3dSdWxlcnMiOiBmYWxzZSwKKyAgICAgICAgICAgICJjb250ZW50Q29sb3IiOiAicmdi
YSgxMTEsIDE2OCwgMjIwLCAwLjY1ODgyMzUyOTQxMTc2NDcpIiwKKyAgICAgICAgICAgICJjb250
ZW50T3V0bGluZUNvbG9yIjogInJnYmEoMCwgMCwgMCwgMCkiLAorICAgICAgICAgICAgInBhZGRp
bmdDb2xvciI6ICJyZ2JhKDE0NywgMTk2LCAxMjUsIDAuNTQ5MDE5NjA3ODQzMTM3MykiLAorICAg
ICAgICAgICAgImJvcmRlckNvbG9yIjogInJnYmEoMjU1LCAyMjksIDE1MywgMC42NTg4MjM1Mjk0
MTE3NjQ3KSIsCisgICAgICAgICAgICAibWFyZ2luQ29sb3IiOiAicmdiYSgyNDYsIDE3OCwgMTA3
LCAwLjY1ODgyMzUyOTQxMTc2NDcpIiwKKyAgICAgICAgICAgICJyZWdpb24iOiB7CisgICAgICAg
ICAgICAgICAgInF1YWQiOiBbCisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAg
ICAgICAgICAgICJ4IjogMzk1LAorICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAzMAorICAg
ICAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAg
ICAgICAgICAgICAieCI6IDQ5NSwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMzAKKyAg
ICAgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAg
ICAgICAgICAgICAgIngiOiA0OTUsCisgICAgICAgICAgICAgICAgICAgICAgICAieSI6IDIzMAor
ICAgICAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAg
ICAgICAgICAgICAgICAieCI6IDM5NSwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMjMw
CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBdCisgICAgICAgICAgICB9
CisgICAgICAgIH0sCisgICAgICAgIHsKKyAgICAgICAgICAgICJxdWFkcyI6IFsKKyAgICAgICAg
ICAgICAgICBbCisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAg
ICJ4IjogLTExNiwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMTAwCisgICAgICAgICAg
ICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAg
ICAgICJ4IjogODI0LAorICAgICAgICAgICAgICAgICAgICAgICAgInkiOiA0NDIKKyAgICAgICAg
ICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAg
ICAgICAgIngiOiA4MjQsCisgICAgICAgICAgICAgICAgICAgICAgICAieSI6IDQ0MgorICAgICAg
ICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAg
ICAgICAgICAieCI6IC0xMTYsCisgICAgICAgICAgICAgICAgICAgICAgICAieSI6IDEwMAorICAg
ICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgXSwKKyAgICAgICAgICAgICAgICBb
CisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogLTEx
NiwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMTAwCisgICAgICAgICAgICAgICAgICAg
IH0sCisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICJ4Ijog
ODI0LAorICAgICAgICAgICAgICAgICAgICAgICAgInkiOiA0NDIKKyAgICAgICAgICAgICAgICAg
ICAgfSwKKyAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgIngi
OiA4MjQsCisgICAgICAgICAgICAgICAgICAgICAgICAieSI6IDQ0MgorICAgICAgICAgICAgICAg
ICAgICB9LAorICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAi
eCI6IC0xMTYsCisgICAgICAgICAgICAgICAgICAgICAgICAieSI6IDEwMAorICAgICAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICAgICAgXSwKKyAgICAgICAgICAgICAgICBbCisgICAgICAg
ICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogLTExNiwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICJ5IjogMTAwCisgICAgICAgICAgICAgICAgICAgIH0sCisgICAg
ICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogODI0LAorICAg
ICAgICAgICAgICAgICAgICAgICAgInkiOiA0NDIKKyAgICAgICAgICAgICAgICAgICAgfSwKKyAg
ICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA4MjQsCisg
ICAgICAgICAgICAgICAgICAgICAgICAieSI6IDQ0MgorICAgICAgICAgICAgICAgICAgICB9LAor
ICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAieCI6IC0xMTYs
CisgICAgICAgICAgICAgICAgICAgICAgICAieSI6IDEwMAorICAgICAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICAgICAgXSwKKyAgICAgICAgICAgICAgICBbCisgICAgICAgICAgICAgICAg
ICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogLTExNiwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICJ5IjogMTAwCisgICAgICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAg
ICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogODI0LAorICAgICAgICAgICAg
ICAgICAgICAgICAgInkiOiA0NDIKKyAgICAgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAg
ICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA4MjQsCisgICAgICAgICAg
ICAgICAgICAgICAgICAieSI6IDQ0MgorICAgICAgICAgICAgICAgICAgICB9LAorICAgICAgICAg
ICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAieCI6IC0xMTYsCisgICAgICAg
ICAgICAgICAgICAgICAgICAieSI6IDEwMAorICAgICAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICAgICAgXQorICAgICAgICAgICAgXSwKKyAgICAgICAgICAgICJzaG93UnVsZXJzIjogZmFs
c2UsCisgICAgICAgICAgICAiY29udGVudENvbG9yIjogInJnYmEoMTExLCAxNjgsIDIyMCwgMC42
NTg4MjM1Mjk0MTE3NjQ3KSIsCisgICAgICAgICAgICAiY29udGVudE91dGxpbmVDb2xvciI6ICJy
Z2JhKDAsIDAsIDAsIDApIiwKKyAgICAgICAgICAgICJwYWRkaW5nQ29sb3IiOiAicmdiYSgxNDcs
IDE5NiwgMTI1LCAwLjU0OTAxOTYwNzg0MzEzNzMpIiwKKyAgICAgICAgICAgICJib3JkZXJDb2xv
ciI6ICJyZ2JhKDI1NSwgMjI5LCAxNTMsIDAuNjU4ODIzNTI5NDExNzY0NykiLAorICAgICAgICAg
ICAgIm1hcmdpbkNvbG9yIjogInJnYmEoMjQ2LCAxNzgsIDEwNywgMC42NTg4MjM1Mjk0MTE3NjQ3
KSIsCisgICAgICAgICAgICAicmVnaW9uIjogeworICAgICAgICAgICAgICAgICJxdWFkIjogWwor
ICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAieCI6IDMyMCwK
KyAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMjY1CisgICAgICAgICAgICAgICAgICAgIH0s
CisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogNTIw
LAorICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAyNjUKKyAgICAgICAgICAgICAgICAgICAg
fSwKKyAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA1
MjAsCisgICAgICAgICAgICAgICAgICAgICAgICAieSI6IDQ2NQorICAgICAgICAgICAgICAgICAg
ICB9LAorICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAieCI6
IDMyMCwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogNDY1CisgICAgICAgICAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgICAgICBdCisgICAgICAgICAgICB9CisgICAgICAgIH0sCisgICAg
ICAgIHsKKyAgICAgICAgICAgICJxdWFkcyI6IFsKKyAgICAgICAgICAgICAgICBbCisgICAgICAg
ICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogODQsCisgICAgICAg
ICAgICAgICAgICAgICAgICAieSI6IDExMAorICAgICAgICAgICAgICAgICAgICB9LAorICAgICAg
ICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAieCI6IDEwMjQsCisgICAg
ICAgICAgICAgICAgICAgICAgICAieSI6IDQ1MgorICAgICAgICAgICAgICAgICAgICB9LAorICAg
ICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAieCI6IDEwMjQsCisg
ICAgICAgICAgICAgICAgICAgICAgICAieSI6IDQ1MgorICAgICAgICAgICAgICAgICAgICB9LAor
ICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAieCI6IDg0LAor
ICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAxMTAKKyAgICAgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgICAgIF0sCisgICAgICAgICAgICAgICAgWworICAgICAgICAgICAgICAgICAg
ICB7CisgICAgICAgICAgICAgICAgICAgICAgICAieCI6IDg0LAorICAgICAgICAgICAgICAgICAg
ICAgICAgInkiOiAxMTAKKyAgICAgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICAg
ICAgeworICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAxMDI0LAorICAgICAgICAgICAgICAg
ICAgICAgICAgInkiOiA0NTIKKyAgICAgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAg
ICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAxMDI0LAorICAgICAgICAgICAg
ICAgICAgICAgICAgInkiOiA0NTIKKyAgICAgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAg
ICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA4NCwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICJ5IjogMTEwCisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
ICAgICBdLAorICAgICAgICAgICAgICAgIFsKKyAgICAgICAgICAgICAgICAgICAgeworICAgICAg
ICAgICAgICAgICAgICAgICAgIngiOiA4NCwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ5Ijog
MTEwCisgICAgICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAg
ICAgICAgICAgICAgICAgICAgICJ4IjogMTAyNCwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ5
IjogNDUyCisgICAgICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAgIHsKKyAg
ICAgICAgICAgICAgICAgICAgICAgICJ4IjogMTAyNCwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICJ5IjogNDUyCisgICAgICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAgIHsK
KyAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogODQsCisgICAgICAgICAgICAgICAgICAgICAg
ICAieSI6IDExMAorICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgXSwKKyAg
ICAgICAgICAgICAgICBbCisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAg
ICAgICAgICJ4IjogODQsCisgICAgICAgICAgICAgICAgICAgICAgICAieSI6IDExMAorICAgICAg
ICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAg
ICAgICAgICAieCI6IDEwMjQsCisgICAgICAgICAgICAgICAgICAgICAgICAieSI6IDQ1MgorICAg
ICAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAg
ICAgICAgICAgICAieCI6IDEwMjQsCisgICAgICAgICAgICAgICAgICAgICAgICAieSI6IDQ1Mgor
ICAgICAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAg
ICAgICAgICAgICAgICAieCI6IDg0LAorICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAxMTAK
KyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIF0KKyAgICAgICAgICAgIF0s
CisgICAgICAgICAgICAic2hvd1J1bGVycyI6IGZhbHNlLAorICAgICAgICAgICAgImNvbnRlbnRD
b2xvciI6ICJyZ2JhKDExMSwgMTY4LCAyMjAsIDAuNjU4ODIzNTI5NDExNzY0NykiLAorICAgICAg
ICAgICAgImNvbnRlbnRPdXRsaW5lQ29sb3IiOiAicmdiYSgwLCAwLCAwLCAwKSIsCisgICAgICAg
ICAgICAicGFkZGluZ0NvbG9yIjogInJnYmEoMTQ3LCAxOTYsIDEyNSwgMC41NDkwMTk2MDc4NDMx
MzczKSIsCisgICAgICAgICAgICAiYm9yZGVyQ29sb3IiOiAicmdiYSgyNTUsIDIyOSwgMTUzLCAw
LjY1ODgyMzUyOTQxMTc2NDcpIiwKKyAgICAgICAgICAgICJtYXJnaW5Db2xvciI6ICJyZ2JhKDI0
NiwgMTc4LCAxMDcsIDAuNjU4ODIzNTI5NDExNzY0NykiLAorICAgICAgICAgICAgInJlZ2lvbiI6
IHsKKyAgICAgICAgICAgICAgICAicXVhZCI6IFsKKyAgICAgICAgICAgICAgICAgICAgeworICAg
ICAgICAgICAgICAgICAgICAgICAgIngiOiA1MjAsCisgICAgICAgICAgICAgICAgICAgICAgICAi
eSI6IDI3NQorICAgICAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICAgICB7Cisg
ICAgICAgICAgICAgICAgICAgICAgICAieCI6IDEwMjAsCisgICAgICAgICAgICAgICAgICAgICAg
ICAieSI6IDI3NQorICAgICAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICAgICB7
CisgICAgICAgICAgICAgICAgICAgICAgICAieCI6IDEwMjAsCisgICAgICAgICAgICAgICAgICAg
ICAgICAieSI6IDQ3NQorICAgICAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICAg
ICB7CisgICAgICAgICAgICAgICAgICAgICAgICAieCI6IDUyMCwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICJ5IjogNDc1CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBd
CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICBdLAorICAgICJlbGVtZW50SW5mbyI6IHsK
KyAgICAgICAgInRhZ05hbWUiOiAiZGl2IiwKKyAgICAgICAgImlkVmFsdWUiOiAiaW5zcGVjdGVk
RWxlbWVudCIsCisgICAgICAgICJub2RlV2lkdGgiOiAiMTAwMCIsCisgICAgICAgICJub2RlSGVp
Z2h0IjogIjIwMCIsCisgICAgICAgICJjb250ZW50Rmxvd0luZm8iOiB7CisgICAgICAgICAgICAi
bmFtZSI6ICJmbG93IgorICAgICAgICB9CisgICAgfQorfQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZWxlbWVudHMvaGlnaGxpZ2h0LXJlZ2lvbnMtZmxvdy10
cmFuc2Zvcm0tdmVydC1sci5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2Vs
ZW1lbnRzL2hpZ2hsaWdodC1yZWdpb25zLWZsb3ctdHJhbnNmb3JtLXZlcnQtbHIuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5lMjg0MDIwZThlZDEzZGQxY2U0MTdlNGIxNzhiN2I3Mzc1NDU4ODYwCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2VsZW1lbnRzL2hpZ2hs
aWdodC1yZWdpb25zLWZsb3ctdHJhbnNmb3JtLXZlcnQtbHIuaHRtbApAQCAtMCwwICsxLDg5IEBA
Cis8IWRvY3R5cGUgaHRtbD4KKzxodG1sIHN0eWxlPSItd2Via2l0LXdyaXRpbmctbW9kZTogdmVy
dGljYWwtcmw7Ij4KKzxoZWFkPgorCis8c3R5bGU+CisKK2JvZHkgeworICAgIG1hcmdpbjogMDsK
K30KKyNmbG93IHsKKyAgICAtd2Via2l0LWZsb3ctaW50bzogZmxvdzsKK30KKyNjb250YWluZXIg
eworICAgIHdpZHRoOiA0MDBweDsKKyAgICBoZWlnaHQ6IDQwMHB4OworICAgIGJhY2tncm91bmQt
Y29sb3I6IGdyZXk7Cit9CisjaW5zcGVjdGVkRWxlbWVudCB7CisgICAgaGVpZ2h0OiAxMDAlOwor
ICAgIHdpZHRoOiAxMDAwcHg7CisgICAgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47CisgICAgLXdl
YmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgyMGRlZyk7CisgICAgdHJhbnNmb3JtOiByb3RhdGUoMjBk
ZWcpOworfQorLnJlZ2lvbiB7CisgICAgbWFyZ2luOiA1cHg7CisgICAgYm9yZGVyOiBzb2xpZCAx
MHB4IGFxdWE7CisgICAgcGFkZGluZzogMTVweDsKKyAgICB3aWR0aDogMjAwcHg7CisgICAgaGVp
Z2h0OiAyMDBweDsKKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiBibHVlOworICAgIGZsb2F0OiBsZWZ0
OworICAgIC13ZWJraXQtZmxvdy1mcm9tOiBmbG93OworfQorLnNtYWxsIHsKKyAgICB3aWR0aDog
MTAwcHg7Cit9CisuemVyby1oZWlnaHQgeworICAgIGJvcmRlcjogbm9uZTsKKyAgICBoZWlnaHQ6
IDBweDsKKyAgICBwYWRkaW5nOiAwOworfQorLnplcm8tc2l6ZSB7CisgICAgYm9yZGVyOiBub25l
OworICAgIHdpZHRoOiAwcHg7CisgICAgaGVpZ2h0OiAwcHg7CisgICAgcGFkZGluZzogMDsKK30K
Ky5oaWRkZW4geworICAgIGRpc3BsYXk6IG5vbmU7Cit9CisjZGVzY3JpcHRpb24geworICAgIGNs
ZWFyOiBib3RoOworfQorCis8L3N0eWxlPgorCis8c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0
cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzLXRlc3QuanMiPjwvc2NyaXB0PgorPHNj
cmlwdD4KKworZnVuY3Rpb24gdGVzdCgpCit7CisgICAgZnVuY3Rpb24gbm9kZVNlbGVjdGVkKG5v
ZGUpCisgICAgeworICAgICAgICBSdW50aW1lQWdlbnQuZXZhbHVhdGUoImR1bXBJbnNwZWN0b3JI
aWdobGlnaHRlZE5vZGUoKSIsIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KTsKKyAgICB9CisK
KyAgICBJbnNwZWN0b3JUZXN0LnNlbGVjdE5vZGVXaXRoSWQoImluc3BlY3RlZEVsZW1lbnQiLCBu
b2RlU2VsZWN0ZWQpOworfQorCis8L3NjcmlwdD4KKzwvaGVhZD4KKworPGJvZHkgb25sb2FkPSJy
dW5UZXN0KCkiPgorCis8ZGl2IGlkPSJmbG93Ij4KKyAgICA8ZGl2IGlkPSJpbnNwZWN0ZWRFbGVt
ZW50Ij48L2Rpdj4KKzwvZGl2PgorCis8ZGl2IGNsYXNzPSJyZWdpb24iPjwvZGl2PgorPGRpdiBj
bGFzcz0icmVnaW9uIHNtYWxsIj48L2Rpdj4KKzxkaXYgY2xhc3M9InJlZ2lvbiB6ZXJvLWhlaWdo
dCI+PC9kaXY+Cis8ZGl2IGNsYXNzPSJyZWdpb24gemVyby1zaXplIj48L2Rpdj4KKzxkaXYgY2xh
c3M9InJlZ2lvbiBoaWRkZW4iPjwvZGl2PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
dmVyaWZpZXMgdGhlIHBvc2l0aW9uIGFuZCBzaXplIG9mIHRoZSBoaWdobGlnaHRlZCBub2RlIGlu
c2lkZSBDU1MgUmVnaW9ucy48L3A+CisKKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9lbGVtZW50cy9oaWdobGlnaHQtcmVnaW9ucy1m
bG93LXRyYW5zZm9ybS12ZXJ0LXJsLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rv
ci1vYnNvbGV0ZS9lbGVtZW50cy9oaWdobGlnaHQtcmVnaW9ucy1mbG93LXRyYW5zZm9ybS12ZXJ0
LXJsLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yYzEzYTk0YjRlNmYxNmE3ZmNkMjcxYjkyYTQx
NGZmYjEzOTBkZmE0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9i
c29sZXRlL2VsZW1lbnRzL2hpZ2hsaWdodC1yZWdpb25zLWZsb3ctdHJhbnNmb3JtLXZlcnQtcmwt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNDI4IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhlIHBv
c2l0aW9uIGFuZCBzaXplIG9mIHRoZSBoaWdobGlnaHRlZCBub2RlIGluc2lkZSBDU1MgUmVnaW9u
cy4KKworeworICAgICJzY3JvbGwiOiB7CisgICAgICAgICJ4IjogMCwKKyAgICAgICAgInkiOiAw
CisgICAgfSwKKyAgICAiZnJhZ21lbnRzIjogWworICAgICAgICB7CisgICAgICAgICAgICAicXVh
ZHMiOiBbCisgICAgICAgICAgICAgICAgWworICAgICAgICAgICAgICAgICAgICB7CisgICAgICAg
ICAgICAgICAgICAgICAgICAieCI6IC0xODEsCisgICAgICAgICAgICAgICAgICAgICAgICAieSI6
IC0xMzUKKyAgICAgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICAgICAgeworICAg
ICAgICAgICAgICAgICAgICAgICAgIngiOiA3NTksCisgICAgICAgICAgICAgICAgICAgICAgICAi
eSI6IDIwNworICAgICAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICAgICB7Cisg
ICAgICAgICAgICAgICAgICAgICAgICAieCI6IDY5MSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICJ5IjogMzk1CisgICAgICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAgIHsK
KyAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogLTI0OSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICJ5IjogNTMKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIF0sCisg
ICAgICAgICAgICAgICAgWworICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAg
ICAgICAgICAieCI6IC0xODEsCisgICAgICAgICAgICAgICAgICAgICAgICAieSI6IC0xMzUKKyAg
ICAgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAg
ICAgICAgICAgICAgIngiOiA3NTksCisgICAgICAgICAgICAgICAgICAgICAgICAieSI6IDIwNwor
ICAgICAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAg
ICAgICAgICAgICAgICAieCI6IDY5MSwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMzk1
CisgICAgICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAg
ICAgICAgICAgICAgICAgICJ4IjogLTI0OSwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ5Ijog
NTMKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIF0sCisgICAgICAgICAg
ICAgICAgWworICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAi
eCI6IC0xODEsCisgICAgICAgICAgICAgICAgICAgICAgICAieSI6IC0xMzUKKyAgICAgICAgICAg
ICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAg
ICAgIngiOiA3NTksCisgICAgICAgICAgICAgICAgICAgICAgICAieSI6IDIwNworICAgICAgICAg
ICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAg
ICAgICAieCI6IDY5MSwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMzk1CisgICAgICAg
ICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAg
ICAgICAgICJ4IjogLTI0OSwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogNTMKKyAgICAg
ICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIF0sCisgICAgICAgICAgICAgICAgWwor
ICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAieCI6IC0xODEs
CisgICAgICAgICAgICAgICAgICAgICAgICAieSI6IC0xMzUKKyAgICAgICAgICAgICAgICAgICAg
fSwKKyAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA3
NTksCisgICAgICAgICAgICAgICAgICAgICAgICAieSI6IDIwNworICAgICAgICAgICAgICAgICAg
ICB9LAorICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAieCI6
IDY5MSwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMzk1CisgICAgICAgICAgICAgICAg
ICAgIH0sCisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICJ4
IjogLTI0OSwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogNTMKKyAgICAgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgICAgIF0KKyAgICAgICAgICAgIF0sCisgICAgICAgICAgICAi
c2hvd1J1bGVycyI6IGZhbHNlLAorICAgICAgICAgICAgImNvbnRlbnRDb2xvciI6ICJyZ2JhKDEx
MSwgMTY4LCAyMjAsIDAuNjU4ODIzNTI5NDExNzY0NykiLAorICAgICAgICAgICAgImNvbnRlbnRP
dXRsaW5lQ29sb3IiOiAicmdiYSgwLCAwLCAwLCAwKSIsCisgICAgICAgICAgICAicGFkZGluZ0Nv
bG9yIjogInJnYmEoMTQ3LCAxOTYsIDEyNSwgMC41NDkwMTk2MDc4NDMxMzczKSIsCisgICAgICAg
ICAgICAiYm9yZGVyQ29sb3IiOiAicmdiYSgyNTUsIDIyOSwgMTUzLCAwLjY1ODgyMzUyOTQxMTc2
NDcpIiwKKyAgICAgICAgICAgICJtYXJnaW5Db2xvciI6ICJyZ2JhKDI0NiwgMTc4LCAxMDcsIDAu
NjU4ODIzNTI5NDExNzY0NykiLAorICAgICAgICAgICAgInJlZ2lvbiI6IHsKKyAgICAgICAgICAg
ICAgICAicXVhZCI6IFsKKyAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAg
ICAgICAgIngiOiA1NTUsCisgICAgICAgICAgICAgICAgICAgICAgICAieSI6IDMwCisgICAgICAg
ICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAg
ICAgICAgICJ4IjogNzU1LAorICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAzMAorICAgICAg
ICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAg
ICAgICAgICAieCI6IDc1NSwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMjMwCisgICAg
ICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAg
ICAgICAgICAgICJ4IjogNTU1LAorICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAyMzAKKyAg
ICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIF0KKyAgICAgICAgICAgIH0KKyAg
ICAgICAgfSwKKyAgICAgICAgeworICAgICAgICAgICAgInF1YWRzIjogWworICAgICAgICAgICAg
ICAgIFsKKyAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgIngi
OiAtMjQxLAorICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAtMTM1CisgICAgICAgICAgICAg
ICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAg
ICJ4IjogNjk5LAorICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAyMDcKKyAgICAgICAgICAg
ICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAg
ICAgIngiOiA2MzEsCisgICAgICAgICAgICAgICAgICAgICAgICAieSI6IDM5NQorICAgICAgICAg
ICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAg
ICAgICAieCI6IC0zMDksCisgICAgICAgICAgICAgICAgICAgICAgICAieSI6IDUzCisgICAgICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBdLAorICAgICAgICAgICAgICAgIFsKKyAg
ICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAtMjQxLAor
ICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAtMTM1CisgICAgICAgICAgICAgICAgICAgIH0s
CisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogNjk5
LAorICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAyMDcKKyAgICAgICAgICAgICAgICAgICAg
fSwKKyAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA2
MzEsCisgICAgICAgICAgICAgICAgICAgICAgICAieSI6IDM5NQorICAgICAgICAgICAgICAgICAg
ICB9LAorICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAieCI6
IC0zMDksCisgICAgICAgICAgICAgICAgICAgICAgICAieSI6IDUzCisgICAgICAgICAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgICAgICBdLAorICAgICAgICAgICAgICAgIFsKKyAgICAgICAgICAg
ICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAtMjQxLAorICAgICAgICAg
ICAgICAgICAgICAgICAgInkiOiAtMTM1CisgICAgICAgICAgICAgICAgICAgIH0sCisgICAgICAg
ICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogNjk5LAorICAgICAg
ICAgICAgICAgICAgICAgICAgInkiOiAyMDcKKyAgICAgICAgICAgICAgICAgICAgfSwKKyAgICAg
ICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA2MzEsCisgICAg
ICAgICAgICAgICAgICAgICAgICAieSI6IDM5NQorICAgICAgICAgICAgICAgICAgICB9LAorICAg
ICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAieCI6IC0zMDksCisg
ICAgICAgICAgICAgICAgICAgICAgICAieSI6IDUzCisgICAgICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgICAgICBdLAorICAgICAgICAgICAgICAgIFsKKyAgICAgICAgICAgICAgICAgICAg
eworICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAtMjQxLAorICAgICAgICAgICAgICAgICAg
ICAgICAgInkiOiAtMTM1CisgICAgICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAg
ICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogNjk5LAorICAgICAgICAgICAgICAg
ICAgICAgICAgInkiOiAyMDcKKyAgICAgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAg
ICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA2MzEsCisgICAgICAgICAgICAg
ICAgICAgICAgICAieSI6IDM5NQorICAgICAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAg
ICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAieCI6IC0zMDksCisgICAgICAgICAg
ICAgICAgICAgICAgICAieSI6IDUzCisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
ICAgICBdCisgICAgICAgICAgICBdLAorICAgICAgICAgICAgInNob3dSdWxlcnMiOiBmYWxzZSwK
KyAgICAgICAgICAgICJjb250ZW50Q29sb3IiOiAicmdiYSgxMTEsIDE2OCwgMjIwLCAwLjY1ODgy
MzUyOTQxMTc2NDcpIiwKKyAgICAgICAgICAgICJjb250ZW50T3V0bGluZUNvbG9yIjogInJnYmEo
MCwgMCwgMCwgMCkiLAorICAgICAgICAgICAgInBhZGRpbmdDb2xvciI6ICJyZ2JhKDE0NywgMTk2
LCAxMjUsIDAuNTQ5MDE5NjA3ODQzMTM3MykiLAorICAgICAgICAgICAgImJvcmRlckNvbG9yIjog
InJnYmEoMjU1LCAyMjksIDE1MywgMC42NTg4MjM1Mjk0MTE3NjQ3KSIsCisgICAgICAgICAgICAi
bWFyZ2luQ29sb3IiOiAicmdiYSgyNDYsIDE3OCwgMTA3LCAwLjY1ODgyMzUyOTQxMTc2NDcpIiwK
KyAgICAgICAgICAgICJyZWdpb24iOiB7CisgICAgICAgICAgICAgICAgInF1YWQiOiBbCisgICAg
ICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogMzk1LAorICAg
ICAgICAgICAgICAgICAgICAgICAgInkiOiAzMAorICAgICAgICAgICAgICAgICAgICB9LAorICAg
ICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAieCI6IDQ5NSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICJ5IjogMzAKKyAgICAgICAgICAgICAgICAgICAgfSwKKyAg
ICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA0OTUsCisg
ICAgICAgICAgICAgICAgICAgICAgICAieSI6IDIzMAorICAgICAgICAgICAgICAgICAgICB9LAor
ICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAieCI6IDM5NSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMjMwCisgICAgICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgICAgICBdCisgICAgICAgICAgICB9CisgICAgICAgIH0sCisgICAgICAgIHsK
KyAgICAgICAgICAgICJxdWFkcyI6IFsKKyAgICAgICAgICAgICAgICBbCisgICAgICAgICAgICAg
ICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogLTExNiwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICJ5IjogMTAwCisgICAgICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAg
ICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogODI0LAorICAgICAgICAg
ICAgICAgICAgICAgICAgInkiOiA0NDIKKyAgICAgICAgICAgICAgICAgICAgfSwKKyAgICAgICAg
ICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA4MjQsCisgICAgICAg
ICAgICAgICAgICAgICAgICAieSI6IDQ0MgorICAgICAgICAgICAgICAgICAgICB9LAorICAgICAg
ICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAieCI6IC0xMTYsCisgICAg
ICAgICAgICAgICAgICAgICAgICAieSI6IDEwMAorICAgICAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICAgICAgXSwKKyAgICAgICAgICAgICAgICBbCisgICAgICAgICAgICAgICAgICAgIHsK
KyAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogLTExNiwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICJ5IjogMTAwCisgICAgICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAg
IHsKKyAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogODI0LAorICAgICAgICAgICAgICAgICAg
ICAgICAgInkiOiA0NDIKKyAgICAgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICAg
ICAgeworICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA4MjQsCisgICAgICAgICAgICAgICAg
ICAgICAgICAieSI6IDQ0MgorICAgICAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAg
ICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAieCI6IC0xMTYsCisgICAgICAgICAgICAg
ICAgICAgICAgICAieSI6IDEwMAorICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAg
ICAgXSwKKyAgICAgICAgICAgICAgICBbCisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAg
ICAgICAgICAgICAgICAgICJ4IjogLTExNiwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ5Ijog
MTAwCisgICAgICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAg
ICAgICAgICAgICAgICAgICAgICJ4IjogODI0LAorICAgICAgICAgICAgICAgICAgICAgICAgInki
OiA0NDIKKyAgICAgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICAgICAgeworICAg
ICAgICAgICAgICAgICAgICAgICAgIngiOiA4MjQsCisgICAgICAgICAgICAgICAgICAgICAgICAi
eSI6IDQ0MgorICAgICAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICAgICB7Cisg
ICAgICAgICAgICAgICAgICAgICAgICAieCI6IC0xMTYsCisgICAgICAgICAgICAgICAgICAgICAg
ICAieSI6IDEwMAorICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgXSwKKyAg
ICAgICAgICAgICAgICBbCisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAg
ICAgICAgICJ4IjogLTExNiwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMTAwCisgICAg
ICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAg
ICAgICAgICAgICJ4IjogODI0LAorICAgICAgICAgICAgICAgICAgICAgICAgInkiOiA0NDIKKyAg
ICAgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAg
ICAgICAgICAgICAgIngiOiA4MjQsCisgICAgICAgICAgICAgICAgICAgICAgICAieSI6IDQ0Mgor
ICAgICAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAg
ICAgICAgICAgICAgICAieCI6IC0xMTYsCisgICAgICAgICAgICAgICAgICAgICAgICAieSI6IDEw
MAorICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgXQorICAgICAgICAgICAg
XSwKKyAgICAgICAgICAgICJzaG93UnVsZXJzIjogZmFsc2UsCisgICAgICAgICAgICAiY29udGVu
dENvbG9yIjogInJnYmEoMTExLCAxNjgsIDIyMCwgMC42NTg4MjM1Mjk0MTE3NjQ3KSIsCisgICAg
ICAgICAgICAiY29udGVudE91dGxpbmVDb2xvciI6ICJyZ2JhKDAsIDAsIDAsIDApIiwKKyAgICAg
ICAgICAgICJwYWRkaW5nQ29sb3IiOiAicmdiYSgxNDcsIDE5NiwgMTI1LCAwLjU0OTAxOTYwNzg0
MzEzNzMpIiwKKyAgICAgICAgICAgICJib3JkZXJDb2xvciI6ICJyZ2JhKDI1NSwgMjI5LCAxNTMs
IDAuNjU4ODIzNTI5NDExNzY0NykiLAorICAgICAgICAgICAgIm1hcmdpbkNvbG9yIjogInJnYmEo
MjQ2LCAxNzgsIDEwNywgMC42NTg4MjM1Mjk0MTE3NjQ3KSIsCisgICAgICAgICAgICAicmVnaW9u
IjogeworICAgICAgICAgICAgICAgICJxdWFkIjogWworICAgICAgICAgICAgICAgICAgICB7Cisg
ICAgICAgICAgICAgICAgICAgICAgICAieCI6IDMyMCwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICJ5IjogMjY1CisgICAgICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAgIHsK
KyAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogNTIwLAorICAgICAgICAgICAgICAgICAgICAg
ICAgInkiOiAyNjUKKyAgICAgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICAgICAg
eworICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA1MjAsCisgICAgICAgICAgICAgICAgICAg
ICAgICAieSI6IDQ2NQorICAgICAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICAg
ICB7CisgICAgICAgICAgICAgICAgICAgICAgICAieCI6IDMyMCwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICJ5IjogNDY1CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBd
CisgICAgICAgICAgICB9CisgICAgICAgIH0sCisgICAgICAgIHsKKyAgICAgICAgICAgICJxdWFk
cyI6IFsKKyAgICAgICAgICAgICAgICBbCisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAg
ICAgICAgICAgICAgICAgICJ4IjogODQsCisgICAgICAgICAgICAgICAgICAgICAgICAieSI6IDEx
MAorICAgICAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICAgICB7CisgICAgICAg
ICAgICAgICAgICAgICAgICAieCI6IDEwMjQsCisgICAgICAgICAgICAgICAgICAgICAgICAieSI6
IDQ1MgorICAgICAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICAgICB7CisgICAg
ICAgICAgICAgICAgICAgICAgICAieCI6IDEwMjQsCisgICAgICAgICAgICAgICAgICAgICAgICAi
eSI6IDQ1MgorICAgICAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICAgICB7Cisg
ICAgICAgICAgICAgICAgICAgICAgICAieCI6IDg0LAorICAgICAgICAgICAgICAgICAgICAgICAg
InkiOiAxMTAKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIF0sCisgICAg
ICAgICAgICAgICAgWworICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAg
ICAgICAieCI6IDg0LAorICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAxMTAKKyAgICAgICAg
ICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAg
ICAgICAgIngiOiAxMDI0LAorICAgICAgICAgICAgICAgICAgICAgICAgInkiOiA0NTIKKyAgICAg
ICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAg
ICAgICAgICAgIngiOiAxMDI0LAorICAgICAgICAgICAgICAgICAgICAgICAgInkiOiA0NTIKKyAg
ICAgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAg
ICAgICAgICAgICAgIngiOiA4NCwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMTEwCisg
ICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBdLAorICAgICAgICAgICAgICAg
IFsKKyAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA4
NCwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMTEwCisgICAgICAgICAgICAgICAgICAg
IH0sCisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICJ4Ijog
MTAyNCwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogNDUyCisgICAgICAgICAgICAgICAg
ICAgIH0sCisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICJ4
IjogMTAyNCwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogNDUyCisgICAgICAgICAgICAg
ICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAg
ICJ4IjogODQsCisgICAgICAgICAgICAgICAgICAgICAgICAieSI6IDExMAorICAgICAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICAgICAgXSwKKyAgICAgICAgICAgICAgICBbCisgICAgICAg
ICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogODQsCisgICAgICAg
ICAgICAgICAgICAgICAgICAieSI6IDExMAorICAgICAgICAgICAgICAgICAgICB9LAorICAgICAg
ICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAieCI6IDEwMjQsCisgICAg
ICAgICAgICAgICAgICAgICAgICAieSI6IDQ1MgorICAgICAgICAgICAgICAgICAgICB9LAorICAg
ICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAieCI6IDEwMjQsCisg
ICAgICAgICAgICAgICAgICAgICAgICAieSI6IDQ1MgorICAgICAgICAgICAgICAgICAgICB9LAor
ICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAieCI6IDg0LAor
ICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAxMTAKKyAgICAgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgICAgIF0KKyAgICAgICAgICAgIF0sCisgICAgICAgICAgICAic2hvd1J1bGVy
cyI6IGZhbHNlLAorICAgICAgICAgICAgImNvbnRlbnRDb2xvciI6ICJyZ2JhKDExMSwgMTY4LCAy
MjAsIDAuNjU4ODIzNTI5NDExNzY0NykiLAorICAgICAgICAgICAgImNvbnRlbnRPdXRsaW5lQ29s
b3IiOiAicmdiYSgwLCAwLCAwLCAwKSIsCisgICAgICAgICAgICAicGFkZGluZ0NvbG9yIjogInJn
YmEoMTQ3LCAxOTYsIDEyNSwgMC41NDkwMTk2MDc4NDMxMzczKSIsCisgICAgICAgICAgICAiYm9y
ZGVyQ29sb3IiOiAicmdiYSgyNTUsIDIyOSwgMTUzLCAwLjY1ODgyMzUyOTQxMTc2NDcpIiwKKyAg
ICAgICAgICAgICJtYXJnaW5Db2xvciI6ICJyZ2JhKDI0NiwgMTc4LCAxMDcsIDAuNjU4ODIzNTI5
NDExNzY0NykiLAorICAgICAgICAgICAgInJlZ2lvbiI6IHsKKyAgICAgICAgICAgICAgICAicXVh
ZCI6IFsKKyAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgIngi
OiA1MjAsCisgICAgICAgICAgICAgICAgICAgICAgICAieSI6IDI3NQorICAgICAgICAgICAgICAg
ICAgICB9LAorICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAi
eCI6IDEwMjAsCisgICAgICAgICAgICAgICAgICAgICAgICAieSI6IDI3NQorICAgICAgICAgICAg
ICAgICAgICB9LAorICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAg
ICAieCI6IDEwMjAsCisgICAgICAgICAgICAgICAgICAgICAgICAieSI6IDQ3NQorICAgICAgICAg
ICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAg
ICAgICAieCI6IDUyMCwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogNDc1CisgICAgICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBdCisgICAgICAgICAgICB9CisgICAgICAg
IH0KKyAgICBdLAorICAgICJlbGVtZW50SW5mbyI6IHsKKyAgICAgICAgInRhZ05hbWUiOiAiZGl2
IiwKKyAgICAgICAgImlkVmFsdWUiOiAiaW5zcGVjdGVkRWxlbWVudCIsCisgICAgICAgICJub2Rl
V2lkdGgiOiAiMTAwMCIsCisgICAgICAgICJub2RlSGVpZ2h0IjogIjIwMCIsCisgICAgICAgICJj
b250ZW50Rmxvd0luZm8iOiB7CisgICAgICAgICAgICAibmFtZSI6ICJmbG93IgorICAgICAgICB9
CisgICAgfQorfQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUv
ZWxlbWVudHMvaGlnaGxpZ2h0LXJlZ2lvbnMtZmxvdy10cmFuc2Zvcm0tdmVydC1ybC5odG1sIGIv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2VsZW1lbnRzL2hpZ2hsaWdodC1yZWdpb25z
LWZsb3ctdHJhbnNmb3JtLXZlcnQtcmwuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lMjg0MDIwZThlZDEzZGQx
Y2U0MTdlNGIxNzhiN2I3Mzc1NDU4ODYwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yLW9ic29sZXRlL2VsZW1lbnRzL2hpZ2hsaWdodC1yZWdpb25zLWZsb3ctdHJhbnNm
b3JtLXZlcnQtcmwuaHRtbApAQCAtMCwwICsxLDg5IEBACis8IWRvY3R5cGUgaHRtbD4KKzxodG1s
IHN0eWxlPSItd2Via2l0LXdyaXRpbmctbW9kZTogdmVydGljYWwtcmw7Ij4KKzxoZWFkPgorCis8
c3R5bGU+CisKK2JvZHkgeworICAgIG1hcmdpbjogMDsKK30KKyNmbG93IHsKKyAgICAtd2Via2l0
LWZsb3ctaW50bzogZmxvdzsKK30KKyNjb250YWluZXIgeworICAgIHdpZHRoOiA0MDBweDsKKyAg
ICBoZWlnaHQ6IDQwMHB4OworICAgIGJhY2tncm91bmQtY29sb3I6IGdyZXk7Cit9CisjaW5zcGVj
dGVkRWxlbWVudCB7CisgICAgaGVpZ2h0OiAxMDAlOworICAgIHdpZHRoOiAxMDAwcHg7CisgICAg
YmFja2dyb3VuZC1jb2xvcjogZ3JlZW47CisgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgy
MGRlZyk7CisgICAgdHJhbnNmb3JtOiByb3RhdGUoMjBkZWcpOworfQorLnJlZ2lvbiB7CisgICAg
bWFyZ2luOiA1cHg7CisgICAgYm9yZGVyOiBzb2xpZCAxMHB4IGFxdWE7CisgICAgcGFkZGluZzog
MTVweDsKKyAgICB3aWR0aDogMjAwcHg7CisgICAgaGVpZ2h0OiAyMDBweDsKKyAgICBiYWNrZ3Jv
dW5kLWNvbG9yOiBibHVlOworICAgIGZsb2F0OiBsZWZ0OworICAgIC13ZWJraXQtZmxvdy1mcm9t
OiBmbG93OworfQorLnNtYWxsIHsKKyAgICB3aWR0aDogMTAwcHg7Cit9CisuemVyby1oZWlnaHQg
eworICAgIGJvcmRlcjogbm9uZTsKKyAgICBoZWlnaHQ6IDBweDsKKyAgICBwYWRkaW5nOiAwOwor
fQorLnplcm8tc2l6ZSB7CisgICAgYm9yZGVyOiBub25lOworICAgIHdpZHRoOiAwcHg7CisgICAg
aGVpZ2h0OiAwcHg7CisgICAgcGFkZGluZzogMDsKK30KKy5oaWRkZW4geworICAgIGRpc3BsYXk6
IG5vbmU7Cit9CisjZGVzY3JpcHRpb24geworICAgIGNsZWFyOiBib3RoOworfQorCis8L3N0eWxl
PgorCis8c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRl
c3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9y
L2VsZW1lbnRzLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKworZnVuY3Rpb24gdGVzdCgp
Cit7CisgICAgZnVuY3Rpb24gbm9kZVNlbGVjdGVkKG5vZGUpCisgICAgeworICAgICAgICBSdW50
aW1lQWdlbnQuZXZhbHVhdGUoImR1bXBJbnNwZWN0b3JIaWdobGlnaHRlZE5vZGUoKSIsIEluc3Bl
Y3RvclRlc3QuY29tcGxldGVUZXN0KTsKKyAgICB9CisKKyAgICBJbnNwZWN0b3JUZXN0LnNlbGVj
dE5vZGVXaXRoSWQoImluc3BlY3RlZEVsZW1lbnQiLCBub2RlU2VsZWN0ZWQpOworfQorCis8L3Nj
cmlwdD4KKzwvaGVhZD4KKworPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgorCis8ZGl2IGlkPSJm
bG93Ij4KKyAgICA8ZGl2IGlkPSJpbnNwZWN0ZWRFbGVtZW50Ij48L2Rpdj4KKzwvZGl2PgorCis8
ZGl2IGNsYXNzPSJyZWdpb24iPjwvZGl2PgorPGRpdiBjbGFzcz0icmVnaW9uIHNtYWxsIj48L2Rp
dj4KKzxkaXYgY2xhc3M9InJlZ2lvbiB6ZXJvLWhlaWdodCI+PC9kaXY+Cis8ZGl2IGNsYXNzPSJy
ZWdpb24gemVyby1zaXplIj48L2Rpdj4KKzxkaXYgY2xhc3M9InJlZ2lvbiBoaWRkZW4iPjwvZGl2
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhlIHBvc2l0aW9uIGFu
ZCBzaXplIG9mIHRoZSBoaWdobGlnaHRlZCBub2RlIGluc2lkZSBDU1MgUmVnaW9ucy48L3A+CisK
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNv
bGV0ZS9lbGVtZW50cy9oaWdobGlnaHQtcmVnaW9ucy1mbG93LXRyYW5zZm9ybS5odG1sIGIvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2VsZW1lbnRzL2hpZ2hsaWdodC1yZWdpb25zLWZs
b3ctdHJhbnNmb3JtLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZWI5MDA1YWZlZDk3NmM1NDM2NWQ2NWYyNDQw
OTM1MzQ4Y2UzMjk0NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1v
YnNvbGV0ZS9lbGVtZW50cy9oaWdobGlnaHQtcmVnaW9ucy1mbG93LXRyYW5zZm9ybS5odG1sCkBA
IC0wLDAgKzEsODkgQEAKKzwhZG9jdHlwZSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKworPHN0eWxl
PgorCitib2R5IHsKKyAgICBtYXJnaW46IDA7Cit9CisjZmxvdyB7CisgICAgLXdlYmtpdC1mbG93
LWludG86IGZsb3c7Cit9CisjY29udGFpbmVyIHsKKyAgICB3aWR0aDogNDAwcHg7CisgICAgaGVp
Z2h0OiA0MDBweDsKKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiBncmV5OworfQorI2luc3BlY3RlZEVs
ZW1lbnQgeworICAgIHdpZHRoOiAxMDAlOworICAgIGhlaWdodDogMTAwMHB4OworICAgIGJhY2tn
cm91bmQtY29sb3I6IGdyZWVuOworICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMjBkZWcp
OworICAgIHRyYW5zZm9ybTogcm90YXRlKDIwZGVnKTsKK30KKy5yZWdpb24geworICAgIG1hcmdp
bjogNXB4OworICAgIGJvcmRlcjogc29saWQgMTBweCBhcXVhOworICAgIHBhZGRpbmc6IDE1cHg7
CisgICAgd2lkdGg6IDIwMHB4OworICAgIGhlaWdodDogMjAwcHg7CisgICAgYmFja2dyb3VuZC1j
b2xvcjogYmx1ZTsKKyAgICBmbG9hdDogbGVmdDsKKyAgICAtd2Via2l0LWZsb3ctZnJvbTogZmxv
dzsKK30KKy5zbWFsbCB7CisgICAgd2lkdGg6IDEwMHB4OworfQorLnplcm8taGVpZ2h0IHsKKyAg
ICBib3JkZXI6IG5vbmU7CisgICAgaGVpZ2h0OiAwcHg7CisgICAgcGFkZGluZzogMDsKK30KKy56
ZXJvLXNpemUgeworICAgIGJvcmRlcjogbm9uZTsKKyAgICB3aWR0aDogMHB4OworICAgIGhlaWdo
dDogMHB4OworICAgIHBhZGRpbmc6IDA7Cit9CisuaGlkZGVuIHsKKyAgICBkaXNwbGF5OiBub25l
OworfQorI2Rlc2NyaXB0aW9uIHsKKyAgICBjbGVhcjogYm90aDsKK30KKworPC9zdHlsZT4KKwor
PHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0Lmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9lbGVt
ZW50cy10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisKK2Z1bmN0aW9uIHRlc3QoKQorewor
ICAgIGZ1bmN0aW9uIG5vZGVTZWxlY3RlZChub2RlKQorICAgIHsKKyAgICAgICAgUnVudGltZUFn
ZW50LmV2YWx1YXRlKCJkdW1wSW5zcGVjdG9ySGlnaGxpZ2h0ZWROb2RlKCkiLCBJbnNwZWN0b3JU
ZXN0LmNvbXBsZXRlVGVzdCk7CisgICAgfQorCisgICAgSW5zcGVjdG9yVGVzdC5zZWxlY3ROb2Rl
V2l0aElkKCJpbnNwZWN0ZWRFbGVtZW50Iiwgbm9kZVNlbGVjdGVkKTsKK30KKworPC9zY3JpcHQ+
Cis8L2hlYWQ+CisKKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KKworPGRpdiBpZD0iZmxvdyI+
CisgICAgPGRpdiBpZD0iaW5zcGVjdGVkRWxlbWVudCI+PC9kaXY+Cis8L2Rpdj4KKworPGRpdiBj
bGFzcz0icmVnaW9uIj48L2Rpdj4KKzxkaXYgY2xhc3M9InJlZ2lvbiBzbWFsbCI+PC9kaXY+Cis8
ZGl2IGNsYXNzPSJyZWdpb24gemVyby1oZWlnaHQiPjwvZGl2PgorPGRpdiBjbGFzcz0icmVnaW9u
IHplcm8tc2l6ZSI+PC9kaXY+Cis8ZGl2IGNsYXNzPSJyZWdpb24gaGlkZGVuIj48L2Rpdj4KKzxw
IGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoZSBwb3NpdGlvbiBhbmQgc2l6
ZSBvZiB0aGUgaGlnaGxpZ2h0ZWQgbm9kZSBpbnNpZGUgQ1NTIFJlZ2lvbnMuPC9wPgorCis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUv
ZWxlbWVudHMvaGlnaGxpZ2h0LXJlZ2lvbnMtZmxvdy12ZXJ0LWxyLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9lbGVtZW50cy9oaWdobGlnaHQtcmVnaW9ucy1m
bG93LXZlcnQtbHItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFmMjQ2YzEwYThiY2EyYWQ2ZWNl
NDhhMWQzM2VkODJlZWRjMmU1ZDEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3Itb2Jzb2xldGUvZWxlbWVudHMvaGlnaGxpZ2h0LXJlZ2lvbnMtZmxvdy12ZXJ0LWxyLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDQyOCBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoZSBwb3Np
dGlvbiBhbmQgc2l6ZSBvZiB0aGUgaGlnaGxpZ2h0ZWQgbm9kZSBpbnNpZGUgQ1NTIFJlZ2lvbnMu
CisKK3sKKyAgICAic2Nyb2xsIjogeworICAgICAgICAieCI6IDAsCisgICAgICAgICJ5IjogMAor
ICAgIH0sCisgICAgImZyYWdtZW50cyI6IFsKKyAgICAgICAgeworICAgICAgICAgICAgInF1YWRz
IjogWworICAgICAgICAgICAgICAgIFsKKyAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAg
ICAgICAgICAgICAgICAgIngiOiAzMCwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMzAK
KyAgICAgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAg
ICAgICAgICAgICAgICAgIngiOiAxMDMwLAorICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAz
MAorICAgICAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICAgICB7CisgICAgICAg
ICAgICAgICAgICAgICAgICAieCI6IDEwMzAsCisgICAgICAgICAgICAgICAgICAgICAgICAieSI6
IDIzMAorICAgICAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICAgICB7CisgICAg
ICAgICAgICAgICAgICAgICAgICAieCI6IDMwLAorICAgICAgICAgICAgICAgICAgICAgICAgInki
OiAyMzAKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIF0sCisgICAgICAg
ICAgICAgICAgWworICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAg
ICAieCI6IDMwLAorICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAzMAorICAgICAgICAgICAg
ICAgICAgICB9LAorICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAg
ICAieCI6IDEwMzAsCisgICAgICAgICAgICAgICAgICAgICAgICAieSI6IDMwCisgICAgICAgICAg
ICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAg
ICAgICJ4IjogMTAzMCwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMjMwCisgICAgICAg
ICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAg
ICAgICAgICJ4IjogMzAsCisgICAgICAgICAgICAgICAgICAgICAgICAieSI6IDIzMAorICAgICAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgXSwKKyAgICAgICAgICAgICAgICBbCisg
ICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogMzAsCisg
ICAgICAgICAgICAgICAgICAgICAgICAieSI6IDMwCisgICAgICAgICAgICAgICAgICAgIH0sCisg
ICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogMTAzMCwK
KyAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMzAKKyAgICAgICAgICAgICAgICAgICAgfSwK
KyAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAxMDMw
LAorICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAyMzAKKyAgICAgICAgICAgICAgICAgICAg
fSwKKyAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAz
MCwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMjMwCisgICAgICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgICAgICBdLAorICAgICAgICAgICAgICAgIFsKKyAgICAgICAgICAgICAg
ICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAzMCwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICJ5IjogMzAKKyAgICAgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAg
ICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAxMDMwLAorICAgICAgICAgICAg
ICAgICAgICAgICAgInkiOiAzMAorICAgICAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAg
ICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAieCI6IDEwMzAsCisgICAgICAgICAg
ICAgICAgICAgICAgICAieSI6IDIzMAorICAgICAgICAgICAgICAgICAgICB9LAorICAgICAgICAg
ICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAieCI6IDMwLAorICAgICAgICAg
ICAgICAgICAgICAgICAgInkiOiAyMzAKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgICAgIF0KKyAgICAgICAgICAgIF0sCisgICAgICAgICAgICAic2hvd1J1bGVycyI6IGZhbHNl
LAorICAgICAgICAgICAgImNvbnRlbnRDb2xvciI6ICJyZ2JhKDExMSwgMTY4LCAyMjAsIDAuNjU4
ODIzNTI5NDExNzY0NykiLAorICAgICAgICAgICAgImNvbnRlbnRPdXRsaW5lQ29sb3IiOiAicmdi
YSgwLCAwLCAwLCAwKSIsCisgICAgICAgICAgICAicGFkZGluZ0NvbG9yIjogInJnYmEoMTQ3LCAx
OTYsIDEyNSwgMC41NDkwMTk2MDc4NDMxMzczKSIsCisgICAgICAgICAgICAiYm9yZGVyQ29sb3Ii
OiAicmdiYSgyNTUsIDIyOSwgMTUzLCAwLjY1ODgyMzUyOTQxMTc2NDcpIiwKKyAgICAgICAgICAg
ICJtYXJnaW5Db2xvciI6ICJyZ2JhKDI0NiwgMTc4LCAxMDcsIDAuNjU4ODIzNTI5NDExNzY0Nyki
LAorICAgICAgICAgICAgInJlZ2lvbiI6IHsKKyAgICAgICAgICAgICAgICAicXVhZCI6IFsKKyAg
ICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAzMCwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICJ5IjogMzAKKyAgICAgICAgICAgICAgICAgICAgfSwKKyAg
ICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAyMzAsCisg
ICAgICAgICAgICAgICAgICAgICAgICAieSI6IDMwCisgICAgICAgICAgICAgICAgICAgIH0sCisg
ICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogMjMwLAor
ICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAyMzAKKyAgICAgICAgICAgICAgICAgICAgfSwK
KyAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAzMCwK
KyAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMjMwCisgICAgICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgICAgICBdCisgICAgICAgICAgICB9CisgICAgICAgIH0sCisgICAgICAgIHsK
KyAgICAgICAgICAgICJxdWFkcyI6IFsKKyAgICAgICAgICAgICAgICBbCisgICAgICAgICAgICAg
ICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogOTAsCisgICAgICAgICAgICAg
ICAgICAgICAgICAieSI6IDMwCisgICAgICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAg
ICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogMTA5MCwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICJ5IjogMzAKKyAgICAgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAg
ICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAxMDkwLAorICAgICAgICAg
ICAgICAgICAgICAgICAgInkiOiAyMzAKKyAgICAgICAgICAgICAgICAgICAgfSwKKyAgICAgICAg
ICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA5MCwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICJ5IjogMjMwCisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgICAgICBdLAorICAgICAgICAgICAgICAgIFsKKyAgICAgICAgICAgICAgICAgICAgeworICAg
ICAgICAgICAgICAgICAgICAgICAgIngiOiA5MCwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ5
IjogMzAKKyAgICAgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICAgICAgeworICAg
ICAgICAgICAgICAgICAgICAgICAgIngiOiAxMDkwLAorICAgICAgICAgICAgICAgICAgICAgICAg
InkiOiAzMAorICAgICAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICAgICB7Cisg
ICAgICAgICAgICAgICAgICAgICAgICAieCI6IDEwOTAsCisgICAgICAgICAgICAgICAgICAgICAg
ICAieSI6IDIzMAorICAgICAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICAgICB7
CisgICAgICAgICAgICAgICAgICAgICAgICAieCI6IDkwLAorICAgICAgICAgICAgICAgICAgICAg
ICAgInkiOiAyMzAKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIF0sCisg
ICAgICAgICAgICAgICAgWworICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAg
ICAgICAgICAieCI6IDkwLAorICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAzMAorICAgICAg
ICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAg
ICAgICAgICAieCI6IDEwOTAsCisgICAgICAgICAgICAgICAgICAgICAgICAieSI6IDMwCisgICAg
ICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAg
ICAgICAgICAgICJ4IjogMTA5MCwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMjMwCisg
ICAgICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAg
ICAgICAgICAgICAgICJ4IjogOTAsCisgICAgICAgICAgICAgICAgICAgICAgICAieSI6IDIzMAor
ICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgXSwKKyAgICAgICAgICAgICAg
ICBbCisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICJ4Ijog
OTAsCisgICAgICAgICAgICAgICAgICAgICAgICAieSI6IDMwCisgICAgICAgICAgICAgICAgICAg
IH0sCisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICJ4Ijog
MTA5MCwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMzAKKyAgICAgICAgICAgICAgICAg
ICAgfSwKKyAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgIngi
OiAxMDkwLAorICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAyMzAKKyAgICAgICAgICAgICAg
ICAgICAgfSwKKyAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAg
IngiOiA5MCwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMjMwCisgICAgICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgICAgICBdCisgICAgICAgICAgICBdLAorICAgICAgICAgICAg
InNob3dSdWxlcnMiOiBmYWxzZSwKKyAgICAgICAgICAgICJjb250ZW50Q29sb3IiOiAicmdiYSgx
MTEsIDE2OCwgMjIwLCAwLjY1ODgyMzUyOTQxMTc2NDcpIiwKKyAgICAgICAgICAgICJjb250ZW50
T3V0bGluZUNvbG9yIjogInJnYmEoMCwgMCwgMCwgMCkiLAorICAgICAgICAgICAgInBhZGRpbmdD
b2xvciI6ICJyZ2JhKDE0NywgMTk2LCAxMjUsIDAuNTQ5MDE5NjA3ODQzMTM3MykiLAorICAgICAg
ICAgICAgImJvcmRlckNvbG9yIjogInJnYmEoMjU1LCAyMjksIDE1MywgMC42NTg4MjM1Mjk0MTE3
NjQ3KSIsCisgICAgICAgICAgICAibWFyZ2luQ29sb3IiOiAicmdiYSgyNDYsIDE3OCwgMTA3LCAw
LjY1ODgyMzUyOTQxMTc2NDcpIiwKKyAgICAgICAgICAgICJyZWdpb24iOiB7CisgICAgICAgICAg
ICAgICAgInF1YWQiOiBbCisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAg
ICAgICAgICJ4IjogMjkwLAorICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAzMAorICAgICAg
ICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAg
ICAgICAgICAieCI6IDM5MCwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMzAKKyAgICAg
ICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAg
ICAgICAgICAgIngiOiAzOTAsCisgICAgICAgICAgICAgICAgICAgICAgICAieSI6IDIzMAorICAg
ICAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAg
ICAgICAgICAgICAieCI6IDI5MCwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMjMwCisg
ICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBdCisgICAgICAgICAgICB9Cisg
ICAgICAgIH0sCisgICAgICAgIHsKKyAgICAgICAgICAgICJxdWFkcyI6IFsKKyAgICAgICAgICAg
ICAgICBbCisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICJ4
IjogLTM1LAorICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAyNjUKKyAgICAgICAgICAgICAg
ICAgICAgfSwKKyAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAg
IngiOiA5NjUsCisgICAgICAgICAgICAgICAgICAgICAgICAieSI6IDI2NQorICAgICAgICAgICAg
ICAgICAgICB9LAorICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAg
ICAieCI6IDk2NSwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMjY1CisgICAgICAgICAg
ICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAg
ICAgICJ4IjogLTM1LAorICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAyNjUKKyAgICAgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIF0sCisgICAgICAgICAgICAgICAgWworICAg
ICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAieCI6IC0zNSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICJ5IjogMjY1CisgICAgICAgICAgICAgICAgICAgIH0sCisg
ICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogOTY1LAor
ICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAyNjUKKyAgICAgICAgICAgICAgICAgICAgfSwK
KyAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA5NjUs
CisgICAgICAgICAgICAgICAgICAgICAgICAieSI6IDI2NQorICAgICAgICAgICAgICAgICAgICB9
LAorICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAieCI6IC0z
NSwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMjY1CisgICAgICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgICAgICBdLAorICAgICAgICAgICAgICAgIFsKKyAgICAgICAgICAgICAg
ICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAtMzUsCisgICAgICAgICAgICAg
ICAgICAgICAgICAieSI6IDI2NQorICAgICAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAg
ICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAieCI6IDk2NSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICJ5IjogMjY1CisgICAgICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAg
ICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogOTY1LAorICAgICAgICAg
ICAgICAgICAgICAgICAgInkiOiAyNjUKKyAgICAgICAgICAgICAgICAgICAgfSwKKyAgICAgICAg
ICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAtMzUsCisgICAgICAg
ICAgICAgICAgICAgICAgICAieSI6IDI2NQorICAgICAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICAgICAgXSwKKyAgICAgICAgICAgICAgICBbCisgICAgICAgICAgICAgICAgICAgIHsKKyAg
ICAgICAgICAgICAgICAgICAgICAgICJ4IjogLTM1LAorICAgICAgICAgICAgICAgICAgICAgICAg
InkiOiAyNjUKKyAgICAgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICAgICAgewor
ICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA5NjUsCisgICAgICAgICAgICAgICAgICAgICAg
ICAieSI6IDI2NQorICAgICAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICAgICB7
CisgICAgICAgICAgICAgICAgICAgICAgICAieCI6IDk2NSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICJ5IjogMjY1CisgICAgICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAg
IHsKKyAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogLTM1LAorICAgICAgICAgICAgICAgICAg
ICAgICAgInkiOiAyNjUKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIF0K
KyAgICAgICAgICAgIF0sCisgICAgICAgICAgICAic2hvd1J1bGVycyI6IGZhbHNlLAorICAgICAg
ICAgICAgImNvbnRlbnRDb2xvciI6ICJyZ2JhKDExMSwgMTY4LCAyMjAsIDAuNjU4ODIzNTI5NDEx
NzY0NykiLAorICAgICAgICAgICAgImNvbnRlbnRPdXRsaW5lQ29sb3IiOiAicmdiYSgwLCAwLCAw
LCAwKSIsCisgICAgICAgICAgICAicGFkZGluZ0NvbG9yIjogInJnYmEoMTQ3LCAxOTYsIDEyNSwg
MC41NDkwMTk2MDc4NDMxMzczKSIsCisgICAgICAgICAgICAiYm9yZGVyQ29sb3IiOiAicmdiYSgy
NTUsIDIyOSwgMTUzLCAwLjY1ODgyMzUyOTQxMTc2NDcpIiwKKyAgICAgICAgICAgICJtYXJnaW5D
b2xvciI6ICJyZ2JhKDI0NiwgMTc4LCAxMDcsIDAuNjU4ODIzNTI5NDExNzY0NykiLAorICAgICAg
ICAgICAgInJlZ2lvbiI6IHsKKyAgICAgICAgICAgICAgICAicXVhZCI6IFsKKyAgICAgICAgICAg
ICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAyNjUsCisgICAgICAgICAg
ICAgICAgICAgICAgICAieSI6IDI2NQorICAgICAgICAgICAgICAgICAgICB9LAorICAgICAgICAg
ICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAieCI6IDQ2NSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICJ5IjogMjY1CisgICAgICAgICAgICAgICAgICAgIH0sCisgICAgICAg
ICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogNDY1LAorICAgICAg
ICAgICAgICAgICAgICAgICAgInkiOiA0NjUKKyAgICAgICAgICAgICAgICAgICAgfSwKKyAgICAg
ICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAyNjUsCisgICAg
ICAgICAgICAgICAgICAgICAgICAieSI6IDQ2NQorICAgICAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICAgICAgXQorICAgICAgICAgICAgfQorICAgICAgICB9LAorICAgICAgICB7CisgICAg
ICAgICAgICAicXVhZHMiOiBbCisgICAgICAgICAgICAgICAgWworICAgICAgICAgICAgICAgICAg
ICB7CisgICAgICAgICAgICAgICAgICAgICAgICAieCI6IC0yMzUsCisgICAgICAgICAgICAgICAg
ICAgICAgICAieSI6IDI3NQorICAgICAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAg
ICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAieCI6IDc2NSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICJ5IjogMjc1CisgICAgICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAg
ICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogNzY1LAorICAgICAgICAgICAg
ICAgICAgICAgICAgInkiOiAyNzUKKyAgICAgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAg
ICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAtMjM1LAorICAgICAgICAg
ICAgICAgICAgICAgICAgInkiOiAyNzUKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgICAgIF0sCisgICAgICAgICAgICAgICAgWworICAgICAgICAgICAgICAgICAgICB7CisgICAg
ICAgICAgICAgICAgICAgICAgICAieCI6IC0yMzUsCisgICAgICAgICAgICAgICAgICAgICAgICAi
eSI6IDI3NQorICAgICAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICAgICB7Cisg
ICAgICAgICAgICAgICAgICAgICAgICAieCI6IDc2NSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICJ5IjogMjc1CisgICAgICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAgIHsK
KyAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogNzY1LAorICAgICAgICAgICAgICAgICAgICAg
ICAgInkiOiAyNzUKKyAgICAgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICAgICAg
eworICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAtMjM1LAorICAgICAgICAgICAgICAgICAg
ICAgICAgInkiOiAyNzUKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIF0s
CisgICAgICAgICAgICAgICAgWworICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAg
ICAgICAgICAgICAieCI6IC0yMzUsCisgICAgICAgICAgICAgICAgICAgICAgICAieSI6IDI3NQor
ICAgICAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAg
ICAgICAgICAgICAgICAieCI6IDc2NSwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMjc1
CisgICAgICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAg
ICAgICAgICAgICAgICAgICJ4IjogNzY1LAorICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAy
NzUKKyAgICAgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICAgICAgeworICAgICAg
ICAgICAgICAgICAgICAgICAgIngiOiAtMjM1LAorICAgICAgICAgICAgICAgICAgICAgICAgInki
OiAyNzUKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIF0sCisgICAgICAg
ICAgICAgICAgWworICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAg
ICAieCI6IC0yMzUsCisgICAgICAgICAgICAgICAgICAgICAgICAieSI6IDI3NQorICAgICAgICAg
ICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAg
ICAgICAieCI6IDc2NSwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMjc1CisgICAgICAg
ICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAg
ICAgICAgICJ4IjogNzY1LAorICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAyNzUKKyAgICAg
ICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAg
ICAgICAgICAgIngiOiAtMjM1LAorICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAyNzUKKyAg
ICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIF0KKyAgICAgICAgICAgIF0sCisg
ICAgICAgICAgICAic2hvd1J1bGVycyI6IGZhbHNlLAorICAgICAgICAgICAgImNvbnRlbnRDb2xv
ciI6ICJyZ2JhKDExMSwgMTY4LCAyMjAsIDAuNjU4ODIzNTI5NDExNzY0NykiLAorICAgICAgICAg
ICAgImNvbnRlbnRPdXRsaW5lQ29sb3IiOiAicmdiYSgwLCAwLCAwLCAwKSIsCisgICAgICAgICAg
ICAicGFkZGluZ0NvbG9yIjogInJnYmEoMTQ3LCAxOTYsIDEyNSwgMC41NDkwMTk2MDc4NDMxMzcz
KSIsCisgICAgICAgICAgICAiYm9yZGVyQ29sb3IiOiAicmdiYSgyNTUsIDIyOSwgMTUzLCAwLjY1
ODgyMzUyOTQxMTc2NDcpIiwKKyAgICAgICAgICAgICJtYXJnaW5Db2xvciI6ICJyZ2JhKDI0Niwg
MTc4LCAxMDcsIDAuNjU4ODIzNTI5NDExNzY0NykiLAorICAgICAgICAgICAgInJlZ2lvbiI6IHsK
KyAgICAgICAgICAgICAgICAicXVhZCI6IFsKKyAgICAgICAgICAgICAgICAgICAgeworICAgICAg
ICAgICAgICAgICAgICAgICAgIngiOiAyNjUsCisgICAgICAgICAgICAgICAgICAgICAgICAieSI6
IDI3NQorICAgICAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICAgICB7CisgICAg
ICAgICAgICAgICAgICAgICAgICAieCI6IDc2NSwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ5
IjogMjc1CisgICAgICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAgIHsKKyAg
ICAgICAgICAgICAgICAgICAgICAgICJ4IjogNzY1LAorICAgICAgICAgICAgICAgICAgICAgICAg
InkiOiA0NzUKKyAgICAgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICAgICAgewor
ICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAyNjUsCisgICAgICAgICAgICAgICAgICAgICAg
ICAieSI6IDQ3NQorICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgXQorICAg
ICAgICAgICAgfQorICAgICAgICB9CisgICAgXSwKKyAgICAiZWxlbWVudEluZm8iOiB7CisgICAg
ICAgICJ0YWdOYW1lIjogImRpdiIsCisgICAgICAgICJpZFZhbHVlIjogImluc3BlY3RlZEVsZW1l
bnQiLAorICAgICAgICAibm9kZVdpZHRoIjogIjEwMDAiLAorICAgICAgICAibm9kZUhlaWdodCI6
ICIyMDAiLAorICAgICAgICAiY29udGVudEZsb3dJbmZvIjogeworICAgICAgICAgICAgIm5hbWUi
OiAiZmxvdyIKKyAgICAgICAgfQorICAgIH0KK30KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yLW9ic29sZXRlL2VsZW1lbnRzL2hpZ2hsaWdodC1yZWdpb25zLWZsb3ctdmVydC1s
ci5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2VsZW1lbnRzL2hpZ2hsaWdo
dC1yZWdpb25zLWZsb3ctdmVydC1sci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM1MjRjZDA2MTFhNDgxMTQ3
M2IzYmU5MGQ4NTRjOTEwZDUxODEzOTUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9p
bnNwZWN0b3Itb2Jzb2xldGUvZWxlbWVudHMvaGlnaGxpZ2h0LXJlZ2lvbnMtZmxvdy12ZXJ0LWxy
Lmh0bWwKQEAgLTAsMCArMSw4NyBAQAorPCFkb2N0eXBlIGh0bWw+Cis8aHRtbCBzdHlsZT0iLXdl
YmtpdC13cml0aW5nLW1vZGU6IHZlcnRpY2FsLWxyOyI+Cis8aGVhZD4KKworPHN0eWxlPgorCiti
b2R5IHsKKyAgICBtYXJnaW46IDA7Cit9CisjZmxvdyB7CisgICAgLXdlYmtpdC1mbG93LWludG86
IGZsb3c7Cit9CisjY29udGFpbmVyIHsKKyAgICB3aWR0aDogNDAwcHg7CisgICAgaGVpZ2h0OiA0
MDBweDsKKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiBncmV5OworfQorI2luc3BlY3RlZEVsZW1lbnQg
eworICAgIGhlaWdodDogMTAwJTsKKyAgICB3aWR0aDogMTAwMHB4OworICAgIGJhY2tncm91bmQt
Y29sb3I6IGdyZWVuOworfQorLnJlZ2lvbiB7CisgICAgbWFyZ2luOiA1cHg7CisgICAgYm9yZGVy
OiBzb2xpZCAxMHB4IGFxdWE7CisgICAgcGFkZGluZzogMTVweDsKKyAgICB3aWR0aDogMjAwcHg7
CisgICAgaGVpZ2h0OiAyMDBweDsKKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiBibHVlOworICAgIGZs
b2F0OiBsZWZ0OworICAgIC13ZWJraXQtZmxvdy1mcm9tOiBmbG93OworfQorLnNtYWxsIHsKKyAg
ICB3aWR0aDogMTAwcHg7Cit9CisuemVyby1oZWlnaHQgeworICAgIGJvcmRlcjogbm9uZTsKKyAg
ICBoZWlnaHQ6IDBweDsKKyAgICBwYWRkaW5nOiAwOworfQorLnplcm8tc2l6ZSB7CisgICAgYm9y
ZGVyOiBub25lOworICAgIHdpZHRoOiAwcHg7CisgICAgaGVpZ2h0OiAwcHg7CisgICAgcGFkZGlu
ZzogMDsKK30KKy5oaWRkZW4geworICAgIGRpc3BsYXk6IG5vbmU7Cit9CisjZGVzY3JpcHRpb24g
eworICAgIGNsZWFyOiBib3RoOworfQorCis8L3N0eWxlPgorCis8c2NyaXB0IHNyYz0iLi4vLi4v
aHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzLXRlc3QuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdD4KKworZnVuY3Rpb24gdGVzdCgpCit7CisgICAgZnVuY3Rpb24gbm9kZVNl
bGVjdGVkKG5vZGUpCisgICAgeworICAgICAgICBSdW50aW1lQWdlbnQuZXZhbHVhdGUoImR1bXBJ
bnNwZWN0b3JIaWdobGlnaHRlZE5vZGUoKSIsIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KTsK
KyAgICB9CisKKyAgICBJbnNwZWN0b3JUZXN0LnNlbGVjdE5vZGVXaXRoSWQoImluc3BlY3RlZEVs
ZW1lbnQiLCBub2RlU2VsZWN0ZWQpOworfQorCis8L3NjcmlwdD4KKzwvaGVhZD4KKworPGJvZHkg
b25sb2FkPSJydW5UZXN0KCkiPgorCis8ZGl2IGlkPSJmbG93Ij4KKyAgICA8ZGl2IGlkPSJpbnNw
ZWN0ZWRFbGVtZW50Ij48L2Rpdj4KKzwvZGl2PgorCis8ZGl2IGNsYXNzPSJyZWdpb24iPjwvZGl2
PgorPGRpdiBjbGFzcz0icmVnaW9uIHNtYWxsIj48L2Rpdj4KKzxkaXYgY2xhc3M9InJlZ2lvbiB6
ZXJvLWhlaWdodCI+PC9kaXY+Cis8ZGl2IGNsYXNzPSJyZWdpb24gemVyby1zaXplIj48L2Rpdj4K
KzxkaXYgY2xhc3M9InJlZ2lvbiBoaWRkZW4iPjwvZGl2PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhlIHBvc2l0aW9uIGFuZCBzaXplIG9mIHRoZSBoaWdobGlnaHRl
ZCBub2RlIGluc2lkZSBDU1MgUmVnaW9ucy48L3A+CisKKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9lbGVtZW50cy9oaWdobGlnaHQt
cmVnaW9ucy1mbG93LXZlcnQtcmwtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
LW9ic29sZXRlL2VsZW1lbnRzL2hpZ2hsaWdodC1yZWdpb25zLWZsb3ctdmVydC1ybC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNzBlM2ZjMTVhYTQ3YmEwYTAzYWU5MWViMDNmMjdkNDhlZTYyNDE1
NgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9lbGVt
ZW50cy9oaWdobGlnaHQtcmVnaW9ucy1mbG93LXZlcnQtcmwtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsNDI4IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhlIHBvc2l0aW9uIGFuZCBzaXplIG9mIHRo
ZSBoaWdobGlnaHRlZCBub2RlIGluc2lkZSBDU1MgUmVnaW9ucy4KKworeworICAgICJzY3JvbGwi
OiB7CisgICAgICAgICJ4IjogMCwKKyAgICAgICAgInkiOiAwCisgICAgfSwKKyAgICAiZnJhZ21l
bnRzIjogWworICAgICAgICB7CisgICAgICAgICAgICAicXVhZHMiOiBbCisgICAgICAgICAgICAg
ICAgWworICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAieCI6
IC0yMzAsCisgICAgICAgICAgICAgICAgICAgICAgICAieSI6IDMwCisgICAgICAgICAgICAgICAg
ICAgIH0sCisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICJ4
IjogNzcwLAorICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAzMAorICAgICAgICAgICAgICAg
ICAgICB9LAorICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAi
eCI6IDc3MCwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMjMwCisgICAgICAgICAgICAg
ICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAg
ICJ4IjogLTIzMCwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMjMwCisgICAgICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBdLAorICAgICAgICAgICAgICAgIFsKKyAgICAg
ICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAtMjMwLAorICAg
ICAgICAgICAgICAgICAgICAgICAgInkiOiAzMAorICAgICAgICAgICAgICAgICAgICB9LAorICAg
ICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAieCI6IDc3MCwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICJ5IjogMzAKKyAgICAgICAgICAgICAgICAgICAgfSwKKyAg
ICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA3NzAsCisg
ICAgICAgICAgICAgICAgICAgICAgICAieSI6IDIzMAorICAgICAgICAgICAgICAgICAgICB9LAor
ICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAieCI6IC0yMzAs
CisgICAgICAgICAgICAgICAgICAgICAgICAieSI6IDIzMAorICAgICAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICAgICAgXSwKKyAgICAgICAgICAgICAgICBbCisgICAgICAgICAgICAgICAg
ICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogLTIzMCwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICJ5IjogMzAKKyAgICAgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAg
ICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA3NzAsCisgICAgICAgICAgICAg
ICAgICAgICAgICAieSI6IDMwCisgICAgICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAg
ICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogNzcwLAorICAgICAgICAgICAg
ICAgICAgICAgICAgInkiOiAyMzAKKyAgICAgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAg
ICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAtMjMwLAorICAgICAgICAg
ICAgICAgICAgICAgICAgInkiOiAyMzAKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgICAgIF0sCisgICAgICAgICAgICAgICAgWworICAgICAgICAgICAgICAgICAgICB7CisgICAg
ICAgICAgICAgICAgICAgICAgICAieCI6IC0yMzAsCisgICAgICAgICAgICAgICAgICAgICAgICAi
eSI6IDMwCisgICAgICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAgIHsKKyAg
ICAgICAgICAgICAgICAgICAgICAgICJ4IjogNzcwLAorICAgICAgICAgICAgICAgICAgICAgICAg
InkiOiAzMAorICAgICAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICAgICB7Cisg
ICAgICAgICAgICAgICAgICAgICAgICAieCI6IDc3MCwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICJ5IjogMjMwCisgICAgICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAgIHsK
KyAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogLTIzMCwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICJ5IjogMjMwCisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBdCisg
ICAgICAgICAgICBdLAorICAgICAgICAgICAgInNob3dSdWxlcnMiOiBmYWxzZSwKKyAgICAgICAg
ICAgICJjb250ZW50Q29sb3IiOiAicmdiYSgxMTEsIDE2OCwgMjIwLCAwLjY1ODgyMzUyOTQxMTc2
NDcpIiwKKyAgICAgICAgICAgICJjb250ZW50T3V0bGluZUNvbG9yIjogInJnYmEoMCwgMCwgMCwg
MCkiLAorICAgICAgICAgICAgInBhZGRpbmdDb2xvciI6ICJyZ2JhKDE0NywgMTk2LCAxMjUsIDAu
NTQ5MDE5NjA3ODQzMTM3MykiLAorICAgICAgICAgICAgImJvcmRlckNvbG9yIjogInJnYmEoMjU1
LCAyMjksIDE1MywgMC42NTg4MjM1Mjk0MTE3NjQ3KSIsCisgICAgICAgICAgICAibWFyZ2luQ29s
b3IiOiAicmdiYSgyNDYsIDE3OCwgMTA3LCAwLjY1ODgyMzUyOTQxMTc2NDcpIiwKKyAgICAgICAg
ICAgICJyZWdpb24iOiB7CisgICAgICAgICAgICAgICAgInF1YWQiOiBbCisgICAgICAgICAgICAg
ICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogNTcwLAorICAgICAgICAgICAg
ICAgICAgICAgICAgInkiOiAzMAorICAgICAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAg
ICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAieCI6IDc3MCwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICJ5IjogMzAKKyAgICAgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAg
ICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA3NzAsCisgICAgICAgICAg
ICAgICAgICAgICAgICAieSI6IDIzMAorICAgICAgICAgICAgICAgICAgICB9LAorICAgICAgICAg
ICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAieCI6IDU3MCwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICJ5IjogMjMwCisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgICAgICBdCisgICAgICAgICAgICB9CisgICAgICAgIH0sCisgICAgICAgIHsKKyAgICAgICAg
ICAgICJxdWFkcyI6IFsKKyAgICAgICAgICAgICAgICBbCisgICAgICAgICAgICAgICAgICAgIHsK
KyAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogLTI5MCwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICJ5IjogMzAKKyAgICAgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICAgICAg
eworICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA3MTAsCisgICAgICAgICAgICAgICAgICAg
ICAgICAieSI6IDMwCisgICAgICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAg
IHsKKyAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogNzEwLAorICAgICAgICAgICAgICAgICAg
ICAgICAgInkiOiAyMzAKKyAgICAgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICAg
ICAgeworICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAtMjkwLAorICAgICAgICAgICAgICAg
ICAgICAgICAgInkiOiAyMzAKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAg
IF0sCisgICAgICAgICAgICAgICAgWworICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAg
ICAgICAgICAgICAgICAieCI6IC0yOTAsCisgICAgICAgICAgICAgICAgICAgICAgICAieSI6IDMw
CisgICAgICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAg
ICAgICAgICAgICAgICAgICJ4IjogNzEwLAorICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAz
MAorICAgICAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICAgICB7CisgICAgICAg
ICAgICAgICAgICAgICAgICAieCI6IDcxMCwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ5Ijog
MjMwCisgICAgICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAg
ICAgICAgICAgICAgICAgICAgICJ4IjogLTI5MCwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ5
IjogMjMwCisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBdLAorICAgICAg
ICAgICAgICAgIFsKKyAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAg
ICAgIngiOiAtMjkwLAorICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAzMAorICAgICAgICAg
ICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAg
ICAgICAieCI6IDcxMCwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMzAKKyAgICAgICAg
ICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAg
ICAgICAgIngiOiA3MTAsCisgICAgICAgICAgICAgICAgICAgICAgICAieSI6IDIzMAorICAgICAg
ICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAg
ICAgICAgICAieCI6IC0yOTAsCisgICAgICAgICAgICAgICAgICAgICAgICAieSI6IDIzMAorICAg
ICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgXSwKKyAgICAgICAgICAgICAgICBb
CisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogLTI5
MCwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMzAKKyAgICAgICAgICAgICAgICAgICAg
fSwKKyAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA3
MTAsCisgICAgICAgICAgICAgICAgICAgICAgICAieSI6IDMwCisgICAgICAgICAgICAgICAgICAg
IH0sCisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICJ4Ijog
NzEwLAorICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAyMzAKKyAgICAgICAgICAgICAgICAg
ICAgfSwKKyAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgIngi
OiAtMjkwLAorICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAyMzAKKyAgICAgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgICAgIF0KKyAgICAgICAgICAgIF0sCisgICAgICAgICAgICAi
c2hvd1J1bGVycyI6IGZhbHNlLAorICAgICAgICAgICAgImNvbnRlbnRDb2xvciI6ICJyZ2JhKDEx
MSwgMTY4LCAyMjAsIDAuNjU4ODIzNTI5NDExNzY0NykiLAorICAgICAgICAgICAgImNvbnRlbnRP
dXRsaW5lQ29sb3IiOiAicmdiYSgwLCAwLCAwLCAwKSIsCisgICAgICAgICAgICAicGFkZGluZ0Nv
bG9yIjogInJnYmEoMTQ3LCAxOTYsIDEyNSwgMC41NDkwMTk2MDc4NDMxMzczKSIsCisgICAgICAg
ICAgICAiYm9yZGVyQ29sb3IiOiAicmdiYSgyNTUsIDIyOSwgMTUzLCAwLjY1ODgyMzUyOTQxMTc2
NDcpIiwKKyAgICAgICAgICAgICJtYXJnaW5Db2xvciI6ICJyZ2JhKDI0NiwgMTc4LCAxMDcsIDAu
NjU4ODIzNTI5NDExNzY0NykiLAorICAgICAgICAgICAgInJlZ2lvbiI6IHsKKyAgICAgICAgICAg
ICAgICAicXVhZCI6IFsKKyAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAg
ICAgICAgIngiOiA0MTAsCisgICAgICAgICAgICAgICAgICAgICAgICAieSI6IDMwCisgICAgICAg
ICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAg
ICAgICAgICJ4IjogNTEwLAorICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAzMAorICAgICAg
ICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAg
ICAgICAgICAieCI6IDUxMCwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMjMwCisgICAg
ICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAg
ICAgICAgICAgICJ4IjogNDEwLAorICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAyMzAKKyAg
ICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIF0KKyAgICAgICAgICAgIH0KKyAg
ICAgICAgfSwKKyAgICAgICAgeworICAgICAgICAgICAgInF1YWRzIjogWworICAgICAgICAgICAg
ICAgIFsKKyAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgIngi
OiAtMTY1LAorICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAyNjUKKyAgICAgICAgICAgICAg
ICAgICAgfSwKKyAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAg
IngiOiA4MzUsCisgICAgICAgICAgICAgICAgICAgICAgICAieSI6IDI2NQorICAgICAgICAgICAg
ICAgICAgICB9LAorICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAg
ICAieCI6IDgzNSwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMjY1CisgICAgICAgICAg
ICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAg
ICAgICJ4IjogLTE2NSwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMjY1CisgICAgICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBdLAorICAgICAgICAgICAgICAgIFsKKyAg
ICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAtMTY1LAor
ICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAyNjUKKyAgICAgICAgICAgICAgICAgICAgfSwK
KyAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA4MzUs
CisgICAgICAgICAgICAgICAgICAgICAgICAieSI6IDI2NQorICAgICAgICAgICAgICAgICAgICB9
LAorICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAieCI6IDgz
NSwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMjY1CisgICAgICAgICAgICAgICAgICAg
IH0sCisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICJ4Ijog
LTE2NSwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMjY1CisgICAgICAgICAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgICAgICBdLAorICAgICAgICAgICAgICAgIFsKKyAgICAgICAgICAg
ICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAtMTY1LAorICAgICAgICAg
ICAgICAgICAgICAgICAgInkiOiAyNjUKKyAgICAgICAgICAgICAgICAgICAgfSwKKyAgICAgICAg
ICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA4MzUsCisgICAgICAg
ICAgICAgICAgICAgICAgICAieSI6IDI2NQorICAgICAgICAgICAgICAgICAgICB9LAorICAgICAg
ICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAieCI6IDgzNSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICJ5IjogMjY1CisgICAgICAgICAgICAgICAgICAgIH0sCisgICAg
ICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogLTE2NSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICJ5IjogMjY1CisgICAgICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgICAgICBdLAorICAgICAgICAgICAgICAgIFsKKyAgICAgICAgICAgICAgICAgICAg
eworICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAtMTY1LAorICAgICAgICAgICAgICAgICAg
ICAgICAgInkiOiAyNjUKKyAgICAgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICAg
ICAgeworICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA4MzUsCisgICAgICAgICAgICAgICAg
ICAgICAgICAieSI6IDI2NQorICAgICAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAg
ICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAieCI6IDgzNSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICJ5IjogMjY1CisgICAgICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAg
ICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogLTE2NSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICJ5IjogMjY1CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
ICAgICBdCisgICAgICAgICAgICBdLAorICAgICAgICAgICAgInNob3dSdWxlcnMiOiBmYWxzZSwK
KyAgICAgICAgICAgICJjb250ZW50Q29sb3IiOiAicmdiYSgxMTEsIDE2OCwgMjIwLCAwLjY1ODgy
MzUyOTQxMTc2NDcpIiwKKyAgICAgICAgICAgICJjb250ZW50T3V0bGluZUNvbG9yIjogInJnYmEo
MCwgMCwgMCwgMCkiLAorICAgICAgICAgICAgInBhZGRpbmdDb2xvciI6ICJyZ2JhKDE0NywgMTk2
LCAxMjUsIDAuNTQ5MDE5NjA3ODQzMTM3MykiLAorICAgICAgICAgICAgImJvcmRlckNvbG9yIjog
InJnYmEoMjU1LCAyMjksIDE1MywgMC42NTg4MjM1Mjk0MTE3NjQ3KSIsCisgICAgICAgICAgICAi
bWFyZ2luQ29sb3IiOiAicmdiYSgyNDYsIDE3OCwgMTA3LCAwLjY1ODgyMzUyOTQxMTc2NDcpIiwK
KyAgICAgICAgICAgICJyZWdpb24iOiB7CisgICAgICAgICAgICAgICAgInF1YWQiOiBbCisgICAg
ICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogMzM1LAorICAg
ICAgICAgICAgICAgICAgICAgICAgInkiOiAyNjUKKyAgICAgICAgICAgICAgICAgICAgfSwKKyAg
ICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA1MzUsCisg
ICAgICAgICAgICAgICAgICAgICAgICAieSI6IDI2NQorICAgICAgICAgICAgICAgICAgICB9LAor
ICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAieCI6IDUzNSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogNDY1CisgICAgICAgICAgICAgICAgICAgIH0s
CisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogMzM1
LAorICAgICAgICAgICAgICAgICAgICAgICAgInkiOiA0NjUKKyAgICAgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgICAgIF0KKyAgICAgICAgICAgIH0KKyAgICAgICAgfSwKKyAgICAgICAg
eworICAgICAgICAgICAgInF1YWRzIjogWworICAgICAgICAgICAgICAgIFsKKyAgICAgICAgICAg
ICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAzNSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICJ5IjogMjc1CisgICAgICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAg
ICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogMTAzNSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICJ5IjogMjc1CisgICAgICAgICAgICAgICAgICAgIH0sCisgICAgICAg
ICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogMTAzNSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICJ5IjogMjc1CisgICAgICAgICAgICAgICAgICAgIH0sCisgICAg
ICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogMzUsCisgICAg
ICAgICAgICAgICAgICAgICAgICAieSI6IDI3NQorICAgICAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICAgICAgXSwKKyAgICAgICAgICAgICAgICBbCisgICAgICAgICAgICAgICAgICAgIHsK
KyAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogMzUsCisgICAgICAgICAgICAgICAgICAgICAg
ICAieSI6IDI3NQorICAgICAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICAgICB7
CisgICAgICAgICAgICAgICAgICAgICAgICAieCI6IDEwMzUsCisgICAgICAgICAgICAgICAgICAg
ICAgICAieSI6IDI3NQorICAgICAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICAg
ICB7CisgICAgICAgICAgICAgICAgICAgICAgICAieCI6IDEwMzUsCisgICAgICAgICAgICAgICAg
ICAgICAgICAieSI6IDI3NQorICAgICAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAg
ICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAieCI6IDM1LAorICAgICAgICAgICAgICAg
ICAgICAgICAgInkiOiAyNzUKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAg
IF0sCisgICAgICAgICAgICAgICAgWworICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAg
ICAgICAgICAgICAgICAieCI6IDM1LAorICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAyNzUK
KyAgICAgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAg
ICAgICAgICAgICAgICAgIngiOiAxMDM1LAorICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAy
NzUKKyAgICAgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICAgICAgeworICAgICAg
ICAgICAgICAgICAgICAgICAgIngiOiAxMDM1LAorICAgICAgICAgICAgICAgICAgICAgICAgInki
OiAyNzUKKyAgICAgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICAgICAgeworICAg
ICAgICAgICAgICAgICAgICAgICAgIngiOiAzNSwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ5
IjogMjc1CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBdLAorICAgICAg
ICAgICAgICAgIFsKKyAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAg
ICAgIngiOiAzNSwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMjc1CisgICAgICAgICAg
ICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAg
ICAgICJ4IjogMTAzNSwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMjc1CisgICAgICAg
ICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAg
ICAgICAgICJ4IjogMTAzNSwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMjc1CisgICAg
ICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAg
ICAgICAgICAgICJ4IjogMzUsCisgICAgICAgICAgICAgICAgICAgICAgICAieSI6IDI3NQorICAg
ICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgXQorICAgICAgICAgICAgXSwKKyAg
ICAgICAgICAgICJzaG93UnVsZXJzIjogZmFsc2UsCisgICAgICAgICAgICAiY29udGVudENvbG9y
IjogInJnYmEoMTExLCAxNjgsIDIyMCwgMC42NTg4MjM1Mjk0MTE3NjQ3KSIsCisgICAgICAgICAg
ICAiY29udGVudE91dGxpbmVDb2xvciI6ICJyZ2JhKDAsIDAsIDAsIDApIiwKKyAgICAgICAgICAg
ICJwYWRkaW5nQ29sb3IiOiAicmdiYSgxNDcsIDE5NiwgMTI1LCAwLjU0OTAxOTYwNzg0MzEzNzMp
IiwKKyAgICAgICAgICAgICJib3JkZXJDb2xvciI6ICJyZ2JhKDI1NSwgMjI5LCAxNTMsIDAuNjU4
ODIzNTI5NDExNzY0NykiLAorICAgICAgICAgICAgIm1hcmdpbkNvbG9yIjogInJnYmEoMjQ2LCAx
NzgsIDEwNywgMC42NTg4MjM1Mjk0MTE3NjQ3KSIsCisgICAgICAgICAgICAicmVnaW9uIjogewor
ICAgICAgICAgICAgICAgICJxdWFkIjogWworICAgICAgICAgICAgICAgICAgICB7CisgICAgICAg
ICAgICAgICAgICAgICAgICAieCI6IDUzNSwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ5Ijog
Mjc1CisgICAgICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAg
ICAgICAgICAgICAgICAgICAgICJ4IjogMTAzNSwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ5
IjogMjc1CisgICAgICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAgIHsKKyAg
ICAgICAgICAgICAgICAgICAgICAgICJ4IjogMTAzNSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICJ5IjogNDc1CisgICAgICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAgIHsK
KyAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogNTM1LAorICAgICAgICAgICAgICAgICAgICAg
ICAgInkiOiA0NzUKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIF0KKyAg
ICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIF0sCisgICAgImVsZW1lbnRJbmZvIjogeworICAg
ICAgICAidGFnTmFtZSI6ICJkaXYiLAorICAgICAgICAiaWRWYWx1ZSI6ICJpbnNwZWN0ZWRFbGVt
ZW50IiwKKyAgICAgICAgIm5vZGVXaWR0aCI6ICIxMDAwIiwKKyAgICAgICAgIm5vZGVIZWlnaHQi
OiAiMjAwIiwKKyAgICAgICAgImNvbnRlbnRGbG93SW5mbyI6IHsKKyAgICAgICAgICAgICJuYW1l
IjogImZsb3ciCisgICAgICAgIH0KKyAgICB9Cit9CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2luc3BlY3Rvci1vYnNvbGV0ZS9lbGVtZW50cy9oaWdobGlnaHQtcmVnaW9ucy1mbG93LXZlcnQt
cmwuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9lbGVtZW50cy9oaWdobGln
aHQtcmVnaW9ucy1mbG93LXZlcnQtcmwuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jZGUwMDk4MWQwNDU0Zjc1
MDI1NzRkZTc2YTg2NmY2MGJjODhiZDU0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yLW9ic29sZXRlL2VsZW1lbnRzL2hpZ2hsaWdodC1yZWdpb25zLWZsb3ctdmVydC1y
bC5odG1sCkBAIC0wLDAgKzEsODcgQEAKKzwhZG9jdHlwZSBodG1sPgorPGh0bWwgc3R5bGU9Ii13
ZWJraXQtd3JpdGluZy1tb2RlOiB2ZXJ0aWNhbC1ybDsiPgorPGhlYWQ+CisKKzxzdHlsZT4KKwor
Ym9keSB7CisgICAgbWFyZ2luOiAwOworfQorI2Zsb3cgeworICAgIC13ZWJraXQtZmxvdy1pbnRv
OiBmbG93OworfQorI2NvbnRhaW5lciB7CisgICAgd2lkdGg6IDQwMHB4OworICAgIGhlaWdodDog
NDAwcHg7CisgICAgYmFja2dyb3VuZC1jb2xvcjogZ3JleTsKK30KKyNpbnNwZWN0ZWRFbGVtZW50
IHsKKyAgICBoZWlnaHQ6IDEwMCU7CisgICAgd2lkdGg6IDEwMDBweDsKKyAgICBiYWNrZ3JvdW5k
LWNvbG9yOiBncmVlbjsKK30KKy5yZWdpb24geworICAgIG1hcmdpbjogNXB4OworICAgIGJvcmRl
cjogc29saWQgMTBweCBhcXVhOworICAgIHBhZGRpbmc6IDE1cHg7CisgICAgd2lkdGg6IDIwMHB4
OworICAgIGhlaWdodDogMjAwcHg7CisgICAgYmFja2dyb3VuZC1jb2xvcjogYmx1ZTsKKyAgICBm
bG9hdDogbGVmdDsKKyAgICAtd2Via2l0LWZsb3ctZnJvbTogZmxvdzsKK30KKy5zbWFsbCB7Cisg
ICAgd2lkdGg6IDEwMHB4OworfQorLnplcm8taGVpZ2h0IHsKKyAgICBib3JkZXI6IG5vbmU7Cisg
ICAgaGVpZ2h0OiAwcHg7CisgICAgcGFkZGluZzogMDsKK30KKy56ZXJvLXNpemUgeworICAgIGJv
cmRlcjogbm9uZTsKKyAgICB3aWR0aDogMHB4OworICAgIGhlaWdodDogMHB4OworICAgIHBhZGRp
bmc6IDA7Cit9CisuaGlkZGVuIHsKKyAgICBkaXNwbGF5OiBub25lOworfQorI2Rlc2NyaXB0aW9u
IHsKKyAgICBjbGVhcjogYm90aDsKK30KKworPC9zdHlsZT4KKworPHNjcmlwdCBzcmM9Ii4uLy4u
L2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9lbGVtZW50cy10ZXN0LmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQ+CisKK2Z1bmN0aW9uIHRlc3QoKQoreworICAgIGZ1bmN0aW9uIG5vZGVT
ZWxlY3RlZChub2RlKQorICAgIHsKKyAgICAgICAgUnVudGltZUFnZW50LmV2YWx1YXRlKCJkdW1w
SW5zcGVjdG9ySGlnaGxpZ2h0ZWROb2RlKCkiLCBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCk7
CisgICAgfQorCisgICAgSW5zcGVjdG9yVGVzdC5zZWxlY3ROb2RlV2l0aElkKCJpbnNwZWN0ZWRF
bGVtZW50Iiwgbm9kZVNlbGVjdGVkKTsKK30KKworPC9zY3JpcHQ+Cis8L2hlYWQ+CisKKzxib2R5
IG9ubG9hZD0icnVuVGVzdCgpIj4KKworPGRpdiBpZD0iZmxvdyI+CisgICAgPGRpdiBpZD0iaW5z
cGVjdGVkRWxlbWVudCI+PC9kaXY+Cis8L2Rpdj4KKworPGRpdiBjbGFzcz0icmVnaW9uIj48L2Rp
dj4KKzxkaXYgY2xhc3M9InJlZ2lvbiBzbWFsbCI+PC9kaXY+Cis8ZGl2IGNsYXNzPSJyZWdpb24g
emVyby1oZWlnaHQiPjwvZGl2PgorPGRpdiBjbGFzcz0icmVnaW9uIHplcm8tc2l6ZSI+PC9kaXY+
Cis8ZGl2IGNsYXNzPSJyZWdpb24gaGlkZGVuIj48L2Rpdj4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoZSBwb3NpdGlvbiBhbmQgc2l6ZSBvZiB0aGUgaGlnaGxpZ2h0
ZWQgbm9kZSBpbnNpZGUgQ1NTIFJlZ2lvbnMuPC9wPgorCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZWxlbWVudHMvaGlnaGxpZ2h0
LXJlZ2lvbnMtZmxvdy5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2VsZW1l
bnRzL2hpZ2hsaWdodC1yZWdpb25zLWZsb3cuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mOWRkOGNiMWE0NzAz
ZDU1MDY1NjgzMmIxYzFlNmU0OTEwZDNlNzU5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yLW9ic29sZXRlL2VsZW1lbnRzL2hpZ2hsaWdodC1yZWdpb25zLWZsb3cuaHRt
bApAQCAtMCwwICsxLDg3IEBACis8IWRvY3R5cGUgaHRtbD4KKzxodG1sPgorPGhlYWQ+CisKKzxz
dHlsZT4KKworYm9keSB7CisgICAgbWFyZ2luOiAwOworfQorI2Zsb3cgeworICAgIC13ZWJraXQt
Zmxvdy1pbnRvOiBmbG93OworfQorI2NvbnRhaW5lciB7CisgICAgd2lkdGg6IDQwMHB4OworICAg
IGhlaWdodDogNDAwcHg7CisgICAgYmFja2dyb3VuZC1jb2xvcjogZ3JleTsKK30KKyNpbnNwZWN0
ZWRFbGVtZW50IHsKKyAgICB3aWR0aDogMTAwJTsKKyAgICBoZWlnaHQ6IDEwMDBweDsKKyAgICBi
YWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsKK30KKy5yZWdpb24geworICAgIG1hcmdpbjogNXB4Owor
ICAgIGJvcmRlcjogc29saWQgMTBweCBhcXVhOworICAgIHBhZGRpbmc6IDE1cHg7CisgICAgd2lk
dGg6IDIwMHB4OworICAgIGhlaWdodDogMjAwcHg7CisgICAgYmFja2dyb3VuZC1jb2xvcjogYmx1
ZTsKKyAgICBmbG9hdDogbGVmdDsKKyAgICAtd2Via2l0LWZsb3ctZnJvbTogZmxvdzsKK30KKy5z
bWFsbCB7CisgICAgd2lkdGg6IDEwMHB4OworfQorLnplcm8taGVpZ2h0IHsKKyAgICBib3JkZXI6
IG5vbmU7CisgICAgaGVpZ2h0OiAwcHg7CisgICAgcGFkZGluZzogMDsKK30KKy56ZXJvLXNpemUg
eworICAgIGJvcmRlcjogbm9uZTsKKyAgICB3aWR0aDogMHB4OworICAgIGhlaWdodDogMHB4Owor
ICAgIHBhZGRpbmc6IDA7Cit9CisuaGlkZGVuIHsKKyAgICBkaXNwbGF5OiBub25lOworfQorI2Rl
c2NyaXB0aW9uIHsKKyAgICBjbGVhcjogYm90aDsKK30KKworPC9zdHlsZT4KKworPHNjcmlwdCBz
cmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9lbGVtZW50cy10ZXN0
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisKK2Z1bmN0aW9uIHRlc3QoKQoreworICAgIGZ1bmN0
aW9uIG5vZGVTZWxlY3RlZChub2RlKQorICAgIHsKKyAgICAgICAgUnVudGltZUFnZW50LmV2YWx1
YXRlKCJkdW1wSW5zcGVjdG9ySGlnaGxpZ2h0ZWROb2RlKCkiLCBJbnNwZWN0b3JUZXN0LmNvbXBs
ZXRlVGVzdCk7CisgICAgfQorCisgICAgSW5zcGVjdG9yVGVzdC5zZWxlY3ROb2RlV2l0aElkKCJp
bnNwZWN0ZWRFbGVtZW50Iiwgbm9kZVNlbGVjdGVkKTsKK30KKworPC9zY3JpcHQ+Cis8L2hlYWQ+
CisKKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KKworPGRpdiBpZD0iZmxvdyI+CisgICAgPGRp
diBpZD0iaW5zcGVjdGVkRWxlbWVudCI+PC9kaXY+Cis8L2Rpdj4KKworPGRpdiBjbGFzcz0icmVn
aW9uIj48L2Rpdj4KKzxkaXYgY2xhc3M9InJlZ2lvbiBzbWFsbCI+PC9kaXY+Cis8ZGl2IGNsYXNz
PSJyZWdpb24gemVyby1oZWlnaHQiPjwvZGl2PgorPGRpdiBjbGFzcz0icmVnaW9uIHplcm8tc2l6
ZSI+PC9kaXY+Cis8ZGl2IGNsYXNzPSJyZWdpb24gaGlkZGVuIj48L2Rpdj4KKzxwIGlkPSJkZXNj
cmlwdGlvbiI+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoZSBwb3NpdGlvbiBhbmQgc2l6ZSBvZiB0aGUg
aGlnaGxpZ2h0ZWQgbm9kZSBpbnNpZGUgQ1NTIFJlZ2lvbnMuPC9wPgorCis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZWxlbWVudHMv
aGlnaGxpZ2h0LXN2Zy1yb290LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1v
YnNvbGV0ZS9lbGVtZW50cy9oaWdobGlnaHQtc3ZnLXJvb3QtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjJmNzA2ZjM4ZDA2NWM0NDdjNWNmZGM2ODkyNTc5YTdjMWUxMTc4NGUKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZWxlbWVudHMvaGlnaGxpZ2h0
LXN2Zy1yb290LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDcgQEAKK1RoaXMgdGVzdCB2ZXJpZmll
cyB0aGUgcG9zaXRpb24gYW5kIHNpemUgb2YgdGhlIGhpZ2hsaWdodCByZWN0YW5nbGVzIG92ZXJs
YXllZCBvbiBhbiBTVkcgcm9vdCBlbGVtZW50LgorCittYXJnaW4gcmVjdCBpcyAxNjAgeCAxNjAg
YXQgKDAsIDApCitib3JkZXIgcmVjdCBpcyAxNTAgeCAxNTAgYXQgKDUsIDUpCitwYWRkaW5nIHJl
Y3QgaXMgMTMwIHggMTMwIGF0ICgxNSwgMTUpCitjb250ZW50IHJlY3QgaXMgMTAwIHggMTAwIGF0
ICgzMCwgMzApCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9l
bGVtZW50cy9oaWdobGlnaHQtc3ZnLXJvb3Qtem9vbWVkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9lbGVtZW50cy9oaWdobGlnaHQtc3ZnLXJvb3Qtem9vbWVk
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44YTQ4ZjY3OGQwNTJiNDllNzczZjA4MDRkY2JlNDNh
NTBhZGI1ZTQ2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29s
ZXRlL2VsZW1lbnRzL2hpZ2hsaWdodC1zdmctcm9vdC16b29tZWQtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsNyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoZSBwb3NpdGlvbiBhbmQgc2l6ZSBvZiB0
aGUgaGlnaGxpZ2h0IHJlY3RhbmdsZXMgb3ZlcmxheWVkIG9uIGFuIFNWRyByb290IGVsZW1lbnQg
d2hlbiB0aGUgcGFnZSBpcyB6b29tZWQuCisKK21hcmdpbiByZWN0IGlzIDQwOCB4IDUyOCBhdCAo
MTIsIDI0KQorYm9yZGVyIHJlY3QgaXMgMzM2IHggNDU2IGF0ICg0OCwgNjApCitwYWRkaW5nIHJl
Y3QgaXMgMjQwIHggMzYwIGF0ICg5NiwgMTA4KQorY29udGVudCByZWN0IGlzIDEyMCB4IDI0MCBh
dCAoMTU2LCAxNjgpCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0
ZS9lbGVtZW50cy9oaWdobGlnaHQtc3ZnLXJvb3Qtem9vbWVkLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bnNwZWN0b3Itb2Jzb2xldGUvZWxlbWVudHMvaGlnaGxpZ2h0LXN2Zy1yb290LXpvb21lZC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmM1ZTNlODc3NWQ2OWRlYjJjZDZlN2U0YmMyNTIyMDZiY2FkMjY5YmYKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZWxlbWVudHMv
aGlnaGxpZ2h0LXN2Zy1yb290LXpvb21lZC5odG1sCkBAIC0wLDAgKzEsNzcgQEAKKzwhRE9DVFlQ
RSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzdHlsZT4KKworYm9keSB7CisgICAgbWFyZ2luOiAw
OworfQorI3N2Zy1yb290IHsKKyAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgbGVmdDogMTBw
eDsKKyAgICB0b3A6IDIwcHg7CisgICAgbWFyZ2luOiAzMHB4OworICAgIGJvcmRlcjogc29saWQg
NDBweCBhcXVhOworICAgIHBhZGRpbmc6IDUwcHg7CisgICAgYmFja2dyb3VuZC1jb2xvcjogYmx1
ZTsKK30KKworPC9zdHlsZT4KKzxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rv
ci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90
ZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorCitm
dW5jdGlvbiBzdGFydFRlc3QoKQoreworICAgIGlmICh3aW5kb3cuZXZlbnRTZW5kZXIpCisgICAg
ICAgIHdpbmRvdy5ldmVudFNlbmRlci56b29tUGFnZUluKCk7CisgICAgcnVuVGVzdCgpOworfQor
CitmdW5jdGlvbiB0ZXN0KCkKK3sKKyAgICBmdW5jdGlvbiBub2RlU2VsZWN0ZWQobm9kZSkKKyAg
ICB7CisgICAgICAgIFJ1bnRpbWVBZ2VudC5ldmFsdWF0ZSgiZHVtcEluc3BlY3RvckhpZ2hsaWdo
dFJlY3RzKCkiLCBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCk7CisgICAgfQorCisgICAgSW5z
cGVjdG9yVGVzdC5zZWxlY3ROb2RlV2l0aElkKCJzdmctcm9vdCIsIG5vZGVTZWxlY3RlZCk7Cit9
CisKKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJzdGFydFRlc3QoKSI+Cis8c3Zn
IGlkPSJzdmctcm9vdCIgd2lkdGg9IjEwMCIgaGVpZ2h0PSIyMDAiIHZpZXdib3g9IjAgMCA1MCAx
MDAiPjwvc3ZnPgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhlIHBv
c2l0aW9uIGFuZCBzaXplIG9mIHRoZSBoaWdobGlnaHQgcmVjdGFuZ2xlcyBvdmVybGF5ZWQgb24g
YW4gU1ZHIHJvb3QgZWxlbWVudCB3aGVuIHRoZSBwYWdlIGlzIHpvb21lZC48L3A+Cis8IS0tCisK
K0V4cGVjdGVkIHZhbHVlIGNhbGN1bGF0aW9ucyBmb3IgI3N2Zy1yb290J3MgaGlnaGxpZ2h0IHJl
Y3RhbmdsZXMgYXQgMTIwJSB6b29tOgorCittYXJnaW4gcmVjdDoKKyAgICBsZWZ0OiAgICgxMCkg
KiAxLjIgPT0gMTIKKyAgICB0b3A6ICAgICgyMCkgKiAxLjIgPT0gMjQKKyAgICB3aWR0aDogICgx
MDAgKyAyICogKDMwICsgNDAgKyA1MCkpICogMS4yID09IDM0MCAqIDEuMiA9PSA0MDgKKyAgICBo
ZWlnaHQ6ICgyMDAgKyAyICogKDMwICsgNDAgKyA1MCkpICogMS4yID09IDQ0MCAqIDEuMiA9PSA1
MjgKKworYm9yZGVyIHJlY3Q6CisgICAgbGVmdDogICAoMTAgKyAzMCkgKiAxLjIgPT0gNDAgKiAx
LjIgPT0gNDgKKyAgICB0b3A6ICAgICgyMCArIDMwKSAqIDEuMiA9PSA1MCAqIDEuMiA9PSA2MAor
ICAgIHdpZHRoOiAgKDEwMCArIDIgKiAoNDAgKyA1MCkpICogMS4yID09IDI4MCAqIDEuMiA9PSAz
MzYKKyAgICBoZWlnaHQ6ICgyMDAgKyAyICogKDQwICsgNTApKSAqIDEuMiA9PSAzODAgKiAxLjIg
PT0gNDU2CisKK3BhZGRpbmcgcmVjdDoKKyAgICBsZWZ0OiAgICgxMCArIDMwICsgNDApICogMS4y
ID09IDgwICogMS4yID09IDk2CisgICAgdG9wOiAgICAoMjAgKyAzMCArIDQwKSAqIDEuMiA9PSA5
MCAqIDEuMiA9PSAxMDgKKyAgICB3aWR0aDogICgxMDAgKyAyICogKDUwKSkgKiAxLjIgPT0gMjAw
ICogMS4yID09IDI0MAorICAgIGhlaWdodDogKDIwMCArIDIgKiAoNTApKSAqIDEuMiA9PSAzMDAg
KiAxLjIgPT0gMzYwCisKK2NvbnRlbnQgcmVjdDoKKyAgICBsZWZ0OiAgICgxMCArIDMwICsgNDAg
KyA1MCkgKiAxLjIgPT0gMTMwICogMS4yID09IDE1NgorICAgIHRvcDogICAgKDIwICsgMzAgKyA0
MCArIDUwKSAqIDEuMiA9PSAxNDAgKiAxLjIgPT0gMTY4CisgICAgd2lkdGg6ICAoMTAwKSAqIDEu
MiA9PSAxMjAKKyAgICBoZWlnaHQ6ICgyMDApICogMS4yID09IDI0MAorICAgIAorLS0+Cis8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9lbGVtZW50cy9oaWdobGlnaHQtc3ZnLXJvb3QuaHRt
bCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9lbGVtZW50cy9oaWdobGlnaHQtc3Zn
LXJvb3QuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wZjFhZTQ4NjViNTRlZmY0YWU4YzM5ODk4YjhjOWY5ODY3
YWZhNThhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRl
L2VsZW1lbnRzL2hpZ2hsaWdodC1zdmctcm9vdC5odG1sCkBAIC0wLDAgKzEsNDIgQEAKKzwhRE9D
VFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKworPHN0eWxlPgorCitib2R5IHsKKyAgICBtYXJn
aW46IDA7Cit9Cisjc3ZnLXJvb3QgeworICAgIG1hcmdpbjogNXB4OworICAgIGJvcmRlcjogc29s
aWQgMTBweCBhcXVhOworICAgIHBhZGRpbmc6IDE1cHg7CisgICAgYmFja2dyb3VuZC1jb2xvcjog
Ymx1ZTsKK30KKworPC9zdHlsZT4KKworPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5z
cGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9o
dHRwL3Rlc3RzL2luc3BlY3Rvci9lbGVtZW50cy10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+
CisKK2Z1bmN0aW9uIHRlc3QoKQoreworICAgIGZ1bmN0aW9uIG5vZGVTZWxlY3RlZChub2RlKQor
ICAgIHsKKyAgICAgICAgUnVudGltZUFnZW50LmV2YWx1YXRlKCJkdW1wSW5zcGVjdG9ySGlnaGxp
Z2h0UmVjdHMoKSIsIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KTsKKyAgICB9CisKKyAgICBJ
bnNwZWN0b3JUZXN0LnNlbGVjdE5vZGVXaXRoSWQoInN2Zy1yb290Iiwgbm9kZVNlbGVjdGVkKTsK
K30KKworPC9zY3JpcHQ+Cis8L2hlYWQ+CisKKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KKwor
PHN2ZyBpZD0ic3ZnLXJvb3QiIHdpZHRoPSIxMDAiIGhlaWdodD0iMTAwIiB2aWV3Ym94PSIwIDAg
NTAgNTAiPjwvc3ZnPgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhl
IHBvc2l0aW9uIGFuZCBzaXplIG9mIHRoZSBoaWdobGlnaHQgcmVjdGFuZ2xlcyBvdmVybGF5ZWQg
b24gYW4gU1ZHIHJvb3QgZWxlbWVudC48L3A+CisKKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9lbGVtZW50cy9tdXRhdGUtdW5rbm93
bi1ub2RlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9lbGVt
ZW50cy9tdXRhdGUtdW5rbm93bi1ub2RlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yNGVjY2I1
MTQ1ZmZiMzNhMjQ3Njc0ODQwYWYzMDE0MDE3ZTNkOGFmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2VsZW1lbnRzL211dGF0ZS11bmtub3duLW5vZGUt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTYgQEAKK1Rlc3RzIHRoYXQgZWxlbWVudHMgcGFuZWwg
ZG9lcyBub3QgcmVjZWl2ZSBldmVudHMgdXBvbiBjaGFuZ2VzIHRvIHRoZSB1bmRpc2NvdmVyZWQg
bm9kZXMuCisKK0FwcGVuZGVkCitET01BZ2VudCBldmVudCBmaXJlZC4gU2hvdWxkIG9ubHkgaGFw
cGVuIG9uY2UgZm9yIG91dHB1dCBub2RlOiBET01Ob2RlSW5zZXJ0ZWQgRElWI3VuZGVmaW5lZAor
UmVtb3ZlZAorQXR0cmlidXRlIG1vZGlmaWVkCis9PT09PT09PT0gUmVzdWx0IERPTUFnZW50IHRy
ZWUgPT09PT09PT0KKyNkb2N1bWVudFsxXQorICAgIEhUTUxbMl0KKyAgICAgICAgSEVBRFszXQor
ICAgICAgICBCT0RZWzRdCisgICAgICAgICAgICBQWzVdCisgICAgICAgICAgICAgICAgWzZdCisg
ICAgICAgICAgICBESVZbN10KKyAgICAgICAgICAgIERJVls4XQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZWxlbWVudHMvbXV0YXRlLXVua25vd24tbm9kZS5o
dG1sLWRpc2FibGVkIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2VsZW1lbnRzL211
dGF0ZS11bmtub3duLW5vZGUuaHRtbC1kaXNhYmxlZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40ZmFmMWU2NTE4MTJl
NWZlMWNhZTg4ZjcwN2ZhMDM5NDhlZDdlMTNhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yLW9ic29sZXRlL2VsZW1lbnRzL211dGF0ZS11bmtub3duLW5vZGUuaHRtbC1k
aXNhYmxlZApAQCAtMCwwICsxLDg4IEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9lbGVtZW50cy10ZXN0LmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQ+CisKK2Z1bmN0aW9uIGFwcGVuZENoaWxkKCkKK3sKKyAgICB2YXIg
aGlkZGVuID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImhpZGRlbiIpOworICAgIHZhciBjaGls
ZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOworICAgIGNoaWxkLnNldEF0dHJpYnV0
ZSgiaWQiLCAiYXBwZW5kZWQiKTsKKyAgICBoaWRkZW4uYXBwZW5kQ2hpbGQoY2hpbGQpOworfQor
CitmdW5jdGlvbiByZW1vdmVDaGlsZCgpCit7CisgICAgdmFyIGNoaWxkID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImFwcGVuZGVkIik7CisgICAgY2hpbGQucGFyZW50Tm9kZS5yZW1vdmVDaGls
ZChjaGlsZCk7Cit9CisKK2Z1bmN0aW9uIG1vZGlmeUF0dHJpYnV0ZSgpCit7CisgICAgdmFyIGhp
ZGRlbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJoaWRkZW4iKTsKKyAgICBoaWRkZW4uc2V0
QXR0cmlidXRlKCJmb28iLCAiYmFyIik7Cit9CisKK2Z1bmN0aW9uIHRlc3QoKQoreworICAgIGZ1
bmN0aW9uIGxpc3RlbmVyKHR5cGUsIGV2ZW50KQorICAgIHsKKyAgICAgICAgbm9kZSA9IGV2ZW50
LmRhdGEubm9kZSB8fCBldmVudC5kYXRhOworICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3Vs
dCgiRE9NQWdlbnQgZXZlbnQgZmlyZWQuIFNob3VsZCBvbmx5IGhhcHBlbiBvbmNlIGZvciBvdXRw
dXQgbm9kZTogIiArIHR5cGUgKyAiICIgKyBldmVudC5kYXRhLm5vZGVOYW1lKCkgKyAiIyIgKyBl
dmVudC5kYXRhLmdldEF0dHJpYnV0ZSgiaWQiKSk7CisgICAgfQorCisgICAgV2ViSW5zcGVjdG9y
LmRvbUFnZW50LmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLkRPTUFnZW50LkV2ZW50cy5B
dHRyTW9kaWZpZWQsIGxpc3RlbmVyLmJpbmQodGhpcywgIkRPTUF0dHJNb2RpZmllZCIpKTsKKyAg
ICBXZWJJbnNwZWN0b3IuZG9tQWdlbnQuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuRE9N
QWdlbnQuRXZlbnRzLkNoYXJhY3RlckRhdGFNb2RpZmllZCwgbGlzdGVuZXIuYmluZCh0aGlzLCAi
RE9NQ2hhcmFjdGVyRGF0YU1vZGlmaWVkIikpOworICAgIFdlYkluc3BlY3Rvci5kb21BZ2VudC5h
ZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5ET01BZ2VudC5FdmVudHMuTm9kZUluc2VydGVk
LCBsaXN0ZW5lci5iaW5kKHRoaXMsICJET01Ob2RlSW5zZXJ0ZWQiKSk7CisgICAgV2ViSW5zcGVj
dG9yLmRvbUFnZW50LmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLkRPTUFnZW50LkV2ZW50
cy5Ob2RlUmVtb3ZlZCwgbGlzdGVuZXIuYmluZCh0aGlzLCAiRE9NTm9kZVJlbW92ZWQiKSk7CisK
KyAgICBXZWJJbnNwZWN0b3IuZG9tQWdlbnQucmVxdWVzdERvY3VtZW50KHN0ZXAwLmJpbmQodGhp
cykpOworCisgICAgZnVuY3Rpb24gc3RlcDAoKQorICAgIHsKKyAgICAgICAgSW5zcGVjdG9yVGVz
dC5ldmFsdWF0ZUluUGFnZSgiYXBwZW5kQ2hpbGQoKSIsIHN0ZXAxKTsKKyAgICB9CisKKyAgICBm
dW5jdGlvbiBzdGVwMSgpCisgICAgeworICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgi
QXBwZW5kZWQiKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgicmVtb3Zl
Q2hpbGQoKSIsIHN0ZXAyKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBzdGVwMigpCisgICAgewor
ICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiUmVtb3ZlZCIpOworICAgICAgICBJbnNw
ZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJtb2RpZnlBdHRyaWJ1dGUoKSIsIHN0ZXAzKTsKKyAg
ICB9CisKKyAgICBmdW5jdGlvbiBzdGVwMygpCisgICAgeworICAgICAgICBJbnNwZWN0b3JUZXN0
LmFkZFJlc3VsdCgiQXR0cmlidXRlIG1vZGlmaWVkIik7CisgICAgICAgIEluc3BlY3RvclRlc3Qu
ZXZhbHVhdGVJblBhZ2UoInRydWUiLCBzdGVwNCk7CisgICAgfQorCisgICAgZnVuY3Rpb24gc3Rl
cDQoKQorICAgIHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIj09PT09PT09PSBS
ZXN1bHQgRE9NQWdlbnQgdHJlZSA9PT09PT09PSIpOworICAgICAgICBJbnNwZWN0b3JUZXN0LmR1
bXBET01BZ2VudFRyZWUoKTsKKworICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgp
OworICAgIH0KK30KKworPC9zY3JpcHQ+Cis8L2hlYWQ+CisKKzxib2R5IG9ubG9hZD0icnVuVGVz
dCgpIj4KKzxwPgorVGVzdHMgdGhhdCBlbGVtZW50cyBwYW5lbCBkb2VzIG5vdCByZWNlaXZlIGV2
ZW50cyB1cG9uIGNoYW5nZXMgdG8gdGhlIHVuZGlzY292ZXJlZCBub2Rlcy4KKzwvcD4KKworPGRp
dj4KKzxkaXYgaWQ9ImhpZGRlbiI+Cis8L2Rpdj4KKzwvZGl2PgorCis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZWxlbWVudHMvcGVy
Zm9ybS11bmRvLXVuZG8tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29s
ZXRlL2VsZW1lbnRzL3BlcmZvcm0tdW5kby11bmRvLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42
MmMwMTRhNmM4MmM3ZWQ1ZTA3ZDI3NTg0ZjZmNDcwMDAxMzc5NGRlCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2VsZW1lbnRzL3BlcmZvcm0tdW5kby11
bmRvLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDExIEBACitUZXN0cyB0aGF0IGNsaWVudCBjYW4g
Y2FsbCB1bmRvIG11bHRpcGxlIHRpbWVzIHdpdGggbm9uLWVtcHR5IGhpc3RvcnkuCisKKz09PT09
PT09PSBPcmlnaW5hbCA9PT09PT09PQorICA8ZGl2IHN0eWxlPSJkaXNwbGF5Om5vbmUiIGlkPSJj
b250YWluZXIiPlxuPC9kaXY+Cis9PT09PSBNb2RpZmllZCBlbGVtZW50ID09PT09CisgIDxkaXYg
c3R5bGU9ImRpc3BsYXk6bm9uZSIgaWQ9ImNvbnRhaW5lciIgZm9vPSJiYXIiPlxuPC9kaXY+Cis9
PT09PSBVbmRvIDEgPT09PT0KKyAgPGRpdiBzdHlsZT0iZGlzcGxheTpub25lIiBpZD0iY29udGFp
bmVyIj5cbjwvZGl2PgorPT09PT0gVW5kbyAyID09PT09CisgIDxkaXYgc3R5bGU9ImRpc3BsYXk6
bm9uZSIgaWQ9ImNvbnRhaW5lciI+XG48L2Rpdj4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yLW9ic29sZXRlL2VsZW1lbnRzL3BlcmZvcm0tdW5kby11bmRvLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZWxlbWVudHMvcGVyZm9ybS11bmRvLXVuZG8uaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4zYjcwMWIyZjNmNGVkMzFjYTBmMTNjZDlkOWRiYTE4NDY5ODMxYjA2Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2VsZW1lbnRz
L3BlcmZvcm0tdW5kby11bmRvLmh0bWwKQEAgLTAsMCArMSw2NiBAQAorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvZWxl
bWVudHMtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorCitmdW5jdGlvbiB0ZXN0KCkKK3sK
KyAgICB2YXIgY29udGFpbmVyTm9kZTsKKyAgICBJbnNwZWN0b3JUZXN0LmV4cGFuZEVsZW1lbnRz
VHJlZShzdGVwMSk7CisKKyAgICBmdW5jdGlvbiBzdGVwMShub2RlKQorICAgIHsKKyAgICAgICAg
Y29udGFpbmVyTm9kZSA9IEluc3BlY3RvclRlc3QuZXhwYW5kZWROb2RlV2l0aElkKCJjb250YWlu
ZXIiKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIj09PT09PT09PSBPcmlnaW5h
bCA9PT09PT09PSIpOworICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBFbGVtZW50c1RyZWUoY29u
dGFpbmVyTm9kZSk7CisgICAgICAgIHN0ZXAyKCk7CisgICAgfQorCisgICAgZnVuY3Rpb24gc3Rl
cDIoKQorICAgIHsKKyAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2soKQorICAgICAgICB7CisgICAg
ICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiPT09PT0gTW9kaWZpZWQgZWxlbWVudCA9
PT09PSIpOworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wRWxlbWVudHNUcmVlKGNvbnRh
aW5lck5vZGUpOworICAgICAgICAgICAgc3RlcDMoKTsKKyAgICAgICAgfQorICAgICAgICBjb250
YWluZXJOb2RlLnNldEF0dHJpYnV0ZSgiIiwgImZvbz1cImJhclwiIiwgY2FsbGJhY2spOworICAg
IH0KKworICAgIGZ1bmN0aW9uIHN0ZXAzKCkKKyAgICB7CisgICAgICAgIGZ1bmN0aW9uIGNhbGxi
YWNrKCkKKyAgICAgICAgeworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIj09
PT09IFVuZG8gMSA9PT09PSIpOworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wRWxlbWVu
dHNUcmVlKGNvbnRhaW5lck5vZGUpOworICAgICAgICAgICAgc3RlcDQoKTsKKyAgICAgICAgfQor
ICAgICAgICBXZWJJbnNwZWN0b3IuZG9tQWdlbnQudW5kbyhjYWxsYmFjayk7CisgICAgfQorCisg
ICAgZnVuY3Rpb24gc3RlcDQoKQorICAgIHsKKyAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2soKQor
ICAgICAgICB7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiPT09PT0gVW5k
byAyID09PT09Iik7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBFbGVtZW50c1RyZWUo
Y29udGFpbmVyTm9kZSk7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgp
OworICAgICAgICB9CisgICAgICAgIFdlYkluc3BlY3Rvci5kb21BZ2VudC51bmRvKGNhbGxiYWNr
KTsKKyAgICB9Cit9CisKKzwvc2NyaXB0PgorPC9oZWFkPgorCis8Ym9keSBvbmxvYWQ9InJ1blRl
c3QoKSI+Cis8cD4KK1Rlc3RzIHRoYXQgY2xpZW50IGNhbiBjYWxsIHVuZG8gbXVsdGlwbGUgdGlt
ZXMgd2l0aCBub24tZW1wdHkgaGlzdG9yeS4KKzwvcD4KKworPGRpdiBzdHlsZT0iZGlzcGxheTpu
b25lIiBpZD0iY29udGFpbmVyIj4KKzwvZGl2PgorCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZWxlbWVudHMvcmVzb2x2ZS1hbGll
bi1ub2RlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9lbGVt
ZW50cy9yZXNvbHZlLWFsaWVuLW5vZGUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxMWRlMjgy
YjhiNjI2OTMxNzMxMjBkOTIwODEyZmJhMzBmNGRmZDEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZWxlbWVudHMvcmVzb2x2ZS1hbGllbi1ub2RlLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDQgQEAKK1Rlc3RzIHRoYXQgcmVzb2x2ZU5vZGUgZnJvbSBh
bGllbiBkb2N1bWVudCBkb2VzIG5vdCBjcmFzaC4gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTcxODA2LgorCitBbGllbiBub2RlIHNob3VsZCByZXNvbHZlIHRvIG51bGw6
IG51bGwKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2VsZW1l
bnRzL3Jlc29sdmUtYWxpZW4tbm9kZS5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29s
ZXRlL2VsZW1lbnRzL3Jlc29sdmUtYWxpZW4tbm9kZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmJmMzk2NDE4
YWFiZjBmOWExY2FhNDUzZGJmMTQ5ZDdmYWQxNTRhNzAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZWxlbWVudHMvcmVzb2x2ZS1hbGllbi1ub2RlLmh0
bWwKQEAgLTAsMCArMSwzOSBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9o
dHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
PgorCitmdW5jdGlvbiB0ZXN0KCkKK3sKKyAgICBSdW50aW1lQWdlbnQuZXZhbHVhdGUoInZhciBk
b2MgPSBkb2N1bWVudC5pbXBsZW1lbnRhdGlvbi5jcmVhdGVIVE1MRG9jdW1lbnQoJycpOyBkb2Mu
bGFzdENoaWxkLmlubmVySFRNTCA9ICc8c3Bhbj48L3NwYW4+JzsgZG9jLmxhc3RDaGlsZCIsIHN0
ZXAxKTsKKworICAgIGZ1bmN0aW9uIHN0ZXAxKGVycm9yLCByZXN1bHQsIHdhc1Rocm93bikKKyAg
ICB7CisgICAgICAgIHZhciBzcGFuV3JhcHBlciA9IFdlYkluc3BlY3Rvci5SZW1vdGVPYmplY3Qu
ZnJvbVBheWxvYWQocmVzdWx0KTsKKyAgICAgICAgc3BhbldyYXBwZXIucHVzaE5vZGVUb0Zyb250
ZW5kKHN0ZXAyKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBzdGVwMihub2RlSWQpCisgICAgewor
ICAgICAgICB2YXIgbm9kZSA9IFdlYkluc3BlY3Rvci5kb21BZ2VudC5ub2RlRm9ySWQobm9kZUlk
KTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRUcnVlKG5vZGUsICJOb2RlIG9iamVjdCBz
aG91bGQgYmUgcmVzb3ZsZWQiKTsKKyAgICAgICAgV2ViSW5zcGVjdG9yLlJlbW90ZU9iamVjdC5y
ZXNvbHZlTm9kZShub2RlLCB1bmRlZmluZWQsIHN0ZXAzKTsKKyAgICB9CisKKyAgICBmdW5jdGlv
biBzdGVwMyhyZW1vdGVPYmplY3QpCisgICAgeworICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJl
c3VsdCgiQWxpZW4gbm9kZSBzaG91bGQgcmVzb2x2ZSB0byBudWxsOiAiICsgcmVtb3RlT2JqZWN0
KTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKKyAgICB9Cit9CisKKzwv
c2NyaXB0PgorPC9oZWFkPgorCis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Cis8cD4KK1Rlc3Rz
IHRoYXQgcmVzb2x2ZU5vZGUgZnJvbSBhbGllbiBkb2N1bWVudCBkb2VzIG5vdCBjcmFzaC4gaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxODA2LgorPC9wPgorCis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUv
ZWxlbWVudHMvcmVzb2x2ZS1ub2RlLWJsb2NrZWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yLW9ic29sZXRlL2VsZW1lbnRzL3Jlc29sdmUtbm9kZS1ibG9ja2VkLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi41MWFjZDQ3OTZlZmZkZDUwMzk4YTk5ODY5NzUxNzY3ZmFjZTc2MWM1
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2VsZW1l
bnRzL3Jlc29sdmUtbm9kZS1ibG9ja2VkLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1Rl
c3RzIHRoYXQgSlMgb2JqZWN0IHRvIG5vZGUgcmVzb2x1dGlvbiBzdGlsbCB3b3JrcyBldmVuIGlm
IHNjcmlwdCBldmFscyBhcmUgcHJvaGliaXRlZCBieSBDb250ZW50LVNlY3VyaXR5LVBvbGljeS4g
VGhlIHRlc3QgcGFzc2VzIGlmIGl0IGRvZXNuJ3QgY3Jhc2guIEJ1ZyA3ODcwNS4KKworZGlkUmVj
ZWl2ZURvY3VtZW50T2JqZWN0CitkaWRSZXF1ZXN0Tm9kZSBlcnJvciA9IG51bGwKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2VsZW1lbnRzL3Jlc29sdmUtbm9k
ZS1ibG9ja2VkLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZWxlbWVudHMv
cmVzb2x2ZS1ub2RlLWJsb2NrZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41MDA1NDRlOTU2MTU1NjhiNmFm
NDcyZTMwZDFkOTc3OTczNjlmMWMyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yLW9ic29sZXRlL2VsZW1lbnRzL3Jlc29sdmUtbm9kZS1ibG9ja2VkLmh0bWwKQEAgLTAs
MCArMSwzMSBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3Rz
L2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8bWV0
YSBodHRwLWVxdWl2PSJDb250ZW50LVNlY3VyaXR5LVBvbGljeSIgY29udGVudD0ic2NyaXB0LXNy
YyAndW5zYWZlLWlubGluZSciPgorPHNjcmlwdD4KK2Z1bmN0aW9uIHRlc3QoKQoreworICAgIElu
c3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoImRvY3VtZW50IiwgZGlkUmVjZWl2ZURvY3VtZW50
T2JqZWN0KTsKKyAgICBmdW5jdGlvbiBkaWRSZWNlaXZlRG9jdW1lbnRPYmplY3QocmVtb3RlT2Jq
ZWN0LCB3YXNUaHJvd24pCisgICAgeworICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgi
ZGlkUmVjZWl2ZURvY3VtZW50T2JqZWN0Iik7CisgICAgICAgIERPTUFnZW50LnJlcXVlc3ROb2Rl
KHJlbW90ZU9iamVjdC5vYmplY3RJZCwgZGlkUmVxdWVzdE5vZGUpOworICAgIH0KKworICAgIGZ1
bmN0aW9uIGRpZFJlcXVlc3ROb2RlKGVycm9yLCBub2RlSWQpCisgICAgeworICAgICAgICBJbnNw
ZWN0b3JUZXN0LmFkZFJlc3VsdCgiZGlkUmVxdWVzdE5vZGUgZXJyb3IgPSAiICsgZXJyb3IpOwor
ICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOworICAgIH0KK30KKzwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgorPHA+CitUZXN0cyB0aGF0IEpT
IG9iamVjdCB0byBub2RlIHJlc29sdXRpb24gc3RpbGwgd29ya3MgZXZlbiBpZiBzY3JpcHQgZXZh
bHMgYXJlIHByb2hpYml0ZWQgYnkgQ29udGVudC1TZWN1cml0eS1Qb2xpY3kuCitUaGUgdGVzdCBw
YXNzZXMgaWYgaXQgZG9lc24ndCBjcmFzaC4KKzxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD03ODcwNSI+QnVnIDc4NzA1LjwvYT4KKzwvcD4KKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9lbGVt
ZW50cy9yZXNvdXJjZXMvZG9tLXNlYXJjaC1jcmFzaC1pZnJhbWUuaHRtbCBiL0xheW91dFRlc3Rz
L2luc3BlY3Rvci1vYnNvbGV0ZS9lbGVtZW50cy9yZXNvdXJjZXMvZG9tLXNlYXJjaC1jcmFzaC1p
ZnJhbWUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zM2Y3MWRlMWUzZjE0ZTgyMWQ2ZjRlZGQ5MDEwOTUxY2Fh
ZWNlNDVmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRl
L2VsZW1lbnRzL3Jlc291cmNlcy9kb20tc2VhcmNoLWNyYXNoLWlmcmFtZS5odG1sCkBAIC0wLDAg
KzEsMyBAQAorPHNjcmlwdD4KK2RvY3VtZW50LmRvY3VtZW50RWxlbWVudC5wYXJlbnROb2RlLnJl
bW92ZUNoaWxkKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCk7Cis8L3NjcmlwdD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9lbGVtZW50cy9yZXNvdXJjZXMvZWxl
bWVudHMtcGFuZWwtcmV3cml0ZS1ocmVmLWlmcmFtZS5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yLW9ic29sZXRlL2VsZW1lbnRzL3Jlc291cmNlcy9lbGVtZW50cy1wYW5lbC1yZXdyaXRlLWhy
ZWYtaWZyYW1lLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDliYjUzZjJkYTQ3NWM2MzMwZGIzOTljNzJmYTFj
YzIwNzkxMGQwOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNv
bGV0ZS9lbGVtZW50cy9yZXNvdXJjZXMvZWxlbWVudHMtcGFuZWwtcmV3cml0ZS1ocmVmLWlmcmFt
ZS5odG1sCkBAIC0wLDAgKzEsMTAgQEAKKzxodG1sPgorPGhlYWQ+Cis8YmFzZSBocmVmPSJodHRw
Oi8vMTI3LjAuMC4xIj4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgc3JjPSJzdHlsZXNoZWV0LmNz
cyI+Cis8c2NyaXB0IHNyYz0ic2NyaXB0LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PGEgaHJlZj0idGFyZ2V0Lmh0bWwiPjwvYT4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9lbGVtZW50cy9yZXNvdXJjZXMvZWxlbWVu
dHMtcGFuZWwtc3R5bGVzLmNzcyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9lbGVt
ZW50cy9yZXNvdXJjZXMvZWxlbWVudHMtcGFuZWwtc3R5bGVzLmNzcwpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lZTAy
Njg5NTg3OTMwNmM5ZjUzOWEzYmE0MzdiNTg4MzRkNmZmNDYwCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2VsZW1lbnRzL3Jlc291cmNlcy9lbGVtZW50
cy1wYW5lbC1zdHlsZXMuY3NzCkBAIC0wLDAgKzEsNTMgQEAKK2JvZHkgeworICAgIGZvbnQtc2l6
ZTogMTJweDsKK30KKworI2NvbnRhaW5lciB7CisgICAgZm9udC1mYW1pbHk6IHNlcmlmOworICAg
IGZvbnQtc2l6ZTogMTRweDsKKyAgICBjb2xvcjogcmVkOworICAgIHBhZGRpbmc6IDJweCAhaW1w
b3J0YW50OworfQorCisjY29udGFpbmVyIC5mb28geworICAgIGZvbnQtc3R5bGU6IGl0YWxpYyAh
aW1wb3J0YW50OworfQorCisuZm9vIHsKKyAgICBjb2xvcjogYmxhY2s7CisgICAgbWFyZ2luLWxl
ZnQ6IDFweDsKKyAgICBtYXJnaW46IDEwcHggMCAycHg7CisgICAgYm9yZGVyLXJhZGl1czogNXB4
OworICAgIGZvbnQtc3R5bGU6IG5vcm1hbCAhaW1wb3J0YW50OworICAgIGZvbnQtd2VpZ2h0OiBu
b3JtYWwgIWltcG9ydGFudDsKKyAgICBmb250LXdlaWdodDogYm9sZDsKKyAgICBwYWRkaW5nOiA0
cHg7CisgICAgcGFkZGluZy1yaWdodDogMXB4OworfQorCisuZm9vLCAuZm9vOjpiZWZvcmUgewor
ICAgIGNvbnRlbnQ6ICJbYmVmb3JlIEZvb10iOworICAgIGNvbG9yOiBibHVlOworICAgIGRpc3Bs
YXk6IGJsb2NrICFpbXBvcnRhbnQ7Cit9CisKKy5mb286OmJlZm9yZSB7CisgICAgY29sb3I6IHJl
ZDsKK30KKworLmZvbzo6YWZ0ZXIgeworICAgIGNvbnRlbnQ6ICJbYWZ0ZXIgRm9vXSI7CisgICAg
Y29sb3I6IGdyZWVuOworfQorLmZvbzo6YWZ0ZXIgeworICAgIGZvbnQtZmFtaWx5OiBjb3VyaWVy
OworICAgIGNvbnRlbnQ6ICJbYWZ0ZXIgRm9vIDJdIjsKK30KKworLmZvbyB7CisgICAgLyogRW1w
dHkgcnVsZSB0aGF0IHNob3VsZCBiZSByZXBvcnRlZCBpbiB0aGUgU3R5bGVzIHBhbmUgKi8KK30K
KworLmZvbzo6YmVmb3JlIHsKKyAgICAvKiBFbXB0eSBydWxlIHRoYXQgc2hvdWxkIGJlIHJlcG9y
dGVkIGluIHRoZSBTdHlsZXMgcGFuZSAqLworfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yLW9ic29sZXRlL2VsZW1lbnRzL3Jlc291cmNlcy9oaWRlLXNob3J0Y3V0LWlmcmFtZS5o
dG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2VsZW1lbnRzL3Jlc291cmNlcy9o
aWRlLXNob3J0Y3V0LWlmcmFtZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZjMzA5MGQ5ODM4YTk1YTZkNzQ3
OTk3ZWM3NmQ3NTU4ZDc3NTc0YmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3Itb2Jzb2xldGUvZWxlbWVudHMvcmVzb3VyY2VzL2hpZGUtc2hvcnRjdXQtaWZyYW1lLmh0
bWwKQEAgLTAsMCArMSw3IEBACis8aHRtbD4KKzxoZWFkPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
IGlkPSJmcmFtZS1ub2RlIj5pZnJhbWU8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9lbGVtZW50cy9yZXNvdXJjZXMvaGln
aGxpZ2h0LW5vZGUtc2NhbGVkLWlmcmFtZS5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9i
c29sZXRlL2VsZW1lbnRzL3Jlc291cmNlcy9oaWdobGlnaHQtbm9kZS1zY2FsZWQtaWZyYW1lLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uYWFlZDg3MTI3OTcwNThjYmViYTI1OWEyNDg3YTVlM2E2MTYwN2E3NAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9lbGVtZW50
cy9yZXNvdXJjZXMvaGlnaGxpZ2h0LW5vZGUtc2NhbGVkLWlmcmFtZS5odG1sCkBAIC0wLDAgKzEs
MjQgQEAKKzxodG1sPgorPGhlYWQ+Cis8c3R5bGU+CitkaXYgeworICAgIG1hcmdpbjogN3B4Owor
ICAgIHBhZGRpbmc6IDEzcHg7CisgICAgYm9yZGVyOiA1cHggc29saWQgYmxhY2s7CisgICAgcG9z
aXRpb246IGFic29sdXRlOworICAgIGxlZnQ6IDExcHg7CisgICAgdG9wOiAyMnB4OworICAgIHdp
ZHRoOiAzM3B4OworICAgIGhlaWdodDogNDRweDsgICAgCisgICAgYmFja2dyb3VuZC1jb2xvcjog
cmVkOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKworPGJvZHk+Cis8ZGl2IGlkPSJkaXYiPjwvZGl2
PgorPHNjcmlwdD4KK3RvcC5pZnJhbWVEaXZFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImRpdiIpOworPC9zY3JpcHQ+Cis8L2JvZHk+CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2luc3BlY3Rvci1vYnNvbGV0ZS9lbGVtZW50cy9yZXNvdXJjZXMvc2V0LWh0bWwtdmlhLXJlc291
cmNlLWlmcmFtZS5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2VsZW1lbnRz
L3Jlc291cmNlcy9zZXQtaHRtbC12aWEtcmVzb3VyY2UtaWZyYW1lLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NzYzZjcyNTJiYWE5Nzk3MDQ0NzAzNGM3ZjhmZmIzNDU4MGQzMTg0YwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9lbGVtZW50cy9yZXNvdXJjZXMvc2V0
LWh0bWwtdmlhLXJlc291cmNlLWlmcmFtZS5odG1sCkBAIC0wLDAgKzEsOSBAQAorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQ+Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5Gb288L2Rp
dj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1v
YnNvbGV0ZS9lbGVtZW50cy9yZXNvdXJjZXMvc2V0LW91dGVyLWh0bWwtYm9keS1pZnJhbWUuaHRt
bCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9lbGVtZW50cy9yZXNvdXJjZXMvc2V0
LW91dGVyLWh0bWwtYm9keS1pZnJhbWUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kOTBlMGM2ZDRiYWNjMjA4
NWJhMjY4MWU2ZmZmMTk3YTIwZmY2MzNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yLW9ic29sZXRlL2VsZW1lbnRzL3Jlc291cmNlcy9zZXQtb3V0ZXItaHRtbC1ib2R5
LWlmcmFtZS5odG1sCkBAIC0wLDAgKzEsOSBAQAorPGh0bWwgaWQ9Imh0bWwiPgorPGhlYWQgaWQ9
ImhlYWQiPgorPHNjcmlwdD4KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgaWQ9ImJvZHkiPgor
PGRpdj5Gb288L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2luc3BlY3Rvci1vYnNvbGV0ZS9lbGVtZW50cy9zZXQtYXR0cmlidXRlLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9lbGVtZW50cy9zZXQtYXR0cmlidXRlLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40NTIxYWQ1MGZiYzlkM2UxYzUwNzhkNzhhOTBhNGU4YWNl
ZDExZDYwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRl
L2VsZW1lbnRzL3NldC1hdHRyaWJ1dGUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKK1Rl
c3RzIHRoYXQgZWxlbWVudHMgcGFuZWwgdXBkYXRlcyBkb20gdHJlZSBzdHJ1Y3R1cmUgdXBvbiBz
ZXR0aW5nIGF0dHJpYnV0ZS4KKworCitSdW5uaW5nOiB0ZXN0RHVtcEluaXRpYWwKKz09PT09PT09
PSBPcmlnaW5hbCA9PT09PT09PQorICA8ZGl2IGlkPSJub2RlIj48L2Rpdj4KKworUnVubmluZzog
dGVzdEF0dHJpYnV0ZVVwZGF0ZWQKKz09PT09IE9uIGF0dHJpYnV0ZSBzZXQgPT09PT0KKyAgPGRp
diBpZD0ibm9kZSIgbmFtZT0idmFsdWUiPjwvZGl2PgorCitSdW5uaW5nOiB0ZXN0QXR0cmlidXRl
U2FtZVZhbHVlTm90VXBkYXRlZAorPT09PT0gT24gYXR0cmlidXRlIG1vZGlmaWVkIChzaG91bGQg
YmUgJ25ld1ZhbHVlJykgPT09PT0KKyAgPGRpdiBpZD0ibm9kZSIgbmFtZT0ibmV3VmFsdWUiPjwv
ZGl2PgorCitSdW5uaW5nOiB0ZXN0QXR0cmlidXRlUmVtb3ZlZAorPT09IE9uIGF0dHJpYnV0ZSBy
ZW1vdmVkID09PQorICA8ZGl2IGlkPSJub2RlIj48L2Rpdj4KKworUnVubmluZzogdGVzdFNldEF0
dHJpYnV0ZVZhbHVlCis9PT0gU2V0IGF0dHJpYnV0ZSB2YWx1ZSA9PT0KKyAgPGRpdiBpZD0ibm9k
ZSIgZm9vPSJiYXIiPjwvZGl2PgorCitSdW5uaW5nOiB0ZXN0U2V0QXR0cmlidXRlVGV4dAorPT09
IFNldCBhdHRyaWJ1dGUgYXMgdGV4dCA9PT0KKyAgPGRpdiBpZD0ibm9kZSIgZm9vMj0iYmF6MiIg
Zm9vMz0iYmF6MyI+PC9kaXY+CisKK1J1bm5pbmc6IHRlc3RSZW1vdmVBdHRyaWJ1dGVBc1RleHQK
Kz09PSBSZW1vdmUgYXR0cmlidXRlIGFzIHRleHQgPT09CisgIDxkaXYgaWQ9Im5vZGUiIGZvbzI9
ImJhejIiPjwvZGl2PgorCitSdW5uaW5nOiB0ZXN0U2V0TWFsZm9ybWVkQXR0cmlidXRlVGV4dAor
RXJyb3I6IENvdWxkIG5vdCBwYXJzZSB2YWx1ZSBhcyBhdHRyaWJ1dGVzCis9PT0gU2V0IG1hbGZv
cm1lZCBhdHRyaWJ1dGUgYXMgdGV4dCA9PT0KKyAgPGRpdiBpZD0ibm9kZSIgZm9vMj0iYmF6MiI+
PC9kaXY+CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9lbGVt
ZW50cy9zZXQtYXR0cmlidXRlLW5vbi1odG1sLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2lu
c3BlY3Rvci1vYnNvbGV0ZS9lbGVtZW50cy9zZXQtYXR0cmlidXRlLW5vbi1odG1sLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi42ZGZmM2MyMmViZmY1MjFkNGFlOThhYTEyNWVlNTViY2ExY2M2Y2Nj
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2VsZW1l
bnRzL3NldC1hdHRyaWJ1dGUtbm9uLWh0bWwtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAor
VGVzdHMgdGhhdCBlbGVtZW50cyBwYW5lbCB1cGRhdGVzIGRvbSB0cmVlIHN0cnVjdHVyZSB1cG9u
IHNldHRpbmcgYXR0cmlidXRlIG9uIG5vbiBIVE1MIGVsZW1lbnRzLiBQQVNTZXMgaWYgdGhlcmUg
aXMgbm8gY3Jhc2guCisKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29s
ZXRlL2VsZW1lbnRzL3NldC1hdHRyaWJ1dGUtbm9uLWh0bWwuc3ZnIGIvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yLW9ic29sZXRlL2VsZW1lbnRzL3NldC1hdHRyaWJ1dGUtbm9uLWh0bWwuc3ZnCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjYyYjBiOTZkOGYzMzRmMjZmZmU4M2ZkMDQyOGRkYzc0M2QzMTE0MGUKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZWxlbWVudHMvc2V0LWF0
dHJpYnV0ZS1ub24taHRtbC5zdmcKQEAgLTAsMCArMSw0OSBAQAorPD94bWwgdmVyc2lvbj0iMS4w
Ij8+Cis8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+Cis8Zm9yZWlnbk9i
amVjdD4KKzxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj4KKzxoZWFk
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9l
bGVtZW50cy10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+PCFbQ0RBVEFbCisKK2Z1bmN0aW9u
IHRlc3QoKQoreworICAgIHZhciB0YXJnZXROb2RlOworCisgICAgSW5zcGVjdG9yVGVzdC5ydW5U
ZXN0U3VpdGUoWworICAgICAgICBmdW5jdGlvbiB0ZXN0RHVtcEluaXRpYWwobmV4dCkKKyAgICAg
ICAgeworICAgICAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2sobm9kZSkKKyAgICAgICAgICAgIHsK
KyAgICAgICAgICAgICAgICB0YXJnZXROb2RlID0gbm9kZTsKKyAgICAgICAgICAgICAgICBuZXh0
KCk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LnNlbGVjdE5vZGVX
aXRoSWQoIm5vZGUiLCBjYWxsYmFjayk7CisgICAgICAgIH0sCisKKyAgICAgICAgZnVuY3Rpb24g
dGVzdFNldEF0dHJpYnV0ZVRleHQobmV4dCkKKyAgICAgICAgeworICAgICAgICAgICAgZnVuY3Rp
b24gY2FsbGJhY2soZXJyb3IpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgbmV4dCgp
OworICAgICAgICAgICAgfQorICAgICAgICAgICAgdGFyZ2V0Tm9kZS5zZXRBdHRyaWJ1dGUoImZv
byIsICJmb28yPSdiYXoyJyBmb28zPSdiYXozJyIsIGNhbGxiYWNrKTsKKyAgICAgICAgfQorICAg
IF0pOworfQorXV0+Cis8L3NjcmlwdD4KKzwvaGVhZD4KKworPGJvZHkgb25sb2FkPSJydW5UZXN0
KCkiPgorPHA+CitUZXN0cyB0aGF0IGVsZW1lbnRzIHBhbmVsIHVwZGF0ZXMgZG9tIHRyZWUgc3Ry
dWN0dXJlIHVwb24gc2V0dGluZyBhdHRyaWJ1dGUgb24gbm9uIEhUTUwgZWxlbWVudHMuIFBBU1Nl
cyBpZiB0aGVyZSBpcyBubyBjcmFzaC4KKzwvcD4KKworPGRpdiBpZD0ibm9kZSI+PC9kaXY+CisK
KzwvYm9keT4KKzwvaHRtbD4KKzwvZm9yZWlnbk9iamVjdD4KKzwvc3ZnPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2VsZW1lbnRzL3NldC1hdHRyaWJ1dGUuaHRt
bCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9lbGVtZW50cy9zZXQtYXR0cmlidXRl
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMTkxMWVlNzJlZTU4YjUyYTcwMzAyM2RjNjM3NGM2YWQ3ODcxZWIy
MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9lbGVt
ZW50cy9zZXQtYXR0cmlidXRlLmh0bWwKQEAgLTAsMCArMSwxNDMgQEAKKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3Qu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2Vs
ZW1lbnRzLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKworZnVuY3Rpb24gc2V0QXR0cmli
dXRlKG5hbWUsIHZhbHVlKQoreworICAgIHZhciBub2RlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoIm5vZGUiKTsKKyAgICBub2RlLnNldEF0dHJpYnV0ZShuYW1lLCB2YWx1ZSk7Cit9CisKK2Z1
bmN0aW9uIHJlbW92ZUF0dHJpYnV0ZShuYW1lKQoreworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoIm5vZGUiKTsKKyAgICBub2RlLnJlbW92ZUF0dHJpYnV0ZShuYW1lKTsK
K30KKworZnVuY3Rpb24gdGVzdCgpCit7CisgICAgdmFyIHRhcmdldE5vZGU7CisKKyAgICBJbnNw
ZWN0b3JUZXN0LnJ1blRlc3RTdWl0ZShbCisgICAgICAgIGZ1bmN0aW9uIHRlc3REdW1wSW5pdGlh
bChuZXh0KQorICAgICAgICB7CisgICAgICAgICAgICBmdW5jdGlvbiBjYWxsYmFjayhub2RlKQor
ICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHRhcmdldE5vZGUgPSBub2RlOworICAgICAg
ICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCI9PT09PT09PT0gT3JpZ2luYWwgPT09
PT09PT0iKTsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBFbGVtZW50c1RyZWUo
dGFyZ2V0Tm9kZSk7CisgICAgICAgICAgICAgICAgbmV4dCgpOworICAgICAgICAgICAgfQorICAg
ICAgICAgICAgSW5zcGVjdG9yVGVzdC5zZWxlY3ROb2RlV2l0aElkKCJub2RlIiwgY2FsbGJhY2sp
OworICAgICAgICB9LAorCisgICAgICAgIGZ1bmN0aW9uIHRlc3RBdHRyaWJ1dGVVcGRhdGVkKG5l
eHQpCisgICAgICAgIHsKKyAgICAgICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrKCkKKyAgICAgICAg
ICAgIHsKKyAgICAgICAgICAgICAgICBXZWJJbnNwZWN0b3IuZG9tQWdlbnQucmVtb3ZlRXZlbnRM
aXN0ZW5lcihXZWJJbnNwZWN0b3IuRE9NQWdlbnQuRXZlbnRzLkF0dHJNb2RpZmllZCwgY2FsbGJh
Y2spOworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCI9PT09PSBPbiBh
dHRyaWJ1dGUgc2V0ID09PT09Iik7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1w
RWxlbWVudHNUcmVlKHRhcmdldE5vZGUpOworICAgICAgICAgICAgICAgIG5leHQoKTsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIFdlYkluc3BlY3Rvci5kb21BZ2VudC5hZGRFdmVudExpc3Rl
bmVyKFdlYkluc3BlY3Rvci5ET01BZ2VudC5FdmVudHMuQXR0ck1vZGlmaWVkLCBjYWxsYmFjayk7
CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJzZXRBdHRyaWJ1dGUo
J25hbWUnLCAndmFsdWUnKSIpOworICAgICAgICB9LAorCisgICAgICAgIGZ1bmN0aW9uIHRlc3RB
dHRyaWJ1dGVTYW1lVmFsdWVOb3RVcGRhdGVkKG5leHQpCisgICAgICAgIHsKKyAgICAgICAgICAg
IGZ1bmN0aW9uIGNhbGxiYWNrKCkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBJbnNw
ZWN0b3JUZXN0LmFkZFJlc3VsdCgiPT09PT0gT24gYXR0cmlidXRlIG1vZGlmaWVkIChzaG91bGQg
YmUgJ25ld1ZhbHVlJykgPT09PT0iKTsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmR1
bXBFbGVtZW50c1RyZWUodGFyZ2V0Tm9kZSk7CisgICAgICAgICAgICAgICAgV2ViSW5zcGVjdG9y
LmRvbUFnZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLkRPTUFnZW50LkV2ZW50
cy5BdHRyTW9kaWZpZWQsIGNhbGxiYWNrKTsKKyAgICAgICAgICAgICAgICBuZXh0KCk7CisgICAg
ICAgICAgICB9CisgICAgICAgICAgICBXZWJJbnNwZWN0b3IuZG9tQWdlbnQuYWRkRXZlbnRMaXN0
ZW5lcihXZWJJbnNwZWN0b3IuRE9NQWdlbnQuRXZlbnRzLkF0dHJNb2RpZmllZCwgY2FsbGJhY2sp
OworICAgICAgICAgICAgLy8gU2V0dGluZyB0aGUgc2FtZSBwcm9wZXJ0eSB2YWx1ZSBzaG91bGQg
bm90IHJlc3VsdCBpbiB0aGUgQXR0ck1vZGlmaWVkIGV2ZW50LgorICAgICAgICAgICAgSW5zcGVj
dG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgic2V0QXR0cmlidXRlKCduYW1lJywgJ3ZhbHVlJykiKTsK
KyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoInNldEF0dHJpYnV0ZSgn
bmFtZScsICd2YWx1ZScpIik7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5Q
YWdlKCJzZXRBdHRyaWJ1dGUoJ25hbWUnLCAnbmV3VmFsdWUnKSIpOworICAgICAgICB9LAorCisg
ICAgICAgIGZ1bmN0aW9uIHRlc3RBdHRyaWJ1dGVSZW1vdmVkKG5leHQpCisgICAgICAgIHsKKyAg
ICAgICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrKCkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAg
ICAgICBXZWJJbnNwZWN0b3IuZG9tQWdlbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0
b3IuRE9NQWdlbnQuRXZlbnRzLkF0dHJSZW1vdmVkLCBjYWxsYmFjayk7CisgICAgICAgICAgICAg
ICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIj09PSBPbiBhdHRyaWJ1dGUgcmVtb3ZlZCA9PT0i
KTsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBFbGVtZW50c1RyZWUodGFyZ2V0
Tm9kZSk7CisgICAgICAgICAgICAgICAgbmV4dCgpOworICAgICAgICAgICAgfQorICAgICAgICAg
ICAgV2ViSW5zcGVjdG9yLmRvbUFnZW50LmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLkRP
TUFnZW50LkV2ZW50cy5BdHRyUmVtb3ZlZCwgY2FsbGJhY2spOworICAgICAgICAgICAgSW5zcGVj
dG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgicmVtb3ZlQXR0cmlidXRlKCduYW1lJykiKTsKKyAgICAg
ICAgfSwKKworICAgICAgICBmdW5jdGlvbiB0ZXN0U2V0QXR0cmlidXRlVmFsdWUobmV4dCkKKyAg
ICAgICAgeworICAgICAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2soKQorICAgICAgICAgICAgewor
ICAgICAgICAgICAgICAgIFdlYkluc3BlY3Rvci5kb21BZ2VudC5yZW1vdmVFdmVudExpc3RlbmVy
KFdlYkluc3BlY3Rvci5ET01BZ2VudC5FdmVudHMuQXR0ck1vZGlmaWVkLCBjYWxsYmFjayk7Cisg
ICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIj09PSBTZXQgYXR0cmlidXRl
IHZhbHVlID09PSIpOworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZHVtcEVsZW1lbnRz
VHJlZSh0YXJnZXROb2RlKTsKKyAgICAgICAgICAgICAgICBuZXh0KCk7CisgICAgICAgICAgICB9
CisgICAgICAgICAgICBXZWJJbnNwZWN0b3IuZG9tQWdlbnQuYWRkRXZlbnRMaXN0ZW5lcihXZWJJ
bnNwZWN0b3IuRE9NQWdlbnQuRXZlbnRzLkF0dHJNb2RpZmllZCwgY2FsbGJhY2spOworICAgICAg
ICAgICAgdGFyZ2V0Tm9kZS5zZXRBdHRyaWJ1dGVWYWx1ZSgiZm9vIiwgImJhciIpOworICAgICAg
ICB9LAorCisgICAgICAgIGZ1bmN0aW9uIHRlc3RTZXRBdHRyaWJ1dGVUZXh0KG5leHQpCisgICAg
ICAgIHsKKyAgICAgICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrKCkKKyAgICAgICAgICAgIHsKKyAg
ICAgICAgICAgICAgICBXZWJJbnNwZWN0b3IuZG9tQWdlbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihX
ZWJJbnNwZWN0b3IuRE9NQWdlbnQuRXZlbnRzLkF0dHJSZW1vdmVkLCBjYWxsYmFjayk7CisgICAg
ICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIj09PSBTZXQgYXR0cmlidXRlIGFz
IHRleHQgPT09Iik7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wRWxlbWVudHNU
cmVlKHRhcmdldE5vZGUpOworICAgICAgICAgICAgICAgIG5leHQoKTsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIFdlYkluc3BlY3Rvci5kb21BZ2VudC5hZGRFdmVudExpc3RlbmVyKFdlYklu
c3BlY3Rvci5ET01BZ2VudC5FdmVudHMuQXR0clJlbW92ZWQsIGNhbGxiYWNrKTsKKyAgICAgICAg
ICAgIHRhcmdldE5vZGUuc2V0QXR0cmlidXRlKCJmb28iLCAiZm9vMj0nYmF6MicgZm9vMz0nYmF6
MyciKTsKKyAgICAgICAgfSwKKworICAgICAgICBmdW5jdGlvbiB0ZXN0UmVtb3ZlQXR0cmlidXRl
QXNUZXh0KG5leHQpCisgICAgICAgIHsKKyAgICAgICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrKCkK
KyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBXZWJJbnNwZWN0b3IuZG9tQWdlbnQucmVt
b3ZlRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuRE9NQWdlbnQuRXZlbnRzLkF0dHJSZW1vdmVk
LCBjYWxsYmFjayk7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIj09
PSBSZW1vdmUgYXR0cmlidXRlIGFzIHRleHQgPT09Iik7CisgICAgICAgICAgICAgICAgSW5zcGVj
dG9yVGVzdC5kdW1wRWxlbWVudHNUcmVlKHRhcmdldE5vZGUpOworICAgICAgICAgICAgICAgIG5l
eHQoKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIFdlYkluc3BlY3Rvci5kb21BZ2VudC5h
ZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5ET01BZ2VudC5FdmVudHMuQXR0clJlbW92ZWQs
IGNhbGxiYWNrKTsKKyAgICAgICAgICAgIHRhcmdldE5vZGUuc2V0QXR0cmlidXRlKCJmb28zIiwg
IiIpOworICAgICAgICB9LAorCisgICAgICAgIGZ1bmN0aW9uIHRlc3RTZXRNYWxmb3JtZWRBdHRy
aWJ1dGVUZXh0KG5leHQpCisgICAgICAgIHsKKyAgICAgICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNr
KGVycm9yKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRk
UmVzdWx0KCJFcnJvcjogIiArIGVycm9yKTsKKyAgICAgICAgICAgICAgICBXZWJJbnNwZWN0b3Iu
ZG9tQWdlbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuRE9NQWdlbnQuRXZlbnRz
LkF0dHJNb2RpZmllZCwgY2FsbGJhY2spOworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3Qu
YWRkUmVzdWx0KCI9PT0gU2V0IG1hbGZvcm1lZCBhdHRyaWJ1dGUgYXMgdGV4dCA9PT0iKTsKKyAg
ICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBFbGVtZW50c1RyZWUodGFyZ2V0Tm9kZSk7
CisgICAgICAgICAgICAgICAgbmV4dCgpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgdGFy
Z2V0Tm9kZS5zZXRBdHRyaWJ1dGUoImZvbzIiLCAiZm9vMj0nbWlzc2luZ3F1b3RlIiwgY2FsbGJh
Y2spOworICAgICAgICB9CisgICAgXSk7Cit9CisKKzwvc2NyaXB0PgorPC9oZWFkPgorCis8Ym9k
eSBvbmxvYWQ9InJ1blRlc3QoKSI+Cis8cD4KK1Rlc3RzIHRoYXQgZWxlbWVudHMgcGFuZWwgdXBk
YXRlcyBkb20gdHJlZSBzdHJ1Y3R1cmUgdXBvbiBzZXR0aW5nIGF0dHJpYnV0ZS4KKzwvcD4KKwor
PGRpdiBpZD0ibm9kZSI+PC9kaXY+CisKKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9lbGVtZW50cy9zZXQtb3V0ZXItaHRtbC0yLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9lbGVtZW50cy9zZXQt
b3V0ZXItaHRtbC0yLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zMjE5ZTFlNzhjNGEwYTIxODUx
NjVjODE1Y2IxNjJiMzU3NzEyNTlkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yLW9ic29sZXRlL2VsZW1lbnRzL3NldC1vdXRlci1odG1sLTItZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMjIwIEBACitUZXN0cyBET01BZ2VudC5zZXRPdXRlckhUTUwgcHJvdG9jb2wgbWV0
aG9kIChwYXJ0IDIpLgorCitBZGRpdGlvbmFsIG5vZGUKKworUnVubmluZzogdGVzdFNldFVwCisK
K1J1bm5pbmc6IHRlc3RDaGFuZ2VNdWx0aXBsZVRoaW5ncworV3JhcHBlciBpZGVudGl0eTogaWRl
bnRpdHkKK0V2ZW50IEF0dHJNb2RpZmllZDogSDIKK0V2ZW50IEF0dHJNb2RpZmllZDogSDIKK0V2
ZW50IE5vZGVJbnNlcnRlZDogVUwKK0V2ZW50IE5vZGVSZW1vdmVkOiBVTAorPT09PT09PT09PTg8
PT09PT09PT09PQorPGRpdiBpZD0iY29udGFpbmVyIiBzdHlsZT0iZGlzcGxheTpub25lIj4KKzxw
PldlYktpdCBpcyB1c2VkIGJ5IDxhIGhyZWY9Imh0dHA6Ly93d3cuYXBwbGUuY29tL3NhZmFyaS8i
PlNhZmFyaTwvYT4sIERhc2hib2FyZCwgZXRjLi48L3A+Cis8aDIgZm9vPSJiYXIiIGJhcj0iYmF6
Ij5HZXR0aW5nIGludm9sdmVkPC9oMj4KKzxwIGlkPSJpZGVudGl0eSI+VGhlcmUgYXJlIG1hbnkg
d2F5cyB0byBnZXQgaW52b2x2ZWQuIFlvdSBjYW46PC9wPgorPHVsPgorICAgCis8L3VsPgorPHVs
PgorICAgPGxpPjwvbGk+Cis8L3VsPgorPC9kaXY+Cis9PT09PT09PT09Pjg9PT09PT09PT09CisK
K0JyaW5naW5nIHRoaW5ncyBiYWNrCisKK1dyYXBwZXIgaWRlbnRpdHk6IGlkZW50aXR5CitFdmVu
dCBBdHRyUmVtb3ZlZDogSDIKK0V2ZW50IEF0dHJSZW1vdmVkOiBIMgorRXZlbnQgQ2hhcmFjdGVy
RGF0YU1vZGlmaWVkOiAKK0V2ZW50IE5vZGVJbnNlcnRlZDogTEkKKz09PT09PT09PT04PD09PT09
PT09PT0KKzxkaXYgaWQ9ImNvbnRhaW5lciIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+Cis8cD5XZWJL
aXQgaXMgdXNlZCBieSA8YSBocmVmPSJodHRwOi8vd3d3LmFwcGxlLmNvbS9zYWZhcmkvIj5TYWZh
cmk8L2E+LCBEYXNoYm9hcmQsIGV0Yy4uPC9wPgorPGgyPkdldHRpbmcgaW52b2x2ZWQ8L2gyPgor
PHAgaWQ9ImlkZW50aXR5Ij5UaGVyZSBhcmUgbWFueSB3YXlzIHRvIGdldCBpbnZvbHZlZC4gWW91
IGNhbjo8L3A+Cis8dWw+CisgICA8bGk+PC9saT4KKzwvdWw+Cis8dWw+CisgICA8bGk+PC9saT4K
KzwvdWw+Cis8L2Rpdj4KKz09PT09PT09PT0+OD09PT09PT09PT0KKworCisKKworCitSdW5uaW5n
OiB0ZXN0Q2hhbmdlTmVzdGluZ0xldmVsCitXcmFwcGVyIGlkZW50aXR5OiBpZGVudGl0eQorRXZl
bnQgTm9kZUluc2VydGVkOiBESVYKK0V2ZW50IE5vZGVSZW1vdmVkOiBVTAorPT09PT09PT09PTg8
PT09PT09PT09PQorPGRpdiBpZD0iY29udGFpbmVyIiBzdHlsZT0iZGlzcGxheTpub25lIj4KKzxw
PldlYktpdCBpcyB1c2VkIGJ5IDxhIGhyZWY9Imh0dHA6Ly93d3cuYXBwbGUuY29tL3NhZmFyaS8i
PlNhZmFyaTwvYT4sIERhc2hib2FyZCwgZXRjLi48L3A+Cis8aDI+R2V0dGluZyBpbnZvbHZlZDwv
aDI+Cis8cCBpZD0iaWRlbnRpdHkiPlRoZXJlIGFyZSBtYW55IHdheXMgdG8gZ2V0IGludm9sdmVk
LiBZb3UgY2FuOjwvcD4KKzxkaXY+PHVsPgorICAgPGxpPjwvbGk+Cis8L3VsPjwvZGl2PgorPHVs
PgorICAgPGxpPjwvbGk+Cis8L3VsPgorPC9kaXY+Cis9PT09PT09PT09Pjg9PT09PT09PT09CisK
K0JyaW5naW5nIHRoaW5ncyBiYWNrCisKK1dyYXBwZXIgaWRlbnRpdHk6IGlkZW50aXR5CitFdmVu
dCBOb2RlSW5zZXJ0ZWQ6IFVMCitFdmVudCBOb2RlUmVtb3ZlZDogRElWCis9PT09PT09PT09ODw9
PT09PT09PT09Cis8ZGl2IGlkPSJjb250YWluZXIiIHN0eWxlPSJkaXNwbGF5Om5vbmUiPgorPHA+
V2ViS2l0IGlzIHVzZWQgYnkgPGEgaHJlZj0iaHR0cDovL3d3dy5hcHBsZS5jb20vc2FmYXJpLyI+
U2FmYXJpPC9hPiwgRGFzaGJvYXJkLCBldGMuLjwvcD4KKzxoMj5HZXR0aW5nIGludm9sdmVkPC9o
Mj4KKzxwIGlkPSJpZGVudGl0eSI+VGhlcmUgYXJlIG1hbnkgd2F5cyB0byBnZXQgaW52b2x2ZWQu
IFlvdSBjYW46PC9wPgorPHVsPgorICAgPGxpPjwvbGk+Cis8L3VsPgorPHVsPgorICAgPGxpPjwv
bGk+Cis8L3VsPgorPC9kaXY+Cis9PT09PT09PT09Pjg9PT09PT09PT09CisKKworCisKKworUnVu
bmluZzogdGVzdFN3YXBOb2RlcworV3JhcHBlciBpZGVudGl0eTogaWRlbnRpdHkKK0V2ZW50IE5v
ZGVJbnNlcnRlZDogSDIKK0V2ZW50IE5vZGVSZW1vdmVkOiBIMgorPT09PT09PT09PTg8PT09PT09
PT09PQorPGRpdiBpZD0iY29udGFpbmVyIiBzdHlsZT0iZGlzcGxheTpub25lIj4KKzxwPldlYktp
dCBpcyB1c2VkIGJ5IDxhIGhyZWY9Imh0dHA6Ly93d3cuYXBwbGUuY29tL3NhZmFyaS8iPlNhZmFy
aTwvYT4sIERhc2hib2FyZCwgZXRjLi48L3A+CisKKzxwIGlkPSJpZGVudGl0eSI+VGhlcmUgYXJl
IG1hbnkgd2F5cyB0byBnZXQgaW52b2x2ZWQuIFlvdSBjYW46PC9wPgorPHVsPgorICAgPGxpPjwv
bGk+Cis8L3VsPgorPHVsPgorICAgPGxpPjwvbGk+Cis8L3VsPgorPGgyPkdldHRpbmcgaW52b2x2
ZWQ8L2gyPjwvZGl2PgorPT09PT09PT09PT44PT09PT09PT09PQorCitCcmluZ2luZyB0aGluZ3Mg
YmFjaworCitXcmFwcGVyIGlkZW50aXR5OiBpZGVudGl0eQorRXZlbnQgTm9kZUluc2VydGVkOiBI
MgorRXZlbnQgTm9kZUluc2VydGVkOiBQCitFdmVudCBOb2RlSW5zZXJ0ZWQ6IFVMCitFdmVudCBO
b2RlSW5zZXJ0ZWQ6IFVMCitFdmVudCBOb2RlUmVtb3ZlZDogSDIKK0V2ZW50IE5vZGVSZW1vdmVk
OiBQCitFdmVudCBOb2RlUmVtb3ZlZDogVUwKK0V2ZW50IE5vZGVSZW1vdmVkOiBVTAorPT09PT09
PT09PTg8PT09PT09PT09PQorPGRpdiBpZD0iY29udGFpbmVyIiBzdHlsZT0iZGlzcGxheTpub25l
Ij4KKzxwPldlYktpdCBpcyB1c2VkIGJ5IDxhIGhyZWY9Imh0dHA6Ly93d3cuYXBwbGUuY29tL3Nh
ZmFyaS8iPlNhZmFyaTwvYT4sIERhc2hib2FyZCwgZXRjLi48L3A+Cis8aDI+R2V0dGluZyBpbnZv
bHZlZDwvaDI+Cis8cCBpZD0iaWRlbnRpdHkiPlRoZXJlIGFyZSBtYW55IHdheXMgdG8gZ2V0IGlu
dm9sdmVkLiBZb3UgY2FuOjwvcD4KKzx1bD4KKyAgIDxsaT48L2xpPgorPC91bD4KKzx1bD4KKyAg
IDxsaT48L2xpPgorPC91bD4KKzwvZGl2PgorPT09PT09PT09PT44PT09PT09PT09PQorCisKKwor
CisKK1J1bm5pbmc6IHRlc3RFZGl0VHdvUm9vdHMKK1dyYXBwZXIgaWRlbnRpdHk6IGlkZW50aXR5
CitFdmVudCBOb2RlSW5zZXJ0ZWQ6IERJVgorPT09PT09PT09PTg8PT09PT09PT09PQorPGRpdiBp
ZD0iY29udGFpbmVyIiBzdHlsZT0iZGlzcGxheTpub25lIj4KKzxwPldlYktpdCBpcyB1c2VkIGJ5
IDxhIGhyZWY9Imh0dHA6Ly93d3cuYXBwbGUuY29tL3NhZmFyaS8iPlNhZmFyaTwvYT4sIERhc2hi
b2FyZCwgZXRjLi48L3A+Cis8aDI+R2V0dGluZyBpbnZvbHZlZDwvaDI+Cis8cCBpZD0iaWRlbnRp
dHkiPlRoZXJlIGFyZSBtYW55IHdheXMgdG8gZ2V0IGludm9sdmVkLiBZb3UgY2FuOjwvcD4KKzx1
bD4KKyAgIDxsaT48L2xpPgorPC91bD4KKzx1bD4KKyAgIDxsaT48L2xpPgorPC91bD4KKzwvZGl2
PgorPT09PT09PT09PT44PT09PT09PT09PQorCitCcmluZ2luZyB0aGluZ3MgYmFjaworCitXcmFw
cGVyIGlkZW50aXR5OiBpZGVudGl0eQorPT09PT09PT09PTg8PT09PT09PT09PQorPGRpdiBpZD0i
Y29udGFpbmVyIiBzdHlsZT0iZGlzcGxheTpub25lIj4KKzxwPldlYktpdCBpcyB1c2VkIGJ5IDxh
IGhyZWY9Imh0dHA6Ly93d3cuYXBwbGUuY29tL3NhZmFyaS8iPlNhZmFyaTwvYT4sIERhc2hib2Fy
ZCwgZXRjLi48L3A+Cis8aDI+R2V0dGluZyBpbnZvbHZlZDwvaDI+Cis8cCBpZD0iaWRlbnRpdHki
PlRoZXJlIGFyZSBtYW55IHdheXMgdG8gZ2V0IGludm9sdmVkLiBZb3UgY2FuOjwvcD4KKzx1bD4K
KyAgIDxsaT48L2xpPgorPC91bD4KKzx1bD4KKyAgIDxsaT48L2xpPgorPC91bD4KKzwvZGl2Pgor
PT09PT09PT09PT44PT09PT09PT09PQorCisKKworCisKK1J1bm5pbmc6IHRlc3REdXBlTm9kZQor
UmVwbGFjaW5nICc8aDI+R2V0dGluZyBpbnZvbHZlZDwvaDI+JyB3aXRoICc8aDI+R2V0dGluZyBp
bnZvbHZlZDwvaDI+PGgyPkdldHRpbmcgaW52b2x2ZWQ8L2gyPicKKworV3JhcHBlciBpZGVudGl0
eTogaWRlbnRpdHkKK0V2ZW50IE5vZGVJbnNlcnRlZDogSDIKK0V2ZW50IE5vZGVJbnNlcnRlZDog
SDIKK0V2ZW50IE5vZGVSZW1vdmVkOiBIMgorPT09PT09PT09PTg8PT09PT09PT09PQorPGRpdiBp
ZD0iY29udGFpbmVyIiBzdHlsZT0iZGlzcGxheTpub25lIj4KKzxwPldlYktpdCBpcyB1c2VkIGJ5
IDxhIGhyZWY9Imh0dHA6Ly93d3cuYXBwbGUuY29tL3NhZmFyaS8iPlNhZmFyaTwvYT4sIERhc2hi
b2FyZCwgZXRjLi48L3A+Cis8aDI+R2V0dGluZyBpbnZvbHZlZDwvaDI+PGgyPkdldHRpbmcgaW52
b2x2ZWQ8L2gyPgorPHAgaWQ9ImlkZW50aXR5Ij5UaGVyZSBhcmUgbWFueSB3YXlzIHRvIGdldCBp
bnZvbHZlZC4gWW91IGNhbjo8L3A+Cis8dWw+CisgICA8bGk+PC9saT4KKzwvdWw+Cis8dWw+Cisg
ICA8bGk+PC9saT4KKzwvdWw+Cis8L2Rpdj4KKz09PT09PT09PT0+OD09PT09PT09PT0KKworQnJp
bmdpbmcgdGhpbmdzIGJhY2sKKworV3JhcHBlciBpZGVudGl0eTogaWRlbnRpdHkKK0V2ZW50IE5v
ZGVSZW1vdmVkOiBIMgorPT09PT09PT09PTg8PT09PT09PT09PQorPGRpdiBpZD0iY29udGFpbmVy
IiBzdHlsZT0iZGlzcGxheTpub25lIj4KKzxwPldlYktpdCBpcyB1c2VkIGJ5IDxhIGhyZWY9Imh0
dHA6Ly93d3cuYXBwbGUuY29tL3NhZmFyaS8iPlNhZmFyaTwvYT4sIERhc2hib2FyZCwgZXRjLi48
L3A+Cis8aDI+R2V0dGluZyBpbnZvbHZlZDwvaDI+Cis8cCBpZD0iaWRlbnRpdHkiPlRoZXJlIGFy
ZSBtYW55IHdheXMgdG8gZ2V0IGludm9sdmVkLiBZb3UgY2FuOjwvcD4KKzx1bD4KKyAgIDxsaT48
L2xpPgorPC91bD4KKzx1bD4KKyAgIDxsaT48L2xpPgorPC91bD4KKzwvZGl2PgorPT09PT09PT09
PT44PT09PT09PT09PQorCisKKworCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rv
ci1vYnNvbGV0ZS9lbGVtZW50cy9zZXQtb3V0ZXItaHRtbC0yLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bnNwZWN0b3Itb2Jzb2xldGUvZWxlbWVudHMvc2V0LW91dGVyLWh0bWwtMi5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjJhOGQxOTYzNjA3YjU4ZWVkYzRkZDEyNGUzMDRhZDQyMDk3OGYzYTIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZWxlbWVudHMvc2V0LW91dGVy
LWh0bWwtMi5odG1sCkBAIC0wLDAgKzEsNzcgQEAKKzxodG1sPgorPGhlYWQ+CisKKzxzY3JpcHQg
c3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMtdGVz
dC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0ic2V0LW91dGVyLWh0bWwtdGVzdC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0PgorCitmdW5jdGlvbiBvbmxvYWQoKQoreworICAgIGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJpZGVudGl0eSIpLndyYXBwZXJJZGVudGl0eSA9ICJpZGVudGl0eSI7Cisg
ICAgcnVuVGVzdCgpOworfQorCitmdW5jdGlvbiB0ZXN0KCkKK3sKKyAgICBJbnNwZWN0b3JUZXN0
LnJ1blRlc3RTdWl0ZShbCisgICAgICAgIGZ1bmN0aW9uIHRlc3RTZXRVcChuZXh0KQorICAgICAg
ICB7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LnNldFVwVGVzdFN1aXRlKG5leHQpOworICAg
ICAgICB9LAorCisgICAgICAgIGZ1bmN0aW9uIHRlc3RDaGFuZ2VNdWx0aXBsZVRoaW5ncyhuZXh0
KQorICAgICAgICB7CisgICAgICAgICAgICB2YXIgdGV4dCA9IEluc3BlY3RvclRlc3QuY29udGFp
bmVyVGV4dC5yZXBsYWNlKC88bGk+Lio8XC9saT4vLCAiIik7CisgICAgICAgICAgICB0ZXh0ID0g
dGV4dC5yZXBsYWNlKCI8aDI+IiwgIjxoMiBmb289XCJiYXJcIiBiYXI9XCJiYXpcIj4iKTsKKyAg
ICAgICAgICAgIEluc3BlY3RvclRlc3Quc2V0T3V0ZXJIVE1MKHRleHQsIG5leHQpOworICAgICAg
ICB9LAorCisgICAgICAgIGZ1bmN0aW9uIHRlc3RDaGFuZ2VOZXN0aW5nTGV2ZWwobmV4dCkKKyAg
ICAgICAgeworICAgICAgICAgICAgdmFyIHRleHQgPSBJbnNwZWN0b3JUZXN0LmNvbnRhaW5lclRl
eHQucmVwbGFjZSgiPHVsPiIsICI8ZGl2Pjx1bD4iKTsKKyAgICAgICAgICAgIHZhciB0ZXh0ID0g
dGV4dC5yZXBsYWNlKCI8L3VsPiIsICI8L3VsPjwvZGl2PiIpOworICAgICAgICAgICAgSW5zcGVj
dG9yVGVzdC5zZXRPdXRlckhUTUwodGV4dCwgbmV4dCk7CisgICAgICAgIH0sCisKKyAgICAgICAg
ZnVuY3Rpb24gdGVzdFN3YXBOb2RlcyhuZXh0KQorICAgICAgICB7CisgICAgICAgICAgICB2YXIg
dGV4dCA9IEluc3BlY3RvclRlc3QuY29udGFpbmVyVGV4dC5yZXBsYWNlKCI8aDI+R2V0dGluZyBp
bnZvbHZlZDwvaDI+IiwgIiIpOworICAgICAgICAgICAgdmFyIHRleHQgPSB0ZXh0LnJlcGxhY2Uo
IjwvZGl2PiIsICI8aDI+R2V0dGluZyBpbnZvbHZlZDwvaDI+PC9kaXY+Iik7CisgICAgICAgICAg
ICBJbnNwZWN0b3JUZXN0LnNldE91dGVySFRNTCh0ZXh0LCBuZXh0KTsKKyAgICAgICAgfSwKKwor
ICAgICAgICBmdW5jdGlvbiB0ZXN0RWRpdFR3b1Jvb3RzKG5leHQpCisgICAgICAgIHsKKyAgICAg
ICAgICAgIHZhciB0ZXh0ID0gSW5zcGVjdG9yVGVzdC5jb250YWluZXJUZXh0ICsgIjxkaXY+QWRk
aXRpb25hbCBub2RlPC9kaXY+IjsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3Quc2V0T3V0ZXJI
VE1MKHRleHQsIG5leHQpOworICAgICAgICB9LAorCisgICAgICAgIGZ1bmN0aW9uIHRlc3REdXBl
Tm9kZShuZXh0KQorICAgICAgICB7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LnBhdGNoT3V0
ZXJIVE1MKCI8aDI+R2V0dGluZyBpbnZvbHZlZDwvaDI+IiwgIjxoMj5HZXR0aW5nIGludm9sdmVk
PC9oMj48aDI+R2V0dGluZyBpbnZvbHZlZDwvaDI+IiwgbmV4dCk7CisgICAgICAgIH0KKyAgICBd
KTsKK30KKzwvc2NyaXB0PgorPC9oZWFkPgorCis8Ym9keSBvbmxvYWQ9Im9ubG9hZCgpIj4KKzxw
PgorVGVzdHMgRE9NQWdlbnQuc2V0T3V0ZXJIVE1MIHByb3RvY29sIG1ldGhvZCAocGFydCAyKS4K
KzwvcD4KKworPGRpdiBpZD0iY29udGFpbmVyIiBzdHlsZT0iZGlzcGxheTpub25lIj4KKzxwPldl
YktpdCBpcyB1c2VkIGJ5IDxhIGhyZWY9Imh0dHA6Ly93d3cuYXBwbGUuY29tL3NhZmFyaS8iPlNh
ZmFyaTwvYT4sIERhc2hib2FyZCwgZXRjLi48L3A+Cis8aDI+R2V0dGluZyBpbnZvbHZlZDwvaDI+
Cis8cCBpZD0iaWRlbnRpdHkiPlRoZXJlIGFyZSBtYW55IHdheXMgdG8gZ2V0IGludm9sdmVkLiBZ
b3UgY2FuOjwvcD4KKzx1bD4KKyAgIDxsaT48L2xpPgorPC91bD4KKzx1bD4KKyAgIDxsaT48L2xp
PgorPC91bD4KKzwvZGl2PgorCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZWxlbWVudHMvc2V0LW91dGVyLWh0bWwtYm9keS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZWxlbWVudHMvc2V0LW91
dGVyLWh0bWwtYm9keS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzRkYzI4NDgyY2FmYzM4Njcz
OGY3Zjk5NDkxMzk4N2E1ZWVlMTI4OQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lu
c3BlY3Rvci1vYnNvbGV0ZS9lbGVtZW50cy9zZXQtb3V0ZXItaHRtbC1ib2R5LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDI2IEBACitUZXN0cyBET01BZ2VudC5zZXRPdXRlckhUTUwgaW52b2tlZCBv
biBib2R5IHRhZy4gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02
MjI3Mi4gCisKKworUnVubmluZzogdGVzdFNldFVwCisKK1J1bm5pbmc6IHRlc3RTZXRCb2R5Cis8
aHRtbCBpZD0iaHRtbCI+PGhlYWQgaWQ9ImhlYWQiPgorPHNjcmlwdD4KKzwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+TmV3IGJvZHkgY29udGVudDwvYm9keT48L2h0bWw+CisKK1J1bm5pbmc6IHRl
c3RJbnNlcnRDb21tZW50cworPGh0bWwgaWQ9Imh0bWwiPjxoZWFkIGlkPSJoZWFkIj4KKzxzY3Jp
cHQ+Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzwhLS0gbmV3IGNvbW1lbnQgYmV0d2VlbiBoZWFkIGFu
ZCBib2R5IC0tPjxib2R5Pk5ldyBib2R5IGNvbnRlbnQ8L2JvZHk+PC9odG1sPgorCitSdW5uaW5n
OiB0ZXN0U2V0SGVhZAorPGh0bWwgaWQ9Imh0bWwiPjxoZWFkPjwhLS0gbmV3IGhlYWQgY29udGVu
dCAtLT48L2hlYWQ+Cis8IS0tIG5ldyBjb21tZW50IGJldHdlZW4gaGVhZCBhbmQgYm9keSAtLT48
Ym9keT5OZXcgYm9keSBjb250ZW50PC9ib2R5PjwvaHRtbD4KKworUnVubmluZzogdGVzdFNldEhU
TUwKKzxodG1sPjxoZWFkPjwhLS0gbmV3IGhlYWQgY29udGVudCAtLT48L2hlYWQ+PGJvZHk+U2V0
dGluZyBib2R5IGFzIGEgcGFydCBvZiBIVE1MLjwvYm9keT48L2h0bWw+CisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9lbGVtZW50cy9zZXQtb3V0ZXItaHRtbC1i
b2R5Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZWxlbWVudHMvc2V0LW91
dGVyLWh0bWwtYm9keS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRjZmRmOTY2ZTQwZjJiMjMxZjllNjAzNTJh
MjUzOGNlNTQ2OTYzYTQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3It
b2Jzb2xldGUvZWxlbWVudHMvc2V0LW91dGVyLWh0bWwtYm9keS5odG1sCkBAIC0wLDAgKzEsNzEg
QEAKKzxodG1sPgorPGhlYWQ+CisKKzxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3Bl
Y3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vaHR0
cC90ZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0Pgor
CitmdW5jdGlvbiB0ZXN0KCkKK3sKKyAgICB2YXIgaHRtbE5vZGU7CisgICAgdmFyIGJvZHlOb2Rl
OworICAgIHZhciBoZWFkTm9kZTsKKworICAgIEluc3BlY3RvclRlc3QucnVuVGVzdFN1aXRlKFsK
KyAgICAgICAgZnVuY3Rpb24gdGVzdFNldFVwKG5leHQpCisgICAgICAgIHsKKyAgICAgICAgICAg
IEluc3BlY3RvclRlc3QuZXhwYW5kRWxlbWVudHNUcmVlKHN0ZXAxKTsKKyAgICAgICAgICAgIGZ1
bmN0aW9uIHN0ZXAxKCkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBodG1sTm9kZSA9
IEluc3BlY3RvclRlc3QuZXhwYW5kZWROb2RlV2l0aElkKCJodG1sIik7CisgICAgICAgICAgICAg
ICAgaGVhZE5vZGUgPSBJbnNwZWN0b3JUZXN0LmV4cGFuZGVkTm9kZVdpdGhJZCgiaGVhZCIpOwor
ICAgICAgICAgICAgICAgIGJvZHlOb2RlID0gSW5zcGVjdG9yVGVzdC5leHBhbmRlZE5vZGVXaXRo
SWQoImJvZHkiKTsKKyAgICAgICAgICAgICAgICBuZXh0KCk7CisgICAgICAgICAgICB9CisgICAg
ICAgIH0sCisKKyAgICAgICAgZnVuY3Rpb24gdGVzdFNldEJvZHkobmV4dCkKKyAgICAgICAgewor
ICAgICAgICAgICAgRE9NQWdlbnQuc2V0T3V0ZXJIVE1MKGJvZHlOb2RlLmlkLCAiPGJvZHk+TmV3
IGJvZHkgY29udGVudDwvYm9keT4iLCBkdW1wSFRNTChuZXh0KSk7CisgICAgICAgIH0sCisKKyAg
ICAgICAgZnVuY3Rpb24gdGVzdEluc2VydENvbW1lbnRzKG5leHQpCisgICAgICAgIHsKKyAgICAg
ICAgICAgIERPTUFnZW50LnNldE91dGVySFRNTChib2R5Tm9kZS5pZCwgIjwhLS0gbmV3IGNvbW1l
bnQgYmV0d2VlbiBoZWFkIGFuZCBib2R5IC0tPjxib2R5Pk5ldyBib2R5IGNvbnRlbnQ8L2JvZHk+
IiwgZHVtcEhUTUwobmV4dCkpOworICAgICAgICB9LAorCisgICAgICAgIGZ1bmN0aW9uIHRlc3RT
ZXRIZWFkKG5leHQpCisgICAgICAgIHsKKyAgICAgICAgICAgIERPTUFnZW50LnNldE91dGVySFRN
TChoZWFkTm9kZS5pZCwgIjxoZWFkPjwhLS0gbmV3IGhlYWQgY29udGVudCAtLT48L2hlYWQ+Iiwg
ZHVtcEhUTUwobmV4dCkpOworICAgICAgICB9LAorCisgICAgICAgICBmdW5jdGlvbiB0ZXN0U2V0
SFRNTChuZXh0KQorICAgICAgICB7CisgICAgICAgICAgICBET01BZ2VudC5zZXRPdXRlckhUTUwo
aHRtbE5vZGUuaWQsICI8aHRtbD48aGVhZD48IS0tIG5ldyBoZWFkIGNvbnRlbnQgLS0+PC9oZWFk
Pjxib2R5PlNldHRpbmcgYm9keSBhcyBhIHBhcnQgb2YgSFRNTC48L2JvZHk+PC9odG1sPiIsIGR1
bXBIVE1MKG5leHQpKTsKKyAgICAgICAgfQorICAgIF0pOworCisgICAgZnVuY3Rpb24gZHVtcEhU
TUwobmV4dCkKKyAgICB7CisgICAgICAgIGZ1bmN0aW9uIGR1bXAoKQorICAgICAgICB7CisgICAg
ICAgICAgICBET01BZ2VudC5nZXRPdXRlckhUTUwoaHRtbE5vZGUuaWQsIGNhbGxiYWNrKTsKKyAg
ICAgICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrKGVycm9yLCB0ZXh0KQorICAgICAgICAgICAgewor
ICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KGVycm9yID8gZXJyb3IgOiB0
ZXh0KTsKKyAgICAgICAgICAgICAgICBuZXh0KCk7CisgICAgICAgICAgICB9CisgICAgICAgIH0K
KyAgICAgICAgcmV0dXJuIGR1bXA7CisgICAgfQorfQorPC9zY3JpcHQ+Cis8L2hlYWQ+CisKKzxi
b2R5PgorPHA+CitUZXN0cyBET01BZ2VudC5zZXRPdXRlckhUTUwgaW52b2tlZCBvbiBib2R5IHRh
Zy4gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MjI3Mi4KKzxp
ZnJhbWUgc3JjPSJyZXNvdXJjZXMvc2V0LW91dGVyLWh0bWwtYm9keS1pZnJhbWUuaHRtbCIgb25s
b2FkPSJydW5UZXN0KCkiPjwvaWZyYW1lPgorPC9wPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2VsZW1lbnRzL3NldC1vdXRlci1o
dG1sLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9lbGVtZW50
cy9zZXQtb3V0ZXItaHRtbC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGZjNjgwNjBkODlkODdl
NDQ0ZWMwNDVkNzExYTk5NzQ0YWY4ZjAyYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2luc3BlY3Rvci1vYnNvbGV0ZS9lbGVtZW50cy9zZXQtb3V0ZXItaHRtbC1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxNjAgQEAKK1Rlc3RzIERPTUFnZW50LnNldE91dGVySFRNTCBwcm90b2NvbCBt
ZXRob2QuCisKKworUnVubmluZzogdGVzdFNldFVwCisKK1J1bm5pbmc6IHRlc3RDaGFuZ2VDaGFy
YWN0ZXJEYXRhCitSZXBsYWNpbmcgJ0dldHRpbmcgaW52b2x2ZWQnIHdpdGggJ0dldHRpbmcgbm90
IGludm9sdmVkJworCitXcmFwcGVyIGlkZW50aXR5OiBpZGVudGl0eQorRXZlbnQgQ2hhcmFjdGVy
RGF0YU1vZGlmaWVkOiAKKz09PT09PT09PT04PD09PT09PT09PT0KKzxkaXYgaWQ9ImNvbnRhaW5l
ciIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+Cis8cD5XZWJLaXQgaXMgdXNlZCBieSA8YSBocmVmPSJo
dHRwOi8vd3d3LmFwcGxlLmNvbS9zYWZhcmkvIj5TYWZhcmk8L2E+LCBEYXNoYm9hcmQsIGV0Yy4u
PC9wPgorPGgyPkdldHRpbmcgbm90IGludm9sdmVkPC9oMj4KKzxwIGlkPSJpZGVudGl0eSI+VGhl
cmUgYXJlIG1hbnkgd2F5cyB0byBnZXQgaW52b2x2ZWQuIFlvdSBjYW46PC9wPgorPC9kaXY+Cis9
PT09PT09PT09Pjg9PT09PT09PT09CisKK0JyaW5naW5nIHRoaW5ncyBiYWNrCisKK1dyYXBwZXIg
aWRlbnRpdHk6IGlkZW50aXR5CitFdmVudCBDaGFyYWN0ZXJEYXRhTW9kaWZpZWQ6IAorPT09PT09
PT09PTg8PT09PT09PT09PQorPGRpdiBpZD0iY29udGFpbmVyIiBzdHlsZT0iZGlzcGxheTpub25l
Ij4KKzxwPldlYktpdCBpcyB1c2VkIGJ5IDxhIGhyZWY9Imh0dHA6Ly93d3cuYXBwbGUuY29tL3Nh
ZmFyaS8iPlNhZmFyaTwvYT4sIERhc2hib2FyZCwgZXRjLi48L3A+Cis8aDI+R2V0dGluZyBpbnZv
bHZlZDwvaDI+Cis8cCBpZD0iaWRlbnRpdHkiPlRoZXJlIGFyZSBtYW55IHdheXMgdG8gZ2V0IGlu
dm9sdmVkLiBZb3UgY2FuOjwvcD4KKzwvZGl2PgorPT09PT09PT09PT44PT09PT09PT09PQorCisK
KworCisKK1J1bm5pbmc6IHRlc3RDaGFuZ2VBdHRyaWJ1dGVzCitSZXBsYWNpbmcgJzxhIGhyZWYn
IHdpdGggJzxhIGZvbz0iYmFyIiBocmVmJworCitXcmFwcGVyIGlkZW50aXR5OiBpZGVudGl0eQor
RXZlbnQgQXR0ck1vZGlmaWVkOiBBCitFdmVudCBBdHRyTW9kaWZpZWQ6IEEKK0V2ZW50IEF0dHJS
ZW1vdmVkOiBBCis9PT09PT09PT09ODw9PT09PT09PT09Cis8ZGl2IGlkPSJjb250YWluZXIiIHN0
eWxlPSJkaXNwbGF5Om5vbmUiPgorPHA+V2ViS2l0IGlzIHVzZWQgYnkgPGEgZm9vPSJiYXIiIGhy
ZWY9Imh0dHA6Ly93d3cuYXBwbGUuY29tL3NhZmFyaS8iPlNhZmFyaTwvYT4sIERhc2hib2FyZCwg
ZXRjLi48L3A+Cis8aDI+R2V0dGluZyBpbnZvbHZlZDwvaDI+Cis8cCBpZD0iaWRlbnRpdHkiPlRo
ZXJlIGFyZSBtYW55IHdheXMgdG8gZ2V0IGludm9sdmVkLiBZb3UgY2FuOjwvcD4KKzwvZGl2Pgor
PT09PT09PT09PT44PT09PT09PT09PQorCitCcmluZ2luZyB0aGluZ3MgYmFjaworCitXcmFwcGVy
IGlkZW50aXR5OiBpZGVudGl0eQorRXZlbnQgQXR0ck1vZGlmaWVkOiBBCitFdmVudCBBdHRyUmVt
b3ZlZDogQQorRXZlbnQgQXR0clJlbW92ZWQ6IEEKKz09PT09PT09PT04PD09PT09PT09PT0KKzxk
aXYgaWQ9ImNvbnRhaW5lciIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+Cis8cD5XZWJLaXQgaXMgdXNl
ZCBieSA8YSBocmVmPSJodHRwOi8vd3d3LmFwcGxlLmNvbS9zYWZhcmkvIj5TYWZhcmk8L2E+LCBE
YXNoYm9hcmQsIGV0Yy4uPC9wPgorPGgyPkdldHRpbmcgaW52b2x2ZWQ8L2gyPgorPHAgaWQ9Imlk
ZW50aXR5Ij5UaGVyZSBhcmUgbWFueSB3YXlzIHRvIGdldCBpbnZvbHZlZC4gWW91IGNhbjo8L3A+
Cis8L2Rpdj4KKz09PT09PT09PT0+OD09PT09PT09PT0KKworCisKKworCitSdW5uaW5nOiB0ZXN0
UmVtb3ZlTGFzdENoaWxkCitSZXBsYWNpbmcgJ0dldHRpbmcgaW52b2x2ZWQnIHdpdGggJycKKwor
V3JhcHBlciBpZGVudGl0eTogaWRlbnRpdHkKK0V2ZW50IE5vZGVSZW1vdmVkOiAKKz09PT09PT09
PT04PD09PT09PT09PT0KKzxkaXYgaWQ9ImNvbnRhaW5lciIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+
Cis8cD5XZWJLaXQgaXMgdXNlZCBieSA8YSBocmVmPSJodHRwOi8vd3d3LmFwcGxlLmNvbS9zYWZh
cmkvIj5TYWZhcmk8L2E+LCBEYXNoYm9hcmQsIGV0Yy4uPC9wPgorPGgyPjwvaDI+Cis8cCBpZD0i
aWRlbnRpdHkiPlRoZXJlIGFyZSBtYW55IHdheXMgdG8gZ2V0IGludm9sdmVkLiBZb3UgY2FuOjwv
cD4KKzwvZGl2PgorPT09PT09PT09PT44PT09PT09PT09PQorCitCcmluZ2luZyB0aGluZ3MgYmFj
aworCitXcmFwcGVyIGlkZW50aXR5OiBpZGVudGl0eQorRXZlbnQgTm9kZUluc2VydGVkOiAKKz09
PT09PT09PT04PD09PT09PT09PT0KKzxkaXYgaWQ9ImNvbnRhaW5lciIgc3R5bGU9ImRpc3BsYXk6
bm9uZSI+Cis8cD5XZWJLaXQgaXMgdXNlZCBieSA8YSBocmVmPSJodHRwOi8vd3d3LmFwcGxlLmNv
bS9zYWZhcmkvIj5TYWZhcmk8L2E+LCBEYXNoYm9hcmQsIGV0Yy4uPC9wPgorPGgyPkdldHRpbmcg
aW52b2x2ZWQ8L2gyPgorPHAgaWQ9ImlkZW50aXR5Ij5UaGVyZSBhcmUgbWFueSB3YXlzIHRvIGdl
dCBpbnZvbHZlZC4gWW91IGNhbjo8L3A+Cis8L2Rpdj4KKz09PT09PT09PT0+OD09PT09PT09PT0K
KworCisKKworCitSdW5uaW5nOiB0ZXN0U3BsaXROb2RlCitSZXBsYWNpbmcgJ0dldHRpbmcgaW52
b2x2ZWQnIHdpdGggJ0dldHRpbmc8L2gyPjxoMj5pbnZvbHZlZCcKKworV3JhcHBlciBpZGVudGl0
eTogaWRlbnRpdHkKK0V2ZW50IE5vZGVJbnNlcnRlZDogSDIKK0V2ZW50IE5vZGVJbnNlcnRlZDog
SDIKK0V2ZW50IE5vZGVSZW1vdmVkOiBIMgorPT09PT09PT09PTg8PT09PT09PT09PQorPGRpdiBp
ZD0iY29udGFpbmVyIiBzdHlsZT0iZGlzcGxheTpub25lIj4KKzxwPldlYktpdCBpcyB1c2VkIGJ5
IDxhIGhyZWY9Imh0dHA6Ly93d3cuYXBwbGUuY29tL3NhZmFyaS8iPlNhZmFyaTwvYT4sIERhc2hi
b2FyZCwgZXRjLi48L3A+Cis8aDI+R2V0dGluZzwvaDI+PGgyPmludm9sdmVkPC9oMj4KKzxwIGlk
PSJpZGVudGl0eSI+VGhlcmUgYXJlIG1hbnkgd2F5cyB0byBnZXQgaW52b2x2ZWQuIFlvdSBjYW46
PC9wPgorPC9kaXY+Cis9PT09PT09PT09Pjg9PT09PT09PT09CisKK0JyaW5naW5nIHRoaW5ncyBi
YWNrCisKK1dyYXBwZXIgaWRlbnRpdHk6IGlkZW50aXR5CitFdmVudCBOb2RlSW5zZXJ0ZWQ6IEgy
CitFdmVudCBOb2RlUmVtb3ZlZDogSDIKK0V2ZW50IE5vZGVSZW1vdmVkOiBIMgorPT09PT09PT09
PTg8PT09PT09PT09PQorPGRpdiBpZD0iY29udGFpbmVyIiBzdHlsZT0iZGlzcGxheTpub25lIj4K
KzxwPldlYktpdCBpcyB1c2VkIGJ5IDxhIGhyZWY9Imh0dHA6Ly93d3cuYXBwbGUuY29tL3NhZmFy
aS8iPlNhZmFyaTwvYT4sIERhc2hib2FyZCwgZXRjLi48L3A+Cis8aDI+R2V0dGluZyBpbnZvbHZl
ZDwvaDI+Cis8cCBpZD0iaWRlbnRpdHkiPlRoZXJlIGFyZSBtYW55IHdheXMgdG8gZ2V0IGludm9s
dmVkLiBZb3UgY2FuOjwvcD4KKzwvZGl2PgorPT09PT09PT09PT44PT09PT09PT09PQorCisKKwor
CisKK1J1bm5pbmc6IHRlc3RDaGFuZ2VOb2RlTmFtZQorUmVwbGFjaW5nICc8aDI+R2V0dGluZyBp
bnZvbHZlZDwvaDI+JyB3aXRoICc8aDM+R2V0dGluZyBpbnZvbHZlZDwvaDM+JworCitXcmFwcGVy
IGlkZW50aXR5OiBpZGVudGl0eQorRXZlbnQgTm9kZUluc2VydGVkOiBIMworRXZlbnQgTm9kZVJl
bW92ZWQ6IEgyCis9PT09PT09PT09ODw9PT09PT09PT09Cis8ZGl2IGlkPSJjb250YWluZXIiIHN0
eWxlPSJkaXNwbGF5Om5vbmUiPgorPHA+V2ViS2l0IGlzIHVzZWQgYnkgPGEgaHJlZj0iaHR0cDov
L3d3dy5hcHBsZS5jb20vc2FmYXJpLyI+U2FmYXJpPC9hPiwgRGFzaGJvYXJkLCBldGMuLjwvcD4K
KzxoMz5HZXR0aW5nIGludm9sdmVkPC9oMz4KKzxwIGlkPSJpZGVudGl0eSI+VGhlcmUgYXJlIG1h
bnkgd2F5cyB0byBnZXQgaW52b2x2ZWQuIFlvdSBjYW46PC9wPgorPC9kaXY+Cis9PT09PT09PT09
Pjg9PT09PT09PT09CisKK0JyaW5naW5nIHRoaW5ncyBiYWNrCisKK1dyYXBwZXIgaWRlbnRpdHk6
IGlkZW50aXR5CitFdmVudCBOb2RlSW5zZXJ0ZWQ6IEgyCitFdmVudCBOb2RlUmVtb3ZlZDogSDMK
Kz09PT09PT09PT04PD09PT09PT09PT0KKzxkaXYgaWQ9ImNvbnRhaW5lciIgc3R5bGU9ImRpc3Bs
YXk6bm9uZSI+Cis8cD5XZWJLaXQgaXMgdXNlZCBieSA8YSBocmVmPSJodHRwOi8vd3d3LmFwcGxl
LmNvbS9zYWZhcmkvIj5TYWZhcmk8L2E+LCBEYXNoYm9hcmQsIGV0Yy4uPC9wPgorPGgyPkdldHRp
bmcgaW52b2x2ZWQ8L2gyPgorPHAgaWQ9ImlkZW50aXR5Ij5UaGVyZSBhcmUgbWFueSB3YXlzIHRv
IGdldCBpbnZvbHZlZC4gWW91IGNhbjo8L3A+Cis8L2Rpdj4KKz09PT09PT09PT0+OD09PT09PT09
PT0KKworCisKKworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUv
ZWxlbWVudHMvc2V0LW91dGVyLWh0bWwtZm9yLXhodG1sLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9lbGVtZW50cy9zZXQtb3V0ZXItaHRtbC1mb3IteGh0bWwt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjUxZTllM2YzMmMyNmY1YmM1YzFlOGE2MjdlZjgzYWMw
OThkOWQ4MjgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xl
dGUvZWxlbWVudHMvc2V0LW91dGVyLWh0bWwtZm9yLXhodG1sLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDE2NSBAQAorVGVzdHMgRE9NQWdlbnQuc2V0T3V0ZXJIVE1MIHByb3RvY29sIG1ldGhvZCBh
Z2FpbnN0IGFuIFhIVE1MIGRvY3VtZW50LgorCisKK1J1bm5pbmc6IHRlc3RTZXRVcAorCitSdW5u
aW5nOiB0ZXN0Q2hhbmdlQ2hhcmFjdGVyRGF0YQorUmVwbGFjaW5nICdHZXR0aW5nIGludm9sdmVk
JyB3aXRoICdHZXR0aW5nIG5vdCBpbnZvbHZlZCcKKworV3JhcHBlciBpZGVudGl0eTogaWRlbnRp
dHkKK0V2ZW50IEF0dHJNb2RpZmllZDogZGl2CitFdmVudCBBdHRyTW9kaWZpZWQ6IGRpdgorRXZl
bnQgQXR0ck1vZGlmaWVkOiBkaXYKK0V2ZW50IEF0dHJSZW1vdmVkOiBkaXYKK0V2ZW50IEF0dHJS
ZW1vdmVkOiBkaXYKK0V2ZW50IENoYXJhY3RlckRhdGFNb2RpZmllZDogCis9PT09PT09PT09ODw9
PT09PT09PT09Cis8ZGl2IHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiBpZD0i
Y29udGFpbmVyIiBzdHlsZT0iZGlzcGxheTpub25lIj4KKzxwPldlYktpdCBpcyB1c2VkIGJ5IDxh
IGhyZWY9Imh0dHA6Ly93d3cuYXBwbGUuY29tL3NhZmFyaS8iPlNhZmFyaTwvYT4sIERhc2hib2Fy
ZCwgZXRjLjwvcD4KKzxoMj5HZXR0aW5nIG5vdCBpbnZvbHZlZDwvaDI+Cis8cCBpZD0iaWRlbnRp
dHkiPlRoZXJlIGFyZSBtYW55IHdheXMgdG8gZ2V0IGludm9sdmVkLiBZb3UgY2FuOjwvcD4KKzwv
ZGl2PgorPT09PT09PT09PT44PT09PT09PT09PQorCitCcmluZ2luZyB0aGluZ3MgYmFjaworCitX
cmFwcGVyIGlkZW50aXR5OiBpZGVudGl0eQorRXZlbnQgQ2hhcmFjdGVyRGF0YU1vZGlmaWVkOiAK
Kz09PT09PT09PT04PD09PT09PT09PT0KKzxkaXYgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5
OTkveGh0bWwiIGlkPSJjb250YWluZXIiIHN0eWxlPSJkaXNwbGF5Om5vbmUiPgorPHA+V2ViS2l0
IGlzIHVzZWQgYnkgPGEgaHJlZj0iaHR0cDovL3d3dy5hcHBsZS5jb20vc2FmYXJpLyI+U2FmYXJp
PC9hPiwgRGFzaGJvYXJkLCBldGMuPC9wPgorPGgyPkdldHRpbmcgaW52b2x2ZWQ8L2gyPgorPHAg
aWQ9ImlkZW50aXR5Ij5UaGVyZSBhcmUgbWFueSB3YXlzIHRvIGdldCBpbnZvbHZlZC4gWW91IGNh
bjo8L3A+Cis8L2Rpdj4KKz09PT09PT09PT0+OD09PT09PT09PT0KKworCisKKworCitSdW5uaW5n
OiB0ZXN0Q2hhbmdlQXR0cmlidXRlcworUmVwbGFjaW5nICc8YSBocmVmJyB3aXRoICc8YSBmb289
ImJhciIgaHJlZicKKworV3JhcHBlciBpZGVudGl0eTogaWRlbnRpdHkKK0V2ZW50IEF0dHJNb2Rp
ZmllZDogYQorRXZlbnQgQXR0ck1vZGlmaWVkOiBhCitFdmVudCBBdHRyUmVtb3ZlZDogYQorPT09
PT09PT09PTg8PT09PT09PT09PQorPGRpdiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94
aHRtbCIgaWQ9ImNvbnRhaW5lciIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+Cis8cD5XZWJLaXQgaXMg
dXNlZCBieSA8YSBmb289ImJhciIgaHJlZj0iaHR0cDovL3d3dy5hcHBsZS5jb20vc2FmYXJpLyI+
U2FmYXJpPC9hPiwgRGFzaGJvYXJkLCBldGMuPC9wPgorPGgyPkdldHRpbmcgaW52b2x2ZWQ8L2gy
PgorPHAgaWQ9ImlkZW50aXR5Ij5UaGVyZSBhcmUgbWFueSB3YXlzIHRvIGdldCBpbnZvbHZlZC4g
WW91IGNhbjo8L3A+Cis8L2Rpdj4KKz09PT09PT09PT0+OD09PT09PT09PT0KKworQnJpbmdpbmcg
dGhpbmdzIGJhY2sKKworV3JhcHBlciBpZGVudGl0eTogaWRlbnRpdHkKK0V2ZW50IEF0dHJNb2Rp
ZmllZDogYQorRXZlbnQgQXR0clJlbW92ZWQ6IGEKK0V2ZW50IEF0dHJSZW1vdmVkOiBhCis9PT09
PT09PT09ODw9PT09PT09PT09Cis8ZGl2IHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3ho
dG1sIiBpZD0iY29udGFpbmVyIiBzdHlsZT0iZGlzcGxheTpub25lIj4KKzxwPldlYktpdCBpcyB1
c2VkIGJ5IDxhIGhyZWY9Imh0dHA6Ly93d3cuYXBwbGUuY29tL3NhZmFyaS8iPlNhZmFyaTwvYT4s
IERhc2hib2FyZCwgZXRjLjwvcD4KKzxoMj5HZXR0aW5nIGludm9sdmVkPC9oMj4KKzxwIGlkPSJp
ZGVudGl0eSI+VGhlcmUgYXJlIG1hbnkgd2F5cyB0byBnZXQgaW52b2x2ZWQuIFlvdSBjYW46PC9w
PgorPC9kaXY+Cis9PT09PT09PT09Pjg9PT09PT09PT09CisKKworCisKKworUnVubmluZzogdGVz
dFJlbW92ZUxhc3RDaGlsZAorUmVwbGFjaW5nICdHZXR0aW5nIGludm9sdmVkJyB3aXRoICcnCisK
K1dyYXBwZXIgaWRlbnRpdHk6IGlkZW50aXR5CitFdmVudCBOb2RlUmVtb3ZlZDogCis9PT09PT09
PT09ODw9PT09PT09PT09Cis8ZGl2IHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1s
IiBpZD0iY29udGFpbmVyIiBzdHlsZT0iZGlzcGxheTpub25lIj4KKzxwPldlYktpdCBpcyB1c2Vk
IGJ5IDxhIGhyZWY9Imh0dHA6Ly93d3cuYXBwbGUuY29tL3NhZmFyaS8iPlNhZmFyaTwvYT4sIERh
c2hib2FyZCwgZXRjLjwvcD4KKzxoMj48L2gyPgorPHAgaWQ9ImlkZW50aXR5Ij5UaGVyZSBhcmUg
bWFueSB3YXlzIHRvIGdldCBpbnZvbHZlZC4gWW91IGNhbjo8L3A+Cis8L2Rpdj4KKz09PT09PT09
PT0+OD09PT09PT09PT0KKworQnJpbmdpbmcgdGhpbmdzIGJhY2sKKworV3JhcHBlciBpZGVudGl0
eTogaWRlbnRpdHkKK0V2ZW50IE5vZGVJbnNlcnRlZDogCis9PT09PT09PT09ODw9PT09PT09PT09
Cis8ZGl2IHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiBpZD0iY29udGFpbmVy
IiBzdHlsZT0iZGlzcGxheTpub25lIj4KKzxwPldlYktpdCBpcyB1c2VkIGJ5IDxhIGhyZWY9Imh0
dHA6Ly93d3cuYXBwbGUuY29tL3NhZmFyaS8iPlNhZmFyaTwvYT4sIERhc2hib2FyZCwgZXRjLjwv
cD4KKzxoMj5HZXR0aW5nIGludm9sdmVkPC9oMj4KKzxwIGlkPSJpZGVudGl0eSI+VGhlcmUgYXJl
IG1hbnkgd2F5cyB0byBnZXQgaW52b2x2ZWQuIFlvdSBjYW46PC9wPgorPC9kaXY+Cis9PT09PT09
PT09Pjg9PT09PT09PT09CisKKworCisKKworUnVubmluZzogdGVzdFNwbGl0Tm9kZQorUmVwbGFj
aW5nICdHZXR0aW5nIGludm9sdmVkJyB3aXRoICdHZXR0aW5nPC9oMj48aDI+aW52b2x2ZWQnCisK
K1dyYXBwZXIgaWRlbnRpdHk6IGlkZW50aXR5CitFdmVudCBOb2RlSW5zZXJ0ZWQ6IGgyCitFdmVu
dCBOb2RlSW5zZXJ0ZWQ6IGgyCitFdmVudCBOb2RlUmVtb3ZlZDogaDIKKz09PT09PT09PT04PD09
PT09PT09PT0KKzxkaXYgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiIGlkPSJj
b250YWluZXIiIHN0eWxlPSJkaXNwbGF5Om5vbmUiPgorPHA+V2ViS2l0IGlzIHVzZWQgYnkgPGEg
aHJlZj0iaHR0cDovL3d3dy5hcHBsZS5jb20vc2FmYXJpLyI+U2FmYXJpPC9hPiwgRGFzaGJvYXJk
LCBldGMuPC9wPgorPGgyPkdldHRpbmc8L2gyPjxoMj5pbnZvbHZlZDwvaDI+Cis8cCBpZD0iaWRl
bnRpdHkiPlRoZXJlIGFyZSBtYW55IHdheXMgdG8gZ2V0IGludm9sdmVkLiBZb3UgY2FuOjwvcD4K
KzwvZGl2PgorPT09PT09PT09PT44PT09PT09PT09PQorCitCcmluZ2luZyB0aGluZ3MgYmFjawor
CitXcmFwcGVyIGlkZW50aXR5OiBpZGVudGl0eQorRXZlbnQgTm9kZUluc2VydGVkOiBoMgorRXZl
bnQgTm9kZVJlbW92ZWQ6IGgyCitFdmVudCBOb2RlUmVtb3ZlZDogaDIKKz09PT09PT09PT04PD09
PT09PT09PT0KKzxkaXYgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiIGlkPSJj
b250YWluZXIiIHN0eWxlPSJkaXNwbGF5Om5vbmUiPgorPHA+V2ViS2l0IGlzIHVzZWQgYnkgPGEg
aHJlZj0iaHR0cDovL3d3dy5hcHBsZS5jb20vc2FmYXJpLyI+U2FmYXJpPC9hPiwgRGFzaGJvYXJk
LCBldGMuPC9wPgorPGgyPkdldHRpbmcgaW52b2x2ZWQ8L2gyPgorPHAgaWQ9ImlkZW50aXR5Ij5U
aGVyZSBhcmUgbWFueSB3YXlzIHRvIGdldCBpbnZvbHZlZC4gWW91IGNhbjo8L3A+Cis8L2Rpdj4K
Kz09PT09PT09PT0+OD09PT09PT09PT0KKworCisKKworCitSdW5uaW5nOiB0ZXN0Q2hhbmdlTm9k
ZU5hbWUKK1JlcGxhY2luZyAnPGgyPkdldHRpbmcgaW52b2x2ZWQ8L2gyPicgd2l0aCAnPGgzPkdl
dHRpbmcgaW52b2x2ZWQ8L2gzPicKKworV3JhcHBlciBpZGVudGl0eTogaWRlbnRpdHkKK0V2ZW50
IE5vZGVJbnNlcnRlZDogaDMKK0V2ZW50IE5vZGVSZW1vdmVkOiBoMgorPT09PT09PT09PTg8PT09
PT09PT09PQorPGRpdiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCIgaWQ9ImNv
bnRhaW5lciIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+Cis8cD5XZWJLaXQgaXMgdXNlZCBieSA8YSBo
cmVmPSJodHRwOi8vd3d3LmFwcGxlLmNvbS9zYWZhcmkvIj5TYWZhcmk8L2E+LCBEYXNoYm9hcmQs
IGV0Yy48L3A+Cis8aDM+R2V0dGluZyBpbnZvbHZlZDwvaDM+Cis8cCBpZD0iaWRlbnRpdHkiPlRo
ZXJlIGFyZSBtYW55IHdheXMgdG8gZ2V0IGludm9sdmVkLiBZb3UgY2FuOjwvcD4KKzwvZGl2Pgor
PT09PT09PT09PT44PT09PT09PT09PQorCitCcmluZ2luZyB0aGluZ3MgYmFjaworCitXcmFwcGVy
IGlkZW50aXR5OiBpZGVudGl0eQorRXZlbnQgTm9kZUluc2VydGVkOiBoMgorRXZlbnQgTm9kZVJl
bW92ZWQ6IGgzCis9PT09PT09PT09ODw9PT09PT09PT09Cis8ZGl2IHhtbG5zPSJodHRwOi8vd3d3
LnczLm9yZy8xOTk5L3hodG1sIiBpZD0iY29udGFpbmVyIiBzdHlsZT0iZGlzcGxheTpub25lIj4K
KzxwPldlYktpdCBpcyB1c2VkIGJ5IDxhIGhyZWY9Imh0dHA6Ly93d3cuYXBwbGUuY29tL3NhZmFy
aS8iPlNhZmFyaTwvYT4sIERhc2hib2FyZCwgZXRjLjwvcD4KKzxoMj5HZXR0aW5nIGludm9sdmVk
PC9oMj4KKzxwIGlkPSJpZGVudGl0eSI+VGhlcmUgYXJlIG1hbnkgd2F5cyB0byBnZXQgaW52b2x2
ZWQuIFlvdSBjYW46PC9wPgorPC9kaXY+Cis9PT09PT09PT09Pjg9PT09PT09PT09CisKKworCisK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2VsZW1lbnRzL3Nl
dC1vdXRlci1odG1sLWZvci14aHRtbC54aHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNv
bGV0ZS9lbGVtZW50cy9zZXQtb3V0ZXItaHRtbC1mb3IteGh0bWwueGh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
YzAyMGFjMjVkMTk1ZTQ1M2M2ZTQ1OWI5YzUwMGJmMDMyZjQ1NTZmYQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9lbGVtZW50cy9zZXQtb3V0ZXItaHRt
bC1mb3IteGh0bWwueGh0bWwKQEAgLTAsMCArMSw2NiBAQAorPGh0bWwgeG1sbnM9Imh0dHA6Ly93
d3cudzMub3JnLzE5OTkveGh0bWwiPgorPGhlYWQ+CisKKzxzY3JpcHQgc3JjPSIuLi8uLi9odHRw
L3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMtdGVzdC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0ic2V0LW91dGVyLWh0bWwtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
PgorLy88IVtDREFUQVsKKworZnVuY3Rpb24gb25sb2FkKCkKK3sKKyAgICBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiaWRlbnRpdHkiKS53cmFwcGVySWRlbnRpdHkgPSAiaWRlbnRpdHkiOworICAg
IHJ1blRlc3QoKTsKK30KKworZnVuY3Rpb24gdGVzdCgpCit7CisgICAgSW5zcGVjdG9yVGVzdC5y
dW5UZXN0U3VpdGUoWworICAgICAgICBmdW5jdGlvbiB0ZXN0U2V0VXAobmV4dCkKKyAgICAgICAg
eworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5zZXRVcFRlc3RTdWl0ZShuZXh0KTsKKyAgICAg
ICAgfSwKKworICAgICAgICBmdW5jdGlvbiB0ZXN0Q2hhbmdlQ2hhcmFjdGVyRGF0YShuZXh0KQor
ICAgICAgICB7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LnBhdGNoT3V0ZXJIVE1MKCJHZXR0
aW5nIGludm9sdmVkIiwgIkdldHRpbmcgbm90IGludm9sdmVkIiwgbmV4dCk7CisgICAgICAgIH0s
CisKKyAgICAgICAgZnVuY3Rpb24gdGVzdENoYW5nZUF0dHJpYnV0ZXMobmV4dCkKKyAgICAgICAg
eworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5wYXRjaE91dGVySFRNTCgiPGEgaHJlZiIsICI8
YSBmb289XCJiYXJcIiBocmVmIiwgbmV4dCk7CisgICAgICAgIH0sCisKKyAgICAgICAgZnVuY3Rp
b24gdGVzdFJlbW92ZUxhc3RDaGlsZChuZXh0KQorICAgICAgICB7CisgICAgICAgICAgICBJbnNw
ZWN0b3JUZXN0LnBhdGNoT3V0ZXJIVE1MKCJHZXR0aW5nIGludm9sdmVkIiwgIiIsIG5leHQpOwor
ICAgICAgICB9LAorCisgICAgICAgIGZ1bmN0aW9uIHRlc3RTcGxpdE5vZGUobmV4dCkKKyAgICAg
ICAgeworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5wYXRjaE91dGVySFRNTCgiR2V0dGluZyBp
bnZvbHZlZCIsICJHZXR0aW5nPC9oMj48aDI+aW52b2x2ZWQiLCBuZXh0KTsKKyAgICAgICAgfSwK
KworICAgICAgICBmdW5jdGlvbiB0ZXN0Q2hhbmdlTm9kZU5hbWUobmV4dCkKKyAgICAgICAgewor
ICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5wYXRjaE91dGVySFRNTCgiPGgyPkdldHRpbmcgaW52
b2x2ZWQ8L2gyPiIsICI8aDM+R2V0dGluZyBpbnZvbHZlZDwvaDM+IiwgbmV4dCk7CisgICAgICAg
IH0KKyAgICBdKTsKK30KKy8vXV0+Cis8L3NjcmlwdD4KKzwvaGVhZD4KKworPGJvZHkgb25sb2Fk
PSJvbmxvYWQoKSI+Cis8cD4KK1Rlc3RzIERPTUFnZW50LnNldE91dGVySFRNTCBwcm90b2NvbCBt
ZXRob2QgYWdhaW5zdCBhbiBYSFRNTCBkb2N1bWVudC4KKzwvcD4KKworPGRpdiBpZD0iY29udGFp
bmVyIiBzdHlsZT0iZGlzcGxheTpub25lIj4KKzxwPldlYktpdCBpcyB1c2VkIGJ5IDxhIGhyZWY9
Imh0dHA6Ly93d3cuYXBwbGUuY29tL3NhZmFyaS8iPlNhZmFyaTwvYT4sIERhc2hib2FyZCwgZXRj
LjwvcD4KKzxoMj5HZXR0aW5nIGludm9sdmVkPC9oMj4KKzxwIGlkPSJpZGVudGl0eSI+VGhlcmUg
YXJlIG1hbnkgd2F5cyB0byBnZXQgaW52b2x2ZWQuIFlvdSBjYW46PC9wPgorPC9kaXY+CisKKzwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0
ZS9lbGVtZW50cy9zZXQtb3V0ZXItaHRtbC10ZXN0LmpzIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
LW9ic29sZXRlL2VsZW1lbnRzL3NldC1vdXRlci1odG1sLXRlc3QuanMKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGYz
MWYxMWI1MWZjNWI5YjQ3MGE5ODk1NGJiYzk0Y2ZlMmNkYzZlYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9lbGVtZW50cy9zZXQtb3V0ZXItaHRtbC10
ZXN0LmpzCkBAIC0wLDAgKzEsMTExIEBACit2YXIgaW5pdGlhbGl6ZV9TZXRPdXRlckhUTUxUZXN0
ID0gZnVuY3Rpb24oKSB7CisKK0luc3BlY3RvclRlc3QuZXZlbnRzID0gW107CitJbnNwZWN0b3JU
ZXN0LmNvbnRhaW5lcklkOworCitJbnNwZWN0b3JUZXN0LnNldFVwVGVzdFN1aXRlID0gZnVuY3Rp
b24obmV4dCkKK3sKKyAgICBJbnNwZWN0b3JUZXN0LmV4cGFuZEVsZW1lbnRzVHJlZShzdGVwMSk7
CisKKyAgICBmdW5jdGlvbiBzdGVwMSgpCisgICAgeworICAgICAgICBJbnNwZWN0b3JUZXN0LnNl
bGVjdE5vZGVXaXRoSWQoImNvbnRhaW5lciIsIHN0ZXAyKTsKKyAgICB9CisKKyAgICBmdW5jdGlv
biBzdGVwMihub2RlKQorICAgIHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5jb250YWluZXJJZCA9
IG5vZGUuaWQ7CisgICAgICAgIERPTUFnZW50LmdldE91dGVySFRNTChJbnNwZWN0b3JUZXN0LmNv
bnRhaW5lcklkLCBzdGVwMyk7CisgICAgfQorCisgICAgZnVuY3Rpb24gc3RlcDMoZXJyb3IsIHRl
eHQpCisgICAgeworICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbnRhaW5lclRleHQgPSB0ZXh0Owor
CisgICAgICAgIGZvciAodmFyIGtleSBpbiBXZWJJbnNwZWN0b3IuRE9NQWdlbnQuRXZlbnRzKSB7
CisgICAgICAgICAgICB2YXIgZXZlbnROYW1lID0gV2ViSW5zcGVjdG9yLkRPTUFnZW50LkV2ZW50
c1trZXldOworICAgICAgICAgICAgV2ViSW5zcGVjdG9yLmRvbUFnZW50LmFkZEV2ZW50TGlzdGVu
ZXIoZXZlbnROYW1lLCBJbnNwZWN0b3JUZXN0LnJlY29yZEV2ZW50LmJpbmQoSW5zcGVjdG9yVGVz
dCwgZXZlbnROYW1lKSk7CisgICAgICAgIH0KKworICAgICAgICBuZXh0KCk7CisgICAgfQorfQor
CitJbnNwZWN0b3JUZXN0LnJlY29yZEV2ZW50ID0gZnVuY3Rpb24oZXZlbnROYW1lLCBldmVudCkK
K3sKKyAgICBpZiAoIWV2ZW50LmRhdGEpCisgICAgICAgIHJldHVybjsKKyAgICB2YXIgbm9kZSA9
IGV2ZW50LmRhdGEubm9kZSB8fCBldmVudC5kYXRhOworICAgIHZhciBwYXJlbnQgPSBldmVudC5k
YXRhLnBhcmVudDsKKyAgICBmb3IgKHZhciBjdXJyZW50Tm9kZSA9IHBhcmVudCB8fCBub2RlOyBj
dXJyZW50Tm9kZTsgY3VycmVudE5vZGUgPSBjdXJyZW50Tm9kZS5wYXJlbnROb2RlKSB7CisgICAg
ICAgIGlmIChjdXJyZW50Tm9kZS5nZXRBdHRyaWJ1dGUoImlkIikgPT09ICJvdXRwdXQiKQorICAg
ICAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICBJbnNwZWN0b3JUZXN0LmV2ZW50cy5wdXNoKCJF
dmVudCAiICsgZXZlbnROYW1lICsgIjogIiArIG5vZGUubm9kZU5hbWUoKSk7Cit9CisKK0luc3Bl
Y3RvclRlc3QucGF0Y2hPdXRlckhUTUwgPSBmdW5jdGlvbihwYXR0ZXJuLCByZXBsYWNlbWVudCwg
bmV4dCkKK3sKKyAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiUmVwbGFjaW5nICciICsgcGF0
dGVybiArICInIHdpdGggJyIgKyByZXBsYWNlbWVudCArICInXG4iKTsKKyAgICBJbnNwZWN0b3JU
ZXN0LnNldE91dGVySFRNTChJbnNwZWN0b3JUZXN0LmNvbnRhaW5lclRleHQucmVwbGFjZShwYXR0
ZXJuLCByZXBsYWNlbWVudCksIG5leHQpOworfQorCitJbnNwZWN0b3JUZXN0LnBhdGNoT3V0ZXJI
VE1MVXNlVW5kbyA9IGZ1bmN0aW9uKHBhdHRlcm4sIHJlcGxhY2VtZW50LCBuZXh0KQoreworICAg
IEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJSZXBsYWNpbmcgJyIgKyBwYXR0ZXJuICsgIicgd2l0
aCAnIiArIHJlcGxhY2VtZW50ICsgIidcbiIpOworICAgIEluc3BlY3RvclRlc3Quc2V0T3V0ZXJI
VE1MVXNlVW5kbyhJbnNwZWN0b3JUZXN0LmNvbnRhaW5lclRleHQucmVwbGFjZShwYXR0ZXJuLCBy
ZXBsYWNlbWVudCksIG5leHQpOworfQorCitJbnNwZWN0b3JUZXN0LnNldE91dGVySFRNTCA9IGZ1
bmN0aW9uKG5ld1RleHQsIG5leHQpCit7CisgICAgSW5zcGVjdG9yVGVzdC5pbm5lclNldE91dGVy
SFRNTChuZXdUZXh0LCBmYWxzZSwgYnJpbmdCYWNrKTsKKworICAgIGZ1bmN0aW9uIGJyaW5nQmFj
aygpCisgICAgeworICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiXG5CcmluZ2luZyB0
aGluZ3MgYmFja1xuIik7CisgICAgICAgIEluc3BlY3RvclRlc3QuaW5uZXJTZXRPdXRlckhUTUwo
SW5zcGVjdG9yVGVzdC5jb250YWluZXJUZXh0LCB0cnVlLCBuZXh0KTsKKyAgICB9Cit9CisKK0lu
c3BlY3RvclRlc3Quc2V0T3V0ZXJIVE1MVXNlVW5kbyA9IGZ1bmN0aW9uKG5ld1RleHQsIG5leHQp
Cit7CisgICAgSW5zcGVjdG9yVGVzdC5pbm5lclNldE91dGVySFRNTChuZXdUZXh0LCBmYWxzZSwg
YnJpbmdCYWNrKTsKKworICAgIGZ1bmN0aW9uIGJyaW5nQmFjaygpCisgICAgeworICAgICAgICBJ
bnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiXG5CcmluZ2luZyB0aGluZ3MgYmFja1xuIik7CisgICAg
ICAgIFdlYkluc3BlY3Rvci5kb21BZ2VudC51bmRvKEluc3BlY3RvclRlc3QuX2R1bXBPdXRlckhU
TUwuYmluZChJbnNwZWN0b3JUZXN0LCB0cnVlLCBuZXh0KSk7CisgICAgfQorfQorCitJbnNwZWN0
b3JUZXN0LmlubmVyU2V0T3V0ZXJIVE1MID0gZnVuY3Rpb24obmV3VGV4dCwgbGFzdCwgbmV4dCkK
K3sKKyAgICBET01BZ2VudC5zZXRPdXRlckhUTUwoSW5zcGVjdG9yVGVzdC5jb250YWluZXJJZCwg
bmV3VGV4dCwgSW5zcGVjdG9yVGVzdC5fZHVtcE91dGVySFRNTC5iaW5kKEluc3BlY3RvclRlc3Qs
IGxhc3QsIG5leHQpKTsKK30KKworSW5zcGVjdG9yVGVzdC5fZHVtcE91dGVySFRNTCA9IGZ1bmN0
aW9uKGxhc3QsIG5leHQpCit7CisgICAgUnVudGltZUFnZW50LmV2YWx1YXRlKCJkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZChcImlkZW50aXR5XCIpLndyYXBwZXJJZGVudGl0eSIsIGR1bXBJZGVudGl0
eSk7CisgICAgZnVuY3Rpb24gZHVtcElkZW50aXR5KGVycm9yLCByZXN1bHQpCisgICAgeworICAg
ICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiV3JhcHBlciBpZGVudGl0eTogIiArIHJlc3Vs
dC52YWx1ZSk7CisgICAgICAgIEluc3BlY3RvclRlc3QuZXZlbnRzLnNvcnQoKTsKKyAgICAgICAg
Zm9yICh2YXIgaSA9IDA7IGkgPCBJbnNwZWN0b3JUZXN0LmV2ZW50cy5sZW5ndGg7ICsraSkKKyAg
ICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KEluc3BlY3RvclRlc3QuZXZlbnRzW2ld
KTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmVudHMgPSBbXTsKKyAgICB9CisKKyAgICBET01B
Z2VudC5nZXRPdXRlckhUTUwoSW5zcGVjdG9yVGVzdC5jb250YWluZXJJZCwgY2FsbGJhY2spOwor
CisgICAgZnVuY3Rpb24gY2FsbGJhY2soZXJyb3IsIHRleHQpCisgICAgeworICAgICAgICBJbnNw
ZWN0b3JUZXN0LmFkZFJlc3VsdCgiPT09PT09PT09PTg8PT09PT09PT09PSIpOworICAgICAgICBJ
bnNwZWN0b3JUZXN0LmFkZFJlc3VsdCh0ZXh0KTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRS
ZXN1bHQoIj09PT09PT09PT0+OD09PT09PT09PT0iKTsKKyAgICAgICAgaWYgKGxhc3QpCisgICAg
ICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiXG5cblxuIik7CisgICAgICAgIG5leHQo
KTsKKyAgICB9Cit9CisKK307CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jz
b2xldGUvZWxlbWVudHMvc2V0LW91dGVyLWh0bWwuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rv
ci1vYnNvbGV0ZS9lbGVtZW50cy9zZXQtb3V0ZXItaHRtbC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyY2U3
OGE4N2VlZGFmNDM5NWM2YTIzN2UwMWVkMTQ3NDZiNzQ0MGQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZWxlbWVudHMvc2V0LW91dGVyLWh0bWwuaHRt
bApAQCAtMCwwICsxLDY0IEBACis8aHRtbD4KKzxoZWFkPgorCis8c2NyaXB0IHNyYz0iLi4vLi4v
aHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzLXRlc3QuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9InNldC1vdXRlci1odG1sLXRlc3QuanMiPjwvc2NyaXB0PgorPHNj
cmlwdD4KKworZnVuY3Rpb24gb25sb2FkKCkKK3sKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiaWRlbnRpdHkiKS53cmFwcGVySWRlbnRpdHkgPSAiaWRlbnRpdHkiOworICAgIHJ1blRlc3Qo
KTsKK30KKworZnVuY3Rpb24gdGVzdCgpCit7CisgICAgSW5zcGVjdG9yVGVzdC5ydW5UZXN0U3Vp
dGUoWworICAgICAgICBmdW5jdGlvbiB0ZXN0U2V0VXAobmV4dCkKKyAgICAgICAgeworICAgICAg
ICAgICAgSW5zcGVjdG9yVGVzdC5zZXRVcFRlc3RTdWl0ZShuZXh0KTsKKyAgICAgICAgfSwKKwor
ICAgICAgICBmdW5jdGlvbiB0ZXN0Q2hhbmdlQ2hhcmFjdGVyRGF0YShuZXh0KQorICAgICAgICB7
CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LnBhdGNoT3V0ZXJIVE1MKCJHZXR0aW5nIGludm9s
dmVkIiwgIkdldHRpbmcgbm90IGludm9sdmVkIiwgbmV4dCk7CisgICAgICAgIH0sCisKKyAgICAg
ICAgZnVuY3Rpb24gdGVzdENoYW5nZUF0dHJpYnV0ZXMobmV4dCkKKyAgICAgICAgeworICAgICAg
ICAgICAgSW5zcGVjdG9yVGVzdC5wYXRjaE91dGVySFRNTCgiPGEgaHJlZiIsICI8YSBmb289XCJi
YXJcIiBocmVmIiwgbmV4dCk7CisgICAgICAgIH0sCisKKyAgICAgICAgZnVuY3Rpb24gdGVzdFJl
bW92ZUxhc3RDaGlsZChuZXh0KQorICAgICAgICB7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0
LnBhdGNoT3V0ZXJIVE1MKCJHZXR0aW5nIGludm9sdmVkIiwgIiIsIG5leHQpOworICAgICAgICB9
LAorCisgICAgICAgIGZ1bmN0aW9uIHRlc3RTcGxpdE5vZGUobmV4dCkKKyAgICAgICAgeworICAg
ICAgICAgICAgSW5zcGVjdG9yVGVzdC5wYXRjaE91dGVySFRNTCgiR2V0dGluZyBpbnZvbHZlZCIs
ICJHZXR0aW5nPC9oMj48aDI+aW52b2x2ZWQiLCBuZXh0KTsKKyAgICAgICAgfSwKKworICAgICAg
ICBmdW5jdGlvbiB0ZXN0Q2hhbmdlTm9kZU5hbWUobmV4dCkKKyAgICAgICAgeworICAgICAgICAg
ICAgSW5zcGVjdG9yVGVzdC5wYXRjaE91dGVySFRNTCgiPGgyPkdldHRpbmcgaW52b2x2ZWQ8L2gy
PiIsICI8aDM+R2V0dGluZyBpbnZvbHZlZDwvaDM+IiwgbmV4dCk7CisgICAgICAgIH0KKyAgICBd
KTsKK30KKzwvc2NyaXB0PgorPC9oZWFkPgorCis8Ym9keSBvbmxvYWQ9Im9ubG9hZCgpIj4KKzxw
PgorVGVzdHMgRE9NQWdlbnQuc2V0T3V0ZXJIVE1MIHByb3RvY29sIG1ldGhvZC4KKzwvcD4KKwor
PGRpdiBpZD0iY29udGFpbmVyIiBzdHlsZT0iZGlzcGxheTpub25lIj4KKzxwPldlYktpdCBpcyB1
c2VkIGJ5IDxhIGhyZWY9Imh0dHA6Ly93d3cuYXBwbGUuY29tL3NhZmFyaS8iPlNhZmFyaTwvYT4s
IERhc2hib2FyZCwgZXRjLjwvYT4uPC9wPgorPGgyPkdldHRpbmcgaW52b2x2ZWQ8L2gyPgorPHAg
aWQ9ImlkZW50aXR5Ij5UaGVyZSBhcmUgbWFueSB3YXlzIHRvIGdldCBpbnZvbHZlZC4gWW91IGNh
bjo8L3A+Cis8L2Rpdj4KKworPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yLW9ic29sZXRlL2VsZW1lbnRzL3VuZG8tc2V0LW91dGVyLWh0bWwtMi1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZWxlbWVudHMvdW5kby1z
ZXQtb3V0ZXItaHRtbC0yLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iNjQ2YTgwOTg1NDRmMzM5
Zjg4NDM4YTcyYTI1YzM2OWY2NDMyN2I3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yLW9ic29sZXRlL2VsZW1lbnRzL3VuZG8tc2V0LW91dGVyLWh0bWwtMi1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwyMTQgQEAKK1Rlc3RzIHVuZG8gZm9yIHRoZSBET01BZ2VudC5zZXRP
dXRlckhUTUwgcHJvdG9jb2wgbWV0aG9kIChwYXJ0IDIpLgorCisKK1J1bm5pbmc6IHRlc3RTZXRV
cAorCitSdW5uaW5nOiB0ZXN0Q2hhbmdlTXVsdGlwbGVUaGluZ3MKK1dyYXBwZXIgaWRlbnRpdHk6
IGlkZW50aXR5CitFdmVudCBBdHRyTW9kaWZpZWQ6IEgyCitFdmVudCBBdHRyTW9kaWZpZWQ6IEgy
CitFdmVudCBOb2RlSW5zZXJ0ZWQ6IFVMCitFdmVudCBOb2RlUmVtb3ZlZDogVUwKKz09PT09PT09
PT04PD09PT09PT09PT0KKzxkaXYgaWQ9ImNvbnRhaW5lciIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+
Cis8cD5XZWJLaXQgaXMgdXNlZCBieSA8YSBocmVmPSJodHRwOi8vd3d3LmFwcGxlLmNvbS9zYWZh
cmkvIj5TYWZhcmk8L2E+LCBEYXNoYm9hcmQsIGV0Yy4uPC9wPgorPGgyIGZvbz0iYmFyIiBiYXI9
ImJheiI+R2V0dGluZyBpbnZvbHZlZDwvaDI+Cis8cCBpZD0iaWRlbnRpdHkiPlRoZXJlIGFyZSBt
YW55IHdheXMgdG8gZ2V0IGludm9sdmVkLiBZb3UgY2FuOjwvcD4KKzx1bD4KKyAgIAorPC91bD4K
Kzx1bD4KKyAgIDxsaT48L2xpPgorPC91bD4KKzwvZGl2PgorPT09PT09PT09PT44PT09PT09PT09
PQorCitCcmluZ2luZyB0aGluZ3MgYmFjaworCitXcmFwcGVyIGlkZW50aXR5OiBpZGVudGl0eQor
RXZlbnQgQXR0clJlbW92ZWQ6IEgyCitFdmVudCBBdHRyUmVtb3ZlZDogSDIKK0V2ZW50IE5vZGVJ
bnNlcnRlZDogVUwKK0V2ZW50IE5vZGVSZW1vdmVkOiBVTAorPT09PT09PT09PTg8PT09PT09PT09
PQorPGRpdiBpZD0iY29udGFpbmVyIiBzdHlsZT0iZGlzcGxheTpub25lIj4KKzxwPldlYktpdCBp
cyB1c2VkIGJ5IDxhIGhyZWY9Imh0dHA6Ly93d3cuYXBwbGUuY29tL3NhZmFyaS8iPlNhZmFyaTwv
YT4sIERhc2hib2FyZCwgZXRjLi48L3A+Cis8aDI+R2V0dGluZyBpbnZvbHZlZDwvaDI+Cis8cCBp
ZD0iaWRlbnRpdHkiPlRoZXJlIGFyZSBtYW55IHdheXMgdG8gZ2V0IGludm9sdmVkLiBZb3UgY2Fu
OjwvcD4KKzx1bD4KKyAgIDxsaT48L2xpPgorPC91bD4KKzx1bD4KKyAgIDxsaT48L2xpPgorPC91
bD4KKzwvZGl2PgorPT09PT09PT09PT44PT09PT09PT09PQorCisKKworCisKK1J1bm5pbmc6IHRl
c3RDaGFuZ2VOZXN0aW5nTGV2ZWwKK1dyYXBwZXIgaWRlbnRpdHk6IGlkZW50aXR5CitFdmVudCBO
b2RlSW5zZXJ0ZWQ6IERJVgorRXZlbnQgTm9kZVJlbW92ZWQ6IFVMCis9PT09PT09PT09ODw9PT09
PT09PT09Cis8ZGl2IGlkPSJjb250YWluZXIiIHN0eWxlPSJkaXNwbGF5Om5vbmUiPgorPHA+V2Vi
S2l0IGlzIHVzZWQgYnkgPGEgaHJlZj0iaHR0cDovL3d3dy5hcHBsZS5jb20vc2FmYXJpLyI+U2Fm
YXJpPC9hPiwgRGFzaGJvYXJkLCBldGMuLjwvcD4KKzxoMj5HZXR0aW5nIGludm9sdmVkPC9oMj4K
KzxwIGlkPSJpZGVudGl0eSI+VGhlcmUgYXJlIG1hbnkgd2F5cyB0byBnZXQgaW52b2x2ZWQuIFlv
dSBjYW46PC9wPgorPGRpdj48dWw+CisgICA8bGk+PC9saT4KKzwvdWw+PC9kaXY+Cis8dWw+Cisg
ICA8bGk+PC9saT4KKzwvdWw+Cis8L2Rpdj4KKz09PT09PT09PT0+OD09PT09PT09PT0KKworQnJp
bmdpbmcgdGhpbmdzIGJhY2sKKworV3JhcHBlciBpZGVudGl0eTogaWRlbnRpdHkKK0V2ZW50IE5v
ZGVJbnNlcnRlZDogVUwKK0V2ZW50IE5vZGVSZW1vdmVkOiBESVYKKz09PT09PT09PT04PD09PT09
PT09PT0KKzxkaXYgaWQ9ImNvbnRhaW5lciIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+Cis8cD5XZWJL
aXQgaXMgdXNlZCBieSA8YSBocmVmPSJodHRwOi8vd3d3LmFwcGxlLmNvbS9zYWZhcmkvIj5TYWZh
cmk8L2E+LCBEYXNoYm9hcmQsIGV0Yy4uPC9wPgorPGgyPkdldHRpbmcgaW52b2x2ZWQ8L2gyPgor
PHAgaWQ9ImlkZW50aXR5Ij5UaGVyZSBhcmUgbWFueSB3YXlzIHRvIGdldCBpbnZvbHZlZC4gWW91
IGNhbjo8L3A+Cis8dWw+CisgICA8bGk+PC9saT4KKzwvdWw+Cis8dWw+CisgICA8bGk+PC9saT4K
KzwvdWw+Cis8L2Rpdj4KKz09PT09PT09PT0+OD09PT09PT09PT0KKworCisKKworCitSdW5uaW5n
OiB0ZXN0U3dhcE5vZGVzCitXcmFwcGVyIGlkZW50aXR5OiBpZGVudGl0eQorRXZlbnQgTm9kZUlu
c2VydGVkOiBIMgorRXZlbnQgTm9kZVJlbW92ZWQ6IEgyCis9PT09PT09PT09ODw9PT09PT09PT09
Cis8ZGl2IGlkPSJjb250YWluZXIiIHN0eWxlPSJkaXNwbGF5Om5vbmUiPgorPHA+V2ViS2l0IGlz
IHVzZWQgYnkgPGEgaHJlZj0iaHR0cDovL3d3dy5hcHBsZS5jb20vc2FmYXJpLyI+U2FmYXJpPC9h
PiwgRGFzaGJvYXJkLCBldGMuLjwvcD4KKworPHAgaWQ9ImlkZW50aXR5Ij5UaGVyZSBhcmUgbWFu
eSB3YXlzIHRvIGdldCBpbnZvbHZlZC4gWW91IGNhbjo8L3A+Cis8dWw+CisgICA8bGk+PC9saT4K
KzwvdWw+Cis8dWw+CisgICA8bGk+PC9saT4KKzwvdWw+Cis8aDI+R2V0dGluZyBpbnZvbHZlZDwv
aDI+PC9kaXY+Cis9PT09PT09PT09Pjg9PT09PT09PT09CisKK0JyaW5naW5nIHRoaW5ncyBiYWNr
CisKK1dyYXBwZXIgaWRlbnRpdHk6IGlkZW50aXR5CitFdmVudCBOb2RlSW5zZXJ0ZWQ6IEgyCitF
dmVudCBOb2RlUmVtb3ZlZDogSDIKKz09PT09PT09PT04PD09PT09PT09PT0KKzxkaXYgaWQ9ImNv
bnRhaW5lciIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+Cis8cD5XZWJLaXQgaXMgdXNlZCBieSA8YSBo
cmVmPSJodHRwOi8vd3d3LmFwcGxlLmNvbS9zYWZhcmkvIj5TYWZhcmk8L2E+LCBEYXNoYm9hcmQs
IGV0Yy4uPC9wPgorPGgyPkdldHRpbmcgaW52b2x2ZWQ8L2gyPgorPHAgaWQ9ImlkZW50aXR5Ij5U
aGVyZSBhcmUgbWFueSB3YXlzIHRvIGdldCBpbnZvbHZlZC4gWW91IGNhbjo8L3A+Cis8dWw+Cisg
ICA8bGk+PC9saT4KKzwvdWw+Cis8dWw+CisgICA8bGk+PC9saT4KKzwvdWw+Cis8L2Rpdj4KKz09
PT09PT09PT0+OD09PT09PT09PT0KKworCisKKworCitSdW5uaW5nOiB0ZXN0RWRpdFR3b1Jvb3Rz
CitXcmFwcGVyIGlkZW50aXR5OiBpZGVudGl0eQorRXZlbnQgTm9kZUluc2VydGVkOiBESVYKKz09
PT09PT09PT04PD09PT09PT09PT0KKzxkaXYgaWQ9ImNvbnRhaW5lciIgc3R5bGU9ImRpc3BsYXk6
bm9uZSI+Cis8cD5XZWJLaXQgaXMgdXNlZCBieSA8YSBocmVmPSJodHRwOi8vd3d3LmFwcGxlLmNv
bS9zYWZhcmkvIj5TYWZhcmk8L2E+LCBEYXNoYm9hcmQsIGV0Yy4uPC9wPgorPGgyPkdldHRpbmcg
aW52b2x2ZWQ8L2gyPgorPHAgaWQ9ImlkZW50aXR5Ij5UaGVyZSBhcmUgbWFueSB3YXlzIHRvIGdl
dCBpbnZvbHZlZC4gWW91IGNhbjo8L3A+Cis8dWw+CisgICA8bGk+PC9saT4KKzwvdWw+Cis8dWw+
CisgICA8bGk+PC9saT4KKzwvdWw+Cis8L2Rpdj4KKz09PT09PT09PT0+OD09PT09PT09PT0KKwor
QnJpbmdpbmcgdGhpbmdzIGJhY2sKKworV3JhcHBlciBpZGVudGl0eTogaWRlbnRpdHkKK0V2ZW50
IE5vZGVSZW1vdmVkOiBESVYKKz09PT09PT09PT04PD09PT09PT09PT0KKzxkaXYgaWQ9ImNvbnRh
aW5lciIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+Cis8cD5XZWJLaXQgaXMgdXNlZCBieSA8YSBocmVm
PSJodHRwOi8vd3d3LmFwcGxlLmNvbS9zYWZhcmkvIj5TYWZhcmk8L2E+LCBEYXNoYm9hcmQsIGV0
Yy4uPC9wPgorPGgyPkdldHRpbmcgaW52b2x2ZWQ8L2gyPgorPHAgaWQ9ImlkZW50aXR5Ij5UaGVy
ZSBhcmUgbWFueSB3YXlzIHRvIGdldCBpbnZvbHZlZC4gWW91IGNhbjo8L3A+Cis8dWw+CisgICA8
bGk+PC9saT4KKzwvdWw+Cis8dWw+CisgICA8bGk+PC9saT4KKzwvdWw+Cis8L2Rpdj4KKz09PT09
PT09PT0+OD09PT09PT09PT0KKworCisKKworCitSdW5uaW5nOiB0ZXN0RHVwZU5vZGUKK1JlcGxh
Y2luZyAnPGgyPkdldHRpbmcgaW52b2x2ZWQ8L2gyPicgd2l0aCAnPGgyPkdldHRpbmcgaW52b2x2
ZWQ8L2gyPjxoMj5HZXR0aW5nIGludm9sdmVkPC9oMj4nCisKK1dyYXBwZXIgaWRlbnRpdHk6IGlk
ZW50aXR5CitFdmVudCBOb2RlSW5zZXJ0ZWQ6IEgyCitFdmVudCBOb2RlSW5zZXJ0ZWQ6IEgyCitF
dmVudCBOb2RlUmVtb3ZlZDogSDIKKz09PT09PT09PT04PD09PT09PT09PT0KKzxkaXYgaWQ9ImNv
bnRhaW5lciIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+Cis8cD5XZWJLaXQgaXMgdXNlZCBieSA8YSBo
cmVmPSJodHRwOi8vd3d3LmFwcGxlLmNvbS9zYWZhcmkvIj5TYWZhcmk8L2E+LCBEYXNoYm9hcmQs
IGV0Yy4uPC9wPgorPGgyPkdldHRpbmcgaW52b2x2ZWQ8L2gyPjxoMj5HZXR0aW5nIGludm9sdmVk
PC9oMj4KKzxwIGlkPSJpZGVudGl0eSI+VGhlcmUgYXJlIG1hbnkgd2F5cyB0byBnZXQgaW52b2x2
ZWQuIFlvdSBjYW46PC9wPgorPHVsPgorICAgPGxpPjwvbGk+Cis8L3VsPgorPHVsPgorICAgPGxp
PjwvbGk+Cis8L3VsPgorPC9kaXY+Cis9PT09PT09PT09Pjg9PT09PT09PT09CisKK0JyaW5naW5n
IHRoaW5ncyBiYWNrCisKK1dyYXBwZXIgaWRlbnRpdHk6IGlkZW50aXR5CitFdmVudCBOb2RlUmVt
b3ZlZDogSDIKKz09PT09PT09PT04PD09PT09PT09PT0KKzxkaXYgaWQ9ImNvbnRhaW5lciIgc3R5
bGU9ImRpc3BsYXk6bm9uZSI+Cis8cD5XZWJLaXQgaXMgdXNlZCBieSA8YSBocmVmPSJodHRwOi8v
d3d3LmFwcGxlLmNvbS9zYWZhcmkvIj5TYWZhcmk8L2E+LCBEYXNoYm9hcmQsIGV0Yy4uPC9wPgor
PGgyPkdldHRpbmcgaW52b2x2ZWQ8L2gyPgorPHAgaWQ9ImlkZW50aXR5Ij5UaGVyZSBhcmUgbWFu
eSB3YXlzIHRvIGdldCBpbnZvbHZlZC4gWW91IGNhbjo8L3A+Cis8dWw+CisgICA8bGk+PC9saT4K
KzwvdWw+Cis8dWw+CisgICA8bGk+PC9saT4KKzwvdWw+Cis8L2Rpdj4KKz09PT09PT09PT0+OD09
PT09PT09PT0KKworCisKKworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jz
b2xldGUvZWxlbWVudHMvdW5kby1zZXQtb3V0ZXItaHRtbC0yLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bnNwZWN0b3Itb2Jzb2xldGUvZWxlbWVudHMvdW5kby1zZXQtb3V0ZXItaHRtbC0yLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uYTE3YmE5OTUxYmU5YzRjZjgyMGRiOGRhM2ZmZjUwOTRjOGM3Y2EwOAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9lbGVtZW50cy91bmRv
LXNldC1vdXRlci1odG1sLTIuaHRtbApAQCAtMCwwICsxLDc3IEBACis8aHRtbD4KKzxoZWFkPgor
Cis8c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3Qu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2Vs
ZW1lbnRzLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InNldC1vdXRlci1odG1sLXRl
c3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKworZnVuY3Rpb24gb25sb2FkKCkKK3sKKyAgICBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaWRlbnRpdHkiKS53cmFwcGVySWRlbnRpdHkgPSAiaWRl
bnRpdHkiOworICAgIHJ1blRlc3QoKTsKK30KKworZnVuY3Rpb24gdGVzdCgpCit7CisgICAgSW5z
cGVjdG9yVGVzdC5ydW5UZXN0U3VpdGUoWworICAgICAgICBmdW5jdGlvbiB0ZXN0U2V0VXAobmV4
dCkKKyAgICAgICAgeworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5zZXRVcFRlc3RTdWl0ZShu
ZXh0KTsKKyAgICAgICAgfSwKKworICAgICAgICBmdW5jdGlvbiB0ZXN0Q2hhbmdlTXVsdGlwbGVU
aGluZ3MobmV4dCkKKyAgICAgICAgeworICAgICAgICAgICAgdmFyIHRleHQgPSBJbnNwZWN0b3JU
ZXN0LmNvbnRhaW5lclRleHQucmVwbGFjZSgvPGxpPi4qPFwvbGk+LywgIiIpOworICAgICAgICAg
ICAgdGV4dCA9IHRleHQucmVwbGFjZSgiPGgyPiIsICI8aDIgZm9vPVwiYmFyXCIgYmFyPVwiYmF6
XCI+Iik7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LnNldE91dGVySFRNTFVzZVVuZG8odGV4
dCwgbmV4dCk7CisgICAgICAgIH0sCisKKyAgICAgICAgZnVuY3Rpb24gdGVzdENoYW5nZU5lc3Rp
bmdMZXZlbChuZXh0KQorICAgICAgICB7CisgICAgICAgICAgICB2YXIgdGV4dCA9IEluc3BlY3Rv
clRlc3QuY29udGFpbmVyVGV4dC5yZXBsYWNlKCI8dWw+IiwgIjxkaXY+PHVsPiIpOworICAgICAg
ICAgICAgdmFyIHRleHQgPSB0ZXh0LnJlcGxhY2UoIjwvdWw+IiwgIjwvdWw+PC9kaXY+Iik7Cisg
ICAgICAgICAgICBJbnNwZWN0b3JUZXN0LnNldE91dGVySFRNTFVzZVVuZG8odGV4dCwgbmV4dCk7
CisgICAgICAgIH0sCisKKyAgICAgICAgZnVuY3Rpb24gdGVzdFN3YXBOb2RlcyhuZXh0KQorICAg
ICAgICB7CisgICAgICAgICAgICB2YXIgdGV4dCA9IEluc3BlY3RvclRlc3QuY29udGFpbmVyVGV4
dC5yZXBsYWNlKCI8aDI+R2V0dGluZyBpbnZvbHZlZDwvaDI+IiwgIiIpOworICAgICAgICAgICAg
dmFyIHRleHQgPSB0ZXh0LnJlcGxhY2UoIjwvZGl2PiIsICI8aDI+R2V0dGluZyBpbnZvbHZlZDwv
aDI+PC9kaXY+Iik7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LnNldE91dGVySFRNTFVzZVVu
ZG8odGV4dCwgbmV4dCk7CisgICAgICAgIH0sCisKKyAgICAgICAgZnVuY3Rpb24gdGVzdEVkaXRU
d29Sb290cyhuZXh0KQorICAgICAgICB7CisgICAgICAgICAgICB2YXIgdGV4dCA9IEluc3BlY3Rv
clRlc3QuY29udGFpbmVyVGV4dCArICI8ZGl2PkFkZGl0aW9uYWwgbm9kZTwvZGl2PiI7CisgICAg
ICAgICAgICBJbnNwZWN0b3JUZXN0LnNldE91dGVySFRNTFVzZVVuZG8odGV4dCwgbmV4dCk7Cisg
ICAgICAgIH0sCisKKyAgICAgICAgZnVuY3Rpb24gdGVzdER1cGVOb2RlKG5leHQpCisgICAgICAg
IHsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QucGF0Y2hPdXRlckhUTUwoIjxoMj5HZXR0aW5n
IGludm9sdmVkPC9oMj4iLCAiPGgyPkdldHRpbmcgaW52b2x2ZWQ8L2gyPjxoMj5HZXR0aW5nIGlu
dm9sdmVkPC9oMj4iLCBuZXh0KTsKKyAgICAgICAgfQorICAgIF0pOworfQorPC9zY3JpcHQ+Cis8
L2hlYWQ+CisKKzxib2R5IG9ubG9hZD0ib25sb2FkKCkiPgorPHA+CitUZXN0cyB1bmRvIGZvciB0
aGUgRE9NQWdlbnQuc2V0T3V0ZXJIVE1MIHByb3RvY29sIG1ldGhvZCAocGFydCAyKS4KKzwvcD4K
KworPGRpdiBpZD0iY29udGFpbmVyIiBzdHlsZT0iZGlzcGxheTpub25lIj4KKzxwPldlYktpdCBp
cyB1c2VkIGJ5IDxhIGhyZWY9Imh0dHA6Ly93d3cuYXBwbGUuY29tL3NhZmFyaS8iPlNhZmFyaTwv
YT4sIERhc2hib2FyZCwgZXRjLi48L3A+Cis8aDI+R2V0dGluZyBpbnZvbHZlZDwvaDI+Cis8cCBp
ZD0iaWRlbnRpdHkiPlRoZXJlIGFyZSBtYW55IHdheXMgdG8gZ2V0IGludm9sdmVkLiBZb3UgY2Fu
OjwvcD4KKzx1bD4KKyAgIDxsaT48L2xpPgorPC91bD4KKzx1bD4KKyAgIDxsaT48L2xpPgorPC91
bD4KKzwvZGl2PgorCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bnNwZWN0b3Itb2Jzb2xldGUvZWxlbWVudHMvdW5kby1zZXQtb3V0ZXItaHRtbC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZWxlbWVudHMvdW5kby1zZXQtb3V0
ZXItaHRtbC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzlmNjBmOWU1MDM2MDQwMjNlNDY4ZGU1
ZjIxMDViNzcwYjZiZmE3NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rv
ci1vYnNvbGV0ZS9lbGVtZW50cy91bmRvLXNldC1vdXRlci1odG1sLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDE2MCBAQAorVGVzdHMgdW5kbyBmb3IgdGhlIERPTUFnZW50LnNldE91dGVySFRNTCBw
cm90b2NvbCBtZXRob2QuCisKKworUnVubmluZzogdGVzdFNldFVwCisKK1J1bm5pbmc6IHRlc3RD
aGFuZ2VDaGFyYWN0ZXJEYXRhCitSZXBsYWNpbmcgJ0dldHRpbmcgaW52b2x2ZWQnIHdpdGggJ0dl
dHRpbmcgbm90IGludm9sdmVkJworCitXcmFwcGVyIGlkZW50aXR5OiBpZGVudGl0eQorRXZlbnQg
Q2hhcmFjdGVyRGF0YU1vZGlmaWVkOiAKKz09PT09PT09PT04PD09PT09PT09PT0KKzxkaXYgaWQ9
ImNvbnRhaW5lciIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+Cis8cD5XZWJLaXQgaXMgdXNlZCBieSA8
YSBocmVmPSJodHRwOi8vd3d3LmFwcGxlLmNvbS9zYWZhcmkvIj5TYWZhcmk8L2E+LCBEYXNoYm9h
cmQsIGV0Yy4uPC9wPgorPGgyPkdldHRpbmcgbm90IGludm9sdmVkPC9oMj4KKzxwIGlkPSJpZGVu
dGl0eSI+VGhlcmUgYXJlIG1hbnkgd2F5cyB0byBnZXQgaW52b2x2ZWQuIFlvdSBjYW46PC9wPgor
PC9kaXY+Cis9PT09PT09PT09Pjg9PT09PT09PT09CisKK0JyaW5naW5nIHRoaW5ncyBiYWNrCisK
K1dyYXBwZXIgaWRlbnRpdHk6IGlkZW50aXR5CitFdmVudCBDaGFyYWN0ZXJEYXRhTW9kaWZpZWQ6
IAorPT09PT09PT09PTg8PT09PT09PT09PQorPGRpdiBpZD0iY29udGFpbmVyIiBzdHlsZT0iZGlz
cGxheTpub25lIj4KKzxwPldlYktpdCBpcyB1c2VkIGJ5IDxhIGhyZWY9Imh0dHA6Ly93d3cuYXBw
bGUuY29tL3NhZmFyaS8iPlNhZmFyaTwvYT4sIERhc2hib2FyZCwgZXRjLi48L3A+Cis8aDI+R2V0
dGluZyBpbnZvbHZlZDwvaDI+Cis8cCBpZD0iaWRlbnRpdHkiPlRoZXJlIGFyZSBtYW55IHdheXMg
dG8gZ2V0IGludm9sdmVkLiBZb3UgY2FuOjwvcD4KKzwvZGl2PgorPT09PT09PT09PT44PT09PT09
PT09PQorCisKKworCisKK1J1bm5pbmc6IHRlc3RDaGFuZ2VBdHRyaWJ1dGVzCitSZXBsYWNpbmcg
JzxhIGhyZWYnIHdpdGggJzxhIGZvbz0iYmFyIiBocmVmJworCitXcmFwcGVyIGlkZW50aXR5OiBp
ZGVudGl0eQorRXZlbnQgQXR0ck1vZGlmaWVkOiBBCitFdmVudCBBdHRyTW9kaWZpZWQ6IEEKK0V2
ZW50IEF0dHJSZW1vdmVkOiBBCis9PT09PT09PT09ODw9PT09PT09PT09Cis8ZGl2IGlkPSJjb250
YWluZXIiIHN0eWxlPSJkaXNwbGF5Om5vbmUiPgorPHA+V2ViS2l0IGlzIHVzZWQgYnkgPGEgZm9v
PSJiYXIiIGhyZWY9Imh0dHA6Ly93d3cuYXBwbGUuY29tL3NhZmFyaS8iPlNhZmFyaTwvYT4sIERh
c2hib2FyZCwgZXRjLi48L3A+Cis8aDI+R2V0dGluZyBpbnZvbHZlZDwvaDI+Cis8cCBpZD0iaWRl
bnRpdHkiPlRoZXJlIGFyZSBtYW55IHdheXMgdG8gZ2V0IGludm9sdmVkLiBZb3UgY2FuOjwvcD4K
KzwvZGl2PgorPT09PT09PT09PT44PT09PT09PT09PQorCitCcmluZ2luZyB0aGluZ3MgYmFjawor
CitXcmFwcGVyIGlkZW50aXR5OiBpZGVudGl0eQorRXZlbnQgQXR0ck1vZGlmaWVkOiBBCitFdmVu
dCBBdHRyUmVtb3ZlZDogQQorRXZlbnQgQXR0clJlbW92ZWQ6IEEKKz09PT09PT09PT04PD09PT09
PT09PT0KKzxkaXYgaWQ9ImNvbnRhaW5lciIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+Cis8cD5XZWJL
aXQgaXMgdXNlZCBieSA8YSBocmVmPSJodHRwOi8vd3d3LmFwcGxlLmNvbS9zYWZhcmkvIj5TYWZh
cmk8L2E+LCBEYXNoYm9hcmQsIGV0Yy4uPC9wPgorPGgyPkdldHRpbmcgaW52b2x2ZWQ8L2gyPgor
PHAgaWQ9ImlkZW50aXR5Ij5UaGVyZSBhcmUgbWFueSB3YXlzIHRvIGdldCBpbnZvbHZlZC4gWW91
IGNhbjo8L3A+Cis8L2Rpdj4KKz09PT09PT09PT0+OD09PT09PT09PT0KKworCisKKworCitSdW5u
aW5nOiB0ZXN0UmVtb3ZlTGFzdENoaWxkCitSZXBsYWNpbmcgJ0dldHRpbmcgaW52b2x2ZWQnIHdp
dGggJycKKworV3JhcHBlciBpZGVudGl0eTogaWRlbnRpdHkKK0V2ZW50IE5vZGVSZW1vdmVkOiAK
Kz09PT09PT09PT04PD09PT09PT09PT0KKzxkaXYgaWQ9ImNvbnRhaW5lciIgc3R5bGU9ImRpc3Bs
YXk6bm9uZSI+Cis8cD5XZWJLaXQgaXMgdXNlZCBieSA8YSBocmVmPSJodHRwOi8vd3d3LmFwcGxl
LmNvbS9zYWZhcmkvIj5TYWZhcmk8L2E+LCBEYXNoYm9hcmQsIGV0Yy4uPC9wPgorPGgyPjwvaDI+
Cis8cCBpZD0iaWRlbnRpdHkiPlRoZXJlIGFyZSBtYW55IHdheXMgdG8gZ2V0IGludm9sdmVkLiBZ
b3UgY2FuOjwvcD4KKzwvZGl2PgorPT09PT09PT09PT44PT09PT09PT09PQorCitCcmluZ2luZyB0
aGluZ3MgYmFjaworCitXcmFwcGVyIGlkZW50aXR5OiBpZGVudGl0eQorRXZlbnQgTm9kZUluc2Vy
dGVkOiAKKz09PT09PT09PT04PD09PT09PT09PT0KKzxkaXYgaWQ9ImNvbnRhaW5lciIgc3R5bGU9
ImRpc3BsYXk6bm9uZSI+Cis8cD5XZWJLaXQgaXMgdXNlZCBieSA8YSBocmVmPSJodHRwOi8vd3d3
LmFwcGxlLmNvbS9zYWZhcmkvIj5TYWZhcmk8L2E+LCBEYXNoYm9hcmQsIGV0Yy4uPC9wPgorPGgy
PkdldHRpbmcgaW52b2x2ZWQ8L2gyPgorPHAgaWQ9ImlkZW50aXR5Ij5UaGVyZSBhcmUgbWFueSB3
YXlzIHRvIGdldCBpbnZvbHZlZC4gWW91IGNhbjo8L3A+Cis8L2Rpdj4KKz09PT09PT09PT0+OD09
PT09PT09PT0KKworCisKKworCitSdW5uaW5nOiB0ZXN0U3BsaXROb2RlCitSZXBsYWNpbmcgJ0dl
dHRpbmcgaW52b2x2ZWQnIHdpdGggJ0dldHRpbmc8L2gyPjxoMj5pbnZvbHZlZCcKKworV3JhcHBl
ciBpZGVudGl0eTogaWRlbnRpdHkKK0V2ZW50IE5vZGVJbnNlcnRlZDogSDIKK0V2ZW50IE5vZGVJ
bnNlcnRlZDogSDIKK0V2ZW50IE5vZGVSZW1vdmVkOiBIMgorPT09PT09PT09PTg8PT09PT09PT09
PQorPGRpdiBpZD0iY29udGFpbmVyIiBzdHlsZT0iZGlzcGxheTpub25lIj4KKzxwPldlYktpdCBp
cyB1c2VkIGJ5IDxhIGhyZWY9Imh0dHA6Ly93d3cuYXBwbGUuY29tL3NhZmFyaS8iPlNhZmFyaTwv
YT4sIERhc2hib2FyZCwgZXRjLi48L3A+Cis8aDI+R2V0dGluZzwvaDI+PGgyPmludm9sdmVkPC9o
Mj4KKzxwIGlkPSJpZGVudGl0eSI+VGhlcmUgYXJlIG1hbnkgd2F5cyB0byBnZXQgaW52b2x2ZWQu
IFlvdSBjYW46PC9wPgorPC9kaXY+Cis9PT09PT09PT09Pjg9PT09PT09PT09CisKK0JyaW5naW5n
IHRoaW5ncyBiYWNrCisKK1dyYXBwZXIgaWRlbnRpdHk6IGlkZW50aXR5CitFdmVudCBOb2RlSW5z
ZXJ0ZWQ6IEgyCitFdmVudCBOb2RlUmVtb3ZlZDogSDIKK0V2ZW50IE5vZGVSZW1vdmVkOiBIMgor
PT09PT09PT09PTg8PT09PT09PT09PQorPGRpdiBpZD0iY29udGFpbmVyIiBzdHlsZT0iZGlzcGxh
eTpub25lIj4KKzxwPldlYktpdCBpcyB1c2VkIGJ5IDxhIGhyZWY9Imh0dHA6Ly93d3cuYXBwbGUu
Y29tL3NhZmFyaS8iPlNhZmFyaTwvYT4sIERhc2hib2FyZCwgZXRjLi48L3A+Cis8aDI+R2V0dGlu
ZyBpbnZvbHZlZDwvaDI+Cis8cCBpZD0iaWRlbnRpdHkiPlRoZXJlIGFyZSBtYW55IHdheXMgdG8g
Z2V0IGludm9sdmVkLiBZb3UgY2FuOjwvcD4KKzwvZGl2PgorPT09PT09PT09PT44PT09PT09PT09
PQorCisKKworCisKK1J1bm5pbmc6IHRlc3RDaGFuZ2VOb2RlTmFtZQorUmVwbGFjaW5nICc8aDI+
R2V0dGluZyBpbnZvbHZlZDwvaDI+JyB3aXRoICc8aDM+R2V0dGluZyBpbnZvbHZlZDwvaDM+Jwor
CitXcmFwcGVyIGlkZW50aXR5OiBpZGVudGl0eQorRXZlbnQgTm9kZUluc2VydGVkOiBIMworRXZl
bnQgTm9kZVJlbW92ZWQ6IEgyCis9PT09PT09PT09ODw9PT09PT09PT09Cis8ZGl2IGlkPSJjb250
YWluZXIiIHN0eWxlPSJkaXNwbGF5Om5vbmUiPgorPHA+V2ViS2l0IGlzIHVzZWQgYnkgPGEgaHJl
Zj0iaHR0cDovL3d3dy5hcHBsZS5jb20vc2FmYXJpLyI+U2FmYXJpPC9hPiwgRGFzaGJvYXJkLCBl
dGMuLjwvcD4KKzxoMz5HZXR0aW5nIGludm9sdmVkPC9oMz4KKzxwIGlkPSJpZGVudGl0eSI+VGhl
cmUgYXJlIG1hbnkgd2F5cyB0byBnZXQgaW52b2x2ZWQuIFlvdSBjYW46PC9wPgorPC9kaXY+Cis9
PT09PT09PT09Pjg9PT09PT09PT09CisKK0JyaW5naW5nIHRoaW5ncyBiYWNrCisKK1dyYXBwZXIg
aWRlbnRpdHk6IGlkZW50aXR5CitFdmVudCBOb2RlSW5zZXJ0ZWQ6IEgyCitFdmVudCBOb2RlUmVt
b3ZlZDogSDMKKz09PT09PT09PT04PD09PT09PT09PT0KKzxkaXYgaWQ9ImNvbnRhaW5lciIgc3R5
bGU9ImRpc3BsYXk6bm9uZSI+Cis8cD5XZWJLaXQgaXMgdXNlZCBieSA8YSBocmVmPSJodHRwOi8v
d3d3LmFwcGxlLmNvbS9zYWZhcmkvIj5TYWZhcmk8L2E+LCBEYXNoYm9hcmQsIGV0Yy4uPC9wPgor
PGgyPkdldHRpbmcgaW52b2x2ZWQ8L2gyPgorPHAgaWQ9ImlkZW50aXR5Ij5UaGVyZSBhcmUgbWFu
eSB3YXlzIHRvIGdldCBpbnZvbHZlZC4gWW91IGNhbjo8L3A+Cis8L2Rpdj4KKz09PT09PT09PT0+
OD09PT09PT09PT0KKworCisKKworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3It
b2Jzb2xldGUvZWxlbWVudHMvdW5kby1zZXQtb3V0ZXItaHRtbC5odG1sIGIvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yLW9ic29sZXRlL2VsZW1lbnRzL3VuZG8tc2V0LW91dGVyLWh0bWwuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4zMGE1MmU0YTkzZjY1ODBmZDkyMWNjYmRkNzM4YWY3MGM3MDk4OGRhCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2VsZW1lbnRzL3VuZG8t
c2V0LW91dGVyLWh0bWwuaHRtbApAQCAtMCwwICsxLDY0IEBACis8aHRtbD4KKzxoZWFkPgorCis8
c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2VsZW1l
bnRzLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InNldC1vdXRlci1odG1sLXRlc3Qu
anMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKworZnVuY3Rpb24gb25sb2FkKCkKK3sKKyAgICBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiaWRlbnRpdHkiKS53cmFwcGVySWRlbnRpdHkgPSAiaWRlbnRp
dHkiOworICAgIHJ1blRlc3QoKTsKK30KKworZnVuY3Rpb24gdGVzdCgpCit7CisgICAgSW5zcGVj
dG9yVGVzdC5ydW5UZXN0U3VpdGUoWworICAgICAgICBmdW5jdGlvbiB0ZXN0U2V0VXAobmV4dCkK
KyAgICAgICAgeworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5zZXRVcFRlc3RTdWl0ZShuZXh0
KTsKKyAgICAgICAgfSwKKworICAgICAgICBmdW5jdGlvbiB0ZXN0Q2hhbmdlQ2hhcmFjdGVyRGF0
YShuZXh0KQorICAgICAgICB7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LnBhdGNoT3V0ZXJI
VE1MVXNlVW5kbygiR2V0dGluZyBpbnZvbHZlZCIsICJHZXR0aW5nIG5vdCBpbnZvbHZlZCIsIG5l
eHQpOworICAgICAgICB9LAorCisgICAgICAgIGZ1bmN0aW9uIHRlc3RDaGFuZ2VBdHRyaWJ1dGVz
KG5leHQpCisgICAgICAgIHsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QucGF0Y2hPdXRlckhU
TUxVc2VVbmRvKCI8YSBocmVmIiwgIjxhIGZvbz1cImJhclwiIGhyZWYiLCBuZXh0KTsKKyAgICAg
ICAgfSwKKworICAgICAgICBmdW5jdGlvbiB0ZXN0UmVtb3ZlTGFzdENoaWxkKG5leHQpCisgICAg
ICAgIHsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QucGF0Y2hPdXRlckhUTUxVc2VVbmRvKCJH
ZXR0aW5nIGludm9sdmVkIiwgIiIsIG5leHQpOworICAgICAgICB9LAorCisgICAgICAgIGZ1bmN0
aW9uIHRlc3RTcGxpdE5vZGUobmV4dCkKKyAgICAgICAgeworICAgICAgICAgICAgSW5zcGVjdG9y
VGVzdC5wYXRjaE91dGVySFRNTFVzZVVuZG8oIkdldHRpbmcgaW52b2x2ZWQiLCAiR2V0dGluZzwv
aDI+PGgyPmludm9sdmVkIiwgbmV4dCk7CisgICAgICAgIH0sCisKKyAgICAgICAgZnVuY3Rpb24g
dGVzdENoYW5nZU5vZGVOYW1lKG5leHQpCisgICAgICAgIHsKKyAgICAgICAgICAgIEluc3BlY3Rv
clRlc3QucGF0Y2hPdXRlckhUTUxVc2VVbmRvKCI8aDI+R2V0dGluZyBpbnZvbHZlZDwvaDI+Iiwg
IjxoMz5HZXR0aW5nIGludm9sdmVkPC9oMz4iLCBuZXh0KTsKKyAgICAgICAgfQorICAgIF0pOwor
fQorPC9zY3JpcHQ+Cis8L2hlYWQ+CisKKzxib2R5IG9ubG9hZD0ib25sb2FkKCkiPgorPHA+CitU
ZXN0cyB1bmRvIGZvciB0aGUgRE9NQWdlbnQuc2V0T3V0ZXJIVE1MIHByb3RvY29sIG1ldGhvZC4K
KzwvcD4KKworPGRpdiBpZD0iY29udGFpbmVyIiBzdHlsZT0iZGlzcGxheTpub25lIj4KKzxwPldl
YktpdCBpcyB1c2VkIGJ5IDxhIGhyZWY9Imh0dHA6Ly93d3cuYXBwbGUuY29tL3NhZmFyaS8iPlNh
ZmFyaTwvYT4sIERhc2hib2FyZCwgZXRjLjwvYT4uPC9wPgorPGgyPkdldHRpbmcgaW52b2x2ZWQ8
L2gyPgorPHAgaWQ9ImlkZW50aXR5Ij5UaGVyZSBhcmUgbWFueSB3YXlzIHRvIGdldCBpbnZvbHZl
ZC4gWW91IGNhbjo8L3A+Cis8L2Rpdj4KKworPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvYXBwY2FjaGUvYXBwY2Fj
aGUtaWZyYW1lLW1hbmlmZXN0cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3It
b2Jzb2xldGUvaHR0cC10ZXN0cy9hcHBjYWNoZS9hcHBjYWNoZS1pZnJhbWUtbWFuaWZlc3RzLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iMjVjZjc5MmI5MDNlODAzOTI2MTgyY2M2MmU5ZjdjMGEz
YWQzYjI5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRl
L2h0dHAtdGVzdHMvYXBwY2FjaGUvYXBwY2FjaGUtaWZyYW1lLW1hbmlmZXN0cy1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSw4MSBAQAorVGVzdHMgdGhhdCBhcHBsaWNhdGlvbiBjYWNoZSBtb2RlbCBr
ZWVwcyB0cmFjayBvZiBtYW5pZmVzdCB1cmxzIGFuZCBzdGF0dXNlcyBjb3JyZWN0bHkuCisKK0J1
ZyA2NDU4MQorRHVtcGluZyBhcHBsaWNhdGlvbiBjYWNoZSB0cmVlOgorICAgIChlbXB0eSkKK0R1
bXBpbmcgYXBwbGljYXRpb24gY2FjaGUgbW9kZWw6CisgICAgKGVtcHR5KQorCitEdW1waW5nIGFw
cGxpY2F0aW9uIGNhY2hlIHRyZWU6CisgICAgTWFuaWZlc3QgVVJMOiBodHRwOi8vMTI3LjAuMC4x
OjgwMDAvaW5zcGVjdG9yL2FwcGNhY2hlL3Jlc291cmNlcy9tYW5pZmVzdC5waHA/bWFuaWZlc3RJ
ZD0xCisgICAgICAgIEZyYW1lOiBmcmFtZTEgKHBhZ2Utd2l0aC1tYW5pZmVzdC5waHApCitEdW1w
aW5nIGFwcGxpY2F0aW9uIGNhY2hlIG1vZGVsOgorICAgIEZyYW1lOiBmcmFtZTEKKyAgICAgICAg
bWFuaWZlc3QgdXJsOiBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL2FwcGNhY2hlL3Jl
c291cmNlcy9tYW5pZmVzdC5waHA/bWFuaWZlc3RJZD0xCisgICAgICAgIHN0YXR1czogICAgICAg
SURMRQorCitEdW1waW5nIGFwcGxpY2F0aW9uIGNhY2hlIHRyZWU6CisgICAgTWFuaWZlc3QgVVJM
OiBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL2FwcGNhY2hlL3Jlc291cmNlcy9tYW5p
ZmVzdC5waHA/bWFuaWZlc3RJZD0yCisgICAgICAgIEZyYW1lOiBmcmFtZTEgKHBhZ2Utd2l0aC1t
YW5pZmVzdC5waHApCitEdW1waW5nIGFwcGxpY2F0aW9uIGNhY2hlIG1vZGVsOgorICAgIEZyYW1l
OiBmcmFtZTEKKyAgICAgICAgbWFuaWZlc3QgdXJsOiBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5z
cGVjdG9yL2FwcGNhY2hlL3Jlc291cmNlcy9tYW5pZmVzdC5waHA/bWFuaWZlc3RJZD0yCisgICAg
ICAgIHN0YXR1czogICAgICAgSURMRQorCitEdW1waW5nIGFwcGxpY2F0aW9uIGNhY2hlIHRyZWU6
CisgICAgTWFuaWZlc3QgVVJMOiBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL2FwcGNh
Y2hlL3Jlc291cmNlcy9tYW5pZmVzdC5waHA/bWFuaWZlc3RJZD0yCisgICAgICAgIEZyYW1lOiBm
cmFtZTEgKHBhZ2Utd2l0aC1tYW5pZmVzdC5waHApCisgICAgTWFuaWZlc3QgVVJMOiBodHRwOi8v
MTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL2FwcGNhY2hlL3Jlc291cmNlcy9tYW5pZmVzdC5waHA/
bWFuaWZlc3RJZD0xCisgICAgICAgIEZyYW1lOiBmcmFtZTIgKHBhZ2Utd2l0aC1tYW5pZmVzdC5w
aHApCitEdW1waW5nIGFwcGxpY2F0aW9uIGNhY2hlIG1vZGVsOgorICAgIEZyYW1lOiBmcmFtZTEK
KyAgICAgICAgbWFuaWZlc3QgdXJsOiBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL2Fw
cGNhY2hlL3Jlc291cmNlcy9tYW5pZmVzdC5waHA/bWFuaWZlc3RJZD0yCisgICAgICAgIHN0YXR1
czogICAgICAgSURMRQorICAgIEZyYW1lOiBmcmFtZTIKKyAgICAgICAgbWFuaWZlc3QgdXJsOiBo
dHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL2FwcGNhY2hlL3Jlc291cmNlcy9tYW5pZmVz
dC5waHA/bWFuaWZlc3RJZD0xCisgICAgICAgIHN0YXR1czogICAgICAgSURMRQorCitEdW1waW5n
IGFwcGxpY2F0aW9uIGNhY2hlIHRyZWU6CisgICAgTWFuaWZlc3QgVVJMOiBodHRwOi8vMTI3LjAu
MC4xOjgwMDAvaW5zcGVjdG9yL2FwcGNhY2hlL3Jlc291cmNlcy9tYW5pZmVzdC5waHA/bWFuaWZl
c3RJZD0yCisgICAgICAgIEZyYW1lOiBmcmFtZTEgKHBhZ2Utd2l0aC1tYW5pZmVzdC5waHApCisg
ICAgTWFuaWZlc3QgVVJMOiBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL2FwcGNhY2hl
L3Jlc291cmNlcy9tYW5pZmVzdC5waHA/bWFuaWZlc3RJZD0xCisgICAgICAgIEZyYW1lOiBmcmFt
ZTIgKHBhZ2Utd2l0aC1tYW5pZmVzdC5waHApCisgICAgICAgIEZyYW1lOiBmcmFtZTMgKHBhZ2Ut
d2l0aC1tYW5pZmVzdC5waHApCitEdW1waW5nIGFwcGxpY2F0aW9uIGNhY2hlIG1vZGVsOgorICAg
IEZyYW1lOiBmcmFtZTEKKyAgICAgICAgbWFuaWZlc3QgdXJsOiBodHRwOi8vMTI3LjAuMC4xOjgw
MDAvaW5zcGVjdG9yL2FwcGNhY2hlL3Jlc291cmNlcy9tYW5pZmVzdC5waHA/bWFuaWZlc3RJZD0y
CisgICAgICAgIHN0YXR1czogICAgICAgSURMRQorICAgIEZyYW1lOiBmcmFtZTIKKyAgICAgICAg
bWFuaWZlc3QgdXJsOiBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL2FwcGNhY2hlL3Jl
c291cmNlcy9tYW5pZmVzdC5waHA/bWFuaWZlc3RJZD0xCisgICAgICAgIHN0YXR1czogICAgICAg
SURMRQorICAgIEZyYW1lOiBmcmFtZTMKKyAgICAgICAgbWFuaWZlc3QgdXJsOiBodHRwOi8vMTI3
LjAuMC4xOjgwMDAvaW5zcGVjdG9yL2FwcGNhY2hlL3Jlc291cmNlcy9tYW5pZmVzdC5waHA/bWFu
aWZlc3RJZD0xCisgICAgICAgIHN0YXR1czogICAgICAgSURMRQorCitEdW1waW5nIGFwcGxpY2F0
aW9uIGNhY2hlIHRyZWU6CisgICAgTWFuaWZlc3QgVVJMOiBodHRwOi8vMTI3LjAuMC4xOjgwMDAv
aW5zcGVjdG9yL2FwcGNhY2hlL3Jlc291cmNlcy9tYW5pZmVzdC5waHA/bWFuaWZlc3RJZD0yCisg
ICAgICAgIEZyYW1lOiBmcmFtZTEgKHBhZ2Utd2l0aC1tYW5pZmVzdC5waHApCisgICAgTWFuaWZl
c3QgVVJMOiBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL2FwcGNhY2hlL3Jlc291cmNl
cy9tYW5pZmVzdC5waHA/bWFuaWZlc3RJZD0xCisgICAgICAgIEZyYW1lOiBmcmFtZTIgKHBhZ2Ut
d2l0aC1tYW5pZmVzdC5waHApCitEdW1waW5nIGFwcGxpY2F0aW9uIGNhY2hlIG1vZGVsOgorICAg
IEZyYW1lOiBmcmFtZTEKKyAgICAgICAgbWFuaWZlc3QgdXJsOiBodHRwOi8vMTI3LjAuMC4xOjgw
MDAvaW5zcGVjdG9yL2FwcGNhY2hlL3Jlc291cmNlcy9tYW5pZmVzdC5waHA/bWFuaWZlc3RJZD0y
CisgICAgICAgIHN0YXR1czogICAgICAgSURMRQorICAgIEZyYW1lOiBmcmFtZTIKKyAgICAgICAg
bWFuaWZlc3QgdXJsOiBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL2FwcGNhY2hlL3Jl
c291cmNlcy9tYW5pZmVzdC5waHA/bWFuaWZlc3RJZD0xCisgICAgICAgIHN0YXR1czogICAgICAg
SURMRQorCitEdW1waW5nIGFwcGxpY2F0aW9uIGNhY2hlIHRyZWU6CisgICAgTWFuaWZlc3QgVVJM
OiBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL2FwcGNhY2hlL3Jlc291cmNlcy9tYW5p
ZmVzdC5waHA/bWFuaWZlc3RJZD0yCisgICAgICAgIEZyYW1lOiBmcmFtZTEgKHBhZ2Utd2l0aC1t
YW5pZmVzdC5waHApCitEdW1waW5nIGFwcGxpY2F0aW9uIGNhY2hlIG1vZGVsOgorICAgIEZyYW1l
OiBmcmFtZTEKKyAgICAgICAgbWFuaWZlc3QgdXJsOiBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5z
cGVjdG9yL2FwcGNhY2hlL3Jlc291cmNlcy9tYW5pZmVzdC5waHA/bWFuaWZlc3RJZD0yCisgICAg
ICAgIHN0YXR1czogICAgICAgSURMRQorCitEdW1waW5nIGFwcGxpY2F0aW9uIGNhY2hlIHRyZWU6
CisgICAgKGVtcHR5KQorRHVtcGluZyBhcHBsaWNhdGlvbiBjYWNoZSBtb2RlbDoKKyAgICAoZW1w
dHkpCisKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAt
dGVzdHMvYXBwY2FjaGUvYXBwY2FjaGUtaWZyYW1lLW1hbmlmZXN0cy5odG1sIGIvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvYXBwY2FjaGUvYXBwY2FjaGUtaWZyYW1l
LW1hbmlmZXN0cy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjMwZjUzMTMwODUwZTY5MTk0NGMyYmVlZWQxYzk5
YmMzYjI1YzU2YTgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jz
b2xldGUvaHR0cC10ZXN0cy9hcHBjYWNoZS9hcHBjYWNoZS1pZnJhbWUtbWFuaWZlc3RzLmh0bWwK
QEAgLTAsMCArMSwxMDcgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vaW5zcGVj
dG9yLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9ImFwcGNhY2hlLXRlc3QuanMiPjwv
c2NyaXB0PgorPHNjcmlwdD4KK2Z1bmN0aW9uIHRlc3QoKQoreworICAgIHZhciBmcmFtZUlkMTsK
KyAgICB2YXIgZnJhbWVJZDI7CisgICAgdmFyIGZyYW1lSWQzOworCisgICAgV2ViSW5zcGVjdG9y
LnNob3dQYW5lbCgicmVzb3VyY2VzIik7CisgICAgSW5zcGVjdG9yVGVzdC5kdW1wQXBwbGljYXRp
b25DYWNoZSgpOworICAgIEluc3BlY3RvclRlc3QuY3JlYXRlQW5kTmF2aWdhdGVJRnJhbWUoInJl
c291cmNlcy9wYWdlLXdpdGgtbWFuaWZlc3QucGhwP21hbmlmZXN0SWQ9MSIsIHN0ZXAxKTsKKwor
ICAgIGZ1bmN0aW9uIHN0ZXAxKGZyYW1lSWQpCisgICAgeworICAgICAgICBmcmFtZUlkMSA9IGZy
YW1lSWQ7CisgICAgICAgIEluc3BlY3RvclRlc3Qud2FpdEZvckZyYW1lTWFuaWZlc3RVUkxBbmRT
dGF0dXMoZnJhbWVJZDEsICJtYW5pZmVzdC5waHA/bWFuaWZlc3RJZD0xIiwgYXBwbGljYXRpb25D
YWNoZS5JRExFLCBzdGVwMik7CisgICAgfQorCisgICAgZnVuY3Rpb24gc3RlcDIoKQorICAgIHsK
KyAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wQXBwbGljYXRpb25DYWNoZSgpOworICAgICAgICBJ
bnNwZWN0b3JUZXN0Lm5hdmlnYXRlSUZyYW1lKGZyYW1lSWQxLCAicmVzb3VyY2VzL3BhZ2Utd2l0
aC1tYW5pZmVzdC5waHA/bWFuaWZlc3RJZD0yIiwgc3RlcDMpOworICAgIH0KKworICAgIGZ1bmN0
aW9uIHN0ZXAzKCkKKyAgICB7CisgICAgICAgIEluc3BlY3RvclRlc3Qud2FpdEZvckZyYW1lTWFu
aWZlc3RVUkxBbmRTdGF0dXMoZnJhbWVJZDEsICJtYW5pZmVzdC5waHA/bWFuaWZlc3RJZD0yIiwg
YXBwbGljYXRpb25DYWNoZS5JRExFLCBzdGVwNCk7CisgICAgfQorCisgICAgZnVuY3Rpb24gc3Rl
cDQoKQorICAgIHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wQXBwbGljYXRpb25DYWNoZSgp
OworICAgICAgICBJbnNwZWN0b3JUZXN0LmNyZWF0ZUFuZE5hdmlnYXRlSUZyYW1lKCJyZXNvdXJj
ZXMvcGFnZS13aXRoLW1hbmlmZXN0LnBocD9tYW5pZmVzdElkPTEiLCBzdGVwNSk7CisgICAgfQor
CisgICAgZnVuY3Rpb24gc3RlcDUoZnJhbWVJZCkKKyAgICB7CisgICAgICAgIGZyYW1lSWQyID0g
ZnJhbWVJZDsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC53YWl0Rm9yRnJhbWVNYW5pZmVzdFVSTEFu
ZFN0YXR1cyhmcmFtZUlkMiwgIm1hbmlmZXN0LnBocD9tYW5pZmVzdElkPTEiLCBhcHBsaWNhdGlv
bkNhY2hlLklETEUsIHN0ZXA2KTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBzdGVwNigpCisgICAg
eworICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBBcHBsaWNhdGlvbkNhY2hlKCk7CisgICAgICAg
IEluc3BlY3RvclRlc3QuY3JlYXRlQW5kTmF2aWdhdGVJRnJhbWUoInJlc291cmNlcy9wYWdlLXdp
dGgtbWFuaWZlc3QucGhwP21hbmlmZXN0SWQ9MSIsIHN0ZXA3KTsKKyAgICB9CisKKyAgICBmdW5j
dGlvbiBzdGVwNyhmcmFtZUlkKQorICAgIHsKKyAgICAgICAgZnJhbWVJZDMgPSBmcmFtZUlkOwor
ICAgICAgICBJbnNwZWN0b3JUZXN0LndhaXRGb3JGcmFtZU1hbmlmZXN0VVJMQW5kU3RhdHVzKGZy
YW1lSWQzLCAibWFuaWZlc3QucGhwP21hbmlmZXN0SWQ9MSIsIGFwcGxpY2F0aW9uQ2FjaGUuSURM
RSwgc3RlcDgpOworICAgIH0KKworICAgIGZ1bmN0aW9uIHN0ZXA4KCkKKyAgICB7CisgICAgICAg
IEluc3BlY3RvclRlc3Qud2FpdEZvckZyYW1lTWFuaWZlc3RVUkxBbmRTdGF0dXMoZnJhbWVJZDIs
ICJtYW5pZmVzdC5waHA/bWFuaWZlc3RJZD0xIiwgYXBwbGljYXRpb25DYWNoZS5JRExFLCBzdGVw
OSk7CisgICAgfQorCisgICAgZnVuY3Rpb24gc3RlcDkoKQorICAgIHsKKyAgICAgICAgSW5zcGVj
dG9yVGVzdC5kdW1wQXBwbGljYXRpb25DYWNoZSgpOworICAgICAgICBJbnNwZWN0b3JUZXN0LnJl
bW92ZUlGcmFtZShmcmFtZUlkMywgc3RlcDEwKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBzdGVw
MTAoKQorICAgIHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC53YWl0Rm9yRnJhbWVNYW5pZmVzdFVS
TEFuZFN0YXR1cyhmcmFtZUlkMywgIiIsIGFwcGxpY2F0aW9uQ2FjaGUuVU5DQUNIRUQsIHN0ZXAx
MSk7CisgICAgfQorCisgICAgZnVuY3Rpb24gc3RlcDExKCkKKyAgICB7CisgICAgICAgIEluc3Bl
Y3RvclRlc3QuZHVtcEFwcGxpY2F0aW9uQ2FjaGUoKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5y
ZW1vdmVJRnJhbWUoZnJhbWVJZDIsIHN0ZXAxMik7CisgICAgfQorCisgICAgZnVuY3Rpb24gc3Rl
cDEyKCkKKyAgICB7CisgICAgICAgIEluc3BlY3RvclRlc3Qud2FpdEZvckZyYW1lTWFuaWZlc3RV
UkxBbmRTdGF0dXMoZnJhbWVJZDIsICIiLCBhcHBsaWNhdGlvbkNhY2hlLlVOQ0FDSEVELCBzdGVw
MTMpOworICAgIH0KKworICAgIGZ1bmN0aW9uIHN0ZXAxMygpCisgICAgeworICAgICAgICBJbnNw
ZWN0b3JUZXN0LmR1bXBBcHBsaWNhdGlvbkNhY2hlKCk7CisgICAgICAgIEluc3BlY3RvclRlc3Qu
cmVtb3ZlSUZyYW1lKGZyYW1lSWQxLCBzdGVwMTQpOworICAgIH0KKworICAgIGZ1bmN0aW9uIHN0
ZXAxNCgpCisgICAgeworICAgICAgICBJbnNwZWN0b3JUZXN0LndhaXRGb3JGcmFtZU1hbmlmZXN0
VVJMQW5kU3RhdHVzKGZyYW1lSWQxLCAiIiwgYXBwbGljYXRpb25DYWNoZS5VTkNBQ0hFRCwgc3Rl
cDE1KTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBzdGVwMTUoKQorICAgIHsKKyAgICAgICAgSW5z
cGVjdG9yVGVzdC5kdW1wQXBwbGljYXRpb25DYWNoZSgpOworICAgICAgICBJbnNwZWN0b3JUZXN0
LmNvbXBsZXRlVGVzdCgpOworICAgIH0KK30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25s
b2FkPSJydW5UZXN0KCkiPgorPHA+VGVzdHMgdGhhdCBhcHBsaWNhdGlvbiBjYWNoZSBtb2RlbCBr
ZWVwcyB0cmFjayBvZiBtYW5pZmVzdCB1cmxzIGFuZCBzdGF0dXNlcyBjb3JyZWN0bHkuPC9wPgor
PGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY0NTgxIj5C
dWcgNjQ1ODE8L2E+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9hcHBjYWNoZS9hcHBjYWNoZS1tYW5pZmVzdC13
aXRoLW5vbi1leGlzdGluZy1maWxlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rv
ci1vYnNvbGV0ZS9odHRwLXRlc3RzL2FwcGNhY2hlL2FwcGNhY2hlLW1hbmlmZXN0LXdpdGgtbm9u
LWV4aXN0aW5nLWZpbGUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYwMzlmOGI1MmNiOGMwZGMw
ZmNlN2E3ZWQ5NTY3YmYyM2UyZWU3NDYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9p
bnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9hcHBjYWNoZS9hcHBjYWNoZS1tYW5pZmVzdC13
aXRoLW5vbi1leGlzdGluZy1maWxlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE1IEBACitDT05T
T0xFIE1FU1NBR0U6IEFwcGxpY2F0aW9uIENhY2hlIHVwZGF0ZSBmYWlsZWQsIGJlY2F1c2UgaHR0
cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9hcHBjYWNoZS9yZXNvdXJjZXMvbm9uLWV4aXN0
aW5nLWZpbGUgY291bGQgbm90IGJlIGZldGNoZWQuCitUZXN0cyB0aGF0IGFwcGxpY2F0aW9uIGNh
Y2hlIG1vZGVsIGtlZXBzIHRyYWNrIG9mIG1hbmlmZXN0IHVybHMgYW5kIHN0YXR1c2VzIGNvcnJl
Y3RseSB3aGVuIHRoZXJlIGlzIGEgbm9uIGV4aXN0aW5nIGZpbGUgbGlzdGVkIGluIG1hbmlmZXN0
LgorCitCdWcgNjQ1ODEKK0R1bXBpbmcgYXBwbGljYXRpb24gY2FjaGUgdHJlZToKKyAgICAoZW1w
dHkpCitEdW1waW5nIGFwcGxpY2F0aW9uIGNhY2hlIG1vZGVsOgorICAgIChlbXB0eSkKKworRHVt
cGluZyBhcHBsaWNhdGlvbiBjYWNoZSB0cmVlOgorICAgIChlbXB0eSkKK0R1bXBpbmcgYXBwbGlj
YXRpb24gY2FjaGUgbW9kZWw6CisgICAgKGVtcHR5KQorCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL2FwcGNhY2hlL2FwcGNhY2hlLW1hbmlm
ZXN0LXdpdGgtbm9uLWV4aXN0aW5nLWZpbGUuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1v
YnNvbGV0ZS9odHRwLXRlc3RzL2FwcGNhY2hlL2FwcGNhY2hlLW1hbmlmZXN0LXdpdGgtbm9uLWV4
aXN0aW5nLWZpbGUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wMmVhMzJlYTgwMDM3OGQwMWJjNmNmYTZiMDNi
ZWJkZGExNDljMTU3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9i
c29sZXRlL2h0dHAtdGVzdHMvYXBwY2FjaGUvYXBwY2FjaGUtbWFuaWZlc3Qtd2l0aC1ub24tZXhp
c3RpbmctZmlsZS5odG1sCkBAIC0wLDAgKzEsNDIgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9ImFwcGNh
Y2hlLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2Z1bmN0aW9uIHRlc3QoKQoreworICAg
IHZhciBmcmFtZUlkMTsKKyAgICB2YXIgZnJhbWVJZDI7CisgICAgdmFyIGZyYW1lSWQzOworCisg
ICAgV2ViSW5zcGVjdG9yLnNob3dQYW5lbCgicmVzb3VyY2VzIik7CisgICAgSW5zcGVjdG9yVGVz
dC5zdGFydEFwcGxpY2F0aW9uQ2FjaGVTdGF0dXNlc1JlY29yZGluZygpOworICAgIEluc3BlY3Rv
clRlc3QuZHVtcEFwcGxpY2F0aW9uQ2FjaGUoKTsKKyAgICBJbnNwZWN0b3JUZXN0LmNyZWF0ZUFu
ZE5hdmlnYXRlSUZyYW1lKCJyZXNvdXJjZXMvcGFnZS13aXRoLW1hbmlmZXN0LnBocD9tYW5pZmVz
dElkPXdpdGgtbm9uLWV4aXN0aW5nLWZpbGUiLCBzdGVwMSk7CisKKyAgICBmdW5jdGlvbiBzdGVw
MShmcmFtZUlkKQorICAgIHsKKyAgICAgICAgZnJhbWVJZDEgPSBmcmFtZUlkOworICAgICAgICAv
LyBXYWl0aW5nIGZvciBhdCBsZWFzdCB0d28gc3RhdHVzIGV2ZW50cyBub3RpZmljYXRpb25zIGZy
b20gYmFja2VuZCwgdG8gbWFrZSBzdXJlCisgICAgICAgIC8vIHdlIGFyZSBub3QgY29tcGxldGlu
ZyB0ZXN0IGJlZm9yZSBsb2FkaW5nIGFwcGxpY2F0aW9uIGNhY2hlLgorICAgICAgICBJbnNwZWN0
b3JUZXN0LmVuc3VyZUZyYW1lU3RhdHVzRXZlbnRzUmVjZWl2ZWQoZnJhbWVJZCwgMiwgc3RlcDIp
CisgICAgfQorCisgICAgZnVuY3Rpb24gc3RlcDIoKQorICAgIHsKKyAgICAgICAgSW5zcGVjdG9y
VGVzdC53YWl0Rm9yRnJhbWVNYW5pZmVzdFVSTEFuZFN0YXR1cyhmcmFtZUlkMSwgIiIsIGFwcGxp
Y2F0aW9uQ2FjaGUuVU5DQUNIRUQsIHN0ZXAzKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBzdGVw
MygpCisgICAgeworICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBBcHBsaWNhdGlvbkNhY2hlKCk7
CisgICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7CisgICAgfQorfQorPC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Cis8cD5UZXN0cyB0aGF0IGFw
cGxpY2F0aW9uIGNhY2hlIG1vZGVsIGtlZXBzIHRyYWNrIG9mIG1hbmlmZXN0IHVybHMgYW5kIHN0
YXR1c2VzIGNvcnJlY3RseSB3aGVuIHRoZXJlIGlzIGEgbm9uIGV4aXN0aW5nIGZpbGUgbGlzdGVk
IGluIG1hbmlmZXN0LjwvcD4KKzxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD02NDU4MSI+QnVnIDY0NTgxPC9hPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvYXBwY2FjaGUv
YXBwY2FjaGUtc3dhcC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xl
dGUvaHR0cC10ZXN0cy9hcHBjYWNoZS9hcHBjYWNoZS1zd2FwLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43NmRlNmQ2ZDNmODI5NGEzZWE1OWI4N2E5YWNjZWZmYWZmZmUyZWQzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvYXBwY2Fj
aGUvYXBwY2FjaGUtc3dhcC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0MiBAQAorQ09OU09MRSBN
RVNTQUdFOiBsaW5lIDY6IFhIUiBsb2FkZWQ6IDEKK1Rlc3RzIHRoYXQgYXBwbGljYXRpb24gY2Fj
aGUgbW9kZWwga2VlcHMgdHJhY2sgb2YgbWFuaWZlc3QgdXJscyBhbmQgc3RhdHVzZXMgY29ycmVj
dGx5IGFmdGVyIFVQREFURVJFQURZIGV2ZW50IGFuZCBzd2FwQ2FjaGUoKSBjYWxsLgorCitCdWcg
NzIxMjMKK0R1bXBpbmcgYXBwbGljYXRpb24gY2FjaGUgdHJlZToKKyAgICAoZW1wdHkpCitEdW1w
aW5nIGFwcGxpY2F0aW9uIGNhY2hlIG1vZGVsOgorICAgIChlbXB0eSkKKworRHVtcGluZyBhcHBs
aWNhdGlvbiBjYWNoZSB0cmVlOgorICAgIE1hbmlmZXN0IFVSTDogaHR0cDovLzEyNy4wLjAuMTo4
MDAwL2luc3BlY3Rvci9hcHBjYWNoZS9yZXNvdXJjZXMvdmVyc2lvbmVkLW1hbmlmZXN0LnBocAor
ICAgICAgICBGcmFtZTogZnJhbWUxICh3aXRoLXZlcnNpb25lZC1tYW5pZmVzdC5waHApCitEdW1w
aW5nIGFwcGxpY2F0aW9uIGNhY2hlIG1vZGVsOgorICAgIEZyYW1lOiBmcmFtZTEKKyAgICAgICAg
bWFuaWZlc3QgdXJsOiBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL2FwcGNhY2hlL3Jl
c291cmNlcy92ZXJzaW9uZWQtbWFuaWZlc3QucGhwCisgICAgICAgIHN0YXR1czogICAgICAgSURM
RQorCitEdW1waW5nIGFwcGxpY2F0aW9uIGNhY2hlIHRyZWU6CisgICAgTWFuaWZlc3QgVVJMOiBo
dHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL2FwcGNhY2hlL3Jlc291cmNlcy92ZXJzaW9u
ZWQtbWFuaWZlc3QucGhwCisgICAgICAgIEZyYW1lOiBmcmFtZTEgKHdpdGgtdmVyc2lvbmVkLW1h
bmlmZXN0LnBocCkKKyAgICAgICAgRnJhbWU6IGZyYW1lMiAod2l0aC12ZXJzaW9uZWQtbWFuaWZl
c3QucGhwKQorRHVtcGluZyBhcHBsaWNhdGlvbiBjYWNoZSBtb2RlbDoKKyAgICBGcmFtZTogZnJh
bWUxCisgICAgICAgIG1hbmlmZXN0IHVybDogaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rv
ci9hcHBjYWNoZS9yZXNvdXJjZXMvdmVyc2lvbmVkLW1hbmlmZXN0LnBocAorICAgICAgICBzdGF0
dXM6ICAgICAgIFVQREFURVJFQURZCisgICAgRnJhbWU6IGZyYW1lMgorICAgICAgICBtYW5pZmVz
dCB1cmw6IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvYXBwY2FjaGUvcmVzb3VyY2Vz
L3ZlcnNpb25lZC1tYW5pZmVzdC5waHAKKyAgICAgICAgc3RhdHVzOiAgICAgICBVUERBVEVSRUFE
WQorCitEdW1waW5nIGFwcGxpY2F0aW9uIGNhY2hlIHRyZWU6CisgICAgTWFuaWZlc3QgVVJMOiBo
dHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL2FwcGNhY2hlL3Jlc291cmNlcy92ZXJzaW9u
ZWQtbWFuaWZlc3QucGhwCisgICAgICAgIEZyYW1lOiBmcmFtZTEgKHdpdGgtdmVyc2lvbmVkLW1h
bmlmZXN0LnBocCkKKyAgICAgICAgRnJhbWU6IGZyYW1lMiAod2l0aC12ZXJzaW9uZWQtbWFuaWZl
c3QucGhwKQorRHVtcGluZyBhcHBsaWNhdGlvbiBjYWNoZSBtb2RlbDoKKyAgICBGcmFtZTogZnJh
bWUxCisgICAgICAgIG1hbmlmZXN0IHVybDogaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rv
ci9hcHBjYWNoZS9yZXNvdXJjZXMvdmVyc2lvbmVkLW1hbmlmZXN0LnBocAorICAgICAgICBzdGF0
dXM6ICAgICAgIElETEUKKyAgICBGcmFtZTogZnJhbWUyCisgICAgICAgIG1hbmlmZXN0IHVybDog
aHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9hcHBjYWNoZS9yZXNvdXJjZXMvdmVyc2lv
bmVkLW1hbmlmZXN0LnBocAorICAgICAgICBzdGF0dXM6ICAgICAgIFVQREFURVJFQURZCisKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvYXBw
Y2FjaGUvYXBwY2FjaGUtc3dhcC5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRl
L2h0dHAtdGVzdHMvYXBwY2FjaGUvYXBwY2FjaGUtc3dhcC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM3YjJi
YTkwNmI1NWI1Yzk2ZWQ1MjNhNTc5MmFlMjM1ZGJhNzYyMmEKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9hcHBjYWNoZS9hcHBjYWNo
ZS1zd2FwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iYXBwY2FjaGUt
dGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vbmV0d29yay10ZXN0LmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQ+CitmdW5jdGlvbiB0ZXN0KCkKK3sKKyAgICB2YXIgZnJhbWVJZDE7Cisg
ICAgdmFyIGZyYW1lSWQyOworCisgICAgV2ViSW5zcGVjdG9yLnNob3dQYW5lbCgicmVzb3VyY2Vz
Iik7CisgICAgSW5zcGVjdG9yVGVzdC5zdGFydEFwcGxpY2F0aW9uQ2FjaGVTdGF0dXNlc1JlY29y
ZGluZygpOworICAgIEluc3BlY3RvclRlc3QuZHVtcEFwcGxpY2F0aW9uQ2FjaGUoKTsKKyAgICBJ
bnNwZWN0b3JUZXN0LmNyZWF0ZUFuZE5hdmlnYXRlSUZyYW1lKCJyZXNvdXJjZXMvd2l0aC12ZXJz
aW9uZWQtbWFuaWZlc3QucGhwIiwgc3RlcDEpOworCisgICAgZnVuY3Rpb24gc3RlcDEoZnJhbWVJ
ZCkKKyAgICB7CisgICAgICAgIGZyYW1lSWQxID0gZnJhbWVJZDsKKyAgICAgICAgSW5zcGVjdG9y
VGVzdC53YWl0Rm9yRnJhbWVNYW5pZmVzdFVSTEFuZFN0YXR1cyhmcmFtZUlkMSwgInJlc291cmNl
cy92ZXJzaW9uZWQtbWFuaWZlc3QucGhwIiwgYXBwbGljYXRpb25DYWNoZS5JRExFLCBzdGVwMik7
CisgICAgfQorCisgICAgZnVuY3Rpb24gc3RlcDIoKQorICAgIHsKKyAgICAgICAgSW5zcGVjdG9y
VGVzdC5kdW1wQXBwbGljYXRpb25DYWNoZSgpOworICAgICAgICBJbnNwZWN0b3JUZXN0Lm1ha2VT
aW1wbGVYSFIoIkdFVCIsICJyZXNvdXJjZXMvdmVyc2lvbmVkLW1hbmlmZXN0LnBocD9jb21tYW5k
PXN0ZXAiLCB0cnVlLCBzdGVwMyk7CisgICAgfQorCisgICAgZnVuY3Rpb24gc3RlcDMoKQorICAg
IHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5jcmVhdGVBbmROYXZpZ2F0ZUlGcmFtZSgicmVzb3Vy
Y2VzL3dpdGgtdmVyc2lvbmVkLW1hbmlmZXN0LnBocCIsIHN0ZXA0KTsKKyAgICB9CisKKyAgICBm
dW5jdGlvbiBzdGVwNChmcmFtZUlkKQorICAgIHsKKyAgICAgICAgZnJhbWVJZDIgPSBmcmFtZUlk
OworICAgICAgICBJbnNwZWN0b3JUZXN0LndhaXRGb3JGcmFtZU1hbmlmZXN0VVJMQW5kU3RhdHVz
KGZyYW1lSWQxLCAicmVzb3VyY2VzL3ZlcnNpb25lZC1tYW5pZmVzdC5waHAiLCBhcHBsaWNhdGlv
bkNhY2hlLlVQREFURVJFQURZLCBzdGVwNSk7CisgICAgfQorCisgICAgZnVuY3Rpb24gc3RlcDUo
ZnJhbWVJZCkKKyAgICB7CisgICAgICAgIEluc3BlY3RvclRlc3Qud2FpdEZvckZyYW1lTWFuaWZl
c3RVUkxBbmRTdGF0dXMoZnJhbWVJZDIsICJyZXNvdXJjZXMvdmVyc2lvbmVkLW1hbmlmZXN0LnBo
cCIsIGFwcGxpY2F0aW9uQ2FjaGUuVVBEQVRFUkVBRFksIHN0ZXA2KTsKKyAgICB9CisKKyAgICBm
dW5jdGlvbiBzdGVwNigpCisgICAgeworICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBBcHBsaWNh
dGlvbkNhY2hlKCk7CisKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5zd2FwRnJhbWVDYWNoZShmcmFt
ZUlkMSk7CisgICAgICAgIEluc3BlY3RvclRlc3Qud2FpdEZvckZyYW1lTWFuaWZlc3RVUkxBbmRT
dGF0dXMoZnJhbWVJZDEsICJyZXNvdXJjZXMvdmVyc2lvbmVkLW1hbmlmZXN0LnBocCIsIGFwcGxp
Y2F0aW9uQ2FjaGUuSURMRSwgc3RlcDcpOworICAgIH0KKworICAgIGZ1bmN0aW9uIHN0ZXA3KCkK
KyAgICB7CisgICAgICAgIEluc3BlY3RvclRlc3QuZHVtcEFwcGxpY2F0aW9uQ2FjaGUoKTsKKyAg
ICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKKyAgICB9Cit9Cis8L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KKzxwPlRlc3RzIHRoYXQgYXBwbGlj
YXRpb24gY2FjaGUgbW9kZWwga2VlcHMgdHJhY2sgb2YgbWFuaWZlc3QgdXJscyBhbmQgc3RhdHVz
ZXMgY29ycmVjdGx5IGFmdGVyIFVQREFURVJFQURZIGV2ZW50IGFuZCBzd2FwQ2FjaGUoKSBjYWxs
LjwvcD4KKzxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03
MjEyMyI+QnVnIDcyMTIzPC9hPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvYXBwY2FjaGUvYXBwY2FjaGUtdGVz
dC5qcyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL2FwcGNhY2hl
L2FwcGNhY2hlLXRlc3QuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzZlNTU3N2U3OWUwMWIwNDY0YjQ1YTYwZjc2
NGRmOGYxYTZmNDE2OQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1v
YnNvbGV0ZS9odHRwLXRlc3RzL2FwcGNhY2hlL2FwcGNhY2hlLXRlc3QuanMKQEAgLTAsMCArMSwy
MTAgQEAKK3ZhciBmcmFtZXNDb3VudCA9IDA7CisKK2Z1bmN0aW9uIGNyZWF0ZUFuZE5hdmlnYXRl
SUZyYW1lKHVybCkKK3sKKyAgICB2YXIgaWZyYW1lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgi
aWZyYW1lIik7CisgICAgaWZyYW1lLnNyYyA9IHVybDsKKyAgICBpZnJhbWUubmFtZSA9ICJmcmFt
ZSIgKyArK2ZyYW1lc0NvdW50OworICAgIGlmcmFtZS5pZCA9IGlmcmFtZS5uYW1lOworICAgIGRv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaWZyYW1lKTsKK30KKworZnVuY3Rpb24gcmVtb3ZlSUZy
YW1lKG5hbWUpCit7CisgICAgdmFyIGlmcmFtZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiMi
ICsgbmFtZSk7CisgICAgaWZyYW1lLnBhcmVudEVsZW1lbnQucmVtb3ZlQ2hpbGQoaWZyYW1lKTsK
K30KKworZnVuY3Rpb24gbmF2aWdhdGVJRnJhbWUobmFtZSwgdXJsKQoreworICAgIHZhciBpZnJh
bWUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjIiArIG5hbWUpOworICAgIGlmcmFtZS5zcmMg
PSB1cmw7Cit9CisKK2Z1bmN0aW9uIHN3YXBGcmFtZUNhY2hlKG5hbWUpCit7CisgICAgdmFyIGlm
cmFtZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiMiICsgbmFtZSk7CisgICAgaWZyYW1lLmNv
bnRlbnRXaW5kb3cuYXBwbGljYXRpb25DYWNoZS5zd2FwQ2FjaGUoKTsKK30KKwordmFyIGluaXRp
YWxpemVfQXBwbGljYXRpb25DYWNoZVRlc3QgPSBmdW5jdGlvbigpIHsKKworSW5zcGVjdG9yVGVz
dC5jcmVhdGVBbmROYXZpZ2F0ZUlGcmFtZSA9IGZ1bmN0aW9uKHVybCwgY2FsbGJhY2spCit7Cisg
ICAgSW5zcGVjdG9yVGVzdC5hZGRTbmlmZmVyKFdlYkluc3BlY3Rvci5SZXNvdXJjZVRyZWVNb2Rl
bC5wcm90b3R5cGUsICJfZnJhbWVOYXZpZ2F0ZWQiLCBmcmFtZU5hdmlnYXRlZCk7CisgICAgSW5z
cGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgiY3JlYXRlQW5kTmF2aWdhdGVJRnJhbWUodW5lc2Nh
cGUoJyIgKyBlc2NhcGUodXJsKSArICInKSkiKTsKKworICAgIGZ1bmN0aW9uIGZyYW1lTmF2aWdh
dGVkKGZyYW1lKQorICAgIHsKKyAgICAgICAgY2FsbGJhY2soZnJhbWUuaWQpOworICAgIH0KK30K
KworSW5zcGVjdG9yVGVzdC5uYXZpZ2F0ZUlGcmFtZSA9IGZ1bmN0aW9uKGZyYW1lSWQsIHVybCwg
Y2FsbGJhY2spCit7CisgICAgdmFyIGZyYW1lID0gV2ViSW5zcGVjdG9yLnJlc291cmNlVHJlZU1v
ZGVsLmZyYW1lRm9ySWQoZnJhbWVJZCkKKyAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdl
KCJuYXZpZ2F0ZUlGcmFtZSh1bmVzY2FwZSgnIiArIGVzY2FwZShmcmFtZS5uYW1lKSArIicpLCB1
bmVzY2FwZSgnIiArIGVzY2FwZSh1cmwpICsgIicpKSIpOworICAgIEluc3BlY3RvclRlc3QuYWRk
U25pZmZlcihXZWJJbnNwZWN0b3IuUmVzb3VyY2VUcmVlTW9kZWwucHJvdG90eXBlLCAiX2ZyYW1l
TmF2aWdhdGVkIiwgZnJhbWVOYXZpZ2F0ZWQpOworCisgICAgZnVuY3Rpb24gZnJhbWVOYXZpZ2F0
ZWQoZnJhbWUpCisgICAgeworICAgICAgICBjYWxsYmFjayhmcmFtZS5pZCk7CisgICAgfQorfQor
CitJbnNwZWN0b3JUZXN0LnJlbW92ZUlGcmFtZSA9IGZ1bmN0aW9uKGZyYW1lSWQsIGNhbGxiYWNr
KQoreworICAgIHZhciBmcmFtZSA9IFdlYkluc3BlY3Rvci5yZXNvdXJjZVRyZWVNb2RlbC5mcmFt
ZUZvcklkKGZyYW1lSWQpCisgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgicmVtb3Zl
SUZyYW1lKHVuZXNjYXBlKCciICsgZXNjYXBlKGZyYW1lLm5hbWUpICsiJykpIik7CisgICAgSW5z
cGVjdG9yVGVzdC5hZGRTbmlmZmVyKFdlYkluc3BlY3Rvci5SZXNvdXJjZVRyZWVNb2RlbC5wcm90
b3R5cGUsICJfZnJhbWVEZXRhY2hlZCIsIGZyYW1lRGV0YWNoZWQpOworCisgICAgZnVuY3Rpb24g
ZnJhbWVEZXRhY2hlZChmcmFtZSkKKyAgICB7CisgICAgICAgIGNhbGxiYWNrKGZyYW1lLmlkKTsK
KyAgICB9Cit9CisKK0luc3BlY3RvclRlc3Quc3dhcEZyYW1lQ2FjaGUgPSBmdW5jdGlvbihmcmFt
ZUlkKQoreworICAgIHZhciBmcmFtZSA9IFdlYkluc3BlY3Rvci5yZXNvdXJjZVRyZWVNb2RlbC5m
cmFtZUZvcklkKGZyYW1lSWQpOworICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoInN3
YXBGcmFtZUNhY2hlKHVuZXNjYXBlKCciICsgZXNjYXBlKGZyYW1lLm5hbWUpICsiJykpIik7Cit9
CisKKworSW5zcGVjdG9yVGVzdC5kdW1wQXBwbGljYXRpb25DYWNoZSA9IGZ1bmN0aW9uKCkKK3sK
KyAgICBJbnNwZWN0b3JUZXN0LmR1bXBBcHBsaWNhdGlvbkNhY2hlVHJlZSgpOworICAgIEluc3Bl
Y3RvclRlc3QuZHVtcEFwcGxpY2F0aW9uQ2FjaGVNb2RlbCgpOworICAgIEluc3BlY3RvclRlc3Qu
YWRkUmVzdWx0KCIiKTsKK30KKworSW5zcGVjdG9yVGVzdC5kdW1wQXBwbGljYXRpb25DYWNoZVRy
ZWUgPSBmdW5jdGlvbigpCit7CisgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIkR1bXBpbmcg
YXBwbGljYXRpb24gY2FjaGUgdHJlZToiKTsKKyAgICB2YXIgYXBwbGljYXRpb25DYWNoZVRyZWVF
bGVtZW50ID0gV2ViSW5zcGVjdG9yLnBhbmVscy5yZXNvdXJjZXMuYXBwbGljYXRpb25DYWNoZUxp
c3RUcmVlRWxlbWVudDsKKyAgICBpZiAoIWFwcGxpY2F0aW9uQ2FjaGVUcmVlRWxlbWVudC5jaGls
ZHJlbi5sZW5ndGgpIHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIiAgICAoZW1w
dHkpIik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBh
cHBsaWNhdGlvbkNhY2hlVHJlZUVsZW1lbnQuY2hpbGRyZW4ubGVuZ3RoOyArK2kpIHsKKyAgICAg
ICAgdmFyIG1hbmlmZXN0VHJlZUVsZW1lbnQgPSBhcHBsaWNhdGlvbkNhY2hlVHJlZUVsZW1lbnQu
Y2hpbGRyZW5baV07CisgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCIgICAgTWFuaWZl
c3QgVVJMOiAiICsgbWFuaWZlc3RUcmVlRWxlbWVudC5tYW5pZmVzdFVSTCk7CisgICAgICAgIGlm
ICghbWFuaWZlc3RUcmVlRWxlbWVudC5jaGlsZHJlbi5sZW5ndGgpIHsKKyAgICAgICAgICAgIElu
c3BlY3RvclRlc3QuYWRkUmVzdWx0KCIgICAgKG5vIGZyYW1lcykiKTsKKyAgICAgICAgICAgIGNv
bnRpbnVlOworICAgICAgICB9CisgICAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgbWFuaWZlc3RU
cmVlRWxlbWVudC5jaGlsZHJlbi5sZW5ndGg7ICsraikgeworICAgICAgICAgICAgdmFyIGZyYW1l
VHJlZUVsZW1lbnQgPSBtYW5pZmVzdFRyZWVFbGVtZW50LmNoaWxkcmVuW2pdOworICAgICAgICAg
ICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIiAgICAgICAgRnJhbWU6ICIgKyBmcmFtZVRyZWVF
bGVtZW50LmRpc3BsYXlOYW1lKTsKKyAgICAgICAgfQorICAgIH0KK30KKworSW5zcGVjdG9yVGVz
dC5mcmFtZUlkVG9TdHJpbmcgPSBmdW5jdGlvbihmcmFtZUlkKQoreworICAgIGlmICghSW5zcGVj
dG9yVGVzdC5mcmFtZXNCeUZyYW1lSWQpCisgICAgICAgIEluc3BlY3RvclRlc3QuZnJhbWVzQnlG
cmFtZUlkID0ge307CisgICAgdmFyIGZyYW1lID0gV2ViSW5zcGVjdG9yLnJlc291cmNlVHJlZU1v
ZGVsLmZyYW1lRm9ySWQoZnJhbWVJZCk7CisgICAgaWYgKCFmcmFtZSkKKyAgICAgICAgZnJhbWUg
PSBJbnNwZWN0b3JUZXN0LmZyYW1lc0J5RnJhbWVJZFtmcmFtZUlkXTsKKyAgICBJbnNwZWN0b3JU
ZXN0LmZyYW1lc0J5RnJhbWVJZFtmcmFtZUlkXSA9IGZyYW1lOworCisgICAgcmV0dXJuIGZyYW1l
Lm5hbWU7Cit9CisKK0luc3BlY3RvclRlc3QuYXBwbGljYXRpb25DYWNoZVN0YXR1c1RvU3RyaW5n
ID0gZnVuY3Rpb24oc3RhdHVzKQoreworICAgIHZhciBzdGF0dXNJbmZvcm1hdGlvbiA9IHt9Owor
ICAgIHN0YXR1c0luZm9ybWF0aW9uW2FwcGxpY2F0aW9uQ2FjaGUuVU5DQUNIRURdICAgID0gIlVO
Q0FDSEVEIjsKKyAgICBzdGF0dXNJbmZvcm1hdGlvblthcHBsaWNhdGlvbkNhY2hlLklETEVdICAg
ICAgICA9ICJJRExFIjsKKyAgICBzdGF0dXNJbmZvcm1hdGlvblthcHBsaWNhdGlvbkNhY2hlLkNI
RUNLSU5HXSAgICA9ICJDSEVDS0lORyI7CisgICAgc3RhdHVzSW5mb3JtYXRpb25bYXBwbGljYXRp
b25DYWNoZS5ET1dOTE9BRElOR10gPSAiRE9XTkxPQURJTkciOworICAgIHN0YXR1c0luZm9ybWF0
aW9uW2FwcGxpY2F0aW9uQ2FjaGUuVVBEQVRFUkVBRFldID0gIlVQREFURVJFQURZIjsKKyAgICBz
dGF0dXNJbmZvcm1hdGlvblthcHBsaWNhdGlvbkNhY2hlLk9CU09MRVRFXSAgICA9ICJPQlNPTEVU
RSI7CisgICAgcmV0dXJuIHN0YXR1c0luZm9ybWF0aW9uW3N0YXR1c10gfHwgc3RhdHVzSW5mb3Jt
YXRpb25bYXBwbGljYXRpb25DYWNoZS5VTkNBQ0hFRF07Cit9CisKK0luc3BlY3RvclRlc3QuZHVt
cEFwcGxpY2F0aW9uQ2FjaGVNb2RlbCA9IGZ1bmN0aW9uKCkKK3sKKyAgICBJbnNwZWN0b3JUZXN0
LmFkZFJlc3VsdCgiRHVtcGluZyBhcHBsaWNhdGlvbiBjYWNoZSBtb2RlbDoiKTsKKyAgICB2YXIg
bW9kZWwgPSBXZWJJbnNwZWN0b3IucGFuZWxzLnJlc291cmNlcy5fYXBwbGljYXRpb25DYWNoZU1v
ZGVsOworCisgICAgdmFyIGZyYW1lSWRzID0gW107CisgICAgZm9yICh2YXIgZnJhbWVJZCBpbiBt
b2RlbC5fbWFuaWZlc3RVUkxzQnlGcmFtZSkKKyAgICAgICAgZnJhbWVJZHMucHVzaChmcmFtZUlk
KTsKKworICAgIGZ1bmN0aW9uIGNvbXBhcmVGdW5jKGEsIGIpIHsKKyAgICAgICAgcmV0dXJuIElu
c3BlY3RvclRlc3QuZnJhbWVJZFRvU3RyaW5nKGEpLmxvY2FsZUNvbXBhcmUoSW5zcGVjdG9yVGVz
dC5mcmFtZUlkVG9TdHJpbmcoYikpOworICAgIH0KKyAgICBmcmFtZUlkcy5zb3J0KGNvbXBhcmVG
dW5jKTsKKworICAgIGlmICghZnJhbWVJZHMubGVuZ3RoKSB7CisgICAgICAgIEluc3BlY3RvclRl
c3QuYWRkUmVzdWx0KCIgICAgKGVtcHR5KSIpOworICAgICAgICByZXR1cm47CisgICAgfQorICAg
IGZvciAodmFyIGkgPSAwOyBpIDwgZnJhbWVJZHMubGVuZ3RoOyArK2kpIHsKKyAgICAgICAgdmFy
IGZyYW1lSWQgPSBmcmFtZUlkc1tpXTsKKyAgICAgICAgdmFyIG1hbmlmZXN0VVJMID0gbW9kZWwu
ZnJhbWVNYW5pZmVzdFVSTChmcmFtZUlkKTsKKyAgICAgICAgdmFyIHN0YXR1cyA9IG1vZGVsLmZy
YW1lTWFuaWZlc3RTdGF0dXMoZnJhbWVJZCk7CisgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVz
dWx0KCIgICAgRnJhbWU6ICIgKyBJbnNwZWN0b3JUZXN0LmZyYW1lSWRUb1N0cmluZyhmcmFtZUlk
KSk7CisgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCIgICAgICAgIG1hbmlmZXN0IHVy
bDogIiArIG1hbmlmZXN0VVJMKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIiAg
ICAgICAgc3RhdHVzOiAgICAgICAiICsgSW5zcGVjdG9yVGVzdC5hcHBsaWNhdGlvbkNhY2hlU3Rh
dHVzVG9TdHJpbmcoc3RhdHVzKSk7CisgICAgfQorfQorCitJbnNwZWN0b3JUZXN0LndhaXRGb3JG
cmFtZU1hbmlmZXN0VVJMQW5kU3RhdHVzID0gZnVuY3Rpb24oZnJhbWVJZCwgbWFuaWZlc3RVUkws
IHN0YXR1cywgY2FsbGJhY2spCit7CisgICAgdmFyIGZyYW1lTWFuaWZlc3RTdGF0dXMgPSBXZWJJ
bnNwZWN0b3IucGFuZWxzLnJlc291cmNlcy5fYXBwbGljYXRpb25DYWNoZU1vZGVsLmZyYW1lTWFu
aWZlc3RTdGF0dXMoZnJhbWVJZCk7CisgICAgdmFyIGZyYW1lTWFuaWZlc3RVUkwgPSBXZWJJbnNw
ZWN0b3IucGFuZWxzLnJlc291cmNlcy5fYXBwbGljYXRpb25DYWNoZU1vZGVsLmZyYW1lTWFuaWZl
c3RVUkwoZnJhbWVJZCk7CisgICAgaWYgKGZyYW1lTWFuaWZlc3RTdGF0dXMgPT09IHN0YXR1cyAm
JiBmcmFtZU1hbmlmZXN0VVJMLmluZGV4T2YobWFuaWZlc3RVUkwpICE9PSAtMSkgeworICAgICAg
ICBjYWxsYmFjaygpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgdmFyIGhhbmRsZXIg
PSBJbnNwZWN0b3JUZXN0LndhaXRGb3JGcmFtZU1hbmlmZXN0VVJMQW5kU3RhdHVzLmJpbmQodGhp
cywgZnJhbWVJZCwgbWFuaWZlc3RVUkwsIHN0YXR1cywgY2FsbGJhY2spOworICAgIEluc3BlY3Rv
clRlc3QuYWRkU25pZmZlcihXZWJJbnNwZWN0b3IuQXBwbGljYXRpb25DYWNoZU1vZGVsLnByb3Rv
dHlwZSwgIl9mcmFtZU1hbmlmZXN0VXBkYXRlZCIsIGhhbmRsZXIpOworfQorCitJbnNwZWN0b3JU
ZXN0LnN0YXJ0QXBwbGljYXRpb25DYWNoZVN0YXR1c2VzUmVjb3JkaW5nID0gZnVuY3Rpb24oKQor
eworICAgIGlmIChJbnNwZWN0b3JUZXN0LmFwcGxpY2F0aW9uQ2FjaGVTdGF0dXNlc1JlY29yZHMp
IHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hcHBsaWNhdGlvbkNhY2hlU3RhdHVzZXNSZWNvcmRz
ID0ge307CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBJbnNwZWN0b3JUZXN0LmFwcGxp
Y2F0aW9uQ2FjaGVTdGF0dXNlc1JlY29yZHMgPSB7fTsKKyAgICBmdW5jdGlvbiBhZGRSZWNvcmQo
ZnJhbWVJZCwgbWFuaWZlc3RVUkwsIHN0YXR1cykgeworICAgICAgICB2YXIgcmVjb3JkID0ge307
CisgICAgICAgIHJlY29yZC5tYW5pZmVzdFVSTCA9IG1hbmlmZXN0VVJMOworICAgICAgICByZWNv
cmQuc3RhdHVzID0gc3RhdHVzOworICAgICAgICBpZiAoIUluc3BlY3RvclRlc3QuYXBwbGljYXRp
b25DYWNoZVN0YXR1c2VzUmVjb3Jkc1tmcmFtZUlkXSkKKyAgICAgICAgICAgIEluc3BlY3RvclRl
c3QuYXBwbGljYXRpb25DYWNoZVN0YXR1c2VzUmVjb3Jkc1tmcmFtZUlkXSA9IFtdOworICAgICAg
ICBJbnNwZWN0b3JUZXN0LmFwcGxpY2F0aW9uQ2FjaGVTdGF0dXNlc1JlY29yZHNbZnJhbWVJZF0u
cHVzaChyZWNvcmQpOworCisgICAgICAgIGlmIChJbnNwZWN0b3JUZXN0LmF3YWl0ZWRGcmFtZVN0
YXR1c0V2ZW50c0NvdW50ICYmIEluc3BlY3RvclRlc3QuYXdhaXRlZEZyYW1lU3RhdHVzRXZlbnRz
Q291bnRbZnJhbWVJZF0pIHsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYXdhaXRlZEZyYW1l
U3RhdHVzRXZlbnRzQ291bnRbZnJhbWVJZF0uY291bnQtLTsKKyAgICAgICAgICAgIGlmICghSW5z
cGVjdG9yVGVzdC5hd2FpdGVkRnJhbWVTdGF0dXNFdmVudHNDb3VudFtmcmFtZUlkXS5jb3VudCkK
KyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmF3YWl0ZWRGcmFtZVN0YXR1c0V2ZW50c0Nv
dW50W2ZyYW1lSWRdLmNhbGxiYWNrKCk7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBJbnNwZWN0
b3JUZXN0LmFkZFNuaWZmZXIoV2ViSW5zcGVjdG9yLkFwcGxpY2F0aW9uQ2FjaGVNb2RlbC5wcm90
b3R5cGUsICJfZnJhbWVNYW5pZmVzdFVwZGF0ZWQiLCBhZGRSZWNvcmQsIHRydWUpOworfQorCitJ
bnNwZWN0b3JUZXN0LmVuc3VyZUZyYW1lU3RhdHVzRXZlbnRzUmVjZWl2ZWQgPSBmdW5jdGlvbihm
cmFtZUlkLCBjb3VudCwgY2FsbGJhY2spCit7CisgICAgdmFyIHJlY29yZHMgPSBJbnNwZWN0b3JU
ZXN0LmFwcGxpY2F0aW9uQ2FjaGVTdGF0dXNlc1JlY29yZHNbZnJhbWVJZF0gfHwgW107CisgICAg
dmFyIGV2ZW50c0xlZnQgPSBjb3VudCAtIHJlY29yZHMubGVuZ3RoOworCisgICAgaWYgKCFldmVu
dHNMZWZ0KSB7CisgICAgICAgIGNhbGxiYWNrKCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisK
KyAgICBpZiAoIUluc3BlY3RvclRlc3QuYXdhaXRlZEZyYW1lU3RhdHVzRXZlbnRzQ291bnQpCisg
ICAgICAgIEluc3BlY3RvclRlc3QuYXdhaXRlZEZyYW1lU3RhdHVzRXZlbnRzQ291bnQgPSB7fTsK
KyAgICBJbnNwZWN0b3JUZXN0LmF3YWl0ZWRGcmFtZVN0YXR1c0V2ZW50c0NvdW50W2ZyYW1lSWRd
ID0geyBjb3VudDogZXZlbnRzTGVmdCwgY2FsbGJhY2s6IGNhbGxiYWNrIH07Cit9CisKK307CisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL2Fw
cGNhY2hlL3Jlc291cmNlcy9tYW5pZmVzdC5waHAgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jz
b2xldGUvaHR0cC10ZXN0cy9hcHBjYWNoZS9yZXNvdXJjZXMvbWFuaWZlc3QucGhwCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjBiOWY4ZWRiN2UwZWY0OWRkZjJiYzA2OWQ1Mzg2YTNhYTRjZjg0OTIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9hcHBjYWNo
ZS9yZXNvdXJjZXMvbWFuaWZlc3QucGhwCkBAIC0wLDAgKzEsMTUgQEAKKzw/cGhwCisgICAgaGVh
ZGVyKCJFeHBpcmVzOiBUaHUsIDAxIERlYyAyMDAzIDE2OjAwOjAwIEdNVCIpOworICAgIGhlYWRl
cigiQ2FjaGUtQ29udHJvbDogbm8tY2FjaGUsIG11c3QtcmV2YWxpZGF0ZSIpOworICAgIGhlYWRl
cigiUHJhZ21hOiBuby1jYWNoZSIpOworICAgIGhlYWRlcigiQ29udGVudC1UeXBlOiB0ZXh0L2Nh
Y2hlLW1hbmlmZXN0Iik7CisKKyAgICAkbWFuaWZlc3RJZCA9ICRfR0VUWyJtYW5pZmVzdElkIl07
CisKKyAgICBlY2hvKCJDQUNIRSBNQU5JRkVTVFxuIik7CisgICAgZWNobygiIyAiIC4gJG1hbmlm
ZXN0SWQgLiAiXG4iKTsKKyAgICBlY2hvKCJwYWdlLXdpdGgtbWFuaWZlc3QucGhwP21hbmlmZXN0
SWQ9IiAuICRtYW5pZmVzdElkIC4gIlxuIik7CisKKyAgICBpZiAoJG1hbmlmZXN0SWQgPT0gIndp
dGgtbm9uLWV4aXN0aW5nLWZpbGUiKQorICAgICAgICBlY2hvKCJub24tZXhpc3RpbmctZmlsZVxu
Iik7Cis/PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAt
dGVzdHMvYXBwY2FjaGUvcmVzb3VyY2VzL3BhZ2Utd2l0aC1tYW5pZmVzdC5waHAgYi9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9hcHBjYWNoZS9yZXNvdXJjZXMvcGFn
ZS13aXRoLW1hbmlmZXN0LnBocApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jMDhkYzA3NTM5YjQxMGRhYmU1ZmFmZGUy
NjEzMGZhNWE0NWVmYzExCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
LW9ic29sZXRlL2h0dHAtdGVzdHMvYXBwY2FjaGUvcmVzb3VyY2VzL3BhZ2Utd2l0aC1tYW5pZmVz
dC5waHAKQEAgLTAsMCArMSwxMyBAQAorPD9waHAKKyRtYW5pZmVzdElkID0gJF9HRVRbIm1hbmlm
ZXN0SWQiXTsKK2VjaG8gIjxodG1sIG1hbmlmZXN0PVwibWFuaWZlc3QucGhwP21hbmlmZXN0SWQ9
IiAuICRtYW5pZmVzdElkIC4gIlwiPlxuIjsKKz8+Cis8aGVhZD4KKzwvaGVhZD4KKzxib2R5Pgor
PD9waHAKKyRtYW5pZmVzdElkID0gJF9HRVRbIm1hbmlmZXN0SWQiXTsKK2VjaG8gIlBhZ2Ugd2l0
aCBtYW5pZmVzdCAjIiAuICRtYW5pZmVzdElkLiAiLlxuIjsKKz8+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9h
cHBjYWNoZS9yZXNvdXJjZXMvdmVyc2lvbmVkLW1hbmlmZXN0LnBocCBiL0xheW91dFRlc3RzL2lu
c3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL2FwcGNhY2hlL3Jlc291cmNlcy92ZXJzaW9uZWQt
bWFuaWZlc3QucGhwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEwNzc4ZTcyNjk5YTVmZTVkMDYzYjcwYjgxNTIzODdl
YjYzZTQ2ZDgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xl
dGUvaHR0cC10ZXN0cy9hcHBjYWNoZS9yZXNvdXJjZXMvdmVyc2lvbmVkLW1hbmlmZXN0LnBocApA
QCAtMCwwICsxLDM0IEBACis8P3BocAorcmVxdWlyZV9vbmNlICcuLi8uLi8uLi9yZXNvdXJjZXMv
cG9ydGFiaWxpdHlMYXllci5waHAnOworCiskdG1wRmlsZSA9IHN5c19nZXRfdGVtcF9kaXIoKSAu
ICIvIiAuICJhcHBjYWNoZV9tYW5pZmVzdF9jb3VudGVyIjsKKworZnVuY3Rpb24gZ2V0Q291bnQo
JGZpbGUpCit7CisgICAgaWYgKCFmaWxlX2V4aXN0cygkZmlsZSkpIHsKKyAgICAgICAgZmlsZV9w
dXRfY29udGVudHMoJGZpbGUsICIwIik7CisgICAgICAgIHJldHVybiAiMCI7CisgICAgfQorICAg
IHJldHVybiBmaWxlX2dldF9jb250ZW50cygkZmlsZSk7Cit9CisKK2Z1bmN0aW9uIHN0ZXBDb3Vu
dGVyKCRmaWxlKQoreworICAgIGlmIChmaWxlX2V4aXN0cygkZmlsZSkpIHsKKyAgICAgICAgJHZh
bHVlID0gZ2V0Q291bnQoJGZpbGUpOworICAgICAgICBmaWxlX3B1dF9jb250ZW50cygkZmlsZSwg
KyskdmFsdWUpOworICAgIH0KK30KKworaWYgKCJzdGVwIiA9PSAkX0dFVFsnY29tbWFuZCddKQor
ICAgIHN0ZXBDb3VudGVyKCR0bXBGaWxlKTsKKworaGVhZGVyKCJFeHBpcmVzOiBUaHUsIDAxIERl
YyAyMDAzIDE2OjAwOjAwIEdNVCIpOworaGVhZGVyKCJDYWNoZS1Db250cm9sOiBuby1jYWNoZSwg
bXVzdC1yZXZhbGlkYXRlIik7CitoZWFkZXIoIlByYWdtYTogbm8tY2FjaGUiKTsKK2hlYWRlcigi
Q29udGVudC1UeXBlOiB0ZXh0L2NhY2hlLW1hbmlmZXN0Iik7CisKK3ByaW50KCJDQUNIRSBNQU5J
RkVTVFxuIik7CitwcmludCgiIyB2ZXJzaW9uICIgLiBnZXRDb3VudCgkdG1wRmlsZSkgLiAiXG4i
KTsKK3ByaW50KCJ3aXRoLXZlcnNpb25lZC1tYW5pZmVzdC5waHBcbiIpOworPz4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL2FwcGNhY2hlL3Jl
c291cmNlcy93aXRoLXZlcnNpb25lZC1tYW5pZmVzdC5waHAgYi9MYXlvdXRUZXN0cy9pbnNwZWN0
b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9hcHBjYWNoZS9yZXNvdXJjZXMvd2l0aC12ZXJzaW9uZWQt
bWFuaWZlc3QucGhwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg1NjkwMWY0OTNmOGY5NWQ5ZWQyMTAyMmI5MzNmOTc0
MTE2ZGZjNWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xl
dGUvaHR0cC10ZXN0cy9hcHBjYWNoZS9yZXNvdXJjZXMvd2l0aC12ZXJzaW9uZWQtbWFuaWZlc3Qu
cGhwCkBAIC0wLDAgKzEsNyBAQAorPGh0bWwgbWFuaWZlc3Q9InZlcnNpb25lZC1tYW5pZmVzdC5w
aHAiPgorPGhlYWQ+Cis8L2hlYWQ+Cis8Ym9keT4KK1BhZ2Ugd2l0aCB2ZXJzaW9uZWQgbWFuaWZl
c3QKKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1v
YnNvbGV0ZS9odHRwLXRlc3RzL2F1ZGl0cy9yZXNvdXJjZXMvYWJlLnBuZyBiL0xheW91dFRlc3Rz
L2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL2F1ZGl0cy9yZXNvdXJjZXMvYWJlLnBuZwpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5jOTMyNTM2NzM0YTkyNDY0YTNmNjU4YzhhMmQyOTZkZDZlZmRhZTUwCkdJVCBi
aW5hcnkgcGF0Y2gKbGl0ZXJhbCAxMjI0Mgp6Y21XKysyUk4xZzdxPHluLUdwUmIrKTc5aWxEKTFG
TGlUb3pCeEdtSDRwRGEybF5zSHxsNXhxLWBxXlohPj9FODIKej4zQDZoSlV5PVd6VkcqKCZwSWJ1
VH18O0tJVEpZXjleT1Q/bEFJPnxSRG15Ukc2TUx7bTN9ODJlcTMtPSh0Q2wyCnpNeygpajdkfkZm
ZGo+b19IYXhWUHczZiZGWFdxODwlKiZxVi1SdUFVYFM4MVl2U0t+TEs3M0hwUTBocHkpZlZ3Zwp6
UlBrREMkKSk9fWlKd3R7RUV5MzVAJlE8ejt7c3hHQSpyQSo9Z255S0UyP0pJd3dEVz51WFItTns+
bndoJjJqT3kKejhhYTA/e0BoPCpYRmpLdntJTTIwY19fdVpwWDUyY1UqcEBtPEBxITVvQVk3Pjgo
QUUoalExJStOTVRgMEVAS0VnCnpuaHF5R2lSJSttKWorNVk5eX1Rb2lrPXJ6ZUpZJHZpNCRSX1FY
UkNiT3lUVmtQTDBaNGIqcjBsc0IkJlJ2cldtaAp6bURkbzd6QyRVU1Y1UDE3TyF6OEpwdGh1X0BS
eTYyWGYoWEJ1I2h+RUVySjZsQWVgRVJzVzN4VWhuSzh2eFlaNVcKem1HTzQlaW5scGNVa0xmblVV
O1YmUXpKbFdHOyRIdz1iQzF2bXRlKmFmJktSfUY1ZFpvaWtLSHNwPU87YGpsaytBCnp2PDV2QlBE
TW9vdlQ1Q2oqRFA0ckBlb3FZTXMrJD0tSnlKM0l4P3sjajF6Rkh5U0RXKFBFTy1wdUMwKTIxQERC
Nwp6KEQ9cHxFREVsXj16Sm0ybHB6RiozTmg7d2RSOCZeTiQzRFJPWjY+b0RHZnhqcT1KMHZtMUo/
dDVZS1h0TTNvZFEKek5+cyVERn1yXmQpP1A4P0ZrdnEmTyhQS0lSKEZmNnh2XjJJUXZhQ3tRKD5W
WHIzQ3tDZWRAQWpgPlJ+cmtOUVBKCnomM08pMFJ8USt7bTJHPTRHWkxvZjdaI2NeOUVrU3doN2wy
UjRzdnB+LTRGNUhjeXhzI0Q3Qm9JQkRrcig5cUdpYAp6Rmx8eWdheT1yQEV4cnJ4bmxaI2xFS1Ip
azkjZlE4ZU0jWEJoZD5pKXowNGYoVVc7VlVea3ErJFVUdGt7NE1nNDQKenJnSUlQIShOcX5nWU55
I3VrQSEoRGBEVTFEbVlUdzxFUkIob3YmelhjV2l2VDUhLXtZQ2AmQDNAODc+NEV7RTs2Cno1bEtf
NG5uPiVnXnA/bkFCWVRyTjx1S3d9dVR5bEpsOVA7fXQ2Yk0zQTVVSCowJkExPFU0WVg1SDVQU3BT
KU1rTQp6QWVMXjNPTj59X3A0MHIkKHFTUG1ZQ1pCSWcldDBfTUQ0QiYmeTc4PWlAMGpmLUtDZFhf
NHxfTnlPSlNodVcpQVIKeiVaZHZCVUxoZU5HaW19WmJ5SE41YXZGI29NbVpgRWRhWG4oTi14Mm5J
MDE+SztaIzVxZyo3QnktVSp8KkxkKkh7CnpXYlR0KkhFSF5DYWwrQi1ZeEFURyQhK3Q4dF5CP19g
K24jOT9wckB5TVZRTlVLYVNhQjFlMUd1ZE1ZYWBgfV9OQwp6Z2dTUz52WE56fXFuTjM+JUhNWV9R
c1RsQ3ZaK0Z8d1FnTEZsczZpZ2E9NzxTS0pKNCQzUEROMiZXRX5sSGZQZEoKejZ5YVpIcmdMIVJy
Vk5vMSN6eHlpQyY5fCoke3wtU2t4YCZJUDVxRm9rRn5ZNm8xMkBoWk84bzEhUmM5antSNiFPCnoh
VGBLQnI8WDVaNzhhSjJtWDZwfXk0NWBwNSVEPEtvLUhtZVpmJXY8T1EyPkpuUV5Zc2RHaDMqdSZ8
MyFqNnlhUgp6Xjs/YGoha219Pj5hfWF2NyNPeV8+VXxxbj98ZGRGPkl9eTNPUTB3K0p4dyYhRzAy
ZlRUSCltVkleX141Q2NQPH4KelQwR19PRyRxN3U9VDd1fE1DO3NJWCtzSDB4ISFwSCgzYG19Ny15
RXolaFRvVD8hR0BXbGk0PFpKK1VpWGp3NG9TCnpWZlhPb1BoKHh2R0Y+UnVNUTI3OT9Td0BTYWYh
UWs/fjAzZTMjZHFCPGtebUk/ZUJgUyM8VzRKcTlTJVkjRj9VOwp6bmUqMGFkQXM3M1ROajtJWW1K
TF92V0VKSUlWajJLLUp+ZiFCd3h7IyVEeHdRTjJJZyFJXjV5O15Ddn54TWtBTnkKelpIMVYwVUE0
N0NMcWZ7Tz5+RjtYX05zc0k7S0F3WD5EMUtKa2UleWA3Y1pWYT1ae3hqYlFXZEVnTVJYP0c1bGRF
CnpzRndHNVdZMURDeG9ncUk9bjdGMnJlYkpxNF55JGE9aGdROGA7WWdjeUM9SzdrPVBadEkjOzcq
a3NuKzg3NmNKawp6c3BGNTJJYW07bkNsbT1qYk56MF8ra1F+PT5qaVZAUCQjQ008Pn5iWmYoQXsj
TUFpcGhOSGtyV2xnSHF5JWlxNiQKejtqbTtyKXN8SDAtKWhrPGp9RGVHZ098SmUyJk11YGZHbTAw
XkIrYns9cHteemsxSGVUYzZXQ3hEa2BRPUh7R2RPCnojN0ZIYXdeeCpOSUxIV00tYHU0IXJEZk1Y
Jj5IP15zRHN6PFAtVHxpbEV0MkJSaVhGdyFqIV90PVQjRiM+fUUjRgp6SVJrVFpiS35SVjNrI09A
Iy1ZcU47Pm5rNnQwdH5UKmE8Tm1kVmY8I3VgTEt2YXo9MVNHMjtaTkxTKyVIX1FJKTMKeiRYfE8k
UytiIzJFYUc4YF90VnI9Mk16aEklbis1eTdGRTAmbVU3TXIhb1Rea0VRQyFFSnV8ZW8yYWpqV3B+
XkZ6CnpYR2RLRkYtbUVReDgoMTRHb0pocHYweGsxeW8zNzEwfHE2JEk0d2pEen1+S0JPans3Y3NF
clVeSU1LeylFa3I8fQp6RjdLUzRvTT4/Ykk8LTJuYSh2PVdiZm92eVFZJD9eYHBCelN1TSZ5UDdn
V2RjY0IkcFBvcEVKanNHMlpCQT07SD8KejR8RVlUbkM/cmFafUoodD1fbkw2d0NiaXhoVXs5K1cz
bDxzKGF+UEBLa1hgaT9USXpCQVZQKDJpKE1kPE5+YDkxCnorRGZqWXNLV2NVYVU0XlQrYElnPzFG
MVJ+aGVYRnw2JUViITU9KWJYO2ArISElcUFWfntTSHlpbmNNTCYmR34lNgp6MVlsWDZtZi1UXykh
dHE4R28yITBRUTM4ZGxFS3g8dWB4WWUtN3E8aEsoPENsUjc4WUFjRCE8TXFmdnsoWWtHSXcKekxQ
bnNnNGg2UykzdiViY3VDbGhXYT4kfFQtJnQ7aWJmVipzNWdmMF4+PyRxd3hjaWNxNUE3PEl3YThY
Wjd7OEx0CnpuPXowYFFPXksqOzdMdEpWZT9iKEp3SUZFa0BXbiUoNk8rdnUoRmNoeUw9TnR6VVAl
RE09YGtfSXFPZzBtWkteYQp6SShFc0NoZkpubz8zSj5tQVkpQTE7flZpSihZcWV2I1gzKSlLY34q
QjlKOGs8Qys2VXczJWpmT1NVWX1ScSpATGcKelhQVXFnbFVHLUZ7OW5PaW1ZNm4mRHI+PnlQLTwy
X2V0eXw5K0tqQlNhXjc5PkUkNW48UCs/KFYtOztTKGNYIyptCnpqKk9FSXNEdyFlX2orVFZxaXtY
YmZYcEp+YCVnclNlVUlpSmdxUmYkLUR1TDAkUzU3TkZadVpLS2ZBakdzdXl1Swp6TFFHSyNneE9f
U1lkWHBjJjMzfTYyPkZYdFJLOUJsKF9SfnVCTG81ZGdSN1EkVWt2JkYtUWJWM2AmYW1semsyUisK
elRYNVN7Pmh9bXhoVF5pO3liODFldE1ZOGNsMnZAU25ARDRvPFBoP3F4RSstPCh+SE1ZZHZVRzBP
P2I/dmZIRUg5Cno4KlckbSZVV1Y4TW9MVy04PEVZU2tfYU12b3pTb1d5R2xvYyVyOTxyOH5ldkcq
WTNNNWJ0ZX1UNnFwS3haNDxBTgp6bExWRk4rSXhGQEozMmFnZCFJYU1JTU9jRzBXeDBPOCghTjM9
dFJmVyo0OUZvSTJhVmBARWNaZEZRcTtZIUlAUngKelVQQ3NsaCtLfl9GQj5KfGRLMWpQaEY/YHZT
LUgyPCM+Iyl8bVN+ejl2UmR2RCZBeHN5e1pkVGNfe0x2VGZmY3drCnp2IzZrJG5BcUxCbSFsTlNQ
RTV1OEZGTWB+I20oKj9IeWpPPnM7UjAqTU1XOFhfMUdERkI+QWpUemc8bUJgJlBVJQp6XnF7c2pn
QmtaKmJselpARSt1dVBgTCkrJFYoNjR5eX05V04kaV5xeStDWHRQTWpXY1BlJThPLWA9dzF1ayF9
PSsKelQlbVVPWipYdmEmKzdwVF59RTZPb2otZWZ1Q0F7MmY1KUYlNXtwSiM9OzxVWlk4RHtLaCR3
TXZANSE3T09HLSp1CnpQaTlFckBPe3J1X3hYKSN3ZkdXPXJUY2A2aHdQZ0NwSD8jVT9tYCY+Tk9e
bXxYTTFEKUU8diMzYWhSUUNNdkRQNQp6SU92a0s5PSh1T3V9Kz1lYFB0dlUhbntQciEwYGF8NSFs
e2szTD02c1UwdyFDMXJGTjh1R1piSjZDMFo9RTZgbXoKem5ySXJMXnlTJTVNfXYmcyZ+M3RvVysm
JFNPUX03JXcmUks0eyV8IStPOX4xKUBCSkZPQDRuZXlKfj1YeSp0PCpeCno7RXpRaTxnWjhrOTwk
RG57KjlDX2B8LUI/JT5+ZCNhXmN+fm9kQGE1U3I2bG8mK1A0eWJRZVVQd2hQZFpRQnFTdwp6I2xF
Y249Xl80ZVhzRmZjSnJXSVE5KjAhRkkrTSN4TVZkaFVyTz1rQ1VBa3EhWFNCN3ZrNGUxVmtTYEtA
RiNmYk8KekRtd2FYN288U14lX3F0XmJhRVN4QkVSLShPVipOQW1pfSVgMEEpeUkjSGpSczYxYnx2
NnU/Q2tiSnJxZDV4RHdtCnpKRWtJN3JmSm5CY2hFTHtgUEJFa3JLUDNnRWwqdXQ5Vzc1I2xQTDs4
S29fV0pybCZLcXI7dSR7SEV+JVUtP3k9NAp6YCk7RVZQSm82KlVnUHRhZVgtNiU4bHE1S3pgXlM3
VlBGJVJHYXwlez9VYE56ZGshM24lK2x2JU5CeFZ4M3RXaHYKenpQODJ7ZmJ1JVVfcEdSXj52QSQ9
cXNpQzBwX1clK1QqQGxwZUd2YnxTayFxVHRabStAIyZFfWoqXz53KFMzRTAmCnp7K1dwKVp5SDNW
OypSVzZMTUYqZ1dUbCt6cmlARzc5VVZWNEcpeE9uIzxhYXY7V3FLdig8VCM3Uip+QGhaUnpWUAp6
QHdQKlY+N3FFfDloMXp4WFk0fE1HdnEkTVlkMXAzcW1yZl5zNiVsfG1ROVB5X3VZN3pxUk0lJWhS
ZX1Wbj84QUUKejYrfnlnQGxpTHpBSDYxOW9NXkAlLWI7OEBubkZRUWsoeU92dmNEZ24oMUt3cCZI
Ym1lYEdxcFZYK2xjUSM9d3d9CnoofExZYilVTmQ7RkZQQk52fTRfcj19bT9aPV83dTA5Qi1GZjli
NjlBLTQ7dlV5cFQhRTUpO1pzeDw8fkZBVCZaQQp6Y2NDQHA8RnZyKlp7Tk9NOyElNFk5c09sdTxM
dkNydTJTc0lvalZVNlQjSVo0TnxCPFlkKVI0dFdjcFdVPCU/djgKel4+RjtoJj8kJHVzLVB5ZUlP
dUJBJjtJS09kRmR3eGs0JXNtKztxTW5zdWcwUU1mbX5HKTcweyY5N3hhcTh5Z2M5Cno2SnckenV9
dntISFU+dUY8bUFOUmFJczMzUiNzZFl5YDFXbyhxbV9Jb2l9KHlFQypXSm4pZUN7JHEmM3s4VXF8
Zgp6UjBKdCRueFloQjJaaGphREx2Zmk3bWwoa0gld194aTllcEpzQm02c1F0MzBtVj94Sj8tTWA8
UHstRXlMSHdqNWUKenp2VWxrR0ZncElsU1FUOSMlK1dXNSkqK2smOGEoWUhCdHstUyV1KiRqZGR5
WTV7aVpqYjhUNS10VVd3TDckYFlECnpuaH1KfSM0RzJGKzNWYmhTSUYrUzdkOXhTNCsqMHI0NW8z
OFpSSXVfN2todnJiSUNJPDw9al92VVUjZDVpQGpYdwp6JWhEYHgqX21zViRAKX1SMlkkZHVWKjIt
UVhUZkFHMVRoO2V7JHpeU1RKNzA/a3tAUCpDOyQtfSVvdEQ+MFkyOWUKejxaTGZ6NyZoRXEwJT5k
QTdfekk+REtjeDB6X1BpJGpsYG95WlF0MT9CRnBMP2MqRVAzJiZ+RSlvK0VicHNDZkY8CnolOEpM
eSFFSyR4LS19JW42Qjl0KzZjaU1vS1k9OT83b01Ebng+YyZobUhYP0d3YWh3LXIyU0NIRX5+R0gy
T3NOSwp6VzVgRzIyOERaZWs/e181WDhjTDBCKGZ8fkJ9QX00VU9PKTcwflJIYihUa35RbnFqTzYx
VypUc2VzcHd7KHRgbkgKekJuZ1VQY2AhYVBhb191M2B9Z25QK3VNI3BPc3hacjYjQT0wSn5ROFNi
PHhQPDJ5RkcjcmRfMzcjaDZUMS19KlcpCno1PzV8N25CMlgqVFVaRChBJjhWKDZHNjwqODM/QSZR
Ukt9eyhqZSYmR1hWYXRMZy14ZjY3dz4kX3oqUFZ1clNqXwp6ckFLaWVUKlNheEdCaTVab1hqKUBE
YU5va0YoPDAhZnlOJDlpO3VzWVYzbnEzdCpBKTRCRXc2TXhAXmN4Jis9UlkKemxTQ3JNbFRjRyQ/
dEZmQnM9fVNVPHxVUzx1K1NMVEIrRkxHPjNVeVYrZXt6TkNKeERkMS12RzZuPHo3dDJMaStxCnpr
SVlnOEhvcCs2RnR2eDxUdnNBdmRVU01VYnlke3NrND9weDNpbiQ4KGgqbEZNMW1FVih0MllQZVNJ
KTxLd19oMQp6N1FtN1RpIXhkTVN9I29FWHMlZ1lyKWlYQyYoNT4wKWhVeylmNFRvWD5UMHNlX2tV
NyRFRmQ1dER+bW0mY1Z1a3IKemc3VmVNV3UybTY1OFl4TkFkYXJgSzBEMW5LcmduK1d4RFVJNyhF
Q05aX3BFR0c0eFhxQ1oobyFWSmhJaGpmez1jCnpHY3JnT3dsKzUlRCluYV9Kemw9Nyg8diRfT3pC
O1lZe2VFOUhsQmpQP2xnS31eO1NTZjwhWlFTQDl2P3VGUjByVwp6RkR9dTdDZ0pjbHFqQDlsJVlt
ayZHfDwtZVcrYn0pWmdBR0l6NUttJDRtfnxSaS1mb0NqcmlRV0pUUE5RT3tIMmwKem5rWTxidG58
S2ZMVnZpc3hncFZrZXhNQW9DQDU/PDg9SEwxZnxFYWFsMmJvX2hSfjcrc2BEbDRDQTh8KCNQcX0r
Cnp7OGRwYDJ6I3UzSCh2UmZnOUV7fFpPV0d+VXh3fDR1aDckSGVzLXczUGVUU0tETHAtWFhVRkxT
fEYqT0d4Xmhsagp6NTJnc0x5e0A2NUEoUnZRWFI1biZOVVd9RXdXNDBhWWB2d1BMTnJOM1RHdH1E
Kk5GfFBVPk57dDc2eWlEKlJ8b2EKemB8Zz9VNURSR0N6O350WGQmSmhaOTRHV21UfFhDOVhrNDE4
JSUhYzNAOFYodjE+OTsqaXcqJk89TSNxdk5DaE18CnpIMzJrOE9pYXVXX25kUkNTejIxcyhhfnxQ
RiUoTjk4Q2lEYDE0a3h0dk1wOyMkTiVrTVpnaUJQJjF1Til2ZDEtSQp6eytLcEdsMl9QI2QqUHpC
K0w1KShAO2pnYmZOQDRqajMkMm17T2VWKHErX1kpQWVfM2dFYWgtb1E+JmtTJEt0eCkKelRlaFZn
ND0qbi1AP2U9OEBpSXEydUx3VXdPcHcyamlKRVp7Z0UhLTV4OWhnUC1SJH11JUljZmMxdjIzczdS
N0x7CnpHajdPRThffk00QGhrJDE/T3ohbCk9XlljNmt2RkAjPDd+aU1wbXFJR3FKMHF7QyRVfEE+
VC11TUh8P0skO3RQcQp6Mj55blhhd1BnbWk2TVMzZmoqXmxZUmhiSXttckgjOVokT3k1XzxxP3lV
S0MrT0U9O05UKDhaMSQ1ZSE0bHs2NkkKek1EYGNudHdUOHBGYGNHT0FFdHBlKFlnYEx3JXtVbUop
Jl5QUERuTVZUYG1GKSgyTHBUVjNZSHM1dVFpcy1wZ3QzCnpQJG03O0dKYElsPHRwX1plfUluK1Zx
e3t7SCNRRVRJUWYzPjgtQVBAUk9Yb2RaKmYtZzs3MGRZI0wyRCpkUWQxfAp6QGswZjM4IWQrVHAp
KXxZM2lzfHo2SmgkWWJaXnNiaiU3Sz9TR2R7NnlwLUlZP3J3akNneH1mOEBtN05nVW1gOFoKelVE
YUskZGNlWmMoazx4eksoPFU5RjAkc0gpTypDelFnPk85WXw4SjFRPWVIfGh5RHdmOXRhNCQ+QX00
MXVtbWI0CnpBXyFBeWlAeEA+WUdUJiQ7R3hOcFd+SUxUJDFtZyVRJXN+anxKST5mTkpkMFkrbGlQ
MXFYPHdZTG1NcTExd285LQp6X00hS29jUkdeVSRIJUExdn5QTDBiPjY4T1libUgjSSYjNzAkTVNB
RFp3JU8rbjMkaz1lKT5xWUpoKzNQZWo5e3UKeldiUF47e25+SmA5MHotWmBTYShjeHdmaz1PbmQ5
UHl1eU5sYk5rMmwjbCNAbzBCUSElZFJHM01maDlSe3F2emY8CnpheH11eU1NP0k7VSY3MWZAVCNr
TypiKmowLXBVKCstUkFjSGFrI3R1Q3whSlBYZWlqNT45VldIY1lFUTthZGY/TAp6MTdzVldvI2Qq
fXgocjg/Yzlwcmd7eyZWYzJBRHp9XnsjNz9rZCo0WnhNI1U4P35rNHlfUXZLbWc9YEpJMWtUdG4K
ekI+Rmd8cXVne055JlQ7KzVIMDZTRU1rPzx5Mjk4bjRPVnwtYyRqUUhNNVN9cGdAWWVScj9DajZl
RyY8RVNnU2RJCnp7VTZQRzxNV201NztzeCleT1Apb2VDaXQtJkpUOXheVkhKcHN3TkotamNKSlRS
VnYxYWU1STV7QDd+byRBPmk8Tgp6Y3pDcTY+cGdjZEloeFdObDs3fGNHSV9nRHBXYlRHJElIS05g
a1NgcHQkNlAjMjY8V0x2eT9GOUQzbkl2PHdocGUKektgYmlwRkBhWUlRWkZIQFpUfFYhOVRHI1U/
MHpZMjNsOSRsYnJ2KD1QKFpzeT1OZU4xQWlFdUskaVh0fjVhM051CnpaQEd3UmtQK0B9SSpSOzBK
WldyZm9TOSs2Mj49N0d0KnpDVHo9MjhaUHJndWtzdiReX29TKFgzXkk8NTZxe2hCZAp6Z1Rxe2pT
KWE7YGlqdEM5KyhSSDxJVXA1NjNiKHA/e28qaEJ3LVVSRV9jbThvSnMwRGpkXj1nPmhwM1IzOSQp
VjAKel87fmtGVHgxVnE1ViUpfUc2d1M9djVHaih0bl9DcSV7NypDK095JVh8Ql4qY2VVYyNReCt3
XygwZkYxTW96Qm1FCno+WlUqeUZZWF5WdXxOUmhDPDRhQGE1bDJXVyVWZC1kaTFCcXtLZD5xKjV3
anhRa29CQzJWUXlmTy13eyl4d3lJMgp6UEMweTRMZWcxU1NiJD1BeHpsPigpWXE+LTN3U2V5NTtn
QiExNVI7eGNvK2E7fEojMGpMQmFLZz44OyZFc1k1ZCUKekJPe355czwkNmk2QlolKUAoYHk9RklQ
dmN1ZGxuZnk4M0s5SE16PmpEOXQmeXc+QmJ1b2lTd0F0KipicyUmUEMlCnpedlRqYWJvQGxoYyRV
XntmM3FaMnw1byRjMj1lLWF4a3cxSE49bVJ5UmtnTUhEMUA9XjtvQEBvTzl5anZmflNtQgp6cCYo
UHJiWCVPa2JlNEtBLVVQV2BTbV5OVlM8akNqMWlDQEAyPCE8eTxMJD1POGZFdWBVY1koc0NVZ2Ap
TVRrYlIKejRpTTkkTjQ8YWtlNGdIVnFQO2dDQlk4SF9hQjUmUXFMSnJWVitnLXYhdWBWUlk3fmlk
QGlFNChnOGRDMUlnWGJMCnpFI3EhMiFrbWx4KXQhOFl3fkxSTDdtalReXz0+VGtTUV9ZMUlCU3FT
cSpUbU9HaXV5I1NHTXJFVndIMkM1PCFSXgp6ZjR9LTE5e2Jka2slKUYyb3N8Q3Z2U0wmeE5TViNl
JX5IUzlIN0tOanEkcWBLemteVWVHOD1OMGYwe3VaXkBfJi0KekAqbDdJX0tkS0JhKHtmfUR8UE0o
YEYxa2d4fTJxK1BUWXJ5c15eaGQ1cGkqR1FCaEc1ays5RTZeVkxIYEx4ejAmCnolQHE3XlNZK158
PFRiI140diZtbnFmKlMjNEE2Y2xwNigkWT9MfHZNIzMzYHtgdGhNZWhLWjM7ejFRQmFzSF52Kwp6
Y0hiJDMjdzlnVFBOd3w2dzFnMzBASUc4ampBNTFCLTB8PlZyUU16fStRMGI1PnhlQGFLVmFoMXBa
WlV7a0BEa1gKelc3cHs7ZUgkZHtCa180YTEyIzFeeHokQ1AyYmVMS2BWJmQ3dGduQ2RKQ19qcV9E
TUg4SX4jUT9rUX5gN1cxUGBwCnpzaW0hJkgmfDN1MWNyVGphKn47dWBKK3d8RDJBPjVJenZBMUoy
WWdPRyFoVX57YCMpfjkhVjNRbEQhNCoyVm8xWQp6ZXcmS3JEez9ldyNQenFncjZMeX5LIWNfPmsz
ZT1VSS1tWWRZPUI1Y3h7RkdrQjlMQEoyVFokQkV6I0Y2V259PloKelZUT3o/OyZ3M3gxX3Njd25n
dzdqOWpaVl95alFhcFhDZHtLaVZPY3JTO1VWWDcjLUNXVk9CdXdjLTIkbEdIPF9YCnpwXm1fKyU8
VEhAYEFmd1NAaTFWVlVWP1pqYmA8WWI8ZSlWZ2t2IVNQSig0e0ExTHktV0RIZXJZZzU8NFklKVVV
WQp6YDM5VkQjPm9OPzk7entEYCp6PGI1SVFlQzsyUW12RTJTbjRDMkx9Sy0yaCZ1cmx1fH4/O0w7
ZUJ8YiM3MHh9bEMKem5MUUM9bERESnNAVzArQF5jV05PYnowWF8rLVVOUzNMUjRjazE8O3EjMDAx
Nyl7PXpVPnxfTUc7YSFSUkYpPVpyCnpHRmdeX3xBNl8zU0wyQ1BmfV9hRXZmdFRxeFpHVW4qe0BQ
PjMwN1hsYXBSJlBidTRJa2MtcUZMUlNeMz9QQkszfgp6NTRPZypiaVh0SFgwUFBBeER1aCV4bEM1
KG5pdzskR0FHUEF2fkMxPW1nfT5zNGokdjNNcVYpJFE9enBYVlVjOEAKekdfTG5Ad1k5eUZ5YTBr
e2JFKiNGaHBTUUZvMTI/S0wkalNJV0N5Jio2Sjx9UzI5KksyMXQtVHI4YCg8Nk8helRxCnpFaj1+
V0xlSV83UUdoODVMaHptY3pvMmw+X2V7PVJRM3orVEd6ZWxYRUk3ZWwxJn5aaVo8NnFZe3pwdzQo
RWo+dgp6SWA+QlNjWV5paWluc2NnYVJMdzt8NStYVXxHTiU8VFliYG83PGp8JmAxSWBYJkAlIW5h
ZHV6PDs1SSE/b2RuTEgKemV8azYxPzxqQlU+K1RRZUZKU1A3RkpKeCs4JDVTKWJKSWp7cTNLbyNL
Nl9KQlFBSj5ybHlpKnpQRipkUl9jeH49CnpCTmx0bClfWi1vX0kqcTlAXn5QbGtqZClyKkZlV2ZN
YXEybkBVPlVCVH5SNDY3KXl3YiNnTTB0TyVoVlNJd1BENgp6JXZ9WlNeQEReOz5IM01VcS1KcVBN
K2YrdG5pfGBSdkNoVGMjUmdTeHY+e00pNXR7flo0YUdIO3VlJiFLOCU1OWkKenA2ekN3UGZlZDFK
JTdGaHAjbDZKMj8+ZEAqRDlBWk8qRzJgdXA7VmpVTzdZbCk1aXRGZ01PTz4/e0JmT3c5Kyg8CnpO
QkVgOUxNfmt4QWBmbWxWIWhAVWNRQ1RsUj5KYV5KYzIyN0tBQENFbT9mTVMrUUg/LWpYUjJuT0d2
ME85cmtnQgp6KVB7fCRKJUluRztRIzcpXnY5TmxSV1h7bS14VWJ2NEM7amtDamRBLWVmR0VOZTIp
TGorfCU9cl4/WmpfSGpDIUgKenMwPkFkdCY3WCZxTjFEaGskZTA1YCt4cGFQZFIpUGRFYTFXJWJq
Oz9OWlE7VEF3VHhoWXdaQERYZ2VqbENmPTNiCnorP19GT2xgc1JTZF4jZWhMNnBgJUgzZUdlUSQ8
RDR1JHNJXnBaTHhxenUpMT47VnpIYmA8MmJqKyNXa2heX0B1bQp6WmBFSkV4QjtfUnZfKUc5Q1dF
eDJ5bSpuQTBBSXZkMTJMUTY8X0A5YlJgP35KP2A+QCRVdU5gYVNJfjx+ak9uenkKenBUQVF+SlU/
NHs5PTh6MFBfKGcxRi0mPChGSGRgVXQ1QFFmdlowd0o3aCppNDV6YmdMVWx8UThjckdDMmBtK19L
CnpsanBqfiUlS0FjMylOSXFSTWdhclloNE8tZERIS15KNkt2R1ErcTtXKmtRdFU1Y1NJeE5oZUx5
JT4xU2pFMml7dQp6XlpZJjFiR057VTR8IXQlIStDUWR5MkslJCZ5REVNLUBvWiV1RF9yY1U8UlU3
I1B0XktnMipxXz1jVUtaM1QhV2MKeiRkJCtseSRhWjckfGRiNHJUcCZeR2xtQGNvb301N09hVHFI
Sm9mKHF2NG9QPl93fDZsWWppUlFzfjBrazI2PnFWCnpWd0pqcVEoLWImcjBOT0pRVmstTm1hdURM
Y3NAYyoqSH5FXzA4aXlMWXxNOEtWSDVeKWlAVHtra05efkQzOD99Swp6Q2kwc28ze3JIKm48YXJG
a21JLXdhb1IjVnQtTUFeWHowWC1uPlkmJFdJVSE8VTJhNmdESXZqWE5YPDRqblI9O1AKemJUJUl1
YTlRZSg4QDBFX1ZXTjZ0UyNYVXo0NDZiUjdzNjdZekEoKFlXYzxGcTZXXnQ3I3k/dWl5TjVNM3FF
IT05CnpnTSpqQzw9JnZhJnBXOU9tWEVDdTM9RHc1cXtKTnpTQUR4Mip+JWo2YCpGPCskflEtSWJv
NHt2RkpRUjBKZGFASgp6QXJpZnx6SyhSJncmYW19REJhU1J6PlVQTVBuRF44X315IXxCU0RAT0xp
Q3NwR24xa0k3dFE/XkE8dGc0QihlIzMKendkWkEmdSgtUzJuKnAjaFNAUXlIem0rKWVgTEFFVVBF
TmojdG9pSD5KISR3YFMmRHhQcUd6RTEwSUIlcCEkY0ViCnptYDV4LWl+Y0Z1N019KGdCYzNGYiZy
VDlKKThHOUp8NlRCTG03MjkqOTloVCpJa1kkUnZyVXpXe3BRQDtyYUNNIQp6SlA3alo1Z2NnRT9F
YU5zenZldUJKdzVkaHRyPSYzXjEjbGx1QzN3bmdpfipeI1E2UjA7Qmwpdm9wUFQoP1JAZ0IKenli
NUEhZVRqQG1JaHRBT0R9YnJTclN9KnBBclcqYEAzN1B5ezAhbUE7R2s/Xzt3TWs3Q2BnOEdNNlRw
aiowTkYjCnp7Y15RUSFCcG4kRHx3Izw2bnZNbmI7YG5WKH52PTd6PGRtezAkWmx2YWt7KWZXeHkq
JUx0WkJiUEdDTXApKnhFVgp6PXpYTjNhPFpaKiQ7ODZLbSlLPVBqWWlTfHozcCNKRThlfVpmclgx
RXomc1htIVJuZnRhNE1HUWN9UlVIc2J8PFQKemBNPEVVbTYrU3RqX0c1PnIjaFBUWj5KOWw3U0Ra
UXMtNTJBTjA2aDJnUDVnezs4Xj1JMSUhcGNwcGdlUkBBZ1c5CnpFQzwwME5EREM0LW1XQj0+ezRU
eHFxKH0mbGxzciU5WCU3YTI+RE1CNTBCZDgtITRFWmo1IT50K1U5cShaZDZ1Ugp6PmxTRjBtXjEo
PU9HLSNrO2lUeVpKRkUxSVlZcThTMk9IVSY8V30/UUpmaVhAR0lpcyZgVnlYZlNTYTEmSllsKFgK
ekptUG1jO3YhfVF4QlQqQHcxUjJDSExBOW9yQyRmZSN0djhXRzlacFYrWVhoS0pDfiVsXjZAIXMz
TC1yfVphQlhnCnpGKmgoa2hqLUVSbDFyWHVmajY4Xl4kXjZjcSRESkwpbDIpd0ZjYEpjZ09wVUQl
P1RDN2hXbmhkYzwkTFIpVDRqdAp6KCVLKVRsTWxDZ0NibW81PlVeeE1oQFp0fnNncmZSUFd1RlFW
KnZqNik1YElkbVJHMDw3IXlLKjBuaTgkTj8xTTIKejs9cm5qeTshMG9zRH18SyEzKlhwJFFJeHNS
YUd0VGN7UUJ2bUcqWGJPUyE9NHlRXmhqQVB6emlJU3Z+XkxlQGloCno7P0h3fktGY3pLN0Rhfnxu
MkZYcW95QldueWV1MG1ybX4+WVQjVG0yJEExQksoP18xNFBNPT4zbSFyZ3VqKnA5Wgp6WXxtSXtf
Pmc9SW90cTZIQm5eYCs4ZD1sNXQxPUkkNlVLO2cmRnE4P2Zad15NMHRZYHxaaSVNLTclX2ZYVHYy
Z0oKej9xJCZzaGwqJSZ2MzV2SFEyN1ZOQE4jP0N0bn16RjNudHIkJEIhUjNmUn5XZ1IhMztfQ0NY
OzAqQkpoc25nWGk+CnpmaH1BLUNBWVk9dzUhfEBQUWM1SEFWOHwjXykqXkFzQlBHdjclV1BRfDMq
Q0lMZnduYnBuRkUyRkZBXzlQKjlsSwp6ZzdoYWVjZDc1Kk8+SiF4O00wY2JuM0teUHZVQXNwYWs9
ZFk3WCl2dnQ/e2VUeWB0JmUxKyRpdGxteGRGa1pUKCoKek4xKSFjdyYhNFA1NWhBZ19lSVY3LWVu
NnQ7V1JaXmYleGhtenxlQXJ3Q0JUVD97bGNxYTMmSWZ0T2tydzZFaX55Cnp7dXNvRU1BRXU/ZGVT
V14+Rko7eDFLQnxOVGMxUVpZfVJxU3tkfkgpYnluaT1XI28yM14hME0kV3trdFApP0tpcwp6ViRF
PT8xelAkaENXYG1QUSspbFdXKk9HcVVQQCQ7LVV9R0V1end8RWRyfDQ0OHI+cTNJRERYV1AjUXIm
RmU5UWcKenFHRTZ0TyNiUyE4aXomWVhrTCQzWDIwWWptaUVheT48PVRtNDxHdH5WYzx5R257cVhk
R2VUSmQhNCVxYD90WlhzCnpyazdBdlJSemg4U15kbV40NytkZWlKWih3aFpfKmB2cjcwbGB8IXJr
RnhQO3BQe3s2Nmg7dVpabGAwQ3ZLU31nRQp6T2d1YjFnbEFYOzRFVn40cGRqMGJQJiFAM256aHd7
WFAxKTlvNy1PSTEmemBfaUk4OWcpM1dOJXBGZndDTiRVLX4KelAjc2grbEtXNChzck1JLTx9fFpO
RGZSKE5aKH0yI1RaMzRkVDZmMG5ONEd7TkNXMX5NIyhoOV9aZl4xIT8jI2BaCnpgfXYqMkpQI1ZJ
S0whTE0zYChtSGVLSWtzQ0U9SiRhblo9ME1wPD5FfDkqanZRZERlJVk1cVNrelByQFphRzJVcQp6
cGlALU5uezdzR3JQREx7cVN6b3NzKUokJDdEYmY0JkFKOVNIQDBBWkRoJiM/SWVgSiVqOysqSnI2
RjF1c3I1WlEKejAmMUFzSXEyKV9nWmhSMTBiV3E8Rnp1TWQhPCpBOSFVZGxie2xMclJrfHk/TGIt
KzkzZipAe1U8THt3JnJVOShXCno7QVQ8dWt2Kjc4c2FxRjVUSiFwRlo3PHsjRyRsRU81RjltSFY9
eXZWWl9MfjxaKkV6R3lhblcwYi1AVFMrR2lueQp6Q1YmMV5MKChQazhBWnIoSygjfnUwPTZ1Jilm
eyNpPmYxaiRqQWRoQFpvU0p7WlNfYkl5eG09UmNSXlRFXjFMR0IKel5ySW1rSTBMbXVrNjxjRXZf
ZHBIODxgQEx7OXFGWG5aPDU0aXRwZFFLUk1mUFYyeH1JOHlkQTJldW8tZDY9RXtmCnpwcz1aJHUo
NSl7aXcmOUwyazxxQS1lLVVrZm92Knw5KVpNRVEmYW85emg4bU9EZ09+cnspV3ZfdkwpO3k0c1lV
dQp6ZiNUNVdUcXtJM2dJb0s2N0xiTzZwRmorSmBFSzBGWVp7Y3dVWjtkX2cyNztaYFd8bHBhfFV0
e0BaKGViPWohOSsKek1DLX11WXR4Zm5SenZjWUA8Yks1TDVOQjZ7SUl0dlJXNGlPZCp8UyslJmt7
Njs9Xzs3ZEwqeEhheGBtUFJ0RlNXCnplVGFtd3koRyE5ZT5jWWFUKXRzSlBlPkooQlg5eVV1SFYw
WktieFVHbiptbCRPLT0xJW82KiNAaGQyMmczayRHKQp6I0ppNFBwbU9QND9sbWhKVDY/SDFoU2o5
Yj9PRGU0UH5TQGhPaVMkN2tRallpbVlJTkBvRSRKQ0NmfmRuSE9od1UKenFHRHBRSikofiE9KT9a
aGB5VTRsYU0lK087T2l3RUEwTUJ1I0dJfEhrNSVrPlU4N3xVLX5wMyZPRkNpaz19M3ROCnpBfj1Q
VnNSU0Mta1pwX352dj9pOSViKWFfQFdoIWZ6OW40fV43QENeQUlkNjhXKD1Tb2dLREFaWWlvfklg
Wj9GPAp6TGt2aWhxN3x+aSQkK0RXJlNhK0ErU21ZRHElTUp5c2hXNn0qaXtLVlNXJlMlYEoocH14
WUJEal8pNmhXVlBUPGYKekx4WC1YdzhvNXQ+Zm5qKmNgKEo1ejZXOVFpa3MkMUZCI0RFR05+SUU5
cW56Tmo5VEJwdnRxbUxmJXRmRD45dUthCnpTYGR1VmVlfmM7NDxBMFBGKVpuflg+NlUoTUt5JXJX
fWtie1VvRjtJWVl6VDU9bTFNM0AyWX1fcEtIazF1czNXVgp6LXNgdVVJeFEhUGNkSHlHQ3BUcW15
SnNDQzhqRiFRQjZETztlX2ReMyErWVUoT0Q3cll2RklGclAtOUE3Xl92Q1IKemQlYkR8dDRUXm8w
UWk1cl42QXI/dTB7M0U7OE09QzJMZTZgUihaTCgxT2EmWVE4MDIpOz9DJkpla1VtYHsxO00tCnoy
PyFyZDc1YnU9X202PXhWWSFCbGhWM2V+Wk9Zazk1T3RyTS1KT1okeVN0ZjBAOXVTd0FtfUVGYF9s
I1dzRD8ydAp6U1c4dDJuJl5pKW4hPjVfPDtVQnp4Wj5obHJsQD9PZW4oVlI0fjdzYEklRWZkfEhq
c3E8Y3A8bGE0OTgqSE5XQlUKellpazNAe0VLX3NyK3dVPW8jfWp1cnZ5ZCpgKFJ2fUp4SmdWKEZr
PEZSPlFlKGZmbVBoRnF5d1U+Rys1N15uUWI8CnordCFSLVZ+bzZBMW0wTGZlOGJ4Nj5nd2B4Zn1e
QktHQWgtKD9pT1dCIyV1QH5RXn1RMl9oMF45aGpqRTFEMjxDUQp6ZTlMP0pLRyp9T14mSExjK1lm
WDh6c0BKRyhmQWJOKXpYbmprY2AmV193TD1oJV93NGJWNkElJXxMU00xKjFZYTAKeiQ0OVF7eEZA
ZzJ6Nkk1ZiFxU1lja3heUHxEbFAlI1YpSSkoQ1c7Vj1yU1RgUmtGdzY+IWMqT1djMiFlNVRRb1cy
Cnpzd0dxMzMzKkYmQiYpfCU2bDhfJXtgSGBpPTdLbnFIdGY/cFE1bnF2K0xgdmQlcihoTUctNnJm
IXtEazRfbHdnYgp6U2J1Pys+bm01cGZWNT9uVXpGKWgpTjN7fTIlKUcjMzhASUxWVD88IXEoamdo
WXRFZnlXOXJqUS1jSzxlZlMlaj4Kel5YQ3QyaUJUWnBJfmNYOVpGV35+MT5RNWVGUEQpT3J+V2Jf
M0NyOEg+ZiF9NjY5KSRlJGxXWH4yPWBAYk5iVm4qCnp0c3Z4S3JeQEE0ZWokMGdPbG14X1VJSSlz
JlNxSzlYMklSeW1DNEc9P3MkQXZOQWRGV2dWdXNvR3dgRmF2OWFvPwp6fDNDITBZNGw5S1pyblpE
bjVhdGFTKD9SIyFmSiFSTldmczVrZ0JZM1dZayp3ck9mKVVfaGQyWm1qK0pCO3hRVTsKel4kaVJO
eVg0ZCsqQEoxfldMSzZqY01nN2Ypa2g9bk5xY3kyLUdiYyR0Qk50bnZ3MkJocCE0YWlVUTBvJCY+
K1ZSCnotQUVVKSgrLXt0MWJIeSpGWlRDNExDQyhrWU1jMj5pcD4jKmtvIU1oSzhIQ29lUHEqQlhl
MVNHVHltJmBuWk9LYgp6fEZFSX42flRQPnYpM1V0dis9cE1eYj0hT3UzWHVnWmZHYmtoc2xpZ0Yw
V3xadT9EdiEkUUA/TiZGQlFuPT1yYjQKelRsY3JWLW5vNHslWGErYTxZY1BPOVVzfShDeShnSFkl
KXBqVUVUT3Y8dUcqPWJBQ1hMSyVWK2FpV3dsJG90QT1XCnpYPXljdlJBPVpyazlecDVJfFdqPVgh
TnlUUk5WZDx4OzQ2QUAtTEFaOVpreH1mTHV6QnVVR0hLSkdTVH5IZUl8WQp6O3VteWR1PXl7UmYx
SipjTzBLTXxLIyZOQDd6ciopNCZSRk1oajw1ZDBFQD4oV256WmNtdGhNc1VZWW9FZFJwMncKejUy
TWQheEx5M0s5Q0VUOUl9JHFoKnhhNnFZaUppcyQrTHJiTCV6ZmclUlkmb0IlWFlsO2V9KWJeYlJn
RHZ4ZDsqCnpfI2VsUjJnQUgra2luYVFQT1ZZQF5RZ3NKVUsoeUltaXl8KEk+Z2ZjemQhfSZZRi1h
OWdHQntoUnQ5I3Y4Kio3Ugp6V2dAI3V2WGVBI1RNe2wleklISnhnTm0yM1l9MjZta1h3K1BzPF9T
MXshWnlET2oxX1p6Tj18eEhiQXtYMHk4TGQKekYlJXUwKiFiKU1iemxIP2dnRz8zaz9sQCRfckQ9
MkJOQEBtX1clckkjZT4oNTRwSXY9KlMoM1pWK1Z3eXU0eD5QCnojOz5xUSVOX2BTQkQxbko8UU5s
NmMjRyhiVyk+eXJlKmphbmpJLTRZaU5sM1Ulby1zfmNmN2YpNiVjTmpXUl8yYgp6ZHZgQEJWNmtM
Ml5WV084b0hhNHdAQnR4SiUyWVc/SS1kVGJ0ZHk2dD9YanRydlA/SnVkalNUeUsyRXk5cDJ2a0AK
ekNSVilobV5aQF8qZipCVHUmcVNYOV4tZDE/e3szfl9vQnY3ZlcrbHlWRTY9JmUpcGpFJkc/QWtX
ZihXWjt1OTd7Cnp1bileMEdGZFlfOSZkdXBzN2JtUlh2bkZpSnlPbmNkI0VtP2RUdylMcUp2RVMt
WWcyRTQrLVl+dWppTXoxTzU9dAp6QTdtS0d3aVhzdVlnb2RtODEyWk0qdEgwZDt6UzREOEQ/JF5R
QXFTQmJjQGY3P0pIS0FGRHM4akFybztTQV8kUDwKemZjQzthQmd0WSZiRmFTNCN2K3c3dmV4UDty
WWtZWVR2QlBzWENZZnNTYXwjbjhLQ3FJRXJpZGdYXzd5UyZ0KllXCnpUYXZ4OyUxVGQqaHttPDd0
WWRrWC04a0RtcUFfYTItU0wjUzMlZGFFe0FLY0JmZ3U9OFBmdFZUKH4kPyRedWJ6eQp6SC1EJFZD
bHdkNyo7a0IkR3kyNmtlMktGcXVgS3V6V2dtezttdT4kRiR6Z2x3Njc9Tz0pRW81dHd3Jlhfc0oj
TTgKekEjPHw2ekZyOSNjKUFmYms5cmtBQmp6O00wIy1eO1I1Wks7PzslNzdpO0lpWFVeTnU0TmQ4
czB2dCQtOXllTz5GCnpJVSNWcnY7RHAkWFBkLWk4UHlheXAzK3BAQngzcUBjUjYpdURYYzs7eDR8
MUJWb31qUmtiVGZFUFV4fXtkZnpreAp6K2NVbldZYktJVGI0MjwmczloSGcyMnNLMTxLbktMSDQ5
OTBXXylSMGt1aFpRaFQ1NDI2JkR1NWxDeVBEPTBpZU4KeitlfGVWQmtQV2pBTXg8MHFFc2U0ajxt
R240Iyl5d1NiX0g8UkpMPWBTPnpqSSg2KXpvbCleaitodnlCYWY0alJXCnp8TCR2SXswTmI8JjNM
QUV1eiUjWCFRez1ePF48d3opKUQtRmk+ISRDeEghWSpFVjhQPVdtMU81YDtJY2dzVDtkegp6Ryg3
YEAxVE4tTDtfcXNuTX05aVp2Oz1FSVF8XjAhVn0lRHpFcGRSP3FZVD42ZnNHe3d0fUBaRWJHMEdN
bVB3ZXkKemc4SGZrMmg0QihzRWZteyQoWCRgUTxTKzBEM09tZnN6aVMxRl9PT3U+UV5qdWlVYn5Y
MmZrQyMmMWJjYEtCZWNICno8ZHFXTSU0ZiljN0dRdz1nYj1mQmFsZk5LdEZaOV8rSG1YcVklOXxl
cVZkZzUyPyNTRitfO0R2OVVFKHNjOHRMSwp6Nkc9VU1KPntTblNGcS1sLTQ5IzNYMFItUDB3Rnhn
OFE+QmxlMVlrZWppcGo7M0U+U2s4ZExXMTRZdz9IMGhQXz0KYWIzKDQoX1pzYStEKShWWTl9Z3xC
Q1JaWTM4dSZqbCNfN05TCgpsaXRlcmFsIDAKSGNtVj9kMDAwMDEKCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9hdWRpdHMvc2V0LWNvb2tpZS1o
ZWFkZXItYXVkaXQtbm8tZmFsc2UtcG9zaXRpdmUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvYXVkaXRzL3NldC1jb29raWUtaGVhZGVyLWF1
ZGl0LW5vLWZhbHNlLXBvc2l0aXZlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wOWY5NmY4N2Ew
ZjQ1NjNkOWQ1MDliMzE1NzRjMWUwNjhkNmU5ZTg5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvYXVkaXRzL3NldC1jb29raWUtaGVh
ZGVyLWF1ZGl0LW5vLWZhbHNlLXBvc2l0aXZlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQgQEAK
K1Rlc3RzIHRoZXJlIGlzIG5vIGZhbHNlIHBvc2l0aXZlIFNldC1Db29raWUgYXVkaXQgZXJyb3Iu
IAorUGFnZSByZWxvYWRlZC4KK1N1Y2Nlc3MsIG5vIFNldC1Db29raWUgaGVhZGVycyBmb3VuZC4K
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMv
YXVkaXRzL3NldC1jb29raWUtaGVhZGVyLWF1ZGl0LW5vLWZhbHNlLXBvc2l0aXZlLmh0bWwgYi9M
YXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9hdWRpdHMvc2V0LWNvb2tp
ZS1oZWFkZXItYXVkaXQtbm8tZmFsc2UtcG9zaXRpdmUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNzQ2ODI5
NjY1ZWZkOTZkZWMwYWZmYzgyZTFkMjM2MzdjNjBhZmM1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvYXVkaXRzL3NldC1jb29raWUt
aGVhZGVyLWF1ZGl0LW5vLWZhbHNlLXBvc2l0aXZlLmh0bWwKQEAgLTAsMCArMSwyNSBAQAorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0PgordmFyIHRlc3QgPSBmdW5jdGlvbigpCit7CisgICAgSW5zcGVjdG9yVGVzdC5y
ZWxvYWRQYWdlKHN0ZXAxKTsKKworICAgIGZ1bmN0aW9uIHN0ZXAxKCkKKyAgICB7CisgICAgICAg
IFdlYkluc3BlY3Rvci5zaG93UGFuZWwoIm5ldHdvcmsiKTsKKyAgICAgICAgdmFyIHJlcXVlc3Rz
ID0gV2ViSW5zcGVjdG9yLnBhbmVscy5uZXR3b3JrLnJlcXVlc3RzOworICAgICAgICBmb3IgKHZh
ciBpID0gMDsgaSA8IHJlcXVlc3RzLmxlbmd0aDsgKytpKQorICAgICAgICAgICAgSW5zcGVjdG9y
VGVzdC5hc3NlcnRUcnVlKHJlcXVlc3RzW2ldLnJlc3BvbnNlSGVhZGVyVmFsdWUoIlNldC1Db29r
aWUiKSA9PT0gdW5kZWZpbmVkKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIlN1
Y2Nlc3MsIG5vIFNldC1Db29raWUgaGVhZGVycyBmb3VuZC4iKTsKKyAgICAgICAgSW5zcGVjdG9y
VGVzdC5jb21wbGV0ZVRlc3QoKTsKKyAgICB9Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
IG9ubG9hZD0icnVuVGVzdCgpIj4KK1Rlc3RzIHRoZXJlIGlzIG5vIGZhbHNlIHBvc2l0aXZlIFNl
dC1Db29raWUgYXVkaXQgZXJyb3IuCis8aW1nIHNyYz0icmVzb3VyY2VzL2FiZS5wbmciPgorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRl
L2h0dHAtdGVzdHMvY2hhbmdlLWlmcmFtZS1zcmMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvY2hhbmdlLWlmcmFtZS1zcmMtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmQ4MDIyYTM2M2Q5YTY4NzRjMmVmYWU4MmY2OTI2NzlhZDgzZjNhMjEK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10
ZXN0cy9jaGFuZ2UtaWZyYW1lLXNyYy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0IEBACitDT05T
T0xFIE1FU1NBR0U6IGxpbmUgNjogSUZSQU1FIEhPU1Q6IDEyNy4wLjAuMTo4MDAwCitDT05TT0xF
IE1FU1NBR0U6IGxpbmUgNjogSUZSQU1FIEhPU1Q6IGxvY2FsaG9zdDo4MDAwCisKK1Rlc3RzIHRo
YXQgRWxlbWVudHMgcGFuZWwgYWxsb3dzIHRvIGNoYW5nZSBzcmMgYXR0cmlidXRlIG9uIGlmcmFt
ZXMgaW5zaWRlIGluc3BlY3RlZCBwYWdlLiBTZWUgYnVnIDQxMzUwLgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvY2hhbmdlLWlmcmFtZS1zcmMu
aHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL2NoYW5nZS1p
ZnJhbWUtc3JjLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTRjMDdiMGUxNjJlYjNlYWNhYWM4NGNhNTdjYmYw
OGM2NzNkOGE1ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNv
bGV0ZS9odHRwLXRlc3RzL2NoYW5nZS1pZnJhbWUtc3JjLmh0bWwKQEAgLTAsMCArMSw0MyBAQAor
PGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5DaGFuZ2UgaW5zcGVjdGVkIGlmcmFtZSdzICJzcmMiIGF0
dHJpYnV0ZS48L3RpdGxlPgorPHNjcmlwdCBzcmM9Imluc3BlY3Rvci10ZXN0LmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSJlbGVtZW50cy10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisK
K3ZhciBvbklGcmFtZUxvYWRDYWxsZWQgPSBmYWxzZTsKK2Z1bmN0aW9uIG9uSUZyYW1lTG9hZCgp
Cit7CisgICAgaWYgKG9uSUZyYW1lTG9hZENhbGxlZCkKKyAgICAgICAgcmV0dXJuOworICAgIG9u
SUZyYW1lTG9hZENhbGxlZCA9IHRydWU7CisgICAgcnVuVGVzdCgpOworfQorCitmdW5jdGlvbiB0
ZXN0KCkKK3sKKyAgICBJbnNwZWN0b3JUZXN0Lm5vZGVXaXRoSWQoInJlY2VpdmVyIiwgc3RlcDEp
OworCisgICAgZnVuY3Rpb24gc3RlcDEobm9kZSkKKyAgICB7CisgICAgICAgIG5vZGUuc2V0QXR0
cmlidXRlKCJzcmMiLCAic3JjPVwiaHR0cDovL2xvY2FsaG9zdDo4MDAwL2luc3BlY3Rvci9yZXNv
dXJjZXMvaWZyYW1lLWZyb20tZGlmZmVyZW50LWRvbWFpbi1kYXRhLmh0bWxcIiIpOworICAgICAg
ICBJbnNwZWN0b3JUZXN0LmFkZENvbnNvbGVTbmlmZmVyKHN0ZXAyKTsKKyAgICB9CisKKyAgICBm
dW5jdGlvbiBzdGVwMigpCisgICAgeworICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVz
dCgpOworICAgIH0KK30KKworPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKyAgICA8aWZyYW1l
IHNyYz0icmVzb3VyY2VzL2lmcmFtZS1mcm9tLWRpZmZlcmVudC1kb21haW4tZGF0YS5odG1sIiBp
ZD0icmVjZWl2ZXIiIG9ubG9hZD0ib25JRnJhbWVMb2FkKCkiPjwvaWZyYW1lPgorICAgIDxwPgor
ICAgIFRlc3RzIHRoYXQgRWxlbWVudHMgcGFuZWwgYWxsb3dzIHRvIGNoYW5nZSBzcmMgYXR0cmli
dXRlIG9uIGlmcmFtZXMKKyAgICBpbnNpZGUgaW5zcGVjdGVkIHBhZ2UuCisgICAgU2VlIDxhIGhy
ZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MTM1MCI+YnVnIDQx
MzUwPC9hPi4KKyAgICA8L3A+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9jb21waWxlci1zY3JpcHQtbWFwcGlu
Zy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0
cy9jb21waWxlci1zY3JpcHQtbWFwcGluZy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmMyYmM5
ODBmY2M5ZTkyOTc3M2ZkOTliYjVkMTNkMTdjODVmZGI0MgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL2NvbXBpbGVyLXNjcmlwdC1t
YXBwaW5nLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDc3IEBACitUZXN0cyBTb3VyY2VNYXAgYW5k
IENvbXBpbGVyU2NyaXB0TWFwcGluZy4KKworCitSdW5uaW5nOiB0ZXN0U2ltcGxlTWFwCitleGFt
cGxlLmpzID09PSBleGFtcGxlLmpzCiswID09PSAwCis5ID09PSA5CitleGFtcGxlLmpzID09PSBl
eGFtcGxlLmpzCiswID09PSAwCisxMyA9PT0gMTMKK2V4YW1wbGUuanMgPT09IGV4YW1wbGUuanMK
KzAgPT09IDAKKzI1ID09PSAyNQorZXhhbXBsZS5qcyA9PT0gZXhhbXBsZS5qcworMiA9PT0gMgor
NCA9PT0gNAorZXhhbXBsZS5qcyA9PT0gZXhhbXBsZS5qcworMiA9PT0gMgorMTEgPT09IDExCitl
eGFtcGxlLmpzID09PSBleGFtcGxlLmpzCisyID09PSAyCisyNCA9PT0gMjQKKzAgPT09IDAKKzAg
PT09IDAKKzAgPT09IDAKKzE3ID09PSAxNworMCA9PT0gMAorMTggPT09IDE4CiswID09PSAwCisy
OSA9PT0gMjkKKzAgPT09IDAKKzI5ID09PSAyOQorCitSdW5uaW5nOiB0ZXN0Tm9NYXBwaW5nRW50
cnkKK2V4YW1wbGUuanMgPT09IGV4YW1wbGUuanMKKzAgPT09IDAKKzAgPT09IDAKK2V4YW1wbGUu
anMgPT09IGV4YW1wbGUuanMKKzAgPT09IDAKKzIgPT09IDIKKworUnVubmluZzogdGVzdEVtcHR5
TGluZQorZXhhbXBsZS5qcyA9PT0gZXhhbXBsZS5qcworMCA9PT0gMAorMCA9PT0gMAorMyA9PT0g
MworMSA9PT0gMQorCitSdW5uaW5nOiB0ZXN0U2VjdGlvbnMKK3NvdXJjZTEuanMgPT09IHNvdXJj
ZTEuanMKKzAgPT09IDAKKzAgPT09IDAKK3NvdXJjZTEuanMgPT09IHNvdXJjZTEuanMKKzIgPT09
IDIKKzEgPT09IDEKK3NvdXJjZTIuanMgPT09IHNvdXJjZTIuanMKKzAgPT09IDAKKzAgPT09IDAK
K3NvdXJjZTIuanMgPT09IHNvdXJjZTIuanMKKzIgPT09IDIKKzEgPT09IDEKKworUnVubmluZzog
dGVzdFJlc29sdmVTb3VyY2VNYXBVUkwKK2h0dHA6Ly9leGFtcGxlLmNvbS9tYXAuanNvbiA9PT0g
aHR0cDovL2V4YW1wbGUuY29tL21hcC5qc29uCitodHRwOi8vZXhhbXBsZS5jb20vbWFwLmpzb24g
PT09IGh0dHA6Ly9leGFtcGxlLmNvbS9tYXAuanNvbgoraHR0cDovL2V4YW1wbGUuY29tL3Njcmlw
dHMvLi4vbWFwcy9tYXAuanNvbiA9PT0gaHR0cDovL2V4YW1wbGUuY29tL3NjcmlwdHMvLi4vbWFw
cy9tYXAuanNvbgorCitSdW5uaW5nOiB0ZXN0Q29tcGlsZXJTY3JpcHRNYXBwaW5nCisKK1J1bm5p
bmc6IHRlc3RDb21waWxlclNjcmlwdE1hcHBpbmdXaGVuUmVzb3VyY2VXYXNMb2FkZWRBZnRlclNv
dXJjZQorCitSdW5uaW5nOiB0ZXN0SW5saW5lZFNvdXJjZU1hcAorPHNvdXJjZSBjb250ZW50PiA9
PT0gPHNvdXJjZSBjb250ZW50PgorCitSdW5uaW5nOiB0ZXN0U291cmNlTWFwQ291bGROb3RCZUxv
YWRlZAorY29tcGlsZWQuanMKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9i
c29sZXRlL2h0dHAtdGVzdHMvY29tcGlsZXItc2NyaXB0LW1hcHBpbmcuaHRtbCBiL0xheW91dFRl
c3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL2NvbXBpbGVyLXNjcmlwdC1tYXBwaW5n
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNzJjZTllMzk4NmQ1ZjkxZDU1ZGYxNTQ5ZTQzYWUwNmRmNDQ2MDk5
NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRw
LXRlc3RzL2NvbXBpbGVyLXNjcmlwdC1tYXBwaW5nLmh0bWwKQEAgLTAsMCArMSwzNDIgQEAKKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9ImRlYnVnZ2VyLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Indv
cmtzcGFjZS10ZXN0LmpzIj48L3NjcmlwdD4KKworPHNjcmlwdD4KKworZnVuY3Rpb24gdGVzdCgp
Cit7CisgICAgdmFyIGRlZmF1bHRTY3JpcHRNYXBwaW5nOworICAgIHZhciByZXNvdXJjZVNjcmlw
dE1hcHBpbmc7CisKKyAgICBmdW5jdGlvbiBjcmVhdGVDb21waWxlclNjcmlwdE1hcHBpbmcoKQor
ICAgIHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5jcmVhdGVXb3Jrc3BhY2UoKTsKKyAgICAgICAg
dmFyIGNvbXBpbGVyU2NyaXB0TWFwcGluZyA9IG5ldyBXZWJJbnNwZWN0b3IuQ29tcGlsZXJTY3Jp
cHRNYXBwaW5nKEluc3BlY3RvclRlc3QudGVzdFdvcmtzcGFjZSwgSW5zcGVjdG9yVGVzdC50ZXN0
TmV0d29ya1dvcmtzcGFjZVByb3ZpZGVyKTsKKyAgICAgICAgcmVzb3VyY2VTY3JpcHRNYXBwaW5n
ID0gbmV3IFdlYkluc3BlY3Rvci5SZXNvdXJjZVNjcmlwdE1hcHBpbmcoSW5zcGVjdG9yVGVzdC50
ZXN0V29ya3NwYWNlKTsKKyAgICAgICAgZGVmYXVsdFNjcmlwdE1hcHBpbmcgPSBuZXcgV2ViSW5z
cGVjdG9yLkRlZmF1bHRTY3JpcHRNYXBwaW5nKEluc3BlY3RvclRlc3QudGVzdFdvcmtzcGFjZSk7
CisgICAgICAgIHJldHVybiBjb21waWxlclNjcmlwdE1hcHBpbmc7CisgICAgfQorCisgICAgZnVu
Y3Rpb24gY2hlY2tNYXBwaW5nKGNvbXBpbGVkTGluZU51bWJlciwgY29tcGlsZWRDb2x1bW5OdW1i
ZXIsIHNvdXJjZVVSTCwgc291cmNlTGluZU51bWJlciwgc291cmNlQ29sdW1uTnVtYmVyLCBtYXBw
aW5nKQorICAgIHsKKyAgICAgICAgdmFyIGVudHJ5ID0gbWFwcGluZy5maW5kRW50cnkoY29tcGls
ZWRMaW5lTnVtYmVyLCBjb21waWxlZENvbHVtbk51bWJlcik7CisgICAgICAgIEluc3BlY3RvclRl
c3QuYWRkUmVzdWx0KHNvdXJjZVVSTCArICIgPT09ICIgKyBlbnRyeVsyXSk7CisgICAgICAgIElu
c3BlY3RvclRlc3QuYWRkUmVzdWx0KHNvdXJjZUxpbmVOdW1iZXIgKyAiID09PSAiICsgZW50cnlb
M10pOworICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdChzb3VyY2VDb2x1bW5OdW1iZXIg
KyAiID09PSAiICsgZW50cnlbNF0pOworICAgIH0KKworICAgIGZ1bmN0aW9uIGNoZWNrUmV2ZXJz
ZU1hcHBpbmcoY29tcGlsZWRMaW5lTnVtYmVyLCBjb21waWxlZENvbHVtbk51bWJlciwgc291cmNl
VVJMLCBzb3VyY2VMaW5lTnVtYmVyLCBtYXBwaW5nKQorICAgIHsKKyAgICAgICAgdmFyIGVudHJ5
ID0gbWFwcGluZy5maW5kRW50cnlSZXZlcnNlZChzb3VyY2VVUkwsIHNvdXJjZUxpbmVOdW1iZXIp
OworICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdChjb21waWxlZExpbmVOdW1iZXIgKyAi
ID09PSAiICsgZW50cnlbMF0pOworICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdChjb21w
aWxlZENvbHVtbk51bWJlciArICIgPT09ICIgKyBlbnRyeVsxXSk7CisgICAgfQorCisgICAgSW5z
cGVjdG9yVGVzdC5ydW5UZXN0U3VpdGUoWworICAgICAgICBmdW5jdGlvbiB0ZXN0U2ltcGxlTWFw
KG5leHQpCisgICAgICAgIHsKKyAgICAgICAgICAgIC8qCisgICAgICAgICAgICAgICAgZXhhbXBs
ZS5qczoKKyAgICAgICAgICAgICAgICAwICAgICAgICAgMSAgICAgICAgIDIgICAgICAgICAzCisg
ICAgICAgICAgICAgICAgMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1CisgICAg
ICAgICAgICAgICAgZnVuY3Rpb24gYWRkKHZhcmlhYmxlX3gsIHZhcmlhYmxlX3kpCisgICAgICAg
ICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICByZXR1cm4gdmFyaWFibGVfeCArIHZhcmlh
YmxlX3k7CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgdmFyIGdsb2JhbCA9
ICJmb28iOworICAgICAgICAgICAgICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0KKyAgICAgICAgICAgICAgICBleGFtcGxlLWNvbXBpbGVkLmpzOgorICAgICAgICAg
ICAgICAgIDAgICAgICAgICAxICAgICAgICAgMiAgICAgICAgIDMKKyAgICAgICAgICAgICAgICAw
MTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDUKKyAgICAgICAgICAgICAgICBmdW5j
dGlvbiBhZGQoYSxiKXtyZXR1cm4gYStifXZhciBnbG9iYWw9ImZvbyI7CisgICAgICAgICAgICAq
LworICAgICAgICAgICAgdmFyIG1hcHBpbmdQYXlsb2FkID0geworICAgICAgICAgICAgICAgICJt
YXBwaW5ncyI6IkFBQVNBLFFBQUFBLElBQUcsQ0FBQ0MsQ0FBRCxDQUFhQyxDQUFiLENBQ1osQ0FD
SSxNQUFPRCxFQUFQLENBQW9CQyxDQUR4QixDQUlBLElBQUlDLE9BQVM7IiwKKyAgICAgICAgICAg
ICAgICAic291cmNlcyI6WyJleGFtcGxlLmpzIl0KKyAgICAgICAgICAgIH07CisgICAgICAgICAg
ICB2YXIgbWFwcGluZyA9IG5ldyBXZWJJbnNwZWN0b3IuU291cmNlTWFwKCJzb3VyY2UtbWFwLmpz
b24iLCBtYXBwaW5nUGF5bG9hZCk7CisKKyAgICAgICAgICAgIGNoZWNrTWFwcGluZygwLCA5LCAi
ZXhhbXBsZS5qcyIsIDAsIDksIG1hcHBpbmcpOworICAgICAgICAgICAgY2hlY2tNYXBwaW5nKDAs
IDEzLCAiZXhhbXBsZS5qcyIsIDAsIDEzLCBtYXBwaW5nKTsKKyAgICAgICAgICAgIGNoZWNrTWFw
cGluZygwLCAxNSwgImV4YW1wbGUuanMiLCAwLCAyNSwgbWFwcGluZyk7CisgICAgICAgICAgICBj
aGVja01hcHBpbmcoMCwgMTgsICJleGFtcGxlLmpzIiwgMiwgNCwgbWFwcGluZyk7CisgICAgICAg
ICAgICBjaGVja01hcHBpbmcoMCwgMjUsICJleGFtcGxlLmpzIiwgMiwgMTEsIG1hcHBpbmcpOwor
ICAgICAgICAgICAgY2hlY2tNYXBwaW5nKDAsIDI3LCAiZXhhbXBsZS5qcyIsIDIsIDI0LCBtYXBw
aW5nKTsKKworICAgICAgICAgICAgY2hlY2tSZXZlcnNlTWFwcGluZygwLCAwLCAiZXhhbXBsZS5q
cyIsIDAsIG1hcHBpbmcpOworICAgICAgICAgICAgY2hlY2tSZXZlcnNlTWFwcGluZygwLCAxNywg
ImV4YW1wbGUuanMiLCAxLCBtYXBwaW5nKTsKKyAgICAgICAgICAgIGNoZWNrUmV2ZXJzZU1hcHBp
bmcoMCwgMTgsICJleGFtcGxlLmpzIiwgMiwgbWFwcGluZyk7CisgICAgICAgICAgICBjaGVja1Jl
dmVyc2VNYXBwaW5nKDAsIDI5LCAiZXhhbXBsZS5qcyIsIDQsIG1hcHBpbmcpOworICAgICAgICAg
ICAgY2hlY2tSZXZlcnNlTWFwcGluZygwLCAyOSwgImV4YW1wbGUuanMiLCA1LCBtYXBwaW5nKTsK
KworICAgICAgICAgICAgbmV4dCgpOworICAgICAgICB9LAorCisgICAgICAgIGZ1bmN0aW9uIHRl
c3ROb01hcHBpbmdFbnRyeShuZXh0KQorICAgICAgICB7CisgICAgICAgICAgICB2YXIgbWFwcGlu
Z1BheWxvYWQgPSB7CisgICAgICAgICAgICAgICAgIm1hcHBpbmdzIjoiQUFBQSxDLENBQUU7IiwK
KyAgICAgICAgICAgICAgICAic291cmNlcyI6WyJleGFtcGxlLmpzIl0KKyAgICAgICAgICAgIH07
CisgICAgICAgICAgICB2YXIgbWFwcGluZyA9IG5ldyBXZWJJbnNwZWN0b3IuU291cmNlTWFwKCJz
b3VyY2UtbWFwLmpzb24iLCBtYXBwaW5nUGF5bG9hZCk7CisgICAgICAgICAgICBjaGVja01hcHBp
bmcoMCwgMCwgImV4YW1wbGUuanMiLCAwLCAwLCBtYXBwaW5nKTsKKyAgICAgICAgICAgIHZhciBl
bnRyeSA9IG1hcHBpbmcuZmluZEVudHJ5KDAsIDEpOworICAgICAgICAgICAgSW5zcGVjdG9yVGVz
dC5hc3NlcnRFcXVhbHMoMiwgZW50cnkubGVuZ3RoKTsKKyAgICAgICAgICAgIGNoZWNrTWFwcGlu
ZygwLCAyLCAiZXhhbXBsZS5qcyIsIDAsIDIsIG1hcHBpbmcpOworICAgICAgICAgICAgbmV4dCgp
OworICAgICAgICB9LAorCisgICAgICAgIGZ1bmN0aW9uIHRlc3RFbXB0eUxpbmUobmV4dCkKKyAg
ICAgICAgeworICAgICAgICAgICAgdmFyIG1hcHBpbmdQYXlsb2FkID0geworICAgICAgICAgICAg
ICAgICJtYXBwaW5ncyI6IkFBQUE7OztDQUNBIiwKKyAgICAgICAgICAgICAgICAic291cmNlcyI6
WyJleGFtcGxlLmpzIl0KKyAgICAgICAgICAgIH07CisgICAgICAgICAgICB2YXIgbWFwcGluZyA9
IG5ldyBXZWJJbnNwZWN0b3IuU291cmNlTWFwKCJzb3VyY2UtbWFwLmpzb24iLCBtYXBwaW5nUGF5
bG9hZCk7CisgICAgICAgICAgICBjaGVja01hcHBpbmcoMCwgMCwgImV4YW1wbGUuanMiLCAwLCAw
LCBtYXBwaW5nKTsKKyAgICAgICAgICAgIGNoZWNrUmV2ZXJzZU1hcHBpbmcoMywgMSwgImV4YW1w
bGUuanMiLCAxLCBtYXBwaW5nKTsKKyAgICAgICAgICAgIG5leHQoKTsKKyAgICAgICAgfSwKKwor
ICAgICAgICBmdW5jdGlvbiB0ZXN0U2VjdGlvbnMobmV4dCkKKyAgICAgICAgeworICAgICAgICAg
ICAgdmFyIG1hcHBpbmdQYXlsb2FkID0geworICAgICAgICAgICAgICAgICJzZWN0aW9ucyI6IFt7
CisgICAgICAgICAgICAgICAgICAgICJvZmZzZXQiOiB7ICJsaW5lIjogMCwgImNvbHVtbiI6IDAg
fSwKKyAgICAgICAgICAgICAgICAgICAgIm1hcCI6IHsKKyAgICAgICAgICAgICAgICAgICAgICAg
ICJtYXBwaW5ncyI6IkFBQUEsQ0FFQyIsCisgICAgICAgICAgICAgICAgICAgICAgICAic291cmNl
cyI6WyJzb3VyY2UxLmpzIiwgInNvdXJjZTIuanMiXQorICAgICAgICAgICAgICAgICAgICB9Cisg
ICAgICAgICAgICAgICAgfSwgeworICAgICAgICAgICAgICAgICAgICAib2Zmc2V0IjogeyAibGlu
ZSI6IDIsICJjb2x1bW4iOiAxMCB9LAorICAgICAgICAgICAgICAgICAgICAibWFwIjogeworICAg
ICAgICAgICAgICAgICAgICAgICAgIm1hcHBpbmdzIjoiQUFBQSxDQUVDIiwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICJzb3VyY2VzIjpbInNvdXJjZTIuanMiXQorICAgICAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgXX07CisgICAgICAgICAgICB2YXIg
bWFwcGluZyA9IG5ldyBXZWJJbnNwZWN0b3IuU291cmNlTWFwKCJzb3VyY2UtbWFwLmpzb24iLCBt
YXBwaW5nUGF5bG9hZCk7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydEVxdWFscygy
LCBtYXBwaW5nLnNvdXJjZXMoKS5sZW5ndGgpOworICAgICAgICAgICAgY2hlY2tNYXBwaW5nKDAs
IDAsICJzb3VyY2UxLmpzIiwgMCwgMCwgbWFwcGluZyk7CisgICAgICAgICAgICBjaGVja01hcHBp
bmcoMCwgMSwgInNvdXJjZTEuanMiLCAyLCAxLCBtYXBwaW5nKTsKKyAgICAgICAgICAgIGNoZWNr
TWFwcGluZygyLCAxMCwgInNvdXJjZTIuanMiLCAwLCAwLCBtYXBwaW5nKTsKKyAgICAgICAgICAg
IGNoZWNrTWFwcGluZygyLCAxMSwgInNvdXJjZTIuanMiLCAyLCAxLCBtYXBwaW5nKTsKKyAgICAg
ICAgICAgIG5leHQoKTsKKyAgICAgICAgfSwKKworICAgICAgICBmdW5jdGlvbiB0ZXN0UmVzb2x2
ZVNvdXJjZU1hcFVSTChuZXh0KQorICAgICAgICB7CisgICAgICAgICAgICB2YXIgZnVuYyA9IFdl
Ykluc3BlY3Rvci5QYXJzZWRVUkwuY29tcGxldGVVUkw7CisgICAgICAgICAgICBJbnNwZWN0b3JU
ZXN0LmFkZFJlc3VsdCgiaHR0cDovL2V4YW1wbGUuY29tL21hcC5qc29uID09PSAiICsgZnVuYygi
aHR0cDovL2V4YW1wbGUuY29tL3NjcmlwdC5qcyIsICJodHRwOi8vZXhhbXBsZS5jb20vbWFwLmpz
b24iKSk7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiaHR0cDovL2V4YW1w
bGUuY29tL21hcC5qc29uID09PSAiICsgZnVuYygiaHR0cDovL2V4YW1wbGUuY29tL3NjcmlwdC5q
cyIsICIvbWFwLmpzb24iKSk7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgi
aHR0cDovL2V4YW1wbGUuY29tL3NjcmlwdHMvLi4vbWFwcy9tYXAuanNvbiA9PT0gIiArIGZ1bmMo
Imh0dHA6Ly9leGFtcGxlLmNvbS9zY3JpcHRzL3NjcmlwdC5qcyIsICIuLi9tYXBzL21hcC5qc29u
IikpOworICAgICAgICAgICAgbmV4dCgpOworICAgICAgICB9LAorCisgICAgICAgIGZ1bmN0aW9u
IHRlc3RDb21waWxlclNjcmlwdE1hcHBpbmcobmV4dCkKKyAgICAgICAgeworICAgICAgICAgICAg
dmFyIHNjcmlwdDsKKyAgICAgICAgICAgIFdlYkluc3BlY3Rvci5kZWJ1Z2dlck1vZGVsLl9yZXNl
dCgpOworICAgICAgICAgICAgdmFyIG1hcHBpbmcgPSBjcmVhdGVDb21waWxlclNjcmlwdE1hcHBp
bmcoKTsKKyAgICAgICAgICAgIHZhciBvcmlnaW5hbFVJU291cmNlQ29kZTsKKyAgICAgICAgICAg
IHN0ZXAxKCk7CisKKyAgICAgICAgICAgIGZ1bmN0aW9uIHN0ZXAxKCkKKyAgICAgICAgICAgIHsK
KyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LndhaXRGb3JXb3Jrc3BhY2VVSVNvdXJjZUNv
ZGVBZGRlZEV2ZW50KG9yaWdpbmFsVUlTb3VyY2VDb2RlQWRkZWQpOworICAgICAgICAgICAgICAg
IHNjcmlwdCA9IEluc3BlY3RvclRlc3QuY3JlYXRlU2NyaXB0TW9jaygiY29tcGlsZWQuanMiLCAw
LCAwLCB0cnVlLCAiIik7CisgICAgICAgICAgICAgICAgc2NyaXB0LnNvdXJjZU1hcFVSTCA9ICJo
dHRwOi8vbG9jYWxob3N0OjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlcy9zb3VyY2UtbWFwLmpzb24i
OworICAgICAgICAgICAgICAgIGRlZmF1bHRTY3JpcHRNYXBwaW5nLmFkZFNjcmlwdChzY3JpcHQp
OworICAgICAgICAgICAgICAgIHJlc291cmNlU2NyaXB0TWFwcGluZy5hZGRTY3JpcHQoc2NyaXB0
KTsKKyAgICAgICAgICAgICAgICBtYXBwaW5nLmFkZFNjcmlwdChzY3JpcHQpOworICAgICAgICAg
ICAgICAgIGFmdGVyU2NyaXB0QWRkZWQoKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAg
ZnVuY3Rpb24gb3JpZ2luYWxVSVNvdXJjZUNvZGVBZGRlZCh1aVNvdXJjZUNvZGUpCisgICAgICAg
ICAgICB7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC53YWl0Rm9yV29ya3NwYWNlVUlT
b3VyY2VDb2RlQWRkZWRFdmVudChvcmlnaW5hbFJlc291cmNlVUlTb3VyY2VDb2RlQWRkZWQpOwor
ICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkTW9ja1VJU291cmNlQ29kZVRvV29ya3Nw
YWNlKCJjb21waWxlZC5qcyIsIFdlYkluc3BlY3Rvci5yZXNvdXJjZVR5cGVzLlNjcmlwdCwgIiIp
OworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBmdW5jdGlvbiBvcmlnaW5hbFJlc291cmNl
VUlTb3VyY2VDb2RlQWRkZWQodWlTb3VyY2VDb2RlKQorICAgICAgICAgICAgeworICAgICAgICAg
ICAgICAgIEluc3BlY3RvclRlc3Qud2FpdEZvcldvcmtzcGFjZVVJU291cmNlQ29kZUFkZGVkRXZl
bnQoZmlyc3RVSVNvdXJjZUNvZGVBZGRlZCk7CisgICAgICAgICAgICAgICAgb3JpZ2luYWxVSVNv
dXJjZUNvZGUgPSB1aVNvdXJjZUNvZGU7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGZ1
bmN0aW9uIGZpcnN0VUlTb3VyY2VDb2RlQWRkZWQodWlTb3VyY2VDb2RlKQorICAgICAgICAgICAg
eworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3Qud2FpdEZvcldvcmtzcGFjZVVJU291cmNl
Q29kZUFkZGVkRXZlbnQoc2Vjb25kVUlTb3VyY2VDb2RlQWRkZWQpOworICAgICAgICAgICAgfQor
CisgICAgICAgICAgICBmdW5jdGlvbiBzZWNvbmRVSVNvdXJjZUNvZGVBZGRlZCh1aVNvdXJjZUNv
ZGUpIHsgfQorCisgICAgICAgICAgICBmdW5jdGlvbiBhZnRlclNjcmlwdEFkZGVkKHVpU291cmNl
Q29kZSkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICB2YXIgdWlTb3VyY2VDb2RlMSA9
IEluc3BlY3RvclRlc3QudGVzdFdvcmtzcGFjZS51aVNvdXJjZUNvZGVGb3JPcmlnaW5VUkwoImh0
dHA6Ly9sb2NhbGhvc3Q6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2VzL3NvdXJjZTEuanMiKTsKKyAg
ICAgICAgICAgICAgICB2YXIgdWlTb3VyY2VDb2RlMiA9IEluc3BlY3RvclRlc3QudGVzdFdvcmtz
cGFjZS51aVNvdXJjZUNvZGVGb3JPcmlnaW5VUkwoImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9pbnNw
ZWN0b3IvcmVzb3VyY2VzL3NvdXJjZTIuanMiKTsKKworICAgICAgICAgICAgICAgIEluc3BlY3Rv
clRlc3QuY2hlY2tVSUxvY2F0aW9uKHVpU291cmNlQ29kZTEsIDQsIDQsIHNjcmlwdC5yYXdMb2Nh
dGlvblRvVUlMb2NhdGlvbigwLCA4MSkpOworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3Qu
Y2hlY2tVSUxvY2F0aW9uKHVpU291cmNlQ29kZTEsIDUsIDQsIHNjcmlwdC5yYXdMb2NhdGlvblRv
VUlMb2NhdGlvbigwLCA5MykpOworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuY2hlY2tV
SUxvY2F0aW9uKHVpU291cmNlQ29kZTIsIDcsIDQsIHNjcmlwdC5yYXdMb2NhdGlvblRvVUlMb2Nh
dGlvbigxLCAxNTEpKTsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmNoZWNrVUlMb2Nh
dGlvbihvcmlnaW5hbFVJU291cmNlQ29kZSwgMSwgMjAwLCBzY3JpcHQucmF3TG9jYXRpb25Ub1VJ
TG9jYXRpb24oMSwgMjAwKSk7CisKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmNoZWNr
UmF3TG9jYXRpb24oc2NyaXB0LCAwLCA0MiwgdWlTb3VyY2VDb2RlMS51aUxvY2F0aW9uVG9SYXdM
b2NhdGlvbigzLCAxMCkpOworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuY2hlY2tSYXdM
b2NhdGlvbihzY3JpcHQsIDEsIDg1LCB1aVNvdXJjZUNvZGUyLnVpTG9jYXRpb25Ub1Jhd0xvY2F0
aW9uKDAsIDApKTsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmNoZWNrUmF3TG9jYXRp
b24oc2NyaXB0LCAxLCAxMTAsIHVpU291cmNlQ29kZTIudWlMb2NhdGlvblRvUmF3TG9jYXRpb24o
NSwgMikpOworCisgICAgICAgICAgICAgICAgdWlTb3VyY2VDb2RlMS5yZXF1ZXN0Q29udGVudChk
aWRSZXF1ZXN0Q29udGVudDEpOworCisgICAgICAgICAgICAgICAgZnVuY3Rpb24gZGlkUmVxdWVz
dENvbnRlbnQxKGNvbnRlbnQsIGNvbnRlbnRFbmNvZGVkLCBtaW1lVHlwZSkKKyAgICAgICAgICAg
ICAgICB7CisgICAgICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0RXF1YWxzKDAs
IGNvbnRlbnQuaW5kZXhPZigid2luZG93LmFkZEV2ZW50TGlzdGVuZXIiKSk7CisgICAgICAgICAg
ICAgICAgICAgIHVpU291cmNlQ29kZTIucmVxdWVzdENvbnRlbnQoZGlkUmVxdWVzdENvbnRlbnQy
KTsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICBmdW5jdGlvbiBkaWRSZXF1
ZXN0Q29udGVudDIoY29udGVudCwgY29udGVudEVuY29kZWQsIG1pbWVUeXBlKQorICAgICAgICAg
ICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRFcXVhbHMo
MCwgY29udGVudC5pbmRleE9mKCJmdW5jdGlvbiBDbGlja0hhbmRsZXIoKSIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgbmV4dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAg
ICAgICAgfSwKKworICAgICAgICBmdW5jdGlvbiB0ZXN0Q29tcGlsZXJTY3JpcHRNYXBwaW5nV2hl
blJlc291cmNlV2FzTG9hZGVkQWZ0ZXJTb3VyY2UobmV4dCkKKyAgICAgICAgeworICAgICAgICAg
ICAgdmFyIHNjcmlwdDsKKyAgICAgICAgICAgIFdlYkluc3BlY3Rvci5kZWJ1Z2dlck1vZGVsLl9y
ZXNldCgpOworICAgICAgICAgICAgdmFyIG1hcHBpbmcgPSBjcmVhdGVDb21waWxlclNjcmlwdE1h
cHBpbmcoKTsKKyAgICAgICAgICAgIHZhciBvcmlnaW5hbFVJU291cmNlQ29kZTsKKyAgICAgICAg
ICAgIHN0ZXAxKCk7CisKKyAgICAgICAgICAgIGZ1bmN0aW9uIHN0ZXAxKCkKKyAgICAgICAgICAg
IHsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LndhaXRGb3JXb3Jrc3BhY2VVSVNvdXJj
ZUNvZGVBZGRlZEV2ZW50KGZ1bmN0aW9uKCkgeyB9KTsKKyAgICAgICAgICAgICAgICBzY3JpcHQg
PSBJbnNwZWN0b3JUZXN0LmNyZWF0ZVNjcmlwdE1vY2soImNvbXBpbGVkLmpzIiwgMCwgMCwgdHJ1
ZSwgIiIpOworICAgICAgICAgICAgICAgIHNjcmlwdC5zb3VyY2VNYXBVUkwgPSAiaHR0cDovL2xv
Y2FsaG9zdDo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZXMvc291cmNlLW1hcC5qc29uIjsKKyAgICAg
ICAgICAgICAgICBkZWZhdWx0U2NyaXB0TWFwcGluZy5hZGRTY3JpcHQoc2NyaXB0KTsKKyAgICAg
ICAgICAgICAgICByZXNvdXJjZVNjcmlwdE1hcHBpbmcuYWRkU2NyaXB0KHNjcmlwdCk7CisgICAg
ICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC53YWl0Rm9yV29ya3NwYWNlVUlTb3VyY2VDb2RlQWRk
ZWRFdmVudChmaXJzdFVJU291cmNlQ29kZUFkZGVkKTsKKyAgICAgICAgICAgICAgICBtYXBwaW5n
LmFkZFNjcmlwdChzY3JpcHQpOworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3Qud2FpdEZv
cldvcmtzcGFjZVVJU291cmNlQ29kZUFkZGVkRXZlbnQob3JpZ2luYWxSZXNvdXJjZVVJU291cmNl
Q29kZUFkZGVkKTsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZE1vY2tVSVNvdXJj
ZUNvZGVUb1dvcmtzcGFjZSgiY29tcGlsZWQuanMiLCBXZWJJbnNwZWN0b3IucmVzb3VyY2VUeXBl
cy5TY3JpcHQsICIiKTsKKyAgICAgICAgICAgICAgICBhZnRlclNjcmlwdEFkZGVkKCk7CisgICAg
ICAgICAgICB9CisKKyAgICAgICAgICAgIGZ1bmN0aW9uIG9yaWdpbmFsUmVzb3VyY2VVSVNvdXJj
ZUNvZGVBZGRlZCh1aVNvdXJjZUNvZGUpIHsKKyAgICAgICAgICAgICAgICBvcmlnaW5hbFVJU291
cmNlQ29kZSA9IHVpU291cmNlQ29kZTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgZnVu
Y3Rpb24gZmlyc3RVSVNvdXJjZUNvZGVBZGRlZCh1aVNvdXJjZUNvZGUpCisgICAgICAgICAgICB7
CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC53YWl0Rm9yV29ya3NwYWNlVUlTb3VyY2VD
b2RlQWRkZWRFdmVudChmdW5jdGlvbigpIHsgfSk7CisgICAgICAgICAgICB9CisKKyAgICAgICAg
ICAgIGZ1bmN0aW9uIGFmdGVyU2NyaXB0QWRkZWQodWlTb3VyY2VDb2RlKQorICAgICAgICAgICAg
eworICAgICAgICAgICAgICAgIHZhciB1aVNvdXJjZUNvZGUxID0gSW5zcGVjdG9yVGVzdC50ZXN0
V29ya3NwYWNlLnVpU291cmNlQ29kZUZvck9yaWdpblVSTCgiaHR0cDovL2xvY2FsaG9zdDo4MDAw
L2luc3BlY3Rvci9yZXNvdXJjZXMvc291cmNlMS5qcyIpOworICAgICAgICAgICAgICAgIHZhciB1
aVNvdXJjZUNvZGUyID0gSW5zcGVjdG9yVGVzdC50ZXN0V29ya3NwYWNlLnVpU291cmNlQ29kZUZv
ck9yaWdpblVSTCgiaHR0cDovL2xvY2FsaG9zdDo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZXMvc291
cmNlMi5qcyIpOworCisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5jaGVja1VJTG9jYXRp
b24odWlTb3VyY2VDb2RlMSwgNCwgNCwgc2NyaXB0LnJhd0xvY2F0aW9uVG9VSUxvY2F0aW9uKDAs
IDgxKSk7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5jaGVja1VJTG9jYXRpb24odWlT
b3VyY2VDb2RlMSwgNSwgNCwgc2NyaXB0LnJhd0xvY2F0aW9uVG9VSUxvY2F0aW9uKDAsIDkzKSk7
CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5jaGVja1VJTG9jYXRpb24odWlTb3VyY2VD
b2RlMiwgNywgNCwgc2NyaXB0LnJhd0xvY2F0aW9uVG9VSUxvY2F0aW9uKDEsIDE1MSkpOworICAg
ICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuY2hlY2tVSUxvY2F0aW9uKG9yaWdpbmFsVUlTb3Vy
Y2VDb2RlLCAxLCAyMDAsIHNjcmlwdC5yYXdMb2NhdGlvblRvVUlMb2NhdGlvbigxLCAyMDApKTsK
KworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuY2hlY2tSYXdMb2NhdGlvbihzY3JpcHQs
IDAsIDQyLCB1aVNvdXJjZUNvZGUxLnVpTG9jYXRpb25Ub1Jhd0xvY2F0aW9uKDMsIDEwKSk7Cisg
ICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5jaGVja1Jhd0xvY2F0aW9uKHNjcmlwdCwgMSwg
ODUsIHVpU291cmNlQ29kZTIudWlMb2NhdGlvblRvUmF3TG9jYXRpb24oMCwgMCkpOworICAgICAg
ICAgICAgICAgIEluc3BlY3RvclRlc3QuY2hlY2tSYXdMb2NhdGlvbihzY3JpcHQsIDEsIDExMCwg
dWlTb3VyY2VDb2RlMi51aUxvY2F0aW9uVG9SYXdMb2NhdGlvbig1LCAyKSk7CisKKyAgICAgICAg
ICAgICAgICB1aVNvdXJjZUNvZGUxLnJlcXVlc3RDb250ZW50KGRpZFJlcXVlc3RDb250ZW50MSk7
CisKKyAgICAgICAgICAgICAgICBmdW5jdGlvbiBkaWRSZXF1ZXN0Q29udGVudDEoY29udGVudCwg
Y29udGVudEVuY29kZWQsIG1pbWVUeXBlKQorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAg
ICAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRFcXVhbHMoMCwgY29udGVudC5pbmRleE9mKCJ3
aW5kb3cuYWRkRXZlbnRMaXN0ZW5lciIpKTsKKyAgICAgICAgICAgICAgICAgICAgdWlTb3VyY2VD
b2RlMi5yZXF1ZXN0Q29udGVudChkaWRSZXF1ZXN0Q29udGVudDIpOworICAgICAgICAgICAgICAg
IH0KKworICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGRpZFJlcXVlc3RDb250ZW50Mihjb250ZW50
LCBjb250ZW50RW5jb2RlZCwgbWltZVR5cGUpCisgICAgICAgICAgICAgICAgeworICAgICAgICAg
ICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydEVxdWFscygwLCBjb250ZW50LmluZGV4T2Yo
ImZ1bmN0aW9uIENsaWNrSGFuZGxlcigpIikpOworICAgICAgICAgICAgICAgICAgICBuZXh0KCk7
CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICB9LAorCisgICAgICAg
IGZ1bmN0aW9uIHRlc3RJbmxpbmVkU291cmNlTWFwKG5leHQpCisgICAgICAgIHsKKyAgICAgICAg
ICAgIFdlYkluc3BlY3Rvci5kZWJ1Z2dlck1vZGVsLl9yZXNldCgpOworICAgICAgICAgICAgdmFy
IG1hcHBpbmcgPSBjcmVhdGVDb21waWxlclNjcmlwdE1hcHBpbmcoKTsKKyAgICAgICAgICAgIHZh
ciBzY3JpcHQgPSBJbnNwZWN0b3JUZXN0LmNyZWF0ZVNjcmlwdE1vY2soImh0dHA6Ly9leGFtcGxl
LmNvbS9jb21waWxlZC5qcyIsIDAsIDAsIHRydWUsICIiKTsKKyAgICAgICAgICAgIHZhciBzb3Vy
Y2VNYXAgPSB7CisgICAgICAgICAgICAgICAgImZpbGUiOiJjb21waWxlZC5qcyIsCisgICAgICAg
ICAgICAgICAgIm1hcHBpbmdzIjoiQUFBU0EsUUFBQUEsSUFBRyxDQUFDQyxDQUFELENBQWFDLENB
QWIsQ0FDWixDQUNJLE1BQU9ELEVBQVAsQ0FBb0JDLENBRHhCLENBSUEsSUFBSUMsT0FBUzsiLAor
ICAgICAgICAgICAgICAgICJzb3VyY2VzIjpbInNvdXJjZS5qcyJdLAorICAgICAgICAgICAgICAg
ICJzb3VyY2VzQ29udGVudCI6WyI8c291cmNlIGNvbnRlbnQ+Il0KKyAgICAgICAgICAgIH07Cisg
ICAgICAgICAgICBzY3JpcHQuc291cmNlTWFwVVJMID0gImRhdGE6YXBwbGljYXRpb24vanNvbjti
YXNlNjQsIiArIGJ0b2EoSlNPTi5zdHJpbmdpZnkoc291cmNlTWFwKSk7CisgICAgICAgICAgICBJ
bnNwZWN0b3JUZXN0LndhaXRGb3JXb3Jrc3BhY2VVSVNvdXJjZUNvZGVBZGRlZEV2ZW50KGNvbXBp
bGVkVUlTb3VyY2VDb2RlQWRkZWQpOworCisgICAgICAgICAgICBmdW5jdGlvbiBjb21waWxlZFVJ
U291cmNlQ29kZUFkZGVkKHVpU291cmNlQ29kZSkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAg
ICAgICBJbnNwZWN0b3JUZXN0LndhaXRGb3JXb3Jrc3BhY2VVSVNvdXJjZUNvZGVBZGRlZEV2ZW50
KG9yaWdpbmFsVUlTb3VyY2VDb2RlQWRkZWQpOworICAgICAgICAgICAgfQorCisgICAgICAgICAg
ICBmdW5jdGlvbiBvcmlnaW5hbFVJU291cmNlQ29kZUFkZGVkKHVpU291cmNlQ29kZSkgeyB9Cisg
ICAgICAgICAgICAKKyAgICAgICAgICAgIGRlZmF1bHRTY3JpcHRNYXBwaW5nLmFkZFNjcmlwdChz
Y3JpcHQpOworICAgICAgICAgICAgcmVzb3VyY2VTY3JpcHRNYXBwaW5nLmFkZFNjcmlwdChzY3Jp
cHQpOworICAgICAgICAgICAgbWFwcGluZy5hZGRTY3JpcHQoc2NyaXB0KTsKKworICAgICAgICAg
ICAgdmFyIHVpU291cmNlQ29kZSA9IEluc3BlY3RvclRlc3QudGVzdFdvcmtzcGFjZS51aVNvdXJj
ZUNvZGVGb3JPcmlnaW5VUkwoImh0dHA6Ly9leGFtcGxlLmNvbS9zb3VyY2UuanMiKTsKKworICAg
ICAgICAgICAgSW5zcGVjdG9yVGVzdC5jaGVja1VJTG9jYXRpb24odWlTb3VyY2VDb2RlLCAyLCA0
LCBtYXBwaW5nLnJhd0xvY2F0aW9uVG9VSUxvY2F0aW9uKFdlYkluc3BlY3Rvci5kZWJ1Z2dlck1v
ZGVsLmNyZWF0ZVJhd0xvY2F0aW9uKHNjcmlwdCwgMCwgMTgpKSk7CisgICAgICAgICAgICBJbnNw
ZWN0b3JUZXN0LmNoZWNrUmF3TG9jYXRpb24oc2NyaXB0LCAwLCAxOCwgbWFwcGluZy51aUxvY2F0
aW9uVG9SYXdMb2NhdGlvbih1aVNvdXJjZUNvZGUsIDIsIDQpKTsKKworICAgICAgICAgICAgdWlT
b3VyY2VDb2RlLnJlcXVlc3RDb250ZW50KGRpZFJlcXVlc3RDb250ZW50KTsKKworICAgICAgICAg
ICAgZnVuY3Rpb24gZGlkUmVxdWVzdENvbnRlbnQoY29udGVudCwgY29udGVudEVuY29kZWQsIG1p
bWVUeXBlKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRk
UmVzdWx0KCI8c291cmNlIGNvbnRlbnQ+ID09PSAiICsgY29udGVudCk7CisgICAgICAgICAgICAg
ICAgbmV4dCgpOworICAgICAgICAgICAgfQorICAgICAgICB9LAorCisgICAgICAgIGZ1bmN0aW9u
IHRlc3RTb3VyY2VNYXBDb3VsZE5vdEJlTG9hZGVkKG5leHQpCisgICAgICAgIHsKKyAgICAgICAg
ICAgIFdlYkluc3BlY3Rvci5zZXR0aW5ncy5zb3VyY2VNYXBzRW5hYmxlZC5zZXQodHJ1ZSk7Cisg
ICAgICAgICAgICBXZWJJbnNwZWN0b3IuZGVidWdnZXJNb2RlbC5fcmVzZXQoKTsKKyAgICAgICAg
ICAgIEluc3BlY3RvclRlc3QuY3JlYXRlV29ya3NwYWNlKCk7CisgICAgICAgICAgICB2YXIgZGVi
dWdnZXJTY3JpcHRNYXBwaW5nID0gbmV3IFdlYkluc3BlY3Rvci5EZWJ1Z2dlclNjcmlwdE1hcHBp
bmcoSW5zcGVjdG9yVGVzdC50ZXN0V29ya3NwYWNlLCBJbnNwZWN0b3JUZXN0LnRlc3ROZXR3b3Jr
V29ya3NwYWNlUHJvdmlkZXIpOworCisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LndhaXRGb3JX
b3Jrc3BhY2VVSVNvdXJjZUNvZGVBZGRlZEV2ZW50KGNvbXBpbGVkVUlTb3VyY2VDb2RlQWRkZWQp
OworICAgICAgICAgICAgdmFyIHNjcmlwdCA9IEluc3BlY3RvclRlc3QuY3JlYXRlU2NyaXB0TW9j
aygiY29tcGlsZWQuanMiLCAwLCAwLCB0cnVlLCAiIik7CisKKyAgICAgICAgICAgIGZ1bmN0aW9u
IGNvbXBpbGVkVUlTb3VyY2VDb2RlQWRkZWQodWlTb3VyY2VDb2RlKQorICAgICAgICAgICAgewor
ICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3Qud2FpdEZvcldvcmtzcGFjZVVJU291cmNlQ29k
ZUFkZGVkRXZlbnQob3JpZ2luYWxVSVNvdXJjZUNvZGVBZGRlZCk7CisgICAgICAgICAgICB9CisK
KyAgICAgICAgICAgIGZ1bmN0aW9uIG9yaWdpbmFsVUlTb3VyY2VDb2RlQWRkZWQodWlTb3VyY2VD
b2RlKSB7IH0KKworICAgICAgICAgICAgc2NyaXB0LnNvdXJjZU1hcFVSTCA9ICJodHRwOi8vbG9j
YWxob3N0OjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlcy9zb3VyY2UtbWFwLmpzb25fIjsKKyAgICAg
ICAgICAgIGNvbnNvbGUuZXJyb3IgPSBmdW5jdGlvbigpIHt9OyAvLyBFcnJvciBtZXNzYWdlIGlz
IHBsYXRmb3JtIGRlcGVuZGVudC4KKyAgICAgICAgICAgIGRlYnVnZ2VyU2NyaXB0TWFwcGluZy5f
cGFyc2VkU2NyaXB0U291cmNlKHtkYXRhOnNjcmlwdH0pOworICAgICAgICAgICAgdmFyIHVpTG9j
YXRpb24gPSBzY3JpcHQucmF3TG9jYXRpb25Ub1VJTG9jYXRpb24oMCwgMCk7CisgICAgICAgICAg
ICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCh1aUxvY2F0aW9uLnVpU291cmNlQ29kZS5vcmlnaW5V
UkwoKSk7CisgICAgICAgICAgICBuZXh0KCk7CisgICAgICAgIH0KKyAgICBdKTsKK307CisKKzwv
c2NyaXB0PgorCis8L2hlYWQ+CisKKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KKzxwPlRlc3Rz
IFNvdXJjZU1hcCBhbmQgQ29tcGlsZXJTY3JpcHRNYXBwaW5nLjwvcD4KKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3Rz
L2NvbXBpbGVyLXNvdXJjZS1tYXBwaW5nLWRlYnVnLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL2NvbXBpbGVyLXNvdXJjZS1tYXBwaW5nLWRl
YnVnLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44ZmZjZTcyYTg3Zjc2OGMxOTBjOGNlZDlhYmU2
MzkwZjRhZmRkNjEwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9i
c29sZXRlL2h0dHAtdGVzdHMvY29tcGlsZXItc291cmNlLW1hcHBpbmctZGVidWctZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTYgQEAKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAyOiBidXR0b24gY2xp
Y2tlZCEKK1Rlc3RzIGluc3RhbGxpbmcgY29tcGlsZXIgc291cmNlIG1hcCBpbiBzY3JpcHRzIHBh
bmVsLgorCisKK0RlYnVnZ2VyIHdhcyBlbmFibGVkLgorCitSdW5uaW5nOiB0ZXN0U2V0QnJlYWtw
b2ludAorUGFnZSByZWxvYWRlZC4KK1NjcmlwdCBzb3VyY2Ugd2FzIHNob3duLgorU2NyaXB0IGV4
ZWN1dGlvbiBwYXVzZWQuCitDYWxsIHN0YWNrOgorICAgIDApIGhhbmRsZUNsaWNrIChjb21waWxl
ZC5qczoyKQorICAgIDEpIGNsaWNrQnV0dG9uIChjb21waWxlci1zb3VyY2UtbWFwcGluZy1kZWJ1
Zy5odG1sOjExKQorU2NyaXB0IGV4ZWN1dGlvbiByZXN1bWVkLgorRGVidWdnZXIgd2FzIGRpc2Fi
bGVkLgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10
ZXN0cy9jb21waWxlci1zb3VyY2UtbWFwcGluZy1kZWJ1Zy5odG1sIGIvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvY29tcGlsZXItc291cmNlLW1hcHBpbmctZGVidWcu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5lM2FlNWJjMmY2MjA3MzhhNWRhNWE3YmExOTdjMjg3NDZhNjFlZWNj
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAt
dGVzdHMvY29tcGlsZXItc291cmNlLW1hcHBpbmctZGVidWcuaHRtbApAQCAtMCwwICsxLDUxIEBA
Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Imluc3BlY3Rvci10ZXN0LmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSJkZWJ1Z2dlci10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSJyZXNvdXJjZXMvY29tcGlsZWQuanMiPjwvc2NyaXB0PgorCis8c2NyaXB0PgorCitmdW5jdGlv
biBjbGlja0J1dHRvbigpCit7CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rlc3QnKS5j
bGljaygpOworfQorCitmdW5jdGlvbiB0ZXN0KCkKK3sKKyAgICBJbnNwZWN0b3JUZXN0LnJ1bkRl
YnVnZ2VyVGVzdFN1aXRlKFsKKyAgICAgICAgZnVuY3Rpb24gdGVzdFNldEJyZWFrcG9pbnQobmV4
dCkKKyAgICAgICAgeworICAgICAgICAgICAgV2ViSW5zcGVjdG9yLnNldHRpbmdzLnNvdXJjZU1h
cHNFbmFibGVkLnNldCh0cnVlKTsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QucmVsb2FkUGFn
ZShwYWdlUmVsb2FkZWQpOworCisgICAgICAgICAgICBmdW5jdGlvbiBwYWdlUmVsb2FkZWQoKQor
ICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3Quc2hvd1NjcmlwdFNv
dXJjZSgic291cmNlMS5qcyIsIGRpZFNob3dTb3VyY2UpOworICAgICAgICAgICAgfQorCisgICAg
ICAgICAgICBmdW5jdGlvbiBkaWRTaG93U291cmNlKHNvdXJjZUZyYW1lKQorICAgICAgICAgICAg
eworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJTY3JpcHQgc291cmNl
IHdhcyBzaG93bi4iKTsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LnNldEJyZWFrcG9p
bnQoc291cmNlRnJhbWUsIDE0LCAiIiwgdHJ1ZSk7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9y
VGVzdC53YWl0VW50aWxQYXVzZWQocGF1c2VkKTsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JU
ZXN0LmV2YWx1YXRlSW5QYWdlKCJzZXRUaW1lb3V0KGNsaWNrQnV0dG9uLCAwKSIpOworICAgICAg
ICAgICAgfQorCisgICAgICAgICAgICBmdW5jdGlvbiBwYXVzZWQoY2FsbEZyYW1lcykKKyAgICAg
ICAgICAgIHsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmNhcHR1cmVTdGFja1RyYWNl
KGNhbGxGcmFtZXMpOworICAgICAgICAgICAgICAgIG5leHQoKTsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgfQorICAgIF0pOworfTsKKworPC9zY3JpcHQ+CisKKzwvaGVhZD4KKworPGJvZHkgb25s
b2FkPSJydW5UZXN0KCkiPgorPHA+VGVzdHMgaW5zdGFsbGluZyBjb21waWxlciBzb3VyY2UgbWFw
IGluIHNjcmlwdHMgcGFuZWwuPC9wPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvY29uc29sZS1jZC1jb21wbGV0
aW9ucy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10
ZXN0cy9jb25zb2xlLWNkLWNvbXBsZXRpb25zLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNDZm
MzkwYWE0YjY2MzYzNmIxYjRhYzk3ZGMyNmE5ODRjMjY5MDhhCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvY29uc29sZS1jZC1jb21w
bGV0aW9ucy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw2IEBACitUZXN0IHRoYXQgY29tcGxldGlv
bnMgaW4gdGhlIGNvbnRleHQgb2YgYW4gaWZyYW1lIHdpdGggYSBkaWZmZXJlbnQgb3JpZ2luIHdp
bGwgcmVzdWx0IGluIG5hbWVzIG9mIGl0cyBnbG9iYWwgdmFyaWFibGVzLiBUZXN0IHBhc3NlcyBp
ZiBhbGwgZ2xvYmFsIHZhcmlhYmxlcyBhcmUgZm91bmQgYW1vbmcgY29tcGxldGlvbnMgQU5EIHRo
ZXJlIGFyZSBOTyBjb25zb2xlIG1lc3NhZ2VzLiBCdWcgNjU0NTcuCisKKworbXlHbG9iYWxWYXIK
K215R2xvYmFsRnVuY3Rpb24KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9i
c29sZXRlL2h0dHAtdGVzdHMvY29uc29sZS1jZC1jb21wbGV0aW9ucy5odG1sIGIvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvY29uc29sZS1jZC1jb21wbGV0aW9ucy5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmM1MTRjYWE4MzgwNTYzODYzMTkzOTE1MjVlY2JlNDVkOTMyMmE4MTcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10
ZXN0cy9jb25zb2xlLWNkLWNvbXBsZXRpb25zLmh0bWwKQEAgLTAsMCArMSw1MyBAQAorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSJjb25zb2xlLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Imluc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisKK2Z1bmN0aW9u
IHRlc3QoKQoreworICAgIEluc3BlY3RvclRlc3Quc2hvd0NvbnNvbGVQYW5lbCgpOworICAgIHZh
ciBzZWxlY3RvciA9IFdlYkluc3BlY3Rvci5jb25zb2xlVmlldy5fZnJhbWVTZWxlY3Rvci5fc2Vs
ZWN0RWxlbWVudDsKKyAgICB2YXIgb3B0aW9uID0gc2VsZWN0b3IuZmlyc3RDaGlsZDsKKyAgICB3
aGlsZSAob3B0aW9uKSB7CisgICAgICAgIGlmIChvcHRpb24udGV4dENvbnRlbnQgJiYgb3B0aW9u
LnRleHRDb250ZW50LnN0YXJ0c1dpdGgoIm15SUZyYW1lIikpCisgICAgICAgICAgICBicmVhazsK
KyAgICAgICAgb3B0aW9uID0gb3B0aW9uLm5leHRTaWJsaW5nOworICAgIH0KKyAgICBpZiAoIW9w
dGlvbikgeworICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiRkFJTEVEOiBteUlGcmFt
ZSBub3QgZm91bmQgaW4gdGhlIGNvbnRleHQgbGlzdCIpOworICAgICAgICBJbnNwZWN0b3JUZXN0
LmNvbXBsZXRlVGVzdCgpOworICAgICAgICByZXR1cm47CisgICAgfQorICAgIG9wdGlvbi5zZWxl
Y3RlZCA9IHRydWU7CisgICAgV2ViSW5zcGVjdG9yLmNvbnNvbGVWaWV3Ll9mcmFtZUNoYW5nZWQo
KTsKKworICAgIFdlYkluc3BlY3Rvci5ydW50aW1lTW9kZWwuX2NvbXBsZXRpb25zRm9yRXhwcmVz
c2lvbigiIiwgIm15R2xvYiIsIGZhbHNlLCBjaGVja0NvbXBsZXRpb25zLmJpbmQodGhpcykpOwor
ICAgIGZ1bmN0aW9uIGNoZWNrQ29tcGxldGlvbnMoY29tcGxldGlvbnMpCisgICAgeworICAgICAg
ICB2YXIgZXhwZWN0ZWQgPSBbIm15R2xvYmFsVmFyIiwgIm15R2xvYmFsRnVuY3Rpb24iXTsKKyAg
ICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBleHBlY3RlZC5sZW5ndGg7ICsraSkgeworICAgICAg
ICAgICAgaWYgKGNvbXBsZXRpb25zLmluZGV4T2YoZXhwZWN0ZWRbaV0pICE9PSAtMSkKKyAgICAg
ICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdChleHBlY3RlZFtpXSk7CisgICAgICAg
ICAgICBlbHNlCisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIk5PVCBG
T1VORDogIiArIGV4cGVjdGVkW2ldKTsKKyAgICAgICAgfQorICAgICAgICBJbnNwZWN0b3JUZXN0
LmR1bXBDb25zb2xlTWVzc2FnZXMoKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRl
c3QoKTsKKyAgICB9Cit9CisKKzwvc2NyaXB0PgorPC9oZWFkPgorCis8Ym9keT4KKzxwPgorVGVz
dCB0aGF0IGNvbXBsZXRpb25zIGluIHRoZSBjb250ZXh0IG9mIGFuIGlmcmFtZSB3aXRoIGEgZGlm
ZmVyZW50IG9yaWdpbiB3aWxsCityZXN1bHQgaW4gbmFtZXMgb2YgaXRzIGdsb2JhbCB2YXJpYWJs
ZXMuIFRlc3QgcGFzc2VzIGlmIGFsbCBnbG9iYWwgdmFyaWFibGVzCithcmUgZm91bmQgYW1vbmcg
Y29tcGxldGlvbnMgQU5EIHRoZXJlIGFyZSBOTyBjb25zb2xlIG1lc3NhZ2VzLgorPGEgaHJlZj0i
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY1NDU3Ij5CdWcgNjU0NTcu
PC9hPgorPC9wPgorPGlmcmFtZSBuYW1lPSJteUlGcmFtZSIgc3JjPSJodHRwOi8vbG9jYWxob3N0
OjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlcy9jb25zb2xlLWNkLWNvbXBsZXRpb25zLWlmcmFtZS5o
dG1sIiBvbmxvYWQ9InJ1blRlc3QoKSI+PC9pZnJhbWU+CisKKzwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL2NvbnNv
bGUtY2QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAt
dGVzdHMvY29uc29sZS1jZC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMWE3YTdmOWQwNjA0N2Rk
ZGY5MWMxZTJmOTE0YjRlMzQ0ZmNiNzgyOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL2NvbnNvbGUtY2QtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsNSBAQAorVGVzdHMgdGhhdCBjb25zb2xlIGV2YWx1YXRpb24gY2FuIGJlIHBlcmZv
cm1lZCBpbiBhbiBpZnJhbWUgY29udGV4dC5CdWcgMTk4NzIuCisKKworZm9vID0gMjAxMQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9jb25z
b2xlLWNkLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9j
b25zb2xlLWNkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjQ4MGZjYWNhNmJmOGY4YmM5MTVjNmZkYmYwODEx
YzE4ZjA3OGM1MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNv
bGV0ZS9odHRwLXRlc3RzL2NvbnNvbGUtY2QuaHRtbApAQCAtMCwwICsxLDQzIEBACis8aHRtbD4K
KzxoZWFkPgorPHNjcmlwdCBzcmM9ImNvbnNvbGUtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgorCis8c2NyaXB0PgorCitmdW5jdGlv
biB0ZXN0KCkKK3sKKyAgICBJbnNwZWN0b3JUZXN0LnNob3dDb25zb2xlUGFuZWwoKTsKKyAgICB2
YXIgc2VsZWN0b3IgPSBXZWJJbnNwZWN0b3IuY29uc29sZVZpZXcuX2ZyYW1lU2VsZWN0b3IuX3Nl
bGVjdEVsZW1lbnQ7CisgICAgdmFyIG9wdGlvbiA9IHNlbGVjdG9yLmZpcnN0Q2hpbGQ7CisgICAg
d2hpbGUgKG9wdGlvbikgeworICAgICAgICBpZiAob3B0aW9uLnRleHRDb250ZW50ICYmIG9wdGlv
bi50ZXh0Q29udGVudC5zdGFydHNXaXRoKCJteUlGcmFtZSIpKQorICAgICAgICAgICAgYnJlYWs7
CisgICAgICAgIG9wdGlvbiA9IG9wdGlvbi5uZXh0U2libGluZzsKKyAgICB9CisgICAgaWYgKCFv
cHRpb24pIHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIkZBSUxFRDogbXlJRnJh
bWUgbm90IGZvdW5kIGluIHRoZSBjb250ZXh0IGxpc3QiKTsKKyAgICAgICAgSW5zcGVjdG9yVGVz
dC5jb21wbGV0ZVRlc3QoKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICBvcHRpb24uc2Vs
ZWN0ZWQgPSB0cnVlOworICAgIFdlYkluc3BlY3Rvci5jb25zb2xlVmlldy5fZnJhbWVDaGFuZ2Vk
KCk7CisKKyAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5Db25zb2xlQW5kRHVtcCgiZm9vIiwg
ZmluaXNoKTsKKyAgICBmdW5jdGlvbiBmaW5pc2goKQorICAgIHsKKyAgICAgICAgSW5zcGVjdG9y
VGVzdC5jb21wbGV0ZVRlc3QoKTsKKyAgICB9Cit9CisKKzwvc2NyaXB0PgorPC9oZWFkPgorCis8
Ym9keT4KKzxwPgorVGVzdHMgdGhhdCBjb25zb2xlIGV2YWx1YXRpb24gY2FuIGJlIHBlcmZvcm1l
ZCBpbiBhbiBpZnJhbWUgY29udGV4dC48YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTk4NzIiPkJ1ZyAxOTg3Mi48L2E+Cis8L3A+Cis8aWZyYW1lIG5hbWU9
Im15SUZyYW1lIiBzcmM9Imh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2Vz
L2NvbnNvbGUtY2QtaWZyYW1lLmh0bWwiIG9ubG9hZD0icnVuVGVzdCgpIj48L2lmcmFtZT4KKwor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29s
ZXRlL2h0dHAtdGVzdHMvY29uc29sZS1jbGVhci1hcmd1bWVudHMtb24tZnJhbWUtbmF2aWdhdGlv
bi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0
cy9jb25zb2xlLWNsZWFyLWFyZ3VtZW50cy1vbi1mcmFtZS1uYXZpZ2F0aW9uLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi41OWQ1YmJiMTdkYmVmODE3OTZhOGU4YzYwOGE2MjA0M2NkMGJkNTU0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVz
dHMvY29uc29sZS1jbGVhci1hcmd1bWVudHMtb24tZnJhbWUtbmF2aWdhdGlvbi1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMCBAQAorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDI6IEEgbWVzc2FnZSB3
aXRoIGZpcnN0IGFyZ3VtZW50IHN0cmluZworQ09OU09MRSBNRVNTQUdFOiBsaW5lIDM6IDIwMTEK
K0NPTlNPTEUgTUVTU0FHRTogbGluZSA0OiBbb2JqZWN0IFdpbmRvd10KK1Rlc3RzIHRoYXQgV2Vi
IEluc3BlY3RvciB3aWxsIGRpc2NhcmQgY29uc29sZSBtZXNzYWdlIGFyZ3VtZW50cyB3aGVuIGlm
cmFtZSB3aGVyZSB0aGUgbWVzc2FnZSB3YXMgbG9nZ2VkIGlzIG5hdmlnYXRlZCB0byBhIGRpZmZl
cmVudCBwYWdlLgorCisKK1BBU1NFRDogZm91bmQgYXJndW1lbnQgY291bnRzIGZvciAzIG1lc3Nh
Z2VzCitQQVNTRUQ6IG1lc3NhZ2UgIzAgaGFzIG5vIGFyZ3VtZW50cy4KK1BBU1NFRDogbWVzc2Fn
ZSAjMSBoYXMgbm8gYXJndW1lbnRzLgorUEFTU0VEOiBtZXNzYWdlICMyIGhhcyBubyBhcmd1bWVu
dHMuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0
cy9jb25zb2xlLWNsZWFyLWFyZ3VtZW50cy1vbi1mcmFtZS1uYXZpZ2F0aW9uLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9jb25zb2xlLWNsZWFyLWFyZ3Vt
ZW50cy1vbi1mcmFtZS1uYXZpZ2F0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2ViMDRmMjYyOGQwNjg5
ODdjZTFjNmZjNDNkM2UxMzQ0NzY5NTI2OQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL2NvbnNvbGUtY2xlYXItYXJndW1lbnRzLW9u
LWZyYW1lLW5hdmlnYXRpb24uaHRtbApAQCAtMCwwICsxLDM2IEBACis8aHRtbD4KKzxoZWFkPgor
PHNjcmlwdCBzcmM9InJlc291cmNlcy9jb25zb2xlLWNsZWFyLWFyZ3VtZW50cy10ZXN0LmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQ+CisKK2lmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgIHRlc3RS
dW5uZXIud2FpdFVudGlsRG9uZSgpOworICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworfQor
Cit2YXIgbG9hZENvdW50ID0gMDsKK2Z1bmN0aW9uIGZyYW1lTG9hZGVkKGV2ZW50KSB7CisgICAg
Kytsb2FkQ291bnQ7CisgICAgaWYgKGxvYWRDb3VudCA9PT0gMSkgeworICAgICAgICBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgndGhlRnJhbWUnKS5zcmMgPSAiYWJvdXQ6YmxhbmsiOworICAgICAg
ICByZXR1cm47CisgICAgfQorCisgICAgZHVtcENvbnNvbGVNZXNzYWdlQXJndW1lbnRDb3VudHMo
KTsKKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5
RG9uZSgpOworfQorCis8L3NjcmlwdD4KKworPC9oZWFkPgorPGJvZHk+Cis8cD4KK1Rlc3RzIHRo
YXQgV2ViIEluc3BlY3RvciB3aWxsIGRpc2NhcmQgY29uc29sZSBtZXNzYWdlIGFyZ3VtZW50cyB3
aGVuIGlmcmFtZSB3aGVyZSB0aGUgbWVzc2FnZSB3YXMKK2xvZ2dlZCBpcyBuYXZpZ2F0ZWQgdG8g
YSBkaWZmZXJlbnQgcGFnZS4KKzwvcD4KKzxpZnJhbWUgaWQ9InRoZUZyYW1lIiBvbmxvYWQ9ImZy
YW1lTG9hZGVkKGV2ZW50KSIgc3JjPSJyZXNvdXJjZXMvY29uc29sZS1jbGVhci1hcmd1bWVudHMt
aWZyYW1lLmh0bWwiPjwvaWZyYW1lPgorPGRpdiBpZD0ib3V0cHV0Ij48L2Rpdj4KKzwvYm9keT4K
KzwvaHRtbD4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0
dHAtdGVzdHMvY29uc29sZS1jbGVhci1hcmd1bWVudHMtb24tZnJhbWUtcmVtb3ZlLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL2NvbnNvbGUt
Y2xlYXItYXJndW1lbnRzLW9uLWZyYW1lLXJlbW92ZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NTI4YzUyYWU3N2M1MjMzOGFhODQxYjE4N2FlOGY0YTAzOGUyYWFhYQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL2NvbnNvbGUtY2xl
YXItYXJndW1lbnRzLW9uLWZyYW1lLXJlbW92ZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw5IEBA
CitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMjogQSBtZXNzYWdlIHdpdGggZmlyc3QgYXJndW1lbnQg
c3RyaW5nCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMzogMjAxMQorQ09OU09MRSBNRVNTQUdFOiBs
aW5lIDQ6IFtvYmplY3QgV2luZG93XQorVGVzdHMgdGhhdCBjb25zb2xlIG1lc3NhZ2UgYXJndW1l
bnRzIHdpbGwgYmUgY2xlYXJlZCB3aGVuIGlmcmFtZSB3aGVyZSB0aGUgbWVzc2FnZXMgd2VyZSBj
cmVhdGVkIGlzIHJlbW92ZWQuCisKK1BBU1NFRDogZm91bmQgYXJndW1lbnQgY291bnRzIGZvciAz
IG1lc3NhZ2VzCitQQVNTRUQ6IG1lc3NhZ2UgIzAgaGFzIG5vIGFyZ3VtZW50cy4KK1BBU1NFRDog
bWVzc2FnZSAjMSBoYXMgbm8gYXJndW1lbnRzLgorUEFTU0VEOiBtZXNzYWdlICMyIGhhcyBubyBh
cmd1bWVudHMuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0
cC10ZXN0cy9jb25zb2xlLWNsZWFyLWFyZ3VtZW50cy1vbi1mcmFtZS1yZW1vdmUuaHRtbCBiL0xh
eW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL2NvbnNvbGUtY2xlYXItYXJn
dW1lbnRzLW9uLWZyYW1lLXJlbW92ZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFiNzQ2M2I5MmFlYTYzZDVj
YzIzNmMzOTA5Y2U3YzBjYTZiZDNkNTIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9p
bnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9jb25zb2xlLWNsZWFyLWFyZ3VtZW50cy1vbi1m
cmFtZS1yZW1vdmUuaHRtbApAQCAtMCwwICsxLDQxIEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlw
dCBzcmM9InJlc291cmNlcy9jb25zb2xlLWNsZWFyLWFyZ3VtZW50cy10ZXN0LmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQ+CitpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICB0ZXN0UnVubmVyLndh
aXRVbnRpbERvbmUoKTsKKyAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKK30KKworZnVuY3Rp
b24gcmVtb3ZlSUZyYW1lKCkKK3sKKyAgICB2YXIgY29udGFpbmVyID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoJ2NvbnRhaW5lcicpOworICAgIHZhciBjaGlsZCA9IGNvbnRhaW5lci5maXJzdENo
aWxkOworICAgIHdoaWxlIChjaGlsZCkgeworICAgICAgICBjb250YWluZXIucmVtb3ZlQ2hpbGQo
Y2hpbGQpOworICAgICAgICBjaGlsZCA9IGNvbnRhaW5lci5maXJzdENoaWxkOworICAgIH0KKyAg
ICBkdW1wQ29uc29sZU1lc3NhZ2VBcmd1bWVudENvdW50cygpOworICAgIGlmICh3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Cit9CisKK2Z1bmN0aW9u
IGNyZWF0ZUlGcmFtZSgpCit7CisgICAgdmFyIGlmcmFtZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoJ2lmcmFtZScpOworICAgIGlmcmFtZS5zZXRBdHRyaWJ1dGUoJ3NyYycsICdyZXNvdXJjZXMv
Y29uc29sZS1jbGVhci1hcmd1bWVudHMtaWZyYW1lLmh0bWwnKTsKKyAgICBpZnJhbWUub25sb2Fk
PSByZW1vdmVJRnJhbWU7CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbnRhaW5lcicp
LmFwcGVuZENoaWxkKGlmcmFtZSk7Cit9CisKKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25s
b2FkPSJjcmVhdGVJRnJhbWUoKSI+Cis8cD4KK1Rlc3RzIHRoYXQgY29uc29sZSBtZXNzYWdlIGFy
Z3VtZW50cyB3aWxsIGJlIGNsZWFyZWQgd2hlbiBpZnJhbWUgd2hlcmUgdGhlIG1lc3NhZ2VzIHdl
cmUKK2NyZWF0ZWQgaXMgcmVtb3ZlZC4KKzwvcD4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+PC9kaXY+
Cis8ZGl2IGlkPSJvdXRwdXQiPjwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvY29uc29sZS1jcm9zcy1v
cmlnaW4taWZyYW1lLWxvZ2dpbmctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
LW9ic29sZXRlL2h0dHAtdGVzdHMvY29uc29sZS1jcm9zcy1vcmlnaW4taWZyYW1lLWxvZ2dpbmct
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjMyNmI2ODhjZDljOGQ5YWVhZTRlYzk4MTdmYjJlMWU1
Mzk5MDAzOTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xl
dGUvaHR0cC10ZXN0cy9jb25zb2xlLWNyb3NzLW9yaWdpbi1pZnJhbWUtbG9nZ2luZy1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxMiBAQAorQ09OU09MRSBNRVNTQUdFOiBCbG9ja2VkIGEgZnJhbWUg
d2l0aCBvcmlnaW4gImh0dHA6Ly8xMjcuMC4wLjE6ODAwMCIgZnJvbSBhY2Nlc3NpbmcgYSBmcmFt
ZSB3aXRoIG9yaWdpbiAiaHR0cDovL2xvY2FsaG9zdDo4MDAwIi4gUHJvdG9jb2xzLCBkb21haW5z
LCBhbmQgcG9ydHMgbXVzdCBtYXRjaC4KK0NPTlNPTEUgTUVTU0FHRTogQmxvY2tlZCBhIGZyYW1l
IHdpdGggb3JpZ2luICJodHRwOi8vMTI3LjAuMC4xOjgwMDAiIGZyb20gYWNjZXNzaW5nIGEgZnJh
bWUgd2l0aCBvcmlnaW4gImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMCIuIFByb3RvY29scywgZG9tYWlu
cywgYW5kIHBvcnRzIG11c3QgbWF0Y2guCitDT05TT0xFIE1FU1NBR0U6IFVuYWJsZSB0byBwb3N0
IG1lc3NhZ2UgdG8gaHR0cDovLzEyNy4wLjAuMTo4MDAwLiBSZWNpcGllbnQgaGFzIG9yaWdpbiBo
dHRwOi8vbG9jYWxob3N0OjgwMDAuCisKK1Rlc3RzIHRoYXQgY3Jvc3Mgb3JpZ2luIGVycm9ycyBh
cmUgbG9nZ2VkIHdpdGggc291cmNlIHVybCBhbmQgbGluZSBudW1iZXIuCisKKworQmxvY2tlZCBh
IGZyYW1lIHdpdGggb3JpZ2luICJodHRwOi8vMTI3LjAuMC4xOjgwMDAiIGZyb20gYWNjZXNzaW5n
IGEgZnJhbWUgd2l0aCBvcmlnaW4gImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMCIuIFByb3RvY29scywg
ZG9tYWlucywgYW5kIHBvcnRzIG11c3QgbWF0Y2guIGNvbnNvbGUtY3Jvc3Mtb3JpZ2luLWlmcmFt
ZS1sb2dnaW5nLmh0bWw6OQorQmxvY2tlZCBhIGZyYW1lIHdpdGggb3JpZ2luICJodHRwOi8vMTI3
LjAuMC4xOjgwMDAiIGZyb20gYWNjZXNzaW5nIGEgZnJhbWUgd2l0aCBvcmlnaW4gImh0dHA6Ly9s
b2NhbGhvc3Q6ODAwMCIuIFByb3RvY29scywgZG9tYWlucywgYW5kIHBvcnRzIG11c3QgbWF0Y2gu
IFtuYXRpdmUgY29kZV06MQorVW5hYmxlIHRvIHBvc3QgbWVzc2FnZSB0byBodHRwOi8vMTI3LjAu
MC4xOjgwMDAuIFJlY2lwaWVudCBoYXMgb3JpZ2luIGh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC4KKyBb
bmF0aXZlIGNvZGVdOjEKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29s
ZXRlL2h0dHAtdGVzdHMvY29uc29sZS1jcm9zcy1vcmlnaW4taWZyYW1lLWxvZ2dpbmcuaHRtbCBi
L0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL2NvbnNvbGUtY3Jvc3Mt
b3JpZ2luLWlmcmFtZS1sb2dnaW5nLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTdkMjFhNTFlYzMyNjAxNDRk
NGFjZDZiYTAzOGYzOWZjYWE3ODQxYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lu
c3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL2NvbnNvbGUtY3Jvc3Mtb3JpZ2luLWlmcmFtZS1s
b2dnaW5nLmh0bWwKQEAgLTAsMCArMSw1MCBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSJpbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iY29uc29sZS10ZXN0
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CitmdW5jdGlvbiBhY2Nlc3NGcmFtZSgpCit7CisgICAg
Ly8gU2hvdWxkIGZhaWwuCisgICAgdmFyIGhvc3QgPSBmcmFtZXNbMF0ubG9jYXRpb24uaG9zdDsK
KworICAgIC8vIFNob3VsZCBmYWlsLgorICAgIGZyYW1lc1swXS5sb2NhdGlvbi5yZWxvYWQoKTsK
KworICAgIC8vIFNob3VsZCBmYWlsLgorICAgIGZyYW1lc1swXS5wb3N0TWVzc2FnZSgiZmFpbCIs
ICJodHRwOi8vMTI3LjAuMC4xOjgwMDAiKTsKK30KKworZnVuY3Rpb24gdGVzdCgpCit7CisgICAg
dmFyIGZpbmlzaEF0dGVtcHRzTGVmdCA9IDQ7CisgICAgSW5zcGVjdG9yVGVzdC5hZGRDb25zb2xl
U25pZmZlcihtYXliZUZpbmlzaCwgdHJ1ZSk7CisgICAgQ29uc29sZUFnZW50LnNldE1vbml0b3Jp
bmdYSFJFbmFibGVkKHRydWUsIHN0ZXAxKTsKKworICAgIGZ1bmN0aW9uIHN0ZXAxKCkKKyAgICB7
CisgICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoImFjY2Vzc0ZyYW1lKCkiLCBt
YXliZUZpbmlzaCk7CisgICAgfQorCisgICAgZnVuY3Rpb24gbWF5YmVGaW5pc2goKQorICAgIHsK
KyAgICAgICAgLS1maW5pc2hBdHRlbXB0c0xlZnQ7CisgICAgICAgIGlmIChmaW5pc2hBdHRlbXB0
c0xlZnQpCisgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgQ29uc29sZUFnZW50LnNldE1v
bml0b3JpbmdYSFJFbmFibGVkKGZhbHNlLCBmaW5pc2gpOworICAgIH0KKworICAgIGZ1bmN0aW9u
IGZpbmlzaCgpCisgICAgeworICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBDb25zb2xlTWVzc2Fn
ZXMoKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKKyAgICB9Cit9Cis8
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KKzxwPlRlc3RzIHRo
YXQgY3Jvc3Mgb3JpZ2luIGVycm9ycyBhcmUgbG9nZ2VkIHdpdGggc291cmNlIHVybCBhbmQgbGlu
ZSBudW1iZXIuPC9wPgorPGlmcmFtZSBzcmM9Imh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9pbnNwZWN0
b3IvcmVzb3VyY2VzL2Nyb3NzLW9yaWdpbi1pZnJhbWUuaHRtbCI+PC9pZnJhbWU+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0
cC10ZXN0cy9jb25zb2xlLWxvZy1iZWZvcmUtZnJhbWUtbmF2aWdhdGlvbi1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9jb25zb2xlLWxvZy1i
ZWZvcmUtZnJhbWUtbmF2aWdhdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDhmZTg1YTAx
NTE2ZDliNDdlMzU5YWVhMGEwYTE4MTU5Mzg1ZDJmNwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL2NvbnNvbGUtbG9nLWJlZm9yZS1m
cmFtZS1uYXZpZ2F0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDkgQEAKK0NPTlNPTEUgTUVT
U0FHRTogbGluZSA1OiBDb25zb2xlIG1lc3NhZ2UgKEMpICVkIHdpdGggZWxlbWVudAorVGVzdHMg
dGhhdCBXZWIgSW5zcGVjdG9yIHdvbid0IGNyYXNoIGlmIHRoZXJlIGFyZSBtZXNzYWdlcyB3cml0
dGVuIHRvIGNvbnNvbGUgZnJvbSBhIGZyYW1lIHdoaWNoIGhhcyBhbHJlYWR5IG5hdmlnYXRlZCB0
byBhIHBhZ2UgZnJvbSBhIGRpZmZlcmVudCBkb21haW4uCisKKworUmVjZWl2ZWQgY29uc29sZSBt
ZXNzYWdlczoKK01lc3NhZ2VbMF06CitNZXNzYWdlOiByZXNvdXJjZXMvY29uc29sZS1sb2ctZnJh
bWUtYmVmb3JlLW5hdmlnYXRpb24uaHRtbDo1IENvbnNvbGUgbWVzc2FnZSAoQykgJWQgd2l0aCBl
bGVtZW50CitURVNUIENPTVBMRVRFLgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0
b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9jb25zb2xlLWxvZy1iZWZvcmUtZnJhbWUtbmF2aWdhdGlv
bi5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvY29uc29s
ZS1sb2ctYmVmb3JlLWZyYW1lLW5hdmlnYXRpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yYTc2ZTkwZTk5
Yjc2OTg0M2ZiNzU0OTJiNjI2Mzg5NzAyNmM1YzE1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvY29uc29sZS1sb2ctYmVmb3JlLWZy
YW1lLW5hdmlnYXRpb24uaHRtbApAQCAtMCwwICsxLDQ5IEBACis8IURPQ1RZUEUgSFRNTCBQVUJM
SUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9
Ii4uL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorCitm
dW5jdGlvbiBvbmxvYWQoKQoreworICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
dGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Cit9CisKK3dpbmRvdy5hZGRFdmVudExpc3RlbmVy
KCJtZXNzYWdlIiwgcmVjZWl2ZU1lc3NhZ2UsIGZhbHNlKTsKKworZnVuY3Rpb24gcmVjZWl2ZU1l
c3NhZ2UoZXZlbnQpIHsKKyAgICBpZiAoZXZlbnQuZGF0YSAhPSAiZnJhbWVSZWxvYWRlZCIpIHsK
KyAgICAgICAgdGVzdEZhaWxlZCgiVW5leHBlY3RlZCBtZXNzYWdlOiAiICsgZXZlbnQuZGF0YSk7
CisgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgICAgIHRlc3RSdW5uZXIu
bm90aWZ5RG9uZSgpOworICAgICAgICByZXR1cm47CisgICAgfQorICAgIGlmICh3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgdGVzdFJ1bm5lci5zaG93V2ViSW5zcGVjdG9yKCk7CisgICAgcnVu
VGVzdCgpOworfQorCitmdW5jdGlvbiB0ZXN0KCkKK3sKKyAgICB2YXIgbWVzc2FnZXMgPSBXZWJJ
bnNwZWN0b3IuY29uc29sZS5tZXNzYWdlczsKKyAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgi
UmVjZWl2ZWQgY29uc29sZSBtZXNzYWdlczoiKTsKKyAgICBmb3IgKHZhciBpID0gMDsgaSA8IG1l
c3NhZ2VzLmxlbmd0aDsgKytpKSB7CisgICAgICAgIHZhciBtID0gbWVzc2FnZXNbaV07CisgICAg
ICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJNZXNzYWdlWyIgKyBpICsgIl06Iik7CisgICAg
ICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJNZXNzYWdlOiAiICsgV2ViSW5zcGVjdG9yLmRp
c3BsYXlOYW1lRm9yVVJMKG0udXJsKSArICI6IiArIG0ubGluZSArICIgIiArIG0ubWVzc2FnZSk7
CisgICAgfQorICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJURVNUIENPTVBMRVRFLiIpOwor
ICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7Cit9CisKKzwvc2NyaXB0PgorCis8L2hl
YWQ+Cis8Ym9keSBvbmxvYWQ9Im9ubG9hZCgpIj4KKzxwPgorVGVzdHMgdGhhdCBXZWIgSW5zcGVj
dG9yIHdvbid0IGNyYXNoIGlmIHRoZXJlIGFyZSBtZXNzYWdlcyB3cml0dGVuIHRvIGNvbnNvbGUg
ZnJvbSBhIGZyYW1lIHdoaWNoIGhhcyBhbHJlYWR5IG5hdmlnYXRlZCB0byBhIHBhZ2UgZnJvbSBh
IGRpZmZlcmVudCBkb21haW4uCis8L3A+Cis8aWZyYW1lIGlkPSJ0aGVGcmFtZSIgc3JjPSJyZXNv
dXJjZXMvY29uc29sZS1sb2ctZnJhbWUtYmVmb3JlLW5hdmlnYXRpb24uaHRtbCI+PC9pZnJhbWU+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jz
b2xldGUvaHR0cC10ZXN0cy9jb25zb2xlLXJlc291cmNlLWVycm9ycy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9jb25zb2xlLXJlc291cmNl
LWVycm9ycy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjE0ZGE5NmVkYjNlN2IwNjA4MDc0MTIx
OTEyZmNlZDRjOTA4YTcyOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rv
ci1vYnNvbGV0ZS9odHRwLXRlc3RzL2NvbnNvbGUtcmVzb3VyY2UtZXJyb3JzLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDggQEAKK1Rlc3RzIHRoYXQgZXJyb3JzIHRvIGxvYWQgYSByZXNvdXJjZSBj
YXVzZSBlcnJvciBtZXNzYWdlcyB0byBiZSBsb2dnZWQgdG8gY29uc29sZS4KKworCitHRVQgaHR0
cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9taXNzaW5nLmNzcyA0MDQgKE5vdCBGb3VuZCkg
Y29uc29sZS1yZXNvdXJjZS1lcnJvcnMtaWZyYW1lLmh0bWw6MyBjb25zb2xlLW1lc3NhZ2UgY29u
c29sZS1lcnJvci1sZXZlbAorR0VUIGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3Ivbm9u
LWV4aXN0ZW50LWlmcmFtZS5odG1sIDQwNCAoTm90IEZvdW5kKSBub24tZXhpc3RlbnQtaWZyYW1l
Lmh0bWw6MSBjb25zb2xlLW1lc3NhZ2UgY29uc29sZS1lcnJvci1sZXZlbAorR0VUIGh0dHA6Ly8x
MjcuMC4wLjE6ODAwMC9pbnNwZWN0b3Ivbm9uLWV4aXN0ZW50LXNjcmlwdC5qcyA0MDQgKE5vdCBG
b3VuZCkgY29uc29sZS1yZXNvdXJjZS1lcnJvcnMtaWZyYW1lLmh0bWw6NCBjb25zb2xlLW1lc3Nh
Z2UgY29uc29sZS1lcnJvci1sZXZlbAorR0VUIGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0
b3Ivbm9uLWV4aXN0ZW50LXhociA0MDQgKE5vdCBGb3VuZCkgW25hdGl2ZSBjb2RlXToxc2VuZCBb
bmF0aXZlIGNvZGVdOjFsb2FkWEhSIGNvbnNvbGUtcmVzb3VyY2UtZXJyb3JzLmh0bWw6MThwZXJm
b3JtQWN0aW9ucyBjb25zb2xlLXJlc291cmNlLWVycm9ycy5odG1sOjEwZXZhbCBjb2RlZXZhbCBb
bmF0aXZlIGNvZGVdOjFldmFsdWF0ZSBbbmF0aXZlIGNvZGVdOjFfZXZhbHVhdGVPbl9ldmFsdWF0
ZUFuZFdyYXBldmFsdWF0ZSBjb25zb2xlLW1lc3NhZ2UgY29uc29sZS1lcnJvci1sZXZlbAorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9jb25z
b2xlLXJlc291cmNlLWVycm9ycy5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRl
L2h0dHAtdGVzdHMvY29uc29sZS1yZXNvdXJjZS1lcnJvcnMuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wMDEz
MGM2MTE2MGZjMWFjZjY4MTk0N2FkOGFiNWZmMmI5N2FjZmYzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvY29uc29sZS1yZXNvdXJj
ZS1lcnJvcnMuaHRtbApAQCAtMCwwICsxLDUzIEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBz
cmM9ImNvbnNvbGUtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iaW5zcGVjdG9yLXRl
c3QuanMiPjwvc2NyaXB0PgorCis8c2NyaXB0PgorCitmdW5jdGlvbiBwZXJmb3JtQWN0aW9ucygp
Cit7CisgICAgbG9hZFhIUigpOworICAgIGxvYWRJZnJhbWUoKTsKK30KKworZnVuY3Rpb24gbG9h
ZFhIUigpCit7CisgICAgdmFyIHhociA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpOworICAgIHhoci5v
cGVuKCJHRVQiLCJub24tZXhpc3RlbnQteGhyIiwgZmFsc2UpOworICAgIHhoci5zZW5kKG51bGwp
OworfQorCitmdW5jdGlvbiBsb2FkSWZyYW1lKCkKK3sKKyAgICB2YXIgaWZyYW1lID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7CisgICAgaWZyYW1lLnNyYyA9ICJyZXNvdXJjZXMv
Y29uc29sZS1yZXNvdXJjZS1lcnJvcnMtaWZyYW1lLmh0bWwiOworICAgIGRvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQoaWZyYW1lKTsKK30KKworZnVuY3Rpb24gdGVzdCgpCit7CisgICAgSW5zcGVj
dG9yVGVzdC5hZGRDb25zb2xlU25pZmZlcihhZGRNZXNzYWdlLCB0cnVlKTsKKworICAgIHZhciBt
ZXNzYWdlQ291bnQgPSAwOworICAgIGZ1bmN0aW9uIGFkZE1lc3NhZ2UobWVzc2FnZSkKKyAgICB7
CisgICAgICAgaWYgKG1lc3NhZ2UudG9TdHJpbmcoKS5pbmRleE9mKCJub24tZXhpc3RlbnQtaWZy
YW1lIikgIT09IC0xKSB7CisgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwYW5kQ29uc29sZU1l
c3NhZ2VzKCk7CisgICAgICAgICAgIEluc3BlY3RvclRlc3QuZHVtcENvbnNvbGVNZXNzYWdlc1dp
dGhDbGFzc2VzKHRydWUpOworICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgp
OworICAgICAgICB9CisgICAgfQorCisgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgi
cGVyZm9ybUFjdGlvbnMoKSIpOworfQorCis8L3NjcmlwdD4KKzwvaGVhZD4KKworPGJvZHkgb25s
b2FkPSJydW5UZXN0KCkiPgorPHA+CitUZXN0cyB0aGF0IGVycm9ycyB0byBsb2FkIGEgcmVzb3Vy
Y2UgY2F1c2UgZXJyb3IgbWVzc2FnZXMgdG8gYmUgbG9nZ2VkIHRvIGNvbnNvbGUuCis8L3A+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xl
dGUvaHR0cC10ZXN0cy9jb25zb2xlLXRlc3QuanMgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jz
b2xldGUvaHR0cC10ZXN0cy9jb25zb2xlLXRlc3QuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDZhNzc0OWUxNDA4
NWQwMmI4OWM2M2E3MDNhYTdlNGY3NTc3NDRiMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL2NvbnNvbGUtdGVzdC5qcwpAQCAtMCww
ICsxLDkxIEBACit2YXIgaW5pdGlhbGl6ZV9Db25zb2xlVGVzdCA9IGZ1bmN0aW9uKCkgeworCitJ
bnNwZWN0b3JUZXN0LnNob3dDb25zb2xlUGFuZWwgPSBmdW5jdGlvbigpCit7CisgICAgV2ViSW5z
cGVjdG9yLnNob3dQYW5lbCgiY29uc29sZSIpOworICAgIFdlYkluc3BlY3Rvci5kcmF3ZXIuaW1t
ZWRpYXRlbHlGaW5pc2hBbmltYXRpb24oKTsKK30KKworSW5zcGVjdG9yVGVzdC5kdW1wQ29uc29s
ZU1lc3NhZ2VzID0gZnVuY3Rpb24ocHJpbnRPcmlnaW5hdGluZ0NvbW1hbmQsIGR1bXBDbGFzc05h
bWVzKQoreworICAgIHZhciByZXN1bHQgPSBbXTsKKyAgICB2YXIgbWVzc2FnZXMgPSBXZWJJbnNw
ZWN0b3IuY29uc29sZVZpZXcuX3Zpc2libGVNZXNzYWdlczsKKyAgICBmb3IgKHZhciBpID0gMDsg
aSA8IG1lc3NhZ2VzLmxlbmd0aDsgKytpKSB7CisgICAgICAgIHZhciBlbGVtZW50ID0gbWVzc2Fn
ZXNbaV0udG9NZXNzYWdlRWxlbWVudCgpOworCisgICAgICAgIGlmIChkdW1wQ2xhc3NOYW1lcykg
eworICAgICAgICAgICAgdmFyIGNsYXNzTmFtZXMgPSBbXTsKKyAgICAgICAgICAgIGZvciAodmFy
IG5vZGUgPSBlbGVtZW50LmZpcnN0Q2hpbGQ7IG5vZGU7IG5vZGUgPSBub2RlLnRyYXZlcnNlTmV4
dE5vZGUoZWxlbWVudCkpIHsKKyAgICAgICAgICAgICAgICBpZiAobm9kZS5ub2RlVHlwZSA9PT0g
Tm9kZS5FTEVNRU5UX05PREUgJiYgbm9kZS5jbGFzc05hbWUpCisgICAgICAgICAgICAgICAgICAg
IGNsYXNzTmFtZXMucHVzaChub2RlLmNsYXNzTmFtZSk7CisgICAgICAgICAgICB9CisgICAgICAg
IH0KKworICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdChlbGVtZW50LnRleHRDb250ZW50
LnJlcGxhY2UoL1x1MjAwYi9nLCAiIikgKyAoZHVtcENsYXNzTmFtZXMgPyAiICIgKyBjbGFzc05h
bWVzLmpvaW4oIiA+ICIpIDogIiIpKTsKKyAgICAgICAgaWYgKHByaW50T3JpZ2luYXRpbmdDb21t
YW5kICYmIG1lc3NhZ2VzW2ldLm9yaWdpbmF0aW5nQ29tbWFuZCkgeworICAgICAgICAgICAgdmFy
IG9yaWdpbmF0aW5nRWxlbWVudCA9IG1lc3NhZ2VzW2ldLm9yaWdpbmF0aW5nQ29tbWFuZC50b01l
c3NhZ2VFbGVtZW50KCk7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiT3Jp
Z2luYXRpbmcgZnJvbTogIiArIG9yaWdpbmF0aW5nRWxlbWVudC50ZXh0Q29udGVudC5yZXBsYWNl
KC9cdTIwMGIvZywgIiIpKTsKKyAgICAgICAgfQorICAgIH0KKyAgICByZXR1cm4gcmVzdWx0Owor
fQorCitJbnNwZWN0b3JUZXN0LmR1bXBDb25zb2xlTWVzc2FnZXNXaXRoU3R5bGVzID0gZnVuY3Rp
b24oc29ydE1lc3NhZ2VzKQoreworICAgIHZhciByZXN1bHQgPSBbXTsKKyAgICB2YXIgbWVzc2Fn
ZXMgPSBXZWJJbnNwZWN0b3IuY29uc29sZVZpZXcuX3Zpc2libGVNZXNzYWdlczsKKyAgICBmb3Ig
KHZhciBpID0gMDsgaSA8IG1lc3NhZ2VzLmxlbmd0aDsgKytpKSB7CisgICAgICAgIHZhciBlbGVt
ZW50ID0gbWVzc2FnZXNbaV0udG9NZXNzYWdlRWxlbWVudCgpOworICAgICAgICBJbnNwZWN0b3JU
ZXN0LmFkZFJlc3VsdChlbGVtZW50LnRleHRDb250ZW50LnJlcGxhY2UoL1x1MjAwYi9nLCAiIikp
OworICAgICAgICB2YXIgc3BhbnMgPSBlbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIi5jb25zb2xl
LW1lc3NhZ2UtdGV4dCA+IHNwYW4gPiBzcGFuIik7CisgICAgICAgIGZvciAodmFyIGogPSAwOyBq
IDwgc3BhbnMubGVuZ3RoOyBqKyspCisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3Vs
dCgiU3R5bGVkIHRleHQgIyIgKyBqICsgIjogIiArIChzcGFuc1tqXS5zdHlsZS5jc3NUZXh0IHx8
ICJOTyBTVFlMRVMgREVGSU5FRCIpKTsKKyAgICB9Cit9CisKK0luc3BlY3RvclRlc3QuZHVtcENv
bnNvbGVNZXNzYWdlc1dpdGhDbGFzc2VzID0gZnVuY3Rpb24oc29ydE1lc3NhZ2VzKSB7CisgICAg
dmFyIHJlc3VsdCA9IFtdOworICAgIHZhciBtZXNzYWdlcyA9IFdlYkluc3BlY3Rvci5jb25zb2xl
Vmlldy5fdmlzaWJsZU1lc3NhZ2VzOworICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbWVzc2FnZXMu
bGVuZ3RoOyArK2kpIHsKKyAgICAgICAgdmFyIGVsZW1lbnQgPSBtZXNzYWdlc1tpXS50b01lc3Nh
Z2VFbGVtZW50KCk7CisgICAgICAgIHJlc3VsdC5wdXNoKGVsZW1lbnQudGV4dENvbnRlbnQucmVw
bGFjZSgvXHUyMDBiL2csICIiKSArICIgIiArIGVsZW1lbnQuZ2V0QXR0cmlidXRlKCJjbGFzcyIp
KTsKKyAgICB9CisgICAgaWYgKHNvcnRNZXNzYWdlcykKKyAgICAgICAgcmVzdWx0LnNvcnQoKTsK
KyAgICBmb3IgKHZhciBpID0gMDsgaSA8IG1lc3NhZ2VzLmxlbmd0aDsgKytpKQorICAgICAgICBJ
bnNwZWN0b3JUZXN0LmFkZFJlc3VsdChyZXN1bHRbaV0pOworfQorCitJbnNwZWN0b3JUZXN0LmV4
cGFuZENvbnNvbGVNZXNzYWdlcyA9IGZ1bmN0aW9uKCkKK3sKKyAgICB2YXIgbWVzc2FnZXMgPSBX
ZWJJbnNwZWN0b3IuY29uc29sZVZpZXcuX3Zpc2libGVNZXNzYWdlczsKKyAgICBmb3IgKHZhciBp
ID0gMDsgaSA8IG1lc3NhZ2VzLmxlbmd0aDsgKytpKSB7CisgICAgICAgIHZhciBlbGVtZW50ID0g
bWVzc2FnZXNbaV0udG9NZXNzYWdlRWxlbWVudCgpOworICAgICAgICB2YXIgbm9kZSA9IGVsZW1l
bnQ7CisgICAgICAgIHdoaWxlIChub2RlKSB7CisgICAgICAgICAgICBpZiAobm9kZS50cmVlRWxl
bWVudEZvclRlc3QpCisgICAgICAgICAgICAgICAgbm9kZS50cmVlRWxlbWVudEZvclRlc3QuZXhw
YW5kKCk7CisgICAgICAgICAgICBub2RlID0gbm9kZS50cmF2ZXJzZU5leHROb2RlKGVsZW1lbnQp
OworICAgICAgICB9CisgICAgfQorfQorCitJbnNwZWN0b3JUZXN0LmNoZWNrQ29uc29sZU1lc3Nh
Z2VzRG9udEhhdmVQYXJhbWV0ZXJzID0gZnVuY3Rpb24oKQoreworICAgIHZhciBtZXNzYWdlcyA9
IFdlYkluc3BlY3Rvci5jb25zb2xlVmlldy5fdmlzaWJsZU1lc3NhZ2VzOworICAgIGZvciAodmFy
IGkgPSAwOyBpIDwgbWVzc2FnZXMubGVuZ3RoOyArK2kpIHsKKyAgICAgICAgdmFyIG0gPSBtZXNz
YWdlc1tpXTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIk1lc3NhZ2VbIiArIGkg
KyAiXToiKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIk1lc3NhZ2U6ICIgKyBX
ZWJJbnNwZWN0b3IuZGlzcGxheU5hbWVGb3JVUkwobS51cmwpICsgIjoiICsgbS5saW5lICsgIiAi
ICsgbS5tZXNzYWdlKTsKKyAgICAgICAgaWYgKCJfcGFyYW1ldGVycyIgaW4gbSkgeworICAgICAg
ICAgICAgaWYgKG0uX3BhcmFtZXRlcnMpCisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5h
ZGRSZXN1bHQoIkZBSUxFRDogbWVzc2FnZSBwYXJhbWV0ZXJzIGxpc3QgaXMgbm90IGVtcHR5OiAi
ICsgbS5fcGFyYW1ldGVycyk7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgSW5z
cGVjdG9yVGVzdC5hZGRSZXN1bHQoIlNVQ0NFU1M6IG1lc3NhZ2UgcGFyYW1ldGVycyBsaXN0IGlz
IGVtcHR5LiAiKTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3Qu
YWRkUmVzdWx0KCJGQUlMRUQ6IGRpZG4ndCBmaW5kIF9wYXJhbWV0ZXJzIGZpZWxkIGluIHRoZSBt
ZXNzYWdlLiIpOworICAgICAgICB9CisgICAgfQorfQorCit9CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9jb25zb2xlLXdlYnNvY2tldC1lcnJv
ci5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvY29uc29s
ZS13ZWJzb2NrZXQtZXJyb3IuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yZjEyY2NmNTczOTFkNGMxZjBmMjdj
M2FiZjMxZWM4NzFmNzAyZGVmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvY29uc29sZS13ZWJzb2NrZXQtZXJyb3IuaHRtbApAQCAt
MCwwICsxLDg0IEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Imluc3BlY3Rvci10ZXN0
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJjb25zb2xlLXRlc3QuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdD4KK3ZhciB0ZXN0RnVuY3Rpb25zID0gW3Rlc3RETlNMb29rdXAsIHRlc3RTU0xDZXJ0
aWZpY2F0ZV07Cit2YXIgbmV4dFRlc3RJbmRleCA9IDA7CisKK2Z1bmN0aW9uIG9ubG9hZCgpCit7
CisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRp
bERvbmUoKTsKKyAgICBpZiAoIXdpbmRvdy5XZWJTb2NrZXQpIHsKKyAgICAgICAgY29uc29sZS5s
b2coIldlYlNvY2tldCBpcyBub3Qgc3VwcG9ydGVkLiIpOyByZXR1cm47CisgICAgfQorICAgIGRv
TmV4dFRlc3QoKTsKK30KKworZnVuY3Rpb24gZG9OZXh0VGVzdCgpCit7CisgICAgaWYgKG5leHRU
ZXN0SW5kZXggPT0gdGVzdEZ1bmN0aW9ucy5sZW5ndGgpIHsKKyAgICAgICAgcnVuVGVzdCgpOwor
ICAgICAgICByZXR1cm47CisgICAgfQorICAgIHZhciB0ZXN0RnVuY3Rpb24gPSB0ZXN0RnVuY3Rp
b25zW25leHRUZXN0SW5kZXhdOworICAgIG5leHRUZXN0SW5kZXgrKzsKKyAgICB0ZXN0RnVuY3Rp
b24oKTsKK30KKworZnVuY3Rpb24gdGVzdEROU0xvb2t1cCgpCit7CisgICAgY29uc29sZS5sb2co
InRlc3RETlNMb29rdXA6IFRlc3Qgc3RhcnRlZC4iKTsKKyAgICB2YXIgd3MgPSBuZXcgV2ViU29j
a2V0KCJ3czovL25vbmV4aXN0ZW50LmRvbWFpbi5pbnZhbGlkLyIpOyAvLyBOZXR3b3JrIGVycm9y
IHNob3VsZCBiZSBsb2dnZWQgdG8gY29uc29sZS4KKyAgICB3cy5vbm9wZW4gPSBmdW5jdGlvbigp
IHsKKyAgICAgICAgY29uc29sZS5sb2coInRlc3RETlNMb29rdXA6IG9ub3BlbiBpcyBjYWxsZWQu
Iik7CisgICAgICAgIHdzLmNsb3NlKCk7CisgICAgfTsKKyAgICB3cy5vbmVycm9yID0gZnVuY3Rp
b24oKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCJ0ZXN0RE5TTG9va3VwOiBvbmVycm9yIGlzIGNh
bGxlZC4iKTsKKyAgICAgICAgd3MuY2xvc2UoKTsKKyAgICB9OworICAgIHdzLm9uY2xvc2UgPSBm
dW5jdGlvbigpIHsKKyAgICAgICAgY29uc29sZS5sb2coInRlc3RETlNMb29rdXA6IG9uY2xvc2Ug
aXMgY2FsbGVkLiIpOworICAgICAgICBkb05leHRUZXN0KCk7CisgICAgfTsKK30KKworZnVuY3Rp
b24gdGVzdFNTTENlcnRpZmljYXRlKCkKK3sKKyAgICBjb25zb2xlLmxvZygidGVzdFNTTENlcnRp
ZmljYXRlOiBUZXN0IHN0YXJ0ZWQuIik7CisgICAgLy8gVGhlIGZvbGxvd2luZyBzdGF0ZW1lbnQg
c2hvdWxkIGNhdXNlICJVbnRydXN0ZWQgcm9vdCBjZXJ0aWZpY2F0ZSIgZXJyb3IuCisgICAgLy8g
Tm90ZSB0aGF0IHBvcnQgODQ0MyBzZXJ2ZXMgSFRUUFMgY29udGVudCByYXRoZXIgdGhhbiBzZWN1
cmUgV2ViU29ja2V0LAorICAgIC8vIGJ1dCBpdCBkb2VzIG5vdCBtYXR0ZXIgYmVjYXVzZSB0aGUg
dGVzdCBkb2VzIG5vdCBzZW5kIG9yIHJlY2VpdmUgYW55IHBheWxvYWQuCisgICAgdmFyIHdzID0g
bmV3IFdlYlNvY2tldCgid3NzOi8vMTI3LjAuMC4xOjg0NDMvIik7CisgICAgd3Mub25vcGVuID0g
ZnVuY3Rpb24oKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCJ0ZXN0U1NMQ2VydGlmaWNhdGU6IG9u
b3BlbiBpcyBjYWxsZWQuIik7CisgICAgICAgIHdzLmNsb3NlKCk7CisgICAgfTsKKyAgICB3cy5v
bmVycm9yID0gZnVuY3Rpb24oKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCJ0ZXN0U1NMQ2VydGlm
aWNhdGU6IG9uZXJyb3IgaXMgY2FsbGVkLiIpOworICAgICAgICB3cy5jbG9zZSgpOworICAgIH07
CisgICAgd3Mub25jbG9zZSA9IGZ1bmN0aW9uKCkgeworICAgICAgICBjb25zb2xlLmxvZygidGVz
dFNTTENlcnRpZmljYXRlOiBvbmNsb3NlIGlzIGNhbGxlZC4iKTsKKyAgICAgICAgZG9OZXh0VGVz
dCgpOworICAgIH07Cit9CisKK2Z1bmN0aW9uIHRlc3QoKQoreworICAgIEluc3BlY3RvclRlc3Qu
ZHVtcENvbnNvbGVNZXNzYWdlcygpOworICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7
Cit9CisKKzwvc2NyaXB0PgorPC9oZWFkPgorCis8Ym9keSBvbmxvYWQ9Im9ubG9hZCgpIj4KKzxw
PgorV2ViU29ja2V0J3MgbmV0d29yayBlcnJvcnMgc2hvdWxkIGJlIGxvZ2dlZCB0byBjb25zb2xl
LgorPC9wPgorCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9jb25zb2xlLXhoci1sb2dnaW5nLWFzeW5jLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL2NvbnNv
bGUteGhyLWxvZ2dpbmctYXN5bmMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYyMTYxYjNlYjM4
MGNmNTFhZjEyZGQxMjU2YzMxZDkwZDE4ZjUxZGMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9jb25zb2xlLXhoci1sb2dnaW5nLWFz
eW5jLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDkgQEAKK0NPTlNPTEUgTUVTU0FHRTogbGluZSA2
OiBYSFIgbG9hZGVkOiAxCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgNjogWEhSIGxvYWRlZDogMgor
VGVzdHMgdGhhdCBYTUxIdHRwUmVxdWVzdCBMb2dnaW5nIHdvcmtzIHdoZW4gRW5hYmxlZCBhbmQg
ZG9lc24ndCBzaG93IGxvZ3Mgd2hlbiBEaXNhYmxlZCBmb3IgYXN5bmNocm9ub3VzIFhIUnMuCisK
K0J1ZyA3OTIyOQorWEhSIGZpbmlzaGVkIGxvYWRpbmc6ICJodHRwOi8vMTI3LjAuMC4xOjgwMDAv
aW5zcGVjdG9yL3Jlc291cmNlcy94aHItZXhpc3RzLmh0bWwiLiBbbmF0aXZlIGNvZGVdOjEKK1hI
UiBsb2FkZWQ6IDEgbmV0d29yay10ZXN0LmpzOjYKK1hIUiBsb2FkZWQ6IDIgbmV0d29yay10ZXN0
LmpzOjYKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAt
dGVzdHMvY29uc29sZS14aHItbG9nZ2luZy1hc3luYy5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvY29uc29sZS14aHItbG9nZ2luZy1hc3luYy5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmE1NGRjZjJjNjAyMThmMmI3NmJkYmE1NzdhMTM1MTRjNmFlMWM2YzMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9j
b25zb2xlLXhoci1sb2dnaW5nLWFzeW5jLmh0bWwKQEAgLTAsMCArMSw1NCBAQAorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSJpbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iY29uc29sZS10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJuZXR3b3JrLXRl
c3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2Z1bmN0aW9uIHRlc3QoKQoreworICAgIHN0ZXAx
KCk7CisKKyAgICBmdW5jdGlvbiBtYWtlUmVxdWVzdChjYWxsYmFjaykKKyAgICB7CisgICAgICAg
IEluc3BlY3RvclRlc3QubWFrZVNpbXBsZVhIUigiR0VUIiwgInJlc291cmNlcy94aHItZXhpc3Rz
Lmh0bWwiLCB0cnVlLCBjYWxsYmFjayk7CisgICAgfQorCisgICAgZnVuY3Rpb24gc3RlcDEoKQor
ICAgIHsKKyAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2soKQorICAgICAgICB7CisgICAgICAgICAg
ICBtYWtlUmVxdWVzdChzdGVwMik7CisgICAgICAgIH0KKworICAgICAgICBDb25zb2xlQWdlbnQu
c2V0TW9uaXRvcmluZ1hIUkVuYWJsZWQodHJ1ZSwgY2FsbGJhY2spOworICAgIH0KKworICAgIGZ1
bmN0aW9uIHN0ZXAyKCkKKyAgICB7CisgICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrKCkKKyAgICAg
ICAgeworICAgICAgICAgICAgbWFrZVJlcXVlc3Qoc3RlcDMpOworICAgICAgICB9CisKKyAgICAg
ICAgQ29uc29sZUFnZW50LnNldE1vbml0b3JpbmdYSFJFbmFibGVkKGZhbHNlLCBjYWxsYmFjayk7
CisgICAgfQorCisgICAgZnVuY3Rpb24gc3RlcDMoKQorICAgIHsKKyAgICAgICAgZnVuY3Rpb24g
ZmluaXNoKCkKKyAgICAgICAgeworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wQ29uc29s
ZU1lc3NhZ2VzKCk7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwor
ICAgICAgICB9CisgICAgICAgIEluc3BlY3RvclRlc3QucnVuQWZ0ZXJQZW5kaW5nRGlzcGF0Y2hl
cyhmaW5pc2gpOworICAgIH0KK30KKworPC9zY3JpcHQ+Cis8L2hlYWQ+CisKKzxib2R5IG9ubG9h
ZD0icnVuVGVzdCgpIj4KKzxwPlRlc3RzIHRoYXQgWE1MSHR0cFJlcXVlc3QgTG9nZ2luZyB3b3Jr
cyB3aGVuIEVuYWJsZWQgYW5kIGRvZXNuJ3Qgc2hvdyBsb2dzIHdoZW4gRGlzYWJsZWQgZm9yIGFz
eW5jaHJvbm91cyBYSFJzLjwvcD4KKzxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD03OTIyOSI+QnVnIDc5MjI5PC9hPgorPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvY29uc29s
ZS14aHItbG9nZ2luZy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xl
dGUvaHR0cC10ZXN0cy9jb25zb2xlLXhoci1sb2dnaW5nLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5hNTA5NmY4OWIxNTJkNWZhZDVkM2VjOTUwMjI1MDQ0OGUxZWI3NzQ0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvY29uc29sZS14
aHItbG9nZ2luZy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyOCBAQAorQ09OU09MRSBNRVNTQUdF
OiBsaW5lIDEwOiBzZW5kaW5nIGEgJXMgcmVxdWVzdCB0byAlcworQ09OU09MRSBNRVNTQUdFOiBs
aW5lIDEwOiBzZW5kaW5nIGEgJXMgcmVxdWVzdCB0byAlcworQ09OU09MRSBNRVNTQUdFOiBsaW5l
IDEwOiBzZW5kaW5nIGEgJXMgcmVxdWVzdCB0byAlcworQ09OU09MRSBNRVNTQUdFOiBsaW5lIDEw
OiBzZW5kaW5nIGEgJXMgcmVxdWVzdCB0byAlcworQ09OU09MRSBNRVNTQUdFOiBYTUxIdHRwUmVx
dWVzdCBjYW5ub3QgbG9hZCBodHRwOi8vbG9jYWxob3N0OjgwMDAvaW5zcGVjdG9yL3Jlc291cmNl
cy94aHItZXhpc3RzLmh0bWwuIE9yaWdpbiBodHRwOi8vMTI3LjAuMC4xOjgwMDAgaXMgbm90IGFs
bG93ZWQgYnkgQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luLgorQ09OU09MRSBNRVNTQUdFOiBs
aW5lIDEwOiBzZW5kaW5nIGEgJXMgcmVxdWVzdCB0byAlcworQ09OU09MRSBNRVNTQUdFOiBsaW5l
IDEwOiBzZW5kaW5nIGEgJXMgcmVxdWVzdCB0byAlcworQ09OU09MRSBNRVNTQUdFOiBsaW5lIDEw
OiBzZW5kaW5nIGEgJXMgcmVxdWVzdCB0byAlcworQ09OU09MRSBNRVNTQUdFOiBsaW5lIDEwOiBz
ZW5kaW5nIGEgJXMgcmVxdWVzdCB0byAlcworQ09OU09MRSBNRVNTQUdFOiBYTUxIdHRwUmVxdWVz
dCBjYW5ub3QgbG9hZCBodHRwOi8vbG9jYWxob3N0OjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlcy94
aHItZXhpc3RzLmh0bWwuIE9yaWdpbiBodHRwOi8vMTI3LjAuMC4xOjgwMDAgaXMgbm90IGFsbG93
ZWQgYnkgQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luLgorVGVzdHMgdGhhdCBYTUxIdHRwUmVx
dWVzdCBMb2dnaW5nIHdvcmtzIHdoZW4gRW5hYmxlZCBhbmQgZG9lc24ndCBzaG93IGxvZ3Mgd2hl
biBEaXNhYmxlZC4KKworc2VuZGluZyBhIEdFVCByZXF1ZXN0IHRvIHJlc291cmNlcy94aHItZXhp
c3RzLmh0bWwgY29uc29sZS14aHItbG9nZ2luZy5odG1sOjEwCitYSFIgZmluaXNoZWQgbG9hZGlu
ZzogImh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2VzL3hoci1leGlzdHMu
aHRtbCIuIFtuYXRpdmUgY29kZV06MQorc2VuZGluZyBhIEdFVCByZXF1ZXN0IHRvIHJlc291cmNl
cy94aHItZG9lcy1ub3QtZXhpc3QuaHRtbCBjb25zb2xlLXhoci1sb2dnaW5nLmh0bWw6MTAKK0dF
VCBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlcy94aHItZG9lcy1ub3Qt
ZXhpc3QuaHRtbCA0MDQgKE5vdCBGb3VuZCkgW25hdGl2ZSBjb2RlXToxCitYSFIgZmluaXNoZWQg
bG9hZGluZzogImh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2VzL3hoci1k
b2VzLW5vdC1leGlzdC5odG1sIi4gW25hdGl2ZSBjb2RlXToxCitzZW5kaW5nIGEgUE9TVCByZXF1
ZXN0IHRvIHJlc291cmNlcy9wb3N0LXRhcmdldC5jZ2kgY29uc29sZS14aHItbG9nZ2luZy5odG1s
OjEwCitYSFIgZmluaXNoZWQgbG9hZGluZzogImh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0
b3IvcmVzb3VyY2VzL3Bvc3QtdGFyZ2V0LmNnaSIuIFtuYXRpdmUgY29kZV06MQorc2VuZGluZyBh
IEdFVCByZXF1ZXN0IHRvIGh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2Vz
L3hoci1leGlzdHMuaHRtbCBjb25zb2xlLXhoci1sb2dnaW5nLmh0bWw6MTAKK1hNTEh0dHBSZXF1
ZXN0IGNhbm5vdCBsb2FkIGh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2Vz
L3hoci1leGlzdHMuaHRtbC4gT3JpZ2luIGh0dHA6Ly8xMjcuMC4wLjE6ODAwMCBpcyBub3QgYWxs
b3dlZCBieSBBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4uIFtuYXRpdmUgY29kZV06MQorc2Vu
ZGluZyBhIEdFVCByZXF1ZXN0IHRvIHJlc291cmNlcy94aHItZXhpc3RzLmh0bWwgY29uc29sZS14
aHItbG9nZ2luZy5odG1sOjEwCitzZW5kaW5nIGEgR0VUIHJlcXVlc3QgdG8gcmVzb3VyY2VzL3ho
ci1kb2VzLW5vdC1leGlzdC5odG1sIGNvbnNvbGUteGhyLWxvZ2dpbmcuaHRtbDoxMAorR0VUIGh0
dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2VzL3hoci1kb2VzLW5vdC1leGlz
dC5odG1sIDQwNCAoTm90IEZvdW5kKSBbbmF0aXZlIGNvZGVdOjEKK3NlbmRpbmcgYSBQT1NUIHJl
cXVlc3QgdG8gcmVzb3VyY2VzL3Bvc3QtdGFyZ2V0LmNnaSBjb25zb2xlLXhoci1sb2dnaW5nLmh0
bWw6MTAKK3NlbmRpbmcgYSBHRVQgcmVxdWVzdCB0byBodHRwOi8vbG9jYWxob3N0OjgwMDAvaW5z
cGVjdG9yL3Jlc291cmNlcy94aHItZXhpc3RzLmh0bWwgY29uc29sZS14aHItbG9nZ2luZy5odG1s
OjEwCitYTUxIdHRwUmVxdWVzdCBjYW5ub3QgbG9hZCBodHRwOi8vbG9jYWxob3N0OjgwMDAvaW5z
cGVjdG9yL3Jlc291cmNlcy94aHItZXhpc3RzLmh0bWwuIE9yaWdpbiBodHRwOi8vMTI3LjAuMC4x
OjgwMDAgaXMgbm90IGFsbG93ZWQgYnkgQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luLiBbbmF0
aXZlIGNvZGVdOjEKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRl
L2h0dHAtdGVzdHMvY29uc29sZS14aHItbG9nZ2luZy5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvY29uc29sZS14aHItbG9nZ2luZy5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjhjYzg5MTViNTBiNjNiNWFjNjkwYjBkYzZiZDQ1NzQ2N2QwZjRkMDkKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9jb25zb2xl
LXhoci1sb2dnaW5nLmh0bWwKQEAgLTAsMCArMSw2OCBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSJpbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iY29uc29s
ZS10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJuZXR3b3JrLXRlc3QuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdD4KK2Z1bmN0aW9uIHJlcXVlc3RIZWxwZXIobWV0aG9kLCB1cmwpCit7Cisg
ICAgLy8gTWFrZSBzeW5jaHJvbm91cyByZXF1ZXN0cyBmb3Igc2ltcGxpY2l0eS4KKyAgICBjb25z
b2xlLmxvZygic2VuZGluZyBhICVzIHJlcXVlc3QgdG8gJXMiLCBtZXRob2QsIHVybCk7CisgICAg
bWFrZVNpbXBsZVhIUihtZXRob2QsIHVybCwgZmFsc2UpOworfQorCitmdW5jdGlvbiBtYWtlUmVx
dWVzdHMoKQoreworICAgIC8vIDEuIFBhZ2UgdGhhdCBleGlzdHMuCisgICAgcmVxdWVzdEhlbHBl
cigiR0VUIiwgInJlc291cmNlcy94aHItZXhpc3RzLmh0bWwiKTsKKyAgICAvLyAyLiBQYWdlIHRo
YXQgZG9lc24ndCBleGlzdC4KKyAgICByZXF1ZXN0SGVscGVyKCJHRVQiLCAicmVzb3VyY2VzL3ho
ci1kb2VzLW5vdC1leGlzdC5odG1sIik7CisgICAgLy8gMy4gUE9TVCB0byBhIHBhZ2UuCisgICAg
cmVxdWVzdEhlbHBlcigiUE9TVCIsICJyZXNvdXJjZXMvcG9zdC10YXJnZXQuY2dpIik7CisgICAg
Ly8gNC4gQ3Jvc3Mtb3JpZ2luIHJlcXVlc3QKKyAgICByZXF1ZXN0SGVscGVyKCJHRVQiLCAiaHR0
cDovL2xvY2FsaG9zdDo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZXMveGhyLWV4aXN0cy5odG1sIik7
Cit9CisKK2Z1bmN0aW9uIHRlc3QoKQoreworICAgIHN0ZXAxKCk7CisKKyAgICBmdW5jdGlvbiBz
dGVwMSgpCisgICAgeworICAgICAgICBmdW5jdGlvbiBjYWxsYmFjaygpCisgICAgICAgIHsKKyAg
ICAgICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoIm1ha2VSZXF1ZXN0cygpIiwg
c3RlcDIpOworICAgICAgICB9CisgICAgICAgIENvbnNvbGVBZ2VudC5zZXRNb25pdG9yaW5nWEhS
RW5hYmxlZCh0cnVlLCBjYWxsYmFjayk7CisgICAgfQorCisgICAgZnVuY3Rpb24gc3RlcDIoKQor
ICAgIHsKKyAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2soKQorICAgICAgICB7CisgICAgICAgICAg
ICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJtYWtlUmVxdWVzdHMoKSIsIHN0ZXAzKTsK
KyAgICAgICAgfQorICAgICAgICBDb25zb2xlQWdlbnQuc2V0TW9uaXRvcmluZ1hIUkVuYWJsZWQo
ZmFsc2UsIGNhbGxiYWNrKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBzdGVwMygpCisgICAgewor
ICAgICAgICBmdW5jdGlvbiBmaW5pc2goKQorICAgICAgICB7CisgICAgICAgICAgICBJbnNwZWN0
b3JUZXN0LmR1bXBDb25zb2xlTWVzc2FnZXMoKTsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3Qu
Y29tcGxldGVUZXN0KCk7CisgICAgICAgIH0KKyAgICAgICAgSW5zcGVjdG9yVGVzdC5ydW5BZnRl
clBlbmRpbmdEaXNwYXRjaGVzKGZpbmlzaCk7CisgICAgfQorfQorCis8L3NjcmlwdD4KKzwvaGVh
ZD4KKworPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgorPHA+CitUZXN0cyB0aGF0IFhNTEh0dHBS
ZXF1ZXN0IExvZ2dpbmcgd29ya3Mgd2hlbiBFbmFibGVkIGFuZCBkb2Vzbid0IHNob3cgbG9ncyB3
aGVuIERpc2FibGVkLgorPC9wPgorCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9kYXRhYmFzZS1vcGVuLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL2RhdGFi
YXNlLW9wZW4tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFmMDgyMTI3ZjE0YWQ3OTM2MDk0YWMz
NThiMjYxZTQ4M2U3NGYzYmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0
b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9kYXRhYmFzZS1vcGVuLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDYgQEAKK1Rlc3RzIHRoYXQgV2ViIEluc3BlY3RvciBnZXRzIHBvcHVsYXRlZCB3aXRoIGRh
dGFiYXNlcyB0aGF0IHdlcmUgb3BlbmVkIGJlZm9yZSBpbnNwZWN0b3IgaXMgc2hvd24uCisKK05h
bWU6IEluc3BlY3RvckRhdGFiYXNlVGVzdAorVmVyc2lvbjogMS4wCitEb21haW46IDEyNy4wLjAu
MQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0
cy9kYXRhYmFzZS1vcGVuLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0
cC10ZXN0cy9kYXRhYmFzZS1vcGVuLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmRjZDNjZmE3M2NlNGU3ZDgz
ZWQ2MGViODFlNjEwNDg1OTY2NmZkZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lu
c3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL2RhdGFiYXNlLW9wZW4uaHRtbApAQCAtMCwwICsx
LDQwIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8
aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorCitmdW5jdGlvbiBvbmxvYWQoKQoreworICAgIGlmICh3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CisK
KyAgICB2YXIgZGIgPSBvcGVuRGF0YWJhc2UoIkluc3BlY3RvckRhdGFiYXNlVGVzdCIsICIxLjAi
LCAiVGVzdCBvZiBkYXRhYmFzZSBpbnN0cnVtZW50YXRpb24iLCAxKTsKKworICAgIGlmICh3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgdGVzdFJ1bm5lci5zaG93V2ViSW5zcGVjdG9yKCk7Cisg
ICAgcnVuVGVzdCgpOworfQorCitmdW5jdGlvbiB0ZXN0KCkKK3sKKyAgICBmdW5jdGlvbiBydW4o
KQorICAgIHsKKyAgICAgICAgdmFyIGRhdGFiYXNlcyA9IFdlYkluc3BlY3Rvci5kYXRhYmFzZU1v
ZGVsLmRhdGFiYXNlcygpOworICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGRhdGFiYXNlcy5s
ZW5ndGg7ICsraSkgeworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIk5hbWU6
ICIgKyBkYXRhYmFzZXNbaV0ubmFtZSk7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJl
c3VsdCgiVmVyc2lvbjogIiArIGRhdGFiYXNlc1tpXS52ZXJzaW9uKTsKKyAgICAgICAgICAgIElu
c3BlY3RvclRlc3QuYWRkUmVzdWx0KCJEb21haW46ICIgKyBkYXRhYmFzZXNbaV0uZG9tYWluKTsK
KyAgICAgICAgfQorICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOworICAgIH0K
KyAgICBJbnNwZWN0b3JCYWNrZW5kLnJ1bkFmdGVyUGVuZGluZ0Rpc3BhdGNoZXMocnVuKTsKK30K
KworPC9zY3JpcHQ+CisKKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0ib25sb2FkKCkiPgorPHA+VGVz
dHMgdGhhdCBXZWIgSW5zcGVjdG9yIGdldHMgcG9wdWxhdGVkIHdpdGggZGF0YWJhc2VzIHRoYXQg
d2VyZSBvcGVuZWQgYmVmb3JlIGluc3BlY3RvciBpcyBzaG93bi48L3A+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0
cy9kZWJ1Z2dlci10ZXN0LmpzIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAt
dGVzdHMvZGVidWdnZXItdGVzdC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44ZGUzY2FjMmUyZDk4MmE3YWVhZWY4
ODU4NGI4ZDUyYmM5ZGE4NDJhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvZGVidWdnZXItdGVzdC5qcwpAQCAtMCwwICsxLDMxMiBA
QAordmFyIGluaXRpYWxpemVfRGVidWdnZXJUZXN0ID0gZnVuY3Rpb24oKSB7CisKK0luc3BlY3Rv
clRlc3Quc3RhcnREZWJ1Z2dlclRlc3QgPSBmdW5jdGlvbihjYWxsYmFjaywgcXVpZXQpCit7Cisg
ICAgaWYgKHF1aWV0ICE9PSB1bmRlZmluZWQpCisgICAgICAgIEluc3BlY3RvclRlc3QuX3F1aWV0
ID0gcXVpZXQ7CisgICAgV2ViSW5zcGVjdG9yLnNob3dQYW5lbCgic2NyaXB0cyIpOworCisgICAg
aWYgKFdlYkluc3BlY3Rvci5kZWJ1Z2dlck1vZGVsLmRlYnVnZ2VyRW5hYmxlZCgpKQorICAgICAg
ICBzdGFydFRlc3QoKTsKKyAgICBlbHNlIHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRTbmlm
ZmVyKFdlYkluc3BlY3Rvci5kZWJ1Z2dlck1vZGVsLCAiX2RlYnVnZ2VyV2FzRW5hYmxlZCIsIHN0
YXJ0VGVzdCk7CisgICAgICAgIFdlYkluc3BlY3Rvci5kZWJ1Z2dlck1vZGVsLmVuYWJsZURlYnVn
Z2VyKCk7CisgICAgfQorCisgICAgZnVuY3Rpb24gc3RhcnRUZXN0KCkKKyAgICB7CisgICAgICAg
IEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJEZWJ1Z2dlciB3YXMgZW5hYmxlZC4iKTsKKyAgICAg
ICAgSW5zcGVjdG9yVGVzdC5hZGRTbmlmZmVyKFdlYkluc3BlY3Rvci5kZWJ1Z2dlck1vZGVsLCAi
X3BhdXNlZFNjcmlwdCIsIEluc3BlY3RvclRlc3QuX3BhdXNlZFNjcmlwdCwgdHJ1ZSk7CisgICAg
ICAgIEluc3BlY3RvclRlc3QuYWRkU25pZmZlcihXZWJJbnNwZWN0b3IuZGVidWdnZXJNb2RlbCwg
Il9yZXN1bWVkU2NyaXB0IiwgSW5zcGVjdG9yVGVzdC5fcmVzdW1lZFNjcmlwdCwgdHJ1ZSk7Cisg
ICAgICAgIEluc3BlY3RvclRlc3Quc2FmZVdyYXAoY2FsbGJhY2spKCk7CisgICAgfQorfTsKKwor
SW5zcGVjdG9yVGVzdC5maW5pc2hEZWJ1Z2dlclRlc3QgPSBmdW5jdGlvbihjYWxsYmFjaykKK3sK
KyAgICB2YXIgc2NyaXB0c1BhbmVsID0gV2ViSW5zcGVjdG9yLnBhbmVscy5zY3JpcHRzOworCisg
ICAgV2ViSW5zcGVjdG9yLmRlYnVnZ2VyTW9kZWwuc2V0QnJlYWtwb2ludHNBY3RpdmUodHJ1ZSk7
CisgICAgSW5zcGVjdG9yVGVzdC5yZXN1bWVFeGVjdXRpb24oZGlzYWJsZURlYnVnZ2VyKTsKKwor
ICAgIGZ1bmN0aW9uIGRpc2FibGVEZWJ1Z2dlcigpCisgICAgeworICAgICAgICBpZiAoIVdlYklu
c3BlY3Rvci5kZWJ1Z2dlck1vZGVsLmRlYnVnZ2VyRW5hYmxlZCgpKQorICAgICAgICAgICAgY29t
cGxldGVUZXN0KCk7CisgICAgICAgIGVsc2UgeworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5h
ZGRTbmlmZmVyKFdlYkluc3BlY3Rvci5kZWJ1Z2dlck1vZGVsLCAiX2RlYnVnZ2VyV2FzRGlzYWJs
ZWQiLCBkZWJ1Z2dlckRpc2FibGVkKTsKKyAgICAgICAgICAgIFdlYkluc3BlY3Rvci5kZWJ1Z2dl
ck1vZGVsLmRpc2FibGVEZWJ1Z2dlcigpOworICAgICAgICB9CisgICAgfQorCisgICAgZnVuY3Rp
b24gZGVidWdnZXJEaXNhYmxlZCgpCisgICAgeworICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJl
c3VsdCgiRGVidWdnZXIgd2FzIGRpc2FibGVkLiIpOworICAgICAgICBjYWxsYmFjaygpOworICAg
IH0KK307CisKK0luc3BlY3RvclRlc3QuY29tcGxldGVEZWJ1Z2dlclRlc3QgPSBmdW5jdGlvbigp
Cit7CisgICAgSW5zcGVjdG9yVGVzdC5maW5pc2hEZWJ1Z2dlclRlc3QoSW5zcGVjdG9yVGVzdC5j
b21wbGV0ZVRlc3QuYmluZChJbnNwZWN0b3JUZXN0KSk7Cit9OworCitJbnNwZWN0b3JUZXN0LnJ1
bkRlYnVnZ2VyVGVzdFN1aXRlID0gZnVuY3Rpb24odGVzdFN1aXRlKQoreworICAgIHZhciB0ZXN0
U3VpdGVUZXN0cyA9IHRlc3RTdWl0ZS5zbGljZSgpOworCisgICAgZnVuY3Rpb24gcnVubmVyKCkK
KyAgICB7CisgICAgICAgIGlmICghdGVzdFN1aXRlVGVzdHMubGVuZ3RoKSB7CisgICAgICAgICAg
ICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlRGVidWdnZXJUZXN0KCk7CisgICAgICAgICAgICByZXR1
cm47CisgICAgICAgIH0KKworICAgICAgICB2YXIgbmV4dFRlc3QgPSB0ZXN0U3VpdGVUZXN0cy5z
aGlmdCgpOworICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiIik7CisgICAgICAgIElu
c3BlY3RvclRlc3QuYWRkUmVzdWx0KCJSdW5uaW5nOiAiICsgL2Z1bmN0aW9uXHMoW14oXSopLy5l
eGVjKG5leHRUZXN0KVsxXSk7CisgICAgICAgIEluc3BlY3RvclRlc3Quc2FmZVdyYXAobmV4dFRl
c3QpKHJ1bm5lciwgcnVubmVyKTsKKyAgICB9CisKKyAgICBJbnNwZWN0b3JUZXN0LnN0YXJ0RGVi
dWdnZXJUZXN0KHJ1bm5lcik7Cit9CisKK0luc3BlY3RvclRlc3QucnVuVGVzdEZ1bmN0aW9uQW5k
V2FpdFVudGlsUGF1c2VkID0gZnVuY3Rpb24oY2FsbGJhY2spCit7CisgICAgSW5zcGVjdG9yVGVz
dC5ldmFsdWF0ZUluQ29uc29sZSgic2V0VGltZW91dCh0ZXN0RnVuY3Rpb24sIDApIik7CisgICAg
SW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIlNldCB0aW1lciBmb3IgdGVzdCBmdW5jdGlvbi4iKTsK
KyAgICBJbnNwZWN0b3JUZXN0LndhaXRVbnRpbFBhdXNlZChjYWxsYmFjayk7Cit9OworCitJbnNw
ZWN0b3JUZXN0LndhaXRVbnRpbFBhdXNlZCA9IGZ1bmN0aW9uKGNhbGxiYWNrKQoreworICAgIGNh
bGxiYWNrID0gSW5zcGVjdG9yVGVzdC5zYWZlV3JhcChjYWxsYmFjayk7CisKKyAgICBpZiAoSW5z
cGVjdG9yVGVzdC5fY2FsbEZyYW1lcykKKyAgICAgICAgY2FsbGJhY2soSW5zcGVjdG9yVGVzdC5f
Y2FsbEZyYW1lcyk7CisgICAgZWxzZQorICAgICAgICBJbnNwZWN0b3JUZXN0Ll93YWl0VW50aWxQ
YXVzZWRDYWxsYmFjayA9IGNhbGxiYWNrOworfTsKKworSW5zcGVjdG9yVGVzdC53YWl0VW50aWxS
ZXN1bWVkID0gZnVuY3Rpb24oY2FsbGJhY2spCit7CisgICAgY2FsbGJhY2sgPSBJbnNwZWN0b3JU
ZXN0LnNhZmVXcmFwKGNhbGxiYWNrKTsKKworICAgIGlmICghSW5zcGVjdG9yVGVzdC5fY2FsbEZy
YW1lcykKKyAgICAgICAgY2FsbGJhY2soKTsKKyAgICBlbHNlCisgICAgICAgIEluc3BlY3RvclRl
c3QuX3dhaXRVbnRpbFJlc3VtZWRDYWxsYmFjayA9IGNhbGxiYWNrOworfTsKKworSW5zcGVjdG9y
VGVzdC5yZXN1bWVFeGVjdXRpb24gPSBmdW5jdGlvbihjYWxsYmFjaykKK3sKKyAgICBpZiAoV2Vi
SW5zcGVjdG9yLnBhbmVscy5zY3JpcHRzLnBhdXNlZCkKKyAgICAgICAgV2ViSW5zcGVjdG9yLnBh
bmVscy5zY3JpcHRzLl90b2dnbGVQYXVzZSgpOworICAgIEluc3BlY3RvclRlc3Qud2FpdFVudGls
UmVzdW1lZChjYWxsYmFjayk7Cit9OworCitJbnNwZWN0b3JUZXN0LmNhcHR1cmVTdGFja1RyYWNl
ID0gZnVuY3Rpb24oY2FsbEZyYW1lcywgZHJvcExpbmVOdW1iZXJzLCB2ZXJib3NlKQoreworICAg
IEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJDYWxsIHN0YWNrOiIpOworICAgIGZvciAodmFyIGkg
PSAwOyBpIDwgY2FsbEZyYW1lcy5sZW5ndGg7IGkrKykgeworICAgICAgICB2YXIgZnJhbWUgPSBj
YWxsRnJhbWVzW2ldOworICAgICAgICB2YXIgc2NyaXB0ID0gV2ViSW5zcGVjdG9yLmRlYnVnZ2Vy
TW9kZWwuc2NyaXB0Rm9ySWQoZnJhbWUubG9jYXRpb24uc2NyaXB0SWQpOworICAgICAgICB2YXIg
dXJsOworICAgICAgICB2YXIgbGluZU51bWJlcjsKKyAgICAgICAgdmFyIGRyb3BGcmFtZUxpbmVO
dW1iZXIgPSBkcm9wTGluZU51bWJlcnM7CisgICAgICAgIGlmIChzY3JpcHQpIHsKKyAgICAgICAg
ICAgIHVybCA9IFdlYkluc3BlY3Rvci5kaXNwbGF5TmFtZUZvclVSTChzY3JpcHQuc291cmNlVVJM
KTsKKyAgICAgICAgICAgIGxpbmVOdW1iZXIgPSBmcmFtZS5sb2NhdGlvbi5saW5lTnVtYmVyICsg
MTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIHVybCA9ICIoaW50ZXJuYWwgc2NyaXB0
KSI7CisgICAgICAgICAgICBkcm9wRnJhbWVMaW5lTnVtYmVyID0gIHRydWU7CisgICAgICAgIH0K
KyAgICAgICAgdmFyIHMgPSAiICAgICIgKyBpICsgIikgIiArIGZyYW1lLmZ1bmN0aW9uTmFtZSAr
ICIgKCIgKyB1cmwgKyAoZHJvcEZyYW1lTGluZU51bWJlciA/ICIiIDogIjoiICsgbGluZU51bWJl
cikgKyAiKSI7CisgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KHMpOworICAgIH0KK307
CisKK0luc3BlY3RvclRlc3QuZHVtcFNvdXJjZUZyYW1lQ29udGVudHMgPSBmdW5jdGlvbihzb3Vy
Y2VGcmFtZSkKK3sKKyAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiPT1Tb3VyY2UgZnJhbWUg
Y29udGVudHMgc3RhcnQ9PSIpOworICAgIHZhciB0ZXh0RWRpdG9yID0gc291cmNlRnJhbWUuX3Rl
eHRFZGl0b3I7CisgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0ZXh0RWRpdG9yLmxpbmVzQ291bnQ7
ICsraSkKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQodGV4dEVkaXRvci5saW5lKGkp
KTsKKyAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiPT1Tb3VyY2UgZnJhbWUgY29udGVudHMg
ZW5kPT0iKTsKK307CisKK0luc3BlY3RvclRlc3QuX3BhdXNlZFNjcmlwdCA9IGZ1bmN0aW9uKGNh
bGxGcmFtZXMsIHJlYXNvbiwgYXV4RGF0YSkKK3sKKyAgICBpZiAoIUluc3BlY3RvclRlc3QuX3F1
aWV0KQorICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiU2NyaXB0IGV4ZWN1dGlvbiBw
YXVzZWQuIik7CisgICAgSW5zcGVjdG9yVGVzdC5fY2FsbEZyYW1lcyA9IGNhbGxGcmFtZXM7Cisg
ICAgaWYgKEluc3BlY3RvclRlc3QuX3dhaXRVbnRpbFBhdXNlZENhbGxiYWNrKSB7CisgICAgICAg
IHZhciBjYWxsYmFjayA9IEluc3BlY3RvclRlc3QuX3dhaXRVbnRpbFBhdXNlZENhbGxiYWNrOwor
ICAgICAgICBkZWxldGUgSW5zcGVjdG9yVGVzdC5fd2FpdFVudGlsUGF1c2VkQ2FsbGJhY2s7Cisg
ICAgICAgIGNhbGxiYWNrKEluc3BlY3RvclRlc3QuX2NhbGxGcmFtZXMpOworICAgIH0KK30KKwor
SW5zcGVjdG9yVGVzdC5fcmVzdW1lZFNjcmlwdCA9IGZ1bmN0aW9uKCkKK3sKKyAgICBpZiAoIUlu
c3BlY3RvclRlc3QuX3F1aWV0KQorICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiU2Ny
aXB0IGV4ZWN1dGlvbiByZXN1bWVkLiIpOworICAgIGRlbGV0ZSBJbnNwZWN0b3JUZXN0Ll9jYWxs
RnJhbWVzOworICAgIGlmIChJbnNwZWN0b3JUZXN0Ll93YWl0VW50aWxSZXN1bWVkQ2FsbGJhY2sp
IHsKKyAgICAgICAgdmFyIGNhbGxiYWNrID0gSW5zcGVjdG9yVGVzdC5fd2FpdFVudGlsUmVzdW1l
ZENhbGxiYWNrOworICAgICAgICBkZWxldGUgSW5zcGVjdG9yVGVzdC5fd2FpdFVudGlsUmVzdW1l
ZENhbGxiYWNrOworICAgICAgICBjYWxsYmFjaygpOworICAgIH0KK307CisKK0luc3BlY3RvclRl
c3Quc2hvd1VJU291cmNlQ29kZSA9IGZ1bmN0aW9uKHVpU291cmNlQ29kZSwgY2FsbGJhY2spCit7
CisgICAgdmFyIHBhbmVsID0gV2ViSW5zcGVjdG9yLnNob3dQYW5lbCgic2NyaXB0cyIpOworICAg
IHBhbmVsLnNob3dVSVNvdXJjZUNvZGUodWlTb3VyY2VDb2RlKTsKKyAgICB2YXIgc291cmNlRnJh
bWUgPSBwYW5lbC52aXNpYmxlVmlldzsKKyAgICBpZiAoc291cmNlRnJhbWUubG9hZGVkKQorICAg
ICAgICBjYWxsYmFjayhzb3VyY2VGcmFtZSk7CisgICAgZWxzZQorICAgICAgICBJbnNwZWN0b3JU
ZXN0LmFkZFNuaWZmZXIoc291cmNlRnJhbWUsICJvblRleHRFZGl0b3JDb250ZW50TG9hZGVkIiwg
Y2FsbGJhY2suYmluZChudWxsLCBzb3VyY2VGcmFtZSkpOworfTsKKworSW5zcGVjdG9yVGVzdC5z
aG93U2NyaXB0U291cmNlID0gZnVuY3Rpb24oc2NyaXB0TmFtZSwgY2FsbGJhY2spCit7CisgICAg
dmFyIHBhbmVsID0gV2ViSW5zcGVjdG9yLnNob3dQYW5lbCgic2NyaXB0cyIpOworICAgIHZhciB1
aVNvdXJjZUNvZGVzID0gcGFuZWwuX3dvcmtzcGFjZS51aVNvdXJjZUNvZGVzKCk7CisgICAgZm9y
ICh2YXIgaSA9IDA7IGkgPCB1aVNvdXJjZUNvZGVzLmxlbmd0aDsgKytpKSB7CisgICAgICAgIGlm
ICh1aVNvdXJjZUNvZGVzW2ldLm5hbWUoKSA9PT0gc2NyaXB0TmFtZSkgeworICAgICAgICAgICAg
SW5zcGVjdG9yVGVzdC5zaG93VUlTb3VyY2VDb2RlKHVpU291cmNlQ29kZXNbaV0sIGNhbGxiYWNr
KTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAgIH0KKworICAgIEluc3BlY3Rv
clRlc3QuYWRkU25pZmZlcihXZWJJbnNwZWN0b3IuU2NyaXB0c1BhbmVsLnByb3RvdHlwZSwgIl9h
ZGRVSVNvdXJjZUNvZGUiLCBJbnNwZWN0b3JUZXN0LnNob3dTY3JpcHRTb3VyY2UuYmluZChJbnNw
ZWN0b3JUZXN0LCBzY3JpcHROYW1lLCBjYWxsYmFjaykpOworfTsKKworSW5zcGVjdG9yVGVzdC5k
dW1wU2NyaXB0c05hdmlnYXRvciA9IGZ1bmN0aW9uKG5hdmlnYXRvciwgcHJlZml4KQoreworICAg
IHByZWZpeCA9IHByZWZpeCB8fCAiIjsKKyAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdChwcmVm
aXggKyAiRHVtcGluZyBTY3JpcHRzTmF2aWdhdG9yICdTY3JpcHRzJyB0YWI6Iik7CisgICAgZHVt
cE5hdmlnYXRvclRyZWVPdXRsaW5lKHByZWZpeCwgbmF2aWdhdG9yLl9zY3JpcHRzVmlldy5fc2Ny
aXB0c1RyZWUpOworICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KHByZWZpeCArICJEdW1waW5n
IFNjcmlwdHNOYXZpZ2F0b3IgJ0NvbnRlbnQgc2NyaXB0cycgdGFiOiIpOworICAgIGR1bXBOYXZp
Z2F0b3JUcmVlT3V0bGluZShwcmVmaXgsIG5hdmlnYXRvci5fY29udGVudFNjcmlwdHNWaWV3Ll9z
Y3JpcHRzVHJlZSk7CisKKyAgICBmdW5jdGlvbiBkdW1wTmF2aWdhdG9yVHJlZUVsZW1lbnQocHJl
Zml4LCB0cmVlRWxlbWVudCkKKyAgICB7CisgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0
KHByZWZpeCArIHRyZWVFbGVtZW50LnRpdGxlVGV4dCk7CisgICAgICAgIGZvciAodmFyIGkgPSAw
OyBpIDwgdHJlZUVsZW1lbnQuY2hpbGRyZW4ubGVuZ3RoOyArK2kpCisgICAgICAgICAgICBkdW1w
TmF2aWdhdG9yVHJlZUVsZW1lbnQocHJlZml4ICsgIiAgIiwgdHJlZUVsZW1lbnQuY2hpbGRyZW5b
aV0pOworICAgIH0KKworICAgIGZ1bmN0aW9uIGR1bXBOYXZpZ2F0b3JUcmVlT3V0bGluZShwcmVm
aXgsIHRyZWVPdXRsaW5lKQorICAgIHsKKyAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0cmVl
T3V0bGluZS5jaGlsZHJlbi5sZW5ndGg7ICsraSkKKyAgICAgICAgICAgIGR1bXBOYXZpZ2F0b3JU
cmVlRWxlbWVudChwcmVmaXggKyAiICAiLCB0cmVlT3V0bGluZS5jaGlsZHJlbltpXSk7CisgICAg
fQorICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCIiKTsKK307CisKK0luc3BlY3RvclRlc3Qu
c2V0QnJlYWtwb2ludCA9IGZ1bmN0aW9uKHNvdXJjZUZyYW1lLCBsaW5lTnVtYmVyLCBjb25kaXRp
b24sIGVuYWJsZWQpCit7CisgICAgc291cmNlRnJhbWUuX3NldEJyZWFrcG9pbnQobGluZU51bWJl
ciwgY29uZGl0aW9uLCBlbmFibGVkKTsKK307CisKK0luc3BlY3RvclRlc3QucmVtb3ZlQnJlYWtw
b2ludCA9IGZ1bmN0aW9uKHNvdXJjZUZyYW1lLCBsaW5lTnVtYmVyKQoreworICAgIHNvdXJjZUZy
YW1lLl9icmVha3BvaW50TWFuYWdlci5maW5kQnJlYWtwb2ludChzb3VyY2VGcmFtZS5fdWlTb3Vy
Y2VDb2RlLCBsaW5lTnVtYmVyKS5yZW1vdmUoKTsKK307CisKKworSW5zcGVjdG9yVGVzdC5leHBh
bmRQcm9wZXJ0aWVzID0gZnVuY3Rpb24ocHJvcGVydGllcywgY2FsbGJhY2spCit7CisgICAgdmFy
IGluZGV4ID0gMDsKKyAgICBmdW5jdGlvbiBleHBhbmROZXh0UGF0aCgpCisgICAgeworICAgICAg
ICBpZiAoaW5kZXggPT09IHByb3BlcnRpZXMubGVuZ3RoKSB7CisgICAgICAgICAgICBJbnNwZWN0
b3JUZXN0LnNhZmVXcmFwKGNhbGxiYWNrKSgpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAg
ICB9CisgICAgICAgIHZhciBwYXJlbnRUcmVlRWxlbWVudCA9IHByb3BlcnRpZXNbaW5kZXgrK107
CisgICAgICAgIHZhciBwYXRoID0gcHJvcGVydGllc1tpbmRleCsrXTsKKyAgICAgICAgSW5zcGVj
dG9yVGVzdC5fZXhwYW5kUHJvcGVydHkocGFyZW50VHJlZUVsZW1lbnQsIHBhdGgsIDAsIGV4cGFu
ZE5leHRQYXRoKTsKKyAgICB9CisgICAgSW5zcGVjdG9yVGVzdC5ydW5BZnRlclBlbmRpbmdEaXNw
YXRjaGVzKGV4cGFuZE5leHRQYXRoKTsKK307CisKK0luc3BlY3RvclRlc3QuX2V4cGFuZFByb3Bl
cnR5ID0gZnVuY3Rpb24ocGFyZW50VHJlZUVsZW1lbnQsIHBhdGgsIHBhdGhJbmRleCwgY2FsbGJh
Y2spCit7CisgICAgaWYgKHBhdGhJbmRleCA9PT0gcGF0aC5sZW5ndGgpIHsKKyAgICAgICAgSW5z
cGVjdG9yVGVzdC5hZGRSZXN1bHQoIkV4cGFuZGVkIHByb3BlcnR5OiAiICsgcGF0aC5qb2luKCIu
IikpOworICAgICAgICBjYWxsYmFjaygpOworICAgICAgICByZXR1cm47CisgICAgfQorICAgIHZh
ciBuYW1lID0gcGF0aFtwYXRoSW5kZXgrK107CisgICAgdmFyIHByb3BlcnR5VHJlZUVsZW1lbnQg
PSBJbnNwZWN0b3JUZXN0Ll9maW5kQ2hpbGRQcm9wZXJ0eVRyZWVFbGVtZW50KHBhcmVudFRyZWVF
bGVtZW50LCBuYW1lKTsKKyAgICBpZiAoIXByb3BlcnR5VHJlZUVsZW1lbnQpIHsKKyAgICAgICBJ
bnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiRmFpbGVkIHRvIGV4cGFuZCBwcm9wZXJ0eTogIiArIHBh
dGguc2xpY2UoMCwgcGF0aEluZGV4KS5qb2luKCIuIikpOworICAgICAgIEluc3BlY3RvclRlc3Qu
Y29tcGxldGVEZWJ1Z2dlclRlc3QoKTsKKyAgICAgICByZXR1cm47CisgICAgfQorICAgIHByb3Bl
cnR5VHJlZUVsZW1lbnQuZXhwYW5kKCk7CisgICAgSW5zcGVjdG9yVGVzdC5ydW5BZnRlclBlbmRp
bmdEaXNwYXRjaGVzKEluc3BlY3RvclRlc3QuX2V4cGFuZFByb3BlcnR5LmJpbmQoSW5zcGVjdG9y
VGVzdCwgcHJvcGVydHlUcmVlRWxlbWVudCwgcGF0aCwgcGF0aEluZGV4LCBjYWxsYmFjaykpOwor
fTsKKworSW5zcGVjdG9yVGVzdC5fZmluZENoaWxkUHJvcGVydHlUcmVlRWxlbWVudCA9IGZ1bmN0
aW9uKHBhcmVudCwgY2hpbGROYW1lKQoreworICAgIHZhciBjaGlsZHJlbiA9IHBhcmVudC5jaGls
ZHJlbjsKKyAgICBmb3IgKHZhciBpID0gMDsgaSA8IGNoaWxkcmVuLmxlbmd0aDsgaSsrKSB7Cisg
ICAgICAgIHZhciB0cmVlRWxlbWVudCA9IGNoaWxkcmVuW2ldOworICAgICAgICB2YXIgcHJvcGVy
dHkgPSB0cmVlRWxlbWVudC5wcm9wZXJ0eTsKKyAgICAgICAgaWYgKHByb3BlcnR5Lm5hbWUgPT09
IGNoaWxkTmFtZSkKKyAgICAgICAgICAgIHJldHVybiB0cmVlRWxlbWVudDsKKyAgICB9Cit9Owor
CitJbnNwZWN0b3JUZXN0LnNldFF1aWV0ID0gZnVuY3Rpb24ocXVpZXQpCit7CisgICAgSW5zcGVj
dG9yVGVzdC5fcXVpZXQgPSBxdWlldDsKK307CisKK0luc3BlY3RvclRlc3QucXVlcnlTY3JpcHRz
ID0gZnVuY3Rpb24oZmlsdGVyKQoreworICAgIHZhciBzY3JpcHRzID0gW107CisgICAgZm9yICh2
YXIgc2NyaXB0SWQgaW4gV2ViSW5zcGVjdG9yLmRlYnVnZ2VyTW9kZWwuX3NjcmlwdHMpIHsKKyAg
ICAgICAgdmFyIHNjcmlwdCA9IFdlYkluc3BlY3Rvci5kZWJ1Z2dlck1vZGVsLl9zY3JpcHRzW3Nj
cmlwdElkXTsKKyAgICAgICAgaWYgKCFmaWx0ZXIgfHwgZmlsdGVyKHNjcmlwdCkpCisgICAgICAg
ICAgICBzY3JpcHRzLnB1c2goc2NyaXB0KTsKKyAgICB9CisgICAgcmV0dXJuIHNjcmlwdHM7Cit9
OworCitJbnNwZWN0b3JUZXN0LmNyZWF0ZVNjcmlwdE1vY2sgPSBmdW5jdGlvbih1cmwsIHN0YXJ0
TGluZSwgc3RhcnRDb2x1bW4sIGlzQ29udGVudFNjcmlwdCwgc291cmNlKQoreworICAgIHZhciBz
Y3JpcHRJZCA9ICsrSW5zcGVjdG9yVGVzdC5fbGFzdFNjcmlwdElkOworICAgIHZhciBsaW5lQ291
bnQgPSBzb3VyY2UubGluZUVuZGluZ3MoKS5sZW5ndGg7CisgICAgdmFyIGVuZExpbmUgPSBzdGFy
dExpbmUgKyBsaW5lQ291bnQgLSAxOworICAgIHZhciBlbmRDb2x1bW4gPSBsaW5lQ291bnQgPT09
IDEgPyBzdGFydENvbHVtbiArIHNvdXJjZS5sZW5ndGggOiBzb3VyY2UubGVuZ3RoIC0gc291cmNl
LmxpbmVFbmRpbmdzKClbbGluZUNvdW50IC0gMl07CisgICAgdmFyIGhhc1NvdXJjZVVSTCA9ICEh
c291cmNlLm1hdGNoKC9cL1wvQFxzc291cmNlVVJMPVxzKihcUyo/KVxzKiQvbSk7CisgICAgdmFy
IHNjcmlwdCA9IG5ldyBXZWJJbnNwZWN0b3IuU2NyaXB0KHNjcmlwdElkLCB1cmwsIHN0YXJ0TGlu
ZSwgc3RhcnRDb2x1bW4sIGVuZExpbmUsIGVuZENvbHVtbiwgaXNDb250ZW50U2NyaXB0LCBudWxs
LCBoYXNTb3VyY2VVUkwpOworICAgIHNjcmlwdC5yZXF1ZXN0Q29udGVudCA9IGZ1bmN0aW9uKGNh
bGxiYWNrKSB7IGNhbGxiYWNrKHNvdXJjZSwgZmFsc2UsICJ0ZXh0L2phdmFzY3JpcHQiKTsgfTsK
KyAgICBXZWJJbnNwZWN0b3IuZGVidWdnZXJNb2RlbC5fcmVnaXN0ZXJTY3JpcHQoc2NyaXB0KTsK
KyAgICByZXR1cm4gc2NyaXB0OworfQorCitJbnNwZWN0b3JUZXN0Ll9sYXN0U2NyaXB0SWQgPSAw
OworCitJbnNwZWN0b3JUZXN0LmNoZWNrUmF3TG9jYXRpb24gPSBmdW5jdGlvbihzY3JpcHQsIGxp
bmVOdW1iZXIsIGNvbHVtbk51bWJlciwgbG9jYXRpb24pCit7CisgICAgSW5zcGVjdG9yVGVzdC5h
c3NlcnRFcXVhbHMoc2NyaXB0LnNjcmlwdElkLCBsb2NhdGlvbi5zY3JpcHRJZCwgIkluY29ycmVj
dCBzY3JpcHRJZCIpOworICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0RXF1YWxzKGxpbmVOdW1iZXIs
IGxvY2F0aW9uLmxpbmVOdW1iZXIsICJJbmNvcnJlY3QgbGluZU51bWJlciIpOworICAgIEluc3Bl
Y3RvclRlc3QuYXNzZXJ0RXF1YWxzKGNvbHVtbk51bWJlciwgbG9jYXRpb24uY29sdW1uTnVtYmVy
LCAiSW5jb3JyZWN0IGNvbHVtbk51bWJlciIpOworfTsKKworSW5zcGVjdG9yVGVzdC5jaGVja1VJ
TG9jYXRpb24gPSBmdW5jdGlvbih1aVNvdXJjZUNvZGUsIGxpbmVOdW1iZXIsIGNvbHVtbk51bWJl
ciwgbG9jYXRpb24pCit7CisgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRFcXVhbHModWlTb3VyY2VD
b2RlLCBsb2NhdGlvbi51aVNvdXJjZUNvZGUsICJJbmNvcnJlY3QgdWlTb3VyY2VDb2RlLCBleHBl
Y3RlZCAnIiArICh1aVNvdXJjZUNvZGUgPyB1aVNvdXJjZUNvZGUub3JpZ2luVVJMKCkgOiBudWxs
KSArICInLCIgKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAiIGJ1dCBnb3QgJyIgKyAobG9jYXRpb24udWlTb3VyY2VD
b2RlID8gbG9jYXRpb24udWlTb3VyY2VDb2RlLm9yaWdpblVSTCgpIDogbnVsbCkgKyAiJyIpOwor
ICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0RXF1YWxzKGxpbmVOdW1iZXIsIGxvY2F0aW9uLmxpbmVO
dW1iZXIsICJJbmNvcnJlY3QgbGluZU51bWJlciwgZXhwZWN0ZWQgJyIgKyBsaW5lTnVtYmVyICsg
IicsIGJ1dCBnb3QgJyIgKyBsb2NhdGlvbi5saW5lTnVtYmVyICsgIiciKTsKKyAgICBJbnNwZWN0
b3JUZXN0LmFzc2VydEVxdWFscyhjb2x1bW5OdW1iZXIsIGxvY2F0aW9uLmNvbHVtbk51bWJlciwg
IkluY29ycmVjdCBjb2x1bW5OdW1iZXIsIGV4cGVjdGVkICciICsgY29sdW1uTnVtYmVyICsgIics
IGJ1dCBnb3QgJyIgKyBsb2NhdGlvbi5jb2x1bW5OdW1iZXIgKyAiJyIpOworfTsKKworfTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL2RlZGlj
YXRlZC13b3JrZXJzLWxpc3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9i
c29sZXRlL2h0dHAtdGVzdHMvZGVkaWNhdGVkLXdvcmtlcnMtbGlzdC1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZWFiNTk0ODc1Yzk4NGVlODViODc1ZGM1MmNkMGI2ZDQyMDMxZTM5NAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL2Rl
ZGljYXRlZC13b3JrZXJzLWxpc3QtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsOSBAQAorQ09OU09M
RSBNRVNTQUdFOiBsaW5lIDIwOiBSZWNlaXZlZCBtZXNzYWdlIGZyb20gd29ya2VyIDEKK0NPTlNP
TEUgTUVTU0FHRTogbGluZSAyMDogUmVjZWl2ZWQgbWVzc2FnZSBmcm9tIHdvcmtlciAyCitUZXN0
cyB0aGF0IGRlZGljYXRlZCB3b3JrZXJzIGNyZWF0ZWQgYmVmb3JlIHdvcmtlciBpbnNwZWN0aW9u
IHdhcyBlbmFibGVkIHdpbGwgYmUgcmVwb3J0ZWQgdG8gdGhlIGZyb250LWVuZC4gQnVnIDcyMDIw
CisKK1dvcmtlciBpbnNwZWN0aW9uIGVuYWJsZWQKK0FkZGVkIHdvcmtlcjogMQorQWRkZWQgd29y
a2VyOiAyCitEb25lLgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xl
dGUvaHR0cC10ZXN0cy9kZWRpY2F0ZWQtd29ya2Vycy1saXN0Lmh0bWwgYi9MYXlvdXRUZXN0cy9p
bnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9kZWRpY2F0ZWQtd29ya2Vycy1saXN0Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMjY5ZDZmZjAxYTMxZWY1MTU1Y2NhNDI0M2FmMTE5ZDJkZDdlZWY2NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3Rz
L2RlZGljYXRlZC13b3JrZXJzLWxpc3QuaHRtbApAQCAtMCwwICsxLDYzIEBACis8aHRtbD4KKzxo
ZWFkPgorPHNjcmlwdCBzcmM9Ii4uL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vaW5zcGVjdG9yL2RlYnVnZ2VyLXRlc3QuanMiPjwvc2NyaXB0
PgorCis8c2NyaXB0PgorZnVuY3Rpb24gaGFuZGxlTG9hZCgpCit7CisgICAgaWYgKHdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKKworICAgIHZh
ciB3b3JrZXIxID0gbmV3IFdvcmtlcigicmVzb3VyY2VzL2RlZGljYXRlZC13b3JrZXIuanM/aWQ9
MSIpOworICAgIHdvcmtlcjEub25tZXNzYWdlID0gaGFuZGxlTWVzc2FnZUZyb21Xb3JrZXI7Cisg
ICAgdmFyIHdvcmtlcjIgPSBuZXcgV29ya2VyKCJyZXNvdXJjZXMvZGVkaWNhdGVkLXdvcmtlci5q
cz9pZD0yIik7CisgICAgd29ya2VyMi5vbm1lc3NhZ2UgPSBoYW5kbGVNZXNzYWdlRnJvbVdvcmtl
cjsKKyAgICB2YXIgbWVzc2FnZUNvdW50ID0gMDsKKyAgICBmdW5jdGlvbiBoYW5kbGVNZXNzYWdl
RnJvbVdvcmtlcihldmVudCkKKyAgICB7CisgICAgICAgIG1lc3NhZ2VDb3VudCsrOworICAgICAg
ICBjb25zb2xlLmxvZygiUmVjZWl2ZWQgbWVzc2FnZSBmcm9tIHdvcmtlciAiICsgbWVzc2FnZUNv
dW50KTsKKyAgICAgICAgaWYgKG1lc3NhZ2VDb3VudCA9PT0gMikgeworICAgICAgICAgICAgaWYg
KHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2hvd1dlYklu
c3BlY3RvcigpOworICAgICAgICAgICAgcnVuVGVzdCgpOworICAgICAgICB9CisgICAgfQorfQor
CisKK2Z1bmN0aW9uIHRlc3QoKQoreworICAgIFdvcmtlckFnZW50LmRpc2FibGUoZGlkRGlzYWJs
ZVdvcmtlckluc3BlY3Rpb24pOworCisgICAgZnVuY3Rpb24gZGlkRGlzYWJsZVdvcmtlckluc3Bl
Y3Rpb24oKQorICAgIHsKKyAgICAgICAgV2ViSW5zcGVjdG9yLndvcmtlck1hbmFnZXIuYWRkRXZl
bnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuV29ya2VyTWFuYWdlci5FdmVudHMuV29ya2VyQWRkZWQs
IHdvcmtlckFkZGVkLCB0aGlzKTsKKyAgICAgICAgV29ya2VyQWdlbnQuZW5hYmxlKCk7CisgICAg
ICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJXb3JrZXIgaW5zcGVjdGlvbiBlbmFibGVkIik7
CisgICAgfQorCisgICAgdmFyIHdvcmtlckNvdW50ID0gMDsKKyAgICBmdW5jdGlvbiB3b3JrZXJB
ZGRlZCgpCisgICAgeworICAgICAgICB3b3JrZXJDb3VudCsrOworICAgICAgICBJbnNwZWN0b3JU
ZXN0LmFkZFJlc3VsdCgiQWRkZWQgd29ya2VyOiAiICsgd29ya2VyQ291bnQpOworICAgICAgICBp
ZiAod29ya2VyQ291bnQgPT09IDIpIHsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVz
dWx0KCJEb25lLiIpOworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsK
KyAgICAgICAgfQorICAgIH0KK307CisKKzwvc2NyaXB0PgorCis8L2hlYWQ+CisKKzxib2R5IG9u
bG9hZD0iaGFuZGxlTG9hZCgpIj4KKzxwPlRlc3RzIHRoYXQgZGVkaWNhdGVkIHdvcmtlcnMgY3Jl
YXRlZCBiZWZvcmUgd29ya2VyIGluc3BlY3Rpb24gd2FzIGVuYWJsZWQgd2lsbCBiZSByZXBvcnRl
ZCB0byB0aGUgZnJvbnQtZW5kLgorPGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTcyMDIwIj5CdWcgNzIwMjA8L2E+Cis8L3A+CisKKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3Rz
L2RvY3VtZW50LXdyaXRlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNv
bGV0ZS9odHRwLXRlc3RzL2RvY3VtZW50LXdyaXRlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40
Nzc3NGI2OTJlMzEyZTViZjk5ZDlkNjVmMmUwNjY4NjgzYWU3YmVlCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvZG9jdW1lbnQtd3Jp
dGUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsOSBAQAorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDQ6
IExpbmUgNAorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDU6IExpbmUgNQorQ09OU09MRSBNRVNTQUdF
OiBsaW5lIDE6IExpbmUgMSBpbiBkb2N1bWVudC53cml0ZQorQ09OU09MRSBNRVNTQUdFOiBsaW5l
IDQ6IExpbmUgNCBpbiBkb2N1bWVudC53cml0ZQorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDc6IExp
bmUgNworQ09OU09MRSBNRVNTQUdFOiBsaW5lIDI1OiBMaW5lIDI1CitDT05TT0xFIE1FU1NBR0U6
IGxpbmUgMTogc2NyaXB0IGVsZW1lbnQKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxOiBkb2N1bWVu
dC53cml0ZSBmcm9tIG9ubG9hZAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3It
b2Jzb2xldGUvaHR0cC10ZXN0cy9kb2N1bWVudC13cml0ZS5odG1sIGIvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvZG9jdW1lbnQtd3JpdGUuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5iZTdhMDY0N2Q1Y2EyNTIwYmRjYWZhYjQ0NmFmNjc0NzRmMDMwNmZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvZG9jdW1lbnQt
d3JpdGUuaHRtbApAQCAtMCwwICsxLDMxIEBACis8aHRtbD4KKzxoZWFkPgorCis8c2NyaXB0PmNv
bnNvbGUubG9nKCJMaW5lIDQiKTs8L3NjcmlwdD4KKzxzY3JpcHQ+Y29uc29sZS5sb2coIkxpbmUg
NSIpOzwvc2NyaXB0PgorPHNjcmlwdD5kb2N1bWVudC53cml0ZSgiPHNjcmlwIiArICJ0PmNvbnNv
bGUubG9nKFwiTGluZSAxIGluIGRvY3VtZW50LndyaXRlXCIpO1xuXG5cbmNvbnNvbGUubG9nKFwi
TGluZSA0IGluIGRvY3VtZW50LndyaXRlXCIpOzwvc2MiICsgInJpcHQ+Iik7PC9zY3JpcHQ+Cis8
c2NyaXB0PmNvbnNvbGUubG9nKCJMaW5lIDciKTs8L3NjcmlwdD4KKworPHNjcmlwdD4KKworZnVu
Y3Rpb24gb25sb2FkKCkKK3sKKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHRl
c3RSdW5uZXIuZHVtcEFzVGV4dCgpOworCisgICAgdmFyIHNjcmlwdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInNjcmlwdCIpOworICAgIHNjcmlwdC50ZXh0Q29udGVudCA9ICJjb25zb2xlLmxv
ZyhcInNjcmlwdCBlbGVtZW50XCIpIjsKKyAgICBkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKHNj
cmlwdCk7CisgICAgZG9jdW1lbnQud3JpdGUoIjxzY3JpcCIgKyAidD5jb25zb2xlLmxvZyhcImRv
Y3VtZW50LndyaXRlIGZyb20gb25sb2FkXCIpOzwvc2MiICsgInJpcHQ+Iik7Cit9CisKKzwvc2Ny
aXB0PgorPC9oZWFkPgorCis8Ym9keSBvbmxvYWQ9ImNvbnNvbGUubG9nKCdMaW5lIDI1Jyk7IG9u
bG9hZCgpOyI+Cis8cD4KK1Rlc3RzIHRoYXQgY29uc29sZSByZXBvcnRzIHplcm8gbGluZSBudW1i
ZXIgZm9yIHNjcmlwdHMgZ2VuZXJhdGVkIHdpdGggZG9jdW1lbnQud3JpdGUuIFNlZSBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEwOTkuCis8L3A+CisKKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRw
LXRlc3RzL2RvbS1zdG9yYWdlLW9wZW4tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvZG9tLXN0b3JhZ2Utb3Blbi1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uYTQ2ODIxMWE1NjdmNTczZDhjMDQwNzdiMDkxOTEwYjJiMWVlMjI5ZAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL2Rv
bS1zdG9yYWdlLW9wZW4tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNyBAQAorVGVzdHMgdGhhdCBX
ZWIgSW5zcGVjdG9yIGdldHMgcG9wdWxhdGVkIHdpdGggRE9NIHN0b3JhZ2VzIGFjY29yZGluZyB0
byBzZWN1cml0eSBvcmlnaW5zIGZvdW5kIGluIHRoZSBwYWdlLgorCitTZWN1cml0eU9yaWdpbjog
aHR0cDovLzEyNy4wLjAuMTo4MDAwCitJc0xvY2FsU3RvcmFnZTogdHJ1ZQorU2VjdXJpdHlPcmln
aW46IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMAorSXNMb2NhbFN0b3JhZ2U6IGZhbHNlCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL2RvbS1zdG9y
YWdlLW9wZW4uaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3Rz
L2RvbS1zdG9yYWdlLW9wZW4uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzAyMDA3MjRlNWFhYWU0NGZhMjYy
NzYyNzAxNzhhZDI0ZjZiNmQwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvZG9tLXN0b3JhZ2Utb3Blbi5odG1sCkBAIC0wLDAgKzEs
MzkgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0Lmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQ+CisKK2Z1bmN0aW9uIG9ubG9hZCgpCit7CisgICAgaWYgKHdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKKwor
ICAgIHdpbmRvdy5zZXNzaW9uU3RvcmFnZVsiaW5zcGVjdG9yIl0gPSAidHJ1ZSI7CisKKyAgICBp
ZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHRlc3RSdW5uZXIuc2hvd1dlYkluc3BlY3Rv
cigpOworICAgIHJ1blRlc3QoKTsKK30KKworZnVuY3Rpb24gdGVzdCgpCit7CisgICAgZnVuY3Rp
b24gY2FsbGJhY2soKQorICAgIHsKKyAgICAgICAgdmFyIHN0b3JhZ2VzID0gV2ViSW5zcGVjdG9y
LmRvbVN0b3JhZ2VNb2RlbC5zdG9yYWdlcygpOworICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8
IHN0b3JhZ2VzLmxlbmd0aDsgKytpKSB7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJl
c3VsdCgiU2VjdXJpdHlPcmlnaW46ICIgKyBzdG9yYWdlc1tpXS5zZWN1cml0eU9yaWdpbik7Cisg
ICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiSXNMb2NhbFN0b3JhZ2U6ICIgKyBz
dG9yYWdlc1tpXS5pc0xvY2FsU3RvcmFnZSk7CisgICAgICAgIH0KKyAgICAgICAgSW5zcGVjdG9y
VGVzdC5jb21wbGV0ZVRlc3QoKTsKKyAgICB9CisgICAgSW5zcGVjdG9yQmFja2VuZC5ydW5BZnRl
clBlbmRpbmdEaXNwYXRjaGVzKGNhbGxiYWNrKTsKK30KKworPC9zY3JpcHQ+CisKKzwvaGVhZD4K
Kzxib2R5IG9ubG9hZD0ib25sb2FkKCkiPgorPHA+VGVzdHMgdGhhdCBXZWIgSW5zcGVjdG9yIGdl
dHMgcG9wdWxhdGVkIHdpdGggRE9NIHN0b3JhZ2VzIGFjY29yZGluZyB0byBzZWN1cml0eSBvcmln
aW5zIGZvdW5kIGluIHRoZSBwYWdlLjwvcD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL2R5bmFtaWMtc2NyaXB0
cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0
cy9keW5hbWljLXNjcmlwdHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZmZmE5Zjg3YTFmNWVj
Y2QwMWFlOGVkMjRkZGRmMGE3M2M5ZjJjYWEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9keW5hbWljLXNjcmlwdHMtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Rlc3RzIHRoYXQgc2NyaXB0cyBmb3IgZHluYW1pY2FsbHkg
YWRkZWQgc2NyaXB0IGVsZW1lbnRzIGFyZSBzaG93biBpbiBzb3VyY2VzIHBhbmVsIGlmIGluc3Bl
Y3RvciBpcyBvcGVuZWQgYWZ0ZXIgdGhlIHNjcmlwdHMgd2VyZSBsb2FkZWQuCisKK0J1ZyA5OTMy
NAorRGVidWdnZXIgd2FzIGVuYWJsZWQuCitVSVNvdXJjZUNvZGVzOgorICAgIGRlYnVnZ2VyLXRl
c3QuanMKKyAgICBkeW5hbWljLXNjcmlwdC5qcworICAgIGR5bmFtaWMtc2NyaXB0cy5odG1sCisg
ICAgZXZhbFNvdXJjZVVSTC5qcworICAgIGluc3BlY3Rvci10ZXN0LmpzCisgICAgc2NyaXB0RWxl
bWVudENvbnRlbnRTb3VyY2VVUkwuanMKK0RlYnVnZ2VyIHdhcyBkaXNhYmxlZC4KKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvZHluYW1pYy1z
Y3JpcHRzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9k
eW5hbWljLXNjcmlwdHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wM2Q1NzAzN2M2NTA2NDFjOWEzMjZkZWQw
YmMyOTViNGZlY2QxMDBmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
LW9ic29sZXRlL2h0dHAtdGVzdHMvZHluYW1pYy1zY3JpcHRzLmh0bWwKQEAgLTAsMCArMSw4MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL2luc3BlY3Rvci9kZWJ1Z2dlci10ZXN0LmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQ+CitmdW5jdGlvbiBhcHBlbmREeW5hbWljU2NyaXB0RWxlbWVudChzcmMs
IGNvbnRlbnQpCit7CisgICAgdmFyIHNjcmlwdEVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJzY3JpcHQiKTsKKyAgICBpZiAoc3JjKQorICAgICAgICBzY3JpcHRFbGVtZW50LnNyYyA9
IHNyYzsKKyAgICBlbHNlCisgICAgICAgIHNjcmlwdEVsZW1lbnQudGV4dENvbnRlbnQgPSBjb250
ZW50OworICAgIGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoc2NyaXB0RWxlbWVudCk7Cit9CisK
K2Z1bmN0aW9uIGxvYWRTY3JpcHRzKCkKK3sKKyAgICB2YXIgc291cmNlVVJMQ29tbWVudCA9ICJc
biAvL0Agc291cmNlVVJMPSI7CisgICAgd2luZG93LmV2YWwoImZ1bmN0aW9uIGZvb0V2YWwoKSB7
fSIpOworICAgIHdpbmRvdy5ldmFsKCJmdW5jdGlvbiBmb29FdmFsU291cmNlVVJMKCkge30iICsg
c291cmNlVVJMQ29tbWVudCArICJldmFsU291cmNlVVJMLmpzIik7CisgICAgYXBwZW5kRHluYW1p
Y1NjcmlwdEVsZW1lbnQoIiIsICJmdW5jdGlvbiBmb29TY3JpcHRFbGVtZW50Q29udGVudDEoKSB7
fSIpOworICAgIGFwcGVuZER5bmFtaWNTY3JpcHRFbGVtZW50KCIiLCAiZnVuY3Rpb24gZm9vU2Ny
aXB0RWxlbWVudENvbnRlbnQyKCkge30iKTsKKyAgICBhcHBlbmREeW5hbWljU2NyaXB0RWxlbWVu
dCgiIiwgImZ1bmN0aW9uIGZvb1NjcmlwdEVsZW1lbnRDb250ZW50U291cmNlVVJMKCkge30iICsg
c291cmNlVVJMQ29tbWVudCArICJzY3JpcHRFbGVtZW50Q29udGVudFNvdXJjZVVSTC5qcyIpOwor
ICAgIGFwcGVuZER5bmFtaWNTY3JpcHRFbGVtZW50KCJyZXNvdXJjZXMvZHluYW1pYy1zY3JpcHQu
anMiKTsKK30KKworZnVuY3Rpb24gb25sb2FkKCkKK3sKKyAgICBpZiAod2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworICAgIGxvYWRTY3JpcHRz
KCk7Cit9CisKK2Z1bmN0aW9uIHNjcmlwdExvYWRlZCgpCit7CisgICAgaWYgKHdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICB0ZXN0UnVubmVyLnNob3dXZWJJbnNwZWN0b3IoKTsKKyAgICBydW5U
ZXN0KCk7Cit9CisKK2Z1bmN0aW9uIHRlc3QoKQoreworICAgIEluc3BlY3RvclRlc3Quc3RhcnRE
ZWJ1Z2dlclRlc3Qoc3RlcDIpOworCisgICAgZnVuY3Rpb24gc3RlcDIoKQorICAgIHsKKyAgICAg
ICAgSW5zcGVjdG9yVGVzdC5ydW5BZnRlclBlbmRpbmdEaXNwYXRjaGVzKHN0ZXAzKTsKKyAgICB9
CisKKyAgICBmdW5jdGlvbiBzdGVwMygpCisgICAgeworICAgICAgICB2YXIgcGFuZWwgPSBXZWJJ
bnNwZWN0b3Iuc2hvd1BhbmVsKCJzY3JpcHRzIik7CisgICAgICAgIHZhciB1aVNvdXJjZUNvZGVz
ID0gV2ViSW5zcGVjdG9yLndvcmtzcGFjZS51aVNvdXJjZUNvZGVzRm9yUHJvamVjdFR5cGUoV2Vi
SW5zcGVjdG9yLnByb2plY3RUeXBlcy5OZXR3b3JrKTsKKyAgICAgICAgdmFyIHVybHMgPSB1aVNv
dXJjZUNvZGVzLm1hcChmdW5jdGlvbih1aVNvdXJjZUNvZGUpIHsgcmV0dXJuIHVpU291cmNlQ29k
ZS5uYW1lKCk7IH0pOworICAgICAgICB1cmxzLnNvcnQoKTsKKyAgICAgICAgCisgICAgICAgIHZh
ciB3aGl0ZUxpc3QgPSBbImRlYnVnZ2VyLXRlc3QuanMiLCAiZHluYW1pYy1zY3JpcHQuanMiLCAi
ZHluYW1pYy1zY3JpcHRzLmh0bWwiLCAiZXZhbFNvdXJjZVVSTC5qcyIsICJpbnNwZWN0b3ItdGVz
dC5qcyIsICJzY3JpcHRFbGVtZW50Q29udGVudFNvdXJjZVVSTC5qcyJdOworICAgICAgICBmdW5j
dGlvbiBmaWx0ZXIodXJsKQorICAgICAgICB7CisgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsg
aSA8IHdoaXRlTGlzdC5sZW5ndGg7ICsraSkgeworICAgICAgICAgICAgICAgIGlmICh1cmwuaW5k
ZXhPZih3aGl0ZUxpc3RbaV0pICE9PSAtMSkKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRy
dWU7CisgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICByZXR1cm4g
ZmFsc2U7CisgICAgICAgIH0KKyAgICAgICAgdXJscyA9IHVybHMuZmlsdGVyKGZpbHRlcik7CisK
KyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIlVJU291cmNlQ29kZXM6Iik7CisgICAg
ICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdXJscy5sZW5ndGg7ICsraSkKKyAgICAgICAgICAgIElu
c3BlY3RvclRlc3QuYWRkUmVzdWx0KCIgICAgIiArIHVybHNbaV0pOworICAgICAgICBJbnNwZWN0
b3JUZXN0LmNvbXBsZXRlRGVidWdnZXJUZXN0KCk7CisgICAgfQorfQorPC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keSBvbmxvYWQ9Im9ubG9hZCgpIj4KKzxwPlRlc3RzIHRoYXQgc2NyaXB0cyBmb3Ig
ZHluYW1pY2FsbHkgYWRkZWQgc2NyaXB0IGVsZW1lbnRzIGFyZSBzaG93biBpbiBzb3VyY2VzIHBh
bmVsIGlmIGluc3BlY3RvciBpcyBvcGVuZWQgYWZ0ZXIgdGhlIHNjcmlwdHMgd2VyZSBsb2FkZWQu
PC9wPgorPGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk5
MzI0Ij5CdWcgOTkzMjQ8L2E+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9lbGVtZW50cy10ZXN0LmpzIGIvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvZWxlbWVudHMtdGVzdC5qcwpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi40MGY2ZDU3YWJlMTdjYmFjYjM4NTE0OGZhMzlkZTA1M2FlOTUxMjdhCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMv
ZWxlbWVudHMtdGVzdC5qcwpAQCAtMCwwICsxLDY0NCBAQAordmFyIGluaXRpYWxpemVfRWxlbWVu
dFRlc3QgPSBmdW5jdGlvbigpIHsKKworSW5zcGVjdG9yVGVzdC5maW5kTm9kZSA9IGZ1bmN0aW9u
KG1hdGNoRnVuY3Rpb24sIGNhbGxiYWNrKQoreworICAgIGNhbGxiYWNrID0gSW5zcGVjdG9yVGVz
dC5zYWZlV3JhcChjYWxsYmFjayk7CisgICAgdmFyIHJlc3VsdCA9IG51bGw7CisgICAgdmFyIHRv
cExldmVsQ2hpbGRyZW5SZXF1ZXN0ZWQgPSBmYWxzZTsKKyAgICB2YXIgcGVuZGluZ1JlcXVlc3Rz
ID0gMDsKKyAgICBmdW5jdGlvbiBwcm9jZXNzQ2hpbGRyZW4odG9wTGV2ZWwsIGNoaWxkcmVuKQor
ICAgIHsKKyAgICAgICAgcGVuZGluZ1JlcXVlc3RzLS07CisgICAgICAgIGlmIChyZXN1bHQpCisg
ICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgZm9yICh2YXIgaSA9IDA7IGNoaWxkcmVuICYm
IGkgPCBjaGlsZHJlbi5sZW5ndGg7ICsraSkgeworICAgICAgICAgICAgdmFyIGNoaWxkTm9kZSA9
IGNoaWxkcmVuW2ldOworICAgICAgICAgICAgaWYgKG1hdGNoRnVuY3Rpb24oY2hpbGROb2RlKSkg
eworICAgICAgICAgICAgICAgIHJlc3VsdCA9IGNoaWxkTm9kZTsKKyAgICAgICAgICAgICAgICBj
YWxsYmFjayhyZXN1bHQpOworICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIHBlbmRpbmdSZXF1ZXN0cysrOworICAgICAgICAgICAgY2hpbGROb2RlLmdl
dENoaWxkTm9kZXMocHJvY2Vzc0NoaWxkcmVuLmJpbmQobnVsbCwgZmFsc2UpKTsKKyAgICAgICAg
fQorCisgICAgICAgIGlmICh0b3BMZXZlbCkKKyAgICAgICAgICAgIHRvcExldmVsQ2hpbGRyZW5S
ZXF1ZXN0ZWQgPSB0cnVlOworICAgICAgICBpZiAodG9wTGV2ZWxDaGlsZHJlblJlcXVlc3RlZCAm
JiAhcmVzdWx0ICYmICFwZW5kaW5nUmVxdWVzdHMpCisgICAgICAgICAgICBjYWxsYmFjayhudWxs
KTsKKyAgICB9CisgICAgcGVuZGluZ1JlcXVlc3RzKys7CisKKyAgICBXZWJJbnNwZWN0b3IuZG9t
QWdlbnQucmVxdWVzdERvY3VtZW50KGRvY3VtZW50UmVxdWVzdGVkLmJpbmQodGhpcykpOworICAg
IGZ1bmN0aW9uIGRvY3VtZW50UmVxdWVzdGVkKGRvYykKKyAgICB7CisgICAgICAgIGRvYy5nZXRD
aGlsZE5vZGVzKHByb2Nlc3NDaGlsZHJlbi5iaW5kKHRoaXMsIHRydWUpKTsKKyAgICB9Cit9Owor
CitJbnNwZWN0b3JUZXN0Lm5vZGVXaXRoSWQgPSBmdW5jdGlvbihpZFZhbHVlLCBjYWxsYmFjaykK
K3sKKyAgICBmdW5jdGlvbiBub2RlSWRNYXRjaGVzKG5vZGUpCisgICAgeworICAgICAgICByZXR1
cm4gbm9kZS5nZXRBdHRyaWJ1dGUoImlkIikgPT09IGlkVmFsdWU7CisgICAgfQorICAgIEluc3Bl
Y3RvclRlc3QuZmluZE5vZGUobm9kZUlkTWF0Y2hlcywgY2FsbGJhY2spOworfQorCitJbnNwZWN0
b3JUZXN0LmV4cGFuZGVkTm9kZVdpdGhJZCA9IGZ1bmN0aW9uKGlkVmFsdWUpCit7CisgICAgdmFy
IHJlc3VsdDsKKyAgICBmdW5jdGlvbiBjYWxsYmFjayhub2RlKQorICAgIHsKKyAgICAgICAgcmVz
dWx0ID0gbm9kZTsKKyAgICB9CisgICAgSW5zcGVjdG9yVGVzdC5ub2RlV2l0aElkKGlkVmFsdWUs
IGNhbGxiYWNrKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorCitJbnNwZWN0b3JUZXN0LnNlbGVj
dE5vZGVXaXRoSWQgPSBmdW5jdGlvbihpZFZhbHVlLCBjYWxsYmFjaykKK3sKKyAgICBjYWxsYmFj
ayA9IEluc3BlY3RvclRlc3Quc2FmZVdyYXAoY2FsbGJhY2spOworICAgIGZ1bmN0aW9uIG9uTm9k
ZUZvdW5kKG5vZGUpCisgICAgeworICAgICAgICBpZiAobm9kZSkKKyAgICAgICAgICAgIFdlYklu
c3BlY3Rvci5fdXBkYXRlRm9jdXNlZE5vZGUobm9kZS5pZCk7CisgICAgICAgIGNhbGxiYWNrKG5v
ZGUpOworICAgIH0KKyAgICBJbnNwZWN0b3JUZXN0Lm5vZGVXaXRoSWQoaWRWYWx1ZSwgb25Ob2Rl
Rm91bmQpOworfQorCitJbnNwZWN0b3JUZXN0LndhaXRGb3JTdHlsZXMgPSBmdW5jdGlvbihpZFZh
bHVlLCBjYWxsYmFjaywgcmVxdWlyZVJlYnVpbGQpCit7CisgICAgY2FsbGJhY2sgPSBJbnNwZWN0
b3JUZXN0LnNhZmVXcmFwKGNhbGxiYWNrKTsKKworICAgIChmdW5jdGlvbiBzbmlmZihub2RlLCBy
ZWJ1aWxkKQorICAgIHsKKyAgICAgICAgaWYgKChyZWJ1aWxkIHx8ICFyZXF1aXJlUmVidWlsZCkg
JiYgbm9kZSAmJiBub2RlLmdldEF0dHJpYnV0ZSgiaWQiKSA9PT0gaWRWYWx1ZSkgeworICAgICAg
ICAgICAgY2FsbGJhY2soKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAgICAg
ICBJbnNwZWN0b3JUZXN0LmFkZFNuaWZmZXIoV2ViSW5zcGVjdG9yLlN0eWxlc1NpZGViYXJQYW5l
LnByb3RvdHlwZSwgIl9ub2RlU3R5bGVzVXBkYXRlZEZvclRlc3QiLCBzbmlmZik7CisgICAgfSko
bnVsbCk7Cit9CisKK0luc3BlY3RvclRlc3Quc2VsZWN0Tm9kZUFuZFdhaXRGb3JTdHlsZXMgPSBm
dW5jdGlvbihpZFZhbHVlLCBjYWxsYmFjaykKK3sKKyAgICBXZWJJbnNwZWN0b3Iuc2hvd1BhbmVs
KCJlbGVtZW50cyIpOworCisgICAgY2FsbGJhY2sgPSBJbnNwZWN0b3JUZXN0LnNhZmVXcmFwKGNh
bGxiYWNrKTsKKworICAgIHZhciB0YXJnZXROb2RlOworCisgICAgSW5zcGVjdG9yVGVzdC53YWl0
Rm9yU3R5bGVzKGlkVmFsdWUsIHN0eWxlc1VwZGF0ZWQsIHRydWUpOworICAgIEluc3BlY3RvclRl
c3Quc2VsZWN0Tm9kZVdpdGhJZChpZFZhbHVlLCBub2RlU2VsZWN0ZWQpOworCisgICAgZnVuY3Rp
b24gbm9kZVNlbGVjdGVkKG5vZGUpCisgICAgeworICAgICAgICB0YXJnZXROb2RlID0gbm9kZTsK
KyAgICB9CisKKyAgICBmdW5jdGlvbiBzdHlsZXNVcGRhdGVkKCkKKyAgICB7CisgICAgICAgIGNh
bGxiYWNrKHRhcmdldE5vZGUpOworICAgIH0KK30KKworSW5zcGVjdG9yVGVzdC5zZWxlY3ROb2Rl
QW5kV2FpdEZvclN0eWxlc1dpdGhDb21wdXRlZCA9IGZ1bmN0aW9uKGlkVmFsdWUsIGNhbGxiYWNr
KQoreworICAgIGNhbGxiYWNrID0gSW5zcGVjdG9yVGVzdC5zYWZlV3JhcChjYWxsYmFjayk7CisK
KyAgICBmdW5jdGlvbiBzdHlsZXNDYWxsYmFjayh0YXJnZXROb2RlKQorICAgIHsKKyAgICAgICAg
SW5zcGVjdG9yVGVzdC5hZGRTbmlmZmVyKFdlYkluc3BlY3Rvci5TaWRlYmFyUGFuZS5wcm90b3R5
cGUsICJvbkNvbnRlbnRSZWFkeSIsIGNhbGxiYWNrKTsKKyAgICAgICAgV2ViSW5zcGVjdG9yLnBh
bmVscy5lbGVtZW50cy5zaWRlYmFyUGFuZXMuY29tcHV0ZWRTdHlsZS5leHBhbmQoKTsKKyAgICB9
CisKKyAgICBJbnNwZWN0b3JUZXN0LnNlbGVjdE5vZGVBbmRXYWl0Rm9yU3R5bGVzKGlkVmFsdWUs
IHN0eWxlc0NhbGxiYWNrKTsKK30KKworSW5zcGVjdG9yVGVzdC5kdW1wU2VsZWN0ZWRFbGVtZW50
U3R5bGVzID0gZnVuY3Rpb24oZXhjbHVkZUNvbXB1dGVkLCBleGNsdWRlTWF0Y2hlZCwgb21pdExv
bmdoYW5kcywgaW5jbHVkZVNlbGVjdG9yR3JvdXBNYXJrcykKK3sKKyAgICBmdW5jdGlvbiBleHRy
YWN0VGV4dChlbGVtZW50KQorICAgIHsKKyAgICAgICAgdmFyIHRleHQgPSBlbGVtZW50LnRleHRD
b250ZW50OworICAgICAgICBpZiAodGV4dCkKKyAgICAgICAgICAgIHJldHVybiB0ZXh0OworICAg
ICAgICBlbGVtZW50ID0gZWxlbWVudC5xdWVyeVNlbGVjdG9yKCJbZGF0YS11bmNvcHlhYmxlXSIp
OworICAgICAgICByZXR1cm4gZWxlbWVudCA/IGVsZW1lbnQuZ2V0QXR0cmlidXRlKCJkYXRhLXVu
Y29weWFibGUiKSA6ICIiOworICAgIH0KKworICAgIGZ1bmN0aW9uIGJ1aWxkTWFya2VkU2VsZWN0
b3JzKGVsZW1lbnQpCisgICAgeworICAgICAgICB2YXIgcmVzdWx0ID0gIiI7CisgICAgICAgIGZv
ciAodmFyIG5vZGUgPSBlbGVtZW50LmZpcnN0Q2hpbGQ7IG5vZGU7IG5vZGUgPSBub2RlLm5leHRT
aWJsaW5nKSB7CisgICAgICAgICAgICBpZiAobm9kZS5ub2RlVHlwZSA9PT0gTm9kZS5FTEVNRU5U
X05PREUgJiYgbm9kZS5jbGFzc05hbWUgPT09ICJzZWxlY3Rvci1tYXRjaGVzIikKKyAgICAgICAg
ICAgICAgICByZXN1bHQgKz0gIlskIiArIG5vZGUudGV4dENvbnRlbnQgKyAiJF0iOworICAgICAg
ICAgICAgZWxzZQorICAgICAgICAgICAgICAgIHJlc3VsdCArPSBub2RlLnRleHRDb250ZW50Owor
ICAgICAgICB9CisgICAgICAgIHJldHVybiByZXN1bHQ7CisgICAgfQorCisgICAgdmFyIHN0eWxl
U2VjdGlvbnMgPSBXZWJJbnNwZWN0b3IucGFuZWxzLmVsZW1lbnRzLnNpZGViYXJQYW5lcy5zdHls
ZXMuc2VjdGlvbnM7CisgICAgZm9yICh2YXIgcHNldWRvSWQgaW4gc3R5bGVTZWN0aW9ucykgewor
ICAgICAgICB2YXIgcHNldWRvTmFtZSA9IFdlYkluc3BlY3Rvci5TdHlsZXNTaWRlYmFyUGFuZS5Q
c2V1ZG9JZE5hbWVzW3BzZXVkb0lkXTsKKyAgICAgICAgdmFyIHNlY3Rpb25zID0gc3R5bGVTZWN0
aW9uc1twc2V1ZG9JZF07CisgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgc2VjdGlvbnMubGVu
Z3RoOyArK2kpIHsKKyAgICAgICAgICAgIHZhciBzZWN0aW9uID0gc2VjdGlvbnNbaV07CisgICAg
ICAgICAgICBpZiAoc2VjdGlvbi5jb21wdXRlZFN0eWxlICYmIGV4Y2x1ZGVDb21wdXRlZCkKKyAg
ICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgIGlmIChzZWN0aW9uLnJ1bGUgJiYg
ZXhjbHVkZU1hdGNoZWQpCisgICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICBp
ZiAoc2VjdGlvbi5lbGVtZW50LnByZXZpb3VzU2libGluZyAmJiBzZWN0aW9uLmVsZW1lbnQucHJl
dmlvdXNTaWJsaW5nLmNsYXNzTmFtZSA9PT0gInNpZGViYXItc2VwYXJhdG9yIikKKyAgICAgICAg
ICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiPT09PT09PT0gIiArIHNlY3Rpb24uZWxl
bWVudC5wcmV2aW91c1NpYmxpbmcudGV4dENvbnRlbnQgKyAiID09PT09PT09Iik7CisgICAgICAg
ICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgoc2VjdGlvbi5leHBhbmRlZCA/ICJbZXhwYW5k
ZWRdICIgOiAiW2NvbGxhcHNlZF0gIikgKyAoc2VjdGlvbi5ub0FmZmVjdCA/ICJbbm8tYWZmZWN0
XSAiIDogIiIpKTsKKyAgICAgICAgICAgIHZhciBjaGFpbkVudHJpZXMgPSBzZWN0aW9uLnRpdGxl
RWxlbWVudC5jaGlsZHJlbjsKKyAgICAgICAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgY2hhaW5F
bnRyaWVzLmxlbmd0aDsgKytqKSB7CisgICAgICAgICAgICAgICAgdmFyIGNoYWluRW50cnkgPSBj
aGFpbkVudHJpZXNbal07CisgICAgICAgICAgICAgICAgdmFyIGVudHJ5TGluZSA9IGluY2x1ZGVT
ZWxlY3Rvckdyb3VwTWFya3MgPyBidWlsZE1hcmtlZFNlbGVjdG9ycyhjaGFpbkVudHJ5LmNoaWxk
cmVuWzFdKSA6IGNoYWluRW50cnkuY2hpbGRyZW5bMV0udGV4dENvbnRlbnQ7CisgICAgICAgICAg
ICAgICAgaWYgKGNoYWluRW50cnkuY2hpbGRyZW5bMl0pCisgICAgICAgICAgICAgICAgICAgIGVu
dHJ5TGluZSArPSAiICIgKyBjaGFpbkVudHJ5LmNoaWxkcmVuWzJdLnRleHRDb250ZW50OworICAg
ICAgICAgICAgICAgIGVudHJ5TGluZSArPSAiICgiICsgZXh0cmFjdFRleHQoY2hhaW5FbnRyeS5j
aGlsZHJlblswXSkgKyAiKSI7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1
bHQoZW50cnlMaW5lKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHNlY3Rpb24uZXhwYW5k
KCk7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBTdHlsZVRyZWVPdXRsaW5lKHNlY3Rp
b24ucHJvcGVydGllc1RyZWVPdXRsaW5lLCBvbWl0TG9uZ2hhbmRzID8gMSA6IDIpOworICAgICAg
ICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIiIpOworICAgICAgICB9CisgICAgICAgIElu
c3BlY3RvclRlc3QuYWRkUmVzdWx0KCIiKTsKKyAgICB9Cit9CisKK0luc3BlY3RvclRlc3QudG9n
Z2xlU3R5bGVQcm9wZXJ0eSA9IGZ1bmN0aW9uKHByb3BlcnR5TmFtZSwgY2hlY2tlZCkKK3sKKyAg
ICB2YXIgdHJlZUl0ZW0gPSBJbnNwZWN0b3JUZXN0LmdldEVsZW1lbnRTdHlsZVByb3BlcnR5VHJl
ZUl0ZW0ocHJvcGVydHlOYW1lKTsKKyAgICB0cmVlSXRlbS50b2dnbGVFbmFibGVkKHsgdGFyZ2V0
OiB7IGNoZWNrZWQ6IGNoZWNrZWQgfSwgY29uc3VtZTogZnVuY3Rpb24oKSB7IH0gfSk7Cit9CisK
K0luc3BlY3RvclRlc3QudG9nZ2xlTWF0Y2hlZFN0eWxlUHJvcGVydHkgPSBmdW5jdGlvbihwcm9w
ZXJ0eU5hbWUsIGNoZWNrZWQpCit7CisgICAgdmFyIHRyZWVJdGVtID0gSW5zcGVjdG9yVGVzdC5n
ZXRNYXRjaGVkU3R5bGVQcm9wZXJ0eVRyZWVJdGVtKHByb3BlcnR5TmFtZSk7CisgICAgdHJlZUl0
ZW0udG9nZ2xlRW5hYmxlZCh7IHRhcmdldDogeyBjaGVja2VkOiBjaGVja2VkIH0sIGNvbnN1bWU6
IGZ1bmN0aW9uKCkgeyB9IH0pOworfQorCitJbnNwZWN0b3JUZXN0LmV4cGFuZEFuZER1bXBTZWxl
Y3RlZEVsZW1lbnRFdmVudExpc3RlbmVycyA9IGZ1bmN0aW9uKGNhbGxiYWNrKQoreworICAgIElu
c3BlY3RvclRlc3QuZXhwYW5kU2VsZWN0ZWRFbGVtZW50RXZlbnRMaXN0ZW5lcnMoZnVuY3Rpb24o
KSB7CisgICAgICAgIEluc3BlY3RvclRlc3QuZHVtcFNlbGVjdGVkRWxlbWVudEV2ZW50TGlzdGVu
ZXJzKGNhbGxiYWNrKTsKKyAgICB9KTsKK30KKworSW5zcGVjdG9yVGVzdC5leHBhbmRTZWxlY3Rl
ZEVsZW1lbnRFdmVudExpc3RlbmVycyA9IGZ1bmN0aW9uKGNhbGxiYWNrKQoreworICAgIHZhciBz
aWRlYmFyUGFuZSA9IFdlYkluc3BlY3Rvci5wYW5lbHMuZWxlbWVudHMuc2lkZWJhclBhbmVzLmV2
ZW50TGlzdGVuZXJzOworICAgIHNpZGViYXJQYW5lLmV4cGFuZCgpOworCisgICAgSW5zcGVjdG9y
VGVzdC5ydW5BZnRlclBlbmRpbmdEaXNwYXRjaGVzKGZ1bmN0aW9uKCkgeworICAgICAgICBJbnNw
ZWN0b3JUZXN0LmV4cGFuZFNlbGVjdGVkRWxlbWVudEV2ZW50TGlzdGVuZXJzU3Vic2VjdGlvbnMo
Y2FsbGJhY2spOworICAgIH0pOworfQorCitJbnNwZWN0b3JUZXN0LmV4cGFuZFNlbGVjdGVkRWxl
bWVudEV2ZW50TGlzdGVuZXJzU3Vic2VjdGlvbnMgPSBmdW5jdGlvbihjYWxsYmFjaykKK3sKKyAg
ICB2YXIgZXZlbnRMaXN0ZW5lclNlY3Rpb25zID0gV2ViSW5zcGVjdG9yLnBhbmVscy5lbGVtZW50
cy5zaWRlYmFyUGFuZXMuZXZlbnRMaXN0ZW5lcnMuc2VjdGlvbnM7CisgICAgZm9yICh2YXIgaSA9
IDA7IGkgPCBldmVudExpc3RlbmVyU2VjdGlvbnMubGVuZ3RoOyArK2kpCisgICAgICAgIGV2ZW50
TGlzdGVuZXJTZWN0aW9uc1tpXS5leHBhbmQoKTsKKworICAgIC8vIE11bHRpcGxlIHNlY3Rpb25z
IG1heSBleHBhbmQuCisgICAgSW5zcGVjdG9yVGVzdC5ydW5BZnRlclBlbmRpbmdEaXNwYXRjaGVz
KGZ1bmN0aW9uKCkgeworICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGFuZFNlbGVjdGVkRWxlbWVu
dEV2ZW50TGlzdGVuZXJzRXZlbnRCYXJzKGNhbGxiYWNrKTsKKyAgICB9KTsKK30KKworSW5zcGVj
dG9yVGVzdC5leHBhbmRTZWxlY3RlZEVsZW1lbnRFdmVudExpc3RlbmVyc0V2ZW50QmFycyA9IGZ1
bmN0aW9uKGNhbGxiYWNrKQoreworICAgIHZhciBldmVudExpc3RlbmVyU2VjdGlvbnMgPSBXZWJJ
bnNwZWN0b3IucGFuZWxzLmVsZW1lbnRzLnNpZGViYXJQYW5lcy5ldmVudExpc3RlbmVycy5zZWN0
aW9uczsKKyAgICBmb3IgKHZhciBpID0gMDsgaSA8IGV2ZW50TGlzdGVuZXJTZWN0aW9ucy5sZW5n
dGg7ICsraSkgeworICAgICAgICB2YXIgZXZlbnRCYXJDaGlsZHJlbiA9IGV2ZW50TGlzdGVuZXJT
ZWN0aW9uc1tpXS5fZXZlbnRCYXJzLmNoaWxkcmVuOworICAgICAgICBmb3IgKHZhciBqID0gMDsg
aiA8IGV2ZW50QmFyQ2hpbGRyZW4ubGVuZ3RoOyArK2opCisgICAgICAgICAgICBldmVudEJhckNo
aWxkcmVuW2pdLl9zZWN0aW9uLmV4cGFuZCgpOworICAgIH0KKworICAgIC8vIE11bHRpcGxlIHNl
Y3Rpb25zIG1heSBleHBhbmQuCisgICAgSW5zcGVjdG9yVGVzdC5ydW5BZnRlclBlbmRpbmdEaXNw
YXRjaGVzKGNhbGxiYWNrKTsKK30KKworSW5zcGVjdG9yVGVzdC5kdW1wU2VsZWN0ZWRFbGVtZW50
RXZlbnRMaXN0ZW5lcnMgPSBmdW5jdGlvbihjYWxsYmFjaykKK3sKKyAgICBmdW5jdGlvbiBmb3Jt
YXRTb3VyY2VOYW1lUHJvcGVydHkodmFsdWUpCisgICAgeworICAgICAgICByZXR1cm4gIltjbGlw
cGVkLWZvci10ZXN0XS8iICsgdmFsdWUucmVwbGFjZSgvKC4qP1wvKUxheW91dFRlc3RzLywgIkxh
eW91dFRlc3RzIik7CisgICAgfQorCisgICAgdmFyIGV2ZW50TGlzdGVuZXJTZWN0aW9ucyA9IFdl
Ykluc3BlY3Rvci5wYW5lbHMuZWxlbWVudHMuc2lkZWJhclBhbmVzLmV2ZW50TGlzdGVuZXJzLnNl
Y3Rpb25zOworICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZXZlbnRMaXN0ZW5lclNlY3Rpb25zLmxl
bmd0aDsgKytpKSB7CisgICAgICAgIHZhciBzZWN0aW9uID0gZXZlbnRMaXN0ZW5lclNlY3Rpb25z
W2ldOworICAgICAgICB2YXIgZXZlbnRUeXBlID0gc2VjdGlvbi5fdGl0bGU7CisgICAgICAgIElu
c3BlY3RvclRlc3QuYWRkUmVzdWx0KCIiKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1
bHQoIj09PT09PT09ICIgKyBldmVudFR5cGUgKyAiID09PT09PT09Iik7CisgICAgICAgIHZhciBl
dmVudEJhckNoaWxkcmVuID0gc2VjdGlvbi5fZXZlbnRCYXJzLmNoaWxkcmVuOworICAgICAgICBm
b3IgKHZhciBqID0gMDsgaiA8IGV2ZW50QmFyQ2hpbGRyZW4ubGVuZ3RoOyArK2opIHsKKyAgICAg
ICAgICAgIHZhciBvYmplY3RQcm9wZXJ0aWVzU2VjdGlvbiA9IGV2ZW50QmFyQ2hpbGRyZW5bal0u
X3NlY3Rpb247CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBPYmplY3RQcm9wZXJ0eVNl
Y3Rpb24ob2JqZWN0UHJvcGVydGllc1NlY3Rpb24sIHsKKyAgICAgICAgICAgICAgICBzb3VyY2VO
YW1lOiBmb3JtYXRTb3VyY2VOYW1lUHJvcGVydHkKKyAgICAgICAgICAgIH0pOworICAgICAgICB9
CisgICAgfQorCisgICAgY2FsbGJhY2soKTsKK30KKworSW5zcGVjdG9yVGVzdC5kdW1wT2JqZWN0
UHJvcGVydHlTZWN0aW9uID0gZnVuY3Rpb24oc2VjdGlvbiwgZm9ybWF0dGVycykKK3sKKyAgICB2
YXIgZXhwYW5kZWRTdWJzdHJpbmcgPSBzZWN0aW9uLmV4cGFuZGVkID8gIltleHBhbmRlZF0iIDog
Iltjb2xsYXBzZWRdIjsKKyAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdChleHBhbmRlZFN1YnN0
cmluZyArICIgIiArIHNlY3Rpb24udGl0bGVFbGVtZW50LnRleHRDb250ZW50ICsgIiAiICsgc2Vj
dGlvbi5zdWJ0aXRsZUFzVGV4dEZvclRlc3QpOworICAgIGlmICghc2VjdGlvbi5wcm9wZXJ0aWVz
Rm9yVGVzdCkKKyAgICAgICAgcmV0dXJuOworCisgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBzZWN0
aW9uLnByb3BlcnRpZXNGb3JUZXN0Lmxlbmd0aDsgKytpKSB7CisgICAgICAgIHZhciBwcm9wZXJ0
eSA9IHNlY3Rpb24ucHJvcGVydGllc0ZvclRlc3RbaV07CisgICAgICAgIHZhciBrZXkgPSBwcm9w
ZXJ0eS5uYW1lOworICAgICAgICB2YXIgdmFsdWUgPSBwcm9wZXJ0eS52YWx1ZS5fZGVzY3JpcHRp
b247CisgICAgICAgIGlmIChrZXkgaW4gZm9ybWF0dGVycykKKyAgICAgICAgICAgIHZhbHVlID0g
Zm9ybWF0dGVyc1trZXldKHZhbHVlKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQo
IiAgICAiICsga2V5ICsgIjogIiArIHZhbHVlKTsKKyAgICB9Cit9CisKK0luc3BlY3RvclRlc3Qu
ZHVtcE9iamVjdFByb3BlcnR5U2VjdGlvbkRlZXAgPSBmdW5jdGlvbihzZWN0aW9uKQoreworICAg
IGZ1bmN0aW9uIGRvbU5vZGVUb1N0cmluZyhub2RlKSB7CisgICAgICAgIGlmIChub2RlKQorICAg
ICAgICAgICAgcmV0dXJuICInIiArIG5vZGUudGV4dENvbnRlbnQgKyAiJyI7CisgICAgICAgIGVs
c2UKKyAgICAgICAgICAgIHJldHVybiAibnVsbCI7CisgICAgfQorICAgIGZ1bmN0aW9uIGR1bXBU
cmVlRWxlbWVudFJlY3Vyc2l2ZWx5KHRyZWVFbGVtZW50LCBwcmVmaXgpIHsKKyAgICAgICAgaWYg
KCJuYW1lRWxlbWVudCIgaW4gdHJlZUVsZW1lbnQpCisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0
LmFkZFJlc3VsdChwcmVmaXggKyBkb21Ob2RlVG9TdHJpbmcodHJlZUVsZW1lbnQubmFtZUVsZW1l
bnQpICsgIiA9PiAiICsgZG9tTm9kZVRvU3RyaW5nKHRyZWVFbGVtZW50LnZhbHVlRWxlbWVudCkp
OworICAgICAgICBlbHNlCisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdChwcmVm
aXggKyB0cmVlRWxlbWVudC50aXRsZSk7CisgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdHJl
ZUVsZW1lbnQuY2hpbGRyZW4ubGVuZ3RoOyBpKyspCisgICAgICAgICAgICBkdW1wVHJlZUVsZW1l
bnRSZWN1cnNpdmVseSh0cmVlRWxlbWVudC5jaGlsZHJlbltpXSwgcHJlZml4ICsgIiAgICAiKTsK
KyAgICB9CisKKyAgICB2YXIgY2hpbGROb2RlcyA9IHNlY3Rpb24ucHJvcGVydGllc1RyZWVPdXRs
aW5lLmNoaWxkcmVuOworICAgIGZvciAodmFyIGkgPSAwOyBpIDwgY2hpbGROb2Rlcy5sZW5ndGg7
IGkrKykgeworICAgICAgICBkdW1wVHJlZUVsZW1lbnRSZWN1cnNpdmVseShjaGlsZE5vZGVzW2ld
LCAiIik7CisgICAgfQorfQorCisvLyBGSVhNRTogdGhpcyByZXR1cm5zIHRoZSBmaXJzdCB0cmVl
IGl0ZW0gZm91bmQgKG1heSBmYWlsIGZvciBzYW1lLW5hbWVkIHByb3BlcnRpZXMgaW4gYSBzdHls
ZSkuCitJbnNwZWN0b3JUZXN0LmdldEVsZW1lbnRTdHlsZVByb3BlcnR5VHJlZUl0ZW0gPSBmdW5j
dGlvbihwcm9wZXJ0eU5hbWUpCit7CisgICAgdmFyIHN0eWxlU2VjdGlvbnMgPSBXZWJJbnNwZWN0
b3IucGFuZWxzLmVsZW1lbnRzLnNpZGViYXJQYW5lcy5zdHlsZXMuc2VjdGlvbnNbMF07CisgICAg
dmFyIGVsZW1lbnRTdHlsZVNlY3Rpb24gPSBzdHlsZVNlY3Rpb25zWzFdOworICAgIHJldHVybiBJ
bnNwZWN0b3JUZXN0LmdldEZpcnN0UHJvcGVydHlUcmVlSXRlbUZvclNlY3Rpb24oZWxlbWVudFN0
eWxlU2VjdGlvbiwgcHJvcGVydHlOYW1lKTsKK307CisKKy8vIEZJWE1FOiB0aGlzIHJldHVybnMg
dGhlIGZpcnN0IHRyZWUgaXRlbSBmb3VuZCAobWF5IGZhaWwgZm9yIHNhbWUtbmFtZWQgcHJvcGVy
dGllcyBpbiBhIHN0eWxlKS4KK0luc3BlY3RvclRlc3QuZ2V0TWF0Y2hlZFN0eWxlUHJvcGVydHlU
cmVlSXRlbSA9IGZ1bmN0aW9uKHByb3BlcnR5TmFtZSkKK3sKKyAgICB2YXIgc3R5bGVTZWN0aW9u
cyA9IFdlYkluc3BlY3Rvci5wYW5lbHMuZWxlbWVudHMuc2lkZWJhclBhbmVzLnN0eWxlcy5zZWN0
aW9uc1swXTsKKyAgICBmb3IgKHZhciBpID0gMTsgaSA8IHN0eWxlU2VjdGlvbnMubGVuZ3RoOyAr
K2kpIHsKKyAgICAgICAgdmFyIHRyZWVJdGVtID0gSW5zcGVjdG9yVGVzdC5nZXRGaXJzdFByb3Bl
cnR5VHJlZUl0ZW1Gb3JTZWN0aW9uKHN0eWxlU2VjdGlvbnNbaV0sIHByb3BlcnR5TmFtZSk7Cisg
ICAgICAgIGlmICh0cmVlSXRlbSkKKyAgICAgICAgICAgIHJldHVybiB0cmVlSXRlbTsKKyAgICB9
CisgICAgcmV0dXJuIG51bGw7Cit9OworCitJbnNwZWN0b3JUZXN0LmdldEZpcnN0UHJvcGVydHlU
cmVlSXRlbUZvclNlY3Rpb24gPSBmdW5jdGlvbihzZWN0aW9uLCBwcm9wZXJ0eU5hbWUpCit7Cisg
ICAgdmFyIG91dGxpbmUgPSBzZWN0aW9uLnByb3BlcnRpZXNUcmVlT3V0bGluZTsKKyAgICBmb3Ig
KHZhciBpID0gMDsgaSA8IG91dGxpbmUuY2hpbGRyZW4ubGVuZ3RoOyArK2kpIHsKKyAgICAgICAg
dmFyIHRyZWVJdGVtID0gb3V0bGluZS5jaGlsZHJlbltpXTsKKyAgICAgICAgaWYgKHRyZWVJdGVt
Lm5hbWUgPT09IHByb3BlcnR5TmFtZSkKKyAgICAgICAgICAgIHJldHVybiB0cmVlSXRlbTsKKyAg
ICB9CisgICAgcmV0dXJuIG51bGw7Cit9OworCitJbnNwZWN0b3JUZXN0LmR1bXBTdHlsZVRyZWVP
dXRsaW5lID0gZnVuY3Rpb24odHJlZUl0ZW0sIGRlcHRoKQoreworICAgIHZhciBjaGlsZHJlbiA9
IHRyZWVJdGVtLmNoaWxkcmVuOworICAgIGZvciAodmFyIGkgPSAwOyBpIDwgY2hpbGRyZW4ubGVu
Z3RoOyArK2kpCisgICAgICAgIEluc3BlY3RvclRlc3QuZHVtcFN0eWxlVHJlZUl0ZW0oY2hpbGRy
ZW5baV0sICIiLCBkZXB0aCB8fCAyKTsKK307CisKK0luc3BlY3RvclRlc3QuZHVtcFN0eWxlVHJl
ZUl0ZW0gPSBmdW5jdGlvbih0cmVlSXRlbSwgcHJlZml4LCBkZXB0aCkKK3sKKyAgICAvLyBGaWx0
ZXIgb3V0IHdpZHRoIGFuZCBoZWlnaHQgcHJvcGVydGllcyBpbiBvcmRlciB0byBtaW5pbWl6ZQor
ICAgIC8vIHBvdGVudGlhbCBkaWZmcy4KKyAgICBpZiAoIXRyZWVJdGVtLmxpc3RJdGVtRWxlbWVu
dC50ZXh0Q29udGVudC5pbmRleE9mKCJ3aWR0aCIpIHx8CisgICAgICAgICF0cmVlSXRlbS5saXN0
SXRlbUVsZW1lbnQudGV4dENvbnRlbnQuaW5kZXhPZigiaGVpZ2h0IikpCisgICAgICAgIHJldHVy
bjsKKworICAgIGlmICh0cmVlSXRlbS5saXN0SXRlbUVsZW1lbnQuaGFzU3R5bGVDbGFzcygiaW5o
ZXJpdGVkIikpCisgICAgICAgIHJldHVybjsKKyAgICB2YXIgdHlwZVByZWZpeCA9ICIiOworICAg
IGlmICh0cmVlSXRlbS5saXN0SXRlbUVsZW1lbnQuaGFzU3R5bGVDbGFzcygib3ZlcmxvYWRlZCIp
IHx8IHRyZWVJdGVtLmxpc3RJdGVtRWxlbWVudC5oYXNTdHlsZUNsYXNzKCJpbmFjdGl2ZSIpIHx8
IHRyZWVJdGVtLmxpc3RJdGVtRWxlbWVudC5oYXNTdHlsZUNsYXNzKCJub3QtcGFyc2VkLW9rIikp
CisgICAgICAgIHR5cGVQcmVmaXggKz0gIi8tLSBvdmVybG9hZGVkIC0tLyAiOworICAgIGlmICh0
cmVlSXRlbS5saXN0SXRlbUVsZW1lbnQuaGFzU3R5bGVDbGFzcygiZGlzYWJsZWQiKSkKKyAgICAg
ICAgdHlwZVByZWZpeCArPSAiLy0tIGRpc2FibGVkIC0tLyAiOworICAgIHZhciB0ZXh0Q29udGVu
dCA9IHRyZWVJdGVtLmxpc3RJdGVtRWxlbWVudC50ZXh0Q29udGVudDsKKworICAgIC8vIEFkZCBu
b24tc2VsZWN0YWJsZSB1cmwgdGV4dC4KKyAgICB2YXIgdGV4dERhdGEgPSB0cmVlSXRlbS5saXN0
SXRlbUVsZW1lbnQucXVlcnlTZWxlY3RvcigiW2RhdGEtdW5jb3B5YWJsZV0iKTsKKyAgICBpZiAo
dGV4dERhdGEpCisgICAgICAgIHRleHRDb250ZW50ICs9IHRleHREYXRhLmdldEF0dHJpYnV0ZSgi
ZGF0YS11bmNvcHlhYmxlIik7CisgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQocHJlZml4ICsg
dHlwZVByZWZpeCArIHRleHRDb250ZW50KTsKKyAgICBpZiAoLS1kZXB0aCkgeworICAgICAgICB0
cmVlSXRlbS5leHBhbmQoKTsKKyAgICAgICAgdmFyIGNoaWxkcmVuID0gdHJlZUl0ZW0uY2hpbGRy
ZW47CisgICAgICAgIGZvciAodmFyIGkgPSAwOyBjaGlsZHJlbiAmJiBpIDwgY2hpbGRyZW4ubGVu
Z3RoOyArK2kpCisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBTdHlsZVRyZWVJdGVtKGNo
aWxkcmVuW2ldLCBwcmVmaXggKyAiICAgICIsIGRlcHRoKTsKKyAgICB9Cit9OworCitJbnNwZWN0
b3JUZXN0LmR1bXBFbGVtZW50c1RyZWUgPSBmdW5jdGlvbihyb290Tm9kZSwgZGVwdGgpCit7Cisg
ICAgZnVuY3Rpb24gYmVhdXRpZnkoZWxlbWVudCkKKyAgICB7CisgICAgICAgIHJldHVybiBlbGVt
ZW50LmlubmVyVGV4dC5yZXBsYWNlKC9cdTIwMGIvZywgIiIpLnJlcGxhY2UoL1xuL2csICJcXG4i
KS50cmltKCk7CisgICAgfQorCisgICAgZnVuY3Rpb24gZHVtcE1hcChuYW1lLCBtYXApCisgICAg
eworICAgICAgICB2YXIgcmVzdWx0ID0gW107CisgICAgICAgIGZvciAodmFyIGlkIGluIG1hcCkK
KyAgICAgICAgICAgIHJlc3VsdC5wdXNoKGlkICsgIj0iICsgbWFwW2lkXSk7CisgICAgICAgIGlm
ICghcmVzdWx0Lmxlbmd0aCkKKyAgICAgICAgICAgIHJldHVybiAiIjsKKyAgICAgICAgcmV0dXJu
IG5hbWUgKyAiOlsiICsgcmVzdWx0LmpvaW4oIiwiKSArICJdIjsKKyAgICB9CisKKyAgICBmdW5j
dGlvbiB1c2VyUHJvcGVydHlEYXRhRHVtcCh0cmVlSXRlbSkKKyAgICB7CisgICAgICAgIGlmICh0
cmVlSXRlbS5fZWxlbWVudENsb3NlVGFnKQorICAgICAgICAgICAgcmV0dXJuICIiOworCisgICAg
ICAgIHZhciB1c2VyUHJvcGVydGllcyA9ICIiOworICAgICAgICB2YXIgbm9kZSA9IHRyZWVJdGVt
LnJlcHJlc2VudGVkT2JqZWN0OworICAgICAgICBpZiAobm9kZSkgeworICAgICAgICAgICAgdXNl
clByb3BlcnRpZXMgKz0gZHVtcE1hcCgidXNlclByb3BlcnRpZXMiLCBub2RlLl91c2VyUHJvcGVy
dGllcyk7CisgICAgICAgICAgICB2YXIgZHVtcCA9IGR1bXBNYXAoImRlc2NlbmRhbnRVc2VyQXR0
cmlidXRlQ291bnRlcnMiLCBub2RlLl9kZXNjZW5kYW50VXNlclByb3BlcnR5Q291bnRlcnMpOwor
ICAgICAgICAgICAgaWYgKGR1bXApIHsKKyAgICAgICAgICAgICAgICBpZiAodXNlclByb3BlcnRp
ZXMpCisgICAgICAgICAgICAgICAgICAgIHVzZXJQcm9wZXJ0aWVzICs9ICIsICI7CisgICAgICAg
ICAgICAgICAgdXNlclByb3BlcnRpZXMgKz0gZHVtcDsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIGlmICh1c2VyUHJvcGVydGllcykKKyAgICAgICAgICAgICAgICB1c2VyUHJvcGVydGllcyA9
ICIgWyIgKyB1c2VyUHJvcGVydGllcyArICJdIjsKKyAgICAgICAgfQorICAgICAgICByZXR1cm4g
dXNlclByb3BlcnRpZXM7CisgICAgfQorCisgICAgZnVuY3Rpb24gcHJpbnQodHJlZUl0ZW0sIHBy
ZWZpeCwgZGVwdGgpCisgICAgeworICAgICAgICBpZiAodHJlZUl0ZW0ubGlzdEl0ZW1FbGVtZW50
KSB7CisgICAgICAgICAgICB2YXIgZXhwYW5kZXI7CisgICAgICAgICAgICBpZiAodHJlZUl0ZW0u
aGFzQ2hpbGRyZW4pIHsKKyAgICAgICAgICAgICAgICBpZiAodHJlZUl0ZW0uZXhwYW5kZWQpCisg
ICAgICAgICAgICAgICAgICAgIGV4cGFuZGVyID0gIi0gIjsKKyAgICAgICAgICAgICAgICBlbHNl
CisgICAgICAgICAgICAgICAgICAgIGV4cGFuZGVyID0gIisgIjsKKyAgICAgICAgICAgIH0gZWxz
ZQorICAgICAgICAgICAgICAgIGV4cGFuZGVyID0gIiAgIjsKKworICAgICAgICAgICAgdmFyIHVz
ZXJQcm9wZXJ0aWVzID0gdXNlclByb3BlcnR5RGF0YUR1bXAodHJlZUl0ZW0pOworICAgICAgICAg
ICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQocHJlZml4ICsgZXhwYW5kZXIgKyBiZWF1dGlmeSh0
cmVlSXRlbS5saXN0SXRlbUVsZW1lbnQpICsgdXNlclByb3BlcnRpZXMpOworICAgICAgICB9CisK
KyAgICAgICAgaWYgKCF0cmVlSXRlbS5leHBhbmRlZCkKKyAgICAgICAgICAgIHJldHVybjsKKwor
ICAgICAgICB2YXIgY2hpbGRyZW4gPSB0cmVlSXRlbS5jaGlsZHJlbjsKKyAgICAgICAgZm9yICh2
YXIgaSA9IDA7IGRlcHRoICYmIGNoaWxkcmVuICYmIGkgPCBjaGlsZHJlbi5sZW5ndGggLSAxOyAr
K2kpCisgICAgICAgICAgICBwcmludChjaGlsZHJlbltpXSwgcHJlZml4ICsgIiAgICAiLCBkZXB0
aCAtIDEpOworCisgICAgICAgIC8vIENsb3NpbmcgdGFnLgorICAgICAgICBpZiAoY2hpbGRyZW4g
JiYgY2hpbGRyZW4ubGVuZ3RoKQorICAgICAgICAgICAgcHJpbnQoY2hpbGRyZW5bY2hpbGRyZW4u
bGVuZ3RoIC0gMV0sIHByZWZpeCwgZGVwdGgpOworICAgIH0KKworICAgIFdlYkluc3BlY3Rvci5w
YW5lbHMuZWxlbWVudHMudHJlZU91dGxpbmUuX3VwZGF0ZU1vZGlmaWVkTm9kZXMoKTsKKyAgICB2
YXIgdHJlZU91dGxpbmUgPSBXZWJJbnNwZWN0b3IucGFuZWxzLmVsZW1lbnRzLnRyZWVPdXRsaW5l
OworICAgIHByaW50KHJvb3ROb2RlID8gdHJlZU91dGxpbmUuZmluZFRyZWVFbGVtZW50KHJvb3RO
b2RlKSA6IHRyZWVPdXRsaW5lLCAiIiwgZGVwdGggfHwgMTAwMDApOworfTsKKworSW5zcGVjdG9y
VGVzdC5leHBhbmRFbGVtZW50c1RyZWUgPSBmdW5jdGlvbihjYWxsYmFjaykKK3sKKyAgICBjYWxs
YmFjayA9IEluc3BlY3RvclRlc3Quc2FmZVdyYXAoY2FsbGJhY2spOworCisgICAgZnVuY3Rpb24g
ZXhwYW5kKHRyZWVJdGVtKQorICAgIHsKKyAgICAgICAgdmFyIGNoaWxkcmVuID0gdHJlZUl0ZW0u
Y2hpbGRyZW47CisgICAgICAgIGZvciAodmFyIGkgPSAwOyBjaGlsZHJlbiAmJiBpIDwgY2hpbGRy
ZW4ubGVuZ3RoOyArK2kpIHsKKyAgICAgICAgICAgIGNoaWxkcmVuW2ldLmV4cGFuZCgpOworICAg
ICAgICAgICAgZXhwYW5kKGNoaWxkcmVuW2ldKTsKKyAgICAgICAgfQorICAgIH0KKworICAgIGZ1
bmN0aW9uIG9uQWxsTm9kZXNBdmFpbGFibGUoKQorICAgIHsKKyAgICAgICAgV2ViSW5zcGVjdG9y
LnBhbmVscy5lbGVtZW50cy50cmVlT3V0bGluZS5fdXBkYXRlTW9kaWZpZWROb2RlcygpOworICAg
ICAgICBleHBhbmQoV2ViSW5zcGVjdG9yLnBhbmVscy5lbGVtZW50cy50cmVlT3V0bGluZSk7Cisg
ICAgICAgIGNhbGxiYWNrKCk7CisgICAgfQorICAgIFdlYkluc3BlY3Rvci5zaG93UGFuZWwoImVs
ZW1lbnRzIik7CisgICAgSW5zcGVjdG9yVGVzdC5maW5kTm9kZShmdW5jdGlvbigpIHsgcmV0dXJu
IGZhbHNlOyB9LCBvbkFsbE5vZGVzQXZhaWxhYmxlKTsKK307CisKK0luc3BlY3RvclRlc3QuZHVt
cERPTUFnZW50VHJlZSA9IGZ1bmN0aW9uKCkKK3sKKyAgICBpZiAoIVdlYkluc3BlY3Rvci5kb21B
Z2VudC5fZG9jdW1lbnQpCisgICAgICAgIHJldHVybjsKKworICAgIGZ1bmN0aW9uIGR1bXAobm9k
ZSwgcHJlZml4LCBzdGFydEluZGV4KQorICAgIHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRS
ZXN1bHQocHJlZml4ICsgbm9kZS5ub2RlTmFtZSgpICsgIlsiICsgKG5vZGUuaWQgLSBzdGFydElu
ZGV4KSsgIl0iKTsKKyAgICAgICAgdmFyIGNoaWxkcmVuID0gbm9kZS5jaGlsZHJlbjsKKyAgICAg
ICAgZm9yICh2YXIgaSA9IDA7IGNoaWxkcmVuICYmIGkgPCBjaGlsZHJlbi5sZW5ndGg7ICsraSkK
KyAgICAgICAgICAgIGR1bXAoY2hpbGRyZW5baV0sIHByZWZpeCArICIgICAgIiwgc3RhcnRJbmRl
eCk7CisgICAgfQorICAgIGR1bXAoV2ViSW5zcGVjdG9yLmRvbUFnZW50Ll9kb2N1bWVudCwgIiIs
IFdlYkluc3BlY3Rvci5kb21BZ2VudC5fZG9jdW1lbnQuaWQgLSAxKTsKK307CisKK0luc3BlY3Rv
clRlc3QucmFuZ2VUZXh0ID0gZnVuY3Rpb24ocmFuZ2UpCit7CisgICAgaWYgKCFyYW5nZSkKKyAg
ICAgICAgcmV0dXJuICJbdW5kZWZpbmVkLXVuZGVmaW5lZF0iOworICAgIHJldHVybiAiWyIgKyBy
YW5nZS5zdGFydExpbmUgKyAiOiIgKyByYW5nZS5zdGFydENvbHVtbiArICItIiArIHJhbmdlLmVu
ZExpbmUgKyAiOiIgKyByYW5nZS5lbmRDb2x1bW4gKyAiXSI7Cit9CisKK0luc3BlY3RvclRlc3Qu
Z2VuZXJhdGVVbmRvVGVzdCA9IGZ1bmN0aW9uKHRlc3RCb2R5KQoreworICAgIGZ1bmN0aW9uIHJl
c3VsdChuZXh0KQorICAgIHsKKyAgICAgICAgdmFyIHRlc3ROb2RlID0gSW5zcGVjdG9yVGVzdC5l
eHBhbmRlZE5vZGVXaXRoSWQoL2Z1bmN0aW9uXHMoW14oXSopLy5leGVjKHRlc3RCb2R5KVsxXSk7
CisgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJJbml0aWFsOiIpOworICAgICAgICBJ
bnNwZWN0b3JUZXN0LmR1bXBFbGVtZW50c1RyZWUodGVzdE5vZGUpOworCisgICAgICAgIHRlc3RC
b2R5KHVuZG8pOworCisgICAgICAgIGZ1bmN0aW9uIHVuZG8oKQorICAgICAgICB7CisgICAgICAg
ICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiUG9zdC1hY3Rpb246Iik7CisgICAgICAgICAg
ICBJbnNwZWN0b3JUZXN0LmR1bXBFbGVtZW50c1RyZWUodGVzdE5vZGUpOworICAgICAgICAgICAg
V2ViSW5zcGVjdG9yLmRvbUFnZW50LnVuZG8ocmVkbyk7CisgICAgICAgIH0KKworICAgICAgICBm
dW5jdGlvbiByZWRvKCkKKyAgICAgICAgeworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRS
ZXN1bHQoIlBvc3QtdW5kbyAoaW5pdGlhbCk6Iik7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0
LmR1bXBFbGVtZW50c1RyZWUodGVzdE5vZGUpOworICAgICAgICAgICAgV2ViSW5zcGVjdG9yLmRv
bUFnZW50LnJlZG8oZG9uZSk7CisgICAgICAgIH0KKworICAgICAgICBmdW5jdGlvbiBkb25lKCkK
KyAgICAgICAgeworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIlBvc3QtcmVk
byAoYWN0aW9uKToiKTsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZHVtcEVsZW1lbnRzVHJl
ZSh0ZXN0Tm9kZSk7CisgICAgICAgICAgICBuZXh0KCk7CisgICAgICAgIH0KKyAgICB9CisgICAg
cmVzdWx0LnRvU3RyaW5nID0gZnVuY3Rpb24oKQorICAgIHsKKyAgICAgICAgcmV0dXJuIHRlc3RC
b2R5LnRvU3RyaW5nKCk7CisgICAgfQorICAgIHJldHVybiByZXN1bHQ7Cit9CisKK2NvbnN0IGlu
ZGVudCA9ICIgICAgIjsKKworSW5zcGVjdG9yVGVzdC5kdW1wUnVsZXNBcnJheSA9IGZ1bmN0aW9u
KHJ1bGVzLCBjdXJyZW50SW5kZW50KQoreworICAgIGlmICghcnVsZXMpCisgICAgICAgIHJldHVy
bjsKKyAgICBjdXJyZW50SW5kZW50ID0gY3VycmVudEluZGVudCB8fCAiIjsKKyAgICBmb3IgKHZh
ciBpID0gMDsgaSA8IHJ1bGVzLmxlbmd0aDsgKytpKQorICAgICAgICBJbnNwZWN0b3JUZXN0LmR1
bXBSdWxlKHJ1bGVzW2ldLCBjdXJyZW50SW5kZW50KTsKK30KKworSW5zcGVjdG9yVGVzdC5kdW1w
UnVsZU1hdGNoZXNBcnJheSA9IGZ1bmN0aW9uKG1hdGNoZXMsIGN1cnJlbnRJbmRlbnQpCit7Cisg
ICAgaWYgKCFtYXRjaGVzKQorICAgICAgICByZXR1cm47CisgICAgY3VycmVudEluZGVudCA9IGN1
cnJlbnRJbmRlbnQgfHwgIiI7CisgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBtYXRjaGVzLmxlbmd0
aDsgKytpKQorICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBSdWxlKG1hdGNoZXNbaV0ucnVsZSwg
Y3VycmVudEluZGVudCk7Cit9CisKK0luc3BlY3RvclRlc3QuZHVtcFJ1bGUgPSBmdW5jdGlvbihy
dWxlLCBjdXJyZW50SW5kZW50KQoreworICAgIGZ1bmN0aW9uIHNlbGVjdG9yUmFuZ2UoKQorICAg
IHsKKyAgICAgICAgaWYgKCFydWxlLnNlbGVjdG9yTGlzdCB8fCAhcnVsZS5zZWxlY3Rvckxpc3Qu
cmFuZ2UpCisgICAgICAgICAgICByZXR1cm4gIiI7CisgICAgICAgIHZhciByYW5nZSA9IHJ1bGUu
c2VsZWN0b3JMaXN0LnJhbmdlOworICAgICAgICByZXR1cm4gIiwgIiArIHJhbmdlLnN0YXJ0TGlu
ZSArICI6IiArIHJhbmdlLnN0YXJ0Q29sdW1uICsgIi0iICsgcmFuZ2UuZW5kTGluZSArICI6IiAr
IHJhbmdlLmVuZENvbHVtbjsKKyAgICB9CisKKyAgICBjdXJyZW50SW5kZW50ID0gY3VycmVudElu
ZGVudCB8fCAiIjsKKworICAgIGlmICghcnVsZS50eXBlIHx8IHJ1bGUudHlwZSA9PT0gInN0eWxl
IikgeworICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdChjdXJyZW50SW5kZW50ICsgcnVs
ZS5zZWxlY3Rvckxpc3QudGV4dCArICI6IFsiICsgcnVsZS5vcmlnaW4gKyBzZWxlY3RvclJhbmdl
KCkgKyAiXSB7Iik7CisgICAgICAgIEluc3BlY3RvclRlc3QuZHVtcFN0eWxlKHJ1bGUuc3R5bGUs
IGN1cnJlbnRJbmRlbnQgKyBpbmRlbnQpOworICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3Vs
dChjdXJyZW50SW5kZW50ICsgIn0iKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGlm
IChydWxlLnR5cGUgPT09ICJtZWRpYSIpIHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1
bHQoY3VycmVudEluZGVudCArICJAbWVkaWEgIiArIHJ1bGUubWVkaWFUZXh0ICsgIiB7Iik7Cisg
ICAgICAgIEluc3BlY3RvclRlc3QuZHVtcFJ1bGVzQXJyYXkocnVsZS5jaGlsZFJ1bGVzLCBjdXJy
ZW50SW5kZW50ICsgaW5kZW50KTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoY3Vy
cmVudEluZGVudCArICJ9Iik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBpZiAocnVs
ZS50eXBlID09PSAiaW1wb3J0IikgeworICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdChj
dXJyZW50SW5kZW50ICsgIkBpbXBvcnQ6IGhlYWRlcj0iICsgSW5zcGVjdG9yVGVzdC5yYW5nZVRl
eHQocnVsZS5oZWFkZXJSYW5nZSkgKyAiLCBib2R5PSIgKyBJbnNwZWN0b3JUZXN0LnJhbmdlVGV4
dChydWxlLmJvZHlSYW5nZSkpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgaWYgKHJ1
bGUudHlwZSA9PT0gInBhZ2UiIHx8IHJ1bGUudHlwZSA9PT0gImZvbnQtZmFjZSIpIHsKKyAgICAg
ICAgaWYgKHJ1bGUudHlwZSA9PT0gInBhZ2UiKQorICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5h
ZGRSZXN1bHQoY3VycmVudEluZGVudCArIHJ1bGUuc2VsZWN0b3JMaXN0LnRleHQgKyAiIHsiKTsK
KyAgICAgICAgZWxzZQorICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoY3VycmVu
dEluZGVudCArICJAIiArIHJ1bGUudHlwZSArICIgIiArIChydWxlLnNlbGVjdG9yTGlzdC50ZXh0
ID8gcnVsZS5zZWxlY3Rvckxpc3QudGV4dCArICIgIiA6ICIiKSAgKyAieyIpOworICAgICAgICBJ
bnNwZWN0b3JUZXN0LmR1bXBTdHlsZShydWxlLnN0eWxlLCBjdXJyZW50SW5kZW50ICsgaW5kZW50
KTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoY3VycmVudEluZGVudCArICJ9Iik7
CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBpZiAocnVsZS50eXBlID09PSAiY2hhcnNl
dCIpIHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIkBjaGFyc2V0Iik7CisgICAg
ICAgIHJldHVybjsKKyAgICB9CisKKyAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdChjdXJyZW50
SW5kZW50ICsgIltVTktOT1dOIFJVTEVdOiBoZWFkZXI9IiArIEluc3BlY3RvclRlc3QucmFuZ2VU
ZXh0KHJ1bGUuaGVhZGVyUmFuZ2UpICsgIiwgYm9keT0iICsgSW5zcGVjdG9yVGVzdC5yYW5nZVRl
eHQocnVsZS5ib2R5UmFuZ2UpKTsKK30KKworSW5zcGVjdG9yVGVzdC5kdW1wU3R5bGUgPSBmdW5j
dGlvbihzdHlsZSwgY3VycmVudEluZGVudCkKK3sKKyAgICBjdXJyZW50SW5kZW50ID0gY3VycmVu
dEluZGVudCB8fCAiIjsKKyAgICBpZiAoIXN0eWxlKSB7CisgICAgICAgIEluc3BlY3RvclRlc3Qu
YWRkUmVzdWx0KGN1cnJlbnRJbmRlbnQgKyAiW05PIFNUWUxFXSIpOworICAgICAgICByZXR1cm47
CisgICAgfQorICAgIGZvciAodmFyIGkgPSAwOyBpIDwgc3R5bGUuY3NzUHJvcGVydGllcy5sZW5n
dGg7ICsraSkgeworICAgICAgICB2YXIgcHJvcGVydHkgPSBzdHlsZS5jc3NQcm9wZXJ0aWVzW2ld
OworICAgICAgICBpZiAocHJvcGVydHkuc3RhdHVzICE9PSAiZGlzYWJsZWQiKQorICAgICAgICAg
ICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoY3VycmVudEluZGVudCArICJbJyIgKyBwcm9wZXJ0
eS5uYW1lICsgIic6JyIgKyBwcm9wZXJ0eS52YWx1ZSArICInIiArIChwcm9wZXJ0eS5wcmlvcml0
eSA9PT0gImltcG9ydGFudCIgPyAiIGlzLWltcG9ydGFudCIgOiAiIikgKyAoKCJwYXJzZWRPayIg
aW4gcHJvcGVydHkpID8gIiBub24tcGFyc2VkIiA6ICIiKSArIl0gQCIgKyBJbnNwZWN0b3JUZXN0
LnJhbmdlVGV4dChwcm9wZXJ0eS5yYW5nZSkgKyAiICIgKyAocHJvcGVydHkuc3RhdHVzIHx8ICJz
dHlsZSIpKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1
bHQoY3VycmVudEluZGVudCArICJbdGV4dD0nIiArIHByb3BlcnR5LnRleHQgKyAiJ10gIiArIHBy
b3BlcnR5LnN0YXR1cyk7CisgICAgfQorfQorCit9OworCitmdW5jdGlvbiBkdW1wSW5zcGVjdG9y
SGlnaGxpZ2h0UmVjdHMoKQoreworICAgIHZhciByZWN0TmFtZXMgPSBbIm1hcmdpbiIsICJib3Jk
ZXIiLCAicGFkZGluZyIsICJjb250ZW50Il07CisgICAgdmFyIHJlY3RzID0gd2luZG93LmludGVy
bmFscy5pbnNwZWN0b3JIaWdobGlnaHRSZWN0cygpOworICAgIGZvciAodmFyIGkgPSAwOyBpIDwg
cmVjdHMubGVuZ3RoOyBpKyspCisgICAgeworICAgICAgICB2YXIgcmVjdE5hbWUgPSAoaSA8IHJl
Y3ROYW1lcy5sZW5ndGggPyByZWN0TmFtZXNbaV0gOiAidW50aXRsZWQiKTsKKyAgICAgICAgdmFy
IHJlY3QgPSByZWN0cy5pdGVtKGkpOworICAgICAgICBvdXRwdXQocmVjdE5hbWUgKyAiIHJlY3Qg
aXMgIiArIHJlY3Qud2lkdGggKyAiIHggIiArIHJlY3QuaGVpZ2h0ICsgIiBhdCAoIiArIHJlY3Qu
bGVmdCArICIsICIgKyByZWN0LnRvcCArICIpIik7CisgICAgfQorfQorCitmdW5jdGlvbiBkdW1w
SW5zcGVjdG9ySGlnaGxpZ2h0ZWRSZWdpb25zKCkKK3sKKyAgICB2YXIgaGlnaGxpZ2h0ID0gd2lu
ZG93LmludGVybmFscy5pbnNwZWN0b3JIaWdobGlnaHRPYmplY3QoKTsKKyAgICBpZiAoIWhpZ2hs
aWdodC5sZW5ndGgpIHsKKyAgICAgICAgb3V0cHV0KCJObyBoaWdobGlnaHRlZCBub2RlLiIpOwor
ICAgICAgICByZXR1cm47CisgICAgfQorICAgIC8vIFJlZm9ybWF0IHRoZSBzdHJpbmcgdXNpbmcg
SlNPTi5zdHJpbmdpZnkuCisgICAgdmFyIGpzb24gPSBKU09OLnBhcnNlKGhpZ2hsaWdodCk7Cisg
ICAgaWYgKCFqc29uLmVsZW1lbnRJbmZvIHx8ICFqc29uLmVsZW1lbnRJbmZvLnJlZ2lvbkZsb3dJ
bmZvKSB7CisgICAgICAgIG91dHB1dCgiTm8gaGlnaGxpZ2h0ZWQgcmVnaW9ucy4iKTsKKyAgICAg
ICAgcmV0dXJuOworICAgIH0KKyAgICBvdXRwdXQoSlNPTi5zdHJpbmdpZnkoanNvbi5lbGVtZW50
SW5mby5yZWdpb25GbG93SW5mbywgbnVsbCwgNCkpOworfQorCitmdW5jdGlvbiBkdW1wSW5zcGVj
dG9ySGlnaGxpZ2h0ZWROb2RlKCkKK3sKKyAgICB2YXIgaGlnaGxpZ2h0ID0gd2luZG93LmludGVy
bmFscy5pbnNwZWN0b3JIaWdobGlnaHRPYmplY3QoKTsKKyAgICBpZiAoIWhpZ2hsaWdodC5sZW5n
dGgpIHsKKyAgICAgICAgb3V0cHV0KCJObyBoaWdobGlnaHRlZCBub2RlLiIpOworICAgICAgICBy
ZXR1cm47CisgICAgfQorICAgIC8vIFJlZm9ybWF0IHRoZSBzdHJpbmcgdXNpbmcgSlNPTi5zdHJp
bmdpZnkuCisgICAgdmFyIGpzb24gPSBKU09OLnBhcnNlKGhpZ2hsaWdodCk7CisgICAgaWYgKCFq
c29uKSB7CisgICAgICAgIG91dHB1dCgiTm8gaGlnaGxpZ2h0ZWQgbm9kZS4iKTsKKyAgICAgICAg
cmV0dXJuOworICAgIH0KKyAgICBvdXRwdXQoSlNPTi5zdHJpbmdpZnkoanNvbiwgbnVsbCwgNCkp
OworfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVz
dHMvZXh0ZW5zaW9ucy1oZWFkZXJzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rv
ci1vYnNvbGV0ZS9odHRwLXRlc3RzL2V4dGVuc2lvbnMtaGVhZGVycy1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uM2U2N2ExNjEzMDUxMTY1MWQwOGZlYWQ2YmVhMzY5YTQ2ZDVlOWJiYQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL2V4
dGVuc2lvbnMtaGVhZGVycy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw5IEBACitUZXN0cyBXZWJJ
bnNwZWN0b3IgZXh0ZW5zaW9uIEFQSQorCitIVFRQX1hfV0VCSU5TUEVDVE9SX0VYVEVOU0lPTjog
dGVzdAorSFRUUF9VU0VSX0FHRU5UOiBNb3ppbGxhLzQuMCAoY29tcGF0aWJsZTsgTVNJRSA3LjBi
OyBXaW5kb3dzIE5UIDYuMCkKK1N0YXJ0ZWQgZXh0ZW5zaW9uLgorUnVubmluZyB0ZXN0cy4uLgor
UlVOTklORyBURVNUOiBleHRlbnNpb25fdGVzdEFkZEhlYWRlcnMKK0FsbCB0ZXN0cyBkb25lLgor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9l
eHRlbnNpb25zLWhlYWRlcnMuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9o
dHRwLXRlc3RzL2V4dGVuc2lvbnMtaGVhZGVycy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZkMmYxMjNlMzc2
YmI4ODhlYjM2Mzk0NmYzZGI3NzkwY2E3MDg2Y2QKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9leHRlbnNpb25zLWhlYWRlcnMuaHRt
bApAQCAtMCwwICsxLDQwIEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Imluc3BlY3Rv
ci10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJleHRlbnNpb25zLXRlc3QuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgorCitmdW5jdGlvbiBleHRl
bnNpb25fdGVzdEFkZEhlYWRlcnMobmV4dFRlc3QpCit7CisgICAgd2ViSW5zcGVjdG9yLm5ldHdv
cmsuYWRkUmVxdWVzdEhlYWRlcnMoeworICAgICAgICAieC13ZWJpbnNwZWN0b3ItZXh0ZW5zaW9u
IjogInRlc3QiLAorICAgICAgICAidXNlci1hZ2VudCI6ICJNb3ppbGxhLzQuMCAoY29tcGF0aWJs
ZTsgTVNJRSA3LjBiOyBXaW5kb3dzIE5UIDYuMCkiCisgICAgfSk7CisgICAgZnVuY3Rpb24gY2xl
YW5VcEhlYWRlcnMoKQorICAgIHsKKyAgICAgICAgd2ViSW5zcGVjdG9yLm5ldHdvcmsuYWRkUmVx
dWVzdEhlYWRlcnMoeworICAgICAgICAgICAgIngtd2ViaW5zcGVjdG9yLWV4dGVuc2lvbiI6IG51
bGwsCisgICAgICAgICAgICAidXNlci1hZ2VudCI6IG51bGwKKyAgICAgICAgfSk7CisgICAgfQor
ICAgIHdlYkluc3BlY3Rvci5pbnNwZWN0ZWRXaW5kb3cuZXZhbCgiZG9YSFIoKSIsIGNhbGxiYWNr
QW5kTmV4dFRlc3QoY2xlYW5VcEhlYWRlcnMsIG5leHRUZXN0KSk7Cit9CisKK2Z1bmN0aW9uIGRv
WEhSKCkKK3sKKyAgICB2YXIgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CisgICAgeGhyLm9w
ZW4oIkdFVCIsICJyZXNvdXJjZXMvZWNoby1oZWFkZXJzLnBocCIsIGZhbHNlKTsKKyAgICB4aHIu
c2VuZChudWxsKTsKKyAgICAvLyBDYW4ndCB1c2Ugb3V0cHV0KCkgaGVyZSBkdWUgdG8gb3V0cHV0
IG9yZGVyIGluc3RhYmlsaXR5OiB0aGlzIGlzIGludm9rZWQgYnkgaW5zcGVjdGVkV2luZG93LmV2
YWwoKSwKKyAgICAvLyB3aGljaCBpcyBub3Qgc2VyaWFsaXplZCBhZ2FpbnN0IG91dHB1dCBmcm9t
IGV4dGVuc2lvbiwgYXMgdGhlIGxhdHRlciBpcyBwb3N0ZWQgYXN5bmNocm9ub3VzbHkgdmlhCisg
ICAgLy8gcG9zdE1lc3NhZ2UgdG8gZnJvbnQtZW5kIHdpbmRvdy4KKyAgICBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiaGVhZGVycyIpLnRleHRDb250ZW50ICs9IHhoci5yZXNwb25zZVRleHQ7Cit9
CisKKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgorPHA+VGVz
dHMgV2ViSW5zcGVjdG9yIGV4dGVuc2lvbiBBUEk8L3A+Cis8ZGl2IHN0eWxlPSJ3aGl0ZS1zcGFj
ZTogcHJlIiBpZD0iaGVhZGVycyI+PC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9leHRlbnNpb25zLWlm
cmFtZS1ldmFsLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9o
dHRwLXRlc3RzL2V4dGVuc2lvbnMtaWZyYW1lLWV2YWwtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmI4NGMzNjBkYzlmZGVlNWFjYzJjOGRlN2IwNGM5NjdmMTNiNThmZjcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9leHRlbnNpb25z
LWlmcmFtZS1ldmFsLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEyIEBACitUZXN0cyBXZWJJbnNw
ZWN0b3IgZXh0ZW5zaW9uIEFQSQorCisKK1N0YXJ0ZWQgZXh0ZW5zaW9uLgorUnVubmluZyB0ZXN0
cy4uLgorUlVOTklORyBURVNUOiBleHRlbnNpb25fdGVzdEV2YWxJbklGcmFtZQorRXZhbHVhdGU6
ICIvaW5zcGVjdG9yL3Jlc291cmNlcy9leHRlbnNpb25zLWZyYW1lLWV2YWwuaHRtbCIgKGV4Y2Vw
dGlvbjogdW5kZWZpbmVkKQorUlVOTklORyBURVNUOiBleHRlbnNpb25fdGVzdEV2YWxJbklGcmFt
ZUJhZE9wdGlvbgorbG9nOiBFeHRlbnNpb24gc2VydmVyIGVycm9yOiBPYmplY3Qgbm90IGZvdW5k
OiBib2d1cworRXZhbHVhdGU6IHVuZGVmaW5lZCAoZXhjZXB0aW9uOiBbb2JqZWN0IE9iamVjdF0p
CitBbGwgdGVzdHMgZG9uZS4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9i
c29sZXRlL2h0dHAtdGVzdHMvZXh0ZW5zaW9ucy1pZnJhbWUtZXZhbC5odG1sIGIvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvZXh0ZW5zaW9ucy1pZnJhbWUtZXZhbC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmNmOTFiMTU2ZTRjMmMyNmEwN2Y2OWE4YTgzZWJjMmI4MjM3MmMzNjkK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10
ZXN0cy9leHRlbnNpb25zLWlmcmFtZS1ldmFsLmh0bWwKQEAgLTAsMCArMSw0MSBAQAorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSJpbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iZXh0ZW5zaW9ucy10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4
dC9qYXZhc2NyaXB0Ij4KKworZnVuY3Rpb24gZXh0ZW5zaW9uX3Rlc3RFdmFsSW5JRnJhbWUobmV4
dFRlc3QpIAoreworICAgIHZhciB1cmwgPSAnaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rv
ci9yZXNvdXJjZXMvZXh0ZW5zaW9ucy1mcmFtZS1ldmFsLmh0bWwnOworICAgIHZhciBvcmlnaW4g
PSAiaHR0cDovLzEyNy4wLjAuMTo4MDAwIgorICAgIHZhciBvcHRpb25zID0geworICAgICAgICBm
cmFtZVVSTDogdXJsCisgICAgfTsKKyAgICB2YXIgbG9jID0gIndpbmRvdy5sb2NhdGlvbi5wYXRo
bmFtZSI7CisgICAgd2ViSW5zcGVjdG9yLmluc3BlY3RlZFdpbmRvdy5ldmFsKGxvYywgb3B0aW9u
cywgY2FsbGJhY2tBbmROZXh0VGVzdChleHRlbnNpb25fb25FdmFsLCBuZXh0VGVzdCkpOworfQor
CitmdW5jdGlvbiBleHRlbnNpb25fdGVzdEV2YWxJbklGcmFtZUJhZE9wdGlvbihuZXh0VGVzdCkg
Cit7CisgICAgdmFyIHVybCA9ICdodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291
cmNlcy9leHRlbnNpb25zLWZyYW1lLWV2YWwuaHRtbCc7CisgICAgdmFyIG9yaWdpbiA9ICJodHRw
Oi8vMTI3LjAuMC4xOjgwMDAiCisgICAgdmFyIG9wdGlvbnMgPSB7CisgICAgICAgIGZyYW1lVVJM
OiB1cmwsCisgICAgICAgIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6ICJib2d1cyIKKyAgICB9Owor
ICAgIHZhciBsb2MgPSAid2luZG93LmxvY2F0aW9uLnBhdGhuYW1lIjsKKyAgICB3ZWJJbnNwZWN0
b3IuaW5zcGVjdGVkV2luZG93LmV2YWwobG9jLCBvcHRpb25zLCBjYWxsYmFja0FuZE5leHRUZXN0
KGV4dGVuc2lvbl9vbkV2YWwsIG5leHRUZXN0KSk7Cit9CisKK2Z1bmN0aW9uIGV4dGVuc2lvbl9v
bkV2YWwodmFsdWUsIGlzRXhjZXB0aW9uKQoreworICAgIG91dHB1dCgiRXZhbHVhdGU6ICIgKyBK
U09OLnN0cmluZ2lmeSh2YWx1ZSkgKyAiIChleGNlcHRpb246ICIgKyBpc0V4Y2VwdGlvbiArICIp
Iik7Cit9CisKKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgor
PHA+VGVzdHMgV2ViSW5zcGVjdG9yIGV4dGVuc2lvbiBBUEk8L3A+Cis8aWZyYW1lIHNyYz0icmVz
b3VyY2VzL2V4dGVuc2lvbnMtZnJhbWUtZXZhbC5odG1sIj48L2lmcmFtZT4KKzwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRl
c3RzL2V4dGVuc2lvbnMtaWdub3JlLWNhY2hlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2lu
c3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL2V4dGVuc2lvbnMtaWdub3JlLWNhY2hlLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi41OWVhMmQwNjgwNzdjZWVkNGQ3ZWZhZWY1NDE3NmZmNjAwZDY4
ZDU1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0
dHAtdGVzdHMvZXh0ZW5zaW9ucy1pZ25vcmUtY2FjaGUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTQgQEAKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxOiBEb25lLgorQ09OU09MRSBNRVNTQUdFOiBs
aW5lIDE6IERvbmUuCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTogRG9uZS4KK1Rlc3RzIGlnbm9y
ZUNhY2hlIGZsYWcgb2YgV2ViSW5zcGVjdG9yLmluc3BlY3RlZFBhZ2UucmVsb2FkKCkKKworU3Rh
cnRlZCBleHRlbnNpb24uCitSdW5uaW5nIHRlc3RzLi4uCitSVU5OSU5HIFRFU1Q6IGV4dGVuc2lv
bl90ZXN0SWdub3JlQ2FjaGUKK1BhZ2UgcmVsb2FkZWQuCitQYWdlIHJlbG9hZGVkLgorYWZ0ZXJO
b3JtYWxSZWxvYWQgPT09IGJlZm9yZVJlbG9hZAorYWZ0ZXJOb3JtYWxSZWxvYWQgIT09IGFmdGVy
UmVsb2FkV2l0aElnbm9yZUNhY2hlCitBbGwgdGVzdHMgZG9uZS4KKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvZXh0ZW5zaW9ucy1pZ25vcmUt
Y2FjaGUuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL2V4
dGVuc2lvbnMtaWdub3JlLWNhY2hlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTQ1Zjc4NzdjMjc0MDEyNzFj
MzQ4YmY5YzQ4ZjUxOGI1N2ViYTNhNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lu
c3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL2V4dGVuc2lvbnMtaWdub3JlLWNhY2hlLmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSJpbnNwZWN0b3It
dGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iZXh0ZW5zaW9ucy10ZXN0LmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSJuZXR3b3JrL3Jlc291cmNlcy9yYW5kb20tc2NyaXB0LnBocCI+
PC9zY3JpcHQ+CisKKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KKworZnVuY3Rpb24g
ZXh0ZW5zaW9uX3Rlc3RJZ25vcmVDYWNoZShuZXh0VGVzdCkKK3sKKyAgICB2YXIgYmVmb3JlUmVs
b2FkOworICAgIHZhciBhZnRlclJlbG9hZFdpdGhJZ25vcmVDYWNoZTsKKyAgICB2YXIgYWZ0ZXJO
b3JtYWxSZWxvYWQ7CisKKyAgICBmdW5jdGlvbiBvbk5vcm1hbFJlbG9hZCgpCisgICAgeworICAg
ICAgICB3ZWJJbnNwZWN0b3IuaW5zcGVjdGVkV2luZG93LmV2YWwoInJhbmRvbVZhbHVlIiwgZnVu
Y3Rpb24odmFsdWUpIHsKKyAgICAgICAgICAgIGFmdGVyTm9ybWFsUmVsb2FkID0gdmFsdWU7Cisg
ICAgICAgICAgICBldmFsdWF0ZU9uRnJvbnRlbmQoIkluc3BlY3RvclRlc3QucnVuV2hlblBhZ2VM
b2FkcyhyZXBseSkiLCBvblJlbG9hZFdpdGhJZ25vcmVDYWNoZSk7CisgICAgICAgICAgICB3ZWJJ
bnNwZWN0b3IuaW5zcGVjdGVkV2luZG93LnJlbG9hZCh7IGlnbm9yZUNhY2hlOiB0cnVlIH0pOwor
ICAgICAgICB9KTsKKyAgICB9OworCisgICAgZnVuY3Rpb24gb25SZWxvYWRXaXRoSWdub3JlQ2Fj
aGUoKQorICAgIHsKKyAgICAgICAgd2ViSW5zcGVjdG9yLmluc3BlY3RlZFdpbmRvdy5ldmFsKCJy
YW5kb21WYWx1ZSIsIGZ1bmN0aW9uKHZhbHVlKSB7CisgICAgICAgICAgICBhZnRlclJlbG9hZFdp
dGhJZ25vcmVDYWNoZSA9IHZhbHVlOworICAgICAgICAgICAgb3V0cHV0KCJhZnRlck5vcm1hbFJl
bG9hZCAiICsgKGFmdGVyTm9ybWFsUmVsb2FkID09PSBiZWZvcmVSZWxvYWQgPyAiPT09IiA6ICIh
PT0iICkgKyAiIGJlZm9yZVJlbG9hZCIpOworICAgICAgICAgICAgb3V0cHV0KCJhZnRlck5vcm1h
bFJlbG9hZCAiICsgKGFmdGVyTm9ybWFsUmVsb2FkID09PSBhZnRlclJlbG9hZFdpdGhJZ25vcmVD
YWNoZSA/ICI9PT0iIDogIiE9PSIgKSArICIgYWZ0ZXJSZWxvYWRXaXRoSWdub3JlQ2FjaGUiKTsK
KyAgICAgICAgICAgIG5leHRUZXN0KCk7CisgICAgICAgIH0pOworICAgIH0KKworICAgIHdlYklu
c3BlY3Rvci5pbnNwZWN0ZWRXaW5kb3cuZXZhbCgicmFuZG9tVmFsdWUiLCBmdW5jdGlvbih2YWx1
ZSkgeworICAgICAgICBiZWZvcmVSZWxvYWQgPSB2YWx1ZTsKKyAgICAgICAgZXZhbHVhdGVPbkZy
b250ZW5kKCJJbnNwZWN0b3JUZXN0LnJ1bldoZW5QYWdlTG9hZHMocmVwbHkpIiwgb25Ob3JtYWxS
ZWxvYWQpOworICAgICAgICB3ZWJJbnNwZWN0b3IuaW5zcGVjdGVkV2luZG93LnJlbG9hZCgpOwor
ICAgIH0pOworfQorCis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0icnVuVGVzdCgp
Ij4KKzxwPlRlc3RzIGlnbm9yZUNhY2hlIGZsYWcgb2YgV2ViSW5zcGVjdG9yLmluc3BlY3RlZFBh
Z2UucmVsb2FkKCk8L3A+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9leHRlbnNpb25zLW5ldHdvcmstcmVkaXJl
Y3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVz
dHMvZXh0ZW5zaW9ucy1uZXR3b3JrLXJlZGlyZWN0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41
YzE0NGExZjI1NTJkY2Q1NGQ5MjFmOGU2OTFkNjBhNmMyNGEwYTRjCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvZXh0ZW5zaW9ucy1u
ZXR3b3JrLXJlZGlyZWN0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDIyIEBACitUZXN0cyBXZWJJ
bnNwZWN0b3IgZXh0ZW5zaW9uIEFQSSByZXR1cm5zIHZhbGlkIGRhdGEgZm9yIHJlZGlyZWN0ZWQg
cmVzb3VyY2VzCisKK1BhZ2UgcmVsb2FkZWQuCitTdGFydGVkIGV4dGVuc2lvbi4KK1J1bm5pbmcg
dGVzdHMuLi4KK1JVTk5JTkcgVEVTVDogZXh0ZW5zaW9uX3Rlc3RHZXRSZWRpcmVjdFJlcXVlc3RD
b250ZW50Citjb250ZW50OiBudWxsLCBlbmNvZGluZzogCitSVU5OSU5HIFRFU1Q6IGV4dGVuc2lv
bl90ZXN0UmVkaXJlY3RSZXF1ZXN0RmluaXNoZWQKK0ZpbmlzaGVkIHJlcXVlc3Q6IGh0dHA6Ly8x
MjcuMC4wLjE6ODAwMC9sb2FkaW5nL3Jlc291cmNlcy9yZWRpcmVjdC1tZXRob2RzLXJlc3VsdC5w
aHA/c3RhdHVzPTMwMgorRmluaXNoZWQgcmVxdWVzdDogaHR0cDovLzEyNy4wLjAuMTo4MDAwL2xv
YWRpbmcvcmVzb3VyY2VzL3JlZGlyZWN0LW1ldGhvZHMtcmVzdWx0LnBocD9yZWRpcmVjdGVkPXRy
dWUKK1JVTk5JTkcgVEVTVDogZXh0ZW5zaW9uX3Rlc3RSZWRpcmVjdFJlcXVlc3RJbkhBUgorUmVx
dWVzdHMgaW4gSEFSOgoraHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9leHRlbnNpb25z
LW5ldHdvcmstcmVkaXJlY3QuaHRtbAoraHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9l
eHRlbnNpb25zLW5ldHdvcmstdGVzdC5qcworaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rv
ci9leHRlbnNpb25zLXRlc3QuanMKK2h0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvaW5z
cGVjdG9yLXRlc3QuanMKK2h0dHA6Ly8xMjcuMC4wLjE6ODAwMC9sb2FkaW5nL3Jlc291cmNlcy9y
ZWRpcmVjdC1tZXRob2RzLXJlc3VsdC5waHA/cmVkaXJlY3RlZD10cnVlCitodHRwOi8vMTI3LjAu
MC4xOjgwMDAvbG9hZGluZy9yZXNvdXJjZXMvcmVkaXJlY3QtbWV0aG9kcy1yZXN1bHQucGhwP3Jl
ZGlyZWN0ZWQ9dHJ1ZQoraHR0cDovLzEyNy4wLjAuMTo4MDAwL2xvYWRpbmcvcmVzb3VyY2VzL3Jl
ZGlyZWN0LW1ldGhvZHMtcmVzdWx0LnBocD9zdGF0dXM9MzAyCitodHRwOi8vMTI3LjAuMC4xOjgw
MDAvbG9hZGluZy9yZXNvdXJjZXMvcmVkaXJlY3QtbWV0aG9kcy1yZXN1bHQucGhwP3N0YXR1cz0z
MDIKK0FsbCB0ZXN0cyBkb25lLgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3It
b2Jzb2xldGUvaHR0cC10ZXN0cy9leHRlbnNpb25zLW5ldHdvcmstcmVkaXJlY3QuaHRtbCBiL0xh
eW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL2V4dGVuc2lvbnMtbmV0d29y
ay1yZWRpcmVjdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ0ZWRjYWM2OGM5OTM0MzNiNmE5YTBiZDdhNzQx
NmQyY2Q0YTNmYjcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jz
b2xldGUvaHR0cC10ZXN0cy9leHRlbnNpb25zLW5ldHdvcmstcmVkaXJlY3QuaHRtbApAQCAtMCww
ICsxLDEwMyBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSJpbnNwZWN0b3ItdGVzdC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iZXh0ZW5zaW9ucy1uZXR3b3JrLXRlc3QuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9ImV4dGVuc2lvbnMtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CisKK2Z1bmN0aW9uIGV4dGVuc2lvbl9kb1JlcXVl
c3QoZm9yY2UsIGNhbGxiYWNrKQoreworICAgIGZ1bmN0aW9uIGNhbGxiYWNrV3JhcHBlcihyZXF1
ZXN0KQorICAgIHsKKyAgICAgICAgdmFyIGxhc3RDYWxsYmFjayA9ICFyZXF1ZXN0IHx8IC9cP3Jl
ZGlyZWN0ZWQ9dHJ1ZSQvLnRlc3QocmVxdWVzdC5yZXF1ZXN0LnVybCk7CisgICAgICAgIGlmIChs
YXN0Q2FsbGJhY2spCisgICAgICAgICAgICB3ZWJJbnNwZWN0b3IubmV0d29yay5vblJlcXVlc3RG
aW5pc2hlZC5yZW1vdmVMaXN0ZW5lcihjYWxsYmFja1dyYXBwZXIpOworICAgICAgICBjYWxsYmFj
ayhyZXF1ZXN0LCBsYXN0Q2FsbGJhY2spOworICAgIH0KKyAgICB3ZWJJbnNwZWN0b3IubmV0d29y
ay5vblJlcXVlc3RGaW5pc2hlZC5hZGRMaXN0ZW5lcihjYWxsYmFja1dyYXBwZXIpOworICAgIHdl
Ykluc3BlY3Rvci5pbnNwZWN0ZWRXaW5kb3cuZXZhbCgiZG9SZXF1ZXN0KCIgKyBmb3JjZSArICIp
IiwgZnVuY3Rpb24ocmVzdWx0KSB7CisgICAgICAgIGlmIChyZXN1bHQpCisgICAgICAgICAgICBj
YWxsYmFja1dyYXBwZXIobnVsbCk7CisgICAgfSk7Cit9CisKK2Z1bmN0aW9uIGV4dGVuc2lvbl90
ZXN0R2V0UmVkaXJlY3RSZXF1ZXN0Q29udGVudChuZXh0VGVzdCkKK3sKKyAgICBmdW5jdGlvbiBv
blJlcXVlc3RGaW5pc2hlZChyZXF1ZXN0LCBsYXN0Q2FsbGJhY2spCisgICAgeworICAgICAgICBp
ZiAoIWxhc3RDYWxsYmFjaykKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgZXh0ZW5zaW9u
X2dldFJlcXVlc3RCeVVybChbIC9yZWRpcmVjdC1tZXRob2RzLXJlc3VsdC5waHBcP3N0YXR1cz0z
MDIkLyBdLCBmdW5jdGlvbihyZXF1ZXN0KSB7CisgICAgICAgICAgICByZXF1ZXN0LmdldENvbnRl
bnQob25Db250ZW50KTsKKyAgICAgICAgfSk7CisgICAgfQorICAgIGZ1bmN0aW9uIG9uQ29udGVu
dChjb250ZW50LCBlbmNvZGluZykKKyAgICB7CisgICAgICAgIG91dHB1dCgiY29udGVudDogIiAr
IGNvbnRlbnQgKyAiLCBlbmNvZGluZzogIiArIGVuY29kaW5nKTsKKyAgICAgICAgbmV4dFRlc3Qo
KTsKKyAgICB9CisgICAgZXh0ZW5zaW9uX2RvUmVxdWVzdChmYWxzZSwgb25SZXF1ZXN0RmluaXNo
ZWQpOworfQorCitmdW5jdGlvbiBleHRlbnNpb25fdGVzdFJlZGlyZWN0UmVxdWVzdEluSEFSKG5l
eHRUZXN0KQoreworICAgIGZ1bmN0aW9uIG9uUmVxdWVzdEZpbmlzaGVkKHJlc291cmNlLCBsYXN0
Q2FsbGJhY2spCisgICAgeworICAgICAgICBpZiAobGFzdENhbGxiYWNrKQorICAgICAgICAgICAg
d2ViSW5zcGVjdG9yLm5ldHdvcmsuZ2V0SEFSKG9uSEFSKTsKKyAgICB9CisgICAgZnVuY3Rpb24g
b25IQVIoaGFyKQorICAgIHsKKyAgICAgICAgdmFyIGVudHJpZXMgPSBoYXIuZW50cmllczsKKyAg
ICAgICAgdmFyIHVybHMgPSBbXTsKKyAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBlbnRyaWVz
Lmxlbmd0aDsgKytpKSB7CisgICAgICAgICAgICB2YXIgdXJsID0gZW50cmllc1tpXS5yZXF1ZXN0
LnVybDsKKyAgICAgICAgICAgIC8vIFdvcmthcm91bmQgZm9yIEdUSyBEUlQgdGhhdCByZXF1ZXN0
cyBmYXZpY29uLmljbyBhbG9uZyB3aXRoIHRoZSBwYWdlLgorICAgICAgICAgICAgaWYgKCEvXC9m
YXZpY29uXC5pY28kLy50ZXN0KHVybCkpCisgICAgICAgICAgICAgICAgdXJscy5wdXNoKHVybCk7
CisgICAgICAgIH0KKyAgICAgICAgdXJscy5zb3J0KCk7CisgICAgICAgIG91dHB1dCgiUmVxdWVz
dHMgaW4gSEFSOlxuIiArIHVybHMuam9pbigiXG4iKSk7CisgICAgICAgIG5leHRUZXN0KCk7Cisg
ICAgfQorICAgIGV4dGVuc2lvbl9kb1JlcXVlc3QoZmFsc2UsIG9uUmVxdWVzdEZpbmlzaGVkKTsK
K30KKworZnVuY3Rpb24gZXh0ZW5zaW9uX3Rlc3RSZWRpcmVjdFJlcXVlc3RGaW5pc2hlZChuZXh0
VGVzdCkKK3sKKyAgICBmdW5jdGlvbiBvblJlcXVlc3RGaW5pc2hlZChyZXF1ZXN0LCBsYXN0Q2Fs
bGJhY2spCisgICAgeworICAgICAgICBvdXRwdXQoIkZpbmlzaGVkIHJlcXVlc3Q6ICIgKyByZXF1
ZXN0LnJlcXVlc3QudXJsKTsKKyAgICAgICAgaWYgKGxhc3RDYWxsYmFjaykKKyAgICAgICAgICAg
IG5leHRUZXN0KCk7CisgICAgfQorICAgIGV4dGVuc2lvbl9kb1JlcXVlc3QodHJ1ZSwgb25SZXF1
ZXN0RmluaXNoZWQpOworfQorCit2YXIgcmVxdWVzdERvbmUgPSBmYWxzZTsKKworZnVuY3Rpb24g
ZG9SZXF1ZXN0KGZvcmNlKQoreworICAgIC8vIE9ubHkgZG8gcmVxdWVzdCBvbmNlIHBlciB0ZXN0
IHN1aXRlLCB0byBtYWtlIHRlc3RzIGluZGVwZW5kZW50IG9uIGVhY2ggb3RoZXIuCisgICAgLy8g
UmV0dXJucyB0cnVlIGlmZiByZXF1ZXN0IGlzIGFscmVkeSBkb25lIChzbyB0aGUgY2FsbGVyIHNo
b3VsZG4ndCB3YWl0IGZvciBvbkZpbmlzaGVkKS4KKyAgICBpZiAocmVxdWVzdERvbmUgJiYgIWZv
cmNlKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICByZXF1ZXN0RG9uZSA9IHRydWU7CisgICAg
Ly8gV2UgY2FuJ3QgdXNlIFhIUiBoZXJlIC0tIHRoZSBjb250ZW50IGZvciBYSFJzIGlzIHB1c2hl
ZCBmcm9tIGJhY2stZW5kLgorICAgIHZhciBpZnJhbWUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJpZnJhbWUiKTsKKyAgICBpZnJhbWUuc3JjID0gIi9sb2FkaW5nL3Jlc291cmNlcy9yZWRpcmVj
dC1tZXRob2RzLXJlc3VsdC5waHA/c3RhdHVzPTMwMiI7CisgICAgZG9jdW1lbnQuYm9keS5hcHBl
bmRDaGlsZChpZnJhbWUpOworICAgIHJldHVybiBmYWxzZTsKK30KKwordmFyIHRlc3QgPSBmdW5j
dGlvbigpCit7CisgICAgSW5zcGVjdG9yVGVzdC5yZWxvYWRQYWdlKEluc3BlY3RvclRlc3QucnVu
RXh0ZW5zaW9uVGVzdHMpOworfQorCis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0i
cnVuVGVzdCgpIj4KKzxwPlRlc3RzIFdlYkluc3BlY3RvciBleHRlbnNpb24gQVBJIHJldHVybnMg
dmFsaWQgZGF0YSBmb3IgcmVkaXJlY3RlZCByZXNvdXJjZXM8L3A+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9l
eHRlbnNpb25zLW5ldHdvcmstdGVzdC5qcyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0
ZS9odHRwLXRlc3RzL2V4dGVuc2lvbnMtbmV0d29yay10ZXN0LmpzCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE1ZGMy
M2RkNjU1YWIyOGJiNWRmM2MzYWFmMDI1Y2NmMWI2YWUyNzUKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9leHRlbnNpb25zLW5ldHdv
cmstdGVzdC5qcwpAQCAtMCwwICsxLDE2IEBACitmdW5jdGlvbiBleHRlbnNpb25fZ2V0UmVxdWVz
dEJ5VXJsKHVybHMsIGNhbGxiYWNrKQoreworICAgIGZ1bmN0aW9uIG9uSEFSKHJlc3BvbnNlKQor
ICAgIHsKKyAgICAgICAgdmFyIGVudHJpZXMgPSByZXNwb25zZS5lbnRyaWVzOworICAgICAgICBm
b3IgKHZhciBpID0gMDsgaSA8IGVudHJpZXMubGVuZ3RoOyArK2kpIHsKKyAgICAgICAgICAgIGZv
ciAodmFyIHVybCA9IDA7IHVybCA8IHVybHMubGVuZ3RoOyArK3VybCkgeworICAgICAgICAgICAg
ICAgIGlmICh1cmxzW3VybF0udGVzdChlbnRyaWVzW2ldLnJlcXVlc3QudXJsKSkgeworICAgICAg
ICAgICAgICAgICAgICBjYWxsYmFjayhlbnRyaWVzW2ldKTsKKyAgICAgICAgICAgICAgICAgICAg
cmV0dXJuOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAg
IH0KKyAgICB3ZWJJbnNwZWN0b3IubmV0d29yay5nZXRIQVIob25IQVIpOworfQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvZXh0ZW5zaW9ucy10
ZXN0LmpzIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvZXh0ZW5z
aW9ucy10ZXN0LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjlhZjFkYmFjOTBjNDc1MzQyZGZmNGJmYzlhNDU1YzYz
NjQzNTUyOTIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xl
dGUvaHR0cC10ZXN0cy9leHRlbnNpb25zLXRlc3QuanMKQEAgLTAsMCArMSw3NCBAQAorZnVuY3Rp
b24gZXh0ZW5zaW9uRnVuY3Rpb25zKCkKK3sKKyAgICB2YXIgZnVuY3Rpb25zID0gIiI7CisKKyAg
ICBmb3IgKHN5bWJvbCBpbiB3aW5kb3cpIHsKKyAgICAgICAgaWYgKC9eZXh0ZW5zaW9uXy8uZXhl
YyhzeW1ib2wpICYmIHR5cGVvZiB3aW5kb3dbc3ltYm9sXSA9PT0gImZ1bmN0aW9uIikKKyAgICAg
ICAgICAgIGZ1bmN0aW9ucyArPSB3aW5kb3dbc3ltYm9sXS50b1N0cmluZygpOworICAgIH0KKyAg
ICByZXR1cm4gZnVuY3Rpb25zOworfQorCit2YXIgaW5pdGlhbGl6ZV9FeHRlbnNpb25zVGVzdCA9
IGZ1bmN0aW9uKCkKK3sKKword2luZG93LmJ1aWxkUGxhdGZvcm1FeHRlbnNpb25BUEkgPSBmdW5j
dGlvbihleHRlbnNpb25JbmZvKQoreworICAgIGZ1bmN0aW9uIHBsYXRmb3JtRXh0ZW5zaW9uQVBJ
KGNvcmVBUEkpCisgICAgeworICAgICAgICB3aW5kb3cud2ViSW5zcGVjdG9yID0gY29yZUFQSTsK
KyAgICAgICAgd2luZG93Ll9leHRlbnNpb25TZXJ2ZXJGb3JUZXN0cyA9IGV4dGVuc2lvblNlcnZl
cjsKKyAgICB9CisgICAgcmV0dXJuIHBsYXRmb3JtRXh0ZW5zaW9uQVBJLnRvU3RyaW5nKCk7Cit9
CisKK0luc3BlY3RvclRlc3QuX3JlcGx5VG9FeHRlbnNpb24gPSBmdW5jdGlvbihyZXF1ZXN0SWQs
IHBvcnQpCit7CisgICAgV2ViSW5zcGVjdG9yLmV4dGVuc2lvblNlcnZlci5fZGlzcGF0Y2hDYWxs
YmFjayhyZXF1ZXN0SWQsIHBvcnQpOworfQorCitmdW5jdGlvbiBvbkV2YWx1YXRlKG1lc3NhZ2Us
IHBvcnQpCit7CisgICAgdmFyIHJlcGx5ID0gV2ViSW5zcGVjdG9yLmV4dGVuc2lvblNlcnZlci5f
ZGlzcGF0Y2hDYWxsYmFjay5iaW5kKFdlYkluc3BlY3Rvci5leHRlbnNpb25TZXJ2ZXIsIG1lc3Nh
Z2UucmVxdWVzdElkLCBwb3J0KTsKKyAgICB0cnkgeworICAgICAgICBldmFsKG1lc3NhZ2UuZXhw
cmVzc2lvbik7CisgICAgfSBjYXRjaCAoZSkgeworICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJl
c3VsdCgiRXhjZXB0aW9uIHdoaWxlIHJ1bm5pbmc6ICIgKyBtZXNzYWdlLmV4cHJlc3Npb24gKyAi
XG4iICsgKGUuc3RhY2sgfHwgZSkpOworICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVz
dCgpOworICAgIH0KK30KKworV2ViSW5zcGVjdG9yLmV4dGVuc2lvblNlcnZlci5fcmVnaXN0ZXJI
YW5kbGVyKCJldmFsdWF0ZUZvclRlc3RJbkZyb250RW5kIiwgb25FdmFsdWF0ZSk7CisKK0luc3Bl
Y3RvclRlc3Quc2hvd1BhbmVsID0gZnVuY3Rpb24ocGFuZWxJZCkKK3sKKyAgICBpZiAocGFuZWxJ
ZCA9PT0gImV4dGVuc2lvbiIpCisgICAgICAgIHBhbmVsSWQgPSBXZWJJbnNwZWN0b3IuaW5zcGVj
dG9yVmlldy5fcGFuZWxPcmRlcltXZWJJbnNwZWN0b3IuaW5zcGVjdG9yVmlldy5fcGFuZWxPcmRl
ci5sZW5ndGggLSAxXTsKKyAgICBXZWJJbnNwZWN0b3Iuc2hvd1BhbmVsKHBhbmVsSWQpOworfQor
CitJbnNwZWN0b3JUZXN0LnJ1bkV4dGVuc2lvblRlc3RzID0gZnVuY3Rpb24oKQoreworICAgIFJ1
bnRpbWVBZ2VudC5ldmFsdWF0ZSgibG9jYXRpb24uaHJlZiIsICJjb25zb2xlIiwgZmFsc2UsIGZ1
bmN0aW9uKGVycm9yLCByZXN1bHQpIHsKKyAgICAgICAgaWYgKGVycm9yKQorICAgICAgICAgICAg
cmV0dXJuOworICAgICAgICB2YXIgcGFnZVVSTCA9IHJlc3VsdC52YWx1ZTsKKyAgICAgICAgdmFy
IGV4dGVuc2lvblVSTCA9ICgvXmh0dHBzPzovLnRlc3QocGFnZVVSTCkgPworICAgICAgICAgICAg
cGFnZVVSTC5yZXBsYWNlKC9eKGh0dHBzPzpcL1wvW14vXSpcLykuKiQvLCIkMSIpIDoKKyAgICAg
ICAgICAgIHBhZ2VVUkwucmVwbGFjZSgvXC9pbnNwZWN0b3JcL2V4dGVuc2lvbnNcL1teL10qJC8s
ICIvaHR0cC90ZXN0cyIpKSArCisgICAgICAgICAgICAiL2luc3BlY3Rvci9yZXNvdXJjZXMvZXh0
ZW5zaW9uLW1haW4uaHRtbCI7CisgICAgICAgIFdlYkluc3BlY3Rvci5hZGRFeHRlbnNpb25zKFt7
IHN0YXJ0UGFnZTogZXh0ZW5zaW9uVVJMLCBuYW1lOiAidGVzdCBleHRlbnNpb24iLCBleHBvc2VX
ZWJJbnNwZWN0b3JOYW1lc3BhY2U6IHRydWUgfV0pOworICAgIH0pOworfQorCit9CisKK2Z1bmN0
aW9uIGV4dGVuc2lvbl9zaG93UGFuZWwocGFuZWxJZCwgY2FsbGJhY2spCit7CisgICAgZXZhbHVh
dGVPbkZyb250ZW5kKCJJbnNwZWN0b3JUZXN0LnNob3dQYW5lbCh1bmVzY2FwZSgnIiArIGVzY2Fw
ZShwYW5lbElkKSArICInKSk7IHJlcGx5KCk7IiwgY2FsbGJhY2spOworfQorCit2YXIgdGVzdCA9
IGZ1bmN0aW9uKCkKK3sKKyAgICBJbnNwZWN0b3JUZXN0LnJ1bkV4dGVuc2lvblRlc3RzKCk7Cit9
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9p
bmRleGVkZGIvZGF0YWJhc2UtZGF0YS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0
b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9pbmRleGVkZGIvZGF0YWJhc2UtZGF0YS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uM2U5ZDg5YjQ5NTc0NWI4ZDMwODIzYjY3YWQyYmVlNGJiM2I2OTIzOAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRl
c3RzL2luZGV4ZWRkYi9kYXRhYmFzZS1kYXRhLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDY3IEBA
CitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTA4OiBJbnNwZWN0b3JUZXN0LkluZGV4ZWREQl9jYWxs
YmFjazEKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxMDg6IEluc3BlY3RvclRlc3QuSW5kZXhlZERC
X2NhbGxiYWNrMgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDEwODogSW5zcGVjdG9yVGVzdC5JbmRl
eGVkREJfY2FsbGJhY2szCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTA4OiBJbnNwZWN0b3JUZXN0
LkluZGV4ZWREQl9jYWxsYmFjazQKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxMDg6IEluc3BlY3Rv
clRlc3QuSW5kZXhlZERCX2NhbGxiYWNrNQorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDEwODogSW5z
cGVjdG9yVGVzdC5JbmRleGVkREJfY2FsbGJhY2s2CitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTA4
OiBJbnNwZWN0b3JUZXN0LkluZGV4ZWREQl9jYWxsYmFjazcKK0NPTlNPTEUgTUVTU0FHRTogbGlu
ZSAxMDg6IEluc3BlY3RvclRlc3QuSW5kZXhlZERCX2NhbGxiYWNrOAorQ09OU09MRSBNRVNTQUdF
OiBsaW5lIDEwODogSW5zcGVjdG9yVGVzdC5JbmRleGVkREJfY2FsbGJhY2s5CitDT05TT0xFIE1F
U1NBR0U6IGxpbmUgMTA4OiBJbnNwZWN0b3JUZXN0LkluZGV4ZWREQl9jYWxsYmFjazEwCitDT05T
T0xFIE1FU1NBR0U6IGxpbmUgMTA4OiBJbnNwZWN0b3JUZXN0LkluZGV4ZWREQl9jYWxsYmFjazEx
CitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTA4OiBJbnNwZWN0b3JUZXN0LkluZGV4ZWREQl9jYWxs
YmFjazEyCitUZXN0cyB0aGF0IGRhdGEgaXMgY29ycmVjdGx5IGxvYWRlZCBieSBJbmRleGVkREJN
b2RlbCBmcm9tIEluZGV4ZWREQiBvYmplY3Qgc3RvcmUgYW5kIGluZGV4LgorCitEdW1waW5nIHZh
bHVlcywgZnJvbUluZGV4ID0gZmFsc2UsIHNraXBDb3VudCA9IDAsIHBhZ2VTaXplID0gMiwgaWRi
S2V5UmFuZ2UgPSBudWxsCisgICAgS2V5ID0ga2V5XzAxLCBwcmltYXJ5S2V5ID0ga2V5XzAxLCB2
YWx1ZSA9IHsia2V5Ijoia2V5XzAxIiwidmFsdWUiOiJ2YWx1ZV8wMSJ9CisgICAgS2V5ID0ga2V5
XzAyLCBwcmltYXJ5S2V5ID0ga2V5XzAyLCB2YWx1ZSA9IHsia2V5Ijoia2V5XzAyIiwidmFsdWUi
OiJ2YWx1ZV8wMiJ9CisgICAgaGFzTW9yZSA9IHRydWUKK0R1bXBpbmcgdmFsdWVzLCBmcm9tSW5k
ZXggPSBmYWxzZSwgc2tpcENvdW50ID0gMiwgcGFnZVNpemUgPSAyLCBpZGJLZXlSYW5nZSA9IG51
bGwKKyAgICBLZXkgPSBrZXlfMDMsIHByaW1hcnlLZXkgPSBrZXlfMDMsIHZhbHVlID0geyJrZXki
OiJrZXlfMDMiLCJ2YWx1ZSI6InZhbHVlXzAzIn0KKyAgICBLZXkgPSBrZXlfMDQsIHByaW1hcnlL
ZXkgPSBrZXlfMDQsIHZhbHVlID0geyJrZXkiOiJrZXlfMDQiLCJ2YWx1ZSI6InZhbHVlXzA0In0K
KyAgICBoYXNNb3JlID0gdHJ1ZQorRHVtcGluZyB2YWx1ZXMsIGZyb21JbmRleCA9IGZhbHNlLCBz
a2lwQ291bnQgPSA0LCBwYWdlU2l6ZSA9IDIsIGlkYktleVJhbmdlID0gbnVsbAorICAgIEtleSA9
IGtleV8wNSwgcHJpbWFyeUtleSA9IGtleV8wNSwgdmFsdWUgPSB7ImtleSI6ImtleV8wNSIsInZh
bHVlIjoidmFsdWVfMDUifQorICAgIEtleSA9IGtleV8wNiwgcHJpbWFyeUtleSA9IGtleV8wNiwg
dmFsdWUgPSB7ImtleSI6ImtleV8wNiIsInZhbHVlIjoidmFsdWVfMDYifQorICAgIGhhc01vcmUg
PSBmYWxzZQorRHVtcGluZyB2YWx1ZXMsIGZyb21JbmRleCA9IGZhbHNlLCBza2lwQ291bnQgPSA1
LCBwYWdlU2l6ZSA9IDIsIGlkYktleVJhbmdlID0gbnVsbAorICAgIEtleSA9IGtleV8wNiwgcHJp
bWFyeUtleSA9IGtleV8wNiwgdmFsdWUgPSB7ImtleSI6ImtleV8wNiIsInZhbHVlIjoidmFsdWVf
MDYifQorICAgIGhhc01vcmUgPSBmYWxzZQorRHVtcGluZyB2YWx1ZXMsIGZyb21JbmRleCA9IGZh
bHNlLCBza2lwQ291bnQgPSA2LCBwYWdlU2l6ZSA9IDIsIGlkYktleVJhbmdlID0gbnVsbAorICAg
IGhhc01vcmUgPSBmYWxzZQorRHVtcGluZyB2YWx1ZXMsIGZyb21JbmRleCA9IGZhbHNlLCBza2lw
Q291bnQgPSA3LCBwYWdlU2l6ZSA9IDIsIGlkYktleVJhbmdlID0gbnVsbAorICAgIGhhc01vcmUg
PSBmYWxzZQorRHVtcGluZyB2YWx1ZXMsIGZyb21JbmRleCA9IGZhbHNlLCBza2lwQ291bnQgPSAw
LCBwYWdlU2l6ZSA9IDIsIGlkYktleVJhbmdlID0ge2xvd2VyOiJrZXlfMDIiLGxvd2VyT3Blbjp0
cnVlLHVwcGVyOiJrZXlfMDUiLHVwcGVyT3BlbjpmYWxzZX0KKyAgICBLZXkgPSBrZXlfMDMsIHBy
aW1hcnlLZXkgPSBrZXlfMDMsIHZhbHVlID0geyJrZXkiOiJrZXlfMDMiLCJ2YWx1ZSI6InZhbHVl
XzAzIn0KKyAgICBLZXkgPSBrZXlfMDQsIHByaW1hcnlLZXkgPSBrZXlfMDQsIHZhbHVlID0geyJr
ZXkiOiJrZXlfMDQiLCJ2YWx1ZSI6InZhbHVlXzA0In0KKyAgICBoYXNNb3JlID0gdHJ1ZQorRHVt
cGluZyB2YWx1ZXMsIGZyb21JbmRleCA9IGZhbHNlLCBza2lwQ291bnQgPSAwLCBwYWdlU2l6ZSA9
IDMsIGlkYktleVJhbmdlID0ge2xvd2VyOiJrZXlfMDIiLGxvd2VyT3Blbjp0cnVlLHVwcGVyOiJr
ZXlfMDUiLHVwcGVyT3BlbjpmYWxzZX0KKyAgICBLZXkgPSBrZXlfMDMsIHByaW1hcnlLZXkgPSBr
ZXlfMDMsIHZhbHVlID0geyJrZXkiOiJrZXlfMDMiLCJ2YWx1ZSI6InZhbHVlXzAzIn0KKyAgICBL
ZXkgPSBrZXlfMDQsIHByaW1hcnlLZXkgPSBrZXlfMDQsIHZhbHVlID0geyJrZXkiOiJrZXlfMDQi
LCJ2YWx1ZSI6InZhbHVlXzA0In0KKyAgICBLZXkgPSBrZXlfMDUsIHByaW1hcnlLZXkgPSBrZXlf
MDUsIHZhbHVlID0geyJrZXkiOiJrZXlfMDUiLCJ2YWx1ZSI6InZhbHVlXzA1In0KKyAgICBoYXNN
b3JlID0gZmFsc2UKK0R1bXBpbmcgdmFsdWVzLCBmcm9tSW5kZXggPSBmYWxzZSwgc2tpcENvdW50
ID0gMCwgcGFnZVNpemUgPSA0LCBpZGJLZXlSYW5nZSA9IHtsb3dlcjoia2V5XzAyIixsb3dlck9w
ZW46dHJ1ZSx1cHBlcjoia2V5XzA1Iix1cHBlck9wZW46ZmFsc2V9CisgICAgS2V5ID0ga2V5XzAz
LCBwcmltYXJ5S2V5ID0ga2V5XzAzLCB2YWx1ZSA9IHsia2V5Ijoia2V5XzAzIiwidmFsdWUiOiJ2
YWx1ZV8wMyJ9CisgICAgS2V5ID0ga2V5XzA0LCBwcmltYXJ5S2V5ID0ga2V5XzA0LCB2YWx1ZSA9
IHsia2V5Ijoia2V5XzA0IiwidmFsdWUiOiJ2YWx1ZV8wNCJ9CisgICAgS2V5ID0ga2V5XzA1LCBw
cmltYXJ5S2V5ID0ga2V5XzA1LCB2YWx1ZSA9IHsia2V5Ijoia2V5XzA1IiwidmFsdWUiOiJ2YWx1
ZV8wNSJ9CisgICAgaGFzTW9yZSA9IGZhbHNlCitEdW1waW5nIHZhbHVlcywgZnJvbUluZGV4ID0g
ZmFsc2UsIHNraXBDb3VudCA9IDEsIHBhZ2VTaXplID0gMiwgaWRiS2V5UmFuZ2UgPSB7bG93ZXI6
ImtleV8wMiIsbG93ZXJPcGVuOnRydWUsdXBwZXI6ImtleV8wNSIsdXBwZXJPcGVuOmZhbHNlfQor
ICAgIEtleSA9IGtleV8wNCwgcHJpbWFyeUtleSA9IGtleV8wNCwgdmFsdWUgPSB7ImtleSI6Imtl
eV8wNCIsInZhbHVlIjoidmFsdWVfMDQifQorICAgIEtleSA9IGtleV8wNSwgcHJpbWFyeUtleSA9
IGtleV8wNSwgdmFsdWUgPSB7ImtleSI6ImtleV8wNSIsInZhbHVlIjoidmFsdWVfMDUifQorICAg
IGhhc01vcmUgPSBmYWxzZQorRHVtcGluZyB2YWx1ZXMsIGZyb21JbmRleCA9IGZhbHNlLCBza2lw
Q291bnQgPSAxLCBwYWdlU2l6ZSA9IDMsIGlkYktleVJhbmdlID0ge2xvd2VyOiJrZXlfMDIiLGxv
d2VyT3Blbjp0cnVlLHVwcGVyOiJrZXlfMDUiLHVwcGVyT3BlbjpmYWxzZX0KKyAgICBLZXkgPSBr
ZXlfMDQsIHByaW1hcnlLZXkgPSBrZXlfMDQsIHZhbHVlID0geyJrZXkiOiJrZXlfMDQiLCJ2YWx1
ZSI6InZhbHVlXzA0In0KKyAgICBLZXkgPSBrZXlfMDUsIHByaW1hcnlLZXkgPSBrZXlfMDUsIHZh
bHVlID0geyJrZXkiOiJrZXlfMDUiLCJ2YWx1ZSI6InZhbHVlXzA1In0KKyAgICBoYXNNb3JlID0g
ZmFsc2UKK0R1bXBpbmcgdmFsdWVzLCBmcm9tSW5kZXggPSBmYWxzZSwgc2tpcENvdW50ID0gMSwg
cGFnZVNpemUgPSA0LCBpZGJLZXlSYW5nZSA9IHtsb3dlcjoia2V5XzAyIixsb3dlck9wZW46dHJ1
ZSx1cHBlcjoia2V5XzA1Iix1cHBlck9wZW46ZmFsc2V9CisgICAgS2V5ID0ga2V5XzA0LCBwcmlt
YXJ5S2V5ID0ga2V5XzA0LCB2YWx1ZSA9IHsia2V5Ijoia2V5XzA0IiwidmFsdWUiOiJ2YWx1ZV8w
NCJ9CisgICAgS2V5ID0ga2V5XzA1LCBwcmltYXJ5S2V5ID0ga2V5XzA1LCB2YWx1ZSA9IHsia2V5
Ijoia2V5XzA1IiwidmFsdWUiOiJ2YWx1ZV8wNSJ9CisgICAgaGFzTW9yZSA9IGZhbHNlCitEdW1w
aW5nIHZhbHVlcywgZnJvbUluZGV4ID0gdHJ1ZSwgc2tpcENvdW50ID0gMCwgcGFnZVNpemUgPSAy
LCBpZGJLZXlSYW5nZSA9IG51bGwKKyAgICBLZXkgPSB2YWx1ZV8wMSwgcHJpbWFyeUtleSA9IGtl
eV8wMSwgdmFsdWUgPSB7ImtleSI6ImtleV8wMSIsInZhbHVlIjoidmFsdWVfMDEifQorICAgIEtl
eSA9IHZhbHVlXzAyLCBwcmltYXJ5S2V5ID0ga2V5XzAyLCB2YWx1ZSA9IHsia2V5Ijoia2V5XzAy
IiwidmFsdWUiOiJ2YWx1ZV8wMiJ9CisgICAgaGFzTW9yZSA9IHRydWUKK0NsZWFyZWQgZGF0YSBm
cm9tIG9iamVjdFN0b3JlCitEdW1waW5nIHZhbHVlcywgZnJvbUluZGV4ID0gZmFsc2UsIHNraXBD
b3VudCA9IDAsIHBhZ2VTaXplID0gMTAsIGlkYktleVJhbmdlID0gbnVsbAorICAgIGhhc01vcmUg
PSBmYWxzZQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0
cC10ZXN0cy9pbmRleGVkZGIvZGF0YWJhc2UtZGF0YS5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvaW5kZXhlZGRiL2RhdGFiYXNlLWRhdGEuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5lNmExNTIyNTBlYTI2ZGZjYmVjOWUwYWFlYzUyYjg5YmY1ZTI1M2RlCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvaW5k
ZXhlZGRiL2RhdGFiYXNlLWRhdGEuaHRtbApAQCAtMCwwICsxLDIyOSBAQAorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iaW5kZXhlZGRiLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2Z1bmN0aW9uIHRl
c3QoKQoreworICAgIHZhciBJREJLZXlSYW5nZSA9IHdpbmRvdy5JREJLZXlSYW5nZSB8fCB3aW5k
b3cud2Via2l0SURCS2V5UmFuZ2U7CisgICAgdmFyIGluZGV4ZWREQk1vZGVsID0gbmV3IFdlYklu
c3BlY3Rvci5JbmRleGVkREJNb2RlbCgpOworICAgIHZhciBtYWluRnJhbWVJZCA9IFdlYkluc3Bl
Y3Rvci5yZXNvdXJjZVRyZWVNb2RlbC5tYWluRnJhbWUuaWQ7CisgICAgdmFyIHNlY3VyaXR5T3Jp
Z2luID0gImh0dHA6Ly8xMjcuMC4wLjE6ODAwMCI7CisgICAgdmFyIGRhdGFiYXNlTmFtZSA9ICJ0
ZXN0RGF0YWJhc2UiOworICAgIHZhciBvYmplY3RTdG9yZU5hbWUgPSAidGVzdE9iamVjdFN0b3Jl
IjsKKyAgICB2YXIgaW5kZXhOYW1lID0gInRlc3RJbmRleE5hbWUiOworICAgIHZhciBkYXRhYmFz
ZUlkID0gbmV3IFdlYkluc3BlY3Rvci5JbmRleGVkREJNb2RlbC5EYXRhYmFzZUlkKHNlY3VyaXR5
T3JpZ2luLCBkYXRhYmFzZU5hbWUpOworCisgICAgZnVuY3Rpb24gYWRkSURCVmFsdWVzKGNvdW50
LCBjYWxsYmFjaykKKyAgICB7CisgICAgICAgIHZhciBpID0gMDsKKyAgICAgICAgYWRkVmFsdWVz
KCk7CisKKyAgICAgICAgZnVuY3Rpb24gYWRkVmFsdWVzKCkKKyAgICAgICAgeworICAgICAgICAg
ICAgaWYgKGkgPT0gY291bnQpIHsKKyAgICAgICAgICAgICAgICBjYWxsYmFjaygpOworICAgICAg
ICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgICsraTsKKyAgICAg
ICAgICAgIHZhciBpZCA9IGkgPCAxMCA/ICIwIiArIGkgOiBpOworICAgICAgICAgICAgdmFyIGtl
eSA9ICJrZXlfIiArIGlkOworICAgICAgICAgICAgdmFyIHZhbHVlID0gInZhbHVlXyIgKyBpZDsK
KyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkSURCVmFsdWUobWFpbkZyYW1lSWQsIGRhdGFi
YXNlTmFtZSwgb2JqZWN0U3RvcmVOYW1lLCB7IGtleToga2V5LCB2YWx1ZTogdmFsdWUgfSwgIiIs
IGFkZFZhbHVlcyk7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBmdW5jdGlvbiBsb2FkVmFsdWVz
QW5kRHVtcChmcm9tSW5kZXgsIGlkYktleVJhbmdlLCBza2lwQ291bnQsIHBhZ2VTaXplLCBjYWxs
YmFjaykKKyAgICB7CisgICAgICAgIHZhciBpZGJLZXlSYW5nZVN0cmluZyA9IGlkYktleVJhbmdl
ID8gIntsb3dlcjpcIiIgKyBpZGJLZXlSYW5nZS5sb3dlciArICJcIixsb3dlck9wZW46IiArIGlk
YktleVJhbmdlLmxvd2VyT3BlbiArICIsdXBwZXI6XCIiICsgaWRiS2V5UmFuZ2UudXBwZXIgKyAi
XCIsdXBwZXJPcGVuOiIgKyBpZGJLZXlSYW5nZS51cHBlck9wZW4gKyAifSIgOiAibnVsbCI7Cisg
ICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJEdW1waW5nIHZhbHVlcywgZnJvbUluZGV4
ID0gIiArIGZyb21JbmRleCArICIsIHNraXBDb3VudCA9ICIgKyBza2lwQ291bnQgKyAiLCBwYWdl
U2l6ZSA9ICIgKyBwYWdlU2l6ZSArICIsIGlkYktleVJhbmdlID0gIiArIGlkYktleVJhbmdlU3Ry
aW5nKTsKKyAgICAgICAgaWYgKGZyb21JbmRleCkKKyAgICAgICAgICAgIGluZGV4ZWREQk1vZGVs
LmxvYWRJbmRleERhdGEoZGF0YWJhc2VJZCwgb2JqZWN0U3RvcmVOYW1lLCBpbmRleE5hbWUsIGlk
YktleVJhbmdlLCBza2lwQ291bnQsIHBhZ2VTaXplLCBpbm5lckNhbGxiYWNrKTsKKyAgICAgICAg
ZWxzZQorICAgICAgICAgICAgaW5kZXhlZERCTW9kZWwubG9hZE9iamVjdFN0b3JlRGF0YShkYXRh
YmFzZUlkLCBvYmplY3RTdG9yZU5hbWUsIGlkYktleVJhbmdlLCBza2lwQ291bnQsIHBhZ2VTaXpl
LCBpbm5lckNhbGxiYWNrKTsKKworICAgICAgICBmdW5jdGlvbiBpbm5lckNhbGxiYWNrKGVudHJp
ZXMsIGhhc01vcmUpCisgICAgICAgIHsKKyAgICAgICAgICAgIHZhciBpbmRleCA9IDA7CisgICAg
ICAgICAgICB2YXIgZW50cnk7CisgICAgICAgICAgICBkdW1wRW50cmllcygpOworCisgICAgICAg
ICAgICBmdW5jdGlvbiBkdW1wRW50cmllcygpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAg
ICAgaWYgKGluZGV4ID09PSBlbnRyaWVzLmxlbmd0aCkgeworICAgICAgICAgICAgICAgICAgICBJ
bnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiICAgIGhhc01vcmUgPSAiICsgaGFzTW9yZSk7CisgICAg
ICAgICAgICAgICAgICAgIGNhbGxiYWNrKCk7CisgICAgICAgICAgICAgICAgICAgIHJldHVybjsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgZW50cnkgPSBlbnRyaWVzW2luZGV4
XTsKKyAgICAgICAgICAgICAgICBlbnRyeS52YWx1ZS5jYWxsRnVuY3Rpb25KU09OKGR1bXBNZSwg
dW5kZWZpbmVkLCBkdW1wZWQuYmluZCh0aGlzKSk7CisgICAgICAgICAgICAgICAgKytpbmRleDsK
KyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgZnVuY3Rpb24gZHVtcE1lKCkKKyAgICAgICAg
ICAgIHsKKyAgICAgICAgICAgICAgICByZXR1cm4gIntcImtleVwiOlwiIiArIHRoaXMua2V5ICsg
IlwiLFwidmFsdWVcIjpcIiIgKyB0aGlzLnZhbHVlICsgIlwifSI7CisgICAgICAgICAgICB9CisK
KyAgICAgICAgICAgIGZ1bmN0aW9uIGR1bXBlZCh2YWx1ZSkKKyAgICAgICAgICAgIHsKKyAgICAg
ICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiICAgIEtleSA9ICIgKyBlbnRyeS5r
ZXkuZGVzY3JpcHRpb24gKyAiLCBwcmltYXJ5S2V5ID0gIiArIGVudHJ5LnByaW1hcnlLZXkuZGVz
Y3JpcHRpb24gKyAiLCB2YWx1ZSA9ICIgKyB2YWx1ZSk7CisgICAgICAgICAgICAgICAgZHVtcEVu
dHJpZXMoKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0KKworICAgIEluc3BlY3Rv
clRlc3QuYWRkU25pZmZlcihXZWJJbnNwZWN0b3IuSW5kZXhlZERCTW9kZWwucHJvdG90eXBlLCAi
X3VwZGF0ZU9yaWdpbkRhdGFiYXNlTmFtZXMiLCBmaWxsRGF0YWJhc2UsIGZhbHNlKTsKKworICAg
IGZ1bmN0aW9uIGZpbGxEYXRhYmFzZSgpCisgICAgeworICAgICAgICBJbnNwZWN0b3JUZXN0LmNy
ZWF0ZURhdGFiYXNlKG1haW5GcmFtZUlkLCBkYXRhYmFzZU5hbWUsIHN0ZXAyKTsKKworICAgICAg
ICBmdW5jdGlvbiBzdGVwMigpCisgICAgICAgIHsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3Qu
Y3JlYXRlT2JqZWN0U3RvcmUobWFpbkZyYW1lSWQsIGRhdGFiYXNlTmFtZSwgb2JqZWN0U3RvcmVO
YW1lLCAia2V5IiwgdHJ1ZSwgc3RlcDMpOworICAgICAgICB9CisKKyAgICAgICAgZnVuY3Rpb24g
c3RlcDMoKQorICAgICAgICB7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmNyZWF0ZU9iamVj
dFN0b3JlSW5kZXgobWFpbkZyYW1lSWQsIGRhdGFiYXNlTmFtZSwgb2JqZWN0U3RvcmVOYW1lLCBp
bmRleE5hbWUsICJ2YWx1ZSIsIGZhbHNlLCB0cnVlLCBzdGVwNCk7CisgICAgICAgIH0KKworICAg
ICAgICBmdW5jdGlvbiBzdGVwNCgpCisgICAgICAgIHsKKyAgICAgICAgICAgIGFkZElEQlZhbHVl
cyg2LCByZWZyZXNoRGF0YWJhc2VOYW1lcyk7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBmdW5j
dGlvbiByZWZyZXNoRGF0YWJhc2VOYW1lcygpCisgICAgeworICAgICAgICBJbnNwZWN0b3JUZXN0
LmFkZFNuaWZmZXIoV2ViSW5zcGVjdG9yLkluZGV4ZWREQk1vZGVsLnByb3RvdHlwZSwgIl91cGRh
dGVPcmlnaW5EYXRhYmFzZU5hbWVzIiwgcmVmcmVzaERhdGFiYXNlLCBmYWxzZSk7CisgICAgICAg
IGluZGV4ZWREQk1vZGVsLnJlZnJlc2hEYXRhYmFzZU5hbWVzKCk7CisgICAgfQorCisgICAgZnVu
Y3Rpb24gcmVmcmVzaERhdGFiYXNlKCkKKyAgICB7CisgICAgICAgIGluZGV4ZWREQk1vZGVsLmFk
ZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLkluZGV4ZWREQk1vZGVsLkV2ZW50VHlwZXMuRGF0
YWJhc2VMb2FkZWQsIHJ1bk9iamVjdFN0b3JlVGVzdHMpOworICAgICAgICBpbmRleGVkREJNb2Rl
bC5yZWZyZXNoRGF0YWJhc2UoZGF0YWJhc2VJZCk7CisgICAgfQorCisgICAgZnVuY3Rpb24gcnVu
T2JqZWN0U3RvcmVUZXN0cygpCisgICAgeworICAgICAgICBpbmRleGVkREJNb2RlbC5yZW1vdmVF
dmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5JbmRleGVkREJNb2RlbC5FdmVudFR5cGVzLkRhdGFi
YXNlTG9hZGVkLCBydW5PYmplY3RTdG9yZVRlc3RzKTsKKyAgICAgICAgbG9hZFZhbHVlc0FuZER1
bXAoZmFsc2UsIG51bGwsIDAsIDIsIHN0ZXAyKQorCisgICAgICAgIGZ1bmN0aW9uIHN0ZXAyKCkK
KyAgICAgICAgeworICAgICAgICAgICAgbG9hZFZhbHVlc0FuZER1bXAoZmFsc2UsIG51bGwsIDIs
IDIsIHN0ZXAzKQorICAgICAgICB9CisKKyAgICAgICAgZnVuY3Rpb24gc3RlcDMoKQorICAgICAg
ICB7CisgICAgICAgICAgICBsb2FkVmFsdWVzQW5kRHVtcChmYWxzZSwgbnVsbCwgNCwgMiwgc3Rl
cDQpOworICAgICAgICB9CisKKyAgICAgICAgZnVuY3Rpb24gc3RlcDQoKQorICAgICAgICB7Cisg
ICAgICAgICAgICBsb2FkVmFsdWVzQW5kRHVtcChmYWxzZSwgbnVsbCwgNSwgMiwgc3RlcDUpOwor
ICAgICAgICB9CisKKyAgICAgICAgZnVuY3Rpb24gc3RlcDUoKQorICAgICAgICB7CisgICAgICAg
ICAgICBsb2FkVmFsdWVzQW5kRHVtcChmYWxzZSwgbnVsbCwgNiwgMiwgc3RlcDYpOworICAgICAg
ICB9CisKKyAgICAgICAgZnVuY3Rpb24gc3RlcDYoKQorICAgICAgICB7CisgICAgICAgICAgICBs
b2FkVmFsdWVzQW5kRHVtcChmYWxzZSwgbnVsbCwgNywgMiwgc3RlcDcpOworICAgICAgICB9CisK
KyAgICAgICAgZnVuY3Rpb24gc3RlcDcoKQorICAgICAgICB7CisgICAgICAgICAgICBsb2FkVmFs
dWVzQW5kRHVtcChmYWxzZSwgSURCS2V5UmFuZ2UuYm91bmQoImtleV8wMiIsICJrZXlfMDUiLCB0
cnVlLCBmYWxzZSksIDAsIDIsIHN0ZXA4KTsKKyAgICAgICAgfQorCisgICAgICAgIGZ1bmN0aW9u
IHN0ZXA4KCkKKyAgICAgICAgeworICAgICAgICAgICAgbG9hZFZhbHVlc0FuZER1bXAoZmFsc2Us
IElEQktleVJhbmdlLmJvdW5kKCJrZXlfMDIiLCAia2V5XzA1IiwgdHJ1ZSwgZmFsc2UpLCAwLCAz
LCBzdGVwOSk7CisgICAgICAgIH0KKworICAgICAgICBmdW5jdGlvbiBzdGVwOSgpCisgICAgICAg
IHsKKyAgICAgICAgICAgIGxvYWRWYWx1ZXNBbmREdW1wKGZhbHNlLCBJREJLZXlSYW5nZS5ib3Vu
ZCgia2V5XzAyIiwgImtleV8wNSIsIHRydWUsIGZhbHNlKSwgMCwgNCwgc3RlcDEwKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGZ1bmN0aW9uIHN0ZXAxMCgpCisgICAgICAgIHsKKyAgICAgICAgICAg
IGxvYWRWYWx1ZXNBbmREdW1wKGZhbHNlLCBJREJLZXlSYW5nZS5ib3VuZCgia2V5XzAyIiwgImtl
eV8wNSIsIHRydWUsIGZhbHNlKSwgMSwgMiwgc3RlcDExKTsKKyAgICAgICAgfQorCisgICAgICAg
IGZ1bmN0aW9uIHN0ZXAxMSgpCisgICAgICAgIHsKKyAgICAgICAgICAgIGxvYWRWYWx1ZXNBbmRE
dW1wKGZhbHNlLCBJREJLZXlSYW5nZS5ib3VuZCgia2V5XzAyIiwgImtleV8wNSIsIHRydWUsIGZh
bHNlKSwgMSwgMywgc3RlcDEyKTsKKyAgICAgICAgfQorCisgICAgICAgIGZ1bmN0aW9uIHN0ZXAx
MigpCisgICAgICAgIHsKKyAgICAgICAgICAgIGxvYWRWYWx1ZXNBbmREdW1wKGZhbHNlLCBJREJL
ZXlSYW5nZS5ib3VuZCgia2V5XzAyIiwgImtleV8wNSIsIHRydWUsIGZhbHNlKSwgMSwgNCwgc3Rl
cDEzKTsKKyAgICAgICAgfQorCisgICAgICAgIGZ1bmN0aW9uIHN0ZXAxMygpCisgICAgICAgIHsK
KyAgICAgICAgICAgIHJ1bkluZGV4VGVzdHMoKTsKKyAgICAgICAgfQorICAgIH0KKworICAgIGZ1
bmN0aW9uIHJ1bkluZGV4VGVzdHMoKQorICAgIHsKKyAgICAgICAgbG9hZFZhbHVlc0FuZER1bXAo
dHJ1ZSwgbnVsbCwgMCwgMiwgc3RlcDIpCisKKyAgICAgICAgZnVuY3Rpb24gc3RlcDIoKQorICAg
ICAgICB7CisgICAgICAgICAgICBydW5DbGVhclRlc3RzKCk7CisgICAgICAgIH0KKyAgICB9CisK
KyAgICBmdW5jdGlvbiBydW5DbGVhclRlc3RzKCkKKyAgICB7CisgICAgICAgIGluZGV4ZWREQk1v
ZGVsLmNsZWFyT2JqZWN0U3RvcmUoZGF0YWJhc2VJZCwgb2JqZWN0U3RvcmVOYW1lLCBzdGVwMSk7
CisgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJDbGVhcmVkIGRhdGEgZnJvbSBvYmpl
Y3RTdG9yZSIpOworCisgICAgICAgIGZ1bmN0aW9uIHN0ZXAxKCkgeworICAgICAgICAgICAgaW5k
ZXhlZERCTW9kZWwuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuSW5kZXhlZERCTW9kZWwu
RXZlbnRUeXBlcy5EYXRhYmFzZUxvYWRlZCwgc3RlcDIpOworICAgICAgICAgICAgaW5kZXhlZERC
TW9kZWwucmVmcmVzaERhdGFiYXNlKGRhdGFiYXNlSWQpOworICAgICAgICB9CisgICAgICAgIGZ1
bmN0aW9uIHN0ZXAyKCkgeworICAgICAgICAgICAgaW5kZXhlZERCTW9kZWwucmVtb3ZlRXZlbnRM
aXN0ZW5lcihXZWJJbnNwZWN0b3IuSW5kZXhlZERCTW9kZWwuRXZlbnRUeXBlcy5EYXRhYmFzZUxv
YWRlZCwgc3RlcDIpOworICAgICAgICAgICAgbG9hZFZhbHVlc0FuZER1bXAoZmFsc2UsIG51bGws
IDAsIDEwLCBzdGVwMyk7CisgICAgICAgIH0KKworICAgICAgICBmdW5jdGlvbiBzdGVwMygpIHsK
KyAgICAgICAgICAgIGRlbGV0ZURhdGFiYXNlKCk7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBm
dW5jdGlvbiBkZWxldGVEYXRhYmFzZSgpIHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5kZWxldGVP
YmplY3RTdG9yZUluZGV4KG1haW5GcmFtZUlkLCBkYXRhYmFzZU5hbWUsIG9iamVjdFN0b3JlTmFt
ZSwgaW5kZXhOYW1lLCBzdGVwMik7CisKKyAgICAgICAgZnVuY3Rpb24gc3RlcDIoKQorICAgICAg
ICB7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmRlbGV0ZU9iamVjdFN0b3JlKG1haW5GcmFt
ZUlkLCBkYXRhYmFzZU5hbWUsIG9iamVjdFN0b3JlTmFtZSwgc3RlcDMpOworICAgICAgICB9CisK
KyAgICAgICAgZnVuY3Rpb24gc3RlcDMoKQorICAgICAgICB7CisgICAgICAgICAgICBJbnNwZWN0
b3JUZXN0LmRlbGV0ZURhdGFiYXNlKG1haW5GcmFtZUlkLCBkYXRhYmFzZU5hbWUsIHN0ZXA0KTsK
KyAgICAgICAgfQorCisgICAgICAgIGZ1bmN0aW9uIHN0ZXA0KCkKKyAgICAgICAgeworICAgICAg
ICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKKyAgICAgICAgfQorICAgIH0KK30K
Kzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgorPHA+VGVzdHMg
dGhhdCBkYXRhIGlzIGNvcnJlY3RseSBsb2FkZWQgYnkgSW5kZXhlZERCTW9kZWwgZnJvbSBJbmRl
eGVkREIgb2JqZWN0IHN0b3JlIGFuZCBpbmRleC48L3A+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9pbmRleGVk
ZGIvZGF0YWJhc2UtbmFtZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9i
c29sZXRlL2h0dHAtdGVzdHMvaW5kZXhlZGRiL2RhdGFiYXNlLW5hbWVzLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MDc5NmQyMjYyMDQ3ZTg3MzQ4OWUwMzM0ZmViNzZjYTM3MzAzNzM3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMv
aW5kZXhlZGRiL2RhdGFiYXNlLW5hbWVzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDIxIEBACitD
T05TT0xFIE1FU1NBR0U6IGxpbmUgMTA4OiBJbnNwZWN0b3JUZXN0LkluZGV4ZWREQl9jYWxsYmFj
azEKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxMDg6IEluc3BlY3RvclRlc3QuSW5kZXhlZERCX2Nh
bGxiYWNrMgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDEwODogSW5zcGVjdG9yVGVzdC5JbmRleGVk
REJfY2FsbGJhY2szCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTA4OiBJbnNwZWN0b3JUZXN0Lklu
ZGV4ZWREQl9jYWxsYmFjazQKK1Rlc3RzIHRoYXQgZGF0YWJhc2UgbmFtZXMgYXJlIGNvcnJlY3Rs
eSBsb2FkZWQgYW5kIHNhdmVkIGluIEluZGV4ZWREQk1vZGVsLgorCitEdW1waW5nIGRhdGFiYXNl
IG5hbWVzOgorCitEdW1waW5nIGRhdGFiYXNlIG5hbWVzOgorICAgIHRlc3REYXRhYmFzZTEKKwor
RHVtcGluZyBkYXRhYmFzZSBuYW1lczoKKyAgICB0ZXN0RGF0YWJhc2UxCisgICAgdGVzdERhdGFi
YXNlMgorCitEdW1waW5nIGRhdGFiYXNlIG5hbWVzOgorICAgIHRlc3REYXRhYmFzZTEKKworRHVt
cGluZyBkYXRhYmFzZSBuYW1lczoKKworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0
b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9pbmRleGVkZGIvZGF0YWJhc2UtbmFtZXMuaHRtbCBiL0xh
eW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL2luZGV4ZWRkYi9kYXRhYmFz
ZS1uYW1lcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjAxNDNmNzM4NDJlYmVhZTk4MWRkMGMyNzk4MGIxMWNl
M2E0N2VhZGQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xl
dGUvaHR0cC10ZXN0cy9pbmRleGVkZGIvZGF0YWJhc2UtbmFtZXMuaHRtbApAQCAtMCwwICsxLDgz
IEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uL2luc3BlY3Rvci10ZXN0LmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJpbmRleGVkZGItdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0PgorZnVuY3Rpb24gdGVzdCgpCit7CisgICAgdmFyIGluZGV4ZWREQk1vZGVsID0gbmV3IFdl
Ykluc3BlY3Rvci5JbmRleGVkREJNb2RlbCgpOworICAgIHZhciBtYWluRnJhbWVJZCA9IFdlYklu
c3BlY3Rvci5yZXNvdXJjZVRyZWVNb2RlbC5tYWluRnJhbWUuaWQ7CisKKyAgICBmdW5jdGlvbiBk
dW1wRGF0YWJhc2VOYW1lcygpCisgICAgeworICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3Vs
dCgiRHVtcGluZyBkYXRhYmFzZSBuYW1lczoiKTsKKyAgICAgICAgdmFyIHNlY3VyaXR5T3JpZ2lu
cyA9IFdlYkluc3BlY3Rvci5yZXNvdXJjZVRyZWVNb2RlbC5zZWN1cml0eU9yaWdpbnMoKTsKKyAg
ICAgICAgdmFyIHNlY3VyaXR5T3JpZ2luID0gc2VjdXJpdHlPcmlnaW5zWzBdOworICAgICAgICB2
YXIgbmFtZXMgPSBpbmRleGVkREJNb2RlbC5fZGF0YWJhc2VOYW1lc0J5U2VjdXJpdHlPcmlnaW5b
c2VjdXJpdHlPcmlnaW5dOworICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IG5hbWVzLmxlbmd0
aDsgKytpKQorICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIiAgICAiICsgbmFt
ZXNbaV0pOworICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiIik7CisgICAgfQorCisg
ICAgSW5zcGVjdG9yVGVzdC5hZGRTbmlmZmVyKFdlYkluc3BlY3Rvci5JbmRleGVkREJNb2RlbC5w
cm90b3R5cGUsICJfdXBkYXRlT3JpZ2luRGF0YWJhc2VOYW1lcyIsIHN0ZXAyLCBmYWxzZSk7CisK
KyAgICBmdW5jdGlvbiBzdGVwMigpCisgICAgeworICAgICAgICBkdW1wRGF0YWJhc2VOYW1lcygp
OworICAgICAgICBJbnNwZWN0b3JUZXN0LmNyZWF0ZURhdGFiYXNlKG1haW5GcmFtZUlkLCAidGVz
dERhdGFiYXNlMSIsIHN0ZXAzKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBzdGVwMygpCisgICAg
eworICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFNuaWZmZXIoV2ViSW5zcGVjdG9yLkluZGV4ZWRE
Qk1vZGVsLnByb3RvdHlwZSwgIl91cGRhdGVPcmlnaW5EYXRhYmFzZU5hbWVzIiwgc3RlcDQsIGZh
bHNlKTsKKyAgICAgICAgaW5kZXhlZERCTW9kZWwucmVmcmVzaERhdGFiYXNlTmFtZXMoKTsKKyAg
ICB9CisKKyAgICBmdW5jdGlvbiBzdGVwNCgpCisgICAgeworICAgICAgICBkdW1wRGF0YWJhc2VO
YW1lcygpOworICAgICAgICBJbnNwZWN0b3JUZXN0LmNyZWF0ZURhdGFiYXNlKG1haW5GcmFtZUlk
LCAidGVzdERhdGFiYXNlMiIsIHN0ZXA1KTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBzdGVwNSgp
CisgICAgeworICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFNuaWZmZXIoV2ViSW5zcGVjdG9yLklu
ZGV4ZWREQk1vZGVsLnByb3RvdHlwZSwgIl91cGRhdGVPcmlnaW5EYXRhYmFzZU5hbWVzIiwgc3Rl
cDYsIGZhbHNlKTsKKyAgICAgICAgaW5kZXhlZERCTW9kZWwucmVmcmVzaERhdGFiYXNlTmFtZXMo
KTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBzdGVwNigpCisgICAgeworICAgICAgICBkdW1wRGF0
YWJhc2VOYW1lcygpOworICAgICAgICBJbnNwZWN0b3JUZXN0LmRlbGV0ZURhdGFiYXNlKG1haW5G
cmFtZUlkLCAidGVzdERhdGFiYXNlMiIsIHN0ZXA3KTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBz
dGVwNygpCisgICAgeworICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFNuaWZmZXIoV2ViSW5zcGVj
dG9yLkluZGV4ZWREQk1vZGVsLnByb3RvdHlwZSwgIl91cGRhdGVPcmlnaW5EYXRhYmFzZU5hbWVz
Iiwgc3RlcDgsIGZhbHNlKTsKKyAgICAgICAgaW5kZXhlZERCTW9kZWwucmVmcmVzaERhdGFiYXNl
TmFtZXMoKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBzdGVwOCgpCisgICAgeworICAgICAgICBk
dW1wRGF0YWJhc2VOYW1lcygpOworICAgICAgICBJbnNwZWN0b3JUZXN0LmRlbGV0ZURhdGFiYXNl
KG1haW5GcmFtZUlkLCAidGVzdERhdGFiYXNlMSIsIHN0ZXA5KTsKKyAgICB9CisKKyAgICBmdW5j
dGlvbiBzdGVwOSgpCisgICAgeworICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFNuaWZmZXIoV2Vi
SW5zcGVjdG9yLkluZGV4ZWREQk1vZGVsLnByb3RvdHlwZSwgIl91cGRhdGVPcmlnaW5EYXRhYmFz
ZU5hbWVzIiwgc3RlcDEwLCBmYWxzZSk7CisgICAgICAgIGluZGV4ZWREQk1vZGVsLnJlZnJlc2hE
YXRhYmFzZU5hbWVzKCk7CisgICAgfQorCisgICAgZnVuY3Rpb24gc3RlcDEwKCkKKyAgICB7Cisg
ICAgICAgIGR1bXBEYXRhYmFzZU5hbWVzKCk7CisgICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxl
dGVUZXN0KCk7CisgICAgfQorfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InJ1
blRlc3QoKSI+Cis8cD5UZXN0cyB0aGF0IGRhdGFiYXNlIG5hbWVzIGFyZSBjb3JyZWN0bHkgbG9h
ZGVkIGFuZCBzYXZlZCBpbiBJbmRleGVkREJNb2RlbC48L3A+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9pbmRl
eGVkZGIvZGF0YWJhc2Utc3RydWN0dXJlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL2luZGV4ZWRkYi9kYXRhYmFzZS1zdHJ1Y3R1cmUtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJmNmE0ODYwZTE5MzZlNDJkN2I4MGFmMDg4NDlkZDNiYmEw
ZTliMGUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUv
aHR0cC10ZXN0cy9pbmRleGVkZGIvZGF0YWJhc2Utc3RydWN0dXJlLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEyMyBAQAorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDEwODogSW5zcGVjdG9yVGVzdC5J
bmRleGVkREJfY2FsbGJhY2sxCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTA4OiBJbnNwZWN0b3JU
ZXN0LkluZGV4ZWREQl9jYWxsYmFjazIKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxMDg6IEluc3Bl
Y3RvclRlc3QuSW5kZXhlZERCX2NhbGxiYWNrMworQ09OU09MRSBNRVNTQUdFOiBsaW5lIDEwODog
SW5zcGVjdG9yVGVzdC5JbmRleGVkREJfY2FsbGJhY2s0CitDT05TT0xFIE1FU1NBR0U6IGxpbmUg
MTA4OiBJbnNwZWN0b3JUZXN0LkluZGV4ZWREQl9jYWxsYmFjazUKK0NPTlNPTEUgTUVTU0FHRTog
bGluZSAxMDg6IEluc3BlY3RvclRlc3QuSW5kZXhlZERCX2NhbGxiYWNrNgorQ09OU09MRSBNRVNT
QUdFOiBsaW5lIDEwODogSW5zcGVjdG9yVGVzdC5JbmRleGVkREJfY2FsbGJhY2s3CitDT05TT0xF
IE1FU1NBR0U6IGxpbmUgMTA4OiBJbnNwZWN0b3JUZXN0LkluZGV4ZWREQl9jYWxsYmFjazgKK0NP
TlNPTEUgTUVTU0FHRTogbGluZSAxMDg6IEluc3BlY3RvclRlc3QuSW5kZXhlZERCX2NhbGxiYWNr
OQorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDEwODogSW5zcGVjdG9yVGVzdC5JbmRleGVkREJfY2Fs
bGJhY2sxMAorVGVzdHMgdGhhdCBkYXRhYmFzZSBuYW1lcyBhcmUgY29ycmVjdGx5IGxvYWRlZCBh
bmQgc2F2ZWQgaW4gSW5kZXhlZERCTW9kZWwuCisKK0R1bXBpbmcgZGF0YWJhc2U6CitEdW1waW5n
IGRhdGFiYXNlOgordGVzdERhdGFiYXNlMQorICAgIGludFZlcnNpb246IDEKKyAgICBvYmplY3RT
dG9yZXM6CisKK0R1bXBpbmcgZGF0YWJhc2U6Cit0ZXN0RGF0YWJhc2UxCisgICAgaW50VmVyc2lv
bjogMgorICAgIG9iamVjdFN0b3JlczoKKyAgICB0ZXN0T2JqZWN0U3RvcmUxCisgICAgICAgIGtl
eVBhdGg6ICJ0ZXN0LmtleS5wYXRoIgorICAgICAgICBhdXRvSW5jcmVtZW50OiB0cnVlCisgICAg
ICAgIGluZGV4ZXM6IAorCitEdW1waW5nIGRhdGFiYXNlOgordGVzdERhdGFiYXNlMQorICAgIGlu
dFZlcnNpb246IDMKKyAgICBvYmplY3RTdG9yZXM6CisgICAgdGVzdE9iamVjdFN0b3JlMQorICAg
ICAgICBrZXlQYXRoOiAidGVzdC5rZXkucGF0aCIKKyAgICAgICAgYXV0b0luY3JlbWVudDogdHJ1
ZQorICAgICAgICBpbmRleGVzOiAKKyAgICB0ZXN0T2JqZWN0U3RvcmUyCisgICAgICAgIGtleVBh
dGg6IG51bGwKKyAgICAgICAgYXV0b0luY3JlbWVudDogZmFsc2UKKyAgICAgICAgaW5kZXhlczog
CisKK0R1bXBpbmcgZGF0YWJhc2U6Cit0ZXN0RGF0YWJhc2UxCisgICAgaW50VmVyc2lvbjogNAor
ICAgIG9iamVjdFN0b3JlczoKKyAgICB0ZXN0T2JqZWN0U3RvcmUxCisgICAgICAgIGtleVBhdGg6
ICJ0ZXN0LmtleS5wYXRoIgorICAgICAgICBhdXRvSW5jcmVtZW50OiB0cnVlCisgICAgICAgIGlu
ZGV4ZXM6IAorICAgIHRlc3RPYmplY3RTdG9yZTIKKyAgICAgICAga2V5UGF0aDogbnVsbAorICAg
ICAgICBhdXRvSW5jcmVtZW50OiBmYWxzZQorICAgICAgICBpbmRleGVzOiAKKyAgICAgICAgdGVz
dEluZGV4TmFtZTEKKyAgICAgICAgICAgIGtleVBhdGg6ICIiCisgICAgICAgICAgICB1bmlxdWU6
IGZhbHNlCisgICAgICAgICAgICBtdWx0aUVudHJ5OiB0cnVlCisKK0R1bXBpbmcgZGF0YWJhc2U6
Cit0ZXN0RGF0YWJhc2UxCisgICAgaW50VmVyc2lvbjogNQorICAgIG9iamVjdFN0b3JlczoKKyAg
ICB0ZXN0T2JqZWN0U3RvcmUxCisgICAgICAgIGtleVBhdGg6ICJ0ZXN0LmtleS5wYXRoIgorICAg
ICAgICBhdXRvSW5jcmVtZW50OiB0cnVlCisgICAgICAgIGluZGV4ZXM6IAorICAgIHRlc3RPYmpl
Y3RTdG9yZTIKKyAgICAgICAga2V5UGF0aDogbnVsbAorICAgICAgICBhdXRvSW5jcmVtZW50OiBm
YWxzZQorICAgICAgICBpbmRleGVzOiAKKyAgICAgICAgdGVzdEluZGV4TmFtZTEKKyAgICAgICAg
ICAgIGtleVBhdGg6ICIiCisgICAgICAgICAgICB1bmlxdWU6IGZhbHNlCisgICAgICAgICAgICBt
dWx0aUVudHJ5OiB0cnVlCisgICAgICAgIHRlc3RJbmRleE5hbWUyCisgICAgICAgICAgICBrZXlQ
YXRoOiBbImtleS5wYXRoMSIsImtleS5wYXRoMiJdCisgICAgICAgICAgICB1bmlxdWU6IHRydWUK
KyAgICAgICAgICAgIG11bHRpRW50cnk6IGZhbHNlCisKK0R1bXBpbmcgZGF0YWJhc2U6Cit0ZXN0
RGF0YWJhc2UxCisgICAgaW50VmVyc2lvbjogNgorICAgIG9iamVjdFN0b3JlczoKKyAgICB0ZXN0
T2JqZWN0U3RvcmUxCisgICAgICAgIGtleVBhdGg6ICJ0ZXN0LmtleS5wYXRoIgorICAgICAgICBh
dXRvSW5jcmVtZW50OiB0cnVlCisgICAgICAgIGluZGV4ZXM6IAorICAgIHRlc3RPYmplY3RTdG9y
ZTIKKyAgICAgICAga2V5UGF0aDogbnVsbAorICAgICAgICBhdXRvSW5jcmVtZW50OiBmYWxzZQor
ICAgICAgICBpbmRleGVzOiAKKyAgICAgICAgdGVzdEluZGV4TmFtZTEKKyAgICAgICAgICAgIGtl
eVBhdGg6ICIiCisgICAgICAgICAgICB1bmlxdWU6IGZhbHNlCisgICAgICAgICAgICBtdWx0aUVu
dHJ5OiB0cnVlCisKK0R1bXBpbmcgZGF0YWJhc2U6Cit0ZXN0RGF0YWJhc2UxCisgICAgaW50VmVy
c2lvbjogNworICAgIG9iamVjdFN0b3JlczoKKyAgICB0ZXN0T2JqZWN0U3RvcmUxCisgICAgICAg
IGtleVBhdGg6ICJ0ZXN0LmtleS5wYXRoIgorICAgICAgICBhdXRvSW5jcmVtZW50OiB0cnVlCisg
ICAgICAgIGluZGV4ZXM6IAorICAgIHRlc3RPYmplY3RTdG9yZTIKKyAgICAgICAga2V5UGF0aDog
bnVsbAorICAgICAgICBhdXRvSW5jcmVtZW50OiBmYWxzZQorICAgICAgICBpbmRleGVzOiAKKwor
RHVtcGluZyBkYXRhYmFzZToKK3Rlc3REYXRhYmFzZTEKKyAgICBpbnRWZXJzaW9uOiA4CisgICAg
b2JqZWN0U3RvcmVzOgorICAgIHRlc3RPYmplY3RTdG9yZTEKKyAgICAgICAga2V5UGF0aDogInRl
c3Qua2V5LnBhdGgiCisgICAgICAgIGF1dG9JbmNyZW1lbnQ6IHRydWUKKyAgICAgICAgaW5kZXhl
czogCisKK0R1bXBpbmcgZGF0YWJhc2U6Cit0ZXN0RGF0YWJhc2UxCisgICAgaW50VmVyc2lvbjog
OQorICAgIG9iamVjdFN0b3JlczoKKworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0
b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9pbmRleGVkZGIvZGF0YWJhc2Utc3RydWN0dXJlLmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9pbmRleGVkZGIvZGF0
YWJhc2Utc3RydWN0dXJlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDgyM2JlZmY0ZDY2YjIzNjZhMjY5YWZk
OGQ1NzJlMzY1NjRjY2MyZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rv
ci1vYnNvbGV0ZS9odHRwLXRlc3RzL2luZGV4ZWRkYi9kYXRhYmFzZS1zdHJ1Y3R1cmUuaHRtbApA
QCAtMCwwICsxLDE5OCBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9pbnNwZWN0
b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iaW5kZXhlZGRiLXRlc3QuanMiPjwv
c2NyaXB0PgorPHNjcmlwdD4KK2Z1bmN0aW9uIHRlc3QoKQoreworICAgIHZhciBpbmRleGVkREJN
b2RlbCA9IG5ldyBXZWJJbnNwZWN0b3IuSW5kZXhlZERCTW9kZWwoKTsKKyAgICB2YXIgbWFpbkZy
YW1lSWQgPSBXZWJJbnNwZWN0b3IucmVzb3VyY2VUcmVlTW9kZWwubWFpbkZyYW1lLmlkOworICAg
IHZhciBkYXRhYmFzZU5hbWUgPSAidGVzdERhdGFiYXNlMSI7CisgICAgdmFyIHNlY3VyaXR5T3Jp
Z2luID0gImh0dHA6Ly8xMjcuMC4wLjE6ODAwMCI7CisgICAgdmFyIGRhdGFiYXNlSWQgPSBuZXcg
V2ViSW5zcGVjdG9yLkluZGV4ZWREQk1vZGVsLkRhdGFiYXNlSWQoc2VjdXJpdHlPcmlnaW4sIGRh
dGFiYXNlTmFtZSk7CisKKyAgICBmdW5jdGlvbiBkdW1wRGF0YWJhc2UoKQorICAgIHsKKyAgICAg
ICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIkR1bXBpbmcgZGF0YWJhc2U6Iik7CisgICAgICAg
IHZhciBkYXRhYmFzZSA9IGluZGV4ZWREQk1vZGVsLl9kYXRhYmFzZXMuZ2V0KGRhdGFiYXNlSWQp
OworICAgICAgICBpZiAoIWRhdGFiYXNlKQorICAgICAgICAgICAgcmV0dXJuOworICAgICAgICBJ
bnNwZWN0b3JUZXN0LmFkZFJlc3VsdChkYXRhYmFzZS5kYXRhYmFzZUlkLm5hbWUpOworICAgICAg
ICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiICAgIGludFZlcnNpb246ICIgKyBkYXRhYmFzZS5p
bnRWZXJzaW9uKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIiAgICBvYmplY3RT
dG9yZXM6Iik7CisgICAgICAgIHZhciBvYmplY3RTdG9yZU5hbWVzID0gW107CisgICAgICAgIGZv
ciAodmFyIG9iamVjdFN0b3JlTmFtZSBpbiBkYXRhYmFzZS5vYmplY3RTdG9yZXMpCisgICAgICAg
ICAgICBvYmplY3RTdG9yZU5hbWVzLnB1c2gob2JqZWN0U3RvcmVOYW1lKTsKKyAgICAgICAgb2Jq
ZWN0U3RvcmVOYW1lcy5zb3J0KCk7CisgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgb2JqZWN0
U3RvcmVOYW1lcy5sZW5ndGg7ICsraSkgeworICAgICAgICAgICAgdmFyIG9iamVjdFN0b3JlID0g
ZGF0YWJhc2Uub2JqZWN0U3RvcmVzW29iamVjdFN0b3JlTmFtZXNbaV1dOworICAgICAgICAgICAg
SW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIiAgICAiICsgb2JqZWN0U3RvcmUubmFtZSk7CisgICAg
ICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiICAgICAgICBrZXlQYXRoOiAiICsgSlNP
Ti5zdHJpbmdpZnkob2JqZWN0U3RvcmUua2V5UGF0aCkpOworICAgICAgICAgICAgSW5zcGVjdG9y
VGVzdC5hZGRSZXN1bHQoIiAgICAgICAgYXV0b0luY3JlbWVudDogIiArIG9iamVjdFN0b3JlLmF1
dG9JbmNyZW1lbnQpOworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIiAgICAg
ICAgaW5kZXhlczogIik7CisgICAgICAgICAgICB2YXIgaW5kZXhOYW1lcyA9IFtdOworICAgICAg
ICAgICAgZm9yICh2YXIgaW5kZXhOYW1lIGluIG9iamVjdFN0b3JlLmluZGV4ZXMpCisgICAgICAg
ICAgICAgICAgaW5kZXhOYW1lcy5wdXNoKGluZGV4TmFtZSk7CisgICAgICAgICAgICBpbmRleE5h
bWVzLnNvcnQoKTsKKyAgICAgICAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgaW5kZXhOYW1lcy5s
ZW5ndGg7ICsraikgeworICAgICAgICAgICAgICAgIHZhciBpbmRleCA9IG9iamVjdFN0b3JlLmlu
ZGV4ZXNbaW5kZXhOYW1lc1tqXV07CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRS
ZXN1bHQoIiAgICAgICAgIiArIGluZGV4Lm5hbWUpOworICAgICAgICAgICAgICAgIEluc3BlY3Rv
clRlc3QuYWRkUmVzdWx0KCIgICAgICAgICAgICBrZXlQYXRoOiAiICsgSlNPTi5zdHJpbmdpZnko
aW5kZXgua2V5UGF0aCkpOworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0
KCIgICAgICAgICAgICB1bmlxdWU6ICIgKyBpbmRleC51bmlxdWUpOworICAgICAgICAgICAgICAg
IEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCIgICAgICAgICAgICBtdWx0aUVudHJ5OiAiICsgaW5k
ZXgubXVsdGlFbnRyeSk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgSW5zcGVj
dG9yVGVzdC5hZGRSZXN1bHQoIiIpOworICAgIH0KKworICAgIEluc3BlY3RvclRlc3QuYWRkU25p
ZmZlcihXZWJJbnNwZWN0b3IuSW5kZXhlZERCTW9kZWwucHJvdG90eXBlLCAiX3VwZGF0ZU9yaWdp
bkRhdGFiYXNlTmFtZXMiLCBzdGVwMiwgZmFsc2UpOworCisgICAgZnVuY3Rpb24gc3RlcDIoKQor
ICAgIHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5jcmVhdGVEYXRhYmFzZShtYWluRnJhbWVJZCwg
ZGF0YWJhc2VOYW1lLCBzdGVwMyk7CisgICAgfQorCisgICAgZnVuY3Rpb24gc3RlcDMoKQorICAg
IHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRTbmlmZmVyKFdlYkluc3BlY3Rvci5JbmRleGVk
REJNb2RlbC5wcm90b3R5cGUsICJfdXBkYXRlT3JpZ2luRGF0YWJhc2VOYW1lcyIsIHN0ZXA0LCBm
YWxzZSk7CisgICAgICAgIGluZGV4ZWREQk1vZGVsLnJlZnJlc2hEYXRhYmFzZU5hbWVzKCk7Cisg
ICAgfQorCisgICAgZnVuY3Rpb24gc3RlcDQoKQorICAgIHsKKyAgICAgICAgZHVtcERhdGFiYXNl
KCk7CisKKyAgICAgICAgaW5kZXhlZERCTW9kZWwuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0
b3IuSW5kZXhlZERCTW9kZWwuRXZlbnRUeXBlcy5EYXRhYmFzZUxvYWRlZCwgc3RlcDUpOworICAg
ICAgICBpbmRleGVkREJNb2RlbC5yZWZyZXNoRGF0YWJhc2UoZGF0YWJhc2VJZCk7CisgICAgfQor
CisgICAgZnVuY3Rpb24gc3RlcDUoKQorICAgIHsKKyAgICAgICAgaW5kZXhlZERCTW9kZWwucmVt
b3ZlRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuSW5kZXhlZERCTW9kZWwuRXZlbnRUeXBlcy5E
YXRhYmFzZUxvYWRlZCwgc3RlcDUpOworICAgICAgICBkdW1wRGF0YWJhc2UoKTsKKworICAgICAg
ICBJbnNwZWN0b3JUZXN0LmNyZWF0ZU9iamVjdFN0b3JlKG1haW5GcmFtZUlkLCBkYXRhYmFzZU5h
bWUsICJ0ZXN0T2JqZWN0U3RvcmUxIiwgInRlc3Qua2V5LnBhdGgiLCB0cnVlLCBzdGVwNik7Cisg
ICAgfQorCisgICAgZnVuY3Rpb24gc3RlcDYoKQorICAgIHsKKyAgICAgICAgaW5kZXhlZERCTW9k
ZWwuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuSW5kZXhlZERCTW9kZWwuRXZlbnRUeXBl
cy5EYXRhYmFzZUxvYWRlZCwgc3RlcDcpOworICAgICAgICBpbmRleGVkREJNb2RlbC5yZWZyZXNo
RGF0YWJhc2UoZGF0YWJhc2VJZCk7CisgICAgfQorCisgICAgZnVuY3Rpb24gc3RlcDcoKQorICAg
IHsKKyAgICAgICAgaW5kZXhlZERCTW9kZWwucmVtb3ZlRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0
b3IuSW5kZXhlZERCTW9kZWwuRXZlbnRUeXBlcy5EYXRhYmFzZUxvYWRlZCwgc3RlcDcpOworICAg
ICAgICBkdW1wRGF0YWJhc2UoKTsKKworICAgICAgICBJbnNwZWN0b3JUZXN0LmNyZWF0ZU9iamVj
dFN0b3JlKG1haW5GcmFtZUlkLCBkYXRhYmFzZU5hbWUsICJ0ZXN0T2JqZWN0U3RvcmUyIiwgbnVs
bCwgZmFsc2UsIHN0ZXA4KTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBzdGVwOCgpCisgICAgewor
ICAgICAgICBpbmRleGVkREJNb2RlbC5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5JbmRl
eGVkREJNb2RlbC5FdmVudFR5cGVzLkRhdGFiYXNlTG9hZGVkLCBzdGVwOSk7CisgICAgICAgIGlu
ZGV4ZWREQk1vZGVsLnJlZnJlc2hEYXRhYmFzZShkYXRhYmFzZUlkKTsKKyAgICB9CisKKyAgICBm
dW5jdGlvbiBzdGVwOSgpCisgICAgeworICAgICAgICBpbmRleGVkREJNb2RlbC5yZW1vdmVFdmVu
dExpc3RlbmVyKFdlYkluc3BlY3Rvci5JbmRleGVkREJNb2RlbC5FdmVudFR5cGVzLkRhdGFiYXNl
TG9hZGVkLCBzdGVwOSk7CisgICAgICAgIGR1bXBEYXRhYmFzZSgpOworCisgICAgICAgIEluc3Bl
Y3RvclRlc3QuY3JlYXRlT2JqZWN0U3RvcmVJbmRleChtYWluRnJhbWVJZCwgZGF0YWJhc2VOYW1l
LCAidGVzdE9iamVjdFN0b3JlMiIsICJ0ZXN0SW5kZXhOYW1lMSIsICIiLCBmYWxzZSwgdHJ1ZSwg
c3RlcDEwKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBzdGVwMTAoKQorICAgIHsKKyAgICAgICAg
aW5kZXhlZERCTW9kZWwuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuSW5kZXhlZERCTW9k
ZWwuRXZlbnRUeXBlcy5EYXRhYmFzZUxvYWRlZCwgc3RlcDExKTsKKyAgICAgICAgaW5kZXhlZERC
TW9kZWwucmVmcmVzaERhdGFiYXNlKGRhdGFiYXNlSWQpOworICAgIH0KKworICAgIGZ1bmN0aW9u
IHN0ZXAxMSgpCisgICAgeworICAgICAgICBpbmRleGVkREJNb2RlbC5yZW1vdmVFdmVudExpc3Rl
bmVyKFdlYkluc3BlY3Rvci5JbmRleGVkREJNb2RlbC5FdmVudFR5cGVzLkRhdGFiYXNlTG9hZGVk
LCBzdGVwMTEpOworICAgICAgICBkdW1wRGF0YWJhc2UoKTsKKworICAgICAgICBJbnNwZWN0b3JU
ZXN0LmNyZWF0ZU9iamVjdFN0b3JlSW5kZXgobWFpbkZyYW1lSWQsIGRhdGFiYXNlTmFtZSwgInRl
c3RPYmplY3RTdG9yZTIiLCAidGVzdEluZGV4TmFtZTIiLCBbImtleS5wYXRoMSIsICJrZXkucGF0
aDIiXSwgdHJ1ZSwgZmFsc2UsIHN0ZXAxMik7CisgICAgfQorCisgICAgZnVuY3Rpb24gc3RlcDEy
KCkKKyAgICB7CisgICAgICAgIGluZGV4ZWREQk1vZGVsLmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5z
cGVjdG9yLkluZGV4ZWREQk1vZGVsLkV2ZW50VHlwZXMuRGF0YWJhc2VMb2FkZWQsIHN0ZXAxMyk7
CisgICAgICAgIGluZGV4ZWREQk1vZGVsLnJlZnJlc2hEYXRhYmFzZShkYXRhYmFzZUlkKTsKKyAg
ICB9CisKKyAgICBmdW5jdGlvbiBzdGVwMTMoKQorICAgIHsKKyAgICAgICAgaW5kZXhlZERCTW9k
ZWwucmVtb3ZlRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuSW5kZXhlZERCTW9kZWwuRXZlbnRU
eXBlcy5EYXRhYmFzZUxvYWRlZCwgc3RlcDEzKTsKKyAgICAgICAgZHVtcERhdGFiYXNlKCk7CisK
KyAgICAgICAgSW5zcGVjdG9yVGVzdC5kZWxldGVPYmplY3RTdG9yZUluZGV4KG1haW5GcmFtZUlk
LCBkYXRhYmFzZU5hbWUsICJ0ZXN0T2JqZWN0U3RvcmUyIiwgInRlc3RJbmRleE5hbWUyIiwgc3Rl
cDE0KTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBzdGVwMTQoKQorICAgIHsKKyAgICAgICAgaW5k
ZXhlZERCTW9kZWwuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuSW5kZXhlZERCTW9kZWwu
RXZlbnRUeXBlcy5EYXRhYmFzZUxvYWRlZCwgc3RlcDE1KTsKKyAgICAgICAgaW5kZXhlZERCTW9k
ZWwucmVmcmVzaERhdGFiYXNlKGRhdGFiYXNlSWQpOworICAgIH0KKworICAgIGZ1bmN0aW9uIHN0
ZXAxNSgpCisgICAgeworICAgICAgICBpbmRleGVkREJNb2RlbC5yZW1vdmVFdmVudExpc3RlbmVy
KFdlYkluc3BlY3Rvci5JbmRleGVkREJNb2RlbC5FdmVudFR5cGVzLkRhdGFiYXNlTG9hZGVkLCBz
dGVwMTUpOworICAgICAgICBkdW1wRGF0YWJhc2UoKTsKKworICAgICAgICBJbnNwZWN0b3JUZXN0
LmRlbGV0ZU9iamVjdFN0b3JlSW5kZXgobWFpbkZyYW1lSWQsIGRhdGFiYXNlTmFtZSwgInRlc3RP
YmplY3RTdG9yZTIiLCAidGVzdEluZGV4TmFtZTEiLCBzdGVwMTYpOworICAgIH0KKworICAgIGZ1
bmN0aW9uIHN0ZXAxNigpCisgICAgeworICAgICAgICBpbmRleGVkREJNb2RlbC5hZGRFdmVudExp
c3RlbmVyKFdlYkluc3BlY3Rvci5JbmRleGVkREJNb2RlbC5FdmVudFR5cGVzLkRhdGFiYXNlTG9h
ZGVkLCBzdGVwMTcpOworICAgICAgICBpbmRleGVkREJNb2RlbC5yZWZyZXNoRGF0YWJhc2UoZGF0
YWJhc2VJZCk7CisgICAgfQorCisgICAgZnVuY3Rpb24gc3RlcDE3KCkKKyAgICB7CisgICAgICAg
IGluZGV4ZWREQk1vZGVsLnJlbW92ZUV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLkluZGV4ZWRE
Qk1vZGVsLkV2ZW50VHlwZXMuRGF0YWJhc2VMb2FkZWQsIHN0ZXAxNyk7CisgICAgICAgIGR1bXBE
YXRhYmFzZSgpOworCisgICAgICAgIEluc3BlY3RvclRlc3QuZGVsZXRlT2JqZWN0U3RvcmUobWFp
bkZyYW1lSWQsIGRhdGFiYXNlTmFtZSwgInRlc3RPYmplY3RTdG9yZTIiLCBzdGVwMTgpOworICAg
IH0KKworICAgIGZ1bmN0aW9uIHN0ZXAxOCgpCisgICAgeworICAgICAgICBpbmRleGVkREJNb2Rl
bC5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5JbmRleGVkREJNb2RlbC5FdmVudFR5cGVz
LkRhdGFiYXNlTG9hZGVkLCBzdGVwMTkpOworICAgICAgICBpbmRleGVkREJNb2RlbC5yZWZyZXNo
RGF0YWJhc2UoZGF0YWJhc2VJZCk7CisgICAgfQorCisgICAgZnVuY3Rpb24gc3RlcDE5KCkKKyAg
ICB7CisgICAgICAgIGluZGV4ZWREQk1vZGVsLnJlbW92ZUV2ZW50TGlzdGVuZXIoV2ViSW5zcGVj
dG9yLkluZGV4ZWREQk1vZGVsLkV2ZW50VHlwZXMuRGF0YWJhc2VMb2FkZWQsIHN0ZXAxOSk7Cisg
ICAgICAgIGR1bXBEYXRhYmFzZSgpOworCisgICAgICAgIEluc3BlY3RvclRlc3QuZGVsZXRlT2Jq
ZWN0U3RvcmUobWFpbkZyYW1lSWQsIGRhdGFiYXNlTmFtZSwgInRlc3RPYmplY3RTdG9yZTEiLCBz
dGVwMjApOworICAgIH0KKworICAgIGZ1bmN0aW9uIHN0ZXAyMCgpCisgICAgeworICAgICAgICBp
bmRleGVkREJNb2RlbC5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5JbmRleGVkREJNb2Rl
bC5FdmVudFR5cGVzLkRhdGFiYXNlTG9hZGVkLCBzdGVwMjEpOworICAgICAgICBpbmRleGVkREJN
b2RlbC5yZWZyZXNoRGF0YWJhc2UoZGF0YWJhc2VJZCk7CisgICAgfQorCisgICAgZnVuY3Rpb24g
c3RlcDIxKCkKKyAgICB7CisgICAgICAgIGluZGV4ZWREQk1vZGVsLnJlbW92ZUV2ZW50TGlzdGVu
ZXIoV2ViSW5zcGVjdG9yLkluZGV4ZWREQk1vZGVsLkV2ZW50VHlwZXMuRGF0YWJhc2VMb2FkZWQs
IHN0ZXAyMSk7CisgICAgICAgIGR1bXBEYXRhYmFzZSgpOworICAgICAgICBJbnNwZWN0b3JUZXN0
LmRlbGV0ZURhdGFiYXNlKG1haW5GcmFtZUlkLCBkYXRhYmFzZU5hbWUsIHN0ZXAyMik7CisgICAg
fQorCisgICAgZnVuY3Rpb24gc3RlcDIyKCkKKyAgICB7CisgICAgICAgIEluc3BlY3RvclRlc3Qu
Y29tcGxldGVUZXN0KCk7CisgICAgfQorfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxv
YWQ9InJ1blRlc3QoKSI+Cis8cD5UZXN0cyB0aGF0IGRhdGFiYXNlIG5hbWVzIGFyZSBjb3JyZWN0
bHkgbG9hZGVkIGFuZCBzYXZlZCBpbiBJbmRleGVkREJNb2RlbC48L3A+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0
cy9pbmRleGVkZGIvaW5kZXhlZGRiLXRlc3QuanMgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jz
b2xldGUvaHR0cC10ZXN0cy9pbmRleGVkZGIvaW5kZXhlZGRiLXRlc3QuanMKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
OGFhNjc5NjMxYjJhZTExOGY5NjcxMWQwZjg1YzYzMjVmOTNkYWU1MQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL2luZGV4ZWRkYi9p
bmRleGVkZGItdGVzdC5qcwpAQCAtMCwwICsxLDI1OSBAQAordmFyIGluaXRpYWxpemVfSW5kZXhl
ZERCVGVzdCA9IGZ1bmN0aW9uKCkgeworCitJbnNwZWN0b3JUZXN0LmR1bXBJbmRleGVkREJUcmVl
ID0gZnVuY3Rpb24oKQoreworICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJEdW1waW5nIElu
ZGV4ZWREQiB0cmVlOiIpOworICAgIHZhciBpbmRleGVkREJUcmVlRWxlbWVudCA9IFdlYkluc3Bl
Y3Rvci5wYW5lbHMucmVzb3VyY2VzLmluZGV4ZWREQkxpc3RUcmVlRWxlbWVudDsKKyAgICBpZiAo
IWluZGV4ZWREQlRyZWVFbGVtZW50LmNoaWxkcmVuLmxlbmd0aCkgeworICAgICAgICBJbnNwZWN0
b3JUZXN0LmFkZFJlc3VsdCgiICAgIChlbXB0eSkiKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0K
KyAgICBmb3IgKHZhciBpID0gMDsgaSA8IGluZGV4ZWREQlRyZWVFbGVtZW50LmNoaWxkcmVuLmxl
bmd0aDsgKytpKSB7CisgICAgICAgIHZhciBkYXRhYmFzZVRyZWVFbGVtZW50ID0gaW5kZXhlZERC
VHJlZUVsZW1lbnQuY2hpbGRyZW5baV07CisgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0
KCIgICAgZGF0YWJhc2U6ICIgKyBkYXRhYmFzZVRyZWVFbGVtZW50LnRpdGxlVGV4dCk7CisgICAg
ICAgIGlmICghZGF0YWJhc2VUcmVlRWxlbWVudC5jaGlsZHJlbi5sZW5ndGgpIHsKKyAgICAgICAg
ICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCIgICAgICAgIChubyBvYmplY3Qgc3RvcmVzKSIp
OworICAgICAgICAgICAgY29udGludWU7CisgICAgICAgIH0KKyAgICAgICAgZm9yICh2YXIgaiA9
IDA7IGogPCBkYXRhYmFzZVRyZWVFbGVtZW50LmNoaWxkcmVuLmxlbmd0aDsgKytqKSB7CisgICAg
ICAgICAgICB2YXIgb2JqZWN0U3RvcmVUcmVlRWxlbWVudCA9IGRhdGFiYXNlVHJlZUVsZW1lbnQu
Y2hpbGRyZW5bal07CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiICAgICAg
ICBPYmplY3Qgc3RvcmU6ICIgKyBvYmplY3RTdG9yZVRyZWVFbGVtZW50LnRpdGxlVGV4dCk7Cisg
ICAgICAgICAgICBpZiAoIW9iamVjdFN0b3JlVHJlZUVsZW1lbnQuY2hpbGRyZW4ubGVuZ3RoKSB7
CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIiAgICAgICAgICAgIChu
byBpbmRleGVzKSIpOworICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgfQor
ICAgICAgICAgICAgZm9yICh2YXIgaiA9IDA7IGogPCBvYmplY3RTdG9yZVRyZWVFbGVtZW50LmNo
aWxkcmVuLmxlbmd0aDsgKytqKSB7CisgICAgICAgICAgICAgICAgdmFyIGluZGV4VHJlZUVsZW1l
bnQgPSBvYmplY3RTdG9yZVRyZWVFbGVtZW50LmNoaWxkcmVuW2pdOworICAgICAgICAgICAgICAg
IEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCIgICAgICAgICAgICBJbmRleDogIiArIGluZGV4VHJl
ZUVsZW1lbnQudGl0bGVUZXh0KTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0KK30K
KwordmFyIGxhc3RDYWxsYmFja0lkID0gMDsKK3ZhciBjYWxsYmFja3MgPSB7fTsKK3ZhciBjYWxs
YmFja0lkUHJlZml4ID0gIkluc3BlY3RvclRlc3QuSW5kZXhlZERCX2NhbGxiYWNrIjsKK0luc3Bl
Y3RvclRlc3QuZXZhbHVhdGVXaXRoQ2FsbGJhY2sgPSBmdW5jdGlvbihmcmFtZUlkLCBtZXRob2RO
YW1lLCBwYXJhbWV0ZXJzLCBjYWxsYmFjaykKK3sKKyAgICBJbnNwZWN0b3JUZXN0Ll9pbnN0YWxs
SW5kZXhlZERCU25pZmZlcigpOworICAgIHZhciBjYWxsYmFja0lkID0gKytsYXN0Q2FsbGJhY2tJ
ZDsKKyAgICBjYWxsYmFja3NbY2FsbGJhY2tJZF0gPSBjYWxsYmFjazsKKyAgICB2YXIgcGFyYW1l
dGVyc1N0cmluZyA9ICJkaXNwYXRjaENhbGxiYWNrLmJpbmQodGhpcywgXCIiICsgY2FsbGJhY2tJ
ZFByZWZpeCArIGNhbGxiYWNrSWQgKyAiXCIpIjsKKyAgICBmb3IgKHZhciBpID0gMDsgaSA8IHBh
cmFtZXRlcnMubGVuZ3RoOyArK2kpCisgICAgICAgIHBhcmFtZXRlcnNTdHJpbmcgKz0gIiwgIiAr
IEpTT04uc3RyaW5naWZ5KHBhcmFtZXRlcnNbaV0pOworCisgICAgdmFyIHJlcXVlc3RTdHJpbmcg
PSBtZXRob2ROYW1lICsgIigiICsgcGFyYW1ldGVyc1N0cmluZyArICIpIjsKKyAgICBJbnNwZWN0
b3JUZXN0LmV2YWx1YXRlSW5QYWdlKHJlcXVlc3RTdHJpbmcpOworfTsKKworSW5zcGVjdG9yVGVz
dC5faW5zdGFsbEluZGV4ZWREQlNuaWZmZXIgPSBmdW5jdGlvbigpCit7CisgICAgSW5zcGVjdG9y
VGVzdC5hZGRDb25zb2xlU25pZmZlcihjb25zb2xlTWVzc2FnZU92ZXJyaWRlLCBmYWxzZSk7CisK
KyAgICBmdW5jdGlvbiBjb25zb2xlTWVzc2FnZU92ZXJyaWRlKG1zZykKKyAgICB7CisgICAgICAg
IHZhciB0ZXh0ID0gbXNnLl9tZXNzYWdlVGV4dDsKKyAgICAgICAgaWYgKCF0ZXh0LnN0YXJ0c1dp
dGgoY2FsbGJhY2tJZFByZWZpeCkpIHsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkQ29u
c29sZVNuaWZmZXIoY29uc29sZU1lc3NhZ2VPdmVycmlkZSwgZmFsc2UpOworICAgICAgICAgICAg
cmV0dXJuOworICAgICAgICB9CisgICAgICAgIHZhciBjYWxsYmFja0lkID0gdGV4dC5zdWJzdHJp
bmcoY2FsbGJhY2tJZFByZWZpeC5sZW5ndGgpOworICAgICAgICBjYWxsYmFja3NbY2FsbGJhY2tJ
ZF0uY2FsbCgpOworICAgICAgICBkZWxldGUgY2FsbGJhY2tzW2NhbGxiYWNrSWRdOworICAgIH0K
K307CisKK0luc3BlY3RvclRlc3QuY3JlYXRlRGF0YWJhc2UgPSBmdW5jdGlvbihmcmFtZUlkLCBk
YXRhYmFzZU5hbWUsIGNhbGxiYWNrKQoreworICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVXaXRo
Q2FsbGJhY2soZnJhbWVJZCwgImNyZWF0ZURhdGFiYXNlIiwgW2RhdGFiYXNlTmFtZV0sIGNhbGxi
YWNrKQorfTsKKworSW5zcGVjdG9yVGVzdC5kZWxldGVEYXRhYmFzZSA9IGZ1bmN0aW9uKGZyYW1l
SWQsIGRhdGFiYXNlTmFtZSwgY2FsbGJhY2spCit7CisgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0
ZVdpdGhDYWxsYmFjayhmcmFtZUlkLCAiZGVsZXRlRGF0YWJhc2UiLCBbZGF0YWJhc2VOYW1lXSwg
Y2FsbGJhY2spCit9OworCitJbnNwZWN0b3JUZXN0LmNyZWF0ZU9iamVjdFN0b3JlID0gZnVuY3Rp
b24oZnJhbWVJZCwgZGF0YWJhc2VOYW1lLCBvYmplY3RTdG9yZU5hbWUsIGtleVBhdGgsIGF1dG9J
bmNyZW1lbnQsIGNhbGxiYWNrKQoreworICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVXaXRoQ2Fs
bGJhY2soZnJhbWVJZCwgImNyZWF0ZU9iamVjdFN0b3JlIiwgW2RhdGFiYXNlTmFtZSwgb2JqZWN0
U3RvcmVOYW1lLCBrZXlQYXRoLCBhdXRvSW5jcmVtZW50XSwgY2FsbGJhY2spCit9OworCitJbnNw
ZWN0b3JUZXN0LmRlbGV0ZU9iamVjdFN0b3JlID0gZnVuY3Rpb24oZnJhbWVJZCwgZGF0YWJhc2VO
YW1lLCBvYmplY3RTdG9yZU5hbWUsIGNhbGxiYWNrKQoreworICAgIEluc3BlY3RvclRlc3QuZXZh
bHVhdGVXaXRoQ2FsbGJhY2soZnJhbWVJZCwgImRlbGV0ZU9iamVjdFN0b3JlIiwgW2RhdGFiYXNl
TmFtZSwgb2JqZWN0U3RvcmVOYW1lXSwgY2FsbGJhY2spCit9OworCitJbnNwZWN0b3JUZXN0LmNy
ZWF0ZU9iamVjdFN0b3JlSW5kZXggPSBmdW5jdGlvbihmcmFtZUlkLCBkYXRhYmFzZU5hbWUsIG9i
amVjdFN0b3JlTmFtZSwgb2JqZWN0U3RvcmVJbmRleE5hbWUsIGtleVBhdGgsIHVuaXF1ZSwgbXVs
dGlFbnRyeSwgY2FsbGJhY2spCit7CisgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZVdpdGhDYWxs
YmFjayhmcmFtZUlkLCAiY3JlYXRlT2JqZWN0U3RvcmVJbmRleCIsIFtkYXRhYmFzZU5hbWUsIG9i
amVjdFN0b3JlTmFtZSwgb2JqZWN0U3RvcmVJbmRleE5hbWUsIGtleVBhdGgsIHVuaXF1ZSwgbXVs
dGlFbnRyeV0sIGNhbGxiYWNrKQorfTsKKworSW5zcGVjdG9yVGVzdC5kZWxldGVPYmplY3RTdG9y
ZUluZGV4ID0gZnVuY3Rpb24oZnJhbWVJZCwgZGF0YWJhc2VOYW1lLCBvYmplY3RTdG9yZU5hbWUs
IG9iamVjdFN0b3JlSW5kZXhOYW1lLCBjYWxsYmFjaykKK3sKKyAgICBJbnNwZWN0b3JUZXN0LmV2
YWx1YXRlV2l0aENhbGxiYWNrKGZyYW1lSWQsICJkZWxldGVPYmplY3RTdG9yZUluZGV4IiwgW2Rh
dGFiYXNlTmFtZSwgb2JqZWN0U3RvcmVOYW1lLCBvYmplY3RTdG9yZUluZGV4TmFtZV0sIGNhbGxi
YWNrKQorfTsKKworSW5zcGVjdG9yVGVzdC5hZGRJREJWYWx1ZSA9IGZ1bmN0aW9uKGZyYW1lSWQs
IGRhdGFiYXNlTmFtZSwgb2JqZWN0U3RvcmVOYW1lLCB2YWx1ZSwga2V5LCBjYWxsYmFjaykKK3sK
KyAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlV2l0aENhbGxiYWNrKGZyYW1lSWQsICJhZGRJREJW
YWx1ZSIsIFtkYXRhYmFzZU5hbWUsIG9iamVjdFN0b3JlTmFtZSwgdmFsdWUsIGtleV0sIGNhbGxi
YWNrKQorfTsKKworfTsKKwordmFyIGluZGV4ZWREQiA9IHdpbmRvdy5pbmRleGVkZGIgfHwgd2lu
ZG93LndlYmtpdEluZGV4ZWREQjsKK3dpbmRvdy5JREJUcmFuc2FjdGlvbiA9IHdpbmRvdy5JREJU
cmFuc2FjdGlvbiB8fCB3aW5kb3cud2Via2l0SURCVHJhbnNhY3Rpb247CisKK2Z1bmN0aW9uIGRp
c3BhdGNoQ2FsbGJhY2soY2FsbGJhY2tJZCkKK3sKKyAgICBjb25zb2xlLmxvZyhjYWxsYmFja0lk
KTsKK30KKworZnVuY3Rpb24gb25JbmRleGVkREJFcnJvcihlKQoreworICAgIGNvbnNvbGUuZXJy
b3IoIkluZGV4ZWREQiBlcnJvcjogIiArIGUpOworfQorCitmdW5jdGlvbiBvbkluZGV4ZWREQkJs
b2NrZWQoZSkKK3sKKyAgICBjb25zb2xlLmVycm9yKCJJbmRleGVkREIgYmxvY2tlZDogIiArIGUp
OworfQorCitmdW5jdGlvbiBkb1dpdGhEYXRhYmFzZShkYXRhYmFzZU5hbWUsIGNhbGxiYWNrKQor
eworICAgIGZ1bmN0aW9uIGlubmVyQ2FsbGJhY2soKQorICAgIHsKKyAgICAgICAgdmFyIGRiID0g
cmVxdWVzdC5yZXN1bHQ7CisgICAgICAgIGNhbGxiYWNrKGRiKTsKKyAgICB9CisKKyAgICB2YXIg
cmVxdWVzdCA9IGluZGV4ZWREQi5vcGVuKGRhdGFiYXNlTmFtZSk7CisgICAgcmVxdWVzdC5vbmJs
b2NrZWQgPSBvbkluZGV4ZWREQkJsb2NrZWQ7CisgICAgcmVxdWVzdC5vbmVycm9yID0gb25JbmRl
eGVkREJFcnJvcjsKKyAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IGlubmVyQ2FsbGJhY2s7Cit9CisK
K2Z1bmN0aW9uIGRvV2l0aFZlcnNpb25UcmFuc2FjdGlvbihkYXRhYmFzZU5hbWUsIGNhbGxiYWNr
LCBjb21taXRDYWxsYmFjaykKK3sKKyAgICBkb1dpdGhEYXRhYmFzZShkYXRhYmFzZU5hbWUsIHN0
ZXAyKTsKKworICAgIGZ1bmN0aW9uIHN0ZXAyKGRiKQorICAgIHsKKyAgICAgICAgdmFyIHZlcnNp
b24gPSBkYi52ZXJzaW9uOworICAgICAgICBkYi5jbG9zZSgpOworICAgICAgICByZXF1ZXN0ID0g
aW5kZXhlZERCLm9wZW4oZGF0YWJhc2VOYW1lLCB2ZXJzaW9uICsgMSk7CisgICAgICAgIHJlcXVl
c3Qub25lcnJvciA9IG9uSW5kZXhlZERCRXJyb3I7CisgICAgICAgIHJlcXVlc3Qub251cGdyYWRl
bmVlZGVkID0gb25VcGdyYWRlTmVlZGVkOworICAgICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IG9u
T3BlbmVkOworCisgICAgICAgIGZ1bmN0aW9uIG9uVXBncmFkZU5lZWRlZChlKQorICAgICAgICB7
CisgICAgICAgICAgICB2YXIgZGIgPSBlLnRhcmdldC5yZXN1bHQ7CisgICAgICAgICAgICB2YXIg
dHJhbnMgPSBlLnRhcmdldC50cmFuc2FjdGlvbjsKKyAgICAgICAgICAgIGNhbGxiYWNrKGRiLCB0
cmFucyk7CisgICAgICAgIH0KKworICAgICAgICBmdW5jdGlvbiBvbk9wZW5lZChlKQorICAgICAg
ICB7CisgICAgICAgICAgICB2YXIgZGIgPSBlLnRhcmdldC5yZXN1bHQ7CisgICAgICAgICAgICBk
Yi5jbG9zZSgpOworICAgICAgICAgICAgY29tbWl0Q2FsbGJhY2soKTsKKyAgICAgICAgfQorICAg
IH0KK30KKworZnVuY3Rpb24gZG9XaXRoUmVhZFdyaXRlVHJhbnNhY3Rpb24oZGF0YWJhc2VOYW1l
LCBvYmplY3RTdG9yZU5hbWUsIGNhbGxiYWNrLCBjb21taXRDYWxsYmFjaykKK3sKKyAgICBkb1dp
dGhEYXRhYmFzZShkYXRhYmFzZU5hbWUsIHN0ZXAyKTsKKworICAgIGZ1bmN0aW9uIHN0ZXAyKGRi
KQorICAgIHsKKyAgICAgICAgdmFyIHRyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24oW29iamVj
dFN0b3JlTmFtZV0sICdyZWFkd3JpdGUnKTsKKyAgICAgICAgdmFyIG9iamVjdFN0b3JlID0gdHJh
bnNhY3Rpb24ub2JqZWN0U3RvcmUob2JqZWN0U3RvcmVOYW1lKTsKKyAgICAgICAgY2FsbGJhY2so
b2JqZWN0U3RvcmUsIGlubmVyQ29tbWl0Q2FsbGJhY2spOworCisgICAgICAgIGZ1bmN0aW9uIGlu
bmVyQ29tbWl0Q2FsbGJhY2soKQorICAgICAgICB7CisgICAgICAgICAgICBkYi5jbG9zZSgpOwor
ICAgICAgICAgICAgY29tbWl0Q2FsbGJhY2soKTsKKyAgICAgICAgfQorICAgIH0KK30KKworZnVu
Y3Rpb24gY3JlYXRlRGF0YWJhc2UoY2FsbGJhY2ssIGRhdGFiYXNlTmFtZSkKK3sKKyAgICB2YXIg
cmVxdWVzdCA9IGluZGV4ZWREQi5vcGVuKGRhdGFiYXNlTmFtZSk7CisgICAgcmVxdWVzdC5vbmVy
cm9yID0gb25JbmRleGVkREJFcnJvcjsKKyAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IGNsb3NlRGF0
YWJhc2U7CisKKyAgICBmdW5jdGlvbiBjbG9zZURhdGFiYXNlKCkKKyAgICB7CisgICAgICAgIHJl
cXVlc3QucmVzdWx0LmNsb3NlKCk7CisgICAgICAgIGNhbGxiYWNrKCk7CisgICAgfQorfQorCitm
dW5jdGlvbiBkZWxldGVEYXRhYmFzZShjYWxsYmFjaywgZGF0YWJhc2VOYW1lKQoreworICAgIHZh
ciByZXF1ZXN0ID0gaW5kZXhlZERCLmRlbGV0ZURhdGFiYXNlKGRhdGFiYXNlTmFtZSk7CisgICAg
cmVxdWVzdC5vbmVycm9yID0gb25JbmRleGVkREJFcnJvcjsKKyAgICByZXF1ZXN0Lm9uc3VjY2Vz
cyA9IGNhbGxiYWNrOworfQorCitmdW5jdGlvbiBjcmVhdGVPYmplY3RTdG9yZShjYWxsYmFjaywg
ZGF0YWJhc2VOYW1lLCBvYmplY3RTdG9yZU5hbWUsIGtleVBhdGgsIGF1dG9JbmNyZW1lbnQpCit7
CisgICAgZG9XaXRoVmVyc2lvblRyYW5zYWN0aW9uKGRhdGFiYXNlTmFtZSwgd2l0aFRyYW5zYWN0
aW9uQ2FsbGJhY2ssIGNhbGxiYWNrKTsKKworICAgIGZ1bmN0aW9uIHdpdGhUcmFuc2FjdGlvbkNh
bGxiYWNrKGRiLCB0cmFuc2FjdGlvbikKKyAgICB7CisgICAgICAgIHZhciBzdG9yZSA9IGRiLmNy
ZWF0ZU9iamVjdFN0b3JlKG9iamVjdFN0b3JlTmFtZSwgeyBrZXlQYXRoOiBrZXlQYXRoLCBhdXRv
SW5jcmVtZW50OiBhdXRvSW5jcmVtZW50IH0pOworICAgIH0KK30KKworZnVuY3Rpb24gZGVsZXRl
T2JqZWN0U3RvcmUoY2FsbGJhY2ssIGRhdGFiYXNlTmFtZSwgb2JqZWN0U3RvcmVOYW1lKQorewor
ICAgIGRvV2l0aFZlcnNpb25UcmFuc2FjdGlvbihkYXRhYmFzZU5hbWUsIHdpdGhUcmFuc2FjdGlv
bkNhbGxiYWNrLCBjYWxsYmFjayk7CisKKyAgICBmdW5jdGlvbiB3aXRoVHJhbnNhY3Rpb25DYWxs
YmFjayhkYiwgdHJhbnNhY3Rpb24pCisgICAgeworICAgICAgICB2YXIgc3RvcmUgPSBkYi5kZWxl
dGVPYmplY3RTdG9yZShvYmplY3RTdG9yZU5hbWUpOworICAgIH0KK30KKworZnVuY3Rpb24gY3Jl
YXRlT2JqZWN0U3RvcmVJbmRleChjYWxsYmFjaywgZGF0YWJhc2VOYW1lLCBvYmplY3RTdG9yZU5h
bWUsIG9iamVjdFN0b3JlSW5kZXhOYW1lLCBrZXlQYXRoLCB1bmlxdWUsIG11bHRpRW50cnkpCit7
CisgICAgZG9XaXRoVmVyc2lvblRyYW5zYWN0aW9uKGRhdGFiYXNlTmFtZSwgd2l0aFRyYW5zYWN0
aW9uQ2FsbGJhY2ssIGNhbGxiYWNrKTsKKworICAgIGZ1bmN0aW9uIHdpdGhUcmFuc2FjdGlvbkNh
bGxiYWNrKGRiLCB0cmFuc2FjdGlvbikKKyAgICB7CisgICAgICAgIHZhciBvYmplY3RTdG9yZSA9
IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKG9iamVjdFN0b3JlTmFtZSk7CisgICAgICAgIG9iamVj
dFN0b3JlLmNyZWF0ZUluZGV4KG9iamVjdFN0b3JlSW5kZXhOYW1lLCBrZXlQYXRoLCB7IHVuaXF1
ZTogdW5pcXVlLCBtdWx0aUVudHJ5OiBtdWx0aUVudHJ5IH0pOworICAgIH0KK30KKworZnVuY3Rp
b24gZGVsZXRlT2JqZWN0U3RvcmVJbmRleChjYWxsYmFjaywgZGF0YWJhc2VOYW1lLCBvYmplY3RT
dG9yZU5hbWUsIG9iamVjdFN0b3JlSW5kZXhOYW1lKQoreworICAgIGRvV2l0aFZlcnNpb25UcmFu
c2FjdGlvbihkYXRhYmFzZU5hbWUsIHdpdGhUcmFuc2FjdGlvbkNhbGxiYWNrLCBjYWxsYmFjayk7
CisKKyAgICBmdW5jdGlvbiB3aXRoVHJhbnNhY3Rpb25DYWxsYmFjayhkYiwgdHJhbnNhY3Rpb24p
CisgICAgeworICAgICAgICB2YXIgb2JqZWN0U3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9y
ZShvYmplY3RTdG9yZU5hbWUpOworICAgICAgICBvYmplY3RTdG9yZS5kZWxldGVJbmRleChvYmpl
Y3RTdG9yZUluZGV4TmFtZSk7CisgICAgfQorfQorCitmdW5jdGlvbiBhZGRJREJWYWx1ZShjYWxs
YmFjaywgZGF0YWJhc2VOYW1lLCBvYmplY3RTdG9yZU5hbWUsIHZhbHVlLCBrZXkpCit7CisgICAg
ZG9XaXRoUmVhZFdyaXRlVHJhbnNhY3Rpb24oZGF0YWJhc2VOYW1lLCBvYmplY3RTdG9yZU5hbWUs
IHdpdGhUcmFuc2FjdGlvbkNhbGxiYWNrLCBjYWxsYmFjaykKKworICAgIGZ1bmN0aW9uIHdpdGhU
cmFuc2FjdGlvbkNhbGxiYWNrKG9iamVjdFN0b3JlLCBjb21taXRDYWxsYmFjaykKKyAgICB7Cisg
ICAgICAgIHZhciByZXF1ZXN0OworICAgICAgICBpZiAoa2V5KQorICAgICAgICAgICAgcmVxdWVz
dCA9IG9iamVjdFN0b3JlLmFkZCh2YWx1ZSwga2V5KTsKKyAgICAgICAgZWxzZQorICAgICAgICAg
ICAgcmVxdWVzdCA9IG9iamVjdFN0b3JlLmFkZCh2YWx1ZSk7CisgICAgICAgIHJlcXVlc3Qub25l
cnJvciA9IG9uSW5kZXhlZERCRXJyb3I7CisgICAgICAgIHJlcXVlc3Qub25zdWNjZXNzID0gY29t
bWl0Q2FsbGJhY2s7CisgICAgfQorfQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0
b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9pbmRleGVkZGIvcmVzb3VyY2VzLXBhbmVsLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL2luZGV4ZWRk
Yi9yZXNvdXJjZXMtcGFuZWwtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQzY2FjMWNhNTMwZDEx
YzllMWQyMjIwY2MzY2ZkYjg0NjM4NjM5ZGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9pbmRleGVkZGIvcmVzb3VyY2VzLXBhbmVs
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTA4
OiBJbnNwZWN0b3JUZXN0LkluZGV4ZWREQl9jYWxsYmFjazEKK0NPTlNPTEUgTUVTU0FHRTogbGlu
ZSAxMDg6IEluc3BlY3RvclRlc3QuSW5kZXhlZERCX2NhbGxiYWNrMgorQ09OU09MRSBNRVNTQUdF
OiBsaW5lIDEwODogSW5zcGVjdG9yVGVzdC5JbmRleGVkREJfY2FsbGJhY2szCitDT05TT0xFIE1F
U1NBR0U6IGxpbmUgMTA4OiBJbnNwZWN0b3JUZXN0LkluZGV4ZWREQl9jYWxsYmFjazQKK0NPTlNP
TEUgTUVTU0FHRTogbGluZSAxMDg6IEluc3BlY3RvclRlc3QuSW5kZXhlZERCX2NhbGxiYWNrNQor
Q09OU09MRSBNRVNTQUdFOiBsaW5lIDEwODogSW5zcGVjdG9yVGVzdC5JbmRleGVkREJfY2FsbGJh
Y2s2CitUZXN0cyBJbmRleGVkREIgdHJlZSBlbGVtZW50IG9uIHJlc291cmNlcyBwYW5lbC4KKwor
RXhwYW5kZWQgSW5kZXhlZERCIHRyZWUgZWxlbWVudC4KK0R1bXBpbmcgSW5kZXhlZERCIHRyZWU6
CisgICAgKGVtcHR5KQorQ3JlYXRlZCBkYXRhYmFzZS4KK0RhdGFiYXNlIGFkZGVkLgorRGF0YWJh
c2UgbG9hZGVkLgorRHVtcGluZyBJbmRleGVkREIgdHJlZToKKyAgICBkYXRhYmFzZTogdGVzdERh
dGFiYXNlIC0gaHR0cDovLzEyNy4wLjAuMTo4MDAwCisgICAgICAgIE9iamVjdCBzdG9yZTogdGVz
dE9iamVjdFN0b3JlCisgICAgICAgICAgICBJbmRleDogdGVzdEluZGV4TmFtZQorTmF2aWdhdGVk
IHRvIGFub3RoZXIgc2VjdXJpdHkgb3JpZ2luLgorRGF0YWJhc2UgcmVtb3ZlZC4KK1BhZ2UgcmVs
b2FkZWQuCitEdW1waW5nIEluZGV4ZWREQiB0cmVlOgorICAgIChlbXB0eSkKK05hdmlnYXRlZCBi
YWNrLgorRGF0YWJhc2UgYWRkZWQuCitEYXRhYmFzZSBsb2FkZWQuCitQYWdlIHJlbG9hZGVkLgor
RHVtcGluZyBJbmRleGVkREIgdHJlZToKKyAgICBkYXRhYmFzZTogdGVzdERhdGFiYXNlIC0gaHR0
cDovLzEyNy4wLjAuMTo4MDAwCisgICAgICAgIE9iamVjdCBzdG9yZTogdGVzdE9iamVjdFN0b3Jl
CisgICAgICAgICAgICBJbmRleDogdGVzdEluZGV4TmFtZQorRGVsZXRlZCBkYXRhYmFzZS4KK0Rh
dGFiYXNlIHJlbW92ZWQuCitEdW1waW5nIEluZGV4ZWREQiB0cmVlOgorICAgIChlbXB0eSkKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvaW5k
ZXhlZGRiL3Jlc291cmNlcy1wYW5lbC5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29s
ZXRlL2h0dHAtdGVzdHMvaW5kZXhlZGRiL3Jlc291cmNlcy1wYW5lbC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmE1NjcxNTFlYjdjZTFiYmMzY2I3ZTg1OWI3NmE3YzBlMGJkMjNhZmMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9pbmRleGVkZGIv
cmVzb3VyY2VzLXBhbmVsLmh0bWwKQEAgLTAsMCArMSwxMjUgQEAKKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
ImluZGV4ZWRkYi10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CitmdW5jdGlvbiB0ZXN0KCkK
K3sKKyAgICB2YXIgbWFpbkZyYW1lSWQgPSBXZWJJbnNwZWN0b3IucmVzb3VyY2VUcmVlTW9kZWwu
bWFpbkZyYW1lLmlkOworICAgIHZhciBpbmRleGVkREJNb2RlbDsKKyAgICB2YXIgd2l0aG91dElu
ZGV4ZWREQlVSTCA9ICJodHRwOi8vbG9jYWxob3N0OjgwMDAvaW5zcGVjdG9yL2luZGV4ZWRkYi9y
ZXNvdXJjZXMvd2l0aG91dC1pbmRleGVkLWRiLmh0bWwiOworICAgIHZhciBvcmlnaW5hbFVSTCA9
ICJodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL2luZGV4ZWRkYi9yZXNvdXJjZXMtcGFu
ZWwuaHRtbCI7CisgICAgdmFyIGRhdGFiYXNlTmFtZSA9ICJ0ZXN0RGF0YWJhc2UiOworICAgIHZh
ciBvYmplY3RTdG9yZU5hbWUgPSAidGVzdE9iamVjdFN0b3JlIjsKKyAgICB2YXIgaW5kZXhOYW1l
ID0gInRlc3RJbmRleE5hbWUiOworCisgICAgZnVuY3Rpb24gY3JlYXRlRGF0YWJhc2UoY2FsbGJh
Y2spCisgICAgeworICAgICAgICBJbnNwZWN0b3JUZXN0LmNyZWF0ZURhdGFiYXNlKG1haW5GcmFt
ZUlkLCBkYXRhYmFzZU5hbWUsIHN0ZXAyKTsKKworICAgICAgICBmdW5jdGlvbiBzdGVwMigpCisg
ICAgICAgIHsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuY3JlYXRlT2JqZWN0U3RvcmUobWFp
bkZyYW1lSWQsIGRhdGFiYXNlTmFtZSwgb2JqZWN0U3RvcmVOYW1lLCAiIiwgZmFsc2UsIHN0ZXAz
KTsKKyAgICAgICAgfQorCisgICAgICAgIGZ1bmN0aW9uIHN0ZXAzKCkKKyAgICAgICAgeworICAg
ICAgICAgICAgSW5zcGVjdG9yVGVzdC5jcmVhdGVPYmplY3RTdG9yZUluZGV4KG1haW5GcmFtZUlk
LCBkYXRhYmFzZU5hbWUsIG9iamVjdFN0b3JlTmFtZSwgaW5kZXhOYW1lLCAiIiwgZmFsc2UsIGZh
bHNlLCBjYWxsYmFjayk7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBmdW5jdGlvbiBkZWxldGVE
YXRhYmFzZShjYWxsYmFjaykKKyAgICB7CisgICAgICAgIEluc3BlY3RvclRlc3QuZGVsZXRlT2Jq
ZWN0U3RvcmVJbmRleChtYWluRnJhbWVJZCwgZGF0YWJhc2VOYW1lLCBvYmplY3RTdG9yZU5hbWUs
IGluZGV4TmFtZSwgc3RlcDIpOworCisgICAgICAgIGZ1bmN0aW9uIHN0ZXAyKCkKKyAgICAgICAg
eworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5kZWxldGVPYmplY3RTdG9yZShtYWluRnJhbWVJ
ZCwgZGF0YWJhc2VOYW1lLCBvYmplY3RTdG9yZU5hbWUsIHN0ZXAzKTsKKyAgICAgICAgfQorCisg
ICAgICAgIGZ1bmN0aW9uIHN0ZXAzKCkKKyAgICAgICAgeworICAgICAgICAgICAgSW5zcGVjdG9y
VGVzdC5kZWxldGVEYXRhYmFzZShtYWluRnJhbWVJZCwgZGF0YWJhc2VOYW1lLCBjYWxsYmFjayk7
CisgICAgICAgIH0KKyAgICB9CisKKyAgICBXZWJJbnNwZWN0b3Iuc2hvd1BhbmVsKCJyZXNvdXJj
ZXMiKTsKKworICAgIEluc3BlY3RvclRlc3QuYWRkU25pZmZlcihXZWJJbnNwZWN0b3IuSW5kZXhl
ZERCVHJlZUVsZW1lbnQucHJvdG90eXBlLCAiX2luZGV4ZWREQkFkZGVkIiwgaW5kZXhlZERCQWRk
ZWQsIHRydWUpOworICAgIGZ1bmN0aW9uIGluZGV4ZWREQkFkZGVkKCkKKyAgICB7CisgICAgICAg
IEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJEYXRhYmFzZSBhZGRlZC4iKTsKKyAgICB9CisKKyAg
ICBJbnNwZWN0b3JUZXN0LmFkZFNuaWZmZXIoV2ViSW5zcGVjdG9yLkluZGV4ZWREQlRyZWVFbGVt
ZW50LnByb3RvdHlwZSwgIl9pbmRleGVkREJSZW1vdmVkIiwgaW5kZXhlZERCUmVtb3ZlZCwgdHJ1
ZSk7CisgICAgZnVuY3Rpb24gaW5kZXhlZERCUmVtb3ZlZCgpCisgICAgeworICAgICAgICBJbnNw
ZWN0b3JUZXN0LmFkZFJlc3VsdCgiRGF0YWJhc2UgcmVtb3ZlZC4iKTsKKyAgICB9CisKKyAgICBJ
bnNwZWN0b3JUZXN0LmFkZFNuaWZmZXIoV2ViSW5zcGVjdG9yLkluZGV4ZWREQlRyZWVFbGVtZW50
LnByb3RvdHlwZSwgIl9pbmRleGVkREJMb2FkZWQiLCBpbmRleGVkREJMb2FkZWQsIHRydWUpOwor
ICAgIGZ1bmN0aW9uIGluZGV4ZWREQkxvYWRlZCgpCisgICAgeworICAgICAgICBJbnNwZWN0b3JU
ZXN0LmFkZFJlc3VsdCgiRGF0YWJhc2UgbG9hZGVkLiIpOworICAgIH0KKworICAgIEluc3BlY3Rv
clRlc3QuYWRkUmVzdWx0KCJFeHBhbmRlZCBJbmRleGVkREIgdHJlZSBlbGVtZW50LiIpOworICAg
IFdlYkluc3BlY3Rvci5wYW5lbHMucmVzb3VyY2VzLmluZGV4ZWREQkxpc3RUcmVlRWxlbWVudC5l
eHBhbmQoKTsKKworICAgIEluc3BlY3RvclRlc3QuYWRkU25pZmZlcihXZWJJbnNwZWN0b3IuSW5k
ZXhlZERCTW9kZWwucHJvdG90eXBlLCAiX3VwZGF0ZU9yaWdpbkRhdGFiYXNlTmFtZXMiLCBpbmRl
eGVkREJUcmVlRWxlbWVudEV4cGFuZGVkLCBmYWxzZSk7CisgICAgZnVuY3Rpb24gaW5kZXhlZERC
VHJlZUVsZW1lbnRFeHBhbmRlZCgpCisgICAgeworICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBJ
bmRleGVkREJUcmVlKCk7CisgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJDcmVhdGVk
IGRhdGFiYXNlLiIpOworICAgICAgICBjcmVhdGVEYXRhYmFzZShkYXRhYmFzZUNyZWF0ZWQpOwor
ICAgIH0KKworICAgIGZ1bmN0aW9uIGRhdGFiYXNlQ3JlYXRlZCgpCisgICAgeworICAgICAgICBp
bmRleGVkREJNb2RlbCA9IFdlYkluc3BlY3Rvci5wYW5lbHMucmVzb3VyY2VzLmluZGV4ZWREQkxp
c3RUcmVlRWxlbWVudC5faW5kZXhlZERCTW9kZWw7CisgICAgICAgIGluZGV4ZWREQk1vZGVsLmFk
ZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLkluZGV4ZWREQk1vZGVsLkV2ZW50VHlwZXMuRGF0
YWJhc2VMb2FkZWQsIGRhdGFiYXNlTG9hZGVkKTsKKyAgICAgICAgV2ViSW5zcGVjdG9yLnBhbmVs
cy5yZXNvdXJjZXMuaW5kZXhlZERCTGlzdFRyZWVFbGVtZW50LnJlZnJlc2hJbmRleGVkREIoKTsK
KyAgICB9CisKKyAgICBmdW5jdGlvbiBkYXRhYmFzZUxvYWRlZCgpCisgICAgeworICAgICAgICBp
bmRleGVkREJNb2RlbC5yZW1vdmVFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5JbmRleGVkREJN
b2RlbC5FdmVudFR5cGVzLkRhdGFiYXNlTG9hZGVkLCBkYXRhYmFzZUxvYWRlZCk7CisgICAgICAg
IEluc3BlY3RvclRlc3QuZHVtcEluZGV4ZWREQlRyZWUoKTsKKyAgICAgICAgSW5zcGVjdG9yVGVz
dC5hZGRSZXN1bHQoIk5hdmlnYXRlZCB0byBhbm90aGVyIHNlY3VyaXR5IG9yaWdpbi4iKTsKKyAg
ICAgICAgSW5zcGVjdG9yVGVzdC5uYXZpZ2F0ZSh3aXRob3V0SW5kZXhlZERCVVJMLCBuYXZpZ2F0
ZWRBd2F5KTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBuYXZpZ2F0ZWRBd2F5KCkKKyAgICB7Cisg
ICAgICAgIEluc3BlY3RvclRlc3QuZHVtcEluZGV4ZWREQlRyZWUoKTsKKyAgICAgICAgSW5zcGVj
dG9yVGVzdC5hZGRSZXN1bHQoIk5hdmlnYXRlZCBiYWNrLiIpOworICAgICAgICBJbnNwZWN0b3JU
ZXN0Lm5hdmlnYXRlKG9yaWdpbmFsVVJMLCBuYXZpZ2F0ZWRCYWNrKTsKKyAgICB9CisKKyAgICBm
dW5jdGlvbiBuYXZpZ2F0ZWRCYWNrKCkKKyAgICB7CisgICAgICAgIEluc3BlY3RvclRlc3QuZHVt
cEluZGV4ZWREQlRyZWUoKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIkRlbGV0
ZWQgZGF0YWJhc2UuIik7CisgICAgICAgIGRlbGV0ZURhdGFiYXNlKGRhdGFiYXNlRGVsZXRlZCk7
CisgICAgfQorCisgICAgZnVuY3Rpb24gZGF0YWJhc2VEZWxldGVkKCkKKyAgICB7CisgICAgICAg
IFdlYkluc3BlY3Rvci5wYW5lbHMucmVzb3VyY2VzLmluZGV4ZWREQkxpc3RUcmVlRWxlbWVudC5y
ZWZyZXNoSW5kZXhlZERCKCk7CisgICAgICAgIEluc3BlY3RvclRlc3QuYWRkU25pZmZlcihXZWJJ
bnNwZWN0b3IuSW5kZXhlZERCTW9kZWwucHJvdG90eXBlLCAiX3VwZGF0ZU9yaWdpbkRhdGFiYXNl
TmFtZXMiLCBkYXRhYmFzZU5hbWVzTG9hZGVkQWZ0ZXJEZWxldGluZywgZmFsc2UpOworICAgIH0K
KworICAgIGZ1bmN0aW9uIGRhdGFiYXNlTmFtZXNMb2FkZWRBZnRlckRlbGV0aW5nKCkKKyAgICB7
CisgICAgICAgIEluc3BlY3RvclRlc3QuZHVtcEluZGV4ZWREQlRyZWUoKTsKKyAgICAgICAgV2Vi
SW5zcGVjdG9yLnBhbmVscy5yZXNvdXJjZXMuaW5kZXhlZERCTGlzdFRyZWVFbGVtZW50LmNvbGxh
cHNlKCk7CisgICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7CisgICAgfQorfQor
Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KKzxwPlRlc3Rz
IEluZGV4ZWREQiB0cmVlIGVsZW1lbnQgb24gcmVzb3VyY2VzIHBhbmVsLjwvcD4KKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRw
LXRlc3RzL2luZGV4ZWRkYi9yZXNvdXJjZXMvd2l0aG91dC1pbmRleGVkLWRiLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9pbmRleGVkZGIvcmVzb3VyY2Vz
L3dpdGhvdXQtaW5kZXhlZC1kYi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhhMzQ3ODg5ZGFhYzJjYzEyODZj
ZmRlYjMzOTE5MWEzMmYxM2Q3YmMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9pbmRleGVkZGIvcmVzb3VyY2VzL3dpdGhvdXQtaW5k
ZXhlZC1kYi5odG1sCkBAIC0wLDAgKzEsMTUgQEAKKzxodG1sPgorPHNjcmlwdD4KK3dpbmRvdy5v
bmxvYWQgPSBmdW5jdGlvbigpCit7CisgICAgZnVuY3Rpb24gbm90aWZ5RnJvbnRlbmQoKQorICAg
IHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5wYWdlTG9hZGVkKCk7CisgICAgfQorICAgIHRlc3RS
dW5uZXIuZHVtcEFzVGV4dCgpOworICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworICAg
IHRlc3RSdW5uZXIuZXZhbHVhdGVJbldlYkluc3BlY3RvcigwLCAiKCIgKyBub3RpZnlGcm9udGVu
ZCArICIpKCkiKTsKK30KKzwvc2NyaXB0PgorPHA+UGFnZSB3aXRob3V0IEluZGV4ZWQgREIuPC9w
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0
dHAtdGVzdHMvaW5qZWN0ZWQtc2NyaXB0LWRpc2NhcmQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvaW5qZWN0ZWQtc2NyaXB0LWRpc2NhcmQt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY4NTg0YTYxYjdhODNhNzdiZjJiMGMzZGFiYTFiMzhj
OGJjZGJhNGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xl
dGUvaHR0cC10ZXN0cy9pbmplY3RlZC1zY3JpcHQtZGlzY2FyZC1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSw3IEBACitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTogT3BlbmluZyBmcm9udC1lbmQgZm9y
IHRoZSBmaXJzdCB0aW1lCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTogUmVzb2x2ZWQgb2JqZWN0
IHN1Y2Nlc3NmdWxseQorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE6IE9wZW5pbmcgZnJvbnQtZW5k
IHNlY29uZCB0aW1lCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTogRXJyb3IgcmVzb2x2aW5nIG9i
amVjdAorVGVzdHMgdGhhdCBpbmplY3RlZCBzY3JpcHQgaXMgZGlzY2FyZGVkIHVwb24gZnJvbnQt
ZW5kIGNsb3NlLgorCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0
ZS9odHRwLXRlc3RzL2luamVjdGVkLXNjcmlwdC1kaXNjYXJkLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9pbmplY3RlZC1zY3JpcHQtZGlzY2FyZC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmYwZTg1NjE1YzU3YjRhNGIzYTkzYTczNTBiODg1NTIzOWUwNjFjNzkKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0
cy9pbmplY3RlZC1zY3JpcHQtZGlzY2FyZC5odG1sCkBAIC0wLDAgKzEsNzUgQEAKKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9pbnNwZWN0b3IvY29uc29sZS10ZXN0LmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQ+CisKK2Z1bmN0aW9uIG9wZW5XZWJJbnNwZWN0b3IoKQoreworICAgIGlmICh3
aW5kb3cudGVzdFJ1bm5lcikgeworICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsK
KyAgICAgICAgdGVzdFJ1bm5lci5zaG93V2ViSW5zcGVjdG9yKCk7CisgICAgICAgIHJ1blRlc3Qo
KTsKKyAgICB9Cit9CisKK2Z1bmN0aW9uIHJlb3BlbldlYkluc3BlY3RvcihvYmplY3RJZCkKK3sK
KyAgICB3aW5kb3cub2JqZWN0SWQgPSB1bmVzY2FwZShvYmplY3RJZCk7CisgICAgdGVzdFJ1bm5l
ci5jbG9zZVdlYkluc3BlY3RvcigpOworICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CisgICAg
ICB0ZXN0UnVubmVyLnNob3dXZWJJbnNwZWN0b3IoKTsKKyAgICAgIHJ1blRlc3QoKTsKKyAgICB9
LCAwKTsKK30KKworZnVuY3Rpb24gdGVzdCgpCit7CisgICAgUnVudGltZUFnZW50LmV2YWx1YXRl
KCJ3aW5kb3cub2JqZWN0SWQiLCBkaXNwYXRjaCk7CisKKyAgICBmdW5jdGlvbiBkaXNwYXRjaChl
cnJvciwgcmVzdWx0LCB3YXNUaHJvd24pCisgICAgeworICAgICAgICBpZiAocmVzdWx0LnR5cGUg
IT09ICJzdHJpbmciKSB7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdl
KCJjb25zb2xlLmxvZygnT3BlbmluZyBmcm9udC1lbmQgZm9yIHRoZSBmaXJzdCB0aW1lJykiKTsK
KyAgICAgICAgICAgIGluc3RhbGxIYW5kbGVJbkluamVjdGVkU2NyaXB0KCk7CisgICAgICAgIH0g
ZWxzZSB7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJjb25zb2xl
LmxvZygnT3BlbmluZyBmcm9udC1lbmQgc2Vjb25kIHRpbWUnKSIpOworICAgICAgICAgICAgY2hl
Y2tIYW5kbGVJbkluamVjdGVkU2NyaXB0KHJlc3VsdC52YWx1ZSwgSW5zcGVjdG9yVGVzdC5jb21w
bGV0ZVRlc3QpOworICAgICAgICB9CisgICAgfQorCisgICAgZnVuY3Rpb24gaW5zdGFsbEhhbmRs
ZUluSW5qZWN0ZWRTY3JpcHQoKQorICAgIHsKKyAgICAgICAgUnVudGltZUFnZW50LmV2YWx1YXRl
KCIoeyBoYW5kbGUgOiBcImhhbmRsZVwiIH0pIiwgc3RvcmVJZEluVGFyZ2V0V2luZG93KTsKKwor
ICAgICAgICBmdW5jdGlvbiBzdG9yZUlkSW5UYXJnZXRXaW5kb3coZXJyb3IsIHJlc3VsdCwgd2Fz
VGhyb3duKQorICAgICAgICB7CisgICAgICAgICAgICBjaGVja0hhbmRsZUluSW5qZWN0ZWRTY3Jp
cHQocmVzdWx0Lm9iamVjdElkLCByZW9wZW5JbnNwZWN0b3IpOworCisgICAgICAgICAgICBmdW5j
dGlvbiByZW9wZW5JbnNwZWN0b3IoKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIElu
c3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoInJlb3BlbldlYkluc3BlY3RvcignIiArIGVzY2Fw
ZShyZXN1bHQub2JqZWN0SWQpICsgIicpIik7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAg
ICB9CisKKyAgICBmdW5jdGlvbiBjaGVja0hhbmRsZUluSW5qZWN0ZWRTY3JpcHQob2JqZWN0SWQs
IGNhbGxiYWNrKQorICAgIHsKKyAgICAgICAgUnVudGltZUFnZW50LmdldFByb3BlcnRpZXMob2Jq
ZWN0SWQsIGZhbHNlLCBwcm9wZXJ0aWVzQXZhaWxhYmxlKTsKKworICAgICAgICBmdW5jdGlvbiBw
cm9wZXJ0aWVzQXZhaWxhYmxlKGVycm9yLCBwcm9wZXJ0aWVzKQorICAgICAgICB7CisgICAgICAg
ICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKGVycm9yID8gImNvbnNvbGUubG9nKCdF
cnJvciByZXNvbHZpbmcgb2JqZWN0JykiIDogImNvbnNvbGUubG9nKCdSZXNvbHZlZCBvYmplY3Qg
c3VjY2Vzc2Z1bGx5JykiLCBjYWxsYmFjayk7CisgICAgICAgIH0KKyAgICB9Cit9CisKKzwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJvcGVuV2ViSW5zcGVjdG9yKCkiPgorPHA+CitU
ZXN0cyB0aGF0IGluamVjdGVkIHNjcmlwdCBpcyBkaXNjYXJkZWQgdXBvbiBmcm9udC1lbmQgY2xv
c2UuCis8L3A+Cis8ZGl2IGlkPSJjb250YWluZXIiLz4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL2luc3BlY3Qt
ZWxlbWVudC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0
cC10ZXN0cy9pbnNwZWN0LWVsZW1lbnQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjAxMjAyNzlm
Mzc4YmMyOGYyNmIxMzJjM2I0N2UwZjU2NDlmY2E3MjEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9pbnNwZWN0LWVsZW1lbnQtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGVzdHMgdGhhdCBpbnNwZWN0IGVsZW1lbnQgYWN0
aW9uIHdvcmtzIGZvciBpZnJhbWUgY2hpbGRyZW4gKGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD03NjgwOCkuCisKKworZGl2I2RpdgorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9pbnNwZWN0LWVsZW1lbnQuaHRtbCBi
L0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL2luc3BlY3QtZWxlbWVu
dC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjEwZTZhYzdhMDUyNWE4MmY0MGVjYzg4NzAwM2FjNzI3OWJjMWI0
ZjkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0
cC10ZXN0cy9pbnNwZWN0LWVsZW1lbnQuaHRtbApAQCAtMCwwICsxLDM2IEBACis8aHRtbD4KKzxo
ZWFkPgorPHNjcmlwdCBzcmM9Imluc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSJlbGVtZW50cy10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisKK2Z1bmN0aW9uIHRl
c3QoKQoreworICAgIFdlYkluc3BlY3Rvci5zaG93UGFuZWwoImVsZW1lbnRzIikudHJlZU91dGxp
bmUuCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLkVsZW1lbnRzVHJlZU91
dGxpbmUuRXZlbnRzLlNlbGVjdGVkTm9kZUNoYW5nZWQsIHNlbGVjdGVkTm9kZUNoYW5nZWQsIHRo
aXMpOworICAgIGZ1bmN0aW9uIHNlbGVjdGVkTm9kZUNoYW5nZWQoZXZlbnQpCisgICAgeworICAg
ICAgICB2YXIgbm9kZSA9IGV2ZW50LmRhdGE7CisgICAgICAgIGlmICghbm9kZSkKKyAgICAgICAg
ICAgIHJldHVybjsKKworICAgICAgICBpZiAobm9kZS5nZXRBdHRyaWJ1dGUoImlkIikgPT0gImRp
diIpIHsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KG5vZGUuYXBwcm9wcmlh
dGVTZWxlY3RvckZvcigpKTsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0
KCk7CisgICAgICAgIH0KKyAgICB9CisgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluQ29uc29s
ZSgiaW5zcGVjdChpZnJhbWVEaXZFbGVtZW50KSIpOworfQorCis8L3NjcmlwdD4KKzwvaGVhZD4K
KworPGJvZHk+Cis8cD4KK1Rlc3RzIHRoYXQgaW5zcGVjdCBlbGVtZW50IGFjdGlvbiB3b3JrcyBm
b3IgaWZyYW1lIGNoaWxkcmVuIChodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NzY4MDgpLgorPC9wPgorCis8aWZyYW1lIHNyYz0icmVzb3VyY2VzL2luc3BlY3QtZWxlbWVu
dC1pZnJhbWUuaHRtbCIgb25sb2FkPSJydW5UZXN0KCkiPjwvaWZyYW1lPgorCis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10
ZXN0cy9pbnNwZWN0LWlmcmFtZS1mcm9tLWRpZmZlcmVudC1kb21haW4tZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvaW5zcGVjdC1pZnJhbWUt
ZnJvbS1kaWZmZXJlbnQtZG9tYWluLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wYWI2MmJlYmVi
MGQ2MGIyYjU5YWExNDMzOGY3NDQzNTA3YjkyNjI4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvaW5zcGVjdC1pZnJhbWUtZnJvbS1k
aWZmZXJlbnQtZG9tYWluLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDYgQEAKK0NPTlNPTEUgTUVT
U0FHRTogbGluZSA2OiBJRlJBTUUgSE9TVDogbG9jYWxob3N0OjgwMDAKKworVGVzdHMgdGhhdCBz
dHlsZSBwcm9wZXJ0aWVzIG9mIGVsZW1lbnRzIGluIGlmcmFtZXMgbG9hZGVkIGZyb20gZG9tYWlu
IGRpZmZlcmVudCBmcm9tIHRoZSBtYWluIGRvY3VtZW50IGRvbWFpbiBjYW4gYmUgaW5zcGVjdGVk
LiBTZWUgYnVnIDMxNTg3LgorCitiYWNrZ3JvdW5kOiBncmVlbjsKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvaW5zcGVjdC1pZnJhbWUtZnJv
bS1kaWZmZXJlbnQtZG9tYWluLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUv
aHR0cC10ZXN0cy9pbnNwZWN0LWlmcmFtZS1mcm9tLWRpZmZlcmVudC1kb21haW4uaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xNjVkNmI2MmQ5ZGM4MGMzY2U1YzgwM2JiZGVhNGIzYmU3ZDAyYTE3Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvaW5z
cGVjdC1pZnJhbWUtZnJvbS1kaWZmZXJlbnQtZG9tYWluLmh0bWwKQEAgLTAsMCArMSwzOSBAQAor
PGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5JbnNwZWN0IHN0eWxlIGluIGlmcmFtZSBmcm9tIGRpZmZl
cmVudCBkb21haW4uPC90aXRsZT4KKzxzY3JpcHQgc3JjPSJpbnNwZWN0b3ItdGVzdC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iZWxlbWVudHMtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
PgorCit2YXIgb25JRnJhbWVMb2FkQ2FsbGVkID0gZmFsc2U7CitmdW5jdGlvbiBvbklGcmFtZUxv
YWQoKQoreworICAgIGlmIChvbklGcmFtZUxvYWRDYWxsZWQpCisgICAgICAgIHJldHVybjsKKyAg
ICBvbklGcmFtZUxvYWRDYWxsZWQgPSB0cnVlOworICAgIHJ1blRlc3QoKTsKK30KKworZnVuY3Rp
b24gdGVzdCgpCit7CisgICAgSW5zcGVjdG9yVGVzdC5zZWxlY3ROb2RlQW5kV2FpdEZvclN0eWxl
cygiaWZyYW1lLWJvZHkiLCBzdGVwMSk7CisKKyAgICBmdW5jdGlvbiBzdGVwMSgpCisgICAgewor
ICAgICAgICB2YXIgdHJlZUl0ZW0gPSBJbnNwZWN0b3JUZXN0LmdldEVsZW1lbnRTdHlsZVByb3Bl
cnR5VHJlZUl0ZW0oImJhY2tncm91bmQiKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wU3R5
bGVUcmVlSXRlbSh0cmVlSXRlbSwgIiIpOworICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRl
VGVzdCgpOworICAgIH0KK30KKworPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKyAgICA8aWZy
YW1lIHNyYz0iaHR0cDovL2xvY2FsaG9zdDo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZXMvaWZyYW1l
LWZyb20tZGlmZmVyZW50LWRvbWFpbi1kYXRhLmh0bWwiIGlkPSJyZWNlaXZlciIgb25sb2FkPSJv
bklGcmFtZUxvYWQoKSI+PC9pZnJhbWU+CisgICAgPHA+CisgICAgVGVzdHMgdGhhdCBzdHlsZSBw
cm9wZXJ0aWVzIG9mIGVsZW1lbnRzIGluIGlmcmFtZXMgbG9hZGVkIGZyb20gZG9tYWluIGRpZmZl
cmVudCBmcm9tCisgICAgdGhlIG1haW4gZG9jdW1lbnQgZG9tYWluIGNhbiBiZSBpbnNwZWN0ZWQu
CisgICAgU2VlIDxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0zMTU4NyI+YnVnIDMxNTg3PC9hPi4KKyAgICA8L3A+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9pbnNwZWN0
b3ItdGVzdC5qcyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL2lu
c3BlY3Rvci10ZXN0LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjMwYmFjNDBlZTA5OTgzMGFjYjYyZWFiNTI4MWYx
YjU3NmZiZTU5MjYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jz
b2xldGUvaHR0cC10ZXN0cy9pbnNwZWN0b3ItdGVzdC5qcwpAQCAtMCwwICsxLDYxMCBAQAordmFy
IGluaXRpYWxpemVfSW5zcGVjdG9yVGVzdCA9IGZ1bmN0aW9uKCkgeworCit2YXIgcmVzdWx0cyA9
IFtdOwordmFyIHJlc3VsdHNTeW5jaHJvbml6ZWQgPSBmYWxzZTsKKworZnVuY3Rpb24gY29uc29s
ZU91dHB1dEhvb2sobWVzc2FnZVR5cGUpCit7CisgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQo
bWVzc2FnZVR5cGUgKyAiOiAiICsgQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRz
LCAxKSk7Cit9CisKK2NvbnNvbGUubG9nID0gY29uc29sZU91dHB1dEhvb2suYmluZChJbnNwZWN0
b3JUZXN0LCAibG9nIik7Citjb25zb2xlLmVycm9yID0gY29uc29sZU91dHB1dEhvb2suYmluZChJ
bnNwZWN0b3JUZXN0LCAiZXJyb3IiKTsKK2NvbnNvbGUuaW5mbyA9IGNvbnNvbGVPdXRwdXRIb29r
LmJpbmQoSW5zcGVjdG9yVGVzdCwgImluZm8iKTsKKworSW5zcGVjdG9yVGVzdC5PdXRwdXQgPSB7
ICAgLy8gb3ZlcnJpZGUgaW4gd2luZG93LmluaXRpYWxpemVfeW91ck5hbWUKKyAgICB0ZXN0Q29t
cGxldGU6IGZ1bmN0aW9uKCkKKyAgICB7CisgICAgICAgIFJ1bnRpbWVBZ2VudC5ldmFsdWF0ZSgi
ZGlkRXZhbHVhdGVGb3JUZXN0SW5Gcm9udGVuZCgiICsgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRl
c3RDYWxsSWQgKyAiLCBcIlwiKSIsICJ0ZXN0Iik7CisgICAgfSwKKworICAgIGFkZFJlc3VsdDog
ZnVuY3Rpb24odGV4dCkKKyAgICB7CisgICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBh
Z2UoIm91dHB1dCh1bmVzY2FwZSgnIiArIGVzY2FwZSh0ZXh0KSArICInKSkiKTsKKyAgICB9LAor
ICAgIAorICAgIGNsZWFyUmVzdWx0czogZnVuY3Rpb24oKQorICAgIHsKKyAgICAgICAgSW5zcGVj
dG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgiY2xlYXJPdXRwdXQoKSIpOworICAgIH0KK307CisKK0lu
c3BlY3RvclRlc3QuY29tcGxldGVUZXN0ID0gZnVuY3Rpb24oKQoreworICAgIGZ1bmN0aW9uIHRl
c3REaXNwYXRjaFF1ZXVlSXNFbXB0eSgpIHsKKyAgICAgICAgaWYgKCFXZWJJbnNwZWN0b3IuZGlz
cGF0Y2hRdWV1ZUlzRW1wdHkoKSkgeworICAgICAgICAgICAgLy8gV2FpdCBmb3IgdW5wcm9jZXNz
ZWQgbWVzc2FnZXMuCisgICAgICAgICAgICBzZXRUaW1lb3V0KHRlc3REaXNwYXRjaFF1ZXVlSXNF
bXB0eSwgMTApOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgICAgIEluc3Bl
Y3RvclRlc3QuT3V0cHV0LnRlc3RDb21wbGV0ZSgpOworICAgIH0KKyAgICB0ZXN0RGlzcGF0Y2hR
dWV1ZUlzRW1wdHkoKTsKK30KKworSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluQ29uc29sZSA9IGZ1
bmN0aW9uKGNvZGUsIGNhbGxiYWNrKQoreworICAgIGNhbGxiYWNrID0gSW5zcGVjdG9yVGVzdC5z
YWZlV3JhcChjYWxsYmFjayk7CisKKyAgICBXZWJJbnNwZWN0b3IuY29uc29sZVZpZXcudmlzaWJs
ZSA9IHRydWU7CisgICAgV2ViSW5zcGVjdG9yLmNvbnNvbGVWaWV3LnByb21wdC50ZXh0ID0gY29k
ZTsKKyAgICB2YXIgZXZlbnQgPSBkb2N1bWVudC5jcmVhdGVFdmVudCgiS2V5Ym9hcmRFdmVudCIp
OworICAgIGV2ZW50LmluaXRLZXlib2FyZEV2ZW50KCJrZXlkb3duIiwgdHJ1ZSwgdHJ1ZSwgbnVs
bCwgIkVudGVyIiwgIiIpOworICAgIFdlYkluc3BlY3Rvci5jb25zb2xlVmlldy5wcm9tcHQucHJv
eHlFbGVtZW50LmRpc3BhdGNoRXZlbnQoZXZlbnQpOworICAgIEluc3BlY3RvclRlc3QuYWRkQ29u
c29sZVNuaWZmZXIoCisgICAgICAgIGZ1bmN0aW9uKGNvbW1hbmRSZXN1bHQpIHsKKyAgICAgICAg
ICAgIGNhbGxiYWNrKGNvbW1hbmRSZXN1bHQudG9NZXNzYWdlRWxlbWVudCgpLnRleHRDb250ZW50
KTsKKyAgICAgICAgfSk7Cit9CisKK0luc3BlY3RvclRlc3QuZXZhbHVhdGVJbkNvbnNvbGVBbmRE
dW1wID0gZnVuY3Rpb24oY29kZSwgY2FsbGJhY2spCit7CisgICAgY2FsbGJhY2sgPSBJbnNwZWN0
b3JUZXN0LnNhZmVXcmFwKGNhbGxiYWNrKTsKKworICAgIGZ1bmN0aW9uIG15Y2FsbGJhY2sodGV4
dCkKKyAgICB7CisgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KGNvZGUgKyAiID0gIiAr
IHRleHQpOworICAgICAgICBjYWxsYmFjayh0ZXh0KTsKKyAgICB9CisgICAgSW5zcGVjdG9yVGVz
dC5ldmFsdWF0ZUluQ29uc29sZShjb2RlLCBteWNhbGxiYWNrKTsKK30KKworSW5zcGVjdG9yVGVz
dC5ldmFsdWF0ZUluUGFnZSA9IGZ1bmN0aW9uKGNvZGUsIGNhbGxiYWNrKQoreworICAgIGNhbGxi
YWNrID0gSW5zcGVjdG9yVGVzdC5zYWZlV3JhcChjYWxsYmFjayk7CisKKyAgICBmdW5jdGlvbiBt
eWNhbGxiYWNrKGVycm9yLCByZXN1bHQsIHdhc1Rocm93bikKKyAgICB7CisgICAgICAgIGlmICgh
ZXJyb3IpCisgICAgICAgICAgICBjYWxsYmFjayhXZWJJbnNwZWN0b3IuUmVtb3RlT2JqZWN0LmZy
b21QYXlsb2FkKHJlc3VsdCksIHdhc1Rocm93bik7CisgICAgfQorICAgIFJ1bnRpbWVBZ2VudC5l
dmFsdWF0ZShjb2RlLCAiY29uc29sZSIsIGZhbHNlLCBteWNhbGxiYWNrKTsKK30KKworSW5zcGVj
dG9yVGVzdC5ldmFsdWF0ZUluUGFnZVdpdGhUaW1lb3V0ID0gZnVuY3Rpb24oY29kZSkKK3sKKyAg
ICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJzZXRUaW1lb3V0KHVuZXNjYXBlKCciICsg
ZXNjYXBlKGNvZGUpICsgIicpKSIpOworfQorCitJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCA9IGZ1
bmN0aW9uKHRleHQpCit7CisgICAgcmVzdWx0cy5wdXNoKHRleHQpOworICAgIGlmIChyZXN1bHRz
U3luY2hyb25pemVkKQorICAgICAgICBJbnNwZWN0b3JUZXN0Lk91dHB1dC5hZGRSZXN1bHQodGV4
dCk7CisgICAgZWxzZSB7CisgICAgICAgIEluc3BlY3RvclRlc3QuT3V0cHV0LmNsZWFyUmVzdWx0
cygpOworICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHJlc3VsdHMubGVuZ3RoOyArK2kpCisg
ICAgICAgICAgICBJbnNwZWN0b3JUZXN0Lk91dHB1dC5hZGRSZXN1bHQocmVzdWx0c1tpXSk7Cisg
ICAgICAgIHJlc3VsdHNTeW5jaHJvbml6ZWQgPSB0cnVlOworICAgIH0KK30KKworSW5zcGVjdG9y
VGVzdC5hZGRSZXN1bHRzID0gZnVuY3Rpb24odGV4dEFycmF5KQoreworICAgIGlmICghdGV4dEFy
cmF5KQorICAgICAgICByZXR1cm47CisgICAgZm9yICh2YXIgaSA9IDAsIHNpemUgPSB0ZXh0QXJy
YXkubGVuZ3RoOyBpIDwgc2l6ZTsgKytpKQorICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3Vs
dCh0ZXh0QXJyYXlbaV0pOworfQorCitmdW5jdGlvbiBvbkVycm9yKGV2ZW50KQoreworICAgIHdp
bmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJlcnJvciIsIG9uRXJyb3IpOworICAgIEluc3BlY3Rv
clRlc3QuYWRkUmVzdWx0KCJVbmNhdWdodCBleGNlcHRpb24gaW4gaW5zcGVjdG9yIGZyb250LWVu
ZDogIiArIGV2ZW50Lm1lc3NhZ2UgKyAiIFsiICsgZXZlbnQuZmlsZW5hbWUgKyAiOiIgKyBldmVu
dC5saW5lbm8gKyAiXSIpOworICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7Cit9CisK
K3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIsIG9uRXJyb3IpOworCitJbnNwZWN0b3JU
ZXN0LmZvcm1hdHRlcnMgPSB7fTsKKworSW5zcGVjdG9yVGVzdC5mb3JtYXR0ZXJzLmZvcm1hdEFz
VHlwZU5hbWUgPSBmdW5jdGlvbih2YWx1ZSkKK3sKKyAgICByZXR1cm4gIjwiICsgdHlwZW9mIHZh
bHVlICsgIj4iOworfQorCitJbnNwZWN0b3JUZXN0LmZvcm1hdHRlcnMuZm9ybWF0QXNSZWNlbnRU
aW1lID0gZnVuY3Rpb24odmFsdWUpCit7CisgICAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gIm9iamVj
dCIgfHwgISh2YWx1ZSBpbnN0YW5jZW9mIERhdGUpKQorICAgICAgICByZXR1cm4gSW5zcGVjdG9y
VGVzdC5mb3JtYXRBc1R5cGVOYW1lKHZhbHVlKTsKKyAgICB2YXIgZGVsdGEgPSBEYXRlLm5vdygp
IC0gdmFsdWU7CisgICAgcmV0dXJuIDAgPD0gZGVsdGEgJiYgZGVsdGEgPCAzMCAqIDYwICogMTAw
MCA/ICI8cGxhdXNpYmxlPiIgOiB2YWx1ZTsKK30KKworSW5zcGVjdG9yVGVzdC5hZGRPYmplY3Qg
PSBmdW5jdGlvbihvYmplY3QsIGN1c3RvbUZvcm1hdHRlcnMsIHByZWZpeCwgZmlyc3RMaW5lUHJl
Zml4KQoreworICAgIHByZWZpeCA9IHByZWZpeCB8fCAiIjsKKyAgICBmaXJzdExpbmVQcmVmaXgg
PSBmaXJzdExpbmVQcmVmaXggfHwgcHJlZml4OworICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0
KGZpcnN0TGluZVByZWZpeCArICJ7Iik7CisgICAgdmFyIHByb3BlcnR5TmFtZXMgPSBPYmplY3Qu
a2V5cyhvYmplY3QpOworICAgIHByb3BlcnR5TmFtZXMuc29ydCgpOworICAgIGZvciAodmFyIGkg
PSAwOyBpIDwgcHJvcGVydHlOYW1lcy5sZW5ndGg7ICsraSkgeworICAgICAgICB2YXIgcHJvcCA9
IHByb3BlcnR5TmFtZXNbaV07CisgICAgICAgIGlmICh0eXBlb2Ygb2JqZWN0Lmhhc093blByb3Bl
cnR5ID09PSAiZnVuY3Rpb24iICYmICFvYmplY3QuaGFzT3duUHJvcGVydHkocHJvcCkpCisgICAg
ICAgICAgICBjb250aW51ZTsKKyAgICAgICAgdmFyIHByZWZpeFdpdGhOYW1lID0gIiAgICAiICsg
cHJlZml4ICsgcHJvcCArICIgOiAiOworICAgICAgICB2YXIgcHJvcFZhbHVlID0gb2JqZWN0W3By
b3BdOworICAgICAgICBpZiAoY3VzdG9tRm9ybWF0dGVycyAmJiBjdXN0b21Gb3JtYXR0ZXJzW3By
b3BdKSB7CisgICAgICAgICAgICB2YXIgZm9ybWF0dGVyTmFtZSA9IGN1c3RvbUZvcm1hdHRlcnNb
cHJvcF07CisgICAgICAgICAgICBpZiAoZm9ybWF0dGVyTmFtZSAhPT0gInNraXAiKSB7CisgICAg
ICAgICAgICAgICAgdmFyIGZvcm1hdHRlciA9IEluc3BlY3RvclRlc3QuZm9ybWF0dGVyc1tmb3Jt
YXR0ZXJOYW1lXTsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdChwcmVm
aXhXaXRoTmFtZSArIGZvcm1hdHRlcihwcm9wVmFsdWUpKTsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgfSBlbHNlCisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXAocHJvcFZhbHVlLCBjdXN0
b21Gb3JtYXR0ZXJzLCAiICAgICIgKyBwcmVmaXgsIHByZWZpeFdpdGhOYW1lKTsKKyAgICB9Cisg
ICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQocHJlZml4ICsgIn0iKTsKK30KKworSW5zcGVjdG9y
VGVzdC5hZGRBcnJheSA9IGZ1bmN0aW9uKGFycmF5LCBjdXN0b21Gb3JtYXR0ZXJzLCBwcmVmaXgs
IGZpcnN0TGluZVByZWZpeCkKK3sKKyAgICBwcmVmaXggPSBwcmVmaXggfHwgIiI7CisgICAgZmly
c3RMaW5lUHJlZml4ID0gZmlyc3RMaW5lUHJlZml4IHx8IHByZWZpeDsKKyAgICBJbnNwZWN0b3JU
ZXN0LmFkZFJlc3VsdChmaXJzdExpbmVQcmVmaXggKyAiWyIpOworICAgIGZvciAodmFyIGkgPSAw
OyBpIDwgYXJyYXkubGVuZ3RoOyArK2kpCisgICAgICAgIEluc3BlY3RvclRlc3QuZHVtcChhcnJh
eVtpXSwgY3VzdG9tRm9ybWF0dGVycywgcHJlZml4ICsgIiAgICAiKTsKKyAgICBJbnNwZWN0b3JU
ZXN0LmFkZFJlc3VsdChwcmVmaXggKyAiXSIpOworfQorCitJbnNwZWN0b3JUZXN0LmR1bXAgPSBm
dW5jdGlvbih2YWx1ZSwgY3VzdG9tRm9ybWF0dGVycywgcHJlZml4LCBwcmVmaXhXaXRoTmFtZSkK
K3sKKyAgICBwcmVmaXhXaXRoTmFtZSA9IHByZWZpeFdpdGhOYW1lIHx8IHByZWZpeDsKKyAgICBp
ZiAocHJlZml4V2l0aE5hbWUgJiYgcHJlZml4V2l0aE5hbWUubGVuZ3RoID4gODApIHsKKyAgICAg
ICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQocHJlZml4V2l0aE5hbWUgKyAid2FzIHNraXBwZWQg
ZHVlIHRvIHByZWZpeCBsZW5ndGggbGltaXQiKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAg
ICBpZiAodmFsdWUgPT09IG51bGwpCisgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KHBy
ZWZpeFdpdGhOYW1lICsgIm51bGwiKTsKKyAgICBlbHNlIGlmICh2YWx1ZSBpbnN0YW5jZW9mIEFy
cmF5KQorICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZEFycmF5KHZhbHVlLCBjdXN0b21Gb3JtYXR0
ZXJzLCBwcmVmaXgsIHByZWZpeFdpdGhOYW1lKTsKKyAgICBlbHNlIGlmICh0eXBlb2YgdmFsdWUg
PT09ICJvYmplY3QiKQorICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZE9iamVjdCh2YWx1ZSwgY3Vz
dG9tRm9ybWF0dGVycywgcHJlZml4LCBwcmVmaXhXaXRoTmFtZSk7CisgICAgZWxzZSBpZiAodHlw
ZW9mIHZhbHVlID09PSAic3RyaW5nIikKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQo
cHJlZml4V2l0aE5hbWUgKyAiXCIiICsgdmFsdWUgKyAiXCIiKTsKKyAgICBlbHNlCisgICAgICAg
IEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KHByZWZpeFdpdGhOYW1lICsgdmFsdWUpOworfQorCitJ
bnNwZWN0b3JUZXN0LmFzc2VydEdyZWF0ZXJPckVxdWFsID0gZnVuY3Rpb24oYSwgYiwgbWVzc2Fn
ZSkKK3sKKyAgICBpZiAoYSA8IGIpCisgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJG
QUlMRUQ6ICIgKyAobWVzc2FnZSA/IG1lc3NhZ2UgKyAiOiAiIDogIiIpICsgYSArICIgPCAiICsg
Yik7Cit9CisKK0luc3BlY3RvclRlc3QubmF2aWdhdGUgPSBmdW5jdGlvbih1cmwsIGNhbGxiYWNr
KQoreworICAgIEluc3BlY3RvclRlc3QuX3BhZ2VMb2FkZWRDYWxsYmFjayA9IEluc3BlY3RvclRl
c3Quc2FmZVdyYXAoY2FsbGJhY2spOworCisgICAgV2ViSW5zcGVjdG9yLnBhbmVsKCJuZXR3b3Jr
IikuX3Jlc2V0KCk7CisgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluQ29uc29sZSgid2luZG93
LmxvY2F0aW9uID0gJyIgKyB1cmwgKyAiJyIpOworfQorCitJbnNwZWN0b3JUZXN0LmhhcmRSZWxv
YWRQYWdlID0gZnVuY3Rpb24oY2FsbGJhY2ssIHNjcmlwdFRvRXZhbHVhdGVPbkxvYWQsIHNjcmlw
dFByZXByb2Nlc3NvcikKK3sKKyAgICBJbnNwZWN0b3JUZXN0Ll9pbm5lclJlbG9hZFBhZ2UodHJ1
ZSwgY2FsbGJhY2ssIHNjcmlwdFRvRXZhbHVhdGVPbkxvYWQsIHNjcmlwdFByZXByb2Nlc3Nvcik7
Cit9CisKK0luc3BlY3RvclRlc3QucmVsb2FkUGFnZSA9IGZ1bmN0aW9uKGNhbGxiYWNrLCBzY3Jp
cHRUb0V2YWx1YXRlT25Mb2FkLCBzY3JpcHRQcmVwcm9jZXNzb3IpCit7CisgICAgSW5zcGVjdG9y
VGVzdC5faW5uZXJSZWxvYWRQYWdlKGZhbHNlLCBjYWxsYmFjaywgc2NyaXB0VG9FdmFsdWF0ZU9u
TG9hZCwgc2NyaXB0UHJlcHJvY2Vzc29yKTsKK30KKworSW5zcGVjdG9yVGVzdC5faW5uZXJSZWxv
YWRQYWdlID0gZnVuY3Rpb24oaGFyZFJlbG9hZCwgY2FsbGJhY2ssIHNjcmlwdFRvRXZhbHVhdGVP
bkxvYWQsIHNjcmlwdFByZXByb2Nlc3NvcikKK3sKKyAgICBJbnNwZWN0b3JUZXN0Ll9wYWdlTG9h
ZGVkQ2FsbGJhY2sgPSBJbnNwZWN0b3JUZXN0LnNhZmVXcmFwKGNhbGxiYWNrKTsKKworICAgIGlm
IChXZWJJbnNwZWN0b3IucGFuZWxzLm5ldHdvcmspCisgICAgICAgIFdlYkluc3BlY3Rvci5wYW5l
bHMubmV0d29yay5fcmVzZXQoKTsKKyAgICBQYWdlQWdlbnQucmVsb2FkKGhhcmRSZWxvYWQsIHNj
cmlwdFRvRXZhbHVhdGVPbkxvYWQsIHNjcmlwdFByZXByb2Nlc3Nvcik7Cit9CisKK0luc3BlY3Rv
clRlc3QucGFnZUxvYWRlZCA9IGZ1bmN0aW9uKCkKK3sKKyAgICByZXN1bHRzU3luY2hyb25pemVk
ID0gZmFsc2U7CisgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIlBhZ2UgcmVsb2FkZWQuIik7
CisgICAgaWYgKEluc3BlY3RvclRlc3QuX3BhZ2VMb2FkZWRDYWxsYmFjaykgeworICAgICAgICB2
YXIgY2FsbGJhY2sgPSBJbnNwZWN0b3JUZXN0Ll9wYWdlTG9hZGVkQ2FsbGJhY2s7CisgICAgICAg
IGRlbGV0ZSBJbnNwZWN0b3JUZXN0Ll9wYWdlTG9hZGVkQ2FsbGJhY2s7CisgICAgICAgIGNhbGxi
YWNrKCk7CisgICAgfQorfQorCitJbnNwZWN0b3JUZXN0LnJ1bldoZW5QYWdlTG9hZHMgPSBmdW5j
dGlvbihjYWxsYmFjaykKK3sKKyAgICB2YXIgb2xkQ2FsbGJhY2sgPSBJbnNwZWN0b3JUZXN0Ll9w
YWdlTG9hZGVkQ2FsbGJhY2s7CisgICAgZnVuY3Rpb24gY2hhaW5lZENhbGxiYWNrKCkKKyAgICB7
CisgICAgICAgIGlmIChvbGRDYWxsYmFjaykKKyAgICAgICAgICAgIG9sZENhbGxiYWNrKCk7Cisg
ICAgICAgIGNhbGxiYWNrKCk7CisgICAgfQorICAgIEluc3BlY3RvclRlc3QuX3BhZ2VMb2FkZWRD
YWxsYmFjayA9IEluc3BlY3RvclRlc3Quc2FmZVdyYXAoY2hhaW5lZENhbGxiYWNrKTsKK30KKwor
SW5zcGVjdG9yVGVzdC5ydW5BZnRlclBlbmRpbmdEaXNwYXRjaGVzID0gZnVuY3Rpb24oY2FsbGJh
Y2spCit7CisgICAgY2FsbGJhY2sgPSBJbnNwZWN0b3JUZXN0LnNhZmVXcmFwKGNhbGxiYWNrKTsK
KyAgICBJbnNwZWN0b3JCYWNrZW5kLnJ1bkFmdGVyUGVuZGluZ0Rpc3BhdGNoZXMoY2FsbGJhY2sp
OworfQorCitJbnNwZWN0b3JUZXN0LmNyZWF0ZUtleUV2ZW50ID0gZnVuY3Rpb24oa2V5SWRlbnRp
ZmllciwgY3RybEtleSwgYWx0S2V5LCBzaGlmdEtleSwgbWV0YUtleSkKK3sKKyAgICB2YXIgZXZ0
ID0gZG9jdW1lbnQuY3JlYXRlRXZlbnQoIktleWJvYXJkRXZlbnQiKTsKKyAgICBldnQuaW5pdEtl
eWJvYXJkRXZlbnQoImtleWRvd24iLCB0cnVlIC8qIGNhbiBidWJibGUgKi8sIHRydWUgLyogY2Fu
IGNhbmNlbCAqLywgbnVsbCAvKiB2aWV3ICovLCBrZXlJZGVudGlmaWVyLCAiIiwgY3RybEtleSwg
YWx0S2V5LCBzaGlmdEtleSwgbWV0YUtleSk7CisgICAgcmV0dXJuIGV2dDsKK30KKworSW5zcGVj
dG9yVGVzdC5ydW5UZXN0U3VpdGUgPSBmdW5jdGlvbih0ZXN0U3VpdGUpCit7CisgICAgdmFyIHRl
c3RTdWl0ZVRlc3RzID0gdGVzdFN1aXRlLnNsaWNlKCk7CisKKyAgICBmdW5jdGlvbiBydW5uZXIo
KQorICAgIHsKKyAgICAgICAgaWYgKCF0ZXN0U3VpdGVUZXN0cy5sZW5ndGgpIHsKKyAgICAgICAg
ICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7CisgICAgICAgICAgICByZXR1cm47Cisg
ICAgICAgIH0KKyAgICAgICAgdmFyIG5leHRUZXN0ID0gdGVzdFN1aXRlVGVzdHMuc2hpZnQoKTsK
KyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIiIpOworICAgICAgICBJbnNwZWN0b3JU
ZXN0LmFkZFJlc3VsdCgiUnVubmluZzogIiArIC9mdW5jdGlvblxzKFteKF0qKS8uZXhlYyhuZXh0
VGVzdClbMV0pOworICAgICAgICBJbnNwZWN0b3JUZXN0LnNhZmVXcmFwKG5leHRUZXN0KShydW5u
ZXIsIHJ1bm5lcik7CisgICAgfQorICAgIHJ1bm5lcigpOworfQorCitJbnNwZWN0b3JUZXN0LmFz
c2VydEVxdWFscyA9IGZ1bmN0aW9uKGV4cGVjdGVkLCBmb3VuZCwgbWVzc2FnZSkKK3sKKyAgICBp
ZiAoZXhwZWN0ZWQgPT09IGZvdW5kKQorICAgICAgICByZXR1cm47CisKKyAgICB2YXIgZXJyb3I7
CisgICAgaWYgKG1lc3NhZ2UpCisgICAgICAgIGVycm9yID0gIkZhaWx1cmUgKCIgKyBtZXNzYWdl
ICsgIik6IjsKKyAgICBlbHNlCisgICAgICAgIGVycm9yID0gIkZhaWx1cmU6IjsKKyAgICB0aHJv
dyBuZXcgRXJyb3IoZXJyb3IgKyAiIGV4cGVjdGVkIDwiICsgZXhwZWN0ZWQgKyAiPiBmb3VuZCA8
IiArIGZvdW5kICsgIj4iKTsKK30KKworSW5zcGVjdG9yVGVzdC5hc3NlcnRUcnVlID0gZnVuY3Rp
b24oZm91bmQsIG1lc3NhZ2UpCit7CisgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRFcXVhbHModHJ1
ZSwgISFmb3VuZCwgbWVzc2FnZSk7Cit9CisKK0luc3BlY3RvclRlc3Quc2FmZVdyYXAgPSBmdW5j
dGlvbihmdW5jLCBvbmV4Y2VwdGlvbikKK3sKKyAgICBmdW5jdGlvbiByZXN1bHQoKQorICAgIHsK
KyAgICAgICAgaWYgKCFmdW5jKQorICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB2YXIgd3Jh
cFRoaXMgPSB0aGlzOworICAgICAgICB0cnkgeworICAgICAgICAgICAgcmV0dXJuIGZ1bmMuYXBw
bHkod3JhcFRoaXMsIGFyZ3VtZW50cyk7CisgICAgICAgIH0gY2F0Y2goZSkgeworICAgICAgICAg
ICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIkV4Y2VwdGlvbiB3aGlsZSBydW5uaW5nOiAiICsg
ZnVuYyArICJcbiIgKyAoZS5zdGFjayB8fCBlKSk7CisgICAgICAgICAgICBpZiAob25leGNlcHRp
b24pCisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5zYWZlV3JhcChvbmV4Y2VwdGlvbiko
KTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBs
ZXRlVGVzdCgpOworICAgICAgICB9CisgICAgfQorICAgIHJldHVybiByZXN1bHQ7Cit9CisKK0lu
c3BlY3RvclRlc3QuYWRkU25pZmZlciA9IGZ1bmN0aW9uKHJlY2VpdmVyLCBtZXRob2ROYW1lLCBv
dmVycmlkZSwgb3B0X3N0aWNreSkKK3sKKyAgICBvdmVycmlkZSA9IEluc3BlY3RvclRlc3Quc2Fm
ZVdyYXAob3ZlcnJpZGUpOworCisgICAgdmFyIG9yaWdpbmFsID0gcmVjZWl2ZXJbbWV0aG9kTmFt
ZV07CisgICAgaWYgKHR5cGVvZiBvcmlnaW5hbCAhPT0gImZ1bmN0aW9uIikKKyAgICAgICAgdGhy
b3cgKCJDYW5ub3QgZmluZCBtZXRob2QgdG8gb3ZlcnJpZGU6ICIgKyBtZXRob2ROYW1lKTsKKwor
ICAgIHJlY2VpdmVyW21ldGhvZE5hbWVdID0gZnVuY3Rpb24odmFyX2FyZ3MpIHsKKyAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgIHZhciByZXN1bHQgPSBvcmlnaW5hbC5hcHBseSh0aGlzLCBhcmd1
bWVudHMpOworICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgaWYgKCFvcHRfc3RpY2t5
KQorICAgICAgICAgICAgICAgIHJlY2VpdmVyW21ldGhvZE5hbWVdID0gb3JpZ2luYWw7CisgICAg
ICAgIH0KKyAgICAgICAgLy8gSW4gY2FzZSBvZiBleGNlcHRpb24gdGhlIG92ZXJyaWRlIHdvbid0
IGJlIGNhbGxlZC4KKyAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgIG92ZXJyaWRlLmFwcGx5KHRo
aXMsIGFyZ3VtZW50cyk7CisgICAgICAgIH0gY2F0Y2ggKGUpIHsKKyAgICAgICAgICAgIHRocm93
ICgiRXhjZXB0aW9uIGluIG92ZXJyaWRlbiBtZXRob2QgJyIgKyBtZXRob2ROYW1lICsgIic6ICIg
KyBlKTsKKyAgICAgICAgfQorICAgICAgICByZXR1cm4gcmVzdWx0OworICAgIH07Cit9CisKK0lu
c3BlY3RvclRlc3QuYWRkQ29uc29sZVNuaWZmZXIgPSBmdW5jdGlvbihvdmVycmlkZSwgb3B0X3N0
aWNreSkKK3sKKyAgICBJbnNwZWN0b3JUZXN0LmFkZFNuaWZmZXIoV2ViSW5zcGVjdG9yLkNvbnNv
bGVWaWV3LnByb3RvdHlwZSwgIl9hcHBlbmRDb25zb2xlTWVzc2FnZSIsIG92ZXJyaWRlLCBvcHRf
c3RpY2t5KTsKK30KKworSW5zcGVjdG9yVGVzdC5vdmVycmlkZSA9IGZ1bmN0aW9uKHJlY2VpdmVy
LCBtZXRob2ROYW1lLCBvdmVycmlkZSwgb3B0X3N0aWNreSkKK3sKKyAgICBvdmVycmlkZSA9IElu
c3BlY3RvclRlc3Quc2FmZVdyYXAob3ZlcnJpZGUpOworCisgICAgdmFyIG9yaWdpbmFsID0gcmVj
ZWl2ZXJbbWV0aG9kTmFtZV07CisgICAgaWYgKHR5cGVvZiBvcmlnaW5hbCAhPT0gImZ1bmN0aW9u
IikKKyAgICAgICAgdGhyb3cgKCJDYW5ub3QgZmluZCBtZXRob2QgdG8gb3ZlcnJpZGU6ICIgKyBt
ZXRob2ROYW1lKTsKKworICAgIHJlY2VpdmVyW21ldGhvZE5hbWVdID0gZnVuY3Rpb24odmFyX2Fy
Z3MpIHsKKyAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAg
dmFyIHJlc3VsdCA9IG92ZXJyaWRlLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7CisgICAgICAgICAg
ICB9IGNhdGNoIChlKSB7CisgICAgICAgICAgICAgICAgdGhyb3cgKCJFeGNlcHRpb24gaW4gb3Zl
cnJpZGVuIG1ldGhvZCAnIiArIG1ldGhvZE5hbWUgKyAiJzogIiArIGUpOworICAgICAgICAgICAg
fQorICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgaWYgKCFvcHRfc3RpY2t5KQorICAg
ICAgICAgICAgICAgIHJlY2VpdmVyW21ldGhvZE5hbWVdID0gb3JpZ2luYWw7CisgICAgICAgIH0K
KyAgICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICB9OworCisgICAgcmV0dXJuIG9yaWdpbmFsOwor
fQorCitJbnNwZWN0b3JUZXN0LnRleHRDb250ZW50V2l0aExpbmVCcmVha3MgPSBmdW5jdGlvbihu
b2RlKQoreworICAgIHZhciBidWZmZXIgPSAiIjsKKyAgICB2YXIgY3VycmVudE5vZGUgPSBub2Rl
OworICAgIHdoaWxlIChjdXJyZW50Tm9kZSA9IGN1cnJlbnROb2RlLnRyYXZlcnNlTmV4dE5vZGUo
bm9kZSkpIHsKKyAgICAgICAgaWYgKGN1cnJlbnROb2RlLm5vZGVUeXBlID09PSBOb2RlLlRFWFRf
Tk9ERSkKKyAgICAgICAgICAgIGJ1ZmZlciArPSBjdXJyZW50Tm9kZS5ub2RlVmFsdWU7CisgICAg
ICAgIGVsc2UgaWYgKGN1cnJlbnROb2RlLm5vZGVOYW1lID09PSAiTEkiKQorICAgICAgICAgICAg
YnVmZmVyICs9ICJcbiAgICAiOworICAgICAgICBlbHNlIGlmIChjdXJyZW50Tm9kZS5jbGFzc0xp
c3QuY29udGFpbnMoImNvbnNvbGUtbWVzc2FnZSIpKQorICAgICAgICAgICAgYnVmZmVyICs9ICJc
blxuIjsKKyAgICB9CisgICAgcmV0dXJuIGJ1ZmZlcjsKK30KKworSW5zcGVjdG9yVGVzdC5TdHJp
bmdPdXRwdXRTdHJlYW0gPSBmdW5jdGlvbihjYWxsYmFjaykKK3sKKyAgICB0aGlzLl9jYWxsYmFj
ayA9IGNhbGxiYWNrOworICAgIHRoaXMuX2J1ZmZlciA9ICIiOworfTsKKworSW5zcGVjdG9yVGVz
dC5TdHJpbmdPdXRwdXRTdHJlYW0ucHJvdG90eXBlID0geworICAgIHdyaXRlOiBmdW5jdGlvbihj
aHVuaywgY2FsbGJhY2spCisgICAgeworICAgICAgICB0aGlzLl9idWZmZXIgKz0gY2h1bms7Cisg
ICAgICAgIGlmIChjYWxsYmFjaykKKyAgICAgICAgICAgIGNhbGxiYWNrKHRoaXMpOworICAgIH0s
CisKKyAgICBjbG9zZTogZnVuY3Rpb24oKQorICAgIHsKKyAgICAgICAgdGhpcy5fY2FsbGJhY2so
dGhpcy5fYnVmZmVyKTsKKyAgICB9Cit9OworCitJbnNwZWN0b3JUZXN0Lk1vY2tTZXR0aW5nID0g
ZnVuY3Rpb24odmFsdWUpCit7CisgICAgdGhpcy5fdmFsdWUgPSB2YWx1ZTsKK307CisKK0luc3Bl
Y3RvclRlc3QuTW9ja1NldHRpbmcucHJvdG90eXBlID0geworICAgIGdldDogZnVuY3Rpb24oKSB7
CisgICAgICAgIHJldHVybiB0aGlzLl92YWx1ZTsKKyAgICB9LAorCisgICAgc2V0OiBmdW5jdGlv
bih2YWx1ZSkgeworICAgICAgICB0aGlzLl92YWx1ZSA9IHZhbHVlOworICAgIH0KK307CisKK307
CisKK3ZhciBpbml0aWFsaXplQ2FsbElkID0gMDsKK3ZhciBydW5UZXN0Q2FsbElkID0gMTsKK3Zh
ciBjb21wbGV0ZVRlc3RDYWxsSWQgPSAyOwordmFyIGZyb250ZW5kUmVvcGVuaW5nQ291bnQgPSAw
OworCitmdW5jdGlvbiByZW9wZW5Gcm9udGVuZCgpCit7CisgICAgY2xvc2VGcm9udGVuZChvcGVu
RnJvbnRlbmRBbmRJbmNyZW1lbnQpOworfQorCitmdW5jdGlvbiBjbG9zZUZyb250ZW5kKGNhbGxi
YWNrKQoreworICAgIC8vIERvIHRoaXMgYXN5bmNocm9ub3VzbHkgdG8gYWxsb3cgSW5zcGVjdG9y
QmFja2VuZERpc3BhdGNoZXIgdG8gc2VuZCByZXNwb25zZQorICAgIC8vIGJhY2sgdG8gdGhlIGZy
b250ZW5kIGJlZm9yZSBpdCdzIGRlc3Ryb3llZC4KKyAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkg
eworICAgICAgICB0ZXN0UnVubmVyLmNsb3NlV2ViSW5zcGVjdG9yKCk7CisgICAgICAgIGNhbGxi
YWNrKCk7CisgICAgfSwgMCk7Cit9CisKK2Z1bmN0aW9uIG9wZW5Gcm9udGVuZEFuZEluY3JlbWVu
dCgpCit7CisgICAgZnJvbnRlbmRSZW9wZW5pbmdDb3VudCsrOworICAgIHRlc3RSdW5uZXIuc2hv
d1dlYkluc3BlY3RvcigpOworICAgIHJ1blRlc3QoKTsKK30KKworZnVuY3Rpb24gcnVuQWZ0ZXJJ
ZnJhbWVJc0xvYWRlZCgpCit7CisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICB0
ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKKyAgICBmdW5jdGlvbiBzdGVwKCkKKyAgICB7Cisg
ICAgICAgIGlmICghd2luZG93LmlmcmFtZUxvYWRlZCkKKyAgICAgICAgICAgIHNldFRpbWVvdXQo
c3RlcCwgMTAwKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgcnVuVGVzdCgpOworICAgIH0K
KyAgICBzZXRUaW1lb3V0KHN0ZXAsIDEwMCk7Cit9CisKK2Z1bmN0aW9uIHJ1blRlc3QoZW5hYmxl
V2F0Y2hEb2dXaGlsZURlYnVnZ2luZykKK3sKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKyAgICB0ZXN0
UnVubmVyLndhaXRVbnRpbERvbmUoKTsKKworICAgIGZ1bmN0aW9uIGluaXRpYWxpemVGcm9udGVu
ZChpbml0aWFsaXphdGlvbkZ1bmN0aW9ucykKKyAgICB7CisgICAgICAgIGlmICh3aW5kb3cuSW5z
cGVjdG9yVGVzdCkgeworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5wYWdlTG9hZGVkKCk7Cisg
ICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKworICAgICAgICBJbnNwZWN0b3JUZXN0ID0g
e307CisgICAgCisgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgaW5pdGlhbGl6YXRpb25GdW5j
dGlvbnMubGVuZ3RoOyArK2kpIHsKKyAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAg
aW5pdGlhbGl6YXRpb25GdW5jdGlvbnNbaV0oKTsKKyAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsK
KyAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKCJFeGNlcHRpb24gaW4gdGVzdCBpbml0aWFs
aXphdGlvbjogIiArIGUpOworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVU
ZXN0KCk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9CisKKyAgICBmdW5jdGlvbiBy
dW5UZXN0SW5Gcm9udGVuZCh0ZXN0RnVuY3Rpb24sIGNvbXBsZXRlVGVzdENhbGxJZCkKKyAgICB7
CisgICAgICAgIGlmIChJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdENhbGxJZCkgCisgICAgICAg
ICAgICByZXR1cm47CisKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3RDYWxsSWQg
PSBjb21wbGV0ZVRlc3RDYWxsSWQ7CisKKyAgICAgICAgV2ViSW5zcGVjdG9yLnNob3dQYW5lbCgi
YXVkaXRzIik7CisgICAgICAgIHRyeSB7CisgICAgICAgICAgICB0ZXN0RnVuY3Rpb24oKTsKKyAg
ICAgICAgfSBjYXRjaCAoZSkgeworICAgICAgICAgICAgY29uc29sZS5lcnJvcigiRXhjZXB0aW9u
IGR1cmluZyB0ZXN0IGV4ZWN1dGlvbjogIiArIGUsICAoZS5zdGFjayA/IGUuc3RhY2sgOiAiIikg
KTsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7CisgICAgICAgIH0K
KyAgICB9CisKKyAgICB2YXIgaW5pdGlhbGl6YXRpb25GdW5jdGlvbnMgPSBbIFN0cmluZyhpbml0
aWFsaXplX0luc3BlY3RvclRlc3QpIF07CisgICAgZm9yICh2YXIgbmFtZSBpbiB3aW5kb3cpIHsK
KyAgICAgICAgaWYgKG5hbWUuaW5kZXhPZigiaW5pdGlhbGl6ZV8iKSA9PT0gMCAmJiB0eXBlb2Yg
d2luZG93W25hbWVdID09PSAiZnVuY3Rpb24iICYmIG5hbWUgIT09ICJpbml0aWFsaXplX0luc3Bl
Y3RvclRlc3QiKQorICAgICAgICAgICAgaW5pdGlhbGl6YXRpb25GdW5jdGlvbnMucHVzaCh3aW5k
b3dbbmFtZV0udG9TdHJpbmcoKSk7CisgICAgfQorICAgIHZhciBwYXJhbWV0ZXJzID0gWyJbIiAr
IGluaXRpYWxpemF0aW9uRnVuY3Rpb25zICsgIl0iXTsKKyAgICB2YXIgdG9FdmFsdWF0ZSA9ICIo
IiArIGluaXRpYWxpemVGcm9udGVuZCArICIpKCIgKyBwYXJhbWV0ZXJzLmpvaW4oIiwgIikgKyAi
KTsiOworICAgIHRlc3RSdW5uZXIuZXZhbHVhdGVJbldlYkluc3BlY3Rvcihpbml0aWFsaXplQ2Fs
bElkLCB0b0V2YWx1YXRlKTsKKworICAgIHBhcmFtZXRlcnMgPSBbdGVzdCwgY29tcGxldGVUZXN0
Q2FsbElkXTsKKyAgICB0b0V2YWx1YXRlID0gIigiICsgcnVuVGVzdEluRnJvbnRlbmQgKyAiKSgi
ICsgcGFyYW1ldGVycy5qb2luKCIsICIpICsgIik7IjsKKyAgICB0ZXN0UnVubmVyLmV2YWx1YXRl
SW5XZWJJbnNwZWN0b3IocnVuVGVzdENhbGxJZCwgdG9FdmFsdWF0ZSk7CisKKyAgICBpZiAoZW5h
YmxlV2F0Y2hEb2dXaGlsZURlYnVnZ2luZykgeworICAgICAgICBmdW5jdGlvbiB3YXRjaERvZygp
CisgICAgICAgIHsKKyAgICAgICAgICAgIGNvbnNvbGUubG9nKCJJbnRlcm5hbCB3YXRjaGRvZyB0
cmlnZ2VyZWQgYXQgMjAgc2Vjb25kcy4gVGVzdCB0aW1lZCBvdXQuIik7CisgICAgICAgICAgICBj
bG9zZUluc3BlY3RvckFuZE5vdGlmeURvbmUoKTsKKyAgICAgICAgfQorICAgICAgICB3aW5kb3cu
X3dhdGNoRG9nVGltZXIgPSBzZXRUaW1lb3V0KHdhdGNoRG9nLCAyMDAwMCk7CisgICAgfQorfQor
CitmdW5jdGlvbiBkaWRFdmFsdWF0ZUZvclRlc3RJbkZyb250ZW5kKGNhbGxJZCkKK3sKKyAgICBp
ZiAoY2FsbElkICE9PSBjb21wbGV0ZVRlc3RDYWxsSWQpCisgICAgICAgIHJldHVybjsKKyAgICBk
ZWxldGUgd2luZG93LmNvbXBsZXRlVGVzdENhbGxJZDsKKyAgICAvLyBDbG9zZSBpbnNwZWN0b3Ig
YXN5bmNocm91c2x5IHRvIGFsbG93IGNhbGxlciBvZiB0aGlzCisgICAgLy8gZnVuY3Rpb24gc2Vu
ZCByZXNwb25zZSBiZWZvcmUgYmFja2VuZCBkaXNwYXRjaGVyIGFuZCBmcm9udGVuZCBhcmUgZGVz
dHJveWVkLgorICAgIHNldFRpbWVvdXQoY2xvc2VJbnNwZWN0b3JBbmROb3RpZnlEb25lLCAwKTsK
K30KKworZnVuY3Rpb24gY2xvc2VJbnNwZWN0b3JBbmROb3RpZnlEb25lKCkKK3sKKyAgICBpZiAo
d2luZG93Ll93YXRjaERvZ1RpbWVyKQorICAgICAgICBjbGVhclRpbWVvdXQod2luZG93Ll93YXRj
aERvZ1RpbWVyKTsKKworICAgIHRlc3RSdW5uZXIuY2xvc2VXZWJJbnNwZWN0b3IoKTsKKyAgICBz
ZXRUaW1lb3V0KGZ1bmN0aW9uKCkgeworICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsK
KyAgICB9LCAwKTsKK30KKwordmFyIG91dHB1dEVsZW1lbnQ7CisKK2Z1bmN0aW9uIG91dHB1dCh0
ZXh0KQoreworICAgIGlmICghb3V0cHV0RWxlbWVudCkgeworICAgICAgICB2YXIgaW50ZXJtZWRp
YXRlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CisgICAgICAgIGRvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQoaW50ZXJtZWRpYXRlKTsKKworICAgICAgICB2YXIgaW50ZXJtZWRpYXRl
MiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOworICAgICAgICBpbnRlcm1lZGlhdGUu
YXBwZW5kQ2hpbGQoaW50ZXJtZWRpYXRlMik7CisKKyAgICAgICAgb3V0cHV0RWxlbWVudCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOworICAgICAgICBvdXRwdXRFbGVtZW50LmNsYXNz
TmFtZSA9ICJvdXRwdXQiOworICAgICAgICBvdXRwdXRFbGVtZW50LmlkID0gIm91dHB1dCI7Cisg
ICAgICAgIG91dHB1dEVsZW1lbnQuc3R5bGUud2hpdGVTcGFjZSA9ICJwcmUiOworICAgICAgICBp
bnRlcm1lZGlhdGUyLmFwcGVuZENoaWxkKG91dHB1dEVsZW1lbnQpOworICAgIH0KKyAgICBvdXRw
dXRFbGVtZW50LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKHRleHQpKTsKKyAg
ICBvdXRwdXRFbGVtZW50LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImJyIikp
OworfQorCitmdW5jdGlvbiBjbGVhck91dHB1dCgpCit7CisgICAgaWYgKG91dHB1dEVsZW1lbnQp
IHsKKyAgICAgICAgb3V0cHV0RWxlbWVudC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKG91dHB1dEVs
ZW1lbnQpOworICAgICAgICBvdXRwdXRFbGVtZW50ID0gbnVsbDsKKyAgICB9Cit9CisKK2Z1bmN0
aW9uIFN0YW5kYWxvbmVUZXN0UnVubmVyU3R1YigpCit7Cit9CisKK1N0YW5kYWxvbmVUZXN0UnVu
bmVyU3R1Yi5wcm90b3R5cGUgPSB7CisgICAgZHVtcEFzVGV4dDogZnVuY3Rpb24oKQorICAgIHsK
KyAgICB9LAorCisgICAgd2FpdFVudGlsRG9uZTogZnVuY3Rpb24oKQorICAgIHsKKyAgICB9LAor
CisgICAgY2xvc2VXZWJJbnNwZWN0b3I6IGZ1bmN0aW9uKCkKKyAgICB7CisgICAgICAgIHdpbmRv
dy5vcGVuZXIucG9zdE1lc3NhZ2UoWyJjbG9zZVdlYkluc3BlY3RvciJdLCAiKiIpOworICAgIH0s
CisKKyAgICBub3RpZnlEb25lOiBmdW5jdGlvbigpCisgICAgeworICAgICAgICB2YXIgYWN0dWFs
ID0gZG9jdW1lbnQuYm9keS5pbm5lclRleHQgKyAiXG4iOworICAgICAgICB3aW5kb3cub3BlbmVy
LnBvc3RNZXNzYWdlKFsibm90aWZ5RG9uZSIsIGFjdHVhbF0sICIqIik7CisgICAgfSwKKworICAg
IGV2YWx1YXRlSW5XZWJJbnNwZWN0b3I6IGZ1bmN0aW9uKGNhbGxJZCwgc2NyaXB0KQorICAgIHsK
KyAgICAgICAgd2luZG93Lm9wZW5lci5wb3N0TWVzc2FnZShbImV2YWx1YXRlSW5XZWJJbnNwZWN0
b3IiLCBjYWxsSWQsIHNjcmlwdF0sICIqIik7CisgICAgfSwKKworICAgIGRpc3BsYXk6IGZ1bmN0
aW9uKCkgeyB9Cit9CisKK2lmICghd2luZG93LnRlc3RSdW5uZXIgJiYgd2luZG93Lm9wZW5lcikK
KyAgICB3aW5kb3cudGVzdFJ1bm5lciA9IG5ldyBTdGFuZGFsb25lVGVzdFJ1bm5lclN0dWIoKTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL2lz
b2xhdGVkLWZpbGVzeXN0ZW0tdGVzdC5qcyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0
ZS9odHRwLXRlc3RzL2lzb2xhdGVkLWZpbGVzeXN0ZW0tdGVzdC5qcwpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jZDE0
NTFkZDIyNjY3MjUwZGRkOGM5MjgwZTUxODFhZjllMmMyY2EyCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvaXNvbGF0ZWQtZmlsZXN5
c3RlbS10ZXN0LmpzCkBAIC0wLDAgKzEsNjMgQEAKK3ZhciBpbml0aWFsaXplX0lzb2xhdGVkRmls
ZVN5c3RlbVRlc3QgPSBmdW5jdGlvbigpIHsKKworSW5zcGVjdG9yVGVzdC5jcmVhdGVJc29sYXRl
ZEZpbGVTeXN0ZW1NYW5hZ2VyID0gZnVuY3Rpb24od29ya3NwYWNlLCBmaWxlU3lzdGVtTWFwcGlu
ZykKK3sKKyAgICB2YXIgbWFuYWdlciA9IG5ldyBNb2NrSXNvbGF0ZWRGaWxlU3lzdGVtTWFuYWdl
cigpOworICAgIG1hbmFnZXIuZmlsZVN5c3RlbVdvcmtzcGFjZVByb3ZpZGVyID0gbmV3IFdlYklu
c3BlY3Rvci5GaWxlU3lzdGVtV29ya3NwYWNlUHJvdmlkZXIobWFuYWdlciwgd29ya3NwYWNlKTsK
KyAgICBtYW5hZ2VyLmZpbGVTeXN0ZW1NYXBwaW5nID0gZmlsZVN5c3RlbU1hcHBpbmc7CisgICAg
cmV0dXJuIG1hbmFnZXI7Cit9CisKK3ZhciBNb2NrSXNvbGF0ZWRGaWxlU3lzdGVtID0gZnVuY3Rp
b24ocGF0aCwgZmlsZXMpCit7CisgICAgdGhpcy5fcGF0aCA9IHBhdGg7CisgICAgdGhpcy5fZmls
ZXMgPSBmaWxlczsKK307CitNb2NrSXNvbGF0ZWRGaWxlU3lzdGVtLnByb3RvdHlwZSA9IHsKKyAg
ICBwYXRoOiBmdW5jdGlvbigpCisgICAgeworICAgICAgICByZXR1cm4gdGhpcy5fcGF0aDsKKyAg
ICB9LAorCisgICAgcmVxdWVzdEZpbGVDb250ZW50OiBmdW5jdGlvbihwYXRoLCBjYWxsYmFjaykK
KyAgICB7CisgICAgICAgIGNhbGxiYWNrKHRoaXMuX2ZpbGVzW3BhdGhdKTsKKyAgICB9LAorCisg
ICAgc2V0RmlsZUNvbnRlbnQ6IGZ1bmN0aW9uKHBhdGgsIG5ld0NvbnRlbnQsIGNhbGxiYWNrKQor
ICAgIHsKKyAgICAgICAgdGhpcy5fZmlsZXNbcGF0aF0gPSBuZXdDb250ZW50OworICAgICAgICBj
YWxsYmFjaygpOworICAgIH0sCisKKyAgICByZXF1ZXN0RmlsZXNSZWN1cnNpdmU6IGZ1bmN0aW9u
KHBhdGgsIGNhbGxiYWNrKQorICAgIHsKKyAgICAgICAgdmFyIGZpbGVzID0gT2JqZWN0LmtleXMo
dGhpcy5fZmlsZXMpOworICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGZpbGVzLmxlbmd0aDsg
KytpKQorICAgICAgICAgICAgY2FsbGJhY2soZmlsZXNbaV0pOworICAgIH0sCit9CisKK3ZhciBN
b2NrSXNvbGF0ZWRGaWxlU3lzdGVtTWFuYWdlciA9IGZ1bmN0aW9uKCkge307CitNb2NrSXNvbGF0
ZWRGaWxlU3lzdGVtTWFuYWdlci5wcm90b3R5cGUgPSB7CisgICAgYWRkTW9ja0ZpbGVTeXN0ZW06
IGZ1bmN0aW9uKHBhdGgsIGZpbGVzKQorICAgIHsKKyAgICAgICAgdmFyIGZpbGVTeXN0ZW0gPSBu
ZXcgTW9ja0lzb2xhdGVkRmlsZVN5c3RlbShwYXRoLCBmaWxlcyk7CisgICAgICAgIHRoaXMuX2Zp
bGVTeXN0ZW1zID0gdGhpcy5fZmlsZVN5c3RlbXMgfHwge307CisgICAgICAgIHRoaXMuX2ZpbGVT
eXN0ZW1zW3BhdGhdID0gZmlsZVN5c3RlbTsKKyAgICAgICAgdGhpcy5maWxlU3lzdGVtTWFwcGlu
Zy5hZGRGaWxlU3lzdGVtTWFwcGluZyhwYXRoKTsKKyAgICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50
VG9MaXN0ZW5lcnMoV2ViSW5zcGVjdG9yLklzb2xhdGVkRmlsZVN5c3RlbU1hbmFnZXIuRXZlbnRz
LkZpbGVTeXN0ZW1BZGRlZCwgZmlsZVN5c3RlbSk7CisgICAgfSwKKworICAgIHJlbW92ZU1vY2tG
aWxlU3lzdGVtOiBmdW5jdGlvbihwYXRoKQorICAgIHsKKyAgICAgICAgdmFyIGZpbGVTeXN0ZW0g
PSB0aGlzLl9maWxlU3lzdGVtc1twYXRoXTsKKyAgICAgICAgZGVsZXRlIHRoaXMuX2ZpbGVTeXN0
ZW1zW3BhdGhdOworICAgICAgICB0aGlzLmZpbGVTeXN0ZW1NYXBwaW5nLnJlbW92ZUZpbGVTeXN0
ZW1NYXBwaW5nKHBhdGgpOworICAgICAgICB0aGlzLmRpc3BhdGNoRXZlbnRUb0xpc3RlbmVycyhX
ZWJJbnNwZWN0b3IuSXNvbGF0ZWRGaWxlU3lzdGVtTWFuYWdlci5FdmVudHMuRmlsZVN5c3RlbVJl
bW92ZWQsIGZpbGVTeXN0ZW0pOworICAgIH0sCisKKyAgICBfX3Byb3RvX186IFdlYkluc3BlY3Rv
ci5PYmplY3QucHJvdG90eXBlCit9CisKK307CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9saXZlLWVkaXQtdGVzdC5qcyBiL0xheW91dFRlc3Rz
L2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL2xpdmUtZWRpdC10ZXN0LmpzCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjc0NTA2ZjViOTc0MmVlMzcxYjI5ZjhlNzE1NDM5ZGMyMzk4NjNhOTIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9saXZlLWVk
aXQtdGVzdC5qcwpAQCAtMCwwICsxLDI3IEBACit2YXIgaW5pdGlhbGl6ZV9MaXZlRWRpdFRlc3Qg
PSBmdW5jdGlvbigpIHsKKworSW5zcGVjdG9yVGVzdC5yZXBsYWNlSW5Tb3VyY2UgPSBmdW5jdGlv
bihzb3VyY2VGcmFtZSwgc3RyaW5nLCByZXBsYWNlbWVudCkKK3sKKyAgICBzb3VyY2VGcmFtZS5f
dGV4dEVkaXRvci5fbWFpblBhbmVsLnNldFJlYWRPbmx5KGZhbHNlKTsKKyAgICBmb3IgKHZhciBp
ID0gMDsgaSA8IHNvdXJjZUZyYW1lLl90ZXh0RWRpdG9yLmxpbmVzQ291bnQ7ICsraSkgeworICAg
ICAgICB2YXIgbGluZSA9IHNvdXJjZUZyYW1lLl90ZXh0RWRpdG9yLmxpbmUoaSk7CisgICAgICAg
IHZhciBjb2x1bW4gPSBsaW5lLmluZGV4T2Yoc3RyaW5nKTsKKyAgICAgICAgaWYgKGNvbHVtbiA9
PT0gLTEpCisgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgcmFuZ2UgPSBuZXcgV2ViSW5z
cGVjdG9yLlRleHRSYW5nZShpLCBjb2x1bW4sIGksIGNvbHVtbiArIHN0cmluZy5sZW5ndGgpOwor
ICAgICAgICB2YXIgbmV3UmFuZ2UgPSBzb3VyY2VGcmFtZS5fdGV4dEVkaXRvci5lZGl0UmFuZ2Uo
cmFuZ2UsIHJlcGxhY2VtZW50KTsKKyAgICAgICAgYnJlYWs7CisgICAgfQorfQorCitJbnNwZWN0
b3JUZXN0LmNvbW1pdFNvdXJjZSA9IGZ1bmN0aW9uKHNvdXJjZUZyYW1lKQoreworICAgIHNvdXJj
ZUZyYW1lLl9jb21taXRFZGl0aW5nKCk7Cit9CisKK0luc3BlY3RvclRlc3QudW5kb1NvdXJjZUVk
aXRpbmcgPSBmdW5jdGlvbihzb3VyY2VGcmFtZSkKK3sKKyAgICBzb3VyY2VGcmFtZS5fdGV4dEVk
aXRvci5fbWFpblBhbmVsLl9oYW5kbGVVbmRvUmVkbyhmYWxzZSk7Cit9CisKK307CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9tb2RpZnktY3Jv
c3MtZG9tYWluLXJ1bGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29s
ZXRlL2h0dHAtdGVzdHMvbW9kaWZ5LWNyb3NzLWRvbWFpbi1ydWxlLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5hM2FlYTYwODI5ODJiYzM2NzJkNWQ5NTY5ODcyZWQyZWQ0ZTRmMjFhCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbW9k
aWZ5LWNyb3NzLWRvbWFpbi1ydWxlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE3IEBACitUZXN0
cyB0aGF0IG1vZGlmeWluZyBhIHJ1bGUgaW4gYSBzdHlsZXNoZWV0IGxvYWRlZCBmcm9tIGEgZGlm
ZmVyZW50IGRvbWFpbiBkb2VzIG5vdCBjcmFzaCB0aGUgcmVuZGVyZXIuCisKK1RleHQKKworUnVu
bmluZzogdGVzdFNldFVwCisKK1J1bm5pbmc6IHRlc3RBZGRQcm9wZXJ0eQorPT09IFJ1bGUgbW9k
aWZpZWQgPT09Citjb2xvcjogZ3JlZW47Cit3aWR0aDogMTAwJTsKKz09PSBTZWxlY3RvciBjaGFu
Z2VkID09PQorYm9keSB7CisgIGNvbG9yOiBncmVlbjsKKyAgd2lkdGg6IDEwMCU7Cit9CitBZmZl
Y3RzIHNlbGVjdGVkICgjaW5zcGVjdGVkKSBub2RlOiBmYWxzZQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9tb2RpZnktY3Jvc3MtZG9tYWlu
LXJ1bGUuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL21v
ZGlmeS1jcm9zcy1kb21haW4tcnVsZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNiNzlkZDNmZWI3ZDE0OTQy
M2MwNzA2MjJiMmJlYzAzNzFmZTI1MmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9p
bnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9tb2RpZnktY3Jvc3MtZG9tYWluLXJ1bGUuaHRt
bApAQCAtMCwwICsxLDExMCBAQAorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVl
dCIgaHJlZj0iaHR0cDovL2xvY2FsaG9zdDo4MDAwL2luc3BlY3Rvci9zdHlsZXMvbW9kaWZ5LWNy
b3NzLWRvbWFpbi1ydWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iaW5zcGVjdG9yLXRlc3QuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9ImVsZW1lbnRzLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlw
dD4KKworZnVuY3Rpb24gdGVzdCgpCit7CisgICAgdmFyIG5vZGVJZDsKKyAgICB2YXIgYWxsUnVs
ZXM7CisgICAgdmFyIHJ1bGU7CisgICAgdmFyIG1hdGNoZWRSdWxlczsKKworICAgIFdlYkluc3Bl
Y3Rvci5zaG93UGFuZWwoImVsZW1lbnRzIik7CisKKyAgICBJbnNwZWN0b3JUZXN0LnJ1blRlc3RT
dWl0ZShbCisgICAgICAgIGZ1bmN0aW9uIHRlc3RTZXRVcChuZXh0KSB7CisgICAgICAgICAgICBJ
bnNwZWN0b3JUZXN0LnNlbGVjdE5vZGVBbmRXYWl0Rm9yU3R5bGVzKCJpbnNwZWN0ZWQiLCBzZWxl
Y3RDYWxsYmFjayk7CisKKyAgICAgICAgICAgIGZ1bmN0aW9uIHNlbGVjdENhbGxiYWNrKCkKKyAg
ICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICB2YXIgaWRUb0RPTU5vZGUgPSBXZWJJbnNwZWN0
b3IuZG9tQWdlbnQuX2lkVG9ET01Ob2RlOworICAgICAgICAgICAgICAgIGZvciAodmFyIGlkIGlu
IGlkVG9ET01Ob2RlKSB7CisgICAgICAgICAgICAgICAgICAgIG5vZGUgPSBpZFRvRE9NTm9kZVtp
ZF07CisgICAgICAgICAgICAgICAgICAgIGlmIChub2RlLmdldEF0dHJpYnV0ZSAmJiBub2RlLmdl
dEF0dHJpYnV0ZSgiaWQiKSA9PT0gImluc3BlY3RlZCIpIHsKKyAgICAgICAgICAgICAgICAgICAg
ICAgIG5vZGVJZCA9IHBhcnNlSW50KGlkLCAxMCk7CisgICAgICAgICAgICAgICAgICAgICAgICBi
cmVhazsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIH0KKworICAgICAg
ICAgICAgICAgIGlmICghbm9kZUlkKSB7CisgICAgICAgICAgICAgICAgICAgIEluc3BlY3RvclRl
c3QuY29tcGxldGVUZXN0KCk7CisgICAgICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAg
ICAgICAgICB9CisKKyAgICAgICAgICAgICAgICBXZWJJbnNwZWN0b3IuY3NzTW9kZWwuZ2V0TWF0
Y2hlZFN0eWxlc0FzeW5jKG5vZGVJZCwgZmFsc2UsIGZhbHNlLCBjYWxsYmFjayk7CisgICAgICAg
ICAgICB9CisKKyAgICAgICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrKHJ1bGVzKQorICAgICAgICAg
ICAgeworICAgICAgICAgICAgICAgIGlmICghcnVsZXMgfHwgIXJ1bGVzLm1hdGNoZWRDU1NSdWxl
cyB8fCAhcnVsZXMubWF0Y2hlZENTU1J1bGVzLmxlbmd0aCkgeworICAgICAgICAgICAgICAgICAg
ICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiWyFdIE5vIHJ1bGVzIGZvdW5kIik7CisgICAgICAg
ICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7CisgICAgICAgICAgICAg
ICAgICAgIHJldHVybjsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICBhbGxS
dWxlcyA9IHJ1bGVzLm1hdGNoZWRDU1NSdWxlczsKKyAgICAgICAgICAgICAgICBuZXh0KCk7Cisg
ICAgICAgICAgICB9CisgICAgICAgIH0sCisKKyAgICAgICAgZnVuY3Rpb24gdGVzdEFkZFByb3Bl
cnR5KG5leHQpCisgICAgICAgIHsKKyAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYWxs
UnVsZXMubGVuZ3RoOyArK2kpIHsKKyAgICAgICAgICAgICAgICBpZiAoYWxsUnVsZXNbaV0uaXNS
ZWd1bGFyKSB7CisgICAgICAgICAgICAgICAgICAgIHJ1bGUgPSBhbGxSdWxlc1tpXTsKKyAgICAg
ICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQor
ICAgICAgICAgICAgcnVsZS5zdHlsZS5hcHBlbmRQcm9wZXJ0eSgid2lkdGgiLCAiMTAwJSIsIGNh
bGxiYWNrKTsKKyAgICAgICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrKG5ld1N0eWxlKQorICAgICAg
ICAgICAgeworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCI9PT0gUnVs
ZSBtb2RpZmllZCA9PT0iKTsKKyAgICAgICAgICAgICAgICBpZiAoIW5ld1N0eWxlKSB7CisgICAg
ICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJbIV0gTm8gdmFsaWQgcnVs
ZSBzdHlsZSByZWNlaXZlZCIpOworICAgICAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmNv
bXBsZXRlVGVzdCgpOworICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAg
ICAgIGR1bXBQcm9wZXJ0aWVzKG5ld1N0eWxlKTsKKyAgICAgICAgICAgICAgICAgICAgV2ViSW5z
cGVjdG9yLmNzc01vZGVsLnNldFJ1bGVTZWxlY3RvcihydWxlLmlkLCBub2RlSWQsICJib2R5Iiwg
c3VjY2Vzc0NhbGxiYWNrLCBmYWlsdXJlQ2FsbGJhY2spOworICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIH0KKworICAgICAgICAgICAgZnVuY3Rpb24gc3VjY2Vzc0NhbGxiYWNrKHJ1bGUs
IGRvZXNBZmZlY3RTZWxlY3RlZE5vZGUpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAg
SW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIj09PSBTZWxlY3RvciBjaGFuZ2VkID09PSIpOworICAg
ICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KHJ1bGUuc2VsZWN0b3JUZXh0ICsg
IiB7IiArIHJ1bGUuc3R5bGUuY3NzVGV4dCArICJ9Iik7CisgICAgICAgICAgICAgICAgSW5zcGVj
dG9yVGVzdC5hZGRSZXN1bHQoIkFmZmVjdHMgc2VsZWN0ZWQgKCNpbnNwZWN0ZWQpIG5vZGU6ICIg
KyBkb2VzQWZmZWN0U2VsZWN0ZWROb2RlKTsKKyAgICAgICAgICAgICAgICBuZXh0KCk7CisgICAg
ICAgICAgICB9CisKKyAgICAgICAgICAgIGZ1bmN0aW9uIGZhaWx1cmVDYWxsYmFjaygpCisgICAg
ICAgICAgICB7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIlshXSBG
YWlsZWQgdG8gY2hhbmdlIHNlbGVjdG9yIik7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVz
dC5jb21wbGV0ZVRlc3QoKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIF0pOworCisg
ICAgZnVuY3Rpb24gZHVtcFByb3BlcnRpZXMoc3R5bGUpCisgICAgeworICAgICAgIGlmICghc3R5
bGUpCisgICAgICAgICAgIHJldHVybjsKKyAgICAgICB2YXIgYWxsUHJvcGVydGllcyA9IHN0eWxl
LmFsbFByb3BlcnRpZXM7CisgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBhbGxQcm9wZXJ0aWVz
Lmxlbmd0aDsgKytpKQorICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdChhbGxQcm9w
ZXJ0aWVzW2ldLnRleHQpOworICAgIH0KK30KKzwvc2NyaXB0PgorPC9oZWFkPgorCis8Ym9keSBv
bmxvYWQ9InJ1blRlc3QoKSI+Cis8cD4KK1Rlc3RzIHRoYXQgbW9kaWZ5aW5nIGEgcnVsZSBpbiBh
IHN0eWxlc2hlZXQgbG9hZGVkIGZyb20gYSBkaWZmZXJlbnQgZG9tYWluIGRvZXMgbm90IGNyYXNo
IHRoZSByZW5kZXJlci4KKzwvcD4KKworPGRpdiBpZD0iaW5zcGVjdGVkIj5UZXh0PC9kaXY+CisK
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNv
bGV0ZS9odHRwLXRlc3RzL25ldHdvcmstcHJlZmxpZ2h0LW9wdGlvbnMtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay1wcmVmbGln
aHQtb3B0aW9ucy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODQ2MDkxNzNiNDQ5ODFkYjgyYTlh
MGI2ZjA0MDJmZTA5YWMzZDYwZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmstcHJlZmxpZ2h0LW9wdGlvbnMtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTYgQEAKK0NPTlNPTEUgTUVTU0FHRTogWE1MSHR0cFJlcXVlc3Qg
Y2Fubm90IGxvYWQgaHR0cDovL2xvY2FsaG9zdDo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZXMvY29y
cy10YXJnZXQucGhwP2lkPTAmZGVueT15ZXMuIE9yaWdpbiBodHRwOi8vMTI3LjAuMC4xOjgwMDAg
aXMgbm90IGFsbG93ZWQgYnkgQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luLgorQ09OU09MRSBN
RVNTQUdFOiBYTUxIdHRwUmVxdWVzdCBjYW5ub3QgbG9hZCBodHRwOi8vbG9jYWxob3N0OjgwMDAv
aW5zcGVjdG9yL3Jlc291cmNlcy9jb3JzLXRhcmdldC5waHA/aWQ9MSZkZW55PXllcy4gT3JpZ2lu
IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMCBpcyBub3QgYWxsb3dlZCBieSBBY2Nlc3MtQ29udHJvbC1B
bGxvdy1PcmlnaW4uCitDT05TT0xFIE1FU1NBR0U6IFhNTEh0dHBSZXF1ZXN0IGNhbm5vdCBsb2Fk
IGh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2VzL2NvcnMtdGFyZ2V0LnBo
cD9pZD0zJmRlbnk9eWVzLiBPcmlnaW4gaHR0cDovLzEyNy4wLjAuMTo4MDAwIGlzIG5vdCBhbGxv
d2VkIGJ5IEFjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbi4KK0NPTlNPTEUgTUVTU0FHRTogWE1M
SHR0cFJlcXVlc3QgY2Fubm90IGxvYWQgaHR0cDovL2xvY2FsaG9zdDo4MDAwL2luc3BlY3Rvci9y
ZXNvdXJjZXMvY29ycy10YXJnZXQucGhwP2lkPTQmZGVueT15ZXMuIE9yaWdpbiBodHRwOi8vMTI3
LjAuMC4xOjgwMDAgaXMgbm90IGFsbG93ZWQgYnkgQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2lu
LgorVGVzdHMgdGhhdCBwcmVmbGlnaHQgT1BUSU9OUyByZXF1ZXN0cyBhcHBlYXIgaW4gTmV0d29y
ayByZXNvdXJjZXMKKworQnVnIDYzNzEyCiswIHhocjpQT1NUIGh0dHA6Ly9sb2NhbGhvc3Q6ODAw
MC9pbnNwZWN0b3IvcmVzb3VyY2VzL2NvcnMtdGFyZ2V0LnBocD9pZD0wJmRlbnk9eWVzCisxIHho
cjpPUFRJT05TIGh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2VzL2NvcnMt
dGFyZ2V0LnBocD9pZD0xJmRlbnk9eWVzCisyIHhocjpPUFRJT05TIGh0dHA6Ly9sb2NhbGhvc3Q6
ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2VzL2NvcnMtdGFyZ2V0LnBocD9pZD0yCisyIHhocjpQT1NU
IGh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2VzL2NvcnMtdGFyZ2V0LnBo
cD9pZD0yCiszIG90aGVyOlBPU1QgaHR0cDovL2xvY2FsaG9zdDo4MDAwL2luc3BlY3Rvci9yZXNv
dXJjZXMvY29ycy10YXJnZXQucGhwP2lkPTMmZGVueT15ZXMKKzQgeGhyOk9QVElPTlMgaHR0cDov
L2xvY2FsaG9zdDo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZXMvY29ycy10YXJnZXQucGhwP2lkPTQm
ZGVueT15ZXMKKzUgeGhyOk9QVElPTlMgaHR0cDovL2xvY2FsaG9zdDo4MDAwL2luc3BlY3Rvci9y
ZXNvdXJjZXMvY29ycy10YXJnZXQucGhwP2lkPTUKKzUgeGhyOlBPU1QgaHR0cDovL2xvY2FsaG9z
dDo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZXMvY29ycy10YXJnZXQucGhwP2lkPTUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay1w
cmVmbGlnaHQtb3B0aW9ucy5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0
dHAtdGVzdHMvbmV0d29yay1wcmVmbGlnaHQtb3B0aW9ucy5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY4ZTEz
NzQ4OTA2Mjk4ZDkwMjI0ZDJhMTI3ODJmYTc0ZWVhODcyMmYKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrLXByZWZsaWdo
dC1vcHRpb25zLmh0bWwKQEAgLTAsMCArMSw4OSBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSJpbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2
YXNjcmlwdCI+CitmdW5jdGlvbiBzZW5kWEhSKHVybCwgZm9yY2VQcmVmbGlnaHQsIGFzeW5jLCBj
YWxsYmFjaykKK3sKKyAgICB2YXIgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CisKKyAgICB4
aHIub25yZWFkeXN0YXRlY2hhbmdlID0gZnVuY3Rpb24oKQorICAgIHsKKyAgICAgICAgaWYgKHho
ci5yZWFkeVN0YXRlID09PSBYTUxIdHRwUmVxdWVzdC5ET05FKSB7CisgICAgICAgICAgICBpZiAo
dHlwZW9mKGNhbGxiYWNrKSA9PT0gImZ1bmN0aW9uIikKKyAgICAgICAgICAgICAgICBjYWxsYmFj
aygpOworICAgICAgICB9CisgICAgfTsKKworICAgIHhoci5vcGVuKCJQT1NUIiwgdXJsLCBhc3lu
Yyk7CisgICAgeGhyLnNldFJlcXVlc3RIZWFkZXIoIkNvbnRlbnQtVHlwZSIsIGZvcmNlUHJlZmxp
Z2h0ID8gImFwcGxpY2F0aW9uL3htbCIgOiAidGV4dC9wbGFpbiIpOworICAgIHRyeSB7CisgICAg
ICAgIHhoci5zZW5kKCI8eG1sPjwveG1sPiIpOyAgLy8gRGVuaWVkIHJlcXVlc3RzIHdpbGwgY2F1
c2UgZXhjZXB0aW9ucy4KKyAgICB9IGNhdGNoIChlKSB7CisgICAgfQorfQorCit2YXIgYmFzZVRh
cmdldFVSTCA9ICJodHRwOi8vbG9jYWxob3N0OjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlcy9jb3Jz
LXRhcmdldC5waHAiOworCitmdW5jdGlvbiB0YXJnZXRVUkwoaWQsIGRlbnksIGFkZFRpbWVzdGFt
cCkKK3sKKyAgICB2YXIgcmVzdWx0ID0gYmFzZVRhcmdldFVSTCArICI/aWQ9IiArIGlkOworICAg
IGlmIChkZW55KQorICAgICAgICByZXN1bHQgKz0gIiZkZW55PXllcyI7CisgICAgaWYgKGFkZFRp
bWVzdGFtcCkKKyAgICAgICAgcmVzdWx0ICs9ICImZGF0ZT0iICsgRGF0ZS5ub3coKTsKKyAgICBy
ZXR1cm4gcmVzdWx0OworfQorCitmdW5jdGlvbiBkb0Nyb3NzT3JpZ2luWEhSKCkKK3sKKyAgICAv
LyBGYWlsZWQgUE9TVHMgd2l0aCBubyBwcmVmbGlnaHQgY2hlY2sgc2hvdWxkIHJlc3VsdCBpbiBh
IFBPU1QgcmVxdWVzdCBiZWluZyBsb2dnZWQKKyAgICBzZW5kWEhSKHRhcmdldFVSTCgwLCB0cnVl
LCBmYWxzZSksIGZhbHNlLCBmYWxzZSk7CisgICAgLy8gRmFpbGVkIFBPU1RzIHdpdGggcHJlZmxp
Z2h0IGNoZWNrIHNob3VsZCByZXN1bHQgaW4gYW4gT1BUSU9OUyByZXF1ZXN0IGJlaW5nIGxvZ2dl
ZAorICAgIHNlbmRYSFIodGFyZ2V0VVJMKDEsIHRydWUsIGZhbHNlKSwgdHJ1ZSwgZmFsc2UpOwor
ICAgIC8vIFN1Y2Nlc3NmdWwgUE9TVHMgd2l0aCBwcmVmbGlnaHQgY2hlY2sgc2hvdWxkIHJlc3Vs
dCBpbiBhbiBPUFRJT05TIHJlcXVlc3QgZm9sbG93ZWQgYnkgUE9TVCByZXF1ZXN0IGJlaW5nIGxv
Z2dlZAorICAgIC8vIEdlbmVyYXRlIHJlcXVlc3QgbmFtZSBiYXNlZCBvbiB0aW1lc3RhbXAgdG8g
ZGVmZWF0IE9QVElPTlMgcmVxdWVzdCBjYWNoaW5nICh0aGlzIGlzIG9ubHkgcmVsZXZhbnQgZm9y
IHJlcGVhdGVkIGludm9jYXRpb25zIG9mIHRoZSB0ZXN0IGluIHNpZ25sZSBpbnN0YW5jZSBvZiBE
UlQpCisgICAgc2VuZFhIUih0YXJnZXRVUkwoMiwgZmFsc2UsIHRydWUpLCB0cnVlLCBmYWxzZSk7
CisKKyAgICAvLyBBbmQgbm93IHNlbmQgdGhlIHNhbWUgcmVxdWVzdHMgYXN5bmNocm9ub3VzbHkK
KyAgICAvLyBBZGQgcmVkdW5kYW50IGFzeW5jIHBhcmFtZXRlciB0byBlbnN1cmUgdGhpcyByZXF1
ZXN0IGRpZmZlcnMgZnJvbSB0aGUgb25lIGFib3ZlLgorICAgIHNlbmRYSFIodGFyZ2V0VVJMKDMs
IHRydWUsIGZhbHNlKSwgZmFsc2UsIHRydWUsIHN0ZXAyKTsKK30KKworZnVuY3Rpb24gc3RlcDIo
KQoreworICAgIHNlbmRYSFIodGFyZ2V0VVJMKDQsIHRydWUsIGZhbHNlKSwgdHJ1ZSwgdHJ1ZSwg
c3RlcDMpOworfQorCitmdW5jdGlvbiBzdGVwMygpCit7CisgICAgc2VuZFhIUih0YXJnZXRVUkwo
NSwgZmFsc2UsIHRydWUpLCB0cnVlLCB0cnVlKTsKK30KKwordmFyIHRlc3QgPSBmdW5jdGlvbigp
Cit7CisgICAgdmFyIHJlcXVlc3RNZXNzYWdlcyA9IFtdOworICAgIHZhciBwb3N0UmVxdWVzdHND
b3VudCA9IDA7CisgICAgZnVuY3Rpb24gb25SZXF1ZXN0KGV2ZW50KQorICAgIHsKKyAgICAgICAg
dmFyIHJlcXVlc3QgPSBldmVudC5kYXRhOworICAgICAgICB2YXIgaWRNYXRjaCA9IC9cP2lkPShb
MC05XSopJi8uZXhlYyhyZXF1ZXN0LnVybCk7CisgICAgICAgIHZhciByZXF1ZXN0SWQgPSBpZE1h
dGNoWzFdOworICAgICAgICB2YXIgcmVxdWVzdE1lc3NhZ2UgPSByZXF1ZXN0SWQgKyAiICIgKyBy
ZXF1ZXN0LnR5cGUgKyAiOiIgKyByZXF1ZXN0LnJlcXVlc3RNZXRob2QgKyAiICIgKyByZXF1ZXN0
LnVybC5yZXBsYWNlKC9bJj9dZGF0ZT1cZCsvLCAiIik7CisgICAgICAgIHJlcXVlc3RNZXNzYWdl
cy5wdXNoKHJlcXVlc3RNZXNzYWdlKTsKKyAgICAgICAgaWYgKHJlcXVlc3QucmVxdWVzdE1ldGhv
ZCA9PT0gIlBPU1QiICYmICsrcG9zdFJlcXVlc3RzQ291bnQgPT09IDQpIHsKKyAgICAgICAgICAg
IHJlcXVlc3RNZXNzYWdlcy5zb3J0KCk7CisgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8
IHJlcXVlc3RNZXNzYWdlcy5sZW5ndGg7IGkrKykKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JU
ZXN0LmFkZFJlc3VsdChyZXF1ZXN0TWVzc2FnZXNbaV0pOworICAgICAgICAgICAgSW5zcGVjdG9y
VGVzdC5jb21wbGV0ZVRlc3QoKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBXZWJJbnNwZWN0b3Iu
bmV0d29ya01hbmFnZXIuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuTmV0d29ya01hbmFn
ZXIuRXZlbnRUeXBlcy5SZXF1ZXN0RmluaXNoZWQsIG9uUmVxdWVzdCk7CisgICAgSW5zcGVjdG9y
VGVzdC5ldmFsdWF0ZUluUGFnZSgiZG9Dcm9zc09yaWdpblhIUigpOyIpOworfQorPC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Cis8cD5UZXN0cyB0aGF0IHByZWZs
aWdodCBPUFRJT05TIHJlcXVlc3RzIGFwcGVhciBpbiBOZXR3b3JrIHJlc291cmNlczwvcD4KKzxh
IGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MzcxMiI+QnVn
IDYzNzEyPC9hPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay10ZXN0LmpzIGIvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay10ZXN0LmpzCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmFhNDE0OTdmMjFhZjJhZmUwNmNmMDQ2ODEyMmU4MTU4ODM3Mzg4M2YKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrLXRl
c3QuanMKQEAgLTAsMCArMSwxMTMgQEAKKy8vIFRoaXMgZ29lcyBiZWZvcmUgZXZlcnl0aGluZyBl
bHNlIHRvIGtlZXAgY29uc29sZSBtZXNzYWdlIGxpbmUgbnVtYmVyIGludmFyaWFudC4KK3ZhciBs
YXN0WEhSSW5kZXggPSAwOworZnVuY3Rpb24geGhyTG9hZGVkQ2FsbGJhY2soKQoreworICAgIC8v
IFdlIG5lZWQgdG8gbWFrZSBzdXJlIHRoZSBjb25zb2xlIG1lc3NhZ2UgdGV4dCBpcyB1bmlxdWUg
c28gdGhhdCB3ZSBkb24ndCBlbmQgdXAgd2l0aCByZXBlYXQgY291bnQgdXBkYXRlIG9ubHkuCisg
ICAgY29uc29sZS5sb2coIlhIUiBsb2FkZWQ6ICIgKyAoKytsYXN0WEhSSW5kZXgpKTsKK30KKwor
dmFyIGluaXRpYWxpemVfTmV0d29ya1Rlc3QgPSBmdW5jdGlvbigpIHsKKworSW5zcGVjdG9yVGVz
dC5kdW1wTmV0d29ya1JlcXVlc3RzID0gZnVuY3Rpb24oKQoreworICAgIHZhciByZXF1ZXN0cyA9
IFdlYkluc3BlY3Rvci5wYW5lbCgibmV0d29yayIpLnJlcXVlc3RzLnNsaWNlKCk7CisgICAgcmVx
dWVzdHMuc29ydChmdW5jdGlvbihhLCBiKSB7cmV0dXJuIGEudXJsLmxvY2FsZUNvbXBhcmUoYi51
cmwpO30pOworICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJyZXNvdXJjZXMgY291bnQgPSAi
ICsgcmVxdWVzdHMubGVuZ3RoKTsKKyAgICBmb3IgKGkgPSAwOyBpIDwgcmVxdWVzdHMubGVuZ3Ro
OyBpKyspCisgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KHJlcXVlc3RzW2ldLnVybCk7
Cit9CisKK0luc3BlY3RvclRlc3QucmVzZXRJbnNwZWN0b3JSZXNvdXJjZXNEYXRhID0gZnVuY3Rp
b24oY2FsbGJhY2spCit7CisgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgicmVzZXRJ
bnNwZWN0b3JSZXNvdXJjZXNEYXRhKCkiLCBuZXh0U3RlcCk7CisKKyAgICBmdW5jdGlvbiBuZXh0
U3RlcChyZXN1bHQpCisgICAgeworICAgICAgICBpZiAoIXJlc3VsdCkgeworICAgICAgICAgICAg
SW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIlRoaXMgdGVzdCBjYW4gbm90IGJlIHJ1biBhcyB3aW5k
b3cuaW50ZXJuYWxzIGlzIG5vdCBhdmFpbGFibGUuIik7CisgICAgICAgICAgICBJbnNwZWN0b3Iu
Y29tcGxldGVUZXN0KCk7CisgICAgICAgIH0gZWxzZQorICAgICAgICAgICAgY2FsbGJhY2soKTsK
KyAgICB9Cit9CisKK0luc3BlY3RvclRlc3QubWFrZVNpbXBsZVhIUiA9IGZ1bmN0aW9uKG1ldGhv
ZCwgdXJsLCBhc3luYywgY2FsbGJhY2spCit7CisgICAgSW5zcGVjdG9yVGVzdC5tYWtlWEhSKG1l
dGhvZCwgdXJsLCBhc3luYywgdW5kZWZpbmVkLCB1bmRlZmluZWQsIFtdLCBmYWxzZSwgdW5kZWZp
bmVkLCBjYWxsYmFjayk7Cit9CisKK0luc3BlY3RvclRlc3QubWFrZVNpbXBsZVhIUldpdGhQYXls
b2FkID0gZnVuY3Rpb24obWV0aG9kLCB1cmwsIGFzeW5jLCBwYXlsb2FkLCBjYWxsYmFjaykKK3sK
KyAgICBJbnNwZWN0b3JUZXN0Lm1ha2VYSFIobWV0aG9kLCB1cmwsIGFzeW5jLCB1bmRlZmluZWQs
IHVuZGVmaW5lZCwgW10sIGZhbHNlLCBwYXlsb2FkLCBjYWxsYmFjayk7Cit9CisKK0luc3BlY3Rv
clRlc3QubWFrZVhIUiA9IGZ1bmN0aW9uKG1ldGhvZCwgdXJsLCBhc3luYywgdXNlciwgcGFzc3dv
cmQsIGhlYWRlcnMsIHdpdGhDcmVkZW50aWFscywgcGF5bG9hZCwgY2FsbGJhY2spCit7CisgICAg
dmFyIGFyZ3MgPSB7fTsKKyAgICBhcmdzLm1ldGhvZCA9IG1ldGhvZDsKKyAgICBhcmdzLnVybCA9
IHVybDsKKyAgICBhcmdzLmFzeW5jID0gYXN5bmM7CisgICAgYXJncy51c2VyID0gdXNlcjsKKyAg
ICBhcmdzLnBhc3N3b3JkID0gcGFzc3dvcmQ7CisgICAgYXJncy5oZWFkZXJzID0gaGVhZGVyczsK
KyAgICBhcmdzLndpdGhDcmVkZW50aWFscyA9IHdpdGhDcmVkZW50aWFsczsKKyAgICBhcmdzLnBh
eWxvYWQgPSBwYXlsb2FkOworICAgIHZhciBqc29uQXJncyA9IEpTT04uc3RyaW5naWZ5KGFyZ3Mp
LnJlcGxhY2UoL1wiL2csICJcXFwiIik7CisKKyAgICBmdW5jdGlvbiBpbm5lckNhbGxiYWNrKG1z
ZykKKyAgICB7CisgICAgICAgIGlmIChtc2cuX21lc3NhZ2VUZXh0LmluZGV4T2YoIlhIUiBsb2Fk
ZWQiKSAhPT0gLTEpCisgICAgICAgICAgICBjYWxsYmFjaygpOworICAgICAgICBlbHNlCisgICAg
ICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZENvbnNvbGVTbmlmZmVyKGlubmVyQ2FsbGJhY2spOwor
ICAgIH0KKworICAgIEluc3BlY3RvclRlc3QuYWRkQ29uc29sZVNuaWZmZXIoaW5uZXJDYWxsYmFj
ayk7CisgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgibWFrZVhIUkZvckpTT05Bcmd1
bWVudHMoXCIiICsganNvbkFyZ3MgKyAiXCIpIik7Cit9CisKK307CisKK2Z1bmN0aW9uIG1ha2VT
aW1wbGVYSFIobWV0aG9kLCB1cmwsIGFzeW5jLCBjYWxsYmFjaykKK3sKKyAgICBtYWtlU2ltcGxl
WEhSV2l0aFBheWxvYWQobWV0aG9kLCB1cmwsIGFzeW5jLCBudWxsLCBjYWxsYmFjayk7Cit9CisK
K2Z1bmN0aW9uIG1ha2VTaW1wbGVYSFJXaXRoUGF5bG9hZChtZXRob2QsIHVybCwgYXN5bmMsIHBh
eWxvYWQsIGNhbGxiYWNrKQoreworICAgIG1ha2VYSFIobWV0aG9kLCB1cmwsIGFzeW5jLCB1bmRl
ZmluZWQsIHVuZGVmaW5lZCwgW10sIGZhbHNlLCBwYXlsb2FkLCBjYWxsYmFjaykKK30KKworZnVu
Y3Rpb24gbWFrZVhIUihtZXRob2QsIHVybCwgYXN5bmMsIHVzZXIsIHBhc3N3b3JkLCBoZWFkZXJz
LCB3aXRoQ3JlZGVudGlhbHMsIHBheWxvYWQsIGNhbGxiYWNrKQoreworICAgIHZhciB4aHIgPSBu
ZXcgWE1MSHR0cFJlcXVlc3QoKTsKKyAgICB4aHIub25yZWFkeXN0YXRlY2hhbmdlID0gZnVuY3Rp
b24oKQorICAgIHsKKyAgICAgICAgaWYgKHhoci5yZWFkeVN0YXRlID09PSBYTUxIdHRwUmVxdWVz
dC5ET05FKSB7CisgICAgICAgICAgICBpZiAodHlwZW9mKGNhbGxiYWNrKSA9PT0gImZ1bmN0aW9u
IikKKyAgICAgICAgICAgICAgICBjYWxsYmFjaygpOworICAgICAgICB9CisgICAgfQorICAgIHho
ci5vcGVuKG1ldGhvZCwgdXJsLCBhc3luYywgdXNlciwgcGFzc3dvcmQpOworICAgIHhoci53aXRo
Q3JlZGVudGlhbHMgPSB3aXRoQ3JlZGVudGlhbHM7CisgICAgZm9yICh2YXIgIGkgPSAwOyBpIDwg
aGVhZGVycy5sZW5ndGg7ICsraSkKKyAgICAgICAgeGhyLnNldFJlcXVlc3RIZWFkZXIoaGVhZGVy
c1tpXVswXSwgaGVhZGVyc1tpXVsxXSk7CisgICAgeGhyLnNlbmQocGF5bG9hZCk7Cit9CisKK2Z1
bmN0aW9uIG1ha2VYSFJGb3JKU09OQXJndW1lbnRzKGpzb25BcmdzKQoreworICAgIHZhciBhcmdz
ID0gSlNPTi5wYXJzZShqc29uQXJncyk7CisgICAgbWFrZVhIUihhcmdzLm1ldGhvZCwgYXJncy51
cmwsIGFyZ3MuYXN5bmMsIGFyZ3MudXNlciwgYXJncy5wYXNzd29yZCwgYXJncy5oZWFkZXJzLCBh
cmdzLndpdGhDcmVkZW50aWFscywgYXJncy5wYXlsb2FkLCB4aHJMb2FkZWRDYWxsYmFjayk7Cit9
CisKKworZnVuY3Rpb24gcmVzZXRJbnNwZWN0b3JSZXNvdXJjZXNEYXRhKCkKK3sKKyAgICBpZiAo
IXdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGludGVybmFs
cy5zZXRJbnNwZWN0b3JSZXNvdXJjZXNEYXRhU2l6ZUxpbWl0cygxMCAqIDEwMDAgKiAxMDAwLCAx
MDAwICogMTAwMCk7CisgICAgcmV0dXJuIHRydWU7Cit9CisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvYXN5bmMteGhyLWpzb24t
bWltZS10eXBlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9o
dHRwLXRlc3RzL25ldHdvcmsvYXN5bmMteGhyLWpzb24tbWltZS10eXBlLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi42ZGYwOThmYzk1YzVhNjU3NmQ0ZmJiYWEyMmVlMDdiOTRmYzE0Nzc5Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMv
bmV0d29yay9hc3luYy14aHItanNvbi1taW1lLXR5cGUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTAgQEAKK0NPTlNPTEUgTUVTU0FHRTogbGluZSA2OiBYSFIgbG9hZGVkOiAxCitUZXN0cyBYSFIg
bmV0d29yayByZXNvdXJjZSBjb250ZW50IGZvciBhc3luY2hyb25vdXMgcmVxdWVzdHMgd2l0aCBh
cHBsaWNhdGlvbi9qc29uIG1pbWUgdHlwZS4gQnVnIDgwNjg0CisKK2h0dHA6Ly8xMjcuMC4wLjE6
ODAwMC9pbnNwZWN0b3IvbmV0d29yay9yZXNvdXJjZXMvanNvbi5waHAKK3Jlc291cmNlLnR5cGU6
IHhocgorcmVzb3VyY2UuY29udGVudCBiZWZvcmUgcmVxdWVzdGluZyBjb250ZW50OiB1bmRlZmlu
ZWQKK3Jlc291cmNlLmNvbnRlbnQgYWZ0ZXIgcmVxdWVzdGluZyBjb250ZW50OiB7Im51bWJlciI6
ICI0MiJ9CisKKworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUv
aHR0cC10ZXN0cy9uZXR3b3JrL2FzeW5jLXhoci1qc29uLW1pbWUtdHlwZS5odG1sIGIvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9hc3luYy14aHItanNv
bi1taW1lLXR5cGUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wYjgyMTVjMjM5NTYwZDU5NDQ0OGI1ODQxMzFi
MGE0YjJmMTc3OTEzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9i
c29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9hc3luYy14aHItanNvbi1taW1lLXR5cGUuaHRtbApA
QCAtMCwwICsxLDM2IEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uL2luc3BlY3Rv
ci10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9uZXR3b3JrLXRlc3QuanMiPjwv
c2NyaXB0PgorPHNjcmlwdD4KK2Z1bmN0aW9uIHRlc3QoKQoreworICAgIEluc3BlY3RvclRlc3Qu
bWFrZVNpbXBsZVhIUigiR0VUIiwgInJlc291cmNlcy9qc29uLnBocCIsIHRydWUsIHN0ZXAyKTsK
KworICAgIGZ1bmN0aW9uIHN0ZXAyKCkKKyAgICB7CisgICAgICAgIHZhciByZXF1ZXN0MSA9IFdl
Ykluc3BlY3Rvci5wYW5lbCgibmV0d29yayIpLnJlcXVlc3RzW1dlYkluc3BlY3Rvci5wYW5lbCgi
bmV0d29yayIpLnJlcXVlc3RzLmxlbmd0aCAtIDFdOworICAgICAgICBJbnNwZWN0b3JUZXN0LmFk
ZFJlc3VsdChyZXF1ZXN0MS51cmwpOworICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgi
cmVzb3VyY2UudHlwZTogIiArIHJlcXVlc3QxLnR5cGUpOworICAgICAgICBJbnNwZWN0b3JUZXN0
LmFkZFJlc3VsdCgicmVzb3VyY2UuY29udGVudCBiZWZvcmUgcmVxdWVzdGluZyBjb250ZW50OiAi
ICsgcmVxdWVzdDEuY29udGVudCk7CisgICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0VHJ1ZSgh
cmVxdWVzdDEuZmFpbGVkLCAiUmVzb3VyY2UgbG9hZGluZyBmYWlsZWQuIik7CisgICAgICAgIHJl
cXVlc3QxLnJlcXVlc3RDb250ZW50KHN0ZXAzKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBzdGVw
MygpCisgICAgeworICAgICAgICB2YXIgcmVxdWVzdDEgPSBXZWJJbnNwZWN0b3IucGFuZWwoIm5l
dHdvcmsiKS5yZXF1ZXN0c1tXZWJJbnNwZWN0b3IucGFuZWwoIm5ldHdvcmsiKS5yZXF1ZXN0cy5s
ZW5ndGggLSAxXTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoInJlc291cmNlLmNv
bnRlbnQgYWZ0ZXIgcmVxdWVzdGluZyBjb250ZW50OiAiICsgcmVxdWVzdDEuY29udGVudCk7CisK
KyAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKKyAgICB9Cit9Cis8L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KKyA8cD4KKyBUZXN0cyBYSFIg
bmV0d29yayByZXNvdXJjZSBjb250ZW50IGZvciBhc3luY2hyb25vdXMgcmVxdWVzdHMgd2l0aCBh
cHBsaWNhdGlvbi9qc29uIG1pbWUgdHlwZS4KKzxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD04MDY4NCI+QnVnIDgwNjg0PC9hPgorPC9wPgorPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAt
dGVzdHMvbmV0d29yay9jYWNoZWQtcmVzb3VyY2UtZGVzdHJveWVkLW1vdmVkLXRvLXN0b3JhZ2Ut
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMv
bmV0d29yay9jYWNoZWQtcmVzb3VyY2UtZGVzdHJveWVkLW1vdmVkLXRvLXN0b3JhZ2UtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjczYjQxZWJiN2VhNGM4NjM3NWJkYTUzNTE4Y2EzNjI0MjFiODBi
YzUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0
cC10ZXN0cy9uZXR3b3JrL2NhY2hlZC1yZXNvdXJjZS1kZXN0cm95ZWQtbW92ZWQtdG8tc3RvcmFn
ZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMSBAQAorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE2
OiBEb25lMS4KK0NPTlNPTEUgTUVTU0FHRTogbGluZSAyNjogRG9uZTIuCitUZXN0cyBjb250ZW50
IGlzIG1vdmVkIGZyb20gY2FjaGVkIHJlc291cmNlIHRvIHJlc291cmNlIGFnZW50J3MgZGF0YSBz
dG9yYWdlIHdoZW4gY2FjaGVkIHJlc291cmNlIGlzIGRlc3Ryb3llZC4KKworQnVnIDkyMTA4ICAK
K2h0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvbmV0d29yay9yZXNvdXJjZXMvcmVzb3Vy
Y2UucGhwP3R5cGU9aW1hZ2UmcmFuZG9tPTEmc2l6ZT00MDAKK3JlcXVlc3QudHlwZTogaW1hZ2UK
K3JlcXVlc3QuY29udGVudC5sZW5ndGggYWZ0ZXIgcmVxdWVzdGluZyBjb250ZW50OiA1MzYKK1Jl
bGVhc2luZyBjYWNoZWQgcmVzb3VyY2UuCityZXF1ZXN0LmNvbnRlbnQubGVuZ3RoIGFmdGVyIHJl
cXVlc3RpbmcgY29udGVudDogNTM2CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rv
ci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvY2FjaGVkLXJlc291cmNlLWRlc3Ryb3llZC1t
b3ZlZC10by1zdG9yYWdlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0
cC10ZXN0cy9uZXR3b3JrL2NhY2hlZC1yZXNvdXJjZS1kZXN0cm95ZWQtbW92ZWQtdG8tc3RvcmFn
ZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmIzODk1YjhjZGYzNmI4MmViMzc3YWExMmI3MWMwNzUyYmNhZmI5
NjAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0
cC10ZXN0cy9uZXR3b3JrL2NhY2hlZC1yZXNvdXJjZS1kZXN0cm95ZWQtbW92ZWQtdG8tc3RvcmFn
ZS5odG1sCkBAIC0wLDAgKzEsMTA5IEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4u
L2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9uZXR3b3JrLXRl
c3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK3ZhciBpbWFnZTsKK2Z1bmN0aW9uIGxvYWRGaXJz
dEltYWdlKCkgeworICAgIGltYWdlID0gbmV3IEltYWdlKCk7CisgICAgaW1hZ2Uub25sb2FkID0g
Zmlyc3RJbWFnZUxvYWRlZDsKKyAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGltYWdlKTsK
KyAgICBpbWFnZS5zcmMgPSAicmVzb3VyY2VzL3Jlc291cmNlLnBocD90eXBlPWltYWdlJnJhbmRv
bT0xJnNpemU9NDAwIjsKK30KKworZnVuY3Rpb24gZmlyc3RJbWFnZUxvYWRlZCgpCit7CisgICAg
Y29uc29sZS5sb2coIkRvbmUxLiIpOworfQorCitmdW5jdGlvbiBsb2FkU2Vjb25kSW1hZ2UoKSB7
CisgICAgaW1hZ2Uub25sb2FkID0gc2Vjb25kSW1hZ2VMb2FkZWQ7CisgICAgaW1hZ2Uuc3JjID0g
InJlc291cmNlcy9yZXNvdXJjZS5waHA/dHlwZT1pbWFnZSZyYW5kb209MSZzaXplPTIwMCI7Cit9
CisKK2Z1bmN0aW9uIHNlY29uZEltYWdlTG9hZGVkKCkKK3sKKyAgICBjb25zb2xlLmxvZygiRG9u
ZTIuIik7Cit9CisKK2Z1bmN0aW9uIGZvcmNlQ2FjaGVkUmVzb3VyY2VMb2FkZXJHQygpIHsKKyAg
ICBpZiAod2luZG93LmludGVybmFscykKKyAgICAgICAgd2luZG93LmludGVybmFscy5nYXJiYWdl
Q29sbGVjdERvY3VtZW50UmVzb3VyY2VzKCk7Cit9CisKK2Z1bmN0aW9uIHRlc3QoKQoreworICAg
IC8vIFNpbmNlIHRoaXMgdGVzdCBjb3VsZCBiZSBydW4gdG9nZXRoZXIgd2l0aCBvdGhlciBpbnNw
ZWN0b3IgYmFja2VuZCBjYWNoZQorICAgIC8vIHRlc3RzLCB3ZSBuZWVkIHRvIHJlc2V0IHNpemUg
bGltaXRzIHRvIGRlZmF1bHQgb25lcy4KKyAgICBJbnNwZWN0b3JUZXN0LnJlc2V0SW5zcGVjdG9y
UmVzb3VyY2VzRGF0YShzdGVwMSk7CisKKyAgICB2YXIgaW1hZ2VSZXF1ZXN0OworICAgIGZ1bmN0
aW9uIHN0ZXAxKCkKKyAgICB7CisgICAgICAgIEluc3BlY3RvclRlc3QuYWRkQ29uc29sZVNuaWZm
ZXIoc3RlcDIpOworICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJsb2FkRmly
c3RJbWFnZSgpIik7CisgICAgfQorCisgICAgZnVuY3Rpb24gc3RlcDIoKQorICAgIHsKKyAgICAg
ICAgaW1hZ2VSZXF1ZXN0ID0gV2ViSW5zcGVjdG9yLnBhbmVsKCJuZXR3b3JrIikucmVxdWVzdHNb
V2ViSW5zcGVjdG9yLnBhbmVsKCJuZXR3b3JrIikucmVxdWVzdHMubGVuZ3RoIC0gMV07CisgICAg
ICAgIGltYWdlUmVxdWVzdC5yZXF1ZXN0Q29udGVudChzdGVwMyk7CisgICAgfQorCisgICAgdmFy
IG9yaWdpbmFsQ29udGVudExlbmd0aDsKKyAgICBmdW5jdGlvbiBzdGVwMygpCisgICAgeworICAg
ICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdChpbWFnZVJlcXVlc3QudXJsKTsKKyAgICAgICAg
SW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoInJlcXVlc3QudHlwZTogIiArIGltYWdlUmVxdWVzdC50
eXBlKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoInJlcXVlc3QuY29udGVudC5s
ZW5ndGggYWZ0ZXIgcmVxdWVzdGluZyBjb250ZW50OiAiICsgaW1hZ2VSZXF1ZXN0LmNvbnRlbnQu
bGVuZ3RoKTsKKyAgICAgICAgb3JpZ2luYWxDb250ZW50TGVuZ3RoID0gaW1hZ2VSZXF1ZXN0LmNv
bnRlbnQubGVuZ3RoOworICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydFRydWUoaW1hZ2VSZXF1
ZXN0LmNvbnRlbnQubGVuZ3RoID4gMCwgIk5vIGNvbnRlbnQgYmVmb3JlIGRlc3Ryb3lpbmcgQ2Fj
aGVkUmVzb3VyY2UuIik7CisKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIlJlbGVh
c2luZyBjYWNoZWQgcmVzb3VyY2UuIik7CisgICAgICAgIC8vIExvYWRpbmcgYW5vdGhlciBpbWFn
ZSB0byB0aGUgc2FtZSBpbWFnZSBlbGVtZW50IHNvIHRoYXQgdGhlIG9yaWdpbmFsIGltYWdlIGNh
Y2hlZCByZXNvdXJjZSBpcyByZWxlYXNlZC4KKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRDb25z
b2xlU25pZmZlcihzdGVwNCk7CisgICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2Uo
ImxvYWRTZWNvbmRJbWFnZSgpIik7CisgICAgfQorCisgICAgZnVuY3Rpb24gc3RlcDQobXNnKQor
ICAgIHsKKyAgICAgICAgLy8gRGlzYWJsZS1lbmFibGUgY2FjaGUgdG8gZm9yY2UgTWVtb3J5Q2Fj
aGU6OmV2aWN0UmVzb3VyY2VzKCkuCisgICAgICAgIE5ldHdvcmtBZ2VudC5zZXRDYWNoZURpc2Fi
bGVkKHRydWUsIHN0ZXA1KTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBzdGVwNShtc2cpCisgICAg
eworICAgICAgICBOZXR3b3JrQWdlbnQuc2V0Q2FjaGVEaXNhYmxlZChmYWxzZSwgc3RlcDYpOwor
ICAgIH0KKworICAgIGZ1bmN0aW9uIHN0ZXA2KCkKKyAgICB7CisgICAgICAgIC8vIEZvcmNlIENh
Y2hlZFJlc291cmNlTG9hZGVyIGdhcmJhZ2UgY29sbGVjdG9yIHJ1bi4KKyAgICAgICAgSW5zcGVj
dG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgiZm9yY2VDYWNoZWRSZXNvdXJjZUxvYWRlckdDKCkiKTsK
KworICAgICAgICAvLyBSZS1yZXF1ZXN0IGNvbnRlbnQgbm93IHRoYXQgQ2FjaGVkUmVzb3VyY2Ug
c2hvdWxkIGhhdmUgYmVlbiBkZXN0cm95ZWQuCisgICAgICAgIGRlbGV0ZSBpbWFnZVJlcXVlc3Qu
X2NvbnRlbnQ7CisgICAgICAgIGltYWdlUmVxdWVzdC5yZXF1ZXN0Q29udGVudChzdGVwNyk7Cisg
ICAgfQorCisgICAgZnVuY3Rpb24gc3RlcDcoKQorICAgIHsKKyAgICAgICAgSW5zcGVjdG9yVGVz
dC5hZGRSZXN1bHQoInJlcXVlc3QuY29udGVudC5sZW5ndGggYWZ0ZXIgcmVxdWVzdGluZyBjb250
ZW50OiAiICsgaW1hZ2VSZXF1ZXN0LmNvbnRlbnQubGVuZ3RoKTsKKyAgICAgICAgb3JpZ2luYWxD
b250ZW50TGVuZ3RoID0gaW1hZ2VSZXF1ZXN0LmNvbnRlbnQubGVuZ3RoOworICAgICAgICBJbnNw
ZWN0b3JUZXN0LmFzc2VydFRydWUoaW1hZ2VSZXF1ZXN0LmNvbnRlbnQubGVuZ3RoID09PSBvcmln
aW5hbENvbnRlbnRMZW5ndGgsICJDb250ZW50IGNoYW5nZWQgYWZ0ZXIgY2FjaGVkIHJlc291cmNl
IHdhcyBkZXN0cm95ZWQiKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5yZXNldEluc3BlY3RvclJl
c291cmNlc0RhdGEoc3RlcDgpOworICAgIH0KKworICAgIGZ1bmN0aW9uIHN0ZXA4KCkKKyAgICB7
CisgICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7CisgICAgfQorfQorPC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Cis8cD5UZXN0cyBjb250ZW50
IGlzIG1vdmVkIGZyb20gY2FjaGVkIHJlc291cmNlIHRvIHJlc291cmNlIGFnZW50J3MgZGF0YSBz
dG9yYWdlIHdoZW4gY2FjaGVkIHJlc291cmNlIGlzIGRlc3Ryb3llZC48L3A+Cis8YSBocmVmPSJo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTIxMDgiPkJ1ZyA5MjEwODwv
YT4KKzwvYm9keT4KKzwvaHRtbD4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
LW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9jYWNoZWQtcmVzb3VyY2UtZGVzdHJveWVkLXRv
by1iaWctZGlzY2FyZGVkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNv
bGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvY2FjaGVkLXJlc291cmNlLWRlc3Ryb3llZC10b28tYmln
LWRpc2NhcmRlZC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmE0Mjc0NTZmM2E5OTZjM2I1Yjky
MWVmNDNlMjE4NGQ4YjIyYjM1YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvY2FjaGVkLXJlc291cmNlLWRlc3Ryb3ll
ZC10b28tYmlnLWRpc2NhcmRlZC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMSBAQAorQ09OU09M
RSBNRVNTQUdFOiBsaW5lIDIzOiBEb25lMS4KK0NPTlNPTEUgTUVTU0FHRTogbGluZSAzMzogRG9u
ZTIuCitUZXN0cyBjYWNoZWQgcmVzb3VyY2UgY29udGVudCBpcyBkaXNjYXJkZWQgd2hlbiBjYWNo
ZWQgcmVzb3VyY2UgaXMgZGVzdHJveWVkIGlmIGNvbnRlbnQgc2l6ZSBpcyB0b28gYmlnIGZvciB0
aGUgcmVzb3VyY2UgYWdlbnQncyBkYXRhIHN0b3JhZ2UuCisKK0J1ZyA5MjEwOCAgCitodHRwOi8v
MTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL25ldHdvcmsvcmVzb3VyY2VzL3Jlc291cmNlLnBocD90
eXBlPWltYWdlJnJhbmRvbT0xJnNpemU9NDAwCityZXF1ZXN0LnR5cGU6IGltYWdlCityZXF1ZXN0
LmNvbnRlbnQubGVuZ3RoIGFmdGVyIHJlcXVlc3RpbmcgY29udGVudDogNTM2CitSZWxlYXNpbmcg
Y2FjaGVkIHJlc291cmNlLgorcmVxdWVzdC5jb250ZW50IGFmdGVyIHJlcXVlc3RpbmcgY29udGVu
dDogbnVsbAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0
cC10ZXN0cy9uZXR3b3JrL2NhY2hlZC1yZXNvdXJjZS1kZXN0cm95ZWQtdG9vLWJpZy1kaXNjYXJk
ZWQuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdv
cmsvY2FjaGVkLXJlc291cmNlLWRlc3Ryb3llZC10b28tYmlnLWRpc2NhcmRlZC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjkzMDhkMGI5ZTA1ODI5NzMyOTZiMTMxOTdjMWNiYzA2YTBkYjExZWMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3
b3JrL2NhY2hlZC1yZXNvdXJjZS1kZXN0cm95ZWQtdG9vLWJpZy1kaXNjYXJkZWQuaHRtbApAQCAt
MCwwICsxLDEwNiBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9pbnNwZWN0b3It
dGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vbmV0d29yay10ZXN0LmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQ+Cit2YXIgaW1hZ2U7CitmdW5jdGlvbiBsb2FkRmlyc3RJbWFnZSgpIHsK
KyAgICBpZiAoIXdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICAgICAgY29uc29sZS5sb2coIlRoaXMg
dGVzdCBjYW4gbm90IGJlIHJ1biBhcyB3aW5kb3cuaW50ZXJuYWxzIGlzIG5vdCBhdmFpbGFibGUu
Iik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgLy8gTWFrZSBzdXJlIHRoZXJlIGlzIG5v
IGVub3VnaCBzcGFjZSB0byBzYXZlIGNvbnRlbnQgaW4gcmVzb3VyY2UgYWdlbnQncyBzdG9yYWdl
LgorICAgIGludGVybmFscy5zZXRJbnNwZWN0b3JSZXNvdXJjZXNEYXRhU2l6ZUxpbWl0cygxMDAs
IDEwMCk7CisKKyAgICBpbWFnZSA9IG5ldyBJbWFnZSgpOworICAgIGltYWdlLm9ubG9hZCA9IGZp
cnN0SW1hZ2VMb2FkZWQ7CisgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChpbWFnZSk7Cisg
ICAgaW1hZ2Uuc3JjID0gInJlc291cmNlcy9yZXNvdXJjZS5waHA/dHlwZT1pbWFnZSZyYW5kb209
MSZzaXplPTQwMCI7Cit9CisKK2Z1bmN0aW9uIGZpcnN0SW1hZ2VMb2FkZWQoKQoreworICAgIGNv
bnNvbGUubG9nKCJEb25lMS4iKTsKK30KKworZnVuY3Rpb24gbG9hZFNlY29uZEltYWdlKCkgewor
ICAgIGltYWdlLm9ubG9hZCA9IHNlY29uZEltYWdlTG9hZGVkOworICAgIGltYWdlLnNyYyA9ICJy
ZXNvdXJjZXMvcmVzb3VyY2UucGhwP3R5cGU9aW1hZ2UmcmFuZG9tPTEmc2l6ZT0yMDAiOworfQor
CitmdW5jdGlvbiBzZWNvbmRJbWFnZUxvYWRlZCgpCit7CisgICAgY29uc29sZS5sb2coIkRvbmUy
LiIpOworfQorCitmdW5jdGlvbiBmb3JjZUNhY2hlZFJlc291cmNlTG9hZGVyR0MoKSB7CisgICAg
aWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAgIHdpbmRvdy5pbnRlcm5hbHMuZ2FyYmFnZUNv
bGxlY3REb2N1bWVudFJlc291cmNlcygpOworfQorCitmdW5jdGlvbiB0ZXN0KCkKK3sKKyAgICB2
YXIgaW1hZ2VSZXF1ZXN0OworICAgIEluc3BlY3RvclRlc3QuYWRkQ29uc29sZVNuaWZmZXIoc3Rl
cDIpOworICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoImxvYWRGaXJzdEltYWdlKCki
KTsKKworICAgIGZ1bmN0aW9uIHN0ZXAyKCkKKyAgICB7CisgICAgICAgIGltYWdlUmVxdWVzdCA9
IFdlYkluc3BlY3Rvci5wYW5lbCgibmV0d29yayIpLnJlcXVlc3RzW1dlYkluc3BlY3Rvci5wYW5l
bCgibmV0d29yayIpLnJlcXVlc3RzLmxlbmd0aCAtIDFdOworICAgICAgICBpbWFnZVJlcXVlc3Qu
cmVxdWVzdENvbnRlbnQoc3RlcDMpOworICAgIH0KKworICAgIGZ1bmN0aW9uIHN0ZXAzKCkKKyAg
ICB7CisgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KGltYWdlUmVxdWVzdC51cmwpOwor
ICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgicmVxdWVzdC50eXBlOiAiICsgaW1hZ2VS
ZXF1ZXN0LnR5cGUpOworICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgicmVxdWVzdC5j
b250ZW50Lmxlbmd0aCBhZnRlciByZXF1ZXN0aW5nIGNvbnRlbnQ6ICIgKyBpbWFnZVJlcXVlc3Qu
Y29udGVudC5sZW5ndGgpOworICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydFRydWUoaW1hZ2VS
ZXF1ZXN0LmNvbnRlbnQubGVuZ3RoID4gMCwgIk5vIGNvbnRlbnQgYmVmb3JlIGRlc3Ryb3lpbmcg
Q2FjaGVkUmVzb3VyY2UuIik7CisKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIlJl
bGVhc2luZyBjYWNoZWQgcmVzb3VyY2UuIik7CisgICAgICAgIC8vIExvYWRpbmcgYW5vdGhlciBp
bWFnZSB0byB0aGUgc2FtZSBpbWFnZSBlbGVtZW50IHNvIHRoYXQgdGhlIG9yaWdpbmFsIGltYWdl
IGNhY2hlZCByZXNvdXJjZSBpcyByZWxlYXNlZC4KKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRD
b25zb2xlU25pZmZlcihzdGVwNCk7CisgICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBh
Z2UoImxvYWRTZWNvbmRJbWFnZSgpIik7CisgICAgfQorCisgICAgZnVuY3Rpb24gc3RlcDQobXNn
KQorICAgIHsKKyAgICAgICAgLy8gRGlzYWJsZS1lbmFibGUgY2FjaGUgdG8gZm9yY2UgTWVtb3J5
Q2FjaGU6OmV2aWN0UmVzb3VyY2VzKCkuCisgICAgICAgIE5ldHdvcmtBZ2VudC5zZXRDYWNoZURp
c2FibGVkKHRydWUsIHN0ZXA1KTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBzdGVwNShtc2cpCisg
ICAgeworICAgICAgICBOZXR3b3JrQWdlbnQuc2V0Q2FjaGVEaXNhYmxlZChmYWxzZSwgc3RlcDYp
OworICAgIH0KKworICAgIGZ1bmN0aW9uIHN0ZXA2KCkKKyAgICB7CisgICAgICAgIC8vIEZvcmNl
IENhY2hlZFJlc291cmNlTG9hZGVyIGdhcmJhZ2UgY29sbGVjdG9yIHJ1bi4KKyAgICAgICAgSW5z
cGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgiZm9yY2VDYWNoZWRSZXNvdXJjZUxvYWRlckdDKCki
KTsKKworICAgICAgICAvLyBSZS1yZXF1ZXN0IGNvbnRlbnQgbm93IHRoYXQgQ2FjaGVkUmVzb3Vy
Y2Ugc2hvdWxkIGhhdmUgYmVlbiBkZXN0cm95ZWQuCisgICAgICAgIGRlbGV0ZSBpbWFnZVJlcXVl
c3QuX2NvbnRlbnQ7CisgICAgICAgIGltYWdlUmVxdWVzdC5yZXF1ZXN0Q29udGVudChzdGVwNyk7
CisgICAgfQorCisgICAgZnVuY3Rpb24gc3RlcDcoKQorICAgIHsKKyAgICAgICAgSW5zcGVjdG9y
VGVzdC5hZGRSZXN1bHQoInJlcXVlc3QuY29udGVudCBhZnRlciByZXF1ZXN0aW5nIGNvbnRlbnQ6
ICIgKyBpbWFnZVJlcXVlc3QuY29udGVudCk7CisgICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0
VHJ1ZSghaW1hZ2VSZXF1ZXN0LmNvbnRlbnQsICJDb250ZW50IGF2YWlsYWJsZSBhZnRlciBDYWNo
ZWRSZXNvdXJjZSB3YXMgZGVzdHJveWVkLiIpOworICAgICAgICBJbnNwZWN0b3JUZXN0LnJlc2V0
SW5zcGVjdG9yUmVzb3VyY2VzRGF0YShzdGVwOCk7CisgICAgfQorCisgICAgZnVuY3Rpb24gc3Rl
cDgoKQorICAgIHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKKyAgICB9
Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KKzxwPlRl
c3RzIGNhY2hlZCByZXNvdXJjZSBjb250ZW50IGlzIGRpc2NhcmRlZCB3aGVuIGNhY2hlZCByZXNv
dXJjZSBpcyBkZXN0cm95ZWQgaWYgY29udGVudCBzaXplIGlzIHRvbyBiaWcgZm9yIHRoZSByZXNv
dXJjZSBhZ2VudCdzIGRhdGEgc3RvcmFnZS48L3A+Cis8YSBocmVmPSJodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTIxMDgiPkJ1ZyA5MjEwODwvYT4KKzwvYm9keT4KKzwv
aHRtbD4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAt
dGVzdHMvbmV0d29yay9jc3Mtc291cmNlLW1hcHBpbmctdXJsLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvY3NzLXNvdXJjZS1t
YXBwaW5nLXVybC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzQwMmQ5MTUxZTVkZjM5ZmUxNmE2
OTM0NGFhMjI2YTkyYmUyYzVkYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvY3NzLXNvdXJjZS1tYXBwaW5nLXVybC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSw3IEBACitUZXN0cyB0aGF0IHRoZSBleHRyYVJlc291cmNl
SW5mbyBpbiBOZXR3b3JrLmxvYWRpbmdGaW5pc2hlZCBjb250YWlucyBhIHNvdXJjZU1hcFVSTCBm
b3IgYSBTdHlsZXNoZWV0IGNvbnRhaW5pbmcgYSBzb3VyY2VNYXBwaW5nVVJMLiBBbHNvIHRoZW4g
dGVzdHMgdGhhdCBQYWdlLmdldFJlc291cmNlVHJlZSBjb250YWlucyB0aGUgc291cmNlTWFwVVJM
IGZvciB0aGUgcmVzb3VyY2UuCisKK1Jlc3BvbnNlIHJlY2VpdmVkIGZvciBzdHlsZS5jc3MKK05l
dHdvcmsubG9hZGluZ0ZhaWxlZCBleHRyYVJlc291cmNlSW5mbyBjb250YWlucyBhIHNvdXJjZU1h
cFVSTDogc291cmNlLW1hcC10ZXN0LXN0eWxlLmNzcy5tYXAKK1BhZ2UuZ2V0UmVzb3VyY2VUcmVl
IHJlc291cmNlUGF5bG9hZCBjb250YWlucyBzb3VyY2VNYXBVUkw6IHNvdXJjZS1tYXAtdGVzdC1z
dHlsZS5jc3MubWFwCitTVUNDRVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rv
ci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvY3NzLXNvdXJjZS1tYXBwaW5nLXVybC5odG1s
IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9jc3Mt
c291cmNlLW1hcHBpbmctdXJsLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDAwMGI3ZmVjZjdkNjVmYTJmNzlh
ZjM1NDIxNTEzYjc2OGFjNzkyNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvY3NzLXNvdXJjZS1tYXBwaW5nLXVybC5o
dG1sCkBAIC0wLDAgKzEsODggQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vaW5z
cGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2Z1bmN0aW9uIGxvYWRTdHlsZXNo
ZWV0V2l0aFNvdXJjZU1hcHBpbmdVUkwoKQoreworICAgIHZhciBsaW5rID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgibGluayIpOworICAgIGxpbmsucmVsID0gInN0eWxlc2hlZXQiOworICAgIGxp
bmsudHlwZSA9ICJ0ZXh0L2NzcyI7CisgICAgbGluay5ocmVmID0gInJlc291cmNlcy9zb3VyY2Ut
bWFwLXRlc3Qtc3R5bGUuY3NzIjsKKyAgICBkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKGxpbmsp
OworfQorCitmdW5jdGlvbiB0ZXN0KCkKK3sKKyAgICBJbnNwZWN0b3JUZXN0LmFkZFNuaWZmZXIo
V2ViSW5zcGVjdG9yLk5ldHdvcmtEaXNwYXRjaGVyLnByb3RvdHlwZSwgImxvYWRpbmdGaW5pc2hl
ZCIsIGxvYWRpbmdGaW5pc2hlZCk7CisgICAgSW5zcGVjdG9yVGVzdC5hZGRTbmlmZmVyKFdlYklu
c3BlY3Rvci5OZXR3b3JrRGlzcGF0Y2hlci5wcm90b3R5cGUsICJsb2FkaW5nRmFpbGVkIiwgbG9h
ZGluZ0ZhaWxlZCk7CisKKyAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJsb2FkU3R5
bGVzaGVldFdpdGhTb3VyY2VNYXBwaW5nVVJMKCkiKTsKKworICAgIGZ1bmN0aW9uIGxvYWRpbmdG
aW5pc2hlZChyZXF1ZXN0SWQsIHRpbWVzdGFtcCwgc291cmNlTWFwVVJMKQorICAgIHsKKyAgICAg
ICAgdmFyIHJlcXVlc3QgPSBXZWJJbnNwZWN0b3IubmV0d29ya0xvZy5yZXF1ZXN0Rm9ySWQocmVx
dWVzdElkKTsKKyAgICAgICAgaWYgKC9zb3VyY2UtbWFwLXRlc3Qtc3R5bGVcLmNzcyQvLmV4ZWMo
cmVxdWVzdC51cmwpKSB7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiUmVz
cG9uc2UgcmVjZWl2ZWQgZm9yIHN0eWxlLmNzcyIpOworICAgICAgICAgICAgaWYgKHNvdXJjZU1h
cFVSTCkgeworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJOZXR3b3Jr
LmxvYWRpbmdGYWlsZWQgZXh0cmFSZXNvdXJjZUluZm8gY29udGFpbnMgYSBzb3VyY2VNYXBVUkw6
ICIgKyBzb3VyY2VNYXBVUkwpOworICAgICAgICAgICAgICAgIGFmdGVyTG9hZGluZ1Jlc291cmNl
KCk7CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3Qu
YWRkUmVzdWx0KCJOZXR3b3JrLmxvYWRpbmdGYWlsZWQgZXh0cmFSZXNvdXJjZUluZm8gbWlzc2lu
ZyBzb3VyY2VNYXBVUkwiKTsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3Vs
dCgiRkFJTFVSRSIpOworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0
KCk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9CisKKyAgICBmdW5jdGlvbiBsb2Fk
aW5nRmFpbGVkKHJlcXVlc3RJZCwgdGltZSwgbG9jYWxpemVkRGVzY3JpcHRpb24sIGNhbmNlbGVk
KQorICAgIHsKKyAgICAgICAgdmFyIHJlcXVlc3QgPSBXZWJJbnNwZWN0b3IubmV0d29ya0xvZy5y
ZXF1ZXN0Rm9ySWQocmVxdWVzdElkKTsKKyAgICAgICAgaWYgKC9zb3VyY2UtbWFwLXRlc3Qtc3R5
bGVcLmNzcyQvLmV4ZWMocmVxdWVzdC51cmwpKSB7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0
LmFkZFJlc3VsdCgiRmFpbGVkIHRvIGxvYWQgc291cmNlLW1hcC10ZXN0LXN0eWxlLmNzcyIpOwor
ICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIkZBSUxVUkUiKTsKKyAgICAgICAg
ICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7CisgICAgICAgIH0KKyAgICB9CisKKyAg
ICBmdW5jdGlvbiBhZnRlckxvYWRpbmdSZXNvdXJjZSgpCisgICAgeworICAgICAgICBQYWdlQWdl
bnQuZ2V0UmVzb3VyY2VUcmVlKHByb2Nlc3NSZXNvdXJjZVRyZWUpOworCisgICAgICAgIGZ1bmN0
aW9uIHByb2Nlc3NSZXNvdXJjZVRyZWUoZXJyb3IsIG1haW5GcmFtZVBheWxvYWQpCisgICAgICAg
IHsKKyAgICAgICAgICAgIGlmIChlcnJvcikgeworICAgICAgICAgICAgICAgIEluc3BlY3RvclRl
c3QuYWRkUmVzdWx0KCJQYWdlLmdldFJlc291cmNlVHJlZSBlcnJvcjogIiArIGVycm9yKTsKKyAg
ICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiRkFJTFVSRSIpOworICAgICAg
ICAgICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7CisgICAgICAgICAgICAgICAg
cmV0dXJuOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICB2YXIgcmVzb3VyY2VzID0gbWFp
bkZyYW1lUGF5bG9hZC5yZXNvdXJjZXM7CisgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8
IHJlc291cmNlcy5sZW5ndGg7ICsraSkgeworICAgICAgICAgICAgICAgIHZhciByZXNvdXJjZVBh
eWxvYWQgPSByZXNvdXJjZXNbaV07CisgICAgICAgICAgICAgICAgaWYgKC9zb3VyY2UtbWFwLXRl
c3Qtc3R5bGVcLmNzcyQvLmV4ZWMocmVzb3VyY2VQYXlsb2FkLnVybCkpIHsKKyAgICAgICAgICAg
ICAgICAgICAgaWYgKHJlc291cmNlUGF5bG9hZC5zb3VyY2VNYXBVUkwpIHsKKyAgICAgICAgICAg
ICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJQYWdlLmdldFJlc291cmNlVHJl
ZSByZXNvdXJjZVBheWxvYWQgY29udGFpbnMgc291cmNlTWFwVVJMOiAiICsgcmVzb3VyY2VQYXls
b2FkLnNvdXJjZU1hcFVSTCk7CisgICAgICAgICAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0
LmFkZFJlc3VsdCgiU1VDQ0VTUyIpOworICAgICAgICAgICAgICAgICAgICAgICAgSW5zcGVjdG9y
VGVzdC5jb21wbGV0ZVRlc3QoKTsKKyAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAg
ICAgICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJQYWdlLmdldFJlc291
cmNlVHJlZSByZXNvdXJjZVBheWxvYWQgbWlzc2luZyBzb3VyY2VNYXBVUkwiKTsKKyAgICAgICAg
ICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJGQUlMVVJFIik7CisgICAg
ICAgICAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOworICAgICAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAg
ICAgICB9CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVz
dWx0KCJQYWdlLmdldFJlc291cmNlVHJlZSBtaXNzaW5nIHNvdXJjZS1tYXAtdGVzdC1zdHlsZS5j
c3MiKTsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJGQUlMVVJFIik7Cisg
ICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOworICAgICAgICB9CisgICAg
fQorfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Cis8cD5U
ZXN0cyB0aGF0IHRoZSBleHRyYVJlc291cmNlSW5mbyBpbiBOZXR3b3JrLmxvYWRpbmdGaW5pc2hl
ZCBjb250YWlucyBhIHNvdXJjZU1hcFVSTCBmb3IgYSBTdHlsZXNoZWV0IGNvbnRhaW5pbmcgYSBz
b3VyY2VNYXBwaW5nVVJMLiBBbHNvIHRoZW4gdGVzdHMgdGhhdCBQYWdlLmdldFJlc291cmNlVHJl
ZSBjb250YWlucyB0aGUgc291cmNlTWFwVVJMIGZvciB0aGUgcmVzb3VyY2UuPC9wPgorPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0
dHAtdGVzdHMvbmV0d29yay9kb3dubG9hZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL2Rvd25sb2FkLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi41ZTE2YjIzNTI5ZDViNmU5ZmE5ZWM2ZTZiMDE3YzI5NjA4YTRmNGJkCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMv
bmV0d29yay9kb3dubG9hZC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw2IEBACitUZXN0cyB0aGF0
IHJlc3BvbnNlUmVjZWl2ZWQgaXMgY2FsbGVkIG9uIE5ldHdvcmtEaXNwYXRjaGVyIGZvciBkb3du
bG9hZHMuCisKKworUmVjZWl2ZWQgcmVzcG9uc2UgZm9yIGRvd25sb2FkLnp6egorU1VDQ0VTUwor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9u
ZXR3b3JrL2Rvd25sb2FkLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0
cC10ZXN0cy9uZXR3b3JrL2Rvd25sb2FkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzVhZjAwZDczNzFlOWNl
NTllOTVmZTk4N2NlN2JjMDBlNTMyMjQ3MgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvZG93bmxvYWQuaHRtbApAQCAt
MCwwICsxLDQ4IEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uL2luc3BlY3Rvci10
ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CitmdW5jdGlvbiBsb2FkSUZyYW1lV2l0aERvd25s
b2FkKCkKK3sKKyAgICB2YXIgaWZyYW1lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1l
Iik7CisgICAgaWZyYW1lLnNldEF0dHJpYnV0ZSgic3JjIiwgInJlc291cmNlcy9kb3dubG9hZC56
enoiKTsKKyAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGlmcmFtZSk7Cit9CisKK2Z1bmN0
aW9uIHRlc3QoKQoreworICAgIEluc3BlY3RvclRlc3QuYWRkU25pZmZlcihXZWJJbnNwZWN0b3Iu
TmV0d29ya0Rpc3BhdGNoZXIucHJvdG90eXBlLCAicmVzcG9uc2VSZWNlaXZlZCIsIHJlc3BvbnNl
UmVjZWl2ZWQpOworICAgIEluc3BlY3RvclRlc3QuYWRkU25pZmZlcihXZWJJbnNwZWN0b3IuTmV0
d29ya0Rpc3BhdGNoZXIucHJvdG90eXBlLCAibG9hZGluZ0ZhaWxlZCIsIGxvYWRpbmdGYWlsZWQp
OworICAgIEluc3BlY3RvclRlc3QuYWRkU25pZmZlcihXZWJJbnNwZWN0b3IuTmV0d29ya0Rpc3Bh
dGNoZXIucHJvdG90eXBlLCAibG9hZGluZ0ZpbmlzaGVkIiwgbG9hZGluZ0ZpbmlzaGVkKTsKKyAg
ICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJsb2FkSUZyYW1lV2l0aERvd25sb2FkKCki
KTsKKworICAgIGZ1bmN0aW9uIHJlc3BvbnNlUmVjZWl2ZWQocmVxdWVzdElkLCB0aW1lLCByZXNv
dXJjZVR5cGUsIHJlc3BvbnNlKQorICAgIHsKKyAgICAgICAgdmFyIHJlcXVlc3QgPSBXZWJJbnNw
ZWN0b3IubmV0d29ya0xvZy5yZXF1ZXN0Rm9ySWQocmVxdWVzdElkKTsKKyAgICAgICAgaWYgKC9k
b3dubG9hZFwuenp6Ly5leGVjKHJlcXVlc3QudXJsKSkgeworICAgICAgICAgICAgSW5zcGVjdG9y
VGVzdC5hZGRSZXN1bHQoIlJlY2VpdmVkIHJlc3BvbnNlIGZvciBkb3dubG9hZC56enoiKTsKKyAg
ICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJTVUNDRVNTIik7CisgICAgICAgICAg
ICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOworICAgICAgICB9CisgICAgfQorCisgICAg
ZnVuY3Rpb24gbG9hZGluZ0ZpbmlzaGVkKHJlcXVlc3RJZCwgZmluaXNoVGltZSkKKyAgICB7Cisg
ICAgICAgIHZhciByZXF1ZXN0ID0gV2ViSW5zcGVjdG9yLm5ldHdvcmtMb2cucmVxdWVzdEZvcklk
KHJlcXVlc3RJZCk7CisgICAgICAgIGlmICgvZG93bmxvYWRcLnp6ei8uZXhlYyhyZXF1ZXN0LnVy
bCkpCisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOworICAgIH0KKwor
ICAgIGZ1bmN0aW9uIGxvYWRpbmdGYWlsZWQocmVxdWVzdElkLCB0aW1lLCBsb2NhbGl6ZWREZXNj
cmlwdGlvbiwgY2FuY2VsZWQpCisgICAgeworICAgICAgICB2YXIgcmVxdWVzdCA9IFdlYkluc3Bl
Y3Rvci5uZXR3b3JrTG9nLnJlcXVlc3RGb3JJZChyZXF1ZXN0SWQpOworICAgICAgICBpZiAoL2Rv
d25sb2FkXC56enovLmV4ZWMocmVxdWVzdC51cmwpKQorICAgICAgICAgICAgSW5zcGVjdG9yVGVz
dC5jb21wbGV0ZVRlc3QoKTsKKyAgICB9Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9u
bG9hZD0icnVuVGVzdCgpIj4KKzxwPlRlc3RzIHRoYXQgcmVzcG9uc2VSZWNlaXZlZCBpcyBjYWxs
ZWQgb24gTmV0d29ya0Rpc3BhdGNoZXIgZm9yIGRvd25sb2Fkcy48L3A+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0
cy9uZXR3b3JrL2hhci1jb250ZW50LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rv
ci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvaGFyLWNvbnRlbnQtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmMxOGU2MGMyNDQ3MGM2OGViNjMxNjdjNzA5ZGE2MTZhZDcwOWMxNjQKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9u
ZXR3b3JrL2hhci1jb250ZW50LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitDT05TT0xF
IE1FU1NBR0U6IGxpbmUgNjogWEhSIGxvYWRlZDogMQorVGVzdHMgY29udmVyc2lvbiBvZiBJbnNw
ZWN0b3IncyByZXNvdXJjZSByZXByZXNlbnRhdGlvbiBpbnRvIEhBUiBmb3JtYXQuCisKK2luaXRp
YXRvci5jc3M6IC5pbWFnZS1iYWNrZ3JvdW5kIHsKKyAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwo
InJlc291cmNlLnBocD90eXBlPWltYWdlJnJhbmRvbT0xJnNpemU9MjAwIik7Cit9CisKKy5pbWFn
ZS1iYWNrZ3JvdW5kLTIgeworICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgicmVzb3VyY2UucGhw
P3R5cGU9aW1hZ2UmcmFuZG9tPTEmc2l6ZT0zMDAiKTsKK30KKworCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvaGFyLWNvbnRl
bnQuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdv
cmsvaGFyLWNvbnRlbnQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42MTE3OGM5ZDY5ZWRmYjNkNTQ1MGM4YWNm
YjQ3OTFmNzRjYWZjOWI2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
LW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9oYXItY29udGVudC5odG1sCkBAIC0wLDAgKzEs
NTEgQEAKKzwhZG9jdHlwZSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9p
bnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vbmV0d29yay10ZXN0
LmpzIj48L3NjcmlwdD4KKworPHNjcmlwdD4KK3ZhciB0ZXN0ID0gZnVuY3Rpb24oKQoreworICAg
IGNvbnN0IHJlcXVlc3RSZWdFeHAgPSAvXC9pbml0aWF0b3IuY3NzJC87CisKKyAgICBmdW5jdGlv
biBvblJlcXVlc3RGaW5pc2hlZCgpCisgICAgeworICAgICAgICB2YXIgd3JpdGVyID0gbmV3IFdl
Ykluc3BlY3Rvci5IQVJXcml0ZXIoKTsKKyAgICAgICAgdmFyIHN0cmVhbSA9IG5ldyBJbnNwZWN0
b3JUZXN0LlN0cmluZ091dHB1dFN0cmVhbShvblNhdmVkKTsKKyAgICAgICAgd3JpdGVyLndyaXRl
KHN0cmVhbSwgV2ViSW5zcGVjdG9yLm5ldHdvcmtMb2cucmVxdWVzdHMsIG5ldyBXZWJJbnNwZWN0
b3IuUHJvZ3Jlc3MoKSk7CisgICAgfQorCisgICAgZnVuY3Rpb24gb25TYXZlZChkYXRhKQorICAg
IHsKKyAgICAgICAgdmFyIGhhciA9IEpTT04ucGFyc2UoZGF0YSk7CisgICAgICAgIEluc3BlY3Rv
clRlc3QuYWRkUmVzdWx0KCJpbml0aWF0b3IuY3NzOiAiICsgZmluZEVudHJ5KGhhciwgcmVxdWVz
dFJlZ0V4cCkucmVzcG9uc2UuY29udGVudC50ZXh0KTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5j
b21wbGV0ZVRlc3QoKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBmaW5kRW50cnkoaGFyLCByZWdl
eHApCisgICAgeworICAgICAgICB2YXIgZW50cmllcyA9IGhhci5sb2cuZW50cmllczsKKyAgICAg
ICAgZm9yICh2YXIgaSA9IDA7IGkgPCBlbnRyaWVzLmxlbmd0aDsgKytpKSB7CisgICAgICAgICAg
ICAgdmFyIGVudHJ5ID0gZW50cmllc1tpXTsKKyAgICAgICAgICAgICBpZiAocmVnZXhwLnRlc3Qo
ZW50cnkucmVxdWVzdC51cmwpKQorICAgICAgICAgICAgICAgICByZXR1cm4gZW50cnk7CisgICAg
ICAgIH0KKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIkZBSUw6IGNhbid0IGZpbmQg
cmVzb3VyY2UgZm9yICIgKyByZWdleHApOworICAgICAgICByZXR1cm4gbnVsbDsKKyAgICB9CisK
KyAgICBJbnNwZWN0b3JUZXN0Lm1ha2VTaW1wbGVYSFIoIkdFVCIsICJyZXNvdXJjZXMvaW5pdGlh
dG9yLmNzcyIsIGZhbHNlLCBvblJlcXVlc3RGaW5pc2hlZCk7Cit9Cis8L3NjcmlwdD4KKworCis8
L2hlYWQ+CisKKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KKzxwPgorVGVzdHMgY29udmVyc2lv
biBvZiBJbnNwZWN0b3IncyByZXNvdXJjZSByZXByZXNlbnRhdGlvbiBpbnRvIEhBUiBmb3JtYXQu
Cis8L3A+CisKKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvaW1hZ2UtYXMtdGV4dC1sb2FkaW5nLWRh
dGEtdXJsLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRw
LXRlc3RzL25ldHdvcmsvaW1hZ2UtYXMtdGV4dC1sb2FkaW5nLWRhdGEtdXJsLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMjAyZTY3ZTlmNjZhOGZmYjE0NDRjOGM5NjE4Y2QxYTQ4NDFkYzk5Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVz
dHMvbmV0d29yay9pbWFnZS1hcy10ZXh0LWxvYWRpbmctZGF0YS11cmwtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsNSBAQAorVGVzdHMgdGhhdCBsb25nIGRhdGE6IFVSTHMgYXJlIGNvcnJlY3RseSB0
cmltbWVkIGluIE1JTUUgdHlwZSBjb25zb2xlIHdhcm5pbmdzLgorCitCdWcgMTAwMDgzICAKK1Jl
c291cmNlIGludGVycHJldGVkIGFzIEltYWdlIGJ1dCB0cmFuc2ZlcnJlZCB3aXRoIE1JTUUgdHlw
ZSB0ZXh0L3BsYWluOiAiZGF0YTp0ZXh0L3BsYWluO2Jhc2U2NCwvOWovNEFBUVNrWkpSZ0FCQVFF
QkxBRXNBQUQvMndCREFBTUNBZ01DQWdNREF3TUVBd01F4oCmRGNkRFdud3JPeFFBUjhJNmVtSEtU
U2JORkNPeW8wVnZnMWtWdHBDZTZkSVhaSThUc1JDMUhielVvRWsvVW5EV1NYdk9kd2lmL1oiLiBp
bWFnZS1hcy10ZXh0LWxvYWRpbmctZGF0YS11cmwuaHRtbDo5CisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvaW1hZ2UtYXMtdGV4
dC1sb2FkaW5nLWRhdGEtdXJsLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUv
aHR0cC10ZXN0cy9uZXR3b3JrL2ltYWdlLWFzLXRleHQtbG9hZGluZy1kYXRhLXVybC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjg4YjRiMzJjYWNjOTM4OWVkNjA4YTU2MDdmZGMwOWRhY2YxNWFkZGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9u
ZXR3b3JrL2ltYWdlLWFzLXRleHQtbG9hZGluZy1kYXRhLXVybC5odG1sCkBAIC0wLDAgKzEsMzAg
QEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vaW5zcGVjdG9yLXRlc3QuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL2NvbnNvbGUtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0PgorZnVuY3Rpb24gbG9hZEltYWdlKCkKK3sKKyAgICB2YXIgaSA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoJ2ltZycpOworICAgIGkuc3JjID0gImRhdGE6dGV4dC9wbGFpbjtiYXNlNjQsLzlq
LzRBQVFTa1pKUmdBQkFRRUJMQUVzQUFELzJ3QkRBQU1DQWdNQ0FnTURBd01FQXdNRUJRZ0ZCUVFF
QlFvSEJ3WUlEQW9NREFzS0N3c05EaElRRFE0UkRnc0xFQllRRVJNVUZSVVZEQThYR0JZVUdCSVVG
UlQvMndCREFRTUVCQVVFQlFrRkJRa1VEUXNORkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC
UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCVC93QUFSQ0FCTEFFc0RBUkVBQWhF
QkF4RUIvOFFBSFFBQUFBY0JBUUVBQUFBQUFBQUFBQUFBQUFFQ0JBVUdCd2dEQ2YvRUFEb1FBQUVE
QWdRREJRY0JCZ2NBQUFBQUFBRUNBd1FGRVFBR0VpRUhFekVVRmlKQlVRZ1ZNbEpoa2FHQkNTTWtR
bU94VTJKeGNzSGg4UC9FQUJvQkFBTUJBUUVCQUFBQUFBQUFBQUFBQUFBQkFnTUVCUWIveEFBdkVR
QUNBZ0VEQVFVSEJBTUFBQUFBQUFBQUFRSVJBeEloTVVFRUV5SmhnUVZSY1pHeDBmQVVNcUhCSXpQ
eC85b0FEQU1CQUFJUkF4RUFQd0NUOTNxOU1lWWJBOTNxOU1BQmU3MUR5T0FRUGQ2dlE0WUFNQlhw
aEFEc0N2bE9BQXV3S0hrY0FBN0FyNVRoZ0RzS3Zsd2dCMkpYeTRBTkU3cU82Q3JsS0tmTTZUYjc0
MzBFaWU3Q3ZrUDJ3YUFDN3NLK1Q4WU5BZ2QyRmZKK01HZ0FkMkZmSitNR2dkZzdzSytUOFlOQUJk
MkZEK1g4WU5BQmQyRi9KK01MUUZnN3NLK1g4WU5BQTdzcStUOFlOQVdiK3hsc3dqcEJDbUQxSFQ4
WTFhVEpHMGpLakMzN0liMEFqeUhoR0JNR0E1TGJidHJ0djBTa1hKdzJ3RWR6a0UyU2tFK2x0L3Rn
Vk1WQm5KZjlQOFlxZ0M3bC93QlA4WWVrRHlmeVdiQWhxNEhVQVlUUUJuSTQrUzNyZ29ZbFdSMG9K
V2RnT3UzVENvTFBCZVhHa3FJQ1FmMHdoRjNqTFM4MFZsUXNEYTJBWjZ4dzJ0ZCtpQUw0UXhjaVMx
R0hOdW5md2p6QXdQWUJiTXBwNG91bEpkSXZxdmJBRDJIbE1JY2tPaDBCQ0FtL2kzSlAweGNYVEVT
NklEUzBnZ0N4OVJqUVEyVzIwbDVTQWtFRGE5dlBDc0JoTVFwQ3kyRVhKL21TTGc0UUMySXpDR3J2
SjVoSjN2MHdBSnRTZjhCUDJ3REtuNzRqbDNrczJWNUFXdGM0eGJMVVQxZmxOcDVUSGI0akV4MHFE
VVI2U2hEanBIVUpTVGNteEhRWU9OdW9ySU91cnFVZGlLSFk3OGRheVVyQkFHOXllbC9RWWlWb3RV
K0NFWXpROVM1ampVbEpiMEo4SlgxVjljSlNHNGxveXJYcE5XckxMWXVXZFZ5UWIzK24yMy9URnFW
dWlYSGF6VGcvb1FRazM5TDQ2TE1pT2RUSWt5VS91eUVucWRRLzhjSUJGVm1DSExTMzRPMG15UXl0
eENWL29ra0h5OVBMQUJYYXBVNTBVbHJzRHphOVZyS1RheC8wd2dJd3QxUUhlSStEL21RUWNNRG5q
aHg3UnVYODhkcWF6VkloWlBmTjB0dklkZEljV1RwQlNxMWdSdVRmNmZYSHpmWmZhbUx0RGF6TlFm
eDVPcHdjVmEzT05jeDA2dFZMTUU0S25PenBzeVpKVjJacHhienkxSVVvbGFGQklVcEpBSjFqYmJl
MXdNUDlPcHR5alh6dHY4OTQ0WmFXNTNmN0pQSHNjV3NqeHFIV0l6a2lyNWVqc3Q5cVN6WktrSkFT
bEtsa203bXd2MEpGdHV1UFh3U2M0MCtoak5VOWpkM2V3dUw1a2lDMjZnSUtRWFVBbXg2Z0hIVnBU
NkVhbWprRGp0KzBDcEdRZUxrU2c1ZGl2c1E4cFZGY1d1TnFYR2I5OEpRM3l6RlpLMHJVMmh0U2ll
YjRTb29LYkFIVUhwU2V5QzdXNTFydzA0bVUzaXR3K29PYjZFKzhxbDFpTjJsa1B0cFM2M1pTa0xR
c0FrQlNWb1VrMkpHMkdTWmQ3WUhIQ3NjR09GN1VxakJwVlFxejd0T0Q3cVNveFU4cFNsT0FkQ2JB
amZZWEhUYkhObm5LRWZEeXk0cE5ueThpdVRNek44eDl0K1l0OUYxeUZxVXR3cEhoMlgxMkZ0Ny9B
TjhlRGxsREcvRkxkZTg2SzhPeU92OEFoSDdaOVU0UThLYVpsS3AwcVZtV2RUbDltaHo1RXRZZFhI
TGl2Q1ZPSjhSYlNVcFI4UUlTUWJiWXVIdGJ3dGFQNS9QUXk3dm5TWlJOOXE3UFRsU3FMemJjeGh1
Uk1rU0VNSVh6a01wY2RVc05wVXBCSlNrS0NRTDdCSUFzQmJGUjdaSnE0cTAvUDcrN2cyZlo5Vyt0
ZWpPWjh0Y1Y4eTBGdDZOSnFEYnpTVmt1eG5ZaloxV3RaUUl0cUhXNHVEdUNMNzQzbDJMczJWM3By
NE92UTZaM1R0Vy9oL0pZby9IaVMyQWlSUmhNWVpkQ2tTV0paYWNqckJBK0ZZSlJZMy9tODczeHp2
MlppaEpTd3ljWDVHTGc1cTBhWnduOXJSUENxYzQ1UVo5Y284U1JLRXlkU0tnd21WRW1PV0FWekZJ
SmMzQUhqQkNnTDJJM3hwQ1BiY1R1TTR6WG5zUkxFK0tOOHBuN1JhZFdKWlJGeS9sS1hHQVQvRCs5
WDQ3NDhYaUlLZ2I3YldLUlk3NzlNZFM3WmxoL3R4TmVhM1h6UmlzTW5hWFBtY004WE01MFRNbkdQ
TjlickVXbzBxVlVLektxVHNNTnBkU2xMam10S0VrcUdwUFRmYS9XKytPdFR6VGdwNDFGMzV2N0hy
NHNmc25YcHpaTXFWMXRHRGRWelRrdDcycmZiZXpyamdSN2NJNE8renRsdkxrZks4ZVE5VFk4cEVW
MmRVZENuQzVJY2RaVXR0STZEV29xdW9FZ0p0YSsvTEx0ZVR2SGh4d3RycjBQTnlZOGRLV0Z1cTZw
YzcydHVuRyszM29QRTcydUtueE5wN1VITkdaR0s1SGpQR1F6SGcwcFBKUzdjZEVwQ1VLU1BoVHJV
cnJmWTQ4eWNPM2RvdlhQU3ZkL3pmMHN2SGlybGV2NTlUTGFoeGZTOEcvZDlKZUxxN2hEMGlReXlO
STY2UWxLN0lCOHlmTURmR1M5bTRsZmVTYlhrdnhtMGNFNVBlWEpCSTRvekV1S0tvMFZjMHJ0endu
bktGOXRQTWV2YzliNlUySDN4NlVPeDluU3ZSODcrbGhwZVB3eDYvbk94R0hpVG13V0NLMVYzMGdB
Y3lNMjIwMGY5cWVXYkQwLzQ2WTBjY1M2SkdzY2FTMlYraSt4YkhPSE5SaFQwa05VT2JvdWxhbXB3
WUE5UXBPb2IySTZBOWNjdmVKcmxuVlRUNFJOUXVITU5mSldpbnNkdmViMXZ4R3A3YTdLMjhJdXBK
SlVrM0NrbmJlL2tTUEszeTloSktQQ0pGbmhsUzBxNWZ1OTliaVNFSkhhWWg1ZS93QUFKWHVia2JL
Qk80NmRjSlpKVmFlM3FEcDdWdVdHazhLS1pVSkNJalZCYW1hTmxGNTFoYWtFS3RwS1FkUklOaHNN
THZXK0dKcXVVT0RsREtMenhhVlM2QSs0RktZVUZzUm5lVW9iQk82U1FvWFBoTnZQQzd5Y0ZzMzh5
ZEVaN3RMNURlWGxETHI3eXRGTnBURGU0U3BjdUtsUlBvQ2xPcmNqWVdGcjJ3S2NxcHY2anJmWkVG
SnlobHlWcVU2OUNZU2syMGU4bzUxM3ZZYkpKRi8rc1hya3VQN0JlWkc5ejZRNXpWczFxaUlTZkNw
UzVUUzFCQTY2VWpTZ1d0YXlnVGh1VHFtbVVwTk50RWRPeXBCNUMyWUZTb0VZYkxMOHVZcHpXVHRi
U2dJU2tmb2Y3NEZPdVUySEs1SGRGeXZscE5MakNkVldGek5OM1ZSNmlFdDZ2UFNOSjI5TjhZNUhr
MVBTbFhtdHpveHVDaXRiZCtUMk5hanpNdnJFcW9TMEpxYVhVRG5TWEloS09XTEpTa3JTQlpBc0JZ
blQxdmlPN2Q4dGVwaDN1M0NQT281Z3lsS1lSemF4SGl0TUVIVTN5a2x0V25SWUhUcVNiSkc0MzhJ
M3QxbFlFbnhkaExJM3UwZzZMUG9sRVVYYWZYbWtJY0tuaTR2bEtYMUpKMUtScTJKdmZxTnR4dGk1
UVV0bWdqa21sc3lSZzF1bmlESkxNK25MaVBhMzFwV1dna3FjVVNTQWJlSTJ1QUFUME51aHhsTEhD
VHRvdU9XY1ZTSEVSaURtY0dWRWhRNm1FcXVISWpZY2FDbHBJc2JJMGxSRnhjN2kzWGEySzBxUHZK
ZVJ2WjBSc3poMWxpbXg5ZFFpeG0xTXRwS0E2RUtXMkFmaU5odmNqZTk3MzZiNHZXMTFNK2VpR1ZW
b09SMVB5SUx5NmEyVXh5WG0yM1JvMGczVVNSYzZsQTNKU2Jtd3R2aWxKL3VYOWlkMXBZbC9LMlJh
c0lqYTJLSWxiVFlqb1FrTFFkSUYwNndrcDFEeGZFZC9LKytGM2trK1dVMWRiSVp4OHZaS1lTMDQ4
elNIR1hicGFQTFh5NzlUZFdvNzJIbVJ1RGZEYzNicGlyWWJveWR3Nm5neUJBaldjSlA3cDExS2V2
a09hTEQ5Qmg5N2tXMWhwOGp3emRKa0x5cWhmYTVJVTNKbGFTbDlZdHkyRkZBMlBRVzZmZkhGaGY4
QWxhK0IyNVV1NjFlWDNJemhObGVsdFUvTDlWN0lISjBoaHBTM1hWcWNHb3VBYWtwVVNFblliZ0E0
N3MrU1Z5VjlUbXd3alNkZENWemZXNXRPYVBaWGhHL2lwQ1R5a0pUcVRyUnNiRGNmUTdZakhGWFE1
OGwzNFA1Qnk1Vm5LNVVwMUZoVEpkTVVGUkZTR1F0TFJVMDBUNEQ0VHZjZ0VIU1NvaTJvM2pMa2tv
eGlueTJLRUl1VzZMZlg2RkFqME9ZL0hpdHcxeTVhWFgwd3h5RU9xK0c2a0lzazdBZVhtVDFKdm5I
eEttYnVFVTdTTXB6Wm1pcFVqTEVhWEdlUW1Vb3NORjV4aHR4UlF0eElVQ1ZKUFVZbVBpbFQ4eVlm
dm9zbVNjclVmUFZPRW10VXVKSmZLbkd3NDB5bGdwU0UyQVR5d25TQjlMWWJ5VFZiblJMRGpUZXhX
c3RaSm9iSEVyTU5QTk9iZmhpbVFWaG1VVlBwQ25IU2xhdkdUdVFPdlhyNm5HdVNjdTZUdnEvcWNT
aEZUa3ZJczFCeTFTTTBWWnVGVXFYQ2VqQjVXbERjZERXbndyT3hRQVI4STZlbUhLVFNiTkZDT3lv
MFZ2ZzFrVnRwQ2U2ZElYWkk4VHNSQzFIYnpVb0VrL1VuRFdTWHZPZHdpZi9aIjsKKyAgICBkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKGkpOworfQorCitmdW5jdGlvbiB0ZXN0KCkKK3sKKyAgICBJ
bnNwZWN0b3JUZXN0LmFkZENvbnNvbGVTbmlmZmVyKHN0ZXAxKTsKKyAgICBJbnNwZWN0b3JUZXN0
LmV2YWx1YXRlSW5QYWdlKCJsb2FkSW1hZ2UoKSIpOworCisgICAgZnVuY3Rpb24gc3RlcDEoKQor
ICAgIHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wQ29uc29sZU1lc3NhZ2VzKCk7CisgICAg
ICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7CisgICAgfQorfQorPC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Cis8cD5UZXN0cyB0aGF0IGxvbmcgZGF0
YTogVVJMcyBhcmUgY29ycmVjdGx5IHRyaW1tZWQgaW4gTUlNRSB0eXBlIGNvbnNvbGUgd2Fybmlu
Z3MuPC9wPgorPGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTEwMDA4MyI+QnVnIDEwMDA4MzwvYT4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvbmV0d29yay1j
YWNoZWRyZXNvdXJjZXMtd2l0aC1zYW1lLXVybHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9uZXR3b3JrLWNhY2hlZHJlc291
cmNlcy13aXRoLXNhbWUtdXJscy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzVjMDExOGU1ZDY1
Nzc5NTBjNmZjZTFlYzJkMDFmODlkN2Y1MDFmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvbmV0d29yay1jYWNoZWRy
ZXNvdXJjZXMtd2l0aC1zYW1lLXVybHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNyBAQAorQ09O
U09MRSBNRVNTQUdFOiBsaW5lIDIzOiBEb25lLgorVGVzdHMgdGhhdCB3aGVuIHdlIGxvYWQgdHdv
IGRpZmZlcmVudCBpbWFnZXMgZnJvbSB0aGUgc2FtZSB1cmwgKGUuZy4gY291bnRlcnMpLCB0aGVp
ciBjb250ZW50IGlzIGRpZmZlcmVudCBpbiBuZXR3b3JrIHBhbmVsIGFzIHdlbGwuCisKKworaHR0
cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9uZXR3b3JrL3Jlc291cmNlcy9yZXNvdXJjZS5w
aHA/dHlwZT1pbWFnZSZyYW5kb209MQoraHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9u
ZXR3b3JrL3Jlc291cmNlcy9yZXNvdXJjZS5waHA/dHlwZT1pbWFnZSZyYW5kb209MQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3Jr
L25ldHdvcmstY2FjaGVkcmVzb3VyY2VzLXdpdGgtc2FtZS11cmxzLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL25ldHdvcmstY2FjaGVkcmVz
b3VyY2VzLXdpdGgtc2FtZS11cmxzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmEwN2ZhYjQ3YzViMzdlMzhj
NDRlMzdlMDQ2NTM1MTVjMTA4MWI5NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lu
c3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvbmV0d29yay1jYWNoZWRyZXNvdXJj
ZXMtd2l0aC1zYW1lLXVybHMuaHRtbApAQCAtMCwwICsxLDY1IEBACis8aHRtbD4KKzxoZWFkPgor
PHNjcmlwdCBzcmM9Ii4uL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+Citm
dW5jdGlvbiBsb2FkSW1hZ2VzKCkKK3sKKyAgICB2YXIgaW1hZ2UgPSBuZXcgSW1hZ2UoKTsKKyAg
ICBpbWFnZS5vbmxvYWQgPSBzdGVwMjsKKyAgICBpbWFnZS5zcmMgPSAicmVzb3VyY2VzL3Jlc291
cmNlLnBocD90eXBlPWltYWdlJnJhbmRvbT0xIjsKKyAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKGltYWdlKTsKK30KKworZnVuY3Rpb24gc3RlcDIoKQoreworICAgIHZhciBpbWFnZSA9IG5l
dyBJbWFnZSgpOworICAgIGltYWdlLm9ubG9hZCA9IGltYWdlTG9hZGVkOworICAgIGltYWdlLnNy
YyA9ICJyZXNvdXJjZXMvcmVzb3VyY2UucGhwP3R5cGU9aW1hZ2UmcmFuZG9tPTEiOworICAgIGRv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaW1hZ2UpOworfQorCitmdW5jdGlvbiBpbWFnZUxvYWRl
ZCgpCit7CisgICAgY29uc29sZS5sb2coIkRvbmUuIik7Cit9CisKK2Z1bmN0aW9uIHRlc3QoKQor
eworICAgIEluc3BlY3RvclRlc3QuYWRkQ29uc29sZVNuaWZmZXIoc3RlcDIsIHRydWUpOworICAg
IEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoImxvYWRJbWFnZXMoKSIpOworCisgICAgZnVu
Y3Rpb24gc3RlcDIobXNnKQorICAgIHsKKyAgICAgICAgLy8gaW5zcGVjdG9yLXRlc3QuanMgYXBw
ZWFycyBpbiBuZXR3b3JrIHBhbmVsIG9jY2FzaW9uYWxseSBpbiBTYWZhcmkgb24KKyAgICAgICAg
Ly8gTWFjLCBzbyBjaGVja2luZyB0d28gbGFzdCByZXF1ZXN0cy4KKyAgICAgICAgdmFyIHJlcXVl
c3RzQ291bnQgPSBXZWJJbnNwZWN0b3IucGFuZWwoIm5ldHdvcmsiKS5yZXF1ZXN0cy5sZW5ndGg7
CisgICAgICAgIHZhciByZXF1ZXN0MSA9IFdlYkluc3BlY3Rvci5wYW5lbCgibmV0d29yayIpLnJl
cXVlc3RzW3JlcXVlc3RzQ291bnQgLSAyXTsKKyAgICAgICAgdmFyIHJlcXVlc3QyID0gV2ViSW5z
cGVjdG9yLnBhbmVsKCJuZXR3b3JrIikucmVxdWVzdHNbcmVxdWVzdHNDb3VudCAtIDFdOworICAg
ICAgICByZXF1ZXN0MS5yZXF1ZXN0Q29udGVudChjb250ZW50TG9hZGVkKTsKKyAgICAgICAgcmVx
dWVzdDIucmVxdWVzdENvbnRlbnQoY29udGVudExvYWRlZCk7CisgICAgfQorCisgICAgdmFyIGNv
bnRlbnRMb2FkZWRDb3VudCA9IDA7CisgICAgZnVuY3Rpb24gY29udGVudExvYWRlZCgpCisgICAg
eworICAgICAgICBpZiAoKytjb250ZW50TG9hZGVkQ291bnQgIT09IDIpCisgICAgICAgICAgICBy
ZXR1cm47CisKKyAgICAgICAgdmFyIHJlcXVlc3RzQ291bnQgPSBXZWJJbnNwZWN0b3IucGFuZWwo
Im5ldHdvcmsiKS5yZXF1ZXN0cy5sZW5ndGg7CisgICAgICAgIHZhciByZXF1ZXN0MSA9IFdlYklu
c3BlY3Rvci5wYW5lbCgibmV0d29yayIpLnJlcXVlc3RzW3JlcXVlc3RzQ291bnQgLSAyXTsKKyAg
ICAgICAgdmFyIHJlcXVlc3QyID0gV2ViSW5zcGVjdG9yLnBhbmVsKCJuZXR3b3JrIikucmVxdWVz
dHNbcmVxdWVzdHNDb3VudCAtIDFdOworCisgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0
KHJlcXVlc3QxLnVybCk7CisgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KHJlcXVlc3Qy
LnVybCk7CisgICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0VHJ1ZShyZXF1ZXN0MS5jb250ZW50
ICE9PSByZXF1ZXN0Mi5jb250ZW50KTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRl
c3QoKTsKKyAgICB9CisKK30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJydW5U
ZXN0KCkiPgorPHA+VGVzdHMgdGhhdCB3aGVuIHdlIGxvYWQgdHdvIGRpZmZlcmVudCBpbWFnZXMg
ZnJvbSB0aGUgc2FtZSB1cmwgKGUuZy4gY291bnRlcnMpLAordGhlaXIgY29udGVudCBpcyBkaWZm
ZXJlbnQgaW4gbmV0d29yayBwYW5lbCBhcyB3ZWxsLjwvcD4KKzwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdv
cmsvbmV0d29yay1jbGVhci1jYWNoZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0
b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL25ldHdvcmstY2xlYXItY2FjaGUtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmI3NWJkMWRkYWNhMjQzNmJlNzE5YTA4ZjYyYzEwODQ3ZGQ4NTE1
YjAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0
cC10ZXN0cy9uZXR3b3JrL25ldHdvcmstY2xlYXItY2FjaGUtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsOCBAQAorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDEzOiBGaXJzdCBYSFIgbG9hZGVkLgorQ09O
U09MRSBNRVNTQUdFOiBsaW5lIDI4OiBEb25lLgorVGVzdHMgY2xlYXJpbmcgYnJvd3NlciBjYWNo
ZSBmcm9tIGluc3BlY3Rvci4KKworaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9uZXR3
b3JrL3Jlc291cmNlcy9yYW5kb20tY2FjaGVkLnBocAoraHR0cDovLzEyNy4wLjAuMTo4MDAwL2lu
c3BlY3Rvci9uZXR3b3JrL3Jlc291cmNlcy9yYW5kb20tY2FjaGVkLnBocAoraHR0cDovLzEyNy4w
LjAuMTo4MDAwL2luc3BlY3Rvci9uZXR3b3JrL3Jlc291cmNlcy9yYW5kb20tY2FjaGVkLnBocAor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9u
ZXR3b3JrL25ldHdvcmstY2xlYXItY2FjaGUuaHRtbC1kaXNhYmxlZCBiL0xheW91dFRlc3RzL2lu
c3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvbmV0d29yay1jbGVhci1jYWNoZS5o
dG1sLWRpc2FibGVkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNlN2IwYTAwZDIyZGUxMjIwNGU1ZjVlZjU5ZjZkZjFh
YThlOGU3ODMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xl
dGUvaHR0cC10ZXN0cy9uZXR3b3JrL25ldHdvcmstY2xlYXItY2FjaGUuaHRtbC1kaXNhYmxlZApA
QCAtMCwwICsxLDczIEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uL2luc3BlY3Rv
ci10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9uZXR3b3JrLXRlc3QuanMiPjwv
c2NyaXB0PgorPHNjcmlwdD4KK2Z1bmN0aW9uIHRlc3QoKQoreworICAgIC8vIFNpbmNlIHRoaXMg
dGVzdCBjb3VsZCBiZSBydW4gdG9nZXRoZXIgd2l0aCBvdGhlciBpbnNwZWN0b3IgYmFja2VuZCBj
YWNoZQorICAgIC8vIHRlc3RzLCB3ZSBuZWVkIHRvIHJlc2V0IHNpemUgbGltaXRzIHRvIGRlZmF1
bHQgb25lcy4KKyAgICBJbnNwZWN0b3JUZXN0LnJlc2V0SW5zcGVjdG9yUmVzb3VyY2VzRGF0YShz
dGVwMSk7CisKKyAgICBmdW5jdGlvbiBzdGVwMSgpCisgICAgeworICAgICAgICBJbnNwZWN0b3JU
ZXN0Lm1ha2VTaW1wbGVYSFJXaXRoUGF5bG9hZCgiR0VUIiwgInJlc291cmNlcy9yYW5kb20tY2Fj
aGVkLnBocCIsIHRydWUsIHN0ZXAyKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBzdGVwMihtc2cp
CisgICAgeworICAgICAgICBpZiAodHlwZW9mKE5ldHdvcmtBZ2VudC5jbGVhckJyb3dzZXJDYWNo
ZSkgPT09ICdmdW5jdGlvbicpCisgICAgICAgICAgICBOZXR3b3JrQWdlbnQuY2xlYXJCcm93c2Vy
Q2FjaGUoc3RlcDMpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBzdGVwMygpOworICAgIH0K
KworICAgIGZ1bmN0aW9uIHN0ZXAzKG1zZykKKyAgICB7CisgICAgICAgIEluc3BlY3RvclRlc3Qu
bWFrZVNpbXBsZVhIUldpdGhQYXlsb2FkKCJHRVQiLCAicmVzb3VyY2VzL3JhbmRvbS1jYWNoZWQu
cGhwIiwgdHJ1ZSwgc3RlcDQpOworCisgICAgICAgIGZ1bmN0aW9uIGZpcnN0WEhSTG9hZGVkKCkK
KyAgICAgICAgeworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5tYWtlU2ltcGxlWEhSV2l0aFBh
eWxvYWQoIkdFVCIsICJyZXNvdXJjZXMvcmFuZG9tLWNhY2hlZC5waHAiLCB0cnVlLCBzdGVwNCk7
CisgICAgICAgIH0KKyAgICB9CisKKyAgICBmdW5jdGlvbiBzdGVwNChtc2cpCisgICAgeworICAg
ICAgICAvLyBpbnNwZWN0b3ItdGVzdC5qcyBhcHBlYXJzIGluIG5ldHdvcmsgcGFuZWwgb2NjYXNp
b25hbGx5IGluIFNhZmFyaSBvbgorICAgICAgICAvLyBNYWMsIHNvIGNoZWNraW5nIHR3byBsYXN0
IHJlc291cmNlcy4KKyAgICAgICAgdmFyIHJlc291cmNlc0NvdW50ID0gV2ViSW5zcGVjdG9yLnBh
bmVsKCJuZXR3b3JrIikucmVzb3VyY2VzLmxlbmd0aDsKKyAgICAgICAgdmFyIHJlc291cmNlMSA9
IFdlYkluc3BlY3Rvci5wYW5lbCgibmV0d29yayIpLnJlc291cmNlc1tyZXNvdXJjZXNDb3VudCAt
IDNdOworICAgICAgICB2YXIgcmVzb3VyY2UyID0gV2ViSW5zcGVjdG9yLnBhbmVsKCJuZXR3b3Jr
IikucmVzb3VyY2VzW3Jlc291cmNlc0NvdW50IC0gMl07CisgICAgICAgIHZhciByZXNvdXJjZTMg
PSBXZWJJbnNwZWN0b3IucGFuZWwoIm5ldHdvcmsiKS5yZXNvdXJjZXNbcmVzb3VyY2VzQ291bnQg
LSAxXTsKKyAgICAgICAgcmVzb3VyY2UxLnJlcXVlc3RDb250ZW50KGNvbnRlbnRMb2FkZWQpOwor
ICAgICAgICByZXNvdXJjZTIucmVxdWVzdENvbnRlbnQoY29udGVudExvYWRlZCk7CisgICAgICAg
IHJlc291cmNlMy5yZXF1ZXN0Q29udGVudChjb250ZW50TG9hZGVkKTsKKyAgICB9CisKKyAgICB2
YXIgY29udGVudExvYWRlZENvdW50ID0gMDsKKyAgICBmdW5jdGlvbiBjb250ZW50TG9hZGVkKCkK
KyAgICB7CisgICAgICAgIGlmICgrK2NvbnRlbnRMb2FkZWRDb3VudCAhPT0gMykKKyAgICAgICAg
ICAgIHJldHVybjsKKworICAgICAgICB2YXIgcmVzb3VyY2VzQ291bnQgPSBXZWJJbnNwZWN0b3Iu
cGFuZWwoIm5ldHdvcmsiKS5yZXNvdXJjZXMubGVuZ3RoOworICAgICAgICB2YXIgcmVzb3VyY2Ux
ID0gV2ViSW5zcGVjdG9yLnBhbmVsKCJuZXR3b3JrIikucmVzb3VyY2VzW3Jlc291cmNlc0NvdW50
IC0gM107CisgICAgICAgIHZhciByZXNvdXJjZTIgPSBXZWJJbnNwZWN0b3IucGFuZWwoIm5ldHdv
cmsiKS5yZXNvdXJjZXNbcmVzb3VyY2VzQ291bnQgLSAyXTsKKyAgICAgICAgdmFyIHJlc291cmNl
MyA9IFdlYkluc3BlY3Rvci5wYW5lbCgibmV0d29yayIpLnJlc291cmNlc1tyZXNvdXJjZXNDb3Vu
dCAtIDFdOworCisgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KHJlc291cmNlMS51cmwp
OworICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdChyZXNvdXJjZTIudXJsKTsKKyAgICAg
ICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQocmVzb3VyY2UzLnVybCk7CisgICAgICAgIEluc3Bl
Y3RvclRlc3QuYXNzZXJ0VHJ1ZShyZXNvdXJjZTEuY29udGVudCAhPT0gcmVzb3VyY2UyLmNvbnRl
bnQpOworICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydFRydWUocmVzb3VyY2UyLmNvbnRlbnQg
PT09IHJlc291cmNlMy5jb250ZW50KTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRl
c3QoKTsKKyAgICB9Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0icnVuVGVz
dCgpIj4KKyAgICA8cD5UZXN0cyBjbGVhcmluZyBicm93c2VyIGNhY2hlIGZyb20gaW5zcGVjdG9y
LjwvcD4KKzwvYm9keT4KKzwvaHRtbD4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9uZXR3b3JrLWNsZWFyLWNvb2tpZXMtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0
d29yay9uZXR3b3JrLWNsZWFyLWNvb2tpZXMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjAzNzI2
MTkwNDNkYjU4NTcyMzc4ODIyNjU2NDcwYWRiMGQyZTdkZjUKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL25ldHdvcmst
Y2xlYXItY29va2llcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw3IEBACitDT05TT0xFIE1FU1NB
R0U6IGxpbmUgMTM6IEZpcnN0IFhIUiBsb2FkZWQuCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMjg6
IERvbmUuCitUZXN0cyBjbGVhcmluZyBicm93c2VyIGNvb2tpZXMgZnJvbSBpbnNwZWN0b3IuCisK
K2h0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvbmV0d29yay9yZXNvdXJjZXMvc2V0LWNv
b2tpZS5waHAKK2h0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvbmV0d29yay9yZXNvdXJj
ZXMvc2V0LWNvb2tpZS5waHAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9i
c29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9uZXR3b3JrLWNsZWFyLWNvb2tpZXMuaHRtbC1kaXNh
YmxlZCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsv
bmV0d29yay1jbGVhci1jb29raWVzLmh0bWwtZGlzYWJsZWQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmY2NGYwNGNm
OTIwNjg2OTcxMWIzZjY5YmU0NWRhMWY3ZTE4ZWM0MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvbmV0d29yay1jbGVh
ci1jb29raWVzLmh0bWwtZGlzYWJsZWQKQEAgLTAsMCArMSw3MCBAQAorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vbmV0d29yay10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CitmdW5jdGlvbiB0ZXN0
KCkKK3sKKyAgICAvLyBTaW5jZSB0aGlzIHRlc3QgY291bGQgYmUgcnVuIHRvZ2V0aGVyIHdpdGgg
b3RoZXIgaW5zcGVjdG9yIGJhY2tlbmQgY2FjaGUKKyAgICAvLyB0ZXN0cywgd2UgbmVlZCB0byBy
ZXNldCBzaXplIGxpbWl0cyB0byBkZWZhdWx0IG9uZXMuCisgICAgSW5zcGVjdG9yVGVzdC5yZXNl
dEluc3BlY3RvclJlc291cmNlc0RhdGEoc3RlcDEpOworCisgICAgZnVuY3Rpb24gc3RlcDEoKQor
ICAgIHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5tYWtlU2ltcGxlWEhSV2l0aFBheWxvYWQoIkdF
VCIsICJyZXNvdXJjZXMvc2V0LWNvb2tpZS5waHAiLCB0cnVlLCBzdGVwMik7CisgICAgfQorCisg
ICAgZnVuY3Rpb24gc3RlcDIobXNnKQorICAgIHsKKyAgICAgICAgaWYgKHR5cGVvZihOZXR3b3Jr
QWdlbnQuY2xlYXJCcm93c2VyQ29va2llcykgPT09ICdmdW5jdGlvbicpCisgICAgICAgICAgICBO
ZXR3b3JrQWdlbnQuY2xlYXJCcm93c2VyQ29va2llcyhzdGVwMyk7CisgICAgICAgIGVsc2UKKyAg
ICAgICAgICAgIHN0ZXAzKCk7CisgICAgfQorCisgICAgZnVuY3Rpb24gc3RlcDMobXNnKQorICAg
IHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5tYWtlU2ltcGxlWEhSV2l0aFBheWxvYWQoIkdFVCIs
ICJyZXNvdXJjZXMvc2V0LWNvb2tpZS5waHAiLCB0cnVlLCBmaXJzdFhIUkxvYWRlZCk7CisKKyAg
ICAgICAgZnVuY3Rpb24gZmlyc3RYSFJMb2FkZWQoKQorICAgICAgICB7CisgICAgICAgICAgICBJ
bnNwZWN0b3JUZXN0Lm1ha2VTaW1wbGVYSFJXaXRoUGF5bG9hZCgiR0VUIiwgInJlc291cmNlcy9z
ZXQtY29va2llLnBocCIsIHRydWUsIHN0ZXA0KTsKKyAgICAgICAgfQorICAgIH0KKworICAgIGZ1
bmN0aW9uIHN0ZXA0KG1zZykKKyAgICB7CisgICAgICAgIC8vIGluc3BlY3Rvci10ZXN0LmpzIGFw
cGVhcnMgaW4gbmV0d29yayBwYW5lbCBvY2Nhc2lvbmFsbHkgaW4gU2FmYXJpIG9uCisgICAgICAg
IC8vIE1hYywgc28gY2hlY2tpbmcgdHdvIGxhc3QgcmVzb3VyY2VzLgorICAgICAgICB2YXIgcmVz
b3VyY2VzQ291bnQgPSBXZWJJbnNwZWN0b3IucGFuZWwoIm5ldHdvcmsiKS5yZXNvdXJjZXMubGVu
Z3RoOworICAgICAgICB2YXIgcmVzb3VyY2UxID0gV2ViSW5zcGVjdG9yLnBhbmVsKCJuZXR3b3Jr
IikucmVzb3VyY2VzW3Jlc291cmNlc0NvdW50IC0gMl07CisgICAgICAgIHZhciByZXNvdXJjZTIg
PSBXZWJJbnNwZWN0b3IucGFuZWwoIm5ldHdvcmsiKS5yZXNvdXJjZXNbcmVzb3VyY2VzQ291bnQg
LSAxXTsKKworICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdChyZXNvdXJjZTEudXJsKTsK
KyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQocmVzb3VyY2UyLnVybCk7CisKKyAgICAg
ICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRUcnVlKCFoYXNSZXF1ZXN0Q29va2llV2l0aE5hbWUocmVz
b3VyY2UxLCAiVGVzdENvb2tpZSIpKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRUcnVl
KGhhc1JlcXVlc3RDb29raWVXaXRoTmFtZShyZXNvdXJjZTIsICJUZXN0Q29va2llIikpOworICAg
ICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOworCisgICAgfQorCisgICAgZnVuY3Rp
b24gaGFzUmVxdWVzdENvb2tpZVdpdGhOYW1lKHJlc291cmNlLCBuYW1lKQorICAgIHsKKyAgICAg
ICAgdmFyIHJlcXVlc3RDb29raWVzID0gcmVzb3VyY2UucmVxdWVzdENvb2tpZXM7CisgICAgICAg
IGlmICghcmVxdWVzdENvb2tpZXMpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAg
IGZvciAodmFyICBpID0gMDsgaSA8IHJlcXVlc3RDb29raWVzLmxlbmd0aDsgaSsrKSB7CisgICAg
ICAgICAgICBpZiAocmVxdWVzdENvb2tpZXNbaV0ubmFtZSA9PT0gbmFtZSkKKyAgICAgICAgICAg
ICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgfQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAg
fQorfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+CisgICAg
PHA+VGVzdHMgY2xlYXJpbmcgYnJvd3NlciBjb29raWVzIGZyb20gaW5zcGVjdG9yLjwvcD4KKzwv
Ym9keT4KKzwvaHRtbD4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29s
ZXRlL2h0dHAtdGVzdHMvbmV0d29yay9uZXR3b3JrLWNvbnRlbnQtcmVwbGFjZW1lbnQtZW1iZWQt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMv
bmV0d29yay9uZXR3b3JrLWNvbnRlbnQtcmVwbGFjZW1lbnQtZW1iZWQtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmQzYjFjZDA4MzU5MjdhOTRhY2RjOWRkOGNjOWIxNWM1ZjhhMWMzOWQKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9u
ZXR3b3JrL25ldHdvcmstY29udGVudC1yZXBsYWNlbWVudC1lbWJlZC1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxMyBAQAorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDU4OiBEb25lLgorVGVzdHMgTmV0
d29ya1Jlc291cmNlc0RhdGEgbG9naWMgZm9yIGVtYmVkIGNvbnRlbnQgcmVwbGFjZW1lbnQuCisK
KworaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9uZXR3b3JrL3Jlc291cmNlcy9yZXNv
dXJjZS5waHA/c2l6ZT0yMDAKK3Jlc291cmNlLmNvbnRlbnQgYWZ0ZXIgcmVxdWVzdGluZyBjb250
ZW50OiBudWxsCitodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL25ldHdvcmsvcmVzb3Vy
Y2VzL3Jlc291cmNlLnBocD9zaXplPTEwMAorcmVzb3VyY2UuY29udGVudCBhZnRlciByZXF1ZXN0
aW5nIGNvbnRlbnQ6ICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioK
K2h0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvbmV0d29yay9yZXNvdXJjZXMvcmVzb3Vy
Y2UucGhwP3NpemU9MjAxCityZXNvdXJjZS5jb250ZW50IGFmdGVyIHJlcXVlc3RpbmcgY29udGVu
dDogbnVsbAoraHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9uZXR3b3JrL3Jlc291cmNl
cy9yZXNvdXJjZS5waHA/c2l6ZT0xMDAKK3Jlc291cmNlLmNvbnRlbnQgYWZ0ZXIgcmVxdWVzdGlu
ZyBjb250ZW50OiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25l
dHdvcmsvbmV0d29yay1jb250ZW50LXJlcGxhY2VtZW50LWVtYmVkLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL25ldHdvcmstY29udGVudC1y
ZXBsYWNlbWVudC1lbWJlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFiODliYTFiMjU4ZTRjMzc3MTQ1OGVi
YjczZTk4ZTY2YTAxZTI1MjgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0
b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL25ldHdvcmstY29udGVudC1yZXBsYWNlbWVu
dC1lbWJlZC5odG1sCkBAIC0wLDAgKzEsMTE3IEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBz
cmM9Ii4uL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisKK3ZhciBsb2Fk
ZWRGaXJzdFVSTCA9IGZhbHNlOworZnVuY3Rpb24gc3RyZWFtTG9hZGVkKCkKK3sKKyAgICBpZiAo
bG9hZGVkRmlyc3RVUkwpCisgICAgICAgIHJldHVybjsKKworICAgIGxvYWRlZEZpcnN0VVJMID0g
dHJ1ZTsKKyAgICBsb2FkVVJMcygpOworfQorCit2YXIgc25pZmZlckluc3RhbGxlZCA9IGZhbHNl
OworZnVuY3Rpb24gb25TbmlmZmVySW5zdGFsbGVkKCkKK3sKKyAgICBzbmlmZmVySW5zdGFsbGVk
ID0gdHJ1ZTsKKyAgICBsb2FkVVJMcygpOworfQorCitmdW5jdGlvbiBsb2FkVVJMcygpCit7Cisg
ICAgaWYgKCFzbmlmZmVySW5zdGFsbGVkIHx8ICFsb2FkZWRGaXJzdFVSTCkKKyAgICAgICAgcmV0
dXJuOworCisgICAgaWYgKCF3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgICAgIGNvbnNvbGUubG9n
KCJUaGlzIHRlc3QgY2FuIG5vdCBiZSBydW4gYXMgd2luZG93LmludGVybmFscyBpcyBub3QgYXZh
aWxhYmxlLiIpOworICAgICAgICByZXR1cm47CisgICAgfQorICAgIGludGVybmFscy5zZXRJbnNw
ZWN0b3JSZXNvdXJjZXNEYXRhU2l6ZUxpbWl0cygzMDAsIDIwMCk7CisKKyAgICAvLyBIZXJlIHdl
IHRlc3QgcmVwbGFjZW1lbnQgbG9naWMuIFdlIHNhdmUgZmlyc3QgdHdvIHJlc291cmNlcyBjb250
ZW50LAorICAgIC8vIGRpc2NhcmQgdGhpcmQgcmVzb3VyY2UgY29udGVudCBvbmNlIHdlIHNlZSBp
dHMgc2l6ZSBleGNlZWRzIGxpbWl0LAorICAgIC8vIGFuZCBmaW5hbGx5IHJlcGxhY2UgZmlyc3Qg
cmVzb3VyY2UgY29udGVudCB3aXRoIHRoZSBsYXN0IHJlc291cmNlIGNvbnRlbnQuCisKKyAgICBw
bGcuZ2V0VVJMTm90aWZ5KCJyZXNvdXJjZXMvcmVzb3VyY2UucGhwP3NpemU9MjAwIiwgbnVsbCwg
ImxvYWRVUkwyIik7Cit9CisKK2Z1bmN0aW9uIGxvYWRVUkwyKCkKK3sKKyAgICBwbGcuZ2V0VVJM
Tm90aWZ5KCJyZXNvdXJjZXMvcmVzb3VyY2UucGhwP3NpemU9MTAwIiwgbnVsbCwgImxvYWRVUkwz
Iik7Cit9CisKK2Z1bmN0aW9uIGxvYWRVUkwzKCkKK3sKKyAgICBwbGcuZ2V0VVJMTm90aWZ5KCJy
ZXNvdXJjZXMvcmVzb3VyY2UucGhwP3NpemU9MjAxIiwgbnVsbCwgImxvYWRVUkw0Iik7Cit9CisK
K2Z1bmN0aW9uIGxvYWRVUkw0KCkKK3sKKyAgICBwbGcuZ2V0VVJMTm90aWZ5KCJyZXNvdXJjZXMv
cmVzb3VyY2UucGhwP3NpemU9MTAwIiwgbnVsbCwgImFsbFVSTHNMb2FkZWQiKTsKK30KKworZnVu
Y3Rpb24gYWxsVVJMc0xvYWRlZCgpCit7CisgICAgY29uc29sZS5sb2coIkRvbmUuIik7Cit9CisK
K2Z1bmN0aW9uIHRlc3QoKQoreworICAgIEluc3BlY3RvclRlc3QuYWRkQ29uc29sZVNuaWZmZXIo
c3RlcDEpOworICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoIm9uU25pZmZlckluc3Rh
bGxlZCgpIik7CisKKyAgICBmdW5jdGlvbiBkdW1wUmVxdWVzdChyZXF1ZXN0LCBjYWxsYmFjaykK
KyAgICB7CisgICAgICAgIGlmICghcmVxdWVzdCkKKyAgICAgICAgICAgIHJldHVybiBjYWxsYmFj
aygpOworICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdChyZXF1ZXN0LnVybCk7CisKKyAg
ICAgICAgZnVuY3Rpb24gY29udGVudExvYWRlZCgpCisgICAgICAgIHsKKyAgICAgICAgICAgIElu
c3BlY3RvclRlc3QuYWRkUmVzdWx0KCJyZXNvdXJjZS5jb250ZW50IGFmdGVyIHJlcXVlc3Rpbmcg
Y29udGVudDogIiArIHJlcXVlc3QuY29udGVudCk7CisgICAgICAgICAgICBjYWxsYmFjaygpOwor
ICAgICAgICB9CisKKyAgICAgICAgcmVxdWVzdC5yZXF1ZXN0Q29udGVudChjb250ZW50TG9hZGVk
KTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBzdGVwMSgpCisgICAgeworICAgICAgICB2YXIgcmVx
dWVzdCA9IFdlYkluc3BlY3Rvci5wYW5lbCgibmV0d29yayIpLnJlcXVlc3RzW1dlYkluc3BlY3Rv
ci5wYW5lbCgibmV0d29yayIpLnJlcXVlc3RzLmxlbmd0aCAtIDRdOworICAgICAgICBkdW1wUmVx
dWVzdChyZXF1ZXN0LCBzdGVwMik7CisgICAgfQorCisgICAgZnVuY3Rpb24gc3RlcDIoKQorICAg
IHsKKyAgICAgICAgdmFyIHJlcXVlc3QgPSBXZWJJbnNwZWN0b3IucGFuZWwoIm5ldHdvcmsiKS5y
ZXF1ZXN0c1tXZWJJbnNwZWN0b3IucGFuZWwoIm5ldHdvcmsiKS5yZXF1ZXN0cy5sZW5ndGggLSAz
XTsKKyAgICAgICAgZHVtcFJlcXVlc3QocmVxdWVzdCwgc3RlcDMpOworICAgIH0KKworICAgIGZ1
bmN0aW9uIHN0ZXAzKCkKKyAgICB7CisgICAgICAgIHZhciByZXF1ZXN0ID0gV2ViSW5zcGVjdG9y
LnBhbmVsKCJuZXR3b3JrIikucmVxdWVzdHNbV2ViSW5zcGVjdG9yLnBhbmVsKCJuZXR3b3JrIiku
cmVxdWVzdHMubGVuZ3RoIC0gMl07CisgICAgICAgIGR1bXBSZXF1ZXN0KHJlcXVlc3QsIHN0ZXA0
KTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBzdGVwNCgpCisgICAgeworICAgICAgICB2YXIgcmVx
dWVzdCA9IFdlYkluc3BlY3Rvci5wYW5lbCgibmV0d29yayIpLnJlcXVlc3RzW1dlYkluc3BlY3Rv
ci5wYW5lbCgibmV0d29yayIpLnJlcXVlc3RzLmxlbmd0aCAtIDFdOworICAgICAgICBkdW1wUmVx
dWVzdChyZXF1ZXN0LCBzdGVwNSk7CisgICAgfQorCisgICAgZnVuY3Rpb24gc3RlcDUoKQorICAg
IHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKKyAgICB9Cit9Cis8L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KKyAgICA8cD5UZXN0cyBO
ZXR3b3JrUmVzb3VyY2VzRGF0YSBsb2dpYyBmb3IgZW1iZWQgY29udGVudCByZXBsYWNlbWVudC48
L3A+CisgICAgPGVtYmVkIG5hbWU9InBsZyIgdHlwZT0iYXBwbGljYXRpb24veC13ZWJraXQtdGVz
dC1uZXRzY2FwZSIgc3JjPSJyZXNvdXJjZXMvcmVzb3VyY2UucGhwP3R5cGU9aW1hZ2UiIG9uc3Ry
ZWFtbG9hZD0ic3RyZWFtTG9hZGVkKCkiPjwvZW1iZWQ+Cis8L2JvZHk+Cis8L2h0bWw+CisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdv
cmsvbmV0d29yay1jb250ZW50LXJlcGxhY2VtZW50LXhoci1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL25ldHdvcmstY29udGVu
dC1yZXBsYWNlbWVudC14aHItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjVjZGVkYjgwMzIyMWMy
OGQzZjBmYTRjNjQ5OWUwYjI5MTk5ZTI0YzkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL25ldHdvcmstY29udGVudC1y
ZXBsYWNlbWVudC14aHItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTYgQEAKK0NPTlNPTEUgTUVT
U0FHRTogbGluZSAxMzogRG9uZS4KK0NPTlNPTEUgTUVTU0FHRTogbGluZSA2OiBYSFIgbG9hZGVk
OiAxCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgNjogWEhSIGxvYWRlZDogMgorQ09OU09MRSBNRVNT
QUdFOiBsaW5lIDY6IFhIUiBsb2FkZWQ6IDMKK0NPTlNPTEUgTUVTU0FHRTogbGluZSA2OiBYSFIg
bG9hZGVkOiA0CitUZXN0cyBOZXR3b3JrUmVzb3VyY2VzRGF0YSBsb2dpYyBmb3IgWEhSIGNvbnRl
bnQgcmVwbGFjZW1lbnQuCisKK2h0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvbmV0d29y
ay9yZXNvdXJjZXMvcmVzb3VyY2UucGhwP3NpemU9MjAwCityZXNvdXJjZS5jb250ZW50OiBudWxs
CitodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL25ldHdvcmsvcmVzb3VyY2VzL3Jlc291
cmNlLnBocD9zaXplPTEwMAorcmVzb3VyY2UuY29udGVudDogKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKgoraHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9u
ZXR3b3JrL3Jlc291cmNlcy9yZXNvdXJjZS5waHA/c2l6ZT0yMDEKK3Jlc291cmNlLmNvbnRlbnQ6
IG51bGwKK2h0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvbmV0d29yay9yZXNvdXJjZXMv
cmVzb3VyY2UucGhwP3NpemU9MTAwCityZXNvdXJjZS5jb250ZW50OiAqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lu
c3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvbmV0d29yay1jb250ZW50LXJlcGxh
Y2VtZW50LXhoci5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVz
dHMvbmV0d29yay9uZXR3b3JrLWNvbnRlbnQtcmVwbGFjZW1lbnQteGhyLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uOWI4NjVmMWFlMmY4YTgyNGUzZTA3YzIyODQwYzA5ZWJlMjdlZTIxOAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsv
bmV0d29yay1jb250ZW50LXJlcGxhY2VtZW50LXhoci5odG1sCkBAIC0wLDAgKzEsOTUgQEAKKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uL25ldHdvcmstdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0Pgor
ZnVuY3Rpb24gc2V0SW5zcGVjdG9yUmVzb3VyY2VzRGF0YVNpemVMaW1pdHMoKQoreworICAgIGlm
ICghd2luZG93LmludGVybmFscykgeworICAgICAgICBjb25zb2xlLmxvZygiVGhpcyB0ZXN0IGNh
biBub3QgYmUgcnVuIGFzIHdpbmRvdy5pbnRlcm5hbHMgaXMgbm90IGF2YWlsYWJsZS4iKTsKKyAg
ICAgICAgcmV0dXJuOworICAgIH0KKyAgICBpbnRlcm5hbHMuc2V0SW5zcGVjdG9yUmVzb3VyY2Vz
RGF0YVNpemVMaW1pdHMoMzAwLCAyMDApOworICAgIGNvbnNvbGUubG9nKCJEb25lLiIpOworfQor
CitmdW5jdGlvbiB0ZXN0KCkKK3sKKyAgICBJbnNwZWN0b3JUZXN0LmFkZENvbnNvbGVTbmlmZmVy
KGRhdGFTaXplTGltaXRzU2V0KTsKKyAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJz
ZXRJbnNwZWN0b3JSZXNvdXJjZXNEYXRhU2l6ZUxpbWl0cygpIik7CisKKyAgICBmdW5jdGlvbiBk
YXRhU2l6ZUxpbWl0c1NldCgpCisgICAgeworICAgICAgICAvLyBIZXJlIHdlIHRlc3QgcmVwbGFj
ZW1lbnQgbG9naWMuIFdlIHNhdmUgZmlyc3QgdHdvIHJlc291cmNlcyBjb250ZW50LAorICAgICAg
ICAvLyBkaXNjYXJkIHRoaXJkIHJlc291cmNlIGNvbnRlbnQgb25jZSB3ZSBzZWUgaXRzIHNpemUg
ZXhjZWVkcyBsaW1pdCwKKyAgICAgICAgLy8gYW5kIGZpbmFsbHkgcmVwbGFjZSBmaXJzdCByZXNv
dXJjZSBjb250ZW50IHdpdGggdGhlIGxhc3QgcmVzb3VyY2UgY29udGVudC4KKworICAgICAgICBJ
bnNwZWN0b3JUZXN0Lm1ha2VTaW1wbGVYSFIoIkdFVCIsICJyZXNvdXJjZXMvcmVzb3VyY2UucGhw
P3NpemU9MjAwIiwgZmFsc2UsIHhockxvYWRlZDEpOworICAgIH0KKworICAgIGZ1bmN0aW9uIHho
ckxvYWRlZDEoKQorICAgIHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5tYWtlU2ltcGxlWEhSKCJH
RVQiLCAicmVzb3VyY2VzL3Jlc291cmNlLnBocD9zaXplPTEwMCIsIGZhbHNlLCB4aHJMb2FkZWQy
KTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiB4aHJMb2FkZWQyKCkKKyAgICB7CisgICAgICAgIElu
c3BlY3RvclRlc3QubWFrZVNpbXBsZVhIUigiR0VUIiwgInJlc291cmNlcy9yZXNvdXJjZS5waHA/
c2l6ZT0yMDEiLCBmYWxzZSwgeGhyTG9hZGVkMyk7CisgICAgfQorCisgICAgZnVuY3Rpb24geGhy
TG9hZGVkMygpCisgICAgeworICAgICAgICBJbnNwZWN0b3JUZXN0Lm1ha2VTaW1wbGVYSFIoIkdF
VCIsICJyZXNvdXJjZXMvcmVzb3VyY2UucGhwP3NpemU9MTAwIiwgZmFsc2UsIHN0ZXAxKTsKKyAg
ICB9CisKKyAgICBmdW5jdGlvbiBkdW1wUmVxdWVzdChyZXF1ZXN0LCBjYWxsYmFjaykKKyAgICB7
CisgICAgICAgIGlmICghcmVxdWVzdCkKKyAgICAgICAgICAgIHJldHVybiBjYWxsYmFjaygpOwor
ICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdChyZXF1ZXN0LnVybCk7CisKKyAgICAgICAg
ZnVuY3Rpb24gY29udGVudExvYWRlZCgpCisgICAgICAgIHsKKyAgICAgICAgICAgIEluc3BlY3Rv
clRlc3QuYWRkUmVzdWx0KCJyZXNvdXJjZS5jb250ZW50OiAiICsgcmVxdWVzdC5jb250ZW50KTsK
KyAgICAgICAgICAgIGNhbGxiYWNrKCk7CisgICAgICAgIH0KKworICAgICAgICByZXF1ZXN0LnJl
cXVlc3RDb250ZW50KGNvbnRlbnRMb2FkZWQpOworICAgIH0KKworICAgIGZ1bmN0aW9uIHN0ZXAx
KCkKKyAgICB7CisgICAgICAgIHZhciByZXF1ZXN0ID0gV2ViSW5zcGVjdG9yLnBhbmVsKCJuZXR3
b3JrIikucmVxdWVzdHNbV2ViSW5zcGVjdG9yLnBhbmVsKCJuZXR3b3JrIikucmVxdWVzdHMubGVu
Z3RoIC0gNF07CisgICAgICAgIGR1bXBSZXF1ZXN0KHJlcXVlc3QsIHN0ZXAyKTsKKyAgICB9CisK
KyAgICBmdW5jdGlvbiBzdGVwMigpCisgICAgeworICAgICAgICB2YXIgcmVxdWVzdCA9IFdlYklu
c3BlY3Rvci5wYW5lbCgibmV0d29yayIpLnJlcXVlc3RzW1dlYkluc3BlY3Rvci5wYW5lbCgibmV0
d29yayIpLnJlcXVlc3RzLmxlbmd0aCAtIDNdOworICAgICAgICBkdW1wUmVxdWVzdChyZXF1ZXN0
LCBzdGVwMyk7CisgICAgfQorCisgICAgZnVuY3Rpb24gc3RlcDMoKQorICAgIHsKKyAgICAgICAg
dmFyIHJlcXVlc3QgPSBXZWJJbnNwZWN0b3IucGFuZWwoIm5ldHdvcmsiKS5yZXF1ZXN0c1tXZWJJ
bnNwZWN0b3IucGFuZWwoIm5ldHdvcmsiKS5yZXF1ZXN0cy5sZW5ndGggLSAyXTsKKyAgICAgICAg
ZHVtcFJlcXVlc3QocmVxdWVzdCwgc3RlcDQpOworICAgIH0KKworICAgIGZ1bmN0aW9uIHN0ZXA0
KCkKKyAgICB7CisgICAgICAgIHZhciByZXF1ZXN0ID0gV2ViSW5zcGVjdG9yLnBhbmVsKCJuZXR3
b3JrIikucmVxdWVzdHNbV2ViSW5zcGVjdG9yLnBhbmVsKCJuZXR3b3JrIikucmVxdWVzdHMubGVu
Z3RoIC0gMV07CisgICAgICAgIGR1bXBSZXF1ZXN0KHJlcXVlc3QsIHN0ZXA1KTsKKyAgICB9CisK
KyAgICBmdW5jdGlvbiBzdGVwNSgpCisgICAgeworICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBs
ZXRlVGVzdCgpOworICAgIH0KK30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJy
dW5UZXN0KCkiPgorICAgIDxwPiBUZXN0cyBOZXR3b3JrUmVzb3VyY2VzRGF0YSBsb2dpYyBmb3Ig
WEhSIGNvbnRlbnQgcmVwbGFjZW1lbnQuPC9wPgorPC9ib2R5PgorPC9odG1sPgorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL25l
dHdvcmstY3lyaWxsaWMteGhyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1v
YnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvbmV0d29yay1jeXJpbGxpYy14aHItZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY1MjA3N2Q1Yjc2ZjFkNjgxYTM0ODY3ZWE2ZDM4ODEyMThkNTQ0NmIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10
ZXN0cy9uZXR3b3JrL25ldHdvcmstY3lyaWxsaWMteGhyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDE0IEBACitDT05TT0xFIE1FU1NBR0U6IGxpbmUgNjogWEhSIGxvYWRlZDogMQorQ09OU09MRSBN
RVNTQUdFOiBsaW5lIDY6IFhIUiBsb2FkZWQ6IDIKK1Rlc3RzIGN5cmlsbGljIHhociBjb250ZW50
IGlzIGNvcnJlY3RseSBsb2FkZWQgaW4gaW5zcGVjdG9yLgorCitCdWcgNzkwMjYKK2h0dHA6Ly8x
MjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvbmV0d29yay9yZXNvdXJjZXMvY3lyaWxsaWMuaHRtbAor
cmVzb3VyY2UuY29udGVudDogVGhlIGZvbGxvd2luZyBsaW5lIGNvbnRhaW5zIGEgd29yZCAic3Vj
Y2VzcyIgd3JpdHRlbiB3aXRoIGN5cmlsbGljIGxldHRlcnMuCitTVdCh0KHQlVNTCisKK2h0dHA6
Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvbmV0d29yay9yZXNvdXJjZXMvY3lyaWxsaWMuaHRt
bAorcmVzb3VyY2UuY29udGVudDogVGhlIGZvbGxvd2luZyBsaW5lIGNvbnRhaW5zIGEgd29yZCAi
c3VjY2VzcyIgd3JpdHRlbiB3aXRoIGN5cmlsbGljIGxldHRlcnMuCitTVdCh0KHQlVNTCisKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0
d29yay9uZXR3b3JrLWN5cmlsbGljLXhoci5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9i
c29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9uZXR3b3JrLWN5cmlsbGljLXhoci5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjk5Njc0NjQ4ODg4ZDBkMTNjMzdlOTIyYTRkOWRkYmNmYWNlYjdjMWIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3
b3JrL25ldHdvcmstY3lyaWxsaWMteGhyLmh0bWwKQEAgLTAsMCArMSw2MSBAQAorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vbmV0d29yay10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CitmdW5jdGlv
biB0ZXN0KCkKK3sKKyAgICAvLyBTaW5jZSB0aGlzIHRlc3QgY291bGQgYmUgcnVuIHRvZ2V0aGVy
IHdpdGggb3RoZXIgaW5zcGVjdG9yIGJhY2tlbmQgY2FjaGUKKyAgICAvLyB0ZXN0cywgd2UgbmVl
ZCB0byByZXNldCBzaXplIGxpbWl0cyB0byBkZWZhdWx0IG9uZXMuCisgICAgSW5zcGVjdG9yVGVz
dC5yZXNldEluc3BlY3RvclJlc291cmNlc0RhdGEoc3RlcDEpOworCisgICAgZnVuY3Rpb24gZHVt
cFJlcXVlc3QocmVxdWVzdCwgY2FsbGJhY2spCisgICAgeworICAgICAgICBpZiAoIXJlcXVlc3Qp
CisgICAgICAgICAgICByZXR1cm4gY2FsbGJhY2soKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5h
ZGRSZXN1bHQocmVxdWVzdC51cmwpOworCisgICAgICAgIGZ1bmN0aW9uIGNvbnRlbnRMb2FkZWQo
KQorICAgICAgICB7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgicmVzb3Vy
Y2UuY29udGVudDogIiArIHJlcXVlc3QuY29udGVudCk7CisgICAgICAgICAgICBjYWxsYmFjaygp
OworICAgICAgICB9CisKKyAgICAgICAgcmVxdWVzdC5yZXF1ZXN0Q29udGVudChjb250ZW50TG9h
ZGVkKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBzdGVwMSgpCisgICAgeworICAgICAgICBJbnNw
ZWN0b3JUZXN0Lm1ha2VTaW1wbGVYSFIoIkdFVCIsICJyZXNvdXJjZXMvY3lyaWxsaWMuaHRtbCIs
IGZhbHNlLCBmaXJzdFhIUkxvYWRlZCk7CisKKyAgICAgICAgZnVuY3Rpb24gZmlyc3RYSFJMb2Fk
ZWQoKQorICAgICAgICB7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0Lm1ha2VTaW1wbGVYSFIo
IkdFVCIsICJyZXNvdXJjZXMvY3lyaWxsaWMuaHRtbCIsIHRydWUsIHN0ZXAyKTsKKyAgICAgICAg
fQorICAgIH0KKworICAgIGZ1bmN0aW9uIHN0ZXAyKCkKKyAgICB7CisgICAgICAgIHZhciByZXF1
ZXN0ID0gV2ViSW5zcGVjdG9yLnBhbmVsKCJuZXR3b3JrIikucmVxdWVzdHNbV2ViSW5zcGVjdG9y
LnBhbmVsKCJuZXR3b3JrIikucmVxdWVzdHMubGVuZ3RoIC0gMl07CisgICAgICAgIGR1bXBSZXF1
ZXN0KHJlcXVlc3QsIHN0ZXAzKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBzdGVwMygpCisgICAg
eworICAgICAgICB2YXIgcmVxdWVzdCA9IFdlYkluc3BlY3Rvci5wYW5lbCgibmV0d29yayIpLnJl
cXVlc3RzW1dlYkluc3BlY3Rvci5wYW5lbCgibmV0d29yayIpLnJlcXVlc3RzLmxlbmd0aCAtIDFd
OworICAgICAgICBkdW1wUmVxdWVzdChyZXF1ZXN0LCBzdGVwNCk7CisgICAgfQorCisgICAgZnVu
Y3Rpb24gc3RlcDQoKQorICAgIHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3Qo
KTsKKyAgICB9Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0icnVuVGVzdCgp
Ij4KKzxwPiBUZXN0cyBjeXJpbGxpYyB4aHIgY29udGVudCBpcyBjb3JyZWN0bHkgbG9hZGVkIGlu
IGluc3BlY3Rvci48L3A+Cis8YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NzkwMjYiPkJ1ZyA3OTAyNjwvYT4KKzwvYm9keT4KKzwvaHRtbD4KKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9u
ZXR3b3JrLWRpc2FibGUtY2FjaGUtbWVtb3J5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2lu
c3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvbmV0d29yay1kaXNhYmxlLWNhY2hl
LW1lbW9yeS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjNkNmNiM2ZiMWUxYmM3Yzg5ODA0MDBj
N2I0MzUwOGY2ZWQ5NWMyMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rv
ci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvbmV0d29yay1kaXNhYmxlLWNhY2hlLW1lbW9y
eS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw4IEBACitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTog
RG9uZS4KK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxOiBEb25lLgorQ09OU09MRSBNRVNTQUdFOiBs
aW5lIDE6IERvbmUuCitUZXN0cyBkaXNhYmxpbmcgY2FjaGUgZnJvbSBpbnNwZWN0b3IuCisKK1Bh
Z2UgcmVsb2FkZWQuCitQYWdlIHJlbG9hZGVkLgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL25ldHdvcmstZGlzYWJsZS1jYWNo
ZS1tZW1vcnkuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3Rz
L25ldHdvcmsvbmV0d29yay1kaXNhYmxlLWNhY2hlLW1lbW9yeS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNl
ZDdkOGI5NDI5NTZjZDkzMGQ4MDg4ZjFiOGM2YTVmOTY5ZDZkZmIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL25ldHdv
cmstZGlzYWJsZS1jYWNoZS1tZW1vcnkuaHRtbApAQCAtMCwwICsxLDkyIEBACis8aHRtbD4KKzxo
ZWFkPgorPHNjcmlwdCBzcmM9Ii4uL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi9uZXR3b3JrLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2Z1bmN0aW9u
IHNjaGVkdWxlU2NyaXB0TG9hZCgpIHsKKyAgICB3aW5kb3cuc2V0VGltZW91dChsb2FkU2NyaXB0
LCAwKTsKK30KKworZnVuY3Rpb24gbG9hZFNjcmlwdCgpIHsKKyAgICB2YXIgc2NyaXB0ID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7CisgICAgc2NyaXB0LnR5cGUgPSAidGV4dC9q
YXZhc2NyaXB0IjsKKyAgICBzY3JpcHQuc3JjID0gInJlc291cmNlcy9yYW5kb20tc2NyaXB0LnBo
cCI7CisgICAgZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChzY3JpcHQpOworfQorCitmdW5jdGlv
biB0ZXN0KCkKK3sKKyAgICB2YXIgY29udGVudDE7CisgICAgdmFyIGNvbnRlbnQyOworICAgIHZh
ciBjb250ZW50MzsKKworICAgIGZ1bmN0aW9uIGxvYWRTY3JpcHRBbmRHZXRDb250ZW50KGNhbGxi
YWNrKQorICAgIHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRDb25zb2xlU25pZmZlcihzY3Jp
cHRMb2FkZWQpOworICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJzY2hlZHVs
ZVNjcmlwdExvYWQoKSIpOworCisgICAgICAgIGZ1bmN0aW9uIHNjcmlwdExvYWRlZCgpCisgICAg
ICAgIHsKKyAgICAgICAgICAgIHZhciByZXF1ZXN0c0NvdW50ID0gV2ViSW5zcGVjdG9yLnBhbmVs
KCJuZXR3b3JrIikucmVxdWVzdHMubGVuZ3RoOworICAgICAgICAgICAgdmFyIHJlcXVlc3QgPSBX
ZWJJbnNwZWN0b3IucGFuZWwoIm5ldHdvcmsiKS5yZXF1ZXN0c1tyZXF1ZXN0c0NvdW50IC0gMV07
CisgICAgICAgICAgICByZXF1ZXN0LnJlcXVlc3RDb250ZW50KGNvbnRlbnRMb2FkZWQpOworICAg
ICAgICB9CisKKyAgICAgICAgZnVuY3Rpb24gY29udGVudExvYWRlZCgpCisgICAgICAgIHsKKyAg
ICAgICAgICAgIHZhciByZXF1ZXN0c0NvdW50ID0gV2ViSW5zcGVjdG9yLnBhbmVsKCJuZXR3b3Jr
IikucmVxdWVzdHMubGVuZ3RoOworICAgICAgICAgICAgdmFyIHJlcXVlc3QgPSBXZWJJbnNwZWN0
b3IucGFuZWwoIm5ldHdvcmsiKS5yZXF1ZXN0c1tyZXF1ZXN0c0NvdW50IC0gMV07CisgICAgICAg
ICAgICBjYWxsYmFjayhyZXF1ZXN0LmNvbnRlbnQpOworICAgICAgICB9CisgICAgfQorCisgICAg
bG9hZFNjcmlwdEFuZEdldENvbnRlbnQoc3RlcDEpOworCisgICAgZnVuY3Rpb24gc3RlcDEoY29u
dGVudCkKKyAgICB7CisgICAgICAgIGNvbnRlbnQxID0gY29udGVudDsKKyAgICAgICAgSW5zcGVj
dG9yVGVzdC5yZWxvYWRQYWdlKHN0ZXAyKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBzdGVwMiht
c2cpCisgICAgeworICAgICAgICBsb2FkU2NyaXB0QW5kR2V0Q29udGVudChzdGVwMyk7CisgICAg
fQorCisgICAgZnVuY3Rpb24gc3RlcDMoY29udGVudCkKKyAgICB7CisgICAgICAgIGNvbnRlbnQy
ID0gY29udGVudDsKKyAgICAgICAgTmV0d29ya0FnZW50LnNldENhY2hlRGlzYWJsZWQodHJ1ZSwg
c3RlcDQpOworICAgIH0KKworICAgIGZ1bmN0aW9uIHN0ZXA0KG1zZykKKyAgICB7CisgICAgICAg
IEluc3BlY3RvclRlc3QucmVsb2FkUGFnZShzdGVwNSk7CisgICAgfQorCisgICAgZnVuY3Rpb24g
c3RlcDUobXNnKQorICAgIHsKKyAgICAgICAgbG9hZFNjcmlwdEFuZEdldENvbnRlbnQoc3RlcDYp
OworICAgIH0KKworICAgIGZ1bmN0aW9uIHN0ZXA2KGNvbnRlbnQpCisgICAgeworICAgICAgICBj
b250ZW50MyA9IGNvbnRlbnQ7CisKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRUcnVlKGNv
bnRlbnQxID09PSBjb250ZW50MiwgIkZpcnN0IGFuZCBzZWNvbmQgc2NyaXB0cyBzaG91bGQgYmUg
ZXF1YWwuIik7CisgICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0VHJ1ZShjb250ZW50MiAhPT0g
Y29udGVudDMsICJTZWNvbmQgYW5kIHRoaXJkIHNjcmlwdHMgc2hvdWxkIGRpZmZlci4iKTsKKyAg
ICAgICAgTmV0d29ya0FnZW50LnNldENhY2hlRGlzYWJsZWQoZmFsc2UsIHN0ZXA3KTsKKyAgICB9
CisKKyAgICBmdW5jdGlvbiBzdGVwNyhtc2cpCisgICAgeworICAgICAgICBJbnNwZWN0b3JUZXN0
LmNvbXBsZXRlVGVzdCgpOworICAgIH0KK30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25s
b2FkPSJydW5UZXN0KCkiPgorICAgIDxwPlRlc3RzIGRpc2FibGluZyBjYWNoZSBmcm9tIGluc3Bl
Y3Rvci48L3A+Cis8L2JvZHk+Cis8L2h0bWw+CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lu
c3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvbmV0d29yay1kaXNhYmxlLWNhY2hl
LXhocnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAt
dGVzdHMvbmV0d29yay9uZXR3b3JrLWRpc2FibGUtY2FjaGUteGhycy1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMjk3NWVlMTljOGRmNTUwMzE0MjRlNDMzODVkYTQ2NWJjYjkwNDBjMgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25l
dHdvcmsvbmV0d29yay1kaXNhYmxlLWNhY2hlLXhocnMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
OSBAQAorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDY6IFhIUiBsb2FkZWQ6IDEKK0NPTlNPTEUgTUVT
U0FHRTogbGluZSA2OiBYSFIgbG9hZGVkOiAyCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgNjogWEhS
IGxvYWRlZDogMworVGVzdHMgZGlzYWJsaW5nIGNhY2hlIGZyb20gaW5zcGVjdG9yLgorCitodHRw
Oi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL25ldHdvcmsvcmVzb3VyY2VzL3Jlc291cmNlLnBo
cD9yYW5kb209MSZjYWNoZWQ9MQoraHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9uZXR3
b3JrL3Jlc291cmNlcy9yZXNvdXJjZS5waHA/cmFuZG9tPTEmY2FjaGVkPTEKK2h0dHA6Ly8xMjcu
MC4wLjE6ODAwMC9pbnNwZWN0b3IvbmV0d29yay9yZXNvdXJjZXMvcmVzb3VyY2UucGhwP3JhbmRv
bT0xJmNhY2hlZD0xCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0
ZS9odHRwLXRlc3RzL25ldHdvcmsvbmV0d29yay1kaXNhYmxlLWNhY2hlLXhocnMuaHRtbCBiL0xh
eW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvbmV0d29yay1k
aXNhYmxlLWNhY2hlLXhocnMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jNzEyYWNlNjdlZWI1NDIyNjljOWNh
OTliMjRkYWY5YTc3MGMwN2E0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9uZXR3b3JrLWRpc2FibGUtY2FjaGUteGhy
cy5odG1sCkBAIC0wLDAgKzEsNzUgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
aW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL25ldHdvcmstdGVz
dC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorZnVuY3Rpb24gdGVzdCgpCit7CisgICAgLy8gU2lu
Y2UgdGhpcyB0ZXN0IGNvdWxkIGJlIHJ1biB0b2dldGhlciB3aXRoIG90aGVyIGluc3BlY3RvciBi
YWNrZW5kIGNhY2hlCisgICAgLy8gdGVzdHMsIHdlIG5lZWQgdG8gcmVzZXQgc2l6ZSBsaW1pdHMg
dG8gZGVmYXVsdCBvbmVzLgorICAgIEluc3BlY3RvclRlc3QucmVzZXRJbnNwZWN0b3JSZXNvdXJj
ZXNEYXRhKHN0ZXAxKTsKKworICAgIGZ1bmN0aW9uIHN0ZXAxKCkKKyAgICB7CisgICAgICAgIElu
c3BlY3RvclRlc3QubWFrZVNpbXBsZVhIUigiR0VUIiwgInJlc291cmNlcy9yZXNvdXJjZS5waHA/
cmFuZG9tPTEmY2FjaGVkPTEiLCB0cnVlLCBmaXJzdFhIUkxvYWRlZCk7CisKKyAgICAgICAgZnVu
Y3Rpb24gZmlyc3RYSFJMb2FkZWQoKQorICAgICAgICB7CisgICAgICAgICAgICBJbnNwZWN0b3JU
ZXN0Lm1ha2VTaW1wbGVYSFIoIkdFVCIsICJyZXNvdXJjZXMvcmVzb3VyY2UucGhwP3JhbmRvbT0x
JmNhY2hlZD0xIiwgdHJ1ZSwgc3RlcDIpOworICAgICAgICB9CisgICAgfQorCisgICAgZnVuY3Rp
b24gc3RlcDIobXNnKQorICAgIHsKKyAgICAgICAgTmV0d29ya0FnZW50LnNldENhY2hlRGlzYWJs
ZWQodHJ1ZSwgc3RlcDMpOworICAgIH0KKworICAgIGZ1bmN0aW9uIHN0ZXAzKG1zZykKKyAgICB7
CisgICAgICAgIEluc3BlY3RvclRlc3QubWFrZVNpbXBsZVhIUigiR0VUIiwgInJlc291cmNlcy9y
ZXNvdXJjZS5waHA/cmFuZG9tPTEmY2FjaGVkPTEiLCB0cnVlLCBzdGVwNCk7CisgICAgfQorCisg
ICAgZnVuY3Rpb24gc3RlcDQobXNnKQorICAgIHsKKyAgICAgICAgLy8gaW5zcGVjdG9yLXRlc3Qu
anMgYXBwZWFycyBpbiBuZXR3b3JrIHBhbmVsIG9jY2FzaW9uYWxseSBpbiBTYWZhcmkgb24KKyAg
ICAgICAgLy8gTWFjLCBzbyBjaGVja2luZyB0d28gbGFzdCByZXNvdXJjZXMuCisgICAgICAgIHZh
ciByZXF1ZXN0c0NvdW50ID0gV2ViSW5zcGVjdG9yLnBhbmVsKCJuZXR3b3JrIikucmVxdWVzdHMu
bGVuZ3RoOworICAgICAgICB2YXIgcmVxdWVzdDEgPSBXZWJJbnNwZWN0b3IucGFuZWwoIm5ldHdv
cmsiKS5yZXF1ZXN0c1tyZXF1ZXN0c0NvdW50IC0gM107CisgICAgICAgIHZhciByZXF1ZXN0MiA9
IFdlYkluc3BlY3Rvci5wYW5lbCgibmV0d29yayIpLnJlcXVlc3RzW3JlcXVlc3RzQ291bnQgLSAy
XTsKKyAgICAgICAgdmFyIHJlcXVlc3QzID0gV2ViSW5zcGVjdG9yLnBhbmVsKCJuZXR3b3JrIiku
cmVxdWVzdHNbcmVxdWVzdHNDb3VudCAtIDFdOworICAgICAgICByZXF1ZXN0MS5yZXF1ZXN0Q29u
dGVudChjb250ZW50TG9hZGVkKTsKKyAgICAgICAgcmVxdWVzdDIucmVxdWVzdENvbnRlbnQoY29u
dGVudExvYWRlZCk7CisgICAgICAgIHJlcXVlc3QzLnJlcXVlc3RDb250ZW50KGNvbnRlbnRMb2Fk
ZWQpOworICAgIH0KKworICAgIHZhciBjb250ZW50TG9hZGVkQ291bnQgPSAwOworICAgIGZ1bmN0
aW9uIGNvbnRlbnRMb2FkZWQoKQorICAgIHsKKyAgICAgICAgaWYgKCsrY29udGVudExvYWRlZENv
dW50ICE9PSAzKQorICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIHZhciByZXF1ZXN0c0Nv
dW50ID0gV2ViSW5zcGVjdG9yLnBhbmVsKCJuZXR3b3JrIikucmVxdWVzdHMubGVuZ3RoOworICAg
ICAgICB2YXIgcmVxdWVzdDEgPSBXZWJJbnNwZWN0b3IucGFuZWwoIm5ldHdvcmsiKS5yZXF1ZXN0
c1tyZXF1ZXN0c0NvdW50IC0gM107CisgICAgICAgIHZhciByZXF1ZXN0MiA9IFdlYkluc3BlY3Rv
ci5wYW5lbCgibmV0d29yayIpLnJlcXVlc3RzW3JlcXVlc3RzQ291bnQgLSAyXTsKKyAgICAgICAg
dmFyIHJlcXVlc3QzID0gV2ViSW5zcGVjdG9yLnBhbmVsKCJuZXR3b3JrIikucmVxdWVzdHNbcmVx
dWVzdHNDb3VudCAtIDFdOworCisgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KHJlcXVl
c3QxLnVybCk7CisgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KHJlcXVlc3QyLnVybCk7
CisgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KHJlcXVlc3QzLnVybCk7CisgICAgICAg
IEluc3BlY3RvclRlc3QuYXNzZXJ0VHJ1ZShyZXF1ZXN0MS5jb250ZW50ID09PSByZXF1ZXN0Mi5j
b250ZW50LCAiRmlyc3QgYW5kIHNlY29uZCByZXNvdXJjZXMgYXJlIGVxdWFsIik7CisgICAgICAg
IEluc3BlY3RvclRlc3QuYXNzZXJ0VHJ1ZShyZXF1ZXN0Mi5jb250ZW50ICE9PSByZXF1ZXN0My5j
b250ZW50LCAiU2Vjb25kIGFuZCB0aGlyZCByZXNvdXJjZXMgZGlmZmVyIik7CisgICAgICAgIE5l
dHdvcmtBZ2VudC5zZXRDYWNoZURpc2FibGVkKGZhbHNlLCBzdGVwNSk7CisgICAgfQorCisgICAg
ZnVuY3Rpb24gc3RlcDUobXNnKQorICAgIHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0
ZVRlc3QoKTsKKyAgICB9Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0icnVu
VGVzdCgpIj4KKyAgICA8cD5UZXN0cyBkaXNhYmxpbmcgY2FjaGUgZnJvbSBpbnNwZWN0b3IuPC9w
PgorPC9ib2R5PgorPC9odG1sPgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3It
b2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL25ldHdvcmstZGlzYWJsaW5nLWNoZWNrLW5vLW1l
bW9yeS1sZWFrLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9o
dHRwLXRlc3RzL25ldHdvcmsvbmV0d29yay1kaXNhYmxpbmctY2hlY2stbm8tbWVtb3J5LWxlYWst
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE4ZWM2NDY0NjcxMDE3MjdmNWJlNzYwZWE4NjVkOWJk
OWRjNjU2NTIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xl
dGUvaHR0cC10ZXN0cy9uZXR3b3JrL25ldHdvcmstZGlzYWJsaW5nLWNoZWNrLW5vLW1lbW9yeS1s
ZWFrLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK0NPTlNPTEUgTUVTU0FHRTogbGluZSA2
OiBYSFIgbG9hZGVkOiAxCitUZXN0cyB0aGF0IGFmdGVyIGRpc2FibGluZyBuZXR3b3JrIGRvbWFp
biwgY29udGVudCBzYXZlZCBvbiBiYWNrZW5kIGlzIHJlbW92ZWQuIEJ1ZyA2Nzk5NQorCityZXNv
dXJjZS5jb250ZW50IGFmdGVyIGRpc2FibGluZyBuZXR3b3JrIGRvbWFpbjogbnVsbAorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3Jr
L25ldHdvcmstZGlzYWJsaW5nLWNoZWNrLW5vLW1lbW9yeS1sZWFrLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL25ldHdvcmstZGlzYWJsaW5n
LWNoZWNrLW5vLW1lbW9yeS1sZWFrLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTIwNjBiODA1OGJjZTBjYWZk
NWVlMjBkZDRjYjc1ZjdjZTljNzY3ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lu
c3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvbmV0d29yay1kaXNhYmxpbmctY2hl
Y2stbm8tbWVtb3J5LWxlYWsuaHRtbApAQCAtMCwwICsxLDQ4IEBACis8aHRtbD4KKzxoZWFkPgor
PHNjcmlwdCBzcmM9Ii4uL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi9uZXR3b3JrLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2Z1bmN0aW9uIHRlc3Qo
KQoreworICAgIC8vIFNpbmNlIHRoaXMgdGVzdCBjb3VsZCBiZSBydW4gdG9nZXRoZXIgd2l0aCBv
dGhlciBpbnNwZWN0b3IgYmFja2VuZCBjYWNoZQorICAgIC8vIHRlc3RzLCB3ZSBuZWVkIHRvIHJl
c2V0IHNpemUgbGltaXRzIHRvIGRlZmF1bHQgb25lcy4KKyAgICBJbnNwZWN0b3JUZXN0LnJlc2V0
SW5zcGVjdG9yUmVzb3VyY2VzRGF0YShzdGVwMSk7CisKKyAgICBmdW5jdGlvbiBzdGVwMSgpCisg
ICAgeworICAgICAgICBJbnNwZWN0b3JUZXN0Lm1ha2VTaW1wbGVYSFIoIkdFVCIsICJyZXNvdXJj
ZXMvcmVzb3VyY2UucGhwIiwgdHJ1ZSwgc3RlcDIpOworICAgIH0KKworICAgIGZ1bmN0aW9uIHN0
ZXAyKCkKKyAgICB7CisgICAgICAgIE5ldHdvcmtBZ2VudC5kaXNhYmxlKHN0ZXAzKTsKKyAgICB9
CisKKyAgICBmdW5jdGlvbiBzdGVwMygpCisgICAgeworICAgICAgICB2YXIgcmVxdWVzdDEgPSBX
ZWJJbnNwZWN0b3IucGFuZWwoIm5ldHdvcmsiKS5yZXF1ZXN0c1tXZWJJbnNwZWN0b3IucGFuZWwo
Im5ldHdvcmsiKS5yZXF1ZXN0cy5sZW5ndGggLSAxXTsKKyAgICAgICAgcmVxdWVzdDEucmVxdWVz
dENvbnRlbnQoc3RlcDQpOworICAgIH0KKworICAgIGZ1bmN0aW9uIHN0ZXA0KCkKKyAgICB7Cisg
ICAgICAgIHZhciByZXF1ZXN0MSA9IFdlYkluc3BlY3Rvci5wYW5lbCgibmV0d29yayIpLnJlcXVl
c3RzW1dlYkluc3BlY3Rvci5wYW5lbCgibmV0d29yayIpLnJlcXVlc3RzLmxlbmd0aCAtIDFdOwor
ICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgicmVzb3VyY2UuY29udGVudCBhZnRlciBk
aXNhYmxpbmcgbmV0d29yayBkb21haW46ICIgKyByZXF1ZXN0MS5jb250ZW50KTsKKyAgICAgICAg
TmV0d29ya0FnZW50LmVuYWJsZShzdGVwNSk7CisgICAgfQorCisgICAgZnVuY3Rpb24gc3RlcDUo
KQorICAgIHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKKyAgICB9Cit9
Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KKyA8cD4KKyBU
ZXN0cyB0aGF0IGFmdGVyIGRpc2FibGluZyBuZXR3b3JrIGRvbWFpbiwgY29udGVudCBzYXZlZCBv
biBiYWNrZW5kIGlzIHJlbW92ZWQuCis8YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9Njc5OTUiPkJ1ZyA2Nzk5NTwvYT4KKzwvcD4KKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3Rz
L25ldHdvcmsvbmV0d29yay1lbWJlZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0
b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL25ldHdvcmstZW1iZWQtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmQzZDg1MjI0ZTBmNzc3YWJiN2UxMTBlZGQzYmIxNjBhNjc3MzY1ZDkKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0
cy9uZXR3b3JrL25ldHdvcmstZW1iZWQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNDEgQEAKK0NP
TlNPTEUgTUVTU0FHRTogbGluZSA1ODogRG9uZS4KK1Rlc3RzIHRoYXQgbmV0d29yayBwYW5lbCBz
aG93cyBjb250ZW50IGZvciBlbWJlZCBvYmplY3RzLgorCisKK2h0dHA6Ly8xMjcuMC4wLjE6ODAw
MC9pbnNwZWN0b3IvbmV0d29yay9yZXNvdXJjZXMvcmVzb3VyY2UucGhwP3R5cGU9aW1hZ2UKK3Jl
c291cmNlLnR5cGU6IG90aGVyCityZXNvdXJjZS5jb250ZW50IGJlZm9yZSByZXF1ZXN0aW5nIGNv
bnRlbnQ6IHVuZGVmaW5lZAorcmVzb3VyY2UuY29udGVudCBhZnRlciByZXF1ZXN0aW5nIGNvbnRl
bnQ6IG51bGwKK2h0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvbmV0d29yay9yZXNvdXJj
ZXMvcGx1Z2luLWRhdGEucGhwP2ZpbGVuYW1lPXV0ZjgueG1sJm1pbWV0eXBlPXRleHQvaHRtbCZj
aGFyc2V0PXV0ZjgKK3Jlc291cmNlLnR5cGU6IG90aGVyCityZXNvdXJjZS5jb250ZW50IGJlZm9y
ZSByZXF1ZXN0aW5nIGNvbnRlbnQ6IHVuZGVmaW5lZAorcmVzb3VyY2UuY29udGVudCBhZnRlciBy
ZXF1ZXN0aW5nIGNvbnRlbnQ6IDw/eG1sIHZlcnNpb249JzEuMCcgZW5jb2Rpbmc9J3V0Zi04Jz8+
Cis8cm9vdD4KKyAgPHV0Zjg+U1XQodCh0JVTUyAtIFRoZXNlICdDQ0UnIGFyZSBjeXJpbGxpYyBs
ZXR0ZXJzLjwvdXRmOD4KKzwvcm9vdD4KKworaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rv
ci9uZXR3b3JrL3Jlc291cmNlcy9wbHVnaW4tZGF0YS5waHA/ZmlsZW5hbWU9Y3AxMjUxLnhtbCZt
aW1ldHlwZT10ZXh0L2h0bWwmY2hhcnNldD1jcDEyNTEKK3Jlc291cmNlLnR5cGU6IG90aGVyCity
ZXNvdXJjZS5jb250ZW50IGJlZm9yZSByZXF1ZXN0aW5nIGNvbnRlbnQ6IHVuZGVmaW5lZAorcmVz
b3VyY2UuY29udGVudCBhZnRlciByZXF1ZXN0aW5nIGNvbnRlbnQ6IDw/eG1sIHZlcnNpb249JzEu
MCcgZW5jb2Rpbmc9J2NwMTI1MSc/PgorPHJvb3Q+CisgIDxjcDEyNTE+U1XQodCh0JVTUyAtIFRo
ZXNlICdDQ0UnIGFyZSBjeXJpbGxpYyBsZXR0ZXJzLjwvY3AxMjUxPgorPC9yb290PgorCitodHRw
Oi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL25ldHdvcmsvcmVzb3VyY2VzL3BsdWdpbi1kYXRh
LnBocD9maWxlbmFtZT11dGY4LnhtbCZtaW1ldHlwZT1hcHBsaWNhdGlvbi94bWwKK3Jlc291cmNl
LnR5cGU6IG90aGVyCityZXNvdXJjZS5jb250ZW50IGJlZm9yZSByZXF1ZXN0aW5nIGNvbnRlbnQ6
IHVuZGVmaW5lZAorcmVzb3VyY2UuY29udGVudCBhZnRlciByZXF1ZXN0aW5nIGNvbnRlbnQ6IDw/
eG1sIHZlcnNpb249JzEuMCcgZW5jb2Rpbmc9J3V0Zi04Jz8+Cis8cm9vdD4KKyAgPHV0Zjg+U1XQ
odCh0JVTUyAtIFRoZXNlICdDQ0UnIGFyZSBjeXJpbGxpYyBsZXR0ZXJzLjwvdXRmOD4KKzwvcm9v
dD4KKworaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9uZXR3b3JrL3Jlc291cmNlcy9w
bHVnaW4tZGF0YS5waHA/ZmlsZW5hbWU9Y3AxMjUxLnhtbCZtaW1ldHlwZT1hcHBsaWNhdGlvbi94
bWwKK3Jlc291cmNlLnR5cGU6IG90aGVyCityZXNvdXJjZS5jb250ZW50IGJlZm9yZSByZXF1ZXN0
aW5nIGNvbnRlbnQ6IHVuZGVmaW5lZAorcmVzb3VyY2UuY29udGVudCBhZnRlciByZXF1ZXN0aW5n
IGNvbnRlbnQ6IDw/eG1sIHZlcnNpb249JzEuMCcgZW5jb2Rpbmc9J2NwMTI1MSc/PgorPHJvb3Q+
CisgIDxjcDEyNTE+U1XQodCh0JVTUyAtIFRoZXNlICdDQ0UnIGFyZSBjeXJpbGxpYyBsZXR0ZXJz
LjwvY3AxMjUxPgorPC9yb290PgorCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rv
ci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvbmV0d29yay1lbWJlZC5odG1sIGIvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9uZXR3b3JrLWVtYmVk
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uM2UwYzUwNTM0MDdhODhkY2YxMjNhZGU5M2JlMTE2MjFhZDUxODdj
MQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRw
LXRlc3RzL25ldHdvcmsvbmV0d29yay1lbWJlZC5odG1sCkBAIC0wLDAgKzEsMTMyIEBACis8aHRt
bD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi9uZXR3b3JrLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK3Zh
ciBsb2FkZWRGaXJzdFVSTCA9IGZhbHNlOworZnVuY3Rpb24gc3RyZWFtTG9hZGVkKCkKK3sKKyAg
ICBpZiAobG9hZGVkRmlyc3RVUkwpCisgICAgICAgIHJldHVybjsKKworICAgIGxvYWRlZEZpcnN0
VVJMID0gdHJ1ZTsKKyAgICBsb2FkVVJMcygpOworfQorCit2YXIgc25pZmZlckluc3RhbGxlZCA9
IGZhbHNlOworZnVuY3Rpb24gb25TbmlmZmVySW5zdGFsbGVkKCkKK3sKKyAgICBzbmlmZmVySW5z
dGFsbGVkID0gdHJ1ZTsKKyAgICBsb2FkVVJMcygpOworfQorCitmdW5jdGlvbiBsb2FkVVJMcygp
Cit7CisgICAgaWYgKCFzbmlmZmVySW5zdGFsbGVkIHx8ICFsb2FkZWRGaXJzdFVSTCkKKyAgICAg
ICAgcmV0dXJuOworCisgICAgLy8gQmluYXJ5IGNvbnRlbnQgc2hvdWxkIG5vdCBiZSBhdmFpbGFi
bGUuCisgICAgcGxnLmdldFVSTE5vdGlmeSgicmVzb3VyY2VzL3Jlc291cmNlLnBocD90eXBlPWlt
YWdlIiwgbnVsbCwgImxvYWRVUkwyIik7Cit9CisKK2Z1bmN0aW9uIGxvYWRVUkwyKCkKK3sKKyAg
ICAvLyBUaGlzIHJlc291cmNlIGNvbnRlbnQgc2hvdWxkIGJlIGNvcnJlY3RseSBkZWNvZGVkLgor
ICAgIHBsZy5nZXRVUkxOb3RpZnkoInJlc291cmNlcy9wbHVnaW4tZGF0YS5waHA/ZmlsZW5hbWU9
dXRmOC54bWwmbWltZXR5cGU9dGV4dC9odG1sJmNoYXJzZXQ9dXRmOCIsIG51bGwsICJsb2FkVVJM
MyIpOworfQorCitmdW5jdGlvbiBsb2FkVVJMMygpCit7CisgICAgLy8gVGhpcyByZXNvdXJjZSBj
b250ZW50IHNob3VsZCBiZSBjb3JyZWN0bHkgZGVjb2RlZC4KKyAgICBwbGcuZ2V0VVJMTm90aWZ5
KCJyZXNvdXJjZXMvcGx1Z2luLWRhdGEucGhwP2ZpbGVuYW1lPWNwMTI1MS54bWwmbWltZXR5cGU9
dGV4dC9odG1sJmNoYXJzZXQ9Y3AxMjUxIiwgbnVsbCwgImxvYWRVUkw0Iik7Cit9CisKK2Z1bmN0
aW9uIGxvYWRVUkw0KCkKK3sKKyAgICAvLyBUaGlzIHJlc291cmNlIGNvbnRlbnQgc2hvdWxkIGJl
IGNvcnJlY3RseSBkZWNvZGVkLgorICAgIHBsZy5nZXRVUkxOb3RpZnkoInJlc291cmNlcy9wbHVn
aW4tZGF0YS5waHA/ZmlsZW5hbWU9dXRmOC54bWwmbWltZXR5cGU9YXBwbGljYXRpb24veG1sIiwg
bnVsbCwgImxvYWRVUkw1Iik7Cit9CisKK2Z1bmN0aW9uIGxvYWRVUkw1KCkKK3sKKyAgICAvLyBU
aGlzIHJlc291cmNlIGNvbnRlbnQgc2hvdWxkIGJlIGNvcnJlY3RseSBkZWNvZGVkLgorICAgIHBs
Zy5nZXRVUkxOb3RpZnkoInJlc291cmNlcy9wbHVnaW4tZGF0YS5waHA/ZmlsZW5hbWU9Y3AxMjUx
LnhtbCZtaW1ldHlwZT1hcHBsaWNhdGlvbi94bWwiLCBudWxsLCAiYWxsVVJMc0xvYWRlZCIpOwor
fQorCitmdW5jdGlvbiBhbGxVUkxzTG9hZGVkKCkKK3sKKyAgICBjb25zb2xlLmxvZygiRG9uZS4i
KTsKK30KKworZnVuY3Rpb24gdGVzdCgpCit7CisgICAgLy8gU2luY2UgdGhpcyB0ZXN0IGNvdWxk
IGJlIHJ1biB0b2dldGhlciB3aXRoIG90aGVyIGluc3BlY3RvciBiYWNrZW5kIGNhY2hlCisgICAg
Ly8gdGVzdHMsIHdlIG5lZWQgdG8gcmVzZXQgc2l6ZSBsaW1pdHMgdG8gZGVmYXVsdCBvbmVzLgor
ICAgIEluc3BlY3RvclRlc3QucmVzZXRJbnNwZWN0b3JSZXNvdXJjZXNEYXRhKHN0ZXAxKTsKKwor
ICAgIGZ1bmN0aW9uIHN0ZXAxKCkKKyAgICB7CisgICAgICAgIEluc3BlY3RvclRlc3QuYWRkQ29u
c29sZVNuaWZmZXIoc3RlcDIpOworICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdl
KCJvblNuaWZmZXJJbnN0YWxsZWQoKSIpOworICAgIH0KKworICAgIGZ1bmN0aW9uIGR1bXBSZXF1
ZXN0KHJlcXVlc3QsIGNhbGxiYWNrKQorICAgIHsKKyAgICAgICAgaWYgKCFyZXF1ZXN0KQorICAg
ICAgICAgICAgcmV0dXJuIGNhbGxiYWNrKCk7CisgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVz
dWx0KHJlcXVlc3QudXJsKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoInJlc291
cmNlLnR5cGU6ICIgKyByZXF1ZXN0LnR5cGUpOworICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJl
c3VsdCgicmVzb3VyY2UuY29udGVudCBiZWZvcmUgcmVxdWVzdGluZyBjb250ZW50OiAiICsgcmVx
dWVzdC5jb250ZW50KTsKKworICAgICAgICBmdW5jdGlvbiBjb250ZW50TG9hZGVkKCkKKyAgICAg
ICAgeworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoInJlc291cmNlLmNvbnRl
bnQgYWZ0ZXIgcmVxdWVzdGluZyBjb250ZW50OiAiICsgcmVxdWVzdC5jb250ZW50KTsKKyAgICAg
ICAgICAgIGNhbGxiYWNrKCk7CisgICAgICAgIH0KKworICAgICAgICByZXF1ZXN0LnJlcXVlc3RD
b250ZW50KGNvbnRlbnRMb2FkZWQpOworICAgIH0KKworICAgIGZ1bmN0aW9uIHN0ZXAyKCkKKyAg
ICB7CisgICAgICAgIHZhciByZXF1ZXN0ID0gV2ViSW5zcGVjdG9yLnBhbmVsKCJuZXR3b3JrIiku
cmVxdWVzdHNbV2ViSW5zcGVjdG9yLnBhbmVsKCJuZXR3b3JrIikucmVxdWVzdHMubGVuZ3RoIC0g
NV07CisgICAgICAgIGR1bXBSZXF1ZXN0KHJlcXVlc3QsIHN0ZXAzKTsKKyAgICB9CisKKyAgICBm
dW5jdGlvbiBzdGVwMygpCisgICAgeworICAgICAgICB2YXIgcmVxdWVzdCA9IFdlYkluc3BlY3Rv
ci5wYW5lbCgibmV0d29yayIpLnJlcXVlc3RzW1dlYkluc3BlY3Rvci5wYW5lbCgibmV0d29yayIp
LnJlcXVlc3RzLmxlbmd0aCAtIDRdOworICAgICAgICBkdW1wUmVxdWVzdChyZXF1ZXN0LCBzdGVw
NCk7CisgICAgfQorCisgICAgZnVuY3Rpb24gc3RlcDQoKQorICAgIHsKKyAgICAgICAgdmFyIHJl
cXVlc3QgPSBXZWJJbnNwZWN0b3IucGFuZWwoIm5ldHdvcmsiKS5yZXF1ZXN0c1tXZWJJbnNwZWN0
b3IucGFuZWwoIm5ldHdvcmsiKS5yZXF1ZXN0cy5sZW5ndGggLSAzXTsKKyAgICAgICAgZHVtcFJl
cXVlc3QocmVxdWVzdCwgc3RlcDUpOworICAgIH0KKworICAgIGZ1bmN0aW9uIHN0ZXA1KCkKKyAg
ICB7CisgICAgICAgIHZhciByZXF1ZXN0ID0gV2ViSW5zcGVjdG9yLnBhbmVsKCJuZXR3b3JrIiku
cmVxdWVzdHNbV2ViSW5zcGVjdG9yLnBhbmVsKCJuZXR3b3JrIikucmVxdWVzdHMubGVuZ3RoIC0g
Ml07CisgICAgICAgIGR1bXBSZXF1ZXN0KHJlcXVlc3QsIHN0ZXA2KTsKKyAgICB9CisKKyAgICBm
dW5jdGlvbiBzdGVwNigpCisgICAgeworICAgICAgICB2YXIgcmVxdWVzdCA9IFdlYkluc3BlY3Rv
ci5wYW5lbCgibmV0d29yayIpLnJlcXVlc3RzW1dlYkluc3BlY3Rvci5wYW5lbCgibmV0d29yayIp
LnJlcXVlc3RzLmxlbmd0aCAtIDFdOworICAgICAgICBkdW1wUmVxdWVzdChyZXF1ZXN0LCBzdGVw
Nyk7CisgICAgfQorCisgICAgZnVuY3Rpb24gc3RlcDcoKQorICAgIHsKKyAgICAgICAgSW5zcGVj
dG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKKyAgICB9Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KKyAgICA8cD5UZXN0cyB0aGF0IG5ldHdvcmsgcGFuZWwg
c2hvd3MgY29udGVudCBmb3IgZW1iZWQgb2JqZWN0cy48L3A+CisgICAgPGVtYmVkIG5hbWU9InBs
ZyIgdHlwZT0iYXBwbGljYXRpb24veC13ZWJraXQtdGVzdC1uZXRzY2FwZSIgc3JjPSJyZXNvdXJj
ZXMvcmVzb3VyY2UucGhwP3R5cGU9aW1hZ2UiIG9uc3RyZWFtbG9hZD0ic3RyZWFtTG9hZGVkKCki
PjwvZW1iZWQ+Cis8L2JvZHk+Cis8L2h0bWw+CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lu
c3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvbmV0d29yay1lbXB0eS14aHItZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0
d29yay9uZXR3b3JrLWVtcHR5LXhoci1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzhkNjM5MDgw
ZjFlNTM0NjEzODgxNTY5NGRhN2I3MDdmZjZhYWFhZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvbmV0d29yay1lbXB0
eS14aHItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTAgQEAKK0NPTlNPTEUgTUVTU0FHRTogbGlu
ZSA2OiBYSFIgbG9hZGVkOiAxCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgNjogWEhSIGxvYWRlZDog
MgorVGVzdHMgZW1wdHkgeGhyIGNvbnRlbnQgaXMgY29ycmVjdGx5IGxvYWRlZCBpbiBpbnNwZWN0
b3IuCisKK0J1ZyA3OTAyNgoraHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9uZXR3b3Jr
L3Jlc291cmNlcy9lbXB0eS5odG1sCityZXNvdXJjZS5jb250ZW50OiAKK2h0dHA6Ly8xMjcuMC4w
LjE6ODAwMC9pbnNwZWN0b3IvbmV0d29yay9yZXNvdXJjZXMvZW1wdHkuaHRtbAorcmVzb3VyY2Uu
Y29udGVudDogCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9o
dHRwLXRlc3RzL25ldHdvcmsvbmV0d29yay1lbXB0eS14aHIuaHRtbCBiL0xheW91dFRlc3RzL2lu
c3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvbmV0d29yay1lbXB0eS14aHIuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5kMGI1YzIyZjg4MzcyOTI5ZWFjZTBlNDNhODIwYzcxMDA0MzgyOGQ1Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVz
dHMvbmV0d29yay9uZXR3b3JrLWVtcHR5LXhoci5odG1sCkBAIC0wLDAgKzEsNjEgQEAKKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uL25ldHdvcmstdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorZnVu
Y3Rpb24gdGVzdCgpCit7CisgICAgLy8gU2luY2UgdGhpcyB0ZXN0IGNvdWxkIGJlIHJ1biB0b2dl
dGhlciB3aXRoIG90aGVyIGluc3BlY3RvciBiYWNrZW5kIGNhY2hlCisgICAgLy8gdGVzdHMsIHdl
IG5lZWQgdG8gcmVzZXQgc2l6ZSBsaW1pdHMgdG8gZGVmYXVsdCBvbmVzLgorICAgIEluc3BlY3Rv
clRlc3QucmVzZXRJbnNwZWN0b3JSZXNvdXJjZXNEYXRhKHN0ZXAxKTsKKworICAgIGZ1bmN0aW9u
IGR1bXBSZXF1ZXN0KHJlcXVlc3QsIGNhbGxiYWNrKQorICAgIHsKKyAgICAgICAgaWYgKCFyZXF1
ZXN0KQorICAgICAgICAgICAgcmV0dXJuIGNhbGxiYWNrKCk7CisgICAgICAgIEluc3BlY3RvclRl
c3QuYWRkUmVzdWx0KHJlcXVlc3QudXJsKTsKKworICAgICAgICBmdW5jdGlvbiBjb250ZW50TG9h
ZGVkKCkKKyAgICAgICAgeworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoInJl
c291cmNlLmNvbnRlbnQ6ICIgKyByZXF1ZXN0LmNvbnRlbnQpOworICAgICAgICAgICAgY2FsbGJh
Y2soKTsKKyAgICAgICAgfQorCisgICAgICAgIHJlcXVlc3QucmVxdWVzdENvbnRlbnQoY29udGVu
dExvYWRlZCk7CisgICAgfQorCisgICAgZnVuY3Rpb24gc3RlcDEoKQorICAgIHsKKyAgICAgICAg
SW5zcGVjdG9yVGVzdC5tYWtlU2ltcGxlWEhSKCJHRVQiLCAicmVzb3VyY2VzL2VtcHR5Lmh0bWwi
LCBmYWxzZSwgZmlyc3RYSFJMb2FkZWQpOworCisgICAgICAgIGZ1bmN0aW9uIGZpcnN0WEhSTG9h
ZGVkKCkKKyAgICAgICAgeworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5tYWtlU2ltcGxlWEhS
KCJHRVQiLCAicmVzb3VyY2VzL2VtcHR5Lmh0bWwiLCB0cnVlLCBzdGVwMik7CisgICAgICAgIH0K
KyAgICB9CisKKyAgICBmdW5jdGlvbiBzdGVwMigpCisgICAgeworICAgICAgICB2YXIgcmVxdWVz
dCA9IFdlYkluc3BlY3Rvci5wYW5lbCgibmV0d29yayIpLnJlcXVlc3RzW1dlYkluc3BlY3Rvci5w
YW5lbCgibmV0d29yayIpLnJlcXVlc3RzLmxlbmd0aCAtIDJdOworICAgICAgICBkdW1wUmVxdWVz
dChyZXF1ZXN0LCBzdGVwMyk7CisgICAgfQorCisgICAgZnVuY3Rpb24gc3RlcDMoKQorICAgIHsK
KyAgICAgICAgdmFyIHJlcXVlc3QgPSBXZWJJbnNwZWN0b3IucGFuZWwoIm5ldHdvcmsiKS5yZXF1
ZXN0c1tXZWJJbnNwZWN0b3IucGFuZWwoIm5ldHdvcmsiKS5yZXF1ZXN0cy5sZW5ndGggLSAxXTsK
KyAgICAgICAgZHVtcFJlcXVlc3QocmVxdWVzdCwgc3RlcDQpOworICAgIH0KKworICAgIGZ1bmN0
aW9uIHN0ZXA0KCkKKyAgICB7CisgICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7
CisgICAgfQorfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+
Cis8cD4gVGVzdHMgZW1wdHkgeGhyIGNvbnRlbnQgaXMgY29ycmVjdGx5IGxvYWRlZCBpbiBpbnNw
ZWN0b3IuPC9wPgorPGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTc5MDI2Ij5CdWcgNzkwMjY8L2E+Cis8L2JvZHk+Cis8L2h0bWw+CisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvbmV0d29y
ay1pZnJhbWUtbG9hZC1hbmQtZGVsZXRlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvbmV0d29yay1pZnJhbWUtbG9hZC1hbmQt
ZGVsZXRlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yNDU1Yzg0MzgxYjc2ZGFiOWRmOWU0ZmY4
NmRlNzM5YTMyNGZhYjg5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
LW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9uZXR3b3JrLWlmcmFtZS1sb2FkLWFuZC1kZWxl
dGUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTIgQEAKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAz
NjogRG9uZS4KK1Rlc3RzIHRoYXQgaWYgaWZyYW1lIGlzIGxvYWRlZCBhbmQgdGhlbiBkZWxldGVk
LCBpbnNwZWN0b3IgY291bGQgc3RpbGwgc2hvdyBpdHMgY29udGVudC4gTm90ZSB0aGF0IGlmIGlm
cmFtZS5zcmMgaXMgY2hhbmdlZCB0byAiamF2YXNjcmlwdDonLi4uc29tZSBodG1sLi4uJyIgYWZ0
ZXIgbG9hZGluZywgdGhlbiB3ZSBoYXZlIGRpZmZlcmVudCBjb2RlcGF0aCwgaGVuY2UgdHdvIHRl
c3RzOworCitodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL25ldHdvcmsvcmVzb3VyY2Vz
L3Jlc291cmNlLnBocAorcmVzb3VyY2UudHlwZTogZG9jdW1lbnQKK3Jlc291cmNlLmNvbnRlbnQg
YmVmb3JlIHJlcXVlc3RpbmcgY29udGVudDogdW5kZWZpbmVkCityZXNvdXJjZS5jb250ZW50IGFm
dGVyIHJlcXVlc3RpbmcgY29udGVudDogSGVsbG8gd29ybGQKK2h0dHA6Ly8xMjcuMC4wLjE6ODAw
MC9pbnNwZWN0b3IvbmV0d29yay9yZXNvdXJjZXMvcmVzb3VyY2UucGhwCityZXNvdXJjZS50eXBl
OiBkb2N1bWVudAorcmVzb3VyY2UuY29udGVudCBiZWZvcmUgcmVxdWVzdGluZyBjb250ZW50OiB1
bmRlZmluZWQKK3Jlc291cmNlLmNvbnRlbnQgYWZ0ZXIgcmVxdWVzdGluZyBjb250ZW50OiBIZWxs
byB3b3JsZAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0
cC10ZXN0cy9uZXR3b3JrL25ldHdvcmstaWZyYW1lLWxvYWQtYW5kLWRlbGV0ZS5odG1sIGIvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9uZXR3b3JrLWlm
cmFtZS1sb2FkLWFuZC1kZWxldGUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kYjY0YTNiNTdlYzExNzNjMzlj
OWU1ODIzYzA1ZGNmMDI1ZGFiNmZjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9uZXR3b3JrLWlmcmFtZS1sb2FkLWFu
ZC1kZWxldGUuaHRtbApAQCAtMCwwICsxLDgyIEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBz
cmM9Ii4uL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9uZXR3
b3JrLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK3ZhciBpZnJhbWU7CisKK2Z1bmN0aW9u
IGxvYWRJZnJhbWUoKQoreworICAgIGlmcmFtZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlm
cmFtZSIpOworICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaWZyYW1lKTsKKyAgICBpZnJh
bWUub25sb2FkID0gaWZyYW1lTG9hZGVkOworICAgIGlmcmFtZS5zcmMgPSAicmVzb3VyY2VzL3Jl
c291cmNlLnBocCI7Cit9CisKK2Z1bmN0aW9uIGlmcmFtZUxvYWRlZCgpCit7CisgICAgZG9jdW1l
bnQuYm9keS5yZW1vdmVDaGlsZChpZnJhbWUpOworCisgICAgbG9hZElmcmFtZUFuZENoYW5nZVNy
Y0FmdGVyTG9hZCgpOworfQorCitmdW5jdGlvbiBsb2FkSWZyYW1lQW5kQ2hhbmdlU3JjQWZ0ZXJM
b2FkKCkKK3sKKyAgICBpZnJhbWUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKTsK
KyAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGlmcmFtZSk7CisgICAgaWZyYW1lLm9ubG9h
ZCA9IGlmcmFtZUxvYWRlZENoYW5nZVNyYzsKKyAgICBpZnJhbWUuc3JjID0gInJlc291cmNlcy9y
ZXNvdXJjZS5waHAiOworfQorCitmdW5jdGlvbiBpZnJhbWVMb2FkZWRDaGFuZ2VTcmMoKQorewor
ICAgIGlmcmFtZS5vbmxvYWQgPSBudWxsOworICAgIGlmcmFtZS5zcmMgPSAiamF2YXNjcmlwdDon
PGh0bWw+PC9odG1sPiciOworICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoaWZyYW1lKTsK
KyAgICBjb25zb2xlLmxvZygiRG9uZS4iKTsKK30KKworZnVuY3Rpb24gdGVzdCgpCit7CisgICAg
SW5zcGVjdG9yVGVzdC5hZGRDb25zb2xlU25pZmZlcihzdGVwMik7CisgICAgSW5zcGVjdG9yVGVz
dC5ldmFsdWF0ZUluUGFnZSgibG9hZElmcmFtZSgpIik7CisKKyAgICBmdW5jdGlvbiBzdGVwMigp
CisgICAgeworICAgICAgICB2YXIgcmVxdWVzdDEgPSBXZWJJbnNwZWN0b3IucGFuZWwoIm5ldHdv
cmsiKS5yZXF1ZXN0c1tXZWJJbnNwZWN0b3IucGFuZWwoIm5ldHdvcmsiKS5yZXF1ZXN0cy5sZW5n
dGggLSAyXTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQocmVxdWVzdDEudXJsKTsK
KyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoInJlc291cmNlLnR5cGU6ICIgKyByZXF1
ZXN0MS50eXBlKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoInJlc291cmNlLmNv
bnRlbnQgYmVmb3JlIHJlcXVlc3RpbmcgY29udGVudDogIiArIHJlcXVlc3QxLmNvbnRlbnQpOwor
ICAgICAgICByZXF1ZXN0MS5yZXF1ZXN0Q29udGVudChzdGVwMyk7CisgICAgfQorCisgICAgZnVu
Y3Rpb24gc3RlcDMoKQorICAgIHsKKyAgICAgICAgdmFyIHJlcXVlc3QxID0gV2ViSW5zcGVjdG9y
LnBhbmVsKCJuZXR3b3JrIikucmVxdWVzdHNbV2ViSW5zcGVjdG9yLnBhbmVsKCJuZXR3b3JrIiku
cmVxdWVzdHMubGVuZ3RoIC0gMl07CisgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJy
ZXNvdXJjZS5jb250ZW50IGFmdGVyIHJlcXVlc3RpbmcgY29udGVudDogIiArIHJlcXVlc3QxLmNv
bnRlbnQpOworCisgICAgICAgIHZhciByZXF1ZXN0MiA9IFdlYkluc3BlY3Rvci5wYW5lbCgibmV0
d29yayIpLnJlcXVlc3RzW1dlYkluc3BlY3Rvci5wYW5lbCgibmV0d29yayIpLnJlcXVlc3RzLmxl
bmd0aCAtIDFdOworICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdChyZXF1ZXN0Mi51cmwp
OworICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgicmVzb3VyY2UudHlwZTogIiArIHJl
cXVlc3QyLnR5cGUpOworICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgicmVzb3VyY2Uu
Y29udGVudCBiZWZvcmUgcmVxdWVzdGluZyBjb250ZW50OiAiICsgcmVxdWVzdDIuY29udGVudCk7
CisgICAgICAgIHJlcXVlc3QyLnJlcXVlc3RDb250ZW50KHN0ZXA0KTsKKyAgICB9CisKKyAgICBm
dW5jdGlvbiBzdGVwNCgpCisgICAgeworICAgICAgICB2YXIgcmVxdWVzdDIgPSBXZWJJbnNwZWN0
b3IucGFuZWwoIm5ldHdvcmsiKS5yZXF1ZXN0c1tXZWJJbnNwZWN0b3IucGFuZWwoIm5ldHdvcmsi
KS5yZXF1ZXN0cy5sZW5ndGggLSAxXTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQo
InJlc291cmNlLmNvbnRlbnQgYWZ0ZXIgcmVxdWVzdGluZyBjb250ZW50OiAiICsgcmVxdWVzdDIu
Y29udGVudCk7CisKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKKyAgICB9
Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KKyAgPHA+
CisgICAgVGVzdHMgdGhhdCBpZiBpZnJhbWUgaXMgbG9hZGVkIGFuZCB0aGVuIGRlbGV0ZWQsIGlu
c3BlY3RvciBjb3VsZCBzdGlsbCBzaG93IGl0cyBjb250ZW50LgorICAgIE5vdGUgdGhhdCBpZiBp
ZnJhbWUuc3JjIGlzIGNoYW5nZWQgdG8gImphdmFzY3JpcHQ6Jy4uLnNvbWUgaHRtbC4uLiciIGFm
dGVyCisgICAgbG9hZGluZywgdGhlbiB3ZSBoYXZlIGRpZmZlcmVudCBjb2RlcGF0aCwgaGVuY2Ug
dHdvIHRlc3RzOworICA8L3A+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL25ldHdvcmstaW1hZ2Ut
NDA0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRl
c3RzL25ldHdvcmsvbmV0d29yay1pbWFnZS00MDQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmUz
ZjA0ZTZlNWYwZGUzYTM2YzVkODg0NzhiY2MzZTI0MTkxNTc3N2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL25ldHdv
cmstaW1hZ2UtNDA0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDkgQEAKK0NPTlNPTEUgTUVTU0FH
RTogbGluZSAxNTogRG9uZS4KK1Rlc3RzIGNvbnRlbnQgaXMgYXZhaWxhYmxlIGZvciBmYWlsZWQg
aW1hZ2UgcmVxdWVzdC4KKworQnVnIDg0MjY1CitodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVj
dG9yL25ldHdvcmsvcmVzb3VyY2VzLzQwNC5waHAKK3Jlc291cmNlLnR5cGU6IGltYWdlCityZXNv
dXJjZS5jb250ZW50IGJlZm9yZSByZXF1ZXN0aW5nIGNvbnRlbnQ6IHVuZGVmaW5lZAorcmVzb3Vy
Y2UuY29udGVudCBhZnRlciByZXF1ZXN0aW5nIGNvbnRlbnQ6IDQwNCAtIHJlc291cmNlIHdhcyBu
b3QgZm91bmQuCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9o
dHRwLXRlc3RzL25ldHdvcmsvbmV0d29yay1pbWFnZS00MDQuaHRtbCBiL0xheW91dFRlc3RzL2lu
c3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvbmV0d29yay1pbWFnZS00MDQuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5lYTI2Y2IwMDhlMWFiYzkxZDQxMjAzMGZmMjE1MDA0NDZmOWM3MTY5Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVz
dHMvbmV0d29yay9uZXR3b3JrLWltYWdlLTQwNC5odG1sCkBAIC0wLDAgKzEsNTQgQEAKKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uL25ldHdvcmstdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorZnVu
Y3Rpb24gbG9hZERhdGEoKQoreworICAgIHZhciBpbWFnZSA9IG5ldyBJbWFnZSgpOworICAgIGlt
YWdlLnNyYyA9ICJyZXNvdXJjZXMvNDA0LnBocCI7CisgICAgaW1hZ2Uub25lcnJvciA9IHJlc291
cmNlTG9hZGVkOworfQorCitmdW5jdGlvbiByZXNvdXJjZUxvYWRlZCgpCit7CisgICAgY29uc29s
ZS5sb2coIkRvbmUuIik7Cit9CisKK2Z1bmN0aW9uIHRlc3QoKQoreworICAgIC8vIFNpbmNlIHRo
aXMgdGVzdCBjb3VsZCBiZSBydW4gdG9nZXRoZXIgd2l0aCBvdGhlciBpbnNwZWN0b3IgYmFja2Vu
ZCBjYWNoZQorICAgIC8vIHRlc3RzLCB3ZSBuZWVkIHRvIHJlc2V0IHNpemUgbGltaXRzIHRvIGRl
ZmF1bHQgb25lcy4KKyAgICBJbnNwZWN0b3JUZXN0LnJlc2V0SW5zcGVjdG9yUmVzb3VyY2VzRGF0
YShzdGVwMSk7CisKKyAgICBmdW5jdGlvbiBzdGVwMSgpCisgICAgeworICAgICAgICBJbnNwZWN0
b3JUZXN0LmFkZENvbnNvbGVTbmlmZmVyKHN0ZXAyKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5l
dmFsdWF0ZUluUGFnZSgibG9hZERhdGEoKSIpOworICAgIH0KKworICAgIGZ1bmN0aW9uIHN0ZXAy
KCkKKyAgICB7CisgICAgICAgIHZhciByZXF1ZXN0MSA9IFdlYkluc3BlY3Rvci5wYW5lbCgibmV0
d29yayIpLnJlcXVlc3RzW1dlYkluc3BlY3Rvci5wYW5lbCgibmV0d29yayIpLnJlcXVlc3RzLmxl
bmd0aCAtIDFdOworICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdChyZXF1ZXN0MS51cmwp
OworICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgicmVzb3VyY2UudHlwZTogIiArIHJl
cXVlc3QxLnR5cGUpOworICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgicmVzb3VyY2Uu
Y29udGVudCBiZWZvcmUgcmVxdWVzdGluZyBjb250ZW50OiAiICsgcmVxdWVzdDEuY29udGVudCk7
CisgICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0VHJ1ZSghcmVxdWVzdDEuZmFpbGVkLCAiUmVz
b3VyY2UgbG9hZGluZyBmYWlsZWQuIik7CisgICAgICAgIHJlcXVlc3QxLnJlcXVlc3RDb250ZW50
KHN0ZXAzKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBzdGVwMygpCisgICAgeworICAgICAgICB2
YXIgcmVxdWVzdDEgPSBXZWJJbnNwZWN0b3IucGFuZWwoIm5ldHdvcmsiKS5yZXF1ZXN0c1tXZWJJ
bnNwZWN0b3IucGFuZWwoIm5ldHdvcmsiKS5yZXF1ZXN0cy5sZW5ndGggLSAxXTsKKyAgICAgICAg
SW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoInJlc291cmNlLmNvbnRlbnQgYWZ0ZXIgcmVxdWVzdGlu
ZyBjb250ZW50OiAiICsgcmVxdWVzdDEuY29udGVudCk7CisKKyAgICAgICAgSW5zcGVjdG9yVGVz
dC5jb21wbGV0ZVRlc3QoKTsKKyAgICB9Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9u
bG9hZD0icnVuVGVzdCgpIj4KKzxwPlRlc3RzIGNvbnRlbnQgaXMgYXZhaWxhYmxlIGZvciBmYWls
ZWQgaW1hZ2UgcmVxdWVzdC48L3A+Cis8YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9ODQyNjUiPkJ1ZyA4NDI2NTwvYT4KKzwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdv
cmsvbmV0d29yay1pbml0aWF0b3ItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
LW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9uZXR3b3JrLWluaXRpYXRvci1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMDBmZDA4NWU4NTYyZjlkZjJlZDkwZTk5OWZhNmU5ZDJmYWIyNzJkYwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRl
c3RzL25ldHdvcmsvbmV0d29yay1pbml0aWF0b3ItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTgg
QEAKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAzNDogRG9uZS4KK1Rlc3RzIHJlc291cmNlcyBpbml0
aWF0b3IgZm9yIGltYWdlcyBpbml0aWF0ZWQgYnkgSU1HIHRhZywgc3RhdGljIENTUywgQ1NTIGNs
YXNzIGFkZGVkIGZyb20gSmF2YVNjcmlwdCBhbmQgWEhSLgorCitCdWcgNjUxMDUgCitUaGlzIGRp
diBoYXMgYmFja2dyb3VuZCBpbWFnZSBzZXQgZnJvbSBDU1MuCitUaGlzIGRpdiB3aWxsIGhhdmUg
YmFja2dyb3VuZCBpbWFnZSBzZXQgZnJvbSBKYXZhU2NyaXB0LgorUGFnZSByZWxvYWRlZC4KK2h0
dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvbmV0d29yay9yZXNvdXJjZXMvaW5pdGlhdG9y
LmNzczogcGFyc2VyCisgICAgaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9uZXR3b3Jr
L25ldHdvcmstaW5pdGlhdG9yLmh0bWwgMworaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rv
ci9uZXR3b3JrL3Jlc291cmNlcy9yZXNvdXJjZS5waHA/dHlwZT1pbWFnZSZyYW5kb209MSZzaXpl
PTEwMDogcGFyc2VyCisgICAgaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9uZXR3b3Jr
L25ldHdvcmstaW5pdGlhdG9yLmh0bWwgMTA3CitodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVj
dG9yL25ldHdvcmsvcmVzb3VyY2VzL3Jlc291cmNlLnBocD90eXBlPWltYWdlJnJhbmRvbT0xJnNp
emU9MjAwOiBwYXJzZXIKKyAgICBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL25ldHdv
cmsvbmV0d29yay1pbml0aWF0b3IuaHRtbCAxMDgKK2h0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNw
ZWN0b3IvbmV0d29yay9yZXNvdXJjZXMvcmVzb3VyY2UucGhwP3R5cGU9aW1hZ2UmcmFuZG9tPTEm
c2l6ZT0zMDA6IHNjcmlwdAorICAgIGFkZENsYXNzVG9EaXZTdGVwMiBodHRwOi8vMTI3LjAuMC4x
OjgwMDAvaW5zcGVjdG9yL25ldHdvcmsvbmV0d29yay1pbml0aWF0b3IuaHRtbCAxNworaHR0cDov
LzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9uZXR3b3JrL3Jlc291cmNlcy9yZXNvdXJjZS5waHA/
dHlwZT1pbWFnZSZyYW5kb209MSZzaXplPTQwMDogc2NyaXB0CisgICAgbG9hZERhdGEgaHR0cDov
LzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9uZXR3b3JrL25ldHdvcmstaW5pdGlhdG9yLmh0bWwg
MjkKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVz
dHMvbmV0d29yay9uZXR3b3JrLWluaXRpYXRvci1mcm9tLWNvbnNvbGUtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9uZXR3b3Jr
LWluaXRpYXRvci1mcm9tLWNvbnNvbGUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg4OTRhMjIy
ODlhZDU5ZDQ3ZjI1N2MyYzdiZTM0OTgyNDc3MDkyMDUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL25ldHdvcmstaW5p
dGlhdG9yLWZyb20tY29uc29sZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUZXN0cyB0
aGF0IHRoZXJlIGlzIG5vIGphdmFzY3JpcHQgZXJyb3Igd2hlbiBjb25zb2xlIGV2YWx1YXRpb24g
Y2F1c2VzIHJlc291cmNlIGxvYWRpbmcuCisKK0J1ZyA2NTQ2NgorUGFnZSByZWxvYWRlZC4KKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0
d29yay9uZXR3b3JrLWluaXRpYXRvci1mcm9tLWNvbnNvbGUuaHRtbCBiL0xheW91dFRlc3RzL2lu
c3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvbmV0d29yay1pbml0aWF0b3ItZnJv
bS1jb25zb2xlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjNmZDhiMDUyYmZlY2M4ODJjYzk5ZjA4YWIzNmEx
YWE4Y2VjNjM1YQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNv
bGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvbmV0d29yay1pbml0aWF0b3ItZnJvbS1jb25zb2xlLmh0
bWwKQEAgLTAsMCArMSw1MiBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9pbnNw
ZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vbmV0d29yay10ZXN0Lmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQ+Cit2YXIgdGVzdCA9IGZ1bmN0aW9uKCkKK3sKKyAgICBJbnNw
ZWN0b3JUZXN0LnJlbG9hZFBhZ2Uoc3RlcDEpOworCisgICAgZnVuY3Rpb24gZmluZFJlcXVlc3RC
eVVSTCh1cmwpCisgICAgeworICAgICAgICB2YXIgcmVxdWVzdHMgPSBXZWJJbnNwZWN0b3IubmV0
d29ya0xvZy5yZXF1ZXN0czsKKyAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCByZXF1ZXN0cy5s
ZW5ndGg7ICsraSkgeworICAgICAgICAgICAgaWYgKHVybC50ZXN0KHJlcXVlc3RzW2ldLnVybCkp
CisgICAgICAgICAgICAgICAgcmV0dXJuIHJlcXVlc3RzW2ldOworICAgICAgICB9CisgICAgfQor
CisgICAgZnVuY3Rpb24gc3RlcDEoKQorICAgIHsKKyAgICAgICAgV2ViSW5zcGVjdG9yLm5ldHdv
cmtNYW5hZ2VyLmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLk5ldHdvcmtNYW5hZ2VyLkV2
ZW50VHlwZXMuUmVxdWVzdFN0YXJ0ZWQsIG9uUmVxdWVzdCk7CisgICAgICAgIHZhciBzdHIgPSAi
IjsKKyAgICAgICAgc3RyICs9ICJ2YXIgcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJzY3Jp
cHRcIik7IjsKKyAgICAgICAgc3RyICs9ICJzLnNyYyA9IFwicmVzb3VyY2VzL3NpbGVudF9zY3Jp
cHQuanNcIjsiOworICAgICAgICBzdHIgKz0gImRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQocyk7
IjsKKyAgICAgICAgV2ViSW5zcGVjdG9yLnJ1bnRpbWVNb2RlbC5ldmFsdWF0ZShzdHIsICJjb25z
b2xlIiwgdHJ1ZSwgdW5kZWZpbmVkLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgZnVuY3Rpb24oKXt9
KTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBvblJlcXVlc3QoZXZlbnQpCisgICAgeworICAgICAg
ICB2YXIgcmVxdWVzdCA9IGV2ZW50LmRhdGE7CisgICAgICAgIGlmICgvc2lsZW50X3NjcmlwdC5q
cy8udGVzdChyZXF1ZXN0LnVybCkpCisgICAgICAgICAgICBzdGVwMigpOworICAgIH0KKworICAg
IGZ1bmN0aW9uIHN0ZXAyKCkKKyAgICB7CisgICAgICAgIGlmICghZmluZFJlcXVlc3RCeVVSTCgv
c2lsZW50X3NjcmlwdC5qcy8pKQorICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIFdlYklu
c3BlY3Rvci5wYW5lbCgibmV0d29yayIpLnNob3coKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5j
b21wbGV0ZVRlc3QoKTsKKyAgICB9Cit9CisKKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25s
b2FkPSJydW5UZXN0KCkiPgorPHA+VGVzdHMgdGhhdCB0aGVyZSBpcyBubyBqYXZhc2NyaXB0IGVy
cm9yIHdoZW4gY29uc29sZSBldmFsdWF0aW9uIGNhdXNlcyByZXNvdXJjZSBsb2FkaW5nLjwvcD4K
KzxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NTQ2NiI+
QnVnIDY1NDY2PC9hPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9uZXR3b3JrLWluaXRpYXRvci5o
dG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9u
ZXR3b3JrLWluaXRpYXRvci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJmNzkwZDZhMWQ4YjA5NWI0YzIyYzk0
ZTA4M2RkZjdhYzY0NmFmZjIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0
b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL25ldHdvcmstaW5pdGlhdG9yLmh0bWwKQEAg
LTAsMCArMSwxMTEgQEAKKzxodG1sPgorPGhlYWQ+Cis8bGluayBocmVmPSJyZXNvdXJjZXMvaW5p
dGlhdG9yLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyI+Cis8c2NyaXB0IHNy
Yz0iLi4vaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL25ldHdv
cmstdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorCitmdW5jdGlvbiBhZGRDbGFzc1RvRGl2
KCkKK3sKKyAgICAvLyBXZSBuZWVkIHRvIHNldFRpbWVvdXQsIHRvIG1ha2Ugc3VyZSB0aGF0IHN0
eWxlIHJlY2FsY3VsYXRpb24gc2NoZWR1bGluZworICAgIC8vIGlzIHJlYWxseSB0cmlnZ2VyZWQg
YnkgYWRkaW5nIGEgY2xhc3MgdG8gdGhlIGRpdi4KKyAgICB3aW5kb3cuc2V0VGltZW91dChhZGRD
bGFzc1RvRGl2U3RlcDIsIDApOworfQorCitmdW5jdGlvbiBhZGRDbGFzc1RvRGl2U3RlcDIoKQor
eworICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJkaXYtd2l0aG91dC1jbGFzcyIpLmNsYXNz
TmFtZSA9ICJpbWFnZS1iYWNrZ3JvdW5kLTIiOworfQorCitmdW5jdGlvbiBsb2FkRGF0YSgpCit7
CisgICAgdmFyIHhociA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpOworICAgIHhoci5vbnJlYWR5c3Rh
dGVjaGFuZ2UgPSBmdW5jdGlvbigpCisgICAgeworICAgICAgICBpZiAoeGhyLnJlYWR5U3RhdGUg
PT09IFhNTEh0dHBSZXF1ZXN0LkRPTkUpCisgICAgICAgICAgICByZXNvdXJjZUxvYWRlZCgpOwor
ICAgIH07CisgICAgeGhyLm9wZW4oIkdFVCIsICJyZXNvdXJjZXMvcmVzb3VyY2UucGhwP3R5cGU9
aW1hZ2UmcmFuZG9tPTEmc2l6ZT00MDAiLCB0cnVlKTsKKyAgICB4aHIuc2VuZChudWxsKTsKK30K
KworZnVuY3Rpb24gcmVzb3VyY2VMb2FkZWQoKQoreworICAgIGNvbnNvbGUubG9nKCJEb25lLiIp
OworfQorCit2YXIgdGVzdCA9IGZ1bmN0aW9uKCkKK3sKKyAgICBJbnNwZWN0b3JUZXN0LmhhcmRS
ZWxvYWRQYWdlKHN0ZXAxKTsKKworICAgIGZ1bmN0aW9uIGZpbmRSZXF1ZXN0QnlVUkwodXJsKQor
ICAgIHsKKyAgICAgICAgdmFyIHJlcXVlc3RzID0gV2ViSW5zcGVjdG9yLm5ldHdvcmtMb2cucmVx
dWVzdHM7CisgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcmVxdWVzdHMubGVuZ3RoOyArK2kp
IHsKKyAgICAgICAgICAgIGlmICh1cmwudGVzdChyZXF1ZXN0c1tpXS51cmwpKQorICAgICAgICAg
ICAgICAgIHJldHVybiByZXF1ZXN0c1tpXTsKKyAgICAgICAgfQorICAgIH0KKworICAgIGZ1bmN0
aW9uIHN0ZXAxKCkKKyAgICB7CisgICAgICAgIFdlYkluc3BlY3Rvci5uZXR3b3JrTWFuYWdlci5h
ZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5OZXR3b3JrTWFuYWdlci5FdmVudFR5cGVzLlJl
cXVlc3RGaW5pc2hlZCwgb25SZXF1ZXN0KTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0
ZUluUGFnZSgiYWRkQ2xhc3NUb0RpdigpIiwgc3RlcDIpOworICAgIH0KKworICAgIGZ1bmN0aW9u
IG9uUmVxdWVzdChldmVudCkKKyAgICB7CisgICAgICAgIHZhciByZXF1ZXN0ID0gZXZlbnQuZGF0
YTsKKyAgICAgICAgaWYgKC9zaXplPTMwMC8udGVzdChyZXF1ZXN0LnVybCkpCisgICAgICAgICAg
ICBzdGVwMigpOworICAgIH0KKworICAgIGZ1bmN0aW9uIHN0ZXAyKCkKKyAgICB7CisgICAgICAg
IGlmICghZmluZFJlcXVlc3RCeVVSTCgvc2l6ZT0zMDAvKSkKKyAgICAgICAgICAgIHJldHVybjsK
KworICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZENvbnNvbGVTbmlmZmVyKHN0ZXAzKTsKKyAgICAg
ICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgibG9hZERhdGEoKSIpOworICAgIH0KKwor
ICAgIGZ1bmN0aW9uIHN0ZXAzKCkKKyAgICB7CisgICAgICAgIGZ1bmN0aW9uIGR1bXBJbml0aWF0
b3IocmVxdWVzdCkKKyAgICAgICAgeworICAgICAgICAgICAgdmFyIGluaXRpYXRvciA9IHJlcXVl
c3QuaW5pdGlhdG9yOworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQocmVxdWVz
dC51cmwgKyAiOiAiICsgaW5pdGlhdG9yLnR5cGUpOworICAgICAgICAgICAgaWYgKGluaXRpYXRv
ci51cmwpCisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIiAgICAiICsg
aW5pdGlhdG9yLnVybCArICIgIiArIGluaXRpYXRvci5saW5lTnVtYmVyKTsKKyAgICAgICAgICAg
IGlmIChpbml0aWF0b3Iuc3RhY2tUcmFjZSkgeworICAgICAgICAgICAgICAgIHZhciBzdGFja1Ry
YWNlID0gaW5pdGlhdG9yLnN0YWNrVHJhY2U7CisgICAgICAgICAgICAgICAgZm9yICh2YXIgaSA9
IDA7IGkgPCBzdGFja1RyYWNlLmxlbmd0aDsgKytpKSB7CisgICAgICAgICAgICAgICAgICAgIHZh
ciBmcmFtZSA9IHN0YWNrVHJhY2VbaV07CisgICAgICAgICAgICAgICAgICAgIGlmIChmcmFtZS5s
aW5lTnVtYmVyKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJl
c3VsdCgiICAgICIgKyBmcmFtZS5mdW5jdGlvbk5hbWUgKyAiICIgKyBmcmFtZS51cmwgKyAiICIg
KyBmcmFtZS5saW5lTnVtYmVyKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAg
ICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAg
ICAgICB9CisKKyAgICAgICAgZHVtcEluaXRpYXRvcihmaW5kUmVxdWVzdEJ5VVJMKC9pbml0aWF0
b3JcLmNzcy8pKTsKKyAgICAgICAgZHVtcEluaXRpYXRvcihmaW5kUmVxdWVzdEJ5VVJMKC9zaXpl
PTEwMC8pKTsKKyAgICAgICAgZHVtcEluaXRpYXRvcihmaW5kUmVxdWVzdEJ5VVJMKC9zaXplPTIw
MC8pKTsKKyAgICAgICAgZHVtcEluaXRpYXRvcihmaW5kUmVxdWVzdEJ5VVJMKC9zaXplPTMwMC8p
KTsKKyAgICAgICAgZHVtcEluaXRpYXRvcihmaW5kUmVxdWVzdEJ5VVJMKC9zaXplPTQwMC8pKTsK
KworICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOworICAgIH0KK30KKworPC9z
Y3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Cis8cD5UZXN0cyByZXNv
dXJjZXMgaW5pdGlhdG9yIGZvciBpbWFnZXMgaW5pdGlhdGVkIGJ5IElNRyB0YWcsIHN0YXRpYyBD
U1MsIENTUyBjbGFzcyBhZGRlZCBmcm9tIEphdmFTY3JpcHQgYW5kIFhIUi48L3A+Cis8YSBocmVm
PSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUxMDUiPkJ1ZyA2NTEw
NTwvYT4KKzxpbWcgc3JjPSJyZXNvdXJjZXMvcmVzb3VyY2UucGhwP3R5cGU9aW1hZ2UmcmFuZG9t
PTEmc2l6ZT0xMDAiPgorPGRpdiBjbGFzcz0iaW1hZ2UtYmFja2dyb3VuZCI+VGhpcyBkaXYgaGFz
IGJhY2tncm91bmQgaW1hZ2Ugc2V0IGZyb20gQ1NTLjwvZGl2PgorPGRpdiBpZD0iZGl2LXdpdGhv
dXQtY2xhc3MiPlRoaXMgZGl2IHdpbGwgaGF2ZSBiYWNrZ3JvdW5kIGltYWdlIHNldCBmcm9tIEph
dmFTY3JpcHQuPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL25ldHdvcmstcHJldmlldy1q
c29uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRl
c3RzL25ldHdvcmsvbmV0d29yay1wcmV2aWV3LWpzb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmJhYjU2Y2MyOTUyYzQ5ZGFlZDQ2M2NjM2M3ZDBiMDE5ZmJiM2UxZmEKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL25l
dHdvcmstcHJldmlldy1qc29uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKK1Rlc3RzIFJl
cXVlc3RKU09OVmlldyBhYmlsaXR5IHRvIHBhcnNlIEpTT04gcGFzc2VkIGluIFhIUiwgSlNPTlAK
KworQnVnIDY1NTU5CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUv
aHR0cC10ZXN0cy9uZXR3b3JrL25ldHdvcmstcHJldmlldy1qc29uLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL25ldHdvcmstcHJldmlldy1q
c29uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uYmJkZDhmN2M5MGZkYzAyYTllNTNmZDI5NTMwZDAyMzZkZDFm
ZmY3YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9o
dHRwLXRlc3RzL25ldHdvcmsvbmV0d29yay1wcmV2aWV3LWpzb24uaHRtbApAQCAtMCwwICsxLDU2
IEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uL2luc3BlY3Rvci10ZXN0LmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQ+CisKK2Z1bmN0aW9uIHRlc3QoKQoreworICAgIFdlYkluc3BlY3Rv
ci5zaG93UGFuZWwoIm5ldHdvcmsiKTsKKworICAgIHZhciB0ZXN0RGF0YTsKKworICAgIHRlc3RE
YXRhID0gIndoaWxlKDEpOyI7CisgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRUcnVlKCFXZWJJbnNw
ZWN0b3IuUmVxdWVzdEpTT05WaWV3LnBhcnNlSlNPTih0ZXN0RGF0YSksICJTaG91bGQgbm90IGJl
IGFibGUgdG8gcGFyc2UgXCIiICsgdGVzdERhdGEgKyAiXCIuIik7CisKKyAgICB0ZXN0RGF0YSA9
ICJ7XCJuYW1lXCI6IFwidmFsdWVcIiI7CisgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRUcnVlKCFX
ZWJJbnNwZWN0b3IuUmVxdWVzdEpTT05WaWV3LnBhcnNlSlNPTih0ZXN0RGF0YSksICJTaG91bGQg
bm90IGJlIGFibGUgdG8gcGFyc2UgXCIiICsgdGVzdERhdGEgKyAiXCIuIik7CisKKyAgICB0ZXN0
RGF0YSA9ICJ7XCJuYW1lXCI6IFwidmFsdWVcIn0iOworICAgIHZhciBwYXJzZWRKU09OID0gV2Vi
SW5zcGVjdG9yLlJlcXVlc3RKU09OVmlldy5wYXJzZUpTT04odGVzdERhdGEpOworICAgIEluc3Bl
Y3RvclRlc3QuYXNzZXJ0RXF1YWxzKHBhcnNlZEpTT04ucHJlZml4LCAiIik7CisgICAgSW5zcGVj
dG9yVGVzdC5hc3NlcnRFcXVhbHMocGFyc2VkSlNPTi5kYXRhLm5hbWUsICJ2YWx1ZSIpOworICAg
IEluc3BlY3RvclRlc3QuYXNzZXJ0RXF1YWxzKHBhcnNlZEpTT04uc3VmZml4LCAiIik7CisKKyAg
ICB0ZXN0RGF0YSA9ICJ3aGlsZSgxKTsge1wibmFtZVwiOiBcInZhbHVlXCJ9IjsKKyAgICBwYXJz
ZWRKU09OID0gV2ViSW5zcGVjdG9yLlJlcXVlc3RKU09OVmlldy5wYXJzZUpTT04odGVzdERhdGEp
OworICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0RXF1YWxzKHBhcnNlZEpTT04ucHJlZml4LCAid2hp
bGUoMSk7ICIpOworICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0RXF1YWxzKHBhcnNlZEpTT04uZGF0
YS5uYW1lLCAidmFsdWUiKTsKKyAgICBJbnNwZWN0b3JUZXN0LmFzc2VydEVxdWFscyhwYXJzZWRK
U09OLnN1ZmZpeCwgIiIpOworCisgICAgdGVzdERhdGEgPSAiZnVuYyh7KSI7CisgICAgSW5zcGVj
dG9yVGVzdC5hc3NlcnRUcnVlKCFXZWJJbnNwZWN0b3IuUmVxdWVzdEpTT05WaWV3LnBhcnNlSlNP
TlAodGVzdERhdGEpLCAiU2hvdWxkIG5vdCBiZSBhYmxlIHRvIHBhcnNlIFwiIiArIHRlc3REYXRh
ICsgIlwiLiIpOworCisgICAgdGVzdERhdGEgPSAiZnVuYyl7KCI7CisgICAgSW5zcGVjdG9yVGVz
dC5hc3NlcnRUcnVlKCFXZWJJbnNwZWN0b3IuUmVxdWVzdEpTT05WaWV3LnBhcnNlSlNPTlAodGVz
dERhdGEpLCAiU2hvdWxkIG5vdCBiZSBhYmxlIHRvIHBhcnNlIFwiIiArIHRlc3REYXRhICsgIlwi
LiIpOworCisgICAgdGVzdERhdGEgPSAiZnVuYyh7XCJuYW1lXCI6IFwidmFsdWVcIn0iOworICAg
IEluc3BlY3RvclRlc3QuYXNzZXJ0VHJ1ZSghV2ViSW5zcGVjdG9yLlJlcXVlc3RKU09OVmlldy5w
YXJzZUpTT05QKHRlc3REYXRhKSwgIlNob3VsZCBub3QgYmUgYWJsZSB0byBwYXJzZSBcIiIgKyB0
ZXN0RGF0YSArICJcIi4iKTsKKworICAgIHRlc3REYXRhID0gImZ1bmN7XCJuYW1lXCI6IFwidmFs
dWVcIn0pIjsKKyAgICBJbnNwZWN0b3JUZXN0LmFzc2VydFRydWUoIVdlYkluc3BlY3Rvci5SZXF1
ZXN0SlNPTlZpZXcucGFyc2VKU09OUCh0ZXN0RGF0YSksICJTaG91bGQgbm90IGJlIGFibGUgdG8g
cGFyc2UgXCIiICsgdGVzdERhdGEgKyAiXCIuIik7CisKKyAgICB0ZXN0RGF0YSA9ICJmdW5jKHtc
Im5hbWVcIjogXCJ2YWx1ZVwifSkiOworICAgIHZhciBwYXJzZWRKU09OUCA9IFdlYkluc3BlY3Rv
ci5SZXF1ZXN0SlNPTlZpZXcucGFyc2VKU09OUCh0ZXN0RGF0YSk7CisgICAgSW5zcGVjdG9yVGVz
dC5hc3NlcnRFcXVhbHMocGFyc2VkSlNPTlAucHJlZml4LCAiZnVuYygiKTsKKyAgICBJbnNwZWN0
b3JUZXN0LmFzc2VydEVxdWFscyhwYXJzZWRKU09OUC5kYXRhLm5hbWUsICJ2YWx1ZSIpOworICAg
IEluc3BlY3RvclRlc3QuYXNzZXJ0RXF1YWxzKHBhcnNlZEpTT05QLnN1ZmZpeCwgIikiKTsKKwor
ICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KKzxwPlRlc3RzIFJlcXVlc3RKU09OVmlldyBhYmls
aXR5IHRvIHBhcnNlIEpTT04gcGFzc2VkIGluIFhIUiwgSlNPTlA8L3A+Cis8YSBocmVmPSJodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU1NTkiPkJ1ZyA2NTU1OTwvYT4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNv
bGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvbmV0d29yay1yZXF1ZXN0LXJldmlzaW9uLWNvbnRlbnQt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMv
bmV0d29yay9uZXR3b3JrLXJlcXVlc3QtcmV2aXNpb24tY29udGVudC1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjkxYmE0ZjQ2YjY2ZDdjYjI3OTJkZTIwMjAzZTUzZjU0MGRmOGFmZAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25l
dHdvcmsvbmV0d29yay1yZXF1ZXN0LXJldmlzaW9uLWNvbnRlbnQtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsNiBAQAorVGVzdHMgaG93IHJldmlzaW9uIHJlcXVlc3RzIGNvbnRlbnQgaWYgb3JpZ2lu
YWwgY29udGVudCB3YXMgbm90IGxvYWRlZCB5ZXQuCisKK0J1ZyA2MzYzMQoraHR0cDovLzEyNy4w
LjAuMTo4MDAwL2luc3BlY3Rvci9uZXR3b3JrL3Jlc291cmNlcy9zdHlsZS5jc3MKKworCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3Jr
L25ldHdvcmstcmVxdWVzdC1yZXZpc2lvbi1jb250ZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL25ldHdvcmstcmVxdWVzdC1yZXZpc2lv
bi1jb250ZW50Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTdhYmRmMTY4OTMwNTNiYjIzMGNmZDg5ZjBlOWRk
NDBiYzk0ZGU1NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNv
bGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvbmV0d29yay1yZXF1ZXN0LXJldmlzaW9uLWNvbnRlbnQu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uL2lu
c3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CitmdW5jdGlvbiBsb2FkU3R5bGVz
aGVldCgpCit7CisgICAgdmFyIGNzcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImxpbmsiKTsK
KyAgICBjc3MucmVsID0gInN0eWxlc2hlZXQiOworICAgIGNzcy50eXBlID0gInRleHQvY3NzIjsK
KyAgICBjc3MuaHJlZiA9ICJyZXNvdXJjZXMvc3R5bGUuY3NzIjsKKyAgICBkb2N1bWVudC5oZWFk
LmFwcGVuZENoaWxkKGNzcyk7Cit9CisKK2Z1bmN0aW9uIHRlc3QoKQoreworICAgIFdlYkluc3Bl
Y3Rvci53b3Jrc3BhY2UuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuVUlTb3VyY2VDb2Rl
UHJvdmlkZXIuRXZlbnRzLlVJU291cmNlQ29kZUFkZGVkLCBzdGVwMik7CisgICAgSW5zcGVjdG9y
VGVzdC5ldmFsdWF0ZUluUGFnZSgibG9hZFN0eWxlc2hlZXQoKSIpOworCisgICAgdmFyIHJlc291
cmNlOworICAgIGZ1bmN0aW9uIHN0ZXAyKGV2ZW50KQorICAgIHsKKyAgICAgICAgdmFyIGV2ZW50
VUlTb3VyY2VDb2RlID0gZXZlbnQuZGF0YTsKKyAgICAgICAgaWYgKGV2ZW50VUlTb3VyY2VDb2Rl
Lm9yaWdpblVSTCgpLmluZGV4T2YoInN0eWxlLmNzcyIpID09IC0xKQorICAgICAgICAgICAgcmV0
dXJuOworICAgICAgICB2YXIgcmVxdWVzdCA9IFdlYkluc3BlY3Rvci5wYW5lbCgibmV0d29yayIp
LnJlcXVlc3RzW1dlYkluc3BlY3Rvci5wYW5lbCgibmV0d29yayIpLnJlcXVlc3RzLmxlbmd0aCAt
IDFdOworICAgICAgICB1aVNvdXJjZUNvZGUgPSBXZWJJbnNwZWN0b3Iud29ya3NwYWNlLnVpU291
cmNlQ29kZUZvck9yaWdpblVSTChyZXF1ZXN0LnVybCk7CisgICAgICAgIGlmICghdWlTb3VyY2VD
b2RlKQorICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB1aVNvdXJjZUNvZGUuYWRkUmV2aXNp
b24oIiIpOworICAgICAgICB1aVNvdXJjZUNvZGUuaGlzdG9yeVswXS5yZXF1ZXN0Q29udGVudChz
dGVwMyk7CisgICAgfQorCisgICAgZnVuY3Rpb24gc3RlcDMoY29udGVudCkKKyAgICB7CisgICAg
ICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KHVpU291cmNlQ29kZS5vcmlnaW5VUkwoKSk7Cisg
ICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KGNvbnRlbnQpOworICAgICAgICBJbnNwZWN0
b3JUZXN0LmNvbXBsZXRlVGVzdCgpOworICAgIH0KK30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHkgb25sb2FkPSJydW5UZXN0KCkiPgorPHA+VGVzdHMgaG93IHJldmlzaW9uIHJlcXVlc3RzIGNv
bnRlbnQgaWYgb3JpZ2luYWwgY29udGVudCB3YXMgbm90IGxvYWRlZCB5ZXQuPC9wPgorPGEgaHJl
Zj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYzNjMxIj5CdWcgNjM2
MzE8L2E+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0
b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL25ldHdvcmstc2hhcmVkLXdvcmtlci1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3
b3JrL25ldHdvcmstc2hhcmVkLXdvcmtlci1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTE2Y2Jk
OWMwYTljYmIzNTFjNzdlNzJiYzllMzRiMzIzMzYyOTQ4ZgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvbmV0d29yay1z
aGFyZWQtd29ya2VyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE1IEBACitDT05TT0xFIE1FU1NB
R0U6IGxpbmUgMTQ6IERvbmUuCitUZXN0cyB0aGF0IHNoYXJlZCB3b3JrZXIgY29udGVudCBpcyBh
dmFpbGFibGUgaW4gbmV0d29yayBwYW5lbC4KKworQnVnIDY1OTI5CitodHRwOi8vMTI3LjAuMC4x
OjgwMDAvaW5zcGVjdG9yL25ldHdvcmsvcmVzb3VyY2VzL3NoYXJlZC13b3JrZXIuanMKK3Jlc291
cmNlLnR5cGU6IHNjcmlwdAorcmVzb3VyY2UuY29udGVudCBiZWZvcmUgcmVxdWVzdGluZyBjb250
ZW50OiB1bmRlZmluZWQKK3Jlc291cmNlLmNvbnRlbnQgYWZ0ZXIgcmVxdWVzdGluZyBjb250ZW50
OiBvbmNvbm5lY3QgPSBmdW5jdGlvbihldmVudCkKK3sKKyAgICB2YXIgcG9ydCA9IGV2ZW50LnBv
cnRzWzBdOworICAgIHBvcnQucG9zdE1lc3NhZ2UoIkRvbmUuIik7Cit9CisKKworCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL25l
dHdvcmstc2hhcmVkLXdvcmtlci5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRl
L2h0dHAtdGVzdHMvbmV0d29yay9uZXR3b3JrLXNoYXJlZC13b3JrZXIuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4zOGYxOGIwODMzY2UzNmEwNmY4MjMwN2Q2MTU0ZWJlMTAyNWYzODIzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9u
ZXR3b3JrLXNoYXJlZC13b3JrZXIuaHRtbApAQCAtMCwwICsxLDUyIEBACis8aHRtbD4KKzxoZWFk
PgorPHNjcmlwdCBzcmM9Ii4uL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi9uZXR3b3JrLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2Z1bmN0aW9uIGxv
YWREYXRhKCkKK3sKKyAgICB2YXIgd29ya2VyID0gbmV3IFNoYXJlZFdvcmtlcigicmVzb3VyY2Vz
L3NoYXJlZC13b3JrZXIuanMiKTsKKyAgICB3b3JrZXIucG9ydC5vbm1lc3NhZ2UgPSB3b3JrZXJM
b2FkZWQ7Cit9CisKK2Z1bmN0aW9uIHdvcmtlckxvYWRlZChldmVudCkKK3sKKyAgICBjb25zb2xl
LmxvZyhldmVudC5kYXRhKTsKK30KKworZnVuY3Rpb24gdGVzdCgpCit7CisgICAgLy8gU2luY2Ug
dGhpcyB0ZXN0IGNvdWxkIGJlIHJ1biB0b2dldGhlciB3aXRoIG90aGVyIGluc3BlY3RvciBiYWNr
ZW5kIGNhY2hlCisgICAgLy8gdGVzdHMsIHdlIG5lZWQgdG8gcmVzZXQgc2l6ZSBsaW1pdHMgdG8g
ZGVmYXVsdCBvbmVzLgorICAgIEluc3BlY3RvclRlc3QucmVzZXRJbnNwZWN0b3JSZXNvdXJjZXNE
YXRhKHN0ZXAxKTsKKworICAgIGZ1bmN0aW9uIHN0ZXAxKCkKKyAgICB7CisgICAgICAgIEluc3Bl
Y3RvclRlc3QuYWRkQ29uc29sZVNuaWZmZXIoc3RlcDIpOworICAgICAgICBJbnNwZWN0b3JUZXN0
LmV2YWx1YXRlSW5QYWdlKCJsb2FkRGF0YSgpIik7CisgICAgfQorCisgICAgZnVuY3Rpb24gc3Rl
cDIoKQorICAgIHsKKyAgICAgICAgdmFyIHJlcXVlc3QxID0gV2ViSW5zcGVjdG9yLnBhbmVsKCJu
ZXR3b3JrIikucmVxdWVzdHNbV2ViSW5zcGVjdG9yLnBhbmVsKCJuZXR3b3JrIikucmVxdWVzdHMu
bGVuZ3RoIC0gMV07CisgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KHJlcXVlc3QxLnVy
bCk7CisgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJyZXNvdXJjZS50eXBlOiAiICsg
cmVxdWVzdDEudHlwZSk7CisgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJyZXNvdXJj
ZS5jb250ZW50IGJlZm9yZSByZXF1ZXN0aW5nIGNvbnRlbnQ6ICIgKyByZXF1ZXN0MS5jb250ZW50
KTsKKyAgICAgICAgcmVxdWVzdDEucmVxdWVzdENvbnRlbnQoc3RlcDMpOworICAgIH0KKworICAg
IGZ1bmN0aW9uIHN0ZXAzKCkKKyAgICB7CisgICAgICAgIHZhciByZXF1ZXN0MSA9IFdlYkluc3Bl
Y3Rvci5wYW5lbCgibmV0d29yayIpLnJlcXVlc3RzW1dlYkluc3BlY3Rvci5wYW5lbCgibmV0d29y
ayIpLnJlcXVlc3RzLmxlbmd0aCAtIDFdOworICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3Vs
dCgicmVzb3VyY2UuY29udGVudCBhZnRlciByZXF1ZXN0aW5nIGNvbnRlbnQ6ICIgKyByZXF1ZXN0
MS5jb250ZW50KTsKKworICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOworICAg
IH0KK30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgorPHA+
VGVzdHMgdGhhdCBzaGFyZWQgd29ya2VyIGNvbnRlbnQgaXMgYXZhaWxhYmxlIGluIG5ldHdvcmsg
cGFuZWwuPC9wPgorPGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTY1OTI5Ij5CdWcgNjU5Mjk8L2E+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL25ldHdvcmst
c2lkZWJhci13aWR0aC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xl
dGUvaHR0cC10ZXN0cy9uZXR3b3JrL25ldHdvcmstc2lkZWJhci13aWR0aC1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNTJjYWVkZjg5MGYwNjRlMTUzY2FkMjJjZWNhYmMxYmE3NGYzYzJlYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3Rz
L25ldHdvcmsvbmV0d29yay1zaWRlYmFyLXdpZHRoLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDcg
QEAKK0NPTlNPTEUgTUVTU0FHRTogbGluZSA2OiBYSFIgbG9hZGVkOiAxCitUZXN0cyBuZXR3b3Jr
IHBhbmVsIHNpZGViYXIgd2lkdGggd2l0aCBhbmQgd2l0aG91dCBwcmVmZXJlbmNlIHNldC4KKwor
QnVnIDY1MjU2CitTaWRlYmFyIHdpZHRoOiAyMDAKK1NpZGViYXIgd2lkdGg6IDI0MgorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3Jr
L25ldHdvcmstc2lkZWJhci13aWR0aC5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29s
ZXRlL2h0dHAtdGVzdHMvbmV0d29yay9uZXR3b3JrLXNpZGViYXItd2lkdGguaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4wYjBmYzAzNDE2Zjg4ZGExNGM1YWYwYWU1MmE3MzhjNzU0OGI2ZThjCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29y
ay9uZXR3b3JrLXNpZGViYXItd2lkdGguaHRtbApAQCAtMCwwICsxLDQxIEBACis8aHRtbD4KKzxo
ZWFkPgorPHNjcmlwdCBzcmM9Ii4uL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi9uZXR3b3JrLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2Z1bmN0aW9u
IHRlc3QoKQoreworICAgIEluc3BlY3RvclRlc3QubWFrZVNpbXBsZVhIUigiR0VUIiwgInJlc291
cmNlcy9yZXNvdXJjZS5waHAiLCB0cnVlLCBzdGVwMik7CisKKyAgICB2YXIgb2xkU2V0dGluZzsK
KyAgICBmdW5jdGlvbiBzdGVwMigpCisgICAgeworICAgICAgICB2YXIgcGFuZWwgPSBXZWJJbnNw
ZWN0b3IucGFuZWwoIm5ldHdvcmsiKTsKKyAgICAgICAgdmFyIHNldHRpbmcgPSBXZWJJbnNwZWN0
b3Iuc2V0dGluZ3NbcGFuZWwuX3NpZGViYXJXaWR0aFNldHRpbmdOYW1lKCldOworICAgICAgICB2
YXIgcmVxdWVzdCA9IFdlYkluc3BlY3Rvci5wYW5lbCgibmV0d29yayIpLnJlcXVlc3RzW1dlYklu
c3BlY3Rvci5wYW5lbCgibmV0d29yayIpLnJlcXVlc3RzLmxlbmd0aCAtIDFdOworCisgICAgICAg
IG9sZFNldHRpbmcgPSBzZXR0aW5nLmdldCgpOworICAgICAgICBwYW5lbC5zaG93KCk7CisKKyAg
ICAgICAgc2V0dGluZy5zZXQodW5kZWZpbmVkKTsKKyAgICAgICAgcGFuZWwuX3Nob3dSZXF1ZXN0
KHJlcXVlc3QpOworICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiU2lkZWJhciB3aWR0
aDogIiArIHBhbmVsLnNpZGViYXJFbGVtZW50Lm9mZnNldFdpZHRoKTsKKyAgICAgICAgcGFuZWwu
X3RvZ2dsZUdyaWRNb2RlKCk7CisKKyAgICAgICAgc2V0dGluZy5zZXQoMjQyKTsKKyAgICAgICAg
cGFuZWwuX3Nob3dSZXF1ZXN0KHJlcXVlc3QpOworICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJl
c3VsdCgiU2lkZWJhciB3aWR0aDogIiArIHBhbmVsLnNpZGViYXJFbGVtZW50Lm9mZnNldFdpZHRo
KTsKKyAgICAgICAgcGFuZWwuX2Nsb3NlVmlzaWJsZVJlcXVlc3QocmVxdWVzdCk7CisKKyAgICAg
ICAgc2V0dGluZy5zZXQob2xkU2V0dGluZyk7CisKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21w
bGV0ZVRlc3QoKTsKKyAgICB9Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0i
cnVuVGVzdCgpIj4KKzxwPlRlc3RzIG5ldHdvcmsgcGFuZWwgc2lkZWJhciB3aWR0aCB3aXRoIGFu
ZCB3aXRob3V0IHByZWZlcmVuY2Ugc2V0LjwvcD4KKzxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NTI1NiI+QnVnIDY1MjU2PC9hPgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVz
dHMvbmV0d29yay9uZXR3b3JrLXNpemUtY2h1bmtlZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL25ldHdvcmstc2l6ZS1jaHVu
a2VkLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hNmM1MTliYmFhODBmNjE3NmQxOTJmYTBhZTg5
MDFlOTBkMDVjNzk4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9i
c29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9uZXR3b3JrLXNpemUtY2h1bmtlZC1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSw4IEBACitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTU6IERvbmUuCitUZXN0
cyBuZXR3b3JrIHJlc291cmNlIHNpemUgcmVwb3J0aW5nIGZvciBjaHVua2VkIHRyYW5zZmVyIGVu
Y29kaW5nLgorCisKK2h0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvbmV0d29yay9yZXNv
dXJjZXMvcmVzb3VyY2UucGhwP3R5cGU9aW1hZ2Umc2l6ZT01MDAmZ3ppcD10cnVlJmNodW5rZWQ9
dHJ1ZQorcmVzb3VyY2VTaXplOiA1MDAKK3RyYW5zZmVyU2l6ZTogOTM3CisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvbmV0d29y
ay1zaXplLWNodW5rZWQuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRw
LXRlc3RzL25ldHdvcmsvbmV0d29yay1zaXplLWNodW5rZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hMjVj
YTBkMTM2YTA1NTFmOWEyZDE3YTQzNmU0YWQ4MmYzOGJlM2E3Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9uZXR3b3Jr
LXNpemUtY2h1bmtlZC5odG1sCkBAIC0wLDAgKzEsMzggQEAKKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2Z1bmN0
aW9uIGxvYWRJbWFnZXMoKQoreworICAgIHZhciBpbWFnZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoImltZyIpOworICAgIGltYWdlLm9ubG9hZCA9IHJlc291cmNlTG9hZGVkOworICAgIGltYWdl
LnNldEF0dHJpYnV0ZSgic3JjIiwgInJlc291cmNlcy9yZXNvdXJjZS5waHA/dHlwZT1pbWFnZSZz
aXplPTUwMCZnemlwPXRydWUmY2h1bmtlZD10cnVlIik7CisgICAgZG9jdW1lbnQuYm9keS5hcHBl
bmRDaGlsZChpbWFnZSk7Cit9CisKK2Z1bmN0aW9uIHJlc291cmNlTG9hZGVkKCkKK3sKKyAgICBj
b25zb2xlLmxvZygiRG9uZS4iKTsKK30KKworZnVuY3Rpb24gdGVzdCgpCit7CisgICAgSW5zcGVj
dG9yVGVzdC5hZGRDb25zb2xlU25pZmZlcihzdGVwMik7CisgICAgSW5zcGVjdG9yVGVzdC5ldmFs
dWF0ZUluUGFnZSgibG9hZEltYWdlcygpIik7CisKKyAgICBmdW5jdGlvbiBzdGVwMigpCisgICAg
eworICAgICAgICB2YXIgcmVxdWVzdDEgPSBXZWJJbnNwZWN0b3IucGFuZWwoIm5ldHdvcmsiKS5y
ZXF1ZXN0c1tXZWJJbnNwZWN0b3IucGFuZWwoIm5ldHdvcmsiKS5yZXF1ZXN0cy5sZW5ndGggLSAx
XTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQocmVxdWVzdDEudXJsKTsKKyAgICAg
ICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoInJlc291cmNlU2l6ZTogIiArIHJlcXVlc3QxLnJl
c291cmNlU2l6ZSk7CisgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJ0cmFuc2ZlclNp
emU6ICIgKyByZXF1ZXN0MS50cmFuc2ZlclNpemUpOworCisgICAgICAgIEluc3BlY3RvclRlc3Qu
Y29tcGxldGVUZXN0KCk7CisgICAgfQorfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxv
YWQ9InJ1blRlc3QoKSI+Cis8cD5UZXN0cyBuZXR3b3JrIHJlc291cmNlIHNpemUgcmVwb3J0aW5n
IGZvciBjaHVua2VkIHRyYW5zZmVyIGVuY29kaW5nLjwvcD4KKzwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdv
cmsvbmV0d29yay1zaXplLWV4cGVjdGVkLWNodW5rZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9uZXR3b3JrLXNpemUtZXhwZWN0ZWQtY2h1
bmtlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNWRiOWIwM2MyMTk5YWRiNDllNTA5NzJlZjU2ZDMwMDMyNTE4
YjUyNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9o
dHRwLXRlc3RzL25ldHdvcmsvbmV0d29yay1zaXplLWV4cGVjdGVkLWNodW5rZWQudHh0CkBAIC0w
LDAgKzEsOCBAQAorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDIyOiBEb25lLgorVGVzdHMgbmV0d29y
ayByZXNvdXJjZSBzaXplIHJlcG9ydGluZy4KKworCitodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5z
cGVjdG9yL25ldHdvcmsvcmVzb3VyY2VzL3Jlc291cmNlLnBocD90eXBlPWltYWdlJnNpemU9NTAw
Jmd6aXA9dHJ1ZSVjaHVua2VkPXRydWUKK3Jlc291cmNlU2l6ZTogNTAwCit0cmFuc2ZlclNpemU6
IDIwOAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10
ZXN0cy9uZXR3b3JrL25ldHdvcmstc2l6ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL25ldHdvcmstc2l6ZS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjQzMzZhYWUzN2M2NDYxOTAxYWYyY2JhOTgyMmMzNTVmMGM4YzgzZQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRl
c3RzL25ldHdvcmsvbmV0d29yay1zaXplLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDExIEBACitD
T05TT0xFIE1FU1NBR0U6IGxpbmUgMjI6IERvbmUuCitUZXN0cyBuZXR3b3JrIHJlc291cmNlIHNp
emUgcmVwb3J0aW5nLgorCisKK2h0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvbmV0d29y
ay9yZXNvdXJjZXMvcmVzb3VyY2UucGhwP3R5cGU9aW1hZ2Umc2l6ZT01MDAKK3Jlc291cmNlU2l6
ZTogNTAwCit0cmFuc2ZlclNpemU6IDUwMAoraHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rv
ci9uZXR3b3JrL3Jlc291cmNlcy9yZXNvdXJjZS5waHA/dHlwZT1pbWFnZSZzaXplPTUwMCZnemlw
PXRydWUKK3Jlc291cmNlU2l6ZTogNTAwCit0cmFuc2ZlclNpemU6IDIwMgorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL25ldHdv
cmstc2l6ZS1zeW5jLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0
ZS9odHRwLXRlc3RzL25ldHdvcmsvbmV0d29yay1zaXplLXN5bmMtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjFhZmFlOWUzNTlhM2JlYTI4ZDFiNDMyMzIxOGRlODhmYWVlMDA5NTAKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3
b3JrL25ldHdvcmstc2l6ZS1zeW5jLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDcgQEAKK0NPTlNP
TEUgTUVTU0FHRTogbGluZSA2OiBYSFIgbG9hZGVkOiAxCitUZXN0cyBuZXR3b3JrIHJlc291cmNl
IHNpemUgcmVwb3J0aW5nIGZvciBzeW5jaHJvbm91cyByZXF1ZXN0cy4KKworaHR0cDovLzEyNy4w
LjAuMTo4MDAwL2luc3BlY3Rvci9uZXR3b3JrL3Jlc291cmNlcy9yZXNvdXJjZS5waHA/dHlwZT1p
bWFnZSZzaXplPTUwMCZnemlwPXRydWUmY2h1bmtlZD10cnVlCityZXNvdXJjZVNpemU6IDUwMAor
dHJhbnNmZXJTaXplOiA5MzcKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9i
c29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9uZXR3b3JrLXNpemUtc3luYy5odG1sIGIvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9uZXR3b3JrLXNpemUt
c3luYy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyNTk5OWFjYzAyOWYyNzAwMjllYjdkYTZhZTY4OWFiZTgy
OWZmMTQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUv
aHR0cC10ZXN0cy9uZXR3b3JrL25ldHdvcmstc2l6ZS1zeW5jLmh0bWwKQEAgLTAsMCArMSwyNSBA
QAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9pbnNwZWN0b3ItdGVzdC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vbmV0d29yay10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQ+CitmdW5jdGlvbiB0ZXN0KCkKK3sKKyAgICBJbnNwZWN0b3JUZXN0Lm1ha2VTaW1wbGVYSFIo
IkdFVCIsICJyZXNvdXJjZXMvcmVzb3VyY2UucGhwP3R5cGU9aW1hZ2Umc2l6ZT01MDAmZ3ppcD10
cnVlJmNodW5rZWQ9dHJ1ZSIsIGZhbHNlLCBzdGVwMik7CisKKyAgICBmdW5jdGlvbiBzdGVwMigp
CisgICAgeworICAgICAgICB2YXIgcmVxdWVzdDEgPSBXZWJJbnNwZWN0b3IucGFuZWwoIm5ldHdv
cmsiKS5yZXF1ZXN0c1tXZWJJbnNwZWN0b3IucGFuZWwoIm5ldHdvcmsiKS5yZXF1ZXN0cy5sZW5n
dGggLSAxXTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQocmVxdWVzdDEudXJsKTsK
KyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoInJlc291cmNlU2l6ZTogIiArIHJlcXVl
c3QxLnJlc291cmNlU2l6ZSk7CisgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJ0cmFu
c2ZlclNpemU6ICIgKyByZXF1ZXN0MS50cmFuc2ZlclNpemUpOworCisgICAgICAgIEluc3BlY3Rv
clRlc3QuY29tcGxldGVUZXN0KCk7CisgICAgfQorfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eSBvbmxvYWQ9InJ1blRlc3QoKSI+Cis8cD5UZXN0cyBuZXR3b3JrIHJlc291cmNlIHNpemUgcmVw
b3J0aW5nIGZvciBzeW5jaHJvbm91cyByZXF1ZXN0cy48L3A+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3
b3JrL25ldHdvcmstc2l6ZS5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0
dHAtdGVzdHMvbmV0d29yay9uZXR3b3JrLXNpemUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kZjUzY2FjZWY2
ZTk0OTZhMzQ3MjQxMmYxNjY4MWZlNDI0MzMxY2Y0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9uZXR3b3JrLXNpemUu
aHRtbApAQCAtMCwwICsxLDU0IEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uL2lu
c3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CitmdW5jdGlvbiBsb2FkSW1hZ2Vz
KCkKK3sKKyAgICB2YXIgaW1hZ2UgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpbWciKTsKKyAg
ICBpbWFnZS5vbmxvYWQgPSByZXNvdXJjZUxvYWRlZDsKKyAgICBpbWFnZS5zZXRBdHRyaWJ1dGUo
InNyYyIsICJyZXNvdXJjZXMvcmVzb3VyY2UucGhwP3R5cGU9aW1hZ2Umc2l6ZT01MDAiKTsKKyAg
ICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGltYWdlKTsKKworICAgIHZhciBpbWFnZTIgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJpbWciKTsKKyAgICBpbWFnZTIub25sb2FkID0gcmVzb3Vy
Y2VMb2FkZWQ7CisgICAgaW1hZ2UyLnNldEF0dHJpYnV0ZSgic3JjIiwgInJlc291cmNlcy9yZXNv
dXJjZS5waHA/dHlwZT1pbWFnZSZzaXplPTUwMCZnemlwPXRydWUiKTsKKyAgICBkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKGltYWdlMik7Cit9CisKK3ZhciBsb2FkZWRSZXNvdXJjZUNvdW50ID0g
MDsKK2Z1bmN0aW9uIHJlc291cmNlTG9hZGVkKCkKK3sKKyAgICBpZiAoKytsb2FkZWRSZXNvdXJj
ZUNvdW50ID09PSAyKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCJEb25lLiIpOworICAgIH0KK30K
KworZnVuY3Rpb24gdGVzdCgpCit7CisgICAgSW5zcGVjdG9yVGVzdC5hZGRDb25zb2xlU25pZmZl
cihzdGVwMik7CisgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgibG9hZEltYWdlcygp
Iik7CisKKyAgICBmdW5jdGlvbiBzdGVwMigpCisgICAgeworICAgICAgICAvLyBpbnNwZWN0b3It
dGVzdC5qcyBhcHBlYXJzIGluIG5ldHdvcmsgcGFuZWwgb2NjYXNpb25hbGx5IGluIFNhZmFyaSBv
bgorICAgICAgICAvLyBNYWMsIHNvIGNoZWNraW5nIHR3byBsYXN0IHJlc291cmNlcy4KKyAgICAg
ICAgdmFyIHJlcXVlc3RzQ291bnQgPSBXZWJJbnNwZWN0b3IucGFuZWwoIm5ldHdvcmsiKS5yZXF1
ZXN0cy5sZW5ndGg7CisgICAgICAgIHZhciByZXF1ZXN0MSA9IFdlYkluc3BlY3Rvci5wYW5lbCgi
bmV0d29yayIpLnJlcXVlc3RzW3JlcXVlc3RzQ291bnQgLSAyXTsKKyAgICAgICAgSW5zcGVjdG9y
VGVzdC5hZGRSZXN1bHQocmVxdWVzdDEudXJsKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRS
ZXN1bHQoInJlc291cmNlU2l6ZTogIiArIHJlcXVlc3QxLnJlc291cmNlU2l6ZSk7CisgICAgICAg
IEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJ0cmFuc2ZlclNpemU6ICIgKyAocmVxdWVzdDEudHJh
bnNmZXJTaXplIC0gcmVxdWVzdDEucmVzcG9uc2VIZWFkZXJzU2l6ZSkpOworCisgICAgICAgIHZh
ciByZXF1ZXN0MiA9IFdlYkluc3BlY3Rvci5wYW5lbCgibmV0d29yayIpLnJlcXVlc3RzW3JlcXVl
c3RzQ291bnQgLSAxXTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQocmVxdWVzdDIu
dXJsKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoInJlc291cmNlU2l6ZTogIiAr
IHJlcXVlc3QyLnJlc291cmNlU2l6ZSk7CisgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0
KCJ0cmFuc2ZlclNpemU6ICIgKyAocmVxdWVzdDIudHJhbnNmZXJTaXplIC0gcmVxdWVzdDIucmVz
cG9uc2VIZWFkZXJzU2l6ZSkpOworCisgICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0
KCk7CisgICAgfQorfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InJ1blRlc3Qo
KSI+Cis8cD5UZXN0cyBuZXR3b3JrIHJlc291cmNlIHNpemUgcmVwb3J0aW5nLjwvcD4KKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9o
dHRwLXRlc3RzL25ldHdvcmsvbmV0d29yay10aW1pbmctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9uZXR3b3JrLXRpbWluZy1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmFkZGQxZTY2OGQ1NWEyZjhjMjQzNDM3YTU0ZWMyZGVk
ODJhNmYxYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0
ZS9odHRwLXRlc3RzL25ldHdvcmsvbmV0d29yay10aW1pbmctZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsNiBAQAorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDIyOiBEb25lLgorVGVzdHMgbmV0d29yayBw
YW5lbCB0aW1pbmcuCisKK2h0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvbmV0d29yay9y
ZXNvdXJjZXMvcmVzb3VyY2UucGhwP3R5cGU9anMmd2FpdD0xMDAmc2VuZD0yMDAmanNkZWxheT0z
MDAmanNjb250ZW50PXJlc291cmNlTG9hZGVkKCkKK2h0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNw
ZWN0b3IvbmV0d29yay9yZXNvdXJjZXMvcmVzb3VyY2UucGhwP3R5cGU9anMmd2FpdD0xMDAmc2Vu
ZD0xMDAmanNjb250ZW50PXJlc291cmNlTG9hZGVkKCkKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9uZXR3b3JrLXRpbWluZy5o
dG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9u
ZXR3b3JrLXRpbWluZy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY1ZWIyYzJkODI4ZmU2YmYxYzI2Y2IyODEw
MzM1MjgyZWU5ZWQ1NTcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3It
b2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL25ldHdvcmstdGltaW5nLmh0bWwKQEAgLTAsMCAr
MSw1MyBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9pbnNwZWN0b3ItdGVzdC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorZnVuY3Rpb24gbG9hZFNjcmlwdHMoKQoreworICAgIC8v
IFdhaXQgMTAwIG1zLCB0aGVuIHNlcnZlIGZvciAyMDBtcyBmaWxlIGNvbnRhaW5pbmcgMzAwbXMg
bG9vcC4KKyAgICB2YXIgc2NyaXB0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7
CisgICAgc2NyaXB0LnNldEF0dHJpYnV0ZSgic3JjIiwgInJlc291cmNlcy9yZXNvdXJjZS5waHA/
dHlwZT1qcyZ3YWl0PTEwMCZzZW5kPTIwMCZqc2RlbGF5PTMwMCZqc2NvbnRlbnQ9cmVzb3VyY2VM
b2FkZWQoKSIpOworICAgIGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoc2NyaXB0KTsKKworICAg
IC8vIFdhaXQgMTAwIG1zLCB0aGVuIHNlcnZlIGZvciAxMDBtcyBhbmQgY2FsbCBjb25zb2xlLmxv
ZyBpbiBjb250ZW50LgorICAgIHNjcmlwdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNjcmlw
dCIpOworICAgIHNjcmlwdC5zZXRBdHRyaWJ1dGUoInNyYyIsICJyZXNvdXJjZXMvcmVzb3VyY2Uu
cGhwP3R5cGU9anMmd2FpdD0xMDAmc2VuZD0xMDAmanNjb250ZW50PXJlc291cmNlTG9hZGVkKCki
KTsKKyAgICBkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKHNjcmlwdCk7Cit9CisKK3ZhciBsb2Fk
ZWRSZXNvdXJjZUNvdW50ID0gMDsKK2Z1bmN0aW9uIHJlc291cmNlTG9hZGVkKCkKK3sKKyAgICBp
ZiAoKytsb2FkZWRSZXNvdXJjZUNvdW50ID09PSAyKQorICAgICAgICBjb25zb2xlLmxvZygiRG9u
ZS4iKTsKK30KKworZnVuY3Rpb24gdGVzdCgpCit7CisgICAgSW5zcGVjdG9yVGVzdC5hZGRDb25z
b2xlU25pZmZlcihzdGVwMik7CisgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgibG9h
ZFNjcmlwdHMoKSIpOworCisgICAgZnVuY3Rpb24gc3RlcDIoKQorICAgIHsKKyAgICAgICAgLy8g
aW5zcGVjdG9yLXRlc3QuanMgYXBwZWFycyBpbiBuZXR3b3JrIHBhbmVsIG9jY2FzaW9uYWxseSBp
biBTYWZhcmkgb24KKyAgICAgICAgLy8gTWFjLCBzbyBjaGVja2luZyB0d28gbGFzdCByZXF1ZXN0
cy4KKyAgICAgICAgdmFyIHJlcXVlc3RzID0gV2ViSW5zcGVjdG9yLm5ldHdvcmtMb2cucmVxdWVz
dHM7CisgICAgICAgIHZhciByZXF1ZXN0c0NvdW50ID0gcmVxdWVzdHMubGVuZ3RoOworICAgICAg
ICB2YXIgcmVxdWVzdDEgPSByZXF1ZXN0c1tyZXF1ZXN0c0NvdW50IC0gMl07CisgICAgICAgIElu
c3BlY3RvclRlc3QuYWRkUmVzdWx0KHJlcXVlc3QxLnVybCk7CisgICAgICAgIEluc3BlY3RvclRl
c3QuYXNzZXJ0R3JlYXRlck9yRXF1YWwocmVxdWVzdDEubGF0ZW5jeSAqIDEwMDAsIDEwMCwgIkxh
dGVuY3kgb2YgdGhlIGZpcnN0IHJlc291cmNlIik7CisgICAgICAgIEluc3BlY3RvclRlc3QuYXNz
ZXJ0R3JlYXRlck9yRXF1YWwocmVxdWVzdDEuZHVyYXRpb24gKiAxMDAwLCAzMDAsICJEdXJhdGlv
biBvZiB0aGUgZmlyc3QgcmVzb3VyY2UiKTsKKworICAgICAgICB2YXIgcmVxdWVzdDIgPSByZXF1
ZXN0c1tyZXF1ZXN0c0NvdW50IC0gMV07CisgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0
KHJlcXVlc3QyLnVybCk7CisgICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0R3JlYXRlck9yRXF1
YWwocmVxdWVzdDIubGF0ZW5jeSAqIDEwMDAsIDEwMCwgIkxhdGVuY3kgb2YgdGhlIHNlY29uZCBy
ZXNvdXJjZSIpOworICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydEdyZWF0ZXJPckVxdWFsKHJl
cXVlc3QyLmR1cmF0aW9uICogMTAwMCwgMTAwLCAiRHVyYXRpb24gb2YgdGhlIHNlY29uZCByZXNv
dXJjZSIpOworICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOworICAgIH0KK30K
Kzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgorPHA+VGVzdHMg
bmV0d29yayBwYW5lbCB0aW1pbmcuPC9wPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9uZXR3b3Jr
LXdvcmtlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0
cC10ZXN0cy9uZXR3b3JrL25ldHdvcmstd29ya2VyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5j
YmVhNDU0MzQwNTJhMjhhYTZiMzNkZGNkNTczODhiNTMyZTQ5ODUyCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9uZXR3
b3JrLXdvcmtlci1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMCBAQAorQ09OU09MRSBNRVNTQUdF
OiBsaW5lIDE0OiBEb25lLgorVGVzdHMgdGhhdCB3b3JrZXIgY29udGVudCBpcyBhdmFpbGFibGUg
aW4gbmV0d29yayBwYW5lbC4KKworQnVnIDY1OTI5CitodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5z
cGVjdG9yL25ldHdvcmsvcmVzb3VyY2VzL3dvcmtlci5qcworcmVzb3VyY2UudHlwZTogc2NyaXB0
CityZXNvdXJjZS5jb250ZW50IGJlZm9yZSByZXF1ZXN0aW5nIGNvbnRlbnQ6IHVuZGVmaW5lZAor
cmVzb3VyY2UuY29udGVudCBhZnRlciByZXF1ZXN0aW5nIGNvbnRlbnQ6IHBvc3RNZXNzYWdlKCJE
b25lLiIpOworCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9o
dHRwLXRlc3RzL25ldHdvcmsvbmV0d29yay13b3JrZXIuaHRtbCBiL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvbmV0d29yay13b3JrZXIuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4zYWU0YzZlNGVkZTgwNDA0MGQyMWM5ZjJlZWIwMzViZWMwNjk2MmY4Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0
d29yay9uZXR3b3JrLXdvcmtlci5odG1sCkBAIC0wLDAgKzEsNTIgQEAKKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uL25ldHdvcmstdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorZnVuY3Rpb24gbG9h
ZERhdGEoKQoreworICAgIHZhciB3b3JrZXIgPSBuZXcgV29ya2VyKCJyZXNvdXJjZXMvd29ya2Vy
LmpzIik7CisgICAgd29ya2VyLm9ubWVzc2FnZSA9IHdvcmtlckxvYWRlZDsKK30KKworZnVuY3Rp
b24gd29ya2VyTG9hZGVkKGV2ZW50KQoreworICAgIGNvbnNvbGUubG9nKGV2ZW50LmRhdGEpOwor
fQorCitmdW5jdGlvbiB0ZXN0KCkKK3sKKyAgICAvLyBTaW5jZSB0aGlzIHRlc3QgY291bGQgYmUg
cnVuIHRvZ2V0aGVyIHdpdGggb3RoZXIgaW5zcGVjdG9yIGJhY2tlbmQgY2FjaGUKKyAgICAvLyB0
ZXN0cywgd2UgbmVlZCB0byByZXNldCBzaXplIGxpbWl0cyB0byBkZWZhdWx0IG9uZXMuCisgICAg
SW5zcGVjdG9yVGVzdC5yZXNldEluc3BlY3RvclJlc291cmNlc0RhdGEoc3RlcDEpOworCisgICAg
ZnVuY3Rpb24gc3RlcDEoKQorICAgIHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRDb25zb2xl
U25pZmZlcihzdGVwMik7CisgICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoImxv
YWREYXRhKCkiKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBzdGVwMigpCisgICAgeworICAgICAg
ICB2YXIgcmVxdWVzdDEgPSBXZWJJbnNwZWN0b3IucGFuZWwoIm5ldHdvcmsiKS5yZXF1ZXN0c1tX
ZWJJbnNwZWN0b3IucGFuZWwoIm5ldHdvcmsiKS5yZXF1ZXN0cy5sZW5ndGggLSAxXTsKKyAgICAg
ICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQocmVxdWVzdDEudXJsKTsKKyAgICAgICAgSW5zcGVj
dG9yVGVzdC5hZGRSZXN1bHQoInJlc291cmNlLnR5cGU6ICIgKyByZXF1ZXN0MS50eXBlKTsKKyAg
ICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoInJlc291cmNlLmNvbnRlbnQgYmVmb3JlIHJl
cXVlc3RpbmcgY29udGVudDogIiArIHJlcXVlc3QxLmNvbnRlbnQpOworICAgICAgICByZXF1ZXN0
MS5yZXF1ZXN0Q29udGVudChzdGVwMyk7CisgICAgfQorCisgICAgZnVuY3Rpb24gc3RlcDMoKQor
ICAgIHsKKyAgICAgICAgdmFyIHJlcXVlc3QxID0gV2ViSW5zcGVjdG9yLnBhbmVsKCJuZXR3b3Jr
IikucmVxdWVzdHNbV2ViSW5zcGVjdG9yLnBhbmVsKCJuZXR3b3JrIikucmVxdWVzdHMubGVuZ3Ro
IC0gMV07CisgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJyZXNvdXJjZS5jb250ZW50
IGFmdGVyIHJlcXVlc3RpbmcgY29udGVudDogIiArIHJlcXVlc3QxLmNvbnRlbnQpOworCisgICAg
ICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7CisgICAgfQorfQorPC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Cis8cD5UZXN0cyB0aGF0IHdvcmtlciBj
b250ZW50IGlzIGF2YWlsYWJsZSBpbiBuZXR3b3JrIHBhbmVsLjwvcD4KKzxhIGhyZWY9Imh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NTkyOSI+QnVnIDY1OTI5PC9hPgor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29s
ZXRlL2h0dHAtdGVzdHMvbmV0d29yay9uZXR3b3JrLXhoci1hc3luYy1kb3VibGUtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9u
ZXR3b3JrLXhoci1hc3luYy1kb3VibGUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjkwYTZlZGE4
ODljOWFjY2VhNzc3OGZlMDMzZGFkY2QzNDJkZTQxNWYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL25ldHdvcmsteGhy
LWFzeW5jLWRvdWJsZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw2IEBACitDT05TT0xFIE1FU1NB
R0U6IGxpbmUgNjogWEhSIGxvYWRlZDogMQorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDY6IFhIUiBs
b2FkZWQ6IDIKK1Rlc3RzIHJlc3BvbnNlcyBpbiBuZXR3b3JrIHRhYiBmb3IgdHdvIFhIUnMgc2Vu
dCB3aXRob3V0IGFueSBkZWxheSBiZXR3ZWVuIHRoZW0uIEJ1ZyA5MTYzMAorcmVzb3VyY2UxLmNv
bnRlbnQ6IHJlcXVlc3QxCityZXNvdXJjZTIuY29udGVudDogcmVxdWVzdDIKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9uZXR3
b3JrLXhoci1hc3luYy1kb3VibGUuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0
ZS9odHRwLXRlc3RzL25ldHdvcmsvbmV0d29yay14aHItYXN5bmMtZG91YmxlLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMGJjZTg0YWE3OWE1YzhlM2VlOTM4MWMxNzkzNTdmMTAyMDA3MWE0YgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdv
cmsvbmV0d29yay14aHItYXN5bmMtZG91YmxlLmh0bWwKQEAgLTAsMCArMSw0OSBAQAorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vbmV0d29yay10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CitmdW5j
dGlvbiB0ZXN0KCkKK3sKKyAgICAvLyBTaW5jZSB0aGlzIHRlc3QgY291bGQgYmUgcnVuIHRvZ2V0
aGVyIHdpdGggb3RoZXIgaW5zcGVjdG9yIGJhY2tlbmQgY2FjaGUKKyAgICAvLyB0ZXN0cywgd2Ug
bmVlZCB0byByZXNldCBzaXplIGxpbWl0cyB0byBkZWZhdWx0IG9uZXMuCisgICAgSW5zcGVjdG9y
VGVzdC5yZXNldEluc3BlY3RvclJlc291cmNlc0RhdGEoc3RlcDEpOworCisgICAgZnVuY3Rpb24g
c3RlcDEoKQorICAgIHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5tYWtlU2ltcGxlWEhSV2l0aFBh
eWxvYWQoIlBPU1QiLCAicmVzb3VyY2VzL2VjaG8tcGF5bG9hZC5waHAiLCB0cnVlLCAncmVxdWVz
dDEnLCBzdGVwMik7CisgICAgfQorCisgICAgZnVuY3Rpb24gc3RlcDIoKQorICAgIHsKKyAgICAg
ICAgSW5zcGVjdG9yVGVzdC5tYWtlU2ltcGxlWEhSV2l0aFBheWxvYWQoIlBPU1QiLCAicmVzb3Vy
Y2VzL2VjaG8tcGF5bG9hZC5waHAiLCB0cnVlLCAncmVxdWVzdDInLCBzdGVwMyk7CisgICAgfQor
CisgICAgZnVuY3Rpb24gc3RlcDMoKQorICAgIHsKKyAgICAgICAgdmFyIHJlcXVlc3QxID0gV2Vi
SW5zcGVjdG9yLnBhbmVsKCJuZXR3b3JrIikucmVxdWVzdHNbV2ViSW5zcGVjdG9yLnBhbmVsKCJu
ZXR3b3JrIikucmVxdWVzdHMubGVuZ3RoIC0gMl07CisgICAgICAgIHZhciByZXF1ZXN0MiA9IFdl
Ykluc3BlY3Rvci5wYW5lbCgibmV0d29yayIpLnJlcXVlc3RzW1dlYkluc3BlY3Rvci5wYW5lbCgi
bmV0d29yayIpLnJlcXVlc3RzLmxlbmd0aCAtIDFdOworICAgICAgICByZXF1ZXN0MS5yZXF1ZXN0
Q29udGVudChzdGVwNCk7CisgICAgICAgIHJlcXVlc3QyLnJlcXVlc3RDb250ZW50KHN0ZXA0KTsK
KyAgICB9CisKKyAgICB2YXIgdG9Mb2FkID0gMjsKKyAgICBmdW5jdGlvbiBzdGVwNCgpCisgICAg
eworICAgICAgICBpZiAoLS10b0xvYWQpCisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIHZh
ciByZXF1ZXN0MSA9IFdlYkluc3BlY3Rvci5wYW5lbCgibmV0d29yayIpLnJlcXVlc3RzW1dlYklu
c3BlY3Rvci5wYW5lbCgibmV0d29yayIpLnJlcXVlc3RzLmxlbmd0aCAtIDJdOworICAgICAgICB2
YXIgcmVxdWVzdDIgPSBXZWJJbnNwZWN0b3IucGFuZWwoIm5ldHdvcmsiKS5yZXF1ZXN0c1tXZWJJ
bnNwZWN0b3IucGFuZWwoIm5ldHdvcmsiKS5yZXF1ZXN0cy5sZW5ndGggLSAxXTsKKyAgICAgICAg
SW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoInJlc291cmNlMS5jb250ZW50OiAiICsgcmVxdWVzdDEu
Y29udGVudCk7CisgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJyZXNvdXJjZTIuY29u
dGVudDogIiArIHJlcXVlc3QyLmNvbnRlbnQpOworICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2Vy
dFRydWUocmVxdWVzdDEuY29udGVudCA9PT0gJ3JlcXVlc3QxJyAmJiByZXF1ZXN0Mi5jb250ZW50
ID09PSAncmVxdWVzdDInKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsK
KyAgICB9Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4K
K1Rlc3RzIHJlc3BvbnNlcyBpbiBuZXR3b3JrIHRhYiBmb3IgdHdvIFhIUnMgc2VudCB3aXRob3V0
IGFueSBkZWxheSBiZXR3ZWVuIHRoZW0uCis8YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9OTE2MzAiPkJ1ZyA5MTYzMDwvYT4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25l
dHdvcmsvbmV0d29yay14aHItYXN5bmMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9uZXR3b3JrLXhoci1hc3luYy1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMmQxNTdjMTQwM2M1Mzc0MGVhNWM2YzYxZjQ2YTY1MTdjOGMyYTVh
ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRw
LXRlc3RzL25ldHdvcmsvbmV0d29yay14aHItYXN5bmMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
OCBAQAorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDY6IFhIUiBsb2FkZWQ6IDEKK1Rlc3RzIFhIUiBu
ZXR3b3JrIHJlc291cmNlIHR5cGUgYW5kIGNvbnRlbnQgZm9yIGFzeW5jaHJvbm91cyByZXF1ZXN0
cy4gQnVnIDYxMjA1CisKK2h0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvbmV0d29yay9y
ZXNvdXJjZXMvcmVzb3VyY2UucGhwCityZXNvdXJjZS50eXBlOiB4aHIKK3Jlc291cmNlLmNvbnRl
bnQgYmVmb3JlIHJlcXVlc3RpbmcgY29udGVudDogdW5kZWZpbmVkCityZXNvdXJjZS5jb250ZW50
IGFmdGVyIHJlcXVlc3RpbmcgY29udGVudDogSGVsbG8gd29ybGQKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9uZXR3b3JrLXho
ci1hc3luYy5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMv
bmV0d29yay9uZXR3b3JrLXhoci1hc3luYy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFhZjkzZTA4MjE3MGJi
NjUyMjcyZTQ4NjQ5YzZlZWJiMDlmOTBlY2MKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL25ldHdvcmsteGhyLWFzeW5j
Lmh0bWwKQEAgLTAsMCArMSw0MyBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9p
bnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vbmV0d29yay10ZXN0
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CitmdW5jdGlvbiB0ZXN0KCkKK3sKKyAgICAvLyBTaW5j
ZSB0aGlzIHRlc3QgY291bGQgYmUgcnVuIHRvZ2V0aGVyIHdpdGggb3RoZXIgaW5zcGVjdG9yIGJh
Y2tlbmQgY2FjaGUKKyAgICAvLyB0ZXN0cywgd2UgbmVlZCB0byByZXNldCBzaXplIGxpbWl0cyB0
byBkZWZhdWx0IG9uZXMuCisgICAgSW5zcGVjdG9yVGVzdC5yZXNldEluc3BlY3RvclJlc291cmNl
c0RhdGEoc3RlcDEpOworCisgICAgZnVuY3Rpb24gc3RlcDEoKQorICAgIHsKKyAgICAgICAgSW5z
cGVjdG9yVGVzdC5tYWtlU2ltcGxlWEhSKCJHRVQiLCAicmVzb3VyY2VzL3Jlc291cmNlLnBocCIs
IHRydWUsIHN0ZXAyKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBzdGVwMigpCisgICAgeworICAg
ICAgICB2YXIgcmVxdWVzdDEgPSBXZWJJbnNwZWN0b3IucGFuZWwoIm5ldHdvcmsiKS5yZXF1ZXN0
c1tXZWJJbnNwZWN0b3IucGFuZWwoIm5ldHdvcmsiKS5yZXF1ZXN0cy5sZW5ndGggLSAxXTsKKyAg
ICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQocmVxdWVzdDEudXJsKTsKKyAgICAgICAgSW5z
cGVjdG9yVGVzdC5hZGRSZXN1bHQoInJlc291cmNlLnR5cGU6ICIgKyByZXF1ZXN0MS50eXBlKTsK
KyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoInJlc291cmNlLmNvbnRlbnQgYmVmb3Jl
IHJlcXVlc3RpbmcgY29udGVudDogIiArIHJlcXVlc3QxLmNvbnRlbnQpOworICAgICAgICBJbnNw
ZWN0b3JUZXN0LmFzc2VydFRydWUoIXJlcXVlc3QxLmZhaWxlZCwgIlJlc291cmNlIGxvYWRpbmcg
ZmFpbGVkLiIpOworICAgICAgICByZXF1ZXN0MS5yZXF1ZXN0Q29udGVudChzdGVwMyk7CisgICAg
fQorCisgICAgZnVuY3Rpb24gc3RlcDMoKQorICAgIHsKKyAgICAgICAgdmFyIHJlcXVlc3QxID0g
V2ViSW5zcGVjdG9yLnBhbmVsKCJuZXR3b3JrIikucmVxdWVzdHNbV2ViSW5zcGVjdG9yLnBhbmVs
KCJuZXR3b3JrIikucmVxdWVzdHMubGVuZ3RoIC0gMV07CisgICAgICAgIEluc3BlY3RvclRlc3Qu
YWRkUmVzdWx0KCJyZXNvdXJjZS5jb250ZW50IGFmdGVyIHJlcXVlc3RpbmcgY29udGVudDogIiAr
IHJlcXVlc3QxLmNvbnRlbnQpOworCisgICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0
KCk7CisgICAgfQorfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InJ1blRlc3Qo
KSI+CisgPHA+CisgVGVzdHMgWEhSIG5ldHdvcmsgcmVzb3VyY2UgdHlwZSBhbmQgY29udGVudCBm
b3IgYXN5bmNocm9ub3VzIHJlcXVlc3RzLgorPGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTYxMjA1Ij5CdWcgNjEyMDU8L2E+Cis8L3A+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10
ZXN0cy9uZXR3b3JrL25ldHdvcmsteGhyLXJlcGxheS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL25ldHdvcmsteGhyLXJlcGxh
eS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjI5NzFhZTY4ZmM0ZTFiMzY2NjNlOTM2N2FmZTdj
MThiMDljNTEwNwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNv
bGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvbmV0d29yay14aHItcmVwbGF5LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDYwIEBACitDT05TT0xFIE1FU1NBR0U6IGxpbmUgNjogWEhSIGxvYWRlZDogMQor
Q09OU09MRSBNRVNTQUdFOiBsaW5lIDY6IFhIUiBsb2FkZWQ6IDIKK0NPTlNPTEUgTUVTU0FHRTog
bGluZSA2OiBYSFIgbG9hZGVkOiAzCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgNjogWEhSIGxvYWRl
ZDogNAorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDY6IFhIUiBsb2FkZWQ6IDUKK0NPTlNPTEUgTUVT
U0FHRTogbGluZSA2OiBYSFIgbG9hZGVkOiA2CitDT05TT0xFIE1FU1NBR0U6IGxpbmUgNjogWEhS
IGxvYWRlZDogNworQ09OU09MRSBNRVNTQUdFOiBsaW5lIDY6IFhIUiBsb2FkZWQ6IDgKK1Rlc3Rz
IFhIUiByZXBsYXlpbmcuIEJ1ZyA5NTE4NworCitSdW5uaW5nOiB0ZXN0R2V0U3RhdGljQXN5bmMK
K0R1bXBpbmcgcmVxdWVzdDogCisgICAgdXJsOiBodHRwOi8vdXNlcjpwYXNzd29yZEAxMjcuMC4w
LjE6ODAwMC9pbnNwZWN0b3IvbmV0d29yay9yZXNvdXJjZXMvZW1wdHkuaHRtbAorICAgIHJlcXVl
c3RNZXRob2Q6IEdFVAorICAgIHRlc3QgcmVxdWVzdCBoZWFkZXIgdmFsdWU6IGhlYWRlclZhbHVl
CisKK1J1bm5pbmc6IHRlc3RHZXRTdGF0aWNTeW5jCitEdW1waW5nIHJlcXVlc3Q6IAorICAgIHVy
bDogaHR0cDovL3VzZXI6cGFzc3dvcmRAMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL25ldHdvcmsv
cmVzb3VyY2VzL2VtcHR5Lmh0bWwKKyAgICByZXF1ZXN0TWV0aG9kOiBHRVQKKyAgICB0ZXN0IHJl
cXVlc3QgaGVhZGVyIHZhbHVlOiBoZWFkZXJWYWx1ZQorCitSdW5uaW5nOiB0ZXN0R2V0Q2FjaGVk
QXN5bmMKK0R1bXBpbmcgcmVxdWVzdDogCisgICAgdXJsOiBodHRwOi8vdXNlcjpwYXNzd29yZEAx
MjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvbmV0d29yay9yZXNvdXJjZXMvcmFuZG9tLWNhY2hlZC5w
aHAKKyAgICByZXF1ZXN0TWV0aG9kOiBHRVQKKyAgICB0ZXN0IHJlcXVlc3QgaGVhZGVyIHZhbHVl
OiBoZWFkZXJWYWx1ZQorCitSdW5uaW5nOiB0ZXN0R2V0Q2FjaGVkU3luYworRHVtcGluZyByZXF1
ZXN0OiAKKyAgICB1cmw6IGh0dHA6Ly91c2VyOnBhc3N3b3JkQDEyNy4wLjAuMTo4MDAwL2luc3Bl
Y3Rvci9uZXR3b3JrL3Jlc291cmNlcy9yYW5kb20tY2FjaGVkLnBocAorICAgIHJlcXVlc3RNZXRo
b2Q6IEdFVAorICAgIHRlc3QgcmVxdWVzdCBoZWFkZXIgdmFsdWU6IGhlYWRlclZhbHVlCisKK1J1
bm5pbmc6IHRlc3RHZXRSYW5kb21Bc3luYworRHVtcGluZyByZXF1ZXN0OiAKKyAgICB1cmw6IGh0
dHA6Ly91c2VyOnBhc3N3b3JkQDEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9uZXR3b3JrL3Jlc291
cmNlcy9yYW5kb20ucGhwCisgICAgcmVxdWVzdE1ldGhvZDogR0VUCisgICAgdGVzdCByZXF1ZXN0
IGhlYWRlciB2YWx1ZTogaGVhZGVyVmFsdWUKKworUnVubmluZzogdGVzdEdldFJhbmRvbVN5bmMK
K0R1bXBpbmcgcmVxdWVzdDogCisgICAgdXJsOiBodHRwOi8vdXNlcjpwYXNzd29yZEAxMjcuMC4w
LjE6ODAwMC9pbnNwZWN0b3IvbmV0d29yay9yZXNvdXJjZXMvcmFuZG9tLnBocAorICAgIHJlcXVl
c3RNZXRob2Q6IEdFVAorICAgIHRlc3QgcmVxdWVzdCBoZWFkZXIgdmFsdWU6IGhlYWRlclZhbHVl
CisKK1J1bm5pbmc6IHRlc3RQb3N0QXN5bmMKK0R1bXBpbmcgcmVxdWVzdDogCisgICAgdXJsOiBo
dHRwOi8vdXNlcjpwYXNzd29yZEAxMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvbmV0d29yay9yZXNv
dXJjZXMvcmFuZG9tLnBocAorICAgIHJlcXVlc3RGb3JtRGF0YTogcGF5bG9hZAorICAgIHJlcXVl
c3RNZXRob2Q6IFBPU1QKKyAgICB0ZXN0IHJlcXVlc3QgaGVhZGVyIHZhbHVlOiBoZWFkZXJWYWx1
ZQorCitSdW5uaW5nOiB0ZXN0UG9zdFN5bmMKK0R1bXBpbmcgcmVxdWVzdDogCisgICAgdXJsOiBo
dHRwOi8vdXNlcjpwYXNzd29yZEAxMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvbmV0d29yay9yZXNv
dXJjZXMvcmFuZG9tLnBocAorICAgIHJlcXVlc3RGb3JtRGF0YTogcGF5bG9hZAorICAgIHJlcXVl
c3RNZXRob2Q6IFBPU1QKKyAgICB0ZXN0IHJlcXVlc3QgaGVhZGVyIHZhbHVlOiBoZWFkZXJWYWx1
ZQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0
cy9uZXR3b3JrL25ldHdvcmsteGhyLXJlcGxheS5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
LW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9uZXR3b3JrLXhoci1yZXBsYXkuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5lZmY1OGQ3NTg2OWRjMDFiODM1NjQ3NzRjYjM0OWNjMjQ2OGE0YTQwCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0
d29yay9uZXR3b3JrLXhoci1yZXBsYXkuaHRtbApAQCAtMCwwICsxLDEwOSBAQAorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vbmV0d29yay10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisKK2Z1bmN0
aW9uIHRlc3QoKQoreworICAgIHZhciBuZXR3b3JrUGFuZWwgPSBXZWJJbnNwZWN0b3Iuc2hvd1Bh
bmVsKCJuZXR3b3JrIik7CisKKyAgICBmdW5jdGlvbiBsYXN0UmVxdWVzdCgpCisgICAgeworICAg
ICAgICByZXR1cm4gbmV0d29ya1BhbmVsLnJlcXVlc3RzW25ldHdvcmtQYW5lbC5yZXF1ZXN0cy5s
ZW5ndGggLSAxXTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBkdW1wUmVxdWVzdChyZXF1ZXN0KQor
ICAgIHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIkR1bXBpbmcgcmVxdWVzdDog
Iik7CisgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCIgICAgdXJsOiAiICsgcmVxdWVz
dC51cmwpOworICAgICAgICBpZiAocmVxdWVzdC5yZXF1ZXN0Rm9ybURhdGEpCisgICAgICAgICAg
ICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiICAgIHJlcXVlc3RGb3JtRGF0YTogIiArIHJlcXVl
c3QucmVxdWVzdEZvcm1EYXRhKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIiAg
ICByZXF1ZXN0TWV0aG9kOiAiICsgcmVxdWVzdC5yZXF1ZXN0TWV0aG9kKTsKKyAgICAgICAgSW5z
cGVjdG9yVGVzdC5hZGRSZXN1bHQoIiAgICB0ZXN0IHJlcXVlc3QgaGVhZGVyIHZhbHVlOiAiICsg
cmVxdWVzdC5yZXF1ZXN0SGVhZGVyVmFsdWUoImhlYWRlck5hbWUiKSk7CisgICAgfQorCisgICAg
ZnVuY3Rpb24gYXNzZXJ0UmVxdWVzdEVxdWFsKHJlcXVlc3QxLCByZXF1ZXN0MikKKyAgICB7Cisg
ICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0RXF1YWxzKHJlcXVlc3QxLnVybCwgcmVxdWVzdDIu
dXJsLCAiUmVxdWVzdHMgaGF2ZSBkaWZmZXJlbnQgdXJsIik7CisgICAgICAgIEluc3BlY3RvclRl
c3QuYXNzZXJ0RXF1YWxzKHJlcXVlc3QxLnJlcXVlc3RGb3JtRGF0YSwgcmVxdWVzdDIucmVxdWVz
dEZvcm1EYXRhLCAiUmVxdWVzdHMgaGF2ZSBkaWZmZXJlbnQgcmVxdWVzdEZvcm1EYXRhIik7Cisg
ICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0RXF1YWxzKHJlcXVlc3QxLnJlcXVlc3RNZXRob2Qs
IHJlcXVlc3QyLnJlcXVlc3RNZXRob2QsICJSZXF1ZXN0cyBoYXZlIGRpZmZlcmVudCByZXF1ZXN0
TWV0aG9kIik7CisgICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0RXF1YWxzKHJlcXVlc3QxLnJl
cXVlc3RIZWFkZXJzVGV4dCwgcmVxdWVzdDIucmVxdWVzdEhlYWRlcnNUZXh0LCAiUmVxdWVzdHMg
aGF2ZSBkaWZmZXJlbnQgcmVxdWVzdEhlYWRlcnNUZXh0Iik7CisgICAgfQorCisgICAgZnVuY3Rp
b24gdGVzdFhIUlJlcGxheShtZXRob2QsIHVybCwgYXN5bmMsIHVzZXIsIHBhc3N3b3JkLCBoZWFk
ZXJzLCB3aXRoQ3JlZGVudGlhbHMsIHBheWxvYWQsIGNhbGxiYWNrKQorICAgIHsKKyAgICAgICAg
SW5zcGVjdG9yVGVzdC5yZXNldEluc3BlY3RvclJlc291cmNlc0RhdGEoc3RlcDEpOworCisgICAg
ICAgIGZ1bmN0aW9uIHN0ZXAxKCkKKyAgICAgICAgeworICAgICAgICAgICAgSW5zcGVjdG9yVGVz
dC5tYWtlWEhSKG1ldGhvZCwgdXJsLCBhc3luYywgdXNlciwgcGFzc3dvcmQsIGhlYWRlcnMsIHdp
dGhDcmVkZW50aWFscywgcGF5bG9hZCwgc3RlcDIpOworICAgICAgICB9CisKKyAgICAgICAgdmFy
IG9yaWdpbmFsUmVxdWVzdDsKKyAgICAgICAgZnVuY3Rpb24gc3RlcDIoKQorICAgICAgICB7Cisg
ICAgICAgICAgICBvcmlnaW5hbFJlcXVlc3QgPSBsYXN0UmVxdWVzdCgpOworICAgICAgICAgICAg
ZHVtcFJlcXVlc3Qob3JpZ2luYWxSZXF1ZXN0KTsKKyAgICAgICAgICAgIE5ldHdvcmtBZ2VudC5y
ZXBsYXlYSFIob3JpZ2luYWxSZXF1ZXN0LnJlcXVlc3RJZCk7CisgICAgICAgICAgICBJbnNwZWN0
b3JUZXN0LmFkZFNuaWZmZXIoV2ViSW5zcGVjdG9yLk5ldHdvcmtMb2dWaWV3LnByb3RvdHlwZSwg
Il9hcHBlbmRSZXF1ZXN0Iiwgc3RlcDMpOworICAgICAgICB9CisKKyAgICAgICAgZnVuY3Rpb24g
c3RlcDMoKQorICAgICAgICB7CisgICAgICAgICAgICB2YXIgcmVwbGF5ZWRSZXF1ZXN0ID0gbGFz
dFJlcXVlc3QoKTsKKyAgICAgICAgICAgIGFzc2VydFJlcXVlc3RFcXVhbChvcmlnaW5hbFJlcXVl
c3QsIHJlcGxheWVkUmVxdWVzdCk7CisgICAgICAgICAgICBjYWxsYmFjaygpOworICAgICAgICB9
CisgICAgfQorCisKKyAgICBJbnNwZWN0b3JUZXN0LnJ1blRlc3RTdWl0ZShbCisgICAgICAgIGZ1
bmN0aW9uIHRlc3RHZXRTdGF0aWNBc3luYyhuZXh0KQorICAgICAgICB7CisgICAgICAgICAgICB0
ZXN0WEhSUmVwbGF5KCJHRVQiLCAicmVzb3VyY2VzL2VtcHR5Lmh0bWwiLCB0cnVlLCAidXNlciIs
ICJwYXNzd29yZCIsIFtbImhlYWRlck5hbWUiLCAiaGVhZGVyVmFsdWUiXV0sIGZhbHNlLCB1bmRl
ZmluZWQsIG5leHQpOworICAgICAgICB9LAorCisgICAgICAgIGZ1bmN0aW9uIHRlc3RHZXRTdGF0
aWNTeW5jKG5leHQpCisgICAgICAgIHsKKyAgICAgICAgICAgIHRlc3RYSFJSZXBsYXkoIkdFVCIs
ICJyZXNvdXJjZXMvZW1wdHkuaHRtbCIsIGZhbHNlLCAidXNlciIsICJwYXNzd29yZCIsIFtbImhl
YWRlck5hbWUiLCAiaGVhZGVyVmFsdWUiXV0sIGZhbHNlLCB1bmRlZmluZWQsIG5leHQpOworICAg
ICAgICB9LAorCisgICAgICAgIGZ1bmN0aW9uIHRlc3RHZXRDYWNoZWRBc3luYyhuZXh0KQorICAg
ICAgICB7CisgICAgICAgICAgICB0ZXN0WEhSUmVwbGF5KCJHRVQiLCAicmVzb3VyY2VzL3JhbmRv
bS1jYWNoZWQucGhwIiwgdHJ1ZSwgInVzZXIiLCAicGFzc3dvcmQiLCBbWyJoZWFkZXJOYW1lIiwg
ImhlYWRlclZhbHVlIl1dLCBmYWxzZSwgdW5kZWZpbmVkLCBuZXh0KTsKKyAgICAgICAgfSwKKwor
ICAgICAgICBmdW5jdGlvbiB0ZXN0R2V0Q2FjaGVkU3luYyhuZXh0KQorICAgICAgICB7CisgICAg
ICAgICAgICB0ZXN0WEhSUmVwbGF5KCJHRVQiLCAicmVzb3VyY2VzL3JhbmRvbS1jYWNoZWQucGhw
IiwgZmFsc2UsICJ1c2VyIiwgInBhc3N3b3JkIiwgW1siaGVhZGVyTmFtZSIsICJoZWFkZXJWYWx1
ZSJdXSwgZmFsc2UsIHVuZGVmaW5lZCwgbmV4dCk7CisgICAgICAgIH0sCisKKyAgICAgICAgZnVu
Y3Rpb24gdGVzdEdldFJhbmRvbUFzeW5jKG5leHQpCisgICAgICAgIHsKKyAgICAgICAgICAgIHRl
c3RYSFJSZXBsYXkoIkdFVCIsICJyZXNvdXJjZXMvcmFuZG9tLnBocCIsIHRydWUsICJ1c2VyIiwg
InBhc3N3b3JkIiwgW1siaGVhZGVyTmFtZSIsICJoZWFkZXJWYWx1ZSJdXSwgZmFsc2UsIHVuZGVm
aW5lZCwgbmV4dCk7CisgICAgICAgIH0sCisKKyAgICAgICAgZnVuY3Rpb24gdGVzdEdldFJhbmRv
bVN5bmMobmV4dCkKKyAgICAgICAgeworICAgICAgICAgICAgdGVzdFhIUlJlcGxheSgiR0VUIiwg
InJlc291cmNlcy9yYW5kb20ucGhwIiwgZmFsc2UsICJ1c2VyIiwgInBhc3N3b3JkIiwgW1siaGVh
ZGVyTmFtZSIsICJoZWFkZXJWYWx1ZSJdXSwgZmFsc2UsIHVuZGVmaW5lZCwgbmV4dCk7CisgICAg
ICAgIH0sCisKKyAgICAgICAgZnVuY3Rpb24gdGVzdFBvc3RBc3luYyhuZXh0KQorICAgICAgICB7
CisgICAgICAgICAgICB0ZXN0WEhSUmVwbGF5KCJQT1NUIiwgInJlc291cmNlcy9yYW5kb20ucGhw
IiwgdHJ1ZSwgInVzZXIiLCAicGFzc3dvcmQiLCBbWyJoZWFkZXJOYW1lIiwgImhlYWRlclZhbHVl
Il1dLCBmYWxzZSwgInBheWxvYWQiLCBuZXh0KTsKKyAgICAgICAgfSwKKworICAgICAgICBmdW5j
dGlvbiB0ZXN0UG9zdFN5bmMobmV4dCkKKyAgICAgICAgeworICAgICAgICAgICAgdGVzdFhIUlJl
cGxheSgiUE9TVCIsICJyZXNvdXJjZXMvcmFuZG9tLnBocCIsIGZhbHNlLCAidXNlciIsICJwYXNz
d29yZCIsIFtbImhlYWRlck5hbWUiLCAiaGVhZGVyVmFsdWUiXV0sIGZhbHNlLCAicGF5bG9hZCIs
IG5leHQpOworICAgICAgICB9CisgICAgXSk7Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
IG9ubG9hZD0icnVuVGVzdCgpIj4KK1Rlc3RzIFhIUiByZXBsYXlpbmcuCis8YSBocmVmPSJodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTUxODciPkJ1ZyA5NTE4NzwvYT4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNv
bGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvbmV0d29yay14aHItc2FtZS11cmwtYXMtbWFpbi1yZXNv
dXJjZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10
ZXN0cy9uZXR3b3JrL25ldHdvcmsteGhyLXNhbWUtdXJsLWFzLW1haW4tcmVzb3VyY2UtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjk5OGUzMDlhYmQxYjJlYzk4ZmEyY2QzY2U5YjY5NTg2MjE1NmEx
ODAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0
cC10ZXN0cy9uZXR3b3JrL25ldHdvcmsteGhyLXNhbWUtdXJsLWFzLW1haW4tcmVzb3VyY2UtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsNiBAQAorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDY6IFhIUiBs
b2FkZWQ6IDEKK1Rlc3RzIHRoYXQgWEhScyB3aXRoIHRoZSBzYW1lIHVybCBhcyBhIG1haW4gcmVz
b3VyY2UgaGF2ZSBjb3JyZWN0IGNhdGVnb3J5LgorCitCdWcgNjg2NDgKK3hocgorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL25l
dHdvcmsteGhyLXNhbWUtdXJsLWFzLW1haW4tcmVzb3VyY2UuaHRtbCBiL0xheW91dFRlc3RzL2lu
c3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvbmV0d29yay14aHItc2FtZS11cmwt
YXMtbWFpbi1yZXNvdXJjZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNiZGZjYWMwN2M4Y2ZkMTMzMmFmNjdm
ZjcwYmEwZjVkM2JiM2JlMGQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0
b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL25ldHdvcmsteGhyLXNhbWUtdXJsLWFzLW1h
aW4tcmVzb3VyY2UuaHRtbApAQCAtMCwwICsxLDIzIEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlw
dCBzcmM9Ii4uL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9u
ZXR3b3JrLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2Z1bmN0aW9uIHRlc3QoKQorewor
ICAgIEluc3BlY3RvclRlc3QubWFrZVNpbXBsZVhIUigiR0VUIiwgIm5ldHdvcmsteGhyLXNhbWUt
dXJsLWFzLW1haW4tcmVzb3VyY2UuaHRtbCIsIHRydWUsIHN0ZXAyKTsKKworICAgIGZ1bmN0aW9u
IHN0ZXAyKCkKKyAgICB7CisgICAgICAgIHZhciByZXF1ZXN0MSA9IFdlYkluc3BlY3Rvci5wYW5l
bCgibmV0d29yayIpLnJlcXVlc3RzW1dlYkluc3BlY3Rvci5wYW5lbCgibmV0d29yayIpLnJlcXVl
c3RzLmxlbmd0aCAtIDFdOworICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdChyZXF1ZXN0
MS50eXBlLm5hbWUoKSk7CisgICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7Cisg
ICAgfQorfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Cis8
cD5UZXN0cyB0aGF0IFhIUnMgd2l0aCB0aGUgc2FtZSB1cmwgYXMgYSBtYWluIHJlc291cmNlIGhh
dmUgY29ycmVjdCBjYXRlZ29yeS48L3A+Cis8YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9Njg2NDgiPkJ1ZyA2ODY0ODwvYT4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25l
dHdvcmsvbmV0d29yay14aHItc3luYy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0
b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL25ldHdvcmsteGhyLXN5bmMtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmRhNjVmN2I5ZGNiNjJiNDY1OGJmZDE5Yzg0Yzc0ZDgxN2U1OWY3MDMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10
ZXN0cy9uZXR3b3JrL25ldHdvcmsteGhyLXN5bmMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsOCBA
QAorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDY6IFhIUiBsb2FkZWQ6IDEKK1Rlc3RzIFhIUiBuZXR3
b3JrIHJlc291cmNlIHR5cGUgYW5kIGNvbnRlbnQgZm9yIHN5bmNocm9ub3VzIHJlcXVlc3RzLiBC
dWcgNjEyMDUKKworaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9uZXR3b3JrL3Jlc291
cmNlcy9yZXNvdXJjZS5waHAKK3Jlc291cmNlLnR5cGU6IHhocgorcmVzb3VyY2UuY29udGVudCBi
ZWZvcmUgcmVxdWVzdGluZyBjb250ZW50OiB1bmRlZmluZWQKK3Jlc291cmNlLmNvbnRlbnQgYWZ0
ZXIgcmVxdWVzdGluZyBjb250ZW50OiBIZWxsbyB3b3JsZAorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL25ldHdvcmsteGhyLXN5
bmMuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdv
cmsvbmV0d29yay14aHItc3luYy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVmMWYwOTFlMTk0NmUzNjhiZjZi
NzFkZjEyZTdhZTFlMjdhMmQ3YTAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL25ldHdvcmsteGhyLXN5bmMuaHRtbApA
QCAtMCwwICsxLDQzIEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uL2luc3BlY3Rv
ci10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9uZXR3b3JrLXRlc3QuanMiPjwv
c2NyaXB0PgorPHNjcmlwdD4KK2Z1bmN0aW9uIHRlc3QoKQoreworICAgIC8vIFNpbmNlIHRoaXMg
dGVzdCBjb3VsZCBiZSBydW4gdG9nZXRoZXIgd2l0aCBvdGhlciBpbnNwZWN0b3IgYmFja2VuZCBj
YWNoZQorICAgIC8vIHRlc3RzLCB3ZSBuZWVkIHRvIHJlc2V0IHNpemUgbGltaXRzIHRvIGRlZmF1
bHQgb25lcy4KKyAgICBJbnNwZWN0b3JUZXN0LnJlc2V0SW5zcGVjdG9yUmVzb3VyY2VzRGF0YShz
dGVwMSk7CisKKyAgICBmdW5jdGlvbiBzdGVwMSgpCisgICAgeworICAgICAgICBJbnNwZWN0b3JU
ZXN0Lm1ha2VTaW1wbGVYSFIoIkdFVCIsICJyZXNvdXJjZXMvcmVzb3VyY2UucGhwIiwgZmFsc2Us
IHN0ZXAyKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBzdGVwMigpCisgICAgeworICAgICAgICB2
YXIgcmVxdWVzdDEgPSBXZWJJbnNwZWN0b3IucGFuZWwoIm5ldHdvcmsiKS5yZXF1ZXN0c1tXZWJJ
bnNwZWN0b3IucGFuZWwoIm5ldHdvcmsiKS5yZXF1ZXN0cy5sZW5ndGggLSAxXTsKKyAgICAgICAg
SW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQocmVxdWVzdDEudXJsKTsKKyAgICAgICAgSW5zcGVjdG9y
VGVzdC5hZGRSZXN1bHQoInJlc291cmNlLnR5cGU6ICIgKyByZXF1ZXN0MS50eXBlKTsKKyAgICAg
ICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoInJlc291cmNlLmNvbnRlbnQgYmVmb3JlIHJlcXVl
c3RpbmcgY29udGVudDogIiArIHJlcXVlc3QxLmNvbnRlbnQpOworICAgICAgICBJbnNwZWN0b3JU
ZXN0LmFzc2VydFRydWUoIXJlcXVlc3QxLmZhaWxlZCwgIlJlc291cmNlIGxvYWRpbmcgZmFpbGVk
LiIpOworICAgICAgICByZXF1ZXN0MS5yZXF1ZXN0Q29udGVudChzdGVwMyk7CisgICAgfQorCisg
ICAgZnVuY3Rpb24gc3RlcDMoKQorICAgIHsKKyAgICAgICAgdmFyIHJlcXVlc3QxID0gV2ViSW5z
cGVjdG9yLnBhbmVsKCJuZXR3b3JrIikucmVxdWVzdHNbV2ViSW5zcGVjdG9yLnBhbmVsKCJuZXR3
b3JrIikucmVxdWVzdHMubGVuZ3RoIC0gMV07CisgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVz
dWx0KCJyZXNvdXJjZS5jb250ZW50IGFmdGVyIHJlcXVlc3RpbmcgY29udGVudDogIiArIHJlcXVl
c3QxLmNvbnRlbnQpOworCisgICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7Cisg
ICAgfQorfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Cisg
PHA+CisgVGVzdHMgWEhSIG5ldHdvcmsgcmVzb3VyY2UgdHlwZSBhbmQgY29udGVudCBmb3Igc3lu
Y2hyb25vdXMgcmVxdWVzdHMuCis8YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NjEyMDUiPkJ1ZyA2MTIwNTwvYT4KKzwvcD4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25l
dHdvcmsvcGluZy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUv
aHR0cC10ZXN0cy9uZXR3b3JrL3BpbmctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFjOTk0NmEw
MzYzZjlkYTA5YjYyNTI2MTQxMjQ3OTRmZjFlYTUzODQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL3BpbmctZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsNyBAQAorcGluZworVGVzdHMgdGhhdCBoeXBlcmxpbmsgYXVkaXRp
bmcgKHBpbmcpIHJlcXVlc3RzIGFwcGVhciBpbiBuZXR3b3JrIHBhbmVsLgorCitodHRwOi8vMTI3
LjAuMC4xOjgwMDAvaW5zcGVjdG9yL25ldHdvcmsvcGluZy5odG1sCityZXNvdXJjZS5pc1BpbmdS
ZXF1ZXN0KCk6IHRydWUKK3Jlc291cmNlLnJlcXVlc3RDb250ZW50VHlwZTogdGV4dC9waW5nCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25l
dHdvcmsvcGluZy5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVz
dHMvbmV0d29yay9waW5nLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWJmZjZlMmY5ZTI3NzkzMGRmZTYyNjE1
NjM4MmY4YjBhOTdiOWRmMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rv
ci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvcGluZy5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vaW5zcGVjdG9yLXRlc3QuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdD4KK2Z1bmN0aW9uIG9ubG9hZCgpCit7CisgICAgaWYgKHdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0SHlw
ZXJsaW5rQXVkaXRpbmdFbmFibGVkIiwgMSk7CisgICAgcnVuVGVzdCgpOworfQorCitmdW5jdGlv
biBuYXZpZ2F0ZUxpbmsoKQoreworICAgIHZhciBldnQgPSBkb2N1bWVudC5jcmVhdGVFdmVudCgi
TW91c2VFdmVudHMiKTsKKyAgICBldnQuaW5pdE1vdXNlRXZlbnQoImNsaWNrIik7CisgICAgdmFy
IGxpbmsgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGluZ0xpbmsiKTsKKyAgICBsaW5rLmRp
c3BhdGNoRXZlbnQoZXZ0KTsKK30KKworZnVuY3Rpb24gdGVzdCgpCit7CisgICAgSW5zcGVjdG9y
VGVzdC5hZGRTbmlmZmVyKFdlYkluc3BlY3Rvci5OZXR3b3JrRGlzcGF0Y2hlci5wcm90b3R5cGUs
ICJyZXF1ZXN0V2lsbEJlU2VudCIsIHN0ZXAyKTsKKyAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRl
SW5QYWdlKCJuYXZpZ2F0ZUxpbmsoKSIpOworCisgICAgZnVuY3Rpb24gc3RlcDIoKQorICAgIHsK
KyAgICAgICAgLy8gaW5zcGVjdG9yLXRlc3QuanMgYXBwZWFycyBpbiBuZXR3b3JrIHBhbmVsIG9j
Y2FzaW9uYWxseSBpbiBTYWZhcmkgb24KKyAgICAgICAgLy8gTWFjLCBzbyBjaGVja2luZyBsYXN0
IHJlcXVlc3QuCisgICAgICAgIHZhciByZXF1ZXN0cyA9IFdlYkluc3BlY3Rvci5uZXR3b3JrTG9n
LnJlcXVlc3RzOworICAgICAgICB2YXIgcmVxdWVzdHNDb3VudCA9IHJlcXVlc3RzLmxlbmd0aDsK
KyAgICAgICAgdmFyIHJlcXVlc3QgPSByZXF1ZXN0c1tyZXF1ZXN0c0NvdW50IC0gMV07CisKKyAg
ICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQocmVxdWVzdC51cmwpOworICAgICAgICBJbnNw
ZWN0b3JUZXN0LmFkZFJlc3VsdCgicmVzb3VyY2UuaXNQaW5nUmVxdWVzdCgpOiAiICsgcmVxdWVz
dC5pc1BpbmdSZXF1ZXN0KCkpOworICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgicmVz
b3VyY2UucmVxdWVzdENvbnRlbnRUeXBlOiAiICsgcmVxdWVzdC5yZXF1ZXN0Q29udGVudFR5cGUo
KSk7CisKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKKyAgICB9Cit9Cis8
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0ib25sb2FkKCkiPgorPGEgaWQ9InBpbmdM
aW5rIiBocmVmPSIjIiBwaW5nPSJwaW5nLmh0bWwiPnBpbmc8L2E+Cis8cD5UZXN0cyB0aGF0IGh5
cGVybGluayBhdWRpdGluZyAocGluZykgcmVxdWVzdHMgYXBwZWFyIGluIG5ldHdvcmsgcGFuZWwu
PC9wPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
LW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9yZXF1ZXN0LW5hbWUtcGF0aC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL3Jl
cXVlc3QtbmFtZS1wYXRoLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wZmM5ZTE0OTNjNzUzZDJj
YzJlMDc0ODQ5NDlhOTZmMTE0ZTJlNDBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9yZXF1ZXN0LW5hbWUtcGF0aC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSw1MiBAQAorVGVzdHMgbmFtZSgpIGFuZCBwYXRoKCkgbWV0
aG9kcyBvZiBOZXR3b3JrUmVxdWVzdC4KKworQnVnIDEwMTA2NAorRHVtcGluZyByZXF1ZXN0IG5h
bWUgYW5kIHBhdGggZm9yIHVybDogaHR0cDovL3d3dy5leGFtcGxlLmNvbS9mb28vYmFyL2Jhej9r
ZXk9dmFsdWUKKyAgICBuYW1lID0gYmF6P2tleT12YWx1ZQorICAgIHBhdGggPSB3d3cuZXhhbXBs
ZS5jb20vZm9vL2JhcgorRHVtcGluZyByZXF1ZXN0IG5hbWUgYW5kIHBhdGggZm9yIHVybDogaHR0
cDovL3d3dy5leGFtcGxlLmNvbS9mb28vYmFyLz9rZXk9dmFsdWUKKyAgICBuYW1lID0gP2tleT12
YWx1ZQorICAgIHBhdGggPSB3d3cuZXhhbXBsZS5jb20vZm9vL2JhcgorRHVtcGluZyByZXF1ZXN0
IG5hbWUgYW5kIHBhdGggZm9yIHVybDogaHR0cDovL3d3dy5leGFtcGxlLmNvbS9mb28vYmFyL2Jh
egorICAgIG5hbWUgPSBiYXoKKyAgICBwYXRoID0gd3d3LmV4YW1wbGUuY29tL2Zvby9iYXIKK0R1
bXBpbmcgcmVxdWVzdCBuYW1lIGFuZCBwYXRoIGZvciB1cmw6IGh0dHA6Ly93d3cuZXhhbXBsZS5j
b20vZm9vL2Jhci8KKyAgICBuYW1lID0gYmFyLworICAgIHBhdGggPSB3d3cuZXhhbXBsZS5jb20v
Zm9vCitEdW1waW5nIHJlcXVlc3QgbmFtZSBhbmQgcGF0aCBmb3IgdXJsOiBodHRwOi8vd3d3LmV4
YW1wbGUuY29tL2Jhej9rZXk9dmFsdWUKKyAgICBuYW1lID0gYmF6P2tleT12YWx1ZQorICAgIHBh
dGggPSB3d3cuZXhhbXBsZS5jb20KK0R1bXBpbmcgcmVxdWVzdCBuYW1lIGFuZCBwYXRoIGZvciB1
cmw6IGh0dHA6Ly93d3cuZXhhbXBsZS5jb20vP2tleT12YWx1ZQorICAgIG5hbWUgPSA/a2V5PXZh
bHVlCisgICAgcGF0aCA9IHd3dy5leGFtcGxlLmNvbQorRHVtcGluZyByZXF1ZXN0IG5hbWUgYW5k
IHBhdGggZm9yIHVybDogaHR0cDovL3d3dy5leGFtcGxlLmNvbS9iYXoKKyAgICBuYW1lID0gYmF6
CisgICAgcGF0aCA9IHd3dy5leGFtcGxlLmNvbQorRHVtcGluZyByZXF1ZXN0IG5hbWUgYW5kIHBh
dGggZm9yIHVybDogaHR0cDovL3d3dy5leGFtcGxlLmNvbS8KKyAgICBuYW1lID0gd3d3LmV4YW1w
bGUuY29tCisgICAgcGF0aCA9IAorRHVtcGluZyByZXF1ZXN0IG5hbWUgYW5kIHBhdGggZm9yIHVy
bDogaHR0cDovLzEyNy4wLjAuMS9mb28vYmFyL2Jhej9rZXk9dmFsdWUKKyAgICBuYW1lID0gYmF6
P2tleT12YWx1ZQorICAgIHBhdGggPSAvZm9vL2JhcgorRHVtcGluZyByZXF1ZXN0IG5hbWUgYW5k
IHBhdGggZm9yIHVybDogaHR0cDovLzEyNy4wLjAuMS9mb28vYmFyLz9rZXk9dmFsdWUKKyAgICBu
YW1lID0gP2tleT12YWx1ZQorICAgIHBhdGggPSAvZm9vL2JhcgorRHVtcGluZyByZXF1ZXN0IG5h
bWUgYW5kIHBhdGggZm9yIHVybDogaHR0cDovLzEyNy4wLjAuMS9mb28vYmFyL2JhegorICAgIG5h
bWUgPSBiYXoKKyAgICBwYXRoID0gL2Zvby9iYXIKK0R1bXBpbmcgcmVxdWVzdCBuYW1lIGFuZCBw
YXRoIGZvciB1cmw6IGh0dHA6Ly8xMjcuMC4wLjEvZm9vL2Jhci8KKyAgICBuYW1lID0gYmFyLwor
ICAgIHBhdGggPSAvZm9vCitEdW1waW5nIHJlcXVlc3QgbmFtZSBhbmQgcGF0aCBmb3IgdXJsOiBo
dHRwOi8vMTI3LjAuMC4xL2Jhej9rZXk9dmFsdWUKKyAgICBuYW1lID0gYmF6P2tleT12YWx1ZQor
ICAgIHBhdGggPSAKK0R1bXBpbmcgcmVxdWVzdCBuYW1lIGFuZCBwYXRoIGZvciB1cmw6IGh0dHA6
Ly8xMjcuMC4wLjEvP2tleT12YWx1ZQorICAgIG5hbWUgPSA/a2V5PXZhbHVlCisgICAgcGF0aCA9
IAorRHVtcGluZyByZXF1ZXN0IG5hbWUgYW5kIHBhdGggZm9yIHVybDogaHR0cDovLzEyNy4wLjAu
MS9iYXoKKyAgICBuYW1lID0gYmF6CisgICAgcGF0aCA9IAorRHVtcGluZyByZXF1ZXN0IG5hbWUg
YW5kIHBhdGggZm9yIHVybDogaHR0cDovLzEyNy4wLjAuMS8KKyAgICBuYW1lID0gMTI3LjAuMC4x
CisgICAgcGF0aCA9IAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xl
dGUvaHR0cC10ZXN0cy9uZXR3b3JrL3JlcXVlc3QtbmFtZS1wYXRoLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL3JlcXVlc3QtbmFtZS1wYXRo
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODA3NWVlNDQ5N2FkMGFhNDhkNWNhYWE0M2YzNGU5MGUzZDYzNjll
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRw
LXRlc3RzL25ldHdvcmsvcmVxdWVzdC1uYW1lLXBhdGguaHRtbApAQCAtMCwwICsxLDQ0IEBACis8
aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uL2luc3BlY3Rvci10ZXN0LmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQ+CitmdW5jdGlvbiB0ZXN0KCkKK3sKKyAgICBmdW5jdGlvbiBjcmVhdGVOZXR3
b3JrUmVxdWVzdEZvclVSTEFuZER1bXBOYW1lQW5kUGF0aCh1cmwpCisgICAgeworICAgICAgICBJ
bnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiRHVtcGluZyByZXF1ZXN0IG5hbWUgYW5kIHBhdGggZm9y
IHVybDogIiArIHVybCk7CisgICAgICAgIHZhciByZXF1ZXN0ID0gbmV3IFdlYkluc3BlY3Rvci5O
ZXR3b3JrUmVxdWVzdCgwLCB1cmwpOworICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgi
ICAgIG5hbWUgPSAiICsgcmVxdWVzdC5uYW1lKCkpOworICAgICAgICBJbnNwZWN0b3JUZXN0LmFk
ZFJlc3VsdCgiICAgIHBhdGggPSAiICsgcmVxdWVzdC5wYXRoKCkpOworICAgIH0KKworICAgIGNy
ZWF0ZU5ldHdvcmtSZXF1ZXN0Rm9yVVJMQW5kRHVtcE5hbWVBbmRQYXRoKCJodHRwOi8vd3d3LmV4
YW1wbGUuY29tL2Zvby9iYXIvYmF6P2tleT12YWx1ZSIpOworICAgIGNyZWF0ZU5ldHdvcmtSZXF1
ZXN0Rm9yVVJMQW5kRHVtcE5hbWVBbmRQYXRoKCJodHRwOi8vd3d3LmV4YW1wbGUuY29tL2Zvby9i
YXIvP2tleT12YWx1ZSIpOworICAgIGNyZWF0ZU5ldHdvcmtSZXF1ZXN0Rm9yVVJMQW5kRHVtcE5h
bWVBbmRQYXRoKCJodHRwOi8vd3d3LmV4YW1wbGUuY29tL2Zvby9iYXIvYmF6Iik7CisgICAgY3Jl
YXRlTmV0d29ya1JlcXVlc3RGb3JVUkxBbmREdW1wTmFtZUFuZFBhdGgoImh0dHA6Ly93d3cuZXhh
bXBsZS5jb20vZm9vL2Jhci8iKTsKKworICAgIGNyZWF0ZU5ldHdvcmtSZXF1ZXN0Rm9yVVJMQW5k
RHVtcE5hbWVBbmRQYXRoKCJodHRwOi8vd3d3LmV4YW1wbGUuY29tL2Jhej9rZXk9dmFsdWUiKTsK
KyAgICBjcmVhdGVOZXR3b3JrUmVxdWVzdEZvclVSTEFuZER1bXBOYW1lQW5kUGF0aCgiaHR0cDov
L3d3dy5leGFtcGxlLmNvbS8/a2V5PXZhbHVlIik7CisgICAgY3JlYXRlTmV0d29ya1JlcXVlc3RG
b3JVUkxBbmREdW1wTmFtZUFuZFBhdGgoImh0dHA6Ly93d3cuZXhhbXBsZS5jb20vYmF6Iik7Cisg
ICAgY3JlYXRlTmV0d29ya1JlcXVlc3RGb3JVUkxBbmREdW1wTmFtZUFuZFBhdGgoImh0dHA6Ly93
d3cuZXhhbXBsZS5jb20vIik7CisKKyAgICBjcmVhdGVOZXR3b3JrUmVxdWVzdEZvclVSTEFuZER1
bXBOYW1lQW5kUGF0aCgiaHR0cDovLzEyNy4wLjAuMS9mb28vYmFyL2Jhej9rZXk9dmFsdWUiKTsK
KyAgICBjcmVhdGVOZXR3b3JrUmVxdWVzdEZvclVSTEFuZER1bXBOYW1lQW5kUGF0aCgiaHR0cDov
LzEyNy4wLjAuMS9mb28vYmFyLz9rZXk9dmFsdWUiKTsKKyAgICBjcmVhdGVOZXR3b3JrUmVxdWVz
dEZvclVSTEFuZER1bXBOYW1lQW5kUGF0aCgiaHR0cDovLzEyNy4wLjAuMS9mb28vYmFyL2JheiIp
OworICAgIGNyZWF0ZU5ldHdvcmtSZXF1ZXN0Rm9yVVJMQW5kRHVtcE5hbWVBbmRQYXRoKCJodHRw
Oi8vMTI3LjAuMC4xL2Zvby9iYXIvIik7CisKKyAgICBjcmVhdGVOZXR3b3JrUmVxdWVzdEZvclVS
TEFuZER1bXBOYW1lQW5kUGF0aCgiaHR0cDovLzEyNy4wLjAuMS9iYXo/a2V5PXZhbHVlIik7Cisg
ICAgY3JlYXRlTmV0d29ya1JlcXVlc3RGb3JVUkxBbmREdW1wTmFtZUFuZFBhdGgoImh0dHA6Ly8x
MjcuMC4wLjEvP2tleT12YWx1ZSIpOworICAgIGNyZWF0ZU5ldHdvcmtSZXF1ZXN0Rm9yVVJMQW5k
RHVtcE5hbWVBbmRQYXRoKCJodHRwOi8vMTI3LjAuMC4xL2JheiIpOworICAgIGNyZWF0ZU5ldHdv
cmtSZXF1ZXN0Rm9yVVJMQW5kRHVtcE5hbWVBbmRQYXRoKCJodHRwOi8vMTI3LjAuMC4xLyIpOwor
CisgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKK30KKworPC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Cis8cD5UZXN0cyBuYW1lKCkgYW5kIHBhdGgo
KSBtZXRob2RzIG9mIE5ldHdvcmtSZXF1ZXN0LjwvcD4KKzxhIGhyZWY9Imh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDEwNjQiPkJ1ZyAxMDEwNjQ8L2E+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0
cC10ZXN0cy9uZXR3b3JrL3JlcXVlc3QtcGFyYW1ldGVycy1kZWNvZGluZy1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL3JlcXVl
c3QtcGFyYW1ldGVycy1kZWNvZGluZy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGI3MDY2ZjQy
ZjMxODIwMjg0Yjk1NGZhYmNhZTMyNDk5NWU3ZGZhOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvcmVxdWVzdC1wYXJh
bWV0ZXJzLWRlY29kaW5nLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDYgQEAKK1Rlc3RzIGhvdyBy
ZXF1ZXN0IGhlYWRlcnMgYXJlIGRlY29kZWQgaW4gbmV0d29yayBpdGVtIHZpZXcuCisKK0J1ZyA3
NDQyMgorT3JpZ2luYWwgdmFsdWU6IFRlc3QrJTIxJTQwJTIzJTI0JTI1JTVFJTI2KiUyOCUyOV8l
MkIrcGFyYW1ldGVycy4KK0RlY29kZWQgdmFsdWU6IFRlc3QgIUAjJCVeJiooKV8rIHBhcmFtZXRl
cnMuCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRl
c3RzL25ldHdvcmsvcmVxdWVzdC1wYXJhbWV0ZXJzLWRlY29kaW5nLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL3JlcXVlc3QtcGFyYW1ldGVy
cy1kZWNvZGluZy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjcwOTY5ZWNjZmZhMzM2ZjUzYjZjNWY0Y2M3MjEy
MWNhMjg0YzkzODgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jz
b2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL3JlcXVlc3QtcGFyYW1ldGVycy1kZWNvZGluZy5odG1s
CkBAIC0wLDAgKzEsMjEgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vaW5zcGVj
dG9yLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKworZnVuY3Rpb24gdGVzdCgpCit7CisJ
V2ViSW5zcGVjdG9yLnNob3dQYW5lbCgibmV0d29yayIpOworICAgIHZhciB2YWx1ZSA9ICJUZXN0
KyUyMSU0MCUyMyUyNCUyNSU1RSUyNiolMjglMjlfJTJCK3BhcmFtZXRlcnMuIjsKKyAgICB2YXIg
cGFyYW1ldGVyRWxlbWVudCA9IFdlYkluc3BlY3Rvci5SZXF1ZXN0SGVhZGVyc1ZpZXcucHJvdG90
eXBlLl9mb3JtYXRQYXJhbWV0ZXIodmFsdWUsICIiLCB0cnVlKTsKKyAgICBJbnNwZWN0b3JUZXN0
LmFkZFJlc3VsdCgiT3JpZ2luYWwgdmFsdWU6ICIgKyB2YWx1ZSk7CisgICAgSW5zcGVjdG9yVGVz
dC5hZGRSZXN1bHQoIkRlY29kZWQgdmFsdWU6ICIgKyBwYXJhbWV0ZXJFbGVtZW50LnRleHRDb250
ZW50KTsKKyAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOworfQorPC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+CisgPHA+VGVzdHMgaG93IHJlcXVlc3Qg
aGVhZGVycyBhcmUgZGVjb2RlZCBpbiBuZXR3b3JrIGl0ZW0gdmlldy48L3A+Cis8YSBocmVmPSJo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjEyMDUiPkJ1ZyA3NDQyMjwv
YT4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1v
YnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvcmVzb3VyY2VzLzQwNC5waHAgYi9MYXlvdXRUZXN0
cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL3Jlc291cmNlcy80MDQucGhw
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmYxMzc2Y2ViODQxNzI0NWM1NDcxOGRjYWE2OTQ5MTc3YWQ2MTNkZjYKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0
cy9uZXR3b3JrL3Jlc291cmNlcy80MDQucGhwCkBAIC0wLDAgKzEsNCBAQAorPD9waHAKKyAgICBo
ZWFkZXIoIkhUVFAvMS4wIDQwNCBOb3QgRm91bmQiKTsKKyAgICBlY2hvKCI0MDQgLSByZXNvdXJj
ZSB3YXMgbm90IGZvdW5kLiIpOworPz4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rv
ci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvcmVzb3VyY2VzL2NwMTI1MS54bWwgYi9MYXlv
dXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL3Jlc291cmNlcy9j
cDEyNTEueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjMyMjg1ZjM2MGJjZTNlNWQ5M2YzYzJkNmUwZWM0YzMwY2I0
OTRhN2MKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUv
aHR0cC10ZXN0cy9uZXR3b3JrL3Jlc291cmNlcy9jcDEyNTEueG1sCkBAIC0wLDAgKzEsNCBAQAor
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nY3AxMjUxJz8+Cis8cm9vdD4KKyAgPGNwMTI1
MT5TVdHRxVNTIC0gVGhlc2UgJ0NDRScgYXJlIGN5cmlsbGljIGxldHRlcnMuPC9jcDEyNTE+Cis8
L3Jvb3Q+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10
ZXN0cy9uZXR3b3JrL3Jlc291cmNlcy9jeXJpbGxpYy5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9yZXNvdXJjZXMvY3lyaWxsaWMuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5iNGJmNzFhZTZmYzdjZTQxMzY5NGY3ZTcwNDJlZThhNjVhNjdjOTk1Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMv
bmV0d29yay9yZXNvdXJjZXMvY3lyaWxsaWMuaHRtbApAQCAtMCwwICsxLDIgQEAKK1RoZSBmb2xs
b3dpbmcgbGluZSBjb250YWlucyBhIHdvcmQgInN1Y2Nlc3MiIHdyaXR0ZW4gd2l0aCBjeXJpbGxp
YyBsZXR0ZXJzLgorU1XQodCh0JVTUwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
LW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9yZXNvdXJjZXMvZG93bmxvYWQuenp6IGIvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9yZXNvdXJjZXMv
ZG93bmxvYWQuenp6Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI1ZjcyMGU2Yzg2ODM4MDQ3ODFiY2QzN2YyZWU2MmM1
OGFiN2Y1YzkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xl
dGUvaHR0cC10ZXN0cy9uZXR3b3JrL3Jlc291cmNlcy9kb3dubG9hZC56enoKQEAgLTAsMCArMSBA
QAorVGVzdCByZXNvdXJjZSBmb3IgdHJpZ2dlcmluZyBkb3dubG9hZHMuCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL3Jlc291cmNl
cy9lY2hvLXBheWxvYWQucGhwIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAt
dGVzdHMvbmV0d29yay9yZXNvdXJjZXMvZWNoby1wYXlsb2FkLnBocApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xY2Ix
YjEyYmUxYThkYTVjMzBjZDI5YjYzODRiOTBkZDhlZDNhMTAyCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9yZXNvdXJj
ZXMvZWNoby1wYXlsb2FkLnBocApAQCAtMCwwICsxLDMgQEAKKzw/cGhwCisJZWNobyBmaWxlX2dl
dF9jb250ZW50cygncGhwOi8vaW5wdXQnKTsKKz8+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL3Jlc291cmNlcy9lbXB0eS5odG1s
IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9yZXNv
dXJjZXMvZW1wdHkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lNjlkZTI5YmIyZDFkNjQzNGI4YjI5YWU3NzVh
ZDhjMmU0OGM1MzkxCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUv
aHR0cC10ZXN0cy9uZXR3b3JrL3Jlc291cmNlcy9pbml0aWF0b3IuY3NzIGIvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9yZXNvdXJjZXMvaW5pdGlhdG9y
LmNzcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi41YzVkZTc4NjlmMzU1ZDg5ODIwMjgyYzI5MDQ3MDg4YWU4ZWIwODJi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAt
dGVzdHMvbmV0d29yay9yZXNvdXJjZXMvaW5pdGlhdG9yLmNzcwpAQCAtMCwwICsxLDggQEAKKy5p
bWFnZS1iYWNrZ3JvdW5kIHsKKyAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoInJlc291cmNlLnBo
cD90eXBlPWltYWdlJnJhbmRvbT0xJnNpemU9MjAwIik7Cit9CisKKy5pbWFnZS1iYWNrZ3JvdW5k
LTIgeworICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgicmVzb3VyY2UucGhwP3R5cGU9aW1hZ2Um
cmFuZG9tPTEmc2l6ZT0zMDAiKTsKK30KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9yZXNvdXJjZXMvanNvbi5waHAgYi9MYXlv
dXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL3Jlc291cmNlcy9q
c29uLnBocApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5lNTM0NGE1YWZlMTM3YWVlYTlhMDUyMDVjMjJmZjQ4YzM4YWZi
NmNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0
dHAtdGVzdHMvbmV0d29yay9yZXNvdXJjZXMvanNvbi5waHAKQEAgLTAsMCArMSw1IEBACis8P3Bo
cAorICAgIGhlYWRlcigiQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi9qc29uIik7Cis/PgoreyJu
dW1iZXIiOiAiNDIifQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xl
dGUvaHR0cC10ZXN0cy9uZXR3b3JrL3Jlc291cmNlcy9wbHVnaW4tZGF0YS5waHAgYi9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL3Jlc291cmNlcy9wbHVn
aW4tZGF0YS5waHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzIxZDllOGU5ZDk3MzYyM2JiMWY1MmFiNDRkMDY3NTJm
YmJjYWRiOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0
ZS9odHRwLXRlc3RzL25ldHdvcmsvcmVzb3VyY2VzL3BsdWdpbi1kYXRhLnBocApAQCAtMCwwICsx
LDE1IEBACis8P3BocAorICAgICRtaW1ldHlwZSA9ICRfR0VUWyJtaW1ldHlwZSJdOworICAgICRm
aWxlbmFtZSA9ICRfR0VUWyJmaWxlbmFtZSJdOworICAgICRjaGFyc2V0ID0gJF9HRVRbImNoYXJz
ZXQiXTsKKworICAgIGhlYWRlcigiRXhwaXJlczogVGh1LCAwMSBEZWMgMjAwMyAxNjowMDowMCBH
TVQiKTsKKyAgICBoZWFkZXIoIkNhY2hlLUNvbnRyb2w6IG5vLXN0b3JlLCBuby1jYWNoZSwgbXVz
dC1yZXZhbGlkYXRlIik7CisgICAgaGVhZGVyKCJQcmFnbWE6IG5vLWNhY2hlIik7CisgICAgaWYg
KCRjaGFyc2V0KQorICAgICAgICBoZWFkZXIoIkNvbnRlbnQtVHlwZTogIiAuICRtaW1ldHlwZSAu
ICI7IGNoYXJzZXQ9IiAuICRjaGFyc2V0KTsKKyAgICBlbHNlCisgICAgICAgIGhlYWRlcigiQ29u
dGVudC1UeXBlOiAiIC4gJG1pbWV0eXBlKTsKKworICAgIHJlYWRmaWxlKCRmaWxlbmFtZSk7Cis/
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMv
bmV0d29yay9yZXNvdXJjZXMvcmFuZG9tLWNhY2hlZC5waHAgYi9MYXlvdXRUZXN0cy9pbnNwZWN0
b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL3Jlc291cmNlcy9yYW5kb20tY2FjaGVkLnBo
cApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi42YjA5NWFlOTRkYmJiYzcwM2UxNTQ2MGRlNjk2ZDQwOGRjZTE2ZWEyCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVz
dHMvbmV0d29yay9yZXNvdXJjZXMvcmFuZG9tLWNhY2hlZC5waHAKQEAgLTAsMCArMSwxOCBAQAor
PD9waHAKKyAgICBpZiAoJF9TRVJWRVJbIkhUVFBfSUZfTU9ESUZJRURfU0lOQ0UiXSkgeworICAg
ICAgICBoZWFkZXIoIkhUVFAvMS4wIDMwNCBOb3QgTW9kaWZpZWQiKTsKKyAgICAgICAgZXhpdDsK
KyAgICB9CisKKyAgICAkbWF4X2FnZSA9IDEyICogMzEgKiAyNCAqIDYwICogNjA7IC8vb25lIHll
YXIKKyAgICAkZXhwaXJlcyA9IGdtZGF0ZShEQVRFX1JGQzExMjMsIHRpbWUoKSArICRtYXhfYWdl
KTsKKyAgICAkbGFzdF9tb2RpZmllZCA9IGdtZGF0ZShEQVRFX1JGQzExMjMsIHRpbWUoKSAtICRt
YXhfYWdlKTsKKworICAgIGhlYWRlcigiQ2FjaGUtQ29udHJvbDogcHVibGljLCBtYXgtYWdlPSIg
LiA1KiRtYXhfYWdlKTsKKyAgICBoZWFkZXIoIkNhY2hlLWNvbnRyb2w6IG1heC1hZ2U9MCIpOwor
ICAgIGhlYWRlcigiRXhwaXJlczogIiAuICRleHBpcmVzKTsKKyAgICBoZWFkZXIoIkNvbnRlbnQt
VHlwZTogdGV4dC9odG1sIik7CisgICAgaGVhZGVyKCJMYXN0LU1vZGlmaWVkOiAiIC4gJGxhc3Rf
bW9kaWZpZWQpOworCisgICAgZWNobyhyYW5kKCkpOworPz4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvcmVzb3VyY2VzL3JhbmRv
bS1zY3JpcHQucGhwIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMv
bmV0d29yay9yZXNvdXJjZXMvcmFuZG9tLXNjcmlwdC5waHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTRmYzMyZGQ4
MDBkMGMzYzFhZWQ2NmE3NzllZTg3ZGM0ZjQyMGY5YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvcmVzb3VyY2VzL3Jh
bmRvbS1zY3JpcHQucGhwCkBAIC0wLDAgKzEsMTkgQEAKKzw/cGhwCisgICAgaWYgKCRfU0VSVkVS
WyJIVFRQX0lGX01PRElGSUVEX1NJTkNFIl0pIHsKKyAgICAgICAgaGVhZGVyKCJIVFRQLzEuMCAz
MDQgTm90IE1vZGlmaWVkIik7CisgICAgICAgIGV4aXQ7CisgICAgfQorCisgICAgJG1heF9hZ2Ug
PSAxMiAqIDMxICogMjQgKiA2MCAqIDYwOyAvL29uZSB5ZWFyCisgICAgJGV4cGlyZXMgPSBnbWRh
dGUoREFURV9SRkMxMTIzLCB0aW1lKCkgKyAkbWF4X2FnZSk7CisgICAgJGxhc3RfbW9kaWZpZWQg
PSBnbWRhdGUoREFURV9SRkMxMTIzLCB0aW1lKCkgLSAkbWF4X2FnZSk7CisKKyAgICBoZWFkZXIo
IkNhY2hlLUNvbnRyb2w6IHB1YmxpYywgbWF4LWFnZT0iIC4gNSokbWF4X2FnZSk7CisgICAgaGVh
ZGVyKCJDYWNoZS1jb250cm9sOiBtYXgtYWdlPTAiKTsKKyAgICBoZWFkZXIoIkV4cGlyZXM6ICIg
LiAkZXhwaXJlcyk7CisgICAgaGVhZGVyKCJDb250ZW50LVR5cGU6IHRleHQvaHRtbCIpOworICAg
IGhlYWRlcigiTGFzdC1Nb2RpZmllZDogIiAuICRsYXN0X21vZGlmaWVkKTsKKworICAgIGVjaG8o
ImNvbnNvbGUubG9nKFwiRG9uZS5cIik7Iik7CisgICAgZWNobygidmFyIHJhbmRvbVZhbHVlID0g
IiAuIHJhbmQoKSAuICI7Iik7Cis/PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
LW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9yZXNvdXJjZXMvcmVzb3VyY2UucGhwIGIvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9yZXNvdXJjZXMv
cmVzb3VyY2UucGhwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMyYjZmMWNjY2VlMmNiYzhjNjM4OWU2ZjcxOGVmZTU5
NTVmZjA2NDAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xl
dGUvaHR0cC10ZXN0cy9uZXR3b3JrL3Jlc291cmNlcy9yZXNvdXJjZS5waHAKQEAgLTAsMCArMSwx
MTkgQEAKKzw/cGhwCisgICAgJHR5cGUgPSAkX0dFVFsidHlwZSJdOworICAgICR3YWl0ID0gJF9H
RVRbIndhaXQiXTsKKyAgICAkc2VuZCA9ICRfR0VUWyJzZW5kIl07CisgICAgJHNpemUgPSAkX0dF
VFsic2l6ZSJdOworICAgICRnemlwID0gJF9HRVRbImd6aXAiXTsKKyAgICAkanNkZWxheSA9ICRf
R0VUWyJqc2RlbGF5Il07CisgICAgJGpzY29udGVudCA9ICRfR0VUWyJqc2NvbnRlbnQiXTsKKyAg
ICAkY2h1bmtlZCA9ICRfR0VUWyJjaHVua2VkIl07CisgICAgJHJhbmRvbSA9ICRfR0VUWyJyYW5k
b20iXTsKKyAgICAkY2FjaGVkID0gJF9HRVRbImNhY2hlZCJdOworCisgICAgIyBXYWl0IGJlZm9y
ZSBzZW5kaW5nIHJlc3BvbnNlCisgICAgaWYgKCR3YWl0KQorICAgICAgICB1c2xlZXAoJHdhaXQg
KiAxMDAwKTsKKworICAgICMgRXhpdCBlYXJseSBpZiB3ZSByZXR1cm4gMzA0IGNvZGUuCisgICAg
aWYgKCRjYWNoZWQgJiYgJF9TRVJWRVJbIkhUVFBfSUZfTU9ESUZJRURfU0lOQ0UiXSkgeworICAg
ICAgICBoZWFkZXIoIkhUVFAvMS4wIDMwNCBOb3QgTW9kaWZpZWQiKTsKKyAgICAgICAgZXhpdDsK
KyAgICB9CisKKyAgICAjIEVuYWJsZSBnemlwIGNvbXByZXNzaW9uIGlmIG5lZWRlZAorICAgIGlm
ICgkZ3ppcCkKKyAgICAgICAgb2Jfc3RhcnQoIm9iX2d6aGFuZGxlciIpOworCisgICAgIyBTZW5k
IGhlYWRlcnMKKyAgICBpZiAoJGNhY2hlZCkgeworICAgICAgICAkbWF4X2FnZSA9IDEyICogMzEg
KiAyNCAqIDYwICogNjA7IC8vb25lIHllYXIKKyAgICAgICAgJGV4cGlyZXMgPSBnbWRhdGUoREFU
RV9SRkMxMTIzLCB0aW1lKCkgKyAkbWF4X2FnZSk7CisgICAgICAgICRsYXN0X21vZGlmaWVkID0g
Z21kYXRlKERBVEVfUkZDMTEyMywgdGltZSgpIC0gJG1heF9hZ2UpOworCisgICAgICAgIGhlYWRl
cigiQ2FjaGUtQ29udHJvbDogcHVibGljLCBtYXgtYWdlPSIgLiA1KiRtYXhfYWdlKTsKKyAgICAg
ICAgaGVhZGVyKCJDYWNoZS1jb250cm9sOiBtYXgtYWdlPTAiKTsKKyAgICAgICAgaGVhZGVyKCJF
eHBpcmVzOiAiIC4gJGV4cGlyZXMpOworICAgICAgICBoZWFkZXIoIkxhc3QtTW9kaWZpZWQ6ICIg
LiAkbGFzdF9tb2RpZmllZCk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgaGVhZGVyKCJFeHBpcmVz
OiBUaHUsIDAxIERlYyAyMDAzIDE2OjAwOjAwIEdNVCIpOworICAgICAgICBoZWFkZXIoIkNhY2hl
LUNvbnRyb2w6IG5vLXN0b3JlLCBuby1jYWNoZSwgbXVzdC1yZXZhbGlkYXRlIik7CisgICAgICAg
IGhlYWRlcigiUHJhZ21hOiBuby1jYWNoZSIpOworICAgIH0KKyAgICBpZiAoJHR5cGUgPT0gImpz
IikKKyAgICAgICAgaGVhZGVyKCJDb250ZW50LVR5cGU6dGV4dC9qYXZhc2NyaXB0OyBjaGFyc2V0
PVVURi04Iik7CisgICAgZWxzZSBpZiAoJHR5cGUgPT0gImltYWdlIikKKyAgICAgICAgaGVhZGVy
KCJDb250ZW50LVR5cGU6IGltYWdlL3BuZyIpOworICAgIGVsc2UKKyAgICAgICAgaGVhZGVyKCJD
b250ZW50LVR5cGU6IHRleHQvcGxhaW4iKTsKKworICAgICMgRmx1c2ggaGVhZGVycyBhbmQgc2xl
ZXAgYm9mb3JlIHNlbmRpbmcgcmVzcG9uc2UKKyAgICBpZiAoJHNlbmQpIHsKKyAgICAgICAgZmx1
c2goKTsKKyAgICAgICAgdXNsZWVwKCRzZW5kICogMTAwMCk7CisgICAgfQorCisgICAgaWYgKCR0
eXBlID09ICJqcyIpIHsKKyAgICAgICAgIyBTZW5kIEphdmFTY3JpcHQgZmlsZQorICAgICAgICAk
Ynl0ZXNfZW1pdHRlZCA9IDA7CisgICAgICAgIGlmICgkanNkZWxheSkgeworICAgICAgICAgICAg
IyBKYXZhU2NyaXB0IGZpbGUgc2hvdWxkIGJsb2NrIG9uIGxvYWQKKz8+CitmdW5jdGlvbiBfX2Zv
byhzZWNvbmRzKSB7CisgICAgdmFyIG5vdyA9ICBEYXRlLm5vdygpOworICAgIHZhciBjb3VudGVy
ID0gTnVtYmVyKDApOworICAgIHdoaWxlKG5vdyArIHNlY29uZHMgID4gRGF0ZS5ub3coKSkgeyBj
b3VudGVyID0gTnVtYmVyKGNvdW50ZXIgKyAxKTsgfQorfQorX19mb28oPD9waHAgZWNobygkanNk
ZWxheSk/Pik7Cis8P3BocAorICAgICAgICAgICAgJGJ5dGVzX2VtaXR0ZWQgKz0gMTc1OworICAg
ICAgICB9CisKKyAgICAgICAgaWYgKCEkanNjb250ZW50KQorICAgICAgICAgICAgJGpzY29udGVu
dCA9ICJmdW5jdGlvbiBmb28oKSB7fSI7CisKKyAgICAgICAgIyBKYXZhU2NyaXB0IGZpbGUgc2hv
dWxkIGlzc3VlIGdpdmVuIGNvbW1hbmQuCisgICAgICAgIGVjaG8oJGpzY29udGVudCk7CisgICAg
ICAgICRieXRlc19lbWl0dGVkICs9IHN0cmxlbigkanNjb250ZW50KTsKKworICAgICAgICBpZiAo
JHNpemUpIHsKKyAgICAgICAgICAgIGZvciAoJGkgPSAwOyAkaSA8ICRzaXplIC0gJGJ5dGVzX2Vt
aXR0ZWQ7ICsrJGkpCisgICAgICAgICAgICAgICAgZWNobygiLyIpOworICAgICAgICB9CisgICAg
fSBlbHNlIGlmICgkdHlwZSA9PSAiaW1hZ2UiKSB7CisgICAgICAgICRiYXNlNjRkYXRhID0gImlW
Qk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUFYTlNSMElBcnM0
YzZRQUFBQWx3U0ZsekFBQUxFd0FBQ3hNQkFKcWNHQUFBQUFkMFNVMUZCOWtJQ1FzdyIgLiAKKyAg
ICAgICAgICAgICJBUkNKQ29nQUFBQkZTVVJCVkVqSDdaTEJDUUF3Q0FPTmRQK1YweFZxcTBneDl3
K0dpMlpDVEFjWEdXYmU4RzREcTlEZWtTIiAuCisgICAgICAgICAgICAia1BhR2VGZ2ZZSlZPRGxD
VG5XQURJTG9FZzN2cGxBQ0xFQk45VUdHOStteGJvQUFBQUFTVVZPUks1Q1lJST0iOworICAgICAg
ICAkZGF0YSA9IGJhc2U2NF9kZWNvZGUoJGJhc2U2NGRhdGEpOworICAgICAgICAkZGF0YV9sZW4g
PSBzdHJsZW4oJGRhdGEpOworICAgICAgICBwcmludCgkZGF0YSk7CisgICAgICAgIGlmICgkc2l6
ZSkgeworICAgICAgICAgICAgaWYgKCRjaHVua2VkKSB7CisgICAgICAgICAgICAgICAgb2JfZmx1
c2goKTsKKyAgICAgICAgICAgICAgICBmbHVzaCgpOworICAgICAgICAgICAgfQorICAgICAgICAg
ICAgZm9yICgkaSA9IDA7ICRzaXplICYmICRpIDwgJHNpemUgLSAkZGF0YV9sZW47ICsrJGkpCisg
ICAgICAgICAgICAgICAgZWNobygiPSIpOworICAgICAgICB9IGVsc2UgaWYgKCRyYW5kb20pCisg
ICAgICAgICAgICBlY2hvKHJhbmQoKSk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgIyBHZW5lcmF0
ZSBkdW1teSB0ZXh0L2h0bWwuCisgICAgICAgIGlmICgkc2l6ZSkgeworICAgICAgICAgICAgZm9y
ICgkaSA9IDA7ICRpIDwgJHNpemU7ICsrJGkpIHsKKyAgICAgICAgICAgICAgICBpZiAoJGNodW5r
ZWQgJiYgKDEgPT0gJGkpKSB7CisgICAgICAgICAgICAgICAgICAgIG9iX2ZsdXNoKCk7CisgICAg
ICAgICAgICAgICAgICAgIGZsdXNoKCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
ICAgIGVjaG8oIioiKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAg
ICAgIGVjaG8oIkhlbGxvICIpOworICAgICAgICAgICAgaWYgKCRjaHVua2VkKSB7CisgICAgICAg
ICAgICAgICAgb2JfZmx1c2goKTsKKyAgICAgICAgICAgICAgICBmbHVzaCgpOworICAgICAgICAg
ICAgfQorICAgICAgICAgICAgZWNobygid29ybGQiKTsKKyAgICAgICAgICAgIGlmICgkcmFuZG9t
KQorICAgICAgICAgICAgICAgIGVjaG8oIjogIiAuIHJhbmQoKSk7CisgICAgICAgIH0KKyAgICB9
Cis/PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVz
dHMvbmV0d29yay9yZXNvdXJjZXMvc2NyaXB0LWFzLXRleHQtd2l0aC1hLXZlcnktdmVyeS12ZXJ5
LXZlcnktdmVyeS12ZXJ5LXZlcnktdmVyeS12ZXJ5LXZlcnktdmVyeS12ZXJ5LXZlcnktdmVyeS1s
b25nLXVybC5waHAgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9u
ZXR3b3JrL3Jlc291cmNlcy9zY3JpcHQtYXMtdGV4dC13aXRoLWEtdmVyeS12ZXJ5LXZlcnktdmVy
eS12ZXJ5LXZlcnktdmVyeS12ZXJ5LXZlcnktdmVyeS12ZXJ5LXZlcnktdmVyeS12ZXJ5LWxvbmct
dXJsLnBocApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yZDMxOGVjYzMxMzU2MTZiMmUwZjIyYjkyYmY5NWI5Zjc3MjJi
YjVlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0
dHAtdGVzdHMvbmV0d29yay9yZXNvdXJjZXMvc2NyaXB0LWFzLXRleHQtd2l0aC1hLXZlcnktdmVy
eS12ZXJ5LXZlcnktdmVyeS12ZXJ5LXZlcnktdmVyeS12ZXJ5LXZlcnktdmVyeS12ZXJ5LXZlcnkt
dmVyeS1sb25nLXVybC5waHAKQEAgLTAsMCArMSw4IEBACis8P3BocAorICAgIGhlYWRlcigiQ29u
dGVudC1UeXBlOiB0ZXh0L3BsYWluIik7Cis/PgorCitmdW5jdGlvbiBmb28oKQoreworICAgIHZh
ciBiYXIgPSA0MjsKK30KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0
ZS9odHRwLXRlc3RzL25ldHdvcmsvcmVzb3VyY2VzL3NjcmlwdC1hcy10ZXh0LnBocCBiL0xheW91
dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvcmVzb3VyY2VzL3Nj
cmlwdC1hcy10ZXh0LnBocApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yZDMxOGVjYzMxMzU2MTZiMmUwZjIyYjkyYmY5
NWI5Zjc3MjJiYjVlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9i
c29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9yZXNvdXJjZXMvc2NyaXB0LWFzLXRleHQucGhwCkBA
IC0wLDAgKzEsOCBAQAorPD9waHAKKyAgICBoZWFkZXIoIkNvbnRlbnQtVHlwZTogdGV4dC9wbGFp
biIpOworPz4KKworZnVuY3Rpb24gZm9vKCkKK3sKKyAgICB2YXIgYmFyID0gNDI7Cit9CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3Jr
L3Jlc291cmNlcy9zY3JpcHQuanMgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0
cC10ZXN0cy9uZXR3b3JrL3Jlc291cmNlcy9zY3JpcHQuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjJiODVhYTM5
MTRkNTZiOWVlODE1NDU4YTczZWEyYTJlZDZhYmQ0YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvcmVzb3VyY2VzL3Nj
cmlwdC5qcwpAQCAtMCwwICsxIEBACitjb25zb2xlLmxvZygiRG9uZS4iKTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvcmVzb3Vy
Y2VzL3NldC1jb29raWUucGhwIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAt
dGVzdHMvbmV0d29yay9yZXNvdXJjZXMvc2V0LWNvb2tpZS5waHAKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjk1OTYx
MmJkY2QxZDUwYjE4MDZjZTk4NzEzOWI5YjczNzVjNDQyNQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvcmVzb3VyY2Vz
L3NldC1jb29raWUucGhwCkBAIC0wLDAgKzEsOSBAQAorPD9waHAKKyAgICBoZWFkZXIoIkV4cGly
ZXM6IFRodSwgMDEgRGVjIDIwMDMgMTY6MDA6MDAgR01UIik7CisgICAgaGVhZGVyKCJDYWNoZS1D
b250cm9sOiBuby1zdG9yZSwgbm8tY2FjaGUsIG11c3QtcmV2YWxpZGF0ZSIpOworICAgIGhlYWRl
cigiUHJhZ21hOiBuby1jYWNoZSIpOworICAgIGhlYWRlcigiQ29udGVudC1UeXBlOiB0ZXh0L3Bs
YWluIik7CisgICAgc2V0Y29va2llKCJUZXN0Q29va2llIiwgIlRlc3RDb29raWVWYWx1ZSIpOwor
CisgICAgZWNobygiQ29va2llIHNldC4iKTsKKz8+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL3Jlc291cmNlcy9zaGFyZWQtd29y
a2VyLmpzIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29y
ay9yZXNvdXJjZXMvc2hhcmVkLXdvcmtlci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zMmQzZTAyMmE3YmZiYWQ5
ZDJjMWUwYzgwZTU1NmExODk2NzZlNTZjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9yZXNvdXJjZXMvc2hhcmVkLXdv
cmtlci5qcwpAQCAtMCwwICsxLDYgQEAKK29uY29ubmVjdCA9IGZ1bmN0aW9uKGV2ZW50KQorewor
ICAgIHZhciBwb3J0ID0gZXZlbnQucG9ydHNbMF07CisgICAgcG9ydC5wb3N0TWVzc2FnZSgiRG9u
ZS4iKTsKK30KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0
dHAtdGVzdHMvbmV0d29yay9yZXNvdXJjZXMvc2lsZW50X3NjcmlwdC5qcyBiL0xheW91dFRlc3Rz
L2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvcmVzb3VyY2VzL3NpbGVudF9z
Y3JpcHQuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNjQ2ZDZhMmJmNDhjZGY3YmM1ZjYyNmEwMGEwMmE0OTYzYmRj
MTQ3NgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9o
dHRwLXRlc3RzL25ldHdvcmsvcmVzb3VyY2VzL3NpbGVudF9zY3JpcHQuanMKQEAgLTAsMCArMSw0
IEBACitmdW5jdGlvbiBmb28oKQoreworICAgIHJldHVybiAyICsgMjsKK30KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvcmVzb3Vy
Y2VzL3NvdXJjZS1tYXAtdGVzdC1zdHlsZS5jc3MgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jz
b2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL3Jlc291cmNlcy9zb3VyY2UtbWFwLXRlc3Qtc3R5bGUu
Y3NzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjk2YWJhNDYyMjVkOWNjNjRhODc5Y2JhOWEzZWQwYTFmNmJhZjk3NDkK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10
ZXN0cy9uZXR3b3JrL3Jlc291cmNlcy9zb3VyY2UtbWFwLXRlc3Qtc3R5bGUuY3NzCkBAIC0wLDAg
KzEsNiBAQAorI2NvbnRhaW5lciB7CisgIGJhY2tncm91bmQ6IHBhcGF5YXdoaXA7IH0KKyAgI2Nv
bnRhaW5lciAjaW5zcGVjdGVkIHsKKyAgICBjb2xvcjogZ3JlZW47IH0KKworLyojIHNvdXJjZU1h
cHBpbmdVUkw9c291cmNlLW1hcC10ZXN0LXN0eWxlLmNzcy5tYXAgKi8KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUv
aHR0cC10ZXN0cy9uZXR3b3JrL3Jlc291cmNlcy9zb3VyY2UtbWFwLXRlc3Qtc3R5bGUuY3NzLm1h
cCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvcmVz
b3VyY2VzL3NvdXJjZS1tYXAtdGVzdC1zdHlsZS5jc3MubWFwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBhMTEzMDE4
MmQ0NTIzYmQxNDcyZGVhYjExNTcyYjcwYjEwMDMyM2MKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL3Jlc291cmNlcy9z
b3VyY2UtbWFwLXRlc3Qtc3R5bGUuY3NzLm1hcApAQCAtMCwwICsxLDYgQEAKK3sKKyJ2ZXJzaW9u
IjogIjMiLAorIm1hcHBpbmdzIjogIkFBQUEsVUFBVztFQUNQLFVBQVUsRUFBRSxVQUFVO0VBRXRC
LHFCQUFXO0lBQ1AsS0FBSyxFQUFFLEtBQUsiLAorInNvdXJjZXMiOiBbInN0eWxlLnNjc3MiXSwK
KyJmaWxlIjogInN0eWxlLmNzcyIKK30KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rv
ci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvcmVzb3VyY2VzL3NvdXJjZS1tYXAtdGVzdC1z
dHlsZS5zY3NzIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0
d29yay9yZXNvdXJjZXMvc291cmNlLW1hcC10ZXN0LXN0eWxlLnNjc3MKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWM3
NGQzNWQyOWIxNjhhOTQ1YjdmOWFmMjhhN2E5M2JiN2VmOTkwZQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvcmVzb3Vy
Y2VzL3NvdXJjZS1tYXAtdGVzdC1zdHlsZS5zY3NzCkBAIC0wLDAgKzEsNyBAQAorI2NvbnRhaW5l
ciB7CisgICAgYmFja2dyb3VuZDogcGFwYXlhd2hpcDsKKworICAgICNpbnNwZWN0ZWQgeworICAg
ICAgICBjb2xvcjogZ3JlZW47CisgICAgfQorfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9yZXNvdXJjZXMvc3R5bGUuY3NzIGIv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9yZXNvdXJj
ZXMvc3R5bGUuY3NzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjAyM2MzYTQ2MzJlZDI0YjBmODdmNmI2MzdmM2ZjNDVj
YTE1OTgwZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xl
dGUvaHR0cC10ZXN0cy9uZXR3b3JrL3Jlc291cmNlcy9zdHlsZS5jc3MKQEAgLTAsMCArMSwzIEBA
Citib2R5IHsKKyAgICBjb2xvcjogYmxhY2s7Cit9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL3Jlc291cmNlcy91dGY4LnhtbCBi
L0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvcmVzb3Vy
Y2VzL3V0ZjgueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA3ZWU0ODFmYTgwNzRhY2I3NTNjM2M3ZWY1NDIxOWZk
OTJmMTA0NjAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xl
dGUvaHR0cC10ZXN0cy9uZXR3b3JrL3Jlc291cmNlcy91dGY4LnhtbApAQCAtMCwwICsxLDQgQEAK
Kzw/eG1sIHZlcnNpb249JzEuMCcgZW5jb2Rpbmc9J3V0Zi04Jz8+Cis8cm9vdD4KKyAgPHV0Zjg+
U1XQodCh0JVTUyAtIFRoZXNlICdDQ0UnIGFyZSBjeXJpbGxpYyBsZXR0ZXJzLjwvdXRmOD4KKzwv
cm9vdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRl
c3RzL25ldHdvcmsvcmVzb3VyY2VzL3dvcmtlci5qcyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1v
YnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvcmVzb3VyY2VzL3dvcmtlci5qcwpuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44ZjYxY2EwY2RhMzZiNTE3ZmJkNDIxNTNjM2MyMTU5NDg3NTBiZmI1Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9y
ZXNvdXJjZXMvd29ya2VyLmpzCkBAIC0wLDAgKzEgQEAKK3Bvc3RNZXNzYWdlKCJEb25lLiIpOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0
d29yay9yZXNvdXJjZXMveC1mcmFtZS1vcHRpb25zLWRlbnkuY2dpIGIvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9yZXNvdXJjZXMveC1mcmFtZS1vcHRp
b25zLWRlbnkuY2dpCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdhNjkxNjU1NDczYzhmMDkxZWI0YTRkYThlMWExNzE3
MGRhNDA0MTQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xl
dGUvaHR0cC10ZXN0cy9uZXR3b3JrL3Jlc291cmNlcy94LWZyYW1lLW9wdGlvbnMtZGVueS5jZ2kK
QEAgLTAsMCArMSw4IEBACisjIS91c3IvYmluL3BlcmwgLXdUCit1c2Ugc3RyaWN0OworCitwcmlu
dCAiQ29udGVudC1UeXBlOiB0ZXh0L2h0bWxcbiI7CitwcmludCAiQ2FjaGUtQ29udHJvbDogbm8t
Y2FjaGUsIG5vLXN0b3JlXG4iOworcHJpbnQgIlgtRlJBTUUtT1BUSU9OUzogZGVueVxuXG4iOwor
CitwcmludCAiPHA+RkFJTDogVGhpcyBzaG91bGQgbm90IHNob3cgdXAuPC9wPlxuIjsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsv
c2NyaXB0LWFzLXRleHQtbG9hZGluZy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0
b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL3NjcmlwdC1hcy10ZXh0LWxvYWRpbmctZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjkxMjFhMDg5YTNmNTI2OTBkMzUxNGZmYWMxZGMxOWU2OWFm
ZDkyMWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUv
aHR0cC10ZXN0cy9uZXR3b3JrL3NjcmlwdC1hcy10ZXh0LWxvYWRpbmctZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsNSBAQAorVGVzdHMgY29uc29sZSBtZXNzYWdlIHdoZW4gc2NyaXB0IGlzIGxvYWRl
ZCB3aXRoIGluY29ycmVjdCB0ZXh0L2h0bWwgbWltZSB0eXBlLgorCitCdWcgNjk5NzIKK1Jlc291
cmNlIGludGVycHJldGVkIGFzIFNjcmlwdCBidXQgdHJhbnNmZXJyZWQgd2l0aCBNSU1FIHR5cGUg
dGV4dC9wbGFpbjogImh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvbmV0d29yay9yZXNv
dXJjZXMvc2NyaXB0LWFzLXRleHQucGhwIi4gW25hdGl2ZSBjb2RlXToxCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvc2NyaXB0
LWFzLXRleHQtbG9hZGluZy1sb25nLXVybC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL3NjcmlwdC1hcy10ZXh0LWxvYWRpbmct
bG9uZy11cmwtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU4NDZkYzdiZjYzZDE0Yjk2MTBmMTU4
MTVmY2NmNjNjNWU0YmUxODQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0
b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL3NjcmlwdC1hcy10ZXh0LWxvYWRpbmctbG9u
Zy11cmwtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGVzdHMgdGhhdCBsb25nIFVSTHMg
YXJlIGNvcnJlY3RseSB0cmltbWVkIGluIGFuY2hvciBsaW5rcy4KKworQnVnIDEwMDA5NQorUmVz
b3VyY2UgaW50ZXJwcmV0ZWQgYXMgU2NyaXB0IGJ1dCB0cmFuc2ZlcnJlZCB3aXRoIE1JTUUgdHlw
ZSB0ZXh0L3BsYWluOiAiaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9uZXR3b3JrL3Jl
c291cmNlcy9zY3JpcHQtYXMtdGV4dC13aXRoLWEtdmVy4oCmeS12ZXJ5LXZlcnktdmVyeS12ZXJ5
LXZlcnktdmVyeS12ZXJ5LXZlcnktdmVyeS12ZXJ5LXZlcnktdmVyeS1sb25nLXVybC5waHAiLiBb
bmF0aXZlIGNvZGVdOjEKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29s
ZXRlL2h0dHAtdGVzdHMvbmV0d29yay9zY3JpcHQtYXMtdGV4dC1sb2FkaW5nLWxvbmctdXJsLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL3Nj
cmlwdC1hcy10ZXh0LWxvYWRpbmctbG9uZy11cmwuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMTNjZTY1ZTBh
ODg4YTE1NzUxYzVhNjRmMTk1ZmE5NjA5NTEyODQ2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9zY3JpcHQtYXMtdGV4
dC1sb2FkaW5nLWxvbmctdXJsLmh0bWwKQEAgLTAsMCArMSwzMCBAQAorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vY29uc29sZS10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CitmdW5jdGlvbiBsb2Fk
U2NyaXB0KCkKK3sKKyAgICB2YXIgaSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcp
OworICAgIGkuc3JjID0gImh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvbmV0d29yay9y
ZXNvdXJjZXMvc2NyaXB0LWFzLXRleHQtd2l0aC1hLXZlcnktdmVyeS12ZXJ5LXZlcnktdmVyeS12
ZXJ5LXZlcnktdmVyeS12ZXJ5LXZlcnktdmVyeS12ZXJ5LXZlcnktdmVyeS1sb25nLXVybC5waHAi
OworICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaSk7Cit9CisKK2Z1bmN0aW9uIHRlc3Qo
KQoreworICAgIEluc3BlY3RvclRlc3QuYWRkQ29uc29sZVNuaWZmZXIoc3RlcDEpOworICAgIElu
c3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoImxvYWRTY3JpcHQoKSIpOworCisgICAgZnVuY3Rp
b24gc3RlcDEoKQorICAgIHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wQ29uc29sZU1lc3Nh
Z2VzKCk7CisgICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7CisgICAgfQorfQor
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Cis8cD5UZXN0cyB0
aGF0IGxvbmcgVVJMcyBhcmUgY29ycmVjdGx5IHRyaW1tZWQgaW4gYW5jaG9yIGxpbmtzLjwvcD4K
KzxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDAwOTUi
PkJ1ZyAxMDAwOTU8L2E+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL3NjcmlwdC1hcy10ZXh0LWxv
YWRpbmctd2l0aC1jYXJldC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jz
b2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL3NjcmlwdC1hcy10ZXh0LWxvYWRpbmctd2l0aC1jYXJl
dC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODg3NWE0OGNiODVkMDlkMmEwZTRkNWI4YzI5NjNh
Njg3NzNiOGE5ZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNv
bGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvc2NyaXB0LWFzLXRleHQtbG9hZGluZy13aXRoLWNhcmV0
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1Rlc3RzIGNvbnNvbGUgbWVzc2FnZSB3aGVu
IHNjcmlwdCBpcyBsb2FkZWQgd2l0aCBpbmNvcnJlY3QgdGV4dC9odG1sIG1pbWUgdHlwZSBhbmQg
dGhlIFVSTCBjb250YWlucyB0aGUgJ14nIGNoYXJhY3Rlci4KKworQnVnIDEwMzI0OAorUmVzb3Vy
Y2UgaW50ZXJwcmV0ZWQgYXMgU2NyaXB0IGJ1dCB0cmFuc2ZlcnJlZCB3aXRoIE1JTUUgdHlwZSB0
ZXh0L3BsYWluOiAiaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9uZXR3b3JrL3Jlc291
cmNlcy9zY3JpcHQtYXMtdGV4dC5waHA/dGhpcy1p4oCmLXdpdGheY2FyYXRzXmxpa2VedGhlc2Ve
YmVjYXVzZV53aG9eZG9lc250XmxvdmVec3RyYW5nZV5jaGFyYWN0ZXJzXmluXnVybHMiLiBbbmF0
aXZlIGNvZGVdOjEKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRl
L2h0dHAtdGVzdHMvbmV0d29yay9zY3JpcHQtYXMtdGV4dC1sb2FkaW5nLXdpdGgtY2FyZXQuaHRt
bCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvc2Ny
aXB0LWFzLXRleHQtbG9hZGluZy13aXRoLWNhcmV0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTI2YTYxN2Rl
ZWRkOGE3ZDM4YzYxZTA3ZmUyZDc3ZTViYmY4NzE1MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvc2NyaXB0LWFzLXRl
eHQtbG9hZGluZy13aXRoLWNhcmV0Lmh0bWwKQEAgLTAsMCArMSwzMSBAQAorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vY29uc29sZS10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CitmdW5jdGlvbiBs
b2FkU2NyaXB0KCkKK3sKKyAgICB2YXIgcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNjcmlw
dCIpOworICAgIHMuc3JjID0gInJlc291cmNlcy9zY3JpcHQtYXMtdGV4dC5waHA/dGhpcy1pcy1h
LXdlaXJkPXF1ZXJ5c3RyaW5nLXdpdGheY2FyYXRzXmxpa2VedGhlc2VeYmVjYXVzZV53aG9eZG9l
c250XmxvdmVec3RyYW5nZV5jaGFyYWN0ZXJzXmluXnVybHMiOworICAgIGRvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocyk7Cit9CisKK2Z1bmN0aW9uIHRlc3QoKQoreworICAgIEluc3BlY3RvclRl
c3QuYWRkQ29uc29sZVNuaWZmZXIoc3RlcDEpOworICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJ
blBhZ2UoImxvYWRTY3JpcHQoKSIpOworCisgICAgZnVuY3Rpb24gc3RlcDEoKQorICAgIHsKKyAg
ICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wQ29uc29sZU1lc3NhZ2VzKCk7CisgICAgICAgIEluc3Bl
Y3RvclRlc3QuY29tcGxldGVUZXN0KCk7CisgICAgfQorfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Cis8cD5UZXN0cyBjb25zb2xlIG1lc3NhZ2Ugd2hlbiBz
Y3JpcHQgaXMgbG9hZGVkIHdpdGggaW5jb3JyZWN0IHRleHQvaHRtbCBtaW1lCit0eXBlIGFuZCB0
aGUgVVJMIGNvbnRhaW5zIHRoZSAnXicgY2hhcmFjdGVyLjwvcD4KKzxhIGhyZWY9Imh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDMyNDgiPkJ1ZyAxMDMyNDg8L2E+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xl
dGUvaHR0cC10ZXN0cy9uZXR3b3JrL3NjcmlwdC1hcy10ZXh0LWxvYWRpbmcuaHRtbCBiL0xheW91
dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvc2NyaXB0LWFzLXRl
eHQtbG9hZGluZy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBhMDIxYTdjMTJmMGUwMTJmMWI3NTFkNzU2ODA4
YjRlZWM2ZTYyNjAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jz
b2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL3NjcmlwdC1hcy10ZXh0LWxvYWRpbmcuaHRtbApAQCAt
MCwwICsxLDMwIEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uL2luc3BlY3Rvci10
ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9jb25zb2xlLXRlc3QuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdD4KK2Z1bmN0aW9uIGxvYWRTY3JpcHQoKQoreworICAgIHZhciBzID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7CisgICAgcy5zcmMgPSAicmVzb3VyY2VzL3Nj
cmlwdC1hcy10ZXh0LnBocCI7CisgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChzKTsKK30K
KworZnVuY3Rpb24gdGVzdCgpCit7CisgICAgSW5zcGVjdG9yVGVzdC5hZGRDb25zb2xlU25pZmZl
cihzdGVwMSk7CisgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgibG9hZFNjcmlwdCgp
Iik7CisKKyAgICBmdW5jdGlvbiBzdGVwMSgpCisgICAgeworICAgICAgICBJbnNwZWN0b3JUZXN0
LmR1bXBDb25zb2xlTWVzc2FnZXMoKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRl
c3QoKTsKKyAgICB9Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0icnVuVGVz
dCgpIj4KKzxwPlRlc3RzIGNvbnNvbGUgbWVzc2FnZSB3aGVuIHNjcmlwdCBpcyBsb2FkZWQgd2l0
aCBpbmNvcnJlY3QgdGV4dC9odG1sIG1pbWUgdHlwZS48L3A+Cis8YSBocmVmPSJodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk5NzIiPkJ1ZyA2OTk3MjwvYT4KKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9o
dHRwLXRlc3RzL25ldHdvcmsveC1mcmFtZS1vcHRpb25zLWRlbnktZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay94LWZyYW1lLW9w
dGlvbnMtZGVueS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODJlMWFiYzQyNThkYzVmNGFhMTg5
YTJjMTQyMGVhNGI0MTBjNThkNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsveC1mcmFtZS1vcHRpb25zLWRlbnktZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsNyBAQAorQ09OU09MRSBNRVNTQUdFOiBSZWZ1c2VkIHRvIGRp
c3BsYXkgJ2h0dHA6Ly8xMjcuMC4wLjE6ODAwMC9zZWN1cml0eS9YRnJhbWVPcHRpb25zL3Jlc291
cmNlcy94LWZyYW1lLW9wdGlvbnMtZGVueS5jZ2knIGluIGEgZnJhbWUgYmVjYXVzZSBpdCBzZXQg
J1gtRnJhbWUtT3B0aW9ucycgdG8gJ2RlbnknLgorVGVzdHMgdGhhdCByZXNwb25zZVJlY2VpdmVk
IGlzIGNhbGxlZCBvbiBOZXR3b3JrRGlzcGF0Y2hlciBmb3IgcmVzb3VyY2UgcmVxdWVzdHMgZGVu
aWVkIGR1ZSB0byBYLUZyYW1lLU9wdGlvbnMgaGVhZGVyLgorCisKK1JlY2VpdmVkIHJlc3BvbnNl
IGZvciB4LWZyYW1lLW9wdGlvbnMtZGVueS5jZ2kKK1NVQ0NFU1MKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay94LWZyYW1lLW9w
dGlvbnMtZGVueS5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVz
dHMvbmV0d29yay94LWZyYW1lLW9wdGlvbnMtZGVueS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRlNThjNmE2
ZjkyMDFkZjlmMzE5N2JhODc2MWUzNDllNTIyOGNhZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL3gtZnJhbWUtb3B0
aW9ucy1kZW55Lmh0bWwKQEAgLTAsMCArMSw0OCBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorZnVuY3Rpb24g
bG9hZElGcmFtZVdpdGhEb3dubG9hZCgpCit7CisgICAgdmFyIGlmcmFtZSA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoImlmcmFtZSIpOworICAgIGlmcmFtZS5zZXRBdHRyaWJ1dGUoInNyYyIsICJo
dHRwOi8vMTI3LjAuMC4xOjgwMDAvc2VjdXJpdHkvWEZyYW1lT3B0aW9ucy9yZXNvdXJjZXMveC1m
cmFtZS1vcHRpb25zLWRlbnkuY2dpIik7CisgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChp
ZnJhbWUpOworfQorCitmdW5jdGlvbiB0ZXN0KCkKK3sKKyAgICBJbnNwZWN0b3JUZXN0LmFkZFNu
aWZmZXIoV2ViSW5zcGVjdG9yLk5ldHdvcmtEaXNwYXRjaGVyLnByb3RvdHlwZSwgInJlc3BvbnNl
UmVjZWl2ZWQiLCByZXNwb25zZVJlY2VpdmVkKTsKKyAgICBJbnNwZWN0b3JUZXN0LmFkZFNuaWZm
ZXIoV2ViSW5zcGVjdG9yLk5ldHdvcmtEaXNwYXRjaGVyLnByb3RvdHlwZSwgImxvYWRpbmdGYWls
ZWQiLCBsb2FkaW5nRmFpbGVkKTsKKyAgICBJbnNwZWN0b3JUZXN0LmFkZFNuaWZmZXIoV2ViSW5z
cGVjdG9yLk5ldHdvcmtEaXNwYXRjaGVyLnByb3RvdHlwZSwgImxvYWRpbmdGaW5pc2hlZCIsIGxv
YWRpbmdGaW5pc2hlZCk7CisgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgibG9hZElG
cmFtZVdpdGhEb3dubG9hZCgpIik7CisKKyAgICBmdW5jdGlvbiByZXNwb25zZVJlY2VpdmVkKHJl
cXVlc3RJZCwgdGltZSwgcmVzb3VyY2VUeXBlLCByZXNwb25zZSkKKyAgICB7CisgICAgICAgIHZh
ciByZXF1ZXN0ID0gV2ViSW5zcGVjdG9yLm5ldHdvcmtMb2cucmVxdWVzdEZvcklkKHJlcXVlc3RJ
ZCk7CisgICAgICAgIGlmICgveC1mcmFtZS1vcHRpb25zLWRlbnlcLmNnaS8uZXhlYyhyZXF1ZXN0
LnVybCkpIHsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJSZWNlaXZlZCBy
ZXNwb25zZSBmb3IgeC1mcmFtZS1vcHRpb25zLWRlbnkuY2dpIik7CisgICAgICAgICAgICBJbnNw
ZWN0b3JUZXN0LmFkZFJlc3VsdCgiU1VDQ0VTUyIpOworICAgICAgICAgICAgSW5zcGVjdG9yVGVz
dC5jb21wbGV0ZVRlc3QoKTsKKyAgICAgICAgfQorICAgIH0KKworICAgIGZ1bmN0aW9uIGxvYWRp
bmdGaW5pc2hlZChyZXF1ZXN0SWQsIGZpbmlzaFRpbWUpCisgICAgeworICAgICAgICB2YXIgcmVx
dWVzdCA9IFdlYkluc3BlY3Rvci5uZXR3b3JrTG9nLnJlcXVlc3RGb3JJZChyZXF1ZXN0SWQpOwor
ICAgICAgICBpZiAoL3gtZnJhbWUtb3B0aW9ucy1kZW55XC5jZ2kvLmV4ZWMocmVxdWVzdC51cmwp
KQorICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKKyAgICB9CisKKyAg
ICBmdW5jdGlvbiBsb2FkaW5nRmFpbGVkKHJlcXVlc3RJZCwgdGltZSwgbG9jYWxpemVkRGVzY3Jp
cHRpb24sIGNhbmNlbGVkKQorICAgIHsKKyAgICAgICAgdmFyIHJlcXVlc3QgPSBXZWJJbnNwZWN0
b3IubmV0d29ya0xvZy5yZXF1ZXN0Rm9ySWQocmVxdWVzdElkKTsKKyAgICAgICAgaWYgKC94LWZy
YW1lLW9wdGlvbnMtZGVueVwuY2dpLy5leGVjKHJlcXVlc3QudXJsKSkKKyAgICAgICAgICAgIElu
c3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7CisgICAgfQorfQorPC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Cis8cD5UZXN0cyB0aGF0IHJlc3BvbnNlUmVjZWl2
ZWQgaXMgY2FsbGVkIG9uIE5ldHdvcmtEaXNwYXRjaGVyIGZvciByZXNvdXJjZSByZXF1ZXN0cyBk
ZW5pZWQgZHVlIHRvIFgtRnJhbWUtT3B0aW9ucyBoZWFkZXIuPC9wPgorPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMv
cHJvdG9jb2wtdGVzdC5qcyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRl
c3RzL3Byb3RvY29sLXRlc3QuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTczZWZlNzY4MmM5MTRmZDNkZDU1Yjcx
ZDRkNWI5Mjg1OGU5YmZhYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rv
ci1vYnNvbGV0ZS9odHRwLXRlc3RzL3Byb3RvY29sLXRlc3QuanMKQEAgLTAsMCArMSwxMjkgQEAK
K3ZhciBpbml0aWFsaXplX1Byb3RvY29sVGVzdCA9IGZ1bmN0aW9uKCkgeworCitJbnNwZWN0b3JU
ZXN0LmZpbHRlclByb3BzID0gZnVuY3Rpb24ob2JqZWN0LCBub25kZXRlcm1pbmlzdGljUHJvcHMp
Cit7CisgICAgaWYgKG9iamVjdCBpbnN0YW5jZW9mIE9iamVjdCkKKyAgICAgICAgZm9yICh2YXIg
cHJvcCBpbiBvYmplY3QpCisgICAgICAgICAgICBpZiAocHJvcCBpbiBub25kZXRlcm1pbmlzdGlj
UHJvcHMpCisgICAgICAgICAgICAgICAgb2JqZWN0W3Byb3BdID0gIjwiICsgdHlwZW9mIG9iamVj
dFtwcm9wXSArICI+IjsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBvYmplY3Rb
cHJvcF0gPSB0aGlzLmZpbHRlclByb3BzKG9iamVjdFtwcm9wXSwgbm9uZGV0ZXJtaW5pc3RpY1By
b3BzKTsKKyAgICBlbHNlIGlmIChvYmplY3QgaW5zdGFuY2VvZiBBcnJheSkKKyAgICAgICAgZm9y
ICh2YXIgaSA9IDA7IGkgPCBvYmplY3QubGVuZ3RoOyArK2kpCisgICAgICAgICAgICBvYmplY3Rb
aV0gPSB0aGlzLmZpbHRlclByb3BzKG9iamVjdFtpXSwgbm9uZGV0ZXJtaW5pc3RpY1Byb3BzKTsK
KyAgICBlbHNlIGlmICh0eXBlb2Ygb2JqZWN0ID09PSAibnVtYmVyIikKKyAgICAgICAgb2JqZWN0
ID0gIjxudW1iZXI+IjsKKyAgICBlbHNlIGlmICh0eXBlb2Ygb2JqZWN0ID09PSAic3RyaW5nIiAm
JiBvYmplY3QuaW5kZXhPZigiXCJpZFwiIikgIT0gLTEpCisgICAgICAgIG9iamVjdCA9ICI8c3Ry
aW5nPiI7CisgICAgcmV0dXJuIG9iamVjdDsKK307CisKK0luc3BlY3RvclRlc3QuX2R1bXBFdmVu
dCA9IGZ1bmN0aW9uKCkKK3sKKyAgICB2YXIgYXJncyA9IEFycmF5LnByb3RvdHlwZS5zbGljZS5j
YWxsKGFyZ3VtZW50cyk7CisgICAgdmFyIGV2ZW50TmFtZSA9IGFyZ3Muc2hpZnQoKTsKKyAgICBJ
bnNwZWN0b3JUZXN0Ll9hZ2VudENvdmVyYWdlW2V2ZW50TmFtZV0gPSAiY2hlY2tlZCI7CisgICAg
SW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoImV2ZW50ICIgKyBJbnNwZWN0b3JUZXN0Ll9hZ2VudE5h
bWUgKyAiLiIgKyBldmVudE5hbWUpOworICAgIEluc3BlY3RvclRlc3QuYWRkT2JqZWN0KEluc3Bl
Y3RvclRlc3QuX2xhc3RSZWNlaXZlZE1lc3NhZ2UsIEluc3BlY3RvclRlc3QuX2N1c3RvbUZvcm1h
dHRlcnMpOworICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCIiKTsKKworICAgIHZhciBvcmln
aW5hbEV2ZW50SGFuZGxlciA9IGFyZ3Muc2hpZnQoKTsKKyAgICBvcmlnaW5hbEV2ZW50SGFuZGxl
ci5hcHBseSh0aGlzLCBhcmdzKTsKK307CisKKworSW5zcGVjdG9yVGVzdC5fZHVtcENhbGxBcmd1
bWVudHMgPSBmdW5jdGlvbihjYWxsQXJndW1lbnRzKQoreworICAgIHZhciBjYWxsQXJndW1lbnRz
Q29weSA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoY2FsbEFyZ3VtZW50cykpOworICAgIHZh
ciBhZ2VudE5hbWUgPSBjYWxsQXJndW1lbnRzQ29weS5zaGlmdCgpOworICAgIHZhciBmdW5jdGlv
bk5hbWUgPSBjYWxsQXJndW1lbnRzQ29weS5zaGlmdCgpOworICAgIHRoaXMuZmlsdGVyUHJvcHMo
Y2FsbEFyZ3VtZW50c0NvcHksIHRoaXMuX2N1c3RvbUZvcm1hdHRlcnMpOworICAgIHZhciBleHBy
ZXNzaW9uID0gSlNPTi5zdHJpbmdpZnkoY2FsbEFyZ3VtZW50c0NvcHkpOworICAgIGV4cHJlc3Np
b24gPSBleHByZXNzaW9uLnNsaWNlKDEsIGV4cHJlc3Npb24ubGVuZ3RoIC0gMSkucmVwbGFjZSgv
XCI8bnVtYmVyPlwiL2csICI8bnVtYmVyPiIpLnJlcGxhY2UoL1wiPHN0cmluZz5cIi9nLCAiPHN0
cmluZz4iKTsKKworICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCItLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSIpOworICAgIEluc3Bl
Y3RvclRlc3QuYWRkUmVzdWx0KGFnZW50TmFtZSArICIuIiArIGZ1bmN0aW9uTmFtZSArICIoIiAr
IGV4cHJlc3Npb24gKyAiKSIpOworICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCIiKTsKK307
CisKK0luc3BlY3RvclRlc3QuX2NhbGxiYWNrID0gZnVuY3Rpb24ocmVzdWx0KQoreworICAgIElu
c3BlY3RvclRlc3QuYWRkUmVzdWx0KCJyZXNwb25zZToiKTsKKyAgICBJbnNwZWN0b3JUZXN0LmFk
ZE9iamVjdChJbnNwZWN0b3JUZXN0Ll9sYXN0UmVjZWl2ZWRNZXNzYWdlLCBJbnNwZWN0b3JUZXN0
Ll9jdXN0b21Gb3JtYXR0ZXJzKTsKKyAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiIik7Cisg
ICAgSW5zcGVjdG9yVGVzdC5fcnVuTmV4dFRlc3QoKTsKK307CisKK0luc3BlY3RvclRlc3QuX3J1
bk5leHRUZXN0ID0gZnVuY3Rpb24oKQoreworICAgIHZhciBzdGVwID0gKyt0aGlzLl9zdGVwOwor
ICAgIHZhciBuZXh0VGVzdCA9IHRoaXMuX3Rlc3RTdWl0ZVtzdGVwXTsKKyAgICBpZiAobmV4dFRl
c3QpIHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5fZHVtcENhbGxBcmd1bWVudHMobmV4dFRlc3Qp
OworCisgICAgICAgIG5leHRUZXN0LnB1c2godGhpcy5fY2FsbGJhY2suYmluZCh0aGlzKSk7CisK
KyAgICAgICAgdmFyIGFnZW50TmFtZSA9IG5leHRUZXN0LnNoaWZ0KCk7CisgICAgICAgIHZhciBm
dW5jdGlvbk5hbWUgPSBuZXh0VGVzdC5zaGlmdCgpOworICAgICAgICB3aW5kb3dbYWdlbnROYW1l
XVtmdW5jdGlvbk5hbWVdLmFwcGx5KHdpbmRvd1thZ2VudE5hbWVdLCBuZXh0VGVzdCk7CisKKyAg
ICAgICAgdmFyIGxhc3RTZW50TWVzc2FnZSA9IEluc3BlY3RvclRlc3QuX2xhc3RTZW50TWVzc2Fn
ZTsgLy8gVGhpcyBpcyBiZWNhdXNlIHRoZSBuZXh0IGNhbGwgd2lsbCBvdmVycmlkZSBfbGFzdFNl
bnRNZXNzYWdlLgorICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgicmVxdWVzdDoiKTsK
KyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRPYmplY3QobGFzdFNlbnRNZXNzYWdlLCBJbnNwZWN0
b3JUZXN0Ll9jdXN0b21Gb3JtYXR0ZXJzKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1
bHQoIiIpOworCisgICAgICAgIGlmIChhZ2VudE5hbWUgPT09IHRoaXMuX2FnZW50TmFtZSkKKyAg
ICAgICAgICAgIHRoaXMuX2FnZW50Q292ZXJhZ2VbZnVuY3Rpb25OYW1lXSA9ICJjaGVja2VkIjsK
KyAgICB9CisgICAgZWxzZSB7CisgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCI9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSIp
OworICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiQ292ZXJhZ2UgZm9yICIgKyB0aGlz
Ll9hZ2VudE5hbWUpOworICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZE9iamVjdCh0aGlzLl9hZ2Vu
dENvdmVyYWdlKTsKKyAgICAgICAgSW5zcGVjdG9yQmFja2VuZC5kaXNwYXRjaCA9IHRoaXMuX29y
aWdpbmFsRGlzcGF0Y2g7CisgICAgICAgIEluc3BlY3RvckZyb250ZW5kSG9zdC5zZW5kTWVzc2Fn
ZVRvQmFja2VuZCA9IHRoaXMuX29yaWdpbmFsU2VuZE1lc3NhZ2VUb0JhY2tlbmQ7CisgICAgICAg
IHRoaXMuY29tcGxldGVUZXN0KCk7CisgICAgfQorfTsKKworSW5zcGVjdG9yVGVzdC5ydW5Qcm90
b2NvbFRlc3RTdWl0ZSA9IGZ1bmN0aW9uKGFnZW50TmFtZSwgdGVzdFN1aXRlLCBub25kZXRlcm1p
bmlzdGljUHJvcHMpCit7CisgICAgdGhpcy5fYWdlbnROYW1lID0gYWdlbnROYW1lOworICAgIHRo
aXMuX3Rlc3RTdWl0ZSA9IHRlc3RTdWl0ZTsKKyAgICB0aGlzLl9jdXN0b21Gb3JtYXR0ZXJzID0g
e307CisgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBub25kZXRlcm1pbmlzdGljUHJvcHMubGVuZ3Ro
OyArK2kpCisgICAgICAgIHRoaXMuX2N1c3RvbUZvcm1hdHRlcnNbbm9uZGV0ZXJtaW5pc3RpY1By
b3BzW2ldXSA9ICJmb3JtYXRBc1R5cGVOYW1lIjsKKyAgICB2YXIgYWdlbnQgPSB3aW5kb3dbYWdl
bnROYW1lXTsKKworICAgIHRoaXMuX2FnZW50Q292ZXJhZ2UgPSB7fTsKKyAgICBmb3IgKHZhciBr
ZXkgaW4gYWdlbnQpCisgICAgICAgIHRoaXMuX2FnZW50Q292ZXJhZ2Vba2V5XSA9ICJub3QgY2hl
Y2tlZCI7CisKKyAgICB2YXIgZG9tYWluID0gYWdlbnROYW1lLnJlcGxhY2UoL0FnZW50JC8sIiIp
OworICAgIHZhciBkb21haW5NZXNzYWdlc0hhbmRsZXIgPSBJbnNwZWN0b3JCYWNrZW5kLl9kb21h
aW5EaXNwYXRjaGVyc1tkb21haW5dOworICAgIGZvciAodmFyIGV2ZW50TmFtZSBpbiBkb21haW5N
ZXNzYWdlc0hhbmRsZXIpIHsKKyAgICAgICAgaWYgKHR5cGVvZiBkb21haW5NZXNzYWdlc0hhbmRs
ZXJbZXZlbnROYW1lXSAhPT0gImZ1bmN0aW9uIikKKyAgICAgICAgICAgIGNvbnRpbnVlOworICAg
ICAgICB0aGlzLl9hZ2VudENvdmVyYWdlW2V2ZW50TmFtZV0gPSAibm90IGNoZWNrZWQiOworICAg
ICAgICBkb21haW5NZXNzYWdlc0hhbmRsZXJbZXZlbnROYW1lXSA9IEluc3BlY3RvclRlc3QuX2R1
bXBFdmVudC5iaW5kKGRvbWFpbk1lc3NhZ2VzSGFuZGxlciwgZXZlbnROYW1lLCBkb21haW5NZXNz
YWdlc0hhbmRsZXJbZXZlbnROYW1lXSk7CisgICAgfQorCisgICAgdGhpcy5fb3JpZ2luYWxEaXNw
YXRjaCA9IEluc3BlY3RvckJhY2tlbmQuZGlzcGF0Y2g7CisgICAgSW5zcGVjdG9yQmFja2VuZC5k
aXNwYXRjaCA9IGZ1bmN0aW9uKG1lc3NhZ2UpCisgICAgeworICAgICAgICBJbnNwZWN0b3JUZXN0
Ll9sYXN0UmVjZWl2ZWRNZXNzYWdlID0gKHR5cGVvZiBtZXNzYWdlID09PSAic3RyaW5nIikgPyBK
U09OLnBhcnNlKG1lc3NhZ2UpIDogbWVzc2FnZTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5fb3Jp
Z2luYWxEaXNwYXRjaC5hcHBseShJbnNwZWN0b3JCYWNrZW5kLCBbbWVzc2FnZV0pOworICAgIH0K
KworICAgIHRoaXMuX29yaWdpbmFsU2VuZE1lc3NhZ2VUb0JhY2tlbmQgPSBJbnNwZWN0b3JGcm9u
dGVuZEhvc3Quc2VuZE1lc3NhZ2VUb0JhY2tlbmQ7CisgICAgSW5zcGVjdG9yRnJvbnRlbmRIb3N0
LnNlbmRNZXNzYWdlVG9CYWNrZW5kID0gZnVuY3Rpb24obWVzc2FnZSkKKyAgICB7CisgICAgICAg
IEluc3BlY3RvclRlc3QuX2xhc3RTZW50TWVzc2FnZSA9IEpTT04ucGFyc2UobWVzc2FnZSk7Cisg
ICAgICAgIEluc3BlY3RvclRlc3QuX29yaWdpbmFsU2VuZE1lc3NhZ2VUb0JhY2tlbmQuYXBwbHko
SW5zcGVjdG9yRnJvbnRlbmRIb3N0LCBbbWVzc2FnZV0pOworICAgIH0KKworICAgIHRoaXMuX3N0
ZXAgPSAtMTsKKworICAgIHRoaXMuX3J1bk5leHRUZXN0KCk7Cit9OworCit9OwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2UtaGFy
LWNvbnZlcnNpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRl
L2h0dHAtdGVzdHMvcmVzb3VyY2UtaGFyLWNvbnZlcnNpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmE2M2MyMWJiNDM2NmQxNmRmNmYyYWI3NWI4NmRmMzY0MjljOTk4ODcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9yZXNvdXJj
ZS1oYXItY29udmVyc2lvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyMjYgQEAKK1Rlc3RzIGNv
bnZlcnNpb24gb2YgSW5zcGVjdG9yJ3MgcmVzb3VyY2UgcmVwcmVzZW50YXRpb24gaW50byBIQVIg
Zm9ybWF0LgorCitQYWdlIHJlbG9hZGVkLgoreworICAgIHZlcnNpb24gOiA8c3RyaW5nPgorICAg
IGNyZWF0b3IgOiB7CisgICAgICAgIG5hbWUgOiAiV2ViSW5zcGVjdG9yIgorICAgICAgICB2ZXJz
aW9uIDogPHN0cmluZz4KKyAgICB9CisgICAgcGFnZXMgOiBbCisgICAgICAgIHsKKyAgICAgICAg
ICAgIHN0YXJ0ZWREYXRlVGltZSA6IDxvYmplY3Q+CisgICAgICAgICAgICBpZCA6IDxzdHJpbmc+
CisgICAgICAgICAgICB0aXRsZSA6ICJodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jl
c291cmNlLWhhci1jb252ZXJzaW9uLmh0bWwiCisgICAgICAgICAgICBwYWdlVGltaW5ncyA6IHsK
KyAgICAgICAgICAgICAgICBvbkNvbnRlbnRMb2FkIDogPG51bWJlcj4KKyAgICAgICAgICAgICAg
ICBvbkxvYWQgOiA8bnVtYmVyPgorICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgXQorICAg
IGVudHJpZXMgOiBbCisgICAgICAgIHsKKyAgICAgICAgICAgIHBhZ2VyZWYgOiAicGFnZV8xIgor
ICAgICAgICAgICAgc3RhcnRlZERhdGVUaW1lIDogPG9iamVjdD4KKyAgICAgICAgICAgIHRpbWUg
OiA8bnVtYmVyPgorICAgICAgICAgICAgcmVxdWVzdCA6IHsKKyAgICAgICAgICAgICAgICBtZXRo
b2QgOiAiR0VUIgorICAgICAgICAgICAgICAgIHVybCA6ICJodHRwOi8vMTI3LjAuMC4xOjgwMDAv
aW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIgorICAgICAgICAgICAgICAgIGh0dHBWZXJzaW9u
IDogIkhUVFAvMS4xIgorICAgICAgICAgICAgICAgIGhlYWRlcnMgOiA8b2JqZWN0PgorICAgICAg
ICAgICAgICAgIHF1ZXJ5U3RyaW5nIDogWworICAgICAgICAgICAgICAgIF0KKyAgICAgICAgICAg
ICAgICBjb29raWVzIDogWworICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAg
ICAgICAgICBuYW1lIDogImEiCisgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSA6ICJiIgor
ICAgICAgICAgICAgICAgICAgICAgICAgcGF0aCA6ICIvcGF0aCIKKyAgICAgICAgICAgICAgICAg
ICAgICAgIGRvbWFpbiA6ICJleGFtcGxlLmNvbSIKKyAgICAgICAgICAgICAgICAgICAgICAgIGV4
cGlyZXMgOiBudWxsCisgICAgICAgICAgICAgICAgICAgICAgICBodHRwT25seSA6IGZhbHNlCisg
ICAgICAgICAgICAgICAgICAgICAgICBzZWN1cmUgOiBmYWxzZQorICAgICAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIG5hbWUg
OiAiYTEiCisgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSA6ICJiMSIKKyAgICAgICAgICAg
ICAgICAgICAgICAgIHBhdGggOiB1bmRlZmluZWQKKyAgICAgICAgICAgICAgICAgICAgICAgIGRv
bWFpbiA6IHVuZGVmaW5lZAorICAgICAgICAgICAgICAgICAgICAgICAgZXhwaXJlcyA6IG51bGwK
KyAgICAgICAgICAgICAgICAgICAgICAgIGh0dHBPbmx5IDogZmFsc2UKKyAgICAgICAgICAgICAg
ICAgICAgICAgIHNlY3VyZSA6IGZhbHNlCisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgbmFtZSA6ICJjMSIKKyAgICAg
ICAgICAgICAgICAgICAgICAgIHZhbHVlIDogImQxIgorICAgICAgICAgICAgICAgICAgICAgICAg
cGF0aCA6IHVuZGVmaW5lZAorICAgICAgICAgICAgICAgICAgICAgICAgZG9tYWluIDogdW5kZWZp
bmVkCisgICAgICAgICAgICAgICAgICAgICAgICBleHBpcmVzIDogbnVsbAorICAgICAgICAgICAg
ICAgICAgICAgICAgaHR0cE9ubHkgOiBmYWxzZQorICAgICAgICAgICAgICAgICAgICAgICAgc2Vj
dXJlIDogZmFsc2UKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIF0KKyAg
ICAgICAgICAgICAgICBoZWFkZXJzU2l6ZSA6IDxudW1iZXI+CisgICAgICAgICAgICAgICAgYm9k
eVNpemUgOiA8bnVtYmVyPgorICAgICAgICAgICAgfQorICAgICAgICAgICAgcmVzcG9uc2UgOiB7
CisgICAgICAgICAgICAgICAgc3RhdHVzIDogMzA0CisgICAgICAgICAgICAgICAgc3RhdHVzVGV4
dCA6ICJOb3QgTW9kaWZpZWQiCisgICAgICAgICAgICAgICAgaHR0cFZlcnNpb24gOiAiSFRUUC8x
LjEiCisgICAgICAgICAgICAgICAgaGVhZGVycyA6IDxvYmplY3Q+CisgICAgICAgICAgICAgICAg
Y29va2llcyA6IFsKKyAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAg
ICAgbmFtZSA6ICJ4IgorICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgOiAieSIKKyAgICAg
ICAgICAgICAgICAgICAgICAgIHBhdGggOiAiL3BhdGgiCisgICAgICAgICAgICAgICAgICAgICAg
ICBkb21haW4gOiAiZXhhbXBsZS5jb20iCisgICAgICAgICAgICAgICAgICAgICAgICBleHBpcmVz
IDogbnVsbAorICAgICAgICAgICAgICAgICAgICAgICAgaHR0cE9ubHkgOiB0cnVlCisgICAgICAg
ICAgICAgICAgICAgICAgICBzZWN1cmUgOiB0cnVlCisgICAgICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgbmFtZSA6ICJ4MSIK
KyAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIDogInkxIgorICAgICAgICAgICAgICAgICAg
ICAgICAgcGF0aCA6IHVuZGVmaW5lZAorICAgICAgICAgICAgICAgICAgICAgICAgZG9tYWluIDog
dW5kZWZpbmVkCisgICAgICAgICAgICAgICAgICAgICAgICBleHBpcmVzIDogbnVsbAorICAgICAg
ICAgICAgICAgICAgICAgICAgaHR0cE9ubHkgOiBmYWxzZQorICAgICAgICAgICAgICAgICAgICAg
ICAgc2VjdXJlIDogZmFsc2UKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAg
ICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICBuYW1lIDogInoyIgorICAgICAgICAgICAg
ICAgICAgICAgICAgdmFsdWUgOiAieTIiCisgICAgICAgICAgICAgICAgICAgICAgICBwYXRoIDog
dW5kZWZpbmVkCisgICAgICAgICAgICAgICAgICAgICAgICBkb21haW4gOiB1bmRlZmluZWQKKyAg
ICAgICAgICAgICAgICAgICAgICAgIGV4cGlyZXMgOiBudWxsCisgICAgICAgICAgICAgICAgICAg
ICAgICBodHRwT25seSA6IGZhbHNlCisgICAgICAgICAgICAgICAgICAgICAgICBzZWN1cmUgOiBm
YWxzZQorICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgXQorICAgICAgICAg
ICAgICAgIGNvbnRlbnQgOiB7CisgICAgICAgICAgICAgICAgICAgIHNpemUgOiA8bnVtYmVyPgor
ICAgICAgICAgICAgICAgICAgICBjb21wcmVzc2lvbiA6IDxudW1iZXI+CisgICAgICAgICAgICAg
ICAgICAgIG1pbWVUeXBlIDogInRleHQvcGxhaW4iCisgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgICAgIHJlZGlyZWN0VVJMIDogIiIKKyAgICAgICAgICAgICAgICBoZWFkZXJzU2l6ZSA6
IDxudW1iZXI+CisgICAgICAgICAgICAgICAgYm9keVNpemUgOiA8bnVtYmVyPgorICAgICAgICAg
ICAgfQorICAgICAgICAgICAgY2FjaGUgOiB7CisgICAgICAgICAgICB9CisgICAgICAgICAgICB0
aW1pbmdzIDogPG9iamVjdD4KKyAgICAgICAgfQorICAgICAgICB7CisgICAgICAgICAgICBwYWdl
cmVmIDogInBhZ2VfMSIKKyAgICAgICAgICAgIHN0YXJ0ZWREYXRlVGltZSA6IDxvYmplY3Q+Cisg
ICAgICAgICAgICB0aW1lIDogPG51bWJlcj4KKyAgICAgICAgICAgIHJlcXVlc3QgOiB7CisgICAg
ICAgICAgICAgICAgbWV0aG9kIDogIkdFVCIKKyAgICAgICAgICAgICAgICB1cmwgOiAiaHR0cDov
LzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZS1oYXItY29udmVyc2lvbi5odG1sIgor
ICAgICAgICAgICAgICAgIGh0dHBWZXJzaW9uIDogIkhUVFAvMS4xIgorICAgICAgICAgICAgICAg
IGhlYWRlcnMgOiA8b2JqZWN0PgorICAgICAgICAgICAgICAgIHF1ZXJ5U3RyaW5nIDogWworICAg
ICAgICAgICAgICAgIF0KKyAgICAgICAgICAgICAgICBjb29raWVzIDogWworICAgICAgICAgICAg
ICAgIF0KKyAgICAgICAgICAgICAgICBoZWFkZXJzU2l6ZSA6IDxudW1iZXI+CisgICAgICAgICAg
ICAgICAgYm9keVNpemUgOiA8bnVtYmVyPgorICAgICAgICAgICAgfQorICAgICAgICAgICAgcmVz
cG9uc2UgOiB7CisgICAgICAgICAgICAgICAgc3RhdHVzIDogMjAwCisgICAgICAgICAgICAgICAg
c3RhdHVzVGV4dCA6ICJPSyIKKyAgICAgICAgICAgICAgICBodHRwVmVyc2lvbiA6ICJIVFRQLzEu
MSIKKyAgICAgICAgICAgICAgICBoZWFkZXJzIDogPG9iamVjdD4KKyAgICAgICAgICAgICAgICBj
b29raWVzIDogWworICAgICAgICAgICAgICAgIF0KKyAgICAgICAgICAgICAgICBjb250ZW50IDog
eworICAgICAgICAgICAgICAgICAgICBzaXplIDogPG51bWJlcj4KKyAgICAgICAgICAgICAgICAg
ICAgY29tcHJlc3Npb24gOiA8bnVtYmVyPgorICAgICAgICAgICAgICAgICAgICBtaW1lVHlwZSA6
ICJ0ZXh0L2h0bWwiCisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIHJlZGlyZWN0
VVJMIDogIiIKKyAgICAgICAgICAgICAgICBoZWFkZXJzU2l6ZSA6IDxudW1iZXI+CisgICAgICAg
ICAgICAgICAgYm9keVNpemUgOiA8bnVtYmVyPgorICAgICAgICAgICAgfQorICAgICAgICAgICAg
Y2FjaGUgOiB7CisgICAgICAgICAgICB9CisgICAgICAgICAgICB0aW1pbmdzIDogPG9iamVjdD4K
KyAgICAgICAgfQorICAgICAgICB7CisgICAgICAgICAgICBwYWdlcmVmIDogInBhZ2VfMSIKKyAg
ICAgICAgICAgIHN0YXJ0ZWREYXRlVGltZSA6IDxvYmplY3Q+CisgICAgICAgICAgICB0aW1lIDog
PG51bWJlcj4KKyAgICAgICAgICAgIHJlcXVlc3QgOiB7CisgICAgICAgICAgICAgICAgbWV0aG9k
IDogIkdFVCIKKyAgICAgICAgICAgICAgICB1cmwgOiAiaHR0cDovLzEyNy4wLjAuMTo4MDAwL2lu
c3BlY3Rvci9yZXNvdXJjZXMtdGVzdC5qcyIKKyAgICAgICAgICAgICAgICBodHRwVmVyc2lvbiA6
ICJIVFRQLzEuMSIKKyAgICAgICAgICAgICAgICBoZWFkZXJzIDogPG9iamVjdD4KKyAgICAgICAg
ICAgICAgICBxdWVyeVN0cmluZyA6IFsKKyAgICAgICAgICAgICAgICBdCisgICAgICAgICAgICAg
ICAgY29va2llcyA6IFsKKyAgICAgICAgICAgICAgICBdCisgICAgICAgICAgICAgICAgaGVhZGVy
c1NpemUgOiA8bnVtYmVyPgorICAgICAgICAgICAgICAgIGJvZHlTaXplIDogPG51bWJlcj4KKyAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIHJlc3BvbnNlIDogeworICAgICAgICAgICAgICAgIHN0
YXR1cyA6IDMwNAorICAgICAgICAgICAgICAgIHN0YXR1c1RleHQgOiAiTm90IE1vZGlmaWVkIgor
ICAgICAgICAgICAgICAgIGh0dHBWZXJzaW9uIDogIkhUVFAvMS4xIgorICAgICAgICAgICAgICAg
IGhlYWRlcnMgOiA8b2JqZWN0PgorICAgICAgICAgICAgICAgIGNvb2tpZXMgOiBbCisgICAgICAg
ICAgICAgICAgXQorICAgICAgICAgICAgICAgIGNvbnRlbnQgOiB7CisgICAgICAgICAgICAgICAg
ICAgIHNpemUgOiA8bnVtYmVyPgorICAgICAgICAgICAgICAgICAgICBjb21wcmVzc2lvbiA6IDxu
dW1iZXI+CisgICAgICAgICAgICAgICAgICAgIG1pbWVUeXBlIDogInRleHQvcGxhaW4iCisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIHJlZGlyZWN0VVJMIDogIiIKKyAgICAgICAg
ICAgICAgICBoZWFkZXJzU2l6ZSA6IDxudW1iZXI+CisgICAgICAgICAgICAgICAgYm9keVNpemUg
OiA8bnVtYmVyPgorICAgICAgICAgICAgfQorICAgICAgICAgICAgY2FjaGUgOiB7CisgICAgICAg
ICAgICB9CisgICAgICAgICAgICB0aW1pbmdzIDogPG9iamVjdD4KKyAgICAgICAgfQorICAgICAg
ICB7CisgICAgICAgICAgICBwYWdlcmVmIDogInBhZ2VfMSIKKyAgICAgICAgICAgIHN0YXJ0ZWRE
YXRlVGltZSA6IDxvYmplY3Q+CisgICAgICAgICAgICB0aW1lIDogPG51bWJlcj4KKyAgICAgICAg
ICAgIHJlcXVlc3QgOiB7CisgICAgICAgICAgICAgICAgbWV0aG9kIDogIlBPU1QiCisgICAgICAg
ICAgICAgICAgdXJsIDogImh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2Vz
L3Bvc3QtdGFyZ2V0LmNnaSIKKyAgICAgICAgICAgICAgICBodHRwVmVyc2lvbiA6ICJIVFRQLzEu
MSIKKyAgICAgICAgICAgICAgICBoZWFkZXJzIDogPG9iamVjdD4KKyAgICAgICAgICAgICAgICBx
dWVyeVN0cmluZyA6IFsKKyAgICAgICAgICAgICAgICBdCisgICAgICAgICAgICAgICAgY29va2ll
cyA6IFsKKyAgICAgICAgICAgICAgICBdCisgICAgICAgICAgICAgICAgaGVhZGVyc1NpemUgOiA8
bnVtYmVyPgorICAgICAgICAgICAgICAgIGJvZHlTaXplIDogPG51bWJlcj4KKyAgICAgICAgICAg
ICAgICBwb3N0RGF0YSA6IHsKKyAgICAgICAgICAgICAgICAgICAgbWltZVR5cGUgOiAidGV4dC94
bWwiCisgICAgICAgICAgICAgICAgICAgIHRleHQgOiAiPHhtbD48L3htbD4iCisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICAgICAgcmVzcG9uc2UgOiB7CisgICAgICAg
ICAgICAgICAgc3RhdHVzIDogMjAwCisgICAgICAgICAgICAgICAgc3RhdHVzVGV4dCA6ICJPSyIK
KyAgICAgICAgICAgICAgICBodHRwVmVyc2lvbiA6ICJIVFRQLzEuMSIKKyAgICAgICAgICAgICAg
ICBoZWFkZXJzIDogPG9iamVjdD4KKyAgICAgICAgICAgICAgICBjb29raWVzIDogWworICAgICAg
ICAgICAgICAgIF0KKyAgICAgICAgICAgICAgICBjb250ZW50IDogeworICAgICAgICAgICAgICAg
ICAgICBzaXplIDogPG51bWJlcj4KKyAgICAgICAgICAgICAgICAgICAgY29tcHJlc3Npb24gOiA8
bnVtYmVyPgorICAgICAgICAgICAgICAgICAgICBtaW1lVHlwZSA6ICJhcHBsaWNhdGlvbi94bWwi
CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIHJlZGlyZWN0VVJMIDogIiIKKyAg
ICAgICAgICAgICAgICBoZWFkZXJzU2l6ZSA6IDxudW1iZXI+CisgICAgICAgICAgICAgICAgYm9k
eVNpemUgOiA8bnVtYmVyPgorICAgICAgICAgICAgfQorICAgICAgICAgICAgY2FjaGUgOiB7Cisg
ICAgICAgICAgICB9CisgICAgICAgICAgICB0aW1pbmdzIDogPG9iamVjdD4KKyAgICAgICAgfQor
ICAgIF0KK30KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0
dHAtdGVzdHMvcmVzb3VyY2UtaGFyLWNvbnZlcnNpb24uaHRtbCBiL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3Jlc291cmNlLWhhci1jb252ZXJzaW9uLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZTI3ZjdlODAxMjYwNDhiMzkwMjFlZTk3ODk1YjViN2JjNDM2NjE1MQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3Jl
c291cmNlLWhhci1jb252ZXJzaW9uLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFkb2N0eXBlIGh0
bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Imluc3BlY3Rvci10ZXN0LmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMtdGVzdC5qcyI+PC9zY3JpcHQ+CisKKzxzY3Jp
cHQ+CisKK2Z1bmN0aW9uIGRvWEhSKCkKK3sKKyAgICB2YXIgeGhyID0gbmV3IFhNTEh0dHBSZXF1
ZXN0KCk7CisgICAgeGhyLm9wZW4oIlBPU1QiLCAicmVzb3VyY2VzL3Bvc3QtdGFyZ2V0LmNnaSIs
IGZhbHNlKTsKKyAgICB4aHIuc2V0UmVxdWVzdEhlYWRlcigiQ29udGVudC1UeXBlIiwgInRleHQv
eG1sIik7CisgICAgeGhyLnNlbmQoIjx4bWw+PC94bWw+Iik7Cit9CisKK3ZhciB0ZXN0ID0gZnVu
Y3Rpb24oKQoreworICAgIEluc3BlY3RvclRlc3QucmVsb2FkUGFnZShzdGVwMSk7CisKKyAgICBm
dW5jdGlvbiBzdGVwMSgpCisgICAgeworICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5Q
YWdlKCJkb1hIUigpIiwgc3RlcDIpOworICAgIH0KKworICAgIGZ1bmN0aW9uIHN0ZXAyKCkKKyAg
ICB7CisgICAgICAgIGZ1bmN0aW9uIGZpbmRSZXF1ZXN0QnlVUkwodXJsKQorICAgICAgICB7Cisg
ICAgICAgICAgICB2YXIgcmVxdWVzdHMgPSBXZWJJbnNwZWN0b3IubmV0d29ya0xvZy5yZXF1ZXN0
czsKKyAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcmVxdWVzdHMubGVuZ3RoOyArK2kp
IHsKKyAgICAgICAgICAgICAgICBpZiAodXJsLnRlc3QocmVxdWVzdHNbaV0udXJsKSkKKyAgICAg
ICAgICAgICAgICAgICAgcmV0dXJuIHJlcXVlc3RzW2ldOworICAgICAgICAgICAgfQorICAgICAg
ICB9CisKKyAgICAgICAgZnVuY3Rpb24gYWRkQ29va2llSGVhZGVyc1RvUmVxdWVzdChyZXF1ZXN0
KQorICAgICAgICB7CisgICAgICAgICAgICByZXF1ZXN0LnJlcXVlc3RIZWFkZXJzID0gWworICAg
ICAgICAgICAgICAgIHsgbmFtZTogIkNvb2tpZSIsIHZhbHVlOiAiYT1iOyAkUGF0aD0vcGF0aDsg
JERvbWFpbj1leGFtcGxlLmNvbTsgYTE9YjFcbmMxPWQxIiB9CisgICAgICAgICAgICBdOworCisg
ICAgICAgICAgICByZXF1ZXN0LnJlc3BvbnNlSGVhZGVycyA9IFsKKyAgICAgICAgICAgICAgICB7
IG5hbWU6ICJTZXQtQ29va2llIiwgdmFsdWU6ICJ4PXk7IFBhdGg9L3BhdGg7IERvbWFpbj1leGFt
cGxlLmNvbTsgRGlzY2FyZDsgaHR0cE9ubHk7IFNlY3VyZTsgVmVyc2lvbj0xXG54MT15MVxuejI9
eTIiIH0KKyAgICAgICAgICAgIF07CisgICAgICAgIH0KKworICAgICAgICBhZGRDb29raWVIZWFk
ZXJzVG9SZXF1ZXN0KGZpbmRSZXF1ZXN0QnlVUkwoL2luc3BlY3Rvci10ZXN0XC5qcyQvKSk7Cisg
ICAgICAgIHZhciBsb2cgPSAobmV3IFdlYkluc3BlY3Rvci5IQVJMb2coV2ViSW5zcGVjdG9yLm5l
dHdvcmtMb2cucmVxdWVzdHMpKS5idWlsZCgpOworICAgICAgICAvLyBGaWx0ZXIgb3V0IGZhdmlj
b24uaWNvIHJlcXVlc3RzIHRoYXQgb25seSBhcHBlYXIgb24gY2VydGFpbiBwbGF0Zm9ybXMuCisg
ICAgICAgIGxvZy5lbnRyaWVzID0gbG9nLmVudHJpZXMuZmlsdGVyKGZ1bmN0aW9uKGVudHJ5KSB7
CisgICAgICAgICAgICByZXR1cm4gIS9mYXZpY29uXC5pY28kLy50ZXN0KGVudHJ5LnJlcXVlc3Qu
dXJsKTsKKyAgICAgICAgfSk7CisgICAgICAgIGxvZy5lbnRyaWVzLnNvcnQoSW5zcGVjdG9yVGVz
dC5yZXF1ZXN0VVJMQ29tcGFyZXIpOworICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZE9iamVjdChs
b2csIEluc3BlY3RvclRlc3QuSEFSUHJvcGVydHlGb3JtYXR0ZXJzV2l0aFNpemUpOworICAgICAg
ICB2YXIgcGFnZVRpbWluZ3MgPSBsb2cucGFnZXNbMF0ucGFnZVRpbWluZ3M7CisgICAgICAgIElu
c3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7CisgICAgfQorfQorCis8L3NjcmlwdD4KKworCis8
L2hlYWQ+CisKKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KKzxwPgorVGVzdHMgY29udmVyc2lv
biBvZiBJbnNwZWN0b3IncyByZXNvdXJjZSByZXByZXNlbnRhdGlvbiBpbnRvIEhBUiBmb3JtYXQu
Cis8L3A+CisKKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3Jlc291cmNlLWhhci1oZWFkZXJzLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3Jlc291cmNlLWhh
ci1oZWFkZXJzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hODY2NTQ4MGYyMjQyOWU0M2M1MWU5
MDg4ZTI1M2EyYmMwNzI2YTRiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2UtaGFyLWhlYWRlcnMtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsNzIgQEAKK1Rlc3RzIHRoZSBub25kZXRlcm1pbmlzdGljIGJpdHMgb2YgSEFS
IGNvbnZlcnNpb24gdmlhIHRoZSBtYWdpYyBvZiBoYXJkLWNvZGVkIHZhbHVlcy4KKworUmVzb3Vy
Y2U6eworICAgIHJlcXVlc3QgOiB7CisgICAgICAgIGhlYWRlcnMgOiBbCisgICAgICAgICAgICB7
CisgICAgICAgICAgICAgICAgbmFtZSA6ICJSZXF1ZXN0IgorICAgICAgICAgICAgICAgIHZhbHVl
IDogInJlcXVlc3QtdmFsdWUiCisgICAgICAgICAgICB9CisgICAgICAgIF0KKyAgICAgICAgaGVh
ZGVyc1NpemUgOiA3MgorICAgICAgICBoZWFkZXJzVGV4dCA6ICJHRVQgaHR0cDovL2V4YW1wbGUu
Y29tL2luc3BlY3Rvci10ZXN0LmpzIEhUVFAvMS4xXHJcblJlcXVlc3Q6IGhlYWRlcnMtdGV4dCIK
KyAgICB9CisgICAgcmVzcG9uc2UgOiB7CisgICAgICAgIGhlYWRlcnMgOiBbCisgICAgICAgICAg
ICB7CisgICAgICAgICAgICAgICAgbmFtZSA6ICJSZXNwb25zZSIKKyAgICAgICAgICAgICAgICB2
YWx1ZSA6ICJyZXNwb25zZS12YWx1ZSIKKyAgICAgICAgICAgIH0KKyAgICAgICAgXQorICAgICAg
ICBoZWFkZXJzU2l6ZSA6IDM5CisgICAgICAgIGhlYWRlcnNUZXh0IDogIkhUVFAvMS4xIDIwMCBP
S1xyXG5SZXNwb25zZTogaGVhZGVycy10ZXh0IgorICAgICAgICByZXNvdXJjZVNpemUgOiAxMDAw
CisgICAgICAgIHRyYW5zZmVyU2l6ZSA6IDUzOQorICAgIH0KK30KK0hBUjp7CisgICAgY2FjaGUg
OiB7CisgICAgfQorICAgIHJlcXVlc3QgOiB7CisgICAgICAgIGJvZHlTaXplIDogMAorICAgICAg
ICBjb29raWVzIDogWworICAgICAgICBdCisgICAgICAgIGhlYWRlcnMgOiBbCisgICAgICAgICAg
ICB7CisgICAgICAgICAgICAgICAgbmFtZSA6ICJSZXF1ZXN0IgorICAgICAgICAgICAgICAgIHZh
bHVlIDogInJlcXVlc3QtdmFsdWUiCisgICAgICAgICAgICB9CisgICAgICAgIF0KKyAgICAgICAg
aGVhZGVyc1NpemUgOiA3MgorICAgICAgICBodHRwVmVyc2lvbiA6ICJIVFRQLzEuMSIKKyAgICAg
ICAgbWV0aG9kIDogIkdFVCIKKyAgICAgICAgcXVlcnlTdHJpbmcgOiBbCisgICAgICAgIF0KKyAg
ICAgICAgdXJsIDogImh0dHA6Ly9leGFtcGxlLmNvbS9pbnNwZWN0b3ItdGVzdC5qcyIKKyAgICB9
CisgICAgcmVzcG9uc2UgOiB7CisgICAgICAgIGJvZHlTaXplIDogNTAwCisgICAgICAgIGNvbnRl
bnQgOiB7CisgICAgICAgICAgICBjb21wcmVzc2lvbiA6IDUwMAorICAgICAgICAgICAgbWltZVR5
cGUgOiAidGV4dC9odG1sIgorICAgICAgICAgICAgc2l6ZSA6IDEwMDAKKyAgICAgICAgfQorICAg
ICAgICBjb29raWVzIDogWworICAgICAgICBdCisgICAgICAgIGhlYWRlcnMgOiBbCisgICAgICAg
ICAgICB7CisgICAgICAgICAgICAgICAgbmFtZSA6ICJSZXNwb25zZSIKKyAgICAgICAgICAgICAg
ICB2YWx1ZSA6ICJyZXNwb25zZS12YWx1ZSIKKyAgICAgICAgICAgIH0KKyAgICAgICAgXQorICAg
ICAgICBoZWFkZXJzU2l6ZSA6IDM5CisgICAgICAgIGh0dHBWZXJzaW9uIDogIkhUVFAvMS4xIgor
ICAgICAgICByZWRpcmVjdFVSTCA6ICIiCisgICAgICAgIHN0YXR1cyA6IDIwMAorICAgICAgICBz
dGF0dXNUZXh0IDogIk9LIgorICAgIH0KKyAgICBzdGFydGVkRGF0ZVRpbWUgOiA8b2JqZWN0Pgor
ICAgIHRpbWUgOiA8bnVtYmVyPgorICAgIHRpbWluZ3MgOiA8b2JqZWN0PgorfQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9yZXNvdXJjZS1o
YXItaGVhZGVycy5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVz
dHMvcmVzb3VyY2UtaGFyLWhlYWRlcnMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NDlkYjY5NGY0NWRmMzM5
NGI0N2QzYTZhZjViMWE1MTVmMmU0MWM0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2UtaGFyLWhlYWRlcnMuaHRtbApA
QCAtMCwwICsxLDczIEBACis8IWRvY3R5cGUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNl
cy10ZXN0LmpzIj48L3NjcmlwdD4KKworPHNjcmlwdD4KK3ZhciB0ZXN0ID0gZnVuY3Rpb24oKQor
eworICAgIGZ1bmN0aW9uIHZpc2libGVOZXdsaW5lcyhzKQorICAgIHsKKyAgICAgICAgcmV0dXJu
IHMucmVwbGFjZSgvXHIvLCAiXFxyIikucmVwbGFjZSgvXG4vLCAiXFxuIik7CisgICAgfQorCisg
ICAgZnVuY3Rpb24gc2V0UmVxdWVzdFZhbHVlcyhyZXF1ZXN0KQorICAgIHsKKyAgICAgICAgcmVx
dWVzdC5yZXF1ZXN0SGVhZGVycyA9IFsKKyAgICAgICAgICAgIHsgbmFtZTogIlJlcXVlc3QiLCB2
YWx1ZTogInJlcXVlc3QtdmFsdWUiIH0KKyAgICAgICAgXTsKKyAgICAgICAgcmVxdWVzdC5yZXF1
ZXN0SGVhZGVyc1RleHQgPSAiR0VUIGh0dHA6Ly9leGFtcGxlLmNvbS9pbnNwZWN0b3ItdGVzdC5q
cyBIVFRQLzEuMVxyXG5SZXF1ZXN0OiBoZWFkZXJzLXRleHQiOworCisgICAgICAgIHJlcXVlc3Qu
cmVzcG9uc2VIZWFkZXJzID0gWworICAgICAgICAgICAgeyBuYW1lOiAiUmVzcG9uc2UiLCB2YWx1
ZTogInJlc3BvbnNlLXZhbHVlIiB9CisgICAgICAgIF07CisgICAgICAgIHJlcXVlc3QucmVzcG9u
c2VIZWFkZXJzVGV4dCA9ICJIVFRQLzEuMSAyMDAgT0tcclxuUmVzcG9uc2U6IGhlYWRlcnMtdGV4
dCI7CisKKyAgICAgICAgcmVxdWVzdC5kb2N1bWVudFVSTCA9ICJodHRwOi8vZXhhbXBsZS5jb20v
aW5zcGVjdG9yLXRlc3QuanMiOworICAgICAgICByZXF1ZXN0LnJlcXVlc3RNZXRob2QgPSAiR0VU
IjsKKyAgICAgICAgcmVxdWVzdC5taW1lVHlwZSA9ICJ0ZXh0L2h0bWwiOworICAgICAgICByZXF1
ZXN0LnN0YXR1c0NvZGUgPSAyMDA7CisgICAgICAgIHJlcXVlc3Quc3RhdHVzVGV4dCA9ICJPSyI7
CisgICAgICAgIHJlcXVlc3QucmVzb3VyY2VTaXplID0gMTAwMDsKKyAgICAgICAgcmVxdWVzdC5f
dHJhbnNmZXJTaXplID0gNTM5OyAvLyAzOSA9IGhlYWRlciBzaXplIGF0IHRoZSBlbmQgb2YgdGhl
IGRheQorICAgIH0KKworICAgIHZhciB0ZXN0UmVxdWVzdCA9IG5ldyBXZWJJbnNwZWN0b3IuTmV0
d29ya1JlcXVlc3QoInRlc3RSZXF1ZXN0IiwgImh0dHA6Ly9leGFtcGxlLmNvbS9pbnNwZWN0b3It
dGVzdC5qcyIsIDEpOyAKKyAgICBzZXRSZXF1ZXN0VmFsdWVzKHRlc3RSZXF1ZXN0KTsKKyAgICB2
YXIgcmVxdWVzdFJlc3VsdHMgPSB7CisgICAgICAgICJyZXF1ZXN0IjogeworICAgICAgICAgICAg
ImhlYWRlcnMiOiB0ZXN0UmVxdWVzdC5yZXF1ZXN0SGVhZGVycywKKyAgICAgICAgICAgICJoZWFk
ZXJzVGV4dCI6IHZpc2libGVOZXdsaW5lcyh0ZXN0UmVxdWVzdC5yZXF1ZXN0SGVhZGVyc1RleHQp
LAorICAgICAgICAgICAgImhlYWRlcnNTaXplIjogdGVzdFJlcXVlc3QucmVxdWVzdEhlYWRlcnNT
aXplLAorICAgICAgICB9LAorICAgICAgICAicmVzcG9uc2UiOiB7CisgICAgICAgICAgICAiaGVh
ZGVycyI6IHRlc3RSZXF1ZXN0LnJlc3BvbnNlSGVhZGVycywKKyAgICAgICAgICAgICJoZWFkZXJz
VGV4dCI6IHZpc2libGVOZXdsaW5lcyh0ZXN0UmVxdWVzdC5yZXNwb25zZUhlYWRlcnNUZXh0KSwK
KyAgICAgICAgICAgICJoZWFkZXJzU2l6ZSI6IHRlc3RSZXF1ZXN0LnJlc3BvbnNlSGVhZGVyc1Np
emUsCisgICAgICAgICAgICAicmVzb3VyY2VTaXplIjogdGVzdFJlcXVlc3QucmVzb3VyY2VTaXpl
LAorICAgICAgICAgICAgInRyYW5zZmVyU2l6ZSI6IHRlc3RSZXF1ZXN0LnRyYW5zZmVyU2l6ZQor
ICAgICAgICB9CisgICAgfTsKKyAgICBJbnNwZWN0b3JUZXN0LmFkZE9iamVjdChyZXF1ZXN0UmVz
dWx0cywge30sICIiLCAiUmVzb3VyY2U6Iik7CisKKyAgICB2YXIgc3RpbGxOb25kZXRlcm1pbmlz
dGljID0geworICAgICAgICAic3RhcnRlZERhdGVUaW1lIjogImZvcm1hdEFzVHlwZU5hbWUiLAor
ICAgICAgICAidGltZSI6ICJmb3JtYXRBc1R5cGVOYW1lIiwKKyAgICAgICAgInRpbWluZ3MiOiAi
Zm9ybWF0QXNUeXBlTmFtZSIKKyAgICB9OworICAgIEluc3BlY3RvclRlc3QuYWRkT2JqZWN0KG5l
dyBXZWJJbnNwZWN0b3IuSEFSRW50cnkodGVzdFJlcXVlc3QpLmJ1aWxkKCksIHN0aWxsTm9uZGV0
ZXJtaW5pc3RpYywgIiIsICJIQVI6Iik7CisgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3Qo
KTsKK30KKzwvc2NyaXB0PgorCisKKzwvaGVhZD4KKworPGJvZHkgb25sb2FkPSJydW5UZXN0KCki
PgorPHA+CitUZXN0cyB0aGUgbm9uZGV0ZXJtaW5pc3RpYyBiaXRzIG9mIEhBUiBjb252ZXJzaW9u
IHZpYSB0aGUgbWFnaWMgb2YgaGFyZC1jb2RlZCB2YWx1ZXMuCis8L3A+CisKKzwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRl
c3RzL3Jlc291cmNlLWhhci1wYWdlcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0
b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9yZXNvdXJjZS1oYXItcGFnZXMtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjBjMmI1Njg0MjlmODRmM2RiMGViODlkZmRhMWU0MzVhNjhmMGNkNTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9y
ZXNvdXJjZS1oYXItcGFnZXMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzEgQEAKK1Rlc3RzIGNv
bnZlcnNpb24gb2YgSW5zcGVjdG9yJ3MgcmVzb3VyY2UgcmVwcmVzZW50YXRpb24gaW50byBIQVIg
Zm9ybWF0LgorCit7CisgICAgMCA6IHsKKyAgICAgICAgaWQgOiA8c3RyaW5nPgorICAgICAgICBw
YWdlVGltaW5ncyA6IHsKKyAgICAgICAgICAgIG9uQ29udGVudExvYWQgOiA8bnVtYmVyPgorICAg
ICAgICAgICAgb25Mb2FkIDogPG51bWJlcj4KKyAgICAgICAgfQorICAgICAgICBzdGFydGVkRGF0
ZVRpbWUgOiA8cGxhdXNpYmxlPgorICAgICAgICB0aXRsZSA6ICJodHRwOi8vMTI3LjAuMC4xOjgw
MDAvcmVzb3VyY2VzL3JlZGlyZWN0LnBocD91cmw9L2luc3BlY3Rvci9yZXNvdXJjZXMvaGFyLXBh
Z2VzLW5hdmlnYXRpb24tdGFyZ2V0Lmh0bWwiCisgICAgfQorICAgIDEgOiB7CisgICAgICAgIGlk
IDogPHN0cmluZz4KKyAgICAgICAgcGFnZVRpbWluZ3MgOiB7CisgICAgICAgICAgICBvbkNvbnRl
bnRMb2FkIDogPG51bWJlcj4KKyAgICAgICAgICAgIG9uTG9hZCA6IDxudW1iZXI+CisgICAgICAg
IH0KKyAgICAgICAgc3RhcnRlZERhdGVUaW1lIDogPHBsYXVzaWJsZT4KKyAgICAgICAgdGl0bGUg
OiAiaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZS1oYXItcGFnZXMuaHRt
bCIKKyAgICB9Cit9CitwYWdlOiBwYWdlXzIgdXJsOiBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5z
cGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzCitwYWdlOiBwYWdlXzIgdXJsOiBodHRwOi8vMTI3LjAu
MC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlLWhhci1wYWdlcy5odG1sCitwYWdlOiBwYWdlXzIg
dXJsOiBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlcy10ZXN0LmpzCitw
YWdlOiBwYWdlXzEgdXJsOiBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNl
cy9oYXItcGFnZXMtaWZyYW1lLmh0bWwKK3BhZ2U6IHBhZ2VfMSB1cmw6IGh0dHA6Ly8xMjcuMC4w
LjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2VzL2hhci1wYWdlcy1uYXZpZ2F0aW9uLXRhcmdldC5o
dG1sCitwYWdlOiBwYWdlXzEgdXJsOiBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jl
c291cmNlcy9zb3VyY2UxLmpzCitwYWdlOiBwYWdlXzEgdXJsOiBodHRwOi8vMTI3LjAuMC4xOjgw
MDAvcmVzb3VyY2VzL3JlZGlyZWN0LnBocD91cmw9L2luc3BlY3Rvci9yZXNvdXJjZXMvaGFyLXBh
Z2VzLW5hdmlnYXRpb24tdGFyZ2V0Lmh0bWwKK1BhZ2UgcmVsb2FkZWQuCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3Jlc291cmNlLWhhci1w
YWdlcy5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvcmVz
b3VyY2UtaGFyLXBhZ2VzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmQ2ZGU4MjU1ZjEyZmI2ODkyNzA4YTE1
Y2EwZjgyOThiNmQ5NWYzZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rv
ci1vYnNvbGV0ZS9odHRwLXRlc3RzL3Jlc291cmNlLWhhci1wYWdlcy5odG1sCkBAIC0wLDAgKzEs
NjQgQEAKKzwhZG9jdHlwZSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSJpbnNw
ZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzLXRlc3QuanMi
Pjwvc2NyaXB0PgorCis8c2NyaXB0PgorCit2YXIgdGVzdCA9IGZ1bmN0aW9uKCkKK3sKKyAgICBm
dW5jdGlvbiBzdGVwMSgpCisgICAgeworICAgICAgICB2YXIgaGFkTmF2aWdhdGlvbiA9IGZhbHNl
OworCisgICAgICAgIGZ1bmN0aW9uIG9uUmVxdWVzdEZpbmlzaGVkKGV2ZW50KQorICAgICAgICB7
CisgICAgICAgICAgICB2YXIgcmVxdWVzdCA9IGV2ZW50LmRhdGE7CisgICAgICAgICAgICBpZiAo
L1wvaGFyLXBhZ2VzLW5hdmlnYXRpb24tdGFyZ2V0XC5odG1sJC8udGVzdChyZXF1ZXN0LnVybCkp
CisgICAgICAgICAgICAgICAgaGFkTmF2aWdhdGlvbiA9IHRydWU7CisgICAgICAgICAgICBpZiAo
aGFkTmF2aWdhdGlvbiAmJiAvXC9yZXNvdXJjZS1oYXItcGFnZXNcLmh0bWwkLy50ZXN0KHJlcXVl
c3QudXJsKSkgeworICAgICAgICAgICAgICAgIFdlYkluc3BlY3Rvci5uZXR3b3JrTWFuYWdlci5y
ZW1vdmVFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5OZXR3b3JrTWFuYWdlci5FdmVudFR5cGVz
LlJlcXVlc3RGaW5pc2hlZCwgb25SZXF1ZXN0RmluaXNoZWQpCisgICAgICAgICAgICAgICAgc3Rl
cDIoKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICBXZWJJbnNwZWN0b3Iuc2hv
d1BhbmVsKCJuZXR3b3JrIik7CisgICAgICAgIHZhciBuZXR3b3JrTG9nVmlldyA9IFdlYkluc3Bl
Y3Rvci5wYW5lbCgibmV0d29yayIpLl9uZXR3b3JrTG9nVmlldzsKKyAgICAgICAgLy8gbmV0d29y
a0xvZ1ZpZXcuY2xlYXIoKTsKKyAgICAgICAgbmV0d29ya0xvZ1ZpZXcuX3ByZXNlcnZlTG9nVG9n
Z2xlLnRvZ2dsZWQgPSB0cnVlOworICAgICAgICBXZWJJbnNwZWN0b3IubmV0d29ya01hbmFnZXIu
YWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuTmV0d29ya01hbmFnZXIuRXZlbnRUeXBlcy5S
ZXF1ZXN0RmluaXNoZWQsIG9uUmVxdWVzdEZpbmlzaGVkKTsKKyAgICAgICAgSW5zcGVjdG9yVGVz
dC5ldmFsdWF0ZUluUGFnZSgibG9jYXRpb24uaHJlZiA9ICcvcmVzb3VyY2VzL3JlZGlyZWN0LnBo
cD91cmw9L2luc3BlY3Rvci9yZXNvdXJjZXMvaGFyLXBhZ2VzLW5hdmlnYXRpb24tdGFyZ2V0Lmh0
bWwnOyIpOworICAgIH0KKworICAgIGZ1bmN0aW9uIHN0ZXAyKCkKKyAgICB7CisgICAgICAgIHZh
ciBsb2cgPSAobmV3IFdlYkluc3BlY3Rvci5IQVJMb2coV2ViSW5zcGVjdG9yLnBhbmVsKCJuZXR3
b3JrIikuX25ldHdvcmtMb2dWaWV3Ll9yZXF1ZXN0cykpLmJ1aWxkKCk7CisgICAgICAgIEluc3Bl
Y3RvclRlc3QuYWRkT2JqZWN0KGxvZy5wYWdlcywgSW5zcGVjdG9yVGVzdC5IQVJQcm9wZXJ0eUZv
cm1hdHRlcnNXaXRoU2l6ZSk7CisKKyAgICAgICAgLy8gRmlsdGVyIG91dCBmYXZpY29uLmljbyBy
ZXF1ZXN0cyB0aGF0IG9ubHkgYXBwZWFyIG9uIGNlcnRhaW4gcGxhdGZvcm1zLgorICAgICAgICBs
b2cuZW50cmllcyA9IGxvZy5lbnRyaWVzLmZpbHRlcihmdW5jdGlvbihlbnRyeSkgeworICAgICAg
ICAgICAgcmV0dXJuICEvZmF2aWNvblwuaWNvJC8udGVzdChlbnRyeS5yZXF1ZXN0LnVybCk7Cisg
ICAgICAgIH0pOworICAgICAgICBsb2cuZW50cmllcy5zb3J0KEluc3BlY3RvclRlc3QucmVxdWVz
dFVSTENvbXBhcmVyKTsKKyAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBsb2cuZW50cmllcy5s
ZW5ndGg7ICsraSkgeworICAgICAgICAgICAgdmFyIGVudHJ5ID0gbG9nLmVudHJpZXNbaV07Cisg
ICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgicGFnZTogIiArIGVudHJ5LnBhZ2Vy
ZWYgKyAiIHVybDogIiArIGVudHJ5LnJlcXVlc3QudXJsKTsKKyAgICAgICAgfQorICAgICAgICBJ
bnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOworICAgIH0KKworICAgIHN0ZXAxKCk7Cit9CisK
Kzwvc2NyaXB0PgorCisKKzwvaGVhZD4KKworPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgorPHA+
CitUZXN0cyBjb252ZXJzaW9uIG9mIEluc3BlY3RvcidzIHJlc291cmNlIHJlcHJlc2VudGF0aW9u
IGludG8gSEFSIGZvcm1hdC4KKzwvcD4KKworPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2UtbWFpbi1j
b29raWVzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRw
LXRlc3RzL3Jlc291cmNlLW1haW4tY29va2llcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjVh
OGIyYjA4ZDhiY2I5ZGVmZWUyNzRiMmEyN2Y4ZTY3YmQxNTA0ZgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3Jlc291cmNlLW1haW4t
Y29va2llcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw2IEBACitUaGlzIHRlc3RzIHRoYXQgdGhl
IGNvb2tpZSBzZXQgYnkgbWFpbiByZXNvdXJjZSBpcyBzaG93biBpbiByZXNvdXJjZXMgcGFuZWwu
CisKK2J1ZyA2NTc3MC4KK1BhZ2UgcmVsb2FkZWQuCitDb29raWU6IGNvb2tpZU5hbWU9Y29va2ll
VmFsdWUuCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRw
LXRlc3RzL3Jlc291cmNlLW1haW4tY29va2llcy5waHAgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3It
b2Jzb2xldGUvaHR0cC10ZXN0cy9yZXNvdXJjZS1tYWluLWNvb2tpZXMucGhwCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjRlZDNlZWQ2NTE5ODNiYTRiYzkzYjRjNzliOTQ4MDhkMzhiY2E0MTcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9yZXNvdXJjZS1t
YWluLWNvb2tpZXMucGhwCkBAIC0wLDAgKzEsNTIgQEAKKzw/cGhwCisgICAgaWYgKCEkX0NPT0tJ
RVsiY29va2llTmFtZSJdKQorICAgICAgICBzZXRjb29raWUoImNvb2tpZU5hbWUiLCAiY29va2ll
VmFsdWUiKTsKKz8+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Imluc3BlY3Rvci10ZXN0
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisKK2Z1bmN0aW9uIHRlc3QoKQoreworICAgIHZhciBj
b29raWVOYW1lID0gImNvb2tpZU5hbWUiOworICAgIHZhciBjb29raWVEb21haW4gPSAiMTI3LjAu
MC4xIjsKKyAgICB2YXIgY29va2llVVJMID0gImh0dHA6Ly8iICsgY29va2llRG9tYWluICsgIi8i
OworICAgIC8vIEVuc3VyZSBjb29raWUgaXMgZGVsZXRlZCBiZWZvcmUgdGVzdGluZy4KKyAgICBQ
YWdlQWdlbnQuZGVsZXRlQ29va2llKGNvb2tpZU5hbWUsIGNvb2tpZVVSTCwgc3RlcDEpOworCisg
ICAgZnVuY3Rpb24gc3RlcDEoKQorICAgIHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5yZWxvYWRQ
YWdlKHN0ZXAyKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBzdGVwMigpCisgICAgeworICAgICAg
ICBXZWJJbnNwZWN0b3IuQ29va2llcy5nZXRDb29raWVzQXN5bmMoc3RlcDMpOworICAgIH0KKwor
ICAgIGZ1bmN0aW9uIHN0ZXAzKGFsbENvb2tpZXMpCisgICAgeworICAgICAgICBmb3IgKHZhciBp
ID0gMDsgaSA8IGFsbENvb2tpZXMubGVuZ3RoOyBpKyspIHsKKyAgICAgICAgICB2YXIgY29va2ll
ID0gYWxsQ29va2llc1tpXTsKKyAgICAgICAgICAgIGlmIChjb29raWUubmFtZSgpID09PSBjb29r
aWVOYW1lICYmIGNvb2tpZS5kb21haW4oKSA9PSBjb29raWVEb21haW4pIHsKKyAgICAgICAgICAg
ICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiQ29va2llOiAiICsgY29va2llLm5hbWUoKSAr
ICI9IiArIGNvb2tpZS52YWx1ZSgpICsgIi4iKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQor
ICAgICAgICAvLyBFbnN1cmUgY29va2llIGlzIGRlbGV0ZWQgYWZ0ZXIgdGVzdGluZy4KKyAgICAg
ICAgUGFnZUFnZW50LmRlbGV0ZUNvb2tpZShjb29raWVOYW1lLCBjb29raWVVUkwsIHN0ZXA0KTsK
KyAgICB9CisKKyAgICBmdW5jdGlvbiBzdGVwNCgpCisgICAgeworICAgICAgICBJbnNwZWN0b3JU
ZXN0LmNvbXBsZXRlVGVzdCgpOworICAgIH0KK30KKworPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eSBvbmxvYWQ9InJ1blRlc3QoKSI+CisgICAgPHA+VGhpcyB0ZXN0cyB0aGF0IHRoZSBjb29raWUg
c2V0IGJ5IG1haW4gcmVzb3VyY2UgaXMgc2hvd24gaW4gcmVzb3VyY2VzIHBhbmVsLjwvcD4KKyAg
ICA8YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU3NzAi
PmJ1ZyA2NTc3MDwvYT4uCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9yZXNvdXJjZS1wYXJhbWV0ZXJzLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3Jlc291
cmNlLXBhcmFtZXRlcnMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE1MmE1NzRhNzUzYzAxNWFl
NTZiZWI5NDVjM2Y3NmI4MWU5OTczMzEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9p
bnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9yZXNvdXJjZS1wYXJhbWV0ZXJzLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDYyIEBACitUZXN0cyB0aGF0IHJlc291cmNlcyBwYW5lbCBzaG93cyBm
b3JtIGRhdGEgcGFyYW1ldGVycy4KKworICAKKworeworICAgIGNhY2hlIDogeworICAgIH0KKyAg
ICByZXF1ZXN0IDogeworICAgICAgICBib2R5U2l6ZSA6IDxudW1iZXI+CisgICAgICAgIGNvb2tp
ZXMgOiBbCisgICAgICAgIF0KKyAgICAgICAgaGVhZGVycyA6IDxvYmplY3Q+CisgICAgICAgIGhl
YWRlcnNTaXplIDogPG51bWJlcj4KKyAgICAgICAgaHR0cFZlcnNpb24gOiAiSFRUUC8xLjEiCisg
ICAgICAgIG1ldGhvZCA6ICJQT1NUIgorICAgICAgICBwb3N0RGF0YSA6IHsKKyAgICAgICAgICAg
IG1pbWVUeXBlIDogImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCIKKyAgICAgICAg
ICAgIHBhcmFtcyA6IFsKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgIG5h
bWUgOiAiZm9ybVBhcmFtMSIKKyAgICAgICAgICAgICAgICAgICAgdmFsdWUgOiAiZm9ybVZhbHVl
MSIKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAg
ICAgICBuYW1lIDogImZvcm1QYXJhbTIiCisgICAgICAgICAgICAgICAgICAgIHZhbHVlIDogIiIK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICBdCisgICAgICAgICAgICB0ZXh0IDogImZv
cm1QYXJhbTE9Zm9ybVZhbHVlMSZmb3JtUGFyYW0yPSIKKyAgICAgICAgfQorICAgICAgICBxdWVy
eVN0cmluZyA6IFsKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBuYW1lIDogInF1ZXJ5
UGFyYW0xIgorICAgICAgICAgICAgICAgIHZhbHVlIDogInF1ZXJ5VmFsdWUxIgorICAgICAgICAg
ICAgfQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIG5hbWUgOiAicXVlcnlQYXJhbTIi
CisgICAgICAgICAgICAgICAgdmFsdWUgOiAiIgorICAgICAgICAgICAgfQorICAgICAgICBdCisg
ICAgICAgIHVybCA6ICJodHRwOi8vbG9jYWxob3N0OjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlcy9w
b3N0LXRhcmdldC5jZ2k/cXVlcnlQYXJhbTE9cXVlcnlWYWx1ZTEmcXVlcnlQYXJhbTI9IgorICAg
IH0KKyAgICByZXNwb25zZSA6IHsKKyAgICAgICAgYm9keVNpemUgOiA8bnVtYmVyPgorICAgICAg
ICBjb250ZW50IDogeworICAgICAgICAgICAgY29tcHJlc3Npb24gOiA8bnVtYmVyPgorICAgICAg
ICAgICAgbWltZVR5cGUgOiAiYXBwbGljYXRpb24veG1sIgorICAgICAgICAgICAgc2l6ZSA6IDE0
CisgICAgICAgIH0KKyAgICAgICAgY29va2llcyA6IFsKKyAgICAgICAgXQorICAgICAgICBoZWFk
ZXJzIDogPG9iamVjdD4KKyAgICAgICAgaGVhZGVyc1NpemUgOiA8bnVtYmVyPgorICAgICAgICBo
dHRwVmVyc2lvbiA6ICJIVFRQLzEuMSIKKyAgICAgICAgcmVkaXJlY3RVUkwgOiAiIgorICAgICAg
ICBzdGF0dXMgOiAyMDAKKyAgICAgICAgc3RhdHVzVGV4dCA6ICJPSyIKKyAgICB9CisgICAgc3Rh
cnRlZERhdGVUaW1lIDogPHBsYXVzaWJsZT4KKyAgICB0aW1lIDogPG51bWJlcj4KKyAgICB0aW1p
bmdzIDogPG9iamVjdD4KK30KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9i
c29sZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2UtcGFyYW1ldGVycy5odG1sIGIvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2UtcGFyYW1ldGVycy5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjUzZDg3YTI1NDMyNzNhYWMxYjQwOTc5YmY3NDc2OTc0ZjcwODFhZjkKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9y
ZXNvdXJjZS1wYXJhbWV0ZXJzLmh0bWwKQEAgLTAsMCArMSw0MCBAQAorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSJpbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
cmVzb3VyY2VzLXRlc3QuanMiPjwvc2NyaXB0PgorCis8c2NyaXB0PgorZnVuY3Rpb24gc3VibWl0
KCkKK3sKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3VibWl0IikuY2xpY2soKTsKK30K
KworZnVuY3Rpb24gdGVzdCgpCit7CisgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgi
c3VibWl0KCkiKTsKKyAgICBXZWJJbnNwZWN0b3IubmV0d29ya01hbmFnZXIuYWRkRXZlbnRMaXN0
ZW5lcihXZWJJbnNwZWN0b3IuTmV0d29ya01hbmFnZXIuRXZlbnRUeXBlcy5SZXF1ZXN0RmluaXNo
ZWQsIG9uUmVxdWVzdEZpbmlzaGVkKTsKKworICAgIGZ1bmN0aW9uIG9uUmVxdWVzdEZpbmlzaGVk
KGV2ZW50KQorICAgIHsKKyAgICAgICAgdmFyIHJlcXVlc3QgPSBldmVudC5kYXRhOworICAgICAg
ICBpZiAocmVxdWVzdC51cmwgIT09ICJodHRwOi8vbG9jYWxob3N0OjgwMDAvaW5zcGVjdG9yL3Jl
c291cmNlcy9wb3N0LXRhcmdldC5jZ2k/cXVlcnlQYXJhbTE9cXVlcnlWYWx1ZTEmcXVlcnlQYXJh
bTI9I2ZyYWdtZW50UGFyYW0xPWZyYWdtZW50VmFsdWUxJmZyYWdtZW50UGFyYW0yPSIpCisgICAg
ICAgICAgICByZXR1cm47CisgICAgICAgIEluc3BlY3RvclRlc3QuYWRkT2JqZWN0KG5ldyBXZWJJ
bnNwZWN0b3IuSEFSRW50cnkocmVxdWVzdCkuYnVpbGQoKSwgSW5zcGVjdG9yVGVzdC5IQVJQcm9w
ZXJ0eUZvcm1hdHRlcnMpOworICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwor
ICAgIH0KK30KKworPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+
Cis8cD4KK1Rlc3RzIHRoYXQgcmVzb3VyY2VzIHBhbmVsIHNob3dzIGZvcm0gZGF0YSBwYXJhbWV0
ZXJzLgorPC9wPgorPGZvcm0gdGFyZ2V0PSJ0YXJnZXQtaWZyYW1lIiBtZXRob2Q9IlBPU1QiIGFj
dGlvbj0iaHR0cDovL2xvY2FsaG9zdDo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZXMvcG9zdC10YXJn
ZXQuY2dpP3F1ZXJ5UGFyYW0xPXF1ZXJ5VmFsdWUxJnF1ZXJ5UGFyYW0yPSNmcmFnbWVudFBhcmFt
MT1mcmFnbWVudFZhbHVlMSZmcmFnbWVudFBhcmFtMj0iPgorPGlucHV0IG5hbWU9ImZvcm1QYXJh
bTEiIHZhbHVlPSJmb3JtVmFsdWUxIj4KKzxpbnB1dCBuYW1lPSJmb3JtUGFyYW0yIj4KKzxpbnB1
dCBpZD0ic3VibWl0IiB0eXBlPSJzdWJtaXQiPgorPC9mb3JtPgorPGlmcmFtZSBuYW1lPSJ0YXJn
ZXQtaWZyYW1lIj48L2lmcmFtZT4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3Jlc291cmNlLXRyZWUvcmVzb3Vy
Y2UtcmVxdWVzdC1jb250ZW50LWFmdGVyLWxvYWRpbmctYW5kLWNsZWFyaW5nLWNhY2hlLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3Jlc291
cmNlLXRyZWUvcmVzb3VyY2UtcmVxdWVzdC1jb250ZW50LWFmdGVyLWxvYWRpbmctYW5kLWNsZWFy
aW5nLWNhY2hlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iOGViZmM1ZTVkMWQxMjNjN2M4NGE3
N2Y1YmM4N2U0Y2NhYTBjMGEzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZS1yZXF1ZXN0LWNv
bnRlbnQtYWZ0ZXItbG9hZGluZy1hbmQtY2xlYXJpbmctY2FjaGUtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTIgQEAKK1Rlc3RzIHJlc291cmNlIGNvbnRlbnQgaXMgY29ycmVjdGx5IGxvYWRlZCBp
ZiBSZXNvdXJjZS5yZXF1ZXN0Q29udGVudCB3YXMgY2FsbGVkIGJlZm9yZSBuZXR3b3JrIHJlcXVl
c3Qgd2FzIGZpbmlzaGVkLgorCitCdWcgOTAxNTMKK0FkZGluZyBkeW5hbWljIHNjcmlwdDogCitX
YWl0aW5nIGZvciBzY3JpcHQgcmVxdWVzdCB0byBmaW5pc2g6IAorQ2xlYXJpbmcgbWVtb3J5IGNh
Y2hlOiAKK1JlcXVlc3RpbmcgY29udGVudDogCitSZXNvdXJjZSB1cmw6IGh0dHA6Ly8xMjcuMC4w
LjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZXMvZHluYW1pYy1zY3JpcHQu
anMKK1Jlc291cmNlIGNvbnRlbnQ6IGZ1bmN0aW9uIGZvbygpIHsKK30KKworCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9yZXNvdXJjZS10cmVl
L3Jlc291cmNlLXJlcXVlc3QtY29udGVudC1hZnRlci1sb2FkaW5nLWFuZC1jbGVhcmluZy1jYWNo
ZS5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvcmVzb3Vy
Y2UtdHJlZS9yZXNvdXJjZS1yZXF1ZXN0LWNvbnRlbnQtYWZ0ZXItbG9hZGluZy1hbmQtY2xlYXJp
bmctY2FjaGUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wODYwZDJkYjIzNzA5MDhhOWMzMmYzNTBkODBjNzY5
YWY5N2UwMThmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29s
ZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZS1yZXF1ZXN0LWNvbnRlbnQtYWZ0
ZXItbG9hZGluZy1hbmQtY2xlYXJpbmctY2FjaGUuaHRtbApAQCAtMCwwICsxLDU5IEBACis8aHRt
bD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0icmVzb3VyY2UtdHJlZS10ZXN0LmpzIj48L3NjcmlwdD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVl
dCIgaHJlZj0icmVzb3VyY2VzL3N0eWxlcy1pbml0aWFsLmNzcyI+Cis8c2NyaXB0PgorZnVuY3Rp
b24gY3JlYXRlU2NyaXB0VGFnKCkKK3sKKyAgICB2YXIgc2NyaXB0RWxlbWVudCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpOworICAgIHNjcmlwdEVsZW1lbnQuc3JjID0gInJlc291
cmNlcy9keW5hbWljLXNjcmlwdC5qcyI7CisgICAgZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChz
Y3JpcHRFbGVtZW50KTsKK30KKworZnVuY3Rpb24gdGVzdCgpCit7CisgICAgSW5zcGVjdG9yVGVz
dC5hZGRSZXN1bHQoIkFkZGluZyBkeW5hbWljIHNjcmlwdDogIik7CisgICAgSW5zcGVjdG9yVGVz
dC5ldmFsdWF0ZUluUGFnZSgiY3JlYXRlU2NyaXB0VGFnKCkiLCBzdGVwMik7CisKKyAgICBmdW5j
dGlvbiBzdGVwMigpCisgICAgeworICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiV2Fp
dGluZyBmb3Igc2NyaXB0IHJlcXVlc3QgdG8gZmluaXNoOiAiKTsKKyAgICAgICAgSW5zcGVjdG9y
VGVzdC5ydW5BZnRlclJlc291cmNlc0FyZUZpbmlzaGVkKFsiZHluYW1pYy1zY3JpcHQuanMiXSwg
c3RlcDMpCisgICAgfQorCisgICAgZnVuY3Rpb24gc3RlcDMoKQorICAgIHsKKyAgICAgICAgSW5z
cGVjdG9yVGVzdC5hZGRSZXN1bHQoIkNsZWFyaW5nIG1lbW9yeSBjYWNoZTogIik7CisgICAgICAg
IE5ldHdvcmtBZ2VudC5zZXRDYWNoZURpc2FibGVkKHRydWUsIHN0ZXA0KTsKKyAgICB9CisKKyAg
ICBmdW5jdGlvbiBzdGVwNCgpCisgICAgeworICAgICAgICBOZXR3b3JrQWdlbnQuc2V0Q2FjaGVE
aXNhYmxlZChmYWxzZSwgc3RlcDUpOworICAgIH0KKworICAgIHZhciByZXNvdXJjZTsKKyAgICBm
dW5jdGlvbiBzdGVwNSgpCisgICAgeworICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgi
UmVxdWVzdGluZyBjb250ZW50OiAiKTsKKyAgICAgICAgcmVzb3VyY2UgPSBJbnNwZWN0b3JUZXN0
LnJlc291cmNlTWF0Y2hpbmdVUkwoImR5bmFtaWMtc2NyaXB0LmpzIik7CisgICAgICAgIHJlc291
cmNlLnJlcXVlc3RDb250ZW50KHN0ZXA2KTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBzdGVwNihj
b250ZW50KQorICAgIHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRUcnVlKCEhY29udGVu
dCwgIk5vIGNvbnRlbnQgYXZhaWxhYmxlLiIpOworICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJl
c3VsdCgiUmVzb3VyY2UgdXJsOiAiICsgcmVzb3VyY2UudXJsKTsKKyAgICAgICAgSW5zcGVjdG9y
VGVzdC5hZGRSZXN1bHQoIlJlc291cmNlIGNvbnRlbnQ6ICIgKyBjb250ZW50KTsKKyAgICAgICAg
SW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKKyAgICB9Cit9Cis8L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KKzxwPlRlc3RzIHJlc291cmNlIGNvbnRlbnQg
aXMgY29ycmVjdGx5IGxvYWRlZCBpZiBSZXNvdXJjZS5yZXF1ZXN0Q29udGVudCB3YXMgY2FsbGVk
IGJlZm9yZSBuZXR3b3JrIHJlcXVlc3Qgd2FzIGZpbmlzaGVkLjwvcD4KKzxhIGhyZWY9Imh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MDE1MyI+QnVnIDkwMTUzPC9hPgor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29s
ZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZS1yZXF1ZXN0LWNvbnRlbnQtd2hp
bGUtbG9hZGluZy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUv
aHR0cC10ZXN0cy9yZXNvdXJjZS10cmVlL3Jlc291cmNlLXJlcXVlc3QtY29udGVudC13aGlsZS1s
b2FkaW5nLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43ZTJjMzc5MDBhYTRkZWMzMmViNWE3NDFl
OGNlNGY2NGVmMjkzMmUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
LW9ic29sZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZS1yZXF1ZXN0LWNvbnRl
bnQtd2hpbGUtbG9hZGluZy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw5IEBACitUZXN0cyByZXNv
dXJjZSBjb250ZW50IGlzIGNvcnJlY3RseSBsb2FkZWQgaWYgUmVzb3VyY2UucmVxdWVzdENvbnRl
bnQgd2FzIGNhbGxlZCBiZWZvcmUgbmV0d29yayByZXF1ZXN0IHdhcyBmaW5pc2hlZC4KKworQnVn
IDkwMTUzCitSZXNvdXJjZSB1cmw6IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVz
b3VyY2UtdHJlZS9yZXNvdXJjZXMvc3R5bGVzLWluaXRpYWwuY3NzCitSZXNvdXJjZSBjb250ZW50
OiBodG1sIHsKKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsKK30KKworCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9yZXNvdXJjZS10cmVl
L3Jlc291cmNlLXJlcXVlc3QtY29udGVudC13aGlsZS1sb2FkaW5nLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9yZXNvdXJjZS10cmVlL3Jlc291cmNlLXJl
cXVlc3QtY29udGVudC13aGlsZS1sb2FkaW5nLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWQ5YzhiZTVkNzcy
ODU4N2U2ZWZkYjQ0NTNmODk5MjlkY2FhMzEwNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3Jlc291cmNlLXRyZWUvcmVzb3VyY2Ut
cmVxdWVzdC1jb250ZW50LXdoaWxlLWxvYWRpbmcuaHRtbApAQCAtMCwwICsxLDUyIEBACis8aHRt
bD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0icmVzb3VyY2UtdHJlZS10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CitmdW5jdGlvbiBs
b2FkU3R5bGVzaGVldCgpCit7CisgICAgdmFyIHN0eWxlRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoImxpbmsiKTsKKyAgICBzdHlsZUVsZW1lbnQucmVsID0gInN0eWxlc2hlZXQiOwor
ICAgIHN0eWxlRWxlbWVudC5ocmVmID0gInJlc291cmNlcy9zdHlsZXMtaW5pdGlhbC5jc3MiOwor
ICAgIGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoc3R5bGVFbGVtZW50KTsKK30KKworZnVuY3Rp
b24gdGVzdCgpCit7CisgICAgSW5zcGVjdG9yVGVzdC5hZGRTbmlmZmVyKFdlYkluc3BlY3Rvci5S
ZXNvdXJjZVRyZWVGcmFtZS5wcm90b3R5cGUsICJfYWRkUmVxdWVzdCIsIHJlcXVlc3RBZGRlZCwg
dHJ1ZSk7CisgICAgSW5zcGVjdG9yVGVzdC5hZGRTbmlmZmVyKFBhZ2VBZ2VudCwgImdldFJlc291
cmNlQ29udGVudCIsIHBhZ2VBZ2VudEdldFJlc291cmNlQ29udGVudENhbGxlZCwgdHJ1ZSk7Cisg
ICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgibG9hZFN0eWxlc2hlZXQoKSIpOworICAg
IHZhciBjb250ZW50V2FzUmVxdWVzdGVkID0gZmFsc2U7CisgICAgdmFyIHJlc291cmNlOworCisg
ICAgZnVuY3Rpb24gcmVxdWVzdEFkZGVkKHJlcXVlc3QpCisgICAgeworICAgICAgICBpZiAocmVx
dWVzdC51cmwuaW5kZXhPZigic3R5bGVzLWluaXRpYWwiKSA9PT0gLTEpCisgICAgICAgICAgICBy
ZXR1cm47CisgICAgICAgIHJlc291cmNlID0gSW5zcGVjdG9yVGVzdC5yZXNvdXJjZU1hdGNoaW5n
VVJMKCJzdHlsZXMtaW5pdGlhbCIpOworICAgICAgICBpZiAoIXJlc291cmNlIHx8ICFyZXNvdXJj
ZS5yZXF1ZXN0IHx8IGNvbnRlbnRXYXNSZXF1ZXN0ZWQpCisgICAgICAgICAgICByZXR1cm47Cisg
ICAgICAgIHJlc291cmNlLnJlcXVlc3RDb250ZW50KGNvbnRlbnRMb2FkZWQpOworICAgICAgICBj
b250ZW50V2FzUmVxdWVzdGVkID0gdHJ1ZTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBwYWdlQWdl
bnRHZXRSZXNvdXJjZUNvbnRlbnRDYWxsZWQoKQorICAgIHsKKyAgICAgICAgSW5zcGVjdG9yVGVz
dC5hc3NlcnRUcnVlKHJlc291cmNlLnJlcXVlc3QuZmluaXNoZWQpOworICAgIH0KKworICAgIGZ1
bmN0aW9uIGNvbnRlbnRMb2FkZWQoY29udGVudCkKKyAgICB7CisgICAgICAgIEluc3BlY3RvclRl
c3QuYWRkUmVzdWx0KCJSZXNvdXJjZSB1cmw6ICIgKyByZXNvdXJjZS51cmwpOworICAgICAgICBJ
bnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiUmVzb3VyY2UgY29udGVudDogIiArIGNvbnRlbnQpOwor
ICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOworICAgIH0KK30KKzwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgorPHA+VGVzdHMgcmVzb3VyY2Ug
Y29udGVudCBpcyBjb3JyZWN0bHkgbG9hZGVkIGlmIFJlc291cmNlLnJlcXVlc3RDb250ZW50IHdh
cyBjYWxsZWQgYmVmb3JlIG5ldHdvcmsgcmVxdWVzdCB3YXMgZmluaXNoZWQuPC9wPgorPGEgaHJl
Zj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkwMTUzIj5CdWcgOTAx
NTM8L2E+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0
b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9yZXNvdXJjZS10cmVlL3Jlc291cmNlLXRyZWUtZG9jdW1l
bnQtdXJsLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRw
LXRlc3RzL3Jlc291cmNlLXRyZWUvcmVzb3VyY2UtdHJlZS1kb2N1bWVudC11cmwtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjc2NmM2YmM1MmJiMDAxYzExMTcwZjdiYmY5YjExMDYwNzZmODIyM2EK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10
ZXN0cy9yZXNvdXJjZS10cmVlL3Jlc291cmNlLXRyZWUtZG9jdW1lbnQtdXJsLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDkgQEAKK1Rlc3RzIHRoYXQgcmVzb3VyY2VzIGhhdmUgcHJvcGVyIGRvY3Vt
ZW50VVJMIHNldCBpbiB0aGUgdHJlZSBtb2RlbC4KKworCitodHRwOi8vMTI3LjAuMC4xOjgwMDAv
aW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzID0+IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNw
ZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZS10cmVlLWRvY3VtZW50LXVybC5odG1sCitodHRw
Oi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2UtdHJlZS1k
b2N1bWVudC11cmwuaHRtbCA9PiBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291
cmNlLXRyZWUvcmVzb3VyY2UtdHJlZS1kb2N1bWVudC11cmwuaHRtbAoraHR0cDovLzEyNy4wLjAu
MTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlLXRyZWUtdGVzdC5qcyA9PiBo
dHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2UtdHJl
ZS1kb2N1bWVudC11cmwuaHRtbAoraHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNv
dXJjZS10cmVlL3Jlc291cmNlcy9kdW1teS1pZnJhbWUuaHRtbCA9PiBodHRwOi8vMTI3LjAuMC4x
OjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL2R1bW15LWlmcmFtZS5odG1s
CitodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlcy10ZXN0LmpzID0+IGh0
dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZS10cmVl
LWRvY3VtZW50LXVybC5odG1sCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1v
YnNvbGV0ZS9odHRwLXRlc3RzL3Jlc291cmNlLXRyZWUvcmVzb3VyY2UtdHJlZS1kb2N1bWVudC11
cmwuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3Jlc291
cmNlLXRyZWUvcmVzb3VyY2UtdHJlZS1kb2N1bWVudC11cmwuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43NDlj
ZWE1MzZhZWFhY2RmOWMwYjU1NmM5Y2MyNzQ2MmFmZTI1M2RkCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2UtdHJlZS9y
ZXNvdXJjZS10cmVlLWRvY3VtZW50LXVybC5odG1sCkBAIC0wLDAgKzEsMzcgQEAKKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uL3Jlc291cmNlcy10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJy
ZXNvdXJjZS10cmVlLXRlc3QuanMiPjwvc2NyaXB0PgorCis8c2NyaXB0PgorCitmdW5jdGlvbiB0
ZXN0KCkKK3sKKyAgICBJbnNwZWN0b3JUZXN0LnJ1bkFmdGVyUmVzb3VyY2VzQXJlRmluaXNoZWQo
WyJkdW1teS1pZnJhbWUuaHRtbCIsICJpbnNwZWN0b3ItdGVzdC5qcyIsICJyZXNvdXJjZXMtdGVz
dC5qcyIsICJyZXNvdXJjZS10cmVlLXRlc3QuanMiXSwgc3RlcDEpOworCisgICAgZnVuY3Rpb24g
c3RlcDEoKQorICAgIHsKKyAgICAgICAgZnVuY3Rpb24gZm9ybWF0dGVyKHJlc291cmNlKQorICAg
ICAgICB7CisgICAgICAgICAgICByZXR1cm4gcmVzb3VyY2UudXJsICsgIiA9PiAiICsgcmVzb3Vy
Y2UuZG9jdW1lbnRVUkw7CisgICAgICAgIH0KKyAgICAKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5k
dW1wUmVzb3VyY2VzKGZvcm1hdHRlcik7ICAgIAorICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBs
ZXRlVGVzdCgpOworICAgIH0KK30KKworPC9zY3JpcHQ+CisKKzwvaGVhZD4KKworPGJvZHk+Cis8
cD4KK1Rlc3RzIHRoYXQgcmVzb3VyY2VzIGhhdmUgcHJvcGVyIGRvY3VtZW50VVJMIHNldCBpbiB0
aGUgdHJlZSBtb2RlbC4KKzwvcD4KKworPGlmcmFtZSBzcmM9InJlc291cmNlcy9kdW1teS1pZnJh
bWUuaHRtbCIgb25sb2FkPSJydW5UZXN0KCkiPgorCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9yZXNvdXJjZS10
cmVlL3Jlc291cmNlLXRyZWUtZXJyb3JzLXJlbG9hZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9yZXNvdXJjZS10cmVlL3Jlc291cmNlLXRy
ZWUtZXJyb3JzLXJlbG9hZC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDdlOTA5YTdmNWVlYWQ4
NmJiMzYzZmY2MWQwM2RlZmZiNWE5NDNiZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3Jlc291cmNlLXRyZWUvcmVzb3VyY2UtdHJl
ZS1lcnJvcnMtcmVsb2FkLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEwIEBACitDT05TT0xFIE1F
U1NBR0U6IGxpbmUgNDogQ29uc29sZSBlcnJvciAxLgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDU6
IENvbnNvbGUgZXJyb3IgMi4KK0NPTlNPTEUgTUVTU0FHRTogbGluZSA0OiBDb25zb2xlIGVycm9y
IDEuCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgNTogQ29uc29sZSBlcnJvciAyLgorVGVzdHMgdGhh
dCBjb25zb2xlIG1lc3NhZ2VzIGFyZSBtYXRjaGVkIHRvIHJlc291cmNlcyBhZnRlciBwYWdlIHJl
bG9hZC4KKworQnVnIDYwNzAxCitQYWdlIHJlbG9hZGVkLgorTnVtYmVyIG9mIGVycm9ycyBmb3Ig
dGhlIG1haW4gcmVzb3VyY2U6IDIKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
LW9ic29sZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZS10cmVlLWVycm9ycy1y
ZWxvYWQuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3Jl
c291cmNlLXRyZWUvcmVzb3VyY2UtdHJlZS1lcnJvcnMtcmVsb2FkLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
M2MwYzVmNGEyMDI5YzBjM2VlYjNjODIxOTg2Y2FmZDIzMWRjZTZmMAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3Jlc291cmNlLXRy
ZWUvcmVzb3VyY2UtdHJlZS1lcnJvcnMtcmVsb2FkLmh0bWwKQEAgLTAsMCArMSw1NSBAQAorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQ+Citjb25zb2xlLmVycm9yKCJDb25zb2xlIGVycm9yIDEuIik7
Citjb25zb2xlLmVycm9yKCJDb25zb2xlIGVycm9yIDIuIik7Cis8L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVz
b3VyY2VzLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlLXRyZWUtdGVz
dC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorCitmdW5jdGlvbiB0ZXN0KCkKK3sKKyAgICB2YXIg
cmVzb3VyY2VzV2VyZUZpbmlzaGVkID0gZmFsc2U7CisgICAgdmFyIHBhZ2VXYXNSZWxvYWRlZCA9
IGZhbHNlOworCisgICAgV2ViSW5zcGVjdG9yLnJlc291cmNlVHJlZU1vZGVsLmFkZEV2ZW50TGlz
dGVuZXIoV2ViSW5zcGVjdG9yLlJlc291cmNlVHJlZU1vZGVsLkV2ZW50VHlwZXMuTWFpbkZyYW1l
TmF2aWdhdGVkLCBmcmFtZU5hdmlnYXRlZCk7CisgICAgSW5zcGVjdG9yVGVzdC5yZWxvYWRQYWdl
KHBhZ2VSZWxvYWRlZCk7CisKKyAgICBmdW5jdGlvbiBmcmFtZU5hdmlnYXRlZCgpCisgICAgewor
ICAgICAgICBJbnNwZWN0b3JUZXN0LnJ1bkFmdGVyUmVzb3VyY2VzQXJlRmluaXNoZWQoWyJyZXNv
dXJjZS10cmVlLWVycm9ycy1yZWxvYWQuaHRtbCJdLCByZXNvdXJjZXNGaW5pc2hlZCk7CisgICAg
fQorCisgICAgZnVuY3Rpb24gcmVzb3VyY2VzRmluaXNoZWQoKQorICAgIHsKKyAgICAgICAgaWYg
KHBhZ2VXYXNSZWxvYWRlZCkKKyAgICAgICAgICAgIHN0ZXAxKCk7CisgICAgICAgIGVsc2UKKyAg
ICAgICAgICAgIHJlc291cmNlc1dlcmVGaW5pc2hlZCA9IHRydWU7CisgICAgfQorCisgICAgZnVu
Y3Rpb24gcGFnZVJlbG9hZGVkKCkKKyAgICB7CisgICAgICAgIGlmIChyZXNvdXJjZXNXZXJlRmlu
aXNoZWQpCisgICAgICAgICAgICBzdGVwMSgpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBw
YWdlV2FzUmVsb2FkZWQgPSB0cnVlOworCisgICAgfQorCisgICAgZnVuY3Rpb24gc3RlcDEoKQor
ICAgIHsKKyAgICAgICAgdmFyIHJlc291cmNlID0gV2ViSW5zcGVjdG9yLnJlc291cmNlVHJlZU1v
ZGVsLnJlc291cmNlRm9yVVJMKCJodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291
cmNlLXRyZWUvcmVzb3VyY2UtdHJlZS1lcnJvcnMtcmVsb2FkLmh0bWwiKTsKKyAgICAgICAgSW5z
cGVjdG9yVGVzdC5hZGRSZXN1bHQoIk51bWJlciBvZiBlcnJvcnMgZm9yIHRoZSBtYWluIHJlc291
cmNlOiAiICsgcmVzb3VyY2UuZXJyb3JzKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0
ZVRlc3QoKTsKKyAgICB9Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0icnVu
VGVzdCgpIj4KKzxwPlRlc3RzIHRoYXQgY29uc29sZSBtZXNzYWdlcyBhcmUgbWF0Y2hlZCB0byBy
ZXNvdXJjZXMgYWZ0ZXIgcGFnZSByZWxvYWQuPC9wPgorPGEgaHJlZj0iaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYwNzAxIj5CdWcgNjA3MDE8L2E+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10
ZXN0cy9yZXNvdXJjZS10cmVlL3Jlc291cmNlLXRyZWUtZXZlbnRzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3Jlc291cmNlLXRyZWUvcmVz
b3VyY2UtdHJlZS1ldmVudHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc3YjUyODE5YTkyOWVk
ZTc3NGFmOTViZWFmZmI1ZTMwY2QzZjMxNGQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9yZXNvdXJjZS10cmVlL3Jlc291cmNlLXRy
ZWUtZXZlbnRzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDI4IEBACitUZXN0cyB0b3AgZnJhbWUg
bmF2aWdhdGlvbiBldmVudHMuCisKKworTmF2aWdhdGluZyBjaGlsZCBmcmFtZSAxCisgICAgRnJh
bWVBZGRlZCA6IGNoaWxkMQorICAgIEZyYW1lTmF2aWdhdGVkIDogY2hpbGQxCisgICAgU2VjdXJp
dHlPcmlnaW5BZGRlZCA6IGh0dHA6Ly9mcmFtZS9jaGlsZDEuaHRtbAorTmF2aWdhdGluZyBjaGls
ZCBmcmFtZSAxIHRvIGEgZGlmZmVyZW50IFVSTAorICAgIFNlY3VyaXR5T3JpZ2luUmVtb3ZlZCA6
IGh0dHA6Ly9mcmFtZS9jaGlsZDEuaHRtbAorICAgIEZyYW1lTmF2aWdhdGVkIDogY2hpbGQxCisg
ICAgU2VjdXJpdHlPcmlnaW5BZGRlZCA6IGh0dHA6Ly9mcmFtZS9jaGlsZDEtbmV3Lmh0bWwKK05h
dmlnYXRpbmcgY2hpbGQgZnJhbWUgMgorICAgIEZyYW1lQWRkZWQgOiBjaGlsZDIKKyAgICBGcmFt
ZU5hdmlnYXRlZCA6IGNoaWxkMgorICAgIFNlY3VyaXR5T3JpZ2luQWRkZWQgOiBodHRwOi8vZnJh
bWUvY2hpbGQyLmh0bWwKK0RldGFjaGluZyBjaGlsZCBmcmFtZSAxCisgICAgU2VjdXJpdHlPcmln
aW5SZW1vdmVkIDogaHR0cDovL2ZyYW1lL2NoaWxkMS1uZXcuaHRtbAorICAgIEZyYW1lRGV0YWNo
ZWQgOiBjaGlsZDEKK05hdmlnYXRpbmcgcm9vdCBmcmFtZQorICAgIFNlY3VyaXR5T3JpZ2luUmVt
b3ZlZCA6IGh0dHA6Ly9mcmFtZS9jaGlsZDIuaHRtbAorICAgIFNlY3VyaXR5T3JpZ2luUmVtb3Zl
ZCA6IGh0dHA6Ly9mcmFtZS9yb290MS5odG1sCisgICAgRnJhbWVEZXRhY2hlZCA6IGNoaWxkMgor
ICAgIEZyYW1lRGV0YWNoZWQgOiByb290MQorICAgIEZyYW1lQWRkZWQgOiByb290MgorICAgIEZy
YW1lTmF2aWdhdGVkIDogcm9vdDIKKyAgICBNYWluRnJhbWVOYXZpZ2F0ZWQgOiByb290MgorICAg
IFNlY3VyaXR5T3JpZ2luQWRkZWQgOiBodHRwOi8vZnJhbWUvcm9vdDIuaHRtbAorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9yZXNvdXJjZS10
cmVlL3Jlc291cmNlLXRyZWUtZXZlbnRzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jz
b2xldGUvaHR0cC10ZXN0cy9yZXNvdXJjZS10cmVlL3Jlc291cmNlLXRyZWUtZXZlbnRzLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZWUxZWM5ZDc1YjVkZDc1ZmNjNjA3M2ZmMTQzOThkN2YwODk3OGRiZgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3Rz
L3Jlc291cmNlLXRyZWUvcmVzb3VyY2UtdHJlZS1ldmVudHMuaHRtbApAQCAtMCwwICsxLDgwIEBA
Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uL2luc3BlY3Rvci10ZXN0LmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0icmVzb3VyY2UtdHJlZS10ZXN0LmpzIj48L3NjcmlwdD4KKworPHNjcmlwdD4KKwor
ZnVuY3Rpb24gdGVzdCgpCit7CisgICAgSW5zcGVjdG9yVGVzdC5ydW5BZnRlclJlc291cmNlc0Fy
ZUZpbmlzaGVkKFsiZHVtbXktaWZyYW1lLmh0bWwiLCAiaW5zcGVjdG9yLXRlc3QuanMiLCAicmVz
b3VyY2VzLXRlc3QuanMiLCAicmVzb3VyY2UtdHJlZS10ZXN0LmpzIl0sIHN0ZXAxKTsKKworICAg
IGZ1bmN0aW9uIHN0ZXAxKCkKKyAgICB7CisgICAgICAgIFdlYkluc3BlY3Rvci5yZXNvdXJjZVRy
ZWVNb2RlbC5fZnJhbWVOYXZpZ2F0ZWQoY3JlYXRlRnJhbWVQYXlsb2FkKCJyb290MSIpKTsKKwor
ICAgICAgICBmb3IgKHZhciBldmVudE5hbWUgaW4gV2ViSW5zcGVjdG9yLlJlc291cmNlVHJlZU1v
ZGVsLkV2ZW50VHlwZXMpCisgICAgICAgICAgICBXZWJJbnNwZWN0b3IucmVzb3VyY2VUcmVlTW9k
ZWwuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuUmVzb3VyY2VUcmVlTW9kZWwuRXZlbnRU
eXBlc1tldmVudE5hbWVdLCBldmVudEhhbmRsZXIuYmluZCh0aGlzLCBldmVudE5hbWUpKTsKKyAg
ICAKKyAgICAgICAgZnVuY3Rpb24gZXZlbnRIYW5kbGVyKGV2ZW50TmFtZSwgZXZlbnQpCisgICAg
ICAgIHsKKyAgICAgICAgICAgIHN3aXRjaCAoZXZlbnROYW1lKSB7CisgICAgICAgICAgICBjYXNl
ICJGcmFtZUFkZGVkIjoKKyAgICAgICAgICAgIGNhc2UgIkZyYW1lTmF2aWdhdGVkIjoKKyAgICAg
ICAgICAgIGNhc2UgIkZyYW1lRGV0YWNoZWQiOgorICAgICAgICAgICAgY2FzZSAiTWFpbkZyYW1l
TmF2aWdhdGVkIjoKKyAgICAgICAgICAgICAgICB2YXIgZnJhbWUgPSBldmVudC5kYXRhOworICAg
ICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCIgICAgIiArIGV2ZW50TmFtZSAr
ICIgOiAiICsgZnJhbWUuaWQpOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAg
Y2FzZSAiU2VjdXJpdHlPcmlnaW5BZGRlZCI6CisgICAgICAgICAgICBjYXNlICJTZWN1cml0eU9y
aWdpblJlbW92ZWQiOgorICAgICAgICAgICAgICAgIHZhciBzZWN1cml0eU9yaWdpbiA9IGV2ZW50
LmRhdGE7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIiAgICAiICsg
ZXZlbnROYW1lICsgIiA6ICIgKyBzZWN1cml0eU9yaWdpbik7CisgICAgICAgICAgICAgICAgYnJl
YWs7CisgICAgICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgfQorICAgICAgICAgICAgCisg
ICAgICAgIH0KKworICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiTmF2aWdhdGluZyBj
aGlsZCBmcmFtZSAxIik7CisgICAgICAgIFdlYkluc3BlY3Rvci5yZXNvdXJjZVRyZWVNb2RlbC5f
ZnJhbWVOYXZpZ2F0ZWQoY3JlYXRlRnJhbWVQYXlsb2FkKCJjaGlsZDEiLCAicm9vdDEiKSk7Cisg
ICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJOYXZpZ2F0aW5nIGNoaWxkIGZyYW1lIDEg
dG8gYSBkaWZmZXJlbnQgVVJMIik7CisgICAgICAgIFdlYkluc3BlY3Rvci5yZXNvdXJjZVRyZWVN
b2RlbC5fZnJhbWVOYXZpZ2F0ZWQoY3JlYXRlRnJhbWVQYXlsb2FkKCJjaGlsZDEiLCAicm9vdDEi
LCAiY2hpbGQxLW5ldyIpKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIk5hdmln
YXRpbmcgY2hpbGQgZnJhbWUgMiIpOworICAgICAgICBXZWJJbnNwZWN0b3IucmVzb3VyY2VUcmVl
TW9kZWwuX2ZyYW1lTmF2aWdhdGVkKGNyZWF0ZUZyYW1lUGF5bG9hZCgiY2hpbGQyIiwgInJvb3Qx
IikpOworICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiRGV0YWNoaW5nIGNoaWxkIGZy
YW1lIDEiKTsKKyAgICAgICAgV2ViSW5zcGVjdG9yLnJlc291cmNlVHJlZU1vZGVsLl9mcmFtZURl
dGFjaGVkKCJjaGlsZDEiKTsKKworICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiTmF2
aWdhdGluZyByb290IGZyYW1lIik7CisgICAgICAgIFdlYkluc3BlY3Rvci5yZXNvdXJjZVRyZWVN
b2RlbC5fZnJhbWVOYXZpZ2F0ZWQoY3JlYXRlRnJhbWVQYXlsb2FkKCJyb290MiIpKTsKKyAgICAg
ICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBj
cmVhdGVGcmFtZVBheWxvYWQoaWQsIHBhcmVudElkLCBuYW1lKQorICAgIHsKKyAgICAgICAgdmFy
IGZyYW1lUGF5bG9hZCA9IHt9OworICAgICAgICBmcmFtZVBheWxvYWQuaWQgPSBpZDsKKyAgICAg
ICAgZnJhbWVQYXlsb2FkLnBhcmVudElkID0gcGFyZW50SWQgfHwgIiI7CisgICAgICAgIGZyYW1l
UGF5bG9hZC5sb2FkZXJJZCA9ICJsb2FkZXItIiArIGlkOworICAgICAgICBmcmFtZVBheWxvYWQu
bmFtZSA9ICJmcmFtZS0iICsgaWQ7CisgICAgICAgIGZyYW1lUGF5bG9hZC51cmwgPSAiaHR0cDov
L2ZyYW1lLyIgKyAobmFtZSB8fCBpZCkgKyAiLmh0bWwiOworICAgICAgICBmcmFtZVBheWxvYWQu
c2VjdXJpdHlPcmlnaW4gPSBmcmFtZVBheWxvYWQudXJsOworICAgICAgICBmcmFtZVBheWxvYWQu
bWltZVR5cGUgPSAidGV4dC9odG1sIjsKKyAgICAgICAgcmV0dXJuIGZyYW1lUGF5bG9hZDsKKyAg
ICB9Cit9CisKKzwvc2NyaXB0PgorCis8L2hlYWQ+CisKKzxib2R5PgorPHA+CitUZXN0cyB0b3Ag
ZnJhbWUgbmF2aWdhdGlvbiBldmVudHMuCis8L3A+CisKKzxpZnJhbWUgc3JjPSJyZXNvdXJjZXMv
ZHVtbXktaWZyYW1lLmh0bWwiIG9ubG9hZD0icnVuVGVzdCgpIj4KKworPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMv
cmVzb3VyY2UtdHJlZS9yZXNvdXJjZS10cmVlLWZyYW1lLWFkZC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9yZXNvdXJjZS10cmVlL3Jlc291
cmNlLXRyZWUtZnJhbWUtYWRkLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41ZTNlZjZiNzAzYzRl
MDIyN2Q3Y2JmOTAzOGFlNTM4NWIzMWNmMmNkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZS10
cmVlLWZyYW1lLWFkZC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw2OSBAQAorQ09OU09MRSBNRVNT
QUdFOiBsaW5lIDIxOiBpZnJhbWUgbmF2aWdhdGVkCitUZXN0cyByZXNvdXJjZSB0cmVlIG1vZGVs
IG9uIGlmcmFtZSBhZGRpdGlvbiwgY29tcGFyZXMgcmVzb3VyY2UgdHJlZSBhZ2FpbnN0IGdvbGRl
bi4gRXZlcnkgbGluZSBpcyBpbXBvcnRhbnQuCisKK0JlZm9yZSBhZGRpdGlvbgorPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09CitSZXNvdXJjZXM6CitzY3JpcHQgaHR0cDovLzEy
Ny4wLjAuMTo4MDAwL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcworZG9jdW1lbnQgaHR0cDov
LzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlLXRyZWUtZnJh
bWUtYWRkLmh0bWwKK3NjcmlwdCBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291
cmNlLXRyZWUvcmVzb3VyY2UtdHJlZS10ZXN0LmpzCitzdHlsZXNoZWV0IGh0dHA6Ly8xMjcuMC4w
LjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZXMvc3R5bGVzLWluaXRpYWwu
Y3NzCitzY3JpcHQgaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZXMtdGVz
dC5qcworCitSZXNvdXJjZXMgVVJMIE1hcDoKK2h0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0
b3IvaW5zcGVjdG9yLXRlc3QuanMgPT0gaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9p
bnNwZWN0b3ItdGVzdC5qcworaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJj
ZS10cmVlL3Jlc291cmNlLXRyZWUtZnJhbWUtYWRkLmh0bWwgPT0gaHR0cDovLzEyNy4wLjAuMTo4
MDAwL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlLXRyZWUtZnJhbWUtYWRkLmh0bWwK
K2h0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZS10
cmVlLXRlc3QuanMgPT0gaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZS10
cmVlL3Jlc291cmNlLXRyZWUtdGVzdC5qcworaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rv
ci9yZXNvdXJjZS10cmVlL3Jlc291cmNlcy9zdHlsZXMtaW5pdGlhbC5jc3MgPT0gaHR0cDovLzEy
Ny4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlcy9zdHlsZXMtaW5p
dGlhbC5jc3MKK2h0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2VzLXRlc3Qu
anMgPT0gaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZXMtdGVzdC5qcwor
CitSZXNvdXJjZXMgVHJlZToKK0ZyYW1lcworICAgIChyZXNvdXJjZS10cmVlLWZyYW1lLWFkZC5o
dG1sKQorICAgICAgICBTY3JpcHRzCisgICAgICAgICAgICBpbnNwZWN0b3ItdGVzdC5qcworICAg
ICAgICAgICAgcmVzb3VyY2UtdHJlZS10ZXN0LmpzCisgICAgICAgICAgICByZXNvdXJjZXMtdGVz
dC5qcworICAgICAgICBTdHlsZXNoZWV0cworICAgICAgICAgICAgc3R5bGVzLWluaXRpYWwuY3Nz
CisgICAgICAgIHJlc291cmNlLXRyZWUtZnJhbWUtYWRkLmh0bWwKKworQWZ0ZXIgYWRkaXRpb24K
Kz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorUmVzb3VyY2VzOgorc2NyaXB0
IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMKK2RvY3Vt
ZW50IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJj
ZS10cmVlLWZyYW1lLWFkZC5odG1sCitzY3JpcHQgaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3Bl
Y3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlLXRyZWUtdGVzdC5qcworZG9jdW1lbnQgaHR0cDov
LzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlcy9yZXNvdXJj
ZS10cmVlLWZyYW1lLWFkZC1pZnJhbWUuaHRtbAorc2NyaXB0IGh0dHA6Ly8xMjcuMC4wLjE6ODAw
MC9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZXMvc2NyaXB0LW5hdmlnYXRlZC5qcwor
c3R5bGVzaGVldCBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUv
cmVzb3VyY2VzL3N0eWxlcy1pbml0aWFsLmNzcworc3R5bGVzaGVldCBodHRwOi8vMTI3LjAuMC4x
OjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL3N0eWxlcy1uYXZpZ2F0ZWQu
Y3NzCitzY3JpcHQgaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZXMtdGVz
dC5qcworCitSZXNvdXJjZXMgVVJMIE1hcDoKK2h0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0
b3IvaW5zcGVjdG9yLXRlc3QuanMgPT0gaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9p
bnNwZWN0b3ItdGVzdC5qcworaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJj
ZS10cmVlL3Jlc291cmNlLXRyZWUtZnJhbWUtYWRkLmh0bWwgPT0gaHR0cDovLzEyNy4wLjAuMTo4
MDAwL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlLXRyZWUtZnJhbWUtYWRkLmh0bWwK
K2h0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZS10
cmVlLXRlc3QuanMgPT0gaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZS10
cmVlL3Jlc291cmNlLXRyZWUtdGVzdC5qcworaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rv
ci9yZXNvdXJjZS10cmVlL3Jlc291cmNlcy9yZXNvdXJjZS10cmVlLWZyYW1lLWFkZC1pZnJhbWUu
aHRtbCA9PSBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVz
b3VyY2VzL3Jlc291cmNlLXRyZWUtZnJhbWUtYWRkLWlmcmFtZS5odG1sCitodHRwOi8vMTI3LjAu
MC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL3NjcmlwdC1uYXZpZ2F0
ZWQuanMgPT0gaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jl
c291cmNlcy9zY3JpcHQtbmF2aWdhdGVkLmpzCitodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVj
dG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL3N0eWxlcy1pbml0aWFsLmNzcyA9PSBodHRwOi8v
MTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL3N0eWxlcy1p
bml0aWFsLmNzcworaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZS10cmVl
L3Jlc291cmNlcy9zdHlsZXMtbmF2aWdhdGVkLmNzcyA9PSBodHRwOi8vMTI3LjAuMC4xOjgwMDAv
aW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL3N0eWxlcy1uYXZpZ2F0ZWQuY3NzCito
dHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlcy10ZXN0LmpzID09IGh0dHA6
Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2VzLXRlc3QuanMKKworUmVzb3VyY2Vz
IFRyZWU6CitGcmFtZXMKKyAgICAocmVzb3VyY2UtdHJlZS1mcmFtZS1hZGQuaHRtbCkKKyAgICAg
ICAgKHJlc291cmNlLXRyZWUtZnJhbWUtYWRkLWlmcmFtZS5odG1sKQorICAgICAgICAgICAgU2Ny
aXB0cworICAgICAgICAgICAgICAgIHNjcmlwdC1uYXZpZ2F0ZWQuanMKKyAgICAgICAgICAgIFN0
eWxlc2hlZXRzCisgICAgICAgICAgICAgICAgc3R5bGVzLW5hdmlnYXRlZC5jc3MKKyAgICAgICAg
ICAgIHJlc291cmNlLXRyZWUtZnJhbWUtYWRkLWlmcmFtZS5odG1sCisgICAgICAgIFNjcmlwdHMK
KyAgICAgICAgICAgIGluc3BlY3Rvci10ZXN0LmpzCisgICAgICAgICAgICByZXNvdXJjZS10cmVl
LXRlc3QuanMKKyAgICAgICAgICAgIHJlc291cmNlcy10ZXN0LmpzCisgICAgICAgIFN0eWxlc2hl
ZXRzCisgICAgICAgICAgICBzdHlsZXMtaW5pdGlhbC5jc3MKKyAgICAgICAgcmVzb3VyY2UtdHJl
ZS1mcmFtZS1hZGQuaHRtbAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jz
b2xldGUvaHR0cC10ZXN0cy9yZXNvdXJjZS10cmVlL3Jlc291cmNlLXRyZWUtZnJhbWUtYWRkLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9yZXNvdXJjZS10
cmVlL3Jlc291cmNlLXRyZWUtZnJhbWUtYWRkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTdkYWMyN2ZlMzZj
ZjMyMGIyYWRlMjVhY2I4ZTdlZjNkOGZhZGM0NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3Jlc291cmNlLXRyZWUvcmVzb3VyY2Ut
dHJlZS1mcmFtZS1hZGQuaHRtbApAQCAtMCwwICsxLDYzIEBACis8aHRtbD4KKzxoZWFkPgorPHNj
cmlwdCBzcmM9Ii4uL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li9yZXNvdXJjZXMtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2UtdHJl
ZS10ZXN0LmpzIj48L3NjcmlwdD4KKworPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJyZXNv
dXJjZXMvc3R5bGVzLWluaXRpYWwuY3NzIj4KKworPHNjcmlwdD4KKworZnVuY3Rpb24gY3JlYXRl
SWZyYW1lKCkKK3sKKyAgICB2YXIgaWZyYW1lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZy
YW1lIik7CisgICAgaWZyYW1lLnNldEF0dHJpYnV0ZSgic3JjIiwgInJlc291cmNlcy9yZXNvdXJj
ZS10cmVlLWZyYW1lLWFkZC1pZnJhbWUuaHRtbCIpOworICAgIGlmcmFtZS5vbmxvYWQgPSBvbklm
cmFtZUxvYWQ7CisgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChpZnJhbWUpOworfQorCitm
dW5jdGlvbiBvbklmcmFtZUxvYWQoKQoreworICAgIGNvbnNvbGUubG9nKCJpZnJhbWUgbmF2aWdh
dGVkIik7Cit9CisKK2Z1bmN0aW9uIHRlc3QoKQoreworICAgIFdlYkluc3BlY3Rvci5zaG93UGFu
ZWwoInJlc291cmNlcyIpOworICAgIEluc3BlY3RvclRlc3QucnVuQWZ0ZXJSZXNvdXJjZXNBcmVG
aW5pc2hlZChbInJlc291cmNlLXRyZWUtZnJhbWUtYWRkLmh0bWwiLCAicmVzb3VyY2UtdHJlZS10
ZXN0LmpzIiwgInN0eWxlcy1pbml0aWFsLmNzcyJdLCBzdGVwMSk7CisKKyAgICBmdW5jdGlvbiBz
dGVwMSgpCisgICAgeworICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiQmVmb3JlIGFk
ZGl0aW9uIik7CisgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCI9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0iKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wUmVz
b3VyY2VUcmVlRXZlcnl0aGluZygpOworICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZENvbnNvbGVT
bmlmZmVyKHN0ZXAyKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgiY3Jl
YXRlSWZyYW1lKCkiKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBzdGVwMigpCisgICAgeworICAg
ICAgICBJbnNwZWN0b3JUZXN0LnJ1bkFmdGVyUmVzb3VyY2VzQXJlRmluaXNoZWQoWyJyZXNvdXJj
ZS10cmVlLWZyYW1lLWFkZC1pZnJhbWUuaHRtbCIsICJzdHlsZXMtbmF2aWdhdGVkLmNzcyIsICJz
Y3JpcHQtbmF2aWdhdGVkLmpzIl0sIHN0ZXAzKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBzdGVw
MygpCisgICAgeworICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiIik7CisgICAgICAg
IEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJBZnRlciBhZGRpdGlvbiIpOworICAgICAgICBJbnNw
ZWN0b3JUZXN0LmFkZFJlc3VsdCgiPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Iik7CisgICAgICAgIEluc3BlY3RvclRlc3QuZHVtcFJlc291cmNlVHJlZUV2ZXJ5dGhpbmcoKTsK
KyAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKKyAgICB9Cit9CisKKzwvc2Ny
aXB0PgorCis8L2hlYWQ+CisKKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KKzxwPgorVGVzdHMg
cmVzb3VyY2UgdHJlZSBtb2RlbCBvbiBpZnJhbWUgYWRkaXRpb24sIGNvbXBhcmVzIHJlc291cmNl
IHRyZWUgYWdhaW5zdCBnb2xkZW4uIEV2ZXJ5IGxpbmUgaXMgaW1wb3J0YW50LgorPC9wPgorCis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xl
dGUvaHR0cC10ZXN0cy9yZXNvdXJjZS10cmVlL3Jlc291cmNlLXRyZWUtZnJhbWUtbmF2aWdhdGUt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMv
cmVzb3VyY2UtdHJlZS9yZXNvdXJjZS10cmVlLWZyYW1lLW5hdmlnYXRlLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4zZGYwNjJmY2I1NDM2YTJhNjIyM2NkODVhZmZhNjk1MjY3ZmYzNGFlCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMv
cmVzb3VyY2UtdHJlZS9yZXNvdXJjZS10cmVlLWZyYW1lLW5hdmlnYXRlLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDgxIEBACitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMjI6IGlmcmFtZSBuYXZpZ2F0
ZWQKK1Rlc3RzIHJlc291cmNlIHRyZWUgbW9kZWwgb24gaWZyYW1lIG5hdmlnYXRpb24sIGNvbXBh
cmVzIHJlc291cmNlIHRyZWUgYWdhaW5zdCBnb2xkZW4uIEV2ZXJ5IGxpbmUgaXMgaW1wb3J0YW50
LgorCitCZWZvcmUgbmF2aWdhdGlvbgorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09CitSZXNvdXJjZXM6CitzY3JpcHQgaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9p
bnNwZWN0b3ItdGVzdC5qcworZG9jdW1lbnQgaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rv
ci9yZXNvdXJjZS10cmVlL3Jlc291cmNlLXRyZWUtZnJhbWUtbmF2aWdhdGUuaHRtbAorc2NyaXB0
IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZS10
cmVlLXRlc3QuanMKK2RvY3VtZW50IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVz
b3VyY2UtdHJlZS9yZXNvdXJjZXMvcmVzb3VyY2UtdHJlZS1mcmFtZS1uYXZpZ2F0ZS1pZnJhbWUt
YmVmb3JlLmh0bWwKK3NjcmlwdCBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291
cmNlLXRyZWUvcmVzb3VyY2VzL3NjcmlwdC1pbml0aWFsLmpzCitzdHlsZXNoZWV0IGh0dHA6Ly8x
MjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZXMvc3R5bGVzLWlu
aXRpYWwtMi5jc3MKK3N0eWxlc2hlZXQgaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9y
ZXNvdXJjZS10cmVlL3Jlc291cmNlcy9zdHlsZXMtaW5pdGlhbC5jc3MKK3NjcmlwdCBodHRwOi8v
MTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlcy10ZXN0LmpzCisKK1Jlc291cmNlcyBV
UkwgTWFwOgoraHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5q
cyA9PSBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzCito
dHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2UtdHJl
ZS1mcmFtZS1uYXZpZ2F0ZS5odG1sID09IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3Iv
cmVzb3VyY2UtdHJlZS9yZXNvdXJjZS10cmVlLWZyYW1lLW5hdmlnYXRlLmh0bWwKK2h0dHA6Ly8x
MjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZS10cmVlLXRlc3Qu
anMgPT0gaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291
cmNlLXRyZWUtdGVzdC5qcworaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJj
ZS10cmVlL3Jlc291cmNlcy9yZXNvdXJjZS10cmVlLWZyYW1lLW5hdmlnYXRlLWlmcmFtZS1iZWZv
cmUuaHRtbCA9PSBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUv
cmVzb3VyY2VzL3Jlc291cmNlLXRyZWUtZnJhbWUtbmF2aWdhdGUtaWZyYW1lLWJlZm9yZS5odG1s
CitodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2Vz
L3NjcmlwdC1pbml0aWFsLmpzID09IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVz
b3VyY2UtdHJlZS9yZXNvdXJjZXMvc2NyaXB0LWluaXRpYWwuanMKK2h0dHA6Ly8xMjcuMC4wLjE6
ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZXMvc3R5bGVzLWluaXRpYWwtMi5j
c3MgPT0gaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291
cmNlcy9zdHlsZXMtaW5pdGlhbC0yLmNzcworaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rv
ci9yZXNvdXJjZS10cmVlL3Jlc291cmNlcy9zdHlsZXMtaW5pdGlhbC5jc3MgPT0gaHR0cDovLzEy
Ny4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlcy9zdHlsZXMtaW5p
dGlhbC5jc3MKK2h0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2VzLXRlc3Qu
anMgPT0gaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZXMtdGVzdC5qcwor
CitSZXNvdXJjZXMgVHJlZToKK0ZyYW1lcworICAgIChyZXNvdXJjZS10cmVlLWZyYW1lLW5hdmln
YXRlLmh0bWwpCisgICAgICAgIGlmcmFtZShyZXNvdXJjZS10cmVlLWZyYW1lLW5hdmlnYXRlLWlm
cmFtZS1iZWZvcmUuaHRtbCkKKyAgICAgICAgICAgIFNjcmlwdHMKKyAgICAgICAgICAgICAgICBz
Y3JpcHQtaW5pdGlhbC5qcworICAgICAgICAgICAgU3R5bGVzaGVldHMKKyAgICAgICAgICAgICAg
ICBzdHlsZXMtaW5pdGlhbC0yLmNzcworICAgICAgICAgICAgcmVzb3VyY2UtdHJlZS1mcmFtZS1u
YXZpZ2F0ZS1pZnJhbWUtYmVmb3JlLmh0bWwKKyAgICAgICAgU2NyaXB0cworICAgICAgICAgICAg
aW5zcGVjdG9yLXRlc3QuanMKKyAgICAgICAgICAgIHJlc291cmNlLXRyZWUtdGVzdC5qcworICAg
ICAgICAgICAgcmVzb3VyY2VzLXRlc3QuanMKKyAgICAgICAgU3R5bGVzaGVldHMKKyAgICAgICAg
ICAgIHN0eWxlcy1pbml0aWFsLmNzcworICAgICAgICByZXNvdXJjZS10cmVlLWZyYW1lLW5hdmln
YXRlLmh0bWwKKworQWZ0ZXIgbmF2aWdhdGlvbgorPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09CitSZXNvdXJjZXM6CitzY3JpcHQgaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3Bl
Y3Rvci9pbnNwZWN0b3ItdGVzdC5qcworZG9jdW1lbnQgaHR0cDovLzEyNy4wLjAuMTo4MDAwL2lu
c3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlLXRyZWUtZnJhbWUtbmF2aWdhdGUuaHRtbAor
c2NyaXB0IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNv
dXJjZS10cmVlLXRlc3QuanMKK2RvY3VtZW50IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0
b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZXMvcmVzb3VyY2UtdHJlZS1mcmFtZS1uYXZpZ2F0ZS1p
ZnJhbWUtYWZ0ZXIuaHRtbAorc2NyaXB0IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3Iv
cmVzb3VyY2UtdHJlZS9yZXNvdXJjZXMvc2NyaXB0LW5hdmlnYXRlZC5qcworc3R5bGVzaGVldCBo
dHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL3N0
eWxlcy1pbml0aWFsLmNzcworc3R5bGVzaGVldCBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVj
dG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL3N0eWxlcy1uYXZpZ2F0ZWQuY3NzCitzY3JpcHQg
aHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZXMtdGVzdC5qcworCitSZXNv
dXJjZXMgVVJMIE1hcDoKK2h0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvaW5zcGVjdG9y
LXRlc3QuanMgPT0gaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVz
dC5qcworaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291
cmNlLXRyZWUtZnJhbWUtbmF2aWdhdGUuaHRtbCA9PSBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5z
cGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2UtdHJlZS1mcmFtZS1uYXZpZ2F0ZS5odG1sCito
dHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2UtdHJl
ZS10ZXN0LmpzID09IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2UtdHJl
ZS9yZXNvdXJjZS10cmVlLXRlc3QuanMKK2h0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3Iv
cmVzb3VyY2UtdHJlZS9yZXNvdXJjZXMvcmVzb3VyY2UtdHJlZS1mcmFtZS1uYXZpZ2F0ZS1pZnJh
bWUtYWZ0ZXIuaHRtbCA9PSBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNl
LXRyZWUvcmVzb3VyY2VzL3Jlc291cmNlLXRyZWUtZnJhbWUtbmF2aWdhdGUtaWZyYW1lLWFmdGVy
Lmh0bWwKK2h0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNv
dXJjZXMvc2NyaXB0LW5hdmlnYXRlZC5qcyA9PSBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVj
dG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL3NjcmlwdC1uYXZpZ2F0ZWQuanMKK2h0dHA6Ly8x
MjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZXMvc3R5bGVzLWlu
aXRpYWwuY3NzID09IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2UtdHJl
ZS9yZXNvdXJjZXMvc3R5bGVzLWluaXRpYWwuY3NzCitodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5z
cGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL3N0eWxlcy1uYXZpZ2F0ZWQuY3NzID09IGh0
dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZXMvc3R5
bGVzLW5hdmlnYXRlZC5jc3MKK2h0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3Vy
Y2VzLXRlc3QuanMgPT0gaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZXMt
dGVzdC5qcworCitSZXNvdXJjZXMgVHJlZToKK0ZyYW1lcworICAgIChyZXNvdXJjZS10cmVlLWZy
YW1lLW5hdmlnYXRlLmh0bWwpCisgICAgICAgIGlmcmFtZShyZXNvdXJjZS10cmVlLWZyYW1lLW5h
dmlnYXRlLWlmcmFtZS1hZnRlci5odG1sKQorICAgICAgICAgICAgU2NyaXB0cworICAgICAgICAg
ICAgICAgIHNjcmlwdC1uYXZpZ2F0ZWQuanMKKyAgICAgICAgICAgIFN0eWxlc2hlZXRzCisgICAg
ICAgICAgICAgICAgc3R5bGVzLW5hdmlnYXRlZC5jc3MKKyAgICAgICAgICAgIHJlc291cmNlLXRy
ZWUtZnJhbWUtbmF2aWdhdGUtaWZyYW1lLWFmdGVyLmh0bWwKKyAgICAgICAgU2NyaXB0cworICAg
ICAgICAgICAgaW5zcGVjdG9yLXRlc3QuanMKKyAgICAgICAgICAgIHJlc291cmNlLXRyZWUtdGVz
dC5qcworICAgICAgICAgICAgcmVzb3VyY2VzLXRlc3QuanMKKyAgICAgICAgU3R5bGVzaGVldHMK
KyAgICAgICAgICAgIHN0eWxlcy1pbml0aWFsLmNzcworICAgICAgICByZXNvdXJjZS10cmVlLWZy
YW1lLW5hdmlnYXRlLmh0bWwKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9i
c29sZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZS10cmVlLWZyYW1lLW5hdmln
YXRlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9yZXNv
dXJjZS10cmVlL3Jlc291cmNlLXRyZWUtZnJhbWUtbmF2aWdhdGUuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40
OGMwYTdiNWQ2OWI3ZmU3ZmQ3ZDE5ZGQzNjExOGVlMWI3NTdhYzAzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2UtdHJl
ZS9yZXNvdXJjZS10cmVlLWZyYW1lLW5hdmlnYXRlLmh0bWwKQEAgLTAsMCArMSw2NiBAQAorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9InJlc291cmNlLXRyZWUtdGVzdC5qcyI+PC9zY3JpcHQ+CisKKzxsaW5rIHJlbD0ic3R5bGVz
aGVldCIgaHJlZj0icmVzb3VyY2VzL3N0eWxlcy1pbml0aWFsLmNzcyI+CisKKzxzY3JpcHQ+CisK
K2Z1bmN0aW9uIG5hdmlnYXRlSWZyYW1lKCkKK3sKKyAgICB2YXIgaWZyYW1lID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImlmcmFtZSIpOworICAgIGlmcmFtZS5yZW1vdmVBdHRyaWJ1dGUoIm9u
bG9hZCIpOworICAgIGlmcmFtZS5vbmxvYWQgPSBvbklmcmFtZUxvYWQ7CisgICAgaWZyYW1lLnNl
dEF0dHJpYnV0ZSgic3JjIiwgInJlc291cmNlcy9yZXNvdXJjZS10cmVlLWZyYW1lLW5hdmlnYXRl
LWlmcmFtZS1hZnRlci5odG1sIik7CisgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChpZnJh
bWUpOworfQorCitmdW5jdGlvbiBvbklmcmFtZUxvYWQoKQoreworICAgIGNvbnNvbGUubG9nKCJp
ZnJhbWUgbmF2aWdhdGVkIik7Cit9CisKK2Z1bmN0aW9uIHRlc3QoKQoreworICAgIFdlYkluc3Bl
Y3Rvci5zaG93UGFuZWwoInJlc291cmNlcyIpOworICAgIEluc3BlY3RvclRlc3QucnVuQWZ0ZXJS
ZXNvdXJjZXNBcmVGaW5pc2hlZChbInJlc291cmNlLXRyZWUtZnJhbWUtbmF2aWdhdGUtaWZyYW1l
LWJlZm9yZS5odG1sIiwgInNjcmlwdC1pbml0aWFsLmpzIiwgInN0eWxlcy1pbml0aWFsLmNzcyIs
ICJzdHlsZXMtaW5pdGlhbC0yLmNzcyJdLCBzdGVwMSk7CisKKyAgICBmdW5jdGlvbiBzdGVwMSgp
CisgICAgeworICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiQmVmb3JlIG5hdmlnYXRp
b24iKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PSIpOworICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBSZXNvdXJj
ZVRyZWVFdmVyeXRoaW5nKCk7CisgICAgICAgIEluc3BlY3RvclRlc3QuYWRkQ29uc29sZVNuaWZm
ZXIoc3RlcDIpOworICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJuYXZpZ2F0
ZUlmcmFtZSgpIik7CisgICAgfQorCisgICAgZnVuY3Rpb24gc3RlcDIoKQorICAgIHsKKyAgICAg
ICAgSW5zcGVjdG9yVGVzdC5ydW5BZnRlclJlc291cmNlc0FyZUZpbmlzaGVkKFsicmVzb3VyY2Ut
dHJlZS1mcmFtZS1uYXZpZ2F0ZS1pZnJhbWUtYWZ0ZXIuaHRtbCIsICJzdHlsZXMtbmF2aWdhdGVk
LmNzcyIsICJzY3JpcHQtbmF2aWdhdGVkLmpzIl0sIHN0ZXAzKTsKKyAgICB9CisKKyAgICBmdW5j
dGlvbiBzdGVwMygpCisgICAgeworICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiIik7
CisgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJBZnRlciBuYXZpZ2F0aW9uIik7Cisg
ICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCI9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0iKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wUmVzb3VyY2VUcmVlRXZl
cnl0aGluZygpOworICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOworICAgIH0K
K30KKworPC9zY3JpcHQ+CisKKzwvaGVhZD4KKworPGJvZHk+Cis8cD4KK1Rlc3RzIHJlc291cmNl
IHRyZWUgbW9kZWwgb24gaWZyYW1lIG5hdmlnYXRpb24sIGNvbXBhcmVzIHJlc291cmNlIHRyZWUg
YWdhaW5zdCBnb2xkZW4uIEV2ZXJ5IGxpbmUgaXMgaW1wb3J0YW50LgorPC9wPgorCis8aWZyYW1l
IGlkPSJpZnJhbWUiIHNyYz0icmVzb3VyY2VzL3Jlc291cmNlLXRyZWUtZnJhbWUtbmF2aWdhdGUt
aWZyYW1lLWJlZm9yZS5odG1sIiBvbmxvYWQ9InJ1blRlc3QoKSI+CisKKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3Rz
L3Jlc291cmNlLXRyZWUvcmVzb3VyY2UtdHJlZS1pbnZhbGlkLW1pbWUtdHlwZS1jc3MtY29udGVu
dC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0
cy9yZXNvdXJjZS10cmVlL3Jlc291cmNlLXRyZWUtaW52YWxpZC1taW1lLXR5cGUtY3NzLWNvbnRl
bnQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg5MTIwNTFjNDZkYWUzMzIwNGMyM2UyMzMyMzcy
ODUxMmM0MGU0MDQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jz
b2xldGUvaHR0cC10ZXN0cy9yZXNvdXJjZS10cmVlL3Jlc291cmNlLXRyZWUtaW52YWxpZC1taW1l
LXR5cGUtY3NzLWNvbnRlbnQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsOSBAQAorVGVzdHMgdGhh
dCBjb250ZW50IGlzIGNvcnJlY3RseSBzaG93biBmb3IgY3NzIGxvYWRlZCB3aXRoIGludmFsaWQg
bWltZSB0eXBlIGluIHF1aXJrcyBtb2RlLgorCitCdWcgODA1MjgKK2h0dHA6Ly8xMjcuMC4wLjE6
ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZXMvc3R5bGVzaGVldC10ZXh0LXBs
YWluLnBocAorUmVzb3VyY2UuY29udGVudDogYm9keSB7CisgICAgYmFja2dyb3VuZC1jb2xvcjog
Z3JlZW46Cit9CisKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRl
L2h0dHAtdGVzdHMvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZS10cmVlLWludmFsaWQtbWltZS10eXBl
LWNzcy1jb250ZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10
ZXN0cy9yZXNvdXJjZS10cmVlL3Jlc291cmNlLXRyZWUtaW52YWxpZC1taW1lLXR5cGUtY3NzLWNv
bnRlbnQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45ZjQzZjVkYzI5ODJmNWVhMzYyMTk1ZGJhMTAzZmU2MzVk
MmRiMGIzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRl
L2h0dHAtdGVzdHMvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZS10cmVlLWludmFsaWQtbWltZS10eXBl
LWNzcy1jb250ZW50Lmh0bWwKQEAgLTAsMCArMSwzOSBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
cmVzb3VyY2VzLXRlc3QuanMiPjwvc2NyaXB0PgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVm
PSJyZXNvdXJjZXMvc3R5bGVzaGVldC10ZXh0LXBsYWluLnBocCIgdHlwZT0idGV4dC9jc3MiPgor
PHNjcmlwdD4KK2Z1bmN0aW9uIHRlc3QoKQoreworICAgIHZhciBjc3NSZXNvdXJjZTsKKworICAg
IEluc3BlY3RvclRlc3QucnVuQWZ0ZXJSZXNvdXJjZXNBcmVGaW5pc2hlZChbInN0eWxlc2hlZXQt
dGV4dC1wbGFpbi5waHAiXSwgc3RlcDEpOworCisgICAgZnVuY3Rpb24gc3RlcDEoKQorICAgIHsK
KyAgICAgICAgV2ViSW5zcGVjdG9yLnJlc291cmNlVHJlZU1vZGVsLmZvckFsbFJlc291cmNlcyhm
aW5kQ1NTUmVzb3VyY2UpOworICAgICAgICBmdW5jdGlvbiBmaW5kQ1NTUmVzb3VyY2UocmVzb3Vy
Y2UpCisgICAgICAgIHsKKyAgICAgICAgICAgIGlmIChyZXNvdXJjZS51cmwuaW5kZXhPZigic3R5
bGVzaGVldC10ZXh0LXBsYWluLnBocCIpICE9PSAtMSkKKyAgICAgICAgICAgICAgICBjc3NSZXNv
dXJjZSA9IHJlc291cmNlOworICAgICAgICB9CisgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVz
dWx0KGNzc1Jlc291cmNlLnVybCk7CisgICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0RXF1YWxz
KGNzc1Jlc291cmNlLnR5cGUsIFdlYkluc3BlY3Rvci5yZXNvdXJjZVR5cGVzLlN0eWxlc2hlZXQs
ICJSZXNvdXJjZSB0eXBlIHNob3VsZCBiZSBTdHlsZXNoZWV0LiIpOworICAgICAgICBJbnNwZWN0
b3JUZXN0LmFzc2VydFRydWUoIWNzc1Jlc291cmNlLmZhaWxlZCwgIlJlc291cmNlIGxvYWRpbmcg
ZmFpbGVkLiIpOworICAgICAgICBjc3NSZXNvdXJjZS5yZXF1ZXN0Q29udGVudChzdGVwMik7Cisg
ICAgfQorCisgICAgZnVuY3Rpb24gc3RlcDIoKQorICAgIHsKKyAgICAgICAgSW5zcGVjdG9yVGVz
dC5hZGRSZXN1bHQoIlJlc291cmNlLmNvbnRlbnQ6ICIgKyBjc3NSZXNvdXJjZS5jb250ZW50KTsK
KyAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKKyAgICB9Cit9Cis8L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KKzxwPlRlc3RzIHRoYXQgY29u
dGVudCBpcyBjb3JyZWN0bHkgc2hvd24gZm9yIGNzcyBsb2FkZWQgd2l0aCBpbnZhbGlkIG1pbWUg
dHlwZSBpbiBxdWlya3MgbW9kZS48L3A+Cis8YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9ODA1MjgiPkJ1ZyA4MDUyODwvYT4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3Jl
c291cmNlLXRyZWUvcmVzb3VyY2UtdHJlZS1taW1ldHlwZS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9yZXNvdXJjZS10cmVlL3Jlc291cmNl
LXRyZWUtbWltZXR5cGUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE3NzAzMTRhNGExYmI1YzY2
NDk4ZjIzZTQ2Y2VmZWFiNDZhM2MyMTEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9p
bnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9yZXNvdXJjZS10cmVlL3Jlc291cmNlLXRyZWUt
bWltZXR5cGUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsOSBAQAorVGVzdHMgdGhhdCByZXNvdXJj
ZXMgcGFuZWwgY29ycmVjdGx5IHNob3dzIG1pbWUgdHlwZSB3aGVuIGl0IGxvYWRzIGRhdGEgZnJv
bSBtZW1vcnkgY2FjaGUuCisKK0J1ZyA2MzcwMSAKK3NjcmlwdCBhcHBsaWNhdGlvbi94LWphdmFz
Y3JpcHQgaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcwor
ZG9jdW1lbnQgdGV4dC9odG1sIGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3Vy
Y2UtdHJlZS9yZXNvdXJjZS10cmVlLW1pbWV0eXBlLmh0bWwKK3NjcmlwdCBhcHBsaWNhdGlvbi94
LWphdmFzY3JpcHQgaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZS10cmVl
L3Jlc291cmNlLXRyZWUtdGVzdC5qcworaW1hZ2UgaW1hZ2UvcG5nIGh0dHA6Ly8xMjcuMC4wLjE6
ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZXMvZW1wdHkucG5nCitzdHlsZXNo
ZWV0IHRleHQvY3NzIGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2UtdHJl
ZS9yZXNvdXJjZXMvc3R5bGVzLWluaXRpYWwuY3NzCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3Jlc291cmNlLXRyZWUvcmVzb3VyY2UtdHJl
ZS1taW1ldHlwZS5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVz
dHMvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZS10cmVlLW1pbWV0eXBlLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
YmY3MWVjYzY0OTNiNTljNzZkOGUwNGY2N2M2Njg2ODMyMzg4OTQ5NQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3Jlc291cmNlLXRy
ZWUvcmVzb3VyY2UtdHJlZS1taW1ldHlwZS5odG1sCkBAIC0wLDAgKzEsMzEgQEAKKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9InJlc291cmNlLXRyZWUtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8bGluayByZWw9InN0
eWxlc2hlZXQiIGhyZWY9InJlc291cmNlcy9zdHlsZXMtaW5pdGlhbC5jc3MiPgorPHNjcmlwdD4K
K2Z1bmN0aW9uIHRlc3QoKQoreworICAgIFdlYkluc3BlY3Rvci5wYW5lbCgibmV0d29yayIpLl9y
ZXNldCgpOworICAgIFdlYkluc3BlY3Rvci5yZXNvdXJjZVRyZWVNb2RlbC5hZGRFdmVudExpc3Rl
bmVyKFdlYkluc3BlY3Rvci5SZXNvdXJjZVRyZWVNb2RlbC5FdmVudFR5cGVzLkNhY2hlZFJlc291
cmNlc0xvYWRlZCwgc3RlcDIpOworICAgIFdlYkluc3BlY3Rvci5yZXNvdXJjZVRyZWVNb2RlbC5f
ZmV0Y2hSZXNvdXJjZVRyZWUoKTsKKworICAgIGZ1bmN0aW9uIHN0ZXAyKCkKKyAgICB7CisgICAg
ICAgIGZ1bmN0aW9uIGZvcm1hdChyZXNvdXJjZSkKKyAgICAgICAgeworICAgICAgICAgICAgcmV0
dXJuIHJlc291cmNlLnR5cGUubmFtZSgpICsgIiAiICsgcmVzb3VyY2UubWltZVR5cGUgKyAiICIg
KyByZXNvdXJjZS51cmw7CisgICAgICAgIH0KKworICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBS
ZXNvdXJjZXMoZm9ybWF0KTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsK
KyAgICB9Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4K
KzxwPlRlc3RzIHRoYXQgcmVzb3VyY2VzIHBhbmVsIGNvcnJlY3RseSBzaG93cyBtaW1lIHR5cGUg
d2hlbiBpdCBsb2FkcyBkYXRhIGZyb20gbWVtb3J5IGNhY2hlLjwvcD4KKzxhIGhyZWY9Imh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MzcwMSI+QnVnIDYzNzAxPC9hPgor
PGltZyBzcmM9InJlc291cmNlcy9lbXB0eS5wbmciPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2Ut
dHJlZS9yZXNvdXJjZS10cmVlLW5vLXhocnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZS10cmVlLW5v
LXhocnMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjViYzU4ZTZhOTc4MDRkOGIyYjAzNWMzOGQy
NGYzYjQ2M2VlOWVlZjcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3It
b2Jzb2xldGUvaHR0cC10ZXN0cy9yZXNvdXJjZS10cmVlL3Jlc291cmNlLXRyZWUtbm8teGhycy1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSw0IEBACitDT05TT0xFIE1FU1NBR0U6IGxpbmUgNjogWEhS
IGxvYWRlZDogMQorVGVzdHMgdGhhdCBYSFJzIGFyZSBub3QgYWRkZWQgdG8gcmVzb3VyY2VUcmVl
TW9kZWwuCisKK0J1ZyA2MDMyMQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9i
c29sZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZS10cmVlLW5vLXhocnMuaHRt
bCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3Jlc291cmNlLXRy
ZWUvcmVzb3VyY2UtdHJlZS1uby14aHJzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjUzNDVlMmIxMWNjMjZk
OGI1MjQzMTM5MDExNmRhZjhiODdiMjYyOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3Jlc291cmNlLXRyZWUvcmVzb3VyY2UtdHJl
ZS1uby14aHJzLmh0bWwKQEAgLTAsMCArMSwyMyBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vbmV0
d29yay10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CitmdW5jdGlvbiB0ZXN0KCkKK3sKKyAg
ICBJbnNwZWN0b3JUZXN0Lm1ha2VTaW1wbGVYSFIoIkdFVCIsICJyZXNvdXJjZXMvcmVzb3VyY2Uu
cGhwIiwgZmFsc2UsIHN0ZXAyKTsKKworICAgIGZ1bmN0aW9uIHN0ZXAyKCkKKyAgICB7CisgICAg
ICAgIHZhciByZXNvdXJjZSA9IFdlYkluc3BlY3Rvci5yZXNvdXJjZVRyZWVNb2RlbC5yZXNvdXJj
ZUZvclVSTCgiaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jl
c291cmNlcy9yZXNvdXJjZS5waHAiKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRUcnVl
KCFyZXNvdXJjZSwgIlhIUiByZXNvdXJjZSBzaG91bGQgbm90IGJlIGFkZGVkIHRvIHJlc291cmNl
VHJlZU1vZGVsLiIpOworICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOworICAg
IH0KK30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgorPHA+
VGVzdHMgdGhhdCBYSFJzIGFyZSBub3QgYWRkZWQgdG8gcmVzb3VyY2VUcmVlTW9kZWwuPC9wPgor
PGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYwMzIxIj5C
dWcgNjAzMjE8L2E+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9yZXNvdXJjZS10cmVlL3Jlc291cmNlLXRyZWUt
bm9uLXVuaXF1ZS11cmwtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29s
ZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZS10cmVlLW5vbi11bmlxdWUtdXJs
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jYmM1MDFlZmEyMjk2ZjhiMmI4ZjY1NDY5ZThmNjA0
YmZkNzNlOTBmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29s
ZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZS10cmVlLW5vbi11bmlxdWUtdXJs
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE4IEBACitUZXN0cyByZXNvdXJjZXMgcGFuZWwgc2hv
d3Mgc2V2ZXJhbCByZXNvdXJjZXMgd2l0aCB0aGUgc2FtZSB1cmwgaWYgdGhleSB3ZXJlIGxvYWRl
ZCB3aXRoIGluc3BlY3RvciBhbHJlYWR5IG9wZW5lZC4KKworCitSZXNvdXJjZXMgVHJlZToKK0Zy
YW1lcworICAgIChyZXNvdXJjZS10cmVlLW5vbi11bmlxdWUtdXJsLmh0bWwpCisgICAgICAgIChy
ZXNvdXJjZS10cmVlLW5vbi11bmlxdWUtdXJsLWlmcmFtZS5odG1sKQorICAgICAgICAgICAgSW1h
Z2VzCisgICAgICAgICAgICAgICAgc3R5bGVzLW5vbi11bmlxdWUtdXJsLmNzcworICAgICAgICAg
ICAgU3R5bGVzaGVldHMKKyAgICAgICAgICAgICAgICBzdHlsZXMtbm9uLXVuaXF1ZS11cmwuY3Nz
CisgICAgICAgICAgICByZXNvdXJjZS10cmVlLW5vbi11bmlxdWUtdXJsLWlmcmFtZS5odG1sCisg
ICAgICAgIFNjcmlwdHMKKyAgICAgICAgICAgIGluc3BlY3Rvci10ZXN0LmpzCisgICAgICAgICAg
ICByZXNvdXJjZS10cmVlLXRlc3QuanMKKyAgICAgICAgICAgIHJlc291cmNlcy10ZXN0LmpzCisg
ICAgICAgIHJlc291cmNlLXRyZWUtbm9uLXVuaXF1ZS11cmwuaHRtbAorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9yZXNvdXJjZS10cmVlL3Jl
c291cmNlLXRyZWUtbm9uLXVuaXF1ZS11cmwuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1v
YnNvbGV0ZS9odHRwLXRlc3RzL3Jlc291cmNlLXRyZWUvcmVzb3VyY2UtdHJlZS1ub24tdW5pcXVl
LXVybC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFlNGViMjMxYzQ1MjhhMzE2YmI5Yjg3ZmQ2YjA1ZWFlYzI4
Yjc4MGYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUv
aHR0cC10ZXN0cy9yZXNvdXJjZS10cmVlL3Jlc291cmNlLXRyZWUtbm9uLXVuaXF1ZS11cmwuaHRt
bApAQCAtMCwwICsxLDM3IEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uL2luc3Bl
Y3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMtdGVzdC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2UtdHJlZS10ZXN0LmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQ+CitmdW5jdGlvbiBsb2FkSWZyYW1lKCkKK3sKKyAgICB2YXIgaWZyYW1lID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7CisgICAgZG9jdW1lbnQuYm9keS5hcHBl
bmRDaGlsZChpZnJhbWUpOworICAgIGlmcmFtZS5zcmMgPSAicmVzb3VyY2VzL3Jlc291cmNlLXRy
ZWUtbm9uLXVuaXF1ZS11cmwtaWZyYW1lLmh0bWwiOworfQorCitmdW5jdGlvbiB0ZXN0KCkKK3sK
KyAgICBXZWJJbnNwZWN0b3Iuc2hvd1BhbmVsKCJyZXNvdXJjZXMiKTsKKyAgICBJbnNwZWN0b3JU
ZXN0LmFkZFNuaWZmZXIoV2ViSW5zcGVjdG9yLkZyYW1lVHJlZUVsZW1lbnQucHJvdG90eXBlLCAi
YXBwZW5kUmVzb3VyY2UiLCBvblJlc291cmNlLCB0cnVlKTsKKworICAgIHZhciBjc3NSZXF1ZXN0
c0NvdW50ID0gMDsKKyAgICBmdW5jdGlvbiBvblJlc291cmNlKHJlc291cmNlKQorICAgIHsKKyAg
ICAgICAgaWYgKHJlc291cmNlLnVybC5tYXRjaCgvXC5jc3MkLykgJiYgKytjc3NSZXF1ZXN0c0Nv
dW50ID09PSAyKSB7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiUmVzb3Vy
Y2VzIFRyZWU6Iik7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBSZXNvdXJjZXNUcmVl
KCk7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOworICAgICAgICB9
CisgICAgfQorCisgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgibG9hZElmcmFtZSgp
OyIpOworfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Cis8
cD5UZXN0cyByZXNvdXJjZXMgcGFuZWwgc2hvd3Mgc2V2ZXJhbCByZXNvdXJjZXMgd2l0aCB0aGUg
c2FtZSB1cmwgaWYgdGhleSB3ZXJlIGxvYWRlZCB3aXRoIGluc3BlY3RvciBhbHJlYWR5IG9wZW5l
ZC48L3A+Cis8L2JvZHk+Cis8L2h0bWw+CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3Jlc291cmNlLXRyZWUvcmVzb3VyY2UtdHJlZS1yZWxv
YWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVz
dHMvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZS10cmVlLXJlbG9hZC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODY4Mzc0NmYxOTI5MWMyYjQxNDg5NDk4ZDgxZmYwMjY5OTkwZDcwNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3Jlc291
cmNlLXRyZWUvcmVzb3VyY2UtdHJlZS1yZWxvYWQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNDEg
QEAKK1Rlc3RzIHJlc291cmNlIHRyZWUgbW9kZWwgb24gcGFnZSByZWxvYWQsIGNvbXBhcmVzIHJl
c291cmNlIHRyZWUgYWdhaW5zdCBnb2xkZW4uIEV2ZXJ5IGxpbmUgaXMgaW1wb3J0YW50LgorCisK
K1BhZ2UgcmVsb2FkZWQuCitSZXNvdXJjZXM6CitzY3JpcHQgaHR0cDovLzEyNy4wLjAuMTo4MDAw
L2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcworZG9jdW1lbnQgaHR0cDovLzEyNy4wLjAuMTo4
MDAwL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlLXRyZWUtcmVsb2FkLmh0bWwKK3Nj
cmlwdCBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3Vy
Y2UtdHJlZS10ZXN0LmpzCitkb2N1bWVudCBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9y
L3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL3Jlc291cmNlLXRyZWUtcmVsb2FkLWlmcmFtZS5odG1s
CitzY3JpcHQgaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jl
c291cmNlcy9zY3JpcHQtaW5pdGlhbC5qcworc3R5bGVzaGVldCBodHRwOi8vMTI3LjAuMC4xOjgw
MDAvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL3N0eWxlcy1pbml0aWFsLTIuY3Nz
CitzdHlsZXNoZWV0IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2UtdHJl
ZS9yZXNvdXJjZXMvc3R5bGVzLWluaXRpYWwuY3NzCitzY3JpcHQgaHR0cDovLzEyNy4wLjAuMTo4
MDAwL2luc3BlY3Rvci9yZXNvdXJjZXMtdGVzdC5qcworCitSZXNvdXJjZXMgVVJMIE1hcDoKK2h0
dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMgPT0gaHR0cDov
LzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcworaHR0cDovLzEyNy4w
LjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlLXRyZWUtcmVsb2FkLmh0
bWwgPT0gaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291
cmNlLXRyZWUtcmVsb2FkLmh0bWwKK2h0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVz
b3VyY2UtdHJlZS9yZXNvdXJjZS10cmVlLXRlc3QuanMgPT0gaHR0cDovLzEyNy4wLjAuMTo4MDAw
L2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlLXRyZWUtdGVzdC5qcworaHR0cDovLzEy
Ny4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlcy9yZXNvdXJjZS10
cmVlLXJlbG9hZC1pZnJhbWUuaHRtbCA9PSBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9y
L3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL3Jlc291cmNlLXRyZWUtcmVsb2FkLWlmcmFtZS5odG1s
CitodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2Vz
L3NjcmlwdC1pbml0aWFsLmpzID09IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVz
b3VyY2UtdHJlZS9yZXNvdXJjZXMvc2NyaXB0LWluaXRpYWwuanMKK2h0dHA6Ly8xMjcuMC4wLjE6
ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZXMvc3R5bGVzLWluaXRpYWwtMi5j
c3MgPT0gaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291
cmNlcy9zdHlsZXMtaW5pdGlhbC0yLmNzcworaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rv
ci9yZXNvdXJjZS10cmVlL3Jlc291cmNlcy9zdHlsZXMtaW5pdGlhbC5jc3MgPT0gaHR0cDovLzEy
Ny4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlcy9zdHlsZXMtaW5p
dGlhbC5jc3MKK2h0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2VzLXRlc3Qu
anMgPT0gaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZXMtdGVzdC5qcwor
CitSZXNvdXJjZXMgVHJlZToKK0ZyYW1lcworICAgIChyZXNvdXJjZS10cmVlLXJlbG9hZC5odG1s
KQorICAgICAgICAocmVzb3VyY2UtdHJlZS1yZWxvYWQtaWZyYW1lLmh0bWwpCisgICAgICAgICAg
ICBTY3JpcHRzCisgICAgICAgICAgICAgICAgc2NyaXB0LWluaXRpYWwuanMKKyAgICAgICAgICAg
IFN0eWxlc2hlZXRzCisgICAgICAgICAgICAgICAgc3R5bGVzLWluaXRpYWwtMi5jc3MKKyAgICAg
ICAgICAgIHJlc291cmNlLXRyZWUtcmVsb2FkLWlmcmFtZS5odG1sCisgICAgICAgIFNjcmlwdHMK
KyAgICAgICAgICAgIGluc3BlY3Rvci10ZXN0LmpzCisgICAgICAgICAgICByZXNvdXJjZS10cmVl
LXRlc3QuanMKKyAgICAgICAgICAgIHJlc291cmNlcy10ZXN0LmpzCisgICAgICAgIFN0eWxlc2hl
ZXRzCisgICAgICAgICAgICBzdHlsZXMtaW5pdGlhbC5jc3MKKyAgICAgICAgcmVzb3VyY2UtdHJl
ZS1yZWxvYWQuaHRtbAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xl
dGUvaHR0cC10ZXN0cy9yZXNvdXJjZS10cmVlL3Jlc291cmNlLXRyZWUtcmVsb2FkLmh0bWwgYi9M
YXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9yZXNvdXJjZS10cmVlL3Jl
c291cmNlLXRyZWUtcmVsb2FkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOWFiMmUxNDlhYWVjYjY3ODUxODM5
YjdmNjhmMDk4NzcyN2EyOGQyYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3Jlc291cmNlLXRyZWUvcmVzb3VyY2UtdHJlZS1yZWxv
YWQuaHRtbApAQCAtMCwwICsxLDQxIEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4u
L2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMt
dGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2UtdHJlZS10ZXN0LmpzIj48
L3NjcmlwdD4KKworPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJyZXNvdXJjZXMvc3R5bGVz
LWluaXRpYWwuY3NzIj4KKworPHNjcmlwdD4KKworZnVuY3Rpb24gdGVzdCgpCit7CisgICAgV2Vi
SW5zcGVjdG9yLnNob3dQYW5lbCgicmVzb3VyY2VzIik7CisKKyAgICBJbnNwZWN0b3JUZXN0LnJl
bG9hZFBhZ2Uoc3RlcDEpOworCisgICAgZnVuY3Rpb24gc3RlcDEoKQorICAgIHsKKyAgICAgICAg
SW5zcGVjdG9yVGVzdC5ydW5BZnRlclJlc291cmNlc0FyZUZpbmlzaGVkKFsicmVzb3VyY2UtdHJl
ZS1yZWxvYWQtaWZyYW1lLmh0bWwiLCAic2NyaXB0LWluaXRpYWwuanMiLCAic3R5bGVzLWluaXRp
YWwtMi5jc3MiXSwgc3RlcDIpOworICAgIH0KKworICAgIGZ1bmN0aW9uIHN0ZXAyKCkKKyAgICB7
CisgICAgICAgIEluc3BlY3RvclRlc3QuZHVtcFJlc291cmNlVHJlZUV2ZXJ5dGhpbmcoKTsKKyAg
ICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKKyAgICB9Cit9CisKKzwvc2NyaXB0
PgorCis8L2hlYWQ+CisKKzxib2R5PgorPHA+CitUZXN0cyByZXNvdXJjZSB0cmVlIG1vZGVsIG9u
IHBhZ2UgcmVsb2FkLCBjb21wYXJlcyByZXNvdXJjZSB0cmVlIGFnYWluc3QgZ29sZGVuLiBFdmVy
eSBsaW5lIGlzIGltcG9ydGFudC4KKzwvcD4KKworPGlmcmFtZSBzcmM9InJlc291cmNlcy9yZXNv
dXJjZS10cmVlLXJlbG9hZC1pZnJhbWUuaHRtbCIgb25sb2FkPSJydW5UZXN0KCkiPgorCis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUv
aHR0cC10ZXN0cy9yZXNvdXJjZS10cmVlL3Jlc291cmNlLXRyZWUtdGVzdC5qcyBiL0xheW91dFRl
c3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3Jlc291cmNlLXRyZWUvcmVzb3VyY2Ut
dHJlZS10ZXN0LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRjYTZhNWI4MmMxMjJjN2QxZGNlNWI0MGFmYWIxNzll
MmVkZDIwYmYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xl
dGUvaHR0cC10ZXN0cy9yZXNvdXJjZS10cmVlL3Jlc291cmNlLXRyZWUtdGVzdC5qcwpAQCAtMCww
ICsxLDg5IEBACit2YXIgaW5pdGlhbGl6ZV9SZXNvdXJjZVRyZWVUZXN0ID0gZnVuY3Rpb24oKSB7
CisKK0luc3BlY3RvclRlc3QuZHVtcFJlc291cmNlcyA9IGZ1bmN0aW9uKGZvcm1hdHRlcikKK3sK
KyAgICB2YXIgcmVzdWx0cyA9IFtdOworCisgICAgZnVuY3Rpb24gZm9ybWF0dGVyV3JhcHBlcihy
ZXNvdXJjZSkKKyAgICB7CisgICAgICAgIGlmIChmb3JtYXR0ZXIpCisgICAgICAgICAgICByZXN1
bHRzLnB1c2goeyByZXNvdXJjZTogcmVzb3VyY2UsIHRleHQ6IGZvcm1hdHRlcihyZXNvdXJjZSkg
fSk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHJlc3VsdHMucHVzaCh7IHJlc291cmNlOiBy
ZXNvdXJjZSwgdGV4dDogcmVzb3VyY2UudXJsIH0pOworICAgIH0KKworICAgIFdlYkluc3BlY3Rv
ci5yZXNvdXJjZVRyZWVNb2RlbC5mb3JBbGxSZXNvdXJjZXMoZm9ybWF0dGVyV3JhcHBlcik7CisK
KyAgICBmdW5jdGlvbiBjb21wYXJhdG9yKHJlc3VsdDEsIHJlc3VsdDIpCisgICAgeworICAgICAg
ICByZXR1cm4gcmVzdWx0MS5yZXNvdXJjZS51cmwubG9jYWxlQ29tcGFyZShyZXN1bHQyLnJlc291
cmNlLnVybCk7CisgICAgfQorICAgIHJlc3VsdHMuc29ydChjb21wYXJhdG9yKTsKKworICAgIGZv
ciAodmFyIGkgPSAwOyBpIDwgcmVzdWx0cy5sZW5ndGg7ICsraSkKKyAgICAgICAgSW5zcGVjdG9y
VGVzdC5hZGRSZXN1bHQocmVzdWx0c1tpXS50ZXh0KTsKK30KKworSW5zcGVjdG9yVGVzdC5kdW1w
UmVzb3VyY2VzVVJMTWFwID0gZnVuY3Rpb24oKQoreworICAgIHZhciByZXN1bHRzID0gW107Cisg
ICAgV2ViSW5zcGVjdG9yLnJlc291cmNlVHJlZU1vZGVsLmZvckFsbFJlc291cmNlcyhjb2xsZWN0
KTsKKyAgICBmdW5jdGlvbiBjb2xsZWN0KHJlc291cmNlKQorICAgIHsKKyAgICAgICAgcmVzdWx0
cy5wdXNoKHsgdXJsOiByZXNvdXJjZS51cmwsIHJlc291cmNlOiBXZWJJbnNwZWN0b3IucmVzb3Vy
Y2VUcmVlTW9kZWwucmVzb3VyY2VGb3JVUkwocmVzb3VyY2UudXJsKSB9KTsKKyAgICB9CisKKyAg
ICBmdW5jdGlvbiBjb21wYXJhdG9yKHJlc3VsdDEsIHJlc3VsdDIpCisgICAgeworICAgICAgICBp
ZiAocmVzdWx0MS51cmwgPiByZXN1bHQyLnVybCkKKyAgICAgICAgICAgIHJldHVybiAxOworICAg
ICAgICBpZiAocmVzdWx0Mi51cmwgPiByZXN1bHQxLnVybCkKKyAgICAgICAgICAgIHJldHVybiAt
MTsKKyAgICAgICAgcmV0dXJuIDA7CisgICAgfQorCisgICAgcmVzdWx0cy5zb3J0KGNvbXBhcmF0
b3IpOworCisgICAgZm9yICh2YXIgaSA9IDA7IGkgPCByZXN1bHRzLmxlbmd0aDsgKytpKQorICAg
ICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdChyZXN1bHRzW2ldLnVybCArICIgPT0gIiArIHJl
c3VsdHNbaV0ucmVzb3VyY2UudXJsKTsKK30KKworSW5zcGVjdG9yVGVzdC5kdW1wUmVzb3VyY2Vz
VHJlZSA9IGZ1bmN0aW9uKCkKK3sKKyAgICBmdW5jdGlvbiBkdW1wKHRyZWVJdGVtLCBwcmVmaXgp
CisgICAgeworICAgICAgICAvLyBXZSBkb24ndCBuZWVkIHRvIHByaW50IHRoZSBidWJibGVzIGNv
bnRlbnQgaGVyZS4KKyAgICAgICAgaWYgKHR5cGVvZih0cmVlSXRlbS5fcmVzZXRCdWJibGUpID09
PSAiZnVuY3Rpb24iKQorICAgICAgICAgICAgdHJlZUl0ZW0uX3Jlc2V0QnViYmxlKCk7CisKKyAg
ICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQocHJlZml4ICsgdHJlZUl0ZW0ubGlzdEl0ZW1F
bGVtZW50LnRleHRDb250ZW50KTsKKworICAgICAgICB0cmVlSXRlbS5leHBhbmQoKTsKKyAgICAg
ICAgdmFyIGNoaWxkcmVuID0gdHJlZUl0ZW0uY2hpbGRyZW47CisgICAgICAgIGZvciAodmFyIGkg
PSAwOyBjaGlsZHJlbiAmJiBpIDwgY2hpbGRyZW4ubGVuZ3RoOyArK2kpCisgICAgICAgICAgICBk
dW1wKGNoaWxkcmVuW2ldLCBwcmVmaXggKyAiICAgICIpOworICAgIH0KKworICAgIGR1bXAoV2Vi
SW5zcGVjdG9yLnNob3dQYW5lbCgicmVzb3VyY2VzIikucmVzb3VyY2VzTGlzdFRyZWVFbGVtZW50
LCAiIik7Cit9CisKK0luc3BlY3RvclRlc3QuZHVtcFJlc291cmNlVHJlZUV2ZXJ5dGhpbmcgPSBm
dW5jdGlvbigpCit7CisgICAgZnVuY3Rpb24gZm9ybWF0KHJlc291cmNlKQorICAgIHsKKyAgICAg
ICAgcmV0dXJuIHJlc291cmNlLnR5cGUubmFtZSgpICsgIiAiICsgcmVzb3VyY2UudXJsOworICAg
IH0KKworICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJSZXNvdXJjZXM6Iik7CisgICAgSW5z
cGVjdG9yVGVzdC5kdW1wUmVzb3VyY2VzKGZvcm1hdCk7CisKKyAgICBJbnNwZWN0b3JUZXN0LmFk
ZFJlc3VsdCgiIik7CisgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIlJlc291cmNlcyBVUkwg
TWFwOiIpOworICAgIEluc3BlY3RvclRlc3QuZHVtcFJlc291cmNlc1VSTE1hcCgpOworCisgICAg
SW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIiIpOworICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0
KCJSZXNvdXJjZXMgVHJlZToiKTsKKyAgICBJbnNwZWN0b3JUZXN0LmR1bXBSZXNvdXJjZXNUcmVl
KCk7Cit9CisKK307CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUv
aHR0cC10ZXN0cy9yZXNvdXJjZS10cmVlL3Jlc291cmNlcy9kdW1teS1pZnJhbWUuaHRtbCBiL0xh
eW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3Jlc291cmNlLXRyZWUvcmVz
b3VyY2VzL2R1bW15LWlmcmFtZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjUzYTdmMjQyOTU0OTE0MmY3OGI3
Nzc3OTA0YjI2MTAyODU4ZDk3MTYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9yZXNvdXJjZS10cmVlL3Jlc291cmNlcy9kdW1teS1p
ZnJhbWUuaHRtbApAQCAtMCwwICsxLDYgQEAKKzxodG1sPgorPGhlYWQ+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1v
YnNvbGV0ZS9odHRwLXRlc3RzL3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL2R5bmFtaWMtc2NyaXB0
LmpzIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2Ut
dHJlZS9yZXNvdXJjZXMvZHluYW1pYy1zY3JpcHQuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjk0MDcyOWU5ZWI4
NDg2MmE4ZjFiNDkwYzg0NDMzNTJhODE1YWZiOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3Jlc291cmNlLXRyZWUvcmVzb3VyY2Vz
L2R5bmFtaWMtc2NyaXB0LmpzCkBAIC0wLDAgKzEsMiBAQAorZnVuY3Rpb24gZm9vKCkgeworfQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvcmVz
b3VyY2UtdHJlZS9yZXNvdXJjZXMvZW1wdHkucG5nIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9i
c29sZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZXMvZW1wdHkucG5nCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmZkNWI5MWVhMDdiOTQ3MzkxNzE0MDg1ZWE5Yzc2M2QzYTc4NjhkNjgKR0lUIGJpbmFy
eSBwYXRjaApsaXRlcmFsIDI2MAp6Y21lQVNATj8ob2xIeWB1VkJxIWlhMHZwXmozQ1NiQnA5c2ZX
YF9iUHJqajdQVjFAJjR6dz52MWN1QyZ3RSh7RS0KemRYPGZVSmtBMS0kWUxQdjBtZzE4dithUDRt
Si0qOWw5MUhtNShYUFo3a31yRiROKlBgakZRfE9JfnlwT253Vmx8CnpRPDdQZGxXT1BZPTs+cGw0
YEpLclhNa21yQD40NDlZem0tcTEkSCpZJHdpcTNDM1hkZ01YN2x1ZFVeUkpuUTRfOAp6Tn55VThD
NiMmd2RGZWA7SHVfS3tIdUAwRmBlMio3ZSNISSp4YClmdCNXOTVBZGE/ek9lVGQ9VWp8PXw3S28q
MGkKTHREbm17ci1VV3wlZjNxTgoKbGl0ZXJhbCAwCkhjbVY/ZDAwMDAxCgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2UtdHJlZS9y
ZXNvdXJjZXMvcmVzb3VyY2UtdHJlZS1mcmFtZS1hZGQtaWZyYW1lLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9yZXNvdXJjZS10cmVlL3Jlc291cmNlcy9y
ZXNvdXJjZS10cmVlLWZyYW1lLWFkZC1pZnJhbWUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wYzg4NGM4NDlm
NTlhNmZmOWU1MjE1YjBlNjY2OTczYWQ4NjYyY2IxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2UtdHJlZS9yZXNvdXJj
ZXMvcmVzb3VyY2UtdHJlZS1mcmFtZS1hZGQtaWZyYW1lLmh0bWwKQEAgLTAsMCArMSwxMCBAQAor
PGh0bWw+CisKKzxoZWFkPgorPHNjcmlwdCBzcmM9InNjcmlwdC1uYXZpZ2F0ZWQuanMiPjwvc2Ny
aXB0PgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJzdHlsZXMtbmF2aWdhdGVkLmNzcyI+
Cis8L2hlYWQ+CisKKzxib2R5PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2UtdHJlZS9yZXNvdXJj
ZXMvcmVzb3VyY2UtdHJlZS1mcmFtZS1uYXZpZ2F0ZS1pZnJhbWUtYWZ0ZXIuaHRtbCBiL0xheW91
dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3Jlc291cmNlLXRyZWUvcmVzb3Vy
Y2VzL3Jlc291cmNlLXRyZWUtZnJhbWUtbmF2aWdhdGUtaWZyYW1lLWFmdGVyLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMGM4ODRjODQ5ZjU5YTZmZjllNTIxNWIwZTY2Njk3M2FkODY2MmNiMQotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3Jlc291
cmNlLXRyZWUvcmVzb3VyY2VzL3Jlc291cmNlLXRyZWUtZnJhbWUtbmF2aWdhdGUtaWZyYW1lLWFm
dGVyLmh0bWwKQEAgLTAsMCArMSwxMCBAQAorPGh0bWw+CisKKzxoZWFkPgorPHNjcmlwdCBzcmM9
InNjcmlwdC1uYXZpZ2F0ZWQuanMiPjwvc2NyaXB0PgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBo
cmVmPSJzdHlsZXMtbmF2aWdhdGVkLmNzcyI+Cis8L2hlYWQ+CisKKzxib2R5PgorPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAt
dGVzdHMvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZXMvcmVzb3VyY2UtdHJlZS1mcmFtZS1uYXZpZ2F0
ZS1pZnJhbWUtYmVmb3JlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0
cC10ZXN0cy9yZXNvdXJjZS10cmVlL3Jlc291cmNlcy9yZXNvdXJjZS10cmVlLWZyYW1lLW5hdmln
YXRlLWlmcmFtZS1iZWZvcmUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iMTMxMWYyODZhODkyMmVkNmYyYmQ5
NzMyYjEwZjk2Y2U5OTg3OTBkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZXMvcmVzb3VyY2Ut
dHJlZS1mcmFtZS1uYXZpZ2F0ZS1pZnJhbWUtYmVmb3JlLmh0bWwKQEAgLTAsMCArMSwxMCBAQAor
PGh0bWw+CisKKzxoZWFkPgorPHNjcmlwdCBzcmM9InNjcmlwdC1pbml0aWFsLmpzIj48L3Njcmlw
dD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0ic3R5bGVzLWluaXRpYWwtMi5jc3MiPgor
PC9oZWFkPgorCis8Ym9keT4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3Jlc291cmNlLXRyZWUvcmVzb3VyY2Vz
L3Jlc291cmNlLXRyZWUtbm9uLXVuaXF1ZS11cmwtaWZyYW1lLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9yZXNvdXJjZS10cmVlL3Jlc291cmNlcy9yZXNv
dXJjZS10cmVlLW5vbi11bmlxdWUtdXJsLWlmcmFtZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRjYjUyNzY2
OWE5MzFlNmUxNzYxZmIzYzFhZDE1YmRjN2U1OTFkNGQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9yZXNvdXJjZS10cmVlL3Jlc291
cmNlcy9yZXNvdXJjZS10cmVlLW5vbi11bmlxdWUtdXJsLWlmcmFtZS5odG1sCkBAIC0wLDAgKzEs
OCBAQAorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0ic3R5bGVz
LW5vbi11bmlxdWUtdXJsLmNzcyI+Cis8L2hlYWQ+Cis8Ym9keT4KKzwvYm9keT4KKzwvaHRtbD4K
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMv
cmVzb3VyY2UtdHJlZS9yZXNvdXJjZXMvcmVzb3VyY2UtdHJlZS1yZWxvYWQtaWZyYW1lLmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9yZXNvdXJjZS10cmVl
L3Jlc291cmNlcy9yZXNvdXJjZS10cmVlLXJlbG9hZC1pZnJhbWUuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5i
MTMxMWYyODZhODkyMmVkNmYyYmQ5NzMyYjEwZjk2Y2U5OTg3OTBkCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2UtdHJl
ZS9yZXNvdXJjZXMvcmVzb3VyY2UtdHJlZS1yZWxvYWQtaWZyYW1lLmh0bWwKQEAgLTAsMCArMSwx
MCBAQAorPGh0bWw+CisKKzxoZWFkPgorPHNjcmlwdCBzcmM9InNjcmlwdC1pbml0aWFsLmpzIj48
L3NjcmlwdD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0ic3R5bGVzLWluaXRpYWwtMi5j
c3MiPgorPC9oZWFkPgorCis8Ym9keT4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3Jlc291cmNlLXRyZWUvcmVz
b3VyY2VzL3NjcmlwdC1pbml0aWFsLmpzIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRl
L2h0dHAtdGVzdHMvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZXMvc2NyaXB0LWluaXRpYWwuanMKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNjk0MDcyOWU5ZWI4NDg2MmE4ZjFiNDkwYzg0NDMzNTJhODE1YWZiOQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3Jl
c291cmNlLXRyZWUvcmVzb3VyY2VzL3NjcmlwdC1pbml0aWFsLmpzCkBAIC0wLDAgKzEsMiBAQAor
ZnVuY3Rpb24gZm9vKCkgeworfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9i
c29sZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZXMvc2NyaXB0LW5hdmlnYXRl
ZC5qcyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3Jlc291cmNl
LXRyZWUvcmVzb3VyY2VzL3NjcmlwdC1uYXZpZ2F0ZWQuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjk0MDcyOWU5
ZWI4NDg2MmE4ZjFiNDkwYzg0NDMzNTJhODE1YWZiOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3Jlc291cmNlLXRyZWUvcmVzb3Vy
Y2VzL3NjcmlwdC1uYXZpZ2F0ZWQuanMKQEAgLTAsMCArMSwyIEBACitmdW5jdGlvbiBmb28oKSB7
Cit9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0
cy9yZXNvdXJjZS10cmVlL3Jlc291cmNlcy9zdHlsZXMtaW5pdGlhbC0yLmNzcyBiL0xheW91dFRl
c3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3Jlc291cmNlLXRyZWUvcmVzb3VyY2Vz
L3N0eWxlcy1pbml0aWFsLTIuY3NzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY1YjY2Y2JhYmJhOWI5MjgzMzY2ODgz
YzY5YTI4MThlYjdjZDk4YzIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0
b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9yZXNvdXJjZS10cmVlL3Jlc291cmNlcy9zdHlsZXMtaW5p
dGlhbC0yLmNzcwpAQCAtMCwwICsxLDMgQEAKK2h0bWwgeworICAgIGJhY2tncm91bmQtY29sb3I6
IGdyZWVuOworfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0
dHAtdGVzdHMvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZXMvc3R5bGVzLWluaXRpYWwuY3NzIGIvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2UtdHJlZS9yZXNv
dXJjZXMvc3R5bGVzLWluaXRpYWwuY3NzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY1YjY2Y2JhYmJhOWI5MjgzMzY2
ODgzYzY5YTI4MThlYjdjZDk4YzIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9yZXNvdXJjZS10cmVlL3Jlc291cmNlcy9zdHlsZXMt
aW5pdGlhbC5jc3MKQEAgLTAsMCArMSwzIEBACitodG1sIHsKKyAgICBiYWNrZ3JvdW5kLWNvbG9y
OiBncmVlbjsKK30KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9o
dHRwLXRlc3RzL3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL3N0eWxlcy1uYXZpZ2F0ZWQuY3NzIGIv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2UtdHJlZS9y
ZXNvdXJjZXMvc3R5bGVzLW5hdmlnYXRlZC5jc3MKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjViNjZjYmFiYmE5Yjky
ODMzNjY4ODNjNjlhMjgxOGViN2NkOThjMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL3N0
eWxlcy1uYXZpZ2F0ZWQuY3NzCkBAIC0wLDAgKzEsMyBAQAoraHRtbCB7CisgICAgYmFja2dyb3Vu
ZC1jb2xvcjogZ3JlZW47Cit9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jz
b2xldGUvaHR0cC10ZXN0cy9yZXNvdXJjZS10cmVlL3Jlc291cmNlcy9zdHlsZXMtbm9uLXVuaXF1
ZS11cmwuY3NzIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvcmVz
b3VyY2UtdHJlZS9yZXNvdXJjZXMvc3R5bGVzLW5vbi11bmlxdWUtdXJsLmNzcwpuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mM2EyZWFkNGZkYzY3OTU1ZDIxODNkZmI0OTZiNDdiMzAwOGE3YzQyCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2Ut
dHJlZS9yZXNvdXJjZXMvc3R5bGVzLW5vbi11bmlxdWUtdXJsLmNzcwpAQCAtMCwwICsxLDQgQEAK
K2JvZHkgeworICAgIGJhY2tncm91bmQ6IHVybCgpOworfQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9yZXNvdXJjZS10cmVlL3Jlc291cmNl
cy9zdHlsZXNoZWV0LXRleHQtcGxhaW4ucGhwIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29s
ZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZXMvc3R5bGVzaGVldC10ZXh0LXBs
YWluLnBocApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mZWFlNzRlZDI2YTljZTgyMzE1N2M3ZmRlNTYyZTNhYzczMDUy
NmY1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0
dHAtdGVzdHMvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZXMvc3R5bGVzaGVldC10ZXh0LXBsYWluLnBo
cApAQCAtMCwwICsxLDYgQEAKKzw/cGhwCisgICAgaGVhZGVyKCJDb250ZW50LVR5cGU6IHRleHQv
cGxhaW4iKTsKKz8+Citib2R5IHsKKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjoKK30KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3Jlc291
cmNlcy10ZXN0LmpzIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMv
cmVzb3VyY2VzLXRlc3QuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzRmY2U3OTViNGVmNGM0NDc5ZTYxN2NhMGE1
MmFkNmMwZDE4MWIzZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1v
YnNvbGV0ZS9odHRwLXRlc3RzL3Jlc291cmNlcy10ZXN0LmpzCkBAIC0wLDAgKzEsOTkgQEAKK3Zh
ciBpbml0aWFsaXplX1Jlc291cmNlVGVzdCA9IGZ1bmN0aW9uKCkgeworCitJbnNwZWN0b3JUZXN0
LkhBUlByb3BlcnR5Rm9ybWF0dGVycyA9IHsKKyAgICBib2R5U2l6ZTogImZvcm1hdEFzVHlwZU5h
bWUiLAorICAgIGNvbXByZXNzaW9uOiAiZm9ybWF0QXNUeXBlTmFtZSIsCisgICAgaGVhZGVyczog
ImZvcm1hdEFzVHlwZU5hbWUiLAorICAgIGhlYWRlcnNTaXplOiAiZm9ybWF0QXNUeXBlTmFtZSIs
CisgICAgaWQ6ICJmb3JtYXRBc1R5cGVOYW1lIiwKKyAgICBvbkNvbnRlbnRMb2FkOiAiZm9ybWF0
QXNUeXBlTmFtZSIsCisgICAgb25Mb2FkOiAiZm9ybWF0QXNUeXBlTmFtZSIsCisgICAgcmVjZWl2
ZTogImZvcm1hdEFzVHlwZU5hbWUiLAorICAgIHN0YXJ0ZWREYXRlVGltZTogImZvcm1hdEFzUmVj
ZW50VGltZSIsCisgICAgdGltZTogImZvcm1hdEFzVHlwZU5hbWUiLAorICAgIHRpbWluZ3M6ICJm
b3JtYXRBc1R5cGVOYW1lIiwKKyAgICB2ZXJzaW9uOiAiZm9ybWF0QXNUeXBlTmFtZSIsCisgICAg
d2FpdDogImZvcm1hdEFzVHlwZU5hbWUiLAorfTsKKworLy8gYWRkT2JqZWN0IGNoZWNrcyBvd24g
cHJvcGVydGllcyBvbmx5LCBzbyBtYWtlIGEgZGVlcCBjb3B5IHJhdGhlciB0aGFuIHVzZSBwcm90
b3R5cGUuCisKK0luc3BlY3RvclRlc3QuSEFSUHJvcGVydHlGb3JtYXR0ZXJzV2l0aFNpemUgPSBK
U09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KEluc3BlY3RvclRlc3QuSEFSUHJvcGVydHlGb3JtYXR0
ZXJzKSk7CitJbnNwZWN0b3JUZXN0LkhBUlByb3BlcnR5Rm9ybWF0dGVyc1dpdGhTaXplLnNpemUg
PSAiZm9ybWF0QXNUeXBlTmFtZSI7CisKKworSW5zcGVjdG9yVGVzdC5yZXF1ZXN0VVJMQ29tcGFy
ZXIgPSBmdW5jdGlvbihyMSwgcjIpCit7CisgICAgcmV0dXJuIHIxLnJlcXVlc3QudXJsLmxvY2Fs
ZUNvbXBhcmUocjIucmVxdWVzdC51cmwpOworfQorCitJbnNwZWN0b3JUZXN0LnJ1bkFmdGVyQ2Fj
aGVkUmVzb3VyY2VzUHJvY2Vzc2VkID0gZnVuY3Rpb24oY2FsbGJhY2spCit7CisgICAgaWYgKCFX
ZWJJbnNwZWN0b3IucmVzb3VyY2VUcmVlTW9kZWwuX2NhY2hlZFJlc291cmNlc1Byb2Nlc3NlZCkK
KyAgICAgICAgV2ViSW5zcGVjdG9yLnJlc291cmNlVHJlZU1vZGVsLmFkZEV2ZW50TGlzdGVuZXIo
V2ViSW5zcGVjdG9yLlJlc291cmNlVHJlZU1vZGVsLkV2ZW50VHlwZXMuQ2FjaGVkUmVzb3VyY2Vz
TG9hZGVkLCBjYWxsYmFjayk7CisgICAgZWxzZQorICAgICAgICBjYWxsYmFjaygpOworfQorCitJ
bnNwZWN0b3JUZXN0LnJ1bkFmdGVyUmVzb3VyY2VzQXJlRmluaXNoZWQgPSBmdW5jdGlvbihyZXNv
dXJjZVVSTHMsIGNhbGxiYWNrKQoreworICAgIHZhciByZXNvdXJjZVVSTHNNYXAgPSByZXNvdXJj
ZVVSTHMua2V5U2V0KCk7CisKKyAgICBmdW5jdGlvbiBjaGVja1Jlc291cmNlcygpCisgICAgewor
ICAgICAgICBmb3IgKHVybCBpbiByZXNvdXJjZVVSTHNNYXApIHsKKyAgICAgICAgICAgIHZhciBy
ZXNvdXJjZSA9IEluc3BlY3RvclRlc3QucmVzb3VyY2VNYXRjaGluZ1VSTCh1cmwpOworICAgICAg
ICAgICAgaWYgKHJlc291cmNlKQorICAgICAgICAgICAgICAgIGRlbGV0ZSByZXNvdXJjZVVSTHNN
YXBbdXJsXTsKKyAgICAgICAgfQorICAgICAgICBpZiAoIU9iamVjdC5rZXlzKHJlc291cmNlVVJM
c01hcCkubGVuZ3RoKSB7CisgICAgICAgICAgICBXZWJJbnNwZWN0b3IucmVzb3VyY2VUcmVlTW9k
ZWwucmVtb3ZlRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuUmVzb3VyY2VUcmVlTW9kZWwuRXZl
bnRUeXBlcy5SZXNvdXJjZUFkZGVkLCBjaGVja1Jlc291cmNlcyk7CisgICAgICAgICAgICBjYWxs
YmFjaygpOworICAgICAgICB9CisgICAgfQorICAgIGNoZWNrUmVzb3VyY2VzKCk7CisgICAgaWYg
KE9iamVjdC5rZXlzKHJlc291cmNlVVJMc01hcCkubGVuZ3RoKQorICAgICAgICBXZWJJbnNwZWN0
b3IucmVzb3VyY2VUcmVlTW9kZWwuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuUmVzb3Vy
Y2VUcmVlTW9kZWwuRXZlbnRUeXBlcy5SZXNvdXJjZUFkZGVkLCBjaGVja1Jlc291cmNlcyk7Cit9
CisKK0luc3BlY3RvclRlc3Quc2hvd1Jlc291cmNlID0gZnVuY3Rpb24ocmVzb3VyY2VVUkwsIGNh
bGxiYWNrKQoreworICAgIHZhciByZXBvcnRlZCA9IGZhbHNlOworICAgIGZ1bmN0aW9uIGNhbGxi
YWNrV3JhcHBlcihzb3VyY2VGcmFtZSkKKyAgICB7CisgICAgICAgIGlmIChyZXBvcnRlZCkKKyAg
ICAgICAgICAgIHJldHVybjsKKyAgICAgICAgY2FsbGJhY2soc291cmNlRnJhbWUpOworICAgICAg
ICByZXBvcnRlZCA9IHRydWU7CisgICAgfQorCisgICAgZnVuY3Rpb24gc2hvd1Jlc291cmNlQ2Fs
bGJhY2soKQorICAgIHsKKyAgICAgICAgdmFyIHJlc291cmNlID0gSW5zcGVjdG9yVGVzdC5yZXNv
dXJjZU1hdGNoaW5nVVJMKHJlc291cmNlVVJMKTsKKyAgICAgICAgaWYgKCFyZXNvdXJjZSkKKyAg
ICAgICAgICAgIHJldHVybjsKKyAgICAgICAgV2ViSW5zcGVjdG9yLnBhbmVscy5yZXNvdXJjZXMu
c2hvd1Jlc291cmNlKHJlc291cmNlLCAxKTsKKyAgICAgICAgdmFyIHNvdXJjZUZyYW1lID0gV2Vi
SW5zcGVjdG9yLnBhbmVscy5yZXNvdXJjZXMuX3Jlc291cmNlVmlld0ZvclJlc291cmNlKHJlc291
cmNlKTsKKyAgICAgICAgaWYgKHNvdXJjZUZyYW1lLmxvYWRlZCkKKyAgICAgICAgICAgIGNhbGxi
YWNrV3JhcHBlcihzb3VyY2VGcmFtZSk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIEluc3Bl
Y3RvclRlc3QuYWRkU25pZmZlcihzb3VyY2VGcmFtZSwgIm9uVGV4dEVkaXRvckNvbnRlbnRMb2Fk
ZWQiLCBjYWxsYmFja1dyYXBwZXIuYmluZChudWxsLCBzb3VyY2VGcmFtZSkpOworICAgIH0KKyAg
ICBJbnNwZWN0b3JUZXN0LnJ1bkFmdGVyUmVzb3VyY2VzQXJlRmluaXNoZWQoW3Jlc291cmNlVVJM
XSwgc2hvd1Jlc291cmNlQ2FsbGJhY2spOworfQorCitJbnNwZWN0b3JUZXN0LnJlc291cmNlTWF0
Y2hpbmdVUkwgPSBmdW5jdGlvbihyZXNvdXJjZVVSTCkKK3sKKyAgICB2YXIgcmVzdWx0ID0gbnVs
bDsKKyAgICBXZWJJbnNwZWN0b3IucmVzb3VyY2VUcmVlTW9kZWwuZm9yQWxsUmVzb3VyY2VzKHZp
c2l0KTsKKyAgICBmdW5jdGlvbiB2aXNpdChyZXNvdXJjZSkKKyAgICB7CisgICAgICAgIGlmIChy
ZXNvdXJjZS51cmwuaW5kZXhPZihyZXNvdXJjZVVSTCkgIT09IC0xKSB7CisgICAgICAgICAgICBy
ZXN1bHQgPSByZXNvdXJjZTsKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICB9Cisg
ICAgfQorICAgIHJldHVybiByZXN1bHQ7Cit9CisKK30KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3Jlc291cmNlcy9jb21waWxlZC5qcyBiL0xh
eW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3Jlc291cmNlcy9jb21waWxl
ZC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xZmJiZGI5MThhZDA0ZDk3YTU3NWFjZDE3ZWQ2MWQ5MzFlZjY1MmY3
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAt
dGVzdHMvcmVzb3VyY2VzL2NvbXBpbGVkLmpzCkBAIC0wLDAgKzEsMyBAQAord2luZG93LmFkZEV2
ZW50TGlzdGVuZXIoImxvYWQiLGZ1bmN0aW9uKCl7dmFyIGE9ZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgiYnV0dG9uIik7YS5pZD0idGVzdCI7YS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsaGFuZGxl
Q2xpY2ssITApO2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoYSk7YT1kb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJkaXYiKTthLmlkPSJiYXJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJy
cnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJy
cnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJy
cnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJy
cnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJy
cnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJy
cnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJy
cnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJy
cnJycnJycnJycnJycnIiOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChhKX0pO2Z1bmN0aW9u
IGhhbmRsZUNsaWNrKGEpeyhuZXcgQ2xpY2tIYW5kbGVyKS5oYW5kbGUoYSl9O2Z1bmN0aW9uIENs
aWNrSGFuZGxlcigpe31DbGlja0hhbmRsZXIucHJvdG90eXBlLmhhbmRsZT1mdW5jdGlvbigpe2Nv
bnNvbGUubG9nKCJidXR0b24gY2xpY2tlZCEiKX07CisvL0Agc291cmNlTWFwcGluZ1VSTD1zb3Vy
Y2UtbWFwLmpzb24gIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRl
L2h0dHAtdGVzdHMvcmVzb3VyY2VzL2NvbnNvbGUtY2QtY29tcGxldGlvbnMtaWZyYW1lLmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9yZXNvdXJjZXMvY29u
c29sZS1jZC1jb21wbGV0aW9ucy1pZnJhbWUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lMjNmMzQwYjMzMzkx
NjdiYzI0YjI5Y2QzOTAxNWJhZDc0ZjQ1MTgzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2VzL2NvbnNvbGUtY2QtY29t
cGxldGlvbnMtaWZyYW1lLmh0bWwKQEAgLTAsMCArMSw0IEBACis8c2NyaXB0PgordmFyIG15R2xv
YmFsVmFyID0gMjAxMTsKK2Z1bmN0aW9uIG15R2xvYmFsRnVuY3Rpb24oKSB7IH0KKzwvc2NyaXB0
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMv
cmVzb3VyY2VzL2NvbnNvbGUtY2QtaWZyYW1lLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3It
b2Jzb2xldGUvaHR0cC10ZXN0cy9yZXNvdXJjZXMvY29uc29sZS1jZC1pZnJhbWUuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xZWMxYmMzMDQ3M2E5NzFmMTgzNWM4NDc0MGViODdkN2E0YTMzNzk4Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvcmVz
b3VyY2VzL2NvbnNvbGUtY2QtaWZyYW1lLmh0bWwKQEAgLTAsMCArMSwzIEBACis8c2NyaXB0Pgor
dmFyIGZvbyA9IDIwMTE7Cis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3Jlc291cmNlcy9jb25zb2xlLWNsZWFyLWFyZ3VtZW50
cy1pZnJhbWUuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3Rz
L3Jlc291cmNlcy9jb25zb2xlLWNsZWFyLWFyZ3VtZW50cy1pZnJhbWUuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4zMWQwYTc5YTE0OWEwM2RhY2U2NDExNTJlMDIyYjU3ZTI5ZDU5NGJiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2Vz
L2NvbnNvbGUtY2xlYXItYXJndW1lbnRzLWlmcmFtZS5odG1sCkBAIC0wLDAgKzEsNSBAQAorPHNj
cmlwdD4KK2NvbnNvbGUubG9nKCJBIG1lc3NhZ2Ugd2l0aCBmaXJzdCBhcmd1bWVudCBzdHJpbmci
LCAiU2Vjb25kIGFyZ3VtZW50IHdoaWNoIHNob3VsZCBiZSBkaXNjYXJkZWQgb24gaWZyYW1lIHJl
bW92YWwiKTsKK2NvbnNvbGUubG9nKDIwMTEsICJBIG1lc3NhZ2Ugd2l0aCBmaXJzdCBhcmd1bWVu
dCBpbnRlZ2VyIik7Citjb25zb2xlLmxvZyh3aW5kb3csICJBIG1lc3NhZ2Ugd2l0aCBmaXJzdCBh
cmd1bWVudCB3aW5kb3ciKTsKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2VzL2NvbnNvbGUtY2xlYXItYXJndW1l
bnRzLXRlc3QuanMgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9y
ZXNvdXJjZXMvY29uc29sZS1jbGVhci1hcmd1bWVudHMtdGVzdC5qcwpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mZmM2
Y2QzYjNhMjYwOTk0ZGZiZjg2NTVmM2JkNWU5OWIxMTViNjM4Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2VzL2NvbnNv
bGUtY2xlYXItYXJndW1lbnRzLXRlc3QuanMKQEAgLTAsMCArMSwyNCBAQAorZnVuY3Rpb24gcHJp
bnQodGV4dCkKK3sKKyAgICB2YXIgb3V0cHV0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm91
dHB1dCIpOworICAgIHZhciBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKKyAg
ICBkaXYudGV4dENvbnRlbnQgPSB0ZXh0OworICAgIG91dHB1dC5hcHBlbmRDaGlsZChkaXYpOwor
fQorCitmdW5jdGlvbiBkdW1wQ29uc29sZU1lc3NhZ2VBcmd1bWVudENvdW50cygpCit7CisgICAg
dmFyIGNvbnNvbGVNZXNzYWdlQXJndW1lbnRDb3VudHMgPSB3aW5kb3cuaW50ZXJuYWxzLmNvbnNv
bGVNZXNzYWdlQXJndW1lbnRDb3VudHMoKTsKKyAgICBpZiAoY29uc29sZU1lc3NhZ2VBcmd1bWVu
dENvdW50cy5sZW5ndGggPT09IDMpCisgICAgICAgIHByaW50KCJQQVNTRUQ6IGZvdW5kIGFyZ3Vt
ZW50IGNvdW50cyBmb3IgMyBtZXNzYWdlcyIpOworICAgIGVsc2UKKyAgICAgICAgcHJpbnQoIkZB
SUxFRDogdW5leHBlY3RlZCBudW1iZXIgb2YgbWVzc2FnZXM6ICIgKyBjb25zb2xlTWVzc2FnZUFy
Z3VtZW50Q291bnRzLmxlbmd0aCk7CisKKyAgICBmb3IgKHZhciBpID0gMDsgaSA8IGNvbnNvbGVN
ZXNzYWdlQXJndW1lbnRDb3VudHMubGVuZ3RoOyBpKyspIHsKKyAgICAgICAgdmFyIGNvdW50ID0g
Y29uc29sZU1lc3NhZ2VBcmd1bWVudENvdW50c1tpXTsKKyAgICAgICAgaWYgKGNvdW50ID09IDAp
CisgICAgICAgICAgICBwcmludCgiUEFTU0VEOiBtZXNzYWdlICMiICsgaSArICIgaGFzIG5vIGFy
Z3VtZW50cy4iKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgcHJpbnQoIkZBSUxFRDogbWVz
c2FnZSAjIiArIGkgKyAiIGhhcyAiICsgY291bnQgKyAiIGFyZ3VtZW50cy4iKTsKKyAgICB9Cit9
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9y
ZXNvdXJjZXMvY29uc29sZS1sb2ctZnJhbWUtYWZ0ZXItbmF2aWdhdGlvbi5odG1sIGIvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2VzL2NvbnNvbGUtbG9n
LWZyYW1lLWFmdGVyLW5hdmlnYXRpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wYzdjMWNkOTA3ZThhMjYz
NDllMjg3YzQwMmQ1NzQ1ZDc4YTMxOTZmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2VzL2NvbnNvbGUtbG9nLWZyYW1l
LWFmdGVyLW5hdmlnYXRpb24uaHRtbApAQCAtMCwwICsxLDEyIEBACis8aHRtbD4KKzxoZWFkPgor
PHNjcmlwdD4KK2Z1bmN0aW9uIGhhbmRsZUxvYWQoKSB7CisgICAgd2luZG93LnBhcmVudC5wb3N0
TWVzc2FnZSgiZnJhbWVSZWxvYWRlZCIsICIqIik7Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5IG9ubG9hZD0iaGFuZGxlTG9hZCgpIj4KK05ldyBJbm5lciBDb250ZW50LgorPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAt
dGVzdHMvcmVzb3VyY2VzL2NvbnNvbGUtbG9nLWZyYW1lLWJlZm9yZS1uYXZpZ2F0aW9uLmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9yZXNvdXJjZXMvY29u
c29sZS1sb2ctZnJhbWUtYmVmb3JlLW5hdmlnYXRpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42ZTdmZjgx
MTBmOWU5ODcxNzQwMjRmNzQ2ZmU4NjViZWUwOTRkN2MxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2VzL2NvbnNvbGUt
bG9nLWZyYW1lLWJlZm9yZS1uYXZpZ2F0aW9uLmh0bWwKQEAgLTAsMCArMSwxNyBAQAorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQ+CitmdW5jdGlvbiBoYW5kbGVMb2FkKCkgeworICBjb25zb2xlLmxv
ZygiQ29uc29sZSBtZXNzYWdlIChDKSAlZCB3aXRoIGVsZW1lbnQiLCAyMDEwLCBkb2N1bWVudC5k
b2N1bWVudEVsZW1lbnQpOworCisgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CisgICAgLy8gTm90
ZSB0aGF0IGxvY2FsaG9zdCBpcyBkaWZmZXJlbnQgZnJvbSB0aGUgMTI3LjAuMC4xIHRoYXQgdGVz
dHMgYXJlIHJ1bm51bmcgYWdhaW5zdC4gU28gdGhpcyBuYXZpZ2F0aW9uCisgICAgLy8gaXMgaW4g
ZmFjdCBjcm9zcy1kb21haW4uCisgICAgZG9jdW1lbnQubG9jYXRpb24gPSAiaHR0cDovL2xvY2Fs
aG9zdDo4MDAwL2luc3BlY3Rvci1lbmFibGVkL3Jlc291cmNlcy9jb25zb2xlLWxvZy1mcmFtZS1h
ZnRlci1uYXZpZ2F0aW9uLmh0bWwiOworICB9LCAwKTsKK30KKzwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHkgb25sb2FkPSJoYW5kbGVMb2FkKCkiPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2VzL2Nv
bnNvbGUtcmVzb3VyY2UtZXJyb3JzLWlmcmFtZS5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
LW9ic29sZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2VzL2NvbnNvbGUtcmVzb3VyY2UtZXJyb3JzLWlm
cmFtZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ3MzE3MmJiYzk2MzUxMzJmMjFlNzg2NTRhMGMwNTJjN2Zk
MmRkYmMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUv
aHR0cC10ZXN0cy9yZXNvdXJjZXMvY29uc29sZS1yZXNvdXJjZS1lcnJvcnMtaWZyYW1lLmh0bWwK
QEAgLTAsMCArMSwxMCBAQAorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIg
dHlwZT0idGV4dC9jc3MiIGhyZWY9Ii4uL21pc3NpbmcuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi9u
b24tZXhpc3RlbnQtc2NyaXB0LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKworPGJvZHk+Cis8aWZy
YW1lIHNyYz0iLi4vbm9uLWV4aXN0ZW50LWlmcmFtZS5odG1sIj48L2lmcmFtZT4KKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRw
LXRlc3RzL3Jlc291cmNlcy9jb3JzLXRhcmdldC5waHAgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3It
b2Jzb2xldGUvaHR0cC10ZXN0cy9yZXNvdXJjZXMvY29ycy10YXJnZXQucGhwCm5ldyBmaWxlIG1v
ZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmQ3ODRiYWZmNWRhMWE2MWVmMjI1NTJkMWQ5MDVhMjAyNjcxZWU3NjYKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9yZXNvdXJjZXMv
Y29ycy10YXJnZXQucGhwCkBAIC0wLDAgKzEsMTAgQEAKKzw/cGhwCisgICAgcGFyc2Vfc3RyKCRf
U0VSVkVSWydRVUVSWV9TVFJJTkcnXSwgJHF1ZXJ5UGFyYW1zKTsKKyAgICBpZiAoJHF1ZXJ5UGFy
YW1zWyJkZW55Il0gIT0gInllcyIpIHsKKyAgICAgICAgaGVhZGVyKCJBY2Nlc3MtY29udHJvbC1h
bGxvdy1vcmlnaW46IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMCIpOworICAgICAgICBoZWFkZXIoIkFj
Y2Vzcy1jb250cm9sLWFsbG93LWhlYWRlcnM6IENvbnRlbnQtVHlwZSIpOworICAgIH0KKyAgICBo
ZWFkZXIoIkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbiIpOworCisgICAgcHJpbnQgImJvZHkiCis/
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMv
cmVzb3VyY2VzL2Nyb3NzLW9yaWdpbi1pZnJhbWUuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rv
ci1vYnNvbGV0ZS9odHRwLXRlc3RzL3Jlc291cmNlcy9jcm9zcy1vcmlnaW4taWZyYW1lLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZDUwYjk2YWY0Zjc0OWUwYmRmZmU5YzMzNGU4NmI2Y2Y5NGEwMzM2ZQotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3Rz
L3Jlc291cmNlcy9jcm9zcy1vcmlnaW4taWZyYW1lLmh0bWwKQEAgLTAsMCArMSw3IEBACis8aHRt
bD4KKzxoZWFkPgorPC9oZWFkPgorPGJvZHk+CisgIDxwPkNyb3NzIG9yaWdpbiBmcmFtZS48cD4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNv
bGV0ZS9odHRwLXRlc3RzL3Jlc291cmNlcy9kZWRpY2F0ZWQtd29ya2VyLmpzIGIvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2VzL2RlZGljYXRlZC13b3Jr
ZXIuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODYxNzQ5NjE0M2MxOWNjZDJmMWNmOWRlZjUwMWZhN2I2Njc4YTZl
OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRw
LXRlc3RzL3Jlc291cmNlcy9kZWRpY2F0ZWQtd29ya2VyLmpzCkBAIC0wLDAgKzEsNyBAQAordmFy
IHdvcmtlcklkID0gbG9jYXRpb24uc2VhcmNoLnN1YnN0cmluZyg0KTsKK3Bvc3RNZXNzYWdlKCJX
b3JrZXIgIiArIHdvcmtlcklkICsgIiBzdGFydGVkLiIpOworZG9Xb3JrKCk7CitzZXRJbnRlcnZh
bChkb1dvcmssIDEwMDApOworZnVuY3Rpb24gZG9Xb3JrKCkgeworfQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9yZXNvdXJjZXMvZHluYW1p
Yy1zY3JpcHQuanMgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9y
ZXNvdXJjZXMvZHluYW1pYy1zY3JpcHQuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmI5ZmI4MTk1YTAxYjVjMTBl
OGZlMzRmZmFlYTkxMzM4NmJlMTA4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lu
c3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3Jlc291cmNlcy9keW5hbWljLXNjcmlwdC5qcwpA
QCAtMCwwICsxLDUgQEAKK2Z1bmN0aW9uIGZvb0R5bmFtaWNTY3JpcHQoKQoreworfQorCitzY3Jp
cHRMb2FkZWQoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9o
dHRwLXRlc3RzL3Jlc291cmNlcy9lY2hvLWhlYWRlcnMucGhwIGIvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2VzL2VjaG8taGVhZGVycy5waHAKbmV3IGZp
bGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uYWU2OTU5N2E5Yjk1YzYwMjEyYzYxNTc5ZDg4MmQwZmQ0ZGY3MGM1OAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3Jlc291
cmNlcy9lY2hvLWhlYWRlcnMucGhwCkBAIC0wLDAgKzEsOSBAQAorPD9waHAKKworJGhlYWRlcnMg
PSBBcnJheSgnSFRUUF9YX1dFQklOU1BFQ1RPUl9FWFRFTlNJT04nLCAnSFRUUF9VU0VSX0FHRU5U
Jyk7CisKK2ZvcmVhY2ggKCRoZWFkZXJzIGFzICRoZWFkZXIpIHsKKyAgICBlY2hvICRoZWFkZXIg
LiAiOiAiIC4gJF9TRVJWRVJbJGhlYWRlcl0gLiAiXG4iOworfQorCis/PgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2VzL2VtcHR5
LnppcCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3Jlc291cmNl
cy9lbXB0eS56aXAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTVjYjBlY2IzZTIxOWQxNzAxMjk0YmZkZjBmZTNmNWNi
NWQyMDhlNwpHSVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwgMjIKTmNtV0lXV0BUZiowMDBnMTBIKil8
CgpsaXRlcmFsIDAKSGNtVj9kMDAwMDEKCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0
b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZS5jc3MubWFwIGIvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGUuY3Nz
Lm1hcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi40YzMzZDk0Y2IyYTAyMzlmMTVhNTI5MzBhNTJiZTU4MTQyMTFlZGEz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAt
dGVzdHMvcmVzb3VyY2VzL2V4YW1wbGUuY3NzLm1hcApAQCAtMCwwICsxLDYgQEAKK3sKKyJ2ZXJz
aW9uIjogIjMiLAorIm1hcHBpbmdzIjogIjtBQUNBLENBQUU7RUFDQSxHQUFHLEVBQUUsR0FBRzs7
RUFFUixTQUFTLEVBQUUsSUFBSSIsCisic291cmNlcyI6IFsiZXhhbXBsZS5zY3NzIl0sCisiZmls
ZSI6ICJleGFtcGxlLmNzcyIKK30KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1v
YnNvbGV0ZS9odHRwLXRlc3RzL3Jlc291cmNlcy9leGFtcGxlLnNjc3MgYi9MYXlvdXRUZXN0cy9p
bnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZS5zY3NzCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjkwNjdjNWIzMmU5NzZlMjM1YjkxNzg1YTMwZmU2ZGQ5ZjZhNjE4Y2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9yZXNv
dXJjZXMvZXhhbXBsZS5zY3NzCkBAIC0wLDAgKzEsNyBAQAorLyogQ29tbWVudCAqLworYSB7Cisg
IGZvbzogYmFyOworLyogU09NRSBDT01NRU5UICovCisgIGZvbnQtc2l6ZTogMTJweDsKK30KKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvcmVz
b3VyY2VzL2V4dGVuc2lvbi1tYWluLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xl
dGUvaHR0cC10ZXN0cy9yZXNvdXJjZXMvZXh0ZW5zaW9uLW1haW4uaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40
Yzk4NjIxNzY2NTllMGVkNDllNTcyOTUxYzVmMjBjMWE5YTA3ZDc3Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2VzL2V4
dGVuc2lvbi1tYWluLmh0bWwKQEAgLTAsMCArMSw5IEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlw
dCBzcmM9ImV4dGVuc2lvbi1tYWluLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9q
YXZhc2NyaXB0Ij4KK291dHB1dCgiU3RhcnRlZCBleHRlbnNpb24uIik7CitmZXRjaFRlc3RzKCk7
Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lu
c3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3Jlc291cmNlcy9leHRlbnNpb24tbWFpbi5qcyBi
L0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3Jlc291cmNlcy9leHRl
bnNpb24tbWFpbi5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xM2U3MmQ5YjVjY2ZiZDI3MTYyMzgzNTlkY2U1ZGU3
M2U1N2I1YmViCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29s
ZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2VzL2V4dGVuc2lvbi1tYWluLmpzCkBAIC0wLDAgKzEsMTIw
IEBACitmdW5jdGlvbiB0cmltVVJMKHVybCkKK3sKKyAgICBpZiAoIXVybCkKKyAgICAgICAgcmV0
dXJuOworICAgIGlmICgvXmRhdGE6Ly50ZXN0KHVybCkpCisgICAgICAgIHJldHVybiB1cmwucmVw
bGFjZSgvLC4qJC8sICIuLi4iKTsKKyAgICByZXR1cm4gdXJsLnJlcGxhY2UoLy4qXC8vLCAiLi4u
LyIpOworfQorCitmdW5jdGlvbiBkdW1wT2JqZWN0KG9iamVjdCwgbm9uZGV0ZXJtaW5pc3RpY1By
b3BzLCBwcmVmaXgsIGZpcnN0TGluZVByZWZpeCkKK3sKKyAgICBwcmVmaXggPSBwcmVmaXggfHwg
IiI7CisgICAgZmlyc3RMaW5lUHJlZml4ID0gZmlyc3RMaW5lUHJlZml4IHx8IHByZWZpeDsKKyAg
ICBvdXRwdXQoZmlyc3RMaW5lUHJlZml4ICsgInsiKTsKKyAgICB2YXIgcHJvcGVydHlOYW1lcyA9
IE9iamVjdC5rZXlzKG9iamVjdCk7CisgICAgcHJvcGVydHlOYW1lcy5zb3J0KCk7CisgICAgCisg
ICAgZm9yICh2YXIgaSA9IDA7IGkgPCBwcm9wZXJ0eU5hbWVzLmxlbmd0aDsgKytpKSB7CisgICAg
ICAgIHZhciBwcm9wID0gcHJvcGVydHlOYW1lc1tpXTsKKyAgICAgICAgdmFyIHByZWZpeFdpdGhO
YW1lID0gcHJlZml4ICsgIiAgICAiICsgcHJvcCArICIgOiAiOworICAgICAgICB2YXIgcHJvcFZh
bHVlID0gb2JqZWN0W3Byb3BdOworICAgICAgICBpZiAobm9uZGV0ZXJtaW5pc3RpY1Byb3BzICYm
IHByb3AgaW4gbm9uZGV0ZXJtaW5pc3RpY1Byb3BzKSB7CisgICAgICAgICAgICB2YXIgdmFsdWUg
PSBub25kZXRlcm1pbmlzdGljUHJvcHNbcHJvcF0gPT09ICJ1cmwiID8gdHJpbVVSTChwcm9wVmFs
dWUpIDogIjwiICsgdHlwZW9mIHByb3BWYWx1ZSArICI+IjsKKyAgICAgICAgICAgIG91dHB1dChw
cmVmaXhXaXRoTmFtZSArIHZhbHVlKTsKKyAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgcHJvcFZh
bHVlID09PSAib2JqZWN0IiAmJiBwcm9wVmFsdWUgIT0gbnVsbCkKKyAgICAgICAgICAgIGR1bXBP
YmplY3QocHJvcFZhbHVlLCBub25kZXRlcm1pbmlzdGljUHJvcHMsIHByZWZpeCArICIgICAgIiwg
cHJlZml4V2l0aE5hbWUpOworICAgICAgICBlbHNlIGlmICh0eXBlb2YgcHJvcFZhbHVlID09PSAi
c3RyaW5nIikKKyAgICAgICAgICAgIG91dHB1dChwcmVmaXhXaXRoTmFtZSArICJcIiIgKyBwcm9w
VmFsdWUgKyAiXCIiKTsKKyAgICAgICAgZWxzZSBpZiAodHlwZW9mIHByb3BWYWx1ZSA9PT0gImZ1
bmN0aW9uIikKKyAgICAgICAgICAgIG91dHB1dChwcmVmaXhXaXRoTmFtZSArICI8ZnVuY3Rpb24+
Iik7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIG91dHB1dChwcmVmaXhXaXRoTmFtZSArIHBy
b3BWYWx1ZSk7CisgICAgfQorICAgIG91dHB1dChwcmVmaXggKyAifSIpOworfQorCitmdW5jdGlv
biBkdW1wQXJyYXkocmVzdWx0KQoreworICAgIGlmIChyZXN1bHQgaW5zdGFuY2VvZiBBcnJheSkg
eworICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHJlc3VsdC5sZW5ndGg7ICsraSkKKyAgICAg
ICAgICAgIG91dHB1dChyZXN1bHRbaV0pOworICAgIH0gZWxzZQorICAgICAgICBvdXRwdXQocmVz
dWx0KTsKK30KKworZnVuY3Rpb24gZXZhbHVhdGVPbkZyb250ZW5kKGV4cHJlc3Npb24sIGNhbGxi
YWNrKQoreworICAgIHdpbmRvdy5fZXh0ZW5zaW9uU2VydmVyRm9yVGVzdHMuc2VuZFJlcXVlc3Qo
eyBjb21tYW5kOiAiZXZhbHVhdGVGb3JUZXN0SW5Gcm9udEVuZCIsIGV4cHJlc3Npb246IGV4cHJl
c3Npb24gfSwgY2FsbGJhY2spOworfQorCitmdW5jdGlvbiBvdXRwdXQobWVzc2FnZSkKK3sKKyAg
ICBldmFsdWF0ZU9uRnJvbnRlbmQoIkluc3BlY3RvclRlc3QuYWRkUmVzdWx0KHVuZXNjYXBlKCci
ICsgZXNjYXBlKG1lc3NhZ2UpICsgIicpKTsiKTsKK30KKworZnVuY3Rpb24gb25FcnJvcihldmVu
dCkKK3sKKyAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZXJyb3IiLCBvbkVycm9yKTsK
KyAgICBvdXRwdXQoIlVuY2F1Z2h0IGV4Y2VwdGlvbiBpbiBleHRlbnNpb24gY29udGV4dDogIiAr
IGV2ZW50Lm1lc3NhZ2UgKyAiIFsiICsgZXZlbnQuZmlsZW5hbWUgKyAiOiIgKyBldmVudC5saW5l
bm8gKyAiXSIpOworICAgIGV2YWx1YXRlT25Gcm9udGVuZCgiSW5zcGVjdG9yVGVzdC5jb21wbGV0
ZVRlc3QoKTsiKTsKK30KKword2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImVycm9yIiwgb25FcnJv
cik7CisKK2Z1bmN0aW9uIGZldGNoVGVzdHMoKQoreworICAgIGZ1bmN0aW9uIGNhbGxiYWNrKHJl
c3VsdCkKKyAgICB7CisgICAgICAgICB3aW5kb3cuZXZhbChyZXN1bHQpOworICAgICAgICAgcnVu
VGVzdHMoKTsKKyAgICB9CisgICAgd2ViSW5zcGVjdG9yLmluc3BlY3RlZFdpbmRvdy5ldmFsKCJl
eHRlbnNpb25GdW5jdGlvbnMoKSIsIGNhbGxiYWNrKTsKK30KKworZnVuY3Rpb24gcnVuVGVzdHMo
KQoreworICAgIG91dHB1dCgiUnVubmluZyB0ZXN0cy4uLiIpOworICAgIHZhciB0ZXN0cyA9IFtd
OworICAgIGZvciAodmFyIHN5bWJvbCBpbiB0aGlzKSB7CisgICAgICAgIGlmICgvXmV4dGVuc2lv
bl90ZXN0Ly50ZXN0KHN5bWJvbCkgJiYgdHlwZW9mIHRoaXNbc3ltYm9sXSA9PT0gImZ1bmN0aW9u
IikKKyAgICAgICAgICAgIHRlc3RzLnB1c2goc3ltYm9sKTsKKyAgICB9CisgICAgdGVzdHMgPSB0
ZXN0cy5zb3J0KCk7CisgICAgdmFyIHRlc3RDaGFpbiA9IG9uVGVzdHNEb25lOworICAgIGZvciAo
dmFyIHRlc3QgPSB0ZXN0cy5wb3AoKTsgdGVzdDsgdGVzdCA9IHRlc3RzLnBvcCgpKQorICAgICAg
ICB0ZXN0Q2hhaW4gPSBiaW5kKHJ1blRlc3QsIHRoaXMsIGJpbmQodGhpc1t0ZXN0XSwgdGhpcywg
dGVzdENoYWluKSwgdGVzdCk7CisgICAgdGVzdENoYWluKCk7Cit9CisKK2Z1bmN0aW9uIG9uVGVz
dHNEb25lKCkKK3sKKyAgICBvdXRwdXQoIkFsbCB0ZXN0cyBkb25lLiIpOworICAgIGV2YWx1YXRl
T25Gcm9udGVuZCgiSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsiKTsKK30KKworZnVuY3Rp
b24gcnVuVGVzdCh0ZXN0LCBuYW1lKQoreworICAgIG91dHB1dCgiUlVOTklORyBURVNUOiAiICsg
bmFtZSk7CisgICAgdHJ5IHsKKyAgICAgICAgdGVzdCgpOworICAgIH0gY2F0Y2ggKGUpIHsKKyAg
ICAgICAgb3V0cHV0KG5hbWUgKyAiOiAiICsgZSk7CisgICAgfQorfQorCitmdW5jdGlvbiBjYWxs
YmFja0FuZE5leHRUZXN0KGNhbGxiYWNrLCBuZXh0VGVzdCkKK3sKKyAgICBmdW5jdGlvbiBjYWxs
YmFja1dyYXBwZXIoKQorICAgIHsKKyAgICAgICAgY2FsbGJhY2suYXBwbHkodGhpcywgYXJndW1l
bnRzKTsKKyAgICAgICAgbmV4dFRlc3QuY2FsbCh0aGlzKTsKKyAgICB9CisgICAgcmV0dXJuIGNh
bGxiYWNrV3JhcHBlcjsKK30KKworZnVuY3Rpb24gYmluZChmdW5jLCB0aGlzT2JqZWN0KQorewor
ICAgIHZhciBhcmdzID0gQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLCAyKTsK
KyAgICByZXR1cm4gZnVuY3Rpb24oKSB7IHJldHVybiBmdW5jLmFwcGx5KHRoaXNPYmplY3QsIGFy
Z3MuY29uY2F0KEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywgMCkpKTsgfTsK
K30KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3Rz
L3Jlc291cmNlcy9leHRlbnNpb24tcGFuZWwuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1v
YnNvbGV0ZS9odHRwLXRlc3RzL3Jlc291cmNlcy9leHRlbnNpb24tcGFuZWwuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5kMTk0ZWExNjc3NDNlMzg2MGQzOWRlNjdjMjE2MDcxN2Y1NWI2NjQwCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvcmVzb3Vy
Y2VzL2V4dGVuc2lvbi1wYW5lbC5odG1sCkBAIC0wLDAgKzEsNyBAQAorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSJleHRlbnNpb24tbWFpbi5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1v
YnNvbGV0ZS9odHRwLXRlc3RzL3Jlc291cmNlcy9leHRlbnNpb24tc2lkZWJhci5odG1sIGIvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2VzL2V4dGVuc2lv
bi1zaWRlYmFyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTA1MzFhNGIzZWQxOGIyMGM5ZDViOTUyYjYxY2Ji
OTM1ZTBlNTBhMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNv
bGV0ZS9odHRwLXRlc3RzL3Jlc291cmNlcy9leHRlbnNpb24tc2lkZWJhci5odG1sCkBAIC0wLDAg
KzEsMiBAQAorPGh0bWw+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0
b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9yZXNvdXJjZXMvZXh0ZW5zaW9ucy1mcmFtZS1ldmFsLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9yZXNvdXJjZXMv
ZXh0ZW5zaW9ucy1mcmFtZS1ldmFsLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTAzMjcxYzE3ZGJmY2JlNzlh
MzM2OWZiNTc3YmI0YzU0NjYwYjMxZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lu
c3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3Jlc291cmNlcy9leHRlbnNpb25zLWZyYW1lLWV2
YWwuaHRtbApAQCAtMCwwICsxLDYgQEAKKzxodG1sPgorPHNjcmlwdD4KKy8vIFNvbWUgSlMgdG8g
Y3JlYXRlIGEgY29udGV4dAord2luZG93LmlBbUFuSUZyYW1lID0gdHJ1ZTsKKzwvc2NyaXB0Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3Jlc291cmNlcy9oYXItcGFnZXMtaWZy
YW1lLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9yZXNv
dXJjZXMvaGFyLXBhZ2VzLWlmcmFtZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzNjJhODVkMjUyMzljYTdj
NTk2NTc3NDI0NDhhYzg4ODE2NDM5NzkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9p
bnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9yZXNvdXJjZXMvaGFyLXBhZ2VzLWlmcmFtZS5o
dG1sCkBAIC0wLDAgKzEsMTMgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHR5cGU9InRleHQv
amF2YXNjcmlwdCI+CitmdW5jdGlvbiByZWRpcmVjdEJhY2soKQoreworICAgIHRvcC5sb2NhdGlv
bi5ocmVmID0gIi9pbnNwZWN0b3IvcmVzb3VyY2UtaGFyLXBhZ2VzLmh0bWwiOworfQorPC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InJlZGlyZWN0QmFjaygpIj4KKzxzY3JpcHQgc3Jj
PSJzb3VyY2UxLmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3Jlc291cmNlcy9oYXItcGFn
ZXMtbmF2aWdhdGlvbi10YXJnZXQuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0
ZS9odHRwLXRlc3RzL3Jlc291cmNlcy9oYXItcGFnZXMtbmF2aWdhdGlvbi10YXJnZXQuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xZGFiYzc3MzBhYjQwOTU3ZjM5ZDBkOGNjOTZiZmFjZTFkMWE2NzQxCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMv
cmVzb3VyY2VzL2hhci1wYWdlcy1uYXZpZ2F0aW9uLXRhcmdldC5odG1sCkBAIC0wLDAgKzEsNSBA
QAorPGh0bWw+Cis8Ym9keT4KKzxpZnJhbWUgc3JjPSJoYXItcGFnZXMtaWZyYW1lLmh0bWwiPjwv
aWZyYW1lPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2VzL2lmcmFtZS1mcm9tLWRpZmZlcmVudC1k
b21haW4tZGF0YS5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVz
dHMvcmVzb3VyY2VzL2lmcmFtZS1mcm9tLWRpZmZlcmVudC1kb21haW4tZGF0YS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmI5NDA5ZTIwODVjYmFmODAwOWEzOGI1OTlmN2YxNGM3NjM5Y2NmNTkKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9yZXNv
dXJjZXMvaWZyYW1lLWZyb20tZGlmZmVyZW50LWRvbWFpbi1kYXRhLmh0bWwKQEAgLTAsMCArMSwx
MyBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CitmdW5jdGlvbiBvbmxvYWQoKQoreworICAg
IGNvbnNvbGUubG9nKCJJRlJBTUUgSE9TVDogIiArIHdpbmRvdy5sb2NhdGlvbi5ob3N0KTsKK30K
Kzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgaWQ9ImlmcmFtZS1ib2R5IiBzdHlsZT0iYmFja2dy
b3VuZDpncmVlbjsiIG9ubG9hZD0ib25sb2FkKCkiPgorSW5zcGVjdCBtZS4KKzwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRl
c3RzL3Jlc291cmNlcy9pbnNwZWN0LWVsZW1lbnQtaWZyYW1lLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9yZXNvdXJjZXMvaW5zcGVjdC1lbGVtZW50LWlm
cmFtZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJkZmI1NDE3NTY3M2U2YmNmNTRmMGVmZjA0YjE3OTAzYzdm
MzRmYzAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUv
aHR0cC10ZXN0cy9yZXNvdXJjZXMvaW5zcGVjdC1lbGVtZW50LWlmcmFtZS5odG1sCkBAIC0wLDAg
KzEsMTEgQEAKKzxodG1sPgorCis8Ym9keT4KKzxkaXYgaWQ9ImRpdiI+RWxlbWVudCB0byBpbnNw
ZWN0PC9kaXY+Cis8L2JvZHk+CisKKzxzY3JpcHQ+Cit0b3AuaWZyYW1lRGl2RWxlbWVudCA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJkaXYiKTsKKzwvc2NyaXB0PgorCis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9yZXNvdXJj
ZXMvcG9zdC10YXJnZXQuY2dpIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAt
dGVzdHMvcmVzb3VyY2VzL3Bvc3QtdGFyZ2V0LmNnaQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42Yjk2NWI2MmI4MWMy
NzQ3ZTIwMDkxMTljMmEyYjUyN2JiMmUxZTEyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2VzL3Bvc3QtdGFyZ2V0LmNn
aQpAQCAtMCwwICsxLDQgQEAKKyMhL3Vzci9iaW4vcGVybCAtd1QNCisNCitwcmludCAiQ29udGVu
dC1UeXBlOiBhcHBsaWNhdGlvbi94bWxcblxuIjsNCitwcmludCAiPHhtbD40MjwveG1sPlxuIjsN
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9y
ZXNvdXJjZXMvcmVzb3VyY2UtZm9ybS1kYXRhLXJlY2VpdmVyLWlmcmFtZS5odG1sIGIvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2VzL3Jlc291cmNlLWZv
cm0tZGF0YS1yZWNlaXZlci1pZnJhbWUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43ODc5ZTFjZTlmZDc3ZDRk
OTAwNTQwMTM3MjVhZjUxMzdlOGVmMzFhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2VzL3Jlc291cmNlLWZvcm0tZGF0
YS1yZWNlaXZlci1pZnJhbWUuaHRtbApAQCAtMCwwICsxLDQgQEAKKzxodG1sPgorPGJvZHk+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xl
dGUvaHR0cC10ZXN0cy9yZXNvdXJjZXMvc291cmNlLW1hcC5qc29uIGIvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2VzL3NvdXJjZS1tYXAuanNvbgpuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi42M2I3ZmVlNjQ1OWY5YjFiMWM4NmExNzQzZjMzNmIzMTAxYmZhZjg5Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvcmVz
b3VyY2VzL3NvdXJjZS1tYXAuanNvbgpAQCAtMCwwICsxLDkgQEAKK3sKKyJ2ZXJzaW9uIjozLAor
ImZpbGUiOiJjb21waWxlZC5qcyIsCisic291cmNlUm9vdCI6ICIiLAorImxpbmVDb3VudCI6MiwK
KyJtYXBwaW5ncyI6IkFBQ0FBLE1BQUFDLGlCQUF1QixDQUFDLE1BQUQsQ0FBUyxRQUFRLEVBQ3hD
LENBQ0ksSUFBSUMsRUFBU0MsUUFBQUMsY0FBc0IsQ0FBQyxRQUFELENBQ25DRixFQUFBRyxHQUFB
LENBQVksTUFDWkgsRUFBQUQsaUJBQXVCLENBQUMsT0FBRCxDQUFVSyxXQUFWLENBQXVCLENBQUEs
Q0FBdkIsQ0FDdkJILFNBQUFJLEtBQUFDLFlBQXlCLENBQUNOLENBQUQsQ0FFckJPLEVBQUFBLENB
QU1OLFFBQUFDLGNBQXNCLENBQUMsS0FBRCxDQUNoQ0ssRUFBQUosR0FBQSxDQUFTLG9jQUNURjtR
QUFBSSxLQUFBQyxZQUF5QixDQUFDQyxDQUFELENBUjdCLENBRHVCLENBWXZCSCxTQUFTQSxZQUFX
LENBQUNJLENBQUQsQ0FDcEIsQ0FFSUMsQ0FEOEJDLElBQVpDLFlBQ2xCRixRQUFjLENBQUNELENB
QUQsQ0FGbEIsQyxDQ2JBRyxRQUFTQSxhQUFZLEVBQ3JCLEVBR0FBLFlBQUFDLFVBQUFILE9BQUEs
Q0FBZ0NJLFFBQVEsRUFDeEMsQ0FDSUMsT0FBQUMsSUFBVyxDQUFDLGlCQUFELENBRGYsQzsiLAor
InNvdXJjZXMiOlsic291cmNlMS5qcyIsInNvdXJjZTIuanMiXSwKKyJuYW1lcyI6WyJ3aW5kb3ci
LCJhZGRFdmVudExpc3RlbmVyIiwiYnV0dG9uIiwiZG9jdW1lbnQiLCJjcmVhdGVFbGVtZW50Iiwi
aWQiLCJoYW5kbGVDbGljayIsImJvZHkiLCJhcHBlbmRDaGlsZCIsImJhciIsImV2ZW50IiwiaGFu
ZGxlIiwiaGFuZGxlciIsIkNsaWNrSGFuZGxlciIsInByb3RvdHlwZSIsIkNsaWNrSGFuZGxlci5w
cm90b3R5cGUuaGFuZGxlIiwiY29uc29sZSIsImxvZyJdCit9CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9yZXNvdXJjZXMvc291cmNlMS5qcyBi
L0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3Jlc291cmNlcy9zb3Vy
Y2UxLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjRmNTM2YzdjM2Q2NjhhZjA3YzhhM2QyNmE0NzI2OGI0MzI2MGNk
NzMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0
cC10ZXN0cy9yZXNvdXJjZXMvc291cmNlMS5qcwpAQCAtMCwwICsxLDE3IEBACit3aW5kb3cuYWRk
RXZlbnRMaXN0ZW5lcignbG9hZCcsIGZ1bmN0aW9uKCkKK3sKKyAgICB2YXIgYnV0dG9uID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgnYnV0dG9uJyk7CisgICAgYnV0dG9uLmlkID0gJ3Rlc3QnOwor
ICAgIGJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGhhbmRsZUNsaWNrLCB0cnVlKTsK
KyAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGJ1dHRvbik7CisKKyAgICB2YXIgYmFyID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CisgICAgYmFyLmlkID0gJ2JhcnJycnJycnJy
cnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJy
cnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJy
cnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJy
cnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJy
cnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJy
cnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJy
cnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJy
cnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycic7CisgICAgZG9jdW1lbnQu
Ym9keS5hcHBlbmRDaGlsZChiYXIpOworfSk7CisKK2Z1bmN0aW9uIGhhbmRsZUNsaWNrKGV2ZW50
KQoreworICAgIHZhciBoYW5kbGVyID0gbmV3IENsaWNrSGFuZGxlcigpOworICAgIGhhbmRsZXIu
aGFuZGxlKGV2ZW50KTsKK30KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNv
bGV0ZS9odHRwLXRlc3RzL3Jlc291cmNlcy9zb3VyY2UyLmpzIGIvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2VzL3NvdXJjZTIuanMKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
YzBhZTRhNjBiYTgzZWIxMTg4ODcwODliMzk3ZDEwNjk2Mjg0ZjQ4YQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3Jlc291cmNlcy9z
b3VyY2UyLmpzCkBAIC0wLDAgKzEsOCBAQAorZnVuY3Rpb24gQ2xpY2tIYW5kbGVyKCkKK3sKK30K
KworQ2xpY2tIYW5kbGVyLnByb3RvdHlwZS5oYW5kbGUgPSBmdW5jdGlvbihldmVudCkKK3sKKyAg
ICBjb25zb2xlLmxvZygnYnV0dG9uIGNsaWNrZWQhJyk7Cit9CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9yZXNvdXJjZXMvdGVzdC1zY2FubmVy
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9yZXNvdXJj
ZXMvdGVzdC1zY2FubmVyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjQxNzIyOGRlZGY4NDQzNTQ2YzRjODkx
ZGJkMTk4MzkzM2RkNTNlZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rv
ci1vYnNvbGV0ZS9odHRwLXRlc3RzL3Jlc291cmNlcy90ZXN0LXNjYW5uZXIuaHRtbApAQCAtMCww
ICsxLDY4IEBACis8aHRtbD4KKzxzY3JpcHQ+Cit2YXIgdGVzdHMgPSBbXTsKKworc2NhbkZvbGRl
cigiaW5zcGVjdG9yL2NvbnNvbGUiKTsKKy8vIHNjYW5Gb2xkZXIoImluc3BlY3Rvci9kZWJ1Z2dl
ciIpOworc2NhbkZvbGRlcigiaW5zcGVjdG9yL2VkaXRvciIpOworc2NhbkZvbGRlcigiaW5zcGVj
dG9yL2VsZW1lbnRzIik7CitzY2FuRm9sZGVyKCJpbnNwZWN0b3IvcHJvZmlsZXIiKTsKK3NjYW5G
b2xkZXIoImluc3BlY3Rvci9zdHlsZXMiKTsKK3NjYW5Gb2xkZXIoImluc3BlY3Rvci90aW1lbGlu
ZSIpOworc2NhbkZvbGRlcigiaW5zcGVjdG9yIik7CisKK2Z1bmN0aW9uIHNjYW5Gb2xkZXIoZm9s
ZGVyKQoreworICAgIHZhciB4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTsKKyAgICB4aHIub3Bl
bigiR0VUIiwgIi9MYXlvdXRUZXN0cy8iICsgZm9sZGVyICsgIi8iLCBmYWxzZSk7CisgICAgeGhy
LnNlbmQobnVsbCk7CisgICAgdmFyIHRleHQgPSB4aHIucmVzcG9uc2VUZXh0OworICAgIHZhciBl
bGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CisgICAgZWxlbWVudC5pbm5l
ckhUTUwgPSB0ZXh0OworICAgIHZhciBsaW5rcyA9IGVsZW1lbnQucXVlcnlTZWxlY3RvckFsbCgi
YSIpOworICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbGlua3MubGVuZ3RoOyArK2kpIHsKKyAgICAg
ICAgdmFyIGxpbmsgPSBsaW5rc1tpXS5ocmVmOworICAgICAgICB2YXIgbWF0Y2ggPSBsaW5rLm1h
dGNoKC9bXlwvXSpcLyhbXlwvXStcLmh0bWwpJC8pOworICAgICAgICBpZiAoIW1hdGNoKQorICAg
ICAgICAgICAgY29udGludWU7CisgICAgICAgIHZhciBwYXRoID0gIi9MYXlvdXRUZXN0cy8iICsg
Zm9sZGVyICsgIi8iICsgbWF0Y2hbMV07CisgICAgICAgIHZhciBleHBlY3RlZCA9IGZldGNoRXhw
ZWN0YXRpb25zKHBhdGgpOworICAgICAgICB0ZXN0cy5wdXNoKFtwYXRoLCBleHBlY3RlZF0pOwor
ICAgIH0KK30KKworZnVuY3Rpb24gZmV0Y2hFeHBlY3RhdGlvbnMocGF0aCkKK3sKKyAgICB2YXIg
ZXh0ID0gcGF0aC5sYXN0SW5kZXhPZigiLiIpOworICAgIHBhdGggPSBwYXRoLnN1YnN0cmluZygw
LCBleHQpICsgIi1leHBlY3RlZC50eHQiOworICAgIHZhciBjaHJvbWl1bVBhdGggPSBwYXRoLnJl
cGxhY2UoIi9MYXlvdXRUZXN0cy8iLCAiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLyIp
OworCisgICAgdmFyIGV4cGVjdGF0aW9ucyA9IGZldGNoKGNocm9taXVtUGF0aCkgfHwgZmV0Y2go
cGF0aCkgfHwgIiI7CisKKyAgICB2YXIgZXhwZWN0YXRpb25MaW5lcyA9IGV4cGVjdGF0aW9ucy5z
cGxpdCgiXG4iKTsKKyAgICB2YXIgZmlsdGVyZWQgPSBbXTsKKyAgICBmb3IgKHZhciBpID0gMDsg
aSA8IGV4cGVjdGF0aW9uTGluZXMubGVuZ3RoOyArK2kpIHsKKyAgICAgICAgaWYgKCFleHBlY3Rh
dGlvbkxpbmVzW2ldLmluZGV4T2YoIkFMRVJUOiAiKSB8fAorICAgICAgICAgICAgIWV4cGVjdGF0
aW9uTGluZXNbaV0uaW5kZXhPZigiQ09OU09MRSBNRVNTQUdFOiAiKSkgeworICAgICAgICAgICAg
ZmlsdGVyZWQgPSBbXTsKKyAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICB9CisgICAgICAg
IGZpbHRlcmVkLnB1c2goZXhwZWN0YXRpb25MaW5lc1tpXSk7CisgICAgfQorICAgIHJldHVybiBm
aWx0ZXJlZC5qb2luKCJcbiIpOworfQorCitmdW5jdGlvbiBmZXRjaChwYXRoKQoreworICAgIHZh
ciB4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTsKKyAgICB4aHIub3BlbigiR0VUIiwgcGF0aCwg
ZmFsc2UpOworICAgIHhoci5zZW5kKG51bGwpOworICAgIHJldHVybiB4aHIuc3RhdHVzICE9PSA0
MDQgPyB4aHIucmVzcG9uc2VUZXh0IDogIiI7Cit9CisKK3dpbmRvdy5wYXJlbnQucG9zdE1lc3Nh
Z2UoWyJ0ZXN0cyIsIHRlc3RzXSwgIioiKTsKKworPC9zY3JpcHQ+Cis8Ym9keT4KKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRw
LXRlc3RzL3Jlc291cmNlcy94aHItZXhpc3RzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3It
b2Jzb2xldGUvaHR0cC10ZXN0cy9yZXNvdXJjZXMveGhyLWV4aXN0cy5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
Ljg2MzFhZWFiODFlOTQxNTVjMjljZDc1M2RiZWFiMjIxOTk4ZGM4ZDgKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9yZXNvdXJjZXMv
eGhyLWV4aXN0cy5odG1sCkBAIC0wLDAgKzEgQEAKKzxwPkV4aXN0aW5nIEZpbGU8L3A+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9zZWFyY2gv
cmVzb3VyY2VzLXNlYXJjaC1tYXRjaC1pbmRleC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9zZWFyY2gvcmVzb3VyY2VzLXNlYXJjaC1tYXRj
aC1pbmRleC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGY0MTQ5MWFlMGI2NzExMDFiZjRiNGE5
Y2YzZjZhYjcyZDEyNmVhOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rv
ci1vYnNvbGV0ZS9odHRwLXRlc3RzL3NlYXJjaC9yZXNvdXJjZXMtc2VhcmNoLW1hdGNoLWluZGV4
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEyMCBAQAorVGVzdHMgc2VhcmNoIG1hdGNoIGluZGV4
IGNhbGN1bGF0aW9uIGluIHJlc291cmNlcyBwYW5lbC4KKworQnVnIDY2MDUwCisKK1J1bm5pbmc6
IHRlc3QxCitSdW5uaW5nIHRlc3QgZm9yIG1hdGNoZXMgY291bnRzOiBbMV0KK0VsZW1lbnQgaW5k
ZXg6IDEsIGluZGV4OiAwLCBtYXRjaCBpbmRleDogMS4KK0VsZW1lbnQgaW5kZXg6IDEsIGluZGV4
OiAwLCBtYXRjaCBpbmRleDogMS4KK0VsZW1lbnQgaW5kZXg6IDEsIGluZGV4OiAwLCBtYXRjaCBp
bmRleDogMS4KK0VsZW1lbnQgaW5kZXg6IDEsIGluZGV4OiAwLCBtYXRjaCBpbmRleDogMS4KK0Vs
ZW1lbnQgaW5kZXg6IDEsIGluZGV4OiAwLCBtYXRjaCBpbmRleDogMS4KK0VsZW1lbnQgaW5kZXg6
IDEsIGluZGV4OiAwLCBtYXRjaCBpbmRleDogMS4KKworCitSdW5uaW5nOiB0ZXN0MgorUnVubmlu
ZyB0ZXN0IGZvciBtYXRjaGVzIGNvdW50czogWzEsMiwzXQorRWxlbWVudCBpbmRleDogMSwgaW5k
ZXg6IDAsIG1hdGNoIGluZGV4OiAxLgorRWxlbWVudCBpbmRleDogMiwgaW5kZXg6IDAsIG1hdGNo
IGluZGV4OiAyLgorRWxlbWVudCBpbmRleDogMiwgaW5kZXg6IDEsIG1hdGNoIGluZGV4OiAzLgor
RWxlbWVudCBpbmRleDogMywgaW5kZXg6IDAsIG1hdGNoIGluZGV4OiA0LgorRWxlbWVudCBpbmRl
eDogMywgaW5kZXg6IDEsIG1hdGNoIGluZGV4OiA1LgorRWxlbWVudCBpbmRleDogMywgaW5kZXg6
IDIsIG1hdGNoIGluZGV4OiA2LgorRWxlbWVudCBpbmRleDogMSwgaW5kZXg6IDAsIG1hdGNoIGlu
ZGV4OiAxLgorRWxlbWVudCBpbmRleDogMywgaW5kZXg6IDIsIG1hdGNoIGluZGV4OiA2LgorRWxl
bWVudCBpbmRleDogMywgaW5kZXg6IDEsIG1hdGNoIGluZGV4OiA1LgorRWxlbWVudCBpbmRleDog
MywgaW5kZXg6IDAsIG1hdGNoIGluZGV4OiA0LgorRWxlbWVudCBpbmRleDogMiwgaW5kZXg6IDEs
IG1hdGNoIGluZGV4OiAzLgorRWxlbWVudCBpbmRleDogMiwgaW5kZXg6IDAsIG1hdGNoIGluZGV4
OiAyLgorRWxlbWVudCBpbmRleDogMSwgaW5kZXg6IDAsIG1hdGNoIGluZGV4OiAxLgorRWxlbWVu
dCBpbmRleDogMywgaW5kZXg6IDIsIG1hdGNoIGluZGV4OiA2LgorRWxlbWVudCBpbmRleDogMSwg
aW5kZXg6IDAsIG1hdGNoIGluZGV4OiAxLgorRWxlbWVudCBpbmRleDogMywgaW5kZXg6IDIsIG1h
dGNoIGluZGV4OiA2LgorCisKK1J1bm5pbmc6IHRlc3QzCitSdW5uaW5nIHRlc3QgZm9yIG1hdGNo
ZXMgY291bnRzOiBbMSwwLDIsMCwzXQorRWxlbWVudCBpbmRleDogMSwgaW5kZXg6IDAsIG1hdGNo
IGluZGV4OiAxLgorRWxlbWVudCBpbmRleDogMywgaW5kZXg6IDAsIG1hdGNoIGluZGV4OiAyLgor
RWxlbWVudCBpbmRleDogMywgaW5kZXg6IDEsIG1hdGNoIGluZGV4OiAzLgorRWxlbWVudCBpbmRl
eDogNSwgaW5kZXg6IDAsIG1hdGNoIGluZGV4OiA0LgorRWxlbWVudCBpbmRleDogNSwgaW5kZXg6
IDEsIG1hdGNoIGluZGV4OiA1LgorRWxlbWVudCBpbmRleDogNSwgaW5kZXg6IDIsIG1hdGNoIGlu
ZGV4OiA2LgorRWxlbWVudCBpbmRleDogMSwgaW5kZXg6IDAsIG1hdGNoIGluZGV4OiAxLgorRWxl
bWVudCBpbmRleDogNSwgaW5kZXg6IDIsIG1hdGNoIGluZGV4OiA2LgorRWxlbWVudCBpbmRleDog
NSwgaW5kZXg6IDEsIG1hdGNoIGluZGV4OiA1LgorRWxlbWVudCBpbmRleDogNSwgaW5kZXg6IDAs
IG1hdGNoIGluZGV4OiA0LgorRWxlbWVudCBpbmRleDogMywgaW5kZXg6IDEsIG1hdGNoIGluZGV4
OiAzLgorRWxlbWVudCBpbmRleDogMywgaW5kZXg6IDAsIG1hdGNoIGluZGV4OiAyLgorRWxlbWVu
dCBpbmRleDogMSwgaW5kZXg6IDAsIG1hdGNoIGluZGV4OiAxLgorRWxlbWVudCBpbmRleDogNSwg
aW5kZXg6IDIsIG1hdGNoIGluZGV4OiA2LgorRWxlbWVudCBpbmRleDogMSwgaW5kZXg6IDAsIG1h
dGNoIGluZGV4OiAxLgorRWxlbWVudCBpbmRleDogNSwgaW5kZXg6IDIsIG1hdGNoIGluZGV4OiA2
LgorRWxlbWVudCBpbmRleDogMywgaW5kZXg6IDAsIG1hdGNoIGluZGV4OiAyLgorRWxlbWVudCBp
bmRleDogMSwgaW5kZXg6IDAsIG1hdGNoIGluZGV4OiAxLgorRWxlbWVudCBpbmRleDogNSwgaW5k
ZXg6IDAsIG1hdGNoIGluZGV4OiA0LgorRWxlbWVudCBpbmRleDogMywgaW5kZXg6IDEsIG1hdGNo
IGluZGV4OiAzLgorCisKK1J1bm5pbmc6IHRlc3Q0CitSdW5uaW5nIHRlc3QgZm9yIG1hdGNoZXMg
Y291bnRzOiBbMCwwLDAsMywwLDAsMCwzLDAsMCwwXQorRWxlbWVudCBpbmRleDogNCwgaW5kZXg6
IDAsIG1hdGNoIGluZGV4OiAxLgorRWxlbWVudCBpbmRleDogNCwgaW5kZXg6IDEsIG1hdGNoIGlu
ZGV4OiAyLgorRWxlbWVudCBpbmRleDogNCwgaW5kZXg6IDIsIG1hdGNoIGluZGV4OiAzLgorRWxl
bWVudCBpbmRleDogOCwgaW5kZXg6IDAsIG1hdGNoIGluZGV4OiA0LgorRWxlbWVudCBpbmRleDog
OCwgaW5kZXg6IDEsIG1hdGNoIGluZGV4OiA1LgorRWxlbWVudCBpbmRleDogOCwgaW5kZXg6IDIs
IG1hdGNoIGluZGV4OiA2LgorRWxlbWVudCBpbmRleDogNCwgaW5kZXg6IDAsIG1hdGNoIGluZGV4
OiAxLgorRWxlbWVudCBpbmRleDogOCwgaW5kZXg6IDIsIG1hdGNoIGluZGV4OiA2LgorRWxlbWVu
dCBpbmRleDogOCwgaW5kZXg6IDEsIG1hdGNoIGluZGV4OiA1LgorRWxlbWVudCBpbmRleDogOCwg
aW5kZXg6IDAsIG1hdGNoIGluZGV4OiA0LgorRWxlbWVudCBpbmRleDogNCwgaW5kZXg6IDIsIG1h
dGNoIGluZGV4OiAzLgorRWxlbWVudCBpbmRleDogNCwgaW5kZXg6IDEsIG1hdGNoIGluZGV4OiAy
LgorRWxlbWVudCBpbmRleDogNCwgaW5kZXg6IDAsIG1hdGNoIGluZGV4OiAxLgorRWxlbWVudCBp
bmRleDogOCwgaW5kZXg6IDIsIG1hdGNoIGluZGV4OiA2LgorRWxlbWVudCBpbmRleDogNCwgaW5k
ZXg6IDAsIG1hdGNoIGluZGV4OiAxLgorRWxlbWVudCBpbmRleDogOCwgaW5kZXg6IDIsIG1hdGNo
IGluZGV4OiA2LgorRWxlbWVudCBpbmRleDogNCwgaW5kZXg6IDAsIG1hdGNoIGluZGV4OiAxLgor
RWxlbWVudCBpbmRleDogOCwgaW5kZXg6IDIsIG1hdGNoIGluZGV4OiA2LgorRWxlbWVudCBpbmRl
eDogNCwgaW5kZXg6IDAsIG1hdGNoIGluZGV4OiAxLgorRWxlbWVudCBpbmRleDogOCwgaW5kZXg6
IDIsIG1hdGNoIGluZGV4OiA2LgorRWxlbWVudCBpbmRleDogNCwgaW5kZXg6IDAsIG1hdGNoIGlu
ZGV4OiAxLgorRWxlbWVudCBpbmRleDogOCwgaW5kZXg6IDIsIG1hdGNoIGluZGV4OiA2LgorRWxl
bWVudCBpbmRleDogOCwgaW5kZXg6IDAsIG1hdGNoIGluZGV4OiA0LgorRWxlbWVudCBpbmRleDog
NCwgaW5kZXg6IDIsIG1hdGNoIGluZGV4OiAzLgorRWxlbWVudCBpbmRleDogOCwgaW5kZXg6IDAs
IG1hdGNoIGluZGV4OiA0LgorRWxlbWVudCBpbmRleDogNCwgaW5kZXg6IDIsIG1hdGNoIGluZGV4
OiAzLgorRWxlbWVudCBpbmRleDogOCwgaW5kZXg6IDAsIG1hdGNoIGluZGV4OiA0LgorRWxlbWVu
dCBpbmRleDogNCwgaW5kZXg6IDIsIG1hdGNoIGluZGV4OiAzLgorRWxlbWVudCBpbmRleDogNCwg
aW5kZXg6IDAsIG1hdGNoIGluZGV4OiAxLgorRWxlbWVudCBpbmRleDogOCwgaW5kZXg6IDIsIG1h
dGNoIGluZGV4OiA2LgorRWxlbWVudCBpbmRleDogNCwgaW5kZXg6IDAsIG1hdGNoIGluZGV4OiAx
LgorRWxlbWVudCBpbmRleDogOCwgaW5kZXg6IDIsIG1hdGNoIGluZGV4OiA2LgorRWxlbWVudCBp
bmRleDogNCwgaW5kZXg6IDAsIG1hdGNoIGluZGV4OiAxLgorRWxlbWVudCBpbmRleDogOCwgaW5k
ZXg6IDIsIG1hdGNoIGluZGV4OiA2LgorCisKK1J1bm5pbmc6IHRlc3Q1CitSdW5uaW5nIHRlc3Qg
Zm9yIG1hdGNoZXMgY291bnRzOiBbMCwwLDAsMCwxLDAsMCwwXQorRWxlbWVudCBpbmRleDogNSwg
aW5kZXg6IDAsIG1hdGNoIGluZGV4OiAxLgorRWxlbWVudCBpbmRleDogNSwgaW5kZXg6IDAsIG1h
dGNoIGluZGV4OiAxLgorRWxlbWVudCBpbmRleDogNSwgaW5kZXg6IDAsIG1hdGNoIGluZGV4OiAx
LgorRWxlbWVudCBpbmRleDogNSwgaW5kZXg6IDAsIG1hdGNoIGluZGV4OiAxLgorRWxlbWVudCBp
bmRleDogNSwgaW5kZXg6IDAsIG1hdGNoIGluZGV4OiAxLgorRWxlbWVudCBpbmRleDogNSwgaW5k
ZXg6IDAsIG1hdGNoIGluZGV4OiAxLgorRWxlbWVudCBpbmRleDogNSwgaW5kZXg6IDAsIG1hdGNo
IGluZGV4OiAxLgorRWxlbWVudCBpbmRleDogNSwgaW5kZXg6IDAsIG1hdGNoIGluZGV4OiAxLgor
RWxlbWVudCBpbmRleDogNSwgaW5kZXg6IDAsIG1hdGNoIGluZGV4OiAxLgorRWxlbWVudCBpbmRl
eDogNSwgaW5kZXg6IDAsIG1hdGNoIGluZGV4OiAxLgorRWxlbWVudCBpbmRleDogNSwgaW5kZXg6
IDAsIG1hdGNoIGluZGV4OiAxLgorRWxlbWVudCBpbmRleDogNSwgaW5kZXg6IDAsIG1hdGNoIGlu
ZGV4OiAxLgorRWxlbWVudCBpbmRleDogNSwgaW5kZXg6IDAsIG1hdGNoIGluZGV4OiAxLgorRWxl
bWVudCBpbmRleDogNSwgaW5kZXg6IDAsIG1hdGNoIGluZGV4OiAxLgorRWxlbWVudCBpbmRleDog
NSwgaW5kZXg6IDAsIG1hdGNoIGluZGV4OiAxLgorRWxlbWVudCBpbmRleDogNSwgaW5kZXg6IDAs
IG1hdGNoIGluZGV4OiAxLgorRWxlbWVudCBpbmRleDogNSwgaW5kZXg6IDAsIG1hdGNoIGluZGV4
OiAxLgorRWxlbWVudCBpbmRleDogNSwgaW5kZXg6IDAsIG1hdGNoIGluZGV4OiAxLgorRWxlbWVu
dCBpbmRleDogNSwgaW5kZXg6IDAsIG1hdGNoIGluZGV4OiAxLgorRWxlbWVudCBpbmRleDogNSwg
aW5kZXg6IDAsIG1hdGNoIGluZGV4OiAxLgorCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lu
c3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3NlYXJjaC9yZXNvdXJjZXMtc2VhcmNoLW1hdGNo
LWluZGV4Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9z
ZWFyY2gvcmVzb3VyY2VzLXNlYXJjaC1tYXRjaC1pbmRleC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg2NzRj
NjZlNjBjNmFlYmExYWIwNjg5NmFkOTI3ZjU0YWRkYzNkOGMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9zZWFyY2gvcmVzb3VyY2Vz
LXNlYXJjaC1tYXRjaC1pbmRleC5odG1sCkBAIC0wLDAgKzEsMTMwIEBACis8aHRtbD4KKzxoZWFk
PgorPHNjcmlwdCBzcmM9Ii4uL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+
CitmdW5jdGlvbiB0ZXN0KCkKK3sKKyAgICBXZWJJbnNwZWN0b3Iuc2hvd1BhbmVsKCJyZXNvdXJj
ZXMiKTsKKworICAgIHZhciBGYWtlRWxlbWVudCA9IGZ1bmN0aW9uKGVsZW1lbnRzLCBpbmRleCwg
c2VhcmNoTWF0Y2hlc0NvdW50KQorICAgIHsKKyAgICAgICAgdGhpcy5fZWxlbWVudHMgPSBlbGVt
ZW50czsKKyAgICAgICAgdGhpcy5pbmRleCA9IGluZGV4OworICAgICAgICB0aGlzLnNlYXJjaE1h
dGNoZXNDb3VudCA9IHNlYXJjaE1hdGNoZXNDb3VudDsKKyAgICB9OworCisgICAgRmFrZUVsZW1l
bnQucHJvdG90eXBlID0geworICAgICAgICAvLyBJZ25vcmUgYWxsIHBhcmFtZXRlcnMuCisgICAg
ICAgIHRyYXZlcnNlUHJldmlvdXNUcmVlRWxlbWVudDogZnVuY3Rpb24oKQorICAgICAgICB7Cisg
ICAgICAgICAgICByZXR1cm4gdGhpcy5pbmRleCA+IDAgPyB0aGlzLl9lbGVtZW50c1t0aGlzLmlu
ZGV4IC0gMV0gOiBudWxsOworICAgICAgICB9LAorCisgICAgICAgIC8vIElnbm9yZSBhbGwgcGFy
YW1ldGVycy4KKyAgICAgICAgdHJhdmVyc2VOZXh0VHJlZUVsZW1lbnQ6IGZ1bmN0aW9uKCkKKyAg
ICAgICAgeworICAgICAgICAgICAgcmV0dXJuIHRoaXMuaW5kZXggPCB0aGlzLl9lbGVtZW50cy5s
ZW5ndGggLSAxID8gdGhpcy5fZWxlbWVudHNbdGhpcy5pbmRleCArIDFdIDogbnVsbDsKKyAgICAg
ICAgfQorICAgIH07CisKKyAgICBmdW5jdGlvbiBjcmVhdGVFbGVtZW50c1RyZWVXaXRoTWF0Y2hl
c0NvdW50cyhtYXRjaGVzQ291bnRzKQorICAgIHsKKyAgICAgICAgdmFyIGVsZW1lbnRzID0gW107
CisgICAgICAgIHZhciB0b3RhbE1hdGNoZXNDb3VudCA9IDA7CisgICAgICAgIHZhciBlbGVtZW50
ID0gbmV3IEZha2VFbGVtZW50KGVsZW1lbnRzLCAwLCAwKTsKKyAgICAgICAgZWxlbWVudHMucHVz
aChlbGVtZW50KTsKKyAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBtYXRjaGVzQ291bnRzLmxl
bmd0aDsgKytpKSB7CisgICAgICAgICAgICBlbGVtZW50ID0gbmV3IEZha2VFbGVtZW50KGVsZW1l
bnRzLCBpICsgMSwgbWF0Y2hlc0NvdW50c1tpXSk7CisgICAgICAgICAgICBlbGVtZW50cy5wdXNo
KGVsZW1lbnQpOworICAgICAgICAgICAgdG90YWxNYXRjaGVzQ291bnQgKz0gbWF0Y2hlc0NvdW50
c1tpXTsKKyAgICAgICAgfQorICAgICAgICBlbGVtZW50cy50b3RhbE1hdGNoZXNDb3VudCA9IHRv
dGFsTWF0Y2hlc0NvdW50OworICAgICAgICByZXR1cm4gZWxlbWVudHM7CisgICAgfQorCisgICAg
ZnVuY3Rpb24gZHVtcFNlYXJjaFJlc3VsdChzZWFyY2hSZXN1bHQpCisgICAgeworICAgICAgICBp
ZiAoc2VhcmNoUmVzdWx0KSB7CisgICAgICAgICAgICB2YXIgZWxlbWVudEluZGV4ID0gc2VhcmNo
UmVzdWx0LnRyZWVFbGVtZW50LmluZGV4OworICAgICAgICAgICAgdmFyIGluZGV4ID0gc2VhcmNo
UmVzdWx0LmluZGV4OworICAgICAgICAgICAgdmFyIG1hdGNoSW5kZXggPSBzZWFyY2hSZXN1bHQu
Y3VycmVudE1hdGNoSW5kZXg7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgi
RWxlbWVudCBpbmRleDogIiArIGVsZW1lbnRJbmRleCArICIsIGluZGV4OiAiICsgaW5kZXggKyAi
LCBtYXRjaCBpbmRleDogIiArIG1hdGNoSW5kZXggKyAiLiIpOworICAgICAgICB9IGVsc2UKKyAg
ICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJObyBzZWFyY2ggcmVzdWx0IGZvdW5k
LiIpOworICAgIH0KKworICAgIGZ1bmN0aW9uIHJ1blRlc3RGb3JNYXRjaGVzQ291bnRzKG1hdGNo
ZXNDb3VudHMpCisgICAgeworICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiUnVubmlu
ZyB0ZXN0IGZvciBtYXRjaGVzIGNvdW50czogIiArIEpTT04uc3RyaW5naWZ5KG1hdGNoZXNDb3Vu
dHMpKTsKKyAgICAgICAgdmFyIGVsZW1lbnRzID0gY3JlYXRlRWxlbWVudHNUcmVlV2l0aE1hdGNo
ZXNDb3VudHMobWF0Y2hlc0NvdW50cyk7CisgICAgICAgIHZhciBjb250cm9sbGVyID0gbmV3IFdl
Ykluc3BlY3Rvci5SZXNvdXJjZXNTZWFyY2hDb250cm9sbGVyKGVsZW1lbnRzWzBdLCBlbGVtZW50
cy50b3RhbE1hdGNoZXNDb3VudCk7CisgICAgICAgIHZhciBsYXN0U2VhcmNoUmVzdWx0OworCisg
ICAgICAgIC8vIEZpcnN0IG9mIGFsbCBtYWtlIGEgZnVsbCBjeWNsZSB0aHJvdWdoIHRoZSB0cmVl
LgorICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGVsZW1lbnRzLnRvdGFsTWF0Y2hlc0NvdW50
ICsgMTsgKytpKSB7CisgICAgICAgICAgICBsYXN0U2VhcmNoUmVzdWx0ID0gY29udHJvbGxlci5u
ZXh0U2VhcmNoUmVzdWx0KGxhc3RTZWFyY2hSZXN1bHQgPyBsYXN0U2VhcmNoUmVzdWx0LnRyZWVF
bGVtZW50IDogbnVsbCk7CisgICAgICAgICAgICBkdW1wU2VhcmNoUmVzdWx0KGxhc3RTZWFyY2hS
ZXN1bHQpOworICAgICAgICAgICAgaWYgKCFsYXN0U2VhcmNoUmVzdWx0KQorICAgICAgICAgICAg
ICAgIGJyZWFrOworICAgICAgICB9CisKKyAgICAgICAgLy8gVGhlbiBtYWtlIGFub3RoZXIgb25l
IGluIHRoZSBvcHBvc2l0ZSBkaXJlY3Rpb24uCisgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwg
ZWxlbWVudHMudG90YWxNYXRjaGVzQ291bnQgKyAxOyArK2kpIHsKKyAgICAgICAgICAgIGxhc3RT
ZWFyY2hSZXN1bHQgPSBjb250cm9sbGVyLnByZXZpb3VzU2VhcmNoUmVzdWx0KGxhc3RTZWFyY2hS
ZXN1bHQgPyBsYXN0U2VhcmNoUmVzdWx0LnRyZWVFbGVtZW50IDogbnVsbCk7CisgICAgICAgICAg
ICBkdW1wU2VhcmNoUmVzdWx0KGxhc3RTZWFyY2hSZXN1bHQpOworICAgICAgICAgICAgaWYgKCFs
YXN0U2VhcmNoUmVzdWx0KQorICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisKKyAg
ICAgICAgLy8gTm93IGR1bXAgbmV4dCBhbmQgcHJldmlvdXMgc2VhcmNoIHJlc3VsdHMgZm9yIGVh
Y2ggZWxlbWVudCB3aXRob3V0IHNlYXJjaCBtYXRjaGVzLgorICAgICAgICBmb3IgKHZhciBpID0g
MDsgaSA8IGVsZW1lbnRzLmxlbmd0aDsgKytpKSB7CisgICAgICAgICAgICBpZiAoZWxlbWVudHNb
aV0uc2VhcmNoTWF0Y2hlc0NvdW50ID09PSAwKSB7CisgICAgICAgICAgICAgICAgdmFyIHNlYXJj
aFJlc3VsdCA9IGNvbnRyb2xsZXIubmV4dFNlYXJjaFJlc3VsdChlbGVtZW50c1tpXSk7CisgICAg
ICAgICAgICAgICAgZHVtcFNlYXJjaFJlc3VsdChzZWFyY2hSZXN1bHQpOworICAgICAgICAgICAg
ICAgIHNlYXJjaFJlc3VsdCA9IGNvbnRyb2xsZXIucHJldmlvdXNTZWFyY2hSZXN1bHQoZWxlbWVu
dHNbaV0pOworICAgICAgICAgICAgICAgIGR1bXBTZWFyY2hSZXN1bHQoc2VhcmNoUmVzdWx0KTsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3Vs
dCgiIik7CisgICAgfQorCisgICAgSW5zcGVjdG9yVGVzdC5ydW5UZXN0U3VpdGUoWworICAgICAg
ICBmdW5jdGlvbiB0ZXN0MShuZXh0KQorICAgICAgICB7CisgICAgICAgICAgICBydW5UZXN0Rm9y
TWF0Y2hlc0NvdW50cyhbMV0pOworICAgICAgICAgICAgbmV4dCgpOworICAgICAgICB9LAorCisg
ICAgICAgIGZ1bmN0aW9uIHRlc3QyKG5leHQpCisgICAgICAgIHsKKyAgICAgICAgICAgIHJ1blRl
c3RGb3JNYXRjaGVzQ291bnRzKFsxLCAyLCAzXSk7CisgICAgICAgICAgICBuZXh0KCk7CisgICAg
ICAgIH0sCisKKyAgICAgICAgZnVuY3Rpb24gdGVzdDMobmV4dCkKKyAgICAgICAgeworICAgICAg
ICAgICAgcnVuVGVzdEZvck1hdGNoZXNDb3VudHMoWzEsIDAsIDIsIDAsIDNdKTsKKyAgICAgICAg
ICAgIG5leHQoKTsKKyAgICAgICAgfSwKKworICAgICAgICBmdW5jdGlvbiB0ZXN0NChuZXh0KQor
ICAgICAgICB7CisgICAgICAgICAgICBydW5UZXN0Rm9yTWF0Y2hlc0NvdW50cyhbMCwgMCwgMCwg
MywgMCwgMCwgMCwgMywgMCwgMCwgMF0pOworICAgICAgICAgICAgbmV4dCgpOworICAgICAgICB9
LAorCisgICAgICAgIGZ1bmN0aW9uIHRlc3Q1KG5leHQpCisgICAgICAgIHsKKyAgICAgICAgICAg
IHJ1blRlc3RGb3JNYXRjaGVzQ291bnRzKFswLCAwLCAwLCAwLCAxLCAwLCAwLCAwXSk7CisgICAg
ICAgICAgICBuZXh0KCk7CisgICAgICAgIH0KKyAgICBdKTsKKworfQorPC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Cis8cD5UZXN0cyBzZWFyY2ggbWF0Y2ggaW5k
ZXggY2FsY3VsYXRpb24gaW4gcmVzb3VyY2VzIHBhbmVsLjwvcD4KKzxhIGhyZWY9Imh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NjA1MCI+QnVnIDY2MDUwPC9hPgorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRl
L2h0dHAtdGVzdHMvc2VhcmNoL3Jlc291cmNlcy9zZWFyY2gtY29uY2F0ZW5hdGVkLmh0bWwgYi9M
YXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9zZWFyY2gvcmVzb3VyY2Vz
L3NlYXJjaC1jb25jYXRlbmF0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43MjhmZjY0YzJiYmYyNjliMDZl
MjBhZjMwMTA0ODMyZjYzZDgxNDdhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvc2VhcmNoL3Jlc291cmNlcy9zZWFyY2gtY29uY2F0
ZW5hdGVkLmh0bWwKQEAgLTAsMCArMSwzMCBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+Citm
dW5jdGlvbiBzZWFyY2hUZXN0VW5pcXVlU3RyaW5nKCkKK3sKKyAgICB2YXIgdmFyaWFibGUgPSAw
OworICAgIC8vIHNlYXJjaFRlc3RVbmlxdWVTdHJpbmcgdHdvIG9jY3VyZW5jZXMgb24gdGhlIHNh
bWUgbGluZSBzZWFyY2hUZXN0VW5pcXVlU3RyaW5nCisgICAgdmFyIHZhcmlhYmxlMiA9IDA7Cit9
Cis8L3NjcmlwdD48c2NyaXB0PgorZnVuY3Rpb24gZG9Tb21ldGhpbmcoKQoreworICAgIHNlYXJj
aFRlc3RVbmlxdWVTdHJpbmcoKTsKKyAgICAvLyBTRUFSQ0hUZXN0VW5pcXVlU3RyaW5nKCk7Cit9
Cis8L3NjcmlwdD4KKzxsaW5rIGhyZWY9InNlYXJjaC5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlw
ZT0idGV4dC9jc3MiPgorPHNjcmlwdD4KK2Z1bmN0aW9uIHNlYXJjaFRlc3RVbmlxdWVTdHJpbmcy
KCkKK3sKKyAgICB2YXIgdmFyaWFibGUgPSAwOworICAgIC8qIHNlYXJjaFRlc3RVbmlxdWVTdHJp
bmcgdHdvIG9jY3VyZW5jZXMgb24gdGhlIHNhbWUgbGluZSBzZWFyY2hUZXN0VW5pcXVlU3RyaW5n
ICovIH0gPC9zY3JpcHQ+PHNjcmlwdD4gZnVuY3Rpb24gZG9Tb21ldGhpbmcyKCkgeyBzZWFyY2hU
ZXN0VW5pcXVlU3RyaW5nKCk7CisgICAgLy8gU0VBUkNIVGVzdFVuaXF1ZVN0cmluZygpOworfQor
PC9zY3JpcHQ+Cis8L3NjcmlwdD4KKzxib2R5PgorPC9ib2R5PgorPC9odG1sPgorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9zZWFyY2gvcmVz
b3VyY2VzL3NlYXJjaC5jc3MgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10
ZXN0cy9zZWFyY2gvcmVzb3VyY2VzL3NlYXJjaC5jc3MKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDc2MGM5YjAzYmU5
ZDk3NzE5Mjk1MTU5N2U3MmFjMDdmYjIyMzA1YQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3NlYXJjaC9yZXNvdXJjZXMvc2VhcmNo
LmNzcwpAQCAtMCwwICsxLDkgQEAKK2Rpdi5zZWFyY2hUZXN0VW5pcXVlU3RyaW5nIHsKKyAgICBi
YWNrZ3JvdW5kLWNvbG9yOiByZWQ7Cit9CisKK2Rpdi5zZWFyY2hUZXN0VW5pcXVlU3RyaW5nOmhv
dmVyIHsKKyAgICAvKiBhbm90aGVyIHNlYXJjaFRlc3RVbmlxdWVTdHJpbmcgb2NjdXJlbmNlICov
CisgICAgYmFja2dyb3VuZC1jb2xvcjogcmVkOworfQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9zZWFyY2gvcmVzb3VyY2VzL3NlYXJjaC5o
dG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvc2VhcmNoL3Jl
c291cmNlcy9zZWFyY2guaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42ZWE4ODhkZTY0Nzg0MTBlMzgyZDE4MjZk
MzA5NjRiNzZkODUxNWE0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
LW9ic29sZXRlL2h0dHAtdGVzdHMvc2VhcmNoL3Jlc291cmNlcy9zZWFyY2guaHRtbApAQCAtMCww
ICsxLDEzIEBACis8aHRtbD4KKzxoZWFkPgorPGxpbmsgaHJlZj0ic2VhcmNoLmNzcyIgcmVsPSJz
dHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyI+Cis8c2NyaXB0IHNyYz0ic2VhcmNoLmpzIj48L3Nj
cmlwdD4KKzxib2R5PgorPGRpdj5zZWFyY2hUZXN0VW5pcXVlU3RyaW5nPC9kaXY+Cis8ZGl2Pm90
aGVyIHRleHQ8L2Rpdj4KKzwhLS0gc2VhcmNoVGVzdFVuaXF1ZVN0cmluZyAtLT4KKzxkaXY+c29t
ZSBvdGhlciB0ZXh0PC9kaXY+Cis8ZGl2IGlkPSJzZWFyY2hUZXN0VW5pcXVlU3RyaW5nIj5kaXYg
dGV4dDwvZGl2PgorPC9ib2R5PgorPC9odG1sPgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9zZWFyY2gvcmVzb3VyY2VzL3NlYXJjaC5qcyBi
L0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3NlYXJjaC9yZXNvdXJj
ZXMvc2VhcmNoLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM1OTNlZTFkMTY4NDY0ZGY5OTQ3MzU2NWQzODNkMmRl
NWVjYTU0YzEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xl
dGUvaHR0cC10ZXN0cy9zZWFyY2gvcmVzb3VyY2VzL3NlYXJjaC5qcwpAQCAtMCwwICsxLDEzIEBA
CitmdW5jdGlvbiBzZWFyY2hUZXN0VW5pcXVlU3RyaW5nKCkKK3sKKyAgICB2YXIgdmFyaWFibGUg
PSAwOworICAgIC8vIHNlYXJjaFRlc3RVbmlxdWVTdHJpbmcgdHdvIG9jY3VyZW5jZXMgb24gdGhl
IHNhbWUgbGluZSBzZWFyY2hUZXN0VW5pcXVlU3RyaW5nCisgICAgdmFyIHZhcmlhYmxlMiA9IDA7
Cit9CisKK2Z1bmN0aW9uIGRvU29tZXRoaW5nKCkKK3sKKyAgICBzZWFyY2hUZXN0VW5pcXVlU3Ry
aW5nKCk7CisgICAgLy8gU0VBUkNIVGVzdFVuaXF1ZVN0cmluZygpOworfQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9zZWFyY2gvc2NyaXB0
cy1zZWFyY2gtc2NvcGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29s
ZXRlL2h0dHAtdGVzdHMvc2VhcmNoL3NjcmlwdHMtc2VhcmNoLXNjb3BlLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5iZjM1ZTM4YzcwMWU0YWYwM2FlNTVlZGU1MjVjMDFmYzQzMTk4YmU2Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMv
c2VhcmNoL3NjcmlwdHMtc2VhcmNoLXNjb3BlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMxIEBA
CisKKworUnVubmluZzogdGVzdElnbm9yZUNhc2UKK1NlYXJjaCByZXN1bHQgIzE6IHVpU291cmNl
Q29kZS51cmkgPSBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3NlYXJjaC9yZXNvdXJj
ZXMvc2VhcmNoLmNzcworICBzZWFyY2ggbWF0Y2ggIzE6IGxpbmVOdW1iZXIgPSAwLCBsaW5lQ29u
dGVudCA9ICdkaXYuc2VhcmNoVGVzdFVuaXF1ZVN0cmluZyB7JworICBzZWFyY2ggbWF0Y2ggIzI6
IGxpbmVOdW1iZXIgPSA0LCBsaW5lQ29udGVudCA9ICdkaXYuc2VhcmNoVGVzdFVuaXF1ZVN0cmlu
Zzpob3ZlciB7JworICBzZWFyY2ggbWF0Y2ggIzM6IGxpbmVOdW1iZXIgPSA1LCBsaW5lQ29udGVu
dCA9ICcgICAgLyogYW5vdGhlciBzZWFyY2hUZXN0VW5pcXVlU3RyaW5nIG9jY3VyZW5jZSAqLycK
K1NlYXJjaCByZXN1bHQgIzI6IHVpU291cmNlQ29kZS51cmkgPSBodHRwOi8vMTI3LjAuMC4xOjgw
MDAvaW5zcGVjdG9yL3NlYXJjaC9yZXNvdXJjZXMvc2VhcmNoLmh0bWwKKyAgc2VhcmNoIG1hdGNo
ICMxOiBsaW5lTnVtYmVyID0gNSwgbGluZUNvbnRlbnQgPSAnPGRpdj5zZWFyY2hUZXN0VW5pcXVl
U3RyaW5nPC9kaXY+JworICBzZWFyY2ggbWF0Y2ggIzI6IGxpbmVOdW1iZXIgPSA3LCBsaW5lQ29u
dGVudCA9ICc8IS0tIHNlYXJjaFRlc3RVbmlxdWVTdHJpbmcgLS0+JworICBzZWFyY2ggbWF0Y2gg
IzM6IGxpbmVOdW1iZXIgPSA5LCBsaW5lQ29udGVudCA9ICc8ZGl2IGlkPSJzZWFyY2hUZXN0VW5p
cXVlU3RyaW5nIj5kaXYgdGV4dDwvZGl2PicKK1NlYXJjaCByZXN1bHQgIzM6IHVpU291cmNlQ29k
ZS51cmkgPSBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3NlYXJjaC9yZXNvdXJjZXMv
c2VhcmNoLmpzCisgIHNlYXJjaCBtYXRjaCAjMTogbGluZU51bWJlciA9IDAsIGxpbmVDb250ZW50
ID0gJ2Z1bmN0aW9uIHNlYXJjaFRlc3RVbmlxdWVTdHJpbmcoKScKKyAgc2VhcmNoIG1hdGNoICMy
OiBsaW5lTnVtYmVyID0gMywgbGluZUNvbnRlbnQgPSAnICAgIC8vIHNlYXJjaFRlc3RVbmlxdWVT
dHJpbmcgdHdvIG9jY3VyZW5jZXMgb24gdGhlIHNhbWUgbGluZSBzZWFyY2hUZXN0VW5pcXVlU3Ry
aW5nJworICBzZWFyY2ggbWF0Y2ggIzM6IGxpbmVOdW1iZXIgPSA5LCBsaW5lQ29udGVudCA9ICcg
ICAgc2VhcmNoVGVzdFVuaXF1ZVN0cmluZygpOycKKyAgc2VhcmNoIG1hdGNoICM0OiBsaW5lTnVt
YmVyID0gMTAsIGxpbmVDb250ZW50ID0gJyAgICAvLyBTRUFSQ0hUZXN0VW5pcXVlU3RyaW5nKCk7
JworCitSdW5uaW5nOiB0ZXN0Q2FzZVNlbnNpdGl2ZQorU2VhcmNoIHJlc3VsdCAjMTogdWlTb3Vy
Y2VDb2RlLnVyaSA9IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3Ivc2VhcmNoL3Jlc291
cmNlcy9zZWFyY2guY3NzCisgIHNlYXJjaCBtYXRjaCAjMTogbGluZU51bWJlciA9IDAsIGxpbmVD
b250ZW50ID0gJ2Rpdi5zZWFyY2hUZXN0VW5pcXVlU3RyaW5nIHsnCisgIHNlYXJjaCBtYXRjaCAj
MjogbGluZU51bWJlciA9IDQsIGxpbmVDb250ZW50ID0gJ2Rpdi5zZWFyY2hUZXN0VW5pcXVlU3Ry
aW5nOmhvdmVyIHsnCisgIHNlYXJjaCBtYXRjaCAjMzogbGluZU51bWJlciA9IDUsIGxpbmVDb250
ZW50ID0gJyAgICAvKiBhbm90aGVyIHNlYXJjaFRlc3RVbmlxdWVTdHJpbmcgb2NjdXJlbmNlICov
JworU2VhcmNoIHJlc3VsdCAjMjogdWlTb3VyY2VDb2RlLnVyaSA9IGh0dHA6Ly8xMjcuMC4wLjE6
ODAwMC9pbnNwZWN0b3Ivc2VhcmNoL3Jlc291cmNlcy9zZWFyY2guaHRtbAorICBzZWFyY2ggbWF0
Y2ggIzE6IGxpbmVOdW1iZXIgPSA1LCBsaW5lQ29udGVudCA9ICc8ZGl2PnNlYXJjaFRlc3RVbmlx
dWVTdHJpbmc8L2Rpdj4nCisgIHNlYXJjaCBtYXRjaCAjMjogbGluZU51bWJlciA9IDcsIGxpbmVD
b250ZW50ID0gJzwhLS0gc2VhcmNoVGVzdFVuaXF1ZVN0cmluZyAtLT4nCisgIHNlYXJjaCBtYXRj
aCAjMzogbGluZU51bWJlciA9IDksIGxpbmVDb250ZW50ID0gJzxkaXYgaWQ9InNlYXJjaFRlc3RV
bmlxdWVTdHJpbmciPmRpdiB0ZXh0PC9kaXY+JworU2VhcmNoIHJlc3VsdCAjMzogdWlTb3VyY2VD
b2RlLnVyaSA9IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3Ivc2VhcmNoL3Jlc291cmNl
cy9zZWFyY2guanMKKyAgc2VhcmNoIG1hdGNoICMxOiBsaW5lTnVtYmVyID0gMCwgbGluZUNvbnRl
bnQgPSAnZnVuY3Rpb24gc2VhcmNoVGVzdFVuaXF1ZVN0cmluZygpJworICBzZWFyY2ggbWF0Y2gg
IzI6IGxpbmVOdW1iZXIgPSAzLCBsaW5lQ29udGVudCA9ICcgICAgLy8gc2VhcmNoVGVzdFVuaXF1
ZVN0cmluZyB0d28gb2NjdXJlbmNlcyBvbiB0aGUgc2FtZSBsaW5lIHNlYXJjaFRlc3RVbmlxdWVT
dHJpbmcnCisgIHNlYXJjaCBtYXRjaCAjMzogbGluZU51bWJlciA9IDksIGxpbmVDb250ZW50ID0g
JyAgICBzZWFyY2hUZXN0VW5pcXVlU3RyaW5nKCk7JworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9zZWFyY2gvc2NyaXB0cy1zZWFyY2gtc2Nv
cGUuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3NlYXJj
aC9zY3JpcHRzLXNlYXJjaC1zY29wZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRiNTZiZjdmZDQ1NDUwOTU4
ZmYyNDRlYjNlMDQ3OWExODBkN2UzMmQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9p
bnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9zZWFyY2gvc2NyaXB0cy1zZWFyY2gtc2NvcGUu
aHRtbApAQCAtMCwwICsxLDgwIEBACis8aHRtbD4KKzxoZWFkPgorPHRpdGxlPkNoYW5nZSBpbnNw
ZWN0ZWQgaWZyYW1lJ3MgInNyYyIgYXR0cmlidXRlLjwvdGl0bGU+Cis8c2NyaXB0IHNyYz0iLi4v
aW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy10
ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CitmdW5jdGlvbiB0ZXN0KCkKK3sKKyAgICBXZWJJ
bnNwZWN0b3Iuc2hvd1BhbmVsKCJzY3JpcHRzIik7CisgICAgSW5zcGVjdG9yVGVzdC5ydW5BZnRl
clJlc291cmNlc0FyZUZpbmlzaGVkKFsic2VhcmNoLmh0bWwiLCAic2VhcmNoLmpzIiwgInNlYXJj
aC5jc3MiXSwgc3RlcDEpCisKKyAgICBmdW5jdGlvbiBydW5TZWFyY2hBbmREdW1wUmVzdWx0cyhz
ZWFyY2hDb25maWcsIGNhbGxiYWNrKQorICAgIHsKKyAgICAgICAgdmFyIHNlYXJjaFJlc3VsdHMg
PSBbXTsKKyAgICAgICAgdmFyIHNjb3BlID0gbmV3IFdlYkluc3BlY3Rvci5TY3JpcHRzU2VhcmNo
U2NvcGUoV2ViSW5zcGVjdG9yLndvcmtzcGFjZSk7CisgICAgICAgIHNjb3BlLnBlcmZvcm1TZWFy
Y2goc2VhcmNoQ29uZmlnLCBzZWFyY2hSZXN1bHRDYWxsYmFjaywgc2VhcmNoRmluaXNoZWRDYWxs
YmFjayk7CisKKyAgICAgICAgZnVuY3Rpb24gc2VhcmNoUmVzdWx0Q2FsbGJhY2soc2VhcmNoUmVz
dWx0KQorICAgICAgICB7CisgICAgICAgICAgICBzZWFyY2hSZXN1bHRzLnB1c2goc2VhcmNoUmVz
dWx0KTsKKyAgICAgICAgfQorCisgICAgICAgIGZ1bmN0aW9uIHNlYXJjaEZpbmlzaGVkQ2FsbGJh
Y2soKQorICAgICAgICB7CisgICAgICAgICAgICBmdW5jdGlvbiBmaWx0ZXJPdXRFbXB0eVNlYXJj
aFJlc3VsdHMoc2VhcmNoUmVzdWx0KQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHJl
dHVybiBzZWFyY2hSZXN1bHQuc2VhcmNoTWF0Y2hlcy5sZW5ndGg7CisgICAgICAgICAgICB9Cisg
ICAgICAgICAgICBzZWFyY2hSZXN1bHRzID0gc2VhcmNoUmVzdWx0cy5maWx0ZXIoZmlsdGVyT3V0
RW1wdHlTZWFyY2hSZXN1bHRzKTsKKworICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBz
ZWFyY2hSZXN1bHRzLmxlbmd0aDsgKytpKSB7CisgICAgICAgICAgICAgICAgdmFyIHNlYXJjaFJl
c3VsdCA9IHNlYXJjaFJlc3VsdHNbaV07CisgICAgICAgICAgICAgICAgdmFyIHVpU291cmNlQ29k
ZSA9IHNlYXJjaFJlc3VsdC51aVNvdXJjZUNvZGU7CisgICAgICAgICAgICAgICAgdmFyIHNlYXJj
aE1hdGNoZXMgPSBzZWFyY2hSZXN1bHQuc2VhcmNoTWF0Y2hlczsKKworICAgICAgICAgICAgICAg
IGlmICghc2VhcmNoTWF0Y2hlcy5sZW5ndGgpCisgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVl
OworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJTZWFyY2ggcmVzdWx0
ICMiICsgKGkgKyAxKSArICI6IHVpU291cmNlQ29kZS51cmkgPSAiICsgdWlTb3VyY2VDb2RlLnVy
aSgpKTsKKyAgICAgICAgICAgICAgICBmb3IgKHZhciBqID0gMDsgaiA8IHNlYXJjaE1hdGNoZXMu
bGVuZ3RoOyArK2opIHsKKyAgICAgICAgICAgICAgICAgICAgdmFyIGxpbmVOdW1iZXIgPSBzZWFy
Y2hNYXRjaGVzW2pdLmxpbmVOdW1iZXI7CisgICAgICAgICAgICAgICAgICAgIHZhciBsaW5lQ29u
dGVudCA9IHNlYXJjaE1hdGNoZXNbal0ubGluZUNvbnRlbnQ7CisgICAgICAgICAgICAgICAgICAg
IEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCIgIHNlYXJjaCBtYXRjaCAjIiArIChqICsgMSkgKyAi
OiBsaW5lTnVtYmVyID0gIiArIGxpbmVOdW1iZXIgKyAiLCBsaW5lQ29udGVudCA9ICciICsgbGlu
ZUNvbnRlbnQgKyAiJyIpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIGNhbGxiYWNrKCk7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBmdW5jdGlvbiBzdGVw
MSgpCisgICAgeworICAgICAgICBJbnNwZWN0b3JUZXN0LnJ1blRlc3RTdWl0ZShbCisgICAgICAg
ICAgICBmdW5jdGlvbiB0ZXN0SWdub3JlQ2FzZShuZXh0KQorICAgICAgICAgICAgeworICAgICAg
ICAgICAgICAgIHZhciBzZWFyY2hDb25maWcgPSB7fTsKKyAgICAgICAgICAgICAgICBzZWFyY2hD
b25maWcucXVlcnkgPSAic2VhcmNoVGVzdCIgKyAiVW5pcXVlU3RyaW5nIjsKKyAgICAgICAgICAg
ICAgICBzZWFyY2hDb25maWcuaWdub3JlQ2FzZSA9IHRydWU7CisgICAgICAgICAgICAgICAgc2Vh
cmNoQ29uZmlnLmlzUmVnZXggPSBmYWxzZTsKKyAgICAgICAgICAgICAgICBydW5TZWFyY2hBbmRE
dW1wUmVzdWx0cyhzZWFyY2hDb25maWcsIG5leHQpOworICAgICAgICAgICAgfSwKKworICAgICAg
ICAgICAgZnVuY3Rpb24gdGVzdENhc2VTZW5zaXRpdmUobmV4dCkKKyAgICAgICAgICAgIHsKKyAg
ICAgICAgICAgICAgICB2YXIgc2VhcmNoQ29uZmlnID0ge307CisgICAgICAgICAgICAgICAgc2Vh
cmNoQ29uZmlnLnF1ZXJ5ID0gInNlYXJjaFRlc3QiICsgIlVuaXF1ZVN0cmluZyI7CisgICAgICAg
ICAgICAgICAgc2VhcmNoQ29uZmlnLmlnbm9yZUNhc2UgPSBmYWxzZTsKKyAgICAgICAgICAgICAg
ICBzZWFyY2hDb25maWcuaXNSZWdleCA9IGZhbHNlOworICAgICAgICAgICAgICAgIHJ1blNlYXJj
aEFuZER1bXBSZXN1bHRzKHNlYXJjaENvbmZpZywgbmV4dCk7CisgICAgICAgICAgICB9LAorICAg
ICAgICBdKTsKKyAgICB9Cit9CisKKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJy
dW5UZXN0KCkiPgorPGlmcmFtZSBzcmM9InJlc291cmNlcy9zZWFyY2guaHRtbCI+Cis8cD5UZXN0
cyB0aGF0IFNjcmlwdFNlYXJjaFNjb3BlIHBlcmZvcm1zIHNlYXJjaCBhY3Jvc3MgYWxsIHNvdXJj
ZXMgY29ycmVjdGx5LjwvcD4KK1NlZSA8YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NDEzNTAiPmJ1ZyA0MTM1MDwvYT4uCis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9zZWFy
Y2gvc2VhcmNoLWluLWNvbmNhdGVuYXRlZC1zY3JpcHQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvc2VhcmNoL3NlYXJjaC1pbi1jb25jYXRl
bmF0ZWQtc2NyaXB0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44YWI0OGE1MmI5NTBjODcwNzE4
OGNkNTEwNjkxNzQ3ZjY0M2NmOGQ4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvc2VhcmNoL3NlYXJjaC1pbi1jb25jYXRlbmF0ZWQt
c2NyaXB0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE3IEBACitUZXN0cyBjb25jYXRlbmF0ZWQg
c2NyaXB0IHNlYXJjaCBpbiBpbnNwZWN0b3IgZGVidWdnZXIgYWdlbnQuCisKK0J1ZyA2OTAxNSAg
CitEZWJ1Z2dlciB3YXMgZW5hYmxlZC4KK2h0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3Iv
c2VhcmNoL3Jlc291cmNlcy9zZWFyY2gtY29uY2F0ZW5hdGVkLmh0bWwKK1NlYXJjaCBtYXRjaGVz
OiAKK2xpbmVOdW1iZXI6IDMsIGxpbmU6ICdmdW5jdGlvbiBzZWFyY2hUZXN0VW5pcXVlU3RyaW5n
KCknCitsaW5lTnVtYmVyOiA2LCBsaW5lOiAnICAgIC8vIHNlYXJjaFRlc3RVbmlxdWVTdHJpbmcg
dHdvIG9jY3VyZW5jZXMgb24gdGhlIHNhbWUgbGluZSBzZWFyY2hUZXN0VW5pcXVlU3RyaW5nJwor
bGluZU51bWJlcjogMTIsIGxpbmU6ICcgICAgc2VhcmNoVGVzdFVuaXF1ZVN0cmluZygpOycKK2xp
bmVOdW1iZXI6IDEzLCBsaW5lOiAnICAgIC8vIFNFQVJDSFRlc3RVbmlxdWVTdHJpbmcoKTsnCits
aW5lTnVtYmVyOiAxOCwgbGluZTogJ2Z1bmN0aW9uIHNlYXJjaFRlc3RVbmlxdWVTdHJpbmcyKCkn
CitsaW5lTnVtYmVyOiAyMSwgbGluZTogJyAgICAvKiBzZWFyY2hUZXN0VW5pcXVlU3RyaW5nIHR3
byBvY2N1cmVuY2VzIG9uIHRoZSBzYW1lIGxpbmUgc2VhcmNoVGVzdFVuaXF1ZVN0cmluZyAqLyB9
ICcKK2xpbmVOdW1iZXI6IDIxLCBsaW5lOiAnIGZ1bmN0aW9uIGRvU29tZXRoaW5nMigpIHsgc2Vh
cmNoVGVzdFVuaXF1ZVN0cmluZygpOycKK2xpbmVOdW1iZXI6IDIyLCBsaW5lOiAnICAgIC8vIFNF
QVJDSFRlc3RVbmlxdWVTdHJpbmcoKTsnCisKK0RlYnVnZ2VyIHdhcyBkaXNhYmxlZC4KKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvc2VhcmNo
L3NlYXJjaC1pbi1jb25jYXRlbmF0ZWQtc2NyaXB0Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0
b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9zZWFyY2gvc2VhcmNoLWluLWNvbmNhdGVuYXRlZC1zY3Jp
cHQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi45N2RhYWE3NzI1ZDE5NGM0YjZiYjBiMzkzNWFmMGE0YTc5MzBm
ZDM2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0
dHAtdGVzdHMvc2VhcmNoL3NlYXJjaC1pbi1jb25jYXRlbmF0ZWQtc2NyaXB0Lmh0bWwKQEAgLTAs
MCArMSw0NyBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9pbnNwZWN0b3ItdGVz
dC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzLXRlc3QuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uL2RlYnVnZ2VyLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9InNlYXJjaC10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CitmdW5jdGlvbiB0ZXN0
KCkKK3sKKyAgICAvLyBUaGlzIGZpbGUgc2hvdWxkIG5vdCBtYXRjaCBzZWFyY2ggcXVlcnkuCisg
ICAgdmFyIHRleHQgPSAic2VhcmNoVGVzdCIgKyAiVW5pcXVlU3RyaW5nIjsKKyAgICBJbnNwZWN0
b3JUZXN0LnN0YXJ0RGVidWdnZXJUZXN0KHN0ZXAxKTsKKworICAgIGZ1bmN0aW9uIHN0ZXAxKCkK
KyAgICB7CisgICAgICAgIEluc3BlY3RvclRlc3QucnVuQWZ0ZXJSZXNvdXJjZXNBcmVGaW5pc2hl
ZChbInNlYXJjaC1jb25jYXRlbmF0ZWQuaHRtbCJdLCBzdGVwMik7CisgICAgfQorCisgICAgZnVu
Y3Rpb24gc3RlcDIoKQorICAgIHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5zaG93U2NyaXB0U291
cmNlKCJzZWFyY2gtY29uY2F0ZW5hdGVkLmh0bWwiLCBzdGVwMyk7CisgICAgfQorCisgICAgZnVu
Y3Rpb24gc3RlcDMoKQorICAgIHsKKyAgICAgICAgdmFyIHVybCA9ICJodHRwOi8vMTI3LjAuMC4x
OjgwMDAvaW5zcGVjdG9yL3NlYXJjaC9yZXNvdXJjZXMvc2VhcmNoLWNvbmNhdGVuYXRlZC5odG1s
IjsKKyAgICAgICAgdmFyIHNjcmlwdHMgPSBJbnNwZWN0b3JUZXN0LnF1ZXJ5U2NyaXB0cyhmdW5j
dGlvbihzKSB7IHJldHVybiBzLnNvdXJjZVVSTCA9PT0gdXJsOyB9KTsKKyAgICAgICAgdmFyIGNv
bnRlbnRQcm92aWRlciA9IG5ldyBXZWJJbnNwZWN0b3IuQ29uY2F0ZW5hdGVkU2NyaXB0c0NvbnRl
bnRQcm92aWRlcihzY3JpcHRzKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQodXJs
KTsKKyAgICAgICAgY29udGVudFByb3ZpZGVyLnNlYXJjaEluQ29udGVudCh0ZXh0LCBmYWxzZSwg
ZmFsc2UsIHN0ZXA0KTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBzdGVwNChzZWFyY2hNYXRjaGVz
KQorICAgIHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wU2VhcmNoTWF0Y2hlcyhzZWFyY2hN
YXRjaGVzKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZURlYnVnZ2VyVGVzdCgpOwor
ICAgIH0KK30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UZXN0cyBjb25jYXRlbmF0
ZWQgc2NyaXB0IHNlYXJjaCBpbiBpbnNwZWN0b3IgZGVidWdnZXIgYWdlbnQuPC9wPgorPGEgaHJl
Zj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY5MDE1Ij5CdWcgNjkw
MTU8L2E+CisKKzxpZnJhbWUgc3JjPSJyZXNvdXJjZXMvc2VhcmNoLWNvbmNhdGVuYXRlZC5odG1s
IiBvbmxvYWQ9InJ1blRlc3QoKSI+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9zZWFyY2gvc2VhcmNoLWluLW5v
bi1leGlzdGluZy1yZXNvdXJjZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3It
b2Jzb2xldGUvaHR0cC10ZXN0cy9zZWFyY2gvc2VhcmNoLWluLW5vbi1leGlzdGluZy1yZXNvdXJj
ZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOWYzNTRlZGJmYzNlMjcxZTYzNmJjY2NhZjE0ZmY5
ZDBiZDNlMjkzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNv
bGV0ZS9odHRwLXRlc3RzL3NlYXJjaC9zZWFyY2gtaW4tbm9uLWV4aXN0aW5nLXJlc291cmNlLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDYgQEAKK1Rlc3RzIHNpbmdsZSByZXNvdXJjZSBzZWFyY2gg
aW4gaW5zcGVjdG9yIHBhZ2UgYWdlbnQgd2l0aCBub24gZXhpc3RpbmcgcmVzb3VyY2UgdXJsIGRv
ZXMgbm90IGNhdXNlIGEgY3Jhc2guCisKK0J1ZyA2OTc2NyAgCitTZWFyY2ggbWF0Y2hlczogCisK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMv
c2VhcmNoL3NlYXJjaC1pbi1ub24tZXhpc3RpbmctcmVzb3VyY2UuaHRtbCBiL0xheW91dFRlc3Rz
L2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3NlYXJjaC9zZWFyY2gtaW4tbm9uLWV4aXN0
aW5nLXJlc291cmNlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGQ1MzI5ZjQxYjNkYmYwOTkwNTliOWQ4MjBm
Y2U1ZTkyOWE4ZTg5YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1v
YnNvbGV0ZS9odHRwLXRlc3RzL3NlYXJjaC9zZWFyY2gtaW4tbm9uLWV4aXN0aW5nLXJlc291cmNl
Lmh0bWwKQEAgLTAsMCArMSwzNCBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9p
bnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzLXRl
c3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InNlYXJjaC10ZXN0LmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQ+CitmdW5jdGlvbiB0ZXN0KCkKK3sKKyAgICAvLyBUaGlzIGZpbGUgc2hvdWxkIG5v
dCBtYXRjaCBzZWFyY2ggcXVlcnkuCisgICAgdmFyIHRleHQgPSAic2VhcmNoVGVzdCIgKyAiVW5p
cXVlU3RyaW5nIjsKKyAgICBJbnNwZWN0b3JUZXN0LnJ1bkFmdGVyUmVzb3VyY2VzQXJlRmluaXNo
ZWQoWyJzZWFyY2guanMiXSwgc3RlcDIpOworCisgICAgZnVuY3Rpb24gc3RlcDIoKQorICAgIHsK
KyAgICAgICAgdmFyIHJlc291cmNlID0gV2ViSW5zcGVjdG9yLnJlc291cmNlRm9yVVJMKCJodHRw
Oi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3NlYXJjaC9yZXNvdXJjZXMvc2VhcmNoLmpzIik7
CisgICAgICAgIHZhciB1cmwgPSAiaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9zZWFy
Y2gvcmVzb3VyY2VzL25vbi1leGlzdGluZy5qcyI7CisgICAgICAgIFBhZ2VBZ2VudC5zZWFyY2hJ
blJlc291cmNlKHJlc291cmNlLmZyYW1lSWQsIHVybCwgdGV4dCwgc3RlcDMpOworICAgIH0KKwor
ICAgIGZ1bmN0aW9uIHN0ZXAzKGVycm9yLCBzZWFyY2hNYXRjaGVzKQorICAgIHsKKyAgICAgICAg
SW5zcGVjdG9yVGVzdC5kdW1wU2VhcmNoTWF0Y2hlcyhzZWFyY2hNYXRjaGVzKTsKKyAgICAgICAg
SW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKKyAgICB9Cit9Cis8L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHA+VGVzdHMgc2luZ2xlIHJlc291cmNlIHNlYXJjaCBpbiBpbnNwZWN0b3Ig
cGFnZSBhZ2VudCB3aXRoIG5vbiBleGlzdGluZyByZXNvdXJjZSB1cmwgZG9lcyBub3QgY2F1c2Ug
YSBjcmFzaC48L3A+Cis8YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9Njk3NjciPkJ1ZyA2OTc2NzwvYT4KKworPGlmcmFtZSBzcmM9InJlc291cmNlcy9zZWFy
Y2guaHRtbCIgb25sb2FkPSJydW5UZXN0KCkiPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvc2VhcmNoL3NlYXJj
aC1pbi1yZXNvdXJjZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xl
dGUvaHR0cC10ZXN0cy9zZWFyY2gvc2VhcmNoLWluLXJlc291cmNlLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5hYjU4MGNlODZmY2Y5OTE1YTMwMzcyOTk1YTYzMzcxMWIxNzcwYWEzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvc2Vh
cmNoL3NlYXJjaC1pbi1yZXNvdXJjZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyNyBAQAorVGVz
dHMgc2luZ2xlIHJlc291cmNlIHNlYXJjaCBpbiBpbnNwZWN0b3IgcGFnZSBhZ2VudC4KKworQnVn
IDY4OTk4ICAKK2h0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3Ivc2VhcmNoL3Jlc291cmNl
cy9zZWFyY2guanMKK1NlYXJjaCBtYXRjaGVzOiAKK2xpbmVOdW1iZXI6IDAsIGxpbmU6ICdmdW5j
dGlvbiBzZWFyY2hUZXN0VW5pcXVlU3RyaW5nKCknCitsaW5lTnVtYmVyOiAzLCBsaW5lOiAnICAg
IC8vIHNlYXJjaFRlc3RVbmlxdWVTdHJpbmcgdHdvIG9jY3VyZW5jZXMgb24gdGhlIHNhbWUgbGlu
ZSBzZWFyY2hUZXN0VW5pcXVlU3RyaW5nJworbGluZU51bWJlcjogOSwgbGluZTogJyAgICBzZWFy
Y2hUZXN0VW5pcXVlU3RyaW5nKCk7JworbGluZU51bWJlcjogMTAsIGxpbmU6ICcgICAgLy8gU0VB
UkNIVGVzdFVuaXF1ZVN0cmluZygpOycKKworU2VhcmNoIG1hdGNoZXM6IAorbGluZU51bWJlcjog
MCwgbGluZTogJ2Z1bmN0aW9uIHNlYXJjaFRlc3RVbmlxdWVTdHJpbmcoKScKK2xpbmVOdW1iZXI6
IDMsIGxpbmU6ICcgICAgLy8gc2VhcmNoVGVzdFVuaXF1ZVN0cmluZyB0d28gb2NjdXJlbmNlcyBv
biB0aGUgc2FtZSBsaW5lIHNlYXJjaFRlc3RVbmlxdWVTdHJpbmcnCitsaW5lTnVtYmVyOiA5LCBs
aW5lOiAnICAgIHNlYXJjaFRlc3RVbmlxdWVTdHJpbmcoKTsnCisKK1NlYXJjaCBtYXRjaGVzOiAK
K2xpbmVOdW1iZXI6IDAsIGxpbmU6ICdmdW5jdGlvbiBzZWFyY2hUZXN0VW5pcXVlU3RyaW5nKCkn
CitsaW5lTnVtYmVyOiAzLCBsaW5lOiAnICAgIC8vIHNlYXJjaFRlc3RVbmlxdWVTdHJpbmcgdHdv
IG9jY3VyZW5jZXMgb24gdGhlIHNhbWUgbGluZSBzZWFyY2hUZXN0VW5pcXVlU3RyaW5nJworbGlu
ZU51bWJlcjogOSwgbGluZTogJyAgICBzZWFyY2hUZXN0VW5pcXVlU3RyaW5nKCk7JworbGluZU51
bWJlcjogMTAsIGxpbmU6ICcgICAgLy8gU0VBUkNIVGVzdFVuaXF1ZVN0cmluZygpOycKKworU2Vh
cmNoIG1hdGNoZXM6IAorbGluZU51bWJlcjogMCwgbGluZTogJ2Z1bmN0aW9uIHNlYXJjaFRlc3RV
bmlxdWVTdHJpbmcoKScKK2xpbmVOdW1iZXI6IDMsIGxpbmU6ICcgICAgLy8gc2VhcmNoVGVzdFVu
aXF1ZVN0cmluZyB0d28gb2NjdXJlbmNlcyBvbiB0aGUgc2FtZSBsaW5lIHNlYXJjaFRlc3RVbmlx
dWVTdHJpbmcnCitsaW5lTnVtYmVyOiA5LCBsaW5lOiAnICAgIHNlYXJjaFRlc3RVbmlxdWVTdHJp
bmcoKTsnCisKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0
dHAtdGVzdHMvc2VhcmNoL3NlYXJjaC1pbi1yZXNvdXJjZS5odG1sIGIvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvc2VhcmNoL3NlYXJjaC1pbi1yZXNvdXJjZS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmVmMzM1MWRhOGZkYWNhMjRiODk4NTAwMTliZTBiMTQxNmY2OGIwMTgKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0
cy9zZWFyY2gvc2VhcmNoLWluLXJlc291cmNlLmh0bWwKQEAgLTAsMCArMSw2MiBAQAorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
InNlYXJjaC10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CitmdW5jdGlvbiB0ZXN0KCkKK3sK
KyAgICBJbnNwZWN0b3JUZXN0LnJ1bkFmdGVyUmVzb3VyY2VzQXJlRmluaXNoZWQoWyJzZWFyY2gu
anMiXSwgc3RlcDIpOworICAgIHZhciByZXNvdXJjZTsKKworICAgIGZ1bmN0aW9uIHN0ZXAyKCkK
KyAgICB7CisgICAgICAgIHJlc291cmNlID0gV2ViSW5zcGVjdG9yLnJlc291cmNlRm9yVVJMKCJo
dHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3NlYXJjaC9yZXNvdXJjZXMvc2VhcmNoLmpz
Iik7CisgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KHJlc291cmNlLnVybCk7CisKKyAg
ICAgICAgLy8gVGhpcyBmaWxlIHNob3VsZCBub3QgbWF0Y2ggc2VhcmNoIHF1ZXJ5LgorICAgICAg
ICB2YXIgdGV4dCA9ICJzZWFyY2hUZXN0IiArICJVbmlxdWVTdHJpbmciOworICAgICAgICByZXNv
dXJjZS5zZWFyY2hJbkNvbnRlbnQodGV4dCwgZmFsc2UsIGZhbHNlLCBzdGVwMyk7CisgICAgfQor
CisgICAgZnVuY3Rpb24gc3RlcDMoc2VhcmNoTWF0Y2hlcykKKyAgICB7CisgICAgICAgIEluc3Bl
Y3RvclRlc3QuZHVtcFNlYXJjaE1hdGNoZXMoc2VhcmNoTWF0Y2hlcyk7CisKKyAgICAgICAgLy8g
VGhpcyBmaWxlIHNob3VsZCBub3QgbWF0Y2ggc2VhcmNoIHF1ZXJ5LgorICAgICAgICB2YXIgdGV4
dCA9ICJzZWFyY2hUZXN0IiArICJVbmlxdWVTdHJpbmciOworICAgICAgICByZXNvdXJjZS5zZWFy
Y2hJbkNvbnRlbnQodGV4dCwgdHJ1ZSwgZmFsc2UsIHN0ZXA0KTsKKyAgICB9CisKKyAgICBmdW5j
dGlvbiBzdGVwNChzZWFyY2hNYXRjaGVzKQorICAgIHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5k
dW1wU2VhcmNoTWF0Y2hlcyhzZWFyY2hNYXRjaGVzKTsKKworICAgICAgICB2YXIgdGV4dCA9ICJb
YS16XWVhcmNoVGVzdFVuaXF1ZVN0cmluZyI7CisgICAgICAgIHJlc291cmNlLnNlYXJjaEluQ29u
dGVudCh0ZXh0LCBmYWxzZSwgdHJ1ZSwgc3RlcDUpOworICAgIH0KKworICAgIGZ1bmN0aW9uIHN0
ZXA1KHNlYXJjaE1hdGNoZXMpCisgICAgeworICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBTZWFy
Y2hNYXRjaGVzKHNlYXJjaE1hdGNoZXMpOworCisgICAgICAgIHZhciB0ZXh0ID0gIlthLXpdZWFy
Y2hUZXN0VW5pcXVlU3RyaW5nIjsKKyAgICAgICAgcmVzb3VyY2Uuc2VhcmNoSW5Db250ZW50KHRl
eHQsIHRydWUsIHRydWUsIHN0ZXA2KTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBzdGVwNihzZWFy
Y2hNYXRjaGVzKQorICAgIHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wU2VhcmNoTWF0Y2hl
cyhzZWFyY2hNYXRjaGVzKTsKKworICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgp
OworICAgIH0KK30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UZXN0cyBzaW5nbGUg
cmVzb3VyY2Ugc2VhcmNoIGluIGluc3BlY3RvciBwYWdlIGFnZW50LjwvcD4KKzxhIGhyZWY9Imh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02ODk5OCI+QnVnIDY4OTk4PC9h
PgorCis8aWZyYW1lIHNyYz0icmVzb3VyY2VzL3NlYXJjaC5odG1sIiBvbmxvYWQ9InJ1blRlc3Qo
KSI+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3It
b2Jzb2xldGUvaHR0cC10ZXN0cy9zZWFyY2gvc2VhcmNoLWluLXJlc291cmNlcy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9zZWFyY2gvc2Vh
cmNoLWluLXJlc291cmNlcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTJhZmVjN2JiY2VhY2U5
NzY4MDMyMjNlNjJiMDZjOGRkM2FiNThmNwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3NlYXJjaC9zZWFyY2gtaW4tcmVzb3VyY2Vz
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDI4IEBACitUZXN0cyBiYWNrZW5kIHNlYXJjaCBpbiBp
bnNwZWN0b3IuCisKK0J1ZyA2MTIwNSAgCitDYXNlIGluc2Vuc2l0aXZlLCBub24gcmVnZXg6CitT
ZWFyY2ggcmVzdWx0czogCit1cmw6IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3Ivc2Vh
cmNoL3Jlc291cmNlcy9zZWFyY2guY3NzLCBtYXRjaGVzQ291bnQ6IDMKK3VybDogaHR0cDovLzEy
Ny4wLjAuMTo4MDAwL2luc3BlY3Rvci9zZWFyY2gvcmVzb3VyY2VzL3NlYXJjaC5qcywgbWF0Y2hl
c0NvdW50OiA1Cit1cmw6IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3Ivc2VhcmNoL3Jl
c291cmNlcy9zZWFyY2guaHRtbCwgbWF0Y2hlc0NvdW50OiAzCisKK0Nhc2Ugc2Vuc2l0aXZlLCBu
b24gcmVnZXg6CitTZWFyY2ggcmVzdWx0czogCit1cmw6IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9p
bnNwZWN0b3Ivc2VhcmNoL3Jlc291cmNlcy9zZWFyY2guY3NzLCBtYXRjaGVzQ291bnQ6IDMKK3Vy
bDogaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9zZWFyY2gvcmVzb3VyY2VzL3NlYXJj
aC5qcywgbWF0Y2hlc0NvdW50OiA0Cit1cmw6IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0
b3Ivc2VhcmNoL3Jlc291cmNlcy9zZWFyY2guaHRtbCwgbWF0Y2hlc0NvdW50OiAzCisKK0Nhc2Ug
aW5zZW5zaXRpdmUsIHJlZ2V4OgorU2VhcmNoIHJlc3VsdHM6IAordXJsOiBodHRwOi8vMTI3LjAu
MC4xOjgwMDAvaW5zcGVjdG9yL3NlYXJjaC9yZXNvdXJjZXMvc2VhcmNoLmNzcywgbWF0Y2hlc0Nv
dW50OiAzCit1cmw6IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3Ivc2VhcmNoL3Jlc291
cmNlcy9zZWFyY2guanMsIG1hdGNoZXNDb3VudDogNQordXJsOiBodHRwOi8vMTI3LjAuMC4xOjgw
MDAvaW5zcGVjdG9yL3NlYXJjaC9yZXNvdXJjZXMvc2VhcmNoLmh0bWwsIG1hdGNoZXNDb3VudDog
MworCitDYXNlIHNlbnNpdGl2ZSwgcmVnZXg6CitTZWFyY2ggcmVzdWx0czogCit1cmw6IGh0dHA6
Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3Ivc2VhcmNoL3Jlc291cmNlcy9zZWFyY2guY3NzLCBt
YXRjaGVzQ291bnQ6IDMKK3VybDogaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9zZWFy
Y2gvcmVzb3VyY2VzL3NlYXJjaC5qcywgbWF0Y2hlc0NvdW50OiA0Cit1cmw6IGh0dHA6Ly8xMjcu
MC4wLjE6ODAwMC9pbnNwZWN0b3Ivc2VhcmNoL3Jlc291cmNlcy9zZWFyY2guaHRtbCwgbWF0Y2hl
c0NvdW50OiAzCisKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRl
L2h0dHAtdGVzdHMvc2VhcmNoL3NlYXJjaC1pbi1yZXNvdXJjZXMuaHRtbCBiL0xheW91dFRlc3Rz
L2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3NlYXJjaC9zZWFyY2gtaW4tcmVzb3VyY2Vz
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uYjk5OTllYWE4YjA0MWFjZjQ1NzgxYmVmZDEzY2UzNzI0NmMyYWVh
YQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRw
LXRlc3RzL3NlYXJjaC9zZWFyY2gtaW4tcmVzb3VyY2VzLmh0bWwKQEAgLTAsMCArMSw0OSBAQAor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0ic2VhcmNoLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2Z1
bmN0aW9uIHRlc3QoKQoreworICAgIC8vIFRoaXMgZmlsZSBzaG91bGQgbm90IG1hdGNoIHNlYXJj
aCBxdWVyeS4KKyAgICB2YXIgdGV4dCA9ICJzZWFyY2hUZXN0IiArICJVbmlxdWVTdHJpbmciOwor
CisgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIkNhc2UgaW5zZW5zaXRpdmUsIG5vbiByZWdl
eDoiKTsKKyAgICBQYWdlQWdlbnQuc2VhcmNoSW5SZXNvdXJjZXModGV4dCwgZmFsc2UsIGZhbHNl
LCBzdGVwMik7CisKKyAgICBmdW5jdGlvbiBzdGVwMihlcnJvciwgc2VhcmNoUmVzdWx0cykKKyAg
ICB7CisgICAgICAgIEluc3BlY3RvclRlc3QuZHVtcFNlYXJjaFJlc3VsdHMoc2VhcmNoUmVzdWx0
cyk7CisgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJDYXNlIHNlbnNpdGl2ZSwgbm9u
IHJlZ2V4OiIpOworICAgICAgICBQYWdlQWdlbnQuc2VhcmNoSW5SZXNvdXJjZXModGV4dCwgdHJ1
ZSwgZmFsc2UsIHN0ZXAzKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBzdGVwMyhlcnJvciwgc2Vh
cmNoUmVzdWx0cykKKyAgICB7CisgICAgICAgIEluc3BlY3RvclRlc3QuZHVtcFNlYXJjaFJlc3Vs
dHMoc2VhcmNoUmVzdWx0cyk7CisgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJDYXNl
IGluc2Vuc2l0aXZlLCByZWdleDoiKTsKKyAgICAgICAgUGFnZUFnZW50LnNlYXJjaEluUmVzb3Vy
Y2VzKHRleHQsIGZhbHNlLCB0cnVlLCBzdGVwNCk7CisgICAgfQorCisgICAgZnVuY3Rpb24gc3Rl
cDQoZXJyb3IsIHNlYXJjaFJlc3VsdHMpCisgICAgeworICAgICAgICBJbnNwZWN0b3JUZXN0LmR1
bXBTZWFyY2hSZXN1bHRzKHNlYXJjaFJlc3VsdHMpOworICAgICAgICBJbnNwZWN0b3JUZXN0LmFk
ZFJlc3VsdCgiQ2FzZSBzZW5zaXRpdmUsIHJlZ2V4OiIpOworICAgICAgICBQYWdlQWdlbnQuc2Vh
cmNoSW5SZXNvdXJjZXModGV4dCwgdHJ1ZSwgdHJ1ZSwgc3RlcDUpOworICAgIH0KKworICAgIGZ1
bmN0aW9uIHN0ZXA1KGVycm9yLCBzZWFyY2hSZXN1bHRzKQorICAgIHsKKyAgICAgICAgSW5zcGVj
dG9yVGVzdC5kdW1wU2VhcmNoUmVzdWx0cyhzZWFyY2hSZXN1bHRzKTsKKyAgICAgICAgSW5zcGVj
dG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKKyAgICB9Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHA+VGVzdHMgYmFja2VuZCBzZWFyY2ggaW4gaW5zcGVjdG9yLjwvcD4KKzxhIGhyZWY9
Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MTIwNSI+QnVnIDYxMjA1
PC9hPgorCis8aWZyYW1lIHNyYz0icmVzb3VyY2VzL3NlYXJjaC5odG1sIiBvbmxvYWQ9InJ1blRl
c3QoKSI+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0
b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9zZWFyY2gvc2VhcmNoLWluLXNjcmlwdC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9zZWFyY2gvc2Vh
cmNoLWluLXNjcmlwdC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzM3ZDY3ZTI3M2YzZWQ2Y2Ni
MDI2M2I1Y2M5MmUxNzFiYTU1NTQzOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lu
c3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3NlYXJjaC9zZWFyY2gtaW4tc2NyaXB0LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDI5IEBACitUZXN0cyBzY3JpcHQgc2VhcmNoIGluIGluc3BlY3Rv
ciBkZWJ1Z2dlciBhZ2VudC4KKworQnVnIDY5MDE1ICAKK0RlYnVnZ2VyIHdhcyBlbmFibGVkLgor
aHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9zZWFyY2gvcmVzb3VyY2VzL3NlYXJjaC5q
cworU2VhcmNoIG1hdGNoZXM6IAorbGluZU51bWJlcjogMCwgbGluZTogJ2Z1bmN0aW9uIHNlYXJj
aFRlc3RVbmlxdWVTdHJpbmcoKScKK2xpbmVOdW1iZXI6IDMsIGxpbmU6ICcgICAgLy8gc2VhcmNo
VGVzdFVuaXF1ZVN0cmluZyB0d28gb2NjdXJlbmNlcyBvbiB0aGUgc2FtZSBsaW5lIHNlYXJjaFRl
c3RVbmlxdWVTdHJpbmcnCitsaW5lTnVtYmVyOiA5LCBsaW5lOiAnICAgIHNlYXJjaFRlc3RVbmlx
dWVTdHJpbmcoKTsnCitsaW5lTnVtYmVyOiAxMCwgbGluZTogJyAgICAvLyBTRUFSQ0hUZXN0VW5p
cXVlU3RyaW5nKCk7JworCitTZWFyY2ggbWF0Y2hlczogCitsaW5lTnVtYmVyOiAwLCBsaW5lOiAn
ZnVuY3Rpb24gc2VhcmNoVGVzdFVuaXF1ZVN0cmluZygpJworbGluZU51bWJlcjogMywgbGluZTog
JyAgICAvLyBzZWFyY2hUZXN0VW5pcXVlU3RyaW5nIHR3byBvY2N1cmVuY2VzIG9uIHRoZSBzYW1l
IGxpbmUgc2VhcmNoVGVzdFVuaXF1ZVN0cmluZycKK2xpbmVOdW1iZXI6IDksIGxpbmU6ICcgICAg
c2VhcmNoVGVzdFVuaXF1ZVN0cmluZygpOycKKworU2VhcmNoIG1hdGNoZXM6IAorbGluZU51bWJl
cjogMCwgbGluZTogJ2Z1bmN0aW9uIHNlYXJjaFRlc3RVbmlxdWVTdHJpbmcoKScKK2xpbmVOdW1i
ZXI6IDMsIGxpbmU6ICcgICAgLy8gc2VhcmNoVGVzdFVuaXF1ZVN0cmluZyB0d28gb2NjdXJlbmNl
cyBvbiB0aGUgc2FtZSBsaW5lIHNlYXJjaFRlc3RVbmlxdWVTdHJpbmcnCitsaW5lTnVtYmVyOiA5
LCBsaW5lOiAnICAgIHNlYXJjaFRlc3RVbmlxdWVTdHJpbmcoKTsnCitsaW5lTnVtYmVyOiAxMCwg
bGluZTogJyAgICAvLyBTRUFSQ0hUZXN0VW5pcXVlU3RyaW5nKCk7JworCitTZWFyY2ggbWF0Y2hl
czogCitsaW5lTnVtYmVyOiAwLCBsaW5lOiAnZnVuY3Rpb24gc2VhcmNoVGVzdFVuaXF1ZVN0cmlu
ZygpJworbGluZU51bWJlcjogMywgbGluZTogJyAgICAvLyBzZWFyY2hUZXN0VW5pcXVlU3RyaW5n
IHR3byBvY2N1cmVuY2VzIG9uIHRoZSBzYW1lIGxpbmUgc2VhcmNoVGVzdFVuaXF1ZVN0cmluZycK
K2xpbmVOdW1iZXI6IDksIGxpbmU6ICcgICAgc2VhcmNoVGVzdFVuaXF1ZVN0cmluZygpOycKKwor
RGVidWdnZXIgd2FzIGRpc2FibGVkLgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0
b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9zZWFyY2gvc2VhcmNoLWluLXNjcmlwdC5odG1sIGIvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvc2VhcmNoL3NlYXJjaC1pbi1z
Y3JpcHQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45ODljYjBjYjQzMjM2ZmNmZTQ1ZjZhNjJkMmZmNTAyZTM1
NjgwNWJmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRl
L2h0dHAtdGVzdHMvc2VhcmNoL3NlYXJjaC1pbi1zY3JpcHQuaHRtbApAQCAtMCwwICsxLDc1IEBA
Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uL2luc3BlY3Rvci10ZXN0LmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vZGVidWdnZXItdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0ic2Vh
cmNoLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2Z1bmN0aW9uIHRlc3QoKQoreworICAg
IEluc3BlY3RvclRlc3Quc3RhcnREZWJ1Z2dlclRlc3Qoc3RlcDEpOworICAgIHZhciBzY3JpcHQ7
CisKKyAgICBmdW5jdGlvbiBzdGVwMSgpCisgICAgeworICAgICAgICBJbnNwZWN0b3JUZXN0LnJ1
bkFmdGVyUmVzb3VyY2VzQXJlRmluaXNoZWQoWyJzZWFyY2guanMiXSwgc3RlcDIpOworICAgIH0K
KworICAgIGZ1bmN0aW9uIHN0ZXAyKCkKKyAgICB7CisgICAgICAgIEluc3BlY3RvclRlc3Quc2hv
d1NjcmlwdFNvdXJjZSgic2VhcmNoLmpzIiwgc3RlcDMpOworICAgIH0KKworICAgIGZ1bmN0aW9u
IHN0ZXAzKCkKKyAgICB7CisgICAgICAgIHZhciB1cmwgPSAiaHR0cDovLzEyNy4wLjAuMTo4MDAw
L2luc3BlY3Rvci9zZWFyY2gvcmVzb3VyY2VzL3NlYXJjaC5qcyI7CisgICAgICAgIHZhciBzY3Jp
cHRzID0gSW5zcGVjdG9yVGVzdC5xdWVyeVNjcmlwdHMoZnVuY3Rpb24ocykgeyByZXR1cm4gcy5z
b3VyY2VVUkwgPT09IHVybDsgfSk7CisgICAgICAgIHNjcmlwdCA9IHNjcmlwdHNbMF07CisgICAg
ICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KHNjcmlwdC5zb3VyY2VVUkwpOworCisgICAgICAg
IC8vIFRoaXMgZmlsZSBzaG91bGQgbm90IG1hdGNoIHNlYXJjaCBxdWVyeS4KKyAgICAgICAgdmFy
IHRleHQgPSAic2VhcmNoVGVzdCIgKyAiVW5pcXVlU3RyaW5nIjsKKyAgICAgICAgc2NyaXB0LnNl
YXJjaEluQ29udGVudCh0ZXh0LCBmYWxzZSwgZmFsc2UsIHN0ZXA0KTsKKyAgICB9CisKKyAgICBm
dW5jdGlvbiBzdGVwNChzZWFyY2hNYXRjaGVzKQorICAgIHsKKyAgICAgICAgSW5zcGVjdG9yVGVz
dC5kdW1wU2VhcmNoTWF0Y2hlcyhzZWFyY2hNYXRjaGVzKTsKKworICAgICAgICAvLyBUaGlzIGZp
bGUgc2hvdWxkIG5vdCBtYXRjaCBzZWFyY2ggcXVlcnkuCisgICAgICAgIHZhciB0ZXh0ID0gInNl
YXJjaFRlc3QiICsgIlVuaXF1ZVN0cmluZyI7CisgICAgICAgIHNjcmlwdC5zZWFyY2hJbkNvbnRl
bnQodGV4dCwgdHJ1ZSwgZmFsc2UsIHN0ZXA1KTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBzdGVw
NShzZWFyY2hNYXRjaGVzKQorICAgIHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wU2VhcmNo
TWF0Y2hlcyhzZWFyY2hNYXRjaGVzKTsKKworICAgICAgICB2YXIgdGV4dCA9ICJbYS16XWVhcmNo
VGVzdFVuaXF1ZVN0cmluZyI7CisgICAgICAgIHNjcmlwdC5zZWFyY2hJbkNvbnRlbnQodGV4dCwg
ZmFsc2UsIHRydWUsIHN0ZXA2KTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBzdGVwNihzZWFyY2hN
YXRjaGVzKQorICAgIHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wU2VhcmNoTWF0Y2hlcyhz
ZWFyY2hNYXRjaGVzKTsKKworICAgICAgICB2YXIgdGV4dCA9ICJbYS16XWVhcmNoVGVzdFVuaXF1
ZVN0cmluZyI7CisgICAgICAgIHNjcmlwdC5zZWFyY2hJbkNvbnRlbnQodGV4dCwgdHJ1ZSwgdHJ1
ZSwgc3RlcDcpOworICAgIH0KKworICAgIGZ1bmN0aW9uIHN0ZXA3KHNlYXJjaE1hdGNoZXMpCisg
ICAgeworICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBTZWFyY2hNYXRjaGVzKHNlYXJjaE1hdGNo
ZXMpOworCisgICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVEZWJ1Z2dlclRlc3QoKTsKKyAg
ICB9Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGVzdHMgc2NyaXB0IHNlYXJj
aCBpbiBpbnNwZWN0b3IgZGVidWdnZXIgYWdlbnQuPC9wPgorPGEgaHJlZj0iaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY5MDE1Ij5CdWcgNjkwMTU8L2E+CisKKzxpZnJh
bWUgc3JjPSJyZXNvdXJjZXMvc2VhcmNoLmh0bWwiIG9ubG9hZD0icnVuVGVzdCgpIj4KKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9o
dHRwLXRlc3RzL3NlYXJjaC9zZWFyY2gtaW4tc3RhdGljLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3NlYXJjaC9zZWFyY2gtaW4tc3RhdGlj
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iYTNlNWIyNDc5YWVmNjUxYjQ3YTE1NGExOTdiYzQ2
ZjA1M2FlMmI0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29s
ZXRlL2h0dHAtdGVzdHMvc2VhcmNoL3NlYXJjaC1pbi1zdGF0aWMtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMjUgQEAKK1Rlc3RzIHN0YXRpYyBjb250ZW50IHByb3ZpZGVyIHNlYXJjaC4KKworQnVn
IDcwMzU0ICAKK2h0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3Ivc2VhcmNoL3Jlc291cmNl
cy9zZWFyY2guanMKK1NlYXJjaCBtYXRjaGVzOiAKK2xpbmVOdW1iZXI6IDAsIGxpbmU6ICdmdW5j
dGlvbiBzZWFyY2hUZXN0VW5pcXVlU3RyaW5nKCknCitsaW5lTnVtYmVyOiAzLCBsaW5lOiAnICAg
IC8vIHNlYXJjaFRlc3RVbmlxdWVTdHJpbmcgdHdvIG9jY3VyZW5jZXMgb24gdGhlIHNhbWUgbGlu
ZSBzZWFyY2hUZXN0VW5pcXVlU3RyaW5nJworbGluZU51bWJlcjogOSwgbGluZTogJyAgICBzZWFy
Y2hUZXN0VW5pcXVlU3RyaW5nKCk7JworCitTZWFyY2ggbWF0Y2hlczogCitsaW5lTnVtYmVyOiAw
LCBsaW5lOiAnZnVuY3Rpb24gc2VhcmNoVGVzdFVuaXF1ZVN0cmluZygpJworbGluZU51bWJlcjog
MywgbGluZTogJyAgICAvLyBzZWFyY2hUZXN0VW5pcXVlU3RyaW5nIHR3byBvY2N1cmVuY2VzIG9u
IHRoZSBzYW1lIGxpbmUgc2VhcmNoVGVzdFVuaXF1ZVN0cmluZycKK2xpbmVOdW1iZXI6IDksIGxp
bmU6ICcgICAgc2VhcmNoVGVzdFVuaXF1ZVN0cmluZygpOycKKworU2VhcmNoIG1hdGNoZXM6IAor
bGluZU51bWJlcjogMCwgbGluZTogJ2Z1bmN0aW9uIHNlYXJjaFRlc3RVbmlxdWVTdHJpbmcoKScK
K2xpbmVOdW1iZXI6IDMsIGxpbmU6ICcgICAgLy8gc2VhcmNoVGVzdFVuaXF1ZVN0cmluZyB0d28g
b2NjdXJlbmNlcyBvbiB0aGUgc2FtZSBsaW5lIHNlYXJjaFRlc3RVbmlxdWVTdHJpbmcnCitsaW5l
TnVtYmVyOiA5LCBsaW5lOiAnICAgIHNlYXJjaFRlc3RVbmlxdWVTdHJpbmcoKTsnCisKK1NlYXJj
aCBtYXRjaGVzOiAKK2xpbmVOdW1iZXI6IDAsIGxpbmU6ICdmdW5jdGlvbiBzZWFyY2hUZXN0VW5p
cXVlU3RyaW5nKCknCitsaW5lTnVtYmVyOiAzLCBsaW5lOiAnICAgIC8vIHNlYXJjaFRlc3RVbmlx
dWVTdHJpbmcgdHdvIG9jY3VyZW5jZXMgb24gdGhlIHNhbWUgbGluZSBzZWFyY2hUZXN0VW5pcXVl
U3RyaW5nJworbGluZU51bWJlcjogOSwgbGluZTogJyAgICBzZWFyY2hUZXN0VW5pcXVlU3RyaW5n
KCk7JworCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRw
LXRlc3RzL3NlYXJjaC9zZWFyY2gtaW4tc3RhdGljLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0
b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9zZWFyY2gvc2VhcmNoLWluLXN0YXRpYy5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjQ0MWFkZGNlMTExYmJmMmM5OGMwNDhiMjNiY2EyOWYyOWRhMDkzYmMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9zZWFy
Y2gvc2VhcmNoLWluLXN0YXRpYy5odG1sCkBAIC0wLDAgKzEsNjcgQEAKKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uL3Jlc291cmNlcy10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJzZWFyY2gt
dGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorZnVuY3Rpb24gdGVzdCgpCit7CisgICAgSW5z
cGVjdG9yVGVzdC5ydW5BZnRlclJlc291cmNlc0FyZUZpbmlzaGVkKFsic2VhcmNoLmpzIl0sIHN0
ZXAyKTsKKyAgICB2YXIgcmVzb3VyY2U7CisgICAgdmFyIHN0YXRpY0NvbnRlbnRQcm92aWRlcjsK
KworICAgIGZ1bmN0aW9uIHN0ZXAyKCkKKyAgICB7CisgICAgICAgIHJlc291cmNlID0gV2ViSW5z
cGVjdG9yLnJlc291cmNlRm9yVVJMKCJodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Nl
YXJjaC9yZXNvdXJjZXMvc2VhcmNoLmpzIik7CisgICAgICAgIHJlc291cmNlLnJlcXVlc3RDb250
ZW50KHN0ZXAzKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBzdGVwMygpCisgICAgeworICAgICAg
ICBzdGF0aWNDb250ZW50UHJvdmlkZXIgPSBuZXcgV2ViSW5zcGVjdG9yLlN0YXRpY0NvbnRlbnRQ
cm92aWRlcihXZWJJbnNwZWN0b3IucmVzb3VyY2VUeXBlcy5TY3JpcHQsIHJlc291cmNlLmNvbnRl
bnQpOworICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdChyZXNvdXJjZS51cmwpOworCisg
ICAgICAgIHZhciB0ZXh0ID0gInNlYXJjaFRlc3RVbmlxdWVTdHJpbmciOworICAgICAgICBzdGF0
aWNDb250ZW50UHJvdmlkZXIuc2VhcmNoSW5Db250ZW50KHRleHQsIHRydWUsIGZhbHNlLCBzdGVw
NCk7CisgICAgfQorCisgICAgZnVuY3Rpb24gc3RlcDQoc2VhcmNoTWF0Y2hlcykKKyAgICB7Cisg
ICAgICAgIEluc3BlY3RvclRlc3QuZHVtcFNlYXJjaE1hdGNoZXMoc2VhcmNoTWF0Y2hlcyk7CisK
KyAgICAgICAgdmFyIHRleHQgPSAic2VhcmNoVGVzdFVuaXF1ZVN0cmluZyI7CisgICAgICAgIHN0
YXRpY0NvbnRlbnRQcm92aWRlci5zZWFyY2hJbkNvbnRlbnQodGV4dCwgdHJ1ZSwgZmFsc2UsIHN0
ZXA1KTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBzdGVwNShzZWFyY2hNYXRjaGVzKQorICAgIHsK
KyAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wU2VhcmNoTWF0Y2hlcyhzZWFyY2hNYXRjaGVzKTsK
KworICAgICAgICB2YXIgdGV4dCA9ICJbYS16XWVhcmNoVGVzdFVuaXF1ZVN0cmluZyI7CisgICAg
ICAgIHN0YXRpY0NvbnRlbnRQcm92aWRlci5zZWFyY2hJbkNvbnRlbnQodGV4dCwgZmFsc2UsIHRy
dWUsIHN0ZXA2KTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBzdGVwNihzZWFyY2hNYXRjaGVzKQor
ICAgIHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wU2VhcmNoTWF0Y2hlcyhzZWFyY2hNYXRj
aGVzKTsKKworICAgICAgICB2YXIgdGV4dCA9ICJbYS16XWVhcmNoVGVzdFVuaXF1ZVN0cmluZyI7
CisgICAgICAgIHN0YXRpY0NvbnRlbnRQcm92aWRlci5zZWFyY2hJbkNvbnRlbnQodGV4dCwgdHJ1
ZSwgdHJ1ZSwgc3RlcDcpOworICAgIH0KKworICAgIGZ1bmN0aW9uIHN0ZXA3KHNlYXJjaE1hdGNo
ZXMpCisgICAgeworICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBTZWFyY2hNYXRjaGVzKHNlYXJj
aE1hdGNoZXMpOworCisgICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7CisgICAg
fQorfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRlc3RzIHN0YXRpYyBjb250ZW50
IHByb3ZpZGVyIHNlYXJjaC48L3A+Cis8YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NzAzNTQiPkJ1ZyA3MDM1NDwvYT4KKworPGlmcmFtZSBzcmM9InJlc291
cmNlcy9zZWFyY2guaHRtbCIgb25sb2FkPSJydW5UZXN0KCkiPgorPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvc2Vh
cmNoL3NlYXJjaC10ZXN0LmpzIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAt
dGVzdHMvc2VhcmNoL3NlYXJjaC10ZXN0LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjUyNzYyODE2MDZiMWQ0NjNk
NWE5MWZhOWRhMWY5NTNkOWJmNTNlZDMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9p
bnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9zZWFyY2gvc2VhcmNoLXRlc3QuanMKQEAgLTAs
MCArMSwyNSBAQAordmFyIGluaXRpYWxpemVfU2VhcmNoVGVzdCA9IGZ1bmN0aW9uKCkgeworCitJ
bnNwZWN0b3JUZXN0LmR1bXBTZWFyY2hSZXN1bHRzID0gZnVuY3Rpb24oc2VhcmNoUmVzdWx0cykK
K3sKKyAgICBmdW5jdGlvbiBjb21wYXJhdG9yKGEsIGIpCisgICAgeworICAgICAgICBhLnVybC5s
b2NhbGVDb21wYXJlKGIudXJsKTsKKyAgICB9CisgICAgc2VhcmNoUmVzdWx0cy5zb3J0KGNvbXBh
cmF0b3IpOworCisgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIlNlYXJjaCByZXN1bHRzOiAi
KTsKKyAgICBmb3IgKHZhciBpID0gMDsgaSA8IHNlYXJjaFJlc3VsdHMubGVuZ3RoOyBpKyspCisg
ICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJ1cmw6ICIgKyBzZWFyY2hSZXN1bHRzW2ld
LnVybCArICIsIG1hdGNoZXNDb3VudDogIiArIHNlYXJjaFJlc3VsdHNbaV0ubWF0Y2hlc0NvdW50
KTsKKyAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiIik7Cit9OworCitJbnNwZWN0b3JUZXN0
LmR1bXBTZWFyY2hNYXRjaGVzID0gZnVuY3Rpb24oc2VhcmNoTWF0Y2hlcykKK3sKKyAgICBJbnNw
ZWN0b3JUZXN0LmFkZFJlc3VsdCgiU2VhcmNoIG1hdGNoZXM6ICIpOworICAgIGZvciAodmFyIGkg
PSAwOyBpIDwgc2VhcmNoTWF0Y2hlcy5sZW5ndGg7IGkrKykKKyAgICAgICAgSW5zcGVjdG9yVGVz
dC5hZGRSZXN1bHQoImxpbmVOdW1iZXI6ICIgKyBzZWFyY2hNYXRjaGVzW2ldLmxpbmVOdW1iZXIg
KyAiLCBsaW5lOiAnIiArIHNlYXJjaE1hdGNoZXNbaV0ubGluZUNvbnRlbnQgKyAiJyIpOworICAg
IEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCIiKTsKK307CisKK307CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9zdGFja3RyYWNlcy9jc3AtaW5q
ZWN0ZWQtY29udGVudC13YXJuaW5nLWNvbnRhaW5zLXN0YWNrdHJhY2UtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvc3RhY2t0cmFjZXMvY3Nw
LWluamVjdGVkLWNvbnRlbnQtd2FybmluZy1jb250YWlucy1zdGFja3RyYWNlLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5hOWE4MDQ0OWI4MmNiYzQ5ZTg4ZjE5ZDJlMGRiZGE5NDBkYmY3ZTZmCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVz
dHMvc3RhY2t0cmFjZXMvY3NwLWluamVjdGVkLWNvbnRlbnQtd2FybmluZy1jb250YWlucy1zdGFj
a3RyYWNlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitDT05TT0xFIE1FU1NBR0U6IFJl
ZnVzZWQgdG8gbG9hZCB0aGUgaW1hZ2UgJ2h0dHA6Ly8xMjcuMC4wLjE6ODAwMC9yZXNvdXJjZXMv
YWJlLnBuZycgYmVjYXVzZSBpdCB2aW9sYXRlcyB0aGUgZm9sbG93aW5nIENvbnRlbnQgU2VjdXJp
dHkgUG9saWN5IGRpcmVjdGl2ZTogImltZy1zcmMgJ25vbmUnIi4KKworVGhpcyB0ZXN0IGluamVj
dHMgYSBibG9ja2VkIGltYWdlIGZyb20gSmF2YVNjcmlwdC4gVGhlIHJlc3VsdGluZyBjb25zb2xl
IGVycm9yIHNob3VsZCBjb250YWluIGEgc3RhY2sgdHJhY2UuCisKKworTWVzc2FnZVswXTogY3Nw
LWluamVjdGVkLWNvbnRlbnQtd2FybmluZy1jb250YWlucy1zdGFja3RyYWNlLmh0bWw6MTIgUmVm
dXNlZCB0byBsb2FkIHRoZSBpbWFnZSAnaHR0cDovLzEyNy4wLjAuMTo4MDAwL3Jlc291cmNlcy9h
YmUucG5nJyBiZWNhdXNlIGl0IHZpb2xhdGVzIHRoZSBmb2xsb3dpbmcgQ29udGVudCBTZWN1cml0
eSBQb2xpY3kgZGlyZWN0aXZlOiAiaW1nLXNyYyAnbm9uZSciLgorCitTdGFjayBUcmFjZToKKwor
ICAgIHVybDogaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9zdGFja3RyYWNlcy9jc3At
aW5qZWN0ZWQtY29udGVudC13YXJuaW5nLWNvbnRhaW5zLXN0YWNrdHJhY2UuaHRtbAorICAgIGZ1
bmN0aW9uOiB0aGlzVGVzdAorICAgIGxpbmU6IDEyCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3N0YWNrdHJhY2VzL2NzcC1pbmplY3RlZC1j
b250ZW50LXdhcm5pbmctY29udGFpbnMtc3RhY2t0cmFjZS5odG1sIGIvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvc3RhY2t0cmFjZXMvY3NwLWluamVjdGVkLWNvbnRl
bnQtd2FybmluZy1jb250YWlucy1zdGFja3RyYWNlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZGIwMWU1ZWM1
ODc1M2JkNzA1NDA5ZGMxNzMxNGI2NjZlZWQ5ODc5MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3N0YWNrdHJhY2VzL2NzcC1pbmpl
Y3RlZC1jb250ZW50LXdhcm5pbmctY29udGFpbnMtc3RhY2t0cmFjZS5odG1sCkBAIC0wLDAgKzEs
MjEgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRh
IGh0dHAtZXF1aXY9J0NvbnRlbnQtU2VjdXJpdHktUG9saWN5JyBjb250ZW50PSJpbWctc3JjICdu
b25lJyI+CisgICAgICAgIDxzY3JpcHQgc3JjPScvaW5zcGVjdG9yL2NvbnNvbGUtdGVzdC5qcyc+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPScvaW5zcGVjdG9yL2RlYnVnZ2VyLXRlc3Qu
anMnPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0nL2luc3BlY3Rvci9pbnNwZWN0b3It
dGVzdC5qcyc+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPScvaW5zcGVjdG9yL3N0YWNr
dHJhY2VzL3Jlc291cmNlcy9zdGFja3RyYWNlLXRlc3QuanMnPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0PgorICAgICAgICAgICAgZnVuY3Rpb24gdGhpc1Rlc3QoKSB7CisgICAgICAgICAgICAg
ICAgdmFyIGltZyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2ltZycpOworICAgICAgICAgICAg
ICAgIGltZy5zcmMgPSAnL3Jlc291cmNlcy9hYmUucG5nJzsKKyAgICAgICAgICAgICAgICBkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKGltZyk7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc2Ny
aXB0PgorICAgIDwvaGVhZD4KKyAgICA8Ym9keSBvbmxvYWQ9J3J1blRlc3QoKSc+CisgICAgICAg
IDxwPlRoaXMgdGVzdCBpbmplY3RzIGEgYmxvY2tlZCBpbWFnZSBmcm9tIEphdmFTY3JpcHQuIFRo
ZSByZXN1bHRpbmcgY29uc29sZQorICAgICAgICBlcnJvciBzaG91bGQgY29udGFpbiBhIHN0YWNr
IHRyYWNlLjwvcD4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9zdGFja3RyYWNlcy9jc3AtaW5saW5lLXdh
cm5pbmctY29udGFpbnMtc3RhY2t0cmFjZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9zdGFja3RyYWNlcy9jc3AtaW5saW5lLXdhcm5pbmct
Y29udGFpbnMtc3RhY2t0cmFjZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2Y0MTgwY2U3YWQ5
NzNlNmQzZDViYWRmZjE4MDg3NGZjNTkzNTNlYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3N0YWNrdHJhY2VzL2NzcC1pbmxpbmUt
d2FybmluZy1jb250YWlucy1zdGFja3RyYWNlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEyIEBA
CitDT05TT0xFIE1FU1NBR0U6IFJlZnVzZWQgdG8gZXhlY3V0ZSBpbmxpbmUgc2NyaXB0IGJlY2F1
c2UgaXQgdmlvbGF0ZXMgdGhlIGZvbGxvd2luZyBDb250ZW50IFNlY3VyaXR5IFBvbGljeSBkaXJl
Y3RpdmU6ICJzY3JpcHQtc3JjICdzZWxmJyIuCisKK1RoaXMgdGVzdCBpbmplY3RzIGFuIGlubGlu
ZSBzY3JpcHQgZnJvbSBKYXZhU2NyaXB0LiBUaGUgcmVzdWx0aW5nIGNvbnNvbGUgZXJyb3Igc2hv
dWxkIGNvbnRhaW4gYSBzdGFjayB0cmFjZS4KKworTWVzc2FnZVswXTogW25hdGl2ZSBjb2RlXTow
IFJlZnVzZWQgdG8gZXhlY3V0ZSBpbmxpbmUgc2NyaXB0IGJlY2F1c2UgaXQgdmlvbGF0ZXMgdGhl
IGZvbGxvd2luZyBDb250ZW50IFNlY3VyaXR5IFBvbGljeSBkaXJlY3RpdmU6ICJzY3JpcHQtc3Jj
ICdzZWxmJyIuCisKK1N0YWNrIFRyYWNlOgorCisgICAgdXJsOiBbbmF0aXZlIGNvZGVdCisgICAg
ZnVuY3Rpb246IGFwcGVuZENoaWxkCisgICAgbGluZTogMAorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9zdGFja3RyYWNlcy9jc3AtaW5saW5l
LXdhcm5pbmctY29udGFpbnMtc3RhY2t0cmFjZS5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
LW9ic29sZXRlL2h0dHAtdGVzdHMvc3RhY2t0cmFjZXMvY3NwLWlubGluZS13YXJuaW5nLWNvbnRh
aW5zLXN0YWNrdHJhY2UuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44ZDg1MWQwYWVmYjEyYmE2MmNjMTRkMzFl
NGQwNmIwNGVmNTY4MGI5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
LW9ic29sZXRlL2h0dHAtdGVzdHMvc3RhY2t0cmFjZXMvY3NwLWlubGluZS13YXJuaW5nLWNvbnRh
aW5zLXN0YWNrdHJhY2UuaHRtbApAQCAtMCwwICsxLDE1IEBACis8IURPQ1RZUEUgaHRtbD4KKzxo
dG1sPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBodHRwLWVxdWl2PSdDb250ZW50LVNlY3Vy
aXR5LVBvbGljeScgY29udGVudD0ic2NyaXB0LXNyYyAnc2VsZiciPgorICAgICAgICA8c2NyaXB0
IHNyYz0nL2luc3BlY3Rvci9jb25zb2xlLXRlc3QuanMnPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0nL2luc3BlY3Rvci9kZWJ1Z2dlci10ZXN0LmpzJz48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Jy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMnPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0nL2luc3BlY3Rvci9zdGFja3RyYWNlcy9yZXNvdXJjZXMvc3RhY2t0
cmFjZS10ZXN0LmpzJz48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Jy9pbnNwZWN0b3Iv
c3RhY2t0cmFjZXMvcmVzb3VyY2VzL2NzcC1pbmxpbmUtdGVzdC5qcyc+PC9zY3JpcHQ+CisgICAg
PC9oZWFkPgorICAgIDxib2R5PgorICAgICAgICA8cD5UaGlzIHRlc3QgaW5qZWN0cyBhbiBpbmxp
bmUgc2NyaXB0IGZyb20gSmF2YVNjcmlwdC4gVGhlIHJlc3VsdGluZworICAgICAgICBjb25zb2xl
IGVycm9yIHNob3VsZCBjb250YWluIGEgc3RhY2sgdHJhY2UuPC9wPgorICAgIDwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRl
c3RzL3N0YWNrdHJhY2VzL2NzcC1zZXRJbnRlcnZhbC13YXJuaW5nLWNvbnRhaW5zLXN0YWNrdHJh
Y2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVz
dHMvc3RhY2t0cmFjZXMvY3NwLXNldEludGVydmFsLXdhcm5pbmctY29udGFpbnMtc3RhY2t0cmFj
ZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDlkM2FkYjQ3MTIzMzliZTdkZDVkZmY5YjdiMGRi
ZWUwMTc0ZmQ3NgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNv
bGV0ZS9odHRwLXRlc3RzL3N0YWNrdHJhY2VzL2NzcC1zZXRJbnRlcnZhbC13YXJuaW5nLWNvbnRh
aW5zLXN0YWNrdHJhY2UtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTIgQEAKK0NPTlNPTEUgTUVT
U0FHRTogUmVmdXNlZCB0byBldmFsdWF0ZSBzY3JpcHQgYmVjYXVzZSBpdCB2aW9sYXRlcyB0aGUg
Zm9sbG93aW5nIENvbnRlbnQgU2VjdXJpdHkgUG9saWN5IGRpcmVjdGl2ZTogInNjcmlwdC1zcmMg
J3NlbGYnICd1bnNhZmUtaW5saW5lJyIuCisKK1RoaXMgdGVzdCBhdHRlbXB0cyB0byBldmFsdWF0
ZSBzY3JpcHQgdmlhIHNldEludGVydmFsLiBUaGUgcmVzdWx0aW5nIGNvbnNvbGUgZXJyb3Igc2hv
dWxkIGNvbnRhaW4gYSBzdGFjayB0cmFjZSB0aWVkIHRvIGxpbmUgMTEuCisKK01lc3NhZ2VbMF06
IGNzcC1zZXRJbnRlcnZhbC13YXJuaW5nLWNvbnRhaW5zLXN0YWNrdHJhY2UuaHRtbDoxMSBSZWZ1
c2VkIHRvIGV2YWx1YXRlIHNjcmlwdCBiZWNhdXNlIGl0IHZpb2xhdGVzIHRoZSBmb2xsb3dpbmcg
Q29udGVudCBTZWN1cml0eSBQb2xpY3kgZGlyZWN0aXZlOiAic2NyaXB0LXNyYyAnc2VsZicgJ3Vu
c2FmZS1pbmxpbmUnIi4KKworU3RhY2sgVHJhY2U6CisKKyAgICB1cmw6IGh0dHA6Ly8xMjcuMC4w
LjE6ODAwMC9pbnNwZWN0b3Ivc3RhY2t0cmFjZXMvY3NwLXNldEludGVydmFsLXdhcm5pbmctY29u
dGFpbnMtc3RhY2t0cmFjZS5odG1sCisgICAgZnVuY3Rpb246IHRoaXNUZXN0CisgICAgbGluZTog
MTEKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVz
dHMvc3RhY2t0cmFjZXMvY3NwLXNldEludGVydmFsLXdhcm5pbmctY29udGFpbnMtc3RhY2t0cmFj
ZS5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvc3RhY2t0
cmFjZXMvY3NwLXNldEludGVydmFsLXdhcm5pbmctY29udGFpbnMtc3RhY2t0cmFjZS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmE3NjdiZjMwODllYTM3NGExNGI1Nzk1NGEyM2U4MzkxYjFjMjQ1N2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9z
dGFja3RyYWNlcy9jc3Atc2V0SW50ZXJ2YWwtd2FybmluZy1jb250YWlucy1zdGFja3RyYWNlLmh0
bWwKQEAgLTAsMCArMSwyMyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKyAgICA8aGVhZD4K
KyAgICAgICAgPG1ldGEgaHR0cC1lcXVpdj0nQ29udGVudC1TZWN1cml0eS1Qb2xpY3knIGNvbnRl
bnQ9InNjcmlwdC1zcmMgJ3NlbGYnICd1bnNhZmUtaW5saW5lJyI+CisgICAgICAgIDxzY3JpcHQg
c3JjPScvaW5zcGVjdG9yL2NvbnNvbGUtdGVzdC5qcyc+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPScvaW5zcGVjdG9yL2RlYnVnZ2VyLXRlc3QuanMnPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0nL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyc+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPScvaW5zcGVjdG9yL3N0YWNrdHJhY2VzL3Jlc291cmNlcy9zdGFja3Ry
YWNlLXRlc3QuanMnPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0PgorICAgICAgICAgICAgZnVu
Y3Rpb24gdGhpc1Rlc3QoKSB7CisgICAgICAgICAgICAgICAgdmFyIGlkID0gc2V0SW50ZXJ2YWwo
J2xvZygiRkFJTCIpJywgMCk7CisgICAgICAgICAgICAgICAgaWYgKGlkICE9IDApCisgICAgICAg
ICAgICAgICAgICAgIGxvZygnRkFJTDogUmV0dXJuIHZhbHVlIGZvciBzdHJpbmcgKHNob3VsZCBi
ZSAwKTogJyArIGlkKTsKKyAgICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgICAg
IGxvZygnUEFTUzogUmV0dXJuIHZhbHVlIGZvciBibG9ja2VkIHNldEludGVydmFsIGlzIDAnKTsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zY3JpcHQ+CisgICAgPC9oZWFkPgorICAgIDxib2R5
IG9ubG9hZD0ncnVuVGVzdCgpJz4KKyAgICAgICAgPHA+VGhpcyB0ZXN0IGF0dGVtcHRzIHRvIGV2
YWx1YXRlIHNjcmlwdCB2aWEgc2V0SW50ZXJ2YWwuIFRoZSByZXN1bHRpbmcgY29uc29sZQorICAg
ICAgICBlcnJvciBzaG91bGQgY29udGFpbiBhIHN0YWNrIHRyYWNlIHRpZWQgdG8gbGluZSAxMS48
L3A+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvc3RhY2t0cmFjZXMvY3NwLXNldFRpbWVvdXQtd2Fybmlu
Zy1jb250YWlucy1zdGFja3RyYWNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rv
ci1vYnNvbGV0ZS9odHRwLXRlc3RzL3N0YWNrdHJhY2VzL2NzcC1zZXRUaW1lb3V0LXdhcm5pbmct
Y29udGFpbnMtc3RhY2t0cmFjZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmU0NTQyMmViMjY2
N2U4MTBhMTJiMDUwNTgyZGVjYjg0MGU4YjRkNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3N0YWNrdHJhY2VzL2NzcC1zZXRUaW1l
b3V0LXdhcm5pbmctY29udGFpbnMtc3RhY2t0cmFjZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MiBAQAorQ09OU09MRSBNRVNTQUdFOiBSZWZ1c2VkIHRvIGV2YWx1YXRlIHNjcmlwdCBiZWNhdXNl
IGl0IHZpb2xhdGVzIHRoZSBmb2xsb3dpbmcgQ29udGVudCBTZWN1cml0eSBQb2xpY3kgZGlyZWN0
aXZlOiAic2NyaXB0LXNyYyAnc2VsZicgJ3Vuc2FmZS1pbmxpbmUnIi4KKworVGhpcyB0ZXN0IGF0
dGVtcHRzIHRvIGV2YWx1YXRlIHNjcmlwdCB2aWEgc2V0VGltZW91dC4gVGhlIHJlc3VsdGluZyBj
b25zb2xlIGVycm9yIHNob3VsZCBjb250YWluIGEgc3RhY2sgdHJhY2UgdGllZCB0byBsaW5lIDEx
LgorCitNZXNzYWdlWzBdOiBjc3Atc2V0VGltZW91dC13YXJuaW5nLWNvbnRhaW5zLXN0YWNrdHJh
Y2UuaHRtbDoxMSBSZWZ1c2VkIHRvIGV2YWx1YXRlIHNjcmlwdCBiZWNhdXNlIGl0IHZpb2xhdGVz
IHRoZSBmb2xsb3dpbmcgQ29udGVudCBTZWN1cml0eSBQb2xpY3kgZGlyZWN0aXZlOiAic2NyaXB0
LXNyYyAnc2VsZicgJ3Vuc2FmZS1pbmxpbmUnIi4KKworU3RhY2sgVHJhY2U6CisKKyAgICB1cmw6
IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3Ivc3RhY2t0cmFjZXMvY3NwLXNldFRpbWVv
dXQtd2FybmluZy1jb250YWlucy1zdGFja3RyYWNlLmh0bWwKKyAgICBmdW5jdGlvbjogdGhpc1Rl
c3QKKyAgICBsaW5lOiAxMQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jz
b2xldGUvaHR0cC10ZXN0cy9zdGFja3RyYWNlcy9jc3Atc2V0VGltZW91dC13YXJuaW5nLWNvbnRh
aW5zLXN0YWNrdHJhY2UuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRw
LXRlc3RzL3N0YWNrdHJhY2VzL2NzcC1zZXRUaW1lb3V0LXdhcm5pbmctY29udGFpbnMtc3RhY2t0
cmFjZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNjZDc0NDY1ZmIwMmIwNjkwZmE3YjZmODNmZmQwYWFlNTE5
NWUyYjIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUv
aHR0cC10ZXN0cy9zdGFja3RyYWNlcy9jc3Atc2V0VGltZW91dC13YXJuaW5nLWNvbnRhaW5zLXN0
YWNrdHJhY2UuaHRtbApAQCAtMCwwICsxLDIzIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBodHRwLWVxdWl2PSdDb250ZW50LVNlY3VyaXR5LVBv
bGljeScgY29udGVudD0ic2NyaXB0LXNyYyAnc2VsZicgJ3Vuc2FmZS1pbmxpbmUnIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Jy9pbnNwZWN0b3IvY29uc29sZS10ZXN0LmpzJz48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Jy9pbnNwZWN0b3IvZGVidWdnZXItdGVzdC5qcyc+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPScvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzJz48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Jy9pbnNwZWN0b3Ivc3RhY2t0cmFjZXMvcmVzb3Vy
Y2VzL3N0YWNrdHJhY2UtdGVzdC5qcyc+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQ+CisgICAg
ICAgICAgICBmdW5jdGlvbiB0aGlzVGVzdCgpIHsKKyAgICAgICAgICAgICAgICB2YXIgaWQgPSBz
ZXRUaW1lb3V0KCdsb2coIkZBSUwiKScsIDApOworICAgICAgICAgICAgICAgIGlmIChpZCAhPSAw
KQorICAgICAgICAgICAgICAgICAgICBsb2coJ0ZBSUw6IFJldHVybiB2YWx1ZSBmb3Igc3RyaW5n
IChzaG91bGQgYmUgMCk6ICcgKyBpZCk7CisgICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAg
ICAgICAgICAgICBsb2coJ1BBU1M6IFJldHVybiB2YWx1ZSBmb3IgYmxvY2tlZCBzZXRJbnRlcnZh
bCBpcyAwJyk7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc2NyaXB0PgorICAgIDwvaGVhZD4K
KyAgICA8Ym9keSBvbmxvYWQ9J3J1blRlc3QoKSc+CisgICAgICAgIDxwPlRoaXMgdGVzdCBhdHRl
bXB0cyB0byBldmFsdWF0ZSBzY3JpcHQgdmlhIHNldFRpbWVvdXQuIFRoZSByZXN1bHRpbmcgY29u
c29sZQorICAgICAgICBlcnJvciBzaG91bGQgY29udGFpbiBhIHN0YWNrIHRyYWNlIHRpZWQgdG8g
bGluZSAxMS48L3A+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvc3RhY2t0cmFjZXMvcmVzb3VyY2VzL2Nz
cC1pbmxpbmUtdGVzdC5qcyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRl
c3RzL3N0YWNrdHJhY2VzL3Jlc291cmNlcy9jc3AtaW5saW5lLXRlc3QuanMKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
Njc4MzQ0ZjJiY2ViOGJmMWQxMzgyNTk0NmZiYmU5ZTUxN2I1OTdkZgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3N0YWNrdHJhY2Vz
L3Jlc291cmNlcy9jc3AtaW5saW5lLXRlc3QuanMKQEAgLTAsMCArMSw2IEBACitmdW5jdGlvbiB0
aGlzVGVzdCgpIHsKKyAgICB2YXIgcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcp
OworICAgIHMuaW5uZXJUZXh0ID0gImFsZXJ0KCdGQUlMLicpOyIKKyAgICBkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHMpOworfQord2luZG93Lm9ubG9hZCA9IHJ1blRlc3Q7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9zdGFja3RyYWNlcy9y
ZXNvdXJjZXMvc3RhY2t0cmFjZS10ZXN0LmpzIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29s
ZXRlL2h0dHAtdGVzdHMvc3RhY2t0cmFjZXMvcmVzb3VyY2VzL3N0YWNrdHJhY2UtdGVzdC5qcwpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4wMzUxZjBhNWVlNTE5ODEyMDljMTNjYWUxZTI1MGE2ZTMxMjJjZmVlCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMv
c3RhY2t0cmFjZXMvcmVzb3VyY2VzL3N0YWNrdHJhY2UtdGVzdC5qcwpAQCAtMCwwICsxLDIyIEBA
CitmdW5jdGlvbiB0ZXN0KCkgeworICAgIEluc3BlY3RvclRlc3QuYWRkQ29uc29sZVNuaWZmZXIo
YWRkTWVzc2FnZSk7CisKKyAgICBmdW5jdGlvbiBhZGRNZXNzYWdlKG1lc3NhZ2UpIHsKKyAgICAg
ICAgdmFyIG1lc3NhZ2VzID0gV2ViSW5zcGVjdG9yLmNvbnNvbGVWaWV3Ll92aXNpYmxlTWVzc2Fn
ZXM7CisgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbWVzc2FnZXMubGVuZ3RoOyArK2kpIHsK
KyAgICAgICAgICAgIHZhciBtID0gbWVzc2FnZXNbaV07CisgICAgICAgICAgICBJbnNwZWN0b3JU
ZXN0LmFkZFJlc3VsdCgiTWVzc2FnZVsiICsgaSArICJdOiAiICsgV2ViSW5zcGVjdG9yLmRpc3Bs
YXlOYW1lRm9yVVJMKG0udXJsKSArICI6IiArIG0ubGluZSArICIgIiArIG0ubWVzc2FnZSk7Cisg
ICAgICAgICAgICB2YXIgdHJhY2UgPSBtLnN0YWNrVHJhY2U7CisgICAgICAgICAgICBpZiAoIXRy
YWNlKSB7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIkZBSUw6IG5v
IHN0YWNrIHRyYWNlIGF0dGFjaGVkIHRvIG1lc3NhZ2UgIyIgKyBpKTsKKyAgICAgICAgICAgIH0g
ZWxzZSB7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIlN0YWNrIFRy
YWNlOlxuIik7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIiAgICB1
cmw6ICIgKyB0cmFjZVswXS51cmwpOworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRk
UmVzdWx0KCIgICAgZnVuY3Rpb246ICIgKyB0cmFjZVswXS5mdW5jdGlvbk5hbWUpOworICAgICAg
ICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCIgICAgbGluZTogIiArIHRyYWNlWzBd
LmxpbmVOdW1iZXIpOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIEluc3BlY3Rv
clRlc3QuY29tcGxldGVUZXN0KCk7CisgICAgfQorICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJ
blBhZ2UoInRoaXNUZXN0KCkiKTsKK30KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rv
ci1vYnNvbGV0ZS9odHRwLXRlc3RzL3N0eWxlcy9tb2RpZnktY3Jvc3MtZG9tYWluLXJ1bGUuY3Nz
IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvc3R5bGVzL21vZGlm
eS1jcm9zcy1kb21haW4tcnVsZS5jc3MKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOWEyZWUxYTI5YTI5ZmFkNjI2N2Zj
ZjY2MmUwZTlkMzU5OWIwNTNlZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3N0eWxlcy9tb2RpZnktY3Jvc3MtZG9tYWluLXJ1bGUu
Y3NzCkBAIC0wLDAgKzEsMyBAQAorI2luc3BlY3RlZCB7CisgIGNvbG9yOiBncmVlbjsKK30KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3N0eWxl
cy9yZXNvdXJjZXMvc3R5bGVzLXJlZGlyZWN0ZWQtY3NzLmNzcyBiL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3N0eWxlcy9yZXNvdXJjZXMvc3R5bGVzLXJlZGlyZWN0
ZWQtY3NzLmNzcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44OTU5NjBjMjI1NjQ0MzE5NTI4ODUxMTZmMzAxMzU0Zjg2
OTQ1Njc4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRl
L2h0dHAtdGVzdHMvc3R5bGVzL3Jlc291cmNlcy9zdHlsZXMtcmVkaXJlY3RlZC1jc3MuY3NzCkBA
IC0wLDAgKzEsNCBAQAorZGl2IHsKKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7Cit9CisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3N0eWxl
cy9yZXNvdXJjZXMvc3R5bGVzLXJlZGlyZWN0ZWQtY3NzLnBocCBiL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3N0eWxlcy9yZXNvdXJjZXMvc3R5bGVzLXJlZGlyZWN0
ZWQtY3NzLnBocApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40ODk3OWNkZDIxYTYxYmI5ZWM0NmQ1NmExZWM5NDE4NjA5
NGRlNWUxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRl
L2h0dHAtdGVzdHMvc3R5bGVzL3Jlc291cmNlcy9zdHlsZXMtcmVkaXJlY3RlZC1jc3MucGhwCkBA
IC0wLDAgKzEsMyBAQAorPD9waHAKKyAgICBoZWFkZXIoIkxvY2F0aW9uOiBzdHlsZXMtcmVkaXJl
Y3RlZC1jc3MuY3NzIik7Cis/PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9i
c29sZXRlL2h0dHAtdGVzdHMvc3R5bGVzL3Jlc291cmNlcy94c2wtdHJhbnNmb3JtZWQueHNsIGIv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvc3R5bGVzL3Jlc291cmNl
cy94c2wtdHJhbnNmb3JtZWQueHNsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBlNmIxNzdiODRjYzM2MjdlMDdkZWZl
ZmRlNzkxNTkyMGQ0YTRlMmMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0
b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9zdHlsZXMvcmVzb3VyY2VzL3hzbC10cmFuc2Zvcm1lZC54
c2wKQEAgLTAsMCArMSwzOCBAQAorPD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0ndXRmLTgn
Pz4KKzx4c2w6c3R5bGVzaGVldCB2ZXJzaW9uPSIxLjAiCisgICAgICAgICAgICAgICAgaWQ9InN0
eWxlc2hlZXQiCisgICAgICAgICAgICAgICAgeG1sbnM6eHNsPSJodHRwOi8vd3d3LnczLm9yZy8x
OTk5L1hTTC9UcmFuc2Zvcm0iPgorICAgIDx4c2w6dGVtcGxhdGUgbWF0Y2g9Iml0ZW1zIj4KKyAg
ICAgICAgPGh0bWw+CisgICAgICAgIDxoZWFkPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vaW5z
cGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vZWxlbWVu
dHMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQ+CisgICAgICAgIGZ1bmN0aW9uIHRl
c3QoKQorICAgICAgICB7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LnJlbG9hZFBhZ2Uoc3Rl
cDEpOworCisgICAgICAgICAgICBmdW5jdGlvbiBzdGVwMSgpCisgICAgICAgICAgICB7CisgICAg
ICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5ydW5BZnRlclJlc291cmNlc0FyZUZpbmlzaGVkKFsi
eHNsLXRyYW5zZm9ybWVkLnhzbCJdLCBJbnNwZWN0b3JUZXN0LmV4cGFuZEVsZW1lbnRzVHJlZS5i
aW5kKEluc3BlY3RvclRlc3QsIHN0ZXAyKSk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAg
IGZ1bmN0aW9uIHN0ZXAyKCkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBJbnNwZWN0
b3JUZXN0LmR1bXBFbGVtZW50c1RyZWUoKTsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0
LmNvbXBsZXRlVGVzdCgpOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIDwvc2Ny
aXB0PgorICAgICAgICA8L2hlYWQ+CisgICAgICAgIDxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4K
KyAgICAgICAgPHA+VGVzdHMgdGhhdCBYU0wtdHJhbnNmb3JtZWQgZG9jdW1lbnRzIGluIHRoZSBt
YWluIGZyYW1lIGFyZSByZW5kZXJlZCBjb3JyZWN0bHkgaW4gdGhlIEVsZW1lbnRzIHBhbmVsLiA8
YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTExMzEzIj5C
dWcgMTExMzEzPC9hPjwvcD4KKyAgICAgICAgPHhzbDpmb3ItZWFjaCBzZWxlY3Q9Iml0ZW0iPgor
ICAgICAgICAgIDxzcGFuPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIuIi8+PC9zcGFuPgorICAgICAg
ICA8L3hzbDpmb3ItZWFjaD4KKyAgICAgICAgPC9ib2R5PgorICAgICAgICA8L2h0bWw+CisgICAg
PC94c2w6dGVtcGxhdGU+Cis8L3hzbDpzdHlsZXNoZWV0PgorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9zdHlsZXMvc3R5bGVzLXJlZGlyZWN0
ZWQtY3NzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRw
LXRlc3RzL3N0eWxlcy9zdHlsZXMtcmVkaXJlY3RlZC1jc3MtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmM3Y2YwNzAzYjhkM2M0NjAwZjk0ZDFhMDI1ODZjNmUyNzU5ZTRkNjkKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9zdHlsZXMv
c3R5bGVzLXJlZGlyZWN0ZWQtY3NzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQgQEAKK1Rlc3Rz
IHRoYXQgc3R5bGVzIGluIHJlZGlyZWN0ZWQgY3NzIGFyZSBlZGl0YWJsZS4KKworQnVnIDY4NjMx
Cit0ZXN0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10
ZXN0cy9zdHlsZXMvc3R5bGVzLXJlZGlyZWN0ZWQtY3NzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9zdHlsZXMvc3R5bGVzLXJlZGlyZWN0ZWQtY3NzLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uOGYyYmJiMjY0ZTg3MmJhZjA3NmEyMjFmNGVkNjFiM2QyNzFlNmJhZAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRl
c3RzL3N0eWxlcy9zdHlsZXMtcmVkaXJlY3RlZC1jc3MuaHRtbApAQCAtMCwwICsxLDMzIEBACis8
aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJyZXNvdXJjZXMvc3R5
bGVzLXJlZGlyZWN0ZWQtY3NzLnBocCIgdHlwZT0idGV4dC9jc3MiPgorPHNjcmlwdCBzcmM9Ii4u
L2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9lbGVtZW50cy10
ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisKK2Z1bmN0aW9uIHRlc3QoKQoreworICAgIElu
c3BlY3RvclRlc3Quc2VsZWN0Tm9kZUFuZFdhaXRGb3JTdHlsZXMoInRlc3RfZGl2Iiwgc3RlcDEp
OworCisgICAgZnVuY3Rpb24gc3RlcDEoKQorICAgIHsKKyAgICAgICAgdmFyIHRyZWVJdGVtID0g
SW5zcGVjdG9yVGVzdC5nZXRNYXRjaGVkU3R5bGVQcm9wZXJ0eVRyZWVJdGVtKCJiYWNrZ3JvdW5k
LWNvbG9yIik7CisgICAgICAgIHRyZWVJdGVtLnByb3BlcnR5LnNldERpc2FibGVkKHRydWUsIHN0
ZXAyKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBzdGVwMihuZXdTdHlsZSkKKyAgICB7CisgICAg
ICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0VHJ1ZSghIW5ld1N0eWxlLCAiQ291bGQgbm90IGRpc2Fi
bGUgc3R5bGUgaW4gcmVkaXJlY3RlZCBjc3MuIik7CisgICAgICAgIEluc3BlY3RvclRlc3QuY29t
cGxldGVUZXN0KCk7CisgICAgfQorfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9
InJ1blRlc3QoKSI+Cis8cD5UZXN0cyB0aGF0IHN0eWxlcyBpbiByZWRpcmVjdGVkIGNzcyBhcmUg
ZWRpdGFibGUuPC9wPgorPGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTY4NjMxIj5CdWcgNjg2MzE8L2E+CisKKzxkaXYgaWQ9InRlc3RfZGl2Ij50ZXN0PC9k
aXY+Cis8L2JvZHk+Cis8L2h0bWw+CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rv
ci1vYnNvbGV0ZS9odHRwLXRlc3RzL3N0eWxlcy94c2wtdHJhbnNmb3JtZWQtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvc3R5bGVzL3hzbC10
cmFuc2Zvcm1lZC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2U0MTU1MzczOWE4MDNlNjFjNDdk
ZmE4ZGM5MDc0ZDY0NGY0NWYyZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3N0eWxlcy94c2wtdHJhbnNmb3JtZWQtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzMgQEAKK1Rlc3RzIHRoYXQgWFNMLXRyYW5zZm9ybWVkIGRvY3VtZW50
cyBpbiB0aGUgbWFpbiBmcmFtZSBhcmUgcmVuZGVyZWQgY29ycmVjdGx5IGluIHRoZSBFbGVtZW50
cyBwYW5lbC4gQnVnIDExMTMxMworCitPbmVUd29UaHJlZQorUGFnZSByZWxvYWRlZC4KKy0gPGh0
bWw+CisgICAgLSA8aGVhZD4KKyAgICAgICAgICA8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5
cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCI+CisgICAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vZWxlbWVudHMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uL3Jlc291cmNlcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgLSA8c2NyaXB0Pgor
ICAgICAgICAgICAgICBmdW5jdGlvbiB0ZXN0KClcbiAgICAgICAge1xuICAgICAgICAgICAgSW5z
cGVjdG9yVGVzdC5yZWxvYWRQYWdlKHN0ZXAxKTtcblxuICAgICAgICAgICAgZnVuY3Rpb24gc3Rl
cDEoKVxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QucnVuQWZ0
ZXJSZXNvdXJjZXNBcmVGaW5pc2hlZChbInhzbC10cmFuc2Zvcm1lZC54c2wiXSwgSW5zcGVjdG9y
VGVzdC5leHBhbmRFbGVtZW50c1RyZWUuYmluZChJbnNwZWN0b3JUZXN0LCBzdGVwMikpO1xuICAg
ICAgICAgICAgfVxuXG4gICAgICAgICAgICBmdW5jdGlvbiBzdGVwMigpXG4gICAgICAgICAgICB7
XG4gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wRWxlbWVudHNUcmVlKCk7XG4gICAg
ICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTtcbiAgICAgICAgICAgIH1c
biAgICAgICAgfVxuCisgICAgICAgICAgPC9zY3JpcHQ+CisgICAgICA8L2hlYWQ+CisgICAgLSA8
Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+CisgICAgICAgIC0gPHA+CisgICAgICAgICAgICAgICJU
ZXN0cyB0aGF0IFhTTC10cmFuc2Zvcm1lZCBkb2N1bWVudHMgaW4gdGhlIG1haW4gZnJhbWUgYXJl
IHJlbmRlcmVkIGNvcnJlY3RseSBpbiB0aGUgRWxlbWVudHMgcGFuZWwuICIKKyAgICAgICAgICAg
ICAgPGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExMTMx
MyI+QnVnIDExMTMxMzwvYT4KKyAgICAgICAgICA8L3A+CisgICAgICAgICAgPHNwYW4+T25lPC9z
cGFuPgorICAgICAgICAgIDxzcGFuPlR3bzwvc3Bhbj4KKyAgICAgICAgICA8c3Bhbj5UaHJlZTwv
c3Bhbj4KKyAgICAgICAgLSA8ZGl2PgorICAgICAgICAgICAgLSA8ZGl2PgorICAgICAgICAgICAg
ICAgIC0gPGRpdiBjbGFzcz0ib3V0cHV0IiBpZD0ib3V0cHV0IiBzdHlsZT0id2hpdGUtc3BhY2U6
IHByZTsiPgorICAgICAgICAgICAgICAgICAgICAgICJQYWdlIHJlbG9hZGVkLiIKKyAgICAgICAg
ICAgICAgICAgICAgICA8YnI+CisgICAgICAgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAg
ICAgPC9kaXY+CisgICAgICAgICAgPC9kaXY+CisgICAgICA8L2JvZHk+CisgIDwvaHRtbD4KKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvc3R5
bGVzL3hzbC10cmFuc2Zvcm1lZC54bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUv
aHR0cC10ZXN0cy9zdHlsZXMveHNsLXRyYW5zZm9ybWVkLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wMzQ1YzM4
OWYzNTIxOGZiMTljY2ZkYzI0NjE5ZDA4NjQwMTIxMmE3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvc3R5bGVzL3hzbC10cmFuc2Zv
cm1lZC54bWwKQEAgLTAsMCArMSw2IEBACis8P3htbC1zdHlsZXNoZWV0IHR5cGU9InRleHQveHNs
IiBocmVmPSJyZXNvdXJjZXMveHNsLXRyYW5zZm9ybWVkLnhzbCI/PgorPGl0ZW1zPgorICA8aXRl
bT5PbmU8L2l0ZW0+CisgIDxpdGVtPlR3bzwvaXRlbT4KKyAgPGl0ZW0+VGhyZWU8L2l0ZW0+Cis8
L2l0ZW1zPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAt
dGVzdHMvc3R5bGVzaGVldC1zb3VyY2UtbWFwcGluZy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9zdHlsZXNoZWV0LXNvdXJjZS1tYXBwaW5n
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40OThkZjljYjcyMzQ5Y2M4OTRmZWI1NGU0ZjFkNDgy
Yzk2MWZjMTgwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29s
ZXRlL2h0dHAtdGVzdHMvc3R5bGVzaGVldC1zb3VyY2UtbWFwcGluZy1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSw0IEBACitUZXN0cyBTb3VyY2VNYXAgYW5kIFN0eWxlU2hlZXRNYXBwaW5nLgorCitQ
QVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRl
c3RzL3N0eWxlc2hlZXQtc291cmNlLW1hcHBpbmcuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rv
ci1vYnNvbGV0ZS9odHRwLXRlc3RzL3N0eWxlc2hlZXQtc291cmNlLW1hcHBpbmcuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi42MDQ0NGYyZDgyYmEwMDdlZTZlYjI0OTRhYjc1NTZiYWYwZjIxYTg0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvc3R5
bGVzaGVldC1zb3VyY2UtbWFwcGluZy5odG1sCkBAIC0wLDAgKzEsOTAgQEAKKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9ImRlYnVnZ2VyLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9IndvcmtzcGFjZS10
ZXN0LmpzIj48L3NjcmlwdD4KKworPHNjcmlwdD4KKworZnVuY3Rpb24gdGVzdCgpCit7CisgICAg
SW5zcGVjdG9yVGVzdC5jcmVhdGVXb3Jrc3BhY2UoKTsKKyAgICB2YXIgY3NzTW9kZWwgPSBuZXcg
V2ViSW5zcGVjdG9yLkNTU1N0eWxlTW9kZWwoSW5zcGVjdG9yVGVzdC50ZXN0V29ya3NwYWNlKTsK
KyAgICB2YXIgbWFwcGluZyA9IG5ldyBXZWJJbnNwZWN0b3IuU0FTU1NvdXJjZU1hcHBpbmcoY3Nz
TW9kZWwsIEluc3BlY3RvclRlc3QudGVzdFdvcmtzcGFjZSwgSW5zcGVjdG9yVGVzdC50ZXN0TmV0
d29ya1dvcmtzcGFjZVByb3ZpZGVyKTsKKyAgICB2YXIgc3R5bGVzU291cmNlTWFwcGluZyA9IG5l
dyBXZWJJbnNwZWN0b3IuU3R5bGVzU291cmNlTWFwcGluZyhjc3NNb2RlbCwgSW5zcGVjdG9yVGVz
dC50ZXN0V29ya3NwYWNlKTsKKworICAgIEluc3BlY3RvclRlc3Qud2FpdEZvcldvcmtzcGFjZVVJ
U291cmNlQ29kZUFkZGVkRXZlbnQoY3NzVUlTb3VyY2VDb2RlQWRkZWQpOworICAgIEluc3BlY3Rv
clRlc3QuYWRkTW9ja1VJU291cmNlQ29kZVRvV29ya3NwYWNlKCJodHRwOi8vbG9jYWxob3N0Ojgw
MDAvaW5zcGVjdG9yL3Jlc291cmNlcy9leGFtcGxlLmNzcyIsIFdlYkluc3BlY3Rvci5yZXNvdXJj
ZVR5cGVzLlN0eWxlc2hlZXQsICIiKTsKKyAgICB2YXIgZXZlbnQgPSB7IGRhdGE6IGNyZWF0ZU1v
Y2tTdHlsZVNoZWV0UmVzb3VyY2UoImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9pbnNwZWN0b3IvcmVz
b3VyY2VzL2V4YW1wbGUuY3NzIiwgInRleHQvY3NzIiwKKyAgICAgICAgIi8qIENvbW1lbnQgKi9c
biIgKworICAgICAgICAiYSB7XG4iICsKKyAgICAgICAgIiAgZm9vOiBiYXI7XG4iICsKKyAgICAg
ICAgIiAgLyogU09NRSBDT01NRU5UICovXG4iICsKKyAgICAgICAgIiAgZm9udC1zaXplOiAxMnB4
OyB9XG5cbiIgKworICAgICAgICAiLyojIHNvdXJjZU1hcHBpbmdVUkw9ZXhhbXBsZS5jc3MubWFw
ICovIikgfTsKKyAgICBzdHlsZXNTb3VyY2VNYXBwaW5nLl9yZXNvdXJjZUFkZGVkKGV2ZW50KTsK
KyAgICBtYXBwaW5nLl9yZXNvdXJjZUFkZGVkKGV2ZW50KTsKKyAgICBhZnRlclN0eWxlU2hlZXRB
ZGRlZCgpOworCisgICAgZnVuY3Rpb24gY3JlYXRlTW9ja1N0eWxlU2hlZXRSZXNvdXJjZSh1cmws
IG1pbWVUeXBlLCBjb250ZW50KQorICAgIHsKKyAgICAgICAgY29uc3QgZG9jdW1lbnRVUkwgPSAi
aHR0cDovL2xvY2FsaG9zdDo4MDAwL2luc3BlY3Rvci9zdHlsZXNoZWV0LXNvdXJjZS1tYXBwaW5n
Lmh0bWwiOworICAgICAgICBjb25zdCBmcmFtZSA9IFdlYkluc3BlY3Rvci5yZXNvdXJjZVRyZWVN
b2RlbC5tYWluRnJhbWU7CisgICAgICAgIHZhciByZXNvdXJjZSA9IG5ldyBXZWJJbnNwZWN0b3Iu
UmVzb3VyY2UobnVsbCwgdXJsLCBkb2N1bWVudFVSTCwgZnJhbWUuaWQsIGZyYW1lLmxvYWRlcklk
LCBXZWJJbnNwZWN0b3IucmVzb3VyY2VUeXBlcy5TdHlsZXNoZWV0LCBtaW1lVHlwZSk7CisgICAg
ICAgIHJlc291cmNlLnJlcXVlc3RDb250ZW50ID0gZnVuY3Rpb24oY2FsbGJhY2spCisgICAgICAg
IHsKKyAgICAgICAgICAgIGNhbGxiYWNrKGNvbnRlbnQsIGZhbHNlLCBtaW1lVHlwZSk7CisgICAg
ICAgIH0KKyAgICAgICAgcmV0dXJuIHJlc291cmNlOworICAgIH0KKworCisgICAgZnVuY3Rpb24g
Y3NzVUlTb3VyY2VDb2RlQWRkZWQodWlTb3VyY2VDb2RlKQorICAgIHsKKyAgICAgICAgSW5zcGVj
dG9yVGVzdC53YWl0Rm9yV29ya3NwYWNlVUlTb3VyY2VDb2RlQWRkZWRFdmVudChzY3NzVUlTb3Vy
Y2VDb2RlQWRkZWQpOworICAgIH0KKworICAgIGZ1bmN0aW9uIHNjc3NVSVNvdXJjZUNvZGVBZGRl
ZCh1aVNvdXJjZUNvZGUpCisgICAgeworICAgIH0KKworICAgIGZ1bmN0aW9uIHJhd0xvY2F0aW9u
VG9VSUxvY2F0aW9uKGxpbmUsIGNvbHVtbiwgdXJsKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGNz
c01vZGVsLnJhd0xvY2F0aW9uVG9VSUxvY2F0aW9uKG5ldyBXZWJJbnNwZWN0b3IuQ1NTTG9jYXRp
b24oImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2VzL2V4YW1wbGUuY3Nz
IiwgbGluZSwgY29sdW1uKSk7CisgICAgfQorCisgICAgZnVuY3Rpb24gYWZ0ZXJTdHlsZVNoZWV0
QWRkZWQoKQorICAgIHsKKyAgICAgICAgdmFyIGNzc1VJU291cmNlQ29kZSA9IEluc3BlY3RvclRl
c3QudGVzdFdvcmtzcGFjZS51aVNvdXJjZUNvZGVGb3JPcmlnaW5VUkwoImh0dHA6Ly9sb2NhbGhv
c3Q6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2VzL2V4YW1wbGUuY3NzIik7CisgICAgICAgIHZhciBz
Y3NzVUlTb3VyY2VDb2RlID0gSW5zcGVjdG9yVGVzdC50ZXN0V29ya3NwYWNlLnVpU291cmNlQ29k
ZUZvck9yaWdpblVSTCgiaHR0cDovL2xvY2FsaG9zdDo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZXMv
ZXhhbXBsZS5zY3NzIik7CisKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5jaGVja1VJTG9jYXRpb24o
Y3NzVUlTb3VyY2VDb2RlLCAwLCAzLCByYXdMb2NhdGlvblRvVUlMb2NhdGlvbigwLCAzKSk7Cisg
ICAgICAgIEluc3BlY3RvclRlc3QuY2hlY2tVSUxvY2F0aW9uKHNjc3NVSVNvdXJjZUNvZGUsIDEs
IDAsIHJhd0xvY2F0aW9uVG9VSUxvY2F0aW9uKDEsIDApKTsKKyAgICAgICAgSW5zcGVjdG9yVGVz
dC5jaGVja1VJTG9jYXRpb24oc2Nzc1VJU291cmNlQ29kZSwgMiwgMiwgcmF3TG9jYXRpb25Ub1VJ
TG9jYXRpb24oMiwgNCkpOworICAgICAgICBJbnNwZWN0b3JUZXN0LmNoZWNrVUlMb2NhdGlvbihz
Y3NzVUlTb3VyY2VDb2RlLCAyLCA1LCByYXdMb2NhdGlvblRvVUlMb2NhdGlvbigyLCA2KSk7Cisg
ICAgICAgIEluc3BlY3RvclRlc3QuY2hlY2tVSUxvY2F0aW9uKHNjc3NVSVNvdXJjZUNvZGUsIDIs
IDcsIHJhd0xvY2F0aW9uVG9VSUxvY2F0aW9uKDIsIDkpKTsKKyAgICAgICAgSW5zcGVjdG9yVGVz
dC5jaGVja1VJTG9jYXRpb24oc2Nzc1VJU291cmNlQ29kZSwgMiwgMTAsIHJhd0xvY2F0aW9uVG9V
SUxvY2F0aW9uKDMsIDcpKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5jaGVja1VJTG9jYXRpb24o
c2Nzc1VJU291cmNlQ29kZSwgNCwgMiwgcmF3TG9jYXRpb25Ub1VJTG9jYXRpb24oNCwgOCkpOwor
ICAgICAgICBJbnNwZWN0b3JUZXN0LmNoZWNrVUlMb2NhdGlvbihzY3NzVUlTb3VyY2VDb2RlLCA0
LCAyLCByYXdMb2NhdGlvblRvVUlMb2NhdGlvbig0LCAxMCkpOworICAgICAgICBJbnNwZWN0b3JU
ZXN0LmNoZWNrVUlMb2NhdGlvbihzY3NzVUlTb3VyY2VDb2RlLCA0LCAxMSwgcmF3TG9jYXRpb25U
b1VJTG9jYXRpb24oNCwgMTEpKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5jaGVja1VJTG9jYXRp
b24oc2Nzc1VJU291cmNlQ29kZSwgNCwgMTMsIHJhd0xvY2F0aW9uVG9VSUxvY2F0aW9uKDQsIDE1
KSk7CisgICAgICAgIEluc3BlY3RvclRlc3QuY2hlY2tVSUxvY2F0aW9uKHNjc3NVSVNvdXJjZUNv
ZGUsIDQsIDE3LCByYXdMb2NhdGlvblRvVUlMb2NhdGlvbig0LCAyMCkpOworICAgICAgICBzY3Nz
VUlTb3VyY2VDb2RlLnJlcXVlc3RDb250ZW50KGRpZFJlcXVlc3RDb250ZW50KTsKKworICAgICAg
ICBmdW5jdGlvbiBkaWRSZXF1ZXN0Q29udGVudChjb250ZW50LCBjb250ZW50RW5jb2RlZCwgbWlt
ZVR5cGUpCisgICAgICAgIHsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0RXF1YWxz
KDAsIGNvbnRlbnQuaW5kZXhPZigiLyogQ29tbWVudCAqLyIpKTsKKyAgICAgICAgICAgIEluc3Bl
Y3RvclRlc3QuYWRkUmVzdWx0KCJQQVNTIik7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmNv
bXBsZXRlVGVzdCgpOworICAgICAgICB9CisgICAgfQorfQorCis8L3NjcmlwdD4KKworPC9oZWFk
PgorCis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Cis8cD5UZXN0cyBTb3VyY2VNYXAgYW5kIFN0
eWxlU2hlZXRNYXBwaW5nLjwvcD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3RpbWVsaW5lLXRlc3QuanMgYi9M
YXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy90aW1lbGluZS10ZXN0Lmpz
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjIwZjNmYmFmMzkxZjEzNDMxYmEyY2Q3YzNkNzQ2ODhjYThlMzc1YzYKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0
cy90aW1lbGluZS10ZXN0LmpzCkBAIC0wLDAgKzEsMjM3IEBACit2YXIgaW5pdGlhbGl6ZV9UaW1l
bGluZSA9IGZ1bmN0aW9uKCkgeworCisvLyBTY3J1YiB2YWx1ZXMgd2hlbiBwcmludGluZyBvdXQg
dGhlc2UgcHJvcGVydGllcyBpbiB0aGUgcmVjb3JkIG9yIGRhdGEgZmllbGQuCitJbnNwZWN0b3JU
ZXN0LnRpbWVsaW5lUHJvcGVydHlGb3JtYXR0ZXJzID0geworICAgIGNoaWxkcmVuOiAiZm9ybWF0
QXNUeXBlTmFtZSIsCisgICAgZW5kVGltZTogImZvcm1hdEFzVHlwZU5hbWUiLAorICAgIHJlcXVl
c3RJZDogImZvcm1hdEFzVHlwZU5hbWUiLAorICAgIHN0YXJ0VGltZTogImZvcm1hdEFzVHlwZU5h
bWUiLAorICAgIHN0YWNrVHJhY2U6ICJmb3JtYXRBc1R5cGVOYW1lIiwKKyAgICB1cmw6ICJmb3Jt
YXRBc1R5cGVOYW1lIiwKKyAgICBzY3JpcHROYW1lOiAiZm9ybWF0QXNUeXBlTmFtZSIsCisgICAg
dXNlZEhlYXBTaXplOiAiZm9ybWF0QXNUeXBlTmFtZSIsCisgICAgdXNlZEhlYXBTaXplRGVsdGE6
ICJza2lwIiwKKyAgICBtaW1lVHlwZTogImZvcm1hdEFzVHlwZU5hbWUiLAorICAgIGlkOiAiZm9y
bWF0QXNUeXBlTmFtZSIsCisgICAgY291bnRlcnM6ICJmb3JtYXRBc1R5cGVOYW1lIiwKKyAgICB0
aW1lcklkOiAiZm9ybWF0QXNUeXBlTmFtZSIsCisgICAgc2NyaXB0TGluZTogImZvcm1hdEFzVHlw
ZU5hbWUiLAorICAgIGxpbmVOdW1iZXI6ICJmb3JtYXRBc1R5cGVOYW1lIiwKKyAgICBmcmFtZUlk
OiAiZm9ybWF0QXNUeXBlTmFtZSIsCisgICAgZW5jb2RlZERhdGFMZW5ndGg6ICJmb3JtYXRBc1R5
cGVOYW1lIiwKKyAgICBpZGVudGlmaWVyOiAiZm9ybWF0QXNUeXBlTmFtZSIsCisgICAgY2xpcDog
ImZvcm1hdEFzVHlwZU5hbWUiLAorICAgIHJvb3Q6ICJmb3JtYXRBc1R5cGVOYW1lIiwKK307CisK
K0luc3BlY3RvclRlc3Quc3RhcnRUaW1lbGluZSA9IGZ1bmN0aW9uKGNhbGxiYWNrKQoreworICAg
IEluc3BlY3RvclRlc3QuX3RpbWVsaW5lUmVjb3JkcyA9IFtdOworICAgIFdlYkluc3BlY3Rvci5w
YW5lbCgidGltZWxpbmUiKS50b2dnbGVUaW1lbGluZUJ1dHRvbi50b2dnbGVkID0gdHJ1ZTsKKyAg
ICBXZWJJbnNwZWN0b3IucGFuZWwoInRpbWVsaW5lIikuX21vZGVsLl9jb2xsZWN0aW9uRW5hYmxl
ZCA9IHRydWU7CisgICAgVGltZWxpbmVBZ2VudC5zdGFydCg1LCB0cnVlLCBmYWxzZSwgY2FsbGJh
Y2spOworICAgIGZ1bmN0aW9uIGFkZFJlY29yZChyZWNvcmQpCisgICAgeworICAgICAgICBJbnNw
ZWN0b3JUZXN0Ll90aW1lbGluZVJlY29yZHMucHVzaChyZWNvcmQpOworICAgICAgICBmb3IgKHZh
ciBpID0gMDsgcmVjb3JkLmNoaWxkcmVuICYmIGkgPCByZWNvcmQuY2hpbGRyZW4ubGVuZ3RoOyAr
K2kpCisgICAgICAgICAgICBhZGRSZWNvcmQocmVjb3JkLmNoaWxkcmVuW2ldKTsKKyAgICB9Cisg
ICAgSW5zcGVjdG9yVGVzdC5fYWRkVGltZWxpbmVFdmVudCA9IGZ1bmN0aW9uKGV2ZW50KQorICAg
IHsKKyAgICAgICAgYWRkUmVjb3JkKGV2ZW50LmRhdGEpOworICAgIH0KKyAgICBXZWJJbnNwZWN0
b3IudGltZWxpbmVNYW5hZ2VyLmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLlRpbWVsaW5l
TWFuYWdlci5FdmVudFR5cGVzLlRpbWVsaW5lRXZlbnRSZWNvcmRlZCwgSW5zcGVjdG9yVGVzdC5f
YWRkVGltZWxpbmVFdmVudCk7Cit9OworCisKK0luc3BlY3RvclRlc3Qud2FpdEZvclJlY29yZFR5
cGUgPSBmdW5jdGlvbihyZWNvcmRUeXBlLCBjYWxsYmFjaykKK3sKKyAgICBXZWJJbnNwZWN0b3Iu
dGltZWxpbmVNYW5hZ2VyLmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLlRpbWVsaW5lTWFu
YWdlci5FdmVudFR5cGVzLlRpbWVsaW5lRXZlbnRSZWNvcmRlZCwgYWRkRXZlbnQpOworCisgICAg
ZnVuY3Rpb24gYWRkRXZlbnQoZXZlbnQpCisgICAgeworICAgICAgICBhZGRSZWNvcmQoZXZlbnQu
ZGF0YSk7CisgICAgfQorICAgIGZ1bmN0aW9uIGFkZFJlY29yZChyZWNvcmQpCisgICAgeworICAg
ICAgICBpZiAocmVjb3JkLnR5cGUgIT09IFdlYkluc3BlY3Rvci5UaW1lbGluZU1vZGVsLlJlY29y
ZFR5cGVbcmVjb3JkVHlwZV0pIHsKKyAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyByZWNvcmQu
Y2hpbGRyZW4gJiYgaSA8IHJlY29yZC5jaGlsZHJlbi5sZW5ndGg7ICsraSkKKyAgICAgICAgICAg
ICAgICBhZGRSZWNvcmQocmVjb3JkLmNoaWxkcmVuW2ldKTsKKyAgICAgICAgICAgIHJldHVybjsK
KyAgICAgICAgfQorICAgICAgICBXZWJJbnNwZWN0b3IudGltZWxpbmVNYW5hZ2VyLnJlbW92ZUV2
ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLlRpbWVsaW5lTWFuYWdlci5FdmVudFR5cGVzLlRpbWVs
aW5lRXZlbnRSZWNvcmRlZCwgYWRkRXZlbnQpOworICAgICAgICBjYWxsYmFjayhyZWNvcmQpOwor
ICAgIH0KK30KKworSW5zcGVjdG9yVGVzdC5zdG9wVGltZWxpbmUgPSBmdW5jdGlvbihjYWxsYmFj
aykKK3sKKyAgICBmdW5jdGlvbiBkaWRTdG9wKCkKKyAgICB7CisgICAgICAgIFdlYkluc3BlY3Rv
ci50aW1lbGluZU1hbmFnZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuVGltZWxp
bmVNYW5hZ2VyLkV2ZW50VHlwZXMuVGltZWxpbmVFdmVudFJlY29yZGVkLCBJbnNwZWN0b3JUZXN0
Ll9hZGRUaW1lbGluZUV2ZW50KTsKKyAgICAgICAgV2ViSW5zcGVjdG9yLnBhbmVsKCJ0aW1lbGlu
ZSIpLnRvZ2dsZVRpbWVsaW5lQnV0dG9uLnRvZ2dsZWQgPSBmYWxzZTsKKyAgICAgICAgV2ViSW5z
cGVjdG9yLnBhbmVsKCJ0aW1lbGluZSIpLl9tb2RlbC5fY29sbGVjdGlvbkVuYWJsZWQgPSBmYWxz
ZTsKKyAgICAgICAgY2FsbGJhY2soSW5zcGVjdG9yVGVzdC5fdGltZWxpbmVSZWNvcmRzKTsKKyAg
ICB9CisgICAgVGltZWxpbmVBZ2VudC5zdG9wKGRpZFN0b3ApOworfTsKKworSW5zcGVjdG9yVGVz
dC5ldmFsdWF0ZVdpdGhUaW1lbGluZSA9IGZ1bmN0aW9uKGFjdGlvbnMsIGRvbmVDYWxsYmFjaykK
K3sKKyAgICBJbnNwZWN0b3JUZXN0LnN0YXJ0VGltZWxpbmUoc3RlcDEpOworICAgIGZ1bmN0aW9u
IHN0ZXAxKCkKKyAgICB7CisgICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoYWN0
aW9ucywgc3RlcDIpOworICAgIH0KKworICAgIGZ1bmN0aW9uIHN0ZXAyKCkKKyAgICB7CisgICAg
ICAgIEluc3BlY3RvclRlc3Quc3RvcFRpbWVsaW5lKGRvbmVDYWxsYmFjayk7CisgICAgfQorCit9
CisKK0luc3BlY3RvclRlc3QucGVyZm9ybUFjdGlvbnNBbmRQcmludCA9IGZ1bmN0aW9uKGFjdGlv
bnMsIHR5cGVOYW1lLCBpbmNsdWRlVGltZVN0YW1wcykKK3sKKyAgICBmdW5jdGlvbiBjYWxsYmFj
aygpCisgICAgeworICAgICAgICBJbnNwZWN0b3JUZXN0LnByaW50VGltZWxpbmVSZWNvcmRzKHR5
cGVOYW1lKTsKKyAgICAgICAgaWYgKGluY2x1ZGVUaW1lU3RhbXBzKSB7CisgICAgICAgICAgICBJ
bnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiVGltZXN0YW1wIHJlY29yZHM6ICIpOworICAgICAgICAg
ICAgSW5zcGVjdG9yVGVzdC5wcmludFRpbWVzdGFtcFJlY29yZHModHlwZU5hbWUpOworICAgICAg
ICB9CisgICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7CisgICAgfQorICAgIElu
c3BlY3RvclRlc3QuZXZhbHVhdGVXaXRoVGltZWxpbmUoYWN0aW9ucywgY2FsbGJhY2spCit9Owor
CitJbnNwZWN0b3JUZXN0LnByaW50VGltZWxpbmVSZWNvcmRzID0gZnVuY3Rpb24odHlwZU5hbWUs
IGZvcm1hdHRlcikKK3sKKyAgICBJbnNwZWN0b3JUZXN0LmlubmVyUHJpbnRUaW1lbGluZVJlY29y
ZHMoSW5zcGVjdG9yVGVzdC5fdGltZWxpbmVSZWNvcmRzLCB0eXBlTmFtZSwgZm9ybWF0dGVyKTsK
K307CisKK0luc3BlY3RvclRlc3QucHJpbnRUaW1lc3RhbXBSZWNvcmRzID0gZnVuY3Rpb24odHlw
ZU5hbWUsIGZvcm1hdHRlcikKK3sKKyAgICBJbnNwZWN0b3JUZXN0LmlubmVyUHJpbnRUaW1lbGlu
ZVJlY29yZHMoV2ViSW5zcGVjdG9yLnBhbmVscy50aW1lbGluZS5fcHJlc2VudGF0aW9uTW9kZWwu
ZXZlbnREaXZpZGVyUmVjb3JkcygpLnNlbGVjdCgiX3JlY29yZCIpLCB0eXBlTmFtZSwgZm9ybWF0
dGVyKTsKK307CisKK0luc3BlY3RvclRlc3QuaW5uZXJQcmludFRpbWVsaW5lUmVjb3JkcyA9IGZ1
bmN0aW9uKHJlY29yZHMsIHR5cGVOYW1lLCBmb3JtYXR0ZXIpCit7CisgICAgZm9yICh2YXIgaSA9
IDA7IGkgPCByZWNvcmRzLmxlbmd0aDsgKytpKSB7CisgICAgICAgIGlmICh0eXBlTmFtZSAmJiBy
ZWNvcmRzW2ldLnR5cGUgPT09IFdlYkluc3BlY3Rvci5UaW1lbGluZU1vZGVsLlJlY29yZFR5cGVb
dHlwZU5hbWVdKQorICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5wcmludFRpbWVsaW5lUmVjb3Jk
UHJvcGVydGllcyhyZWNvcmRzW2ldKTsKKyAgICAgICAgaWYgKGZvcm1hdHRlcikKKyAgICAgICAg
ICAgIGZvcm1hdHRlcihyZWNvcmRzW2ldKTsKKyAgICB9Cit9OworCisvLyBEdW1wIGp1c3QgdGhl
IHJlY29yZCBuYW1lLCBpbmRlbnRpbmcgb3V0cHV0IG9uIHNlcGFyYXRlIGxpbmVzIGZvciBzdWJy
ZWNvcmRzCitJbnNwZWN0b3JUZXN0LmR1bXBUaW1lbGluZVJlY29yZCA9IGZ1bmN0aW9uKHJlY29y
ZCwgbGV2ZWwpIAoreworICAgIGlmICh0eXBlb2YgbGV2ZWwgIT09ICJudW1iZXIiKQorICAgICAg
ICBsZXZlbCA9IDA7CisgICAgdmFyIHByZWZpeCA9ICIiOworICAgIHZhciBzdWZmaXggPSAiIjsK
KyAgICBmb3IgKHZhciBpID0gMDsgaSA8IGxldmVsIDsgKytpKQorICAgICAgICBwcmVmaXggPSAi
LS0tLSIgKyBwcmVmaXg7CisgICAgaWYgKGxldmVsID4gMCkKKyAgICAgICAgcHJlZml4ID0gcHJl
Zml4ICsgIj4gIjsKKyAgICBpZiAocmVjb3JkLnR5cGUgPT09IFdlYkluc3BlY3Rvci5UaW1lbGlu
ZU1vZGVsLlJlY29yZFR5cGUuVGltZVN0YW1wKSB7CisgICAgICAgIHN1ZmZpeCA9ICIgOiAiICsg
cmVjb3JkLmRhdGEubWVzc2FnZTsKKyAgICB9CisgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQo
cHJlZml4ICsgSW5zcGVjdG9yVGVzdC5fdGltZWxpbmVBZ2VudFR5cGVUb1N0cmluZyhyZWNvcmQu
dHlwZSkgKyBzdWZmaXgpOworCisgICAgdmFyIG51bUNoaWxkcmVuID0gcmVjb3JkLmNoaWxkcmVu
ID8gcmVjb3JkLmNoaWxkcmVuLmxlbmd0aCA6IDA7CisgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBu
dW1DaGlsZHJlbjsgKytpKQorICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBUaW1lbGluZVJlY29y
ZChyZWNvcmQuY2hpbGRyZW5baV0sIGxldmVsICsgMSk7Cit9OworCitJbnNwZWN0b3JUZXN0LmR1
bXBUaW1lbGluZVJlY29yZHMgPSBmdW5jdGlvbih0aW1lbGluZVJlY29yZHMpCit7CisgICAgZm9y
ICh2YXIgaSA9IDA7IGkgPCB0aW1lbGluZVJlY29yZHMubGVuZ3RoOyArK2kpCisgICAgICAgIElu
c3BlY3RvclRlc3QuZHVtcFRpbWVsaW5lUmVjb3JkKHRpbWVsaW5lUmVjb3Jkc1tpXSwgMCk7Cit9
OworCitJbnNwZWN0b3JUZXN0LnByaW50VGltZWxpbmVSZWNvcmRQcm9wZXJ0aWVzID0gZnVuY3Rp
b24ocmVjb3JkKQoreworICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KEluc3BlY3RvclRlc3Qu
X3RpbWVsaW5lQWdlbnRUeXBlVG9TdHJpbmcocmVjb3JkLnR5cGUpICsgIiBQcm9wZXJ0aWVzOiIp
OworICAgIC8vIFVzZSB0aGlzIHJlY3Vyc2l2ZSByb3V0aW5lIHRvIHByaW50IHRoZSBwcm9wZXJ0
aWVzCisgICAgSW5zcGVjdG9yVGVzdC5hZGRPYmplY3QocmVjb3JkLCBJbnNwZWN0b3JUZXN0LnRp
bWVsaW5lUHJvcGVydHlGb3JtYXR0ZXJzKTsKK307CisKK0luc3BlY3RvclRlc3QuX3RpbWVsaW5l
QWdlbnRUeXBlVG9TdHJpbmcgPSBmdW5jdGlvbihudW1lcmljVHlwZSkKK3sKKyAgICBmb3IgKHZh
ciBwcm9wIGluIFdlYkluc3BlY3Rvci5UaW1lbGluZU1vZGVsLlJlY29yZFR5cGUpIHsKKyAgICAg
ICAgaWYgKFdlYkluc3BlY3Rvci5UaW1lbGluZU1vZGVsLlJlY29yZFR5cGVbcHJvcF0gPT09IG51
bWVyaWNUeXBlKQorICAgICAgICAgICAgcmV0dXJuIHByb3A7CisgICAgfQorICAgIHJldHVybiB1
bmRlZmluZWQ7Cit9OworCitJbnNwZWN0b3JUZXN0LmZpbmRQcmVzZW50YXRpb25SZWNvcmQgPSBm
dW5jdGlvbih0eXBlKQoreworICAgIHZhciByZXN1bHQ7CisgICAgZnVuY3Rpb24gZmluZEJ5VHlw
ZShyZWNvcmQpCisgICAgeworICAgICAgICBpZiAocmVjb3JkLnR5cGUgIT09IHR5cGUpCisgICAg
ICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIHJlc3VsdCA9IHJlY29yZDsKKyAgICAgICAg
cmV0dXJuIHRydWU7CisgICAgfQorICAgIHZhciByZWNvcmRzID0gV2ViSW5zcGVjdG9yLnBhbmVs
KCJ0aW1lbGluZSIpLl9yb290UmVjb3JkKCkuY2hpbGRyZW47CisgICAgV2ViSW5zcGVjdG9yLlRp
bWVsaW5lUHJlc2VudGF0aW9uTW9kZWwuZm9yQWxsUmVjb3JkcyhyZWNvcmRzLCBmaW5kQnlUeXBl
KTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorCitJbnNwZWN0b3JUZXN0LkZha2VGaWxlUmVhZGVy
ID0gZnVuY3Rpb24oaW5wdXQsIGRlbGVnYXRlLCBjYWxsYmFjaykKK3sKKyAgICB0aGlzLl9kZWxl
Z2F0ZSA9IGRlbGVnYXRlOworICAgIHRoaXMuX2NhbGxiYWNrID0gY2FsbGJhY2s7CisgICAgdGhp
cy5faW5wdXQgPSBpbnB1dDsKKyAgICB0aGlzLl9sb2FkZWRTaXplID0gMDsKKyAgICB0aGlzLl9m
aWxlU2l6ZSA9IGlucHV0Lmxlbmd0aDsKK307CisKK0luc3BlY3RvclRlc3QuRmFrZUZpbGVSZWFk
ZXIucHJvdG90eXBlID0geworICAgIHN0YXJ0OiBmdW5jdGlvbihvdXRwdXQpCisgICAgeworICAg
ICAgICB0aGlzLl9kZWxlZ2F0ZS5vblRyYW5zZmVyU3RhcnRlZCh0aGlzKTsKKworICAgICAgICB2
YXIgbGVuZ3RoID0gdGhpcy5faW5wdXQubGVuZ3RoOworICAgICAgICB2YXIgaGFsZiA9IChsZW5n
dGggKyAxKSA+PiAxOworCisgICAgICAgIHZhciBjaHVuayA9IHRoaXMuX2lucHV0LnN1YnN0cmlu
ZygwLCBoYWxmKTsKKyAgICAgICAgdGhpcy5fbG9hZGVkU2l6ZSArPSBjaHVuay5sZW5ndGg7Cisg
ICAgICAgIG91dHB1dC53cml0ZShjaHVuayk7CisgICAgICAgIHRoaXMuX2RlbGVnYXRlLm9uQ2h1
bmtUcmFuc2ZlcnJlZCh0aGlzKTsKKworICAgICAgICBjaHVuayA9IHRoaXMuX2lucHV0LnN1YnN0
cmluZyhoYWxmKTsKKyAgICAgICAgdGhpcy5fbG9hZGVkU2l6ZSArPSBjaHVuay5sZW5ndGg7Cisg
ICAgICAgIG91dHB1dC53cml0ZShjaHVuayk7CisgICAgICAgIHRoaXMuX2RlbGVnYXRlLm9uQ2h1
bmtUcmFuc2ZlcnJlZCh0aGlzKTsKKworICAgICAgICBvdXRwdXQuY2xvc2UoKTsKKyAgICAgICAg
dGhpcy5fZGVsZWdhdGUub25UcmFuc2ZlckZpbmlzaGVkKHRoaXMpOworCisgICAgICAgIHRoaXMu
X2NhbGxiYWNrKCk7CisgICAgfSwKKworICAgIGNhbmNlbDogZnVuY3Rpb24oKSB7IH0sCisKKyAg
ICBsb2FkZWRTaXplOiBmdW5jdGlvbigpCisgICAgeworICAgICAgICByZXR1cm4gdGhpcy5fbG9h
ZGVkU2l6ZTsKKyAgICB9LAorCisgICAgZmlsZVNpemU6IGZ1bmN0aW9uKCkKKyAgICB7CisgICAg
ICAgIHJldHVybiB0aGlzLl9maWxlU2l6ZTsKKyAgICB9LAorCisgICAgZmlsZU5hbWU6IGZ1bmN0
aW9uKCkKKyAgICB7CisgICAgICAgIHJldHVybiAiZmFrZUZpbGUiOworICAgIH0KK307CisKK307
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy93
ZWItc29ja2V0LWZyYW1lLWVycm9yLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rv
ci1vYnNvbGV0ZS9odHRwLXRlc3RzL3dlYi1zb2NrZXQtZnJhbWUtZXJyb3ItZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmExMzNmYTI3ZTZhMmY0OWQwNzNiOTViYTkzM2U5MTdjZGE0YTRlZWIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0
cy93ZWItc29ja2V0LWZyYW1lLWVycm9yLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDYgQEAKK0NP
TlNPTEUgTUVTU0FHRTogV2ViU29ja2V0IGNvbm5lY3Rpb24gdG8gJ3dzOi8vbG9jYWxob3N0Ojgw
MDAvd2Vic29ja2V0L3Rlc3RzL2h5YmkvZG9lc19ub3RfZXhpc3QnIGZhaWxlZDogVW5leHBlY3Rl
ZCByZXNwb25zZSBjb2RlOiA0MDQKK0Nsb3NlZC4KK1Rlc3RzIHRoYXQgV2ViU29ja2V0RnJhbWVz
IGVycm9ycyBhcmUgdmlzaWJsZSB0byBXZWIgSW5zcGVjdG9yLgorCisxOiBVbmV4cGVjdGVkIHJl
c3BvbnNlIGNvZGU6IDQwNAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jz
b2xldGUvaHR0cC10ZXN0cy93ZWItc29ja2V0LWZyYW1lLWVycm9yLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy93ZWItc29ja2V0LWZyYW1lLWVycm9yLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uY2I4YmRiMjIzYWY4N2NjZDQxNzI3MDJlNDkzZmZlYjE4N2UxMTA5Ngot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRl
c3RzL3dlYi1zb2NrZXQtZnJhbWUtZXJyb3IuaHRtbApAQCAtMCwwICsxLDM3IEBACis8aHRtbD4K
KzxoZWFkPgorPHNjcmlwdCBzcmM9Imluc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi8uLi8uLi9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0PgordmFyIHdzOworZnVuY3Rpb24gc2VuZE1lc3NhZ2VzKCkgeworICAg
IHdzID0gbmV3IFdlYlNvY2tldCgid3M6Ly9sb2NhbGhvc3Q6ODAwMC93ZWJzb2NrZXQvdGVzdHMv
aHliaS9kb2VzX25vdF9leGlzdCIpOworICAgIHdzLm9uY2xvc2UgPSBmdW5jdGlvbigpCisgICAg
eworICAgICAgICBkZWJ1ZygiQ2xvc2VkLiIpOworICAgIH07Cit9CisKK2Z1bmN0aW9uIHRlc3Qo
KSB7CisgICAgZnVuY3Rpb24gb25SZXF1ZXN0KGV2ZW50KQorICAgIHsKKyAgICAgICAgdmFyIHJl
cXVlc3QgPSBldmVudC5kYXRhOworICAgICAgICBpZiAocmVxdWVzdC5fdHlwZS5fbmFtZSA9PT0g
IndlYnNvY2tldCIpIHsKKyAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcmVxdWVzdC5m
cmFtZXMoKS5sZW5ndGg7IGkrKykgeworICAgICAgICAgICAgICAgIHZhciBmcmFtZSA9IHJlcXVl
c3QuZnJhbWUoaSk7CisgICAgICAgICAgICAgICAgdmFyIHJlc3VsdCA9IFN0cmluZy5zcHJpbnRm
KCIlZDogJXMiLCAoaSArIDEpLCBmcmFtZS5lcnJvck1lc3NhZ2UpOworICAgICAgICAgICAgICAg
IEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KHJlc3VsdCk7CisgICAgICAgICAgICAgICAgaWYgKGZy
YW1lLmVycm9yTWVzc2FnZSkKKyAgICAgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21w
bGV0ZVRlc3QoKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0KKyAgICBXZWJJbnNw
ZWN0b3IubmV0d29ya01hbmFnZXIuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuTmV0d29y
a01hbmFnZXIuRXZlbnRUeXBlcy5SZXF1ZXN0VXBkYXRlZCwgb25SZXF1ZXN0KTsKKyAgICBJbnNw
ZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJzZW5kTWVzc2FnZXMoKSIpOworfQorPC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Cis8cD5UZXN0cyB0aGF0IFdlYlNv
Y2tldEZyYW1lcyBlcnJvcnMgYXJlIHZpc2libGUgdG8gV2ViIEluc3BlY3Rvci48L3A+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUv
aHR0cC10ZXN0cy93ZWJzb2NrZXQvdGltZWxpbmUtd2Vic29ja2V0LWV2ZW50LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3dlYnNvY2tldC90
aW1lbGluZS13ZWJzb2NrZXQtZXZlbnQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjlmNGYwZDky
NGQ1ZDM3ZGQ4MDBiYmMxNjY3YTMzNjFkZWQxZmYwMTkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy93ZWJzb2NrZXQvdGltZWxpbmUt
d2Vic29ja2V0LWV2ZW50LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQ5IEBACitUZXN0cyB0aGUg
VGltZWxpbmUgZXZlbnRzIGZvciBXZWJTb2NrZXQKKworV2ViU29ja2V0Q3JlYXRlIFByb3BlcnRp
ZXM6Cit7CisgICAgY291bnRlcnMgOiA8b2JqZWN0PgorICAgIGRhdGEgOiB7CisgICAgICAgIGlk
ZW50aWZpZXIgOiA8bnVtYmVyPgorICAgICAgICB1cmwgOiA8c3RyaW5nPgorICAgIH0KKyAgICBm
cmFtZUlkIDogPHN0cmluZz4KKyAgICBzdGFja1RyYWNlIDogPG9iamVjdD4KKyAgICBzdGFydFRp
bWUgOiA8bnVtYmVyPgorICAgIHR5cGUgOiAiV2ViU29ja2V0Q3JlYXRlIgorICAgIHVzZWRIZWFw
U2l6ZSA6IDxudW1iZXI+Cit9CitXZWJTb2NrZXRTZW5kSGFuZHNoYWtlUmVxdWVzdCBQcm9wZXJ0
aWVzOgoreworICAgIGNvdW50ZXJzIDogPG9iamVjdD4KKyAgICBkYXRhIDogeworICAgICAgICBp
ZGVudGlmaWVyIDogPG51bWJlcj4KKyAgICB9CisgICAgZnJhbWVJZCA6IDxzdHJpbmc+CisgICAg
c3RhcnRUaW1lIDogPG51bWJlcj4KKyAgICB0eXBlIDogIldlYlNvY2tldFNlbmRIYW5kc2hha2VS
ZXF1ZXN0IgorICAgIHVzZWRIZWFwU2l6ZSA6IDxudW1iZXI+Cit9CitXZWJTb2NrZXRSZWNlaXZl
SGFuZHNoYWtlUmVzcG9uc2UgUHJvcGVydGllczoKK3sKKyAgICBjb3VudGVycyA6IDxvYmplY3Q+
CisgICAgZGF0YSA6IHsKKyAgICAgICAgaWRlbnRpZmllciA6IDxudW1iZXI+CisgICAgfQorICAg
IGZyYW1lSWQgOiA8c3RyaW5nPgorICAgIHN0YXJ0VGltZSA6IDxudW1iZXI+CisgICAgdHlwZSA6
ICJXZWJTb2NrZXRSZWNlaXZlSGFuZHNoYWtlUmVzcG9uc2UiCisgICAgdXNlZEhlYXBTaXplIDog
PG51bWJlcj4KK30KK1dlYlNvY2tldERlc3Ryb3kgUHJvcGVydGllczoKK3sKKyAgICBjb3VudGVy
cyA6IDxvYmplY3Q+CisgICAgZGF0YSA6IHsKKyAgICAgICAgaWRlbnRpZmllciA6IDxudW1iZXI+
CisgICAgfQorICAgIGZyYW1lSWQgOiA8c3RyaW5nPgorICAgIHN0YXJ0VGltZSA6IDxudW1iZXI+
CisgICAgdHlwZSA6ICJXZWJTb2NrZXREZXN0cm95IgorICAgIHVzZWRIZWFwU2l6ZSA6IDxudW1i
ZXI+Cit9CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRw
LXRlc3RzL3dlYnNvY2tldC90aW1lbGluZS13ZWJzb2NrZXQtZXZlbnQuaHRtbCBiL0xheW91dFRl
c3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3dlYnNvY2tldC90aW1lbGluZS13ZWJz
b2NrZXQtZXZlbnQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40NDc3NjBhZDQ0MDVjNGQ4ZjI5NGJjODE2NGY1
MDNmMmVjMzZhNDM2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9i
c29sZXRlL2h0dHAtdGVzdHMvd2Vic29ja2V0L3RpbWVsaW5lLXdlYnNvY2tldC1ldmVudC5odG1s
CkBAIC0wLDAgKzEsNDQgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vaW5zcGVj
dG9yLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3RpbWVsaW5lLXRlc3QuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdD4KKworZnVuY3Rpb24gcGVyZm9ybUFjdGlvbnMoKQoreworICAg
IHZhciB3cyA9IG5ldyBXZWJTb2NrZXQoIndzOi8vMTI3LjAuMC4xOjg4ODAvd2Vic29ja2V0L3Rl
c3RzL2h5Ymkvc2ltcGxlIik7CisKKyAgICB0ZXN0UnVubmVyLmRpc3BsYXkoKTsKK30KKworZnVu
Y3Rpb24gdGVzdCgpCit7CisgICAgSW5zcGVjdG9yVGVzdC5zdGFydFRpbWVsaW5lKGZ1bmN0aW9u
KCkgeworICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJwZXJmb3JtQWN0aW9u
cygpIik7CisgICAgfSk7CisKKyAgICBJbnNwZWN0b3JUZXN0LndhaXRGb3JSZWNvcmRUeXBlKCJX
ZWJTb2NrZXREZXN0cm95IiwgZmluaXNoKTsKKworICAgIGZ1bmN0aW9uIGZpbmlzaCgpCisgICAg
eworICAgICAgICBJbnNwZWN0b3JUZXN0LnByaW50VGltZWxpbmVSZWNvcmRzKCJXZWJTb2NrZXRD
cmVhdGUiKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5wcmludFRpbWVsaW5lUmVjb3JkcygiV2Vi
U29ja2V0U2VuZEhhbmRzaGFrZVJlcXVlc3QiKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5wcmlu
dFRpbWVsaW5lUmVjb3JkcygiV2ViU29ja2V0UmVjZWl2ZUhhbmRzaGFrZVJlc3BvbnNlIik7Cisg
ICAgICAgIEluc3BlY3RvclRlc3QucHJpbnRUaW1lbGluZVJlY29yZHMoIldlYlNvY2tldERlc3Ry
b3kiKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKKyAgICB9Cit9CisK
K2lmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgc2V0VGltZW91dChwZXJmb3JtQWN0aW9ucywg
MjAwMCk7CisKKzwvc2NyaXB0PgorPC9oZWFkPgorCis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+
Cis8cD4KK1Rlc3RzIHRoZSBUaW1lbGluZSBldmVudHMgZm9yIFdlYlNvY2tldAorPC9wPgorCis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xl
dGUvaHR0cC10ZXN0cy93ZWJzb2NrZXQvd2ViLXNvY2tldC1mcmFtZS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy93ZWJzb2NrZXQvd2ViLXNv
Y2tldC1mcmFtZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZWY0YTVjODAyMDljZWZmYWU0NGQ0
MzUwNjg2NDBkYWE5NjE1YWUwYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3dlYnNvY2tldC93ZWItc29ja2V0LWZyYW1lLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDE0IEBACitDb25uZWN0ZWQuCitUZXN0cyB0aGF0IFdlYlNvY2tl
dEZyYW1lcyBhcmUgYmVpbmcgc2VudCBhbmQgcmVjaWV2ZWQgYnkgV2ViIEluc3BlY3Rvci4KKwor
MS0gc2VudDogdGVzdAorMS0gc2VudDogdGVzdAorMi0gc2VudDogZXhpdAorMS0gc2VudDogdGVz
dAorMi0gc2VudDogZXhpdAorMy0gcmVjZWl2ZWQ6IHRlc3QKKzEtIHNlbnQ6IHRlc3QKKzItIHNl
bnQ6IGV4aXQKKzMtIHJlY2VpdmVkOiB0ZXN0Cis0LSByZWNlaXZlZDogZXhpdAorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy93ZWJzb2NrZXQv
d2ViLXNvY2tldC1mcmFtZS5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0
dHAtdGVzdHMvd2Vic29ja2V0L3dlYi1zb2NrZXQtZnJhbWUuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kYjcw
ODU1Mjg1NmJhY2M4NjVlMDQyMjRhYWZmY2I1NDM5MjFkMDY4Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvd2Vic29ja2V0L3dlYi1z
b2NrZXQtZnJhbWUuaHRtbApAQCAtMCwwICsxLDM5IEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlw
dCBzcmM9Ii4uL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li8uLi8uLi8uLi9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0PgordmFyIHdzOworZnVuY3Rpb24gc2VuZE1lc3NhZ2VzKCkgeworICAgIHdzID0gbmV3
IFdlYlNvY2tldCgid3M6Ly9sb2NhbGhvc3Q6ODg4MC93ZWJzb2NrZXQvdGVzdHMvaHliaS9lY2hv
Iik7CisgICAgd3Mub25vcGVuID0gZnVuY3Rpb24oKQorICAgIHsKKyAgICAgICAgZGVidWcoIkNv
bm5lY3RlZC4iKTsKKyAgICAgICAgd3Muc2VuZCgidGVzdCIpOworICAgICAgICB3cy5zZW5kKCJl
eGl0Iik7CisgICAgfTsKK30KKworZnVuY3Rpb24gdGVzdCgpIHsKKyAgICBmdW5jdGlvbiBvblJl
cXVlc3QoZXZlbnQpCisgICAgeworICAgICAgICB2YXIgcmVxdWVzdCA9IGV2ZW50LmRhdGE7Cisg
ICAgICAgIGlmIChyZXF1ZXN0Ll90eXBlLl9uYW1lID09PSAid2Vic29ja2V0IikgeworICAgICAg
ICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCByZXF1ZXN0LmZyYW1lcygpLmxlbmd0aDsgaSsrKSB7
CisgICAgICAgICAgICAgICAgdmFyIGZyYW1lID0gcmVxdWVzdC5mcmFtZShpKTsKKyAgICAgICAg
ICAgICAgICB2YXIgcmVzdWx0ID0gU3RyaW5nLnNwcmludGYoIiVkLSVzOiAlcyIsIChpICsgMSks
IGZyYW1lLnNlbnQgPyAiIHNlbnQiIDogIiByZWNlaXZlZCIsIGZyYW1lLnBheWxvYWREYXRhKTsK
KyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdChyZXN1bHQpOworICAgICAg
ICAgICAgICAgIGlmICghZnJhbWUuc2VudCAmJiBmcmFtZS5wYXlsb2FkRGF0YSA9PT0gImV4aXQi
KQorICAgICAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOworICAg
ICAgICAgICAgfQorICAgICAgICB9CisgICAgfQorICAgIFdlYkluc3BlY3Rvci5uZXR3b3JrTWFu
YWdlci5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5OZXR3b3JrTWFuYWdlci5FdmVudFR5
cGVzLlJlcXVlc3RVcGRhdGVkLCBvblJlcXVlc3QpOworICAgIEluc3BlY3RvclRlc3QuZXZhbHVh
dGVJblBhZ2UoInNlbmRNZXNzYWdlcygpIik7Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
IG9ubG9hZD0icnVuVGVzdCgpIj4KKzxwPlRlc3RzIHRoYXQgV2ViU29ja2V0RnJhbWVzIGFyZSBi
ZWluZyBzZW50IGFuZCByZWNpZXZlZCBieSBXZWIgSW5zcGVjdG9yLjwvcD4KKzwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRl
c3RzL3dvcmtzcGFjZS10ZXN0LmpzIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0
dHAtdGVzdHMvd29ya3NwYWNlLXRlc3QuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzZhY2Y0ZGY0YWUzM2JhNDNh
NDAzZGVhZjk5NmY1ZjFkYjZiOTExNwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lu
c3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3dvcmtzcGFjZS10ZXN0LmpzCkBAIC0wLDAgKzEs
NjMgQEAKK3ZhciBpbml0aWFsaXplX1dvcmtzcGFjZVRlc3QgPSBmdW5jdGlvbigpIHsKKworSW5z
cGVjdG9yVGVzdC5jcmVhdGVXb3Jrc3BhY2UgPSBmdW5jdGlvbihpZ25vcmVFdmVudHMpCit7Cisg
ICAgSW5zcGVjdG9yVGVzdC50ZXN0RmlsZU1hcHBpbmcgPSBuZXcgV2ViSW5zcGVjdG9yLkZpbGVN
YXBwaW5nKCk7CisgICAgSW5zcGVjdG9yVGVzdC50ZXN0RmlsZVN5c3RlbU1hcHBpbmcgPSBuZXcg
V2ViSW5zcGVjdG9yLkZpbGVTeXN0ZW1NYXBwaW5nSW1wbCgpOworICAgIEluc3BlY3RvclRlc3Qu
dGVzdEZpbGVTeXN0ZW1NYXBwaW5nLl9maWxlU3lzdGVtTWFwcGluZ1NldHRpbmcgPSBuZXcgSW5z
cGVjdG9yVGVzdC5Nb2NrU2V0dGluZyh7fSk7CisKKyAgICBJbnNwZWN0b3JUZXN0LnRlc3RXb3Jr
c3BhY2UgPSBuZXcgV2ViSW5zcGVjdG9yLldvcmtzcGFjZShJbnNwZWN0b3JUZXN0LnRlc3RGaWxl
TWFwcGluZywgSW5zcGVjdG9yVGVzdC50ZXN0RmlsZVN5c3RlbU1hcHBpbmcpOworICAgIEluc3Bl
Y3RvclRlc3QudGVzdE5ldHdvcmtXb3Jrc3BhY2VQcm92aWRlciA9IG5ldyBXZWJJbnNwZWN0b3Iu
U2ltcGxlV29ya3NwYWNlUHJvdmlkZXIoSW5zcGVjdG9yVGVzdC50ZXN0V29ya3NwYWNlLCBXZWJJ
bnNwZWN0b3IucHJvamVjdFR5cGVzLk5ldHdvcmspOworICAgIGlmIChpZ25vcmVFdmVudHMpCisg
ICAgICAgIHJldHVybjsKKyAgICBJbnNwZWN0b3JUZXN0LnRlc3RXb3Jrc3BhY2UuYWRkRXZlbnRM
aXN0ZW5lcihXZWJJbnNwZWN0b3IuVUlTb3VyY2VDb2RlUHJvdmlkZXIuRXZlbnRzLlVJU291cmNl
Q29kZUFkZGVkLCBJbnNwZWN0b3JUZXN0Ll9kZWZhdWx0VUlTb3VyY2VDb2RlUHJvdmlkZXJFdmVu
dEhhbmRsZXIpOworICAgIEluc3BlY3RvclRlc3QudGVzdFdvcmtzcGFjZS5hZGRFdmVudExpc3Rl
bmVyKFdlYkluc3BlY3Rvci5VSVNvdXJjZUNvZGVQcm92aWRlci5FdmVudHMuVUlTb3VyY2VDb2Rl
UmVtb3ZlZCwgSW5zcGVjdG9yVGVzdC5fZGVmYXVsdFVJU291cmNlQ29kZVByb3ZpZGVyRXZlbnRI
YW5kbGVyKTsKK30KKworSW5zcGVjdG9yVGVzdC53YWl0Rm9yV29ya3NwYWNlVUlTb3VyY2VDb2Rl
QWRkZWRFdmVudCA9IGZ1bmN0aW9uKGNhbGxiYWNrLCBjb3VudCkKK3sKKyAgICBJbnNwZWN0b3JU
ZXN0LnVpU291cmNlQ29kZUFkZGVkRXZlbnRzTGVmdCA9IGNvdW50IHx8IDE7CisgICAgSW5zcGVj
dG9yVGVzdC50ZXN0V29ya3NwYWNlLnJlbW92ZUV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLlVJ
U291cmNlQ29kZVByb3ZpZGVyLkV2ZW50cy5VSVNvdXJjZUNvZGVBZGRlZCwgSW5zcGVjdG9yVGVz
dC5fZGVmYXVsdFVJU291cmNlQ29kZVByb3ZpZGVyRXZlbnRIYW5kbGVyKTsKKyAgICBJbnNwZWN0
b3JUZXN0LnRlc3RXb3Jrc3BhY2UuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuVUlTb3Vy
Y2VDb2RlUHJvdmlkZXIuRXZlbnRzLlVJU291cmNlQ29kZUFkZGVkLCB1aVNvdXJjZUNvZGVBZGRl
ZCk7CisKKyAgICBmdW5jdGlvbiB1aVNvdXJjZUNvZGVBZGRlZChldmVudCkKKyAgICB7CisgICAg
ICAgIGlmICghKC0tSW5zcGVjdG9yVGVzdC51aVNvdXJjZUNvZGVBZGRlZEV2ZW50c0xlZnQpKSB7
CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LnRlc3RXb3Jrc3BhY2UucmVtb3ZlRXZlbnRMaXN0
ZW5lcihXZWJJbnNwZWN0b3IuVUlTb3VyY2VDb2RlUHJvdmlkZXIuRXZlbnRzLlVJU291cmNlQ29k
ZUFkZGVkLCB1aVNvdXJjZUNvZGVBZGRlZCk7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LnRl
c3RXb3Jrc3BhY2UuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuVUlTb3VyY2VDb2RlUHJv
dmlkZXIuRXZlbnRzLlVJU291cmNlQ29kZUFkZGVkLCBJbnNwZWN0b3JUZXN0Ll9kZWZhdWx0VUlT
b3VyY2VDb2RlUHJvdmlkZXJFdmVudEhhbmRsZXIpOworICAgICAgICB9CisgICAgICAgIGNhbGxi
YWNrKGV2ZW50LmRhdGEpOworICAgIH0KK30KKworSW5zcGVjdG9yVGVzdC5hZGRNb2NrVUlTb3Vy
Y2VDb2RlVG9Xb3Jrc3BhY2UgPSBmdW5jdGlvbih1cmwsIHR5cGUsIGNvbnRlbnQpCit7CisgICAg
dmFyIGlzRG9jdW1lbnQgPSB0eXBlID09PSBXZWJJbnNwZWN0b3IucmVzb3VyY2VUeXBlcy5Eb2N1
bWVudDsKKyAgICB2YXIgbW9ja0NvbnRlbnRQcm92aWRlciA9IG5ldyBXZWJJbnNwZWN0b3IuU3Rh
dGljQ29udGVudFByb3ZpZGVyKHR5cGUsIGNvbnRlbnQpOworICAgIEluc3BlY3RvclRlc3QudGVz
dE5ldHdvcmtXb3Jrc3BhY2VQcm92aWRlci5hZGRGaWxlRm9yVVJMKHVybCwgbW9ja0NvbnRlbnRQ
cm92aWRlciwgIWlzRG9jdW1lbnQpOworfQorCitJbnNwZWN0b3JUZXN0Ll9kZWZhdWx0VUlTb3Vy
Y2VDb2RlUHJvdmlkZXJFdmVudEhhbmRsZXIgPSBmdW5jdGlvbihldmVudCkKK3sKKyAgICB2YXIg
dWlTb3VyY2VDb2RlID0gZXZlbnQuZGF0YTsKKyAgICB0aHJvdyBuZXcgRXJyb3IoIlVuZXhwZWN0
ZWQgVUlTb3VyY2VDb2RlUHJvdmlkZXIgZXZlbnQ6ICIgKyBldmVudC50eXBlICsgIjogIiArIHVp
U291cmNlQ29kZS51cmkoKSArICIuIik7Cit9CisKK0luc3BlY3RvclRlc3QuZHVtcFVJU291cmNl
Q29kZSA9IGZ1bmN0aW9uKHVpU291cmNlQ29kZSwgY2FsbGJhY2spCit7CisgICAgdmFyIHVybCA9
IHVpU291cmNlQ29kZS5vcmlnaW5VUkwoKS5yZXBsYWNlKC8uKkxheW91dFRlc3RzLywgIkxheW91
dFRlc3RzIik7CisgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIlVJU291cmNlQ29kZTogIiAr
IHVybCk7CisgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIlVJU291cmNlQ29kZSBpcyBlZGl0
YWJsZTogIiArIHVpU291cmNlQ29kZS5pc0VkaXRhYmxlKCkpOworICAgIGlmICh1aVNvdXJjZUNv
ZGUuY29udGVudFR5cGUoKSA9PT0gV2ViSW5zcGVjdG9yLnJlc291cmNlVHlwZXMuU2NyaXB0IHx8
IHVpU291cmNlQ29kZS5jb250ZW50VHlwZSgpID09PSBXZWJJbnNwZWN0b3IucmVzb3VyY2VUeXBl
cy5Eb2N1bWVudCkKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIlVJU291cmNlQ29k
ZSBpcyBjb250ZW50IHNjcmlwdDogIiArICEhdWlTb3VyY2VDb2RlLmlzQ29udGVudFNjcmlwdCk7
CisgICAgdWlTb3VyY2VDb2RlLnJlcXVlc3RDb250ZW50KGRpZFJlcXVlc3RDb250ZW50KTsKKwor
ICAgIGZ1bmN0aW9uIGRpZFJlcXVlc3RDb250ZW50KGNvbnRlbnQsIGNvbnRlbnRFbmNvZGVkLCBt
aW1lVHlwZSkKKyAgICB7CisgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJNaW1lIHR5
cGU6ICIgKyBtaW1lVHlwZSk7CisgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJVSVNv
dXJjZUNvZGUgY29udGVudDogIiArIGNvbnRlbnQpOworICAgICAgICBjYWxsYmFjaygpOworICAg
IH0KK30KKworfTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9p
bnNwZWN0ZWQtb2JqZWN0cy1ub3Qtb3ZlcnJpZGVuLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2luc3BlY3Rvci1vYnNvbGV0ZS9pbnNwZWN0ZWQtb2JqZWN0cy1ub3Qtb3ZlcnJpZGVuLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5jYWNlZGNjMTAwMjlkZTMxNjczOWJkNWU1ODkyODgxNjNiYTcy
YWYwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2lu
c3BlY3RlZC1vYmplY3RzLW5vdC1vdmVycmlkZW4tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTAg
QEAKK1Rlc3RzIHRoYXQgb3BlbmluZyBpbnNwZWN0b3IgZnJvbnQtZW5kIGRvZXNuJ3QgY2hhbmdl
IG1ldGhvZHMgZGVmaW5lZCBieSB0aGUgaW5zcGVjdGVkIGFwcGxpY2F0aW9uLgorCitteUltcGwo
KSA9PiBteSB2YWx1ZQorT2JqZWN0LnR5cGUgPT09IG15SW1wbCA9PiB0cnVlCitPYmplY3QuaGFz
UHJvcGVydGllcyA9PT0gbXlJbXBsID0+IHRydWUKK09iamVjdC5kZXNjcmliZSA9PT0gbXlJbXBs
ID0+IHRydWUKK09iamVjdC5jbGFzc05hbWUgPT09IG15SW1wbCA9PiB0cnVlCitTdHJpbmcucHJv
dG90eXBlLmVzY2FwZUNoYXJhY3RlcnMgPT09IG15SW1wbCA9PiB0cnVlCitKU09OLnN0cmluZ2lm
eSA9PT0gbXlJbXBsID0+IHRydWUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
LW9ic29sZXRlL2luc3BlY3RlZC1vYmplY3RzLW5vdC1vdmVycmlkZW4uaHRtbCBiL0xheW91dFRl
c3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9pbnNwZWN0ZWQtb2JqZWN0cy1ub3Qtb3ZlcnJpZGVuLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uYTY2ZDc2YTY3ZmZhNGZkNjUyNTU3MjA5ZjEyOTM0ZTZjZWI0MjA4MQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9pbnNwZWN0
ZWQtb2JqZWN0cy1ub3Qtb3ZlcnJpZGVuLmh0bWwKQEAgLTAsMCArMSw1NyBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEgVHJhbnNpdGlvbmFsLy9FTiIgImh0
dHA6Ly93d3cudzMub3JnL1RSL2h0bWw0L2xvb3NlLmR0ZCI+Cis8aHRtbD4KKzxoZWFkPgorPHNj
cmlwdCBzcmM9Ii4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQ+CisKK2Z1bmN0aW9uIG15SW1wbCgpIHsKKyAgcmV0dXJuICJteSB2YWx1
ZSI7Cit9CisKKy8vIFByb3ZpZGUgc29tZSBjdXN0b20gbWV0aG9kcy4KK09iamVjdC50eXBlID0g
bXlJbXBsOworT2JqZWN0Lmhhc1Byb3BlcnRpZXMgPSBteUltcGw7CitPYmplY3QuZGVzY3JpYmUg
PSBteUltcGw7CitPYmplY3QuY2xhc3NOYW1lID0gbXlJbXBsOworU3RyaW5nLnByb3RvdHlwZS5l
c2NhcGVDaGFyYWN0ZXJzID0gbXlJbXBsOworSlNPTi5zdHJpbmdpZnkgPSBteUltcGw7CisKK2Z1
bmN0aW9uIG91dHB1dCh0ZXh0KQoreworICAgIHZhciBvdXRwdXQgPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgib3V0cHV0Iik7CisgICAgb3V0cHV0LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0
ZVRleHROb2RlKHRleHQpKTsKKyAgICBvdXRwdXQuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgiYnIiKSk7Cit9CisKK2Z1bmN0aW9uIGR1bXBWYWx1ZXMoKQoreworICAgIC8vIENo
ZWNrIHRoYXQgdGhlIG1ldGhvZHMgaGF2ZW4ndCBjaGFuZ2VkLgorICAgIG91dHB1dCgibXlJbXBs
KCkgPT4gIiArIG15SW1wbCgpKTsKKyAgICBvdXRwdXQoIk9iamVjdC50eXBlID09PSBteUltcGwg
PT4gIiArIChPYmplY3QudHlwZSA9PT0gbXlJbXBsKSk7CisgICAgb3V0cHV0KCJPYmplY3QuaGFz
UHJvcGVydGllcyA9PT0gbXlJbXBsID0+ICIgKyAoT2JqZWN0Lmhhc1Byb3BlcnRpZXMgPT09IG15
SW1wbCkpOworICAgIG91dHB1dCgiT2JqZWN0LmRlc2NyaWJlID09PSBteUltcGwgPT4gIiArIChP
YmplY3QuZGVzY3JpYmUgPT09IG15SW1wbCkpOworICAgIG91dHB1dCgiT2JqZWN0LmNsYXNzTmFt
ZSA9PT0gbXlJbXBsID0+ICIgKyAoT2JqZWN0LmNsYXNzTmFtZSA9PT0gbXlJbXBsKSk7CisgICAg
b3V0cHV0KCJTdHJpbmcucHJvdG90eXBlLmVzY2FwZUNoYXJhY3RlcnMgPT09IG15SW1wbCA9PiAi
ICsgKFN0cmluZy5wcm90b3R5cGUuZXNjYXBlQ2hhcmFjdGVycyA9PT0gbXlJbXBsKSk7CisgICAg
b3V0cHV0KCJKU09OLnN0cmluZ2lmeSA9PT0gbXlJbXBsID0+ICIgKyAoSlNPTi5zdHJpbmdpZnkg
PT09IG15SW1wbCkpOworfQorCitmdW5jdGlvbiB0ZXN0KCkKK3sKKyAgICBmdW5jdGlvbiBjYWxs
YmFjaygpCisgICAgeworICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOworICAg
IH0KKyAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJkdW1wVmFsdWVzKCkiLCBjYWxs
YmFjayk7Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKworPGJvZHkgb25sb2FkPSJydW5UZXN0KCki
PgorPHA+CitUZXN0cyB0aGF0IG9wZW5pbmcgaW5zcGVjdG9yIGZyb250LWVuZCBkb2Vzbid0IGNo
YW5nZSBtZXRob2RzIGRlZmluZWQgYnkgdGhlIGluc3BlY3RlZCBhcHBsaWNhdGlvbi4KKzwvcD4K
KworPGRpdiBpZD0ib3V0cHV0Ij48L2Rpdj4KKworPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2xvYWQtcmVzb3VyY2Utc3luY2hyb25v
dXNseS11dGY4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9s
b2FkLXJlc291cmNlLXN5bmNocm9ub3VzbHktdXRmOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZDU3Y2FjZGZhODg3Y2M1NzhhYmE5N2Y0MmU3ZDUxMzhjODViYzI2NgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9sb2FkLXJlc291cmNlLXN5bmNocm9u
b3VzbHktdXRmOC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUZXN0cyB0aGF0IEluc3Bl
Y3RvckZyb250ZW5kSG9zdC5sb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KCkgY29ycmVjdGx5IGxv
YWRzIG5vbi1BU0NJSSByZXNvdXJjZXMuCisKKydBU0NJSSAtIFRlc3QnICgxMikKKydVVEY4IC0g
0KLQtdGB0YInICgxMSkKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29s
ZXRlL2xvYWQtcmVzb3VyY2Utc3luY2hyb25vdXNseS11dGY4Lmh0bWwgYi9MYXlvdXRUZXN0cy9p
bnNwZWN0b3Itb2Jzb2xldGUvbG9hZC1yZXNvdXJjZS1zeW5jaHJvbm91c2x5LXV0ZjguaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi45OTcxNjc4NGZiOTUxZWEzYjZhNzUyM2VhMGE4YzQxOGYzYzUzNzg0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2xvYWQtcmVzb3Vy
Y2Utc3luY2hyb25vdXNseS11dGY4Lmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorZnVuY3Rpb24gdGVzdCgpCit7CisgICAgdmFyIGFzY2lp
VGV4dCA9IEluc3BlY3RvckZyb250ZW5kSG9zdC5sb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KCJk
YXRhOnRleHQvcGxhaW47LEFTQ0lJIC0gVGVzdCIpOworICAgIEluc3BlY3RvclRlc3QuYWRkUmVz
dWx0KCInIiArIGFzY2lpVGV4dCArICInICgiICsgYXNjaWlUZXh0Lmxlbmd0aCArICIpIik7Cisg
ICAgdmFyIHV0ZjhUZXh0ID0gSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmxvYWRSZXNvdXJjZVN5bmNo
cm9ub3VzbHkoImRhdGE6dGV4dC9wbGFpbjssIiArIGVuY29kZVVSSUNvbXBvbmVudCgiVVRGOCAt
IFx1MDQyMlx1MDQzNVx1MDQ0MVx1MDQ0MiIpKTsKKyAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3Vs
dCgiJyIgKyB1dGY4VGV4dCArICInICgiICsgdXRmOFRleHQubGVuZ3RoICsgIikiKTsKKyAgICBJ
bnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOworfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eSBvbmxvYWQ9InJ1blRlc3QoKSI+Cis8cD5UZXN0cyB0aGF0IEluc3BlY3RvckZyb250ZW5kSG9z
dC5sb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KCkgY29ycmVjdGx5IGxvYWRzIG5vbi1BU0NJSSBy
ZXNvdXJjZXMuPC9wPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yLW9ic29sZXRlL3Byb2ZpbGVyL2NwdS1wcm9maWxlci1hZ2VudC1jcmFzaC1vbi1z
dGFydC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvcHJvZmls
ZXIvY3B1LXByb2ZpbGVyLWFnZW50LWNyYXNoLW9uLXN0YXJ0LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi40ZjcwNTA1ZjA3MzQ1NTkxZDViYzNhNWM5ODExODQwOTRiYjZmODEwCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3Byb2ZpbGVyL2NwdS1wcm9m
aWxlci1hZ2VudC1jcmFzaC1vbi1zdGFydC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw2IEBACitU
ZXN0IHRoYXQgUHJvZmlsZXJBZ2VudCBzdGFydC9zdG9wIGRvZXNuJ3QgY3Jhc2guCisKK1Byb2Zp
bGVyQWdlbnQgc3RhcnRlZC4KK1Byb2ZpbGVyQWdlbnQgc3RvcHBlZC4KK1Byb2ZpbGVyQWdlbnQg
Y2xlYXJlZC4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3By
b2ZpbGVyL2NwdS1wcm9maWxlci1hZ2VudC1jcmFzaC1vbi1zdGFydC5odG1sIGIvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yLW9ic29sZXRlL3Byb2ZpbGVyL2NwdS1wcm9maWxlci1hZ2VudC1jcmFzaC1v
bi1zdGFydC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBiMzYyZjkzODAxOTI0MjcwZGJkYzY3OTVkYWRmMTcy
MWIyMmI0MzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xl
dGUvcHJvZmlsZXIvY3B1LXByb2ZpbGVyLWFnZW50LWNyYXNoLW9uLXN0YXJ0Lmh0bWwKQEAgLTAs
MCArMSwzOSBAQAorPGh0bWw+Cis8aGVhZD4KKyAgPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVz
dHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisKK2Z1
bmN0aW9uIHRlc3QoKQoreworICAgIFdlYkluc3BlY3Rvci5zaG93UGFuZWwoInByb2ZpbGVzIik7
CisgICAgUHJvZmlsZXJBZ2VudC5zdGFydChvblN0YXJ0KTsKKworICAgIGZ1bmN0aW9uIG9uU3Rh
cnQoKQorICAgIHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIlByb2ZpbGVyQWdl
bnQgc3RhcnRlZC4iKTsKKyAgICAgICAgUHJvZmlsZXJBZ2VudC5zdG9wKG9uU3RvcCk7CisgICAg
fQorCisgICAgZnVuY3Rpb24gb25TdG9wKCkKKyAgICB7CisgICAgICAgIEluc3BlY3RvclRlc3Qu
YWRkUmVzdWx0KCJQcm9maWxlckFnZW50IHN0b3BwZWQuIik7CisgICAgICAgIFByb2ZpbGVyQWdl
bnQuY2xlYXJQcm9maWxlcyhkb25lKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBkb25lKCkKKyAg
ICB7CisgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJQcm9maWxlckFnZW50IGNsZWFy
ZWQuIik7CisgICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7CisgICAgfQorfQor
Cis8L3NjcmlwdD4KKzwvaGVhZD4KKworPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgorPHA+CitU
ZXN0IHRoYXQgUHJvZmlsZXJBZ2VudCBzdGFydC9zdG9wIGRvZXNuJ3QgY3Jhc2guCis8L3A+CisK
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNv
bGV0ZS9wcm9maWxlci9jcHUtcHJvZmlsZXItcGFyYW1ldGVybGVzcy1wcm9maWxlLWVuZC1jcmFz
aC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvcHJvZmlsZXIv
Y3B1LXByb2ZpbGVyLXBhcmFtZXRlcmxlc3MtcHJvZmlsZS1lbmQtY3Jhc2gtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjE5N2RjZjA4NDU3MTg4ZDhiNmQ2MWIwNmY5MmFmNTY2YjE5ZGY1MWQKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvcHJvZmlsZXIv
Y3B1LXByb2ZpbGVyLXBhcmFtZXRlcmxlc3MtcHJvZmlsZS1lbmQtY3Jhc2gtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsNiBAQAorVGVzdHMgdGhhdCAiY29uc29sZS5wcm9maWxlRW5kKCkiIGRvIG5v
dCBjYXVzZSBjcmFzaC4KK0J1ZyAxMDU3NTkuCisKK1Byb2ZpbGVzIGNvdW50OiAyCitUaXRsZWQg
cHJvZmlsZSBmb3VuZC4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29s
ZXRlL3Byb2ZpbGVyL2NwdS1wcm9maWxlci1wYXJhbWV0ZXJsZXNzLXByb2ZpbGUtZW5kLWNyYXNo
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvcHJvZmlsZXIvY3B1LXByb2Zp
bGVyLXBhcmFtZXRlcmxlc3MtcHJvZmlsZS1lbmQtY3Jhc2guaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41ZGU2
YTFiMmZlMTBmZGFlODdiY2I5MjQwOTc1MmFkN2M5ZDdmOGNkCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3Byb2ZpbGVyL2NwdS1wcm9maWxlci1wYXJh
bWV0ZXJsZXNzLXByb2ZpbGUtZW5kLWNyYXNoLmh0bWwKQEAgLTAsMCArMSw0OSBAQAorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQ+CisKK2lmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICB0ZXN0UnVu
bmVyLmR1bXBBc1RleHQoKTsKK2lmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgIGludGVybmFscy5z
ZXRKYXZhU2NyaXB0UHJvZmlsaW5nRW5hYmxlZCh0cnVlKTsKKworZnVuY3Rpb24gcGFnZUZ1bmN0
aW9uKCkKK3sKKyAgICBjb25zb2xlLnByb2ZpbGUoKTsgLy8gVW50aXRsZWQKKyAgICBjb25zb2xl
LnByb2ZpbGUoInRpdGxlZCIpOworICAgIGNvbnNvbGUucHJvZmlsZUVuZCgpOworICAgIGNvbnNv
bGUucHJvZmlsZUVuZCgpOworfQorCitmdW5jdGlvbiBzdGFydFRlc3QoKQoreworICAgIHBhZ2VG
dW5jdGlvbigpOworICAgIHByaW50UmVzdWx0KCk7CisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKK30KKworZnVuY3Rpb24gcHJpbnRS
ZXN1bHQoKQoreworICAgIHZhciBwcmVFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgi
cHJlIik7CisgICAgcHJlRWxlbWVudC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9k
ZSgiXG4iKSk7CisKKyAgICB2YXIgcHJvZmlsZXMgPSBjb25zb2xlLnByb2ZpbGVzOworICAgIHBy
ZUVsZW1lbnQuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoIlByb2ZpbGVzIGNv
dW50OiAiICsgcHJvZmlsZXMubGVuZ3RoICsgIlxuIikpOworICAgIGZvciAodmFyIGkgPSAwOyBp
IDwgcHJvZmlsZXMubGVuZ3RoOyArK2kpIHsKKyAgICAgICAgaWYgKHByb2ZpbGVzW2ldLnRpdGxl
ID09PSAidGl0bGVkIikKKyAgICAgICAgICAgIHByZUVsZW1lbnQuYXBwZW5kQ2hpbGQoZG9jdW1l
bnQuY3JlYXRlVGV4dE5vZGUoIlRpdGxlZCBwcm9maWxlIGZvdW5kLlxuIikpOworICAgIH0KKyAg
ICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgib3V0cHV0IikuYXBwZW5kQ2hpbGQocHJlRWxlbWVu
dCk7Cit9CisKKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJzdGFydFRlc3QoKSI+
Cis8cD4KK1Rlc3RzIHRoYXQgImNvbnNvbGUucHJvZmlsZUVuZCgpIiBkbyBub3QgY2F1c2UgY3Jh
c2guPGJyPgorPGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTEwNTc1OSI+QnVnIDEwNTc1OS48L2E+PGJyPgorPGRpdiBpZD0ib3V0cHV0Ij48L2Rpdj4KKzwv
cD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1v
YnNvbGV0ZS9wcm9maWxlci9jcHUtcHJvZmlsZXItcHJvZmlsZS1yZW1vdmFsLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9wcm9maWxlci9jcHUtcHJvZmlsZXIt
cHJvZmlsZS1yZW1vdmFsLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43MzRmZTFjYzRjODVkNzhi
MmI1MjVhZjU5NjlhNzY3YWRlZWE5MzAzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yLW9ic29sZXRlL3Byb2ZpbGVyL2NwdS1wcm9maWxlci1wcm9maWxlLXJlbW92YWwt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNyBAQAorVGVzdHMgdGhhdCBDUFUgcHJvZmlsZSByZW1v
dmFsIGZyb20gYSBncm91cCB3b3Jrcy4gQnVnIDExMDQ2NgorCitQcm9maWxlciB3YXMgZW5hYmxl
ZC4KK1Byb2ZpbGUgZ3JvdXBzIGFmdGVyIHJlbW92YWw6CisKK1Byb2ZpbGVyIHdhcyBkaXNhYmxl
ZC4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3Byb2ZpbGVy
L2NwdS1wcm9maWxlci1wcm9maWxlLXJlbW92YWwuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rv
ci1vYnNvbGV0ZS9wcm9maWxlci9jcHUtcHJvZmlsZXItcHJvZmlsZS1yZW1vdmFsLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMzlkNDQwMDNjYjVjNGMzNDZmYTNhN2E5MDNiYTQ4MjI1ZmFhYzUxYwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9wcm9maWxlci9jcHUt
cHJvZmlsZXItcHJvZmlsZS1yZW1vdmFsLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPGh0bWw+Cis8
aGVhZD4KKyAgPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rv
ci10ZXN0LmpzIj48L3NjcmlwdD4KKyAgPHNjcmlwdCBzcmM9InByb2ZpbGVyLXRlc3QuanMiPjwv
c2NyaXB0PgorPHNjcmlwdD4KKworZnVuY3Rpb24gcGFnZUZ1bmN0aW9uKCkgeworICAgIGNvbnNv
bGUucHJvZmlsZSgicDEiKTsKKyAgICBjb25zb2xlLnByb2ZpbGVFbmQoInAxIik7CisgICAgY29u
c29sZS5wcm9maWxlKCJwMSIpOworICAgIGNvbnNvbGUucHJvZmlsZUVuZCgicDEiKTsKKyAgICBj
b25zb2xlLnByb2ZpbGUoInAyIik7CisgICAgY29uc29sZS5wcm9maWxlRW5kKCJwMiIpOworfQor
CitmdW5jdGlvbiB0ZXN0KCkKK3sKKyAgICBJbnNwZWN0b3JUZXN0LnN0YXJ0UHJvZmlsZXJUZXN0
KGZ1bmN0aW9uKCkgeworICAgICAgICBmdW5jdGlvbiB2aWV3TG9hZGVkKHZpZXcpIHsKKyAgICAg
ICAgICAgIHZhciBwcm9maWxlcyA9IFdlYkluc3BlY3Rvci5wYW5lbHMucHJvZmlsZXM7CisgICAg
ICAgICAgICB2YXIgdHlwZSA9IHByb2ZpbGVzLmdldFByb2ZpbGVUeXBlKCJDUFUiKTsKKyAgICAg
ICAgICAgIHdoaWxlICh0eXBlLmdldFByb2ZpbGVzKCkubGVuZ3RoICE9PSAwKQorICAgICAgICAg
ICAgICAgIHByb2ZpbGVzLl9yZW1vdmVQcm9maWxlSGVhZGVyKHR5cGUuZ2V0UHJvZmlsZXMoKVsw
XSk7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiUHJvZmlsZSBncm91cHMg
YWZ0ZXIgcmVtb3ZhbDoiKTsKKyAgICAgICAgICAgIGZvciAodmFyIGtleSBpbiBwcm9maWxlcy5f
cHJvZmlsZUdyb3VwcykKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdChr
ZXkgKyAiOiAiICsgcHJvZmlsZXMuX3Byb2ZpbGVHcm91cHNba2V5XS5sZW5ndGgpOworICAgICAg
ICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRFcXVhbHMoMCwgdHlwZS50cmVlRWxlbWVudC5jaGls
ZHJlbi5sZW5ndGgsICJBbGwgY2hpbGRyZW4gaGFzIGJlZW4gcmVtb3ZlZCIpOworICAgICAgICAg
ICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVByb2ZpbGVyVGVzdCgpOworICAgICAgICB9CisgICAg
ICAgIFdlYkluc3BlY3Rvci5zaG93UGFuZWwoInByb2ZpbGVzIik7CisgICAgICAgIEluc3BlY3Rv
clRlc3QuZXZhbHVhdGVJbkNvbnNvbGUoInBhZ2VGdW5jdGlvbigpIiwgZnVuY3Rpb24oKSB7fSk7
CisgICAgICAgIEluc3BlY3RvclRlc3Quc2hvd1Byb2ZpbGVXaGVuQWRkZWQoInAyIik7CisgICAg
ICAgIEluc3BlY3RvclRlc3Qud2FpdFVudGlsUHJvZmlsZVZpZXdJc1Nob3duKCJwMiIsIHZpZXdM
b2FkZWQpOworICAgIH0pOworfQorCis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0i
cnVuVGVzdCgpIj4KKzxwPgorVGVzdHMgdGhhdCBDUFUgcHJvZmlsZSByZW1vdmFsIGZyb20gYSBn
cm91cCB3b3Jrcy4KKworPGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTExMDQ2NiI+QnVnIDExMDQ2NjwvYT4KKzwvcD4KKzwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9wcm9maWxlci9jcHUtcHJv
ZmlsZXItcHJvZmlsaW5nLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNv
bGV0ZS9wcm9maWxlci9jcHUtcHJvZmlsZXItcHJvZmlsaW5nLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5iZDkxMmVlNjQ4ZWY2MzliNDczODBlY2M5MThhOWI3MzUzMjNmNzFjCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3Byb2ZpbGVyL2NwdS1wcm9m
aWxlci1wcm9maWxpbmctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsOSBAQAorVGVzdHMgdGhhdCBD
UFUgcHJvZmlsaW5nIHdvcmtzLiBCdWcgNTI2MzQuCisKK1Byb2ZpbGVyIHdhcyBlbmFibGVkLgor
CitSdW5uaW5nOiB0ZXN0UHJvZmlsaW5nCitmb3VuZCBwYWdlRnVuY3Rpb24KKworUHJvZmlsZXIg
d2FzIGRpc2FibGVkLgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xl
dGUvcHJvZmlsZXIvY3B1LXByb2ZpbGVyLXByb2ZpbGluZy13aXRob3V0LWluc3BlY3Rvci1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvcHJvZmlsZXIvY3B1LXBy
b2ZpbGVyLXByb2ZpbGluZy13aXRob3V0LWluc3BlY3Rvci1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMzNlZjc0MGMwZWEyMzAxMTUyM2UzNzljYTdlYWIwNDAyYThiMmY1NAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9wcm9maWxlci9jcHUtcHJvZmls
ZXItcHJvZmlsaW5nLXdpdGhvdXQtaW5zcGVjdG9yLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDYg
QEAKK1Rlc3RzIHRoYXQgQ1BVIHByb2ZpbGluZyB3b3Jrcy4KK0RvZXNuJ3Qgb3BlbiBJbnNwZWN0
b3IsIHVzZXMgY29uc29sZS5wcm9maWxlLi4uLgorCisKK0ZvdW5kIHBhZ2VGdW5jdGlvbgorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvcHJvZmlsZXIvY3B1LXBy
b2ZpbGVyLXByb2ZpbGluZy13aXRob3V0LWluc3BlY3Rvci5odG1sIGIvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yLW9ic29sZXRlL3Byb2ZpbGVyL2NwdS1wcm9maWxlci1wcm9maWxpbmctd2l0aG91dC1p
bnNwZWN0b3IuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMmUzYTk5N2Q3YTY5OGZkOTYwZTJjY2E1NmM3MTFl
ZmZmOWVjODc5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29s
ZXRlL3Byb2ZpbGVyL2NwdS1wcm9maWxlci1wcm9maWxpbmctd2l0aG91dC1pbnNwZWN0b3IuaHRt
bApAQCAtMCwwICsxLDg0IEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4KKworaWYgKHdpbmRv
dy50ZXN0UnVubmVyKQorICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworaWYgKHdpbmRvdy5p
bnRlcm5hbHMpCisgICAgaW50ZXJuYWxzLnNldEphdmFTY3JpcHRQcm9maWxpbmdFbmFibGVkKHRy
dWUpOworCitmdW5jdGlvbiBwYWdlRnVuY3Rpb24oKQoreworICAgIGNvbnNvbGUucHJvZmlsZSgi
b3V0ZXIiKTsKKyAgICBjb25zb2xlLnByb2ZpbGUoImlubmVyIik7ICAvLyBbQ2hyb21pdW1dIE1h
a2Ugc3VyZSB3ZSBjYXB0dXJlIHRoZSBjdXJyZW50IGNhbGxzdGFjay4KKyAgICBjb25zb2xlLnBy
b2ZpbGVFbmQoIm91dGVyIik7CisgICAgY29uc29sZS5wcm9maWxlRW5kKCJpbm5lciIpOworfQor
CitmdW5jdGlvbiBzdGFydFRlc3QoKQoreworICAgIHBhZ2VGdW5jdGlvbigpOworICAgIHByaW50
UmVzdWx0KCk7CisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICB0ZXN0UnVubmVy
Lm5vdGlmeURvbmUoKTsKK30KKworZnVuY3Rpb24gcHJpbnRSZXN1bHQoKQoreworICAgIHZhciBw
cmVFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicHJlIik7CisgICAgcHJlRWxlbWVu
dC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgiXG4iKSk7CisKKyAgICB2YXIg
cHJvZmlsZXMgPSBjb25zb2xlLnByb2ZpbGVzOworICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcHJv
ZmlsZXMubGVuZ3RoOyArK2kpIHsKKyAgICAgICAgdmFyIHByb2ZpbGUgPSBwcm9maWxlc1tpXTsK
KyAgICAgICAgaWYgKHByb2ZpbGUudGl0bGUgIT09ICJpbm5lciIpCisgICAgICAgICAgICBjb250
aW51ZTsKKyAgICAgICAgdmFyIGZ1bmN0aW9uTmFtZSA9ICJwYWdlRnVuY3Rpb24iOworICAgICAg
ICBpZiAoZmluZEZ1bmN0aW9uSW5Qcm9maWxlKHByb2ZpbGUuaGVhZCwgZnVuY3Rpb25OYW1lKSkK
KyAgICAgICAgICAgIHByZUVsZW1lbnQuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5v
ZGUoIkZvdW5kICIgKyBmdW5jdGlvbk5hbWUpKTsKKyAgICAgICAgZWxzZSB7CisgICAgICAgICAg
ICBwcmVFbGVtZW50LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCIhISEgTm90
IGZvdW5kICIgKyBmdW5jdGlvbk5hbWUpKTsKKyAgICAgICAgICAgIHByZUVsZW1lbnQuYXBwZW5k
Q2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoIlxuXG4iKSk7CisgICAgICAgICAgICBwcmlu
dFByb2ZpbGVOb2RlV2l0aG91dFRpbWUocHJlRWxlbWVudCwgcHJvZmlsZS5oZWFkLCAiIik7Cisg
ICAgICAgIH0KKyAgICAgICAgcHJlRWxlbWVudC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVU
ZXh0Tm9kZSgiXG4iKSk7CisgICAgfQorCisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm91
dHB1dCIpLmFwcGVuZENoaWxkKHByZUVsZW1lbnQpOworfQorCitmdW5jdGlvbiBwcmludFByb2Zp
bGVOb2RlV2l0aG91dFRpbWUocHJlRWxlbWVudCwgbm9kZSwgc3BhY2UpCit7CisgICAgaWYgKCFu
b2RlLnZpc2libGUpCisgICAgICAgIHJldHVybjsKKworICAgIHZhciBsaW5lID0gc3BhY2UgKyBu
b2RlLmZ1bmN0aW9uTmFtZSArICIgKGxpbmUgIiArIG5vZGUubGluZU51bWJlciArICIpXG4iOwor
ICAgIHByZUVsZW1lbnQuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUobGluZSkp
OworCisgICAgdmFyIGNoaWxkcmVuID0gbm9kZS5jaGlsZHJlbigpOworICAgIGZvciAodmFyIGkg
PSAwOyBpIDwgY2hpbGRyZW4ubGVuZ3RoOyArK2kpCisgICAgICAgIHByaW50UHJvZmlsZU5vZGVX
aXRob3V0VGltZShwcmVFbGVtZW50LCBjaGlsZHJlbltpXSwgc3BhY2UgKyAiICAgIik7Cit9CisK
K2Z1bmN0aW9uIGZpbmRGdW5jdGlvbkluUHJvZmlsZShub2RlLCBmdW5jdGlvbk5hbWUpCit7Cisg
ICAgaWYgKG5vZGUuZnVuY3Rpb25OYW1lID09PSBmdW5jdGlvbk5hbWUpCisgICAgICAgIHJldHVy
biB0cnVlOworICAgIHZhciBjaGlsZHJlbiA9IG5vZGUuY2hpbGRyZW4oKTsKKyAgICBmb3IgKHZh
ciBpID0gMDsgaSA8IGNoaWxkcmVuLmxlbmd0aDsgKytpKQorICAgICAgICBpZiAoZmluZEZ1bmN0
aW9uSW5Qcm9maWxlKGNoaWxkcmVuW2ldLCBmdW5jdGlvbk5hbWUpKQorICAgICAgICAgICAgcmV0
dXJuIHRydWU7CisgICAgcmV0dXJuIGZhbHNlOworfQorCis8L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5IG9ubG9hZD0ic3RhcnRUZXN0KCkiPgorPHA+CitUZXN0cyB0aGF0IENQVSBwcm9maWxpbmcg
d29ya3MuPGJyPgorRG9lc24ndCBvcGVuIEluc3BlY3RvciwgdXNlcyA8Yj5jb25zb2xlLnByb2Zp
bGUuLi48L2I+LgorCis8ZGl2IGlkPSJvdXRwdXQiPjwvZGl2PgorPC9wPgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3Byb2ZpbGVy
L2NwdS1wcm9maWxlci1wcm9maWxpbmcuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNv
bGV0ZS9wcm9maWxlci9jcHUtcHJvZmlsZXItcHJvZmlsaW5nLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTYz
MDUxNjAwOTYwZGNkY2UyNzc3YzU2MjYwODUxZTU0MjVlN2UwNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9wcm9maWxlci9jcHUtcHJvZmlsZXItcHJv
ZmlsaW5nLmh0bWwKQEAgLTAsMCArMSw1MiBAQAorPGh0bWw+Cis8aGVhZD4KKyAgPHNjcmlwdCBz
cmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3Njcmlw
dD4KKyAgPHNjcmlwdCBzcmM9InByb2ZpbGVyLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4K
KworZnVuY3Rpb24gcGFnZUZ1bmN0aW9uKCkgeworICAgIGNvbnNvbGUucHJvZmlsZSgib3V0ZXIi
KTsKKyAgICBjb25zb2xlLnByb2ZpbGUoImlubmVyIik7ICAvLyBbQ2hyb21pdW1dIE1ha2Ugc3Vy
ZSB3ZSBjYXB0dXJlIHRoZSBjdXJyZW50IGNhbGxzdGFjay4KKyAgICBjb25zb2xlLnByb2ZpbGVF
bmQoIm91dGVyIik7CisgICAgY29uc29sZS5wcm9maWxlRW5kKCJpbm5lciIpOworfQorCitmdW5j
dGlvbiB0ZXN0KCkKK3sKKyAgICBJbnNwZWN0b3JUZXN0LnJ1blByb2ZpbGVyVGVzdFN1aXRlKFsK
KyAgICAgICAgZnVuY3Rpb24gdGVzdFByb2ZpbGluZyhuZXh0KQorICAgICAgICB7CisgICAgICAg
ICAgICBmdW5jdGlvbiBmaW5kUGFnZUZ1bmN0aW9uSW5Qcm9maWxlVmlldyh2aWV3KQorICAgICAg
ICAgICAgeworICAgICAgICAgICAgICAgIHZhciB0cmVlID0gdmlldy5wcm9maWxlRGF0YUdyaWRU
cmVlOworICAgICAgICAgICAgICAgIGlmICghdHJlZSkKKyAgICAgICAgICAgICAgICAgICAgIElu
c3BlY3RvclRlc3QuYWRkUmVzdWx0KCJubyB0cmVlIik7CisgICAgICAgICAgICAgICAgdmFyIG5v
ZGUgPSB0cmVlLmNoaWxkcmVuWzBdOworICAgICAgICAgICAgICAgIGlmICghbm9kZSkKKyAgICAg
ICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJubyBub2RlIik7CisgICAg
ICAgICAgICAgICAgd2hpbGUgKG5vZGUpIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKG5vZGUu
ZnVuY3Rpb25OYW1lLmluZGV4T2YoInBhZ2VGdW5jdGlvbiIpICE9PSAtMSkgeworICAgICAgICAg
ICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoImZvdW5kIHBhZ2VGdW5jdGlv
biIpOworICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgICAgICAgICAgbm9kZSA9IG5vZGUudHJhdmVyc2VOZXh0Tm9kZSh0cnVl
LCBudWxsLCB0cnVlKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgbmV4dCgp
OworICAgICAgICAgICAgfQorICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5zaG93UHJvZmlsZVdo
ZW5BZGRlZCgiaW5uZXIiKTsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3Qud2FpdFVudGlsUHJv
ZmlsZVZpZXdJc1Nob3duKCJpbm5lciIsIGZpbmRQYWdlRnVuY3Rpb25JblByb2ZpbGVWaWV3KTsK
KyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJbkNvbnNvbGUoInBhZ2VGdW5jdGlv
bigpIiwgZnVuY3Rpb24gZG9uZSgpIHt9KTsKKyAgICAgICAgfQorICAgIF0pOworfQorCis8L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KKzxwPgorVGVzdHMgdGhh
dCBDUFUgcHJvZmlsaW5nIHdvcmtzLgorCis8YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NTI2MzQiPkJ1ZyA1MjYzNC48L2E+Cis8L3A+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvcHJvZmls
ZXIvcHJvZmlsZXItdGVzdC5qcyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9wcm9m
aWxlci9wcm9maWxlci10ZXN0LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE3Yjg5ZDQyM2Q2NWE4Mzk4ZTA0MDhk
ZTVhOTVhNzQ5ZDE1ZjZkNzAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0
b3Itb2Jzb2xldGUvcHJvZmlsZXIvcHJvZmlsZXItdGVzdC5qcwpAQCAtMCwwICsxLDk0IEBACit2
YXIgaW5pdGlhbGl6ZV9Qcm9maWxlclRlc3QgPSBmdW5jdGlvbigpIHsKKworSW5zcGVjdG9yVGVz
dC5zdGFydFByb2ZpbGVyVGVzdCA9IGZ1bmN0aW9uKGNhbGxiYWNrKQoreworICAgIFdlYkluc3Bl
Y3Rvci5zaG93UGFuZWwoInByb2ZpbGVzIik7CisKKyAgICBmdW5jdGlvbiBzdGFydFRlc3QoKQor
ICAgIHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIlByb2ZpbGVyIHdhcyBlbmFi
bGVkLiIpOworICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFNuaWZmZXIoV2ViSW5zcGVjdG9yLnBh
bmVscy5wcm9maWxlcywgIl9hZGRQcm9maWxlSGVhZGVyIiwgSW5zcGVjdG9yVGVzdC5fcHJvZmls
ZUhlYWRlckFkZGVkLCB0cnVlKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRTbmlmZmVyKFdl
Ykluc3BlY3Rvci5DUFVQcm9maWxlVmlldy5wcm90b3R5cGUsICJyZWZyZXNoIiwgSW5zcGVjdG9y
VGVzdC5fcHJvZmlsZVZpZXdSZWZyZXNoLCB0cnVlKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5z
YWZlV3JhcChjYWxsYmFjaykoKTsKKyAgICB9CisKKyAgICBpZiAoV2ViSW5zcGVjdG9yLnBhbmVs
cy5wcm9maWxlcy5fcHJvZmlsZXJFbmFibGVkKQorICAgICAgICBzdGFydFRlc3QoKTsKKyAgICBl
bHNlIHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRTbmlmZmVyKFdlYkluc3BlY3Rvci5wYW5l
bHMucHJvZmlsZXMsICJfcHJvZmlsZXJXYXNFbmFibGVkIiwgc3RhcnRUZXN0KTsKKyAgICAgICAg
V2ViSW5zcGVjdG9yLnBhbmVscy5wcm9maWxlcy5fdG9nZ2xlUHJvZmlsaW5nKGZhbHNlKTsKKyAg
ICB9Cit9OworCitJbnNwZWN0b3JUZXN0LmNvbXBsZXRlUHJvZmlsZXJUZXN0ID0gZnVuY3Rpb24o
KQoreworICAgIGZ1bmN0aW9uIGNvbXBsZXRlVGVzdCgpCisgICAgeworICAgICAgICBJbnNwZWN0
b3JUZXN0LmFkZFJlc3VsdCgiIik7CisgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJQ
cm9maWxlciB3YXMgZGlzYWJsZWQuIik7CisgICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVU
ZXN0KCk7CisgICAgfQorCisgICAgdmFyIHByb2ZpbGVzUGFuZWwgPSBXZWJJbnNwZWN0b3IucGFu
ZWxzLnByb2ZpbGVzOworICAgIGlmICghcHJvZmlsZXNQYW5lbC5fcHJvZmlsZXJFbmFibGVkKQor
ICAgICAgICBjb21wbGV0ZVRlc3QoKTsKKyAgICBlbHNlIHsKKyAgICAgICAgSW5zcGVjdG9yVGVz
dC5hZGRTbmlmZmVyKFdlYkluc3BlY3Rvci5wYW5lbHMucHJvZmlsZXMsICJfcHJvZmlsZXJXYXNE
aXNhYmxlZCIsIGNvbXBsZXRlVGVzdCk7CisgICAgICAgIHByb2ZpbGVzUGFuZWwuX3RvZ2dsZVBy
b2ZpbGluZyhmYWxzZSk7CisgICAgfQorfTsKKworSW5zcGVjdG9yVGVzdC5ydW5Qcm9maWxlclRl
c3RTdWl0ZSA9IGZ1bmN0aW9uKHRlc3RTdWl0ZSkKK3sKKyAgICB2YXIgdGVzdFN1aXRlVGVzdHMg
PSB0ZXN0U3VpdGUuc2xpY2UoKTsKKworICAgIGZ1bmN0aW9uIHJ1bm5lcigpCisgICAgeworICAg
ICAgICBpZiAoIXRlc3RTdWl0ZVRlc3RzLmxlbmd0aCkgeworICAgICAgICAgICAgSW5zcGVjdG9y
VGVzdC5jb21wbGV0ZVByb2ZpbGVyVGVzdCgpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAg
ICB9CisKKyAgICAgICAgdmFyIG5leHRUZXN0ID0gdGVzdFN1aXRlVGVzdHMuc2hpZnQoKTsKKyAg
ICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIiIpOworICAgICAgICBJbnNwZWN0b3JUZXN0
LmFkZFJlc3VsdCgiUnVubmluZzogIiArIC9mdW5jdGlvblxzKFteKF0qKS8uZXhlYyhuZXh0VGVz
dClbMV0pOworICAgICAgICBJbnNwZWN0b3JUZXN0LnNhZmVXcmFwKG5leHRUZXN0KShydW5uZXIs
IHJ1bm5lcik7CisgICAgfQorCisgICAgSW5zcGVjdG9yVGVzdC5zdGFydFByb2ZpbGVyVGVzdChy
dW5uZXIpOworfTsKKworSW5zcGVjdG9yVGVzdC5zaG93UHJvZmlsZVdoZW5BZGRlZCA9IGZ1bmN0
aW9uKHRpdGxlKQoreworICAgIEluc3BlY3RvclRlc3QuX3Nob3dQcm9maWxlV2hlbkFkZGVkID0g
dGl0bGU7Cit9OworCitJbnNwZWN0b3JUZXN0Ll9wcm9maWxlSGVhZGVyQWRkZWQgPSBmdW5jdGlv
bihwcm9maWxlKQoreworICAgIGlmIChJbnNwZWN0b3JUZXN0Ll9zaG93UHJvZmlsZVdoZW5BZGRl
ZCA9PT0gcHJvZmlsZS50aXRsZSkgeworICAgICAgICBXZWJJbnNwZWN0b3IucGFuZWxzLnByb2Zp
bGVzLl9zaG93UHJvZmlsZShwcm9maWxlKTsKKyAgICB9Cit9OworCitJbnNwZWN0b3JUZXN0Lndh
aXRVbnRpbFByb2ZpbGVWaWV3SXNTaG93biA9IGZ1bmN0aW9uKHRpdGxlLCBjYWxsYmFjaykKK3sK
KyAgICBjYWxsYmFjayA9IEluc3BlY3RvclRlc3Quc2FmZVdyYXAoY2FsbGJhY2spOworCisgICAg
dmFyIHByb2ZpbGVzUGFuZWwgPSBXZWJJbnNwZWN0b3IucGFuZWxzLnByb2ZpbGVzOworICAgIGlm
IChwcm9maWxlc1BhbmVsLnZpc2libGVWaWV3ICYmIHByb2ZpbGVzUGFuZWwudmlzaWJsZVZpZXcu
cHJvZmlsZSAmJiBwcm9maWxlc1BhbmVsLnZpc2libGVWaWV3LnByb2ZpbGUudGl0bGUgPT09IHRp
dGxlKQorICAgICAgICBjYWxsYmFjayhwcm9maWxlc1BhbmVsLnZpc2libGVWaWV3KTsKKyAgICBl
bHNlCisgICAgICAgIEluc3BlY3RvclRlc3QuX3dhaXRVbnRpbFByb2ZpbGVWaWV3SXNTaG93bkNh
bGxiYWNrID0geyB0aXRsZTogdGl0bGUsIGNhbGxiYWNrOiBjYWxsYmFjayB9OworfQorCitJbnNw
ZWN0b3JUZXN0Ll9wcm9maWxlVmlld1JlZnJlc2ggPSBmdW5jdGlvbigpCit7CisgICAgLy8gQ2Fs
bGVkIGluIHRoZSBjb250ZXh0IG9mIFByb2ZpbGVWaWV3LgorICAgIGlmIChJbnNwZWN0b3JUZXN0
Ll93YWl0VW50aWxQcm9maWxlVmlld0lzU2hvd25DYWxsYmFjayAmJiBJbnNwZWN0b3JUZXN0Ll93
YWl0VW50aWxQcm9maWxlVmlld0lzU2hvd25DYWxsYmFjay50aXRsZSA9PT0gdGhpcy5wcm9maWxl
LnRpdGxlKSB7CisgICAgICAgIHZhciBjYWxsYmFjayA9IEluc3BlY3RvclRlc3QuX3dhaXRVbnRp
bFByb2ZpbGVWaWV3SXNTaG93bkNhbGxiYWNrOworICAgICAgICBkZWxldGUgSW5zcGVjdG9yVGVz
dC5fd2FpdFVudGlsUHJvZmlsZVZpZXdJc1Nob3duQ2FsbGJhY2s7CisgICAgICAgIGNhbGxiYWNr
LmNhbGxiYWNrKHRoaXMpOworICAgIH0KK307CisKK307CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbnNwZWN0b3Itb2Jzb2xldGUvcmVtb3RlLW9iamVjdC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvcmVtb3RlLW9iamVjdC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNTJjMmUyNmUwODU5ZjNiNDA1YzdhNTc3N2I0YTJlNzg3YzBmMzY0MwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9yZW1vdGUtb2JqZWN0LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDQgQEAKK1Rlc3RzIGZvcm1hdHRpbmcgb2YgZGlmZmVyZW50
IHR5cGVzIG9mIHJlbW90ZSBvYmplY3RzLgorCitkYXRlID0gV2VkIERlYyAwNyAyMDExIDEyOjAx
OjAwIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvcmVtb3Rl
LW9iamVjdC5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3JlbW90ZS1vYmpl
Y3QuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5lNWU4MDQ1ZTg4OTg4Zjc3MmNjMmYzOTlhMGZiM2Q3MDVmNmNi
NTJhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3Jl
bW90ZS1vYmplY3QuaHRtbApAQCAtMCwwICsxLDI1IEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlw
dCBzcmM9Ii4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQ+CisKK2Z1bmN0aW9uIHRlc3QoKQoreworICAgIGZ1bmN0aW9uIGNhbGxiYWNr
KHJlc3VsdCkKKyAgICB7CisgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJkYXRlID0g
IiArIHJlc3VsdC5kZXNjcmlwdGlvbi5zdWJzdHJpbmcoMCwgMjUpKTsKKyAgICAgICAgSW5zcGVj
dG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKKyAgICB9CisgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0
ZUluUGFnZSgibmV3IERhdGUoMjAxMSwgMTEsIDcsIDEyLCAwMSkiLCBjYWxsYmFjayk7Cit9CisK
Kzwvc2NyaXB0PgorPC9oZWFkPgorCis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Cis8cD4KK1Rl
c3RzIGZvcm1hdHRpbmcgb2YgZGlmZmVyZW50IHR5cGVzIG9mIHJlbW90ZSBvYmplY3RzLgorPC9w
PgorCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3It
b2Jzb2xldGUvcmVwb3J0LUFQSS1lcnJvcnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yLW9ic29sZXRlL3JlcG9ydC1BUEktZXJyb3JzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5iMzkyMjc1ZDQ2NzBhZTE2NTRmYzZkNzYxMTI0NDRmZDkwMDFmMzY3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3JlcG9ydC1BUEktZXJyb3JzLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDggQEAKK1Rlc3RzIHRoYXQgSW5zcGVjdG9yQmFja2VuZFN0
dWIgaXMgY2F0Y2hpbmcgaW5jb3JyZWN0IGFyZ3VtZW50cy4KKworUHJvdG9jb2wgRXJyb3I6IElu
dmFsaWQgdHlwZSBvZiBhcmd1bWVudCAnZW5hYmxlZCcgZm9yIG1ldGhvZCAnQ29uc29sZS5zZXRN
b25pdG9yaW5nWEhSRW5hYmxlZCcgY2FsbC4gSXQgbXVzdCBiZSAnYm9vbGVhbicgYnV0IGl0IGlz
ICdudW1iZXInLgorUHJvdG9jb2wgRXJyb3I6IEludmFsaWQgbnVtYmVyIG9mIGFyZ3VtZW50cyBm
b3IgbWV0aG9kICdDb25zb2xlLnNldE1vbml0b3JpbmdYSFJFbmFibGVkJyBjYWxsLiBJdCBtdXN0
IGhhdmUgdGhlIGZvbGxvd2luZyBhcmd1bWVudHMgJ1t7Im5hbWUiOiJlbmFibGVkIiwidHlwZSI6
ImJvb2xlYW4iLCJvcHRpb25hbCI6ZmFsc2V9XScuCitQcm90b2NvbCBFcnJvcjogT3B0aW9uYWwg
Y2FsbGJhY2sgYXJndW1lbnQgZm9yIG1ldGhvZCAnQ29uc29sZS5zZXRNb25pdG9yaW5nWEhSRW5h
YmxlZCcgY2FsbCBtdXN0IGJlIGEgZnVuY3Rpb24gYnV0IGl0cyB0eXBlIGlzICdzdHJpbmcnLgor
UHJvdG9jb2wgRXJyb3I6IHRoZSBtZXNzYWdlIGlzIGZvciBub24tZXhpc3RpbmcgZG9tYWluICd3
cm9uZ0RvbWFpbicKK1Byb3RvY29sIEVycm9yOiBBdHRlbXB0ZWQgdG8gZGlzcGF0Y2ggYW4gdW5p
bXBsZW1lbnRlZCBtZXRob2QgJ0luc3BlY3Rvci5zb21ldGhpbmctc3RyYW5nZScKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3JlcG9ydC1BUEktZXJyb3JzLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvcmVwb3J0LUFQSS1lcnJvcnMuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5iNjcwMjViNzYzYThlNzg5MGIyNDdhZGRmNTU0NGM0MGZmYTRhZWQxCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3JlcG9ydC1B
UEktZXJyb3JzLmh0bWwKQEAgLTAsMCArMSwzNiBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0PgorCitmdW5jdGlvbiB0ZXN0KCkKK3sKKworICAgIGNvbnNvbGUuZXJyb3IgPSBm
dW5jdGlvbigpCisgICAgeworICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdChTdHJpbmcu
c3ByaW50Zi5hcHBseSh0aGlzLCBhcmd1bWVudHMpKTsKKyAgICB9CisKKyAgICBDb25zb2xlQWdl
bnQuc2V0TW9uaXRvcmluZ1hIUkVuYWJsZWQoMSk7CisgICAgQ29uc29sZUFnZW50LnNldE1vbml0
b3JpbmdYSFJFbmFibGVkKCk7CisgICAgQ29uc29sZUFnZW50LnNldE1vbml0b3JpbmdYSFJFbmFi
bGVkKGZhbHNlLCAibm90IGEgZnVuY3Rpb24iKTsKKyAgICBDb25zb2xlQWdlbnQuc2V0TW9uaXRv
cmluZ1hIUkVuYWJsZWQoZmFsc2UsIHVuZGVmaW5lZCk7CisgICAgUnVudGltZUFnZW50LmV2YWx1
YXRlKCJ0cnVlIiwgInRlc3QiKTsKKyAgICBSdW50aW1lQWdlbnQuZXZhbHVhdGUoInRydWUiLCAi
dGVzdCIsIGZ1bmN0aW9uKCl7fSk7CisgICAgUnVudGltZUFnZW50LmV2YWx1YXRlKCJ0cnVlIiwg
InRlc3QiLCB1bmRlZmluZWQsIGZ1bmN0aW9uKCl7fSk7CisgICAgSW5zcGVjdG9yQmFja2VuZC5k
aXNwYXRjaCgneyJtZXRob2QiOiAid3JvbmdEb21haW4uc29tZXRoaW5nLXN0cmFuZ2UiLCAicGFy
YW1zIjoge319Jyk7CisgICAgSW5zcGVjdG9yQmFja2VuZC5kaXNwYXRjaCgneyJtZXRob2QiOiAi
SW5zcGVjdG9yLnNvbWV0aGluZy1zdHJhbmdlIiwgInBhcmFtcyI6IHt9fScpOworCisgICAgSW5z
cGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKK30KKworPC9zY3JpcHQ+Cis8L2hlYWQ+CisKKzxi
b2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KKzxwPgorVGVzdHMgdGhhdCBJbnNwZWN0b3JCYWNrZW5k
U3R1YiBpcyBjYXRjaGluZyBpbmNvcnJlY3QgYXJndW1lbnRzLgorPC9wPgorCis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvcmVwb3J0
LXByb3RvY29sLWVycm9ycy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jz
b2xldGUvcmVwb3J0LXByb3RvY29sLWVycm9ycy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzAz
YzllZmJlNDliNDA2YWI2NWIzMTFjMmQzNDFkYTdiNTZhZWQ0ZAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9yZXBvcnQtcHJvdG9jb2wtZXJyb3JzLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDE3MCBAQAorVGVzdHMgdGhhdCBJbnNwZWN0b3JCYWNrZW5k
RGlzcGF0Y2hlciBpcyBjYXRjaGluZyBpbmNvcnJlY3QgbWVzc2FnZXMuCisKK3sKKyAgICBlcnJv
ciA6IHsKKyAgICAgICAgY29kZSA6IC0zMjcwMAorICAgICAgICBtZXNzYWdlIDogIk1lc3NhZ2Ug
bXVzdCBiZSBpbiBKU09OIGZvcm1hdCIKKyAgICB9CisgICAgaWQgOiBudWxsCit9CistLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCit7CisgICAg
ZXJyb3IgOiB7CisgICAgICAgIGNvZGUgOiAtMzI2MDAKKyAgICAgICAgbWVzc2FnZSA6ICInaWQn
IHByb3BlcnR5IHdhcyBub3QgZm91bmQiCisgICAgfQorICAgIGlkIDogbnVsbAorfQorLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoreworICAg
IGVycm9yIDogeworICAgICAgICBjb2RlIDogLTMyNjAwCisgICAgICAgIG1lc3NhZ2UgOiAiVGhl
IHR5cGUgb2YgJ2lkJyBwcm9wZXJ0eSBtdXN0IGJlIG51bWJlciIKKyAgICB9CisgICAgaWQgOiBu
dWxsCit9CistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tCit7CisgICAgZXJyb3IgOiB7CisgICAgICAgIGNvZGUgOiAtMzI2MDAKKyAgICAgICAg
bWVzc2FnZSA6ICJUaGUgdHlwZSBvZiAnbWV0aG9kJyBwcm9wZXJ0eSBtdXN0IGJlIHN0cmluZyIK
KyAgICB9CisgICAgaWQgOiAxCit9CistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tCit7CisgICAgZXJyb3IgOiB7CisgICAgICAgIGNvZGUgOiAt
MzI2MDEKKyAgICAgICAgbWVzc2FnZSA6ICIncmVzb3VyY2VDb250ZW50JyB3YXNuJ3QgZm91bmQi
CisgICAgfQorICAgIGlkIDogMgorfQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoreworICAgIGVycm9yIDogeworICAgICAgICBjb2RlIDog
LTMyNjAxCisgICAgICAgIG1lc3NhZ2UgOiAiJ0RPTS50ZXN0JyB3YXNuJ3QgZm91bmQiCisgICAg
fQorICAgIGlkIDogMworfQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLQoreworICAgIGVycm9yIDogeworICAgICAgICBjb2RlIDogLTMyNjAy
CisgICAgICAgIGRhdGEgOiBbCisgICAgICAgICAgICAiJ3BhcmFtcycgb2JqZWN0IG11c3QgY29u
dGFpbiByZXF1aXJlZCBwYXJhbWV0ZXIgJ2ZyYW1lSWQnIHdpdGggdHlwZSAnU3RyaW5nJy4iCisg
ICAgICAgICAgICAiJ3BhcmFtcycgb2JqZWN0IG11c3QgY29udGFpbiByZXF1aXJlZCBwYXJhbWV0
ZXIgJ3VybCcgd2l0aCB0eXBlICdTdHJpbmcnLiIKKyAgICAgICAgXQorICAgICAgICBtZXNzYWdl
IDogIlNvbWUgYXJndW1lbnRzIG9mIG1ldGhvZCAnUGFnZS5nZXRSZXNvdXJjZUNvbnRlbnQnIGNh
bid0IGJlIHByb2Nlc3NlZCIKKyAgICB9CisgICAgaWQgOiA0Cit9CistLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCit7CisgICAgZXJyb3IgOiB7
CisgICAgICAgIGNvZGUgOiAtMzI2MDIKKyAgICAgICAgZGF0YSA6IFsKKyAgICAgICAgICAgICIn
cGFyYW1zJyBvYmplY3QgbXVzdCBjb250YWluIHJlcXVpcmVkIHBhcmFtZXRlciAnZnJhbWVJZCcg
d2l0aCB0eXBlICdTdHJpbmcnLiIKKyAgICAgICAgICAgICIncGFyYW1zJyBvYmplY3QgbXVzdCBj
b250YWluIHJlcXVpcmVkIHBhcmFtZXRlciAndXJsJyB3aXRoIHR5cGUgJ1N0cmluZycuIgorICAg
ICAgICBdCisgICAgICAgIG1lc3NhZ2UgOiAiU29tZSBhcmd1bWVudHMgb2YgbWV0aG9kICdQYWdl
LmdldFJlc291cmNlQ29udGVudCcgY2FuJ3QgYmUgcHJvY2Vzc2VkIgorICAgIH0KKyAgICBpZCA6
IDUKK30KKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0KK3sKKyAgICBlcnJvciA6IHsKKyAgICAgICAgY29kZSA6IC0zMjYwMgorICAgICAgICBk
YXRhIDogWworICAgICAgICAgICAgIlBhcmFtZXRlciAnZnJhbWVJZCcgd2l0aCB0eXBlICdTdHJp
bmcnIHdhcyBub3QgZm91bmQuIgorICAgICAgICAgICAgIlBhcmFtZXRlciAndXJsJyB3aXRoIHR5
cGUgJ1N0cmluZycgd2FzIG5vdCBmb3VuZC4iCisgICAgICAgIF0KKyAgICAgICAgbWVzc2FnZSA6
ICJTb21lIGFyZ3VtZW50cyBvZiBtZXRob2QgJ1BhZ2UuZ2V0UmVzb3VyY2VDb250ZW50JyBjYW4n
dCBiZSBwcm9jZXNzZWQiCisgICAgfQorICAgIGlkIDogNgorfQorLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoreworICAgIGVycm9yIDogewor
ICAgICAgICBjb2RlIDogLTMyNjAyCisgICAgICAgIGRhdGEgOiBbCisgICAgICAgICAgICAiUGFy
YW1ldGVyICd1cmwnIHdpdGggdHlwZSAnU3RyaW5nJyB3YXMgbm90IGZvdW5kLiIKKyAgICAgICAg
XQorICAgICAgICBtZXNzYWdlIDogIlNvbWUgYXJndW1lbnRzIG9mIG1ldGhvZCAnUGFnZS5nZXRS
ZXNvdXJjZUNvbnRlbnQnIGNhbid0IGJlIHByb2Nlc3NlZCIKKyAgICB9CisgICAgaWQgOiA3Cit9
CistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
Cit7CisgICAgZXJyb3IgOiB7CisgICAgICAgIGNvZGUgOiAtMzI2MDEKKyAgICAgICAgbWVzc2Fn
ZSA6ICInUGFnZS50ZXN0JyB3YXNuJ3QgZm91bmQiCisgICAgfQorICAgIGlkIDogOAorfQorLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorewor
ICAgIGVycm9yIDogeworICAgICAgICBjb2RlIDogLTMyNjAxCisgICAgICAgIG1lc3NhZ2UgOiAi
J1BhZ2UudGVzdCcgd2Fzbid0IGZvdW5kIgorICAgIH0KKyAgICBpZCA6IDkKK30KKy0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK3sKKyAgICBl
cnJvciA6IHsKKyAgICAgICAgY29kZSA6IC0zMjYwMQorICAgICAgICBtZXNzYWdlIDogIidQYWdl
LnRlc3QnIHdhc24ndCBmb3VuZCIKKyAgICB9CisgICAgaWQgOiAxMAorfQorLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoreworICAgIGVycm9y
IDogeworICAgICAgICBjb2RlIDogLTMyNjAxCisgICAgICAgIG1lc3NhZ2UgOiAiJ1BhZ2UudGVz
dCcgd2Fzbid0IGZvdW5kIgorICAgIH0KKyAgICBpZCA6IDExCit9CistLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCit7CisgICAgZXJyb3IgOiB7
CisgICAgICAgIGNvZGUgOiAtMzI2MDEKKyAgICAgICAgbWVzc2FnZSA6ICInUGFnZS50ZXN0JyB3
YXNuJ3QgZm91bmQiCisgICAgfQorICAgIGlkIDogMTIKK30KKy0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK3sKKyAgICBlcnJvciA6IHsKKyAg
ICAgICAgY29kZSA6IC0zMjYwMQorICAgICAgICBtZXNzYWdlIDogIidQYWdlLnRlc3QnIHdhc24n
dCBmb3VuZCIKKyAgICB9CisgICAgaWQgOiAxMworfQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoreworICAgIGVycm9yIDogeworICAgICAg
ICBjb2RlIDogLTMyNjAxCisgICAgICAgIG1lc3NhZ2UgOiAiJ1BhZ2UudGVzdCcgd2Fzbid0IGZv
dW5kIgorICAgIH0KKyAgICBpZCA6IDE0Cit9CistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCit7CisgICAgZXJyb3IgOiB7CisgICAgICAgIGNv
ZGUgOiAtMzI2MDEKKyAgICAgICAgbWVzc2FnZSA6ICInUGFnZS50ZXN0JyB3YXNuJ3QgZm91bmQi
CisgICAgfQorICAgIGlkIDogMTUKK30KKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK3sKKyAgICBlcnJvciA6IHsKKyAgICAgICAgY29kZSA6
IC0zMjYwMQorICAgICAgICBtZXNzYWdlIDogIidQYWdlLnRlc3QnIHdhc24ndCBmb3VuZCIKKyAg
ICB9CisgICAgaWQgOiAxNgorfQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3It
b2Jzb2xldGUvcmVwb3J0LXByb3RvY29sLWVycm9ycy5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yLW9ic29sZXRlL3JlcG9ydC1wcm90b2NvbC1lcnJvcnMuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zYzM4
ZTZmYmNjZjQ3NDM2MGFhMTNlZGViN2Q2ODY4NTY5MjQ1OWE3Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3JlcG9ydC1wcm90b2NvbC1lcnJvcnMuaHRt
bApAQCAtMCwwICsxLDYwIEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uL2h0dHAv
dGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisK
K2Z1bmN0aW9uIHRlc3QoKQoreworICAgIHZhciBtZXNzYWdlcyA9IFsKKyAgICAgICAgJ3NvbWUg
d3Jvbmcgc3RyaW5nJywKKyAgICAgICAgJ3t9JywKKyAgICAgICAgJ3siaWQiOiJub3QgYSBudW1i
ZXIifScsCisgICAgICAgICd7ImlkIjoxLCJtZXRob2QiOjF9JywKKyAgICAgICAgJ3siaWQiOjIs
Im1ldGhvZCI6InJlc291cmNlQ29udGVudCJ9JywKKyAgICAgICAgJ3siaWQiOjMsIm1ldGhvZCI6
IkRPTS50ZXN0In0nLAorICAgICAgICAneyJpZCI6NCwibWV0aG9kIjoiUGFnZS5nZXRSZXNvdXJj
ZUNvbnRlbnQifScsCisgICAgICAgICd7ImlkIjo1LCJtZXRob2QiOiJQYWdlLmdldFJlc291cmNl
Q29udGVudCIsInBhcmFtcyI6W119JywKKyAgICAgICAgJ3siaWQiOjYsIm1ldGhvZCI6IlBhZ2Uu
Z2V0UmVzb3VyY2VDb250ZW50IiwicGFyYW1zIjp7fX0nLAorICAgICAgICAneyJpZCI6NywibWV0
aG9kIjoiUGFnZS5nZXRSZXNvdXJjZUNvbnRlbnQiLCJwYXJhbXMiOnsiZnJhbWVJZCI6Im5vdCBh
IG51bWJlciJ9fScsCisgICAgICAgICd7ImlkIjo4LCJtZXRob2QiOiJQYWdlLnRlc3QifScsCisg
ICAgICAgICd7ImlkIjo5LCJtZXRob2QiOiJQYWdlLnRlc3QiIH0nLAorICAgICAgICAneyJpZCI6
MTAsIm1ldGhvZCI6ICJQYWdlLnRlc3QiIH0nLAorICAgICAgICAneyJpZCI6MTEsIm1ldGhvZCIg
OiAiUGFnZS50ZXN0IiB9JywKKyAgICAgICAgJ3siaWQiOjEyLCAibWV0aG9kIiA6ICJQYWdlLnRl
c3QiIH0nLAorICAgICAgICAneyJpZCI6IDEzLCAibWV0aG9kIiA6ICJQYWdlLnRlc3QiIH0nLAor
ICAgICAgICAneyJpZCIgOiAxNCwgIm1ldGhvZCIgOiAiUGFnZS50ZXN0IiB9JywKKyAgICAgICAg
J3sgImlkIiA6IDE1LCAibWV0aG9kIiA6ICJQYWdlLnRlc3QiIH0nLAorICAgICAgICAneyAgImlk
IlxuIDpcciAxNixcdCAibWV0aG9kIlxmIDpcdiAiUGFnZS50ZXN0IiB9JywKKyAgICBdOworICAg
IHZhciBudW1iZXJPZlJlcG9ydHMgPSAwOworCisgICAgSW5zcGVjdG9yQmFja2VuZC5yZXBvcnRQ
cm90b2NvbEVycm9yID0gZnVuY3Rpb24obWVzc2FnZSkKKyAgICB7CisKKyAgICAgICAgaWYgKG51
bWJlck9mUmVwb3J0cyA8IG1lc3NhZ2VzLmxlbmd0aCkgeworICAgICAgICAgICAgSW5zcGVjdG9y
VGVzdC5hZGRPYmplY3QobWVzc2FnZSk7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJl
c3VsdCgiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLSIpOworICAgICAgICB9CisKKyAgICAgICAgaWYgKCsrbnVtYmVyT2ZSZXBvcnRzID09PSBt
ZXNzYWdlcy5sZW5ndGgpCisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgp
OworICAgIH0KKworICAgIGZ1bmN0aW9uIGZpcmUoKSB7CisgICAgICAgIGZvciAodmFyIGkgPSAw
OyBpIDwgbWVzc2FnZXMubGVuZ3RoOyArK2kpCisgICAgICAgICAgICBJbnNwZWN0b3JGcm9udGVu
ZEhvc3Quc2VuZE1lc3NhZ2VUb0JhY2tlbmQobWVzc2FnZXNbaV0pOworICAgIH0KKworICAgIERl
YnVnZ2VyQWdlbnQuZGlzYWJsZShmaXJlKTsKK30KKworPC9zY3JpcHQ+Cis8L2hlYWQ+CisKKzxi
b2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KKzxwPgorVGVzdHMgdGhhdCBJbnNwZWN0b3JCYWNrZW5k
RGlzcGF0Y2hlciBpcyBjYXRjaGluZyBpbmNvcnJlY3QgbWVzc2FnZXMuCis8L3A+CisKKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9y
dW50aW1lL3J1bnRpbWUtY2FsbEZ1bmN0aW9uT24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yLW9ic29sZXRlL3J1bnRpbWUvcnVudGltZS1jYWxsRnVuY3Rpb25Pbi1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNWRhNTVhMzRmMzZiNDdjZTE3OTk1YmIwN2RjNTkzNDBkYzMwMWJh
MQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9ydW50
aW1lL3J1bnRpbWUtY2FsbEZ1bmN0aW9uT24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1Rlc3RzIFJ1bnRpbWVBZ2VudC5jYWxsRnVuY3Rpb25PbiB1c2FnZXMuCisKKworUnVubmluZzog
dGVzdFRoaXMKKzMKKworUnVubmluZzogdGVzdEFyZ3VtZW50cworeyJhIjoxLCJiIjoyfQoreyJh
IjoxLCJiIjoyfQoreyJjIjoxLCJkIjoyfQorNAordW5kZWZpbmVkCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9ydW50aW1lL3J1bnRpbWUtY2FsbEZ1bmN0aW9u
T24uaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9ydW50aW1lL3J1bnRpbWUt
Y2FsbEZ1bmN0aW9uT24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zZmEwNDE5YzcwNjVjNWY3OTNlZmVlNDYz
YTJmOWYxNzU5MGM0YzU5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
LW9ic29sZXRlL3J1bnRpbWUvcnVudGltZS1jYWxsRnVuY3Rpb25Pbi5odG1sCkBAIC0wLDAgKzEs
NjcgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNw
ZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKworZnVuY3Rpb24g
dGVzdCgpCit7CisgICAgdmFyIG9iajEsIG9iajI7CisKKyAgICBJbnNwZWN0b3JUZXN0LnJ1blRl
c3RTdWl0ZShbCisgICAgICAgIGZ1bmN0aW9uIHRlc3RUaGlzKG5leHQpCisgICAgICAgIHsKKyAg
ICAgICAgICAgIFJ1bnRpbWVBZ2VudC5ldmFsdWF0ZSgiKHsgYSA6IDEsIGIgOiAyIH0pIiwgc3Rl
cDEpOworCisgICAgICAgICAgICBmdW5jdGlvbiBzdGVwMShlcnJvciwgcmVzdWx0LCB3YXNUaHJv
d24pCisgICAgICAgICAgICB7CisKKyAgICAgICAgICAgICAgICBmdW5jdGlvbiBzdW0oKQorICAg
ICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuYSArIHRoaXMu
YjsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICBvYmoxID0gcmVzdWx0Owor
ICAgICAgICAgICAgICAgIFJ1bnRpbWVBZ2VudC5jYWxsRnVuY3Rpb25PbihvYmoxLm9iamVjdElk
LCBzdW0udG9TdHJpbmcoKSwgc3RlcDIpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBm
dW5jdGlvbiBzdGVwMihlcnJvciwgcmVzdWx0LCB3YXNUaHJvd24pCisgICAgICAgICAgICB7Cisg
ICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQocmVzdWx0LnZhbHVlKTsKKyAg
ICAgICAgICAgICAgICBuZXh0KCk7CisgICAgICAgICAgICB9CisgICAgICAgIH0sCisKKyAgICAg
ICAgZnVuY3Rpb24gdGVzdEFyZ3VtZW50cyhuZXh0KQorICAgICAgICB7CisgICAgICAgICAgICBS
dW50aW1lQWdlbnQuZXZhbHVhdGUoIih7IGMgOiAxLCBkIDogMiB9KSIsIHN0ZXAxKTsKKworICAg
ICAgICAgICAgZnVuY3Rpb24gc3RlcDEoZXJyb3IsIHJlc3VsdCwgd2FzVGhyb3duKQorICAgICAg
ICAgICAgeworICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGZvcm1hdChhb2JqMSwgYW9iajIsIHZh
bCwgdW5kZWYpCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICByZXR1cm4g
SlNPTi5zdHJpbmdpZnkodGhpcykgKyAiXG4iICsgSlNPTi5zdHJpbmdpZnkoYW9iajEpICsgIlxu
IiArIEpTT04uc3RyaW5naWZ5KGFvYmoyKSArICJcbiIgKyB2YWwgKyAiXG4iICsgdW5kZWY7Cisg
ICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgb2JqMiA9IHJlc3VsdDsKKyAgICAg
ICAgICAgICAgICBSdW50aW1lQWdlbnQuY2FsbEZ1bmN0aW9uT24ob2JqMS5vYmplY3RJZCwgZm9y
bWF0LnRvU3RyaW5nKCksIFtvYmoxLCBvYmoyLCB7dmFsdWU6NH0sIHt9XSwgc3RlcDIpOworICAg
ICAgICAgICAgfQorCisgICAgICAgICAgICBmdW5jdGlvbiBzdGVwMihlcnJvciwgcmVzdWx0LCB3
YXNUaHJvd24pCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5h
ZGRSZXN1bHQocmVzdWx0LnZhbHVlKTsKKyAgICAgICAgICAgICAgICBuZXh0KCk7CisgICAgICAg
ICAgICB9CisgICAgICAgIH0KKyAgICBdKTsKK30KKworPC9zY3JpcHQ+Cis8L2hlYWQ+CisKKzxi
b2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KKzxwPgorVGVzdHMgUnVudGltZUFnZW50LmNhbGxGdW5j
dGlvbk9uIHVzYWdlcy4KKzwvcD4KKworPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3J1bnRpbWUvcnVudGltZS1nZXRQcm9wZXJ0aWVz
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9ydW50aW1lL3J1
bnRpbWUtZ2V0UHJvcGVydGllcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTYyNzNkY2RlYjc2
Mjg1MGE1MzZjZmZhZDcxMDFkYTlhZmY4Y2ZmYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9ydW50aW1lL3J1bnRpbWUtZ2V0UHJvcGVydGllcy1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSw0OSBAQAorVGVzdHMgUmVtb3RlT2JqZWN0LmdldFByb3BlcnRp
ZXMuCisKKworUnVubmluZzogdGVzdFNldFVwCisKK1J1bm5pbmc6IHRlc3RHZXR0ZXJBbmRTZXR0
ZXIKK3sKKyAgICBlbnVtZXJhYmxlIDogdHJ1ZQorICAgIG5hbWUgOiAiZ2V0IGZvbyIKKyAgICB2
YWx1ZSA6IHsKKyAgICAgICAgZGVzY3JpcHRpb24gOiAiZnVuY3Rpb24gKCkgeyByZXR1cm4gMTsg
fSIKKyAgICAgICAgb2JqZWN0SWQgOiA8c3RyaW5nPgorICAgICAgICB0eXBlIDogImZ1bmN0aW9u
IgorICAgIH0KKyAgICB3cml0YWJsZSA6IGZhbHNlCit9Cit7CisgICAgZW51bWVyYWJsZSA6IHRy
dWUKKyAgICBuYW1lIDogInNldCBmb28iCisgICAgdmFsdWUgOiB7CisgICAgICAgIGRlc2NyaXB0
aW9uIDogImZ1bmN0aW9uICh2YWx1ZSkgeyB9IgorICAgICAgICBvYmplY3RJZCA6IDxzdHJpbmc+
CisgICAgICAgIHR5cGUgOiAiZnVuY3Rpb24iCisgICAgfQorICAgIHdyaXRhYmxlIDogZmFsc2UK
K30KKworUnVubmluZzogdGVzdEdldHRlck9ubHkKK3sKKyAgICBlbnVtZXJhYmxlIDogdHJ1ZQor
ICAgIG5hbWUgOiAiZ2V0IGZvbyIKKyAgICB2YWx1ZSA6IHsKKyAgICAgICAgZGVzY3JpcHRpb24g
OiAiZnVuY3Rpb24gKCkgeyByZXR1cm4gMTsgfSIKKyAgICAgICAgb2JqZWN0SWQgOiA8c3RyaW5n
PgorICAgICAgICB0eXBlIDogImZ1bmN0aW9uIgorICAgIH0KKyAgICB3cml0YWJsZSA6IGZhbHNl
Cit9Cit7CisgICAgZW51bWVyYWJsZSA6IHRydWUKKyAgICBuYW1lIDogInNldCBmb28iCisgICAg
dmFsdWUgOiB7CisgICAgICAgIGRlc2NyaXB0aW9uIDogInVuZGVmaW5lZCIKKyAgICAgICAgb2Jq
ZWN0SWQgOiA8dW5kZWZpbmVkPgorICAgICAgICB0eXBlIDogInVuZGVmaW5lZCIKKyAgICB9Cisg
ICAgd3JpdGFibGUgOiBmYWxzZQorfQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0
b3Itb2Jzb2xldGUvcnVudGltZS9ydW50aW1lLWdldFByb3BlcnRpZXMtaXNPd25Qcm9wZXJ0eS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvcnVudGltZS9ydW50
aW1lLWdldFByb3BlcnRpZXMtaXNPd25Qcm9wZXJ0eS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZTE4NTIyZjZlYzkxODg0NDI1NTkyZTI4MmMzYjA1OTJjYjBiOTdkYQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9ydW50aW1lL3J1bnRpbWUtZ2V0UHJv
cGVydGllcy1pc093blByb3BlcnR5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1Rlc3Rz
IFJlbW90ZU9iamVjdC5nZXRQcm9wZXJ0aWVzLgorCitwcm9wZXJ0eS5uYW1lPT0idGVzdEJhciIg
aXNPd249PSJ0cnVlIgorcHJvcGVydHkubmFtZT09InRlc3RGb28iIGlzT3duPT0idW5kZWZpbmVk
IgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvcnVudGltZS9y
dW50aW1lLWdldFByb3BlcnRpZXMtaXNPd25Qcm9wZXJ0eS5odG1sIGIvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yLW9ic29sZXRlL3J1bnRpbWUvcnVudGltZS1nZXRQcm9wZXJ0aWVzLWlzT3duUHJvcGVy
dHkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mZjYwYzc5ZTgwZmE2NzQ2YmRhOGJjZmFmYThlZGM2ODViZGIz
YzAwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3J1
bnRpbWUvcnVudGltZS1nZXRQcm9wZXJ0aWVzLWlzT3duUHJvcGVydHkuaHRtbApAQCAtMCwwICsx
LDU4IEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5z
cGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisKK2Z1bmN0aW9u
IEEoKSB7CisgICAgdGhpcy50ZXN0Rm9vID0gImFiYyI7Cit9CisKK2Z1bmN0aW9uIEIoKSB7IAor
ICAgIHRoaXMudGVzdEJhciA9ICJjZGUiOworfQorCitCLnByb3RvdHlwZSA9IG5ldyBBKCk7Citi
ID0gbmV3IEIoKTsKKworZnVuY3Rpb24gdGVzdCgpCit7CisgICAgZnVuY3Rpb24gZmFpbChtZXNz
YWdlKQorICAgIHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQobWVzc2FnZSk7Cisg
ICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7CisgICAgfQorCisgICAgUnVudGlt
ZUFnZW50LmV2YWx1YXRlKCJ3aW5kb3cuYiIsIHN0ZXAxKTsKKworICAgIGZ1bmN0aW9uIHN0ZXAx
KGVycm9yLCByZXN1bHQpCisgICAgeworICAgICAgICBSdW50aW1lQWdlbnQuZ2V0UHJvcGVydGll
cyhyZXN1bHQub2JqZWN0SWQsIC8qIGlzT3duUHJvcGVydHkgKi8gZmFsc2UsIHN0ZXAyKTsKKyAg
ICB9CisKKyAgICBmdW5jdGlvbiBzdGVwMihlcnJvciwgcHJvcGVydGllcykgCisgICAgeworICAg
ICAgICBpZiAoZXJyb3IpIAorICAgICAgICAgICAgcmV0dXJuIGZhaWwoIkVycm9yIHRvb2sgcGxh
Y2UgZHVyaW5nIFJ1bnRpbWVBZ2VudC5nZXRQcm9wZXJ0aWVzIGNhbGwiKTsKKyAgICAgICAgCisg
ICAgICAgIGlmICghcHJvcGVydGllcykgCisgICAgICAgICAgICByZXR1cm4gZmFpbCgiUHJvcGVy
dGllcyBkbyBub3QgZXhpc3QiKTsKKyAgICAgICAgCisgICAgICAgIGZvciAodmFyIGkgPSAwOyBp
IDwgcHJvcGVydGllcy5sZW5ndGg7IGkrKykgeworICAgICAgICAgICAgdmFyIHByb3BlcnR5ID0g
cHJvcGVydGllc1tpXTsKKyAgICAgICAgICAgIGlmIChwcm9wZXJ0eS5uYW1lLm1hdGNoKC9edGVz
dC8pKSAKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgicHJvcGVydHku
bmFtZT09XCIiICsgcHJvcGVydHkubmFtZSArICJcIiBpc093bj09XCIiICsgcHJvcGVydHkuaXNP
d24gKyAiXCIiKTsKKyAgICAgICAgfQorICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVz
dCgpOworICAgIH0KKworfQorPC9zY3JpcHQ+Cis8L2hlYWQ+CisKKzxib2R5IG9ubG9hZD0icnVu
VGVzdCgpIj4KKzxwPgorVGVzdHMgUmVtb3RlT2JqZWN0LmdldFByb3BlcnRpZXMuCis8L3A+CisK
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNv
bGV0ZS9ydW50aW1lL3J1bnRpbWUtZ2V0UHJvcGVydGllcy5odG1sIGIvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yLW9ic29sZXRlL3J1bnRpbWUvcnVudGltZS1nZXRQcm9wZXJ0aWVzLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNWViMjhiZDJlNDA1YjkwZDkwMWZhYTFiNjViZWFjZWVmZDgwOTI3YQotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9ydW50aW1lL3J1bnRpbWUt
Z2V0UHJvcGVydGllcy5odG1sCkBAIC0wLDAgKzEsODQgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwv
c2NyaXB0PgorPHNjcmlwdD4KKwordmFyIG9iamVjdDEgPSB7IGdldCBmb28oKSB7IHJldHVybiAx
OyB9LCBzZXQgZm9vKHZhbHVlKSB7IH0gfTsKK3ZhciBvYmplY3QyID0geyBnZXQgZm9vKCkgeyBy
ZXR1cm4gMTsgfSB9OworCitmdW5jdGlvbiB0ZXN0KCkKK3sKKyAgICB2YXIgb2JqMSwgb2JqMjsK
KworICAgIEluc3BlY3RvclRlc3QucnVuVGVzdFN1aXRlKFsKKyAgICAgICAgZnVuY3Rpb24gdGVz
dFNldFVwKG5leHQpCisgICAgICAgIHsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVh
dGVJblBhZ2UoImR1bXBPYmplY3RzKCdJbml0aWFsJykiLCBzdGVwMCk7CisKKyAgICAgICAgICAg
IGZ1bmN0aW9uIHN0ZXAwKCkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBSdW50aW1l
QWdlbnQuZXZhbHVhdGUoIm9iamVjdDEiLCBzdGVwMSk7CisgICAgICAgICAgICB9CisKKyAgICAg
ICAgICAgIGZ1bmN0aW9uIHN0ZXAxKGVycm9yLCByZXN1bHQsIHdhc1Rocm93bikKKyAgICAgICAg
ICAgIHsKKyAgICAgICAgICAgICAgICBvYmoxID0gV2ViSW5zcGVjdG9yLlJlbW90ZU9iamVjdC5m
cm9tUGF5bG9hZChyZXN1bHQpOworICAgICAgICAgICAgICAgIFJ1bnRpbWVBZ2VudC5ldmFsdWF0
ZSgib2JqZWN0MiIsIHN0ZXAyKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgZnVuY3Rp
b24gc3RlcDIoZXJyb3IsIHJlc3VsdCwgd2FzVGhyb3duKQorICAgICAgICAgICAgeworICAgICAg
ICAgICAgICAgIG9iajIgPSBXZWJJbnNwZWN0b3IuUmVtb3RlT2JqZWN0LmZyb21QYXlsb2FkKHJl
c3VsdCk7CisgICAgICAgICAgICAgICAgbmV4dCgpOworICAgICAgICAgICAgfQorICAgICAgICB9
LAorCisgICAgICAgIGZ1bmN0aW9uIHRlc3RHZXR0ZXJBbmRTZXR0ZXIobmV4dCkKKyAgICAgICAg
eworICAgICAgICAgICAgb2JqMS5nZXRPd25Qcm9wZXJ0aWVzKHN0ZXAxKTsKKworICAgICAgICAg
ICAgZnVuY3Rpb24gc3RlcDEocHJvcGVydGllcykKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAg
ICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHByb3BlcnRpZXMubGVuZ3RoOyArK2kpCisgICAgICAg
ICAgICAgICAgICAgIGR1bXBQcm9wZXJ0eShwcm9wZXJ0aWVzW2ldKTsKKworICAgICAgICAgICAg
ICAgIG5leHQoKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfSwKKworICAgICAgICBmdW5jdGlv
biB0ZXN0R2V0dGVyT25seShuZXh0KQorICAgICAgICB7CisgICAgICAgICAgICBvYmoyLmdldE93
blByb3BlcnRpZXMoc3RlcDEpOworCisgICAgICAgICAgICBmdW5jdGlvbiBzdGVwMShwcm9wZXJ0
aWVzKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwg
cHJvcGVydGllcy5sZW5ndGg7ICsraSkKKyAgICAgICAgICAgICAgICAgICAgZHVtcFByb3BlcnR5
KHByb3BlcnRpZXNbaV0pOworCisgICAgICAgICAgICAgICAgbmV4dCgpOworICAgICAgICAgICAg
fQorICAgICAgICB9CisgICAgXSk7CisKKyAgICBmdW5jdGlvbiBkdW1wUHJvcGVydHkocHJvcGVy
dHkpCisgICAgeworICAgICAgICBpZiAocHJvcGVydHkubmFtZSA9PT0gIl9fcHJvdG9fXyIpCisg
ICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgdmFyIHZhbHVlID0gcHJvcGVydHkudmFsdWU7
CisgICAgICAgIGlmICh2YWx1ZSkKKyAgICAgICAgICAgIHByb3BlcnR5LnZhbHVlID0geyB0eXBl
OiB2YWx1ZS50eXBlLCBkZXNjcmlwdGlvbjogdmFsdWUuZGVzY3JpcHRpb24ucmVwbGFjZSgiZnVu
Y3Rpb24gZm9vIiwgImZ1bmN0aW9uICIpLCBvYmplY3RJZDogdmFsdWUub2JqZWN0SWQgfTsKKyAg
ICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wKHByb3BlcnR5LCB7IG9iamVjdElkOiAiZm9ybWF0QXNU
eXBlTmFtZSIgfSk7CisgICAgfQorfQorCis8L3NjcmlwdD4KKzwvaGVhZD4KKworPGJvZHkgb25s
b2FkPSJydW5UZXN0KCkiPgorPHA+CitUZXN0cyBSZW1vdGVPYmplY3QuZ2V0UHJvcGVydGllcy4K
KzwvcD4KKworPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yLW9ic29sZXRlL3J1bnRpbWUvcnVudGltZS1sb2NhbFN0b3JhZ2UtZ2V0UHJvcGVydGllcy1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvcnVudGltZS9ydW50
aW1lLWxvY2FsU3RvcmFnZS1nZXRQcm9wZXJ0aWVzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4x
MDgxNGJlY2I0ZTM3MmExZDRkYzY1MTg2NTg4NWZmMGI5YzI5M2Q2Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3J1bnRpbWUvcnVudGltZS1sb2NhbFN0
b3JhZ2UtZ2V0UHJvcGVydGllcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMiBAQAorVGVzdHMg
UmVtb3RlT2JqZWN0LmdldFByb3BlcnRpZXMgb24gbG9jYWxTdG9yYWdlIG9iamVjdC4gNjYyMTUK
KworeworICAgIGVudW1lcmFibGUgOiBmYWxzZQorICAgIG5hbWUgOiAidGVzdFByb3BlcnR5Igor
ICAgIHZhbHVlIDogeworICAgICAgICBkZXNjcmlwdGlvbiA6ICJ0ZXN0UHJvcGVydHlWYWx1ZSIK
KyAgICAgICAgdHlwZSA6ICJzdHJpbmciCisgICAgfQorICAgIHdyaXRhYmxlIDogZmFsc2UKK30K
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3J1bnRpbWUvcnVu
dGltZS1sb2NhbFN0b3JhZ2UtZ2V0UHJvcGVydGllcy5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yLW9ic29sZXRlL3J1bnRpbWUvcnVudGltZS1sb2NhbFN0b3JhZ2UtZ2V0UHJvcGVydGllcy5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmQ1MTFiMGIzNzMxNWVjMzEzZjljMDIwNTRlY2U4NzViNDgwMTZjNGEK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvcnVudGlt
ZS9ydW50aW1lLWxvY2FsU3RvcmFnZS1nZXRQcm9wZXJ0aWVzLmh0bWwKQEAgLTAsMCArMSw0MCBA
QAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rv
ci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorCitsb2NhbFN0b3JhZ2Uu
dGVzdFByb3BlcnR5ID0gInRlc3RQcm9wZXJ0eVZhbHVlIjsKKworZnVuY3Rpb24gdGVzdCgpCit7
CisgICAgUnVudGltZUFnZW50LmV2YWx1YXRlKCJsb2NhbFN0b3JhZ2UiLCBzdGVwMSk7CisKKyAg
ICBmdW5jdGlvbiBzdGVwMShlcnJvciwgcmVzdWx0LCB3YXNUaHJvd24pCisgICAgeworICAgICAg
ICB2YXIgbG9jYWxTdG9yYWdlSGFuZGxlID0gV2ViSW5zcGVjdG9yLlJlbW90ZU9iamVjdC5mcm9t
UGF5bG9hZChyZXN1bHQpOworICAgICAgICBsb2NhbFN0b3JhZ2VIYW5kbGUuZ2V0T3duUHJvcGVy
dGllcyhzdGVwMik7CisgICAgfQorCisgICAgZnVuY3Rpb24gc3RlcDIocHJvcGVydGllcykKKyAg
ICB7CisgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcHJvcGVydGllcy5sZW5ndGg7ICsraSkg
eworICAgICAgICAgICAgdmFyIHByb3BlcnR5ID0gcHJvcGVydGllc1tpXTsKKyAgICAgICAgICAg
IGlmIChwcm9wZXJ0eS5uYW1lICE9PSAidGVzdFByb3BlcnR5IikKKyAgICAgICAgICAgICAgICBj
b250aW51ZTsKKyAgICAgICAgICAgIHByb3BlcnR5LnZhbHVlID0geyB0eXBlOiBwcm9wZXJ0eS52
YWx1ZS50eXBlLCBkZXNjcmlwdGlvbjogcHJvcGVydHkudmFsdWUuZGVzY3JpcHRpb24gfTsgICAg
ICAgICAgICAgICAgCisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXAocHJvcGVydHkpOwor
ICAgICAgICB9CisgICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7CisgICAgfQor
fQorCis8L3NjcmlwdD4KKzwvaGVhZD4KKworPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgorPHA+
CitUZXN0cyBSZW1vdGVPYmplY3QuZ2V0UHJvcGVydGllcyBvbiBsb2NhbFN0b3JhZ2Ugb2JqZWN0
LiA8YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYyMTUi
PjY2MjE1PC9hPgorPC9wPgorCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvcnVudGltZS9ydW50aW1lLXNldFByb3BlcnR5VmFsdWUt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3J1bnRpbWUvcnVu
dGltZS1zZXRQcm9wZXJ0eVZhbHVlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mYjcwYzk2ZTEx
YTVhYzQzZTc2NzU5YjBhYzZjZjY5NjgwYWI2MjY4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3J1bnRpbWUvcnVudGltZS1zZXRQcm9wZXJ0eVZhbHVl
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQ5IEBACitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTE6
ID09PT09IEluaXRpYWwgPT09PT0KK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxMjogeyJmb28iOjF9
CitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTM6IAorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDExOiA9
PT09PSBTZXQgcHJpbWl0aXZlID09PT09CitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTI6IHsiZm9v
IjoyfQorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDEzOiAKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAx
MTogPT09PT0gU2V0IGhhbmRsZSA9PT09PQorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDEyOiB7ImZv
byI6eyJiYXIiOjJ9fQorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDEzOiAKK0NPTlNPTEUgTUVTU0FH
RTogbGluZSAxMTogPT09PT0gU2V0IHVuZGVmaW5lZCA9PT09PQorQ09OU09MRSBNRVNTQUdFOiBs
aW5lIDEyOiB7fQorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDEzOiAKK0NPTlNPTEUgTUVTU0FHRTog
bGluZSAxMTogPT09PT0gU2V0IHplcm8gPT09PT0KK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxMjog
eyJmb28iOjB9CitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTM6IAorQ09OU09MRSBNRVNTQUdFOiBs
aW5lIDExOiA9PT09PSBTZXQgbnVsbCA9PT09PQorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDEyOiB7
ImZvbyI6bnVsbH0KK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxMzogCitDT05TT0xFIE1FU1NBR0U6
IGxpbmUgMTE6ID09PT09IFNldCBlbXB0eSBzdHJpbmcgPT09PT0KK0NPTlNPTEUgTUVTU0FHRTog
bGluZSAxMjogeyJmb28iOiIifQorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDEzOiAKK0NPTlNPTEUg
TUVTU0FHRTogbGluZSAxMTogPT09PT0gU2V0IGV4Y2VwdGlvbiA9PT09PQorQ09OU09MRSBNRVNT
QUdFOiBsaW5lIDEyOiB7ImZvbyI6IiJ9CitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTM6IAorQ09O
U09MRSBNRVNTQUdFOiBsaW5lIDExOiA9PT09PSBTZXQgbm9uLWZpbml0ZSBudW1iZXJzID09PT09
CitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTI6IHsiZm9vIjoiTmFOIiwiZm9vMSI6IkluZmluaXR5
IiwiZm9vMiI6Ii1JbmZpbml0eSJ9CitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTM6IAorVGVzdHMg
V2ViSW5zcGVjdG9yLlJlbW92ZU9iamVjdC5zZXRQcm9wZXJ0eVZhbHVlIGltcGxlbWVudGF0aW9u
LgorCisKK1J1bm5pbmc6IHRlc3RTZXRVcAorCitSdW5uaW5nOiB0ZXN0U2V0UHJpbWl0aXZlCisK
K1J1bm5pbmc6IHRlc3RTZXRIYW5kbGUKKworUnVubmluZzogdGVzdFNldFVuZGVmaW5lZAorCitS
dW5uaW5nOiB0ZXN0U2V0WmVybworCitSdW5uaW5nOiB0ZXN0U2V0TnVsbAorCitSdW5uaW5nOiB0
ZXN0U2V0RW1wdHlTdHJpbmcKKworUnVubmluZzogdGVzdFNldEV4Y2VwdGlvbgorZXhjZXB0aW9u
CisKK1J1bm5pbmc6IHRlc3RTZXROb25GaW5pdGVOdW1iZXJzCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9ydW50aW1lL3J1bnRpbWUtc2V0UHJvcGVydHlWYWx1
ZS5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3J1bnRpbWUvcnVudGltZS1z
ZXRQcm9wZXJ0eVZhbHVlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjBjM2MxYzc4YmViN2NlMGY4YTFmYjQx
MGJlZjZmNTI5MDQ2NTlhNgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rv
ci1vYnNvbGV0ZS9ydW50aW1lL3J1bnRpbWUtc2V0UHJvcGVydHlWYWx1ZS5odG1sCkBAIC0wLDAg
KzEsMTUyIEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMv
aW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisKK3ZhciBv
YmplY3QxID0geyBmb286IDEgfTsKK3ZhciBvYmplY3QyID0geyBiYXI6IDIgfTsKKworZnVuY3Rp
b24gZHVtcE9iamVjdChsYWJlbCkKK3sKKyAgICBjb25zb2xlLmxvZygiPT09PT0gIiArIGxhYmVs
ICsgIiA9PT09PSIpOworICAgIGNvbnNvbGUubG9nKEpTT04uc3RyaW5naWZ5KG9iamVjdDEsIHJl
cGxhY2VyKSk7CisgICAgY29uc29sZS5sb2coIiIpOworCisgICAgZnVuY3Rpb24gcmVwbGFjZXIo
a2V5LCB2YWx1ZSkKKyAgICB7CisgICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICJudW1iZXIi
ICYmICFpc0Zpbml0ZSh2YWx1ZSkpCisgICAgICAgICAgICByZXR1cm4gU3RyaW5nKHZhbHVlKTsK
KyAgICAgICAgcmV0dXJuIHZhbHVlOworICAgIH0KK30KKworZnVuY3Rpb24gdGVzdCgpCit7Cisg
ICAgdmFyIG9iajEsIG9iajI7CisKKyAgICBJbnNwZWN0b3JUZXN0LnJ1blRlc3RTdWl0ZShbCisg
ICAgICAgIGZ1bmN0aW9uIHRlc3RTZXRVcChuZXh0KQorICAgICAgICB7CisgICAgICAgICAgICBJ
bnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJkdW1wT2JqZWN0KCdJbml0aWFsJykiLCBzdGVw
MCk7CisKKyAgICAgICAgICAgIGZ1bmN0aW9uIHN0ZXAwKCkKKyAgICAgICAgICAgIHsKKyAgICAg
ICAgICAgICAgICBSdW50aW1lQWdlbnQuZXZhbHVhdGUoIm9iamVjdDEiLCBzdGVwMSk7CisgICAg
ICAgICAgICB9CisKKyAgICAgICAgICAgIGZ1bmN0aW9uIHN0ZXAxKGVycm9yLCByZXN1bHQsIHdh
c1Rocm93bikKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBvYmoxID0gV2ViSW5zcGVj
dG9yLlJlbW90ZU9iamVjdC5mcm9tUGF5bG9hZChyZXN1bHQpOworICAgICAgICAgICAgICAgIFJ1
bnRpbWVBZ2VudC5ldmFsdWF0ZSgib2JqZWN0MiIsIHN0ZXAyKTsKKyAgICAgICAgICAgIH0KKwor
ICAgICAgICAgICAgZnVuY3Rpb24gc3RlcDIoZXJyb3IsIHJlc3VsdCwgd2FzVGhyb3duKQorICAg
ICAgICAgICAgeworICAgICAgICAgICAgICAgIG9iajIgPSBXZWJJbnNwZWN0b3IuUmVtb3RlT2Jq
ZWN0LmZyb21QYXlsb2FkKHJlc3VsdCk7CisgICAgICAgICAgICAgICAgbmV4dCgpOworICAgICAg
ICAgICAgfQorICAgICAgICB9LAorCisgICAgICAgIGZ1bmN0aW9uIHRlc3RTZXRQcmltaXRpdmUo
bmV4dCkKKyAgICAgICAgeworICAgICAgICAgICAgb2JqMS5zZXRQcm9wZXJ0eVZhbHVlKCJmb28i
LCAiMiIsIHN0ZXAxKTsKKworICAgICAgICAgICAgZnVuY3Rpb24gc3RlcDEoKQorICAgICAgICAg
ICAgeworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoImR1bXBP
YmplY3QoJ1NldCBwcmltaXRpdmUnKSIsIG5leHQpOworICAgICAgICAgICAgfQorICAgICAgICB9
LAorCisgICAgICAgIGZ1bmN0aW9uIHRlc3RTZXRIYW5kbGUobmV4dCkKKyAgICAgICAgeworICAg
ICAgICAgICAgb2JqMS5zZXRQcm9wZXJ0eVZhbHVlKCJmb28iLCAib2JqZWN0MiIsIHN0ZXAxKTsK
KworICAgICAgICAgICAgZnVuY3Rpb24gc3RlcDEoKQorICAgICAgICAgICAgeworICAgICAgICAg
ICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoImR1bXBPYmplY3QoJ1NldCBoYW5k
bGUnKSIsIG5leHQpOworICAgICAgICAgICAgfQorICAgICAgICB9LAorCisgICAgICAgIGZ1bmN0
aW9uIHRlc3RTZXRVbmRlZmluZWQobmV4dCkKKyAgICAgICAgeworICAgICAgICAgICAgb2JqMS5z
ZXRQcm9wZXJ0eVZhbHVlKCJmb28iLCAidW5kZWZpbmVkIiwgc3RlcDEpOworCisgICAgICAgICAg
ICBmdW5jdGlvbiBzdGVwMSgpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgSW5zcGVj
dG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgiZHVtcE9iamVjdCgnU2V0IHVuZGVmaW5lZCcpIiwgbmV4
dCk7CisgICAgICAgICAgICB9CisgICAgICAgIH0sCisKKyAgICAgICAgZnVuY3Rpb24gdGVzdFNl
dFplcm8obmV4dCkKKyAgICAgICAgeworICAgICAgICAgICAgb2JqMS5zZXRQcm9wZXJ0eVZhbHVl
KCJmb28iLCAiMCIsIHN0ZXAxKTsKKworICAgICAgICAgICAgZnVuY3Rpb24gc3RlcDEoKQorICAg
ICAgICAgICAgeworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2Uo
ImR1bXBPYmplY3QoJ1NldCB6ZXJvJykiLCBuZXh0KTsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
fSwKKworICAgICAgICBmdW5jdGlvbiB0ZXN0U2V0TnVsbChuZXh0KQorICAgICAgICB7CisgICAg
ICAgICAgICBvYmoxLnNldFByb3BlcnR5VmFsdWUoImZvbyIsICJudWxsIiwgc3RlcDEpOworCisg
ICAgICAgICAgICBmdW5jdGlvbiBzdGVwMSgpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAg
ICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgiZHVtcE9iamVjdCgnU2V0IG51bGwnKSIs
IG5leHQpOworICAgICAgICAgICAgfQorICAgICAgICB9LAorCisgICAgICAgIGZ1bmN0aW9uIHRl
c3RTZXRFbXB0eVN0cmluZyhuZXh0KQorICAgICAgICB7CisgICAgICAgICAgICBvYmoxLnNldFBy
b3BlcnR5VmFsdWUoImZvbyIsICJcIlwiIiwgc3RlcDEpOworCisgICAgICAgICAgICBmdW5jdGlv
biBzdGVwMSgpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5l
dmFsdWF0ZUluUGFnZSgiZHVtcE9iamVjdCgnU2V0IGVtcHR5IHN0cmluZycpIiwgbmV4dCk7Cisg
ICAgICAgICAgICB9CisgICAgICAgIH0sCisKKyAgICAgICAgZnVuY3Rpb24gdGVzdFNldEV4Y2Vw
dGlvbihuZXh0KQorICAgICAgICB7CisgICAgICAgICAgICBvYmoxLnNldFByb3BlcnR5VmFsdWUo
ImZvbyIsICJ0aHJvdyAnZXhjZXB0aW9uJyIsIHN0ZXAxKTsKKworICAgICAgICAgICAgZnVuY3Rp
b24gc3RlcDEoZXJyb3IpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9y
VGVzdC5hZGRSZXN1bHQoZXJyb3IpOworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXZh
bHVhdGVJblBhZ2UoImR1bXBPYmplY3QoJ1NldCBleGNlcHRpb24nKSIsIG5leHQpOworICAgICAg
ICAgICAgfQorICAgICAgICB9LAorCisgICAgICAgIGZ1bmN0aW9uIHRlc3RTZXROb25GaW5pdGVO
dW1iZXJzKG5leHQpCisgICAgICAgIHsKKyAgICAgICAgICAgIG9iajEuc2V0UHJvcGVydHlWYWx1
ZSgiZm9vIiwgIk5hTiIsIHN0ZXAxKTsKKworICAgICAgICAgICAgZnVuY3Rpb24gc3RlcDEoZXJy
b3IpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgb2JqMS5zZXRQcm9wZXJ0eVZhbHVl
KCJmb28xIiwgIkluZmluaXR5Iiwgc3RlcDIpOworICAgICAgICAgICAgfQorCisgICAgICAgICAg
ICBmdW5jdGlvbiBzdGVwMihlcnJvcikKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBv
YmoxLnNldFByb3BlcnR5VmFsdWUoImZvbzIiLCAiLUluZmluaXR5Iiwgc3RlcDMpOworICAgICAg
ICAgICAgfQorCisgICAgICAgICAgICBmdW5jdGlvbiBzdGVwMyhlcnJvcikKKyAgICAgICAgICAg
IHsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJkdW1wT2Jq
ZWN0KCdTZXQgbm9uLWZpbml0ZSBudW1iZXJzJykiLCBuZXh0KTsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgfQorICAgIF0pOworfQorCis8L3NjcmlwdD4KKzwvaGVhZD4KKworPGJvZHkgb25sb2Fk
PSJydW5UZXN0KCkiPgorPHA+CitUZXN0cyBXZWJJbnNwZWN0b3IuUmVtb3ZlT2JqZWN0LnNldFBy
b3BlcnR5VmFsdWUgaW1wbGVtZW50YXRpb24uCis8L3A+CisKKzwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9zY3JpcHQtZXhlY3V0aW9u
LXN0YXRlLWNoYW5nZS1ub3RpZmljYXRpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yLW9ic29sZXRlL3NjcmlwdC1leGVjdXRpb24tc3RhdGUtY2hhbmdlLW5vdGlmaWNhdGlv
bi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTE1NThiMTJlZTkyZTY0ZmVjZmUyZjdmMjI5Y2I2
MTEzYzY3YzFjZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNv
bGV0ZS9zY3JpcHQtZXhlY3V0aW9uLXN0YXRlLWNoYW5nZS1ub3RpZmljYXRpb24tZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsOSBAQAorVGVzdHMgdGhhdCB3aGVuZXZlciBTY3JpcHQgRXhlY3V0aW9u
IHN0YXRlIGlzIGNoYW5nZWQgb3V0c2lkZSBpbnNwZWN0b3IsIGl0cyBub3RpZmllZCB0byB0aGUg
SW5zcGVjdG9yIGZyb250LWVuZC4KKworUmVnaXN0ZXJlZCBQYWdlRGlzcGF0Y2hlci5zY3JpcHRz
RW5hYmxlZCgpCitydW5uaW5nIGRpc2FibGVKYXZhU2NyaXB0VGVzdC4uLgorUGFnZURpc3BhdGNo
ZXIuc2NyaXB0c0VuYWJsZWQgc2hvdWxkIGJlIGludm9rZWQgd2l0aCBpc0VuYWJsZWQ9ZmFsc2UK
K3J1bm5pbmcgZW5hYmxlSmF2YVNjcmlwdFRlc3QuLi4KK1BhZ2VEaXNwYXRjaGVyLnNjcmlwdHNF
bmFibGVkIHNob3VsZCBiZSBpbnZva2VkIHdpdGggaXNFbmFibGVkPXRydWUKK0ZpbmlzaGVkIHZl
cmlmaWNhdGlvbi4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRl
L3NjcmlwdC1leGVjdXRpb24tc3RhdGUtY2hhbmdlLW5vdGlmaWNhdGlvbi5odG1sIGIvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3NjcmlwdC1leGVjdXRpb24tc3RhdGUtY2hhbmdlLW5v
dGlmaWNhdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg0ZjJiZDgyMzI3NzY3YTRiOTNiODRlMGQ4NTcy
Yjg0ZDY4Y2NhNzEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jz
b2xldGUvc2NyaXB0LWV4ZWN1dGlvbi1zdGF0ZS1jaGFuZ2Utbm90aWZpY2F0aW9uLmh0bWwKQEAg
LTAsMCArMSw1NCBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9odHRwL3Rlc3Rz
L2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorCitmdW5j
dGlvbiBlbmFibGVKYXZhU2NyaXB0Rm9yUGFnZSgpCit7CisgICAgaWYgKHdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0SmF2YVNj
cmlwdEVuYWJsZWQiLCB0cnVlKTsKK30KKworZnVuY3Rpb24gZGlzYWJsZUphdmFTY3JpcHRGb3JQ
YWdlKCkKK3sKKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHRlc3RSdW5uZXIu
b3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRKYXZhU2NyaXB0RW5hYmxlZCIsIGZhbHNlKTsKK30K
KworZnVuY3Rpb24gdGVzdCgpCit7CisgICAgZnVuY3Rpb24gc2NyaXB0c0VuYWJsZWQoaXNFbmFi
bGVkKQorICAgIHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIlBhZ2VEaXNwYXRj
aGVyLnNjcmlwdHNFbmFibGVkIHNob3VsZCBiZSBpbnZva2VkIHdpdGggaXNFbmFibGVkPSIgKyBp
c0VuYWJsZWQpOworICAgIH0KKworICAgIGZ1bmN0aW9uIGRpc2FibGVKYXZhU2NyaXB0VGVzdCgp
CisgICAgeworICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgicnVubmluZyBkaXNhYmxl
SmF2YVNjcmlwdFRlc3QuLi4iKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFn
ZSgiZGlzYWJsZUphdmFTY3JpcHRGb3JQYWdlKCk7IiwgZW5hYmxlSmF2YVNjcmlwdFRlc3QpOwor
ICAgIH0KKworICAgIGZ1bmN0aW9uIGVuYWJsZUphdmFTY3JpcHRUZXN0KCkKKyAgICB7CisgICAg
ICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJydW5uaW5nIGVuYWJsZUphdmFTY3JpcHRUZXN0
Li4uIik7CisgICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoImVuYWJsZUphdmFT
Y3JpcHRGb3JQYWdlKCk7IiwgZmluaXNoKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBmaW5pc2go
KQorICAgIHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIkZpbmlzaGVkIHZlcmlm
aWNhdGlvbi4iKQorICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOworICAgIH0K
KworICAgIEluc3BlY3RvclRlc3QuYWRkU25pZmZlcihXZWJJbnNwZWN0b3IuUGFnZURpc3BhdGNo
ZXIucHJvdG90eXBlLCAic2NyaXB0c0VuYWJsZWQiLCBzY3JpcHRzRW5hYmxlZCwgdHJ1ZSk7Cisg
ICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIlJlZ2lzdGVyZWQgUGFnZURpc3BhdGNoZXIuc2Ny
aXB0c0VuYWJsZWQoKSIpOworICAgIGRpc2FibGVKYXZhU2NyaXB0VGVzdCgpOworfQorPC9zY3Jp
cHQ+Cis8L2hlYWQ+CisKKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KKzxwPlRlc3RzIHRoYXQg
d2hlbmV2ZXIgU2NyaXB0IEV4ZWN1dGlvbiBzdGF0ZSBpcyBjaGFuZ2VkIG91dHNpZGUgaW5zcGVj
dG9yLCBpdHMgbm90aWZpZWQgdG8gdGhlIEluc3BlY3RvciBmcm9udC1lbmQuPC9wPgorPC9ib2R5
PgorPC9odG1sPgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUv
c3RvcmFnZS1wYW5lbC1kb20tc3RvcmFnZS1lbXB0eS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9pbnNwZWN0b3Itb2Jzb2xldGUvc3RvcmFnZS1wYW5lbC1kb20tc3RvcmFnZS1lbXB0eS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uOWJjYjk1MjExY2E0OGQ1MWQwNWFkN2E3Njc3MGQ3ZmM3NGY2
MDliYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9z
dG9yYWdlLXBhbmVsLWRvbS1zdG9yYWdlLWVtcHR5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEx
IEBACitUZXN0IHRoYXQgc3RvcmFnZSBwYW5lbCBpcyBwcmVzZW50IGFuZCB0aGF0IGl0IGNvbnRh
aW5zIG5vIGRhdGEgZm9yIGxvY2FsIGFuZCBzZXNzaW9uIERPTSBzdG9yYWdlcy4KKworUG9wdWxh
dGVkIGxvY2FsIGFuZCBzZXNzaW9uIHN0b3JhZ2UKK0RpZCBzaG93OiBMb2NhbCBzdG9yYWdlCitE
aWQgc2hvdzogU2Vzc2lvbiBzdG9yYWdlCitMb2NhbCBzdG9yYWdlIGNvbnRlbnQ6IAorS2V5VmFs
dWUgcGFpcnM6IAorU2Vzc2lvbiBzdG9yYWdlIGNvbnRlbnQ6IAorS2V5VmFsdWUgcGFpcnM6IAor
RE9ORQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvc3RvcmFn
ZS1wYW5lbC1kb20tc3RvcmFnZS1lbXB0eS5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9i
c29sZXRlL3N0b3JhZ2UtcGFuZWwtZG9tLXN0b3JhZ2UtZW1wdHkuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4w
NGI3ZjI2MjNlMGYwMjNhNTZjY2U4YzNiM2JhZDU2NjQzYmUwNDVmCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3N0b3JhZ2UtcGFuZWwtZG9tLXN0b3Jh
Z2UtZW1wdHkuaHRtbApAQCAtMCwwICsxLDcwIEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBz
cmM9Ii4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQ+CisKK2Z1bmN0aW9uIGNsZWFyRE9NU3RvcmFnZSgpCit7CisgICAgbG9jYWxTdG9y
YWdlLmNsZWFyKCk7CisgICAgc2Vzc2lvblN0b3JhZ2UuY2xlYXIoKTsKK30KKworZnVuY3Rpb24g
dGVzdCgpCit7CisgICAgV2ViSW5zcGVjdG9yLnNob3dQYW5lbCgicmVzb3VyY2VzIik7CisKKyAg
ICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJjbGVhckRPTVN0b3JhZ2UoKSIsIGZ1bmN0
aW9uKHJlc3VsdCkgeworICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiUG9wdWxhdGVk
IGxvY2FsIGFuZCBzZXNzaW9uIHN0b3JhZ2UiKTsKKyAgICB9KTsKKyAgICBmdW5jdGlvbiBuYW1l
KHN0b3JhZ2UpCisgICAgeworICAgICAgICByZXR1cm4gc3RvcmFnZS5pc0xvY2FsU3RvcmFnZSA/
ICJMb2NhbCBzdG9yYWdlIiA6ICJTZXNzaW9uIHN0b3JhZ2UiOworICAgIH0KKworICAgIGZ1bmN0
aW9uIGR1bXBEYXRhR3JpZENvbnRlbnQoZGF0YUdyaWQpCisgICAgeworICAgICAgICB2YXIgbm9k
ZXMgPSBkYXRhR3JpZC5yb290Tm9kZSgpLmNoaWxkcmVuOworICAgICAgICB2YXIgcm93cyA9IFtd
OworICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IG5vZGVzLmxlbmd0aDsgKytpKSB7CisgICAg
ICAgICAgICB2YXIgbm9kZSA9IG5vZGVzW2ldOworICAgICAgICAgICAgcm93cy5wdXNoKG5vZGUu
X2RhdGEua2V5ICsgbm9kZS5fZGF0YS52YWx1ZSk7CisgICAgICAgIH0KKyAgICAgICAgcm93cy5z
b3J0KCk7CisgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJLZXlWYWx1ZSBwYWlyczog
IiArIHJvd3Muam9pbignJykpOworICAgIH0KKworICAgIEluc3BlY3RvclRlc3QucnVuQWZ0ZXJQ
ZW5kaW5nRGlzcGF0Y2hlcyhmdW5jdGlvbigpIHsKKyAgICAgICAgdmFyIHN0b3JhZ2VzID0gV2Vi
SW5zcGVjdG9yLmRvbVN0b3JhZ2VNb2RlbC5zdG9yYWdlcygpOworICAgICAgICBpZiAoc3RvcmFn
ZXMpIHsKKyAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgc3RvcmFnZXMubGVuZ3RoOyBp
KyspIHsKKyAgICAgICAgICAgICAgICB2YXIgc3RvcmFnZSA9IHN0b3JhZ2VzW2ldOworICAgICAg
ICAgICAgICAgIFdlYkluc3BlY3Rvci5wYW5lbHMucmVzb3VyY2VzLl9zaG93RE9NU3RvcmFnZShz
dG9yYWdlKTsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiRGlkIHNo
b3c6ICIgKyBuYW1lKHN0b3JhZ2UpKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfSBlbHNlCisg
ICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiRkFJTDogbm8gRE9NIHN0b3JhZ2Vz
IGZvdW5kLiIpOworCisgICAgICAgIEluc3BlY3RvclRlc3QucnVuQWZ0ZXJQZW5kaW5nRGlzcGF0
Y2hlcyhmdW5jdGlvbigpIHsKKyAgICAgICAgICAgIHZhciBzdG9yYWdlcyA9IFdlYkluc3BlY3Rv
ci5kb21TdG9yYWdlTW9kZWwuc3RvcmFnZXMoKTsKKyAgICAgICAgICAgIGZvciAodmFyIGkgPSAw
OyBpIDwgc3RvcmFnZXMubGVuZ3RoOyBpKyspIHsKKyAgICAgICAgICAgICAgICB2YXIgc3RvcmFn
ZSA9IHN0b3JhZ2VzW2ldOworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0
KG5hbWUoc3RvcmFnZSkgKyAiIGNvbnRlbnQ6ICIpOworICAgICAgICAgICAgICAgIHZhciB2aWV3
ID0gV2ViSW5zcGVjdG9yLnBhbmVscy5yZXNvdXJjZXMuX2RvbVN0b3JhZ2VWaWV3cy5nZXQoc3Rv
cmFnZSk7CisgICAgICAgICAgICAgICAgZHVtcERhdGFHcmlkQ29udGVudCh2aWV3Ll9kYXRhR3Jp
ZCk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgi
RE9ORSIpOworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKKyAgICAg
ICAgfSk7CisgICAgfSk7Cit9CisKKzwvc2NyaXB0PgorPC9oZWFkPgorCis8Ym9keSBvbmxvYWQ9
InJ1blRlc3QoKSI+Cis8cD4KK1Rlc3QgdGhhdCBzdG9yYWdlIHBhbmVsIGlzIHByZXNlbnQgYW5k
IHRoYXQgaXQgY29udGFpbnMgbm8gZGF0YSBmb3IgbG9jYWwgYW5kIHNlc3Npb24gRE9NIHN0b3Jh
Z2VzLgorPC9wPgorCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bnNwZWN0b3Itb2Jzb2xldGUvc3RvcmFnZS1wYW5lbC1kb20tc3RvcmFnZS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvc3RvcmFnZS1wYW5lbC1kb20tc3RvcmFn
ZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTMzMmExZjVhZjdjY2Q4ODNjOWU4NDk1OGUzZDE2
YjllNjQzZmUxYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNv
bGV0ZS9zdG9yYWdlLXBhbmVsLWRvbS1zdG9yYWdlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEx
IEBACitUZXN0IHRoYXQgc3RvcmFnZSBwYW5lbCBpcyBwcmVzZW50IGFuZCB0aGF0IGl0IGNvbnRh
aW5zIGNvcnJlY3QgZGF0YSBmb3IgbG9jYWwgYW5kIHNlc3Npb24gRE9NIHN0b3JhZ2VzLgorCitQ
b3B1bGF0ZWQgbG9jYWwgYW5kIHNlc3Npb24gc3RvcmFnZQorRGlkIHNob3c6IExvY2FsIHN0b3Jh
Z2UKK0RpZCBzaG93OiBTZXNzaW9uIHN0b3JhZ2UKK0xvY2FsIHN0b3JhZ2UgY29udGVudDogCitL
ZXlWYWx1ZSBwYWlyczogYTA9dmFsdWUwLCBhMT12YWx1ZTEsIGEyPXZhbHVlMiwgYTM9dmFsdWUz
LCBhND12YWx1ZTQsIGE1PXZhbHVlNSwgYTY9dmFsdWU2LCBhNz12YWx1ZTcsIGE4PXZhbHVlOCwg
YTk9dmFsdWU5LCByZXNvdXJjZS1oaXN0b3J5e30KK1Nlc3Npb24gc3RvcmFnZSBjb250ZW50OiAK
K0tleVZhbHVlIHBhaXJzOiBiMD12YWx1ZTEwLCBiMT12YWx1ZTExLCBiMj12YWx1ZTEyLCBiMz12
YWx1ZTEzLCBiND12YWx1ZTE0LCBiNT12YWx1ZTE1LCBiNj12YWx1ZTE2LCBiNz12YWx1ZTE3LCBi
OD12YWx1ZTE4LCBiOT12YWx1ZTE5LCAKK0RPTkUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yLW9ic29sZXRlL3N0b3JhZ2UtcGFuZWwtZG9tLXN0b3JhZ2UtdXBkYXRlLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9zdG9yYWdlLXBhbmVsLWRv
bS1zdG9yYWdlLXVwZGF0ZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTQ0OTFlMDM5MGYyZDRm
YTE0ZTRkNjMyOGM1ZDAwMzhiYmNiZTQ1NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2luc3BlY3Rvci1vYnNvbGV0ZS9zdG9yYWdlLXBhbmVsLWRvbS1zdG9yYWdlLXVwZGF0ZS1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzMSBAQAorVGVzdCB0aGF0IHN0b3JhZ2UgcGFuZWwgaXMgcHJl
c2VudCBhbmQgdGhhdCBpdCBjb250YWlucyBjb3JyZWN0IGRhdGEgd2hlbmV2ZXIgbG9jYWxTdG9y
YWdlIGlzIHVwZGF0ZWQuCisKKworUnVubmluZzogaW5pdGlhbGl6ZQorSW5pdGlhbGl6ZWQgbG9j
YWxTdG9yYWdlIGJ5IGNsZWFyaW5nIGVudHJpZXMKKworUnVubmluZzogdXBkYXRlTG9jYWxTdG9y
YWdlVmlldworUmVzb3VyY2UgUGFuZWwgd2l0aCBsb2NhbFN0b3JhZ2UgdmlldyB1cGRhdGVkCisK
K1J1bm5pbmc6IGFkZEl0ZW1UZXN0CithZGRJdGVtKCdhMScsJz12YWx1ZTEnKQorS2V5VmFsdWUg
cGFpcnM6IFthMT12YWx1ZTFdCithZGRJdGVtKCdhMicsJz12YWx1ZTInKQorS2V5VmFsdWUgcGFp
cnM6IFthMT12YWx1ZTEsYTI9dmFsdWUyXQorYWRkSXRlbSgnYTMnLCc9dmFsdWUzJykKK0tleVZh
bHVlIHBhaXJzOiBbYTE9dmFsdWUxLGEyPXZhbHVlMixhMz12YWx1ZTNdCithZGRJdGVtKCdhNCcs
Jz12YWx1ZTQnKQorS2V5VmFsdWUgcGFpcnM6IFthMT12YWx1ZTEsYTI9dmFsdWUyLGEzPXZhbHVl
MyxhND12YWx1ZTRdCithZGRJdGVtKCdhNScsJz12YWx1ZTUnKQorS2V5VmFsdWUgcGFpcnM6IFth
MT12YWx1ZTEsYTI9dmFsdWUyLGEzPXZhbHVlMyxhND12YWx1ZTQsYTU9dmFsdWU1XQorCitSdW5u
aW5nOiByZW1vdmVJdGVtVGVzdAorcmVtb3ZlSXRlbSgnYTUnKQorS2V5VmFsdWUgcGFpcnM6IFth
MT12YWx1ZTEsYTI9dmFsdWUyLGEzPXZhbHVlMyxhND12YWx1ZTRdCityZW1vdmVJdGVtKCdhNCcp
CitLZXlWYWx1ZSBwYWlyczogW2ExPXZhbHVlMSxhMj12YWx1ZTIsYTM9dmFsdWUzXQorCitSdW5u
aW5nOiBjbGVhclRlc3QKK2NsZWFyKCkKK0tleVZhbHVlIHBhaXJzOiBbXQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvc3RvcmFnZS1wYW5lbC1kb20tc3RvcmFn
ZS11cGRhdGUuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9zdG9yYWdlLXBh
bmVsLWRvbS1zdG9yYWdlLXVwZGF0ZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI4ZGNhZDkzODJlNDZiYjU2
Zjk5NmE5N2Y5MGE5ZGZjNzM2NTEyNmQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9p
bnNwZWN0b3Itb2Jzb2xldGUvc3RvcmFnZS1wYW5lbC1kb20tc3RvcmFnZS11cGRhdGUuaHRtbApA
QCAtMCwwICsxLDE3MSBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9odHRwL3Rl
c3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorZnVu
Y3Rpb24gYWRkSXRlbShrZXksdmFsdWUpCit7CisgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oa2V5
LHZhbHVlKTsKK30KKworZnVuY3Rpb24gcmVtb3ZlSXRlbShrZXkpCit7CisgICAgbG9jYWxTdG9y
YWdlLnJlbW92ZUl0ZW0oa2V5KTsKK30KKworZnVuY3Rpb24gY2xlYXIoKQoreworICAgIGxvY2Fs
U3RvcmFnZS5jbGVhcigpOworfQorCitmdW5jdGlvbiB0ZXN0KCkKK3sKKyAgICB2YXIgc3RvcmFn
ZSA9IG51bGw7CisgICAgdmFyIHJvb3ROb2RlID0gbnVsbDsKKyAgICB2YXIgY291bnQgPSAxOwor
CisgICAgLy8gUmVzb3VyY2VzIHBhbmVsIG11c3QgYmUgdmlzaWJsZQorICAgIFdlYkluc3BlY3Rv
ci5zaG93UGFuZWwoInJlc291cmNlcyIpOworCisgICAgZnVuY3Rpb24gZHVtcERhdGFHcmlkKCkK
KyAgICB7CisgICAgICAgIHZhciBub2RlcyA9IHJvb3ROb2RlLmNoaWxkcmVuOworICAgICAgICB2
YXIgcm93cyA9IFtdOworICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IG5vZGVzLmxlbmd0aDsg
KytpKSB7CisgICAgICAgICAgICB2YXIgbm9kZSA9IG5vZGVzW2ldOworICAgICAgICAgICAgaWYg
KG5vZGUuX2RhdGEua2V5Lmxlbmd0aCkKKyAgICAgICAgICAgICAgICByb3dzLnB1c2gobm9kZS5f
ZGF0YS5rZXkgKyBub2RlLl9kYXRhLnZhbHVlKTsKKyAgICAgICAgfQorICAgICAgICByb3dzLnNv
cnQoKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIktleVZhbHVlIHBhaXJzOiBb
IiArIHJvd3Muam9pbigpICsgIl0iKTsKKyAgICB9CisKKyAgICB2YXIgbmV4dERPTVN0b3JhZ2VD
bGVhckhhbmRsZXIgPSBudWxsOworICAgIEluc3BlY3RvclRlc3QuYWRkU25pZmZlcihXZWJJbnNw
ZWN0b3IuRE9NU3RvcmFnZURpc3BhdGNoZXIucHJvdG90eXBlLCAiZG9tU3RvcmFnZUl0ZW1zQ2xl
YXJlZCIsIGZ1bmN0aW9uKCkgeworICAgICAgICBpZiAobmV4dERPTVN0b3JhZ2VDbGVhckhhbmRs
ZXIpIHsKKyAgICAgICAgICAgIHZhciBoYW5kbGVyID0gbmV4dERPTVN0b3JhZ2VDbGVhckhhbmRs
ZXI7CisgICAgICAgICAgICBuZXh0RE9NU3RvcmFnZUNsZWFySGFuZGxlciA9IG51bGw7CisgICAg
ICAgICAgICBoYW5kbGVyKCk7CisgICAgICAgIH0gZWxzZQorICAgICAgICAgICAgSW5zcGVjdG9y
VGVzdC5hZGRSZXN1bHQoIkVSUk9SOiBkb21TdG9yYWdlSXRlbXNDbGVhcmVkIGV2ZW50IHdpdGhv
dXQgaGFuZGxlciIpOworICAgIH0sIHRydWUpOworCisgICAgdmFyIG5leHRET01TdG9yYWdlQWRk
SGFuZGxlciA9IG51bGw7CisgICAgSW5zcGVjdG9yVGVzdC5hZGRTbmlmZmVyKFdlYkluc3BlY3Rv
ci5ET01TdG9yYWdlRGlzcGF0Y2hlci5wcm90b3R5cGUsICJkb21TdG9yYWdlSXRlbUFkZGVkIiwg
ZnVuY3Rpb24oKSB7CisgICAgICAgIGlmIChuZXh0RE9NU3RvcmFnZUFkZEhhbmRsZXIpIHsKKyAg
ICAgICAgICAgIHZhciBoYW5kbGVyID0gbmV4dERPTVN0b3JhZ2VBZGRIYW5kbGVyOworICAgICAg
ICAgICAgbmV4dERPTVN0b3JhZ2VBZGRIYW5kbGVyID0gbnVsbDsKKyAgICAgICAgICAgIGhhbmRs
ZXIoKTsKKyAgICAgICAgfSBlbHNlCisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3Vs
dCgiRVJST1I6IGRvbVN0b3JhZ2VJdGVtQWRkZWQgZXZlbnQgd2l0aG91dCBoYW5kbGVyIik7Cisg
ICAgfSwgdHJ1ZSk7CisKKyAgICB2YXIgbmV4dERPTVN0b3JhZ2VSZW1vdmVIYW5kbGVyID0gbnVs
bDsKKyAgICBJbnNwZWN0b3JUZXN0LmFkZFNuaWZmZXIoV2ViSW5zcGVjdG9yLkRPTVN0b3JhZ2VE
aXNwYXRjaGVyLnByb3RvdHlwZSwgImRvbVN0b3JhZ2VJdGVtUmVtb3ZlZCIsIGZ1bmN0aW9uKCkg
eworICAgICAgICBpZiAobmV4dERPTVN0b3JhZ2VSZW1vdmVIYW5kbGVyKSB7CisgICAgICAgICAg
ICB2YXIgaGFuZGxlciA9IG5leHRET01TdG9yYWdlUmVtb3ZlSGFuZGxlcjsKKyAgICAgICAgICAg
IG5leHRET01TdG9yYWdlUmVtb3ZlSGFuZGxlciA9IG51bGw7CisgICAgICAgICAgICBoYW5kbGVy
KCk7CisgICAgICAgIH0gZWxzZQorICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQo
IkVSUk9SOiBkb21TdG9yYWdlSXRlbVJlbW92ZWQgZXZlbnQgd2l0aG91dCBoYW5kbGVyIik7Cisg
ICAgfSwgdHJ1ZSk7CisKKyAgICBJbnNwZWN0b3JUZXN0LnJ1blRlc3RTdWl0ZShbCisgICAgICAg
IGZ1bmN0aW9uIGluaXRpYWxpemUobmV4dCkKKyAgICAgICAgeworICAgICAgICAgICAgZnVuY3Rp
b24gZGlkQ2xlYXIocmVzdWx0KQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIEluc3Bl
Y3RvclRlc3QuYWRkUmVzdWx0KCJJbml0aWFsaXplZCBsb2NhbFN0b3JhZ2UgYnkgY2xlYXJpbmcg
ZW50cmllcyIpOworICAgICAgICAgICAgICAgIG5leHQoKTsKKyAgICAgICAgICAgIH0KKworICAg
ICAgICAgICAgbmV4dERPTVN0b3JhZ2VDbGVhckhhbmRsZXIgPSBkaWRDbGVhcjsKKworICAgICAg
ICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgiY2xlYXIoKSIpOworICAgICAgICB9
LAorCisgICAgICAgIGZ1bmN0aW9uIHVwZGF0ZUxvY2FsU3RvcmFnZVZpZXcobmV4dCkKKyAgICAg
ICAgeworICAgICAgICAgICAgZnVuY3Rpb24gbG9jYWxTdG9yYWdlVmlld1VwZGF0ZWQoKQorICAg
ICAgICAgICAgeworICAgICAgICAgICAgICAgIHJvb3ROb2RlID0gV2ViSW5zcGVjdG9yLnBhbmVs
cy5yZXNvdXJjZXMuX2RvbVN0b3JhZ2VWaWV3cy5nZXQoc3RvcmFnZSkuX2RhdGFHcmlkLnJvb3RO
b2RlKCk7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIlJlc291cmNl
IFBhbmVsIHdpdGggbG9jYWxTdG9yYWdlIHZpZXcgdXBkYXRlZCIpOworICAgICAgICAgICAgICAg
IG5leHQoKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgdmFyIGRpZEZpbmRTdG9yYWdl
ID0gZmFsc2U7CisKKyAgICAgICAgICAgIHZhciBzdG9yYWdlcyA9IFdlYkluc3BlY3Rvci5kb21T
dG9yYWdlTW9kZWwuc3RvcmFnZXMoKTsKKyAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwg
c3RvcmFnZXMubGVuZ3RoOyArK2kpIHsKKyAgICAgICAgICAgICAgICBzdG9yYWdlID0gc3RvcmFn
ZXNbaV07CisgICAgICAgICAgICAgICAgaWYgKHN0b3JhZ2UuaXNMb2NhbFN0b3JhZ2UpIHsKKyAg
ICAgICAgICAgICAgICAgICAgV2ViSW5zcGVjdG9yLnBhbmVscy5yZXNvdXJjZXMuX3Nob3dET01T
dG9yYWdlKHN0b3JhZ2UpOworICAgICAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LnJ1bkFm
dGVyUGVuZGluZ0Rpc3BhdGNoZXMobG9jYWxTdG9yYWdlVmlld1VwZGF0ZWQpOworICAgICAgICAg
ICAgICAgICAgICBkaWRGaW5kU3RvcmFnZSA9IHRydWU7CisgICAgICAgICAgICAgICAgICAgIGJy
ZWFrOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgaWYg
KCFkaWRGaW5kU3RvcmFnZSkKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3Vs
dCgiZGlkIG5vdCBmaW5kIGxvY2FsIHN0b3JhZ2UiKTsKKyAgICAgICAgfSwKKworICAgICAgICBm
dW5jdGlvbiBhZGRJdGVtVGVzdChuZXh0KQorICAgICAgICB7CisgICAgICAgICAgICBmdW5jdGlv
biB2aWV3VXBkYXRlZEFmdGVyQWRkaXRpb24oKQorICAgICAgICAgICAgeworICAgICAgICAgICAg
ICAgIHJvb3ROb2RlID0gV2ViSW5zcGVjdG9yLnBhbmVscy5yZXNvdXJjZXMuX2RvbVN0b3JhZ2VW
aWV3cy5nZXQoc3RvcmFnZSkuX2RhdGFHcmlkLnJvb3ROb2RlKCk7CisgICAgICAgICAgICAgICAg
ZHVtcERhdGFHcmlkKCk7CisgICAgICAgICAgICAgICAgaWYgKGNvdW50IDwgNikKKyAgICAgICAg
ICAgICAgICAgICAgYWRkSXRlbVRlc3QobmV4dCk7CisgICAgICAgICAgICAgICAgZWxzZQorICAg
ICAgICAgICAgICAgICAgICBuZXh0KCk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIG5l
eHRET01TdG9yYWdlQWRkSGFuZGxlciA9IHZpZXdVcGRhdGVkQWZ0ZXJBZGRpdGlvbjsKKworICAg
ICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoImFkZEl0ZW0oJ2EiK2NvdW50KyInLCc9
dmFsdWUiK2NvdW50KyInKSIpOworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUlu
UGFnZSgiYWRkSXRlbSgnYSIrY291bnQrIicsJz12YWx1ZSIrY291bnQrIicpIik7CisgICAgICAg
ICAgICBjb3VudCsrOworICAgICAgICB9LAorCisgICAgICAgIGZ1bmN0aW9uIHJlbW92ZUl0ZW1U
ZXN0KG5leHQpCisgICAgICAgIHsKKyAgICAgICAgICAgIGZ1bmN0aW9uIHZpZXdVcGRhdGVkQWZ0
ZXJSZW1vdmFsKCkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICByb290Tm9kZSA9IFdl
Ykluc3BlY3Rvci5wYW5lbHMucmVzb3VyY2VzLl9kb21TdG9yYWdlVmlld3MuZ2V0KHN0b3JhZ2Up
Ll9kYXRhR3JpZC5yb290Tm9kZSgpOworICAgICAgICAgICAgICAgIGR1bXBEYXRhR3JpZCgpOwor
ICAgICAgICAgICAgICAgIGlmIChjb3VudCA+IDQpCisgICAgICAgICAgICAgICAgICAgIHJlbW92
ZUl0ZW1UZXN0KG5leHQpOworICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAg
ICAgbmV4dCgpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBuZXh0RE9NU3RvcmFnZVJl
bW92ZUhhbmRsZXIgPSB2aWV3VXBkYXRlZEFmdGVyUmVtb3ZhbDsKKworICAgICAgICAgICAgLS1j
b3VudDsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJyZW1vdmVJdGVtKCdh
Iitjb3VudCsiJykiKTsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2Uo
InJlbW92ZUl0ZW0oJ2EiK2NvdW50KyInKSIpOworICAgICAgICB9LAorCisgICAgICAgIGZ1bmN0
aW9uIGNsZWFyVGVzdChuZXh0KQorICAgICAgICB7CisgICAgICAgICAgICBmdW5jdGlvbiB2aWV3
VXBkYXRlZEFmdGVyQ2xlYXIoKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHJvb3RO
b2RlID0gV2ViSW5zcGVjdG9yLnBhbmVscy5yZXNvdXJjZXMuX2RvbVN0b3JhZ2VWaWV3cy5nZXQo
c3RvcmFnZSkuX2RhdGFHcmlkLnJvb3ROb2RlKCk7CisgICAgICAgICAgICAgICAgZHVtcERhdGFH
cmlkKCk7CisgICAgICAgICAgICAgICAgbmV4dCgpOworICAgICAgICAgICAgfQorCisgICAgICAg
ICAgICBuZXh0RE9NU3RvcmFnZUNsZWFySGFuZGxlciA9IHZpZXdVcGRhdGVkQWZ0ZXJDbGVhcjsK
KworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoImNsZWFyKCkiKTsKKyAgICAg
ICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoImNsZWFyKCkiKTsKKyAgICAgICAg
fQorICAgIF0pOworfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InJ1blRlc3Qo
KSI+Cis8cD5UZXN0IHRoYXQgc3RvcmFnZSBwYW5lbCBpcyBwcmVzZW50IGFuZCB0aGF0IGl0IGNv
bnRhaW5zIGNvcnJlY3QgZGF0YSB3aGVuZXZlciBsb2NhbFN0b3JhZ2UgaXMgdXBkYXRlZC48L3A+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jz
b2xldGUvc3RvcmFnZS1wYW5lbC1kb20tc3RvcmFnZS5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yLW9ic29sZXRlL3N0b3JhZ2UtcGFuZWwtZG9tLXN0b3JhZ2UuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5l
ZWM3YmQxNmY4MjFhYzliNjUzZTFlMTkxNmRkMDM1MzhhOGZkYjY0Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3N0b3JhZ2UtcGFuZWwtZG9tLXN0b3Jh
Z2UuaHRtbApAQCAtMCwwICsxLDc2IEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4u
L2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQ+CisKK2Z1bmN0aW9uIHBvcHVsYXRlRE9NU3RvcmFnZSgpCit7CisgICAgbG9jYWxTdG9yYWdl
LmNsZWFyKCk7CisgICAgc2Vzc2lvblN0b3JhZ2UuY2xlYXIoKTsKKyAgICBsb2NhbFN0b3JhZ2Vb
InJlc291cmNlLWhpc3RvcnkiXSA9ICJ7fSI7IC8vIFRoaXMgbWl0aWdhdGVzIGZpbGU6Ly8gbG9j
YWxzdG9yYWdlIGNvbmZsaWN0LgorICAgIC8vIEZpbGwgbG9jYWwgYW5kIHNlc3Npb24gc3RvcmFn
ZSB3aXRoIHNvbWUgcmFuZG9tIHN0cmluZ3MuCisgICAgZm9yICh2YXIgaSA9IDA7IGkgPCAxMDsg
aSsrKSB7CisgICAgICAgIGxvY2FsU3RvcmFnZVsiYSIgKyBpXSA9ICI9dmFsdWUiICsgaSArICIs
ICI7CisgICAgICAgIHNlc3Npb25TdG9yYWdlWyJiIiArIGldID0gIj12YWx1ZSIgKyAoaSsxMCkg
KyAiLCAiOworICAgIH0KK30KKworZnVuY3Rpb24gdGVzdCgpCit7CisgICAgV2ViSW5zcGVjdG9y
LnNob3dQYW5lbCgicmVzb3VyY2VzIik7CisKKyAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5Q
YWdlKCJwb3B1bGF0ZURPTVN0b3JhZ2UoKSIsIGZ1bmN0aW9uKHJlc3VsdCkgeworICAgICAgICBJ
bnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiUG9wdWxhdGVkIGxvY2FsIGFuZCBzZXNzaW9uIHN0b3Jh
Z2UiKTsKKyAgICB9KTsKKyAgICBmdW5jdGlvbiBuYW1lKHN0b3JhZ2UpCisgICAgeworICAgICAg
ICByZXR1cm4gc3RvcmFnZS5pc0xvY2FsU3RvcmFnZSA/ICJMb2NhbCBzdG9yYWdlIiA6ICJTZXNz
aW9uIHN0b3JhZ2UiOworICAgIH0KKworICAgIGZ1bmN0aW9uIGR1bXBEYXRhR3JpZENvbnRlbnQo
ZGF0YUdyaWQpCisgICAgeworICAgICAgICB2YXIgbm9kZXMgPSBkYXRhR3JpZC5yb290Tm9kZSgp
LmNoaWxkcmVuOworICAgICAgICB2YXIgcm93cyA9IFtdOworICAgICAgICBmb3IgKHZhciBpID0g
MDsgaSA8IG5vZGVzLmxlbmd0aDsgKytpKSB7CisgICAgICAgICAgICB2YXIgbm9kZSA9IG5vZGVz
W2ldOworICAgICAgICAgICAgcm93cy5wdXNoKG5vZGUuX2RhdGEua2V5ICsgbm9kZS5fZGF0YS52
YWx1ZSk7CisgICAgICAgIH0KKyAgICAgICAgcm93cy5zb3J0KCk7CisgICAgICAgIEluc3BlY3Rv
clRlc3QuYWRkUmVzdWx0KCJLZXlWYWx1ZSBwYWlyczogIiArIHJvd3Muam9pbignJykpOworICAg
IH0KKworICAgIEluc3BlY3RvclRlc3QucnVuQWZ0ZXJQZW5kaW5nRGlzcGF0Y2hlcyhmdW5jdGlv
bigpIHsKKyAgICAgICAgdmFyIHN0b3JhZ2VzID0gV2ViSW5zcGVjdG9yLmRvbVN0b3JhZ2VNb2Rl
bC5zdG9yYWdlcygpOworICAgICAgICBpZiAoc3RvcmFnZXMpIHsKKyAgICAgICAgICAgIGZvciAo
dmFyIGkgPSAwOyBpIDwgc3RvcmFnZXMubGVuZ3RoOyBpKyspIHsKKyAgICAgICAgICAgICAgICB2
YXIgc3RvcmFnZSA9IHN0b3JhZ2VzW2ldOworICAgICAgICAgICAgICAgIFdlYkluc3BlY3Rvci5w
YW5lbHMucmVzb3VyY2VzLl9zaG93RE9NU3RvcmFnZShzdG9yYWdlKTsKKyAgICAgICAgICAgICAg
ICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiRGlkIHNob3c6ICIgKyBuYW1lKHN0b3JhZ2UpKTsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgfSBlbHNlCisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0
LmFkZFJlc3VsdCgiRkFJTDogbm8gRE9NIHN0b3JhZ2VzIGZvdW5kLiIpOworCisgICAgICAgIElu
c3BlY3RvclRlc3QucnVuQWZ0ZXJQZW5kaW5nRGlzcGF0Y2hlcyhmdW5jdGlvbigpIHsKKyAgICAg
ICAgICAgIHZhciBzdG9yYWdlcyA9IFdlYkluc3BlY3Rvci5kb21TdG9yYWdlTW9kZWwuc3RvcmFn
ZXMoKTsKKyAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgc3RvcmFnZXMubGVuZ3RoOyBp
KyspIHsKKyAgICAgICAgICAgICAgICB2YXIgc3RvcmFnZSA9IHN0b3JhZ2VzW2ldOworICAgICAg
ICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KG5hbWUoc3RvcmFnZSkgKyAiIGNvbnRl
bnQ6ICIpOworICAgICAgICAgICAgICAgIHZhciB2aWV3ID0gV2ViSW5zcGVjdG9yLnBhbmVscy5y
ZXNvdXJjZXMuX2RvbVN0b3JhZ2VWaWV3cy5nZXQoc3RvcmFnZSk7CisgICAgICAgICAgICAgICAg
ZHVtcERhdGFHcmlkQ29udGVudCh2aWV3Ll9kYXRhR3JpZCk7CisgICAgICAgICAgICB9CisgICAg
ICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiRE9ORSIpOworICAgICAgICAgICAgSW5z
cGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKKyAgICAgICAgfSk7CisgICAgfSk7Cit9CisKKzwv
c2NyaXB0PgorPC9oZWFkPgorCis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Cis8cD4KK1Rlc3Qg
dGhhdCBzdG9yYWdlIHBhbmVsIGlzIHByZXNlbnQgYW5kIHRoYXQgaXQgY29udGFpbnMgY29ycmVj
dCBkYXRhIGZvciBsb2NhbCBhbmQgc2Vzc2lvbiBET00gc3RvcmFnZXMuCis8L3A+CisKKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9z
dHlsZXMvYWRkLW5ldy1ydWxlLWlubGluZS1zdHlsZS1jc3AtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy9hZGQtbmV3LXJ1bGUtaW5saW5lLXN0eWxl
LWNzcC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzA5NTA2YzI0NzAwNDg5Yzk0YjNlNGFlZDcz
MTUyMjBmNTdiZjhlNwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1v
YnNvbGV0ZS9zdHlsZXMvYWRkLW5ldy1ydWxlLWlubGluZS1zdHlsZS1jc3AtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMjQgQEAKK1Rlc3RzIHRoYXQgYWRkaW5nIGEgbmV3IHJ1bGUgZG9lcyBub3Qg
Y3Jhc2ggdGhlIHJlbmRlcmVyIGFuZCBtb2RpZnlpbmcgYW4gaW5saW5lIHN0eWxlIGRvZXMgbm90
IHJlcG9ydCBlcnJvcnMgd2hlbiBmb3JiaWRkZW4gYnkgQ29udGVudC1TZWN1cml0eS1Qb2xpY3ku
CisKK1RleHQKKworUnVubmluZzogdGVzdFNldFVwCisKK1J1bm5pbmc6IHRlc3RBZGRSdWxlCis9
PT0gUnVsZSBhZGRlZCA9PT0KKyNpbnNwZWN0ZWQge30KK0FmZmVjdHMgc2VsZWN0ZWQgKCNpbnNw
ZWN0ZWQpIG5vZGU6IHRydWUKKworUnVubmluZzogdGVzdEFkZFByb3BlcnR5Cis9PT0gQWRkZWQg
cnVsZSBtb2RpZmllZCA9PT0KK3dpZHRoOiAxMDAlOworPT09IFNlbGVjdG9yIGNoYW5nZWQgPT09
Citib2R5IHsKKyAgICB3aWR0aDogMTAwJTsKK30KK0FmZmVjdHMgc2VsZWN0ZWQgKCNpbnNwZWN0
ZWQpIG5vZGU6IGZhbHNlCisKK1J1bm5pbmc6IHRlc3RNb2RpZnlJbmxpbmVTdHlsZQorPT09IElu
bGluZSBzdHlsZSBtb2RpZmllZCA9PT0KK2ZvbnQtc2l6ZTogMTRweDsKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy9hZGQtbmV3LXJ1bGUtaW5saW5l
LXN0eWxlLWNzcC5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy9h
ZGQtbmV3LXJ1bGUtaW5saW5lLXN0eWxlLWNzcC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM2NzY1ODVlODdm
YWIwNTk1NmU1MDljNmU0ZGQyN2Y1YWE3YmQxZjAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVzL2FkZC1uZXctcnVsZS1pbmxpbmUtc3R5bGUt
Y3NwLmh0bWwKQEAgLTAsMCArMSwxMjcgQEAKKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBodHRwLWVx
dWl2PSJ4LXdlYmtpdC1jc3AiIGNvbnRlbnQ9InN0eWxlLXNyYyBodHRwczovLyo6NDQzIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvZWxlbWVu
dHMtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorCitmdW5jdGlvbiB0ZXN0KCkKK3sKKyAg
ICB2YXIgbm9kZUlkOworICAgIHZhciBydWxlOworCisgICAgV2ViSW5zcGVjdG9yLnNob3dQYW5l
bCgiZWxlbWVudHMiKTsKKyAgICBJbnNwZWN0b3JUZXN0LnJ1blRlc3RTdWl0ZShbCisgICAgICAg
IGZ1bmN0aW9uIHRlc3RTZXRVcChuZXh0KSB7CisgICAgICAgICAgSW5zcGVjdG9yVGVzdC5zZWxl
Y3ROb2RlQW5kV2FpdEZvclN0eWxlcygiaW5zcGVjdGVkIiwgbmV4dCk7CisgICAgICAgIH0sCisK
KyAgICAgICAgZnVuY3Rpb24gdGVzdEFkZFJ1bGUobmV4dCkKKyAgICAgICAgeworICAgICAgICAg
ICAgdmFyIGlkVG9ET01Ob2RlID0gV2ViSW5zcGVjdG9yLmRvbUFnZW50Ll9pZFRvRE9NTm9kZTsK
KyAgICAgICAgICAgIGZvciAodmFyIGlkIGluIGlkVG9ET01Ob2RlKSB7CisgICAgICAgICAgICAg
ICAgbm9kZSA9IGlkVG9ET01Ob2RlW2lkXTsKKyAgICAgICAgICAgICAgICBpZiAobm9kZS5nZXRB
dHRyaWJ1dGUgJiYgbm9kZS5nZXRBdHRyaWJ1dGUoImlkIikgPT09ICJpbnNwZWN0ZWQiKSB7Cisg
ICAgICAgICAgICAgICAgICAgIG5vZGVJZCA9IHBhcnNlSW50KGlkLCAxMCk7CisgICAgICAgICAg
ICAgICAgICAgIFdlYkluc3BlY3Rvci5jc3NNb2RlbC5hZGRSdWxlKG5vZGVJZCwgIiNpbnNwZWN0
ZWQiLCBzdWNjZXNzQ2FsbGJhY2ssIGZhaWx1cmVDYWxsYmFjayk7CisgICAgICAgICAgICAgICAg
ICAgIGJyZWFrOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKworICAgICAgICAg
ICAgZnVuY3Rpb24gc3VjY2Vzc0NhbGxiYWNrKG5ld1J1bGUsIGRvZXNBZmZlY3RTZWxlY3RlZE5v
ZGUpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgcnVsZSA9IG5ld1J1bGU7CisgICAg
ICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIj09PSBSdWxlIGFkZGVkID09PSIp
OworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KHJ1bGUuc2VsZWN0b3JU
ZXh0ICsgIiB7IiArIHJ1bGUuc3R5bGUuY3NzVGV4dCArICJ9Iik7CisgICAgICAgICAgICAgICAg
SW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIkFmZmVjdHMgc2VsZWN0ZWQgKCNpbnNwZWN0ZWQpIG5v
ZGU6ICIgKyBkb2VzQWZmZWN0U2VsZWN0ZWROb2RlKTsKKyAgICAgICAgICAgICAgICBuZXh0KCk7
CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGZ1bmN0aW9uIGZhaWx1cmVDYWxsYmFjaygp
CisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQo
IlshXSBGYWlsZWQgdG8gYWRkIHJ1bGUuIik7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVz
dC5jb21wbGV0ZVRlc3QoKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfSwKKworICAgICAgICBm
dW5jdGlvbiB0ZXN0QWRkUHJvcGVydHkobmV4dCkKKyAgICAgICAgeworICAgICAgICAgICAgcnVs
ZS5zdHlsZS5hcHBlbmRQcm9wZXJ0eSgid2lkdGgiLCAiMTAwJSIsIGNhbGxiYWNrKTsKKworICAg
ICAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2sobmV3U3R5bGUpCisgICAgICAgICAgICB7CisgICAg
ICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIj09PSBBZGRlZCBydWxlIG1vZGlm
aWVkID09PSIpOworICAgICAgICAgICAgICAgIGlmICghbmV3U3R5bGUpIHsKKyAgICAgICAgICAg
ICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIlshXSBObyB2YWxpZCBydWxlIHN0eWxl
IHJlY2VpdmVkIik7CisgICAgICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVU
ZXN0KCk7CisgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgZHVt
cFByb3BlcnRpZXMobmV3U3R5bGUpOworICAgICAgICAgICAgICAgICAgICBXZWJJbnNwZWN0b3Iu
Y3NzTW9kZWwuc2V0UnVsZVNlbGVjdG9yKHJ1bGUuaWQsIG5vZGVJZCwgImJvZHkiLCBzdWNjZXNz
Q2FsbGJhY2ssIGZhaWx1cmVDYWxsYmFjayk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfQorCisgICAgICAgICAgICBmdW5jdGlvbiBzdWNjZXNzQ2FsbGJhY2socnVsZSwgZG9lc0Fm
ZmVjdFNlbGVjdGVkTm9kZSkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBJbnNwZWN0
b3JUZXN0LmFkZFJlc3VsdCgiPT09IFNlbGVjdG9yIGNoYW5nZWQgPT09Iik7CisgICAgICAgICAg
ICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQocnVsZS5zZWxlY3RvclRleHQgKyAiIHsiICsg
cnVsZS5zdHlsZS5jc3NUZXh0ICsgIn0iKTsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0
LmFkZFJlc3VsdCgiQWZmZWN0cyBzZWxlY3RlZCAoI2luc3BlY3RlZCkgbm9kZTogIiArIGRvZXNB
ZmZlY3RTZWxlY3RlZE5vZGUpOworCisgICAgICAgICAgICAgICAgbmV4dCgpOworICAgICAgICAg
ICAgfQorCisgICAgICAgICAgICBmdW5jdGlvbiBmYWlsdXJlQ2FsbGJhY2soKQorICAgICAgICAg
ICAgeworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJbIV0gRmFpbGVk
IHRvIGNoYW5nZSBzZWxlY3RvciIpOworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuY29t
cGxldGVUZXN0KCk7CisgICAgICAgICAgICB9CisgICAgICAgIH0sCisKKyAgICAgICAgZnVuY3Rp
b24gdGVzdE1vZGlmeUlubGluZVN0eWxlKG5leHQpCisgICAgICAgIHsKKyAgICAgICAgICAgIFdl
Ykluc3BlY3Rvci5jc3NNb2RlbC5nZXRJbmxpbmVTdHlsZXNBc3luYyhub2RlSWQsIHN0eWxlc0Nh
bGxiYWNrKTsKKworICAgICAgICAgICAgZnVuY3Rpb24gc3R5bGVzQ2FsbGJhY2soaW5saW5lU3R5
bGUpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgaWYgKCFpbmxpbmVTdHlsZSkgewor
ICAgICAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOworICAgICAg
ICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAg
IGlubGluZVN0eWxlLmFwcGVuZFByb3BlcnR5KCJmb250LXNpemUiLCAiMTRweCIsIGFwcGVuZENh
bGxiYWNrKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgZnVuY3Rpb24gYXBwZW5kQ2Fs
bGJhY2sobmV3U3R5bGUpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9y
VGVzdC5hZGRSZXN1bHQoIj09PSBJbmxpbmUgc3R5bGUgbW9kaWZpZWQgPT09Iik7CisgICAgICAg
ICAgICAgICAgaWYgKCFuZXdTdHlsZSkgeworICAgICAgICAgICAgICAgICAgICBJbnNwZWN0b3JU
ZXN0LmFkZFJlc3VsdCgiTm8gdmFsaWQgaW5saW5lIHN0eWxlIHJlY2VpdmVkIik7CisgICAgICAg
ICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7CisgICAgICAgICAgICAg
ICAgICAgIHJldHVybjsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICBkdW1w
UHJvcGVydGllcyhuZXdTdHlsZSk7CisgICAgICAgICAgICAgICAgbmV4dCgpOworICAgICAgICAg
ICAgfQorICAgICAgICB9CisgICAgXSk7CisKKyAgICBmdW5jdGlvbiBkdW1wUHJvcGVydGllcyhz
dHlsZSkKKyAgICB7CisgICAgICAgaWYgKCFzdHlsZSkKKyAgICAgICAgICAgcmV0dXJuOworICAg
ICAgIHZhciBhbGxQcm9wZXJ0aWVzID0gc3R5bGUuYWxsUHJvcGVydGllczsKKyAgICAgICBmb3Ig
KHZhciBpID0gMDsgaSA8IGFsbFByb3BlcnRpZXMubGVuZ3RoOyArK2kpCisgICAgICAgICAgIElu
c3BlY3RvclRlc3QuYWRkUmVzdWx0KGFsbFByb3BlcnRpZXNbaV0udGV4dCk7CisgICAgfQorfQor
PC9zY3JpcHQ+Cis8L2hlYWQ+CisKKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KKzxwPgorVGVz
dHMgdGhhdCBhZGRpbmcgYSBuZXcgcnVsZSBkb2VzIG5vdCBjcmFzaCB0aGUgcmVuZGVyZXIgYW5k
IG1vZGlmeWluZyBhbiBpbmxpbmUgc3R5bGUgZG9lcyBub3QgcmVwb3J0IGVycm9ycyB3aGVuIGZv
cmJpZGRlbiBieSBDb250ZW50LVNlY3VyaXR5LVBvbGljeS4KKzwvcD4KKworPGRpdiBpZD0iaW5z
cGVjdGVkIj5UZXh0PC9kaXY+CisKKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvYWRkLW5ldy1ydWxlLWludmFsaWQtc2Vs
ZWN0b3ItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxl
cy9hZGQtbmV3LXJ1bGUtaW52YWxpZC1zZWxlY3Rvci1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NGY3MjMxZmVmNzJkYjkxMTY5MTdmYjgyOWQ2YTljZTI4ZTJlNjI3YgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvYWRkLW5ldy1ydWxlLWlu
dmFsaWQtc2VsZWN0b3ItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTcgQEAKK1Rlc3RzIHRoYXQg
YWRkaW5nIGEgbmV3IHJ1bGUgd2l0aCBpbnZhbGlkIHNlbGVjdG9yIHdvcmtzIGFzIGV4cGVjdGVk
LgorCitUZXh0CisKK1J1bm5pbmc6IGluaXQKKworUnVubmluZzoga2V5ZnJhbWVzUnVsZVNlbGVj
dG9yCitbZXhwYW5kZWRdIAorZWxlbWVudC5zdHlsZSAgeyAoKQorCis9PT09PT09PSBNYXRjaGVk
IENTUyBSdWxlcyA9PT09PT09PQorW2V4cGFuZGVkXSAKK2RpdiAgeyAodXNlciBhZ2VudCBzdHls
ZXNoZWV0KQorZGlzcGxheTogYmxvY2s7CisKKworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVzL2FkZC1uZXctcnVsZS1pbnZhbGlkLXNlbGVjdG9yLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVzL2FkZC1uZXctcnVsZS1p
bnZhbGlkLXNlbGVjdG9yLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTUwMTQ2MTJkYzliNmEyZGExMjQ4ZjU3
ZTUyN2QzYjc3NTEyNTEwNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rv
ci1vYnNvbGV0ZS9zdHlsZXMvYWRkLW5ldy1ydWxlLWludmFsaWQtc2VsZWN0b3IuaHRtbApAQCAt
MCwwICsxLDQ1IEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVz
dHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9lbGVtZW50cy10ZXN0LmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQ+CisKK2Z1bmN0aW9uIHRlc3QoKQoreworICAgIEluc3BlY3RvclRlc3QucnVuVGVzdFN1
aXRlKFsKKyAgICAgICAgZnVuY3Rpb24gaW5pdChuZXh0KQorICAgICAgICB7CisgICAgICAgICAg
ICBXZWJJbnNwZWN0b3Iuc2hvd1BhbmVsKCJlbGVtZW50cyIpOworICAgICAgICAgICAgSW5zcGVj
dG9yVGVzdC5zZWxlY3ROb2RlQW5kV2FpdEZvclN0eWxlcygiaW5zcGVjdGVkIiwgbmV4dCk7Cisg
ICAgICAgIH0sCisKKyAgICAgICAgZnVuY3Rpb24ga2V5ZnJhbWVzUnVsZVNlbGVjdG9yKG5leHQp
CisgICAgICAgIHsKKyAgICAgICAgICAgIC8vIENsaWNrICJBZGQgbmV3IHJ1bGUiLgorICAgICAg
ICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImFkZC1zdHlsZS1idXR0b24tdGVzdC1pZCIp
LmNsaWNrKCk7CisgICAgICAgICAgICB2YXIgc2VjdGlvbiA9IFdlYkluc3BlY3Rvci5wYW5lbHMu
ZWxlbWVudHMuc2lkZWJhclBhbmVzLnN0eWxlcy5zZWN0aW9uc1swXVsyXTsKKyAgICAgICAgICAg
IHNlY3Rpb24uX3NlbGVjdG9yRWxlbWVudC50ZXh0Q29udGVudCA9ICJALXdlYmtpdC1rZXlmcmFt
ZXMgc2hha2UiOworICAgICAgICAgICAgc2VjdGlvbi5fc2VsZWN0b3JFbGVtZW50LmRpc3BhdGNo
RXZlbnQoSW5zcGVjdG9yVGVzdC5jcmVhdGVLZXlFdmVudCgiRW50ZXIiKSk7CisgICAgICAgICAg
ICBJbnNwZWN0b3JUZXN0LnJ1bkFmdGVyUGVuZGluZ0Rpc3BhdGNoZXMoY2FsbGJhY2spOworCisg
ICAgICAgICAgICBmdW5jdGlvbiBjYWxsYmFjaygpCisgICAgICAgICAgICB7CisgICAgICAgICAg
ICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wU2VsZWN0ZWRFbGVtZW50U3R5bGVzKHRydWUsIGZhbHNl
LCB0cnVlKTsKKyAgICAgICAgICAgICAgICBuZXh0KCk7CisgICAgICAgICAgICB9CisgICAgICAg
IH0KKyAgICBdKTsKK30KKworPC9zY3JpcHQ+Cis8L2hlYWQ+CisKKzxib2R5IG9ubG9hZD0icnVu
VGVzdCgpIj4KKzxwPgorVGVzdHMgdGhhdCBhZGRpbmcgYSBuZXcgcnVsZSB3aXRoIGludmFsaWQg
c2VsZWN0b3Igd29ya3MgYXMgZXhwZWN0ZWQuCis8L3A+CisKKzxkaXYgaWQ9Imluc3BlY3RlZCI+
VGV4dDwvZGl2PgorCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVzL2FkZC1uZXctcnVsZS13aXRoLXN0eWxlLWFmdGVyLWJv
ZHktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy9h
ZGQtbmV3LXJ1bGUtd2l0aC1zdHlsZS1hZnRlci1ib2R5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjljNjQ3NGYxNmZhNjQ0MGUzNGRkZWE2MjdjMWE4ZmJkZWI0OGNjCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy9hZGQtbmV3LXJ1bGUt
d2l0aC1zdHlsZS1hZnRlci1ib2R5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDIwIEBACitUZXN0
cyB0aGF0IGFkZGluZyBhIG5ldyBydWxlIHdvcmtzIHdoZW4gdGhlcmUgaXMgYSBTVFlMRSBlbGVt
ZW50IGFmdGVyIEJPRFkuIFRJTUVPVVQgU0hPVUxEIE5PVCBPQ0NVUiEgQnVnIDExMTI5OQorCitU
ZXh0CitBZnRlciBhZGRpbmcgbmV3IHJ1bGU6CitbZXhwYW5kZWRdIAorZWxlbWVudC5zdHlsZSAg
eyAoKQorZm9udC1zaXplOiAxMnB4OworCitbZXhwYW5kZWRdIFtuby1hZmZlY3RdIAoraW5zcGVj
dGVkICB7IChpbnNwZWN0b3Itc3R5bGVzaGVldDoxKQorY29sb3I6IG1hcm9vbjsKKzogOworCis9
PT09PT09PSBNYXRjaGVkIENTUyBSdWxlcyA9PT09PT09PQorW2V4cGFuZGVkXSAKK2RpdiAgeyAo
dXNlciBhZ2VudCBzdHlsZXNoZWV0KQorZGlzcGxheTogYmxvY2s7CisKKworCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVzL2FkZC1uZXctcnVsZS13aXRo
LXN0eWxlLWFmdGVyLWJvZHkuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9z
dHlsZXMvYWRkLW5ldy1ydWxlLXdpdGgtc3R5bGUtYWZ0ZXItYm9keS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
Ljg1YmNjMTNiZjc4YzExZjY4ZTI4ODIxZmU5OTVkYWE3MTE3YWI5YTcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVzL2FkZC1uZXctcnVsZS13
aXRoLXN0eWxlLWFmdGVyLWJvZHkuaHRtbApAQCAtMCwwICsxLDY3IEBACis8aHRtbD4KKzxoZWFk
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9l
bGVtZW50cy10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CitmdW5jdGlvbiBhZGRTdHlsZSgp
Cit7CisgICAgdmFyIHN0eWxlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3R5bGUiKTsKKyAg
ICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuYXBwZW5kQ2hpbGQoc3R5bGUpOworICAgIHN0eWxl
LnNoZWV0Lmluc2VydFJ1bGUoImZvbyB7ZGlzcGxheTogbm9uZTt9IiwgMCk7Cit9CisKK2Z1bmN0
aW9uIHRlc3QoKQoreworICAgIFdlYkluc3BlY3Rvci5zaG93UGFuZWwoImVsZW1lbnRzIik7Cisg
ICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgiYWRkU3R5bGUoKSIsIHN0ZXAwKTsKKwor
ICAgIGZ1bmN0aW9uIHN0ZXAwKCkKKyAgICB7CisgICAgICAgIEluc3BlY3RvclRlc3Quc2VsZWN0
Tm9kZUFuZFdhaXRGb3JTdHlsZXMoImluc3BlY3RlZCIsIHN0ZXAxKTsKKyAgICB9CisKKyAgICB2
YXIgdHJlZUVsZW1lbnQ7CisgICAgdmFyIGhhc1Jlc291cmNlQ2hhbmdlZDsKKworICAgIGZ1bmN0
aW9uIHN0ZXAxKCkKKyAgICB7CisgICAgICAgIC8vIENsaWNrICJBZGQgbmV3IHJ1bGUiLgorICAg
ICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYWRkLXN0eWxlLWJ1dHRvbi10ZXN0LWlkIiku
Y2xpY2soKTsKKyAgICAgICAgdmFyIHNlY3Rpb24gPSBXZWJJbnNwZWN0b3IucGFuZWxzLmVsZW1l
bnRzLnNpZGViYXJQYW5lcy5zdHlsZXMuc2VjdGlvbnNbMF1bMl07CisgICAgICAgIHNlY3Rpb24u
X3NlbGVjdG9yRWxlbWVudC50ZXh0Q29udGVudCA9ICJpbnNwZWN0ZWQiOworICAgICAgICBzZWN0
aW9uLl9zZWxlY3RvckVsZW1lbnQuZGlzcGF0Y2hFdmVudChJbnNwZWN0b3JUZXN0LmNyZWF0ZUtl
eUV2ZW50KCJFbnRlciIpKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5ydW5BZnRlclBlbmRpbmdE
aXNwYXRjaGVzKHN0ZXAyKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBzdGVwMigpCisgICAgewor
ICAgICAgICB2YXIgc2VjdGlvbiA9IFdlYkluc3BlY3Rvci5wYW5lbHMuZWxlbWVudHMuc2lkZWJh
clBhbmVzLnN0eWxlcy5zZWN0aW9uc1swXVsyXTsKKyAgICAgICAgdmFyIG5ld1Byb3BlcnR5ID0g
c2VjdGlvbi5hZGROZXdCbGFua1Byb3BlcnR5KCk7CisgICAgICAgIG5ld1Byb3BlcnR5LnN0YXJ0
RWRpdGluZygpOworICAgICAgICBuZXdQcm9wZXJ0eS5uYW1lRWxlbWVudC50ZXh0Q29udGVudCA9
ICJjb2xvciI7CisgICAgICAgIG5ld1Byb3BlcnR5Lm5hbWVFbGVtZW50LmRpc3BhdGNoRXZlbnQo
SW5zcGVjdG9yVGVzdC5jcmVhdGVLZXlFdmVudCgiRW50ZXIiKSk7CisgICAgICAgIG5ld1Byb3Bl
cnR5LnZhbHVlRWxlbWVudC50ZXh0Q29udGVudCA9ICJtYXJvb24iOworICAgICAgICBuZXdQcm9w
ZXJ0eS52YWx1ZUVsZW1lbnQuZGlzcGF0Y2hFdmVudChJbnNwZWN0b3JUZXN0LmNyZWF0ZUtleUV2
ZW50KCJFbnRlciIpKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC53YWl0Rm9yU3R5bGVzKCJpbnNw
ZWN0ZWQiLCBzdGVwMyk7CisgICAgfQorCisgICAgZnVuY3Rpb24gc3RlcDMoKQorICAgIHsKKyAg
ICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIkFmdGVyIGFkZGluZyBuZXcgcnVsZToiKTsK
KyAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wU2VsZWN0ZWRFbGVtZW50U3R5bGVzKHRydWUsIGZh
bHNlLCB0cnVlKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKKyAgICB9
Cit9CisKKzwvc2NyaXB0PgorPC9oZWFkPgorCis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Cis8
cD4KK1Rlc3RzIHRoYXQgYWRkaW5nIGEgbmV3IHJ1bGUgd29ya3Mgd2hlbiB0aGVyZSBpcyBhIFNU
WUxFIGVsZW1lbnQgYWZ0ZXIgQk9EWS4gVElNRU9VVCBTSE9VTEQgTk9UIE9DQ1VSISA8YSBocmVm
PSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTExMjk5Ij5CdWcgMTEx
Mjk5PC9hPgorPC9wPgorCis8ZGl2IGlkPSJpbnNwZWN0ZWQiIHN0eWxlPSJmb250LXNpemU6IDEy
cHgiPlRleHQ8L2Rpdj4KKworPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy9nZXQtc2V0LXN0eWxlc2hlZXQtdGV4dC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVzL2dldC1zZXQt
c3R5bGVzaGVldC10ZXh0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43N2I5NTg5NTg3MzYwNmI4
MjU3MDRiMzcwNTlmNWM4OGE2NzM5YjlmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy9nZXQtc2V0LXN0eWxlc2hlZXQtdGV4dC1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSw0NCBAQAorVGVzdHMgdGhhdCBXZWJJbnNwZWN0b3IuQ1NTU3R5bGVT
aGVldCBtZXRob2RzIHdvcmsgYXMgZXhwZWN0ZWQuCisKK0luc3BlY3QgTWUKKworCitSdW5uaW5n
OiB0ZXN0U2V0VGV4dAorPT09IE9yaWdpbmFsIHN0eWxlc2hlZXQgdGV4dDogPT09Citib2R5IHsK
KyAgICBmb250LXNpemU6IDEycHg7CisgICAgZm9vOiBiYXIgIQorCisgICAgaW1wb3J0YW50IC8q
ICFpbXBvcnRhbnQgcHJvcGVydHkgbm90IHJlY29nbml6ZWQgYnkgV2ViQ29yZSAqLzsKKyAgICBo
ZWlnaHQ6IDEwMCUgIWltcG9ydGFudDsKKyAgICBjb2xvcno6ICIhaW1wb3J0YW50IjsKKyAgICBp
bXBvcnRhbnQ6IWltcG9ydGFudDsKKyAgICBjb2xvcjogImJhZGNvbG9yIiAhIGltcG9ydGFudCAv
KiBnb29kIHByb3BlcnR5IHdpdGggc3RyYW5nZSB2YWx1ZSAqLzsKK30KKworQG1lZGlhIHsKKyAg
ICAvKiBAbWVkaWEgcnVsZSB3aXRoIGFuIGVtcHR5IG1lZGlhIGxpc3QgKi8KK30KKworLyogY29t
bWVudCBiZWZvcmUgc2VsZWN0b3IgKi9ib2R5Lm1haW4xLyogY29tbWVudCBhZnRlciBzZWxlY3Rv
ciAqL3svKiBjb21tZW50ICovY29sb3I6ICNGMDBCQUE7em9vOm1vbyAvKiBub3QgYW4gIWltcG9y
dGFudCB1bnJlY29nbml6ZWQgcHJvcGVydHkgKi99LyogY29tbWVudCAqLworCitib2R5Lm1haW4y
e2JhY2tncm91bmQ6IGdyZWVuIC8qIHZhbHVlICFpbXBvcnRhbnQgY29tbWVudCAqLyAhaW1wb3J0
YW50IC8qIG5vIHNlbWljb2xvbiwgdmVyeSAhaW1wb3J0YW50ICovfQorCisKK1J1bm5pbmc6IHRl
c3ROZXdFbGVtZW50U3R5bGVzCis9PT0gTWF0Y2hlZCBydWxlcyBmb3IgaDEgYWZ0ZXIgc2V0VGV4
dCgpID09PQorCitydWxlCitoMTogW3VzZXItYWdlbnRdCitbJ2Rpc3BsYXknOidibG9jayddIEBb
dW5kZWZpbmVkLXVuZGVmaW5lZF0gc3R5bGUKK1snZm9udC1zaXplJzonMmVtJ10gQFt1bmRlZmlu
ZWQtdW5kZWZpbmVkXSBzdHlsZQorWyctd2Via2l0LW1hcmdpbi1iZWZvcmUnOicwLjY3ZW0nXSBA
W3VuZGVmaW5lZC11bmRlZmluZWRdIHN0eWxlCitbJy13ZWJraXQtbWFyZ2luLWFmdGVyJzonMC42
N2VtJ10gQFt1bmRlZmluZWQtdW5kZWZpbmVkXSBzdHlsZQorWyctd2Via2l0LW1hcmdpbi1zdGFy
dCc6JzBweCddIEBbdW5kZWZpbmVkLXVuZGVmaW5lZF0gc3R5bGUKK1snLXdlYmtpdC1tYXJnaW4t
ZW5kJzonMHB4J10gQFt1bmRlZmluZWQtdW5kZWZpbmVkXSBzdHlsZQorWydmb250LXdlaWdodCc6
J2JvbGQnXSBAW3VuZGVmaW5lZC11bmRlZmluZWRdIHN0eWxlCisKK3J1bGUKK2gxOiBbcmVndWxh
cl0KK1snQ09MT1InOidSZWQnXSBAWzA6NS0wOjE2XSBhY3RpdmUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy9nZXQtc2V0LXN0eWxlc2hlZXQtdGV4
dC5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy9nZXQtc2V0LXN0
eWxlc2hlZXQtdGV4dC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE1YTM1MDE5ZWEzYmE2ZTZlYTM5NTA3OWFm
MjFmNDMzMmZhZTA4MWUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3It
b2Jzb2xldGUvc3R5bGVzL2dldC1zZXQtc3R5bGVzaGVldC10ZXh0Lmh0bWwKQEAgLTAsMCArMSwx
MTcgQEAKKzxodG1sPgorPGhlYWQ+CisKKzxzdHlsZT4KKworLyogQW4gaW5saW5lIHN0eWxlc2hl
ZXQgKi8KK2JvZHkubWFpbnBhZ2UgeworICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKK30KKzwv
c3R5bGU+CisKKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0icmVzb3VyY2VzL2dldC1zZXQt
c3R5bGVzaGVldC10ZXh0LmNzcyI+CisKKzxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2lu
c3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
aHR0cC90ZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
PgorCitmdW5jdGlvbiB0ZXN0KCkKK3sKKyAgICB2YXIgZm91bmRTdHlsZVNoZWV0OworCisgICAg
Q1NTQWdlbnQuZ2V0QWxsU3R5bGVTaGVldHMoZmluZFN0eWxlU2hlZXQpOworCisgICAgZnVuY3Rp
b24gZmluZFN0eWxlU2hlZXQoZXJyb3IsIHN0eWxlU2hlZXRJbmZvcykKKyAgICB7CisgICAgICAg
IGZ1bmN0aW9uIGNhbGxiYWNrKHN0eWxlU2hlZXQpCisgICAgICAgIHsKKyAgICAgICAgICAgIGZv
dW5kU3R5bGVTaGVldCA9IHN0eWxlU2hlZXQ7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LnJ1
blRlc3RTdWl0ZShbIHRlc3RTZXRUZXh0LCB0ZXN0TmV3RWxlbWVudFN0eWxlcyBdKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgc3R5bGVTaGVldEluZm9zLmxlbmd0
aDsgKytpKSB7CisgICAgICAgICAgICBpZiAoc3R5bGVTaGVldEluZm9zW2ldLnNvdXJjZVVSTC5p
bmRleE9mKCJnZXQtc2V0LXN0eWxlc2hlZXQtdGV4dC5jc3MiKSA+PSAwKSB7CisgICAgICAgICAg
ICAgICAgZm91bmRTdHlsZVNoZWV0SW5mbyA9IHN0eWxlU2hlZXRJbmZvc1tpXTsKKyAgICAgICAg
ICAgICAgICBXZWJJbnNwZWN0b3IuQ1NTU3R5bGVTaGVldC5jcmVhdGVGb3JJZChmb3VuZFN0eWxl
U2hlZXRJbmZvLnN0eWxlU2hlZXRJZCwgY2FsbGJhY2spOworICAgICAgICAgICAgfQorICAgICAg
ICB9CisgICAgfQorCisgICAgZnVuY3Rpb24gdGVzdFNldFRleHQobmV4dCkKKyAgICB7CisgICAg
ICAgIGZ1bmN0aW9uIGNhbGxiYWNrKGVycm9yKQorICAgICAgICB7CisgICAgICAgICAgICBpZiAo
ZXJyb3IpIHsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiRmFpbGVk
IHRvIHNldCBzdHlsZXNoZWV0IHRleHQ6ICIgKyBlcnJvcik7CisgICAgICAgICAgICAgICAgcmV0
dXJuOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LnJ1bkFmdGVy
UGVuZGluZ0Rpc3BhdGNoZXMobmV4dCk7CisgICAgICAgIH0KKworICAgICAgICBJbnNwZWN0b3JU
ZXN0LmFkZFJlc3VsdCgiPT09IE9yaWdpbmFsIHN0eWxlc2hlZXQgdGV4dDogPT09Iik7CisgICAg
ICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KGZvdW5kU3R5bGVTaGVldC5nZXRUZXh0KCkpOwor
ICAgICAgICBmb3VuZFN0eWxlU2hlZXQuc2V0VGV4dCgiaDEgeyBDT0xPUjogUmVkOyB9IiwgdHJ1
ZSwgY2FsbGJhY2spOworICAgIH0KKworICAgIGZ1bmN0aW9uIHRlc3ROZXdFbGVtZW50U3R5bGVz
KCkKKyAgICB7CisgICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrKGVycm9yLCBtYXRjaGVkQ1NTUnVs
ZXMpCisgICAgICAgIHsKKyAgICAgICAgICAgIGlmIChlcnJvcikgeworICAgICAgICAgICAgICAg
IEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJlcnJvcjogIiArIGVycm9yKTsKKyAgICAgICAgICAg
ICAgICByZXR1cm47CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3Qu
YWRkUmVzdWx0KCI9PT0gTWF0Y2hlZCBydWxlcyBmb3IgaDEgYWZ0ZXIgc2V0VGV4dCgpID09PSIp
OworICAgICAgICAgICAgZHVtcE1hdGNoZXNBcnJheShtYXRjaGVkQ1NTUnVsZXMpOworICAgICAg
ICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKKyAgICAgICAgfQorCisgICAgICAg
IGZ1bmN0aW9uIG5vZGVDYWxsYmFjayhub2RlKQorICAgICAgICB7CisgICAgICAgICAgICBDU1NB
Z2VudC5nZXRNYXRjaGVkU3R5bGVzRm9yTm9kZShub2RlLmlkLCBmYWxzZSwgZmFsc2UsIGNhbGxi
YWNrKTsKKyAgICAgICAgfQorCisgICAgICAgIEluc3BlY3RvclRlc3Quc2VsZWN0Tm9kZVdpdGhJ
ZCgiaW5zcGVjdGVkIiwgbm9kZUNhbGxiYWNrKTsKKyAgICB9CisKKworICAgIC8vIERhdGEgZHVt
cGluZworCisgICAgZnVuY3Rpb24gZHVtcE1hdGNoZXNBcnJheShydWxlcykKKyAgICB7CisgICAg
ICAgIGlmICghcnVsZXMpCisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIGZvciAodmFyIGkg
PSAwOyBpIDwgcnVsZXMubGVuZ3RoOyArK2kpCisgICAgICAgICAgICBkdW1wUnVsZU9yU3R5bGUo
cnVsZXNbaV0ucnVsZSk7CisgICAgfQorCisgICAgZnVuY3Rpb24gZHVtcFJ1bGVPclN0eWxlKHJ1
bGVPclN0eWxlKQorICAgIHsKKyAgICAgICAgaWYgKCFydWxlT3JTdHlsZSkKKyAgICAgICAgICAg
IHJldHVybjsKKyAgICAgICAgdmFyIGlzUnVsZSA9ICEhKHJ1bGVPclN0eWxlLnN0eWxlKTsKKyAg
ICAgICAgdmFyIHN0eWxlID0gaXNSdWxlID8gcnVsZU9yU3R5bGUuc3R5bGUgOiBydWxlT3JTdHls
ZTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIiIpOworICAgICAgICBJbnNwZWN0
b3JUZXN0LmFkZFJlc3VsdChpc1J1bGUgPyAicnVsZSIgOiAic3R5bGUiKTsKKyAgICAgICAgSW5z
cGVjdG9yVGVzdC5hZGRSZXN1bHQoKGlzUnVsZSA/IChydWxlT3JTdHlsZS5zZWxlY3Rvckxpc3Qu
dGV4dCArICI6IFsiICsgcnVsZU9yU3R5bGUub3JpZ2luICsgIl0iKSA6ICJyYXcgc3R5bGUiKSk7
CisgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgc3R5bGUuY3NzUHJvcGVydGllcy5sZW5ndGg7
ICsraSkgeworICAgICAgICAgICAgdmFyIHByb3BlcnR5ID0gc3R5bGUuY3NzUHJvcGVydGllc1tp
XTsKKyAgICAgICAgICAgIGlmIChwcm9wZXJ0eS5zdGF0dXMgIT09ICJkaXNhYmxlZCIpCisgICAg
ICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIlsnIiArIHByb3BlcnR5Lm5hbWUg
KyAiJzonIiArIHByb3BlcnR5LnZhbHVlICsgIiciICsgKHByb3BlcnR5LnByaW9yaXR5ID09PSAi
aW1wb3J0YW50IiA/ICIgaXMtaW1wb3J0YW50IiA6ICIiKSArICgoInBhcnNlZE9rIiBpbiBwcm9w
ZXJ0eSkgPyAiIG5vbi1wYXJzZWQiIDogIiIpICsiXSBAIiArIEluc3BlY3RvclRlc3QucmFuZ2VU
ZXh0KHByb3BlcnR5LnJhbmdlKSArICIgIiArIChwcm9wZXJ0eS5zdGF0dXMgfHwgInN0eWxlIikp
OworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVz
dWx0KCJbdGV4dD0nIiArIHByb3BlcnR5LnRleHQgKyAiJ10gIiArIHByb3BlcnR5LnN0YXR1cyk7
CisgICAgICAgIH0KKyAgICB9Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKworPGJvZHkgb25sb2Fk
PSJydW5UZXN0KCkiPgorPHA+CitUZXN0cyB0aGF0IFdlYkluc3BlY3Rvci5DU1NTdHlsZVNoZWV0
IG1ldGhvZHMgd29yayBhcyBleHBlY3RlZC4KKzwvcD4KKzxoMSBpZD0iaW5zcGVjdGVkIj5JbnNw
ZWN0IE1lPC9oMT4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lu
c3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvaW1wb3J0LXBzZXVkb2NsYXNzLWNyYXNoLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvaW1wb3J0LXBzZXVk
b2NsYXNzLWNyYXNoLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mZWFlY2VlOTc2ZmUyZGJiZjVh
NDM0ZTY3ZWU1OThiODg2MmI2NWFjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yLW9ic29sZXRlL3N0eWxlcy9pbXBvcnQtcHNldWRvY2xhc3MtY3Jhc2gtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMyBAQAorVGVzdHMgdGhhdCBtb2RpZnlpbmcgc3R5bGVzaGVldCB0ZXh0
IHdpdGggQGltcG9ydCBhbmQgOmxhc3QtY2hpbGQgc2VsZWN0b3IgZG9lcyBub3QgY3Jhc2ggKEJ1
ZyA5NTMyNCkuCisKKzpsYXN0LWNoaWxkCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0
b3Itb2Jzb2xldGUvc3R5bGVzL2ltcG9ydC1wc2V1ZG9jbGFzcy1jcmFzaC5odG1sIGIvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy9pbXBvcnQtcHNldWRvY2xhc3MtY3Jhc2gu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5hMmUwNWY3YWZhMzAyNjkwZDBhOGE2ZWE0MThjYmIzZTI4YzA2NGM5
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxl
cy9pbXBvcnQtcHNldWRvY2xhc3MtY3Jhc2guaHRtbApAQCAtMCwwICsxLDUwIEBACis8aHRtbD4K
KzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJyZXNvdXJjZXMvaW1wb3J0LXBz
ZXVkb2NsYXNzLWNyYXNoLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNw
ZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2h0
dHAvdGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4K
KworZnVuY3Rpb24gdGVzdCgpCit7CisgICAgV2ViSW5zcGVjdG9yLnNob3dQYW5lbCgiZWxlbWVu
dHMiKTsKKyAgICBJbnNwZWN0b3JUZXN0Lm5vZGVXaXRoSWQoImxhc3RjaGlsZCIsIG5vZGVGb3Vu
ZCk7CisKKyAgICBmdW5jdGlvbiBub2RlRm91bmQobm9kZSkKKyAgICB7CisgICAgICAgIFdlYklu
c3BlY3Rvci5jc3NNb2RlbC5nZXRNYXRjaGVkU3R5bGVzQXN5bmMobm9kZS5pZCwgdHJ1ZSwgZmFs
c2UsIG1hdGNoZWRTdHlsZXNDYWxsYmFjayk7CisgICAgfQorCisgICAgdmFyIHN0eWxlU2hlZXRJ
ZDsKKworICAgIGZ1bmN0aW9uIG1hdGNoZWRTdHlsZXNDYWxsYmFjayhzdHlsZXMpCisgICAgewor
ICAgICAgICBzdHlsZVNoZWV0SWQgPSBzdHlsZXMubWF0Y2hlZENTU1J1bGVzWzFdLmlkLnN0eWxl
U2hlZXRJZDsKKyAgICAgICAgQ1NTQWdlbnQuc2V0U3R5bGVTaGVldFRleHQoc3R5bGVTaGVldElk
LAorICAgICAgICAgICAgIkBpbXBvcnQgdXJsKFwiaW1wb3J0LXBzZXVkb2NsYXNzLWNyYXNoLWVt
cHR5LmNzc1wiKTtcblxuOmxhc3QtY2hpbGQgeyBjb2xvcjogIzAwMDAwMTsgfVxuIiwgbW9kaWZp
ZWRDYWxsYmFjayk7CisgICAgfQorCisgICAgZnVuY3Rpb24gbW9kaWZpZWRDYWxsYmFjaygpCisg
ICAgeworICAgICAgICBDU1NBZ2VudC5zZXRTdHlsZVNoZWV0VGV4dChzdHlsZVNoZWV0SWQsICJA
aW1wb3J0IHVybChcImltcG9ydC1wc2V1ZG9jbGFzcy1jcmFzaC1lbXB0eS5jc3NcIik7XG5cbjps
YXN0LWNoaWxkIHsgY29sb3I6ICMwMDIwMDE7IH1cbiIsIG1vZGlmaWVkQ2FsbGJhY2syKTsKKyAg
ICB9CisKKyAgICBmdW5jdGlvbiBtb2RpZmllZENhbGxiYWNrMigpCisgICAgeworICAgICAgICBJ
bnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOworICAgIH0KK30KKworPC9zY3JpcHQ+Cis8L2hl
YWQ+CisKKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KKzxwPgorVGVzdHMgdGhhdCBtb2RpZnlp
bmcgc3R5bGVzaGVldCB0ZXh0IHdpdGggQGltcG9ydCBhbmQgOmxhc3QtY2hpbGQgc2VsZWN0b3Ig
ZG9lcyBub3QgY3Jhc2ggKDxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD05NTMyNCI+QnVnIDk1MzI0PC9hPikuCis8L3A+CisKKzxkaXY+CisgICAgPHAgaWQ9
Imxhc3RjaGlsZCI+Omxhc3QtY2hpbGQ8L3A+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvaW5qZWN0LXN0
eWxlc2hlZXQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3N0
eWxlcy9pbmplY3Qtc3R5bGVzaGVldC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODFiYWQ1ODVh
ZjZlNTA1ZDViYzgyMTIwYjBlNjY5MWU3ZTA4ZjdlMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvaW5qZWN0LXN0eWxlc2hlZXQtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTM1IEBACitDT05TT0xFIE1FU1NBR0U6IGxpbmUgOTogaWZyYW1l
IGxvYWRlZAorVGVzdHMgdGhhdCBpbmplY3RlZCB1c2VyIHN0eWxlc2hlZXRzIGFyZSByZWZsZWN0
ZWQgaW4gdGhlIFN0eWxlcyBwYW5lLgorCisKK01haW4gZnJhbWUgc3R5bGU6CitbZXhwYW5kZWRd
IAorLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IGJvcmRlci1ib3g7Cistd2Via2l0LWJhY2tncm91
bmQtb3JpZ2luOiBwYWRkaW5nLWJveDsKKy13ZWJraXQtYmFja2dyb3VuZC1zaXplOiBhdXRvOwor
LXdlYmtpdC1ib3JkZXItaW1hZ2U6IHVybChkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtH
Z29BQUFBTlNVaEVVZ0FBQUJBQUFBQVFDQVFBQUFDMStqZnFBQUFBaUVsRVHigKZNcytMUzMwQ0Fo
Qk41bk54ZVQ1aGJKMXp3bWppMmsrYUY2TkVOSVBmL2hzNTRmMHNaRlVWQU1pZ0FBQUFCSlJVNUVy
a0pnZ2c9PSkgMTAwJSAvIDEgLyAwcHggc3RyZXRjaDsKKyAgICAjbWFpbiAtIHVybChkYXRhOmlt
YWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUJBQUFBQVFDQVFBQUFDMStq
ZnFBQUFBaUVsRVFWUjQycjJSc1FyRE1BeEVCUmRsOFNEY1g4bFFQR2cxR0JJNmx2ei9oN1F5UlJY
VjBxVVVMd2Z2d1oxdGVudzVQeFRvUlBXTUM1MmVBOStXRG5saDNIRlEveEJRbDg2TkZZSnFlR2Zs
a2lvZ3JPdlZsSUZocVVSRlZobzN4MW1vR0FhM2RlTXMrTFMzMENBaEJONW5OeGVUNWhiSjF6d21q
aTJrK2FGNk5FTklQZi9oczU0ZjBzWkZVVkFNaWdBQUFBQkpSVTVFcmtKZ2dnPT0pIHVzZXIgc3R5
bGVzaGVldAorYmFja2dyb3VuZC1hdHRhY2htZW50OiBzY3JvbGw7CisgICAgI21haW4gLSBpbml0
aWFsIGluamVjdC1zdHlsZXNoZWV0Lmh0bWw6NQorYmFja2dyb3VuZC1jbGlwOiBib3JkZXItYm94
OworICAgICNtYWluIC0gaW5pdGlhbCBpbmplY3Qtc3R5bGVzaGVldC5odG1sOjUKK2JhY2tncm91
bmQtY29sb3I6IHJnYigwLCAwLCAyNTUpOworICAgICNtYWluIC0gYmx1ZSBpbmplY3Qtc3R5bGVz
aGVldC5odG1sOjUKK2JhY2tncm91bmQtaW1hZ2U6IG5vbmU7CisgICAgI21haW4gLSBpbml0aWFs
IGluamVjdC1zdHlsZXNoZWV0Lmh0bWw6NQorYmFja2dyb3VuZC1vcmlnaW46IHBhZGRpbmctYm94
OworICAgICNtYWluIC0gaW5pdGlhbCBpbmplY3Qtc3R5bGVzaGVldC5odG1sOjUKK2JhY2tncm91
bmQtc2l6ZTogYXV0bzsKKyAgICAjbWFpbiAtIGluaXRpYWwgaW5qZWN0LXN0eWxlc2hlZXQuaHRt
bDo1Citjb2xvcjogcmdiKDI1NSwgMCwgMCk7CisgICAgI21haW4gLSByZWQgdXNlciBzdHlsZXNo
ZWV0CitkaXNwbGF5OiBibG9jazsKKyAgICBkaXYgLSBibG9jayB1c2VyIGFnZW50IHN0eWxlc2hl
ZXQKKworW2V4cGFuZGVkXSAKK2VsZW1lbnQuc3R5bGUgIHsgKCkKKworPT09PT09PT0gTWF0Y2hl
ZCBDU1MgUnVsZXMgPT09PT09PT0KK1tleHBhbmRlZF0gCittZWRpYT0ic2NyZWVuIiAoaW5qZWN0
LXN0eWxlc2hlZXQuaHRtbCkKKyNtYWluICB7IChpbmplY3Qtc3R5bGVzaGVldC5odG1sOjUpCiti
YWNrZ3JvdW5kOiBibHVlOworICAgIGJhY2tncm91bmQtaW1hZ2U6IGluaXRpYWw7CisgICAgYmFj
a2dyb3VuZC1wb3NpdGlvbi14OiBpbml0aWFsOworICAgIGJhY2tncm91bmQtcG9zaXRpb24teTog
aW5pdGlhbDsKKyAgICBiYWNrZ3JvdW5kLXNpemU6IGluaXRpYWw7CisgICAgYmFja2dyb3VuZC1y
ZXBlYXQteDogaW5pdGlhbDsKKyAgICBiYWNrZ3JvdW5kLXJlcGVhdC15OiBpbml0aWFsOworICAg
IGJhY2tncm91bmQtYXR0YWNobWVudDogaW5pdGlhbDsKKyAgICBiYWNrZ3JvdW5kLW9yaWdpbjog
aW5pdGlhbDsKKyAgICBiYWNrZ3JvdW5kLWNsaXA6IGluaXRpYWw7CisgICAgYmFja2dyb3VuZC1j
b2xvcjogYmx1ZTsKKworW2V4cGFuZGVkXSAKKyNtYWluICB7ICh1c2VyIHN0eWxlc2hlZXQpCitj
b2xvcjogcmVkOworLXdlYmtpdC1ib3JkZXItaW1hZ2U6IHVybChkYXRhOmltYWdlL3BuZztiYXNl
NjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUJBQUFBQVFDQVFBQUFDMStqZnFBQUFBaUVsRVHi
gKZNcytMUzMwQ0FoQk41bk54ZVQ1aGJKMXp3bWppMmsrYUY2TkVOSVBmL2hzNTRmMHNaRlVWQU1p
Z0FBQUFCSlJVNUVya0pnZ2c9PSk7CisKK1tleHBhbmRlZF0gCitkaXYgIHsgKHVzZXIgYWdlbnQg
c3R5bGVzaGVldCkKK2Rpc3BsYXk6IGJsb2NrOworCisKK2lmcmFtZSBzdHlsZToKK1tleHBhbmRl
ZF0gCistd2Via2l0LWJhY2tncm91bmQtY2xpcDogYm9yZGVyLWJveDsKKy13ZWJraXQtYmFja2dy
b3VuZC1vcmlnaW46IHBhZGRpbmctYm94OworLXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6IGF1dG87
CitiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IHNjcm9sbDsKKyAgICBib2R5IC0gaW5pdGlhbCBpbmpl
Y3Qtc3R5bGVzaGVldC1pZnJhbWUtZGF0YS5odG1sOjQKKyAgICAvLS0gb3ZlcmxvYWRlZCAtLS8g
I2lmcmFtZWJvZHkgLSBpbml0aWFsIHVzZXIgc3R5bGVzaGVldAorYmFja2dyb3VuZC1jbGlwOiBi
b3JkZXItYm94OworICAgIGJvZHkgLSBpbml0aWFsIGluamVjdC1zdHlsZXNoZWV0LWlmcmFtZS1k
YXRhLmh0bWw6NAorICAgIC8tLSBvdmVybG9hZGVkIC0tLyAjaWZyYW1lYm9keSAtIGluaXRpYWwg
dXNlciBzdHlsZXNoZWV0CitiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMCwgMTI4LCAwKTsKKyAgICBi
b2R5IC0gZ3JlZW4gaW5qZWN0LXN0eWxlc2hlZXQtaWZyYW1lLWRhdGEuaHRtbDo0CisgICAgLy0t
IG92ZXJsb2FkZWQgLS0vICNpZnJhbWVib2R5IC0gcmVkIHVzZXIgc3R5bGVzaGVldAorYmFja2dy
b3VuZC1pbWFnZTogbm9uZTsKKyAgICBib2R5IC0gaW5pdGlhbCBpbmplY3Qtc3R5bGVzaGVldC1p
ZnJhbWUtZGF0YS5odG1sOjQKKyAgICAvLS0gb3ZlcmxvYWRlZCAtLS8gI2lmcmFtZWJvZHkgLSBp
bml0aWFsIHVzZXIgc3R5bGVzaGVldAorYmFja2dyb3VuZC1vcmlnaW46IHBhZGRpbmctYm94Owor
ICAgIGJvZHkgLSBpbml0aWFsIGluamVjdC1zdHlsZXNoZWV0LWlmcmFtZS1kYXRhLmh0bWw6NAor
ICAgIC8tLSBvdmVybG9hZGVkIC0tLyAjaWZyYW1lYm9keSAtIGluaXRpYWwgdXNlciBzdHlsZXNo
ZWV0CitiYWNrZ3JvdW5kLXNpemU6IGF1dG87CisgICAgYm9keSAtIGluaXRpYWwgaW5qZWN0LXN0
eWxlc2hlZXQtaWZyYW1lLWRhdGEuaHRtbDo0CisgICAgLy0tIG92ZXJsb2FkZWQgLS0vICNpZnJh
bWVib2R5IC0gaW5pdGlhbCB1c2VyIHN0eWxlc2hlZXQKK2Rpc3BsYXk6IGJsb2NrOworICAgIGJv
ZHkgLSBibG9jayB1c2VyIGFnZW50IHN0eWxlc2hlZXQKK21hcmdpbi1ib3R0b206IDhweDsKKyAg
ICBib2R5IC0gOHB4IHVzZXIgYWdlbnQgc3R5bGVzaGVldAorbWFyZ2luLWxlZnQ6IDhweDsKKyAg
ICBib2R5IC0gOHB4IHVzZXIgYWdlbnQgc3R5bGVzaGVldAorbWFyZ2luLXJpZ2h0OiA4cHg7Cisg
ICAgYm9keSAtIDhweCB1c2VyIGFnZW50IHN0eWxlc2hlZXQKK21hcmdpbi10b3A6IDhweDsKKyAg
ICBib2R5IC0gOHB4IHVzZXIgYWdlbnQgc3R5bGVzaGVldAorCitbZXhwYW5kZWRdIAorZWxlbWVu
dC5zdHlsZSAgeyAoKQorCis9PT09PT09PSBNYXRjaGVkIENTUyBSdWxlcyA9PT09PT09PQorW2V4
cGFuZGVkXSAKK21lZGlhPSJzY3JlZW4iIChpbmplY3Qtc3R5bGVzaGVldC1pZnJhbWUtZGF0YS5o
dG1sKQorYm9keSAgeyAoaW5qZWN0LXN0eWxlc2hlZXQtaWZyYW1lLWRhdGEuaHRtbDo0KQorYmFj
a2dyb3VuZDogZ3JlZW47CisgICAgYmFja2dyb3VuZC1pbWFnZTogaW5pdGlhbDsKKyAgICBiYWNr
Z3JvdW5kLXBvc2l0aW9uLXg6IGluaXRpYWw7CisgICAgYmFja2dyb3VuZC1wb3NpdGlvbi15OiBp
bml0aWFsOworICAgIGJhY2tncm91bmQtc2l6ZTogaW5pdGlhbDsKKyAgICBiYWNrZ3JvdW5kLXJl
cGVhdC14OiBpbml0aWFsOworICAgIGJhY2tncm91bmQtcmVwZWF0LXk6IGluaXRpYWw7CisgICAg
YmFja2dyb3VuZC1hdHRhY2htZW50OiBpbml0aWFsOworICAgIGJhY2tncm91bmQtb3JpZ2luOiBp
bml0aWFsOworICAgIGJhY2tncm91bmQtY2xpcDogaW5pdGlhbDsKKyAgICBiYWNrZ3JvdW5kLWNv
bG9yOiBncmVlbjsKKworW2V4cGFuZGVkXSAKKyNpZnJhbWVib2R5ICB7ICh1c2VyIHN0eWxlc2hl
ZXQpCisvLS0gb3ZlcmxvYWRlZCAtLS8gYmFja2dyb3VuZDogcmVkOworICAgIC8tLSBvdmVybG9h
ZGVkIC0tLyBiYWNrZ3JvdW5kLWltYWdlOiBpbml0aWFsOworICAgIC8tLSBvdmVybG9hZGVkIC0t
LyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGluaXRpYWw7CisgICAgLy0tIG92ZXJsb2FkZWQgLS0v
IGJhY2tncm91bmQtcG9zaXRpb24teTogaW5pdGlhbDsKKyAgICAvLS0gb3ZlcmxvYWRlZCAtLS8g
YmFja2dyb3VuZC1zaXplOiBpbml0aWFsOworICAgIC8tLSBvdmVybG9hZGVkIC0tLyBiYWNrZ3Jv
dW5kLXJlcGVhdC14OiBpbml0aWFsOworICAgIC8tLSBvdmVybG9hZGVkIC0tLyBiYWNrZ3JvdW5k
LXJlcGVhdC15OiBpbml0aWFsOworICAgIC8tLSBvdmVybG9hZGVkIC0tLyBiYWNrZ3JvdW5kLWF0
dGFjaG1lbnQ6IGluaXRpYWw7CisgICAgLy0tIG92ZXJsb2FkZWQgLS0vIGJhY2tncm91bmQtb3Jp
Z2luOiBpbml0aWFsOworICAgIC8tLSBvdmVybG9hZGVkIC0tLyBiYWNrZ3JvdW5kLWNsaXA6IGlu
aXRpYWw7CisgICAgLy0tIG92ZXJsb2FkZWQgLS0vIGJhY2tncm91bmQtY29sb3I6IHJlZDsKKwor
W2V4cGFuZGVkXSAKK2JvZHkgIHsgKHVzZXIgYWdlbnQgc3R5bGVzaGVldCkKK2Rpc3BsYXk6IGJs
b2NrOworbWFyZ2luOiA4cHg7CisgICAgbWFyZ2luLXRvcDogOHB4OworICAgIG1hcmdpbi1yaWdo
dDogOHB4OworICAgIG1hcmdpbi1ib3R0b206IDhweDsKKyAgICBtYXJnaW4tbGVmdDogOHB4Owor
CisKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy9p
bmplY3Qtc3R5bGVzaGVldC5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3N0
eWxlcy9pbmplY3Qtc3R5bGVzaGVldC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRhZDAzMDAyYWRiNjRlNmYx
ZDM1MmMwNzdlYjc0MmQwMjk4ZmIxZjYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9p
bnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVzL2luamVjdC1zdHlsZXNoZWV0Lmh0bWwKQEAgLTAsMCAr
MSw2NSBAQAorPGh0bWw+Cis8aGVhZD4KKworPHN0eWxlIHR5cGU9InRleHQvY3NzIiBtZWRpYT0i
c2NyZWVuIj4KKyAgI21haW4geyBiYWNrZ3JvdW5kOmJsdWU7IH0KKzwvc3R5bGU+CisKKzxzY3Jp
cHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMt
dGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorCitmdW5jdGlvbiBpbmplY3RTdHlsZVNoZWV0
KCkKK3sKKyAgICB2YXIgc3R5bGVTaGVldCA9ICIjbWFpbiB7IGNvbG9yOiByZWQ7IC13ZWJraXQt
Ym9yZGVyLWltYWdlOiB1cmwoZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5T
VWhFVWdBQUFCQUFBQUFRQ0FRQUFBQzEramZxQUFBQWlFbEVRVlI0MnIyUnNRckRNQXhFQlJkbDhT
RGNYOGxRUEdnMUdCSTZsdnovaDdReVJSWFYwcVVVTHdmdndaMXRlbnc1UHhUb1JQV01DNTJlQTkr
V0RubGgzSEZRL3hCUWw4Nk5GWUpxZUdmbGtpb2dyT3ZWbElGaHFVUkZWaG8zeDFtb0dBYTNkZU1z
K0xTMzBDQWhCTjVuTnhlVDVoYkoxendtamkyaythRjZORU5JUGYvaHM1NGYwc1pGVVZBTWlnQUFB
QUJKUlU1RXJrSmdnZz09KSB9ICAjaWZyYW1lQm9keSB7IGJhY2tncm91bmQ6IHJlZCB9IjsKKyAg
ICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHdpbmRvdy50ZXN0UnVubmVyLmFkZFVz
ZXJTdHlsZVNoZWV0KHN0eWxlU2hlZXQsIHRydWUpOworfQorCitmdW5jdGlvbiBsb2FkSWZyYW1l
KCkKK3sKKyAgICB2YXIgaWZyYW1lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7
CisgICAgaWZyYW1lLnNyYyA9ICJyZXNvdXJjZXMvaW5qZWN0LXN0eWxlc2hlZXQtaWZyYW1lLWRh
dGEuaHRtbCI7CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm1haW4iKS5hcHBlbmRDaGls
ZChpZnJhbWUpOworfQorCitmdW5jdGlvbiB0ZXN0KCkKK3sKKyAgICBJbnNwZWN0b3JUZXN0LmV2
YWx1YXRlSW5QYWdlKCJpbmplY3RTdHlsZVNoZWV0KCkiLCBpbml0KTsKKworICAgIGZ1bmN0aW9u
IGluaXQoKQorICAgIHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5zZWxlY3ROb2RlQW5kV2FpdEZv
clN0eWxlc1dpdGhDb21wdXRlZCgibWFpbiIsIHN0ZXAwKTsKKyAgICB9CisKKyAgICBmdW5jdGlv
biBzdGVwMCgpCisgICAgeworICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiTWFpbiBm
cmFtZSBzdHlsZToiKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wU2VsZWN0ZWRFbGVtZW50
U3R5bGVzKCk7CisgICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoImxvYWRJZnJh
bWUoKSIpOworICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZENvbnNvbGVTbmlmZmVyKHN0ZXAxKTsK
KyAgICB9CisKKyAgICBmdW5jdGlvbiBzdGVwMSgpCisgICAgeworICAgICAgICBJbnNwZWN0b3JU
ZXN0LnNlbGVjdE5vZGVBbmRXYWl0Rm9yU3R5bGVzKCJpZnJhbWVCb2R5Iiwgc3RlcDIpOworICAg
IH0KKworICAgIGZ1bmN0aW9uIHN0ZXAyKCkKKyAgICB7CisgICAgICAgIEluc3BlY3RvclRlc3Qu
YWRkUmVzdWx0KCJpZnJhbWUgc3R5bGU6Iik7CisgICAgICAgIEluc3BlY3RvclRlc3QuZHVtcFNl
bGVjdGVkRWxlbWVudFN0eWxlcygpOworICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVz
dCgpOworICAgIH0KK30KKzwvc2NyaXB0PgorPC9oZWFkPgorCis8Ym9keSBvbmxvYWQ9InJ1blRl
c3QoKSI+Cis8cD4KK1Rlc3RzIHRoYXQgaW5qZWN0ZWQgdXNlciBzdHlsZXNoZWV0cyBhcmUgcmVm
bGVjdGVkIGluIHRoZSBTdHlsZXMgcGFuZS4KKzwvcD4KKworPGRpdiBpZD0ibWFpbiI+PC9kaXY+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jz
b2xldGUvc3R5bGVzL3BhcnNlLXN0eWxlc2hlZXQtZXJyb3JzLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvcGFyc2Utc3R5bGVzaGVldC1lcnJvcnMt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU1ZWNiNzVlNjNhMDA0MGM5NjJiMmQ2OWQzYjkwYWJk
MmY3MDdiYzMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xl
dGUvc3R5bGVzL3BhcnNlLXN0eWxlc2hlZXQtZXJyb3JzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM2IEBACitUZXN0cyB0aGF0IENTU1BhcnNlciBwcm9kdWNlcyBzb3VyY2UgZGF0YSBjb25zaXN0
ZW50IHdpdGggQ1NTT00gd2hlbiBwYXJzaW5nIGJyb2tlbiBzdHlsZXNoZWV0cy4gQnVnIDk4MjQ2
CisKK2JvZHk6IFtyZWd1bGFyLCAxOjAtMTo0XSB7CisgICAgWydjb2xvcic6J2JsYWNrJ10gQFsy
OjQtMjoxN10gYWN0aXZlCit9Citib2R5OiBbcmVndWxhciwgMTI6MC0xMjo0XSB7CisgICAgWydi
YWNrZ3JvdW5kLWNvbG9yJzonYnJva2VuLWRlY2xhcmF0aW9uJyBub24tcGFyc2VkXSBAWzEzOjQt
MTM6NDFdIGFjdGl2ZQorfQorYm9keTogW3JlZ3VsYXIsIDI6MC0yOjRdIHsKKyAgICBbJ2NvbG9y
JzonaW1wb3J0LWVycm9yJyBub24tcGFyc2VkXSBAWzM6NC0zOjI0XSBhY3RpdmUKK30KK2JvZHk6
IFtyZWd1bGFyLCAyOjAtMjo0XSB7CisgICAgWydjb2xvcic6J2ltcG9ydC1lcnJvci1ibG9jaycg
bm9uLXBhcnNlZF0gQFszOjQtMzozMF0gYWN0aXZlCit9Citib2R5OiBbcmVndWxhciwgMjowLTI6
NF0geworICAgIFsnY29sb3InOidtZWRpYS1lbXB0eScgbm9uLXBhcnNlZF0gQFszOjQtMzoyM10g
YWN0aXZlCit9Citib2R5OiBbcmVndWxhciwgMjowLTI6NF0geworICAgIFsnY29sb3InOidwYWdl
LWVycm9yJyBub24tcGFyc2VkXSBAWzM6NC0zOjIyXSBhY3RpdmUKK30KK2JvZHk6IFtyZWd1bGFy
LCAyOjAtMjo0XSB7CisgICAgWydjb2xvcic6J3BhZ2UtYmxvY2snIG5vbi1wYXJzZWRdIEBbMzo0
LTM6MjJdIGFjdGl2ZQorfQorYm9keTogW3JlZ3VsYXIsIDE6MC0xOjRdIHsKKyAgICBbJ2NvbG9y
JzonYmVmb3JlLWltcG9ydCcgbm9uLXBhcnNlZF0gQFsyOjQtMjoyNV0gYWN0aXZlCit9Citib2R5
OiBbcmVndWxhciwgNTowLTU6NF0geworICAgIFsnY29sb3InOidhZnRlci1pbXBvcnQnIG5vbi1w
YXJzZWRdIEBbNjo0LTY6MjRdIGFjdGl2ZQorfQorYm9keTogW3JlZ3VsYXIsIDQ6MC00OjRdIHsK
KyAgICBbJ2NvbG9yJzonYWZ0ZXItaW52YWxpZC1mb250LWZhY2UnIG5vbi1wYXJzZWRdIEBbNTo0
LTU6MzVdIGFjdGl2ZQorfQorYm9keTogW3JlZ3VsYXIsIDM6MC0zOjRdIHsKKyAgICBbJ2NvbG9y
JzonYWZ0ZXItaW52YWxpZC1yZWdpb24nIG5vbi1wYXJzZWRdIEBbNDo0LTQ6MzJdIGFjdGl2ZQor
fQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVzL3Bh
cnNlLXN0eWxlc2hlZXQtZXJyb3JzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xl
dGUvc3R5bGVzL3BhcnNlLXN0eWxlc2hlZXQtZXJyb3JzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTk4OGE0
NGU2ZmNlMTVhMzk4YWI0MzRhMGYxYTY3ZmY5Mjc5ZGM5NgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvcGFyc2Utc3R5bGVzaGVldC1lcnJv
cnMuaHRtbApAQCAtMCwwICsxLDExOCBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMtdGVzdC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0PgorCitmdW5jdGlvbiB0ZXN0KCkKK3sKKyAgICBXZWJJbnNwZWN0
b3Iuc2hvd1BhbmVsKCJlbGVtZW50cyIpOworCisgICAgQ1NTQWdlbnQuZ2V0QWxsU3R5bGVTaGVl
dHMoaGVhZGVyc0NhbGxiYWNrKTsKKworICAgIGZ1bmN0aW9uIGhlYWRlcnNDYWxsYmFjayhlcnJv
ciwgaGVhZGVycykKKyAgICB7CisgICAgICAgIGlmIChlcnJvcikgeworICAgICAgICAgICAgSW5z
cGVjdG9yVGVzdC5hZGRSZXN1bHQoIkVycm9yIGxvYWRpbmcgc3R5bGVzaGVldCBoZWFkZXJzOiAi
ICsgZXJyb3IpOworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKKyAg
ICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorCisgICAgICAgIGZvciAodmFyIGkgPSAwOyBp
IDwgaGVhZGVycy5sZW5ndGg7ICsraSkKKyAgICAgICAgICAgIENTU0FnZW50LmdldFN0eWxlU2hl
ZXQoaGVhZGVyc1tpXS5zdHlsZVNoZWV0SWQsIHN0eWxlU2hlZXRDYWxsYmFjay5iaW5kKG51bGws
IGkgPT09IGhlYWRlcnMubGVuZ3RoIC0gMSkpOworICAgIH0KKworICAgIGZ1bmN0aW9uIHN0eWxl
U2hlZXRDYWxsYmFjayhpc0xhc3QsIGVycm9yLCBzdHlsZVNoZWV0KQorICAgIHsKKyAgICAgICAg
aWYgKGVycm9yKSB7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiRXJyb3Ig
bG9hZGluZyBzdHlsZXNoZWV0IGJvZHk6ICIgKyBlcnJvcik7CisgICAgICAgICAgICBJbnNwZWN0
b3JUZXN0LmNvbXBsZXRlVGVzdCgpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisK
KyAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wUnVsZXNBcnJheShzdHlsZVNoZWV0LnJ1bGVzKTsK
KyAgICAgICAgaWYgKGlzTGFzdCkKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVU
ZXN0KCk7CisgICAgfQorfQorCis8L3NjcmlwdD4KKworPHN0eWxlPgorYm9keSB7CisgICAgY29s
b3I6IGJsYWNrOworfQorCitmb250LWZhbWlseTogc2VyaWY7Cit9CisKK2JvZHk6aG92ZXIgewor
ICAgIGNvbG9yOiAjQ0RFOworfQorCitib2R5IHsKKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiBicm9r
ZW4tZGVjbGFyYXRpb247Cit9CisKKzwvc3R5bGU+Cis8c3R5bGU+CitAaW1wb3J0IDEyOworYm9k
eSB7CisgICAgY29sb3I6IGltcG9ydC1lcnJvcjsKK30KKzwvc3R5bGU+Cis8c3R5bGU+CitAaW1w
b3J0IDEyIHt9Citib2R5IHsKKyAgICBjb2xvcjogaW1wb3J0LWVycm9yLWJsb2NrOworfQorPC9z
dHlsZT4KKzxzdHlsZT4KK0BtZWRpYSA7Citib2R5IHsKKyAgICBjb2xvcjogbWVkaWEtZW1wdHk7
Cit9Cis8L3N0eWxlPgorPHN0eWxlPgorQHBhZ2UgOworYm9keSB7CisgICAgY29sb3I6IHBhZ2Ut
ZXJyb3I7Cit9Cis8L3N0eWxlPgorPHN0eWxlPgorQHBhZ2Uge30KK2JvZHkgeworICAgIGNvbG9y
OiBwYWdlLWJsb2NrOworfQorPC9zdHlsZT4KKzxzdHlsZT4KK2JvZHkgeworICAgIGNvbG9yOiBi
ZWZvcmUtaW1wb3J0OworfQorQGltcG9ydCAiZm9vIjsKK2JvZHkgeworICAgIGNvbG9yOiBhZnRl
ci1pbXBvcnQ7Cit9Cis8L3N0eWxlPgorPHN0eWxlPgorQGZvbnQtZmFjZSB7CisgICAgZm9udC1m
YW1pbHk6IGluaXRpYWw7Cit9Citib2R5IHsKKyAgICBjb2xvcjogYWZ0ZXItaW52YWxpZC1mb250
LWZhY2U7Cit9Cis8L3N0eWxlPgorPHN0eWxlPgorQC13ZWJraXQtcmVnaW9uICVeJSB7Cit9Citi
b2R5IHsKKyAgICBjb2xvcjogYWZ0ZXItaW52YWxpZC1yZWdpb247Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorCis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Cis8cD4KK1Rlc3RzIHRoYXQgQ1NTUGFy
c2VyIHByb2R1Y2VzIHNvdXJjZSBkYXRhIGNvbnNpc3RlbnQgd2l0aCBDU1NPTSB3aGVuIHBhcnNp
bmcgYnJva2VuIHN0eWxlc2hlZXRzLiA8YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9OTgyNDYiPkJ1ZyA5ODI0NjwvYT4KKzwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvcGFyc2UtdXRm
OC1ib20tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxl
cy9wYXJzZS11dGY4LWJvbS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzczNWFiNTRiNTk3YzQx
YjUyY2JmNTI3MTg5YTMzNWQwNzZhOTFhMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2luc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvcGFyc2UtdXRmOC1ib20tZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMjQgQEAKK1Rlc3RzIHRoYXQgc291cmNlIGRhdGEgYXJlIGV4dHJhY3RlZCBjb3Jy
ZWN0bHkgZnJvbSBleHRlcm5hbCBzdHlsZXNoZWV0cyBpbiBVVEYtOCB3aXRoIEJPTS4gQnVnIDU5
MzIyLgorCitJJ20gcmVkLgorCitbZXhwYW5kZWRdIAorZWxlbWVudC5zdHlsZSAgeyAoKQorCis9
PT09PT09PSBNYXRjaGVkIENTUyBSdWxlcyA9PT09PT09PQorW2V4cGFuZGVkXSAKK2gxICB7IChw
YXJzZS11dGY4LWJvbS1tYWluLmNzczozKQorY29sb3I6IHJlZDsKKworW2V4cGFuZGVkXSAKK2gx
ICB7ICh1c2VyIGFnZW50IHN0eWxlc2hlZXQpCitkaXNwbGF5OiBibG9jazsKK2ZvbnQtc2l6ZTog
MmVtOworLXdlYmtpdC1tYXJnaW4tYmVmb3JlOiAwLjY3ZW07Cistd2Via2l0LW1hcmdpbi1hZnRl
cjogMC42N2VtOworLXdlYmtpdC1tYXJnaW4tc3RhcnQ6IDBweDsKKy13ZWJraXQtbWFyZ2luLWVu
ZDogMHB4OworZm9udC13ZWlnaHQ6IGJvbGQ7CisKKworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVzL3BhcnNlLXV0ZjgtYm9tLmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVzL3BhcnNlLXV0ZjgtYm9tLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNGFmNThmOGIzNDE1MDBhM2FmY2RiNzc1ODZiZTkwYTc1ZmJmNGEzOQotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvcGFyc2UtdXRm
OC1ib20uaHRtbApAQCAtMCwwICsxLDMyIEBACis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJz
dHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0icmVzb3VyY2VzL3BhcnNlLXV0ZjgtYm9t
LW1haW4uY3NzIj4KKworPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2lu
c3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3Rz
L2luc3BlY3Rvci9lbGVtZW50cy10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisKK2Z1bmN0
aW9uIHRlc3QoKQoreworICAgIEluc3BlY3RvclRlc3Quc2VsZWN0Tm9kZUFuZFdhaXRGb3JTdHls
ZXMoImluc3BlY3RlZCIsIHN0ZXAxKTsKKworICAgIGZ1bmN0aW9uIHN0ZXAxKCkKKyAgICB7Cisg
ICAgICAgIEluc3BlY3RvclRlc3QuZHVtcFNlbGVjdGVkRWxlbWVudFN0eWxlcyh0cnVlLCBmYWxz
ZSwgdHJ1ZSk7CisgICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7CisgICAgfQor
fQorCis8L3NjcmlwdD4KKzwvaGVhZD4KKworPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgorPHA+
CitUZXN0cyB0aGF0IHNvdXJjZSBkYXRhIGFyZSBleHRyYWN0ZWQgY29ycmVjdGx5IGZyb20gZXh0
ZXJuYWwgc3R5bGVzaGVldHMgaW4gVVRGLTggd2l0aCBCT00uIDxhIGhyZWY9Imh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01OTMyMiI+QnVnIDU5MzIyPC9hPi4KKzwvcD4K
KzxoMSBpZD0iaW5zcGVjdGVkIj4KK0knbSByZWQuCis8L2gxPgorCis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVzL3JlZ2lv
bi1zdHlsZS1jcmFzaC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xl
dGUvc3R5bGVzL3JlZ2lvbi1zdHlsZS1jcmFzaC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDll
ZGE2NDlmZDY2N2RiYTk2ODdiN2RjNTA2MzhjZWZjYjBjM2RjOQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvcmVnaW9uLXN0eWxlLWNyYXNo
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDI4IEBACitUZXN0cyB0aGF0IHdlYmtpdCBjc3MgcmVn
aW9uIHN0eWxpbmcgY2FuIGJlIHBhcnNlZCBjb3JyZWN0bHkuIFRlc3QgcGFzc2VzIGlmIGl0IGRv
ZXNuJ3QgY3Jhc2guCisKK1AgY29sb3Igc3R5bGVkIGluIHJlZ2lvbjogIzAwODAwMC4KKworW2V4
cGFuZGVkXSAKK2NvbG9yOiByZ2IoMjU1LCAwLCAwKTsKKyAgICAjcDEgLSAjZmYwMDAwIHJlZ2lv
bi1zdHlsZS1jcmFzaC5odG1sOjYKK2Rpc3BsYXk6IGJsb2NrOworICAgIHAgLSBibG9jayB1c2Vy
IGFnZW50IHN0eWxlc2hlZXQKKworW2V4cGFuZGVkXSAKK2VsZW1lbnQuc3R5bGUgIHsgKCkKKwor
PT09PT09PT0gTWF0Y2hlZCBDU1MgUnVsZXMgPT09PT09PT0KK1tleHBhbmRlZF0gCisjcDEgIHsg
KHJlZ2lvbi1zdHlsZS1jcmFzaC5odG1sOjYpCitjb2xvcjogI2ZmMDAwMDsKKworW2V4cGFuZGVk
XSAKK3AgIHsgKHVzZXIgYWdlbnQgc3R5bGVzaGVldCkKK2Rpc3BsYXk6IGJsb2NrOworLXdlYmtp
dC1tYXJnaW4tYmVmb3JlOiAxZW07Cistd2Via2l0LW1hcmdpbi1hZnRlcjogMWVtOworLXdlYmtp
dC1tYXJnaW4tc3RhcnQ6IDBweDsKKy13ZWJraXQtbWFyZ2luLWVuZDogMHB4OworCisKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy9yZWdpb24tc3R5
bGUtY3Jhc2guaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvcmVn
aW9uLXN0eWxlLWNyYXNoLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmNlOGE4ZWQ0ZTZkMzE1ODc4ZjE5YjZk
ZTI1Y2E1MWMwNjBjNjc1ZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rv
ci1vYnNvbGV0ZS9zdHlsZXMvcmVnaW9uLXN0eWxlLWNyYXNoLmh0bWwKQEAgLTAsMCArMSw0MiBA
QAorPGh0bWw+Cis8aGVhZD4KKzxzdHlsZT4KKyNhcnRpY2xlMSB7IC13ZWJraXQtZmxvdy1pbnRv
OiBmbG93MTsgfQorI3JlZ2lvbjEgeyAtd2Via2l0LWZsb3ctZnJvbTogZmxvdzE7IHBvc2l0aW9u
OiBhYnNvbHV0ZTsgdG9wOiAxMHB4OyB3aWR0aDogMzUwcHg7IGhlaWdodDogMjVweDt9CisjcDEg
eyBjb2xvcjogI2ZmMDAwMDsgfQorQC13ZWJraXQtcmVnaW9uICNyZWdpb24xIHsKKyAgICAjcDEg
eyBjb2xvcjogIzAwODAwMDsgfQorfQorCis8L3N0eWxlPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2h0
dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9lbGVtZW50cy10ZXN0LmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQ+CisKK2Z1bmN0aW9uIHRlc3QoKQoreworICAgIFdlYkluc3BlY3Rvci5zaG93
UGFuZWwoImVsZW1lbnRzIik7CisgICAgSW5zcGVjdG9yVGVzdC5zZWxlY3ROb2RlQW5kV2FpdEZv
clN0eWxlc1dpdGhDb21wdXRlZCgicDEiLCBkdW1wQWxsU3R5bGVzKTsKKworICAgIGZ1bmN0aW9u
IGR1bXBBbGxTdHlsZXMoKQorICAgIHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wU2VsZWN0
ZWRFbGVtZW50U3R5bGVzKCk7CisgICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7
CisgICAgfQorfQorCis8L3NjcmlwdD4KKzwvaGVhZD4KKworPGJvZHkgb25sb2FkPSJydW5UZXN0
KCkiPgorPHA+CitUZXN0cyB0aGF0IHdlYmtpdCBjc3MgcmVnaW9uIHN0eWxpbmcgY2FuIGJlIHBh
cnNlZCBjb3JyZWN0bHkuIFRlc3QgcGFzc2VzIGlmIGl0IGRvZXNuJ3QgY3Jhc2guCis8L3A+CisK
KzxkaXYgaWQ9ImFydGljbGUxIj4KKyAgICA8cCBpZD0icDEiPlAgY29sb3Igc3R5bGVkIGluIHJl
Z2lvbjogIzAwODAwMC48L3A+Cis8L2Rpdj4KKzxkaXYgaWQ9InJlZ2lvbjEiIGNsYXNzPSJyZWdp
b25Cb3giPjwvZGl2PgorCis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy9y
ZW1vdmVkLXJ1bGUtY3Jhc2gtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9i
c29sZXRlL3N0eWxlcy9yZW1vdmVkLXJ1bGUtY3Jhc2gtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmFlZGVhOTVmZDM4ZjE4MjNmMzA0ODU4YjFjYjFhYWU5OTk2NmVlZDQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVzL3JlbW92ZWQtcnVsZS1j
cmFzaC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxOCBAQAorVGVzdHMgdGhhdCBkaXNhYmxpbmcg
c3R5bGUgcHJvcGVydHkgYWZ0ZXIgdGhlIHN0eWxlIHJ1bGUgaGFzIGJlZW4gcmVtb3ZlZCBkb2Vz
IG5vdCBjcmFzaCB0aGUgaW5zcGVjdGVkIHBhZ2UuCisKK0JlZm9yZSBkaXNhYmxlCitbZXhwYW5k
ZWRdIAorZWxlbWVudC5zdHlsZSAgeyAoKQorCis9PT09PT09PSBNYXRjaGVkIENTUyBSdWxlcyA9
PT09PT09PQorW2V4cGFuZGVkXSAKKyNjb250YWluZXIgIHsgKHJlbW92ZWQtcnVsZS1jcmFzaC5o
dG1sOjQpCitmb250LXdlaWdodDogYm9sZDsKKworW2V4cGFuZGVkXSAKK2RpdiAgeyAodXNlciBh
Z2VudCBzdHlsZXNoZWV0KQorZGlzcGxheTogYmxvY2s7CisKKworUEFTUzogTm8gY3Jhc2gKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy9yZW1vdmVk
LXJ1bGUtY3Jhc2guaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMv
cmVtb3ZlZC1ydWxlLWNyYXNoLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjEyYWQ4YmFlOGZkMzRiODRjYWIw
Y2FlYTZlNTIwZDQ4NmRmY2ZiMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci1vYnNvbGV0ZS9zdHlsZXMvcmVtb3ZlZC1ydWxlLWNyYXNoLmh0bWwKQEAgLTAsMCArMSw1
MiBAQAorPGh0bWw+Cis8aGVhZD4KKzxzdHlsZT4KKyNjb250YWluZXIgeworICAgIGZvbnQtd2Vp
Z2h0OiBib2xkOworfQorPC9zdHlsZT4KKzxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2lu
c3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
aHR0cC90ZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
PgorCitmdW5jdGlvbiByZW1vdmVSdWxlKCkKK3sKKyAgICBkb2N1bWVudC5zdHlsZVNoZWV0c1sw
XS5yZW1vdmVSdWxlKDApOworfQorCitmdW5jdGlvbiB0ZXN0KCkKK3sKKyAgICBJbnNwZWN0b3JU
ZXN0LnNlbGVjdE5vZGVBbmRXYWl0Rm9yU3R5bGVzKCJjb250YWluZXIiLCBzdGVwMCk7CisKKyAg
ICBmdW5jdGlvbiBzdGVwMChub2RlKQorICAgIHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFs
dWF0ZUluUGFnZSgicmVtb3ZlUnVsZSgpIiwgc3RlcDEpOworICAgIH0KKworICAgIGZ1bmN0aW9u
IHN0ZXAxKCkKKyAgICB7CisgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJCZWZvcmUg
ZGlzYWJsZSIpOworICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBTZWxlY3RlZEVsZW1lbnRTdHls
ZXModHJ1ZSk7CisgICAgICAgIEluc3BlY3RvclRlc3QudG9nZ2xlTWF0Y2hlZFN0eWxlUHJvcGVy
dHkoImZvbnQtd2VpZ2h0IiwgZmFsc2UpOworICAgICAgICBJbnNwZWN0b3JUZXN0LnJ1bkFmdGVy
UGVuZGluZ0Rpc3BhdGNoZXMoc3RlcDIpOworICAgIH0KKworICAgIGZ1bmN0aW9uIHN0ZXAyKCkK
KyAgICB7CisgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJQQVNTOiBObyBjcmFzaCIp
OworICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOworICAgIH0KK30KKzwvc2Ny
aXB0PgorPC9oZWFkPgorCis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Cis8cD4KK1Rlc3RzIHRo
YXQgZGlzYWJsaW5nIHN0eWxlIHByb3BlcnR5IGFmdGVyIHRoZSBzdHlsZSBydWxlIGhhcyBiZWVu
IHJlbW92ZWQgZG9lcyBub3QgY3Jhc2ggdGhlIGluc3BlY3RlZCBwYWdlLgorPC9wPgorCis8ZGl2
IGlkPSJjb250YWluZXIiPgorPC9kaXY+CisKKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvcmVzb3VyY2VzL2Zyb21jc3Mu
cG5nIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy9yZXNvdXJjZXMvZnJv
bWNzcy5wbmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMTQ0MjY4NTM3YTdiODM1OGY1NmI2YjljZmQwY2ZiZjkyZDcz
NTYyOApHSVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwgMTQ0CnpjbWVBU0BOPyhvbEh5YHVWQnEhaWEw
dnBeZjxWbTghMn40NW9JVkJzRGI1MHEkWVArRkZiRmQ7JSRnJHM2bTtAKgp6YVNZTHptXnxhO2Zl
LVV0NHA+WlA8aHUwbGY0VHluIVdWKHshbTwyQFJ2VFgqVHJXSWRGMipYLUJkRkooendaQm4KbipO
U1IpMWdianY8OzVuMkk1Uk11VGpRTzxIS0ZNQCZAPXs1UzNqM15QNjxyXytmRkt3CgpsaXRlcmFs
IDAKSGNtVj9kMDAwMDEKCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xl
dGUvc3R5bGVzL3Jlc291cmNlcy9nZXQtc2V0LXN0eWxlc2hlZXQtdGV4dC5jc3MgYi9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVzL3Jlc291cmNlcy9nZXQtc2V0LXN0eWxlc2hl
ZXQtdGV4dC5jc3MKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZWUyNmRlODdjM2UzZjNhNDhmZTQwZmI5ZGU4Y2QzMmNm
ZmI5ZjdlOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0
ZS9zdHlsZXMvcmVzb3VyY2VzL2dldC1zZXQtc3R5bGVzaGVldC10ZXh0LmNzcwpAQCAtMCwwICsx
LDE4IEBACitib2R5IHsKKyAgICBmb250LXNpemU6IDEycHg7CisgICAgZm9vOiBiYXIgIQorCisg
ICAgaW1wb3J0YW50IC8qICFpbXBvcnRhbnQgcHJvcGVydHkgbm90IHJlY29nbml6ZWQgYnkgV2Vi
Q29yZSAqLzsKKyAgICBoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDsKKyAgICBjb2xvcno6ICIhaW1w
b3J0YW50IjsKKyAgICBpbXBvcnRhbnQ6IWltcG9ydGFudDsKKyAgICBjb2xvcjogImJhZGNvbG9y
IiAhIGltcG9ydGFudCAvKiBnb29kIHByb3BlcnR5IHdpdGggc3RyYW5nZSB2YWx1ZSAqLzsKK30K
KworQG1lZGlhIHsKKyAgICAvKiBAbWVkaWEgcnVsZSB3aXRoIGFuIGVtcHR5IG1lZGlhIGxpc3Qg
Ki8KK30KKworLyogY29tbWVudCBiZWZvcmUgc2VsZWN0b3IgKi9ib2R5Lm1haW4xLyogY29tbWVu
dCBhZnRlciBzZWxlY3RvciAqL3svKiBjb21tZW50ICovY29sb3I6ICNGMDBCQUE7em9vOm1vbyAv
KiBub3QgYW4gIWltcG9ydGFudCB1bnJlY29nbml6ZWQgcHJvcGVydHkgKi99LyogY29tbWVudCAq
LworCitib2R5Lm1haW4ye2JhY2tncm91bmQ6IGdyZWVuIC8qIHZhbHVlICFpbXBvcnRhbnQgY29t
bWVudCAqLyAhaW1wb3J0YW50IC8qIG5vIHNlbWljb2xvbiwgdmVyeSAhaW1wb3J0YW50ICovfQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy9yZXNvdXJj
ZXMvaWZyYW1lZC5wbmcgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVzL3Jl
c291cmNlcy9pZnJhbWVkLnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xNDQyNjg1MzdhN2I4MzU4ZjU2YjZiOWNm
ZDBjZmJmOTJkNzM1NjI4CkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCAxNDQKemNtZUFTQE4/KG9s
SHlgdVZCcSFpYTB2cF5mPFZtOCEyfjQ1b0lWQnNEYjUwcSRZUCtGRmJGZDslJGckczZtO0AqCnph
U1lMem1efGE7ZmUtVXQ0cD5aUDxodTBsZjRUeW4hV1YoeyFtPDJAUnZUWCpUcldJZEYyKlgtQmRG
Sih6d1pCbgpuKk5TUikxZ2Jqdjw7NW4ySTVSTXVUalFPPEhLRk1AJkA9ezVTM2ozXlA2PHJfK2ZG
S3cKCmxpdGVyYWwgMApIY21WP2QwMDAwMQoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci1vYnNvbGV0ZS9zdHlsZXMvcmVzb3VyY2VzL2ltcG9ydC1wc2V1ZG9jbGFzcy1jcmFzaC1l
bXB0eS5jc3MgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVzL3Jlc291cmNl
cy9pbXBvcnQtcHNldWRvY2xhc3MtY3Jhc2gtZW1wdHkuY3NzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU2OWRlMjli
YjJkMWQ2NDM0YjhiMjlhZTc3NWFkOGMyZTQ4YzUzOTEKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2luc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvcmVzb3VyY2VzL2ltcG9ydC1wc2V1ZG9jbGFzcy1j
cmFzaC5jc3MgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVzL3Jlc291cmNl
cy9pbXBvcnQtcHNldWRvY2xhc3MtY3Jhc2guY3NzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NTY0ZGMwZDhiZDA0
MTBlZmRhMTI5MTlhN2RiODEwNTZmMzM0ZWEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9pbnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVzL3Jlc291cmNlcy9pbXBvcnQtcHNldWRvY2xhc3Mt
Y3Jhc2guY3NzCkBAIC0wLDAgKzEsNSBAQAorQGltcG9ydCB1cmwoImltcG9ydC1wc2V1ZG9jbGFz
cy1jcmFzaC1lbXB0eS5jc3MiKTsKKworOmxhc3QtY2hpbGQgeworICBjb2xvcjogIzAwMDsKK30K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvcmVzb3Vy
Y2VzL2luamVjdC1zdHlsZXNoZWV0LWlmcmFtZS1kYXRhLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3Itb2Jzb2xldGUvc3R5bGVzL3Jlc291cmNlcy9pbmplY3Qtc3R5bGVzaGVldC1pZnJhbWUt
ZGF0YS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjVmM2U3ZTYyNGMwODMwMjFhOWVjMTNjNWYwNzFiMTY1MzFk
N2Q5MjIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUv
c3R5bGVzL3Jlc291cmNlcy9pbmplY3Qtc3R5bGVzaGVldC1pZnJhbWUtZGF0YS5odG1sCkBAIC0w
LDAgKzEsMTcgQEAKKzxodG1sPgorPGhlYWQ+Cis8c3R5bGUgdHlwZT0idGV4dC9jc3MiIG1lZGlh
PSJzY3JlZW4iPgorICBib2R5IHsgYmFja2dyb3VuZDpncmVlbjsgfQorPC9zdHlsZT4KKzxzY3Jp
cHQ+CitmdW5jdGlvbiBpZnJhbWVPbmxvYWQoKQoreworICAgIGNvbnNvbGUubG9nKCJpZnJhbWUg
bG9hZGVkIik7Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKworPGJvZHkgb25sb2FkPSJpZnJhbWVP
bmxvYWQoKSIgaWQ9ImlmcmFtZUJvZHkiPgorPC9ib2R5PgorCis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVzL3Jlc291cmNlcy9tZWRpYS1x
dWVyaWVzLTEuY3NzIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy9yZXNv
dXJjZXMvbWVkaWEtcXVlcmllcy0xLmNzcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jMTY4YzliMTM4MmY5YTlmMmJm
MzU5NTY3YzE0N2E1ODZhMTc5ODRlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yLW9ic29sZXRlL3N0eWxlcy9yZXNvdXJjZXMvbWVkaWEtcXVlcmllcy0xLmNzcwpAQCAt
MCwwICsxLDcgQEAKK2JvZHkgeworICAgIG1hcmdpbjogMDsKK30KKworQG1lZGlhIG5vdCBhdXJh
bCB7CisgICAgI21haW4geyBib3JkZXI6IDFweCBzb2xpZCBibGFjazsgfQorfQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy9yZXNvdXJjZXMvbWVkaWEt
cXVlcmllcy5jc3MgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVzL3Jlc291
cmNlcy9tZWRpYS1xdWVyaWVzLmNzcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40NTM0NDljMWZhZmJiMzcyNzVlYzc5
ODNkZGNjZTUyY2Q2Zjg5NzM5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yLW9ic29sZXRlL3N0eWxlcy9yZXNvdXJjZXMvbWVkaWEtcXVlcmllcy5jc3MKQEAgLTAsMCAr
MSw3IEBACisKKworQGltcG9ydCB1cmwobWVkaWEtcXVlcmllcy0xLmNzcykgc2NyZWVuOworCitA
bWVkaWEgc2NyZWVuIHsKKyAgICAjbWFpbiB7IGNvbG9yOiB5ZWxsb3c7IH0KK30KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvcmVzb3VyY2VzL3BhcnNl
LXV0ZjgtYm9tLW1haW4uY3NzIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxl
cy9yZXNvdXJjZXMvcGFyc2UtdXRmOC1ib20tbWFpbi5jc3MKbmV3IGZpbGUgbW9kZSAxMDA3NTUK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGIxOTQ4NWIz
N2UyNDEyYTA3MDZhZjFhNDEwMjU4NDVlZTg1MmM2ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvcmVzb3VyY2VzL3BhcnNlLXV0ZjgtYm9t
LW1haW4uY3NzCkBAIC0wLDAgKzEsOSBAQAor77u/QGltcG9ydCAnLi9wYXJzZS11dGY4LWJvbS1y
ZXNldC5jc3MnOworCitoMSB7CisgICAgY29sb3I6IHJlZDsKK30KKworaDIgeworICAgIGNvbG9y
OiBibHVlOworfQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvcmVzb3VyY2VzL3BhcnNlLXV0ZjgtYm9t
LXJlc2V0LmNzcyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvcmVzb3Vy
Y2VzL3BhcnNlLXV0ZjgtYm9tLXJlc2V0LmNzcwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41ZjI4MjcwMmJiMDNlZjEx
ZDcxODRkMTljODA5MjdiNDdmOTE5NzY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy9yZXNvdXJjZXMvcGFyc2UtdXRmOC1ib20tcmVzZXQu
Y3NzCkBAIC0wLDAgKzEgQEAKK++7vwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvcmVzb3VyY2VzL3Nl
bGVjdG9yLWxpbmUuY3NzIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy9y
ZXNvdXJjZXMvc2VsZWN0b3ItbGluZS5jc3MKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzExNWIyNTIyYjQ1OWZmMzI4
NGIyZGM0Njc0MzdiYTlhODBkNDI2NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lu
c3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvcmVzb3VyY2VzL3NlbGVjdG9yLWxpbmUuY3NzCkBAIC0w
LDAgKzEsNiBAQAorI2NvbnRhaW5lciB7CisgIGJhY2tncm91bmQ6IHBhcGF5YXdoaXA7IH0KKyAg
I2NvbnRhaW5lciAjaW5zcGVjdGVkIHsKKyAgICBjb2xvcjogZ3JlZW47IH0KKworLypAIHNvdXJj
ZU1hcHBpbmdVUkw9c2VsZWN0b3ItbGluZS5jc3MubWFwICovClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxl
cy9yZXNvdXJjZXMvc2VsZWN0b3ItbGluZS5jc3MubWFwIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
LW9ic29sZXRlL3N0eWxlcy9yZXNvdXJjZXMvc2VsZWN0b3ItbGluZS5jc3MubWFwCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmRiZjI3NTg2ODY2ZTUwYjVhM2E5ZjIwZjc1NTk0NTZmNjZmYWIyNTEKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVzL3Jlc291cmNlcy9z
ZWxlY3Rvci1saW5lLmNzcy5tYXAKQEAgLTAsMCArMSw2IEBACit7CisidmVyc2lvbiI6ICIzIiwK
KyJtYXBwaW5ncyI6ICJBQUFBLFVBQVc7RUFDUCxVQUFVLEVBQUUsVUFBVTtFQUV0QixxQkFBVztJ
QUNQLEtBQUssRUFBRSxLQUFLIiwKKyJzb3VyY2VzIjogWyJzZWxlY3Rvci1saW5lLnNjc3MiXSwK
KyJmaWxlIjogInNlbGVjdG9yLWxpbmUuY3NzIgorfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy9yZXNvdXJjZXMvc2VsZWN0b3ItbGluZS5zY3NzIGIv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy9yZXNvdXJjZXMvc2VsZWN0b3It
bGluZS5zY3NzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjVjNzRkMzVkMjliMTY4YTk0NWI3ZjlhZjI4YTdhOTNiYjdl
Zjk5MGUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUv
c3R5bGVzL3Jlc291cmNlcy9zZWxlY3Rvci1saW5lLnNjc3MKQEAgLTAsMCArMSw3IEBACisjY29u
dGFpbmVyIHsKKyAgICBiYWNrZ3JvdW5kOiBwYXBheWF3aGlwOworCisgICAgI2luc3BlY3RlZCB7
CisgICAgICAgIGNvbG9yOiBncmVlbjsKKyAgICB9Cit9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVzL3Jlc291cmNlcy9zdHlsZXMtaGlzdG9yeS5jc3Mg
Yi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVzL3Jlc291cmNlcy9zdHlsZXMt
aGlzdG9yeS5jc3MKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTZlYTZmNzk3NmI4N2FiOGU2ZmEwY2Q3ZTJiNzhlZmI1
YzgwZjU4YQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0
ZS9zdHlsZXMvcmVzb3VyY2VzL3N0eWxlcy1oaXN0b3J5LmNzcwpAQCAtMCwwICsxLDQgQEAKK2Jv
ZHkgeworICBtYXJnaW46IDEwcHg7CisgIHBhZGRpbmc6IDEwcHg7Cit9CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVzL3Jlc291cmNlcy9zdHlsZXMtaWZy
YW1lLWRhdGEuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvcmVz
b3VyY2VzL3N0eWxlcy1pZnJhbWUtZGF0YS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjVmM2U3ZTYyNGMwODMw
MjFhOWVjMTNjNWYwNzFiMTY1MzFkN2Q5MjIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9pbnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVzL3Jlc291cmNlcy9zdHlsZXMtaWZyYW1lLWRhdGEu
aHRtbApAQCAtMCwwICsxLDE3IEBACis8aHRtbD4KKzxoZWFkPgorPHN0eWxlIHR5cGU9InRleHQv
Y3NzIiBtZWRpYT0ic2NyZWVuIj4KKyAgYm9keSB7IGJhY2tncm91bmQ6Z3JlZW47IH0KKzwvc3R5
bGU+Cis8c2NyaXB0PgorZnVuY3Rpb24gaWZyYW1lT25sb2FkKCkKK3sKKyAgICBjb25zb2xlLmxv
ZygiaWZyYW1lIGxvYWRlZCIpOworfQorPC9zY3JpcHQ+Cis8L2hlYWQ+CisKKzxib2R5IG9ubG9h
ZD0iaWZyYW1lT25sb2FkKCkiIGlkPSJpZnJhbWVCb2R5Ij4KKzwvYm9keT4KKworPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy9yZXNvdXJj
ZXMvc3R5bGVzLW5ldy1BUEktMS5jc3MgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUv
c3R5bGVzL3Jlc291cmNlcy9zdHlsZXMtbmV3LUFQSS0xLmNzcwpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMTU0Njcw
ZjNkOTRiNmM2ODU0MTExOTU1OTgyNTIxZGJlMGI3ZjFkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy9yZXNvdXJjZXMvc3R5bGVzLW5ldy1B
UEktMS5jc3MKQEAgLTAsMCArMSwyNSBAQAorQGltcG9ydCB1cmwoc3R5bGVzLW5ldy1BUEktMi5j
c3MpOworCitAcGFnZSB7IG1hcmdpbjogMmNtIH0gLyogQWxsIG1hcmdpbnMgc2V0IHRvIDJjbSAq
LworCitAcGFnZSA6Zmlyc3QgeworICBtYXJnaW4tdG9wOiAxMGNtICAgIC8qIFRvcCBtYXJnaW4g
b24gZmlyc3QgcGFnZSAxMGNtICovCit9CisKK0BtZWRpYSBzY3JlZW4geworCisjYWJzZW50LWlk
IHsKK30KKworQGZvbnQtZmFjZSB7CisgICAgZm9udC1mYW1pbHk6ICdUaGVGb250JzsKKyAgICBz
cmM6IHVybCgnZm9udC51cmwnKTsKKyAgICBmb250LXdlaWdodDogbm9ybWFsOworICAgIGZvbnQt
c3R5bGU6IG5vcm1hbDsKK30KKworYm9keSB7CisgICAgcHJvcGVydHk6IGltcG9ydGVkLW1lZGlh
LXNjcmVlbi1zdHlsZXNoZWV0OworfQorCit9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3Itb2Jzb2xldGUvc3R5bGVzL3Jlc291cmNlcy9zdHlsZXMtbmV3LUFQSS0yLmNzcyBiL0xh
eW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvcmVzb3VyY2VzL3N0eWxlcy1uZXct
QVBJLTIuY3NzCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ4ODJlMDdhOGIxNDUxMjAwN2UxNTAzZDE5ZDEwNGU3OWYz
MWFjZWEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUv
c3R5bGVzL3Jlc291cmNlcy9zdHlsZXMtbmV3LUFQSS0yLmNzcwpAQCAtMCwwICsxLDI1IEBACitA
aW1wb3J0IHVybChzdHlsZXMtbmV3LUFQSS0xLmNzcyk7CisKK0BwYWdlIHsgbWFyZ2luOiAyY20g
fSAvKiBBbGwgbWFyZ2lucyBzZXQgdG8gMmNtICovCisKK0BwYWdlIDpmaXJzdCB7CisgIG1hcmdp
bi10b3A6IDEwY20gICAgLyogVG9wIG1hcmdpbiBvbiBmaXJzdCBwYWdlIDEwY20gKi8KK30KKwor
QG1lZGlhIHNjcmVlbiB7CisKKyNhYnNlbnQtaWQgeworfQorCitAZm9udC1mYWNlIHsKKyAgICBm
b250LWZhbWlseTogJ1RoZUZvbnQnOworICAgIHNyYzogdXJsKCdmb250LnVybCcpOworICAgIGZv
bnQtd2VpZ2h0OiBub3JtYWw7CisgICAgZm9udC1zdHlsZTogbm9ybWFsOworfQorCitib2R5IHsK
KyAgICBwcm9wZXJ0eTogaW1wb3J0ZWQtbWVkaWEtc2NyZWVuLXN0eWxlc2hlZXQ7Cit9CisKK30K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvcmVzb3Vy
Y2VzL3N0eWxlcy1uZXctQVBJLmNzcyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9z
dHlsZXMvcmVzb3VyY2VzL3N0eWxlcy1uZXctQVBJLmNzcwpuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iMDFkMTAyNjZk
MjVhMGY0YzI2YzUyMGNkMDc0YWVkNjhlYzI5MDkxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy9yZXNvdXJjZXMvc3R5bGVzLW5ldy1BUEku
Y3NzCkBAIC0wLDAgKzEsMzMgQEAKK0BjaGFyc2V0ICJVVEYtOCI7CisKK0BpbXBvcnQgdXJsKCJz
dHlsZXMtbmV3LUFQSS0xLmNzcyIpOworCitodG1sIHsKKyAgICBmb250LXdlaWdodDogNDAwOwor
fQorCitAbWVkaWEgc2NyZWVuIHsKK2JvZHkgeworICAgIGZvbnQtc2l6ZTogMTJweDsKKyAgICBm
b286IGJhciAhCisKKyAgICBpbXBvcnRhbnQgLyogIWltcG9ydGFudCBwcm9wZXJ0eSBub3QgcmVj
b2duaXplZCBieSBXZWJDb3JlICovOworICAgIGhlaWdodDogMTAwJSAhaW1wb3J0YW50OworICAg
IGNvbG9yejogIiFpbXBvcnRhbnQiOworICAgIGltcG9ydGFudDohaW1wb3J0YW50OworICAgIGNv
bG9yOiB5ZWxsb3c7CisgICAgY29sb3I6ICJiYWRjb2xvciIgISBpbXBvcnRhbnQgLyogZ29vZCBw
cm9wZXJ0eSB3aXRoIHN0cmFuZ2UgdmFsdWUgKi87Cit9CisKKy8qIGNvbW1lbnQgYmVmb3JlIHNl
bGVjdG9yICovYm9keS5tYWluMS8qIGNvbW1lbnQgYWZ0ZXIgc2VsZWN0b3IgKi97LyogY29tbWVu
dCAqL2NvbG9yOiAjRjAwQkFBO3pvbzptb28gLyogbm90IGFuICFpbXBvcnRhbnQgdW5yZWNvZ25p
emVkIHByb3BlcnR5ICovfS8qIGNvbW1lbnQgKi8KKworYm9keS5tYWluMntiYWNrZ3JvdW5kOiBn
cmVlbiAvKiB2YWx1ZSAhaW1wb3J0YW50IGNvbW1lbnQgKi8gIWltcG9ydGFudCAvKiBubyBzZW1p
Y29sb24sIHZlcnkgIWltcG9ydGFudCAqL30KK30KKworYm9keTo6YWZ0ZXIgIHsKKyAgICBjb250
ZW50OiAiQWZ0ZXIgYm9keSI7Cit9CisKK2gxIHsKKyAgICBoZWlnaHQgOiAxMDAlIDsgYm9yZGVy
OiAxcHggc29saWQ7IGJvcmRlci13aWR0aDogMnB4OyBiYWNrZ3JvdW5kLWNvbG9yIDogIzMzRkYz
MzsgZ29vZ2xlczogYWJyYTsgZm9vOiAuYmFyOyAtbW96LWdvb2c6IDEqKio7IGJvcmRlci13aWR0
aDogMHB4OworfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3N0
eWxlcy9yZXNvdXJjZXMvc3R5bGVzLXNvdXJjZS1saW5lcy1pbmxpbmUtaWZyYW1lLmh0bWwgYi9M
YXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVzL3Jlc291cmNlcy9zdHlsZXMtc291
cmNlLWxpbmVzLWlubGluZS1pZnJhbWUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jNjczOGNiZmZlZTVmMmNm
ODA0ZWRkNTFjYWRiZmE5YzgyOTA2NjBmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy9yZXNvdXJjZXMvc3R5bGVzLXNvdXJjZS1saW5lcy1p
bmxpbmUtaWZyYW1lLmh0bWwKQEAgLTAsMCArMSwyMCBAQAorPGh0bWw+Cis8aGVhZD4KKzxzdHls
ZT4KKy5iYXIgeworICAgIGNvbG9yOiByZWQ7Cit9Cis8L3N0eWxlPgorPHNjcmlwdD4KK2Z1bmN0
aW9uIGlmcmFtZU9ubG9hZCgpCit7CisgICAgd2luZG93LnBhcmVudC5pZnJhbWVMb2FkZWQgPSB0
cnVlOworfQorPC9zY3JpcHQ+Cis8L2hlYWQ+CisKKzxib2R5IG9ubG9hZD0iaWZyYW1lT25sb2Fk
KCkiPgorPGRpdiBpZD0iYmFyIiBjbGFzcz0iYmFyIj5CYXI8L2Rpdj4KKzwvYm9keT4KKworPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy9y
ZXNvdXJjZXMvc3R5bGVzLXNvdXJjZS1vZmZzZXRzLmNzcyBiL0xheW91dFRlc3RzL2luc3BlY3Rv
ci1vYnNvbGV0ZS9zdHlsZXMvcmVzb3VyY2VzL3N0eWxlcy1zb3VyY2Utb2Zmc2V0cy5jc3MKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNDUyMTBlM2ZiZWFmZjUyN2M1ZGQ3MjAxOWI1NzU3YWE1OTM4NDNiNgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvcmVzb3Vy
Y2VzL3N0eWxlcy1zb3VyY2Utb2Zmc2V0cy5jc3MKQEAgLTAsMCArMSwxNCBAQAorYm9keSB7Cisg
ICAgZm9udC1zaXplOiAxMnB4OworICAgIGZvbzogYmFyICEKKworICAgIGltcG9ydGFudCAvKiAh
aW1wb3J0YW50IHByb3BlcnR5IG5vdCByZWNvZ25pemVkIGJ5IFdlYkNvcmUgKi87CisgICAgaGVp
Z2h0OiAxMDAlICFpbXBvcnRhbnQ7CisgICAgY29sb3J6OiAiIWltcG9ydGFudCI7CisgICAgaW1w
b3J0YW50OiFpbXBvcnRhbnQ7CisgICAgY29sb3I6ICJiYWRjb2xvciIgISBpbXBvcnRhbnQgLyog
Z29vZCBwcm9wZXJ0eSB3aXRoIHN0cmFuZ2UgdmFsdWUgKi87Cit9CisKKy8qIGNvbW1lbnQgYmVm
b3JlIHNlbGVjdG9yICovYm9keS5tYWluMS8qIGNvbW1lbnQgYWZ0ZXIgc2VsZWN0b3IgKi97Lyog
Y29tbWVudCAqL2NvbG9yOiAjRjAwQkFBO3pvbzptb28gLyogbm90IGFuICFpbXBvcnRhbnQgdW5y
ZWNvZ25pemVkIHByb3BlcnR5ICovfS8qIGNvbW1lbnQgKi8KKworYm9keS5tYWluMntiYWNrZ3Jv
dW5kOiBncmVlbiAvKiB2YWx1ZSAhaW1wb3J0YW50IGNvbW1lbnQgKi8gIWltcG9ydGFudCAvKiBu
byBzZW1pY29sb24sIHZlcnkgIWltcG9ydGFudCAqL30KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2luc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvcmVzb3VyY2VzL3N0eWxlcy11cmwtbGlua2lmeS1p
ZnJhbWUuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvcmVzb3Vy
Y2VzL3N0eWxlcy11cmwtbGlua2lmeS1pZnJhbWUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wODU4ZTRkMGNl
NWEyYzdmYjlhM2Y4ZWRjYTk3Nzc2YWU5MjNlNzM4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy9yZXNvdXJjZXMvc3R5bGVzLXVybC1saW5r
aWZ5LWlmcmFtZS5odG1sCkBAIC0wLDAgKzEsMjAgQEAKKzxodG1sPgorPGhlYWQ+Cis8c3R5bGU+
CisjaWZyYW1lZCB7CisgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCBpZnJhbWVkLnBuZyApOwor
fQorPC9zdHlsZT4KKzxzY3JpcHQ+CitmdW5jdGlvbiBpZnJhbWVPbmxvYWQoKQoreworICAgIHdp
bmRvdy5wYXJlbnQuaWZyYW1lTG9hZGVkID0gdHJ1ZTsKK30KKzwvc2NyaXB0PgorPC9oZWFkPgor
Cis8Ym9keSBvbmxvYWQ9ImlmcmFtZU9ubG9hZCgpIj4KKzxkaXYgaWQ9ImlmcmFtZWQiPjwvZGl2
PgorPC9ib2R5PgorCis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3It
b2Jzb2xldGUvc3R5bGVzL3Jlc291cmNlcy9zdHlsZXMtdXJsLWxpbmtpZnkuY3NzIGIvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy9yZXNvdXJjZXMvc3R5bGVzLXVybC1saW5r
aWZ5LmNzcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mYmNlNmI1ZjFiNDdjOGY4ZGI5MTk2ZTFiZTI0NWEzMDk4ZGEz
NDU5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3N0
eWxlcy9yZXNvdXJjZXMvc3R5bGVzLXVybC1saW5raWZ5LmNzcwpAQCAtMCwwICsxLDMgQEAKKyNs
b2NhbCB7CisgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCAgJ2Zyb21jc3MucG5nJyApOworfQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy9zZWxlY3Rv
ci1saXN0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9zdHls
ZXMvc2VsZWN0b3ItbGlzdC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTBlMDZhZjI2ZDM4MmVi
YzY3YzNmMTY2YWFlYWNlOGNkYzhkOGFjZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2luc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvc2VsZWN0b3ItbGlzdC1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzMCBAQAorVGVzdHMgcmVwcmVzZW50YXRpb24gb2Ygc2VsZWN0b3IgbGlzdHMgaW4g
dGhlIHByb3RvY29sLiBCdWcgMTAzMTE4LgorCitUZXh0CitbZXhwYW5kZWRdIAorZWxlbWVudC5z
dHlsZSAgeyAoKQorCis9PT09PT09PSBNYXRjaGVkIENTUyBSdWxlcyA9PT09PT09PQorW2V4cGFu
ZGVkXSAKK0ZPTyBiQXIsICNpbnNwZWN0ZWQsIE1PTz5CQVIsIGh0TUwgZGl2LCBGb29+TW9vLCBN
T08gIHsgKHNlbGVjdG9yLWxpc3QuaHRtbDoxOSkKK2NvbG9yOiBncmVlbjsKKworW2V4cGFuZGVk
XSAKKyNpbnNwZWN0ZWQgIHsgKHNlbGVjdG9yLWxpc3QuaHRtbDoxMCkKKworW2V4cGFuZGVkXSAK
KyNJblNwRWNUZUQgIHsgKHNlbGVjdG9yLWxpc3QuaHRtbDo3KQorCitbZXhwYW5kZWRdIAorI2lu
c3BlY3RlZCAgeyAoc2VsZWN0b3ItbGlzdC5odG1sOjQpCisKK1tleHBhbmRlZF0gCitGT08gYkFy
LCAjaW5zcGVjdGVkLCBNT08+QkFSLCBodE1MIGRpdiwgRm9vfk1vbywgTU9PICB7IChzZWxlY3Rv
ci1saXN0Lmh0bWw6MTkpCisvLS0gb3ZlcmxvYWRlZCAtLS8gY29sb3I6IGdyZWVuOworCitbZXhw
YW5kZWRdIAorZGl2ICB7ICh1c2VyIGFnZW50IHN0eWxlc2hlZXQpCitkaXNwbGF5OiBibG9jazsK
KworCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMv
c2VsZWN0b3ItbGlzdC5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxl
cy9zZWxlY3Rvci1saXN0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTVmZWM2NjVlNWFkOTc3Njg0NTAyMzIx
OGM5Yjk1ZDdkMGRlNGI3MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rv
ci1vYnNvbGV0ZS9zdHlsZXMvc2VsZWN0b3ItbGlzdC5odG1sCkBAIC0wLDAgKzEsNTEgQEAKKzxo
dG1sPgorPGhlYWQ+Cis8c3R5bGU+CisjaW5zcGVjdGVkeworfQorCisjSW5TcEVjVGVEIHsKK30K
KworLyogKi8jaW5zcGVjdGVkLyogKi8geworfQorCisvKiAKKyAqLyBGT08vKlNpbmdsZS1saW5l
IDEqLyBiQXIsLyogU2luZ2xlLWxpbmUgMiovI2luc3BlY3RlZC8qCisgICAgTXVsdGlsaW5lIGNv
bW1lbnQKKyovICxNT08+QkFSLCAvKjEqL2h0TUwgLyoyCisqL2Rpdi8qMyovLC8qKi9Gb29+Lyoq
QyovTW9vLC8qKi9NT08gLyogQ29tbWVudAorICovIAoreworICBjb2xvcjogZ3JlZW47Cit9CisK
Kzwvc3R5bGU+Cis8c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVj
dG9yLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5z
cGVjdG9yL2VsZW1lbnRzLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKworZnVuY3Rpb24g
dGVzdCgpCit7CisgICAgV2ViSW5zcGVjdG9yLnNob3dQYW5lbCgiZWxlbWVudHMiKTsKKyAgICBJ
bnNwZWN0b3JUZXN0LnNlbGVjdE5vZGVBbmRXYWl0Rm9yU3R5bGVzKCJpbnNwZWN0ZWQiLCBzdGVw
MSk7CisKKyAgICBmdW5jdGlvbiBzdGVwMSgpCisgICAgeworICAgICAgICBJbnNwZWN0b3JUZXN0
LmR1bXBTZWxlY3RlZEVsZW1lbnRTdHlsZXModHJ1ZSk7CisgICAgICAgIEluc3BlY3RvclRlc3Qu
Y29tcGxldGVUZXN0KCk7CisgICAgfQorfQorCis8L3NjcmlwdD4KKzwvaGVhZD4KKworPGJvZHkg
b25sb2FkPSJydW5UZXN0KCkiPgorPHA+CitUZXN0cyByZXByZXNlbnRhdGlvbiBvZiBzZWxlY3Rv
ciBsaXN0cyBpbiB0aGUgcHJvdG9jb2wuIDxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xMDMxMTgiPkJ1ZyAxMDMxMTg8L2E+LgorPC9wPgorCis8ZGl2IGlk
PSJpbnNwZWN0ZWQiPlRleHQ8L2Rpdj4KKworPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy9zZXQtcHJvcGVydHktYm91bmRh
cmllcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVz
L3NldC1wcm9wZXJ0eS1ib3VuZGFyaWVzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hZDc2NTBl
ODBjOWQzODllYjc2ZDYzNWUzMzRhY2FiODczMDJjNDk5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy9zZXQtcHJvcGVydHktYm91bmRhcmll
cy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUZXN0cyB0aGF0IHNldHRpbmcgQ1NTIHBy
b3BlcnR5IHRleHQgb3V0IG9mIGJvdW5kYXJpZXMgZG9lcyBub3QgY3Jhc2guCisKK2NvbG9yOiBy
ZWQ7CitJbmRleFNpemVFcnJvcgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3It
b2Jzb2xldGUvc3R5bGVzL3NldC1wcm9wZXJ0eS1ib3VuZGFyaWVzLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVzL3NldC1wcm9wZXJ0eS1ib3VuZGFyaWVzLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZDU2YTE1ZTQ0NTUxNmE0Mjk5NTFiMjVhZGI4MTQ5N2UwY2YyNmM4OAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvc2V0
LXByb3BlcnR5LWJvdW5kYXJpZXMuaHRtbApAQCAtMCwwICsxLDY0IEBACis8aHRtbD4KKzxoZWFk
PgorCis8c3R5bGU+CitoMSB7CisgICAgY29sb3I6IHJlZDsKK30KKzwvc3R5bGU+CisKKzxzY3Jp
cHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMt
dGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorCitmdW5jdGlvbiB0ZXN0KCkKK3sKKyAgICBX
ZWJJbnNwZWN0b3Iuc2hvd1BhbmVsKCJlbGVtZW50cyIpOworICAgIENTU0FnZW50LmdldEFsbFN0
eWxlU2hlZXRzKHN0eWxlU2hlZXRJbmZvc0xvYWRlZCk7CisKKyAgICBmdW5jdGlvbiBzdHlsZVNo
ZWV0SW5mb3NMb2FkZWQoZXJyb3IsIGluZm9zKQorICAgIHsKKyAgICAgICAgaWYgKGVycm9yKSB7
CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiZXJyb3I6ICIgKyBlcnJvcik7
CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOworICAgICAgICAgICAg
cmV0dXJuOworICAgICAgICB9CisKKyAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBpbmZvcy5s
ZW5ndGg7ICsraSkKKyAgICAgICAgICAgIENTU0FnZW50LmdldFN0eWxlU2hlZXQoaW5mb3NbaV0u
c3R5bGVTaGVldElkLCBzdHlsZVNoZWV0TG9hZGVkKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBz
dHlsZVNoZWV0TG9hZGVkKGVycm9yLCBzdHlsZVNoZWV0KQorICAgIHsKKyAgICAgICAgaWYgKGVy
cm9yKSB7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiZXJyb3I6ICIgKyBl
cnJvcik7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOworICAgICAg
ICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgICAgIGVkaXRSdWxlKHN0eWxlU2hlZXQucnVs
ZXNbMF0pOworICAgIH0KKworICAgIGZ1bmN0aW9uIGVkaXRSdWxlKHJ1bGUpCisgICAgeworICAg
ICAgICB2YXIgc3R5bGUgPSBydWxlLnN0eWxlOworICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJl
c3VsdChzdHlsZS5jc3NQcm9wZXJ0aWVzWzBdLnRleHQpOworCisgICAgICAgIGNvbnN0IG91dE9m
Qk91bmRzUnVsZUluZGV4ID0gMTA7CisgICAgICAgIENTU0FnZW50LnNldFByb3BlcnR5VGV4dChz
dHlsZS5zdHlsZUlkLCBvdXRPZkJPdW5kc1J1bGVJbmRleCwgImNvbG9yOmJsdWU7IiwgdHJ1ZSwg
ZHVtcEVycm9yTWVzc2FnZSk7CisgICAgfQorCisgICAgZnVuY3Rpb24gZHVtcEVycm9yTWVzc2Fn
ZShlcnJvcikKKyAgICB7CisgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KGVycm9yKTsK
KyAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKKyAgICB9ICAgCit9Cis8L3Nj
cmlwdD4KKzwvaGVhZD4KKworPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgorPHA+CitUZXN0cyB0
aGF0IHNldHRpbmcgQ1NTIHByb3BlcnR5IHRleHQgb3V0IG9mIGJvdW5kYXJpZXMgZG9lcyBub3Qg
Y3Jhc2guCis8L3A+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVzL3N0eWxlcy1hZGQtYmxhbmstcHJvcGVydHktZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy9zdHlsZXMtYWRk
LWJsYW5rLXByb3BlcnR5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lM2RjMWZmYjZlMWI4OTUy
ODUzMzU2ZDAzNzBjN2Y4YzVkZWJmOWI4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy9zdHlsZXMtYWRkLWJsYW5rLXByb3BlcnR5LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDU2IEBACitUZXN0cyB0aGF0IGFkZGluZyBhIG5ldyBibGFuayBw
cm9wZXJ0eSB3b3Jrcy4KKworVGV4dAorQmVmb3JlIGFwcGVuZDoKK1tleHBhbmRlZF0gCitlbGVt
ZW50LnN0eWxlICB7ICgpCitmb250LXNpemU6IDEycHg7CisKKz09PT09PT09IE1hdGNoZWQgQ1NT
IFJ1bGVzID09PT09PT09CitbZXhwYW5kZWRdIAorZGl2ICB7ICh1c2VyIGFnZW50IHN0eWxlc2hl
ZXQpCitkaXNwbGF5OiBibG9jazsKKworCitBZnRlciBpbnNlcnRpb24gYXQgaW5kZXggMDoKK1tl
eHBhbmRlZF0gCitlbGVtZW50LnN0eWxlICB7ICgpCittYXJnaW4tbGVmdDogM3B4OworZm9udC1z
aXplOiAxMnB4OworCis9PT09PT09PSBNYXRjaGVkIENTUyBSdWxlcyA9PT09PT09PQorW2V4cGFu
ZGVkXSAKK2RpdiAgeyAodXNlciBhZ2VudCBzdHlsZXNoZWV0KQorZGlzcGxheTogYmxvY2s7CisK
KworQWZ0ZXIgYXBwZW5kaW5nIGFuZCBjaGFuZ2luZyBhICdjb21wb3VuZCcgcHJvcGVydHk6Citb
ZXhwYW5kZWRdIAorZWxlbWVudC5zdHlsZSAgeyAoKQorbWFyZ2luLWxlZnQ6IDNweDsKK2ZvbnQt
c2l6ZTogMTJweDsKK2NvbG9yOiByZWQ7Citmb250LXdlaWdodDogYm9sZDsKKworPT09PT09PT0g
TWF0Y2hlZCBDU1MgUnVsZXMgPT09PT09PT0KK1tleHBhbmRlZF0gCitkaXYgIHsgKHVzZXIgYWdl
bnQgc3R5bGVzaGVldCkKK2Rpc3BsYXk6IGJsb2NrOworCisKK0FmdGVyIGluc2VydGlvbiBhdCBp
bmRleCAyOgorW2V4cGFuZGVkXSAKK2VsZW1lbnQuc3R5bGUgIHsgKCkKK21hcmdpbi1sZWZ0OiAz
cHg7Citmb250LXNpemU6IDEycHg7CisvLS0gb3ZlcmxvYWRlZCAtLS8gdGhpcmQtcHJvcGVydHk6
IHRoaXJkLXZhbHVlOworY29sb3I6IHJlZDsKK2ZvbnQtd2VpZ2h0OiBib2xkOworCis9PT09PT09
PSBNYXRjaGVkIENTUyBSdWxlcyA9PT09PT09PQorW2V4cGFuZGVkXSAKK2RpdiAgeyAodXNlciBh
Z2VudCBzdHlsZXNoZWV0KQorZGlzcGxheTogYmxvY2s7CisKKworCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVzL3N0eWxlcy1hZGQtYmxhbmstcHJvcGVy
dHkuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvc3R5bGVzLWFk
ZC1ibGFuay1wcm9wZXJ0eS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE1OWM4YjA4NGJhNDdlNGM0NWJjMWZk
YzcwMzYwNDRmZDljNzg3MmEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0
b3Itb2Jzb2xldGUvc3R5bGVzL3N0eWxlcy1hZGQtYmxhbmstcHJvcGVydHkuaHRtbApAQCAtMCww
ICsxLDExNCBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3Rz
L2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0PgorCitmdW5jdGlvbiB0ZXN0KCkKK3sKKyAgICBXZWJJbnNwZWN0b3Iuc2hvd1BhbmVsKCJl
bGVtZW50cyIpOworICAgIEluc3BlY3RvclRlc3Quc2VsZWN0Tm9kZUFuZFdhaXRGb3JTdHlsZXMo
Imluc3BlY3RlZCIsIGFkZEFuZEluY3JlbWVudEZpcnN0UHJvcGVydHkpOworCisgICAgdmFyIHRy
ZWVFbGVtZW50OworICAgIHZhciBzZWN0aW9uOworCisgICAgZnVuY3Rpb24gYWRkQW5kSW5jcmVt
ZW50Rmlyc3RQcm9wZXJ0eSgpCisgICAgeworICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3Vs
dCgiQmVmb3JlIGFwcGVuZDoiKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wU2VsZWN0ZWRF
bGVtZW50U3R5bGVzKHRydWUpOworICAgICAgICBzZWN0aW9uID0gV2ViSW5zcGVjdG9yLnBhbmVs
cy5lbGVtZW50cy5zaWRlYmFyUGFuZXMuc3R5bGVzLnNlY3Rpb25zWzBdWzFdOworICAgICAgICBz
ZWN0aW9uLmV4cGFuZCgpOworCisgICAgICAgIC8vIENyZWF0ZSBhbmQgaW5jcmVtZW50LgorICAg
ICAgICB0cmVlRWxlbWVudCA9IHNlY3Rpb24uYWRkTmV3QmxhbmtQcm9wZXJ0eSgwKTsKKyAgICAg
ICAgdHJlZUVsZW1lbnQuc3RhcnRFZGl0aW5nKCk7CisgICAgICAgIHRyZWVFbGVtZW50Lm5hbWVF
bGVtZW50LnRleHRDb250ZW50ID0gIm1hcmdpbi1sZWZ0IjsKKyAgICAgICAgdHJlZUVsZW1lbnQu
bmFtZUVsZW1lbnQuZGlzcGF0Y2hFdmVudChJbnNwZWN0b3JUZXN0LmNyZWF0ZUtleUV2ZW50KCJF
bnRlciIpKTsKKworICAgICAgICB0cmVlRWxlbWVudC52YWx1ZUVsZW1lbnQudGV4dENvbnRlbnQg
PSAiMXB4IjsKKyAgICAgICAgdHJlZUVsZW1lbnQudmFsdWVFbGVtZW50LmZpcnN0Q2hpbGQuc2Vs
ZWN0KCk7CisgICAgICAgIHRyZWVFbGVtZW50LnZhbHVlRWxlbWVudC5kaXNwYXRjaEV2ZW50KElu
c3BlY3RvclRlc3QuY3JlYXRlS2V5RXZlbnQoIlVwIikpOworICAgICAgICBJbnNwZWN0b3JUZXN0
LnJ1bkFmdGVyUGVuZGluZ0Rpc3BhdGNoZXMoaW5jcmVtZW50UHJvcGVydHkpOworICAgIH0KKwor
ICAgIGZ1bmN0aW9uIGluY3JlbWVudFByb3BlcnR5KCkKKyAgICB7CisgICAgICAgIC8vIEluY3Jl
bWVudCBhZ2Fpbi4KKyAgICAgICAgdHJlZUVsZW1lbnQudmFsdWVFbGVtZW50LmRpc3BhdGNoRXZl
bnQoSW5zcGVjdG9yVGVzdC5jcmVhdGVLZXlFdmVudCgiVXAiKSk7CisgICAgICAgIEluc3BlY3Rv
clRlc3QucnVuQWZ0ZXJQZW5kaW5nRGlzcGF0Y2hlcyhjb21taXRQcm9wZXJ0eSk7CisgICAgfQor
CisgICAgZnVuY3Rpb24gY29tbWl0UHJvcGVydHkoKQorICAgIHsKKyAgICAgICAgLy8gQ29tbWl0
LgorICAgICAgICB0cmVlRWxlbWVudC5uYW1lRWxlbWVudC5kaXNwYXRjaEV2ZW50KEluc3BlY3Rv
clRlc3QuY3JlYXRlS2V5RXZlbnQoIkVudGVyIikpOworICAgICAgICByZWxvYWRTdHlsZXMoYWRk
QW5kQ2hhbmdlTGFzdENvbXBvdW5kUHJvcGVydHkpOworICAgIH0KKworICAgIGZ1bmN0aW9uIGFk
ZEFuZENoYW5nZUxhc3RDb21wb3VuZFByb3BlcnR5KCkKKyAgICB7CisgICAgICAgIEluc3BlY3Rv
clRlc3QuYWRkUmVzdWx0KCJBZnRlciBpbnNlcnRpb24gYXQgaW5kZXggMDoiKTsKKyAgICAgICAg
SW5zcGVjdG9yVGVzdC5kdW1wU2VsZWN0ZWRFbGVtZW50U3R5bGVzKHRydWUpOworCisgICAgICAg
IHRyZWVFbGVtZW50ID0gV2ViSW5zcGVjdG9yLnBhbmVscy5lbGVtZW50cy5zaWRlYmFyUGFuZXMu
c3R5bGVzLnNlY3Rpb25zWzBdWzFdLmFkZE5ld0JsYW5rUHJvcGVydHkoMik7CisgICAgICAgIHRy
ZWVFbGVtZW50LnN0YXJ0RWRpdGluZygpOworICAgICAgICB0cmVlRWxlbWVudC5uYW1lRWxlbWVu
dC50ZXh0Q29udGVudCA9ICJjb2xvciI7CisgICAgICAgIHRyZWVFbGVtZW50Lm5hbWVFbGVtZW50
LmRpc3BhdGNoRXZlbnQoSW5zcGVjdG9yVGVzdC5jcmVhdGVLZXlFdmVudCgiRW50ZXIiKSk7CisK
KyAgICAgICAgdHJlZUVsZW1lbnQudmFsdWVFbGVtZW50LnRleHRDb250ZW50ID0gImdyZWVuOyBm
b250LXdlaWdodDogYm9sZCI7CisgICAgICAgIHRyZWVFbGVtZW50LmtpY2tGcmVlRmxvd1N0eWxl
RWRpdEZvclRlc3QoKTsKKworICAgICAgICB0cmVlRWxlbWVudC52YWx1ZUVsZW1lbnQudGV4dENv
bnRlbnQgPSAicmVkOyBmb250LXdlaWdodDogYm9sZCI7CisgICAgICAgIHRyZWVFbGVtZW50Lmtp
Y2tGcmVlRmxvd1N0eWxlRWRpdEZvclRlc3QoKTsKKworICAgICAgICB0cmVlRWxlbWVudC52YWx1
ZUVsZW1lbnQuZGlzcGF0Y2hFdmVudChJbnNwZWN0b3JUZXN0LmNyZWF0ZUtleUV2ZW50KCJFbnRl
ciIpKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5ydW5BZnRlclBlbmRpbmdEaXNwYXRjaGVzKHJl
bG9hZFN0eWxlcy5iaW5kKHRoaXMsIGFkZEFuZENvbW1pdE1pZGRsZVByb3BlcnR5KSk7CisgICAg
fQorCisgICAgZnVuY3Rpb24gYWRkQW5kQ29tbWl0TWlkZGxlUHJvcGVydHkoKQorICAgIHsKKyAg
ICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIkFmdGVyIGFwcGVuZGluZyBhbmQgY2hhbmdp
bmcgYSAnY29tcG91bmQnIHByb3BlcnR5OiIpOworICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBT
ZWxlY3RlZEVsZW1lbnRTdHlsZXModHJ1ZSk7CisKKyAgICAgICAgdHJlZUVsZW1lbnQgPSBXZWJJ
bnNwZWN0b3IucGFuZWxzLmVsZW1lbnRzLnNpZGViYXJQYW5lcy5zdHlsZXMuc2VjdGlvbnNbMF1b
MV0uYWRkTmV3QmxhbmtQcm9wZXJ0eSgyKTsKKyAgICAgICAgdHJlZUVsZW1lbnQuc3RhcnRFZGl0
aW5nKCk7CisgICAgICAgIHRyZWVFbGVtZW50Lm5hbWVFbGVtZW50LnRleHRDb250ZW50ID0gInRo
aXJkLXByb3BlcnR5IjsKKyAgICAgICAgdHJlZUVsZW1lbnQubmFtZUVsZW1lbnQuZGlzcGF0Y2hF
dmVudChJbnNwZWN0b3JUZXN0LmNyZWF0ZUtleUV2ZW50KCJFbnRlciIpKTsKKyAgICAgICAgdHJl
ZUVsZW1lbnQudmFsdWVFbGVtZW50LnRleHRDb250ZW50ID0gInRoaXJkLXZhbHVlIjsKKworICAg
ICAgICB0cmVlRWxlbWVudC5uYW1lRWxlbWVudC5kaXNwYXRjaEV2ZW50KEluc3BlY3RvclRlc3Qu
Y3JlYXRlS2V5RXZlbnQoIkVudGVyIikpOworICAgICAgICBJbnNwZWN0b3JUZXN0LnJ1bkFmdGVy
UGVuZGluZ0Rpc3BhdGNoZXMocmVsb2FkU3R5bGVzLmJpbmQodGhpcywgZHVtcEFuZENvbXBsZXRl
KSk7CisgICAgfQorCisgICAgZnVuY3Rpb24gZHVtcEFuZENvbXBsZXRlKCkKKyAgICB7CisgICAg
ICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJBZnRlciBpbnNlcnRpb24gYXQgaW5kZXggMjoi
KTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wU2VsZWN0ZWRFbGVtZW50U3R5bGVzKHRydWUp
OworCisgICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7CisgICAgfQorCisgICAg
ZnVuY3Rpb24gcmVsb2FkU3R5bGVzKGNhbGxiYWNrKSB7CisgICAgICAgIEluc3BlY3RvclRlc3Qu
c2VsZWN0Tm9kZVdpdGhJZCgib3RoZXIiKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5ydW5BZnRl
clBlbmRpbmdEaXNwYXRjaGVzKG90aGVyQ2FsbGJhY2spOworCisgICAgICAgIGZ1bmN0aW9uIG90
aGVyQ2FsbGJhY2soKQorICAgICAgICB7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LnNlbGVj
dE5vZGVBbmRXYWl0Rm9yU3R5bGVzKCJpbnNwZWN0ZWQiLCBjYWxsYmFjayk7CisgICAgICAgIH0K
KyAgICB9Cit9CisKKzwvc2NyaXB0PgorPC9oZWFkPgorCis8Ym9keSBvbmxvYWQ9InJ1blRlc3Qo
KSI+Cis8cD4KK1Rlc3RzIHRoYXQgYWRkaW5nIGEgbmV3IGJsYW5rIHByb3BlcnR5IHdvcmtzLgor
PC9wPgorCis8ZGl2IGlkPSJpbnNwZWN0ZWQiIHN0eWxlPSJmb250LXNpemU6IDEycHgiPlRleHQ8
L2Rpdj4KKzxkaXYgaWQ9Im90aGVyIj48L2Rpdj4KKworPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy9zdHlsZXMtYWRkLWlu
dmFsaWQtcHJvcGVydHktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29s
ZXRlL3N0eWxlcy9zdHlsZXMtYWRkLWludmFsaWQtcHJvcGVydHktZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmNhZDI4M2JiYWE5MzE3Njg5NDUyZDZjNDc1NGNlODI0NjJkNGI0NWIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVzL3N0eWxlcy1h
ZGQtaW52YWxpZC1wcm9wZXJ0eS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyNiBAQAorVGVzdHMg
dGhhdCBhZGRpbmcgYW4gaW52YWxpZCBwcm9wZXJ0eSByZXRhaW5zIGl0cyBzeW50YXguCisKK1Rl
eHQKK0JlZm9yZSBhcHBlbmQ6CitbZXhwYW5kZWRdIAorZWxlbWVudC5zdHlsZSAgeyAoKQorZm9u
dC1zaXplOiAxMnB4OworCis9PT09PT09PSBNYXRjaGVkIENTUyBSdWxlcyA9PT09PT09PQorW2V4
cGFuZGVkXSAKK2RpdiAgeyAodXNlciBhZ2VudCBzdHlsZXNoZWV0KQorZGlzcGxheTogYmxvY2s7
CisKKworQWZ0ZXIgYXBwZW5kOgorW2V4cGFuZGVkXSAKK2VsZW1lbnQuc3R5bGUgIHsgKCkKK2Zv
bnQtc2l6ZTogMTJweDsKKworPT09PT09PT0gTWF0Y2hlZCBDU1MgUnVsZXMgPT09PT09PT0KK1tl
eHBhbmRlZF0gCitkaXYgIHsgKHVzZXIgYWdlbnQgc3R5bGVzaGVldCkKK2Rpc3BsYXk6IGJsb2Nr
OworCisKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxl
cy9zdHlsZXMtYWRkLWludmFsaWQtcHJvcGVydHkuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rv
ci1vYnNvbGV0ZS9zdHlsZXMvc3R5bGVzLWFkZC1pbnZhbGlkLXByb3BlcnR5Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNmU3MjI1MmE2NjdkNjQ5ODNkMWZkNWY2ZTMzMzdiZmM5OTc5N2UyYQotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvc3R5bGVzLWFk
ZC1pbnZhbGlkLXByb3BlcnR5Lmh0bWwKQEAgLTAsMCArMSw3MyBAQAorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvZWxl
bWVudHMtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorCitmdW5jdGlvbiB0ZXN0KCkKK3sK
KyAgICBXZWJJbnNwZWN0b3Iuc2hvd1BhbmVsKCJlbGVtZW50cyIpOworICAgIEluc3BlY3RvclRl
c3Quc2VsZWN0Tm9kZUFuZFdhaXRGb3JTdHlsZXMoImluc3BlY3RlZCIsIHN0ZXAxKTsKKworICAg
IHZhciB0cmVlRWxlbWVudDsKKyAgICB2YXIgc2VjdGlvbjsKKworICAgIGZ1bmN0aW9uIHN0ZXAx
KCkKKyAgICB7CisgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJCZWZvcmUgYXBwZW5k
OiIpOworICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBTZWxlY3RlZEVsZW1lbnRTdHlsZXModHJ1
ZSk7CisgICAgICAgIHNlY3Rpb24gPSBXZWJJbnNwZWN0b3IucGFuZWxzLmVsZW1lbnRzLnNpZGVi
YXJQYW5lcy5zdHlsZXMuc2VjdGlvbnNbMF1bMV07CisgICAgICAgIHNlY3Rpb24uZXhwYW5kKCk7
CisKKyAgICAgICAgLy8gQ3JlYXRlIGFuZCBpbmNyZW1lbnQuCisgICAgICAgIHRyZWVFbGVtZW50
ID0gc2VjdGlvbi5hZGROZXdCbGFua1Byb3BlcnR5KCk7CisgICAgICAgIHRyZWVFbGVtZW50LnN0
YXJ0RWRpdGluZygpOworICAgICAgICB0cmVlRWxlbWVudC5uYW1lRWxlbWVudC50ZXh0Q29udGVu
dCA9ICJjb2xvciI7CisgICAgICAgIHRyZWVFbGVtZW50Lm5hbWVFbGVtZW50LmRpc3BhdGNoRXZl
bnQoSW5zcGVjdG9yVGVzdC5jcmVhdGVLZXlFdmVudCgiRW50ZXIiKSk7CisKKyAgICAgICAgLy8g
VXBkYXRlIGluY3JlbWVudGFsbHkgdG8gYSB2YWxpZCB2YWx1ZS4gCisgICAgICAgIHRyZWVFbGVt
ZW50LnZhbHVlRWxlbWVudC50ZXh0Q29udGVudCA9ICJyZ2IoIjsKKyAgICAgICAgdHJlZUVsZW1l
bnQua2lja0ZyZWVGbG93U3R5bGVFZGl0Rm9yVGVzdCgpOworICAgICAgICBJbnNwZWN0b3JUZXN0
LnJ1bkFmdGVyUGVuZGluZ0Rpc3BhdGNoZXMoc3RlcDIpOworICAgIH0KKworICAgIGZ1bmN0aW9u
IHN0ZXAyKCkKKyAgICB7CisgICAgICAgIC8vIENvbW1pdCBpbnZhbGlkIHZhbHVlLiAKKyAgICAg
ICAgdHJlZUVsZW1lbnQudmFsdWVFbGVtZW50LnRleHRDb250ZW50ID0gInJnYigxIjsKKyAgICAg
ICAgdHJlZUVsZW1lbnQudmFsdWVFbGVtZW50LmRpc3BhdGNoRXZlbnQoSW5zcGVjdG9yVGVzdC5j
cmVhdGVLZXlFdmVudCgiRW50ZXIiKSk7CisgICAgICAgIEluc3BlY3RvclRlc3QucnVuQWZ0ZXJQ
ZW5kaW5nRGlzcGF0Y2hlcyhzdGVwMyk7CisgICAgfQorCisgICAgZnVuY3Rpb24gc3RlcDMoKQor
ICAgIHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5zZWxlY3ROb2RlV2l0aElkKCJvdGhlciIpOwor
ICAgICAgICBJbnNwZWN0b3JUZXN0LnJ1bkFmdGVyUGVuZGluZ0Rpc3BhdGNoZXMoc3RlcDQpOwor
ICAgIH0KKworICAgIGZ1bmN0aW9uIHN0ZXA0KCkKKyAgICB7CisgICAgICAgIEluc3BlY3RvclRl
c3Quc2VsZWN0Tm9kZUFuZFdhaXRGb3JTdHlsZXMoImluc3BlY3RlZCIsIHN0ZXA1KTsKKyAgICB9
CisKKyAgICBmdW5jdGlvbiBzdGVwNSgpCisgICAgeworICAgICAgICBJbnNwZWN0b3JUZXN0LmFk
ZFJlc3VsdCgiQWZ0ZXIgYXBwZW5kOiIpOworICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBTZWxl
Y3RlZEVsZW1lbnRTdHlsZXModHJ1ZSk7CisgICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVU
ZXN0KCk7CisgICAgfQorfQorCis8L3NjcmlwdD4KKzwvaGVhZD4KKworPGJvZHkgb25sb2FkPSJy
dW5UZXN0KCkiPgorPHA+CitUZXN0cyB0aGF0IGFkZGluZyBhbiBpbnZhbGlkIHByb3BlcnR5IHJl
dGFpbnMgaXRzIHN5bnRheC4KKzwvcD4KKworPGRpdiBpZD0iaW5zcGVjdGVkIiBzdHlsZT0iZm9u
dC1zaXplOiAxMnB4Ij5UZXh0PC9kaXY+Cis8ZGl2IGlkPSJvdGhlciI+PC9kaXY+CisKKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9z
dHlsZXMvc3R5bGVzLWNvbXB1dGVkLXRyYWNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2lu
c3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvc3R5bGVzLWNvbXB1dGVkLXRyYWNlLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi41ZmViNDUyZThhMWQxNmQ4MDllMjUzN2ZhZWZkMzg4NzdlMjA5MDYwCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy9z
dHlsZXMtY29tcHV0ZWQtdHJhY2UtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNjQgQEAKK1Rlc3Rz
IHRoYXQgY29tcHV0ZWQgc3R5bGVzIGV4cGFuZCBhbmQgYWxsb3cgdHJhY2luZyB0byBzdHlsZSBy
dWxlcy4KKworPT09PSBDb21wdXRlZCBzdHlsZSBmb3IgSUQxID09PT0KK1tleHBhbmRlZF0gCist
d2Via2l0LWJhY2tncm91bmQtY2xpcDogYm9yZGVyLWJveDsKKy13ZWJraXQtYmFja2dyb3VuZC1v
cmlnaW46IHBhZGRpbmctYm94OworLXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6IGF1dG87CitiYWNr
Z3JvdW5kLWF0dGFjaG1lbnQ6IHNjcm9sbDsKKyAgICAjaWQxIC0gaW5pdGlhbCBzdHlsZXMtY29t
cHV0ZWQtdHJhY2UuaHRtbDoyMworYmFja2dyb3VuZC1jbGlwOiBib3JkZXItYm94OworICAgICNp
ZDEgLSBpbml0aWFsIHN0eWxlcy1jb21wdXRlZC10cmFjZS5odG1sOjIzCitiYWNrZ3JvdW5kLWNv
bG9yOiByZ2IoMTI4LCAxMjgsIDEyOCk7CisgICAgI2lkMSAtIGdyYXkgc3R5bGVzLWNvbXB1dGVk
LXRyYWNlLmh0bWw6MjMKKyAgICAvLS0gb3ZlcmxvYWRlZCAtLS8gI2lkMSAtIGJsYWNrIHN0eWxl
cy1jb21wdXRlZC10cmFjZS5odG1sOjE4CisgICAgLy0tIG92ZXJsb2FkZWQgLS0vICNpZDEgLSBn
cmVlbiBzdHlsZXMtY29tcHV0ZWQtdHJhY2UuaHRtbDoxMworYmFja2dyb3VuZC1pbWFnZTogbm9u
ZTsKKyAgICAjaWQxIC0gaW5pdGlhbCBzdHlsZXMtY29tcHV0ZWQtdHJhY2UuaHRtbDoyMworYmFj
a2dyb3VuZC1vcmlnaW46IHBhZGRpbmctYm94OworICAgICNpZDEgLSBpbml0aWFsIHN0eWxlcy1j
b21wdXRlZC10cmFjZS5odG1sOjIzCitiYWNrZ3JvdW5kLXNpemU6IGF1dG87CisgICAgI2lkMSAt
IGluaXRpYWwgc3R5bGVzLWNvbXB1dGVkLXRyYWNlLmh0bWw6MjMKK2Rpc3BsYXk6IGJsb2NrOwor
ICAgIGRpdiAtIGJsb2NrIHVzZXIgYWdlbnQgc3R5bGVzaGVldAorZm9udC1mYW1pbHk6IENvdXJp
ZXI7CisgICAgI2lkMSAtIENvdXJpZXIgc3R5bGVzLWNvbXB1dGVkLXRyYWNlLmh0bWw6MTgKKyAg
ICAvLS0gb3ZlcmxvYWRlZCAtLS8gI2lkMSAtIFRpbWVzIHN0eWxlcy1jb21wdXRlZC10cmFjZS5o
dG1sOjEzCisgICAgLy0tIG92ZXJsb2FkZWQgLS0vIGJvZHkgLSBBcmlhbCBzdHlsZXMtY29tcHV0
ZWQtdHJhY2UuaHRtbDo0Cit0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsKKyAgICBkaXYgLSB1
bmRlcmxpbmUgc3R5bGVzLWNvbXB1dGVkLXRyYWNlLmh0bWw6OQorCitbZXhwYW5kZWRdIAorZWxl
bWVudC5zdHlsZSAgeyAoKQorCisKKz09PT0gQ29tcHV0ZWQgc3R5bGUgZm9yIElEMiA9PT09Citb
ZXhwYW5kZWRdIAorYmFja2dyb3VuZC1jb2xvcjogcmdiKDAsIDAsIDI1NSk7CisgICAgI2lkMiAt
IGJsdWUgc3R5bGVzLWNvbXB1dGVkLXRyYWNlLmh0bWw6MjcKK2Rpc3BsYXk6IGJsb2NrOworICAg
IGRpdiAtIGJsb2NrIHVzZXIgYWdlbnQgc3R5bGVzaGVldAorZm9udC1mYW1pbHk6IENvdXJpZXI7
CisgICAgI2lkMiAtIENvdXJpZXIgc3R5bGVzLWNvbXB1dGVkLXRyYWNlLmh0bWw6MjcKKyAgICAv
LS0gb3ZlcmxvYWRlZCAtLS8gI2lkMSAtIENvdXJpZXIgc3R5bGVzLWNvbXB1dGVkLXRyYWNlLmh0
bWw6MTgKKyAgICAvLS0gb3ZlcmxvYWRlZCAtLS8gI2lkMSAtIFRpbWVzIHN0eWxlcy1jb21wdXRl
ZC10cmFjZS5odG1sOjEzCisgICAgLy0tIG92ZXJsb2FkZWQgLS0vIGJvZHkgLSBBcmlhbCBzdHls
ZXMtY29tcHV0ZWQtdHJhY2UuaHRtbDo0Cit0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsKKyAg
ICAvLS0gb3ZlcmxvYWRlZCAtLS8gI2lkMiAtIGludmFsaWR2YWx1ZSBzdHlsZXMtY29tcHV0ZWQt
dHJhY2UuaHRtbDoyNworICAgIGRpdiAtIHVuZGVybGluZSBzdHlsZXMtY29tcHV0ZWQtdHJhY2Uu
aHRtbDo5CisKK1tleHBhbmRlZF0gCitlbGVtZW50LnN0eWxlICB7ICgpCisKKworPT09PSBTdHls
ZSBmb3IgSUQzID09PT0KK1tleHBhbmRlZF0gCitlbGVtZW50LnN0eWxlICB7ICgpCisKKz09PT09
PT09IE1hdGNoZWQgQ1NTIFJ1bGVzID09PT09PT09CitbZXhwYW5kZWRdIAorYnV0dG9uW0F0dHJp
YnV0ZXMgU3R5bGVdICB7ICgpCitkaXNwbGF5OiBub25lOworCisKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy9zdHlsZXMtY29tcHV0ZWQtdHJhY2Uu
aHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvc3R5bGVzLWNvbXB1
dGVkLXRyYWNlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzcyNjU5MzA4YTk4NTkwNGNjMjgxYjlhMjNhZDNk
ZDJmNWMxNmY3NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNv
bGV0ZS9zdHlsZXMvc3R5bGVzLWNvbXB1dGVkLXRyYWNlLmh0bWwKQEAgLTAsMCArMSw4MCBAQAor
PGh0bWw+Cis8aGVhZD4KKzxzdHlsZT4KK2JvZHkgeworICAgIGJhY2tncm91bmQtY29sb3I6IHJn
YigxMDAsIDAsIDApOworICAgIGZvbnQtZmFtaWx5OiBBcmlhbDsKK30KKworZGl2IHsKKyAgICB0
ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsKK30KKworI2lkMSB7CisgICAgYmFja2dyb3VuZC1j
b2xvcjogZ3JlZW47CisgICAgZm9udC1mYW1pbHk6IFRpbWVzOworfQorCisjaWQxIHsKKyAgICBi
YWNrZ3JvdW5kLWNvbG9yOiBibGFjazsKKyAgICBmb250LWZhbWlseTogQ291cmllcjsKK30KKwor
I2lkMSB7CisgICAgYmFja2dyb3VuZDogZ3JheTsKK30KKworI2lkMiB7CisgICAgYmFja2dyb3Vu
ZC1jb2xvcjogYmx1ZTsKKyAgICBmb250LWZhbWlseTogQ291cmllcjsKKyAgICB0ZXh0LWRlY29y
YXRpb246IGludmFsaWR2YWx1ZTsKK30KKworPC9zdHlsZT4KKzxzY3JpcHQgc3JjPSIuLi8uLi9o
dHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMtdGVzdC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0PgorCitmdW5jdGlvbiB0ZXN0KCkKK3sKKyAgICBJbnNwZWN0b3JUZXN0LnNl
bGVjdE5vZGVBbmRXYWl0Rm9yU3R5bGVzV2l0aENvbXB1dGVkKCJpZDEiLCBzdGVwMSk7CisKKyAg
ICBmdW5jdGlvbiBzdGVwMSgpCisgICAgeworICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3Vs
dCgiPT09PSBDb21wdXRlZCBzdHlsZSBmb3IgSUQxID09PT0iKTsKKyAgICAgICAgSW5zcGVjdG9y
VGVzdC5kdW1wU2VsZWN0ZWRFbGVtZW50U3R5bGVzKGZhbHNlLCB0cnVlKTsKKyAgICAgICAgSW5z
cGVjdG9yVGVzdC5zZWxlY3ROb2RlQW5kV2FpdEZvclN0eWxlc1dpdGhDb21wdXRlZCgiaWQyIiwg
c3RlcDIpOworICAgIH0KKworICAgIGZ1bmN0aW9uIHN0ZXAyKCkKKyAgICB7CisgICAgICAgIElu
c3BlY3RvclRlc3QuYWRkUmVzdWx0KCI9PT09IENvbXB1dGVkIHN0eWxlIGZvciBJRDIgPT09PSIp
OworICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBTZWxlY3RlZEVsZW1lbnRTdHlsZXMoZmFsc2Us
IHRydWUpOworICAgICAgICBJbnNwZWN0b3JUZXN0LnNlbGVjdE5vZGVBbmRXYWl0Rm9yU3R5bGVz
V2l0aENvbXB1dGVkKCJpZDMiLCBzdGVwMyk7CisgICAgfQorCisgICAgZnVuY3Rpb24gc3RlcDMo
KQorICAgIHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIj09PT0gU3R5bGUgZm9y
IElEMyA9PT09Iik7CisgICAgICAgIC8vIFRoZSBidXR0b25baGlkZGVuXSBzdHlsZSBzcGVjaWZp
ZXMgImRpc3BsYXk6IG5vbmUiLCB3aGljaCBzaG91bGQgbm90IGJlIC8tLSBvdmVybG9hZGVkIC0t
Ly4KKyAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wU2VsZWN0ZWRFbGVtZW50U3R5bGVzKHRydWUs
IHRydWUpOworICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOworICAgIH0KKwor
fQorPC9zY3JpcHQ+Cis8L2hlYWQ+CisKKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KKzxwPgor
VGVzdHMgdGhhdCBjb21wdXRlZCBzdHlsZXMgZXhwYW5kIGFuZCBhbGxvdyB0cmFjaW5nIHRvIHN0
eWxlIHJ1bGVzLgorPC9wPgorCis8ZGl2IGlkPSJpZDEiPgorPGRpdiBpZD0iaWQyIj4KKzwvZGl2
PgorPGJ1dHRvbiBpZD0iaWQzIiBoaWRkZW4gLz4KKzwvZGl2PgorCis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVzL3N0eWxl
cy1kaXNhYmxlLWluaGVyaXRlZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3It
b2Jzb2xldGUvc3R5bGVzL3N0eWxlcy1kaXNhYmxlLWluaGVyaXRlZC1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjdmZDkzMTNmNjQ3MTJkNTQxOWFhZWM3MzI2NDllYzcyNGQyNGViOAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvc3R5bGVz
LWRpc2FibGUtaW5oZXJpdGVkLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDI4IEBACitUZXN0cyB0
aGF0IGRpc2FibGluZyBpbmhlcml0ZWQgc3R5bGUgcHJvcGVydHkgZG9lcyBub3QgYnJlYWsgZnVy
dGhlciBzdHlsZSBpbnNwZWN0aW9uLgorCitCZWZvcmUgZGlzYWJsZQorW2V4cGFuZGVkXSAKK2Vs
ZW1lbnQuc3R5bGUgIHsgKCkKKworPT09PT09PT0gTWF0Y2hlZCBDU1MgUnVsZXMgPT09PT09PT0K
K1tleHBhbmRlZF0gCitkaXYgIHsgKHVzZXIgYWdlbnQgc3R5bGVzaGVldCkKK2Rpc3BsYXk6IGJs
b2NrOworCis9PT09PT09PSBJbmhlcml0ZWQgZnJvbSBkaXYjY29udGFpbmVyID09PT09PT09Citb
ZXhwYW5kZWRdIAorU3R5bGUgQXR0cmlidXRlICB7ICgpCitmb250LXdlaWdodDogYm9sZDsKKwor
CitBZnRlciBkaXNhYmxlOgorW2V4cGFuZGVkXSAKK2VsZW1lbnQuc3R5bGUgIHsgKCkKKworPT09
PT09PT0gTWF0Y2hlZCBDU1MgUnVsZXMgPT09PT09PT0KK1tleHBhbmRlZF0gCitkaXYgIHsgKHVz
ZXIgYWdlbnQgc3R5bGVzaGVldCkKK2Rpc3BsYXk6IGJsb2NrOworCisKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy9zdHlsZXMtZGlzYWJsZS1pbmhl
cml0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvc3R5bGVz
LWRpc2FibGUtaW5oZXJpdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzYyZWM2OGNkOGYwYjJiNDE3ZTNl
ZTYwMTEyYWE3MGFlYzI1MDQ1NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci1vYnNvbGV0ZS9zdHlsZXMvc3R5bGVzLWRpc2FibGUtaW5oZXJpdGVkLmh0bWwKQEAgLTAs
MCArMSw0NyBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3Rz
L2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0PgorCitmdW5jdGlvbiB0ZXN0KCkKK3sKKworICAgIEluc3BlY3RvclRlc3Quc2VsZWN0Tm9k
ZUFuZFdhaXRGb3JTdHlsZXMoIm5lc3RlZCIsIHN0ZXAxKTsKKworICAgIGZ1bmN0aW9uIHN0ZXAx
KCkKKyAgICB7CisgICAgICAgIHZhciB0cmVlSXRlbSA9IEluc3BlY3RvclRlc3QuZ2V0RWxlbWVu
dFN0eWxlUHJvcGVydHlUcmVlSXRlbSgiZm9udC13ZWlnaHQiKTsKKyAgICAgICAgSW5zcGVjdG9y
VGVzdC5hZGRSZXN1bHQoIkJlZm9yZSBkaXNhYmxlIik7CisgICAgICAgIEluc3BlY3RvclRlc3Qu
ZHVtcFNlbGVjdGVkRWxlbWVudFN0eWxlcyh0cnVlKTsKKworICAgICAgICBJbnNwZWN0b3JUZXN0
LnNlbGVjdE5vZGVBbmRXYWl0Rm9yU3R5bGVzKCJjb250YWluZXIiLCBzdGVwMik7CisgICAgfQor
CisgICAgZnVuY3Rpb24gc3RlcDIoKQorICAgIHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC50b2dn
bGVTdHlsZVByb3BlcnR5KCJmb250LXdlaWdodCIsIGZhbHNlKTsKKyAgICAgICAgSW5zcGVjdG9y
VGVzdC5zZWxlY3ROb2RlQW5kV2FpdEZvclN0eWxlcygibmVzdGVkIiwgc3RlcDMpOworICAgIH0K
KworICAgIGZ1bmN0aW9uIHN0ZXAzKCkKKyAgICB7CisgICAgICAgIEluc3BlY3RvclRlc3QuYWRk
UmVzdWx0KCJBZnRlciBkaXNhYmxlOiIpOworICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBTZWxl
Y3RlZEVsZW1lbnRTdHlsZXModHJ1ZSk7CisgICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVU
ZXN0KCk7CisgICAgfQorfQorPC9zY3JpcHQ+Cis8L2hlYWQ+CisKKzxib2R5IG9ubG9hZD0icnVu
VGVzdCgpIj4KKzxwPgorVGVzdHMgdGhhdCBkaXNhYmxpbmcgaW5oZXJpdGVkIHN0eWxlIHByb3Bl
cnR5IGRvZXMgbm90IGJyZWFrIGZ1cnRoZXIgc3R5bGUgaW5zcGVjdGlvbi4KKzwvcD4KKworPGRp
diBpZD0iY29udGFpbmVyIiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCI+CisgICAgPGRpdiBpZD0i
bmVzdGVkIj48L2Rpdj4KKzwvZGl2PgorCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVzL3N0eWxlcy1kaXNhYmxlLXRoZW4t
Y2hhbmdlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9zdHls
ZXMvc3R5bGVzLWRpc2FibGUtdGhlbi1jaGFuZ2UtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI1
MGQ3YTYyOWYwMmRjODIzOWY2YzgyYjRmM2QyMjE5OTQ1NzIwMDgKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVzL3N0eWxlcy1kaXNhYmxlLXRo
ZW4tY2hhbmdlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDIxIEBACitUZXN0cyB0aGF0IGNoYW5n
aW5nIGEgZGlzYWJsZWQgcHJvcGVydHkgZW5hYmxlcyBpdCBhcyB3ZWxsLgorCitCZWZvcmUgZGlz
YWJsZQorW2V4cGFuZGVkXSAKK2VsZW1lbnQuc3R5bGUgIHsgKCkKK2ZvbnQtd2VpZ2h0OiBib2xk
OworCisKK0FmdGVyIGRpc2FibGUKK1tleHBhbmRlZF0gCitlbGVtZW50LnN0eWxlICB7ICgpCisv
LS0gb3ZlcmxvYWRlZCAtLS8gLy0tIGRpc2FibGVkIC0tLyBmb250LXdlaWdodDogYm9sZDsKKwor
CitBZnRlciBjaGFuZ2UKK1tleHBhbmRlZF0gCitlbGVtZW50LnN0eWxlICB7ICgpCitjb2xvcjog
Z3JlZW47CisKKworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUv
c3R5bGVzL3N0eWxlcy1kaXNhYmxlLXRoZW4tY2hhbmdlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3Itb2Jzb2xldGUvc3R5bGVzL3N0eWxlcy1kaXNhYmxlLXRoZW4tY2hhbmdlLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uYzViYmY3OWI4OWQ3NzIwZTRmYmJmODM4NzRjYzkxYWRiZWU0ODQ5YwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvc3R5bGVz
LWRpc2FibGUtdGhlbi1jaGFuZ2UuaHRtbApAQCAtMCwwICsxLDUyIEBACis8aHRtbD4KKzxoZWFk
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9l
bGVtZW50cy10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisKK2Z1bmN0aW9uIHRlc3QoKQor
eworICAgIEluc3BlY3RvclRlc3Quc2VsZWN0Tm9kZUFuZFdhaXRGb3JTdHlsZXMoImNvbnRhaW5l
ciIsIHN0ZXAxKTsKKworICAgIGZ1bmN0aW9uIHN0ZXAxKCkKKyAgICB7CisgICAgICAgIEluc3Bl
Y3RvclRlc3QuYWRkUmVzdWx0KCJCZWZvcmUgZGlzYWJsZSIpOworICAgICAgICBJbnNwZWN0b3JU
ZXN0LmR1bXBTZWxlY3RlZEVsZW1lbnRTdHlsZXModHJ1ZSwgdHJ1ZSk7CisKKyAgICAgICAgSW5z
cGVjdG9yVGVzdC50b2dnbGVTdHlsZVByb3BlcnR5KCJmb250LXdlaWdodCIsIGZhbHNlKTsKKyAg
ICAgICAgSW5zcGVjdG9yVGVzdC53YWl0Rm9yU3R5bGVzKCJjb250YWluZXIiLCBzdGVwMik7Cisg
ICAgfQorCisgICAgZnVuY3Rpb24gc3RlcDIoKQorICAgIHsKKyAgICAgICAgSW5zcGVjdG9yVGVz
dC5hZGRSZXN1bHQoIkFmdGVyIGRpc2FibGUiKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1w
U2VsZWN0ZWRFbGVtZW50U3R5bGVzKHRydWUsIHRydWUpOworCisgICAgICAgIHZhciB0cmVlSXRl
bSA9IEluc3BlY3RvclRlc3QuZ2V0RWxlbWVudFN0eWxlUHJvcGVydHlUcmVlSXRlbSgiZm9udC13
ZWlnaHQiKTsKKyAgICAgICAgdHJlZUl0ZW0uYXBwbHlTdHlsZVRleHQoImNvbG9yOiBncmVlbiIs
IHRydWUpOworICAgICAgICBJbnNwZWN0b3JUZXN0LndhaXRGb3JTdHlsZXMoImNvbnRhaW5lciIs
IHN0ZXAzKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBzdGVwMygpCisgICAgeworICAgICAgICBJ
bnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiQWZ0ZXIgY2hhbmdlIik7CisgICAgICAgIEluc3BlY3Rv
clRlc3QuZHVtcFNlbGVjdGVkRWxlbWVudFN0eWxlcyh0cnVlLCB0cnVlKTsKKyAgICAgICAgSW5z
cGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKKyAgICB9Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4K
KworPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgorPHA+CitUZXN0cyB0aGF0IGNoYW5naW5nIGEg
ZGlzYWJsZWQgcHJvcGVydHkgZW5hYmxlcyBpdCBhcyB3ZWxsLgorPC9wPgorCis8ZGl2IGlkPSJj
b250YWluZXIiIHN0eWxlPSJmb250LXdlaWdodDpib2xkIj4KKzwvZGl2PgorCis8ZGl2IGlkPSJv
dGhlciI+Cis8L2Rpdj4KKworPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy9zdHlsZXMtZGlzYWJsZS10aGVuLWRlbGV0ZS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVzL3N0eWxl
cy1kaXNhYmxlLXRoZW4tZGVsZXRlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hNzNjMmMxZGQw
NWFkMTA5ODk2OTA2YWUyMGEwZjc2MDE1NzhkNGE0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy9zdHlsZXMtZGlzYWJsZS10aGVuLWRlbGV0
ZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyMCBAQAorVGVzdHMgdGhhdCByZW1vdmFsIG9mIHBy
b3BlcnR5IGZvbGxvd2luZyBpdHMgZGlzYWJsaW5nIHdvcmtzLgorCitCZWZvcmUgZGlzYWJsZQor
W2V4cGFuZGVkXSAKK2VsZW1lbnQuc3R5bGUgIHsgKCkKK2ZvbnQtd2VpZ2h0OiBib2xkOworCisK
K0FmdGVyIGRpc2FibGUKK1tleHBhbmRlZF0gCitlbGVtZW50LnN0eWxlICB7ICgpCisvLS0gb3Zl
cmxvYWRlZCAtLS8gLy0tIGRpc2FibGVkIC0tLyBmb250LXdlaWdodDogYm9sZDsKKworCitBZnRl
ciBkZWxldGUKK1tleHBhbmRlZF0gCitlbGVtZW50LnN0eWxlICB7ICgpCisKKworCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVzL3N0eWxlcy1kaXNhYmxl
LXRoZW4tZGVsZXRlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVz
L3N0eWxlcy1kaXNhYmxlLXRoZW4tZGVsZXRlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWZmYTY0YWVhZjg4
NzAxOGUwMzUzZGFlMTNkZWEyYzQ5YTkxODgwMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvc3R5bGVzLWRpc2FibGUtdGhlbi1kZWxldGUu
aHRtbApAQCAtMCwwICsxLDY1IEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9lbGVtZW50cy10ZXN0LmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQ+CisKK2Z1bmN0aW9uIHRlc3QoKQoreworICAgIEluc3BlY3RvclRlc3Qu
c2VsZWN0Tm9kZUFuZFdhaXRGb3JTdHlsZXMoImNvbnRhaW5lciIsIHN0ZXAxKTsKKworICAgIGZ1
bmN0aW9uIHN0ZXAxKCkKKyAgICB7CisgICAgICAgIC8vIERpc2FibGUgcHJvcGVydHkKKyAgICAg
ICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIkJlZm9yZSBkaXNhYmxlIik7CisgICAgICAgIElu
c3BlY3RvclRlc3QuZHVtcFNlbGVjdGVkRWxlbWVudFN0eWxlcyh0cnVlLCB0cnVlKTsKKyAgICAg
ICAgSW5zcGVjdG9yVGVzdC50b2dnbGVTdHlsZVByb3BlcnR5KCJmb250LXdlaWdodCIsIGZhbHNl
KTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5ydW5BZnRlclBlbmRpbmdEaXNwYXRjaGVzKHN0ZXAy
KTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBzdGVwMigpCisgICAgeworICAgICAgICAvLyBEZWxl
dGUgc3R5bGUKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIkFmdGVyIGRpc2FibGUi
KTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wU2VsZWN0ZWRFbGVtZW50U3R5bGVzKHRydWUs
IHRydWUpOworCisgICAgICAgIHZhciB0cmVlSXRlbSA9IEluc3BlY3RvclRlc3QuZ2V0RWxlbWVu
dFN0eWxlUHJvcGVydHlUcmVlSXRlbSgiZm9udC13ZWlnaHQiKTsKKyAgICAgICAgdHJlZUl0ZW0u
YXBwbHlTdHlsZVRleHQoIiIsIHRydWUpOworCisgICAgICAgIEluc3BlY3RvclRlc3QucnVuQWZ0
ZXJQZW5kaW5nRGlzcGF0Y2hlcyhzdGVwMyk7CisgICAgfQorCisgICAgZnVuY3Rpb24gc3RlcDMo
KQorICAgIHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5zZWxlY3ROb2RlV2l0aElkKCJvdGhlciIp
OworICAgICAgICBJbnNwZWN0b3JUZXN0LnJ1bkFmdGVyUGVuZGluZ0Rpc3BhdGNoZXMoc3RlcDQp
OworICAgIH0KKworICAgIGZ1bmN0aW9uIHN0ZXA0KCkKKyAgICB7CisgICAgICAgIEluc3BlY3Rv
clRlc3Quc2VsZWN0Tm9kZUFuZFdhaXRGb3JTdHlsZXMoImNvbnRhaW5lciIsIHN0ZXA1KTsKKyAg
ICB9CisKKyAgICBmdW5jdGlvbiBzdGVwNShub2RlKQorICAgIHsKKyAgICAgICAgSW5zcGVjdG9y
VGVzdC5hZGRSZXN1bHQoIkFmdGVyIGRlbGV0ZSIpOworICAgICAgICBJbnNwZWN0b3JUZXN0LmR1
bXBTZWxlY3RlZEVsZW1lbnRTdHlsZXModHJ1ZSwgdHJ1ZSk7CisgICAgICAgIEluc3BlY3RvclRl
c3QuY29tcGxldGVUZXN0KCk7CisgICAgfQorfQorPC9zY3JpcHQ+Cis8L2hlYWQ+CisKKzxib2R5
IG9ubG9hZD0icnVuVGVzdCgpIj4KKzxwPgorVGVzdHMgdGhhdCByZW1vdmFsIG9mIHByb3BlcnR5
IGZvbGxvd2luZyBpdHMgZGlzYWJsaW5nIHdvcmtzLgorPC9wPgorCis8ZGl2IGlkPSJjb250YWlu
ZXIiIHN0eWxlPSJmb250LXdlaWdodDpib2xkIj4KKzwvZGl2PgorCis8ZGl2IGlkPSJvdGhlciI+
Cis8L2Rpdj4KKworPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yLW9ic29sZXRlL3N0eWxlcy9zdHlsZXMtZGlzYWJsZS10aGVuLWVuYWJsZS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVzL3N0eWxlcy1kaXNh
YmxlLXRoZW4tZW5hYmxlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45NmVmNmFlMWM3NmI4NTA1
MThlYTQ0YWVjNzlmZWRkMzZmYWI2ODNmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy9zdHlsZXMtZGlzYWJsZS10aGVuLWVuYWJsZS1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSw5IEBACitUZXN0cyB0aGF0IGRpc2FibGluZyBzdHlsZSBwcm9w
ZXJ0eSB3b3Jrcy4KKworQmVmb3JlIGRpc2FibGUKK2ZvbnQtd2VpZ2h0OiBib2xkOworQWZ0ZXIg
ZGlzYWJsZQorLy0tIG92ZXJsb2FkZWQgLS0vIC8tLSBkaXNhYmxlZCAtLS8gZm9udC13ZWlnaHQ6
IGJvbGQ7CitBZnRlciBlbmFibGUKK2ZvbnQtd2VpZ2h0OiBib2xkOworCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVzL3N0eWxlcy1kaXNhYmxlLXRoZW4t
ZW5hYmxlLW92ZXJyaWRlbi11YS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3It
b2Jzb2xldGUvc3R5bGVzL3N0eWxlcy1kaXNhYmxlLXRoZW4tZW5hYmxlLW92ZXJyaWRlbi11YS1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZWZiMmU1MjQyMWM2YjUyMmI2MDI3MjAzM2IyZDc1NzI1
MGYwYjAwMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0
ZS9zdHlsZXMvc3R5bGVzLWRpc2FibGUtdGhlbi1lbmFibGUtb3ZlcnJpZGVuLXVhLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDQ4IEBACitUZXN0cyB0aGF0IGRpc2FibGluZyBzaG9ydGhhbmQgcmVt
b3ZlcyB0aGUgIm92ZXJyaWRlbiIgbWFyayBmcm9tIHRoZSBVQSBzaG9ydGhhbmQgaXQgb3ZlcnJp
ZGVzLgorCitCZWZvcmUgZGlzYWJsZQorW2V4cGFuZGVkXSAKK2VsZW1lbnQuc3R5bGUgIHsgKCkK
K21hcmdpbjogMTBweDsKKworPT09PT09PT0gTWF0Y2hlZCBDU1MgUnVsZXMgPT09PT09PT0KK1tl
eHBhbmRlZF0gCisjY29udGFpbmVyICB7ICh1c2VyIHN0eWxlc2hlZXQpCisvLS0gb3ZlcmxvYWRl
ZCAtLS8gbWFyZ2luOiA4cHg7CisKK1tleHBhbmRlZF0gCitkaXYgIHsgKHVzZXIgYWdlbnQgc3R5
bGVzaGVldCkKK2Rpc3BsYXk6IGJsb2NrOworCisKK0FmdGVyIGRpc2FibGUKK1tleHBhbmRlZF0g
CitlbGVtZW50LnN0eWxlICB7ICgpCisvLS0gb3ZlcmxvYWRlZCAtLS8gLy0tIGRpc2FibGVkIC0t
LyBtYXJnaW46IDEwcHg7CisKKz09PT09PT09IE1hdGNoZWQgQ1NTIFJ1bGVzID09PT09PT09Citb
ZXhwYW5kZWRdIAorI2NvbnRhaW5lciAgeyAodXNlciBzdHlsZXNoZWV0KQorbWFyZ2luOiA4cHg7
CisKK1tleHBhbmRlZF0gCitkaXYgIHsgKHVzZXIgYWdlbnQgc3R5bGVzaGVldCkKK2Rpc3BsYXk6
IGJsb2NrOworCisKK0FmdGVyIGVuYWJsZQorW2V4cGFuZGVkXSAKK2VsZW1lbnQuc3R5bGUgIHsg
KCkKK21hcmdpbjogMTBweDsKKworPT09PT09PT0gTWF0Y2hlZCBDU1MgUnVsZXMgPT09PT09PT0K
K1tleHBhbmRlZF0gCisjY29udGFpbmVyICB7ICh1c2VyIHN0eWxlc2hlZXQpCisvLS0gb3Zlcmxv
YWRlZCAtLS8gbWFyZ2luOiA4cHg7CisKK1tleHBhbmRlZF0gCitkaXYgIHsgKHVzZXIgYWdlbnQg
c3R5bGVzaGVldCkKK2Rpc3BsYXk6IGJsb2NrOworCisKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy9zdHlsZXMtZGlzYWJsZS10aGVuLWVuYWJsZS1v
dmVycmlkZW4tdWEuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMv
c3R5bGVzLWRpc2FibGUtdGhlbi1lbmFibGUtb3ZlcnJpZGVuLXVhLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZDhkZTYwMDQ4YzZjMWVhMmZhODkzNTgyYzg1ZTJiYTA0NDcyMWM1ZgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvc3R5bGVzLWRpc2FibGUt
dGhlbi1lbmFibGUtb3ZlcnJpZGVuLXVhLmh0bWwKQEAgLTAsMCArMSw1NyBAQAorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3It
dGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0
b3IvZWxlbWVudHMtdGVzdC5qcyI+PC9zY3JpcHQ+CisKKzxzY3JpcHQ+CisKK2Z1bmN0aW9uIGlu
amVjdFN0eWxlU2hlZXQoKQoreworICAgIHZhciBzdHlsZVNoZWV0ID0gIiNjb250YWluZXIgeyBt
YXJnaW46IDhweCB9IjsKKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHdpbmRv
dy50ZXN0UnVubmVyLmFkZFVzZXJTdHlsZVNoZWV0KHN0eWxlU2hlZXQsIHRydWUpOworfQorCitm
dW5jdGlvbiB0ZXN0KCkKK3sKKyAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJpbmpl
Y3RTdHlsZVNoZWV0KCkiLCBzdGVwMSk7CisgICAgZnVuY3Rpb24gc3RlcDEoKQorICAgIHsKKyAg
ICAgICAgSW5zcGVjdG9yVGVzdC5zZWxlY3ROb2RlQW5kV2FpdEZvclN0eWxlcygiY29udGFpbmVy
Iiwgc3RlcDIpOworICAgIH0KKworICAgIGZ1bmN0aW9uIHN0ZXAyKCkKKyAgICB7CisgICAgICAg
IEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJCZWZvcmUgZGlzYWJsZSIpOworICAgICAgICBJbnNw
ZWN0b3JUZXN0LmR1bXBTZWxlY3RlZEVsZW1lbnRTdHlsZXModHJ1ZSwgZmFsc2UsIHRydWUpOwor
ICAgICAgICBJbnNwZWN0b3JUZXN0LnRvZ2dsZVN0eWxlUHJvcGVydHkoIm1hcmdpbiIsIGZhbHNl
KTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC53YWl0Rm9yU3R5bGVzKCJjb250YWluZXIiLCBzdGVw
Myk7CisgICAgfQorCisgICAgZnVuY3Rpb24gc3RlcDMoKQorICAgIHsKKyAgICAgICAgSW5zcGVj
dG9yVGVzdC5hZGRSZXN1bHQoIkFmdGVyIGRpc2FibGUiKTsKKyAgICAgICAgSW5zcGVjdG9yVGVz
dC5kdW1wU2VsZWN0ZWRFbGVtZW50U3R5bGVzKHRydWUsIGZhbHNlLCB0cnVlKTsKKyAgICAgICAg
SW5zcGVjdG9yVGVzdC50b2dnbGVTdHlsZVByb3BlcnR5KCJtYXJnaW4iLCB0cnVlKTsKKyAgICAg
ICAgSW5zcGVjdG9yVGVzdC53YWl0Rm9yU3R5bGVzKCJjb250YWluZXIiLCBzdGVwNCk7CisgICAg
fQorCisgICAgZnVuY3Rpb24gc3RlcDQoKQorICAgIHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5h
ZGRSZXN1bHQoIkFmdGVyIGVuYWJsZSIpOworICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBTZWxl
Y3RlZEVsZW1lbnRTdHlsZXModHJ1ZSwgZmFsc2UsIHRydWUpOworICAgICAgICBJbnNwZWN0b3JU
ZXN0LmNvbXBsZXRlVGVzdCgpOworICAgIH0KK30KKzwvc2NyaXB0PgorPC9oZWFkPgorCis8Ym9k
eSBvbmxvYWQ9InJ1blRlc3QoKSIgaWQ9ImJvZHktaWQiPgorPHA+CitUZXN0cyB0aGF0IGRpc2Fi
bGluZyBzaG9ydGhhbmQgcmVtb3ZlcyB0aGUgIm92ZXJyaWRlbiIgbWFyayBmcm9tIHRoZSBVQSBz
aG9ydGhhbmQgaXQgb3ZlcnJpZGVzLgorPC9wPgorCis8ZGl2IGlkPSJjb250YWluZXIiIHN0eWxl
PSJtYXJnaW46IDEwcHgiPjwvZGl2PgorCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVzL3N0eWxlcy1kaXNhYmxlLXRoZW4t
ZW5hYmxlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVzL3N0eWxl
cy1kaXNhYmxlLXRoZW4tZW5hYmxlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGNjMDBlZThmYjcwYjQ3YmQx
ZGM2ODY5Yzk2MmM4MzUwNDIzNmU3NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lu
c3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvc3R5bGVzLWRpc2FibGUtdGhlbi1lbmFibGUuaHRtbApA
QCAtMCwwICsxLDUyIEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAv
dGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9lbGVtZW50cy10ZXN0LmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQ+CisKK2Z1bmN0aW9uIHRlc3QoKQoreworICAgIEluc3BlY3RvclRlc3Quc2VsZWN0
Tm9kZUFuZFdhaXRGb3JTdHlsZXMoImNvbnRhaW5lciIsIHN0ZXAxKTsKKworICAgIGZ1bmN0aW9u
IHN0ZXAxKG5vZGUpCisgICAgeworICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiQmVm
b3JlIGRpc2FibGUiKTsKKyAgICAgICAgdmFyIHRyZWVJdGVtID0gSW5zcGVjdG9yVGVzdC5nZXRF
bGVtZW50U3R5bGVQcm9wZXJ0eVRyZWVJdGVtKCJmb250LXdlaWdodCIpOworICAgICAgICBJbnNw
ZWN0b3JUZXN0LmR1bXBTdHlsZVRyZWVJdGVtKHRyZWVJdGVtLCAiIik7CisKKyAgICAgICAgSW5z
cGVjdG9yVGVzdC50b2dnbGVTdHlsZVByb3BlcnR5KCJmb250LXdlaWdodCIsIGZhbHNlKTsKKyAg
ICAgICAgSW5zcGVjdG9yVGVzdC53YWl0Rm9yU3R5bGVzKCJjb250YWluZXIiLCBzdGVwMik7Cisg
ICAgfQorCisgICAgZnVuY3Rpb24gc3RlcDIoKQorICAgIHsKKyAgICAgICAgSW5zcGVjdG9yVGVz
dC5hZGRSZXN1bHQoIkFmdGVyIGRpc2FibGUiKTsKKyAgICAgICAgdmFyIHRyZWVJdGVtID0gSW5z
cGVjdG9yVGVzdC5nZXRFbGVtZW50U3R5bGVQcm9wZXJ0eVRyZWVJdGVtKCJmb250LXdlaWdodCIp
OworICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBTdHlsZVRyZWVJdGVtKHRyZWVJdGVtLCAiIik7
CisKKyAgICAgICAgSW5zcGVjdG9yVGVzdC50b2dnbGVTdHlsZVByb3BlcnR5KCJmb250LXdlaWdo
dCIsIHRydWUpOworICAgICAgICBJbnNwZWN0b3JUZXN0LndhaXRGb3JTdHlsZXMoImNvbnRhaW5l
ciIsIHN0ZXAzKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBzdGVwMygpCisgICAgeworICAgICAg
ICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiQWZ0ZXIgZW5hYmxlIik7CisgICAgICAgIHZhciB0
cmVlSXRlbSA9IEluc3BlY3RvclRlc3QuZ2V0RWxlbWVudFN0eWxlUHJvcGVydHlUcmVlSXRlbSgi
Zm9udC13ZWlnaHQiKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wU3R5bGVUcmVlSXRlbSh0
cmVlSXRlbSwgIiIpOworCisgICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7Cisg
ICAgfQorfQorPC9zY3JpcHQ+Cis8L2hlYWQ+CisKKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4K
KzxwPgorVGVzdHMgdGhhdCBkaXNhYmxpbmcgc3R5bGUgcHJvcGVydHkgd29ya3MuCis8L3A+CisK
KzxkaXYgaWQ9ImNvbnRhaW5lciIgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiPgorPC9kaXY+CisK
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNv
bGV0ZS9zdHlsZXMvc3R5bGVzLWZvcm1hdHRpbmctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy9zdHlsZXMtZm9ybWF0dGluZy1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNDBkYzY3ODAyNTlmZTc5ZjVmZWQ5MTI5ZDYwMzgyZWNmYjE5NGExYwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvc3R5
bGVzLWZvcm1hdHRpbmctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTc3IEBACitUZXN0cyB0aGF0
IEluc3BlY3RvckNTU0FnZW50IGZvcm1hdHMgdGhlIENTUyBzdHlsZSB0ZXh0IGJhc2VkIG9uIHRo
ZSBDU1MgbW9kZWwgbW9kaWZpY2F0aW9ucy4KKworRm9ybWF0dGVkCitVbmZvcm1hdHRlZAorCitS
dW5uaW5nOiBpbml0Rm9ybWF0dGVkU3R5bGUKKworUnVubmluZzogdGVzdEZvcm1hdHRlZEluc2Vy
dFN0YXJ0CityYXcgY3NzVGV4dDoKK3sgCisgICAgZmlyc3RQcm9wZXJ0eTogZmlyc3RWYWx1ZTsK
KyAgICBwcm9wZXJ0eTE6IHZhbHVlMTsKKyAgICBwcm9wZXJ0eTI6IHZhbHVlMjsKKyAgICBwcm9w
ZXJ0eTM6IHZhbHVlMzsKK30KKworUnVubmluZzogdGVzdEZvcm1hdHRlZFJlbW92ZVN0YXJ0City
YXcgY3NzVGV4dDoKK3sgCisgICAgcHJvcGVydHkxOiB2YWx1ZTE7CisgICAgcHJvcGVydHkyOiB2
YWx1ZTI7CisgICAgcHJvcGVydHkzOiB2YWx1ZTM7Cit9CisKK1J1bm5pbmc6IHRlc3RGb3JtYXR0
ZWRJbnNlcnRNaWRkbGUKK3JhdyBjc3NUZXh0OgoreyAKKyAgICBwcm9wZXJ0eTE6IHZhbHVlMTsK
KyAgICBtaWRkbGVQcm9wZXJ0eTogbWlkZGxlVmFsdWU7CisgICAgcHJvcGVydHkyOiB2YWx1ZTI7
CisgICAgcHJvcGVydHkzOiB2YWx1ZTM7Cit9CisKK1J1bm5pbmc6IHRlc3RGb3JtYXR0ZWRSZW1v
dmVNaWRkbGUKK3JhdyBjc3NUZXh0OgoreyAKKyAgICBwcm9wZXJ0eTE6IHZhbHVlMTsKKyAgICBw
cm9wZXJ0eTI6IHZhbHVlMjsKKyAgICBwcm9wZXJ0eTM6IHZhbHVlMzsKK30KKworUnVubmluZzog
dGVzdEZvcm1hdHRlZEluc2VydEVuZAorcmF3IGNzc1RleHQ6Cit7IAorICAgIHByb3BlcnR5MTog
dmFsdWUxOworICAgIHByb3BlcnR5MjogdmFsdWUyOworICAgIHByb3BlcnR5MzogdmFsdWUzOwor
ICAgIGVuZFByb3BlcnR5OiBlbmRWYWx1ZTsKK30KKworUnVubmluZzogdGVzdEZvcm1hdHRlZFJl
bW92ZUVuZAorcmF3IGNzc1RleHQ6Cit7IAorICAgIHByb3BlcnR5MTogdmFsdWUxOworICAgIHBy
b3BlcnR5MjogdmFsdWUyOworICAgIHByb3BlcnR5MzogdmFsdWUzOworfQorCitSdW5uaW5nOiB0
ZXN0Rm9ybWF0dGVkRGlzYWJsZVN0YXJ0CityYXcgY3NzVGV4dDoKK3sgCisgICAgcHJvcGVydHky
OiB2YWx1ZTI7CisgICAgcHJvcGVydHkzOiB2YWx1ZTM7Cit9CisKK1J1bm5pbmc6IHRlc3RGb3Jt
YXR0ZWREaXNhYmxlRW5kCityYXcgY3NzVGV4dDoKK3sgCisgICAgcHJvcGVydHkyOiB2YWx1ZTI7
Cit9CisKK1J1bm5pbmc6IHRlc3RGb3JtYXR0ZWREaXNhYmxlTWlkZGxlCityYXcgY3NzVGV4dDoK
K3sgCit9CisKK1J1bm5pbmc6IHRlc3RGb3JtYXR0ZWRJbnNlcnQxCityYXcgY3NzVGV4dDoKK3sg
CisgICAgcHJvcEE6IHZhbEE7Cit9CisKK1J1bm5pbmc6IHRlc3RGb3JtYXR0ZWRJbnNlcnQyCity
YXcgY3NzVGV4dDoKK3sgCisgICAgcHJvcEE6IHZhbEE7CisgICAgcHJvcEI6IHZhbEI7Cit9CisK
K1J1bm5pbmc6IHRlc3RGb3JtYXR0ZWRJbnNlcnQzCityYXcgY3NzVGV4dDoKK3sgCisgICAgcHJv
cEE6IHZhbEE7CisgICAgcHJvcEI6IHZhbEI7CisgICAgcHJvcEM6IHZhbEM7Cit9CisKK1J1bm5p
bmc6IHRlc3RGb3JtYXR0ZWRFbmFibGVTdGFydAorcmF3IGNzc1RleHQ6Cit7IAorICAgIHByb3BB
OiB2YWxBOworICAgIHByb3BlcnR5MTogdmFsdWUxOworICAgIHByb3BCOiB2YWxCOworICAgIHBy
b3BDOiB2YWxDOworfQorCitSdW5uaW5nOiB0ZXN0Rm9ybWF0dGVkRW5hYmxlRW5kCityYXcgY3Nz
VGV4dDoKK3sgCisgICAgcHJvcEE6IHZhbEE7CisgICAgcHJvcGVydHkxOiB2YWx1ZTE7CisgICAg
cHJvcEI6IHZhbEI7CisgICAgcHJvcGVydHkzOiB2YWx1ZTM7CisgICAgcHJvcEM6IHZhbEM7Cit9
CisKK1J1bm5pbmc6IHRlc3RGb3JtYXR0ZWRFbmFibGVNaWRkbGUKK3JhdyBjc3NUZXh0OgoreyAK
KyAgICBwcm9wQTogdmFsQTsKKyAgICBwcm9wZXJ0eTE6IHZhbHVlMTsKKyAgICBwcm9wQjogdmFs
QjsKKyAgICBwcm9wZXJ0eTI6IHZhbHVlMjsKKyAgICBwcm9wZXJ0eTM6IHZhbHVlMzsKKyAgICBw
cm9wQzogdmFsQzsKK30KKworUnVubmluZzogaW5pdFVuZm9ybWF0dGVkU3R5bGUKKworUnVubmlu
ZzogdGVzdFVuZm9ybWF0dGVkSW5zZXJ0U3RhcnQKK3JhdyBjc3NUZXh0Ogore2ZpcnN0UHJvcGVy
dHk6IGZpcnN0VmFsdWU7cHJvcGVydHkxOnZhbHVlMTtwcm9wZXJ0eTI6dmFsdWUyO3Byb3BlcnR5
Mzp2YWx1ZTM7fQorCitSdW5uaW5nOiB0ZXN0VW5mb3JtYXR0ZWRSZW1vdmVTdGFydAorcmF3IGNz
c1RleHQ6Cit7cHJvcGVydHkxOnZhbHVlMTtwcm9wZXJ0eTI6dmFsdWUyO3Byb3BlcnR5Mzp2YWx1
ZTM7fQorCitSdW5uaW5nOiB0ZXN0VW5mb3JtYXR0ZWRJbnNlcnRNaWRkbGUKK3JhdyBjc3NUZXh0
Ogore3Byb3BlcnR5MTp2YWx1ZTE7bWlkZGxlUHJvcGVydHk6IG1pZGRsZVZhbHVlO3Byb3BlcnR5
Mjp2YWx1ZTI7cHJvcGVydHkzOnZhbHVlMzt9CisKK1J1bm5pbmc6IHRlc3RVbmZvcm1hdHRlZFJl
bW92ZU1pZGRsZQorcmF3IGNzc1RleHQ6Cit7cHJvcGVydHkxOnZhbHVlMTtwcm9wZXJ0eTI6dmFs
dWUyO3Byb3BlcnR5Mzp2YWx1ZTM7fQorCitSdW5uaW5nOiB0ZXN0VW5mb3JtYXR0ZWRJbnNlcnRF
bmQKK3JhdyBjc3NUZXh0Ogore3Byb3BlcnR5MTp2YWx1ZTE7cHJvcGVydHkyOnZhbHVlMjtwcm9w
ZXJ0eTM6dmFsdWUzO2VuZFByb3BlcnR5OiBlbmRWYWx1ZTt9CisKK1J1bm5pbmc6IHRlc3RVbmZv
cm1hdHRlZFJlbW92ZUVuZAorcmF3IGNzc1RleHQ6Cit7cHJvcGVydHkxOnZhbHVlMTtwcm9wZXJ0
eTI6dmFsdWUyO3Byb3BlcnR5Mzp2YWx1ZTM7fQorCitSdW5uaW5nOiB0ZXN0VW5mb3JtYXR0ZWRE
aXNhYmxlU3RhcnQKK3JhdyBjc3NUZXh0Ogore3Byb3BlcnR5Mjp2YWx1ZTI7cHJvcGVydHkzOnZh
bHVlMzt9CisKK1J1bm5pbmc6IHRlc3RVbmZvcm1hdHRlZERpc2FibGVFbmQKK3JhdyBjc3NUZXh0
Ogore3Byb3BlcnR5Mjp2YWx1ZTI7fQorCitSdW5uaW5nOiB0ZXN0VW5mb3JtYXR0ZWREaXNhYmxl
TWlkZGxlCityYXcgY3NzVGV4dDoKK3t9CisKK1J1bm5pbmc6IHRlc3RVbmZvcm1hdHRlZEVuYWJs
ZVN0YXJ0CityYXcgY3NzVGV4dDoKK3twcm9wZXJ0eTE6dmFsdWUxO30KKworUnVubmluZzogdGVz
dFVuZm9ybWF0dGVkRW5hYmxlRW5kCityYXcgY3NzVGV4dDoKK3twcm9wZXJ0eTE6dmFsdWUxO3By
b3BlcnR5Mzp2YWx1ZTM7fQorCitSdW5uaW5nOiB0ZXN0VW5mb3JtYXR0ZWRFbmFibGVNaWRkbGUK
K3JhdyBjc3NUZXh0Ogore3Byb3BlcnR5MTp2YWx1ZTE7cHJvcGVydHkyOnZhbHVlMjtwcm9wZXJ0
eTM6dmFsdWUzO30KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRl
L3N0eWxlcy9zdHlsZXMtZm9ybWF0dGluZy5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9i
c29sZXRlL3N0eWxlcy9zdHlsZXMtZm9ybWF0dGluZy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE0OTg1NGUw
N2YxNjliOWM3YzgzMTdiYWU3NTdjZGQ4ZDMyNTlhZWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVzL3N0eWxlcy1mb3JtYXR0aW5nLmh0bWwK
QEAgLTAsMCArMSwyNDggQEAKKzxodG1sPgorPGhlYWQ+CisKKzxzY3JpcHQgc3JjPSIuLi8uLi9o
dHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMtdGVzdC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0PgorCitmdW5jdGlvbiB0ZXN0KCkKK3sKKyAgICB2YXIgZm9ybWF0dGVkU3R5
bGU7CisgICAgdmFyIHVuZm9ybWF0dGVkU3R5bGU7CisKKyAgICBJbnNwZWN0b3JUZXN0LnJ1blRl
c3RTdWl0ZShbCisgICAgICAgIGZ1bmN0aW9uIGluaXRGb3JtYXR0ZWRTdHlsZShuZXh0KQorICAg
ICAgICB7CisgICAgICAgICAgICBmdW5jdGlvbiBjYWxsYmFjayhzdHlsZXMpCisgICAgICAgICAg
ICB7CisgICAgICAgICAgICAgICAgaWYgKCFzdHlsZXMpIHsKKyAgICAgICAgICAgICAgICAgICAg
SW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoImVtcHR5IHN0eWxlcyIpOworICAgICAgICAgICAgICAg
ICAgICByZXR1cm47CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgZm9ybWF0
dGVkU3R5bGUgPSBzdHlsZXMubWF0Y2hlZENTU1J1bGVzWzFdLnN0eWxlOworICAgICAgICAgICAg
ICAgIG5leHQoKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgZnVuY3Rpb24gbm9kZUNh
bGxiYWNrKG5vZGUpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgV2ViSW5zcGVjdG9y
LmNzc01vZGVsLmdldE1hdGNoZWRTdHlsZXNBc3luYyhub2RlLmlkLCBmYWxzZSwgZmFsc2UsIGNh
bGxiYWNrKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIEluc3BlY3RvclRlc3Quc2VsZWN0
Tm9kZVdpdGhJZCgiZm9ybWF0dGVkIiwgbm9kZUNhbGxiYWNrKTsKKyAgICAgICAgfSwKKworICAg
ICAgICBmdW5jdGlvbiB0ZXN0Rm9ybWF0dGVkSW5zZXJ0U3RhcnQobmV4dCkKKyAgICAgICAgewor
ICAgICAgICAgICAgZm9ybWF0dGVkU3R5bGUuaW5zZXJ0UHJvcGVydHlBdCgwLCAiZmlyc3RQcm9w
ZXJ0eSIsICJmaXJzdFZhbHVlIiwgZHVtcEZvcm1hdHRlZEFuZENhbGxOZXh0LmJpbmQobnVsbCwg
bmV4dCkpOworICAgICAgICB9LAorCisgICAgICAgIGZ1bmN0aW9uIHRlc3RGb3JtYXR0ZWRSZW1v
dmVTdGFydChuZXh0KQorICAgICAgICB7CisgICAgICAgICAgICBmb3JtYXR0ZWRTdHlsZS5hbGxQ
cm9wZXJ0aWVzWzBdLnNldFRleHQoIiIsIHRydWUsIHRydWUsIGR1bXBGb3JtYXR0ZWRBbmRDYWxs
TmV4dC5iaW5kKG51bGwsIG5leHQpKTsKKyAgICAgICAgfSwKKworICAgICAgICBmdW5jdGlvbiB0
ZXN0Rm9ybWF0dGVkSW5zZXJ0TWlkZGxlKG5leHQpCisgICAgICAgIHsKKyAgICAgICAgICAgIGZv
cm1hdHRlZFN0eWxlLmluc2VydFByb3BlcnR5QXQoMSwgIm1pZGRsZVByb3BlcnR5IiwgIm1pZGRs
ZVZhbHVlIiwgZHVtcEZvcm1hdHRlZEFuZENhbGxOZXh0LmJpbmQobnVsbCwgbmV4dCkpOworICAg
ICAgICB9LAorCisgICAgICAgIGZ1bmN0aW9uIHRlc3RGb3JtYXR0ZWRSZW1vdmVNaWRkbGUobmV4
dCkKKyAgICAgICAgeworICAgICAgICAgICAgZm9ybWF0dGVkU3R5bGUuYWxsUHJvcGVydGllc1sx
XS5zZXRUZXh0KCIiLCB0cnVlLCB0cnVlLCBkdW1wRm9ybWF0dGVkQW5kQ2FsbE5leHQuYmluZChu
dWxsLCBuZXh0KSk7CisgICAgICAgIH0sCisKKyAgICAgICAgZnVuY3Rpb24gdGVzdEZvcm1hdHRl
ZEluc2VydEVuZChuZXh0KQorICAgICAgICB7CisgICAgICAgICAgICBmb3JtYXR0ZWRTdHlsZS5p
bnNlcnRQcm9wZXJ0eUF0KDMsICJlbmRQcm9wZXJ0eSIsICJlbmRWYWx1ZSIsIGR1bXBGb3JtYXR0
ZWRBbmRDYWxsTmV4dC5iaW5kKG51bGwsIG5leHQpKTsKKyAgICAgICAgfSwKKworICAgICAgICBm
dW5jdGlvbiB0ZXN0Rm9ybWF0dGVkUmVtb3ZlRW5kKG5leHQpCisgICAgICAgIHsKKyAgICAgICAg
ICAgIGZvcm1hdHRlZFN0eWxlLmFsbFByb3BlcnRpZXNbM10uc2V0VGV4dCgiIiwgdHJ1ZSwgdHJ1
ZSwgZHVtcEZvcm1hdHRlZEFuZENhbGxOZXh0LmJpbmQobnVsbCwgbmV4dCkpOworICAgICAgICB9
LAorCisgICAgICAgIGZ1bmN0aW9uIHRlc3RGb3JtYXR0ZWREaXNhYmxlU3RhcnQobmV4dCkKKyAg
ICAgICAgeworICAgICAgICAgICAgZm9ybWF0dGVkU3R5bGUuYWxsUHJvcGVydGllc1swXS5zZXRE
aXNhYmxlZCh0cnVlLCBkdW1wRm9ybWF0dGVkQW5kQ2FsbE5leHQuYmluZChudWxsLCBuZXh0KSk7
CisgICAgICAgIH0sCisKKyAgICAgICAgZnVuY3Rpb24gdGVzdEZvcm1hdHRlZERpc2FibGVFbmQo
bmV4dCkKKyAgICAgICAgeworICAgICAgICAgICAgZm9ybWF0dGVkU3R5bGUuYWxsUHJvcGVydGll
c1syXS5zZXREaXNhYmxlZCh0cnVlLCBkdW1wRm9ybWF0dGVkQW5kQ2FsbE5leHQuYmluZChudWxs
LCBuZXh0KSk7CisgICAgICAgIH0sCisKKyAgICAgICAgZnVuY3Rpb24gdGVzdEZvcm1hdHRlZERp
c2FibGVNaWRkbGUobmV4dCkKKyAgICAgICAgeworICAgICAgICAgICAgZm9ybWF0dGVkU3R5bGUu
YWxsUHJvcGVydGllc1sxXS5zZXREaXNhYmxlZCh0cnVlLCBkdW1wRm9ybWF0dGVkQW5kQ2FsbE5l
eHQuYmluZChudWxsLCBuZXh0KSk7CisgICAgICAgIH0sCisKKyAgICAgICAgZnVuY3Rpb24gdGVz
dEZvcm1hdHRlZEluc2VydDEobmV4dCkKKyAgICAgICAgeworICAgICAgICAgICAgZm9ybWF0dGVk
U3R5bGUuaW5zZXJ0UHJvcGVydHlBdCgwLCAicHJvcEEiLCAidmFsQSIsIGR1bXBGb3JtYXR0ZWRB
bmRDYWxsTmV4dC5iaW5kKG51bGwsIG5leHQpKTsKKyAgICAgICAgfSwKKworICAgICAgICBmdW5j
dGlvbiB0ZXN0Rm9ybWF0dGVkSW5zZXJ0MihuZXh0KQorICAgICAgICB7CisgICAgICAgICAgICBm
b3JtYXR0ZWRTdHlsZS5pbnNlcnRQcm9wZXJ0eUF0KDIsICJwcm9wQiIsICJ2YWxCIiwgZHVtcEZv
cm1hdHRlZEFuZENhbGxOZXh0LmJpbmQobnVsbCwgbmV4dCkpOworICAgICAgICB9LAorCisgICAg
ICAgIGZ1bmN0aW9uIHRlc3RGb3JtYXR0ZWRJbnNlcnQzKG5leHQpCisgICAgICAgIHsKKyAgICAg
ICAgICAgIGZvcm1hdHRlZFN0eWxlLmluc2VydFByb3BlcnR5QXQoNSwgInByb3BDIiwgInZhbEMi
LCBkdW1wRm9ybWF0dGVkQW5kQ2FsbE5leHQuYmluZChudWxsLCBuZXh0KSk7CisgICAgICAgIH0s
CisKKyAgICAgICAgZnVuY3Rpb24gdGVzdEZvcm1hdHRlZEVuYWJsZVN0YXJ0KG5leHQpCisgICAg
ICAgIHsKKyAgICAgICAgICAgIGZvcm1hdHRlZFN0eWxlLmFsbFByb3BlcnRpZXNbMV0uc2V0RGlz
YWJsZWQoZmFsc2UsIGR1bXBGb3JtYXR0ZWRBbmRDYWxsTmV4dC5iaW5kKG51bGwsIG5leHQpKTsK
KyAgICAgICAgfSwKKworICAgICAgICBmdW5jdGlvbiB0ZXN0Rm9ybWF0dGVkRW5hYmxlRW5kKG5l
eHQpCisgICAgICAgIHsKKyAgICAgICAgICAgIGZvcm1hdHRlZFN0eWxlLmFsbFByb3BlcnRpZXNb
NF0uc2V0RGlzYWJsZWQoZmFsc2UsIGR1bXBGb3JtYXR0ZWRBbmRDYWxsTmV4dC5iaW5kKG51bGws
IG5leHQpKTsKKyAgICAgICAgfSwKKworICAgICAgICBmdW5jdGlvbiB0ZXN0Rm9ybWF0dGVkRW5h
YmxlTWlkZGxlKG5leHQpCisgICAgICAgIHsKKyAgICAgICAgICAgIGZvcm1hdHRlZFN0eWxlLmFs
bFByb3BlcnRpZXNbM10uc2V0RGlzYWJsZWQoZmFsc2UsIGR1bXBGb3JtYXR0ZWRBbmRDYWxsTmV4
dC5iaW5kKG51bGwsIG5leHQpKTsKKyAgICAgICAgfSwKKworICAgICAgICBmdW5jdGlvbiBpbml0
VW5mb3JtYXR0ZWRTdHlsZShuZXh0KQorICAgICAgICB7CisgICAgICAgICAgICBmdW5jdGlvbiBj
YWxsYmFjayhzdHlsZXMpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgaWYgKCFzdHls
ZXMpIHsKKyAgICAgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoImVtcHR5
IHN0eWxlcyIpOworICAgICAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICAgICAg
fQorCisgICAgICAgICAgICAgICAgdW5mb3JtYXR0ZWRTdHlsZSA9IHN0eWxlcy5tYXRjaGVkQ1NT
UnVsZXNbMV0uc3R5bGU7CisgICAgICAgICAgICAgICAgbmV4dCgpOworICAgICAgICAgICAgfQor
CisgICAgICAgICAgICBmdW5jdGlvbiBub2RlQ2FsbGJhY2sobm9kZSkKKyAgICAgICAgICAgIHsK
KyAgICAgICAgICAgICAgICBXZWJJbnNwZWN0b3IuY3NzTW9kZWwuZ2V0TWF0Y2hlZFN0eWxlc0Fz
eW5jKG5vZGUuaWQsIGZhbHNlLCBmYWxzZSwgY2FsbGJhY2spOworICAgICAgICAgICAgfQorICAg
ICAgICAgICAgSW5zcGVjdG9yVGVzdC5zZWxlY3ROb2RlV2l0aElkKCJ1bmZvcm1hdHRlZCIsIG5v
ZGVDYWxsYmFjayk7CisgICAgICAgIH0sCisKKyAgICAgICAgZnVuY3Rpb24gdGVzdFVuZm9ybWF0
dGVkSW5zZXJ0U3RhcnQobmV4dCkKKyAgICAgICAgeworICAgICAgICAgICAgdW5mb3JtYXR0ZWRT
dHlsZS5pbnNlcnRQcm9wZXJ0eUF0KDAsICJmaXJzdFByb3BlcnR5IiwgImZpcnN0VmFsdWUiLCBk
dW1wVW5mb3JtYXR0ZWRBbmRDYWxsTmV4dC5iaW5kKG51bGwsIG5leHQpKTsKKyAgICAgICAgfSwK
KworICAgICAgICBmdW5jdGlvbiB0ZXN0VW5mb3JtYXR0ZWRSZW1vdmVTdGFydChuZXh0KQorICAg
ICAgICB7CisgICAgICAgICAgICB1bmZvcm1hdHRlZFN0eWxlLmFsbFByb3BlcnRpZXNbMF0uc2V0
VGV4dCgiIiwgdHJ1ZSwgdHJ1ZSwgZHVtcFVuZm9ybWF0dGVkQW5kQ2FsbE5leHQuYmluZChudWxs
LCBuZXh0KSk7CisgICAgICAgIH0sCisKKyAgICAgICAgZnVuY3Rpb24gdGVzdFVuZm9ybWF0dGVk
SW5zZXJ0TWlkZGxlKG5leHQpCisgICAgICAgIHsKKyAgICAgICAgICAgIHVuZm9ybWF0dGVkU3R5
bGUuaW5zZXJ0UHJvcGVydHlBdCgxLCAibWlkZGxlUHJvcGVydHkiLCAibWlkZGxlVmFsdWUiLCBk
dW1wVW5mb3JtYXR0ZWRBbmRDYWxsTmV4dC5iaW5kKG51bGwsIG5leHQpKTsKKyAgICAgICAgfSwK
KworICAgICAgICBmdW5jdGlvbiB0ZXN0VW5mb3JtYXR0ZWRSZW1vdmVNaWRkbGUobmV4dCkKKyAg
ICAgICAgeworICAgICAgICAgICAgdW5mb3JtYXR0ZWRTdHlsZS5hbGxQcm9wZXJ0aWVzWzFdLnNl
dFRleHQoIiIsIHRydWUsIHRydWUsIGR1bXBVbmZvcm1hdHRlZEFuZENhbGxOZXh0LmJpbmQobnVs
bCwgbmV4dCkpOworICAgICAgICB9LAorCisgICAgICAgIGZ1bmN0aW9uIHRlc3RVbmZvcm1hdHRl
ZEluc2VydEVuZChuZXh0KQorICAgICAgICB7CisgICAgICAgICAgICB1bmZvcm1hdHRlZFN0eWxl
Lmluc2VydFByb3BlcnR5QXQoMywgImVuZFByb3BlcnR5IiwgImVuZFZhbHVlIiwgZHVtcFVuZm9y
bWF0dGVkQW5kQ2FsbE5leHQuYmluZChudWxsLCBuZXh0KSk7CisgICAgICAgIH0sCisKKyAgICAg
ICAgZnVuY3Rpb24gdGVzdFVuZm9ybWF0dGVkUmVtb3ZlRW5kKG5leHQpCisgICAgICAgIHsKKyAg
ICAgICAgICAgIHVuZm9ybWF0dGVkU3R5bGUuYWxsUHJvcGVydGllc1szXS5zZXRUZXh0KCIiLCB0
cnVlLCB0cnVlLCBkdW1wVW5mb3JtYXR0ZWRBbmRDYWxsTmV4dC5iaW5kKG51bGwsIG5leHQpKTsK
KyAgICAgICAgfSwKKworICAgICAgICBmdW5jdGlvbiB0ZXN0VW5mb3JtYXR0ZWREaXNhYmxlU3Rh
cnQobmV4dCkKKyAgICAgICAgeworICAgICAgICAgICAgdW5mb3JtYXR0ZWRTdHlsZS5hbGxQcm9w
ZXJ0aWVzWzBdLnNldERpc2FibGVkKHRydWUsIGR1bXBVbmZvcm1hdHRlZEFuZENhbGxOZXh0LmJp
bmQobnVsbCwgbmV4dCkpOworICAgICAgICB9LAorCisgICAgICAgIGZ1bmN0aW9uIHRlc3RVbmZv
cm1hdHRlZERpc2FibGVFbmQobmV4dCkKKyAgICAgICAgeworICAgICAgICAgICAgdW5mb3JtYXR0
ZWRTdHlsZS5hbGxQcm9wZXJ0aWVzWzJdLnNldERpc2FibGVkKHRydWUsIGR1bXBVbmZvcm1hdHRl
ZEFuZENhbGxOZXh0LmJpbmQobnVsbCwgbmV4dCkpOworICAgICAgICB9LAorCisgICAgICAgIGZ1
bmN0aW9uIHRlc3RVbmZvcm1hdHRlZERpc2FibGVNaWRkbGUobmV4dCkKKyAgICAgICAgeworICAg
ICAgICAgICAgdW5mb3JtYXR0ZWRTdHlsZS5hbGxQcm9wZXJ0aWVzWzFdLnNldERpc2FibGVkKHRy
dWUsIGR1bXBVbmZvcm1hdHRlZEFuZENhbGxOZXh0LmJpbmQobnVsbCwgbmV4dCkpOworICAgICAg
ICB9LAorCisgICAgICAgIGZ1bmN0aW9uIHRlc3RVbmZvcm1hdHRlZEVuYWJsZVN0YXJ0KG5leHQp
CisgICAgICAgIHsKKyAgICAgICAgICAgIHVuZm9ybWF0dGVkU3R5bGUuYWxsUHJvcGVydGllc1sw
XS5zZXREaXNhYmxlZChmYWxzZSwgZHVtcFVuZm9ybWF0dGVkQW5kQ2FsbE5leHQuYmluZChudWxs
LCBuZXh0KSk7CisgICAgICAgIH0sCisKKyAgICAgICAgZnVuY3Rpb24gdGVzdFVuZm9ybWF0dGVk
RW5hYmxlRW5kKG5leHQpCisgICAgICAgIHsKKyAgICAgICAgICAgIHVuZm9ybWF0dGVkU3R5bGUu
YWxsUHJvcGVydGllc1syXS5zZXREaXNhYmxlZChmYWxzZSwgZHVtcFVuZm9ybWF0dGVkQW5kQ2Fs
bE5leHQuYmluZChudWxsLCBuZXh0KSk7CisgICAgICAgIH0sCisKKyAgICAgICAgZnVuY3Rpb24g
dGVzdFVuZm9ybWF0dGVkRW5hYmxlTWlkZGxlKG5leHQpCisgICAgICAgIHsKKyAgICAgICAgICAg
IHVuZm9ybWF0dGVkU3R5bGUuYWxsUHJvcGVydGllc1sxXS5zZXREaXNhYmxlZChmYWxzZSwgZHVt
cFVuZm9ybWF0dGVkQW5kQ2FsbE5leHQuYmluZChudWxsLCBuZXh0KSk7CisgICAgICAgIH0KKyAg
ICBdKTsKKworICAgIC8vIERhdGEgZHVtcGluZworCisgICAgZnVuY3Rpb24gZHVtcEZvcm1hdHRl
ZEFuZENhbGxOZXh0KG5leHQsIHN0eWxlKQorICAgIHsKKyAgICAgICAgaWYgKCFzdHlsZSkgewor
ICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoImVycm9yOiBlbXB0eSBzdHlsZSIp
OworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKKyAgICAgICAgfQor
CisgICAgICAgIGZvcm1hdHRlZFN0eWxlID0gc3R5bGU7CisgICAgICAgIGR1bXBTdHlsZShzdHls
ZSk7CisgICAgICAgIGlmIChuZXh0KQorICAgICAgICAgICAgbmV4dCgpOworICAgIH0KKworICAg
IGZ1bmN0aW9uIGR1bXBVbmZvcm1hdHRlZEFuZENhbGxOZXh0KG5leHQsIHN0eWxlKQorICAgIHsK
KyAgICAgICAgaWYgKCFzdHlsZSkgeworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1
bHQoImVycm9yOiBlbXB0eSBzdHlsZSIpOworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21w
bGV0ZVRlc3QoKTsKKyAgICAgICAgfQorCisgICAgICAgIHVuZm9ybWF0dGVkU3R5bGUgPSBzdHls
ZTsKKyAgICAgICAgZHVtcFN0eWxlKHN0eWxlKTsKKyAgICAgICAgaWYgKG5leHQpCisgICAgICAg
ICAgICBuZXh0KCk7CisgICAgfQorCisgICAgZnVuY3Rpb24gZHVtcFN0eWxlKHN0eWxlKQorICAg
IHsKKyAgICAgICAgaWYgKCFzdHlsZSkKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgSW5z
cGVjdG9yVGVzdC5hZGRSZXN1bHQoInJhdyBjc3NUZXh0OiIpOworICAgICAgICBJbnNwZWN0b3JU
ZXN0LmFkZFJlc3VsdCgieyIgKyBzdHlsZS5jc3NUZXh0ICsgIn0iKTsKKyAgICB9Cit9Cis8L3Nj
cmlwdD4KKworPHN0eWxlPgorCisjZm9ybWF0dGVkIHsgCisgICAgcHJvcGVydHkxOiB2YWx1ZTE7
CisgICAgcHJvcGVydHkyOiB2YWx1ZTI7CisgICAgcHJvcGVydHkzOiB2YWx1ZTM7Cit9CisKKyN1
bmZvcm1hdHRlZCB7cHJvcGVydHkxOnZhbHVlMTtwcm9wZXJ0eTI6dmFsdWUyO3Byb3BlcnR5Mzp2
YWx1ZTM7fQorCis8L3N0eWxlPgorPC9oZWFkPgorCis8Ym9keSBpZD0ibWFpbkJvZHkiIG9ubG9h
ZD0icnVuVGVzdCgpIj4KKzxwPgorVGVzdHMgdGhhdCBJbnNwZWN0b3JDU1NBZ2VudCBmb3JtYXRz
IHRoZSBDU1Mgc3R5bGUgdGV4dCBiYXNlZCBvbiB0aGUgQ1NTIG1vZGVsIG1vZGlmaWNhdGlvbnMu
Cis8L3A+Cis8ZGl2IGlkPSJmb3JtYXR0ZWQiPkZvcm1hdHRlZDwvZGl2PgorPGRpdiBpZD0idW5m
b3JtYXR0ZWQiPlVuZm9ybWF0dGVkPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVzL3N0eWxlcy1oaXN0b3J5LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvc3R5bGVz
LWhpc3RvcnktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjVkYjdmNTgwNWZlMDg3YWVjMmFmNWEx
OTkwM2ViNGI3MDNjYjdjZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0
b3Itb2Jzb2xldGUvc3R5bGVzL3N0eWxlcy1oaXN0b3J5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM3IEBACitUZXN0cyByZXNvdXJjZXMgcGFuZWwgaGlzdG9yeS4KKworCitSdW5uaW5nOiB0ZXN0
U2V0VXAKKworUnVubmluZzogdGVzdFNldFJlc291cmNlQ29udGVudE1pbm9yCitIaXN0b3J5IGxl
bmd0aDogMAorCitSdW5uaW5nOiB0ZXN0U2V0UmVzb3VyY2VDb250ZW50TWFqb3IKK0hpc3Rvcnkg
bGVuZ3RoOiAxCitJdGVtIDA6Citib2R5IHsKKyAgbWFyZ2luOiAyMHB4OworICBwYWRkaW5nOiAx
MHB4OworfQorCitSdW5uaW5nOiB0ZXN0U2V0Q29udGVudFZpYU1vZGVsTWlub3IKK0hpc3Rvcnkg
bGVuZ3RoOiAxCitJdGVtIDA6Citib2R5IHsKKyAgbWFyZ2luOiAyMHB4OworICBwYWRkaW5nOiAx
MHB4OworfQorCitSdW5uaW5nOiB0ZXN0U2V0Q29udGVudFZpYU1vZGVsTWFqb3IKK0hpc3Rvcnkg
bGVuZ3RoOiAyCitJdGVtIDA6Citib2R5IHsKKyAgbWFyZ2luOiAyMHB4OworICBwYWRkaW5nOiAx
MHB4OworfQorSXRlbSAxOgorYm9keSB7CisgIG1hcmdpbjozMHB4OworICBwYWRkaW5nOiAxMHB4
OworfQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVz
L3N0eWxlcy1oaXN0b3J5Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvc3R5
bGVzL3N0eWxlcy1oaXN0b3J5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOWRlOGY3ZmVlOGE4OWUzZTZhNzc4
YmRkMTZmNDA2MDZhY2RiYmNhYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci1vYnNvbGV0ZS9zdHlsZXMvc3R5bGVzLWhpc3RvcnkuaHRtbApAQCAtMCwwICsxLDEzMyBA
QAorPGh0bWw+Cis8aGVhZD4KKworPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJyZXNvdXJj
ZXMvc3R5bGVzLWhpc3RvcnkuY3NzIj4KKworPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMv
aW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9odHRwL3Rlc3RzL2luc3BlY3Rvci9lbGVtZW50cy10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZXMtdGVzdC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0PgorCitmdW5jdGlvbiB0ZXN0KCkKK3sKKyAgICBJbnNwZWN0b3JUZXN0
LnJ1bkFmdGVyQ2FjaGVkUmVzb3VyY2VzUHJvY2Vzc2VkKHJ1blRlc3RTdWl0ZSk7CisKKyAgICB2
YXIgdWlTb3VyY2VDb2RlOworCisgICAgZnVuY3Rpb24gcnVuVGVzdFN1aXRlKCkKKyAgICB7Cisg
ICAgICAgIEluc3BlY3RvclRlc3QucnVuVGVzdFN1aXRlKFsKKyAgICAgICAgICAgIGZ1bmN0aW9u
IHRlc3RTZXRVcChuZXh0KQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGZ1bmN0aW9u
IHZpc2l0VUlTb3VyY2VDb2RlcyhjdXJyZW50VUlTb3VyY2VDb2RlKQorICAgICAgICAgICAgICAg
IHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKGN1cnJlbnRVSVNvdXJjZUNvZGUub3JpZ2luVVJM
KCkuaW5kZXhPZigic3R5bGVzLWhpc3RvcnkuY3NzIikgPT09IC0xKQorICAgICAgICAgICAgICAg
ICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgICAgICAgICB1aVNvdXJjZUNvZGUgPSBjdXJy
ZW50VUlTb3VyY2VDb2RlOworICAgICAgICAgICAgICAgICAgICBuZXh0KCk7CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgICAgIFdlYkluc3BlY3Rvci53b3Jrc3BhY2UudWlTb3VyY2VD
b2RlcygpLmZvckVhY2godmlzaXRVSVNvdXJjZUNvZGVzKTsKKyAgICAgICAgICAgIH0sCisKKyAg
ICAgICAgICAgIGZ1bmN0aW9uIHRlc3RTZXRSZXNvdXJjZUNvbnRlbnRNaW5vcihuZXh0KQorICAg
ICAgICAgICAgeworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkU25pZmZlcihXZWJJ
bnNwZWN0b3IuU3R5bGVGaWxlLnByb3RvdHlwZSwgIl9zdHlsZUNvbnRlbnRTZXQiLCBzdHlsZVVw
ZGF0ZWRNaW5vcik7CisgICAgICAgICAgICAgICAgdWlTb3VyY2VDb2RlLnNldFdvcmtpbmdDb3B5
KCJib2R5IHtcbiAgbWFyZ2luOiAxNXB4O1xuICBwYWRkaW5nOiAxMHB4O1xufSIpOworCisgICAg
ICAgICAgICAgICAgZnVuY3Rpb24gc3R5bGVVcGRhdGVkTWlub3IoKQorICAgICAgICAgICAgICAg
IHsKKyAgICAgICAgICAgICAgICAgICAgZHVtcEhpc3RvcnkobmV4dCkoKTsKKyAgICAgICAgICAg
ICAgICB9CisgICAgICAgICAgICB9LAorCisgICAgICAgICAgICBmdW5jdGlvbiB0ZXN0U2V0UmVz
b3VyY2VDb250ZW50TWFqb3IobmV4dCkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBJ
bnNwZWN0b3JUZXN0LmFkZFNuaWZmZXIoV2ViSW5zcGVjdG9yLlN0eWxlRmlsZS5wcm90b3R5cGUs
ICJfc3R5bGVDb250ZW50U2V0Iiwgc3R5bGVVcGRhdGVkTWlub3IpOworICAgICAgICAgICAgICAg
IHVpU291cmNlQ29kZS5zZXRXb3JraW5nQ29weSgiYm9keSB7XG4gIG1hcmdpbjogMjBweDtcbiAg
cGFkZGluZzogMTBweDtcbn0iKTsKKworICAgICAgICAgICAgICAgIGZ1bmN0aW9uIHN0eWxlVXBk
YXRlZE1pbm9yKCkKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgIEluc3Bl
Y3RvclRlc3QuYWRkU25pZmZlcihXZWJJbnNwZWN0b3IuU3R5bGVGaWxlLnByb3RvdHlwZSwgIl9z
dHlsZUNvbnRlbnRTZXQiLCBzdHlsZVVwZGF0ZWRNYWpvcik7CisgICAgICAgICAgICAgICAgICAg
IHVpU291cmNlQ29kZS5jb21taXRXb3JraW5nQ29weShmdW5jdGlvbigpIHsgfSk7CisKKyAgICAg
ICAgICAgICAgICAgICAgZnVuY3Rpb24gc3R5bGVVcGRhdGVkTWFqb3IoKQorICAgICAgICAgICAg
ICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICBkdW1wSGlzdG9yeShuZXh0KSgpOwor
ICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwK
KworICAgICAgICAgICAgZnVuY3Rpb24gdGVzdFNldENvbnRlbnRWaWFNb2RlbE1pbm9yKG5leHQp
CisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgc3R5bGVTaGVldEZvclJlc291cmNlKHN0
ZXAxKTsKKworICAgICAgICAgICAgICAgIGZ1bmN0aW9uIHN0ZXAxKHN0eWxlU2hlZXQpCisgICAg
ICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICB2YXIgc3R5bGUgPSBzdHlsZVNoZWV0
LnJ1bGVzWzBdLnN0eWxlOworICAgICAgICAgICAgICAgICAgICB2YXIgcHJvcGVydHkgPSBzdHls
ZS5nZXRMaXZlUHJvcGVydHkoIm1hcmdpbiIpOworICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0
eS5zZXRUZXh0KCJtYXJnaW46MjVweDsiLCBmYWxzZSwgdHJ1ZSwgZHVtcEhpc3RvcnkobmV4dCkp
OworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sCisKKyAgICAgICAgICAgIGZ1bmN0
aW9uIHRlc3RTZXRDb250ZW50VmlhTW9kZWxNYWpvcihuZXh0KQorICAgICAgICAgICAgeworICAg
ICAgICAgICAgICAgIHN0eWxlU2hlZXRGb3JSZXNvdXJjZShzdGVwMSk7CisKKyAgICAgICAgICAg
ICAgICBmdW5jdGlvbiBzdGVwMShzdHlsZVNoZWV0KQorICAgICAgICAgICAgICAgIHsKKyAgICAg
ICAgICAgICAgICAgICAgdmFyIHN0eWxlID0gc3R5bGVTaGVldC5ydWxlc1swXS5zdHlsZTsKKyAg
ICAgICAgICAgICAgICAgICAgdmFyIHByb3BlcnR5ID0gc3R5bGUuZ2V0TGl2ZVByb3BlcnR5KCJt
YXJnaW4iKTsKKyAgICAgICAgICAgICAgICAgICAgcHJvcGVydHkuc2V0VGV4dCgibWFyZ2luOjMw
cHg7IiwgdHJ1ZSwgdHJ1ZSk7CisgICAgICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QucnVu
QWZ0ZXJQZW5kaW5nRGlzcGF0Y2hlcyhkdW1wSGlzdG9yeShuZXh0KSk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfQorICAgICAgICBdKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBz
dHlsZVNoZWV0Rm9yUmVzb3VyY2UoY2FsbGJhY2spCisgICAgeworICAgICAgICBDU1NBZ2VudC5n
ZXRBbGxTdHlsZVNoZWV0cyhkaWRHZXRBbGxTdHlsZVNoZWV0cy5iaW5kKHRoaXMpKTsKKworICAg
ICAgICBmdW5jdGlvbiBkaWRHZXRBbGxTdHlsZVNoZWV0cyhlcnJvciwgaW5mb3MpCisgICAgICAg
IHsKKyAgICAgICAgICAgIGlmIChlcnJvcikgeworICAgICAgICAgICAgICAgIEluc3BlY3RvclRl
c3QuYWRkUmVzdWx0KCJFcnJvcjoiICsgZXJyb3IpOworICAgICAgICAgICAgICAgIGNhbGxiYWNr
KG51bGwpOworICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIH0KKworICAgICAg
ICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBpbmZvcy5sZW5ndGg7ICsraSkgeworICAgICAgICAg
ICAgICAgIHZhciBpbmZvID0gaW5mb3NbaV07CisgICAgICAgICAgICAgICAgaWYgKGluZm8uc291
cmNlVVJMLmluZGV4T2YoInN0eWxlcy1oaXN0b3J5LmNzcyIpID09PSAtMSkKKyAgICAgICAgICAg
ICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICAgICAgV2ViSW5zcGVjdG9yLkNTU1N0eWxl
U2hlZXQuY3JlYXRlRm9ySWQoaW5mby5zdHlsZVNoZWV0SWQsIGNhbGxiYWNrKTsKKyAgICAgICAg
ICAgICAgICByZXR1cm47CisgICAgICAgICAgICB9CisgICAgICAgICAgICBjYWxsYmFjayhudWxs
KTsKKyAgICAgICAgfQorICAgIH0KKworICAgIGZ1bmN0aW9uIGR1bXBIaXN0b3J5KG5leHQpCisg
ICAgeworICAgICAgICBmdW5jdGlvbiByZXN1bHQoKQorICAgICAgICB7CisgICAgICAgICAgICBJ
bnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiSGlzdG9yeSBsZW5ndGg6ICIgKyB1aVNvdXJjZUNvZGUu
aGlzdG9yeS5sZW5ndGgpOworICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB1aVNvdXJj
ZUNvZGUuaGlzdG9yeS5sZW5ndGg7ICsraSkgeworICAgICAgICAgICAgICAgIEluc3BlY3RvclRl
c3QuYWRkUmVzdWx0KCJJdGVtICIgKyBpICsgIjoiKTsKKyAgICAgICAgICAgICAgICBJbnNwZWN0
b3JUZXN0LmFkZFJlc3VsdCh1aVNvdXJjZUNvZGUuaGlzdG9yeVtpXS5jb250ZW50KTsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIG5leHQoKTsKKyAgICAgICAgfQorICAgICAgICByZXR1cm4g
cmVzdWx0OworICAgIH0KK30KKworPC9zY3JpcHQ+Cis8L2hlYWQ+CisKKzxib2R5IG9ubG9hZD0i
cnVuVGVzdCgpIj4KKzxwPgorVGVzdHMgcmVzb3VyY2VzIHBhbmVsIGhpc3RvcnkuCis8L3A+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xl
dGUvc3R5bGVzL3N0eWxlcy1pZnJhbWUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yLW9ic29sZXRlL3N0eWxlcy9zdHlsZXMtaWZyYW1lLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yNmQwMDA0ODBhODI4Yjg3M2EyMzdmN2YxNTVjNmYwNTFkNzZkMzZmCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy9zdHlsZXMtaWZyYW1l
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACitDT05TT0xFIE1FU1NBR0U6IGxpbmUgOTog
aWZyYW1lIGxvYWRlZAorVGVzdHMgdGhhdCBwcm9wZXIgKGFuZCBkaWZmZXJlbnQpIHN0eWxlcyBh
cmUgcmV0dXJuZWQgZm9yIGJvZHkgZWxlbWVudHMgb2YgbWFpbiBkb2N1bWVudCBhbmQgaWZyYW1l
LgorCisKK01haW4gZnJhbWUgc3R5bGU6CitbZXhwYW5kZWRdIAorZWxlbWVudC5zdHlsZSAgeyAo
KQorCis9PT09PT09PSBNYXRjaGVkIENTUyBSdWxlcyA9PT09PT09PQorW2V4cGFuZGVkXSAKK21l
ZGlhPSJzY3JlZW4iIChzdHlsZXMtaWZyYW1lLmh0bWwpCisjbWFpbiAgeyAoc3R5bGVzLWlmcmFt
ZS5odG1sOjUpCitiYWNrZ3JvdW5kOiBibHVlOworCitbZXhwYW5kZWRdIAorZGl2ICB7ICh1c2Vy
IGFnZW50IHN0eWxlc2hlZXQpCitkaXNwbGF5OiBibG9jazsKKworCitpZnJhbWUgc3R5bGU6Citb
ZXhwYW5kZWRdIAorZWxlbWVudC5zdHlsZSAgeyAoKQorCis9PT09PT09PSBNYXRjaGVkIENTUyBS
dWxlcyA9PT09PT09PQorW2V4cGFuZGVkXSAKK21lZGlhPSJzY3JlZW4iIChzdHlsZXMtaWZyYW1l
LWRhdGEuaHRtbCkKK2JvZHkgIHsgKHN0eWxlcy1pZnJhbWUtZGF0YS5odG1sOjQpCitiYWNrZ3Jv
dW5kOiBncmVlbjsKKworW2V4cGFuZGVkXSAKK2JvZHkgIHsgKHVzZXIgYWdlbnQgc3R5bGVzaGVl
dCkKK2Rpc3BsYXk6IGJsb2NrOworbWFyZ2luOiA4cHg7CisKKworCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVzL3N0eWxlcy1pZnJhbWUuaHRtbCBiL0xh
eW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvc3R5bGVzLWlmcmFtZS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdlZDE5NTU4NTVlODQwY2VmNWQyZGM5ODUzYWIyZGUwNzRmN2NjZjIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVzL3N0eWxl
cy1pZnJhbWUuaHRtbApAQCAtMCwwICsxLDUzIEBACis8aHRtbD4KKzxoZWFkPgorCis8c3R5bGUg
dHlwZT0idGV4dC9jc3MiIG1lZGlhPSJzY3JlZW4iPgorICAjbWFpbiB7IGJhY2tncm91bmQ6Ymx1
ZTsgfQorPC9zdHlsZT4KKworPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9y
L2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rl
c3RzL2luc3BlY3Rvci9lbGVtZW50cy10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisKK2Z1
bmN0aW9uIGxvYWRJZnJhbWUoKQoreworICAgIHZhciBpZnJhbWUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJpZnJhbWUiKTsKKyAgICBpZnJhbWUuc3JjID0gInJlc291cmNlcy9zdHlsZXMtaWZy
YW1lLWRhdGEuaHRtbCI7CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm1haW4iKS5hcHBl
bmRDaGlsZChpZnJhbWUpOworfQorCitmdW5jdGlvbiB0ZXN0KCkKK3sKKyAgICBJbnNwZWN0b3JU
ZXN0LmV2YWx1YXRlSW5QYWdlKCJsb2FkSWZyYW1lKCkiKTsKKyAgICBJbnNwZWN0b3JUZXN0LmFk
ZENvbnNvbGVTbmlmZmVyKHN0ZXAwKTsKKworICAgIGZ1bmN0aW9uIHN0ZXAwKCkKKyAgICB7Cisg
ICAgICAgIEluc3BlY3RvclRlc3Quc2VsZWN0Tm9kZUFuZFdhaXRGb3JTdHlsZXMoIm1haW4iLCBz
dGVwMSk7CisgICAgfQorCisgICAgZnVuY3Rpb24gc3RlcDEoKQorICAgIHsKKyAgICAgICAgSW5z
cGVjdG9yVGVzdC5hZGRSZXN1bHQoIk1haW4gZnJhbWUgc3R5bGU6Iik7CisgICAgICAgIEluc3Bl
Y3RvclRlc3QuZHVtcFNlbGVjdGVkRWxlbWVudFN0eWxlcyh0cnVlLCBmYWxzZSwgdHJ1ZSk7Cisg
ICAgICAgIEluc3BlY3RvclRlc3Quc2VsZWN0Tm9kZUFuZFdhaXRGb3JTdHlsZXMoImlmcmFtZUJv
ZHkiLCBzdGVwMik7CisgICAgfQorCisgICAgZnVuY3Rpb24gc3RlcDIoKQorICAgIHsKKyAgICAg
ICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoImlmcmFtZSBzdHlsZToiKTsKKyAgICAgICAgSW5z
cGVjdG9yVGVzdC5kdW1wU2VsZWN0ZWRFbGVtZW50U3R5bGVzKHRydWUsIGZhbHNlLCB0cnVlKTsK
KyAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKKyAgICB9Cit9Cis8L3Njcmlw
dD4KKzwvaGVhZD4KKworPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgorPHA+CitUZXN0cyB0aGF0
IHByb3BlciAoYW5kIGRpZmZlcmVudCkgc3R5bGVzIGFyZSByZXR1cm5lZCBmb3IgYm9keSBlbGVt
ZW50cyBvZiBtYWluIGRvY3VtZW50IGFuZCBpZnJhbWUuCis8L3A+CisKKzxkaXYgaWQ9Im1haW4i
PjwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yLW9ic29sZXRlL3N0eWxlcy9zdHlsZXMtaW5jbHVkZS1ob3N0LXJ1bGVzLWNyYXNoLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvc3R5bGVzLWlu
Y2x1ZGUtaG9zdC1ydWxlcy1jcmFzaC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjI4OGI5NzZl
NDE3YjdjYzVlMGQyN2M5NmY0M2MwMDIwNGM0MGJiMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvc3R5bGVzLWluY2x1ZGUtaG9zdC1ydWxl
cy1jcmFzaC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNyBAQAorW2J1ZyAxMDIxMTZdIC0gaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMjExNiAtIEFTU0VSVF9OT1Rf
UkVBQ0hFRCgpIHdoZW4gYnVpbGRpbmcgYSBDU1NPTSB3cmFwcGVyIGZvciBTdHlsZVJ1bGVIb3N0
LiBJZiB0aGlzIHRlc3QgcGFzc2VzLCBubyBjcmFzaCBvY2N1cnMuCisKK0ZvbworW2V4cGFuZGVk
XSAKK2Rpc3BsYXk6IGJsb2NrOworICAgIGRpdiAtIGJsb2NrIHVzZXIgYWdlbnQgc3R5bGVzaGVl
dAorCitbZXhwYW5kZWRdIAorZWxlbWVudC5zdHlsZSAgeyAoKQorCis9PT09PT09PSBNYXRjaGVk
IENTUyBSdWxlcyA9PT09PT09PQorW2V4cGFuZGVkXSAKK2RpdiAgeyAodXNlciBhZ2VudCBzdHls
ZXNoZWV0KQorZGlzcGxheTogYmxvY2s7CisKKworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVzL3N0eWxlcy1pbmNsdWRlLWhvc3QtcnVsZXMtY3Jhc2gu
aHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvc3R5bGVzLWluY2x1
ZGUtaG9zdC1ydWxlcy1jcmFzaC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRjMTgxYTFiNDkwOGE0ZDc1NWJl
ZmJlZjkxNzQ1MDBiMzkzMzUyOTQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3Itb2Jzb2xldGUvc3R5bGVzL3N0eWxlcy1pbmNsdWRlLWhvc3QtcnVsZXMtY3Jhc2guaHRt
bApAQCAtMCwwICsxLDQyIEBACis8aHRtbD4KKzxoZWFkPgorPHN0eWxlPgorQGhvc3QgeworICAg
IGRpdiB7IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7IH0KK30KKworQGhvc3QuZGl2IHsKKyAgb3Bh
Y2l0eTogMDsKK30KKzwvc3R5bGU+Cis8c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNw
ZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2h0
dHAvdGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4K
KworZnVuY3Rpb24gdGVzdCgpCit7CisgICAgSW5zcGVjdG9yVGVzdC5zZWxlY3ROb2RlQW5kV2Fp
dEZvclN0eWxlc1dpdGhDb21wdXRlZCgiZm9vIiwgc3RlcDEpOworCisgICAgZnVuY3Rpb24gc3Rl
cDEoKQorICAgIHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wU2VsZWN0ZWRFbGVtZW50U3R5
bGVzKGZhbHNlLCBmYWxzZSk7CisgICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7
CisgICAgfQorfQorCis8L3NjcmlwdD4KKzwvaGVhZD4KKworPGJvZHkgb25sb2FkPSJydW5UZXN0
KCkiPgorPHA+CitbYnVnIDEwMjExNl0gLSA8YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTAyMTE2Ij5odHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTAyMTE2PC9hPiAtCitBU1NFUlRfTk9UX1JFQUNIRUQoKSB3aGVuIGJ1aWxkaW5n
IGEgQ1NTT00gd3JhcHBlciBmb3IgU3R5bGVSdWxlSG9zdC4KK0lmIHRoaXMgdGVzdCBwYXNzZXMs
IG5vIGNyYXNoIG9jY3Vycy4KKzwvcD4KKworPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8ZGl2
IGlkPSJmb28iPkZvbzwvZGl2PgorPC9kaXY+CisKKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvc3R5bGVzLWludmFsaWQt
Y29sb3ItdmFsdWVzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0
ZS9zdHlsZXMvc3R5bGVzLWludmFsaWQtY29sb3ItdmFsdWVzLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44YTU1MjgwZTlhM2EzOGUwYzA0ZWMyNGQzYWNhMTYyYzMzZmE3ZTA0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy9zdHlsZXMtaW52
YWxpZC1jb2xvci12YWx1ZXMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNzkgQEAKK1Rlc3RzIHRo
YXQgdGhlIGRpc3BsYXllZCBzdHJpbmcgZm9yIGNvbG9ycyBjb3JyZWN0bHkgaGFuZGxlcyBjbGlw
cGVkIENTUyB2YWx1ZXMgYW5kIFJHQiBwZXJjZW50YWdlcy4KKworCitSdW5uaW5nOiB0ZXN0Q29s
b3JzCisKK2NvbG9yOiByZWQKKyAgc2ltcGxlOiB0cnVlCisgIG9yaWdpbmFsOiByZWQKKyAgbmlj
a25hbWU6IHJlZAorICBoZXg6ICNGRjAwMDAKKyAgc2hvcnRoZXg6ICNGMDAKKyAgcmdiOiByZ2Io
MjU1LCAwLCAwKQorICBoc2w6IGhzbCgwLCAxMDAlLCA1MCUpCisKK2NvbG9yOiAjRjAwCisgIHNp
bXBsZTogdHJ1ZQorICBvcmlnaW5hbDogI0YwMAorICBuaWNrbmFtZTogcmVkCisgIGhleDogI0ZG
MDAwMAorICBzaG9ydGhleDogI0YwMAorICByZ2I6IHJnYigyNTUsIDAsIDApCisgIGhzbDogaHNs
KDAsIDEwMCUsIDUwJSkKKworY29sb3I6IHJnYigyNTUsMCwwKQorICBzaW1wbGU6IHRydWUKKyAg
b3JpZ2luYWw6IHJnYigyNTUsMCwwKQorICBuaWNrbmFtZTogcmVkCisgIGhleDogI0ZGMDAwMAor
ICBzaG9ydGhleDogI0YwMAorICByZ2I6IHJnYigyNTUsIDAsIDApCisgIGhzbDogaHNsKDAsIDEw
MCUsIDUwJSkKKworY29sb3I6IHJnYigzMDAsMCwwKQorICBzaW1wbGU6IHRydWUKKyAgb3JpZ2lu
YWw6IHJnYigzMDAsMCwwKQorICBuaWNrbmFtZTogcmVkCisgIGhleDogI0ZGMDAwMAorICBzaG9y
dGhleDogI0YwMAorICByZ2I6IHJnYigyNTUsIDAsIDApCisgIGhzbDogaHNsKDAsIDEwMCUsIDUw
JSkKKworY29sb3I6IHJnYigyNTUsLTEwLDApCisgIHNpbXBsZTogdHJ1ZQorICBvcmlnaW5hbDog
cmdiKDI1NSwtMTAsMCkKKyAgbmlja25hbWU6IHJlZAorICBoZXg6ICNGRjAwMDAKKyAgc2hvcnRo
ZXg6ICNGMDAKKyAgcmdiOiByZ2IoMjU1LCAwLCAwKQorICBoc2w6IGhzbCgwLCAxMDAlLCA1MCUp
CisKK2NvbG9yOiByZ2IoMTEwJSwgMCUsIDAlKQorICBzaW1wbGU6IHRydWUKKyAgb3JpZ2luYWw6
IHJnYigxMTAlLCAwJSwgMCUpCisgIG5pY2tuYW1lOiByZWQKKyAgaGV4OiAjRkYwMDAwCisgIHNo
b3J0aGV4OiAjRjAwCisgIHJnYjogcmdiKDI1NSwgMCwgMCkKKyAgaHNsOiBoc2woMCwgMTAwJSwg
NTAlKQorCitjb2xvcjogcmdiYSgyNTUsIDAsIDAsIC01KQorICBzaW1wbGU6IGZhbHNlCisgIG9y
aWdpbmFsOiByZ2JhKDI1NSwgMCwgMCwgLTUpCisgIHJnYjogcmdiKDI1NSwgMCwgMCkKKyAgcmdi
YTogcmdiYSgyNTUsIDAsIDAsIDApCisgIGhzbDogaHNsKDAsIDEwMCUsIDUwJSkKKyAgaHNsYTog
aHNsYSgwLCAxMDAlLCA1MCUsIDApCisKK2NvbG9yOiByZ2JhKDI1NSwgMCwgMCwgNSkKKyAgc2lt
cGxlOiBmYWxzZQorICBvcmlnaW5hbDogcmdiYSgyNTUsIDAsIDAsIDUpCisgIHJnYjogcmdiKDI1
NSwgMCwgMCkKKyAgcmdiYTogcmdiYSgyNTUsIDAsIDAsIDEpCisgIGhzbDogaHNsKDAsIDEwMCUs
IDUwJSkKKyAgaHNsYTogaHNsYSgwLCAxMDAlLCA1MCUsIDEpCisKK1J1bm5pbmc6IHRlc3RJbnZh
bGlkQ29sb3JzCisKK1NVQ0NFU1M6IHBhcnNlZCBpbnZhbGlkIGNvbG9yIG5vbmUgdG8gbnVsbAor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVzL3N0eWxl
cy1pbnZhbGlkLWNvbG9yLXZhbHVlcy5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29s
ZXRlL3N0eWxlcy9zdHlsZXMtaW52YWxpZC1jb2xvci12YWx1ZXMuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5h
MGY3YmQyYjExMDBmYTY4YjIzYjk5MjQzN2M2Y2FiZmM1ZDE5NWVlCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy9zdHlsZXMtaW52YWxpZC1j
b2xvci12YWx1ZXMuaHRtbApAQCAtMCwwICsxLDkyIEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9lbGVtZW50cy10
ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CitmdW5jdGlvbiB0ZXN0KCkKK3sKKyAgICB2YXIg
Y29sb3JzID0gWworICAgICAgICAvLyBFYWNoIG9mIHRoZXNlIGlzIHJlZC4gU29tZSBtYXkgbmVl
ZCB0byBiZSBjbGlwcGVkIHRvIFswLCAyNTVdLgorICAgICAgICAncmVkJywKKyAgICAgICAgJyNG
MDAnLAorICAgICAgICAncmdiKDI1NSwwLDApJywKKyAgICAgICAgJ3JnYigzMDAsMCwwKScsICAg
ICAgICAvLyBjbGlwcGVkIHRvIHJnYigyNTUsMCwwKQorICAgICAgICAncmdiKDI1NSwtMTAsMCkn
LCAgICAgIC8vIGNsaXBwZWQgdG8gcmdiKDI1NSwwLDApCisgICAgICAgICdyZ2IoMTEwJSwgMCUs
IDAlKScsICAgLy8gY2xpcHBlZCB0byByZ2IoMTAwJSwwJSwwJSkKKworICAgICAgICAvLyBFYWNo
IG9mIHRoZXNlIGhhcyB0aGVpciBhbHBoYSBjbGlwcGVkIFswLjAsIDEuMF0uCisgICAgICAgICdy
Z2JhKDI1NSwgMCwgMCwgLTUpJywgLy8gY2xpcHBlZCB0byByZ2JhKDI1NSwwLDAsMCkKKyAgICAg
ICAgJ3JnYmEoMjU1LCAwLCAwLCA1KScsICAvLyBjbGlwcGVkIHRvIHJnYmEoMjU1LDAsMCwxKQor
ICAgICAgICBdOworCisgICAgdmFyIGludmFsaWRDb2xvcnMgPSBbCisgICAgICAgIC8vIEFuIGlu
dmFsaWQgY29sb3IsIGVnIGEgdmFsdWUgZm9yIGEgc2hvcnRoYW5kIGxpa2UgJ2JvcmRlcicgd2hp
Y2ggY2FuIGhhdmUgYSBjb2xvcgorICAgICAgICAnbm9uZScsCisgICAgXTsKKworICAgIEluc3Bl
Y3RvclRlc3QucnVuVGVzdFN1aXRlKFsKKyAgICAgICAgZnVuY3Rpb24gdGVzdENvbG9ycyhuZXh0
KQorICAgICAgICB7CisgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGNvbG9ycy5sZW5n
dGg7ICsraSkKKyAgICAgICAgICAgICAgICBkdW1wQ29sb3JSZXByZXNlbnRhdGlvbnNGb3JDb2xv
cihjb2xvcnNbaV0pOworICAgICAgICAgICAgbmV4dCgpOworICAgICAgICB9LAorICAgICAgICBm
dW5jdGlvbiB0ZXN0SW52YWxpZENvbG9ycyhuZXh0KQorICAgICAgICB7CisgICAgICAgICAgICBm
b3IgKHZhciBpID0gMDsgaSA8IGludmFsaWRDb2xvcnMubGVuZ3RoOyArK2kpCisgICAgICAgICAg
ICAgICAgZHVtcEVycm9yc0ZvckludmFsaWRDb2xvcihpbnZhbGlkQ29sb3JzW2ldKTsKKyAgICAg
ICAgICAgIG5leHQoKTsKKyAgICAgICAgfSwKKyAgICBdKTsKKworICAgIGZ1bmN0aW9uIGR1bXBF
cnJvcnNGb3JJbnZhbGlkQ29sb3IoY29sb3JTdHJpbmcpIAorICAgIHsKKyAgICAgICAgdmFyIGNv
bG9yID0gV2ViSW5zcGVjdG9yLkNvbG9yLnBhcnNlKGNvbG9yU3RyaW5nKTsKKyAgICAgICAgaWYg
KCFjb2xvcikgeworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIiIpOworICAg
ICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIlNVQ0NFU1M6IHBhcnNlZCBpbnZhbGlk
IGNvbG9yICIgKyBjb2xvclN0cmluZyArICIgdG8gbnVsbCIpOworICAgICAgICAgICAgcmV0dXJu
OworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQo
IiIpOworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIkZBSUw6IGludmFsaWQg
Y29sb3IgIiArIGNvbG9yU3RyaW5nICsgIiBkaWQgbm90IHBhcnNlIHRvIHRvIG51bGwiKTsKKyAg
ICAgICAgfQorICAgIH0KKworICAgIGZ1bmN0aW9uIGR1bXBDb2xvclJlcHJlc2VudGF0aW9uc0Zv
ckNvbG9yKGNvbG9yU3RyaW5nKQorICAgIHsKKyAgICAgICAgdmFyIGNvbG9yID0gV2ViSW5zcGVj
dG9yLkNvbG9yLnBhcnNlKGNvbG9yU3RyaW5nKTsKKyAgICAgICAgaWYgKCFjb2xvcikKKyAgICAg
ICAgICAgIHJldHVybjsKKworICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiIik7Cisg
ICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJjb2xvcjogIiArIGNvbG9yU3RyaW5nKTsK
KyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIiAgc2ltcGxlOiAiICsgY29sb3Iuc2lt
cGxlKTsKKyAgICAgICAgdmFyIGNmID0gV2ViSW5zcGVjdG9yLkNvbG9yLkZvcm1hdDsKKyAgICAg
ICAgZm9yICh2YXIgY29sb3JGb3JtYXRLZXkgaW4gY2YpIHsKKyAgICAgICAgICAgIHZhciBjb2xv
ckZvcm1hdCA9IGNmW2NvbG9yRm9ybWF0S2V5XTsKKyAgICAgICAgICAgIC8vIFNpbXBsZSBjb2xv
cnMgZG8gbm90IGhhdmUgUkdCQSBhbmQgSFNMQSByZXByZXNlbnRhdGlvbnMuCisgICAgICAgICAg
ICBpZiAoY29sb3Iuc2ltcGxlICYmIChjb2xvckZvcm1hdCA9PT0gY2YuUkdCQSB8fCBjb2xvckZv
cm1hdCA9PT0gY2YuSFNMQSkpCisgICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICAg
ICAvLyBBZHZhbmNlZCBjb2xvcnMgZG8gbm90IGhhdmUgSEVYIHJlcHJlc2VudGF0aW9ucy4KKyAg
ICAgICAgICAgIGlmICghY29sb3Iuc2ltcGxlICYmIChjb2xvckZvcm1hdCA9PT0gY2YuU2hvcnRI
RVggfHwgY29sb3JGb3JtYXQgPT09IGNmLkhFWCkpCisgICAgICAgICAgICAgICAgY29udGludWU7
CisgICAgICAgICAgICAvLyBJZiB0aGVyZSBpcyBubyBTaG9ydEhFWCB0aGVuIHNraXAgaXQuCisg
ICAgICAgICAgICBpZiAoY29sb3JGb3JtYXQgPT09IGNmLlNob3J0SEVYICYmICFjb2xvci5oYXNT
aG9ydEhleCgpKQorICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgLy8gSWYg
dGhlcmUgaXMgbm8gbmlja25hbWUsIHRoZW4gc2tpcCBpdC4KKyAgICAgICAgICAgIGlmIChjb2xv
ckZvcm1hdCA9PT0gY2YuTmlja25hbWUgJiYgIWNvbG9yLm5pY2tuYW1lKQorICAgICAgICAgICAg
ICAgIGNvbnRpbnVlOworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoJyAgJyAr
IGNvbG9yRm9ybWF0ICsgIjogIiArIGNvbG9yLnRvU3RyaW5nKGNvbG9yRm9ybWF0KSk7CisgICAg
ICAgIH0KKyAgICB9Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKworPGJvZHkgb25sb2FkPSJydW5U
ZXN0KCkiPgorPHA+CitUZXN0cyB0aGF0IHRoZSBkaXNwbGF5ZWQgc3RyaW5nIGZvciBjb2xvcnMg
Y29ycmVjdGx5IGhhbmRsZXMgY2xpcHBlZCBDU1MgdmFsdWVzIGFuZCBSR0IgcGVyY2VudGFnZXMu
Cis8L3A+CisKKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci1vYnNvbGV0ZS9zdHlsZXMvc3R5bGVzLW5ldy1BUEktZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy9zdHlsZXMtbmV3LUFQSS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZmQ3OTRhNDg5MzZiZjIzNGM0ZTVjN2RjM2I2MWY4NDc2NGFjNGFhYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMv
c3R5bGVzLW5ldy1BUEktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNTMxIEBACitUZXN0cyB0aGF0
IEluc3BlY3RvckNTU0FnZW50IEFQSSBtZXRob2RzIHdvcmsgYXMgZXhwZWN0ZWQuCisKK0gxCisK
KworPT09IENvbXB1dGVkIHN0eWxlIHByb3BlcnR5IGNvdW50IGZvciBib2R5ID09PQorT0sKKwor
PT09IE1hdGNoZWQgcnVsZXMgZm9yIGJvZHkgPT09Citib2R5OiBbdXNlci1hZ2VudF0geworICAg
IFsnZGlzcGxheSc6J2Jsb2NrJ10gQFt1bmRlZmluZWQtdW5kZWZpbmVkXSBzdHlsZQorICAgIFsn
bWFyZ2luLXRvcCc6JzhweCddIEBbdW5kZWZpbmVkLXVuZGVmaW5lZF0gc3R5bGUKKyAgICBbJ21h
cmdpbi1yaWdodCc6JzhweCddIEBbdW5kZWZpbmVkLXVuZGVmaW5lZF0gc3R5bGUKKyAgICBbJ21h
cmdpbi1ib3R0b20nOic4cHgnXSBAW3VuZGVmaW5lZC11bmRlZmluZWRdIHN0eWxlCisgICAgWydt
YXJnaW4tbGVmdCc6JzhweCddIEBbdW5kZWZpbmVkLXVuZGVmaW5lZF0gc3R5bGUKK30KK2JvZHk6
IFtyZWd1bGFyLCAyMDowLTIwOjRdIHsKKyAgICBbJ3Byb3BlcnR5JzonaW1wb3J0ZWQtbWVkaWEt
c2NyZWVuLXN0eWxlc2hlZXQnIG5vbi1wYXJzZWRdIEBbMjE6NC0yMTo0N10gYWN0aXZlCit9Citi
b2R5OiBbcmVndWxhciwgMjA6MC0yMDo0XSB7CisgICAgWydwcm9wZXJ0eSc6J2ltcG9ydGVkLW1l
ZGlhLXNjcmVlbi1zdHlsZXNoZWV0JyBub24tcGFyc2VkXSBAWzIxOjQtMjE6NDddIGFjdGl2ZQor
fQorYm9keTogW3JlZ3VsYXIsIDk6MC05OjRdIHsKKyAgICBbJ2ZvbnQtc2l6ZSc6JzEycHgnXSBA
WzEwOjQtMTA6MjBdIGFjdGl2ZQorICAgIFsnZm9vJzonYmFyICEKKworICAgIGltcG9ydGFudCAv
KiAhaW1wb3J0YW50IHByb3BlcnR5IG5vdCByZWNvZ25pemVkIGJ5IFdlYkNvcmUgKi8nIGlzLWlt
cG9ydGFudCBub24tcGFyc2VkXSBAWzExOjQtMTM6NjZdIGFjdGl2ZQorICAgIFsnaGVpZ2h0Jzon
MTAwJSAhaW1wb3J0YW50JyBpcy1pbXBvcnRhbnRdIEBbMTQ6NC0xNDoyOF0gYWN0aXZlCisgICAg
Wydjb2xvcnonOiciIWltcG9ydGFudCInIG5vbi1wYXJzZWRdIEBbMTU6NC0xNToyNV0gYWN0aXZl
CisgICAgWydpbXBvcnRhbnQnOichaW1wb3J0YW50JyBub24tcGFyc2VkXSBAWzE2OjQtMTY6MjVd
IGFjdGl2ZQorICAgIFsnY29sb3InOid5ZWxsb3cnXSBAWzE3OjQtMTc6MThdIGFjdGl2ZQorICAg
IFsnY29sb3InOiciYmFkY29sb3IiICEgaW1wb3J0YW50IC8qIGdvb2QgcHJvcGVydHkgd2l0aCBz
dHJhbmdlIHZhbHVlICovJyBpcy1pbXBvcnRhbnQgbm9uLXBhcnNlZF0gQFsxODo0LTE4OjczXSBh
Y3RpdmUKK30KK2JvZHkubWFpbjE6IFtyZWd1bGFyLCAyMToyOS0yMTo2N10geworICAgIFsnY29s
b3InOicjRjAwQkFBJ10gQFsyMTo4MS0yMTo5Nl0gYWN0aXZlCisgICAgWyd6b28nOidtb28gLyog
bm90IGFuICFpbXBvcnRhbnQgdW5yZWNvZ25pemVkIHByb3BlcnR5ICovJyBub24tcGFyc2VkXSBA
WzIxOjk2LTIxOjE0OV0gYWN0aXZlCit9Citib2R5Lm1haW4yOiBbcmVndWxhciwgMjM6MC0yMzox
MF0geworICAgIFsnYmFja2dyb3VuZCc6J2dyZWVuIC8qIHZhbHVlICFpbXBvcnRhbnQgY29tbWVu
dCAqLyAhaW1wb3J0YW50IC8qIG5vIHNlbWljb2xvbiwgdmVyeSAhaW1wb3J0YW50ICovJyBpcy1p
bXBvcnRhbnRdIEBbMjM6MTEtMjM6MTA2XSBhY3RpdmUKKyAgICBbJ2JhY2tncm91bmQtaW1hZ2Un
Oidpbml0aWFsJyBpcy1pbXBvcnRhbnRdIEBbdW5kZWZpbmVkLXVuZGVmaW5lZF0gc3R5bGUKKyAg
ICBbJ2JhY2tncm91bmQtcmVwZWF0LXgnOidpbml0aWFsJyBpcy1pbXBvcnRhbnRdIEBbdW5kZWZp
bmVkLXVuZGVmaW5lZF0gc3R5bGUKKyAgICBbJ2JhY2tncm91bmQtcmVwZWF0LXknOidpbml0aWFs
JyBpcy1pbXBvcnRhbnRdIEBbdW5kZWZpbmVkLXVuZGVmaW5lZF0gc3R5bGUKKyAgICBbJ2JhY2tn
cm91bmQtYXR0YWNobWVudCc6J2luaXRpYWwnIGlzLWltcG9ydGFudF0gQFt1bmRlZmluZWQtdW5k
ZWZpbmVkXSBzdHlsZQorICAgIFsnYmFja2dyb3VuZC1wb3NpdGlvbi14JzonaW5pdGlhbCcgaXMt
aW1wb3J0YW50XSBAW3VuZGVmaW5lZC11bmRlZmluZWRdIHN0eWxlCisgICAgWydiYWNrZ3JvdW5k
LXBvc2l0aW9uLXknOidpbml0aWFsJyBpcy1pbXBvcnRhbnRdIEBbdW5kZWZpbmVkLXVuZGVmaW5l
ZF0gc3R5bGUKKyAgICBbJ2JhY2tncm91bmQtb3JpZ2luJzonaW5pdGlhbCcgaXMtaW1wb3J0YW50
XSBAW3VuZGVmaW5lZC11bmRlZmluZWRdIHN0eWxlCisgICAgWydiYWNrZ3JvdW5kLWNsaXAnOidp
bml0aWFsJyBpcy1pbXBvcnRhbnRdIEBbdW5kZWZpbmVkLXVuZGVmaW5lZF0gc3R5bGUKKyAgICBb
J2JhY2tncm91bmQtY29sb3InOidncmVlbicgaXMtaW1wb3J0YW50XSBAW3VuZGVmaW5lZC11bmRl
ZmluZWRdIHN0eWxlCisgICAgWydiYWNrZ3JvdW5kLXNpemUnOidpbml0aWFsJyBpcy1pbXBvcnRh
bnRdIEBbdW5kZWZpbmVkLXVuZGVmaW5lZF0gc3R5bGUKK30KK2JvZHkubWFpbnBhZ2U6IFtyZWd1
bGFyLCAzOjAtMzoxM10geworICAgIFsndGV4dC1kZWNvcmF0aW9uJzonbm9uZSddIEBbNDo0LTQ6
MjZdIGFjdGl2ZQorICAgIFsnYmFkcHJvcGVydHknOicxYmFkdmFsdWUxJyBub24tcGFyc2VkXSBA
WzU6NS01OjI5XSBhY3RpdmUKK30KK2JvZHkubWFpbnBhZ2U6IFtyZWd1bGFyLCA4OjAtODoxM10g
eworICAgIFsncHJvcDEnOid2YWwxJyBub24tcGFyc2VkXSBAWzk6NC05OjE2XSBhY3RpdmUKKyAg
ICBbJ3Byb3AyJzondmFsMicgbm9uLXBhcnNlZF0gQFsxMDo0LTEwOjE2XSBhY3RpdmUKK30KKwor
PT09IFBzZXVkbyBydWxlcyBmb3IgYm9keSA9PT0KK1BzZXVkb0lkPTQKK2JvZHk6OmFmdGVyOiBb
cmVndWxhciwgMjY6MC0yNjoxMV0geworICAgIFsnY29udGVudCc6JyJBZnRlciBib2R5IiddIEBb
Mjc6NC0yNzoyNl0gYWN0aXZlCit9CisKKz09PSBJbmhlcml0ZWQgc3R5bGVzIGZvciBib2R5ID09
PQorTGV2ZWw9MQorW05PIFNUWUxFXQoraHRtbDogW3VzZXItYWdlbnRdIHsKKyAgICBbJ2Rpc3Bs
YXknOidibG9jayddIEBbdW5kZWZpbmVkLXVuZGVmaW5lZF0gc3R5bGUKK30KK2h0bWw6IFtyZWd1
bGFyLCA0OjAtNDo0XSB7CisgICAgWydmb250LXdlaWdodCc6JzQwMCddIEBbNTo0LTU6MjFdIGFj
dGl2ZQorfQorCis9PT0gSW5saW5lIHN0eWxlIGZvciBib2R5ID09PQorWydmb250LXdlaWdodCc6
J25vcm1hbCddIEBbMDowLTA6MjBdIGFjdGl2ZQorWyd3aWR0aCc6Jzg1JSddIEBbMDoyMS0wOjMy
XSBhY3RpdmUKK1snYmFja2dyb3VuZC1pbWFnZSc6J3VybChiYXIucG5nKSddIEBbMDozMy0wOjYz
XSBhY3RpdmUKKz09PSBCT0RZIHdpdGggZm9yY2VkIDpob3ZlciA9PT0KK2JvZHk6IFt1c2VyLWFn
ZW50XSB7CisgICAgWydkaXNwbGF5JzonYmxvY2snXSBAW3VuZGVmaW5lZC11bmRlZmluZWRdIHN0
eWxlCisgICAgWydtYXJnaW4tdG9wJzonOHB4J10gQFt1bmRlZmluZWQtdW5kZWZpbmVkXSBzdHls
ZQorICAgIFsnbWFyZ2luLXJpZ2h0JzonOHB4J10gQFt1bmRlZmluZWQtdW5kZWZpbmVkXSBzdHls
ZQorICAgIFsnbWFyZ2luLWJvdHRvbSc6JzhweCddIEBbdW5kZWZpbmVkLXVuZGVmaW5lZF0gc3R5
bGUKKyAgICBbJ21hcmdpbi1sZWZ0JzonOHB4J10gQFt1bmRlZmluZWQtdW5kZWZpbmVkXSBzdHls
ZQorfQorYm9keTogW3JlZ3VsYXIsIDIwOjAtMjA6NF0geworICAgIFsncHJvcGVydHknOidpbXBv
cnRlZC1tZWRpYS1zY3JlZW4tc3R5bGVzaGVldCcgbm9uLXBhcnNlZF0gQFsyMTo0LTIxOjQ3XSBh
Y3RpdmUKK30KK2JvZHk6IFtyZWd1bGFyLCAyMDowLTIwOjRdIHsKKyAgICBbJ3Byb3BlcnR5Jzon
aW1wb3J0ZWQtbWVkaWEtc2NyZWVuLXN0eWxlc2hlZXQnIG5vbi1wYXJzZWRdIEBbMjE6NC0yMTo0
N10gYWN0aXZlCit9Citib2R5OiBbcmVndWxhciwgOTowLTk6NF0geworICAgIFsnZm9udC1zaXpl
JzonMTJweCddIEBbMTA6NC0xMDoyMF0gYWN0aXZlCisgICAgWydmb28nOidiYXIgIQorCisgICAg
aW1wb3J0YW50IC8qICFpbXBvcnRhbnQgcHJvcGVydHkgbm90IHJlY29nbml6ZWQgYnkgV2ViQ29y
ZSAqLycgaXMtaW1wb3J0YW50IG5vbi1wYXJzZWRdIEBbMTE6NC0xMzo2Nl0gYWN0aXZlCisgICAg
WydoZWlnaHQnOicxMDAlICFpbXBvcnRhbnQnIGlzLWltcG9ydGFudF0gQFsxNDo0LTE0OjI4XSBh
Y3RpdmUKKyAgICBbJ2NvbG9yeic6JyIhaW1wb3J0YW50Iicgbm9uLXBhcnNlZF0gQFsxNTo0LTE1
OjI1XSBhY3RpdmUKKyAgICBbJ2ltcG9ydGFudCc6JyFpbXBvcnRhbnQnIG5vbi1wYXJzZWRdIEBb
MTY6NC0xNjoyNV0gYWN0aXZlCisgICAgWydjb2xvcic6J3llbGxvdyddIEBbMTc6NC0xNzoxOF0g
YWN0aXZlCisgICAgWydjb2xvcic6JyJiYWRjb2xvciIgISBpbXBvcnRhbnQgLyogZ29vZCBwcm9w
ZXJ0eSB3aXRoIHN0cmFuZ2UgdmFsdWUgKi8nIGlzLWltcG9ydGFudCBub24tcGFyc2VkXSBAWzE4
OjQtMTg6NzNdIGFjdGl2ZQorfQorYm9keS5tYWluMTogW3JlZ3VsYXIsIDIxOjI5LTIxOjY3XSB7
CisgICAgWydjb2xvcic6JyNGMDBCQUEnXSBAWzIxOjgxLTIxOjk2XSBhY3RpdmUKKyAgICBbJ3pv
byc6J21vbyAvKiBub3QgYW4gIWltcG9ydGFudCB1bnJlY29nbml6ZWQgcHJvcGVydHkgKi8nIG5v
bi1wYXJzZWRdIEBbMjE6OTYtMjE6MTQ5XSBhY3RpdmUKK30KK2JvZHkubWFpbjI6IFtyZWd1bGFy
LCAyMzowLTIzOjEwXSB7CisgICAgWydiYWNrZ3JvdW5kJzonZ3JlZW4gLyogdmFsdWUgIWltcG9y
dGFudCBjb21tZW50ICovICFpbXBvcnRhbnQgLyogbm8gc2VtaWNvbG9uLCB2ZXJ5ICFpbXBvcnRh
bnQgKi8nIGlzLWltcG9ydGFudF0gQFsyMzoxMS0yMzoxMDZdIGFjdGl2ZQorICAgIFsnYmFja2dy
b3VuZC1pbWFnZSc6J2luaXRpYWwnIGlzLWltcG9ydGFudF0gQFt1bmRlZmluZWQtdW5kZWZpbmVk
XSBzdHlsZQorICAgIFsnYmFja2dyb3VuZC1yZXBlYXQteCc6J2luaXRpYWwnIGlzLWltcG9ydGFu
dF0gQFt1bmRlZmluZWQtdW5kZWZpbmVkXSBzdHlsZQorICAgIFsnYmFja2dyb3VuZC1yZXBlYXQt
eSc6J2luaXRpYWwnIGlzLWltcG9ydGFudF0gQFt1bmRlZmluZWQtdW5kZWZpbmVkXSBzdHlsZQor
ICAgIFsnYmFja2dyb3VuZC1hdHRhY2htZW50JzonaW5pdGlhbCcgaXMtaW1wb3J0YW50XSBAW3Vu
ZGVmaW5lZC11bmRlZmluZWRdIHN0eWxlCisgICAgWydiYWNrZ3JvdW5kLXBvc2l0aW9uLXgnOidp
bml0aWFsJyBpcy1pbXBvcnRhbnRdIEBbdW5kZWZpbmVkLXVuZGVmaW5lZF0gc3R5bGUKKyAgICBb
J2JhY2tncm91bmQtcG9zaXRpb24teSc6J2luaXRpYWwnIGlzLWltcG9ydGFudF0gQFt1bmRlZmlu
ZWQtdW5kZWZpbmVkXSBzdHlsZQorICAgIFsnYmFja2dyb3VuZC1vcmlnaW4nOidpbml0aWFsJyBp
cy1pbXBvcnRhbnRdIEBbdW5kZWZpbmVkLXVuZGVmaW5lZF0gc3R5bGUKKyAgICBbJ2JhY2tncm91
bmQtY2xpcCc6J2luaXRpYWwnIGlzLWltcG9ydGFudF0gQFt1bmRlZmluZWQtdW5kZWZpbmVkXSBz
dHlsZQorICAgIFsnYmFja2dyb3VuZC1jb2xvcic6J2dyZWVuJyBpcy1pbXBvcnRhbnRdIEBbdW5k
ZWZpbmVkLXVuZGVmaW5lZF0gc3R5bGUKKyAgICBbJ2JhY2tncm91bmQtc2l6ZSc6J2luaXRpYWwn
IGlzLWltcG9ydGFudF0gQFt1bmRlZmluZWQtdW5kZWZpbmVkXSBzdHlsZQorfQorYm9keS5tYWlu
cGFnZTogW3JlZ3VsYXIsIDM6MC0zOjEzXSB7CisgICAgWyd0ZXh0LWRlY29yYXRpb24nOidub25l
J10gQFs0OjQtNDoyNl0gYWN0aXZlCisgICAgWydiYWRwcm9wZXJ0eSc6JzFiYWR2YWx1ZTEnIG5v
bi1wYXJzZWRdIEBbNTo1LTU6MjldIGFjdGl2ZQorfQorYm9keS5tYWlucGFnZTogW3JlZ3VsYXIs
IDg6MC04OjEzXSB7CisgICAgWydwcm9wMSc6J3ZhbDEnIG5vbi1wYXJzZWRdIEBbOTo0LTk6MTZd
IGFjdGl2ZQorICAgIFsncHJvcDInOid2YWwyJyBub24tcGFyc2VkXSBAWzEwOjQtMTA6MTZdIGFj
dGl2ZQorfQorYm9keTpob3ZlcjogW3JlZ3VsYXIsIDEzOjAtMTM6MTBdIHsKKyAgICBbJ2NvbG9y
JzonI0NERSddIEBbMTQ6Mi0xNDoxNF0gYWN0aXZlCit9CisKKz09PSBBdHRyaWJ1dGVzIHN0eWxl
IGZvciB0YWJsZSA9PT0KK1snd2lkdGgnOic1MCUnXSBAW3VuZGVmaW5lZC11bmRlZmluZWRdIHN0
eWxlCisKKz09PSBTdHlsZXNoZWV0LWZvci1pbmxpbmUtc3R5bGUgdGV4dCA9PT0KKworCis9PT0g
U3R5bGVzaGVldC1mb3ItaW5saW5lLXN0eWxlIG1vZGlmaWNhdGlvbiByZXN1bHQgPT09CitOb3RT
dXBwb3J0ZWRFcnJvcgorCis9PT0gQWxsIHN0eWxlc2hlZXRzID09PQorCitTdHlsZVNoZWV0OiAn
QGNoYXJzZXQgIlVURi04IjsKKworQGltcG9ydCB1cmwoInN0eWxlcy1uZXctQVBJLTEuY3NzIik7
CisKK2h0bWwgeworICAgIGZvbnQtd2VpZ2h0OiA0MDA7Cit9CisKK0BtZWRpYSBzY3JlZW4gewor
Ym9keSB7CisgICAgZm9udC1zaXplOiAxMnB4OworICAgIGZvbzogYmFyICEKKworICAgIGltcG9y
dGFudCAvKiAhaW1wb3J0YW50IHByb3BlcnR5IG5vdCByZWNvZ25pemVkIGJ5IFdlYkNvcmUgKi87
CisgICAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7CisgICAgY29sb3J6OiAiIWltcG9ydGFudCI7
CisgICAgaW1wb3J0YW50OiFpbXBvcnRhbnQ7CisgICAgY29sb3I6IHllbGxvdzsKKyAgICBjb2xv
cjogImJhZGNvbG9yIiAhIGltcG9ydGFudCAvKiBnb29kIHByb3BlcnR5IHdpdGggc3RyYW5nZSB2
YWx1ZSAqLzsKK30KKworLyogY29tbWVudCBiZWZvcmUgc2VsZWN0b3IgKi9ib2R5Lm1haW4xLyog
Y29tbWVudCBhZnRlciBzZWxlY3RvciAqL3svKiBjb21tZW50ICovY29sb3I6ICNGMDBCQUE7em9v
Om1vbyAvKiBub3QgYW4gIWltcG9ydGFudCB1bnJlY29nbml6ZWQgcHJvcGVydHkgKi99LyogY29t
bWVudCAqLworCitib2R5Lm1haW4ye2JhY2tncm91bmQ6IGdyZWVuIC8qIHZhbHVlICFpbXBvcnRh
bnQgY29tbWVudCAqLyAhaW1wb3J0YW50IC8qIG5vIHNlbWljb2xvbiwgdmVyeSAhaW1wb3J0YW50
ICovfQorfQorCitib2R5OjphZnRlciAgeworICAgIGNvbnRlbnQ6ICJBZnRlciBib2R5IjsKK30K
KworaDEgeworICAgIGhlaWdodCA6IDEwMCUgOyBib3JkZXI6IDFweCBzb2xpZDsgYm9yZGVyLXdp
ZHRoOiAycHg7IGJhY2tncm91bmQtY29sb3IgOiAjMzNGRjMzOyBnb29nbGVzOiBhYnJhOyBmb286
IC5iYXI7IC1tb3otZ29vZzogMSoqKjsgYm9yZGVyLXdpZHRoOiAwcHg7Cit9CisnCitodG1sOiBb
cmVndWxhciwgNDowLTQ6NF0geworICAgIFsnZm9udC13ZWlnaHQnOic0MDAnXSBAWzU6NC01OjIx
XSBhY3RpdmUKK30KK2JvZHk6IFtyZWd1bGFyLCA5OjAtOTo0XSB7CisgICAgWydmb250LXNpemUn
OicxMnB4J10gQFsxMDo0LTEwOjIwXSBhY3RpdmUKKyAgICBbJ2Zvbyc6J2JhciAhCisKKyAgICBp
bXBvcnRhbnQgLyogIWltcG9ydGFudCBwcm9wZXJ0eSBub3QgcmVjb2duaXplZCBieSBXZWJDb3Jl
ICovJyBpcy1pbXBvcnRhbnQgbm9uLXBhcnNlZF0gQFsxMTo0LTEzOjY2XSBhY3RpdmUKKyAgICBb
J2hlaWdodCc6JzEwMCUgIWltcG9ydGFudCcgaXMtaW1wb3J0YW50XSBAWzE0OjQtMTQ6MjhdIGFj
dGl2ZQorICAgIFsnY29sb3J6JzonIiFpbXBvcnRhbnQiJyBub24tcGFyc2VkXSBAWzE1OjQtMTU6
MjVdIGFjdGl2ZQorICAgIFsnaW1wb3J0YW50JzonIWltcG9ydGFudCcgbm9uLXBhcnNlZF0gQFsx
Njo0LTE2OjI1XSBhY3RpdmUKKyAgICBbJ2NvbG9yJzoneWVsbG93J10gQFsxNzo0LTE3OjE4XSBh
Y3RpdmUKKyAgICBbJ2NvbG9yJzonImJhZGNvbG9yIiAhIGltcG9ydGFudCAvKiBnb29kIHByb3Bl
cnR5IHdpdGggc3RyYW5nZSB2YWx1ZSAqLycgaXMtaW1wb3J0YW50IG5vbi1wYXJzZWRdIEBbMTg6
NC0xODo3M10gYWN0aXZlCit9Citib2R5Lm1haW4xOiBbcmVndWxhciwgMjE6MjktMjE6NjddIHsK
KyAgICBbJ2NvbG9yJzonI0YwMEJBQSddIEBbMjE6ODEtMjE6OTZdIGFjdGl2ZQorICAgIFsnem9v
JzonbW9vIC8qIG5vdCBhbiAhaW1wb3J0YW50IHVucmVjb2duaXplZCBwcm9wZXJ0eSAqLycgbm9u
LXBhcnNlZF0gQFsyMTo5Ni0yMToxNDldIGFjdGl2ZQorfQorYm9keS5tYWluMjogW3JlZ3VsYXIs
IDIzOjAtMjM6MTBdIHsKKyAgICBbJ2JhY2tncm91bmQnOidncmVlbiAvKiB2YWx1ZSAhaW1wb3J0
YW50IGNvbW1lbnQgKi8gIWltcG9ydGFudCAvKiBubyBzZW1pY29sb24sIHZlcnkgIWltcG9ydGFu
dCAqLycgaXMtaW1wb3J0YW50XSBAWzIzOjExLTIzOjEwNl0gYWN0aXZlCisgICAgWydiYWNrZ3Jv
dW5kLWltYWdlJzonaW5pdGlhbCcgaXMtaW1wb3J0YW50XSBAW3VuZGVmaW5lZC11bmRlZmluZWRd
IHN0eWxlCisgICAgWydiYWNrZ3JvdW5kLXJlcGVhdC14JzonaW5pdGlhbCcgaXMtaW1wb3J0YW50
XSBAW3VuZGVmaW5lZC11bmRlZmluZWRdIHN0eWxlCisgICAgWydiYWNrZ3JvdW5kLXJlcGVhdC15
JzonaW5pdGlhbCcgaXMtaW1wb3J0YW50XSBAW3VuZGVmaW5lZC11bmRlZmluZWRdIHN0eWxlCisg
ICAgWydiYWNrZ3JvdW5kLWF0dGFjaG1lbnQnOidpbml0aWFsJyBpcy1pbXBvcnRhbnRdIEBbdW5k
ZWZpbmVkLXVuZGVmaW5lZF0gc3R5bGUKKyAgICBbJ2JhY2tncm91bmQtcG9zaXRpb24teCc6J2lu
aXRpYWwnIGlzLWltcG9ydGFudF0gQFt1bmRlZmluZWQtdW5kZWZpbmVkXSBzdHlsZQorICAgIFsn
YmFja2dyb3VuZC1wb3NpdGlvbi15JzonaW5pdGlhbCcgaXMtaW1wb3J0YW50XSBAW3VuZGVmaW5l
ZC11bmRlZmluZWRdIHN0eWxlCisgICAgWydiYWNrZ3JvdW5kLW9yaWdpbic6J2luaXRpYWwnIGlz
LWltcG9ydGFudF0gQFt1bmRlZmluZWQtdW5kZWZpbmVkXSBzdHlsZQorICAgIFsnYmFja2dyb3Vu
ZC1jbGlwJzonaW5pdGlhbCcgaXMtaW1wb3J0YW50XSBAW3VuZGVmaW5lZC11bmRlZmluZWRdIHN0
eWxlCisgICAgWydiYWNrZ3JvdW5kLWNvbG9yJzonZ3JlZW4nIGlzLWltcG9ydGFudF0gQFt1bmRl
ZmluZWQtdW5kZWZpbmVkXSBzdHlsZQorICAgIFsnYmFja2dyb3VuZC1zaXplJzonaW5pdGlhbCcg
aXMtaW1wb3J0YW50XSBAW3VuZGVmaW5lZC11bmRlZmluZWRdIHN0eWxlCit9Citib2R5OjphZnRl
cjogW3JlZ3VsYXIsIDI2OjAtMjY6MTFdIHsKKyAgICBbJ2NvbnRlbnQnOiciQWZ0ZXIgYm9keSIn
XSBAWzI3OjQtMjc6MjZdIGFjdGl2ZQorfQoraDE6IFtyZWd1bGFyLCAzMDowLTMwOjJdIHsKKyAg
ICBbJ2hlaWdodCc6JzEwMCUnXSBAWzMxOjQtMzE6MTldIGFjdGl2ZQorICAgIFsnYm9yZGVyJzon
MXB4IHNvbGlkJ10gQFszMToyMC0zMTozOF0gYWN0aXZlCisgICAgWydib3JkZXItd2lkdGgnOicy
cHgnXSBAWzMxOjM5LTMxOjU3XSBpbmFjdGl2ZQorICAgIFsnYmFja2dyb3VuZC1jb2xvcic6JyMz
M0ZGMzMnXSBAWzMxOjU4LTMxOjg1XSBhY3RpdmUKKyAgICBbJ2dvb2dsZXMnOidhYnJhJyBub24t
cGFyc2VkXSBAWzMxOjg2LTMxOjEwMF0gYWN0aXZlCisgICAgWydmb28nOicuYmFyJyBub24tcGFy
c2VkXSBAWzMxOjEwMS0zMToxMTFdIGFjdGl2ZQorICAgIFsnLW1vei1nb29nJzonMSoqKicgbm9u
LXBhcnNlZF0gQFszMToxMTItMzE6MTI4XSBhY3RpdmUKKyAgICBbJ2JvcmRlci13aWR0aCc6JzBw
eCddIEBbMzE6MTI5LTMxOjE0N10gYWN0aXZlCisgICAgWydib3JkZXItdG9wLXN0eWxlJzonc29s
aWQnXSBAW3VuZGVmaW5lZC11bmRlZmluZWRdIHN0eWxlCisgICAgWydib3JkZXItcmlnaHQtc3R5
bGUnOidzb2xpZCddIEBbdW5kZWZpbmVkLXVuZGVmaW5lZF0gc3R5bGUKKyAgICBbJ2JvcmRlci1i
b3R0b20tc3R5bGUnOidzb2xpZCddIEBbdW5kZWZpbmVkLXVuZGVmaW5lZF0gc3R5bGUKKyAgICBb
J2JvcmRlci1sZWZ0LXN0eWxlJzonc29saWQnXSBAW3VuZGVmaW5lZC11bmRlZmluZWRdIHN0eWxl
CisgICAgWydib3JkZXItdG9wLWNvbG9yJzonaW5pdGlhbCddIEBbdW5kZWZpbmVkLXVuZGVmaW5l
ZF0gc3R5bGUKKyAgICBbJ2JvcmRlci1yaWdodC1jb2xvcic6J2luaXRpYWwnXSBAW3VuZGVmaW5l
ZC11bmRlZmluZWRdIHN0eWxlCisgICAgWydib3JkZXItYm90dG9tLWNvbG9yJzonaW5pdGlhbCdd
IEBbdW5kZWZpbmVkLXVuZGVmaW5lZF0gc3R5bGUKKyAgICBbJ2JvcmRlci1sZWZ0LWNvbG9yJzon
aW5pdGlhbCddIEBbdW5kZWZpbmVkLXVuZGVmaW5lZF0gc3R5bGUKKyAgICBbJ2JvcmRlci1pbWFn
ZS1zb3VyY2UnOidpbml0aWFsJ10gQFt1bmRlZmluZWQtdW5kZWZpbmVkXSBzdHlsZQorICAgIFsn
Ym9yZGVyLWltYWdlLXNsaWNlJzonaW5pdGlhbCddIEBbdW5kZWZpbmVkLXVuZGVmaW5lZF0gc3R5
bGUKKyAgICBbJ2JvcmRlci1pbWFnZS13aWR0aCc6J2luaXRpYWwnXSBAW3VuZGVmaW5lZC11bmRl
ZmluZWRdIHN0eWxlCisgICAgWydib3JkZXItaW1hZ2Utb3V0c2V0JzonaW5pdGlhbCddIEBbdW5k
ZWZpbmVkLXVuZGVmaW5lZF0gc3R5bGUKKyAgICBbJ2JvcmRlci1pbWFnZS1yZXBlYXQnOidpbml0
aWFsJ10gQFt1bmRlZmluZWQtdW5kZWZpbmVkXSBzdHlsZQorICAgIFsnYm9yZGVyLXRvcC13aWR0
aCc6JzBweCddIEBbdW5kZWZpbmVkLXVuZGVmaW5lZF0gc3R5bGUKKyAgICBbJ2JvcmRlci1yaWdo
dC13aWR0aCc6JzBweCddIEBbdW5kZWZpbmVkLXVuZGVmaW5lZF0gc3R5bGUKKyAgICBbJ2JvcmRl
ci1ib3R0b20td2lkdGgnOicwcHgnXSBAW3VuZGVmaW5lZC11bmRlZmluZWRdIHN0eWxlCisgICAg
Wydib3JkZXItbGVmdC13aWR0aCc6JzBweCddIEBbdW5kZWZpbmVkLXVuZGVmaW5lZF0gc3R5bGUK
K30KKworU3R5bGVTaGVldDogJ0BpbXBvcnQgdXJsKHN0eWxlcy1uZXctQVBJLTIuY3NzKTsKKwor
QHBhZ2UgeyBtYXJnaW46IDJjbSB9IC8qIEFsbCBtYXJnaW5zIHNldCB0byAyY20gKi8KKworQHBh
Z2UgOmZpcnN0IHsKKyAgbWFyZ2luLXRvcDogMTBjbSAgICAvKiBUb3AgbWFyZ2luIG9uIGZpcnN0
IHBhZ2UgMTBjbSAqLworfQorCitAbWVkaWEgc2NyZWVuIHsKKworI2Fic2VudC1pZCB7Cit9CisK
K0Bmb250LWZhY2UgeworICAgIGZvbnQtZmFtaWx5OiAnVGhlRm9udCc7CisgICAgc3JjOiB1cmwo
J2ZvbnQudXJsJyk7CisgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsKKyAgICBmb250LXN0eWxlOiBu
b3JtYWw7Cit9CisKK2JvZHkgeworICAgIHByb3BlcnR5OiBpbXBvcnRlZC1tZWRpYS1zY3JlZW4t
c3R5bGVzaGVldDsKK30KKworfQorJworI2Fic2VudC1pZDogW3JlZ3VsYXIsIDEwOjAtMTA6MTBd
IHsKK30KK2JvZHk6IFtyZWd1bGFyLCAyMDowLTIwOjRdIHsKKyAgICBbJ3Byb3BlcnR5JzonaW1w
b3J0ZWQtbWVkaWEtc2NyZWVuLXN0eWxlc2hlZXQnIG5vbi1wYXJzZWRdIEBbMjE6NC0yMTo0N10g
YWN0aXZlCit9CisKK1N0eWxlU2hlZXQ6ICdAaW1wb3J0IHVybChzdHlsZXMtbmV3LUFQSS0xLmNz
cyk7CisKK0BwYWdlIHsgbWFyZ2luOiAyY20gfSAvKiBBbGwgbWFyZ2lucyBzZXQgdG8gMmNtICov
CisKK0BwYWdlIDpmaXJzdCB7CisgIG1hcmdpbi10b3A6IDEwY20gICAgLyogVG9wIG1hcmdpbiBv
biBmaXJzdCBwYWdlIDEwY20gKi8KK30KKworQG1lZGlhIHNjcmVlbiB7CisKKyNhYnNlbnQtaWQg
eworfQorCitAZm9udC1mYWNlIHsKKyAgICBmb250LWZhbWlseTogJ1RoZUZvbnQnOworICAgIHNy
YzogdXJsKCdmb250LnVybCcpOworICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7CisgICAgZm9udC1z
dHlsZTogbm9ybWFsOworfQorCitib2R5IHsKKyAgICBwcm9wZXJ0eTogaW1wb3J0ZWQtbWVkaWEt
c2NyZWVuLXN0eWxlc2hlZXQ7Cit9CisKK30KKycKKyNhYnNlbnQtaWQ6IFtyZWd1bGFyLCAxMDow
LTEwOjEwXSB7Cit9Citib2R5OiBbcmVndWxhciwgMjA6MC0yMDo0XSB7CisgICAgWydwcm9wZXJ0
eSc6J2ltcG9ydGVkLW1lZGlhLXNjcmVlbi1zdHlsZXNoZWV0JyBub24tcGFyc2VkXSBAWzIxOjQt
MjE6NDddIGFjdGl2ZQorfQorCitTdHlsZVNoZWV0OiAnCisKKy8qIEFuIGlubGluZSBzdHlsZXNo
ZWV0ICovCitib2R5Lm1haW5wYWdlIHsKKyAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IC8qIGF0
IGxlYXN0IG9uZSB2YWxpZCBwcm9wZXJ0eSBpcyBuZWNlc3NhcnkgZm9yIFdlYkNvcmUgdG8gbWF0
Y2ggYSBydWxlICovCisgICAgO2JhZHByb3BlcnR5OiAxYmFkdmFsdWUxOworfQorCitib2R5Lm1h
aW5wYWdlIHsKKyAgICBwcm9wMTogdmFsMTsKKyAgICBwcm9wMjogdmFsMjsKK30KKworYm9keTpo
b3ZlciB7CisgIGNvbG9yOiAjQ0RFOworfQorJworYm9keS5tYWlucGFnZTogW3JlZ3VsYXIsIDM6
MC0zOjEzXSB7CisgICAgWyd0ZXh0LWRlY29yYXRpb24nOidub25lJ10gQFs0OjQtNDoyNl0gYWN0
aXZlCisgICAgWydiYWRwcm9wZXJ0eSc6JzFiYWR2YWx1ZTEnIG5vbi1wYXJzZWRdIEBbNTo1LTU6
MjldIGFjdGl2ZQorfQorYm9keS5tYWlucGFnZTogW3JlZ3VsYXIsIDg6MC04OjEzXSB7CisgICAg
Wydwcm9wMSc6J3ZhbDEnIG5vbi1wYXJzZWRdIEBbOTo0LTk6MTZdIGFjdGl2ZQorICAgIFsncHJv
cDInOid2YWwyJyBub24tcGFyc2VkXSBAWzEwOjQtMTA6MTZdIGFjdGl2ZQorfQorYm9keTpob3Zl
cjogW3JlZ3VsYXIsIDEzOjAtMTM6MTBdIHsKKyAgICBbJ2NvbG9yJzonI0NERSddIEBbMTQ6Mi0x
NDoxNF0gYWN0aXZlCit9CisKKz09PSBMYXN0IHN0eWxlc2hlZXQgcGF0Y2hlZCA9PT0KKworU3R5
bGVTaGVldDogJ2JvZHkubWFpbnBhZ2UgeyAgICB0ZXh0LWRlY29yYXRpb246IHN0cmlrZXRocm91
Z2g7ICAgIGJhZHByb3BlcnR5OiAyYmFkdmFsdWUyO31ib2R5IHsgICAgdGV4dC1hbGlnbjoganVz
dGlmeTt9JworYm9keS5tYWlucGFnZTogW3JlZ3VsYXIsIDA6MC0wOjEzXSB7CisgICAgWyd0ZXh0
LWRlY29yYXRpb24nOidzdHJpa2V0aHJvdWdoJyBub24tcGFyc2VkXSBAWzA6MTktMDo1MF0gYWN0
aXZlCisgICAgWydiYWRwcm9wZXJ0eSc6JzJiYWR2YWx1ZTInIG5vbi1wYXJzZWRdIEBbMDo1NC0w
Ojc4XSBhY3RpdmUKK30KK2JvZHk6IFtyZWd1bGFyLCAwOjc5LTA6ODNdIHsKKyAgICBbJ3RleHQt
YWxpZ24nOidqdXN0aWZ5J10gQFswOjg5LTA6MTA5XSBhY3RpdmUKK30KKworPT09IEFmdGVyIHNl
bGVjdG9yIHNldCA9PT0KKworU3R5bGVTaGVldDogJ2h0bWwgKiwgYm9keVtmb289ImJhciJdIHsg
ICAgdGV4dC1kZWNvcmF0aW9uOiBzdHJpa2V0aHJvdWdoOyAgICBiYWRwcm9wZXJ0eTogMmJhZHZh
bHVlMjt9Ym9keSB7ICAgIHRleHQtYWxpZ246IGp1c3RpZnk7fScKK2h0bWwgKiwgYm9keVtmb289
ImJhciJdOiBbcmVndWxhciwgMDowLTA6MjNdIHsKKyAgICBbJ3RleHQtZGVjb3JhdGlvbic6J3N0
cmlrZXRocm91Z2gnIG5vbi1wYXJzZWRdIEBbMDoyOS0wOjYwXSBhY3RpdmUKKyAgICBbJ2JhZHBy
b3BlcnR5JzonMmJhZHZhbHVlMicgbm9uLXBhcnNlZF0gQFswOjY0LTA6ODhdIGFjdGl2ZQorfQor
Ym9keTogW3JlZ3VsYXIsIDA6ODktMDo5M10geworICAgIFsndGV4dC1hbGlnbic6J2p1c3RpZnkn
XSBAWzA6OTktMDoxMTldIGFjdGl2ZQorfQorCis9PT0gQWZ0ZXIgcHJvcGVydHkgdGV4dCBzZXQg
PT09CisKK1N0eWxlU2hlZXQ6ICdodG1sICosIGJvZHlbZm9vPSJiYXIiXSB7CisgICAgY29sb3I6
IHdoaXRlOyBiYWNrZ3JvdW5kOiBibGFjazsKK31ib2R5IHsgICAgdGV4dC1hbGlnbjoganVzdGlm
eTt9JworaHRtbCAqLCBib2R5W2Zvbz0iYmFyIl06IFtyZWd1bGFyLCAwOjAtMDoyM10geworICAg
IFsnY29sb3InOid3aGl0ZSddIEBbMTo0LTE6MTddIGFjdGl2ZQorICAgIFsnYmFja2dyb3VuZCc6
J2JsYWNrJ10gQFsxOjE4LTE6MzZdIGFjdGl2ZQorICAgIFsnYmFja2dyb3VuZC1pbWFnZSc6J2lu
aXRpYWwnXSBAW3VuZGVmaW5lZC11bmRlZmluZWRdIHN0eWxlCisgICAgWydiYWNrZ3JvdW5kLXJl
cGVhdC14JzonaW5pdGlhbCddIEBbdW5kZWZpbmVkLXVuZGVmaW5lZF0gc3R5bGUKKyAgICBbJ2Jh
Y2tncm91bmQtcmVwZWF0LXknOidpbml0aWFsJ10gQFt1bmRlZmluZWQtdW5kZWZpbmVkXSBzdHls
ZQorICAgIFsnYmFja2dyb3VuZC1hdHRhY2htZW50JzonaW5pdGlhbCddIEBbdW5kZWZpbmVkLXVu
ZGVmaW5lZF0gc3R5bGUKKyAgICBbJ2JhY2tncm91bmQtcG9zaXRpb24teCc6J2luaXRpYWwnXSBA
W3VuZGVmaW5lZC11bmRlZmluZWRdIHN0eWxlCisgICAgWydiYWNrZ3JvdW5kLXBvc2l0aW9uLXkn
Oidpbml0aWFsJ10gQFt1bmRlZmluZWQtdW5kZWZpbmVkXSBzdHlsZQorICAgIFsnYmFja2dyb3Vu
ZC1vcmlnaW4nOidpbml0aWFsJ10gQFt1bmRlZmluZWQtdW5kZWZpbmVkXSBzdHlsZQorICAgIFsn
YmFja2dyb3VuZC1jbGlwJzonaW5pdGlhbCddIEBbdW5kZWZpbmVkLXVuZGVmaW5lZF0gc3R5bGUK
KyAgICBbJ2JhY2tncm91bmQtY29sb3InOidibGFjayddIEBbdW5kZWZpbmVkLXVuZGVmaW5lZF0g
c3R5bGUKKyAgICBbJ2JhY2tncm91bmQtc2l6ZSc6J2luaXRpYWwnXSBAW3VuZGVmaW5lZC11bmRl
ZmluZWRdIHN0eWxlCit9Citib2R5OiBbcmVndWxhciwgMjoxLTI6NV0geworICAgIFsndGV4dC1h
bGlnbic6J2p1c3RpZnknXSBAWzI6MTEtMjozMV0gYWN0aXZlCit9CisKKz09PSBBZnRlciBmaXJz
dCBzdHlsZSB0ZXh0IHNldCA9PT0KKworU3R5bGVTaGVldDogJ2h0bWwgKiwgYm9keVtmb289ImJh
ciJdIHt9Ym9keSB7ICAgIHRleHQtYWxpZ246IGp1c3RpZnk7fScKK2h0bWwgKiwgYm9keVtmb289
ImJhciJdOiBbcmVndWxhciwgMDowLTA6MjNdIHsKK30KK2JvZHk6IFtyZWd1bGFyLCAwOjI2LTA6
MzBdIHsKKyAgICBbJ3RleHQtYWxpZ24nOidqdXN0aWZ5J10gQFswOjM2LTA6NTZdIGFjdGl2ZQor
fQorCis9PT0gQWZ0ZXIgc2Vjb25kIHN0eWxlIHRleHQgc2V0ID09PQorCitTdHlsZVNoZWV0OiAn
aHRtbCAqLCBib2R5W2Zvbz0iYmFyIl0ge2NvbG9yOiBncmVlbjsgYmFja2dyb3VuZDogcmVkOyBm
b286IGJhcjsgKmJhejogYmFyOyAvKiBDb21tZW50ICovIGZvbnQtd2VpZ2h0OiBib2xkICFpbXBv
cnRhbnR9Ym9keSB7ICAgIHRleHQtYWxpZ246IGp1c3RpZnk7fScKK2h0bWwgKiwgYm9keVtmb289
ImJhciJdOiBbcmVndWxhciwgMDowLTA6MjNdIHsKKyAgICBbJ2NvbG9yJzonZ3JlZW4nXSBAWzA6
MjUtMDozOF0gYWN0aXZlCisgICAgWydiYWNrZ3JvdW5kJzoncmVkJ10gQFswOjM5LTA6NTVdIGFj
dGl2ZQorICAgIFsnZm9vJzonYmFyJyBub24tcGFyc2VkXSBAWzA6NTYtMDo2NV0gYWN0aXZlCisg
ICAgWydmb250LXdlaWdodCc6J2JvbGQgIWltcG9ydGFudCcgaXMtaW1wb3J0YW50XSBAWzA6OTEt
MDoxMTldIGFjdGl2ZQorICAgIFsnYmFja2dyb3VuZC1pbWFnZSc6J2luaXRpYWwnXSBAW3VuZGVm
aW5lZC11bmRlZmluZWRdIHN0eWxlCisgICAgWydiYWNrZ3JvdW5kLXJlcGVhdC14JzonaW5pdGlh
bCddIEBbdW5kZWZpbmVkLXVuZGVmaW5lZF0gc3R5bGUKKyAgICBbJ2JhY2tncm91bmQtcmVwZWF0
LXknOidpbml0aWFsJ10gQFt1bmRlZmluZWQtdW5kZWZpbmVkXSBzdHlsZQorICAgIFsnYmFja2dy
b3VuZC1hdHRhY2htZW50JzonaW5pdGlhbCddIEBbdW5kZWZpbmVkLXVuZGVmaW5lZF0gc3R5bGUK
KyAgICBbJ2JhY2tncm91bmQtcG9zaXRpb24teCc6J2luaXRpYWwnXSBAW3VuZGVmaW5lZC11bmRl
ZmluZWRdIHN0eWxlCisgICAgWydiYWNrZ3JvdW5kLXBvc2l0aW9uLXknOidpbml0aWFsJ10gQFt1
bmRlZmluZWQtdW5kZWZpbmVkXSBzdHlsZQorICAgIFsnYmFja2dyb3VuZC1vcmlnaW4nOidpbml0
aWFsJ10gQFt1bmRlZmluZWQtdW5kZWZpbmVkXSBzdHlsZQorICAgIFsnYmFja2dyb3VuZC1jbGlw
JzonaW5pdGlhbCddIEBbdW5kZWZpbmVkLXVuZGVmaW5lZF0gc3R5bGUKKyAgICBbJ2JhY2tncm91
bmQtY29sb3InOidyZWQnXSBAW3VuZGVmaW5lZC11bmRlZmluZWRdIHN0eWxlCisgICAgWydiYWNr
Z3JvdW5kLXNpemUnOidpbml0aWFsJ10gQFt1bmRlZmluZWQtdW5kZWZpbmVkXSBzdHlsZQorfQor
Ym9keTogW3JlZ3VsYXIsIDA6MTIwLTA6MTI0XSB7CisgICAgWyd0ZXh0LWFsaWduJzonanVzdGlm
eSddIEBbMDoxMzAtMDoxNTBdIGFjdGl2ZQorfQorCis9PT0gTWF0Y2hlZCBydWxlcyBhZnRlciBy
dWxlIGFkZGVkID09PQorYm9keTogW3VzZXItYWdlbnRdIHsKKyAgICBbJ2Rpc3BsYXknOidibG9j
ayddIEBbdW5kZWZpbmVkLXVuZGVmaW5lZF0gc3R5bGUKKyAgICBbJ21hcmdpbi10b3AnOic4cHgn
XSBAW3VuZGVmaW5lZC11bmRlZmluZWRdIHN0eWxlCisgICAgWydtYXJnaW4tcmlnaHQnOic4cHgn
XSBAW3VuZGVmaW5lZC11bmRlZmluZWRdIHN0eWxlCisgICAgWydtYXJnaW4tYm90dG9tJzonOHB4
J10gQFt1bmRlZmluZWQtdW5kZWZpbmVkXSBzdHlsZQorICAgIFsnbWFyZ2luLWxlZnQnOic4cHgn
XSBAW3VuZGVmaW5lZC11bmRlZmluZWRdIHN0eWxlCit9Citib2R5OiBbcmVndWxhciwgMjA6MC0y
MDo0XSB7CisgICAgWydwcm9wZXJ0eSc6J2ltcG9ydGVkLW1lZGlhLXNjcmVlbi1zdHlsZXNoZWV0
JyBub24tcGFyc2VkXSBAWzIxOjQtMjE6NDddIGFjdGl2ZQorfQorYm9keTogW3JlZ3VsYXIsIDIw
OjAtMjA6NF0geworICAgIFsncHJvcGVydHknOidpbXBvcnRlZC1tZWRpYS1zY3JlZW4tc3R5bGVz
aGVldCcgbm9uLXBhcnNlZF0gQFsyMTo0LTIxOjQ3XSBhY3RpdmUKK30KK2JvZHk6IFtyZWd1bGFy
LCA5OjAtOTo0XSB7CisgICAgWydmb250LXNpemUnOicxMnB4J10gQFsxMDo0LTEwOjIwXSBhY3Rp
dmUKKyAgICBbJ2Zvbyc6J2JhciAhCisKKyAgICBpbXBvcnRhbnQgLyogIWltcG9ydGFudCBwcm9w
ZXJ0eSBub3QgcmVjb2duaXplZCBieSBXZWJDb3JlICovJyBpcy1pbXBvcnRhbnQgbm9uLXBhcnNl
ZF0gQFsxMTo0LTEzOjY2XSBhY3RpdmUKKyAgICBbJ2hlaWdodCc6JzEwMCUgIWltcG9ydGFudCcg
aXMtaW1wb3J0YW50XSBAWzE0OjQtMTQ6MjhdIGFjdGl2ZQorICAgIFsnY29sb3J6JzonIiFpbXBv
cnRhbnQiJyBub24tcGFyc2VkXSBAWzE1OjQtMTU6MjVdIGFjdGl2ZQorICAgIFsnaW1wb3J0YW50
JzonIWltcG9ydGFudCcgbm9uLXBhcnNlZF0gQFsxNjo0LTE2OjI1XSBhY3RpdmUKKyAgICBbJ2Nv
bG9yJzoneWVsbG93J10gQFsxNzo0LTE3OjE4XSBhY3RpdmUKKyAgICBbJ2NvbG9yJzonImJhZGNv
bG9yIiAhIGltcG9ydGFudCAvKiBnb29kIHByb3BlcnR5IHdpdGggc3RyYW5nZSB2YWx1ZSAqLycg
aXMtaW1wb3J0YW50IG5vbi1wYXJzZWRdIEBbMTg6NC0xODo3M10gYWN0aXZlCit9CitodG1sICos
IGJvZHlbZm9vPSJiYXIiXTogW3JlZ3VsYXIsIDA6MC0wOjIzXSB7CisgICAgWydjb2xvcic6J2dy
ZWVuJ10gQFswOjI1LTA6MzhdIGFjdGl2ZQorICAgIFsnYmFja2dyb3VuZCc6J3JlZCddIEBbMDoz
OS0wOjU1XSBhY3RpdmUKKyAgICBbJ2Zvbyc6J2Jhcicgbm9uLXBhcnNlZF0gQFswOjU2LTA6NjVd
IGFjdGl2ZQorICAgIFsnZm9udC13ZWlnaHQnOidib2xkICFpbXBvcnRhbnQnIGlzLWltcG9ydGFu
dF0gQFswOjkxLTA6MTE5XSBhY3RpdmUKKyAgICBbJ2JhY2tncm91bmQtaW1hZ2UnOidpbml0aWFs
J10gQFt1bmRlZmluZWQtdW5kZWZpbmVkXSBzdHlsZQorICAgIFsnYmFja2dyb3VuZC1yZXBlYXQt
eCc6J2luaXRpYWwnXSBAW3VuZGVmaW5lZC11bmRlZmluZWRdIHN0eWxlCisgICAgWydiYWNrZ3Jv
dW5kLXJlcGVhdC15JzonaW5pdGlhbCddIEBbdW5kZWZpbmVkLXVuZGVmaW5lZF0gc3R5bGUKKyAg
ICBbJ2JhY2tncm91bmQtYXR0YWNobWVudCc6J2luaXRpYWwnXSBAW3VuZGVmaW5lZC11bmRlZmlu
ZWRdIHN0eWxlCisgICAgWydiYWNrZ3JvdW5kLXBvc2l0aW9uLXgnOidpbml0aWFsJ10gQFt1bmRl
ZmluZWQtdW5kZWZpbmVkXSBzdHlsZQorICAgIFsnYmFja2dyb3VuZC1wb3NpdGlvbi15JzonaW5p
dGlhbCddIEBbdW5kZWZpbmVkLXVuZGVmaW5lZF0gc3R5bGUKKyAgICBbJ2JhY2tncm91bmQtb3Jp
Z2luJzonaW5pdGlhbCddIEBbdW5kZWZpbmVkLXVuZGVmaW5lZF0gc3R5bGUKKyAgICBbJ2JhY2tn
cm91bmQtY2xpcCc6J2luaXRpYWwnXSBAW3VuZGVmaW5lZC11bmRlZmluZWRdIHN0eWxlCisgICAg
WydiYWNrZ3JvdW5kLWNvbG9yJzoncmVkJ10gQFt1bmRlZmluZWQtdW5kZWZpbmVkXSBzdHlsZQor
ICAgIFsnYmFja2dyb3VuZC1zaXplJzonaW5pdGlhbCddIEBbdW5kZWZpbmVkLXVuZGVmaW5lZF0g
c3R5bGUKK30KK2JvZHk6IFtyZWd1bGFyLCAwOjEyMC0wOjEyNF0geworICAgIFsndGV4dC1hbGln
bic6J2p1c3RpZnknXSBAWzA6MTMwLTA6MTUwXSBhY3RpdmUKK30KK2JvZHk6IFtpbnNwZWN0b3Is
IDA6MC0wOjRdIHsKKyAgICBbJ2ZvbnQtZmFtaWx5Jzonc2VyaWYnXSBAWzE6NC0xOjIzXSBhY3Rp
dmUKK30KK2JvZHkubWFpbjE6IFtyZWd1bGFyLCAyMToyOS0yMTo2N10geworICAgIFsnY29sb3In
OicjRjAwQkFBJ10gQFsyMTo4MS0yMTo5Nl0gYWN0aXZlCisgICAgWyd6b28nOidtb28gLyogbm90
IGFuICFpbXBvcnRhbnQgdW5yZWNvZ25pemVkIHByb3BlcnR5ICovJyBub24tcGFyc2VkXSBAWzIx
Ojk2LTIxOjE0OV0gYWN0aXZlCit9Citib2R5Lm1haW4yOiBbcmVndWxhciwgMjM6MC0yMzoxMF0g
eworICAgIFsnYmFja2dyb3VuZCc6J2dyZWVuIC8qIHZhbHVlICFpbXBvcnRhbnQgY29tbWVudCAq
LyAhaW1wb3J0YW50IC8qIG5vIHNlbWljb2xvbiwgdmVyeSAhaW1wb3J0YW50ICovJyBpcy1pbXBv
cnRhbnRdIEBbMjM6MTEtMjM6MTA2XSBhY3RpdmUKKyAgICBbJ2JhY2tncm91bmQtaW1hZ2UnOidp
bml0aWFsJyBpcy1pbXBvcnRhbnRdIEBbdW5kZWZpbmVkLXVuZGVmaW5lZF0gc3R5bGUKKyAgICBb
J2JhY2tncm91bmQtcmVwZWF0LXgnOidpbml0aWFsJyBpcy1pbXBvcnRhbnRdIEBbdW5kZWZpbmVk
LXVuZGVmaW5lZF0gc3R5bGUKKyAgICBbJ2JhY2tncm91bmQtcmVwZWF0LXknOidpbml0aWFsJyBp
cy1pbXBvcnRhbnRdIEBbdW5kZWZpbmVkLXVuZGVmaW5lZF0gc3R5bGUKKyAgICBbJ2JhY2tncm91
bmQtYXR0YWNobWVudCc6J2luaXRpYWwnIGlzLWltcG9ydGFudF0gQFt1bmRlZmluZWQtdW5kZWZp
bmVkXSBzdHlsZQorICAgIFsnYmFja2dyb3VuZC1wb3NpdGlvbi14JzonaW5pdGlhbCcgaXMtaW1w
b3J0YW50XSBAW3VuZGVmaW5lZC11bmRlZmluZWRdIHN0eWxlCisgICAgWydiYWNrZ3JvdW5kLXBv
c2l0aW9uLXknOidpbml0aWFsJyBpcy1pbXBvcnRhbnRdIEBbdW5kZWZpbmVkLXVuZGVmaW5lZF0g
c3R5bGUKKyAgICBbJ2JhY2tncm91bmQtb3JpZ2luJzonaW5pdGlhbCcgaXMtaW1wb3J0YW50XSBA
W3VuZGVmaW5lZC11bmRlZmluZWRdIHN0eWxlCisgICAgWydiYWNrZ3JvdW5kLWNsaXAnOidpbml0
aWFsJyBpcy1pbXBvcnRhbnRdIEBbdW5kZWZpbmVkLXVuZGVmaW5lZF0gc3R5bGUKKyAgICBbJ2Jh
Y2tncm91bmQtY29sb3InOidncmVlbicgaXMtaW1wb3J0YW50XSBAW3VuZGVmaW5lZC11bmRlZmlu
ZWRdIHN0eWxlCisgICAgWydiYWNrZ3JvdW5kLXNpemUnOidpbml0aWFsJyBpcy1pbXBvcnRhbnRd
IEBbdW5kZWZpbmVkLXVuZGVmaW5lZF0gc3R5bGUKK30KKworPT09IEFmdGVyIHByb3BlcnR5IG1h
bmlwdWxhdGlvbnMgPT09CitbdGV4dD0naGVpZ2h0IDogMTAwJSA7J10gZGlzYWJsZWQKK1snYm9y
ZGVyJzonMXB4IHNvbGlkJ10gQFszMDo1LTMwOjIzXSBhY3RpdmUKK1snYm9yZGVyLXdpZHRoJzon
MnB4J10gQFszMDoyNC0zMDo0Ml0gaW5hY3RpdmUKK1snZ29vZ2xlcyc6J2FicmEnIG5vbi1wYXJz
ZWRdIEBbMzA6NDQtMzA6NThdIGFjdGl2ZQorWydmb28nOicuYmFyJyBub24tcGFyc2VkXSBAWzMw
OjU5LTMwOjY5XSBhY3RpdmUKK1snLW1vei1nb29nJzonMSoqKicgbm9uLXBhcnNlZF0gQFszMDo3
MC0zMDo4Nl0gYWN0aXZlCitbJ2ZvbnQtc2l6ZSc6JzEycHgnXSBAWzMxOjQtMzE6MjBdIGFjdGl2
ZQorWydib3JkZXItd2lkdGgnOicxcHgnXSBAWzMyOjQtMzI6MjJdIGFjdGl2ZQorW3RleHQ9J2Zv
bnQtc2l6ZTogMTRweDsnXSBkaXNhYmxlZAorWydib3JkZXItdG9wLXdpZHRoJzonMXB4J10gQFt1
bmRlZmluZWQtdW5kZWZpbmVkXSBzdHlsZQorWydib3JkZXItcmlnaHQtd2lkdGgnOicxcHgnXSBA
W3VuZGVmaW5lZC11bmRlZmluZWRdIHN0eWxlCitbJ2JvcmRlci1ib3R0b20td2lkdGgnOicxcHgn
XSBAW3VuZGVmaW5lZC11bmRlZmluZWRdIHN0eWxlCitbJ2JvcmRlci1sZWZ0LXdpZHRoJzonMXB4
J10gQFt1bmRlZmluZWQtdW5kZWZpbmVkXSBzdHlsZQorWydib3JkZXItdG9wLXN0eWxlJzonc29s
aWQnXSBAW3VuZGVmaW5lZC11bmRlZmluZWRdIHN0eWxlCitbJ2JvcmRlci1yaWdodC1zdHlsZSc6
J3NvbGlkJ10gQFt1bmRlZmluZWQtdW5kZWZpbmVkXSBzdHlsZQorWydib3JkZXItYm90dG9tLXN0
eWxlJzonc29saWQnXSBAW3VuZGVmaW5lZC11bmRlZmluZWRdIHN0eWxlCitbJ2JvcmRlci1sZWZ0
LXN0eWxlJzonc29saWQnXSBAW3VuZGVmaW5lZC11bmRlZmluZWRdIHN0eWxlCitbJ2JvcmRlci10
b3AtY29sb3InOidpbml0aWFsJ10gQFt1bmRlZmluZWQtdW5kZWZpbmVkXSBzdHlsZQorWydib3Jk
ZXItcmlnaHQtY29sb3InOidpbml0aWFsJ10gQFt1bmRlZmluZWQtdW5kZWZpbmVkXSBzdHlsZQor
Wydib3JkZXItYm90dG9tLWNvbG9yJzonaW5pdGlhbCddIEBbdW5kZWZpbmVkLXVuZGVmaW5lZF0g
c3R5bGUKK1snYm9yZGVyLWxlZnQtY29sb3InOidpbml0aWFsJ10gQFt1bmRlZmluZWQtdW5kZWZp
bmVkXSBzdHlsZQorWydib3JkZXItaW1hZ2Utc291cmNlJzonaW5pdGlhbCddIEBbdW5kZWZpbmVk
LXVuZGVmaW5lZF0gc3R5bGUKK1snYm9yZGVyLWltYWdlLXNsaWNlJzonaW5pdGlhbCddIEBbdW5k
ZWZpbmVkLXVuZGVmaW5lZF0gc3R5bGUKK1snYm9yZGVyLWltYWdlLXdpZHRoJzonaW5pdGlhbCdd
IEBbdW5kZWZpbmVkLXVuZGVmaW5lZF0gc3R5bGUKK1snYm9yZGVyLWltYWdlLW91dHNldCc6J2lu
aXRpYWwnXSBAW3VuZGVmaW5lZC11bmRlZmluZWRdIHN0eWxlCitbJ2JvcmRlci1pbWFnZS1yZXBl
YXQnOidpbml0aWFsJ10gQFt1bmRlZmluZWQtdW5kZWZpbmVkXSBzdHlsZQorCis9PT0gQWZ0ZXIg
cHJvcGVydHkgZW5hYmxlZCA9PT0KK1t0ZXh0PSdoZWlnaHQgOiAxMDAlIDsnXSBkaXNhYmxlZAor
Wydib3JkZXInOicxcHggc29saWQnXSBAWzMwOjUtMzA6MjNdIGFjdGl2ZQorWydib3JkZXItd2lk
dGgnOicycHgnXSBAWzMwOjI0LTMwOjQyXSBpbmFjdGl2ZQorWydnb29nbGVzJzonYWJyYScgbm9u
LXBhcnNlZF0gQFszMDo0NC0zMDo1OF0gYWN0aXZlCitbJ2Zvbyc6Jy5iYXInIG5vbi1wYXJzZWRd
IEBbMzA6NTktMzA6NjldIGFjdGl2ZQorWyctbW96LWdvb2cnOicxKioqJyBub24tcGFyc2VkXSBA
WzMwOjcwLTMwOjg2XSBhY3RpdmUKK1snZm9udC1zaXplJzonMTJweCddIEBbMzE6NC0zMToyMF0g
aW5hY3RpdmUKK1snYm9yZGVyLXdpZHRoJzonMXB4J10gQFszMjo0LTMyOjIyXSBhY3RpdmUKK1sn
Zm9udC1zaXplJzonMTRweCddIEBbMzM6NC0zMzoyMF0gYWN0aXZlCitbJ2JvcmRlci10b3Atd2lk
dGgnOicxcHgnXSBAW3VuZGVmaW5lZC11bmRlZmluZWRdIHN0eWxlCitbJ2JvcmRlci1yaWdodC13
aWR0aCc6JzFweCddIEBbdW5kZWZpbmVkLXVuZGVmaW5lZF0gc3R5bGUKK1snYm9yZGVyLWJvdHRv
bS13aWR0aCc6JzFweCddIEBbdW5kZWZpbmVkLXVuZGVmaW5lZF0gc3R5bGUKK1snYm9yZGVyLWxl
ZnQtd2lkdGgnOicxcHgnXSBAW3VuZGVmaW5lZC11bmRlZmluZWRdIHN0eWxlCitbJ2JvcmRlci10
b3Atc3R5bGUnOidzb2xpZCddIEBbdW5kZWZpbmVkLXVuZGVmaW5lZF0gc3R5bGUKK1snYm9yZGVy
LXJpZ2h0LXN0eWxlJzonc29saWQnXSBAW3VuZGVmaW5lZC11bmRlZmluZWRdIHN0eWxlCitbJ2Jv
cmRlci1ib3R0b20tc3R5bGUnOidzb2xpZCddIEBbdW5kZWZpbmVkLXVuZGVmaW5lZF0gc3R5bGUK
K1snYm9yZGVyLWxlZnQtc3R5bGUnOidzb2xpZCddIEBbdW5kZWZpbmVkLXVuZGVmaW5lZF0gc3R5
bGUKK1snYm9yZGVyLXRvcC1jb2xvcic6J2luaXRpYWwnXSBAW3VuZGVmaW5lZC11bmRlZmluZWRd
IHN0eWxlCitbJ2JvcmRlci1yaWdodC1jb2xvcic6J2luaXRpYWwnXSBAW3VuZGVmaW5lZC11bmRl
ZmluZWRdIHN0eWxlCitbJ2JvcmRlci1ib3R0b20tY29sb3InOidpbml0aWFsJ10gQFt1bmRlZmlu
ZWQtdW5kZWZpbmVkXSBzdHlsZQorWydib3JkZXItbGVmdC1jb2xvcic6J2luaXRpYWwnXSBAW3Vu
ZGVmaW5lZC11bmRlZmluZWRdIHN0eWxlCitbJ2JvcmRlci1pbWFnZS1zb3VyY2UnOidpbml0aWFs
J10gQFt1bmRlZmluZWQtdW5kZWZpbmVkXSBzdHlsZQorWydib3JkZXItaW1hZ2Utc2xpY2UnOidp
bml0aWFsJ10gQFt1bmRlZmluZWQtdW5kZWZpbmVkXSBzdHlsZQorWydib3JkZXItaW1hZ2Utd2lk
dGgnOidpbml0aWFsJ10gQFt1bmRlZmluZWQtdW5kZWZpbmVkXSBzdHlsZQorWydib3JkZXItaW1h
Z2Utb3V0c2V0JzonaW5pdGlhbCddIEBbdW5kZWZpbmVkLXVuZGVmaW5lZF0gc3R5bGUKK1snYm9y
ZGVyLWltYWdlLXJlcGVhdCc6J2luaXRpYWwnXSBAW3VuZGVmaW5lZC11bmRlZmluZWRdIHN0eWxl
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvc3R5
bGVzLW5ldy1BUEkuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMv
c3R5bGVzLW5ldy1BUEkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42NWY1ZDJiOTNmOTI4ZTQ3OTgxNWUwMmNi
NGI3MjJiNzc5M2E3MGQyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
LW9ic29sZXRlL3N0eWxlcy9zdHlsZXMtbmV3LUFQSS5odG1sCkBAIC0wLDAgKzEsNDE4IEBACis8
aHRtbD4KKzxoZWFkPgorCis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9InJlc291cmNlcy9z
dHlsZXMtbmV3LUFQSS5jc3MiPgorCis8c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNw
ZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2h0
dHAvdGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4K
KworZnVuY3Rpb24gdGVzdCgpCit7CisgICAgV2ViSW5zcGVjdG9yLnNob3dQYW5lbCgiZWxlbWVu
dHMiKTsKKworICAgIHRlc3Rfc3R5bGVzKCk7CisKKyAgICB2YXIgYm9keUlkOworICAgIGZ1bmN0
aW9uIHRlc3Rfc3R5bGVzKG5vZGUpCisgICAgeworICAgICAgICBmdW5jdGlvbiBjYWxsYmFjayhz
dHlsZXMpCisgICAgICAgIHsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCIi
KTsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCI9PT0gQ29tcHV0ZWQgc3R5
bGUgcHJvcGVydHkgY291bnQgZm9yIGJvZHkgPT09Iik7CisgICAgICAgICAgICB2YXIgcHJvcENv
dW50ID0gc3R5bGVzLmNvbXB1dGVkU3R5bGUubGVuZ3RoOworICAgICAgICAgICAgSW5zcGVjdG9y
VGVzdC5hZGRSZXN1bHQocHJvcENvdW50ID4gMjAwID8gIk9LIiA6ICJGQUlMICgiICsgcHJvcENv
dW50ICsgIikiKTsKKworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIiIpOwor
ICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIj09PSBNYXRjaGVkIHJ1bGVzIGZv
ciBib2R5ID09PSIpOworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wUnVsZU1hdGNoZXNB
cnJheShzdHlsZXMubWF0Y2hlZENTU1J1bGVzKTsKKworICAgICAgICAgICAgSW5zcGVjdG9yVGVz
dC5hZGRSZXN1bHQoIiIpOworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIj09
PSBQc2V1ZG8gcnVsZXMgZm9yIGJvZHkgPT09Iik7CisgICAgICAgICAgICBmb3IgKHZhciBpID0g
MDsgaSA8IHN0eWxlcy5wc2V1ZG9FbGVtZW50cy5sZW5ndGg7ICsraSkgeworICAgICAgICAgICAg
ICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJQc2V1ZG9JZD0iICsgc3R5bGVzLnBzZXVkb0Vs
ZW1lbnRzW2ldLnBzZXVkb0lkKTsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBS
dWxlTWF0Y2hlc0FycmF5KHN0eWxlcy5wc2V1ZG9FbGVtZW50c1tpXS5tYXRjaGVzKTsKKyAgICAg
ICAgICAgIH0KKworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIiIpOworICAg
ICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIj09PSBJbmhlcml0ZWQgc3R5bGVzIGZv
ciBib2R5ID09PSIpOworICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBzdHlsZXMuaW5o
ZXJpdGVkLmxlbmd0aDsgKytpKSB7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRS
ZXN1bHQoIkxldmVsPSIgKyAoaSArIDEpKTsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0
LmR1bXBTdHlsZShzdHlsZXMuaW5oZXJpdGVkW2ldLmlubGluZVN0eWxlKTsKKyAgICAgICAgICAg
ICAgICBJbnNwZWN0b3JUZXN0LmR1bXBSdWxlTWF0Y2hlc0FycmF5KHN0eWxlcy5pbmhlcml0ZWRb
aV0ubWF0Y2hlZENTU1J1bGVzKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgSW5zcGVj
dG9yVGVzdC5hZGRSZXN1bHQoIiIpOworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1
bHQoIj09PSBJbmxpbmUgc3R5bGUgZm9yIGJvZHkgPT09Iik7CisgICAgICAgICAgICBJbnNwZWN0
b3JUZXN0LmR1bXBTdHlsZShzdHlsZXMuaW5saW5lU3R5bGUpOworICAgICAgICAgICAgdGVzdF9m
b3JjZWRTdGF0ZSgpOworICAgICAgICB9CisKKyAgICAgICAgdmFyIHJlc3VsdFN0eWxlcyA9IHt9
OworCisgICAgICAgIGZ1bmN0aW9uIGNvbXB1dGVkQ2FsbGJhY2soZXJyb3IsIGNvbXB1dGVkU3R5
bGUpCisgICAgICAgIHsKKyAgICAgICAgICAgIGlmIChlcnJvcikgeworICAgICAgICAgICAgICAg
IEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJlcnJvcjogIiArIGVycm9yKTsKKyAgICAgICAgICAg
ICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOworICAgICAgICAgICAgICAgIHJldHVy
bjsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHJlc3VsdFN0eWxlcy5jb21wdXRlZFN0eWxl
ID0gY29tcHV0ZWRTdHlsZTsKKyAgICAgICAgfQorCisgICAgICAgIGZ1bmN0aW9uIGlubGluZUNh
bGxiYWNrKGVycm9yLCBpbmxpbmVTdHlsZSkKKyAgICAgICAgeworICAgICAgICAgICAgaWYgKGVy
cm9yKSB7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoImVycm9yOiAi
ICsgZXJyb3IpOworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7
CisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgfQorICAgICAgICAgICAgcmVz
dWx0U3R5bGVzLmlubGluZVN0eWxlID0gaW5saW5lU3R5bGU7CisgICAgICAgIH0KKworICAgICAg
ICBmdW5jdGlvbiBtYXRjaGVkQ2FsbGJhY2soZXJyb3IsIG1hdGNoZWRDU1NSdWxlcywgcHNldWRv
RWxlbWVudHMsIGluaGVyaXRlZCkKKyAgICAgICAgeworICAgICAgICAgICAgaWYgKGVycm9yKSB7
CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoImVycm9yOiAiICsgZXJy
b3IpOworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7CisgICAg
ICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICByZXN1bHRT
dHlsZXMubWF0Y2hlZENTU1J1bGVzID0gbWF0Y2hlZENTU1J1bGVzOworICAgICAgICAgICAgcmVz
dWx0U3R5bGVzLnBzZXVkb0VsZW1lbnRzID0gcHNldWRvRWxlbWVudHM7CisgICAgICAgICAgICBy
ZXN1bHRTdHlsZXMuaW5oZXJpdGVkID0gaW5oZXJpdGVkOworICAgICAgICAgICAgY2FsbGJhY2so
cmVzdWx0U3R5bGVzKTsKKyAgICAgICAgfQorCisgICAgICAgIGZ1bmN0aW9uIG5vZGVDYWxsYmFj
ayhub2RlKQorICAgICAgICB7CisgICAgICAgICAgICBib2R5SWQgPSBub2RlLmlkOworICAgICAg
ICAgICAgQ1NTQWdlbnQuZ2V0Q29tcHV0ZWRTdHlsZUZvck5vZGUobm9kZS5pZCwgY29tcHV0ZWRD
YWxsYmFjayk7CisgICAgICAgICAgICBDU1NBZ2VudC5nZXRJbmxpbmVTdHlsZXNGb3JOb2RlKG5v
ZGUuaWQsIGlubGluZUNhbGxiYWNrKTsKKyAgICAgICAgICAgIENTU0FnZW50LmdldE1hdGNoZWRT
dHlsZXNGb3JOb2RlKG5vZGUuaWQsIHRydWUsIHRydWUsIG1hdGNoZWRDYWxsYmFjayk7CisgICAg
ICAgIH0KKyAgICAgICAgSW5zcGVjdG9yVGVzdC5zZWxlY3ROb2RlV2l0aElkKCJtYWluQm9keSIs
IG5vZGVDYWxsYmFjayk7CisgICAgfQorCisgICAgZnVuY3Rpb24gdGVzdF9mb3JjZWRTdGF0ZSgp
CisgICAgeworICAgICAgICBDU1NBZ2VudC5mb3JjZVBzZXVkb1N0YXRlKGJvZHlJZCwgWyJob3Zl
ciJdKTsKKyAgICAgICAgQ1NTQWdlbnQuZ2V0TWF0Y2hlZFN0eWxlc0Zvck5vZGUoYm9keUlkLCB0
cnVlLCB0cnVlLCBtYXRjaGVkQ2FsbGJhY2spOworCisgICAgICAgIGZ1bmN0aW9uIG1hdGNoZWRD
YWxsYmFjayhlcnJvciwgbWF0Y2hlZFJ1bGVzKQorICAgICAgICB7CisgICAgICAgICAgICBJbnNw
ZWN0b3JUZXN0LmFkZFJlc3VsdCgiPT09IEJPRFkgd2l0aCBmb3JjZWQgOmhvdmVyID09PSIpOwor
ICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wUnVsZU1hdGNoZXNBcnJheShtYXRjaGVkUnVs
ZXMpOworICAgICAgICAgICAgQ1NTQWdlbnQuZm9yY2VQc2V1ZG9TdGF0ZShib2R5SWQsIFsiaG92
ZXIiXSwgdGVzdF90YWJsZVN0eWxlcyk7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBmdW5jdGlv
biB0ZXN0X3RhYmxlU3R5bGVzKCkKKyAgICB7CisgICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrKGVy
cm9yLCBpbmxpbmVTdHlsZSwgYXR0cmlidXRlc1N0eWxlKQorICAgICAgICB7CisgICAgICAgICAg
ICBpZiAoZXJyb3IpIHsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgi
ZXJyb3I6ICIgKyBlcnJvcik7CisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAg
fQorICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIiIpOworICAgICAgICAgICAg
SW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIj09PSBBdHRyaWJ1dGVzIHN0eWxlIGZvciB0YWJsZSA9
PT0iKTsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZHVtcFN0eWxlKGF0dHJpYnV0ZXNTdHls
ZSk7CisgICAgICAgICAgICB0ZXN0X2lubGluZVN0eWxlU2hlZXRNb2RpZmljYXRpb24oaW5saW5l
U3R5bGUpOworICAgICAgICB9CisKKyAgICAgICAgZnVuY3Rpb24gbm9kZUNhbGxiYWNrKG5vZGUp
CisgICAgICAgIHsKKyAgICAgICAgICAgIENTU0FnZW50LmdldElubGluZVN0eWxlc0Zvck5vZGUo
bm9kZS5pZCwgY2FsbGJhY2spOworICAgICAgICB9CisgICAgICAgIEluc3BlY3RvclRlc3Qubm9k
ZVdpdGhJZCgidGhldGFibGUiLCBub2RlQ2FsbGJhY2spOworICAgIH0KKworICAgIGZ1bmN0aW9u
IHRlc3RfaW5saW5lU3R5bGVTaGVldE1vZGlmaWNhdGlvbihpbmxpbmVTdHlsZSkKKyAgICB7Cisg
ICAgICAgIENTU0FnZW50LmdldFN0eWxlU2hlZXRUZXh0KGlubGluZVN0eWxlLnN0eWxlSWQuc3R5
bGVTaGVldElkLCB0ZXh0Q2FsbGJhY2spOworCisgICAgICAgIGZ1bmN0aW9uIHRleHRDYWxsYmFj
ayhlcnJvciwgcmVzdWx0KQorICAgICAgICB7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFk
ZFJlc3VsdCgiIik7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiPT09IFN0
eWxlc2hlZXQtZm9yLWlubGluZS1zdHlsZSB0ZXh0ID09PSIpOworICAgICAgICAgICAgSW5zcGVj
dG9yVGVzdC5hZGRSZXN1bHQocmVzdWx0KTsKKyAgICAgICAgICAgIENTU0FnZW50LnNldFN0eWxl
U2hlZXRUZXh0KGlubGluZVN0eWxlLnN0eWxlSWQuc3R5bGVTaGVldElkLCAiIiwgc2V0VGV4dENh
bGxiYWNrKTsKKyAgICAgICAgfQorCisgICAgICAgIGZ1bmN0aW9uIHNldFRleHRDYWxsYmFjayhl
cnJvciwgcmVzdWx0KQorICAgICAgICB7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJl
c3VsdCgiIik7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiPT09IFN0eWxl
c2hlZXQtZm9yLWlubGluZS1zdHlsZSBtb2RpZmljYXRpb24gcmVzdWx0ID09PSIpOworICAgICAg
ICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoZXJyb3IpOworICAgICAgICAgICAgdGVzdF9z
dHlsZVNoZWV0cygpOworICAgICAgICB9CisgICAgfQorCisgICAgZnVuY3Rpb24gdGVzdF9zdHls
ZVNoZWV0cygpCisgICAgeworICAgICAgICB2YXIgbmV3U3R5bGVTaGVldFRleHQgPQorICAgICAg
ICAgICAgImJvZHkubWFpbnBhZ2UgeyIgKworICAgICAgICAgICAgIiAgICB0ZXh0LWRlY29yYXRp
b246IHN0cmlrZXRocm91Z2g7IiArCisgICAgICAgICAgICAiICAgIGJhZHByb3BlcnR5OiAyYmFk
dmFsdWUyOyIgKworICAgICAgICAgICAgIn0iICsKKyAgICAgICAgICAgICJib2R5IHsiICsKKyAg
ICAgICAgICAgICIgICAgdGV4dC1hbGlnbjoganVzdGlmeTsiICsKKyAgICAgICAgICAgICJ9IjsK
KworICAgICAgICBmdW5jdGlvbiBwYXRjaFN0eWxlU2hlZXQoc3R5bGVTaGVldCkKKyAgICAgICAg
eworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIiIpOworICAgICAgICAgICAg
SW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIj09PSBMYXN0IHN0eWxlc2hlZXQgcGF0Y2hlZCA9PT0i
KTsKKyAgICAgICAgICAgIENTU0FnZW50LnNldFN0eWxlU2hlZXRUZXh0KHN0eWxlU2hlZXQuc3R5
bGVTaGVldElkLCBuZXdTdHlsZVNoZWV0VGV4dCwKKyAgICAgICAgICAgICAgICBsb2FkQW5kRHVt
cFN0eWxlU2hlZXQuYmluZChudWxsLCBzdHlsZVNoZWV0LnN0eWxlU2hlZXRJZCwgdGVzdF9jaGFu
Z2VTZWxlY3RvcikpOworICAgICAgICB9CisKKyAgICAgICAgZnVuY3Rpb24gc3R5bGVTaGVldElu
Zm9zTG9hZGVkKGVycm9yLCBpbmZvcykKKyAgICAgICAgeworICAgICAgICAgICAgaWYgKGVycm9y
KSB7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoImVycm9yOiAiICsg
ZXJyb3IpOworICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCIiKTsKKyAgICAgICAgICAgIEluc3BlY3RvclRl
c3QuYWRkUmVzdWx0KCI9PT0gQWxsIHN0eWxlc2hlZXRzID09PSIpOworICAgICAgICAgICAgZm9y
ICh2YXIgaSA9IDA7IGkgPCBpbmZvcy5sZW5ndGg7ICsraSkKKyAgICAgICAgICAgICAgICBsb2Fk
QW5kRHVtcFN0eWxlU2hlZXQoaW5mb3NbaV0uc3R5bGVTaGVldElkLCAoaSA8IGluZm9zLmxlbmd0
aCAtIDEpID8gbnVsbCA6IHBhdGNoU3R5bGVTaGVldCk7CisgICAgICAgIH0KKyAgICAgICAgQ1NT
QWdlbnQuZ2V0QWxsU3R5bGVTaGVldHMoc3R5bGVTaGVldEluZm9zTG9hZGVkKTsKKyAgICB9CisK
KyAgICBmdW5jdGlvbiB0ZXN0X2NoYW5nZVNlbGVjdG9yKHN0eWxlU2hlZXQpCisgICAgeworICAg
ICAgICBmdW5jdGlvbiBkaWRTZXRTZWxlY3RvcihlcnJvciwgcnVsZSkKKyAgICAgICAgeworICAg
ICAgICAgICAgaWYgKGVycm9yKSB7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRS
ZXN1bHQoImVycm9yOiAiICsgZXJyb3IpOworICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCIiKTsKKyAgICAg
ICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCI9PT0gQWZ0ZXIgc2VsZWN0b3Igc2V0ID09
PSIpOworICAgICAgICAgICAgbG9hZEFuZER1bXBTdHlsZVNoZWV0KHJ1bGUucnVsZUlkLnN0eWxl
U2hlZXRJZCwgdGVzdF9zZXRQcm9wZXJ0eVRleHQpOworICAgICAgICB9CisKKyAgICAgICAgQ1NT
QWdlbnQuc2V0UnVsZVNlbGVjdG9yKHN0eWxlU2hlZXQucnVsZXNbMF0ucnVsZUlkLCAiaHRtbCAq
LCBib2R5W2Zvbz1cImJhclwiXSIsIGRpZFNldFNlbGVjdG9yKTsKKyAgICB9CisKKyAgICBmdW5j
dGlvbiB0ZXN0X3NldFByb3BlcnR5VGV4dChzdHlsZVNoZWV0KQorICAgIHsKKyAgICAgICAgZnVu
Y3Rpb24gZGlkU2V0UHJvcGVydHlUZXh0KGVycm9yLCBzdHlsZSkKKyAgICAgICAgeworICAgICAg
ICAgICAgaWYgKGVycm9yKSB7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1
bHQoImVycm9yOiAiICsgZXJyb3IpOworICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCIiKTsKKyAgICAgICAg
ICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCI9PT0gQWZ0ZXIgcHJvcGVydHkgdGV4dCBzZXQg
PT09Iik7CisgICAgICAgICAgICBsb2FkQW5kRHVtcFN0eWxlU2hlZXQoc3R5bGUuc3R5bGVJZC5z
dHlsZVNoZWV0SWQsIHRlc3Rfc2V0U3R5bGVUZXh0MSk7CisgICAgICAgIH0KKworICAgICAgICBD
U1NBZ2VudC5zZXRQcm9wZXJ0eVRleHQoc3R5bGVTaGVldC5ydWxlc1swXS5zdHlsZS5zdHlsZUlk
LCAwLCAiIiwgdHJ1ZSk7CisgICAgICAgIENTU0FnZW50LnNldFByb3BlcnR5VGV4dChzdHlsZVNo
ZWV0LnJ1bGVzWzBdLnN0eWxlLnN0eWxlSWQsIDAsICIiLCB0cnVlKTsKKworICAgICAgICAvLyBU
aGlzIG9wZXJhdGlvbiBzaG91bGQgbm90IHVwZGF0ZSB0aGUgc3R5bGUgYXMgdGhlIG5ldyBwcm9w
ZXJ0eSB0ZXh0IGlzIG5vdCBwYXJzYWJsZS4KKyAgICAgICAgQ1NTQWdlbnQuc2V0UHJvcGVydHlU
ZXh0KHN0eWxlU2hlZXQucnVsZXNbMF0uc3R5bGUuc3R5bGVJZCwgMCwgInp6ejsiLCBmYWxzZSk7
CisgICAgICAgIENTU0FnZW50LnNldFByb3BlcnR5VGV4dChzdHlsZVNoZWV0LnJ1bGVzWzBdLnN0
eWxlLnN0eWxlSWQsIDAsICJjb2xvcjogd2hpdGU7IGJhY2tncm91bmQ6IGJsYWNrOyIsIGZhbHNl
LCBkaWRTZXRQcm9wZXJ0eVRleHQpOworICAgIH0KKworICAgIGZ1bmN0aW9uIHRlc3Rfc2V0U3R5
bGVUZXh0MShzdHlsZVNoZWV0KQorICAgIHsKKyAgICAgICAgZnVuY3Rpb24gZGlkU2V0U3R5bGVU
ZXh0MShlcnJvciwgc3R5bGUpCisgICAgICAgIHsKKyAgICAgICAgICAgIGlmIChlcnJvcikgewor
ICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJlcnJvcjogIiArIGVycm9y
KTsKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICB9CisgICAgICAgICAgICBJ
bnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiIik7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFk
ZFJlc3VsdCgiPT09IEFmdGVyIGZpcnN0IHN0eWxlIHRleHQgc2V0ID09PSIpOworICAgICAgICAg
ICAgbG9hZEFuZER1bXBTdHlsZVNoZWV0KHN0eWxlLnN0eWxlSWQuc3R5bGVTaGVldElkLCB0ZXN0
X3NldFN0eWxlVGV4dDIpOworICAgICAgICB9CisKKyAgICAgICAgQ1NTQWdlbnQuc2V0U3R5bGVU
ZXh0KHN0eWxlU2hlZXQucnVsZXNbMF0uc3R5bGUuc3R5bGVJZCwgIiIsIGRpZFNldFN0eWxlVGV4
dDEpOworICAgIH0KKworICAgIGZ1bmN0aW9uIHRlc3Rfc2V0U3R5bGVUZXh0MihzdHlsZVNoZWV0
KQorICAgIHsKKyAgICAgICAgZnVuY3Rpb24gZGlkU2V0U3R5bGVUZXh0MihlcnJvciwgc3R5bGUp
CisgICAgICAgIHsKKyAgICAgICAgICAgIGlmIChlcnJvcikgeworICAgICAgICAgICAgICAgIElu
c3BlY3RvclRlc3QuYWRkUmVzdWx0KCJlcnJvcjogIiArIGVycm9yKTsKKyAgICAgICAgICAgICAg
ICByZXR1cm47CisgICAgICAgICAgICB9CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJl
c3VsdCgiIik7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiPT09IEFmdGVy
IHNlY29uZCBzdHlsZSB0ZXh0IHNldCA9PT0iKTsKKyAgICAgICAgICAgIGxvYWRBbmREdW1wU3R5
bGVTaGVldChzdHlsZS5zdHlsZUlkLnN0eWxlU2hlZXRJZCwgdGVzdF9hZGRSdWxlKTsKKyAgICAg
ICAgfQorCisgICAgICAgIENTU0FnZW50LnNldFN0eWxlVGV4dChzdHlsZVNoZWV0LnJ1bGVzWzBd
LnN0eWxlLnN0eWxlSWQsICJjb2xvcjogZ3JlZW47IGJhY2tncm91bmQ6IHJlZDsgZm9vOiBiYXI7
ICpiYXo6IGJhcjsgLyogQ29tbWVudCAqLyBmb250LXdlaWdodDogYm9sZCAhaW1wb3J0YW50Iiwg
ZGlkU2V0U3R5bGVUZXh0Mik7CisgICAgfQorCisgICAgZnVuY3Rpb24gdGVzdF9hZGRSdWxlKCkK
KyAgICB7CisgICAgICAgIGZ1bmN0aW9uIGRpZEdldFN0eWxlcyhlcnJvciwgbWF0Y2hlZENTU1J1
bGVzKQorICAgICAgICB7CisgICAgICAgICAgICBpZiAoZXJyb3IpIHsKKyAgICAgICAgICAgICAg
ICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiZXJyb3I6ICIgKyBlcnJvcik7CisgICAgICAgICAg
ICAgICAgcmV0dXJuOworICAgICAgICAgICAgfQorICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5h
ZGRSZXN1bHQoIiIpOworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIj09PSBN
YXRjaGVkIHJ1bGVzIGFmdGVyIHJ1bGUgYWRkZWQgPT09Iik7CisgICAgICAgICAgICBJbnNwZWN0
b3JUZXN0LmR1bXBSdWxlTWF0Y2hlc0FycmF5KG1hdGNoZWRDU1NSdWxlcyk7CisgICAgICAgICAg
ICB0ZXN0X2Rpc2FibGVQcm9wZXJ0eSgpOworICAgICAgICB9CisKKyAgICAgICAgZnVuY3Rpb24g
ZGlkU2V0U3R5bGVUZXh0KGVycm9yLCBzdHlsZSkKKyAgICAgICAgeworICAgICAgICAgICAgaWYg
KGVycm9yKSB7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoImVycm9y
OiAiICsgZXJyb3IpOworICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIENTU0FnZW50LmdldE1hdGNoZWRTdHlsZXNGb3JOb2RlKGJvZHlJZCwgZmFsc2Us
IGZhbHNlLCBkaWRHZXRTdHlsZXMpOworICAgICAgICB9CisKKyAgICAgICAgZnVuY3Rpb24gcnVs
ZUFkZGVkKGVycm9yLCBydWxlKQorICAgICAgICB7CisgICAgICAgICAgICBpZiAoZXJyb3IpIHsK
KyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiZXJyb3I6ICIgKyBlcnJv
cik7CisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgfQorICAgICAgICAgICAg
Q1NTQWdlbnQuc2V0UHJvcGVydHlUZXh0KHJ1bGUuc3R5bGUuc3R5bGVJZCwgMCwgImZvbnQtZmFt
aWx5OiBzZXJpZjsiLCBmYWxzZSwgZGlkU2V0U3R5bGVUZXh0KTsKKyAgICAgICAgfQorCisgICAg
ICAgIENTU0FnZW50LmFkZFJ1bGUoYm9keUlkLCAiYm9keSIsIHJ1bGVBZGRlZCk7CisgICAgfQor
CisgICAgZnVuY3Rpb24gdGVzdF9kaXNhYmxlUHJvcGVydHkoKQorICAgIHsKKyAgICAgICAgZnVu
Y3Rpb24gZGlkRGlzYWJsZVByb3BlcnR5KGVycm9yLCBzdHlsZSkKKyAgICAgICAgeworICAgICAg
ICAgICAgaWYgKGVycm9yKSB7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1
bHQoImVycm9yOiAiICsgZXJyb3IpOworICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCIiKTsKKyAgICAgICAg
ICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCI9PT0gQWZ0ZXIgcHJvcGVydHkgbWFuaXB1bGF0
aW9ucyA9PT0iKTsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZHVtcFN0eWxlKHN0eWxlKTsK
KyAgICAgICAgICAgIHRlc3RfZW5hYmxlUHJvcGVydHkoc3R5bGUuc3R5bGVJZCk7CisgICAgICAg
IH0KKworICAgICAgICBmdW5jdGlvbiBzdHlsZXNDYWxsYmFjayhlcnJvciwgbWF0Y2hlZENTU1J1
bGVzKQorICAgICAgICB7CisgICAgICAgICAgICBpZiAoZXJyb3IpIHsKKyAgICAgICAgICAgICAg
ICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiZXJyb3I6ICIgKyBlcnJvcik7CisgICAgICAgICAg
ICAgICAgcmV0dXJuOworICAgICAgICAgICAgfQorICAgICAgICAgICAgLy8gaGVpZ2h0IDogMTAw
JSA7CisgICAgICAgICAgICAvLyBib3JkZXI6IDFweCBzb2xpZDsKKyAgICAgICAgICAgIC8vIGJv
cmRlci13aWR0aDogMnB4OworICAgICAgICAgICAgLy8gYmFja2dyb3VuZC1jb2xvciA6ICMzM0ZG
MzM7CisgICAgICAgICAgICAvLyBnb29nbGVzOiBhYnJhOworICAgICAgICAgICAgLy8gZm9vOiAu
YmFyOworICAgICAgICAgICAgLy8gLW1vei1nb29nOiAxKioqOworICAgICAgICAgICAgLy8gYm9y
ZGVyLXdpZHRoOiAwcHg7CisKKyAgICAgICAgICAgIHZhciBzdHlsZUlkID0gbWF0Y2hlZENTU1J1
bGVzWzFdLnJ1bGUuc3R5bGUuc3R5bGVJZDsKKyAgICAgICAgICAgIENTU0FnZW50LnRvZ2dsZVBy
b3BlcnR5KHN0eWxlSWQsIDAsIHRydWUpOyAvLyBoZWlnaHQ6IDEwMCUKKyAgICAgICAgICAgIENT
U0FnZW50LnRvZ2dsZVByb3BlcnR5KHN0eWxlSWQsIDcsIHRydWUpOyAvLyBib3JkZXItd2lkdGg6
IDBweAorICAgICAgICAgICAgQ1NTQWdlbnQuc2V0UHJvcGVydHlUZXh0KHN0eWxlSWQsIDcsICJm
b250LXNpemU6IDEycHg7IiwgZmFsc2UpOworICAgICAgICAgICAgQ1NTQWdlbnQuc2V0UHJvcGVy
dHlUZXh0KHN0eWxlSWQsIDksICJmb250LXNpemU6IDE0cHg7IiwgZmFsc2UpOworICAgICAgICAg
ICAgQ1NTQWdlbnQudG9nZ2xlUHJvcGVydHkoc3R5bGVJZCwgOSwgdHJ1ZSk7IC8vIGZvbnQtc2l6
ZTogMTRweAorICAgICAgICAgICAgQ1NTQWdlbnQuc2V0UHJvcGVydHlUZXh0KHN0eWxlSWQsIDgs
ICJib3JkZXItd2lkdGg6IDFweDsiLCB0cnVlKTsKKyAgICAgICAgICAgIENTU0FnZW50LnRvZ2ds
ZVByb3BlcnR5KHN0eWxlSWQsIDgsIGZhbHNlKTsgLy8gYm9yZGVyLXdpZHRoOiAxcHgKKyAgICAg
ICAgICAgIC8vIGhlaWdodCA6IDEwMCUgOyBbZF0KKyAgICAgICAgICAgIC8vIGJvcmRlcjogMXB4
IHNvbGlkOworICAgICAgICAgICAgLy8gYm9yZGVyLXdpZHRoOiAycHg7CisgICAgICAgICAgICAv
LyBiYWNrZ3JvdW5kLWNvbG9yIDogIzMzRkYzMzsKKyAgICAgICAgICAgIC8vIGdvb2dsZXM6IGFi
cmE7CisgICAgICAgICAgICAvLyBmb286IC5iYXI7CisgICAgICAgICAgICAvLyAtbW96LWdvb2c6
IDEqKio7CisgICAgICAgICAgICAvLyBmb250LXNpemU6IDEycHg7CisgICAgICAgICAgICAvLyBi
b3JkZXItd2lkdGg6IDFweDsKKyAgICAgICAgICAgIC8vIGZvbnQtc2l6ZTogMTRweDsgW2RdCisK
KyAgICAgICAgICAgIENTU0FnZW50LnNldFByb3BlcnR5VGV4dChzdHlsZUlkLCAzLCAiIiwgdHJ1
ZSwgZGlkRGlzYWJsZVByb3BlcnR5KTsKKyAgICAgICAgfQorCisgICAgICAgIGZ1bmN0aW9uIG5v
ZGVDYWxsYmFjayhub2RlKQorICAgICAgICB7CisgICAgICAgICAgICBDU1NBZ2VudC5nZXRNYXRj
aGVkU3R5bGVzRm9yTm9kZShub2RlLmlkLCBmYWxzZSwgZmFsc2UsIHN0eWxlc0NhbGxiYWNrKTsK
KyAgICAgICAgfQorICAgICAgICBJbnNwZWN0b3JUZXN0Lm5vZGVXaXRoSWQoInRvZ2dsZSIsIG5v
ZGVDYWxsYmFjayk7CisgICAgfQorCisgICAgZnVuY3Rpb24gdGVzdF9lbmFibGVQcm9wZXJ0eShz
dHlsZUlkKQorICAgIHsKKyAgICAgICAgZnVuY3Rpb24gZGlkRW5hYmxlUHJvcGVydHkoZXJyb3Is
IHN0eWxlKQorICAgICAgICB7CisgICAgICAgICAgICBpZiAoZXJyb3IpIHsKKyAgICAgICAgICAg
ICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiZXJyb3I6ICIgKyBlcnJvcik7CisgICAgICAg
ICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgfQorICAgICAgICAgICAgSW5zcGVjdG9yVGVz
dC5hZGRSZXN1bHQoIiIpOworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIj09
PSBBZnRlciBwcm9wZXJ0eSBlbmFibGVkID09PSIpOworICAgICAgICAgICAgSW5zcGVjdG9yVGVz
dC5kdW1wU3R5bGUoc3R5bGUpOworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRl
c3QoKTsKKyAgICAgICAgfQorCisgICAgICAgIENTU0FnZW50LnRvZ2dsZVByb3BlcnR5KHN0eWxl
SWQsIDYsIGZhbHNlKTsKKyAgICAgICAgQ1NTQWdlbnQudG9nZ2xlUHJvcGVydHkoc3R5bGVJZCwg
OCwgZmFsc2UsIGRpZEVuYWJsZVByb3BlcnR5KTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBsb2Fk
QW5kRHVtcFN0eWxlU2hlZXQoc3R5bGVTaGVldElkLCBjb250aW51YXRpb24sIGVycm9yKQorICAg
IHsKKyAgICAgICAgaWYgKGVycm9yKSB7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJl
c3VsdCgiZXJyb3I6ICIgKyBlcnJvcik7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0K
KworICAgICAgICBmdW5jdGlvbiBzdHlsZVNoZWV0TG9hZGVkKGVycm9yLCBzdHlsZVNoZWV0KQor
ICAgICAgICB7CisgICAgICAgICAgICBpZiAoZXJyb3IpIHsKKyAgICAgICAgICAgICAgICBJbnNw
ZWN0b3JUZXN0LmFkZFJlc3VsdCgiZXJyb3I6ICIgKyBlcnJvcik7CisgICAgICAgICAgICAgICAg
cmV0dXJuOworICAgICAgICAgICAgfQorICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1
bHQoIiIpOworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIlN0eWxlU2hlZXQ6
ICciICsgc3R5bGVTaGVldC50ZXh0ICsgIiciKTsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3Qu
ZHVtcFJ1bGVzQXJyYXkoc3R5bGVTaGVldC5ydWxlcyk7CisgICAgICAgICAgICBpZiAoY29udGlu
dWF0aW9uKQorICAgICAgICAgICAgICAgIGNvbnRpbnVhdGlvbihzdHlsZVNoZWV0KTsKKyAgICAg
ICAgfQorCisgICAgICAgIENTU0FnZW50LmdldFN0eWxlU2hlZXQoc3R5bGVTaGVldElkLCBzdHls
ZVNoZWV0TG9hZGVkKTsKKyAgICB9Cit9CisKKzwvc2NyaXB0PgorCis8c3R5bGU+CisKKy8qIEFu
IGlubGluZSBzdHlsZXNoZWV0ICovCitib2R5Lm1haW5wYWdlIHsKKyAgICB0ZXh0LWRlY29yYXRp
b246IG5vbmU7IC8qIGF0IGxlYXN0IG9uZSB2YWxpZCBwcm9wZXJ0eSBpcyBuZWNlc3NhcnkgZm9y
IFdlYkNvcmUgdG8gbWF0Y2ggYSBydWxlICovCisgICAgO2JhZHByb3BlcnR5OiAxYmFkdmFsdWUx
OworfQorCitib2R5Lm1haW5wYWdlIHsKKyAgICBwcm9wMTogdmFsMTsKKyAgICBwcm9wMjogdmFs
MjsKK30KKworYm9keTpob3ZlciB7CisgIGNvbG9yOiAjQ0RFOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKworPGJvZHkgaWQ9Im1haW5Cb2R5IiBjbGFzcz0ibWFpbjEgbWFpbjIgbWFpbnBhZ2UiIG9u
bG9hZD0icnVuVGVzdCgpIiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsgd2lkdGg6IDg1JTsg
YmFja2dyb3VuZC1pbWFnZTogdXJsKGJhci5wbmcpIj4KKzxwPgorVGVzdHMgdGhhdCBJbnNwZWN0
b3JDU1NBZ2VudCBBUEkgbWV0aG9kcyB3b3JrIGFzIGV4cGVjdGVkLgorPC9wPgorPHRhYmxlIHdp
ZHRoPSI1MCUiIGlkPSJ0aGV0YWJsZSI+Cis8L3RhYmxlPgorPGgxIGlkPSJ0b2dnbGUiPkgxPC9o
MT4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1v
YnNvbGV0ZS9zdHlsZXMvc3R5bGVzLW92ZXJyaWRlbi1wcm9wZXJ0aWVzLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvc3R5bGVzLW92ZXJyaWRlbi1w
cm9wZXJ0aWVzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jNzYzOTRiOTNiYWVmOTA4N2NjMTgx
ZTVlODc2MTFmMGU0MWM2OTg2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yLW9ic29sZXRlL3N0eWxlcy9zdHlsZXMtb3ZlcnJpZGVuLXByb3BlcnRpZXMtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTcgQEAKK1Rlc3RzIHRoYXQgb3ZlcnJpZGluZyBzaG9ydGhhbmRzIHdp
dGhpbiBydWxlIGFyZSB2aXNpYmxlLgorCitbZXhwYW5kZWRdIAorZWxlbWVudC5zdHlsZSAgeyAo
KQorCis9PT09PT09PSBNYXRjaGVkIENTUyBSdWxlcyA9PT09PT09PQorW2V4cGFuZGVkXSAKKyNt
YWluICB7IChzdHlsZXMtb3ZlcnJpZGVuLXByb3BlcnRpZXMuaHRtbDo0KQorLy0tIG92ZXJsb2Fk
ZWQgLS0vIGJhY2tncm91bmQ6ICMwMDA7CitiYWNrZ3JvdW5kOiAjYmFkYTU1OworCitbZXhwYW5k
ZWRdIAorZGl2ICB7ICh1c2VyIGFnZW50IHN0eWxlc2hlZXQpCitkaXNwbGF5OiBibG9jazsKKwor
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvc3R5
bGVzLW92ZXJyaWRlbi1wcm9wZXJ0aWVzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jz
b2xldGUvc3R5bGVzL3N0eWxlcy1vdmVycmlkZW4tcHJvcGVydGllcy5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjhlODUxZmUyYzhlMjEwMWVlMmMxOWY0YmU1MjM0OTdkZmNkYWYzYWUKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVzL3N0eWxlcy1vdmVycmlk
ZW4tcHJvcGVydGllcy5odG1sCkBAIC0wLDAgKzEsMzcgQEAKKzxodG1sPgorPGhlYWQ+Cis8c3R5
bGUgdHlwZT0idGV4dC9jc3MiPgorI21haW4geworICAgIGhlaWdodDogMTAwcHg7CisgICAgYmFj
a2dyb3VuZDogIzAwMDsKKyAgICBiYWNrZ3JvdW5kOiAjYmFkYTU1OworfQorPC9zdHlsZT4KKwor
PHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0Lmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9lbGVt
ZW50cy10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisKK2Z1bmN0aW9uIHRlc3QoKQorewor
ICAgIEluc3BlY3RvclRlc3Quc2VsZWN0Tm9kZUFuZFdhaXRGb3JTdHlsZXMoIm1haW4iLCBzdGVw
MSk7CisKKyAgICBmdW5jdGlvbiBzdGVwMSgpCisgICAgeworICAgICAgICBJbnNwZWN0b3JUZXN0
LmR1bXBTZWxlY3RlZEVsZW1lbnRTdHlsZXModHJ1ZSwgZmFsc2UsIHRydWUpOworICAgICAgICBJ
bnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOworICAgIH0KK30KKworPC9zY3JpcHQ+Cis8L2hl
YWQ+CisKKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KKzxwPgorVGVzdHMgdGhhdCBvdmVycmlk
aW5nIHNob3J0aGFuZHMgd2l0aGluIHJ1bGUgYXJlIHZpc2libGUuCis8L3A+CisKKzxkaXYgaWQ9
Im1haW4iPjwvZGl2PgorCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVzL3N0eWxlcy1zb3VyY2UtbGluZXMtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy9zdHlsZXMtc291cmNl
LWxpbmVzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YTdlNDQ2ZDgzZjQyZTBjNGY4MDBkZjZm
MmFhNjAzOGI1ZjdhZTVmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
LW9ic29sZXRlL3N0eWxlcy9zdHlsZXMtc291cmNlLWxpbmVzLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM1IEBACitUZXN0cyB0aGF0IHByb3BlciBzb3VyY2UgbGluZXMgYXJlIHJlcG9ydGVkIGZv
ciB0aGUgcGFyc2VkIHN0eWxlcy4KKworW2V4cGFuZGVkXSAKK2VsZW1lbnQuc3R5bGUgIHsgKCkK
KworPT09PT09PT0gTWF0Y2hlZCBDU1MgUnVsZXMgPT09PT09PT0KK1tleHBhbmRlZF0gCittZWRp
YT0ic2NyZWVuIiAoc3R5bGVzLXNvdXJjZS1saW5lcy5odG1sKQorI21haW4sIC5hdF9saW5lXzUw
ICB7IChzdHlsZXMtc291cmNlLWxpbmVzLmh0bWw6NTApCitib3JkZXI6IDFweCBzb2xpZAorICAg
IHJlZDsKKworW2V4cGFuZGVkXSAKK21lZGlhPSJzY3JlZW4iIChzdHlsZXMtc291cmNlLWxpbmVz
Lmh0bWwpCisjbWFpbiwgLmF0X2xpbmVfNDMgIHsgKHN0eWxlcy1zb3VyY2UtbGluZXMuaHRtbDo0
MykKK2ZvbnQtc2l6ZTogMTBweDsKKworW2V4cGFuZGVkXSAKK21lZGlhPSJzY3JlZW4iIChzdHls
ZXMtc291cmNlLWxpbmVzLmh0bWwpCisjbWFpbiwgLmF0X2xpbmVfMjkgIHsgKHN0eWxlcy1zb3Vy
Y2UtbGluZXMuaHRtbDoyOSkKK2ZvbnQtZmFtaWx5OiAvKiAgQ29tbWVudCBpbiAKKyAgICAgICAg
ICAgICAgICAgICAgICB2YWx1ZSAgKi9jb3VyaWVyOworCitbZXhwYW5kZWRdIAorbWVkaWE9InNj
cmVlbiIgKHN0eWxlcy1zb3VyY2UtbGluZXMuaHRtbCkKKyNtYWluLCAuYXRfbGluZV8xNTo6YmVm
b3JlICB7IChzdHlsZXMtc291cmNlLWxpbmVzLmh0bWw6MTUpCitjb2xvcjogcmVkOworY29udGVu
dDogIkJlZm9yZSI7CisKK1tleHBhbmRlZF0gCitkaXYgIHsgKHVzZXIgYWdlbnQgc3R5bGVzaGVl
dCkKK2Rpc3BsYXk6IGJsb2NrOworCisKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yLW9ic29sZXRlL3N0eWxlcy9zdHlsZXMtc291cmNlLWxpbmVzLWlubGluZS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVzL3N0eWxlcy1zb3VyY2Ut
bGluZXMtaW5saW5lLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43ODA2ZDJlNDVjMDE1MzkwMTky
MmE2MTNiMzE2NmI2Yjk3ZjA4N2QyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yLW9ic29sZXRlL3N0eWxlcy9zdHlsZXMtc291cmNlLWxpbmVzLWlubGluZS1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxOCBAQAorVGVzdHMgdGhhdCBlbGVtZW50cyBwYW5lbCBzaG93cyBw
cm9wZXIgaW5saW5lIHN0eWxlIGxvY2F0aW9ucyBpbiB0aGUgc2lkZWJhciBwYW5lbC4KKworCitb
ZXhwYW5kZWRdIAorZWxlbWVudC5zdHlsZSAgeyAoKQorZGlzcGxheTogbm9uZTsKKworPT09PT09
PT0gTWF0Y2hlZCBDU1MgUnVsZXMgPT09PT09PT0KK1tleHBhbmRlZF0gCisuZm9vICB7IChzdHls
ZXMtc291cmNlLWxpbmVzLWlubGluZS5odG1sOjcpCitjb2xvcjogYmx1ZTsKKworW2V4cGFuZGVk
XSAKK2RpdiAgeyAodXNlciBhZ2VudCBzdHlsZXNoZWV0KQorLy0tIG92ZXJsb2FkZWQgLS0vIGRp
c3BsYXk6IGJsb2NrOworCisKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9i
c29sZXRlL3N0eWxlcy9zdHlsZXMtc291cmNlLWxpbmVzLWlubGluZS5odG1sIGIvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy9zdHlsZXMtc291cmNlLWxpbmVzLWlubGluZS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjJkOGQ1OGNkNGYwNWRkYjgwNTM1NGJlYjRmN2Q0MDg1NDQyZGI0NmYK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVz
L3N0eWxlcy1zb3VyY2UtbGluZXMtaW5saW5lLmh0bWwKQEAgLTAsMCArMSwzNyBAQAorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0
b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNw
ZWN0b3IvZWxlbWVudHMtdGVzdC5qcyI+PC9zY3JpcHQ+CisKKzxzdHlsZT4KKy5mb28geworICAg
IGNvbG9yOiBibHVlOworfQorPC9zdHlsZT4KKworPHNjcmlwdD4KKworZnVuY3Rpb24gdGVzdCgp
Cit7CisgICAgSW5zcGVjdG9yVGVzdC5zZWxlY3ROb2RlQW5kV2FpdEZvclN0eWxlcygiZm9vIiwg
c3RlcDIpOworCisgICAgZnVuY3Rpb24gc3RlcDIoKQorICAgIHsKKyAgICAgICAgSW5zcGVjdG9y
VGVzdC5kdW1wU2VsZWN0ZWRFbGVtZW50U3R5bGVzKHRydWUsIGZhbHNlLCB0cnVlKTsKKyAgICAg
ICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKKyAgICB9Cit9CisKKzwvc2NyaXB0Pgor
PC9oZWFkPgorCis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Cis8cD4KK1Rlc3RzIHRoYXQgZWxl
bWVudHMgcGFuZWwgc2hvd3MgcHJvcGVyIGlubGluZSBzdHlsZSBsb2NhdGlvbnMgaW4gdGhlIHNp
ZGViYXIgcGFuZWwuCis8L3A+CisKKzxkaXYgaWQ9ImZvbyIgY2xhc3M9ImZvbyIgc3R5bGU9ImRp
c3BsYXk6bm9uZSI+Rm9vPC9kaXY+Cis8aWZyYW1lIHNyYz0icmVzb3VyY2VzL3N0eWxlcy1zb3Vy
Y2UtbGluZXMtaW5saW5lLWlmcmFtZS5odG1sIj4KKworPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy9zdHlsZXMtc291cmNl
LWxpbmVzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVzL3N0eWxl
cy1zb3VyY2UtbGluZXMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hMjU0ZTJkZTJkNmI2MzJjMWNkMTQ0ZGQz
YzRlMjI4MzE4Y2Y2YTYzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
LW9ic29sZXRlL3N0eWxlcy9zdHlsZXMtc291cmNlLWxpbmVzLmh0bWwKQEAgLTAsMCArMSw4MiBA
QAorPGh0bWw+Cis8aGVhZD4KKzwhLS0KKyAgICBMaW5lIG51bWJlcnMgYXJlIHJlcG9ydGVkIHdy
dCB0aGUgb3BlbmVkIHN0eWxlIHRhZyBiYXNlbGluZS4KKyAgICBBbGxvdyBzb21lIHNwYWNlIGhl
cmUgdG8gYWxpZ24gbG9jYWwgbGluZSBudW1iZXJzIHRvIGJlIHN0eWxlICsgMTAuCisgICAgU2Vs
ZWN0b3Igc291cmNlTGluZSBpcyB0aGUgbGluZSBvZiB0aGUgY29ycmVzcG9uZGluZyB7IGZvbGxv
d2luZyB0aGUKKyAgICBzZWxlY3RvciB0ZXh0LgorLS0+CisKKzxzdHlsZSB0eXBlPSJ0ZXh0L2Nz
cyIgbWVkaWE9InNjcmVlbiI+CisjbWFpbiwgLmF0X2xpbmVfMTU6Oi8qCitNdWx0aWxpbmUgY29t
bWVudAorYmVmb3JlIHBzZXVkbyBlbGVtZW50CisgICAgICAgICAgICAgICovYmVmb3JlIAorewor
ICAgIGNvbG9yOnJlZDsKKyAgICBjb250ZW50OiAiQmVmb3JlIgorfQorLyoKKworTXVsdGlsaW5l
IGNvbW1lbnQgZm9sbG93ZWQgd2l0aCB3aGl0ZXNwYWNlCisKKworKi8KKworI21haW4sIC5hdF9s
aW5lXzI5CisKKworeworICAgIC8qIENvbW1lbnQgaW4gZGVmaW5pdGlvbiovCisgICAgLyogQ29t
bWVudCBpbiBkZWZpbml0aW9uIDIqLworCisgICAgLyogQ29tbWVudCBpbiBkZWZpbml0aW9uIDMK
KyAgICAqL2ZvbnQtZmFtaWx5Oi8qICBDb21tZW50IGluIAorICAgICAgICAgICAgICAgICAgICAg
IHZhbHVlICAqL2NvdXJpZXI7CisgICAgY29sb3IgYmx1ZTsKK30vKk11bHRpbGluZSBjb21tZW50
CisKK2ZvbGxvd2VkIGJ5IHNlbGVjdG9yCisqLyNtYWluLAorLmF0X2xpbmVfNDMKKworeworICAg
IGZvbnQtc2l6ZToKKyAgICAgICAgMTBweDsKK30KKworCisjbWFpbiwgLmF0X2xpbmVfNTAKK3sK
KyAgICBib3JkZXI6IDFweCBzb2xpZAorICAgIHJlZDsKK30KKzwvc3R5bGU+CisKKzxzY3JpcHQg
c3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMtdGVz
dC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorCitmdW5jdGlvbiB0ZXN0KCkKK3sKKyAgICBJbnNw
ZWN0b3JUZXN0LnNlbGVjdE5vZGVBbmRXYWl0Rm9yU3R5bGVzKCJtYWluIiwgc3RlcDEpOworCisg
ICAgZnVuY3Rpb24gc3RlcDEoKQorICAgIHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wU2Vs
ZWN0ZWRFbGVtZW50U3R5bGVzKHRydWUsIGZhbHNlLCB0cnVlKTsKKyAgICAgICAgSW5zcGVjdG9y
VGVzdC5jb21wbGV0ZVRlc3QoKTsKKyAgICB9Cit9CisKKzwvc2NyaXB0PgorPC9oZWFkPgorCis8
Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Cis8cD4KK1Rlc3RzIHRoYXQgcHJvcGVyIHNvdXJjZSBs
aW5lcyBhcmUgcmVwb3J0ZWQgZm9yIHRoZSBwYXJzZWQgc3R5bGVzLgorPC9wPgorCis8ZGl2IGlk
PSJtYWluIj48L2Rpdj4KKworPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy9zdHlsZXMtc291cmNlLW9mZnNldHMtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy9zdHlsZXMtc291
cmNlLW9mZnNldHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ3NzI3MjgyZWFhMDY5OWYwNmEy
MDkyNDhlYThiNGIyMDc0ZGEyYmYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3Itb2Jzb2xldGUvc3R5bGVzL3N0eWxlcy1zb3VyY2Utb2Zmc2V0cy1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwyMyBAQAorVGVzdHMgdGhhdCBwcm9wZXIgZGF0YSBhbmQgc3RhcnQvZW5kIG9m
ZnNldCBwb3NpdGlvbnMgYXJlIHJlcG9ydGVkIGZvciBDU1Mgc3R5bGUgZGVjbGFyYXRpb25zIGFu
ZCBwcm9wZXJ0aWVzLgorCitib2R5OiBbMDowLTA6NF0gWzA6Ni05OjBdCitbJ2ZvbnQtc2l6ZSc6
JzEycHgnXSBAWzE6NC0xOjIwXQorWydmb28nOidiYXIgIQorCisgICAgaW1wb3J0YW50IC8qICFp
bXBvcnRhbnQgcHJvcGVydHkgbm90IHJlY29nbml6ZWQgYnkgV2ViQ29yZSAqLycgIWltcG9ydGFu
dCBub24tcGFyc2VkXSBAWzI6NC00OjY2XQorWydoZWlnaHQnOicxMDAlICFpbXBvcnRhbnQnICFp
bXBvcnRhbnRdIEBbNTo0LTU6MjhdCitbJ2NvbG9yeic6JyIhaW1wb3J0YW50Iicgbm9uLXBhcnNl
ZF0gQFs2OjQtNjoyNV0KK1snaW1wb3J0YW50JzonIWltcG9ydGFudCcgbm9uLXBhcnNlZF0gQFs3
OjQtNzoyNV0KK1snY29sb3InOiciYmFkY29sb3IiICEgaW1wb3J0YW50IC8qIGdvb2QgcHJvcGVy
dHkgd2l0aCBzdHJhbmdlIHZhbHVlICovJyAhaW1wb3J0YW50IG5vbi1wYXJzZWRdIEBbODo0LTg6
NzNdCitib2R5Lm1haW4xOiBbMTE6MjktMTE6NjddIFsxMTo2OC0xMToxNDldCitbJ2NvbG9yJzon
I0YwMEJBQSddIEBbMTE6ODEtMTE6OTZdCitbJ3pvbyc6J21vbyAvKiBub3QgYW4gIWltcG9ydGFu
dCB1bnJlY29nbml6ZWQgcHJvcGVydHkgKi8nIG5vbi1wYXJzZWRdIEBbMTE6OTYtMTE6MTQ5XQor
Ym9keS5tYWluMjogWzEzOjAtMTM6MTBdIFsxMzoxMS0xMzoxMDZdCitbJ2JhY2tncm91bmQnOidn
cmVlbiAvKiB2YWx1ZSAhaW1wb3J0YW50IGNvbW1lbnQgKi8gIWltcG9ydGFudCAvKiBubyBzZW1p
Y29sb24sIHZlcnkgIWltcG9ydGFudCAqLycgIWltcG9ydGFudF0gQFsxMzoxMS0xMzoxMDZdCiti
b2R5Lm1haW5wYWdlOiBbMjowLTI6MTNdIFsyOjE1LTU6MF0KK1sndGV4dC1kZWNvcmF0aW9uJzon
bm9uZSddIEBbMzo0LTM6MjZdCitbJ2JhZHByb3BlcnR5JzonMWJhZHZhbHVlMScgbm9uLXBhcnNl
ZF0gQFs0OjQtNDoyOF0KK2VsZW1lbnQuc3R5bGU6IFswOjAtMDozMV0KK1snZm9udC13ZWlnaHQn
Oidub3JtYWwnXSBAWzA6MC0wOjIwXQorWyd3aWR0aCc6JzgwJSddIEBbMDoyMS0wOjMxXQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVzL3N0eWxlcy1z
b3VyY2Utb2Zmc2V0cy5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxl
cy9zdHlsZXMtc291cmNlLW9mZnNldHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xOTk0M2I3MmZmNzRiMjU4
Nzc5MzMzZjYwNTdiMDUyZjJiOGVhNzI5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy9zdHlsZXMtc291cmNlLW9mZnNldHMuaHRtbApAQCAt
MCwwICsxLDk2IEBACis8aHRtbD4KKzxoZWFkPgorCis8bGluayByZWw9InN0eWxlc2hlZXQiIGhy
ZWY9InJlc291cmNlcy9zdHlsZXMtc291cmNlLW9mZnNldHMuY3NzIj4KKworPHNjcmlwdCBzcmM9
Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9lbGVtZW50cy10ZXN0Lmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQ+CisKK2Z1bmN0aW9uIHRlc3QoKQoreworICAgIGZ1bmN0aW9u
IGR1bXBTdHlsZURhdGEocnVsZU9yU3R5bGUpCisgICAgeworICAgICAgICB2YXIgaXNSdWxlID0g
ISEocnVsZU9yU3R5bGUuc3R5bGUpOworICAgICAgICB2YXIgc3R5bGU7CisgICAgICAgIHZhciBo
ZWFkZXIgPSAiIjsKKyAgICAgICAgaWYgKGlzUnVsZSkgeworICAgICAgICAgICAgaWYgKHJ1bGVP
clN0eWxlLm9yaWdpbiAhPT0gInJlZ3VsYXIiKQorICAgICAgICAgICAgICAgIHJldHVybjsKKyAg
ICAgICAgICAgIHN0eWxlID0gcnVsZU9yU3R5bGUuc3R5bGU7CisgICAgICAgICAgICBoZWFkZXIg
PSBydWxlT3JTdHlsZS5zZWxlY3Rvckxpc3QudGV4dCArICI6ICIgKyAocnVsZU9yU3R5bGUuc2Vs
ZWN0b3JMaXN0LnJhbmdlID8gSW5zcGVjdG9yVGVzdC5yYW5nZVRleHQocnVsZU9yU3R5bGUuc2Vs
ZWN0b3JMaXN0LnJhbmdlKSA6ICIiKTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIHN0
eWxlID0gcnVsZU9yU3R5bGU7CisgICAgICAgICAgICBoZWFkZXIgPSAiZWxlbWVudC5zdHlsZToi
OworICAgICAgICB9CisgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KGhlYWRlciArICIg
IiArIEluc3BlY3RvclRlc3QucmFuZ2VUZXh0KHN0eWxlLnJhbmdlKSk7CisgICAgICAgIHZhciBh
bGxQcm9wZXJ0aWVzID0gc3R5bGUuY3NzUHJvcGVydGllczsKKyAgICAgICAgZm9yICh2YXIgaSA9
IDA7IGkgPCBhbGxQcm9wZXJ0aWVzLmxlbmd0aDsgKytpKSB7CisgICAgICAgICAgICB2YXIgcHJv
cGVydHkgPSBhbGxQcm9wZXJ0aWVzW2ldOworICAgICAgICAgICAgaWYgKCFwcm9wZXJ0eS5zdGF0
dXMpCisgICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0
LmFkZFJlc3VsdCgiWyciICsgcHJvcGVydHkubmFtZSArICInOiciICsgcHJvcGVydHkudmFsdWUg
KyAiJyIgKyAocHJvcGVydHkucHJpb3JpdHkgPyAiICFpbXBvcnRhbnQiIDogIiIpICsgKCgicGFy
c2VkT2siIGluIHByb3BlcnR5KSA/ICIgbm9uLXBhcnNlZCIgOiAiIikgKyJdIEAiICsgSW5zcGVj
dG9yVGVzdC5yYW5nZVRleHQocHJvcGVydHkucmFuZ2UpKTsKKyAgICAgICAgfQorICAgIH0KKyAg
ICAKKyAgICBJbnNwZWN0b3JUZXN0LnNlbGVjdE5vZGVXaXRoSWQoIm1haW5Cb2R5Iiwgc3RlcDEp
OworCisgICAgdmFyIHJlc3VsdFN0eWxlcyA9IHt9OworCisgICAgZnVuY3Rpb24gaW5saW5lQ2Fs
bGJhY2soZXJyb3IsIGlubGluZVN0eWxlKQorICAgIHsKKyAgICAgICAgaWYgKGVycm9yKSB7Cisg
ICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoImVycm9yOiAiICsgZXJyb3IpOwor
ICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7CisgICAgICAgICAgICAg
cmV0dXJuOworICAgICAgICB9CisKKyAgICAgICAgcmVzdWx0U3R5bGVzLmlubGluZVN0eWxlID0g
aW5saW5lU3R5bGU7CisgICAgfQorCisgICAgZnVuY3Rpb24gbWF0Y2hlZENhbGxiYWNrKGVycm9y
LCBtYXRjaGVkQ1NTUnVsZXMpCisgICAgeworICAgICAgICBpZiAoZXJyb3IpIHsKKyAgICAgICAg
ICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiZXJyb3I6ICIgKyBlcnJvcik7CisgICAgICAg
ICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKKyAgICAgICAgICAgICByZXR1cm47
CisgICAgICAgIH0KKyAgICAgICAgcmVzdWx0U3R5bGVzLm1hdGNoZWRDU1NSdWxlcyA9IG1hdGNo
ZWRDU1NSdWxlczsKKyAgICAgICAgc3RlcDIoKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBzdGVw
MShub2RlKQorICAgIHsKKyAgICAgICAgQ1NTQWdlbnQuZ2V0SW5saW5lU3R5bGVzRm9yTm9kZShu
b2RlLmlkLCBpbmxpbmVDYWxsYmFjayk7CisgICAgICAgIENTU0FnZW50LmdldE1hdGNoZWRTdHls
ZXNGb3JOb2RlKG5vZGUuaWQsIG1hdGNoZWRDYWxsYmFjayk7CisgICAgfQorCisgICAgZnVuY3Rp
b24gc3RlcDIoKQorICAgIHsKKyAgICAgICAgdmFyIG1hdGNoZWRDU1NSdWxlcyA9IHJlc3VsdFN0
eWxlcy5tYXRjaGVkQ1NTUnVsZXM7CisgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbWF0Y2hl
ZENTU1J1bGVzLmxlbmd0aDsgKytpKQorICAgICAgICAgICAgZHVtcFN0eWxlRGF0YShtYXRjaGVk
Q1NTUnVsZXNbaV0ucnVsZSk7CisgICAgICAgIGR1bXBTdHlsZURhdGEocmVzdWx0U3R5bGVzLmlu
bGluZVN0eWxlKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKKyAgICB9
Cit9CisKKzwvc2NyaXB0PgorCis8c3R5bGU+CisKK2JvZHkubWFpbnBhZ2UgeworICAgIHRleHQt
ZGVjb3JhdGlvbjogbm9uZTsgLyogYXQgbGVhc3Qgb25lIHZhbGlkIHByb3BlcnR5IGlzIG5lY2Vz
c2FyeSBmb3IgV2ViQ29yZSB0byBtYXRjaCBhIHJ1bGUgKi8KKyAgICBiYWRwcm9wZXJ0eTogMWJh
ZHZhbHVlMTsKK30KKworPC9zdHlsZT4KKzwvaGVhZD4KKworPGJvZHkgaWQ9Im1haW5Cb2R5IiBj
bGFzcz0ibWFpbjEgbWFpbjIgbWFpbnBhZ2UiIG9ubG9hZD0icnVuVGVzdCgpIiBzdHlsZT0iZm9u
dC13ZWlnaHQ6IG5vcm1hbDsgd2lkdGg6IDgwJSI+Cis8cD4KK1Rlc3RzIHRoYXQgcHJvcGVyIGRh
dGEgYW5kIHN0YXJ0L2VuZCBvZmZzZXQgcG9zaXRpb25zIGFyZSByZXBvcnRlZCBmb3IgQ1NTIHN0
eWxlIGRlY2xhcmF0aW9ucyBhbmQgcHJvcGVydGllcy4KKzwvcD4KKworPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy91bmRv
LWFkZC1uZXctcnVsZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xl
dGUvc3R5bGVzL3VuZG8tYWRkLW5ldy1ydWxlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMDdh
NjM4ZTE1NmNjNzhhOWQxMmIwMGY3NGI1ZTgwOTFjNzBkODczCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy91bmRvLWFkZC1uZXctcnVsZS1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSw2NSBAQAorVGVzdHMgdGhhdCBhZGRpbmcgYSBuZXcgcnVs
ZSBjYW4gYmUgdW5kb25lLgorCitUZXh0CitBZnRlciBhZGRpbmcgbmV3IHJ1bGU6CitbZXhwYW5k
ZWRdIAorZWxlbWVudC5zdHlsZSAgeyAoKQorZm9udC1zaXplOiAxMnB4OworCis9PT09PT09PSBN
YXRjaGVkIENTUyBSdWxlcyA9PT09PT09PQorW2V4cGFuZGVkXSAKK2Rpdi5mb28gIHsgKGluc3Bl
Y3Rvci1zdHlsZXNoZWV0OjEpCisKK1tleHBhbmRlZF0gCitkaXYuZm9vICB7IChpbnNwZWN0b3It
c3R5bGVzaGVldDoxKQorCitbZXhwYW5kZWRdIAorZGl2ICB7ICh1c2VyIGFnZW50IHN0eWxlc2hl
ZXQpCitkaXNwbGF5OiBibG9jazsKKworCis9PT09PSBTdHlsZSBzaGVldCB0ZXh0OiA9PT09PQor
ZGl2LmZvbyB7fQorZGl2LmZvbyB7fQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KK0Fm
dGVyIHVuZG86CitbZXhwYW5kZWRdIAorZWxlbWVudC5zdHlsZSAgeyAoKQorY29sb3I6IHJlZDsK
KworPT09PT09PT0gTWF0Y2hlZCBDU1MgUnVsZXMgPT09PT09PT0KK1tleHBhbmRlZF0gCitkaXYu
Zm9vICB7IChpbnNwZWN0b3Itc3R5bGVzaGVldDoxKQorCitbZXhwYW5kZWRdIAorZGl2ICB7ICh1
c2VyIGFnZW50IHN0eWxlc2hlZXQpCitkaXNwbGF5OiBibG9jazsKKworCis9PT09PSBTdHlsZSBz
aGVldCB0ZXh0OiA9PT09PQorZGl2LmZvbyB7fQorCis9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQorQWZ0ZXIgcmVkbzoKK1tleHBhbmRlZF0gCitlbGVtZW50LnN0eWxlICB7ICgpCitmb250
LXNpemU6IDEycHg7CisKKz09PT09PT09IE1hdGNoZWQgQ1NTIFJ1bGVzID09PT09PT09CitbZXhw
YW5kZWRdIAorZGl2LmZvbyAgeyAoaW5zcGVjdG9yLXN0eWxlc2hlZXQ6MSkKKworW2V4cGFuZGVk
XSAKK2Rpdi5mb28gIHsgKGluc3BlY3Rvci1zdHlsZXNoZWV0OjEpCisKK1tleHBhbmRlZF0gCitk
aXYgIHsgKHVzZXIgYWdlbnQgc3R5bGVzaGVldCkKK2Rpc3BsYXk6IGJsb2NrOworCisKKz09PT09
IFN0eWxlIHNoZWV0IHRleHQ6ID09PT09CitkaXYuZm9vIHt9CisKK2Rpdi5mb28ge30KKz09PT09
PT09PT09PT09PT09PT09PT09PT09PT09CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci1vYnNvbGV0ZS9zdHlsZXMvdW5kby1hZGQtbmV3LXJ1bGUuaHRtbCBiL0xheW91dFRlc3Rz
L2luc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvdW5kby1hZGQtbmV3LXJ1bGUuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi42ZjNmZTQyZjQ4YWI5NDRhNjJjMTY1NzRkMTdmYjZlNDc1ZGExN2U0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy91bmRvLWFkZC1u
ZXctcnVsZS5odG1sCkBAIC0wLDAgKzEsOTkgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzLXRlc3Qu
anMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKworZnVuY3Rpb24gdGVzdCgpCit7CisgICAgV2ViSW5z
cGVjdG9yLnNob3dQYW5lbCgiZWxlbWVudHMiKTsKKyAgICBJbnNwZWN0b3JUZXN0LnNlbGVjdE5v
ZGVBbmRXYWl0Rm9yU3R5bGVzKCJpbnNwZWN0ZWQiLCBzdGVwMSk7CisKKyAgICB2YXIgdHJlZUVs
ZW1lbnQ7CisKKyAgICBmdW5jdGlvbiBzdGVwMSgpCisgICAgeworICAgICAgICBhZGROZXdSdWxl
QW5kU2VsZWN0Tm9kZSgib3RoZXIiLCBzdGVwMik7CisgICAgfQorCisgICAgZnVuY3Rpb24gc3Rl
cDIoKQorICAgIHsKKyAgICAgICAgYWRkTmV3UnVsZUFuZFNlbGVjdE5vZGUoImluc3BlY3RlZCIs
IHN0ZXAzKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBzdGVwMygpCisgICAgeworICAgICAgICBJ
bnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiQWZ0ZXIgYWRkaW5nIG5ldyBydWxlOiIpOworICAgICAg
ICBJbnNwZWN0b3JUZXN0LmR1bXBTZWxlY3RlZEVsZW1lbnRTdHlsZXModHJ1ZSwgZmFsc2UsIHRy
dWUpOworICAgICAgICBwcmludFN0eWxlU2hlZXRBbmRDYWxsKHN0ZXA0KTsKKyAgICB9CisKKyAg
ICBmdW5jdGlvbiBzdGVwNCgpCisgICAgeworICAgICAgICBXZWJJbnNwZWN0b3IuZG9tQWdlbnQu
dW5kbygpOworICAgICAgICBJbnNwZWN0b3JUZXN0LnNlbGVjdE5vZGVBbmRXYWl0Rm9yU3R5bGVz
KCJvdGhlciIsIHN0ZXA1KTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBzdGVwNSgpCisgICAgewor
ICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiQWZ0ZXIgdW5kbzoiKTsKKyAgICAgICAg
SW5zcGVjdG9yVGVzdC5kdW1wU2VsZWN0ZWRFbGVtZW50U3R5bGVzKHRydWUsIGZhbHNlLCB0cnVl
KTsKKyAgICAgICAgcHJpbnRTdHlsZVNoZWV0QW5kQ2FsbChzdGVwNik7CisgICAgfQorCisgICAg
ZnVuY3Rpb24gc3RlcDYoKQorICAgIHsKKyAgICAgICAgV2ViSW5zcGVjdG9yLmRvbUFnZW50LnJl
ZG8oKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5zZWxlY3ROb2RlQW5kV2FpdEZvclN0eWxlcygi
aW5zcGVjdGVkIiwgc3RlcDcpOworICAgIH0KKworICAgIGZ1bmN0aW9uIHN0ZXA3KCkKKyAgICB7
CisgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJBZnRlciByZWRvOiIpOworICAgICAg
ICBJbnNwZWN0b3JUZXN0LmR1bXBTZWxlY3RlZEVsZW1lbnRTdHlsZXModHJ1ZSwgZmFsc2UsIHRy
dWUpOworICAgICAgICBwcmludFN0eWxlU2hlZXRBbmRDYWxsKHN0ZXA4KTsKKyAgICB9CisKKyAg
ICBmdW5jdGlvbiBzdGVwOCgpCisgICAgeworICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRl
VGVzdCgpOworICAgIH0KKworICAgIGZ1bmN0aW9uIGFkZE5ld1J1bGVBbmRTZWxlY3ROb2RlKG5v
ZGVJZCwgbmV4dCkKKyAgICB7CisgICAgICAgIC8vIENsaWNrICJBZGQgbmV3IHJ1bGUiLgorICAg
ICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYWRkLXN0eWxlLWJ1dHRvbi10ZXN0LWlkIiku
Y2xpY2soKTsKKyAgICAgICAgdmFyIHNlY3Rpb24gPSBXZWJJbnNwZWN0b3IucGFuZWxzLmVsZW1l
bnRzLnNpZGViYXJQYW5lcy5zdHlsZXMuc2VjdGlvbnNbMF1bMl07CisgICAgICAgIHNlY3Rpb24u
X3NlbGVjdG9yRWxlbWVudC50ZXh0Q29udGVudCA9ICJkaXYuZm9vIjsKKyAgICAgICAgc2VjdGlv
bi5fc2VsZWN0b3JFbGVtZW50LmRpc3BhdGNoRXZlbnQoSW5zcGVjdG9yVGVzdC5jcmVhdGVLZXlF
dmVudCgiRW50ZXIiKSk7CisgICAgICAgIEluc3BlY3RvclRlc3Quc2VsZWN0Tm9kZUFuZFdhaXRG
b3JTdHlsZXMobm9kZUlkLCBuZXh0KTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBwcmludFN0eWxl
U2hlZXRBbmRDYWxsKG5leHQpCisgICAgeworICAgICAgICB2YXIgc2VjdGlvbiA9IFdlYkluc3Bl
Y3Rvci5wYW5lbHMuZWxlbWVudHMuc2lkZWJhclBhbmVzLnN0eWxlcy5zZWN0aW9uc1swXVsyXTsK
KyAgICAgICAgdmFyIGlkID0gc2VjdGlvbi5zdHlsZVJ1bGUuc3R5bGUuaWQuc3R5bGVTaGVldElk
OworICAgICAgICBDU1NBZ2VudC5nZXRTdHlsZVNoZWV0VGV4dChpZCwgY2FsbGJhY2spOworICAg
ICAgICBmdW5jdGlvbiBjYWxsYmFjayhyZXN1bHQsIHN0eWxlU2hlZXRUZXh0KQorICAgICAgICB7
CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiPT09PT0gU3R5bGUgc2hlZXQg
dGV4dDogPT09PT0iKTsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KHN0eWxl
U2hlZXRUZXh0KTsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCI9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PSIpOworICAgICAgICAgICAgbmV4dCgpOworICAgICAgICB9
CisgICAgfQorfQorCis8L3NjcmlwdD4KKzwvaGVhZD4KKworPGJvZHkgb25sb2FkPSJydW5UZXN0
KCkiPgorPHA+CitUZXN0cyB0aGF0IGFkZGluZyBhIG5ldyBydWxlIGNhbiBiZSB1bmRvbmUuCis8
L3A+CisKKzxkaXYgY2xhc3M9ImZvbyIgaWQ9Imluc3BlY3RlZCIgc3R5bGU9ImZvbnQtc2l6ZTog
MTJweCI+VGV4dDwvZGl2PgorPGRpdiBjbGFzcz0iZm9vIiBpZD0ib3RoZXIiIHN0eWxlPSJjb2xv
cjpyZWQiPjwvZGl2PgorCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVzL3VuZG8tYWRkLXByb3BlcnR5LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvdW5kby1hZGQtcHJvcGVy
dHktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQzZWM3ODk0OWIwOTBmNTQ5MGMzMDgzNjU1ZTAx
ZmUwMmEzNzczZTgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jz
b2xldGUvc3R5bGVzL3VuZG8tYWRkLXByb3BlcnR5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE5
MiBAQAorVGVzdHMgdGhhdCBhZGRpbmcgYSBwcm9wZXJ0eSBpcyB1bmRvbmUgcHJvcGVybHkuCisK
Kz09PSBMYXN0IHByb3BlcnR5ID09PQorKEluaXRpYWwgdmFsdWUpCitbZXhwYW5kZWRdIAorZWxl
bWVudC5zdHlsZSAgeyAoKQorCis9PT09PT09PSBNYXRjaGVkIENTUyBSdWxlcyA9PT09PT09PQor
W2V4cGFuZGVkXSAKKy5jb250YWluZXIgIHsgKHVuZG8tYWRkLXByb3BlcnR5Lmh0bWw6NykKK2Zv
bnQtd2VpZ2h0OiBib2xkOworCitbZXhwYW5kZWRdIAorZGl2ICB7ICh1c2VyIGFnZW50IHN0eWxl
c2hlZXQpCitkaXNwbGF5OiBibG9jazsKKworCisoQWZ0ZXIgYWRkaW5nIHByb3BlcnR5KQorW2V4
cGFuZGVkXSAKK2VsZW1lbnQuc3R5bGUgIHsgKCkKKworPT09PT09PT0gTWF0Y2hlZCBDU1MgUnVs
ZXMgPT09PT09PT0KK1tleHBhbmRlZF0gCisuY29udGFpbmVyICB7ICh1bmRvLWFkZC1wcm9wZXJ0
eS5odG1sOjcpCitmb250LXdlaWdodDogYm9sZDsKK21hcmdpbi1sZWZ0OiAycHg7CisKK1tleHBh
bmRlZF0gCitkaXYgIHsgKHVzZXIgYWdlbnQgc3R5bGVzaGVldCkKK2Rpc3BsYXk6IGJsb2NrOwor
CisKKyhBZnRlciB1bmRvKQorW2V4cGFuZGVkXSAKK2VsZW1lbnQuc3R5bGUgIHsgKCkKKworPT09
PT09PT0gTWF0Y2hlZCBDU1MgUnVsZXMgPT09PT09PT0KK1tleHBhbmRlZF0gCisuY29udGFpbmVy
ICB7ICh1bmRvLWFkZC1wcm9wZXJ0eS5odG1sOjcpCitmb250LXdlaWdodDogYm9sZDsKKworW2V4
cGFuZGVkXSAKK2RpdiAgeyAodXNlciBhZ2VudCBzdHlsZXNoZWV0KQorZGlzcGxheTogYmxvY2s7
CisKKworKEFmdGVyIHJlZG8pCitbZXhwYW5kZWRdIAorZWxlbWVudC5zdHlsZSAgeyAoKQorCis9
PT09PT09PSBNYXRjaGVkIENTUyBSdWxlcyA9PT09PT09PQorW2V4cGFuZGVkXSAKKy5jb250YWlu
ZXIgIHsgKHVuZG8tYWRkLXByb3BlcnR5Lmh0bWw6NykKK2ZvbnQtd2VpZ2h0OiBib2xkOworbWFy
Z2luLWxlZnQ6IDJweDsKKworW2V4cGFuZGVkXSAKK2RpdiAgeyAodXNlciBhZ2VudCBzdHlsZXNo
ZWV0KQorZGlzcGxheTogYmxvY2s7CisKKworPT09IEZpcnN0IHByb3BlcnR5ID09PQorKEluaXRp
YWwgdmFsdWUpCitbZXhwYW5kZWRdIAorZWxlbWVudC5zdHlsZSAgeyAoKQorCis9PT09PT09PSBN
YXRjaGVkIENTUyBSdWxlcyA9PT09PT09PQorW2V4cGFuZGVkXSAKKy5jb250YWluZXIgIHsgKHVu
ZG8tYWRkLXByb3BlcnR5Lmh0bWw6NykKK2ZvbnQtd2VpZ2h0OiBib2xkOworbWFyZ2luLWxlZnQ6
IDJweDsKKworW2V4cGFuZGVkXSAKK2RpdiAgeyAodXNlciBhZ2VudCBzdHlsZXNoZWV0KQorZGlz
cGxheTogYmxvY2s7CisKKworKEFmdGVyIGFkZGluZyBwcm9wZXJ0eSkKK1tleHBhbmRlZF0gCitl
bGVtZW50LnN0eWxlICB7ICgpCisKKz09PT09PT09IE1hdGNoZWQgQ1NTIFJ1bGVzID09PT09PT09
CitbZXhwYW5kZWRdIAorLmNvbnRhaW5lciAgeyAodW5kby1hZGQtcHJvcGVydHkuaHRtbDo3KQor
bWFyZ2luLXRvcDogMHB4OworZm9udC13ZWlnaHQ6IGJvbGQ7CittYXJnaW4tbGVmdDogMnB4Owor
CitbZXhwYW5kZWRdIAorZGl2ICB7ICh1c2VyIGFnZW50IHN0eWxlc2hlZXQpCitkaXNwbGF5OiBi
bG9jazsKKworCisoQWZ0ZXIgdW5kbykKK1tleHBhbmRlZF0gCitlbGVtZW50LnN0eWxlICB7ICgp
CisKKz09PT09PT09IE1hdGNoZWQgQ1NTIFJ1bGVzID09PT09PT09CitbZXhwYW5kZWRdIAorLmNv
bnRhaW5lciAgeyAodW5kby1hZGQtcHJvcGVydHkuaHRtbDo3KQorZm9udC13ZWlnaHQ6IGJvbGQ7
CittYXJnaW4tbGVmdDogMnB4OworCitbZXhwYW5kZWRdIAorZGl2ICB7ICh1c2VyIGFnZW50IHN0
eWxlc2hlZXQpCitkaXNwbGF5OiBibG9jazsKKworCisoQWZ0ZXIgcmVkbykKK1tleHBhbmRlZF0g
CitlbGVtZW50LnN0eWxlICB7ICgpCisKKz09PT09PT09IE1hdGNoZWQgQ1NTIFJ1bGVzID09PT09
PT09CitbZXhwYW5kZWRdIAorLmNvbnRhaW5lciAgeyAodW5kby1hZGQtcHJvcGVydHkuaHRtbDo3
KQorbWFyZ2luLXRvcDogMHB4OworZm9udC13ZWlnaHQ6IGJvbGQ7CittYXJnaW4tbGVmdDogMnB4
OworCitbZXhwYW5kZWRdIAorZGl2ICB7ICh1c2VyIGFnZW50IHN0eWxlc2hlZXQpCitkaXNwbGF5
OiBibG9jazsKKworCis9PT0gTWlkZGxlIHByb3BlcnR5ID09PQorKEluaXRpYWwgdmFsdWUpCitb
ZXhwYW5kZWRdIAorZWxlbWVudC5zdHlsZSAgeyAoKQorCis9PT09PT09PSBNYXRjaGVkIENTUyBS
dWxlcyA9PT09PT09PQorW2V4cGFuZGVkXSAKKy5jb250YWluZXIgIHsgKHVuZG8tYWRkLXByb3Bl
cnR5Lmh0bWw6NykKK21hcmdpbi10b3A6IDBweDsKK2ZvbnQtd2VpZ2h0OiBib2xkOworbWFyZ2lu
LWxlZnQ6IDJweDsKKworW2V4cGFuZGVkXSAKK2RpdiAgeyAodXNlciBhZ2VudCBzdHlsZXNoZWV0
KQorZGlzcGxheTogYmxvY2s7CisKKworKEFmdGVyIGFkZGluZyBwcm9wZXJ0eSkKK1tleHBhbmRl
ZF0gCitlbGVtZW50LnN0eWxlICB7ICgpCisKKz09PT09PT09IE1hdGNoZWQgQ1NTIFJ1bGVzID09
PT09PT09CitbZXhwYW5kZWRdIAorLmNvbnRhaW5lciAgeyAodW5kby1hZGQtcHJvcGVydHkuaHRt
bDo3KQorbWFyZ2luLXRvcDogMHB4OworbWFyZ2luLXJpZ2h0OiAxcHg7Citmb250LXdlaWdodDog
Ym9sZDsKK21hcmdpbi1sZWZ0OiAycHg7CisKK1tleHBhbmRlZF0gCitkaXYgIHsgKHVzZXIgYWdl
bnQgc3R5bGVzaGVldCkKK2Rpc3BsYXk6IGJsb2NrOworCisKKyhBZnRlciB1bmRvKQorW2V4cGFu
ZGVkXSAKK2VsZW1lbnQuc3R5bGUgIHsgKCkKKworPT09PT09PT0gTWF0Y2hlZCBDU1MgUnVsZXMg
PT09PT09PT0KK1tleHBhbmRlZF0gCisuY29udGFpbmVyICB7ICh1bmRvLWFkZC1wcm9wZXJ0eS5o
dG1sOjcpCittYXJnaW4tdG9wOiAwcHg7Citmb250LXdlaWdodDogYm9sZDsKK21hcmdpbi1sZWZ0
OiAycHg7CisKK1tleHBhbmRlZF0gCitkaXYgIHsgKHVzZXIgYWdlbnQgc3R5bGVzaGVldCkKK2Rp
c3BsYXk6IGJsb2NrOworCisKKyhBZnRlciByZWRvKQorW2V4cGFuZGVkXSAKK2VsZW1lbnQuc3R5
bGUgIHsgKCkKKworPT09PT09PT0gTWF0Y2hlZCBDU1MgUnVsZXMgPT09PT09PT0KK1tleHBhbmRl
ZF0gCisuY29udGFpbmVyICB7ICh1bmRvLWFkZC1wcm9wZXJ0eS5odG1sOjcpCittYXJnaW4tdG9w
OiAwcHg7CittYXJnaW4tcmlnaHQ6IDFweDsKK2ZvbnQtd2VpZ2h0OiBib2xkOworbWFyZ2luLWxl
ZnQ6IDJweDsKKworW2V4cGFuZGVkXSAKK2RpdiAgeyAodXNlciBhZ2VudCBzdHlsZXNoZWV0KQor
ZGlzcGxheTogYmxvY2s7CisKKworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3It
b2Jzb2xldGUvc3R5bGVzL3VuZG8tYWRkLXByb3BlcnR5Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3Itb2Jzb2xldGUvc3R5bGVzL3VuZG8tYWRkLXByb3BlcnR5Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZGQxZDMxYzNmZWRlZGUzYmRlZDliMjE2ODBkN2YzMzRlYjdlNGZmNwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvdW5kby1hZGQtcHJvcGVy
dHkuaHRtbApAQCAtMCwwICsxLDg1IEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9lbGVtZW50cy10ZXN0LmpzIj48
L3NjcmlwdD4KKworPHN0eWxlPgorLmNvbnRhaW5lciB7CisgIGZvbnQtd2VpZ2h0OiBib2xkCit9
Cis8L3N0eWxlPgorCis8c2NyaXB0PgorCitmdW5jdGlvbiB0ZXN0KCkKK3sKKyAgICBJbnNwZWN0
b3JUZXN0LnNlbGVjdE5vZGVBbmRXYWl0Rm9yU3R5bGVzKCJjb250YWluZXIiLCB0ZXN0QXBwZW5k
UHJvcGVydHkuYmluZChudWxsLCB0ZXN0SW5zZXJ0QmVnaW4pKTsKKworICAgIGZ1bmN0aW9uIHRl
c3RBcHBlbmRQcm9wZXJ0eSgpCisgICAgeworICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3Vs
dCgiPT09IExhc3QgcHJvcGVydHkgPT09Iik7CisgICAgICAgIHRlc3RBZGRQcm9wZXJ0eSgibWFy
Z2luLWxlZnQ6IDJweCIsIHVuZGVmaW5lZCwgdGVzdEluc2VydEJlZ2luKTsKKyAgICB9CisKKyAg
ICBmdW5jdGlvbiB0ZXN0SW5zZXJ0QmVnaW4oKQorICAgIHsKKyAgICAgICAgSW5zcGVjdG9yVGVz
dC5hZGRSZXN1bHQoIj09PSBGaXJzdCBwcm9wZXJ0eSA9PT0iKTsKKyAgICAgICAgdGVzdEFkZFBy
b3BlcnR5KCJtYXJnaW4tdG9wOiAwcHgiLCAwLCB0ZXN0SW5zZXJ0TWlkZGxlKTsKKyAgICB9CisK
KyAgICBmdW5jdGlvbiB0ZXN0SW5zZXJ0TWlkZGxlKCkKKyAgICB7CisgICAgICAgIEluc3BlY3Rv
clRlc3QuYWRkUmVzdWx0KCI9PT0gTWlkZGxlIHByb3BlcnR5ID09PSIpOworICAgICAgICB0ZXN0
QWRkUHJvcGVydHkoIm1hcmdpbi1yaWdodDogMXB4IiwgMSwgSW5zcGVjdG9yVGVzdC5jb21wbGV0
ZVRlc3QuYmluZChJbnNwZWN0b3JUZXN0KSk7CisgICAgfQorCisgICAgZnVuY3Rpb24gdGVzdEFk
ZFByb3BlcnR5KHByb3BlcnR5VGV4dCwgaW5kZXgsIGNhbGxiYWNrKQorICAgIHsKKworICAgICAg
ICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiKEluaXRpYWwgdmFsdWUpIik7CisgICAgICAgIElu
c3BlY3RvclRlc3QuZHVtcFNlbGVjdGVkRWxlbWVudFN0eWxlcyh0cnVlKTsKKworICAgICAgICB2
YXIgdHJlZUl0ZW0gPSBJbnNwZWN0b3JUZXN0LmdldE1hdGNoZWRTdHlsZVByb3BlcnR5VHJlZUl0
ZW0oImZvbnQtd2VpZ2h0Iik7CisgICAgICAgIHZhciB0cmVlRWxlbWVudCA9IHRyZWVJdGVtLnNl
Y3Rpb24oKS5hZGROZXdCbGFua1Byb3BlcnR5KGluZGV4KTsKKyAgICAgICAgdHJlZUVsZW1lbnQu
YXBwbHlTdHlsZVRleHQocHJvcGVydHlUZXh0LCB0cnVlLCB0cnVlKTsKKyAgICAgICAgSW5zcGVj
dG9yVGVzdC53YWl0Rm9yU3R5bGVzKCJjb250YWluZXIiLCBzdGVwMSk7CisKKyAgICAgICAgZnVu
Y3Rpb24gc3RlcDEoKQorICAgICAgICB7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJl
c3VsdCgiKEFmdGVyIGFkZGluZyBwcm9wZXJ0eSkiKTsKKyAgICAgICAgICAgIEluc3BlY3RvclRl
c3QuZHVtcFNlbGVjdGVkRWxlbWVudFN0eWxlcyh0cnVlKTsKKworICAgICAgICAgICAgV2ViSW5z
cGVjdG9yLmRvbUFnZW50LnVuZG8oKTsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3Quc2VsZWN0
Tm9kZUFuZFdhaXRGb3JTdHlsZXMoIm90aGVyIiwgc3RlcDIpOworICAgICAgICB9CisKKyAgICAg
ICAgZnVuY3Rpb24gc3RlcDIoKQorICAgICAgICB7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0
LmFkZFJlc3VsdCgiKEFmdGVyIHVuZG8pIik7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmR1
bXBTZWxlY3RlZEVsZW1lbnRTdHlsZXModHJ1ZSk7CisKKyAgICAgICAgICAgIFdlYkluc3BlY3Rv
ci5kb21BZ2VudC5yZWRvKCk7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LnNlbGVjdE5vZGVB
bmRXYWl0Rm9yU3R5bGVzKCJjb250YWluZXIiLCBzdGVwMyk7CisgICAgICAgIH0KKworICAgICAg
ICBmdW5jdGlvbiBzdGVwMygpCisgICAgICAgIHsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3Qu
YWRkUmVzdWx0KCIoQWZ0ZXIgcmVkbykiKTsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZHVt
cFNlbGVjdGVkRWxlbWVudFN0eWxlcyh0cnVlKTsKKyAgICAgICAgICAgIGNhbGxiYWNrKCk7Cisg
ICAgICAgIH0KKyAgICB9Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKworPGJvZHkgb25sb2FkPSJy
dW5UZXN0KCkiPgorPHA+CitUZXN0cyB0aGF0IGFkZGluZyBhIHByb3BlcnR5IGlzIHVuZG9uZSBw
cm9wZXJseS4KKzwvcD4KKworPGRpdiBpZD0iY29udGFpbmVyIiBjbGFzcz0iY29udGFpbmVyIj48
L2Rpdj4KKzxkaXYgaWQ9Im90aGVyIiBjbGFzcz0iY29udGFpbmVyIj48L2Rpdj4KKworPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3N0
eWxlcy91bmRvLWFkZC1ydWxlLWNyYXNoLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci1vYnNvbGV0ZS9zdHlsZXMvdW5kby1hZGQtcnVsZS1jcmFzaC1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uY2JlMDhjMzJiMGVjMjM0YTUxNDExNzZjOWJlYmZlYTY0MmZjNGEwMQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvdW5kby1h
ZGQtcnVsZS1jcmFzaC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0IEBACitUZXN0cyB0aGF0IHRo
ZSBpbnNwZWN0ZWQgcGFnZSBkb2VzIG5vdCBjcmFzaCBhZnRlciB1bmRvaW5nIGEgbmV3IHJ1bGUg
YWRkaXRpb24uIEJ1ZyAxMDQ4MDYKK1RoZSB0ZXN0IGhhcyBwYXNzZWQgKG5vIGNyYXNoKS4KKwor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVzL3VuZG8t
YWRkLXJ1bGUtY3Jhc2guaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9zdHls
ZXMvdW5kby1hZGQtcnVsZS1jcmFzaC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjVmZjhhNmE4NDAwZjgwN2Rk
YWIzNjJiYjkxODZiMjlmMDUxY2I4MTQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9p
bnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVzL3VuZG8tYWRkLXJ1bGUtY3Jhc2guaHRtbApAQCAtMCww
ICsxLDQ3IEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Li4vLi4vaHR0cC90ZXN0cy9p
bnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0uLi8uLi9o
dHRwL3Rlc3RzL2luc3BlY3Rvci9lbGVtZW50cy10ZXN0LmpzPjwvc2NyaXB0PgorPHNjcmlwdD4K
KworZnVuY3Rpb24gdGVzdCgpCit7CisgICAgSW5zcGVjdG9yVGVzdC5zZWxlY3ROb2RlQW5kV2Fp
dEZvclN0eWxlcygiaW5zcGVjdGVkIiwgc3RlcDEpOworCisgICAgZnVuY3Rpb24gc3RlcDEoKQor
ICAgIHsKKyAgICAgICAgYWRkTmV3UnVsZUFuZFNlbGVjdE5vZGUoIm90aGVyIiwgc3RlcDIpOwor
ICAgIH0KKworICAgIGZ1bmN0aW9uIHN0ZXAyKCkKKyAgICB7CisgICAgICAgIFdlYkluc3BlY3Rv
ci5kb21BZ2VudC51bmRvKCk7CisgICAgICAgIEluc3BlY3RvclRlc3Qud2FpdEZvclN0eWxlcygi
b3RoZXIiLCBzdGVwMyk7CisgICAgfQorCisgICAgZnVuY3Rpb24gc3RlcDMoKQorICAgIHsKKyAg
ICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKKyAgICB9CisKKyAgICBmdW5jdGlv
biBhZGROZXdSdWxlQW5kU2VsZWN0Tm9kZShub2RlSWQsIG5leHQpCisgICAgeworICAgICAgICBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYWRkLXN0eWxlLWJ1dHRvbi10ZXN0LWlkIikuY2xpY2so
KTsKKyAgICAgICAgdmFyIHNlY3Rpb24gPSBXZWJJbnNwZWN0b3IucGFuZWxzLmVsZW1lbnRzLnNp
ZGViYXJQYW5lcy5zdHlsZXMuc2VjdGlvbnNbMF1bMl07CisgICAgICAgIEluc3BlY3RvclRlc3Qu
c2VsZWN0Tm9kZUFuZFdhaXRGb3JTdHlsZXMobm9kZUlkLCBuZXh0KTsKKyAgICB9Cit9CisKKzwv
c2NyaXB0PgorPC9oZWFkPgorCis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+CitUZXN0cyB0aGF0
IHRoZSBpbnNwZWN0ZWQgcGFnZSBkb2VzIG5vdCBjcmFzaCBhZnRlciB1bmRvaW5nIGEgbmV3IHJ1
bGUgYWRkaXRpb24uIDxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMDQ4MDYiPkJ1ZyAxMDQ4MDY8L2E+CisKKzxwPlRoZSB0ZXN0IGhhcyBwYXNzZWQgKG5v
IGNyYXNoKS48L3A+Cis8ZGl2IGlkPSJpbnNwZWN0ZWQiPjxkaXYgaWQ9Im90aGVyIiAvPjwvZGl2
PgorPHN0eWxlPgorQC13ZWJraXQta2V5ZnJhbWVzIGNmcHVsc2UxIHsgMCUgeyBvcGFjaXR5OiAw
LjE7ICB9IH0KKy5jMSB7IC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGNmcHVsc2UxOyAgfQorPC9z
dHlsZT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0
ZS9zdHlsZXMvdW5kby1jaGFuZ2UtcHJvcGVydHktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy91bmRvLWNoYW5nZS1wcm9wZXJ0eS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNTcyMGQ2OGM3ZGIzMTc3NzkwOGMxM2VmMDhlZGIzZTAwMDFiN2FiZQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMv
dW5kby1jaGFuZ2UtcHJvcGVydHktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNTkgQEAKK1Rlc3Rz
IHRoYXQgY2hhbmdpbmcgYSBwcm9wZXJ0eSBpcyB1bmRvbmUgcHJvcGVybHkuCisKK0luaXRpYWwg
dmFsdWUKK1tleHBhbmRlZF0gCitlbGVtZW50LnN0eWxlICB7ICgpCisKKz09PT09PT09IE1hdGNo
ZWQgQ1NTIFJ1bGVzID09PT09PT09CitbZXhwYW5kZWRdIAorLmNvbnRhaW5lciAgeyAodW5kby1j
aGFuZ2UtcHJvcGVydHkuaHRtbDo3KQorZm9udC13ZWlnaHQ6IGJvbGQ7CisKK1tleHBhbmRlZF0g
CitkaXYgIHsgKHVzZXIgYWdlbnQgc3R5bGVzaGVldCkKK2Rpc3BsYXk6IGJsb2NrOworCisKK0Fm
dGVyIGNoYW5naW5nIHByb3BlcnR5CitbZXhwYW5kZWRdIAorZWxlbWVudC5zdHlsZSAgeyAoKQor
Cis9PT09PT09PSBNYXRjaGVkIENTUyBSdWxlcyA9PT09PT09PQorW2V4cGFuZGVkXSAKKy5jb250
YWluZXIgIHsgKHVuZG8tY2hhbmdlLXByb3BlcnR5Lmh0bWw6NykKK2ZvbnQtd2VpZ2h0OiBub3Jt
YWw7CisKK1tleHBhbmRlZF0gCitkaXYgIHsgKHVzZXIgYWdlbnQgc3R5bGVzaGVldCkKK2Rpc3Bs
YXk6IGJsb2NrOworCisKK0FmdGVyIHVuZG8KK1tleHBhbmRlZF0gCitlbGVtZW50LnN0eWxlICB7
ICgpCisKKz09PT09PT09IE1hdGNoZWQgQ1NTIFJ1bGVzID09PT09PT09CitbZXhwYW5kZWRdIAor
LmNvbnRhaW5lciAgeyAodW5kby1jaGFuZ2UtcHJvcGVydHkuaHRtbDo3KQorZm9udC13ZWlnaHQ6
IGJvbGQ7CisKK1tleHBhbmRlZF0gCitkaXYgIHsgKHVzZXIgYWdlbnQgc3R5bGVzaGVldCkKK2Rp
c3BsYXk6IGJsb2NrOworCisKK0FmdGVyIHJlZG8KK1tleHBhbmRlZF0gCitlbGVtZW50LnN0eWxl
ICB7ICgpCisKKz09PT09PT09IE1hdGNoZWQgQ1NTIFJ1bGVzID09PT09PT09CitbZXhwYW5kZWRd
IAorLmNvbnRhaW5lciAgeyAodW5kby1jaGFuZ2UtcHJvcGVydHkuaHRtbDo3KQorZm9udC13ZWln
aHQ6IG5vcm1hbDsKKworW2V4cGFuZGVkXSAKK2RpdiAgeyAodXNlciBhZ2VudCBzdHlsZXNoZWV0
KQorZGlzcGxheTogYmxvY2s7CisKKworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0
b3Itb2Jzb2xldGUvc3R5bGVzL3VuZG8tY2hhbmdlLXByb3BlcnR5Lmh0bWwgYi9MYXlvdXRUZXN0
cy9pbnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVzL3VuZG8tY2hhbmdlLXByb3BlcnR5Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNTM0MTAyZmJkN2QyMDlmNmZmY2VlNTdhZGMwYzIzZTk4NDUyNzRhNwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvdW5kby1j
aGFuZ2UtcHJvcGVydHkuaHRtbApAQCAtMCwwICsxLDY1IEBACis8aHRtbD4KKzxoZWFkPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9lbGVtZW50
cy10ZXN0LmpzIj48L3NjcmlwdD4KKworPHN0eWxlPgorLmNvbnRhaW5lciB7CisgIGZvbnQtd2Vp
Z2h0OiBib2xkCit9Cis8L3N0eWxlPgorCis8c2NyaXB0PgorCitmdW5jdGlvbiB0ZXN0KCkKK3sK
KyAgICBJbnNwZWN0b3JUZXN0LnNlbGVjdE5vZGVBbmRXYWl0Rm9yU3R5bGVzKCJjb250YWluZXIi
LCBzdGVwMSk7CisKKyAgICBmdW5jdGlvbiBzdGVwMSgpCisgICAgeworICAgICAgICBJbnNwZWN0
b3JUZXN0LmFkZFJlc3VsdCgiSW5pdGlhbCB2YWx1ZSIpOworICAgICAgICBJbnNwZWN0b3JUZXN0
LmR1bXBTZWxlY3RlZEVsZW1lbnRTdHlsZXModHJ1ZSk7CisKKyAgICAgICAgdmFyIHRyZWVJdGVt
ID0gSW5zcGVjdG9yVGVzdC5nZXRNYXRjaGVkU3R5bGVQcm9wZXJ0eVRyZWVJdGVtKCJmb250LXdl
aWdodCIpOworICAgICAgICB0cmVlSXRlbS5hcHBseVN0eWxlVGV4dCgiZm9udC13ZWlnaHQ6IG5v
cm1hbCIsIHRydWUsIGZhbHNlKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC53YWl0Rm9yU3R5bGVz
KCJjb250YWluZXIiLCBzdGVwMik7CisgICAgfQorCisgICAgZnVuY3Rpb24gc3RlcDIoKQorICAg
IHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIkFmdGVyIGNoYW5naW5nIHByb3Bl
cnR5Iik7CisgICAgICAgIEluc3BlY3RvclRlc3QuZHVtcFNlbGVjdGVkRWxlbWVudFN0eWxlcyh0
cnVlKTsKKworICAgICAgICBXZWJJbnNwZWN0b3IuZG9tQWdlbnQudW5kbygpOworICAgICAgICBJ
bnNwZWN0b3JUZXN0LnNlbGVjdE5vZGVBbmRXYWl0Rm9yU3R5bGVzKCJvdGhlciIsIHN0ZXAzKTsK
KyAgICB9CisKKyAgICBmdW5jdGlvbiBzdGVwMygpCisgICAgeworICAgICAgICBJbnNwZWN0b3JU
ZXN0LmFkZFJlc3VsdCgiQWZ0ZXIgdW5kbyIpOworICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBT
ZWxlY3RlZEVsZW1lbnRTdHlsZXModHJ1ZSk7CisKKyAgICAgICAgV2ViSW5zcGVjdG9yLmRvbUFn
ZW50LnJlZG8oKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5zZWxlY3ROb2RlQW5kV2FpdEZvclN0
eWxlcygiY29udGFpbmVyIiwgc3RlcDQpOworICAgIH0KKworICAgIGZ1bmN0aW9uIHN0ZXA0KCkK
KyAgICB7CisgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJBZnRlciByZWRvIik7Cisg
ICAgICAgIEluc3BlY3RvclRlc3QuZHVtcFNlbGVjdGVkRWxlbWVudFN0eWxlcyh0cnVlKTsKKyAg
ICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKKyAgICB9Cit9Cis8L3NjcmlwdD4K
KzwvaGVhZD4KKworPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgorPHA+CitUZXN0cyB0aGF0IGNo
YW5naW5nIGEgcHJvcGVydHkgaXMgdW5kb25lIHByb3Blcmx5LgorPC9wPgorCis8ZGl2IGlkPSJj
b250YWluZXIiIGNsYXNzPSJjb250YWluZXIiPjwvZGl2PgorPGRpdiBpZD0ib3RoZXIiIGNsYXNz
PSJjb250YWluZXIiPjwvZGl2PgorCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVzL3VuZG8tcHJvcGVydHktdG9nZ2xlLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvdW5kby1w
cm9wZXJ0eS10b2dnbGUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmEzY2I3ZTQ0NGE2OTc2OGFj
MjJhYTc5YTQxMjM4YjY5NzU0YzZhZjYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9p
bnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVzL3VuZG8tcHJvcGVydHktdG9nZ2xlLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDExIEBACitUZXN0cyB0aGF0IGRpc2FibGluZyBzdHlsZSBpcyB1bmRvbmUg
cHJvcGVybHkuCisKK0JlZm9yZSBkaXNhYmxlCitmb250LXdlaWdodDogYm9sZDsKK0FmdGVyIGRp
c2FibGUKKy8tLSBvdmVybG9hZGVkIC0tLyAvLS0gZGlzYWJsZWQgLS0vIGZvbnQtd2VpZ2h0OiBi
b2xkOworQWZ0ZXIgdW5kbworZm9udC13ZWlnaHQ6IGJvbGQ7CitBZnRlciByZWRvCisvLS0gb3Zl
cmxvYWRlZCAtLS8gLy0tIGRpc2FibGVkIC0tLyBmb250LXdlaWdodDogYm9sZDsKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy91bmRvLXByb3BlcnR5
LXRvZ2dsZS5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy91bmRv
LXByb3BlcnR5LXRvZ2dsZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZlOGI2OWE0MzYxNDY3ZTFmMjljYzA4
ZmEzMGY4MWM2MGY0NTdmODEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0
b3Itb2Jzb2xldGUvc3R5bGVzL3VuZG8tcHJvcGVydHktdG9nZ2xlLmh0bWwKQEAgLTAsMCArMSw2
MSBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3Bl
Y3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vaHR0
cC90ZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0Pgor
CitmdW5jdGlvbiB0ZXN0KCkKK3sKKyAgICBJbnNwZWN0b3JUZXN0LnNlbGVjdE5vZGVBbmRXYWl0
Rm9yU3R5bGVzKCJjb250YWluZXIiLCBzdGVwMSk7CisKKyAgICBmdW5jdGlvbiBzdGVwMShub2Rl
KQorICAgIHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIkJlZm9yZSBkaXNhYmxl
Iik7CisgICAgICAgIHZhciB0cmVlSXRlbSA9IEluc3BlY3RvclRlc3QuZ2V0RWxlbWVudFN0eWxl
UHJvcGVydHlUcmVlSXRlbSgiZm9udC13ZWlnaHQiKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5k
dW1wU3R5bGVUcmVlSXRlbSh0cmVlSXRlbSwgIiIpOworCisgICAgICAgIEluc3BlY3RvclRlc3Qu
dG9nZ2xlU3R5bGVQcm9wZXJ0eSgiZm9udC13ZWlnaHQiLCBmYWxzZSk7CisgICAgICAgIEluc3Bl
Y3RvclRlc3Qud2FpdEZvclN0eWxlcygiY29udGFpbmVyIiwgc3RlcDIpOworICAgIH0KKworICAg
IGZ1bmN0aW9uIHN0ZXAyKCkKKyAgICB7CisgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0
KCJBZnRlciBkaXNhYmxlIik7CisgICAgICAgIHZhciB0cmVlSXRlbSA9IEluc3BlY3RvclRlc3Qu
Z2V0RWxlbWVudFN0eWxlUHJvcGVydHlUcmVlSXRlbSgiZm9udC13ZWlnaHQiKTsKKyAgICAgICAg
SW5zcGVjdG9yVGVzdC5kdW1wU3R5bGVUcmVlSXRlbSh0cmVlSXRlbSwgIiIpOworCisgICAgICAg
IFdlYkluc3BlY3Rvci5kb21BZ2VudC51bmRvKCk7CisgICAgICAgIEluc3BlY3RvclRlc3Qud2Fp
dEZvclN0eWxlcygiY29udGFpbmVyIiwgc3RlcDMpOworICAgIH0KKworICAgIGZ1bmN0aW9uIHN0
ZXAzKCkKKyAgICB7CisgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJBZnRlciB1bmRv
Iik7CisgICAgICAgIHZhciB0cmVlSXRlbSA9IEluc3BlY3RvclRlc3QuZ2V0RWxlbWVudFN0eWxl
UHJvcGVydHlUcmVlSXRlbSgiZm9udC13ZWlnaHQiKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5k
dW1wU3R5bGVUcmVlSXRlbSh0cmVlSXRlbSwgIiIpOworCisgICAgICAgIFdlYkluc3BlY3Rvci5k
b21BZ2VudC5yZWRvKCk7CisgICAgICAgIEluc3BlY3RvclRlc3Qud2FpdEZvclN0eWxlcygiY29u
dGFpbmVyIiwgc3RlcDQpOworICAgIH0KKworICAgIGZ1bmN0aW9uIHN0ZXA0KCkKKyAgICB7Cisg
ICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJBZnRlciByZWRvIik7CisgICAgICAgIHZh
ciB0cmVlSXRlbSA9IEluc3BlY3RvclRlc3QuZ2V0RWxlbWVudFN0eWxlUHJvcGVydHlUcmVlSXRl
bSgiZm9udC13ZWlnaHQiKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wU3R5bGVUcmVlSXRl
bSh0cmVlSXRlbSwgIiIpOworICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwor
ICAgIH0KK30KKzwvc2NyaXB0PgorPC9oZWFkPgorCis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+
Cis8cD4KK1Rlc3RzIHRoYXQgZGlzYWJsaW5nIHN0eWxlIGlzIHVuZG9uZSBwcm9wZXJseS4KKzwv
cD4KKworPGRpdiBpZD0iY29udGFpbmVyIiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCI+Cis8L2Rp
dj4KKworPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
LW9ic29sZXRlL3N0eWxlcy91bmRvLXNldC1zZWxlY3Rvci10ZXh0LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvdW5kby1zZXQtc2VsZWN0b3ItdGV4
dC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2I4NzE5YmY0NTJiYzliYTAxNTc4MzU3YzkwYzYw
YWNjMGM3ZGY1MQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNv
bGV0ZS9zdHlsZXMvdW5kby1zZXQtc2VsZWN0b3ItdGV4dC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSw1OSBAQAorVGVzdHMgdGhhdCBzZXR0aW5nIHNlbGVjdG9yIHRleHQgY2FuIGJlIHVuZG9uZS4K
KworPT09IEJlZm9yZSBzZWxlY3RvciBtb2RpZmljYXRpb24gPT09CitbZXhwYW5kZWRdIAorZWxl
bWVudC5zdHlsZSAgeyAoKQorCis9PT09PT09PSBNYXRjaGVkIENTUyBSdWxlcyA9PT09PT09PQor
W2V4cGFuZGVkXSAKKyNpbnNwZWN0ZWQgIHsgKHVuZG8tc2V0LXNlbGVjdG9yLXRleHQuaHRtbDo0
KQorY29sb3I6IGdyZWVuOworCitbZXhwYW5kZWRdIAorZGl2ICB7ICh1c2VyIGFnZW50IHN0eWxl
c2hlZXQpCitkaXNwbGF5OiBibG9jazsKKworCis9PT0gQWZ0ZXIgc2VsZWN0b3IgbW9kaWZpY2F0
aW9uID09PQorW2V4cGFuZGVkXSAKK2VsZW1lbnQuc3R5bGUgIHsgKCkKKworPT09PT09PT0gTWF0
Y2hlZCBDU1MgUnVsZXMgPT09PT09PT0KK1tleHBhbmRlZF0gCisjaW5zcGVjdGVkLCAjb3RoZXIg
IHsgKHVuZG8tc2V0LXNlbGVjdG9yLXRleHQuaHRtbDo0KQorY29sb3I6IGdyZWVuOworCitbZXhw
YW5kZWRdIAorZGl2ICB7ICh1c2VyIGFnZW50IHN0eWxlc2hlZXQpCitkaXNwbGF5OiBibG9jazsK
KworCis9PT0gQWZ0ZXIgdW5kbyA9PT0KK1tleHBhbmRlZF0gCitlbGVtZW50LnN0eWxlICB7ICgp
CisKKz09PT09PT09IE1hdGNoZWQgQ1NTIFJ1bGVzID09PT09PT09CitbZXhwYW5kZWRdIAorI2lu
c3BlY3RlZCAgeyAodW5kby1zZXQtc2VsZWN0b3ItdGV4dC5odG1sOjQpCitjb2xvcjogZ3JlZW47
CisKK1tleHBhbmRlZF0gCitkaXYgIHsgKHVzZXIgYWdlbnQgc3R5bGVzaGVldCkKK2Rpc3BsYXk6
IGJsb2NrOworCisKKz09PSBBZnRlciByZWRvID09PQorW2V4cGFuZGVkXSAKK2VsZW1lbnQuc3R5
bGUgIHsgKCkKKworPT09PT09PT0gTWF0Y2hlZCBDU1MgUnVsZXMgPT09PT09PT0KK1tleHBhbmRl
ZF0gCisjaW5zcGVjdGVkLCAjb3RoZXIgIHsgKHVuZG8tc2V0LXNlbGVjdG9yLXRleHQuaHRtbDo0
KQorY29sb3I6IGdyZWVuOworCitbZXhwYW5kZWRdIAorZGl2ICB7ICh1c2VyIGFnZW50IHN0eWxl
c2hlZXQpCitkaXNwbGF5OiBibG9jazsKKworCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lu
c3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvdW5kby1zZXQtc2VsZWN0b3ItdGV4dC5odG1sIGIvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy91bmRvLXNldC1zZWxlY3Rvci10ZXh0
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMzE0MmNkMWRiYTVkZDk4OWQ0OTIzYmYwYThkM2VhYmQxMDVkMjQz
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9zdHls
ZXMvdW5kby1zZXQtc2VsZWN0b3ItdGV4dC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzxodG1sPgor
PGhlYWQ+Cis8c3R5bGU+CisjaW5zcGVjdGVkIHsKKyAgY29sb3I6IGdyZWVuOworfQorPC9zdHls
ZT4KKzxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVz
dC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3Iv
ZWxlbWVudHMtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorCitmdW5jdGlvbiB0ZXN0KCkK
K3sKKyAgICBXZWJJbnNwZWN0b3Iuc2hvd1BhbmVsKCJlbGVtZW50cyIpOworICAgIEluc3BlY3Rv
clRlc3Quc2VsZWN0Tm9kZUFuZFdhaXRGb3JTdHlsZXMoImluc3BlY3RlZCIsIHN0ZXAxKTsKKwor
ICAgIGZ1bmN0aW9uIHN0ZXAxKCkKKyAgICB7CisgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVz
dWx0KCI9PT0gQmVmb3JlIHNlbGVjdG9yIG1vZGlmaWNhdGlvbiA9PT0iKTsKKyAgICAgICAgSW5z
cGVjdG9yVGVzdC5kdW1wU2VsZWN0ZWRFbGVtZW50U3R5bGVzKHRydWUpOworICAgICAgICB2YXIg
c2VjdGlvbiA9IFdlYkluc3BlY3Rvci5wYW5lbHMuZWxlbWVudHMuc2lkZWJhclBhbmVzLnN0eWxl
cy5zZWN0aW9uc1swXVsyXTsKKyAgICAgICAgc2VjdGlvbi5zdGFydEVkaXRpbmdTZWxlY3Rvcigp
OworICAgICAgICBzZWN0aW9uLl9zZWxlY3RvckVsZW1lbnQudGV4dENvbnRlbnQgPSAiI2luc3Bl
Y3RlZCwgI290aGVyIjsKKyAgICAgICAgc2VjdGlvbi5fc2VsZWN0b3JFbGVtZW50LmRpc3BhdGNo
RXZlbnQoSW5zcGVjdG9yVGVzdC5jcmVhdGVLZXlFdmVudCgiRW50ZXIiKSk7CisgICAgICAgIElu
c3BlY3RvclRlc3Quc2VsZWN0Tm9kZUFuZFdhaXRGb3JTdHlsZXMoIm90aGVyIiwgc3RlcDIpOwor
ICAgIH0KKworICAgIGZ1bmN0aW9uIHN0ZXAyKCkKKyAgICB7CisgICAgICAgIEluc3BlY3RvclRl
c3QuYWRkUmVzdWx0KCI9PT0gQWZ0ZXIgc2VsZWN0b3IgbW9kaWZpY2F0aW9uID09PSIpOworICAg
ICAgICBJbnNwZWN0b3JUZXN0LmR1bXBTZWxlY3RlZEVsZW1lbnRTdHlsZXModHJ1ZSk7CisgICAg
ICAgIFdlYkluc3BlY3Rvci5kb21BZ2VudC51bmRvKCk7CisgICAgICAgIEluc3BlY3RvclRlc3Qu
c2VsZWN0Tm9kZUFuZFdhaXRGb3JTdHlsZXMoImluc3BlY3RlZCIsIHN0ZXAzKTsKKyAgICB9CisK
KyAgICBmdW5jdGlvbiBzdGVwMygpCisgICAgeworICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJl
c3VsdCgiPT09IEFmdGVyIHVuZG8gPT09Iik7CisgICAgICAgIEluc3BlY3RvclRlc3QuZHVtcFNl
bGVjdGVkRWxlbWVudFN0eWxlcyh0cnVlKTsKKworICAgICAgICBXZWJJbnNwZWN0b3IuZG9tQWdl
bnQucmVkbygpOworICAgICAgICBJbnNwZWN0b3JUZXN0LnNlbGVjdE5vZGVBbmRXYWl0Rm9yU3R5
bGVzKCJvdGhlciIsIHN0ZXA0KTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBzdGVwNCgpCisgICAg
eworICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiPT09IEFmdGVyIHJlZG8gPT09Iik7
CisgICAgICAgIEluc3BlY3RvclRlc3QuZHVtcFNlbGVjdGVkRWxlbWVudFN0eWxlcyh0cnVlKTsK
KyAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKKyAgICB9Cit9CisKKzwvc2Ny
aXB0PgorPC9oZWFkPgorCis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Cis8cD4KK1Rlc3RzIHRo
YXQgc2V0dGluZyBzZWxlY3RvciB0ZXh0IGNhbiBiZSB1bmRvbmUuCis8L3A+CisKKzxkaXYgaWQ9
Imluc3BlY3RlZCI+PC9kaXY+Cis8ZGl2IGlkPSJvdGhlciI+PC9kaXY+CisKKzwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS90aW1lbGlu
ZS9yZXNvdXJjZXMvYW5JbWFnZS5wbmcgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUv
dGltZWxpbmUvcmVzb3VyY2VzL2FuSW1hZ2UucG5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJkMWEwZTZjM2Y2NWY3
YmVlZWIzOWI5NTllMGRiNDlmZjdkOTM5ZjkKR0lUIGJpbmFyeSBwYXRjaApsaXRlcmFsIDEzMjU5
CnpjbVY7K0djP1NKUCk8aDszS3xMazAwMGUxTkpMVHEwMDZ4SjAwMlA8MV5AczZnb21ZNDAwMUJX
TmtsPFpjJTFGTQp6ZDYtPlFtSCspWWAlSEpmSFAyTl5Ec3V1TTE0KTJEQVEoVSg0MnF6TCtTOyso
d240al93KU9TKnZsYVVCZWYjQlkKelRVJStMKjB5bk91Pm9hfUtfSlNNSyomdHl1fk1uakpsPFAo
SWA+VGJ7b354S0JxVHQ5REIhUVkmdlVCb0ohaFoyCnomK3klQXVlSjh0Pm5mWjwleCghK3tQfFVy
e3chajZiLUVeJXB7JWVFY2NtWUVhZCZGLSZjbnIxbytHNl5sYjB9bwp6M0FgYitHZ1ZQVkxNIXxI
NFVAbXwjRD9LclBqNEUwejtTKGhXPW5NWHQ9SDlsYWVycy0rZmFQKk90bSRFM0FgUGcKekcxNmJV
cHpPLVNKLU9eNz4tdjVJNm9Lcm4hYFdSd2MrXipKZDApLVBvXyFAZExIWV4yRUFXO3t8N3h9NWBV
fFNWCno1bVdXMGwhSH1DejNqcylue0dlYWxURm9ETSZkIzxDKUFoO3lsYkdtKWV+UCQ7elUlTmFt
VDBVZVdrTl5iantxIQp6cTAydmItUE5+cjl6RCN5LUNLTFZ7ajA5Tyo/T1N4QzxAQVBaVGQqdVkq
RV44PE43QnNmajVtYU10VmgyUX59ZmUKeipEWHotYztBeGR6bipkNCRJNlUmSndzaSl5ajtRRXIl
RFR5cGc5UXd1am83WjtYKT1vRztydzFWQjV8RW9tKmJuCnpIQHQxaiFUZz80T1hsQytaQjFZVHVa
PVQ4YG1uQWolZyV9e1R7XkdqMTFxbiVfS0hRektSN1I1emZlKEJ7ZEZwXgp6IUxATCQ1IWBHeS1z
bk13eTdtLX45Tk5Dfnh0STRweCNzMXJON25Bblp9Tk81XnJBbXV5YzI1ZythaTY7UlAreGwKenVm
RzFIKkRVX2ExeHFob1VmcF91cDtuKiZzKiptUW1CT2BCXylaPj5wcnxPU2lPfERucC1MMjBNXk9h
UUVsP2FlCnpmSFN6MiFNMWdVT2BBOVc/JXQ7a2VnQkNLPV9mMSlAOW97ezFtMkIhUG16QXIoJlFE
bGVSUyFVbXRLN0IjcXI2UAp6cChiYVBqITVqKFZYV2MzV099eGZPPzY+cTF9V3N5YyVCYzZ6JSZo
dmExdHxHTUwxcWZDe31AKVhoeDBIVT9pSCsKemo1dXkja2JLdCpqMj5SWWg4LVFkdyZtWFUjTSNS
fmRFZ0EpX1hPVUJ1cE5vKCQ8MEZIO0diUkhuRXBleF5RSzhaCnp4a2w3fkBuZl5eeSNCZ3RTNjl4
eVE1ZTxwMFJedl5CSHkhLXB8PERnWnJqUz9fSUNSRU41flhoSlJnSz1xR35GTgp6cU0jfU85PWVj
MyEjWlc8NipNJDlRe1RgP0J2RlNSdHN6dH5nSytnNlR4KnpJK3ZEXmVfJnZ7ZSZMSn1NUSQoVzQK
ekd5V2haQFhuKHxkVn5WNUNwJW5FS0llTSFMMGAocEs2bTQhR3ZAR2tRPjRGcVZmNTBrZWRkQ0hL
bGBHTyZ5R3g5CnpnJkhvJHZxI0J5emZBWTstP0R4NDMreT4/Z3NkZn5zO3I+Q3Y0eShZOHROKWRq
OEZgcj1fcDhpJiZQOHRpaUlAMgp6TGx5JmxUP2BOUEJSIWs/K0RmTGp3bytESmkzcFZ1dHlAVUVa
YSY0LTBhQU0oVjhpWWRlTn0lPT9XQjJVPktSUG4KelU0ayp2RCs7KS1rSzsqdkEzUl5DaT8ofjg/
PC0mYihrRUl3LWZsYW1QNU10PVJgS2FDfEo3eVJZQj17VlcwOXRkCnpRR3wqO3ZYfGFua0Zmc1Ay
aWczfTBWMSg3PUZGTVIlO31TPEQybyN8VHlvaFEqfU93OFl2RExQUVl0OGx6JVclcAp6VlV6TnRp
Sj1SITE8N0U0QU52aitXdVVLPCtWVClIciUlQiYxZz1PQEo/azNjV2k8QCN7fCRTMFkre3I1REg+
O0EKensmdyR3MGBEVURHOWFXNzNhO200SX0rY1FJRyk2SGVTQ0BTYGAtOE1xSUtzVHBFLU56dCtz
UG9yMm1gaUU1Q1VBCnpyPzAlTGE9fnB4ODxyeTcwe1B5SloyakdUQCR9UEFBPU4xN0ZJfml9c1pC
JmY5d1dtZWJRflJHUzlecntPRHx5ZQp6cCZ9aCE3SyQxTk1hT3FOQnpaST9QblohQlFIeURmNCUx
cz5Cb2tvPGhqWi1TZHgpT1NIbHtUdFhzJDEzVX0lKVkKenF+KX1wYnVwdHlVdTU2NVhaVEk7aGwj
Z2RgJlJGTDBgRD4/M1RVYz11OEdxQlU+aDMmI3ZyOH1eKnJ3YCQ1WCFYCnpQayVaNk97K2FgTmN6
dVRRfU07V1RZY0dHUnA8VUt2QnZaOD9LREZOZSNfR2plMmM5KzRsO2xLZTNtWWxLe056Pwp6eSo8
NEFOYGR4TjZFWlRGYHNQKl5FOyRSXmMxUkNyRDZmb1M3JUdrfWFhPDJZQGZrQEs+RnBZJV92bTQ9
THgtOHMKekZ1LX18Z2xUUnsoOUBTOyVqUyh9ZXV9ZWEpWTkyQWZAZTBkXnBma3k1QUl8NClAUyp9
O2hXSkt1NihvaUolTSpJCno2aEt1S3E5SylOU1M0KCM9JGU5fUQwcUhBZSV0Wk03bzRAajFEemxJ
O255IThjKGU3dENUX2VpYEtmPXA/Wlc/Ugp6U28tJU9GP2pgRVZTdWpmenZpS3plU15WS2hidlly
cmxxazhEPzcrYlRTd1Y/YlVIUURFQEpNeW5VcDA+dlQySz0KelJtM1hUUjglTU05MWtIdEgqfGJK
UlJ2T2x1QmpOTlY2ZDtpbypmNWkrcTtjOWxYYGpvI1IoRkw3QEljanFgUTRQCnppe3tqRXcwREk1
aktPN0ItaGlEdCNNWjV3YEV+emlHMyVEUzwlY3xoY1B8dExPa0VJKlhlNlE8bnlUUXNsN2o4dwp6
STEod251NiQ8citWNmskcUFqT2c9Vzg4VUhZYUAxSCRIZEhXNzk2WUVuWWVJcXF3O3FqJjhrfDJZ
PiE7SlEzckgKek9QNWQ/aHB6NV45ezdFZmFMZkJ5dn03VWluMVM+PygmOz9hSEEmODBKZTRpJDQ9
X0JFTGprZkdpO0J1UFFjPl9xCnolX3xCUkxQMDFCeH5gRzRFU19KcGxpezk/ZURIbWVNR0k7PGFH
LTxqVGhfNX5XKERuQ0RjYnJ4SzZ2ZEZXQ2prZgp6ZXRSIyFjbUZxYHZaLShYRE5vPkMzODUmTWg5
RFlORipGNiZsbFQmbDtRTXxxcEckeEkyVmNHNUEkYn4oZkF2JjUKenN9Z0dFb3FzbXpTNyk3ZmVO
KitrUHZLY1piWnh0ck19SylZc3VBYj9EO0FMbWQySEY8JWBjeUFXeVNAIUZufDZHCnpHfnRvWUl+
MHA5ZzlBQVYxcVRWdEtldkBvKnIyT0JPKThiZ0cmSDFDQEk0PmpsU29oRUlVYkpWVmNRLUczUjk9
bwp6cVomOy16TlZqaWM5O3YjWWEmK08jSV94S25BPSp4WGVQJm9aM2tGNVojdCROQT1SXm9BQGMm
bj4mKmdCOzVgY28KenhTcGhGYCM3I2REMW5nbHJOb3p0cCRPeEh2ekZldGAtQVZCdmhSKk4/cyMz
fHBHMH5FeGI1Mk5mNHlTRzs7WlR4CnotLVp3eGVMTF50bk1ifmw8KHBpMyhZZUd6NGxpeVY8aVNr
fnhiKFVrc0lHe1Qmc2h7TDd1V0llOUZKN0dLKyRwOwp6OW0ldDJSflBkYU8kSzFeJlRoZ1gxMVo2
RUppSm5RKlkkQjY0Xj0zezVARD5JTHNlYXJubnt5KmBzb2Yqc1MlYmYKenNVdSQyel4+Z3BTdmFT
RzEwOTFMPyZ4UjF0WGRTU2c5Rl9qQnF2OyVmNjk7JmRfUzFVNE1NcEJKPlFlNG5qWDEhCnpeNHUk
KWB8d3E+SjcxNlpDeXs+WHRtcX1IUzU1bG4pVE4oUHFqaWZJK1dSWkVLSnljTDI2SFVDOzlNJT11
PDRhUwp6OV5OdmEzcyt1QUJCRW1EWkhoJD8kTXZ1c0FKM0VJM29hdT1TKDtsYVgrSlc9eyhYSjt1
MXxrfG1RY2pOYiVMXnYKej9jdW1TdyZVWnZLMzM1fjJuOTE3V15tTUBefXhAbW5iRjgyWW0+TjY3
dDBubXAmQnVjOV5TKkV4aCpgbT0/RHJ3CnpReVc1Zj4zdGszb1Epbz97Nmp3WGNNTFY8MX1oZC1G
cnl7UHstYn5SbjdsdUJkIzRLdGN6KW8raHJyYi1DM3JyWAp6WVEhIyFscmBNez42PSQlP3pyUVFR
PVdmOUpibDtAYG5CaG1lWUw2ZVkkTWltS0khKH5iOW4xUmJvQ0NmWHUkJWkKeiVPZX48K3szUzRu
I3xuQSVUYXVYekNJaE5DPHI4PUFRYzReMXl4Wkgyb0FSbXFHfW95UlNCTVp7dCU3TDwpcmcyCnpO
S2xhfEtJMShXMXIjWTYmRztBemk9fl5zI2klc01vcUgzUFV5PGdLTSsoJGVefDFXPm5QaygwV1Yx
KVA7KHtzcwp6PlVSZ0pQMWUmPz1+STI9KkpMWmMkbXdgdlooM1E7bD18PlZgfTs/MWNDfV5MdT1A
YC02YUpQXlUyYnNHJTZiNEUKelVIN0lPN1ZuQW4tVkNHISRNWFMhcTdiTSNKfE1LRj05dyUwPm19
fkU5dz9tWlR5Z3hEYkVpZSNLV3wjYUJ+YDUjCno8S3piRCt3fnhRb2Q7PWJZXkpga25TM3RJRlY7
aiEpTGxlYlFqcDJIV081R3F5aEFxY2xGN1NkYX1JP301eXhAfgp6aFlnMU12KjFWO29qWng8Tm1V
ZHJrOV5qfiVHdHJCUmx5O2p2bmt8bEA7UkdTVVNSdDxFPyQySiVFKGNrWn5aOU4Kemg9dWViJXMj
Nz9wRkE5O3FkVXV0dihDZnY0NFB9PiUkU3RxY1V5KWprNz1CaCspODBeKkooWXREZk1DSXcjS0x+
CnpIXiVvPm0hI1dtSCV7VjlBOCNjWkk7R2gmZnAtRE1oKEFWbipZb2dQN3RNJVhlI017djxSKFE/
UEhFdGNsaXR1Mgp6YXNKJWNYWF9mTEQ0fmpKMz9GPSkhT21UezdfPn5EajtZeF5eS3lhUytffWAo
TXpBZkY+ZT5YQjwmdyp9PG51MHQKenloRmE9a31KNTM9M08kRGhYfFJkcmNRTnJqQT03ITcjWCFG
U1JSRmZpPE5VSTxYIVJ3bXUke3VzR3QqYWQkQFYpCnoqOWYpbTxsKXhVU2ZofG14czBUMnMlazJi
VykxZn0+N2M1RHJmRXdfa0IpTlR7M1pze0hvZTAoTyUqQy14dUBSTAp6IStVbn41T0A4b2prfHU8
I3V2VmBtJUR6fU0kWW4+K1p5QlEzdXtnKVVzRy17dz44RyhRO1pVNDBAMEFsK303QmUKej5UcU17
JXgjVW10dWtaeFImJCZuY3NEfnpASmpLd3pWRzhwQTFOaD9zQEFYOXZARVB0NmgqeEhvTkBKTGEt
QWBNCnpSIWR8PlJyQT9jcWRnMjlUMShOa3NqTyl0U3piazdaem5KOFhyZ3N5SihpPFQ5V0AhfiZ5
JmwkJFQzd3k4QjsxMAp6ZF9fVCNLQDNHV0EoMnV0WEtvJE96dEJjNVlhPGo7ZF9XMTdReCF5bjhL
SiM9ZUNPUjF5VzlCcnl3NVJFdFJOeUsKencmSD9SQFBSNFFZanw7cyE9KG9AJSR3MG5jQSRva1lC
NlVAbDNuZE5SLUlxVD9EIzlKQU1HTlBYbmFjI2EjdmZICnokSlh8OSk1Pn5RRVVNdFhIOWJIO2gp
PUMqSSlPQyhCUWAmSnczQShKU3BkSEFgQn5KSTh7RF8xaGV5ezlQKlpPMwp6am5CXmw7Ri08Q3tP
SGs2MFJIMWtiSj8mZiY1c2BLV052R1dGTVlmZmZVb31OMGx4SCFWMSZ0ODkoVm47anJOe1gKemo/
ekZ0PGZ8e05WYiF3Z0BxSWJWPEZVMjxDI1dQfWBnclJKKlBYTEc/cHhFdEduPEZVX3VhSXp7KUJx
UT8mO2tRCnpVckpPWm43cn5tQTRPM1JzQGA8WXJKckJAXnA4TEpPPHR3dWpRNF9iU3xjQip1MXRt
Xjx0Kz4hZXZhKHU1RDE7Pgp6YFlDOWQmLSgyP0JpPkE7Jj1IelMhUyo/RkcpMUI0UU01Z1pQVShO
cSEhRWttTUd3ZEp1cV91dzJDRD1jPkp6azEKenR8WFQoVmkkYWhNVHUzQXErRjgpYHBmKnFmJlVN
O2B3O2luVXJmODBoZyM0bjdBM2FqPEpka1VEVChoI05tTjk2CnphKHhgbl9vISVeaHYmSlJKKn1F
ZCZjXmpNVztZNnkpUH1lOUFqa0NpRzNmfCErbGBaJCtaeUIxYnB3M2omaDZhdwp6dm8+blY0UXso
fSh6cytDQmcqODQyKjMkTW82LT1CNDNxMV9MXztkTytBPTQjZCl0a1pjeExsM0ltO3MmUWR4RDEK
ems+K0BlNXE/KSZtZTFhYGkhWGQ8RlMmeHBPKUtrSkdVciR7PmFNbTdVLS1ebUs1XiVFP3B4Q25i
ZTNodT5SeiNeCnpmPnEwXj1ed0hBIWd1IWEqfUhicEtsMHZMJD81d05QMVMmYV8pPCNabGBYZjE8
MjRuRXFNUl5mWTU+dSZGc0lhcQp6dUJmVzFNWTxOZj9PUmIqOVdfISR5dTZORnd3RCluKXwwRipC
YWB0K2s3bnJ+JTtTNTNAZTBTPk1gTH4+QSVhZyUKekc0Ukwkc0c4dXNySVhxNihvc2UmOCZuLU5X
XnklO0BxdDc0R3RpJTVPPl8hZCVIRUchT3lDSFJfQCQ4fjJ0RT51CnpxX1ElfS11NjVsZVVlR193
ZDRtWXNJQ35MSmcoQ0A8U31ibjZaUUxFVk10IWJETXEpYCFtRDVTa352OHgqTjRYPwp6Qm1ATkN1
c2g5P0lZfTtBUkxPbTdkS2VmOV44MVhEZVI2JC17dD1zK2Eke1RfSTsoVy1SRlpVVClXe2NIWmR6
SVkKengrK2RJcT5mQUd8NT8qUiZocDR2OT94emIzWihYaEhSR040YyZVSDVHOyRvVCFtTDtuYylY
dDdKVCFqcTgrTkJ5Cnp2OGR2LXA0WFd+WXd+NVBMTEdSJWRaSXN+TF5sQl8wYExKdkIyOyojPVI5
bnMyX1hjST5qWVlkcVN2M1o7YDNMbgp6Zjg7Q3c0VURePUc9Uz0pS0Uxd05wQSQ+Z2tzZGg2PTsk
YndXZUxKJTRWWj8/LWFTNFV1WnJmbExaSndyPWl8QigKempgUH0jS3tyJGkxc0JpdGczcCRaVkgj
K2ZVXkhFJXdsMjx4S2ZhSjdUXjJwUHtha3FEMlZCem1IMnFvME1uQTs1Cno+Wj5SZW49bG14Mk54
ODleZ004RWVBbEJtQkcze2wxdmshfjR4aVIwaSV7N2xvUlIlQilrZihWYzM0KEJnX2goZAp6eTBp
VSs7Jm9AX01UYC1vejU3SH1xckUlTmt+enQ3RlZOMW1FSEBEbGEhZnpvKXNgaFhII3Q2UEVTWCF6
dUNePlcKej4qVTI/WiRfbjwrO0dnTUk5PiVCQmxZbiUkQklRMnRYTmR9bnMmKDh7PT1gTU84djFn
cnt4Syp6ZEN7TTgzZkVPCnohSSRJVGdKQGtxKFhrNDw+SFQ/dl9ILWpjUmdwKyFOIXBqeVBYNz9f
dSVhbElsK3VTMT42QHlJTVR3e3VqWUp9Sgp6OU5DVyQyQVQlWldGNnFLciVsSW81P0MxeiZrWSol
UlJJRWdGKHlmYXNvfFIxREEhJiluSEBYJip0MmhkPDskbkEKelVfbTI0e2BvZmM/SDxJKioobCpT
aV9jZDAyanpSMWVRT3g5NFl1ZDxZXnJ9Qkojc3p+U0kwcjNDPCtQXkMhZmJICnoySHYyP2BaeF8h
RHx6SmNTSi1oViMxLWYxbjZWbiVZJlVnUDM1RV8xcGhse2grN1JaMntmRk4mPX0lTSp2WnIpeQp6
byhrPGZnPmx0biQoJHJMPHB6KVM8aXxVfWw9Pzd9PiUtJXQjVUJHSjdGRj02Ulpaazlqfl9rU05p
P0w2eUNVQz4Keip6cm57M29vcTNRWStDRXxBYj0tSzRPZ2NDP0dWdF84ejlRM3k2VSNSOCpuaWN0
dD5CTWsrMmVMV3hTLThjaEBBCnpWPTlycCtCXyF8M1pwNnhVRVJJWlM0Tk9wb0tVbV4qVTU2WXgw
K0RjQVlUeHJyWDxuQERGbFFoc3R7PHBOPm1mewp6NGRmWH42fWohIV5CRWs8XlU1b3xlRGB9Vkdj
Y0coXz0wPjxYRj1sO0U/eFQqJT17NWpHUSFKNDhUTGRidihhQmMKeiNFIzx8OGxMYXR4e3gycWFu
YlQ3dURXSWhSbjxgPFFHPF41R2Arbzl1RHA1JSFyWC03KmwxPmd2YSZkaWJDallDCnpRJlVAdWMl
PmI5Xl90eiYhYE5eP1g2VEkjYE52RHc7Q3JDRUExQCk+eTk+OzFqZDRrLWokTGlwYVZiQnhafDR+
Pgp6NXwxQnNDZkEzQHJUdGgzOXM5bXlQOGs0P3Q/bFFUJkJMZWstaSliV1F8aU94cXN7NGReZlFn
b2Zqbig1S1pLfVEKemZYPUp6aW1gd2owd3g7NVYqZzdVQGNrZ3RSIVdIPzZueChnJHwpaTtXNjNT
Jj9SQD99eDtjKllpbW9aR3YxcGg9CnpBeH0xJkNFUSQyJFRaTioyJXwkSVdVTWV8TTQ8UjhqdHg9
KU8lPDQ/UEFGLWgzUEdYWmtWK1J4cjtHZntIYG1lRwp6byNFMXByKlAtanBDZERCcXFyKVRWUkcm
NC1QfnpETlRyb3hSRWg5dFNCN0ZkI3tSfUBzMCs2ZTJ9Ti18azNgJWcKem8tbmE8N1VkT0RJKnct
OXk/ZERTTlJlJT9eZjdmPjhRVjdYUU1iJlhHTmh4MSU4NWlgYyVJS19EdXRleWpOdStWCnp0JXFE
KVpqS1k3cnJjbzNvSEZMTiNzVitNeF8lJXFZfTxQWk9zKUBlKTU/MThUaGtNJERzeihLZGh7NH13
UG5XTAp6ZSpHaSVfJT5GNSZobFFAQlhoZFFTc3N0QjgoYEo0WUNnUU9vYDFqcDIrXj1RLW14QkMr
ZHAwb1Y5REd2NCkrdlQKemIoe2VePHxXJEltWmZHPDF5XjVLTG5OI1BCaH1uQFhqIUhOOTM5PTA9
JS1BRUZfdWIzTDZhJiU9d3NQczAlY25TCno2SVB6KmdPbnR5clk7NFpQIXVJMnJTIUZrc2Y1Rloo
dlhPbXF8IU5UN2F9MUlKcnFZKDZ8I2o4eG5jfVEoR2lNMwp6KWRablg7T1dkfTlGQkhwJHJOcGhi
YFU9IVJEb3N0V0hMNUN7QEhkMGRXd1dZMX07OWcmUik7MEBrZEQoQzMhK1QKeihVVCtYST1tOVBr
ZWdQMmx5bTNMI0NCWWU1PXw5IWIhVTBfcEBWR1JHUWh6QHFiTmNfUlJ1RjwqUlglekZuamtOCnpX
JTFsPD5ZODxJQmFVZXJYZXRjJUFFQ053SG83LT5URipHcGNUWTZmSHRiR3ctPHFCaTRCRVNYK1F3
fStQR1oldgp6PlR2XmQldz42ZXgjT2smbkFBTDs8UXNPS3h0WlFFSEVHcWRZWDBMKGJBZTstJFo7
Y2ZaVTZZWiFmaUtCOzwyXjsKek9sfUF+TmROSnJ4I0okNERHaDxASFJpPGBiS0FabiZgTnAxbHZt
Qkh6ZERGZzhVSGc1cCMqRU9XaHFYPGo4c2VtCnpxNkE/I3o3e3NyWGg7fDNrIVlOM3BANUctNipg
SUBNK2srWTdzRkZSTlRERyNnTTdpSnQyYSQ1V21CKmBxJVlBNwp6ZmZpRUhHITBNczJtX2B+dWl9
Xlk/SXNjcFFGSnZ2Y0JSNnkjMl5vZTQ+R3g5NldPQ31yMHBWeTs8ST5jfDZGYm4KeldoQ017Kih+
aGRHdDZVO0FMZShAYmtnM0khZ3BPaGBLaHlje2BvRmFzVXAqK21tXmU8Y3pGZHlILWUoM1BfIV8q
CnpybEpaI3xHKkZwJXtIMiEhUy1CKWRnfDxqfEZmb3RYIXZDQk5QQm5UbHR5T0deMlhoaSkjVjFj
IWxAPHB1Q14/bgp6eE80am5gfSMtaGxsSHd7YEE2M2NvSFhAK3MmV3R6ZX5pZHU8eGFTdG8mc09e
X0ZnNzhndmFtZ25hI3J8c0FAVU8KejxFI0k5QWFKTEspJHV5c2s/O2Q0QGY8KVh5ZWVxbTd7OD90
Q2BjKUErKmNKNU81Z3dxPntjezAoaE5pWjE4Xzc9CnpRXkxCNjhIIWV0JUp3MElpY2tmcjl6cWNV
U0g+eTI8Pig9d2JnSUNTTHhUKHI8Z2tpOWlLK3pndk18MDZgSFk3aQp6UWtYSGprYEcpdmdUfUA8
IWBVSz1zaitCJjRYYmFUUGp+LXB1M0wwSVl3cklre3JgU0QjWWg+P2RuPEAwODw5ZnIKens3YzxE
QFpkcFNlen0rNyE2SyVxUUMqKVRvMzs3PWY5KGQ4QWVoWmJiSmpjKSVgbExQanZfUF4pa0lNPjVH
dmA+Cno0MU9fPGxuJWFVemI1SjVzKX0qRXk3RiRwbjJLX2AkNnVAYm5OWWpsRTxDQj9jPD9JNjtF
N05LREJ5Y3c2X3I9SAp6cmh9OUdsQjU/eEY5WDdxWSotQ1lLPypabzRUR2FXJk9NPWBZOT5PY3hO
ZWNvbz8hfnY0Q2dKTGhMdVpqO3FvYWcKelNYakA3bSVJN2gzKkUleEF1ZD9mJFRlM19XJT1ARTh0
VVYwLXF3cHlHfEZwcnpWP3NqRj5QdU11MlckQl5VcUxhCnpjd3t1NnI7WCh9LVluYFdEKE1Ae15Q
Xnd2cmhte1BvWWJqfj15Kj14IUhISXlCeEBwQVNyMWhlWHU5Qk53P0oxJAp6JG1kbj9KJWtvUUNA
UXxNa2s1QGBXJjgwdyMoVm4mLWFHS00xanMlUmc0YmxkbHlJRWUoaTcyPmoqcXs0TVQ3djgKekcx
N2EhXmV4K1NqYVdUS0d6MDhJPW47ZS0hNn5HVyNTRkdwTXJXN0Qlaz1aWDgpb3NoeDFZejM5ZlNQ
eHo1YHNpCnp0ZUg9TGRPbkw1KWUjUD42ZktYQE9wKkdVN3xDI3k+I2t7SyFQJFl+bCo/dHdxPXAm
bD9QNWI+SWZvMDJpRz9kXgp6c0U/RCl5SlUrIzwoMSlKTD15YDUhUEsmJTNDejRpU0FDRnklVHk+
Zmp1WFNzYnYhJFpQQF5EcDlNOHVvPUU8ZjkKekQ3cWx0ZE9vV095aEJoYFFKUSNDMDxYIWJwZVNR
akQrcXkpZGVXTzdUU08mNkMpZm1sWDQhdFJVXnhaRnRSIUFECno2R2M3P2ZiWkZPdTB+YWIlRGw1
ME5NKGtaS0QoQ057JD5lM3s+ZUByZGlWZ1RRSE4/NWUhSGZGLSNwUHlZMFdPYQp6NUFuRmNYSTlU
KylzPlMwKnNeJnU+dEIyVXEzVyNQN0g4dyZhO2g3ZmFEMGBPbW96YntJZ1RGRTV2bzg0NXMtYiUK
emgqMTxBZD15b25EMWx8Sj5sdmNiQ3V8bGB2QGtlZTdpfXpDNXtxflk1QXs9VTZVNDxDT1RqO1pL
TmJgVHN3ZiQ7Cnp1YnhwS0JpWSFZVkBwbnRGQyhRdFpwY2N7YnhXbGMwSWc4OzMjcHRsb1U9Unty
PU4lTl9gbCh+NGt7aj1SN29aXgp6ekl3O3xffnxiV141bTA4YztDd1ZTLWlOT1UpX0hfeVk+dzhI
QDgyX2p7TztRRXgwJl5BWjBea01Ub3o+XiZCRCoKemphT2NJaDR0JiM7YHMob0tWTStpSn05ZWhL
fmJZRFVzQT1BYEV8Nm0jUTVfTSYqRXBsWmJLfip6dk8yUDN+SiRfCno4WUxxSWYjcD9Gb0E5WUJ2
cik3ZCFuNFF+RVFVdU5sNXZ4Y28oenVDXz9yNnMxbTR8e0N1RFZKRVpYSlJLRVd8Kgp6P35mbDAm
aDtoSV9zMW9APWVnR0xtMSYrJkF5QEZiTSo3O0FlZVJXTGRZSFdCVmZzRmI4cDhDYHtQLXVvPVpG
OCgKelBpbjtFTjhld2BiPVMxPXVpeElyY21Iei1Ad2g9JVdmV2ZxYG5PYS12d1hoJTR+d1gpamoo
JnlFO2cpeDBveVRvCno9KGt4OGNqe0RCT3tUME8lQm1+dFh7ZHx4Jik/bGFaRlBoZDd1MiFoezA3
ITs4YkgtbEx9QHthNU1ZRTxUdnM5bAp6c0goKXZgQW5VblFCIVdBPXcpQ1hDNl5mP1F9RDFJTiND
JUFyPFQzdCpxYUh3YkM1b1BUQjlmK1VMKkZYNm42dUgKelFsN3xUaG9weitkKmhQY3ZrUGdDPmxH
VHtxO2xUajFOKE0hO1oyUTFzJU1lU2o4STxkcVgtU35Ye3Fke3JvSWwlCnpENjsza0RCcnVgMzB+
Z1pNe3tHRz5lP2AlQVlfbzREeDNIQyExYitNY2w5ST05WCFCYD56P0NpazdPaGhYOEE/YQp6Xzs1
b3IpcysjPm53QDBwP2gkX1d0SFVVWSFvZWRzNHN7LSlFTV5pODh7PlhqcChyUlNoPU4zQDU/engt
JXJ0SHgKeiE7QzREMiRefSVCUzxHdFNNTFojMmR0dGAqSSpHQClvYCsoY0xNS3YkUCQtMSRzPT18
WTZCJkd8SyNAQEJwbVJACno0Y1RJVHFeRVMycSpTJSs5YDwofUpnYD8lPzVEMS1mJlBJKEBHSnR8
JGwmYSRFeylYPXQ8eUFxdiE7dUlSRlV9JAp6WXBIS2Nwc0c0VCl6RVl1I31tdylSP2FgJWJgSEhn
b3hKZTtHd2VPJl42MFpKRllrPTdWVyZ4WGQ0d0NUWD1jaSMKejc+NXEkODZBYUMpRjc1SGk5fTZg
Njc7WitWUUE9dmhIaCMmbVdFdnJYcXR2M003Ql55RypRRjNYTXhae0NfPX17CnpfdFZ9cmdyVyNX
XkRjdjw1K21PN2g3Yjc4KXk+P3d5N2AyQ3BaaWM5bW9IOV5BMFBZdE0pak9keHZIZWJjVzxBPAp6
dGRgVEM7PWclaTZgJVhpbn5OYmp6TWE9PV5Rfk9aOX54cTghYnUyOVVKWGhLfEFLdjVYO2Ewa0l6
fEJCYk1aVkUKekRUOCQhZy1tfTM7ODV4PTB3OGFUeSQ5UjYyRDxqV05Za3V+PkZ5aUJ3UjhCY2d8
OClQczdQYDRqMGdvUU9kX3NRCnpRPUs0VzhZcnJZcyV2UHZoTjViT0FfaWFueTlNQTRAdGZafiZX
b0VmSmhNP0Y2cWBYVC1hc2JuQCRoZVo9PFh7Wgp6QzF7JDRUaHojPXBsQWk4SGNiT2YoQC1ASFVE
SHM3TXpKNz5NTkM0Yk4rPX1wNl5GQj9EQD5fKDVvUWZ8MSV+Pk0KemE9Mj8wKC04RUgqdGx2ck0h
Zmw/MlhaUEBDQUhUaT9BUHUmJTJPTlAtVkV3SEw4YCZEJWRPdSQlLSlXNy10VF84CnpraUwmPT1X
JCZKZ2hZQkNwNjhFbXpWRzM/OT07bnlAJW87SjZvS29+YnUzKVJMUHtVa3ZHSDZkRmxNRkNOWjs7
Iwp6MWFVVm1sPkMrPjhLPUUtUH0jUXIqQHJIXz5nSztFQDJDdDg0QTdMIXFRX2hDb0JeJl9KaT99
ZndmT2lMU2BrLXsKejF1ZDBVS0lNSHJgXmcjMW4rWlItPVYyY0Q/RW5MI2J0S0RNKFR5LXRgYjQ4
OW9qbz0kWjVyVyZTSms3YkR3P2swCnpkSUMycUZoZVM0U2Q/NSozSk1DWTN1Uj9HUShHYiZKWmgw
b0FIaF41bW8xLTRHfkFCfWx+V3dxJEhEITM4T3IhWAp6Qk58O3BIZnEmMExiMipvS0hPSmhaJTJY
YUV+O1M1e3YzbnA2UX1wP1Q7MHNOP1Z+KWtGLT11Y1dBJjtVVDUzJT8KemBpZkt+YilNZHM4dClY
JXdJK0EyWmwpQCF2MU5hYntHJSZ9MDAwdylOa2w8WmRtaWx7bShaWDRQI3VHNW0lQVQwCno3Rn5K
V01NM0RwISFIQ3VaM3x+YXhvbU5neVoqY1RxLSVfcmYtbHxES3VmTDNWQXwhTE5CaW1NRHt9TTdE
Z2Y/WAp6R2RPO3xQajVgSV9lZzt8UzJ1SV8xSEJCVW9mR1BzKWU+ZylzdjA2OEt9WCstendpNkc1
N211IygxJXxiZSVsQFgKeiV8WVYoOT00PDZkbkglPUAkKVE3Sz04bW00WUl4WnpDYEdQTGU/aV9k
Ym9+KlpDaU01YUw+Tik3Q1FHbHh0Q3p8CnpsblcoRT9AS2NNcXc/QTNvX2h8cCpoZndDUz91MXxo
SHN+WCswSmtTR3dUT2dHRGt6bTZwQW97TUo3VCtSVyp2WAp6IW1fMXhlRHR+cz8pbUJDe1FTV0lR
cX5sej5nSGdecTZsNH1oQlVPV2g3bUQmPUgoT3glUj4qVGg+KFZBPXhDO2YKekZJNjtFTChfRDBP
fld2QkpXcip2QjgyMHM2Zjg7SkRQekllXig+czhNdVojaWVWMShpOXlhZWZmKUZhQkloU0o1Cnoh
PkY4KFd9S2RNLU1ULT0taWB2UlNIMW8hcjdARDtgcHZeVXtLQ2pkJDdpKkt4JWNUbz8pdlg7N1M0
IUxtRElUVgp6Zm5FVWFleFI0SC1FKDM5K304YSRFPDhJdnsoWnJXQ3xtZEVQVDYpPFFmSitjNDdZ
eXNGblA9NHZlUXRkVUpJKk4Keikkc0pqNnR7bCFAQ29oQlk2Jnh8Q0N1MEVJbSlmeUpwOUtjeWN9
fmdkYmwhelJnPyhETT1DUGRndjFCQChyMmtpCnpQJGFKRlE3bWU+b3tFJHtqJE9jWWo/ST9tKTdA
S3Imbl4teUJDKzleNlZ3XlokbWUkKz08REE0KHZ2Siljck49Ngp6ND1fQn5nSi04T2wyY0hIJnhi
RFJCYkkyIV49eVF5cXc1O0o2eDI3d2BUTV9ZO2declIkUFhYckx5NjMkcyZPV0kKeiM2VUd2Ujh2
SldHPSEhU2lzYGc8K3c1LTNsWG4jS2tkQUtYMnUoKi1iI3l+UkR7WlEjViV2aHdLOTcjaEF3MXQ5
CnpaZjNkWntaVyNNMnhfUGpGVm4lRT9keGdsRX0oMEhZTkpKS2lQVzYpcmFVK0lLMFFjRnRAKmxv
YE5BMWRvLVBxIwp6WiUyV0FAeDxCUXIjR2c4e2lWMl9zXnNmdVRrR2c2R01JTThKSUtOclFQJURf
Yz9sc3ZNfUx2RStrPDI0YzRUTyYKekhCYkJBano+JGFOaEJvMyt1M3ApPXt4JDE0NW5SSHVjfHBN
YHtZYlFtVkUySj1pKWdJcjJ4cio9clVMfTdpMlJGCnplJjR7Q2F5LUQ7YnRScj48MnByKGcmZEE7
am5fTUhXV3pjRiFzajZQMzh5aHVfXkdWQnpjKGVIZGY9aFFYe24xNgp6aWs3aT8rYUExcFp4SG9a
Szlgb1ZlbT01ZDVKaXQrbiFUNzI0PXJNSCtiNWcme21YbSFrRHZEdEUxeUZ9WjdWYG0KemdINVFW
UTkoeWw0Tk9CUHBNIWh2P2A3YktNVyl8RjVofEswQFRFWGVSZGhvfEgjNz5pITFGV3xNYTZMaWUo
P3g1CnpVTmUpa1N7KlBPQFNQbH5xdzg2X2VnfmRaODcrN2VpYXZWZlZxI15kcl9ZYUpGenhkMjMm
VUt0eGE8d2RkTTJAVAp6ZX50dytxNTxLelhVSlBgOTV4WCMtP3woMl8wRyooSzN9YCVDfG1kRVNU
LSopdH4maU9wZU8+Tj5QWUVoeThzZWoKekBqI0klaVhTVytefUp3e0pgbmlmSnQ+aitjJUZ3LUVN
VkttcWBkMUMyOU5BYGNwRVNaNnZrRmc5c2RNSWBfdWtJCnomdT94WSs0MElJJlJhQi1qa3xqMllU
SmRFPiVAI1ZwaFRLakZ9SXRgN3lBQCNtQXRLVCheV09KY1hufiNxWFJUSQp6JV47ZW5NK2dOPypV
Kz47UlomJDlwJDVpanU/V0xRMy1vanAkJkdyZlQlNj80dTYhXk8ybzw0ZiEzZzUzNm1rI18Kenhv
RH4rcEhGZWd2YWBBUnliT3ZfZnVmcSZMcCN+PHtCUExibk1XMFpmZXs8a2oxejZUN3xvMmw9P0RN
UiN4KGgmCnpQZ1V+TjZJdmE4TUhiOG1WbXZPSzdrfHhpciRTWlBzbXJlMmt6d0pDRDloJDBVUUBN
IVZBTDNzP2g5cl8qP1N9fgp6UTFlQjl5elpNPFI9d2RoYkBUXjF7RnF2RysyWFIzJH4/NigmNmZR
K1Q1QTY9WCtYazhtZDQwRjhsd0FYUFY2SGcKel9NO1d8NjFGIUl3bGAyND9aVURIJnhgY15RVSlg
TEVKWTxxcjhGfCYxdFdtdFFmS1ZJJGlHT34qLWtfYExROG9FCnpsWntgbXttY2pLbiphTkFsckxK
eXhNNmVyNlM5WGg/dnsjfWBzZmV1ZkFRbUFgU2ZCRXVgb30qdSFFMSl4MWRFRQp6Mi1uUH5JSXh3
RUVOZGd7RT9fVjwhdGhXcFlxdCRDd1BpQihiIURgNzYmTShAa3RoaEVsbWd7fmkzVXdtKnRhWGsK
enRqVGUxYCVFKWBfbXg5TEo2eVZaVHFlemlXTXgybi1CaWl1ZTVCQSYrLUB2TzxHaDhue1ExPW1r
eXNLWFJFMyp2Cno9Z19BNmQzeDwkUjg0MGY8JmQqSDsqJjJSU3YmaEpQZkZlVV54JGl7MmslYG8j
T2hUd2VFMFMjYm8zUVpPRFk0Ygp6LUphcCpsfnBYNTUjYD5lUG1KLTtUWWlhUD1JZVN8QHxNVHlS
VygjNEg5R289SmlJbkFlJUVhdXJSQjBKekkqIT0KeileNSs3V1FkPCFrSSVocDJEeTE8NzF2ITxh
WUNFM1RFZ1NecDB8QU5kOT9xdT8oZlpfQ2VxR2x1bFFIWXUjUDdACnpCQjMwTDBsS2dlaFVDVEg9
UXpeWWpPWTQrUn13JiFXQCRZQDFWKmclIUVwdFpIN2Eqfj5gNXg/MWRnTlBORFokYgp6ZF9eaU5C
bEAlfSg/azdGSE8/UD5abWopUmQtZndgRj5RSDZoNCFESHppRTFOZVl3aGlLWHNIVm1lJXE5WWk9
YWsKemQ/e01BaEdPM2FHQzdZMngxRyVzJm1CUyFIKTJMQnNqQ2o1WF9Cczk4PSlWWUk4YUo2dEN9
ajx3cWNZKStUKHhVCnotcG1EeVZ8NGYwZUM4azhuTEltMmVXT1d2bk0hM0BwMXVLdGstOzwpZyhi
NVRSJHJHTzdNNiU7QmMzJShANzVvMgp6Ji1jRT0tcChTOUNwcHcqQTxiJVBtd2NKKD03b1JvPzhS
ZFF4JSt8TXg5dHtPeXtkK3plWkBicnJ7dFozRGpjUmEKeko7cTwmUWoyTCtBK2ZQLTV2VmRLNiFM
PWg5cVZ3dGMxJkZqNjFJKz85ZWZnc2tNekx2UjNeN3hOSlZvNUFeY0s0Cno0aD1CelEwWTRTPGx4
MilrQUxpQUEwQiNneSF9XlFrODlhfUs0UGxNIUswYXJFPDhJU2U1dFQkJmskdXNpdSYzcgp6XmpI
JlM8IW0mNm19IStBI0ghfWQtVX4lMWdYZFl+OVRsTzRRQntFPU8ySzE3TGxGV14zLXREYlo0UX43
JiN4WCYKekdqQ1J1d3Ipc1BLczJJYW08RVBjV1ZvKmIpQ2dDZUMlRVBFNVlkUT1oJjNhZjlPKGxP
Yk5eNU9qamFiVkNfPlFECnpVJkx9SEB1QGRjR2olei1AI2E7Vik0fUQ3bGlkRTEyQ2hFOG9UWVBP
SmhkXit5NE5yflBadzI1amdNWWQjWFhQcAp6PEdCQjR7NyRyI0R1YnpNOU5Ne183NHRXc0UxZXVW
SUs7P01DcW59ViRQVm5vbXVWRkk7fSVOISRSTlp2MilVNloKekhPS2NFJjM0ayRkNUZJNXFqWXUq
VnQ4RnZSZVlheldiZH1qPVJXdUItK3RxK3BAKXlwVnRsSD0xfTl0YWhmU1VPCnpfUCprKjMoaVYx
RnpUYEEmO2FIN0ZmfSFtWHQ1XjNtMiopUW16bVdeWGw7JSRWJTU+dC07WEN2R31YcnQ3TWRvSQp6
Tnw9IURxaVlKRHVhUVY8SUY4RGM8fWo3ejJFVGhMan5Yezx0bj1gbEgwZ0FuZUJOUGRPT2poSWkq
bV80aSVgNTAKekhCdHZvaj9zZTteUSlpeUd0WGA3MmNhPkxhdWBsSz1yemx6S2tHJiFAIURoMm5Q
KFY+eHtFeWlRZmhxTGNMcFlZCnpAPHBHPVVyUE5TTC09dGhnMkJ2R2pfbGRYdmFeUFhzQ29NT0M3
ellSYk15RmtyVDE5K158aTYhRzZLeSg1KWpfXgp6VHxDIURhY3UwT1BSIThVKjtCR3dYSXNZcDte
JHchXkVZYi1lazckbFZhM20+TmJnRkM/WU9lZl94LXUpb0w0dXEKeklsXiQoPVJrV081d0RCZCR+
YW9JaiFAKys2dGokNHZ5JWw9MkMxdT9MXnxWPCRfUkAyS0JSfnM2cDVpKTIqdHh3CnpxRylvMmhJ
KV93T3FmdHVWZXo1fSs1OW0xeW58fkVGe1AhRV9iLTdEVHAoJHclNDMjSUxse1k8b3VZcnxGWnNt
fQp6eytae3ReZG5UQWsmSHVzJTB8U2RROUpMR0ImKDtQWVZWQzRqMXZHdykjKiU0Q29eej5eVW84
Nk9wWDN3Mns8NFcKejZlVnk9MkpURzgkdUZmVzEobz9JcjlSPWZJPy02QVQoVXJsKVFEOFJAYTJ1
KXtwRioqLXZWOzQmUTw/Zj45ZE5xCnpFQXlAXmRvOX5OJDhqakh1UWJUbjNpfVdEPEIjc0FDTWh0
Wm1GViMlXnlFfWJUYCgheCZaNE9XcmNhNnlqaEVwIwp6VT1AcXh2WkVCN0Q4KzBTI2lFYUd5UW1f
fHY/Jm9qXjhSd1ZkaD92IXMmb0ElNnw2ZFVoYEclKztZMmxodksyK3EKekBVbitGQGNpQlU7UU0j
OFg8ciYkKkJRLXc0Mj9SdFNgRm9NSzFFZzJkPC0pLTVuJVFuZ1F8dHQtYHhWKXkpMFUrCnpWK2Z0
VEFzYmNvT1ZTKHwzb3xaRlU8Sk48dU1+c2tCYytPfFNJUSp8T3pGNSVlRE87Z2ZCQ34td0F+MnxP
RFJ1VQp6P0VIRVIoU2I9LTMzWColaDUzSXFSKTszRilFTXtASmxBOCs8UzNXRD8tSGdpe3hJUiVi
SjQ8O05hXjlgZGhse2IKenUmbzA1cVFQSjsmZH52fGx7IyFZa0stOT1oUUpVT0g1RGNeQyNtUnUz
WEtBV1hARlVhNzcxb1hXcFM4SD1VU2ZzCnomRyZpbWk1RSViMSV7enY2QEJ7Q0hXe35xI0g+R351
NX1zVlNUJX42MnFTKkMhfWxDfiZrMTdQJDdXJXJrRFdmaQp6VSl9SG1ANEt2O0JNMC1lYnEhI3Na
amoyT3F8NCpgXzxtNDYoMFV8TjNVc1lmRT9IUEVPflYmb3tOZjhRe09mbUsKemBBNDlRVV94cHZ5
MyF9YCl3XiNiN0RLPzRpbnd9bFE/PmNHQHJYOUZxMCVINCo2QDlnYyp0a3p5aClzWUBsYGE9Cnpl
THFJITlFMWAwZVdoPlg2XjQ9YTIpO2R2QjglZio5N1J6PChlTT13UGw9KzNsQmw2XzZjTUN4XlF9
UCZlY1Jkbgp6QH4/VTl2QiVrZGFGfXA3akdgek1pWE1ZMGhmISpZd3RqP34kPiRNQylKYGxHZDU9
Syk5KEZOe1R9YjBQN1FXe3EKenthX1dpR3JFSStga1FfaFQrbUdXeyRWO2dkKGxsNyZ6QUBTcEZP
M3g4fGVwcmR8aipkN3RnT0g4ZHQ+RXtfKGozCnpVO2xxTS0wbDE5QSY5a2MydHA0PWZrN1pBclN3
aW03WUc0VTU+YSlAcSNFLXRiV0pSKU5hJDIwYmFZazBhYX02bwp6dTt7R0dvT3xBS0NlMnd2dG9D
ZH54Q1hSU2N+TVRXI05CdUJvbClGdTdwYm84P0FgaSUpfiRQaS1HPkhIUkQpPHAKeiRNR2JFcUVH
anJNT3ZMankhQVJOOF95dzxzR0FgQ2RqK0xYVW54QzIqUVNfSFZkYUtPPGFoOHI3dURMei1Uek9C
CnpOd1hUK3YlUU8rekhVT01pfVhSM1F2NH0wU1NYPz9tRn5pR0NXJmFkRGdOX1k+dzNUTnprZEd7
JWtzQVpTcHVAQgp6ZmdXSShwYVhjNik+KWtuT2toJlQ1TkVhMjcjfDIzO3lQMVQ8Q1JJQmNxcXMk
PiRvb1FrazdRSEIockREV2NzWUwKenNBLS08eW1BVT10UDw2VHAkSHZOa2lMdVc2PnpPbDNad21g
MmlvWHYtXzU/Z3lFdTYwMm0+aCMoPT49ajM9eyRSCnpnM247dT1JRF5ac0pWIUVeUTkhS3J4SzE9
QlBRMHN6SzBNKlFBKkZuRTIlbFFtNyRPd3E+dnJKRGR1cFVCR3IqWQp6e1ArajZzSCg0SiVjZXQm
akM1az9eNFJofS07KkomJSRqcjdiUiU5RlMwRE5CNGU4SChfQlJpWFd9S1lfRCROa2sKejFAeDde
VExodVM0c2NxTWVoZk5MNEB8OHEqVXpzXlhnNnFAU1FzJT8lMz5QUFBfVUwmYGFidmBBO1lJRVpj
PFliCnpyTHNJcEJ3bUpUaEVhc1RiNnhDV2p6VFdRTklGakBUZnA7TmJsbzVzR2xAaz84UHhJfnko
MmI8ZGtZKkx0LSo+ZQp6QjNlQ3thSiZ2OW9TYXcrXz98Oyk/Vyp0TGN7Wkx+I0J+YUlqKWhhcVZy
MiY/PTExX3tCNkJCP0BTYDdKTEBaZygKem1Xe2dATip6VTRSZkxrYU9mNnkwbzs1IWJ0dHIhOWRV
QVhJNkNjMCNzb251PUZNKHR+TE99UlkwPlkwNG5efXw9CnpsRHRgMGhYUGFwRXhNKm1aPlpFU0R2
TjA9SEM0PXRnO2tPZmpkKD1HRyptUEpMSypXRTE9R296MDhMV30+NEsxewp6NSh7Z0BxYjlNaVBD
TyNlSEclRThecnN4IWRuXncxNmdXSlRVX19hVG1ZaGk+KFNSQVBFUUpoRGN4bTI/Mm5eVzMKenp3
V3k+b0A/UWBNTGZzQ2IxbSNibnFxIzRWdCQwPmkhSHdVeShgZXYyJTkhK2F4JlJ7YEgpZDVyJWhp
SHQ3QHYmCnpfSDgtZis7cWJhVXViSmpadihvNDRneXNzM3VIPiQ3fnlUZWxUeUFgUWpzQEEyJmVe
YE9rSjUkUT80JjZpKSFiYAp6IXxJJF5NMmpiKThpfXc8QkJCd0dzPkRKbihYZEs5cTduQFc7dD50
Z0ZiRWtjTE97azZqQXJ3NjU5RGQ8RGJVdkEKemRZIyNGbkhBR0M1dUhwcFVXWGEyS28yRCopUntq
NDFacypic2t1JnheYVdnfWZOS308VCNMZUpVb0pEYUtYYiFYCnpPODgmeXo5bmZ9cDRfbypUZHVD
TCQqaUIkcVcyeF9AVUZrXmQrVEBaOXtlNTlObm9nc21iUF4xZjFXX0NAaEF9PAp6LWshS3IyJEV2
ZjA9MjQ4Pkp0JCRyODEkPGpmVGJhXjArPVpZPjB8UEw8PVdsOG5LV3tCJX41SDEqJVorZUpERFQK
ek94fEg9dnspRU9kRmllfXRBQjlSP0h4PXhKdzthejhsanx7c0ZgNl9IcU5oQkhQY2xUTU1NJH1a
QGxuejBgQ0ZICnpGeyFVKVElQWN6eDJTbElXdSpGYzRgem5qM3l6Z2gwWnJGTT9OYDNDe0d1Oz5e
YGxqfEswO0YmPV52M0Z6MlY+Mgp6Si1mRSFSfE5YfEQzQWgxTzg+SlFeV0tiO2VHRzR6XmtlbFgh
Q1l8fEM8aUttM1pZUDtZb2FvMlAqV0R5PnZVQnEKejFIemlYUjBOdElFT3soU0RSWUlRT3I+JmV6
aCVuLSZ6QzEkWS10ayZfSnFtX0R9KlFYbj9EaFpyOHk3O0A3TiZGCnpCKnIhKzl1LXlwQH52eGN7
Pldja1V1Jmxge1BteElAM3t3bHozVWVRPlB3bkglOCEmams0dHk/OGFXLWBIdEEyTwp6T2k/c340
aUUocksmPHFBRVVsViQrKVgraF5QYFIjOD0yQil6ZnsmWj9qYVopQm1RYGJ3aDg9NnokYU0wRGhi
fVAKekxoJH0wS3BZNncpcklETWAjVSVPKSVxOVArcklVMEZXa2QxcTdScTBHMlB0LXs4dmwmPDhl
a3dlP3JCPDIldkl8Cno+fDtHeURjeihgQWp3XmhyRHIlKnJETnchTmN1bHJqTG4kSjxHIWx8IVkp
YlJKVn08OT4oZ15OQ3ZEcXdiNDtCWAp6PChQS3h4P35ATmF2RWorcCFoPllMezh3bmYhRT8rPXxf
KU1mO3Bsd2lFantlMiNhR3shNzI2aipUViRxQy05RXEKekcmQlo1cGVjLUwzPXBXcVo8XzRtYi12
VDJwVEdwKDIrQT9aSUcpSmh0Jm57VHwzQmhAa2JSdUttV2NvVzAwMm92CkpQREhMa1YxbkNQey0q
IXsKCmxpdGVyYWwgMApIY21WP2QwMDAwMQoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci1vYnNvbGV0ZS90aW1lbGluZS9yZXNvdXJjZXMvYW5vdGhlckltYWdlLnBuZyBiL0xheW91
dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS90aW1lbGluZS9yZXNvdXJjZXMvYW5vdGhlckltYWdl
LnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yZDFhMGU2YzNmNjVmN2JlZWViMzliOTU5ZTBkYjQ5ZmY3ZDkzOWY5
CkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCAxMzI1OQp6Y21WOytHYz9TSlApPGg7M0t8TGswMDBl
MU5KTFRxMDA2eEowMDJQPDFeQHM2Z29tWTQwMDFCV05rbDxaYyUxRk0KemQ2LT5RbUgrKVlgJUhK
ZkhQMk5eRHN1dU0xNCkyREFRKFUoNDJxekwrUzsrKHduNGpfdylPUyp2bGFVQmVmI0JZCnpUVSUr
TCoweW5PdT5vYX1LX0pTTUsqJnR5dX5NbmpKbDxQKElgPlRie29+eEtCcVR0OURCIVFZJnZVQm9K
IWhaMgp6Jit5JUF1ZUo4dD5uZlo8JXgoISt7UHxVcnt3IWo2Yi1FXiVweyVlRWNjbVlFYWQmRi0m
Y25yMW8rRzZebGIwfW8KejNBYGIrR2dWUFZMTSF8SDRVQG18I0Q/S3JQajRFMHo7UyhoVz1uTVh0
PUg5bGFlcnMtK2ZhUCpPdG0kRTNBYFBnCnpHMTZiVXB6Ty1TSi1PXjc+LXY1STZvS3JuIWBXUndj
K14qSmQwKS1Qb18hQGRMSFleMkVBVzt7fDd4fTVgVXxTVgp6NW1XVzBsIUh9Q3ozanMpbntHZWFs
VEZvRE0mZCM8QylBaDt5bGJHbSllflAkO3pVJU5hbVQwVWVXa05eYmp7cSEKenEwMnZiLVBOfnI5
ekQjeS1DS0xWe2owOU8qP09TeEM8QEFQWlRkKnVZKkVeODxON0JzZmo1bWFNdFZoMlF+fWZlCnoq
RFh6LWM7QXhkem4qZDQkSTZVJkp3c2kpeWo7UUVyJURUeXBnOVF3dWpvN1o7WCk9b0c7cncxVkI1
fEVvbSpibgp6SEB0MWohVGc/NE9YbEMrWkIxWVR1Wj1UOGBtbkFqJWclfXtUe15HajExcW4lX0tI
UXpLUjdSNXpmZShCe2RGcF4KeiFMQEwkNSFgR3ktc25Nd3k3bS1+OU5OQ354dEk0cHgjczFyTjdu
QW5afU5PNV5yQW11eWMyNWcrYWk2O1JQK3hsCnp1ZkcxSCpEVV9hMXhxaG9VZnBfdXA7biomcyoq
bVFtQk9gQl8pWj4+cHJ8T1NpT3xEbnAtTDIwTV5PYVFFbD9hZQp6ZkhTejIhTTFnVU9gQTlXPyV0
O2tlZ0JDSz1fZjEpQDlve3sxbTJCIVBtekFyKCZRRGxlUlMhVW10SzdCI3FyNlAKenAoYmFQaiE1
aihWWFdjM1dPfXhmTz82PnExfVdzeWMlQmM2eiUmaHZhMXR8R01MMXFmQ3t9QClYaHgwSFU/aUgr
CnpqNXV5I2tiS3QqajI+UlloOC1RZHcmbVhVI00jUn5kRWdBKV9YT1VCdXBObygkPDBGSDtHYlJI
bkVwZXheUUs4Wgp6eGtsN35AbmZeXnkjQmd0UzY5eHlRNWU8cDBSXnZeQkh5IS1wfDxEZ1pyalM/
X0lDUkVONX5YaEpSZ0s9cUd+Rk4KenFNI31POT1lYzMhI1pXPDYqTSQ5UXtUYD9CdkZTUnRzenR+
Z0srZzZUeCp6SSt2RF5lXyZ2e2UmTEp9TVEkKFc0CnpHeVdoWkBYbih8ZFZ+VjVDcCVuRUtJZU0h
TDBgKHBLNm00IUd2QEdrUT40RnFWZjUwa2VkZENIS2xgR08meUd4OQp6ZyZIbyR2cSNCeXpmQVk7
LT9EeDQzK3k+P2dzZGZ+cztyPkN2NHkoWTh0TilkajhGYHI9X3A4aSYmUDh0aWlJQDIKekxseSZs
VD9gTlBCUiFrPytEZkxqd28rREppM3BWdXR5QFVFWmEmNC0wYUFNKFY4aVlkZU59JT0/V0IyVT5L
UlBuCnpVNGsqdkQrOykta0s7KnZBM1JeQ2k/KH44PzwtJmIoa0VJdy1mbGFtUDVNdD1SYEthQ3xK
N3lSWUI9e1ZXMDl0ZAp6UUd8Kjt2WHxhbmtGZnNQMmlnM30wVjEoNz1GRk1SJTt9UzxEMm8jfFR5
b2hRKn1PdzhZdkRMUFFZdDhseiVXJXAKelZVek50aUo9UiExPDdFNEFOdmorV3VVSzwrVlQpSHIl
JUImMWc9T0BKP2szY1dpPEAje3wkUzBZK3tyNURIPjtBCnp7JnckdzBgRFVERzlhVzczYTttNEl9
K2NRSUcpNkhlU0NAU2BgLThNcUlLc1RwRS1OenQrc1BvcjJtYGlFNUNVQQp6cj8wJUxhPX5weDg8
cnk3MHtQeUpaMmpHVEAkfVBBQT1OMTdGSX5pfXNaQiZmOXdXbWViUX5SR1M5XnJ7T0R8eWUKenAm
fWghN0skMU5NYU9xTkJ6Wkk/UG5aIUJRSHlEZjQlMXM+Qm9rbzxoalotU2R4KU9TSGx7VHRYcyQx
M1V9JSlZCnpxfil9cGJ1cHR5VXU1NjVYWlRJO2hsI2dkYCZSRkwwYEQ+PzNUVWM9dThHcUJVPmgz
JiN2cjh9Xipyd2AkNVghWAp6UGslWjZPeythYE5jenVUUX1NO1dUWWNHR1JwPFVLdkJ2Wjg/S0RG
TmUjX0dqZTJjOSs0bDtsS2UzbVlsS3tOej8KenkqPDRBTmBkeE42RVpURmBzUCpeRTskUl5jMVJD
ckQ2Zm9TNyVHa31hYTwyWUBma0BLPkZwWSVfdm00PUx4LThzCnpGdS19fGdsVFJ7KDlAUzslalMo
fWV1fWVhKVk5MkFmQGUwZF5wZmt5NUFJfDQpQFMqfTtoV0pLdTYob2lKJU0qSQp6NmhLdUtxOUsp
TlNTNCgjPSRlOX1EMHFIQWUldFpNN280QGoxRHpsSTtueSE4YyhlN3RDVF9laWBLZj1wP1pXP1IK
elNvLSVPRj9qYEVWU3VqZnp2aUt6ZVNeVktoYnZZcnJscWs4RD83K2JUU3dWP2JVSFFERUBKTXlu
VXAwPnZUMks9CnpSbTNYVFI4JU1NOTFrSHRIKnxiSlJSdk9sdUJqTk5WNmQ7aW8qZjVpK3E7Yzls
WGBqbyNSKEZMN0BJY2pxYFE0UAp6aXt7akV3MERJNWpLTzdCLWhpRHQjTVo1d2BFfnppRzMlRFM8
JWN8aGNQfHRMT2tFSSpYZTZRPG55VFFzbDdqOHcKekkxKHdudTYkPHIrVjZrJHFBak9nPVc4OFVI
WWFAMUgkSGRIVzc5NllFblllSXFxdztxaiY4a3wyWT4hO0pRM3JICnpPUDVkP2hwejVeOXs3RWZh
TGZCeXZ9N1VpbjFTPj8oJjs/YUhBJjgwSmU0aSQ0PV9CRUxqa2ZHaTtCdVBRYz5fcQp6JV98QlJM
UDAxQnh+YEc0RVNfSnBsaXs5P2VESG1lTUdJOzxhRy08alRoXzV+VyhEbkNEY2JyeEs2dmRGV0Nq
a2YKemV0UiMhY21GcWB2Wi0oWERObz5DMzg1Jk1oOURZTkYqRjYmbGxUJmw7UU18cXBHJHhJMlZj
RzVBJGJ+KGZBdiY1CnpzfWdHRW9xc216UzcpN2ZlTiora1B2S2NaYlp4dHJNfUspWXN1QWI/RDtB
TG1kMkhGPCVgY3lBV3lTQCFGbnw2Rwp6R350b1lJfjBwOWc5QUFWMXFUVnRLZXZAbypyMk9CTyk4
YmdHJkgxQ0BJND5qbFNvaEVJVWJKVlZjUS1HM1I5PW8KenFaJjstek5WamljOTt2I1lhJitPI0lf
eEtuQT0qeFhlUCZvWjNrRjVaI3QkTkE9Ul5vQUBjJm4+JipnQjs1YGNvCnp4U3BoRmAjNyNkRDFu
Z2xyTm96dHAkT3hIdnpGZXRgLUFWQnZoUipOP3MjM3xwRzB+RXhiNTJOZjR5U0c7O1pUeAp6LS1a
d3hlTExedG5NYn5sPChwaTMoWWVHejRsaXlWPGlTa354YihVa3NJR3tUJnNoe0w3dVdJZTlGSjdH
SyskcDsKejltJXQyUn5QZGFPJEsxXiZUaGdYMTFaNkVKaUpuUSpZJEI2NF49M3s1QEQ+SUxzZWFy
bm57eSpgc29mKnNTJWJmCnpzVXUkMnpePmdwU3ZhU0cxMDkxTD8meFIxdFhkU1NnOUZfakJxdjsl
ZjY5OyZkX1MxVTRNTXBCSj5RZTRualgxIQp6XjR1JClgfHdxPko3MTZaQ3l7Plh0bXF9SFM1NWxu
KVROKFBxamlmSStXUlpFS0p5Y0wyNkhVQzs5TSU9dTw0YVMKejleTnZhM3MrdUFCQkVtRFpIaCQ/
JE12dXNBSjNFSTNvYXU9Uyg7bGFYK0pXPXsoWEo7dTF8a3xtUWNqTmIlTF52Cno/Y3VtU3cmVVp2
SzMzNX4ybjkxN1debU1AXn14QG1uYkY4MlltPk42N3Qwbm1wJkJ1YzleUypFeGgqYG09P0Rydwp6
UXlXNWY+M3RrM29RKW8/ezZqd1hjTUxWPDF9aGQtRnJ5e1B7LWJ+Um43bHVCZCM0S3RjeilvK2hy
cmItQzNyclgKellRISMhbHJgTXs+Nj0kJT96clFRUT1XZjlKYmw7QGBuQmhtZVlMNmVZJE1pbUtJ
ISh+YjluMVJib0NDZlh1JCVpCnolT2V+PCt7M1M0biN8bkElVGF1WHpDSWhOQzxyOD1BUWM0XjF5
eFpIMm9BUm1xR31veVJTQk1ae3QlN0w8KXJnMgp6TktsYXxLSTEoVzFyI1k2Jkc7QXppPX5ecyNp
JXNNb3FIM1BVeTxnS00rKCRlXnwxVz5uUGsoMFdWMSlQOyh7c3MKej5VUmdKUDFlJj89fkkyPSpK
TFpjJG13YHZaKDNRO2w9fD5WYH07PzFjQ31eTHU9QGAtNmFKUF5VMmJzRyU2YjRFCnpVSDdJTzdW
bkFuLVZDRyEkTVhTIXE3Yk0jSnxNS0Y9OXclMD5tfX5FOXc/bVpUeWd4RGJFaWUjS1d8I2FCfmA1
Iwp6PEt6YkQrd354UW9kOz1iWV5KYGtuUzN0SUZWO2ohKUxsZWJRanAySFdPNUdxeWhBcWNsRjdT
ZGF9ST99NXl4QH4KemhZZzFNdioxVjtvalp4PE5tVWRyazlean4lR3RyQlJseTtqdm5rfGxAO1JH
U1VTUnQ8RT8kMkolRShja1p+WjlOCnpoPXVlYiVzIzc/cEZBOTtxZFV1dHYoQ2Z2NDRQfT4lJFN0
cWNVeSlqazc9QmgrKTgwXipKKFl0RGZNQ0l3I0tMfgp6SF4lbz5tISNXbUgle1Y5QTgjY1pJO0do
JmZwLURNaChBVm4qWW9nUDd0TSVYZSNNe3Y8UihRP1BIRXRjbGl0dTIKemFzSiVjWFhfZkxENH5q
SjM/Rj0pIU9tVHs3Xz5+RGo7WXheXkt5YVMrX31gKE16QWZGPmU+WEI8JncqfTxudTB0Cnp5aEZh
PWt9SjUzPTNPJERoWHxSZHJjUU5yakE9NyE3I1ghRlNSUkZmaTxOVUk8WCFSd211JHt1c0d0KmFk
JEBWKQp6KjlmKW08bCl4VVNmaHxteHMwVDJzJWsyYlcpMWZ9PjdjNURyZkV3X2tCKU5UezNac3tI
b2UwKE8lKkMteHVAUkwKeiErVW5+NU9AOG9qa3x1PCN1dlZgbSVEen1NJFluPitaeUJRM3V7ZylV
c0cte3c+OEcoUTtaVTQwQDBBbCt9N0JlCno+VHFNeyV4I1VtdHVrWnhSJiQmbmNzRH56QEpqS3d6
Vkc4cEExTmg/c0BBWDl2QEVQdDZoKnhIb05ASkxhLUFgTQp6UiFkfD5SckE/Y3FkZzI5VDEoTmtz
ak8pdFN6Yms3WnpuSjhYcmdzeUooaTxUOVdAIX4meSZsJCRUM3d5OEI7MTAKemRfX1QjS0AzR1dB
KDJ1dFhLbyRPenRCYzVZYTxqO2RfVzE3UXgheW44S0ojPWVDT1IxeVc5QnJ5dzVSRXRSTnlLCnp3
Jkg/UkBQUjRRWWp8O3MhPShvQCUkdzBuY0Ekb2tZQjZVQGwzbmROUi1JcVQ/RCM5SkFNR05QWG5h
YyNhI3ZmSAp6JEpYfDkpNT5+UUVVTXRYSDliSDtoKT1DKkkpT0MoQlFgJkp3M0EoSlNwZEhBYEJ+
Skk4e0RfMWhleXs5UCpaTzMKempuQl5sO0YtPEN7T0hrNjBSSDFrYko/JmYmNXNgS1dOdkdXRk1Z
ZmZmVW99TjBseEghVjEmdDg5KFZuO2pyTntYCnpqP3pGdDxmfHtOVmIhd2dAcUliVjxGVTI8QyNX
UH1gZ3JSSipQWExHP3B4RXRHbjxGVV91YUl6eylCcVE/JjtrUQp6VXJKT1puN3J+bUE0TzNSc0Bg
PFlySnJCQF5wOExKTzx0d3VqUTRfYlN8Y0IqdTF0bV48dCs+IWV2YSh1NUQxOz4KemBZQzlkJi0o
Mj9CaT5BOyY9SHpTIVMqP0ZHKTFCNFFNNWdaUFUoTnEhIUVrbU1Hd2RKdXFfdXcyQ0Q9Yz5Kemsx
Cnp0fFhUKFZpJGFoTVR1M0FxK0Y4KWBwZipxZiZVTTtgdztpblVyZjgwaGcjNG43QTNhajxKZGtV
RFQoaCNObU45Ngp6YSh4YG5fbyElXmh2JkpSSip9RWQmY15qTVc7WTZ5KVB9ZTlBamtDaUczZnwh
K2xgWiQrWnlCMWJwdzNqJmg2YXcKenZvPm5WNFF7KH0oenMrQ0JnKjg0MiozJE1vNi09QjQzcTFf
TF87ZE8rQT00I2QpdGtaY3hMbDNJbTtzJlFkeEQxCnprPitAZTVxPykmbWUxYWBpIVhkPEZTJnhw
TylLa0pHVXIkez5hTW03VS0tXm1LNV4lRT9weENuYmUzaHU+UnojXgp6Zj5xMF49XndIQSFndSFh
Kn1IYnBLbDB2TCQ/NXdOUDFTJmFfKTwjWmxgWGYxPDI0bkVxTVJeZlk1PnUmRnNJYXEKenVCZlcx
TVk8TmY/T1JiKjlXXyEkeXU2TkZ3d0Qpbil8MEYqQmFgdCtrN25yfiU7UzUzQGUwUz5NYEx+PkEl
YWclCnpHNFJMJHNHOHVzcklYcTYob3NlJjgmbi1OV155JTtAcXQ3NEd0aSU1Tz5fIWQlSEVHIU95
Q0hSX0AkOH4ydEU+dQp6cV9RJX0tdTY1bGVVZUdfd2Q0bVlzSUN+TEpnKENAPFN9Ym42WlFMRVZN
dCFiRE1xKWAhbUQ1U2t+djh4Kk40WD8KekJtQE5DdXNoOT9JWX07QVJMT203ZEtlZjleODFYRGVS
NiQte3Q9cythJHtUX0k7KFctUkZaVVQpV3tjSFpkeklZCnp4KytkSXE+ZkFHfDU/KlImaHA0djk/
eHpiM1ooWGhIUkdONGMmVUg1Rzskb1QhbUw7bmMpWHQ3SlQhanE4K05CeQp6djhkdi1wNFhXfll3
fjVQTExHUiVkWklzfkxebEJfMGBMSnZCMjsqIz1SOW5zMl9YY0k+allZZHFTdjNaO2AzTG4KemY4
O0N3NFVEXj1HPVM9KUtFMXdOcEEkPmdrc2RoNj07JGJ3V2VMSiU0Vlo/Py1hUzRVdVpyZmxMWkp3
cj1pfEIoCnpqYFB9I0t7ciRpMXNCaXRnM3AkWlZIIytmVV5IRSV3bDI8eEtmYUo3VF4ycFB7YWtx
RDJWQnptSDJxbzBNbkE7NQp6Plo+UmVuPWxteDJOeDg5XmdNOEVlQWxCbUJHM3tsMXZrIX40eGlS
MGklezdsb1JSJUIpa2YoVmMzNChCZ19oKGQKenkwaVUrOyZvQF9NVGAtb3o1N0h9cXJFJU5rfnp0
N0ZWTjFtRUhARGxhIWZ6bylzYGhYSCN0NlBFU1ghenVDXj5XCno+KlUyP1okX248KztHZ01JOT4l
QkJsWW4lJEJJUTJ0WE5kfW5zJig4ez09YE1POHYxZ3J7eEsqemRDe004M2ZFTwp6IUkkSVRnSkBr
cShYazQ8PkhUP3ZfSC1qY1JncCshTiFwanlQWDc/X3UlYWxJbCt1UzE+NkB5SU1Ud3t1allKfUoK
ejlOQ1ckMkFUJVpXRjZxS3IlbElvNT9DMXoma1kqJVJSSUVnRih5ZmFzb3xSMURBISYpbkhAWCYq
dDJoZDw7JG5BCnpVX20yNHtgb2ZjP0g8SSoqKGwqU2lfY2QwMmp6UjFlUU94OTRZdWQ8WV5yfUJK
I3N6flNJMHIzQzwrUF5DIWZiSAp6Mkh2Mj9gWnhfIUR8ekpjU0otaFYjMS1mMW42Vm4lWSZVZ1Az
NUVfMXBobHtoKzdSWjJ7ZkZOJj19JU0qdlpyKXkKem8oazxmZz5sdG4kKCRyTDxweilTPGl8VX1s
PT83fT4lLSV0I1VCR0o3RkY9NlJaWms5an5fa1NOaT9MNnlDVUM+CnoqenJuezNvb3EzUVkrQ0V8
QWI9LUs0T2djQz9HVnRfOHo5UTN5NlUjUjgqbmljdHQ+Qk1rKzJlTFd4Uy04Y2hAQQp6Vj05cnAr
Ql8hfDNacDZ4VUVSSVpTNE5PcG9LVW1eKlU1Nll4MCtEY0FZVHhyclg8bkBERmxRaHN0ezxwTj5t
ZnsKejRkZlh+Nn1qISFeQkVrPF5VNW98ZURgfVZHY2NHKF89MD48WEY9bDtFP3hUKiU9ezVqR1Eh
SjQ4VExkYnYoYUJjCnojRSM8fDhsTGF0eHt4MnFhbmJUN3VEV0loUm48YDxRRzxeNUdgK285dURw
NSUhclgtNypsMT5ndmEmZGliQ2pZQwp6USZVQHVjJT5iOV5fdHomIWBOXj9YNlRJI2BOdkR3O0Ny
Q0VBMUApPnk5PjsxamQ0ay1qJExpcGFWYkJ4Wnw0fj4KejV8MUJzQ2ZBM0ByVHRoMzlzOW15UDhr
ND90P2xRVCZCTGVrLWkpYldRfGlPeHFzezRkXmZRZ29mam4oNUtaS31RCnpmWD1KemltYHdqMHd4
OzVWKmc3VUBja2d0UiFXSD82bngoZyR8KWk7VzYzUyY/UkA/fXg7YypZaW1vWkd2MXBoPQp6QXh9
MSZDRVEkMiRUWk4qMiV8JElXVU1lfE00PFI4anR4PSlPJTw0P1BBRi1oM1BHWFprVitSeHI7R2Z7
SGBtZUcKem8jRTFwcipQLWpwQ2REQnFxcilUVlJHJjQtUH56RE5Ucm94UkVoOXRTQjdGZCN7Un1A
czArNmUyfU4tfGszYCVnCnpvLW5hPDdVZE9ESSp3LTl5P2REU05SZSU/XmY3Zj44UVY3WFFNYiZY
R05oeDElODVpYGMlSUtfRHV0ZXlqTnUrVgp6dCVxRClaaktZN3JyY28zb0hGTE4jc1YrTXhfJSVx
WX08UFpPcylAZSk1PzE4VGhrTSREc3ooS2RoezR9d1BuV0wKemUqR2klXyU+RjUmaGxRQEJYaGRR
U3NzdEI4KGBKNFlDZ1FPb2AxanAyK149US1teEJDK2RwMG9WOURHdjQpK3ZUCnpiKHtlXjx8VyRJ
bVpmRzwxeV41S0xuTiNQQmh9bkBYaiFITjkzOT0wPSUtQUVGX3ViM0w2YSYlPXdzUHMwJWNuUwp6
NklQeipnT250eXJZOzRaUCF1STJyUyFGa3NmNUZaKHZYT21xfCFOVDdhfTFJSnJxWSg2fCNqOHhu
Y31RKEdpTTMKeilkWm5YO09XZH05RkJIcCRyTnBoYmBVPSFSRG9zdFdITDVDe0BIZDBkV3dXWTF9
OzlnJlIpOzBAa2REKEMzIStUCnooVVQrWEk9bTlQa2VnUDJseW0zTCNDQlllNT18OSFiIVUwX3BA
VkdSR1FoekBxYk5jX1JSdUY8KlJYJXpGbmprTgp6VyUxbDw+WTg8SUJhVWVyWGV0YyVBRUNOd0hv
Ny0+VEYqR3BjVFk2Zkh0Ykd3LTxxQmk0QkVTWCtRd30rUEdaJXYKej5Udl5kJXc+NmV4I09rJm5B
QUw7PFFzT0t4dFpRRUhFR3FkWVgwTChiQWU7LSRaO2NmWlU2WVohZmlLQjs8Ml47CnpPbH1Bfk5k
TkpyeCNKJDRER2g8QEhSaTxgYktBWm4mYE5wMWx2bUJIemRERmc4VUhnNXAjKkVPV2hxWDxqOHNl
bQp6cTZBPyN6N3tzclhoO3wzayFZTjNwQDVHLTYqYElATStrK1k3c0ZGUk5UREcjZ003aUp0MmEk
NVdtQipgcSVZQTcKemZmaUVIRyEwTXMybV9gfnVpfV5ZP0lzY3BRRkp2dmNCUjZ5IzJeb2U0Pkd4
OTZXT0N9cjBwVnk7PEk+Y3w2RmJuCnpXaENNeyoofmhkR3Q2VTtBTGUoQGJrZzNJIWdwT2hgS2h5
Y3tgb0Zhc1VwKittbV5lPGN6RmR5SC1lKDNQXyFfKgp6cmxKWiN8RypGcCV7SDIhIVMtQilkZ3w8
anxGZm90WCF2Q0JOUEJuVGx0eU9HXjJYaGkpI1YxYyFsQDxwdUNeP24KenhPNGpuYH0jLWhsbEh3
e2BBNjNjb0hYQCtzJld0emV+aWR1PHhhU3RvJnNPXl9GZzc4Z3ZhbWduYSNyfHNBQFVPCno8RSNJ
OUFhSkxLKSR1eXNrPztkNEBmPClYeWVlcW03ezg/dENgYylBKypjSjVPNWd3cT57Y3swKGhOaVox
OF83PQp6UV5MQjY4SCFldCVKdzBJaWNrZnI5enFjVVNIPnkyPD4oPXdiZ0lDU0x4VChyPGdraTlp
Syt6Z3ZNfDA2YEhZN2kKelFrWEhqa2BHKXZnVH1APCFgVUs9c2orQiY0WGJhVFBqfi1wdTNMMElZ
d3JJa3tyYFNEI1loPj9kbjxAMDg8OWZyCnp7N2M8REBaZHBTZXp9KzchNkslcVFDKilUbzM7Nz1m
OShkOEFlaFpiYkpqYyklYGxMUGp2X1BeKWtJTT41R3ZgPgp6NDFPXzxsbiVhVXpiNUo1cyl9KkV5
N0YkcG4yS19gJDZ1QGJuTllqbEU8Q0I/Yzw/STY7RTdOS0RCeWN3Nl9yPUgKenJofTlHbEI1P3hG
OVg3cVkqLUNZSz8qWm80VEdhVyZPTT1gWTk+T2N4TmVjb28/IX52NENnSkxoTHVaajtxb2FnCnpT
WGpAN20lSTdoMypFJXhBdWQ/ZiRUZTNfVyU9QEU4dFVWMC1xd3B5R3xGcHJ6Vj9zakY+UHVNdTJX
JEJeVXFMYQp6Y3d7dTZyO1gofS1ZbmBXRChNQHteUF53dnJobXtQb1lian49eSo9eCFISEl5QnhA
cEFTcjFoZVh1OUJOdz9KMSQKeiRtZG4/SiVrb1FDQFF8TWtrNUBgVyY4MHcjKFZuJi1hR0tNMWpz
JVJnNGJsZGx5SUVlKGk3Mj5qKnF7NE1UN3Y4CnpHMTdhIV5leCtTamFXVEtHejA4ST1uO2UtITZ+
R1cjU0ZHcE1yVzdEJWs9Wlg4KW9zaHgxWXozOWZTUHh6NWBzaQp6dGVIPUxkT25MNSllI1A+NmZL
WEBPcCpHVTd8QyN5PiNre0shUCRZfmwqP3R3cT1wJmw/UDViPklmbzAyaUc/ZF4KenNFP0QpeUpV
KyM8KDEpSkw9eWA1IVBLJiUzQ3o0aVNBQ0Z5JVR5PmZqdVhTc2J2ISRaUEBeRHA5TTh1bz1FPGY5
CnpEN3FsdGRPb1dPeWhCaGBRSlEjQzA8WCFicGVTUWpEK3F5KWRlV083VFNPJjZDKWZtbFg0IXRS
VV54WkZ0UiFBRAp6NkdjNz9mYlpGT3UwfmFiJURsNTBOTShrWktEKENOeyQ+ZTN7PmVAcmRpVmdU
UUhOPzVlIUhmRi0jcFB5WTBXT2EKejVBbkZjWEk5VCspcz5TMCpzXiZ1PnRCMlVxM1cjUDdIOHcm
YTtoN2ZhRDBgT21vemJ7SWdURkU1dm84NDVzLWIlCnpoKjE8QWQ9eW9uRDFsfEo+bHZjYkN1fGxg
dkBrZWU3aX16QzV7cX5ZNUF7PVU2VTQ8Q09UajtaS05iYFRzd2YkOwp6dWJ4cEtCaVkhWVZAcG50
RkMoUXRacGNje2J4V2xjMElnODszI3B0bG9VPVJ7cj1OJU5fYGwofjRre2o9UjdvWl4KenpJdzt8
X358YldeNW0wOGM7Q3dWUy1pTk9VKV9IX3lZPnc4SEA4Ml9qe087UUV4MCZeQVowXmtNVG96Pl4m
QkQqCnpqYU9jSWg0dCYjO2BzKG9LVk0raUp9OWVoS35iWURVc0E9QWBFfDZtI1E1X00mKkVwbFpi
S34qenZPMlAzfkokXwp6OFlMcUlmI3A/Rm9BOVlCdnIpN2QhbjRRfkVRVXVObDV2eGNvKHp1Q18/
cjZzMW00fHtDdURWSkVaWEpSS0VXfCoKej9+ZmwwJmg7aElfczFvQD1lZ0dMbTEmKyZBeUBGYk0q
NztBZWVSV0xkWUhXQlZmc0ZiOHA4Q2B7UC11bz1aRjgoCnpQaW47RU44ZXdgYj1TMT11aXhJcmNt
SHotQHdoPSVXZldmcWBuT2EtdndYaCU0fndYKWpqKCZ5RTtnKXgwb3lUbwp6PShreDhjantEQk97
VDBPJUJtfnRYe2R8eCYpP2xhWkZQaGQ3dTIhaHswNyE7OGJILWxMfUB7YTVNWUU8VHZzOWwKenNI
KCl2YEFuVW5RQiFXQT13KUNYQzZeZj9RfUQxSU4jQyVBcjxUM3QqcWFId2JDNW9QVEI5ZitVTCpG
WDZuNnVICnpRbDd8VGhvcHorZCpoUGN2a1BnQz5sR1R7cTtsVGoxTihNITtaMlExcyVNZVNqOEk8
ZHFYLVN+WHtxZHtyb0lsJQp6RDY7M2tEQnJ1YDMwfmdaTXt7R0c+ZT9gJUFZX280RHgzSEMhMWIr
TWNsOUk9OVghQmA+ej9DaWs3T2hoWDhBP2EKel87NW9yKXMrIz5ud0AwcD9oJF9XdEhVVVkhb2Vk
czRzey0pRU1eaTg4ez5YanAoclJTaD1OM0A1P3p4LSVydEh4CnohO0M0RDIkXn0lQlM8R3RTTUxa
IzJkdHRgKkkqR0Apb2ArKGNMTUt2JFAkLTEkcz09fFk2QiZHfEsjQEBCcG1SQAp6NGNUSVRxXkVT
MnEqUyUrOWA8KH1KZ2A/JT81RDEtZiZQSShAR0p0fCRsJmEkRXspWD10PHlBcXYhO3VJUkZVfSQK
ellwSEtjcHNHNFQpekVZdSN9bXcpUj9hYCViYEhIZ294SmU7R3dlTyZeNjBaSkZZaz03VlcmeFhk
NHdDVFg9Y2kjCno3PjVxJDg2QWFDKUY3NUhpOX02YDY3O1orVlFBPXZoSGgjJm1XRXZyWHF0djNN
N0JeeUcqUUYzWE14WntDXz19ewp6X3RWfXJnclcjV15EY3Y8NSttTzdoN2I3OCl5Pj93eTdgMkNw
WmljOW1vSDleQTBQWXRNKWpPZHh2SGViY1c8QTwKenRkYFRDOz1nJWk2YCVYaW5+TmJqek1hPT1e
UX5PWjl+eHE4IWJ1MjlVSlhoS3xBS3Y1WDthMGtJenxCQmJNWlZFCnpEVDgkIWctbX0zOzg1eD0w
dzhhVHkkOVI2MkQ8aldOWWt1fj5GeWlCd1I4QmNnfDgpUHM3UGA0ajBnb1FPZF9zUQp6UT1LNFc4
WXJyWXMldlB2aE41Yk9BX2lhbnk5TUE0QHRmWn4mV29FZkpoTT9GNnFgWFQtYXNibkAkaGVaPTxY
e1oKekMxeyQ0VGh6Iz1wbEFpOEhjYk9mKEAtQEhVREhzN016Sjc+TU5DNGJOKz19cDZeRkI/REA+
Xyg1b1FmfDElfj5NCnphPTI/MCgtOEVIKnRsdnJNIWZsPzJYWlBAQ0FIVGk/QVB1JiUyT05QLVZF
d0hMOGAmRCVkT3UkJS0pVzctdFRfOAp6a2lMJj09VyQmSmdoWUJDcDY4RW16VkczPzk9O255QCVv
O0o2b0tvfmJ1MylSTFB7VWt2R0g2ZEZsTUZDTlo7OyMKejFhVVZtbD5DKz44Sz1FLVB9I1FyKkBy
SF8+Z0s7RUAyQ3Q4NEE3TCFxUV9oQ29CXiZfSmk/fWZ3Zk9pTFNgay17CnoxdWQwVUtJTUhyYF5n
IzFuK1pSLT1WMmNEP0VuTCNidEtETShUeS10YGI0ODlvam89JFo1clcmU0prN2JEdz9rMAp6ZElD
MnFGaGVTNFNkPzUqM0pNQ1kzdVI/R1EoR2ImSlpoMG9BSGheNW1vMS00R35BQn1sfld3cSRIRCEz
OE9yIVgKekJOfDtwSGZxJjBMYjIqb0tIT0poWiUyWGFFfjtTNXt2M25wNlF9cD9UOzBzTj9Wfilr
Ri09dWNXQSY7VVQ1MyU/CnpgaWZLfmIpTWRzOHQpWCV3SStBMlpsKUAhdjFOYWJ7RyUmfTAwMHcp
TmtsPFpkbWlse20oWlg0UCN1RzVtJUFUMAp6N0Z+SldNTTNEcCEhSEN1WjN8fmF4b21OZ3laKmNU
cS0lX3JmLWx8REt1ZkwzVkF8IUxOQmltTUR7fU03RGdmP1gKekdkTzt8UGo1YElfZWc7fFMydUlf
MUhCQlVvZkdQcyllPmcpc3YwNjhLfVgrLXp3aTZHNTdtdSMoMSV8YmUlbEBYCnolfFlWKDk9NDw2
ZG5IJT1AJClRN0s9OG1tNFlJeFp6Q2BHUExlP2lfZGJvfipaQ2lNNWFMPk4pN0NRR2x4dEN6fAp6
bG5XKEU/QEtjTXF3P0Ezb19ofHAqaGZ3Q1M/dTF8aEhzflgrMEprU0d3VE9nR0Rrem02cEFve01K
N1QrUlcqdlgKeiFtXzF4ZUR0fnM/KW1CQ3tRU1dJUXF+bHo+Z0hnXnE2bDR9aEJVT1doN21EJj1I
KE94JVI+KlRoPihWQT14QztmCnpGSTY7RUwoX0QwT35XdkJKV3IqdkI4MjBzNmY4O0pEUHpJZV4o
PnM4TXVaI2llVjEoaTl5YWVmZilGYUJJaFNKNQp6IT5GOChXfUtkTS1NVC09LWlgdlJTSDFvIXI3
QEQ7YHB2XlV7S0NqZCQ3aSpLeCVjVG8/KXZYOzdTNCFMbURJVFYKemZuRVVhZXhSNEgtRSgzOSt9
OGEkRTw4SXZ7KFpyV0N8bWRFUFQ2KTxRZkorYzQ3WXlzRm5QPTR2ZVF0ZFVKSSpOCnopJHNKajZ0
e2whQENvaEJZNiZ4fENDdTBFSW0pZnlKcDlLY3ljfX5nZGJsIXpSZz8oRE09Q1BkZ3YxQkAocjJr
aQp6UCRhSkZRN21lPm97RSR7aiRPY1lqP0k/bSk3QEtyJm5eLXlCQys5XjZWd15aJG1lJCs9PERB
NCh2dkopY3JOPTYKejQ9X0J+Z0otOE9sMmNISCZ4YkRSQmJJMiFePXlReXF3NTtKNngyN3dgVE1f
WTtnXnJSJFBYWHJMeTYzJHMmT1dJCnojNlVHdlI4dkpXRz0hIVNpc2BnPCt3NS0zbFhuI0trZEFL
WDJ1KCotYiN5flJEe1pRI1Yldmh3Szk3I2hBdzF0OQp6WmYzZFp7WlcjTTJ4X1BqRlZuJUU/ZHhn
bEV9KDBIWU5KSktpUFc2KXJhVStJSzBRY0Z0QCpsb2BOQTFkby1QcSMKelolMldBQHg8QlFyI0dn
OHtpVjJfc15zZnVUa0dnNkdNSU04SklLTnJRUCVEX2M/bHN2TX1MdkUrazwyNGM0VE8mCnpIQmJC
QWp6PiRhTmhCbzMrdTNwKT17eCQxNDVuUkh1Y3xwTWB7WWJRbVZFMko9aSlnSXIyeHIqPXJVTH03
aTJSRgp6ZSY0e0NheS1EO2J0UnI+PDJwcihnJmRBO2puX01IV1d6Y0Yhc2o2UDM4eWh1X15HVkJ6
YyhlSGRmPWhRWHtuMTYKemlrN2k/K2FBMXBaeEhvWks5YG9WZW09NWQ1Sml0K24hVDcyND1yTUgr
YjVnJnttWG0ha0R2RHRFMXlGfVo3VmBtCnpnSDVRVlE5KHlsNE5PQlBwTSFodj9gN2JLTVcpfEY1
aHxLMEBURVhlUmRob3xIIzc+aSExRld8TWE2TGllKD94NQp6VU5lKWtTeypQT0BTUGx+cXc4Nl9l
Z35kWjg3KzdlaWF2VmZWcSNeZHJfWWFKRnp4ZDIzJlVLdHhhPHdkZE0yQFQKemV+dHcrcTU8S3pY
VUpQYDk1eFgjLT98KDJfMEcqKEszfWAlQ3xtZEVTVC0qKXR+JmlPcGVPPk4+UFlFaHk4c2VqCnpA
aiNJJWlYU1crXn1Kd3tKYG5pZkp0PmorYyVGdy1FTVZLbXFgZDFDMjlOQWBjcEVTWjZ2a0ZnOXNk
TUlgX3VrSQp6JnU/eFkrNDBJSSZSYUItamt8ajJZVEpkRT4lQCNWcGhUS2pGfUl0YDd5QUAjbUF0
S1QoXldPSmNYbn4jcVhSVEkKeiVeO2VuTStnTj8qVSs+O1JaJiQ5cCQ1aWp1P1dMUTMtb2pwJCZH
cmZUJTY/NHU2IV5PMm88NGYhM2c1MzZtayNfCnp4b0R+K3BIRmVndmFgQVJ5Yk92X2Z1ZnEmTHAj
fjx7QlBMYm5NVzBaZmV7PGtqMXo2VDd8bzJsPT9ETVIjeChoJgp6UGdVfk42SXZhOE1IYjhtVm12
T0s3a3x4aXIkU1pQc21yZTJrendKQ0Q5aCQwVVFATSFWQUwzcz9oOXJfKj9TfX4KelExZUI5eXpa
TTxSPXdkaGJAVF4xe0ZxdkcrMlhSMyR+PzYoJjZmUStUNUE2PVgrWGs4bWQ0MEY4bHdBWFBWNkhn
CnpfTTtXfDYxRiFJd2xgMjQ/WlVESCZ4YGNeUVUpYExFSlk8cXI4RnwmMXRXbXRRZktWSSRpR09+
Ki1rX2BMUThvRQp6bFp7YG17bWNqS24qYU5BbHJMSnl4TTZlcjZTOVhoP3Z7I31gc2ZldWZBUW1B
YFNmQkV1YG99KnUhRTEpeDFkRUUKejItblB+SUl4d0VFTmRne0U/X1Y8IXRoV3BZcXQkQ3dQaUIo
YiFEYDc2Jk0oQGt0aGhFbG1ne35pM1V3bSp0YVhrCnp0alRlMWAlRSlgX214OUxKNnlWWlRxZXpp
V014Mm4tQmlpdWU1QkEmKy1Adk88R2g4bntRMT1ta3lzS1hSRTMqdgp6PWdfQTZkM3g8JFI4NDBm
PCZkKkg7KiYyUlN2JmhKUGZGZVVeeCRpezJrJWBvI09oVHdlRTBTI2JvM1FaT0RZNGIKei1KYXAq
bH5wWDU1I2A+ZVBtSi07VFlpYVA9SWVTfEB8TVR5UlcoIzRIOUdvPUppSW5BZSVFYXVyUkIwSnpJ
KiE9CnopXjUrN1dRZDwha0klaHAyRHkxPDcxdiE8YVlDRTNURWdTXnAwfEFOZDk/cXU/KGZaX0Nl
cUdsdWxRSFl1I1A3QAp6QkIzMEwwbEtnZWhVQ1RIPVF6XllqT1k0K1J9dyYhV0AkWUAxVipnJSFF
cHRaSDdhKn4+YDV4PzFkZ05QTkRaJGIKemRfXmlOQmxAJX0oP2s3RkhPP1A+Wm1qKVJkLWZ3YEY+
UUg2aDQhREh6aUUxTmVZd2hpS1hzSFZtZSVxOVlpPWFrCnpkP3tNQWhHTzNhR0M3WTJ4MUclcyZt
QlMhSCkyTEJzakNqNVhfQnM5OD0pVllJOGFKNnRDfWo8d3FjWSkrVCh4VQp6LXBtRHlWfDRmMGVD
OGs4bkxJbTJlV09Xdm5NITNAcDF1S3RrLTs8KWcoYjVUUiRyR083TTYlO0JjMyUoQDc1bzIKeiYt
Y0U9LXAoUzlDcHB3KkE8YiVQbXdjSig9N29Sbz84UmRReCUrfE14OXR7T3l7ZCt6ZVpAYnJye3Ra
M0RqY1JhCnpKO3E8JlFqMkwrQStmUC01dlZkSzYhTD1oOXFWd3RjMSZGajYxSSs/OWVmZ3NrTXpM
dlIzXjd4TkpWbzVBXmNLNAp6NGg9QnpRMFk0UzxseDIpa0FMaUFBMEIjZ3khfV5Razg5YX1LNFBs
TSFLMGFyRTw4SVNlNXRUJCZrJHVzaXUmM3IKel5qSCZTPCFtJjZtfSErQSNIIX1kLVV+JTFnWGRZ
fjlUbE80UUJ7RT1PMksxN0xsRldeMy10RGJaNFF+NyYjeFgmCnpHakNSdXdyKXNQS3MySWFtPEVQ
Y1dWbypiKUNnQ2VDJUVQRTVZZFE9aCYzYWY5TyhsT2JOXjVPamphYlZDXz5RRAp6VSZMfUhAdUBk
Y0dqJXotQCNhO1YpNH1EN2xpZEUxMkNoRThvVFlQT0poZF4reTROcn5QWncyNWpnTVlkI1hYUHAK
ejxHQkI0ezckciNEdWJ6TTlOTXtfNzR0V3NFMWV1VklLOz9NQ3FufVYkUFZub211VkZJO30lTiEk
Uk5adjIpVTZaCnpIT0tjRSYzNGskZDVGSTVxall1KlZ0OEZ2UmVZYXpXYmR9aj1SV3VCLSt0cStw
QCl5cFZ0bEg9MX05dGFoZlNVTwp6X1AqayozKGlWMUZ6VGBBJjthSDdGZn0hbVh0NV4zbTIqKVFt
em1XXlhsOyUkViU1PnQtO1hDdkd9WHJ0N01kb0kKek58PSFEcWlZSkR1YVFWPElGOERjPH1qN3oy
RVRoTGp+WHs8dG49YGxIMGdBbmVCTlBkT09qaElpKm1fNGklYDUwCnpIQnR2b2o/c2U7XlEpaXlH
dFhgNzJjYT5MYXVgbEs9cnpsektrRyYhQCFEaDJuUChWPnh7RXlpUWZocUxjTHBZWQp6QDxwRz1V
clBOU0wtPXRoZzJCdkdqX2xkWHZhXlBYc0NvTU9DN3pZUmJNeUZrclQxOStefGk2IUc2S3koNSlq
X14KelR8QyFEYWN1ME9QUiE4VSo7Qkd3WElzWXA7XiR3IV5FWWItZWs3JGxWYTNtPk5iZ0ZDP1lP
ZWZfeC11KW9MNHVxCnpJbF4kKD1Sa1dPNXdEQmQkfmFvSWohQCsrNnRqJDR2eSVsPTJDMXU/TF58
VjwkX1JAMktCUn5zNnA1aSkyKnR4dwp6cUcpbzJoSSlfd09xZnR1VmV6NX0rNTltMXlufH5FRntQ
IUVfYi03RFRwKCR3JTQzI0lMbHtZPG91WXJ8RlpzbX0KensrWnt0XmRuVEFrJkh1cyUwfFNkUTlK
TEdCJig7UFlWVkM0ajF2R3cpIyolNENvXno+XlVvODZPcFgzdzJ7PDRXCno2ZVZ5PTJKVEc4JHVG
ZlcxKG8/SXI5Uj1mST8tNkFUKFVybClRRDhSQGEydSl7cEYqKi12Vjs0JlE8P2Y+OWROcQp6RUF5
QF5kbzl+TiQ4ampIdVFiVG4zaX1XRDxCI3NBQ01odFptRlYjJV55RX1iVGAoIXgmWjRPV3JjYTZ5
amhFcCMKelU9QHF4dlpFQjdEOCswUyNpRWFHeVFtX3x2PyZval44UndWZGg/diFzJm9BJTZ8NmRV
aGBHJSs7WTJsaHZLMitxCnpAVW4rRkBjaUJVO1FNIzhYPHImJCpCUS13NDI/UnRTYEZvTUsxRWcy
ZDwtKS01biVRbmdRfHR0LWB4Vil5KTBVKwp6VitmdFRBc2Jjb09WUyh8M298WkZVPEpOPHVNfnNr
QmMrT3xTSVEqfE96RjUlZURPO2dmQkN+LXdBfjJ8T0RSdVUKej9FSEVSKFNiPS0zM1gqJWg1M0lx
Uik7M0YpRU17QEpsQTgrPFMzV0Q/LUhnaXt4SVIlYko0PDtOYV45YGRobHtiCnp1Jm8wNXFRUEo7
JmR+dnxseyMhWWtLLTk9aFFKVU9INURjXkMjbVJ1M1hLQVdYQEZVYTc3MW9YV3BTOEg9VVNmcwp6
JkcmaW1pNUUlYjEle3p2NkBCe0NIV3t+cSNIPkd+dTV9c1ZTVCV+NjJxUypDIX1sQ34mazE3UCQ3
VyVya0RXZmkKelUpfUhtQDRLdjtCTTAtZWJxISNzWmpqMk9xfDQqYF88bTQ2KDBVfE4zVXNZZkU/
SFBFT35WJm97TmY4UXtPZm1LCnpgQTQ5UVVfeHB2eTMhfWApd14jYjdESz80aW53fWxRPz5jR0By
WDlGcTAlSDQqNkA5Z2MqdGt6eWgpc1lAbGBhPQp6ZUxxSSE5RTFgMGVXaD5YNl40PWEyKTtkdkI4
JWYqOTdSejwoZU09d1BsPSszbEJsNl82Y01DeF5RfVAmZWNSZG4KekB+P1U5dkIla2RhRn1wN2pH
YHpNaVhNWTBoZiEqWXd0aj9+JD4kTUMpSmBsR2Q1PUspOShGTntUfWIwUDdRV3txCnp7YV9XaUdy
RUkrYGtRX2hUK21HV3skVjtnZChsbDcmekFAU3BGTzN4OHxlcHJkfGoqZDd0Z09IOGR0PkV7Xyhq
Mwp6VTtscU0tMGwxOUEmOWtjMnRwND1mazdaQXJTd2ltN1lHNFU1PmEpQHEjRS10YldKUilOYSQy
MGJhWWswYWF9Nm8KenU7e0dHb098QUtDZTJ3dnRvQ2R+eENYUlNjfk1UVyNOQnVCb2wpRnU3cGJv
OD9BYGklKX4kUGktRz5ISFJEKTxwCnokTUdiRXFFR2pyTU92TGp5IUFSTjhfeXc8c0dBYENkaitM
WFVueEMyKlFTX0hWZGFLTzxhaDhyN3VETHotVHpPQgp6TndYVCt2JVFPK3pIVU9NaX1YUjNRdjR9
MFNTWD8/bUZ+aUdDVyZhZERnTl9ZPnczVE56a2RHeyVrc0FaU3B1QEIKemZnV0kocGFYYzYpPilr
bk9raCZUNU5FYTI3I3wyMzt5UDFUPENSSUJjcXFzJD4kb29Ra2s3UUhCKHJERFdjc1lMCnpzQS0t
PHltQVU9dFA8NlRwJEh2TmtpTHVXNj56T2wzWndtYDJpb1h2LV81P2d5RXU2MDJtPmgjKD0+PWoz
PXskUgp6ZzNuO3U9SUReWnNKViFFXlE5IUtyeEsxPUJQUTBzekswTSpRQSpGbkUyJWxRbTckT3dx
PnZySkRkdXBVQkdyKlkKentQK2o2c0goNEolY2V0JmpDNWs/XjRSaH0tOypKJiUkanI3YlIlOUZT
MEROQjRlOEgoX0JSaVhXfUtZX0QkTmtrCnoxQHg3XlRMaHVTNHNjcU1laGZOTDRAfDhxKlV6c15Y
ZzZxQFNRcyU/JTM+UFBQX1VMJmBhYnZgQTtZSUVaYzxZYgp6ckxzSXBCd21KVGhFYXNUYjZ4Q1dq
elRXUU5JRmpAVGZwO05ibG81c0dsQGs/OFB4SX55KDJiPGRrWSpMdC0qPmUKekIzZUN7YUomdjlv
U2F3K18/fDspP1cqdExje1pMfiNCfmFJailoYXFWcjImPz0xMV97QjZCQj9AU2A3SkxAWmcoCnpt
V3tnQE4qelU0UmZMa2FPZjZ5MG87NSFidHRyITlkVUFYSTZDYzAjc29udT1GTSh0fkxPfVJZMD5Z
MDRuXn18PQp6bER0YDBoWFBhcEV4TSptWj5aRVNEdk4wPUhDND10ZztrT2ZqZCg9R0cqbVBKTEsq
V0UxPUdvejA4TFd9PjRLMXsKejUoe2dAcWI5TWlQQ08jZUhHJUU4XnJzeCFkbl53MTZnV0pUVV9f
YVRtWWhpPihTUkFQRVFKaERjeG0yPzJuXlczCnp6d1d5Pm9AP1FgTUxmc0NiMW0jYm5xcSM0VnQk
MD5pIUh3VXkoYGV2MiU5IStheCZSe2BIKWQ1ciVoaUh0N0B2Jgp6X0g4LWYrO3FiYVV1YkpqWnYo
bzQ0Z3lzczN1SD4kN355VGVsVHlBYFFqc0BBMiZlXmBPa0o1JFE/NCY2aSkhYmAKeiF8SSReTTJq
Yik4aX13PEJCQndHcz5ESm4oWGRLOXE3bkBXO3Q+dGdGYkVrY0xPe2s2akFydzY1OURkPERiVXZB
CnpkWSMjRm5IQUdDNXVIcHBVV1hhMktvMkQqKVJ7ajQxWnMqYnNrdSZ4XmFXZ31mTkt9PFQjTGVK
VW9KRGFLWGIhWAp6Tzg4Jnl6OW5mfXA0X28qVGR1Q0wkKmlCJHFXMnhfQFVGa15kK1RAWjl7ZTU5
Tm5vZ3NtYlBeMWYxV19DQGhBfTwKei1rIUtyMiRFdmYwPTI0OD5KdCQkcjgxJDxqZlRiYV4wKz1a
WT4wfFBMPD1XbDhuS1d7QiV+NUgxKiVaK2VKRERUCnpPeHxIPXZ7KUVPZEZpZX10QUI5Uj9IeD14
Snc7YXo4bGp8e3NGYDZfSHFOaEJIUGNsVE1NTSR9WkBsbnowYENGSAp6RnshVSlRJUFjengyU2xJ
V3UqRmM0YHpuajN5emdoMFpyRk0/TmAzQ3tHdTs+XmBsanxLMDtGJj1edjNGejJWPjIKekotZkUh
UnxOWHxEM0FoMU84PkpRXldLYjtlR0c0el5rZWxYIUNZfHxDPGlLbTNaWVA7WW9hbzJQKldEeT52
VUJxCnoxSHppWFIwTnRJRU97KFNEUllJUU9yPiZlemglbi0mekMxJFktdGsmX0pxbV9EfSpRWG4/
RGhacjh5NztAN04mRgp6QipyISs5dS15cEB+dnhjez5XY2tVdSZsYHtQbXhJQDN7d2x6M1VlUT5Q
d25IJTghJmprNHR5PzhhVy1gSHRBMk8Kek9pP3N+NGlFKHJLJjxxQUVVbFYkKylYK2heUGBSIzg9
MkIpemZ7Jlo/amFaKUJtUWBid2g4PTZ6JGFNMERoYn1QCnpMaCR9MEtwWTZ3KXJJRE1gI1UlTykl
cTlQK3JJVTBGV2tkMXE3UnEwRzJQdC17OHZsJjw4ZWt3ZT9yQjwyJXZJfAp6Pnw7R3lEY3ooYEFq
d15ockRyJSpyRE53IU5jdWxyakxuJEo8RyFsfCFZKWJSSlZ9PDk+KGdeTkN2RHF3YjQ7QlgKejwo
UEt4eD9+QE5hdkVqK3AhaD5ZTHs4d25mIUU/Kz18XylNZjtwbHdpRWp7ZTIjYUd7ITcyNmoqVFYk
cUMtOUVxCnpHJkJaNXBlYy1MMz1wV3FaPF80bWItdlQycFRHcCgyK0E/WklHKUpodCZue1R8M0Jo
QGtiUnVLbVdjb1cwMDJvdgpKUERITGtWMW5DUHstKiF7CgpsaXRlcmFsIDAKSGNtVj9kMDAwMDEK
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvdGltZWxpbmUvcmVz
b3VyY2VzL2JpZy5wbmcgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvdGltZWxpbmUv
cmVzb3VyY2VzL2JpZy5wbmcKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmVlZWFkYjczYjMyODU3Mzk3NmUzMmFlMmM2
ODZjMjhiZDA1ODA1NwpHSVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwgNzA5NzUKemNtZUk1Tz13aEM3
PjNWZUxOYnhEdX12Myk1RG5OTD1xbDRMYG0wVlB7WWVRP1lBQkxZTlNIIyFqZkdrJXsqV1FECnp3
M2VXJjc4aW9FT0klbmdSOXFCZk5KfENeWkQqayhXP0BTPTBoN3smTnNHYlNiTXQ7VEl4fEhHTH5f
U0AwYF57fQp6YkZYS2ZeTF4pZz98REJiJDlNSTt4cWpXb2I8Vmw8SiNUZnQ8NkxWI18+Kll6dWx6
YXVNfXQyIWUhUWNuS2pEOWwKekJ0SDFVeGVuTFUtUFFsOz5EbFM3JDgjQz88Rl9OanpaTzUtVDFY
eHIqKk5wYkZFN1haQ0hNWE9iQD1iO2lrSUF4CnooT0NPXlp9RiRPcEtfMHR6ZndxKkRsVkh5Jlht
OCFqZDI/ejAtRz4yaD98ZkVJVGV5JXA7I3V0TEpeezFwJEpLXgp6UD1xOHtEMyhkRVA9cUwwQ18p
a302ZD8lfmllKFprNmQ/KjBpalZ7Z01NJEZON0sqfFRtKWhJPj1zU2BGY1EwPzcKeiU1OEZ8RTRP
QWNQdl8meXBLc35wcWxRPD9Vdk9WbFVRfXFRK2BafHF5NkQtO2B8aGZgaGB8VW5XR3Z1XzhHI18x
CnojRFI2ajVgel8zQWdFMl5LLUlSeUt0YyF2NjJieGsyX1g8ajJ5czl7U1lrWHRMSlNSVGA3LVBV
dXk7RytoeGlGJgp6VmQ/bVFfekItZiUmY2IyV04ofmtAJVApJWJaJlV4PTRfX2J5O1JqOV5MQ349
V1V1M0lqUihxS2FMLWo7KUs9QXQKelEqfXthPCRkIXtSOT9oajFSNjNIYUt3eTJPcHJ9V0FhYmxU
M0o2d1VhaUJKZEx5b0V+NUooN2RLdGhPdkxxWjR5Cno1PChvMTVTQUU3MiFUTENTWWpYezFSX0Vi
QjZvZyZ2QylxekY/eDBUZ19HJWd2JXs+XkJ3PCNIMUk8Xikwa2hJVAp6VXsocVEjKF85c1IkNXxV
SFZGaDBMTDg2fm1LWURjLXw0X2F5amEtXztIWG89UG57QTY+WGZBO2J4SShwUXtxNksKenZjITFr
Yjt8eDh3PEApJWFQNDk/XzsjRlFUe3E4TUZRIVV5JDQ7WEZWXiYoQU1RRXFkKEZ0YWdmXiV2aGE4
M21SCno9VHNiVVBBeEhUUDZZeHpWfksldERpRyl5YVg+PGQxSTxeKTBTT0B4TkMqb0VCIW9hak5K
MCRHUE4hcGpSRm5Ebgp6b3BhZ2JPdzYkKFpQQ2godl9QO1VFZWBCUlRWbUFLajxsbkQoQl9RKlVi
NnN4QV4hUCRSbE5XLUA3YTlONmRAMmEKek1UaTN1KURpOztEaUJDZWFpREAqVmp3e1UwdHNPT1FJ
OFUkYjdBZ09AYlFPQXg1cFJLT31HNS1pe2hJaTZjNmspCnppYkk1VThYY1dybmlFR1NuMVI0SzYk
cVNEM2thSTgxT24kJjlNQ2hDODBaOytLK2psVygwbkJqTkM8STJMV2wjKwp6U0g9TWVBcktMZzVV
SXQzeT8jKSsmYkBiYkZRKCMke0NQY1lUUkI+Y0VKeWl1VTxSVkR7R0gkNTl+ck9lMT5oVHYKekVF
STR3MzxSWT9BWlVzWjJidi0qRj0mYnFoYEs3OEh1d0kzXilENl9Oe2F+IXI5ZTw5I2VxVTtpOXcr
aGh9OV5SCnpWQEY/byNAe1dJYHRJTWVONV43WXtXKWYoQFVxaD00aVZhRXEhVWIyO3tTX3REaWs9
VW1aZG5TMCljWlg0bWhYYwp6ZlN4Zjk9b3hgUCZzYWJwQXBgO21WVHBsKzVDfGxNSTNPWCFBd20q
aj5RWn1+QTU9JGo7T155WlFAS3Q0SmNgRF8Kej08e3ozUnJkbiQmcGEpanFCdnpYRz1FXjRuNUtL
dDtMb3QrMzxzOCtLdyF5PDFEMmQ2Mjl9JmF0Y0U0JEA1RE1JCnpvVUFrQXomYXhpRz9wNiYpKXw0
fFFOO3ArQ3JXe2NAfW8taiMpJWRgJF8tOERoV0JtR1c/S0NASkJedylie2ZTWQp6TE9ZRnFLeS1w
PlImWSttMHE0fVI2ejViUmE4NH5UYTgzbVJKdEdlMjhGNF5EN3paU1RLcC1KM0FuSGQjZF5VT0kK
elk7YFl5Wns/P0dEaSRjMzt0PTdZbkxFRn4qeXUtQDdgP2p2IXBVXkwqYEtvcXQ3JjVvUnZhU1Bo
LUV8YjJkMFQ+Cnp4KSUtcEVYckh1ZXQwKzxua31adXFMIXV6ZnVKY3U5QjdLTCNHdl5+QVEwckBm
WVAoWEt0YyF2NjJieGsyX1g9Vgp6eW80eFJ5Tz9lOHBZPlNSJWA/fUZzWiFqWlZeKFZOKj5ARU9u
eS12UWchZiY4NXdibjVkMTlJQFVUSTRjMnN+d1IKenoqRHh3czJAKytLSmR+M0ohM1IjcGlzNlN7
XiRHdT5qZ2xaK1orPGl3RyslWFFYUDFANmJBeUIwNF9fNjYrZ0JOCnomUTdPZXt1WXpAYEpIcHc8
VjxqbSpKRGlhZElTUW1NOyEyYUVIVXRVMU9sKGUwc15sYEFSYytJQy18NkAxNUd5Tgp6S3BmfkVH
IUIjbDEzQF91MitEeXRASSt+ZSE0c3VHQVIpd0kjUylAKFZlVjlMPX1fdFJfKEhuclImYjZiN2Z8
cCYKelNhUmFQX1A5OChKdVZKKF4lI2QwWjt1RHBreGltVUhkeiRhZmMwLTkpZ2NKckombVAjPWJy
cSFyQE8xYT8wLUA7Cno0Rl9wMTVUdjtVTEBsTntzbSlpTkVYTSE9RUVLM2Qza2lDOzEhOWVReCVW
c3s/RFlmNGI/JntoZG9kTTF2QHtzRAp6JH43bCFtNVQjZzw+SjZeQTIxR1ZsPyVqKng1fFVkJFI+
Ki1qMzxGMG81WD1edmMjYTNRNlNjYGNqZCkqZjhPJDEKVGYyc0dXVT9AR1dfalB9PlZ7cWdAVWZg
bFcKCmxpdGVyYWwgMApIY21WP2QwMDAwMQoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci1vYnNvbGV0ZS90aW1lbGluZS9yZXNvdXJjZXMvdGVzdC5ibXAgYi9MYXlvdXRUZXN0cy9p
bnNwZWN0b3Itb2Jzb2xldGUvdGltZWxpbmUvcmVzb3VyY2VzL3Rlc3QuYm1wCm5ldyBmaWxlIG1v
ZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgwMmEwYzliOTVjYmE0Y2Y4OTI1YmFmZGRmNzg3MTE3OWU0NDNhZjUKR0lUIGJpbmFyeSBwYXRj
aApsaXRlcmFsIDEzMTQKemNtWj9yUmJwaVQxMlo3MDBtUTtVRURGU28zPSUrK2YjRDRjbV9pfWBs
TWZpaypaT317RlkkcGw4ZGpyV2cpME9gCk0oKn59UCE0eml6MDUrZjBze2pCMQoKbGl0ZXJhbCAw
CkhjbVY/ZDAwMDAxCgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRl
L3RpbWVsaW5lL3Jlc291cmNlcy90ZXN0LmdpZiBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNv
bGV0ZS90aW1lbGluZS9yZXNvdXJjZXMvdGVzdC5naWYKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2FhMjA5OGRjODgx
N2Y1MzYwZDEzNDQwZjNkNjI0NWEwMzBkYzMxZApHSVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwgMTky
CnpjbVo/d2JoRUhiPFlNNHJJM21wT3xOczlmUT5JK0ljNVRqX0ljd0xoZWdGUF9hJm9lbG1zZUMm
KVYrSzZvPEQheQp6KCRkbj8pM2JIISoxZGM4V0BsIz83WilFcGNJQDFfYX0yfSojaCl5VTM9Rn55
SXcwakJJfmBiVUFERmxYWH1VZ0EKenZFP3Q/KTVDUzk7UTxlfikxP0w+VVh9STw0YUpUak9pXygw
azhkKEBkcGI+PVV7YiZxbzUwWDI1eXU/SigmWFQ5CkpYdERyPEgyYExPS1Y8Kl8KCmxpdGVyYWwg
MApIY21WP2QwMDAwMQoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0
ZS90aW1lbGluZS9yZXNvdXJjZXMvdGVzdC5pY28gYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jz
b2xldGUvdGltZWxpbmUvcmVzb3VyY2VzL3Rlc3QuaWNvCm5ldyBmaWxlIG1vZGUgMTAwNzU1Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY5NzIzZWVjNjNi
N2YzMzkzZDRiNGU2ZTE2YTVhNTU2ZjdkZTFiMGYKR0lUIGJpbmFyeSBwYXRjaApsaXRlcmFsIDE3
NDIKemNtWlF6VTw1KjhRM2ZFWHpfNWRqZmtCTGNmazZYXmdASVRMaChZNEchMmVNJjhVbXZzRmQ3
MSpBdXQqT0IhJlI0CklJKXhIKDBKSVl+IX5nJlEKCmxpdGVyYWwgMApIY21WP2QwMDAwMQoKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS90aW1lbGluZS9yZXNvdXJj
ZXMvdGVzdC5qcGcgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvdGltZWxpbmUvcmVz
b3VyY2VzL3Rlc3QuanBnCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdlMTRmYzZmMjhmOTAzNjY0YzQxNGM0NTgwZjY0
MWE1ZjAwNjIxYTIKR0lUIGJpbmFyeSBwYXRjaApsaXRlcmFsIDY0Mwp6Y21leD08TnBIJjBXVVhD
SHdII1YxX25rVFdjWXVaITVQUy00MWYldyVta3FCe3w2V1pJVCVENGdxYXpZNz89YloKem5GU2dE
QTdQTE94fDA9UkhVa3RlR0JMQlR2YXhlO2EmWkZ7WSF6VCZWcXw3IVZxcz13V25sclR0Xzh8N3Vu
NGpXCnpESD1NbTI/ciohRDswX3VIQk1afXEzcEVycGxIeT00PVRuPE1OT1BzViZXMiNRbVNnfDhr
JC1ycmVAfEFtUjhPIwp6dTVSdWdvP2dLcnA8Jj8+a3h8SmhzY0dwTW5PVmdwckRmJDZsfnY2eHQh
P2Njb240YkFQbmtNeGBpejtnN0E7PH4KemJsTEoxRF8zcFd5aythUT9LXmh2SSZ9RVIoUFBJP29J
R3t1QHxDT0N1SFUkTT4qMXJ2UG82JHx7Xkk0VWtEb3EmCnpgVEZocWtEdEZseyRnWmNoNmZxTVZg
JTtvMXAxNEtnQHVgZzlwbz1Zcmc5KT03R3o7bkctTU5VM31qQyU2am1+Nwp6PFBkUzF4TnplXlBH
I2V1NTI4cyQ3ckRlI09kaEkhMWJHZVlHdllrZk0zJkZzOXoqISs3NlQ3NkJRV3hxMXNVdWEKUHt7
N1FmKVd2e3x8Szlgdis7NzAkCgpsaXRlcmFsIDAKSGNtVj9kMDAwMDEKCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvdGltZWxpbmUvcmVzb3VyY2VzL3Rlc3QucG5n
IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3RpbWVsaW5lL3Jlc291cmNlcy90ZXN0
LnBuZwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi42Y2ZhZGMzYzdhZTNkMjRmNWQ2N2RiZDQ4Y2VhM2JhZTM3YjNiNTZk
CkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCAxMDcKemNtZUFTQE4/KG9sSHlgdVZCcSFpYTB2cF4h
YXl2XyEzSEZrYTkrSSNxKiNpYkpWUTh1cG9TeCoxSVNuTWJhNCFeCno9dVE2ZnxOc0FiSFo0WkFF
Sj41QjghSGtReEFqVnlXITsheSUpX3dPbV87cVFQJG08b24hKGY2JnQ7dWNMSzZWYApDeSZMdWIK
CmxpdGVyYWwgMApIY21WP2QwMDAwMQoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rv
ci1vYnNvbGV0ZS90aW1lbGluZS9yZXNvdXJjZXMvdGVzdC53ZWJwIGIvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yLW9ic29sZXRlL3RpbWVsaW5lL3Jlc291cmNlcy90ZXN0LndlYnAKbmV3IGZpbGUgbW9k
ZSAxMDA3NTUKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjY1NmYxNGVmZjNiN2I4NTgyODc0MDdhZDM2NWYwYjhjY2VjOGIyOQpHSVQgYmluYXJ5IHBhdGNo
CmxpdGVyYWwgNjIKemNtV0lZYmFPTGZVfDxNJGJxV1h6dXUjd2Z2VzF1Izx9enZ0R2woK1MpZiFF
NVUmUXY4cEBaP0d0Xnp8eWd9VHd5ClFQdiM1XnxOZlVMejV1RU8wSjBrcE4mby09CgpsaXRlcmFs
IDAKSGNtVj9kMDAwMDEKCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xl
dGUvdGltZWxpbmUvcmVzb3VyY2VzL3RpbWVsaW5lLWlmcmFtZS1kYXRhLmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvdGltZWxpbmUvcmVzb3VyY2VzL3RpbWVsaW5lLWlmcmFt
ZS1kYXRhLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmZkYWEyMTFhYTNlMWJkOGE4ZjYwODc2ZDQzOTIxZjBh
NzViYWM1MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0
ZS90aW1lbGluZS9yZXNvdXJjZXMvdGltZWxpbmUtaWZyYW1lLWRhdGEuaHRtbApAQCAtMCwwICsx
LDE3IEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4KK2NvbnNvbGUudGltZVN0YW1wKCJTQ1JJ
UFQgVEFHIik7CisKK2Z1bmN0aW9uIGlmcmFtZU9ubG9hZCgpCit7CisgICAgY29uc29sZS5sb2co
ImlmcmFtZSBsb2FkZWQiKTsKK30KKzwvc2NyaXB0PgorPC9oZWFkPgorCis8Ym9keSBvbmxvYWQ9
ImlmcmFtZU9ubG9hZCgpIj4KKyAgICA8ZGl2PkZvbzwvZGl2PgorPC9ib2R5PgorCis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvdGltZWxpbmUvcmVz
b3VyY2VzL3RpbWVsaW5lLWlmcmFtZS1wYWludC5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
LW9ic29sZXRlL3RpbWVsaW5lL3Jlc291cmNlcy90aW1lbGluZS1pZnJhbWUtcGFpbnQuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yZWExN2M5YzBlZWUwOTkyNDkzNGRjYmY5ZTUzNGZmMjdlNGMwNjYyCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3RpbWVsaW5lL3Jl
c291cmNlcy90aW1lbGluZS1pZnJhbWUtcGFpbnQuaHRtbApAQCAtMCwwICsxLDYgQEAKKzxodG1s
PgorPGhlYWQ+Cis8Ym9keSBzdHlsZT0ibWFyZ2luOiAwIj4KKyAgICA8ZGl2IHN0eWxlPSJkaXNw
bGF5OiBibG9jazsgcG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiAxNXB4OyB0b3A6IDE1cHg7IHdp
ZHRoOiAyMHB4OyBoZWlnaHQ6IDIwcHg7IGJhY2tncm91bmQtY29sb3I6IGJsdWUiPjwvZGl2Pgor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29s
ZXRlL3RpbWVsaW5lL3RpbWVsaW5lLWFuaW1hdGlvbi1mcmFtZS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvdGltZWxpbmUvdGltZWxpbmUtYW5pbWF0aW9uLWZy
YW1lLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lZmUwOTM2OWU4ZWJjNzdlNjBmNDYwY2Y0OTgw
ODVlYTFjOTFhNDhmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9i
c29sZXRlL3RpbWVsaW5lL3RpbWVsaW5lLWFuaW1hdGlvbi1mcmFtZS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSw0MCBAQAorVGVzdHMgdGhlIFRpbWVsaW5lIGV2ZW50cyBmb3IgQW5pbWF0aW9uIEZy
YW1lIGZlYXR1cmUKKworUmVxdWVzdEFuaW1hdGlvbkZyYW1lIFByb3BlcnRpZXM6Cit7CisgICAg
Y291bnRlcnMgOiA8b2JqZWN0PgorICAgIGRhdGEgOiB7CisgICAgICAgIGlkIDogPG51bWJlcj4K
KyAgICB9CisgICAgZnJhbWVJZCA6IDxzdHJpbmc+CisgICAgc3RhY2tUcmFjZSA6IDxvYmplY3Q+
CisgICAgc3RhcnRUaW1lIDogPG51bWJlcj4KKyAgICB0eXBlIDogIlJlcXVlc3RBbmltYXRpb25G
cmFtZSIKKyAgICB1c2VkSGVhcFNpemUgOiA8bnVtYmVyPgorfQorRmlyZUFuaW1hdGlvbkZyYW1l
IFByb3BlcnRpZXM6Cit7CisgICAgY2hpbGRyZW4gOiA8b2JqZWN0PgorICAgIGNvdW50ZXJzIDog
PG9iamVjdD4KKyAgICBkYXRhIDogeworICAgICAgICBpZCA6IDxudW1iZXI+CisgICAgfQorICAg
IGVuZFRpbWUgOiA8bnVtYmVyPgorICAgIGZyYW1lSWQgOiA8c3RyaW5nPgorICAgIHN0YXJ0VGlt
ZSA6IDxudW1iZXI+CisgICAgdHlwZSA6ICJGaXJlQW5pbWF0aW9uRnJhbWUiCisgICAgdXNlZEhl
YXBTaXplIDogPG51bWJlcj4KK30KK0NhbmNlbEFuaW1hdGlvbkZyYW1lIFByb3BlcnRpZXM6Cit7
CisgICAgY291bnRlcnMgOiA8b2JqZWN0PgorICAgIGRhdGEgOiB7CisgICAgICAgIGlkIDogPG51
bWJlcj4KKyAgICB9CisgICAgZnJhbWVJZCA6IDxzdHJpbmc+CisgICAgc3RhY2tUcmFjZSA6IDxv
YmplY3Q+CisgICAgc3RhcnRUaW1lIDogPG51bWJlcj4KKyAgICB0eXBlIDogIkNhbmNlbEFuaW1h
dGlvbkZyYW1lIgorICAgIHVzZWRIZWFwU2l6ZSA6IDxudW1iZXI+Cit9CisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS90aW1lbGluZS90aW1lbGluZS1hbmltYXRp
b24tZnJhbWUuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS90aW1lbGluZS90
aW1lbGluZS1hbmltYXRpb24tZnJhbWUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42ZWEwMjllMjRmNzYwNTM4
MzgxMjUwOTcwNjFkN2Y0ZTJiNDA2ODljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yLW9ic29sZXRlL3RpbWVsaW5lL3RpbWVsaW5lLWFuaW1hdGlvbi1mcmFtZS5odG1s
CkBAIC0wLDAgKzEsNTIgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vaHR0
cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lLXRlc3QuanMiPjwvc2NyaXB0
PgorPHNjcmlwdD4KKworZnVuY3Rpb24gcGVyZm9ybUFjdGlvbnMoKQoreworICAgIHZhciBlbGVt
ZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImFuaW1hdGlvbiIpOworICAgIHZhciByZXF1
ZXN0SWQgPSB3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKGFuaW1hdGlvbkZyYW1lQ2FsbGJh
Y2ssIGVsZW1lbnQpOworICAgIGZ1bmN0aW9uIGFuaW1hdGlvbkZyYW1lQ2FsbGJhY2soKQorICAg
IHsKKyAgICAgICAgd2luZG93LmNhbmNlbEFuaW1hdGlvbkZyYW1lKHJlcXVlc3RJZCk7CisgICAg
fQorCisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICB0ZXN0UnVubmVyLmRpc3Bs
YXkoKTsKK30KKworZnVuY3Rpb24gdGVzdCgpCit7CisgICAgSW5zcGVjdG9yVGVzdC5zdGFydFRp
bWVsaW5lKGZ1bmN0aW9uKCkgeworICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdl
KCJwZXJmb3JtQWN0aW9ucygpIik7CisgICAgfSk7CisKKyAgICBJbnNwZWN0b3JUZXN0LndhaXRG
b3JSZWNvcmRUeXBlKCJDYW5jZWxBbmltYXRpb25GcmFtZSIsIGZpbmlzaCk7CisKKyAgICBmdW5j
dGlvbiBmaW5pc2goKQorICAgIHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5wcmludFRpbWVsaW5l
UmVjb3JkcygiUmVxdWVzdEFuaW1hdGlvbkZyYW1lIik7CisgICAgICAgIEluc3BlY3RvclRlc3Qu
cHJpbnRUaW1lbGluZVJlY29yZHMoIkZpcmVBbmltYXRpb25GcmFtZSIpOworICAgICAgICBJbnNw
ZWN0b3JUZXN0LnByaW50VGltZWxpbmVSZWNvcmRzKCJDYW5jZWxBbmltYXRpb25GcmFtZSIpOwor
ICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOworICAgIH0KK30KKworaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICBzZXRUaW1lb3V0KHBlcmZvcm1BY3Rpb25zLCAyMDAwKTsK
KworPC9zY3JpcHQ+Cis8L2hlYWQ+CisKKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KKzxwPgor
VGVzdHMgdGhlIFRpbWVsaW5lIGV2ZW50cyBmb3IgQW5pbWF0aW9uIEZyYW1lIGZlYXR1cmUKKzwv
cD4KKzxkaXYgaWQ9ImFuaW1hdGlvbiI+CisKKzwvZGl2PgorCis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvdGltZWxpbmUvdGltZWxp
bmUtZGVjb2RlLXJlc2l6ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jz
b2xldGUvdGltZWxpbmUvdGltZWxpbmUtZGVjb2RlLXJlc2l6ZS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNzRiODMzN2RiMjNmNjhkNzllOGM5N2U2OWEyZmFiM2JjNDY4OGEzYQotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS90aW1lbGluZS90aW1lbGlu
ZS1kZWNvZGUtcmVzaXplLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE4NiBAQAorVGVzdHMgdGhl
IFRpbWVsaW5lIEFQSSBpbnN0cnVtZW50YXRpb24gb2YgYSBEZWNvZGVJbWFnZSBhbmQgUmVzaXpl
SW1hZ2UgZXZlbnRzCisKKworRGVjb2RlSW1hZ2UgUHJvcGVydGllczoKK3sKKyAgICBjaGlsZHJl
biA6IDxvYmplY3Q+CisgICAgY291bnRlcnMgOiA8b2JqZWN0PgorICAgIGRhdGEgOiB7CisgICAg
ICAgIGltYWdlVHlwZSA6ICJCTVAiCisgICAgfQorICAgIGVuZFRpbWUgOiA8bnVtYmVyPgorICAg
IHN0YWNrVHJhY2UgOiA8b2JqZWN0PgorICAgIHN0YXJ0VGltZSA6IDxudW1iZXI+CisgICAgdHlw
ZSA6ICJEZWNvZGVJbWFnZSIKKyAgICB1c2VkSGVhcFNpemUgOiA8bnVtYmVyPgorfQorUmVzaXpl
SW1hZ2UgUHJvcGVydGllczoKK3sKKyAgICBjaGlsZHJlbiA6IDxvYmplY3Q+CisgICAgY291bnRl
cnMgOiA8b2JqZWN0PgorICAgIGRhdGEgOiB7CisgICAgICAgIGNhY2hlZCA6IHRydWUKKyAgICB9
CisgICAgZW5kVGltZSA6IDxudW1iZXI+CisgICAgc3RhY2tUcmFjZSA6IDxvYmplY3Q+CisgICAg
c3RhcnRUaW1lIDogPG51bWJlcj4KKyAgICB0eXBlIDogIlJlc2l6ZUltYWdlIgorICAgIHVzZWRI
ZWFwU2l6ZSA6IDxudW1iZXI+Cit9CitEZWNvZGVJbWFnZSBQcm9wZXJ0aWVzOgoreworICAgIGNo
aWxkcmVuIDogPG9iamVjdD4KKyAgICBjb3VudGVycyA6IDxvYmplY3Q+CisgICAgZGF0YSA6IHsK
KyAgICAgICAgaW1hZ2VUeXBlIDogIkdJRiIKKyAgICB9CisgICAgZW5kVGltZSA6IDxudW1iZXI+
CisgICAgc3RhY2tUcmFjZSA6IDxvYmplY3Q+CisgICAgc3RhcnRUaW1lIDogPG51bWJlcj4KKyAg
ICB0eXBlIDogIkRlY29kZUltYWdlIgorICAgIHVzZWRIZWFwU2l6ZSA6IDxudW1iZXI+Cit9CitS
ZXNpemVJbWFnZSBQcm9wZXJ0aWVzOgoreworICAgIGNoaWxkcmVuIDogPG9iamVjdD4KKyAgICBj
b3VudGVycyA6IDxvYmplY3Q+CisgICAgZGF0YSA6IHsKKyAgICAgICAgY2FjaGVkIDogdHJ1ZQor
ICAgIH0KKyAgICBlbmRUaW1lIDogPG51bWJlcj4KKyAgICBzdGFja1RyYWNlIDogPG9iamVjdD4K
KyAgICBzdGFydFRpbWUgOiA8bnVtYmVyPgorICAgIHR5cGUgOiAiUmVzaXplSW1hZ2UiCisgICAg
dXNlZEhlYXBTaXplIDogPG51bWJlcj4KK30KK0RlY29kZUltYWdlIFByb3BlcnRpZXM6Cit7Cisg
ICAgY2hpbGRyZW4gOiA8b2JqZWN0PgorICAgIGNvdW50ZXJzIDogPG9iamVjdD4KKyAgICBkYXRh
IDogeworICAgICAgICBpbWFnZVR5cGUgOiAiSUNPIgorICAgIH0KKyAgICBlbmRUaW1lIDogPG51
bWJlcj4KKyAgICBzdGFja1RyYWNlIDogPG9iamVjdD4KKyAgICBzdGFydFRpbWUgOiA8bnVtYmVy
PgorICAgIHR5cGUgOiAiRGVjb2RlSW1hZ2UiCisgICAgdXNlZEhlYXBTaXplIDogPG51bWJlcj4K
K30KK1Jlc2l6ZUltYWdlIFByb3BlcnRpZXM6Cit7CisgICAgY2hpbGRyZW4gOiA8b2JqZWN0Pgor
ICAgIGNvdW50ZXJzIDogPG9iamVjdD4KKyAgICBkYXRhIDogeworICAgICAgICBjYWNoZWQgOiB0
cnVlCisgICAgfQorICAgIGVuZFRpbWUgOiA8bnVtYmVyPgorICAgIHN0YWNrVHJhY2UgOiA8b2Jq
ZWN0PgorICAgIHN0YXJ0VGltZSA6IDxudW1iZXI+CisgICAgdHlwZSA6ICJSZXNpemVJbWFnZSIK
KyAgICB1c2VkSGVhcFNpemUgOiA8bnVtYmVyPgorfQorRGVjb2RlSW1hZ2UgUHJvcGVydGllczoK
K3sKKyAgICBjaGlsZHJlbiA6IDxvYmplY3Q+CisgICAgY291bnRlcnMgOiA8b2JqZWN0PgorICAg
IGRhdGEgOiB7CisgICAgICAgIGltYWdlVHlwZSA6ICJKUEVHIgorICAgIH0KKyAgICBlbmRUaW1l
IDogPG51bWJlcj4KKyAgICBzdGFja1RyYWNlIDogPG9iamVjdD4KKyAgICBzdGFydFRpbWUgOiA8
bnVtYmVyPgorICAgIHR5cGUgOiAiRGVjb2RlSW1hZ2UiCisgICAgdXNlZEhlYXBTaXplIDogPG51
bWJlcj4KK30KK1Jlc2l6ZUltYWdlIFByb3BlcnRpZXM6Cit7CisgICAgY2hpbGRyZW4gOiA8b2Jq
ZWN0PgorICAgIGNvdW50ZXJzIDogPG9iamVjdD4KKyAgICBkYXRhIDogeworICAgICAgICBjYWNo
ZWQgOiB0cnVlCisgICAgfQorICAgIGVuZFRpbWUgOiA8bnVtYmVyPgorICAgIHN0YWNrVHJhY2Ug
OiA8b2JqZWN0PgorICAgIHN0YXJ0VGltZSA6IDxudW1iZXI+CisgICAgdHlwZSA6ICJSZXNpemVJ
bWFnZSIKKyAgICB1c2VkSGVhcFNpemUgOiA8bnVtYmVyPgorfQorRGVjb2RlSW1hZ2UgUHJvcGVy
dGllczoKK3sKKyAgICBjaGlsZHJlbiA6IDxvYmplY3Q+CisgICAgY291bnRlcnMgOiA8b2JqZWN0
PgorICAgIGRhdGEgOiB7CisgICAgICAgIGltYWdlVHlwZSA6ICJQTkciCisgICAgfQorICAgIGVu
ZFRpbWUgOiA8bnVtYmVyPgorICAgIHN0YWNrVHJhY2UgOiA8b2JqZWN0PgorICAgIHN0YXJ0VGlt
ZSA6IDxudW1iZXI+CisgICAgdHlwZSA6ICJEZWNvZGVJbWFnZSIKKyAgICB1c2VkSGVhcFNpemUg
OiA8bnVtYmVyPgorfQorUmVzaXplSW1hZ2UgUHJvcGVydGllczoKK3sKKyAgICBjaGlsZHJlbiA6
IDxvYmplY3Q+CisgICAgY291bnRlcnMgOiA8b2JqZWN0PgorICAgIGRhdGEgOiB7CisgICAgICAg
IGNhY2hlZCA6IHRydWUKKyAgICB9CisgICAgZW5kVGltZSA6IDxudW1iZXI+CisgICAgc3RhY2tU
cmFjZSA6IDxvYmplY3Q+CisgICAgc3RhcnRUaW1lIDogPG51bWJlcj4KKyAgICB0eXBlIDogIlJl
c2l6ZUltYWdlIgorICAgIHVzZWRIZWFwU2l6ZSA6IDxudW1iZXI+Cit9CitEZWNvZGVJbWFnZSBQ
cm9wZXJ0aWVzOgoreworICAgIGNoaWxkcmVuIDogPG9iamVjdD4KKyAgICBjb3VudGVycyA6IDxv
YmplY3Q+CisgICAgZGF0YSA6IHsKKyAgICAgICAgaW1hZ2VUeXBlIDogIldFQlAiCisgICAgfQor
ICAgIGVuZFRpbWUgOiA8bnVtYmVyPgorICAgIHN0YWNrVHJhY2UgOiA8b2JqZWN0PgorICAgIHN0
YXJ0VGltZSA6IDxudW1iZXI+CisgICAgdHlwZSA6ICJEZWNvZGVJbWFnZSIKKyAgICB1c2VkSGVh
cFNpemUgOiA8bnVtYmVyPgorfQorUmVzaXplSW1hZ2UgUHJvcGVydGllczoKK3sKKyAgICBjaGls
ZHJlbiA6IDxvYmplY3Q+CisgICAgY291bnRlcnMgOiA8b2JqZWN0PgorICAgIGRhdGEgOiB7Cisg
ICAgICAgIGNhY2hlZCA6IHRydWUKKyAgICB9CisgICAgZW5kVGltZSA6IDxudW1iZXI+CisgICAg
c3RhY2tUcmFjZSA6IDxvYmplY3Q+CisgICAgc3RhcnRUaW1lIDogPG51bWJlcj4KKyAgICB0eXBl
IDogIlJlc2l6ZUltYWdlIgorICAgIHVzZWRIZWFwU2l6ZSA6IDxudW1iZXI+Cit9CitEZWNvZGVJ
bWFnZSBQcm9wZXJ0aWVzOgoreworICAgIGNoaWxkcmVuIDogPG9iamVjdD4KKyAgICBjb3VudGVy
cyA6IDxvYmplY3Q+CisgICAgZGF0YSA6IHsKKyAgICAgICAgaW1hZ2VUeXBlIDogIlBORyIKKyAg
ICB9CisgICAgZW5kVGltZSA6IDxudW1iZXI+CisgICAgc3RhY2tUcmFjZSA6IDxvYmplY3Q+Cisg
ICAgc3RhcnRUaW1lIDogPG51bWJlcj4KKyAgICB0eXBlIDogIkRlY29kZUltYWdlIgorICAgIHVz
ZWRIZWFwU2l6ZSA6IDxudW1iZXI+Cit9CitSZXNpemVJbWFnZSBQcm9wZXJ0aWVzOgoreworICAg
IGNoaWxkcmVuIDogPG9iamVjdD4KKyAgICBjb3VudGVycyA6IDxvYmplY3Q+CisgICAgZGF0YSA6
IHsKKyAgICAgICAgY2FjaGVkIDogZmFsc2UKKyAgICB9CisgICAgZW5kVGltZSA6IDxudW1iZXI+
CisgICAgc3RhY2tUcmFjZSA6IDxvYmplY3Q+CisgICAgc3RhcnRUaW1lIDogPG51bWJlcj4KKyAg
ICB0eXBlIDogIlJlc2l6ZUltYWdlIgorICAgIHVzZWRIZWFwU2l6ZSA6IDxudW1iZXI+Cit9CisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS90aW1lbGluZS90aW1l
bGluZS1kZWNvZGUtcmVzaXplLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUv
dGltZWxpbmUvdGltZWxpbmUtZGVjb2RlLXJlc2l6ZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhhNDY4OWU4
YjRiMzFiM2VjMWFhYjMxMTQzMWI4M2I4MmVlNWE3OGMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvdGltZWxpbmUvdGltZWxpbmUtZGVjb2RlLXJlc2l6
ZS5odG1sCkBAIC0wLDAgKzEsNjggQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lLXRlc3QuanMiPjwv
c2NyaXB0PgorPHNjcmlwdD4KKworZnVuY3Rpb24gYWRkSW1hZ2Uoc3JjLCB3aWR0aCwgaGVpZ2h0
LCBjYWxsYmFjaykKK3sKKyAgICB2YXIgaW1nID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaW1n
Iik7CisgICAgaW1nLndpZHRoID0gd2lkdGg7CisgICAgaW1nLmhlaWdodCA9IGhlaWdodDsKKyAg
ICBpbWcub25sb2FkID0gY2FsbGJhY2s7CisgICAgaW1nLnNyYyA9IHNyYzsKKyAgICBkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKGltZyk7Cit9CisKK2Z1bmN0aW9uIGFkZEltYWdlMSgpIHsgYWRk
SW1hZ2UoInJlc291cmNlcy90ZXN0LmJtcCIsICIyNSIsICIyNSIsIGFkZEltYWdlMik7IH0KK2Z1
bmN0aW9uIGFkZEltYWdlMigpIHsgYWRkSW1hZ2UoInJlc291cmNlcy90ZXN0LmdpZiIsICIyNSIs
ICIyNSIsIGFkZEltYWdlMyk7IH0KK2Z1bmN0aW9uIGFkZEltYWdlMygpIHsgYWRkSW1hZ2UoInJl
c291cmNlcy90ZXN0LmljbyIsICIyNSIsICIyNSIsIGFkZEltYWdlNCk7IH0KK2Z1bmN0aW9uIGFk
ZEltYWdlNCgpIHsgYWRkSW1hZ2UoInJlc291cmNlcy90ZXN0LmpwZyIsICIyNSIsICIyNSIsIGFk
ZEltYWdlNSk7IH0KK2Z1bmN0aW9uIGFkZEltYWdlNSgpIHsgYWRkSW1hZ2UoInJlc291cmNlcy90
ZXN0LnBuZyIsICIyNSIsICIyNSIsIGFkZEltYWdlNik7IH0KK2Z1bmN0aW9uIGFkZEltYWdlNigp
IHsgYWRkSW1hZ2UoInJlc291cmNlcy90ZXN0LndlYnAiLCAiMjUiLCAiMjUiLCBhZGRJbWFnZTcp
OyB9CitmdW5jdGlvbiBhZGRJbWFnZTcoKSB7IGFkZEltYWdlKCJyZXNvdXJjZXMvYmlnLnBuZyIs
ICI1MDAwIiwgIjUwMDAiLCBkaXNwbGF5UGFnZSk7IH0KKworZnVuY3Rpb24gZGlzcGxheVBhZ2Uo
KQoreworICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgICAgICB0ZXN0UnVubmVyLmRp
c3BsYXkoKTsKKyAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CisgICAgfQorICAg
IHRlc3RSdW5uZXIuZXZhbHVhdGVJbldlYkluc3BlY3RvcigwLCAid2luZG93LnN0ZXAyKCkiKTsK
K30KKworZnVuY3Rpb24gdGVzdCgpCit7CisgICAgSW5zcGVjdG9yVGVzdC5zdGFydFRpbWVsaW5l
KHN0ZXAxKTsKKworICAgIGZ1bmN0aW9uIHN0ZXAxKCkKKyAgICB7CisgICAgICAgIEluc3BlY3Rv
clRlc3QuZXZhbHVhdGVJblBhZ2UoImFkZEltYWdlMSgpIik7CisgICAgfQorCisgICAgd2luZG93
LnN0ZXAyID0gZnVuY3Rpb24oKQorICAgIHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5zdG9wVGlt
ZWxpbmUoc3RlcDMpOworICAgIH0KKworICAgIGZ1bmN0aW9uIHN0ZXAzKHJlY29yZHMpCisgICAg
eworICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHJlY29yZHMubGVuZ3RoOyArK2kpIHsKKyAg
ICAgICAgICAgIHZhciByZWNvcmQgPSByZWNvcmRzW2ldOworICAgICAgICAgICAgaWYgKHJlY29y
ZC50eXBlID09PSBXZWJJbnNwZWN0b3IuVGltZWxpbmVNb2RlbC5SZWNvcmRUeXBlLkRlY29kZUlt
YWdlIHx8IHJlY29yZC50eXBlID09PSBXZWJJbnNwZWN0b3IuVGltZWxpbmVNb2RlbC5SZWNvcmRU
eXBlLlJlc2l6ZUltYWdlKQorICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QucHJpbnRUaW1l
bGluZVJlY29yZFByb3BlcnRpZXMocmVjb3JkKTsKKyAgICAgICAgfQorICAgICAgICBJbnNwZWN0
b3JUZXN0LmNvbXBsZXRlVGVzdCgpOworICAgIH0KK30KKworPC9zY3JpcHQ+Cis8L2hlYWQ+CisK
Kzxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KKzxwPgorVGVzdHMgdGhlIFRpbWVsaW5lIEFQSSBp
bnN0cnVtZW50YXRpb24gb2YgYSBEZWNvZGVJbWFnZSBhbmQgUmVzaXplSW1hZ2UgZXZlbnRzCis8
L3A+CisKKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rv
ci1vYnNvbGV0ZS90aW1lbGluZS90aW1lbGluZS1kb20tY29udGVudC1sb2FkZWQtZXZlbnQtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3RpbWVsaW5lL3RpbWVs
aW5lLWRvbS1jb250ZW50LWxvYWRlZC1ldmVudC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGEw
YjBjN2VhYjE3ZTkwMDY5MDI2MjFjNjljZDE0NDFhNTJmNjY0ZAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS90aW1lbGluZS90aW1lbGluZS1kb20tY29u
dGVudC1sb2FkZWQtZXZlbnQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTUgQEAKK1Rlc3RzIHRo
ZSBET00gY29udGVudCBsb2FkZWQgZXZlbnQuCisKK1BhZ2UgcmVsb2FkZWQuCitNYXJrRE9NQ29u
dGVudCBQcm9wZXJ0aWVzOgoreworICAgIGNvdW50ZXJzIDogPG9iamVjdD4KKyAgICBkYXRhIDog
eworICAgICAgICBpc01haW5GcmFtZSA6IHRydWUKKyAgICB9CisgICAgZnJhbWVJZCA6IDxzdHJp
bmc+CisgICAgc3RhcnRUaW1lIDogPG51bWJlcj4KKyAgICB0eXBlIDogIk1hcmtET01Db250ZW50
IgorICAgIHVzZWRIZWFwU2l6ZSA6IDxudW1iZXI+Cit9CisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2luc3BlY3Rvci1vYnNvbGV0ZS90aW1lbGluZS90aW1lbGluZS1kb20tY29udGVudC1sb2Fk
ZWQtZXZlbnQuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS90aW1lbGluZS90
aW1lbGluZS1kb20tY29udGVudC1sb2FkZWQtZXZlbnQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45ZTZmNDdj
ZTExY2RiOTEyOGZhZGVlOTMzMzg4NmYyZGMxNjhmNjgxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3RpbWVsaW5lL3RpbWVsaW5lLWRvbS1jb250ZW50
LWxvYWRlZC1ldmVudC5odG1sCkBAIC0wLDAgKzEsMzggQEAKKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5l
LXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKworZnVuY3Rpb24gdGVzdCgpCit7CisgICAg
V2ViSW5zcGVjdG9yLnNob3dQYW5lbCgidGltZWxpbmUiKTsKKyAgICBmaW5pc2hDYWxsZWQgPSAw
OworCisgICAgSW5zcGVjdG9yVGVzdC5zdGFydFRpbWVsaW5lKGZ1bmN0aW9uKCkgeyBJbnNwZWN0
b3JUZXN0LnJlbG9hZFBhZ2UoZmluaXNoKTsgfSk7CisgICAgSW5zcGVjdG9yVGVzdC53YWl0Rm9y
UmVjb3JkVHlwZSgiTWFya0RPTUNvbnRlbnQiLCBjb250ZW50RXZlbnQpOworCisgICAgZnVuY3Rp
b24gY29udGVudEV2ZW50KCkKKyAgICB7CisgICAgICAgIEluc3BlY3RvclRlc3Quc3RvcFRpbWVs
aW5lKGZpbmlzaCk7CisgICAgfQorCisgICAgZnVuY3Rpb24gZmluaXNoKCkKKyAgICB7CisgICAg
ICAgIGlmICgrK2ZpbmlzaENhbGxlZCA8IDIpCisgICAgICAgICAgICByZXR1cm47CisgICAgICAg
IEluc3BlY3RvclRlc3QucHJpbnRUaW1lbGluZVJlY29yZHMoIk1hcmtET01Db250ZW50Iik7Cisg
ICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7CisgICAgfQorfQorCis8L3Njcmlw
dD4KKzwvaGVhZD4KKworPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgorPHA+CitUZXN0cyB0aGUg
RE9NIGNvbnRlbnQgbG9hZGVkIGV2ZW50LgorPC9wPgorCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvdGltZWxpbmUvdGltZWxpbmUt
ZXZlbnQtZGlzcGF0Y2gtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29s
ZXRlL3RpbWVsaW5lL3RpbWVsaW5lLWV2ZW50LWRpc3BhdGNoLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi41NDE0MjlkMzg1NjY3ODNhOTE5ODI1MjRiZmM0NWQyMDE2NmIyNWNhCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3RpbWVsaW5lL3RpbWVsaW5l
LWV2ZW50LWRpc3BhdGNoLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE3IEBACitUZXN0cyB0aGUg
VGltZWxpbmUgQVBJIGluc3RydW1lbnRhdGlvbiBvZiBhIERPTSBEaXNwYXRjaCAobW91c2Vkb3du
KQorCitUZXN0IE1vdXNlIFRhcmdldAorRXZlbnREaXNwYXRjaCBQcm9wZXJ0aWVzOgoreworICAg
IGNoaWxkcmVuIDogPG9iamVjdD4KKyAgICBjb3VudGVycyA6IDxvYmplY3Q+CisgICAgZGF0YSA6
IHsKKyAgICAgICAgdHlwZSA6ICJtb3VzZWRvd24iCisgICAgfQorICAgIGVuZFRpbWUgOiA8bnVt
YmVyPgorICAgIGZyYW1lSWQgOiA8c3RyaW5nPgorICAgIHN0YXJ0VGltZSA6IDxudW1iZXI+Cisg
ICAgdHlwZSA6ICJFdmVudERpc3BhdGNoIgorICAgIHVzZWRIZWFwU2l6ZSA6IDxudW1iZXI+Cit9
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS90aW1lbGluZS90
aW1lbGluZS1ldmVudC1kaXNwYXRjaC5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29s
ZXRlL3RpbWVsaW5lL3RpbWVsaW5lLWV2ZW50LWRpc3BhdGNoLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzk5
ZmFiNjEwOTgzYWM4YzYwNGViNjNjYThhZDIxOTg5OWM2YzE0ZAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS90aW1lbGluZS90aW1lbGluZS1ldmVudC1k
aXNwYXRjaC5odG1sCkBAIC0wLDAgKzEsNDMgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lLXRlc3Qu
anMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKworZnVuY3Rpb24gaGFuZGxlTW91c2VEb3duKGV2ZW50
KSAKK3sKKyAgICBjb25zb2xlLnRpbWVTdGFtcCgiSGFuZGxpbmcgbW91c2Vkb3duIik7Cit9CisK
K2Z1bmN0aW9uIHBlcmZvcm1BY3Rpb25zKCkKK3sKKyAgICB2YXIgdGFyZ2V0ID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInRlc3RUYXJnZXQiKTsKKyAgICB0YXJnZXQuYWRkRXZlbnRMaXN0ZW5l
cigibW91c2Vkb3duIiwgaGFuZGxlTW91c2VEb3duLCB0cnVlKTsKKyAgICB2YXIgcmVjdCA9IHRh
cmdldC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTsKKworICAgIC8vIFNpbXVsYXRlIHRoZSBtb3Vz
ZSBkb3duIG92ZXIgdGhlIHRhcmdldCB0byB0cmlnZ2VyIGFuIEV2ZW50RGlzcGF0Y2gKKyAgICBp
ZiAod2luZG93LmV2ZW50U2VuZGVyKSB7CisgICAgICAgIHdpbmRvdy5ldmVudFNlbmRlci5tb3Vz
ZU1vdmVUbyhyZWN0LmxlZnQgKyByZWN0LndpZHRoIC8gMiwgcmVjdC50b3AgKyByZWN0LmhlaWdo
dCAvIDIpOworICAgICAgICB3aW5kb3cuZXZlbnRTZW5kZXIubW91c2VEb3duKCk7CisgICAgfQor
fQorCitmdW5jdGlvbiB0ZXN0KCkgCit7CisgICAgSW5zcGVjdG9yVGVzdC5wZXJmb3JtQWN0aW9u
c0FuZFByaW50KCJwZXJmb3JtQWN0aW9ucygpIiwgIkV2ZW50RGlzcGF0Y2giKTsKK30KKworPC9z
Y3JpcHQ+Cis8L2hlYWQ+CisKKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KKzxwPgorVGVzdHMg
dGhlIFRpbWVsaW5lIEFQSSBpbnN0cnVtZW50YXRpb24gb2YgYSBET00gRGlzcGF0Y2ggKG1vdXNl
ZG93bikKKzwvcD4KKworPGRpdiBpZD0idGVzdFRhcmdldCIgc3R5bGU9IndpZHRoOjQwMHB4OyBo
ZWlnaHQ6NDAwcHg7Ij4KK1Rlc3QgTW91c2UgVGFyZ2V0Cis8L2Rpdj4KKworPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3RpbWVsaW5l
L3RpbWVsaW5lLWZyYW1lcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jz
b2xldGUvdGltZWxpbmUvdGltZWxpbmUtZnJhbWVzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5j
OWY0OGU5MmU0MGI5MmMyZWEwYjEwNWQ0MDdiYTRhOTZlNzE4MWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3RpbWVsaW5lL3RpbWVsaW5lLWZyYW1l
cy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw3IEBACitUZXN0cyByZXBvcnRpbmcgYW5kIGNhbmNl
bGluZyBvZiBkaWRCZWdpbkZyYW1lIGV2ZW50cyBpbiBUaW1lbGluZQorCitCZWdpbkZyYW1lCitU
aW1lU3RhbXAgOiBGUkFNRSAxCitCZWdpbkZyYW1lCitUaW1lU3RhbXAgOiBGUkFNRSAyCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS90aW1lbGluZS90aW1lbGlu
ZS1mcmFtZXMuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS90aW1lbGluZS90
aW1lbGluZS1mcmFtZXMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yNzMyNDVjZTIzMWM4MmQyZWJhNWU3N2Vi
MzE1NGMyYzg2NzU2NTcyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
LW9ic29sZXRlL3RpbWVsaW5lL3RpbWVsaW5lLWZyYW1lcy5odG1sCkBAIC0wLDAgKzEsNTUgQEAK
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3Iv
aW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVz
dHMvaW5zcGVjdG9yL3RpbWVsaW5lLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKworZnVu
Y3Rpb24gcGVyZm9ybUFjdGlvbnMoKQoreworICAgIHdpbmRvdy5pbnRlcm5hbHMuZW1pdEluc3Bl
Y3RvckRpZEJlZ2luRnJhbWUoKTsKKyAgICBjb25zb2xlLnRpbWVTdGFtcCgiRlJBTUUgMSIpOwor
CisgICAgd2luZG93LmludGVybmFscy5lbWl0SW5zcGVjdG9yRGlkQmVnaW5GcmFtZSgpOworICAg
IHdpbmRvdy5pbnRlcm5hbHMuZW1pdEluc3BlY3RvckRpZENhbmNlbEZyYW1lKCk7CisKKyAgICB3
aW5kb3cuaW50ZXJuYWxzLmVtaXRJbnNwZWN0b3JEaWRCZWdpbkZyYW1lKCk7CisgICAgY29uc29s
ZS50aW1lU3RhbXAoIkZSQU1FIDIiKTsKKyAgICB3aW5kb3cuaW50ZXJuYWxzLmVtaXRJbnNwZWN0
b3JEaWRDYW5jZWxGcmFtZSgpOworfQorCitmdW5jdGlvbiB0ZXN0KCkKK3sKKyAgICBmdW5jdGlv
biBmb3JtYXRSZWNvcmQocmVjb3JkKQorICAgIHsKKyAgICAgICAgaWYgKHJlY29yZC50eXBlID09
PSBXZWJJbnNwZWN0b3IuVGltZWxpbmVNb2RlbC5SZWNvcmRUeXBlLlRpbWVTdGFtcCB8fAorICAg
ICAgICAgICAgcmVjb3JkLnR5cGUgPT09IFdlYkluc3BlY3Rvci5UaW1lbGluZU1vZGVsLlJlY29y
ZFR5cGUuQmVnaW5GcmFtZSkgeworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wVGltZWxp
bmVSZWNvcmQocmVjb3JkKTsKKyAgICAgICAgfQorICAgIH0KKworICAgIEluc3BlY3RvclRlc3Qu
c3RhcnRUaW1lbGluZShmdW5jdGlvbigpIHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0
ZUluUGFnZSgicGVyZm9ybUFjdGlvbnMoKSIsIHN0ZXAyKTsKKyAgICB9KTsKKworICAgIGZ1bmN0
aW9uIHN0ZXAyKCkKKyAgICB7CisgICAgICAgIEluc3BlY3RvclRlc3Quc3RvcFRpbWVsaW5lKGZp
bmlzaCk7CisgICAgfQorCisgICAgZnVuY3Rpb24gZmluaXNoKCkKKyAgICB7CisgICAgICAgIElu
c3BlY3RvclRlc3QucHJpbnRUaW1lbGluZVJlY29yZHMobnVsbCwgZm9ybWF0UmVjb3JkKTsKKyAg
ICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKKyAgICB9Cit9CisKKzwvc2NyaXB0
PgorPC9oZWFkPgorCis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Cis8cD4KK1Rlc3RzIHJlcG9y
dGluZyBhbmQgY2FuY2VsaW5nIG9mIGRpZEJlZ2luRnJhbWUgZXZlbnRzIGluIFRpbWVsaW5lCis8
L3A+CisKKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rv
ci1vYnNvbGV0ZS90aW1lbGluZS90aW1lbGluZS1pbmplY3RlZC1zY3JpcHQtZXZhbC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvdGltZWxpbmUvdGltZWxpbmUt
aW5qZWN0ZWQtc2NyaXB0LWV2YWwtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQxMTEzNWQ4MzVl
NGQ5NjVmMjQwMDY1NTI4YTQzZjZiZmE1NTg4MmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvdGltZWxpbmUvdGltZWxpbmUtaW5qZWN0ZWQtc2NyaXB0
LWV2YWwtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzEgQEAKK1Rlc3RzIHRoZSBUaW1lbGluZSBB
UEkgZnVuY3Rpb24gY2FsbCByZWNvcmQgZm9yIEluamVjdGVkU2NyaXB0LmV2YWwgY2FsbCBmZWF0
dXJlLgorCitGdW5jdGlvbkNhbGwgUHJvcGVydGllczoKK3sKKyAgICBjaGlsZHJlbiA6IDxvYmpl
Y3Q+CisgICAgY291bnRlcnMgOiA8b2JqZWN0PgorICAgIGRhdGEgOiB7CisgICAgICAgIHNjcmlw
dExpbmUgOiA8bnVtYmVyPgorICAgICAgICBzY3JpcHROYW1lIDogPHN0cmluZz4KKyAgICB9Cisg
ICAgZW5kVGltZSA6IDxudW1iZXI+CisgICAgZnJhbWVJZCA6IDxzdHJpbmc+CisgICAgc3RhcnRU
aW1lIDogPG51bWJlcj4KKyAgICB0eXBlIDogIkZ1bmN0aW9uQ2FsbCIKKyAgICB1c2VkSGVhcFNp
emUgOiA8bnVtYmVyPgorfQorRnVuY3Rpb25DYWxsIFByb3BlcnRpZXM6Cit7CisgICAgY2hpbGRy
ZW4gOiA8b2JqZWN0PgorICAgIGNvdW50ZXJzIDogPG9iamVjdD4KKyAgICBkYXRhIDogeworICAg
ICAgICBzY3JpcHRMaW5lIDogPG51bWJlcj4KKyAgICAgICAgc2NyaXB0TmFtZSA6IDxzdHJpbmc+
CisgICAgfQorICAgIGVuZFRpbWUgOiA8bnVtYmVyPgorICAgIGZyYW1lSWQgOiA8c3RyaW5nPgor
ICAgIHN0YXJ0VGltZSA6IDxudW1iZXI+CisgICAgdHlwZSA6ICJGdW5jdGlvbkNhbGwiCisgICAg
dXNlZEhlYXBTaXplIDogPG51bWJlcj4KK30KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yLW9ic29sZXRlL3RpbWVsaW5lL3RpbWVsaW5lLWluamVjdGVkLXNjcmlwdC1ldmFsLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvdGltZWxpbmUvdGltZWxpbmUtaW5q
ZWN0ZWQtc2NyaXB0LWV2YWwuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iN2JlYTAyNjA2MGM0YzU5Mzg5NzRl
ODlkOWQxOGZiMTA1NDZiZDQ2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yLW9ic29sZXRlL3RpbWVsaW5lL3RpbWVsaW5lLWluamVjdGVkLXNjcmlwdC1ldmFsLmh0bWwK
QEAgLTAsMCArMSwyNSBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9odHRw
L3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUtdGVzdC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0PgorCitmdW5jdGlvbiBwZXJmb3JtQWN0aW9ucygpCit7Cit9CisKK2Z1bmN0aW9u
IHRlc3QoKQoreworICAgIEluc3BlY3RvclRlc3QucGVyZm9ybUFjdGlvbnNBbmRQcmludCgicGVy
Zm9ybUFjdGlvbnMoKSIsICJGdW5jdGlvbkNhbGwiKTsKK30KKworPC9zY3JpcHQ+Cis8L2hlYWQ+
CisKKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KKzxwPgorVGVzdHMgdGhlIFRpbWVsaW5lIEFQ
SSBmdW5jdGlvbiBjYWxsIHJlY29yZCBmb3IgSW5qZWN0ZWRTY3JpcHQuZXZhbCBjYWxsIGZlYXR1
cmUuCis8L3A+CisKKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lu
c3BlY3Rvci1vYnNvbGV0ZS90aW1lbGluZS90aW1lbGluZS1sYXlvdXQtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3RpbWVsaW5lL3RpbWVsaW5lLWxheW91dC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjk2ZDliNTExYTA0YTRhMWIxZWM3ODdmNzIxNzA2ZjJi
MjNhYjJlYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0
ZS90aW1lbGluZS90aW1lbGluZS1sYXlvdXQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNDIgQEAK
K1Rlc3RzIHRoZSBUaW1lbGluZSBBUEkgaW5zdHJ1bWVudGF0aW9uIG9mIGEgTGF5b3V0IGV2ZW50
CisKK3RleHQKK3RleHQKK3RleHQKK3RleHQKK3RleHQKK0xheW91dCBQcm9wZXJ0aWVzOgorewor
ICAgIGNoaWxkcmVuIDogPG9iamVjdD4KKyAgICBjb3VudGVycyA6IDxvYmplY3Q+CisgICAgZGF0
YSA6IHsKKyAgICAgICAgZGlydHlPYmplY3RzIDogMworICAgICAgICBwYXJ0aWFsTGF5b3V0IDog
dHJ1ZQorICAgICAgICByb290IDogPG9iamVjdD4KKyAgICAgICAgdG90YWxPYmplY3RzIDogOAor
ICAgIH0KKyAgICBlbmRUaW1lIDogPG51bWJlcj4KKyAgICBmcmFtZUlkIDogPHN0cmluZz4KKyAg
ICBzdGFja1RyYWNlIDogPG9iamVjdD4KKyAgICBzdGFydFRpbWUgOiA8bnVtYmVyPgorICAgIHR5
cGUgOiAiTGF5b3V0IgorICAgIHVzZWRIZWFwU2l6ZSA6IDxudW1iZXI+Cit9CitMYXlvdXQgUHJv
cGVydGllczoKK3sKKyAgICBjaGlsZHJlbiA6IDxvYmplY3Q+CisgICAgY291bnRlcnMgOiA8b2Jq
ZWN0PgorICAgIGRhdGEgOiB7CisgICAgICAgIGRpcnR5T2JqZWN0cyA6IDIKKyAgICAgICAgcGFy
dGlhbExheW91dCA6IHRydWUKKyAgICAgICAgcm9vdCA6IDxvYmplY3Q+CisgICAgICAgIHRvdGFs
T2JqZWN0cyA6IDExCisgICAgfQorICAgIGVuZFRpbWUgOiA8bnVtYmVyPgorICAgIGZyYW1lSWQg
OiA8c3RyaW5nPgorICAgIHN0YWNrVHJhY2UgOiA8b2JqZWN0PgorICAgIHN0YXJ0VGltZSA6IDxu
dW1iZXI+CisgICAgdHlwZSA6ICJMYXlvdXQiCisgICAgdXNlZEhlYXBTaXplIDogPG51bWJlcj4K
K30KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3RpbWVsaW5l
L3RpbWVsaW5lLWxheW91dC1yZWFzb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yLW9ic29sZXRlL3RpbWVsaW5lL3RpbWVsaW5lLWxheW91dC1yZWFzb24tZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmMwMDFlMGMxNWRkN2RmZjkzMDMwOTdkYmZiMDQxZDQ5NDY1Y2U4MzIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvdGltZWxpbmUv
dGltZWxpbmUtbGF5b3V0LXJlYXNvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUZXN0
cyB0aGF0IExheW91dCByZWNvcmQgaGFzIGNvcnJlY3QgbG9jYXRpb25zIG9mIGxheW91dCBiZWlu
ZyBpbnZhbGlkYXRlZCBhbmQgZm9yY2VkLgorCitsYXlvdXQgaW52YWxpZGF0ZWQ6IGludmFsaWRh
dGVTdHlsZQorbGF5b3V0IGZvcmNlZDogZm9yY2VMYXlvdXQKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3RpbWVsaW5lL3RpbWVsaW5lLWxheW91dC1yZWFzb24u
aHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS90aW1lbGluZS90aW1lbGluZS1s
YXlvdXQtcmVhc29uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODQyODBhNGEzNWQ5MDg0MDIzNGZiMjM3NTM4
MjgwOGE5MzZkYjg1NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1v
YnNvbGV0ZS90aW1lbGluZS90aW1lbGluZS1sYXlvdXQtcmVhc29uLmh0bWwKQEAgLTAsMCArMSw1
MCBAQAorPGh0bWw+Cis8c3R5bGU+CisudGVzdCB7IGhlaWdodDogMjBweDsgfQorPC9zdHlsZT4K
KzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rv
ci10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3Bl
Y3Rvci90aW1lbGluZS10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisKK2Z1bmN0aW9uIGlu
dmFsaWRhdGVTdHlsZSgpCit7CisgICAgdmFyIGVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgidGVzdCIpOworICAgIGVsZW1lbnQuY2xhc3NOYW1lID0gInRlc3QiOworfQorCitmdW5j
dGlvbiBmb3JjZUxheW91dCgpCit7CisgICAgdmFyIGVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgidGVzdCIpOworICAgIHZhciB1bnVzZWQgPSBlbGVtZW50Lm9mZnNldEhlaWdodDsK
K30KKworZnVuY3Rpb24gcGVyZm9ybUFjdGlvbnMoKQoreworICAgIGludmFsaWRhdGVTdHlsZSgp
OworICAgIGZvcmNlTGF5b3V0KCk7Cit9CisKK2Z1bmN0aW9uIHRlc3QoKQoreworICAgIEluc3Bl
Y3RvclRlc3QuZXZhbHVhdGVXaXRoVGltZWxpbmUoInBlcmZvcm1BY3Rpb25zKCkiLCBvblRpbWVs
aW5lUmVjb3JkZWQpOworICAgIGZ1bmN0aW9uIG9uVGltZWxpbmVSZWNvcmRlZCgpCisgICAgewor
ICAgICAgICB2YXIgbGF5b3V0UmVjb3JkID0gSW5zcGVjdG9yVGVzdC5maW5kUHJlc2VudGF0aW9u
UmVjb3JkKCJMYXlvdXQiKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoImxheW91
dCBpbnZhbGlkYXRlZDogIiArIGxheW91dFJlY29yZC5jYWxsU2l0ZVN0YWNrVHJhY2VbMF0uZnVu
Y3Rpb25OYW1lKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoImxheW91dCBmb3Jj
ZWQ6ICIgKyBsYXlvdXRSZWNvcmQuc3RhY2tUcmFjZVswXS5mdW5jdGlvbk5hbWUpOworICAgICAg
ICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOworICAgIH0KK30KKworPC9zY3JpcHQ+Cis8
L2hlYWQ+CisKKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KKzxwPgorVGVzdHMgdGhhdCBMYXlv
dXQgcmVjb3JkIGhhcyBjb3JyZWN0IGxvY2F0aW9ucyBvZiBsYXlvdXQgYmVpbmcgaW52YWxpZGF0
ZWQgYW5kIGZvcmNlZC4KKzwvcD4KKzxkaXYgaWQ9InRlc3QiPjwvZGl2PgorCis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvdGltZWxp
bmUvdGltZWxpbmUtbGF5b3V0Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUv
dGltZWxpbmUvdGltZWxpbmUtbGF5b3V0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjQwZWVmMjFhODZmNzBj
MjliNDc5Nzg2Y2E3NGU0YzE0ZTZkMjAwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2luc3BlY3Rvci1vYnNvbGV0ZS90aW1lbGluZS90aW1lbGluZS1sYXlvdXQuaHRtbApAQCAtMCww
ICsxLDU3IEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMv
aW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9odHRwL3Rlc3RzL2luc3BlY3Rvci90aW1lbGluZS10ZXN0LmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KKy5yZWxheW91dC1ib3VuZGFyeSB7CisgICAgb3ZlcmZsb3c6IGhpZGRlbjsKKyAgICB3aWR0
aDogMTAwcHg7CisgICAgaGVpZ2h0OiAxMDBweDsKK30KKzwvc3R5bGU+Cis8c2NyaXB0PgorCitm
dW5jdGlvbiBpbnZhbGlkYXRlQW5kRm9yY2VMYXlvdXQoZWxlbWVudCkKK3sKKyAgICBlbGVtZW50
LnN0eWxlLm1hcmdpblRvcCA9ICIxMHB4IjsKKyAgICB2YXIgdW51c2VkID0gZWxlbWVudC5vZmZz
ZXRIZWlnaHQ7Cit9CisKK2Z1bmN0aW9uIHBlcmZvcm1BY3Rpb25zKCkKK3sKKyAgICBpbnZhbGlk
YXRlQW5kRm9yY2VMYXlvdXQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImludmFsaWRhdGUxIikp
OworICAgIGludmFsaWRhdGVBbmRGb3JjZUxheW91dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
aW52YWxpZGF0ZTIiKSk7Cit9CisKK2Z1bmN0aW9uIHRlc3QoKQoreworICAgIEluc3BlY3RvclRl
c3QuZXZhbHVhdGVJblBhZ2UoInRlc3RSdW5uZXIuZGlzcGxheSgpIiwgZnVuY3Rpb24oKSB7Cisg
ICAgICAgIEluc3BlY3RvclRlc3QucGVyZm9ybUFjdGlvbnNBbmRQcmludCgicGVyZm9ybUFjdGlv
bnMoKSIsICJMYXlvdXQiKTsKKyAgICB9KTsKK30KKworPC9zY3JpcHQ+Cis8L2hlYWQ+CisKKzxi
b2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KKzxwPgorVGVzdHMgdGhlIFRpbWVsaW5lIEFQSSBpbnN0
cnVtZW50YXRpb24gb2YgYSBMYXlvdXQgZXZlbnQKKzwvcD4KKzxkaXYgY2xhc3M9InJlbGF5b3V0
LWJvdW5kYXJ5Ij4KKyAgICA8ZGl2PnRleHQ8L2Rpdj4KKyAgICA8ZGl2PjwvZGl2PgorICAgIDxk
aXY+CisgICAgICAgIDxkaXYgaWQ9ImludmFsaWRhdGUxIj48ZGl2PnRleHQ8L2Rpdj48L2Rpdj4K
KyAgICA8L2Rpdj4KKzwvZGl2PgorPGRpdiBjbGFzcz0icmVsYXlvdXQtYm91bmRhcnkiPgorICAg
IDxkaXY+PC9kaXY+CisgICAgPGRpdj50ZXh0PC9kaXY+CisgICAgPGRpdiBpZD0iaW52YWxpZGF0
ZTIiPjxkaXY+dGV4dDwvZGl2PjwvZGl2PgorICAgIDxkaXY+PC9kaXY+CisgICAgPGRpdj48L2Rp
dj4KKyAgICA8ZGl2PnRleHQ8L2Rpdj4KKzwvZGl2PgorCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvdGltZWxpbmUvdGltZWxpbmUt
bG9hZC1ldmVudC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUv
dGltZWxpbmUvdGltZWxpbmUtbG9hZC1ldmVudC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZGM2
ZWVkN2Q4ZWNmNzkzYTQxMWY0ODdkYjVhYWM2N2FiZTA1MDlmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS90aW1lbGluZS90aW1lbGluZS1sb2FkLWV2
ZW50LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUwIEBACitUZXN0cyB0aGUgbG9hZCBldmVudC4K
KworUGFnZSByZWxvYWRlZC4KK01vZGVsIHJlY29yZHM6CitNYXJrRE9NQ29udGVudCBQcm9wZXJ0
aWVzOgoreworICAgIGNvdW50ZXJzIDogPG9iamVjdD4KKyAgICBkYXRhIDogeworICAgICAgICBp
c01haW5GcmFtZSA6IHRydWUKKyAgICB9CisgICAgZnJhbWVJZCA6IDxzdHJpbmc+CisgICAgc3Rh
cnRUaW1lIDogPG51bWJlcj4KKyAgICB0eXBlIDogIk1hcmtET01Db250ZW50IgorICAgIHVzZWRI
ZWFwU2l6ZSA6IDxudW1iZXI+Cit9CitNYXJrTG9hZCBQcm9wZXJ0aWVzOgoreworICAgIGNvdW50
ZXJzIDogPG9iamVjdD4KKyAgICBkYXRhIDogeworICAgICAgICBpc01haW5GcmFtZSA6IHRydWUK
KyAgICB9CisgICAgZnJhbWVJZCA6IDxzdHJpbmc+CisgICAgc3RhcnRUaW1lIDogPG51bWJlcj4K
KyAgICB0eXBlIDogIk1hcmtMb2FkIgorICAgIHVzZWRIZWFwU2l6ZSA6IDxudW1iZXI+Cit9CitU
aW1lc3RhbXAgcmVjb3JkczoKK01hcmtET01Db250ZW50IFByb3BlcnRpZXM6Cit7CisgICAgY291
bnRlcnMgOiA8b2JqZWN0PgorICAgIGRhdGEgOiB7CisgICAgICAgIGlzTWFpbkZyYW1lIDogdHJ1
ZQorICAgIH0KKyAgICBmcmFtZUlkIDogPHN0cmluZz4KKyAgICBzdGFydFRpbWUgOiA8bnVtYmVy
PgorICAgIHR5cGUgOiAiTWFya0RPTUNvbnRlbnQiCisgICAgdXNlZEhlYXBTaXplIDogPG51bWJl
cj4KK30KK01hcmtMb2FkIFByb3BlcnRpZXM6Cit7CisgICAgY291bnRlcnMgOiA8b2JqZWN0Pgor
ICAgIGRhdGEgOiB7CisgICAgICAgIGlzTWFpbkZyYW1lIDogdHJ1ZQorICAgIH0KKyAgICBmcmFt
ZUlkIDogPHN0cmluZz4KKyAgICBzdGFydFRpbWUgOiA8bnVtYmVyPgorICAgIHR5cGUgOiAiTWFy
a0xvYWQiCisgICAgdXNlZEhlYXBTaXplIDogPG51bWJlcj4KK30KKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3RpbWVsaW5lL3RpbWVsaW5lLWxvYWQtZXZlbnQu
aHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS90aW1lbGluZS90aW1lbGluZS1s
b2FkLWV2ZW50Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjk5OWYzODc3MmRjM2YwYTFkYmU2YjNiYzZmNWUw
ZjMwZTE3NzM0YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNv
bGV0ZS90aW1lbGluZS90aW1lbGluZS1sb2FkLWV2ZW50Lmh0bWwKQEAgLTAsMCArMSw0NCBAQAor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9p
bnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0
cy9pbnNwZWN0b3IvdGltZWxpbmUtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorCitmdW5j
dGlvbiB0ZXN0KCkKK3sKKyAgICBXZWJJbnNwZWN0b3Iuc2hvd1BhbmVsKCJ0aW1lbGluZSIpOwor
ICAgIGZpbmlzaENhbGxlZCA9IDA7CisKKyAgICBJbnNwZWN0b3JUZXN0LnN0YXJ0VGltZWxpbmUo
ZnVuY3Rpb24oKSB7IEluc3BlY3RvclRlc3QucmVsb2FkUGFnZShmaW5pc2gpOyB9KTsKKyAgICBJ
bnNwZWN0b3JUZXN0LndhaXRGb3JSZWNvcmRUeXBlKCJNYXJrTG9hZCIsIGNvbnRlbnRFdmVudCk7
CisKKyAgICBmdW5jdGlvbiBjb250ZW50RXZlbnQoKQorICAgIHsKKyAgICAgICAgSW5zcGVjdG9y
VGVzdC5zdG9wVGltZWxpbmUoZmluaXNoKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBmaW5pc2go
KQorICAgIHsKKyAgICAgICAgaWYgKCsrZmluaXNoQ2FsbGVkICE9PSAyKQorICAgICAgICAgICAg
cmV0dXJuOworCisgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJNb2RlbCByZWNvcmRz
OiIpOworICAgICAgICBJbnNwZWN0b3JUZXN0LnByaW50VGltZWxpbmVSZWNvcmRzKCJNYXJrRE9N
Q29udGVudCIpOworICAgICAgICBJbnNwZWN0b3JUZXN0LnByaW50VGltZWxpbmVSZWNvcmRzKCJN
YXJrTG9hZCIpOworICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiVGltZXN0YW1wIHJl
Y29yZHM6Iik7CisgICAgICAgIEluc3BlY3RvclRlc3QucHJpbnRUaW1lc3RhbXBSZWNvcmRzKCJN
YXJrRE9NQ29udGVudCIpOworICAgICAgICBJbnNwZWN0b3JUZXN0LnByaW50VGltZXN0YW1wUmVj
b3JkcygiTWFya0xvYWQiKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsK
KyAgICB9Cit9CisKKzwvc2NyaXB0PgorPC9oZWFkPgorCis8Ym9keSBvbmxvYWQ9InJ1blRlc3Qo
KSI+Cis8cD4KK1Rlc3RzIHRoZSBsb2FkIGV2ZW50LgorPC9wPgorCis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvdGltZWxpbmUvdGlt
ZWxpbmUtbG9hZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUv
dGltZWxpbmUvdGltZWxpbmUtbG9hZC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmEyYzI3YmY4
NTRlYjY1NWZjYjI3MjMwMDdiNTcyMTNjZWZiNjdkYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS90aW1lbGluZS90aW1lbGluZS1sb2FkLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDE0IEBACitUZXN0cyB0aGUgVGltZWxpbmUgc2F2ZS9sb2FkIGZ1bmN0
aW9uYWxpdHkuCisKK0Fsc28gdGVzdHMgc2F2ZS9sb2FkIG9mIHVua25vd24gKGluY29tcGF0aWJs
ZSkgcmVjb3JkIHR5cGVzLiAoQnVnIDkxNzE0KQorCisKK1J1bm5pbmc6IHRlc3ROb3JtYWwKK3Bh
c3NlZAorCitSdW5uaW5nOiB0ZXN0SW5jb21wYXRpYmxlCitwYXNzZWQKKworUnVubmluZzogdGVz
dE1hbGZvcm1lZAorcGFzc2VkCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1v
YnNvbGV0ZS90aW1lbGluZS90aW1lbGluZS1sb2FkLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0
b3Itb2Jzb2xldGUvdGltZWxpbmUvdGltZWxpbmUtbG9hZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYwN2U2
OTc2MjdlYjZiZTc2ZDliY2M2NjQyNDcyNmQ3MDQ4MGZmNzcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvdGltZWxpbmUvdGltZWxpbmUtbG9hZC5odG1s
CkBAIC0wLDAgKzEsOTYgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vaHR0
cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lLXRlc3QuanMiPjwvc2NyaXB0
PgorPHNjcmlwdD4KKworZnVuY3Rpb24gdGVzdCgpCit7CisgICAgZnVuY3Rpb24gcnVuVGVzdFdp
dGhEYXRhQW5kQ2hlY2soaW5wdXQsIGV4cGVjdGVkT3V0cHV0KQorICAgIHsKKyAgICAgICAgV2Vi
SW5zcGVjdG9yLnNob3dQYW5lbCgidGltZWxpbmUiKTsKKyAgICAgICAgdmFyIG1vZGVsID0gbmV3
IFdlYkluc3BlY3Rvci5UaW1lbGluZU1vZGVsKCk7CisKKyAgICAgICAgZnVuY3Rpb24gY3JlYXRl
RmlsZVJlYWRlcihmaWxlLCBkZWxlZ2F0ZSkKKyAgICAgICAgeworICAgICAgICAgICAgcmV0dXJu
IG5ldyBJbnNwZWN0b3JUZXN0LkZha2VGaWxlUmVhZGVyKGlucHV0LCBkZWxlZ2F0ZSwgbW9kZWwu
c2F2ZVRvRmlsZS5iaW5kKG1vZGVsKSk7CisgICAgICAgIH0KKworICAgICAgICBmdW5jdGlvbiBj
cmVhdGVGaWxlV3JpdGVyKGZpbGVOYW1lLCBjYWxsYmFjaykKKyAgICAgICAgeworICAgICAgICAg
ICAgY2FsbGJhY2sobmV3IEluc3BlY3RvclRlc3QuU3RyaW5nT3V0cHV0U3RyZWFtKGNoZWNrU2F2
ZURhdGEpKTsKKyAgICAgICAgfQorCisgICAgICAgIGZ1bmN0aW9uIGNoZWNrU2F2ZURhdGEob3V0
cHV0KQorICAgICAgICB7CisgICAgICAgICAgICB2YXIgc2F2ZURhdGEgPSBKU09OLnBhcnNlKG91
dHB1dCk7CisgICAgICAgICAgICBzYXZlRGF0YS5zaGlmdCgpOyAvLyBzdHJpcCB2ZXJzaW9uIGlu
Zm8KKyAgICAgICAgICAgIGV4cGVjdGVkT3V0cHV0LnNoaWZ0KCk7CisgICAgICAgICAgICBJbnNw
ZWN0b3JUZXN0LmFzc2VydEVxdWFscyhKU09OLnN0cmluZ2lmeShleHBlY3RlZE91dHB1dCksIEpT
T04uc3RyaW5naWZ5KHNhdmVEYXRhKSwgInNhdmVkIGRhdGEgaXMgbm90IGVxdWFsIHRvIHJlc3Rv
cmVkIik7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgicGFzc2VkIik7Cisg
ICAgICAgIH0KKworICAgICAgICBJbnNwZWN0b3JUZXN0Lm92ZXJyaWRlKG1vZGVsLCAiX2NyZWF0
ZUZpbGVSZWFkZXIiLCBjcmVhdGVGaWxlUmVhZGVyKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5v
dmVycmlkZShtb2RlbCwgIl9jcmVhdGVGaWxlV3JpdGVyIiwgY3JlYXRlRmlsZVdyaXRlcik7CisK
KyAgICAgICAgbW9kZWwubG9hZEZyb21GaWxlKHt9LCBuZXcgV2ViSW5zcGVjdG9yLlByb2dyZXNz
KCkpOworICAgIH0KKworICAgIEluc3BlY3RvclRlc3QucnVuVGVzdFN1aXRlKFsKKyAgICAgICAg
ZnVuY3Rpb24gdGVzdE5vcm1hbChuZXh0KQorICAgICAgICB7CisgICAgICAgICAgICB2YXIgZGF0
YSA9IFsiVmVyc2lvbiIsCisgICAgICAgICAgICAgICAgeyJzdGFydFRpbWUiOjEzMTA3NDk4NTQz
MTYuODQwOCwiZGF0YSI6eyJyZXF1ZXN0SWQiOjQzLCJ1cmwiOiJodHRwOi8vd3d3LndlYmtpdC5v
cmcvIiwicmVxdWVzdE1ldGhvZCI6IkdFVCJ9LCJ0eXBlIjoiUmVzb3VyY2VTZW5kUmVxdWVzdCIs
InVzZWRIZWFwU2l6ZSI6MTgxOTkzNiwidG90YWxIZWFwU2l6ZSI6NzYyOTEyMH0sCisgICAgICAg
ICAgICAgICAgeyJzdGFydFRpbWUiOjEzMTA3NDk4NTUxMTguOTMyOSwiZGF0YSI6eyJyZXF1ZXN0
SWQiOjQzLCJzdGF0dXNDb2RlIjoyMDAsIm1pbWVUeXBlIjoidGV4dC9odG1sIn0sImNoaWxkcmVu
IjpbXSwiZW5kVGltZSI6MTMxMDc0OTg1NTExOC45NjgsInR5cGUiOiJSZXNvdXJjZVJlY2VpdmVS
ZXNwb25zZSIsInVzZWRIZWFwU2l6ZSI6MTgxOTkzNiwidG90YWxIZWFwU2l6ZSI6NzYyOTEyMH0s
CisgICAgICAgICAgICAgICAgeyJzdGFydFRpbWUiOjEzMTA3NDk4NTUxMzYuMjQ1LCJkYXRhIjp7
InJlcXVlc3RJZCI6NDQsInVybCI6Imh0dHA6Ly93d3cud2Via2l0Lm9yZy9jc3MvbWFpbi5jc3Mi
LCJyZXF1ZXN0TWV0aG9kIjoiR0VUIn0sInR5cGUiOiJSZXNvdXJjZVNlbmRSZXF1ZXN0IiwidXNl
ZEhlYXBTaXplIjoyMzY3MTkyLCJ0b3RhbEhlYXBTaXplIjo3NjI5MTIwfSwKKyAgICAgICAgICAg
ICAgICB7InN0YXJ0VGltZSI6MTMxMDc0OTg1NTEzNi42NTUsImRhdGEiOnsicmVxdWVzdElkIjo0
NSwidXJsIjoiaHR0cDovL3d3dy53ZWJraXQub3JnL2Nzcy9ncmVlbi5jc3MiLCJyZXF1ZXN0TWV0
aG9kIjoiR0VUIn0sInR5cGUiOiJSZXNvdXJjZVNlbmRSZXF1ZXN0IiwidXNlZEhlYXBTaXplIjoy
MzY3MTkyLCJ0b3RhbEhlYXBTaXplIjo3NjI5MTIwfSwKKyAgICAgICAgICAgICAgICB7InN0YXJ0
VGltZSI6MTMxMDc0OTg1NTEzNy4wMjMsImRhdGEiOnsicmVxdWVzdElkIjo0NiwidXJsIjoiaHR0
cDovL3d3dy53ZWJraXQub3JnL2Nzcy9ibHVlLmNzcyIsInJlcXVlc3RNZXRob2QiOiJHRVQifSwi
dHlwZSI6IlJlc291cmNlU2VuZFJlcXVlc3QiLCJ1c2VkSGVhcFNpemUiOjIzNjcxOTIsInRvdGFs
SGVhcFNpemUiOjc2MjkxMjB9LAorICAgICAgICAgICAgICAgIHsic3RhcnRUaW1lIjoxMzEwNzQ5
ODU1MTM3LjM0MiwiZGF0YSI6eyJyZXF1ZXN0SWQiOjQ3LCJ1cmwiOiJodHRwOi8vd3d3LndlYmtp
dC5vcmcvY3NzL3llbGxvdy5jc3MiLCJyZXF1ZXN0TWV0aG9kIjoiR0VUIn0sInR5cGUiOiJSZXNv
dXJjZVNlbmRSZXF1ZXN0IiwidXNlZEhlYXBTaXplIjoyMzY3MTkyLCJ0b3RhbEhlYXBTaXplIjo3
NjI5MTIwfSwKKyAgICAgICAgICAgICAgICB7InN0YXJ0VGltZSI6MTMxMDc0OTg1NTEzNy42NTYs
ImRhdGEiOnsicmVxdWVzdElkIjo0OCwidXJsIjoiaHR0cDovL3d3dy53ZWJraXQub3JnL2Nzcy9w
aW5rLmNzcyIsInJlcXVlc3RNZXRob2QiOiJHRVQifSwidHlwZSI6IlJlc291cmNlU2VuZFJlcXVl
c3QiLCJ1c2VkSGVhcFNpemUiOjIzNjcxOTIsInRvdGFsSGVhcFNpemUiOjc2MjkxMjB9LAorICAg
ICAgICAgICAgICAgIHsic3RhcnRUaW1lIjoxMzEwNzQ5ODU1MTM3Ljk4OSwiZGF0YSI6eyJyZXF1
ZXN0SWQiOjQ5LCJ1cmwiOiJodHRwOi8vd3d3LndlYmtpdC5vcmcvY3NzL3B1cnBsZS5jc3MiLCJy
ZXF1ZXN0TWV0aG9kIjoiR0VUIn0sInR5cGUiOiJSZXNvdXJjZVNlbmRSZXF1ZXN0IiwidXNlZEhl
YXBTaXplIjoyMzY3MTkyLCJ0b3RhbEhlYXBTaXplIjo3NjI5MTIwfSwKKyAgICAgICAgICAgICAg
ICB7InN0YXJ0VGltZSI6MTMxMDc0OTg1NTEzOC4zMDgsImRhdGEiOnsicmVxdWVzdElkIjo1MCwi
dXJsIjoiaHR0cDovL3d3dy53ZWJraXQub3JnL2Nzcy9ncmF5LmNzcyIsInJlcXVlc3RNZXRob2Qi
OiJHRVQifSwidHlwZSI6IlJlc291cmNlU2VuZFJlcXVlc3QiLCJ1c2VkSGVhcFNpemUiOjIzNjcx
OTIsInRvdGFsSGVhcFNpemUiOjc2MjkxMjB9CisgICAgICAgICAgICBdOworICAgICAgICAgICAg
dmFyIGlucHV0ID0gSlNPTi5zdHJpbmdpZnkoZGF0YSk7CisgICAgICAgICAgICBydW5UZXN0V2l0
aERhdGFBbmRDaGVjayhpbnB1dCwgZGF0YSk7CisgICAgICAgICAgICBuZXh0KCk7CisgICAgICAg
IH0sCisKKyAgICAgICAgZnVuY3Rpb24gdGVzdEluY29tcGF0aWJsZShuZXh0KQorICAgICAgICB7
CisgICAgICAgICAgICB2YXIgZGF0YSA9IFsiVmVyc2lvbiIsCisgICAgICAgICAgICAgICAgeyJz
dGFydFRpbWUiOjEzMTA3NDk4NTQzMTYuODQwOCwiZGF0YSI6eyJyZXF1ZXN0SWQiOjQzLCJ1cmwi
OiJodHRwOi8vd3d3LndlYmtpdC5vcmcvIiwicmVxdWVzdE1ldGhvZCI6IkdFVCJ9LCJ0eXBlIjoi
VW5rbm93blJlY29yZFR5cGUiLCJ1XCJzfWV9ZEhlYXBTaXplXFwiOjE4MTk5MzYsInRvdGFsSGVh
cFNpemUiOjc2MjkxMjB9CisgICAgICAgICAgICBdOworICAgICAgICAgICAgdmFyIGlucHV0ID0g
SlNPTi5zdHJpbmdpZnkoZGF0YSk7CisgICAgICAgICAgICBydW5UZXN0V2l0aERhdGFBbmRDaGVj
ayhpbnB1dCwgZGF0YSk7CisgICAgICAgICAgICBuZXh0KCk7CisgICAgICAgIH0sCisKKyAgICAg
ICAgZnVuY3Rpb24gdGVzdE1hbGZvcm1lZChuZXh0KQorICAgICAgICB7CisgICAgICAgICAgICB2
YXIgZGF0YSA9IFsiVmVyc2lvbiJdOworICAgICAgICAgICAgLy8gQXQgbGVhc3QgMSByZWNvcmQg
aXMgcGFyc2VkIGluIGZpcnN0IGNodW5rLgorICAgICAgICAgICAgdmFyIGlucHV0ID0gJ1siVmVy
c2lvbiIsJworICAgICAgICAgICAgICAgICsneyJzdGFydFRpbWUiOjEzMTA3NDk4NTQzMTYuODQw
OCwiZGF0YSI6eyJyZXF1ZXN0SWQiOjQzfSwidHlwZSI6IlVua25vd25SZWNvcmRUeXBlIn0sJwor
ICAgICAgICAgICAgICAgICsneyJzdGFydFRpbWUiOjEzMTA3NDk4NTQzMTYuODUwOCwiZGF0YSI6
eyJyZXF1ZXN0SWQiOjQzfSwidHlwZSI6IlVua25vd25SZWNvcmRUeXBlIn0sJworICAgICAgICAg
ICAgICAgICsneyJzdGFydFRpbWUiOjEzMTA3NDk4NTQzMTYuODYwOCwiZGF0YSI6eyJyZXF1ZXN0
SWQiOjQzfSwidHlwZSI6IlVua25vd25SZWNvcmRUeXBlIn0sJworICAgICAgICAgICAgICAgICsn
eyJzdGFydFRpbWUiOjEzMTA3NDk4NTQzMTYuODcwOCwiZGF0YSI6eyJyZXF1ZXN0SWQiOjQzX01B
TEZPUk1FRF9KU09OX30sInR5cGUiOiJVbmtub3duUmVjb3JkVHlwZSJ9XSc7CisgICAgICAgICAg
ICBydW5UZXN0V2l0aERhdGFBbmRDaGVjayhpbnB1dCwgZGF0YSk7CisgICAgICAgICAgICBuZXh0
KCk7CisgICAgICAgIH0KKyAgICBdKTsKK30KKworPC9zY3JpcHQ+Cis8L2hlYWQ+CisKKzxib2R5
IG9ubG9hZD0icnVuVGVzdCgpIj4KKzxwPgorVGVzdHMgdGhlIFRpbWVsaW5lIHNhdmUvbG9hZCBm
dW5jdGlvbmFsaXR5LgorPC9wPgorCis8cD4KK0Fsc28gdGVzdHMgc2F2ZS9sb2FkIG9mIHVua25v
d24gKGluY29tcGF0aWJsZSkgcmVjb3JkIHR5cGVzLiA8YSBocmVmPSJodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTE3MTQiPihCdWcgOTE3MTQpPC9hPgorPC9wPgorCis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xl
dGUvdGltZWxpbmUvdGltZWxpbmUtbmV0d29yay1yZWNlaXZlZC1kYXRhLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS90aW1lbGluZS90aW1lbGluZS1uZXR3b3Jr
LXJlY2VpdmVkLWRhdGEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBjZjBlMzQxMjdjNWY2YmZj
OTgyMmVhNGZjYWI2ODQwN2JjZThkMzIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9p
bnNwZWN0b3Itb2Jzb2xldGUvdGltZWxpbmUvdGltZWxpbmUtbmV0d29yay1yZWNlaXZlZC1kYXRh
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDYgQEAKK0NPTlNPTEUgTUVTU0FHRTogbGluZSA3OiBT
Y3JpcHQgZXZhbHVhdGVkCitUZXN0cyB0aGUgVGltZWxpbmUgQVBJIGluc3RydW1lbnRhdGlvbiBv
ZiBhIG5ldHdvcmsgcmVzb3VyY2UgcmVjZWl2ZWQgZGF0YQorCitTY3JpcHQgcmVzb3VyY2UgbG9h
ZGVkCitSZXNvdXJjZSByZWNlaXZlZCBkYXRhIGhhcyBsZW5ndGgsIHRlc3QgcGFzc2VkLgorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvdGltZWxpbmUvdGltZWxp
bmUtbmV0d29yay1yZWNlaXZlZC1kYXRhLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jz
b2xldGUvdGltZWxpbmUvdGltZWxpbmUtbmV0d29yay1yZWNlaXZlZC1kYXRhLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMWJmYjg4YTgxOGIzZjBlYjQzMmI0MjMxYWNjZWQ3ODI1OTQ4ODQ0MAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS90aW1lbGluZS90aW1lbGlu
ZS1uZXR3b3JrLXJlY2VpdmVkLWRhdGEuaHRtbApAQCAtMCwwICsxLDU3IEBACis8aHRtbD4KKzxo
ZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10
ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rv
ci90aW1lbGluZS10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisKK3ZhciBzY3JpcHRVcmwg
PSAidGltZWxpbmUtbmV0d29yay1yZXNvdXJjZS5qcyI7CisKK2Z1bmN0aW9uIHBlcmZvcm1BY3Rp
b25zKCkgCit7CisgICAgdmFyIGltYWdlID0gbmV3IEltYWdlKCk7CisgICAgaW1hZ2Uuc3JjID0g
InJlc291cmNlcy9hbkltYWdlLnBuZyI7CisgICAgdmFyIHNjcmlwdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInNjcmlwdCIpOworICAgIHNjcmlwdC5zcmMgPSBzY3JpcHRVcmw7CisgICAgZG9j
dW1lbnQuYm9keS5hcHBlbmRDaGlsZChzY3JpcHQpOworfQorCitmdW5jdGlvbiB0ZXN0KCkKK3sK
KyAgICB2YXIgc2NyaXB0VXJsID0gInRpbWVsaW5lLW5ldHdvcmstcmVzb3VyY2UuanMiOworCisg
ICAgdmFyIGNhbGxlZE9uY2U7CisKKyAgICBJbnNwZWN0b3JUZXN0LnN0YXJ0VGltZWxpbmUoZnVu
Y3Rpb24oKSB7CisgICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoInBlcmZvcm1B
Y3Rpb25zKCkiKTsKKyAgICB9KTsKKworICAgIEluc3BlY3RvclRlc3Qud2FpdEZvclJlY29yZFR5
cGUoIlJlc291cmNlUmVjZWl2ZWREYXRhIiwgZmluaXNoKTsKKworICAgIGZ1bmN0aW9uIGZpbmlz
aChvYmplY3QpCisgICAgeworICAgICAgICBmb3IgKHZhciBwcm9wIGluIG9iamVjdCkgeworICAg
ICAgICAgICAgaWYgKCFJbnNwZWN0b3JUZXN0LnRpbWVsaW5lUHJvcGVydHlGb3JtYXR0ZXJzW3By
b3BdKSB7CisgICAgICAgICAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gb2JqZWN0W3Byb3Bd
KSB7CisgICAgICAgICAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gImVuY29kZWREYXRhTGVu
Z3RoIikgeworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFjYWxsZWRPbmNlKSB7CisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY2FsbGVkT25jZSA9IHRydWU7CisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIlJlc291cmNlIHJlY2VpdmVk
IGRhdGEgaGFzIGxlbmd0aCwgdGVzdCBwYXNzZWQuIik7CisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKKyAgICAgICAgICAgICAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0K
K30KKworPC9zY3JpcHQ+Cis8L2hlYWQ+CisKKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KKzxw
PgorVGVzdHMgdGhlIFRpbWVsaW5lIEFQSSBpbnN0cnVtZW50YXRpb24gb2YgYSBuZXR3b3JrIHJl
c291cmNlIHJlY2VpdmVkIGRhdGEKKzwvcD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS90aW1lbGluZS90aW1lbGluZS1uZXR3b3Jr
LXJlc291cmNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS90
aW1lbGluZS90aW1lbGluZS1uZXR3b3JrLXJlc291cmNlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4wNzg3M2M0YTAyZWUzOWJkZTczYzE1YzQ3OWM5OWNkMTBjMDM2OTM3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3RpbWVsaW5lL3RpbWVsaW5lLW5l
dHdvcmstcmVzb3VyY2UtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNDkgQEAKK0NPTlNPTEUgTUVT
U0FHRTogbGluZSA3OiBTY3JpcHQgZXZhbHVhdGVkCitUZXN0cyB0aGUgVGltZWxpbmUgQVBJIGlu
c3RydW1lbnRhdGlvbiBvZiBhIG5ldHdvcmsgcmVzb3VyY2UgbG9hZAorCitTY3JpcHQgcmVzb3Vy
Y2UgbG9hZGVkCisKK1Jlc291cmNlU2VuZFJlcXVlc3QgUHJvcGVydGllczoKK3sKKyAgICBjb3Vu
dGVycyA6IDxvYmplY3Q+CisgICAgZGF0YSA6IHsKKyAgICAgICAgcmVxdWVzdElkIDogPHN0cmlu
Zz4KKyAgICAgICAgcmVxdWVzdE1ldGhvZCA6ICJHRVQiCisgICAgICAgIHVybCA6IDxzdHJpbmc+
CisgICAgfQorICAgIGZyYW1lSWQgOiA8c3RyaW5nPgorICAgIHN0YWNrVHJhY2UgOiA8b2JqZWN0
PgorICAgIHN0YXJ0VGltZSA6IDxudW1iZXI+CisgICAgdHlwZSA6ICJSZXNvdXJjZVNlbmRSZXF1
ZXN0IgorICAgIHVzZWRIZWFwU2l6ZSA6IDxudW1iZXI+Cit9CisKK1Jlc291cmNlUmVjZWl2ZVJl
c3BvbnNlIFByb3BlcnRpZXM6Cit7CisgICAgY2hpbGRyZW4gOiA8b2JqZWN0PgorICAgIGNvdW50
ZXJzIDogPG9iamVjdD4KKyAgICBkYXRhIDogeworICAgICAgICBtaW1lVHlwZSA6IDxzdHJpbmc+
CisgICAgICAgIHJlcXVlc3RJZCA6IDxzdHJpbmc+CisgICAgICAgIHN0YXR1c0NvZGUgOiAwCisg
ICAgfQorICAgIGVuZFRpbWUgOiA8bnVtYmVyPgorICAgIGZyYW1lSWQgOiA8c3RyaW5nPgorICAg
IHN0YXJ0VGltZSA6IDxudW1iZXI+CisgICAgdHlwZSA6ICJSZXNvdXJjZVJlY2VpdmVSZXNwb25z
ZSIKKyAgICB1c2VkSGVhcFNpemUgOiA8bnVtYmVyPgorfQorCitSZXNvdXJjZUZpbmlzaCBQcm9w
ZXJ0aWVzOgoreworICAgIGNvdW50ZXJzIDogPG9iamVjdD4KKyAgICBkYXRhIDogeworICAgICAg
ICBkaWRGYWlsIDogZmFsc2UKKyAgICAgICAgcmVxdWVzdElkIDogPHN0cmluZz4KKyAgICB9Cisg
ICAgZnJhbWVJZCA6IDxzdHJpbmc+CisgICAgc3RhcnRUaW1lIDogPG51bWJlcj4KKyAgICB0eXBl
IDogIlJlc291cmNlRmluaXNoIgorICAgIHVzZWRIZWFwU2l6ZSA6IDxudW1iZXI+Cit9CisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS90aW1lbGluZS90aW1lbGlu
ZS1uZXR3b3JrLXJlc291cmNlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUv
dGltZWxpbmUvdGltZWxpbmUtbmV0d29yay1yZXNvdXJjZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRhMTJi
NWIwMDNmZjFkZTRkMzE1ZGFhYTU3Y2U1MTk4OWIyOWI5Y2EKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvdGltZWxpbmUvdGltZWxpbmUtbmV0d29yay1y
ZXNvdXJjZS5odG1sCkBAIC0wLDAgKzEsMTA0IEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci90aW1lbGluZS10ZXN0
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisKK3ZhciBzY3JpcHRVcmwgPSAidGltZWxpbmUtbmV0
d29yay1yZXNvdXJjZS5qcyI7CisKK2Z1bmN0aW9uIHBlcmZvcm1BY3Rpb25zKCkgCit7CisgICAg
dmFyIHNjcmlwdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpOworICAgIHNjcmlw
dC5zcmMgPSBzY3JpcHRVcmw7CisgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChzY3JpcHQp
OworfQorCitmdW5jdGlvbiB0ZXN0KCkKK3sKKyAgICB2YXIgcmVxdWVzdElkOworICAgIHZhciBz
Y3JpcHRVcmwgPSAidGltZWxpbmUtbmV0d29yay1yZXNvdXJjZS5qcyI7CisKKyAgICBXZWJJbnNw
ZWN0b3Iuc2hvd1BhbmVsKCJ0aW1lbGluZSIpOworICAgIHZhciBtb2RlbCA9IFdlYkluc3BlY3Rv
ci5wYW5lbHMudGltZWxpbmUuX21vZGVsOworICAgIHZhciBwcmVzZW50YXRpb25Nb2RlbCA9IFdl
Ykluc3BlY3Rvci5wYW5lbHMudGltZWxpbmUuX3ByZXNlbnRhdGlvbk1vZGVsOworICAgIHByZXNl
bnRhdGlvbk1vZGVsLnNldEdsdWVSZWNvcmRzKHRydWUpOworCisgICAgSW5zcGVjdG9yVGVzdC5z
dGFydFRpbWVsaW5lKHN0ZXAxKTsKKworICAgIGZ1bmN0aW9uIHN0ZXAxKCkKKyAgICB7CisgICAg
ICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoInBlcmZvcm1BY3Rpb25zKCkiKTsKKyAg
ICAgICAgSW5zcGVjdG9yVGVzdC5hZGRDb25zb2xlU25pZmZlcihzdGVwMik7CisgICAgfQorCisg
ICAgZnVuY3Rpb24gc3RlcDIoKQorICAgIHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5zdG9wVGlt
ZWxpbmUoc3RlcDMpOworICAgIH0KKworICAgIGZ1bmN0aW9uIHN0ZXAzKCkKKyAgICB7CisgICAg
ICAgIHZhciBsYXN0UmVjb3JkU3RhcnRUaW1lOworICAgICAgICBmdW5jdGlvbiBmb3JtYXQocmVj
b3JkKQorICAgICAgICB7CisgICAgICAgICAgICBpZiAocmVjb3JkLnR5cGUgPT09IFdlYkluc3Bl
Y3Rvci5UaW1lbGluZU1vZGVsLlJlY29yZFR5cGUuUmVzb3VyY2VTZW5kUmVxdWVzdCkKKyAgICAg
ICAgICAgICAgICBwcmludFNlbmQocmVjb3JkLl9yZWNvcmQpOworICAgICAgICAgICAgZWxzZSBp
ZiAocmVjb3JkLnR5cGUgPT09IFdlYkluc3BlY3Rvci5UaW1lbGluZU1vZGVsLlJlY29yZFR5cGUu
UmVzb3VyY2VSZWNlaXZlUmVzcG9uc2UpCisgICAgICAgICAgICAgICAgcHJpbnRSZWNlaXZlKHJl
Y29yZC5fcmVjb3JkKTsKKyAgICAgICAgICAgIGVsc2UgaWYgKHJlY29yZC50eXBlID09PSBXZWJJ
bnNwZWN0b3IuVGltZWxpbmVNb2RlbC5SZWNvcmRUeXBlLlJlc291cmNlRmluaXNoKQorICAgICAg
ICAgICAgICAgIHByaW50RmluaXNoKHJlY29yZC5fcmVjb3JkKTsKKworICAgICAgICAgICAgaWYg
KHJlY29yZC5wYXJlbnQgJiYgcmVjb3JkLnBhcmVudC50eXBlID09PSBXZWJJbnNwZWN0b3IuVGlt
ZWxpbmVNb2RlbC5SZWNvcmRUeXBlLlJvb3QpIHsKKyAgICAgICAgICAgICAgICBpZiAobGFzdFJl
Y29yZFN0YXJ0VGltZSkKKyAgICAgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRH
cmVhdGVyT3JFcXVhbChyZWNvcmQuc3RhcnRUaW1lLCBsYXN0UmVjb3JkU3RhcnRUaW1lLCAiVG9w
IGxldmVsIHJlY29yZHMgb3JkZXIgdmlvbGF0aW9uIik7CisgICAgICAgICAgICAgICAgbGFzdFJl
Y29yZFN0YXJ0VGltZSA9IHJlY29yZC5zdGFydFRpbWU7CisgICAgICAgICAgICB9CisgICAgICAg
IH0KKyAgICAgICAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lUHJlc2VudGF0aW9uTW9kZWwuZm9yQWxs
UmVjb3JkcyhbcHJlc2VudGF0aW9uTW9kZWwucm9vdFJlY29yZCgpXSwgZm9ybWF0KTsKKyAgICAg
ICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBw
cmludFJlY29yZChyZWNvcmQpCisgICAgeworICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3Vs
dCgiIik7CisgICAgICAgIEluc3BlY3RvclRlc3QucHJpbnRUaW1lbGluZVJlY29yZFByb3BlcnRp
ZXMocmVjb3JkKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBwcmludFNlbmQocmVjb3JkKQorICAg
IHsKKyAgICAgICAgcHJpbnRSZWNvcmQocmVjb3JkKTsKKyAgICAgICAgcmVxdWVzdElkID0gcmVj
b3JkLmRhdGEucmVxdWVzdElkOworICAgICAgICBpZiAocmVjb3JkLmRhdGEudXJsID09PSB1bmRl
ZmluZWQpIAorICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIiogTm8gJ3VybCcg
cHJvcGVydHkgaW4gcmVjb3JkIik7CisgICAgICAgIGVsc2UgaWYgKHJlY29yZC5kYXRhLnVybC5p
bmRleE9mKHNjcmlwdFVybCkgPT09IC0xKQorICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRS
ZXN1bHQoIiogRGlkbid0IGZpbmQgVVJMOiAiICsgc2NyaXB0VXJsKTsKKyAgICB9CisKKyAgICBm
dW5jdGlvbiBwcmludFJlY2VpdmUocmVjb3JkKQorICAgIHsKKyAgICAgICAgcHJpbnRSZWNvcmQo
cmVjb3JkKTsKKyAgICAgICAgaWYgKHJlcXVlc3RJZCAhPT0gcmVjb3JkLmRhdGEucmVxdWVzdElk
KQorICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIkRpZG4ndCBmaW5kIG1hdGNo
aW5nIHJlcXVlc3RJZDogIiArIHJlcXVlc3RJZCk7CisgICAgICAgIGlmIChyZWNvcmQuZGF0YS5z
dGF0dXNDb2RlICE9PSAwKQorICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIlJl
c3BvbnNlIHJlY2VpdmVkIHN0YXR1czogIiArIHJlY29yZC5kYXRhLnN0YXR1c0NvZGUpOworICAg
IH0KKworICAgIGZ1bmN0aW9uIHByaW50RmluaXNoKHJlY29yZCkKKyAgICB7CisgICAgICAgIHBy
aW50UmVjb3JkKHJlY29yZCk7CisgICAgICAgIGlmIChyZXF1ZXN0SWQgIT09IHJlY29yZC5kYXRh
LnJlcXVlc3RJZCkKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJEaWRuJ3Qg
ZmluZCBtYXRjaGluZyByZXF1ZXN0SWQ6ICIgKyByZXF1ZXN0SWQpOworICAgICAgICBpZiAocmVj
b3JkLmRhdGEuZGlkRmFpbCkKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJS
ZXF1ZXN0IGZhaWxlZC4iKTsKKyAgICB9Cit9CisKKzwvc2NyaXB0PgorPC9oZWFkPgorCis8Ym9k
eSBvbmxvYWQ9InJ1blRlc3QoKSI+Cis8cD4KK1Rlc3RzIHRoZSBUaW1lbGluZSBBUEkgaW5zdHJ1
bWVudGF0aW9uIG9mIGEgbmV0d29yayByZXNvdXJjZSBsb2FkCis8L3A+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvdGltZWxpbmUv
dGltZWxpbmUtbmV0d29yay1yZXNvdXJjZS5qcyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNv
bGV0ZS90aW1lbGluZS90aW1lbGluZS1uZXR3b3JrLXJlc291cmNlLmpzCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU0
ODk3NmUwMDE5ZmExMDE4YWNlMGU3NTE1ZjZhM2JhMDA5ZGY5ZGQKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvdGltZWxpbmUvdGltZWxpbmUtbmV0d29y
ay1yZXNvdXJjZS5qcwpAQCAtMCwwICsxLDcgQEAKKy8vIFNhbXBsZSBzY3JpcHQgcmVzb3VyY2Ug
dG8gZmluZCBpbiB0aW1lbGluZSBkYXRhCisKK3ZhciBlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgiZGl2Iik7CitlbGVtZW50LmlubmVySFRNTCA9ICJTY3JpcHQgcmVzb3VyY2UgbG9h
ZGVkIjsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZWxlbWVudCk7CisKK2NvbnNvbGUubG9n
KCJTY3JpcHQgZXZhbHVhdGVkIik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3It
b2Jzb2xldGUvdGltZWxpbmUvdGltZWxpbmUtcGFpbnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yLW9ic29sZXRlL3RpbWVsaW5lL3RpbWVsaW5lLXBhaW50LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xNThiZWVhN2E3NjRlZDBiM2RkNjZlOTkzOTJkZDFhYWRjZGFmNTllCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3RpbWVsaW5l
L3RpbWVsaW5lLXBhaW50LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE4IEBACitUZXN0cyB0aGUg
VGltZWxpbmUgQVBJIGluc3RydW1lbnRhdGlvbiBvZiBhIHBhaW50IGV2ZW50CisKKworUGFpbnQg
UHJvcGVydGllczoKK3sKKyAgICBjaGlsZHJlbiA6IDxvYmplY3Q+CisgICAgY291bnRlcnMgOiA8
b2JqZWN0PgorICAgIGRhdGEgOiB7CisgICAgICAgIGNsaXAgOiA8b2JqZWN0PgorICAgIH0KKyAg
ICBlbmRUaW1lIDogPG51bWJlcj4KKyAgICBmcmFtZUlkIDogPHN0cmluZz4KKyAgICBzdGFja1Ry
YWNlIDogPG9iamVjdD4KKyAgICBzdGFydFRpbWUgOiA8bnVtYmVyPgorICAgIHR5cGUgOiAiUGFp
bnQiCisgICAgdXNlZEhlYXBTaXplIDogPG51bWJlcj4KK30KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3RpbWVsaW5lL3RpbWVsaW5lLXBhaW50Lmh0bWwgYi9M
YXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvdGltZWxpbmUvdGltZWxpbmUtcGFpbnQuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43NzhlZDU2NDBiMTQ3ZDc5NmRlZWU5NDAxOWIwYmE3YTg5N2YzNDE3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3RpbWVsaW5l
L3RpbWVsaW5lLXBhaW50Lmh0bWwKQEAgLTAsMCArMSw3OSBAQAorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvdGltZWxp
bmUtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorCitmdW5jdGlvbiBkaXNwbGF5KCkKK3sK
KyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHRlc3RSdW5uZXIuZGlzcGxheSgp
OworfQorCitmdW5jdGlvbiB1cGRhdGVTdWJmcmFtZUFuZERpc3BsYXkoKQoreworICAgIGZyYW1l
c1swXS5kb2N1bWVudC5ib2R5LmNoaWxkcmVuWzBdLnN0eWxlLmJhY2tncm91bmRDb2xvciA9ICJn
cmVlbiI7CisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICB0ZXN0UnVubmVyLmRp
c3BsYXlJbnZhbGlkYXRlZFJlZ2lvbigpOworfQorCitmdW5jdGlvbiB0ZXN0KCkKK3sKKyAgICBz
dGVwMSgpOworCisgICAgZnVuY3Rpb24gc3RlcDEoKQorICAgIHsKKyAgICAgICAgSW5zcGVjdG9y
VGVzdC5ldmFsdWF0ZVdpdGhUaW1lbGluZSgiZGlzcGxheSgpIiwgc3RlcDIpOworICAgIH0KKwor
ICAgIGZ1bmN0aW9uIHN0ZXAyKHJlY29yZHMpCisgICAgeworICAgICAgICBmb3IgKHZhciBpID0g
MDsgaSA8IHJlY29yZHMubGVuZ3RoOyArK2kpIHsKKyAgICAgICAgICAgIHZhciByZWNvcmQgPSBy
ZWNvcmRzW2ldOworICAgICAgICAgICAgaWYgKHJlY29yZC50eXBlID09PSBXZWJJbnNwZWN0b3Iu
VGltZWxpbmVNb2RlbC5SZWNvcmRUeXBlLlBhaW50KSB7CisgICAgICAgICAgICAgICAgSW5zcGVj
dG9yVGVzdC5wcmludFRpbWVsaW5lUmVjb3JkUHJvcGVydGllcyhyZWNvcmQpOworICAgICAgICAg
ICAgICAgIGJyZWFrOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIEluc3BlY3Rv
clRlc3QuZXZhbHVhdGVXaXRoVGltZWxpbmUoInVwZGF0ZVN1YmZyYW1lQW5kRGlzcGxheSgpIiwg
c3RlcDMpOworICAgIH0KKworICAgIGZ1bmN0aW9uIHN0ZXAzKHJlY29yZHMpCisgICAgeworICAg
ICAgICB2YXIgcGFpbnRSZWNvcmQ7CisgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcmVjb3Jk
cy5sZW5ndGg7ICsraSkgeworICAgICAgICAgICAgdmFyIHJlY29yZCA9IHJlY29yZHNbaV07Cisg
ICAgICAgICAgICBpZiAocmVjb3JkLnR5cGUgPT09IFdlYkluc3BlY3Rvci5UaW1lbGluZU1vZGVs
LlJlY29yZFR5cGUuUGFpbnQgJiYgcmVjb3JkLmNoaWxkcmVuICYmIHJlY29yZC5jaGlsZHJlbi5s
ZW5ndGgpIHsKKyAgICAgICAgICAgICAgICBwYWludFJlY29yZCA9IHJlY29yZDsKKyAgICAgICAg
ICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICBJbnNwZWN0
b3JUZXN0LmFzc2VydFRydWUocGFpbnRSZWNvcmQsICJQYWludCByZWNvcmQgd2l0aCBzdWJmcmFt
ZSBwYWludCBub3QgZm91bmQiKTsKKyAgICAgICAgdmFyIHRvcFF1YWQgPSBwYWludFJlY29yZC5k
YXRhLmNsaXA7CisgICAgICAgIHZhciBzdWJmcmFtZVBhaW50ID0gcGFpbnRSZWNvcmQuY2hpbGRy
ZW5bMF07CisgICAgICAgIHZhciBzdWJmcmFtZVF1YWQgPSBzdWJmcmFtZVBhaW50LmRhdGEuY2xp
cDsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRFcXVhbHMoOCwgdG9wUXVhZC5sZW5ndGgp
OworICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydEVxdWFscyg4LCBzdWJmcmFtZVF1YWQubGVu
Z3RoKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRHcmVhdGVyT3JFcXVhbChzdWJmcmFt
ZVF1YWRbMF0sIHRvcFF1YWRbMF0pOworICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydEdyZWF0
ZXJPckVxdWFsKHN1YmZyYW1lUXVhZFsxXSwgdG9wUXVhZFsxXSk7CisgICAgICAgIEluc3BlY3Rv
clRlc3QuYXNzZXJ0R3JlYXRlck9yRXF1YWwodG9wUXVhZFsyXSwgc3ViZnJhbWVRdWFkWzJdKTsK
KyAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRHcmVhdGVyT3JFcXVhbChzdWJmcmFtZVF1YWRb
M10sIHRvcFF1YWRbM10pOworICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydEdyZWF0ZXJPckVx
dWFsKHRvcFF1YWRbNF0sIHN1YmZyYW1lUXVhZFs0XSk7CisgICAgICAgIEluc3BlY3RvclRlc3Qu
YXNzZXJ0R3JlYXRlck9yRXF1YWwodG9wUXVhZFs1XSwgc3ViZnJhbWVRdWFkWzVdKTsKKyAgICAg
ICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRHcmVhdGVyT3JFcXVhbChzdWJmcmFtZVF1YWRbNl0sIHRv
cFF1YWRbNl0pOworICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydEdyZWF0ZXJPckVxdWFsKHRv
cFF1YWRbN10sIHN1YmZyYW1lUXVhZFs3XSk7CisKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21w
bGV0ZVRlc3QoKTsKKyAgICB9Cit9CisKKzwvc2NyaXB0PgorPC9oZWFkPgorCis8Ym9keSBvbmxv
YWQ9InJ1blRlc3QoKSI+Cis8cD4KK1Rlc3RzIHRoZSBUaW1lbGluZSBBUEkgaW5zdHJ1bWVudGF0
aW9uIG9mIGEgcGFpbnQgZXZlbnQKKzwvcD4KKzxpZnJhbWUgc3JjPSJyZXNvdXJjZXMvdGltZWxp
bmUtaWZyYW1lLXBhaW50Lmh0bWwiIHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IDQw
cHg7IHRvcDogNDBweDsgd2lkdGg6IDEwMHB4OyBoZWlnaHQ6IDEwMHB4OyBib3JkZXI6IG5vbmUi
PjwvaWZyYW1lPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yLW9ic29sZXRlL3RpbWVsaW5lL3RpbWVsaW5lLXBhcnNlLWh0bWwtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3RpbWVsaW5lL3RpbWVsaW5lLXBhcnNl
LWh0bWwtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBmOGQ3M2I5NTY2MTc5ODU4YWYyNTE2NjIz
ZWNjODQ5M2I0MjhmNzYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3It
b2Jzb2xldGUvdGltZWxpbmUvdGltZWxpbmUtcGFyc2UtaHRtbC1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNCBAQAorVGVzdHMgdGhlIFRpbWVsaW5lIEFQSSBpbnN0cnVtZW50YXRpb24gb2YgUGFy
c2VIVE1MCisKK1Rlc3QgZGF0YQorUGFyc2VIVE1MIFByb3BlcnRpZXM6Cit7CisgICAgY2hpbGRy
ZW4gOiA8b2JqZWN0PgorICAgIGNvdW50ZXJzIDogPG9iamVjdD4KKyAgICBkYXRhIDogeworICAg
ICAgICBlbmRMaW5lIDogMAorICAgICAgICBzdGFydExpbmUgOiAwCisgICAgfQorICAgIGVuZFRp
bWUgOiA8bnVtYmVyPgorICAgIGZyYW1lSWQgOiA8c3RyaW5nPgorICAgIHN0YWNrVHJhY2UgOiA8
b2JqZWN0PgorICAgIHN0YXJ0VGltZSA6IDxudW1iZXI+CisgICAgdHlwZSA6ICJQYXJzZUhUTUwi
CisgICAgdXNlZEhlYXBTaXplIDogPG51bWJlcj4KK30KK1BhcnNlSFRNTCBQcm9wZXJ0aWVzOgor
eworICAgIGNoaWxkcmVuIDogPG9iamVjdD4KKyAgICBjb3VudGVycyA6IDxvYmplY3Q+CisgICAg
ZGF0YSA6IHsKKyAgICAgICAgZW5kTGluZSA6IDAKKyAgICAgICAgc3RhcnRMaW5lIDogMAorICAg
IH0KKyAgICBlbmRUaW1lIDogPG51bWJlcj4KKyAgICBmcmFtZUlkIDogPHN0cmluZz4KKyAgICBz
dGFja1RyYWNlIDogPG9iamVjdD4KKyAgICBzdGFydFRpbWUgOiA8bnVtYmVyPgorICAgIHR5cGUg
OiAiUGFyc2VIVE1MIgorICAgIHVzZWRIZWFwU2l6ZSA6IDxudW1iZXI+Cit9CisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS90aW1lbGluZS90aW1lbGluZS1wYXJz
ZS1odG1sLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvdGltZWxpbmUvdGlt
ZWxpbmUtcGFyc2UtaHRtbC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYyNjIxYTRmNjM1NDFhZGY0NzRhM2Ix
NWZiZmE4NTBlM2Q3M2UwMzQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0
b3Itb2Jzb2xldGUvdGltZWxpbmUvdGltZWxpbmUtcGFyc2UtaHRtbC5odG1sCkBAIC0wLDAgKzEs
MjggQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNw
ZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2h0
dHAvdGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4K
KworZnVuY3Rpb24gcGVyZm9ybUFjdGlvbnMoKQoreworICAgIHZhciBlbGVtZW50ID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CisgICAgZWxlbWVudC5pbm5lckhUTUwgPSAiVGVzdCBk
YXRhIjsKKyAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGVsZW1lbnQpOworfQorCitmdW5j
dGlvbiB0ZXN0KCkKK3sKKyAgICBJbnNwZWN0b3JUZXN0LnBlcmZvcm1BY3Rpb25zQW5kUHJpbnQo
InBlcmZvcm1BY3Rpb25zKCkiLCAiUGFyc2VIVE1MIik7Cit9CisKKzwvc2NyaXB0PgorPC9oZWFk
PgorCis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Cis8cD4KK1Rlc3RzIHRoZSBUaW1lbGluZSBB
UEkgaW5zdHJ1bWVudGF0aW9uIG9mIFBhcnNlSFRNTCAKKzwvcD4KKworPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3RpbWVsaW5lL3Rp
bWVsaW5lLXJlY2FsY3VsYXRlLXN0eWxlcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3Itb2Jzb2xldGUvdGltZWxpbmUvdGltZWxpbmUtcmVjYWxjdWxhdGUtc3R5bGVzLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5lMzc5M2U5YjRkZWJkNDIxNzNjMmNmZDhiNzQzNWY5ZmY5NWQ4
MWYyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3Rp
bWVsaW5lL3RpbWVsaW5lLXJlY2FsY3VsYXRlLXN0eWxlcy1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxNiBAQAorVGVzdHMgdGhlIFRpbWVsaW5lIEFQSSBpbnN0cnVtZW50YXRpb24gb2YgYSBzdHls
ZSByZWNhbGN1bGF0aW9uIGV2ZW50CisKK1Rlc3QgZGF0YQorUmVjYWxjdWxhdGVTdHlsZXMgUHJv
cGVydGllczoKK3sKKyAgICBjaGlsZHJlbiA6IDxvYmplY3Q+CisgICAgY291bnRlcnMgOiA8b2Jq
ZWN0PgorICAgIGRhdGEgOiB7CisgICAgfQorICAgIGVuZFRpbWUgOiA8bnVtYmVyPgorICAgIGZy
YW1lSWQgOiA8c3RyaW5nPgorICAgIHN0YXJ0VGltZSA6IDxudW1iZXI+CisgICAgdHlwZSA6ICJS
ZWNhbGN1bGF0ZVN0eWxlcyIKKyAgICB1c2VkSGVhcFNpemUgOiA8bnVtYmVyPgorfQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvdGltZWxpbmUvdGltZWxpbmUt
cmVjYWxjdWxhdGUtc3R5bGVzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUv
dGltZWxpbmUvdGltZWxpbmUtcmVjYWxjdWxhdGUtc3R5bGVzLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTc2
YTM3MzBlYTMyZjU5OTEzOWIxODI3YWJjYmI0NjA1MDcxNGNkZAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS90aW1lbGluZS90aW1lbGluZS1yZWNhbGN1
bGF0ZS1zdHlsZXMuaHRtbApAQCAtMCwwICsxLDM2IEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci90aW1lbGluZS10
ZXN0LmpzIj48L3NjcmlwdD4KKworPHN0eWxlPgorLnRlc3Qtc3R5bGUgeworICAgIGNvbG9yOiBy
ZWQ7Cit9Cis8L3N0eWxlPgorCis8c2NyaXB0PgorCitmdW5jdGlvbiBwZXJmb3JtQWN0aW9ucygp
Cit7CisgICAgdmFyIGVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKKyAg
ICBlbGVtZW50LmNsYXNzTmFtZSA9ICJ0ZXN0LXN0eWxlIjsKKyAgICBlbGVtZW50LmlubmVySFRN
TCA9ICJUZXN0IGRhdGEiOworICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZWxlbWVudCk7
Cit9CisKK2Z1bmN0aW9uIHRlc3QoKQoreworICAgIEluc3BlY3RvclRlc3QucGVyZm9ybUFjdGlv
bnNBbmRQcmludCgicGVyZm9ybUFjdGlvbnMoKSIsICJSZWNhbGN1bGF0ZVN0eWxlcyIpOworfQor
Cis8L3NjcmlwdD4KKzwvaGVhZD4KKworPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgorPHA+CitU
ZXN0cyB0aGUgVGltZWxpbmUgQVBJIGluc3RydW1lbnRhdGlvbiBvZiBhIHN0eWxlIHJlY2FsY3Vs
YXRpb24gZXZlbnQKKzwvcD4KKworPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3RpbWVsaW5lL3RpbWVsaW5lLXJlY2VpdmUtcmVzcG9u
c2UtZXZlbnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3Rp
bWVsaW5lL3RpbWVsaW5lLXJlY2VpdmUtcmVzcG9uc2UtZXZlbnQtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmFkOWZhNmMzMmI2NGU2NGM1MzFmZGFkOTg0ZGYzNTFmNjU2Y2RjMGUKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvdGltZWxpbmUvdGltZWxp
bmUtcmVjZWl2ZS1yZXNwb25zZS1ldmVudC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNyBAQAor
VGVzdHMgdGhlIFRpbWVsaW5lIEFQSSBpbnN0cnVtZW50YXRpb24gb2YgYSBTZW5kUmVxdWVzdCwg
UmVjZWl2ZVJlc3BvbnNlIGV0Yy4KKworRnVuY3Rpb25DYWxsCitGdW5jdGlvbkNhbGwKK1Jlc291
cmNlU2VuZFJlcXVlc3QKKyAgICBSZXNvdXJjZVJlY2VpdmVSZXNwb25zZQorICAgIFJlc291cmNl
UmVjZWl2ZWREYXRhCisgICAgUmVzb3VyY2VGaW5pc2gKK0V2ZW50RGlzcGF0Y2gKKyAgICBGdW5j
dGlvbkNhbGwKK1Jlc291cmNlU2VuZFJlcXVlc3QKKyAgICBSZXNvdXJjZVJlY2VpdmVSZXNwb25z
ZQorICAgIFJlc291cmNlUmVjZWl2ZWREYXRhCisgICAgUmVzb3VyY2VGaW5pc2gKK0V2ZW50RGlz
cGF0Y2gKKyAgICBGdW5jdGlvbkNhbGwKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yLW9ic29sZXRlL3RpbWVsaW5lL3RpbWVsaW5lLXJlY2VpdmUtcmVzcG9uc2UtZXZlbnQuaHRt
bCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS90aW1lbGluZS90aW1lbGluZS1yZWNl
aXZlLXJlc3BvbnNlLWV2ZW50Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjZhZDYyMjI1ODY1ZTBhNDE5ZWJl
MjA0ZmZlNjIyNDE5MDNlMmJmZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci1vYnNvbGV0ZS90aW1lbGluZS90aW1lbGluZS1yZWNlaXZlLXJlc3BvbnNlLWV2ZW50Lmh0
bWwKQEAgLTAsMCArMSw3NyBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9o
dHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUtdGVzdC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0PgorCitmdW5jdGlvbiBwZXJmb3JtQWN0aW9ucygpCit7CisgICAgdmFyIGlt
YWdlID0gbmV3IEltYWdlKCk7CisgICAgaW1hZ2Uub25sb2FkID0gYmFyOworICAgIGltYWdlLnNy
YyA9ICJyZXNvdXJjZXMvYW5JbWFnZS5wbmciOworCisgICAgZnVuY3Rpb24gYmFyKCkgeworICAg
ICAgICB2YXIgaW1hZ2UgPSBuZXcgSW1hZ2UoKTsKKyAgICAgICAgaW1hZ2Uub25sb2FkID0gZnVu
Y3Rpb24oKSB7IHRlc3RSdW5uZXIuZXZhbHVhdGVJbldlYkluc3BlY3RvcigwLCAid2luZG93LnN0
ZXAyKCkiKTsgfQorICAgICAgICBpbWFnZS5zcmMgPSAicmVzb3VyY2VzL2Fub3RoZXJJbWFnZS5w
bmciOworICAgIH0KK30KKworZnVuY3Rpb24gdGVzdCgpCit7CisgICAgV2ViSW5zcGVjdG9yLnNo
b3dQYW5lbCgidGltZWxpbmUiKTsKKyAgICBXZWJJbnNwZWN0b3IucGFuZWxzLnRpbWVsaW5lLl9t
b2RlbC5fY29sbGVjdGlvbkVuYWJsZWQgPSB0cnVlOworICAgIFdlYkluc3BlY3Rvci5wYW5lbHMu
dGltZWxpbmUuX3ByZXNlbnRhdGlvbk1vZGVsLnNldEdsdWVSZWNvcmRzKHRydWUpOworICAgIFdl
Ykluc3BlY3Rvci5wYW5lbHMudGltZWxpbmUuX21vZGVsLl9jb2xsZWN0aW9uRW5hYmxlZCA9IHRy
dWU7CisKKyAgICBUaW1lbGluZUFnZW50LnN0YXJ0KHN0ZXAxKTsKKworICAgIGZ1bmN0aW9uIHN0
ZXAxKCkKKyAgICB7CisgICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoInBlcmZv
cm1BY3Rpb25zKCkiKTsKKyAgICB9CisKKyAgICB3aW5kb3cuc3RlcDIgPSBmdW5jdGlvbigpCisg
ICAgeworICAgICAgICBUaW1lbGluZUFnZW50LnN0b3Aoc3RlcDMpOworICAgIH0KKworICAgIGZ1
bmN0aW9uIHN0ZXAzKCkKKyAgICB7CisgICAgICAgIGZ1bmN0aW9uIGR1bXBGb3JtYXR0ZWRSZWNv
cmQocmVjb3JkLCBwcmVmaXgpCisgICAgICAgIHsKKyAgICAgICAgICAgICBwcmVmaXggPSBwcmVm
aXggfHwgIiI7CisgICAgICAgICAgICAgLy8gSGVyZSBhbmQgYmVsb3c6IHByZXRlbmQgY29hbGVz
Y2VkIHJlY29yZCBhcmUganVzdCBub3QgdGhlcmUsIGFzIGNvYWxlc2NhdGlvbiBpcyB0aW1lIGRl
cGVuZGVudCBhbmQsIGhlbmNlLCBub3Qgc3RhYmxlLgorICAgICAgICAgICAgIGlmICghcmVjb3Jk
LmNvYWxlc2NlZCAmJiByZWNvcmQudHlwZSAhPT0gIkdDRXZlbnQiKQorICAgICAgICAgICAgICAg
ICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdChwcmVmaXggKyByZWNvcmQudHlwZSk7CisgICAgICAg
ICAgICAgLy8gSWdub3JlIHN0cmF5IHBhaW50ICYgcmVuZGVyaW5nIGV2ZW50cyBmb3IgYmV0dGVy
IHN0YWJpbGl0eS4KKyAgICAgICAgICAgICBpZiAocmVjb3JkLmNhdGVnb3J5Lm5hbWUgIT09ICJs
b2FkaW5nIiAmJiByZWNvcmQuY2F0ZWdvcnkubmFtZSAhPT0gInNjcmlwdGluZyIpCisgICAgICAg
ICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgICBpZiAocmVjb3JkLl9jaGlsZHJlbikgewor
ICAgICAgICAgICAgICAgICB2YXIgY2hpbGRQcmVmaXggPSBwcmVmaXggKyAocmVjb3JkLmNvYWxl
c2NlZCA/ICIiIDogIiAgICAiKTsKKyAgICAgICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkg
PCByZWNvcmQuX2NoaWxkcmVuLmxlbmd0aDsgKytpKQorICAgICAgICAgICAgICAgICAgICAgZHVt
cEZvcm1hdHRlZFJlY29yZChyZWNvcmQuX2NoaWxkcmVuW2ldLCBjaGlsZFByZWZpeCk7CisgICAg
ICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIFdlYkluc3BlY3Rvci5wYW5lbHMudGltZWxp
bmUuX21vZGVsLl9jb2xsZWN0aW9uRW5hYmxlZCA9IGZhbHNlOworCisgICAgICAgIHZhciByZWNv
cmRzID0gV2ViSW5zcGVjdG9yLnBhbmVscy50aW1lbGluZS5fcm9vdFJlY29yZCgpLmNoaWxkcmVu
OworICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHJlY29yZHMubGVuZ3RoOyArK2kpCisgICAg
ICAgICAgICBkdW1wRm9ybWF0dGVkUmVjb3JkKHJlY29yZHNbaV0pOworICAgICAgICBJbnNwZWN0
b3JUZXN0LmNvbXBsZXRlVGVzdCgpOworICAgIH0KK30KKworaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICBzZXRUaW1lb3V0KHBlcmZvcm1BY3Rpb25zLCAzMDAwKTsKKworPC9zY3JpcHQ+Cis8
L2hlYWQ+CisKKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KKzxwPgorVGVzdHMgdGhlIFRpbWVs
aW5lIEFQSSBpbnN0cnVtZW50YXRpb24gb2YgYSBTZW5kUmVxdWVzdCwgUmVjZWl2ZVJlc3BvbnNl
IGV0Yy4KKzwvcD4KKworPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yLW9ic29sZXRlL3RpbWVsaW5lL3RpbWVsaW5lLXNjcmlwdC10YWctMS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvdGltZWxpbmUvdGltZWxpbmUt
c2NyaXB0LXRhZy0xLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMWU0NTU3MDJhM2ZkZjU4MTFi
ZjEzZGE0OGFjODRkZjM4MmUxM2YxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yLW9ic29sZXRlL3RpbWVsaW5lL3RpbWVsaW5lLXNjcmlwdC10YWctMS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwyNCBAQAorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDg6IGlmcmFtZSBsb2Fk
ZWQKK1Rlc3RzIHRoZSBUaW1lbGluZSBBUEkgaW5zdHJ1bWVudGF0aW9uIG9mIGFuIEhUTUwgc2Ny
aXB0IHRhZy4KKworCitQYXJzZUhUTUwKK1BhcnNlSFRNTAorLS0tLT4gRXZhbHVhdGVTY3JpcHQK
Ky0tLS0tLS0tPiBUaW1lU3RhbXAgOiBTQ1JJUFQgVEFHCitFdmFsdWF0ZVNjcmlwdCBQcm9wZXJ0
aWVzOgoreworICAgIGNoaWxkcmVuIDogPG9iamVjdD4KKyAgICBjb3VudGVycyA6IDxvYmplY3Q+
CisgICAgZGF0YSA6IHsKKyAgICAgICAgbGluZU51bWJlciA6IDxudW1iZXI+CisgICAgICAgIHVy
bCA6IDxzdHJpbmc+CisgICAgfQorICAgIGVuZFRpbWUgOiA8bnVtYmVyPgorICAgIGZyYW1lSWQg
OiA8c3RyaW5nPgorICAgIHN0YXJ0VGltZSA6IDxudW1iZXI+CisgICAgdHlwZSA6ICJFdmFsdWF0
ZVNjcmlwdCIKKyAgICB1c2VkSGVhcFNpemUgOiA8bnVtYmVyPgorfQorUGFyc2VIVE1MCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS90aW1lbGluZS90aW1lbGlu
ZS1zY3JpcHQtdGFnLTEuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS90aW1l
bGluZS90aW1lbGluZS1zY3JpcHQtdGFnLTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43ZmEyODFjNWFkNTYy
ZGQ0ZmJkZWYyMDhiNTM2OGY1MmIyNjQ0NjEwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yLW9ic29sZXRlL3RpbWVsaW5lL3RpbWVsaW5lLXNjcmlwdC10YWctMS5odG1s
CkBAIC0wLDAgKzEsNTggQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vaHR0
cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lLXRlc3QuanMiPjwvc2NyaXB0
PgorPHNjcmlwdD4KKworZnVuY3Rpb24gcGVyZm9ybUFjdGlvbnMoKQoreworICAgIHZhciBpZnJh
bWUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKTsKKyAgICBpZnJhbWUuc3JjID0g
InJlc291cmNlcy90aW1lbGluZS1pZnJhbWUtZGF0YS5odG1sIjsKKyAgICBkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKGlmcmFtZSk7Cit9CisKK2Z1bmN0aW9uIHRlc3QoKSAKK3sKKyAgICBJbnNw
ZWN0b3JUZXN0LnN0YXJ0VGltZWxpbmUoc3RlcDEpOworICAgIGZ1bmN0aW9uIHN0ZXAxKCkKKyAg
ICB7CisgICAgICAgIEluc3BlY3RvclRlc3QuYWRkQ29uc29sZVNuaWZmZXIoc3RlcDIpOworICAg
ICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJwZXJmb3JtQWN0aW9ucygpIik7Cisg
ICAgfQorCisgICAgZnVuY3Rpb24gc3RlcDIoKQorICAgIHsKKyAgICAgICAgSW5zcGVjdG9yVGVz
dC5zdG9wVGltZWxpbmUoc3RlcDMpOworICAgIH0KKworICAgIGZ1bmN0aW9uIHN0ZXAzKCkKKyAg
ICB7CisgICAgICAgIGZ1bmN0aW9uIGZvcm1hdChyZWNvcmQpCisgICAgICAgIHsKKyAgICAgICAg
ICAgIGlmIChyZWNvcmQudHlwZSA9PT0gV2ViSW5zcGVjdG9yLlRpbWVsaW5lTW9kZWwuUmVjb3Jk
VHlwZS5FdmFsdWF0ZVNjcmlwdCkKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LnByaW50
VGltZWxpbmVSZWNvcmRQcm9wZXJ0aWVzKHJlY29yZCk7CisgICAgICAgICAgICBlbHNlIGlmIChy
ZWNvcmQudHlwZSA9PT0gV2ViSW5zcGVjdG9yLlRpbWVsaW5lTW9kZWwuUmVjb3JkVHlwZS5QYXJz
ZUhUTUwpIHsKKyAgICAgICAgICAgICAgICB2YXIgY2hpbGRyZW4gPSBbXTsKKyAgICAgICAgICAg
ICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHJlY29yZC5jaGlsZHJlbi5sZW5ndGg7ICsraSkgewor
ICAgICAgICAgICAgICAgICAgICBpZiAocmVjb3JkLmNoaWxkcmVuW2ldLnR5cGUgIT09IFdlYklu
c3BlY3Rvci5UaW1lbGluZU1vZGVsLlJlY29yZFR5cGUuUmVjYWxjdWxhdGVTdHlsZXMpCisgICAg
ICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbi5wdXNoKHJlY29yZC5jaGlsZHJlbltpXSk7Cisg
ICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIHJlY29yZC5jaGlsZHJlbiA9IGNoaWxk
cmVuOworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZHVtcFRpbWVsaW5lUmVjb3JkKHJl
Y29yZCk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgSW5zcGVjdG9yVGVzdC5w
cmludFRpbWVsaW5lUmVjb3JkcyhudWxsLCBmb3JtYXQpOworICAgICAgICBJbnNwZWN0b3JUZXN0
LmNvbXBsZXRlVGVzdCgpOworICAgIH0KK30KKworPC9zY3JpcHQ+Cis8L2hlYWQ+CisKKzxib2R5
IG9ubG9hZD0icnVuVGVzdCgpIj4KKzxwPgorVGVzdHMgdGhlIFRpbWVsaW5lIEFQSSBpbnN0cnVt
ZW50YXRpb24gb2YgYW4gSFRNTCBzY3JpcHQgdGFnLgorPC9wPgorCis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvdGltZWxpbmUvdGlt
ZWxpbmUtc2NyaXB0LXRhZy0yLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1v
YnNvbGV0ZS90aW1lbGluZS90aW1lbGluZS1zY3JpcHQtdGFnLTItZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmM0MDZhOTI2ZTYxYTMwMDUyNjg5OGUzMDQyMDlmYmIyZTY3Nzk0MzQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvdGltZWxpbmUvdGltZWxp
bmUtc2NyaXB0LXRhZy0yLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE4IEBACitDT05TT0xFIE1F
U1NBR0U6IGxpbmUgMTogU0NSSVBUIFRBRworVGVzdHMgdGhlIFRpbWVsaW5lIEFQSSBpbnN0cnVt
ZW50YXRpb24gb2YgYSBzY3JpcHQgdGFnIHdpdGggYW4gZXh0ZXJuYWwgc2NyaXB0LgorCitFdmFs
dWF0ZVNjcmlwdCBQcm9wZXJ0aWVzOgoreworICAgIGNoaWxkcmVuIDogPG9iamVjdD4KKyAgICBj
b3VudGVycyA6IDxvYmplY3Q+CisgICAgZGF0YSA6IHsKKyAgICAgICAgbGluZU51bWJlciA6IDxu
dW1iZXI+CisgICAgICAgIHVybCA6IDxzdHJpbmc+CisgICAgfQorICAgIGVuZFRpbWUgOiA8bnVt
YmVyPgorICAgIGZyYW1lSWQgOiA8c3RyaW5nPgorICAgIHN0YXJ0VGltZSA6IDxudW1iZXI+Cisg
ICAgdHlwZSA6ICJFdmFsdWF0ZVNjcmlwdCIKKyAgICB1c2VkSGVhcFNpemUgOiA8bnVtYmVyPgor
fQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvdGltZWxpbmUv
dGltZWxpbmUtc2NyaXB0LXRhZy0yLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xl
dGUvdGltZWxpbmUvdGltZWxpbmUtc2NyaXB0LXRhZy0yLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGY2YmVh
YmU5YjYzODRmMzRjM2Q1NGQ5NzIwOGRkZmEwMGMyZmQxMgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS90aW1lbGluZS90aW1lbGluZS1zY3JpcHQtdGFn
LTIuaHRtbApAQCAtMCwwICsxLDQ0IEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci90aW1lbGluZS10ZXN0LmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQ+CisKK2Z1bmN0aW9uIHBlcmZvcm1BY3Rpb25zKCkKK3sKKyAgICB2
YXIgc2NyaXB0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7CisgICAgc2NyaXB0
LnNyYyA9ICJ0aW1lbGluZS1zY3JpcHQtdGFnLTIuanMiOworICAgIGRvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQoc2NyaXB0KTsKK30KKworZnVuY3Rpb24gdGVzdCgpIAoreworICAgIEluc3BlY3Rv
clRlc3Quc3RhcnRUaW1lbGluZShzdGVwMSk7CisgICAgZnVuY3Rpb24gc3RlcDEoKQorICAgIHsK
KyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRDb25zb2xlU25pZmZlcihzdGVwMik7CisgICAgICAg
IEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoInBlcmZvcm1BY3Rpb25zKCkiKTsKKyAgICB9
CisKKyAgICBmdW5jdGlvbiBzdGVwMigpCisgICAgeworICAgICAgICBJbnNwZWN0b3JUZXN0LnN0
b3BUaW1lbGluZShzdGVwMyk7CisgICAgfQorCisgICAgZnVuY3Rpb24gc3RlcDMoKQorICAgIHsK
KyAgICAgICAgSW5zcGVjdG9yVGVzdC5wcmludFRpbWVsaW5lUmVjb3JkcygiRXZhbHVhdGVTY3Jp
cHQiKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKKyAgICB9Cit9CisK
Kzwvc2NyaXB0PgorPC9oZWFkPgorCis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Cis8cD4KK1Rl
c3RzIHRoZSBUaW1lbGluZSBBUEkgaW5zdHJ1bWVudGF0aW9uIG9mIGEgc2NyaXB0IHRhZyB3aXRo
IGFuIGV4dGVybmFsIHNjcmlwdC4KKzwvcD4KKworPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3RpbWVsaW5lL3RpbWVsaW5lLXNjcmlw
dC10YWctMi5qcyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS90aW1lbGluZS90aW1l
bGluZS1zY3JpcHQtdGFnLTIuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTA1N2EzNzNmZTU1MDAzNWEzMWYyZDQy
MGZiNjBkODQ1MmQyMmRlZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rv
ci1vYnNvbGV0ZS90aW1lbGluZS90aW1lbGluZS1zY3JpcHQtdGFnLTIuanMKQEAgLTAsMCArMSBA
QAorY29uc29sZS5sb2coIlNDUklQVCBUQUciKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lu
c3BlY3Rvci1vYnNvbGV0ZS90aW1lbGluZS90aW1lbGluZS1zdGFydC10aW1lLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS90aW1lbGluZS90aW1lbGluZS1zdGFy
dC10aW1lLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kZjFhZjJkMDgxYThiMjY5Y2EyMjJkMTkx
YWJkMWQwMTMxOWIxZjI4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
LW9ic29sZXRlL3RpbWVsaW5lL3RpbWVsaW5lLXN0YXJ0LXRpbWUtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsNCBAQAorVGVzdHMgc2FuaXR5IG9mIHRpbWVsaW5lIHRpbWVzdGFtcHMuCisKK2RvbmUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3RpbWVsaW5lL3Rp
bWVsaW5lLXN0YXJ0LXRpbWUuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS90
aW1lbGluZS90aW1lbGluZS1zdGFydC10aW1lLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZWMyMzdjYjhlNGRl
ZWUxYTkyM2E2M2I0NGQ5YmI0YTdmYjU5NWFkZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2luc3BlY3Rvci1vYnNvbGV0ZS90aW1lbGluZS90aW1lbGluZS1zdGFydC10aW1lLmh0bWwK
QEAgLTAsMCArMSwzOSBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9odHRw
L3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUtdGVzdC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0PgorCitmdW5jdGlvbiBwZXJmb3JtQWN0aW9ucygpCit7CisgICAgY29uc29sZS50
aW1lU3RhbXAoInRpbWUgaXMgYW4gaWxsdXNpb24iKTsKK30KKworZnVuY3Rpb24gdGVzdCgpCit7
CisgICAgdmFyIGJlZm9yZVN0YXJ0ID0gRGF0ZS5ub3coKTsKKyAgICBJbnNwZWN0b3JUZXN0LnN0
YXJ0VGltZWxpbmUoKTsKKyAgICBJbnNwZWN0b3JUZXN0LndhaXRGb3JSZWNvcmRUeXBlKCJUaW1l
U3RhbXAiLCBvblRpbWVTdGFtcCk7CisgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgi
cGVyZm9ybUFjdGlvbnMoKSIpOworCisgICAgZnVuY3Rpb24gb25UaW1lU3RhbXAocmVjb3JkKQor
ICAgIHsKKyAgICAgICAgdmFyIG5vdyA9IERhdGUubm93KCk7CisgICAgICAgIHZhciBldmVudFRp
bWUgPSByZWNvcmQuc3RhcnRUaW1lOworICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydEdyZWF0
ZXJPckVxdWFsKGV2ZW50VGltZSwgYmVmb3JlU3RhcnQsICJldmVudCB0aW1lIHNob3VsZCBiZSBh
ZnRlciB0aW1lbGluZSBzdGFydCB0aW1lIik7CisgICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0
R3JlYXRlck9yRXF1YWwobm93LCBNYXRoLmZsb29yKGV2ZW50VGltZSksICJldmVudCB0aW1lIHNo
b3VsZCBiZSBiZWZvcmUgbm93Iik7CisgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJk
b25lIik7CisgICAgICAgIEluc3BlY3RvclRlc3Quc3RvcFRpbWVsaW5lKEluc3BlY3RvclRlc3Qu
Y29tcGxldGVUZXN0LmJpbmQoSW5zcGVjdG9yVGVzdCkpOworICAgIH0KK30KKworPC9zY3JpcHQ+
Cis8L2hlYWQ+CisKKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KKzxwPgorVGVzdHMgc2FuaXR5
IG9mIHRpbWVsaW5lIHRpbWVzdGFtcHMuCis8L3A+CisKKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS90aW1lbGluZS90aW1lbGluZS10
aW1lLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS90aW1lbGlu
ZS90aW1lbGluZS10aW1lLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40MDAxYzdjOWM3ZTgyNTU4
MzY1YTljYzgzODkxMDUyYWFhMzYxMjY2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yLW9ic29sZXRlL3RpbWVsaW5lL3RpbWVsaW5lLXRpbWUtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEgQEAKK1Rlc3QgdGltZS90aW1lRW5kIG5lc3RpbmcgKEJ1ZyAxMDA5MzYpCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvdGltZWxpbmUvdGltZWxpbmUt
dGltZS1zdGFtcC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUv
dGltZWxpbmUvdGltZWxpbmUtdGltZS1zdGFtcC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2U3
NTc3NDk3MDgxMTZhNjgxYjc0NmIxY2Y0OTY0NDdlOWFhNWYyMgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS90aW1lbGluZS90aW1lbGluZS10aW1lLXN0
YW1wLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDI4IEBACitUZXN0cyB0aGUgVGltZWxpbmUgQVBJ
IHRpbWVTdGFtcCBmZWF0dXJlCisKK1RpbWVTdGFtcCBQcm9wZXJ0aWVzOgoreworICAgIGNvdW50
ZXJzIDogPG9iamVjdD4KKyAgICBkYXRhIDogeworICAgICAgICBtZXNzYWdlIDogIlRJTUUgU1RB
TVAiCisgICAgfQorICAgIGZyYW1lSWQgOiA8c3RyaW5nPgorICAgIHN0YWNrVHJhY2UgOiA8b2Jq
ZWN0PgorICAgIHN0YXJ0VGltZSA6IDxudW1iZXI+CisgICAgdHlwZSA6ICJUaW1lU3RhbXAiCisg
ICAgdXNlZEhlYXBTaXplIDogPG51bWJlcj4KK30KK1RpbWVzdGFtcCByZWNvcmRzOiAKK1RpbWVT
dGFtcCBQcm9wZXJ0aWVzOgoreworICAgIGNvdW50ZXJzIDogPG9iamVjdD4KKyAgICBkYXRhIDog
eworICAgICAgICBtZXNzYWdlIDogIlRJTUUgU1RBTVAiCisgICAgfQorICAgIGZyYW1lSWQgOiA8
c3RyaW5nPgorICAgIHN0YWNrVHJhY2UgOiA8b2JqZWN0PgorICAgIHN0YXJ0VGltZSA6IDxudW1i
ZXI+CisgICAgdHlwZSA6ICJUaW1lU3RhbXAiCisgICAgdXNlZEhlYXBTaXplIDogPG51bWJlcj4K
K30KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3RpbWVsaW5l
L3RpbWVsaW5lLXRpbWUtc3RhbXAuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0
ZS90aW1lbGluZS90aW1lbGluZS10aW1lLXN0YW1wLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjQ2OTI2MGMw
NmM0MGZiMDg5OGFlZjM5ODI4NTcwODMzZGFiNzZkYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS90aW1lbGluZS90aW1lbGluZS10aW1lLXN0YW1wLmh0
bWwKQEAgLTAsMCArMSwyNiBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9o
dHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUtdGVzdC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0PgorCitmdW5jdGlvbiBwZXJmb3JtQWN0aW9ucygpCit7CisgICAgY29uc29s
ZS50aW1lU3RhbXAoIlRJTUUgU1RBTVAiKTsKK30KKworZnVuY3Rpb24gdGVzdCgpCit7CisgICAg
SW5zcGVjdG9yVGVzdC5wZXJmb3JtQWN0aW9uc0FuZFByaW50KCJwZXJmb3JtQWN0aW9ucygpIiwg
IlRpbWVTdGFtcCIsIHRydWUpOworfQorCis8L3NjcmlwdD4KKzwvaGVhZD4KKworPGJvZHkgb25s
b2FkPSJydW5UZXN0KCkiPgorPHA+CitUZXN0cyB0aGUgVGltZWxpbmUgQVBJIHRpbWVTdGFtcCBm
ZWF0dXJlCis8L3A+CisKKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2luc3BlY3Rvci1vYnNvbGV0ZS90aW1lbGluZS90aW1lbGluZS10aW1lLmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvdGltZWxpbmUvdGltZWxpbmUtdGltZS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmNlNGFjNGFmYTJiNDBmZjZjOWY5YzYxODU5YWY2ZGU4YWQ5ZGM3MzYKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvdGltZWxpbmUvdGltZWxp
bmUtdGltZS5odG1sCkBAIC0wLDAgKzEsODUgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lLXRlc3Qu
anMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKworZnVuY3Rpb24gdGVzdCgpCit7CisgICAgV2ViSW5z
cGVjdG9yLnNob3dQYW5lbCgidGltZWxpbmUiKTsKKworICAgIHZhciBkYXRhID0gWyJWZXJzaW9u
IiwKKyAgICAgICAgeyJzdGFydFRpbWUiOjEzLCJkYXRhIjp7fSwiZW5kVGltZSI6MTksInR5cGUi
OiJQcm9ncmFtIiwiY2hpbGRyZW4iOlsKKyAgICAgICAgICAgIHsic3RhcnRUaW1lIjoxNCwiZGF0
YSI6eyJ0eXBlIjoiY2xpY2sifSwiZW5kVGltZSI6MTgsInR5cGUiOiJFdmVudERpc3BhdGNoIiwi
ZnJhbWVJZCI6IjIiLCJjaGlsZHJlbiI6WworICAgICAgICAgICAgICAgIHsic3RhcnRUaW1lIjox
NSwiZGF0YSI6eyJzY3JpcHROYW1lIjoiZm9vLmh0bWwiLCJzY3JpcHRMaW5lIjo3fSwiZW5kVGlt
ZSI6MTcsInR5cGUiOiJGdW5jdGlvbkNhbGwiLCJmcmFtZUlkIjoiMiIsImNoaWxkcmVuIjpbCisg
ICAgICAgICAgICAgICAgICAgIHsic3RhcnRUaW1lIjoxNiwiZGF0YSI6eyJtZXNzYWdlIjoiaGVs
bG8ifSwidHlwZSI6IlRpbWUiLCJmcmFtZUlkIjoiMiJ9CisgICAgICAgICAgICAgICAgXX0KKyAg
ICAgICAgICAgIF19CisgICAgICAgIF19LAorICAgICAgICB7InN0YXJ0VGltZSI6MjUsImRhdGEi
Ont9LCJlbmRUaW1lIjozNSwidHlwZSI6IlByb2dyYW0iLCJjaGlsZHJlbiI6WworICAgICAgICAg
ICAgeyJzdGFydFRpbWUiOjI2LCJkYXRhIjp7InR5cGUiOiJjbGljayJ9LCJlbmRUaW1lIjozNCwi
dHlwZSI6IkV2ZW50RGlzcGF0Y2giLCJmcmFtZUlkIjoiMiIsImNoaWxkcmVuIjpbCisgICAgICAg
ICAgICAgICAgeyJzdGFydFRpbWUiOjI3LCJkYXRhIjp7InNjcmlwdE5hbWUiOiJmb28uaHRtbCIs
InNjcmlwdExpbmUiOjE1fSwiZW5kVGltZSI6MzMsInR5cGUiOiJGdW5jdGlvbkNhbGwiLCJmcmFt
ZUlkIjoiMiIsImNoaWxkcmVuIjpbCisgICAgICAgICAgICAgICAgICAgIHsic3RhcnRUaW1lIjoy
OCwiZGF0YSI6eyJtZXNzYWdlIjoiYm9vbSJ9LCJ0eXBlIjoiVGltZSIsImZyYW1lSWQiOiIyIn0s
CisgICAgICAgICAgICAgICAgICAgIHsic3RhcnRUaW1lIjoyOSwiZGF0YSI6e30sInR5cGUiOiJT
Y2hlZHVsZVN0eWxlUmVjYWxjdWxhdGlvbiIsImZyYW1lSWQiOiIyIn0sCisgICAgICAgICAgICAg
ICAgICAgIHsic3RhcnRUaW1lIjozMCwiZGF0YSI6e30sImNoaWxkcmVuIjpbXSwiZW5kVGltZSI6
MzEsInR5cGUiOiJSZWNhbGN1bGF0ZVN0eWxlcyIsImZyYW1lSWQiOiIyIn0sCisgICAgICAgICAg
ICAgICAgICAgIHsic3RhcnRUaW1lIjozMiwiZGF0YSI6eyJtZXNzYWdlIjoiYm9vbSJ9LCJ0eXBl
IjoiVGltZUVuZCIsImZyYW1lSWQiOiIyIn0KKyAgICAgICAgICAgICAgICBdfQorICAgICAgICAg
ICAgXX0KKyAgICAgICAgXX0sCisgICAgICAgIHsic3RhcnRUaW1lIjo0MSwiZGF0YSI6e30sImVu
ZFRpbWUiOjQ3LCJ0eXBlIjoiUHJvZ3JhbSIsImNoaWxkcmVuIjpbCisgICAgICAgICAgICB7InN0
YXJ0VGltZSI6NDIsImRhdGEiOnsidHlwZSI6ImNsaWNrIn0sImVuZFRpbWUiOjQ2LCJ0eXBlIjoi
RXZlbnREaXNwYXRjaCIsImZyYW1lSWQiOiIyIiwiY2hpbGRyZW4iOlsKKyAgICAgICAgICAgICAg
ICB7InN0YXJ0VGltZSI6NDMsImRhdGEiOnsic2NyaXB0TmFtZSI6ImZvby5odG1sIiwic2NyaXB0
TGluZSI6MTF9LCJlbmRUaW1lIjo0NSwidHlwZSI6IkZ1bmN0aW9uQ2FsbCIsImZyYW1lSWQiOiIy
IiwiY2hpbGRyZW4iOlsKKyAgICAgICAgICAgICAgICAgICAgeyJzdGFydFRpbWUiOjQ0LCJkYXRh
Ijp7Im1lc3NhZ2UiOiJoZWxsbyJ9LCJ0eXBlIjoiVGltZUVuZCIsImZyYW1lSWQiOiIyIn0KKyAg
ICAgICAgICAgICAgICBdfQorICAgICAgICAgICAgXX0KKyAgICAgICAgXX0KKyAgICBdOworCisg
ICAgdmFyIGlucHV0ID0gSlNPTi5zdHJpbmdpZnkoZGF0YSk7CisgICAgdmFyIG1vZGVsID0gV2Vi
SW5zcGVjdG9yLnBhbmVscy50aW1lbGluZS5fbW9kZWw7CisgICAgdmFyIHByZXNlbnRhdGlvbk1v
ZGVsID0gV2ViSW5zcGVjdG9yLnBhbmVscy50aW1lbGluZS5fcHJlc2VudGF0aW9uTW9kZWw7Cisg
ICAgcHJlc2VudGF0aW9uTW9kZWwuc2V0R2x1ZVJlY29yZHModHJ1ZSk7CisKKyAgICBmdW5jdGlv
biBjcmVhdGVGaWxlUmVhZGVyKGZpbGUsIGRlbGVnYXRlKQorICAgIHsKKyAgICAgICAgcmV0dXJu
IG5ldyBJbnNwZWN0b3JUZXN0LkZha2VGaWxlUmVhZGVyKGlucHV0LCBkZWxlZ2F0ZSwgb25EYXRh
TG9hZGVkKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBvbkRhdGFMb2FkZWQoKQorICAgIHsKKyAg
ICAgICAgdmFyIHJvb3QgPSBwcmVzZW50YXRpb25Nb2RlbC5yb290UmVjb3JkKCk7CisgICAgICAg
IEluc3BlY3RvclRlc3QuYXNzZXJ0RXF1YWxzKDQsIHJvb3QuY2hpbGRyZW4ubGVuZ3RoKTsKKwor
ICAgICAgICB2YXIgdGltZTEgPSByb290LmNoaWxkcmVuWzFdOworICAgICAgICBJbnNwZWN0b3JU
ZXN0LmFzc2VydEVxdWFscygiVGltZSIsIHRpbWUxLnR5cGUpOworICAgICAgICBJbnNwZWN0b3JU
ZXN0LmFzc2VydEVxdWFscygyLCB0aW1lMS5jaGlsZHJlbi5sZW5ndGgpOworICAgICAgICB2YXIg
dGltZUVuZDEgPSB0aW1lMS5jaGlsZHJlblsxXTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3Nl
cnRFcXVhbHMoIlRpbWVFbmQiLCB0aW1lRW5kMS50eXBlKTsKKyAgICAgICAgSW5zcGVjdG9yVGVz
dC5hc3NlcnRFcXVhbHModGltZTEsIHRpbWVFbmQxLnRpbWVSZWNvcmQpOworICAgICAgICBJbnNw
ZWN0b3JUZXN0LmFzc2VydEVxdWFscyh0aW1lRW5kMSwgdGltZTEudGltZUVuZFJlY29yZCk7CisK
KyAgICAgICAgdmFyIHRpbWUyID0gdGltZTEuY2hpbGRyZW5bMF07CisgICAgICAgIEluc3BlY3Rv
clRlc3QuYXNzZXJ0RXF1YWxzKCJUaW1lIiwgdGltZTIudHlwZSk7CisgICAgICAgIEluc3BlY3Rv
clRlc3QuYXNzZXJ0RXF1YWxzKDEsIHRpbWUyLmNoaWxkcmVuLmxlbmd0aCk7CisgICAgICAgIHZh
ciB0aW1lRW5kMiA9IHRpbWUyLmNoaWxkcmVuWzBdOworICAgICAgICBJbnNwZWN0b3JUZXN0LmFz
c2VydEVxdWFscygiVGltZUVuZCIsIHRpbWVFbmQyLnR5cGUpOworICAgICAgICBJbnNwZWN0b3JU
ZXN0LmFzc2VydEVxdWFscyh0aW1lMiwgdGltZUVuZDIudGltZVJlY29yZCk7CisgICAgICAgIElu
c3BlY3RvclRlc3QuYXNzZXJ0RXF1YWxzKHRpbWVFbmQyLCB0aW1lMi50aW1lRW5kUmVjb3JkKTsK
KworICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOworICAgIH0KKworICAgIElu
c3BlY3RvclRlc3Qub3ZlcnJpZGUobW9kZWwsICJfY3JlYXRlRmlsZVJlYWRlciIsIGNyZWF0ZUZp
bGVSZWFkZXIpOworICAgIG1vZGVsLmxvYWRGcm9tRmlsZSh7fSwgbmV3IFdlYkluc3BlY3Rvci5Q
cm9ncmVzcygpKTsKK30KKworPC9zY3JpcHQ+Cis8L2hlYWQ+CisKKzxib2R5IG9ubG9hZD0icnVu
VGVzdCgpIj4KKzxwPgorVGVzdCB0aW1lL3RpbWVFbmQgbmVzdGluZyA8YSBocmVmPSJodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAwOTM2Ij4oQnVnIDEwMDkzNik8L2E+
Cis8L3A+CisKKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci1vYnNvbGV0ZS90aW1lbGluZS90aW1lbGluZS10aW1lci1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvdGltZWxpbmUvdGltZWxpbmUtdGltZXItZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmM1ZGEzZTE2NDljM2VkMWQ1ZDQ0MjJmYWViZmI1NTczOGJlYmY4
ZjEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvdGlt
ZWxpbmUvdGltZWxpbmUtdGltZXItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTUyIEBACitUZXN0
cyB0aGUgVGltZWxpbmUgZXZlbnRzIGZvciBUaW1lcnMKKworVGltZXJJbnN0YWxsIFByb3BlcnRp
ZXM6Cit7CisgICAgY291bnRlcnMgOiA8b2JqZWN0PgorICAgIGRhdGEgOiB7CisgICAgICAgIHNp
bmdsZVNob3QgOiB0cnVlCisgICAgICAgIHRpbWVvdXQgOiAxMAorICAgICAgICB0aW1lcklkIDog
PG51bWJlcj4KKyAgICB9CisgICAgZnJhbWVJZCA6IDxzdHJpbmc+CisgICAgc3RhY2tUcmFjZSA6
IDxvYmplY3Q+CisgICAgc3RhcnRUaW1lIDogPG51bWJlcj4KKyAgICB0eXBlIDogIlRpbWVySW5z
dGFsbCIKKyAgICB1c2VkSGVhcFNpemUgOiA8bnVtYmVyPgorfQorVGltZXJJbnN0YWxsIFByb3Bl
cnRpZXM6Cit7CisgICAgY291bnRlcnMgOiA8b2JqZWN0PgorICAgIGRhdGEgOiB7CisgICAgICAg
IHNpbmdsZVNob3QgOiBmYWxzZQorICAgICAgICB0aW1lb3V0IDogMjAKKyAgICAgICAgdGltZXJJ
ZCA6IDxudW1iZXI+CisgICAgfQorICAgIGZyYW1lSWQgOiA8c3RyaW5nPgorICAgIHN0YWNrVHJh
Y2UgOiA8b2JqZWN0PgorICAgIHN0YXJ0VGltZSA6IDxudW1iZXI+CisgICAgdHlwZSA6ICJUaW1l
ckluc3RhbGwiCisgICAgdXNlZEhlYXBTaXplIDogPG51bWJlcj4KK30KK1RpbWVyRmlyZSBQcm9w
ZXJ0aWVzOgoreworICAgIGNoaWxkcmVuIDogPG9iamVjdD4KKyAgICBjb3VudGVycyA6IDxvYmpl
Y3Q+CisgICAgZGF0YSA6IHsKKyAgICAgICAgdGltZXJJZCA6IDxudW1iZXI+CisgICAgfQorICAg
IGVuZFRpbWUgOiA8bnVtYmVyPgorICAgIGZyYW1lSWQgOiA8c3RyaW5nPgorICAgIHN0YXJ0VGlt
ZSA6IDxudW1iZXI+CisgICAgdHlwZSA6ICJUaW1lckZpcmUiCisgICAgdXNlZEhlYXBTaXplIDog
PG51bWJlcj4KK30KK1RpbWVyRmlyZSBQcm9wZXJ0aWVzOgoreworICAgIGNoaWxkcmVuIDogPG9i
amVjdD4KKyAgICBjb3VudGVycyA6IDxvYmplY3Q+CisgICAgZGF0YSA6IHsKKyAgICAgICAgdGlt
ZXJJZCA6IDxudW1iZXI+CisgICAgfQorICAgIGVuZFRpbWUgOiA8bnVtYmVyPgorICAgIGZyYW1l
SWQgOiA8c3RyaW5nPgorICAgIHN0YXJ0VGltZSA6IDxudW1iZXI+CisgICAgdHlwZSA6ICJUaW1l
ckZpcmUiCisgICAgdXNlZEhlYXBTaXplIDogPG51bWJlcj4KK30KK1RpbWVyRmlyZSBQcm9wZXJ0
aWVzOgoreworICAgIGNoaWxkcmVuIDogPG9iamVjdD4KKyAgICBjb3VudGVycyA6IDxvYmplY3Q+
CisgICAgZGF0YSA6IHsKKyAgICAgICAgdGltZXJJZCA6IDxudW1iZXI+CisgICAgfQorICAgIGVu
ZFRpbWUgOiA8bnVtYmVyPgorICAgIGZyYW1lSWQgOiA8c3RyaW5nPgorICAgIHN0YXJ0VGltZSA6
IDxudW1iZXI+CisgICAgdHlwZSA6ICJUaW1lckZpcmUiCisgICAgdXNlZEhlYXBTaXplIDogPG51
bWJlcj4KK30KK1RpbWVyUmVtb3ZlIFByb3BlcnRpZXM6Cit7CisgICAgY291bnRlcnMgOiA8b2Jq
ZWN0PgorICAgIGRhdGEgOiB7CisgICAgICAgIHRpbWVySWQgOiA8bnVtYmVyPgorICAgIH0KKyAg
ICBmcmFtZUlkIDogPHN0cmluZz4KKyAgICBzdGFja1RyYWNlIDogPG9iamVjdD4KKyAgICBzdGFy
dFRpbWUgOiA8bnVtYmVyPgorICAgIHR5cGUgOiAiVGltZXJSZW1vdmUiCisgICAgdXNlZEhlYXBT
aXplIDogPG51bWJlcj4KK30KK0Z1bmN0aW9uQ2FsbCBQcm9wZXJ0aWVzOgoreworICAgIGNoaWxk
cmVuIDogPG9iamVjdD4KKyAgICBjb3VudGVycyA6IDxvYmplY3Q+CisgICAgZGF0YSA6IHsKKyAg
ICAgICAgc2NyaXB0TGluZSA6IDxudW1iZXI+CisgICAgICAgIHNjcmlwdE5hbWUgOiA8c3RyaW5n
PgorICAgIH0KKyAgICBlbmRUaW1lIDogPG51bWJlcj4KKyAgICBmcmFtZUlkIDogPHN0cmluZz4K
KyAgICBzdGFydFRpbWUgOiA8bnVtYmVyPgorICAgIHR5cGUgOiAiRnVuY3Rpb25DYWxsIgorICAg
IHVzZWRIZWFwU2l6ZSA6IDxudW1iZXI+Cit9CitGdW5jdGlvbkNhbGwgUHJvcGVydGllczoKK3sK
KyAgICBjaGlsZHJlbiA6IDxvYmplY3Q+CisgICAgY291bnRlcnMgOiA8b2JqZWN0PgorICAgIGRh
dGEgOiB7CisgICAgICAgIHNjcmlwdExpbmUgOiA8bnVtYmVyPgorICAgICAgICBzY3JpcHROYW1l
IDogPHN0cmluZz4KKyAgICB9CisgICAgZW5kVGltZSA6IDxudW1iZXI+CisgICAgZnJhbWVJZCA6
IDxzdHJpbmc+CisgICAgc3RhcnRUaW1lIDogPG51bWJlcj4KKyAgICB0eXBlIDogIkZ1bmN0aW9u
Q2FsbCIKKyAgICB1c2VkSGVhcFNpemUgOiA8bnVtYmVyPgorfQorRnVuY3Rpb25DYWxsIFByb3Bl
cnRpZXM6Cit7CisgICAgY2hpbGRyZW4gOiA8b2JqZWN0PgorICAgIGNvdW50ZXJzIDogPG9iamVj
dD4KKyAgICBkYXRhIDogeworICAgICAgICBzY3JpcHRMaW5lIDogPG51bWJlcj4KKyAgICAgICAg
c2NyaXB0TmFtZSA6IDxzdHJpbmc+CisgICAgfQorICAgIGVuZFRpbWUgOiA8bnVtYmVyPgorICAg
IGZyYW1lSWQgOiA8c3RyaW5nPgorICAgIHN0YXJ0VGltZSA6IDxudW1iZXI+CisgICAgdHlwZSA6
ICJGdW5jdGlvbkNhbGwiCisgICAgdXNlZEhlYXBTaXplIDogPG51bWJlcj4KK30KK0Z1bmN0aW9u
Q2FsbCBQcm9wZXJ0aWVzOgoreworICAgIGNoaWxkcmVuIDogPG9iamVjdD4KKyAgICBjb3VudGVy
cyA6IDxvYmplY3Q+CisgICAgZGF0YSA6IHsKKyAgICAgICAgc2NyaXB0TGluZSA6IDxudW1iZXI+
CisgICAgICAgIHNjcmlwdE5hbWUgOiA8c3RyaW5nPgorICAgIH0KKyAgICBlbmRUaW1lIDogPG51
bWJlcj4KKyAgICBmcmFtZUlkIDogPHN0cmluZz4KKyAgICBzdGFydFRpbWUgOiA8bnVtYmVyPgor
ICAgIHR5cGUgOiAiRnVuY3Rpb25DYWxsIgorICAgIHVzZWRIZWFwU2l6ZSA6IDxudW1iZXI+Cit9
CitFdmFsdWF0ZVNjcmlwdCBQcm9wZXJ0aWVzOgoreworICAgIGNoaWxkcmVuIDogPG9iamVjdD4K
KyAgICBjb3VudGVycyA6IDxvYmplY3Q+CisgICAgZGF0YSA6IHsKKyAgICAgICAgbGluZU51bWJl
ciA6IDxudW1iZXI+CisgICAgICAgIHVybCA6IDxzdHJpbmc+CisgICAgfQorICAgIGVuZFRpbWUg
OiA8bnVtYmVyPgorICAgIGZyYW1lSWQgOiA8c3RyaW5nPgorICAgIHN0YXJ0VGltZSA6IDxudW1i
ZXI+CisgICAgdHlwZSA6ICJFdmFsdWF0ZVNjcmlwdCIKKyAgICB1c2VkSGVhcFNpemUgOiA8bnVt
YmVyPgorfQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvdGlt
ZWxpbmUvdGltZWxpbmUtdGltZXItZmlyZWQtZnJvbS1ldmFsLWNhbGwtc2l0ZS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvdGltZWxpbmUvdGltZWxpbmUtdGlt
ZXItZmlyZWQtZnJvbS1ldmFsLWNhbGwtc2l0ZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTFh
OWM3ZWYwODQyNWU3YzQxODcxYTc0YmMyNWIwNzM5MTA1NTM2YwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS90aW1lbGluZS90aW1lbGluZS10aW1lci1m
aXJlZC1mcm9tLWV2YWwtY2FsbC1zaXRlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1Rl
c3RzIHRoZSBUaW1lbGluZSBBUEkgaW5zdHJ1bWVudGF0aW9uIG9mIGEgVGltZXJGaXJlZCBldmVu
dHMgaW5zaWRlIGV2YWx1YXRlZCBzY3JpcHRzLgorCitUaW1lckZpcmUgOjIKK1RpbWVyRmlyZSA6
MQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvdGltZWxpbmUv
dGltZWxpbmUtdGltZXItZmlyZWQtZnJvbS1ldmFsLWNhbGwtc2l0ZS5odG1sIGIvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yLW9ic29sZXRlL3RpbWVsaW5lL3RpbWVsaW5lLXRpbWVyLWZpcmVkLWZyb20t
ZXZhbC1jYWxsLXNpdGUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jOWZlZTg2NDk4MGVmODM5Y2EwNGEzZTY1
MDE3MmU5ZDUyZGU1NTRhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
LW9ic29sZXRlL3RpbWVsaW5lL3RpbWVsaW5lLXRpbWVyLWZpcmVkLWZyb20tZXZhbC1jYWxsLXNp
dGUuaHRtbApAQCAtMCwwICsxLDU3IEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci90aW1lbGluZS10ZXN0LmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQ+CisKK2Z1bmN0aW9uIHBlcmZvcm1BY3Rpb25zKCkKK3sKKyAgICB2
YXIgY29udGVudCA9ICIiICsgCisgICAgICAgICJ2YXIgZm4yID0gZnVuY3Rpb24oKSB7Y29uc29s
ZS50aW1lU3RhbXAoXCJTY3JpcHQgZXZhbHVhdGVkXCIpO307XFxuIiArCisgICAgICAgICJ2YXIg
Zm4xID0gZnVuY3Rpb24oKSB7d2luZG93LnNldFRpbWVvdXQoZm4yLCAxKTt9O1xcbiIgKworICAg
ICAgICAid2luZG93LnNldFRpbWVvdXQoZm4xLCAxKTtcXG4iCisgICAgY29udGVudCA9ICJldmFs
KCciICsgY29udGVudCArICIvL0Agc291cmNlVVJMPWZyb21FdmFsLmpzIiArICInKTsiOworICAg
IHZhciBzY3JpcHRFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7Cisg
ICAgdmFyIGNvbnRlbnROb2RlID0gZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoY29udGVudCk7Cisg
ICAgc2NyaXB0RWxlbWVudC5hcHBlbmRDaGlsZChjb250ZW50Tm9kZSk7CisgICAgZG9jdW1lbnQu
Ym9keS5hcHBlbmRDaGlsZChzY3JpcHRFbGVtZW50KTsKKyAgICBkb2N1bWVudC5ib2R5LnJlbW92
ZUNoaWxkKHNjcmlwdEVsZW1lbnQpOworfQorCitmdW5jdGlvbiB0ZXN0KCkKK3sKKyAgICBJbnNw
ZWN0b3JUZXN0LnN0YXJ0VGltZWxpbmUoc3RhcnQpOworICAgIEluc3BlY3RvclRlc3Qud2FpdEZv
clJlY29yZFR5cGUoIlRpbWVTdGFtcCIsIGZpbmlzaCk7CisKKyAgICBmdW5jdGlvbiBzdGFydCgp
CisgICAgeworICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJwZXJmb3JtQWN0
aW9ucygpIik7CisgICAgfQorCisgICAgZnVuY3Rpb24gZmluaXNoKCkKKyAgICB7CisgICAgICAg
IGZ1bmN0aW9uIGZvcm1hdHRlcihyZWNvcmQpCisgICAgICAgIHsKKyAgICAgICAgICAgIGlmIChy
ZWNvcmQudHlwZSA9PT0gIlRpbWVyRmlyZSIpIHsKKyAgICAgICAgICAgICAgICB2YXIgZm5DYWxs
U2l0ZSA9IHJlY29yZC5jaGlsZHJlblswXS5kYXRhOworICAgICAgICAgICAgICAgIEluc3BlY3Rv
clRlc3QuYWRkUmVzdWx0KHJlY29yZC50eXBlICsgIiAiICsgZm5DYWxsU2l0ZS5zY3JpcHROYW1l
ICsgIjoiICsgZm5DYWxsU2l0ZS5zY3JpcHRMaW5lKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
fQorICAgICAgICBJbnNwZWN0b3JUZXN0LnByaW50VGltZWxpbmVSZWNvcmRzKG51bGwsIGZvcm1h
dHRlcik7CisgICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7CisgICAgfQorfQor
CitpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgIHNldFRpbWVvdXQocGVyZm9ybUFjdGlvbnMs
IDMwMDApOworCis8L3NjcmlwdD4KKzwvaGVhZD4KKworPGJvZHkgb25sb2FkPSJydW5UZXN0KCki
PgorPHA+CitUZXN0cyB0aGUgVGltZWxpbmUgQVBJIGluc3RydW1lbnRhdGlvbiBvZiBhIFRpbWVy
RmlyZWQgZXZlbnRzIGluc2lkZSBldmFsdWF0ZWQgc2NyaXB0cy4KKzwvcD4KKworPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3RpbWVs
aW5lL3RpbWVsaW5lLXRpbWVyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUv
dGltZWxpbmUvdGltZWxpbmUtdGltZXIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41MWFlNmZjOGI2ZjIxN2Fj
YWYxNTVlYmI2OTBjNTczN2Y5Zjc3Y2NlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yLW9ic29sZXRlL3RpbWVsaW5lL3RpbWVsaW5lLXRpbWVyLmh0bWwKQEAgLTAsMCAr
MSw1MSBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2lu
c3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
aHR0cC90ZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
PgorCitmdW5jdGlvbiBwZXJmb3JtQWN0aW9ucygpCit7CisgICAgdmFyIHRpbWVyT25lID0gc2V0
VGltZW91dCgiMSArIDEiLCAxMCk7CisgICAgdmFyIHRpbWVyVHdvID0gc2V0SW50ZXJ2YWwoaW50
ZXJ2YWxUaW1lcldvcmssIDIwKTsKKyAgICB2YXIgaXRlcmF0aW9uID0gMDsKKworICAgIGZ1bmN0
aW9uIGludGVydmFsVGltZXJXb3JrKCkKKyAgICB7CisgICAgICAgIGlmICgrK2l0ZXJhdGlvbiA8
IDIpCisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIGNsZWFySW50ZXJ2YWwodGltZXJUd28p
OworICAgIH0KK30KKworZnVuY3Rpb24gdGVzdCgpCit7CisgICAgSW5zcGVjdG9yVGVzdC5zdGFy
dFRpbWVsaW5lKGZ1bmN0aW9uKCkgeworICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5Q
YWdlKCJwZXJmb3JtQWN0aW9ucygpIik7CisgICAgfSk7CisKKyAgICBJbnNwZWN0b3JUZXN0Lndh
aXRGb3JSZWNvcmRUeXBlKCJUaW1lclJlbW92ZSIsIGZpbmlzaCk7CisKKyAgICBmdW5jdGlvbiBm
aW5pc2goKQorICAgIHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5wcmludFRpbWVsaW5lUmVjb3Jk
cygiVGltZXJJbnN0YWxsIik7CisgICAgICAgIEluc3BlY3RvclRlc3QucHJpbnRUaW1lbGluZVJl
Y29yZHMoIlRpbWVyRmlyZSIpOworICAgICAgICBJbnNwZWN0b3JUZXN0LnByaW50VGltZWxpbmVS
ZWNvcmRzKCJUaW1lclJlbW92ZSIpOworICAgICAgICBJbnNwZWN0b3JUZXN0LnByaW50VGltZWxp
bmVSZWNvcmRzKCJGdW5jdGlvbkNhbGwiKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5wcmludFRp
bWVsaW5lUmVjb3JkcygiRXZhbHVhdGVTY3JpcHQiKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5j
b21wbGV0ZVRlc3QoKTsKKyAgICB9Cit9CisKK2lmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
c2V0VGltZW91dChwZXJmb3JtQWN0aW9ucywgMjAwMCk7CisKKzwvc2NyaXB0PgorPC9oZWFkPgor
Cis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Cis8cD4KK1Rlc3RzIHRoZSBUaW1lbGluZSBldmVu
dHMgZm9yIFRpbWVycworPC9wPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3RpbWVsaW5lL3RpbWVsaW5lLXRyaXZpYWwtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3RpbWVsaW5lL3RpbWVsaW5l
LXRyaXZpYWwtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ0M2Y3ZGJkMGVlYjIxNTQ1NmRkNTM4
M2E0MjhhMGZlMGYxZTlkNjUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0
b3Itb2Jzb2xldGUvdGltZWxpbmUvdGltZWxpbmUtdHJpdmlhbC1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSw0IEBACitUcml2aWFsIHVzZSBvZiBpbnNwZWN0b3IgZnJvbnRlbmQgdGVzdHMKKworVGlt
ZWxpbmUgc3RhcnRlZAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xl
dGUvdGltZWxpbmUvdGltZWxpbmUtdHJpdmlhbC5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
LW9ic29sZXRlL3RpbWVsaW5lL3RpbWVsaW5lLXRyaXZpYWwuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lMGZk
NmM2NWM4MjM1ZGFhMzFmNzU5Mzk4YTIxY2IxYTQ4MzRjNGU4Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3RpbWVsaW5lL3RpbWVsaW5lLXRyaXZpYWwu
aHRtbApAQCAtMCwwICsxLDI3IEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci90aW1lbGluZS10ZXN0LmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQ+CisKK2Z1bmN0aW9uIHRlc3QoKSB7CisgICAgLyogVGhpcyB0ZXN0IHNl
ZW1zIHNpbGx5LCBidXQgb3JpZ2luYWxseSBpdCB0aWNrbGVkIGJ1ZyAzMTA4MCAqLworICAgIGZ1
bmN0aW9uIGNhbGxiYWNrKCkKKyAgICB7CisgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0
KCJUaW1lbGluZSBzdGFydGVkIik7CisgICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0
KCk7CisgICAgfQorICAgIEluc3BlY3RvclRlc3Quc3RhcnRUaW1lbGluZShjYWxsYmFjayk7Cit9
CisKKworPC9zY3JpcHQ+Cis8L2hlYWQ+CisKKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KKzxw
PiAKK1RyaXZpYWwgdXNlIG9mIGluc3BlY3RvciBmcm9udGVuZCB0ZXN0cworPC9wPgorCis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUv
dXRpbGl0aWVzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS91
dGlsaXRpZXMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNiNjY0ZDhmMDFjNTE5MTE3Y2MzODdi
ODMwMTZkZTE1NTgzNzMxOGYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0
b3Itb2Jzb2xldGUvdXRpbGl0aWVzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMyIEBACitUaGlz
IHRlc3QgY2hlY2tzIFdlYiBJbnNwZWN0b3IgdXRpbGl0aWVzLgorCisKK1J1bm5pbmc6IGJpbmFy
eUluZGV4T2ZUZXN0CisKK1J1bm5pbmc6IGxvd2VyQm91bmRUZXN0CisKK1J1bm5pbmc6IHVwcGVy
Qm91bmRUZXN0CisKKworUnVubmluZzogcXNlbGVjdFRlc3QKK0FycmF5OiBbXQorUmVmZXJlbmNl
OiB7fQorQWN0dWFsOiAgICB7fQorQXJyYXk6IFswXQorUmVmZXJlbmNlOiB7Im1pbiI6MCwibWVk
aWFuIjowLCJtYXgiOjB9CitBY3R1YWw6ICAgIHsibWluIjowLCJtZWRpYW4iOjAsIm1heCI6MH0K
K0FycmF5OiBbMCwwLDAsMCwwLDAsMCwwXQorUmVmZXJlbmNlOiB7Im1pbiI6MCwibWVkaWFuIjow
LCJtYXgiOjB9CitBY3R1YWw6ICAgIHsibWluIjowLCJtZWRpYW4iOjAsIm1heCI6MH0KK0FycmF5
OiBbNCwzLDIsMV0KK1JlZmVyZW5jZTogeyJtaW4iOjEsIm1lZGlhbiI6MywibWF4Ijo0fQorQWN0
dWFsOiAgICB7Im1pbiI6MSwibWVkaWFuIjozLCJtYXgiOjR9CitBcnJheTogWzEsMiwzLDQsNV0K
K1JlZmVyZW5jZTogeyJtaW4iOjEsIm1lZGlhbiI6MywibWF4Ijo1fQorQWN0dWFsOiAgICB7Im1p
biI6MSwibWVkaWFuIjozLCJtYXgiOjV9CitBcnJheTogWy0xLDMsMiw3LDcsNywxMCwxMiwzLDQs
LTEsMl0KK1JlZmVyZW5jZTogeyJtaW4iOi0xLCJtZWRpYW4iOjQsIm1heCI6MTJ9CitBY3R1YWw6
ICAgIHsibWluIjotMSwibWVkaWFuIjo0LCJtYXgiOjEyfQorCitSdW5uaW5nOiBzb3J0UmFuZ2VU
ZXN0CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS91dGlsaXRp
ZXMuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS91dGlsaXRpZXMuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi45NDcxZDU1MDNiYzljMGFlOTcxYmY4OWRlMWNkYTQ2OGU4YTgzOGM3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3V0aWxpdGllcy5o
dG1sCkBAIC0wLDAgKzEsMTk2IEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uL2h0
dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+
CisKK2Z1bmN0aW9uIHRlc3QoKQoreworICAgIEluc3BlY3RvclRlc3QucnVuVGVzdFN1aXRlKFsK
KyAgICAgICAgZnVuY3Rpb24gYmluYXJ5SW5kZXhPZlRlc3QobmV4dCkKKyAgICAgICAgeworICAg
ICAgICAgICAgdmFyIHRlc3RBcnJheXMgPSBbCisgICAgICAgICAgICAgICAgW10sCisgICAgICAg
ICAgICAgICAgWzFdLAorICAgICAgICAgICAgICAgIFsxLCAxMF0sCisgICAgICAgICAgICAgICAg
WzEsIDEwLCAxMSwgMTIsIDEzLCAxNCwgMTAwXSwKKyAgICAgICAgICAgICAgICBbLTEwMCwgLTUw
LCAwLCA1MCwgMTAwXSwKKyAgICAgICAgICAgICAgICBbLTEwMCwgLTE0LCAtMTMsIC0xMiwgLTEx
LCAtMTAsIC0xXQorICAgICAgICAgICAgXTsKKyAgICAgCisgICAgICAgICAgICBmdW5jdGlvbiB0
ZXN0QXJyYXkoYXJyYXkpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgZnVuY3Rpb24g
Y29tcGFyYXRvcihhLCBiKQorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAg
cmV0dXJuIGEgPCBiID8gLTEgOiAoYSA+IGIgPyAxIDogMCk7CisgICAgICAgICAgICAgICAgfQor
ICAgICAKKyAgICAgICAgICAgICAgICBmb3IgKHZhciBpID0gLTEwMDsgaSA8PSAxMDA7ICsraSkg
eworICAgICAgICAgICAgICAgICAgICB2YXIgcmVmZXJlbmNlID0gYXJyYXkuaW5kZXhPZihpKTsK
KyAgICAgICAgICAgICAgICAgICAgdmFyIGFjdHVhbCA9IGFycmF5LmJpbmFyeUluZGV4T2YoaSwg
Y29tcGFyYXRvcik7CisgICAgICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0RXF1
YWxzKHJlZmVyZW5jZSwgYWN0dWFsLCAiYmluYXJ5SW5kZXhPZiIpOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgICAgIH0KKyAgICAgCisg
ICAgICAgICAgICBmb3IgKHZhciBpID0gMCwgbCA9IHRlc3RBcnJheXMubGVuZ3RoOyBpIDwgbDsg
KytpKQorICAgICAgICAgICAgICAgIHRlc3RBcnJheSh0ZXN0QXJyYXlzW2ldKTsKKyAgICAgICAg
ICAgIG5leHQoKTsKKyAgICAgICAgfSwKKyAgICAgICAgCisgICAgICAgIGZ1bmN0aW9uIGxvd2Vy
Qm91bmRUZXN0KG5leHQpCisgICAgICAgIHsKKyAgICAgICAgICAgIHZhciB0ZXN0QXJyYXlzID0g
WworICAgICAgICAgICAgICAgIFtdLAorICAgICAgICAgICAgICAgIFsxXSwKKyAgICAgICAgICAg
ICAgICBbLTEsIC0xLCAwLCAwLCAwLCAwLCAyLCAzLCA0LCA0LCA0LCA3LCA5LCA5LCA5XQorICAg
ICAgICAgICAgXTsKKyAgICAgICAgCisgICAgICAgICAgICBmdW5jdGlvbiB0ZXN0QXJyYXkoYXJy
YXksIHVzZUNvbXBhcmF0b3IpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgZnVuY3Rp
b24gY29tcGFyYXRvcihhLCBiKQorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAg
ICAgcmV0dXJuIGEgPCBiID8gLTEgOiAoYSA+IGIgPyAxIDogMCk7CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAKKyAgICAgICAgICAgICAgICBmb3IgKHZhciB2YWx1ZSA9IC0yOyB2YWx1ZSA8
PSAxMjsgKyt2YWx1ZSkgeworICAgICAgICAgICAgICAgICAgICB2YXIgaW5kZXggPSB1c2VDb21w
YXJhdG9yID8gYXJyYXkubG93ZXJCb3VuZCh2YWx1ZSwgY29tcGFyYXRvcikgOiBhcnJheS5sb3dl
ckJvdW5kKHZhbHVlKTsKKyAgICAgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRU
cnVlKDAgPD0gaW5kZXggJiYgaW5kZXggPD0gYXJyYXkubGVuZ3RoLCAiaW5kZXggaXMgd2l0aGlu
IGJvdW5kcyIpOworICAgICAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydFRydWUo
aW5kZXggPT09IDAgfHwgYXJyYXlbaW5kZXggLSAxXSA8IHZhbHVlLCAiYXJyYXlbaW5kZXggLSAx
XSA8IHZhbHVlIik7CisgICAgICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0VHJ1
ZShpbmRleCA9PT0gYXJyYXkubGVuZ3RoIHx8IGFycmF5W2luZGV4XSA+PSB2YWx1ZSwgImFycmF5
W2luZGV4XSA+PSB2YWx1ZSIpOworICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9CisgICAgICAgIAorICAgICAgICAgICAgZm9yICh2YXIgaSA9IDAs
IGwgPSB0ZXN0QXJyYXlzLmxlbmd0aDsgaSA8IGw7ICsraSkgeworICAgICAgICAgICAgICAgIHRl
c3RBcnJheSh0ZXN0QXJyYXlzW2ldLCBmYWxzZSk7CisgICAgICAgICAgICAgICAgdGVzdEFycmF5
KHRlc3RBcnJheXNbaV0sIHRydWUpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgbmV4dCgp
OworICAgICAgICB9LAorICAgICAgICAKKyAgICAgICAgZnVuY3Rpb24gdXBwZXJCb3VuZFRlc3Qo
bmV4dCkKKyAgICAgICAgeworICAgICAgICAgICAgdmFyIHRlc3RBcnJheXMgPSBbCisgICAgICAg
ICAgICAgICAgW10sCisgICAgICAgICAgICAgICAgWzFdLAorICAgICAgICAgICAgICAgIFstMSwg
LTEsIDAsIDAsIDAsIDAsIDIsIDMsIDQsIDQsIDQsIDcsIDksIDksIDldCisgICAgICAgICAgICBd
OworICAgICAgICAKKyAgICAgICAgICAgIGZ1bmN0aW9uIHRlc3RBcnJheShhcnJheSwgdXNlQ29t
cGFyYXRvcikKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBmdW5jdGlvbiBjb21wYXJh
dG9yKGEsIGIpCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICByZXR1cm4g
YSA8IGIgPyAtMSA6IChhID4gYiA/IDEgOiAwKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAg
IAorICAgICAgICAgICAgICAgIGZvciAodmFyIHZhbHVlID0gLTI7IHZhbHVlIDw9IDEyOyArK3Zh
bHVlKSB7CisgICAgICAgICAgICAgICAgICAgIHZhciBpbmRleCA9IHVzZUNvbXBhcmF0b3IgPyBh
cnJheS51cHBlckJvdW5kKHZhbHVlLCBjb21wYXJhdG9yKSA6IGFycmF5LnVwcGVyQm91bmQodmFs
dWUpOworICAgICAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydFRydWUoMCA8PSBp
bmRleCAmJiBpbmRleCA8PSBhcnJheS5sZW5ndGgsICJpbmRleCBpcyB3aXRoaW4gYm91bmRzIik7
CisgICAgICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0VHJ1ZShpbmRleCA9PT0g
MCB8fCBhcnJheVtpbmRleCAtIDFdIDw9IHZhbHVlLCAiYXJyYXlbaW5kZXggLSAxXSA8PSB2YWx1
ZSIpOworICAgICAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydFRydWUoaW5kZXgg
PT09IGFycmF5Lmxlbmd0aCB8fCBhcnJheVtpbmRleF0gPiB2YWx1ZSwgImFycmF5W2luZGV4XSA+
IHZhbHVlIik7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICAKKyAg
ICAgICAgICAgIGZvciAodmFyIGkgPSAwLCBsID0gdGVzdEFycmF5cy5sZW5ndGg7IGkgPCBsOyAr
K2kpIHsKKyAgICAgICAgICAgICAgICB0ZXN0QXJyYXkodGVzdEFycmF5c1tpXSwgZmFsc2UpOwor
ICAgICAgICAgICAgICAgIHRlc3RBcnJheSh0ZXN0QXJyYXlzW2ldLCB0cnVlKTsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgIG5leHQoKTsKKyAgICAgICAgfSwKKyAgICAgICAgCisKKyAgICAg
ICAgZnVuY3Rpb24gcXNlbGVjdFRlc3QobmV4dCkKKyAgICAgICAgeworICAgICAgICAgICAgdmFy
IHRlc3RBcnJheXMgPSBbCisgICAgICAgICAgICAgICAgW10sCisgICAgICAgICAgICAgICAgWzBd
LAorICAgICAgICAgICAgICAgIFswLCAwLCAwLCAwLCAwLCAwLCAwLCAwXSwKKyAgICAgICAgICAg
ICAgICBbNCwgMywgMiwgMV0sCisgICAgICAgICAgICAgICAgWzEsIDIsIDMsIDQsIDVdLAorICAg
ICAgICAgICAgICAgIFstMSwgMywgMiwgNywgNywgNywgMTAsIDEyLCAzLCA0LCAtMSwgMl0KKyAg
ICAgICAgICAgIF07CisKKyAgICAgICAgICAgIGZ1bmN0aW9uIHRlc3RBcnJheShhcnJheSkKKyAg
ICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBmdW5jdGlvbiBjb21wYXJlKGEsIGIpCisgICAg
ICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICByZXR1cm4gYSAtIGI7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgICAgIHZhciBzb3J0ZWQgPSBhcnJheS5zbGljZSgwKS5z
b3J0KGNvbXBhcmUpOworCisgICAgICAgICAgICAgICAgdmFyIHJlZmVyZW5jZSA9IHsKKyAgICAg
ICAgICAgICAgICAgICAgbWluOiBzb3J0ZWRbMF0sCisgICAgICAgICAgICAgICAgICAgIG1lZGlh
bjogc29ydGVkW01hdGguZmxvb3Ioc29ydGVkLmxlbmd0aCAvIDIpXSwKKyAgICAgICAgICAgICAg
ICAgICAgbWF4OiBzb3J0ZWRbc29ydGVkLmxlbmd0aCAtIDFdCisgICAgICAgICAgICAgICAgfTsK
KworICAgICAgICAgICAgICAgIHZhciBhY3R1YWwgPSB7CisgICAgICAgICAgICAgICAgICAgIG1p
bjogYXJyYXkuc2xpY2UoMCkucXNlbGVjdCgwKSwKKyAgICAgICAgICAgICAgICAgICAgbWVkaWFu
OiBhcnJheS5zbGljZSgwKS5xc2VsZWN0KE1hdGguZmxvb3IoYXJyYXkubGVuZ3RoIC8gMikpLAor
ICAgICAgICAgICAgICAgICAgICBtYXg6IGFycmF5LnNsaWNlKDApLnFzZWxlY3QoYXJyYXkubGVu
Z3RoIC0gMSkKKyAgICAgICAgICAgICAgICB9OworICAgICAgICAgICAgICAgIEluc3BlY3RvclRl
c3QuYWRkUmVzdWx0KCJBcnJheTogIiArIEpTT04uc3RyaW5naWZ5KGFycmF5KSk7CisgICAgICAg
ICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIlJlZmVyZW5jZTogIiArIEpTT04uc3Ry
aW5naWZ5KHJlZmVyZW5jZSkpOworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVz
dWx0KCJBY3R1YWw6ICAgICIgKyBKU09OLnN0cmluZ2lmeShhY3R1YWwpKTsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIGZvciAodmFyIGkgPSAwLCBsID0gdGVzdEFycmF5cy5sZW5ndGg7IGkg
PCBsOyArK2kpCisgICAgICAgICAgICAgICAgdGVzdEFycmF5KHRlc3RBcnJheXNbaV0pOworICAg
ICAgICAgICAgbmV4dCgpOworICAgICAgICB9LAorCisgICAgICAgIGZ1bmN0aW9uIHNvcnRSYW5n
ZVRlc3QobmV4dCkKKyAgICAgICAgeworICAgICAgICAgICAgdmFyIHRlc3RBcnJheXMgPSBbCisg
ICAgICAgICAgICAgICAgW10sCisgICAgICAgICAgICAgICAgWzFdLAorICAgICAgICAgICAgICAg
IFsyLCAxXSwKKyAgICAgICAgICAgICAgICBbNiwgNCwgMiwgNywgMTAsIDE1LCAxXSwKKyAgICAg
ICAgICAgICAgICBbMTAsIDQ0LCAzLCA2LCA1NiwgNjYsIDEwLCA1NSwgMzIsIDU2LCAyLCA1XQor
ICAgICAgICAgICAgXTsKKworICAgICAgICAgICAgZnVuY3Rpb24gdGVzdEFycmF5KGFycmF5KQor
ICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGNvbXBhcmF0b3IoYSwgYikK
KyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgIHJldHVybiBhIDwgYiA/IC0x
IDogKGEgPiBiID8gMSA6IDApOworICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAg
IGZ1bmN0aW9uIGNvbXBhcmVBcnJheXMoYSwgYiwgbWVzc2FnZSkKKyAgICAgICAgICAgICAgICB7
CisgICAgICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0RXF1YWxzKEpTT04uc3Ry
aW5naWZ5KGEpLCBKU09OLnN0cmluZ2lmeShiKSwgbWVzc2FnZSk7CisgICAgICAgICAgICAgICAg
fQorCisgICAgICAgICAgICAgICAgZm9yICh2YXIgbGVmdCA9IDAsIGwgPSBhcnJheS5sZW5ndGgg
LSAxOyBsZWZ0IDwgbDsgKytsZWZ0KSB7CisgICAgICAgICAgICAgICAgICAgICBmb3IgKHZhciBy
aWdodCA9IGxlZnQgKyAxLCByID0gYXJyYXkubGVuZ3RoOyByaWdodCA8IHI7ICsrcmlnaHQpCisg
ICAgICAgICAgICAgICAgICAgICAgICAgIGZvciAodmFyIGNvdW50ID0gMSwgayA9IHJpZ2h0IC0g
bGVmdCArIDE7IGNvdW50IDw9IGs7ICsrY291bnQpIHsKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHZhciBhY3R1YWwgPSBhcnJheS5zbGljZSgwKTsKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGFjdHVhbC5zb3J0UmFuZ2UoY29tcGFyYXRvciwgbGVmdCwgcmlnaHQsIGNvdW50
KTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBhcmVBcnJheXMoYXJyYXkuc2xp
Y2UoMCwgbGVmdCksIGFjdHVhbC5zbGljZSgwLCBsZWZ0KSwgImxlZnQgIiArIGxlZnQgKyAiICIg
KyByaWdodCArICIgIiArIGNvdW50KTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bXBhcmVBcnJheXMoYXJyYXkuc2xpY2UocmlnaHQgKyAxKSwgYWN0dWFsLnNsaWNlKHJpZ2h0ICsg
MSksICJyaWdodCAiICsgbGVmdCArICIgIiArIHJpZ2h0ICsgIiAiICsgY291bnQpOworICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdmFyIG1pZGRsZSA9IGFycmF5LnNsaWNlKGxlZnQsIHJp
Z2h0ICsgMSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtaWRkbGUuc29ydChjb21w
YXJhdG9yKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBhcmVBcnJheXMobWlk
ZGxlLnNsaWNlKDAsIGNvdW50KSwgYWN0dWFsLnNsaWNlKGxlZnQsIGxlZnQgKyBjb3VudCksICJz
b3J0ZWQgIiArIGxlZnQgKyAiICIgKyByaWdodCArICIgIiArIGNvdW50KTsKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGFjdHVhbFJlc3QgPSBhY3R1YWwuc2xpY2UobGVmdCArIGNvdW50
LCByaWdodCArIDEpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0dWFsUmVzdC5z
b3J0KGNvbXBhcmF0b3IpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tcGFyZUFy
cmF5cyhtaWRkbGUuc2xpY2UoY291bnQpLCBhY3R1YWxSZXN0LCAidW5zb3J0ZWQgIiArIGxlZnQg
KyAiICIgKyByaWdodCArICIgIiArIGNvdW50KTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgZm9yICh2
YXIgaSA9IDAsIGxlbiA9IHRlc3RBcnJheXMubGVuZ3RoOyBpIDwgbGVuOyArK2kpCisgICAgICAg
ICAgICAgICAgdGVzdEFycmF5KHRlc3RBcnJheXNbaV0pOworICAgICAgICAgICAgbmV4dCgpOwor
ICAgICAgICB9CisgICAgXSk7Cit9CisKKzwvc2NyaXB0PgorPC9oZWFkPgorCis8Ym9keSBvbmxv
YWQ9InJ1blRlc3QoKSI+Cis8cD4KK1RoaXMgdGVzdCBjaGVja3MgV2ViIEluc3BlY3RvciB1dGls
aXRpZXMuCis8L3A+CisKKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2luc3BlY3Rvci1wcm90b2NvbC9oZWFwLXByb2ZpbGVyL2hlYXAtc25hcHNob3Qtd2l0aC1kZXRh
Y2hlZC1kb20tdHJlZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3ItcHJvdG9j
b2wvaGVhcC1wcm9maWxlci9oZWFwLXNuYXBzaG90LXdpdGgtZGV0YWNoZWQtZG9tLXRyZWUtZXhw
ZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiMTEyZDEyMzRkNmZhMDhl
NmE0OWQzMjgzMGVjZTVkODYxMDM2OWYyLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1wcm90b2NvbC9oZWFwLXByb2Zp
bGVyL2hlYXAtc25hcHNob3Qtd2l0aC1kZXRhY2hlZC1kb20tdHJlZS1leHBlY3RlZC50eHQKKysr
IC9kZXYvbnVsbApAQCAtMSw3ICswLDAgQEAKLVRlc3QgdGhhdCBhbGwgbm9kZXMgZnJvbSB0aGUg
ZGV0YWNoZWQgRE9NIHRyZWUgd2lsbCBnZXQgaW50byBvbmUgZ3JvdXAgaW4gdGhlIGhlYXAgc25h
cHNob3QuIEJ1ZyAxMDc4MTkuCi0KLSBTVUNDRVNTOiBmb3VuZCAoRGV0YWNoZWQgRE9NIHRyZWVz
KQotU1VDQ0VTUzogZm91bmQgRGV0YWNoZWQgRE9NIHRyZWUgLyA0IGVudHJpZXMKLVNVQ0NFU1M6
IGZvdW5kIDMgRElWcyBpbiBEZXRhY2hlZCBET00gdHJlZSAvIDQgZW50cmllcwotU1VDQ0VTUzog
ZGlkR2V0SGVhcFNuYXBzaG90Ci0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1w
cm90b2NvbC9oZWFwLXByb2ZpbGVyL2hlYXAtc25hcHNob3Qtd2l0aC1kZXRhY2hlZC1kb20tdHJl
ZS5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLXByb3RvY29sL2hlYXAtcHJvZmlsZXIvaGVh
cC1zbmFwc2hvdC13aXRoLWRldGFjaGVkLWRvbS10cmVlLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDA4ZjI3ZWM1NjRiNmE0OGRlOGMwM2FmZGRlZTE1MzExYzhlNTZjYzUuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yLXByb3RvY29sL2hlYXAtcHJvZmlsZXIvaGVhcC1zbmFwc2hvdC13aXRoLWRldGFj
aGVkLWRvbS10cmVlLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw3OCArMCwwIEBACi08aHRtbD4K
LTxoZWFkPgotPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vaHR0cC90
ZXN0cy9pbnNwZWN0b3ItcHJvdG9jb2wvcmVzb3VyY2VzL3Byb3RvY29sLXRlc3QuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdD4KLWZ1bmN0aW9uIGNyZWF0ZURldGFjaGVkRG9tVHJlZUFuZFJ1blRlc3Qo
KQotewotICAgIHdpbmRvdy5yZXRhaW5pbmdfd3JhcHBlciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoImRpdiIpOwotICAgIHZhciB0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7Ci0g
ICAgcmV0YWluaW5nX3dyYXBwZXIuYXBwZW5kQ2hpbGQodCk7Ci0gICAgdC5hcHBlbmRDaGlsZChk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSk7Ci0KLSAgICBydW5UZXN0KCk7Ci19Ci0KLWZ1
bmN0aW9uIHRlc3QoKQotewotICAgIEluc3BlY3RvclRlc3QuaW1wb3J0U2NyaXB0KCIuLi8uLi8u
Li8uLi9pbnNwZWN0b3ItcHJvdG9jb2wvaGVhcC1wcm9maWxlci9yZXNvdXJjZXMvaGVhcC1zbmFw
c2hvdC1jb21tb24uanMiKTsKLQotICAgIGZ1bmN0aW9uIGNoZWNrSGVhcFNuYXBzaG90KHNuYXBz
aG90KSB7Ci0gICAgICAgIHZhciBub2RlOwotICAgICAgICBmb3IgKHZhciBpdCA9IHNuYXBzaG90
Ll9hbGxOb2RlcygpOyBpdC5oYXNOZXh0KCk7IGl0Lm5leHQoKSkgewotICAgICAgICAgICAgaWYg
KGl0Lm5vZGUubmFtZSgpID09PSAiKERldGFjaGVkIERPTSB0cmVlcykiKSB7Ci0gICAgICAgICAg
ICAgICAgbm9kZSA9IGl0Lm5vZGU7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAg
ICB9Ci0gICAgICAgIH0KLSAgICAgICAgaWYgKG5vZGUpCi0gICAgICAgICAgICBJbnNwZWN0b3JU
ZXN0LmxvZygiU1VDQ0VTUzogZm91bmQgIiArIG5vZGUubmFtZSgpKTsKLSAgICAgICAgZWxzZQot
ICAgICAgICAgICAgcmV0dXJuIGZhaWwoImNhbm5vdCBmaW5kIGRldGFjaGVkIERPTSB0cmVlcyBy
b290Iik7Ci0KLSAgICAgICAgdmFyIGRldGFjaGVkRE9NVHJlZVJFID0gL15EZXRhY2hlZCBET00g
dHJlZS87Ci0gICAgICAgIHZhciBkZXRhY2hlZERvbVRyZWVGb3VuZCA9IGZhbHNlOwotICAgICAg
ICBmb3IgKHZhciBpdGVyID0gbm9kZS5lZGdlcygpOyBpdGVyLmhhc05leHQoKTsgaXRlci5uZXh0
KCkpIHsKLSAgICAgICAgICAgIHZhciBub2RlID0gaXRlci5lZGdlLm5vZGUoKTsKLSAgICAgICAg
ICAgIGlmIChkZXRhY2hlZERPTVRyZWVSRS50ZXN0KG5vZGUuY2xhc3NOYW1lKCkpKSB7Ci0gICAg
ICAgICAgICAgICAgaWYgKCJEZXRhY2hlZCBET00gdHJlZSAvIDQgZW50cmllcyIgPT09IG5vZGUu
bmFtZSgpKSB7Ci0gICAgICAgICAgICAgICAgICAgIGlmIChkZXRhY2hlZERvbVRyZWVGb3VuZCkK
LSAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWlsKCJzZWNvbmQgIiArIG5vZGUubmFt
ZSgpKTsKLSAgICAgICAgICAgICAgICAgICAgZGV0YWNoZWREb21UcmVlRm91bmQgPSB0cnVlOwot
ICAgICAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmxvZygiU1VDQ0VTUzogZm91bmQgIiAr
IG5vZGUubmFtZSgpKTsKLSAgICAgICAgICAgICAgICAgICAgY2hlY2tEZXRhY2hlZERPTVRyZWVO
b2Rlcyhub2RlKTsKLSAgICAgICAgICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgICAgICAgICAg
cmV0dXJuIGZhaWwoInVuZXhwZWN0ZWQgZGV0YWNoZWQgRE9NIHRyZWU6ICIgKyBub2RlLm5hbWUo
KSk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBjaGVj
a0RldGFjaGVkRE9NVHJlZU5vZGVzKHRyZWVOb2RlKQotICAgIHsKLSAgICAgICAgdmFyIGRpdkNv
dW50ID0gMDsKLSAgICAgICAgZm9yICh2YXIgaXRlciA9IHRyZWVOb2RlLmVkZ2VzKCk7IGl0ZXIu
aGFzTmV4dCgpOyBpdGVyLm5leHQoKSkgewotICAgICAgICAgICAgdmFyIG5vZGUgPSBpdGVyLmVk
Z2Uubm9kZSgpOwotICAgICAgICAgICAgaWYgKG5vZGUubmFtZSgpID09PSAiSFRNTERpdkVsZW1l
bnQiKQotICAgICAgICAgICAgICAgICsrZGl2Q291bnQ7Ci0gICAgICAgICAgICBlbHNlCi0gICAg
ICAgICAgICAgICAgcmV0dXJuIGZhaWwoInVuZXhwZWN0ZWQgRE9NIHdyYXBwZXI6ICIgKyBub2Rl
Lm5hbWUoKSk7Ci0gICAgICAgIH0KLSAgICAgICAgaWYgKGRpdkNvdW50ID09PSAzKQotICAgICAg
ICAgICAgSW5zcGVjdG9yVGVzdC5sb2coIlNVQ0NFU1M6IGZvdW5kICIgKyBkaXZDb3VudCArICIg
RElWcyBpbiAiICsgdHJlZU5vZGUubmFtZSgpKTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAg
cmV0dXJuIGZhaWwoInVuZXhwZWN0ZWQgRElWIGNvdW50OiAiICsgZGl2Q291bnQpOwotCi0gICAg
fQotCi0gICAgZnVuY3Rpb24gZmFpbChtZXNzYWdlKSB7Ci0gICAgICAgIEluc3BlY3RvclRlc3Qu
bG9nKCJGQUlMOiAiICsgbWVzc2FnZSk7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVU
ZXN0KCk7Ci0gICAgfQotCi0gICAgSW5zcGVjdG9yVGVzdC50YWtlSGVhcFNuYXBzaG90KGNoZWNr
SGVhcFNuYXBzaG90KTsKLX0KLTwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgb25sb2FkPSJjcmVh
dGVEZXRhY2hlZERvbVRyZWVBbmRSdW5UZXN0KCkiPgotPHA+VGVzdCB0aGF0IGFsbCBub2RlcyBm
cm9tIHRoZSBkZXRhY2hlZCBET00gdHJlZSB3aWxsIGdldCBpbnRvIG9uZSBncm91cCBpbiB0aGUg
aGVhcCBzbmFwc2hvdC4gPGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTEwNzgxOSI+QnVnIDEwNzgxOS48L3A+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3ItcHJvdG9jb2wvaGVhcC1wcm9maWxlci9oZWFwLXNu
YXBzaG90LXdpdGgtZXZlbnQtbGlzdGVuZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yLXByb3RvY29sL2hlYXAtcHJvZmlsZXIvaGVhcC1zbmFwc2hvdC13aXRoLWV2ZW50LWxp
c3RlbmVyLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzU4ODc5
MmNjY2IzZjRkYWExMjZmZDNhNzQyZDlmMWQxM2RkY2NjNS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3ItcHJvdG9jb2wv
aGVhcC1wcm9maWxlci9oZWFwLXNuYXBzaG90LXdpdGgtZXZlbnQtbGlzdGVuZXItZXhwZWN0ZWQu
dHh0CisrKyAvZGV2L251bGwKQEAgLTEsNiArMCwwIEBACi1UZXN0IHRoYXQgYWxsIG5vZGVzIGZy
b20gdGhlIGRldGFjaGVkIERPTSB0cmVlIHdpbGwgZ2V0IGludG8gb25lIGdyb3VwIGluIHRoZSBo
ZWFwIHNuYXBzaG90LiBCdWcgMTA3ODE5LgotCi0gU1VDQ0VTUzogZm91bmQgbXlFdmVudExpc3Rl
bmVyCi1TVUNDRVNTOiBmb3VuZCBsaW5rIGZyb20gSFRNTEJvZHlFbGVtZW50IHRvIEhUTUxCb2R5
RWxlbWVudAotU1VDQ0VTUzogZGlkR2V0SGVhcFNuYXBzaG90Ci0KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2luc3BlY3Rvci1wcm90b2NvbC9oZWFwLXByb2ZpbGVyL2hlYXAtc25hcHNob3Qtd2l0
aC1ldmVudC1saXN0ZW5lci5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLXByb3RvY29sL2hl
YXAtcHJvZmlsZXIvaGVhcC1zbmFwc2hvdC13aXRoLWV2ZW50LWxpc3RlbmVyLmh0bWwKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwYzVhZGVlODU3MWUxZGZkYjRhNDZlZjQ2N2E5YTU2
MzhiMGMxYjQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yLXByb3RvY29sL2hlYXAtcHJvZmlsZXIvaGVhcC1zbmFwc2hv
dC13aXRoLWV2ZW50LWxpc3RlbmVyLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw2NSArMCwwIEBA
Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4v
Li4vaHR0cC90ZXN0cy9pbnNwZWN0b3ItcHJvdG9jb2wvcmVzb3VyY2VzL3Byb3RvY29sLXRlc3Qu
anMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLWZ1bmN0aW9uIGFkZEV2ZW50TGlzdGVuZXJBbmRSdW5U
ZXN0KCkKLXsKLSAgICBmdW5jdGlvbiBteUV2ZW50TGlzdGVuZXIoZSkgewotICAgICAgICBjb25z
b2xlLmxvZygibXlFdmVudExpc3RlbmVyIik7Ci0gICAgfQotICAgIGRvY3VtZW50LmJvZHkuYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCBteUV2ZW50TGlzdGVuZXIsIHRydWUpOwotCi0gICAgcnVu
VGVzdCgpOwotfQotCi1mdW5jdGlvbiB0ZXN0KCkKLXsKLSAgICBJbnNwZWN0b3JUZXN0LmltcG9y
dFNjcmlwdCgiLi4vLi4vLi4vLi4vaW5zcGVjdG9yLXByb3RvY29sL2hlYXAtcHJvZmlsZXIvcmVz
b3VyY2VzL2hlYXAtc25hcHNob3QtY29tbW9uLmpzIik7Ci0KLSAgICBmdW5jdGlvbiBjaGVja0hl
YXBTbmFwc2hvdChzbmFwc2hvdCkKLSAgICB7Ci0gICAgICAgIHZhciBub2RlOwotICAgICAgICBm
b3IgKHZhciBpdCA9IHNuYXBzaG90Ll9hbGxOb2RlcygpOyBpdC5oYXNOZXh0KCk7IGl0Lm5leHQo
KSkgewotICAgICAgICAgICAgaWYgKGl0Lm5vZGUudHlwZSgpID09PSAiY2xvc3VyZSIgJiYgaXQu
bm9kZS5uYW1lKCkgPT09ICJteUV2ZW50TGlzdGVuZXIiKSB7Ci0gICAgICAgICAgICAgICAgbm9k
ZSA9IGl0Lm5vZGU7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICB9Ci0gICAg
ICAgIH0KLSAgICAgICAgaWYgKG5vZGUpCi0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmxvZygi
U1VDQ0VTUzogZm91bmQgIiArIG5vZGUubmFtZSgpKTsKLSAgICAgICAgZWxzZQotICAgICAgICAg
ICAgcmV0dXJuIGZhaWwoImNhbm5vdCBmaW5kIGRldGFjaGVkIERPTSB0cmVlcyByb290Iik7Ci0K
LSAgICAgICAgdmFyIG5hdGl2ZVJldGFpbmVycyA9IDA7Ci0gICAgICAgIGZvciAodmFyIGl0ZXIg
PSBub2RlLnJldGFpbmVycygpOyBpdGVyLmhhc05leHQoKTsgaXRlci5uZXh0KCkpIHsKLSAgICAg
ICAgICAgIHZhciBub2RlID0gaXRlci5yZXRhaW5lci5ub2RlKCk7Ci0gICAgICAgICAgICB2YXIg
cmV0YWluaW5nRWRnZSA9IGl0ZXIucmV0YWluZXI7Ci0gICAgICAgICAgICBpZiAocmV0YWluaW5n
RWRnZS5pc0ludGVybmFsKCkgJiYgcmV0YWluaW5nRWRnZS5uYW1lKCkgPT09ICJuYXRpdmUiKSB7
Ci0gICAgICAgICAgICAgICAgaWYgKCsrbmF0aXZlUmV0YWluZXJzID09PSAxKSB7Ci0gICAgICAg
ICAgICAgICAgICAgIHZhciByZXRhaW5lck5hbWUgPSByZXRhaW5pbmdFZGdlLm5vZGUoKS5uYW1l
KCk7Ci0gICAgICAgICAgICAgICAgICAgIGlmIChyZXRhaW5lck5hbWUgPT09ICJIVE1MQm9keUVs
ZW1lbnQiKQotICAgICAgICAgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5sb2coIlNVQ0NF
U1M6IGZvdW5kIGxpbmsgZnJvbSBIVE1MQm9keUVsZW1lbnQgdG8gIiArIG5vZGUubmFtZSgpKTsK
LSAgICAgICAgICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJu
IGZhaWwoInVuZXhwZWN0ZWQgcmV0YWluZXIgb2YgIiArIG5vZGUubmFtZSgpICsgIjogIiArIHJl
dGFpbmVyTmFtZSk7Ci0gICAgICAgICAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICAgICAgICAg
IHJldHVybiBmYWlsKCJ0b28gbWFueSByZXRhaW5lcnMgb2YgIiArIG5vZGUubmFtZSgpKTsKLSAg
ICAgICAgICAgIH0gZWxzZSBpZiAoIXJldGFpbmluZ0VkZ2UuaXNXZWFrKCkpCi0gICAgICAgICAg
ICAgICAgcmV0dXJuIGZhaWwoInVuZXhwZWN0ZWQgcmV0YWluaW5nIGVkZ2Ugb2YgIiArIG5vZGUu
bmFtZSgpICsgIiB0eXBlOiAiICsgcmV0YWluaW5nRWRnZS50eXBlKCkgKyAiLCBuYW1lOiAiICsg
cmV0YWluaW5nRWRnZS5uYW1lKCkpOwotICAgICAgICB9Ci0gICAgICAgIGlmICghbmF0aXZlUmV0
YWluZXJzKQotICAgICAgICAgICAgcmV0dXJuIGZhaWwoImNhbm5vdCBmaW5kIEhUTUxCb2R5RWxl
bWVudCBhbW9uZyByZXRhaW5lcnMgb2YgIiArIG5vZGUubmFtZSgpKTsKLSAgICB9Ci0KLSAgICBm
dW5jdGlvbiBmYWlsKG1lc3NhZ2UpIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5sb2coIkZBSUw6
ICIgKyBtZXNzYWdlKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKLSAg
ICB9Ci0KLSAgICBJbnNwZWN0b3JUZXN0LnRha2VIZWFwU25hcHNob3QoY2hlY2tIZWFwU25hcHNo
b3QpOwotfQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9ImFkZEV2ZW50TGlzdGVu
ZXJBbmRSdW5UZXN0KCkiPgotPHA+VGVzdCB0aGF0IGFsbCBub2RlcyBmcm9tIHRoZSBkZXRhY2hl
ZCBET00gdHJlZSB3aWxsIGdldCBpbnRvIG9uZSBncm91cCBpbiB0aGUgaGVhcCBzbmFwc2hvdC4g
PGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNzgxOSI+
QnVnIDEwNzgxOS48L3A+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbnNwZWN0b3ItcHJvdG9jb2wvaGVhcC1wcm9maWxlci9yZXNvdXJjZXMvaGVhcC1zbmFwc2hv
dC1jb21tb24uanMgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3ItcHJvdG9jb2wvaGVhcC1wcm9maWxl
ci9yZXNvdXJjZXMvaGVhcC1zbmFwc2hvdC1jb21tb24uanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDllOTg4NDk3ZDE1NjlhYWZmMTY4YmZhNmMwNzhjM2Y3ZjdkZTg2OGQuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yLXByb3RvY29sL2hlYXAtcHJvZmlsZXIvcmVzb3VyY2VzL2hlYXAtc25hcHNob3QtY29t
bW9uLmpzCisrKyAvZGV2L251bGwKQEAgLTEsMzkgKzAsMCBAQAotLy8gVGhpcyBzY3JpcHQgaXMg
c3VwcG9zZWQgdG8gYmUgZXZhbHVhdGVkIGluIGR1bW15IGluc3BlY3RvciBmcm9udC1lbmQgd2hp
Y2ggaXMgbG9hZGVkIGZyb20KLS8vIC4uLy4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yLXByb3Rv
Y29sL3Jlc291cmNlcy9wcm90b2NvbC10ZXN0Lmh0bWwgYW5kIHRoZSByZWxhdGl2ZSBwYXRocwot
Ly8gYmVsb3cgYXJlIHJlbGF0aXZlIHRvIHRoYXQgbG9jYXRpb24uCi0KLWlmICghd2luZG93Lldl
Ykluc3BlY3RvcikKLSAgICB3aW5kb3cuV2ViSW5zcGVjdG9yID0ge307Ci1JbnNwZWN0b3JUZXN0
LmltcG9ydFNjcmlwdCgiLi4vLi4vLi4vLi4vLi4vU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zy
b250LWVuZC9IZWFwU25hcHNob3QuanMiKTsKLUluc3BlY3RvclRlc3QuaW1wb3J0U2NyaXB0KCIu
Li8uLi8uLi8uLi8uLi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0pTSGVhcFNu
YXBzaG90LmpzIik7Ci0KLUluc3BlY3RvclRlc3QudGFrZUhlYXBTbmFwc2hvdCA9IGZ1bmN0aW9u
KGNhbGxiYWNrKQotewotICAgIEluc3BlY3RvclRlc3QuZXZlbnRIYW5kbGVyWyJIZWFwUHJvZmls
ZXIuYWRkUHJvZmlsZUhlYWRlciJdID0gZnVuY3Rpb24obWVzc2FnZU9iamVjdCkKLSAgICB7Ci0g
ICAgICAgIHZhciBwcm9maWxlSWQgPSBtZXNzYWdlT2JqZWN0WyJwYXJhbXMiXVsiaGVhZGVyIl1b
InVpZCJdOwotICAgICAgICBJbnNwZWN0b3JUZXN0LnNlbmRDb21tYW5kKCJIZWFwUHJvZmlsZXIu
Z2V0SGVhcFNuYXBzaG90IiwgeyAidWlkIjogcHJvZmlsZUlkIH0sIGRpZEdldEhlYXBTbmFwc2hv
dCk7Ci0KLSAgICAgICAgZnVuY3Rpb24gZGlkR2V0SGVhcFNuYXBzaG90KG1lc3NhZ2VPYmplY3Qp
Ci0gICAgICAgIHsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QubG9nKCJTVUNDRVNTOiBkaWRH
ZXRIZWFwU25hcHNob3QiKTsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0
KCk7Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICB2YXIgY2h1bmtzID0gW107Ci0gICAgSW5zcGVj
dG9yVGVzdC5ldmVudEhhbmRsZXJbIkhlYXBQcm9maWxlci5hZGRIZWFwU25hcHNob3RDaHVuayJd
ID0gZnVuY3Rpb24obWVzc2FnZU9iamVjdCkKLSAgICB7Ci0gICAgICAgIGNodW5rcy5wdXNoKG1l
c3NhZ2VPYmplY3RbInBhcmFtcyJdWyJjaHVuayJdKTsKLSAgICB9Ci0KLSAgICBJbnNwZWN0b3JU
ZXN0LmV2ZW50SGFuZGxlclsiSGVhcFByb2ZpbGVyLmZpbmlzaEhlYXBTbmFwc2hvdCJdID0gZnVu
Y3Rpb24obWVzc2FnZU9iamVjdCkKLSAgICB7Ci0gICAgICAgIHZhciBzZXJpYWxpemVkU25hcHNo
b3QgPSBjaHVua3Muam9pbigiIik7Ci0gICAgICAgIHZhciBwYXJzZWQgPSBKU09OLnBhcnNlKHNl
cmlhbGl6ZWRTbmFwc2hvdCk7Ci0gICAgICAgIHZhciBzbmFwc2hvdCA9IG5ldyBXZWJJbnNwZWN0
b3IuSlNIZWFwU25hcHNob3QocGFyc2VkKTsKLSAgICAgICAgY2FsbGJhY2soc25hcHNob3QpOwot
ICAgIH0KLQotICAgIEluc3BlY3RvclRlc3Quc2VuZENvbW1hbmQoIkhlYXBQcm9maWxlci50YWtl
SGVhcFNuYXBzaG90Iiwge30pOwotfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
LXByb3RvY29sL2hlYXAtcHJvZmlsZXIvcmVzb3VyY2VzL3BhZ2Utd2l0aC1mdW5jdGlvbi5odG1s
IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLXByb3RvY29sL2hlYXAtcHJvZmlsZXIvcmVzb3VyY2Vz
L3BhZ2Utd2l0aC1mdW5jdGlvbi5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAz
M2NjZTUzYjdhNDMxNmQ2OTY3OTM4NGJlYjc1MWY3MWI5NDEyOTA2Li4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1wcm90
b2NvbC9oZWFwLXByb2ZpbGVyL3Jlc291cmNlcy9wYWdlLXdpdGgtZnVuY3Rpb24uaHRtbAorKysg
L2Rldi9udWxsCkBAIC0xLDcgKzAsMCBAQAotPHNjcmlwdD4KLWZ1bmN0aW9uIGZvbygpCi17Ci0g
ICAgYWxlcnQoZG9jdW1lbnQuVVJMKTsKLX0KLTwvc2NyaXB0PgotPGRpdj5yZXNvdXJjZS5odG1s
PC9kaXY+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3ItcHJvdG9jb2wvaGVhcC1w
cm9maWxlci90YWtlLWhlYXAtc25hcHNob3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yLXByb3RvY29sL2hlYXAtcHJvZmlsZXIvdGFrZS1oZWFwLXNuYXBzaG90LWV4cGVjdGVk
LnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDQ4ZDliYTVkZGUxMGU4Yzg1ODg2
ZTYzOGQ0MmEyNGE2OWYwOGU4NC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3ItcHJvdG9jb2wvaGVhcC1wcm9maWxlci90
YWtlLWhlYXAtc25hcHNob3QtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNSArMCww
IEBACi1UZXN0IHRoYXQgaGVhcCBwcm9maWxlciBkb2Vzbid0IGNyYXNoIHdoaWxlIHRha2luZyBz
bmFwc2hvdCBvbiBhIHBhZ2Ugd2hlcmUgaWZyYW1lIHdhcyBuYXZpZ2F0ZWQgdG8gYSBuZXcgbG9j
YXRpb24gYWZ0ZXIgc3RvcmluZyBhIGhvbGQgb2YgYSBmdW5jdGlvbiBmcm9tIHRoZSBwcmV2aW91
cyBwYWdlLiBCdWcgMTAzMDc2LgotCi0gCi1TVUNDRVNTOiBkaWRUYWtlSGVhcFNuYXBzaG90Ci0K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1wcm90b2NvbC9oZWFwLXByb2ZpbGVy
L3Rha2UtaGVhcC1zbmFwc2hvdC5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLXByb3RvY29s
L2hlYXAtcHJvZmlsZXIvdGFrZS1oZWFwLXNuYXBzaG90Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IGNlMDdlZGNlMGI0MjhkZjExMGJkMTM3ZjlhNWFkZTU1NDBjMmZmMjQuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yLXByb3RvY29sL2hlYXAtcHJvZmlsZXIvdGFrZS1oZWFwLXNuYXBzaG90Lmh0bWwK
KysrIC9kZXYvbnVsbApAQCAtMSwzNSArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCB0
eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3ItcHJv
dG9jb2wvcmVzb3VyY2VzL3Byb3RvY29sLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLXZh
ciBmb29SZWY7Ci1mdW5jdGlvbiBzdG9yZUZ1bmN0aW9uUmVmQW5kTmF2aWdhdGVJRnJhbWUoKQot
ewotICAgIHZhciBmcmFtZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJteWZyYW1lIik7Ci0g
ICAgZm9vUmVmID0gZnJhbWUuY29udGVudFdpbmRvdy5mb287Ci0gICAgZnJhbWUuc3JjID0gImFi
b3V0OmJsYW5rIjsKLSAgICBmcmFtZS5vbmxvYWQgPSBkaWROYXZpZ2F0ZTsKLX0KLQotZnVuY3Rp
b24gZGlkTmF2aWdhdGUoKQotewotICAgIHJ1blRlc3QoKTsKLX0KLWZ1bmN0aW9uIHRlc3QoKQot
ewotICAgIGZ1bmN0aW9uIGRpZFRha2VIZWFwU25hcHNob3QobWVzc2FnZU9iamVjdCkKLSAgICB7
Ci0gICAgICAgIEluc3BlY3RvclRlc3QubG9nKCJTVUNDRVNTOiBkaWRUYWtlSGVhcFNuYXBzaG90
Iik7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7Ci0gICAgfQotCi0gICAg
SW5zcGVjdG9yVGVzdC5zZW5kQ29tbWFuZCgiUHJvZmlsZXIudGFrZUhlYXBTbmFwc2hvdCIsIHsg
InJlcG9ydFByb2dyZXNzIjogZmFsc2UgfSwgZGlkVGFrZUhlYXBTbmFwc2hvdCk7Ci19Ci08L3Nj
cmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPHA+VGVzdCB0aGF0IGhlYXAgcHJvZmlsZXIgZG9lc24n
dCBjcmFzaCB3aGlsZSB0YWtpbmcgc25hcHNob3Qgb24gYSBwYWdlIHdoZXJlIGlmcmFtZSB3YXMg
bmF2aWdhdGVkIHRvIGEgbmV3IGxvY2F0aW9uIGFmdGVyCi1zdG9yaW5nIGEgaG9sZCBvZiBhIGZ1
bmN0aW9uIGZyb20gdGhlIHByZXZpb3VzIHBhZ2UuIDxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDMwNzYiPkJ1ZyAxMDMwNzYuPC9wPgotPGlmcmFtZSBp
ZD0ibXlmcmFtZSIgc3JjPSJyZXNvdXJjZXMvcGFnZS13aXRoLWZ1bmN0aW9uLmh0bWwiIG9ubG9h
ZD0ic3RvcmVGdW5jdGlvblJlZkFuZE5hdmlnYXRlSUZyYW1lKCkiPjwvaWZyYW1lPgotPC9ib2R5
PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvYWxl
cnQtdG9TdHJpbmctZXhjZXB0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rv
ci9jb25zb2xlL2FsZXJ0LXRvU3RyaW5nLWV4Y2VwdGlvbi1leHBlY3RlZC50eHQKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IGEyMjZhMzRmY2E0ODgwOTYyNmUzMmJmMGIyMzlhNDRiYjNi
OGM4MTcuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvYWxlcnQtdG9TdHJpbmctZXhjZXB0aW9uLWV4cGVj
dGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDcgKzAsMCBAQAotQ09OU09MRSBNRVNTQUdFOiBs
aW5lIDY6IEV4Y2VwdGlvbiBpbiB0b1N0cmluZygpLgotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDY6
IEV4Y2VwdGlvbiBpbiB0b1N0cmluZygpLgotVGVzdCB0aGF0IGJyb3dzZXIgd29uJ3QgY3Jhc2gg
aWYgaW5zcGVjdG9yIGlzIG9wZW5lZCBmb3IgYSBwYWdlIHRoYXQgZmFpbHMgdG8gY29udmVydCBh
bGVydCgpIGFyZ3VtZW50IHRvIHN0cmluZy4gVGhlIHRlc3QgcGFzc2VzIGlmIGl0IGRvZXNuJ3Qg
Y3Jhc2guIEJ1ZyA2MDU0MQotCi1QYWdlIHJlbG9hZGVkLgotRXhjZXB0aW9uIGluIHRvU3RyaW5n
KCkuIGFsZXJ0LXRvU3RyaW5nLWV4Y2VwdGlvbi5odG1sOjYKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvYWxlcnQtdG9TdHJpbmctZXhjZXB0aW9uLmh0bWwgYi9M
YXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9hbGVydC10b1N0cmluZy1leGNlcHRpb24uaHRt
bApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOWFhMDU1MjU3YmRhMGRlODZjYWFiODI0
YWM5YzcwNmNmN2IxYjkyMC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9hbGVydC10b1N0cmluZy1leGNl
cHRpb24uaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDI1ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+
Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3Qu
anMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2Nv
bnNvbGUtdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotYWxlcnQoe3RvU3RyaW5nOiBmdW5j
dGlvbigpIHsgdGhyb3cgIkV4Y2VwdGlvbiBpbiB0b1N0cmluZygpLiI7IH19KTsKLTwvc2NyaXB0
PgotPHNjcmlwdD4KLWZ1bmN0aW9uIHRlc3QoKQotewotICAgIEluc3BlY3RvclRlc3QucmVsb2Fk
UGFnZShmdW5jdGlvbigpIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wQ29uc29sZU1lc3Nh
Z2VzKCk7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7Ci0gICAgfSk7Ci19
Ci08L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxwPgotVGVz
dCB0aGF0IGJyb3dzZXIgd29uJ3QgY3Jhc2ggaWYgaW5zcGVjdG9yIGlzIG9wZW5lZCBmb3IgYSBw
YWdlIHRoYXQgZmFpbHMgdG8gY29udmVydAotYWxlcnQoKSBhcmd1bWVudCB0byBzdHJpbmcuIFRo
ZSB0ZXN0IHBhc3NlcyBpZiBpdCBkb2Vzbid0IGNyYXNoLgotPGEgaHJlZj0iaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYwNTQxIj5CdWcgNjA1NDE8L2E+Ci08L3A+Ci08
L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29s
ZS9jbGllbnRzLWlnbm9yZWQtaW4tcHJpdmF0ZWJyb3dzaW5nLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NsaWVudHMtaWdub3JlZC1pbi1wcml2YXRlYnJvd3Np
bmctZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3YmUyNDFlYjc5
YmVjMmU3M2RkNTg2ZGQwM2M1ZmJjZjExMDAxNGY3Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NsaWVu
dHMtaWdub3JlZC1pbi1wcml2YXRlYnJvd3NpbmctZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwK
QEAgLTEsNCArMCwwIEBACi1JbiBQcml2YXRlQnJvd3NpbmcgbW9kZSwgY29uc29sZSBtZXNzYWdl
cyBhcmUgdmlzaWJsZSBpbiB0aGUgQ29uc29sZSwgYnV0IGFyZW4ndCBzZW50IHRvIENocm9tZUNs
aWVudHMgKG9yIHByaW50ZidkKSBpbiBvcmRlciB0byBlbnN1cmUgdGhleSBuZXZlciBlbmQgdXAg
aW4gbG9ncy4gQmV0dGVyIHNhZmUgdGhhbiBzb3JyeS4KLQotbG9nOiBUaGlzIHNob3VsZCBzaG93
IHVwIG9uY2UgY29uc29sZSBtZXNzYWdlcyBhcmUgZHVtcGVkLCBidXQgc2hvdWxkIF9ub3RfIHNo
b3cgdXAgYXMgYSAiQ09OU09MRSBNRVNTQUdFOiIgYXQgdGhlIHRvcCBvZiB0aGUgb3V0cHV0Lgot
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jbGllbnRzLWlnbm9y
ZWQtaW4tcHJpdmF0ZWJyb3dzaW5nLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29s
ZS9jbGllbnRzLWlnbm9yZWQtaW4tcHJpdmF0ZWJyb3dzaW5nLmh0bWwKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDRjNzg0MjcwNDljN2FlZTdmNTZkY2ZmNWIxMzlmMjBhMzAwMDI0NzIu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yL2NvbnNvbGUvY2xpZW50cy1pZ25vcmVkLWluLXByaXZhdGVicm93c2luZy5o
dG1sCisrKyAvZGV2L251bGwKQEAgLTEsMzAgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3Jp
cHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvY29uc29sZS10
ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci0KLWZ1bmN0aW9uIHRlc3QoKQotewotICAgIGlm
ICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRQcml2YXRlQnJvd3Np
bmdFbmFibGVkKHRydWUpOwotCi0gICAgY29uc29sZS5sb2coJ1RoaXMgc2hvdWxkIHNob3cgdXAg
b25jZSBjb25zb2xlIG1lc3NhZ2VzIGFyZSBkdW1wZWQsIGJ1dCBzaG91bGQgX25vdF8gc2hvdyB1
cCBhcyBhICJDT05TT0xFIE1FU1NBR0U6IiBhdCB0aGUgdG9wIG9mIHRoZSBvdXRwdXQuJyk7Ci0K
LSAgICBJbnNwZWN0b3JUZXN0LmR1bXBDb25zb2xlTWVzc2FnZXMoKTsKLQotICAgIGlmICh3aW5k
b3cudGVzdFJ1bm5lcikKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRQcml2YXRlQnJvd3NpbmdFbmFi
bGVkKGZhbHNlKTsKLSAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwotfQotCi08L3Nj
cmlwdD4KLTwvaGVhZD4KLQotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotPHA+SW4gUHJpdmF0
ZUJyb3dzaW5nIG1vZGUsIGNvbnNvbGUgbWVzc2FnZXMgYXJlIHZpc2libGUgaW4gdGhlIENvbnNv
bGUsIGJ1dAotYXJlbid0IHNlbnQgdG8gQ2hyb21lQ2xpZW50cyAob3IgcHJpbnRmJ2QpIGluIG9y
ZGVyIHRvIGVuc3VyZSB0aGV5IG5ldmVyIGVuZAotdXAgaW4gbG9ncy4gQmV0dGVyIHNhZmUgdGhh
biBzb3JyeS48L3A+Ci0KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2luc3BlY3Rvci9jb25zb2xlL2NvbW1hbmQtbGluZS1hcGktZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29tbWFuZC1saW5lLWFwaS1leHBlY3RlZC50eHQKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDJiMmZlMzExZDY3MWI4Yjc5YWIwMGY4ZDhiZGI3
Yjk0ZDUwNDRkMzMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29tbWFuZC1saW5lLWFwaS1leHBlY3Rl
ZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw0OCArMCwwIEBACi1DT05TT0xFIE1FU1NBR0U6IGxp
bmUgMTIyMzogVGhlIGNvbnNvbGUgZnVuY3Rpb24gJCgpIGhhcyBjaGFuZ2VkIGZyb20gJD1nZXRF
bGVtZW50QnlJZChpZCkgdG8gJD1xdWVyeVNlbGVjdG9yKHNlbGVjdG9yKS4gWW91IG1pZ2h0IHRy
eSAkKCIjJXMiKQotVGVzdHMgdGhhdCBjb21tYW5kIGxpbmUgYXBpIHdvcmtzLgotCi0KLQotU3Ry
aW5nKCQwKQotIltvYmplY3QgSFRNTFBhcmFncmFwaEVsZW1lbnRdIgotCi0KLSQzCi11bmRlZmlu
ZWQKLQotCi1TdHJpbmcoa2V5cyhbMyw0XSkpCi0iMCwxIgotCi0KLVN0cmluZyh2YWx1ZXMoWzMs
NF0pKQotIjMsNCIKLQotCi1TdHJpbmcoJCgnI2ZvbycpKQotIltvYmplY3QgSFRNTFBhcmFncmFw
aEVsZW1lbnRdIgotCi0KLVN0cmluZygkKCcjZm9vJywgZG9jdW1lbnQuYm9keSkpCi0iW29iamVj
dCBIVE1MUGFyYWdyYXBoRWxlbWVudF0iCi0KLQotU3RyaW5nKCQoJyNmb28nLCAnbm9uLW5vZGUn
KSkKLSJbb2JqZWN0IEhUTUxQYXJhZ3JhcGhFbGVtZW50XSIKLQotCi1TdHJpbmcoJCgnI2Zvbycs
ICQoJyNiYXInKSkpCi0ibnVsbCIKLQotCi1TdHJpbmcoJCQoJ3AjZm9vJykpCi0iW29iamVjdCBO
b2RlTGlzdF0iCi0KLQotU3RyaW5nKCQkKCdwI2ZvbycsIGRvY3VtZW50LmJvZHkpKQotIltvYmpl
Y3QgTm9kZUxpc3RdIgotCi0KLVN0cmluZygkKCdmb28nKSkKLVRoZSBjb25zb2xlIGZ1bmN0aW9u
ICQoKSBoYXMgY2hhbmdlZCBmcm9tICQ9Z2V0RWxlbWVudEJ5SWQoaWQpIHRvICQ9cXVlcnlTZWxl
Y3RvcihzZWxlY3RvcikuIFlvdSBtaWdodCB0cnkgJCgiI2ZvbyIpCi0KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbW1hbmQtbGluZS1hcGktaW5zcGVjdC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb21tYW5kLWxpbmUtYXBp
LWluc3BlY3QtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3MjY3
MTZhZWY0YWEyNGQ3M2YyYzc1ZDJiZDI0ZjFhYWE3MTY1MTRiLi4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xl
L2NvbW1hbmQtbGluZS1hcGktaW5zcGVjdC1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAt
MSwzOSArMCwwIEBACi1UZXN0cyB0aGF0IGluc3BlY3QoKSBjb21tYW5kIGxpbmUgYXBpIHdvcmtz
LgotCi0KLVJ1bm5pbmc6IHRlc3RSZXZlYWxFbGVtZW50Ci0KLQotV2ViSW5zcGVjdG9yLmluc3Bl
Y3QgY2FsbGVkIHdpdGg6IHAjcDEKLVdlYkluc3BlY3Rvci5pbnNwZWN0J3MgaGludHMgYXJlOiBb
XQotaW5zcGVjdCgkKCcjcDEnKSkgPSAKLVNlbGVjdGVkIG5vZGUgaWQ6ICdwMScuCi0KLVJ1bm5p
bmc6IHRlc3RSZXZlYWxEYXRhYmFzZQotCi0KLVdlYkluc3BlY3Rvci5pbnNwZWN0IGNhbGxlZCB3
aXRoOiBEYXRhYmFzZQotV2ViSW5zcGVjdG9yLmluc3BlY3QncyBoaW50cyBhcmU6IFsiZGF0YWJh
c2VJZCJdCi1pbnNwZWN0KGRiKSA9IERhdGFiYXNlIHt2ZXJzaW9uOiAiMS4wIiwgdHJhbnNhY3Rp
b246IGZ1bmN0aW9uLCByZWFkVHJhbnNhY3Rpb246IGZ1bmN0aW9uLCBjaGFuZ2VWZXJzaW9uOiBm
dW5jdGlvbn0KLQotUnVubmluZzogdGVzdFJldmVhbERhdGFiYXNlMgotCi0KLVdlYkluc3BlY3Rv
ci5pbnNwZWN0IGNhbGxlZCB3aXRoOiBEYXRhYmFzZQotV2ViSW5zcGVjdG9yLmluc3BlY3QncyBo
aW50cyBhcmU6IFsiZGF0YWJhc2VJZCJdCi1pbnNwZWN0KGRiMikgPSBEYXRhYmFzZSB7dmVyc2lv
bjogIjEuMCIsIHRyYW5zYWN0aW9uOiBmdW5jdGlvbiwgcmVhZFRyYW5zYWN0aW9uOiBmdW5jdGlv
biwgY2hhbmdlVmVyc2lvbjogZnVuY3Rpb259Ci0KLVJ1bm5pbmc6IHRlc3RSZXZlYWxMb2NhbFN0
b3JhZ2UKLQotCi1XZWJJbnNwZWN0b3IuaW5zcGVjdCBjYWxsZWQgd2l0aDogU3RvcmFnZQotV2Vi
SW5zcGVjdG9yLmluc3BlY3QncyBoaW50cyBhcmU6IFsiZG9tU3RvcmFnZUlkIl0KLWluc3BlY3Qo
bG9jYWxTdG9yYWdlKSA9IFN0b3JhZ2Uge30KLQotUnVubmluZzogdGVzdFJldmVhbFNlc3Npb25T
dG9yYWdlCi0KLQotV2ViSW5zcGVjdG9yLmluc3BlY3QgY2FsbGVkIHdpdGg6IFN0b3JhZ2UKLVdl
Ykluc3BlY3Rvci5pbnNwZWN0J3MgaGludHMgYXJlOiBbImRvbVN0b3JhZ2VJZCJdCi1pbnNwZWN0
KHNlc3Npb25TdG9yYWdlKSA9IFN0b3JhZ2Uge30KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yL2NvbnNvbGUvY29tbWFuZC1saW5lLWFwaS1pbnNwZWN0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb21tYW5kLWxpbmUtYXBpLWluc3BlY3QuaHRtbApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYmEwMzA0NjgwZWEyZTRiNzBhYzI1ODVkMDM3YjBi
ZTI3ZTg0NDJiOC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb21tYW5kLWxpbmUtYXBpLWluc3BlY3Qu
aHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDc2ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2Ny
aXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwv
c2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUt
dGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotCi1mdW5jdGlvbiBvbmxvYWQoKQotewotICAg
IHdpbmRvdy5kYiA9IG9wZW5EYXRhYmFzZSgiSW5zcGVjdG9yRGF0YWJhc2VUZXN0IiwgIjEuMCIs
ICJUZXN0IG9mIGRhdGFiYXNlIHJldmVhbCBpbiBpbnNwZWN0b3IiLCAxKTsKLSAgICB3aW5kb3cu
ZGIyID0gb3BlbkRhdGFiYXNlKCJJbnNwZWN0b3JEYXRhYmFzZVRlc3QyIiwgIjEuMCIsICJUZXN0
IG9mIGRhdGFiYXNlIHJldmVhbCBpbiBpbnNwZWN0b3IiLCAxKTsKLSAgICBsb2NhbFN0b3JhZ2Vb
Imluc3BlY3RvciJdID0gIlRlc3Qgb2YgbG9jYWwgc3RvcmFnZSByZXZlYWwgaW4gaW5zcGVjdG9y
IjsKLSAgICBzZXNzaW9uU3RvcmFnZVsiaW5zcGVjdG9yIl0gPSAiVGVzdCBvZiBzZXNzaW9uIHN0
b3JhZ2UgcmV2ZWFsIGluIGluc3BlY3RvciI7Ci0gICAgcnVuVGVzdCgpOwotfQotCi1mdW5jdGlv
biB0ZXN0KCkKLXsKLSAgICBJbnNwZWN0b3JUZXN0LmFkZFNuaWZmZXIoV2ViSW5zcGVjdG9yLCAi
aW5zcGVjdCIsIHNuaWZmSW5zcGVjdCwgdHJ1ZSk7Ci0KLSAgICBmdW5jdGlvbiBzbmlmZkluc3Bl
Y3Qob2JqZWN0SWQsIGhpbnRzKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1
bHQoIldlYkluc3BlY3Rvci5pbnNwZWN0IGNhbGxlZCB3aXRoOiAiICsgb2JqZWN0SWQuZGVzY3Jp
cHRpb24pOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiV2ViSW5zcGVjdG9yLmlu
c3BlY3QncyBoaW50cyBhcmU6ICIgKyBKU09OLnN0cmluZ2lmeShPYmplY3Qua2V5cyhoaW50cykp
KTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBldmFsQW5kRHVtcChleHByZXNzaW9uLCBuZXh0KQot
ICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIlxuIik7Ci0gICAgICAgIElu
c3BlY3RvclRlc3QuZXZhbHVhdGVJbkNvbnNvbGVBbmREdW1wKGV4cHJlc3Npb24sIG5leHQpOwot
ICAgIH0KLQotICAgIEluc3BlY3RvclRlc3QucnVuVGVzdFN1aXRlKFsKLSAgICAgICAgZnVuY3Rp
b24gdGVzdFJldmVhbEVsZW1lbnQobmV4dCkKLSAgICAgICAgewotICAgICAgICAgICAgSW5zcGVj
dG9yVGVzdC5hZGRTbmlmZmVyKFdlYkluc3BlY3RvciwgIl91cGRhdGVGb2N1c2VkTm9kZSIsIHN0
ZXAyKTsKLSAgICAgICAgICAgIGV2YWxBbmREdW1wKCJpbnNwZWN0KCQoJyNwMScpKSIpOwotCi0g
ICAgICAgICAgICBmdW5jdGlvbiBzdGVwMigpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAg
ICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIlNlbGVjdGVkIG5vZGUgaWQ6ICciICsgV2ViSW5z
cGVjdG9yLnBhbmVscy5lbGVtZW50cy5zZWxlY3RlZERPTU5vZGUoKS5nZXRBdHRyaWJ1dGUoImlk
IikgKyAiJy4iKTsKLSAgICAgICAgICAgICAgICBuZXh0KCk7Ci0gICAgICAgICAgICB9Ci0gICAg
ICAgIH0sCi0KLSAgICAgICAgZnVuY3Rpb24gdGVzdFJldmVhbERhdGFiYXNlKG5leHQpCi0gICAg
ICAgIHsKLSAgICAgICAgICAgIGV2YWxBbmREdW1wKCJpbnNwZWN0KGRiKSIsIG5leHQpOwotICAg
ICAgICB9LAotCi0gICAgICAgIGZ1bmN0aW9uIHRlc3RSZXZlYWxEYXRhYmFzZTIobmV4dCkKLSAg
ICAgICAgewotICAgICAgICAgICAgZXZhbEFuZER1bXAoImluc3BlY3QoZGIyKSIsIG5leHQpOwot
ICAgICAgICB9LAotCi0gICAgICAgIGZ1bmN0aW9uIHRlc3RSZXZlYWxMb2NhbFN0b3JhZ2UobmV4
dCkKLSAgICAgICAgewotICAgICAgICAgICAgZXZhbEFuZER1bXAoImluc3BlY3QobG9jYWxTdG9y
YWdlKSIsIG5leHQpOwotICAgICAgICB9LAotCi0gICAgICAgIGZ1bmN0aW9uIHRlc3RSZXZlYWxT
ZXNzaW9uU3RvcmFnZShuZXh0KQotICAgICAgICB7Ci0gICAgICAgICAgICBldmFsQW5kRHVtcCgi
aW5zcGVjdChzZXNzaW9uU3RvcmFnZSkiLCBuZXh0KTsKLSAgICAgICAgfQotICAgIF0pOwotfQot
Ci08L3NjcmlwdD4KLTwvaGVhZD4KLQotPGJvZHkgb25sb2FkPSJvbmxvYWQoKSI+Ci08cCBpZD0i
cDEiPgotVGVzdHMgdGhhdCBpbnNwZWN0KCkgY29tbWFuZCBsaW5lIGFwaSB3b3Jrcy4KLTwvcD4K
LQotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2Nv
bnNvbGUvY29tbWFuZC1saW5lLWFwaS5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNv
bGUvY29tbWFuZC1saW5lLWFwaS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MWY2Y2I0OWVhZDlmZmYzMmU0OTU3Mzg4Mjk4YTkyYTk5NGI3ZTgyLi4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25z
b2xlL2NvbW1hbmQtbGluZS1hcGkuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDQ5ICswLDAgQEAK
LTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3Iv
aW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVz
dHMvaW5zcGVjdG9yL2NvbnNvbGUtdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4v
Li4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2Ny
aXB0PgotCi12YXIgdGVzdCA9IGZ1bmN0aW9uKCkKLXsKLSAgICB2YXIgZXhwcmVzc2lvbnMgPSBb
Ci0gICAgICAgICJTdHJpbmcoJDApIiwKLSAgICAgICAgIiQzIiwKLSAgICAgICAgIlN0cmluZyhr
ZXlzKFszLDRdKSkiLAotICAgICAgICAiU3RyaW5nKHZhbHVlcyhbMyw0XSkpIiwKLSAgICAgICAg
IlN0cmluZygkKCcjZm9vJykpIiwKLSAgICAgICAgIlN0cmluZygkKCcjZm9vJywgZG9jdW1lbnQu
Ym9keSkpIiwKLSAgICAgICAgIlN0cmluZygkKCcjZm9vJywgJ25vbi1ub2RlJykpIiwKLSAgICAg
ICAgIlN0cmluZygkKCcjZm9vJywgJCgnI2JhcicpKSkiLAotICAgICAgICAiU3RyaW5nKCQkKCdw
I2ZvbycpKSIsCi0gICAgICAgICJTdHJpbmcoJCQoJ3AjZm9vJywgZG9jdW1lbnQuYm9keSkpIiwK
LSAgICAgICAgIlN0cmluZygkKCdmb28nKSkiCi0gICAgXTsKLQotICAgIEluc3BlY3RvclRlc3Qu
c2VsZWN0Tm9kZVdpdGhJZCgiZm9vIiwgc3RlcDEpOwotCi0gICAgZnVuY3Rpb24gc3RlcDEobm9k
ZSkKLSAgICB7Ci0gICAgICAgIGlmICghZXhwcmVzc2lvbnMubGVuZ3RoKSB7Ci0gICAgICAgICAg
ICBJbnNwZWN0b3JUZXN0LmR1bXBDb25zb2xlTWVzc2FnZXMoKTsKLSAgICAgICAgICAgIEluc3Bl
Y3RvclRlc3QuY29tcGxldGVUZXN0KCk7Ci0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIH0K
LSAgICAgICAgdmFyIGV4cHJlc3Npb24gPSBleHByZXNzaW9uc1swXTsKLSAgICAgICAgZXhwcmVz
c2lvbnMuc3BsaWNlKDAsIDEpOwotICAgICAgICBXZWJJbnNwZWN0b3IubG9nKCJcbiIpOwotICAg
ICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5Db25zb2xlKGV4cHJlc3Npb24sIHN0ZXAxKTsK
LSAgICB9Ci19Ci0KLTwvc2NyaXB0PgotPC9oZWFkPgotCi08Ym9keSBvbmxvYWQ9InJ1blRlc3Qo
KSI+Ci08cCBpZD0iZm9vIj4KLVRlc3RzIHRoYXQgY29tbWFuZCBsaW5lIGFwaSB3b3Jrcy4KLTwv
cD48cCBpZD0iYmFyIj48L3A+Ci0KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtT2JqZWN0LW92ZXJ3cml0dGVuLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtT2JqZWN0LW92
ZXJ3cml0dGVuLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggM2I4
NmMzZDA5ZjNjOGFkNzZjYTZlZTNhNTNiY2ZlOTRhNDZhYjJiZC4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29s
ZS9jb25zb2xlLU9iamVjdC1vdmVyd3JpdHRlbi1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApA
QCAtMSw1ICswLDAgQEAKLVRlc3RzIHRoYXQgV2ViIEluc3BlY3RvcidzIGNvbnNvbGUgaXMgbm90
IGJyb2tlbiBpZiBPYmplY3QgaXMgb3ZlcndyaXR0ZW4gaW4gdGhlIGluc3BlY3RlZCBwYWdlLiBU
ZXN0IHBhc3NlcyBpZiB0aGUgZXhwcmVzc2lvbiBpcyBldmFsdWF0ZWQgaW4gdGhlIGNvbnNvbGUg
YW5kIG5vIGVycm9ycyBwcmludGVkLiBCdWcgMTAxMzIwLgotCi12YXIgZm9vID0ge2JhcjoyMDEy
fTsgZm9vCi1PYmplY3Qge2JhcjogMjAxMn0KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yL2NvbnNvbGUvY29uc29sZS1PYmplY3Qtb3ZlcndyaXR0ZW4uaHRtbCBiL0xheW91dFRl
c3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtT2JqZWN0LW92ZXJ3cml0dGVuLmh0bWwKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY5NmNlZjcxZDIxNTQ3YjQxNmQ1Njk1NTUyYjhm
ODMyYTUwMmI4YjQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1PYmplY3Qtb3ZlcndyaXR0
ZW4uaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDI5ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08
c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMi
Pjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2NvbnNv
bGUtdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotCi1PYmplY3QgPSBmdW5jdGlvbigpIHt9
OwotCi1mdW5jdGlvbiB0ZXN0KCkKLXsKLSAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5Db25z
b2xlKCJ2YXIgZm9vID0ge2JhcjoyMDEyfTsgZm9vIiwgc3RlcDEpOwotCi0gICAgZnVuY3Rpb24g
c3RlcDEoKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wQ29uc29sZU1lc3NhZ2Vz
KCk7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7Ci0gICAgfQotfQotCi08
L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxwPgotVGVzdHMg
dGhhdCBXZWIgSW5zcGVjdG9yJ3MgY29uc29sZSBpcyBub3QgYnJva2VuIGlmIE9iamVjdCBpcyBv
dmVyd3JpdHRlbiBpbiB0aGUgaW5zcGVjdGVkIHBhZ2UuCi1UZXN0IHBhc3NlcyBpZiB0aGUgZXhw
cmVzc2lvbiBpcyBldmFsdWF0ZWQgaW4gdGhlIGNvbnNvbGUgYW5kIG5vIGVycm9ycyBwcmludGVk
LgotPGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMTMy
MCI+QnVnIDEwMTMyMC48L2E+Ci08L3A+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWFwaS1vbi1jYWxsLWZyYW1lLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtYXBpLW9u
LWNhbGwtZnJhbWUtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBl
ZjExNGM4MTQxMmE4OTczODgxM2E1ZTNjMTY0YzRhMzczZWZiNTY0Li4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25z
b2xlL2NvbnNvbGUtYXBpLW9uLWNhbGwtZnJhbWUtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwK
QEAgLTEsMTAgKzAsMCBAQAotVGVzdCB0aGF0IGNvbW1hbmQgbGluZSBhcGkgZG9lcyBub3QgbWFz
ayB2YWx1ZXMgb2Ygc2NvcGUgdmFyaWFibGVzIHdoaWxlIGV2YWx1YXRpbmcgb24gYSBjYWxsIGZy
YW1lLgotCi1EZWJ1Z2dlciB3YXMgZW5hYmxlZC4KLVNldCB0aW1lciBmb3IgdGVzdCBmdW5jdGlv
bi4KLVNjcmlwdCBleGVjdXRpb24gcGF1c2VkLgotRXZhbHVhdGVkIGluIGNvbnNvbGUgaW4gdGhl
IHRvcCBmcmFtZSBjb250ZXh0OiBkaXIgKyBjbGVhciArIGluc3BlY3QgPSAiZGlyY2xlYXJpbnNw
ZWN0IgotRXZhbHVhdGVkIGluIGNvbnNvbGUgaW4gdGhlIHRvcCBmcmFtZSBjb250ZXh0OiB0eXBl
b2YgJCQgPSAiZnVuY3Rpb24iCi1TY3JpcHQgZXhlY3V0aW9uIHJlc3VtZWQuCi1EZWJ1Z2dlciB3
YXMgZGlzYWJsZWQuCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xl
L2NvbnNvbGUtYXBpLW9uLWNhbGwtZnJhbWUuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9j
b25zb2xlL2NvbnNvbGUtYXBpLW9uLWNhbGwtZnJhbWUuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggOTc5NGRjZjgyZDQ0MzU4YTRmNzY4YzQ4NTg0Yzc3NTRkYjJiODZlZC4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9p
bnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWFwaS1vbi1jYWxsLWZyYW1lLmh0bWwKKysrIC9kZXYv
bnVsbApAQCAtMSw1MyArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4u
L2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci10ZXN0LmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQ+Ci0KLXdpbmRvdy5pbnNwZWN0ID0gImluc3BlY3QiOwotdmFyIGNsZWFy
ID0gImNsZWFyIjsKLQotZnVuY3Rpb24gdGVzdEZ1bmN0aW9uKCkKLXsKLSAgICB2YXIgZGlyID0g
ImRpciI7Ci0gICAgZGVidWdnZXI7Ci19Ci0KLXZhciB0ZXN0ID0gZnVuY3Rpb24oKQotewotICAg
IEluc3BlY3RvclRlc3Quc3RhcnREZWJ1Z2dlclRlc3Qoc3RlcDEpOwotCi0gICAgZnVuY3Rpb24g
c3RlcDEoKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5ydW5UZXN0RnVuY3Rpb25BbmRX
YWl0VW50aWxQYXVzZWQoc3RlcDIpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0ZXAyKCkKLSAg
ICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJbkNvbnNvbGUoImRpciArIGNsZWFy
ICsgaW5zcGVjdCIsIHN0ZXAzKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwMyhyZXN1bHQp
Ci0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiRXZhbHVhdGVkIGluIGNv
bnNvbGUgaW4gdGhlIHRvcCBmcmFtZSBjb250ZXh0OiBkaXIgKyBjbGVhciArIGluc3BlY3QgPSAi
ICsgcmVzdWx0KTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluQ29uc29sZSgidHlw
ZW9mICQkIiwgc3RlcDQpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0ZXA0KHJlc3VsdCkKLSAg
ICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJFdmFsdWF0ZWQgaW4gY29uc29s
ZSBpbiB0aGUgdG9wIGZyYW1lIGNvbnRleHQ6IHR5cGVvZiAkJCA9ICIgKyByZXN1bHQpOwotICAg
ICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlRGVidWdnZXJUZXN0KCk7Ci0gICAgfQotfQotCi08
L3NjcmlwdD4KLTwvaGVhZD4KLQotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotPHA+Ci1UZXN0
IHRoYXQgY29tbWFuZCBsaW5lIGFwaSBkb2VzIG5vdCBtYXNrIHZhbHVlcyBvZiBzY29wZSB2YXJp
YWJsZXMgd2hpbGUgZXZhbHVhdGluZwotb24gYSBjYWxsIGZyYW1lLgotPC9wPgotCi08L2JvZHk+
Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25z
b2xlLWFzc2VydC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9j
b25zb2xlLWFzc2VydC1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IGZjMjNhYjAxOTVkNzRlZjg5Njg0N2IxNjYzZWExOTg4OWNhMDFmNzkuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2Nv
bnNvbGUvY29uc29sZS1hc3NlcnQtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNyAr
MCwwIEBACi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgOTogMQotQ09OU09MRSBNRVNTQUdFOiBsaW5l
IDEwOiBhCi1UZXN0cyB0aGF0IGNvbnNvbGUuYXNzZXJ0KCkgd2lsbCBkdW1wIGEgbWVzc2FnZSBh
bmQgc3RhY2sgdHJhY2Ugd2l0aCBzb3VyY2UgVVJMcyBhbmQgbGluZSBudW1iZXJzLgotCi1Bc3Nl
cnRpb24gZmFpbGVkOiAxIGNvbnNvbGUtYXNzZXJ0Lmh0bWw6OWIgY29uc29sZS1hc3NlcnQuaHRt
bDo5YSBjb25zb2xlLWFzc2VydC5odG1sOjE1Ci1Bc3NlcnRpb24gZmFpbGVkOiBhIGIgY29uc29s
ZS1hc3NlcnQuaHRtbDoxMGIgY29uc29sZS1hc3NlcnQuaHRtbDoxMGEgY29uc29sZS1hc3NlcnQu
aHRtbDoxNQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25z
b2xlLWFzc2VydC5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1h
c3NlcnQuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggN2MxZjZkYTVhNTgzNDVj
ZTQxYjg1YTRlNzMyNjA3MzMyMzAyMTEyMC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWFz
c2VydC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNDIgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4K
LTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvY29u
c29sZS10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci0KLWZ1bmN0aW9uIGIoKQotewotICAg
IGNvbnNvbGUuYXNzZXJ0KGZhbHNlLCAxKTsKLSAgICBjb25zb2xlLmFzc2VydChmYWxzZSwgImEi
LCAiYiIpOwotfQotCi1mdW5jdGlvbiBhKCkKLXsKLSAgICBiKCk7Ci19Ci0KLWZ1bmN0aW9uIHRl
c3QoKQotewotICAgIHZhciBjYWxsQ291bnQgPSAwOwotICAgIGZ1bmN0aW9uIGNhbGxiYWNrKCkK
LSAgICB7Ci0gICAgICAgIGlmICgrK2NhbGxDb3VudCA9PT0gMikgewotICAgICAgICAgICAgSW5z
cGVjdG9yVGVzdC5leHBhbmRDb25zb2xlTWVzc2FnZXMoKTsKLSAgICAgICAgICAgIEluc3BlY3Rv
clRlc3QuZHVtcENvbnNvbGVNZXNzYWdlcygpOwotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5j
b21wbGV0ZVRlc3QoKTsKLSAgICAgICAgfQotICAgIH0KLSAgICBJbnNwZWN0b3JUZXN0LmV2YWx1
YXRlSW5QYWdlKCJzZXRUaW1lb3V0KGEsIDApIik7Ci0gICAgSW5zcGVjdG9yVGVzdC5hZGRDb25z
b2xlU25pZmZlcihjYWxsYmFjaywgdHJ1ZSk7Ci19Ci0KLTwvc2NyaXB0PgotPC9oZWFkPgotCi08
Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci08cD4KLVRlc3RzIHRoYXQgY29uc29sZS5hc3NlcnQo
KSB3aWxsIGR1bXAgYSBtZXNzYWdlIGFuZCBzdGFjayB0cmFjZSB3aXRoIHNvdXJjZSBVUkxzIGFu
ZCBsaW5lIG51bWJlcnMuCi08L3A+Ci0KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtYmluZC1mYWtlLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtYmluZC1mYWtlLWV4cGVj
dGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNGIyOWNmYzQ5OWI3ZDZkMzIy
MmQ5NGIyNjMwNWJkNzhjNDhiMjIzNC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWJpbmQt
ZmFrZS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw1ICswLDAgQEAKLVRlc3RzIHRo
YXQgb3ZlcnJpZGluZyBGdW5jdGlvbi5wcm90b3R5cGUuYmluZCBkb2VzIG5vdCBicmVhayBpbnNw
ZWN0b3IuCi0KLWZvbwotImZvb1ZhbHVlIgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3IvY29uc29sZS9jb25zb2xlLWJpbmQtZmFrZS5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yL2NvbnNvbGUvY29uc29sZS1iaW5kLWZha2UuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggY2IzYTAwNDY2Mjc3ZDllZTI1NTRkMWI4YjJkZDQ0MGM4ZTcwMTU1Zi4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3IvY29uc29sZS9jb25zb2xlLWJpbmQtZmFrZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEs
MjkgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3Rz
L2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4v
Li4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvY29uc29sZS10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQ+Ci12YXIgZm9vID0gJ2Zvb1ZhbHVlJzsKLQotRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQgPSBm
dW5jdGlvbiAoKSB7IHRocm93ICI6UCI7IH07Ci0KLWZ1bmN0aW9uIHRlc3QoKQotewotICAgIElu
c3BlY3RvclRlc3QuZXZhbHVhdGVJbkNvbnNvbGUoImZvbyIsIHN0ZXAxKTsKLQotICAgIGZ1bmN0
aW9uIHN0ZXAxKCkKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuZHVtcENvbnNvbGVNZXNz
YWdlcygpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwotICAgIH0KLX0K
LTwvc2NyaXB0PgotPC9oZWFkPgotCi08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci08cD4KLVRl
c3RzIHRoYXQgb3ZlcnJpZGluZyBGdW5jdGlvbi5wcm90b3R5cGUuYmluZCBkb2VzIG5vdCBicmVh
ayBpbnNwZWN0b3IuCi08L3A+Ci0KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtY2xlYXItZnVuY3Rpb24tZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1jbGVhci1mdW5jdGlv
bi1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDNmNTMzMTZlMmYy
ODM2ZmIzZDA3YjU1NDA2MDU1Njc0MTNjN2YxNWEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29uc29s
ZS1jbGVhci1mdW5jdGlvbi1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxMyArMCww
IEBACi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTA6IG9uZQotQ09OU09MRSBNRVNTQUdFOiBsaW5l
IDExOiB0d28KLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxMjogdGhyZWUKLVRlc3RzIHRoYXQgY29u
c29sZSBpcyBjbGVhcmVkIHZpYSBjb25zb2xlLmNsZWFyKCkgbWV0aG9kCi0KLUJ1ZyAxMDEwMjEK
LT09PSBCZWZvcmUgY2xlYXIgPT09Ci1vbmUgY29uc29sZS1jbGVhci1mdW5jdGlvbi5odG1sOjEw
Ci10d28gY29uc29sZS1jbGVhci1mdW5jdGlvbi5odG1sOjExCi10aHJlZSBjb25zb2xlLWNsZWFy
LWZ1bmN0aW9uLmh0bWw6MTIKLT09PSBBZnRlciBjbGVhciA9PT0KLUNvbnNvbGUgd2FzIGNsZWFy
ZWQgY29uc29sZS1jbGVhci1mdW5jdGlvbi5odG1sOjE5Ci0KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtY2xlYXItZnVuY3Rpb24uaHRtbCBiL0xheW91
dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtY2xlYXItZnVuY3Rpb24uaHRtbApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDBiZjQyMzI2YWVhZjdhYzg5YjBmYmFhZDFhMzIy
ZGI0NDI5ZjEwNC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWNsZWFyLWZ1bmN0aW9uLmh0
bWwKKysrIC9kZXYvbnVsbApAQCAtMSw0NyArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlw
dCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9jb25zb2xlLXRl
c3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLQotZnVuY3Rpb24gbG9nKCkKLXsKLSAgICAvLyBG
aWxsIGNvbnNvbGUuCi0gICAgY29uc29sZS5sb2coIm9uZSIpOwotICAgIGNvbnNvbGUubG9nKCJ0
d28iKTsKLSAgICBjb25zb2xlLmxvZygidGhyZWUiKTsKLX0KLQotbG9nKCk7Ci0KLWZ1bmN0aW9u
IGZvbygpCi17Ci0gICAgY29uc29sZS5jbGVhcigpOwotfQotCi1mdW5jdGlvbiB0ZXN0KCkKLXsK
LSAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiPT09IEJlZm9yZSBjbGVhciA9PT0iKTsKLSAg
ICBJbnNwZWN0b3JUZXN0LmR1bXBDb25zb2xlTWVzc2FnZXMoKTsKLQotICAgIFJ1bnRpbWVBZ2Vu
dC5ldmFsdWF0ZSgiZm9vKCk7Iiwgc3RlcDEpOwotCi0gICAgZnVuY3Rpb24gc3RlcDEoKQotICAg
IHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIj09PSBBZnRlciBjbGVhciA9PT0i
KTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wQ29uc29sZU1lc3NhZ2VzKCk7Ci0gICAgICAg
IEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7Ci0gICAgfTsKLX0KLQotPC9zY3JpcHQ+Ci08
L2hlYWQ+Ci0KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxwPgotVGVzdHMgdGhhdCBjb25z
b2xlIGlzIGNsZWFyZWQgdmlhIGNvbnNvbGUuY2xlYXIoKSBtZXRob2QKLTwvcD4KLTxhIGhyZWY9
Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDEwMjEiPkJ1ZyAxMDEw
MjEgPC9hPgotCi08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3IvY29uc29sZS9jb25zb2xlLWNvbW1hbmQtY2xlYXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1jb21tYW5kLWNsZWFyLWV4cGVjdGVkLnR4
dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZGM1ZWRlMGQ0YWVkMmNkNGYwZDk5ZGU5
ODUzNDhmZDhjMDg4YmY1My4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWNvbW1hbmQtY2xl
YXItZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTIgKzAsMCBAQAotQ09OU09MRSBN
RVNTQUdFOiBsaW5lIDk6IG9uZQotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDEwOiB0d28KLUNPTlNP
TEUgTUVTU0FHRTogbGluZSAxMTogdGhyZWUKLVRlc3RzIHRoYXQgY29uc29sZSBpcyBjbGVhcmVk
IHVwb24gY2xlYXIoKSBldmFsIGluIGNvbnNvbGUuCi0KLT09PSBCZWZvcmUgY2xlYXIgPT09Ci1v
bmUgY29uc29sZS1jb21tYW5kLWNsZWFyLmh0bWw6OQotdHdvIGNvbnNvbGUtY29tbWFuZC1jbGVh
ci5odG1sOjEwCi10aHJlZSBjb25zb2xlLWNvbW1hbmQtY2xlYXIuaHRtbDoxMQotPT09IEFmdGVy
IGNsZWFyID09PQotdW5kZWZpbmVkCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rv
ci9jb25zb2xlL2NvbnNvbGUtY29tbWFuZC1jbGVhci5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yL2NvbnNvbGUvY29uc29sZS1jb21tYW5kLWNsZWFyLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IGVkNzlkYWEyZWVjOWZjZTRlNDZmY2YwODAwM2JmYzZiM2E0OTI4YTEuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1jb21tYW5kLWNsZWFyLmh0bWwKKysrIC9kZXYvbnVs
bApAQCAtMSw0MCArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0
dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9jb25zb2xlLXRlc3QuanMiPjwvc2NyaXB0
PgotPHNjcmlwdD4KLQotZnVuY3Rpb24gbG9nKCkgewotICAgIC8vIEZpbGwgY29uc29sZS4KLSAg
ICBjb25zb2xlLmxvZygib25lIik7Ci0gICAgY29uc29sZS5sb2coInR3byIpOwotICAgIGNvbnNv
bGUubG9nKCJ0aHJlZSIpOwotfQotCi1sb2coKTsKLQotZnVuY3Rpb24gdGVzdCgpCi17Ci0KLSAg
ICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiPT09IEJlZm9yZSBjbGVhciA9PT0iKTsgCi0gICAg
SW5zcGVjdG9yVGVzdC5kdW1wQ29uc29sZU1lc3NhZ2VzKCk7Ci0KLSAgICBmdW5jdGlvbiBjYWxs
YmFjaygpCi0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiPT09IEFmdGVy
IGNsZWFyID09PSIpOyAKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wQ29uc29sZU1lc3NhZ2Vz
KCk7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7Ci0gICAgfQotICAgIElu
c3BlY3RvclRlc3QuZXZhbHVhdGVJbkNvbnNvbGUoImNsZWFyKCkiLCBjYWxsYmFjayk7Ci19Ci0K
LTwvc2NyaXB0PgotPC9oZWFkPgotCi08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci08cD4KLSAg
ICBUZXN0cyB0aGF0IGNvbnNvbGUgaXMgY2xlYXJlZCB1cG9uIGNsZWFyKCkgZXZhbCBpbiBjb25z
b2xlLgotPC9wPgotCi08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWNzcy13YXJuaW5ncy1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWNzcy13YXJuaW5ncy1leHBlY3RlZC50
eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGU1YjI3OGJmZGQ3YTQxZGQ5ODY4ZDI5
OGZiYTJkNjg2Y2ZiYzI1NDQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1jc3Mtd2Fybmlu
Z3MtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTQgKzAsMCBAQAotVGVzdHMgQ1NT
IHdhcm5pbmdzIGFyZSBwcm9wZXJseSBleHBvc2VkLgotCi1JbnZhbGlkIENTUyBwcm9wZXJ0eSBk
ZWNsYXJhdGlvbiBhdDogIyBjb25zb2xlLWNzcy13YXJuaW5ncy5odG1sOjEwCi1JbnZhbGlkIENT
UyBwcm9wZXJ0eSBkZWNsYXJhdGlvbiBhdDogeyBjb25zb2xlLWNzcy13YXJuaW5ncy5odG1sOjE1
Ci1JbnZhbGlkIENTUyBwcm9wZXJ0eSBkZWNsYXJhdGlvbiBhdDogIyBjb25zb2xlLWNzcy13YXJu
aW5ncy5odG1sOjE4Ci1JbnZhbGlkIENTUyBwcm9wZXJ0eSBkZWNsYXJhdGlvbiBhdDogIyBjb25z
b2xlLWNzcy13YXJuaW5ncy5odG1sOjIyCi1JbnZhbGlkIENTUyBwcm9wZXJ0eSBkZWNsYXJhdGlv
biBhdDogIyBjb25zb2xlLWNzcy13YXJuaW5ncy5odG1sOjMyCi1VbmV4cGVjdGVkIENTUyB0b2tl
bjogQCBjb25zb2xlLWNzcy13YXJuaW5ncy5odG1sOjMzCi1VbmV4cGVjdGVkIENTUyB0b2tlbjog
eyBjb25zb2xlLWNzcy13YXJuaW5ncy5odG1sOjM3Ci1VbmV4cGVjdGVkIENTUyB0b2tlbjogeyBj
b25zb2xlLWNzcy13YXJuaW5ncy5odG1sOjM4Ci1VbmV4cGVjdGVkIENTUyB0b2tlbjogeyBjb25z
b2xlLWNzcy13YXJuaW5ncy5odG1sOjM5Ci1VbmV4cGVjdGVkIENTUyB0b2tlbjogeyBjb25zb2xl
LWNzcy13YXJuaW5ncy5odG1sOjQwCi1VbmV4cGVjdGVkIENTUyB0b2tlbjogQCBjb25zb2xlLWNz
cy13YXJuaW5ncy5odG1sOjQ0Ci0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9j
b25zb2xlL2NvbnNvbGUtY3NzLXdhcm5pbmdzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Iv
Y29uc29sZS9jb25zb2xlLWNzcy13YXJuaW5ncy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCBmYTBiNzM0NWI3YmE0YjM4MWMyOWYxZGIyYjJiYWI2NzMxOTYyNGE4Li4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci9jb25zb2xlL2NvbnNvbGUtY3NzLXdhcm5pbmdzLmh0bWwKKysrIC9kZXYvbnVsbApAQCAt
MSw2OSArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVz
dHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIu
Li8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9jb25zb2xlLXRlc3QuanMiPjwvc2NyaXB0PgotCi08
c3R5bGU+Ci14IHt9Ci0KLXggewotICAgICMKLX0KLQoteCB7Ci0gICAgY29sb3I6IHJlZDsKLSAg
ICB7fX0KLQoteCB7Ci0gICAgIyMjIHt9fQotCi14IHsKLSAgIGNvbG9yOiByZWQ7Ci0gICAjIyMj
IyMjIyMKLX0KLQoteCB7Ci0gICBjb2xvcjogcmVkIHt9OwotICAgY29sb3I6ICM7Ci19Ci0KLXgg
ewotICAgY29sb3I6IHJlZDsKLSAgICMjIzsKLSAgIGNvbG9yOiBAOwotfQotCi14IHsKLSAgICBj
b2xvcnt9OwotICAgIGNvbG9yeyN9OwotICAgIGNvbG9yeyMjI307Ci0gICAgY29sb3J7e3t9fX07
Ci19Ci0KLXggewotICAgIGNvbG9yOiBAOyAgLyogVGVzdCBzaW1wbGUgZXJyb3IgdG8gZW5zdXJl
IHBhcnNpbmcgcmVjb3ZlcmVkLiAqLwotfQotCi08L3N0eWxlPgotCi08c2NyaXB0PgotCi1mdW5j
dGlvbiB0ZXN0KCkKLXsKLSAgICAvLyBFbnN1cmUgc2NyaXB0IGdlbmVyYXRlZCBlcnJvcnMgZG9u
J3QgZ28gdG8gdGhlIGNvbnNvbGUuCi0gICAgdmFyIHN0eWxlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgnc3R5bGUnKTsKLSAgICBzdHlsZS50ZXh0Q29udGVudCA9ICJ4e3k6Kn0iOwotICAgIGRv
Y3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoc3R5bGUpOwotCi0gICAgSW5zcGVjdG9yVGVzdC5leHBh
bmRDb25zb2xlTWVzc2FnZXMoKTsKLSAgICBJbnNwZWN0b3JUZXN0LmR1bXBDb25zb2xlTWVzc2Fn
ZXMoKTsKLSAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwotfQotCi08L3NjcmlwdD4K
LTwvaGVhZD4KLQotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotPHAgaWQ9InAiPlRlc3RzIENT
UyB3YXJuaW5ncyBhcmUgcHJvcGVybHkgZXhwb3NlZC48L3A+Ci08L2JvZHk+Ci08L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWRpci1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWRpci1leHBl
Y3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDhhNWViZDI1NzkxODc5ZjIw
NGJjMWQ5YjdmZDU0ZjcyOTY3NzM3MGIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1kaXIt
ZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMzAgKzAsMCBAQAotQ09OU09MRSBNRVNT
QUdFOiBsaW5lIDk6IHRlc3QxLHRlc3QyCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTA6IFtvYmpl
Y3QgTm9kZUxpc3RdCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTE6IFtvYmplY3QgWFBhdGhSZXN1
bHRdCi1UZXN0cyB0aGF0IGNvbnNvbGUgbG9nZ2luZyBkdW1wcyBwcm9wZXIgbWVzc2FnZXMuCi0K
LQotCi1BcnJheVsyXQotICAgIDA6ICJ0ZXN0MSIKLSAgICAxOiAidGVzdDIiCi0gICAgbGVuZ3Ro
OiAyCi0gICAgX19wcm90b19fOiBBcnJheVswXSBjb25zb2xlLWRpci5odG1sOjkKLQotTm9kZUxp
c3RbMV0KLSAgICAwOiBodG1sCi0gICAgY29uc3RydWN0b3I6IE5vZGVMaXN0Q29uc3RydWN0b3IK
LSAgICBsZW5ndGg6IDEKLSAgICBfX3Byb3RvX186IE5vZGVMaXN0UHJvdG90eXBlIGNvbnNvbGUt
ZGlyLmh0bWw6MTAKLQotWFBhdGhSZXN1bHQKLSAgICBib29sZWFuVmFsdWU6IFtFeGNlcHRpb246
IFhQYXRoRXhjZXB0aW9uXQotICAgIGNvbnN0cnVjdG9yOiBYUGF0aFJlc3VsdENvbnN0cnVjdG9y
Ci0gICAgaW52YWxpZEl0ZXJhdG9yU3RhdGU6IGZhbHNlCi0gICAgbnVtYmVyVmFsdWU6IFtFeGNl
cHRpb246IFhQYXRoRXhjZXB0aW9uXQotICAgIHJlc3VsdFR5cGU6IDQKLSAgICBzaW5nbGVOb2Rl
VmFsdWU6IFtFeGNlcHRpb246IFhQYXRoRXhjZXB0aW9uXQotICAgIHNuYXBzaG90TGVuZ3RoOiBb
RXhjZXB0aW9uOiBYUGF0aEV4Y2VwdGlvbl0KLSAgICBzdHJpbmdWYWx1ZTogW0V4Y2VwdGlvbjog
WFBhdGhFeGNlcHRpb25dCi0gICAgX19wcm90b19fOiBYUGF0aFJlc3VsdFByb3RvdHlwZSBjb25z
b2xlLWRpci5odG1sOjExCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25z
b2xlL2NvbnNvbGUtZGlyLWdsb2JhbC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0
b3IvY29uc29sZS9jb25zb2xlLWRpci1nbG9iYWwtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCA1YWNlMmJkZTA2MjZhMjVjYjE0MDY4OTZkZWUwZWFiNDNlNGZiOGVi
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtZGlyLWdsb2JhbC1leHBlY3RlZC50eHQKKysr
IC9kZXYvbnVsbApAQCAtMSwxNCArMCwwIEBACi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgOTogW29i
amVjdCBXaW5kb3ddCi1UZXN0cyB0aGF0IGNvbnNvbGUgZHVtcHMgZ2xvYmFsIG9iamVjdCB3aXRo
IHByb3BlcnRpZXMuCi0KLXsKLSAgICBBcnJheSA6IDEKLSAgICBjb25zb2xlIDogMQotICAgIGNv
bnN0cnVjdG9yIDogMQotICAgIGRvY3VtZW50IDogMQotICAgIGRvaXQgOiAxCi0gICAgZXZhbCA6
IDEKLSAgICBmcmFtZXMgOiAxCi0gICAgd2luZG93IDogMQotfQotCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWRpci1nbG9iYWwuaHRtbCBiL0xheW91
dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtZGlyLWdsb2JhbC5odG1sCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3ZjA2ODUxMzUzNDAwZDE3NzNkYmQ3YmFlOGUwZDE2ZTky
ZDgxNmYzLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtZGlyLWdsb2JhbC5odG1sCisrKyAv
ZGV2L251bGwKQEAgLTEsNTMgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIu
Li8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvY29uc29sZS10ZXN0LmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQ+Ci0KLWZ1bmN0aW9uIGRvaXQoKQotewotICAgIGNvbnNvbGUuZGly
KHdpbmRvdyk7Ci0gICAgcnVuVGVzdCgpOwotfQotCi1mdW5jdGlvbiB0ZXN0KCkKLXsKLSAgICBS
dW50aW1lQWdlbnQuZXZhbHVhdGUoIndpbmRvdyIsICJjb25zb2xlIiwgZmFsc2UsIGV2YWxDYWxs
YmFjayk7Ci0KLSAgICBmdW5jdGlvbiBldmFsQ2FsbGJhY2soZXJyb3IsIHJlc3VsdCkKLSAgICB7
Ci0gICAgICAgIGlmIChlcnJvcikgewotICAgICAgICAgICAgdGVzdENvbnRyb2xsZXIubm90aWZ5
RG9uZSgiRXhjZXB0aW9uOiIgKyBlcnJvcik7Ci0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAg
IH0KLSAgICAgICAgaWYgKHJlc3VsdC50eXBlID09PSAiZXJyb3IiKQotICAgICAgICAgICAgdGVz
dENvbnRyb2xsZXIubm90aWZ5RG9uZSgiRXhjZXB0aW9uOiIgKyByZXN1bHQpOwotICAgICAgICB2
YXIgb2JqZWN0UHJveHkgPSBXZWJJbnNwZWN0b3IuUmVtb3RlT2JqZWN0LmZyb21QYXlsb2FkKHJl
c3VsdCk7Ci0gICAgICAgIG9iamVjdFByb3h5LmdldE93blByb3BlcnRpZXMoZ2V0UHJvcGVydGll
c0NhbGxiYWNrKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBnZXRQcm9wZXJ0aWVzQ2FsbGJhY2so
cHJvcGVydGllcykKLSAgICB7Ci0gICAgICAgIHByb3BlcnRpZXMuc29ydChXZWJJbnNwZWN0b3Iu
T2JqZWN0UHJvcGVydGllc1NlY3Rpb24uQ29tcGFyZVByb3BlcnRpZXMpOwotICAgICAgICB2YXIg
Z29sZGVuID0geyAid2luZG93IjogMSwgImRvY3VtZW50IjogMSwgImV2YWwiOiAxLCAiY29uc29s
ZSI6IDEsICJmcmFtZXMiOiAxLCAiQXJyYXkiOiAxLCAiZG9pdCI6IDEgfTsgCi0gICAgICAgIHZh
ciByZXN1bHQgPSB7fTsKLSAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBwcm9wZXJ0aWVzLmxl
bmd0aDsgKytpKSB7Ci0gICAgICAgICAgICB2YXIgbmFtZSA9IHByb3BlcnRpZXNbaV0ubmFtZTsK
LSAgICAgICAgICAgIGlmIChnb2xkZW5bbmFtZV0pCi0gICAgICAgICAgICAgICAgcmVzdWx0W25h
bWVdID0gMTsKLSAgICAgICAgfQotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZE9iamVjdChyZXN1
bHQpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwotICAgIH0KLX0KLQot
PC9zY3JpcHQ+Ci08L2hlYWQ+Ci0KLTxib2R5IG9ubG9hZD0iZG9pdCgpIj4KLTxwPgotVGVzdHMg
dGhhdCBjb25zb2xlIGR1bXBzIGdsb2JhbCBvYmplY3Qgd2l0aCBwcm9wZXJ0aWVzLgotPC9wPgot
Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29u
c29sZS9jb25zb2xlLWRpci5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29u
c29sZS1kaXIuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNWFjMWFmZTAxZWEx
NGNhNjQ3MGI3OTFkY2QzOTdkMDRiOTAwMjIzYS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xl
LWRpci5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNDkgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4K
LTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvY29u
c29sZS10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci0KLWZ1bmN0aW9uIG9ubG9hZCgpCi17
Ci0gICAgY29uc29sZS5kaXIoWyJ0ZXN0MSIsICJ0ZXN0MiJdKTsKLSAgICBjb25zb2xlLmRpcihk
b2N1bWVudC5jaGlsZE5vZGVzKTsKLSAgICBjb25zb2xlLmRpcihkb2N1bWVudC5ldmFsdWF0ZSgi
Ly9oZWFkIiwgZG9jdW1lbnQsIG51bGwsIFhQYXRoUmVzdWx0LkFOWV9UWVBFLCBudWxsKSk7Ci0g
ICAgcnVuVGVzdCgpOwotfQotCi1mdW5jdGlvbiB0ZXN0KCkKLXsKLSAgICB2YXIgbWVzc2FnZXMg
PSBXZWJJbnNwZWN0b3IuY29uc29sZS5tZXNzYWdlczsKLSAgICBmb3IgKHZhciBpID0gMDsgaSA8
IG1lc3NhZ2VzLmxlbmd0aDsgKytpKSB7Ci0gICAgICAgIHZhciBlbGVtZW50ID0gbWVzc2FnZXNb
aV0udG9NZXNzYWdlRWxlbWVudCgpOwotICAgICAgICB2YXIgbm9kZSA9IGVsZW1lbnQudHJhdmVy
c2VOZXh0Tm9kZShlbGVtZW50KTsKLSAgICAgICAgd2hpbGUgKG5vZGUpIHsKLSAgICAgICAgICAg
IGlmIChub2RlLl9zZWN0aW9uKSB7Ci0gICAgICAgICAgICAgICAgbWVzc2FnZXNbaV0uc2VjdGlv
biA9IG5vZGUuX3NlY3Rpb247Ci0gICAgICAgICAgICAgICAgbm9kZS5fc2VjdGlvbi5leHBhbmRl
ZCA9IHRydWU7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICB9Ci0gICAgICAg
ICAgICBub2RlID0gbm9kZS50cmF2ZXJzZU5leHROb2RlKGVsZW1lbnQpOwotICAgICAgICB9Ci0g
ICAgfQotCi0gICAgSW5zcGVjdG9yVGVzdC5ydW5BZnRlclBlbmRpbmdEaXNwYXRjaGVzKGR1bXBD
b25zb2xlTWVzc2FnZXMpOwotCi0gICAgZnVuY3Rpb24gZHVtcENvbnNvbGVNZXNzYWdlcygpCi0g
ICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdChJbnNwZWN0b3JUZXN0LnRleHRD
b250ZW50V2l0aExpbmVCcmVha3MoV2ViSW5zcGVjdG9yLmNvbnNvbGVWaWV3Lm1lc3NhZ2VzRWxl
bWVudCkpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwotICAgIH0KLX0K
LQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci0KLTxib2R5IG9ubG9hZD0ib25sb2FkKCkiPgotPHA+Ci1U
ZXN0cyB0aGF0IGNvbnNvbGUgbG9nZ2luZyBkdW1wcyBwcm9wZXIgbWVzc2FnZXMuCi08L3A+Ci0K
LTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25z
b2xlL2NvbnNvbGUtZXZhbC1ibG9ja2VkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci9jb25zb2xlL2NvbnNvbGUtZXZhbC1ibG9ja2VkLWV4cGVjdGVkLnR4dApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggNGZiOTI3NmYwM2MxZGUwZTJjNmEwY2FiNjEyZTk5MmJhMDYw
YWY1Ny4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWV2YWwtYmxvY2tlZC1leHBlY3RlZC50
eHQKKysrIC9kZXYvbnVsbApAQCAtMSw1ICswLDAgQEAKLVRlc3RzIHRoYXQgZXZhbHVhdGlvbiBp
biBjb25zb2xlIHN0aWxsIHdvcmtzIGV2ZW4gaWYgc2NyaXB0IGV2YWxzIGFyZSBwcm9oaWJpdGVk
IGJ5IENvbnRlbnQtU2VjdXJpdHktUG9saWN5LiBCdWcgNjA4MDAuCi0KLTErMgotMwotCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWV2YWwtYmxvY2tl
ZC5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1ldmFsLWJsb2Nr
ZWQuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZGY5ODhiZjQ1ZDcyZWYwYjU1
NThmOTU0ODg5OWFmM2ZjNTk1MTA5Ni4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWV2YWwt
YmxvY2tlZC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMjQgKzAsMCBAQAotPGh0bWw+Ci08aGVh
ZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVz
dC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3Iv
Y29uc29sZS10ZXN0LmpzIj48L3NjcmlwdD4KLTxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtU2Vj
dXJpdHktUG9saWN5IiBjb250ZW50PSJzY3JpcHQtc3JjICd1bnNhZmUtaW5saW5lJyI+Ci08c2Ny
aXB0PgotZnVuY3Rpb24gdGVzdCgpCi17Ci0gICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluQ29u
c29sZSgiMSsyIiwgc3RlcDEpOwotICAgIGZ1bmN0aW9uIHN0ZXAxKCkKLSAgICB7Ci0gICAgICAg
IEluc3BlY3RvclRlc3QuZHVtcENvbnNvbGVNZXNzYWdlcygpOwotICAgICAgICBJbnNwZWN0b3JU
ZXN0LmNvbXBsZXRlVGVzdCgpOwotICAgIH0KLX0KLTwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkg
b25sb2FkPSJydW5UZXN0KCkiPgotPHA+Ci1UZXN0cyB0aGF0IGV2YWx1YXRpb24gaW4gY29uc29s
ZSBzdGlsbCB3b3JrcyBldmVuIGlmIHNjcmlwdCBldmFscyBhcmUgcHJvaGliaXRlZCBieSBDb250
ZW50LVNlY3VyaXR5LVBvbGljeS4KLTxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD02MDgwMCI+QnVnIDYwODAwLjwvYT4KLTwvcD4KLTwvYm9keT4KLTwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtZXZh
bC1jb21tZW50LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2Nv
bnNvbGUtZXZhbC1jb21tZW50LWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggODZhMGM5ZDJlMTEzY2FkMGJmYTY3YzNiMjQxOTEzMzg2ZjIyYTBiNy4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0
b3IvY29uc29sZS9jb25zb2xlLWV2YWwtY29tbWVudC1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVs
bApAQCAtMSw1ICswLDAgQEAKLVRlc3RzIHRoYXQgZXZhbHVhdGluZyBhbiBleHByZXNzaW9uIGNv
bnRhaW5pbmcgYSBzaW5nbGUgbGluZSBjb21tZW50IGRvZXMgbm90IGNhdXNlIGFuIGVycm9uZW91
cyBlcnJvci4gQnVnIDExNjI5Mi4KLQotLy8gdGVzdAotdW5kZWZpbmVkCi0KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtZXZhbC1jb21tZW50Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWV2YWwtY29tbWVudC5odG1s
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlM2E1YTVhMTUwODljNTBhYWM0OTkwODQ2
YzZmYzViNDUzNzc0ZDdhLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtZXZhbC1jb21tZW50
Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwyNCArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHNj
cmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9jb25zb2xl
LXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLWZ1bmN0aW9uIHRlc3QoKQotewotICAgIElu
c3BlY3RvclRlc3QuZXZhbHVhdGVJbkNvbnNvbGUoIi8vIHRlc3QiLCBzdGVwMSk7Ci0KLSAgICBm
dW5jdGlvbiBzdGVwMSgpCi0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBDb25zb2xl
TWVzc2FnZXMoKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKLSAgICB9
Ci19Ci08L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxwPgot
VGVzdHMgdGhhdCBldmFsdWF0aW5nIGFuIGV4cHJlc3Npb24gY29udGFpbmluZyBhIHNpbmdsZSBs
aW5lIGNvbW1lbnQgZG9lcyBub3QgY2F1c2UgYW4gZXJyb25lb3VzIGVycm9yLgotPGEgaHJlZj0i
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExNjI5MiI+QnVnIDExNjI5
Mi48L2E+Ci08L3A+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWV2YWwtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1ldmFsLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggNzNhNTA0MjAwZjc4MDU3YWUzZTE3MDk5MTRkYTY0NWRiNjg2NjM0
MS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWV2YWwtZXhwZWN0ZWQudHh0CisrKyAvZGV2
L251bGwKQEAgLTEsNSArMCwwIEBACi1UZXN0cyB0aGF0IHNpbXBsZSBldmFsdWF0aW9ucyBtYXkg
YmUgcGVyZm9ybWVkIGluIHRoZSBjb25zb2xlLgotCi0xKzIKLTMKLQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1ldmFsLWZha2UtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1ldmFsLWZha2UtZXhwZWN0
ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4MDczN2QxNzRhNGQxN2Q1ZDAw
NTFkNjUwMWUxNTQwNmJiOWE5NTI1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtZXZhbC1m
YWtlLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDUgKzAsMCBAQAotVGVzdHMgdGhh
dCBvdmVycmlkaW5nIHdpbmRvdy5ldmFsIGRvZXMgbm90IGJyZWFrIGluc3BlY3Rvci4KLQotZm9v
Ci0iZm9vVmFsdWUiCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xl
L2NvbnNvbGUtZXZhbC1mYWtlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9j
b25zb2xlLWV2YWwtZmFrZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlODM4
YTkzMTEwYWQxZmMyMTRkMWVhOTk0Zjg1ZjBhZmViOWFhYzQ1Li4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xl
L2NvbnNvbGUtZXZhbC1mYWtlLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwyOSArMCwwIEBACi08
aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2lu
c3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3Rz
L2luc3BlY3Rvci9jb25zb2xlLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLXZhciBmb28g
PSAnZm9vVmFsdWUnOwotCi13aW5kb3cuZXZhbCA9ICJOb24tZnVuY3Rpb24iOwotCi1mdW5jdGlv
biB0ZXN0KCkKLXsKLSAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5Db25zb2xlKCJmb28iLCBz
dGVwMSk7Ci0KLSAgICBmdW5jdGlvbiBzdGVwMSgpCi0gICAgewotICAgICAgICBJbnNwZWN0b3JU
ZXN0LmR1bXBDb25zb2xlTWVzc2FnZXMoKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0
ZVRlc3QoKTsKLSAgICB9Ci19Ci08L3NjcmlwdD4KLTwvaGVhZD4KLQotPGJvZHkgb25sb2FkPSJy
dW5UZXN0KCkiPgotPHA+Ci1UZXN0cyB0aGF0IG92ZXJyaWRpbmcgd2luZG93LmV2YWwgZG9lcyBu
b3QgYnJlYWsgaW5zcGVjdG9yLgotPC9wPgotCi08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWV2YWwtZ2xvYmFsLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtZXZhbC1nbG9i
YWwtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5NjgzOWNmY2U4
ODgxMzdmMTA4ODI0N2FiNjYxZDE1OWI5MzVlOGY0Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNv
bGUtZXZhbC1nbG9iYWwtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNyArMCwwIEBA
Ci1UZXN0cyB0aGF0IHNpbXBsZSBldmFsdWF0aW9ucyBtYXkgYmUgcGVyZm9ybWVkIGluIHRoZSBj
b25zb2xlIG9uIGdsb2JhbCBvYmplY3QuCi0KLWZvbwotImZvb1ZhbHVlIgotYmFyCi1PYmplY3Qg
e2E6ICJiIn0KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29u
c29sZS1ldmFsLWdsb2JhbC5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29u
c29sZS1ldmFsLWdsb2JhbC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5NGZl
MmRlZWQ5MjhjNjRhNGZiODAyZDc1N2Y5Y2FiNzczMDg3NDhiLi4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xl
L2NvbnNvbGUtZXZhbC1nbG9iYWwuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDM3ICswLDAgQEAK
LTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3Iv
aW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVz
dHMvaW5zcGVjdG9yL2NvbnNvbGUtdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotCi12YXIg
Zm9vID0gJ2Zvb1ZhbHVlJzsKLXZhciBiYXIgPSB7Ci0gICAgYTogJ2InCi19OwotCi1mdW5jdGlv
biB0ZXN0KCkKLXsKLSAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5Db25zb2xlKCJmb28iLCBz
dGVwMSk7Ci0KLSAgICBmdW5jdGlvbiBzdGVwMSgpCi0gICAgewotICAgICAgICBJbnNwZWN0b3JU
ZXN0LmV2YWx1YXRlSW5Db25zb2xlKCJiYXIiLCBzdGVwMik7Ci0gICAgfQotCi0gICAgZnVuY3Rp
b24gc3RlcDIoKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wQ29uc29sZU1lc3Nh
Z2VzKCk7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7Ci0gICAgfQotfQot
Ci08L3NjcmlwdD4KLTwvaGVhZD4KLQotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotPHA+Ci1U
ZXN0cyB0aGF0IHNpbXBsZSBldmFsdWF0aW9ucyBtYXkgYmUgcGVyZm9ybWVkIGluIHRoZSBjb25z
b2xlIG9uIGdsb2JhbCBvYmplY3QuCi08L3A+Ci0KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtZXZhbC1zY29wZWQtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1ldmFsLXNj
b3BlZC1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDk5NWY5ZjM5
YjQ4MzE0ZDhjNDQzNTk0NDMxMzgwNWY5YTdlYWExZjkuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29u
c29sZS1ldmFsLXNjb3BlZC1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw5ICswLDAg
QEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSA0OiB3aXRoOiBPYmplY3QgcHJvcGVydHkgdmFsdWUK
LUNPTlNPTEUgTUVTU0FHRTogbGluZSAxOiBldmFsIGluIHdpdGg6IE9iamVjdCBwcm9wZXJ0eSB2
YWx1ZQotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE6IGV2YWwgaW4gZnVuY3Rpb246IEZ1bmN0aW9u
IHBhcmFtZXRlcgotVGVzdHMgdGhhdCBldmFsdWF0aW5nICdjb25zb2xlLmxvZygpJyBpbiB0aGUg
Y29uc29sZSB3aWxsIGhhdmUgYWNjZXNzIHRvIGl0cyBvdXRlciBzY29wZSB2YXJpYWJsZXMuIEJ1
ZyA2MDU0Ny4KLQotd2l0aDogT2JqZWN0IHByb3BlcnR5IHZhbHVlCi1ldmFsIGluIHdpdGg6IE9i
amVjdCBwcm9wZXJ0eSB2YWx1ZQotZXZhbCBpbiBmdW5jdGlvbjogRnVuY3Rpb24gcGFyYW1ldGVy
Ci0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtZXZh
bC1zY29wZWQuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtZXZh
bC1zY29wZWQuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOGY3Y2NhYTIyYTVh
M2JjMjhhODM0ZGU0YTM5Y2NjODNmYWRiZjQwNC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xl
LWV2YWwtc2NvcGVkLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw1MyArMCwwIEBACi08aHRtbD4K
LTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rv
ci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3Bl
Y3Rvci9jb25zb2xlLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLWZ1bmN0aW9uIHRlc3Qo
KQotewotICAgIGZ1bmN0aW9uIHNuaXBwZXQxKCkgewotICAgICAgICAoZnVuY3Rpb24gKG9iaikg
ewotICAgICAgICAgICB3aXRoIChvYmopIHsKLSAgICAgICAgICAgICAgY29uc29sZS5sb2coJ3dp
dGg6ICcgKyBhKTsKLSAgICAgICAgICAgICAgZXZhbCgiY29uc29sZS5sb2coJ2V2YWwgaW4gd2l0
aDogJyArIGEpIik7Ci0gICAgICAgICAgIH0KLSAgICAgICAgfSkoeyBhOiAiT2JqZWN0IHByb3Bl
cnR5IHZhbHVlIiB9KQotICAgIH0KLQotICAgIGZ1bmN0aW9uIHNuaXBwZXQyKCkgewotICAgICAg
ICAoZnVuY3Rpb24gKGEpIHsgZXZhbCgiY29uc29sZS5sb2coJ2V2YWwgaW4gZnVuY3Rpb246ICcg
KyBhKSIpOyB9KSgiRnVuY3Rpb24gcGFyYW1ldGVyIikKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBi
b2R5VGV4dChmKSB7Ci0gICAgICAgIHZhciB0ZXh0ID0gZi50b1N0cmluZygpOwotICAgICAgICB2
YXIgYmVnaW4gPSB0ZXh0LmluZGV4T2YoInsiKTsKLSAgICAgICAgcmV0dXJuIHRleHQuc3Vic3Ry
aW5nKGJlZ2luKTsKLSAgICB9Ci0KLSAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKGJv
ZHlUZXh0KHNuaXBwZXQxKSwgc3RlcDEpOwotCi0gICAgZnVuY3Rpb24gc3RlcDEoKQotICAgIHsK
LSAgICAgICAgSW5zcGVjdG9yVGVzdC5ydW5BZnRlclBlbmRpbmdEaXNwYXRjaGVzKHN0ZXAyKTsK
LSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwMigpCi0gICAgewotICAgICAgICBJbnNwZWN0b3JU
ZXN0LmV2YWx1YXRlSW5QYWdlKGJvZHlUZXh0KHNuaXBwZXQyKSwgc3RlcDMpOwotICAgIH0KLQot
ICAgIGZ1bmN0aW9uIHN0ZXAzKCkKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuZHVtcENv
bnNvbGVNZXNzYWdlcygpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwot
ICAgIH0KLX0KLTwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgot
PHA+Ci1UZXN0cyB0aGF0IGV2YWx1YXRpbmcgJ2NvbnNvbGUubG9nKCknIGluIHRoZSBjb25zb2xl
IHdpbGwgaGF2ZSBhY2Nlc3MgdG8gaXRzIG91dGVyIHNjb3BlIHZhcmlhYmxlcy4KLTxhIGhyZWY9
Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MDU0NyI+QnVnIDYwNTQ3
LjwvYT4KLTwvcD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lu
c3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtZXZhbC1zeW50YXgtZXJyb3ItZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1ldmFsLXN5bnRheC1lcnJvci1l
eHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDU3NzMwN2MwMzZjOWIw
YzZkY2M3NTQ0Yjg0NjY5YjRlMTYzMDM3MGIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1l
dmFsLXN5bnRheC1lcnJvci1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw1ICswLDAg
QEAKLVRlc3RzIHRoYXQgZXZhbHVhdGluZyBhbiBleHByZXNzaW9uIHdpdGggYSBzeW50YXggZXJy
b3IgaW4gdGhlIGNvbnNvbGUgd29uJ3QgY3Jhc2ggdGhlIGJyb3dzZXIuIEJ1ZyA2MTE5NC4KLQot
Zm9vKCkuCi1TeW50YXhFcnJvcjogRXhwZWN0ZWQgYW4gaWRlbnRpZmllciBidXQgZm91bmQgJ30n
IGluc3RlYWQKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29u
c29sZS1ldmFsLXN5bnRheC1lcnJvci5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNv
bGUvY29uc29sZS1ldmFsLXN5bnRheC1lcnJvci5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCA0ZjdjZjc4MzRiMTE0ZTk5ZmMwZWY2ZTcxYjdjMzBkZWU4NTBjNjRlLi4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci9jb25zb2xlL2NvbnNvbGUtZXZhbC1zeW50YXgtZXJyb3IuaHRtbAorKysgL2Rldi9udWxs
CkBAIC0xLDI1ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0
cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBz
cmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUtdGVzdC5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0PgotZnVuY3Rpb24gdGVzdCgpCi17Ci0gICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0
ZUluQ29uc29sZSgiZm9vKCkuIiwgc3RlcDEpOwotCi0gICAgZnVuY3Rpb24gc3RlcDEoKQotICAg
IHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wQ29uc29sZU1lc3NhZ2VzKCk7Ci0gICAgICAg
IEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7Ci0gICAgfQotfQotCi08L3NjcmlwdD4KLTwv
aGVhZD4KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxwPgotVGVzdHMgdGhhdCBldmFsdWF0
aW5nIGFuIGV4cHJlc3Npb24gd2l0aCBhIHN5bnRheCBlcnJvciBpbiB0aGUgY29uc29sZSB3b24n
dCBjcmFzaCB0aGUgYnJvd3Nlci4KLTxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD02MTE5NCI+QnVnIDYxMTk0LjwvYT4KLTwvcD4KLTwvYm9keT4KLTwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtZXZh
bC10aHJvdy11bmRlZmluZWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2Nv
bnNvbGUvY29uc29sZS1ldmFsLXRocm93LXVuZGVmaW5lZC1leHBlY3RlZC50eHQKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDFiMGRiYWQzODM5MzY5ZmNhNjdmOGZlMzU4Y2E5MGZjZTUz
ZmI5Y2UuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1ldmFsLXRocm93LXVuZGVmaW5lZC1l
eHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw1ICswLDAgQEAKLVRlc3RzIHRoYXQgZXZh
bHVhdGluZyAndGhyb3cgdW5kZWZpbmVkJyBpbiB0aGUgY29uc29sZSB3b24ndCBjcmFzaCB0aGUg
YnJvd3Nlci4gQnVnIDU5NjExLgotCi10aHJvdyB1bmRlZmluZWQKLXVuZGVmaW5lZAotCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWV2YWwtdGhyb3ct
dW5kZWZpbmVkLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWV2
YWwtdGhyb3ctdW5kZWZpbmVkLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDUz
NjBlM2IzMTVkNTNlMWYzMmE4YTY5YjFlMDk3ZTA3NGE5YTE5OGYuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNv
bGUvY29uc29sZS1ldmFsLXRocm93LXVuZGVmaW5lZC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEs
MjUgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3Rz
L2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4v
Li4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvY29uc29sZS10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQ+Ci1mdW5jdGlvbiB0ZXN0KCkKLXsKLSAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5Db25z
b2xlKCJ0aHJvdyB1bmRlZmluZWQiLCBzdGVwMSk7Ci0KLSAgICBmdW5jdGlvbiBzdGVwMSgpCi0g
ICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBDb25zb2xlTWVzc2FnZXMoKTsKLSAgICAg
ICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKLSAgICB9Ci19Ci0KLTwvc2NyaXB0Pgot
PC9oZWFkPgotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotPHA+Ci1UZXN0cyB0aGF0IGV2YWx1
YXRpbmcgJ3Rocm93IHVuZGVmaW5lZCcgaW4gdGhlIGNvbnNvbGUgd29uJ3QgY3Jhc2ggdGhlIGJy
b3dzZXIuCi08YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NTk2MTEiPkJ1ZyA1OTYxMS48L2E+Ci08L3A+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWV2YWwtdW5kZWZpbmVkLW92
ZXJyaWRlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNv
bGUtZXZhbC11bmRlZmluZWQtb3ZlcnJpZGUtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAyYjQ1YjE0ZmQ1ZDM3ZTdjNTFiZTFlMGZjMWJhYzk4ZmYwMmYwZjIwLi4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtZXZhbC11bmRlZmluZWQtb3ZlcnJpZGUtZXhwZWN0
ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNyArMCwwIEBACi1UZXN0cyB0aGF0IGV2YWx1YXRp
bmcgc29tZXRoaW5nIGluIGNvbnNvbGUgd29uJ3QgY3Jhc2ggdGhlIGJyb3dzZXIgaWYgdW5kZWZp
bmVkIHZhbHVlIGlzIG92ZXJyaWRlbi4gVGhlIHRlc3QgcGFzc2VzIGlmIGl0IGRvZXNuJ3QgY3Jh
c2guIEJ1ZyA2NDE1NS4KLQotdmFyIHggPSB7YToxfTsgeC5zZWxmID0geDsgdW5kZWZpbmVkID0g
eDsKLU9iamVjdCB7YTogMSwgc2VsZjogT2JqZWN0fQotdW5rbm93blZhcgotUmVmZXJlbmNlRXJy
b3I6IENhbid0IGZpbmQgdmFyaWFibGU6IHVua25vd25WYXIKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1ldmFsLXVuZGVmaW5lZC1vdmVycmlkZS5o
dG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1ldmFsLXVuZGVmaW5l
ZC1vdmVycmlkZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0NmVkZmFlNDdj
YjlmYTY3OWM4ODg3ZmU1MjcwY2VmZjA3YmY2YjM3Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNv
bGUtZXZhbC11bmRlZmluZWQtb3ZlcnJpZGUuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDMwICsw
LDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNw
ZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0
dHAvdGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUtdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0Pgot
ZnVuY3Rpb24gdGVzdCgpCi17Ci0gICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluQ29uc29sZSgi
dmFyIHggPSB7YToxfTsgeC5zZWxmID0geDsgdW5kZWZpbmVkID0geDsiLCBzdGVwMSk7Ci0KLSAg
ICBmdW5jdGlvbiBzdGVwMSgpCi0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRl
SW5Db25zb2xlKCJ1bmtub3duVmFyIiwgc3RlcDIpOwotICAgIH0KLSAgICBmdW5jdGlvbiBzdGVw
MigpCi0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBDb25zb2xlTWVzc2FnZXMoKTsK
LSAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKLSAgICB9Ci19Ci0KLTwvc2Ny
aXB0PgotPC9oZWFkPgotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotPHA+Ci1UZXN0cyB0aGF0
IGV2YWx1YXRpbmcgc29tZXRoaW5nIGluIGNvbnNvbGUgd29uJ3QgY3Jhc2ggdGhlIGJyb3dzZXIg
aWYgdW5kZWZpbmVkIHZhbHVlCi1pcyBvdmVycmlkZW4uIFRoZSB0ZXN0IHBhc3NlcyBpZiBpdCBk
b2Vzbid0IGNyYXNoLgotPGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTY0MTU1Ij5CdWcgNjQxNTUuPC9hPgotPC9wPgotPC9ib2R5PgotPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1ldmFsLmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWV2YWwuaHRtbApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjRhMGVkYmYwOTJlMWU0NjU5MDQwZjRmNjM5NWQ3YmNl
Y2EyZmM4YS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWV2YWwuaHRtbAorKysgL2Rldi9u
dWxsCkBAIC0xLDI3ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4v
aHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlw
dCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUtdGVzdC5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0PgotCi1mdW5jdGlvbiB0ZXN0KCkKLXsKLSAgICBJbnNwZWN0b3JUZXN0LmV2
YWx1YXRlSW5Db25zb2xlKCIxKzIiLCBzdGVwMik7Ci0KLSAgICBmdW5jdGlvbiBzdGVwMigpCi0g
ICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBDb25zb2xlTWVzc2FnZXMoKTsKLSAgICAg
ICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKLSAgICB9Ci19Ci0KLTwvc2NyaXB0Pgot
PC9oZWFkPgotCi08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci08cD4KLVRlc3RzIHRoYXQgc2lt
cGxlIGV2YWx1YXRpb25zIG1heSBiZSBwZXJmb3JtZWQgaW4gdGhlIGNvbnNvbGUuCi08L3A+Ci0K
LTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25z
b2xlL2NvbnNvbGUtZXhjZXB0aW9uLXN0YWNrLXRyYWNlcy1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWV4Y2VwdGlvbi1zdGFjay10cmFjZXMtZXhw
ZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiOThiZTQ2Y2I2MjBjY2Nh
ZmY3ZGEzZjNiNDYwMDFiMWU1MzM0ZmJlLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtZXhj
ZXB0aW9uLXN0YWNrLXRyYWNlcy1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxMyAr
MCwwIEBACi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTY6IFVSSUVycm9yOiBVUkkgZXJyb3IKLUNP
TlNPTEUgTUVTU0FHRTogbGluZSAyMTogVHlwZUVycm9yOiAxIGlzIG5vdCBhIGZ1bmN0aW9uIChl
dmFsdWF0aW5nICcxKCknKQotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDI2OiBSYW5nZUVycm9yOiBB
cnJheSBzaXplIGlzIG5vdCBhIHNtYWxsIGVub3VnaCBwb3NpdGl2ZSBpbnRlZ2VyLgotQ09OU09M
RSBNRVNTQUdFOiBsaW5lIDMxOiBTeW50YXhFcnJvcjogRXhwZWN0ZWQgdG9rZW4gJ30nCi1DT05T
T0xFIE1FU1NBR0U6IGxpbmUgMzY6IFJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxl
OiBkb2VzTm90RXhpc3QKLUNPTlNPTEUgTUVTU0FHRTogbGluZSA0NjogRXJyb3I6IEN1c3RvbSBF
cnJvcgotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDUxOiBbb2JqZWN0IE9iamVjdF0KLUNPTlNPTEUg
TUVTU0FHRTogbGluZSA1NjogZXJyb3Igc3RyaW5nCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTog
RE9ORQotVGVzdHMgdGhhdCBKYXZhU2NyaXB0IGV4Y2VwdGlvbidzIGNvbnRhaW4gc3RhY2sgdHJh
Y2VzIGFuZCB0aGF0IHRoZSBmdW5jdGlvbnMgbWF0Y2ggY29uc29sZS50cmFjZSgpIHN0YWNrIHRy
YWNlcy4KLQotU1VDQ0VTUwotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29u
c29sZS9jb25zb2xlLWV4Y2VwdGlvbi1zdGFjay10cmFjZXMuaHRtbCBiL0xheW91dFRlc3RzL2lu
c3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtZXhjZXB0aW9uLXN0YWNrLXRyYWNlcy5odG1sCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhZWEwNjMzMTEyZWY1YjBiNGViMzY4N2Q2NGRlM2I4
YWQ1NGZiNGNjLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtZXhjZXB0aW9uLXN0YWNrLXRy
YWNlcy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTM0ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+
Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3Qu
anMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLWZ1bmN0aW9uIHdyYXBwZXIoZikgeyB3cmFwcGVyMihm
KTsgfQotZnVuY3Rpb24gd3JhcHBlcjIoZikgeyB3cmFwcGVyMyhmKTsgfQotZnVuY3Rpb24gd3Jh
cHBlcjMoZikgeyB3cmFwcGVyNChmKTsgfQotZnVuY3Rpb24gd3JhcHBlcjQoZikgeyBmaW5hbFdy
YXBwZXIoZik7IH0KLWZ1bmN0aW9uIGZpbmFsV3JhcHBlcihmKSB7IHByb2R1Y2VFcnJvcihmKTsg
fQotZnVuY3Rpb24gcHJvZHVjZUVycm9yKGYpIHsKLSAgICBmKCk7Ci19Ci0KLWZ1bmN0aW9uIHVy
aUVycm9yKCkgewotICAgIGNvbnNvbGUudHJhY2UoKTsKLSAgICBkZWNvZGVVUkkoIiUiKTsKLX0K
LQotZnVuY3Rpb24gdHlwZUVycm9yKCkgewotICAgIGNvbnNvbGUudHJhY2UoKTsKLSAgICAxKCk7
Ci19Ci0KLWZ1bmN0aW9uIHJhbmdlRXJyb3IoKSB7Ci0gICAgY29uc29sZS50cmFjZSgpOwotICAg
IEFycmF5KC0xKS5sZW5ndGg7Ci19Ci0KLWZ1bmN0aW9uIHN5bnRheEVycm9yKCkgewotICAgIGNv
bnNvbGUudHJhY2UoKTsKLSAgICBldmFsKCJ7Iik7Ci19Ci0KLWZ1bmN0aW9uIHJlZmVyZW5jZUVy
cm9yKCkgewotICAgIGNvbnNvbGUudHJhY2UoKTsKLSAgICBkb2VzTm90RXhpc3Q7Ci19Ci0KLWZ1
bmN0aW9uIGRvbUV4Y2VwdGlvbigpIHsKLSAgICBjb25zb2xlLnRyYWNlKCk7Ci0gICAgZG9jdW1l
bnQuYm9keS5hcHBlbmRDaGlsZCgic2hvdWxkIG5vdCBiZSBhIHN0cmluZyIpOwotfQotCi1mdW5j
dGlvbiB0aHJvd0Vycm9yT2JqZWN0KCkgewotICAgIGNvbnNvbGUudHJhY2UoKTsKLSAgICB0aHJv
dyBuZXcgRXJyb3IoIkN1c3RvbSBFcnJvciIpOwotfQotCi1mdW5jdGlvbiB0aHJvd09iamVjdCgp
IHsKLSAgICBjb25zb2xlLnRyYWNlKCk7Ci0gICAgdGhyb3cge25hbWU6ICJDdXN0b21FcnJvck9i
amVjdE5hbWUiLCBtZXNzYWdlOiAiQ3VzdG9tRXJyb3JPYmplY3RNZXNzYWdlIn07Ci19Ci0KLWZ1
bmN0aW9uIHRocm93U3RyaW5nKCkgewotICAgIGNvbnNvbGUudHJhY2UoKTsKLSAgICB0aHJvdyAi
ZXJyb3Igc3RyaW5nIjsKLX0KLQotZnVuY3Rpb24gdGVzdCgpCi17Ci0gICAgSW5zcGVjdG9yVGVz
dC5hZGRTbmlmZmVyKFdlYkluc3BlY3Rvci5Db25zb2xlRGlzcGF0Y2hlci5wcm90b3R5cGUsICJt
ZXNzYWdlQWRkZWQiLCBtZXNzYWdlQWRkZWQsIHRydWUpOwotCi0gICAgdmFyIGhhZEVycm9yID0g
ZmFsc2U7Ci0gICAgdmFyIHRyYWNlU3RhY2tUcmFjZSA9IG51bGw7Ci0gICAgdmFyIGVycm9yU3Rh
Y2tUcmFjZSA9IG51bGw7Ci0KLSAgICBmdW5jdGlvbiBtZXNzYWdlQWRkZWQocGF5bG9hZCkKLSAg
ICB7Ci0gICAgICAgIGlmIChwYXlsb2FkLnRleHQgPT09ICJET05FIikgewotICAgICAgICAgICAg
SW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoaGFkRXJyb3IgPyAiRkFJTFVSRSIgOiAiU1VDQ0VTUyIp
OwotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKLSAgICAgICAgICAg
IHJldHVybjsKLSAgICAgICAgfQotCi0gICAgICAgIGlmICghdHJhY2VTdGFja1RyYWNlKSB7Ci0g
ICAgICAgICAgICBpZiAocGF5bG9hZC5zb3VyY2UgPT09ICJjb25zb2xlLWFwaSIgJiYgcGF5bG9h
ZC50eXBlID09PSAidHJhY2UiICYmIHBheWxvYWQuc3RhY2tUcmFjZSkKLSAgICAgICAgICAgICAg
ICB0cmFjZVN0YWNrVHJhY2UgPSBwYXlsb2FkLnN0YWNrVHJhY2U7Ci0gICAgICAgICAgICBlbHNl
IHsKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiRXhwZWN0ZWQgY29u
c29sZS50cmFjZSgpIG1lc3NhZ2Ugd2l0aCBhIHN0YWNrVHJhY2UsIGJ1dCBnb3Q6ICIgKyBKU09O
LnN0cmluZ2lmeShwYXlsb2FkKSk7Ci0gICAgICAgICAgICAgICAgdHJhY2VTdGFja1RyYWNlID0g
ZXJyb3JTdGFja1RyYWNlID0gbnVsbDsKLSAgICAgICAgICAgICAgICBoYWRFcnJvciA9IHRydWU7
Ci0gICAgICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICAgICAgfQotICAgICAgICB9IGVsc2Ug
aWYgKCFlcnJvclN0YWNrVHJhY2UpIHsKLSAgICAgICAgICAgIGlmIChwYXlsb2FkLnNvdXJjZSA9
PT0gImphdmFzY3JpcHQiICYmIHBheWxvYWQubGV2ZWwgPT09ICJlcnJvciIgJiYgcGF5bG9hZC5z
dGFja1RyYWNlKQotICAgICAgICAgICAgICAgIGVycm9yU3RhY2tUcmFjZSA9IHBheWxvYWQuc3Rh
Y2tUcmFjZTsKLSAgICAgICAgICAgIGVsc2UgewotICAgICAgICAgICAgICAgIEluc3BlY3RvclRl
c3QuYWRkUmVzdWx0KCJFeHBlY3RlZCBKYXZhU2NyaXB0IEVycm9yIG1lc3NhZ2Ugd2l0aCBzdGFj
a1RyYWNlIGJ1dCBnb3Q6ICIgKyBKU09OLnN0cmluZ2lmeShwYXlsb2FkKSk7Ci0gICAgICAgICAg
ICAgICAgdHJhY2VTdGFja1RyYWNlID0gZXJyb3JTdGFja1RyYWNlID0gbnVsbDsKLSAgICAgICAg
ICAgICAgICBoYWRFcnJvciA9IHRydWU7Ci0gICAgICAgICAgICAgICAgcmV0dXJuOwotICAgICAg
ICAgICAgfQotICAgICAgICB9Ci0KLSAgICAgICAgaWYgKHRyYWNlU3RhY2tUcmFjZSAmJiBlcnJv
clN0YWNrVHJhY2UpIHsKLSAgICAgICAgICAgIHZhciBoYWRTdGFja1RyYWNlRGlmZmVyZW5jZSA9
IGZhbHNlOwotICAgICAgICAgICAgIGlmICh0cmFjZVN0YWNrVHJhY2UubGVuZ3RoICE9IGVycm9y
U3RhY2tUcmFjZS5sZW5ndGgpIHsKLSAgICAgICAgICAgICAgICBpZiAoZXJyb3JTdGFja1RyYWNl
Lmxlbmd0aCAtIHRyYWNlU3RhY2tUcmFjZS5sZW5ndGggIT0gMSB8fCAoZXJyb3JTdGFja1RyYWNl
WzBdLmZ1bmN0aW9uTmFtZSAhPSAiZGVjb2RlVVJJIiAmJiBlcnJvclN0YWNrVHJhY2VbMF0uZnVu
Y3Rpb25OYW1lICE9ICJldmFsIikpCi0gICAgICAgICAgICAgICAgICAgIGhhZFN0YWNrVHJhY2VE
aWZmZXJlbmNlID0gdHJ1ZTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGVsc2UgewotICAg
ICAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdHJhY2VTdGFja1RyYWNlLmxlbmd0aDsg
KytpKSB7Ci0gICAgICAgICAgICAgICAgICAgIGlmICh0cmFjZVN0YWNrVHJhY2VbaV0uZnVuY3Rp
b25OYW1lICE9PSBlcnJvclN0YWNrVHJhY2VbaV0uZnVuY3Rpb25OYW1lKQotICAgICAgICAgICAg
ICAgICAgICAgICAgaGFkU3RhY2tUcmFjZURpZmZlcmVuY2UgPSB0cnVlOwotICAgICAgICAgICAg
ICAgIH0KLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgaWYgKGhhZFN0YWNrVHJhY2VEaWZm
ZXJlbmNlKSB7Ci0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIlVuZXhw
ZWN0ZWQgc3RhY2sgdHJhY2UgZm9yIEphdmFTY3JpcHQgRXJyb3I6ICIgKyBwYXlsb2FkLnRleHQp
OwotICAgICAgICAgICAgICAgIGhhZEVycm9yID0gdHJ1ZTsKLSAgICAgICAgICAgIH0KLQotICAg
ICAgICAgICAgdHJhY2VTdGFja1RyYWNlID0gZXJyb3JTdGFja1RyYWNlID0gbnVsbDsKLSAgICAg
ICAgfQotICAgIH0KLQotICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2VXaXRoVGltZW91
dCgid3JhcHBlcih1cmlFcnJvcikiKTsKLSAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdl
V2l0aFRpbWVvdXQoIndyYXBwZXIodHlwZUVycm9yKSIpOwotICAgIEluc3BlY3RvclRlc3QuZXZh
bHVhdGVJblBhZ2VXaXRoVGltZW91dCgid3JhcHBlcihyYW5nZUVycm9yKSIpOwotICAgIEluc3Bl
Y3RvclRlc3QuZXZhbHVhdGVJblBhZ2VXaXRoVGltZW91dCgid3JhcHBlcihzeW50YXhFcnJvciki
KTsKLSAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlV2l0aFRpbWVvdXQoIndyYXBwZXIo
cmVmZXJlbmNlRXJyb3IpIik7Ci0gICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZVdpdGhU
aW1lb3V0KCJ3cmFwcGVyKHRocm93RXJyb3JPYmplY3QpIik7Ci0gICAgSW5zcGVjdG9yVGVzdC5l
dmFsdWF0ZUluUGFnZVdpdGhUaW1lb3V0KCJ3cmFwcGVyKHRocm93T2JqZWN0KSIpOwotICAgIElu
c3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2VXaXRoVGltZW91dCgid3JhcHBlcih0aHJvd1N0cmlu
ZykiKTsKLSAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlV2l0aFRpbWVvdXQoImNvbnNv
bGUubG9nKCdET05FJykiKTsKLX0KLTwvc2NyaXB0PgotPC9oZWFkPgotCi08Ym9keSBvbmxvYWQ9
InJ1blRlc3QoKSI+Ci08cD5UZXN0cyB0aGF0IEphdmFTY3JpcHQgZXhjZXB0aW9uJ3MgY29udGFp
biBzdGFjayB0cmFjZXMgYW5kIHRoYXQgdGhlIGZ1bmN0aW9ucyBtYXRjaCBjb25zb2xlLnRyYWNl
KCkgc3RhY2sgdHJhY2VzLjwvcD4KLQotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1leHRlcm5hbC1hcnJheS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWV4dGVybmFsLWFy
cmF5LWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODdhOWRkM2My
NWM1MjFhM2NiZTM2OWFjOWU3MTU3NTg0NDc5YTdmNS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25z
b2xlLWV4dGVybmFsLWFycmF5LWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDM1ICsw
LDAgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSA5OiBbb2JqZWN0IEludDhBcnJheV0KLUNPTlNP
TEUgTUVTU0FHRTogbGluZSAxMDogW29iamVjdCBJbnQxNkFycmF5XQotQ09OU09MRSBNRVNTQUdF
OiBsaW5lIDExOiBbb2JqZWN0IEludDMyQXJyYXldCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTI6
IFtvYmplY3QgVWludDhBcnJheV0KLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxMzogW29iamVjdCBV
aW50MTZBcnJheV0KLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxNDogW29iamVjdCBVaW50MzJBcnJh
eV0KLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxNTogW29iamVjdCBGbG9hdDMyQXJyYXldCi1DT05T
T0xFIE1FU1NBR0U6IGxpbmUgMTY6IFtvYmplY3QgRmxvYXQ2NEFycmF5XQotQ09OU09MRSBNRVNT
QUdFOiBsaW5lIDE4OiBbb2JqZWN0IEludDhBcnJheV0KLUNPTlNPTEUgTUVTU0FHRTogbGluZSAx
OTogW29iamVjdCBJbnQxNkFycmF5XQotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDIwOiBbb2JqZWN0
IEludDMyQXJyYXldCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMjE6IFtvYmplY3QgVWludDhBcnJh
eV0KLUNPTlNPTEUgTUVTU0FHRTogbGluZSAyMjogW29iamVjdCBVaW50MTZBcnJheV0KLUNPTlNP
TEUgTUVTU0FHRTogbGluZSAyMzogW29iamVjdCBVaW50MzJBcnJheV0KLUNPTlNPTEUgTUVTU0FH
RTogbGluZSAyNDogW29iamVjdCBGbG9hdDMyQXJyYXldCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUg
MjU6IFtvYmplY3QgRmxvYXQ2NEFycmF5XQotVGVzdHMgdGhhdCBjb25zb2xlIGxvZ2dpbmcgZGV0
ZWN0cyBleHRlcm5hbCBhcnJheXMgYXMgYXJyYXlzLgotCi1JbnQ4QXJyYXlbMTBdIGNvbnNvbGUt
ZXh0ZXJuYWwtYXJyYXkuaHRtbDo5Ci1JbnQxNkFycmF5WzEwXSBjb25zb2xlLWV4dGVybmFsLWFy
cmF5Lmh0bWw6MTAKLUludDMyQXJyYXlbMTBdIGNvbnNvbGUtZXh0ZXJuYWwtYXJyYXkuaHRtbDox
MQotVWludDhBcnJheVsxMF0gY29uc29sZS1leHRlcm5hbC1hcnJheS5odG1sOjEyCi1VaW50MTZB
cnJheVsxMF0gY29uc29sZS1leHRlcm5hbC1hcnJheS5odG1sOjEzCi1VaW50MzJBcnJheVsxMF0g
Y29uc29sZS1leHRlcm5hbC1hcnJheS5odG1sOjE0Ci1GbG9hdDMyQXJyYXlbMTBdIGNvbnNvbGUt
ZXh0ZXJuYWwtYXJyYXkuaHRtbDoxNQotRmxvYXQ2NEFycmF5WzEwXSBjb25zb2xlLWV4dGVybmFs
LWFycmF5Lmh0bWw6MTYKLUludDhBcnJheVsxMF0gY29uc29sZS1leHRlcm5hbC1hcnJheS5odG1s
OjE4Ci1JbnQxNkFycmF5WzEwXSBjb25zb2xlLWV4dGVybmFsLWFycmF5Lmh0bWw6MTkKLUludDMy
QXJyYXlbMTBdIGNvbnNvbGUtZXh0ZXJuYWwtYXJyYXkuaHRtbDoyMAotVWludDhBcnJheVsxMF0g
Y29uc29sZS1leHRlcm5hbC1hcnJheS5odG1sOjIxCi1VaW50MTZBcnJheVsxMF0gY29uc29sZS1l
eHRlcm5hbC1hcnJheS5odG1sOjIyCi1VaW50MzJBcnJheVsxMF0gY29uc29sZS1leHRlcm5hbC1h
cnJheS5odG1sOjIzCi1GbG9hdDMyQXJyYXlbMTBdIGNvbnNvbGUtZXh0ZXJuYWwtYXJyYXkuaHRt
bDoyNAotRmxvYXQ2NEFycmF5WzEwXSBjb25zb2xlLWV4dGVybmFsLWFycmF5Lmh0bWw6MjUKLQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1leHRlcm5h
bC1hcnJheS5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1leHRl
cm5hbC1hcnJheS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3NzU3MWQ4MGYy
NzI3MGMwZDM2YjFiNjY3NThmOTRhMzBjZmI2OGVmLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNv
bGUtZXh0ZXJuYWwtYXJyYXkuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDQ1ICswLDAgQEAKLTxo
dG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5z
cGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMv
aW5zcGVjdG9yL2NvbnNvbGUtdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotCi1mdW5jdGlv
biBvbmxvYWQoKQotewotICAgIGNvbnNvbGUubG9nKG5ldyBJbnQ4QXJyYXkoMTApKTsKLSAgICBj
b25zb2xlLmxvZyhuZXcgSW50MTZBcnJheSgxMCkpOwotICAgIGNvbnNvbGUubG9nKG5ldyBJbnQz
MkFycmF5KDEwKSk7Ci0gICAgY29uc29sZS5sb2cobmV3IFVpbnQ4QXJyYXkoMTApKTsKLSAgICBj
b25zb2xlLmxvZyhuZXcgVWludDE2QXJyYXkoMTApKTsKLSAgICBjb25zb2xlLmxvZyhuZXcgVWlu
dDMyQXJyYXkoMTApKTsKLSAgICBjb25zb2xlLmxvZyhuZXcgRmxvYXQzMkFycmF5KDEwKSk7Ci0g
ICAgY29uc29sZS5sb2cobmV3IEZsb2F0NjRBcnJheSgxMCkpOwotCi0gICAgY29uc29sZS5kaXIo
bmV3IEludDhBcnJheSgxMCkpOwotICAgIGNvbnNvbGUuZGlyKG5ldyBJbnQxNkFycmF5KDEwKSk7
Ci0gICAgY29uc29sZS5kaXIobmV3IEludDMyQXJyYXkoMTApKTsKLSAgICBjb25zb2xlLmRpcihu
ZXcgVWludDhBcnJheSgxMCkpOwotICAgIGNvbnNvbGUuZGlyKG5ldyBVaW50MTZBcnJheSgxMCkp
OwotICAgIGNvbnNvbGUuZGlyKG5ldyBVaW50MzJBcnJheSgxMCkpOwotICAgIGNvbnNvbGUuZGly
KG5ldyBGbG9hdDMyQXJyYXkoMTApKTsKLSAgICBjb25zb2xlLmRpcihuZXcgRmxvYXQ2NEFycmF5
KDEwKSk7Ci0KLSAgICBydW5UZXN0KCk7Ci19Ci0KLWZ1bmN0aW9uIHRlc3QoKQotewotICAgIElu
c3BlY3RvclRlc3QuZHVtcENvbnNvbGVNZXNzYWdlcygpOwotICAgIEluc3BlY3RvclRlc3QuY29t
cGxldGVUZXN0KCk7Ci19Ci0KLTwvc2NyaXB0PgotPC9oZWFkPgotCi08Ym9keSBvbmxvYWQ9Im9u
bG9hZCgpIj4KLTxwPgotVGVzdHMgdGhhdCBjb25zb2xlIGxvZ2dpbmcgZGV0ZWN0cyBleHRlcm5h
bCBhcnJheXMgYXMgYXJyYXlzLgotPC9wPgotCi08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWxhc3QtcmVzdWx0LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtbGFzdC1yZXN1
bHQtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDBkY2U2YzA0
YWU2OWZmNmM3NTYxMDhhYzg1NmVhOWUwN2U1YTA4Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNv
bGUtbGFzdC1yZXN1bHQtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNyArMCwwIEBA
Ci1UZXN0cyB0aGF0IGNvbnNvbGUgZXhwb3NlcyBsYXN0IGV2YWx1YXRpb24gcmVzdWx0IGFzICRf
LgotCi0xKzEKLTIKLSRfCi0yCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9j
b25zb2xlL2NvbnNvbGUtbGFzdC1yZXN1bHQuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9j
b25zb2xlL2NvbnNvbGUtbGFzdC1yZXN1bHQuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggNzQ2NDU4N2JhM2E3MTJhNjg5YTI5NGJkYzQ3ZDQ1NjE5YWQ4ZjcwMi4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0
b3IvY29uc29sZS9jb25zb2xlLWxhc3QtcmVzdWx0Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwz
MiArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMv
aW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8u
Li9odHRwL3Rlc3RzL2luc3BlY3Rvci9jb25zb2xlLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlw
dD4KLQotZnVuY3Rpb24gdGVzdCgpCi17Ci0gICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluQ29u
c29sZSgiMSsxIiwgc3RlcDEpOwotCi0gICAgZnVuY3Rpb24gc3RlcDEoKQotICAgIHsKLSAgICAg
ICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluQ29uc29sZSgiJF8iLCBjYWxsYmFjayk7Ci0gICAg
fQotCi0gICAgZnVuY3Rpb24gY2FsbGJhY2soKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVz
dC5kdW1wQ29uc29sZU1lc3NhZ2VzKCk7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVU
ZXN0KCk7Ci0gICAgfQotfQotCi08L3NjcmlwdD4KLTwvaGVhZD4KLQotPGJvZHkgb25sb2FkPSJy
dW5UZXN0KCkiPgotPHA+Ci0gICAgVGVzdHMgdGhhdCBjb25zb2xlIGV4cG9zZXMgbGFzdCBldmFs
dWF0aW9uIHJlc3VsdCBhcyAkXy4KLTwvcD4KLQotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1sb2ctYmVmb3JlLWluc3Bl
Y3Rvci1vcGVuLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2Nv
bnNvbGUtbG9nLWJlZm9yZS1pbnNwZWN0b3Itb3Blbi1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDM0Y2I2ZWViNDFmZTgzMmY2YzIyOGMwOGQzMzY2YTY5MjNkOTA3
N2EuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1sb2ctYmVmb3JlLWluc3BlY3Rvci1vcGVu
LWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDEzICswLDAgQEAKLUNPTlNPTEUgTUVT
U0FHRTogbGluZSA3OiBsb2cKLUNPTlNPTEUgTUVTU0FHRTogbGluZSA4OiBkZWJ1ZwotQ09OU09M
RSBNRVNTQUdFOiBsaW5lIDk6IGluZm8KLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxMDogd2Fybgot
Q09OU09MRSBNRVNTQUdFOiBsaW5lIDExOiBlcnJvcgotVGVzdHMgdGhhdCBXZWIgSW5zcGVjdG9y
IHdvbid0IGNyYXNoIGlmIHNvbWUgY29uc29sZSBoYXZlIGJlZW4gbG9nZ2VkIGJ5IHRoZSB0aW1l
IGl0J3Mgb3BlbmluZy4KLQotbG9nIGNvbnNvbGUtbG9nLWJlZm9yZS1pbnNwZWN0b3Itb3Blbi5o
dG1sOjcKLWRlYnVnIGNvbnNvbGUtbG9nLWJlZm9yZS1pbnNwZWN0b3Itb3Blbi5odG1sOjgKLWlu
Zm8gY29uc29sZS1sb2ctYmVmb3JlLWluc3BlY3Rvci1vcGVuLmh0bWw6OQotd2FybiBjb25zb2xl
LWxvZy1iZWZvcmUtaW5zcGVjdG9yLW9wZW4uaHRtbDoxMAotZXJyb3IgY29uc29sZS1sb2ctYmVm
b3JlLWluc3BlY3Rvci1vcGVuLmh0bWw6MTEKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yL2NvbnNvbGUvY29uc29sZS1sb2ctYmVmb3JlLWluc3BlY3Rvci1vcGVuLmh0bWwgYi9M
YXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWxvZy1iZWZvcmUtaW5zcGVjdG9y
LW9wZW4uaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNGEwMDQyYWU5ZDlkMDY4
MmE3OTI3OTY0ZDE2OTNlYTAyOGJkM2VkMi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWxv
Zy1iZWZvcmUtaW5zcGVjdG9yLW9wZW4uaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDI4ICswLDAg
QEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0
b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAv
dGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUtdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotCi1j
b25zb2xlLmxvZygnbG9nJyk7Ci1jb25zb2xlLmRlYnVnKCdkZWJ1ZycpOwotY29uc29sZS5pbmZv
KCdpbmZvJyk7Ci1jb25zb2xlLndhcm4oJ3dhcm4nKTsKLWNvbnNvbGUuZXJyb3IoJ2Vycm9yJyk7
Ci0KLWZ1bmN0aW9uIHRlc3QoKQotewotICAgIEluc3BlY3RvclRlc3QuZHVtcENvbnNvbGVNZXNz
YWdlcygpOwotICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7Ci19Ci0KLTwvc2NyaXB0
PgotPC9oZWFkPgotCi08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci08cD4KLVRlc3RzIHRoYXQg
V2ViIEluc3BlY3RvciB3b24ndCBjcmFzaCBpZiBzb21lIGNvbnNvbGUgaGF2ZSBiZWVuIGxvZ2dl
ZCBieSB0aGUgdGltZSBpdCdzIG9wZW5pbmcuCi08L3A+Ci0KLTwvYm9keT4KLTwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtbG9nLWRvY3Vt
ZW50LXByb3RvLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2Nv
bnNvbGUtbG9nLWRvY3VtZW50LXByb3RvLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggZDYwODFjM2Y5OWMxZTQ4MDFiMzc1NWQ4ZWZmYmI4YjJkYWM3YTkyZC4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9p
bnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWxvZy1kb2N1bWVudC1wcm90by1leHBlY3RlZC50eHQK
KysrIC9kZXYvbnVsbApAQCAtMSw1ICswLDAgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSA2OiBb
b2JqZWN0IEhUTUxEb2N1bWVudFByb3RvdHlwZV0KLVRlc3QgdGhhdCBjb25zb2xlLmRpcihkb2N1
bWVudC5fX3Byb3RvX18pIHdvbid0IHJlc3VsdCBpbiBhbiBleGNlcHRpb24gd2hlbiB0aGUgbWVz
c2FnZSBpcyBmb3JtYXR0ZWQgaW4gdGhlIGluc3BlY3Rvci5CdWcgMjcxNjkuCi0KLUhUTUxEb2N1
bWVudFByb3RvdHlwZSBjb25zb2xlLWxvZy1kb2N1bWVudC1wcm90by5odG1sOjYKLQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1sb2ctZG9jdW1lbnQt
cHJvdG8uaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtbG9nLWRv
Y3VtZW50LXByb3RvLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGI2MzljNDdj
YTllYzExY2E2NDI5MDA1MDU2YWRiZjNhZGFhMmQ4YmUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29u
c29sZS1sb2ctZG9jdW1lbnQtcHJvdG8uaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDIxICswLDAg
QEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0
b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAv
dGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUtdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotY29u
c29sZS5kaXIoZG9jdW1lbnQuX19wcm90b19fKTsKLQotZnVuY3Rpb24gdGVzdCgpCi17Ci0gICAg
SW5zcGVjdG9yVGVzdC5kdW1wQ29uc29sZU1lc3NhZ2VzKCk7Ci0gICAgSW5zcGVjdG9yVGVzdC5j
b21wbGV0ZVRlc3QoKTsKLX0KLTwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgb25sb2FkPSJydW5U
ZXN0KCkiPgotPHA+Ci1UZXN0IHRoYXQgY29uc29sZS5kaXIoZG9jdW1lbnQuX19wcm90b19fKSB3
b24ndCByZXN1bHQgaW4gYW4gZXhjZXB0aW9uIHdoZW4gdGhlIG1lc3NhZ2UKLWlzIGZvcm1hdHRl
ZCBpbiB0aGUgaW5zcGVjdG9yLjxhIGJ1Zz0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTI3MTY5Ij5CdWcgIDI3MTY5LjwvYT4KLTwvcD4KLTwvYm9keT4KLTwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtbG9nLW5h
dGl2ZS1mdW5jcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9j
b25zb2xlLWxvZy1uYXRpdmUtZnVuY3MtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCBkYTc5MjFlNzc2ZWM4N2Y2YzljOTliODc0NTY5N2JiMGY0MmZhMGFiLi4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2lu
c3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtbG9nLW5hdGl2ZS1mdW5jcy1leHBlY3RlZC50eHQKKysr
IC9kZXYvbnVsbApAQCAtMSwxMSArMCwwIEBACi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgOTogW29i
amVjdCBEb2N1bWVudENvbnN0cnVjdG9yXQotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDEwOiBmdW5j
dGlvbiBjcmVhdGVFbGVtZW50KCkgewotICAgIFtuYXRpdmUgY29kZV0KLX0KLVRlc3RzIHRoYXQg
Y29uc29sZSBsb2dnaW5nIGR1bXBzIHByb3BlciBtZXNzYWdlcy4KLQotY29uc29sZS1sb2ctbmF0
aXZlLWZ1bmNzLmh0bWw6OURvY3VtZW50Q29uc3RydWN0b3IgY29uc29sZS1tZXNzYWdlIGNvbnNv
bGUtanMtc291cmNlIGNvbnNvbGUtbG9nLWxldmVsCi1jb25zb2xlLWxvZy1uYXRpdmUtZnVuY3Mu
aHRtbDoxMGZ1bmN0aW9uIGNyZWF0ZUVsZW1lbnQoKSB7Ci0gICAgW25hdGl2ZSBjb2RlXQotfSBj
b25zb2xlLW1lc3NhZ2UgY29uc29sZS1qcy1zb3VyY2UgY29uc29sZS1sb2ctbGV2ZWwKLQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1sb2ctc3ludGF4
LWVycm9yLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNv
bGUtbG9nLXN5bnRheC1lcnJvci1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IGJiZjk2OTExZDY1MWViYWM3MjQwOTc3NWQ0Mzk4YjljMmYzOGIzZjEuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yL2NvbnNvbGUvY29uc29sZS1sb2ctc3ludGF4LWVycm9yLWV4cGVjdGVkLnR4dAorKysgL2Rl
di9udWxsCkBAIC0xLDUgKzAsMCBAQAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE6IFN5bnRheEVy
cm9yOiBVbmV4cGVjdGVkIHRva2VuICcpJwotVGVzdHMgdGhhdCBzeW50YXggZXJyb3JzIGFyZSBs
b2dnZWQgaW50byBjb25zb2xlIGFuZCBkb2Vzbid0IGNhdXNlIGJyb3dzZXIgY3Jhc2guCi0KLVN5
bnRheEVycm9yOiBVbmV4cGVjdGVkIHRva2VuICcpJyBzeW50YXgtZXJyb3IuanM6MQotCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWxvZy1zeW50YXgt
ZXJyb3IuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtbG9nLXN5
bnRheC1lcnJvci5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5NjdkN2E0Yzc0
ODc1NDcxMjM2MzYyZTk1YjRhODA1MzM3NmUxZTU3Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNv
bGUtbG9nLXN5bnRheC1lcnJvci5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTkgKzAsMCBAQAot
PGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9p
bnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0
cy9pbnNwZWN0b3IvY29uc29sZS10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJyZXNv
dXJjZXMvc3ludGF4LWVycm9yLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci1mdW5jdGlvbiB0ZXN0
KCkKLXsKLSAgICBJbnNwZWN0b3JUZXN0LmR1bXBDb25zb2xlTWVzc2FnZXMoKTsKLSAgICBJbnNw
ZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwotfQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBv
bmxvYWQ9InJ1blRlc3QoKSI+Ci08cD4KLVRlc3RzIHRoYXQgc3ludGF4IGVycm9ycyBhcmUgbG9n
Z2VkIGludG8gY29uc29sZSBhbmQgZG9lc24ndCBjYXVzZSBicm93c2VyIGNyYXNoLgotPC9wPgot
PC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNv
bGUvY29uc29sZS1sb2ctdG9TdHJpbmctb2JqZWN0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtbG9nLXRvU3RyaW5nLW9iamVjdC1leHBlY3RlZC50
eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDA1MjI3ZWNmYzBmMzg2N2EyZmY1ZjUy
YmJmNzkyOWUwYWY1MGMxMDkuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1sb2ctdG9TdHJp
bmctb2JqZWN0LWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDcgKzAsMCBAQAotQ09O
U09MRSBNRVNTQUdFOiBsaW5lIDc6IAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDc6IAotVGVzdHMg
dGhhdCBwYXNzaW5nIGFuIG9iamVjdCB3aGljaCB0aHJvd3Mgb24gc3RyaW5nIGNvbnZlcnNpb24g
aW50byBjb25zb2xlLmxvZyB3b24ndCBjcmFzaCBpbnNwZWN0ZWQgUGFnZS4gVGhlIHRlc3QgcGFz
c2VzIGlmIGl0IGRvZXNuJ3QgY3Jhc2guIEJ1ZyA1NzU1NwotCi1QYWdlIHJlbG9hZGVkLgotT2Jq
ZWN0IHt0b1N0cmluZzogT2JqZWN0fSBjb25zb2xlLWxvZy10b1N0cmluZy1vYmplY3QuaHRtbDo3
Ci0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtbG9n
LXRvU3RyaW5nLW9iamVjdC5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29u
c29sZS1sb2ctdG9TdHJpbmctb2JqZWN0Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDk5ODY4OTRjN2JkMTAzZTg4ZmRiYjVkMTQ2NDRmOTk5YzIzY2E5OGUuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
L2NvbnNvbGUvY29uc29sZS1sb2ctdG9TdHJpbmctb2JqZWN0Lmh0bWwKKysrIC9kZXYvbnVsbApA
QCAtMSwyNSArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAv
dGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9jb25zb2xlLXRlc3QuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdD4KLQotY29uc29sZS5sb2coe3RvU3RyaW5nOnt9fSk7Ci0KLWZ1bmN0aW9uIHRlc3Qo
KQotewotICAgIEluc3BlY3RvclRlc3QucmVsb2FkUGFnZShmdW5jdGlvbigpIHsKLSAgICAgICAg
SW5zcGVjdG9yVGVzdC5kdW1wQ29uc29sZU1lc3NhZ2VzKCk7Ci0gICAgICAgIEluc3BlY3RvclRl
c3QuY29tcGxldGVUZXN0KCk7Ci0gICAgfSk7Ci19Ci08L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5
IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxwPgotVGVzdHMgdGhhdCBwYXNzaW5nIGFuIG9iamVjdCB3
aGljaCB0aHJvd3Mgb24gc3RyaW5nIGNvbnZlcnNpb24gaW50byBjb25zb2xlLmxvZyB3b24ndCBj
cmFzaAotaW5zcGVjdGVkIFBhZ2UuIFRoZSB0ZXN0IHBhc3NlcyBpZiBpdCBkb2Vzbid0IGNyYXNo
LgotPGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU3NTU3
Ij5CdWcgNTc1NTc8L2E+Ci08L3A+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWxvbmctZXZhbC1jcmFzaC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWxvbmctZXZhbC1j
cmFzaC1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM2Nzc3ZWQx
N2JhNTAxNTY1YjQwNDI5Nzk2MTVhM2ZhNmY4MGY3ODEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29u
c29sZS1sb25nLWV2YWwtY3Jhc2gtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMyAr
MCwwIEBACi1UZXN0IHRoYXQgYW55IGxvbmcgYXBpIGNhbGwgZnJvbSB0aGUgZnJvbnRlbmQgd2ls
bCBub3QgY3Jhc2ggdGhlIGluc3BlY3RlZCBwYWdlJ3MgcmVuZGVyZXIgaWYgdGhlIHBhZ2UgaXMg
cmVsb2FkZWQgb3IgZnJvbnRlbmQgaXMgY2xvc2VkIGluIHRoZSBtaWRkbGUuCi0KLWh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MDYxNgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1sb25nLWV2YWwtY3Jhc2guaHRtbCBiL0xh
eW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtbG9uZy1ldmFsLWNyYXNoLmh0bWwK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg3YjRmYWMzYTZiOTAxMTUwMjU5ZDhkYzA4
OGE5ZDU2OGMzNTgyMzUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1sb25nLWV2YWwtY3Jh
c2guaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDMxICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08
c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMi
Pjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2NvbnNv
bGUtdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotCi10ZXN0UnVubmVyLnNldENhbk9wZW5X
aW5kb3dzKCk7Ci0KLWZ1bmN0aW9uIGRvRGlhbG9nKCkKLXsKLSAgICB0ZXN0UnVubmVyLmNsb3Nl
V2ViSW5zcGVjdG9yKCk7Ci0gICAgc2hvd01vZGFsRGlhbG9nKCdkYXRhOnRleHQvaHRtbCw8c2Ny
aXB0PnNldFRpbWVvdXQoY2xvc2UsIDApOyUzYy9zY3JpcHQ+Jyk7Ci0gICAgc2V0VGltZW91dChm
dW5jdGlvbigpe3Rlc3RSdW5uZXIubm90aWZ5RG9uZSgpO30sIDApOwotfQotCi1mdW5jdGlvbiB0
ZXN0KCkKLXsKLSAgICBSdW50aW1lQWdlbnQuZXZhbHVhdGUoImRvRGlhbG9nKCkiKTsKLX0KLQot
PC9zY3JpcHQ+Ci08L2hlYWQ+Ci0KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxwPgotVGVz
dCB0aGF0IGFueSBsb25nIGFwaSBjYWxsIGZyb20gdGhlIGZyb250ZW5kIHdpbGwgbm90IGNyYXNo
IHRoZSBpbnNwZWN0ZWQgcGFnZSdzIHJlbmRlcmVyIGlmIHRoZSBwYWdlIGlzIHJlbG9hZGVkIG9y
IGZyb250ZW5kIGlzIGNsb3NlZCBpbiB0aGUgbWlkZGxlLgotPC9wPgotPGEgaHJlZj0iaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYwNjE2Ij5odHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjA2MTY8L2E+Ci0KLTwvYm9keT4KLTwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtbWVzc2FnZS1m
b3JtYXQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29uc29s
ZS1tZXNzYWdlLWZvcm1hdC1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IGYwZWFlY2Y0MzlkZWQyNDMwNDA2M2UzNDcyOTk2OTg2ZGJhMWY0NTkuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
L2NvbnNvbGUvY29uc29sZS1tZXNzYWdlLWZvcm1hdC1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVs
bApAQCAtMSwxOSArMCwwIEBACi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgOTogTWVzc2FnZSBmb3Jt
YXQgbnVtYmVyICVpLCAlZCBhbmQgJWYKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxMDogTWVzc2Fn
ZSAlcyBmb3IgJXMKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxMTogT2JqZWN0ICVvCi1DT05TT0xF
IE1FU1NBR0U6IGxpbmUgMTI6IEZsb2F0aW5nIGFzIGludGVnZXJzOiAlZCAlaQotQ09OU09MRSBN
RVNTQUdFOiBsaW5lIDEzOiBGbG9hdGluZyBhcyBpczogJWYKLUNPTlNPTEUgTUVTU0FHRTogbGlu
ZSAxNDogTm9uLW51bWJlcnMgYXMgbnVtYmVyczogJWQgJWkgJWYKLUNPTlNPTEUgTUVTU0FHRTog
bGluZSAxNTogU3RyaW5nIGFzIGlzOiAlcwotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE2OiBPYmpl
Y3QgYXMgc3RyaW5nOiAlcwotVGVzdHMgdGhhdCBjb25zb2xlIGxvZ2dpbmcgdXNlcyBwcm9wZXIg
bWVzc2FnZSBmb3JtYXR0aW5nLgotCi1NZXNzYWdlIGZvcm1hdCBudW1iZXIgMSwgMiBhbmQgMy41
IGNvbnNvbGUtbWVzc2FnZS1mb3JtYXQuaHRtbDo5Ci1NZXNzYWdlIGZvcm1hdCBmb3Igc3RyaW5n
IGNvbnNvbGUtbWVzc2FnZS1mb3JtYXQuaHRtbDoxMAotT2JqZWN0IE9iamVjdCBjb25zb2xlLW1l
c3NhZ2UtZm9ybWF0Lmh0bWw6MTEKLUZsb2F0aW5nIGFzIGludGVnZXJzOiA0MiA0MiBjb25zb2xl
LW1lc3NhZ2UtZm9ybWF0Lmh0bWw6MTIKLUZsb2F0aW5nIGFzIGlzOiA0Mi41IGNvbnNvbGUtbWVz
c2FnZS1mb3JtYXQuaHRtbDoxMwotTm9uLW51bWJlcnMgYXMgbnVtYmVyczogTmFOIE5hTiBOYU4g
Y29uc29sZS1tZXNzYWdlLWZvcm1hdC5odG1sOjE0Ci1TdHJpbmcgYXMgaXM6IHN0cmluZyBjb25z
b2xlLW1lc3NhZ2UtZm9ybWF0Lmh0bWw6MTUKLU9iamVjdCBhcyBzdHJpbmc6ICNkb2N1bWVudCBj
b25zb2xlLW1lc3NhZ2UtZm9ybWF0Lmh0bWw6MTYKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1tZXNzYWdlLWZvcm1hdC5odG1sIGIvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1tZXNzYWdlLWZvcm1hdC5odG1sCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4OGU0YTM5NGZlZjllMTk5Y2NkNWI0ZjNkNzQ1MjRkNjEx
NjExMTc2Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtbWVzc2FnZS1mb3JtYXQuaHRtbAor
KysgL2Rldi9udWxsCkBAIC0xLDMzICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNy
Yz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUtdGVzdC5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotCi1mdW5jdGlvbiBvbmxvYWQoKQotewotICAgIGNvbnNv
bGUubG9nKCdNZXNzYWdlIGZvcm1hdCBudW1iZXIgJWksICVkIGFuZCAlZicsIDEsIDIsIDMuNSk7
Ci0gICAgY29uc29sZS5sb2coJ01lc3NhZ2UgJXMgZm9yICVzJywgJ2Zvcm1hdCcsICdzdHJpbmcn
KTsKLSAgICBjb25zb2xlLmxvZygnT2JqZWN0ICVvJywgeydmb28nIDogJ2JhcicgfSk7Ci0gICAg
Y29uc29sZS5sb2coIkZsb2F0aW5nIGFzIGludGVnZXJzOiAlZCAlaSIsIDQyLjUsIDQyLjUpOwot
ICAgIGNvbnNvbGUubG9nKCJGbG9hdGluZyBhcyBpczogJWYiLCA0Mi41KTsKLSAgICBjb25zb2xl
LmxvZygiTm9uLW51bWJlcnMgYXMgbnVtYmVyczogJWQgJWkgJWYiLCBkb2N1bWVudCwgbnVsbCwg
ImRvY3VtZW50Iik7Ci0gICAgY29uc29sZS5sb2coIlN0cmluZyBhcyBpczogJXMiLCAic3RyaW5n
Iik7Ci0gICAgY29uc29sZS5sb2coIk9iamVjdCBhcyBzdHJpbmc6ICVzIiwgZG9jdW1lbnQpOwot
Ci0gICAgcnVuVGVzdCgpOwotfQotCi1mdW5jdGlvbiB0ZXN0KCkKLXsKLSAgICBJbnNwZWN0b3JU
ZXN0LmV4cGFuZENvbnNvbGVNZXNzYWdlcygpOwotICAgIEluc3BlY3RvclRlc3QuZHVtcENvbnNv
bGVNZXNzYWdlcygpOwotICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7Ci19Ci08L3Nj
cmlwdD4KLTwvaGVhZD4KLQotPGJvZHkgb25sb2FkPSJvbmxvYWQoKSI+Ci08cCBpZD0icCI+VGVz
dHMgdGhhdCBjb25zb2xlIGxvZ2dpbmcgdXNlcyBwcm9wZXIgbWVzc2FnZSBmb3JtYXR0aW5nLjwv
cD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9j
b25zb2xlL2NvbnNvbGUtbWVzc2FnZXMtc3RhY2stdHJhY2VzLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtbWVzc2FnZXMtc3RhY2stdHJhY2VzLWV4
cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNGZhNzFiZWNhM2FlZTg4
N2NhY2I4MmQ2Mzg0MWRhOWM2ZDYwZTlmOS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLW1l
c3NhZ2VzLXN0YWNrLXRyYWNlcy1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxNSAr
MCwwIEBACi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTY6IGxvZwotQ09OU09MRSBNRVNTQUdFOiBs
aW5lIDE3OiBpbmZvCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTg6IHdhcm4KLUNPTlNPTEUgTUVT
U0FHRTogbGluZSAxOTogZGVidWcKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAyMDogZXJyb3IKLUNP
TlNPTEUgTUVTU0FHRTogbGluZSAyMTogYXNzZXJ0Ci1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMjI6
IHRyYWNlCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMjM6IDEsMiwzCi1DT05TT0xFIE1FU1NBR0U6
IGxpbmUgMjQ6IFtvYmplY3QgSFRNTEJvZHlFbGVtZW50XQotQ09OU09MRSBNRVNTQUdFOiBsaW5l
IDMwOiBNQVJLRVI6IEVYUEVDVCBOTyBTVEFDSyBUUkFDRVMKLUNPTlNPTEUgTUVTU0FHRTogbGlu
ZSAzNDogTUFSS0VSOiBET05FCi1UZXN0cyB0aGF0IGNvbnNvbGUtYXBpIG1lc3NhZ2VzIGNvbnRh
aW4gc3RhY2sgdHJhY2VzLgotCi1TVUNDRVNTCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lu
c3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtbWVzc2FnZXMtc3RhY2stdHJhY2VzLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLW1lc3NhZ2VzLXN0YWNrLXRyYWNlcy5o
dG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlYmM2Zjg3YjdkMGZiMGZiMGZmNDkx
OTYyNWM4OTM5Mzc0OTAzNGUyLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtbWVzc2FnZXMt
c3RhY2stdHJhY2VzLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw4MSArMCwwIEBACi08aHRtbD4K
LTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rv
ci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3Bl
Y3Rvci9jb25zb2xlLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLQotZnVuY3Rpb24gcGVy
Zm9ybUNvbnNvbGVNZXNzYWdlcygpIHsKLSAgICAvLyBObyBjb25zb2xlIG1lc3NhZ2UuCi0gICAg
Y29uc29sZS50aW1lU3RhbXAoKTsKLQotICAgIC8vIEV4cGVjdGVkIHRvIGhhdmUgc3RhY2sgdHJh
Y2VzLgotICAgIGNvbnNvbGUudGltZSgidGltZSIpOyAvLyBOb3RoaW5nIHVudGlsIHRpbWVFbmQu
Ci0gICAgY29uc29sZS5jbGVhcigpOwotICAgIGNvbnNvbGUuZ3JvdXAoImdyb3VwIik7Ci0gICAg
Y29uc29sZS5wcm9maWxlKCJwcm9maWxlIik7Ci0gICAgY29uc29sZS5sb2coImxvZyIpOwotICAg
IGNvbnNvbGUuaW5mbygiaW5mbyIpOwotICAgIGNvbnNvbGUud2Fybigid2FybiIpOwotICAgIGNv
bnNvbGUuZXJyb3IoImRlYnVnIik7Ci0gICAgY29uc29sZS5lcnJvcigiZXJyb3IiKTsKLSAgICBj
b25zb2xlLmFzc2VydChmYWxzZSwgImFzc2VydCIpOwotICAgIGNvbnNvbGUudHJhY2UoInRyYWNl
Iik7Ci0gICAgY29uc29sZS5kaXIoWzEsMiwzXSk7Ci0gICAgY29uc29sZS5kaXJ4bWwoZG9jdW1l
bnQuYm9keSk7Ci0gICAgY29uc29sZS5jb3VudCgiY291bnQiKTsKLSAgICBjb25zb2xlLnByb2Zp
bGVFbmQoInByb2ZpbGUiKTsKLSAgICBjb25zb2xlLnRpbWVFbmQoInRpbWUiKTsKLQotICAgIC8v
IE5vdCBleHBlY3RlZCB0byBoYXZlIHN0YWNrIHRyYWNlcy4KLSAgICBjb25zb2xlLmxvZygiTUFS
S0VSOiBFWFBFQ1QgTk8gU1RBQ0sgVFJBQ0VTIik7Ci0gICAgY29uc29sZS5ncm91cEVuZCgiZ3Jv
dXAiKTsKLQotICAgIC8vIEVuZCB0aGUgdGVzdAotICAgIGNvbnNvbGUubG9nKCJNQVJLRVI6IERP
TkUiKTsKLX0KLQotZnVuY3Rpb24gdGVzdCgpCi17Ci0gICAgSW5zcGVjdG9yVGVzdC5hZGRTbmlm
ZmVyKFdlYkluc3BlY3Rvci5Db25zb2xlRGlzcGF0Y2hlci5wcm90b3R5cGUsICJtZXNzYWdlQWRk
ZWQiLCBtZXNzYWdlQWRkZWQsIHRydWUpOwotCi0gICAgdmFyIGhhZElzc3VlID0gZmFsc2U7Ci0g
ICAgdmFyIGV4cGVjdFN0YWNrVHJhY2VzID0gdHJ1ZTsKLQotICAgIGZ1bmN0aW9uIG1lc3NhZ2VB
ZGRlZChwYXlsb2FkKQotICAgIHsKLSAgICAgICAgaWYgKHBheWxvYWQubGV2ZWwgPT09ICJsb2ci
KSB7Ci0gICAgICAgICAgICBpZiAocGF5bG9hZC50ZXh0ID09PSAiTUFSS0VSOiBET05FIikgewot
ICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KGhhZElzc3VlID8gIkZBSUxV
UkUiIDogIlNVQ0NFU1MiKTsKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRl
VGVzdCgpOwotICAgICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgICAgIH0KLSAgICAgICAg
ICAgIGlmIChwYXlsb2FkLnRleHQgPT09ICJNQVJLRVI6IEVYUEVDVCBOTyBTVEFDSyBUUkFDRVMi
KSB7Ci0gICAgICAgICAgICAgICAgZXhwZWN0U3RhY2tUcmFjZXMgPSBmYWxzZTsKLSAgICAgICAg
ICAgICAgICByZXR1cm47Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLQotICAgICAgICB2YXIg
dXJsID0gcGF5bG9hZC51cmw7Ci0gICAgICAgIHZhciBsYXN0U2xhc2hJbmRleCA9IHVybC5sYXN0
SW5kZXhPZigiLyIpOwotICAgICAgICB1cmwgPSB1cmwuc3Vic3RyaW5nKGxhc3RTbGFzaEluZGV4
ICsgMSk7Ci0KLSAgICAgICAgaWYgKCJzdGFja1RyYWNlIiBpbiBwYXlsb2FkICYmICFleHBlY3RT
dGFja1RyYWNlcykgewotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIlVuZXhw
ZWN0ZWQgc3RhY2sgdHJhY2UgZm9yOiAiICsgSlNPTi5zdHJpbmdpZnkocGF5bG9hZCkpOwotICAg
ICAgICAgICAgaGFkSXNzdWUgPSB0cnVlOwotICAgICAgICB9IGVsc2UgaWYgKCEoInN0YWNrVHJh
Y2UiIGluIHBheWxvYWQpICYmIGV4cGVjdFN0YWNrVHJhY2VzKSB7Ci0gICAgICAgICAgICBJbnNw
ZWN0b3JUZXN0LmFkZFJlc3VsdCgiRXhwZWN0ZWQgc3RhY2sgdHJhY2UgZm9yOiAiICsgSlNPTi5z
dHJpbmdpZnkocGF5bG9hZCkpOwotICAgICAgICAgICAgaGFkSXNzdWUgPSB0cnVlOwotICAgICAg
ICB9Ci0gICAgfQotCi0gICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgicGVyZm9ybUNv
bnNvbGVNZXNzYWdlcygpIik7Ci19Ci0KLTwvc2NyaXB0PgotPC9oZWFkPgotCi08Ym9keSBvbmxv
YWQ9InJ1blRlc3QoKSI+Ci08cD5UZXN0cyB0aGF0IGNvbnNvbGUtYXBpIG1lc3NhZ2VzIGNvbnRh
aW4gc3RhY2sgdHJhY2VzLjwvcD4KLQotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1uYXRpdmUtZnVuY3Rpb24tdG8tc3Ry
aW5nLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUt
bmF0aXZlLWZ1bmN0aW9uLXRvLXN0cmluZy1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IGYzYjAzNzgxYmE4NzMyMTQyZDU4N2NjZGFhZWI2MDcwMzczNTRkM2YuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1uYXRpdmUtZnVuY3Rpb24tdG8tc3RyaW5nLWV4cGVj
dGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDYzICswLDAgQEAKLVRlc3RzIHRoYXQgY29tbWFu
ZC1saW5lIEFQSSBtZXRob2RzIGJlaGF2ZSBzaW1pbGFybHkgdG8gbmF0aXZlIGNvZGUgYnkgcmV0
dXJuaW5nICdbV2ViSW5zcGVjdG9yIGNvbnNvbGUgZnVuY3Rpb25dJyB2aWEgdG9TdHJpbmcoKS4K
LQotCi0KLSQKLWZ1bmN0aW9uICQoKSB7IFtDb21tYW5kIExpbmUgQVBJXSB9Ci0KLQotJCQKLWZ1
bmN0aW9uICQkKCkgeyBbQ29tbWFuZCBMaW5lIEFQSV0gfQotCi0KLSR4Ci1mdW5jdGlvbiAkeCgp
IHsgW0NvbW1hbmQgTGluZSBBUEldIH0KLQotCi1kaXIKLWZ1bmN0aW9uIGRpcigpIHsgW0NvbW1h
bmQgTGluZSBBUEldIH0KLQotCi1kaXJ4bWwKLWZ1bmN0aW9uIGRpcnhtbCgpIHsgW0NvbW1hbmQg
TGluZSBBUEldIH0KLQotCi1rZXlzCi1mdW5jdGlvbiBrZXlzKCkgeyBbQ29tbWFuZCBMaW5lIEFQ
SV0gfQotCi0KLXZhbHVlcwotZnVuY3Rpb24gdmFsdWVzKCkgeyBbQ29tbWFuZCBMaW5lIEFQSV0g
fQotCi0KLXByb2ZpbGUKLWZ1bmN0aW9uIHByb2ZpbGUoKSB7IFtDb21tYW5kIExpbmUgQVBJXSB9
Ci0KLQotcHJvZmlsZUVuZAotZnVuY3Rpb24gcHJvZmlsZUVuZCgpIHsgW0NvbW1hbmQgTGluZSBB
UEldIH0KLQotCi1tb25pdG9yRXZlbnRzCi1mdW5jdGlvbiBtb25pdG9yRXZlbnRzKCkgeyBbQ29t
bWFuZCBMaW5lIEFQSV0gfQotCi0KLXVubW9uaXRvckV2ZW50cwotZnVuY3Rpb24gdW5tb25pdG9y
RXZlbnRzKCkgeyBbQ29tbWFuZCBMaW5lIEFQSV0gfQotCi0KLWluc3BlY3QKLWZ1bmN0aW9uIGlu
c3BlY3QoKSB7IFtDb21tYW5kIExpbmUgQVBJXSB9Ci0KLQotY29weQotZnVuY3Rpb24gY29weSgp
IHsgW0NvbW1hbmQgTGluZSBBUEldIH0KLQotCi1jbGVhcgotZnVuY3Rpb24gY2xlYXIoKSB7IFtD
b21tYW5kIExpbmUgQVBJXSB9Ci0KLQotZ2V0RXZlbnRMaXN0ZW5lcnMKLWZ1bmN0aW9uIGdldEV2
ZW50TGlzdGVuZXJzKCkgeyBbQ29tbWFuZCBMaW5lIEFQSV0gfQotCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLW5hdGl2ZS1mdW5jdGlvbi10by1zdHJp
bmcuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtbmF0aXZlLWZ1
bmN0aW9uLXRvLXN0cmluZy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzMjFj
YjEzZThiYWM5ZDNmN2NiODViZDYxMzZhZmI3MzEzZTkxNTY2Li4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xl
L2NvbnNvbGUtbmF0aXZlLWZ1bmN0aW9uLXRvLXN0cmluZy5odG1sCisrKyAvZGV2L251bGwKQEAg
LTEsMzQgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLSAgICA8c2NyaXB0IHNyYz0iLi4vLi4vaHR0
cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgotICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9jb25zb2xlLXRlc3QuanMiPjwvc2Ny
aXB0PgotICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9lbGVtZW50
cy10ZXN0LmpzIj48L3NjcmlwdD4KLSAgICA8c2NyaXB0PgotICAgICAgICB2YXIgdGVzdCA9IGZ1
bmN0aW9uKCkKLSAgICAgICAgewotICAgICAgICAgICAgdmFyIGV4cHJlc3Npb25zID0gWwotICAg
ICAgICAgICAgICAgICIkIiwgIiQkIiwgIiR4IiwgImRpciIsICJkaXJ4bWwiLCAia2V5cyIsICJ2
YWx1ZXMiLCAicHJvZmlsZSIsICJwcm9maWxlRW5kIiwKLSAgICAgICAgICAgICAgICAibW9uaXRv
ckV2ZW50cyIsICJ1bm1vbml0b3JFdmVudHMiLCAiaW5zcGVjdCIsICJjb3B5IiwgImNsZWFyIiwg
ImdldEV2ZW50TGlzdGVuZXJzIgotICAgICAgICAgICAgXTsKLQotICAgICAgICAgICAgZnVuY3Rp
b24gZXhlY3V0ZUV4cHJlc3Npb24oKQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIGlm
ICghZXhwcmVzc2lvbnMubGVuZ3RoKSB7Ci0gICAgICAgICAgICAgICAgICAgIEluc3BlY3RvclRl
c3QuZHVtcENvbnNvbGVNZXNzYWdlcygpOwotICAgICAgICAgICAgICAgICAgICBJbnNwZWN0b3JU
ZXN0LmNvbXBsZXRlVGVzdCgpOwotICAgICAgICAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAg
ICAgICAgICAgfQotICAgICAgICAgICAgICAgIHZhciBleHByZXNzaW9uID0gZXhwcmVzc2lvbnNb
MF07Ci0gICAgICAgICAgICAgICAgZXhwcmVzc2lvbnMuc3BsaWNlKDAsIDEpOwotICAgICAgICAg
ICAgICAgIFdlYkluc3BlY3Rvci5sb2coIlxuIik7Ci0gICAgICAgICAgICAgICAgSW5zcGVjdG9y
VGVzdC5ldmFsdWF0ZUluQ29uc29sZShleHByZXNzaW9uLCBleGVjdXRlRXhwcmVzc2lvbik7Ci0g
ICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIGV4ZWN1dGVFeHByZXNzaW9uKCk7Ci0gICAgICAg
IH0KLSAgICA8L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLSAg
ICA8cD5UZXN0cyB0aGF0IGNvbW1hbmQtbGluZSBBUEkgbWV0aG9kcyBiZWhhdmUgc2ltaWxhcmx5
IHRvIG5hdGl2ZSBjb2RlIGJ5IHJldHVybmluZyAnW1dlYkluc3BlY3RvciBjb25zb2xlIGZ1bmN0
aW9uXScgdmlhIHRvU3RyaW5nKCkuPC9wPgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1uZXN0ZWQtZ3JvdXAtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1uZXN0ZWQtZ3Jv
dXAtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5ZjEzOTU4MDA4
ODJmMWJjOTY5OThkMTg4NTdjZDc2MmFiYmUyYzJmLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNv
bGUtbmVzdGVkLWdyb3VwLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDE5ICswLDAg
QEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxMTogTWVzc2FnZSBpbnNpZGUgaW5uZXIgZ3JvdXAK
LUNPTlNPTEUgTUVTU0FHRTogbGluZSAxNDogTWVzc2FnZSB0aGF0IG11c3Qgbm90IGJlIGluIGFu
eSBncm91cAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDIxOiBNZXNzYWdlIGluc2lkZSB0aGlyZCBn
cm91cAotVGVzdHMgdGhhdCBjb25zb2xlLmdyb3VwL2dyb3VwRW5kIG1lc3NhZ2VzIHdvbid0IGJl
IGNvYWxlc2NlZC4gQnVnIDU2MTE0LiBCdWcgNjM1MjEuCi0KLW91dGVyIGdyb3VwIGNvbnNvbGUt
bmVzdGVkLWdyb3VwLmh0bWw6OSBjb25zb2xlLW1lc3NhZ2UgY29uc29sZS1sb2ctbGV2ZWwgY29u
c29sZS1ncm91cC10aXRsZQotaW5uZXIgZ3JvdXAgY29uc29sZS1uZXN0ZWQtZ3JvdXAuaHRtbDox
MCBjb25zb2xlLW1lc3NhZ2UgY29uc29sZS1sb2ctbGV2ZWwgY29uc29sZS1ncm91cC10aXRsZQot
TWVzc2FnZSBpbnNpZGUgaW5uZXIgZ3JvdXAgY29uc29sZS1uZXN0ZWQtZ3JvdXAuaHRtbDoxMSBj
b25zb2xlLW1lc3NhZ2UgY29uc29sZS1sb2ctbGV2ZWwKLSBjb25zb2xlLW1lc3NhZ2UgY29uc29s
ZS1sb2ctbGV2ZWwKLSBjb25zb2xlLW1lc3NhZ2UgY29uc29sZS1sb2ctbGV2ZWwKLU1lc3NhZ2Ug
dGhhdCBtdXN0IG5vdCBiZSBpbiBhbnkgZ3JvdXAgY29uc29sZS1uZXN0ZWQtZ3JvdXAuaHRtbDox
NCBjb25zb2xlLW1lc3NhZ2UgY29uc29sZS1sb2ctbGV2ZWwKLU9uZSBvZiBzZXZlcmFsIGdyb3Vw
cyB3aGljaCBzaG91bGRuJ3QgYmUgY29hbGVzY2VkLiBjb25zb2xlLW5lc3RlZC1ncm91cC5odG1s
OjE5IGNvbnNvbGUtbWVzc2FnZSBjb25zb2xlLWxvZy1sZXZlbCBjb25zb2xlLWdyb3VwLXRpdGxl
Ci1PbmUgb2Ygc2V2ZXJhbCBncm91cHMgd2hpY2ggc2hvdWxkbid0IGJlIGNvYWxlc2NlZC4gY29u
c29sZS1uZXN0ZWQtZ3JvdXAuaHRtbDoxOSBjb25zb2xlLW1lc3NhZ2UgY29uc29sZS1sb2ctbGV2
ZWwgY29uc29sZS1ncm91cC10aXRsZQotT25lIG9mIHNldmVyYWwgZ3JvdXBzIHdoaWNoIHNob3Vs
ZG4ndCBiZSBjb2FsZXNjZWQuIGNvbnNvbGUtbmVzdGVkLWdyb3VwLmh0bWw6MTkgY29uc29sZS1t
ZXNzYWdlIGNvbnNvbGUtbG9nLWxldmVsIGNvbnNvbGUtZ3JvdXAtdGl0bGUKLU1lc3NhZ2UgaW5z
aWRlIHRoaXJkIGdyb3VwIGNvbnNvbGUtbmVzdGVkLWdyb3VwLmh0bWw6MjEgY29uc29sZS1tZXNz
YWdlIGNvbnNvbGUtbG9nLWxldmVsCi0gY29uc29sZS1tZXNzYWdlIGNvbnNvbGUtbG9nLWxldmVs
Ci0gY29uc29sZS1tZXNzYWdlIGNvbnNvbGUtbG9nLWxldmVsCi0gY29uc29sZS1tZXNzYWdlIGNv
bnNvbGUtbG9nLWxldmVsCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25z
b2xlL2NvbnNvbGUtbmVzdGVkLWdyb3VwLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29u
c29sZS9jb25zb2xlLW5lc3RlZC1ncm91cC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAxNjVmMmE5M2E3MGI3MDgxYmNmN2I2YzBkYTA4MmVhMzA5ZDNlYzkxLi4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rv
ci9jb25zb2xlL2NvbnNvbGUtbmVzdGVkLWdyb3VwLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw0
NSArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMv
aW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8u
Li9odHRwL3Rlc3RzL2luc3BlY3Rvci9jb25zb2xlLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlw
dD4KLQotZnVuY3Rpb24gb25sb2FkKCkKLXsKLSAgICBjb25zb2xlLmdyb3VwKCJvdXRlciBncm91
cCIpOwotICAgIGNvbnNvbGUuZ3JvdXAoImlubmVyIGdyb3VwIik7Ci0gICAgY29uc29sZS5sb2co
Ik1lc3NhZ2UgaW5zaWRlIGlubmVyIGdyb3VwIik7Ci0gICAgY29uc29sZS5ncm91cEVuZCgpOwot
ICAgIGNvbnNvbGUuZ3JvdXBFbmQoKTsKLSAgICBjb25zb2xlLmxvZygiTWVzc2FnZSB0aGF0IG11
c3Qgbm90IGJlIGluIGFueSBncm91cCIpOwotCi0KLSAgICB2YXIgZ3JvdXBDb3VudCA9IDM7Ci0g
ICAgZm9yICh2YXIgaSA9IDA7IGkgPCBncm91cENvdW50OyBpKyspIHsKLSAgICAgICAgY29uc29s
ZS5ncm91cCgiT25lIG9mIHNldmVyYWwgZ3JvdXBzIHdoaWNoIHNob3VsZG4ndCBiZSBjb2FsZXNj
ZWQuIik7Ci0gICAgfQotICAgIGNvbnNvbGUubG9nKCJNZXNzYWdlIGluc2lkZSB0aGlyZCBncm91
cCIpOwotICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZ3JvdXBDb3VudDsgaSsrKSB7Ci0gICAgICAg
IGNvbnNvbGUuZ3JvdXBFbmQoKTsKLSAgICB9Ci0KLSAgICBydW5UZXN0KCk7Ci19Ci0KLWZ1bmN0
aW9uIHRlc3QoKQotewotICAgIEluc3BlY3RvclRlc3QuZHVtcENvbnNvbGVNZXNzYWdlc1dpdGhD
bGFzc2VzKCk7Ci0gICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKLX0KLTwvc2NyaXB0
PgotPC9oZWFkPgotCi08Ym9keSBvbmxvYWQ9Im9ubG9hZCgpIj4KLTxwPgotVGVzdHMgdGhhdCBj
b25zb2xlLmdyb3VwL2dyb3VwRW5kIG1lc3NhZ2VzIHdvbid0IGJlIGNvYWxlc2NlZC4gPGEgaHJl
Zj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU2MTE0Ij5CdWcgNTYx
MTQuPC9hPgotPGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTYzNTIxIj5CdWcgNjM1MjEuPC9hPgotCi08L3A+Ci0KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtb2JqZWN0LWNvbnN0
cnVjdG9yLW5hbWUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUv
Y29uc29sZS1vYmplY3QtY29uc3RydWN0b3ItbmFtZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IGMzYTliODQwOGI1Yzc4MDBlYjYzZTJlNjczNmE4NzJmYWJlYzI0
MTAuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1vYmplY3QtY29uc3RydWN0b3ItbmFtZS1l
eHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw5ICswLDAgQEAKLUNPTlNPTEUgTUVTU0FH
RTogbGluZSAxMTogW29iamVjdCBPYmplY3RdCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTI6IFtv
YmplY3QgT2JqZWN0XQotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDEzOiBbb2JqZWN0IE9iamVjdF0K
LVRlc3RzIHRoYXQgdGhlIG5hbWUgb2YgdGhlIGZ1bmN0aW9uIGludm9rZWQgYXMgb2JqZWN0IGNv
bnN0cnVjdG9yIHdpbGwgYmUgZGlzcGxheWVkIGFzIGl0cyB0eXBlIGluIHRoZSBmcm9udC1lbmQu
IEJ1ZyA1MDA2My4KLQotUGFyZW50IGNvbnNvbGUtb2JqZWN0LWNvbnN0cnVjdG9yLW5hbWUuaHRt
bDoxMQotUGFyZW50IGNvbnNvbGUtb2JqZWN0LWNvbnN0cnVjdG9yLW5hbWUuaHRtbDoxMgotT2Jq
ZWN0IGNvbnNvbGUtb2JqZWN0LWNvbnN0cnVjdG9yLW5hbWUuaHRtbDoxMwotCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLW9iamVjdC1jb25zdHJ1Y3Rv
ci1uYW1lLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLW9iamVj
dC1jb25zdHJ1Y3Rvci1uYW1lLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGI5
MzRmZmVkMWVlODc3ZmZjMGY1NTY4MGEwYmZmM2VkNjJmYTZlODIuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNv
bGUvY29uc29sZS1vYmplY3QtY29uc3RydWN0b3ItbmFtZS5odG1sCisrKyAvZGV2L251bGwKQEAg
LTEsMzIgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rl
c3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
Li4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvY29uc29sZS10ZXN0LmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQ+Ci0KLWZ1bmN0aW9uIFBhcmVudCgpIHsgfQotZnVuY3Rpb24gQ2hpbGQoKSB7IH0KLUNo
aWxkLnByb3RvdHlwZSA9IG5ldyBQYXJlbnQoKTsKLXZhciBvdXRlciA9IHsgaW5uZXI6IGZ1bmN0
aW9uKCkgeyB9IH07Ci1jb25zb2xlLmxvZyhuZXcgUGFyZW50KCkpOwotY29uc29sZS5sb2cobmV3
IENoaWxkKCkpOwotY29uc29sZS5sb2cobmV3IG91dGVyLmlubmVyKCkpOwotCi1mdW5jdGlvbiB0
ZXN0KCkKLXsKLSAgICBJbnNwZWN0b3JUZXN0LmV4cGFuZENvbnNvbGVNZXNzYWdlcygpOwotICAg
IEluc3BlY3RvclRlc3QuZHVtcENvbnNvbGVNZXNzYWdlcygpOwotICAgIEluc3BlY3RvclRlc3Qu
Y29tcGxldGVUZXN0KCk7Ci19Ci0KLTwvc2NyaXB0PgotPC9oZWFkPgotCi08Ym9keSBvbmxvYWQ9
InJ1blRlc3QoKSI+Ci08cD4KLVRlc3RzIHRoYXQgdGhlIG5hbWUgb2YgdGhlIGZ1bmN0aW9uIGlu
dm9rZWQgYXMgb2JqZWN0IGNvbnN0cnVjdG9yIHdpbGwgYmUgZGlzcGxheWVkIGFzIGl0cyB0eXBl
IGluIHRoZSBmcm9udC1lbmQuCi08YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NTAwNjMiPkJ1ZyA1MDA2My48L2E+Ci08L3A+Ci0KLTwvYm9keT4KLTwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtb2Jq
ZWN0LXByZXZpZXctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUv
Y29uc29sZS1vYmplY3QtcHJldmlldy1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDdmNTg1NjQ0ZTMzMjk1MGFhZTBiMDc2ZjA0ODU1ZmI5ZjUzNWY4MTcuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yL2NvbnNvbGUvY29uc29sZS1vYmplY3QtcHJldmlldy1leHBlY3RlZC50eHQKKysrIC9k
ZXYvbnVsbApAQCAtMSwzOSArMCwwIEBACi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgOTogTXV0YXRp
bmcgb2JqZWN0IGluIGEgbG9vcAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDEzOiBbb2JqZWN0IE9i
amVjdF0KLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxMzogW29iamVjdCBPYmplY3RdCi1DT05TT0xF
IE1FU1NBR0U6IGxpbmUgMTM6IFtvYmplY3QgT2JqZWN0XQotQ09OU09MRSBNRVNTQUdFOiBsaW5l
IDE2OiBNdXRhdGluZyBhcnJheSBpbiBhIGxvb3AKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAyMDog
MCwwLDAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAyMDogMCwwLDEKLUNPTlNPTEUgTUVTU0FHRTog
bGluZSAyMDogMCwwLDIKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAyMzogT2JqZWN0IHdpdGggbWFu
eSBwcm9wZXJ0aWVzCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMjg6IFtvYmplY3QgT2JqZWN0XQot
Q09OU09MRSBNRVNTQUdFOiBsaW5lIDMwOiBBcnJheSB3aXRoIG1hbnkgcHJvcGVydGllcwotQ09O
U09MRSBNRVNTQUdFOiBsaW5lIDM1OiAwLDEKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAzNzogT2Jq
ZWN0IHdpdGggcHJvdG8KLUNPTlNPTEUgTUVTU0FHRTogbGluZSA0MDogW29iamVjdCBPYmplY3Rd
Ci1DT05TT0xFIE1FU1NBR0U6IGxpbmUgNDI6IFNwYXJzZSBhcnJheQotQ09OU09MRSBNRVNTQUdF
OiBsaW5lIDQ1OiAsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCws
LCwsLDUwLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCws
LCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsCi1DT05TT0xF
IE1FU1NBR0U6IGxpbmUgNDc6IERlbnNlIGFycmF5IHdpdGggaW5kZXhlcyBhbmQgcHJvcGV0aWVz
Ci1DT05TT0xFIE1FU1NBR0U6IGxpbmUgNTM6IDAsMSwyLDMsNCw1LDYsNyw4LDksMTAsMTEsMTIs
MTMsMTQsMTUsMTYsMTcsMTgsMTksMjAsMjEsMjIsMjMsMjQsMjUsMjYsMjcsMjgsMjksMzAsMzEs
MzIsMzMsMzQsMzUsMzYsMzcsMzgsMzksNDAsNDEsNDIsNDMsNDQsNDUsNDYsNDcsNDgsNDksNTAs
NTEsNTIsNTMsNTQsNTUsNTYsNTcsNTgsNTksNjAsNjEsNjIsNjMsNjQsNjUsNjYsNjcsNjgsNjks
NzAsNzEsNzIsNzMsNzQsNzUsNzYsNzcsNzgsNzksODAsODEsODIsODMsODQsODUsODYsODcsODgs
ODksOTAsOTEsOTIsOTMsOTQsOTUsOTYsOTcsOTgsOTksMTAwLDEwMSwxMDIsMTAzLDEwNCwxMDUs
MTA2LDEwNywxMDgsMTA5LDExMCwxMTEsMTEyLDExMywxMTQsMTE1LDExNiwxMTcsMTE4LDExOSwx
MjAsMTIxLDEyMiwxMjMsMTI0LDEyNSwxMjYsMTI3LDEyOCwxMjksMTMwLDEzMSwxMzIsMTMzLDEz
NCwxMzUsMTM2LDEzNywxMzgsMTM5LDE0MCwxNDEsMTQyLDE0MywxNDQsMTQ1LDE0NiwxNDcsMTQ4
LDE0OQotVGVzdHMgdGhhdCBjb25zb2xlIHByb2R1Y2VzIGluc3RhbnQgcHJldmlld3MgZm9yIGFy
cmF5cyBhbmQgb2JqZWN0cy4KLQotTXV0YXRpbmcgb2JqZWN0IGluIGEgbG9vcCBjb25zb2xlLW9i
amVjdC1wcmV2aWV3Lmh0bWw6OSBjb25zb2xlLW1lc3NhZ2UtdGV4dCBzb3VyY2UtY29kZSA+IGNv
bnNvbGUtbWVzc2FnZS11cmwgd2Via2l0LWh0bWwtcmVzb3VyY2UtbGluawotT2JqZWN0IHthOiAw
LCBiOiAwLCBjOiAwfSBjb25zb2xlLW9iamVjdC1wcmV2aWV3Lmh0bWw6MTMgY29uc29sZS1tZXNz
YWdlLXRleHQgc291cmNlLWNvZGUgPiBjb25zb2xlLWZvcm1hdHRlZC1vYmplY3Qgc291cmNlLWNv
ZGUgPiBjb25zb2xlLW9iamVjdC1wcmV2aWV3ID4gbmFtZSA+IGNvbnNvbGUtZm9ybWF0dGVkLW51
bWJlciA+IG5hbWUgPiBjb25zb2xlLWZvcm1hdHRlZC1udW1iZXIgPiBuYW1lID4gY29uc29sZS1m
b3JtYXR0ZWQtbnVtYmVyID4gY29uc29sZS1tZXNzYWdlLXVybCB3ZWJraXQtaHRtbC1yZXNvdXJj
ZS1saW5rCi1PYmplY3Qge2E6IDAsIGI6IDAsIGM6IDF9IGNvbnNvbGUtb2JqZWN0LXByZXZpZXcu
aHRtbDoxMyBjb25zb2xlLW1lc3NhZ2UtdGV4dCBzb3VyY2UtY29kZSA+IGNvbnNvbGUtZm9ybWF0
dGVkLW9iamVjdCBzb3VyY2UtY29kZSA+IGNvbnNvbGUtb2JqZWN0LXByZXZpZXcgPiBuYW1lID4g
Y29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gbmFtZSA+IGNvbnNvbGUtZm9ybWF0dGVkLW51bWJl
ciA+IG5hbWUgPiBjb25zb2xlLWZvcm1hdHRlZC1udW1iZXIgPiBjb25zb2xlLW1lc3NhZ2UtdXJs
IHdlYmtpdC1odG1sLXJlc291cmNlLWxpbmsKLU9iamVjdCB7YTogMCwgYjogMCwgYzogMn0gY29u
c29sZS1vYmplY3QtcHJldmlldy5odG1sOjEzIGNvbnNvbGUtbWVzc2FnZS10ZXh0IHNvdXJjZS1j
b2RlID4gY29uc29sZS1mb3JtYXR0ZWQtb2JqZWN0IHNvdXJjZS1jb2RlID4gY29uc29sZS1vYmpl
Y3QtcHJldmlldyA+IG5hbWUgPiBjb25zb2xlLWZvcm1hdHRlZC1udW1iZXIgPiBuYW1lID4gY29u
c29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gbmFtZSA+IGNvbnNvbGUtZm9ybWF0dGVkLW51bWJlciA+
IGNvbnNvbGUtbWVzc2FnZS11cmwgd2Via2l0LWh0bWwtcmVzb3VyY2UtbGluawotTXV0YXRpbmcg
YXJyYXkgaW4gYSBsb29wIGNvbnNvbGUtb2JqZWN0LXByZXZpZXcuaHRtbDoxNiBjb25zb2xlLW1l
c3NhZ2UtdGV4dCBzb3VyY2UtY29kZSA+IGNvbnNvbGUtbWVzc2FnZS11cmwgd2Via2l0LWh0bWwt
cmVzb3VyY2UtbGluawotWzAsIDAsIDBdIGNvbnNvbGUtb2JqZWN0LXByZXZpZXcuaHRtbDoyMCBj
b25zb2xlLW1lc3NhZ2UtdGV4dCBzb3VyY2UtY29kZSA+IGNvbnNvbGUtZm9ybWF0dGVkLWFycmF5
IHNvdXJjZS1jb2RlID4gY29uc29sZS1vYmplY3QtcHJldmlldyA+IGNvbnNvbGUtZm9ybWF0dGVk
LW51bWJlciA+IGNvbnNvbGUtZm9ybWF0dGVkLW51bWJlciA+IGNvbnNvbGUtZm9ybWF0dGVkLW51
bWJlciA+IGNvbnNvbGUtbWVzc2FnZS11cmwgd2Via2l0LWh0bWwtcmVzb3VyY2UtbGluawotWzAs
IDAsIDFdIGNvbnNvbGUtb2JqZWN0LXByZXZpZXcuaHRtbDoyMCBjb25zb2xlLW1lc3NhZ2UtdGV4
dCBzb3VyY2UtY29kZSA+IGNvbnNvbGUtZm9ybWF0dGVkLWFycmF5IHNvdXJjZS1jb2RlID4gY29u
c29sZS1vYmplY3QtcHJldmlldyA+IGNvbnNvbGUtZm9ybWF0dGVkLW51bWJlciA+IGNvbnNvbGUt
Zm9ybWF0dGVkLW51bWJlciA+IGNvbnNvbGUtZm9ybWF0dGVkLW51bWJlciA+IGNvbnNvbGUtbWVz
c2FnZS11cmwgd2Via2l0LWh0bWwtcmVzb3VyY2UtbGluawotWzAsIDAsIDJdIGNvbnNvbGUtb2Jq
ZWN0LXByZXZpZXcuaHRtbDoyMCBjb25zb2xlLW1lc3NhZ2UtdGV4dCBzb3VyY2UtY29kZSA+IGNv
bnNvbGUtZm9ybWF0dGVkLWFycmF5IHNvdXJjZS1jb2RlID4gY29uc29sZS1vYmplY3QtcHJldmll
dyA+IGNvbnNvbGUtZm9ybWF0dGVkLW51bWJlciA+IGNvbnNvbGUtZm9ybWF0dGVkLW51bWJlciA+
IGNvbnNvbGUtZm9ybWF0dGVkLW51bWJlciA+IGNvbnNvbGUtbWVzc2FnZS11cmwgd2Via2l0LWh0
bWwtcmVzb3VyY2UtbGluawotT2JqZWN0IHdpdGggbWFueSBwcm9wZXJ0aWVzIGNvbnNvbGUtb2Jq
ZWN0LXByZXZpZXcuaHRtbDoyMyBjb25zb2xlLW1lc3NhZ2UtdGV4dCBzb3VyY2UtY29kZSA+IGNv
bnNvbGUtbWVzc2FnZS11cmwgd2Via2l0LWh0bWwtcmVzb3VyY2UtbGluawotT2JqZWN0IHtwcm9w
ZXJ0eV8wOiAwLCBwcm9wZXJ0eV8xOiAxLCBwcm9wZXJ0eV8yOiAyLCBwcm9wZXJ0eV8zOiAzLCBw
cm9wZXJ0eV80OiA04oCmfSBjb25zb2xlLW9iamVjdC1wcmV2aWV3Lmh0bWw6MjggY29uc29sZS1t
ZXNzYWdlLXRleHQgc291cmNlLWNvZGUgPiBjb25zb2xlLWZvcm1hdHRlZC1vYmplY3Qgc291cmNl
LWNvZGUgPiBzZWN0aW9uID4gaGVhZGVyIG1vbm9zcGFjZSA+IHN1YnRpdGxlID4gdGl0bGUgPiBj
b25zb2xlLW9iamVjdC1wcmV2aWV3ID4gbmFtZSA+IGNvbnNvbGUtZm9ybWF0dGVkLW51bWJlciA+
IG5hbWUgPiBjb25zb2xlLWZvcm1hdHRlZC1udW1iZXIgPiBuYW1lID4gY29uc29sZS1mb3JtYXR0
ZWQtbnVtYmVyID4gbmFtZSA+IGNvbnNvbGUtZm9ybWF0dGVkLW51bWJlciA+IG5hbWUgPiBjb25z
b2xlLWZvcm1hdHRlZC1udW1iZXIgPiBvYmplY3QtaW5mby1zdGF0ZS1ub3RlID4gcHJvcGVydGll
cyBwcm9wZXJ0aWVzLXRyZWUgbW9ub3NwYWNlID4gY29uc29sZS1tZXNzYWdlLXVybCB3ZWJraXQt
aHRtbC1yZXNvdXJjZS1saW5rCi1BcnJheSB3aXRoIG1hbnkgcHJvcGVydGllcyBjb25zb2xlLW9i
amVjdC1wcmV2aWV3Lmh0bWw6MzAgY29uc29sZS1tZXNzYWdlLXRleHQgc291cmNlLWNvZGUgPiBj
b25zb2xlLW1lc3NhZ2UtdXJsIHdlYmtpdC1odG1sLXJlc291cmNlLWxpbmsKLVswLCAxLCBwcm9w
ZXJ0eV8wOiAwLCBwcm9wZXJ0eV8xOiAxLCBwcm9wZXJ0eV8yOiAyLCBwcm9wZXJ0eV8zOiAzLCBw
cm9wZXJ0eV80OiA04oCmXSBjb25zb2xlLW9iamVjdC1wcmV2aWV3Lmh0bWw6MzUgY29uc29sZS1t
ZXNzYWdlLXRleHQgc291cmNlLWNvZGUgPiBjb25zb2xlLWZvcm1hdHRlZC1hcnJheSBzb3VyY2Ut
Y29kZSA+IHNlY3Rpb24gPiBoZWFkZXIgbW9ub3NwYWNlID4gc3VidGl0bGUgPiB0aXRsZSA+IGNv
bnNvbGUtb2JqZWN0LXByZXZpZXcgPiBjb25zb2xlLWZvcm1hdHRlZC1udW1iZXIgPiBjb25zb2xl
LWZvcm1hdHRlZC1udW1iZXIgPiBuYW1lID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gbmFt
ZSA+IGNvbnNvbGUtZm9ybWF0dGVkLW51bWJlciA+IG5hbWUgPiBjb25zb2xlLWZvcm1hdHRlZC1u
dW1iZXIgPiBuYW1lID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gbmFtZSA+IGNvbnNvbGUt
Zm9ybWF0dGVkLW51bWJlciA+IG9iamVjdC1pbmZvLXN0YXRlLW5vdGUgPiBwcm9wZXJ0aWVzIHBy
b3BlcnRpZXMtdHJlZSBtb25vc3BhY2UgPiBjb25zb2xlLW1lc3NhZ2UtdXJsIHdlYmtpdC1odG1s
LXJlc291cmNlLWxpbmsKLU9iamVjdCB3aXRoIHByb3RvIGNvbnNvbGUtb2JqZWN0LXByZXZpZXcu
aHRtbDozNyBjb25zb2xlLW1lc3NhZ2UtdGV4dCBzb3VyY2UtY29kZSA+IGNvbnNvbGUtbWVzc2Fn
ZS11cmwgd2Via2l0LWh0bWwtcmVzb3VyY2UtbGluawotT2JqZWN0IHtkOiAxLCBhOiAwLCBiOiAw
LCBjOiAyfSBjb25zb2xlLW9iamVjdC1wcmV2aWV3Lmh0bWw6NDAgY29uc29sZS1tZXNzYWdlLXRl
eHQgc291cmNlLWNvZGUgPiBjb25zb2xlLWZvcm1hdHRlZC1vYmplY3Qgc291cmNlLWNvZGUgPiBj
b25zb2xlLW9iamVjdC1wcmV2aWV3ID4gbmFtZSA+IGNvbnNvbGUtZm9ybWF0dGVkLW51bWJlciA+
IG5hbWUgPiBjb25zb2xlLWZvcm1hdHRlZC1udW1iZXIgPiBuYW1lID4gY29uc29sZS1mb3JtYXR0
ZWQtbnVtYmVyID4gbmFtZSA+IGNvbnNvbGUtZm9ybWF0dGVkLW51bWJlciA+IGNvbnNvbGUtbWVz
c2FnZS11cmwgd2Via2l0LWh0bWwtcmVzb3VyY2UtbGluawotU3BhcnNlIGFycmF5IGNvbnNvbGUt
b2JqZWN0LXByZXZpZXcuaHRtbDo0MiBjb25zb2xlLW1lc3NhZ2UtdGV4dCBzb3VyY2UtY29kZSA+
IGNvbnNvbGUtbWVzc2FnZS11cmwgd2Via2l0LWh0bWwtcmVzb3VyY2UtbGluawotWzUwOiA1MF0g
Y29uc29sZS1vYmplY3QtcHJldmlldy5odG1sOjQ1IGNvbnNvbGUtbWVzc2FnZS10ZXh0IHNvdXJj
ZS1jb2RlID4gY29uc29sZS1mb3JtYXR0ZWQtYXJyYXkgc291cmNlLWNvZGUgPiBjb25zb2xlLW9i
amVjdC1wcmV2aWV3ID4gbmFtZSA+IGNvbnNvbGUtZm9ybWF0dGVkLW51bWJlciA+IGNvbnNvbGUt
bWVzc2FnZS11cmwgd2Via2l0LWh0bWwtcmVzb3VyY2UtbGluawotRGVuc2UgYXJyYXkgd2l0aCBp
bmRleGVzIGFuZCBwcm9wZXRpZXMgY29uc29sZS1vYmplY3QtcHJldmlldy5odG1sOjQ3IGNvbnNv
bGUtbWVzc2FnZS10ZXh0IHNvdXJjZS1jb2RlID4gY29uc29sZS1tZXNzYWdlLXVybCB3ZWJraXQt
aHRtbC1yZXNvdXJjZS1saW5rCi1bMCwgMSwgMiwgMywgNCwgNSwgNiwgNywgOCwgOSwgMTAsIDEx
LCAxMiwgMTMsIDE0LCAxNSwgMTYsIDE3LCAxOCwgMTksIDIwLCAyMSwgMjIsIDIzLCAyNCwgMjUs
IDI2LCAyNywgMjgsIDI5LCAzMCwgMzEsIDMyLCAzMywgMzQsIDM1LCAzNiwgMzcsIDM4LCAzOSwg
NDAsIDQxLCA0MiwgNDMsIDQ0LCA0NSwgNDYsIDQ3LCA0OCwgNDksIDUwLCA1MSwgNTIsIDUzLCA1
NCwgNTUsIDU2LCA1NywgNTgsIDU5LCA2MCwgNjEsIDYyLCA2MywgNjQsIDY1LCA2NiwgNjcsIDY4
LCA2OSwgNzAsIDcxLCA3MiwgNzMsIDc0LCA3NSwgNzYsIDc3LCA3OCwgNzksIDgwLCA4MSwgODIs
IDgzLCA4NCwgODUsIDg2LCA4NywgODgsIDg5LCA5MCwgOTEsIDkyLCA5MywgOTQsIDk1LCA5Niwg
OTcsIDk4LCA5OeKApl0gY29uc29sZS1vYmplY3QtcHJldmlldy5odG1sOjUzIGNvbnNvbGUtbWVz
c2FnZS10ZXh0IHNvdXJjZS1jb2RlID4gY29uc29sZS1mb3JtYXR0ZWQtYXJyYXkgc291cmNlLWNv
ZGUgPiBzZWN0aW9uID4gaGVhZGVyIG1vbm9zcGFjZSA+IHN1YnRpdGxlID4gdGl0bGUgPiBjb25z
b2xlLW9iamVjdC1wcmV2aWV3ID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29uc29sZS1m
b3JtYXR0ZWQtbnVtYmVyID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29uc29sZS1mb3Jt
YXR0ZWQtbnVtYmVyID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29uc29sZS1mb3JtYXR0
ZWQtbnVtYmVyID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29uc29sZS1mb3JtYXR0ZWQt
bnVtYmVyID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29uc29sZS1mb3JtYXR0ZWQtbnVt
YmVyID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVy
ID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4g
Y29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29u
c29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29uc29s
ZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29uc29sZS1m
b3JtYXR0ZWQtbnVtYmVyID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29uc29sZS1mb3Jt
YXR0ZWQtbnVtYmVyID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29uc29sZS1mb3JtYXR0
ZWQtbnVtYmVyID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29uc29sZS1mb3JtYXR0ZWQt
bnVtYmVyID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29uc29sZS1mb3JtYXR0ZWQtbnVt
YmVyID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVy
ID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4g
Y29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29u
c29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29uc29s
ZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29uc29sZS1m
b3JtYXR0ZWQtbnVtYmVyID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29uc29sZS1mb3Jt
YXR0ZWQtbnVtYmVyID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29uc29sZS1mb3JtYXR0
ZWQtbnVtYmVyID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29uc29sZS1mb3JtYXR0ZWQt
bnVtYmVyID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29uc29sZS1mb3JtYXR0ZWQtbnVt
YmVyID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVy
ID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4g
Y29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29u
c29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29uc29s
ZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29uc29sZS1m
b3JtYXR0ZWQtbnVtYmVyID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29uc29sZS1mb3Jt
YXR0ZWQtbnVtYmVyID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29uc29sZS1mb3JtYXR0
ZWQtbnVtYmVyID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29uc29sZS1mb3JtYXR0ZWQt
bnVtYmVyID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29uc29sZS1mb3JtYXR0ZWQtbnVt
YmVyID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVy
ID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4g
Y29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29u
c29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29uc29s
ZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29uc29sZS1m
b3JtYXR0ZWQtbnVtYmVyID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29uc29sZS1mb3Jt
YXR0ZWQtbnVtYmVyID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29uc29sZS1mb3JtYXR0
ZWQtbnVtYmVyID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29uc29sZS1mb3JtYXR0ZWQt
bnVtYmVyID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29uc29sZS1mb3JtYXR0ZWQtbnVt
YmVyID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVy
ID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4g
Y29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29u
c29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29uc29s
ZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29uc29sZS1m
b3JtYXR0ZWQtbnVtYmVyID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29uc29sZS1mb3Jt
YXR0ZWQtbnVtYmVyID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gb2JqZWN0LWluZm8tc3Rh
dGUtbm90ZSA+IHByb3BlcnRpZXMgcHJvcGVydGllcy10cmVlIG1vbm9zcGFjZSA+IGNvbnNvbGUt
bWVzc2FnZS11cmwgd2Via2l0LWh0bWwtcmVzb3VyY2UtbGluawotCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLW9iamVjdC1wcmV2aWV3Lmh0bWwgYi9M
YXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLW9iamVjdC1wcmV2aWV3Lmh0bWwK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGY3YTJmYzViNDQ1MmYyYTMzZDQwYjhiMDU0
MWQ4ZDQ1ZDk5ZTY4YzcuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1vYmplY3QtcHJldmll
dy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNzUgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxz
Y3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvY29uc29s
ZS10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci0KLWZ1bmN0aW9uIGxvZ1RvQ29uc29sZSgp
Ci17Ci0gICAgY29uc29sZS5sb2coIk11dGF0aW5nIG9iamVjdCBpbiBhIGxvb3AiKTsKLSAgICB2
YXIgb2JqZWN0ID0geyBhOiAwLCBiOiAwIH07Ci0gICAgZm9yICh2YXIgaSA9IDA7IGkgPCAzOyAr
K2kpIHsKLSAgICAgICAgb2JqZWN0LmMgPSBpOwotICAgICAgICBjb25zb2xlLmxvZyhvYmplY3Qp
OwotICAgIH0KLQotICAgIGNvbnNvbGUubG9nKCJNdXRhdGluZyBhcnJheSBpbiBhIGxvb3AiKTsK
LSAgICB2YXIgYXJyYXkgPSBbMCwgMCwgMF07Ci0gICAgZm9yICh2YXIgaSA9IDA7IGkgPCAzOyAr
K2kpIHsKLSAgICAgICAgYXJyYXlbMl0gPSBpOwotICAgICAgICBjb25zb2xlLmxvZyhhcnJheSk7
Ci0gICAgfQotCi0gICAgY29uc29sZS5sb2coIk9iamVjdCB3aXRoIG1hbnkgcHJvcGVydGllcyIp
OwotICAgIHZhciBvYmplY3RXaXRoTWFueVByb3BlcnRpZXMgPSB7fTsKLSAgICBmb3IgKHZhciBp
ID0gMDsgaSA8IDEwOyArK2kpIHsKLSAgICAgICAgb2JqZWN0V2l0aE1hbnlQcm9wZXJ0aWVzWyJw
cm9wZXJ0eV8iICsgaV0gPSBpOwotICAgIH0KLSAgICBjb25zb2xlLmxvZyhvYmplY3RXaXRoTWFu
eVByb3BlcnRpZXMpOwotCi0gICAgY29uc29sZS5sb2coIkFycmF5IHdpdGggbWFueSBwcm9wZXJ0
aWVzIik7Ci0gICAgdmFyIGFycmF5V2l0aE1hbnlQcm9wZXJ0aWVzID0gWzAsIDFdOwotICAgIGZv
ciAodmFyIGkgPSAwOyBpIDwgMTA7ICsraSkgewotICAgICAgICBhcnJheVdpdGhNYW55UHJvcGVy
dGllc1sicHJvcGVydHlfIiArIGldID0gaTsKLSAgICB9Ci0gICAgY29uc29sZS5sb2coYXJyYXlX
aXRoTWFueVByb3BlcnRpZXMpOwotCi0gICAgY29uc29sZS5sb2coIk9iamVjdCB3aXRoIHByb3Rv
Iik7Ci0gICAgdmFyIG9iamVjdFdpdGhQcm90byA9IHsgZDogMSB9OwotICAgIG9iamVjdFdpdGhQ
cm90by5fX3Byb3RvX18gPSBvYmplY3Q7Ci0gICAgY29uc29sZS5sb2cob2JqZWN0V2l0aFByb3Rv
KTsKLQotICAgIGNvbnNvbGUubG9nKCJTcGFyc2UgYXJyYXkiKTsKLSAgICB2YXIgc3BhcnNlQXJy
YXkgPSBuZXcgQXJyYXkoMTUwKTsKLSAgICBzcGFyc2VBcnJheVs1MF0gPSA1MDsKLSAgICBjb25z
b2xlLmxvZyhzcGFyc2VBcnJheSk7Ci0KLSAgICBjb25zb2xlLmxvZygiRGVuc2UgYXJyYXkgd2l0
aCBpbmRleGVzIGFuZCBwcm9wZXRpZXMiKTsKLSAgICB2YXIgZGVuc2VBcnJheSA9IG5ldyBBcnJh
eSgxNTApOwotICAgIGZvciAodmFyIGkgPSAwOyBpIDwgMTUwOyArK2kpIHsKLSAgICAgICAgZGVu
c2VBcnJheVtpXSA9IGk7Ci0gICAgICAgIGRlbnNlQXJyYXlbInByb3BlcnR5XyIgKyBpXSA9IGk7
Ci0gICAgfQotICAgIGNvbnNvbGUubG9nKGRlbnNlQXJyYXkpOwotfQotCi1mdW5jdGlvbiB0ZXN0
KCkKLXsKLSAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJsb2dUb0NvbnNvbGUoKSIs
IGNhbGxiYWNrKTsKLQotICAgIGZ1bmN0aW9uIGNhbGxiYWNrKCkKLSAgICB7Ci0gICAgICAgIElu
c3BlY3RvclRlc3QuZHVtcENvbnNvbGVNZXNzYWdlcyhmYWxzZSwgdHJ1ZSk7Ci0gICAgICAgIElu
c3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7Ci0gICAgfQotfQotPC9zY3JpcHQ+Ci08L2hlYWQ+
Ci0KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxwPgotVGVzdHMgdGhhdCBjb25zb2xlIHBy
b2R1Y2VzIGluc3RhbnQgcHJldmlld3MgZm9yIGFycmF5cyBhbmQgb2JqZWN0cy4KLTwvcD4KLQot
PC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNv
bGUvY29uc29sZS1vcmlnaW5hdGluZy1jb21tYW5kLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtb3JpZ2luYXRpbmctY29tbWFuZC1leHBlY3RlZC50
eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGU4MzhhODYwNzU5NGM5YzU0YjQ1MmU1
OWQwMjYzZmQ1ODI2NTg2NGMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1vcmlnaW5hdGlu
Zy1jb21tYW5kLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDYgKzAsMCBAQAotVGVz
dHMgdGhhdCBjb25zb2xlIHJlc3VsdCBoYXMgb3JpZ2luYXRpbmcgY29tbWFuZCBhc3NvY2lhdGVk
IHdpdGggaXQuCi0KLTEgKyAxCi0yCi1PcmlnaW5hdGluZyBmcm9tOiAxICsgMQotCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLW9yaWdpbmF0aW5nLWNv
bW1hbmQuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtb3JpZ2lu
YXRpbmctY29tbWFuZC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlNGY4Nzdm
YTg3NzhiNmE5ZmY5NGYxMTg3ZjhjNTBhZjgzZmRkYzYyLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2Nv
bnNvbGUtb3JpZ2luYXRpbmctY29tbWFuZC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMjYgKzAs
MCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3Bl
Y3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0
cC90ZXN0cy9pbnNwZWN0b3IvY29uc29sZS10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci0K
LWZ1bmN0aW9uIHRlc3QoKQotewotICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJbkNvbnNvbGUo
IjEgKyAxIiwgc3RlcDEpOwotICAgIGZ1bmN0aW9uIHN0ZXAxKCkKLSAgICB7Ci0gICAgICAgIElu
c3BlY3RvclRlc3QuZHVtcENvbnNvbGVNZXNzYWdlcyh0cnVlKTsKLSAgICAgICAgSW5zcGVjdG9y
VGVzdC5jb21wbGV0ZVRlc3QoKTsKLSAgICB9Ci19Ci0KLTwvc2NyaXB0PgotPC9oZWFkPgotCi08
Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci08cD4KLSAgICBUZXN0cyB0aGF0IGNvbnNvbGUgcmVz
dWx0IGhhcyBvcmlnaW5hdGluZyBjb21tYW5kIGFzc29jaWF0ZWQgd2l0aCBpdC4KLTwvcD4KLQot
PC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNv
bGUvY29uc29sZS1wcmVzZXJ2ZS1sb2ctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yL2NvbnNvbGUvY29uc29sZS1wcmVzZXJ2ZS1sb2ctZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCA1NjFkNjg1MjU1MDExYzE3OGFhOWJjMDFiZjAzMjQ3OTgwYWE2
ZDk5Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtcHJlc2VydmUtbG9nLWV4cGVjdGVkLnR4
dAorKysgL2Rldi9udWxsCkBAIC0xLDUgKzAsMCBAQAotVGVzdHMgdGhhdCB0aGUgY29uc29sZSBj
YW4gcHJlc2VydmUgbG9nIG1lc3NhZ2VzIGFjcm9zcyBuYXZpZ2F0aW9ucy4gQnVnIDUzMzU5Ci0K
LVBhZ2UgcmVsb2FkZWQuCi1QQVNTCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rv
ci9jb25zb2xlL2NvbnNvbGUtcHJlc2VydmUtbG9nLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0
b3IvY29uc29sZS9jb25zb2xlLXByZXNlcnZlLWxvZy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCA0ZWY5YTMzYzgwODJlODZjODg2ZjE3MTgzNTQyOTlhNmRlMjcyODJjLi4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2lu
c3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtcHJlc2VydmUtbG9nLmh0bWwKKysrIC9kZXYvbnVsbApA
QCAtMSwyNCArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAv
dGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9jb25zb2xlLXRlc3QuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdD4KLWZ1bmN0aW9uIHRlc3QoKQotewotICAgIFdlYkluc3BlY3Rvci5jb25zb2xlLmFk
ZE1lc3NhZ2UoV2ViSW5zcGVjdG9yLkNvbnNvbGVNZXNzYWdlLmNyZWF0ZShXZWJJbnNwZWN0b3Iu
Q29uc29sZU1lc3NhZ2UuTWVzc2FnZVNvdXJjZS5PdGhlciwgV2ViSW5zcGVjdG9yLkNvbnNvbGVN
ZXNzYWdlLk1lc3NhZ2VMZXZlbC5Mb2csICJQQVNTIikpOwotICAgIFdlYkluc3BlY3Rvci5zZXR0
aW5ncy5wcmVzZXJ2ZUNvbnNvbGVMb2cuc2V0KHRydWUpOwotICAgIEluc3BlY3RvclRlc3QucmVs
b2FkUGFnZShmdW5jdGlvbigpIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wQ29uc29sZU1l
c3NhZ2VzKCk7Ci0gICAgICAgIFdlYkluc3BlY3Rvci5zZXR0aW5ncy5wcmVzZXJ2ZUNvbnNvbGVM
b2cuc2V0KGZhbHNlKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKLSAg
ICB9KTsKLX0KLTwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgot
PHA+Ci1UZXN0cyB0aGF0IHRoZSBjb25zb2xlIGNhbiBwcmVzZXJ2ZSBsb2cgbWVzc2FnZXMgYWNy
b3NzIG5hdmlnYXRpb25zLgotPGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTUzMzU5Ij5CdWcgNTMzNTk8L2E+Ci08L3A+Ci08L2JvZHk+Ci08L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLXJlcGVhdC1j
b3VudC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xl
LXJlcGVhdC1jb3VudC1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDBjY2EwNmI5ODQxM2MwNmQ3MTcwZmFkNzBiMjA0ZDA3YWE3OGU2ODQuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2Nv
bnNvbGUvY29uc29sZS1yZXBlYXQtY291bnQtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAg
LTEsMTcgKzAsMCBAQAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDEwOiBTYW1lIG1lc3NhZ2UKLUNP
TlNPTEUgTUVTU0FHRTogbGluZSAxMDogU2FtZSBtZXNzYWdlCi1DT05TT0xFIE1FU1NBR0U6IGxp
bmUgMTA6IFNhbWUgbWVzc2FnZQotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDEwOiBTYW1lIG1lc3Nh
Z2UKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxMDogU2FtZSBtZXNzYWdlCi1DT05TT0xFIE1FU1NB
R0U6IGxpbmUgMTA6IFNhbWUgbWVzc2FnZQotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDEwOiBTYW1l
IG1lc3NhZ2UKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxMDogU2FtZSBtZXNzYWdlCi1DT05TT0xF
IE1FU1NBR0U6IGxpbmUgMTA6IFNhbWUgbWVzc2FnZQotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDEw
OiBTYW1lIG1lc3NhZ2UKLVRlc3RzIHRoYXQgcmVwZWF0IGNvdW50IGlzIHByb3Blcmx5IHVwZGF0
ZWQuCi0KLTVTYW1lIG1lc3NhZ2UgY29uc29sZS1yZXBlYXQtY291bnQuaHRtbDoxMAotIkRpZmZl
cmVudCBtZXNzYWdlIgotIkRpZmZlcmVudCBtZXNzYWdlIgotNVNhbWUgbWVzc2FnZSBjb25zb2xl
LXJlcGVhdC1jb3VudC5odG1sOjEwCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rv
ci9jb25zb2xlL2NvbnNvbGUtcmVwZWF0LWNvdW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0
b3IvY29uc29sZS9jb25zb2xlLXJlcGVhdC1jb3VudC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCA1NzAyZTE4ZTk3ZDNjNjY3Yjg2MmQ0NzdlZTg4YjY3NWE4NjA1MTlmLi4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2lu
c3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtcmVwZWF0LWNvdW50Lmh0bWwKKysrIC9kZXYvbnVsbApA
QCAtMSw0MCArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAv
dGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9jb25zb2xlLXRlc3QuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdD4KLQotZnVuY3Rpb24gZHVtcE1lc3NhZ2VzKCkKLXsKLSAgICBmb3IgKHZhciBpID0g
MDsgaSA8IDU7ICsraSkKLSAgICAgICAgY29uc29sZS5sb2coIlNhbWUgbWVzc2FnZSIpOwotfQot
Ci1mdW5jdGlvbiB0ZXN0KCkKLXsKLSAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJk
dW1wTWVzc2FnZXMoKSIsIHN0ZXAxKTsKLQotICAgIGZ1bmN0aW9uIHN0ZXAxKCkKLSAgICB7Ci0g
ICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJbkNvbnNvbGUoIlwiRGlmZmVyZW50IG1lc3Nh
Z2VcIiIsIHN0ZXAyKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwMigpCi0gICAgewotICAg
ICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJkdW1wTWVzc2FnZXMoKSIsIHN0ZXAz
KTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwMygpCi0gICAgewotICAgICAgICBJbnNwZWN0
b3JUZXN0LmR1bXBDb25zb2xlTWVzc2FnZXMoKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21w
bGV0ZVRlc3QoKTsKLSAgICB9Ci19Ci08L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0i
cnVuVGVzdCgpIj4KLTxwPgotVGVzdHMgdGhhdCByZXBlYXQgY291bnQgaXMgcHJvcGVybHkgdXBk
YXRlZC4KLTwvcD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lu
c3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtc3RyaW5nLWZvcm1hdC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLXN0cmluZy1mb3JtYXQtZXhwZWN0ZWQu
dHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxMWQ1MGU2NjM5ZTE1NjhkNmZkYjE0
ZWZkMWIzNDAxNjE5MjJkYjliLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtc3RyaW5nLWZv
cm1hdC1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxMSArMCwwIEBACi1UZXN0cyB0
aGF0IGZvcm1hdHRpbmcgcHJvY2Vzc2VzICclJyBwcm9wZXJseSBpbiBjYXNlIG9mIG1pc3Npbmcg
Zm9ybWF0dGVycy4KLQotU3RyaW5nLnNwcmludGYoJVQsIDEpID0gIiVUIgotU3RyaW5nLnNwcmlu
dGYoMTAlIHggMjAlLCBvZiB0aGUgb3JpZ2luYWwpID0gIjEwJSB4IDIwJSIKLVN0cmluZy5zcHJp
bnRmKCUlLCApID0gIiUlIgotU3RyaW5nLnNwcmludGYoJSwgKSA9ICIlIgotU3RyaW5nLnNwcmlu
dGYoJSAlZCwgMSkgPSAiJSAxIgotU3RyaW5nLnNwcmludGYoJWQgJSAlcywgMSwgZm9vKSA9ICIx
ICUgZm9vIgotU3RyaW5nLnNwcmludGYoJS4yZiwgMC4xMjM0NSkgPSAiMC4xMiIKLVN0cmluZy5z
cHJpbnRmKGZvbyU1NTUgYmFyLCApID0gImZvbyU1NTUgYmFyIgotCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLXN0cmluZy1mb3JtYXQuaHRtbCBiL0xh
eW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtc3RyaW5nLWZvcm1hdC5odG1sCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkODlkN2JiNmQzMjA2Mjk2MzYxZjljYzE0YjJm
ODMwNjIwNDNjYWQ0Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtc3RyaW5nLWZvcm1hdC5o
dG1sCisrKyAvZGV2L251bGwKQEAgLTEsMzEgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3Jp
cHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvY29uc29sZS10
ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci1mdW5jdGlvbiB0ZXN0KCkKLXsKLSAgICB2YXIg
cGFyYW1zID0gWwotICAgICAgICBbIiVUIiwgMV0sCi0gICAgICAgIFsiMTAlIHggMjAlIiwgIm9m
IHRoZSBvcmlnaW5hbCJdLAotICAgICAgICBbIiUlIiwgIiJdLAotICAgICAgICBbIiUiLCAiIl0s
Ci0gICAgICAgIFsiJSAlZCIsIDFdLAotICAgICAgICBbIiVkICUgJXMiLCAxLCAiZm9vIl0sCi0g
ICAgICAgIFsiJS4yZiIsIDAuMTIzNDVdLAotICAgICAgICBbImZvbyU1NTUgYmFyIiwgIiJdLAot
ICAgIF07Ci0gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBwYXJhbXMubGVuZ3RoOyArK2kpCi0gICAg
ICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJTdHJpbmcuc3ByaW50ZigiICsgcGFyYW1zW2ld
LmpvaW4oIiwgIikgKyAiKSA9IFwiIiArIFN0cmluZy5zcHJpbnRmLmFwcGx5KFN0cmluZywgcGFy
YW1zW2ldKSArICJcIiIpOwotICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7Ci19Ci08
L3NjcmlwdD4KLTwvaGVhZD4KLQotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotPHA+Ci1UZXN0
cyB0aGF0IGZvcm1hdHRpbmcgcHJvY2Vzc2VzICclJyBwcm9wZXJseSBpbiBjYXNlIG9mIG1pc3Np
bmcgZm9ybWF0dGVycy4KLTwvcD4KLQotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1zdWJzdGl0dXRlZC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLXN1YnN0aXR1dGVkLWV4
cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggY2E1NDA5MmRmOWIzMDE5
NGI4NTVhM2UyNDE5NjMyMDFmMmIzMTllMC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLXN1
YnN0aXR1dGVkLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDUgKzAsMCBAQAotVGVz
dHMgdGhhdCBldmFsdWF0ZSBpbiBjb25zb2xlIHdvcmtzIGV2ZW4gaWYgd2luZG93LmNvbnNvbGUg
aXMgc3Vic3RpdHV0ZWQgb3IgZGVsZXRlZC4gQnVnIDUzMDcyCi0KLTEKLTIKLQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1zdWJzdGl0dXRlZC5odG1s
IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1zdWJzdGl0dXRlZC5odG1s
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxZjA5MmM5ZTcyYTFjZTc3MTJlMWNmNmVm
YTQ4NDE0YWZlYTMwZGYzLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtc3Vic3RpdHV0ZWQu
aHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDU2ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2Ny
aXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwv
c2NyaXB0PgotPHNjcmlwdD4KLQotZnVuY3Rpb24gZGVsZXRlQ29uc29sZSgpCi17Ci0gICAgd2lu
ZG93LmNvbnNvbGUgPSB1bmRlZmluZWQ7Ci19Ci0KLWZ1bmN0aW9uIHN1YnN0aXR1dGVDb25zb2xl
KCkKLXsKLSAgICB3aW5kb3cuY29uc29sZSA9IHsKLSAgICAgICAgZ2V0IF9jb21tYW5kTGluZUFQ
SSgpIHsgcmV0dXJuIHVuZGVmaW5lZDsgfSwKLSAgICAgICAgc2V0IF9jb21tYW5kTGluZUFQSSgp
IHt9Ci0gICAgfTsKLX0KLQotdmFyIHRlc3QgPSBmdW5jdGlvbigpCi17Ci0gICAgSW5zcGVjdG9y
VGVzdC5ldmFsdWF0ZUluQ29uc29sZSgiZGVsZXRlQ29uc29sZSgpIiwgc3RlcDEpOwotCi0gICAg
ZnVuY3Rpb24gc3RlcDEoKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUlu
Q29uc29sZSgiMSIsIHN0ZXAyKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwMihyZXN1bHQp
Ci0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdChyZXN1bHQpOwotICAgICAg
ICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5Db25zb2xlKCJzdWJzdGl0dXRlQ29uc29sZSgpIiwg
c3RlcDMpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0ZXAzKHJlc3VsdCkKLSAgICB7Ci0gICAg
ICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJbkNvbnNvbGUoIjIiLCBzdGVwNCk7Ci0gICAgfQot
Ci0gICAgZnVuY3Rpb24gc3RlcDQocmVzdWx0KQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVz
dC5hZGRSZXN1bHQocmVzdWx0KTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3Qo
KTsKLSAgICB9Ci19Ci0KLTwvc2NyaXB0PgotPC9oZWFkPgotCi08Ym9keSBvbmxvYWQ9InJ1blRl
c3QoKSI+Ci08cD4KLVRlc3RzIHRoYXQgZXZhbHVhdGUgaW4gY29uc29sZSB3b3JrcyBldmVuIGlm
IHdpbmRvdy5jb25zb2xlIGlzIHN1YnN0aXR1dGVkIG9yIGRlbGV0ZWQuCi08YSBocmVmPSJodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTMwNzIiPkJ1ZyA1MzA3MjwvYT4K
LTwvcD4KLQotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yL2NvbnNvbGUvY29uc29sZS10ZXN0cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3IvY29uc29sZS9jb25zb2xlLXRlc3RzLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggODc1MTFiNmE5ODI0MzZkMjA5NGFkOGYzZTkzOGRkYzIzMzIwNzQ1NC4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLXRlc3RzLWV4cGVjdGVkLnR4dAorKysgL2Rldi9u
dWxsCkBAIC0xLDQ3ICswLDAgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSA5OiBsb2cKLUNPTlNP
TEUgTUVTU0FHRTogbGluZSAxMDogZGVidWcKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxMTogaW5m
bwotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDEyOiB3YXJuCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUg
MTM6IGVycm9yCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTU6IHJlcGVhdGVkCi1DT05TT0xFIE1F
U1NBR0U6IGxpbmUgMTU6IHJlcGVhdGVkCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTU6IHJlcGVh
dGVkCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTU6IHJlcGVhdGVkCi1DT05TT0xFIE1FU1NBR0U6
IGxpbmUgMTU6IHJlcGVhdGVkCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMjA6IDEKLUNPTlNPTEUg
TUVTU0FHRTogbGluZSAyMjogW29iamVjdCBPYmplY3RdCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUg
MjM6IDQyCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMjQ6IHRydWUKLUNPTlNPTEUgTUVTU0FHRTog
bGluZSAyNTogbnVsbAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDI2OiB1bmRlZmluZWQKLUNPTlNP
TEUgTUVTU0FHRTogbGluZSAyNzogW29iamVjdCBIVE1MRG9jdW1lbnRdCi1DT05TT0xFIE1FU1NB
R0U6IGxpbmUgMjg6IGZ1bmN0aW9uICgpIHsgfQotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDI5OiBm
dW5jdGlvbiBmKCkgeyB9Ci1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMzA6IDEsMiwzCi1DT05TT0xF
IE1FU1NBR0U6IGxpbmUgMzE6IC9yZWdleHAuKi8KLVRlc3RzIHRoYXQgY29uc29sZSBsb2dnaW5n
IGR1bXBzIHByb3BlciBtZXNzYWdlcy4KLQotbG9nIGNvbnNvbGUtdGVzdHMuaHRtbDo5IGNvbnNv
bGUtbWVzc2FnZSBjb25zb2xlLWxvZy1sZXZlbAotZGVidWcgY29uc29sZS10ZXN0cy5odG1sOjEw
IGNvbnNvbGUtbWVzc2FnZSBjb25zb2xlLWRlYnVnLWxldmVsCi1pbmZvIGNvbnNvbGUtdGVzdHMu
aHRtbDoxMSBjb25zb2xlLW1lc3NhZ2UgY29uc29sZS1sb2ctbGV2ZWwKLXdhcm4gY29uc29sZS10
ZXN0cy5odG1sOjEyIGNvbnNvbGUtbWVzc2FnZSBjb25zb2xlLXdhcm5pbmctbGV2ZWwKLWVycm9y
IGNvbnNvbGUtdGVzdHMuaHRtbDoxMyBjb25zb2xlLW1lc3NhZ2UgY29uc29sZS1lcnJvci1sZXZl
bAotNXJlcGVhdGVkIGNvbnNvbGUtdGVzdHMuaHRtbDoxNSBjb25zb2xlLW1lc3NhZ2UgY29uc29s
ZS1sb2ctbGV2ZWwgcmVwZWF0ZWQtbWVzc2FnZQotY291bnQ6IDEgY29uc29sZS10ZXN0cy5odG1s
OjE3IGNvbnNvbGUtbWVzc2FnZSBjb25zb2xlLWRlYnVnLWxldmVsCi1jb3VudDogMiBjb25zb2xl
LXRlc3RzLmh0bWw6MTcgY29uc29sZS1tZXNzYWdlIGNvbnNvbGUtZGVidWctbGV2ZWwKLWdyb3Vw
IGNvbnNvbGUtdGVzdHMuaHRtbDoxOCBjb25zb2xlLW1lc3NhZ2UgY29uc29sZS1sb2ctbGV2ZWwg
Y29uc29sZS1ncm91cC10aXRsZQotIGNvbnNvbGUtbWVzc2FnZSBjb25zb2xlLWxvZy1sZXZlbAot
MSAyIDMgY29uc29sZS10ZXN0cy5odG1sOjIwIGNvbnNvbGUtbWVzc2FnZSBjb25zb2xlLWxvZy1s
ZXZlbAotZ3JvdXBDb2xsYXBzZWQgY29uc29sZS10ZXN0cy5odG1sOjIxIGNvbnNvbGUtbWVzc2Fn
ZSBjb25zb2xlLWxvZy1sZXZlbCBjb25zb2xlLWdyb3VwLXRpdGxlCi1PYmplY3QgY29uc29sZS10
ZXN0cy5odG1sOjIyIGNvbnNvbGUtbWVzc2FnZSBjb25zb2xlLWxvZy1sZXZlbAotNDIgY29uc29s
ZS10ZXN0cy5odG1sOjIzIGNvbnNvbGUtbWVzc2FnZSBjb25zb2xlLWxvZy1sZXZlbAotdHJ1ZSBj
b25zb2xlLXRlc3RzLmh0bWw6MjQgY29uc29sZS1tZXNzYWdlIGNvbnNvbGUtbG9nLWxldmVsCi1u
dWxsIGNvbnNvbGUtdGVzdHMuaHRtbDoyNSBjb25zb2xlLW1lc3NhZ2UgY29uc29sZS1sb2ctbGV2
ZWwKLXVuZGVmaW5lZCBjb25zb2xlLXRlc3RzLmh0bWw6MjYgY29uc29sZS1tZXNzYWdlIGNvbnNv
bGUtbG9nLWxldmVsCi0jZG9jdW1lbnQgY29uc29sZS10ZXN0cy5odG1sOjI3IGNvbnNvbGUtbWVz
c2FnZSBjb25zb2xlLWxvZy1sZXZlbAotZnVuY3Rpb24gKCkgeyB9IGNvbnNvbGUtdGVzdHMuaHRt
bDoyOCBjb25zb2xlLW1lc3NhZ2UgY29uc29sZS1sb2ctbGV2ZWwKLWZ1bmN0aW9uIGYoKSB7IH0g
Y29uc29sZS10ZXN0cy5odG1sOjI5IGNvbnNvbGUtbWVzc2FnZSBjb25zb2xlLWxvZy1sZXZlbAot
QXJyYXlbM10gY29uc29sZS10ZXN0cy5odG1sOjMwIGNvbnNvbGUtbWVzc2FnZSBjb25zb2xlLWxv
Zy1sZXZlbAotL3JlZ2V4cC4qLyBjb25zb2xlLXRlc3RzLmh0bWw6MzEgY29uc29sZS1tZXNzYWdl
IGNvbnNvbGUtbG9nLWxldmVsCi0gY29uc29sZS1tZXNzYWdlIGNvbnNvbGUtbG9nLWxldmVsCi0K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtdGVzdHMu
aHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtdGVzdHMuaHRtbApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjM5MTAyYjAwM2E2MGFhNDQzYWE3NTk4ZWYz
OGE5Nzg2Njg0NzFkMi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLXRlc3RzLmh0bWwKKysr
IC9kZXYvbnVsbApAQCAtMSw1MSArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9
Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9jb25zb2xlLXRlc3QuanMi
Pjwvc2NyaXB0PgotPHNjcmlwdD4KLQotZnVuY3Rpb24gb25sb2FkKCkKLXsKLSAgICBjb25zb2xl
LmxvZygnbG9nJyk7Ci0gICAgY29uc29sZS5kZWJ1ZygnZGVidWcnKTsKLSAgICBjb25zb2xlLmlu
Zm8oJ2luZm8nKTsKLSAgICBjb25zb2xlLndhcm4oJ3dhcm4nKTsKLSAgICBjb25zb2xlLmVycm9y
KCdlcnJvcicpOwotICAgIGZvciAodmFyIGkgPSAwOyBpIDwgNTsgKytpKQotICAgICAgICBjb25z
b2xlLmxvZygncmVwZWF0ZWQnKTsKLSAgICBmb3IgKHZhciBpID0gMDsgaSA8IDI7ICsraSkKLSAg
ICAgICAgY29uc29sZS5jb3VudCgnY291bnQnKTsKLSAgICBjb25zb2xlLmdyb3VwKCdncm91cCcp
OwotICAgIGNvbnNvbGUuZ3JvdXBFbmQoKTsKLSAgICBjb25zb2xlLmxvZygnMScsICcyJywgJzMn
KTsKLSAgICBjb25zb2xlLmdyb3VwQ29sbGFwc2VkKCdncm91cENvbGxhcHNlZCcpOwotICAgIGNv
bnNvbGUubG9nKHsgcHJvcGVydHk6ICJ2YWx1ZSIgfSk7Ci0gICAgY29uc29sZS5sb2coNDIpOwot
ICAgIGNvbnNvbGUubG9nKHRydWUpOwotICAgIGNvbnNvbGUubG9nKG51bGwpOwotICAgIGNvbnNv
bGUubG9nKHVuZGVmaW5lZCk7Ci0gICAgY29uc29sZS5sb2coZG9jdW1lbnQpOwotICAgIGNvbnNv
bGUubG9nKGZ1bmN0aW9uKCkgeyB9KTsKLSAgICBjb25zb2xlLmxvZyhmdW5jdGlvbiBmKCkgeyB9
KTsKLSAgICBjb25zb2xlLmxvZyhbMSwgMiwgM10pOwotICAgIGNvbnNvbGUubG9nKC9yZWdleHAu
Ki8pOwotICAgIGNvbnNvbGUuZ3JvdXBFbmQoKTsKLQotICAgIHJ1blRlc3QoKTsKLX0KLQotZnVu
Y3Rpb24gdGVzdCgpCi17Ci0gICAgSW5zcGVjdG9yVGVzdC5kdW1wQ29uc29sZU1lc3NhZ2VzV2l0
aENsYXNzZXMoKTsKLSAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwotfQotPC9zY3Jp
cHQ+Ci08L2hlYWQ+Ci0KLTxib2R5IG9ubG9hZD0ib25sb2FkKCkiPgotPHA+Ci1UZXN0cyB0aGF0
IGNvbnNvbGUgbG9nZ2luZyBkdW1wcyBwcm9wZXIgbWVzc2FnZXMuCi08L3A+Ci0KLTwvYm9keT4K
LTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNv
bGUtdHJhY2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29u
c29sZS10cmFjZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDUx
OTBmNjM3NTA2NDM2NGYzZmQxYjMzOWQyNjMyOWFjMGI3ZWJlYTcuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNv
bGUvY29uc29sZS10cmFjZS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw0ICswLDAg
QEAKLVRlc3RzIHRoYXQgY29uc29sZS50cmFjZSBkdW1wcyBzdGFjayB0cmFjZSB3aXRoIHNvdXJj
ZSBVUkxzIGFuZCBsaW5lIG51bWJlcnMuCi0KLWNvbnNvbGUudHJhY2UoKSBjb25zb2xlLXRyYWNl
Lmh0bWw6OWIgY29uc29sZS10cmFjZS5odG1sOjlhIGNvbnNvbGUtdHJhY2UuaHRtbDoxNAotCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLXRyYWNlLWlu
LWV2YWwtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29uc29s
ZS10cmFjZS1pbi1ldmFsLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggOGVlNjVlMmM2ZmRkNTkyODVlNzVlYzNkOTNjMzk0MWIyNGNiNmJhZi4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Iv
Y29uc29sZS9jb25zb2xlLXRyYWNlLWluLWV2YWwtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwK
QEAgLTEsNCArMCwwIEBACi1UZXN0cyB0aGF0IHdoZW4gY29uc29sZS50cmFjZSBpcyBjYWxsZWQg
aW4gZXZhbCdlZCBzY3JpcHQgZW5kaW5nIHdpdGggLy9AIHNvdXJjZVVSTD11cmwgaXQgd2lsbCBk
dW1wIGEgc3RhY2sgdHJhY2UgdGhhdCB3aWxsIGhhdmUgdGhlIHVybCBhcyB0aGUgc2NyaXB0IHNv
dXJjZS4gQnVnIDQ3MjUyLgotCi1jb25zb2xlLnRyYWNlKCliYWV2YWxTb3VyY2UKLQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS10cmFjZS1pbi1ldmFs
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLXRyYWNlLWluLWV2
YWwuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjRjZTllMTkyOGQ5NjQzYmQ1
OTcwODZkMmQ1MWNhMWEwNTU2YzFmMy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLXRyYWNl
LWluLWV2YWwuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDUyICswLDAgQEAKLTxodG1sPgotPGhl
YWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRl
c3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9y
L2NvbnNvbGUtdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotCi0KLWZ1bmN0aW9uIGV2YWxT
b3VyY2UoKQotewotICAgIGZ1bmN0aW9uIGIoKQotICAgIHsKLSAgICAgICAgY29uc29sZS50cmFj
ZSgpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIGEoKQotICAgIHsKLSAgICAgICAgYigpOwotICAg
IH0KLQotICAgIGEoKTsKLX0KLQotZnVuY3Rpb24gZG9FdmFsU291cmNlKCkKLXsKLSAgICBzZXRU
aW1lb3V0KGZ1bmN0aW9uKCkgewotICAgICAgICBldmFsKCIoIiArIGV2YWxTb3VyY2UgKyAiKSgp
Ly9AIHNvdXJjZVVSTD1ldmFsVVJMLmpzIik7Ci0gICAgfSwgMCk7Ci19Ci0KLWZ1bmN0aW9uIHRl
c3QoKQotewotICAgIGZ1bmN0aW9uIGNhbGxiYWNrKCkKLSAgICB7Ci0gICAgICAgIEluc3BlY3Rv
clRlc3QuZHVtcENvbnNvbGVNZXNzYWdlcygpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBs
ZXRlVGVzdCgpOwotICAgIH0KLSAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJkb0V2
YWxTb3VyY2UoKSIpOwotICAgIEluc3BlY3RvclRlc3QuYWRkQ29uc29sZVNuaWZmZXIoY2FsbGJh
Y2spOwotfQotCi08L3NjcmlwdD4KLTwvaGVhZD4KLQotPGJvZHkgb25sb2FkPSJydW5UZXN0KCki
PgotPHA+Ci1UZXN0cyB0aGF0IHdoZW4gY29uc29sZS50cmFjZSBpcyBjYWxsZWQgaW4gZXZhbCdl
ZCBzY3JpcHQgZW5kaW5nCi13aXRoIC8vQCBzb3VyY2VVUkw9dXJsIGl0IHdpbGwgZHVtcCBhIHN0
YWNrIHRyYWNlIHRoYXQgd2lsbCBoYXZlCi10aGUgdXJsIGFzIHRoZSBzY3JpcHQgc291cmNlLiA8
YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDcyNTIiPkJ1
ZyA0NzI1Mi48L2E+Ci08L3A+Ci0KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtdHJhY2UuaHRtbCBiL0xheW91dFRlc3Rz
L2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtdHJhY2UuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMzViZjI1M2QwYjAyY2Q2M2E1YTVlYTZkNTRmYmE1MGNjNDMzN2U5ZC4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9p
bnNwZWN0b3IvY29uc29sZS9jb25zb2xlLXRyYWNlLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwz
NyArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMv
aW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8u
Li9odHRwL3Rlc3RzL2luc3BlY3Rvci9jb25zb2xlLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlw
dD4KLQotZnVuY3Rpb24gYigpCi17Ci0gICAgY29uc29sZS50cmFjZSgpOwotfQotCi1mdW5jdGlv
biBhKCkKLXsKLSAgICBiKCk7Ci19Ci0KLWZ1bmN0aW9uIHRlc3QoKQotewotICAgIGZ1bmN0aW9u
IGNhbGxiYWNrKCkKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuZHVtcENvbnNvbGVNZXNz
YWdlcygpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwotICAgIH0KLSAg
ICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJzZXRUaW1lb3V0KGEsIDApIik7Ci0gICAg
SW5zcGVjdG9yVGVzdC5hZGRDb25zb2xlU25pZmZlcihjYWxsYmFjayk7Ci19Ci0KLTwvc2NyaXB0
PgotPC9oZWFkPgotCi08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci08cD4KLVRlc3RzIHRoYXQg
Y29uc29sZS50cmFjZSBkdW1wcyBzdGFjayB0cmFjZSB3aXRoIHNvdXJjZSBVUkxzIGFuZCBsaW5l
IG51bWJlcnMuCi08L3A+Ci0KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtdW5jYXVnaHQtZXhjZXB0aW9uLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtdW5jYXVnaHQtZXhj
ZXB0aW9uLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggM2EyY2Zl
NmRlZGEzMTczNTFmMDY2NmQ0ZWM2ZjhjOTViNzg1Zjk1MC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9j
b25zb2xlLXVuY2F1Z2h0LWV4Y2VwdGlvbi1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAt
MSwxMCArMCwwIEBACi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTg6IEVycm9yOiBFeGNlcHRpb24g
aW4gaW5saW5lIHNjcmlwdC4KLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxMTogRXJyb3I6IEV4Y2Vw
dGlvbiBpbiAnbG9hZCcgZXZlbnQgbGlzdGVuZXIuCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgNjog
RXJyb3I6IEV4Y2VwdGlvbiBpbiBzZXRUaW1lb3V0IGNhbGxiYWNrLgotVGVzdHMgdGhhdCB1bmNh
dWdodCBleGNlcHRpb25zIGFyZSBsb2dnZWQgaW50byBjb25zb2xlLkJ1ZyA0NzI1MC4KLQotCi1F
cnJvcjogRXhjZXB0aW9uIGluIGlubGluZSBzY3JpcHQuIHJlc291cmNlcy91bmNhdWdodC1pbi1p
ZnJhbWUuaHRtbDoxOGEgcmVzb3VyY2VzL3VuY2F1Z2h0LWluLWlmcmFtZS5odG1sOjE4YiByZXNv
dXJjZXMvdW5jYXVnaHQtaW4taWZyYW1lLmh0bWw6MjMKLUVycm9yOiBFeGNlcHRpb24gaW4gJ2xv
YWQnIGV2ZW50IGxpc3RlbmVyLiByZXNvdXJjZXMvdW5jYXVnaHQtaW4taWZyYW1lLmh0bWw6MTFm
IHJlc291cmNlcy91bmNhdWdodC1pbi1pZnJhbWUuaHRtbDoxMShhbm9ueW1vdXMgZnVuY3Rpb24p
IHJlc291cmNlcy91bmNhdWdodC1pbi1pZnJhbWUuaHRtbDoxMwotRXJyb3I6IEV4Y2VwdGlvbiBp
biBzZXRUaW1lb3V0IGNhbGxiYWNrLiB1bmNhdWdodC1pbi1pZnJhbWUuaHRtbDo2YmFyIHVuY2F1
Z2h0LWluLWlmcmFtZS5odG1sOjYoYW5vbnltb3VzIGZ1bmN0aW9uKSB1bmNhdWdodC1pbi1pZnJh
bWUuaHRtbDo4Ci0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2Nv
bnNvbGUtdW5jYXVnaHQtZXhjZXB0aW9uLWluLWV2YWwtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS11bmNhdWdodC1leGNlcHRpb24taW4tZXZhbC1l
eHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDczOGU2M2ViYzRlYzJm
OGJmZDdjNjI0YzgzODZiMGI5NDU4ZWM0MWQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS11
bmNhdWdodC1leGNlcHRpb24taW4tZXZhbC1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAt
MSw3ICswLDAgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSA0OiBFcnJvcjogRXhjZXB0aW9uIGlu
IGV2YWwuCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgNDogRXJyb3I6IEV4Y2VwdGlvbiBpbiBldmFs
LgotVGVzdHMgdGhhdCB3aGVuIHVuY2F1Z2h0IGV4Y2VwdGlvbiBpbiBldmFsJ2VkIHNjcmlwdCBl
bmRpbmcgd2l0aCAvL0Agc291cmNlVVJMPXVybCBpcyBsb2dnZWQgaW50byBjb25zb2xlLCBpdHMg
c3RhY2sgdHJhY2Ugd2lsbCBoYXZlIHRoZSB1cmwgYXMgdGhlIHNjcmlwdCBzb3VyY2UuIEJ1ZyA0
NzI1Mi4KLQotUGFnZSByZWxvYWRlZC4KLUVycm9yOiBFeGNlcHRpb24gaW4gZXZhbC4gdW5kZWZp
bmVkOjRiIHVuZGVmaW5lZDo0YWV2YWxTb3VyY2UKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS11bmNhdWdodC1leGNlcHRpb24taW4tZXZhbC5odG1s
IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS11bmNhdWdodC1leGNlcHRp
b24taW4tZXZhbC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1ZWMwMGJiYWYw
NjE2ODQ3MjkxOWQyOTNlZjYyMWJiMzA3MWI2ZWIyLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNv
bGUtdW5jYXVnaHQtZXhjZXB0aW9uLWluLWV2YWwuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDQ0
ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9p
bnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4u
L2h0dHAvdGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUtdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
PgotCi1mdW5jdGlvbiB0ZXN0KCkKLXsKLSAgICBJbnNwZWN0b3JUZXN0LnJlbG9hZFBhZ2UoZnVu
Y3Rpb24oKSB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuZXhwYW5kQ29uc29sZU1lc3NhZ2VzKCk7
Ci0gICAgICAgIEluc3BlY3RvclRlc3QuZHVtcENvbnNvbGVNZXNzYWdlcygpOwotICAgICAgICBJ
bnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwotICAgIH0pOwotfQotCi1mdW5jdGlvbiBldmFs
U291cmNlKCkKLXsKLSAgICBmdW5jdGlvbiBiKCkKLSAgICB7Ci0gICAgICAgIHRocm93IG5ldyBF
cnJvcigiRXhjZXB0aW9uIGluIGV2YWwuIik7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gYSgpCi0g
ICAgewotICAgICAgICBiKCk7Ci0gICAgfQotCi0gICAgYSgpOwotfQotCi1ldmFsKCIoIiArIGV2
YWxTb3VyY2UgKyAiKSgpLy9AIHNvdXJjZVVSTD1ldmFsVVJMLmpzIik7Ci0KLTwvc2NyaXB0Pgot
PC9oZWFkPgotCi08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci08cD4KLVRlc3RzIHRoYXQgd2hl
biB1bmNhdWdodCBleGNlcHRpb24gaW4gZXZhbCdlZCBzY3JpcHQgZW5kaW5nCi13aXRoIC8vQCBz
b3VyY2VVUkw9dXJsIGlzIGxvZ2dlZCBpbnRvIGNvbnNvbGUsIGl0cyBzdGFjayB0cmFjZQotd2ls
bCBoYXZlIHRoZSB1cmwgYXMgdGhlIHNjcmlwdCBzb3VyY2UuIDxhIGhyZWY9Imh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NzI1MiI+QnVnIDQ3MjUyLjwvYT4KLTwvcD4K
LQotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2Nv
bnNvbGUvY29uc29sZS11bmNhdWdodC1leGNlcHRpb24uaHRtbCBiL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci9jb25zb2xlL2NvbnNvbGUtdW5jYXVnaHQtZXhjZXB0aW9uLmh0bWwKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDIwZWI5ODI0NjViNjZjZGEzM2VkM2Q3ZWQyODVjNjZjMTllN2Yx
OTYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS11bmNhdWdodC1leGNlcHRpb24uaHRtbAor
KysgL2Rldi9udWxsCkBAIC0xLDM3ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNy
Yz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUtdGVzdC5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotCi1mdW5jdGlvbiB0ZXN0KCkKLXsKLSAgICBJbnNwZWN0
b3JUZXN0LmFkZENvbnNvbGVTbmlmZmVyKGFkZE1lc3NhZ2UsIHRydWUpOwotICAgIEluc3BlY3Rv
clRlc3QuZXZhbHVhdGVJblBhZ2UoImxvYWRJZnJhbWUoKSIpOwotICAgIGZ1bmN0aW9uIGFkZE1l
c3NhZ2UobWVzc2FnZSkKLSAgICB7Ci0gICAgICAgIGlmIChtZXNzYWdlLnRvU3RyaW5nKCkuaW5k
ZXhPZigic2V0VGltZW91dCIpICE9PSAtMSkgewotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5l
eHBhbmRDb25zb2xlTWVzc2FnZXMoKTsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZHVtcENv
bnNvbGVNZXNzYWdlcygpOwotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3Qo
KTsKLSAgICAgICAgfQotICAgIH0KLX0KLQotZnVuY3Rpb24gbG9hZElmcmFtZSgpCi17Ci0gICAg
dmFyIGlmcmFtZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlmcmFtZSIpOwotICAgIGlmcmFt
ZS5zcmMgPSAicmVzb3VyY2VzL3VuY2F1Z2h0LWluLWlmcmFtZS5odG1sIjsKLSAgICBkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKGlmcmFtZSk7Ci19Ci0KLTwvc2NyaXB0PgotPC9oZWFkPgotCi08
Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci08cD4KLVRlc3RzIHRoYXQgdW5jYXVnaHQgZXhjZXB0
aW9ucyBhcmUgbG9nZ2VkIGludG8gY29uc29sZS48YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDcyNTAiPkJ1ZyA0NzI1MC48L2E+Ci08L3A+Ci0KLTwvYm9k
eT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2Nv
bnNvbGUtdXJsLWxpbmUtY29sdW1uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rv
ci9jb25zb2xlL2NvbnNvbGUtdXJsLWxpbmUtY29sdW1uLWV4cGVjdGVkLnR4dApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggNzEzM2IyNTNiODBiZmU3NDNmMDk0ZjliZTczYjQ3N2EwZDRj
ODY3NS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLXVybC1saW5lLWNvbHVtbi1leHBlY3Rl
ZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxOSArMCwwIEBACi1DT05TT0xFIE1FU1NBR0U6IGxp
bmUgOTogb25lCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTA6IHR3bwotQ09OU09MRSBNRVNTQUdF
OiBsaW5lIDExOiB0aHJlZQotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE0OiBlcnJvcgotQ09OU09M
RSBNRVNTQUdFOiBsaW5lIDE0OiBsb2cKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxNTogaW5mbwot
Q09OU09MRSBNRVNTQUdFOiBsaW5lIDE1OiB3YXJuCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTY6
IGFzc2VydAotVGVzdHMgdGhhdCB1cmwsIGxpbmUsIGFuZCBjb2x1bW4gcHJvcGVydGllcyBhcmUg
ZGVmaW5lZCBmb3IgY29uc29sZSBmdW5jdGlvbnMuCi0KLU1lc3NhZ2UgYXQgbG9jYXRpb246IGNv
bnNvbGUtdXJsLWxpbmUtY29sdW1uLmh0bWw6OToxNgotTWVzc2FnZSBhdCBsb2NhdGlvbjogY29u
c29sZS11cmwtbGluZS1jb2x1bW4uaHRtbDoxMDoxNgotTWVzc2FnZSBhdCBsb2NhdGlvbjogY29u
c29sZS11cmwtbGluZS1jb2x1bW4uaHRtbDoxMToxNgotTWVzc2FnZSBhdCBsb2NhdGlvbjogY29u
c29sZS11cmwtbGluZS1jb2x1bW4uaHRtbDoxNDoxOAotTWVzc2FnZSBhdCBsb2NhdGlvbjogY29u
c29sZS11cmwtbGluZS1jb2x1bW4uaHRtbDoxNDo0MAotTWVzc2FnZSBhdCBsb2NhdGlvbjogY29u
c29sZS11cmwtbGluZS1jb2x1bW4uaHRtbDoxNToxNwotTWVzc2FnZSBhdCBsb2NhdGlvbjogY29u
c29sZS11cmwtbGluZS1jb2x1bW4uaHRtbDoxNTozOQotTWVzc2FnZSBhdCBsb2NhdGlvbjogY29u
c29sZS11cmwtbGluZS1jb2x1bW4uaHRtbDoxNjoxOQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLXVybC1saW5lLWNvbHVtbi5odG1sIGIvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS11cmwtbGluZS1jb2x1bW4uaHRtbApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODBjY2Y2NDY4ODM3MTg1MTZkYTdhNjNjMTcyNTAz
YjE3NjE2NTdiZC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLXVybC1saW5lLWNvbHVtbi5o
dG1sCisrKyAvZGV2L251bGwKQEAgLTEsNDUgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3Jp
cHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvY29uc29sZS10
ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci0KLWZ1bmN0aW9uIGxvZygpIHsKLSAgICAvLyBG
aWxsIGNvbnNvbGUuCi0gICAgY29uc29sZS5sb2coIm9uZSIpOwotICAgIGNvbnNvbGUubG9nKCJ0
d28iKTsKLSAgICBjb25zb2xlLmxvZygidGhyZWUiKTsKLQotICAgIC8vIERpZmZlcmVudCB0eXBl
cyBhbmQgZGlmZmVyZW50IGNvbHVtbnMuCi0gICAgY29uc29sZS5lcnJvcigiZXJyb3IiKTsgY29u
c29sZS5sb2coImxvZyIpOwotICAgIGNvbnNvbGUuaW5mbygiaW5mbyIpOyBjb25zb2xlLndhcm4o
Indhcm4iKTsKLSAgICBjb25zb2xlLmFzc2VydChmYWxzZSwgImFzc2VydCIpOwotfQotCi1mdW5j
dGlvbiB0ZXN0KCkKLXsKLSAgICBJbnNwZWN0b3JUZXN0LmFkZFNuaWZmZXIoV2ViSW5zcGVjdG9y
LkNvbnNvbGVEaXNwYXRjaGVyLnByb3RvdHlwZSwgIm1lc3NhZ2VBZGRlZCIsIG1lc3NhZ2VBZGRl
ZCwgdHJ1ZSk7Ci0KLSAgICBmdW5jdGlvbiBtZXNzYWdlQWRkZWQocGF5bG9hZCkKLSAgICB7Ci0g
ICAgICAgIHZhciB1cmwgPSBwYXlsb2FkLnVybDsKLSAgICAgICAgdmFyIGxhc3RTbGFzaEluZGV4
ID0gdXJsLmxhc3RJbmRleE9mKCIvIik7Ci0gICAgICAgIHVybCA9IHVybC5zdWJzdHJpbmcobGFz
dFNsYXNoSW5kZXggKyAxKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIk1lc3Nh
Z2UgYXQgbG9jYXRpb246ICIgKyB1cmwgKyAiOiIgKyBwYXlsb2FkLmxpbmUgKyAiOiIgKyBwYXls
b2FkLmNvbHVtbik7Ci0gICAgICAgIGlmIChwYXlsb2FkLmxpbmUgPT09IDE2KQotICAgICAgICAg
ICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKLSAgICB9Ci0KLSAgICBJbnNwZWN0b3JU
ZXN0LmV2YWx1YXRlSW5QYWdlKCJsb2coKSIpOwotfQotCi08L3NjcmlwdD4KLTwvaGVhZD4KLQot
PGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotPHA+Ci1UZXN0cyB0aGF0IHVybCwgbGluZSwgYW5k
IGNvbHVtbiBwcm9wZXJ0aWVzIGFyZSBkZWZpbmVkIGZvciBjb25zb2xlIGZ1bmN0aW9ucy4KLTwv
cD4KLQotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
L2NvbnNvbGUvY29uc29sZS14bWwtZG9jdW1lbnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS14bWwtZG9jdW1lbnQtZXhwZWN0ZWQudHh0CmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5ZDdhMmY1Yjc1N2ViZWI3MjI1ZjlhMjI2Y2EzZGMz
MzUwNGU1YWJjLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUteG1sLWRvY3VtZW50LWV4cGVj
dGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDUgKzAsMCBAQAotQ09OU09MRSBNRVNTQUdFOiBs
aW5lIDk6IFtvYmplY3QgRG9jdW1lbnRdCi1UZXN0cyB0aGF0IFhNTCBkb2N1bWVudCBjb250ZW50
cyBhcmUgbG9nZ2VkIHVzaW5nIHRoZSBjb3JyZWN0IGNhc2UgaW4gdGhlIGNvbnNvbGUuCi0KLSNk
b2N1bWVudDxNaXhlZENhc2U+IFRlc3QgPC9NaXhlZENhc2U+IGNvbnNvbGUteG1sLWRvY3VtZW50
Lmh0bWw6OQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25z
b2xlLXhtbC1kb2N1bWVudC5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29u
c29sZS14bWwtZG9jdW1lbnQuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzE1
ZmFjOTY2OTUyNzg1YjhjNWZmNzkxYTk1MTJlM2Q2YjA4OGE1OS4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29s
ZS9jb25zb2xlLXhtbC1kb2N1bWVudC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMzMgKzAsMCBA
QAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rv
ci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90
ZXN0cy9pbnNwZWN0b3IvY29uc29sZS10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci0KLWZ1
bmN0aW9uIG9ubG9hZCgpCi17Ci0gICAgY29uc29sZS5kaXJ4bWwoKG5ldyBET01QYXJzZXIoKSku
cGFyc2VGcm9tU3RyaW5nKCI8TWl4ZWRDYXNlPiBUZXN0IDwvTWl4ZWRDYXNlPiIsICJ0ZXh0L3ht
bCIpKTsKLSAgICBydW5UZXN0KCk7Ci19Ci0KLWZ1bmN0aW9uIHRlc3QoKQotewotICAgIEluc3Bl
Y3RvclRlc3QuZXhwYW5kQ29uc29sZU1lc3NhZ2VzKCk7Ci0gICAgSW5zcGVjdG9yVGVzdC5ydW5B
ZnRlclBlbmRpbmdEaXNwYXRjaGVzKGNhbGxiYWNrKTsKLQotICAgIGZ1bmN0aW9uIGNhbGxiYWNr
KCkKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuZHVtcENvbnNvbGVNZXNzYWdlcygpOwot
ICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwotICAgIH0KLX0KLTwvc2NyaXB0
PgotPC9oZWFkPgotCi08Ym9keSBvbmxvYWQ9Im9ubG9hZCgpIj4KLTxwPgotVGVzdHMgdGhhdCBY
TUwgZG9jdW1lbnQgY29udGVudHMgYXJlIGxvZ2dlZCB1c2luZyB0aGUgY29ycmVjdCBjYXNlIGlu
IHRoZSBjb25zb2xlLgotPC9wPgotCi08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLXhwYXRoLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUteHBhdGgtZXhwZWN0ZWQudHh0CmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5NzZlNzkxMDI3MzI4MzllZmRiN2I3MTNlZmZl
YzIzYzc4MGQ0ODNmLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUteHBhdGgtZXhwZWN0ZWQu
dHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTMgKzAsMCBAQAotQ09OU09MRSBNRVNTQUdFOiBsaW5l
IDE6IGNvbXBsZXRlCi1UZXN0cyAkeCBmb3IgaXRlcmF0b3IgYW5kIG5vbi1pdGVyYXRvciB0eXBl
cy4KLQotJHgoJzQyJykKLSR4KCduYW1lKC9odG1sKScpCi0keCgnbm90KDQyKScpCi0keCgnL2h0
bWwvYm9keS9wJykubGVuZ3RoCi00MgotImh0bWwiCi1mYWxzZQotMQotY29tcGxldGUKLQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS14cGF0aC5odG1s
IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS14cGF0aC5odG1sCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3MTc4OGVlMGM4YmZmMzY1NGNmNDg3YmVmNzRmMDMw
ZWM3NDY1Mzc1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUteHBhdGguaHRtbAorKysgL2Rl
di9udWxsCkBAIC0xLDM1ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4v
Li4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUtdGVzdC5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0PgotCi1mdW5jdGlvbiB0ZXN0KCkKLXsKLSAgICBJbnNwZWN0b3JUZXN0
LmFkZENvbnNvbGVTbmlmZmVyKGFkZE1lc3NhZ2VTbmlmZmVyLCB0cnVlKTsKLQotICAgIEluc3Bl
Y3RvclRlc3QuZXZhbHVhdGVJbkNvbnNvbGUoIiR4KCc0MicpIik7IC8vIG51bWJlcgotICAgIElu
c3BlY3RvclRlc3QuZXZhbHVhdGVJbkNvbnNvbGUoIiR4KCduYW1lKC9odG1sKScpIik7IC8vIHN0
cmluZwotICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJbkNvbnNvbGUoIiR4KCdub3QoNDIpJyki
KTsgLy8gYm9vbGVhbgotICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJbkNvbnNvbGUoIiR4KCcv
aHRtbC9ib2R5L3AnKS5sZW5ndGgiKTsgLy8gbm9kZSBpdGVyYXRvcgotICAgIEluc3BlY3RvclRl
c3QuZXZhbHVhdGVJblBhZ2UoImNvbnNvbGUubG9nKCdjb21wbGV0ZScpIik7IC8vIG5vZGUgaXRl
cmF0b3IKLQotICAgIGZ1bmN0aW9uIGFkZE1lc3NhZ2VTbmlmZmVyKG1lc3NhZ2UpCi0gICAgewot
ICAgICAgICBpZiAobWVzc2FnZS50b1N0cmluZygpLmluZGV4T2YoImNvbXBsZXRlIikgIT09IC0x
KSB7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBDb25zb2xlTWVzc2FnZXMoKTsKLSAg
ICAgICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7Ci0gICAgICAgIH0KLSAgICB9
Ci19Ci0KLTwvc2NyaXB0PgotPC9oZWFkPgotCi08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci08
cD4KLVRlc3RzICR4IGZvciBpdGVyYXRvciBhbmQgbm9uLWl0ZXJhdG9yIHR5cGVzLgotPC9wPgot
Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29u
c29sZS9pbnNwZWN0LWh0bWwtYWxsLWNvbGxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yL2NvbnNvbGUvaW5zcGVjdC1odG1sLWFsbC1jb2xsZWN0aW9uLWV4cGVjdGVk
LnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDk4NzI3ZGM2MGE5MmUwOGU5NmU0
MWE1NWJmNzU3YWJjYTJhYTgwZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9pbnNwZWN0LWh0bWwtYWxs
LWNvbGxlY3Rpb24tZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNCArMCwwIEBACi1U
ZXN0cyB0aGF0IEhUTUxBbGxDb2xsZWN0aW9uIHByb3BlcnRpZXMgY2FuIGJlIGluc3BlY3RlZC4K
LQotUEFTU0VEOiByZXRyaWV2ZWQgbGVuZ3RoIG9mIGRvY3VtZW50LmFsbAotCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9pbnNwZWN0LWh0bWwtYWxsLWNvbGxlY3Rp
b24uaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2luc3BlY3QtaHRtbC1hbGwt
Y29sbGVjdGlvbi5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2OWU0YTRlY2M4
YzkwMDQ1Y2RhZTYxNGFmOWNhMThkOTE0MDA4NzI5Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2luc3Bl
Y3QtaHRtbC1hbGwtY29sbGVjdGlvbi5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMzkgKzAsMCBA
QAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rv
ci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotCi1mdW5jdGlvbiB0ZXN0
KCkKLXsKLSAgICBSdW50aW1lQWdlbnQuZXZhbHVhdGUoImRvY3VtZW50LmFsbCIsICJjb25zb2xl
IiwgZmFsc2UsIGRpZEdldEhUTUxBbGxDb2xsZWN0aW9uLmJpbmQodGhpcykpOwotICAgIGZ1bmN0
aW9uIGRpZEdldEhUTUxBbGxDb2xsZWN0aW9uKGVycm9yLCByZXN1bHQsIHdhc1Rocm93bikKLSAg
ICB7Ci0gICAgICAgIGlmIChlcnJvciB8fCB3YXNUaHJvd24pIHsKLSAgICAgICAgICAgIEluc3Bl
Y3RvclRlc3QuYWRkUmVzdWx0KCJGQUlMRUQ6ICIgKyBlcnJvcik7Ci0gICAgICAgICAgICBJbnNw
ZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB9
Ci0gICAgICAgIHZhciBodG1sQWxsQ29sbGVjdGlvbiA9IFdlYkluc3BlY3Rvci5SZW1vdGVPYmpl
Y3QuZnJvbVBheWxvYWQocmVzdWx0KTsKLSAgICAgICAgaHRtbEFsbENvbGxlY3Rpb24uY2FsbEZ1
bmN0aW9uSlNPTigiZnVuY3Rpb24oY29sbGVjdGlvbikgeyByZXR1cm4gdGhpcy5sZW5ndGggKyBj
b2xsZWN0aW9uLmxlbmd0aDsgfSIsIFt7b2JqZWN0SWQ6IGh0bWxBbGxDb2xsZWN0aW9uLm9iamVj
dElkfV0sIGRpZEdldExlbmd0aC5iaW5kKHRoaXMpKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBk
aWRHZXRMZW5ndGgobGVuKQotICAgIHsKLSAgICAgICAgaWYgKCFsZW4gfHwgdHlwZW9mIGxlbiAh
PT0gIm51bWJlciIpCi0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiRkFJTEVE
OiB1bmV4cGVjdGVkIGRvY3VtZW50LmFsbC5sZW5ndGg6ICIgKyBsZW4pOwotICAgICAgICBlbHNl
Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiUEFTU0VEOiByZXRyaWV2ZWQg
bGVuZ3RoIG9mIGRvY3VtZW50LmFsbCIpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRl
VGVzdCgpOwotICAgIH0KLX0KLQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci0KLTxib2R5IG9ubG9hZD0i
cnVuVGVzdCgpIj4KLTxwPgotVGVzdHMgdGhhdCBIVE1MQWxsQ29sbGVjdGlvbiBwcm9wZXJ0aWVz
IGNhbiBiZSBpbnNwZWN0ZWQuCi08L3A+Ci0KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL3Jlc291cmNlcy9sb2ctc291cmNlLmpzIGIv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvcmVzb3VyY2VzL2xvZy1zb3VyY2UuanMKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGZkYWIxNzczYjhhYWI5NGY5ZGIzODRiMzBjODJi
ODQ1ZGY4OWMyZjYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvcmVzb3VyY2VzL2xvZy1zb3VyY2UuanMK
KysrIC9kZXYvbnVsbApAQCAtMSw0ICswLDAgQEAKLWZ1bmN0aW9uIGxvZzIoKQotewotICAgIGNv
bnNvbGUubG9nLmFwcGx5KGNvbnNvbGUsIGFyZ3VtZW50cyk7Ci19ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvcmVz
b3VyY2VzL3N5bnRheC1lcnJvci5qcyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL3Jl
c291cmNlcy9zeW50YXgtZXJyb3IuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGJl
YThjZDE3N2FmZjlkMWVjMmI5ZDFiMjFhY2U5YzQ1ZTIzYWU3ZGYuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNv
bGUvcmVzb3VyY2VzL3N5bnRheC1lcnJvci5qcworKysgL2Rldi9udWxsCkBAIC0xICswLDAgQEAK
LSkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL3Jlc291cmNlcy91
bmNhdWdodC1pbi1pZnJhbWUuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL3Jl
c291cmNlcy91bmNhdWdodC1pbi1pZnJhbWUuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggNDQ4MzZjMWI1ODI1MTJhMWMxNDAxN2ZmNDMxNTdiZmY3NzE2ZTEzMC4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0
b3IvY29uc29sZS9yZXNvdXJjZXMvdW5jYXVnaHQtaW4taWZyYW1lLmh0bWwKKysrIC9kZXYvbnVs
bApAQCAtMSwyNyArMCwwIEBACi08c2NyaXB0Pgotd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImxv
YWQiLCBmdW5jdGlvbihlKSB7Ci0gICAgZnVuY3Rpb24gZigpIHsKLSAgICAgICAgc2V0VGltZW91
dChmdW5jdGlvbigpIHsKLSAgICAgICAgICAgIGZ1bmN0aW9uIGJhcigpIHsKLSAgICAgICAgICAg
ICAgICB0aHJvdyBuZXcgRXJyb3IoIkV4Y2VwdGlvbiBpbiBzZXRUaW1lb3V0IGNhbGxiYWNrLiIp
OwotICAgICAgICAgICAgfQotICAgICAgICAgICAgYmFyKCk7Ci0gICAgICAgIH0sIDApOwotCi0g
ICAgICAgIHRocm93IG5ldyBFcnJvcigiRXhjZXB0aW9uIGluICdsb2FkJyBldmVudCBsaXN0ZW5l
ci4iKQotICAgIH0KLSAgICBmKCk7Ci19LCBmYWxzZSk7Ci0KLWZ1bmN0aW9uIGEoKQotewotICAg
IHRocm93IG5ldyBFcnJvcigiRXhjZXB0aW9uIGluIGlubGluZSBzY3JpcHQuIikKLX0KLQotZnVu
Y3Rpb24gYigpCi17Ci0gICAgYSgpOwotfQotCi1iKCk7Ci08L3NjcmlwdD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9icmVha3BvaW50LW1hbmFnZXItZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL2JyZWFrcG9pbnQtbWFuYWdl
ci1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQ5NmY4NDYwMzMw
Zjc0MmQyNGYyYjcxZWZkZmU0Njg0ZmNiMmViZTIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL2JyZWFr
cG9pbnQtbWFuYWdlci1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwyODYgKzAsMCBA
QAotVGVzdHMgQnJlYWtwb2ludE1hbmFnZXIgY2xhc3MuCi0KLQotUnVubmluZzogdGVzdFNldEJy
ZWFrcG9pbnQKLSAgQ3JlYXRlZCBicmVha3BvaW50cyBtYW5hZ2VyCi0gIER1bXBpbmcgU3RvcmFn
ZQotICBBZGRpbmcgVUlTb3VyY2VDb2RlOiBhLmpzCi0gIFNldHRpbmcgYnJlYWtwb2ludCBhdCBh
LmpzOjMwIGVuYWJsZWQ6dHJ1ZSBjb25kaXRpb246Ci0gICAgZGVidWdnZXJNb2RlbC5zZXRCcmVh
a3BvaW50KGEuanM6MzA6KQotICAgIGJyZWFrcG9pbnRBZGRlZChhLmpzLCAzMCwgLCB0cnVlKQot
ICAgIExvY2F0aW9uIGNyZWF0ZWQ6IGEuanM6MzAKLSAgRHVtcGluZyBTdG9yYWdlCi0gICAgYS5q
czozMCBlbmFibGVkOnRydWUgY29uZGl0aW9uOgotICBSZXNldHRpbmcgYnJlYWtwb2ludCBtYW5h
Z2VyCi0gICAgYnJlYWtwb2ludFJlbW92ZWQoYS5qcywgMzApCi0gICAgTG9jYXRpb24gZGlzcG9z
ZWQ6IGEuanM6MzAKLSAgICBkZWJ1Z2dlck1vZGVsLnJlbW92ZUJyZWFrcG9pbnQoYS5qczozMCkK
LQotUnVubmluZzogdGVzdFNldERpc2FibGVkQnJlYWtwb2ludAotICBDcmVhdGVkIGJyZWFrcG9p
bnRzIG1hbmFnZXIKLSAgRHVtcGluZyBTdG9yYWdlCi0gIEFkZGluZyBVSVNvdXJjZUNvZGU6IGEu
anMKLSAgU2V0dGluZyBicmVha3BvaW50IGF0IGEuanM6MzAgZW5hYmxlZDpmYWxzZSBjb25kaXRp
b246Ci0gICAgYnJlYWtwb2ludEFkZGVkKGEuanMsIDMwLCAsIGZhbHNlKQotICBEdW1waW5nIFN0
b3JhZ2UKLSAgICBhLmpzOjMwIGVuYWJsZWQ6ZmFsc2UgY29uZGl0aW9uOgotICBFbmFibGluZyBi
cmVha3BvaW50Ci0gICAgZGVidWdnZXJNb2RlbC5zZXRCcmVha3BvaW50KGEuanM6MzA6KQotICAg
IGJyZWFrcG9pbnRSZW1vdmVkKGEuanMsIDMwKQotICAgIGJyZWFrcG9pbnRBZGRlZChhLmpzLCAz
MCwgLCB0cnVlKQotICAgIExvY2F0aW9uIGNyZWF0ZWQ6IGEuanM6MzAKLSAgRHVtcGluZyBTdG9y
YWdlCi0gICAgYS5qczozMCBlbmFibGVkOnRydWUgY29uZGl0aW9uOgotICBSZXNldHRpbmcgYnJl
YWtwb2ludCBtYW5hZ2VyCi0gICAgYnJlYWtwb2ludFJlbW92ZWQoYS5qcywgMzApCi0gICAgTG9j
YXRpb24gZGlzcG9zZWQ6IGEuanM6MzAKLSAgICBkZWJ1Z2dlck1vZGVsLnJlbW92ZUJyZWFrcG9p
bnQoYS5qczozMCkKLQotUnVubmluZzogdGVzdFNldENvbmRpdGlvbmFsQnJlYWtwb2ludAotICBD
cmVhdGVkIGJyZWFrcG9pbnRzIG1hbmFnZXIKLSAgRHVtcGluZyBTdG9yYWdlCi0gIEFkZGluZyBV
SVNvdXJjZUNvZGU6IGEuanMKLSAgU2V0dGluZyBicmVha3BvaW50IGF0IGEuanM6MzAgZW5hYmxl
ZDp0cnVlIGNvbmRpdGlvbjpjb25kaXRpb24KLSAgICBkZWJ1Z2dlck1vZGVsLnNldEJyZWFrcG9p
bnQoYS5qczozMDpjb25kaXRpb24pCi0gICAgYnJlYWtwb2ludEFkZGVkKGEuanMsIDMwLCBjb25k
aXRpb24sIHRydWUpCi0gICAgTG9jYXRpb24gY3JlYXRlZDogYS5qczozMAotICBEdW1waW5nIFN0
b3JhZ2UKLSAgICBhLmpzOjMwIGVuYWJsZWQ6dHJ1ZSBjb25kaXRpb246Y29uZGl0aW9uCi0gIFVw
ZGF0aW5nIGNvbmRpdGlvbgotICAgIGRlYnVnZ2VyTW9kZWwucmVtb3ZlQnJlYWtwb2ludChhLmpz
OjMwKQotICAgIGRlYnVnZ2VyTW9kZWwuc2V0QnJlYWtwb2ludChhLmpzOjMwOikKLSAgICBicmVh
a3BvaW50UmVtb3ZlZChhLmpzLCAzMCkKLSAgICBMb2NhdGlvbiBkaXNwb3NlZDogYS5qczozMAot
ICAgIGJyZWFrcG9pbnRBZGRlZChhLmpzLCAzMCwgLCB0cnVlKQotICAgIExvY2F0aW9uIGNyZWF0
ZWQ6IGEuanM6MzAKLSAgRHVtcGluZyBTdG9yYWdlCi0gICAgYS5qczozMCBlbmFibGVkOnRydWUg
Y29uZGl0aW9uOgotICBSZXNldHRpbmcgYnJlYWtwb2ludCBtYW5hZ2VyCi0gICAgYnJlYWtwb2lu
dFJlbW92ZWQoYS5qcywgMzApCi0gICAgTG9jYXRpb24gZGlzcG9zZWQ6IGEuanM6MzAKLSAgICBk
ZWJ1Z2dlck1vZGVsLnJlbW92ZUJyZWFrcG9pbnQoYS5qczozMCkKLQotUnVubmluZzogdGVzdFJl
c3RvcmVCcmVha3BvaW50cwotICBDcmVhdGVkIGJyZWFrcG9pbnRzIG1hbmFnZXIKLSAgRHVtcGlu
ZyBTdG9yYWdlCi0gICAgYS5qczoxMCBlbmFibGVkOnRydWUgY29uZGl0aW9uOmZvbyA9PSBiYXIK
LSAgICBhLmpzOjIwIGVuYWJsZWQ6ZmFsc2UgY29uZGl0aW9uOgotICAgIGIuanM6MyBlbmFibGVk
OnRydWUgY29uZGl0aW9uOgotICBBZGRpbmcgVUlTb3VyY2VDb2RlOiBhLmpzCi0gICAgZGVidWdn
ZXJNb2RlbC5zZXRCcmVha3BvaW50KGEuanM6MTA6Zm9vID09IGJhcikKLSAgICBicmVha3BvaW50
QWRkZWQoYS5qcywgMjAsICwgZmFsc2UpCi0gICAgYnJlYWtwb2ludEFkZGVkKGEuanMsIDEwLCBm
b28gPT0gYmFyLCB0cnVlKQotICAgIExvY2F0aW9uIGNyZWF0ZWQ6IGEuanM6MTAKLSAgRHVtcGlu
ZyBTdG9yYWdlCi0gICAgYS5qczoxMCBlbmFibGVkOnRydWUgY29uZGl0aW9uOmZvbyA9PSBiYXIK
LSAgICBhLmpzOjIwIGVuYWJsZWQ6ZmFsc2UgY29uZGl0aW9uOgotICAgIGIuanM6MyBlbmFibGVk
OnRydWUgY29uZGl0aW9uOgotICBSZXNldHRpbmcgYnJlYWtwb2ludCBtYW5hZ2VyCi0gICAgYnJl
YWtwb2ludFJlbW92ZWQoYS5qcywgMTApCi0gICAgTG9jYXRpb24gZGlzcG9zZWQ6IGEuanM6MTAK
LSAgICBkZWJ1Z2dlck1vZGVsLnJlbW92ZUJyZWFrcG9pbnQoYS5qczoxMCkKLSAgICBicmVha3Bv
aW50UmVtb3ZlZChhLmpzLCAyMCkKLQotUnVubmluZzogdGVzdFJlc3RvcmVCcmVha3BvaW50c1R3
aWNlCi0gIENyZWF0ZWQgYnJlYWtwb2ludHMgbWFuYWdlcgotICBEdW1waW5nIFN0b3JhZ2UKLSAg
ICBhLmpzOjEwIGVuYWJsZWQ6dHJ1ZSBjb25kaXRpb246Zm9vID09IGJhcgotICAgIGEuanM6MjAg
ZW5hYmxlZDpmYWxzZSBjb25kaXRpb246Ci0gICAgYi5qczozIGVuYWJsZWQ6dHJ1ZSBjb25kaXRp
b246Ci0gIEFkZGluZyBVSVNvdXJjZUNvZGU6IGEuanMKLSAgICBkZWJ1Z2dlck1vZGVsLnNldEJy
ZWFrcG9pbnQoYS5qczoxMDpmb28gPT0gYmFyKQotICAgIGJyZWFrcG9pbnRBZGRlZChhLmpzLCAy
MCwgLCBmYWxzZSkKLSAgQWRkaW5nIFVJU291cmNlQ29kZTogYS5qcwotICAgIGJyZWFrcG9pbnRB
ZGRlZChhLmpzLCAxMCwgZm9vID09IGJhciwgdHJ1ZSkKLSAgICBMb2NhdGlvbiBjcmVhdGVkOiBh
LmpzOjEwCi0gIER1bXBpbmcgU3RvcmFnZQotICAgIGEuanM6MTAgZW5hYmxlZDp0cnVlIGNvbmRp
dGlvbjpmb28gPT0gYmFyCi0gICAgYS5qczoyMCBlbmFibGVkOmZhbHNlIGNvbmRpdGlvbjoKLSAg
ICBiLmpzOjMgZW5hYmxlZDp0cnVlIGNvbmRpdGlvbjoKLSAgUmVzZXR0aW5nIGJyZWFrcG9pbnQg
bWFuYWdlcgotICAgIGJyZWFrcG9pbnRSZW1vdmVkKGEuanMsIDEwKQotICAgIExvY2F0aW9uIGRp
c3Bvc2VkOiBhLmpzOjEwCi0gICAgZGVidWdnZXJNb2RlbC5yZW1vdmVCcmVha3BvaW50KGEuanM6
MTApCi0gICAgYnJlYWtwb2ludFJlbW92ZWQoYS5qcywgMjApCi0KLVJ1bm5pbmc6IHRlc3RSZW1v
dmVCcmVha3BvaW50cwotICBDcmVhdGVkIGJyZWFrcG9pbnRzIG1hbmFnZXIKLSAgRHVtcGluZyBT
dG9yYWdlCi0gICAgYS5qczoxMCBlbmFibGVkOnRydWUgY29uZGl0aW9uOmZvbyA9PSBiYXIKLSAg
ICBhLmpzOjIwIGVuYWJsZWQ6ZmFsc2UgY29uZGl0aW9uOgotICAgIGIuanM6MyBlbmFibGVkOnRy
dWUgY29uZGl0aW9uOgotICBBZGRpbmcgVUlTb3VyY2VDb2RlOiBhLmpzCi0gICAgZGVidWdnZXJN
b2RlbC5zZXRCcmVha3BvaW50KGEuanM6MTA6Zm9vID09IGJhcikKLSAgICBicmVha3BvaW50QWRk
ZWQoYS5qcywgMjAsICwgZmFsc2UpCi0gICAgYnJlYWtwb2ludEFkZGVkKGEuanMsIDEwLCBmb28g
PT0gYmFyLCB0cnVlKQotICAgIExvY2F0aW9uIGNyZWF0ZWQ6IGEuanM6MTAKLSAgU2V0dGluZyBi
cmVha3BvaW50IGF0IGEuanM6MzAgZW5hYmxlZDp0cnVlIGNvbmRpdGlvbjoKLSAgICBkZWJ1Z2dl
ck1vZGVsLnNldEJyZWFrcG9pbnQoYS5qczozMDopCi0gICAgYnJlYWtwb2ludEFkZGVkKGEuanMs
IDMwLCAsIHRydWUpCi0gICAgTG9jYXRpb24gY3JlYXRlZDogYS5qczozMAotICBSZW1vdmluZyBi
cmVha3BvaW50IGF0IGEuanM6MzAKLSAgICBicmVha3BvaW50UmVtb3ZlZChhLmpzLCAzMCkKLSAg
ICBMb2NhdGlvbiBkaXNwb3NlZDogYS5qczozMAotICAgIGRlYnVnZ2VyTW9kZWwucmVtb3ZlQnJl
YWtwb2ludChhLmpzOjMwKQotICBSZW1vdmluZyBicmVha3BvaW50IGF0IGEuanM6MTAKLSAgICBi
cmVha3BvaW50UmVtb3ZlZChhLmpzLCAxMCkKLSAgICBMb2NhdGlvbiBkaXNwb3NlZDogYS5qczox
MAotICAgIGRlYnVnZ2VyTW9kZWwucmVtb3ZlQnJlYWtwb2ludChhLmpzOjEwKQotICBSZW1vdmlu
ZyBicmVha3BvaW50IGF0IGEuanM6MjAKLSAgICBicmVha3BvaW50UmVtb3ZlZChhLmpzLCAyMCkK
LSAgRHVtcGluZyBTdG9yYWdlCi0gICAgYi5qczozIGVuYWJsZWQ6dHJ1ZSBjb25kaXRpb246Ci0g
IFJlc2V0dGluZyBicmVha3BvaW50IG1hbmFnZXIKLQotUnVubmluZzogdGVzdFNldEJyZWFrcG9p
bnRUaGF0U2hpZnRzCi0gIENyZWF0ZWQgYnJlYWtwb2ludHMgbWFuYWdlcgotICBEdW1waW5nIFN0
b3JhZ2UKLSAgQWRkaW5nIFVJU291cmNlQ29kZTogYS5qcwotICBTZXR0aW5nIGJyZWFrcG9pbnQg
YXQgYS5qczoxMDE1IGVuYWJsZWQ6dHJ1ZSBjb25kaXRpb246Ci0gICAgZGVidWdnZXJNb2RlbC5z
ZXRCcmVha3BvaW50KGEuanM6MTAxNTopCi0gICAgYnJlYWtwb2ludEFkZGVkKGEuanMsIDEwMjUs
ICwgdHJ1ZSkKLSAgICBMb2NhdGlvbiBjcmVhdGVkOiBhLmpzOjEwMjUKLSAgRHVtcGluZyBTdG9y
YWdlCi0gICAgYS5qczoxMDE1IGVuYWJsZWQ6dHJ1ZSBjb25kaXRpb246Ci0gIFJlc2V0dGluZyBi
cmVha3BvaW50IG1hbmFnZXIKLSAgICBicmVha3BvaW50UmVtb3ZlZChhLmpzLCAxMDI1KQotICAg
IExvY2F0aW9uIGRpc3Bvc2VkOiBhLmpzOjEwMjUKLSAgICBkZWJ1Z2dlck1vZGVsLnJlbW92ZUJy
ZWFrcG9pbnQoYS5qczoxMDE1KQotCi1SdW5uaW5nOiB0ZXN0U2V0QnJlYWtwb2ludFRoYXRTaGlm
dHNUd2ljZQotICBDcmVhdGVkIGJyZWFrcG9pbnRzIG1hbmFnZXIKLSAgRHVtcGluZyBTdG9yYWdl
Ci0gIEFkZGluZyBVSVNvdXJjZUNvZGU6IGEuanMKLSAgU2V0dGluZyBicmVha3BvaW50IGF0IGEu
anM6MTAxNSBlbmFibGVkOnRydWUgY29uZGl0aW9uOgotICAgIGRlYnVnZ2VyTW9kZWwuc2V0QnJl
YWtwb2ludChhLmpzOjEwMTU6KQotICAgIGJyZWFrcG9pbnRBZGRlZChhLmpzLCAxMDI1LCAsIHRy
dWUpCi0gICAgTG9jYXRpb24gY3JlYXRlZDogYS5qczoxMDI1Ci0gIFNldHRpbmcgYnJlYWtwb2lu
dCBhdCBhLmpzOjEwMTUgZW5hYmxlZDp0cnVlIGNvbmRpdGlvbjoKLSAgRHVtcGluZyBTdG9yYWdl
Ci0gICAgYS5qczoxMDE1IGVuYWJsZWQ6dHJ1ZSBjb25kaXRpb246Ci0gIFJlc2V0dGluZyBicmVh
a3BvaW50IG1hbmFnZXIKLSAgICBicmVha3BvaW50UmVtb3ZlZChhLmpzLCAxMDI1KQotICAgIExv
Y2F0aW9uIGRpc3Bvc2VkOiBhLmpzOjEwMjUKLSAgICBkZWJ1Z2dlck1vZGVsLnJlbW92ZUJyZWFr
cG9pbnQoYS5qczoxMDE1KQotCi1SdW5uaW5nOiB0ZXN0U2V0QnJlYWtwb2ludE91dHNpZGVTY3Jp
cHQKLSAgQ3JlYXRlZCBicmVha3BvaW50cyBtYW5hZ2VyCi0gIER1bXBpbmcgU3RvcmFnZQotICBB
ZGRpbmcgVUlTb3VyY2VDb2RlOiBhLmpzCi0gICAgZGVidWdnZXJNb2RlbC5zZXRCcmVha3BvaW50
KGEuanM6MjUwMDopCi0gICAgYnJlYWtwb2ludEFkZGVkKGEuanMsIDI1MDAsICwgdHJ1ZSkKLSAg
RHVtcGluZyBTdG9yYWdlCi0gICAgYS5qczoyNTAwIGVuYWJsZWQ6dHJ1ZSBjb25kaXRpb246Ci0g
IFJlc2V0dGluZyBicmVha3BvaW50IG1hbmFnZXIKLSAgICBicmVha3BvaW50UmVtb3ZlZChhLmpz
LCAyNTAwKQotICAgIGRlYnVnZ2VyTW9kZWwucmVtb3ZlQnJlYWtwb2ludChhLmpzOjI1MDApCi0K
LVJ1bm5pbmc6IHRlc3ROYXZpZ2F0aW9uCi0gIENyZWF0ZWQgYnJlYWtwb2ludHMgbWFuYWdlcgot
ICBEdW1waW5nIFN0b3JhZ2UKLSAgICBhLmpzOjEwIGVuYWJsZWQ6dHJ1ZSBjb25kaXRpb246Zm9v
ID09IGJhcgotICAgIGEuanM6MjAgZW5hYmxlZDpmYWxzZSBjb25kaXRpb246Ci0gICAgYi5qczoz
IGVuYWJsZWQ6dHJ1ZSBjb25kaXRpb246Ci0gIEFkZGluZyBVSVNvdXJjZUNvZGU6IGEuanMKLSAg
ICBkZWJ1Z2dlck1vZGVsLnNldEJyZWFrcG9pbnQoYS5qczoxMDpmb28gPT0gYmFyKQotICAgIGJy
ZWFrcG9pbnRBZGRlZChhLmpzLCAyMCwgLCBmYWxzZSkKLSAgICBicmVha3BvaW50QWRkZWQoYS5q
cywgMTAsIGZvbyA9PSBiYXIsIHRydWUpCi0gICAgTG9jYXRpb24gY3JlYXRlZDogYS5qczoxMAot
Ci0gIE5hdmlnYXRpbmcgdG8gQi4KLSAgUmVzZXR0aW5nIGRlYnVnZ2VyLgotICBSZXNldHRpbmcg
d29ya3NwYWNlLgotICAgIGJyZWFrcG9pbnRSZW1vdmVkKGEuanMsIDEwKQotICAgIExvY2F0aW9u
IGRpc3Bvc2VkOiBhLmpzOjEwCi0gICAgYnJlYWtwb2ludFJlbW92ZWQoYS5qcywgMjApCi0gIEFk
ZGluZyBVSVNvdXJjZUNvZGU6IGIuanMKLSAgICBkZWJ1Z2dlck1vZGVsLnNldEJyZWFrcG9pbnQo
Yi5qczozOikKLSAgICBicmVha3BvaW50QWRkZWQoYi5qcywgMywgLCB0cnVlKQotICAgIExvY2F0
aW9uIGNyZWF0ZWQ6IGIuanM6MwotCi0gIE5hdmlnYXRpbmcgYmFjayB0byBBLgotICBSZXNldHRp
bmcgZGVidWdnZXIuCi0gIFJlc2V0dGluZyB3b3Jrc3BhY2UuCi0gICAgYnJlYWtwb2ludFJlbW92
ZWQoYi5qcywgMykKLSAgICBMb2NhdGlvbiBkaXNwb3NlZDogYi5qczozCi0gIFJlc29sdmluZyBw
cm92aXNpb25hbCBicmVha3BvaW50LgotICBBZGRpbmcgdGVtcG9yYXJ5IFVJU291cmNlQ29kZTog
YS5qcwotICAgIGJyZWFrcG9pbnRBZGRlZChhLmpzLCAxMSwgZm9vID09IGJhciwgdHJ1ZSkKLSAg
ICBMb2NhdGlvbiBjcmVhdGVkOiBhLmpzOjExCi0gIEFkZGluZyBVSVNvdXJjZUNvZGU6IGEuanMK
LSAgICBicmVha3BvaW50UmVtb3ZlZChhLmpzLCAxMSkKLSAgICBMb2NhdGlvbiBkaXNwb3NlZDog
YS5qczoxMQotICAgIGRlYnVnZ2VyTW9kZWwucmVtb3ZlQnJlYWtwb2ludChhLmpzOjEwKQotICAg
IGRlYnVnZ2VyTW9kZWwuc2V0QnJlYWtwb2ludChhLmpzOjEwOmZvbyA9PSBiYXIpCi0gICAgYnJl
YWtwb2ludEFkZGVkKGEuanMsIDIwLCAsIGZhbHNlKQotICAgIGJyZWFrcG9pbnRBZGRlZChhLmpz
LCAxMCwgZm9vID09IGJhciwgdHJ1ZSkKLSAgICBMb2NhdGlvbiBjcmVhdGVkOiBhLmpzOjEwCi0g
IER1bXBpbmcgU3RvcmFnZQotICAgIGEuanM6MTAgZW5hYmxlZDp0cnVlIGNvbmRpdGlvbjpmb28g
PT0gYmFyCi0gICAgYS5qczoyMCBlbmFibGVkOmZhbHNlIGNvbmRpdGlvbjoKLSAgICBiLmpzOjMg
ZW5hYmxlZDp0cnVlIGNvbmRpdGlvbjoKLSAgUmVzZXR0aW5nIGJyZWFrcG9pbnQgbWFuYWdlcgot
ICAgIGJyZWFrcG9pbnRSZW1vdmVkKGEuanMsIDEwKQotICAgIExvY2F0aW9uIGRpc3Bvc2VkOiBh
LmpzOjEwCi0gICAgZGVidWdnZXJNb2RlbC5yZW1vdmVCcmVha3BvaW50KGEuanM6MTApCi0gICAg
YnJlYWtwb2ludFJlbW92ZWQoYS5qcywgMjApCi0gICAgZGVidWdnZXJNb2RlbC5yZW1vdmVCcmVh
a3BvaW50KGIuanM6MykKLQotUnVubmluZzogdGVzdFNvdXJjZU1hcHBpbmcKLSAgQ3JlYXRlZCBi
cmVha3BvaW50cyBtYW5hZ2VyCi0gIER1bXBpbmcgU3RvcmFnZQotICAgIGEuanM6MTAgZW5hYmxl
ZDp0cnVlIGNvbmRpdGlvbjpmb28gPT0gYmFyCi0gICAgYS5qczoyMCBlbmFibGVkOnRydWUgY29u
ZGl0aW9uOgotICBBZGRpbmcgVUlTb3VyY2VDb2RlOiBhLmpzCi0gICAgZGVidWdnZXJNb2RlbC5z
ZXRCcmVha3BvaW50KGEuanM6MTA6Zm9vID09IGJhcikKLSAgICBkZWJ1Z2dlck1vZGVsLnNldEJy
ZWFrcG9pbnQoYS5qczoyMDopCi0gICAgYnJlYWtwb2ludEFkZGVkKGEuanMsIDEwLCBmb28gPT0g
YmFyLCB0cnVlKQotICAgIExvY2F0aW9uIGNyZWF0ZWQ6IGEuanM6MTAKLSAgICBicmVha3BvaW50
QWRkZWQoYS5qcywgMjAsICwgdHJ1ZSkKLSAgICBMb2NhdGlvbiBjcmVhdGVkOiBhLmpzOjIwCi0K
LSAgVG9nZ2xpbmcgc291cmNlIG1hcHBpbmcuCi0gICAgYnJlYWtwb2ludFJlbW92ZWQoYS5qcywg
MTApCi0gICAgYnJlYWtwb2ludEFkZGVkKGEuanMsIDIwLCBmb28gPT0gYmFyLCB0cnVlKQotICAg
IGJyZWFrcG9pbnRSZW1vdmVkKGEuanMsIDIwKQotICAgIGJyZWFrcG9pbnRBZGRlZChhLmpzLCAz
MCwgLCB0cnVlKQotCi0gIFRvZ2dsaW5nIHNvdXJjZSBtYXBwaW5nIGJhY2suCi0gICAgYnJlYWtw
b2ludFJlbW92ZWQoYS5qcywgMjApCi0gICAgYnJlYWtwb2ludEFkZGVkKGEuanMsIDEwLCBmb28g
PT0gYmFyLCB0cnVlKQotICAgIGJyZWFrcG9pbnRSZW1vdmVkKGEuanMsIDMwKQotICAgIGJyZWFr
cG9pbnRBZGRlZChhLmpzLCAyMCwgLCB0cnVlKQotICBEdW1waW5nIFN0b3JhZ2UKLSAgICBhLmpz
OjEwIGVuYWJsZWQ6dHJ1ZSBjb25kaXRpb246Zm9vID09IGJhcgotICAgIGEuanM6MjAgZW5hYmxl
ZDp0cnVlIGNvbmRpdGlvbjoKLSAgUmVzZXR0aW5nIGJyZWFrcG9pbnQgbWFuYWdlcgotICAgIGJy
ZWFrcG9pbnRSZW1vdmVkKGEuanMsIDEwKQotICAgIExvY2F0aW9uIGRpc3Bvc2VkOiBhLmpzOjEw
Ci0gICAgZGVidWdnZXJNb2RlbC5yZW1vdmVCcmVha3BvaW50KGEuanM6MTApCi0gICAgYnJlYWtw
b2ludFJlbW92ZWQoYS5qcywgMjApCi0gICAgTG9jYXRpb24gZGlzcG9zZWQ6IGEuanM6MjAKLSAg
ICBkZWJ1Z2dlck1vZGVsLnJlbW92ZUJyZWFrcG9pbnQoYS5qczoyMCkKLQotUnVubmluZzogdGVz
dFByb3Zpc2lvbmFsQnJlYWtwb2ludHNSZXNvbHZlCi0gIENyZWF0ZWQgYnJlYWtwb2ludHMgbWFu
YWdlcgotICBEdW1waW5nIFN0b3JhZ2UKLSAgICBhLmpzOjEwIGVuYWJsZWQ6dHJ1ZSBjb25kaXRp
b246Zm9vID09IGJhcgotICBBZGRpbmcgVUlTb3VyY2VDb2RlOiBhLmpzCi0gICAgZGVidWdnZXJN
b2RlbC5zZXRCcmVha3BvaW50KGEuanM6MTA6Zm9vID09IGJhcikKLSAgICBicmVha3BvaW50QWRk
ZWQoYS5qcywgMTAsIGZvbyA9PSBiYXIsIHRydWUpCi0gICAgTG9jYXRpb24gY3JlYXRlZDogYS5q
czoxMAotICBSZXNldHRpbmcgZGVidWdnZXIuCi0gIFJlc2V0dGluZyB3b3Jrc3BhY2UuCi0gICAg
YnJlYWtwb2ludFJlbW92ZWQoYS5qcywgMTApCi0gICAgTG9jYXRpb24gZGlzcG9zZWQ6IGEuanM6
MTAKLSAgUmVzb2x2aW5nIHByb3Zpc2lvbmFsIGJyZWFrcG9pbnQuCi0gIEFkZGluZyB0ZW1wb3Jh
cnkgVUlTb3VyY2VDb2RlOiBhLmpzCi0gICAgYnJlYWtwb2ludEFkZGVkKGEuanMsIDExLCBmb28g
PT0gYmFyLCB0cnVlKQotICAgIExvY2F0aW9uIGNyZWF0ZWQ6IGEuanM6MTEKLSAgRHVtcGluZyBT
dG9yYWdlCi0gICAgYS5qczoxMCBlbmFibGVkOnRydWUgY29uZGl0aW9uOmZvbyA9PSBiYXIKLSAg
UmVzZXR0aW5nIGJyZWFrcG9pbnQgbWFuYWdlcgotICAgIGJyZWFrcG9pbnRSZW1vdmVkKGEuanMs
IDExKQotICAgIExvY2F0aW9uIGRpc3Bvc2VkOiBhLmpzOjExCi0gICAgZGVidWdnZXJNb2RlbC5y
ZW1vdmVCcmVha3BvaW50KGEuanM6MTApCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci9kZWJ1Z2dlci9icmVha3BvaW50LW1hbmFnZXIuaHRtbCBiL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci9kZWJ1Z2dlci9icmVha3BvaW50LW1hbmFnZXIuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggOTUyMzNiMDVhOWY4YTliMjE2MDRjM2FkZTc0ZjVmZGYxOWQ5YmJhYy4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9p
bnNwZWN0b3IvZGVidWdnZXIvYnJlYWtwb2ludC1tYW5hZ2VyLmh0bWwKKysrIC9kZXYvbnVsbApA
QCAtMSw1MjcgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRw
L3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci0KLTxzY3JpcHQ+
Ci0KLWZ1bmN0aW9uIHRlc3QoKQotewotICAgIHZhciB1aVNvdXJjZUNvZGVzID0ge307Ci0KLSAg
ICB2YXIgZGVmYXVsdE1hcHBpbmcgPSB7Ci0gICAgICAgIHJhd0xvY2F0aW9uVG9VSUxvY2F0aW9u
OiBmdW5jdGlvbihyYXdMb2NhdGlvbikKLSAgICAgICAgewotICAgICAgICAgICAgcmV0dXJuIG5l
dyBXZWJJbnNwZWN0b3IuVUlMb2NhdGlvbih1aVNvdXJjZUNvZGVzW3Jhd0xvY2F0aW9uLnNjcmlw
dElkXSwgcmF3TG9jYXRpb24ubGluZU51bWJlciwgMCk7Ci0gICAgICAgIH0sCi0KLSAgICAgICAg
dWlMb2NhdGlvblRvUmF3TG9jYXRpb246IGZ1bmN0aW9uKHVpU291cmNlQ29kZSwgbGluZU51bWJl
cikKLSAgICAgICAgewotICAgICAgICAgICAgaWYgKCF1aVNvdXJjZUNvZGVzW3VpU291cmNlQ29k
ZS51cmxdKQotICAgICAgICAgICAgICAgIHJldHVybiBudWxsOwotICAgICAgICAgICAgcmV0dXJu
IG5ldyBXZWJJbnNwZWN0b3IuRGVidWdnZXJNb2RlbC5Mb2NhdGlvbih1aVNvdXJjZUNvZGUudXJs
LCBsaW5lTnVtYmVyLCAwKTsKLSAgICAgICAgfSwKLQotICAgICAgICBpc0lkZW50aXR5OiBmdW5j
dGlvbigpCi0gICAgICAgIHsKLSAgICAgICAgICAgIHJldHVybiB0cnVlOwotICAgICAgICB9Ci0g
ICAgfTsKLQotICAgIHZhciBzaGlmdGluZ01hcHBpbmcgPSB7Ci0gICAgICAgIHJhd0xvY2F0aW9u
VG9VSUxvY2F0aW9uOiBmdW5jdGlvbihyYXdMb2NhdGlvbikKLSAgICAgICAgewotICAgICAgICAg
ICAgaWYgKHRoaXMuX2Rpc2FibGVkKQotICAgICAgICAgICAgICAgIHJldHVybiBudWxsOwotICAg
ICAgICAgICAgcmV0dXJuIG5ldyBXZWJJbnNwZWN0b3IuVUlMb2NhdGlvbih1aVNvdXJjZUNvZGVz
W3Jhd0xvY2F0aW9uLnNjcmlwdElkXSwgcmF3TG9jYXRpb24ubGluZU51bWJlciArIDEwLCAwKTsK
LSAgICAgICAgfSwKLQotICAgICAgICB1aUxvY2F0aW9uVG9SYXdMb2NhdGlvbjogZnVuY3Rpb24o
dWlTb3VyY2VDb2RlLCBsaW5lTnVtYmVyKQotICAgICAgICB7Ci0gICAgICAgICAgICByZXR1cm4g
bmV3IFdlYkluc3BlY3Rvci5EZWJ1Z2dlck1vZGVsLkxvY2F0aW9uKHVpU291cmNlQ29kZS51cmws
IGxpbmVOdW1iZXIgLSAxMCwgMCk7Ci0gICAgICAgIH0sCi0KLSAgICAgICAgaXNJZGVudGl0eTog
ZnVuY3Rpb24oKQotICAgICAgICB7Ci0gICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAg
IH0KLSAgICB9OwotCi0gICAgZnVuY3Rpb24gRGVidWdnZXJNb2RlbE1vY2soc291cmNlTWFwcGlu
ZykKLSAgICB7Ci0gICAgICAgIHRoaXMuX3NjcmlwdHMgPSB7fTsKLSAgICAgICAgdGhpcy5fc291
cmNlTWFwcGluZyA9IHNvdXJjZU1hcHBpbmc7Ci0gICAgICAgIHRoaXMuX2JyZWFrcG9pbnRzID0g
e307Ci0gICAgfQotCi0gICAgRGVidWdnZXJNb2RlbE1vY2sucHJvdG90eXBlID0gewotICAgICAg
ICBfYWRkU2NyaXB0OiBmdW5jdGlvbihzY3JpcHRJZCwgdXJsKQotICAgICAgICB7Ci0gICAgICAg
ICAgICB0aGlzLl9zY3JpcHRzW3NjcmlwdElkXSA9IG5ldyBXZWJJbnNwZWN0b3IuU2NyaXB0KHNj
cmlwdElkLCB1cmwpOwotICAgICAgICAgICAgdGhpcy5fc2NyaXB0c1tzY3JpcHRJZF0ucHVzaFNv
dXJjZU1hcHBpbmcodGhpcy5fc291cmNlTWFwcGluZyk7Ci0gICAgICAgIH0sCi0KLSAgICAgICAg
X3NjcmlwdEZvclVSTDogZnVuY3Rpb24odXJsKQotICAgICAgICB7Ci0gICAgICAgICAgICBmb3Ig
KHZhciBzY3JpcHRJZCBpbiB0aGlzLl9zY3JpcHRzKSB7Ci0gICAgICAgICAgICAgICAgdmFyIHNj
cmlwdCA9IHRoaXMuX3NjcmlwdHNbc2NyaXB0SWRdOwotICAgICAgICAgICAgICAgIGlmIChzY3Jp
cHQuc291cmNlVVJMID09PSB1cmwpCi0gICAgICAgICAgICAgICAgICAgIHJldHVybiBzY3JpcHQ7
Ci0gICAgICAgICAgICB9Ci0gICAgICAgfSwKLQotICAgICAgICBfc2NoZWR1bGVTZXRCZWFrcG9p
bnRDYWxsYmFjazogZnVuY3Rpb24oY2FsbGJhY2ssIGJyZWFrcG9pbnRJZCwgbG9jYXRpb25zKQot
ICAgICAgICB7Ci0gICAgICAgICAgICBzZXRUaW1lb3V0KGlubmVyQ2FsbGJhY2suYmluZCh0aGlz
KSwgMCk7Ci0KLSAgICAgICAgICAgIGZ1bmN0aW9uIGlubmVyQ2FsbGJhY2soKQotICAgICAgICAg
ICAgewotICAgICAgICAgICAgICAgIGlmIChjYWxsYmFjaykKLSAgICAgICAgICAgICAgICAgICAg
Y2FsbGJhY2soYnJlYWtwb2ludElkLCBsb2NhdGlvbnMpOwotICAgICAgICAgICAgICAgIGlmICh3
aW5kb3cuc2V0QnJlYWtwb2ludENhbGxiYWNrKSB7Ci0gICAgICAgICAgICAgICAgICAgIHZhciBz
YXZlZENhbGxiYWNrID0gd2luZG93LnNldEJyZWFrcG9pbnRDYWxsYmFjazsKLSAgICAgICAgICAg
ICAgICAgICAgZGVsZXRlIHdpbmRvdy5zZXRCcmVha3BvaW50Q2FsbGJhY2s7Ci0gICAgICAgICAg
ICAgICAgICAgIHNhdmVkQ2FsbGJhY2soKTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAg
ICB9Ci0gICAgICAgIH0sCi0KLSAgICAgICAgc2V0QnJlYWtwb2ludEJ5VVJMOiBmdW5jdGlvbih1
cmwsIGxpbmVOdW1iZXIsIGNvbHVtbk51bWJlciwgY29uZGl0aW9uLCBjYWxsYmFjaykKLSAgICAg
ICAgewotICAgICAgICAgICAgdmFyIGJyZWFrcG9pbnRJZCA9IHVybCArICI6IiArIGxpbmVOdW1i
ZXI7Ci0gICAgICAgICAgICBpZiAodGhpcy5fYnJlYWtwb2ludHNbYnJlYWtwb2ludElkXSkgewot
ICAgICAgICAgICAgICAgIHRoaXMuX3NjaGVkdWxlU2V0QmVha3BvaW50Q2FsbGJhY2soY2FsbGJh
Y2ssIG51bGwpOwotICAgICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgICAgIH0KLQotICAg
ICAgICAgICAgdGhpcy5fYnJlYWtwb2ludHNbYnJlYWtwb2ludElkXSA9IHRydWU7Ci0gICAgICAg
ICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiICAgIGRlYnVnZ2VyTW9kZWwuc2V0QnJlYWtw
b2ludCgiICsgW3VybCwgbGluZU51bWJlciwgY29uZGl0aW9uXS5qb2luKCI6IikgKyAiKSIpOwot
Ci0gICAgICAgICAgICB2YXIgbG9jYXRpb25zID0gW107Ci0gICAgICAgICAgICB2YXIgc2NyaXB0
ID0gdGhpcy5fc2NyaXB0Rm9yVVJMKHVybCk7Ci0gICAgICAgICAgICBpZiAoc2NyaXB0KSB7Ci0g
ICAgICAgICAgICAgICAgdmFyIGxvY2F0aW9uID0gbmV3IFdlYkluc3BlY3Rvci5EZWJ1Z2dlck1v
ZGVsLkxvY2F0aW9uKHNjcmlwdC5zY3JpcHRJZCwgbGluZU51bWJlciwgMCk7Ci0gICAgICAgICAg
ICAgICAgbG9jYXRpb25zLnB1c2gobG9jYXRpb24pOwotICAgICAgICAgICAgfQotCi0gICAgICAg
ICAgICB0aGlzLl9zY2hlZHVsZVNldEJlYWtwb2ludENhbGxiYWNrKGNhbGxiYWNrLCBicmVha3Bv
aW50SWQsIGxvY2F0aW9ucyk7Ci0gICAgICAgIH0sCi0KLSAgICAgICAgc2V0QnJlYWtwb2ludEJ5
U2NyaXB0TG9jYXRpb246IGZ1bmN0aW9uKGxvY2F0aW9uLCBjb25kaXRpb24sIGNhbGxiYWNrKQot
ICAgICAgICB7Ci0gICAgICAgICAgICB2YXIgYnJlYWtwb2ludElkID0gbG9jYXRpb24uc2NyaXB0
SWQgKyAiOiIgKyBsb2NhdGlvbi5saW5lTnVtYmVyOwotICAgICAgICAgICAgaWYgKHRoaXMuX2Jy
ZWFrcG9pbnRzW2JyZWFrcG9pbnRJZF0pIHsKLSAgICAgICAgICAgICAgICB0aGlzLl9zY2hlZHVs
ZVNldEJlYWtwb2ludENhbGxiYWNrKGNhbGxiYWNrLCBudWxsKTsKLSAgICAgICAgICAgICAgICBy
ZXR1cm47Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIHRoaXMuX2JyZWFrcG9pbnRzW2Jy
ZWFrcG9pbnRJZF0gPSB0cnVlOwotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQo
IiAgICBkZWJ1Z2dlck1vZGVsLnNldEJyZWFrcG9pbnQoIiArIFtsb2NhdGlvbi5zY3JpcHRJZCwg
bG9jYXRpb24ubGluZU51bWJlciwgY29uZGl0aW9uXS5qb2luKCI6IikgKyAiKSIpOwotCi0gICAg
ICAgICAgICBpZiAobG9jYXRpb24ubGluZU51bWJlciA+PSAyMDAwKSB7Ci0gICAgICAgICAgICAg
ICAgdGhpcy5fc2NoZWR1bGVTZXRCZWFrcG9pbnRDYWxsYmFjayhjYWxsYmFjaywgYnJlYWtwb2lu
dElkLCBbXSk7Ci0gICAgICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICAgICAgfQotICAgICAg
ICAgICAgaWYgKGxvY2F0aW9uLmxpbmVOdW1iZXIgPj0gMTAwMCkgewotICAgICAgICAgICAgICAg
IHZhciBzaGlmdGVkTG9jYXRpb24gPSB7c2NyaXB0SWQ6IGxvY2F0aW9uLnNjcmlwdElkLCBsaW5l
TnVtYmVyOiBsb2NhdGlvbi5saW5lTnVtYmVyICsgMTAsIGNvbHVtbk51bWJlcjogbG9jYXRpb24u
Y29sdW1uTnVtYmVyIH07Ci0gICAgICAgICAgICAgICAgdGhpcy5fc2NoZWR1bGVTZXRCZWFrcG9p
bnRDYWxsYmFjayhjYWxsYmFjaywgYnJlYWtwb2ludElkLCBbc2hpZnRlZExvY2F0aW9uXSk7Ci0g
ICAgICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICB0aGlz
Ll9zY2hlZHVsZVNldEJlYWtwb2ludENhbGxiYWNrKGNhbGxiYWNrLCBicmVha3BvaW50SWQsIFts
b2NhdGlvbl0pOwotICAgICAgICB9LAotCi0gICAgICAgIHJlbW92ZUJyZWFrcG9pbnQ6IGZ1bmN0
aW9uKGJyZWFrcG9pbnRJZCwgY2FsbGJhY2spCi0gICAgICAgIHsKLSAgICAgICAgICAgIEluc3Bl
Y3RvclRlc3QuYWRkUmVzdWx0KCIgICAgZGVidWdnZXJNb2RlbC5yZW1vdmVCcmVha3BvaW50KCIg
KyBicmVha3BvaW50SWQgKyAiKSIpOwotICAgICAgICAgICAgZGVsZXRlIHRoaXMuX2JyZWFrcG9p
bnRzW2JyZWFrcG9pbnRJZF07Ci0gICAgICAgICAgICBpZiAoY2FsbGJhY2spCi0gICAgICAgICAg
ICAgICAgY2FsbGJhY2soKTsKLSAgICAgICAgfSwKLQotICAgICAgICBzZXRCcmVha3BvaW50c0Fj
dGl2ZTogZnVuY3Rpb24oKSB7IH0sCi0KLSAgICAgICAgY3JlYXRlTGl2ZUxvY2F0aW9uOiBmdW5j
dGlvbihyYXdMb2NhdGlvbiwgdXBkYXRlRGVsZWdhdGUpCi0gICAgICAgIHsKLSAgICAgICAgICAg
ICByZXR1cm4gdGhpcy5fc2NyaXB0c1tyYXdMb2NhdGlvbi5zY3JpcHRJZF0uY3JlYXRlTGl2ZUxv
Y2F0aW9uKHJhd0xvY2F0aW9uLCB1cGRhdGVEZWxlZ2F0ZSk7Ci0gICAgICAgIH0sCi0KLSAgICAg
ICAgc2NyaXB0Rm9ySWQ6IGZ1bmN0aW9uKHNjcmlwdElkKQotICAgICAgICB7Ci0gICAgICAgICAg
ICByZXR1cm4gdGhpcy5fc2NyaXB0c1tzY3JpcHRJZF07Ci0gICAgICAgIH0sCi0KLSAgICAgICAg
cmVzZXQ6IGZ1bmN0aW9uKCkKLSAgICAgICAgewotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5h
ZGRSZXN1bHQoIiAgUmVzZXR0aW5nIGRlYnVnZ2VyLiIpOwotICAgICAgICAgICAgdGhpcy5fc2Ny
aXB0cyA9IHt9OwotICAgICAgICB9LAotCi0gICAgICAgIHB1c2hTb3VyY2VNYXBwaW5nOiBmdW5j
dGlvbihzb3VyY2VNYXBwaW5nKQotICAgICAgICB7Ci0gICAgICAgICAgICBmb3IgKHZhciBzY3Jp
cHRJZCBpbiB0aGlzLl9zY3JpcHRzKQotICAgICAgICAgICAgICAgIHRoaXMuX3NjcmlwdHNbc2Ny
aXB0SWRdLnB1c2hTb3VyY2VNYXBwaW5nKHNvdXJjZU1hcHBpbmcpOwotICAgICAgICB9LAotCi0g
ICAgICAgIGRpc2FibGVTb3VyY2VNYXBwaW5nOiBmdW5jdGlvbihzb3VyY2VNYXBwaW5nKQotICAg
ICAgICB7Ci0gICAgICAgICAgICBzb3VyY2VNYXBwaW5nLl9kaXNhYmxlZCA9IHRydWU7Ci0gICAg
ICAgICAgICBmb3IgKHZhciBzY3JpcHRJZCBpbiB0aGlzLl9zY3JpcHRzKQotICAgICAgICAgICAg
ICAgIHRoaXMuX3NjcmlwdHNbc2NyaXB0SWRdLnVwZGF0ZUxvY2F0aW9ucygpOwotICAgICAgICB9
Ci0gICAgfQotICAgIERlYnVnZ2VyTW9kZWxNb2NrLnByb3RvdHlwZS5fX3Byb3RvX18gPSBXZWJJ
bnNwZWN0b3IuT2JqZWN0LnByb3RvdHlwZTsKLQotICAgIHZhciBkdW1teVNldHRpbmcgPSB7Ci0g
ICAgICAgIGdldDogZnVuY3Rpb24oKSB7IHJldHVybiBbXTsgfSwKLSAgICAgICAgc2V0OiBmdW5j
dGlvbihicmVha3BvaW50cykgeyB9Ci0gICAgfTsKLQotICAgIGZ1bmN0aW9uIHJlc2V0V29ya3Nw
YWNlKGJyZWFrcG9pbnRNYW5hZ2VyKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRS
ZXN1bHQoIiAgUmVzZXR0aW5nIHdvcmtzcGFjZS4iKTsKLSAgICAgICAgYnJlYWtwb2ludE1hbmFn
ZXIuX25ldHdvcmtXb3Jrc3BhY2VQcm92aWRlci5yZXNldCgpOwotICAgICAgICBicmVha3BvaW50
TWFuYWdlci5fZGVidWdnZXJXb3Jrc3BhY2VQcm92aWRlci5yZXNldCgpOwotICAgIH0KLQotICAg
IGZ1bmN0aW9uIGJyZWFrcG9pbnRBZGRlZChldmVudCkKLSAgICB7Ci0gICAgICAgIHZhciBicmVh
a3BvaW50ID0gZXZlbnQuZGF0YS5icmVha3BvaW50OwotICAgICAgICB2YXIgdWlMb2NhdGlvbiA9
IGV2ZW50LmRhdGEudWlMb2NhdGlvbjsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQo
IiAgICBicmVha3BvaW50QWRkZWQoIiArIFt1aUxvY2F0aW9uLnVpU291cmNlQ29kZS5vcmlnaW5V
UkwoKSwgdWlMb2NhdGlvbi5saW5lTnVtYmVyLCBicmVha3BvaW50LmNvbmRpdGlvbigpLCBicmVh
a3BvaW50LmVuYWJsZWQoKV0uam9pbigiLCAiKSArICIpIik7Ci0gICAgfQotCi0gICAgZnVuY3Rp
b24gYnJlYWtwb2ludFJlbW92ZWQoZXZlbnQpCi0gICAgewotICAgICAgICB2YXIgdWlMb2NhdGlv
biA9IGV2ZW50LmRhdGEudWlMb2NhdGlvbjsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1
bHQoIiAgICBicmVha3BvaW50UmVtb3ZlZCgiICsgW3VpTG9jYXRpb24udWlTb3VyY2VDb2RlLm9y
aWdpblVSTCgpLCB1aUxvY2F0aW9uLmxpbmVOdW1iZXJdLmpvaW4oIiwgIikgKyAiKSIpOwotICAg
IH0KLQotICAgIEluc3BlY3RvclRlc3QuYWRkU25pZmZlcihXZWJJbnNwZWN0b3IuU2NyaXB0LnBy
b3RvdHlwZSwgImNyZWF0ZUxpdmVMb2NhdGlvbiIsIGZ1bmN0aW9uKHJhd0xvY2F0aW9uKQotICAg
IHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIiAgICBMb2NhdGlvbiBjcmVhdGVk
OiAiICsgcmF3TG9jYXRpb24uc2NyaXB0SWQgKyAiOiIgKyByYXdMb2NhdGlvbi5saW5lTnVtYmVy
KTsKLSAgICB9LCB0cnVlKTsKLSAgICBJbnNwZWN0b3JUZXN0LmFkZFNuaWZmZXIoV2ViSW5zcGVj
dG9yLlNjcmlwdC5Mb2NhdGlvbi5wcm90b3R5cGUsICJkaXNwb3NlIiwgZnVuY3Rpb24oKQotICAg
IHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIiAgICBMb2NhdGlvbiBkaXNwb3Nl
ZDogIiArIHRoaXMuX3Jhd0xvY2F0aW9uLnNjcmlwdElkICsgIjoiICsgdGhpcy5fcmF3TG9jYXRp
b24ubGluZU51bWJlcik7Ci0gICAgfSwgdHJ1ZSk7Ci0KLSAgICBmdW5jdGlvbiBhZGRVSVNvdXJj
ZUNvZGUoYnJlYWtwb2ludE1hbmFnZXIsIHVybCkKLSAgICB7Ci0gICAgICAgIGJyZWFrcG9pbnRN
YW5hZ2VyLl9kZWJ1Z2dlck1vZGVsLl9hZGRTY3JpcHQodXJsLCB1cmwpOwotICAgICAgICBJbnNw
ZWN0b3JUZXN0LmFkZFJlc3VsdCgiICBBZGRpbmcgVUlTb3VyY2VDb2RlOiAiICsgdXJsKTsKLSAg
ICAgICAgdmFyIGNvbnRlbnRQcm92aWRlciA9IG5ldyBXZWJJbnNwZWN0b3IuU3RhdGljQ29udGVu
dFByb3ZpZGVyKFdlYkluc3BlY3Rvci5yZXNvdXJjZVR5cGVzLlNjcmlwdCwgIiIsICJ0ZXh0L2ph
dmFzY3JpcHQiKTsKLSAgICAgICAgdmFyIHVpU291cmNlQ29kZSA9IGJyZWFrcG9pbnRNYW5hZ2Vy
Ll9uZXR3b3JrV29ya3NwYWNlUHJvdmlkZXIuYWRkRmlsZUZvclVSTCh1cmwsIGNvbnRlbnRQcm92
aWRlciwgdHJ1ZSk7Ci0gICAgICAgIHVpU291cmNlQ29kZXNbdXJsXSA9IHVpU291cmNlQ29kZTsK
LSAgICAgICAgdWlTb3VyY2VDb2RlLnNldFNvdXJjZU1hcHBpbmcoZGVmYXVsdE1hcHBpbmcpOwot
ICAgICAgICByZXR1cm4gdWlTb3VyY2VDb2RlOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIGFkZFRl
bXBvcmFyeVVJU291cmNlQ29kZShicmVha3BvaW50TWFuYWdlciwgdXJsKQotICAgIHsKLQotICAg
ICAgICBicmVha3BvaW50TWFuYWdlci5fZGVidWdnZXJNb2RlbC5fYWRkU2NyaXB0KHVybCwgdXJs
KTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIiAgQWRkaW5nIHRlbXBvcmFyeSBV
SVNvdXJjZUNvZGU6ICIgKyB1cmwpOwotICAgICAgICB2YXIgY29udGVudFByb3ZpZGVyID0gbmV3
IFdlYkluc3BlY3Rvci5TdGF0aWNDb250ZW50UHJvdmlkZXIoV2ViSW5zcGVjdG9yLnJlc291cmNl
VHlwZXMuU2NyaXB0LCAiIiwgInRleHQvamF2YXNjcmlwdCIpOwotICAgICAgICB2YXIgdWlTb3Vy
Y2VDb2RlID0gYnJlYWtwb2ludE1hbmFnZXIuX2RlYnVnZ2VyV29ya3NwYWNlUHJvdmlkZXIuYWRk
VW5pcXVlRmlsZUZvclVSTCh1cmwsIGNvbnRlbnRQcm92aWRlciwgdHJ1ZSk7Ci0gICAgICAgIHVp
U291cmNlQ29kZS5zZXRTb3VyY2VNYXBwaW5nKGRlZmF1bHRNYXBwaW5nKTsKLSAgICAgICAgdWlT
b3VyY2VDb2Rlc1t1cmxdID0gdWlTb3VyY2VDb2RlOwotICAgICAgICByZXR1cm4gdWlTb3VyY2VD
b2RlOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIGNyZWF0ZUJyZWFrcG9pbnQodWlTb3VyY2VDb2Rl
SWQsIGxpbmVOdW1iZXIsIGNvbmRpdGlvbiwgZW5hYmxlZCkKLSAgICB7Ci0gICAgICAgIHJldHVy
biB7IHNvdXJjZUZpbGVJZDogdWlTb3VyY2VDb2RlSWQsIGxpbmVOdW1iZXI6IGxpbmVOdW1iZXIs
IGNvbmRpdGlvbjogY29uZGl0aW9uLCBlbmFibGVkOiBlbmFibGVkIH07Ci0gICAgfQotCi0gICAg
dmFyIHNlcmlhbGl6ZWRCcmVha3BvaW50cyA9IFtdOwotICAgIHNlcmlhbGl6ZWRCcmVha3BvaW50
cy5wdXNoKGNyZWF0ZUJyZWFrcG9pbnQoImEuanMiLCAxMCwgImZvbyA9PSBiYXIiLCB0cnVlKSk7
Ci0gICAgc2VyaWFsaXplZEJyZWFrcG9pbnRzLnB1c2goY3JlYXRlQnJlYWtwb2ludCgiYS5qcyIs
IDIwLCAiIiwgZmFsc2UpKTsKLSAgICBzZXJpYWxpemVkQnJlYWtwb2ludHMucHVzaChjcmVhdGVC
cmVha3BvaW50KCJiLmpzIiwgMywgIiIsIHRydWUpKTsKLQotICAgIGZ1bmN0aW9uIGNyZWF0ZUJy
ZWFrcG9pbnRNYW5hZ2VyKHBlcnNpc3RlbnRCcmVha3BvaW50cywgc291cmNlTWFwcGluZykKLSAg
ICB7Ci0gICAgICAgIHBlcnNpc3RlbnRCcmVha3BvaW50cyA9IHBlcnNpc3RlbnRCcmVha3BvaW50
cyB8fCBbXTsKLSAgICAgICAgdmFyIHNldHRpbmcgPSB7Ci0gICAgICAgICAgICBnZXQ6IGZ1bmN0
aW9uKCkgeyByZXR1cm4gcGVyc2lzdGVudEJyZWFrcG9pbnRzOyB9LAotICAgICAgICAgICAgc2V0
OiBmdW5jdGlvbihicmVha3BvaW50cykgeyBwZXJzaXN0ZW50QnJlYWtwb2ludHMgPSBicmVha3Bv
aW50czsgfQotICAgICAgICB9OwotCi0gICAgICAgIHZhciBzb3VyY2VNYXBwaW5nID0gc291cmNl
TWFwcGluZyB8fCBkZWZhdWx0TWFwcGluZzsKLSAgICAgICAgdmFyIGRlYnVnZ2VyTW9kZWwgPSBu
ZXcgRGVidWdnZXJNb2RlbE1vY2soc291cmNlTWFwcGluZyk7Ci0gICAgICAgIHZhciB3b3Jrc3Bh
Y2UgPSBuZXcgV2ViSW5zcGVjdG9yLldvcmtzcGFjZSgpOwotICAgICAgICB2YXIgYnJlYWtwb2lu
dE1hbmFnZXIgPSBuZXcgV2ViSW5zcGVjdG9yLkJyZWFrcG9pbnRNYW5hZ2VyKHNldHRpbmcsIGRl
YnVnZ2VyTW9kZWwsIHdvcmtzcGFjZSk7Ci0gICAgICAgIGJyZWFrcG9pbnRNYW5hZ2VyLl9uZXR3
b3JrV29ya3NwYWNlUHJvdmlkZXIgPSBuZXcgV2ViSW5zcGVjdG9yLlNpbXBsZVdvcmtzcGFjZVBy
b3ZpZGVyKHdvcmtzcGFjZSwgV2ViSW5zcGVjdG9yLnByb2plY3RUeXBlcy5OZXR3b3JrKTsKLSAg
ICAgICAgYnJlYWtwb2ludE1hbmFnZXIuX2RlYnVnZ2VyV29ya3NwYWNlUHJvdmlkZXIgPSBuZXcg
V2ViSW5zcGVjdG9yLlNpbXBsZVdvcmtzcGFjZVByb3ZpZGVyKHdvcmtzcGFjZSwgV2ViSW5zcGVj
dG9yLnByb2plY3RUeXBlcy5EZWJ1Z2dlcik7Ci0gICAgICAgIGJyZWFrcG9pbnRNYW5hZ2VyLmFk
ZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLkJyZWFrcG9pbnRNYW5hZ2VyLkV2ZW50cy5CcmVh
a3BvaW50QWRkZWQsIGJyZWFrcG9pbnRBZGRlZCk7Ci0gICAgICAgIGJyZWFrcG9pbnRNYW5hZ2Vy
LmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLkJyZWFrcG9pbnRNYW5hZ2VyLkV2ZW50cy5C
cmVha3BvaW50UmVtb3ZlZCwgYnJlYWtwb2ludFJlbW92ZWQpOwotICAgICAgICBJbnNwZWN0b3JU
ZXN0LmFkZFJlc3VsdCgiICBDcmVhdGVkIGJyZWFrcG9pbnRzIG1hbmFnZXIiKTsKLSAgICAgICAg
ZHVtcEJyZWFrcG9pbnRTdG9yYWdlKGJyZWFrcG9pbnRNYW5hZ2VyKTsKLSAgICAgICAgcmV0dXJu
IGJyZWFrcG9pbnRNYW5hZ2VyOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHNldEJyZWFrcG9pbnQo
YnJlYWtwb2ludE1hbmFnZXIsIHVpU291cmNlQ29kZSwgbGluZU51bWJlciwgY29uZGl0aW9uLCBl
bmFibGVkKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIiAgU2V0dGlu
ZyBicmVha3BvaW50IGF0ICIgKyB1aVNvdXJjZUNvZGUub3JpZ2luVVJMKCkgKyAiOiIgKyBsaW5l
TnVtYmVyICsgIiBlbmFibGVkOiIgKyBlbmFibGVkICsgIiBjb25kaXRpb246IiArIGNvbmRpdGlv
bik7Ci0gICAgICAgIHJldHVybiBicmVha3BvaW50TWFuYWdlci5zZXRCcmVha3BvaW50KHVpU291
cmNlQ29kZSwgbGluZU51bWJlciwgY29uZGl0aW9uLCBlbmFibGVkKTsKLSAgICB9Ci0KLSAgICBm
dW5jdGlvbiByZW1vdmVCcmVha3BvaW50KGJyZWFrcG9pbnRNYW5hZ2VyLCB1aVNvdXJjZUNvZGUs
IGxpbmVOdW1iZXIpCi0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiICBS
ZW1vdmluZyBicmVha3BvaW50IGF0ICIgKyB1aVNvdXJjZUNvZGUub3JpZ2luVVJMKCkgKyAiOiIg
KyBsaW5lTnVtYmVyKTsKLSAgICAgICAgYnJlYWtwb2ludE1hbmFnZXIuZmluZEJyZWFrcG9pbnQo
dWlTb3VyY2VDb2RlLCBsaW5lTnVtYmVyKS5yZW1vdmUoKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlv
biBkdW1wQnJlYWtwb2ludFN0b3JhZ2UoYnJlYWtwb2ludE1hbmFnZXIpCi0gICAgewotICAgICAg
ICB2YXIgYnJlYWtwb2ludHMgPSBicmVha3BvaW50TWFuYWdlci5fc3RvcmFnZS5fc2V0dGluZy5n
ZXQoKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIiAgRHVtcGluZyBTdG9yYWdl
Iik7Ci0gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYnJlYWtwb2ludHMubGVuZ3RoOyArK2kp
Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiICAgICIgKyBicmVha3BvaW50
c1tpXS5zb3VyY2VGaWxlSWQgKyAiOiIgKyBicmVha3BvaW50c1tpXS5saW5lTnVtYmVyICArICIg
ZW5hYmxlZDoiICsgYnJlYWtwb2ludHNbaV0uZW5hYmxlZCArICIgY29uZGl0aW9uOiIgKyBicmVh
a3BvaW50c1tpXS5jb25kaXRpb24pOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHJlc2V0QnJlYWtw
b2ludE1hbmFnZXIoYnJlYWtwb2ludE1hbmFnZXIsIG5leHQpCi0gICAgewotICAgICAgICBkdW1w
QnJlYWtwb2ludFN0b3JhZ2UoYnJlYWtwb2ludE1hbmFnZXIpOwotICAgICAgICBJbnNwZWN0b3JU
ZXN0LmFkZFJlc3VsdCgiICBSZXNldHRpbmcgYnJlYWtwb2ludCBtYW5hZ2VyIik7Ci0gICAgICAg
IGJyZWFrcG9pbnRNYW5hZ2VyLnJlc2V0KCk7Ci0gICAgICAgIHVpU291cmNlQ29kZXMgPSB7fTsK
LSAgICAgICAgbmV4dCgpOwotICAgIH0KLQotICAgIEluc3BlY3RvclRlc3QucnVuVGVzdFN1aXRl
KFsKLSAgICAgICAgZnVuY3Rpb24gdGVzdFNldEJyZWFrcG9pbnQobmV4dCkKLSAgICAgICAgewot
ICAgICAgICAgICAgdmFyIGJyZWFrcG9pbnRNYW5hZ2VyID0gY3JlYXRlQnJlYWtwb2ludE1hbmFn
ZXIoKTsKLSAgICAgICAgICAgIHZhciB1aVNvdXJjZUNvZGUgPSBhZGRVSVNvdXJjZUNvZGUoYnJl
YWtwb2ludE1hbmFnZXIsICJhLmpzIik7Ci0gICAgICAgICAgICBzZXRCcmVha3BvaW50KGJyZWFr
cG9pbnRNYW5hZ2VyLCB1aVNvdXJjZUNvZGUsIDMwLCAiIiwgdHJ1ZSk7Ci0gICAgICAgICAgICB3
aW5kb3cuc2V0QnJlYWtwb2ludENhbGxiYWNrID0gc3RlcDIuYmluZCh0aGlzKTsKLQotICAgICAg
ICAgICAgZnVuY3Rpb24gc3RlcDIoKQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIHJl
c2V0QnJlYWtwb2ludE1hbmFnZXIoYnJlYWtwb2ludE1hbmFnZXIsIG5leHQpOwotICAgICAgICAg
ICAgfQotICAgICAgICB9LAotCi0gICAgICAgIGZ1bmN0aW9uIHRlc3RTZXREaXNhYmxlZEJyZWFr
cG9pbnQobmV4dCkKLSAgICAgICAgewotICAgICAgICAgICAgdmFyIGJyZWFrcG9pbnRNYW5hZ2Vy
ID0gY3JlYXRlQnJlYWtwb2ludE1hbmFnZXIoKTsKLSAgICAgICAgICAgIHZhciB1aVNvdXJjZUNv
ZGUgPSBhZGRVSVNvdXJjZUNvZGUoYnJlYWtwb2ludE1hbmFnZXIsICJhLmpzIik7Ci0gICAgICAg
ICAgICB2YXIgYnJlYWtwb2ludCA9IHNldEJyZWFrcG9pbnQoYnJlYWtwb2ludE1hbmFnZXIsIHVp
U291cmNlQ29kZSwgMzAsICIiLCBmYWxzZSk7Ci0gICAgICAgICAgICBkdW1wQnJlYWtwb2ludFN0
b3JhZ2UoYnJlYWtwb2ludE1hbmFnZXIpOwotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRS
ZXN1bHQoIiAgRW5hYmxpbmcgYnJlYWtwb2ludCIpOwotICAgICAgICAgICAgYnJlYWtwb2ludC5z
ZXRFbmFibGVkKHRydWUpOwotICAgICAgICAgICAgd2luZG93LnNldEJyZWFrcG9pbnRDYWxsYmFj
ayA9IHN0ZXAyLmJpbmQodGhpcyk7Ci0KLSAgICAgICAgICAgIGZ1bmN0aW9uIHN0ZXAyKCkKLSAg
ICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICByZXNldEJyZWFrcG9pbnRNYW5hZ2VyKGJyZWFr
cG9pbnRNYW5hZ2VyLCBuZXh0KTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfSwKLQotICAgICAg
ICBmdW5jdGlvbiB0ZXN0U2V0Q29uZGl0aW9uYWxCcmVha3BvaW50KG5leHQpCi0gICAgICAgIHsK
LSAgICAgICAgICAgIHZhciBicmVha3BvaW50TWFuYWdlciA9IGNyZWF0ZUJyZWFrcG9pbnRNYW5h
Z2VyKCk7Ci0gICAgICAgICAgICB2YXIgdWlTb3VyY2VDb2RlID0gYWRkVUlTb3VyY2VDb2RlKGJy
ZWFrcG9pbnRNYW5hZ2VyLCAiYS5qcyIpOwotICAgICAgICAgICAgdmFyIGJyZWFrcG9pbnQgPSBz
ZXRCcmVha3BvaW50KGJyZWFrcG9pbnRNYW5hZ2VyLCB1aVNvdXJjZUNvZGUsIDMwLCAiY29uZGl0
aW9uIiwgdHJ1ZSk7Ci0gICAgICAgICAgICB3aW5kb3cuc2V0QnJlYWtwb2ludENhbGxiYWNrID0g
c3RlcDIuYmluZCh0aGlzKTsKLQotICAgICAgICAgICAgZnVuY3Rpb24gc3RlcDIoKQotICAgICAg
ICAgICAgewotICAgICAgICAgICAgICAgIGR1bXBCcmVha3BvaW50U3RvcmFnZShicmVha3BvaW50
TWFuYWdlcik7Ci0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIiAgVXBk
YXRpbmcgY29uZGl0aW9uIik7Ci0gICAgICAgICAgICAgICAgYnJlYWtwb2ludC5zZXRDb25kaXRp
b24oIiIpOwotICAgICAgICAgICAgICAgIHdpbmRvdy5zZXRCcmVha3BvaW50Q2FsbGJhY2sgPSBz
dGVwMy5iaW5kKHRoaXMpOwotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICBmdW5jdGlvbiBz
dGVwMygpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgcmVzZXRCcmVha3BvaW50TWFu
YWdlcihicmVha3BvaW50TWFuYWdlciwgbmV4dCk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0s
Ci0KLSAgICAgICAgZnVuY3Rpb24gdGVzdFJlc3RvcmVCcmVha3BvaW50cyhuZXh0KQotICAgICAg
ICB7Ci0gICAgICAgICAgICB2YXIgYnJlYWtwb2ludE1hbmFnZXIgPSBjcmVhdGVCcmVha3BvaW50
TWFuYWdlcihzZXJpYWxpemVkQnJlYWtwb2ludHMpOwotICAgICAgICAgICAgYWRkVUlTb3VyY2VD
b2RlKGJyZWFrcG9pbnRNYW5hZ2VyLCAiYS5qcyIpOwotICAgICAgICAgICAgd2luZG93LnNldEJy
ZWFrcG9pbnRDYWxsYmFjayA9IHN0ZXAyLmJpbmQodGhpcyk7Ci0KLSAgICAgICAgICAgIGZ1bmN0
aW9uIHN0ZXAyKCkKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICByZXNldEJyZWFrcG9p
bnRNYW5hZ2VyKGJyZWFrcG9pbnRNYW5hZ2VyLCBuZXh0KTsKLSAgICAgICAgICAgIH0KLSAgICAg
ICAgfSwKLQotICAgICAgICBmdW5jdGlvbiB0ZXN0UmVzdG9yZUJyZWFrcG9pbnRzVHdpY2UobmV4
dCkKLSAgICAgICAgewotICAgICAgICAgICAgdmFyIGJyZWFrcG9pbnRNYW5hZ2VyID0gY3JlYXRl
QnJlYWtwb2ludE1hbmFnZXIoc2VyaWFsaXplZEJyZWFrcG9pbnRzKTsKLSAgICAgICAgICAgIGFk
ZFVJU291cmNlQ29kZShicmVha3BvaW50TWFuYWdlciwgImEuanMiKTsKLSAgICAgICAgICAgIGFk
ZFVJU291cmNlQ29kZShicmVha3BvaW50TWFuYWdlciwgImEuanMiKTsKLSAgICAgICAgICAgIHdp
bmRvdy5zZXRCcmVha3BvaW50Q2FsbGJhY2sgPSBzdGVwMi5iaW5kKHRoaXMpOwotCi0gICAgICAg
ICAgICBmdW5jdGlvbiBzdGVwMigpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgcmVz
ZXRCcmVha3BvaW50TWFuYWdlcihicmVha3BvaW50TWFuYWdlciwgbmV4dCk7Ci0gICAgICAgICAg
ICB9Ci0gICAgICAgIH0sCi0KLSAgICAgICAgZnVuY3Rpb24gdGVzdFJlbW92ZUJyZWFrcG9pbnRz
KG5leHQpCi0gICAgICAgIHsKLSAgICAgICAgICAgIHZhciBicmVha3BvaW50TWFuYWdlciA9IGNy
ZWF0ZUJyZWFrcG9pbnRNYW5hZ2VyKHNlcmlhbGl6ZWRCcmVha3BvaW50cyk7Ci0gICAgICAgICAg
ICB2YXIgdWlTb3VyY2VDb2RlID0gYWRkVUlTb3VyY2VDb2RlKGJyZWFrcG9pbnRNYW5hZ2VyLCAi
YS5qcyIpOwotICAgICAgICAgICAgd2luZG93LnNldEJyZWFrcG9pbnRDYWxsYmFjayA9IHN0ZXAy
LmJpbmQodGhpcyk7Ci0KLSAgICAgICAgICAgIGZ1bmN0aW9uIHN0ZXAyKCkKLSAgICAgICAgICAg
IHsKLSAgICAgICAgICAgICAgICBzZXRCcmVha3BvaW50KGJyZWFrcG9pbnRNYW5hZ2VyLCB1aVNv
dXJjZUNvZGUsIDMwLCAiIiwgdHJ1ZSk7Ci0gICAgICAgICAgICAgICAgd2luZG93LnNldEJyZWFr
cG9pbnRDYWxsYmFjayA9IHN0ZXAzLmJpbmQodGhpcyk7Ci0gICAgICAgICAgICB9Ci0KLSAgICAg
ICAgICAgIGZ1bmN0aW9uIHN0ZXAzKCkKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBy
ZW1vdmVCcmVha3BvaW50KGJyZWFrcG9pbnRNYW5hZ2VyLCB1aVNvdXJjZUNvZGUsIDMwKTsKLSAg
ICAgICAgICAgICAgICByZW1vdmVCcmVha3BvaW50KGJyZWFrcG9pbnRNYW5hZ2VyLCB1aVNvdXJj
ZUNvZGUsIDEwKTsKLSAgICAgICAgICAgICAgICByZW1vdmVCcmVha3BvaW50KGJyZWFrcG9pbnRN
YW5hZ2VyLCB1aVNvdXJjZUNvZGUsIDIwKTsKLSAgICAgICAgICAgICAgICByZXNldEJyZWFrcG9p
bnRNYW5hZ2VyKGJyZWFrcG9pbnRNYW5hZ2VyLCBuZXh0KTsKLSAgICAgICAgICAgIH0KLSAgICAg
ICAgfSwKLQotICAgICAgICBmdW5jdGlvbiB0ZXN0U2V0QnJlYWtwb2ludFRoYXRTaGlmdHMobmV4
dCkKLSAgICAgICAgewotICAgICAgICAgICAgdmFyIGJyZWFrcG9pbnRNYW5hZ2VyID0gY3JlYXRl
QnJlYWtwb2ludE1hbmFnZXIoKTsKLSAgICAgICAgICAgIHZhciB1aVNvdXJjZUNvZGUgPSBhZGRV
SVNvdXJjZUNvZGUoYnJlYWtwb2ludE1hbmFnZXIsICJhLmpzIik7Ci0gICAgICAgICAgICBzZXRC
cmVha3BvaW50KGJyZWFrcG9pbnRNYW5hZ2VyLCB1aVNvdXJjZUNvZGUsIDEwMTUsICIiLCB0cnVl
KTsKLSAgICAgICAgICAgIHdpbmRvdy5zZXRCcmVha3BvaW50Q2FsbGJhY2sgPSBzdGVwMi5iaW5k
KHRoaXMpOwotCi0gICAgICAgICAgICBmdW5jdGlvbiBzdGVwMigpCi0gICAgICAgICAgICB7Ci0g
ICAgICAgICAgICAgICAgcmVzZXRCcmVha3BvaW50TWFuYWdlcihicmVha3BvaW50TWFuYWdlciwg
bmV4dCk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0sCi0KLSAgICAgICAgZnVuY3Rpb24gdGVz
dFNldEJyZWFrcG9pbnRUaGF0U2hpZnRzVHdpY2UobmV4dCkKLSAgICAgICAgewotICAgICAgICAg
ICAgdmFyIGJyZWFrcG9pbnRNYW5hZ2VyID0gY3JlYXRlQnJlYWtwb2ludE1hbmFnZXIoKTsKLSAg
ICAgICAgICAgIHZhciB1aVNvdXJjZUNvZGUgPSBhZGRVSVNvdXJjZUNvZGUoYnJlYWtwb2ludE1h
bmFnZXIsICJhLmpzIik7Ci0gICAgICAgICAgICBzZXRCcmVha3BvaW50KGJyZWFrcG9pbnRNYW5h
Z2VyLCB1aVNvdXJjZUNvZGUsIDEwMTUsICIiLCB0cnVlKTsKLSAgICAgICAgICAgIHdpbmRvdy5z
ZXRCcmVha3BvaW50Q2FsbGJhY2sgPSBzdGVwMi5iaW5kKHRoaXMpOwotCi0gICAgICAgICAgICBm
dW5jdGlvbiBzdGVwMigpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgc2V0QnJlYWtw
b2ludChicmVha3BvaW50TWFuYWdlciwgdWlTb3VyY2VDb2RlLCAxMDE1LCAiIiwgdHJ1ZSk7Ci0g
ICAgICAgICAgICAgICAgd2luZG93LnNldEJyZWFrcG9pbnRDYWxsYmFjayA9IHN0ZXAzLmJpbmQo
dGhpcyk7Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIGZ1bmN0aW9uIHN0ZXAzKCkKLSAg
ICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICByZXNldEJyZWFrcG9pbnRNYW5hZ2VyKGJyZWFr
cG9pbnRNYW5hZ2VyLCBuZXh0KTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfSwKLQotICAgICAg
ICBmdW5jdGlvbiB0ZXN0U2V0QnJlYWtwb2ludE91dHNpZGVTY3JpcHQobmV4dCkKLSAgICAgICAg
ewotICAgICAgICAgICAgdmFyIGJyZWFrcG9pbnRNYW5hZ2VyID0gY3JlYXRlQnJlYWtwb2ludE1h
bmFnZXIoW10pOwotICAgICAgICAgICAgdmFyIHVpU291cmNlQ29kZSA9IGFkZFVJU291cmNlQ29k
ZShicmVha3BvaW50TWFuYWdlciwgImEuanMiKTsKLSAgICAgICAgICAgIGJyZWFrcG9pbnRNYW5h
Z2VyLnNldEJyZWFrcG9pbnQodWlTb3VyY2VDb2RlLCAyNTAwLCAiIiwgdHJ1ZSk7Ci0gICAgICAg
ICAgICB3aW5kb3cuc2V0QnJlYWtwb2ludENhbGxiYWNrID0gc3RlcDIuYmluZCh0aGlzKTsKLQot
ICAgICAgICAgICAgZnVuY3Rpb24gc3RlcDIoKQotICAgICAgICAgICAgewotICAgICAgICAgICAg
ICAgIHJlc2V0QnJlYWtwb2ludE1hbmFnZXIoYnJlYWtwb2ludE1hbmFnZXIsIG5leHQpOwotICAg
ICAgICAgICAgfQotICAgICAgIH0sCi0KLSAgICAgICAgZnVuY3Rpb24gdGVzdE5hdmlnYXRpb24o
bmV4dCkKLSAgICAgICAgewotICAgICAgICAgICAgdmFyIGJyZWFrcG9pbnRNYW5hZ2VyID0gY3Jl
YXRlQnJlYWtwb2ludE1hbmFnZXIoc2VyaWFsaXplZEJyZWFrcG9pbnRzKTsKLSAgICAgICAgICAg
IHZhciB1aVNvdXJjZUNvZGVBID0gYWRkVUlTb3VyY2VDb2RlKGJyZWFrcG9pbnRNYW5hZ2VyLCAi
YS5qcyIpOwotICAgICAgICAgICAgd2luZG93LnNldEJyZWFrcG9pbnRDYWxsYmFjayA9IHN0ZXAy
LmJpbmQodGhpcyk7Ci0KLSAgICAgICAgICAgIGZ1bmN0aW9uIHN0ZXAyKCkKLSAgICAgICAgICAg
IHsKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiXG4gIE5hdmlnYXRp
bmcgdG8gQi4iKTsKLSAgICAgICAgICAgICAgICBicmVha3BvaW50TWFuYWdlci5fZGVidWdnZXJN
b2RlbC5yZXNldCgpOwotICAgICAgICAgICAgICAgIHJlc2V0V29ya3NwYWNlKGJyZWFrcG9pbnRN
YW5hZ2VyKTsKLSAgICAgICAgICAgICAgICB2YXIgdWlTb3VyY2VDb2RlQiA9IGFkZFVJU291cmNl
Q29kZShicmVha3BvaW50TWFuYWdlciwgImIuanMiKTsKLSAgICAgICAgICAgICAgICB3aW5kb3cu
c2V0QnJlYWtwb2ludENhbGxiYWNrID0gc3RlcDMuYmluZCh0aGlzKTsKLSAgICAgICAgICAgIH0K
LQotICAgICAgICAgICAgZnVuY3Rpb24gc3RlcDMoKQotICAgICAgICAgICAgewotICAgICAgICAg
ICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJcbiAgTmF2aWdhdGluZyBiYWNrIHRvIEEu
Iik7Ci0gICAgICAgICAgICAgICAgYnJlYWtwb2ludE1hbmFnZXIuX2RlYnVnZ2VyTW9kZWwucmVz
ZXQoKTsKLSAgICAgICAgICAgICAgICByZXNldFdvcmtzcGFjZShicmVha3BvaW50TWFuYWdlcik7
Ci0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIiAgUmVzb2x2aW5nIHBy
b3Zpc2lvbmFsIGJyZWFrcG9pbnQuIik7Ci0gICAgICAgICAgICAgICAgYWRkVGVtcG9yYXJ5VUlT
b3VyY2VDb2RlKGJyZWFrcG9pbnRNYW5hZ2VyLCAiYS5qcyIpICAgICAgICAgICAgCi0gICAgICAg
ICAgICAgICAgdmFyIGV2ZW50RGF0YSA9IHsgYnJlYWtwb2ludElkOiAiYS5qczoxMCIsIGxvY2F0
aW9uOiB7IHNjcmlwdElkOiAiYS5qcyIsIGxpbmVOdW1iZXI6IDExLCBjb2x1bW5OdW1iZXI6IDUg
fX07Ci0gICAgICAgICAgICAgICAgYnJlYWtwb2ludE1hbmFnZXIuX2RlYnVnZ2VyTW9kZWwuZGlz
cGF0Y2hFdmVudFRvTGlzdGVuZXJzKFdlYkluc3BlY3Rvci5EZWJ1Z2dlck1vZGVsLkV2ZW50cy5C
cmVha3BvaW50UmVzb2x2ZWQsIGV2ZW50RGF0YSk7Ci0gICAgICAgICAgICAgICAgYWRkVUlTb3Vy
Y2VDb2RlKGJyZWFrcG9pbnRNYW5hZ2VyLCAiYS5qcyIpOwotICAgICAgICAgICAgICAgIHdpbmRv
dy5zZXRCcmVha3BvaW50Q2FsbGJhY2sgPSBzdGVwNC5iaW5kKHRoaXMpOwotICAgICAgICAgICAg
fQotCi0gICAgICAgICAgICBmdW5jdGlvbiBzdGVwNCgpCi0gICAgICAgICAgICB7Ci0gICAgICAg
ICAgICAgICAgcmVzZXRCcmVha3BvaW50TWFuYWdlcihicmVha3BvaW50TWFuYWdlciwgbmV4dCk7
Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0sCi0KLSAgICAgICAgZnVuY3Rpb24gdGVzdFNvdXJj
ZU1hcHBpbmcobmV4dCkKLSAgICAgICAgewotICAgICAgICAgICAgLy8gU291cmNlIG1hcHBpbmcg
d2lsbCBzaGlmdCBldmVydGhpbmcgMTAgbGluZXMgYWhlYWQgc28gdGhhdCBicmVha3BvaW50IDEg
Y2xhc2hlZCB3aXRoIGJyZWFrcG9pbnQgMi4KLSAgICAgICAgICAgIHZhciBzZXJpYWxpemVkQnJl
YWtwb2ludHMgPSBbXTsKLSAgICAgICAgICAgIHNlcmlhbGl6ZWRCcmVha3BvaW50cy5wdXNoKGNy
ZWF0ZUJyZWFrcG9pbnQoImEuanMiLCAxMCwgImZvbyA9PSBiYXIiLCB0cnVlKSk7Ci0gICAgICAg
ICAgICBzZXJpYWxpemVkQnJlYWtwb2ludHMucHVzaChjcmVhdGVCcmVha3BvaW50KCJhLmpzIiwg
MjAsICIiLCB0cnVlKSk7Ci0KLSAgICAgICAgICAgIHZhciBicmVha3BvaW50TWFuYWdlciA9IGNy
ZWF0ZUJyZWFrcG9pbnRNYW5hZ2VyKHNlcmlhbGl6ZWRCcmVha3BvaW50cyk7Ci0gICAgICAgICAg
ICB2YXIgdWlTb3VyY2VDb2RlQSA9IGFkZFVJU291cmNlQ29kZShicmVha3BvaW50TWFuYWdlciwg
ImEuanMiKTsKLSAgICAgICAgICAgIHdpbmRvdy5zZXRCcmVha3BvaW50Q2FsbGJhY2sgPSBzdGVw
Mi5iaW5kKHRoaXMpOwotCi0gICAgICAgICAgICBmdW5jdGlvbiBzdGVwMigpCi0gICAgICAgICAg
ICB7Ci0gICAgICAgICAgICAgICAgd2luZG93LnNldEJyZWFrcG9pbnRDYWxsYmFjayA9IHN0ZXAz
LmJpbmQodGhpcyk7Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIGZ1bmN0aW9uIHN0ZXAz
KCkKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3Vs
dCgiXG4gIFRvZ2dsaW5nIHNvdXJjZSBtYXBwaW5nLiIpOwotICAgICAgICAgICAgICAgIGJyZWFr
cG9pbnRNYW5hZ2VyLl9kZWJ1Z2dlck1vZGVsLnB1c2hTb3VyY2VNYXBwaW5nKHNoaWZ0aW5nTWFw
cGluZyk7Ci0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIlxuICBUb2dn
bGluZyBzb3VyY2UgbWFwcGluZyBiYWNrLiIpOwotICAgICAgICAgICAgICAgIGJyZWFrcG9pbnRN
YW5hZ2VyLl9kZWJ1Z2dlck1vZGVsLmRpc2FibGVTb3VyY2VNYXBwaW5nKHNoaWZ0aW5nTWFwcGlu
Zyk7Ci0gICAgICAgICAgICAgICAgcmVzZXRCcmVha3BvaW50TWFuYWdlcihicmVha3BvaW50TWFu
YWdlciwgbmV4dCk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0sCi0KLSAgICAgICAgZnVuY3Rp
b24gdGVzdFByb3Zpc2lvbmFsQnJlYWtwb2ludHNSZXNvbHZlKG5leHQpCi0gICAgICAgIHsKLSAg
ICAgICAgICAgIHZhciBzZXJpYWxpemVkQnJlYWtwb2ludHMgPSBbXTsKLSAgICAgICAgICAgIHNl
cmlhbGl6ZWRCcmVha3BvaW50cy5wdXNoKGNyZWF0ZUJyZWFrcG9pbnQoImEuanMiLCAxMCwgImZv
byA9PSBiYXIiLCB0cnVlKSk7Ci0KLSAgICAgICAgICAgIHZhciBicmVha3BvaW50TWFuYWdlciA9
IGNyZWF0ZUJyZWFrcG9pbnRNYW5hZ2VyKHNlcmlhbGl6ZWRCcmVha3BvaW50cyk7Ci0gICAgICAg
ICAgICB2YXIgdWlTb3VyY2VDb2RlID0gYWRkVUlTb3VyY2VDb2RlKGJyZWFrcG9pbnRNYW5hZ2Vy
LCAiYS5qcyIpOwotICAgICAgICAgICAgd2luZG93LnNldEJyZWFrcG9pbnRDYWxsYmFjayA9IHN0
ZXAyLmJpbmQodGhpcyk7Ci0KLSAgICAgICAgICAgIGZ1bmN0aW9uIHN0ZXAyKCkKLSAgICAgICAg
ICAgIHsKLSAgICAgICAgICAgICAgICBicmVha3BvaW50TWFuYWdlci5fZGVidWdnZXJNb2RlbC5y
ZXNldCgpOwotICAgICAgICAgICAgICAgIHJlc2V0V29ya3NwYWNlKGJyZWFrcG9pbnRNYW5hZ2Vy
KTsKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiICBSZXNvbHZpbmcg
cHJvdmlzaW9uYWwgYnJlYWtwb2ludC4iKTsKLSAgICAgICAgICAgICAgICBhZGRUZW1wb3JhcnlV
SVNvdXJjZUNvZGUoYnJlYWtwb2ludE1hbmFnZXIsICJhLmpzIikgICAgICAgICAgICAKLSAgICAg
ICAgICAgICAgICB2YXIgZXZlbnREYXRhID0geyBicmVha3BvaW50SWQ6ICJhLmpzOjEwIiwgbG9j
YXRpb246IHsgc2NyaXB0SWQ6ICJhLmpzIiwgbGluZU51bWJlcjogMTEsIGNvbHVtbk51bWJlcjog
NSB9fTsKLSAgICAgICAgICAgICAgICBicmVha3BvaW50TWFuYWdlci5fZGVidWdnZXJNb2RlbC5k
aXNwYXRjaEV2ZW50VG9MaXN0ZW5lcnMoV2ViSW5zcGVjdG9yLkRlYnVnZ2VyTW9kZWwuRXZlbnRz
LkJyZWFrcG9pbnRSZXNvbHZlZCwgZXZlbnREYXRhKTsKLSAgICAgICAgICAgICAgICB2YXIgYnJl
YWtwb2ludHMgPSBicmVha3BvaW50TWFuYWdlci5fYnJlYWtwb2ludHMua2V5cygpOwotICAgICAg
ICAgICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0RXF1YWxzKGJyZWFrcG9pbnRzLmxlbmd0aCwg
MSwgIkV4YWN0bHkgb25lIGJyZWFrcG9pbnQgc2hvdWxkIGJlIHJlZ2lzdGVyZWQgaW4gYnJlYWtw
b2ludCBtYW5hZ2VyLiIpOwotICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0VHJ1
ZSghYnJlYWtwb2ludHNbMF0uX3ByaW1hcnlVSUxvY2F0aW9uLCAiX3ByaW1hcnlVSUxvY2F0aW9u
IGZpZWxkIHNob3VsZCBiZSBjbGVhcmVkIGZvciBwcm92aXNpb25hbCBicmVhcG9pbnQuIik7Ci0g
ICAgICAgICAgICAgICAgcmVzZXRCcmVha3BvaW50TWFuYWdlcihicmVha3BvaW50TWFuYWdlciwg
bmV4dCk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICBdKTsKLX07Ci0KLTwvc2NyaXB0
PgotCi08L2hlYWQ+Ci0KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxwPlRlc3RzIEJyZWFr
cG9pbnRNYW5hZ2VyIGNsYXNzLjwvcD4KLQotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL2NvcHktc3RhY2stdHJhY2UtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL2NvcHktc3RhY2stdHJhY2UtZXhw
ZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2YTAzZmZlNmY2YWZiNDNh
NzA4ZDZjMzY3MGRkNTZlNDcwMDgwNzI4Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9jb3B5LXN0YWNr
LXRyYWNlLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDEyICswLDAgQEAKLVRlc3Rz
IHRoYXQgZGVidWdnZXIgd2lsbCBjb3B5IHZhbGlkIHN0YWNrIHRyYWNlIHVwb24gY29udGV4dCBt
ZW51IGFjdGlvbi4KLQotRGVidWdnZXIgd2FzIGVuYWJsZWQuCi1TZXQgdGltZXIgZm9yIHRlc3Qg
ZnVuY3Rpb24uCi1TY3JpcHQgZXhlY3V0aW9uIHBhdXNlZC4KLWZ1bmN0aW9uQmF6IChjb3B5LXN0
YWNrLXRyYWNlLmh0bWw6MTkpCi1mdW5jdGlvbkJhciAoY29weS1zdGFjay10cmFjZS5odG1sOjE0
KQotdGVzdEZ1bmN0aW9uIChjb3B5LXN0YWNrLXRyYWNlLmh0bWw6OSkKLQotU2NyaXB0IGV4ZWN1
dGlvbiByZXN1bWVkLgotRGVidWdnZXIgd2FzIGRpc2FibGVkLgotCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvY29weS1zdGFjay10cmFjZS5odG1sIGIvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL2NvcHktc3RhY2stdHJhY2UuaHRtbApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggZTE5MmYxNjQxYTQ5NTJmOGM0ZWFkYmVjZDgyZWY0Y2Q1NWVj
MDJjYy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvY29weS1zdGFjay10cmFjZS5odG1sCisrKyAvZGV2
L251bGwKQEAgLTEsNDggKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8u
Li9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2Ny
aXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvZGVidWdnZXItdGVzdC5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0PgotCi1mdW5jdGlvbiB0ZXN0RnVuY3Rpb24oKQotewotICAgIGZ1bmN0
aW9uQmFyKCk7Ci19Ci0KLWZ1bmN0aW9uIGZ1bmN0aW9uQmFyKCkKLXsKLSAgICBmdW5jdGlvbkJh
eigpOwotfQotCi1mdW5jdGlvbiBmdW5jdGlvbkJheigpCi17Ci0gICAgZGVidWdnZXI7Ci19Ci0K
LXZhciB0ZXN0ID0gZnVuY3Rpb24oKQotewotICAgIEluc3BlY3RvclRlc3Quc3RhcnREZWJ1Z2dl
clRlc3Qoc3RlcDEpOwotCi0gICAgZnVuY3Rpb24gc3RlcDEoKQotICAgIHsKLSAgICAgICAgSW5z
cGVjdG9yVGVzdC5ydW5UZXN0RnVuY3Rpb25BbmRXYWl0VW50aWxQYXVzZWQoc3RlcDIpOwotICAg
IH0KLQotICAgIGZ1bmN0aW9uIHN0ZXAyKCkKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvckZyb250
ZW5kSG9zdC5jb3B5VGV4dCA9IEluc3BlY3RvclRlc3QuYWRkUmVzdWx0LmJpbmQoSW5zcGVjdG9y
VGVzdCk7Ci0gICAgICAgIFdlYkluc3BlY3Rvci5wYW5lbHMuc2NyaXB0cy5zaWRlYmFyUGFuZXMu
Y2FsbHN0YWNrLl9jb3B5U3RhY2tUcmFjZSgpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBs
ZXRlRGVidWdnZXJUZXN0KCk7Ci0gICAgfQotfQotCi08L3NjcmlwdD4KLTwvaGVhZD4KLQotPGJv
ZHkgb25sb2FkPSJydW5UZXN0KCkiPgotPHA+Ci1UZXN0cyB0aGF0IGRlYnVnZ2VyIHdpbGwgY29w
eSB2YWxpZCBzdGFjayB0cmFjZSB1cG9uIGNvbnRleHQgbWVudSBhY3Rpb24uCi08L3A+Ci0KLTwv
Ym9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dl
ci9kZWJ1Z2dlci1hY3RpdmF0aW9uLWNyYXNoLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2lu
c3BlY3Rvci9kZWJ1Z2dlci9kZWJ1Z2dlci1hY3RpdmF0aW9uLWNyYXNoLWV4cGVjdGVkLnR4dApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzMwMWVmNTRhODMxNTUyOTE3NDVmMTc4YTQw
OGJhMDk0Njc4OTA2ZC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvZGVidWdnZXItYWN0aXZhdGlvbi1j
cmFzaC1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw1ICswLDAgQEAKLVRlc3RzIGZv
ciBhIGNyYXNoIGNhdXNlZCBieSBpbmFjY3VyYXRlIEFjdGl2YXRpb24gcmVjb3Jkcy4gPHJkYXI6
Ly9wcm9ibGVtLzg1MjU5MDc+IENyYXNoIGluIGRlYnVnZ2VyIGJlbmVhdGggTWFya1N0YWNrOjpk
cmFpbiBAIG1lLmNvbSwgaWJtLmNvbQotCi1EZWJ1Z2dlciB3YXMgZW5hYmxlZC4KLURlYnVnZ2Vy
IHdhcyBkaXNhYmxlZC4KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVn
Z2VyL2RlYnVnZ2VyLWFjdGl2YXRpb24tY3Jhc2guaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rv
ci9kZWJ1Z2dlci9kZWJ1Z2dlci1hY3RpdmF0aW9uLWNyYXNoLmh0bWwKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IGI0MDU3NzBjYTk2MTM5ZTA5OTM3YmNmZDRhNWY5MmNhYmY5MWRjZWMu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yL2RlYnVnZ2VyL2RlYnVnZ2VyLWFjdGl2YXRpb24tY3Jhc2guaHRtbAorKysg
L2Rldi9udWxsCkBAIC0xLDQyICswLDAgQEAKLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3Rz
L2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4v
Li4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvZGVidWdnZXItdGVzdC5qcyI+PC9zY3JpcHQ+Ci0KLTxz
Y3JpcHQ+Ci12YXIgY2xvc3VyZXMgPSBbXTsKLWZ1bmN0aW9uIG1ha2VDbG9zdXJlKCkgewotICAg
IHZhciB2MSwgdjIsIHYzLCB2NCwgdjUsIHY2LCB2NywgdjgsIHY5LCB2MTA7IC8vIE1ha2UgYSBs
b3Qgb2YgcG90ZW50aWFsbHkgY2FwdHVyZWQgdmFyaWFibGVzLgotICAgIHJldHVybiBmdW5jdGlv
biAoKXsgcmV0dXJuIHYxOyB9OyAvLyBCdXQgb25seSBjYXB0dXJlIG9uZSBpbiBvcHRpbWl6aW5n
IGNvbXBpbGVzLgotfQotCi1mb3IgKHZhciBpID0gMDsgaSA8IDEwMDsgKytpKSB7Ci0gICAgY2xv
c3VyZXMucHVzaChtYWtlQ2xvc3VyZSgpKTsKLX0KLQotZnVuY3Rpb24gdHJ5Q3Jhc2goKSB7Ci0g
ICAgbWFrZUNsb3N1cmUoKTsgLy8gRm9yY2UgcmVjb21waWxhdGlvbi4KLSAgICAKLSAgICAvLyBB
dCB0aGlzIHBvaW50LCB3ZSBzaG91bGQgaGF2ZSAxMDAgYWN0aXZhdGlvbnMgdGhhdCBjYXB0dXJl
ZCAxIHZhcmlhYmxlCi0gICAgLy8gYnV0IHRoaW5rIHRoZXkgY2FwdHVyZWQgMTAuIElmIHNvLCBH
QyBzaG91bGQgbWFrZSB0aGVtIGNyYXNoLgotICAgIGlmICh3aW5kb3cuR0NDb250cm9sbGVyKQot
ICAgICAgICBHQ0NvbnRyb2xsZXIuY29sbGVjdCgpOwotICAgIGVsc2UgewotICAgICAgICBmb3Ig
KHZhciBpID0gMDsgaSA8IDEwMDAwOyArK2kpCi0gICAgICAgICAgICBuZXcgT2JqZWN0OwotICAg
IH0KLX0KLQotZnVuY3Rpb24gdGVzdCgpIHsKLSAgICBJbnNwZWN0b3JUZXN0LnN0YXJ0RGVidWdn
ZXJUZXN0KGZ1bmN0aW9uICgpIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFn
ZSgidHJ5Q3Jhc2goKSIpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlRGVidWdnZXJU
ZXN0KCk7Ci0gICAgfSk7Ci19Ci0KLXdpbmRvdy5vbmxvYWQgPSBydW5UZXN0OwotPC9zY3JpcHQ+
Ci0KLTxwPgotVGVzdHMgZm9yIGEgY3Jhc2ggY2F1c2VkIGJ5IGluYWNjdXJhdGUgQWN0aXZhdGlv
biByZWNvcmRzLgotJmx0O3JkYXI6Ly9wcm9ibGVtLzg1MjU5MDcmZ3Q7IENyYXNoIGluIGRlYnVn
Z2VyIGJlbmVhdGggTWFya1N0YWNrOjpkcmFpbiBAIG1lLmNvbSwgaWJtLmNvbQotPC9wPgotCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvZGVidWdnZXItYWN0aXZh
dGlvbi1jcmFzaDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2Vy
L2RlYnVnZ2VyLWFjdGl2YXRpb24tY3Jhc2gyLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggY2U1MzE2NWU4MDhlMWRhNzEwMjg3OTU4N2VhMDM2ODg0ZmFmMTY2Yi4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9pbnNwZWN0b3IvZGVidWdnZXIvZGVidWdnZXItYWN0aXZhdGlvbi1jcmFzaDItZXhwZWN0ZWQu
dHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTIgKzAsMCBAQAotVGVzdHMgZm9yIGEgY3Jhc2ggd2hl
biBwYXVzZWQgYXQgYSBicmVha3BvaW50IGNhdXNlZCBieSBpbmFjY3VyYXRlIEFjdGl2YXRpb24g
cmVjb3Jkcy4gQnVnIDU3MTIwCi0KLURlYnVnZ2VyIHdhcyBlbmFibGVkLgotU2NyaXB0IHNvdXJj
ZSB3YXMgc2hvd24uCi1TZXQgdGltZXIgZm9yIHRlc3QgZnVuY3Rpb24uCi1TY3JpcHQgZXhlY3V0
aW9uIHBhdXNlZC4KLUNhbGwgc3RhY2s6Ci0gICAgMCkgIChkZWJ1Z2dlci1hY3RpdmF0aW9uLWNy
YXNoMi5odG1sKQotICAgIDEpIHRlc3RGdW5jdGlvbiAoZGVidWdnZXItYWN0aXZhdGlvbi1jcmFz
aDIuaHRtbCkKLVNjcmlwdCBleGVjdXRpb24gcmVzdW1lZC4KLURlYnVnZ2VyIHdhcyBkaXNhYmxl
ZC4KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL2RlYnVnZ2Vy
LWFjdGl2YXRpb24tY3Jhc2gyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIv
ZGVidWdnZXItYWN0aXZhdGlvbi1jcmFzaDIuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggYjFhNzE4YWIxNTkzYzliNDIwODMwOWEyMTBhMzEwZTliYmMyYzNiYS4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0
b3IvZGVidWdnZXIvZGVidWdnZXItYWN0aXZhdGlvbi1jcmFzaDIuaHRtbAorKysgL2Rldi9udWxs
CkBAIC0xLDU0ICswLDAgQEAKLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rv
ci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90
ZXN0cy9pbnNwZWN0b3IvZGVidWdnZXItdGVzdC5qcyI+PC9zY3JpcHQ+Ci0KLTxzY3JpcHQ+Ci12
YXIgY2xvc3VyZXMgPSBbXTsKLWZ1bmN0aW9uIG1ha2VDbG9zdXJlKCkgewotICAgIHZhciB2MSwg
djIsIHYzLCB2NCwgdjUsIHY2LCB2NywgdjgsIHY5LCB2MTA7IC8vIE1ha2UgYSBsb3Qgb2YgcG90
ZW50aWFsbHkgY2FwdHVyZWQgdmFyaWFibGVzLgotICAgIHJldHVybiBmdW5jdGlvbiAoKSB7IAot
ICAgICAgICB2YXIgeCA9IHYxOyAvLyBCdXQgb25seSBjYXB0dXJlIG9uZSBpbiBvcHRpbWl6aW5n
IGNvbXBpbGVzLgotICAgICAgICByZXR1cm4geDsKLSAgICB9OwotfQotCi1mb3IgKHZhciBpID0g
MDsgaSA8IDEwMDsgKytpKSB7Ci0gICAgY2xvc3VyZXMucHVzaChtYWtlQ2xvc3VyZSgpKTsKLX0K
LQotY2xvc3VyZXNbMF0oKTsgLy8gRm9yY2UgY29tcGlsYXRpb24uCi1mdW5jdGlvbiB0ZXN0RnVu
Y3Rpb24oKSB7Ci0gICAgY2xvc3VyZXNbMF0oKTsgLy8gRm9yY2UgcmVjb21waWxhdGlvbi4KLSAg
ICAKLSAgICAvLyBBdCB0aGlzIHBvaW50LCBjbG9zdXJlc1swXSBjYXB0dXJlZCAxIHZhcmlhYmxl
IGJ1dCB0aGlua3MgaXQgY2FwdHVyZWQgMTAuCi0gICAgLy8gSWYgc28sIHN0b3BwaW5nIGF0IGEg
YnJlYWtwb2ludCBzaG91bGQgbWFrZSBpdCBjcmFzaC4KLX0KLQotZnVuY3Rpb24gdGVzdCgpIHsK
LSAgICBJbnNwZWN0b3JUZXN0LnN0YXJ0RGVidWdnZXJUZXN0KHN0ZXAxKTsKLQotICAgIGZ1bmN0
aW9uIHN0ZXAxKCkKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3Quc2hvd1NjcmlwdFNvdXJj
ZSgiZGVidWdnZXItYWN0aXZhdGlvbi1jcmFzaDIuaHRtbCIsIHN0ZXAyKTsKLSAgICB9Ci0KLSAg
ICBmdW5jdGlvbiBzdGVwMihzb3VyY2VGcmFtZSkKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRl
c3QuYWRkUmVzdWx0KCJTY3JpcHQgc291cmNlIHdhcyBzaG93bi4iKTsKLSAgICAgICAgSW5zcGVj
dG9yVGVzdC5zZXRCcmVha3BvaW50KHNvdXJjZUZyYW1lLCA4LCAiIiwgdHJ1ZSk7Ci0gICAgICAg
IEluc3BlY3RvclRlc3QucnVuVGVzdEZ1bmN0aW9uQW5kV2FpdFVudGlsUGF1c2VkKHN0ZXAzKTsK
LSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwMyhjYWxsRnJhbWVzKQotICAgIHsKLSAgICAgICAg
SW5zcGVjdG9yVGVzdC5jYXB0dXJlU3RhY2tUcmFjZShjYWxsRnJhbWVzLCB0cnVlKTsKLSAgICAg
ICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZURlYnVnZ2VyVGVzdCgpOwotICAgIH0KLX0KLQotd2lu
ZG93Lm9ubG9hZCA9IHJ1blRlc3Q7Ci08L3NjcmlwdD4KLQotPHA+Ci1UZXN0cyBmb3IgYSBjcmFz
aCB3aGVuIHBhdXNlZCBhdCBhIGJyZWFrcG9pbnQgY2F1c2VkIGJ5IGluYWNjdXJhdGUgQWN0aXZh
dGlvbiByZWNvcmRzLgotPGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTU3MTIwIj5CdWcgNTcxMjA8L2E+Ci08L3A+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbnNwZWN0b3IvZGVidWdnZXIvZGVidWdnZXItYXV0b2NvbnRpbnVlLW9uLXN5bnRheC1lcnJv
ci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvZGVidWdnZXIt
YXV0b2NvbnRpbnVlLW9uLXN5bnRheC1lcnJvci1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDVlZGY5NTliZDE2YWQxNTY0NWZmMWIwYzRkYzQ2ZWM3NDQ4YmEyZmUu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yL2RlYnVnZ2VyL2RlYnVnZ2VyLWF1dG9jb250aW51ZS1vbi1zeW50YXgtZXJy
b3ItZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNyArMCwwIEBACi1DT05TT0xFIE1F
U1NBR0U6IGxpbmUgNDogU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4gJyknCi1DT05TT0xF
IE1FU1NBR0U6IGxpbmUgODogSWZyYW1lIGxvYWRlZAotVGVzdHMgdGhhdCBkZWJ1Z2dlciB3b24n
dCBzdG9wIG9uIHN5bnRheCBlcnJvcnMgZXZlbiBpZiAicGF1c2Ugb24gdW5jYXVnaHQgZXhjZXB0
aW9ucyIgaXMgb24uCi0KLURlYnVnZ2VyIHdhcyBlbmFibGVkLgotRGVidWdnZXIgd2FzIGRpc2Fi
bGVkLgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvZGVidWdn
ZXItYXV0b2NvbnRpbnVlLW9uLXN5bnRheC1lcnJvci5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yL2RlYnVnZ2VyL2RlYnVnZ2VyLWF1dG9jb250aW51ZS1vbi1zeW50YXgtZXJyb3IuaHRtbApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYWQ4MTk2YjBlZGMwMGM5OWU3MTVhNjI1ZWI3
MmY2NDQxZTI0ZjRhNy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvZGVidWdnZXItYXV0b2NvbnRpbnVl
LW9uLXN5bnRheC1lcnJvci5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNDEgKzAsMCBAQAotPGh0
bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNw
ZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9p
bnNwZWN0b3IvZGVidWdnZXItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotCi1mdW5jdGlv
biBsb2FkSWZyYW1lKCkKLXsKLSAgICB2YXIgaWZyYW1lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgiaWZyYW1lIik7Ci0gICAgaWZyYW1lLnNyYyA9ICJyZXNvdXJjZXMvc3ludGF4LWVycm9yLmh0
bWwiOwotICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaWZyYW1lKTsKLX0KLQotZnVuY3Rp
b24gdGVzdCgpCi17Ci0gICAgV2ViSW5zcGVjdG9yLnNob3dQYW5lbCgic2NyaXB0cyIpOwotICAg
IEluc3BlY3RvclRlc3Quc3RhcnREZWJ1Z2dlclRlc3Qoc3RlcDEpOwotCi0gICAgZnVuY3Rpb24g
c3RlcDEoKQotICAgIHsKLSAgICAgICAgRGVidWdnZXJBZ2VudC5zZXRQYXVzZU9uRXhjZXB0aW9u
cyhXZWJJbnNwZWN0b3IuRGVidWdnZXJNb2RlbC5QYXVzZU9uRXhjZXB0aW9uc1N0YXRlLlBhdXNl
T25VbmNhdWdodEV4Y2VwdGlvbnMpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZENvbnNvbGVT
bmlmZmVyKHN0ZXAyKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgibG9h
ZElmcmFtZSgpIik7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc3RlcDIoKQotICAgIHsKLSAgICAg
ICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZURlYnVnZ2VyVGVzdCgpOwotICAgIH0KLX0KLQotPC9z
Y3JpcHQ+Ci08L2hlYWQ+Ci0KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxwPgotVGVzdHMg
dGhhdCBkZWJ1Z2dlciB3b24ndCBzdG9wIG9uIHN5bnRheCBlcnJvcnMgZXZlbiBpZiAicGF1c2Ug
b24gdW5jYXVnaHQgZXhjZXB0aW9ucyIgaXMgb24uCi08L3A+Ci0KLTwvYm9keT4KLTwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9kZWJ1Z2dlci1icmVh
a3BvaW50cy1ub3QtYWN0aXZhdGVkLW9uLXJlbG9hZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9pbnNwZWN0b3IvZGVidWdnZXIvZGVidWdnZXItYnJlYWtwb2ludHMtbm90LWFjdGl2YXRlZC1v
bi1yZWxvYWQtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1YmIw
NmU0MmVmY2NiZGY5M2NiNDY5ZmU3MThmZWE3ZGJiOWFkYzJiLi4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dl
ci9kZWJ1Z2dlci1icmVha3BvaW50cy1ub3QtYWN0aXZhdGVkLW9uLXJlbG9hZC1leHBlY3RlZC50
eHQKKysrIC9kZXYvbnVsbApAQCAtMSw5ICswLDAgQEAKLVRlc3RzIHRoYXQgYnJlYWtwb2ludHMg
YXJlIG5vdCBhY3RpdmF0ZWQgb24gcGFnZSByZWxvYWQuQnVnIDQxNDYxCi0KLURlYnVnZ2VyIHdh
cyBlbmFibGVkLgotTWFpbiByZXNvdXJjZSB3YXMgc2hvd24uCi1QYWdlIHJlbG9hZGVkLgotTWFp
biByZXNvdXJjZSB3YXMgc2hvd24uCi1CcmVha3BvaW50cyBhcmUgZGVhY3RpdmF0ZWQuCi1EZWJ1
Z2dlciB3YXMgZGlzYWJsZWQuCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9k
ZWJ1Z2dlci9kZWJ1Z2dlci1icmVha3BvaW50cy1ub3QtYWN0aXZhdGVkLW9uLXJlbG9hZC5odG1s
IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL2RlYnVnZ2VyLWJyZWFrcG9pbnRzLW5v
dC1hY3RpdmF0ZWQtb24tcmVsb2FkLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IGJhZWE1N2FiYTE3NDhhOGMxYjI2YThiMDYxZTMwMTZkYTk3ZTgwNWQuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2Rl
YnVnZ2VyL2RlYnVnZ2VyLWJyZWFrcG9pbnRzLW5vdC1hY3RpdmF0ZWQtb24tcmVsb2FkLmh0bWwK
KysrIC9kZXYvbnVsbApAQCAtMSw1MSArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBz
cmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci10ZXN0
LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci0KLWZ1bmN0aW9uIHRlc3RGdW5jdGlvbigpCi17Ci0g
ICAgcmV0dXJuIDA7Ci19Ci0KLXZhciB0ZXN0ID0gZnVuY3Rpb24oKQotewotICAgIHZhciB0ZXN0
TmFtZSA9IFdlYkluc3BlY3Rvci5pbnNwZWN0ZWRQYWdlVVJMOwotICAgIHRlc3ROYW1lID0gdGVz
dE5hbWUuc3Vic3RyaW5nKHRlc3ROYW1lLmxhc3RJbmRleE9mKCcvJykgKyAxKTsKLQotICAgIElu
c3BlY3RvclRlc3Quc3RhcnREZWJ1Z2dlclRlc3Qoc3RlcDEpOwotCi0gICAgZnVuY3Rpb24gc3Rl
cDEoKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5zaG93U2NyaXB0U291cmNlKHRlc3RO
YW1lLCBzdGVwMik7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc3RlcDIoc291cmNlRnJhbWUpCi0g
ICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiTWFpbiByZXNvdXJjZSB3YXMg
c2hvd24uIik7Ci0gICAgICAgIEluc3BlY3RvclRlc3Quc2V0QnJlYWtwb2ludChzb3VyY2VGcmFt
ZSwgOCwgIiIsIHRydWUpOwotICAgICAgICBXZWJJbnNwZWN0b3IucGFuZWxzLnNjcmlwdHMuX3Rv
Z2dsZUJyZWFrcG9pbnRzQnV0dG9uLmVsZW1lbnQuY2xpY2soKTsKLSAgICAgICAgSW5zcGVjdG9y
VGVzdC5yZWxvYWRQYWdlKHN0ZXAzKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwMygpCi0g
ICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiTWFpbiByZXNvdXJjZSB3YXMg
c2hvd24uIik7Ci0gICAgICAgIGlmICghV2ViSW5zcGVjdG9yLmRlYnVnZ2VyTW9kZWwuYnJlYWtw
b2ludHNBY3RpdmUoKSkKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJCcmVh
a3BvaW50cyBhcmUgZGVhY3RpdmF0ZWQuIik7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIElu
c3BlY3RvclRlc3QuYWRkUmVzdWx0KCJFcnJvcjogYnJlYWtwb2ludHMgYXJlIGFjdGl2YXRlZC4i
KTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZURlYnVnZ2VyVGVzdCgpOwotICAgIH0K
LX07Ci0KLTwvc2NyaXB0PgotPC9oZWFkPgotCi08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci08
cD4KLVRlc3RzIHRoYXQgYnJlYWtwb2ludHMgYXJlIG5vdCBhY3RpdmF0ZWQgb24gcGFnZSByZWxv
YWQuPGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQxNDYx
Ij5CdWcgNDE0NjE8L2E+Ci08L3A+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvZGVidWdnZXItY29tcGlsZS1hbmQtcnVuLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9kZWJ1Z2dlci1jb21waWxl
LWFuZC1ydW4tZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiYzE5
YjVjYzNlNTVjNGZhOTkwODY3YjVhZTdhYzdjMTYyNGJmNmZmLi4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dl
ci9kZWJ1Z2dlci1jb21waWxlLWFuZC1ydW4tZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAg
LTEsMjAgKzAsMCBAQAotVGVzdHMgc2VwYXJhdGUgY29tcGlsYXRpb24gYW5kIHJ1bi4KLQotQnVn
IDg5NjQ2LgotRGVidWdnZXIgd2FzIGVuYWJsZWQuCi0KLVJ1bm5pbmc6IHRlc3RTdWNjZXNzZnVs
Q29tcGlsZUFuZFJ1bgotQ29tcGlsaW5nIHNjcmlwdAotUnVubmluZyBzY3JpcHQKLVNjcmlwdCBy
ZXN1bHQ6IDMKLQotUnVubmluZzogdGVzdFJ1bkVycm9yCi1Db21waWxpbmcgc2NyaXB0Ci1SdW5u
aW5nIHNjcmlwdAotU2NyaXB0IHJ1biBlcnJvcjogVW5jYXVnaHQgUmVmZXJlbmNlRXJyb3I6IGMg
aXMgbm90IGRlZmluZWQKLQotUnVubmluZzogdGVzdENvbXBpbGVFcnJvcgotQ29tcGlsaW5nIHNj
cmlwdAotU2NyaXB0IGNvbXBpbGUgZXJyb3I6IFVuY2F1Z2h0IFN5bnRheEVycm9yOiBVbmV4cGVj
dGVkIHRva2VuIH0KLURlYnVnZ2VyIHdhcyBkaXNhYmxlZC4KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL2RlYnVnZ2VyLWNvbXBpbGUtYW5kLXJ1bi5odG1sIGIv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL2RlYnVnZ2VyLWNvbXBpbGUtYW5kLXJ1bi5o
dG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhNzJmN2RiOTc0ZjU1ZDY2YzI2ZDdi
YjhhYzg5NTk5OWMwNTU3NmUzLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9kZWJ1Z2dlci1jb21waWxl
LWFuZC1ydW4uaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDgxICswLDAgQEAKLTxodG1sPgotPGhl
YWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRl
c3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9y
L2RlYnVnZ2VyLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLXZhciB0ZXN0ID0gZnVuY3Rp
b24oKQotewotICAgIEluc3BlY3RvclRlc3QucnVuRGVidWdnZXJUZXN0U3VpdGUoWwotICAgICAg
ICBmdW5jdGlvbiB0ZXN0U3VjY2Vzc2Z1bENvbXBpbGVBbmRSdW4obmV4dCkKLSAgICAgICAgewot
ICAgICAgICAgICAgdmFyIGV4cHJlc3Npb24gPSAidmFyIGEgPSAxOyB2YXIgYiA9IDI7IGEgKyBi
OyAiOwotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIkNvbXBpbGluZyBzY3Jp
cHQiKTsKLSAgICAgICAgICAgIERlYnVnZ2VyQWdlbnQuY29tcGlsZVNjcmlwdChleHByZXNzaW9u
LCAidGVzdC5qcyIsIGNvbXBpbGVDYWxsYmFjay5iaW5kKHRoaXMpKTsKLQotICAgICAgICAgICAg
ZnVuY3Rpb24gY29tcGlsZUNhbGxiYWNrKGVycm9yLCBzY3JpcHRJZCwgc3ludGF4RXJyb3JNZXNz
YWdlKQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0
VHJ1ZSghZXJyb3IpOwotICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0VHJ1ZSgh
c3ludGF4RXJyb3JNZXNzYWdlKTsKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2Vy
dFRydWUoISFzY3JpcHRJZCk7Ci0gICAgICAgICAgICAgICAgdmFyIGNvbnRleHRJZCA9IHVuZGVm
aW5lZDsKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiUnVubmluZyBz
Y3JpcHQiKTsKLSAgICAgICAgICAgICAgICBEZWJ1Z2dlckFnZW50LnJ1blNjcmlwdChzY3JpcHRJ
ZCwgY29udGV4dElkLCAiY29uc29sZSIsIGZhbHNlLCBydW5DYWxsYmFjay5iaW5kKHRoaXMpKTsK
LSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgZnVuY3Rpb24gcnVuQ2FsbGJhY2soZXJyb3Is
IHJlc3VsdCwgd2FzVGhyb3duKQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIEluc3Bl
Y3RvclRlc3QuYXNzZXJ0VHJ1ZSghZXJyb3IpOwotICAgICAgICAgICAgICAgIEluc3BlY3RvclRl
c3QuYXNzZXJ0VHJ1ZSghd2FzVGhyb3duKTsKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0
LmFkZFJlc3VsdCgiU2NyaXB0IHJlc3VsdDogIiArIHJlc3VsdC52YWx1ZSk7Ci0gICAgICAgICAg
ICAgICAgbmV4dCgpOwotICAgICAgICAgICAgfQotICAgICAgICB9LAotCi0gICAgICAgIGZ1bmN0
aW9uIHRlc3RSdW5FcnJvcihuZXh0KQotICAgICAgICB7Ci0gICAgICAgICAgICB2YXIgZXhwcmVz
c2lvbiA9ICJ2YXIgYSA9IDE7IGEgKyBjOyAiOwotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5h
ZGRSZXN1bHQoIkNvbXBpbGluZyBzY3JpcHQiKTsKLSAgICAgICAgICAgIERlYnVnZ2VyQWdlbnQu
Y29tcGlsZVNjcmlwdChleHByZXNzaW9uLCAidGVzdC5qcyIsIGNvbXBpbGVDYWxsYmFjay5iaW5k
KHRoaXMpKTsKLQotICAgICAgICAgICAgZnVuY3Rpb24gY29tcGlsZUNhbGxiYWNrKGVycm9yLCBz
Y3JpcHRJZCwgc3ludGF4RXJyb3JNZXNzYWdlKQotICAgICAgICAgICAgewotICAgICAgICAgICAg
ICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0VHJ1ZSghZXJyb3IpOwotICAgICAgICAgICAgICAgIElu
c3BlY3RvclRlc3QuYXNzZXJ0VHJ1ZSghc3ludGF4RXJyb3JNZXNzYWdlKTsKLSAgICAgICAgICAg
ICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydFRydWUoISFzY3JpcHRJZCk7Ci0gICAgICAgICAgICAg
ICAgdmFyIGNvbnRleHRJZCA9IHVuZGVmaW5lZDsKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JU
ZXN0LmFkZFJlc3VsdCgiUnVubmluZyBzY3JpcHQiKTsKLSAgICAgICAgICAgICAgICBEZWJ1Z2dl
ckFnZW50LnJ1blNjcmlwdChzY3JpcHRJZCwgY29udGV4dElkLCAiY29uc29sZSIsIGZhbHNlLCBy
dW5DYWxsYmFjay5iaW5kKHRoaXMpKTsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgZnVu
Y3Rpb24gcnVuQ2FsbGJhY2soZXJyb3IsIHJlc3VsdCwgd2FzVGhyb3duKQotICAgICAgICAgICAg
ewotICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0VHJ1ZSghZXJyb3IpOwotICAg
ICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0VHJ1ZSh3YXNUaHJvd24pOwotICAgICAg
ICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJTY3JpcHQgcnVuIGVycm9yOiAiICsg
cmVzdWx0LmRlc2NyaXB0aW9uKTsKLSAgICAgICAgICAgICAgICBuZXh0KCk7Ci0gICAgICAgICAg
ICB9Ci0gICAgICAgIH0sCi0KLSAgICAgICAgZnVuY3Rpb24gdGVzdENvbXBpbGVFcnJvcihuZXh0
KQotICAgICAgICB7Ci0gICAgICAgICAgICB2YXIgZXhwcmVzc2lvbiA9ICJ9IjsKLSAgICAgICAg
ICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJDb21waWxpbmcgc2NyaXB0Iik7Ci0gICAgICAg
ICAgICBEZWJ1Z2dlckFnZW50LmNvbXBpbGVTY3JpcHQoZXhwcmVzc2lvbiwgInRlc3QuanMiLCBj
b21waWxlQ2FsbGJhY2suYmluZCh0aGlzKSk7Ci0KLSAgICAgICAgICAgIGZ1bmN0aW9uIGNvbXBp
bGVDYWxsYmFjayhlcnJvciwgc2NyaXB0SWQsIHN5bnRheEVycm9yTWVzc2FnZSkKLSAgICAgICAg
ICAgIHsKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydFRydWUoIWVycm9yKTsK
LSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydFRydWUoIXNjcmlwdElkKTsKLSAg
ICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiU2NyaXB0IGNvbXBpbGUgZXJy
b3I6ICIgKyBzeW50YXhFcnJvck1lc3NhZ2UpOwotICAgICAgICAgICAgICAgIG5leHQoKTsKLSAg
ICAgICAgICAgIH0KLSAgICAgICAgfQotICAgIF0pOwotfQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08
Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci08cD5UZXN0cyBzZXBhcmF0ZSBjb21waWxhdGlvbiBh
bmQgcnVuLjwvcD4KLTxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD04OTY0NiI+QnVnIDg5NjQ2LjwvYT4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9kZWJ1Z2dlci1jb21wbGV0aW9ucy1vbi1j
YWxsLWZyYW1lLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9k
ZWJ1Z2dlci1jb21wbGV0aW9ucy1vbi1jYWxsLWZyYW1lLWV4cGVjdGVkLnR4dApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggZDNjY2QwYjZlZjY0ODNiMmI2ZDRkMTlmZDgyZGNiNTgyZjQw
NTRjYi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvZGVidWdnZXItY29tcGxldGlvbnMtb24tY2FsbC1m
cmFtZS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxNSArMCwwIEBACi1UZXN0IHRo
YXQgY29tcGxldGlvbnMgaW4gdGhlIGNvbnRleHQgb2YgdGhlIGNhbGwgZnJhbWUgd2lsbCByZXN1
bHQgaW4gbmFtZXMgb2YgaXRzIHNjb3BlIHZhcmlhYmxlcy4KLQotRGVidWdnZXIgd2FzIGVuYWJs
ZWQuCi1TZXQgdGltZXIgZm9yIHRlc3QgZnVuY3Rpb24uCi1TY3JpcHQgZXhlY3V0aW9uIHBhdXNl
ZC4KLXZhcjEKLXZhcjIKLWRpcgotZGlyeG1sCi13aW5kb3cKLXRoaXMKLXRvRXhwb25lbnRpYWwK
LVNjcmlwdCBleGVjdXRpb24gcmVzdW1lZC4KLURlYnVnZ2VyIHdhcyBkaXNhYmxlZC4KLQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL2RlYnVnZ2VyLWNvbXBsZXRp
b25zLW9uLWNhbGwtZnJhbWUuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9k
ZWJ1Z2dlci1jb21wbGV0aW9ucy1vbi1jYWxsLWZyYW1lLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IGFmNzI4NjY0MjgyZDQ3Mzg0YTczYjZiYjU2YWQ2OTM0ZWVmZWFkNTguLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yL2RlYnVnZ2VyL2RlYnVnZ2VyLWNvbXBsZXRpb25zLW9uLWNhbGwtZnJhbWUuaHRt
bAorKysgL2Rldi9udWxsCkBAIC0xLDg3ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0
IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyLXRl
c3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLQotdmFyIGEgPSAxOwotZnVuY3Rpb24gdGVzdEZ1
bmN0aW9uKCkKLXsKLSAgICB2YXIgdmFyMSA9IDI7Ci0gICAgdmFyIHZhcjIgPSAzOwotICAgIGRl
YnVnZ2VyOwotfQotCi12YXIgdGVzdCA9IGZ1bmN0aW9uKCkKLXsKLSAgICBJbnNwZWN0b3JUZXN0
LnN0YXJ0RGVidWdnZXJUZXN0KHN0ZXAxKTsKLQotICAgIGZ1bmN0aW9uIHN0ZXAxKCkKLSAgICB7
Ci0gICAgICAgIEluc3BlY3RvclRlc3QucnVuVGVzdEZ1bmN0aW9uQW5kV2FpdFVudGlsUGF1c2Vk
KHN0ZXAyKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwMigpCi0gICAgewotICAgICAgICBX
ZWJJbnNwZWN0b3IucnVudGltZU1vZGVsLl9jb21wbGV0aW9uc0ZvckV4cHJlc3Npb24oIiIsICJ2
YXIiLCBmYWxzZSwgY2hlY2tBZ2FpbnN0R29sZGVuLmJpbmQodGhpcywgWyAidmFyMSIsICJ2YXIy
IiBdLCBbXSwgc3RlcDMpKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwMygpCi0gICAgewot
ICAgICAgICBXZWJJbnNwZWN0b3IucnVudGltZU1vZGVsLl9jb21wbGV0aW9uc0ZvckV4cHJlc3Np
b24oIiIsICJkaSIsIGZhbHNlLCBjaGVja0FnYWluc3RHb2xkZW4uYmluZCh0aGlzLCBbICJkaXIi
LCAiZGlyeG1sIiBdLCBbXSwgc3RlcDQpKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwNCgp
Ci0gICAgewotICAgICAgICBXZWJJbnNwZWN0b3IucnVudGltZU1vZGVsLl9jb21wbGV0aW9uc0Zv
ckV4cHJlc3Npb24oIiIsICJ3aW4iLCBmYWxzZSwgY2hlY2tBZ2FpbnN0R29sZGVuLmJpbmQodGhp
cywgWyAid2luZG93IiBdLCBbXSwgc3RlcDUpKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVw
NSgpCi0gICAgewotICAgICAgICBXZWJJbnNwZWN0b3IucnVudGltZU1vZGVsLl9jb21wbGV0aW9u
c0ZvckV4cHJlc3Npb24oIiIsICJ0IiwgZmFsc2UsIGNoZWNrQWdhaW5zdEdvbGRlbi5iaW5kKHRo
aXMsIFsgInRoaXMiIF0sIFtdLCBzdGVwNikpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0ZXA2
KCkKLSAgICB7Ci0gICAgICAgIFdlYkluc3BlY3Rvci5ydW50aW1lTW9kZWwuX2NvbXBsZXRpb25z
Rm9yRXhwcmVzc2lvbigidmFyMSIsICJ0b0V4cCIsIGZhbHNlLCBjaGVja0FnYWluc3RHb2xkZW4u
YmluZCh0aGlzLCBbICJ0b0V4cG9uZW50aWFsIiBdLCBbXSwgc3RlcDcpKTsKLSAgICB9Ci0KLSAg
ICBmdW5jdGlvbiBzdGVwNygpCi0gICAgewotICAgICAgICBXZWJJbnNwZWN0b3IucnVudGltZU1v
ZGVsLl9jb21wbGV0aW9uc0ZvckV4cHJlc3Npb24oIjEyMyIsICJ0b0V4cCIsIGZhbHNlLCBjaGVj
a0FnYWluc3RHb2xkZW4uYmluZCh0aGlzLCBbXSwgWyAidG9FeHBvbmVudGlhbCIgXSwgc3RlcDgp
KTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwOCgpCi0gICAgewotICAgICAgICBJbnNwZWN0
b3JUZXN0LmNvbXBsZXRlRGVidWdnZXJUZXN0KCk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gY2hl
Y2tBZ2FpbnN0R29sZGVuKGdvbGRlbiwgYW50aUdvbGRlbiwgY29udGludWF0aW9uLCBjb21wbGV0
aW9ucykKLSAgICB7Ci0gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZ29sZGVuLmxlbmd0aDsg
KytpKSB7Ci0gICAgICAgICAgICBpZiAoY29tcGxldGlvbnMuaW5kZXhPZihnb2xkZW5baV0pICE9
PSAtMSkKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdChnb2xkZW5baV0p
OwotICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVz
dWx0KCJOT1QgRk9VTkQ6ICIgKyBnb2xkZW5baV0pOwotICAgICAgICB9Ci0KLSAgICAgICAgZm9y
ICh2YXIgaSA9IDA7IGkgPCBhbnRpR29sZGVuLmxlbmd0aDsgKytpKSB7Ci0gICAgICAgICAgICBp
ZiAoY29tcGxldGlvbnMuaW5kZXhPZihhbnRpR29sZGVuW2ldKSAhPT0gLTEpCi0gICAgICAgICAg
ICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIkZPVU5EOiAiICsgYW50aUdvbGRlbltpXSk7
Ci0gICAgICAgIH0KLQotICAgICAgICBjb250aW51YXRpb24oKTsKLSAgICB9Ci19Ci0KLTwvc2Ny
aXB0PgotPC9oZWFkPgotCi08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci08cD4KLVRlc3QgdGhh
dCBjb21wbGV0aW9ucyBpbiB0aGUgY29udGV4dCBvZiB0aGUgY2FsbCBmcmFtZSB3aWxsIHJlc3Vs
dCBpbiBuYW1lcwotb2YgaXRzIHNjb3BlIHZhcmlhYmxlcy4KLTwvcD4KLQotPC9ib2R5PgotPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL2RlYnVnZ2Vy
LWN5Y2xpYy1yZWYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2Vy
L2RlYnVnZ2VyLWN5Y2xpYy1yZWYtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCA3MzU0ZTFhYzRkOGM3MGM4OWQ3MmE3ZDA4YjhiOWQxNTU4NTNjNTc0Li4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci9kZWJ1Z2dlci9kZWJ1Z2dlci1jeWNsaWMtcmVmLWV4cGVjdGVkLnR4dAorKysgL2Rldi9u
dWxsCkBAIC0xLDggKzAsMCBAQAotVGVzdHMgdGhhdCBkZWJ1Z2dpbmcgYSBwYWdlIHdoZXJlIE9i
amVjdCBwcm90b3R5cGUgaGFzIGEgY3ljbGljIHJlZmVyZW5jZSB3b24ndCBjcmFzaCB0aGUgYnJv
d3Nlci5CdWcgNDM1NTgKLQotRGVidWdnZXIgd2FzIGVuYWJsZWQuCi1TZXQgdGltZXIgZm9yIHRl
c3QgZnVuY3Rpb24uCi1TY3JpcHQgZXhlY3V0aW9uIHBhdXNlZC4KLVNjcmlwdCBleGVjdXRpb24g
cmVzdW1lZC4KLURlYnVnZ2VyIHdhcyBkaXNhYmxlZC4KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yL2RlYnVnZ2VyL2RlYnVnZ2VyLWN5Y2xpYy1yZWYuaHRtbCBiL0xheW91dFRl
c3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9kZWJ1Z2dlci1jeWNsaWMtcmVmLmh0bWwKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IGJkYzZkMzg0MTIxZWQyZjk3MTkzNDg4YmM3MzVhYzQ2Yzgy
YzA2ZmEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL2RlYnVnZ2VyLWN5Y2xpYy1yZWYuaHRtbAorKysg
L2Rldi9udWxsCkBAIC0xLDQwICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0i
Li4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyLXRlc3QuanMi
Pjwvc2NyaXB0PgotPHNjcmlwdD4KLQotT2JqZWN0LnByb3RvdHlwZS5jeWNsaWNSZWYgPSBPYmpl
Y3QucHJvdG90eXBlOwotCi1mdW5jdGlvbiB0ZXN0RnVuY3Rpb24oKQotewotICAgIHZhciBvID0g
bmV3IE9iamVjdCgpOwotICAgIGRlYnVnZ2VyOwotfQotCi12YXIgdGVzdCA9IGZ1bmN0aW9uKCkK
LXsKLSAgICBJbnNwZWN0b3JUZXN0LnN0YXJ0RGVidWdnZXJUZXN0KHN0ZXAxKTsKLQotICAgIGZ1
bmN0aW9uIHN0ZXAxKCkKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QucnVuVGVzdEZ1bmN0
aW9uQW5kV2FpdFVudGlsUGF1c2VkKHN0ZXAyKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVw
MigpCi0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlRGVidWdnZXJUZXN0KCk7
Ci0gICAgfQotfQotCi08L3NjcmlwdD4KLTwvaGVhZD4KLQotPGJvZHkgb25sb2FkPSJydW5UZXN0
KCkiPgotPHA+Ci1UZXN0cyB0aGF0IGRlYnVnZ2luZyBhIHBhZ2Ugd2hlcmUgT2JqZWN0IHByb3Rv
dHlwZSBoYXMgYSBjeWNsaWMgcmVmZXJlbmNlIHdvbid0Ci1jcmFzaCB0aGUgYnJvd3Nlci48YSBo
cmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDM1NTgiPkJ1ZyA0
MzU1ODwvYT4KLTwvcD4KLQotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yL2RlYnVnZ2VyL2RlYnVnZ2VyLWV2YWwtb24tY2FsbC1mcmFtZS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvZGVidWdnZXItZXZhbC1vbi1j
YWxsLWZyYW1lLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggM2Ux
Mzg4Y2ZhOWQ3YmE0NzA4YzViNWRjMmE4NGZiZjI2MGEyYTJlNy4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdn
ZXIvZGVidWdnZXItZXZhbC1vbi1jYWxsLWZyYW1lLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxs
CkBAIC0xLDkgKzAsMCBAQAotVGVzdCB0aGF0IGV2YWx1YXRpb24gaW4gdGhlIGNvbnRleHQgb2Yg
dG9wIGZyYW1lIHdpbGwgc2VlIHZhbHVlcyBvZiBpdHMgbG9jYWwgdmFyaWFibGVzLCBldmVuIGlm
IHRoZXJlIGFyZSBnbG9iYWwgdmFyaWFibGVzIHdpdGggc2FtZSBuYW1lcy4gT24gc3VjY2VzcyB0
aGUgdGVzdCB3aWxsIHByaW50IGEgPSAyKHZhbHVlIG9mIHRoZSBsb2NhbCB2YXJpYWJsZSBhKS4g
QnVnIDQ3MzU4LgotCi1EZWJ1Z2dlciB3YXMgZW5hYmxlZC4KLVNldCB0aW1lciBmb3IgdGVzdCBm
dW5jdGlvbi4KLVNjcmlwdCBleGVjdXRpb24gcGF1c2VkLgotRXZhbHVhdGVkIGluIGNvbnNvbGUg
aW4gdGhlIHRvcCBmcmFtZSBjb250ZXh0OiBhID0gMgotU2NyaXB0IGV4ZWN1dGlvbiByZXN1bWVk
LgotRGVidWdnZXIgd2FzIGRpc2FibGVkLgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3IvZGVidWdnZXIvZGVidWdnZXItZXZhbC1vbi1jYWxsLWZyYW1lLmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvZGVidWdnZXItZXZhbC1vbi1jYWxsLWZyYW1lLmh0bWwK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDE5Mjg4ZGVkMDBlNDRiNmI0MDY1M2IxNmM0
ZDYxYWQ4YWFlZmMwZDEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL2RlYnVnZ2VyLWV2YWwtb24tY2Fs
bC1mcmFtZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNDcgKzAsMCBAQAotPGh0bWw+Ci08aGVh
ZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVz
dC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3Iv
ZGVidWdnZXItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotCi12YXIgYSA9IDE7Ci1mdW5j
dGlvbiB0ZXN0RnVuY3Rpb24oKQotewotICAgIHZhciBhID0gMjsKLSAgICBkZWJ1Z2dlcjsKLX0K
LQotdmFyIHRlc3QgPSBmdW5jdGlvbigpCi17Ci0gICAgSW5zcGVjdG9yVGVzdC5zdGFydERlYnVn
Z2VyVGVzdChzdGVwMSk7Ci0KLSAgICBmdW5jdGlvbiBzdGVwMSgpCi0gICAgewotICAgICAgICBJ
bnNwZWN0b3JUZXN0LnJ1blRlc3RGdW5jdGlvbkFuZFdhaXRVbnRpbFBhdXNlZChzdGVwMik7Ci0g
ICAgfQotCi0gICAgZnVuY3Rpb24gc3RlcDIoKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVz
dC5ldmFsdWF0ZUluQ29uc29sZSgiYSIsIHN0ZXAzKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBz
dGVwMyhyZXN1bHQpCi0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiRXZh
bHVhdGVkIGluIGNvbnNvbGUgaW4gdGhlIHRvcCBmcmFtZSBjb250ZXh0OiBhID0gIiArIHJlc3Vs
dCk7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVEZWJ1Z2dlclRlc3QoKTsKLSAgICB9
Ci19Ci0KLTwvc2NyaXB0PgotPC9oZWFkPgotCi08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci08
cD4KLVRlc3QgdGhhdCBldmFsdWF0aW9uIGluIHRoZSBjb250ZXh0IG9mIHRvcCBmcmFtZSB3aWxs
IHNlZSB2YWx1ZXMKLW9mIGl0cyBsb2NhbCB2YXJpYWJsZXMsIGV2ZW4gaWYgdGhlcmUgYXJlIGds
b2JhbCB2YXJpYWJsZXMgd2l0aAotc2FtZSBuYW1lcy4gT24gc3VjY2VzcyB0aGUgdGVzdCB3aWxs
IHByaW50IGEgPSAyKHZhbHVlIG9mIHRoZQotbG9jYWwgdmFyaWFibGUgYSkuIDxhIGhyZWY9Imh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NzM1OCI+QnVnIDQ3MzU4Ljwv
YT4KLTwvcD4KLQotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yL2RlYnVnZ2VyL2RlYnVnZ2VyLWV2YWwtd2hpbGUtcGF1c2VkLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9kZWJ1Z2dlci1ldmFsLXdoaWxlLXBhdXNl
ZC1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDhmNGRkMzBmYzJk
ZGFlNDI2NjQ2YWUxYjI2YjI1ZWUyOTk0OGU5MDkuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL2RlYnVn
Z2VyLWV2YWwtd2hpbGUtcGF1c2VkLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDEw
ICswLDAgQEAKLVRlc3RzIHRoYXQgZXZhbHVhdGlvbiBpbiBjb25zb2xlIHdvcmtzIGZpbmUgd2hl
biBzY3JpcHQgaXMgcGF1c2VkLiBJdCBhbHNvIGNoZWNrcyB0aGF0IHN0YWNrIGFuZCBnbG9iYWwg
dmFyaWFibGVzIGFyZSBhY2Nlc3NpYmxlIGZyb20gdGhlIGNvbnNvbGUuCi0KLURlYnVnZ2VyIHdh
cyBlbmFibGVkLgotU2V0IHRpbWVyIGZvciB0ZXN0IGZ1bmN0aW9uLgotU2NyaXB0IGV4ZWN1dGlv
biBwYXVzZWQuCi1FdmFsdWF0ZWQgc2NyaXB0IG9uIHRoZSB0b3AgZnJhbWU6IDQwMjEKLUV2YWx1
YXRlZCBzY3JpcHQgb24gdGhlIGNhbGxpbmcgZnJhbWU6IDMwMQotU2NyaXB0IGV4ZWN1dGlvbiBy
ZXN1bWVkLgotRGVidWdnZXIgd2FzIGRpc2FibGVkLgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbnNwZWN0b3IvZGVidWdnZXIvZGVidWdnZXItZXZhbC13aGlsZS1wYXVzZWQuaHRtbCBiL0xh
eW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9kZWJ1Z2dlci1ldmFsLXdoaWxlLXBhdXNlZC5o
dG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmMDYwMmM4MGJiMWMyNWJiNDJiNmUw
NTk1ZDI4MzYxNDU5YjJmY2VlLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9kZWJ1Z2dlci1ldmFsLXdo
aWxlLXBhdXNlZC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNjUgKzAsMCBAQAotPGh0bWw+Ci08
aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3It
dGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0
b3IvZGVidWdnZXItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotCi12YXIgZ2xvYmFsVmFy
ID0geyBiOiAxIH07Ci0KLWZ1bmN0aW9uIHNsYXZlKHgpCi17Ci0gICAgdmFyIHkgPSAyMDsKLSAg
ICBkZWJ1Z2dlcjsKLX0KLQotZnVuY3Rpb24gdGVzdEZ1bmN0aW9uKCkKLXsKLSAgICB2YXIgbG9j
YWxPYmplY3QgPSB7IGE6IDMwMCB9OwotICAgIHNsYXZlKDQwMDApOwotfQotCi12YXIgdGVzdCA9
IGZ1bmN0aW9uKCkKLXsKLSAgICBJbnNwZWN0b3JUZXN0LnN0YXJ0RGVidWdnZXJUZXN0KHN0ZXAx
KTsKLQotICAgIGZ1bmN0aW9uIHN0ZXAxKCkKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3Qu
cnVuVGVzdEZ1bmN0aW9uQW5kV2FpdFVudGlsUGF1c2VkKHN0ZXAyKTsKLSAgICB9Ci0KLSAgICBm
dW5jdGlvbiBzdGVwMihjYWxsRnJhbWVzKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5l
dmFsdWF0ZUluQ29uc29sZSgieCArIHkgKyBnbG9iYWxWYXIuYiIsIHN0ZXAzLmJpbmQobnVsbCwg
Y2FsbEZyYW1lcykpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0ZXAzKGNhbGxGcmFtZXMsIHJl
c3VsdCkKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJFdmFsdWF0ZWQg
c2NyaXB0IG9uIHRoZSB0b3AgZnJhbWU6ICIgKyByZXN1bHQpOwotICAgICAgICB2YXIgcGFuZSA9
IFdlYkluc3BlY3Rvci5wYW5lbHMuc2NyaXB0cy5zaWRlYmFyUGFuZXMuY2FsbHN0YWNrOwotICAg
ICAgICBwYW5lLl9wbGFjYXJkU2VsZWN0ZWQocGFuZS5wbGFjYXJkc1sxXSk7Ci0gICAgICAgIElu
c3BlY3RvclRlc3QucnVuQWZ0ZXJQZW5kaW5nRGlzcGF0Y2hlcyhzdGVwNCk7Ci0gICAgfQotCi0g
ICAgZnVuY3Rpb24gc3RlcDQoKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0
ZUluQ29uc29sZSgibG9jYWxPYmplY3QuYSArIGdsb2JhbFZhci5iIiwgc3RlcDUpOwotICAgIH0K
LQotICAgIGZ1bmN0aW9uIHN0ZXA1KHJlc3VsdCkKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRl
c3QuYWRkUmVzdWx0KCJFdmFsdWF0ZWQgc2NyaXB0IG9uIHRoZSBjYWxsaW5nIGZyYW1lOiAiICsg
cmVzdWx0KTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZURlYnVnZ2VyVGVzdCgpOwot
ICAgIH0KLX0KLQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci0KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgp
Ij4KLTxwPgotVGVzdHMgdGhhdCBldmFsdWF0aW9uIGluIGNvbnNvbGUgd29ya3MgZmluZSB3aGVu
IHNjcmlwdCBpcyBwYXVzZWQuIEl0IGFsc28gY2hlY2tzIHRoYXQKLXN0YWNrIGFuZCBnbG9iYWwg
dmFyaWFibGVzIGFyZSBhY2Nlc3NpYmxlIGZyb20gdGhlIGNvbnNvbGUuCi08L3A+Ci0KLTwvYm9k
eT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9k
ZWJ1Z2dlci1uby1uZXN0ZWQtcGF1c2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yL2RlYnVnZ2VyL2RlYnVnZ2VyLW5vLW5lc3RlZC1wYXVzZS1leHBlY3RlZC50eHQKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDIzYjQ4ZjdmNGMxY2QxYTQ5Mjg5ODQ0ZWRiZGJkNjA1
MjI3YWMxZGUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL2RlYnVnZ2VyLW5vLW5lc3RlZC1wYXVzZS1l
eHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxMCArMCwwIEBACi1UZXN0cyB0aGF0IGRl
YnVnZ2VyIHdpbGwgc2tpcCBicmVha3BvaW50IGhpdCB3aGVuIHNjcmlwdCBleGVjdXRpb24gaXMg
YWxyZWFkeSBwYXVzZWQuIFNlZSBidWcKLQotRGVidWdnZXIgd2FzIGVuYWJsZWQuCi1TZXQgdGlt
ZXIgZm9yIHRlc3QgZnVuY3Rpb24uCi1TY3JpcHQgZXhlY3V0aW9uIHBhdXNlZC4KLVNldCB0aW1l
ciBmb3IgdGVzdCBmdW5jdGlvbi4KLXRlc3RGdW5jdGlvbi5pbnZvY2F0aW9uQ291bnQgPSAyCi1T
Y3JpcHQgZXhlY3V0aW9uIHJlc3VtZWQuCi1EZWJ1Z2dlciB3YXMgZGlzYWJsZWQuCi0KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9kZWJ1Z2dlci1uby1uZXN0ZWQt
cGF1c2UuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9kZWJ1Z2dlci1uby1u
ZXN0ZWQtcGF1c2UuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTVlY2UyNDY5
OWQ0MjdhNzhiMjIzNmY3ODUzYTk0NmJlMjIwNzk4Zi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvZGVi
dWdnZXItbm8tbmVzdGVkLXBhdXNlLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw0NiArMCwwIEBA
Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9y
L2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rl
c3RzL2luc3BlY3Rvci9kZWJ1Z2dlci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci0KLWZ1
bmN0aW9uIHRlc3RGdW5jdGlvbigpCi17Ci0gICAgdGVzdEZ1bmN0aW9uLmludm9jYXRpb25Db3Vu
dCsrOwotICAgIGRlYnVnZ2VyOwotfQotCi10ZXN0RnVuY3Rpb24uaW52b2NhdGlvbkNvdW50ID0g
MDsKLQotdmFyIHRlc3QgPSBmdW5jdGlvbigpCi17Ci0gICAgSW5zcGVjdG9yVGVzdC5zdGFydERl
YnVnZ2VyVGVzdChzdGVwMSk7Ci0KLSAgICBmdW5jdGlvbiBzdGVwMSgpCi0gICAgewotICAgICAg
ICBJbnNwZWN0b3JUZXN0LnJ1blRlc3RGdW5jdGlvbkFuZFdhaXRVbnRpbFBhdXNlZChzdGVwMik7
Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc3RlcDIoKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9y
VGVzdC5ldmFsdWF0ZUluQ29uc29sZSgidGVzdEZ1bmN0aW9uKCk7IHRlc3RGdW5jdGlvbi5pbnZv
Y2F0aW9uQ291bnQiLCBzdGVwMyk7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJT
ZXQgdGltZXIgZm9yIHRlc3QgZnVuY3Rpb24uIik7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc3Rl
cDMocmVzdWx0KQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoInRlc3RG
dW5jdGlvbi5pbnZvY2F0aW9uQ291bnQgPSAiICsgcmVzdWx0KTsKLSAgICAgICAgSW5zcGVjdG9y
VGVzdC5jb21wbGV0ZURlYnVnZ2VyVGVzdCgpOwotICAgIH0KLX0KLQotPC9zY3JpcHQ+Ci08L2hl
YWQ+Ci0KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxwPgotVGVzdHMgdGhhdCBkZWJ1Z2dl
ciB3aWxsIHNraXAgYnJlYWtwb2ludCBoaXQgd2hlbiBzY3JpcHQgZXhlY3V0aW9uIGlzIGFscmVh
ZHkgcGF1c2VkLiA8YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NDE3NjgiPlNlZSBidWc8L2E+Ci08L3A+Ci0KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9kZWJ1Z2dlci1wYXVzZS1pbi1ldmFs
LXNjcmlwdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvZGVi
dWdnZXItcGF1c2UtaW4tZXZhbC1zY3JpcHQtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCA3MzZhNWE4ZjFiNGM1OTY2NmMxNDliMzJjYTJlNmI3M2U0OGE1NDJmLi4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2luc3BlY3Rvci9kZWJ1Z2dlci9kZWJ1Z2dlci1wYXVzZS1pbi1ldmFsLXNjcmlwdC1leHBlY3Rl
ZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxMCArMCwwIEBACi1UZXN0cyB0aGF0IGRlYnVnZ2Vy
IHdpbGwgc3RvcCBvbiAiZGVidWdnZXIiIHN0YXRlbWVudCBpbiBhIGZ1bmN0aW9uIHRoYXQgd2Fz
IGFkZGVkIHRvIHRoZSBpbnNwZWN0ZWQgcGFnZSB2aWEgZXZhbHVhdGlvbiBpbiBXZWIgSW5zcGVj
dG9yIGNvbnNvbGUuQnVnIDQxMDU4Ci0KLURlYnVnZ2VyIHdhcyBlbmFibGVkLgotRXZhbHVhdGVk
IHNjcmlwdCBpbiBjb25zb2xlLgotU2NyaXB0IGV4ZWN1dGlvbiBwYXVzZWQuCi1DYWxsIHN0YWNr
OgotICAgIDApIHRlc3RGdW5jdGlvbiAoOjIpCi1TY3JpcHQgZXhlY3V0aW9uIHJlc3VtZWQuCi1E
ZWJ1Z2dlciB3YXMgZGlzYWJsZWQuCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rv
ci9kZWJ1Z2dlci9kZWJ1Z2dlci1wYXVzZS1pbi1ldmFsLXNjcmlwdC5odG1sIGIvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yL2RlYnVnZ2VyL2RlYnVnZ2VyLXBhdXNlLWluLWV2YWwtc2NyaXB0Lmh0bWwK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ1YmRmY2JjZmY3NzkzZTg0ZGRhYWI5ZmE3
MzE1ZjJhYjgyZGE5YTcuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL2RlYnVnZ2VyLXBhdXNlLWluLWV2
YWwtc2NyaXB0Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw0MCArMCwwIEBACi08aHRtbD4KLTxo
ZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10
ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rv
ci9kZWJ1Z2dlci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci0KLQotdmFyIHRlc3QgPSBm
dW5jdGlvbigpCi17Ci0gICAgdmFyIHNjcmlwdFRvRXZhbHVhdGUgPSAiZnVuY3Rpb24gdGVzdEZ1
bmN0aW9uKCkge1xuIiArCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAiICAgIGRlYnVnZ2Vy
O1xuIiArCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAifVxuIiArCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAic2V0VGltZW91dCh0ZXN0RnVuY3Rpb24sIDApO1xuIjsKLQotICAgIElu
c3BlY3RvclRlc3Quc3RhcnREZWJ1Z2dlclRlc3Qoc3RlcDEpOwotCi0gICAgZnVuY3Rpb24gc3Rl
cDEoKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluQ29uc29sZShzY3Jp
cHRUb0V2YWx1YXRlLCBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdC5iaW5kKEluc3BlY3RvclRlc3Qs
ICJFdmFsdWF0ZWQgc2NyaXB0IGluIGNvbnNvbGUuIikpOwotICAgICAgICBJbnNwZWN0b3JUZXN0
LndhaXRVbnRpbFBhdXNlZChzdGVwMik7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc3RlcDIoY2Fs
bEZyYW1lcykKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuY2FwdHVyZVN0YWNrVHJhY2Uo
Y2FsbEZyYW1lcyk7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVEZWJ1Z2dlclRlc3Qo
KTsKLSAgICB9Ci19Ci0KLTwvc2NyaXB0PgotPC9oZWFkPgotCi08Ym9keSBvbmxvYWQ9InJ1blRl
c3QoKSI+Ci08cD4KLVRlc3RzIHRoYXQgZGVidWdnZXIgd2lsbCBzdG9wIG9uICJkZWJ1Z2dlciIg
c3RhdGVtZW50IGluIGEgZnVuY3Rpb24gdGhhdCB3YXMgYWRkZWQKLXRvIHRoZSBpbnNwZWN0ZWQg
cGFnZSB2aWEgZXZhbHVhdGlvbiBpbiBXZWIgSW5zcGVjdG9yIGNvbnNvbGUuPGEgaHJlZj0iaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQxMDU4Ij5CdWcgNDEwNTg8L2E+
Ci08L3A+Ci0KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci9kZWJ1Z2dlci9kZWJ1Z2dlci1wYXVzZS1pbi1pbnRlcm5hbC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvZGVidWdnZXItcGF1c2UtaW4taW50ZXJuYWwt
ZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiYjRhYjkwNTdiZDJh
ZGFmMmJmMjVmMTgyM2E3N2FjZmI1YjYyOGI1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9kZWJ1Z2dl
ci1wYXVzZS1pbi1pbnRlcm5hbC1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxMiAr
MCwwIEBACi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMjogU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQg
dG9rZW4gJyknCi1UZXN0cyB0aGF0IHBhdXNlIG9uIGV4Y2VwdGlvbiBpbiBpbnRlcm5hbCBzY3Jp
cHQgZG9lcyBub3QgY3Jhc2guCi0KLURlYnVnZ2VyIHdhcyBlbmFibGVkLgotU2NyaXB0IHNvdXJj
ZSB3YXMgc2hvd24uCi1TY3JpcHQgZXhlY3V0aW9uIHBhdXNlZC4KLUNhbGwgc3RhY2s6Ci0gICAg
MCkgdGhyb3dFeGNlcHRpb24gKGRlYnVnZ2VyLXBhdXNlLWluLWludGVybmFsLmh0bWw6OSkKLSAg
ICAxKSBoYW5kbGVDbGljayAoZGVidWdnZXItcGF1c2UtaW4taW50ZXJuYWwuaHRtbDoxNCkKLVNj
cmlwdCBleGVjdXRpb24gcmVzdW1lZC4KLURlYnVnZ2VyIHdhcyBkaXNhYmxlZC4KLQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL2RlYnVnZ2VyLXBhdXNlLWluLWlu
dGVybmFsLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvZGVidWdnZXItcGF1
c2UtaW4taW50ZXJuYWwuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzE0MTdk
Yjc1NmI1Yzc3ODUzMjFlYTQ5ZDZhYTYwMzkxZWQ1NjYzMy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIv
ZGVidWdnZXItcGF1c2UtaW4taW50ZXJuYWwuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDUwICsw
LDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNw
ZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0
dHAvdGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4K
LQotZnVuY3Rpb24gdGhyb3dFeGNlcHRpb24oKQotewotICAgIG5ldyBGdW5jdGlvbigicmV0dXJu
ICgpIik7Ci19Ci0KLWZ1bmN0aW9uIGhhbmRsZUNsaWNrKCkKLXsKLSAgICB0aHJvd0V4Y2VwdGlv
bigpOwotfQotCi12YXIgdGVzdCA9IGZ1bmN0aW9uKCkKLXsKLSAgICBJbnNwZWN0b3JUZXN0LnN0
YXJ0RGVidWdnZXJUZXN0KHN0ZXAxKTsKLQotICAgIGZ1bmN0aW9uIHN0ZXAxKCkKLSAgICB7Ci0g
ICAgICAgIERlYnVnZ2VyQWdlbnQuc2V0UGF1c2VPbkV4Y2VwdGlvbnMoV2ViSW5zcGVjdG9yLkRl
YnVnZ2VyTW9kZWwuUGF1c2VPbkV4Y2VwdGlvbnNTdGF0ZS5QYXVzZU9uVW5jYXVnaHRFeGNlcHRp
b25zKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5zaG93U2NyaXB0U291cmNlKCJkZWJ1Z2dlci1w
YXVzZS1pbi1pbnRlcm5hbC5odG1sIiwgc3RlcDIpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0
ZXAyKCkgIAotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIlNjcmlwdCBz
b3VyY2Ugd2FzIHNob3duLiIpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdl
KCJzZXRUaW1lb3V0KGhhbmRsZUNsaWNrLCAwKSIpOwotICAgICAgICBJbnNwZWN0b3JUZXN0Lndh
aXRVbnRpbFBhdXNlZChzdGVwMyk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc3RlcDMoY2FsbEZy
YW1lcykKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuY2FwdHVyZVN0YWNrVHJhY2UoY2Fs
bEZyYW1lcyk7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVEZWJ1Z2dlclRlc3QoKTsK
LSAgICB9Ci19Ci0KLTwvc2NyaXB0PgotPC9oZWFkPgotCi08Ym9keSBvbmxvYWQ9InJ1blRlc3Qo
KSI+Ci08cD4KLVRlc3RzIHRoYXQgcGF1c2Ugb24gZXhjZXB0aW9uIGluIGludGVybmFsIHNjcmlw
dCBkb2VzIG5vdCBjcmFzaC4KLTwvcD4KLQotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL2RlYnVnZ2VyLXBhdXNlLW9uLWJsb2NrZWQt
ZXZlbnQtaGFuZGxlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdn
ZXIvZGVidWdnZXItcGF1c2Utb24tYmxvY2tlZC1ldmVudC1oYW5kbGVyLWV4cGVjdGVkLnR4dApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzliNjRiMGRmMzZlNDVjZTUzMjVmODEwNDE1
YmE2NzBhYjI5YzEwMy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvZGVidWdnZXItcGF1c2Utb24tYmxv
Y2tlZC1ldmVudC1oYW5kbGVyLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDEyICsw
LDAgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxMzogUmVmdXNlZCB0byBleGVjdXRlIGlubGlu
ZSBldmVudCBoYW5kbGVyIGJlY2F1c2UgaXQgdmlvbGF0ZXMgdGhlIGZvbGxvd2luZyBDb250ZW50
IFNlY3VyaXR5IFBvbGljeSBkaXJlY3RpdmU6ICJzY3JpcHQtc3JjICdzZWxmJyIuCi0KLVRlc3Rz
IHRoYXQgcGF1c2Ugb24gZXhjZXB0aW9uIHdvcmtzIGZvciBpbmxpbmUgZXZlbnQgaGFuZGxlcnMg
YmxvY2tlZCBieSBDU1AuCi0KLUJ1dHRvbgotRGVidWdnZXIgd2FzIGVuYWJsZWQuCi1TY3JpcHQg
ZXhlY3V0aW9uIHBhdXNlZC4KLUNhbGwgc3RhY2s6Ci0gICAgMCkgdGVzdEFjdGlvbiAocGF1c2Ut
b24tYmxvY2tlZC1ldmVudC1oYW5kbGVyLmpzOjQpCi1TY3JpcHQgZXhlY3V0aW9uIHJlc3VtZWQu
Ci1EZWJ1Z2dlciB3YXMgZGlzYWJsZWQuCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci9kZWJ1Z2dlci9kZWJ1Z2dlci1wYXVzZS1vbi1ibG9ja2VkLWV2ZW50LWhhbmRsZXIuaHRt
bCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9kZWJ1Z2dlci1wYXVzZS1vbi1ibG9j
a2VkLWV2ZW50LWhhbmRsZXIuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMGEy
MTNlNDk5N2VhZTZjYzA1YjQzOWVmOGJhYmJhMjJlY2RmNWU3YS4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdn
ZXIvZGVidWdnZXItcGF1c2Utb24tYmxvY2tlZC1ldmVudC1oYW5kbGVyLmh0bWwKKysrIC9kZXYv
bnVsbApAQCAtMSwxNSArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPG1ldGEgaHR0cC1lcXVpdj0i
Q29udGVudC1TZWN1cml0eS1Qb2xpY3kiIGNvbnRlbnQ9InNjcmlwdC1zcmMgJ3NlbGYnOyI+Ci08
c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMi
Pjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2RlYnVn
Z2VyLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9InJlc291cmNlcy9wYXVzZS1vbi1i
bG9ja2VkLWV2ZW50LWhhbmRsZXIuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9InJlc291cmNl
cy9wYXVzZS1vbi1ibG9ja2VkLWJ5LWNzcC5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4K
LTxwPgotVGVzdHMgdGhhdCBwYXVzZSBvbiBleGNlcHRpb24gd29ya3MgZm9yIGlubGluZSBldmVu
dCBoYW5kbGVycyBibG9ja2VkIGJ5IENTUC4KLTwvcD4KLTxidXR0b24gaWQ9InRlc3QiIG9uY2xp
Y2s9ImFsZXJ0KCdGQUlMIScpOyI+QnV0dG9uPC9idXR0b24+Ci08L2JvZHk+Ci08L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvZGVidWdnZXItcGF1c2Ut
b24tYmxvY2tlZC1zY3JpcHQtaW5qZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2lu
c3BlY3Rvci9kZWJ1Z2dlci9kZWJ1Z2dlci1wYXVzZS1vbi1ibG9ja2VkLXNjcmlwdC1pbmplY3Rp
b24tZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1OWVmMzgxODdj
ZGM4MTNmNDRiNjU0NDE0ZjFhYmZjYjA4OGNhOTYyLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9kZWJ1
Z2dlci1wYXVzZS1vbi1ibG9ja2VkLXNjcmlwdC1pbmplY3Rpb24tZXhwZWN0ZWQudHh0CisrKyAv
ZGV2L251bGwKQEAgLTEsMTEgKzAsMCBAQAotQ09OU09MRSBNRVNTQUdFOiBSZWZ1c2VkIHRvIGV4
ZWN1dGUgaW5saW5lIHNjcmlwdCBiZWNhdXNlIGl0IHZpb2xhdGVzIHRoZSBmb2xsb3dpbmcgQ29u
dGVudCBTZWN1cml0eSBQb2xpY3kgZGlyZWN0aXZlOiAic2NyaXB0LXNyYyAnc2VsZiciLgotCi1U
ZXN0cyB0aGF0IHBhdXNlIG9uIGV4Y2VwdGlvbiB3b3JrcyBmb3IgaW5saW5lIHNjcmlwdHMgYmxv
Y2tlZCBieSBDU1AuCi0KLURlYnVnZ2VyIHdhcyBlbmFibGVkLgotU2NyaXB0IGV4ZWN1dGlvbiBw
YXVzZWQuCi1DYWxsIHN0YWNrOgotICAgIDApIHRlc3RBY3Rpb24gKHBhdXNlLW9uLWJsb2NrZWQt
c2NyaXB0LWluamVjdGlvbi5qczo1KQotU2NyaXB0IGV4ZWN1dGlvbiByZXN1bWVkLgotRGVidWdn
ZXIgd2FzIGRpc2FibGVkLgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVi
dWdnZXIvZGVidWdnZXItcGF1c2Utb24tYmxvY2tlZC1zY3JpcHQtaW5qZWN0aW9uLmh0bWwgYi9M
YXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvZGVidWdnZXItcGF1c2Utb24tYmxvY2tlZC1z
Y3JpcHQtaW5qZWN0aW9uLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDFkZjc0
Y2FiOGU5ZGM2YjlhZjZlNmU4MDIzZWY0YWRhZmMwZmUxMzguLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2Vy
L2RlYnVnZ2VyLXBhdXNlLW9uLWJsb2NrZWQtc2NyaXB0LWluamVjdGlvbi5odG1sCisrKyAvZGV2
L251bGwKQEAgLTEsMTQgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxtZXRhIGh0dHAtZXF1aXY9
IkNvbnRlbnQtU2VjdXJpdHktUG9saWN5IiBjb250ZW50PSJzY3JpcHQtc3JjICdzZWxmJzsiPgot
PHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0Lmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9kZWJ1
Z2dlci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvcGF1c2Utb24t
YmxvY2tlZC1ieS1jc3AuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9InJlc291cmNlcy9wYXVz
ZS1vbi1ibG9ja2VkLXNjcmlwdC1pbmplY3Rpb24uanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJv
ZHk+Ci08cD4KLVRlc3RzIHRoYXQgcGF1c2Ugb24gZXhjZXB0aW9uIHdvcmtzIGZvciBpbmxpbmUg
c2NyaXB0cyBibG9ja2VkIGJ5IENTUC4KLTwvcD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9kZWJ1Z2dlci1wYXVzZS1vbi1ibG9j
a2VkLXNjcmlwdC11cmwtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVn
Z2VyL2RlYnVnZ2VyLXBhdXNlLW9uLWJsb2NrZWQtc2NyaXB0LXVybC1leHBlY3RlZC50eHQKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDE5ZTY5ZTVlZmE5NTY5M2E5YTMwNDEwNmJkM2Uy
Y2Y3YWJlMWEzYzMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL2RlYnVnZ2VyLXBhdXNlLW9uLWJsb2Nr
ZWQtc2NyaXB0LXVybC1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxMSArMCwwIEBA
Ci1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTogUmVmdXNlZCB0byBleGVjdXRlIEphdmFTY3JpcHQg
VVJMIGJlY2F1c2UgaXQgdmlvbGF0ZXMgdGhlIGZvbGxvd2luZyBDb250ZW50IFNlY3VyaXR5IFBv
bGljeSBkaXJlY3RpdmU6ICJzY3JpcHQtc3JjICdzZWxmJyIuCi0KLVRlc3RzIHRoYXQgcGF1c2Ug
b24gZXhjZXB0aW9uIHdvcmtzIGZvciBpbmxpbmUgc2NyaXB0IFVSTHMgYmxvY2tlZCBieSBDU1Au
Ci0KLURlYnVnZ2VyIHdhcyBlbmFibGVkLgotU2NyaXB0IGV4ZWN1dGlvbiBwYXVzZWQuCi1DYWxs
IHN0YWNrOgotICAgIDApIHRlc3RBY3Rpb24gKHBhdXNlLW9uLWJsb2NrZWQtc2NyaXB0LXVybC5q
czo2KQotU2NyaXB0IGV4ZWN1dGlvbiByZXN1bWVkLgotRGVidWdnZXIgd2FzIGRpc2FibGVkLgot
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvZGVidWdnZXItcGF1
c2Utb24tYmxvY2tlZC1zY3JpcHQtdXJsLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVi
dWdnZXIvZGVidWdnZXItcGF1c2Utb24tYmxvY2tlZC1zY3JpcHQtdXJsLmh0bWwKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IGI3MzkxZWQ1MzM5NGVmNzY1NGVmOWY5NDI5ZGZkY2NhNzg1
ZmRiMTAuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL2RlYnVnZ2VyLXBhdXNlLW9uLWJsb2NrZWQtc2Ny
aXB0LXVybC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTQgKzAsMCBAQAotPGh0bWw+Ci08aGVh
ZD4KLTxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtU2VjdXJpdHktUG9saWN5IiBjb250ZW50PSJz
Y3JpcHQtc3JjICdzZWxmJzsiPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVj
dG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRw
L3Rlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSJyZXNvdXJjZXMvcGF1c2Utb24tYmxvY2tlZC1ieS1jc3AuanMiPjwvc2NyaXB0PgotPHNjcmlw
dCBzcmM9InJlc291cmNlcy9wYXVzZS1vbi1ibG9ja2VkLXNjcmlwdC11cmwuanMiPjwvc2NyaXB0
PgotPC9oZWFkPgotPGJvZHk+Ci08cD4KLVRlc3RzIHRoYXQgcGF1c2Ugb24gZXhjZXB0aW9uIHdv
cmtzIGZvciBpbmxpbmUgc2NyaXB0IFVSTHMgYmxvY2tlZCBieSBDU1AuCi08L3A+Ci08L2JvZHk+
Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvZGVi
dWdnZXItcGF1c2Utb24tZGVidWdnZXItc3RhdGVtZW50LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9kZWJ1Z2dlci1wYXVzZS1vbi1kZWJ1Z2dlci1zdGF0ZW1l
bnQtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkNzhlZTdiNGU0
MjBjZmNiOTgzN2JkZTUwNGI2MTI0ZjcyMzdmMmZlLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9kZWJ1
Z2dlci1wYXVzZS1vbi1kZWJ1Z2dlci1zdGF0ZW1lbnQtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251
bGwKQEAgLTEsOCArMCwwIEBACi1UZXN0cyB0aGF0IGRlYnVnZ2VyIHdpbGwgc3RvcCBvbiAiZGVi
dWdnZXIiIHN0YXRlbWVudC4KLQotRGVidWdnZXIgd2FzIGVuYWJsZWQuCi1TZXQgdGltZXIgZm9y
IHRlc3QgZnVuY3Rpb24uCi1TY3JpcHQgZXhlY3V0aW9uIHBhdXNlZC4KLVNjcmlwdCBleGVjdXRp
b24gcmVzdW1lZC4KLURlYnVnZ2VyIHdhcyBkaXNhYmxlZC4KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL2RlYnVnZ2VyLXBhdXNlLW9uLWRlYnVnZ2VyLXN0YXRl
bWVudC5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL2RlYnVnZ2VyLXBhdXNl
LW9uLWRlYnVnZ2VyLXN0YXRlbWVudC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCA2YjZhZTY3NDUzMWYxODg4Y2Q1N2FlNWFmYTc0MzJhNTI5MjFkOTA1Li4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9k
ZWJ1Z2dlci9kZWJ1Z2dlci1wYXVzZS1vbi1kZWJ1Z2dlci1zdGF0ZW1lbnQuaHRtbAorKysgL2Rl
di9udWxsCkBAIC0xLDM2ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4v
Li4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyLXRlc3QuanMiPjwv
c2NyaXB0PgotPHNjcmlwdD4KLQotZnVuY3Rpb24gdGVzdEZ1bmN0aW9uKCkKLXsKLSAgICBkZWJ1
Z2dlcjsKLX0KLQotdmFyIHRlc3QgPSBmdW5jdGlvbigpCi17Ci0gICAgSW5zcGVjdG9yVGVzdC5z
dGFydERlYnVnZ2VyVGVzdChzdGVwMSk7Ci0KLSAgICBmdW5jdGlvbiBzdGVwMSgpCi0gICAgewot
ICAgICAgICBJbnNwZWN0b3JUZXN0LnJ1blRlc3RGdW5jdGlvbkFuZFdhaXRVbnRpbFBhdXNlZChz
dGVwMik7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc3RlcDIoKQotICAgIHsKLSAgICAgICAgSW5z
cGVjdG9yVGVzdC5jb21wbGV0ZURlYnVnZ2VyVGVzdCgpOwotICAgIH0KLX0KLQotPC9zY3JpcHQ+
Ci08L2hlYWQ+Ci0KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxwPgotVGVzdHMgdGhhdCBk
ZWJ1Z2dlciB3aWxsIHN0b3Agb24gImRlYnVnZ2VyIiBzdGF0ZW1lbnQuCi08L3A+Ci0KLTwvYm9k
eT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9k
ZWJ1Z2dlci1wYXVzZS1vbi1leGNlcHRpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yL2RlYnVnZ2VyL2RlYnVnZ2VyLXBhdXNlLW9uLWV4Y2VwdGlvbi1leHBlY3RlZC50eHQK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDc3ZGFhOWY1ZmY1MDhjM2M1YjkxZTNkYTZh
ZDY1M2JlM2YyZGRiZGMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL2RlYnVnZ2VyLXBhdXNlLW9uLWV4
Y2VwdGlvbi1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxMiArMCwwIEBACi1DT05T
T0xFIE1FU1NBR0U6IGxpbmUgOTogUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6
IHVua25vd25fdmFyCi1UZXN0cyB0aGF0IHBhdXNlIG9uIGV4Y2VwdGlvbiB3b3Jrcy4KLQotRGVi
dWdnZXIgd2FzIGVuYWJsZWQuCi1TY3JpcHQgc291cmNlIHdhcyBzaG93bi4KLVNjcmlwdCBleGVj
dXRpb24gcGF1c2VkLgotQ2FsbCBzdGFjazoKLSAgICAwKSB0aHJvd0FuRXhjZXB0aW9uIChkZWJ1
Z2dlci1wYXVzZS1vbi1leGNlcHRpb24uaHRtbDo5KQotICAgIDEpIGhhbmRsZUNsaWNrIChkZWJ1
Z2dlci1wYXVzZS1vbi1leGNlcHRpb24uaHRtbDoxNCkKLVNjcmlwdCBleGVjdXRpb24gcmVzdW1l
ZC4KLURlYnVnZ2VyIHdhcyBkaXNhYmxlZC4KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yL2RlYnVnZ2VyL2RlYnVnZ2VyLXBhdXNlLW9uLWV4Y2VwdGlvbi5odG1sIGIvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL2RlYnVnZ2VyLXBhdXNlLW9uLWV4Y2VwdGlvbi5odG1s
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2MzAxN2NiYTUyODdjMTFmNDA3ZWUwNTI4
MTJiZmE3NTI4Mzk4ZGQyLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9kZWJ1Z2dlci1wYXVzZS1vbi1l
eGNlcHRpb24uaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDUwICswLDAgQEAKLTxodG1sPgotPGhl
YWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRl
c3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9y
L2RlYnVnZ2VyLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLQotZnVuY3Rpb24gdGhyb3dB
bkV4Y2VwdGlvbigpCi17Ci0gICAgcmV0dXJuIHVua25vd25fdmFyOwotfQotCi1mdW5jdGlvbiBo
YW5kbGVDbGljaygpCi17Ci0gICAgdGhyb3dBbkV4Y2VwdGlvbigpOwotfQotCi12YXIgdGVzdCA9
IGZ1bmN0aW9uKCkKLXsKLSAgICBJbnNwZWN0b3JUZXN0LnN0YXJ0RGVidWdnZXJUZXN0KHN0ZXAx
KTsKLQotICAgIGZ1bmN0aW9uIHN0ZXAxKCkKLSAgICB7Ci0gICAgICAgIERlYnVnZ2VyQWdlbnQu
c2V0UGF1c2VPbkV4Y2VwdGlvbnMoV2ViSW5zcGVjdG9yLkRlYnVnZ2VyTW9kZWwuUGF1c2VPbkV4
Y2VwdGlvbnNTdGF0ZS5QYXVzZU9uVW5jYXVnaHRFeGNlcHRpb25zKTsKLSAgICAgICAgSW5zcGVj
dG9yVGVzdC5zaG93U2NyaXB0U291cmNlKCJkZWJ1Z2dlci1wYXVzZS1vbi1leGNlcHRpb24uaHRt
bCIsIHN0ZXAyKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwMigpCi0gICAgewotICAgICAg
ICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiU2NyaXB0IHNvdXJjZSB3YXMgc2hvd24uIik7Ci0g
ICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoInNldFRpbWVvdXQoaGFuZGxlQ2xp
Y2ssIDApIik7Ci0gICAgICAgIEluc3BlY3RvclRlc3Qud2FpdFVudGlsUGF1c2VkKHN0ZXAzKTsK
LSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwMyhjYWxsRnJhbWVzKQotICAgIHsKLSAgICAgICAg
SW5zcGVjdG9yVGVzdC5jYXB0dXJlU3RhY2tUcmFjZShjYWxsRnJhbWVzKTsKLSAgICAgICAgSW5z
cGVjdG9yVGVzdC5jb21wbGV0ZURlYnVnZ2VyVGVzdCgpOwotICAgIH0KLX0KLQotPC9zY3JpcHQ+
Ci08L2hlYWQ+Ci0KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxwPgotVGVzdHMgdGhhdCBw
YXVzZSBvbiBleGNlcHRpb24gd29ya3MuCi08L3A+Ci0KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9kZWJ1Z2dlci1wYXVzZS1vbi1m
YWlsZWQtYXNzZXJ0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1
Z2dlci9kZWJ1Z2dlci1wYXVzZS1vbi1mYWlsZWQtYXNzZXJ0aW9uLWV4cGVjdGVkLnR4dApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYWU2ODIxMDBiMGQxZDJlNzBmODgwYTQ1MzMzZTBl
YTNjYTIzNWUyZi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvZGVidWdnZXItcGF1c2Utb24tZmFpbGVk
LWFzc2VydGlvbi1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxMSArMCwwIEBACi1U
ZXN0cyB0aGF0IGRlYnVnZ2VyIGJyZWFrcyBvbiBmYWlsZWQgYXNzZXJ0aW9uIHdoZW4gcGF1c2Ug
b24gZXhjZXB0aW9uIG1vZGUgaXMgZW5hYmxlZC4KLQotRGVidWdnZXIgd2FzIGVuYWJsZWQuCi1T
Y3JpcHQgc291cmNlIHdhcyBzaG93bi4KLVNjcmlwdCBleGVjdXRpb24gcGF1c2VkLgotQ2FsbCBz
dGFjazoKLSAgICAwKSBmYWlsQXNzZXJ0aW9uIChkZWJ1Z2dlci1wYXVzZS1vbi1mYWlsZWQtYXNz
ZXJ0aW9uLmh0bWw6OSkKLSAgICAxKSBoYW5kbGVDbGljayAoZGVidWdnZXItcGF1c2Utb24tZmFp
bGVkLWFzc2VydGlvbi5odG1sOjE0KQotU2NyaXB0IGV4ZWN1dGlvbiByZXN1bWVkLgotRGVidWdn
ZXIgd2FzIGRpc2FibGVkLgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVi
dWdnZXIvZGVidWdnZXItcGF1c2Utb24tZmFpbGVkLWFzc2VydGlvbi5odG1sIGIvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yL2RlYnVnZ2VyL2RlYnVnZ2VyLXBhdXNlLW9uLWZhaWxlZC1hc3NlcnRpb24u
aHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDUzOWYzOWM3ZDRiMThlODZhYjY4
YjE4MzBlZjZmNjViOTYxNTM4My4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvZGVidWdnZXItcGF1c2Ut
b24tZmFpbGVkLWFzc2VydGlvbi5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNTAgKzAsMCBAQAot
PGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9p
bnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0
cy9pbnNwZWN0b3IvZGVidWdnZXItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotCi1mdW5j
dGlvbiBmYWlsQXNzZXJ0aW9uKCkKLXsKLSAgICBjb25zb2xlLmFzc2VydChmYWxzZSk7Ci19Ci0K
LWZ1bmN0aW9uIGhhbmRsZUNsaWNrKCkKLXsKLSAgICBmYWlsQXNzZXJ0aW9uKCk7Ci19Ci0KLXZh
ciB0ZXN0ID0gZnVuY3Rpb24oKQotewotICAgIEluc3BlY3RvclRlc3Quc3RhcnREZWJ1Z2dlclRl
c3Qoc3RlcDEpOwotCi0gICAgZnVuY3Rpb24gc3RlcDEoKQotICAgIHsKLSAgICAgICAgRGVidWdn
ZXJBZ2VudC5zZXRQYXVzZU9uRXhjZXB0aW9ucyhXZWJJbnNwZWN0b3IuRGVidWdnZXJNb2RlbC5Q
YXVzZU9uRXhjZXB0aW9uc1N0YXRlLlBhdXNlT25VbmNhdWdodEV4Y2VwdGlvbnMpOwotICAgICAg
ICBJbnNwZWN0b3JUZXN0LnNob3dTY3JpcHRTb3VyY2UoImRlYnVnZ2VyLXBhdXNlLW9uLWZhaWxl
ZC1hc3NlcnRpb24uaHRtbCIsIHN0ZXAyKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwMigp
Ci0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiU2NyaXB0IHNvdXJjZSB3
YXMgc2hvd24uIik7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoInNldFRp
bWVvdXQoaGFuZGxlQ2xpY2ssIDApIik7Ci0gICAgICAgIEluc3BlY3RvclRlc3Qud2FpdFVudGls
UGF1c2VkKHN0ZXAzKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwMyhjYWxsRnJhbWVzKQot
ICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5jYXB0dXJlU3RhY2tUcmFjZShjYWxsRnJhbWVz
KTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZURlYnVnZ2VyVGVzdCgpOwotICAgIH0K
LX0KLQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci0KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxw
PgotVGVzdHMgdGhhdCBkZWJ1Z2dlciBicmVha3Mgb24gZmFpbGVkIGFzc2VydGlvbiB3aGVuIHBh
dXNlIG9uIGV4Y2VwdGlvbiBtb2RlIGlzIGVuYWJsZWQuCi08L3A+Ci0KLTwvYm9keT4KLTwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9kZWJ1Z2dlci1y
ZWxvYWQtb24tcGF1c2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVn
Z2VyL2RlYnVnZ2VyLXJlbG9hZC1vbi1wYXVzZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDg3ODEwYzlhMThkY2QxZjM4NzcwMWE1MTI3NmQ1NTAzZWZjYjc2NjEu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yL2RlYnVnZ2VyL2RlYnVnZ2VyLXJlbG9hZC1vbi1wYXVzZS1leHBlY3RlZC50
eHQKKysrIC9kZXYvbnVsbApAQCAtMSw5ICswLDAgQEAKLVRlc3RzICJyZWxvYWQiIGZyb20gd2l0
aGluIGluc3BlY3RvciB3aW5kb3cgd2hpbGUgb24gcGF1c2UuCi0KLURlYnVnZ2VyIHdhcyBlbmFi
bGVkLgotU2V0IHRpbWVyIGZvciB0ZXN0IGZ1bmN0aW9uLgotU2NyaXB0IGV4ZWN1dGlvbiBwYXVz
ZWQuCi1TY3JpcHQgZXhlY3V0aW9uIHJlc3VtZWQuCi1QYWdlIHJlbG9hZGVkLgotRGVidWdnZXIg
d2FzIGRpc2FibGVkLgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdn
ZXIvZGVidWdnZXItcmVsb2FkLW9uLXBhdXNlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Iv
ZGVidWdnZXIvZGVidWdnZXItcmVsb2FkLW9uLXBhdXNlLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IGE1NjFiOWM4NDlkMTBmYTU1YWE2NDg0OTQxYzE3ZjRiMmMzNTcyMmEuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yL2RlYnVnZ2VyL2RlYnVnZ2VyLXJlbG9hZC1vbi1wYXVzZS5odG1sCisrKyAvZGV2
L251bGwKQEAgLTEsNDEgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8u
Li9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2Ny
aXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvZGVidWdnZXItdGVzdC5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0PgotCi1mdW5jdGlvbiB0ZXN0RnVuY3Rpb24oKQotewotICAgIGRlYnVn
Z2VyOwotfQotCi12YXIgdGVzdCA9IGZ1bmN0aW9uKCkKLXsKLSAgICBJbnNwZWN0b3JUZXN0LnN0
YXJ0RGVidWdnZXJUZXN0KHN0ZXAxKTsKLQotICAgIGZ1bmN0aW9uIHN0ZXAxKCkKLSAgICB7Ci0g
ICAgICAgIEluc3BlY3RvclRlc3QucnVuVGVzdEZ1bmN0aW9uQW5kV2FpdFVudGlsUGF1c2VkKHN0
ZXAyKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwMigpCi0gICAgewotICAgICAgICBJbnNw
ZWN0b3JUZXN0LnJlbG9hZFBhZ2Uoc3RlcDMpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0ZXAz
KCkKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVEZWJ1Z2dlclRlc3QoKTsK
LSAgICB9Ci19Ci0KLTwvc2NyaXB0PgotPC9oZWFkPgotCi08Ym9keSBvbmxvYWQ9InJ1blRlc3Qo
KSI+Ci08cD4KLVRlc3RzICJyZWxvYWQiIGZyb20gd2l0aGluIGluc3BlY3RvciB3aW5kb3cgd2hp
bGUgb24gcGF1c2UuCi08L3A+Ci0KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9kZWJ1Z2dlci1zY3JpcHRzLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9kZWJ1Z2dlci1zY3JpcHRzLWV4cGVjdGVk
LnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzc1MDhhNjhiMTY3MWEwYjBjODVm
NWFlYjM0NGQ1NTE3ZTY4NmQ5OS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvZGVidWdnZXItc2NyaXB0
cy1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwyMyArMCwwIEBACi1UZXN0cyB0aGF0
IHZhbGlkIHBhcnNlZCBzY3JpcHQgbm90aWZpY2F0aW9ucyBhcmUgcmVjZWl2ZWQgYnkgZnJvbnQt
ZW5kLiBCdWcgNTI3MjEKLQotRGVidWdnZXIgd2FzIGVuYWJsZWQuCi1zY3JpcHQgMToKLSAgICBz
dGFydDogNTo4Ci0gICAgZW5kOiAzODowCi1zY3JpcHQgMjoKLSAgICBzdGFydDogMzg6MjEKLSAg
ICBlbmQ6IDQyOjAKLXNjcmlwdCAzOgotICAgIHN0YXJ0OiA0MzoxMQotICAgIGVuZDogNDM6MzIK
LXNjcmlwdCA0OgotICAgIHN0YXJ0OiA0NDoxMQotICAgIGVuZDogNDU6MAotc2NyaXB0IDU6Ci0g
ICAgc3RhcnQ6IDQ2OjExCi0gICAgZW5kOiA0ODowCi1zY3JpcHQgNjoKLSAgICBzdGFydDogNTE6
NTYKLSAgICBlbmQ6IDUyOjIKLURlYnVnZ2VyIHdhcyBkaXNhYmxlZC4KLQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL2RlYnVnZ2VyLXNjcmlwdHMtcmVsb2FkLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9kZWJ1Z2dlci1zY3Jp
cHRzLXJlbG9hZC1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQ2
ZjEyZjNjZWJkOGI2ZDM0MThkNzA3YzQ4YmJiMTk5NDViZDdkMmQuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVn
Z2VyL2RlYnVnZ2VyLXNjcmlwdHMtcmVsb2FkLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBA
IC0xLDcgKzAsMCBAQAotVGVzdHMgdGhhdCBzY3JpcHRzIGxpc3QgaXMgY2xlYXJlZCB1cG9uIHBh
Z2UgcmVsb2FkLgotCi1EZWJ1Z2dlciB3YXMgZW5hYmxlZC4KLUR1bW15IHNjcmlwdCBmb3VuZDog
ZHVtbXlTY3JpcHQuanMKLVBhZ2UgcmVsb2FkZWQuCi1EZWJ1Z2dlciB3YXMgZGlzYWJsZWQuCi0K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9kZWJ1Z2dlci1zY3Jp
cHRzLXJlbG9hZC5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL2RlYnVnZ2Vy
LXNjcmlwdHMtcmVsb2FkLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ3N2I0
ZDAwMzZhM2RhYWNiMjM4YzA3ZmU3ZTdmZGZhNTUzNmY1MDIuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2Vy
L2RlYnVnZ2VyLXNjcmlwdHMtcmVsb2FkLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw1MSArMCww
IEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVj
dG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRw
L3Rlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci10ZXN0LmpzIj48L3NjcmlwdD4KLQotPHNjcmlwdD4K
LQotZnVuY3Rpb24gdGVzdCgpCi17Ci0gICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgi
ZnVuY3Rpb24gZm9vKCkge30gLy9AIHNvdXJjZVVSTD1kdW1teVNjcmlwdC5qcyIsIHN0ZXAxKTsK
LQotICAgIGZ1bmN0aW9uIHN0ZXAxKCkKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3Quc3Rh
cnREZWJ1Z2dlclRlc3Qoc3RlcDIpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0ZXAyKCkKLSAg
ICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QucXVlcnlTY3JpcHRzKGZ1bmN0aW9uKHNjcmlwdCkg
eyBzdGVwMyh7IGRhdGE6IHNjcmlwdCB9KSB9KTsKLSAgICAgICAgV2ViSW5zcGVjdG9yLmRlYnVn
Z2VyTW9kZWwuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuRGVidWdnZXJNb2RlbC5FdmVu
dHMuUGFyc2VkU2NyaXB0U291cmNlLCBzdGVwMyk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc3Rl
cDMoZXZlbnQpCi0gICAgewotICAgICAgICB2YXIgc2NyaXB0ID0gZXZlbnQuZGF0YTsKLSAgICAg
ICAgaWYgKHNjcmlwdC5zb3VyY2VVUkwuaW5kZXhPZigiZHVtbXlTY3JpcHQuanMiKSAhPT0gLTEp
IHsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJEdW1teSBzY3JpcHQgZm91
bmQ6ICIgKyBzY3JpcHQuc291cmNlVVJMKTsKLSAgICAgICAgICAgIC8vIExldCBzY3JpcHRzIGRp
c3BhdGNoIGFuZCByZWxvYWQuCi0gICAgICAgICAgICBzZXRUaW1lb3V0KEluc3BlY3RvclRlc3Qu
cmVsb2FkUGFnZS5iaW5kKEluc3BlY3RvclRlc3QsIGFmdGVyUmVsb2FkKSwgMCk7Ci0gICAgICAg
IH0KLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBhZnRlclJlbG9hZCgpCi0gICAgewotICAgICAgICB2
YXIgc2NyaXB0cyA9IEluc3BlY3RvclRlc3QucXVlcnlTY3JpcHRzKCk7Ci0gICAgICAgIGZvciAo
dmFyIGkgPSAwOyBpIDwgc2NyaXB0cy5sZW5ndGg7ICsraSkgewotICAgICAgICAgICAgaWYgKHNj
cmlwdHNbaV0uc291cmNlVVJMLmluZGV4T2YoImR1bW15U2NyaXB0LmpzIikgIT09IC0xKQotICAg
ICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJGQUlMRUQ6IGR1bW15IHNjcmlw
dCBmb3VuZCBhZnRlciBuYXZpZ2F0aW9uIik7Ci0gICAgICAgIH0KLSAgICAgICAgSW5zcGVjdG9y
VGVzdC5jb21wbGV0ZURlYnVnZ2VyVGVzdCgpOwotICAgIH0KLQotfQotPC9zY3JpcHQ+Ci08L2hl
YWQ+Ci08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci08cD4KLVRlc3RzIHRoYXQgc2NyaXB0cyBs
aXN0IGlzIGNsZWFyZWQgdXBvbiBwYWdlIHJlbG9hZC4KLTwvcD4KLTwvYm9keT4KLTwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9kZWJ1Z2dlci1zY3Jp
cHRzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvZGVidWdnZXItc2NyaXB0
cy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1Y2RiOTMwYTdlOTA2ZTQ4NWE5
NjlmZWNjOTc0NjI1OGM0ZTliNjRiLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9kZWJ1Z2dlci1zY3Jp
cHRzLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw1OSArMCwwIEBACi08aHRtbD4KLTxoZWFkPgot
PHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0Lmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9kZWJ1
Z2dlci10ZXN0LmpzIj48L3NjcmlwdD4KLQotPHNjcmlwdD4KLWZ1bmN0aW9uIHRlc3QoKQotewot
ICAgIHZhciBzY3JpcHRzID0gW107Ci0gICAgSW5zcGVjdG9yVGVzdC5zdGFydERlYnVnZ2VyVGVz
dChzdGVwMSk7Ci0KLSAgICBmdW5jdGlvbiBzdGVwMSgpCi0gICAgewotICAgICAgICBJbnNwZWN0
b3JUZXN0LnF1ZXJ5U2NyaXB0cyhmdW5jdGlvbihzY3JpcHQpIHsgc3RlcDIoeyBkYXRhOiBzY3Jp
cHQgfSkgfSk7Ci0gICAgICAgIFdlYkluc3BlY3Rvci5kZWJ1Z2dlck1vZGVsLmFkZEV2ZW50TGlz
dGVuZXIoV2ViSW5zcGVjdG9yLkRlYnVnZ2VyTW9kZWwuRXZlbnRzLlBhcnNlZFNjcmlwdFNvdXJj
ZSwgc3RlcDIpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0ZXAyKGV2ZW50KQotICAgIHsKLSAg
ICAgICAgdmFyIHNjcmlwdCA9IGV2ZW50LmRhdGE7Ci0gICAgICAgIGlmIChzY3JpcHQuc291cmNl
VVJMICE9PSBXZWJJbnNwZWN0b3IuaW5zcGVjdGVkUGFnZVVSTCkKLSAgICAgICAgICAgIHJldHVy
bjsKLSAgICAgICAgc2NyaXB0cy5wdXNoKHNjcmlwdCk7Ci0gICAgICAgIGlmIChzY3JpcHRzLmxl
bmd0aCA9PT0gNikKLSAgICAgICAgICAgIHN0ZXAzKCk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24g
c3RlcDMoKQotICAgIHsKLSAgICAgICAgc2NyaXB0cy5zb3J0KGZ1bmN0aW9uKHgsIHkpIHsgcmV0
dXJuIHgubGluZU9mZnNldCAtIHkubGluZU9mZnNldCB9KTsKLSAgICAgICAgZm9yICh2YXIgaSA9
IDA7IGkgPCBzY3JpcHRzLmxlbmd0aDsgKytpKSB7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0
LmFkZFJlc3VsdCgic2NyaXB0ICIgKyAoaSArIDEpICsgIjoiKTsKLSAgICAgICAgICAgIEluc3Bl
Y3RvclRlc3QuYWRkUmVzdWx0KCIgICAgc3RhcnQ6ICIgKyBzY3JpcHRzW2ldLmxpbmVPZmZzZXQg
KyAiOiIgKyBzY3JpcHRzW2ldLmNvbHVtbk9mZnNldCk7Ci0gICAgICAgICAgICBJbnNwZWN0b3JU
ZXN0LmFkZFJlc3VsdCgiICAgIGVuZDogIiArIHNjcmlwdHNbaV0uZW5kTGluZSArICI6IiArIHNj
cmlwdHNbaV0uZW5kQ29sdW1uKTsKLSAgICAgICAgfQotICAgICAgICBJbnNwZWN0b3JUZXN0LmNv
bXBsZXRlRGVidWdnZXJUZXN0KCk7Ci0gICAgfQotfQotPC9zY3JpcHQ+ICAgIDxzY3JpcHQ+Ci1m
dW5jdGlvbiBmMSgpCi17Ci19Ci08L3NjcmlwdD4KLSAgIDxzY3JpcHQ+IGZ1bmN0aW9uIGYyKCkg
e30gICAgPC9zY3JpcHQ+Ci0gICA8c2NyaXB0PmZ1bmN0aW9uIGYzKCkge30KLTwvc2NyaXB0Pgot
ICAgPHNjcmlwdD4KLSAgIGZ1bmN0aW9uIGY0KCkge30KLTwvc2NyaXB0PgotCi08L2hlYWQ+Ci08
Ym9keSBvbmxvYWQ9IndpbmRvdy5kdW1teSA9IGZ1bmN0aW9uKCkgeyB9OyBydW5UZXN0KCkiPgot
PHA+Ci1UZXN0cyB0aGF0IHZhbGlkIHBhcnNlZCBzY3JpcHQgbm90aWZpY2F0aW9ucyBhcmUgcmVj
ZWl2ZWQgYnkgZnJvbnQtZW5kLgotPGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTUyNzIxIj5CdWcgNTI3MjE8L2E+Ci08L3A+Ci08L2JvZHk+Ci0KLTwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9kZWJ1Z2dlci1z
ZXQtYnJlYWtwb2ludC1yZWdleC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Iv
ZGVidWdnZXIvZGVidWdnZXItc2V0LWJyZWFrcG9pbnQtcmVnZXgtZXhwZWN0ZWQudHh0CmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlMDY1MTA0ZmYyZGI0MGJhNTc3MzQzM2M2OGEwZDhm
ZDY2YmY1NzE3Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9kZWJ1Z2dlci1zZXQtYnJlYWtwb2ludC1y
ZWdleC1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxOCArMCwwIEBACi1UZXN0cyBE
ZWJ1Z2dlci5zZXRCcmVha3BvaW50QnlVcmwgd2l0aCBpc1JlZ2V4IHNldCB0byB0cnVlLgotCi1E
ZWJ1Z2dlciB3YXMgZW5hYmxlZC4KLQotUnVubmluZzogdGVzdFNldE5vbmVPZlVSTEFuZFJlZ2V4
Ci1FaXRoZXIgdXJsIG9yIHVybFJlZ2V4IG11c3QgYmUgc3BlY2lmaWVkLgotCi1SdW5uaW5nOiB0
ZXN0U2V0Qm90aFVSTEFuZFJlZ2V4Ci1FaXRoZXIgdXJsIG9yIHVybFJlZ2V4IG11c3QgYmUgc3Bl
Y2lmaWVkLgotCi1SdW5uaW5nOiB0ZXN0U2V0QnlSZWdleAotU2V0IHRpbWVyIGZvciB0ZXN0IGZ1
bmN0aW9uLgotU2NyaXB0IGV4ZWN1dGlvbiBwYXVzZWQuCi1DYWxsIHN0YWNrOgotICAgIDApIHRl
c3RGdW5jdGlvbiAoZGVidWdnZXItc2V0LWJyZWFrcG9pbnQtcmVnZXguaHRtbDo5KQotU2NyaXB0
IGV4ZWN1dGlvbiByZXN1bWVkLgotRGVidWdnZXIgd2FzIGRpc2FibGVkLgotCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvZGVidWdnZXItc2V0LWJyZWFrcG9pbnQt
cmVnZXguaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9kZWJ1Z2dlci1zZXQt
YnJlYWtwb2ludC1yZWdleC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxZmFk
MjdjMGZiYTdkMjU4ZWZkMmI5ZjEwZjgyYmRhMTNmMGRiMjAwLi4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dl
ci9kZWJ1Z2dlci1zZXQtYnJlYWtwb2ludC1yZWdleC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEs
NjkgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3Rz
L2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4v
Li4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvZGVidWdnZXItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2Ny
aXB0PgotCi1mdW5jdGlvbiB0ZXN0RnVuY3Rpb24oKQotewotICAgIGZvbygpOwotfQotCi1mdW5j
dGlvbiBmb28oKQotewotfQotCi1mdW5jdGlvbiB0ZXN0KCkKLXsKLSAgICBJbnNwZWN0b3JUZXN0
LnJ1bkRlYnVnZ2VyVGVzdFN1aXRlKFsKLSAgICAgICAgZnVuY3Rpb24gdGVzdFNldE5vbmVPZlVS
TEFuZFJlZ2V4KG5leHQpCi0gICAgICAgIHsKLSAgICAgICAgICAgIERlYnVnZ2VyQWdlbnQuc2V0
QnJlYWtwb2ludEJ5VXJsLmludm9rZSh7bGluZU51bWJlcjogMX0sIHN0ZXAyKTsKLQotICAgICAg
ICAgICAgZnVuY3Rpb24gc3RlcDIoZXJyb3IpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAg
ICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoZXJyb3IpOwotICAgICAgICAgICAgICAgIG5leHQo
KTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfSwKLQotICAgICAgICBmdW5jdGlvbiB0ZXN0U2V0
Qm90aFVSTEFuZFJlZ2V4KG5leHQpCi0gICAgICAgIHsKLSAgICAgICAgICAgIHZhciB1cmwgPSAi
ZGVidWdnZXItc2V0LWJyZWFrcG9pbnQuanMiOwotICAgICAgICAgICAgdmFyIHVybFJlZ2V4ID0g
ImRlYnVnZ2VyLXNldC1icmVha3BvaW50LioiOwotICAgICAgICAgICAgRGVidWdnZXJBZ2VudC5z
ZXRCcmVha3BvaW50QnlVcmwoMSwgdXJsLCB1cmxSZWdleCwgc3RlcDIpOwotCi0gICAgICAgICAg
ICBmdW5jdGlvbiBzdGVwMihlcnJvcikKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBJ
bnNwZWN0b3JUZXN0LmFkZFJlc3VsdChlcnJvcik7Ci0gICAgICAgICAgICAgICAgbmV4dCgpOwot
ICAgICAgICAgICAgfQotICAgICAgICB9LAotCi0gICAgICAgIGZ1bmN0aW9uIHRlc3RTZXRCeVJl
Z2V4KG5leHQpCi0gICAgICAgIHsKLSAgICAgICAgICAgIERlYnVnZ2VyQWdlbnQuc2V0QnJlYWtw
b2ludEJ5VXJsLmludm9rZSh7dXJsUmVnZXg6ICJkZWJ1Z2dlci1zZXQtYnJlYWtwb2ludC4qIiwg
bGluZU51bWJlcjo4fSwgc3RlcDIpOwotCi0gICAgICAgICAgICBmdW5jdGlvbiBzdGVwMihyZXN1
bHQpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5ydW5UZXN0
RnVuY3Rpb25BbmRXYWl0VW50aWxQYXVzZWQoc3RlcDMpOwotICAgICAgICAgICAgfQotICAgICAg
ICAKLSAgICAgICAgICAgIGZ1bmN0aW9uIHN0ZXAzKGNhbGxGcmFtZXMpCi0gICAgICAgICAgICB7
Ci0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5jYXB0dXJlU3RhY2tUcmFjZShjYWxsRnJh
bWVzKTsKLSAgICAgICAgICAgICAgICBuZXh0KCk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0K
LSAgICBdKTsKLX0KLQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci0KLTxib2R5IG9ubG9hZD0icnVuVGVz
dCgpIj4KLTxwPgotVGVzdHMgRGVidWdnZXIuc2V0QnJlYWtwb2ludEJ5VXJsIHdpdGggaXNSZWdl
eCBzZXQgdG8gdHJ1ZS4KLTwvcD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9kZWJ1Z2dlci1zdGVwLWluLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9kZWJ1Z2dlci1zdGVwLWluLWV4cGVjdGVk
LnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjM5ZTIwODU1NDg1MmYwYjA1Yjc2
NzQxNDVlYzEzNmVmMjFjZDZmZC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvZGVidWdnZXItc3RlcC1p
bi1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwyMSArMCwwIEBACi1UZXN0cyAic3Rl
cCBpbiIgZnVuY3Rpb25hbGl0eSBpbiBkZWJ1Z2dlci4KLQotRGVidWdnZXIgd2FzIGVuYWJsZWQu
Ci1TZXQgdGltZXIgZm9yIHRlc3QgZnVuY3Rpb24uCi1TY3JpcHQgZXhlY3V0aW9uIHBhdXNlZC4K
LUNhbGwgc3RhY2s6Ci0gICAgMCkgdGVzdEZ1bmN0aW9uIChkZWJ1Z2dlci1zdGVwLWluLmh0bWw6
MTQpCi1TdGVwcGluZyBpbnRvLi4uCi1TY3JpcHQgZXhlY3V0aW9uIHJlc3VtZWQuCi1TY3JpcHQg
ZXhlY3V0aW9uIHBhdXNlZC4KLUNhbGwgc3RhY2s6Ci0gICAgMCkgdGVzdEZ1bmN0aW9uIChkZWJ1
Z2dlci1zdGVwLWluLmh0bWw6MTUpCi1TdGVwcGluZyBpbnRvLi4uCi1TY3JpcHQgZXhlY3V0aW9u
IHJlc3VtZWQuCi1TY3JpcHQgZXhlY3V0aW9uIHBhdXNlZC4KLUNhbGwgc3RhY2s6Ci0gICAgMCkg
ZCAoZGVidWdnZXItc3RlcC1pbi5odG1sOjgpCi0gICAgMSkgdGVzdEZ1bmN0aW9uIChkZWJ1Z2dl
ci1zdGVwLWluLmh0bWw6MTUpCi1TY3JpcHQgZXhlY3V0aW9uIHJlc3VtZWQuCi1EZWJ1Z2dlciB3
YXMgZGlzYWJsZWQuCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dl
ci9kZWJ1Z2dlci1zdGVwLWluLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIv
ZGVidWdnZXItc3RlcC1pbi5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4YjVi
OTA5MWUyMWI1ODdmZTEzMzM3ODNhZjI0ZTFmM2Q3YWU5NzE2Li4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dl
ci9kZWJ1Z2dlci1zdGVwLWluLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw1MCArMCwwIEBACi08
aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2lu
c3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3Rz
L2luc3BlY3Rvci9kZWJ1Z2dlci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci0KLWZ1bmN0
aW9uIGQoKQotewotICAgIHZhciBpID0gMTA7Ci19Ci0KLWZ1bmN0aW9uIHRlc3RGdW5jdGlvbigp
Ci17Ci0gICAgZGVidWdnZXI7Ci0gICAgZCgpOwotfQotCi12YXIgdGVzdCA9IGZ1bmN0aW9uKCkK
LXsKLSAgICBJbnNwZWN0b3JUZXN0LnN0YXJ0RGVidWdnZXJUZXN0KHN0ZXAxKTsKLQotICAgIGZ1
bmN0aW9uIHN0ZXAxKCkKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QucnVuVGVzdEZ1bmN0
aW9uQW5kV2FpdFVudGlsUGF1c2VkKHN0ZXAyKTsKLSAgICB9Ci0KLSAgICB2YXIgc3RlcENvdW50
ID0gMDsKLSAgICBmdW5jdGlvbiBzdGVwMihjYWxsRnJhbWVzKQotICAgIHsKLSAgICAgICAgSW5z
cGVjdG9yVGVzdC5jYXB0dXJlU3RhY2tUcmFjZShjYWxsRnJhbWVzKTsKLSAgICAgICAgaWYgKHN0
ZXBDb3VudCA8IDIpIHsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJTdGVw
cGluZyBpbnRvLi4uIik7Ci0gICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2Ny
aXB0cy1zdGVwLWludG8iKS5jbGljaygpOwotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC53YWl0
VW50aWxSZXN1bWVkKEluc3BlY3RvclRlc3Qud2FpdFVudGlsUGF1c2VkLmJpbmQoSW5zcGVjdG9y
VGVzdCwgc3RlcDIpKTsKLSAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0
LmNvbXBsZXRlRGVidWdnZXJUZXN0KCk7Ci0gICAgICAgIHN0ZXBDb3VudCsrOwotICAgIH0KLX0K
LQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci0KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxwPgot
VGVzdHMgInN0ZXAgaW4iIGZ1bmN0aW9uYWxpdHkgaW4gZGVidWdnZXIuCi08L3A+Ci0KLTwvYm9k
eT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9k
ZWJ1Z2dlci1zdGVwLW91dC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVi
dWdnZXIvZGVidWdnZXItc3RlcC1vdXQtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCBkYTJkMGM0ZGFlMzU0OWRhNWRkOWI0YzIyZTE3MTkxZGJlOTIwNmZhLi4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2lu
c3BlY3Rvci9kZWJ1Z2dlci9kZWJ1Z2dlci1zdGVwLW91dC1leHBlY3RlZC50eHQKKysrIC9kZXYv
bnVsbApAQCAtMSwxNiArMCwwIEBACi1UZXN0cyAic3RlcCBvdXQiIGZ1bmN0aW9uYWxpdHkgaW4g
ZGVidWdnZXIuCi0KLURlYnVnZ2VyIHdhcyBlbmFibGVkLgotU2V0IHRpbWVyIGZvciB0ZXN0IGZ1
bmN0aW9uLgotU2NyaXB0IGV4ZWN1dGlvbiBwYXVzZWQuCi1DYWxsIHN0YWNrOgotICAgIDApIGQg
KGRlYnVnZ2VyLXN0ZXAtb3V0Lmh0bWw6OSkKLSAgICAxKSB0ZXN0RnVuY3Rpb24gKGRlYnVnZ2Vy
LXN0ZXAtb3V0Lmh0bWw6MTQpCi1TdGVwcGluZyBvdXQuLi4KLVNjcmlwdCBleGVjdXRpb24gcmVz
dW1lZC4KLVNjcmlwdCBleGVjdXRpb24gcGF1c2VkLgotQ2FsbCBzdGFjazoKLSAgICAwKSB0ZXN0
RnVuY3Rpb24gKGRlYnVnZ2VyLXN0ZXAtb3V0Lmh0bWw6MTUpCi1TY3JpcHQgZXhlY3V0aW9uIHJl
c3VtZWQuCi1EZWJ1Z2dlciB3YXMgZGlzYWJsZWQuCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2luc3BlY3Rvci9kZWJ1Z2dlci9kZWJ1Z2dlci1zdGVwLW91dC5odG1sIGIvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yL2RlYnVnZ2VyL2RlYnVnZ2VyLXN0ZXAtb3V0Lmh0bWwKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IGUzZGVkMGMwNjEwOWU0MDExZDY4ZmI5ZmU3MzJmYzQ4Y2I2Nzg5ZDUu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yL2RlYnVnZ2VyL2RlYnVnZ2VyLXN0ZXAtb3V0Lmh0bWwKKysrIC9kZXYvbnVs
bApAQCAtMSw1MCArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0
dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci10ZXN0LmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQ+Ci0KLWZ1bmN0aW9uIGQoKQotewotICAgIGRlYnVnZ2VyOwotfQotCi1mdW5j
dGlvbiB0ZXN0RnVuY3Rpb24oKQotewotICAgIGQoKTsKLX0KLQotdmFyIHRlc3QgPSBmdW5jdGlv
bigpCi17Ci0gICAgSW5zcGVjdG9yVGVzdC5zdGFydERlYnVnZ2VyVGVzdChzdGVwMSk7Ci0KLSAg
ICBmdW5jdGlvbiBzdGVwMSgpCi0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LnJ1blRlc3RG
dW5jdGlvbkFuZFdhaXRVbnRpbFBhdXNlZChzdGVwMik7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24g
c3RlcDIoY2FsbEZyYW1lcykKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuY2FwdHVyZVN0
YWNrVHJhY2UoY2FsbEZyYW1lcyk7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJT
dGVwcGluZyBvdXQuLi4iKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC53YWl0VW50aWxSZXN1bWVk
KEluc3BlY3RvclRlc3Qud2FpdFVudGlsUGF1c2VkLmJpbmQoSW5zcGVjdG9yVGVzdCwgc3RlcDMp
KTsKLSAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNjcmlwdHMtc3RlcC1vdXQiKS5j
bGljaygpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0ZXAzKGNhbGxGcmFtZXMpCi0gICAgewot
ICAgICAgICBJbnNwZWN0b3JUZXN0LmNhcHR1cmVTdGFja1RyYWNlKGNhbGxGcmFtZXMpOwotICAg
ICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlRGVidWdnZXJUZXN0KCk7Ci0gICAgfQotfQotCi08
L3NjcmlwdD4KLTwvaGVhZD4KLQotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotPHA+Ci1UZXN0
cyAic3RlcCBvdXQiIGZ1bmN0aW9uYWxpdHkgaW4gZGVidWdnZXIuCi08L3A+Ci0KLTwvYm9keT4K
LTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9kZWJ1
Z2dlci1zdGVwLW92ZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVn
Z2VyL2RlYnVnZ2VyLXN0ZXAtb3Zlci1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDg2OTQzYTliZjkzMjczMTUyYmU3OGUwMDg1NWIxZGUxZWY4Y2EzMTguLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yL2RlYnVnZ2VyL2RlYnVnZ2VyLXN0ZXAtb3Zlci1leHBlY3RlZC50eHQKKysrIC9kZXYv
bnVsbApAQCAtMSwyMyArMCwwIEBACi1UZXN0cyAic3RlcCBvdmVyIiBmdW5jdGlvbmFsaXR5IGlu
IGRlYnVnZ2VyLgotCi1EZWJ1Z2dlciB3YXMgZW5hYmxlZC4KLVNldCB0aW1lciBmb3IgdGVzdCBm
dW5jdGlvbi4KLVNjcmlwdCBleGVjdXRpb24gcGF1c2VkLgotQ2FsbCBzdGFjazoKLSAgICAwKSBk
IChkZWJ1Z2dlci1zdGVwLW92ZXIuaHRtbDoxNCkKLSAgICAxKSB0ZXN0RnVuY3Rpb24gKGRlYnVn
Z2VyLXN0ZXAtb3Zlci5odG1sOjIwKQotU3RlcHBpbmcgb3Zlci4uLgotU2NyaXB0IGV4ZWN1dGlv
biByZXN1bWVkLgotU2NyaXB0IGV4ZWN1dGlvbiBwYXVzZWQuCi1DYWxsIHN0YWNrOgotICAgIDAp
IGQgKGRlYnVnZ2VyLXN0ZXAtb3Zlci5odG1sOjE1KQotICAgIDEpIHRlc3RGdW5jdGlvbiAoZGVi
dWdnZXItc3RlcC1vdmVyLmh0bWw6MjApCi1TdGVwcGluZyBvdmVyLi4uCi1TY3JpcHQgZXhlY3V0
aW9uIHJlc3VtZWQuCi1TY3JpcHQgZXhlY3V0aW9uIHBhdXNlZC4KLUNhbGwgc3RhY2s6Ci0gICAg
MCkgZCAoZGVidWdnZXItc3RlcC1vdmVyLmh0bWw6MTYpCi0gICAgMSkgdGVzdEZ1bmN0aW9uIChk
ZWJ1Z2dlci1zdGVwLW92ZXIuaHRtbDoyMCkKLVNjcmlwdCBleGVjdXRpb24gcmVzdW1lZC4KLURl
YnVnZ2VyIHdhcyBkaXNhYmxlZC4KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
L2RlYnVnZ2VyL2RlYnVnZ2VyLXN0ZXAtb3Zlci5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
L2RlYnVnZ2VyL2RlYnVnZ2VyLXN0ZXAtb3Zlci5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAxZTE0OGEzYjQ0YWE3MzdkYjYyM2EwMGFmNWNkY2ZmNGFmYjFjZjFjLi4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci9kZWJ1Z2dlci9kZWJ1Z2dlci1zdGVwLW92ZXIuaHRtbAorKysgL2Rldi9udWxsCkBAIC0x
LDU1ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0
cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4u
Ly4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyLXRlc3QuanMiPjwvc2NyaXB0PgotPHNj
cmlwdD4KLQotZnVuY3Rpb24gZigpCi17Ci0gICAgdmFyIGkgPSAxMDsKLX0KLQotZnVuY3Rpb24g
ZCgpCi17Ci0gICAgZGVidWdnZXI7Ci0gICAgZigpOwotfQotCi1mdW5jdGlvbiB0ZXN0RnVuY3Rp
b24oKQotewotICAgIGQoKTsKLX0KLQotdmFyIHRlc3QgPSBmdW5jdGlvbigpCi17Ci0gICAgSW5z
cGVjdG9yVGVzdC5zdGFydERlYnVnZ2VyVGVzdChzdGVwMSk7Ci0KLSAgICBmdW5jdGlvbiBzdGVw
MSgpCi0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LnJ1blRlc3RGdW5jdGlvbkFuZFdhaXRV
bnRpbFBhdXNlZChzdGVwMik7Ci0gICAgfQotCi0gICAgdmFyIHN0ZXBDb3VudCA9IDA7Ci0gICAg
ZnVuY3Rpb24gc3RlcDIoY2FsbEZyYW1lcykKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3Qu
Y2FwdHVyZVN0YWNrVHJhY2UoY2FsbEZyYW1lcyk7Ci0gICAgICAgIGlmIChzdGVwQ291bnQgPCAy
KSB7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiU3RlcHBpbmcgb3Zlci4u
LiIpOwotICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNjcmlwdHMtc3RlcC1v
dmVyIikuY2xpY2soKTsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3Qud2FpdFVudGlsUmVzdW1l
ZChJbnNwZWN0b3JUZXN0LndhaXRVbnRpbFBhdXNlZC5iaW5kKEluc3BlY3RvclRlc3QsIHN0ZXAy
KSk7Ci0gICAgICAgIH0gZWxzZQotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZURl
YnVnZ2VyVGVzdCgpOwotICAgICAgICBzdGVwQ291bnQrKzsKLSAgICB9Ci19Ci0KLTwvc2NyaXB0
PgotPC9oZWFkPgotCi08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci08cD4KLVRlc3RzICJzdGVw
IG92ZXIiIGZ1bmN0aW9uYWxpdHkgaW4gZGVidWdnZXIuCi08L3A+Ci0KLTwvYm9keT4KLTwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9kZWJ1Z2dlci1z
dXNwZW5kLWFjdGl2ZS1kb20tb2JqZWN0cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3IvZGVidWdnZXIvZGVidWdnZXItc3VzcGVuZC1hY3RpdmUtZG9tLW9iamVjdHMtZXhwZWN0
ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyMmJkYTdjMjdlMzQ1NThlMjhl
MTRjMzk4N2IyMjk0OGVhOTYwNDQ3Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9kZWJ1Z2dlci1zdXNw
ZW5kLWFjdGl2ZS1kb20tb2JqZWN0cy1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwx
MCArMCwwIEBACi1BTEVSVDogMQotVGVzdHMgdGhhdCBicm93c2VyIHdvbid0IGNyYXNoIGlmIHVz
ZXIgZXZhbHVhdGVzIHNvbWV0aGluZyBpbiB0aGUgY29uc29sZSB0aGF0IHdvdWxkIHN1c3BlbmQg
YWN0aXZlIGRvbSBvYmplY3RzIChlLmcuIGlmIHVzZXIgYXR0ZW1wdHMgdG8gc2hvdyBhbiBhbGVy
dCkgd2hlbiBzY3JpcHQgZXhlY3V0aW9uIGlzIHBhdXNlZCBvbiBhIGJyZWFrcG9pbnQgYW5kIGFs
bCBhY3RpdmUgZG9tIG9iamVjdHMgYXJlIGFscmVhZHkgc3VzcGVuZGVkLgotCi1EZWJ1Z2dlciB3
YXMgZW5hYmxlZC4KLVNldCB0aW1lciBmb3IgdGVzdCBmdW5jdGlvbi4KLVNjcmlwdCBleGVjdXRp
b24gcGF1c2VkLgotU2hvd24gYWxlcnQgd2hpbGUgc3RheWluZyBvbiBhIGJyZWFrcG9pbnQuCi1T
Y3JpcHQgZXhlY3V0aW9uIHJlc3VtZWQuCi1EZWJ1Z2dlciB3YXMgZGlzYWJsZWQuCi0KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9kZWJ1Z2dlci1zdXNwZW5kLWFj
dGl2ZS1kb20tb2JqZWN0cy5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL2Rl
YnVnZ2VyLXN1c3BlbmQtYWN0aXZlLWRvbS1vYmplY3RzLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDRiYjMzZDYxNjI1Zjk2ZjU5MzllMDBjZjYxZTRhYWQ5OTQxNWJjMzEuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yL2RlYnVnZ2VyL2RlYnVnZ2VyLXN1c3BlbmQtYWN0aXZlLWRvbS1vYmplY3RzLmh0
bWwKKysrIC9kZXYvbnVsbApAQCAtMSw0NSArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlw
dCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci10
ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci0KLWZ1bmN0aW9uIHRlc3RGdW5jdGlvbigpIHsK
LSAgICBzZXRUaW1lb3V0KCJ2b2lkIDAiLCAwKTsgLy8gQ3JlYXRlIGEgdGltZXIgdGhhdCB3aWxs
IGJlIHN1c3BlbmRlZCBvbiBhIGJyZWFrcG9pbnQuCi0gICAgZGVidWdnZXI7Ci19Ci0KLWZ1bmN0
aW9uIHRlc3QoKQotewotICAgIFdlYkluc3BlY3Rvci5zaG93UGFuZWwoInNjcmlwdHMiKTsKLSAg
ICBJbnNwZWN0b3JUZXN0LnN0YXJ0RGVidWdnZXJUZXN0KHN0YXJ0RGVidWdnZXJUZXN0Q2FsbGJh
Y2spOwotCi0gICAgZnVuY3Rpb24gc3RhcnREZWJ1Z2dlclRlc3RDYWxsYmFjaygpCi0gICAgewot
ICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5Db25zb2xlKCJzZXRUaW1lb3V0KHRlc3RG
dW5jdGlvbiwgMCkiLCBmdW5jdGlvbihyZXN1bHQpIHsKLSAgICAgICAgICAgIEluc3BlY3RvclRl
c3QuYWRkUmVzdWx0KCJTZXQgdGltZXIgZm9yIHRlc3QgZnVuY3Rpb24uIik7Ci0gICAgICAgIH0p
OwotCi0gICAgICAgIEluc3BlY3RvclRlc3Qud2FpdFVudGlsUGF1c2VkKGZ1bmN0aW9uKGNhbGxG
cmFtZXMpIHsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJbkNvbnNvbGUoImFs
ZXJ0KDEpIiwgZnVuY3Rpb24ocmVzdWx0KSB7Ci0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVz
dC5hZGRSZXN1bHQoIlNob3duIGFsZXJ0IHdoaWxlIHN0YXlpbmcgb24gYSBicmVha3BvaW50LiIp
OwotICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVEZWJ1Z2dlclRlc3QoKTsK
LSAgICAgICAgICAgIH0pOwotICAgICAgICB9KTsKLSAgICB9Ci0KLX0KLQotPC9zY3JpcHQ+Ci08
L2hlYWQ+Ci0KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxwPgotVGVzdHMgdGhhdCBicm93
c2VyIHdvbid0IGNyYXNoIGlmIHVzZXIgZXZhbHVhdGVzIHNvbWV0aGluZyBpbiB0aGUgY29uc29s
ZQotdGhhdCB3b3VsZCBzdXNwZW5kIGFjdGl2ZSBkb20gb2JqZWN0cyAoZS5nLiBpZiB1c2VyIGF0
dGVtcHRzIHRvIHNob3cgYW4gYWxlcnQpCi13aGVuIHNjcmlwdCBleGVjdXRpb24gaXMgcGF1c2Vk
IG9uIGEgYnJlYWtwb2ludCBhbmQgYWxsIGFjdGl2ZSBkb20gb2JqZWN0cwotYXJlIGFscmVhZHkg
c3VzcGVuZGVkLgotPC9wPgotCi08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvZXZhbC1vbi1wYXVzZS1ibG9ja2VkLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9ldmFsLW9uLXBhdXNlLWJsb2NrZWQt
ZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4ODJlYmY3YWYwYTFi
NmJkZTk3MmI5MjM5M2ZjMzcyMzcyNDE0MTFhLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9ldmFsLW9u
LXBhdXNlLWJsb2NrZWQtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsOSArMCwwIEBA
Ci1UZXN0IHRoYXQgZXZhbHVhdGlvbiBpbiB0aGUgY29udGV4dCBvZiB0b3AgZnJhbWUgd2lsbCBu
b3QgYmUgYmxvY2tlZCBieSBDb250ZW50LVNlY3VyaXR5LVBvbGljeS4gQnVnIDc3MjAzLgotCi1E
ZWJ1Z2dlciB3YXMgZW5hYmxlZC4KLVNldCB0aW1lciBmb3IgdGVzdCBmdW5jdGlvbi4KLVNjcmlw
dCBleGVjdXRpb24gcGF1c2VkLgotRXZhbHVhdGVkIGluIGNvbnNvbGUgaW4gdGhlIHRvcCBmcmFt
ZSBjb250ZXh0OiBmb28gPSAyMDEyCi1TY3JpcHQgZXhlY3V0aW9uIHJlc3VtZWQuCi1EZWJ1Z2dl
ciB3YXMgZGlzYWJsZWQuCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1
Z2dlci9ldmFsLW9uLXBhdXNlLWJsb2NrZWQuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9k
ZWJ1Z2dlci9ldmFsLW9uLXBhdXNlLWJsb2NrZWQuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggZjcwZTExNTU4YWM1NGI0ZmE2YzE3MDViYzJlNmVhMGU3MTYyNDZjMC4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3IvZGVidWdnZXIvZXZhbC1vbi1wYXVzZS1ibG9ja2VkLmh0bWwKKysrIC9kZXYvbnVsbApA
QCAtMSw0MyArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAv
dGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci10ZXN0LmpzIj48L3NjcmlwdD4K
LTxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtU2VjdXJpdHktUG9saWN5IiBjb250ZW50PSJzY3Jp
cHQtc3JjICd1bnNhZmUtaW5saW5lJyI+Ci08c2NyaXB0PgotZnVuY3Rpb24gdGVzdEZ1bmN0aW9u
KCkKLXsKLSAgICB2YXIgZm9vID0gMjAxMjsKLSAgICBkZWJ1Z2dlcjsKLX0KLQotdmFyIHRlc3Qg
PSBmdW5jdGlvbigpCi17Ci0gICAgSW5zcGVjdG9yVGVzdC5zdGFydERlYnVnZ2VyVGVzdChzdGVw
MSk7Ci0KLSAgICBmdW5jdGlvbiBzdGVwMSgpCi0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0
LnJ1blRlc3RGdW5jdGlvbkFuZFdhaXRVbnRpbFBhdXNlZChzdGVwMik7Ci0gICAgfQotCi0gICAg
ZnVuY3Rpb24gc3RlcDIoKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUlu
Q29uc29sZSgiZm9vIiwgc3RlcDMpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0ZXAzKHJlc3Vs
dCkKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJFdmFsdWF0ZWQgaW4g
Y29uc29sZSBpbiB0aGUgdG9wIGZyYW1lIGNvbnRleHQ6IGZvbyA9ICIgKyByZXN1bHQpOwotICAg
ICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlRGVidWdnZXJUZXN0KCk7Ci0gICAgfQotfQotCi08
L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxwPgotVGVzdCB0
aGF0IGV2YWx1YXRpb24gaW4gdGhlIGNvbnRleHQgb2YgdG9wIGZyYW1lIHdpbGwgbm90IGJlIGJs
b2NrZWQgYnkgQ29udGVudC1TZWN1cml0eS1Qb2xpY3kuCi08YSBocmVmPSJodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzcyMDMiPkJ1ZyA3NzIwMy48L2E+Ci08L3A+Ci0K
LTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1
Z2dlci9mdW5jdGlvbi1kZXRhaWxzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rv
ci9kZWJ1Z2dlci9mdW5jdGlvbi1kZXRhaWxzLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggNmQyYzE0N2Y0Y2FhYmM2NjBmOTNhNWUzMjU3NDViM2ZjOGQwYTQ5MC4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9pbnNwZWN0b3IvZGVidWdnZXIvZnVuY3Rpb24tZGV0YWlscy1leHBlY3RlZC50eHQKKysrIC9k
ZXYvbnVsbApAQCAtMSw3MSArMCwwIEBACi1UZXN0cyB0aGF0IERlYnVnZ2VyLmdldEZ1bmN0aW9u
RGV0YWlscyBjb21tYW5kIHJldHVybnMgY29ycmVjdCBsb2NhdGlvbi4gQnVnIDcxODA4Ci0KLURl
YnVnZ2VyIHdhcyBlbmFibGVkLgotCi1SdW5uaW5nOiB0ZXN0R2V0Rmlyc3RMaW5lRnVuY3Rpb25E
ZXRhaWxzCi1maXJzdExpbmVGdW5jdGlvbiB0eXBlID0gZnVuY3Rpb24KLUZ1bmN0aW9uIGRldGFp
bHM6IAotbGluZU51bWJlcjogNwotY29sdW1uTnVtYmVyOiB1bmRlZmluZWQKLXNjcmlwdElkIGlz
IHZhbGlkOiB0cnVlCi1uYW1lOiBmaXJzdExpbmVGdW5jdGlvbgotZGlzcGxheU5hbWU6IHVuZGVm
aW5lZAotaW5mZXJyZWROYW1lOiB1bmRlZmluZWQKLXNjb3BlQ2hhaW46IG4vYQotCi1SdW5uaW5n
OiB0ZXN0R2V0Tm9uRmlyc3RMaW5lRnVuY3Rpb25EZXRhaWxzCi1ub3RGaXJzdExpbmVGdW5jdGlv
biB0eXBlID0gZnVuY3Rpb24KLUZ1bmN0aW9uIGRldGFpbHM6IAotbGluZU51bWJlcjogMTIKLWNv
bHVtbk51bWJlcjogdW5kZWZpbmVkCi1zY3JpcHRJZCBpcyB2YWxpZDogdHJ1ZQotbmFtZTogbm90
Rmlyc3RMaW5lRnVuY3Rpb24KLWRpc3BsYXlOYW1lOiB1bmRlZmluZWQKLWluZmVycmVkTmFtZTog
dW5kZWZpbmVkCi1zY29wZUNoYWluOiBuL2EKLQotUnVubmluZzogdGVzdEdldERldGFpbHNPZkZ1
bmN0aW9uV2l0aEluZmVycmVkTmFtZQotb2JqLm0gdHlwZSA9IGZ1bmN0aW9uCi1GdW5jdGlvbiBk
ZXRhaWxzOiAKLWxpbmVOdW1iZXI6IDE2Ci1jb2x1bW5OdW1iZXI6IHVuZGVmaW5lZAotc2NyaXB0
SWQgaXMgdmFsaWQ6IHRydWUKLW5hbWU6IHVuZGVmaW5lZAotZGlzcGxheU5hbWU6IHVuZGVmaW5l
ZAotaW5mZXJyZWROYW1lOiB1bmRlZmluZWQKLXNjb3BlQ2hhaW46IG4vYQotCi1SdW5uaW5nOiB0
ZXN0R2V0RGV0YWlsc09mRnVuY3Rpb25XaXRoRGlzcGxheU5hbWUKLWZ1bmN0aW9uV2l0aERpc3Bs
YXlOYW1lIHR5cGUgPSBmdW5jdGlvbgotRnVuY3Rpb24gZGV0YWlsczogCi1saW5lTnVtYmVyOiAx
OQotY29sdW1uTnVtYmVyOiB1bmRlZmluZWQKLXNjcmlwdElkIGlzIHZhbGlkOiB0cnVlCi1uYW1l
OiBmdW5jdGlvbldpdGhEaXNwbGF5TmFtZQotZGlzcGxheU5hbWU6IHVzZXItZnJpZW5kbHkgbmFt
ZQotaW5mZXJyZWROYW1lOiB1bmRlZmluZWQKLXNjb3BlQ2hhaW46IG4vYQotCi1SdW5uaW5nOiB0
ZXN0U21hbGxDbG9zdXJlCi1zbWFsbENsb3N1cmUgdHlwZSA9IGZ1bmN0aW9uCi1GdW5jdGlvbiBk
ZXRhaWxzOiAKLWxpbmVOdW1iZXI6IDIyCi1jb2x1bW5OdW1iZXI6IHVuZGVmaW5lZAotc2NyaXB0
SWQgaXMgdmFsaWQ6IHRydWUKLW5hbWU6IHVuZGVmaW5lZAotZGlzcGxheU5hbWU6IHVuZGVmaW5l
ZAotaW5mZXJyZWROYW1lOiB1bmRlZmluZWQKLXNjb3BlQ2hhaW46IG4vYQotCi1SdW5uaW5nOiB0
ZXN0QmlnQ2xvc3VyZQotYmlnQ2xvc3VyZSB0eXBlID0gZnVuY3Rpb24KLUZ1bmN0aW9uIGRldGFp
bHM6IAotbGluZU51bWJlcjogMzUKLWNvbHVtbk51bWJlcjogdW5kZWZpbmVkCi1zY3JpcHRJZCBp
cyB2YWxpZDogdHJ1ZQotbmFtZTogdW5kZWZpbmVkCi1kaXNwbGF5TmFtZTogdW5kZWZpbmVkCi1p
bmZlcnJlZE5hbWU6IHVuZGVmaW5lZAotc2NvcGVDaGFpbjogbi9hCi1EZWJ1Z2dlciB3YXMgZGlz
YWJsZWQuCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9mdW5j
dGlvbi1kZXRhaWxzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvZnVuY3Rp
b24tZGV0YWlscy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1OTdmMTMxNmQw
N2E4ZTllMmU5ZWEwZWQ1MzVlOWIxNDg3OTQ3NWVjLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9mdW5j
dGlvbi1kZXRhaWxzLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxNjQgKzAsMCBAQAotPGh0bWw+
Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0
b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNw
ZWN0b3IvZGVidWdnZXItdGVzdC5qcyI+PC9zY3JpcHQ+Ci0KLTxzY3JpcHQ+ICBmdW5jdGlvbiBm
aXJzdExpbmVGdW5jdGlvbigpCi0KLXsKLX0KLQotICAgZnVuY3Rpb24gbm90Rmlyc3RMaW5lRnVu
Y3Rpb24oKQotCi17Ci19Ci0KLXZhciBvYmogPSB7Ci0gICAgbTogZnVuY3Rpb24oKSB7fQotfQot
Ci1mdW5jdGlvbiBmdW5jdGlvbldpdGhEaXNwbGF5TmFtZSgpIHt9Ci1mdW5jdGlvbldpdGhEaXNw
bGF5TmFtZS5kaXNwbGF5TmFtZSA9ICJ1c2VyLWZyaWVuZGx5IG5hbWUiOwotCi12YXIgc21hbGxD
bG9zdXJlID0gKGZ1bmN0aW9uKHApIHsgcmV0dXJuIGZ1bmN0aW9uKCkgeyByZXR1cm4gcDsgfTsg
fSkoIkNhcHliYXJhIik7Ci0KLXZhciBiaWdDbG9zdXJlID0gKGZ1bmN0aW9uKHApIHsKLSAgICB2
YXIgbyA9IHsKLSAgICAgICBlOiA3LAotICAgICAgIGY6IDUsCi0gICAgICAgZ2V0IHUoKSB7IHJl
dHVybiAzOyB9LAotICAgICAgIHNldCB2KHZhbHVlKSB7IH0KLSAgICB9OwotICAgIHdpdGggKG8p
IHsKLSAgICAgICAgdHJ5IHsKLSAgICAgICAgICAgIHRocm93IEVycm9yKCJUZXN0Iik7Ci0gICAg
ICAgIH0gY2F0Y2ggKGV4KSB7Ci0gICAgICAgICAgICByZXR1cm4gZnVuY3Rpb24oKSB7Ci0gICAg
ICAgICAgICAgICAgcmV0dXJuIFN0cmluZyhwKSArIFN0cmluZyhleCkgKyB1ICsgZTsKLSAgICAg
ICAgICAgIH07Ci0gICAgICAgIH0KLSAgICB9Ci19KSh7fSk7Ci0KLWZ1bmN0aW9uIHRlc3QoKQot
ewotICAgIGZ1bmN0aW9uIGR1bXBGdW5jdGlvbkRldGFpbHMoZGV0YWlscykKLSAgICB7Ci0gICAg
ICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJGdW5jdGlvbiBkZXRhaWxzOiAiKTsKLSAgICAg
ICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoImxpbmVOdW1iZXI6ICIgKyBkZXRhaWxzLmxvY2F0
aW9uLmxpbmVOdW1iZXIpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiY29sdW1u
TnVtYmVyOiAiICsgZGV0YWlscy5sb2NhdGlvbi5jb2x1bW5OdW1iZXIpOwotICAgICAgICBJbnNw
ZWN0b3JUZXN0LmFkZFJlc3VsdCgic2NyaXB0SWQgaXMgdmFsaWQ6ICIgKyAhIWRldGFpbHMubG9j
YXRpb24uc2NyaXB0SWQpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgibmFtZTog
IiArIGRldGFpbHMubmFtZSk7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJkaXNw
bGF5TmFtZTogIiArIGRldGFpbHMuZGlzcGxheU5hbWUpOwotICAgICAgICBJbnNwZWN0b3JUZXN0
LmFkZFJlc3VsdCgiaW5mZXJyZWROYW1lOiAiICsgZGV0YWlscy5pbmZlcnJlZE5hbWUpOwotICAg
IH0KLQotICAgIGZ1bmN0aW9uIGR1bXBGdW5jdGlvbk5vU2NvcGVzKCkKLSAgICB7Ci0gICAgICAg
IEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJzY29wZUNoYWluOiBuL2EiKTsKLSAgICB9Ci0KLQot
ICAgIGZ1bmN0aW9uIGR1bXBGdW5jdGlvblNjb3BlKHBvcywgdHlwZSwgcHJvcGVydHlEZXNjcmlw
dG9ycykKLSAgICB7Ci0gICAgICAgIHZhciB2YXJpYWJsZXM7Ci0gICAgICAgIGlmICh0eXBlID09
ICJnbG9iYWwiKSB7Ci0gICAgICAgICAgICB2YXJpYWJsZXMgPSAiPGdsb2JhbCBvYmplY3QgcHJv
cGVydGllcyBvbWl0dGVkPiI7Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICB2YXIgdmFy
QXJyYXkgPSBbXTsKLSAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcHJvcGVydHlEZXNj
cmlwdG9ycy5sZW5ndGg7IGkrKykgewotICAgICAgICAgICAgICAgIHZhciBkID0gcHJvcGVydHlE
ZXNjcmlwdG9yc1tpXTsKLSAgICAgICAgICAgICAgICB2YXIgdmFsdWVTdHI7Ci0gICAgICAgICAg
ICAgICAgaWYgKGQudmFsdWUpIHsKLSAgICAgICAgICAgICAgICAgICAgaWYgKGQudmFsdWUudmFs
dWUpCi0gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZVN0ciA9IEpTT04uc3RyaW5naWZ5KGQu
dmFsdWUudmFsdWUpOwotICAgICAgICAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAg
ICAgICAgICB2YWx1ZVN0ciA9ICI8bm8gc3RyaW5nIHJlcHJlc2VudGF0aW9uPiI7Ci0gICAgICAg
ICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgdmFsdWVTdHIgPSAiPG5vIHZh
bHVlPiI7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIHZhckFycmF5LnB1c2go
ZC5uYW1lICsgIjogIiArIHZhbHVlU3RyKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIHZh
ckFycmF5LnNvcnQoKTsKLSAgICAgICAgICAgIHZhcmlhYmxlcyA9IHZhckFycmF5LmpvaW4oKTsK
LSAgICAgICAgfQotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgic2NvcGVDaGFpbiAj
IiArIHBvcyArICI6ICIgKyB0eXBlICsgIjsgIiArIHZhcmlhYmxlcyk7Ci0gICAgfQotCi0gICAg
ZnVuY3Rpb24gbG9hZEFuZER1bXBTY29wZU9iamVjdHMoc2NvcGVDaGFpbiwgZW5kKSB7Ci0gICAg
ICAgIGZ1bmN0aW9uIGxvYWRTY29wZU9iamVjdChwb3MsIG5leHQpIHsKLSAgICAgICAgICAgIGlm
IChwb3MgPj0gc2NvcGVDaGFpbi5sZW5ndGgpIHsKLSAgICAgICAgICAgICAgICBuZXh0KCk7Ci0g
ICAgICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgdmFyIHNj
b3BlSnNvbiA9IHNjb3BlQ2hhaW5bcG9zXTsKLSAgICAgICAgICAgIFJ1bnRpbWVBZ2VudC5nZXRQ
cm9wZXJ0aWVzKHNjb3BlSnNvbi5vYmplY3Qub2JqZWN0SWQsIHRydWUsIGRpZEdldFByb3BlcnRp
ZXMpOwotCi0gICAgICAgICAgICBmdW5jdGlvbiBkaWRHZXRQcm9wZXJ0aWVzKGVycm9yLCBwcm9w
ZXJ0eURlc2NyaXB0b3JzKSB7Ci0gICAgICAgICAgICAgICAgZHVtcEZ1bmN0aW9uU2NvcGUocG9z
LCBzY29wZUpzb24udHlwZSwgcHJvcGVydHlEZXNjcmlwdG9ycyk7Ci0gICAgICAgICAgICAgICAg
bG9hZFNjb3BlT2JqZWN0KHBvcyArIDEsIG5leHQpOwotICAgICAgICAgICAgfQotICAgICAgICB9
Ci0KLSAgICAgICAgaWYgKHNjb3BlQ2hhaW4pIHsKLSAgICAgICAgICAgIGxvYWRTY29wZU9iamVj
dCgwLCBlbmQpOwotICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgZHVtcEZ1bmN0aW9uTm9T
Y29wZXMoKTsKLSAgICAgICAgICAgIGVuZCgpOwotICAgICAgICB9Ci0gICAgfQotCi0gICAgZnVu
Y3Rpb24gcGVyZm9ybVN0YW5kYXJkVGVzdENhc2UocGFnZUV4cHJlc3Npb24sIG5leHQpIHsKLSAg
ICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZShwYWdlRXhwcmVzc2lvbiwgZGlkRXZh
bHVhdGUpOwotCi0gICAgICAgIGZ1bmN0aW9uIGRpZEV2YWx1YXRlKHJlbW90ZSkKLSAgICAgICAg
ewotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQocGFnZUV4cHJlc3Npb24gKyAi
IHR5cGUgPSAiICsgcmVtb3RlLnR5cGUpOwotICAgICAgICAgICAgRGVidWdnZXJBZ2VudC5nZXRG
dW5jdGlvbkRldGFpbHMocmVtb3RlLm9iamVjdElkLCBkaWRHZXREZXRhaWxzKTsKLSAgICAgICAg
fQotICAgICAgICBmdW5jdGlvbiBkaWRHZXREZXRhaWxzKGVycm9yLCByZXNwb25zZSkKLSAgICAg
ICAgewotICAgICAgICAgICAgZHVtcEZ1bmN0aW9uRGV0YWlscyhyZXNwb25zZSk7Ci0gICAgICAg
ICAgICBsb2FkQW5kRHVtcFNjb3BlT2JqZWN0cyhyZXNwb25zZS5zY29wZUNoYWluLCBuZXh0KTsK
LSAgICAgICAgfQotICAgIH0KLQotICAgIEluc3BlY3RvclRlc3QucnVuRGVidWdnZXJUZXN0U3Vp
dGUoWwotICAgICAgICBmdW5jdGlvbiB0ZXN0R2V0Rmlyc3RMaW5lRnVuY3Rpb25EZXRhaWxzKG5l
eHQpCi0gICAgICAgIHsKLSAgICAgICAgICAgIHBlcmZvcm1TdGFuZGFyZFRlc3RDYXNlKCJmaXJz
dExpbmVGdW5jdGlvbiIsIG5leHQpOwotICAgICAgICB9LAotICAgICAgICBmdW5jdGlvbiB0ZXN0
R2V0Tm9uRmlyc3RMaW5lRnVuY3Rpb25EZXRhaWxzKG5leHQpCi0gICAgICAgIHsKLSAgICAgICAg
ICAgIHBlcmZvcm1TdGFuZGFyZFRlc3RDYXNlKCJub3RGaXJzdExpbmVGdW5jdGlvbiIsIG5leHQp
OwotICAgICAgICB9LAotICAgICAgICBmdW5jdGlvbiB0ZXN0R2V0RGV0YWlsc09mRnVuY3Rpb25X
aXRoSW5mZXJyZWROYW1lKG5leHQpCi0gICAgICAgIHsKLSAgICAgICAgICAgIHBlcmZvcm1TdGFu
ZGFyZFRlc3RDYXNlKCJvYmoubSIsIG5leHQpOwotICAgICAgICB9LAotICAgICAgICBmdW5jdGlv
biB0ZXN0R2V0RGV0YWlsc09mRnVuY3Rpb25XaXRoRGlzcGxheU5hbWUobmV4dCkKLSAgICAgICAg
ewotICAgICAgICAgICAgcGVyZm9ybVN0YW5kYXJkVGVzdENhc2UoImZ1bmN0aW9uV2l0aERpc3Bs
YXlOYW1lIiwgbmV4dCk7Ci0gICAgICAgIH0sCi0gICAgICAgIGZ1bmN0aW9uIHRlc3RTbWFsbENs
b3N1cmUobmV4dCkKLSAgICAgICAgewotICAgICAgICAgICAgcGVyZm9ybVN0YW5kYXJkVGVzdENh
c2UoInNtYWxsQ2xvc3VyZSIsIG5leHQpOwotICAgICAgICB9LAotICAgICAgICBmdW5jdGlvbiB0
ZXN0QmlnQ2xvc3VyZShuZXh0KQotICAgICAgICB7Ci0gICAgICAgICAgICBwZXJmb3JtU3RhbmRh
cmRUZXN0Q2FzZSgiYmlnQ2xvc3VyZSIsIG5leHQpOwotICAgICAgICB9Ci0gICAgXSk7Ci19Owot
Ci08L3NjcmlwdD4KLQotPC9oZWFkPgotCi08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci08cD5U
ZXN0cyB0aGF0IERlYnVnZ2VyLmdldEZ1bmN0aW9uRGV0YWlscyBjb21tYW5kIHJldHVybnMgY29y
cmVjdCBsb2NhdGlvbi4KLTxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD03MTgwOCI+QnVnIDcxODA4PC9hPgotPC9wPgotCi08L2JvZHk+Ci08L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvb3Blbi1jbG9zZS1vcGVu
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9vcGVuLWNsb3Nl
LW9wZW4tZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2MTIxYTRl
NmEwNmVjNTlhOTRkMWVkZmQxZTFiNDAyMWUyMWU5OTdhLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9v
cGVuLWNsb3NlLW9wZW4tZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNDkgKzAsMCBA
QAotVGVzdHMgdGhhdCBzY3JpcHRzIHBhbmVsIGRpc3BsYXlzIHJlc291cmNlIGNvbnRlbnQgY29y
cmVjdGx5IGFmdGVyIHRoZSBvcGVuIC0gY2xvc2UgLSBvcGVuIHNlcXVlbmNlLiBCdWcgNTY3NDcK
LQotRGVidWdnZXIgd2FzIGVuYWJsZWQuCi0KLVJ1bm5pbmc6IHRlc3RTb3VyY2VGcmFtZUNvbnRl
bnQKLT09U291cmNlIGZyYW1lIGNvbnRlbnRzIHN0YXJ0PT0KLTxodG1sPgotPGhlYWQ+Ci08c2Ny
aXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwv
c2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2Vy
LXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLQotZnVuY3Rpb24gdGVzdCgpCi17Ci0gICAg
SW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgiZnJvbnRlbmRSZW9wZW5pbmdDb3VudCIsIGZ1
bmN0aW9uKHJlc3VsdCkgewotICAgICAgICBpZiAocmVzdWx0Ll9kZXNjcmlwdGlvbiA9PT0gIjAi
KQotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgicmVvcGVuRnJvbnRl
bmQoKSIpCi0gICAgICAgIGVsc2UgewotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5ydW5EZWJ1
Z2dlclRlc3RTdWl0ZShbCi0gICAgICAgICAgICAgICAgZnVuY3Rpb24gdGVzdFNvdXJjZUZyYW1l
Q29udGVudChuZXh0KQotICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgSW5z
cGVjdG9yVGVzdC5zaG93U2NyaXB0U291cmNlKCJvcGVuLWNsb3NlLW9wZW4uaHRtbCIsIGRpZFNo
b3dTY3JpcHRTb3VyY2UpOwotCi0gICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGRpZFNob3dT
Y3JpcHRTb3VyY2Uoc291cmNlRnJhbWUpCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAg
ICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZHVtcFNvdXJjZUZyYW1lQ29udGVudHMoc291
cmNlRnJhbWUpOwotICAgICAgICAgICAgICAgICAgICAgICAgbmV4dCgpOwotICAgICAgICAgICAg
ICAgICAgICB9Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgXSk7Ci0gICAgICAgIH0K
LSAgICB9KTsKLX0KLQotPC9zY3JpcHQ+Ci0KLTwvaGVhZD4KLQotPGJvZHkgb25sb2FkPSJydW5U
ZXN0KCkiPgotPHA+Ci1UZXN0cyB0aGF0IHNjcmlwdHMgcGFuZWwgZGlzcGxheXMgcmVzb3VyY2Ug
Y29udGVudCBjb3JyZWN0bHkgYWZ0ZXIgdGhlIG9wZW4gLSBjbG9zZSAtIG9wZW4gc2VxdWVuY2Uu
Ci08YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTY3NDci
PkJ1ZyA1Njc0NzwvYT4KLTwvcD4KLTwvYm9keT4KLTwvaHRtbD4KLQotPT1Tb3VyY2UgZnJhbWUg
Y29udGVudHMgZW5kPT0KLURlYnVnZ2VyIHdhcyBkaXNhYmxlZC4KLQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL29wZW4tY2xvc2Utb3Blbi5odG1sIGIvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL29wZW4tY2xvc2Utb3Blbi5odG1sCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCA1ZmViZWNhNjVhYTBiOTlkMTAxN2JjYmZkZTFhZmZhOGI2Mjcw
YzFjLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9vcGVuLWNsb3NlLW9wZW4uaHRtbAorKysgL2Rldi9u
dWxsCkBAIC0xLDM5ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4v
aHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlw
dCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyLXRlc3QuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdD4KLQotZnVuY3Rpb24gdGVzdCgpCi17Ci0gICAgSW5zcGVjdG9yVGVzdC5l
dmFsdWF0ZUluUGFnZSgiZnJvbnRlbmRSZW9wZW5pbmdDb3VudCIsIGZ1bmN0aW9uKHJlc3VsdCkg
ewotICAgICAgICBpZiAocmVzdWx0Ll9kZXNjcmlwdGlvbiA9PT0gIjAiKQotICAgICAgICAgICAg
SW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgicmVvcGVuRnJvbnRlbmQoKSIpCi0gICAgICAg
IGVsc2UgewotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5ydW5EZWJ1Z2dlclRlc3RTdWl0ZShb
Ci0gICAgICAgICAgICAgICAgZnVuY3Rpb24gdGVzdFNvdXJjZUZyYW1lQ29udGVudChuZXh0KQot
ICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5zaG93
U2NyaXB0U291cmNlKCJvcGVuLWNsb3NlLW9wZW4uaHRtbCIsIGRpZFNob3dTY3JpcHRTb3VyY2Up
OwotCi0gICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGRpZFNob3dTY3JpcHRTb3VyY2Uoc291
cmNlRnJhbWUpCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAg
IEluc3BlY3RvclRlc3QuZHVtcFNvdXJjZUZyYW1lQ29udGVudHMoc291cmNlRnJhbWUpOwotICAg
ICAgICAgICAgICAgICAgICAgICAgbmV4dCgpOwotICAgICAgICAgICAgICAgICAgICB9Ci0gICAg
ICAgICAgICAgICAgfQotICAgICAgICAgICAgXSk7Ci0gICAgICAgIH0KLSAgICB9KTsKLX0KLQot
PC9zY3JpcHQ+Ci0KLTwvaGVhZD4KLQotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotPHA+Ci1U
ZXN0cyB0aGF0IHNjcmlwdHMgcGFuZWwgZGlzcGxheXMgcmVzb3VyY2UgY29udGVudCBjb3JyZWN0
bHkgYWZ0ZXIgdGhlIG9wZW4gLSBjbG9zZSAtIG9wZW4gc2VxdWVuY2UuCi08YSBocmVmPSJodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTY3NDciPkJ1ZyA1Njc0NzwvYT4K
LTwvcD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rv
ci9kZWJ1Z2dlci9wYXVzZS1pbi1pbmxpbmUtc2NyaXB0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9wYXVzZS1pbi1pbmxpbmUtc2NyaXB0LWV4cGVjdGVkLnR4
dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODI4NjliZTc3NzU2YmIyMzYzYTdjOWYx
YzhlNGIwM2FlMzc3ZWQyOC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvcGF1c2UtaW4taW5saW5lLXNj
cmlwdC1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxOCArMCwwIEBACi1UZXN0cyB0
aGF0IG1haW4gcmVzb3VyY2Ugc2NyaXB0IHRleHQgaXMgY29ycmVjdCB3aGVuIHBhdXNlZCBpbiBp
bmxpbmUgc2NyaXB0IG9uIHJlbG9hZC4gQnVnIDc3NTQ4LgotCi1EZWJ1Z2dlciB3YXMgZW5hYmxl
ZC4KLURpZCBsb2FkIGZyb250LWVuZAotUGF1c2VkOiBmYWxzZQotZGlkUGF1c2VBZnRlclJlbG9h
ZAotU291cmNlIHN0cmluZ3MgY29ycmVzcG9uZGluZyB0byB0aGUgY2FsbCBzdGFjazoKLVNjcmlw
dCBleGVjdXRpb24gcGF1c2VkLgotRnJhbWUgMCkgbGluZSA2LCBjb250ZW50OiAgICAgICAgICA8
c2NyaXB0PmZ1bmN0aW9uIGYxKCkgeyBkZWJ1Z2dlcjsgfTwvc2NyaXB0PiAobXVzdCBiZSBwYXJ0
IG9mIGZ1bmN0aW9uICdmMScpCi1GcmFtZSAxKSBsaW5lIDgsIGNvbnRlbnQ6IGZ1bmN0aW9uIGYy
KCkgeyByZXR1cm4gZjEoKTsgfSAobXVzdCBiZSBwYXJ0IG9mIGZ1bmN0aW9uICdmMicpCi1GcmFt
ZSAyKSBsaW5lIDE0LCBjb250ZW50OiAgICAgcmV0dXJuIGYyKCk7IChtdXN0IGJlIHBhcnQgb2Yg
ZnVuY3Rpb24gJ2YzJykKLUZyYW1lIDMpIGxpbmUgMTYsIGNvbnRlbnQ6IGYzKCk7IChtdXN0IGJl
IHBhcnQgb2YgZnVuY3Rpb24gJycpCi1TY3JpcHQgZXhlY3V0aW9uIHJlc3VtZWQuCi1kaWRSZXN1
bWUKLVBhZ2UgcmVsb2FkZWQuCi1kaWRSZWxvYWQKLURlYnVnZ2VyIHdhcyBkaXNhYmxlZC4KLQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL3BhdXNlLWluLWlubGlu
ZS1zY3JpcHQuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9wYXVzZS1pbi1p
bmxpbmUtc2NyaXB0Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDcxYWY1Mzgw
ZjdkOThlMTcwN2I1NzMyZDQ2OTY2ZTc0ZjY5NDEwZmUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL3Bh
dXNlLWluLWlubGluZS1zY3JpcHQuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDEwMiArMCwwIEBA
Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdD5mdW5jdGlvbiBmb28oKSB7IH07Ci08L3NjcmlwdD4K
LTxzY3JpcHQ+Ci1mdW5jdGlvbiBiYXIoKSB7IH07Ci08L3NjcmlwdD48c2NyaXB0PmZ1bmN0aW9u
IGYxKCkgeyBkZWJ1Z2dlcjsgfTwvc2NyaXB0PgotPHNjcmlwdD4KLWZ1bmN0aW9uIGYyKCkgeyBy
ZXR1cm4gZjEoKTsgfQotPC9zY3JpcHQ+Ci0KLTxzY3JpcHQ+Ci1mdW5jdGlvbiBmMygpCi17Ci0g
ICAgcmV0dXJuIGYyKCk7Ci19Ci1mMygpOwotPC9zY3JpcHQ+Ci0KLTxzY3JpcHQgc3JjPSIuLi8u
Li9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2Ny
aXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvZGVidWdnZXItdGVzdC5qcyI+PC9z
Y3JpcHQ+Ci0KLTxzY3JpcHQ+Ci0KLXZhciB0ZXN0ID0gZnVuY3Rpb24oKQotewotICAgIHZhciB0
ZXN0TmFtZSA9IFdlYkluc3BlY3Rvci5pbnNwZWN0ZWRQYWdlVVJMOwotICAgIHRlc3ROYW1lID0g
dGVzdE5hbWUuc3Vic3RyaW5nKHRlc3ROYW1lLmxhc3RJbmRleE9mKCcvJykgKyAxKTsKLQotICAg
IEluc3BlY3RvclRlc3Quc3RhcnREZWJ1Z2dlclRlc3Qoc3RlcDEpOwotCi0gICAgZnVuY3Rpb24g
c3RlcDEoKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIkRpZCBsb2Fk
IGZyb250LWVuZCIpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiUGF1c2VkOiAi
ICsgISFXZWJJbnNwZWN0b3IuZGVidWdnZXJNb2RlbC5kZWJ1Z2dlclBhdXNlZERldGFpbHMoKSk7
Ci0gICAgICAgIEluc3BlY3RvclRlc3QucmVsb2FkUGFnZShkaWRSZWxvYWQuYmluZCh0aGlzKSk7
Ci0gICAgICAgIFdlYkluc3BlY3Rvci5kZWJ1Z2dlck1vZGVsLmFkZEV2ZW50TGlzdGVuZXIoV2Vi
SW5zcGVjdG9yLkRlYnVnZ2VyTW9kZWwuRXZlbnRzLkRlYnVnZ2VyUGF1c2VkLCBkaWRQYXVzZUFm
dGVyUmVsb2FkLCB0aGlzKTsgCi0gICAgfQotCi0gICAgZnVuY3Rpb24gZGlkUmVsb2FkKCkKLSAg
ICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJkaWRSZWxvYWQiKTsKLSAgICAg
ICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZURlYnVnZ2VyVGVzdCgpOwotICAgIH0KLQotICAgIGZ1
bmN0aW9uIGRpZFBhdXNlQWZ0ZXJSZWxvYWQoZGV0YWlscykKLSAgICB7Ci0gICAgICAgIEluc3Bl
Y3RvclRlc3QuYWRkUmVzdWx0KCJkaWRQYXVzZUFmdGVyUmVsb2FkIik7Ci0gICAgICAgIEluc3Bl
Y3RvclRlc3QuYWRkUmVzdWx0KCJTb3VyY2Ugc3RyaW5ncyBjb3JyZXNwb25kaW5nIHRvIHRoZSBj
YWxsIHN0YWNrOiIpOwotICAgICAgICBkdW1wTmV4dENhbGxGcmFtZShkaWREdW1wKTsKLSAgICB9
Ci0KLSAgICB2YXIgY2FsbEZyYW1lSW5kZXggPSAwOwotICAgIGZ1bmN0aW9uIGR1bXBOZXh0Q2Fs
bEZyYW1lKG5leHQpCi0gICAgewotICAgICAgICB2YXIgY2FsbEZyYW1lcyA9IFdlYkluc3BlY3Rv
ci5kZWJ1Z2dlck1vZGVsLmNhbGxGcmFtZXM7Ci0gICAgICAgIGlmIChjYWxsRnJhbWVJbmRleCA9
PT0gY2FsbEZyYW1lcy5sZW5ndGgpIHsKLSAgICAgICAgICAgIG5leHQoKTsKLSAgICAgICAgICAg
IHJldHVybjsKLSAgICAgICAgfQotICAgICAgICB2YXIgZnJhbWUgPSBjYWxsRnJhbWVzW2NhbGxG
cmFtZUluZGV4XTsKLSAgICAgICAgdmFyIHVpTG9jYXRpb24gPSBXZWJJbnNwZWN0b3IuZGVidWdn
ZXJNb2RlbC5yYXdMb2NhdGlvblRvVUlMb2NhdGlvbihmcmFtZS5sb2NhdGlvbik7Ci0gICAgICAg
IEluc3BlY3RvclRlc3Quc2hvd1VJU291cmNlQ29kZSh1aUxvY2F0aW9uLnVpU291cmNlQ29kZSwg
ZHVtcENhbGxGcmFtZUxpbmUpOwotCi0gICAgICAgIGZ1bmN0aW9uIGR1bXBDYWxsRnJhbWVMaW5l
KHNvdXJjZUZyYW1lKQotICAgICAgICB7Ci0gICAgICAgICAgICB2YXIgcmVzb3VyY2VUZXh0ID0g
c291cmNlRnJhbWUuX3RleHRFZGl0b3IudGV4dCgpOwotICAgICAgICAgICAgdmFyIGxpbmVzID0g
cmVzb3VyY2VUZXh0LnNwbGl0KCJcbiIpOwotICAgICAgICAgICAgdmFyIGxpbmVOdW1iZXIgPSB1
aUxvY2F0aW9uLmxpbmVOdW1iZXI7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3Vs
dCgiRnJhbWUgIiArIGNhbGxGcmFtZUluZGV4ICsgIikgbGluZSAiICsgbGluZU51bWJlciArICIs
IGNvbnRlbnQ6ICIgKyBsaW5lc1tsaW5lTnVtYmVyXSArICIgKG11c3QgYmUgcGFydCBvZiBmdW5j
dGlvbiAnIiArIGZyYW1lLmZ1bmN0aW9uTmFtZSArICInKSIpOwotICAgICAgICAgICAgY2FsbEZy
YW1lSW5kZXgrKwotICAgICAgICAgICAgZHVtcE5leHRDYWxsRnJhbWUobmV4dCk7Ci0gICAgICAg
IH0KLSAgICB9Ci0KLSAgICBmdW5jdGlvbiB1aVNvdXJjZUNvZGVBZGRlZCh1aVNvdXJjZUNvZGUp
Ci0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgidWlTb3VyY2VDb2RlQWRk
ZWQiKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBkaWREdW1wKCkKLSAgICB7Ci0gICAgICAgIElu
c3BlY3RvclRlc3QucmVzdW1lRXhlY3V0aW9uKGRpZFJlc3VtZSk7Ci0gICAgfQotCi0gICAgZnVu
Y3Rpb24gZGlkUmVzdW1lKCkKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0
KCJkaWRSZXN1bWUiKTsKLSAgICB9Ci19OwotPC9zY3JpcHQ+Ci0KLTwvaGVhZD4KLQotPGJvZHkg
b25sb2FkPSJydW5UZXN0KCkiPgotPHA+Ci1UZXN0cyB0aGF0IG1haW4gcmVzb3VyY2Ugc2NyaXB0
IHRleHQgaXMgY29ycmVjdCB3aGVuIHBhdXNlZCBpbiBpbmxpbmUgc2NyaXB0IG9uIHJlbG9hZC4K
LTxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NzU0OCI+
QnVnIDc3NTQ4LjwvYT4KLTwvcD4KLQotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL3BhdXNlLWluLWludGVybmFsLXNjcmlwdC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvcGF1c2UtaW4taW50ZXJu
YWwtc2NyaXB0LWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjI4
MGYwMTZiODY1MjhiN2E3Nzc5MTc5MmYxZTY2MmFjY2M1OGU3Ny4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdn
ZXIvcGF1c2UtaW4taW50ZXJuYWwtc2NyaXB0LWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBA
IC0xLDE2ICswLDAgQEAKLVRlc3RzIHRoYXQgaW50ZXJuYWwgc2NyaXB0cyB1bmtub3duIHRvIGZy
b250LWVuZCBhcmUgcHJvY2Vzc2VkIGNvcnJlY3RseSB3aGVuIGFwcGVhciBpbiBkZWJ1Z2dlciBj
YWxsIGZyYW1lcy4gQnVnIDY0OTk1Ci0KLURlYnVnZ2VyIHdhcyBlbmFibGVkLgotCi1SdW5uaW5n
OiB0ZXN0U2V0QnJlYWtwb2ludAotU2NyaXB0IHNvdXJjZSB3YXMgc2hvd24uCi1TZXQgdGltZXIg
Zm9yIHRlc3QgZnVuY3Rpb24uCi1TY3JpcHQgZXhlY3V0aW9uIHBhdXNlZC4KLUNhbGwgc3RhY2s6
Ci0gICAgMCkgIChwYXVzZS1pbi1pbnRlcm5hbC1zY3JpcHQuaHRtbDoxNCkKLSAgICAxKSBmb3JF
YWNoICgoaW50ZXJuYWwgc2NyaXB0KSkKLSAgICAyKSB0ZXN0RnVuY3Rpb24gKHBhdXNlLWluLWlu
dGVybmFsLXNjcmlwdC5odG1sOjEyKQotU2NyaXB0IGV4ZWN1dGlvbiByZXN1bWVkLgotU2NyaXB0
IGV4ZWN1dGlvbiBwYXVzZWQuCi1EZWJ1Z2dlciB3YXMgZGlzYWJsZWQuCi0KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9wYXVzZS1pbi1pbnRlcm5hbC1zY3JpcHQu
aHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9wYXVzZS1pbi1pbnRlcm5hbC1z
Y3JpcHQuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzZmYjUwN2UwMTA1NjAy
MWE4ODk1YTBjYmFjNjY1YmFiZTMwNmQ2ZC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvcGF1c2UtaW4t
aW50ZXJuYWwtc2NyaXB0Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw1MiArMCwwIEBACi08aHRt
bD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3Bl
Y3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2lu
c3BlY3Rvci9kZWJ1Z2dlci10ZXN0LmpzIj48L3NjcmlwdD4KLQotPHNjcmlwdD4KLQotZnVuY3Rp
b24gdGVzdEZ1bmN0aW9uKCkKLXsKLSAgICB2YXIgYXJyYXkgPSBbMiwgNSwgN107Ci0gICAgdmFy
IHN1bSA9IDA7Ci0gICAgYXJyYXkuZm9yRWFjaChmdW5jdGlvbihrZXkpCi0gICAgewotICAgICAg
ICBzdW0gKz0gYXJyYXlba2V5XTsKLSAgICB9KTsKLSAgICByZXR1cm4gc3VtOwotfQotCi1mdW5j
dGlvbiB0ZXN0KCkKLXsKLSAgICBJbnNwZWN0b3JUZXN0LnJ1bkRlYnVnZ2VyVGVzdFN1aXRlKFsK
LSAgICAgICAgZnVuY3Rpb24gdGVzdFNldEJyZWFrcG9pbnQobmV4dCkKLSAgICAgICAgewotICAg
ICAgICAgICAgSW5zcGVjdG9yVGVzdC5zaG93U2NyaXB0U291cmNlKCJwYXVzZS1pbi1pbnRlcm5h
bC1zY3JpcHQuaHRtbCIsIGRpZFNob3dTY3JpcHRTb3VyY2UpOwotCi0gICAgICAgICAgICBmdW5j
dGlvbiBkaWRTaG93U2NyaXB0U291cmNlKHNvdXJjZUZyYW1lKQotICAgICAgICAgICAgewotICAg
ICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJTY3JpcHQgc291cmNlIHdhcyBz
aG93bi4iKTsKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LnNldEJyZWFrcG9pbnQoc291
cmNlRnJhbWUsIDEzLCAiIiwgdHJ1ZSk7Ci0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5y
dW5UZXN0RnVuY3Rpb25BbmRXYWl0VW50aWxQYXVzZWQoZGlkUGF1c2UpOwotICAgICAgICAgICAg
fQotCi0gICAgICAgICAgICBmdW5jdGlvbiBkaWRQYXVzZShjYWxsRnJhbWVzKQotICAgICAgICAg
ICAgewotICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuY2FwdHVyZVN0YWNrVHJhY2UoY2Fs
bEZyYW1lcyk7Ci0gICAgICAgICAgICAgICAgbmV4dCgpOwotICAgICAgICAgICAgfQotICAgICAg
ICB9Ci0gICAgXSk7Ci19OwotCi08L3NjcmlwdD4KLQotPC9oZWFkPgotCi08Ym9keSBvbmxvYWQ9
InJ1blRlc3QoKSI+Ci08cD5UZXN0cyB0aGF0IGludGVybmFsIHNjcmlwdHMgdW5rbm93biB0byBm
cm9udC1lbmQgYXJlIHByb2Nlc3NlZCBjb3JyZWN0bHkgd2hlbiBhcHBlYXIgaW4gZGVidWdnZXIg
Y2FsbCBmcmFtZXMuCi08YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NjQ5OTUiPkJ1ZyA2NDk5NTwvYT4KLTwvcD4KLQotPC9ib2R5PgotPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL3Jlc291cmNlcy9keW5hbWlj
LXNjcmlwdC5qcyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9yZXNvdXJjZXMvZHlu
YW1pYy1zY3JpcHQuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGZiOWZiODE5NWEw
MWI1YzEwZThmZTM0ZmZhZWE5MTMzODZiZTEwODcuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL3Jlc291
cmNlcy9keW5hbWljLXNjcmlwdC5qcworKysgL2Rldi9udWxsCkBAIC0xLDUgKzAsMCBAQAotZnVu
Y3Rpb24gZm9vRHluYW1pY1NjcmlwdCgpCi17Ci19Ci0KLXNjcmlwdExvYWRlZCgpOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL3Jlc291cmNlcy9lZGl0LW1lLWJy
ZWFrcG9pbnRzLmpzIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL3Jlc291cmNlcy9l
ZGl0LW1lLWJyZWFrcG9pbnRzLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzNmVk
M2Y4NDI4YjU3ZGM5YjA1ODVjMDg3ODNkZTlkOTAzYzIwZjJmLi4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dl
ci9yZXNvdXJjZXMvZWRpdC1tZS1icmVha3BvaW50cy5qcworKysgL2Rldi9udWxsCkBAIC0xLDQg
KzAsMCBAQAotZnVuY3Rpb24gZigpCi17Ci0gICAgcmV0dXJuIDA7Ci19CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvcmVzb3VyY2VzL2VkaXQtbWUtc3ludGF4LWVy
cm9yLmpzIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL3Jlc291cmNlcy9lZGl0LW1l
LXN5bnRheC1lcnJvci5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggN2Y3YzhiZDk5
ZWY3MGIxYjM4YWJmYTkwY2Q2ODA2ZmY2ZjMxM2IzYy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvcmVz
b3VyY2VzL2VkaXQtbWUtc3ludGF4LWVycm9yLmpzCisrKyAvZGV2L251bGwKQEAgLTEsNCArMCww
IEBACi1mdW5jdGlvbiBzeW50YXhFcnJvcigpCi17Ci0gICAgcmV0dXJuICwiSSdtIGdvb2QiOwot
fQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL3Jlc291cmNlcy9l
ZGl0LW1lLXdoZW4tcGF1c2VkLmpzIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL3Jl
c291cmNlcy9lZGl0LW1lLXdoZW4tcGF1c2VkLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCA1OGI5YzhlM2MyOTdmZjBlNThlMzlhODIwNjFkNGExMTg3MGU5ZmVkLi4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rv
ci9kZWJ1Z2dlci9yZXNvdXJjZXMvZWRpdC1tZS13aGVuLXBhdXNlZC5qcworKysgL2Rldi9udWxs
CkBAIC0xLDExICswLDAgQEAKLWZ1bmN0aW9uIGYyKCkKLXsKLSAgICByZXR1cm4gMTsKLX0KLQot
ZnVuY3Rpb24gZjEoKQotewotICAgIHZhciB4ID0gMTsKLSAgICBkZWJ1Z2dlcjsKLSAgICByZXR1
cm4geCArIGYyKCk7Ci19CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdn
ZXIvcmVzb3VyY2VzL2VkaXQtbWUuanMgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIv
cmVzb3VyY2VzL2VkaXQtbWUuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDM2ZWQz
Zjg0MjhiNTdkYzliMDU4NWMwODc4M2RlOWQ5MDNjMjBmMmYuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2Vy
L3Jlc291cmNlcy9lZGl0LW1lLmpzCisrKyAvZGV2L251bGwKQEAgLTEsNCArMCwwIEBACi1mdW5j
dGlvbiBmKCkKLXsKLSAgICByZXR1cm4gMDsKLX0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lu
c3BlY3Rvci9kZWJ1Z2dlci9yZXNvdXJjZXMvb2JmdXNjYXRlZC5qcyBiL0xheW91dFRlc3RzL2lu
c3BlY3Rvci9kZWJ1Z2dlci9yZXNvdXJjZXMvb2JmdXNjYXRlZC5qcwpkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggZjM0MDNkNTRmOTY3ODdkNjVhNzZmODE1MmM1MzA3ODg1MjFlY2RkNy4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9pbnNwZWN0b3IvZGVidWdnZXIvcmVzb3VyY2VzL29iZnVzY2F0ZWQuanMKKysrIC9kZXYvbnVs
bApAQCAtMSwyMCArMCwwIEBACi1mdW5jdGlvbiBmb3JtYXR0ZWQxKCkKLXsKLSAgICB2YXIgdmFy
aWFibGUxID0gMDsKLX0KLQotZnVuY3Rpb24gd2l0aENvbW1lbnRzKCkKLXsKLS8vIGNvbW1lbnQK
LSAgICByZXR1cm4gImZ1bmN0aW9uV2l0aENvbW1lbnRzIjsKLX0KLQotdHJ5e29ubWVzc2FnZT1m
dW5jdGlvbihldmVudCl7dmFyIHNvdXJjZT1ldmVudC5kYXRhO3ZhciBmb3JtYXR0ZWRTb3VyY2U9
YmVhdXRpZnkoc291cmNlKTt2YXIgbWFwcGluZz1idWlsZE1hcHBpbmcoc291cmNlLGZvcm1hdHRl
ZFNvdXJjZSk7cG9zdE1lc3NhZ2Uoe2Zvcm1hdHRlZFNvdXJjZTpmb3JtYXR0ZWRTb3VyY2UsbWFw
cGluZzptYXBwaW5nfSl9O2Z1bmN0aW9uIGJlYXV0aWZ5KHNvdXJjZSl7dmFyIGFzdD1wYXJzZS5w
YXJzZShzb3VyY2UpO3ZhciBiZWF1dGlmeU9wdGlvbnM9Ci17aW5kZW50X2xldmVsOjQsaW5kZW50
X3N0YXJ0OjAscXVvdGVfa2V5czpmYWxzZSxzcGFjZV9jb2xvbjpmYWxzZX07cmV0dXJuIHByb2Nl
c3MuZ2VuX2NvZGUoYXN0LGJlYXV0aWZ5T3B0aW9ucyl9ZnVuY3Rpb24gYnVpbGRNYXBwaW5nKHNv
dXJjZSxmb3JtYXR0ZWRTb3VyY2Upe3ZhciBtYXBwaW5nPXtvcmlnaW5hbDpbXSxmb3JtYXR0ZWQ6
W119O3ZhciBsYXN0UG9zaXRpb249MDt2YXIgcmVnZXhwPS8oXnxbXlxcXSlcYigoPz1cRClbXCRc
Llx3XSspXGIvZzt3aGlsZSh0cnVlKQote3ZhciBtYXRjaD1yZWdleHAuZXhlYyhmb3JtYXR0ZWRT
b3VyY2UpO2lmKCFtYXRjaClicmVhazt2YXIgcG9zaXRpb249c291cmNlLmluZGV4T2YobWF0Y2hb
Ml0sbGFzdFBvc2l0aW9uKTtpZihwb3NpdGlvbj09PS0xKXRocm93Ik5vIG1hdGNoIGZvdW5kIGlu
IG9yaWdpbmFsIHNvdXJjZSBmb3IgIittYXRjaFsyXTttYXBwaW5nLm9yaWdpbmFsLnB1c2gocG9z
aXRpb24pO21hcHBpbmcuZm9ybWF0dGVkLnB1c2gobWF0Y2guaW5kZXgrbWF0Y2hbMV0ubGVuZ3Ro
KTsKLWxhc3RQb3NpdGlvbj1wb3NpdGlvbittYXRjaFsyXS5sZW5ndGh9cmV0dXJuIG1hcHBpbmd9
ZnVuY3Rpb24gcmVxdWlyZSgpe3JldHVybiBwYXJzZX12YXIgZXhwb3J0cz17fTtpbXBvcnRTY3Jp
cHRzKCJVZ2xpZnlKUy9wYXJzZS1qcy5qcyIpO3ZhciBwYXJzZT1leHBvcnRzO3ZhciBleHBvcnRz
PXt9O2ltcG9ydFNjcmlwdHMoIlVnbGlmeUpTL3Byb2Nlc3MuanMiKTt2YXIgcHJvY2Vzcz1leHBv
cnRzO31jYXRjaChlKXt9Ci0KLWZ1bmN0aW9uIGZvcm1hdHRlZDIoKQotewotICAgIHZhciB2YXJp
YWJsZTIgPSAwOwotfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2Vy
L3Jlc291cmNlcy9wYXVzZS1vbi1ibG9ja2VkLWJ5LWNzcC5qcyBiL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci9kZWJ1Z2dlci9yZXNvdXJjZXMvcGF1c2Utb24tYmxvY2tlZC1ieS1jc3AuanMKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDBjZTM4MDg1OGM0YTIyYjY0OTdjOTBjNDJkYmRjMWYw
ZWU2MjhlNDYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL3Jlc291cmNlcy9wYXVzZS1vbi1ibG9ja2Vk
LWJ5LWNzcC5qcworKysgL2Rldi9udWxsCkBAIC0xLDMwICswLDAgQEAKLWZ1bmN0aW9uIHRlc3Qo
KQotewotICAgIFdlYkluc3BlY3Rvci5zaG93UGFuZWwoInNjcmlwdHMiKTsKLQotICAgIEluc3Bl
Y3RvclRlc3QuYWRkU25pZmZlcihXZWJJbnNwZWN0b3IuQ2FsbFN0YWNrU2lkZWJhclBhbmUucHJv
dG90eXBlLCAic2V0U3RhdHVzIiwgc2V0U3RhdHVzLCBmYWxzZSk7Ci0KLSAgICBmdW5jdGlvbiBz
ZXRTdGF0dXMoc3RhdHVzKQotICAgIHsKLSAgICAgICAgLy8gRklYTUU6IEZvciB3aGF0ZXZlciBy
ZWFzb24sIHRoaXMgaXNuJ3QgZ2V0dGluZyBjYWxsZWQgY29uc2lzdGVudGx5LgotICAgICAgICAv
LyBDb21tZW50aW5nIGl0IG91dCB0byBhdm9pZCBmbGFrZXluZXNzLiBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTY4NjcKLSAgICAgICAgLy8gSW5zcGVjdG9yVGVzdC5h
ZGRSZXN1bHQoIkNhbGxzdGFjayBzdGF0dXMgc2V0IHRvOiAnIiArIHN0YXR1cyArICInLiIpOwot
ICAgIH0KLQotICAgIEluc3BlY3RvclRlc3Quc3RhcnREZWJ1Z2dlclRlc3Qoc3RlcDEpOwotCi0g
ICAgZnVuY3Rpb24gc3RlcDEoKQotICAgIHsKLSAgICAgICAgRGVidWdnZXJBZ2VudC5zZXRQYXVz
ZU9uRXhjZXB0aW9ucyhXZWJJbnNwZWN0b3IuRGVidWdnZXJNb2RlbC5QYXVzZU9uRXhjZXB0aW9u
c1N0YXRlLlBhdXNlT25VbmNhdWdodEV4Y2VwdGlvbnMpOwotICAgICAgICBJbnNwZWN0b3JUZXN0
LmV2YWx1YXRlSW5QYWdlKCJzZXRUaW1lb3V0KHRlc3RBY3Rpb24sIDApOyIpOwotICAgICAgICBJ
bnNwZWN0b3JUZXN0LndhaXRVbnRpbFBhdXNlZChzdGVwMik7Ci0gICAgfQotCi0gICAgZnVuY3Rp
b24gc3RlcDIoY2FsbEZyYW1lcykKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuY2FwdHVy
ZVN0YWNrVHJhY2UoY2FsbEZyYW1lcyk7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVE
ZWJ1Z2dlclRlc3QoKTsKLSAgICB9Ci19Ci0KLXdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2Fk
JywgcnVuVGVzdCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIv
cmVzb3VyY2VzL3BhdXNlLW9uLWJsb2NrZWQtZXZlbnQtaGFuZGxlci5qcyBiL0xheW91dFRlc3Rz
L2luc3BlY3Rvci9kZWJ1Z2dlci9yZXNvdXJjZXMvcGF1c2Utb24tYmxvY2tlZC1ldmVudC1oYW5k
bGVyLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4YTZkNTFkNmY2MjJjYjhhZmJj
ODQxZjIyNjVjMmE3MWM5MmI2NDEwLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9yZXNvdXJjZXMvcGF1
c2Utb24tYmxvY2tlZC1ldmVudC1oYW5kbGVyLmpzCisrKyAvZGV2L251bGwKQEAgLTEsNSArMCww
IEBACi1mdW5jdGlvbiB0ZXN0QWN0aW9uKCkKLXsKLSAgICB2YXIgYnV0dG9uID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoJ3Rlc3QnKTsKLSAgICBidXR0b24uY2xpY2soKTsKLX0KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9yZXNvdXJjZXMvcGF1c2Utb24tYmxv
Y2tlZC1zY3JpcHQtaW5qZWN0aW9uLmpzIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2Vy
L3Jlc291cmNlcy9wYXVzZS1vbi1ibG9ja2VkLXNjcmlwdC1pbmplY3Rpb24uanMKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDRmOWFiOTkxMzM5NDRkYzQzN2E5ZDRhOTZkNmEwZjFlMDAz
NTY2ZGYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL3Jlc291cmNlcy9wYXVzZS1vbi1ibG9ja2VkLXNj
cmlwdC1pbmplY3Rpb24uanMKKysrIC9kZXYvbnVsbApAQCAtMSw2ICswLDAgQEAKLWZ1bmN0aW9u
IHRlc3RBY3Rpb24oKQotewotICAgIHZhciBzY3JpcHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCdzY3JpcHQnKTsKLSAgICBzY3JpcHQuaW5uZXJUZXh0ID0gImFsZXJ0KCdGQUlMIScpOyI7Ci0g
ICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChzY3JpcHQpOwotfQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL3Jlc291cmNlcy9wYXVzZS1vbi1ibG9ja2VkLXNj
cmlwdC11cmwuanMgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvcmVzb3VyY2VzL3Bh
dXNlLW9uLWJsb2NrZWQtc2NyaXB0LXVybC5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggODIwYzYwNDRiNGQxNGZjNzM1YTcyODVhOTkzNmIzNjllYzk2MjdiYy4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Iv
ZGVidWdnZXIvcmVzb3VyY2VzL3BhdXNlLW9uLWJsb2NrZWQtc2NyaXB0LXVybC5qcworKysgL2Rl
di9udWxsCkBAIC0xLDcgKzAsMCBAQAotZnVuY3Rpb24gdGVzdEFjdGlvbigpCi17Ci0gICAgdmFy
IGEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7Ci0gICAgYS5zZXRBdHRyaWJ1dGUoJ2hy
ZWYnLCAnamF2YXNjcmlwdDphbGVydCgiRkFJTCEiKTsnKTsKLSAgICBkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKGEpOwotICAgIGEuY2xpY2soKTsKLX0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2luc3BlY3Rvci9kZWJ1Z2dlci9yZXNvdXJjZXMvc2NyaXB0MS5qcyBiL0xheW91dFRlc3RzL2lu
c3BlY3Rvci9kZWJ1Z2dlci9yZXNvdXJjZXMvc2NyaXB0MS5qcwpkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggYTZmZTRjM2E5YzRiNmUxN2U1YTZhODY3MzViODFlODc0ZTgwOGM3MC4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9p
bnNwZWN0b3IvZGVidWdnZXIvcmVzb3VyY2VzL3NjcmlwdDEuanMKKysrIC9kZXYvbnVsbApAQCAt
MSArMCwwIEBACi1mdW5jdGlvbiBmMSgpIHt9ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL3Jlc291cmNlcy9zY3Jp
cHQyLmpzIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL3Jlc291cmNlcy9zY3JpcHQy
LmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4NjY1YTBmMjY5N2ZiMDU1OTYxNWIy
NjcwZTEwMDljN2MzNjc1NTU2Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9yZXNvdXJjZXMvc2NyaXB0
Mi5qcworKysgL2Rldi9udWxsCkBAIC0xICswLDAgQEAKLWZ1bmN0aW9uIGYyKCkge30KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Iv
ZGVidWdnZXIvcmVzb3VyY2VzL3NjcmlwdDMuanMgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVi
dWdnZXIvcmVzb3VyY2VzL3NjcmlwdDMuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IGUzZmIzNDM2NjE3ZGJkM2U3NzdiN2M0ODdkNmE1M2EzNTE4ZGQyYzUuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2Rl
YnVnZ2VyL3Jlc291cmNlcy9zY3JpcHQzLmpzCisrKyAvZGV2L251bGwKQEAgLTEgKzAsMCBAQAot
ZnVuY3Rpb24gZjMoKSB7fQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9yZXNvdXJjZXMvc3ludGF4LWVycm9yLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvcmVzb3VyY2VzL3N5bnRheC1lcnJv
ci5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1YWVlMjE0NTRmM2ExMTNlNjM5
YTA4MTI5OGMwMzVjMDU4NjI2ODJlLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9yZXNvdXJjZXMvc3lu
dGF4LWVycm9yLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxMCArMCwwIEBACi08aHRtbD4KLTxo
ZWFkPgotPHNjcmlwdD4KLSkKLTwvc2NyaXB0PgotPC9oZWFkPgotCi08Ym9keSBvbmxvYWQ9ImNv
bnNvbGUubG9nKCdJZnJhbWUgbG9hZGVkJyk7Ij4KLTwvYm9keT4KLTwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVi
dWdnZXIvc2NyaXB0LWZvcm1hdHRlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0
b3IvZGVidWdnZXIvc2NyaXB0LWZvcm1hdHRlci1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDZhMDFmMDNhOWNlMmZkZTdjN2YyYWQzNTI2ZWUyODEyMjIxOTIwOTYu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yL2RlYnVnZ2VyL3NjcmlwdC1mb3JtYXR0ZXItZXhwZWN0ZWQudHh0CisrKyAv
ZGV2L251bGwKQEAgLTEsMjEgKzAsMCBAQAotVGVzdHMgdGhlIHNjcmlwdCBmb3JtYXR0aW5nIGZ1
bmN0aW9uYWxpdHkuCi0KLURlYnVnZ2VyIHdhcyBlbmFibGVkLgotCi1SdW5uaW5nOiB0ZXN0U2Ny
aXB0Rm9ybWF0dGVyV29ya2VyCi0KLVJ1bm5pbmc6IHRlc3RTb3VyY2VNYXBwaW5nCi0KLVJ1bm5p
bmc6IHRlc3RGb3JtYXRJbmxpbmVkU2NyaXB0cwotPGh0bWw+PGJvZHk+PHNjcmlwdD4KLWZ1bmN0
aW9uIGYoKSB7Ci19Ci08L3NjcmlwdD48c2NyaXB0PgotZnVuY3Rpb24gZygpIHsKLSoqdmFyIGE7
Ci0qKmlmIChhKQotKioqKnJldHVybjsKLX0KLTwvc2NyaXB0PjwvYm9keT48L2h0bWw+Ci1EZWJ1
Z2dlciB3YXMgZGlzYWJsZWQuCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9k
ZWJ1Z2dlci9zY3JpcHQtZm9ybWF0dGVyLXNlYXJjaC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9pbnNwZWN0b3IvZGVidWdnZXIvc2NyaXB0LWZvcm1hdHRlci1zZWFyY2gtZXhwZWN0ZWQudHh0
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3NzQwYTQ0NGRmYmVkZmVlOTAwOGEzMzMz
YmQ2ZjUyMzI5Mjk3ZTgxLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9zY3JpcHQtZm9ybWF0dGVyLXNl
YXJjaC1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxNSArMCwwIEBACi1UZXN0cyB0
aGF0IHNlYXJjaCBhY3Jvc3MgZmlsZXMgd29ya3Mgd2l0aCBmb3JtYXR0ZWQgc2NyaXB0cy4KLQot
RGVidWdnZXIgd2FzIGVuYWJsZWQuCi1QcmUtZm9ybWF0IHNlYXJjaCByZXN1bHRzOgotU2VhcmNo
IG1hdGNoZXM6IAotbGluZU51bWJlcjogMjQsIGxpbmU6ICcgICAgICAgIHNjcmlwdFNvdXJjZS5z
ZWFyY2hJbkNvbnRlbnQoIm1hZ2ljLXN0cmluZyIsIHRydWUsIGZhbHNlLCBkdW1wMSk7JwotbGlu
ZU51bWJlcjogMzksIGxpbmU6ICcgICAgICAgIHNjcmlwdFNvdXJjZS5zZWFyY2hJbkNvbnRlbnQo
Im1hZ2ljLXN0cmluZyIsIHRydWUsIGZhbHNlLCBkdW1wMik7JwotCi1PcmlnaW5hbCBjb250ZW50
IHdhcyByZXF1ZXN0ZWQuCi1Qb3N0LWZvcm1hdCBzZWFyY2ggcmVzdWx0czoKLVNlYXJjaCBtYXRj
aGVzOiAKLWxpbmVOdW1iZXI6IDI4LCBsaW5lOiAnICAgICAgICBzY3JpcHRTb3VyY2Uuc2VhcmNo
SW5Db250ZW50KCJtYWdpYy1zdHJpbmciLCB0cnVlLCBmYWxzZSwgZHVtcDEpOycKLWxpbmVOdW1i
ZXI6IDQzLCBsaW5lOiAnICAgICAgICBzY3JpcHRTb3VyY2Uuc2VhcmNoSW5Db250ZW50KCJtYWdp
Yy1zdHJpbmciLCB0cnVlLCBmYWxzZSwgZHVtcDIpOycKLQotCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvc2NyaXB0LWZvcm1hdHRlci1zZWFyY2guaHRtbCBiL0xh
eW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9zY3JpcHQtZm9ybWF0dGVyLXNlYXJjaC5odG1s
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhYmQxNmNkNDE4MTFhOWY5NDlkZmQzOWJi
YTdhY2VhODEyNDZmNjA3Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9zY3JpcHQtZm9ybWF0dGVyLXNl
YXJjaC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNjggKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4K
LTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvZGVi
dWdnZXItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9p
bnNwZWN0b3Ivc2VhcmNoL3NlYXJjaC10ZXN0LmpzIj48L3NjcmlwdD4KLQotPHNjcmlwdD4KLQot
dmFyIHRlc3QgPSBmdW5jdGlvbigpCi17Ci0gICAgdmFyIHNjcmlwdFNvdXJjZTsKLSAgICB2YXIg
c2hvdWxkUmVxdWVzdENvbnRlbnQgPSBmYWxzZTsKLQotICAgIEluc3BlY3RvclRlc3Quc3RhcnRE
ZWJ1Z2dlclRlc3Qoc3RhcnRlZCk7Ci0KLSAgICBmdW5jdGlvbiBzdGFydGVkKCkKLSAgICB7Ci0g
ICAgICAgIEluc3BlY3RvclRlc3Quc2hvd1NjcmlwdFNvdXJjZSgic2NyaXB0LWZvcm1hdHRlci1z
ZWFyY2guaHRtbCIsIGRpZFNob3dTY3JpcHRTb3VyY2UpOwotICAgIH0KLQotICAgIGZ1bmN0aW9u
IGRpZFNob3dTY3JpcHRTb3VyY2UoZnJhbWUpCi0gICAgewotICAgICAgICBzY3JpcHRTb3VyY2Ug
PSBmcmFtZS5fdWlTb3VyY2VDb2RlOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFNuaWZmZXIo
c2NyaXB0U291cmNlLl9wcm9qZWN0LCAicmVxdWVzdEZpbGVDb250ZW50IiwgcmVxdWVzdENvbnRl
bnRTbmlmZmVyKTsKLSAgICAgICAgc2NyaXB0U291cmNlLnNlYXJjaEluQ29udGVudCgibWFnaWMt
c3RyaW5nIiwgdHJ1ZSwgZmFsc2UsIGR1bXAxKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBkdW1w
MShtYXRjaGVzKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIlByZS1m
b3JtYXQgc2VhcmNoIHJlc3VsdHM6Iik7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuZHVtcFNlYXJj
aE1hdGNoZXMobWF0Y2hlcyk7Ci0gICAgICAgIHNob3VsZFJlcXVlc3RDb250ZW50ID0gdHJ1ZTsK
LSAgICAgICAgc2NyaXB0U291cmNlLmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLlVJU291
cmNlQ29kZS5FdmVudHMuRm9ybWF0dGVkQ2hhbmdlZCwgZGlkRm9ybWF0LCB0aGlzKTsKLSAgICAg
ICAgc2NyaXB0U291cmNlLnNldEZvcm1hdHRlZCh0cnVlKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlv
biBkaWRGb3JtYXQoKQotICAgIHsKLSAgICAgICAgc2NyaXB0U291cmNlLnJlbW92ZUV2ZW50TGlz
dGVuZXIoV2ViSW5zcGVjdG9yLlVJU291cmNlQ29kZS5FdmVudHMuRm9ybWF0dGVkQ2hhbmdlZCwg
ZGlkRm9ybWF0LCB0aGlzKTsKLSAgICAgICAgc2NyaXB0U291cmNlLnNlYXJjaEluQ29udGVudCgi
bWFnaWMtc3RyaW5nIiwgdHJ1ZSwgZmFsc2UsIGR1bXAyKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlv
biBkdW1wMihtYXRjaGVzKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQo
IlBvc3QtZm9ybWF0IHNlYXJjaCByZXN1bHRzOiIpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmR1
bXBTZWFyY2hNYXRjaGVzKG1hdGNoZXMpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRl
VGVzdCgpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHJlcXVlc3RDb250ZW50U25pZmZlcigpCi0g
ICAgewotICAgICAgICBpZiAoc2hvdWxkUmVxdWVzdENvbnRlbnQpCi0gICAgICAgICAgICBJbnNw
ZWN0b3JUZXN0LmFkZFJlc3VsdCgiT3JpZ2luYWwgY29udGVudCB3YXMgcmVxdWVzdGVkLiIpOwot
ICAgICAgICBlbHNlCi0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiRmFpbHVy
ZTogb3JpZ2luYWwgY29udGVudCBzaG91bGQgbm90IGJlIHJlcXVlc3RlZC4iKTsKLSAgICB9Ci19
Ci0KLTwvc2NyaXB0PgotCi08L2hlYWQ+Ci0KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxw
PlRlc3RzIHRoYXQgc2VhcmNoIGFjcm9zcyBmaWxlcyB3b3JrcyB3aXRoIGZvcm1hdHRlZCBzY3Jp
cHRzLgotPC9wPgotCi08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bnNwZWN0b3IvZGVidWdnZXIvc2NyaXB0LWZvcm1hdHRlci5odG1sIGIvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yL2RlYnVnZ2VyL3NjcmlwdC1mb3JtYXR0ZXIuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggZjFhZDQ2ZDQzZTU0MjE3MTI2NjdmZjA5MGNmN2U3ZjY3NjY2M2NlNC4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9p
bnNwZWN0b3IvZGVidWdnZXIvc2NyaXB0LWZvcm1hdHRlci5odG1sCisrKyAvZGV2L251bGwKQEAg
LTEsMTA2ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90
ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyLXRlc3QuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdCBzcmM9InJlc291cmNlcy9vYmZ1c2NhdGVkLmpzIj48L3NjcmlwdD4KLQotPHNjcmlw
dD4KLQotdmFyIHRlc3QgPSBmdW5jdGlvbigpCi17Ci0gICAgdmFyIHBhbmVsID0gV2ViSW5zcGVj
dG9yLnBhbmVscy5zY3JpcHRzOwotICAgIHZhciB3b3JrZXIgPSBuZXcgV29ya2VyKCJTY3JpcHRG
b3JtYXR0ZXJXb3JrZXIuanMiKTsKLQotICAgIEluc3BlY3RvclRlc3QucnVuRGVidWdnZXJUZXN0
U3VpdGUoWwotICAgICAgICBmdW5jdGlvbiB0ZXN0U2NyaXB0Rm9ybWF0dGVyV29ya2VyKG5leHQp
Ci0gICAgICAgIHsKLSAgICAgICAgICAgIHdvcmtlci5vbm1lc3NhZ2UgPSBJbnNwZWN0b3JUZXN0
LnNhZmVXcmFwKGZ1bmN0aW9uKGV2ZW50KQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAg
IEluc3BlY3RvclRlc3QuYXNzZXJ0RXF1YWxzKCJ2YXIgeCA9IDBcbiIsIGV2ZW50LmRhdGEuY29u
dGVudCk7Ci0gICAgICAgICAgICAgICAgbmV4dCgpOwotICAgICAgICAgICAgfSk7Ci0KLSAgICAg
ICAgICAgIHdvcmtlci5vbmVycm9yID0gZnVuY3Rpb24oZXZlbnQpCi0gICAgICAgICAgICB7Ci0g
ICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIkVycm9yIGluIHdvcmtlcjog
IiArIGV2ZW50LmRhdGEpOwotICAgICAgICAgICAgICAgIG5leHQoKTsKLSAgICAgICAgICAgIH07
Ci0KLSAgICAgICAgICAgIHdvcmtlci5wb3N0TWVzc2FnZSh7IG1ldGhvZDogImZvcm1hdCIsIHBh
cmFtczogeyBtaW1lVHlwZTogInRleHQvamF2YXNjcmlwdCIsIGNvbnRlbnQ6ICJ2YXIgeD0wIiB9
IH0pOwotICAgICAgICB9LAotCi0gICAgICAgIGZ1bmN0aW9uIHRlc3RTb3VyY2VNYXBwaW5nKG5l
eHQpCi0gICAgICAgIHsKLSAgICAgICAgICAgIHZhciBmb3JtYXR0ZXIgPSBuZXcgV2ViSW5zcGVj
dG9yLlNjcmlwdEZvcm1hdHRlcigpOwotCi0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LnNob3dT
Y3JpcHRTb3VyY2UoIm9iZnVzY2F0ZWQuanMiLCBkaWRTaG93U2NyaXB0U291cmNlKTsKLSAgICAg
ICAgICAgIGZ1bmN0aW9uIGRpZFNob3dTY3JpcHRTb3VyY2Uoc291cmNlRnJhbWUpCi0gICAgICAg
ICAgICB7Ci0gICAgICAgICAgICAgICAgZm9ybWF0dGVyLmZvcm1hdENvbnRlbnQoInRleHQvamF2
YXNjcmlwdCIsIHNvdXJjZUZyYW1lLl90ZXh0RWRpdG9yLnRleHQoKSwgZGlkRm9ybWF0Q29udGVu
dCk7Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIGZ1bmN0aW9uIGRpZEZvcm1hdENvbnRl
bnQoY29udGVudCwgbWFwcGluZykKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICB2YXIg
c291cmNlID0gV2ViSW5zcGVjdG9yLnBhbmVscy5zY3JpcHRzLnZpc2libGVWaWV3Ll90ZXh0RWRp
dG9yLnRleHQoKTsKLSAgICAgICAgICAgICAgICB2YXIgZm9ybWF0dGVkU291cmNlID0gY29udGVu
dDsKLQotICAgICAgICAgICAgICAgIGZ1bmN0aW9uIHRlc3RNYXBwaW5nKHN0cmluZykKLSAgICAg
ICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgIHZhciBvcmlnaW5hbFBvc2l0aW9uID0g
c291cmNlLmluZGV4T2Yoc3RyaW5nKTsKLSAgICAgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVz
dC5hc3NlcnRUcnVlKG9yaWdpbmFsUG9zaXRpb24gIT09IC0xKTsKLSAgICAgICAgICAgICAgICAg
ICAgdmFyIG9yaWdpbmFsTG9jYXRpb24gPSBXZWJJbnNwZWN0b3IuRm9ybWF0dGVyLnBvc2l0aW9u
VG9Mb2NhdGlvbihzb3VyY2UubGluZUVuZGluZ3MoKSwgb3JpZ2luYWxQb3NpdGlvbik7Ci0gICAg
ICAgICAgICAgICAgICAgIHZhciBmb3JtYXR0ZWRMb2NhdGlvbiA9IG1hcHBpbmcub3JpZ2luYWxU
b0Zvcm1hdHRlZChvcmlnaW5hbExvY2F0aW9uWzBdLCBvcmlnaW5hbExvY2F0aW9uWzFdKTsKLSAg
ICAgICAgICAgICAgICAgICAgdmFyIGZvcm1hdHRlZFBvc2l0aW9uID0gV2ViSW5zcGVjdG9yLkZv
cm1hdHRlci5sb2NhdGlvblRvUG9zaXRpb24oZm9ybWF0dGVkU291cmNlLmxpbmVFbmRpbmdzKCks
IGZvcm1hdHRlZExvY2F0aW9uWzBdLCBmb3JtYXR0ZWRMb2NhdGlvblsxXSk7Ci0gICAgICAgICAg
ICAgICAgICAgIHZhciBleHBlY3RlZEZvcm1hdHRlZFBvc2l0aW9uID0gZm9ybWF0dGVkU291cmNl
LmluZGV4T2Yoc3RyaW5nKTsKLSAgICAgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3Nl
cnRFcXVhbHMoZXhwZWN0ZWRGb3JtYXR0ZWRQb3NpdGlvbiwgZm9ybWF0dGVkUG9zaXRpb24sICJ3
cm9uZyBtYXBwaW5nIGZvciA8IiArIHN0cmluZyArICI+Iik7Ci0gICAgICAgICAgICAgICAgfQot
Ci0gICAgICAgICAgICAgICAgdGVzdE1hcHBpbmcoImZ1bmN0aW9uIik7Ci0gICAgICAgICAgICAg
ICAgdGVzdE1hcHBpbmcoImZvcm1hdHRlZDEiKTsKLSAgICAgICAgICAgICAgICB0ZXN0TWFwcGlu
ZygidmFyaWFibGUxIik7Ci0KLSAgICAgICAgICAgICAgICB0ZXN0TWFwcGluZygiICAgIHJldHVy
biBcImZ1bmN0aW9uV2l0aENvbW1lbnRzXCIiKTsKLQotICAgICAgICAgICAgICAgIHRlc3RNYXBw
aW5nKCJvbm1lc3NhZ2UiKTsKLSAgICAgICAgICAgICAgICB0ZXN0TWFwcGluZygiaW5kZW50X3N0
YXJ0Iik7Ci0gICAgICAgICAgICAgICAgdGVzdE1hcHBpbmcoImZ1bmN0aW9uIHJlcXVpcmUiKTsK
LSAgICAgICAgICAgICAgICB0ZXN0TWFwcGluZygidmFyIHJlZ2V4cCIpOwotICAgICAgICAgICAg
ICAgIHRlc3RNYXBwaW5nKCJpbXBvcnRTY3JpcHRzIik7Ci0KLSAgICAgICAgICAgICAgICB0ZXN0
TWFwcGluZygiZm9ybWF0dGVkMiIpOwotICAgICAgICAgICAgICAgIHRlc3RNYXBwaW5nKCJ2YXJp
YWJsZTIiKTsKLQotICAgICAgICAgICAgICAgIG5leHQoKTsKLSAgICAgICAgICAgIH0KLSAgICAg
ICAgfSwKLQotICAgICAgICBmdW5jdGlvbiB0ZXN0Rm9ybWF0SW5saW5lZFNjcmlwdHMobmV4dCkK
LSAgICAgICAgewotICAgICAgICAgICAgd29ya2VyLm9ubWVzc2FnZSA9IEluc3BlY3RvclRlc3Qu
c2FmZVdyYXAoZnVuY3Rpb24oZXZlbnQpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAg
SW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoZXZlbnQuZGF0YS5jb250ZW50KTsKLSAgICAgICAgICAg
ICAgICBuZXh0KCk7Ci0gICAgICAgICAgICB9KTsKLQotICAgICAgICAgICAgd29ya2VyLm9uZXJy
b3IgPSBmdW5jdGlvbihldmVudCkKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBJbnNw
ZWN0b3JUZXN0LmFkZFJlc3VsdCgiRXJyb3IgaW4gd29ya2VyOiAiICsgZXZlbnQuZGF0YSk7Ci0g
ICAgICAgICAgICAgICAgbmV4dCgpOwotICAgICAgICAgICAgfTsKLQotICAgICAgICAgICAgdmFy
IGNvbnRlbnQgPSAiPGh0bWw+PGJvZHk+PHNjcmlwdD5mdW5jdGlvbiBmKCl7fTwiICsgIi9zY3Jp
cHQ+PHNjcmlwdD5mdW5jdGlvbiBnKCl7dmFyIGE7aWYgKGEpIHJldHVybjt9PCIgKyAiL3Njcmlw
dD48L2JvZHk+PC9odG1sPiI7Ci0gICAgICAgICAgICB3b3JrZXIucG9zdE1lc3NhZ2UoeyBtZXRo
b2Q6ICJmb3JtYXQiLCBwYXJhbXM6IHsgbWltZVR5cGU6ICJ0ZXh0L2h0bWwiLCBjb250ZW50OiBj
b250ZW50LCBpbmRlbnRTdHJpbmc6ICIqKiIgfSB9KTsKLSAgICAgICAgfQotICAgIF0pOwotfQot
Ci08L3NjcmlwdD4KLQotPC9oZWFkPgotCi08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci08cD5U
ZXN0cyB0aGUgc2NyaXB0IGZvcm1hdHRpbmcgZnVuY3Rpb25hbGl0eS4KLTwvcD4KLQotPC9ib2R5
PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL3Nv
dXJjZS11cmwtY29tbWVudC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVi
dWdnZXIvc291cmNlLXVybC1jb21tZW50LWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMjEwNzQ2NTY2YjNhYzZhNzI1OGZiYzFiYmU0NzhjNTc5NGMyNWU4YS4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9p
bnNwZWN0b3IvZGVidWdnZXIvc291cmNlLXVybC1jb21tZW50LWV4cGVjdGVkLnR4dAorKysgL2Rl
di9udWxsCkBAIC0xLDIzICswLDAgQEAKLVRlc3RzIHRoYXQgZXZhbHMgd2l0aCBzb3VyY2VVUkwg
Y29tbWVudCBhcmUgc2hvd24gaW4gc2NyaXB0cyBwYW5lbC4KLQotRGVidWdnZXIgd2FzIGVuYWJs
ZWQuCi0KLVJ1bm5pbmc6IHRlc3RTb3VyY2VVUkxDb21tZW50SW5JbmxpbmVTY3JpcHQKLQotUnVu
bmluZzogdGVzdFNvdXJjZVVSTENvbW1lbnQKLWZ1bmN0aW9uIGtlZXBBbGl2ZSgpIHt9Ci0vL0Ag
c291cmNlVVJMPWV2YWxVUkwuanMKLQotUnVubmluZzogdGVzdFNvdXJjZVVSTENvbW1lbnRJbkR5
bmFtaWNTY3JpcHQKLWZ1bmN0aW9uIGtlZXBBbGl2ZUluRHluYW1pY1NjcmlwdCgpIHt9Ci0vL0Ag
c291cmNlVVJMPWR5bmFtaWNTY3JpcHRVUkwuanMKLQotUnVubmluZzogdGVzdE5vblJlbGF0aXZl
VVJMCi1mdW5jdGlvbiByZWxhdGl2ZVVSTFNjcmlwdCgpIHt9Ci0vL0Agc291cmNlVVJMPS9qcy9u
b25SZWxhdGl2ZVVSTC5qcwotCi1SdW5uaW5nOiB0ZXN0SGFzaFN5bnRheAotZnVuY3Rpb24gaGFz
aFN5bnRheCgpIHt9Ci0vLyMgc291cmNlVVJMPWhhc2hTeW50YXguanMKLURlYnVnZ2VyIHdhcyBk
aXNhYmxlZC4KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL3Nv
dXJjZS11cmwtY29tbWVudC5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL3Nv
dXJjZS11cmwtY29tbWVudC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1MWRm
YzA2NDZjZTVmY2EzMDc2NGViZjFjMDRiZWQyMTcyNmZmZTE0Li4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dl
ci9zb3VyY2UtdXJsLWNvbW1lbnQuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDE0NyArMCwwIEBA
Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9y
L2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rl
c3RzL2luc3BlY3Rvci9kZWJ1Z2dlci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci1mdW5j
dGlvbiBrZWVwQWxpdmVJbklubGluZVNjcmlwdCgpIHsgfQotCi0vL0Agc291cmNlVVJMPWlubGlu
ZVNjcmlwdFVSTC5qcwotPC9zY3JpcHQ+Ci08c2NyaXB0PgotZnVuY3Rpb24gZG9FdmFsKCkKLXsK
LSAgICBldmFsKCJmdW5jdGlvbiBrZWVwQWxpdmUoKSB7fVxuLy9AIHNvdXJjZVVSTD1ldmFsVVJM
LmpzIik7Ci19Ci0KLWZ1bmN0aW9uIGRvRXZhbFdpdGhOb25SZWxhdGl2ZVVSTCgpCi17Ci0gICAg
ZXZhbCgiZnVuY3Rpb24gcmVsYXRpdmVVUkxTY3JpcHQoKSB7fVxuLy9AIHNvdXJjZVVSTD0vanMv
bm9uUmVsYXRpdmVVUkwuanMiKTsKLX0KLQotZnVuY3Rpb24gZG9FdmFsV2l0aEhhc2hTeW50YXgo
KQotewotICAgIGV2YWwoImZ1bmN0aW9uIGhhc2hTeW50YXgoKSB7fVxuLy8jIHNvdXJjZVVSTD1o
YXNoU3ludGF4LmpzIik7Ci19Ci0KLWZ1bmN0aW9uIGRvRHluYW1pY1NjcmlwdCgpCi17Ci0gICAg
dmFyIHNjcmlwdEVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTsKLSAg
ICBzY3JpcHRFbGVtZW50LnRleHRDb250ZW50ID0gImZ1bmN0aW9uIGtlZXBBbGl2ZUluRHluYW1p
Y1NjcmlwdCgpIHt9XG4vL0Agc291cmNlVVJMPWR5bmFtaWNTY3JpcHRVUkwuanMiOwotICAgIGRv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoc2NyaXB0RWxlbWVudCk7Ci19Ci0KLWZ1bmN0aW9uIHRl
c3QoKQotCi17Ci0gICAgZnVuY3Rpb24gZm9yRWFjaFNjcmlwdE1hdGNoaW5nVVJMKHVybCwgaGFu
ZGxlcikKLSAgICB7Ci0gICAgICAgIHZhciBzY3JpcHRzID0gV2ViSW5zcGVjdG9yLmRlYnVnZ2Vy
TW9kZWwuc2NyaXB0czsKLSAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBzY3JpcHRzLmxlbmd0
aDsgKytpKSB7Ci0gICAgICAgICAgICBpZiAoc2NyaXB0c1tpXS5zb3VyY2VVUkwuaW5kZXhPZih1
cmwpICE9PSAtMSkKLSAgICAgICAgICAgICAgICBoYW5kbGVyKHNjcmlwdHNbaV0pOwotICAgICAg
ICB9Ci0gICAgfQotCi0gICAgSW5zcGVjdG9yVGVzdC5ydW5EZWJ1Z2dlclRlc3RTdWl0ZShbCi0g
ICAgICAgIGZ1bmN0aW9uIHRlc3RTb3VyY2VVUkxDb21tZW50SW5JbmxpbmVTY3JpcHQobmV4dCkK
LSAgICAgICAgewotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5zaG93U2NyaXB0U291cmNlKCJz
b3VyY2UtdXJsLWNvbW1lbnQuaHRtbCIsIGRpZFNob3dTY3JpcHRTb3VyY2UpOwotCi0gICAgICAg
ICAgICBmdW5jdGlvbiBkaWRTaG93U2NyaXB0U291cmNlKHNvdXJjZUZyYW1lKQotICAgICAgICAg
ICAgewotICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGNoZWNrU2NyaXB0RG9lc05vdEhhdmVTb3Vy
Y2VVUkwoc2NyaXB0KQotICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgSW5z
cGVjdG9yVGVzdC5hc3NlcnRUcnVlKCFzY3JpcHQuaGFzU291cmNlVVJMLCAiaGFzU291cmNlVVJM
IGZsYWcgaXMgc2V0IGZvciBpbmxpbmUgc2NyaXB0Iik7Ci0gICAgICAgICAgICAgICAgfQotCi0g
ICAgICAgICAgICAgICAgdmFyIHBhbmVsID0gV2ViSW5zcGVjdG9yLnBhbmVsKCJzY3JpcHRzIik7
Ci0gICAgICAgICAgICAgICAgdmFyIHVpU291cmNlQ29kZXMgPSBwYW5lbC5fd29ya3NwYWNlLnVp
U291cmNlQ29kZXMoKTsKLSAgICAgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHVpU291
cmNlQ29kZXMubGVuZ3RoOyArK2kpCi0gICAgICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3Qu
YXNzZXJ0VHJ1ZSh1aVNvdXJjZUNvZGVzW2ldLm9yaWdpblVSTCgpLmluZGV4T2YoImlubGluZVNj
cmlwdFVSTC5qcyIpID09PSAtMSwgInNvdXJjZVVSTCBjb21tZW50IGluIGlubGluZSBzY3JpcHQg
d2FzIHVzZWQgYXMgYSBzY3JpcHQgbmFtZSIpOwotICAgICAgICAgICAgICAgIGZvckVhY2hTY3Jp
cHRNYXRjaGluZ1VSTCgic291cmNlLXVybC1jb21tZW50Lmh0bWwiLCBjaGVja1NjcmlwdERvZXNO
b3RIYXZlU291cmNlVVJMKQotICAgICAgICAgICAgICAgIG5leHQoKTsKLSAgICAgICAgICAgIH0K
LSAgICAgICAgfSwKLQotICAgICAgICBmdW5jdGlvbiB0ZXN0U291cmNlVVJMQ29tbWVudChuZXh0
KQotICAgICAgICB7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LnNob3dTY3JpcHRTb3VyY2Uo
ImV2YWxVUkwuanMiLCBkaWRTaG93U2NyaXB0U291cmNlKTsKLSAgICAgICAgICAgIEluc3BlY3Rv
clRlc3QuZXZhbHVhdGVJblBhZ2UoInNldFRpbWVvdXQoZG9FdmFsLCAwKSIpOwotCi0gICAgICAg
ICAgICBmdW5jdGlvbiBkaWRTaG93U2NyaXB0U291cmNlKHNvdXJjZUZyYW1lKQotICAgICAgICAg
ICAgewotICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGNoZWNrU2NyaXB0SGFzU291cmNlVVJMKHNj
cmlwdCkKLSAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgIEluc3BlY3RvclRl
c3QuYXNzZXJ0VHJ1ZShzY3JpcHQuaGFzU291cmNlVVJMLCAiaGFzU291cmNlVVJMIGZsYWcgaXMg
bm90IHNldCBmb3IgZXZhbCB3aXRoIHNvdXJjZVVSTCBjb21tZW50Iik7Ci0gICAgICAgICAgICAg
ICAgfQotCi0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoc291cmNlRnJh
bWUudGV4dEVkaXRvci50ZXh0KCkpOwotICAgICAgICAgICAgICAgIGZvckVhY2hTY3JpcHRNYXRj
aGluZ1VSTCgiZXZhbFVSTC5qcyIsIGNoZWNrU2NyaXB0SGFzU291cmNlVVJMKTsKLSAgICAgICAg
ICAgICAgICBuZXh0KCk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0sCi0KLSAgICAgICAgZnVu
Y3Rpb24gdGVzdFNvdXJjZVVSTENvbW1lbnRJbkR5bmFtaWNTY3JpcHQobmV4dCkKLSAgICAgICAg
ewotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5zaG93U2NyaXB0U291cmNlKCJkeW5hbWljU2Ny
aXB0VVJMLmpzIiwgZGlkU2hvd1NjcmlwdFNvdXJjZSk7Ci0gICAgICAgICAgICBJbnNwZWN0b3JU
ZXN0LmV2YWx1YXRlSW5QYWdlKCJzZXRUaW1lb3V0KGRvRHluYW1pY1NjcmlwdCwgMCkiKTsKLQot
ICAgICAgICAgICAgZnVuY3Rpb24gZGlkU2hvd1NjcmlwdFNvdXJjZShzb3VyY2VGcmFtZSkKLSAg
ICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBmdW5jdGlvbiBjaGVja1NjcmlwdEhhc1NvdXJj
ZVVSTChzY3JpcHQpCi0gICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICBJbnNw
ZWN0b3JUZXN0LmFzc2VydFRydWUoc2NyaXB0Lmhhc1NvdXJjZVVSTCwgImhhc1NvdXJjZVVSTCBm
bGFnIGlzIG5vdCBzZXQgZm9yIGR5bmFtaWMgc2NyaXB0IHdpdGggc291cmNlVVJMIGNvbW1lbnQi
KTsKLSAgICAgICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFk
ZFJlc3VsdChzb3VyY2VGcmFtZS50ZXh0RWRpdG9yLnRleHQoKSk7Ci0gICAgICAgICAgICAgICAg
Zm9yRWFjaFNjcmlwdE1hdGNoaW5nVVJMKCJkeW5hbWljU2NyaXB0VVJMLmpzIiwgY2hlY2tTY3Jp
cHRIYXNTb3VyY2VVUkwpOwotICAgICAgICAgICAgICAgIG5leHQoKTsKLSAgICAgICAgICAgIH0K
LSAgICAgICAgfSwKLQotICAgICAgICBmdW5jdGlvbiB0ZXN0Tm9uUmVsYXRpdmVVUkwobmV4dCkK
LSAgICAgICAgewotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5zaG93U2NyaXB0U291cmNlKCIv
anMvbm9uUmVsYXRpdmVVUkwuanMiLCBkaWRTaG93U2NyaXB0U291cmNlKTsKLSAgICAgICAgICAg
IEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoInNldFRpbWVvdXQoZG9FdmFsV2l0aE5vblJl
bGF0aXZlVVJMLCAwKSIpOwotCi0gICAgICAgICAgICBmdW5jdGlvbiBkaWRTaG93U2NyaXB0U291
cmNlKHNvdXJjZUZyYW1lKQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIGZ1bmN0aW9u
IGNoZWNrU2NyaXB0SGFzU291cmNlVVJMKHNjcmlwdCkKLSAgICAgICAgICAgICAgICB7Ci0gICAg
ICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0VHJ1ZShzY3JpcHQuaGFzU291cmNl
VVJMLCAiaGFzU291cmNlVVJMIGZsYWcgaXMgbm90IHNldCBmb3IgZXZhbCB3aXRoIGEgbm9uLXJl
bGF0aXZlIFVSTCBpbiBhIHNvdXJjZVVSTCBjb21tZW50Iik7Ci0gICAgICAgICAgICAgICAgfQot
Ci0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoc291cmNlRnJhbWUudGV4
dEVkaXRvci50ZXh0KCkpOwotICAgICAgICAgICAgICAgIGZvckVhY2hTY3JpcHRNYXRjaGluZ1VS
TCgibm9uUmVsYXRpdmVVUkwuanMiLCBjaGVja1NjcmlwdEhhc1NvdXJjZVVSTCk7Ci0gICAgICAg
ICAgICAgICAgbmV4dCgpOwotICAgICAgICAgICAgfQotICAgICAgICB9LAotCi0gICAgICAgIGZ1
bmN0aW9uIHRlc3RIYXNoU3ludGF4KG5leHQpCi0gICAgICAgIHsKLSAgICAgICAgICAgIEluc3Bl
Y3RvclRlc3Quc2hvd1NjcmlwdFNvdXJjZSgiaGFzaFN5bnRheC5qcyIsIGRpZFNob3dTY3JpcHRT
b3VyY2UpOwotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgic2V0VGlt
ZW91dChkb0V2YWxXaXRoSGFzaFN5bnRheCwgMCkiKTsKLQotICAgICAgICAgICAgZnVuY3Rpb24g
ZGlkU2hvd1NjcmlwdFNvdXJjZShzb3VyY2VGcmFtZSkKLSAgICAgICAgICAgIHsKLSAgICAgICAg
ICAgICAgICBmdW5jdGlvbiBjaGVja1NjcmlwdEhhc1NvdXJjZVVSTChzY3JpcHQpCi0gICAgICAg
ICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydFRydWUo
c2NyaXB0Lmhhc1NvdXJjZVVSTCwgImhhc1NvdXJjZVVSTCBmbGFnIGlzIG5vdCBzZXQgZm9yIGV2
YWwgd2l0aCBhIG5vbi1yZWxhdGl2ZSBVUkwgaW4gYSBzb3VyY2VVUkwgY29tbWVudCIpOwotICAg
ICAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0
KHNvdXJjZUZyYW1lLnRleHRFZGl0b3IudGV4dCgpKTsKLSAgICAgICAgICAgICAgICBmb3JFYWNo
U2NyaXB0TWF0Y2hpbmdVUkwoImhhc2hTeW50YXguanMiLCBjaGVja1NjcmlwdEhhc1NvdXJjZVVS
TCk7Ci0gICAgICAgICAgICAgICAgbmV4dCgpOwotICAgICAgICAgICAgfQotICAgICAgICB9Ci0g
ICAgXSk7Ci19OwotCi08L3NjcmlwdD4KLQotPC9oZWFkPgotCi08Ym9keSBvbmxvYWQ9InJ1blRl
c3QoKSI+Ci08cD5UZXN0cyB0aGF0IGV2YWxzIHdpdGggc291cmNlVVJMIGNvbW1lbnQgYXJlIHNo
b3duIGluIHNjcmlwdHMgcGFuZWwuPC9wPgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzL2RvbS1hZ2VudC1xdWVyeS1zZWxlY3Rvci1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMvZG9tLWFnZW50LXF1
ZXJ5LXNlbGVjdG9yLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
YjI0MGIwNjIyZWRjM2E3MzY0NzBlNjQyZTBmMWY1MDkyNjBhZWM0MS4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZWxl
bWVudHMvZG9tLWFnZW50LXF1ZXJ5LXNlbGVjdG9yLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxs
CkBAIC0xLDIzICswLDAgQEAKLVRlc3RzIERPTUFnZW50LnF1ZXJ5U2VsZWN0b3IgYW5kIERPTUFn
ZW50LnF1ZXJ5U2VsZWN0b3JBbGwuCi0KLQotUnVubmluZzogdGVzdERvY3VtZW50UXVlcnlTZWxl
Y3Rvcgotbm9kZSBpZDogaWQxCi0KLVJ1bm5pbmc6IHRlc3REb2N1bWVudFF1ZXJ5U2VsZWN0b3JB
bGwKLW5vZGUgaWQ6IGlkMQotbm9kZSBpZDogaWQyCi1ub2RlIGlkOiBpZDMKLW5vZGUgaWQ6IGlk
NAotbm9kZSBpZDogaWQ1Ci1ub2RlIGlkOiBpZDYKLQotUnVubmluZzogdGVzdFF1ZXJ5U2VsZWN0
b3IKLW5vZGUgaWQ6IGlkMwotCi1SdW5uaW5nOiB0ZXN0UXVlcnlTZWxlY3RvckFsbAotbm9kZSBp
ZDogaWQzCi1ub2RlIGlkOiBpZDQKLW5vZGUgaWQ6IGlkNQotbm9kZSBpZDogaWQ2Ci0KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9lbGVtZW50cy9kb20tYWdlbnQtcXVlcnktc2Vs
ZWN0b3IuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9lbGVtZW50cy9kb20tYWdlbnQtcXVl
cnktc2VsZWN0b3IuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDRiMjZjMGRi
OGVhNTg2NjQ4ZGM2ZWJlM2Q1MGQ5ODEwY2M4ZDg0Yi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMvZG9t
LWFnZW50LXF1ZXJ5LXNlbGVjdG9yLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw4MSArMCwwIEBA
Ci08aHRtbD4KLTxoZWFkPgotCi08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0
b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAv
dGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLQot
ZnVuY3Rpb24gdGVzdCgpCi17Ci0gICAgSW5zcGVjdG9yVGVzdC5zZWxlY3ROb2RlV2l0aElkKCJj
b250YWluZXIiLCBzdGVwMSk7Ci0KLSAgICBmdW5jdGlvbiBzdGVwMShub2RlKQotICAgIHsKLSAg
ICAgICAgdmFyIGNvbnRhaW5lcklkID0gbm9kZS5pZDsKLSAgICAgICAgdmFyIGRvY3VtZW50SWQg
PSBub2RlLm93bmVyRG9jdW1lbnQuaWQ7Ci0KLSAgICAgICAgSW5zcGVjdG9yVGVzdC5ydW5UZXN0
U3VpdGUoWwotICAgICAgICAgICAgZnVuY3Rpb24gdGVzdERvY3VtZW50UXVlcnlTZWxlY3Rvcihu
ZXh0KQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIERPTUFnZW50LnF1ZXJ5U2VsZWN0
b3IoZG9jdW1lbnRJZCwgImRpdi5mb28iLCBkdW1wTm9kZXMuYmluZChudWxsLCBuZXh0KSk7Ci0g
ICAgICAgICAgICB9LAotCi0gICAgICAgICAgICBmdW5jdGlvbiB0ZXN0RG9jdW1lbnRRdWVyeVNl
bGVjdG9yQWxsKG5leHQpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgRE9NQWdlbnQu
cXVlcnlTZWxlY3RvckFsbChkb2N1bWVudElkLCAiZGl2LmZvbyIsIGR1bXBOb2Rlcy5iaW5kKG51
bGwsIG5leHQpKTsKLSAgICAgICAgICAgIH0sCi0KLSAgICAgICAgICAgIGZ1bmN0aW9uIHRlc3RR
dWVyeVNlbGVjdG9yKG5leHQpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgRE9NQWdl
bnQucXVlcnlTZWxlY3Rvcihjb250YWluZXJJZCwgImRpdi5mb28iLCBkdW1wTm9kZXMuYmluZChu
dWxsLCBuZXh0KSk7Ci0gICAgICAgICAgICB9LAotCi0gICAgICAgICAgICBmdW5jdGlvbiB0ZXN0
UXVlcnlTZWxlY3RvckFsbChuZXh0KQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIERP
TUFnZW50LnF1ZXJ5U2VsZWN0b3JBbGwoY29udGFpbmVySWQsICJkaXYuZm9vIiwgZHVtcE5vZGVz
LmJpbmQobnVsbCwgbmV4dCkpOwotICAgICAgICAgICAgfQotICAgICAgICBdKTsKLSAgICB9Ci0K
LSAgICBmdW5jdGlvbiBkdW1wTm9kZXMobmV4dCwgZXJyb3IsIG5vZGVJZHMpCi0gICAgewotICAg
ICAgICBpZiAoZXJyb3IpIHsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KGVy
cm9yKTsKLSAgICAgICAgICAgIG5leHQoKTsKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAg
fQotCi0gICAgICAgIGlmICghKG5vZGVJZHMgaW5zdGFuY2VvZiBBcnJheSkpCi0gICAgICAgICAg
ICBub2RlSWRzID0gW25vZGVJZHNdOwotCi0gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbm9k
ZUlkcy5sZW5ndGg7ICsraSkgewotICAgICAgICAgICAgaWYgKCFub2RlSWRzW2ldKQotICAgICAg
ICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJubyByZXN1bHRzIik7Ci0gICAgICAg
ICAgICBlbHNlIHsKLSAgICAgICAgICAgICAgICB2YXIgbm9kZSA9IFdlYkluc3BlY3Rvci5kb21B
Z2VudC5ub2RlRm9ySWQobm9kZUlkc1tpXSk7Ci0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVz
dC5hZGRSZXN1bHQoIm5vZGUgaWQ6ICIgKyBub2RlLmdldEF0dHJpYnV0ZSgiaWQiKSk7Ci0gICAg
ICAgICAgICB9Ci0gICAgICAgIH0KLSAgICAgICAgbmV4dCgpOwotICAgIH0KLX0KLTwvc2NyaXB0
PgotPC9oZWFkPgotCi08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci08cD4KLVRlc3RzIERPTUFn
ZW50LnF1ZXJ5U2VsZWN0b3IgYW5kIERPTUFnZW50LnF1ZXJ5U2VsZWN0b3JBbGwuCi08L3A+Ci0K
LTxkaXYgaWQ9ImlkMSIgY2xhc3M9ImZvbyI+PC9kaXY+Ci08ZGl2IGlkPSJpZDIiIGNsYXNzPSJm
b28iPjwvZGl2PgotCi08ZGl2IGlkPSJjb250YWluZXIiPgotICAgIDxkaXYgaWQ9ImlkMyIgY2xh
c3M9ImZvbyI+PC9kaXY+Ci0gICAgPGRpdiBpZD0iaWQ0IiBjbGFzcz0iZm9vIj48L2Rpdj4KLSAg
ICA8ZGl2IGlkPSJpZDUiIGNsYXNzPSJmb28iPjwvZGl2PgotICAgIDxkaXYgaWQ9ImlkNiIgY2xh
c3M9ImZvbyI+PC9kaXY+Ci08L2Rpdj4KLQotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzL2RvbS1zZWFyY2gtY3Jhc2gtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzL2RvbS1zZWFyY2gtY3Jhc2gtZXhw
ZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2ZDg5OThhMmE1MzQ0MzE0
N2U3NDYyMDZjMzkzMTBmNDQzMTZmZTdlLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9lbGVtZW50cy9kb20tc2VhcmNo
LWNyYXNoLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDggKzAsMCBAQAotVGVzdHMg
dGhhdCBlbGVtZW50cyBwYW5lbCBzZWFyY2ggaXMgbm90IGNyYXNoaW5nIG9uIGRvY3VtZW50RWxl
bWVudC1sZXNzIGNhc2VzLgotCi0KLQotUnVubmluZzogdGVzdFNldFVwCi0KLVJ1bm5pbmc6IHRl
c3ROb0NyYXNoCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9lbGVtZW50cy9k
b20tc2VhcmNoLWNyYXNoLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMvZG9t
LXNlYXJjaC1jcmFzaC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwNjg0MWJh
NTI5Y2FjMDZlMDI2MzUzMmY0ZTVkMmE2NDczN2Y3YzUxLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9lbGVtZW50cy9k
b20tc2VhcmNoLWNyYXNoLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwyOSArMCwwIEBACi08aHRt
bD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3Bl
Y3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci1mdW5jdGlvbiB0ZXN0KCkKLXsKLSAg
ICBJbnNwZWN0b3JUZXN0LnJ1blRlc3RTdWl0ZShbCi0gICAgICAgIGZ1bmN0aW9uIHRlc3RTZXRV
cChuZXh0KQotICAgICAgICB7Ci0gICAgICAgICAgICBXZWJJbnNwZWN0b3Iuc2hvd1BhbmVsKCJl
bGVtZW50cyIpOwotICAgICAgICAgICAgV2ViSW5zcGVjdG9yLmRvbUFnZW50LnJlcXVlc3REb2N1
bWVudChuZXh0KTsKLSAgICAgICAgfSwKLQotICAgICAgICBmdW5jdGlvbiB0ZXN0Tm9DcmFzaChu
ZXh0KQotICAgICAgICB7Ci0gICAgICAgICAgICBXZWJJbnNwZWN0b3IuZG9tQWdlbnQucGVyZm9y
bVNlYXJjaCgiRm9vQmFyIiwgbmV4dCk7Ci0gICAgICAgIH0KLSAgICBdKTsKLX0KLTwvc2NyaXB0
PgotPC9oZWFkPgotCi08Ym9keT4KLTxwPgotVGVzdHMgdGhhdCBlbGVtZW50cyBwYW5lbCBzZWFy
Y2ggaXMgbm90IGNyYXNoaW5nIG9uIGRvY3VtZW50RWxlbWVudC1sZXNzIGNhc2VzLgotPC9wPgot
PGlmcmFtZSBzcmM9InJlc291cmNlcy9kb20tc2VhcmNoLWNyYXNoLWlmcmFtZS5odG1sIiBvbmxv
YWQ9InJ1blRlc3QoKSI+PC9pZnJhbWU+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMvZWRpdC1zdHlsZS1hdHRyaWJ1dGUtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzL2VkaXQtc3R5bGUtYXR0cmli
dXRlLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTY1MjM4NGMy
NzU1N2U3ODk0ZDM0NGQyNTNmNWRkMDg1YWU1ZjA3NS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMvZWRp
dC1zdHlsZS1hdHRyaWJ1dGUtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTEgKzAs
MCBAQAotVGVzdHMgdGhhdCBzdHlsZSBtb2RpZmljYXRpb24gZ2VuZXJhdGVzIGF0dHJpYnV0ZSB1
cGRhdGVkIGV2ZW50IG9ubHkgd2hlbiBhdHRyaWJ1dGUgaXMgYWN0dWFsbHkgY2hhbmdlZC4KLQot
Ci1SdW5uaW5nOiB0ZXN0U2V0VXAKLQotUnVubmluZzogdGVzdFNldE5ld1ZhbHVlCi1XZWJJbnNw
ZWN0b3IuRE9NQWdlbnQuRXZlbnRzLkF0dHJNb2RpZmllZCBzaG91bGQgYmUgaXNzdWVkCi0KLVJ1
bm5pbmc6IHRlc3RTZXRTYW1lVmFsdWUKLVdlYkluc3BlY3Rvci5ET01Ob2RlLnByb3RvdHlwZS5f
c2V0QXR0cmlidXRlc1BheWxvYWQgc2hvdWxkIGJlIGNhbGxlZAotCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMvZWRpdC1zdHlsZS1hdHRyaWJ1dGUuaHRtbCBiL0xh
eW91dFRlc3RzL2luc3BlY3Rvci9lbGVtZW50cy9lZGl0LXN0eWxlLWF0dHJpYnV0ZS5odG1sCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2N2Y3Y2EzNDdjNjUzMDhlNjA5ZGQ3ZmUxODJl
ODNhZTk1MWQ1YjFjLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9lbGVtZW50cy9lZGl0LXN0eWxlLWF0dHJpYnV0ZS5o
dG1sCisrKyAvZGV2L251bGwKQEAgLTEsNzggKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3Jp
cHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMt
dGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotCi1mdW5jdGlvbiB0ZXN0U2V0TmV3VmFsdWUo
KQotewotICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJub2RlLXNldC1uZXctdmFsdWUiKS5z
dHlsZS5zZXRQcm9wZXJ0eSgiY29sb3IiLCAiYmx1ZSIpOwotfQotCi1mdW5jdGlvbiB0ZXN0U2V0
U2FtZVZhbHVlKCkKLXsKLSAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibm9kZS1zZXQtc2Ft
ZS12YWx1ZSIpLnN0eWxlLnNldFByb3BlcnR5KCJjb2xvciIsICJyZWQiKTsKLX0KLQotZnVuY3Rp
b24gdGVzdCgpCi17Ci0gICAgLy8gU2F2ZSB0aW1lIG9uIHN0eWxlIHVwZGF0ZXMuCi0gICAgV2Vi
SW5zcGVjdG9yLnNob3dQYW5lbCgiZWxlbWVudHMiKTsKLSAgICBXZWJJbnNwZWN0b3IuU3R5bGVz
U2lkZWJhclBhbmUucHJvdG90eXBlLnVwZGF0ZSA9IGZ1bmN0aW9uKCkge307Ci0gICAgV2ViSW5z
cGVjdG9yLk1ldHJpY3NTaWRlYmFyUGFuZS5wcm90b3R5cGUudXBkYXRlID0gZnVuY3Rpb24oKSB7
fTsKLQotICAgIEluc3BlY3RvclRlc3QucnVuVGVzdFN1aXRlKFsKLSAgICAgICAgZnVuY3Rpb24g
dGVzdFNldFVwKG5leHQpCi0gICAgICAgIHsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhw
YW5kRWxlbWVudHNUcmVlKG5leHQpOwotICAgICAgICB9LAotCi0gICAgICAgIGZ1bmN0aW9uIHRl
c3RTZXROZXdWYWx1ZShuZXh0KQotICAgICAgICB7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0
LmV2YWx1YXRlSW5QYWdlKCJ0ZXN0U2V0TmV3VmFsdWUoKSIpOwotCi0gICAgICAgICAgICBXZWJJ
bnNwZWN0b3IuZG9tQWdlbnQuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuRE9NQWdlbnQu
RXZlbnRzLkF0dHJNb2RpZmllZCwgbGlzdGVuZXIpOwotICAgICAgICAgICAgZnVuY3Rpb24gbGlz
dGVuZXIoZXZlbnQpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVz
dC5hZGRSZXN1bHQoIldlYkluc3BlY3Rvci5ET01BZ2VudC5FdmVudHMuQXR0ck1vZGlmaWVkIHNo
b3VsZCBiZSBpc3N1ZWQiKTsKLSAgICAgICAgICAgICAgICBXZWJJbnNwZWN0b3IuZG9tQWdlbnQu
cmVtb3ZlRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuRE9NQWdlbnQuRXZlbnRzLkF0dHJNb2Rp
ZmllZCwgbGlzdGVuZXIpOwotICAgICAgICAgICAgICAgIG5leHQoKTsKLSAgICAgICAgICAgIH0K
LSAgICAgICAgfSwKLQotICAgICAgICBmdW5jdGlvbiB0ZXN0U2V0U2FtZVZhbHVlKG5leHQpCi0g
ICAgICAgIHsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoInRlc3RT
ZXRTYW1lVmFsdWUoKSIpOwotCi0gICAgICAgICAgICBXZWJJbnNwZWN0b3IuZG9tQWdlbnQuYWRk
RXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuRE9NQWdlbnQuRXZlbnRzLkF0dHJNb2RpZmllZCwg
bGlzdGVuZXIpOwotICAgICAgICAgICAgZnVuY3Rpb24gbGlzdGVuZXIoZXZlbnQpCi0gICAgICAg
ICAgICB7Ci0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIldlYkluc3Bl
Y3Rvci5ET01BZ2VudC5FdmVudHMuQXR0ck1vZGlmaWVkIHNob3VsZCBub3QgYmUgaXNzdWVkIik7
Ci0gICAgICAgICAgICAgICAgV2ViSW5zcGVjdG9yLmRvbUFnZW50LnJlbW92ZUV2ZW50TGlzdGVu
ZXIoV2ViSW5zcGVjdG9yLkRPTUFnZW50LkV2ZW50cy5BdHRyTW9kaWZpZWQsIGxpc3RlbmVyKTsK
LSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRTbmlmZmVyKFdl
Ykluc3BlY3Rvci5ET01Ob2RlLnByb3RvdHlwZSwgIl9zZXRBdHRyaWJ1dGVzUGF5bG9hZCIsIGNh
bGxiYWNrKTsKLSAgICAgICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrKCkKLSAgICAgICAgICAgIHsK
LSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiV2ViSW5zcGVjdG9yLkRP
TU5vZGUucHJvdG90eXBlLl9zZXRBdHRyaWJ1dGVzUGF5bG9hZCBzaG91bGQgYmUgY2FsbGVkIik7
Ci0gICAgICAgICAgICAgICAgV2ViSW5zcGVjdG9yLmRvbUFnZW50LnJlbW92ZUV2ZW50TGlzdGVu
ZXIoV2ViSW5zcGVjdG9yLkRPTUFnZW50LkV2ZW50cy5BdHRyTW9kaWZpZWQsIGxpc3RlbmVyKTsK
LSAgICAgICAgICAgICAgICBuZXh0KCk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICBd
KTsKLX0KLQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci0KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4K
LTxwPgotVGVzdHMgdGhhdCBzdHlsZSBtb2RpZmljYXRpb24gZ2VuZXJhdGVzIGF0dHJpYnV0ZSB1
cGRhdGVkIGV2ZW50IG9ubHkgd2hlbiBhdHRyaWJ1dGUgaXMgYWN0dWFsbHkgY2hhbmdlZC4KLTwv
cD4KLQotPGRpdiBpZD0iY29udGFpbmVyIj4KLSAgICA8ZGl2IGlkPSJub2RlLXNldC1uZXctdmFs
dWUiIHN0eWxlPSJjb2xvcjpyZWQiPjwvZGl2PgotICAgIDxkaXYgaWQ9Im5vZGUtc2V0LXNhbWUt
dmFsdWUiIHN0eWxlPSJjb2xvcjpyZWQiPjwvZGl2PgotPC9kaXY+Ci08L2JvZHk+Ci08L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMvZWxlbWVudHMtcGFu
ZWwtcmVsb2FkLWFzc2VydC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZWxl
bWVudHMvZWxlbWVudHMtcGFuZWwtcmVsb2FkLWFzc2VydC1leHBlY3RlZC50eHQKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDk0MzA2MDQ1YjI3NTVjYzNmNGFiNGIzMGZkNDc5MTg5MmRi
MDBkM2QuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzL2VsZW1lbnRzLXBhbmVsLXJlbG9hZC1hc3NlcnQt
ZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNSArMCwwIEBACi1UZXN0cyB0aGF0IHRo
ZSBpbnNwZWN0ZWQgcGFnZSBkb2VzIG5vdCBjcmFzaCBpbiBhIGRlYnVnIGJ1aWxkIHdoZW4gcmVs
b2FkaW5nIGEgcGFnZSBjb250YWluaW5nIHNoYWRvdyBET00gd2l0aCBvcGVuIGluc3BlY3Rvci4g
QnVnIDg0MTU0LgotCi0KLVBhZ2UgcmVsb2FkZWQuCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2luc3BlY3Rvci9lbGVtZW50cy9lbGVtZW50cy1wYW5lbC1yZWxvYWQtYXNzZXJ0Lmh0bWwgYi9M
YXlvdXRUZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMvZWxlbWVudHMtcGFuZWwtcmVsb2FkLWFzc2Vy
dC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhNTc0ZjBlOTJkMWQyYjU0NWY0
MjhjOGEwNjEzMzQwZDg1OWE4ZDI2Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9lbGVtZW50cy9lbGVtZW50cy1wYW5l
bC1yZWxvYWQtYXNzZXJ0Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwzNCArMCwwIEBACi08IURP
Q1RZUEUgSFRNTCBQVUJMSUMgIi0vL1czQy8vRFREIEhUTUwgNC4wMSBUcmFuc2l0aW9uYWwvL0VO
IiAiaHR0cDovL3d3dy53My5vcmcvVFIvaHRtbDQvbG9vc2UuZHRkIj4KLTxodG1sPgotPGhlYWQ+
Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3Qu
anMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2Vs
ZW1lbnRzLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLQotZnVuY3Rpb24gdGVzdCgpCi17
Ci0gICAgSW5zcGVjdG9yVGVzdC5leHBhbmRFbGVtZW50c1RyZWUoc3RlcDEpOwotCi0gICAgZnVu
Y3Rpb24gc3RlcDEoKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5yZWxvYWRQYWdlKHN0
ZXAyKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwMigpCi0gICAgewotICAgICAgICBJbnNw
ZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwotICAgIH0KLX0KLQotPC9zY3JpcHQ+Ci08L2hlYWQ+
Ci0KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxwPgotVGVzdHMgdGhhdCB0aGUgaW5zcGVj
dGVkIHBhZ2UgZG9lcyBub3QgY3Jhc2ggaW4gYSBkZWJ1ZyBidWlsZCB3aGVuIHJlbG9hZGluZyBh
IHBhZ2UgY29udGFpbmluZyBzaGFkb3cgRE9NIHdpdGggb3BlbiBpbnNwZWN0b3IuIDxhIGhyZWY9
Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NDE1NCI+QnVnIDg0MTU0
PC9hPi4KLTwvcD4KLQotPGlucHV0IHR5cGU9InJhZGlvIj4KLQotPC9ib2R5PgotPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzL2VsZW1lbnRzLXBhbmVs
LXNlYXJjaC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMvZWxl
bWVudHMtcGFuZWwtc2VhcmNoLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMTk0OWIxNzJmMWJiZDkxNzU1ZmRiMGVhNjc2NTcxZjZkMWY0MTMxMS4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0
b3IvZWxlbWVudHMvZWxlbWVudHMtcGFuZWwtc2VhcmNoLWV4cGVjdGVkLnR4dAorKysgL2Rldi9u
dWxsCkBAIC0xLDUwICswLDAgQEAKLVRlc3RzIHRoYXQgZWxlbWVudHMgcGFuZWwgc2VhcmNoIGlz
IHJldHVybmluZyBwcm9wZXIgcmVzdWx0cy4KLQotRm9vQmFyCi0KLUZvdW5kIGJ5IHNlbGVjdG9y
Ci0KLVJ1bm5pbmc6IHRlc3RTZXRVcAotCi1SdW5uaW5nOiB0ZXN0UGxhaW5UZXh0Ci1GIG8gbyBC
IGEgcgotCi1SdW5uaW5nOiB0ZXN0UGFydGlhbFRleHQKLUYgbyBvIEIgYSByCi0KLVJ1bm5pbmc6
IHRlc3RTdGFydFRhZwotPCBpIG4gcCB1IHQgICB2IGEgbCB1IGUgPSAiIEkgbiBwIHUgdCBWIGEg
bCAiID4KLQotUnVubmluZzogdGVzdEVuZFRhZwotPCBpIG4gcCB1IHQgICB2IGEgbCB1IGUgPSAi
IEkgbiBwIHUgdCBWIGEgbCAiID4KLQotUnVubmluZzogdGVzdFBhcnRpYWxUYWcKLTwgaSBuIHAg
dSB0ICAgdiBhIGwgdSBlID0gIiBJIG4gcCB1IHQgViBhIGwgIiA+Ci0KLVJ1bm5pbmc6IHRlc3RQ
YXJ0aWFsQWJzZW50VGFnU3RhcnQKLU5vdGhpbmcgZm91bmQKLQotUnVubmluZzogdGVzdFBhcnRp
YWxBYnNlbnRUYWdFbmQKLU5vdGhpbmcgZm91bmQKLQotUnVubmluZzogdGVzdEZ1bGxUYWcKLTwg
aSBuIHAgdSB0ICAgdiBhIGwgdSBlID0gIiBJIG4gcCB1IHQgViBhIGwgIiA+Ci0KLVJ1bm5pbmc6
IHRlc3RFeGFjdEF0dHJpYnV0ZU5hbWUKLTwgaSBuIHAgdSB0ICAgdiBhIGwgdSBlID0gIiBJIG4g
cCB1IHQgViBhIGwgIiA+Ci0KLVJ1bm5pbmc6IHRlc3RFeGFjdEF0dHJpYnV0ZVZhbF91ZQotPCBp
IG4gcCB1IHQgICB2IGEgbCB1IGUgPSAiIEkgbiBwIHUgdCBWIGEgbCAiID4KLQotUnVubmluZzog
dGVzdEV4YWN0QXR0cmlidXRlVmFsX3VlV2l0aFF1b3RlcwotPCBkIGkgdiAgIGEgdCB0IHIgPSAi
IGYgbyBvICIgPiA8IC8gZCBpIHYgPgotCi1SdW5uaW5nOiB0ZXN0UGFydGlhbEF0dHJpYnV0ZVZh
bF91ZQotPCBpIG4gcCB1IHQgICB2IGEgbCB1IGUgPSAiIEkgbiBwIHUgdCBWIGEgbCAiID4KLQot
UnVubmluZzogdGVzdFhQYXRoQXR0cmlidXRlCi08IGQgaSB2ICAgYSB0IHQgciA9ICIgZiBvIG8g
IiA+IDwgLyBkIGkgdiA+Ci0KLVJ1bm5pbmc6IHRlc3RTZWxlY3RvcgotPCBzIHAgYSBuID4gRiBv
IHUgbiBkICAgYiB5ICAgcyBlIGwgZSBjIHQgbyByIDwgLyBzIHAgYSBuID4KLQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzL2VsZW1lbnRzLXBhbmVsLXNlYXJjaC5o
dG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzL2VsZW1lbnRzLXBhbmVsLXNlYXJj
aC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxZThmNzk1ZjUwYjAyODcxMDdi
MTUyNmEwMGFlMGJjNmQwZTA3MGVjLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9lbGVtZW50cy9lbGVtZW50cy1wYW5l
bC1zZWFyY2guaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDEzMCArMCwwIEBACi08IURPQ1RZUEUg
SFRNTCBQVUJMSUMgIi0vL1czQy8vRFREIEhUTUwgNC4wMSBUcmFuc2l0aW9uYWwvL0VOIiAiaHR0
cDovL3d3dy53My5vcmcvVFIvaHRtbDQvbG9vc2UuZHRkIj4KLTxodG1sPgotPGhlYWQ+Ci08c2Ny
aXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwv
c2NyaXB0PgotPHNjcmlwdD4KLWZ1bmN0aW9uIHRlc3QoKQotewotICAgIFdlYkluc3BlY3Rvci5z
aG93UGFuZWwoImVsZW1lbnRzIik7Ci0KLSAgICBmdW5jdGlvbiBzZWFyY2hDYWxsYmFjayhuZXh0
LCByZXN1bHRDb3VudCkKLSAgICB7Ci0gICAgICAgIGlmIChyZXN1bHRDb3VudCA9PSAwKSB7Ci0g
ICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiTm90aGluZyBmb3VuZCIpOwotICAg
ICAgICAgICAgV2ViSW5zcGVjdG9yLmRvbUFnZW50LmNhbmNlbFNlYXJjaCgpOwotICAgICAgICAg
ICAgbmV4dCgpOwotICAgICAgICB9Ci0KLSAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCByZXN1
bHRDb3VudDsgKytpKQotICAgICAgICAgICAgV2ViSW5zcGVjdG9yLmRvbUFnZW50LnNlYXJjaFJl
c3VsdChpLCBzZWFyY2hSZXN1bHRDYWxsYmFjay5iaW5kKHRoaXMsIGkgKyAxID09PSByZXN1bHRD
b3VudCkpOwotCi0gICAgICAgIGZ1bmN0aW9uIHNlYXJjaFJlc3VsdENhbGxiYWNrKGlzTGFzdEl0
ZW0sIG5vZGUpCi0gICAgICAgIHsKLSAgICAgICAgICAgIG5vZGUuZ2V0T3V0ZXJIVE1MKGFkZFNl
YXJjaFJlc3VsdC5iaW5kKHRoaXMsIGlzTGFzdEl0ZW0pKTsKLSAgICAgICAgfQotCi0gICAgICAg
IGZ1bmN0aW9uIGFkZFNlYXJjaFJlc3VsdChpc0xhc3RJdGVtLCBlcnJvciwgbWFya3VwVmFfbHVl
KQotICAgICAgICB7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdChtYXJrdXBW
YV9sdWUuc3BsaXQoIiIpLmpvaW4oIiAiKSk7Ci0gICAgICAgICAgICBpZiAoaXNMYXN0SXRlbSkg
ewotICAgICAgICAgICAgICAgIFdlYkluc3BlY3Rvci5kb21BZ2VudC5jYW5jZWxTZWFyY2goKTsK
LSAgICAgICAgICAgICAgICBuZXh0KCk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICB9
Ci0KLSAgICBJbnNwZWN0b3JUZXN0LnJ1blRlc3RTdWl0ZShbCi0gICAgICAgIGZ1bmN0aW9uIHRl
c3RTZXRVcChuZXh0KQotICAgICAgICB7Ci0gICAgICAgICAgICBXZWJJbnNwZWN0b3IuZG9tQWdl
bnQucmVxdWVzdERvY3VtZW50KG5leHQpOwotICAgICAgICB9LAotCi0gICAgICAgIGZ1bmN0aW9u
IHRlc3RQbGFpblRleHQobmV4dCkKLSAgICAgICAgewotICAgICAgICAgICAgV2ViSW5zcGVjdG9y
LmRvbUFnZW50LnBlcmZvcm1TZWFyY2goIkZvIiArICJvIiArICJCYXIiLCBzZWFyY2hDYWxsYmFj
ay5iaW5kKHRoaXMsIG5leHQpKTsKLSAgICAgICAgfSwKLQotICAgICAgICBmdW5jdGlvbiB0ZXN0
UGFydGlhbFRleHQobmV4dCkKLSAgICAgICAgewotICAgICAgICAgICAgV2ViSW5zcGVjdG9yLmRv
bUFnZW50LnBlcmZvcm1TZWFyY2goIm9vIiArICJCYSIsIHNlYXJjaENhbGxiYWNrLmJpbmQodGhp
cywgbmV4dCkpOwotICAgICAgICB9LAotCi0gICAgICAgIGZ1bmN0aW9uIHRlc3RTdGFydFRhZyhu
ZXh0KQotICAgICAgICB7Ci0gICAgICAgICAgICBXZWJJbnNwZWN0b3IuZG9tQWdlbnQucGVyZm9y
bVNlYXJjaCgiPGlucHUiICsgInQiLCBzZWFyY2hDYWxsYmFjay5iaW5kKHRoaXMsIG5leHQpKTsK
LSAgICAgICAgfSwKLQotICAgICAgICBmdW5jdGlvbiB0ZXN0RW5kVGFnKG5leHQpCi0gICAgICAg
IHsKLSAgICAgICAgICAgIFdlYkluc3BlY3Rvci5kb21BZ2VudC5wZXJmb3JtU2VhcmNoKCJucHUi
ICsgInQ+Iiwgc2VhcmNoQ2FsbGJhY2suYmluZCh0aGlzLCBuZXh0KSk7Ci0gICAgICAgIH0sCi0K
LSAgICAgICAgZnVuY3Rpb24gdGVzdFBhcnRpYWxUYWcobmV4dCkKLSAgICAgICAgewotICAgICAg
ICAgICAgV2ViSW5zcGVjdG9yLmRvbUFnZW50LnBlcmZvcm1TZWFyY2goIm5wdSIgKyAidCIsIHNl
YXJjaENhbGxiYWNrLmJpbmQodGhpcywgbmV4dCkpOwotICAgICAgICB9LAotCi0gICAgICAgIGZ1
bmN0aW9uIHRlc3RQYXJ0aWFsQWJzZW50VGFnU3RhcnQobmV4dCkKLSAgICAgICAgewotICAgICAg
ICAgICAgV2ViSW5zcGVjdG9yLmRvbUFnZW50LnBlcmZvcm1TZWFyY2goIjxucHUiICsgInQiLCBz
ZWFyY2hDYWxsYmFjay5iaW5kKHRoaXMsIG5leHQpKTsKLSAgICAgICAgfSwKLQotICAgICAgICBm
dW5jdGlvbiB0ZXN0UGFydGlhbEFic2VudFRhZ0VuZChuZXh0KQotICAgICAgICB7Ci0gICAgICAg
ICAgICBXZWJJbnNwZWN0b3IuZG9tQWdlbnQucGVyZm9ybVNlYXJjaCgibnB1IiArICI+Iiwgc2Vh
cmNoQ2FsbGJhY2suYmluZCh0aGlzLCBuZXh0KSk7Ci0gICAgICAgIH0sCi0KLSAgICAgICAgZnVu
Y3Rpb24gdGVzdEZ1bGxUYWcobmV4dCkKLSAgICAgICAgewotICAgICAgICAgICAgV2ViSW5zcGVj
dG9yLmRvbUFnZW50LnBlcmZvcm1TZWFyY2goIjxpbnB1IiArICJ0PiIsIHNlYXJjaENhbGxiYWNr
LmJpbmQodGhpcywgbmV4dCkpOwotICAgICAgICB9LAotCi0gICAgICAgIGZ1bmN0aW9uIHRlc3RF
eGFjdEF0dHJpYnV0ZU5hbWUobmV4dCkKLSAgICAgICAgewotICAgICAgICAgICAgV2ViSW5zcGVj
dG9yLmRvbUFnZW50LnBlcmZvcm1TZWFyY2goInZhbHUiICsgImUiLCBzZWFyY2hDYWxsYmFjay5i
aW5kKHRoaXMsIG5leHQpKTsKLSAgICAgICAgfSwKLQotICAgICAgICBmdW5jdGlvbiB0ZXN0RXhh
Y3RBdHRyaWJ1dGVWYWxfdWUobmV4dCkKLSAgICAgICAgewotICAgICAgICAgICAgV2ViSW5zcGVj
dG9yLmRvbUFnZW50LnBlcmZvcm1TZWFyY2goIkluIiArICJwdXRWYSIgKyAibCIsIHNlYXJjaENh
bGxiYWNrLmJpbmQodGhpcywgbmV4dCkpOwotICAgICAgICB9LAotCi0gICAgICAgIGZ1bmN0aW9u
IHRlc3RFeGFjdEF0dHJpYnV0ZVZhbF91ZVdpdGhRdW90ZXMobmV4dCkKLSAgICAgICAgewotICAg
ICAgICAgICAgV2ViSW5zcGVjdG9yLmRvbUFnZW50LnBlcmZvcm1TZWFyY2goIlwiZm8iICsgIm9c
IiIsIHNlYXJjaENhbGxiYWNrLmJpbmQodGhpcywgbmV4dCkpOwotICAgICAgICB9LAotCi0gICAg
ICAgIGZ1bmN0aW9uIHRlc3RQYXJ0aWFsQXR0cmlidXRlVmFsX3VlKG5leHQpCi0gICAgICAgIHsK
LSAgICAgICAgICAgIFdlYkluc3BlY3Rvci5kb21BZ2VudC5wZXJmb3JtU2VhcmNoKCJuIiArICJw
dXRWYSIgKyAibCIsIHNlYXJjaENhbGxiYWNrLmJpbmQodGhpcywgbmV4dCkpOwotICAgICAgICB9
LAotCi0gICAgICAgIGZ1bmN0aW9uIHRlc3RYUGF0aEF0dHJpYnV0ZShuZXh0KQotICAgICAgICB7
Ci0gICAgICAgICAgICBXZWJJbnNwZWN0b3IuZG9tQWdlbnQucGVyZm9ybVNlYXJjaCgiLy9odG1s
IiArICIvL0BhdHRyIiwgc2VhcmNoQ2FsbGJhY2suYmluZCh0aGlzLCBuZXh0KSk7Ci0gICAgICAg
IH0sCi0KLSAgICAgICAgZnVuY3Rpb24gdGVzdFNlbGVjdG9yKG5leHQpCi0gICAgICAgIHsKLSAg
ICAgICAgICAgIFdlYkluc3BlY3Rvci5kb21BZ2VudC5wZXJmb3JtU2VhcmNoKCJkIiArICJpdi5k
aXZjbGFzcyBzcGFuIiwgc2VhcmNoQ2FsbGJhY2suYmluZCh0aGlzLCBuZXh0KSk7Ci0gICAgICAg
IH0KLSAgICBdKTsKLQotfQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci0KLTxib2R5IG9ubG9hZD0icnVu
VGVzdCgpIj4KLTxwPgotVGVzdHMgdGhhdCBlbGVtZW50cyBwYW5lbCBzZWFyY2ggaXMgcmV0dXJu
aW5nIHByb3BlciByZXN1bHRzLgotPC9wPgotCi08ZGl2PkZvb0JhcjwvZGl2PgotPGlucHV0IHZh
bHVlPSJJbnB1dFZhbCI+Ci08ZGl2IGF0dHI9ImZvbyI+PC9kaXY+Ci08ZGl2IGlkPSJ0ZXJtaW5h
dG9yIj48L2Rpdj4KLTxkaXYgY2xhc3M9ImRpdmNsYXNzIj48c3Bhbj5Gb3VuZCBieSBzZWxlY3Rv
cjwvc3Bhbj48L2Rpdj4KLTxzcGFuIGNsYXNzPSJmb28ga29vIj48L3NwYW4+Ci0KLTwvYm9keT4K
LTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9lbGVtZW50cy9lbGVt
ZW50cy1wYW5lbC1zdHlsZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2Vs
ZW1lbnRzL2VsZW1lbnRzLXBhbmVsLXN0eWxlcy1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDZiMjZlM2VjOTAxNGZkNGQ2OTRiZjZhZmU5ZGU3NmY4N2IzMTUyZmMu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yL2VsZW1lbnRzL2VsZW1lbnRzLXBhbmVsLXN0eWxlcy1leHBlY3RlZC50eHQK
KysrIC9kZXYvbnVsbApAQCAtMSwxNDQgKzAsMCBAQAotVGVzdHMgdGhhdCBlbGVtZW50cyBwYW5l
bCBzaG93cyBwcm9wZXIgc3R5bGVzIGluIHRoZSBzaWRlYmFyIHBhbmVsLgotCi1Gb28KLVtleHBh
bmRlZF0gCi0td2Via2l0LWZvbnQtc21vb3RoaW5nOiBzdWJwaXhlbC1hbnRpYWxpYXNlZDsKLSAg
ICBlbGVtZW50LnN0eWxlIC0gc3VicGl4ZWwtYW50aWFsaWFzZWQgCi1ib3JkZXItYm90dG9tLWxl
ZnQtcmFkaXVzOiA1cHg7Ci0gICAgLmZvbyAtIDVweCBlbGVtZW50cy1wYW5lbC1zdHlsZXMuY3Nz
OjE2Ci1ib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogNXB4OwotICAgIC5mb28gLSA1cHggZWxl
bWVudHMtcGFuZWwtc3R5bGVzLmNzczoxNgotYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogNXB4Owot
ICAgIC5mb28gLSA1cHggZWxlbWVudHMtcGFuZWwtc3R5bGVzLmNzczoxNgotYm9yZGVyLXRvcC1y
aWdodC1yYWRpdXM6IDVweDsKLSAgICAuZm9vIC0gNXB4IGVsZW1lbnRzLXBhbmVsLXN0eWxlcy5j
c3M6MTYKLWNvbG9yOiByZ2IoMCwgMCwgMjU1KTsKLSAgICAuZm9vLCAuZm9vOjpiZWZvcmUgLSBi
bHVlIGVsZW1lbnRzLXBhbmVsLXN0eWxlcy5jc3M6MjgKLSAgICAvLS0gb3ZlcmxvYWRlZCAtLS8g
LmZvbyAtIGJsYWNrIGVsZW1lbnRzLXBhbmVsLXN0eWxlcy5jc3M6MTYKLSAgICAvLS0gb3Zlcmxv
YWRlZCAtLS8gI2NvbnRhaW5lciAtIHJlZCBlbGVtZW50cy1wYW5lbC1zdHlsZXMuY3NzOjUKLWRp
c3BsYXk6IGJsb2NrOwotICAgIC8tLSBvdmVybG9hZGVkIC0tLyBlbGVtZW50LnN0eWxlIC0gbm9u
ZSAKLSAgICAuZm9vLCAuZm9vOjpiZWZvcmUgLSBibG9jayAhaW1wb3J0YW50IGVsZW1lbnRzLXBh
bmVsLXN0eWxlcy5jc3M6MjgKLSAgICAvLS0gb3ZlcmxvYWRlZCAtLS8gZGl2IC0gYmxvY2sgdXNl
ciBhZ2VudCBzdHlsZXNoZWV0Ci1mb250LWZhbWlseTogc2VyaWY7Ci0gICAgI2NvbnRhaW5lciAt
IHNlcmlmIGVsZW1lbnRzLXBhbmVsLXN0eWxlcy5jc3M6NQotZm9udC1zaXplOiAxNHB4OwotICAg
ICNjb250YWluZXIgLSAxNHB4IGVsZW1lbnRzLXBhbmVsLXN0eWxlcy5jc3M6NQotICAgIC8tLSBv
dmVybG9hZGVkIC0tLyBib2R5IC0gMTJweCBlbGVtZW50cy1wYW5lbC1zdHlsZXMuY3NzOjEKLWZv
bnQtc3R5bGU6IGl0YWxpYzsKLSAgICAjY29udGFpbmVyIC5mb28gLSBpdGFsaWMgIWltcG9ydGFu
dCBlbGVtZW50cy1wYW5lbC1zdHlsZXMuY3NzOjEyCi0gICAgLy0tIG92ZXJsb2FkZWQgLS0vIC5m
b28gLSBub3JtYWwgIWltcG9ydGFudCBlbGVtZW50cy1wYW5lbC1zdHlsZXMuY3NzOjE2Ci1mb250
LXdlaWdodDogbm9ybWFsOwotICAgIC5mb28gLSBub3JtYWwgIWltcG9ydGFudCBlbGVtZW50cy1w
YW5lbC1zdHlsZXMuY3NzOjE2Ci0gICAgLy0tIG92ZXJsb2FkZWQgLS0vIC5mb28gLSBib2xkIGVs
ZW1lbnRzLXBhbmVsLXN0eWxlcy5jc3M6MTYKLW1hcmdpbi1ib3R0b206IDJweDsKLSAgICAuZm9v
IC0gMnB4IGVsZW1lbnRzLXBhbmVsLXN0eWxlcy5jc3M6MTYKLW1hcmdpbi1sZWZ0OiAwcHg7Ci0g
ICAgLmZvbyAtIDFweCBlbGVtZW50cy1wYW5lbC1zdHlsZXMuY3NzOjE2Ci1tYXJnaW4tcmlnaHQ6
IDBweDsKLSAgICAuZm9vIC0gMHB4IGVsZW1lbnRzLXBhbmVsLXN0eWxlcy5jc3M6MTYKLW1hcmdp
bi10b3A6IDEwcHg7Ci0gICAgLmZvbyAtIDEwcHggZWxlbWVudHMtcGFuZWwtc3R5bGVzLmNzczox
NgotcGFkZGluZy1ib3R0b206IDRweDsKLSAgICAuZm9vIC0gNHB4IGVsZW1lbnRzLXBhbmVsLXN0
eWxlcy5jc3M6MTYKLXBhZGRpbmctbGVmdDogNHB4OwotICAgIC5mb28gLSA0cHggZWxlbWVudHMt
cGFuZWwtc3R5bGVzLmNzczoxNgotcGFkZGluZy1yaWdodDogMXB4OwotICAgIC5mb28gLSAxcHgg
ZWxlbWVudHMtcGFuZWwtc3R5bGVzLmNzczoxNgotcGFkZGluZy10b3A6IDRweDsKLSAgICAuZm9v
IC0gNHB4IGVsZW1lbnRzLXBhbmVsLXN0eWxlcy5jc3M6MTYKLXRleHQtYWxpZ246IC13ZWJraXQt
bGVmdDsKLSAgICBkaXZbQXR0cmlidXRlcyBTdHlsZV0gLSAtd2Via2l0LWxlZnQgCi0KLVtleHBh
bmRlZF0gCi1lbGVtZW50LnN0eWxlICB7ICgpCi0vLS0gb3ZlcmxvYWRlZCAtLS8gZGlzcGxheTog
bm9uZTsKLS13ZWJraXQtZm9udC1zbW9vdGhpbmc6IHN1YnBpeGVsLWFudGlhbGlhc2VkOwotCi09
PT09PT09PSBNYXRjaGVkIENTUyBSdWxlcyA9PT09PT09PQotW2V4cGFuZGVkXSAKLSNjb250YWlu
ZXIgLmZvbyAgeyAoZWxlbWVudHMtcGFuZWwtc3R5bGVzLmNzczoxMikKLWZvbnQtc3R5bGU6IGl0
YWxpYyAhaW1wb3J0YW50OwotCi1bZXhwYW5kZWRdIAotLmZvbyAgeyAoZWxlbWVudHMtcGFuZWwt
c3R5bGVzLmNzczo0NykKLQotW2V4cGFuZGVkXSAKLS5mb28sIC5mb286OmJlZm9yZSAgeyAoZWxl
bWVudHMtcGFuZWwtc3R5bGVzLmNzczoyOCkKLWNvbnRlbnQ6ICJbYmVmb3JlIEZvb10iOwotY29s
b3I6IGJsdWU7Ci1kaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OwotCi1bZXhwYW5kZWRdIAotLmZv
byAgeyAoZWxlbWVudHMtcGFuZWwtc3R5bGVzLmNzczoxNikKLS8tLSBvdmVybG9hZGVkIC0tLyBj
b2xvcjogYmxhY2s7Ci1tYXJnaW4tbGVmdDogMXB4OwotbWFyZ2luOiAxMHB4IDAgMnB4OwotICAg
IG1hcmdpbi10b3A6IDEwcHg7Ci0gICAgbWFyZ2luLXJpZ2h0OiAwcHg7Ci0gICAgbWFyZ2luLWJv
dHRvbTogMnB4OwotICAgIG1hcmdpbi1sZWZ0OiAxcHg7Ci1ib3JkZXItcmFkaXVzOiA1cHg7Ci0g
ICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogNXB4OwotICAgIGJvcmRlci10b3AtcmlnaHQtcmFk
aXVzOiA1cHg7Ci0gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDVweDsKLSAgICBib3Jk
ZXItYm90dG9tLWxlZnQtcmFkaXVzOiA1cHg7Ci0vLS0gb3ZlcmxvYWRlZCAtLS8gZm9udC1zdHls
ZTogbm9ybWFsICFpbXBvcnRhbnQ7Ci1mb250LXdlaWdodDogbm9ybWFsICFpbXBvcnRhbnQ7Ci0v
LS0gb3ZlcmxvYWRlZCAtLS8gZm9udC13ZWlnaHQ6IGJvbGQ7Ci1wYWRkaW5nOiA0cHg7Ci0gICAg
cGFkZGluZy10b3A6IDRweDsKLSAgICBwYWRkaW5nLXJpZ2h0OiAxcHg7Ci0gICAgcGFkZGluZy1i
b3R0b206IDRweDsKLSAgICBwYWRkaW5nLWxlZnQ6IDRweDsKLXBhZGRpbmctcmlnaHQ6IDFweDsK
LQotW2V4cGFuZGVkXSAKLWRpdltBdHRyaWJ1dGVzIFN0eWxlXSAgeyAoKQotdGV4dC1hbGlnbjog
LXdlYmtpdC1sZWZ0OwotCi1bZXhwYW5kZWRdIAotZGl2ICB7ICh1c2VyIGFnZW50IHN0eWxlc2hl
ZXQpCi0vLS0gb3ZlcmxvYWRlZCAtLS8gZGlzcGxheTogYmxvY2s7Ci0KLT09PT09PT09IEluaGVy
aXRlZCBmcm9tIGRpdiNjb250YWluZXIgPT09PT09PT0KLVtleHBhbmRlZF0gCi0jY29udGFpbmVy
ICB7IChlbGVtZW50cy1wYW5lbC1zdHlsZXMuY3NzOjUpCi1mb250LWZhbWlseTogc2VyaWY7Ci1m
b250LXNpemU6IDE0cHg7Ci0vLS0gb3ZlcmxvYWRlZCAtLS8gY29sb3I6IHJlZDsKLQotPT09PT09
PT0gSW5oZXJpdGVkIGZyb20gYm9keSA9PT09PT09PQotW2V4cGFuZGVkXSAKLWJvZHkgIHsgKGVs
ZW1lbnRzLXBhbmVsLXN0eWxlcy5jc3M6MSkKLS8tLSBvdmVybG9hZGVkIC0tLyBmb250LXNpemU6
IDEycHg7Ci0KLQotPT09PT09PT0gUHNldWRvIDo6YmVmb3JlIGVsZW1lbnQgPT09PT09PT0KLVtl
eHBhbmRlZF0gCi0uZm9vOjpiZWZvcmUgIHsgKGVsZW1lbnRzLXBhbmVsLXN0eWxlcy5jc3M6NTEp
Ci0KLVtleHBhbmRlZF0gCi0uZm9vOjpiZWZvcmUgIHsgKGVsZW1lbnRzLXBhbmVsLXN0eWxlcy5j
c3M6MzQpCi1jb2xvcjogcmVkOwotCi1bZXhwYW5kZWRdIAotLmZvbywgLmZvbzo6YmVmb3JlICB7
IChlbGVtZW50cy1wYW5lbC1zdHlsZXMuY3NzOjI4KQotY29udGVudDogIltiZWZvcmUgRm9vXSI7
Ci0vLS0gb3ZlcmxvYWRlZCAtLS8gY29sb3I6IGJsdWU7Ci1kaXNwbGF5OiBibG9jayAhaW1wb3J0
YW50OwotCi0KLT09PT09PT09IFBzZXVkbyA6OmFmdGVyIGVsZW1lbnQgPT09PT09PT0KLVtleHBh
bmRlZF0gCi0uZm9vOjphZnRlciAgeyAoZWxlbWVudHMtcGFuZWwtc3R5bGVzLmNzczo0MikKLWZv
bnQtZmFtaWx5OiBjb3VyaWVyOwotY29udGVudDogIlthZnRlciBGb28gMl0iOwotCi1bZXhwYW5k
ZWRdIAotLmZvbzo6YWZ0ZXIgIHsgKGVsZW1lbnRzLXBhbmVsLXN0eWxlcy5jc3M6MzgpCi0vLS0g
b3ZlcmxvYWRlZCAtLS8gY29udGVudDogIlthZnRlciBGb29dIjsKLWNvbG9yOiBncmVlbjsKLQot
Ci0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9lbGVtZW50cy9lbGVtZW50cy1w
YW5lbC1zdHlsZXMuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9lbGVtZW50cy9lbGVtZW50
cy1wYW5lbC1zdHlsZXMuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzkzNTgw
NjI2ZjM3YWI3YTEzZmY3NDI4YTBiNjQwNWIxNDFiYTU0Zi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMv
ZWxlbWVudHMtcGFuZWwtc3R5bGVzLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwzMyArMCwwIEBA
Ci08aHRtbD4KLTxoZWFkPgotPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIg
aHJlZj0icmVzb3VyY2VzL2VsZW1lbnRzLXBhbmVsLXN0eWxlcy5jc3MiPgotCi08c2NyaXB0IHNy
Yz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzLXRlc3Qu
anMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLQotZnVuY3Rpb24gdGVzdCgpCi17Ci0gICAgSW5zcGVj
dG9yVGVzdC5zZWxlY3ROb2RlQW5kV2FpdEZvclN0eWxlc1dpdGhDb21wdXRlZCgiZm9vIiwgc3Rl
cDEpOwotCi0gICAgZnVuY3Rpb24gc3RlcDEoKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVz
dC5kdW1wU2VsZWN0ZWRFbGVtZW50U3R5bGVzKGZhbHNlLCBmYWxzZSk7Ci0gICAgICAgIEluc3Bl
Y3RvclRlc3QuY29tcGxldGVUZXN0KCk7Ci0gICAgfQotfQotCi08L3NjcmlwdD4KLTwvaGVhZD4K
LQotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotPHA+Ci1UZXN0cyB0aGF0IGVsZW1lbnRzIHBh
bmVsIHNob3dzIHByb3BlciBzdHlsZXMgaW4gdGhlIHNpZGViYXIgcGFuZWwuCi08L3A+Ci0KLTxk
aXYgaWQ9ImNvbnRhaW5lciI+Ci0gICAgPGRpdiBpZD0iZm9vIiBjbGFzcz0iZm9vIiBzdHlsZT0i
ZGlzcGxheTpub25lOyAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBzdWJwaXhlbC1hbnRpYWxpYXNl
ZDsiIGFsaWduPSJsZWZ0Ij5Gb288L2Rpdj4KLTwvZGl2PgotCi08L2JvZHk+Ci08L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMvaGlnaGxpZ2h0LW5vZGUt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzL2hpZ2hsaWdodC1u
b2RlLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjFjNGYwMDZh
NmMzYWY2Njg1YTczNjJlOGVkNTY4MzY3OWMzMTZkNi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMvaGln
aGxpZ2h0LW5vZGUtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNyArMCwwIEBACi1U
aGlzIHRlc3QgdmVyaWZpZXMgdGhlIHBvc2l0aW9uIGFuZCBzaXplIG9mIHRoZSBoaWdobGlnaHQg
cmVjdGFuZ2xlcyBvdmVybGF5ZWQgb24gYW4gaW5zcGVjdGVkIGRpdi4KLQotbWFyZ2luIHJlY3Qg
aXMgMjYwIHggMjYwIGF0ICgwLCAwKQotYm9yZGVyIHJlY3QgaXMgMjUwIHggMjUwIGF0ICg1LCA1
KQotcGFkZGluZyByZWN0IGlzIDIzMCB4IDIzMCBhdCAoMTUsIDE1KQotY29udGVudCByZWN0IGlz
IDIwMCB4IDIwMCBhdCAoMzAsIDMwKQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0
b3IvZWxlbWVudHMvaGlnaGxpZ2h0LW5vZGUtcmVnaW9ucy1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMvaGlnaGxpZ2h0LW5vZGUtcmVnaW9ucy1leHBlY3RlZC50
eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM5ZmE5OTU3MjYyZmEyZWY2MjhjMDE4
OWI1YjJjNjk0OGIwMDEyM2EuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzL2hpZ2hsaWdodC1ub2RlLXJl
Z2lvbnMtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMjg5ICswLDAgQEAKLVRoaXMg
dGVzdCB2ZXJpZmllcyB0aGUgcG9zaXRpb24gYW5kIHNpemUgb2YgdGhlIGhpZ2hsaWdodGVkIENT
UyBSZWdpb25zIHF1YWRzIG92ZXJsYXllZCBvbiB0aGUgaW5zcGVjdGVkIGRpdi4KLQotewotICAg
ICJuYW1lIjogImZsb3ciLAotICAgICJyZWdpb25zIjogWwotICAgICAgICB7Ci0gICAgICAgICAg
ICAiYm9yZGVyUXVhZCI6IFsKLSAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAg
ICJ4IjogNSwKLSAgICAgICAgICAgICAgICAgICAgInkiOiA1Ci0gICAgICAgICAgICAgICAgfSwK
LSAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICJ4IjogMjU1LAotICAgICAg
ICAgICAgICAgICAgICAieSI6IDUKLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAg
IHsKLSAgICAgICAgICAgICAgICAgICAgIngiOiAyNTUsCi0gICAgICAgICAgICAgICAgICAgICJ5
IjogMjU1Ci0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAg
ICAgICAgICAgICJ4IjogNSwKLSAgICAgICAgICAgICAgICAgICAgInkiOiAyNTUKLSAgICAgICAg
ICAgICAgICB9Ci0gICAgICAgICAgICBdLAotICAgICAgICAgICAgImluY29taW5nUXVhZCI6IFsK
LSAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICJ4IjogMCwKLSAgICAgICAg
ICAgICAgICAgICAgInkiOiAxNQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAg
ewotICAgICAgICAgICAgICAgICAgICAieCI6IDEwLAotICAgICAgICAgICAgICAgICAgICAieSI6
IDE1Ci0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAg
ICAgICAgICJ4IjogMTAsCi0gICAgICAgICAgICAgICAgICAgICJ5IjogMjUKLSAgICAgICAgICAg
ICAgICB9LAotICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgIngiOiAwLAot
ICAgICAgICAgICAgICAgICAgICAieSI6IDI1Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAg
ICAgXSwKLSAgICAgICAgICAgICJvdXRnb2luZ1F1YWQiOiBbCi0gICAgICAgICAgICAgICAgewot
ICAgICAgICAgICAgICAgICAgICAieCI6IDI1MCwKLSAgICAgICAgICAgICAgICAgICAgInkiOiAy
MzUKLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAg
ICAgICAgIngiOiAyNjAsCi0gICAgICAgICAgICAgICAgICAgICJ5IjogMjM1Ci0gICAgICAgICAg
ICAgICAgfSwKLSAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICJ4IjogMjYw
LAotICAgICAgICAgICAgICAgICAgICAieSI6IDI0NQotICAgICAgICAgICAgICAgIH0sCi0gICAg
ICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAieCI6IDI1MCwKLSAgICAgICAgICAg
ICAgICAgICAgInkiOiAyNDUKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICBdCi0gICAg
ICAgIH0sCi0gICAgICAgIHsKLSAgICAgICAgICAgICJib3JkZXJRdWFkIjogWwotICAgICAgICAg
ICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgIngiOiAyNjUsCi0gICAgICAgICAgICAgICAg
ICAgICJ5IjogNQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgewotICAgICAg
ICAgICAgICAgICAgICAieCI6IDUxNSwKLSAgICAgICAgICAgICAgICAgICAgInkiOiA1Ci0gICAg
ICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICJ4
IjogNTE1LAotICAgICAgICAgICAgICAgICAgICAieSI6IDI1NQotICAgICAgICAgICAgICAgIH0s
Ci0gICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAieCI6IDI2NSwKLSAgICAg
ICAgICAgICAgICAgICAgInkiOiAyNTUKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICBd
LAotICAgICAgICAgICAgImluY29taW5nUXVhZCI6IFsKLSAgICAgICAgICAgICAgICB7Ci0gICAg
ICAgICAgICAgICAgICAgICJ4IjogMjYwLAotICAgICAgICAgICAgICAgICAgICAieSI6IDE1Ci0g
ICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAg
ICJ4IjogMjcwLAotICAgICAgICAgICAgICAgICAgICAieSI6IDE1Ci0gICAgICAgICAgICAgICAg
fSwKLSAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICJ4IjogMjcwLAotICAg
ICAgICAgICAgICAgICAgICAieSI6IDI1Ci0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAg
ICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICJ4IjogMjYwLAotICAgICAgICAgICAgICAgICAg
ICAieSI6IDI1Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgXSwKLSAgICAgICAgICAg
ICJvdXRnb2luZ1F1YWQiOiBbCi0gICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAg
ICAieCI6IDUxMCwKLSAgICAgICAgICAgICAgICAgICAgInkiOiAyMzUKLSAgICAgICAgICAgICAg
ICB9LAotICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgIngiOiA1MjAsCi0g
ICAgICAgICAgICAgICAgICAgICJ5IjogMjM1Ci0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAg
ICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICJ4IjogNTIwLAotICAgICAgICAgICAgICAg
ICAgICAieSI6IDI0NQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgewotICAg
ICAgICAgICAgICAgICAgICAieCI6IDUxMCwKLSAgICAgICAgICAgICAgICAgICAgInkiOiAyNDUK
LSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICBdLAotICAgICAgICAgICAgImlzSGlnaGxp
Z2h0ZWQiOiB0cnVlCi0gICAgICAgIH0sCi0gICAgICAgIHsKLSAgICAgICAgICAgICJib3JkZXJR
dWFkIjogWwotICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgIngiOiA1MjUs
Ci0gICAgICAgICAgICAgICAgICAgICJ5IjogNQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAg
ICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAieCI6IDc3NSwKLSAgICAgICAgICAgICAg
ICAgICAgInkiOiA1Ci0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICB7Ci0gICAg
ICAgICAgICAgICAgICAgICJ4IjogNzc1LAotICAgICAgICAgICAgICAgICAgICAieSI6IDI1NQot
ICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAg
ICAieCI6IDUyNSwKLSAgICAgICAgICAgICAgICAgICAgInkiOiAyNTUKLSAgICAgICAgICAgICAg
ICB9Ci0gICAgICAgICAgICBdLAotICAgICAgICAgICAgImluY29taW5nUXVhZCI6IFsKLSAgICAg
ICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICJ4IjogNTIwLAotICAgICAgICAgICAg
ICAgICAgICAieSI6IDE1Ci0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICB7Ci0g
ICAgICAgICAgICAgICAgICAgICJ4IjogNTMwLAotICAgICAgICAgICAgICAgICAgICAieSI6IDE1
Ci0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAg
ICAgICJ4IjogNTMwLAotICAgICAgICAgICAgICAgICAgICAieSI6IDI1Ci0gICAgICAgICAgICAg
ICAgfSwKLSAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICJ4IjogNTIwLAot
ICAgICAgICAgICAgICAgICAgICAieSI6IDI1Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAg
ICAgXSwKLSAgICAgICAgICAgICJvdXRnb2luZ1F1YWQiOiBbCi0gICAgICAgICAgICAgICAgewot
ICAgICAgICAgICAgICAgICAgICAieCI6IDc3MCwKLSAgICAgICAgICAgICAgICAgICAgInkiOiAy
MzUKLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAg
ICAgICAgIngiOiA3ODAsCi0gICAgICAgICAgICAgICAgICAgICJ5IjogMjM1Ci0gICAgICAgICAg
ICAgICAgfSwKLSAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICJ4IjogNzgw
LAotICAgICAgICAgICAgICAgICAgICAieSI6IDI0NQotICAgICAgICAgICAgICAgIH0sCi0gICAg
ICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAieCI6IDc3MCwKLSAgICAgICAgICAg
ICAgICAgICAgInkiOiAyNDUKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICBdCi0gICAg
ICAgIH0sCi0gICAgICAgIHsKLSAgICAgICAgICAgICJib3JkZXJRdWFkIjogWwotICAgICAgICAg
ICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgIngiOiA1LAotICAgICAgICAgICAgICAgICAg
ICAieSI6IDI2NQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgewotICAgICAg
ICAgICAgICAgICAgICAieCI6IDIwNSwKLSAgICAgICAgICAgICAgICAgICAgInkiOiAyNjUKLSAg
ICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAg
IngiOiAyMDUsCi0gICAgICAgICAgICAgICAgICAgICJ5IjogMjY1Ci0gICAgICAgICAgICAgICAg
fSwKLSAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICJ4IjogNSwKLSAgICAg
ICAgICAgICAgICAgICAgInkiOiAyNjUKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICBd
LAotICAgICAgICAgICAgImluY29taW5nUXVhZCI6IFsKLSAgICAgICAgICAgICAgICB7Ci0gICAg
ICAgICAgICAgICAgICAgICJ4IjogMCwKLSAgICAgICAgICAgICAgICAgICAgInkiOiAyNjAKLSAg
ICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAg
IngiOiAxMCwKLSAgICAgICAgICAgICAgICAgICAgInkiOiAyNjAKLSAgICAgICAgICAgICAgICB9
LAotICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgIngiOiAxMCwKLSAgICAg
ICAgICAgICAgICAgICAgInkiOiAyNzAKLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAg
ICAgIHsKLSAgICAgICAgICAgICAgICAgICAgIngiOiAwLAotICAgICAgICAgICAgICAgICAgICAi
eSI6IDI3MAotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAi
b3V0Z29pbmdRdWFkIjogWwotICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAg
IngiOiAyMDAsCi0gICAgICAgICAgICAgICAgICAgICJ5IjogMjYwCi0gICAgICAgICAgICAgICAg
fSwKLSAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICJ4IjogMjEwLAotICAg
ICAgICAgICAgICAgICAgICAieSI6IDI2MAotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAg
ICAgICAgewotICAgICAgICAgICAgICAgICAgICAieCI6IDIxMCwKLSAgICAgICAgICAgICAgICAg
ICAgInkiOiAyNzAKLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgIHsKLSAgICAg
ICAgICAgICAgICAgICAgIngiOiAyMDAsCi0gICAgICAgICAgICAgICAgICAgICJ5IjogMjcwCi0g
ICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgXQotICAgICAgICB9LAotICAgICAgICB7Ci0g
ICAgICAgICAgICAiYm9yZGVyUXVhZCI6IFsKLSAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAg
ICAgICAgICAgICJ4IjogMjE1LAotICAgICAgICAgICAgICAgICAgICAieSI6IDI2NQotICAgICAg
ICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAieCI6
IDIxNSwKLSAgICAgICAgICAgICAgICAgICAgInkiOiAyNjUKLSAgICAgICAgICAgICAgICB9LAot
ICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgIngiOiAyMTUsCi0gICAgICAg
ICAgICAgICAgICAgICJ5IjogMjY1Ci0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAg
ICB7Ci0gICAgICAgICAgICAgICAgICAgICJ4IjogMjE1LAotICAgICAgICAgICAgICAgICAgICAi
eSI6IDI2NQotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAi
aW5jb21pbmdRdWFkIjogWwotICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAg
IngiOiAyMTAsCi0gICAgICAgICAgICAgICAgICAgICJ5IjogMjYwCi0gICAgICAgICAgICAgICAg
fSwKLSAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICJ4IjogMjIwLAotICAg
ICAgICAgICAgICAgICAgICAieSI6IDI2MAotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAg
ICAgICAgewotICAgICAgICAgICAgICAgICAgICAieCI6IDIyMCwKLSAgICAgICAgICAgICAgICAg
ICAgInkiOiAyNzAKLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgIHsKLSAgICAg
ICAgICAgICAgICAgICAgIngiOiAyMTAsCi0gICAgICAgICAgICAgICAgICAgICJ5IjogMjcwCi0g
ICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICJvdXRnb2luZ1F1
YWQiOiBbCi0gICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAieCI6IDIxMCwK
LSAgICAgICAgICAgICAgICAgICAgInkiOiAyNjAKLSAgICAgICAgICAgICAgICB9LAotICAgICAg
ICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgIngiOiAyMjAsCi0gICAgICAgICAgICAg
ICAgICAgICJ5IjogMjYwCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICB7Ci0g
ICAgICAgICAgICAgICAgICAgICJ4IjogMjIwLAotICAgICAgICAgICAgICAgICAgICAieSI6IDI3
MAotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAg
ICAgICAieCI6IDIxMCwKLSAgICAgICAgICAgICAgICAgICAgInkiOiAyNzAKLSAgICAgICAgICAg
ICAgICB9Ci0gICAgICAgICAgICBdCi0gICAgICAgIH0KLSAgICBdCi19Ci0KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2luc3BlY3Rvci9lbGVtZW50cy9oaWdobGlnaHQtbm9kZS1yZWdpb25zLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMvaGlnaGxpZ2h0LW5vZGUtcmVnaW9u
cy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwYzVkZGJjMmM2ZDM0MjBjOTA1
OTgzNjdmOTFkYTM2NDlmMGNhMWE0Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9lbGVtZW50cy9oaWdobGlnaHQtbm9k
ZS1yZWdpb25zLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw3NyArMCwwIEBACi08aHRtbD4KLTxo
ZWFkPgotCi08c3R5bGU+Ci0KLWJvZHkgewotICAgIG1hcmdpbjogMDsKLX0KLSNmbG93IHsKLSAg
ICAtd2Via2l0LWZsb3ctaW50bzogZmxvdzsKLX0KLSNjb250YWluZXIgewotICAgIHdpZHRoOiA0
MDBweDsKLSAgICBoZWlnaHQ6IDQwMHB4OwotICAgIGJhY2tncm91bmQtY29sb3I6IGdyZXk7Ci19
Ci0ucmVnaW9uIHsKLSAgICBtYXJnaW46IDVweDsKLSAgICBib3JkZXI6IHNvbGlkIDEwcHggYXF1
YTsKLSAgICBwYWRkaW5nOiAxNXB4OwotICAgIHdpZHRoOiAyMDBweDsKLSAgICBoZWlnaHQ6IDIw
MHB4OwotICAgIGJhY2tncm91bmQtY29sb3I6IGJsdWU7Ci0gICAgZmxvYXQ6IGxlZnQ7Ci0gICAg
LXdlYmtpdC1mbG93LWZyb206IGZsb3c7Ci19Ci0uemVyby1oZWlnaHQgewotICAgIGJvcmRlcjog
bm9uZTsKLSAgICBoZWlnaHQ6IDBweDsKLSAgICBwYWRkaW5nOiAwOwotfQotLnplcm8tc2l6ZSB7
Ci0gICAgYm9yZGVyOiBub25lOwotICAgIHdpZHRoOiAwcHg7Ci0gICAgaGVpZ2h0OiAwcHg7Ci0g
ICAgcGFkZGluZzogMDsKLX0KLS5oaWRkZW4gewotICAgIGRpc3BsYXk6IG5vbmU7Ci19Ci0jZGVz
Y3JpcHRpb24gewotICAgIGNsZWFyOiBib3RoOwotfQotCi08L3N0eWxlPgotCi08c2NyaXB0IHNy
Yz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzLXRlc3Qu
anMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLQotZnVuY3Rpb24gdGVzdCgpCi17Ci0gICAgZnVuY3Rp
b24gbm9kZVNlbGVjdGVkKG5vZGUpCi0gICAgewotICAgICAgICBSdW50aW1lQWdlbnQuZXZhbHVh
dGUoImR1bXBJbnNwZWN0b3JIaWdobGlnaHRlZFJlZ2lvbnMoKSIsIEluc3BlY3RvclRlc3QuY29t
cGxldGVUZXN0KTsKLSAgICB9Ci0KLSAgICBJbnNwZWN0b3JUZXN0LnNlbGVjdE5vZGVXaXRoSWQo
Imluc3BlY3RlZEVsZW1lbnQiLCBub2RlU2VsZWN0ZWQpOwotfQotCi08L3NjcmlwdD4KLTwvaGVh
ZD4KLQotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotCi08ZGl2IGlkPSJmbG93Ij48L2Rpdj4K
LQotPGRpdiBjbGFzcz0icmVnaW9uIj48L2Rpdj4KLTxkaXYgY2xhc3M9InJlZ2lvbiIgaWQ9Imlu
c3BlY3RlZEVsZW1lbnQiPjwvZGl2PgotPGRpdiBjbGFzcz0icmVnaW9uIj48L2Rpdj4KLTxkaXYg
Y2xhc3M9InJlZ2lvbiB6ZXJvLWhlaWdodCI+PC9kaXY+Ci08ZGl2IGNsYXNzPSJyZWdpb24gemVy
by1zaXplIj48L2Rpdj4KLTxkaXYgY2xhc3M9InJlZ2lvbiBoaWRkZW4iPjwvZGl2PgotPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhlIHBvc2l0aW9uIGFuZCBzaXplIG9m
IHRoZSBoaWdobGlnaHRlZCBDU1MgUmVnaW9ucyBxdWFkcyBvdmVybGF5ZWQgb24gdGhlIGluc3Bl
Y3RlZCBkaXYuPC9wPgotCi08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbnNwZWN0b3IvZWxlbWVudHMvaGlnaGxpZ2h0LW5vZGUtc2NhbGVkLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2luc3BlY3Rvci9lbGVtZW50cy9oaWdobGlnaHQtbm9kZS1zY2FsZWQtZXhw
ZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwNmFlNGU3NGJiNWRlMzE4
ZTVjN2M1ZmQ5NjdkYmYxMTNiNGI2ODY0Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9lbGVtZW50cy9oaWdobGlnaHQt
bm9kZS1zY2FsZWQtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNiArMCwwIEBACi0K
LW1hcmdpbiByZWN0IGlzIDE2NiB4IDE4OCBhdCAoMTkyLCAxNTQpCi1ib3JkZXIgcmVjdCBpcyAx
MzggeCAxNjAgYXQgKDIwNiwgMTY4KQotcGFkZGluZyByZWN0IGlzIDExOCB4IDE0MCBhdCAoMjE2
LCAxNzgpCi1jb250ZW50IHJlY3QgaXMgNjYgeCA4OCBhdCAoMjQyLCAyMDQpCi0KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9lbGVtZW50cy9oaWdobGlnaHQtbm9kZS1zY2FsZWQu
aHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9lbGVtZW50cy9oaWdobGlnaHQtbm9kZS1zY2Fs
ZWQuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZGI0MTkyZGFjNmYxYjE1NDRm
YjUwZTQwZGVmODMyODBkYWEzOTgxZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMvaGlnaGxpZ2h0LW5v
ZGUtc2NhbGVkLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw1MSArMCwwIEBACi08aHRtbD4KLTxo
ZWFkPgotCi08c3R5bGU+Ci0KLWJvZHkgewotICAgIG1hcmdpbjogMDsKLX0KLQotaWZyYW1lIHsK
LSAgICBwb3NpdGlvbjogYWJzb2x1dGU7Ci0gICAgbGVmdDogODNweDsKLSAgICB0b3A6IDUzcHg7
Ci0gICAgd2lkdGg6IDIwMHB4OwotICAgIGhlaWdodDogMjAwcHg7Ci19Ci0KLTwvc3R5bGU+Ci0K
LTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvZWxl
bWVudHMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotCi1mdW5jdGlvbiBvbmxvYWQoKQot
ewotICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQotICAgICAgICB3aW5kb3cuaW50ZXJuYWxzLnNl
dFBhZ2VTY2FsZUZhY3RvcigyLCAwLCAwKTsKLSAgICBydW5UZXN0KCk7Ci19Ci0gICAgCi1mdW5j
dGlvbiB0ZXN0KCkKLXsKLSAgICBXZWJJbnNwZWN0b3Iuc2hvd1BhbmVsKCJlbGVtZW50cyIpOwot
ICAgIFdlYkluc3BlY3Rvci5wYW5lbHMuZWxlbWVudHMudHJlZU91dGxpbmUuYWRkRXZlbnRMaXN0
ZW5lcihXZWJJbnNwZWN0b3IuRWxlbWVudHNUcmVlT3V0bGluZS5FdmVudHMuU2VsZWN0ZWROb2Rl
Q2hhbmdlZCwgc2VsZWN0ZWROb2RlQ2hhbmdlZCwgdGhpcyk7Ci0KLSAgICBmdW5jdGlvbiBzZWxl
Y3RlZE5vZGVDaGFuZ2VkKGV2ZW50KQotICAgIHsKLSAgICAgICAgdmFyIG5vZGUgPSBldmVudC5k
YXRhOwotICAgICAgICBpZiAobm9kZS5nZXRBdHRyaWJ1dGUoImlkIikgPT0gImRpdiIpCi0gICAg
ICAgICAgICBSdW50aW1lQWdlbnQuZXZhbHVhdGUoImR1bXBJbnNwZWN0b3JIaWdobGlnaHRSZWN0
cygpIiwgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QpOwotICAgIH0KLSAgICBJbnNwZWN0b3JU
ZXN0LmV2YWx1YXRlSW5Db25zb2xlKCJpbnNwZWN0KGlmcmFtZURpdkVsZW1lbnQpIik7Ci19Ci0K
LTwvc2NyaXB0PgotPC9oZWFkPgotCi08Ym9keSBvbmxvYWQ9Im9ubG9hZCgpIj4KLTxpZnJhbWUg
c3JjPSJyZXNvdXJjZXMvaGlnaGxpZ2h0LW5vZGUtc2NhbGVkLWlmcmFtZS5odG1sIj48L2lmcmFt
ZT4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9l
bGVtZW50cy9oaWdobGlnaHQtbm9kZS1zY3JvbGwtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yL2VsZW1lbnRzL2hpZ2hsaWdodC1ub2RlLXNjcm9sbC1leHBlY3RlZC50eHQKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQzMWY2ZDMyMDg1MjZhNzAzZjg2YWYzNWU3ZGZl
YTdkZDE4Y2YxMzAuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzL2hpZ2hsaWdodC1ub2RlLXNjcm9sbC1l
eHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxMSArMCwwIEBACi1UaGlzIHRlc3QgdmVy
aWZpZXMgdGhlIHBvc2l0aW9uIGFuZCBzaXplIG9mIHRoZSBoaWdobGlnaHQgcmVjdGFuZ2xlcyBv
dmVybGF5ZWQgb24gYW4gaW5zcGVjdGVkIGRpdiBpbiB0aGUgc2Nyb2xsZWQgdmlldy4KLQotbWFy
Z2luIHJlY3QgaXMgMjYwIHggMjYwIGF0ICg4LCA4KQotYm9yZGVyIHJlY3QgaXMgMjUwIHggMjUw
IGF0ICgxMywgMTMpCi1wYWRkaW5nIHJlY3QgaXMgMjMwIHggMjMwIGF0ICgyMywgMjMpCi1jb250
ZW50IHJlY3QgaXMgMjAwIHggMjAwIGF0ICgzOCwgMzgpCi1tYXJnaW4gcmVjdCBpcyAyNjAgeCAy
NjAgYXQgKC01MiwgMjE4KQotYm9yZGVyIHJlY3QgaXMgMjUwIHggMjUwIGF0ICgtNDcsIDIyMykK
LXBhZGRpbmcgcmVjdCBpcyAyMzAgeCAyMzAgYXQgKC0zNywgMjMzKQotY29udGVudCByZWN0IGlz
IDIwMCB4IDIwMCBhdCAoLTIyLCAyNDgpCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci9lbGVtZW50cy9oaWdobGlnaHQtbm9kZS1zY3JvbGwuaHRtbCBiL0xheW91dFRlc3RzL2lu
c3BlY3Rvci9lbGVtZW50cy9oaWdobGlnaHQtbm9kZS1zY3JvbGwuaHRtbApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggYmUyNmVmNjQ3NDY3ZmVkOGRmY2EzZTdmNjAxMzkxMDQyY2E5MzQy
YS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMvaGlnaGxpZ2h0LW5vZGUtc2Nyb2xsLmh0bWwKKysrIC9k
ZXYvbnVsbApAQCAtMSw3OSArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotCi08c3R5bGU+Ci0KLWJv
ZHkgewotICAgIHdpZHRoOiAyMDAwcHg7Ci0gICAgaGVpZ2h0OiAyMDAwcHg7Ci0gICAgYmFja2dy
b3VuZC1jb2xvcjogZ3JleTsKLX0KLS5pbnNwZWN0ZWQgewotICAgIG1hcmdpbjogNXB4OwotICAg
IGJvcmRlcjogc29saWQgMTBweCBhcXVhOwotICAgIHBhZGRpbmc6IDE1cHg7Ci0gICAgd2lkdGg6
IDIwMHB4OwotICAgIGhlaWdodDogMjAwcHg7Ci0gICAgYmFja2dyb3VuZC1jb2xvcjogYmx1ZTsK
LSAgICBmbG9hdDogbGVmdDsKLX0KLSNzY3JvbGxpbmdDb250YWluZXIgewotICAgIGNsZWFyOiBi
b3RoOwotICAgIHdpZHRoOiAxMDBweDsKLSAgICBoZWlnaHQ6IDEwMHB4OwotICAgIG92ZXJmbG93
OiBhdXRvOwotfQotI2Rlc2NyaXB0aW9uIHsKLSAgICBjbGVhcjogYm90aDsKLX0KLQotPC9zdHls
ZT4KLQotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10
ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rv
ci9lbGVtZW50cy10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci0KLWZ1bmN0aW9uIG9ubG9h
ZCgpCi17Ci0gICAgd2luZG93LnNjcm9sbEJ5KDUwLCAxMDApOwotICAgIHNjcm9sbGluZ0NvbnRh
aW5lciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzY3JvbGxpbmdDb250YWluZXIiKTsKLSAg
ICBzY3JvbGxpbmdDb250YWluZXIuc2Nyb2xsVG9wID0gNTA7Ci0gICAgc2Nyb2xsaW5nQ29udGFp
bmVyLnNjcm9sbExlZnQgPSA2MDsKLSAgICBydW5UZXN0KCk7Ci19Ci0KLWZ1bmN0aW9uIHRlc3Qo
KQotewotICAgIGZ1bmN0aW9uIG5vZGVTZWxlY3RlZDIobm9kZSkKLSAgICB7Ci0gICAgICAgIFJ1
bnRpbWVBZ2VudC5ldmFsdWF0ZSgiZHVtcEluc3BlY3RvckhpZ2hsaWdodFJlY3RzKCkiLCBJbnNw
ZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gdGVzdE5vZGUy
KCkKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3Quc2VsZWN0Tm9kZVdpdGhJZCgiaW5zcGVj
dGVkRWxlbWVudDIiLCBub2RlU2VsZWN0ZWQyKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBub2Rl
U2VsZWN0ZWQxKG5vZGUpCi0gICAgewotICAgICAgICBSdW50aW1lQWdlbnQuZXZhbHVhdGUoImR1
bXBJbnNwZWN0b3JIaWdobGlnaHRSZWN0cygpIiwgdGVzdE5vZGUyKTsKLSAgICB9Ci0KLSAgICBJ
bnNwZWN0b3JUZXN0LnNlbGVjdE5vZGVXaXRoSWQoImluc3BlY3RlZEVsZW1lbnQxIiwgbm9kZVNl
bGVjdGVkMSk7Ci19Ci0KLTwvc2NyaXB0PgotPC9oZWFkPgotCi08Ym9keSBvbmxvYWQ9Im9ubG9h
ZCgpIj4KLQotPGRpdiBpZD0iaW5zcGVjdGVkRWxlbWVudDEiIGNsYXNzPSJpbnNwZWN0ZWQiPjwv
ZGl2PgotCi08ZGl2IGlkPSJzY3JvbGxpbmdDb250YWluZXIiPgotICAgIDxkaXYgaWQ9Imluc3Bl
Y3RlZEVsZW1lbnQyIiBjbGFzcz0iaW5zcGVjdGVkIj48L2Rpdj4KLTwvZGl2PgotCi08cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCB2ZXJpZmllcyB0aGUgcG9zaXRpb24gYW5kIHNpemUgb2Yg
dGhlIGhpZ2hsaWdodCByZWN0YW5nbGVzIG92ZXJsYXllZCBvbiBhbiBpbnNwZWN0ZWQgZGl2IGlu
IHRoZSBzY3JvbGxlZCB2aWV3LjwvcD4KLQotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzL2hpZ2hsaWdodC1ub2RlLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMvaGlnaGxpZ2h0LW5vZGUuaHRtbApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggNGI3NWU1YzMxZDE0YmQyYTY1YTI1MmNjMmI4Y2ZhOWZlMjI1
OWVjMi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMvaGlnaGxpZ2h0LW5vZGUuaHRtbAorKysgL2Rldi9u
dWxsCkBAIC0xLDUyICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci0KLTxzdHlsZT4KLQotYm9keSB7
Ci0gICAgbWFyZ2luOiAwOwotfQotI2NvbnRhaW5lciB7Ci0gICAgd2lkdGg6IDQwMHB4OwotICAg
IGhlaWdodDogNDAwcHg7Ci0gICAgYmFja2dyb3VuZC1jb2xvcjogZ3JleTsKLX0KLSNpbnNwZWN0
ZWRFbGVtZW50IHsKLSAgICBtYXJnaW46IDVweDsKLSAgICBib3JkZXI6IHNvbGlkIDEwcHggYXF1
YTsKLSAgICBwYWRkaW5nOiAxNXB4OwotICAgIHdpZHRoOiAyMDBweDsKLSAgICBoZWlnaHQ6IDIw
MHB4OwotICAgIGJhY2tncm91bmQtY29sb3I6IGJsdWU7Ci0gICAgZmxvYXQ6IGxlZnQ7Ci19Ci0j
ZGVzY3JpcHRpb24gewotICAgIGNsZWFyOiBib3RoOwotfQotCi08L3N0eWxlPgotCi08c2NyaXB0
IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzLXRl
c3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLQotZnVuY3Rpb24gdGVzdCgpCi17Ci0gICAgZnVu
Y3Rpb24gbm9kZVNlbGVjdGVkKG5vZGUpCi0gICAgewotICAgICAgICBSdW50aW1lQWdlbnQuZXZh
bHVhdGUoImR1bXBJbnNwZWN0b3JIaWdobGlnaHRSZWN0cygpIiwgSW5zcGVjdG9yVGVzdC5jb21w
bGV0ZVRlc3QpOwotICAgIH0KLQotICAgIEluc3BlY3RvclRlc3Quc2VsZWN0Tm9kZVdpdGhJZCgi
aW5zcGVjdGVkRWxlbWVudCIsIG5vZGVTZWxlY3RlZCk7Ci19Ci0KLTwvc2NyaXB0PgotPC9oZWFk
PgotCi08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci0KLTxkaXYgaWQ9Imluc3BlY3RlZEVsZW1l
bnQiPjwvZGl2PgotPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhlIHBv
c2l0aW9uIGFuZCBzaXplIG9mIHRoZSBoaWdobGlnaHQgcmVjdGFuZ2xlcyBvdmVybGF5ZWQgb24g
YW4gaW5zcGVjdGVkIGRpdi48L3A+Ci0KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2luc3BlY3Rvci9lbGVtZW50cy9oaWdobGlnaHQtcmVnaW9ucy1mbG93LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9lbGVtZW50cy9oaWdobGlnaHQtcmVnaW9u
cy1mbG93LWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOWUxZTNj
Njc5OWVmMDk3MWVkZGU4NzNhZDQ4YWE4ZjFhMTU5ZWEyZC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMv
aGlnaGxpZ2h0LXJlZ2lvbnMtZmxvdy1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw0
MjggKzAsMCBAQAotVGhpcyB0ZXN0IHZlcmlmaWVzIHRoZSBwb3NpdGlvbiBhbmQgc2l6ZSBvZiB0
aGUgaGlnaGxpZ2h0ZWQgbm9kZSBpbnNpZGUgQ1NTIFJlZ2lvbnMuCi0KLXsKLSAgICAic2Nyb2xs
IjogewotICAgICAgICAieCI6IDAsCi0gICAgICAgICJ5IjogMAotICAgIH0sCi0gICAgImZyYWdt
ZW50cyI6IFsKLSAgICAgICAgewotICAgICAgICAgICAgInF1YWRzIjogWwotICAgICAgICAgICAg
ICAgIFsKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngi
OiAzMCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMzAKLSAgICAgICAgICAgICAgICAg
ICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngi
OiAyMzAsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDMwCi0gICAgICAgICAgICAgICAg
ICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4
IjogMjMwLAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAxMDMwCi0gICAgICAgICAgICAg
ICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJ4IjogMzAsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDEwMzAKLSAgICAgICAgICAg
ICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgWwotICAgICAg
ICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDMwLAotICAgICAg
ICAgICAgICAgICAgICAgICAgInkiOiAzMAotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAg
ICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDIzMCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJ5IjogMzAKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAg
ICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAyMzAsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAieSI6IDEwMzAKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAg
ICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAzMCwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJ5IjogMTAzMAotICAgICAgICAgICAgICAgICAgICB9Ci0g
ICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICBbCi0gICAgICAgICAgICAgICAgICAg
IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogMzAsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAieSI6IDMwCi0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAg
IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogMjMwLAotICAgICAgICAgICAgICAgICAg
ICAgICAgInkiOiAzMAotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAg
ICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDIzMCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICJ5IjogMTAzMAotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAg
ICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDMwLAotICAgICAgICAgICAgICAg
ICAgICAgICAgInkiOiAxMDMwCi0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAg
ICBdLAotICAgICAgICAgICAgICAgIFsKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAg
ICAgICAgICAgICAgICAgIngiOiAzMCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMzAK
LSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAg
ICAgICAgICAgICAgICAgIngiOiAyMzAsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDMw
Ci0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAg
ICAgICAgICAgICAgICAgICJ4IjogMjMwLAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAx
MDMwCi0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJ4IjogMzAsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6
IDEwMzAKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0KLSAgICAgICAg
ICAgIF0sCi0gICAgICAgICAgICAic2hvd1J1bGVycyI6IGZhbHNlLAotICAgICAgICAgICAgImNv
bnRlbnRDb2xvciI6ICJyZ2JhKDExMSwgMTY4LCAyMjAsIDAuNjU4ODIzNTI5NDExNzY0NykiLAot
ICAgICAgICAgICAgImNvbnRlbnRPdXRsaW5lQ29sb3IiOiAicmdiYSgwLCAwLCAwLCAwKSIsCi0g
ICAgICAgICAgICAicGFkZGluZ0NvbG9yIjogInJnYmEoMTQ3LCAxOTYsIDEyNSwgMC41NDkwMTk2
MDc4NDMxMzczKSIsCi0gICAgICAgICAgICAiYm9yZGVyQ29sb3IiOiAicmdiYSgyNTUsIDIyOSwg
MTUzLCAwLjY1ODgyMzUyOTQxMTc2NDcpIiwKLSAgICAgICAgICAgICJtYXJnaW5Db2xvciI6ICJy
Z2JhKDI0NiwgMTc4LCAxMDcsIDAuNjU4ODIzNTI5NDExNzY0NykiLAotICAgICAgICAgICAgInJl
Z2lvbiI6IHsKLSAgICAgICAgICAgICAgICAicXVhZCI6IFsKLSAgICAgICAgICAgICAgICAgICAg
ewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAzMCwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJ5IjogMzAKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAg
ewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAyMzAsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAieSI6IDMwCi0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAg
IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogMjMwLAotICAgICAgICAgICAgICAgICAg
ICAgICAgInkiOiAyMzAKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAg
ICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAzMCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICJ5IjogMjMwCi0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBd
Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0sCi0gICAgICAgIHsKLSAgICAgICAgICAgICJxdWFk
cyI6IFsKLSAgICAgICAgICAgICAgICBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAg
ICAgICAgICAgICAgICAgICJ4IjogMjkwLAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAt
MTcwCi0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJ4IjogMzkwLAotICAgICAgICAgICAgICAgICAgICAgICAgInki
OiAtMTcwCi0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJ4IjogMzkwLAotICAgICAgICAgICAgICAgICAgICAgICAg
InkiOiA4MzAKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewot
ICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAyOTAsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAieSI6IDgzMAotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXSwKLSAg
ICAgICAgICAgICAgICBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAg
ICAgICAgICJ4IjogMjkwLAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAtMTcwCi0gICAg
ICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAg
ICAgICAgICAgICJ4IjogMzkwLAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAtMTcwCi0g
ICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJ4IjogMzkwLAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiA4MzAK
LSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAg
ICAgICAgICAgICAgICAgIngiOiAyOTAsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDgz
MAotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAg
ICAgICBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4
IjogMjkwLAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAtMTcwCi0gICAgICAgICAgICAg
ICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJ4IjogMzkwLAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAtMTcwCi0gICAgICAgICAg
ICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJ4IjogMzkwLAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiA4MzAKLSAgICAgICAg
ICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAg
ICAgICAgIngiOiAyOTAsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDgzMAotICAgICAg
ICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICBbCi0g
ICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogMjkwLAot
ICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAtMTcwCi0gICAgICAgICAgICAgICAgICAgIH0s
Ci0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogMzkw
LAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAtMTcwCi0gICAgICAgICAgICAgICAgICAg
IH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4Ijog
MzkwLAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiA4MzAKLSAgICAgICAgICAgICAgICAg
ICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngi
OiAyOTAsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDgzMAotICAgICAgICAgICAgICAg
ICAgICB9Ci0gICAgICAgICAgICAgICAgXQotICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICJz
aG93UnVsZXJzIjogZmFsc2UsCi0gICAgICAgICAgICAiY29udGVudENvbG9yIjogInJnYmEoMTEx
LCAxNjgsIDIyMCwgMC42NTg4MjM1Mjk0MTE3NjQ3KSIsCi0gICAgICAgICAgICAiY29udGVudE91
dGxpbmVDb2xvciI6ICJyZ2JhKDAsIDAsIDAsIDApIiwKLSAgICAgICAgICAgICJwYWRkaW5nQ29s
b3IiOiAicmdiYSgxNDcsIDE5NiwgMTI1LCAwLjU0OTAxOTYwNzg0MzEzNzMpIiwKLSAgICAgICAg
ICAgICJib3JkZXJDb2xvciI6ICJyZ2JhKDI1NSwgMjI5LCAxNTMsIDAuNjU4ODIzNTI5NDExNzY0
NykiLAotICAgICAgICAgICAgIm1hcmdpbkNvbG9yIjogInJnYmEoMjQ2LCAxNzgsIDEwNywgMC42
NTg4MjM1Mjk0MTE3NjQ3KSIsCi0gICAgICAgICAgICAicmVnaW9uIjogewotICAgICAgICAgICAg
ICAgICJxdWFkIjogWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICAieCI6IDI5MCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMzAKLSAgICAgICAg
ICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAg
ICAgICAgIngiOiA0OTAsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDMwCi0gICAgICAg
ICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAg
ICAgICAgICJ4IjogNDkwLAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAyMzAKLSAgICAg
ICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAg
ICAgICAgICAgIngiOiAyOTAsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDIzMAotICAg
ICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXQotICAgICAgICAgICAgfQotICAg
ICAgICB9LAotICAgICAgICB7Ci0gICAgICAgICAgICAicXVhZHMiOiBbCi0gICAgICAgICAgICAg
ICAgWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6
IDQyNSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogLTM5NQotICAgICAgICAgICAgICAg
ICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAi
eCI6IDYyNSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogLTM5NQotICAgICAgICAgICAg
ICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICAieCI6IDYyNSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogNjA1Ci0gICAgICAgICAg
ICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJ4IjogNDI1LAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiA2MDUKLSAgICAgICAg
ICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgWwotICAg
ICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDQyNSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJ5IjogLTM5NQotICAgICAgICAgICAgICAgICAgICB9LAot
ICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDYyNSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogLTM5NQotICAgICAgICAgICAgICAgICAgICB9
LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDYy
NSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogNjA1Ci0gICAgICAgICAgICAgICAgICAg
IH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4Ijog
NDI1LAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiA2MDUKLSAgICAgICAgICAgICAgICAg
ICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgWwotICAgICAgICAgICAg
ICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDQyNSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJ5IjogLTM5NQotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAg
ICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDYyNSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICJ5IjogLTM5NQotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAg
ICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDYyNSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJ5IjogNjA1Ci0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAg
ICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogNDI1LAotICAg
ICAgICAgICAgICAgICAgICAgICAgInkiOiA2MDUKLSAgICAgICAgICAgICAgICAgICAgfQotICAg
ICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgWwotICAgICAgICAgICAgICAgICAgICB7
Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDQyNSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJ5IjogLTM5NQotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAg
ICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDYyNSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICJ5IjogLTM5NQotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAg
ICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDYyNSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICJ5IjogNjA1Ci0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAg
ICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogNDI1LAotICAgICAgICAgICAg
ICAgICAgICAgICAgInkiOiA2MDUKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAg
ICAgIF0KLSAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAic2hvd1J1bGVycyI6IGZhbHNlLAot
ICAgICAgICAgICAgImNvbnRlbnRDb2xvciI6ICJyZ2JhKDExMSwgMTY4LCAyMjAsIDAuNjU4ODIz
NTI5NDExNzY0NykiLAotICAgICAgICAgICAgImNvbnRlbnRPdXRsaW5lQ29sb3IiOiAicmdiYSgw
LCAwLCAwLCAwKSIsCi0gICAgICAgICAgICAicGFkZGluZ0NvbG9yIjogInJnYmEoMTQ3LCAxOTYs
IDEyNSwgMC41NDkwMTk2MDc4NDMxMzczKSIsCi0gICAgICAgICAgICAiYm9yZGVyQ29sb3IiOiAi
cmdiYSgyNTUsIDIyOSwgMTUzLCAwLjY1ODgyMzUyOTQxMTc2NDcpIiwKLSAgICAgICAgICAgICJt
YXJnaW5Db2xvciI6ICJyZ2JhKDI0NiwgMTc4LCAxMDcsIDAuNjU4ODIzNTI5NDExNzY0NykiLAot
ICAgICAgICAgICAgInJlZ2lvbiI6IHsKLSAgICAgICAgICAgICAgICAicXVhZCI6IFsKLSAgICAg
ICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA0MjUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAieSI6IDUKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAg
ICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA2MjUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAieSI6IDUKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAg
ICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA2MjUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAieSI6IDUKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAg
ICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA0MjUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAieSI6IDUKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAg
ICAgICAgICAgIF0KLSAgICAgICAgICAgIH0KLSAgICAgICAgfSwKLSAgICAgICAgewotICAgICAg
ICAgICAgInF1YWRzIjogWwotICAgICAgICAgICAgICAgIFsKLSAgICAgICAgICAgICAgICAgICAg
ewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA2MzUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAieSI6IC0zOTUKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAg
ICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA2MzUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAieSI6IC0zOTUKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAg
ICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA2MzUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAieSI6IDYwNQotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAg
ICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDYzNSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJ5IjogNjA1Ci0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAg
ICAgICBdLAotICAgICAgICAgICAgICAgIFsKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAg
ICAgICAgICAgICAgICAgICAgIngiOiA2MzUsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6
IC0zOTUKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAg
ICAgICAgICAgICAgICAgICAgICAgIngiOiA2MzUsCi0gICAgICAgICAgICAgICAgICAgICAgICAi
eSI6IC0zOTUKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewot
ICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA2MzUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAieSI6IDYwNQotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7
Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDYzNSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJ5IjogNjA1Ci0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdLAot
ICAgICAgICAgICAgICAgIFsKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAg
ICAgICAgICAgIngiOiA2MzUsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IC0zOTUKLSAg
ICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAg
ICAgICAgICAgICAgIngiOiA2MzUsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IC0zOTUK
LSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAg
ICAgICAgICAgICAgICAgIngiOiA2MzUsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDYw
NQotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAg
ICAgICAgICAgICAgICAgICAieCI6IDYzNSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5Ijog
NjA1Ci0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAg
ICAgICAgIFsKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAg
IngiOiA2MzUsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IC0zOTUKLSAgICAgICAgICAg
ICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAg
ICAgIngiOiA2MzUsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IC0zOTUKLSAgICAgICAg
ICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAg
ICAgICAgIngiOiA2MzUsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDYwNQotICAgICAg
ICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICAieCI6IDYzNSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogNjA1Ci0gICAg
ICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdCi0gICAgICAgICAgICBdLAotICAg
ICAgICAgICAgInNob3dSdWxlcnMiOiBmYWxzZSwKLSAgICAgICAgICAgICJjb250ZW50Q29sb3Ii
OiAicmdiYSgxMTEsIDE2OCwgMjIwLCAwLjY1ODgyMzUyOTQxMTc2NDcpIiwKLSAgICAgICAgICAg
ICJjb250ZW50T3V0bGluZUNvbG9yIjogInJnYmEoMCwgMCwgMCwgMCkiLAotICAgICAgICAgICAg
InBhZGRpbmdDb2xvciI6ICJyZ2JhKDE0NywgMTk2LCAxMjUsIDAuNTQ5MDE5NjA3ODQzMTM3Myki
LAotICAgICAgICAgICAgImJvcmRlckNvbG9yIjogInJnYmEoMjU1LCAyMjksIDE1MywgMC42NTg4
MjM1Mjk0MTE3NjQ3KSIsCi0gICAgICAgICAgICAibWFyZ2luQ29sb3IiOiAicmdiYSgyNDYsIDE3
OCwgMTA3LCAwLjY1ODgyMzUyOTQxMTc2NDcpIiwKLSAgICAgICAgICAgICJyZWdpb24iOiB7Ci0g
ICAgICAgICAgICAgICAgInF1YWQiOiBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAg
ICAgICAgICAgICAgICAgICJ4IjogNjM1LAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiA1
Ci0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAg
ICAgICAgICAgICAgICAgICJ4IjogODM1LAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiA1
Ci0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAg
ICAgICAgICAgICAgICAgICJ4IjogODM1LAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiA2
MDUKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAg
ICAgICAgICAgICAgICAgICAgIngiOiA2MzUsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6
IDYwNQotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXQotICAgICAgICAg
ICAgfQotICAgICAgICB9Ci0gICAgXSwKLSAgICAiZWxlbWVudEluZm8iOiB7Ci0gICAgICAgICJ0
YWdOYW1lIjogImRpdiIsCi0gICAgICAgICJpZFZhbHVlIjogImluc3BlY3RlZEVsZW1lbnQiLAot
ICAgICAgICAibm9kZVdpZHRoIjogIjIwMCIsCi0gICAgICAgICJub2RlSGVpZ2h0IjogIjEwMDAi
LAotICAgICAgICAiY29udGVudEZsb3dJbmZvIjogewotICAgICAgICAgICAgIm5hbWUiOiAiZmxv
dyIKLSAgICAgICAgfQotICAgIH0KLX0KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yL2VsZW1lbnRzL2hpZ2hsaWdodC1yZWdpb25zLWZsb3ctaG9yaXotYnQtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzL2hpZ2hsaWdodC1yZWdpb25zLWZsb3ct
aG9yaXotYnQtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3MGYx
ZTdjMmRjOGFhYjUyYWMxOTlkNDA5MzhkMzNjOTUwZDk3ZjAzLi4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9lbGVtZW50
cy9oaWdobGlnaHQtcmVnaW9ucy1mbG93LWhvcml6LWJ0LWV4cGVjdGVkLnR4dAorKysgL2Rldi9u
dWxsCkBAIC0xLDQyOCArMCwwIEBACi1UaGlzIHRlc3QgdmVyaWZpZXMgdGhlIHBvc2l0aW9uIGFu
ZCBzaXplIG9mIHRoZSBoaWdobGlnaHRlZCBub2RlIGluc2lkZSBDU1MgUmVnaW9ucy4KLQotewot
ICAgICJzY3JvbGwiOiB7Ci0gICAgICAgICJ4IjogMCwKLSAgICAgICAgInkiOiAwCi0gICAgfSwK
LSAgICAiZnJhZ21lbnRzIjogWwotICAgICAgICB7Ci0gICAgICAgICAgICAicXVhZHMiOiBbCi0g
ICAgICAgICAgICAgICAgWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICAieCI6IDMwLAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAtNzMwCi0gICAg
ICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAg
ICAgICAgICAgICJ4IjogMjMwLAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAtNzMwCi0g
ICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJ4IjogMjMwLAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAyNzAK
LSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAg
ICAgICAgICAgICAgICAgIngiOiAzMCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMjcw
Ci0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAg
ICAgIFsKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngi
OiAzMCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogLTczMAotICAgICAgICAgICAgICAg
ICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAi
eCI6IDIzMCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogLTczMAotICAgICAgICAgICAg
ICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICAieCI6IDIzMCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMjcwCi0gICAgICAgICAg
ICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJ4IjogMzAsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDI3MAotICAgICAgICAg
ICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICBbCi0gICAg
ICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogMzAsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAieSI6IC03MzAKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAg
ICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAyMzAsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAieSI6IC03MzAKLSAgICAgICAgICAgICAgICAgICAgfSwK
LSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAyMzAs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDI3MAotICAgICAgICAgICAgICAgICAgICB9
LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDMw
LAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAyNzAKLSAgICAgICAgICAgICAgICAgICAg
fQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgWwotICAgICAgICAgICAgICAg
ICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDMwLAotICAgICAgICAgICAgICAg
ICAgICAgICAgInkiOiAtNzMwCi0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAg
ICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogMjMwLAotICAgICAgICAgICAg
ICAgICAgICAgICAgInkiOiAtNzMwCi0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAg
ICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogMjMwLAotICAgICAgICAg
ICAgICAgICAgICAgICAgInkiOiAyNzAKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAg
ICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAzMCwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICJ5IjogMjcwCi0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAg
ICAgICAgICBdCi0gICAgICAgICAgICBdLAotICAgICAgICAgICAgInNob3dSdWxlcnMiOiBmYWxz
ZSwKLSAgICAgICAgICAgICJjb250ZW50Q29sb3IiOiAicmdiYSgxMTEsIDE2OCwgMjIwLCAwLjY1
ODgyMzUyOTQxMTc2NDcpIiwKLSAgICAgICAgICAgICJjb250ZW50T3V0bGluZUNvbG9yIjogInJn
YmEoMCwgMCwgMCwgMCkiLAotICAgICAgICAgICAgInBhZGRpbmdDb2xvciI6ICJyZ2JhKDE0Nywg
MTk2LCAxMjUsIDAuNTQ5MDE5NjA3ODQzMTM3MykiLAotICAgICAgICAgICAgImJvcmRlckNvbG9y
IjogInJnYmEoMjU1LCAyMjksIDE1MywgMC42NTg4MjM1Mjk0MTE3NjQ3KSIsCi0gICAgICAgICAg
ICAibWFyZ2luQ29sb3IiOiAicmdiYSgyNDYsIDE3OCwgMTA3LCAwLjY1ODgyMzUyOTQxMTc2NDcp
IiwKLSAgICAgICAgICAgICJyZWdpb24iOiB7Ci0gICAgICAgICAgICAgICAgInF1YWQiOiBbCi0g
ICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogMzAsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAieSI6IDcwCi0gICAgICAgICAgICAgICAgICAgIH0sCi0g
ICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogMjMwLAot
ICAgICAgICAgICAgICAgICAgICAgICAgInkiOiA3MAotICAgICAgICAgICAgICAgICAgICB9LAot
ICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDIzMCwK
LSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMjcwCi0gICAgICAgICAgICAgICAgICAgIH0s
Ci0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogMzAs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDI3MAotICAgICAgICAgICAgICAgICAgICB9
Ci0gICAgICAgICAgICAgICAgXQotICAgICAgICAgICAgfQotICAgICAgICB9LAotICAgICAgICB7
Ci0gICAgICAgICAgICAicXVhZHMiOiBbCi0gICAgICAgICAgICAgICAgWwotICAgICAgICAgICAg
ICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDI5MCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJ5IjogLTUzMAotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAg
ICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDM5MCwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICJ5IjogLTUzMAotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAg
ICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDM5MCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJ5IjogNDcwCi0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAg
ICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogMjkwLAotICAg
ICAgICAgICAgICAgICAgICAgICAgInkiOiA0NzAKLSAgICAgICAgICAgICAgICAgICAgfQotICAg
ICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgWwotICAgICAgICAgICAgICAgICAgICB7
Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDI5MCwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJ5IjogLTUzMAotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAg
ICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDM5MCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICJ5IjogLTUzMAotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAg
ICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDM5MCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICJ5IjogNDcwCi0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAg
ICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogMjkwLAotICAgICAgICAgICAg
ICAgICAgICAgICAgInkiOiA0NzAKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAg
ICAgIF0sCi0gICAgICAgICAgICAgICAgWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAg
ICAgICAgICAgICAgICAgICAieCI6IDI5MCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5Ijog
LTUzMAotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICAieCI6IDM5MCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5
IjogLTUzMAotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0g
ICAgICAgICAgICAgICAgICAgICAgICAieCI6IDM5MCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJ5IjogNDcwCi0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsK
LSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogMjkwLAotICAgICAgICAgICAgICAgICAgICAg
ICAgInkiOiA0NzAKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0g
ICAgICAgICAgICAgICAgWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICAieCI6IDI5MCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogLTUzMAotICAg
ICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICAieCI6IDM5MCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogLTUzMAot
ICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICAieCI6IDM5MCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogNDcw
Ci0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAg
ICAgICAgICAgICAgICAgICJ4IjogMjkwLAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiA0
NzAKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0KLSAgICAgICAgICAg
IF0sCi0gICAgICAgICAgICAic2hvd1J1bGVycyI6IGZhbHNlLAotICAgICAgICAgICAgImNvbnRl
bnRDb2xvciI6ICJyZ2JhKDExMSwgMTY4LCAyMjAsIDAuNjU4ODIzNTI5NDExNzY0NykiLAotICAg
ICAgICAgICAgImNvbnRlbnRPdXRsaW5lQ29sb3IiOiAicmdiYSgwLCAwLCAwLCAwKSIsCi0gICAg
ICAgICAgICAicGFkZGluZ0NvbG9yIjogInJnYmEoMTQ3LCAxOTYsIDEyNSwgMC41NDkwMTk2MDc4
NDMxMzczKSIsCi0gICAgICAgICAgICAiYm9yZGVyQ29sb3IiOiAicmdiYSgyNTUsIDIyOSwgMTUz
LCAwLjY1ODgyMzUyOTQxMTc2NDcpIiwKLSAgICAgICAgICAgICJtYXJnaW5Db2xvciI6ICJyZ2Jh
KDI0NiwgMTc4LCAxMDcsIDAuNjU4ODIzNTI5NDExNzY0NykiLAotICAgICAgICAgICAgInJlZ2lv
biI6IHsKLSAgICAgICAgICAgICAgICAicXVhZCI6IFsKLSAgICAgICAgICAgICAgICAgICAgewot
ICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAyOTAsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAieSI6IDcwCi0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsK
LSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogNDkwLAotICAgICAgICAgICAgICAgICAgICAg
ICAgInkiOiA3MAotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7
Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDQ5MCwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJ5IjogMjcwCi0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAg
IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogMjkwLAotICAgICAgICAgICAgICAgICAg
ICAgICAgInkiOiAyNzAKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0K
LSAgICAgICAgICAgIH0KLSAgICAgICAgfSwKLSAgICAgICAgewotICAgICAgICAgICAgInF1YWRz
IjogWwotICAgICAgICAgICAgICAgIFsKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAg
ICAgICAgICAgICAgICAgIngiOiA0MjUsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IC0z
MDUKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAg
ICAgICAgICAgICAgICAgICAgIngiOiA2MjUsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6
IC0zMDUKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAg
ICAgICAgICAgICAgICAgICAgICAgIngiOiA2MjUsCi0gICAgICAgICAgICAgICAgICAgICAgICAi
eSI6IDY5NQotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0g
ICAgICAgICAgICAgICAgICAgICAgICAieCI6IDQyNSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJ5IjogNjk1Ci0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdLAotICAg
ICAgICAgICAgICAgIFsKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAg
ICAgICAgIngiOiA0MjUsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IC0zMDUKLSAgICAg
ICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAg
ICAgICAgICAgIngiOiA2MjUsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IC0zMDUKLSAg
ICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAg
ICAgICAgICAgICAgIngiOiA2MjUsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDY5NQot
ICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICAieCI6IDQyNSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogNjk1
Ci0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAg
ICAgIFsKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngi
OiA0MjUsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IC0zMDUKLSAgICAgICAgICAgICAg
ICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAg
IngiOiA2MjUsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IC0zMDUKLSAgICAgICAgICAg
ICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAg
ICAgIngiOiA2MjUsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDY5NQotICAgICAgICAg
ICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICAieCI6IDQyNSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogNjk1Ci0gICAgICAg
ICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgIFsKLSAg
ICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA0MjUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAieSI6IC0zMDUKLSAgICAgICAgICAgICAgICAgICAgfSwK
LSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA2MjUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IC0zMDUKLSAgICAgICAgICAgICAgICAgICAg
fSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA2
MjUsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDY5NQotICAgICAgICAgICAgICAgICAg
ICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6
IDQyNSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogNjk1Ci0gICAgICAgICAgICAgICAg
ICAgIH0KLSAgICAgICAgICAgICAgICBdCi0gICAgICAgICAgICBdLAotICAgICAgICAgICAgInNo
b3dSdWxlcnMiOiBmYWxzZSwKLSAgICAgICAgICAgICJjb250ZW50Q29sb3IiOiAicmdiYSgxMTEs
IDE2OCwgMjIwLCAwLjY1ODgyMzUyOTQxMTc2NDcpIiwKLSAgICAgICAgICAgICJjb250ZW50T3V0
bGluZUNvbG9yIjogInJnYmEoMCwgMCwgMCwgMCkiLAotICAgICAgICAgICAgInBhZGRpbmdDb2xv
ciI6ICJyZ2JhKDE0NywgMTk2LCAxMjUsIDAuNTQ5MDE5NjA3ODQzMTM3MykiLAotICAgICAgICAg
ICAgImJvcmRlckNvbG9yIjogInJnYmEoMjU1LCAyMjksIDE1MywgMC42NTg4MjM1Mjk0MTE3NjQ3
KSIsCi0gICAgICAgICAgICAibWFyZ2luQ29sb3IiOiAicmdiYSgyNDYsIDE3OCwgMTA3LCAwLjY1
ODgyMzUyOTQxMTc2NDcpIiwKLSAgICAgICAgICAgICJyZWdpb24iOiB7Ci0gICAgICAgICAgICAg
ICAgInF1YWQiOiBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJ4IjogNDI1LAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAyOTUKLSAgICAgICAg
ICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAg
ICAgICAgIngiOiA2MjUsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDI5NQotICAgICAg
ICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICAieCI6IDYyNSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMjk1Ci0gICAg
ICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAg
ICAgICAgICAgICJ4IjogNDI1LAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAyOTUKLSAg
ICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0KLSAgICAgICAgICAgIH0KLSAg
ICAgICAgfSwKLSAgICAgICAgewotICAgICAgICAgICAgInF1YWRzIjogWwotICAgICAgICAgICAg
ICAgIFsKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngi
OiA2MzUsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IC0zMDUKLSAgICAgICAgICAgICAg
ICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAg
IngiOiA2MzUsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IC0zMDUKLSAgICAgICAgICAg
ICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAg
ICAgIngiOiA2MzUsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDY5NQotICAgICAgICAg
ICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICAieCI6IDYzNSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogNjk1Ci0gICAgICAg
ICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgIFsKLSAg
ICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA2MzUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAieSI6IC0zMDUKLSAgICAgICAgICAgICAgICAgICAgfSwK
LSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA2MzUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IC0zMDUKLSAgICAgICAgICAgICAgICAgICAg
fSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA2
MzUsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDY5NQotICAgICAgICAgICAgICAgICAg
ICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6
IDYzNSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogNjk1Ci0gICAgICAgICAgICAgICAg
ICAgIH0KLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgIFsKLSAgICAgICAgICAg
ICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA2MzUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAieSI6IC0zMDUKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAg
ICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA2MzUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAieSI6IC0zMDUKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAg
ICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA2MzUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAieSI6IDY5NQotICAgICAgICAgICAgICAgICAgICB9LAotICAg
ICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDYzNSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJ5IjogNjk1Ci0gICAgICAgICAgICAgICAgICAgIH0KLSAg
ICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgIFsKLSAgICAgICAgICAgICAgICAgICAg
ewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA2MzUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAieSI6IC0zMDUKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAg
ICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA2MzUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAieSI6IC0zMDUKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAg
ICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA2MzUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAieSI6IDY5NQotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAg
ICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDYzNSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJ5IjogNjk1Ci0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAg
ICAgICBdCi0gICAgICAgICAgICBdLAotICAgICAgICAgICAgInNob3dSdWxlcnMiOiBmYWxzZSwK
LSAgICAgICAgICAgICJjb250ZW50Q29sb3IiOiAicmdiYSgxMTEsIDE2OCwgMjIwLCAwLjY1ODgy
MzUyOTQxMTc2NDcpIiwKLSAgICAgICAgICAgICJjb250ZW50T3V0bGluZUNvbG9yIjogInJnYmEo
MCwgMCwgMCwgMCkiLAotICAgICAgICAgICAgInBhZGRpbmdDb2xvciI6ICJyZ2JhKDE0NywgMTk2
LCAxMjUsIDAuNTQ5MDE5NjA3ODQzMTM3MykiLAotICAgICAgICAgICAgImJvcmRlckNvbG9yIjog
InJnYmEoMjU1LCAyMjksIDE1MywgMC42NTg4MjM1Mjk0MTE3NjQ3KSIsCi0gICAgICAgICAgICAi
bWFyZ2luQ29sb3IiOiAicmdiYSgyNDYsIDE3OCwgMTA3LCAwLjY1ODgyMzUyOTQxMTc2NDcpIiwK
LSAgICAgICAgICAgICJyZWdpb24iOiB7Ci0gICAgICAgICAgICAgICAgInF1YWQiOiBbCi0gICAg
ICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogNjM1LAotICAg
ICAgICAgICAgICAgICAgICAgICAgInkiOiAyOTUKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAg
ICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA4MzUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAieSI6IDI5NQotICAgICAgICAgICAgICAgICAgICB9LAot
ICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDgzNSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogODk1Ci0gICAgICAgICAgICAgICAgICAgIH0s
Ci0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogNjM1
LAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiA4OTUKLSAgICAgICAgICAgICAgICAgICAg
fQotICAgICAgICAgICAgICAgIF0KLSAgICAgICAgICAgIH0KLSAgICAgICAgfQotICAgIF0sCi0g
ICAgImVsZW1lbnRJbmZvIjogewotICAgICAgICAidGFnTmFtZSI6ICJkaXYiLAotICAgICAgICAi
aWRWYWx1ZSI6ICJpbnNwZWN0ZWRFbGVtZW50IiwKLSAgICAgICAgIm5vZGVXaWR0aCI6ICIyMDAi
LAotICAgICAgICAibm9kZUhlaWdodCI6ICIxMDAwIiwKLSAgICAgICAgImNvbnRlbnRGbG93SW5m
byI6IHsKLSAgICAgICAgICAgICJuYW1lIjogImZsb3ciCi0gICAgICAgIH0KLSAgICB9Ci19Ci0K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9lbGVtZW50cy9oaWdobGlnaHQtcmVn
aW9ucy1mbG93LWhvcml6LWJ0Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMv
aGlnaGxpZ2h0LXJlZ2lvbnMtZmxvdy1ob3Jpei1idC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCBmNjg1MzllNjM4ZThlM2I5M2VkMTdlMGUwYjlkMTZjOTMyODhmOWM3Li4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2lu
c3BlY3Rvci9lbGVtZW50cy9oaWdobGlnaHQtcmVnaW9ucy1mbG93LWhvcml6LWJ0Lmh0bWwKKysr
IC9kZXYvbnVsbApAQCAtMSw4NyArMCwwIEBACi08IWRvY3R5cGUgaHRtbD4KLTxodG1sIHN0eWxl
PSItd2Via2l0LXdyaXRpbmctbW9kZTogaG9yaXpvbnRhbC1idDsiPgotPGhlYWQ+Ci0KLTxzdHls
ZT4KLQotYm9keSB7Ci0gICAgbWFyZ2luOiAwOwotfQotI2Zsb3cgewotICAgIC13ZWJraXQtZmxv
dy1pbnRvOiBmbG93OwotfQotI2NvbnRhaW5lciB7Ci0gICAgd2lkdGg6IDQwMHB4OwotICAgIGhl
aWdodDogNDAwcHg7Ci0gICAgYmFja2dyb3VuZC1jb2xvcjogZ3JleTsKLX0KLSNpbnNwZWN0ZWRF
bGVtZW50IHsKLSAgICB3aWR0aDogMTAwJTsKLSAgICBoZWlnaHQ6IDEwMDBweDsKLSAgICBiYWNr
Z3JvdW5kLWNvbG9yOiBncmVlbjsKLX0KLS5yZWdpb24gewotICAgIG1hcmdpbjogNXB4OwotICAg
IGJvcmRlcjogc29saWQgMTBweCBhcXVhOwotICAgIHBhZGRpbmc6IDE1cHg7Ci0gICAgd2lkdGg6
IDIwMHB4OwotICAgIGhlaWdodDogMjAwcHg7Ci0gICAgYmFja2dyb3VuZC1jb2xvcjogYmx1ZTsK
LSAgICBmbG9hdDogbGVmdDsKLSAgICAtd2Via2l0LWZsb3ctZnJvbTogZmxvdzsKLX0KLS5zbWFs
bCB7Ci0gICAgd2lkdGg6IDEwMHB4OwotfQotLnplcm8taGVpZ2h0IHsKLSAgICBib3JkZXI6IG5v
bmU7Ci0gICAgaGVpZ2h0OiAwcHg7Ci0gICAgcGFkZGluZzogMDsKLX0KLS56ZXJvLXNpemUgewot
ICAgIGJvcmRlcjogbm9uZTsKLSAgICB3aWR0aDogMHB4OwotICAgIGhlaWdodDogMHB4OwotICAg
IHBhZGRpbmc6IDA7Ci19Ci0uaGlkZGVuIHsKLSAgICBkaXNwbGF5OiBub25lOwotfQotI2Rlc2Ny
aXB0aW9uIHsKLSAgICBjbGVhcjogYm90aDsKLX0KLQotPC9zdHlsZT4KLQotPHNjcmlwdCBzcmM9
Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9lbGVtZW50cy10ZXN0Lmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQ+Ci0KLWZ1bmN0aW9uIHRlc3QoKQotewotICAgIGZ1bmN0aW9u
IG5vZGVTZWxlY3RlZChub2RlKQotICAgIHsKLSAgICAgICAgUnVudGltZUFnZW50LmV2YWx1YXRl
KCJkdW1wSW5zcGVjdG9ySGlnaGxpZ2h0ZWROb2RlKCkiLCBJbnNwZWN0b3JUZXN0LmNvbXBsZXRl
VGVzdCk7Ci0gICAgfQotCi0gICAgSW5zcGVjdG9yVGVzdC5zZWxlY3ROb2RlV2l0aElkKCJpbnNw
ZWN0ZWRFbGVtZW50Iiwgbm9kZVNlbGVjdGVkKTsKLX0KLQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci0K
LTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLQotPGRpdiBpZD0iZmxvdyI+Ci0gICAgPGRpdiBp
ZD0iaW5zcGVjdGVkRWxlbWVudCI+PC9kaXY+Ci08L2Rpdj4KLQotPGRpdiBjbGFzcz0icmVnaW9u
Ij48L2Rpdj4KLTxkaXYgY2xhc3M9InJlZ2lvbiBzbWFsbCI+PC9kaXY+Ci08ZGl2IGNsYXNzPSJy
ZWdpb24gemVyby1oZWlnaHQiPjwvZGl2PgotPGRpdiBjbGFzcz0icmVnaW9uIHplcm8tc2l6ZSI+
PC9kaXY+Ci08ZGl2IGNsYXNzPSJyZWdpb24gaGlkZGVuIj48L2Rpdj4KLTxwIGlkPSJkZXNjcmlw
dGlvbiI+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoZSBwb3NpdGlvbiBhbmQgc2l6ZSBvZiB0aGUgaGln
aGxpZ2h0ZWQgbm9kZSBpbnNpZGUgQ1NTIFJlZ2lvbnMuPC9wPgotCi08L2JvZHk+Ci08L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMvaGlnaGxpZ2h0LXJl
Z2lvbnMtZmxvdy10cmFuc2Zvcm0tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
L2VsZW1lbnRzL2hpZ2hsaWdodC1yZWdpb25zLWZsb3ctdHJhbnNmb3JtLWV4cGVjdGVkLnR4dApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOWUyNWU5MzllOWYwMDgzODZhYmYyMWQ0Yjkz
NDM0N2Y5OTQ4MzBiMi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMvaGlnaGxpZ2h0LXJlZ2lvbnMtZmxv
dy10cmFuc2Zvcm0tZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNDI4ICswLDAgQEAK
LVRoaXMgdGVzdCB2ZXJpZmllcyB0aGUgcG9zaXRpb24gYW5kIHNpemUgb2YgdGhlIGhpZ2hsaWdo
dGVkIG5vZGUgaW5zaWRlIENTUyBSZWdpb25zLgotCi17Ci0gICAgInNjcm9sbCI6IHsKLSAgICAg
ICAgIngiOiAwLAotICAgICAgICAieSI6IDAKLSAgICB9LAotICAgICJmcmFnbWVudHMiOiBbCi0g
ICAgICAgIHsKLSAgICAgICAgICAgICJxdWFkcyI6IFsKLSAgICAgICAgICAgICAgICBbCi0gICAg
ICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogMjA3LAotICAg
ICAgICAgICAgICAgICAgICAgICAgInkiOiAyNgotICAgICAgICAgICAgICAgICAgICB9LAotICAg
ICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDM5NSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJ5IjogOTQKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAg
ICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA1MywKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJ5IjogMTAzNAotICAgICAgICAgICAgICAgICAgICB9LAot
ICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IC0xMzUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDk2NgotICAgICAgICAgICAgICAgICAgICB9
Ci0gICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICBbCi0gICAgICAgICAgICAgICAg
ICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogMjA3LAotICAgICAgICAgICAgICAg
ICAgICAgICAgInkiOiAyNgotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAg
ICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDM5NSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICJ5IjogOTQKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAg
ICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA1MywKLSAgICAgICAgICAgICAg
ICAgICAgICAgICJ5IjogMTAzNAotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAg
ICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IC0xMzUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAieSI6IDk2NgotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAg
ICAgICAgXSwKLSAgICAgICAgICAgICAgICBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJ4IjogMjA3LAotICAgICAgICAgICAgICAgICAgICAgICAgInki
OiAyNgotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICAieCI6IDM5NSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5
IjogOTQKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAg
ICAgICAgICAgICAgICAgICAgICAgIngiOiA1MywKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5
IjogMTAzNAotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0g
ICAgICAgICAgICAgICAgICAgICAgICAieCI6IC0xMzUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAieSI6IDk2NgotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXSwKLSAg
ICAgICAgICAgICAgICBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAg
ICAgICAgICJ4IjogMjA3LAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAyNgotICAgICAg
ICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICAieCI6IDM5NSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogOTQKLSAgICAg
ICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAg
ICAgICAgICAgIngiOiA1MywKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMTAzNAotICAg
ICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICAieCI6IC0xMzUsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDk2Ngot
ICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXQotICAgICAgICAgICAgXSwK
LSAgICAgICAgICAgICJzaG93UnVsZXJzIjogZmFsc2UsCi0gICAgICAgICAgICAiY29udGVudENv
bG9yIjogInJnYmEoMTExLCAxNjgsIDIyMCwgMC42NTg4MjM1Mjk0MTE3NjQ3KSIsCi0gICAgICAg
ICAgICAiY29udGVudE91dGxpbmVDb2xvciI6ICJyZ2JhKDAsIDAsIDAsIDApIiwKLSAgICAgICAg
ICAgICJwYWRkaW5nQ29sb3IiOiAicmdiYSgxNDcsIDE5NiwgMTI1LCAwLjU0OTAxOTYwNzg0MzEz
NzMpIiwKLSAgICAgICAgICAgICJib3JkZXJDb2xvciI6ICJyZ2JhKDI1NSwgMjI5LCAxNTMsIDAu
NjU4ODIzNTI5NDExNzY0NykiLAotICAgICAgICAgICAgIm1hcmdpbkNvbG9yIjogInJnYmEoMjQ2
LCAxNzgsIDEwNywgMC42NTg4MjM1Mjk0MTE3NjQ3KSIsCi0gICAgICAgICAgICAicmVnaW9uIjog
ewotICAgICAgICAgICAgICAgICJxdWFkIjogWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICAieCI6IDMwLAotICAgICAgICAgICAgICAgICAgICAgICAgInki
OiAzMAotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICAieCI6IDIzMCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5
IjogMzAKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAg
ICAgICAgICAgICAgICAgICAgICAgIngiOiAyMzAsCi0gICAgICAgICAgICAgICAgICAgICAgICAi
eSI6IDIzMAotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0g
ICAgICAgICAgICAgICAgICAgICAgICAieCI6IDMwLAotICAgICAgICAgICAgICAgICAgICAgICAg
InkiOiAyMzAKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0KLSAgICAg
ICAgICAgIH0KLSAgICAgICAgfSwKLSAgICAgICAgewotICAgICAgICAgICAgInF1YWRzIjogWwot
ICAgICAgICAgICAgICAgIFsKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAg
ICAgICAgICAgIngiOiA0NjcsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IC0xNzQKLSAg
ICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAg
ICAgICAgICAgICAgIngiOiA1NjEsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IC0xNDAK
LSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAg
ICAgICAgICAgICAgICAgIngiOiAyMTksCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDgw
MAotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAg
ICAgICAgICAgICAgICAgICAieCI6IDEyNSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5Ijog
NzY2Ci0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAg
ICAgICAgIFsKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAg
IngiOiA0NjcsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IC0xNzQKLSAgICAgICAgICAg
ICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAg
ICAgIngiOiA1NjEsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IC0xNDAKLSAgICAgICAg
ICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAg
ICAgICAgIngiOiAyMTksCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDgwMAotICAgICAg
ICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICAieCI6IDEyNSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogNzY2Ci0gICAg
ICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgIFsK
LSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA0Njcs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IC0xNzQKLSAgICAgICAgICAgICAgICAgICAg
fSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA1
NjEsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IC0xNDAKLSAgICAgICAgICAgICAgICAg
ICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngi
OiAyMTksCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDgwMAotICAgICAgICAgICAgICAg
ICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAi
eCI6IDEyNSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogNzY2Ci0gICAgICAgICAgICAg
ICAgICAgIH0KLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgIFsKLSAgICAgICAg
ICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA0NjcsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAieSI6IC0xNzQKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAg
ICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA1NjEsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAieSI6IC0xNDAKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAg
ICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAyMTksCi0g
ICAgICAgICAgICAgICAgICAgICAgICAieSI6IDgwMAotICAgICAgICAgICAgICAgICAgICB9LAot
ICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDEyNSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogNzY2Ci0gICAgICAgICAgICAgICAgICAgIH0K
LSAgICAgICAgICAgICAgICBdCi0gICAgICAgICAgICBdLAotICAgICAgICAgICAgInNob3dSdWxl
cnMiOiBmYWxzZSwKLSAgICAgICAgICAgICJjb250ZW50Q29sb3IiOiAicmdiYSgxMTEsIDE2OCwg
MjIwLCAwLjY1ODgyMzUyOTQxMTc2NDcpIiwKLSAgICAgICAgICAgICJjb250ZW50T3V0bGluZUNv
bG9yIjogInJnYmEoMCwgMCwgMCwgMCkiLAotICAgICAgICAgICAgInBhZGRpbmdDb2xvciI6ICJy
Z2JhKDE0NywgMTk2LCAxMjUsIDAuNTQ5MDE5NjA3ODQzMTM3MykiLAotICAgICAgICAgICAgImJv
cmRlckNvbG9yIjogInJnYmEoMjU1LCAyMjksIDE1MywgMC42NTg4MjM1Mjk0MTE3NjQ3KSIsCi0g
ICAgICAgICAgICAibWFyZ2luQ29sb3IiOiAicmdiYSgyNDYsIDE3OCwgMTA3LCAwLjY1ODgyMzUy
OTQxMTc2NDcpIiwKLSAgICAgICAgICAgICJyZWdpb24iOiB7Ci0gICAgICAgICAgICAgICAgInF1
YWQiOiBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4
IjogMjkwLAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAzMAotICAgICAgICAgICAgICAg
ICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAi
eCI6IDQ5MCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMzAKLSAgICAgICAgICAgICAg
ICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAg
IngiOiA0OTAsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDIzMAotICAgICAgICAgICAg
ICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICAieCI6IDI5MCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMjMwCi0gICAgICAgICAg
ICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdCi0gICAgICAgICAgICB9Ci0gICAgICAgIH0s
Ci0gICAgICAgIHsKLSAgICAgICAgICAgICJxdWFkcyI6IFsKLSAgICAgICAgICAgICAgICBbCi0g
ICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogNjAyLAot
ICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAtMzk5Ci0gICAgICAgICAgICAgICAgICAgIH0s
Ci0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogNzkw
LAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAtMzMxCi0gICAgICAgICAgICAgICAgICAg
IH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4Ijog
NDQ4LAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiA2MDkKLSAgICAgICAgICAgICAgICAg
ICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngi
OiAyNjAsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDU0MQotICAgICAgICAgICAgICAg
ICAgICB9Ci0gICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICBbCi0gICAgICAgICAg
ICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogNjAyLAotICAgICAgICAg
ICAgICAgICAgICAgICAgInkiOiAtMzk5Ci0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAg
ICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogNzkwLAotICAgICAg
ICAgICAgICAgICAgICAgICAgInkiOiAtMzMxCi0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAg
ICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogNDQ4LAotICAg
ICAgICAgICAgICAgICAgICAgICAgInkiOiA2MDkKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAg
ICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAyNjAsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAieSI6IDU0MQotICAgICAgICAgICAgICAgICAgICB9Ci0g
ICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICBbCi0gICAgICAgICAgICAgICAgICAg
IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogNjAyLAotICAgICAgICAgICAgICAgICAg
ICAgICAgInkiOiAtMzk5Ci0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAg
ICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogNzkwLAotICAgICAgICAgICAgICAg
ICAgICAgICAgInkiOiAtMzMxCi0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAg
ICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogNDQ4LAotICAgICAgICAgICAg
ICAgICAgICAgICAgInkiOiA2MDkKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAg
ICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAyNjAsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAieSI6IDU0MQotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAg
ICAgICAgXSwKLSAgICAgICAgICAgICAgICBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJ4IjogNjAyLAotICAgICAgICAgICAgICAgICAgICAgICAgInki
OiAtMzk5Ci0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJ4IjogNzkwLAotICAgICAgICAgICAgICAgICAgICAgICAg
InkiOiAtMzMxCi0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsK
LSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogNDQ4LAotICAgICAgICAgICAgICAgICAgICAg
ICAgInkiOiA2MDkKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAg
ewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAyNjAsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAieSI6IDU0MQotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXQot
ICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICJzaG93UnVsZXJzIjogZmFsc2UsCi0gICAgICAg
ICAgICAiY29udGVudENvbG9yIjogInJnYmEoMTExLCAxNjgsIDIyMCwgMC42NTg4MjM1Mjk0MTE3
NjQ3KSIsCi0gICAgICAgICAgICAiY29udGVudE91dGxpbmVDb2xvciI6ICJyZ2JhKDAsIDAsIDAs
IDApIiwKLSAgICAgICAgICAgICJwYWRkaW5nQ29sb3IiOiAicmdiYSgxNDcsIDE5NiwgMTI1LCAw
LjU0OTAxOTYwNzg0MzEzNzMpIiwKLSAgICAgICAgICAgICJib3JkZXJDb2xvciI6ICJyZ2JhKDI1
NSwgMjI5LCAxNTMsIDAuNjU4ODIzNTI5NDExNzY0NykiLAotICAgICAgICAgICAgIm1hcmdpbkNv
bG9yIjogInJnYmEoMjQ2LCAxNzgsIDEwNywgMC42NTg4MjM1Mjk0MTE3NjQ3KSIsCi0gICAgICAg
ICAgICAicmVnaW9uIjogewotICAgICAgICAgICAgICAgICJxdWFkIjogWwotICAgICAgICAgICAg
ICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDQyNSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJ5IjogNQotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAg
ICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDYyNSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJ5IjogNQotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAg
ICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDYyNSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJ5IjogNQotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAg
ICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDQyNSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJ5IjogNQotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAg
ICAgXQotICAgICAgICAgICAgfQotICAgICAgICB9LAotICAgICAgICB7Ci0gICAgICAgICAgICAi
cXVhZHMiOiBbCi0gICAgICAgICAgICAgICAgWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICAieCI6IDgxMiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5
IjogLTM5OQotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0g
ICAgICAgICAgICAgICAgICAgICAgICAieCI6IDgxMiwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJ5IjogLTM5OQotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7
Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDQ3MCwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJ5IjogNTQxCi0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAg
IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogNDcwLAotICAgICAgICAgICAgICAgICAg
ICAgICAgInkiOiA1NDEKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0s
Ci0gICAgICAgICAgICAgICAgWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICAieCI6IDgxMiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogLTM5OQot
ICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICAieCI6IDgxMiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogLTM5
OQotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAg
ICAgICAgICAgICAgICAgICAieCI6IDQ3MCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5Ijog
NTQxCi0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJ4IjogNDcwLAotICAgICAgICAgICAgICAgICAgICAgICAgInki
OiA1NDEKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAg
ICAgICAgICAgWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICAieCI6IDgxMiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogLTM5OQotICAgICAgICAg
ICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICAieCI6IDgxMiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogLTM5OQotICAgICAg
ICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICAieCI6IDQ3MCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogNTQxCi0gICAg
ICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAg
ICAgICAgICAgICJ4IjogNDcwLAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiA1NDEKLSAg
ICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAg
WwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDgx
MiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogLTM5OQotICAgICAgICAgICAgICAgICAg
ICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6
IDgxMiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogLTM5OQotICAgICAgICAgICAgICAg
ICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAi
eCI6IDQ3MCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogNTQxCi0gICAgICAgICAgICAg
ICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJ4IjogNDcwLAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiA1NDEKLSAgICAgICAgICAg
ICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0KLSAgICAgICAgICAgIF0sCi0gICAgICAgICAg
ICAic2hvd1J1bGVycyI6IGZhbHNlLAotICAgICAgICAgICAgImNvbnRlbnRDb2xvciI6ICJyZ2Jh
KDExMSwgMTY4LCAyMjAsIDAuNjU4ODIzNTI5NDExNzY0NykiLAotICAgICAgICAgICAgImNvbnRl
bnRPdXRsaW5lQ29sb3IiOiAicmdiYSgwLCAwLCAwLCAwKSIsCi0gICAgICAgICAgICAicGFkZGlu
Z0NvbG9yIjogInJnYmEoMTQ3LCAxOTYsIDEyNSwgMC41NDkwMTk2MDc4NDMxMzczKSIsCi0gICAg
ICAgICAgICAiYm9yZGVyQ29sb3IiOiAicmdiYSgyNTUsIDIyOSwgMTUzLCAwLjY1ODgyMzUyOTQx
MTc2NDcpIiwKLSAgICAgICAgICAgICJtYXJnaW5Db2xvciI6ICJyZ2JhKDI0NiwgMTc4LCAxMDcs
IDAuNjU4ODIzNTI5NDExNzY0NykiLAotICAgICAgICAgICAgInJlZ2lvbiI6IHsKLSAgICAgICAg
ICAgICAgICAicXVhZCI6IFsKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAg
ICAgICAgICAgIngiOiA2MzUsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDUKLSAgICAg
ICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAg
ICAgICAgICAgIngiOiA4MzUsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDUKLSAgICAg
ICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAg
ICAgICAgICAgIngiOiA4MzUsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDYwNQotICAg
ICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICAieCI6IDYzNSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogNjA1Ci0g
ICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdCi0gICAgICAgICAgICB9Ci0g
ICAgICAgIH0KLSAgICBdLAotICAgICJlbGVtZW50SW5mbyI6IHsKLSAgICAgICAgInRhZ05hbWUi
OiAiZGl2IiwKLSAgICAgICAgImlkVmFsdWUiOiAiaW5zcGVjdGVkRWxlbWVudCIsCi0gICAgICAg
ICJub2RlV2lkdGgiOiAiMjAwIiwKLSAgICAgICAgIm5vZGVIZWlnaHQiOiAiMTAwMCIsCi0gICAg
ICAgICJjb250ZW50Rmxvd0luZm8iOiB7Ci0gICAgICAgICAgICAibmFtZSI6ICJmbG93IgotICAg
ICAgICB9Ci0gICAgfQotfQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZWxl
bWVudHMvaGlnaGxpZ2h0LXJlZ2lvbnMtZmxvdy10cmFuc2Zvcm0taG9yaXotYnQtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzL2hpZ2hsaWdodC1yZWdpb25zLWZs
b3ctdHJhbnNmb3JtLWhvcml6LWJ0LWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggYzA1Mzg2OTNkZjRlMmI3MjU4Y2Q0OTdlZGY5MjhiZmM1ZDBlMzcxYi4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3IvZWxlbWVudHMvaGlnaGxpZ2h0LXJlZ2lvbnMtZmxvdy10cmFuc2Zvcm0taG9yaXotYnQt
ZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNDI4ICswLDAgQEAKLVRoaXMgdGVzdCB2
ZXJpZmllcyB0aGUgcG9zaXRpb24gYW5kIHNpemUgb2YgdGhlIGhpZ2hsaWdodGVkIG5vZGUgaW5z
aWRlIENTUyBSZWdpb25zLgotCi17Ci0gICAgInNjcm9sbCI6IHsKLSAgICAgICAgIngiOiAwLAot
ICAgICAgICAieSI6IDAKLSAgICB9LAotICAgICJmcmFnbWVudHMiOiBbCi0gICAgICAgIHsKLSAg
ICAgICAgICAgICJxdWFkcyI6IFsKLSAgICAgICAgICAgICAgICBbCi0gICAgICAgICAgICAgICAg
ICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogMjA3LAotICAgICAgICAgICAgICAg
ICAgICAgICAgInkiOiAtNzM0Ci0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAg
ICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogMzk1LAotICAgICAgICAgICAg
ICAgICAgICAgICAgInkiOiAtNjY2Ci0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAg
ICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogNTMsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAieSI6IDI3NAotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAg
ICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IC0xMzUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAieSI6IDIwNgotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAg
ICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJ4IjogMjA3LAotICAgICAgICAgICAgICAgICAgICAgICAg
InkiOiAtNzM0Ci0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsK
LSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogMzk1LAotICAgICAgICAgICAgICAgICAgICAg
ICAgInkiOiAtNjY2Ci0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAg
IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogNTMsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAieSI6IDI3NAotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAg
ICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IC0xMzUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAieSI6IDIwNgotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAg
XSwKLSAgICAgICAgICAgICAgICBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJ4IjogMjA3LAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAtNzM0
Ci0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAg
ICAgICAgICAgICAgICAgICJ4IjogMzk1LAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAt
NjY2Ci0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJ4IjogNTMsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6
IDI3NAotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICAieCI6IC0xMzUsCi0gICAgICAgICAgICAgICAgICAgICAgICAi
eSI6IDIwNgotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXSwKLSAgICAg
ICAgICAgICAgICBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJ4IjogMjA3LAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAtNzM0Ci0gICAgICAg
ICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAg
ICAgICAgICJ4IjogMzk1LAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAtNjY2Ci0gICAg
ICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAg
ICAgICAgICAgICJ4IjogNTMsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDI3NAotICAg
ICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICAieCI6IC0xMzUsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDIwNgot
ICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXQotICAgICAgICAgICAgXSwK
LSAgICAgICAgICAgICJzaG93UnVsZXJzIjogZmFsc2UsCi0gICAgICAgICAgICAiY29udGVudENv
bG9yIjogInJnYmEoMTExLCAxNjgsIDIyMCwgMC42NTg4MjM1Mjk0MTE3NjQ3KSIsCi0gICAgICAg
ICAgICAiY29udGVudE91dGxpbmVDb2xvciI6ICJyZ2JhKDAsIDAsIDAsIDApIiwKLSAgICAgICAg
ICAgICJwYWRkaW5nQ29sb3IiOiAicmdiYSgxNDcsIDE5NiwgMTI1LCAwLjU0OTAxOTYwNzg0MzEz
NzMpIiwKLSAgICAgICAgICAgICJib3JkZXJDb2xvciI6ICJyZ2JhKDI1NSwgMjI5LCAxNTMsIDAu
NjU4ODIzNTI5NDExNzY0NykiLAotICAgICAgICAgICAgIm1hcmdpbkNvbG9yIjogInJnYmEoMjQ2
LCAxNzgsIDEwNywgMC42NTg4MjM1Mjk0MTE3NjQ3KSIsCi0gICAgICAgICAgICAicmVnaW9uIjog
ewotICAgICAgICAgICAgICAgICJxdWFkIjogWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICAieCI6IDMwLAotICAgICAgICAgICAgICAgICAgICAgICAgInki
OiA3MAotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICAieCI6IDIzMCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5
IjogNzAKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAg
ICAgICAgICAgICAgICAgICAgICAgIngiOiAyMzAsCi0gICAgICAgICAgICAgICAgICAgICAgICAi
eSI6IDI3MAotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0g
ICAgICAgICAgICAgICAgICAgICAgICAieCI6IDMwLAotICAgICAgICAgICAgICAgICAgICAgICAg
InkiOiAyNzAKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0KLSAgICAg
ICAgICAgIH0KLSAgICAgICAgfSwKLSAgICAgICAgewotICAgICAgICAgICAgInF1YWRzIjogWwot
ICAgICAgICAgICAgICAgIFsKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAg
ICAgICAgICAgIngiOiA0NjcsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IC01MzQKLSAg
ICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAg
ICAgICAgICAgICAgIngiOiA1NjEsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IC01MDAK
LSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAg
ICAgICAgICAgICAgICAgIngiOiAyMTksCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDQ0
MAotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAg
ICAgICAgICAgICAgICAgICAieCI6IDEyNSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5Ijog
NDA2Ci0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAg
ICAgICAgIFsKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAg
IngiOiA0NjcsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IC01MzQKLSAgICAgICAgICAg
ICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAg
ICAgIngiOiA1NjEsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IC01MDAKLSAgICAgICAg
ICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAg
ICAgICAgIngiOiAyMTksCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDQ0MAotICAgICAg
ICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICAieCI6IDEyNSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogNDA2Ci0gICAg
ICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgIFsK
LSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA0Njcs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IC01MzQKLSAgICAgICAgICAgICAgICAgICAg
fSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA1
NjEsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IC01MDAKLSAgICAgICAgICAgICAgICAg
ICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngi
OiAyMTksCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDQ0MAotICAgICAgICAgICAgICAg
ICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAi
eCI6IDEyNSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogNDA2Ci0gICAgICAgICAgICAg
ICAgICAgIH0KLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgIFsKLSAgICAgICAg
ICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA0NjcsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAieSI6IC01MzQKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAg
ICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA1NjEsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAieSI6IC01MDAKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAg
ICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAyMTksCi0g
ICAgICAgICAgICAgICAgICAgICAgICAieSI6IDQ0MAotICAgICAgICAgICAgICAgICAgICB9LAot
ICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDEyNSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogNDA2Ci0gICAgICAgICAgICAgICAgICAgIH0K
LSAgICAgICAgICAgICAgICBdCi0gICAgICAgICAgICBdLAotICAgICAgICAgICAgInNob3dSdWxl
cnMiOiBmYWxzZSwKLSAgICAgICAgICAgICJjb250ZW50Q29sb3IiOiAicmdiYSgxMTEsIDE2OCwg
MjIwLCAwLjY1ODgyMzUyOTQxMTc2NDcpIiwKLSAgICAgICAgICAgICJjb250ZW50T3V0bGluZUNv
bG9yIjogInJnYmEoMCwgMCwgMCwgMCkiLAotICAgICAgICAgICAgInBhZGRpbmdDb2xvciI6ICJy
Z2JhKDE0NywgMTk2LCAxMjUsIDAuNTQ5MDE5NjA3ODQzMTM3MykiLAotICAgICAgICAgICAgImJv
cmRlckNvbG9yIjogInJnYmEoMjU1LCAyMjksIDE1MywgMC42NTg4MjM1Mjk0MTE3NjQ3KSIsCi0g
ICAgICAgICAgICAibWFyZ2luQ29sb3IiOiAicmdiYSgyNDYsIDE3OCwgMTA3LCAwLjY1ODgyMzUy
OTQxMTc2NDcpIiwKLSAgICAgICAgICAgICJyZWdpb24iOiB7Ci0gICAgICAgICAgICAgICAgInF1
YWQiOiBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4
IjogMjkwLAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiA3MAotICAgICAgICAgICAgICAg
ICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAi
eCI6IDQ5MCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogNzAKLSAgICAgICAgICAgICAg
ICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAg
IngiOiA0OTAsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDI3MAotICAgICAgICAgICAg
ICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICAieCI6IDI5MCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMjcwCi0gICAgICAgICAg
ICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdCi0gICAgICAgICAgICB9Ci0gICAgICAgIH0s
Ci0gICAgICAgIHsKLSAgICAgICAgICAgICJxdWFkcyI6IFsKLSAgICAgICAgICAgICAgICBbCi0g
ICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogNjAyLAot
ICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAtMzA5Ci0gICAgICAgICAgICAgICAgICAgIH0s
Ci0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogNzkw
LAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAtMjQxCi0gICAgICAgICAgICAgICAgICAg
IH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4Ijog
NDQ4LAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiA2OTkKLSAgICAgICAgICAgICAgICAg
ICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngi
OiAyNjAsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDYzMQotICAgICAgICAgICAgICAg
ICAgICB9Ci0gICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICBbCi0gICAgICAgICAg
ICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogNjAyLAotICAgICAgICAg
ICAgICAgICAgICAgICAgInkiOiAtMzA5Ci0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAg
ICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogNzkwLAotICAgICAg
ICAgICAgICAgICAgICAgICAgInkiOiAtMjQxCi0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAg
ICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogNDQ4LAotICAg
ICAgICAgICAgICAgICAgICAgICAgInkiOiA2OTkKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAg
ICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAyNjAsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAieSI6IDYzMQotICAgICAgICAgICAgICAgICAgICB9Ci0g
ICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICBbCi0gICAgICAgICAgICAgICAgICAg
IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogNjAyLAotICAgICAgICAgICAgICAgICAg
ICAgICAgInkiOiAtMzA5Ci0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAg
ICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogNzkwLAotICAgICAgICAgICAgICAg
ICAgICAgICAgInkiOiAtMjQxCi0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAg
ICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogNDQ4LAotICAgICAgICAgICAg
ICAgICAgICAgICAgInkiOiA2OTkKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAg
ICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAyNjAsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAieSI6IDYzMQotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAg
ICAgICAgXSwKLSAgICAgICAgICAgICAgICBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJ4IjogNjAyLAotICAgICAgICAgICAgICAgICAgICAgICAgInki
OiAtMzA5Ci0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJ4IjogNzkwLAotICAgICAgICAgICAgICAgICAgICAgICAg
InkiOiAtMjQxCi0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsK
LSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogNDQ4LAotICAgICAgICAgICAgICAgICAgICAg
ICAgInkiOiA2OTkKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAg
ewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAyNjAsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAieSI6IDYzMQotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXQot
ICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICJzaG93UnVsZXJzIjogZmFsc2UsCi0gICAgICAg
ICAgICAiY29udGVudENvbG9yIjogInJnYmEoMTExLCAxNjgsIDIyMCwgMC42NTg4MjM1Mjk0MTE3
NjQ3KSIsCi0gICAgICAgICAgICAiY29udGVudE91dGxpbmVDb2xvciI6ICJyZ2JhKDAsIDAsIDAs
IDApIiwKLSAgICAgICAgICAgICJwYWRkaW5nQ29sb3IiOiAicmdiYSgxNDcsIDE5NiwgMTI1LCAw
LjU0OTAxOTYwNzg0MzEzNzMpIiwKLSAgICAgICAgICAgICJib3JkZXJDb2xvciI6ICJyZ2JhKDI1
NSwgMjI5LCAxNTMsIDAuNjU4ODIzNTI5NDExNzY0NykiLAotICAgICAgICAgICAgIm1hcmdpbkNv
bG9yIjogInJnYmEoMjQ2LCAxNzgsIDEwNywgMC42NTg4MjM1Mjk0MTE3NjQ3KSIsCi0gICAgICAg
ICAgICAicmVnaW9uIjogewotICAgICAgICAgICAgICAgICJxdWFkIjogWwotICAgICAgICAgICAg
ICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDQyNSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJ5IjogMjk1Ci0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAg
ICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogNjI1LAotICAgICAgICAg
ICAgICAgICAgICAgICAgInkiOiAyOTUKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAg
ICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA2MjUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAieSI6IDI5NQotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAg
ICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDQyNSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJ5IjogMjk1Ci0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAg
ICAgICAgICAgICBdCi0gICAgICAgICAgICB9Ci0gICAgICAgIH0sCi0gICAgICAgIHsKLSAgICAg
ICAgICAgICJxdWFkcyI6IFsKLSAgICAgICAgICAgICAgICBbCi0gICAgICAgICAgICAgICAgICAg
IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogODEyLAotICAgICAgICAgICAgICAgICAg
ICAgICAgInkiOiAtMzA5Ci0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAg
ICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogODEyLAotICAgICAgICAgICAgICAg
ICAgICAgICAgInkiOiAtMzA5Ci0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAg
ICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogNDcwLAotICAgICAgICAgICAg
ICAgICAgICAgICAgInkiOiA2MzEKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAg
ICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA0NzAsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAieSI6IDYzMQotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAg
ICAgICAgXSwKLSAgICAgICAgICAgICAgICBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJ4IjogODEyLAotICAgICAgICAgICAgICAgICAgICAgICAgInki
OiAtMzA5Ci0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJ4IjogODEyLAotICAgICAgICAgICAgICAgICAgICAgICAg
InkiOiAtMzA5Ci0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsK
LSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogNDcwLAotICAgICAgICAgICAgICAgICAgICAg
ICAgInkiOiA2MzEKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAg
ewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA0NzAsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAieSI6IDYzMQotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXSwK
LSAgICAgICAgICAgICAgICBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAg
ICAgICAgICAgICJ4IjogODEyLAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAtMzA5Ci0g
ICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJ4IjogODEyLAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAtMzA5
Ci0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAg
ICAgICAgICAgICAgICAgICJ4IjogNDcwLAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiA2
MzEKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAg
ICAgICAgICAgICAgICAgICAgIngiOiA0NzAsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6
IDYzMQotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXSwKLSAgICAgICAg
ICAgICAgICBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJ4IjogODEyLAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAtMzA5Ci0gICAgICAgICAg
ICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJ4IjogODEyLAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAtMzA5Ci0gICAgICAg
ICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAg
ICAgICAgICJ4IjogNDcwLAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiA2MzEKLSAgICAg
ICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAg
ICAgICAgICAgIngiOiA0NzAsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDYzMQotICAg
ICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXQotICAgICAgICAgICAgXSwKLSAg
ICAgICAgICAgICJzaG93UnVsZXJzIjogZmFsc2UsCi0gICAgICAgICAgICAiY29udGVudENvbG9y
IjogInJnYmEoMTExLCAxNjgsIDIyMCwgMC42NTg4MjM1Mjk0MTE3NjQ3KSIsCi0gICAgICAgICAg
ICAiY29udGVudE91dGxpbmVDb2xvciI6ICJyZ2JhKDAsIDAsIDAsIDApIiwKLSAgICAgICAgICAg
ICJwYWRkaW5nQ29sb3IiOiAicmdiYSgxNDcsIDE5NiwgMTI1LCAwLjU0OTAxOTYwNzg0MzEzNzMp
IiwKLSAgICAgICAgICAgICJib3JkZXJDb2xvciI6ICJyZ2JhKDI1NSwgMjI5LCAxNTMsIDAuNjU4
ODIzNTI5NDExNzY0NykiLAotICAgICAgICAgICAgIm1hcmdpbkNvbG9yIjogInJnYmEoMjQ2LCAx
NzgsIDEwNywgMC42NTg4MjM1Mjk0MTE3NjQ3KSIsCi0gICAgICAgICAgICAicmVnaW9uIjogewot
ICAgICAgICAgICAgICAgICJxdWFkIjogWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAg
ICAgICAgICAgICAgICAgICAieCI6IDYzNSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5Ijog
Mjk1Ci0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJ4IjogODM1LAotICAgICAgICAgICAgICAgICAgICAgICAgInki
OiAyOTUKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAg
ICAgICAgICAgICAgICAgICAgICAgIngiOiA4MzUsCi0gICAgICAgICAgICAgICAgICAgICAgICAi
eSI6IDg5NQotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0g
ICAgICAgICAgICAgICAgICAgICAgICAieCI6IDYzNSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJ5IjogODk1Ci0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdCi0gICAg
ICAgICAgICB9Ci0gICAgICAgIH0KLSAgICBdLAotICAgICJlbGVtZW50SW5mbyI6IHsKLSAgICAg
ICAgInRhZ05hbWUiOiAiZGl2IiwKLSAgICAgICAgImlkVmFsdWUiOiAiaW5zcGVjdGVkRWxlbWVu
dCIsCi0gICAgICAgICJub2RlV2lkdGgiOiAiMjAwIiwKLSAgICAgICAgIm5vZGVIZWlnaHQiOiAi
MTAwMCIsCi0gICAgICAgICJjb250ZW50Rmxvd0luZm8iOiB7Ci0gICAgICAgICAgICAibmFtZSI6
ICJmbG93IgotICAgICAgICB9Ci0gICAgfQotfQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bnNwZWN0b3IvZWxlbWVudHMvaGlnaGxpZ2h0LXJlZ2lvbnMtZmxvdy10cmFuc2Zvcm0taG9yaXot
YnQuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9lbGVtZW50cy9oaWdobGlnaHQtcmVnaW9u
cy1mbG93LXRyYW5zZm9ybS1ob3Jpei1idC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCA1OWIzY2EwOGE3ZTJjODQ4MTM5Yzk3YzQ5MjA1NTJmYTg0YmE2ODVjLi4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rv
ci9lbGVtZW50cy9oaWdobGlnaHQtcmVnaW9ucy1mbG93LXRyYW5zZm9ybS1ob3Jpei1idC5odG1s
CisrKyAvZGV2L251bGwKQEAgLTEsODkgKzAsMCBAQAotPCFkb2N0eXBlIGh0bWw+Ci08aHRtbCBz
dHlsZT0iLXdlYmtpdC13cml0aW5nLW1vZGU6IGhvcml6b250YWwtYnQ7Ij4KLTxoZWFkPgotCi08
c3R5bGU+Ci0KLWJvZHkgewotICAgIG1hcmdpbjogMDsKLX0KLSNmbG93IHsKLSAgICAtd2Via2l0
LWZsb3ctaW50bzogZmxvdzsKLX0KLSNjb250YWluZXIgewotICAgIHdpZHRoOiA0MDBweDsKLSAg
ICBoZWlnaHQ6IDQwMHB4OwotICAgIGJhY2tncm91bmQtY29sb3I6IGdyZXk7Ci19Ci0jaW5zcGVj
dGVkRWxlbWVudCB7Ci0gICAgd2lkdGg6IDEwMCU7Ci0gICAgaGVpZ2h0OiAxMDAwcHg7Ci0gICAg
YmFja2dyb3VuZC1jb2xvcjogZ3JlZW47Ci0gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgy
MGRlZyk7Ci0gICAgdHJhbnNmb3JtOiByb3RhdGUoMjBkZWcpOwotfQotLnJlZ2lvbiB7Ci0gICAg
bWFyZ2luOiA1cHg7Ci0gICAgYm9yZGVyOiBzb2xpZCAxMHB4IGFxdWE7Ci0gICAgcGFkZGluZzog
MTVweDsKLSAgICB3aWR0aDogMjAwcHg7Ci0gICAgaGVpZ2h0OiAyMDBweDsKLSAgICBiYWNrZ3Jv
dW5kLWNvbG9yOiBibHVlOwotICAgIGZsb2F0OiBsZWZ0OwotICAgIC13ZWJraXQtZmxvdy1mcm9t
OiBmbG93OwotfQotLnNtYWxsIHsKLSAgICB3aWR0aDogMTAwcHg7Ci19Ci0uemVyby1oZWlnaHQg
ewotICAgIGJvcmRlcjogbm9uZTsKLSAgICBoZWlnaHQ6IDBweDsKLSAgICBwYWRkaW5nOiAwOwot
fQotLnplcm8tc2l6ZSB7Ci0gICAgYm9yZGVyOiBub25lOwotICAgIHdpZHRoOiAwcHg7Ci0gICAg
aGVpZ2h0OiAwcHg7Ci0gICAgcGFkZGluZzogMDsKLX0KLS5oaWRkZW4gewotICAgIGRpc3BsYXk6
IG5vbmU7Ci19Ci0jZGVzY3JpcHRpb24gewotICAgIGNsZWFyOiBib3RoOwotfQotCi08L3N0eWxl
PgotCi08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRl
c3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9y
L2VsZW1lbnRzLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLQotZnVuY3Rpb24gdGVzdCgp
Ci17Ci0gICAgZnVuY3Rpb24gbm9kZVNlbGVjdGVkKG5vZGUpCi0gICAgewotICAgICAgICBSdW50
aW1lQWdlbnQuZXZhbHVhdGUoImR1bXBJbnNwZWN0b3JIaWdobGlnaHRlZE5vZGUoKSIsIEluc3Bl
Y3RvclRlc3QuY29tcGxldGVUZXN0KTsKLSAgICB9Ci0KLSAgICBJbnNwZWN0b3JUZXN0LnNlbGVj
dE5vZGVXaXRoSWQoImluc3BlY3RlZEVsZW1lbnQiLCBub2RlU2VsZWN0ZWQpOwotfQotCi08L3Nj
cmlwdD4KLTwvaGVhZD4KLQotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotCi08ZGl2IGlkPSJm
bG93Ij4KLSAgICA8ZGl2IGlkPSJpbnNwZWN0ZWRFbGVtZW50Ij48L2Rpdj4KLTwvZGl2PgotCi08
ZGl2IGNsYXNzPSJyZWdpb24iPjwvZGl2PgotPGRpdiBjbGFzcz0icmVnaW9uIHNtYWxsIj48L2Rp
dj4KLTxkaXYgY2xhc3M9InJlZ2lvbiB6ZXJvLWhlaWdodCI+PC9kaXY+Ci08ZGl2IGNsYXNzPSJy
ZWdpb24gemVyby1zaXplIj48L2Rpdj4KLTxkaXYgY2xhc3M9InJlZ2lvbiBoaWRkZW4iPjwvZGl2
PgotPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhlIHBvc2l0aW9uIGFu
ZCBzaXplIG9mIHRoZSBoaWdobGlnaHRlZCBub2RlIGluc2lkZSBDU1MgUmVnaW9ucy48L3A+Ci0K
LTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9lbGVt
ZW50cy9oaWdobGlnaHQtcmVnaW9ucy1mbG93LXRyYW5zZm9ybS12ZXJ0LWxyLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9lbGVtZW50cy9oaWdobGlnaHQtcmVnaW9ucy1mbG93
LXRyYW5zZm9ybS12ZXJ0LWxyLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMmMxM2E5NGI0ZTZmMTZhN2ZjZDI3MWI5MmE0MTRmZmIxMzkwZGZhNC4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0
b3IvZWxlbWVudHMvaGlnaGxpZ2h0LXJlZ2lvbnMtZmxvdy10cmFuc2Zvcm0tdmVydC1sci1leHBl
Y3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw0MjggKzAsMCBAQAotVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoZSBwb3NpdGlvbiBhbmQgc2l6ZSBvZiB0aGUgaGlnaGxpZ2h0ZWQgbm9kZSBpbnNpZGUg
Q1NTIFJlZ2lvbnMuCi0KLXsKLSAgICAic2Nyb2xsIjogewotICAgICAgICAieCI6IDAsCi0gICAg
ICAgICJ5IjogMAotICAgIH0sCi0gICAgImZyYWdtZW50cyI6IFsKLSAgICAgICAgewotICAgICAg
ICAgICAgInF1YWRzIjogWwotICAgICAgICAgICAgICAgIFsKLSAgICAgICAgICAgICAgICAgICAg
ewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAtMTgxLAotICAgICAgICAgICAgICAgICAg
ICAgICAgInkiOiAtMTM1Ci0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAg
ICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogNzU5LAotICAgICAgICAgICAgICAg
ICAgICAgICAgInkiOiAyMDcKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAg
ICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA2OTEsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAieSI6IDM5NQotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAg
ICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IC0yNDksCi0gICAgICAgICAg
ICAgICAgICAgICAgICAieSI6IDUzCi0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAg
ICAgICBdLAotICAgICAgICAgICAgICAgIFsKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAg
ICAgICAgICAgICAgICAgICAgIngiOiAtMTgxLAotICAgICAgICAgICAgICAgICAgICAgICAgInki
OiAtMTM1Ci0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJ4IjogNzU5LAotICAgICAgICAgICAgICAgICAgICAgICAg
InkiOiAyMDcKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewot
ICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA2OTEsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAieSI6IDM5NQotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7
Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IC0yNDksCi0gICAgICAgICAgICAgICAgICAg
ICAgICAieSI6IDUzCi0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdLAot
ICAgICAgICAgICAgICAgIFsKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAg
ICAgICAgICAgIngiOiAtMTgxLAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAtMTM1Ci0g
ICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJ4IjogNzU5LAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAyMDcK
LSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAg
ICAgICAgICAgICAgICAgIngiOiA2OTEsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDM5
NQotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAg
ICAgICAgICAgICAgICAgICAieCI6IC0yNDksCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6
IDUzCi0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAg
ICAgICAgIFsKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAg
IngiOiAtMTgxLAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAtMTM1Ci0gICAgICAgICAg
ICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJ4IjogNzU5LAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAyMDcKLSAgICAgICAg
ICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAg
ICAgICAgIngiOiA2OTEsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDM5NQotICAgICAg
ICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICAieCI6IC0yNDksCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDUzCi0gICAg
ICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdCi0gICAgICAgICAgICBdLAotICAg
ICAgICAgICAgInNob3dSdWxlcnMiOiBmYWxzZSwKLSAgICAgICAgICAgICJjb250ZW50Q29sb3Ii
OiAicmdiYSgxMTEsIDE2OCwgMjIwLCAwLjY1ODgyMzUyOTQxMTc2NDcpIiwKLSAgICAgICAgICAg
ICJjb250ZW50T3V0bGluZUNvbG9yIjogInJnYmEoMCwgMCwgMCwgMCkiLAotICAgICAgICAgICAg
InBhZGRpbmdDb2xvciI6ICJyZ2JhKDE0NywgMTk2LCAxMjUsIDAuNTQ5MDE5NjA3ODQzMTM3Myki
LAotICAgICAgICAgICAgImJvcmRlckNvbG9yIjogInJnYmEoMjU1LCAyMjksIDE1MywgMC42NTg4
MjM1Mjk0MTE3NjQ3KSIsCi0gICAgICAgICAgICAibWFyZ2luQ29sb3IiOiAicmdiYSgyNDYsIDE3
OCwgMTA3LCAwLjY1ODgyMzUyOTQxMTc2NDcpIiwKLSAgICAgICAgICAgICJyZWdpb24iOiB7Ci0g
ICAgICAgICAgICAgICAgInF1YWQiOiBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAg
ICAgICAgICAgICAgICAgICJ4IjogNTU1LAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAz
MAotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAg
ICAgICAgICAgICAgICAgICAieCI6IDc1NSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5Ijog
MzAKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAg
ICAgICAgICAgICAgICAgICAgIngiOiA3NTUsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6
IDIzMAotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICAieCI6IDU1NSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5
IjogMjMwCi0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdCi0gICAgICAg
ICAgICB9Ci0gICAgICAgIH0sCi0gICAgICAgIHsKLSAgICAgICAgICAgICJxdWFkcyI6IFsKLSAg
ICAgICAgICAgICAgICBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAg
ICAgICAgICJ4IjogLTI0MSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogLTEzNQotICAg
ICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICAieCI6IDY5OSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMjA3Ci0g
ICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJ4IjogNjMxLAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAzOTUK
LSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAg
ICAgICAgICAgICAgICAgIngiOiAtMzA5LAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiA1
MwotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAg
ICAgICBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4
IjogLTI0MSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogLTEzNQotICAgICAgICAgICAg
ICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICAieCI6IDY5OSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMjA3Ci0gICAgICAgICAg
ICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJ4IjogNjMxLAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAzOTUKLSAgICAgICAg
ICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAg
ICAgICAgIngiOiAtMzA5LAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiA1MwotICAgICAg
ICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICBbCi0g
ICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogLTI0MSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogLTEzNQotICAgICAgICAgICAgICAgICAgICB9
LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDY5
OSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMjA3Ci0gICAgICAgICAgICAgICAgICAg
IH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4Ijog
NjMxLAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAzOTUKLSAgICAgICAgICAgICAgICAg
ICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngi
OiAtMzA5LAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiA1MwotICAgICAgICAgICAgICAg
ICAgICB9Ci0gICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICBbCi0gICAgICAgICAg
ICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogLTI0MSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICJ5IjogLTEzNQotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAg
ICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDY5OSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJ5IjogMjA3Ci0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAg
ICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogNjMxLAotICAg
ICAgICAgICAgICAgICAgICAgICAgInkiOiAzOTUKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAg
ICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAtMzA5LAot
ICAgICAgICAgICAgICAgICAgICAgICAgInkiOiA1MwotICAgICAgICAgICAgICAgICAgICB9Ci0g
ICAgICAgICAgICAgICAgXQotICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICJzaG93UnVsZXJz
IjogZmFsc2UsCi0gICAgICAgICAgICAiY29udGVudENvbG9yIjogInJnYmEoMTExLCAxNjgsIDIy
MCwgMC42NTg4MjM1Mjk0MTE3NjQ3KSIsCi0gICAgICAgICAgICAiY29udGVudE91dGxpbmVDb2xv
ciI6ICJyZ2JhKDAsIDAsIDAsIDApIiwKLSAgICAgICAgICAgICJwYWRkaW5nQ29sb3IiOiAicmdi
YSgxNDcsIDE5NiwgMTI1LCAwLjU0OTAxOTYwNzg0MzEzNzMpIiwKLSAgICAgICAgICAgICJib3Jk
ZXJDb2xvciI6ICJyZ2JhKDI1NSwgMjI5LCAxNTMsIDAuNjU4ODIzNTI5NDExNzY0NykiLAotICAg
ICAgICAgICAgIm1hcmdpbkNvbG9yIjogInJnYmEoMjQ2LCAxNzgsIDEwNywgMC42NTg4MjM1Mjk0
MTE3NjQ3KSIsCi0gICAgICAgICAgICAicmVnaW9uIjogewotICAgICAgICAgICAgICAgICJxdWFk
IjogWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6
IDM5NSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMzAKLSAgICAgICAgICAgICAgICAg
ICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngi
OiA0OTUsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDMwCi0gICAgICAgICAgICAgICAg
ICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4
IjogNDk1LAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAyMzAKLSAgICAgICAgICAgICAg
ICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAg
IngiOiAzOTUsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDIzMAotICAgICAgICAgICAg
ICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXQotICAgICAgICAgICAgfQotICAgICAgICB9LAot
ICAgICAgICB7Ci0gICAgICAgICAgICAicXVhZHMiOiBbCi0gICAgICAgICAgICAgICAgWwotICAg
ICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IC0xMTYsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAieSI6IDEwMAotICAgICAgICAgICAgICAgICAgICB9LAot
ICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDgyNCwK
LSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogNDQyCi0gICAgICAgICAgICAgICAgICAgIH0s
Ci0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogODI0
LAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiA0NDIKLSAgICAgICAgICAgICAgICAgICAg
fSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAt
MTE2LAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAxMDAKLSAgICAgICAgICAgICAgICAg
ICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgWwotICAgICAgICAgICAg
ICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IC0xMTYsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAieSI6IDEwMAotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAg
ICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDgyNCwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICJ5IjogNDQyCi0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAg
ICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogODI0LAotICAgICAg
ICAgICAgICAgICAgICAgICAgInkiOiA0NDIKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAg
ICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAtMTE2LAotICAg
ICAgICAgICAgICAgICAgICAgICAgInkiOiAxMDAKLSAgICAgICAgICAgICAgICAgICAgfQotICAg
ICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgWwotICAgICAgICAgICAgICAgICAgICB7
Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IC0xMTYsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAieSI6IDEwMAotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAg
ICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDgyNCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICJ5IjogNDQyCi0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAg
ICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogODI0LAotICAgICAgICAgICAgICAg
ICAgICAgICAgInkiOiA0NDIKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAg
ICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAtMTE2LAotICAgICAgICAgICAg
ICAgICAgICAgICAgInkiOiAxMDAKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAg
ICAgIF0sCi0gICAgICAgICAgICAgICAgWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAg
ICAgICAgICAgICAgICAgICAieCI6IC0xMTYsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6
IDEwMAotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICAieCI6IDgyNCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5
IjogNDQyCi0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJ4IjogODI0LAotICAgICAgICAgICAgICAgICAgICAgICAg
InkiOiA0NDIKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewot
ICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAtMTE2LAotICAgICAgICAgICAgICAgICAgICAg
ICAgInkiOiAxMDAKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0KLSAg
ICAgICAgICAgIF0sCi0gICAgICAgICAgICAic2hvd1J1bGVycyI6IGZhbHNlLAotICAgICAgICAg
ICAgImNvbnRlbnRDb2xvciI6ICJyZ2JhKDExMSwgMTY4LCAyMjAsIDAuNjU4ODIzNTI5NDExNzY0
NykiLAotICAgICAgICAgICAgImNvbnRlbnRPdXRsaW5lQ29sb3IiOiAicmdiYSgwLCAwLCAwLCAw
KSIsCi0gICAgICAgICAgICAicGFkZGluZ0NvbG9yIjogInJnYmEoMTQ3LCAxOTYsIDEyNSwgMC41
NDkwMTk2MDc4NDMxMzczKSIsCi0gICAgICAgICAgICAiYm9yZGVyQ29sb3IiOiAicmdiYSgyNTUs
IDIyOSwgMTUzLCAwLjY1ODgyMzUyOTQxMTc2NDcpIiwKLSAgICAgICAgICAgICJtYXJnaW5Db2xv
ciI6ICJyZ2JhKDI0NiwgMTc4LCAxMDcsIDAuNjU4ODIzNTI5NDExNzY0NykiLAotICAgICAgICAg
ICAgInJlZ2lvbiI6IHsKLSAgICAgICAgICAgICAgICAicXVhZCI6IFsKLSAgICAgICAgICAgICAg
ICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAzMjAsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAieSI6IDI2NQotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAg
ICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDUyMCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJ5IjogMjY1Ci0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAg
ICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogNTIwLAotICAgICAgICAg
ICAgICAgICAgICAgICAgInkiOiA0NjUKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAg
ICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAzMjAsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAieSI6IDQ2NQotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAg
ICAgICAgICAgXQotICAgICAgICAgICAgfQotICAgICAgICB9LAotICAgICAgICB7Ci0gICAgICAg
ICAgICAicXVhZHMiOiBbCi0gICAgICAgICAgICAgICAgWwotICAgICAgICAgICAgICAgICAgICB7
Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDg0LAotICAgICAgICAgICAgICAgICAgICAg
ICAgInkiOiAxMTAKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAg
ewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAxMDI0LAotICAgICAgICAgICAgICAgICAg
ICAgICAgInkiOiA0NTIKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAg
ICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAxMDI0LAotICAgICAgICAgICAgICAg
ICAgICAgICAgInkiOiA0NTIKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAg
ICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA4NCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICJ5IjogMTEwCi0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAg
ICBdLAotICAgICAgICAgICAgICAgIFsKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAg
ICAgICAgICAgICAgICAgIngiOiA4NCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMTEw
Ci0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAg
ICAgICAgICAgICAgICAgICJ4IjogMTAyNCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5Ijog
NDUyCi0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJ4IjogMTAyNCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5
IjogNDUyCi0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJ4IjogODQsCi0gICAgICAgICAgICAgICAgICAgICAgICAi
eSI6IDExMAotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXSwKLSAgICAg
ICAgICAgICAgICBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJ4IjogODQsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDExMAotICAgICAgICAg
ICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICAieCI6IDEwMjQsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDQ1MgotICAgICAg
ICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICAieCI6IDEwMjQsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDQ1MgotICAg
ICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICAieCI6IDg0LAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAxMTAKLSAg
ICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAg
WwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDg0
LAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAxMTAKLSAgICAgICAgICAgICAgICAgICAg
fSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAx
MDI0LAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiA0NTIKLSAgICAgICAgICAgICAgICAg
ICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngi
OiAxMDI0LAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiA0NTIKLSAgICAgICAgICAgICAg
ICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAg
IngiOiA4NCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMTEwCi0gICAgICAgICAgICAg
ICAgICAgIH0KLSAgICAgICAgICAgICAgICBdCi0gICAgICAgICAgICBdLAotICAgICAgICAgICAg
InNob3dSdWxlcnMiOiBmYWxzZSwKLSAgICAgICAgICAgICJjb250ZW50Q29sb3IiOiAicmdiYSgx
MTEsIDE2OCwgMjIwLCAwLjY1ODgyMzUyOTQxMTc2NDcpIiwKLSAgICAgICAgICAgICJjb250ZW50
T3V0bGluZUNvbG9yIjogInJnYmEoMCwgMCwgMCwgMCkiLAotICAgICAgICAgICAgInBhZGRpbmdD
b2xvciI6ICJyZ2JhKDE0NywgMTk2LCAxMjUsIDAuNTQ5MDE5NjA3ODQzMTM3MykiLAotICAgICAg
ICAgICAgImJvcmRlckNvbG9yIjogInJnYmEoMjU1LCAyMjksIDE1MywgMC42NTg4MjM1Mjk0MTE3
NjQ3KSIsCi0gICAgICAgICAgICAibWFyZ2luQ29sb3IiOiAicmdiYSgyNDYsIDE3OCwgMTA3LCAw
LjY1ODgyMzUyOTQxMTc2NDcpIiwKLSAgICAgICAgICAgICJyZWdpb24iOiB7Ci0gICAgICAgICAg
ICAgICAgInF1YWQiOiBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAg
ICAgICAgICJ4IjogNTIwLAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAyNzUKLSAgICAg
ICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAg
ICAgICAgICAgIngiOiAxMDIwLAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAyNzUKLSAg
ICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAg
ICAgICAgICAgICAgIngiOiAxMDIwLAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiA0NzUK
LSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAg
ICAgICAgICAgICAgICAgIngiOiA1MjAsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDQ3
NQotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXQotICAgICAgICAgICAg
fQotICAgICAgICB9Ci0gICAgXSwKLSAgICAiZWxlbWVudEluZm8iOiB7Ci0gICAgICAgICJ0YWdO
YW1lIjogImRpdiIsCi0gICAgICAgICJpZFZhbHVlIjogImluc3BlY3RlZEVsZW1lbnQiLAotICAg
ICAgICAibm9kZVdpZHRoIjogIjEwMDAiLAotICAgICAgICAibm9kZUhlaWdodCI6ICIyMDAiLAot
ICAgICAgICAiY29udGVudEZsb3dJbmZvIjogewotICAgICAgICAgICAgIm5hbWUiOiAiZmxvdyIK
LSAgICAgICAgfQotICAgIH0KLX0KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
L2VsZW1lbnRzL2hpZ2hsaWdodC1yZWdpb25zLWZsb3ctdHJhbnNmb3JtLXZlcnQtbHIuaHRtbCBi
L0xheW91dFRlc3RzL2luc3BlY3Rvci9lbGVtZW50cy9oaWdobGlnaHQtcmVnaW9ucy1mbG93LXRy
YW5zZm9ybS12ZXJ0LWxyLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGUyODQw
MjBlOGVkMTNkZDFjZTQxN2U0YjE3OGI3YjczNzU0NTg4NjAuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRz
L2hpZ2hsaWdodC1yZWdpb25zLWZsb3ctdHJhbnNmb3JtLXZlcnQtbHIuaHRtbAorKysgL2Rldi9u
dWxsCkBAIC0xLDg5ICswLDAgQEAKLTwhZG9jdHlwZSBodG1sPgotPGh0bWwgc3R5bGU9Ii13ZWJr
aXQtd3JpdGluZy1tb2RlOiB2ZXJ0aWNhbC1ybDsiPgotPGhlYWQ+Ci0KLTxzdHlsZT4KLQotYm9k
eSB7Ci0gICAgbWFyZ2luOiAwOwotfQotI2Zsb3cgewotICAgIC13ZWJraXQtZmxvdy1pbnRvOiBm
bG93OwotfQotI2NvbnRhaW5lciB7Ci0gICAgd2lkdGg6IDQwMHB4OwotICAgIGhlaWdodDogNDAw
cHg7Ci0gICAgYmFja2dyb3VuZC1jb2xvcjogZ3JleTsKLX0KLSNpbnNwZWN0ZWRFbGVtZW50IHsK
LSAgICBoZWlnaHQ6IDEwMCU7Ci0gICAgd2lkdGg6IDEwMDBweDsKLSAgICBiYWNrZ3JvdW5kLWNv
bG9yOiBncmVlbjsKLSAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDIwZGVnKTsKLSAgICB0
cmFuc2Zvcm06IHJvdGF0ZSgyMGRlZyk7Ci19Ci0ucmVnaW9uIHsKLSAgICBtYXJnaW46IDVweDsK
LSAgICBib3JkZXI6IHNvbGlkIDEwcHggYXF1YTsKLSAgICBwYWRkaW5nOiAxNXB4OwotICAgIHdp
ZHRoOiAyMDBweDsKLSAgICBoZWlnaHQ6IDIwMHB4OwotICAgIGJhY2tncm91bmQtY29sb3I6IGJs
dWU7Ci0gICAgZmxvYXQ6IGxlZnQ7Ci0gICAgLXdlYmtpdC1mbG93LWZyb206IGZsb3c7Ci19Ci0u
c21hbGwgewotICAgIHdpZHRoOiAxMDBweDsKLX0KLS56ZXJvLWhlaWdodCB7Ci0gICAgYm9yZGVy
OiBub25lOwotICAgIGhlaWdodDogMHB4OwotICAgIHBhZGRpbmc6IDA7Ci19Ci0uemVyby1zaXpl
IHsKLSAgICBib3JkZXI6IG5vbmU7Ci0gICAgd2lkdGg6IDBweDsKLSAgICBoZWlnaHQ6IDBweDsK
LSAgICBwYWRkaW5nOiAwOwotfQotLmhpZGRlbiB7Ci0gICAgZGlzcGxheTogbm9uZTsKLX0KLSNk
ZXNjcmlwdGlvbiB7Ci0gICAgY2xlYXI6IGJvdGg7Ci19Ci0KLTwvc3R5bGU+Ci0KLTxzY3JpcHQg
c3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMtdGVz
dC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotCi1mdW5jdGlvbiB0ZXN0KCkKLXsKLSAgICBmdW5j
dGlvbiBub2RlU2VsZWN0ZWQobm9kZSkKLSAgICB7Ci0gICAgICAgIFJ1bnRpbWVBZ2VudC5ldmFs
dWF0ZSgiZHVtcEluc3BlY3RvckhpZ2hsaWdodGVkTm9kZSgpIiwgSW5zcGVjdG9yVGVzdC5jb21w
bGV0ZVRlc3QpOwotICAgIH0KLQotICAgIEluc3BlY3RvclRlc3Quc2VsZWN0Tm9kZVdpdGhJZCgi
aW5zcGVjdGVkRWxlbWVudCIsIG5vZGVTZWxlY3RlZCk7Ci19Ci0KLTwvc2NyaXB0PgotPC9oZWFk
PgotCi08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci0KLTxkaXYgaWQ9ImZsb3ciPgotICAgIDxk
aXYgaWQ9Imluc3BlY3RlZEVsZW1lbnQiPjwvZGl2PgotPC9kaXY+Ci0KLTxkaXYgY2xhc3M9InJl
Z2lvbiI+PC9kaXY+Ci08ZGl2IGNsYXNzPSJyZWdpb24gc21hbGwiPjwvZGl2PgotPGRpdiBjbGFz
cz0icmVnaW9uIHplcm8taGVpZ2h0Ij48L2Rpdj4KLTxkaXYgY2xhc3M9InJlZ2lvbiB6ZXJvLXNp
emUiPjwvZGl2PgotPGRpdiBjbGFzcz0icmVnaW9uIGhpZGRlbiI+PC9kaXY+Ci08cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCB2ZXJpZmllcyB0aGUgcG9zaXRpb24gYW5kIHNpemUgb2YgdGhl
IGhpZ2hsaWdodGVkIG5vZGUgaW5zaWRlIENTUyBSZWdpb25zLjwvcD4KLQotPC9ib2R5PgotPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzL2hpZ2hsaWdo
dC1yZWdpb25zLWZsb3ctdHJhbnNmb3JtLXZlcnQtcmwtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yL2VsZW1lbnRzL2hpZ2hsaWdodC1yZWdpb25zLWZsb3ctdHJhbnNmb3JtLXZl
cnQtcmwtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyYzEzYTk0
YjRlNmYxNmE3ZmNkMjcxYjkyYTQxNGZmYjEzOTBkZmE0Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9lbGVtZW50cy9o
aWdobGlnaHQtcmVnaW9ucy1mbG93LXRyYW5zZm9ybS12ZXJ0LXJsLWV4cGVjdGVkLnR4dAorKysg
L2Rldi9udWxsCkBAIC0xLDQyOCArMCwwIEBACi1UaGlzIHRlc3QgdmVyaWZpZXMgdGhlIHBvc2l0
aW9uIGFuZCBzaXplIG9mIHRoZSBoaWdobGlnaHRlZCBub2RlIGluc2lkZSBDU1MgUmVnaW9ucy4K
LQotewotICAgICJzY3JvbGwiOiB7Ci0gICAgICAgICJ4IjogMCwKLSAgICAgICAgInkiOiAwCi0g
ICAgfSwKLSAgICAiZnJhZ21lbnRzIjogWwotICAgICAgICB7Ci0gICAgICAgICAgICAicXVhZHMi
OiBbCi0gICAgICAgICAgICAgICAgWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICAieCI6IC0xODEsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IC0x
MzUKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAg
ICAgICAgICAgICAgICAgICAgIngiOiA3NTksCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6
IDIwNwotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICAieCI6IDY5MSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5
IjogMzk1Ci0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJ4IjogLTI0OSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJ5IjogNTMKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAg
ICAgICAgICAgICAgWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICAieCI6IC0xODEsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IC0xMzUKLSAgICAg
ICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAg
ICAgICAgICAgIngiOiA3NTksCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDIwNwotICAg
ICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICAieCI6IDY5MSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMzk1Ci0g
ICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJ4IjogLTI0OSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogNTMK
LSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAg
ICAgWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6
IC0xODEsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IC0xMzUKLSAgICAgICAgICAgICAg
ICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAg
IngiOiA3NTksCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDIwNwotICAgICAgICAgICAg
ICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICAieCI6IDY5MSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMzk1Ci0gICAgICAgICAg
ICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJ4IjogLTI0OSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogNTMKLSAgICAgICAg
ICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgWwotICAg
ICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IC0xODEsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAieSI6IC0xMzUKLSAgICAgICAgICAgICAgICAgICAgfSwK
LSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA3NTks
Ci0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDIwNwotICAgICAgICAgICAgICAgICAgICB9
LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDY5
MSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMzk1Ci0gICAgICAgICAgICAgICAgICAg
IH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4Ijog
LTI0OSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogNTMKLSAgICAgICAgICAgICAgICAg
ICAgfQotICAgICAgICAgICAgICAgIF0KLSAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAic2hv
d1J1bGVycyI6IGZhbHNlLAotICAgICAgICAgICAgImNvbnRlbnRDb2xvciI6ICJyZ2JhKDExMSwg
MTY4LCAyMjAsIDAuNjU4ODIzNTI5NDExNzY0NykiLAotICAgICAgICAgICAgImNvbnRlbnRPdXRs
aW5lQ29sb3IiOiAicmdiYSgwLCAwLCAwLCAwKSIsCi0gICAgICAgICAgICAicGFkZGluZ0NvbG9y
IjogInJnYmEoMTQ3LCAxOTYsIDEyNSwgMC41NDkwMTk2MDc4NDMxMzczKSIsCi0gICAgICAgICAg
ICAiYm9yZGVyQ29sb3IiOiAicmdiYSgyNTUsIDIyOSwgMTUzLCAwLjY1ODgyMzUyOTQxMTc2NDcp
IiwKLSAgICAgICAgICAgICJtYXJnaW5Db2xvciI6ICJyZ2JhKDI0NiwgMTc4LCAxMDcsIDAuNjU4
ODIzNTI5NDExNzY0NykiLAotICAgICAgICAgICAgInJlZ2lvbiI6IHsKLSAgICAgICAgICAgICAg
ICAicXVhZCI6IFsKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAg
ICAgIngiOiA1NTUsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDMwCi0gICAgICAgICAg
ICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJ4IjogNzU1LAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAzMAotICAgICAgICAg
ICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICAieCI6IDc1NSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMjMwCi0gICAgICAg
ICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAg
ICAgICAgICJ4IjogNTU1LAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAyMzAKLSAgICAg
ICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0KLSAgICAgICAgICAgIH0KLSAgICAg
ICAgfSwKLSAgICAgICAgewotICAgICAgICAgICAgInF1YWRzIjogWwotICAgICAgICAgICAgICAg
IFsKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAt
MjQxLAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAtMTM1Ci0gICAgICAgICAgICAgICAg
ICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4
IjogNjk5LAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAyMDcKLSAgICAgICAgICAgICAg
ICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAg
IngiOiA2MzEsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDM5NQotICAgICAgICAgICAg
ICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICAieCI6IC0zMDksCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDUzCi0gICAgICAgICAg
ICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgIFsKLSAgICAg
ICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAtMjQxLAotICAg
ICAgICAgICAgICAgICAgICAgICAgInkiOiAtMTM1Ci0gICAgICAgICAgICAgICAgICAgIH0sCi0g
ICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogNjk5LAot
ICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAyMDcKLSAgICAgICAgICAgICAgICAgICAgfSwK
LSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA2MzEs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDM5NQotICAgICAgICAgICAgICAgICAgICB9
LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IC0z
MDksCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDUzCi0gICAgICAgICAgICAgICAgICAg
IH0KLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgIFsKLSAgICAgICAgICAgICAg
ICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAtMjQxLAotICAgICAgICAgICAg
ICAgICAgICAgICAgInkiOiAtMTM1Ci0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAg
ICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogNjk5LAotICAgICAgICAg
ICAgICAgICAgICAgICAgInkiOiAyMDcKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAg
ICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA2MzEsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAieSI6IDM5NQotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAg
ICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IC0zMDksCi0gICAg
ICAgICAgICAgICAgICAgICAgICAieSI6IDUzCi0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAg
ICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgIFsKLSAgICAgICAgICAgICAgICAgICAgewot
ICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAtMjQxLAotICAgICAgICAgICAgICAgICAgICAg
ICAgInkiOiAtMTM1Ci0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAg
IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogNjk5LAotICAgICAgICAgICAgICAgICAg
ICAgICAgInkiOiAyMDcKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAg
ICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA2MzEsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAieSI6IDM5NQotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAg
ICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IC0zMDksCi0gICAgICAgICAgICAg
ICAgICAgICAgICAieSI6IDUzCi0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAg
ICBdCi0gICAgICAgICAgICBdLAotICAgICAgICAgICAgInNob3dSdWxlcnMiOiBmYWxzZSwKLSAg
ICAgICAgICAgICJjb250ZW50Q29sb3IiOiAicmdiYSgxMTEsIDE2OCwgMjIwLCAwLjY1ODgyMzUy
OTQxMTc2NDcpIiwKLSAgICAgICAgICAgICJjb250ZW50T3V0bGluZUNvbG9yIjogInJnYmEoMCwg
MCwgMCwgMCkiLAotICAgICAgICAgICAgInBhZGRpbmdDb2xvciI6ICJyZ2JhKDE0NywgMTk2LCAx
MjUsIDAuNTQ5MDE5NjA3ODQzMTM3MykiLAotICAgICAgICAgICAgImJvcmRlckNvbG9yIjogInJn
YmEoMjU1LCAyMjksIDE1MywgMC42NTg4MjM1Mjk0MTE3NjQ3KSIsCi0gICAgICAgICAgICAibWFy
Z2luQ29sb3IiOiAicmdiYSgyNDYsIDE3OCwgMTA3LCAwLjY1ODgyMzUyOTQxMTc2NDcpIiwKLSAg
ICAgICAgICAgICJyZWdpb24iOiB7Ci0gICAgICAgICAgICAgICAgInF1YWQiOiBbCi0gICAgICAg
ICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogMzk1LAotICAgICAg
ICAgICAgICAgICAgICAgICAgInkiOiAzMAotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAg
ICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDQ5NSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJ5IjogMzAKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAg
ICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA0OTUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAieSI6IDIzMAotICAgICAgICAgICAgICAgICAgICB9LAotICAg
ICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDM5NSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJ5IjogMjMwCi0gICAgICAgICAgICAgICAgICAgIH0KLSAg
ICAgICAgICAgICAgICBdCi0gICAgICAgICAgICB9Ci0gICAgICAgIH0sCi0gICAgICAgIHsKLSAg
ICAgICAgICAgICJxdWFkcyI6IFsKLSAgICAgICAgICAgICAgICBbCi0gICAgICAgICAgICAgICAg
ICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogLTExNiwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICJ5IjogMTAwCi0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAg
ICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogODI0LAotICAgICAgICAgICAg
ICAgICAgICAgICAgInkiOiA0NDIKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAg
ICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA4MjQsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAieSI6IDQ0MgotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAg
ICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IC0xMTYsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAieSI6IDEwMAotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAg
ICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJ4IjogLTExNiwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJ5IjogMTAwCi0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsK
LSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogODI0LAotICAgICAgICAgICAgICAgICAgICAg
ICAgInkiOiA0NDIKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAg
ewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA4MjQsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAieSI6IDQ0MgotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAg
ICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IC0xMTYsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAieSI6IDEwMAotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAg
XSwKLSAgICAgICAgICAgICAgICBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJ4IjogLTExNiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMTAw
Ci0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAg
ICAgICAgICAgICAgICAgICJ4IjogODI0LAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiA0
NDIKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAg
ICAgICAgICAgICAgICAgICAgIngiOiA4MjQsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6
IDQ0MgotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICAieCI6IC0xMTYsCi0gICAgICAgICAgICAgICAgICAgICAgICAi
eSI6IDEwMAotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXSwKLSAgICAg
ICAgICAgICAgICBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJ4IjogLTExNiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMTAwCi0gICAgICAg
ICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAg
ICAgICAgICJ4IjogODI0LAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiA0NDIKLSAgICAg
ICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAg
ICAgICAgICAgIngiOiA4MjQsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDQ0MgotICAg
ICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICAieCI6IC0xMTYsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDEwMAot
ICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXQotICAgICAgICAgICAgXSwK
LSAgICAgICAgICAgICJzaG93UnVsZXJzIjogZmFsc2UsCi0gICAgICAgICAgICAiY29udGVudENv
bG9yIjogInJnYmEoMTExLCAxNjgsIDIyMCwgMC42NTg4MjM1Mjk0MTE3NjQ3KSIsCi0gICAgICAg
ICAgICAiY29udGVudE91dGxpbmVDb2xvciI6ICJyZ2JhKDAsIDAsIDAsIDApIiwKLSAgICAgICAg
ICAgICJwYWRkaW5nQ29sb3IiOiAicmdiYSgxNDcsIDE5NiwgMTI1LCAwLjU0OTAxOTYwNzg0MzEz
NzMpIiwKLSAgICAgICAgICAgICJib3JkZXJDb2xvciI6ICJyZ2JhKDI1NSwgMjI5LCAxNTMsIDAu
NjU4ODIzNTI5NDExNzY0NykiLAotICAgICAgICAgICAgIm1hcmdpbkNvbG9yIjogInJnYmEoMjQ2
LCAxNzgsIDEwNywgMC42NTg4MjM1Mjk0MTE3NjQ3KSIsCi0gICAgICAgICAgICAicmVnaW9uIjog
ewotICAgICAgICAgICAgICAgICJxdWFkIjogWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICAieCI6IDMyMCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5
IjogMjY1Ci0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJ4IjogNTIwLAotICAgICAgICAgICAgICAgICAgICAgICAg
InkiOiAyNjUKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewot
ICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA1MjAsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAieSI6IDQ2NQotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7
Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDMyMCwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJ5IjogNDY1Ci0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdCi0g
ICAgICAgICAgICB9Ci0gICAgICAgIH0sCi0gICAgICAgIHsKLSAgICAgICAgICAgICJxdWFkcyI6
IFsKLSAgICAgICAgICAgICAgICBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJ4IjogODQsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDExMAot
ICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICAieCI6IDEwMjQsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDQ1
MgotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAg
ICAgICAgICAgICAgICAgICAieCI6IDEwMjQsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6
IDQ1MgotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICAieCI6IDg0LAotICAgICAgICAgICAgICAgICAgICAgICAgInki
OiAxMTAKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAg
ICAgICAgICAgWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICAieCI6IDg0LAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAxMTAKLSAgICAgICAgICAg
ICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAg
ICAgIngiOiAxMDI0LAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiA0NTIKLSAgICAgICAg
ICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAg
ICAgICAgIngiOiAxMDI0LAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiA0NTIKLSAgICAg
ICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAg
ICAgICAgICAgIngiOiA4NCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMTEwCi0gICAg
ICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgIFsK
LSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA4NCwK
LSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMTEwCi0gICAgICAgICAgICAgICAgICAgIH0s
Ci0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogMTAy
NCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogNDUyCi0gICAgICAgICAgICAgICAgICAg
IH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4Ijog
MTAyNCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogNDUyCi0gICAgICAgICAgICAgICAg
ICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4
IjogODQsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDExMAotICAgICAgICAgICAgICAg
ICAgICB9Ci0gICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICBbCi0gICAgICAgICAg
ICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogODQsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAieSI6IDExMAotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAg
ICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDEwMjQsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAieSI6IDQ1MgotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAg
ICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDEwMjQsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAieSI6IDQ1MgotICAgICAgICAgICAgICAgICAgICB9LAotICAg
ICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDg0LAotICAg
ICAgICAgICAgICAgICAgICAgICAgInkiOiAxMTAKLSAgICAgICAgICAgICAgICAgICAgfQotICAg
ICAgICAgICAgICAgIF0KLSAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAic2hvd1J1bGVycyI6
IGZhbHNlLAotICAgICAgICAgICAgImNvbnRlbnRDb2xvciI6ICJyZ2JhKDExMSwgMTY4LCAyMjAs
IDAuNjU4ODIzNTI5NDExNzY0NykiLAotICAgICAgICAgICAgImNvbnRlbnRPdXRsaW5lQ29sb3Ii
OiAicmdiYSgwLCAwLCAwLCAwKSIsCi0gICAgICAgICAgICAicGFkZGluZ0NvbG9yIjogInJnYmEo
MTQ3LCAxOTYsIDEyNSwgMC41NDkwMTk2MDc4NDMxMzczKSIsCi0gICAgICAgICAgICAiYm9yZGVy
Q29sb3IiOiAicmdiYSgyNTUsIDIyOSwgMTUzLCAwLjY1ODgyMzUyOTQxMTc2NDcpIiwKLSAgICAg
ICAgICAgICJtYXJnaW5Db2xvciI6ICJyZ2JhKDI0NiwgMTc4LCAxMDcsIDAuNjU4ODIzNTI5NDEx
NzY0NykiLAotICAgICAgICAgICAgInJlZ2lvbiI6IHsKLSAgICAgICAgICAgICAgICAicXVhZCI6
IFsKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA1
MjAsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDI3NQotICAgICAgICAgICAgICAgICAg
ICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6
IDEwMjAsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDI3NQotICAgICAgICAgICAgICAg
ICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAi
eCI6IDEwMjAsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDQ3NQotICAgICAgICAgICAg
ICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICAieCI6IDUyMCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogNDc1Ci0gICAgICAgICAg
ICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdCi0gICAgICAgICAgICB9Ci0gICAgICAgIH0K
LSAgICBdLAotICAgICJlbGVtZW50SW5mbyI6IHsKLSAgICAgICAgInRhZ05hbWUiOiAiZGl2IiwK
LSAgICAgICAgImlkVmFsdWUiOiAiaW5zcGVjdGVkRWxlbWVudCIsCi0gICAgICAgICJub2RlV2lk
dGgiOiAiMTAwMCIsCi0gICAgICAgICJub2RlSGVpZ2h0IjogIjIwMCIsCi0gICAgICAgICJjb250
ZW50Rmxvd0luZm8iOiB7Ci0gICAgICAgICAgICAibmFtZSI6ICJmbG93IgotICAgICAgICB9Ci0g
ICAgfQotfQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMvaGln
aGxpZ2h0LXJlZ2lvbnMtZmxvdy10cmFuc2Zvcm0tdmVydC1ybC5odG1sIGIvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yL2VsZW1lbnRzL2hpZ2hsaWdodC1yZWdpb25zLWZsb3ctdHJhbnNmb3JtLXZlcnQt
cmwuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTI4NDAyMGU4ZWQxM2RkMWNl
NDE3ZTRiMTc4YjdiNzM3NTQ1ODg2MC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMvaGlnaGxpZ2h0LXJl
Z2lvbnMtZmxvdy10cmFuc2Zvcm0tdmVydC1ybC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsODkg
KzAsMCBAQAotPCFkb2N0eXBlIGh0bWw+Ci08aHRtbCBzdHlsZT0iLXdlYmtpdC13cml0aW5nLW1v
ZGU6IHZlcnRpY2FsLXJsOyI+Ci08aGVhZD4KLQotPHN0eWxlPgotCi1ib2R5IHsKLSAgICBtYXJn
aW46IDA7Ci19Ci0jZmxvdyB7Ci0gICAgLXdlYmtpdC1mbG93LWludG86IGZsb3c7Ci19Ci0jY29u
dGFpbmVyIHsKLSAgICB3aWR0aDogNDAwcHg7Ci0gICAgaGVpZ2h0OiA0MDBweDsKLSAgICBiYWNr
Z3JvdW5kLWNvbG9yOiBncmV5OwotfQotI2luc3BlY3RlZEVsZW1lbnQgewotICAgIGhlaWdodDog
MTAwJTsKLSAgICB3aWR0aDogMTAwMHB4OwotICAgIGJhY2tncm91bmQtY29sb3I6IGdyZWVuOwot
ICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMjBkZWcpOwotICAgIHRyYW5zZm9ybTogcm90
YXRlKDIwZGVnKTsKLX0KLS5yZWdpb24gewotICAgIG1hcmdpbjogNXB4OwotICAgIGJvcmRlcjog
c29saWQgMTBweCBhcXVhOwotICAgIHBhZGRpbmc6IDE1cHg7Ci0gICAgd2lkdGg6IDIwMHB4Owot
ICAgIGhlaWdodDogMjAwcHg7Ci0gICAgYmFja2dyb3VuZC1jb2xvcjogYmx1ZTsKLSAgICBmbG9h
dDogbGVmdDsKLSAgICAtd2Via2l0LWZsb3ctZnJvbTogZmxvdzsKLX0KLS5zbWFsbCB7Ci0gICAg
d2lkdGg6IDEwMHB4OwotfQotLnplcm8taGVpZ2h0IHsKLSAgICBib3JkZXI6IG5vbmU7Ci0gICAg
aGVpZ2h0OiAwcHg7Ci0gICAgcGFkZGluZzogMDsKLX0KLS56ZXJvLXNpemUgewotICAgIGJvcmRl
cjogbm9uZTsKLSAgICB3aWR0aDogMHB4OwotICAgIGhlaWdodDogMHB4OwotICAgIHBhZGRpbmc6
IDA7Ci19Ci0uaGlkZGVuIHsKLSAgICBkaXNwbGF5OiBub25lOwotfQotI2Rlc2NyaXB0aW9uIHsK
LSAgICBjbGVhcjogYm90aDsKLX0KLQotPC9zdHlsZT4KLQotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0
dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9lbGVtZW50cy10ZXN0LmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQ+Ci0KLWZ1bmN0aW9uIHRlc3QoKQotewotICAgIGZ1bmN0aW9uIG5vZGVTZWxl
Y3RlZChub2RlKQotICAgIHsKLSAgICAgICAgUnVudGltZUFnZW50LmV2YWx1YXRlKCJkdW1wSW5z
cGVjdG9ySGlnaGxpZ2h0ZWROb2RlKCkiLCBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCk7Ci0g
ICAgfQotCi0gICAgSW5zcGVjdG9yVGVzdC5zZWxlY3ROb2RlV2l0aElkKCJpbnNwZWN0ZWRFbGVt
ZW50Iiwgbm9kZVNlbGVjdGVkKTsKLX0KLQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci0KLTxib2R5IG9u
bG9hZD0icnVuVGVzdCgpIj4KLQotPGRpdiBpZD0iZmxvdyI+Ci0gICAgPGRpdiBpZD0iaW5zcGVj
dGVkRWxlbWVudCI+PC9kaXY+Ci08L2Rpdj4KLQotPGRpdiBjbGFzcz0icmVnaW9uIj48L2Rpdj4K
LTxkaXYgY2xhc3M9InJlZ2lvbiBzbWFsbCI+PC9kaXY+Ci08ZGl2IGNsYXNzPSJyZWdpb24gemVy
by1oZWlnaHQiPjwvZGl2PgotPGRpdiBjbGFzcz0icmVnaW9uIHplcm8tc2l6ZSI+PC9kaXY+Ci08
ZGl2IGNsYXNzPSJyZWdpb24gaGlkZGVuIj48L2Rpdj4KLTxwIGlkPSJkZXNjcmlwdGlvbiI+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoZSBwb3NpdGlvbiBhbmQgc2l6ZSBvZiB0aGUgaGlnaGxpZ2h0ZWQg
bm9kZSBpbnNpZGUgQ1NTIFJlZ2lvbnMuPC9wPgotCi08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMvaGlnaGxpZ2h0LXJlZ2lvbnMtZmxv
dy10cmFuc2Zvcm0uaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9lbGVtZW50cy9oaWdobGln
aHQtcmVnaW9ucy1mbG93LXRyYW5zZm9ybS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCBlYjkwMDVhZmVkOTc2YzU0MzY1ZDY1ZjI0NDA5MzUzNDhjZTMyOTQ3Li4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rv
ci9lbGVtZW50cy9oaWdobGlnaHQtcmVnaW9ucy1mbG93LXRyYW5zZm9ybS5odG1sCisrKyAvZGV2
L251bGwKQEAgLTEsODkgKzAsMCBAQAotPCFkb2N0eXBlIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgot
Ci08c3R5bGU+Ci0KLWJvZHkgewotICAgIG1hcmdpbjogMDsKLX0KLSNmbG93IHsKLSAgICAtd2Vi
a2l0LWZsb3ctaW50bzogZmxvdzsKLX0KLSNjb250YWluZXIgewotICAgIHdpZHRoOiA0MDBweDsK
LSAgICBoZWlnaHQ6IDQwMHB4OwotICAgIGJhY2tncm91bmQtY29sb3I6IGdyZXk7Ci19Ci0jaW5z
cGVjdGVkRWxlbWVudCB7Ci0gICAgd2lkdGg6IDEwMCU7Ci0gICAgaGVpZ2h0OiAxMDAwcHg7Ci0g
ICAgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47Ci0gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0
ZSgyMGRlZyk7Ci0gICAgdHJhbnNmb3JtOiByb3RhdGUoMjBkZWcpOwotfQotLnJlZ2lvbiB7Ci0g
ICAgbWFyZ2luOiA1cHg7Ci0gICAgYm9yZGVyOiBzb2xpZCAxMHB4IGFxdWE7Ci0gICAgcGFkZGlu
ZzogMTVweDsKLSAgICB3aWR0aDogMjAwcHg7Ci0gICAgaGVpZ2h0OiAyMDBweDsKLSAgICBiYWNr
Z3JvdW5kLWNvbG9yOiBibHVlOwotICAgIGZsb2F0OiBsZWZ0OwotICAgIC13ZWJraXQtZmxvdy1m
cm9tOiBmbG93OwotfQotLnNtYWxsIHsKLSAgICB3aWR0aDogMTAwcHg7Ci19Ci0uemVyby1oZWln
aHQgewotICAgIGJvcmRlcjogbm9uZTsKLSAgICBoZWlnaHQ6IDBweDsKLSAgICBwYWRkaW5nOiAw
OwotfQotLnplcm8tc2l6ZSB7Ci0gICAgYm9yZGVyOiBub25lOwotICAgIHdpZHRoOiAwcHg7Ci0g
ICAgaGVpZ2h0OiAwcHg7Ci0gICAgcGFkZGluZzogMDsKLX0KLS5oaWRkZW4gewotICAgIGRpc3Bs
YXk6IG5vbmU7Ci19Ci0jZGVzY3JpcHRpb24gewotICAgIGNsZWFyOiBib3RoOwotfQotCi08L3N0
eWxlPgotCi08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9y
LXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVj
dG9yL2VsZW1lbnRzLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLQotZnVuY3Rpb24gdGVz
dCgpCi17Ci0gICAgZnVuY3Rpb24gbm9kZVNlbGVjdGVkKG5vZGUpCi0gICAgewotICAgICAgICBS
dW50aW1lQWdlbnQuZXZhbHVhdGUoImR1bXBJbnNwZWN0b3JIaWdobGlnaHRlZE5vZGUoKSIsIElu
c3BlY3RvclRlc3QuY29tcGxldGVUZXN0KTsKLSAgICB9Ci0KLSAgICBJbnNwZWN0b3JUZXN0LnNl
bGVjdE5vZGVXaXRoSWQoImluc3BlY3RlZEVsZW1lbnQiLCBub2RlU2VsZWN0ZWQpOwotfQotCi08
L3NjcmlwdD4KLTwvaGVhZD4KLQotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotCi08ZGl2IGlk
PSJmbG93Ij4KLSAgICA8ZGl2IGlkPSJpbnNwZWN0ZWRFbGVtZW50Ij48L2Rpdj4KLTwvZGl2Pgot
Ci08ZGl2IGNsYXNzPSJyZWdpb24iPjwvZGl2PgotPGRpdiBjbGFzcz0icmVnaW9uIHNtYWxsIj48
L2Rpdj4KLTxkaXYgY2xhc3M9InJlZ2lvbiB6ZXJvLWhlaWdodCI+PC9kaXY+Ci08ZGl2IGNsYXNz
PSJyZWdpb24gemVyby1zaXplIj48L2Rpdj4KLTxkaXYgY2xhc3M9InJlZ2lvbiBoaWRkZW4iPjwv
ZGl2PgotPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhlIHBvc2l0aW9u
IGFuZCBzaXplIG9mIHRoZSBoaWdobGlnaHRlZCBub2RlIGluc2lkZSBDU1MgUmVnaW9ucy48L3A+
Ci0KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9l
bGVtZW50cy9oaWdobGlnaHQtcmVnaW9ucy1mbG93LXZlcnQtbHItZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzL2hpZ2hsaWdodC1yZWdpb25zLWZsb3ctdmVydC1s
ci1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDFmMjQ2YzEwYThi
Y2EyYWQ2ZWNlNDhhMWQzM2VkODJlZWRjMmU1ZDEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzL2hpZ2hs
aWdodC1yZWdpb25zLWZsb3ctdmVydC1sci1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAt
MSw0MjggKzAsMCBAQAotVGhpcyB0ZXN0IHZlcmlmaWVzIHRoZSBwb3NpdGlvbiBhbmQgc2l6ZSBv
ZiB0aGUgaGlnaGxpZ2h0ZWQgbm9kZSBpbnNpZGUgQ1NTIFJlZ2lvbnMuCi0KLXsKLSAgICAic2Ny
b2xsIjogewotICAgICAgICAieCI6IDAsCi0gICAgICAgICJ5IjogMAotICAgIH0sCi0gICAgImZy
YWdtZW50cyI6IFsKLSAgICAgICAgewotICAgICAgICAgICAgInF1YWRzIjogWwotICAgICAgICAg
ICAgICAgIFsKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAg
IngiOiAzMCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMzAKLSAgICAgICAgICAgICAg
ICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAg
IngiOiAxMDMwLAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAzMAotICAgICAgICAgICAg
ICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICAieCI6IDEwMzAsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDIzMAotICAgICAgICAg
ICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICAieCI6IDMwLAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAyMzAKLSAgICAgICAg
ICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgWwotICAg
ICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDMwLAotICAg
ICAgICAgICAgICAgICAgICAgICAgInkiOiAzMAotICAgICAgICAgICAgICAgICAgICB9LAotICAg
ICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDEwMzAsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAieSI6IDMwCi0gICAgICAgICAgICAgICAgICAgIH0sCi0g
ICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogMTAzMCwK
LSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMjMwCi0gICAgICAgICAgICAgICAgICAgIH0s
Ci0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogMzAs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDIzMAotICAgICAgICAgICAgICAgICAgICB9
Ci0gICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICBbCi0gICAgICAgICAgICAgICAg
ICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogMzAsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAieSI6IDMwCi0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAg
ICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogMTAzMCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICJ5IjogMzAKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAg
ICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAxMDMwLAotICAgICAgICAgICAg
ICAgICAgICAgICAgInkiOiAyMzAKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAg
ICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAzMCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJ5IjogMjMwCi0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAg
ICAgICBdLAotICAgICAgICAgICAgICAgIFsKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAg
ICAgICAgICAgICAgICAgICAgIngiOiAzMCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5Ijog
MzAKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAg
ICAgICAgICAgICAgICAgICAgIngiOiAxMDMwLAotICAgICAgICAgICAgICAgICAgICAgICAgInki
OiAzMAotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICAieCI6IDEwMzAsCi0gICAgICAgICAgICAgICAgICAgICAgICAi
eSI6IDIzMAotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0g
ICAgICAgICAgICAgICAgICAgICAgICAieCI6IDMwLAotICAgICAgICAgICAgICAgICAgICAgICAg
InkiOiAyMzAKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0KLSAgICAg
ICAgICAgIF0sCi0gICAgICAgICAgICAic2hvd1J1bGVycyI6IGZhbHNlLAotICAgICAgICAgICAg
ImNvbnRlbnRDb2xvciI6ICJyZ2JhKDExMSwgMTY4LCAyMjAsIDAuNjU4ODIzNTI5NDExNzY0Nyki
LAotICAgICAgICAgICAgImNvbnRlbnRPdXRsaW5lQ29sb3IiOiAicmdiYSgwLCAwLCAwLCAwKSIs
Ci0gICAgICAgICAgICAicGFkZGluZ0NvbG9yIjogInJnYmEoMTQ3LCAxOTYsIDEyNSwgMC41NDkw
MTk2MDc4NDMxMzczKSIsCi0gICAgICAgICAgICAiYm9yZGVyQ29sb3IiOiAicmdiYSgyNTUsIDIy
OSwgMTUzLCAwLjY1ODgyMzUyOTQxMTc2NDcpIiwKLSAgICAgICAgICAgICJtYXJnaW5Db2xvciI6
ICJyZ2JhKDI0NiwgMTc4LCAxMDcsIDAuNjU4ODIzNTI5NDExNzY0NykiLAotICAgICAgICAgICAg
InJlZ2lvbiI6IHsKLSAgICAgICAgICAgICAgICAicXVhZCI6IFsKLSAgICAgICAgICAgICAgICAg
ICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAzMCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICJ5IjogMzAKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAg
ICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAyMzAsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAieSI6IDMwCi0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAg
ICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogMjMwLAotICAgICAgICAgICAgICAg
ICAgICAgICAgInkiOiAyMzAKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAg
ICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAzMCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICJ5IjogMjMwCi0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAg
ICBdCi0gICAgICAgICAgICB9Ci0gICAgICAgIH0sCi0gICAgICAgIHsKLSAgICAgICAgICAgICJx
dWFkcyI6IFsKLSAgICAgICAgICAgICAgICBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJ4IjogOTAsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6
IDMwCi0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJ4IjogMTA5MCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5
IjogMzAKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAg
ICAgICAgICAgICAgICAgICAgICAgIngiOiAxMDkwLAotICAgICAgICAgICAgICAgICAgICAgICAg
InkiOiAyMzAKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewot
ICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA5MCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJ5IjogMjMwCi0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdLAotICAg
ICAgICAgICAgICAgIFsKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAg
ICAgICAgIngiOiA5MCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMzAKLSAgICAgICAg
ICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAg
ICAgICAgIngiOiAxMDkwLAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAzMAotICAgICAg
ICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICAieCI6IDEwOTAsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDIzMAotICAg
ICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICAieCI6IDkwLAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAyMzAKLSAg
ICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAg
WwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDkw
LAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAzMAotICAgICAgICAgICAgICAgICAgICB9
LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDEw
OTAsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDMwCi0gICAgICAgICAgICAgICAgICAg
IH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4Ijog
MTA5MCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMjMwCi0gICAgICAgICAgICAgICAg
ICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4
IjogOTAsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDIzMAotICAgICAgICAgICAgICAg
ICAgICB9Ci0gICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICBbCi0gICAgICAgICAg
ICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogOTAsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAieSI6IDMwCi0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAg
ICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogMTA5MCwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICJ5IjogMzAKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAg
ICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAxMDkwLAotICAgICAg
ICAgICAgICAgICAgICAgICAgInkiOiAyMzAKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAg
ICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA5MCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJ5IjogMjMwCi0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAg
ICAgICAgICAgICBdCi0gICAgICAgICAgICBdLAotICAgICAgICAgICAgInNob3dSdWxlcnMiOiBm
YWxzZSwKLSAgICAgICAgICAgICJjb250ZW50Q29sb3IiOiAicmdiYSgxMTEsIDE2OCwgMjIwLCAw
LjY1ODgyMzUyOTQxMTc2NDcpIiwKLSAgICAgICAgICAgICJjb250ZW50T3V0bGluZUNvbG9yIjog
InJnYmEoMCwgMCwgMCwgMCkiLAotICAgICAgICAgICAgInBhZGRpbmdDb2xvciI6ICJyZ2JhKDE0
NywgMTk2LCAxMjUsIDAuNTQ5MDE5NjA3ODQzMTM3MykiLAotICAgICAgICAgICAgImJvcmRlckNv
bG9yIjogInJnYmEoMjU1LCAyMjksIDE1MywgMC42NTg4MjM1Mjk0MTE3NjQ3KSIsCi0gICAgICAg
ICAgICAibWFyZ2luQ29sb3IiOiAicmdiYSgyNDYsIDE3OCwgMTA3LCAwLjY1ODgyMzUyOTQxMTc2
NDcpIiwKLSAgICAgICAgICAgICJyZWdpb24iOiB7Ci0gICAgICAgICAgICAgICAgInF1YWQiOiBb
Ci0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogMjkw
LAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAzMAotICAgICAgICAgICAgICAgICAgICB9
LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDM5
MCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMzAKLSAgICAgICAgICAgICAgICAgICAg
fSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAz
OTAsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDIzMAotICAgICAgICAgICAgICAgICAg
ICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6
IDI5MCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMjMwCi0gICAgICAgICAgICAgICAg
ICAgIH0KLSAgICAgICAgICAgICAgICBdCi0gICAgICAgICAgICB9Ci0gICAgICAgIH0sCi0gICAg
ICAgIHsKLSAgICAgICAgICAgICJxdWFkcyI6IFsKLSAgICAgICAgICAgICAgICBbCi0gICAgICAg
ICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogLTM1LAotICAgICAg
ICAgICAgICAgICAgICAgICAgInkiOiAyNjUKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAg
ICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA5NjUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAieSI6IDI2NQotICAgICAgICAgICAgICAgICAgICB9LAotICAg
ICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDk2NSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJ5IjogMjY1Ci0gICAgICAgICAgICAgICAgICAgIH0sCi0g
ICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogLTM1LAot
ICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAyNjUKLSAgICAgICAgICAgICAgICAgICAgfQot
ICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgWwotICAgICAgICAgICAgICAgICAg
ICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IC0zNSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICJ5IjogMjY1Ci0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAg
ICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogOTY1LAotICAgICAgICAgICAgICAg
ICAgICAgICAgInkiOiAyNjUKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAg
ICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA5NjUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAieSI6IDI2NQotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAg
ICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IC0zNSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJ5IjogMjY1Ci0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAg
ICAgICBdLAotICAgICAgICAgICAgICAgIFsKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAg
ICAgICAgICAgICAgICAgICAgIngiOiAtMzUsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6
IDI2NQotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICAieCI6IDk2NSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5
IjogMjY1Ci0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJ4IjogOTY1LAotICAgICAgICAgICAgICAgICAgICAgICAg
InkiOiAyNjUKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewot
ICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAtMzUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAieSI6IDI2NQotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXSwKLSAg
ICAgICAgICAgICAgICBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAg
ICAgICAgICJ4IjogLTM1LAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAyNjUKLSAgICAg
ICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAg
ICAgICAgICAgIngiOiA5NjUsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDI2NQotICAg
ICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICAieCI6IDk2NSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMjY1Ci0g
ICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJ4IjogLTM1LAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAyNjUK
LSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0KLSAgICAgICAgICAgIF0s
Ci0gICAgICAgICAgICAic2hvd1J1bGVycyI6IGZhbHNlLAotICAgICAgICAgICAgImNvbnRlbnRD
b2xvciI6ICJyZ2JhKDExMSwgMTY4LCAyMjAsIDAuNjU4ODIzNTI5NDExNzY0NykiLAotICAgICAg
ICAgICAgImNvbnRlbnRPdXRsaW5lQ29sb3IiOiAicmdiYSgwLCAwLCAwLCAwKSIsCi0gICAgICAg
ICAgICAicGFkZGluZ0NvbG9yIjogInJnYmEoMTQ3LCAxOTYsIDEyNSwgMC41NDkwMTk2MDc4NDMx
MzczKSIsCi0gICAgICAgICAgICAiYm9yZGVyQ29sb3IiOiAicmdiYSgyNTUsIDIyOSwgMTUzLCAw
LjY1ODgyMzUyOTQxMTc2NDcpIiwKLSAgICAgICAgICAgICJtYXJnaW5Db2xvciI6ICJyZ2JhKDI0
NiwgMTc4LCAxMDcsIDAuNjU4ODIzNTI5NDExNzY0NykiLAotICAgICAgICAgICAgInJlZ2lvbiI6
IHsKLSAgICAgICAgICAgICAgICAicXVhZCI6IFsKLSAgICAgICAgICAgICAgICAgICAgewotICAg
ICAgICAgICAgICAgICAgICAgICAgIngiOiAyNjUsCi0gICAgICAgICAgICAgICAgICAgICAgICAi
eSI6IDI2NQotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0g
ICAgICAgICAgICAgICAgICAgICAgICAieCI6IDQ2NSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJ5IjogMjY1Ci0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsK
LSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogNDY1LAotICAgICAgICAgICAgICAgICAgICAg
ICAgInkiOiA0NjUKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAg
ewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAyNjUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAieSI6IDQ2NQotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXQot
ICAgICAgICAgICAgfQotICAgICAgICB9LAotICAgICAgICB7Ci0gICAgICAgICAgICAicXVhZHMi
OiBbCi0gICAgICAgICAgICAgICAgWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICAieCI6IC0yMzUsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDI3
NQotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAg
ICAgICAgICAgICAgICAgICAieCI6IDc2NSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5Ijog
Mjc1Ci0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJ4IjogNzY1LAotICAgICAgICAgICAgICAgICAgICAgICAgInki
OiAyNzUKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAg
ICAgICAgICAgICAgICAgICAgICAgIngiOiAtMjM1LAotICAgICAgICAgICAgICAgICAgICAgICAg
InkiOiAyNzUKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAg
ICAgICAgICAgICAgWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICAieCI6IC0yMzUsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDI3NQotICAgICAg
ICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICAieCI6IDc2NSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMjc1Ci0gICAg
ICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAg
ICAgICAgICAgICJ4IjogNzY1LAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAyNzUKLSAg
ICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAg
ICAgICAgICAgICAgIngiOiAtMjM1LAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAyNzUK
LSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAg
ICAgWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6
IC0yMzUsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDI3NQotICAgICAgICAgICAgICAg
ICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAi
eCI6IDc2NSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMjc1Ci0gICAgICAgICAgICAg
ICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJ4IjogNzY1LAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAyNzUKLSAgICAgICAgICAg
ICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAg
ICAgIngiOiAtMjM1LAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAyNzUKLSAgICAgICAg
ICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgWwotICAg
ICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IC0yMzUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAieSI6IDI3NQotICAgICAgICAgICAgICAgICAgICB9LAot
ICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDc2NSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMjc1Ci0gICAgICAgICAgICAgICAgICAgIH0s
Ci0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogNzY1
LAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAyNzUKLSAgICAgICAgICAgICAgICAgICAg
fSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAt
MjM1LAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAyNzUKLSAgICAgICAgICAgICAgICAg
ICAgfQotICAgICAgICAgICAgICAgIF0KLSAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAic2hv
d1J1bGVycyI6IGZhbHNlLAotICAgICAgICAgICAgImNvbnRlbnRDb2xvciI6ICJyZ2JhKDExMSwg
MTY4LCAyMjAsIDAuNjU4ODIzNTI5NDExNzY0NykiLAotICAgICAgICAgICAgImNvbnRlbnRPdXRs
aW5lQ29sb3IiOiAicmdiYSgwLCAwLCAwLCAwKSIsCi0gICAgICAgICAgICAicGFkZGluZ0NvbG9y
IjogInJnYmEoMTQ3LCAxOTYsIDEyNSwgMC41NDkwMTk2MDc4NDMxMzczKSIsCi0gICAgICAgICAg
ICAiYm9yZGVyQ29sb3IiOiAicmdiYSgyNTUsIDIyOSwgMTUzLCAwLjY1ODgyMzUyOTQxMTc2NDcp
IiwKLSAgICAgICAgICAgICJtYXJnaW5Db2xvciI6ICJyZ2JhKDI0NiwgMTc4LCAxMDcsIDAuNjU4
ODIzNTI5NDExNzY0NykiLAotICAgICAgICAgICAgInJlZ2lvbiI6IHsKLSAgICAgICAgICAgICAg
ICAicXVhZCI6IFsKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAg
ICAgIngiOiAyNjUsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDI3NQotICAgICAgICAg
ICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICAieCI6IDc2NSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMjc1Ci0gICAgICAg
ICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAg
ICAgICAgICJ4IjogNzY1LAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiA0NzUKLSAgICAg
ICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAg
ICAgICAgICAgIngiOiAyNjUsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDQ3NQotICAg
ICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXQotICAgICAgICAgICAgfQotICAg
ICAgICB9Ci0gICAgXSwKLSAgICAiZWxlbWVudEluZm8iOiB7Ci0gICAgICAgICJ0YWdOYW1lIjog
ImRpdiIsCi0gICAgICAgICJpZFZhbHVlIjogImluc3BlY3RlZEVsZW1lbnQiLAotICAgICAgICAi
bm9kZVdpZHRoIjogIjEwMDAiLAotICAgICAgICAibm9kZUhlaWdodCI6ICIyMDAiLAotICAgICAg
ICAiY29udGVudEZsb3dJbmZvIjogewotICAgICAgICAgICAgIm5hbWUiOiAiZmxvdyIKLSAgICAg
ICAgfQotICAgIH0KLX0KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VsZW1l
bnRzL2hpZ2hsaWdodC1yZWdpb25zLWZsb3ctdmVydC1sci5odG1sIGIvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yL2VsZW1lbnRzL2hpZ2hsaWdodC1yZWdpb25zLWZsb3ctdmVydC1sci5odG1sCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzNTI0Y2QwNjExYTQ4MTE0NzNiM2JlOTBkODU0Yzkx
MGQ1MTgxMzk1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL2luc3BlY3Rvci9lbGVtZW50cy9oaWdobGlnaHQtcmVnaW9ucy1mbG93LXZl
cnQtbHIuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDg3ICswLDAgQEAKLTwhZG9jdHlwZSBodG1s
PgotPGh0bWwgc3R5bGU9Ii13ZWJraXQtd3JpdGluZy1tb2RlOiB2ZXJ0aWNhbC1scjsiPgotPGhl
YWQ+Ci0KLTxzdHlsZT4KLQotYm9keSB7Ci0gICAgbWFyZ2luOiAwOwotfQotI2Zsb3cgewotICAg
IC13ZWJraXQtZmxvdy1pbnRvOiBmbG93OwotfQotI2NvbnRhaW5lciB7Ci0gICAgd2lkdGg6IDQw
MHB4OwotICAgIGhlaWdodDogNDAwcHg7Ci0gICAgYmFja2dyb3VuZC1jb2xvcjogZ3JleTsKLX0K
LSNpbnNwZWN0ZWRFbGVtZW50IHsKLSAgICBoZWlnaHQ6IDEwMCU7Ci0gICAgd2lkdGg6IDEwMDBw
eDsKLSAgICBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsKLX0KLS5yZWdpb24gewotICAgIG1hcmdp
bjogNXB4OwotICAgIGJvcmRlcjogc29saWQgMTBweCBhcXVhOwotICAgIHBhZGRpbmc6IDE1cHg7
Ci0gICAgd2lkdGg6IDIwMHB4OwotICAgIGhlaWdodDogMjAwcHg7Ci0gICAgYmFja2dyb3VuZC1j
b2xvcjogYmx1ZTsKLSAgICBmbG9hdDogbGVmdDsKLSAgICAtd2Via2l0LWZsb3ctZnJvbTogZmxv
dzsKLX0KLS5zbWFsbCB7Ci0gICAgd2lkdGg6IDEwMHB4OwotfQotLnplcm8taGVpZ2h0IHsKLSAg
ICBib3JkZXI6IG5vbmU7Ci0gICAgaGVpZ2h0OiAwcHg7Ci0gICAgcGFkZGluZzogMDsKLX0KLS56
ZXJvLXNpemUgewotICAgIGJvcmRlcjogbm9uZTsKLSAgICB3aWR0aDogMHB4OwotICAgIGhlaWdo
dDogMHB4OwotICAgIHBhZGRpbmc6IDA7Ci19Ci0uaGlkZGVuIHsKLSAgICBkaXNwbGF5OiBub25l
OwotfQotI2Rlc2NyaXB0aW9uIHsKLSAgICBjbGVhcjogYm90aDsKLX0KLQotPC9zdHlsZT4KLQot
PHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0Lmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9lbGVt
ZW50cy10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci0KLWZ1bmN0aW9uIHRlc3QoKQotewot
ICAgIGZ1bmN0aW9uIG5vZGVTZWxlY3RlZChub2RlKQotICAgIHsKLSAgICAgICAgUnVudGltZUFn
ZW50LmV2YWx1YXRlKCJkdW1wSW5zcGVjdG9ySGlnaGxpZ2h0ZWROb2RlKCkiLCBJbnNwZWN0b3JU
ZXN0LmNvbXBsZXRlVGVzdCk7Ci0gICAgfQotCi0gICAgSW5zcGVjdG9yVGVzdC5zZWxlY3ROb2Rl
V2l0aElkKCJpbnNwZWN0ZWRFbGVtZW50Iiwgbm9kZVNlbGVjdGVkKTsKLX0KLQotPC9zY3JpcHQ+
Ci08L2hlYWQ+Ci0KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLQotPGRpdiBpZD0iZmxvdyI+
Ci0gICAgPGRpdiBpZD0iaW5zcGVjdGVkRWxlbWVudCI+PC9kaXY+Ci08L2Rpdj4KLQotPGRpdiBj
bGFzcz0icmVnaW9uIj48L2Rpdj4KLTxkaXYgY2xhc3M9InJlZ2lvbiBzbWFsbCI+PC9kaXY+Ci08
ZGl2IGNsYXNzPSJyZWdpb24gemVyby1oZWlnaHQiPjwvZGl2PgotPGRpdiBjbGFzcz0icmVnaW9u
IHplcm8tc2l6ZSI+PC9kaXY+Ci08ZGl2IGNsYXNzPSJyZWdpb24gaGlkZGVuIj48L2Rpdj4KLTxw
IGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoZSBwb3NpdGlvbiBhbmQgc2l6
ZSBvZiB0aGUgaGlnaGxpZ2h0ZWQgbm9kZSBpbnNpZGUgQ1NTIFJlZ2lvbnMuPC9wPgotCi08L2Jv
ZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMv
aGlnaGxpZ2h0LXJlZ2lvbnMtZmxvdy12ZXJ0LXJsLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2luc3BlY3Rvci9lbGVtZW50cy9oaWdobGlnaHQtcmVnaW9ucy1mbG93LXZlcnQtcmwtZXhwZWN0
ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3MGUzZmMxNWFhNDdiYTBhMDNh
ZTkxZWIwM2YyN2Q0OGVlNjI0MTU2Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9lbGVtZW50cy9oaWdobGlnaHQtcmVn
aW9ucy1mbG93LXZlcnQtcmwtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNDI4ICsw
LDAgQEAKLVRoaXMgdGVzdCB2ZXJpZmllcyB0aGUgcG9zaXRpb24gYW5kIHNpemUgb2YgdGhlIGhp
Z2hsaWdodGVkIG5vZGUgaW5zaWRlIENTUyBSZWdpb25zLgotCi17Ci0gICAgInNjcm9sbCI6IHsK
LSAgICAgICAgIngiOiAwLAotICAgICAgICAieSI6IDAKLSAgICB9LAotICAgICJmcmFnbWVudHMi
OiBbCi0gICAgICAgIHsKLSAgICAgICAgICAgICJxdWFkcyI6IFsKLSAgICAgICAgICAgICAgICBb
Ci0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogLTIz
MCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMzAKLSAgICAgICAgICAgICAgICAgICAg
fSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA3
NzAsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDMwCi0gICAgICAgICAgICAgICAgICAg
IH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4Ijog
NzcwLAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAyMzAKLSAgICAgICAgICAgICAgICAg
ICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngi
OiAtMjMwLAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAyMzAKLSAgICAgICAgICAgICAg
ICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgWwotICAgICAgICAg
ICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IC0yMzAsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAieSI6IDMwCi0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAg
ICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogNzcwLAotICAgICAg
ICAgICAgICAgICAgICAgICAgInkiOiAzMAotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAg
ICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDc3MCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJ5IjogMjMwCi0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAg
ICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogLTIzMCwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJ5IjogMjMwCi0gICAgICAgICAgICAgICAgICAgIH0KLSAg
ICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgIFsKLSAgICAgICAgICAgICAgICAgICAg
ewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAtMjMwLAotICAgICAgICAgICAgICAgICAg
ICAgICAgInkiOiAzMAotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAg
ICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDc3MCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICJ5IjogMzAKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAg
ICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA3NzAsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAieSI6IDIzMAotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAg
ICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IC0yMzAsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAieSI6IDIzMAotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAg
ICAgXSwKLSAgICAgICAgICAgICAgICBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAg
ICAgICAgICAgICAgICAgICJ4IjogLTIzMCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5Ijog
MzAKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAg
ICAgICAgICAgICAgICAgICAgIngiOiA3NzAsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6
IDMwCi0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJ4IjogNzcwLAotICAgICAgICAgICAgICAgICAgICAgICAgInki
OiAyMzAKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAg
ICAgICAgICAgICAgICAgICAgICAgIngiOiAtMjMwLAotICAgICAgICAgICAgICAgICAgICAgICAg
InkiOiAyMzAKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0KLSAgICAg
ICAgICAgIF0sCi0gICAgICAgICAgICAic2hvd1J1bGVycyI6IGZhbHNlLAotICAgICAgICAgICAg
ImNvbnRlbnRDb2xvciI6ICJyZ2JhKDExMSwgMTY4LCAyMjAsIDAuNjU4ODIzNTI5NDExNzY0Nyki
LAotICAgICAgICAgICAgImNvbnRlbnRPdXRsaW5lQ29sb3IiOiAicmdiYSgwLCAwLCAwLCAwKSIs
Ci0gICAgICAgICAgICAicGFkZGluZ0NvbG9yIjogInJnYmEoMTQ3LCAxOTYsIDEyNSwgMC41NDkw
MTk2MDc4NDMxMzczKSIsCi0gICAgICAgICAgICAiYm9yZGVyQ29sb3IiOiAicmdiYSgyNTUsIDIy
OSwgMTUzLCAwLjY1ODgyMzUyOTQxMTc2NDcpIiwKLSAgICAgICAgICAgICJtYXJnaW5Db2xvciI6
ICJyZ2JhKDI0NiwgMTc4LCAxMDcsIDAuNjU4ODIzNTI5NDExNzY0NykiLAotICAgICAgICAgICAg
InJlZ2lvbiI6IHsKLSAgICAgICAgICAgICAgICAicXVhZCI6IFsKLSAgICAgICAgICAgICAgICAg
ICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA1NzAsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAieSI6IDMwCi0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAg
ICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogNzcwLAotICAgICAgICAgICAgICAg
ICAgICAgICAgInkiOiAzMAotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAg
ICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDc3MCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICJ5IjogMjMwCi0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAg
ICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogNTcwLAotICAgICAgICAgICAg
ICAgICAgICAgICAgInkiOiAyMzAKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAg
ICAgIF0KLSAgICAgICAgICAgIH0KLSAgICAgICAgfSwKLSAgICAgICAgewotICAgICAgICAgICAg
InF1YWRzIjogWwotICAgICAgICAgICAgICAgIFsKLSAgICAgICAgICAgICAgICAgICAgewotICAg
ICAgICAgICAgICAgICAgICAgICAgIngiOiAtMjkwLAotICAgICAgICAgICAgICAgICAgICAgICAg
InkiOiAzMAotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0g
ICAgICAgICAgICAgICAgICAgICAgICAieCI6IDcxMCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJ5IjogMzAKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewot
ICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA3MTAsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAieSI6IDIzMAotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7
Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IC0yOTAsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAieSI6IDIzMAotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXSwK
LSAgICAgICAgICAgICAgICBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAg
ICAgICAgICAgICJ4IjogLTI5MCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMzAKLSAg
ICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAg
ICAgICAgICAgICAgIngiOiA3MTAsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDMwCi0g
ICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJ4IjogNzEwLAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAyMzAK
LSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAg
ICAgICAgICAgICAgICAgIngiOiAtMjkwLAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAy
MzAKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAg
ICAgICAgWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAi
eCI6IC0yOTAsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDMwCi0gICAgICAgICAgICAg
ICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJ4IjogNzEwLAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAzMAotICAgICAgICAgICAg
ICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICAieCI6IDcxMCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMjMwCi0gICAgICAgICAg
ICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJ4IjogLTI5MCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMjMwCi0gICAgICAg
ICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgIFsKLSAg
ICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAtMjkwLAot
ICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAzMAotICAgICAgICAgICAgICAgICAgICB9LAot
ICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDcxMCwK
LSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMzAKLSAgICAgICAgICAgICAgICAgICAgfSwK
LSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA3MTAs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDIzMAotICAgICAgICAgICAgICAgICAgICB9
LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IC0y
OTAsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDIzMAotICAgICAgICAgICAgICAgICAg
ICB9Ci0gICAgICAgICAgICAgICAgXQotICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICJzaG93
UnVsZXJzIjogZmFsc2UsCi0gICAgICAgICAgICAiY29udGVudENvbG9yIjogInJnYmEoMTExLCAx
NjgsIDIyMCwgMC42NTg4MjM1Mjk0MTE3NjQ3KSIsCi0gICAgICAgICAgICAiY29udGVudE91dGxp
bmVDb2xvciI6ICJyZ2JhKDAsIDAsIDAsIDApIiwKLSAgICAgICAgICAgICJwYWRkaW5nQ29sb3Ii
OiAicmdiYSgxNDcsIDE5NiwgMTI1LCAwLjU0OTAxOTYwNzg0MzEzNzMpIiwKLSAgICAgICAgICAg
ICJib3JkZXJDb2xvciI6ICJyZ2JhKDI1NSwgMjI5LCAxNTMsIDAuNjU4ODIzNTI5NDExNzY0Nyki
LAotICAgICAgICAgICAgIm1hcmdpbkNvbG9yIjogInJnYmEoMjQ2LCAxNzgsIDEwNywgMC42NTg4
MjM1Mjk0MTE3NjQ3KSIsCi0gICAgICAgICAgICAicmVnaW9uIjogewotICAgICAgICAgICAgICAg
ICJxdWFkIjogWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICAieCI6IDQxMCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMzAKLSAgICAgICAgICAg
ICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAg
ICAgIngiOiA1MTAsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDMwCi0gICAgICAgICAg
ICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJ4IjogNTEwLAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAyMzAKLSAgICAgICAg
ICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAg
ICAgICAgIngiOiA0MTAsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDIzMAotICAgICAg
ICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXQotICAgICAgICAgICAgfQotICAgICAg
ICB9LAotICAgICAgICB7Ci0gICAgICAgICAgICAicXVhZHMiOiBbCi0gICAgICAgICAgICAgICAg
WwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IC0x
NjUsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDI2NQotICAgICAgICAgICAgICAgICAg
ICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6
IDgzNSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMjY1Ci0gICAgICAgICAgICAgICAg
ICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4
IjogODM1LAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAyNjUKLSAgICAgICAgICAgICAg
ICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAg
IngiOiAtMTY1LAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAyNjUKLSAgICAgICAgICAg
ICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgWwotICAgICAg
ICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IC0xNjUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAieSI6IDI2NQotICAgICAgICAgICAgICAgICAgICB9LAotICAg
ICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDgzNSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJ5IjogMjY1Ci0gICAgICAgICAgICAgICAgICAgIH0sCi0g
ICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogODM1LAot
ICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAyNjUKLSAgICAgICAgICAgICAgICAgICAgfSwK
LSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAtMTY1
LAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAyNjUKLSAgICAgICAgICAgICAgICAgICAg
fQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgWwotICAgICAgICAgICAgICAg
ICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IC0xNjUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAieSI6IDI2NQotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAg
ICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDgzNSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJ5IjogMjY1Ci0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAg
ICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogODM1LAotICAgICAgICAg
ICAgICAgICAgICAgICAgInkiOiAyNjUKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAg
ICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAtMTY1LAotICAgICAg
ICAgICAgICAgICAgICAgICAgInkiOiAyNjUKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAg
ICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgWwotICAgICAgICAgICAgICAgICAgICB7Ci0g
ICAgICAgICAgICAgICAgICAgICAgICAieCI6IC0xNjUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAieSI6IDI2NQotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7
Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDgzNSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJ5IjogMjY1Ci0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAg
IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogODM1LAotICAgICAgICAgICAgICAgICAg
ICAgICAgInkiOiAyNjUKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAg
ICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAtMTY1LAotICAgICAgICAgICAgICAg
ICAgICAgICAgInkiOiAyNjUKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAg
IF0KLSAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAic2hvd1J1bGVycyI6IGZhbHNlLAotICAg
ICAgICAgICAgImNvbnRlbnRDb2xvciI6ICJyZ2JhKDExMSwgMTY4LCAyMjAsIDAuNjU4ODIzNTI5
NDExNzY0NykiLAotICAgICAgICAgICAgImNvbnRlbnRPdXRsaW5lQ29sb3IiOiAicmdiYSgwLCAw
LCAwLCAwKSIsCi0gICAgICAgICAgICAicGFkZGluZ0NvbG9yIjogInJnYmEoMTQ3LCAxOTYsIDEy
NSwgMC41NDkwMTk2MDc4NDMxMzczKSIsCi0gICAgICAgICAgICAiYm9yZGVyQ29sb3IiOiAicmdi
YSgyNTUsIDIyOSwgMTUzLCAwLjY1ODgyMzUyOTQxMTc2NDcpIiwKLSAgICAgICAgICAgICJtYXJn
aW5Db2xvciI6ICJyZ2JhKDI0NiwgMTc4LCAxMDcsIDAuNjU4ODIzNTI5NDExNzY0NykiLAotICAg
ICAgICAgICAgInJlZ2lvbiI6IHsKLSAgICAgICAgICAgICAgICAicXVhZCI6IFsKLSAgICAgICAg
ICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAzMzUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAieSI6IDI2NQotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAg
ICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDUzNSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJ5IjogMjY1Ci0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAg
ICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogNTM1LAotICAg
ICAgICAgICAgICAgICAgICAgICAgInkiOiA0NjUKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAg
ICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAzMzUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAieSI6IDQ2NQotICAgICAgICAgICAgICAgICAgICB9Ci0g
ICAgICAgICAgICAgICAgXQotICAgICAgICAgICAgfQotICAgICAgICB9LAotICAgICAgICB7Ci0g
ICAgICAgICAgICAicXVhZHMiOiBbCi0gICAgICAgICAgICAgICAgWwotICAgICAgICAgICAgICAg
ICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDM1LAotICAgICAgICAgICAgICAg
ICAgICAgICAgInkiOiAyNzUKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAg
ICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAxMDM1LAotICAgICAgICAgICAg
ICAgICAgICAgICAgInkiOiAyNzUKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAg
ICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAxMDM1LAotICAgICAgICAg
ICAgICAgICAgICAgICAgInkiOiAyNzUKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAg
ICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAzNSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICJ5IjogMjc1Ci0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAg
ICAgICAgICBdLAotICAgICAgICAgICAgICAgIFsKLSAgICAgICAgICAgICAgICAgICAgewotICAg
ICAgICAgICAgICAgICAgICAgICAgIngiOiAzNSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5
IjogMjc1Ci0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJ4IjogMTAzNSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJ5IjogMjc1Ci0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsK
LSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogMTAzNSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJ5IjogMjc1Ci0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAg
IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogMzUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAieSI6IDI3NQotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXSwK
LSAgICAgICAgICAgICAgICBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAg
ICAgICAgICAgICJ4IjogMzUsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDI3NQotICAg
ICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICAieCI6IDEwMzUsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDI3NQot
ICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICAieCI6IDEwMzUsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDI3
NQotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAg
ICAgICAgICAgICAgICAgICAieCI6IDM1LAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAy
NzUKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAg
ICAgICAgWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAi
eCI6IDM1LAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAyNzUKLSAgICAgICAgICAgICAg
ICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAg
IngiOiAxMDM1LAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAyNzUKLSAgICAgICAgICAg
ICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAg
ICAgIngiOiAxMDM1LAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAyNzUKLSAgICAgICAg
ICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAg
ICAgICAgIngiOiAzNSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMjc1Ci0gICAgICAg
ICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdCi0gICAgICAgICAgICBdLAotICAgICAg
ICAgICAgInNob3dSdWxlcnMiOiBmYWxzZSwKLSAgICAgICAgICAgICJjb250ZW50Q29sb3IiOiAi
cmdiYSgxMTEsIDE2OCwgMjIwLCAwLjY1ODgyMzUyOTQxMTc2NDcpIiwKLSAgICAgICAgICAgICJj
b250ZW50T3V0bGluZUNvbG9yIjogInJnYmEoMCwgMCwgMCwgMCkiLAotICAgICAgICAgICAgInBh
ZGRpbmdDb2xvciI6ICJyZ2JhKDE0NywgMTk2LCAxMjUsIDAuNTQ5MDE5NjA3ODQzMTM3MykiLAot
ICAgICAgICAgICAgImJvcmRlckNvbG9yIjogInJnYmEoMjU1LCAyMjksIDE1MywgMC42NTg4MjM1
Mjk0MTE3NjQ3KSIsCi0gICAgICAgICAgICAibWFyZ2luQ29sb3IiOiAicmdiYSgyNDYsIDE3OCwg
MTA3LCAwLjY1ODgyMzUyOTQxMTc2NDcpIiwKLSAgICAgICAgICAgICJyZWdpb24iOiB7Ci0gICAg
ICAgICAgICAgICAgInF1YWQiOiBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJ4IjogNTM1LAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAyNzUK
LSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAg
ICAgICAgICAgICAgICAgIngiOiAxMDM1LAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAy
NzUKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAg
ICAgICAgICAgICAgICAgICAgIngiOiAxMDM1LAotICAgICAgICAgICAgICAgICAgICAgICAgInki
OiA0NzUKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAg
ICAgICAgICAgICAgICAgICAgICAgIngiOiA1MzUsCi0gICAgICAgICAgICAgICAgICAgICAgICAi
eSI6IDQ3NQotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXQotICAgICAg
ICAgICAgfQotICAgICAgICB9Ci0gICAgXSwKLSAgICAiZWxlbWVudEluZm8iOiB7Ci0gICAgICAg
ICJ0YWdOYW1lIjogImRpdiIsCi0gICAgICAgICJpZFZhbHVlIjogImluc3BlY3RlZEVsZW1lbnQi
LAotICAgICAgICAibm9kZVdpZHRoIjogIjEwMDAiLAotICAgICAgICAibm9kZUhlaWdodCI6ICIy
MDAiLAotICAgICAgICAiY29udGVudEZsb3dJbmZvIjogewotICAgICAgICAgICAgIm5hbWUiOiAi
ZmxvdyIKLSAgICAgICAgfQotICAgIH0KLX0KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yL2VsZW1lbnRzL2hpZ2hsaWdodC1yZWdpb25zLWZsb3ctdmVydC1ybC5odG1sIGIvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzL2hpZ2hsaWdodC1yZWdpb25zLWZsb3ctdmVydC1y
bC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjZGUwMDk4MWQwNDU0Zjc1MDI1
NzRkZTc2YTg2NmY2MGJjODhiZDU0Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9lbGVtZW50cy9oaWdobGlnaHQtcmVn
aW9ucy1mbG93LXZlcnQtcmwuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDg3ICswLDAgQEAKLTwh
ZG9jdHlwZSBodG1sPgotPGh0bWwgc3R5bGU9Ii13ZWJraXQtd3JpdGluZy1tb2RlOiB2ZXJ0aWNh
bC1ybDsiPgotPGhlYWQ+Ci0KLTxzdHlsZT4KLQotYm9keSB7Ci0gICAgbWFyZ2luOiAwOwotfQot
I2Zsb3cgewotICAgIC13ZWJraXQtZmxvdy1pbnRvOiBmbG93OwotfQotI2NvbnRhaW5lciB7Ci0g
ICAgd2lkdGg6IDQwMHB4OwotICAgIGhlaWdodDogNDAwcHg7Ci0gICAgYmFja2dyb3VuZC1jb2xv
cjogZ3JleTsKLX0KLSNpbnNwZWN0ZWRFbGVtZW50IHsKLSAgICBoZWlnaHQ6IDEwMCU7Ci0gICAg
d2lkdGg6IDEwMDBweDsKLSAgICBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsKLX0KLS5yZWdpb24g
ewotICAgIG1hcmdpbjogNXB4OwotICAgIGJvcmRlcjogc29saWQgMTBweCBhcXVhOwotICAgIHBh
ZGRpbmc6IDE1cHg7Ci0gICAgd2lkdGg6IDIwMHB4OwotICAgIGhlaWdodDogMjAwcHg7Ci0gICAg
YmFja2dyb3VuZC1jb2xvcjogYmx1ZTsKLSAgICBmbG9hdDogbGVmdDsKLSAgICAtd2Via2l0LWZs
b3ctZnJvbTogZmxvdzsKLX0KLS5zbWFsbCB7Ci0gICAgd2lkdGg6IDEwMHB4OwotfQotLnplcm8t
aGVpZ2h0IHsKLSAgICBib3JkZXI6IG5vbmU7Ci0gICAgaGVpZ2h0OiAwcHg7Ci0gICAgcGFkZGlu
ZzogMDsKLX0KLS56ZXJvLXNpemUgewotICAgIGJvcmRlcjogbm9uZTsKLSAgICB3aWR0aDogMHB4
OwotICAgIGhlaWdodDogMHB4OwotICAgIHBhZGRpbmc6IDA7Ci19Ci0uaGlkZGVuIHsKLSAgICBk
aXNwbGF5OiBub25lOwotfQotI2Rlc2NyaXB0aW9uIHsKLSAgICBjbGVhcjogYm90aDsKLX0KLQot
PC9zdHlsZT4KLQotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3Bl
Y3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2lu
c3BlY3Rvci9lbGVtZW50cy10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci0KLWZ1bmN0aW9u
IHRlc3QoKQotewotICAgIGZ1bmN0aW9uIG5vZGVTZWxlY3RlZChub2RlKQotICAgIHsKLSAgICAg
ICAgUnVudGltZUFnZW50LmV2YWx1YXRlKCJkdW1wSW5zcGVjdG9ySGlnaGxpZ2h0ZWROb2RlKCki
LCBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCk7Ci0gICAgfQotCi0gICAgSW5zcGVjdG9yVGVz
dC5zZWxlY3ROb2RlV2l0aElkKCJpbnNwZWN0ZWRFbGVtZW50Iiwgbm9kZVNlbGVjdGVkKTsKLX0K
LQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci0KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLQotPGRp
diBpZD0iZmxvdyI+Ci0gICAgPGRpdiBpZD0iaW5zcGVjdGVkRWxlbWVudCI+PC9kaXY+Ci08L2Rp
dj4KLQotPGRpdiBjbGFzcz0icmVnaW9uIj48L2Rpdj4KLTxkaXYgY2xhc3M9InJlZ2lvbiBzbWFs
bCI+PC9kaXY+Ci08ZGl2IGNsYXNzPSJyZWdpb24gemVyby1oZWlnaHQiPjwvZGl2PgotPGRpdiBj
bGFzcz0icmVnaW9uIHplcm8tc2l6ZSI+PC9kaXY+Ci08ZGl2IGNsYXNzPSJyZWdpb24gaGlkZGVu
Ij48L2Rpdj4KLTxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoZSBwb3Np
dGlvbiBhbmQgc2l6ZSBvZiB0aGUgaGlnaGxpZ2h0ZWQgbm9kZSBpbnNpZGUgQ1NTIFJlZ2lvbnMu
PC9wPgotCi08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0
b3IvZWxlbWVudHMvaGlnaGxpZ2h0LXJlZ2lvbnMtZmxvdy5odG1sIGIvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yL2VsZW1lbnRzL2hpZ2hsaWdodC1yZWdpb25zLWZsb3cuaHRtbApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggZjlkZDhjYjFhNDcwM2Q1NTA2NTY4MzJiMWMxZTZlNDkxMGQzZTc1
OS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMvaGlnaGxpZ2h0LXJlZ2lvbnMtZmxvdy5odG1sCisrKyAv
ZGV2L251bGwKQEAgLTEsODcgKzAsMCBAQAotPCFkb2N0eXBlIGh0bWw+Ci08aHRtbD4KLTxoZWFk
PgotCi08c3R5bGU+Ci0KLWJvZHkgewotICAgIG1hcmdpbjogMDsKLX0KLSNmbG93IHsKLSAgICAt
d2Via2l0LWZsb3ctaW50bzogZmxvdzsKLX0KLSNjb250YWluZXIgewotICAgIHdpZHRoOiA0MDBw
eDsKLSAgICBoZWlnaHQ6IDQwMHB4OwotICAgIGJhY2tncm91bmQtY29sb3I6IGdyZXk7Ci19Ci0j
aW5zcGVjdGVkRWxlbWVudCB7Ci0gICAgd2lkdGg6IDEwMCU7Ci0gICAgaGVpZ2h0OiAxMDAwcHg7
Ci0gICAgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47Ci19Ci0ucmVnaW9uIHsKLSAgICBtYXJnaW46
IDVweDsKLSAgICBib3JkZXI6IHNvbGlkIDEwcHggYXF1YTsKLSAgICBwYWRkaW5nOiAxNXB4Owot
ICAgIHdpZHRoOiAyMDBweDsKLSAgICBoZWlnaHQ6IDIwMHB4OwotICAgIGJhY2tncm91bmQtY29s
b3I6IGJsdWU7Ci0gICAgZmxvYXQ6IGxlZnQ7Ci0gICAgLXdlYmtpdC1mbG93LWZyb206IGZsb3c7
Ci19Ci0uc21hbGwgewotICAgIHdpZHRoOiAxMDBweDsKLX0KLS56ZXJvLWhlaWdodCB7Ci0gICAg
Ym9yZGVyOiBub25lOwotICAgIGhlaWdodDogMHB4OwotICAgIHBhZGRpbmc6IDA7Ci19Ci0uemVy
by1zaXplIHsKLSAgICBib3JkZXI6IG5vbmU7Ci0gICAgd2lkdGg6IDBweDsKLSAgICBoZWlnaHQ6
IDBweDsKLSAgICBwYWRkaW5nOiAwOwotfQotLmhpZGRlbiB7Ci0gICAgZGlzcGxheTogbm9uZTsK
LX0KLSNkZXNjcmlwdGlvbiB7Ci0gICAgY2xlYXI6IGJvdGg7Ci19Ci0KLTwvc3R5bGU+Ci0KLTxz
Y3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvZWxlbWVu
dHMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotCi1mdW5jdGlvbiB0ZXN0KCkKLXsKLSAg
ICBmdW5jdGlvbiBub2RlU2VsZWN0ZWQobm9kZSkKLSAgICB7Ci0gICAgICAgIFJ1bnRpbWVBZ2Vu
dC5ldmFsdWF0ZSgiZHVtcEluc3BlY3RvckhpZ2hsaWdodGVkTm9kZSgpIiwgSW5zcGVjdG9yVGVz
dC5jb21wbGV0ZVRlc3QpOwotICAgIH0KLQotICAgIEluc3BlY3RvclRlc3Quc2VsZWN0Tm9kZVdp
dGhJZCgiaW5zcGVjdGVkRWxlbWVudCIsIG5vZGVTZWxlY3RlZCk7Ci19Ci0KLTwvc2NyaXB0Pgot
PC9oZWFkPgotCi08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci0KLTxkaXYgaWQ9ImZsb3ciPgot
ICAgIDxkaXYgaWQ9Imluc3BlY3RlZEVsZW1lbnQiPjwvZGl2PgotPC9kaXY+Ci0KLTxkaXYgY2xh
c3M9InJlZ2lvbiI+PC9kaXY+Ci08ZGl2IGNsYXNzPSJyZWdpb24gc21hbGwiPjwvZGl2PgotPGRp
diBjbGFzcz0icmVnaW9uIHplcm8taGVpZ2h0Ij48L2Rpdj4KLTxkaXYgY2xhc3M9InJlZ2lvbiB6
ZXJvLXNpemUiPjwvZGl2PgotPGRpdiBjbGFzcz0icmVnaW9uIGhpZGRlbiI+PC9kaXY+Ci08cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCB2ZXJpZmllcyB0aGUgcG9zaXRpb24gYW5kIHNpemUg
b2YgdGhlIGhpZ2hsaWdodGVkIG5vZGUgaW5zaWRlIENTUyBSZWdpb25zLjwvcD4KLQotPC9ib2R5
PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzL2hp
Z2hsaWdodC1zdmctcm9vdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZWxl
bWVudHMvaGlnaGxpZ2h0LXN2Zy1yb290LWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMmY3MDZmMzhkMDY1YzQ0N2M1Y2ZkYzY4OTI1NzlhN2MxZTExNzg0ZS4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9p
bnNwZWN0b3IvZWxlbWVudHMvaGlnaGxpZ2h0LXN2Zy1yb290LWV4cGVjdGVkLnR4dAorKysgL2Rl
di9udWxsCkBAIC0xLDcgKzAsMCBAQAotVGhpcyB0ZXN0IHZlcmlmaWVzIHRoZSBwb3NpdGlvbiBh
bmQgc2l6ZSBvZiB0aGUgaGlnaGxpZ2h0IHJlY3RhbmdsZXMgb3ZlcmxheWVkIG9uIGFuIFNWRyBy
b290IGVsZW1lbnQuCi0KLW1hcmdpbiByZWN0IGlzIDE2MCB4IDE2MCBhdCAoMCwgMCkKLWJvcmRl
ciByZWN0IGlzIDE1MCB4IDE1MCBhdCAoNSwgNSkKLXBhZGRpbmcgcmVjdCBpcyAxMzAgeCAxMzAg
YXQgKDE1LCAxNSkKLWNvbnRlbnQgcmVjdCBpcyAxMDAgeCAxMDAgYXQgKDMwLCAzMCkKLQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzL2hpZ2hsaWdodC1zdmctcm9v
dC16b29tZWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzL2hp
Z2hsaWdodC1zdmctcm9vdC16b29tZWQtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCA4YTQ4ZjY3OGQwNTJiNDllNzczZjA4MDRkY2JlNDNhNTBhZGI1ZTQ2Li4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2lu
c3BlY3Rvci9lbGVtZW50cy9oaWdobGlnaHQtc3ZnLXJvb3Qtem9vbWVkLWV4cGVjdGVkLnR4dAor
KysgL2Rldi9udWxsCkBAIC0xLDcgKzAsMCBAQAotVGhpcyB0ZXN0IHZlcmlmaWVzIHRoZSBwb3Np
dGlvbiBhbmQgc2l6ZSBvZiB0aGUgaGlnaGxpZ2h0IHJlY3RhbmdsZXMgb3ZlcmxheWVkIG9uIGFu
IFNWRyByb290IGVsZW1lbnQgd2hlbiB0aGUgcGFnZSBpcyB6b29tZWQuCi0KLW1hcmdpbiByZWN0
IGlzIDQwOCB4IDUyOCBhdCAoMTIsIDI0KQotYm9yZGVyIHJlY3QgaXMgMzM2IHggNDU2IGF0ICg0
OCwgNjApCi1wYWRkaW5nIHJlY3QgaXMgMjQwIHggMzYwIGF0ICg5NiwgMTA4KQotY29udGVudCBy
ZWN0IGlzIDEyMCB4IDI0MCBhdCAoMTU2LCAxNjgpCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2luc3BlY3Rvci9lbGVtZW50cy9oaWdobGlnaHQtc3ZnLXJvb3Qtem9vbWVkLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMvaGlnaGxpZ2h0LXN2Zy1yb290LXpvb21lZC5odG1s
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjNWUzZTg3NzVkNjlkZWIyY2Q2ZTdlNGJj
MjUyMjA2YmNhZDI2OWJmLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9lbGVtZW50cy9oaWdobGlnaHQtc3ZnLXJvb3Qt
em9vbWVkLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw3NyArMCwwIEBACi08IURPQ1RZUEUgaHRt
bD4KLTxodG1sPgotPGhlYWQ+Ci08c3R5bGU+Ci0KLWJvZHkgewotICAgIG1hcmdpbjogMDsKLX0K
LSNzdmctcm9vdCB7Ci0gICAgcG9zaXRpb246IHJlbGF0aXZlOwotICAgIGxlZnQ6IDEwcHg7Ci0g
ICAgdG9wOiAyMHB4OwotICAgIG1hcmdpbjogMzBweDsKLSAgICBib3JkZXI6IHNvbGlkIDQwcHgg
YXF1YTsKLSAgICBwYWRkaW5nOiA1MHB4OwotICAgIGJhY2tncm91bmQtY29sb3I6IGJsdWU7Ci19
Ci0KLTwvc3R5bGU+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5z
cGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMv
aW5zcGVjdG9yL2VsZW1lbnRzLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLQotZnVuY3Rp
b24gc3RhcnRUZXN0KCkKLXsKLSAgICBpZiAod2luZG93LmV2ZW50U2VuZGVyKQotICAgICAgICB3
aW5kb3cuZXZlbnRTZW5kZXIuem9vbVBhZ2VJbigpOwotICAgIHJ1blRlc3QoKTsKLX0KLQotZnVu
Y3Rpb24gdGVzdCgpCi17Ci0gICAgZnVuY3Rpb24gbm9kZVNlbGVjdGVkKG5vZGUpCi0gICAgewot
ICAgICAgICBSdW50aW1lQWdlbnQuZXZhbHVhdGUoImR1bXBJbnNwZWN0b3JIaWdobGlnaHRSZWN0
cygpIiwgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QpOwotICAgIH0KLQotICAgIEluc3BlY3Rv
clRlc3Quc2VsZWN0Tm9kZVdpdGhJZCgic3ZnLXJvb3QiLCBub2RlU2VsZWN0ZWQpOwotfQotCi08
L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0ic3RhcnRUZXN0KCkiPgotPHN2ZyBpZD0i
c3ZnLXJvb3QiIHdpZHRoPSIxMDAiIGhlaWdodD0iMjAwIiB2aWV3Ym94PSIwIDAgNTAgMTAwIj48
L3N2Zz4KLTxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoZSBwb3NpdGlv
biBhbmQgc2l6ZSBvZiB0aGUgaGlnaGxpZ2h0IHJlY3RhbmdsZXMgb3ZlcmxheWVkIG9uIGFuIFNW
RyByb290IGVsZW1lbnQgd2hlbiB0aGUgcGFnZSBpcyB6b29tZWQuPC9wPgotPCEtLQotCi1FeHBl
Y3RlZCB2YWx1ZSBjYWxjdWxhdGlvbnMgZm9yICNzdmctcm9vdCdzIGhpZ2hsaWdodCByZWN0YW5n
bGVzIGF0IDEyMCUgem9vbToKLQotbWFyZ2luIHJlY3Q6Ci0gICAgbGVmdDogICAoMTApICogMS4y
ID09IDEyCi0gICAgdG9wOiAgICAoMjApICogMS4yID09IDI0Ci0gICAgd2lkdGg6ICAoMTAwICsg
MiAqICgzMCArIDQwICsgNTApKSAqIDEuMiA9PSAzNDAgKiAxLjIgPT0gNDA4Ci0gICAgaGVpZ2h0
OiAoMjAwICsgMiAqICgzMCArIDQwICsgNTApKSAqIDEuMiA9PSA0NDAgKiAxLjIgPT0gNTI4Ci0K
LWJvcmRlciByZWN0OgotICAgIGxlZnQ6ICAgKDEwICsgMzApICogMS4yID09IDQwICogMS4yID09
IDQ4Ci0gICAgdG9wOiAgICAoMjAgKyAzMCkgKiAxLjIgPT0gNTAgKiAxLjIgPT0gNjAKLSAgICB3
aWR0aDogICgxMDAgKyAyICogKDQwICsgNTApKSAqIDEuMiA9PSAyODAgKiAxLjIgPT0gMzM2Ci0g
ICAgaGVpZ2h0OiAoMjAwICsgMiAqICg0MCArIDUwKSkgKiAxLjIgPT0gMzgwICogMS4yID09IDQ1
NgotCi1wYWRkaW5nIHJlY3Q6Ci0gICAgbGVmdDogICAoMTAgKyAzMCArIDQwKSAqIDEuMiA9PSA4
MCAqIDEuMiA9PSA5NgotICAgIHRvcDogICAgKDIwICsgMzAgKyA0MCkgKiAxLjIgPT0gOTAgKiAx
LjIgPT0gMTA4Ci0gICAgd2lkdGg6ICAoMTAwICsgMiAqICg1MCkpICogMS4yID09IDIwMCAqIDEu
MiA9PSAyNDAKLSAgICBoZWlnaHQ6ICgyMDAgKyAyICogKDUwKSkgKiAxLjIgPT0gMzAwICogMS4y
ID09IDM2MAotCi1jb250ZW50IHJlY3Q6Ci0gICAgbGVmdDogICAoMTAgKyAzMCArIDQwICsgNTAp
ICogMS4yID09IDEzMCAqIDEuMiA9PSAxNTYKLSAgICB0b3A6ICAgICgyMCArIDMwICsgNDAgKyA1
MCkgKiAxLjIgPT0gMTQwICogMS4yID09IDE2OAotICAgIHdpZHRoOiAgKDEwMCkgKiAxLjIgPT0g
MTIwCi0gICAgaGVpZ2h0OiAoMjAwKSAqIDEuMiA9PSAyNDAKLSAgICAKLS0tPgotPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbnNwZWN0b3IvZWxlbWVudHMvaGlnaGxpZ2h0LXN2Zy1yb290Lmh0bWwgYi9MYXlvdXRUZXN0
cy9pbnNwZWN0b3IvZWxlbWVudHMvaGlnaGxpZ2h0LXN2Zy1yb290Lmh0bWwKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDBmMWFlNDg2NWI1NGVmZjRhZThjMzk4OThiOGM5Zjk4NjdhZmE1
OGEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzL2hpZ2hsaWdodC1zdmctcm9vdC5odG1sCisrKyAvZGV2
L251bGwKQEAgLTEsNDIgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgot
Ci08c3R5bGU+Ci0KLWJvZHkgewotICAgIG1hcmdpbjogMDsKLX0KLSNzdmctcm9vdCB7Ci0gICAg
bWFyZ2luOiA1cHg7Ci0gICAgYm9yZGVyOiBzb2xpZCAxMHB4IGFxdWE7Ci0gICAgcGFkZGluZzog
MTVweDsKLSAgICBiYWNrZ3JvdW5kLWNvbG9yOiBibHVlOwotfQotCi08L3N0eWxlPgotCi08c2Ny
aXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwv
c2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRz
LXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLQotZnVuY3Rpb24gdGVzdCgpCi17Ci0gICAg
ZnVuY3Rpb24gbm9kZVNlbGVjdGVkKG5vZGUpCi0gICAgewotICAgICAgICBSdW50aW1lQWdlbnQu
ZXZhbHVhdGUoImR1bXBJbnNwZWN0b3JIaWdobGlnaHRSZWN0cygpIiwgSW5zcGVjdG9yVGVzdC5j
b21wbGV0ZVRlc3QpOwotICAgIH0KLQotICAgIEluc3BlY3RvclRlc3Quc2VsZWN0Tm9kZVdpdGhJ
ZCgic3ZnLXJvb3QiLCBub2RlU2VsZWN0ZWQpOwotfQotCi08L3NjcmlwdD4KLTwvaGVhZD4KLQot
PGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotCi08c3ZnIGlkPSJzdmctcm9vdCIgd2lkdGg9IjEw
MCIgaGVpZ2h0PSIxMDAiIHZpZXdib3g9IjAgMCA1MCA1MCI+PC9zdmc+Ci08cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCB2ZXJpZmllcyB0aGUgcG9zaXRpb24gYW5kIHNpemUgb2YgdGhlIGhp
Z2hsaWdodCByZWN0YW5nbGVzIG92ZXJsYXllZCBvbiBhbiBTVkcgcm9vdCBlbGVtZW50LjwvcD4K
LQotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2Vs
ZW1lbnRzL211dGF0ZS11bmtub3duLW5vZGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yL2VsZW1lbnRzL211dGF0ZS11bmtub3duLW5vZGUtZXhwZWN0ZWQudHh0CmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyNGVjY2I1MTQ1ZmZiMzNhMjQ3Njc0ODQwYWYzMDE0MDE3
ZTNkOGFmLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2luc3BlY3Rvci9lbGVtZW50cy9tdXRhdGUtdW5rbm93bi1ub2RlLWV4cGVjdGVk
LnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDE2ICswLDAgQEAKLVRlc3RzIHRoYXQgZWxlbWVudHMg
cGFuZWwgZG9lcyBub3QgcmVjZWl2ZSBldmVudHMgdXBvbiBjaGFuZ2VzIHRvIHRoZSB1bmRpc2Nv
dmVyZWQgbm9kZXMuCi0KLUFwcGVuZGVkCi1ET01BZ2VudCBldmVudCBmaXJlZC4gU2hvdWxkIG9u
bHkgaGFwcGVuIG9uY2UgZm9yIG91dHB1dCBub2RlOiBET01Ob2RlSW5zZXJ0ZWQgRElWI3VuZGVm
aW5lZAotUmVtb3ZlZAotQXR0cmlidXRlIG1vZGlmaWVkCi09PT09PT09PT0gUmVzdWx0IERPTUFn
ZW50IHRyZWUgPT09PT09PT0KLSNkb2N1bWVudFsxXQotICAgIEhUTUxbMl0KLSAgICAgICAgSEVB
RFszXQotICAgICAgICBCT0RZWzRdCi0gICAgICAgICAgICBQWzVdCi0gICAgICAgICAgICAgICAg
WzZdCi0gICAgICAgICAgICBESVZbN10KLSAgICAgICAgICAgIERJVls4XQotCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMvbXV0YXRlLXVua25vd24tbm9kZS5odG1s
LWRpc2FibGVkIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzL211dGF0ZS11bmtub3du
LW5vZGUuaHRtbC1kaXNhYmxlZApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNGZhZjFl
NjUxODEyZTVmZTFjYWU4OGY3MDdmYTAzOTQ4ZWQ3ZTEzYS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMv
bXV0YXRlLXVua25vd24tbm9kZS5odG1sLWRpc2FibGVkCisrKyAvZGV2L251bGwKQEAgLTEsODgg
KzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2lu
c3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4v
aHR0cC90ZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
PgotCi1mdW5jdGlvbiBhcHBlbmRDaGlsZCgpCi17Ci0gICAgdmFyIGhpZGRlbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJoaWRkZW4iKTsKLSAgICB2YXIgY2hpbGQgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJkaXYiKTsKLSAgICBjaGlsZC5zZXRBdHRyaWJ1dGUoImlkIiwgImFwcGVuZGVk
Iik7Ci0gICAgaGlkZGVuLmFwcGVuZENoaWxkKGNoaWxkKTsKLX0KLQotZnVuY3Rpb24gcmVtb3Zl
Q2hpbGQoKQotewotICAgIHZhciBjaGlsZCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhcHBl
bmRlZCIpOwotICAgIGNoaWxkLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoY2hpbGQpOwotfQotCi1m
dW5jdGlvbiBtb2RpZnlBdHRyaWJ1dGUoKQotewotICAgIHZhciBoaWRkZW4gPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiaGlkZGVuIik7Ci0gICAgaGlkZGVuLnNldEF0dHJpYnV0ZSgiZm9vIiwg
ImJhciIpOwotfQotCi1mdW5jdGlvbiB0ZXN0KCkKLXsKLSAgICBmdW5jdGlvbiBsaXN0ZW5lcih0
eXBlLCBldmVudCkKLSAgICB7Ci0gICAgICAgIG5vZGUgPSBldmVudC5kYXRhLm5vZGUgfHwgZXZl
bnQuZGF0YTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIkRPTUFnZW50IGV2ZW50
IGZpcmVkLiBTaG91bGQgb25seSBoYXBwZW4gb25jZSBmb3Igb3V0cHV0IG5vZGU6ICIgKyB0eXBl
ICsgIiAiICsgZXZlbnQuZGF0YS5ub2RlTmFtZSgpICsgIiMiICsgZXZlbnQuZGF0YS5nZXRBdHRy
aWJ1dGUoImlkIikpOwotICAgIH0KLQotICAgIFdlYkluc3BlY3Rvci5kb21BZ2VudC5hZGRFdmVu
dExpc3RlbmVyKFdlYkluc3BlY3Rvci5ET01BZ2VudC5FdmVudHMuQXR0ck1vZGlmaWVkLCBsaXN0
ZW5lci5iaW5kKHRoaXMsICJET01BdHRyTW9kaWZpZWQiKSk7Ci0gICAgV2ViSW5zcGVjdG9yLmRv
bUFnZW50LmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLkRPTUFnZW50LkV2ZW50cy5DaGFy
YWN0ZXJEYXRhTW9kaWZpZWQsIGxpc3RlbmVyLmJpbmQodGhpcywgIkRPTUNoYXJhY3RlckRhdGFN
b2RpZmllZCIpKTsKLSAgICBXZWJJbnNwZWN0b3IuZG9tQWdlbnQuYWRkRXZlbnRMaXN0ZW5lcihX
ZWJJbnNwZWN0b3IuRE9NQWdlbnQuRXZlbnRzLk5vZGVJbnNlcnRlZCwgbGlzdGVuZXIuYmluZCh0
aGlzLCAiRE9NTm9kZUluc2VydGVkIikpOwotICAgIFdlYkluc3BlY3Rvci5kb21BZ2VudC5hZGRF
dmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5ET01BZ2VudC5FdmVudHMuTm9kZVJlbW92ZWQsIGxp
c3RlbmVyLmJpbmQodGhpcywgIkRPTU5vZGVSZW1vdmVkIikpOwotCi0gICAgV2ViSW5zcGVjdG9y
LmRvbUFnZW50LnJlcXVlc3REb2N1bWVudChzdGVwMC5iaW5kKHRoaXMpKTsKLQotICAgIGZ1bmN0
aW9uIHN0ZXAwKCkKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2Uo
ImFwcGVuZENoaWxkKCkiLCBzdGVwMSk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc3RlcDEoKQot
ICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIkFwcGVuZGVkIik7Ci0gICAg
ICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoInJlbW92ZUNoaWxkKCkiLCBzdGVwMik7
Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc3RlcDIoKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9y
VGVzdC5hZGRSZXN1bHQoIlJlbW92ZWQiKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0
ZUluUGFnZSgibW9kaWZ5QXR0cmlidXRlKCkiLCBzdGVwMyk7Ci0gICAgfQotCi0gICAgZnVuY3Rp
b24gc3RlcDMoKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIkF0dHJp
YnV0ZSBtb2RpZmllZCIpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJ0
cnVlIiwgc3RlcDQpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0ZXA0KCkKLSAgICB7Ci0gICAg
ICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCI9PT09PT09PT0gUmVzdWx0IERPTUFnZW50IHRy
ZWUgPT09PT09PT0iKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wRE9NQWdlbnRUcmVlKCk7
Ci0KLSAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKLSAgICB9Ci19Ci0KLTwv
c2NyaXB0PgotPC9oZWFkPgotCi08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci08cD4KLVRlc3Rz
IHRoYXQgZWxlbWVudHMgcGFuZWwgZG9lcyBub3QgcmVjZWl2ZSBldmVudHMgdXBvbiBjaGFuZ2Vz
IHRvIHRoZSB1bmRpc2NvdmVyZWQgbm9kZXMuCi08L3A+Ci0KLTxkaXY+Ci08ZGl2IGlkPSJoaWRk
ZW4iPgotPC9kaXY+Ci08L2Rpdj4KLQotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzL3BlcmZvcm0tdW5kby11bmRvLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9lbGVtZW50cy9wZXJmb3JtLXVuZG8tdW5kby1leHBl
Y3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDYyYzAxNGE2YzgyYzdlZDVl
MDdkMjc1ODRmNmY0NzAwMDEzNzk0ZGUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzL3BlcmZvcm0tdW5k
by11bmRvLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDExICswLDAgQEAKLVRlc3Rz
IHRoYXQgY2xpZW50IGNhbiBjYWxsIHVuZG8gbXVsdGlwbGUgdGltZXMgd2l0aCBub24tZW1wdHkg
aGlzdG9yeS4KLQotPT09PT09PT09IE9yaWdpbmFsID09PT09PT09Ci0gIDxkaXYgc3R5bGU9ImRp
c3BsYXk6bm9uZSIgaWQ9ImNvbnRhaW5lciI+XG48L2Rpdj4KLT09PT09IE1vZGlmaWVkIGVsZW1l
bnQgPT09PT0KLSAgPGRpdiBzdHlsZT0iZGlzcGxheTpub25lIiBpZD0iY29udGFpbmVyIiBmb289
ImJhciI+XG48L2Rpdj4KLT09PT09IFVuZG8gMSA9PT09PQotICA8ZGl2IHN0eWxlPSJkaXNwbGF5
Om5vbmUiIGlkPSJjb250YWluZXIiPlxuPC9kaXY+Ci09PT09PSBVbmRvIDIgPT09PT0KLSAgPGRp
diBzdHlsZT0iZGlzcGxheTpub25lIiBpZD0iY29udGFpbmVyIj5cbjwvZGl2PgotCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMvcGVyZm9ybS11bmRvLXVuZG8uaHRt
bCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9lbGVtZW50cy9wZXJmb3JtLXVuZG8tdW5kby5odG1s
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzYjcwMWIyZjNmNGVkMzFjYTBmMTNjZDlk
OWRiYTE4NDY5ODMxYjA2Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9lbGVtZW50cy9wZXJmb3JtLXVuZG8tdW5kby5o
dG1sCisrKyAvZGV2L251bGwKQEAgLTEsNjYgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3Jp
cHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMt
dGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotCi1mdW5jdGlvbiB0ZXN0KCkKLXsKLSAgICB2
YXIgY29udGFpbmVyTm9kZTsKLSAgICBJbnNwZWN0b3JUZXN0LmV4cGFuZEVsZW1lbnRzVHJlZShz
dGVwMSk7Ci0KLSAgICBmdW5jdGlvbiBzdGVwMShub2RlKQotICAgIHsKLSAgICAgICAgY29udGFp
bmVyTm9kZSA9IEluc3BlY3RvclRlc3QuZXhwYW5kZWROb2RlV2l0aElkKCJjb250YWluZXIiKTsK
LSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIj09PT09PT09PSBPcmlnaW5hbCA9PT09
PT09PSIpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBFbGVtZW50c1RyZWUoY29udGFpbmVy
Tm9kZSk7Ci0gICAgICAgIHN0ZXAyKCk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc3RlcDIoKQot
ICAgIHsKLSAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2soKQotICAgICAgICB7Ci0gICAgICAgICAg
ICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiPT09PT0gTW9kaWZpZWQgZWxlbWVudCA9PT09PSIp
OwotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wRWxlbWVudHNUcmVlKGNvbnRhaW5lck5v
ZGUpOwotICAgICAgICAgICAgc3RlcDMoKTsKLSAgICAgICAgfQotICAgICAgICBjb250YWluZXJO
b2RlLnNldEF0dHJpYnV0ZSgiIiwgImZvbz1cImJhclwiIiwgY2FsbGJhY2spOwotICAgIH0KLQot
ICAgIGZ1bmN0aW9uIHN0ZXAzKCkKLSAgICB7Ci0gICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrKCkK
LSAgICAgICAgewotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIj09PT09IFVu
ZG8gMSA9PT09PSIpOwotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wRWxlbWVudHNUcmVl
KGNvbnRhaW5lck5vZGUpOwotICAgICAgICAgICAgc3RlcDQoKTsKLSAgICAgICAgfQotICAgICAg
ICBXZWJJbnNwZWN0b3IuZG9tQWdlbnQudW5kbyhjYWxsYmFjayk7Ci0gICAgfQotCi0gICAgZnVu
Y3Rpb24gc3RlcDQoKQotICAgIHsKLSAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2soKQotICAgICAg
ICB7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiPT09PT0gVW5kbyAyID09
PT09Iik7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBFbGVtZW50c1RyZWUoY29udGFp
bmVyTm9kZSk7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwotICAg
ICAgICB9Ci0gICAgICAgIFdlYkluc3BlY3Rvci5kb21BZ2VudC51bmRvKGNhbGxiYWNrKTsKLSAg
ICB9Ci19Ci0KLTwvc2NyaXB0PgotPC9oZWFkPgotCi08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+
Ci08cD4KLVRlc3RzIHRoYXQgY2xpZW50IGNhbiBjYWxsIHVuZG8gbXVsdGlwbGUgdGltZXMgd2l0
aCBub24tZW1wdHkgaGlzdG9yeS4KLTwvcD4KLQotPGRpdiBzdHlsZT0iZGlzcGxheTpub25lIiBp
ZD0iY29udGFpbmVyIj4KLTwvZGl2PgotCi08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMvcmVzb2x2ZS1hbGllbi1ub2RlLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9lbGVtZW50cy9yZXNvbHZlLWFsaWVuLW5vZGUt
ZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyMTFkZTI4MmI4YjYy
NjkzMTczMTIwZDkyMDgxMmZiYTMwZjRkZmQxLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9lbGVtZW50cy9yZXNvbHZl
LWFsaWVuLW5vZGUtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNCArMCwwIEBACi1U
ZXN0cyB0aGF0IHJlc29sdmVOb2RlIGZyb20gYWxpZW4gZG9jdW1lbnQgZG9lcyBub3QgY3Jhc2gu
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTgwNi4KLQotQWxpZW4g
bm9kZSBzaG91bGQgcmVzb2x2ZSB0byBudWxsOiBudWxsCi0KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2luc3BlY3Rvci9lbGVtZW50cy9yZXNvbHZlLWFsaWVuLW5vZGUuaHRtbCBiL0xheW91dFRl
c3RzL2luc3BlY3Rvci9lbGVtZW50cy9yZXNvbHZlLWFsaWVuLW5vZGUuaHRtbApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggYmYzOTY0MThhYWJmMGY5YTFjYWE0NTNkYmYxNDlkN2ZhZDE1
NGE3MC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMvcmVzb2x2ZS1hbGllbi1ub2RlLmh0bWwKKysrIC9k
ZXYvbnVsbApAQCAtMSwzOSArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4u
Ly4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQ+Ci0KLWZ1bmN0aW9uIHRlc3QoKQotewotICAgIFJ1bnRpbWVBZ2VudC5ldmFsdWF0ZSgi
dmFyIGRvYyA9IGRvY3VtZW50LmltcGxlbWVudGF0aW9uLmNyZWF0ZUhUTUxEb2N1bWVudCgnJyk7
IGRvYy5sYXN0Q2hpbGQuaW5uZXJIVE1MID0gJzxzcGFuPjwvc3Bhbj4nOyBkb2MubGFzdENoaWxk
Iiwgc3RlcDEpOwotCi0gICAgZnVuY3Rpb24gc3RlcDEoZXJyb3IsIHJlc3VsdCwgd2FzVGhyb3du
KQotICAgIHsKLSAgICAgICAgdmFyIHNwYW5XcmFwcGVyID0gV2ViSW5zcGVjdG9yLlJlbW90ZU9i
amVjdC5mcm9tUGF5bG9hZChyZXN1bHQpOwotICAgICAgICBzcGFuV3JhcHBlci5wdXNoTm9kZVRv
RnJvbnRlbmQoc3RlcDIpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0ZXAyKG5vZGVJZCkKLSAg
ICB7Ci0gICAgICAgIHZhciBub2RlID0gV2ViSW5zcGVjdG9yLmRvbUFnZW50Lm5vZGVGb3JJZChu
b2RlSWQpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydFRydWUobm9kZSwgIk5vZGUgb2Jq
ZWN0IHNob3VsZCBiZSByZXNvdmxlZCIpOwotICAgICAgICBXZWJJbnNwZWN0b3IuUmVtb3RlT2Jq
ZWN0LnJlc29sdmVOb2RlKG5vZGUsIHVuZGVmaW5lZCwgc3RlcDMpOwotICAgIH0KLQotICAgIGZ1
bmN0aW9uIHN0ZXAzKHJlbW90ZU9iamVjdCkKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3Qu
YWRkUmVzdWx0KCJBbGllbiBub2RlIHNob3VsZCByZXNvbHZlIHRvIG51bGw6ICIgKyByZW1vdGVP
YmplY3QpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwotICAgIH0KLX0K
LQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci0KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxwPgot
VGVzdHMgdGhhdCByZXNvbHZlTm9kZSBmcm9tIGFsaWVuIGRvY3VtZW50IGRvZXMgbm90IGNyYXNo
LiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE4MDYuCi08L3A+Ci0K
LTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9lbGVt
ZW50cy9yZXNvbHZlLW5vZGUtYmxvY2tlZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3IvZWxlbWVudHMvcmVzb2x2ZS1ub2RlLWJsb2NrZWQtZXhwZWN0ZWQudHh0CmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1MWFjZDQ3OTZlZmZkZDUwMzk4YTk5ODY5NzUxNzY3ZmFj
ZTc2MWM1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2luc3BlY3Rvci9lbGVtZW50cy9yZXNvbHZlLW5vZGUtYmxvY2tlZC1leHBlY3Rl
ZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw1ICswLDAgQEAKLVRlc3RzIHRoYXQgSlMgb2JqZWN0
IHRvIG5vZGUgcmVzb2x1dGlvbiBzdGlsbCB3b3JrcyBldmVuIGlmIHNjcmlwdCBldmFscyBhcmUg
cHJvaGliaXRlZCBieSBDb250ZW50LVNlY3VyaXR5LVBvbGljeS4gVGhlIHRlc3QgcGFzc2VzIGlm
IGl0IGRvZXNuJ3QgY3Jhc2guIEJ1ZyA3ODcwNS4KLQotZGlkUmVjZWl2ZURvY3VtZW50T2JqZWN0
Ci1kaWRSZXF1ZXN0Tm9kZSBlcnJvciA9IG51bGwKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yL2VsZW1lbnRzL3Jlc29sdmUtbm9kZS1ibG9ja2VkLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbnNwZWN0b3IvZWxlbWVudHMvcmVzb2x2ZS1ub2RlLWJsb2NrZWQuaHRtbApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggNTAwNTQ0ZTk1NjE1NTY4YjZhZjQ3MmUzMGQxZDk3Nzk3MzY5
ZjFjMi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMvcmVzb2x2ZS1ub2RlLWJsb2NrZWQuaHRtbAorKysg
L2Rldi9udWxsCkBAIC0xLDMxICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0i
Li4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzLXRlc3QuanMi
Pjwvc2NyaXB0PgotPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1TZWN1cml0eS1Qb2xpY3kiIGNv
bnRlbnQ9InNjcmlwdC1zcmMgJ3Vuc2FmZS1pbmxpbmUnIj4KLTxzY3JpcHQ+Ci1mdW5jdGlvbiB0
ZXN0KCkKLXsKLSAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJkb2N1bWVudCIsIGRp
ZFJlY2VpdmVEb2N1bWVudE9iamVjdCk7Ci0gICAgZnVuY3Rpb24gZGlkUmVjZWl2ZURvY3VtZW50
T2JqZWN0KHJlbW90ZU9iamVjdCwgd2FzVGhyb3duKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9y
VGVzdC5hZGRSZXN1bHQoImRpZFJlY2VpdmVEb2N1bWVudE9iamVjdCIpOwotICAgICAgICBET01B
Z2VudC5yZXF1ZXN0Tm9kZShyZW1vdGVPYmplY3Qub2JqZWN0SWQsIGRpZFJlcXVlc3ROb2RlKTsK
LSAgICB9Ci0KLSAgICBmdW5jdGlvbiBkaWRSZXF1ZXN0Tm9kZShlcnJvciwgbm9kZUlkKQotICAg
IHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoImRpZFJlcXVlc3ROb2RlIGVycm9y
ID0gIiArIGVycm9yKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKLSAg
ICB9Ci19Ci08L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxw
PgotVGVzdHMgdGhhdCBKUyBvYmplY3QgdG8gbm9kZSByZXNvbHV0aW9uIHN0aWxsIHdvcmtzIGV2
ZW4gaWYgc2NyaXB0IGV2YWxzIGFyZSBwcm9oaWJpdGVkIGJ5IENvbnRlbnQtU2VjdXJpdHktUG9s
aWN5LgotVGhlIHRlc3QgcGFzc2VzIGlmIGl0IGRvZXNuJ3QgY3Jhc2guCi08YSBocmVmPSJodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg3MDUiPkJ1ZyA3ODcwNS48L2E+
Ci08L3A+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0
b3IvZWxlbWVudHMvcmVzb3VyY2VzL2RvbS1zZWFyY2gtY3Jhc2gtaWZyYW1lLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMvcmVzb3VyY2VzL2RvbS1zZWFyY2gtY3Jhc2gtaWZy
YW1lLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDMzZjcxZGUxZTNmMTRlODIx
ZDZmNGVkZDkwMTA5NTFjYWFlY2U0NWYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzL3Jlc291cmNlcy9k
b20tc2VhcmNoLWNyYXNoLWlmcmFtZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMyArMCwwIEBA
Ci08c2NyaXB0PgotZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnBhcmVudE5vZGUucmVtb3ZlQ2hp
bGQoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KTsKLTwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzL3Jlc291cmNlcy9lbGVtZW50cy1wYW5lbC1yZXdy
aXRlLWhyZWYtaWZyYW1lLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMvcmVz
b3VyY2VzL2VsZW1lbnRzLXBhbmVsLXJld3JpdGUtaHJlZi1pZnJhbWUuaHRtbApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDliYjUzZjJkYTQ3NWM2MzMwZGIzOTljNzJmYTFjYzIwNzkx
MGQwOC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMvcmVzb3VyY2VzL2VsZW1lbnRzLXBhbmVsLXJld3Jp
dGUtaHJlZi1pZnJhbWUuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDEwICswLDAgQEAKLTxodG1s
PgotPGhlYWQ+Ci08YmFzZSBocmVmPSJodHRwOi8vMTI3LjAuMC4xIj4KLTxsaW5rIHJlbD0ic3R5
bGVzaGVldCIgc3JjPSJzdHlsZXNoZWV0LmNzcyI+Ci08c2NyaXB0IHNyYz0ic2NyaXB0LmpzIj48
L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGEgaHJlZj0idGFyZ2V0Lmh0bWwiPjwvYT4KLTwv
Ym9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9lbGVtZW50
cy9yZXNvdXJjZXMvZWxlbWVudHMtcGFuZWwtc3R5bGVzLmNzcyBiL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci9lbGVtZW50cy9yZXNvdXJjZXMvZWxlbWVudHMtcGFuZWwtc3R5bGVzLmNzcwpkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZWUwMjY4OTU4NzkzMDZjOWY1MzlhM2JhNDM3YjU4ODM0
ZDZmZjQ2MC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMvcmVzb3VyY2VzL2VsZW1lbnRzLXBhbmVsLXN0
eWxlcy5jc3MKKysrIC9kZXYvbnVsbApAQCAtMSw1MyArMCwwIEBACi1ib2R5IHsKLSAgICBmb250
LXNpemU6IDEycHg7Ci19Ci0KLSNjb250YWluZXIgewotICAgIGZvbnQtZmFtaWx5OiBzZXJpZjsK
LSAgICBmb250LXNpemU6IDE0cHg7Ci0gICAgY29sb3I6IHJlZDsKLSAgICBwYWRkaW5nOiAycHgg
IWltcG9ydGFudDsKLX0KLQotI2NvbnRhaW5lciAuZm9vIHsKLSAgICBmb250LXN0eWxlOiBpdGFs
aWMgIWltcG9ydGFudDsKLX0KLQotLmZvbyB7Ci0gICAgY29sb3I6IGJsYWNrOwotICAgIG1hcmdp
bi1sZWZ0OiAxcHg7Ci0gICAgbWFyZ2luOiAxMHB4IDAgMnB4OwotICAgIGJvcmRlci1yYWRpdXM6
IDVweDsKLSAgICBmb250LXN0eWxlOiBub3JtYWwgIWltcG9ydGFudDsKLSAgICBmb250LXdlaWdo
dDogbm9ybWFsICFpbXBvcnRhbnQ7Ci0gICAgZm9udC13ZWlnaHQ6IGJvbGQ7Ci0gICAgcGFkZGlu
ZzogNHB4OwotICAgIHBhZGRpbmctcmlnaHQ6IDFweDsKLX0KLQotLmZvbywgLmZvbzo6YmVmb3Jl
IHsKLSAgICBjb250ZW50OiAiW2JlZm9yZSBGb29dIjsKLSAgICBjb2xvcjogYmx1ZTsKLSAgICBk
aXNwbGF5OiBibG9jayAhaW1wb3J0YW50OwotfQotCi0uZm9vOjpiZWZvcmUgewotICAgIGNvbG9y
OiByZWQ7Ci19Ci0KLS5mb286OmFmdGVyIHsKLSAgICBjb250ZW50OiAiW2FmdGVyIEZvb10iOwot
ICAgIGNvbG9yOiBncmVlbjsKLX0KLS5mb286OmFmdGVyIHsKLSAgICBmb250LWZhbWlseTogY291
cmllcjsKLSAgICBjb250ZW50OiAiW2FmdGVyIEZvbyAyXSI7Ci19Ci0KLS5mb28gewotICAgIC8q
IEVtcHR5IHJ1bGUgdGhhdCBzaG91bGQgYmUgcmVwb3J0ZWQgaW4gdGhlIFN0eWxlcyBwYW5lICov
Ci19Ci0KLS5mb286OmJlZm9yZSB7Ci0gICAgLyogRW1wdHkgcnVsZSB0aGF0IHNob3VsZCBiZSBy
ZXBvcnRlZCBpbiB0aGUgU3R5bGVzIHBhbmUgKi8KLX0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2luc3BlY3Rvci9lbGVtZW50cy9yZXNvdXJjZXMvaGlkZS1zaG9ydGN1dC1pZnJhbWUuaHRtbCBi
L0xheW91dFRlc3RzL2luc3BlY3Rvci9lbGVtZW50cy9yZXNvdXJjZXMvaGlkZS1zaG9ydGN1dC1p
ZnJhbWUuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZmMzMDkwZDk4MzhhOTVh
NmQ3NDc5OTdlYzc2ZDc1NThkNzc1NzRiYi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMvcmVzb3VyY2Vz
L2hpZGUtc2hvcnRjdXQtaWZyYW1lLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw3ICswLDAgQEAK
LTxodG1sPgotPGhlYWQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxkaXYgaWQ9ImZyYW1lLW5vZGUiPmlm
cmFtZTwvZGl2PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yL2VsZW1lbnRzL3Jlc291cmNlcy9oaWdobGlnaHQtbm9kZS1zY2FsZWQtaWZyYW1lLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMvcmVzb3VyY2VzL2hpZ2hsaWdodC1u
b2RlLXNjYWxlZC1pZnJhbWUuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYWFl
ZDg3MTI3OTcwNThjYmViYTI1OWEyNDg3YTVlM2E2MTYwN2E3NC4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZWxlbWVu
dHMvcmVzb3VyY2VzL2hpZ2hsaWdodC1ub2RlLXNjYWxlZC1pZnJhbWUuaHRtbAorKysgL2Rldi9u
dWxsCkBAIC0xLDI0ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c3R5bGU+Ci1kaXYgewotICAg
IG1hcmdpbjogN3B4OwotICAgIHBhZGRpbmc6IDEzcHg7Ci0gICAgYm9yZGVyOiA1cHggc29saWQg
YmxhY2s7Ci0gICAgcG9zaXRpb246IGFic29sdXRlOwotICAgIGxlZnQ6IDExcHg7Ci0gICAgdG9w
OiAyMnB4OwotICAgIHdpZHRoOiAzM3B4OwotICAgIGhlaWdodDogNDRweDsgICAgCi0gICAgYmFj
a2dyb3VuZC1jb2xvcjogcmVkOwotfQotPC9zdHlsZT4KLTwvaGVhZD4KLQotPGJvZHk+Ci08ZGl2
IGlkPSJkaXYiPjwvZGl2PgotPHNjcmlwdD4KLXRvcC5pZnJhbWVEaXZFbGVtZW50ID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImRpdiIpOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci0KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9lbGVtZW50cy9yZXNvdXJjZXMvc2V0LWh0bWwtdmlh
LXJlc291cmNlLWlmcmFtZS5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzL3Jl
c291cmNlcy9zZXQtaHRtbC12aWEtcmVzb3VyY2UtaWZyYW1lLmh0bWwKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDc2M2Y3MjUyYmFhOTc5NzA0NDcwMzRjN2Y4ZmZiMzQ1ODBkMzE4NGMu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yL2VsZW1lbnRzL3Jlc291cmNlcy9zZXQtaHRtbC12aWEtcmVzb3VyY2UtaWZy
YW1lLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw5ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08
c2NyaXB0PgotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxkaXY+Rm9vPC9kaXY+Ci08L2Jv
ZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMv
cmVzb3VyY2VzL3NldC1vdXRlci1odG1sLWJvZHktaWZyYW1lLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bnNwZWN0b3IvZWxlbWVudHMvcmVzb3VyY2VzL3NldC1vdXRlci1odG1sLWJvZHktaWZyYW1lLmh0
bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQ5MGUwYzZkNGJhY2MyMDg1YmEyNjgx
ZTZmZmYxOTdhMjBmZjYzM2IuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzL3Jlc291cmNlcy9zZXQtb3V0
ZXItaHRtbC1ib2R5LWlmcmFtZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsOSArMCwwIEBACi08
aHRtbCBpZD0iaHRtbCI+Ci08aGVhZCBpZD0iaGVhZCI+Ci08c2NyaXB0PgotPC9zY3JpcHQ+Ci08
L2hlYWQ+Ci08Ym9keSBpZD0iYm9keSI+Ci08ZGl2PkZvbzwvZGl2PgotPC9ib2R5PgotPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzL3NldC1hdHRyaWJ1
dGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzL3NldC1hdHRy
aWJ1dGUtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0NTIxYWQ1
MGZiYzlkM2UxYzUwNzhkNzhhOTBhNGU4YWNlZDExZDYwLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9lbGVtZW50cy9z
ZXQtYXR0cmlidXRlLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDM2ICswLDAgQEAK
LVRlc3RzIHRoYXQgZWxlbWVudHMgcGFuZWwgdXBkYXRlcyBkb20gdHJlZSBzdHJ1Y3R1cmUgdXBv
biBzZXR0aW5nIGF0dHJpYnV0ZS4KLQotCi1SdW5uaW5nOiB0ZXN0RHVtcEluaXRpYWwKLT09PT09
PT09PSBPcmlnaW5hbCA9PT09PT09PQotICA8ZGl2IGlkPSJub2RlIj48L2Rpdj4KLQotUnVubmlu
ZzogdGVzdEF0dHJpYnV0ZVVwZGF0ZWQKLT09PT09IE9uIGF0dHJpYnV0ZSBzZXQgPT09PT0KLSAg
PGRpdiBpZD0ibm9kZSIgbmFtZT0idmFsdWUiPjwvZGl2PgotCi1SdW5uaW5nOiB0ZXN0QXR0cmli
dXRlU2FtZVZhbHVlTm90VXBkYXRlZAotPT09PT0gT24gYXR0cmlidXRlIG1vZGlmaWVkIChzaG91
bGQgYmUgJ25ld1ZhbHVlJykgPT09PT0KLSAgPGRpdiBpZD0ibm9kZSIgbmFtZT0ibmV3VmFsdWUi
PjwvZGl2PgotCi1SdW5uaW5nOiB0ZXN0QXR0cmlidXRlUmVtb3ZlZAotPT09IE9uIGF0dHJpYnV0
ZSByZW1vdmVkID09PQotICA8ZGl2IGlkPSJub2RlIj48L2Rpdj4KLQotUnVubmluZzogdGVzdFNl
dEF0dHJpYnV0ZVZhbHVlCi09PT0gU2V0IGF0dHJpYnV0ZSB2YWx1ZSA9PT0KLSAgPGRpdiBpZD0i
bm9kZSIgZm9vPSJiYXIiPjwvZGl2PgotCi1SdW5uaW5nOiB0ZXN0U2V0QXR0cmlidXRlVGV4dAot
PT09IFNldCBhdHRyaWJ1dGUgYXMgdGV4dCA9PT0KLSAgPGRpdiBpZD0ibm9kZSIgZm9vMj0iYmF6
MiIgZm9vMz0iYmF6MyI+PC9kaXY+Ci0KLVJ1bm5pbmc6IHRlc3RSZW1vdmVBdHRyaWJ1dGVBc1Rl
eHQKLT09PSBSZW1vdmUgYXR0cmlidXRlIGFzIHRleHQgPT09Ci0gIDxkaXYgaWQ9Im5vZGUiIGZv
bzI9ImJhejIiPjwvZGl2PgotCi1SdW5uaW5nOiB0ZXN0U2V0TWFsZm9ybWVkQXR0cmlidXRlVGV4
dAotRXJyb3I6IENvdWxkIG5vdCBwYXJzZSB2YWx1ZSBhcyBhdHRyaWJ1dGVzCi09PT0gU2V0IG1h
bGZvcm1lZCBhdHRyaWJ1dGUgYXMgdGV4dCA9PT0KLSAgPGRpdiBpZD0ibm9kZSIgZm9vMj0iYmF6
MiI+PC9kaXY+Ci0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9lbGVtZW50cy9z
ZXQtYXR0cmlidXRlLW5vbi1odG1sLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rv
ci9lbGVtZW50cy9zZXQtYXR0cmlidXRlLW5vbi1odG1sLWV4cGVjdGVkLnR4dApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggNmRmZjNjMjJlYmZmNTIxZDRhZTk4YWExMjVlZTU1YmNhMWNj
NmNjYy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMvc2V0LWF0dHJpYnV0ZS1ub24taHRtbC1leHBlY3Rl
ZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwzICswLDAgQEAKLVRlc3RzIHRoYXQgZWxlbWVudHMg
cGFuZWwgdXBkYXRlcyBkb20gdHJlZSBzdHJ1Y3R1cmUgdXBvbiBzZXR0aW5nIGF0dHJpYnV0ZSBv
biBub24gSFRNTCBlbGVtZW50cy4gUEFTU2VzIGlmIHRoZXJlIGlzIG5vIGNyYXNoLgotCi0KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9lbGVtZW50cy9zZXQtYXR0cmlidXRlLW5v
bi1odG1sLnN2ZyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9lbGVtZW50cy9zZXQtYXR0cmlidXRl
LW5vbi1odG1sLnN2ZwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjJiMGI5NmQ4ZjMz
NGYyNmZmZTgzZmQwNDI4ZGRjNzQzZDMxMTQwZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMvc2V0LWF0
dHJpYnV0ZS1ub24taHRtbC5zdmcKKysrIC9kZXYvbnVsbApAQCAtMSw0OSArMCwwIEBACi08P3ht
bCB2ZXJzaW9uPSIxLjAiPz4KLTxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3Zn
Ij4KLTxmb3JlaWduT2JqZWN0PgotPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkv
eGh0bWwiPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3Iv
aW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVz
dHMvaW5zcGVjdG9yL2VsZW1lbnRzLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdD48IVtDREFU
QVsKLQotZnVuY3Rpb24gdGVzdCgpCi17Ci0gICAgdmFyIHRhcmdldE5vZGU7Ci0KLSAgICBJbnNw
ZWN0b3JUZXN0LnJ1blRlc3RTdWl0ZShbCi0gICAgICAgIGZ1bmN0aW9uIHRlc3REdW1wSW5pdGlh
bChuZXh0KQotICAgICAgICB7Ci0gICAgICAgICAgICBmdW5jdGlvbiBjYWxsYmFjayhub2RlKQot
ICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIHRhcmdldE5vZGUgPSBub2RlOwotICAgICAg
ICAgICAgICAgIG5leHQoKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIEluc3BlY3RvclRl
c3Quc2VsZWN0Tm9kZVdpdGhJZCgibm9kZSIsIGNhbGxiYWNrKTsKLSAgICAgICAgfSwKLQotICAg
ICAgICBmdW5jdGlvbiB0ZXN0U2V0QXR0cmlidXRlVGV4dChuZXh0KQotICAgICAgICB7Ci0gICAg
ICAgICAgICBmdW5jdGlvbiBjYWxsYmFjayhlcnJvcikKLSAgICAgICAgICAgIHsKLSAgICAgICAg
ICAgICAgICBuZXh0KCk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICB0YXJnZXROb2RlLnNl
dEF0dHJpYnV0ZSgiZm9vIiwgImZvbzI9J2JhejInIGZvbzM9J2JhejMnIiwgY2FsbGJhY2spOwot
ICAgICAgICB9Ci0gICAgXSk7Ci19Ci1dXT4KLTwvc2NyaXB0PgotPC9oZWFkPgotCi08Ym9keSBv
bmxvYWQ9InJ1blRlc3QoKSI+Ci08cD4KLVRlc3RzIHRoYXQgZWxlbWVudHMgcGFuZWwgdXBkYXRl
cyBkb20gdHJlZSBzdHJ1Y3R1cmUgdXBvbiBzZXR0aW5nIGF0dHJpYnV0ZSBvbiBub24gSFRNTCBl
bGVtZW50cy4gUEFTU2VzIGlmIHRoZXJlIGlzIG5vIGNyYXNoLgotPC9wPgotCi08ZGl2IGlkPSJu
b2RlIj48L2Rpdj4KLQotPC9ib2R5PgotPC9odG1sPgotPC9mb3JlaWduT2JqZWN0PgotPC9zdmc+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMvc2V0LWF0dHJpYnV0
ZS5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzL3NldC1hdHRyaWJ1dGUuaHRt
bApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTkxMWVlNzJlZTU4YjUyYTcwMzAyM2Rj
NjM3NGM2YWQ3ODcxZWIyMC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMvc2V0LWF0dHJpYnV0ZS5odG1s
CisrKyAvZGV2L251bGwKQEAgLTEsMTQzICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0
IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzLXRl
c3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLQotZnVuY3Rpb24gc2V0QXR0cmlidXRlKG5hbWUs
IHZhbHVlKQotewotICAgIHZhciBub2RlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm5vZGUi
KTsKLSAgICBub2RlLnNldEF0dHJpYnV0ZShuYW1lLCB2YWx1ZSk7Ci19Ci0KLWZ1bmN0aW9uIHJl
bW92ZUF0dHJpYnV0ZShuYW1lKQotewotICAgIHZhciBub2RlID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoIm5vZGUiKTsKLSAgICBub2RlLnJlbW92ZUF0dHJpYnV0ZShuYW1lKTsKLX0KLQotZnVu
Y3Rpb24gdGVzdCgpCi17Ci0gICAgdmFyIHRhcmdldE5vZGU7Ci0KLSAgICBJbnNwZWN0b3JUZXN0
LnJ1blRlc3RTdWl0ZShbCi0gICAgICAgIGZ1bmN0aW9uIHRlc3REdW1wSW5pdGlhbChuZXh0KQot
ICAgICAgICB7Ci0gICAgICAgICAgICBmdW5jdGlvbiBjYWxsYmFjayhub2RlKQotICAgICAgICAg
ICAgewotICAgICAgICAgICAgICAgIHRhcmdldE5vZGUgPSBub2RlOwotICAgICAgICAgICAgICAg
IEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCI9PT09PT09PT0gT3JpZ2luYWwgPT09PT09PT0iKTsK
LSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBFbGVtZW50c1RyZWUodGFyZ2V0Tm9k
ZSk7Ci0gICAgICAgICAgICAgICAgbmV4dCgpOwotICAgICAgICAgICAgfQotICAgICAgICAgICAg
SW5zcGVjdG9yVGVzdC5zZWxlY3ROb2RlV2l0aElkKCJub2RlIiwgY2FsbGJhY2spOwotICAgICAg
ICB9LAotCi0gICAgICAgIGZ1bmN0aW9uIHRlc3RBdHRyaWJ1dGVVcGRhdGVkKG5leHQpCi0gICAg
ICAgIHsKLSAgICAgICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrKCkKLSAgICAgICAgICAgIHsKLSAg
ICAgICAgICAgICAgICBXZWJJbnNwZWN0b3IuZG9tQWdlbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihX
ZWJJbnNwZWN0b3IuRE9NQWdlbnQuRXZlbnRzLkF0dHJNb2RpZmllZCwgY2FsbGJhY2spOwotICAg
ICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCI9PT09PSBPbiBhdHRyaWJ1dGUg
c2V0ID09PT09Iik7Ci0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wRWxlbWVudHNU
cmVlKHRhcmdldE5vZGUpOwotICAgICAgICAgICAgICAgIG5leHQoKTsKLSAgICAgICAgICAgIH0K
LSAgICAgICAgICAgIFdlYkluc3BlY3Rvci5kb21BZ2VudC5hZGRFdmVudExpc3RlbmVyKFdlYklu
c3BlY3Rvci5ET01BZ2VudC5FdmVudHMuQXR0ck1vZGlmaWVkLCBjYWxsYmFjayk7Ci0gICAgICAg
ICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJzZXRBdHRyaWJ1dGUoJ25hbWUnLCAn
dmFsdWUnKSIpOwotICAgICAgICB9LAotCi0gICAgICAgIGZ1bmN0aW9uIHRlc3RBdHRyaWJ1dGVT
YW1lVmFsdWVOb3RVcGRhdGVkKG5leHQpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGZ1bmN0aW9u
IGNhbGxiYWNrKCkKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0
LmFkZFJlc3VsdCgiPT09PT0gT24gYXR0cmlidXRlIG1vZGlmaWVkIChzaG91bGQgYmUgJ25ld1Zh
bHVlJykgPT09PT0iKTsKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBFbGVtZW50
c1RyZWUodGFyZ2V0Tm9kZSk7Ci0gICAgICAgICAgICAgICAgV2ViSW5zcGVjdG9yLmRvbUFnZW50
LnJlbW92ZUV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLkRPTUFnZW50LkV2ZW50cy5BdHRyTW9k
aWZpZWQsIGNhbGxiYWNrKTsKLSAgICAgICAgICAgICAgICBuZXh0KCk7Ci0gICAgICAgICAgICB9
Ci0gICAgICAgICAgICBXZWJJbnNwZWN0b3IuZG9tQWdlbnQuYWRkRXZlbnRMaXN0ZW5lcihXZWJJ
bnNwZWN0b3IuRE9NQWdlbnQuRXZlbnRzLkF0dHJNb2RpZmllZCwgY2FsbGJhY2spOwotICAgICAg
ICAgICAgLy8gU2V0dGluZyB0aGUgc2FtZSBwcm9wZXJ0eSB2YWx1ZSBzaG91bGQgbm90IHJlc3Vs
dCBpbiB0aGUgQXR0ck1vZGlmaWVkIGV2ZW50LgotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5l
dmFsdWF0ZUluUGFnZSgic2V0QXR0cmlidXRlKCduYW1lJywgJ3ZhbHVlJykiKTsKLSAgICAgICAg
ICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoInNldEF0dHJpYnV0ZSgnbmFtZScsICd2
YWx1ZScpIik7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJzZXRB
dHRyaWJ1dGUoJ25hbWUnLCAnbmV3VmFsdWUnKSIpOwotICAgICAgICB9LAotCi0gICAgICAgIGZ1
bmN0aW9uIHRlc3RBdHRyaWJ1dGVSZW1vdmVkKG5leHQpCi0gICAgICAgIHsKLSAgICAgICAgICAg
IGZ1bmN0aW9uIGNhbGxiYWNrKCkKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBXZWJJ
bnNwZWN0b3IuZG9tQWdlbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuRE9NQWdl
bnQuRXZlbnRzLkF0dHJSZW1vdmVkLCBjYWxsYmFjayk7Ci0gICAgICAgICAgICAgICAgSW5zcGVj
dG9yVGVzdC5hZGRSZXN1bHQoIj09PSBPbiBhdHRyaWJ1dGUgcmVtb3ZlZCA9PT0iKTsKLSAgICAg
ICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBFbGVtZW50c1RyZWUodGFyZ2V0Tm9kZSk7Ci0g
ICAgICAgICAgICAgICAgbmV4dCgpOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgV2ViSW5z
cGVjdG9yLmRvbUFnZW50LmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLkRPTUFnZW50LkV2
ZW50cy5BdHRyUmVtb3ZlZCwgY2FsbGJhY2spOwotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5l
dmFsdWF0ZUluUGFnZSgicmVtb3ZlQXR0cmlidXRlKCduYW1lJykiKTsKLSAgICAgICAgfSwKLQot
ICAgICAgICBmdW5jdGlvbiB0ZXN0U2V0QXR0cmlidXRlVmFsdWUobmV4dCkKLSAgICAgICAgewot
ICAgICAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2soKQotICAgICAgICAgICAgewotICAgICAgICAg
ICAgICAgIFdlYkluc3BlY3Rvci5kb21BZ2VudC5yZW1vdmVFdmVudExpc3RlbmVyKFdlYkluc3Bl
Y3Rvci5ET01BZ2VudC5FdmVudHMuQXR0ck1vZGlmaWVkLCBjYWxsYmFjayk7Ci0gICAgICAgICAg
ICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIj09PSBTZXQgYXR0cmlidXRlIHZhbHVlID09
PSIpOwotICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZHVtcEVsZW1lbnRzVHJlZSh0YXJn
ZXROb2RlKTsKLSAgICAgICAgICAgICAgICBuZXh0KCk7Ci0gICAgICAgICAgICB9Ci0gICAgICAg
ICAgICBXZWJJbnNwZWN0b3IuZG9tQWdlbnQuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3Iu
RE9NQWdlbnQuRXZlbnRzLkF0dHJNb2RpZmllZCwgY2FsbGJhY2spOwotICAgICAgICAgICAgdGFy
Z2V0Tm9kZS5zZXRBdHRyaWJ1dGVWYWx1ZSgiZm9vIiwgImJhciIpOwotICAgICAgICB9LAotCi0g
ICAgICAgIGZ1bmN0aW9uIHRlc3RTZXRBdHRyaWJ1dGVUZXh0KG5leHQpCi0gICAgICAgIHsKLSAg
ICAgICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrKCkKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAg
ICAgICBXZWJJbnNwZWN0b3IuZG9tQWdlbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0
b3IuRE9NQWdlbnQuRXZlbnRzLkF0dHJSZW1vdmVkLCBjYWxsYmFjayk7Ci0gICAgICAgICAgICAg
ICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIj09PSBTZXQgYXR0cmlidXRlIGFzIHRleHQgPT09
Iik7Ci0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wRWxlbWVudHNUcmVlKHRhcmdl
dE5vZGUpOwotICAgICAgICAgICAgICAgIG5leHQoKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAg
ICAgIFdlYkluc3BlY3Rvci5kb21BZ2VudC5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5E
T01BZ2VudC5FdmVudHMuQXR0clJlbW92ZWQsIGNhbGxiYWNrKTsKLSAgICAgICAgICAgIHRhcmdl
dE5vZGUuc2V0QXR0cmlidXRlKCJmb28iLCAiZm9vMj0nYmF6MicgZm9vMz0nYmF6MyciKTsKLSAg
ICAgICAgfSwKLQotICAgICAgICBmdW5jdGlvbiB0ZXN0UmVtb3ZlQXR0cmlidXRlQXNUZXh0KG5l
eHQpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrKCkKLSAgICAgICAg
ICAgIHsKLSAgICAgICAgICAgICAgICBXZWJJbnNwZWN0b3IuZG9tQWdlbnQucmVtb3ZlRXZlbnRM
aXN0ZW5lcihXZWJJbnNwZWN0b3IuRE9NQWdlbnQuRXZlbnRzLkF0dHJSZW1vdmVkLCBjYWxsYmFj
ayk7Ci0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIj09PSBSZW1vdmUg
YXR0cmlidXRlIGFzIHRleHQgPT09Iik7Ci0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5k
dW1wRWxlbWVudHNUcmVlKHRhcmdldE5vZGUpOwotICAgICAgICAgICAgICAgIG5leHQoKTsKLSAg
ICAgICAgICAgIH0KLSAgICAgICAgICAgIFdlYkluc3BlY3Rvci5kb21BZ2VudC5hZGRFdmVudExp
c3RlbmVyKFdlYkluc3BlY3Rvci5ET01BZ2VudC5FdmVudHMuQXR0clJlbW92ZWQsIGNhbGxiYWNr
KTsKLSAgICAgICAgICAgIHRhcmdldE5vZGUuc2V0QXR0cmlidXRlKCJmb28zIiwgIiIpOwotICAg
ICAgICB9LAotCi0gICAgICAgIGZ1bmN0aW9uIHRlc3RTZXRNYWxmb3JtZWRBdHRyaWJ1dGVUZXh0
KG5leHQpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrKGVycm9yKQot
ICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJF
cnJvcjogIiArIGVycm9yKTsKLSAgICAgICAgICAgICAgICBXZWJJbnNwZWN0b3IuZG9tQWdlbnQu
cmVtb3ZlRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuRE9NQWdlbnQuRXZlbnRzLkF0dHJNb2Rp
ZmllZCwgY2FsbGJhY2spOwotICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0
KCI9PT0gU2V0IG1hbGZvcm1lZCBhdHRyaWJ1dGUgYXMgdGV4dCA9PT0iKTsKLSAgICAgICAgICAg
ICAgICBJbnNwZWN0b3JUZXN0LmR1bXBFbGVtZW50c1RyZWUodGFyZ2V0Tm9kZSk7Ci0gICAgICAg
ICAgICAgICAgbmV4dCgpOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgdGFyZ2V0Tm9kZS5z
ZXRBdHRyaWJ1dGUoImZvbzIiLCAiZm9vMj0nbWlzc2luZ3F1b3RlIiwgY2FsbGJhY2spOwotICAg
ICAgICB9Ci0gICAgXSk7Ci19Ci0KLTwvc2NyaXB0PgotPC9oZWFkPgotCi08Ym9keSBvbmxvYWQ9
InJ1blRlc3QoKSI+Ci08cD4KLVRlc3RzIHRoYXQgZWxlbWVudHMgcGFuZWwgdXBkYXRlcyBkb20g
dHJlZSBzdHJ1Y3R1cmUgdXBvbiBzZXR0aW5nIGF0dHJpYnV0ZS4KLTwvcD4KLQotPGRpdiBpZD0i
bm9kZSI+PC9kaXY+Ci0KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2luc3BlY3Rvci9lbGVtZW50cy9zZXQtb3V0ZXItaHRtbC0yLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2luc3BlY3Rvci9lbGVtZW50cy9zZXQtb3V0ZXItaHRtbC0yLWV4cGVjdGVkLnR4dApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzIxOWUxZTc4YzRhMGEyMTg1MTY1YzgxNWNi
MTYyYjM1NzcxMjU5ZC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMvc2V0LW91dGVyLWh0bWwtMi1leHBl
Y3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwyMjAgKzAsMCBAQAotVGVzdHMgRE9NQWdlbnQu
c2V0T3V0ZXJIVE1MIHByb3RvY29sIG1ldGhvZCAocGFydCAyKS4KLQotQWRkaXRpb25hbCBub2Rl
Ci0KLVJ1bm5pbmc6IHRlc3RTZXRVcAotCi1SdW5uaW5nOiB0ZXN0Q2hhbmdlTXVsdGlwbGVUaGlu
Z3MKLVdyYXBwZXIgaWRlbnRpdHk6IGlkZW50aXR5Ci1FdmVudCBBdHRyTW9kaWZpZWQ6IEgyCi1F
dmVudCBBdHRyTW9kaWZpZWQ6IEgyCi1FdmVudCBOb2RlSW5zZXJ0ZWQ6IFVMCi1FdmVudCBOb2Rl
UmVtb3ZlZDogVUwKLT09PT09PT09PT04PD09PT09PT09PT0KLTxkaXYgaWQ9ImNvbnRhaW5lciIg
c3R5bGU9ImRpc3BsYXk6bm9uZSI+Ci08cD5XZWJLaXQgaXMgdXNlZCBieSA8YSBocmVmPSJodHRw
Oi8vd3d3LmFwcGxlLmNvbS9zYWZhcmkvIj5TYWZhcmk8L2E+LCBEYXNoYm9hcmQsIGV0Yy4uPC9w
PgotPGgyIGZvbz0iYmFyIiBiYXI9ImJheiI+R2V0dGluZyBpbnZvbHZlZDwvaDI+Ci08cCBpZD0i
aWRlbnRpdHkiPlRoZXJlIGFyZSBtYW55IHdheXMgdG8gZ2V0IGludm9sdmVkLiBZb3UgY2FuOjwv
cD4KLTx1bD4KLSAgIAotPC91bD4KLTx1bD4KLSAgIDxsaT48L2xpPgotPC91bD4KLTwvZGl2Pgot
PT09PT09PT09PT44PT09PT09PT09PQotCi1CcmluZ2luZyB0aGluZ3MgYmFjawotCi1XcmFwcGVy
IGlkZW50aXR5OiBpZGVudGl0eQotRXZlbnQgQXR0clJlbW92ZWQ6IEgyCi1FdmVudCBBdHRyUmVt
b3ZlZDogSDIKLUV2ZW50IENoYXJhY3RlckRhdGFNb2RpZmllZDogCi1FdmVudCBOb2RlSW5zZXJ0
ZWQ6IExJCi09PT09PT09PT09ODw9PT09PT09PT09Ci08ZGl2IGlkPSJjb250YWluZXIiIHN0eWxl
PSJkaXNwbGF5Om5vbmUiPgotPHA+V2ViS2l0IGlzIHVzZWQgYnkgPGEgaHJlZj0iaHR0cDovL3d3
dy5hcHBsZS5jb20vc2FmYXJpLyI+U2FmYXJpPC9hPiwgRGFzaGJvYXJkLCBldGMuLjwvcD4KLTxo
Mj5HZXR0aW5nIGludm9sdmVkPC9oMj4KLTxwIGlkPSJpZGVudGl0eSI+VGhlcmUgYXJlIG1hbnkg
d2F5cyB0byBnZXQgaW52b2x2ZWQuIFlvdSBjYW46PC9wPgotPHVsPgotICAgPGxpPjwvbGk+Ci08
L3VsPgotPHVsPgotICAgPGxpPjwvbGk+Ci08L3VsPgotPC9kaXY+Ci09PT09PT09PT09Pjg9PT09
PT09PT09Ci0KLQotCi0KLQotUnVubmluZzogdGVzdENoYW5nZU5lc3RpbmdMZXZlbAotV3JhcHBl
ciBpZGVudGl0eTogaWRlbnRpdHkKLUV2ZW50IE5vZGVJbnNlcnRlZDogRElWCi1FdmVudCBOb2Rl
UmVtb3ZlZDogVUwKLT09PT09PT09PT04PD09PT09PT09PT0KLTxkaXYgaWQ9ImNvbnRhaW5lciIg
c3R5bGU9ImRpc3BsYXk6bm9uZSI+Ci08cD5XZWJLaXQgaXMgdXNlZCBieSA8YSBocmVmPSJodHRw
Oi8vd3d3LmFwcGxlLmNvbS9zYWZhcmkvIj5TYWZhcmk8L2E+LCBEYXNoYm9hcmQsIGV0Yy4uPC9w
PgotPGgyPkdldHRpbmcgaW52b2x2ZWQ8L2gyPgotPHAgaWQ9ImlkZW50aXR5Ij5UaGVyZSBhcmUg
bWFueSB3YXlzIHRvIGdldCBpbnZvbHZlZC4gWW91IGNhbjo8L3A+Ci08ZGl2Pjx1bD4KLSAgIDxs
aT48L2xpPgotPC91bD48L2Rpdj4KLTx1bD4KLSAgIDxsaT48L2xpPgotPC91bD4KLTwvZGl2Pgot
PT09PT09PT09PT44PT09PT09PT09PQotCi1CcmluZ2luZyB0aGluZ3MgYmFjawotCi1XcmFwcGVy
IGlkZW50aXR5OiBpZGVudGl0eQotRXZlbnQgTm9kZUluc2VydGVkOiBVTAotRXZlbnQgTm9kZVJl
bW92ZWQ6IERJVgotPT09PT09PT09PTg8PT09PT09PT09PQotPGRpdiBpZD0iY29udGFpbmVyIiBz
dHlsZT0iZGlzcGxheTpub25lIj4KLTxwPldlYktpdCBpcyB1c2VkIGJ5IDxhIGhyZWY9Imh0dHA6
Ly93d3cuYXBwbGUuY29tL3NhZmFyaS8iPlNhZmFyaTwvYT4sIERhc2hib2FyZCwgZXRjLi48L3A+
Ci08aDI+R2V0dGluZyBpbnZvbHZlZDwvaDI+Ci08cCBpZD0iaWRlbnRpdHkiPlRoZXJlIGFyZSBt
YW55IHdheXMgdG8gZ2V0IGludm9sdmVkLiBZb3UgY2FuOjwvcD4KLTx1bD4KLSAgIDxsaT48L2xp
PgotPC91bD4KLTx1bD4KLSAgIDxsaT48L2xpPgotPC91bD4KLTwvZGl2PgotPT09PT09PT09PT44
PT09PT09PT09PQotCi0KLQotCi0KLVJ1bm5pbmc6IHRlc3RTd2FwTm9kZXMKLVdyYXBwZXIgaWRl
bnRpdHk6IGlkZW50aXR5Ci1FdmVudCBOb2RlSW5zZXJ0ZWQ6IEgyCi1FdmVudCBOb2RlUmVtb3Zl
ZDogSDIKLT09PT09PT09PT04PD09PT09PT09PT0KLTxkaXYgaWQ9ImNvbnRhaW5lciIgc3R5bGU9
ImRpc3BsYXk6bm9uZSI+Ci08cD5XZWJLaXQgaXMgdXNlZCBieSA8YSBocmVmPSJodHRwOi8vd3d3
LmFwcGxlLmNvbS9zYWZhcmkvIj5TYWZhcmk8L2E+LCBEYXNoYm9hcmQsIGV0Yy4uPC9wPgotCi08
cCBpZD0iaWRlbnRpdHkiPlRoZXJlIGFyZSBtYW55IHdheXMgdG8gZ2V0IGludm9sdmVkLiBZb3Ug
Y2FuOjwvcD4KLTx1bD4KLSAgIDxsaT48L2xpPgotPC91bD4KLTx1bD4KLSAgIDxsaT48L2xpPgot
PC91bD4KLTxoMj5HZXR0aW5nIGludm9sdmVkPC9oMj48L2Rpdj4KLT09PT09PT09PT0+OD09PT09
PT09PT0KLQotQnJpbmdpbmcgdGhpbmdzIGJhY2sKLQotV3JhcHBlciBpZGVudGl0eTogaWRlbnRp
dHkKLUV2ZW50IE5vZGVJbnNlcnRlZDogSDIKLUV2ZW50IE5vZGVJbnNlcnRlZDogUAotRXZlbnQg
Tm9kZUluc2VydGVkOiBVTAotRXZlbnQgTm9kZUluc2VydGVkOiBVTAotRXZlbnQgTm9kZVJlbW92
ZWQ6IEgyCi1FdmVudCBOb2RlUmVtb3ZlZDogUAotRXZlbnQgTm9kZVJlbW92ZWQ6IFVMCi1FdmVu
dCBOb2RlUmVtb3ZlZDogVUwKLT09PT09PT09PT04PD09PT09PT09PT0KLTxkaXYgaWQ9ImNvbnRh
aW5lciIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+Ci08cD5XZWJLaXQgaXMgdXNlZCBieSA8YSBocmVm
PSJodHRwOi8vd3d3LmFwcGxlLmNvbS9zYWZhcmkvIj5TYWZhcmk8L2E+LCBEYXNoYm9hcmQsIGV0
Yy4uPC9wPgotPGgyPkdldHRpbmcgaW52b2x2ZWQ8L2gyPgotPHAgaWQ9ImlkZW50aXR5Ij5UaGVy
ZSBhcmUgbWFueSB3YXlzIHRvIGdldCBpbnZvbHZlZC4gWW91IGNhbjo8L3A+Ci08dWw+Ci0gICA8
bGk+PC9saT4KLTwvdWw+Ci08dWw+Ci0gICA8bGk+PC9saT4KLTwvdWw+Ci08L2Rpdj4KLT09PT09
PT09PT0+OD09PT09PT09PT0KLQotCi0KLQotCi1SdW5uaW5nOiB0ZXN0RWRpdFR3b1Jvb3RzCi1X
cmFwcGVyIGlkZW50aXR5OiBpZGVudGl0eQotRXZlbnQgTm9kZUluc2VydGVkOiBESVYKLT09PT09
PT09PT04PD09PT09PT09PT0KLTxkaXYgaWQ9ImNvbnRhaW5lciIgc3R5bGU9ImRpc3BsYXk6bm9u
ZSI+Ci08cD5XZWJLaXQgaXMgdXNlZCBieSA8YSBocmVmPSJodHRwOi8vd3d3LmFwcGxlLmNvbS9z
YWZhcmkvIj5TYWZhcmk8L2E+LCBEYXNoYm9hcmQsIGV0Yy4uPC9wPgotPGgyPkdldHRpbmcgaW52
b2x2ZWQ8L2gyPgotPHAgaWQ9ImlkZW50aXR5Ij5UaGVyZSBhcmUgbWFueSB3YXlzIHRvIGdldCBp
bnZvbHZlZC4gWW91IGNhbjo8L3A+Ci08dWw+Ci0gICA8bGk+PC9saT4KLTwvdWw+Ci08dWw+Ci0g
ICA8bGk+PC9saT4KLTwvdWw+Ci08L2Rpdj4KLT09PT09PT09PT0+OD09PT09PT09PT0KLQotQnJp
bmdpbmcgdGhpbmdzIGJhY2sKLQotV3JhcHBlciBpZGVudGl0eTogaWRlbnRpdHkKLT09PT09PT09
PT04PD09PT09PT09PT0KLTxkaXYgaWQ9ImNvbnRhaW5lciIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+
Ci08cD5XZWJLaXQgaXMgdXNlZCBieSA8YSBocmVmPSJodHRwOi8vd3d3LmFwcGxlLmNvbS9zYWZh
cmkvIj5TYWZhcmk8L2E+LCBEYXNoYm9hcmQsIGV0Yy4uPC9wPgotPGgyPkdldHRpbmcgaW52b2x2
ZWQ8L2gyPgotPHAgaWQ9ImlkZW50aXR5Ij5UaGVyZSBhcmUgbWFueSB3YXlzIHRvIGdldCBpbnZv
bHZlZC4gWW91IGNhbjo8L3A+Ci08dWw+Ci0gICA8bGk+PC9saT4KLTwvdWw+Ci08dWw+Ci0gICA8
bGk+PC9saT4KLTwvdWw+Ci08L2Rpdj4KLT09PT09PT09PT0+OD09PT09PT09PT0KLQotCi0KLQot
Ci1SdW5uaW5nOiB0ZXN0RHVwZU5vZGUKLVJlcGxhY2luZyAnPGgyPkdldHRpbmcgaW52b2x2ZWQ8
L2gyPicgd2l0aCAnPGgyPkdldHRpbmcgaW52b2x2ZWQ8L2gyPjxoMj5HZXR0aW5nIGludm9sdmVk
PC9oMj4nCi0KLVdyYXBwZXIgaWRlbnRpdHk6IGlkZW50aXR5Ci1FdmVudCBOb2RlSW5zZXJ0ZWQ6
IEgyCi1FdmVudCBOb2RlSW5zZXJ0ZWQ6IEgyCi1FdmVudCBOb2RlUmVtb3ZlZDogSDIKLT09PT09
PT09PT04PD09PT09PT09PT0KLTxkaXYgaWQ9ImNvbnRhaW5lciIgc3R5bGU9ImRpc3BsYXk6bm9u
ZSI+Ci08cD5XZWJLaXQgaXMgdXNlZCBieSA8YSBocmVmPSJodHRwOi8vd3d3LmFwcGxlLmNvbS9z
YWZhcmkvIj5TYWZhcmk8L2E+LCBEYXNoYm9hcmQsIGV0Yy4uPC9wPgotPGgyPkdldHRpbmcgaW52
b2x2ZWQ8L2gyPjxoMj5HZXR0aW5nIGludm9sdmVkPC9oMj4KLTxwIGlkPSJpZGVudGl0eSI+VGhl
cmUgYXJlIG1hbnkgd2F5cyB0byBnZXQgaW52b2x2ZWQuIFlvdSBjYW46PC9wPgotPHVsPgotICAg
PGxpPjwvbGk+Ci08L3VsPgotPHVsPgotICAgPGxpPjwvbGk+Ci08L3VsPgotPC9kaXY+Ci09PT09
PT09PT09Pjg9PT09PT09PT09Ci0KLUJyaW5naW5nIHRoaW5ncyBiYWNrCi0KLVdyYXBwZXIgaWRl
bnRpdHk6IGlkZW50aXR5Ci1FdmVudCBOb2RlUmVtb3ZlZDogSDIKLT09PT09PT09PT04PD09PT09
PT09PT0KLTxkaXYgaWQ9ImNvbnRhaW5lciIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+Ci08cD5XZWJL
aXQgaXMgdXNlZCBieSA8YSBocmVmPSJodHRwOi8vd3d3LmFwcGxlLmNvbS9zYWZhcmkvIj5TYWZh
cmk8L2E+LCBEYXNoYm9hcmQsIGV0Yy4uPC9wPgotPGgyPkdldHRpbmcgaW52b2x2ZWQ8L2gyPgot
PHAgaWQ9ImlkZW50aXR5Ij5UaGVyZSBhcmUgbWFueSB3YXlzIHRvIGdldCBpbnZvbHZlZC4gWW91
IGNhbjo8L3A+Ci08dWw+Ci0gICA8bGk+PC9saT4KLTwvdWw+Ci08dWw+Ci0gICA8bGk+PC9saT4K
LTwvdWw+Ci08L2Rpdj4KLT09PT09PT09PT0+OD09PT09PT09PT0KLQotCi0KLQotCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMvc2V0LW91dGVyLWh0bWwtMi5odG1s
IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzL3NldC1vdXRlci1odG1sLTIuaHRtbApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMmE4ZDE5NjM2MDdiNThlZWRjNGRkMTI0ZTMw
NGFkNDIwOTc4ZjNhMi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMvc2V0LW91dGVyLWh0bWwtMi5odG1s
CisrKyAvZGV2L251bGwKQEAgLTEsNzcgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLQotPHNjcmlw
dCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9lbGVtZW50cy10
ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJzZXQtb3V0ZXItaHRtbC10ZXN0LmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQ+Ci0KLWZ1bmN0aW9uIG9ubG9hZCgpCi17Ci0gICAgZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImlkZW50aXR5Iikud3JhcHBlcklkZW50aXR5ID0gImlkZW50aXR5IjsK
LSAgICBydW5UZXN0KCk7Ci19Ci0KLWZ1bmN0aW9uIHRlc3QoKQotewotICAgIEluc3BlY3RvclRl
c3QucnVuVGVzdFN1aXRlKFsKLSAgICAgICAgZnVuY3Rpb24gdGVzdFNldFVwKG5leHQpCi0gICAg
ICAgIHsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3Quc2V0VXBUZXN0U3VpdGUobmV4dCk7Ci0g
ICAgICAgIH0sCi0KLSAgICAgICAgZnVuY3Rpb24gdGVzdENoYW5nZU11bHRpcGxlVGhpbmdzKG5l
eHQpCi0gICAgICAgIHsKLSAgICAgICAgICAgIHZhciB0ZXh0ID0gSW5zcGVjdG9yVGVzdC5jb250
YWluZXJUZXh0LnJlcGxhY2UoLzxsaT4uKjxcL2xpPi8sICIiKTsKLSAgICAgICAgICAgIHRleHQg
PSB0ZXh0LnJlcGxhY2UoIjxoMj4iLCAiPGgyIGZvbz1cImJhclwiIGJhcj1cImJhelwiPiIpOwot
ICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5zZXRPdXRlckhUTUwodGV4dCwgbmV4dCk7Ci0gICAg
ICAgIH0sCi0KLSAgICAgICAgZnVuY3Rpb24gdGVzdENoYW5nZU5lc3RpbmdMZXZlbChuZXh0KQot
ICAgICAgICB7Ci0gICAgICAgICAgICB2YXIgdGV4dCA9IEluc3BlY3RvclRlc3QuY29udGFpbmVy
VGV4dC5yZXBsYWNlKCI8dWw+IiwgIjxkaXY+PHVsPiIpOwotICAgICAgICAgICAgdmFyIHRleHQg
PSB0ZXh0LnJlcGxhY2UoIjwvdWw+IiwgIjwvdWw+PC9kaXY+Iik7Ci0gICAgICAgICAgICBJbnNw
ZWN0b3JUZXN0LnNldE91dGVySFRNTCh0ZXh0LCBuZXh0KTsKLSAgICAgICAgfSwKLQotICAgICAg
ICBmdW5jdGlvbiB0ZXN0U3dhcE5vZGVzKG5leHQpCi0gICAgICAgIHsKLSAgICAgICAgICAgIHZh
ciB0ZXh0ID0gSW5zcGVjdG9yVGVzdC5jb250YWluZXJUZXh0LnJlcGxhY2UoIjxoMj5HZXR0aW5n
IGludm9sdmVkPC9oMj4iLCAiIik7Ci0gICAgICAgICAgICB2YXIgdGV4dCA9IHRleHQucmVwbGFj
ZSgiPC9kaXY+IiwgIjxoMj5HZXR0aW5nIGludm9sdmVkPC9oMj48L2Rpdj4iKTsKLSAgICAgICAg
ICAgIEluc3BlY3RvclRlc3Quc2V0T3V0ZXJIVE1MKHRleHQsIG5leHQpOwotICAgICAgICB9LAot
Ci0gICAgICAgIGZ1bmN0aW9uIHRlc3RFZGl0VHdvUm9vdHMobmV4dCkKLSAgICAgICAgewotICAg
ICAgICAgICAgdmFyIHRleHQgPSBJbnNwZWN0b3JUZXN0LmNvbnRhaW5lclRleHQgKyAiPGRpdj5B
ZGRpdGlvbmFsIG5vZGU8L2Rpdj4iOwotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5zZXRPdXRl
ckhUTUwodGV4dCwgbmV4dCk7Ci0gICAgICAgIH0sCi0KLSAgICAgICAgZnVuY3Rpb24gdGVzdER1
cGVOb2RlKG5leHQpCi0gICAgICAgIHsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QucGF0Y2hP
dXRlckhUTUwoIjxoMj5HZXR0aW5nIGludm9sdmVkPC9oMj4iLCAiPGgyPkdldHRpbmcgaW52b2x2
ZWQ8L2gyPjxoMj5HZXR0aW5nIGludm9sdmVkPC9oMj4iLCBuZXh0KTsKLSAgICAgICAgfQotICAg
IF0pOwotfQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci0KLTxib2R5IG9ubG9hZD0ib25sb2FkKCkiPgot
PHA+Ci1UZXN0cyBET01BZ2VudC5zZXRPdXRlckhUTUwgcHJvdG9jb2wgbWV0aG9kIChwYXJ0IDIp
LgotPC9wPgotCi08ZGl2IGlkPSJjb250YWluZXIiIHN0eWxlPSJkaXNwbGF5Om5vbmUiPgotPHA+
V2ViS2l0IGlzIHVzZWQgYnkgPGEgaHJlZj0iaHR0cDovL3d3dy5hcHBsZS5jb20vc2FmYXJpLyI+
U2FmYXJpPC9hPiwgRGFzaGJvYXJkLCBldGMuLjwvcD4KLTxoMj5HZXR0aW5nIGludm9sdmVkPC9o
Mj4KLTxwIGlkPSJpZGVudGl0eSI+VGhlcmUgYXJlIG1hbnkgd2F5cyB0byBnZXQgaW52b2x2ZWQu
IFlvdSBjYW46PC9wPgotPHVsPgotICAgPGxpPjwvbGk+Ci08L3VsPgotPHVsPgotICAgPGxpPjwv
bGk+Ci08L3VsPgotPC9kaXY+Ci0KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2luc3BlY3Rvci9lbGVtZW50cy9zZXQtb3V0ZXItaHRtbC1ib2R5LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9lbGVtZW50cy9zZXQtb3V0ZXItaHRtbC1ib2R5LWV4
cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzRkYzI4NDgyY2FmYzM4
NjczOGY3Zjk5NDkxMzk4N2E1ZWVlMTI4OS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMvc2V0LW91dGVy
LWh0bWwtYm9keS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwyNiArMCwwIEBACi1U
ZXN0cyBET01BZ2VudC5zZXRPdXRlckhUTUwgaW52b2tlZCBvbiBib2R5IHRhZy4gU2VlIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MjI3Mi4gCi0KLQotUnVubmluZzog
dGVzdFNldFVwCi0KLVJ1bm5pbmc6IHRlc3RTZXRCb2R5Ci08aHRtbCBpZD0iaHRtbCI+PGhlYWQg
aWQ9ImhlYWQiPgotPHNjcmlwdD4KLTwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+TmV3IGJvZHkg
Y29udGVudDwvYm9keT48L2h0bWw+Ci0KLVJ1bm5pbmc6IHRlc3RJbnNlcnRDb21tZW50cwotPGh0
bWwgaWQ9Imh0bWwiPjxoZWFkIGlkPSJoZWFkIj4KLTxzY3JpcHQ+Ci08L3NjcmlwdD4KLTwvaGVh
ZD4KLTwhLS0gbmV3IGNvbW1lbnQgYmV0d2VlbiBoZWFkIGFuZCBib2R5IC0tPjxib2R5Pk5ldyBi
b2R5IGNvbnRlbnQ8L2JvZHk+PC9odG1sPgotCi1SdW5uaW5nOiB0ZXN0U2V0SGVhZAotPGh0bWwg
aWQ9Imh0bWwiPjxoZWFkPjwhLS0gbmV3IGhlYWQgY29udGVudCAtLT48L2hlYWQ+Ci08IS0tIG5l
dyBjb21tZW50IGJldHdlZW4gaGVhZCBhbmQgYm9keSAtLT48Ym9keT5OZXcgYm9keSBjb250ZW50
PC9ib2R5PjwvaHRtbD4KLQotUnVubmluZzogdGVzdFNldEhUTUwKLTxodG1sPjxoZWFkPjwhLS0g
bmV3IGhlYWQgY29udGVudCAtLT48L2hlYWQ+PGJvZHk+U2V0dGluZyBib2R5IGFzIGEgcGFydCBv
ZiBIVE1MLjwvYm9keT48L2h0bWw+Ci0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rv
ci9lbGVtZW50cy9zZXQtb3V0ZXItaHRtbC1ib2R5Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0
b3IvZWxlbWVudHMvc2V0LW91dGVyLWh0bWwtYm9keS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCBkY2ZkZjk2NmU0MGYyYjIzMWY5ZTYwMzUyYTI1MzhjZTU0Njk2M2E0Li4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2lu
c3BlY3Rvci9lbGVtZW50cy9zZXQtb3V0ZXItaHRtbC1ib2R5Lmh0bWwKKysrIC9kZXYvbnVsbApA
QCAtMSw3MSArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotCi08c2NyaXB0IHNyYz0iLi4vLi4vaHR0
cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBz
cmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzLXRlc3QuanMiPjwvc2NyaXB0
PgotPHNjcmlwdD4KLQotZnVuY3Rpb24gdGVzdCgpCi17Ci0gICAgdmFyIGh0bWxOb2RlOwotICAg
IHZhciBib2R5Tm9kZTsKLSAgICB2YXIgaGVhZE5vZGU7Ci0KLSAgICBJbnNwZWN0b3JUZXN0LnJ1
blRlc3RTdWl0ZShbCi0gICAgICAgIGZ1bmN0aW9uIHRlc3RTZXRVcChuZXh0KQotICAgICAgICB7
Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGFuZEVsZW1lbnRzVHJlZShzdGVwMSk7Ci0g
ICAgICAgICAgICBmdW5jdGlvbiBzdGVwMSgpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAg
ICAgaHRtbE5vZGUgPSBJbnNwZWN0b3JUZXN0LmV4cGFuZGVkTm9kZVdpdGhJZCgiaHRtbCIpOwot
ICAgICAgICAgICAgICAgIGhlYWROb2RlID0gSW5zcGVjdG9yVGVzdC5leHBhbmRlZE5vZGVXaXRo
SWQoImhlYWQiKTsKLSAgICAgICAgICAgICAgICBib2R5Tm9kZSA9IEluc3BlY3RvclRlc3QuZXhw
YW5kZWROb2RlV2l0aElkKCJib2R5Iik7Ci0gICAgICAgICAgICAgICAgbmV4dCgpOwotICAgICAg
ICAgICAgfQotICAgICAgICB9LAotCi0gICAgICAgIGZ1bmN0aW9uIHRlc3RTZXRCb2R5KG5leHQp
Ci0gICAgICAgIHsKLSAgICAgICAgICAgIERPTUFnZW50LnNldE91dGVySFRNTChib2R5Tm9kZS5p
ZCwgIjxib2R5Pk5ldyBib2R5IGNvbnRlbnQ8L2JvZHk+IiwgZHVtcEhUTUwobmV4dCkpOwotICAg
ICAgICB9LAotCi0gICAgICAgIGZ1bmN0aW9uIHRlc3RJbnNlcnRDb21tZW50cyhuZXh0KQotICAg
ICAgICB7Ci0gICAgICAgICAgICBET01BZ2VudC5zZXRPdXRlckhUTUwoYm9keU5vZGUuaWQsICI8
IS0tIG5ldyBjb21tZW50IGJldHdlZW4gaGVhZCBhbmQgYm9keSAtLT48Ym9keT5OZXcgYm9keSBj
b250ZW50PC9ib2R5PiIsIGR1bXBIVE1MKG5leHQpKTsKLSAgICAgICAgfSwKLQotICAgICAgICBm
dW5jdGlvbiB0ZXN0U2V0SGVhZChuZXh0KQotICAgICAgICB7Ci0gICAgICAgICAgICBET01BZ2Vu
dC5zZXRPdXRlckhUTUwoaGVhZE5vZGUuaWQsICI8aGVhZD48IS0tIG5ldyBoZWFkIGNvbnRlbnQg
LS0+PC9oZWFkPiIsIGR1bXBIVE1MKG5leHQpKTsKLSAgICAgICAgfSwKLQotICAgICAgICAgZnVu
Y3Rpb24gdGVzdFNldEhUTUwobmV4dCkKLSAgICAgICAgewotICAgICAgICAgICAgRE9NQWdlbnQu
c2V0T3V0ZXJIVE1MKGh0bWxOb2RlLmlkLCAiPGh0bWw+PGhlYWQ+PCEtLSBuZXcgaGVhZCBjb250
ZW50IC0tPjwvaGVhZD48Ym9keT5TZXR0aW5nIGJvZHkgYXMgYSBwYXJ0IG9mIEhUTUwuPC9ib2R5
PjwvaHRtbD4iLCBkdW1wSFRNTChuZXh0KSk7Ci0gICAgICAgIH0KLSAgICBdKTsKLQotICAgIGZ1
bmN0aW9uIGR1bXBIVE1MKG5leHQpCi0gICAgewotICAgICAgICBmdW5jdGlvbiBkdW1wKCkKLSAg
ICAgICAgewotICAgICAgICAgICAgRE9NQWdlbnQuZ2V0T3V0ZXJIVE1MKGh0bWxOb2RlLmlkLCBj
YWxsYmFjayk7Ci0gICAgICAgICAgICBmdW5jdGlvbiBjYWxsYmFjayhlcnJvciwgdGV4dCkKLSAg
ICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdChlcnJv
ciA/IGVycm9yIDogdGV4dCk7Ci0gICAgICAgICAgICAgICAgbmV4dCgpOwotICAgICAgICAgICAg
fQotICAgICAgICB9Ci0gICAgICAgIHJldHVybiBkdW1wOwotICAgIH0KLX0KLTwvc2NyaXB0Pgot
PC9oZWFkPgotCi08Ym9keT4KLTxwPgotVGVzdHMgRE9NQWdlbnQuc2V0T3V0ZXJIVE1MIGludm9r
ZWQgb24gYm9keSB0YWcuIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NjIyNzIuCi08aWZyYW1lIHNyYz0icmVzb3VyY2VzL3NldC1vdXRlci1odG1sLWJvZHktaWZy
YW1lLmh0bWwiIG9ubG9hZD0icnVuVGVzdCgpIj48L2lmcmFtZT4KLTwvcD4KLTwvYm9keT4KLTwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9lbGVtZW50cy9zZXQtb3V0
ZXItaHRtbC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMvc2V0
LW91dGVyLWh0bWwtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
ZmM2ODA2MGQ4OWQ4N2U0NDRlYzA0NWQ3MTFhOTk3NDRhZjhmMDJjLi4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9lbGVt
ZW50cy9zZXQtb3V0ZXItaHRtbC1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxNjAg
KzAsMCBAQAotVGVzdHMgRE9NQWdlbnQuc2V0T3V0ZXJIVE1MIHByb3RvY29sIG1ldGhvZC4KLQot
Ci1SdW5uaW5nOiB0ZXN0U2V0VXAKLQotUnVubmluZzogdGVzdENoYW5nZUNoYXJhY3RlckRhdGEK
LVJlcGxhY2luZyAnR2V0dGluZyBpbnZvbHZlZCcgd2l0aCAnR2V0dGluZyBub3QgaW52b2x2ZWQn
Ci0KLVdyYXBwZXIgaWRlbnRpdHk6IGlkZW50aXR5Ci1FdmVudCBDaGFyYWN0ZXJEYXRhTW9kaWZp
ZWQ6IAotPT09PT09PT09PTg8PT09PT09PT09PQotPGRpdiBpZD0iY29udGFpbmVyIiBzdHlsZT0i
ZGlzcGxheTpub25lIj4KLTxwPldlYktpdCBpcyB1c2VkIGJ5IDxhIGhyZWY9Imh0dHA6Ly93d3cu
YXBwbGUuY29tL3NhZmFyaS8iPlNhZmFyaTwvYT4sIERhc2hib2FyZCwgZXRjLi48L3A+Ci08aDI+
R2V0dGluZyBub3QgaW52b2x2ZWQ8L2gyPgotPHAgaWQ9ImlkZW50aXR5Ij5UaGVyZSBhcmUgbWFu
eSB3YXlzIHRvIGdldCBpbnZvbHZlZC4gWW91IGNhbjo8L3A+Ci08L2Rpdj4KLT09PT09PT09PT0+
OD09PT09PT09PT0KLQotQnJpbmdpbmcgdGhpbmdzIGJhY2sKLQotV3JhcHBlciBpZGVudGl0eTog
aWRlbnRpdHkKLUV2ZW50IENoYXJhY3RlckRhdGFNb2RpZmllZDogCi09PT09PT09PT09ODw9PT09
PT09PT09Ci08ZGl2IGlkPSJjb250YWluZXIiIHN0eWxlPSJkaXNwbGF5Om5vbmUiPgotPHA+V2Vi
S2l0IGlzIHVzZWQgYnkgPGEgaHJlZj0iaHR0cDovL3d3dy5hcHBsZS5jb20vc2FmYXJpLyI+U2Fm
YXJpPC9hPiwgRGFzaGJvYXJkLCBldGMuLjwvcD4KLTxoMj5HZXR0aW5nIGludm9sdmVkPC9oMj4K
LTxwIGlkPSJpZGVudGl0eSI+VGhlcmUgYXJlIG1hbnkgd2F5cyB0byBnZXQgaW52b2x2ZWQuIFlv
dSBjYW46PC9wPgotPC9kaXY+Ci09PT09PT09PT09Pjg9PT09PT09PT09Ci0KLQotCi0KLQotUnVu
bmluZzogdGVzdENoYW5nZUF0dHJpYnV0ZXMKLVJlcGxhY2luZyAnPGEgaHJlZicgd2l0aCAnPGEg
Zm9vPSJiYXIiIGhyZWYnCi0KLVdyYXBwZXIgaWRlbnRpdHk6IGlkZW50aXR5Ci1FdmVudCBBdHRy
TW9kaWZpZWQ6IEEKLUV2ZW50IEF0dHJNb2RpZmllZDogQQotRXZlbnQgQXR0clJlbW92ZWQ6IEEK
LT09PT09PT09PT04PD09PT09PT09PT0KLTxkaXYgaWQ9ImNvbnRhaW5lciIgc3R5bGU9ImRpc3Bs
YXk6bm9uZSI+Ci08cD5XZWJLaXQgaXMgdXNlZCBieSA8YSBmb289ImJhciIgaHJlZj0iaHR0cDov
L3d3dy5hcHBsZS5jb20vc2FmYXJpLyI+U2FmYXJpPC9hPiwgRGFzaGJvYXJkLCBldGMuLjwvcD4K
LTxoMj5HZXR0aW5nIGludm9sdmVkPC9oMj4KLTxwIGlkPSJpZGVudGl0eSI+VGhlcmUgYXJlIG1h
bnkgd2F5cyB0byBnZXQgaW52b2x2ZWQuIFlvdSBjYW46PC9wPgotPC9kaXY+Ci09PT09PT09PT09
Pjg9PT09PT09PT09Ci0KLUJyaW5naW5nIHRoaW5ncyBiYWNrCi0KLVdyYXBwZXIgaWRlbnRpdHk6
IGlkZW50aXR5Ci1FdmVudCBBdHRyTW9kaWZpZWQ6IEEKLUV2ZW50IEF0dHJSZW1vdmVkOiBBCi1F
dmVudCBBdHRyUmVtb3ZlZDogQQotPT09PT09PT09PTg8PT09PT09PT09PQotPGRpdiBpZD0iY29u
dGFpbmVyIiBzdHlsZT0iZGlzcGxheTpub25lIj4KLTxwPldlYktpdCBpcyB1c2VkIGJ5IDxhIGhy
ZWY9Imh0dHA6Ly93d3cuYXBwbGUuY29tL3NhZmFyaS8iPlNhZmFyaTwvYT4sIERhc2hib2FyZCwg
ZXRjLi48L3A+Ci08aDI+R2V0dGluZyBpbnZvbHZlZDwvaDI+Ci08cCBpZD0iaWRlbnRpdHkiPlRo
ZXJlIGFyZSBtYW55IHdheXMgdG8gZ2V0IGludm9sdmVkLiBZb3UgY2FuOjwvcD4KLTwvZGl2Pgot
PT09PT09PT09PT44PT09PT09PT09PQotCi0KLQotCi0KLVJ1bm5pbmc6IHRlc3RSZW1vdmVMYXN0
Q2hpbGQKLVJlcGxhY2luZyAnR2V0dGluZyBpbnZvbHZlZCcgd2l0aCAnJwotCi1XcmFwcGVyIGlk
ZW50aXR5OiBpZGVudGl0eQotRXZlbnQgTm9kZVJlbW92ZWQ6IAotPT09PT09PT09PTg8PT09PT09
PT09PQotPGRpdiBpZD0iY29udGFpbmVyIiBzdHlsZT0iZGlzcGxheTpub25lIj4KLTxwPldlYktp
dCBpcyB1c2VkIGJ5IDxhIGhyZWY9Imh0dHA6Ly93d3cuYXBwbGUuY29tL3NhZmFyaS8iPlNhZmFy
aTwvYT4sIERhc2hib2FyZCwgZXRjLi48L3A+Ci08aDI+PC9oMj4KLTxwIGlkPSJpZGVudGl0eSI+
VGhlcmUgYXJlIG1hbnkgd2F5cyB0byBnZXQgaW52b2x2ZWQuIFlvdSBjYW46PC9wPgotPC9kaXY+
Ci09PT09PT09PT09Pjg9PT09PT09PT09Ci0KLUJyaW5naW5nIHRoaW5ncyBiYWNrCi0KLVdyYXBw
ZXIgaWRlbnRpdHk6IGlkZW50aXR5Ci1FdmVudCBOb2RlSW5zZXJ0ZWQ6IAotPT09PT09PT09PTg8
PT09PT09PT09PQotPGRpdiBpZD0iY29udGFpbmVyIiBzdHlsZT0iZGlzcGxheTpub25lIj4KLTxw
PldlYktpdCBpcyB1c2VkIGJ5IDxhIGhyZWY9Imh0dHA6Ly93d3cuYXBwbGUuY29tL3NhZmFyaS8i
PlNhZmFyaTwvYT4sIERhc2hib2FyZCwgZXRjLi48L3A+Ci08aDI+R2V0dGluZyBpbnZvbHZlZDwv
aDI+Ci08cCBpZD0iaWRlbnRpdHkiPlRoZXJlIGFyZSBtYW55IHdheXMgdG8gZ2V0IGludm9sdmVk
LiBZb3UgY2FuOjwvcD4KLTwvZGl2PgotPT09PT09PT09PT44PT09PT09PT09PQotCi0KLQotCi0K
LVJ1bm5pbmc6IHRlc3RTcGxpdE5vZGUKLVJlcGxhY2luZyAnR2V0dGluZyBpbnZvbHZlZCcgd2l0
aCAnR2V0dGluZzwvaDI+PGgyPmludm9sdmVkJwotCi1XcmFwcGVyIGlkZW50aXR5OiBpZGVudGl0
eQotRXZlbnQgTm9kZUluc2VydGVkOiBIMgotRXZlbnQgTm9kZUluc2VydGVkOiBIMgotRXZlbnQg
Tm9kZVJlbW92ZWQ6IEgyCi09PT09PT09PT09ODw9PT09PT09PT09Ci08ZGl2IGlkPSJjb250YWlu
ZXIiIHN0eWxlPSJkaXNwbGF5Om5vbmUiPgotPHA+V2ViS2l0IGlzIHVzZWQgYnkgPGEgaHJlZj0i
aHR0cDovL3d3dy5hcHBsZS5jb20vc2FmYXJpLyI+U2FmYXJpPC9hPiwgRGFzaGJvYXJkLCBldGMu
LjwvcD4KLTxoMj5HZXR0aW5nPC9oMj48aDI+aW52b2x2ZWQ8L2gyPgotPHAgaWQ9ImlkZW50aXR5
Ij5UaGVyZSBhcmUgbWFueSB3YXlzIHRvIGdldCBpbnZvbHZlZC4gWW91IGNhbjo8L3A+Ci08L2Rp
dj4KLT09PT09PT09PT0+OD09PT09PT09PT0KLQotQnJpbmdpbmcgdGhpbmdzIGJhY2sKLQotV3Jh
cHBlciBpZGVudGl0eTogaWRlbnRpdHkKLUV2ZW50IE5vZGVJbnNlcnRlZDogSDIKLUV2ZW50IE5v
ZGVSZW1vdmVkOiBIMgotRXZlbnQgTm9kZVJlbW92ZWQ6IEgyCi09PT09PT09PT09ODw9PT09PT09
PT09Ci08ZGl2IGlkPSJjb250YWluZXIiIHN0eWxlPSJkaXNwbGF5Om5vbmUiPgotPHA+V2ViS2l0
IGlzIHVzZWQgYnkgPGEgaHJlZj0iaHR0cDovL3d3dy5hcHBsZS5jb20vc2FmYXJpLyI+U2FmYXJp
PC9hPiwgRGFzaGJvYXJkLCBldGMuLjwvcD4KLTxoMj5HZXR0aW5nIGludm9sdmVkPC9oMj4KLTxw
IGlkPSJpZGVudGl0eSI+VGhlcmUgYXJlIG1hbnkgd2F5cyB0byBnZXQgaW52b2x2ZWQuIFlvdSBj
YW46PC9wPgotPC9kaXY+Ci09PT09PT09PT09Pjg9PT09PT09PT09Ci0KLQotCi0KLQotUnVubmlu
ZzogdGVzdENoYW5nZU5vZGVOYW1lCi1SZXBsYWNpbmcgJzxoMj5HZXR0aW5nIGludm9sdmVkPC9o
Mj4nIHdpdGggJzxoMz5HZXR0aW5nIGludm9sdmVkPC9oMz4nCi0KLVdyYXBwZXIgaWRlbnRpdHk6
IGlkZW50aXR5Ci1FdmVudCBOb2RlSW5zZXJ0ZWQ6IEgzCi1FdmVudCBOb2RlUmVtb3ZlZDogSDIK
LT09PT09PT09PT04PD09PT09PT09PT0KLTxkaXYgaWQ9ImNvbnRhaW5lciIgc3R5bGU9ImRpc3Bs
YXk6bm9uZSI+Ci08cD5XZWJLaXQgaXMgdXNlZCBieSA8YSBocmVmPSJodHRwOi8vd3d3LmFwcGxl
LmNvbS9zYWZhcmkvIj5TYWZhcmk8L2E+LCBEYXNoYm9hcmQsIGV0Yy4uPC9wPgotPGgzPkdldHRp
bmcgaW52b2x2ZWQ8L2gzPgotPHAgaWQ9ImlkZW50aXR5Ij5UaGVyZSBhcmUgbWFueSB3YXlzIHRv
IGdldCBpbnZvbHZlZC4gWW91IGNhbjo8L3A+Ci08L2Rpdj4KLT09PT09PT09PT0+OD09PT09PT09
PT0KLQotQnJpbmdpbmcgdGhpbmdzIGJhY2sKLQotV3JhcHBlciBpZGVudGl0eTogaWRlbnRpdHkK
LUV2ZW50IE5vZGVJbnNlcnRlZDogSDIKLUV2ZW50IE5vZGVSZW1vdmVkOiBIMwotPT09PT09PT09
PTg8PT09PT09PT09PQotPGRpdiBpZD0iY29udGFpbmVyIiBzdHlsZT0iZGlzcGxheTpub25lIj4K
LTxwPldlYktpdCBpcyB1c2VkIGJ5IDxhIGhyZWY9Imh0dHA6Ly93d3cuYXBwbGUuY29tL3NhZmFy
aS8iPlNhZmFyaTwvYT4sIERhc2hib2FyZCwgZXRjLi48L3A+Ci08aDI+R2V0dGluZyBpbnZvbHZl
ZDwvaDI+Ci08cCBpZD0iaWRlbnRpdHkiPlRoZXJlIGFyZSBtYW55IHdheXMgdG8gZ2V0IGludm9s
dmVkLiBZb3UgY2FuOjwvcD4KLTwvZGl2PgotPT09PT09PT09PT44PT09PT09PT09PQotCi0KLQot
Ci0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9lbGVtZW50cy9zZXQtb3V0ZXIt
aHRtbC1mb3IteGh0bWwtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VsZW1l
bnRzL3NldC1vdXRlci1odG1sLWZvci14aHRtbC1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDUxZTllM2YzMmMyNmY1YmM1YzFlOGE2MjdlZjgzYWMwOThkOWQ4Mjgu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yL2VsZW1lbnRzL3NldC1vdXRlci1odG1sLWZvci14aHRtbC1leHBlY3RlZC50
eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxNjUgKzAsMCBAQAotVGVzdHMgRE9NQWdlbnQuc2V0T3V0
ZXJIVE1MIHByb3RvY29sIG1ldGhvZCBhZ2FpbnN0IGFuIFhIVE1MIGRvY3VtZW50LgotCi0KLVJ1
bm5pbmc6IHRlc3RTZXRVcAotCi1SdW5uaW5nOiB0ZXN0Q2hhbmdlQ2hhcmFjdGVyRGF0YQotUmVw
bGFjaW5nICdHZXR0aW5nIGludm9sdmVkJyB3aXRoICdHZXR0aW5nIG5vdCBpbnZvbHZlZCcKLQot
V3JhcHBlciBpZGVudGl0eTogaWRlbnRpdHkKLUV2ZW50IEF0dHJNb2RpZmllZDogZGl2Ci1FdmVu
dCBBdHRyTW9kaWZpZWQ6IGRpdgotRXZlbnQgQXR0ck1vZGlmaWVkOiBkaXYKLUV2ZW50IEF0dHJS
ZW1vdmVkOiBkaXYKLUV2ZW50IEF0dHJSZW1vdmVkOiBkaXYKLUV2ZW50IENoYXJhY3RlckRhdGFN
b2RpZmllZDogCi09PT09PT09PT09ODw9PT09PT09PT09Ci08ZGl2IHhtbG5zPSJodHRwOi8vd3d3
LnczLm9yZy8xOTk5L3hodG1sIiBpZD0iY29udGFpbmVyIiBzdHlsZT0iZGlzcGxheTpub25lIj4K
LTxwPldlYktpdCBpcyB1c2VkIGJ5IDxhIGhyZWY9Imh0dHA6Ly93d3cuYXBwbGUuY29tL3NhZmFy
aS8iPlNhZmFyaTwvYT4sIERhc2hib2FyZCwgZXRjLjwvcD4KLTxoMj5HZXR0aW5nIG5vdCBpbnZv
bHZlZDwvaDI+Ci08cCBpZD0iaWRlbnRpdHkiPlRoZXJlIGFyZSBtYW55IHdheXMgdG8gZ2V0IGlu
dm9sdmVkLiBZb3UgY2FuOjwvcD4KLTwvZGl2PgotPT09PT09PT09PT44PT09PT09PT09PQotCi1C
cmluZ2luZyB0aGluZ3MgYmFjawotCi1XcmFwcGVyIGlkZW50aXR5OiBpZGVudGl0eQotRXZlbnQg
Q2hhcmFjdGVyRGF0YU1vZGlmaWVkOiAKLT09PT09PT09PT04PD09PT09PT09PT0KLTxkaXYgeG1s
bnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiIGlkPSJjb250YWluZXIiIHN0eWxlPSJk
aXNwbGF5Om5vbmUiPgotPHA+V2ViS2l0IGlzIHVzZWQgYnkgPGEgaHJlZj0iaHR0cDovL3d3dy5h
cHBsZS5jb20vc2FmYXJpLyI+U2FmYXJpPC9hPiwgRGFzaGJvYXJkLCBldGMuPC9wPgotPGgyPkdl
dHRpbmcgaW52b2x2ZWQ8L2gyPgotPHAgaWQ9ImlkZW50aXR5Ij5UaGVyZSBhcmUgbWFueSB3YXlz
IHRvIGdldCBpbnZvbHZlZC4gWW91IGNhbjo8L3A+Ci08L2Rpdj4KLT09PT09PT09PT0+OD09PT09
PT09PT0KLQotCi0KLQotCi1SdW5uaW5nOiB0ZXN0Q2hhbmdlQXR0cmlidXRlcwotUmVwbGFjaW5n
ICc8YSBocmVmJyB3aXRoICc8YSBmb289ImJhciIgaHJlZicKLQotV3JhcHBlciBpZGVudGl0eTog
aWRlbnRpdHkKLUV2ZW50IEF0dHJNb2RpZmllZDogYQotRXZlbnQgQXR0ck1vZGlmaWVkOiBhCi1F
dmVudCBBdHRyUmVtb3ZlZDogYQotPT09PT09PT09PTg8PT09PT09PT09PQotPGRpdiB4bWxucz0i
aHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCIgaWQ9ImNvbnRhaW5lciIgc3R5bGU9ImRpc3Bs
YXk6bm9uZSI+Ci08cD5XZWJLaXQgaXMgdXNlZCBieSA8YSBmb289ImJhciIgaHJlZj0iaHR0cDov
L3d3dy5hcHBsZS5jb20vc2FmYXJpLyI+U2FmYXJpPC9hPiwgRGFzaGJvYXJkLCBldGMuPC9wPgot
PGgyPkdldHRpbmcgaW52b2x2ZWQ8L2gyPgotPHAgaWQ9ImlkZW50aXR5Ij5UaGVyZSBhcmUgbWFu
eSB3YXlzIHRvIGdldCBpbnZvbHZlZC4gWW91IGNhbjo8L3A+Ci08L2Rpdj4KLT09PT09PT09PT0+
OD09PT09PT09PT0KLQotQnJpbmdpbmcgdGhpbmdzIGJhY2sKLQotV3JhcHBlciBpZGVudGl0eTog
aWRlbnRpdHkKLUV2ZW50IEF0dHJNb2RpZmllZDogYQotRXZlbnQgQXR0clJlbW92ZWQ6IGEKLUV2
ZW50IEF0dHJSZW1vdmVkOiBhCi09PT09PT09PT09ODw9PT09PT09PT09Ci08ZGl2IHhtbG5zPSJo
dHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiBpZD0iY29udGFpbmVyIiBzdHlsZT0iZGlzcGxh
eTpub25lIj4KLTxwPldlYktpdCBpcyB1c2VkIGJ5IDxhIGhyZWY9Imh0dHA6Ly93d3cuYXBwbGUu
Y29tL3NhZmFyaS8iPlNhZmFyaTwvYT4sIERhc2hib2FyZCwgZXRjLjwvcD4KLTxoMj5HZXR0aW5n
IGludm9sdmVkPC9oMj4KLTxwIGlkPSJpZGVudGl0eSI+VGhlcmUgYXJlIG1hbnkgd2F5cyB0byBn
ZXQgaW52b2x2ZWQuIFlvdSBjYW46PC9wPgotPC9kaXY+Ci09PT09PT09PT09Pjg9PT09PT09PT09
Ci0KLQotCi0KLQotUnVubmluZzogdGVzdFJlbW92ZUxhc3RDaGlsZAotUmVwbGFjaW5nICdHZXR0
aW5nIGludm9sdmVkJyB3aXRoICcnCi0KLVdyYXBwZXIgaWRlbnRpdHk6IGlkZW50aXR5Ci1FdmVu
dCBOb2RlUmVtb3ZlZDogCi09PT09PT09PT09ODw9PT09PT09PT09Ci08ZGl2IHhtbG5zPSJodHRw
Oi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiBpZD0iY29udGFpbmVyIiBzdHlsZT0iZGlzcGxheTpu
b25lIj4KLTxwPldlYktpdCBpcyB1c2VkIGJ5IDxhIGhyZWY9Imh0dHA6Ly93d3cuYXBwbGUuY29t
L3NhZmFyaS8iPlNhZmFyaTwvYT4sIERhc2hib2FyZCwgZXRjLjwvcD4KLTxoMj48L2gyPgotPHAg
aWQ9ImlkZW50aXR5Ij5UaGVyZSBhcmUgbWFueSB3YXlzIHRvIGdldCBpbnZvbHZlZC4gWW91IGNh
bjo8L3A+Ci08L2Rpdj4KLT09PT09PT09PT0+OD09PT09PT09PT0KLQotQnJpbmdpbmcgdGhpbmdz
IGJhY2sKLQotV3JhcHBlciBpZGVudGl0eTogaWRlbnRpdHkKLUV2ZW50IE5vZGVJbnNlcnRlZDog
Ci09PT09PT09PT09ODw9PT09PT09PT09Ci08ZGl2IHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8x
OTk5L3hodG1sIiBpZD0iY29udGFpbmVyIiBzdHlsZT0iZGlzcGxheTpub25lIj4KLTxwPldlYktp
dCBpcyB1c2VkIGJ5IDxhIGhyZWY9Imh0dHA6Ly93d3cuYXBwbGUuY29tL3NhZmFyaS8iPlNhZmFy
aTwvYT4sIERhc2hib2FyZCwgZXRjLjwvcD4KLTxoMj5HZXR0aW5nIGludm9sdmVkPC9oMj4KLTxw
IGlkPSJpZGVudGl0eSI+VGhlcmUgYXJlIG1hbnkgd2F5cyB0byBnZXQgaW52b2x2ZWQuIFlvdSBj
YW46PC9wPgotPC9kaXY+Ci09PT09PT09PT09Pjg9PT09PT09PT09Ci0KLQotCi0KLQotUnVubmlu
ZzogdGVzdFNwbGl0Tm9kZQotUmVwbGFjaW5nICdHZXR0aW5nIGludm9sdmVkJyB3aXRoICdHZXR0
aW5nPC9oMj48aDI+aW52b2x2ZWQnCi0KLVdyYXBwZXIgaWRlbnRpdHk6IGlkZW50aXR5Ci1FdmVu
dCBOb2RlSW5zZXJ0ZWQ6IGgyCi1FdmVudCBOb2RlSW5zZXJ0ZWQ6IGgyCi1FdmVudCBOb2RlUmVt
b3ZlZDogaDIKLT09PT09PT09PT04PD09PT09PT09PT0KLTxkaXYgeG1sbnM9Imh0dHA6Ly93d3cu
dzMub3JnLzE5OTkveGh0bWwiIGlkPSJjb250YWluZXIiIHN0eWxlPSJkaXNwbGF5Om5vbmUiPgot
PHA+V2ViS2l0IGlzIHVzZWQgYnkgPGEgaHJlZj0iaHR0cDovL3d3dy5hcHBsZS5jb20vc2FmYXJp
LyI+U2FmYXJpPC9hPiwgRGFzaGJvYXJkLCBldGMuPC9wPgotPGgyPkdldHRpbmc8L2gyPjxoMj5p
bnZvbHZlZDwvaDI+Ci08cCBpZD0iaWRlbnRpdHkiPlRoZXJlIGFyZSBtYW55IHdheXMgdG8gZ2V0
IGludm9sdmVkLiBZb3UgY2FuOjwvcD4KLTwvZGl2PgotPT09PT09PT09PT44PT09PT09PT09PQot
Ci1CcmluZ2luZyB0aGluZ3MgYmFjawotCi1XcmFwcGVyIGlkZW50aXR5OiBpZGVudGl0eQotRXZl
bnQgTm9kZUluc2VydGVkOiBoMgotRXZlbnQgTm9kZVJlbW92ZWQ6IGgyCi1FdmVudCBOb2RlUmVt
b3ZlZDogaDIKLT09PT09PT09PT04PD09PT09PT09PT0KLTxkaXYgeG1sbnM9Imh0dHA6Ly93d3cu
dzMub3JnLzE5OTkveGh0bWwiIGlkPSJjb250YWluZXIiIHN0eWxlPSJkaXNwbGF5Om5vbmUiPgot
PHA+V2ViS2l0IGlzIHVzZWQgYnkgPGEgaHJlZj0iaHR0cDovL3d3dy5hcHBsZS5jb20vc2FmYXJp
LyI+U2FmYXJpPC9hPiwgRGFzaGJvYXJkLCBldGMuPC9wPgotPGgyPkdldHRpbmcgaW52b2x2ZWQ8
L2gyPgotPHAgaWQ9ImlkZW50aXR5Ij5UaGVyZSBhcmUgbWFueSB3YXlzIHRvIGdldCBpbnZvbHZl
ZC4gWW91IGNhbjo8L3A+Ci08L2Rpdj4KLT09PT09PT09PT0+OD09PT09PT09PT0KLQotCi0KLQot
Ci1SdW5uaW5nOiB0ZXN0Q2hhbmdlTm9kZU5hbWUKLVJlcGxhY2luZyAnPGgyPkdldHRpbmcgaW52
b2x2ZWQ8L2gyPicgd2l0aCAnPGgzPkdldHRpbmcgaW52b2x2ZWQ8L2gzPicKLQotV3JhcHBlciBp
ZGVudGl0eTogaWRlbnRpdHkKLUV2ZW50IE5vZGVJbnNlcnRlZDogaDMKLUV2ZW50IE5vZGVSZW1v
dmVkOiBoMgotPT09PT09PT09PTg8PT09PT09PT09PQotPGRpdiB4bWxucz0iaHR0cDovL3d3dy53
My5vcmcvMTk5OS94aHRtbCIgaWQ9ImNvbnRhaW5lciIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+Ci08
cD5XZWJLaXQgaXMgdXNlZCBieSA8YSBocmVmPSJodHRwOi8vd3d3LmFwcGxlLmNvbS9zYWZhcmkv
Ij5TYWZhcmk8L2E+LCBEYXNoYm9hcmQsIGV0Yy48L3A+Ci08aDM+R2V0dGluZyBpbnZvbHZlZDwv
aDM+Ci08cCBpZD0iaWRlbnRpdHkiPlRoZXJlIGFyZSBtYW55IHdheXMgdG8gZ2V0IGludm9sdmVk
LiBZb3UgY2FuOjwvcD4KLTwvZGl2PgotPT09PT09PT09PT44PT09PT09PT09PQotCi1CcmluZ2lu
ZyB0aGluZ3MgYmFjawotCi1XcmFwcGVyIGlkZW50aXR5OiBpZGVudGl0eQotRXZlbnQgTm9kZUlu
c2VydGVkOiBoMgotRXZlbnQgTm9kZVJlbW92ZWQ6IGgzCi09PT09PT09PT09ODw9PT09PT09PT09
Ci08ZGl2IHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiBpZD0iY29udGFpbmVy
IiBzdHlsZT0iZGlzcGxheTpub25lIj4KLTxwPldlYktpdCBpcyB1c2VkIGJ5IDxhIGhyZWY9Imh0
dHA6Ly93d3cuYXBwbGUuY29tL3NhZmFyaS8iPlNhZmFyaTwvYT4sIERhc2hib2FyZCwgZXRjLjwv
cD4KLTxoMj5HZXR0aW5nIGludm9sdmVkPC9oMj4KLTxwIGlkPSJpZGVudGl0eSI+VGhlcmUgYXJl
IG1hbnkgd2F5cyB0byBnZXQgaW52b2x2ZWQuIFlvdSBjYW46PC9wPgotPC9kaXY+Ci09PT09PT09
PT09Pjg9PT09PT09PT09Ci0KLQotCi0KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yL2VsZW1lbnRzL3NldC1vdXRlci1odG1sLWZvci14aHRtbC54aHRtbCBiL0xheW91dFRlc3Rz
L2luc3BlY3Rvci9lbGVtZW50cy9zZXQtb3V0ZXItaHRtbC1mb3IteGh0bWwueGh0bWwKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGMwMjBhYzI1ZDE5NWU0NTNjNmU0NTliOWM1MDBiZjAz
MmY0NTU2ZmEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzL3NldC1vdXRlci1odG1sLWZvci14aHRtbC54
aHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDY2ICswLDAgQEAKLTxodG1sIHhtbG5zPSJodHRwOi8v
d3d3LnczLm9yZy8xOTk5L3hodG1sIj4KLTxoZWFkPgotCi08c2NyaXB0IHNyYz0iLi4vLi4vaHR0
cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBz
cmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzLXRlc3QuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9InNldC1vdXRlci1odG1sLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlw
dD4KLS8vPCFbQ0RBVEFbCi0KLWZ1bmN0aW9uIG9ubG9hZCgpCi17Ci0gICAgZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImlkZW50aXR5Iikud3JhcHBlcklkZW50aXR5ID0gImlkZW50aXR5IjsKLSAg
ICBydW5UZXN0KCk7Ci19Ci0KLWZ1bmN0aW9uIHRlc3QoKQotewotICAgIEluc3BlY3RvclRlc3Qu
cnVuVGVzdFN1aXRlKFsKLSAgICAgICAgZnVuY3Rpb24gdGVzdFNldFVwKG5leHQpCi0gICAgICAg
IHsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3Quc2V0VXBUZXN0U3VpdGUobmV4dCk7Ci0gICAg
ICAgIH0sCi0KLSAgICAgICAgZnVuY3Rpb24gdGVzdENoYW5nZUNoYXJhY3RlckRhdGEobmV4dCkK
LSAgICAgICAgewotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5wYXRjaE91dGVySFRNTCgiR2V0
dGluZyBpbnZvbHZlZCIsICJHZXR0aW5nIG5vdCBpbnZvbHZlZCIsIG5leHQpOwotICAgICAgICB9
LAotCi0gICAgICAgIGZ1bmN0aW9uIHRlc3RDaGFuZ2VBdHRyaWJ1dGVzKG5leHQpCi0gICAgICAg
IHsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QucGF0Y2hPdXRlckhUTUwoIjxhIGhyZWYiLCAi
PGEgZm9vPVwiYmFyXCIgaHJlZiIsIG5leHQpOwotICAgICAgICB9LAotCi0gICAgICAgIGZ1bmN0
aW9uIHRlc3RSZW1vdmVMYXN0Q2hpbGQobmV4dCkKLSAgICAgICAgewotICAgICAgICAgICAgSW5z
cGVjdG9yVGVzdC5wYXRjaE91dGVySFRNTCgiR2V0dGluZyBpbnZvbHZlZCIsICIiLCBuZXh0KTsK
LSAgICAgICAgfSwKLQotICAgICAgICBmdW5jdGlvbiB0ZXN0U3BsaXROb2RlKG5leHQpCi0gICAg
ICAgIHsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QucGF0Y2hPdXRlckhUTUwoIkdldHRpbmcg
aW52b2x2ZWQiLCAiR2V0dGluZzwvaDI+PGgyPmludm9sdmVkIiwgbmV4dCk7Ci0gICAgICAgIH0s
Ci0KLSAgICAgICAgZnVuY3Rpb24gdGVzdENoYW5nZU5vZGVOYW1lKG5leHQpCi0gICAgICAgIHsK
LSAgICAgICAgICAgIEluc3BlY3RvclRlc3QucGF0Y2hPdXRlckhUTUwoIjxoMj5HZXR0aW5nIGlu
dm9sdmVkPC9oMj4iLCAiPGgzPkdldHRpbmcgaW52b2x2ZWQ8L2gzPiIsIG5leHQpOwotICAgICAg
ICB9Ci0gICAgXSk7Ci19Ci0vL11dPgotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci0KLTxib2R5IG9ubG9h
ZD0ib25sb2FkKCkiPgotPHA+Ci1UZXN0cyBET01BZ2VudC5zZXRPdXRlckhUTUwgcHJvdG9jb2wg
bWV0aG9kIGFnYWluc3QgYW4gWEhUTUwgZG9jdW1lbnQuCi08L3A+Ci0KLTxkaXYgaWQ9ImNvbnRh
aW5lciIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+Ci08cD5XZWJLaXQgaXMgdXNlZCBieSA8YSBocmVm
PSJodHRwOi8vd3d3LmFwcGxlLmNvbS9zYWZhcmkvIj5TYWZhcmk8L2E+LCBEYXNoYm9hcmQsIGV0
Yy48L3A+Ci08aDI+R2V0dGluZyBpbnZvbHZlZDwvaDI+Ci08cCBpZD0iaWRlbnRpdHkiPlRoZXJl
IGFyZSBtYW55IHdheXMgdG8gZ2V0IGludm9sdmVkLiBZb3UgY2FuOjwvcD4KLTwvZGl2PgotCi08
L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZWxlbWVu
dHMvc2V0LW91dGVyLWh0bWwtdGVzdC5qcyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9lbGVtZW50
cy9zZXQtb3V0ZXItaHRtbC10ZXN0LmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
ZjMxZjExYjUxZmM1YjliNDcwYTk4OTU0YmJjOTRjZmUyY2RjNmViLi4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9lbGVt
ZW50cy9zZXQtb3V0ZXItaHRtbC10ZXN0LmpzCisrKyAvZGV2L251bGwKQEAgLTEsMTExICswLDAg
QEAKLXZhciBpbml0aWFsaXplX1NldE91dGVySFRNTFRlc3QgPSBmdW5jdGlvbigpIHsKLQotSW5z
cGVjdG9yVGVzdC5ldmVudHMgPSBbXTsKLUluc3BlY3RvclRlc3QuY29udGFpbmVySWQ7Ci0KLUlu
c3BlY3RvclRlc3Quc2V0VXBUZXN0U3VpdGUgPSBmdW5jdGlvbihuZXh0KQotewotICAgIEluc3Bl
Y3RvclRlc3QuZXhwYW5kRWxlbWVudHNUcmVlKHN0ZXAxKTsKLQotICAgIGZ1bmN0aW9uIHN0ZXAx
KCkKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3Quc2VsZWN0Tm9kZVdpdGhJZCgiY29udGFp
bmVyIiwgc3RlcDIpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0ZXAyKG5vZGUpCi0gICAgewot
ICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbnRhaW5lcklkID0gbm9kZS5pZDsKLSAgICAgICAgRE9N
QWdlbnQuZ2V0T3V0ZXJIVE1MKEluc3BlY3RvclRlc3QuY29udGFpbmVySWQsIHN0ZXAzKTsKLSAg
ICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwMyhlcnJvciwgdGV4dCkKLSAgICB7Ci0gICAgICAgIElu
c3BlY3RvclRlc3QuY29udGFpbmVyVGV4dCA9IHRleHQ7Ci0KLSAgICAgICAgZm9yICh2YXIga2V5
IGluIFdlYkluc3BlY3Rvci5ET01BZ2VudC5FdmVudHMpIHsKLSAgICAgICAgICAgIHZhciBldmVu
dE5hbWUgPSBXZWJJbnNwZWN0b3IuRE9NQWdlbnQuRXZlbnRzW2tleV07Ci0gICAgICAgICAgICBX
ZWJJbnNwZWN0b3IuZG9tQWdlbnQuYWRkRXZlbnRMaXN0ZW5lcihldmVudE5hbWUsIEluc3BlY3Rv
clRlc3QucmVjb3JkRXZlbnQuYmluZChJbnNwZWN0b3JUZXN0LCBldmVudE5hbWUpKTsKLSAgICAg
ICAgfQotCi0gICAgICAgIG5leHQoKTsKLSAgICB9Ci19Ci0KLUluc3BlY3RvclRlc3QucmVjb3Jk
RXZlbnQgPSBmdW5jdGlvbihldmVudE5hbWUsIGV2ZW50KQotewotICAgIGlmICghZXZlbnQuZGF0
YSkKLSAgICAgICAgcmV0dXJuOwotICAgIHZhciBub2RlID0gZXZlbnQuZGF0YS5ub2RlIHx8IGV2
ZW50LmRhdGE7Ci0gICAgdmFyIHBhcmVudCA9IGV2ZW50LmRhdGEucGFyZW50OwotICAgIGZvciAo
dmFyIGN1cnJlbnROb2RlID0gcGFyZW50IHx8IG5vZGU7IGN1cnJlbnROb2RlOyBjdXJyZW50Tm9k
ZSA9IGN1cnJlbnROb2RlLnBhcmVudE5vZGUpIHsKLSAgICAgICAgaWYgKGN1cnJlbnROb2RlLmdl
dEF0dHJpYnV0ZSgiaWQiKSA9PT0gIm91dHB1dCIpCi0gICAgICAgICAgICByZXR1cm47Ci0gICAg
fQotICAgIEluc3BlY3RvclRlc3QuZXZlbnRzLnB1c2goIkV2ZW50ICIgKyBldmVudE5hbWUgKyAi
OiAiICsgbm9kZS5ub2RlTmFtZSgpKTsKLX0KLQotSW5zcGVjdG9yVGVzdC5wYXRjaE91dGVySFRN
TCA9IGZ1bmN0aW9uKHBhdHRlcm4sIHJlcGxhY2VtZW50LCBuZXh0KQotewotICAgIEluc3BlY3Rv
clRlc3QuYWRkUmVzdWx0KCJSZXBsYWNpbmcgJyIgKyBwYXR0ZXJuICsgIicgd2l0aCAnIiArIHJl
cGxhY2VtZW50ICsgIidcbiIpOwotICAgIEluc3BlY3RvclRlc3Quc2V0T3V0ZXJIVE1MKEluc3Bl
Y3RvclRlc3QuY29udGFpbmVyVGV4dC5yZXBsYWNlKHBhdHRlcm4sIHJlcGxhY2VtZW50KSwgbmV4
dCk7Ci19Ci0KLUluc3BlY3RvclRlc3QucGF0Y2hPdXRlckhUTUxVc2VVbmRvID0gZnVuY3Rpb24o
cGF0dGVybiwgcmVwbGFjZW1lbnQsIG5leHQpCi17Ci0gICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1
bHQoIlJlcGxhY2luZyAnIiArIHBhdHRlcm4gKyAiJyB3aXRoICciICsgcmVwbGFjZW1lbnQgKyAi
J1xuIik7Ci0gICAgSW5zcGVjdG9yVGVzdC5zZXRPdXRlckhUTUxVc2VVbmRvKEluc3BlY3RvclRl
c3QuY29udGFpbmVyVGV4dC5yZXBsYWNlKHBhdHRlcm4sIHJlcGxhY2VtZW50KSwgbmV4dCk7Ci19
Ci0KLUluc3BlY3RvclRlc3Quc2V0T3V0ZXJIVE1MID0gZnVuY3Rpb24obmV3VGV4dCwgbmV4dCkK
LXsKLSAgICBJbnNwZWN0b3JUZXN0LmlubmVyU2V0T3V0ZXJIVE1MKG5ld1RleHQsIGZhbHNlLCBi
cmluZ0JhY2spOwotCi0gICAgZnVuY3Rpb24gYnJpbmdCYWNrKCkKLSAgICB7Ci0gICAgICAgIElu
c3BlY3RvclRlc3QuYWRkUmVzdWx0KCJcbkJyaW5naW5nIHRoaW5ncyBiYWNrXG4iKTsKLSAgICAg
ICAgSW5zcGVjdG9yVGVzdC5pbm5lclNldE91dGVySFRNTChJbnNwZWN0b3JUZXN0LmNvbnRhaW5l
clRleHQsIHRydWUsIG5leHQpOwotICAgIH0KLX0KLQotSW5zcGVjdG9yVGVzdC5zZXRPdXRlckhU
TUxVc2VVbmRvID0gZnVuY3Rpb24obmV3VGV4dCwgbmV4dCkKLXsKLSAgICBJbnNwZWN0b3JUZXN0
LmlubmVyU2V0T3V0ZXJIVE1MKG5ld1RleHQsIGZhbHNlLCBicmluZ0JhY2spOwotCi0gICAgZnVu
Y3Rpb24gYnJpbmdCYWNrKCkKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0
KCJcbkJyaW5naW5nIHRoaW5ncyBiYWNrXG4iKTsKLSAgICAgICAgV2ViSW5zcGVjdG9yLmRvbUFn
ZW50LnVuZG8oSW5zcGVjdG9yVGVzdC5fZHVtcE91dGVySFRNTC5iaW5kKEluc3BlY3RvclRlc3Qs
IHRydWUsIG5leHQpKTsKLSAgICB9Ci19Ci0KLUluc3BlY3RvclRlc3QuaW5uZXJTZXRPdXRlckhU
TUwgPSBmdW5jdGlvbihuZXdUZXh0LCBsYXN0LCBuZXh0KQotewotICAgIERPTUFnZW50LnNldE91
dGVySFRNTChJbnNwZWN0b3JUZXN0LmNvbnRhaW5lcklkLCBuZXdUZXh0LCBJbnNwZWN0b3JUZXN0
Ll9kdW1wT3V0ZXJIVE1MLmJpbmQoSW5zcGVjdG9yVGVzdCwgbGFzdCwgbmV4dCkpOwotfQotCi1J
bnNwZWN0b3JUZXN0Ll9kdW1wT3V0ZXJIVE1MID0gZnVuY3Rpb24obGFzdCwgbmV4dCkKLXsKLSAg
ICBSdW50aW1lQWdlbnQuZXZhbHVhdGUoImRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwiaWRlbnRp
dHlcIikud3JhcHBlcklkZW50aXR5IiwgZHVtcElkZW50aXR5KTsKLSAgICBmdW5jdGlvbiBkdW1w
SWRlbnRpdHkoZXJyb3IsIHJlc3VsdCkKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRk
UmVzdWx0KCJXcmFwcGVyIGlkZW50aXR5OiAiICsgcmVzdWx0LnZhbHVlKTsKLSAgICAgICAgSW5z
cGVjdG9yVGVzdC5ldmVudHMuc29ydCgpOwotICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IElu
c3BlY3RvclRlc3QuZXZlbnRzLmxlbmd0aDsgKytpKQotICAgICAgICAgICAgSW5zcGVjdG9yVGVz
dC5hZGRSZXN1bHQoSW5zcGVjdG9yVGVzdC5ldmVudHNbaV0pOwotICAgICAgICBJbnNwZWN0b3JU
ZXN0LmV2ZW50cyA9IFtdOwotICAgIH0KLQotICAgIERPTUFnZW50LmdldE91dGVySFRNTChJbnNw
ZWN0b3JUZXN0LmNvbnRhaW5lcklkLCBjYWxsYmFjayk7Ci0KLSAgICBmdW5jdGlvbiBjYWxsYmFj
ayhlcnJvciwgdGV4dCkKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCI9
PT09PT09PT09ODw9PT09PT09PT09Iik7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0
KHRleHQpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiPT09PT09PT09PT44PT09
PT09PT09PSIpOwotICAgICAgICBpZiAobGFzdCkKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3Qu
YWRkUmVzdWx0KCJcblxuXG4iKTsKLSAgICAgICAgbmV4dCgpOwotICAgIH0KLX0KLQotfTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9lbGVtZW50cy9zZXQtb3V0ZXItaHRtbC5o
dG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzL3NldC1vdXRlci1odG1sLmh0bWwK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDgyY2U3OGE4N2VlZGFmNDM5NWM2YTIzN2Uw
MWVkMTQ3NDZiNzQ0MGQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzL3NldC1vdXRlci1odG1sLmh0bWwK
KysrIC9kZXYvbnVsbApAQCAtMSw2NCArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotCi08c2NyaXB0
IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzLXRl
c3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9InNldC1vdXRlci1odG1sLXRlc3QuanMiPjwv
c2NyaXB0PgotPHNjcmlwdD4KLQotZnVuY3Rpb24gb25sb2FkKCkKLXsKLSAgICBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiaWRlbnRpdHkiKS53cmFwcGVySWRlbnRpdHkgPSAiaWRlbnRpdHkiOwot
ICAgIHJ1blRlc3QoKTsKLX0KLQotZnVuY3Rpb24gdGVzdCgpCi17Ci0gICAgSW5zcGVjdG9yVGVz
dC5ydW5UZXN0U3VpdGUoWwotICAgICAgICBmdW5jdGlvbiB0ZXN0U2V0VXAobmV4dCkKLSAgICAg
ICAgewotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5zZXRVcFRlc3RTdWl0ZShuZXh0KTsKLSAg
ICAgICAgfSwKLQotICAgICAgICBmdW5jdGlvbiB0ZXN0Q2hhbmdlQ2hhcmFjdGVyRGF0YShuZXh0
KQotICAgICAgICB7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LnBhdGNoT3V0ZXJIVE1MKCJH
ZXR0aW5nIGludm9sdmVkIiwgIkdldHRpbmcgbm90IGludm9sdmVkIiwgbmV4dCk7Ci0gICAgICAg
IH0sCi0KLSAgICAgICAgZnVuY3Rpb24gdGVzdENoYW5nZUF0dHJpYnV0ZXMobmV4dCkKLSAgICAg
ICAgewotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5wYXRjaE91dGVySFRNTCgiPGEgaHJlZiIs
ICI8YSBmb289XCJiYXJcIiBocmVmIiwgbmV4dCk7Ci0gICAgICAgIH0sCi0KLSAgICAgICAgZnVu
Y3Rpb24gdGVzdFJlbW92ZUxhc3RDaGlsZChuZXh0KQotICAgICAgICB7Ci0gICAgICAgICAgICBJ
bnNwZWN0b3JUZXN0LnBhdGNoT3V0ZXJIVE1MKCJHZXR0aW5nIGludm9sdmVkIiwgIiIsIG5leHQp
OwotICAgICAgICB9LAotCi0gICAgICAgIGZ1bmN0aW9uIHRlc3RTcGxpdE5vZGUobmV4dCkKLSAg
ICAgICAgewotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5wYXRjaE91dGVySFRNTCgiR2V0dGlu
ZyBpbnZvbHZlZCIsICJHZXR0aW5nPC9oMj48aDI+aW52b2x2ZWQiLCBuZXh0KTsKLSAgICAgICAg
fSwKLQotICAgICAgICBmdW5jdGlvbiB0ZXN0Q2hhbmdlTm9kZU5hbWUobmV4dCkKLSAgICAgICAg
ewotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5wYXRjaE91dGVySFRNTCgiPGgyPkdldHRpbmcg
aW52b2x2ZWQ8L2gyPiIsICI8aDM+R2V0dGluZyBpbnZvbHZlZDwvaDM+IiwgbmV4dCk7Ci0gICAg
ICAgIH0KLSAgICBdKTsKLX0KLTwvc2NyaXB0PgotPC9oZWFkPgotCi08Ym9keSBvbmxvYWQ9Im9u
bG9hZCgpIj4KLTxwPgotVGVzdHMgRE9NQWdlbnQuc2V0T3V0ZXJIVE1MIHByb3RvY29sIG1ldGhv
ZC4KLTwvcD4KLQotPGRpdiBpZD0iY29udGFpbmVyIiBzdHlsZT0iZGlzcGxheTpub25lIj4KLTxw
PldlYktpdCBpcyB1c2VkIGJ5IDxhIGhyZWY9Imh0dHA6Ly93d3cuYXBwbGUuY29tL3NhZmFyaS8i
PlNhZmFyaTwvYT4sIERhc2hib2FyZCwgZXRjLjwvYT4uPC9wPgotPGgyPkdldHRpbmcgaW52b2x2
ZWQ8L2gyPgotPHAgaWQ9ImlkZW50aXR5Ij5UaGVyZSBhcmUgbWFueSB3YXlzIHRvIGdldCBpbnZv
bHZlZC4gWW91IGNhbjo8L3A+Ci08L2Rpdj4KLQotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzL3VuZG8tc2V0LW91dGVyLWh0bWwtMi1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMvdW5kby1zZXQtb3V0
ZXItaHRtbC0yLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjY0
NmE4MDk4NTQ0ZjMzOWY4ODQzOGE3MmEyNWMzNjlmNjQzMjdiNy4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZWxlbWVu
dHMvdW5kby1zZXQtb3V0ZXItaHRtbC0yLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0x
LDIxNCArMCwwIEBACi1UZXN0cyB1bmRvIGZvciB0aGUgRE9NQWdlbnQuc2V0T3V0ZXJIVE1MIHBy
b3RvY29sIG1ldGhvZCAocGFydCAyKS4KLQotCi1SdW5uaW5nOiB0ZXN0U2V0VXAKLQotUnVubmlu
ZzogdGVzdENoYW5nZU11bHRpcGxlVGhpbmdzCi1XcmFwcGVyIGlkZW50aXR5OiBpZGVudGl0eQot
RXZlbnQgQXR0ck1vZGlmaWVkOiBIMgotRXZlbnQgQXR0ck1vZGlmaWVkOiBIMgotRXZlbnQgTm9k
ZUluc2VydGVkOiBVTAotRXZlbnQgTm9kZVJlbW92ZWQ6IFVMCi09PT09PT09PT09ODw9PT09PT09
PT09Ci08ZGl2IGlkPSJjb250YWluZXIiIHN0eWxlPSJkaXNwbGF5Om5vbmUiPgotPHA+V2ViS2l0
IGlzIHVzZWQgYnkgPGEgaHJlZj0iaHR0cDovL3d3dy5hcHBsZS5jb20vc2FmYXJpLyI+U2FmYXJp
PC9hPiwgRGFzaGJvYXJkLCBldGMuLjwvcD4KLTxoMiBmb289ImJhciIgYmFyPSJiYXoiPkdldHRp
bmcgaW52b2x2ZWQ8L2gyPgotPHAgaWQ9ImlkZW50aXR5Ij5UaGVyZSBhcmUgbWFueSB3YXlzIHRv
IGdldCBpbnZvbHZlZC4gWW91IGNhbjo8L3A+Ci08dWw+Ci0gICAKLTwvdWw+Ci08dWw+Ci0gICA8
bGk+PC9saT4KLTwvdWw+Ci08L2Rpdj4KLT09PT09PT09PT0+OD09PT09PT09PT0KLQotQnJpbmdp
bmcgdGhpbmdzIGJhY2sKLQotV3JhcHBlciBpZGVudGl0eTogaWRlbnRpdHkKLUV2ZW50IEF0dHJS
ZW1vdmVkOiBIMgotRXZlbnQgQXR0clJlbW92ZWQ6IEgyCi1FdmVudCBOb2RlSW5zZXJ0ZWQ6IFVM
Ci1FdmVudCBOb2RlUmVtb3ZlZDogVUwKLT09PT09PT09PT04PD09PT09PT09PT0KLTxkaXYgaWQ9
ImNvbnRhaW5lciIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+Ci08cD5XZWJLaXQgaXMgdXNlZCBieSA8
YSBocmVmPSJodHRwOi8vd3d3LmFwcGxlLmNvbS9zYWZhcmkvIj5TYWZhcmk8L2E+LCBEYXNoYm9h
cmQsIGV0Yy4uPC9wPgotPGgyPkdldHRpbmcgaW52b2x2ZWQ8L2gyPgotPHAgaWQ9ImlkZW50aXR5
Ij5UaGVyZSBhcmUgbWFueSB3YXlzIHRvIGdldCBpbnZvbHZlZC4gWW91IGNhbjo8L3A+Ci08dWw+
Ci0gICA8bGk+PC9saT4KLTwvdWw+Ci08dWw+Ci0gICA8bGk+PC9saT4KLTwvdWw+Ci08L2Rpdj4K
LT09PT09PT09PT0+OD09PT09PT09PT0KLQotCi0KLQotCi1SdW5uaW5nOiB0ZXN0Q2hhbmdlTmVz
dGluZ0xldmVsCi1XcmFwcGVyIGlkZW50aXR5OiBpZGVudGl0eQotRXZlbnQgTm9kZUluc2VydGVk
OiBESVYKLUV2ZW50IE5vZGVSZW1vdmVkOiBVTAotPT09PT09PT09PTg8PT09PT09PT09PQotPGRp
diBpZD0iY29udGFpbmVyIiBzdHlsZT0iZGlzcGxheTpub25lIj4KLTxwPldlYktpdCBpcyB1c2Vk
IGJ5IDxhIGhyZWY9Imh0dHA6Ly93d3cuYXBwbGUuY29tL3NhZmFyaS8iPlNhZmFyaTwvYT4sIERh
c2hib2FyZCwgZXRjLi48L3A+Ci08aDI+R2V0dGluZyBpbnZvbHZlZDwvaDI+Ci08cCBpZD0iaWRl
bnRpdHkiPlRoZXJlIGFyZSBtYW55IHdheXMgdG8gZ2V0IGludm9sdmVkLiBZb3UgY2FuOjwvcD4K
LTxkaXY+PHVsPgotICAgPGxpPjwvbGk+Ci08L3VsPjwvZGl2PgotPHVsPgotICAgPGxpPjwvbGk+
Ci08L3VsPgotPC9kaXY+Ci09PT09PT09PT09Pjg9PT09PT09PT09Ci0KLUJyaW5naW5nIHRoaW5n
cyBiYWNrCi0KLVdyYXBwZXIgaWRlbnRpdHk6IGlkZW50aXR5Ci1FdmVudCBOb2RlSW5zZXJ0ZWQ6
IFVMCi1FdmVudCBOb2RlUmVtb3ZlZDogRElWCi09PT09PT09PT09ODw9PT09PT09PT09Ci08ZGl2
IGlkPSJjb250YWluZXIiIHN0eWxlPSJkaXNwbGF5Om5vbmUiPgotPHA+V2ViS2l0IGlzIHVzZWQg
YnkgPGEgaHJlZj0iaHR0cDovL3d3dy5hcHBsZS5jb20vc2FmYXJpLyI+U2FmYXJpPC9hPiwgRGFz
aGJvYXJkLCBldGMuLjwvcD4KLTxoMj5HZXR0aW5nIGludm9sdmVkPC9oMj4KLTxwIGlkPSJpZGVu
dGl0eSI+VGhlcmUgYXJlIG1hbnkgd2F5cyB0byBnZXQgaW52b2x2ZWQuIFlvdSBjYW46PC9wPgot
PHVsPgotICAgPGxpPjwvbGk+Ci08L3VsPgotPHVsPgotICAgPGxpPjwvbGk+Ci08L3VsPgotPC9k
aXY+Ci09PT09PT09PT09Pjg9PT09PT09PT09Ci0KLQotCi0KLQotUnVubmluZzogdGVzdFN3YXBO
b2RlcwotV3JhcHBlciBpZGVudGl0eTogaWRlbnRpdHkKLUV2ZW50IE5vZGVJbnNlcnRlZDogSDIK
LUV2ZW50IE5vZGVSZW1vdmVkOiBIMgotPT09PT09PT09PTg8PT09PT09PT09PQotPGRpdiBpZD0i
Y29udGFpbmVyIiBzdHlsZT0iZGlzcGxheTpub25lIj4KLTxwPldlYktpdCBpcyB1c2VkIGJ5IDxh
IGhyZWY9Imh0dHA6Ly93d3cuYXBwbGUuY29tL3NhZmFyaS8iPlNhZmFyaTwvYT4sIERhc2hib2Fy
ZCwgZXRjLi48L3A+Ci0KLTxwIGlkPSJpZGVudGl0eSI+VGhlcmUgYXJlIG1hbnkgd2F5cyB0byBn
ZXQgaW52b2x2ZWQuIFlvdSBjYW46PC9wPgotPHVsPgotICAgPGxpPjwvbGk+Ci08L3VsPgotPHVs
PgotICAgPGxpPjwvbGk+Ci08L3VsPgotPGgyPkdldHRpbmcgaW52b2x2ZWQ8L2gyPjwvZGl2Pgot
PT09PT09PT09PT44PT09PT09PT09PQotCi1CcmluZ2luZyB0aGluZ3MgYmFjawotCi1XcmFwcGVy
IGlkZW50aXR5OiBpZGVudGl0eQotRXZlbnQgTm9kZUluc2VydGVkOiBIMgotRXZlbnQgTm9kZVJl
bW92ZWQ6IEgyCi09PT09PT09PT09ODw9PT09PT09PT09Ci08ZGl2IGlkPSJjb250YWluZXIiIHN0
eWxlPSJkaXNwbGF5Om5vbmUiPgotPHA+V2ViS2l0IGlzIHVzZWQgYnkgPGEgaHJlZj0iaHR0cDov
L3d3dy5hcHBsZS5jb20vc2FmYXJpLyI+U2FmYXJpPC9hPiwgRGFzaGJvYXJkLCBldGMuLjwvcD4K
LTxoMj5HZXR0aW5nIGludm9sdmVkPC9oMj4KLTxwIGlkPSJpZGVudGl0eSI+VGhlcmUgYXJlIG1h
bnkgd2F5cyB0byBnZXQgaW52b2x2ZWQuIFlvdSBjYW46PC9wPgotPHVsPgotICAgPGxpPjwvbGk+
Ci08L3VsPgotPHVsPgotICAgPGxpPjwvbGk+Ci08L3VsPgotPC9kaXY+Ci09PT09PT09PT09Pjg9
PT09PT09PT09Ci0KLQotCi0KLQotUnVubmluZzogdGVzdEVkaXRUd29Sb290cwotV3JhcHBlciBp
ZGVudGl0eTogaWRlbnRpdHkKLUV2ZW50IE5vZGVJbnNlcnRlZDogRElWCi09PT09PT09PT09ODw9
PT09PT09PT09Ci08ZGl2IGlkPSJjb250YWluZXIiIHN0eWxlPSJkaXNwbGF5Om5vbmUiPgotPHA+
V2ViS2l0IGlzIHVzZWQgYnkgPGEgaHJlZj0iaHR0cDovL3d3dy5hcHBsZS5jb20vc2FmYXJpLyI+
U2FmYXJpPC9hPiwgRGFzaGJvYXJkLCBldGMuLjwvcD4KLTxoMj5HZXR0aW5nIGludm9sdmVkPC9o
Mj4KLTxwIGlkPSJpZGVudGl0eSI+VGhlcmUgYXJlIG1hbnkgd2F5cyB0byBnZXQgaW52b2x2ZWQu
IFlvdSBjYW46PC9wPgotPHVsPgotICAgPGxpPjwvbGk+Ci08L3VsPgotPHVsPgotICAgPGxpPjwv
bGk+Ci08L3VsPgotPC9kaXY+Ci09PT09PT09PT09Pjg9PT09PT09PT09Ci0KLUJyaW5naW5nIHRo
aW5ncyBiYWNrCi0KLVdyYXBwZXIgaWRlbnRpdHk6IGlkZW50aXR5Ci1FdmVudCBOb2RlUmVtb3Zl
ZDogRElWCi09PT09PT09PT09ODw9PT09PT09PT09Ci08ZGl2IGlkPSJjb250YWluZXIiIHN0eWxl
PSJkaXNwbGF5Om5vbmUiPgotPHA+V2ViS2l0IGlzIHVzZWQgYnkgPGEgaHJlZj0iaHR0cDovL3d3
dy5hcHBsZS5jb20vc2FmYXJpLyI+U2FmYXJpPC9hPiwgRGFzaGJvYXJkLCBldGMuLjwvcD4KLTxo
Mj5HZXR0aW5nIGludm9sdmVkPC9oMj4KLTxwIGlkPSJpZGVudGl0eSI+VGhlcmUgYXJlIG1hbnkg
d2F5cyB0byBnZXQgaW52b2x2ZWQuIFlvdSBjYW46PC9wPgotPHVsPgotICAgPGxpPjwvbGk+Ci08
L3VsPgotPHVsPgotICAgPGxpPjwvbGk+Ci08L3VsPgotPC9kaXY+Ci09PT09PT09PT09Pjg9PT09
PT09PT09Ci0KLQotCi0KLQotUnVubmluZzogdGVzdER1cGVOb2RlCi1SZXBsYWNpbmcgJzxoMj5H
ZXR0aW5nIGludm9sdmVkPC9oMj4nIHdpdGggJzxoMj5HZXR0aW5nIGludm9sdmVkPC9oMj48aDI+
R2V0dGluZyBpbnZvbHZlZDwvaDI+JwotCi1XcmFwcGVyIGlkZW50aXR5OiBpZGVudGl0eQotRXZl
bnQgTm9kZUluc2VydGVkOiBIMgotRXZlbnQgTm9kZUluc2VydGVkOiBIMgotRXZlbnQgTm9kZVJl
bW92ZWQ6IEgyCi09PT09PT09PT09ODw9PT09PT09PT09Ci08ZGl2IGlkPSJjb250YWluZXIiIHN0
eWxlPSJkaXNwbGF5Om5vbmUiPgotPHA+V2ViS2l0IGlzIHVzZWQgYnkgPGEgaHJlZj0iaHR0cDov
L3d3dy5hcHBsZS5jb20vc2FmYXJpLyI+U2FmYXJpPC9hPiwgRGFzaGJvYXJkLCBldGMuLjwvcD4K
LTxoMj5HZXR0aW5nIGludm9sdmVkPC9oMj48aDI+R2V0dGluZyBpbnZvbHZlZDwvaDI+Ci08cCBp
ZD0iaWRlbnRpdHkiPlRoZXJlIGFyZSBtYW55IHdheXMgdG8gZ2V0IGludm9sdmVkLiBZb3UgY2Fu
OjwvcD4KLTx1bD4KLSAgIDxsaT48L2xpPgotPC91bD4KLTx1bD4KLSAgIDxsaT48L2xpPgotPC91
bD4KLTwvZGl2PgotPT09PT09PT09PT44PT09PT09PT09PQotCi1CcmluZ2luZyB0aGluZ3MgYmFj
awotCi1XcmFwcGVyIGlkZW50aXR5OiBpZGVudGl0eQotRXZlbnQgTm9kZVJlbW92ZWQ6IEgyCi09
PT09PT09PT09ODw9PT09PT09PT09Ci08ZGl2IGlkPSJjb250YWluZXIiIHN0eWxlPSJkaXNwbGF5
Om5vbmUiPgotPHA+V2ViS2l0IGlzIHVzZWQgYnkgPGEgaHJlZj0iaHR0cDovL3d3dy5hcHBsZS5j
b20vc2FmYXJpLyI+U2FmYXJpPC9hPiwgRGFzaGJvYXJkLCBldGMuLjwvcD4KLTxoMj5HZXR0aW5n
IGludm9sdmVkPC9oMj4KLTxwIGlkPSJpZGVudGl0eSI+VGhlcmUgYXJlIG1hbnkgd2F5cyB0byBn
ZXQgaW52b2x2ZWQuIFlvdSBjYW46PC9wPgotPHVsPgotICAgPGxpPjwvbGk+Ci08L3VsPgotPHVs
PgotICAgPGxpPjwvbGk+Ci08L3VsPgotPC9kaXY+Ci09PT09PT09PT09Pjg9PT09PT09PT09Ci0K
LQotCi0KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzL3VuZG8t
c2V0LW91dGVyLWh0bWwtMi5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzL3Vu
ZG8tc2V0LW91dGVyLWh0bWwtMi5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBh
MTdiYTk5NTFiZTljNGNmODIwZGI4ZGEzZmZmNTA5NGM4YzdjYTA4Li4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9lbGVt
ZW50cy91bmRvLXNldC1vdXRlci1odG1sLTIuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDc3ICsw
LDAgQEAKLTxodG1sPgotPGhlYWQ+Ci0KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2lu
c3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4v
aHR0cC90ZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0ic2V0LW91dGVyLWh0bWwtdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotCi1mdW5j
dGlvbiBvbmxvYWQoKQotewotICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpZGVudGl0eSIp
LndyYXBwZXJJZGVudGl0eSA9ICJpZGVudGl0eSI7Ci0gICAgcnVuVGVzdCgpOwotfQotCi1mdW5j
dGlvbiB0ZXN0KCkKLXsKLSAgICBJbnNwZWN0b3JUZXN0LnJ1blRlc3RTdWl0ZShbCi0gICAgICAg
IGZ1bmN0aW9uIHRlc3RTZXRVcChuZXh0KQotICAgICAgICB7Ci0gICAgICAgICAgICBJbnNwZWN0
b3JUZXN0LnNldFVwVGVzdFN1aXRlKG5leHQpOwotICAgICAgICB9LAotCi0gICAgICAgIGZ1bmN0
aW9uIHRlc3RDaGFuZ2VNdWx0aXBsZVRoaW5ncyhuZXh0KQotICAgICAgICB7Ci0gICAgICAgICAg
ICB2YXIgdGV4dCA9IEluc3BlY3RvclRlc3QuY29udGFpbmVyVGV4dC5yZXBsYWNlKC88bGk+Lio8
XC9saT4vLCAiIik7Ci0gICAgICAgICAgICB0ZXh0ID0gdGV4dC5yZXBsYWNlKCI8aDI+IiwgIjxo
MiBmb289XCJiYXJcIiBiYXI9XCJiYXpcIj4iKTsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3Qu
c2V0T3V0ZXJIVE1MVXNlVW5kbyh0ZXh0LCBuZXh0KTsKLSAgICAgICAgfSwKLQotICAgICAgICBm
dW5jdGlvbiB0ZXN0Q2hhbmdlTmVzdGluZ0xldmVsKG5leHQpCi0gICAgICAgIHsKLSAgICAgICAg
ICAgIHZhciB0ZXh0ID0gSW5zcGVjdG9yVGVzdC5jb250YWluZXJUZXh0LnJlcGxhY2UoIjx1bD4i
LCAiPGRpdj48dWw+Iik7Ci0gICAgICAgICAgICB2YXIgdGV4dCA9IHRleHQucmVwbGFjZSgiPC91
bD4iLCAiPC91bD48L2Rpdj4iKTsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3Quc2V0T3V0ZXJI
VE1MVXNlVW5kbyh0ZXh0LCBuZXh0KTsKLSAgICAgICAgfSwKLQotICAgICAgICBmdW5jdGlvbiB0
ZXN0U3dhcE5vZGVzKG5leHQpCi0gICAgICAgIHsKLSAgICAgICAgICAgIHZhciB0ZXh0ID0gSW5z
cGVjdG9yVGVzdC5jb250YWluZXJUZXh0LnJlcGxhY2UoIjxoMj5HZXR0aW5nIGludm9sdmVkPC9o
Mj4iLCAiIik7Ci0gICAgICAgICAgICB2YXIgdGV4dCA9IHRleHQucmVwbGFjZSgiPC9kaXY+Iiwg
IjxoMj5HZXR0aW5nIGludm9sdmVkPC9oMj48L2Rpdj4iKTsKLSAgICAgICAgICAgIEluc3BlY3Rv
clRlc3Quc2V0T3V0ZXJIVE1MVXNlVW5kbyh0ZXh0LCBuZXh0KTsKLSAgICAgICAgfSwKLQotICAg
ICAgICBmdW5jdGlvbiB0ZXN0RWRpdFR3b1Jvb3RzKG5leHQpCi0gICAgICAgIHsKLSAgICAgICAg
ICAgIHZhciB0ZXh0ID0gSW5zcGVjdG9yVGVzdC5jb250YWluZXJUZXh0ICsgIjxkaXY+QWRkaXRp
b25hbCBub2RlPC9kaXY+IjsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3Quc2V0T3V0ZXJIVE1M
VXNlVW5kbyh0ZXh0LCBuZXh0KTsKLSAgICAgICAgfSwKLQotICAgICAgICBmdW5jdGlvbiB0ZXN0
RHVwZU5vZGUobmV4dCkKLSAgICAgICAgewotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5wYXRj
aE91dGVySFRNTCgiPGgyPkdldHRpbmcgaW52b2x2ZWQ8L2gyPiIsICI8aDI+R2V0dGluZyBpbnZv
bHZlZDwvaDI+PGgyPkdldHRpbmcgaW52b2x2ZWQ8L2gyPiIsIG5leHQpOwotICAgICAgICB9Ci0g
ICAgXSk7Ci19Ci08L3NjcmlwdD4KLTwvaGVhZD4KLQotPGJvZHkgb25sb2FkPSJvbmxvYWQoKSI+
Ci08cD4KLVRlc3RzIHVuZG8gZm9yIHRoZSBET01BZ2VudC5zZXRPdXRlckhUTUwgcHJvdG9jb2wg
bWV0aG9kIChwYXJ0IDIpLgotPC9wPgotCi08ZGl2IGlkPSJjb250YWluZXIiIHN0eWxlPSJkaXNw
bGF5Om5vbmUiPgotPHA+V2ViS2l0IGlzIHVzZWQgYnkgPGEgaHJlZj0iaHR0cDovL3d3dy5hcHBs
ZS5jb20vc2FmYXJpLyI+U2FmYXJpPC9hPiwgRGFzaGJvYXJkLCBldGMuLjwvcD4KLTxoMj5HZXR0
aW5nIGludm9sdmVkPC9oMj4KLTxwIGlkPSJpZGVudGl0eSI+VGhlcmUgYXJlIG1hbnkgd2F5cyB0
byBnZXQgaW52b2x2ZWQuIFlvdSBjYW46PC9wPgotPHVsPgotICAgPGxpPjwvbGk+Ci08L3VsPgot
PHVsPgotICAgPGxpPjwvbGk+Ci08L3VsPgotPC9kaXY+Ci0KLTwvYm9keT4KLTwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9lbGVtZW50cy91bmRvLXNldC1vdXRlci1o
dG1sLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9lbGVtZW50cy91bmRvLXNl
dC1vdXRlci1odG1sLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
YzlmNjBmOWU1MDM2MDQwMjNlNDY4ZGU1ZjIxMDViNzcwYjZiZmE3NS4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZWxl
bWVudHMvdW5kby1zZXQtb3V0ZXItaHRtbC1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAt
MSwxNjAgKzAsMCBAQAotVGVzdHMgdW5kbyBmb3IgdGhlIERPTUFnZW50LnNldE91dGVySFRNTCBw
cm90b2NvbCBtZXRob2QuCi0KLQotUnVubmluZzogdGVzdFNldFVwCi0KLVJ1bm5pbmc6IHRlc3RD
aGFuZ2VDaGFyYWN0ZXJEYXRhCi1SZXBsYWNpbmcgJ0dldHRpbmcgaW52b2x2ZWQnIHdpdGggJ0dl
dHRpbmcgbm90IGludm9sdmVkJwotCi1XcmFwcGVyIGlkZW50aXR5OiBpZGVudGl0eQotRXZlbnQg
Q2hhcmFjdGVyRGF0YU1vZGlmaWVkOiAKLT09PT09PT09PT04PD09PT09PT09PT0KLTxkaXYgaWQ9
ImNvbnRhaW5lciIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+Ci08cD5XZWJLaXQgaXMgdXNlZCBieSA8
YSBocmVmPSJodHRwOi8vd3d3LmFwcGxlLmNvbS9zYWZhcmkvIj5TYWZhcmk8L2E+LCBEYXNoYm9h
cmQsIGV0Yy4uPC9wPgotPGgyPkdldHRpbmcgbm90IGludm9sdmVkPC9oMj4KLTxwIGlkPSJpZGVu
dGl0eSI+VGhlcmUgYXJlIG1hbnkgd2F5cyB0byBnZXQgaW52b2x2ZWQuIFlvdSBjYW46PC9wPgot
PC9kaXY+Ci09PT09PT09PT09Pjg9PT09PT09PT09Ci0KLUJyaW5naW5nIHRoaW5ncyBiYWNrCi0K
LVdyYXBwZXIgaWRlbnRpdHk6IGlkZW50aXR5Ci1FdmVudCBDaGFyYWN0ZXJEYXRhTW9kaWZpZWQ6
IAotPT09PT09PT09PTg8PT09PT09PT09PQotPGRpdiBpZD0iY29udGFpbmVyIiBzdHlsZT0iZGlz
cGxheTpub25lIj4KLTxwPldlYktpdCBpcyB1c2VkIGJ5IDxhIGhyZWY9Imh0dHA6Ly93d3cuYXBw
bGUuY29tL3NhZmFyaS8iPlNhZmFyaTwvYT4sIERhc2hib2FyZCwgZXRjLi48L3A+Ci08aDI+R2V0
dGluZyBpbnZvbHZlZDwvaDI+Ci08cCBpZD0iaWRlbnRpdHkiPlRoZXJlIGFyZSBtYW55IHdheXMg
dG8gZ2V0IGludm9sdmVkLiBZb3UgY2FuOjwvcD4KLTwvZGl2PgotPT09PT09PT09PT44PT09PT09
PT09PQotCi0KLQotCi0KLVJ1bm5pbmc6IHRlc3RDaGFuZ2VBdHRyaWJ1dGVzCi1SZXBsYWNpbmcg
JzxhIGhyZWYnIHdpdGggJzxhIGZvbz0iYmFyIiBocmVmJwotCi1XcmFwcGVyIGlkZW50aXR5OiBp
ZGVudGl0eQotRXZlbnQgQXR0ck1vZGlmaWVkOiBBCi1FdmVudCBBdHRyTW9kaWZpZWQ6IEEKLUV2
ZW50IEF0dHJSZW1vdmVkOiBBCi09PT09PT09PT09ODw9PT09PT09PT09Ci08ZGl2IGlkPSJjb250
YWluZXIiIHN0eWxlPSJkaXNwbGF5Om5vbmUiPgotPHA+V2ViS2l0IGlzIHVzZWQgYnkgPGEgZm9v
PSJiYXIiIGhyZWY9Imh0dHA6Ly93d3cuYXBwbGUuY29tL3NhZmFyaS8iPlNhZmFyaTwvYT4sIERh
c2hib2FyZCwgZXRjLi48L3A+Ci08aDI+R2V0dGluZyBpbnZvbHZlZDwvaDI+Ci08cCBpZD0iaWRl
bnRpdHkiPlRoZXJlIGFyZSBtYW55IHdheXMgdG8gZ2V0IGludm9sdmVkLiBZb3UgY2FuOjwvcD4K
LTwvZGl2PgotPT09PT09PT09PT44PT09PT09PT09PQotCi1CcmluZ2luZyB0aGluZ3MgYmFjawot
Ci1XcmFwcGVyIGlkZW50aXR5OiBpZGVudGl0eQotRXZlbnQgQXR0ck1vZGlmaWVkOiBBCi1FdmVu
dCBBdHRyUmVtb3ZlZDogQQotRXZlbnQgQXR0clJlbW92ZWQ6IEEKLT09PT09PT09PT04PD09PT09
PT09PT0KLTxkaXYgaWQ9ImNvbnRhaW5lciIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+Ci08cD5XZWJL
aXQgaXMgdXNlZCBieSA8YSBocmVmPSJodHRwOi8vd3d3LmFwcGxlLmNvbS9zYWZhcmkvIj5TYWZh
cmk8L2E+LCBEYXNoYm9hcmQsIGV0Yy4uPC9wPgotPGgyPkdldHRpbmcgaW52b2x2ZWQ8L2gyPgot
PHAgaWQ9ImlkZW50aXR5Ij5UaGVyZSBhcmUgbWFueSB3YXlzIHRvIGdldCBpbnZvbHZlZC4gWW91
IGNhbjo8L3A+Ci08L2Rpdj4KLT09PT09PT09PT0+OD09PT09PT09PT0KLQotCi0KLQotCi1SdW5u
aW5nOiB0ZXN0UmVtb3ZlTGFzdENoaWxkCi1SZXBsYWNpbmcgJ0dldHRpbmcgaW52b2x2ZWQnIHdp
dGggJycKLQotV3JhcHBlciBpZGVudGl0eTogaWRlbnRpdHkKLUV2ZW50IE5vZGVSZW1vdmVkOiAK
LT09PT09PT09PT04PD09PT09PT09PT0KLTxkaXYgaWQ9ImNvbnRhaW5lciIgc3R5bGU9ImRpc3Bs
YXk6bm9uZSI+Ci08cD5XZWJLaXQgaXMgdXNlZCBieSA8YSBocmVmPSJodHRwOi8vd3d3LmFwcGxl
LmNvbS9zYWZhcmkvIj5TYWZhcmk8L2E+LCBEYXNoYm9hcmQsIGV0Yy4uPC9wPgotPGgyPjwvaDI+
Ci08cCBpZD0iaWRlbnRpdHkiPlRoZXJlIGFyZSBtYW55IHdheXMgdG8gZ2V0IGludm9sdmVkLiBZ
b3UgY2FuOjwvcD4KLTwvZGl2PgotPT09PT09PT09PT44PT09PT09PT09PQotCi1CcmluZ2luZyB0
aGluZ3MgYmFjawotCi1XcmFwcGVyIGlkZW50aXR5OiBpZGVudGl0eQotRXZlbnQgTm9kZUluc2Vy
dGVkOiAKLT09PT09PT09PT04PD09PT09PT09PT0KLTxkaXYgaWQ9ImNvbnRhaW5lciIgc3R5bGU9
ImRpc3BsYXk6bm9uZSI+Ci08cD5XZWJLaXQgaXMgdXNlZCBieSA8YSBocmVmPSJodHRwOi8vd3d3
LmFwcGxlLmNvbS9zYWZhcmkvIj5TYWZhcmk8L2E+LCBEYXNoYm9hcmQsIGV0Yy4uPC9wPgotPGgy
PkdldHRpbmcgaW52b2x2ZWQ8L2gyPgotPHAgaWQ9ImlkZW50aXR5Ij5UaGVyZSBhcmUgbWFueSB3
YXlzIHRvIGdldCBpbnZvbHZlZC4gWW91IGNhbjo8L3A+Ci08L2Rpdj4KLT09PT09PT09PT0+OD09
PT09PT09PT0KLQotCi0KLQotCi1SdW5uaW5nOiB0ZXN0U3BsaXROb2RlCi1SZXBsYWNpbmcgJ0dl
dHRpbmcgaW52b2x2ZWQnIHdpdGggJ0dldHRpbmc8L2gyPjxoMj5pbnZvbHZlZCcKLQotV3JhcHBl
ciBpZGVudGl0eTogaWRlbnRpdHkKLUV2ZW50IE5vZGVJbnNlcnRlZDogSDIKLUV2ZW50IE5vZGVJ
bnNlcnRlZDogSDIKLUV2ZW50IE5vZGVSZW1vdmVkOiBIMgotPT09PT09PT09PTg8PT09PT09PT09
PQotPGRpdiBpZD0iY29udGFpbmVyIiBzdHlsZT0iZGlzcGxheTpub25lIj4KLTxwPldlYktpdCBp
cyB1c2VkIGJ5IDxhIGhyZWY9Imh0dHA6Ly93d3cuYXBwbGUuY29tL3NhZmFyaS8iPlNhZmFyaTwv
YT4sIERhc2hib2FyZCwgZXRjLi48L3A+Ci08aDI+R2V0dGluZzwvaDI+PGgyPmludm9sdmVkPC9o
Mj4KLTxwIGlkPSJpZGVudGl0eSI+VGhlcmUgYXJlIG1hbnkgd2F5cyB0byBnZXQgaW52b2x2ZWQu
IFlvdSBjYW46PC9wPgotPC9kaXY+Ci09PT09PT09PT09Pjg9PT09PT09PT09Ci0KLUJyaW5naW5n
IHRoaW5ncyBiYWNrCi0KLVdyYXBwZXIgaWRlbnRpdHk6IGlkZW50aXR5Ci1FdmVudCBOb2RlSW5z
ZXJ0ZWQ6IEgyCi1FdmVudCBOb2RlUmVtb3ZlZDogSDIKLUV2ZW50IE5vZGVSZW1vdmVkOiBIMgot
PT09PT09PT09PTg8PT09PT09PT09PQotPGRpdiBpZD0iY29udGFpbmVyIiBzdHlsZT0iZGlzcGxh
eTpub25lIj4KLTxwPldlYktpdCBpcyB1c2VkIGJ5IDxhIGhyZWY9Imh0dHA6Ly93d3cuYXBwbGUu
Y29tL3NhZmFyaS8iPlNhZmFyaTwvYT4sIERhc2hib2FyZCwgZXRjLi48L3A+Ci08aDI+R2V0dGlu
ZyBpbnZvbHZlZDwvaDI+Ci08cCBpZD0iaWRlbnRpdHkiPlRoZXJlIGFyZSBtYW55IHdheXMgdG8g
Z2V0IGludm9sdmVkLiBZb3UgY2FuOjwvcD4KLTwvZGl2PgotPT09PT09PT09PT44PT09PT09PT09
PQotCi0KLQotCi0KLVJ1bm5pbmc6IHRlc3RDaGFuZ2VOb2RlTmFtZQotUmVwbGFjaW5nICc8aDI+
R2V0dGluZyBpbnZvbHZlZDwvaDI+JyB3aXRoICc8aDM+R2V0dGluZyBpbnZvbHZlZDwvaDM+Jwot
Ci1XcmFwcGVyIGlkZW50aXR5OiBpZGVudGl0eQotRXZlbnQgTm9kZUluc2VydGVkOiBIMwotRXZl
bnQgTm9kZVJlbW92ZWQ6IEgyCi09PT09PT09PT09ODw9PT09PT09PT09Ci08ZGl2IGlkPSJjb250
YWluZXIiIHN0eWxlPSJkaXNwbGF5Om5vbmUiPgotPHA+V2ViS2l0IGlzIHVzZWQgYnkgPGEgaHJl
Zj0iaHR0cDovL3d3dy5hcHBsZS5jb20vc2FmYXJpLyI+U2FmYXJpPC9hPiwgRGFzaGJvYXJkLCBl
dGMuLjwvcD4KLTxoMz5HZXR0aW5nIGludm9sdmVkPC9oMz4KLTxwIGlkPSJpZGVudGl0eSI+VGhl
cmUgYXJlIG1hbnkgd2F5cyB0byBnZXQgaW52b2x2ZWQuIFlvdSBjYW46PC9wPgotPC9kaXY+Ci09
PT09PT09PT09Pjg9PT09PT09PT09Ci0KLUJyaW5naW5nIHRoaW5ncyBiYWNrCi0KLVdyYXBwZXIg
aWRlbnRpdHk6IGlkZW50aXR5Ci1FdmVudCBOb2RlSW5zZXJ0ZWQ6IEgyCi1FdmVudCBOb2RlUmVt
b3ZlZDogSDMKLT09PT09PT09PT04PD09PT09PT09PT0KLTxkaXYgaWQ9ImNvbnRhaW5lciIgc3R5
bGU9ImRpc3BsYXk6bm9uZSI+Ci08cD5XZWJLaXQgaXMgdXNlZCBieSA8YSBocmVmPSJodHRwOi8v
d3d3LmFwcGxlLmNvbS9zYWZhcmkvIj5TYWZhcmk8L2E+LCBEYXNoYm9hcmQsIGV0Yy4uPC9wPgot
PGgyPkdldHRpbmcgaW52b2x2ZWQ8L2gyPgotPHAgaWQ9ImlkZW50aXR5Ij5UaGVyZSBhcmUgbWFu
eSB3YXlzIHRvIGdldCBpbnZvbHZlZC4gWW91IGNhbjo8L3A+Ci08L2Rpdj4KLT09PT09PT09PT0+
OD09PT09PT09PT0KLQotCi0KLQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Iv
ZWxlbWVudHMvdW5kby1zZXQtb3V0ZXItaHRtbC5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
L2VsZW1lbnRzL3VuZG8tc2V0LW91dGVyLWh0bWwuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMzBhNTJlNGE5M2Y2NTgwZmQ5MjFjY2JkZDczOGFmNzBjNzA5ODhkYS4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3IvZWxlbWVudHMvdW5kby1zZXQtb3V0ZXItaHRtbC5odG1sCisrKyAvZGV2L251bGwKQEAg
LTEsNjQgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLQotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAv
dGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9lbGVtZW50cy10ZXN0LmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSJzZXQtb3V0ZXItaHRtbC10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+
Ci0KLWZ1bmN0aW9uIG9ubG9hZCgpCi17Ci0gICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlk
ZW50aXR5Iikud3JhcHBlcklkZW50aXR5ID0gImlkZW50aXR5IjsKLSAgICBydW5UZXN0KCk7Ci19
Ci0KLWZ1bmN0aW9uIHRlc3QoKQotewotICAgIEluc3BlY3RvclRlc3QucnVuVGVzdFN1aXRlKFsK
LSAgICAgICAgZnVuY3Rpb24gdGVzdFNldFVwKG5leHQpCi0gICAgICAgIHsKLSAgICAgICAgICAg
IEluc3BlY3RvclRlc3Quc2V0VXBUZXN0U3VpdGUobmV4dCk7Ci0gICAgICAgIH0sCi0KLSAgICAg
ICAgZnVuY3Rpb24gdGVzdENoYW5nZUNoYXJhY3RlckRhdGEobmV4dCkKLSAgICAgICAgewotICAg
ICAgICAgICAgSW5zcGVjdG9yVGVzdC5wYXRjaE91dGVySFRNTFVzZVVuZG8oIkdldHRpbmcgaW52
b2x2ZWQiLCAiR2V0dGluZyBub3QgaW52b2x2ZWQiLCBuZXh0KTsKLSAgICAgICAgfSwKLQotICAg
ICAgICBmdW5jdGlvbiB0ZXN0Q2hhbmdlQXR0cmlidXRlcyhuZXh0KQotICAgICAgICB7Ci0gICAg
ICAgICAgICBJbnNwZWN0b3JUZXN0LnBhdGNoT3V0ZXJIVE1MVXNlVW5kbygiPGEgaHJlZiIsICI8
YSBmb289XCJiYXJcIiBocmVmIiwgbmV4dCk7Ci0gICAgICAgIH0sCi0KLSAgICAgICAgZnVuY3Rp
b24gdGVzdFJlbW92ZUxhc3RDaGlsZChuZXh0KQotICAgICAgICB7Ci0gICAgICAgICAgICBJbnNw
ZWN0b3JUZXN0LnBhdGNoT3V0ZXJIVE1MVXNlVW5kbygiR2V0dGluZyBpbnZvbHZlZCIsICIiLCBu
ZXh0KTsKLSAgICAgICAgfSwKLQotICAgICAgICBmdW5jdGlvbiB0ZXN0U3BsaXROb2RlKG5leHQp
Ci0gICAgICAgIHsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QucGF0Y2hPdXRlckhUTUxVc2VV
bmRvKCJHZXR0aW5nIGludm9sdmVkIiwgIkdldHRpbmc8L2gyPjxoMj5pbnZvbHZlZCIsIG5leHQp
OwotICAgICAgICB9LAotCi0gICAgICAgIGZ1bmN0aW9uIHRlc3RDaGFuZ2VOb2RlTmFtZShuZXh0
KQotICAgICAgICB7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LnBhdGNoT3V0ZXJIVE1MVXNl
VW5kbygiPGgyPkdldHRpbmcgaW52b2x2ZWQ8L2gyPiIsICI8aDM+R2V0dGluZyBpbnZvbHZlZDwv
aDM+IiwgbmV4dCk7Ci0gICAgICAgIH0KLSAgICBdKTsKLX0KLTwvc2NyaXB0PgotPC9oZWFkPgot
Ci08Ym9keSBvbmxvYWQ9Im9ubG9hZCgpIj4KLTxwPgotVGVzdHMgdW5kbyBmb3IgdGhlIERPTUFn
ZW50LnNldE91dGVySFRNTCBwcm90b2NvbCBtZXRob2QuCi08L3A+Ci0KLTxkaXYgaWQ9ImNvbnRh
aW5lciIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+Ci08cD5XZWJLaXQgaXMgdXNlZCBieSA8YSBocmVm
PSJodHRwOi8vd3d3LmFwcGxlLmNvbS9zYWZhcmkvIj5TYWZhcmk8L2E+LCBEYXNoYm9hcmQsIGV0
Yy48L2E+LjwvcD4KLTxoMj5HZXR0aW5nIGludm9sdmVkPC9oMj4KLTxwIGlkPSJpZGVudGl0eSI+
VGhlcmUgYXJlIG1hbnkgd2F5cyB0byBnZXQgaW52b2x2ZWQuIFlvdSBjYW46PC9wPgotPC9kaXY+
Ci0KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9p
bnNwZWN0ZWQtb2JqZWN0cy1ub3Qtb3ZlcnJpZGVuLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2luc3BlY3Rvci9pbnNwZWN0ZWQtb2JqZWN0cy1ub3Qtb3ZlcnJpZGVuLWV4cGVjdGVkLnR4dApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggY2FjZWRjYzEwMDI5ZGUzMTY3MzliZDVlNTg5
Mjg4MTYzYmE3MmFmMC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvaW5zcGVjdGVkLW9iamVjdHMtbm90LW92ZXJyaWRl
bi1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxMCArMCwwIEBACi1UZXN0cyB0aGF0
IG9wZW5pbmcgaW5zcGVjdG9yIGZyb250LWVuZCBkb2Vzbid0IGNoYW5nZSBtZXRob2RzIGRlZmlu
ZWQgYnkgdGhlIGluc3BlY3RlZCBhcHBsaWNhdGlvbi4KLQotbXlJbXBsKCkgPT4gbXkgdmFsdWUK
LU9iamVjdC50eXBlID09PSBteUltcGwgPT4gdHJ1ZQotT2JqZWN0Lmhhc1Byb3BlcnRpZXMgPT09
IG15SW1wbCA9PiB0cnVlCi1PYmplY3QuZGVzY3JpYmUgPT09IG15SW1wbCA9PiB0cnVlCi1PYmpl
Y3QuY2xhc3NOYW1lID09PSBteUltcGwgPT4gdHJ1ZQotU3RyaW5nLnByb3RvdHlwZS5lc2NhcGVD
aGFyYWN0ZXJzID09PSBteUltcGwgPT4gdHJ1ZQotSlNPTi5zdHJpbmdpZnkgPT09IG15SW1wbCA9
PiB0cnVlCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9pbnNwZWN0ZWQtb2Jq
ZWN0cy1ub3Qtb3ZlcnJpZGVuLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvaW5zcGVjdGVk
LW9iamVjdHMtbm90LW92ZXJyaWRlbi5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCBhNjZkNzZhNjdmZmE0ZmQ2NTI1NTcyMDlmMTI5MzRlNmNlYjQyMDgxLi4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9p
bnNwZWN0ZWQtb2JqZWN0cy1ub3Qtb3ZlcnJpZGVuLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw1
NyArMCwwIEBACi08IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL1czQy8vRFREIEhUTUwgNC4wMSBU
cmFuc2l0aW9uYWwvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIvaHRtbDQvbG9vc2UuZHRkIj4K
LTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5z
cGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLQotZnVuY3Rpb24gbXlJbXBsKCkg
ewotICByZXR1cm4gIm15IHZhbHVlIjsKLX0KLQotLy8gUHJvdmlkZSBzb21lIGN1c3RvbSBtZXRo
b2RzLgotT2JqZWN0LnR5cGUgPSBteUltcGw7Ci1PYmplY3QuaGFzUHJvcGVydGllcyA9IG15SW1w
bDsKLU9iamVjdC5kZXNjcmliZSA9IG15SW1wbDsKLU9iamVjdC5jbGFzc05hbWUgPSBteUltcGw7
Ci1TdHJpbmcucHJvdG90eXBlLmVzY2FwZUNoYXJhY3RlcnMgPSBteUltcGw7Ci1KU09OLnN0cmlu
Z2lmeSA9IG15SW1wbDsKLQotZnVuY3Rpb24gb3V0cHV0KHRleHQpCi17Ci0gICAgdmFyIG91dHB1
dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJvdXRwdXQiKTsKLSAgICBvdXRwdXQuYXBwZW5k
Q2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUodGV4dCkpOwotICAgIG91dHB1dC5hcHBlbmRD
aGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJiciIpKTsKLX0KLQotZnVuY3Rpb24gZHVtcFZh
bHVlcygpCi17Ci0gICAgLy8gQ2hlY2sgdGhhdCB0aGUgbWV0aG9kcyBoYXZlbid0IGNoYW5nZWQu
Ci0gICAgb3V0cHV0KCJteUltcGwoKSA9PiAiICsgbXlJbXBsKCkpOwotICAgIG91dHB1dCgiT2Jq
ZWN0LnR5cGUgPT09IG15SW1wbCA9PiAiICsgKE9iamVjdC50eXBlID09PSBteUltcGwpKTsKLSAg
ICBvdXRwdXQoIk9iamVjdC5oYXNQcm9wZXJ0aWVzID09PSBteUltcGwgPT4gIiArIChPYmplY3Qu
aGFzUHJvcGVydGllcyA9PT0gbXlJbXBsKSk7Ci0gICAgb3V0cHV0KCJPYmplY3QuZGVzY3JpYmUg
PT09IG15SW1wbCA9PiAiICsgKE9iamVjdC5kZXNjcmliZSA9PT0gbXlJbXBsKSk7Ci0gICAgb3V0
cHV0KCJPYmplY3QuY2xhc3NOYW1lID09PSBteUltcGwgPT4gIiArIChPYmplY3QuY2xhc3NOYW1l
ID09PSBteUltcGwpKTsKLSAgICBvdXRwdXQoIlN0cmluZy5wcm90b3R5cGUuZXNjYXBlQ2hhcmFj
dGVycyA9PT0gbXlJbXBsID0+ICIgKyAoU3RyaW5nLnByb3RvdHlwZS5lc2NhcGVDaGFyYWN0ZXJz
ID09PSBteUltcGwpKTsKLSAgICBvdXRwdXQoIkpTT04uc3RyaW5naWZ5ID09PSBteUltcGwgPT4g
IiArIChKU09OLnN0cmluZ2lmeSA9PT0gbXlJbXBsKSk7Ci19Ci0KLWZ1bmN0aW9uIHRlc3QoKQot
ewotICAgIGZ1bmN0aW9uIGNhbGxiYWNrKCkKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3Qu
Y29tcGxldGVUZXN0KCk7Ci0gICAgfQotICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2Uo
ImR1bXBWYWx1ZXMoKSIsIGNhbGxiYWNrKTsKLX0KLTwvc2NyaXB0PgotPC9oZWFkPgotCi08Ym9k
eSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci08cD4KLVRlc3RzIHRoYXQgb3BlbmluZyBpbnNwZWN0b3Ig
ZnJvbnQtZW5kIGRvZXNuJ3QgY2hhbmdlIG1ldGhvZHMgZGVmaW5lZCBieSB0aGUgaW5zcGVjdGVk
IGFwcGxpY2F0aW9uLgotPC9wPgotCi08ZGl2IGlkPSJvdXRwdXQiPjwvZGl2PgotCi08L2JvZHk+
Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvbG9hZC1yZXNvdXJj
ZS1zeW5jaHJvbm91c2x5LXV0ZjgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
L2xvYWQtcmVzb3VyY2Utc3luY2hyb25vdXNseS11dGY4LWV4cGVjdGVkLnR4dApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggZDU3Y2FjZGZhODg3Y2M1NzhhYmE5N2Y0MmU3ZDUxMzhjODVi
YzI2Ni4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9pbnNwZWN0b3IvbG9hZC1yZXNvdXJjZS1zeW5jaHJvbm91c2x5LXV0ZjgtZXhwZWN0
ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNSArMCwwIEBACi1UZXN0cyB0aGF0IEluc3BlY3Rv
ckZyb250ZW5kSG9zdC5sb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KCkgY29ycmVjdGx5IGxvYWRz
IG5vbi1BU0NJSSByZXNvdXJjZXMuCi0KLSdBU0NJSSAtIFRlc3QnICgxMikKLSdVVEY4IC0g0KLQ
tdGB0YInICgxMSkKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2xvYWQtcmVz
b3VyY2Utc3luY2hyb25vdXNseS11dGY4Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvbG9h
ZC1yZXNvdXJjZS1zeW5jaHJvbm91c2x5LXV0ZjguaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggOTk3MTY3ODRmYjk1MWVhM2I2YTc1MjNlYTBhOGM0MThmM2M1Mzc4NC4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3IvbG9hZC1yZXNvdXJjZS1zeW5jaHJvbm91c2x5LXV0ZjguaHRtbAorKysgL2Rldi9udWxs
CkBAIC0xLDE4ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vaHR0cC90
ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLWZ1
bmN0aW9uIHRlc3QoKQotewotICAgIHZhciBhc2NpaVRleHQgPSBJbnNwZWN0b3JGcm9udGVuZEhv
c3QubG9hZFJlc291cmNlU3luY2hyb25vdXNseSgiZGF0YTp0ZXh0L3BsYWluOyxBU0NJSSAtIFRl
c3QiKTsKLSAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiJyIgKyBhc2NpaVRleHQgKyAiJyAo
IiArIGFzY2lpVGV4dC5sZW5ndGggKyAiKSIpOwotICAgIHZhciB1dGY4VGV4dCA9IEluc3BlY3Rv
ckZyb250ZW5kSG9zdC5sb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KCJkYXRhOnRleHQvcGxhaW47
LCIgKyBlbmNvZGVVUklDb21wb25lbnQoIlVURjggLSBcdTA0MjJcdTA0MzVcdTA0NDFcdTA0NDIi
KSk7Ci0gICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIiciICsgdXRmOFRleHQgKyAiJyAoIiAr
IHV0ZjhUZXh0Lmxlbmd0aCArICIpIik7Ci0gICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3Qo
KTsKLX0KLTwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotPHA+
VGVzdHMgdGhhdCBJbnNwZWN0b3JGcm9udGVuZEhvc3QubG9hZFJlc291cmNlU3luY2hyb25vdXNs
eSgpIGNvcnJlY3RseSBsb2FkcyBub24tQVNDSUkgcmVzb3VyY2VzLjwvcD4KLTwvYm9keT4KLTwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9wcm9maWxlci9jcHUtcHJv
ZmlsZXItYWdlbnQtY3Jhc2gtb24tc3RhcnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yL3Byb2ZpbGVyL2NwdS1wcm9maWxlci1hZ2VudC1jcmFzaC1vbi1zdGFydC1leHBlY3Rl
ZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDRmNzA1MDVmMDczNDU1OTFkNWJj
M2E1Yzk4MTE4NDA5NGJiNmY4MTAuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3Byb2ZpbGVyL2NwdS1wcm9maWxlci1h
Z2VudC1jcmFzaC1vbi1zdGFydC1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw2ICsw
LDAgQEAKLVRlc3QgdGhhdCBQcm9maWxlckFnZW50IHN0YXJ0L3N0b3AgZG9lc24ndCBjcmFzaC4K
LQotUHJvZmlsZXJBZ2VudCBzdGFydGVkLgotUHJvZmlsZXJBZ2VudCBzdG9wcGVkLgotUHJvZmls
ZXJBZ2VudCBjbGVhcmVkLgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvcHJv
ZmlsZXIvY3B1LXByb2ZpbGVyLWFnZW50LWNyYXNoLW9uLXN0YXJ0Lmh0bWwgYi9MYXlvdXRUZXN0
cy9pbnNwZWN0b3IvcHJvZmlsZXIvY3B1LXByb2ZpbGVyLWFnZW50LWNyYXNoLW9uLXN0YXJ0Lmh0
bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDBiMzYyZjkzODAxOTI0MjcwZGJkYzY3
OTVkYWRmMTcyMWIyMmI0MzguLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3Byb2ZpbGVyL2NwdS1wcm9maWxlci1hZ2Vu
dC1jcmFzaC1vbi1zdGFydC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMzkgKzAsMCBAQAotPGh0
bWw+Ci08aGVhZD4KLSAgPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2lu
c3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci0KLWZ1bmN0aW9uIHRlc3QoKQot
ewotICAgIFdlYkluc3BlY3Rvci5zaG93UGFuZWwoInByb2ZpbGVzIik7Ci0gICAgUHJvZmlsZXJB
Z2VudC5zdGFydChvblN0YXJ0KTsKLQotICAgIGZ1bmN0aW9uIG9uU3RhcnQoKQotICAgIHsKLSAg
ICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIlByb2ZpbGVyQWdlbnQgc3RhcnRlZC4iKTsK
LSAgICAgICAgUHJvZmlsZXJBZ2VudC5zdG9wKG9uU3RvcCk7Ci0gICAgfQotCi0gICAgZnVuY3Rp
b24gb25TdG9wKCkKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJQcm9m
aWxlckFnZW50IHN0b3BwZWQuIik7Ci0gICAgICAgIFByb2ZpbGVyQWdlbnQuY2xlYXJQcm9maWxl
cyhkb25lKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBkb25lKCkKLSAgICB7Ci0gICAgICAgIElu
c3BlY3RvclRlc3QuYWRkUmVzdWx0KCJQcm9maWxlckFnZW50IGNsZWFyZWQuIik7Ci0gICAgICAg
IEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7Ci0gICAgfQotfQotCi08L3NjcmlwdD4KLTwv
aGVhZD4KLQotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotPHA+Ci1UZXN0IHRoYXQgUHJvZmls
ZXJBZ2VudCBzdGFydC9zdG9wIGRvZXNuJ3QgY3Jhc2guCi08L3A+Ci0KLTwvYm9keT4KLTwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9wcm9maWxlci9jcHUtcHJvZmls
ZXItcGFyYW1ldGVybGVzcy1wcm9maWxlLWVuZC1jcmFzaC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3IvcHJvZmlsZXIvY3B1LXByb2ZpbGVyLXBhcmFtZXRlcmxlc3MtcHJvZmls
ZS1lbmQtY3Jhc2gtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAx
OTdkY2YwODQ1NzE4OGQ4YjZkNjFiMDZmOTJhZjU2NmIxOWRmNTFkLi4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9wcm9m
aWxlci9jcHUtcHJvZmlsZXItcGFyYW1ldGVybGVzcy1wcm9maWxlLWVuZC1jcmFzaC1leHBlY3Rl
ZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw2ICswLDAgQEAKLVRlc3RzIHRoYXQgImNvbnNvbGUu
cHJvZmlsZUVuZCgpIiBkbyBub3QgY2F1c2UgY3Jhc2guCi1CdWcgMTA1NzU5LgotCi1Qcm9maWxl
cyBjb3VudDogMgotVGl0bGVkIHByb2ZpbGUgZm91bmQuCi0KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2luc3BlY3Rvci9wcm9maWxlci9jcHUtcHJvZmlsZXItcGFyYW1ldGVybGVzcy1wcm9maWxl
LWVuZC1jcmFzaC5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3Byb2ZpbGVyL2NwdS1wcm9m
aWxlci1wYXJhbWV0ZXJsZXNzLXByb2ZpbGUtZW5kLWNyYXNoLmh0bWwKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDVkZTZhMWIyZmUxMGZkYWU4N2JjYjkyNDA5NzUyYWQ3YzlkN2Y4Y2Qu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yL3Byb2ZpbGVyL2NwdS1wcm9maWxlci1wYXJhbWV0ZXJsZXNzLXByb2ZpbGUt
ZW5kLWNyYXNoLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw0OSArMCwwIEBACi08aHRtbD4KLTxo
ZWFkPgotPHNjcmlwdD4KLQotaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgIHRlc3RSdW5uZXIu
ZHVtcEFzVGV4dCgpOwotaWYgKHdpbmRvdy5pbnRlcm5hbHMpCi0gICAgaW50ZXJuYWxzLnNldEph
dmFTY3JpcHRQcm9maWxpbmdFbmFibGVkKHRydWUpOwotCi1mdW5jdGlvbiBwYWdlRnVuY3Rpb24o
KQotewotICAgIGNvbnNvbGUucHJvZmlsZSgpOyAvLyBVbnRpdGxlZAotICAgIGNvbnNvbGUucHJv
ZmlsZSgidGl0bGVkIik7Ci0gICAgY29uc29sZS5wcm9maWxlRW5kKCk7Ci0gICAgY29uc29sZS5w
cm9maWxlRW5kKCk7Ci19Ci0KLWZ1bmN0aW9uIHN0YXJ0VGVzdCgpCi17Ci0gICAgcGFnZUZ1bmN0
aW9uKCk7Ci0gICAgcHJpbnRSZXN1bHQoKTsKLSAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0g
ICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotfQotCi1mdW5jdGlvbiBwcmludFJlc3Vs
dCgpCi17Ci0gICAgdmFyIHByZUVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJwcmUi
KTsKLSAgICBwcmVFbGVtZW50LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCJc
biIpKTsKLQotICAgIHZhciBwcm9maWxlcyA9IGNvbnNvbGUucHJvZmlsZXM7Ci0gICAgcHJlRWxl
bWVudC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgiUHJvZmlsZXMgY291bnQ6
ICIgKyBwcm9maWxlcy5sZW5ndGggKyAiXG4iKSk7Ci0gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBw
cm9maWxlcy5sZW5ndGg7ICsraSkgewotICAgICAgICBpZiAocHJvZmlsZXNbaV0udGl0bGUgPT09
ICJ0aXRsZWQiKQotICAgICAgICAgICAgcHJlRWxlbWVudC5hcHBlbmRDaGlsZChkb2N1bWVudC5j
cmVhdGVUZXh0Tm9kZSgiVGl0bGVkIHByb2ZpbGUgZm91bmQuXG4iKSk7Ci0gICAgfQotICAgIGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJvdXRwdXQiKS5hcHBlbmRDaGlsZChwcmVFbGVtZW50KTsK
LX0KLQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9InN0YXJ0VGVzdCgpIj4KLTxw
PgotVGVzdHMgdGhhdCAiY29uc29sZS5wcm9maWxlRW5kKCkiIGRvIG5vdCBjYXVzZSBjcmFzaC48
YnI+Ci08YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA1
NzU5Ij5CdWcgMTA1NzU5LjwvYT48YnI+Ci08ZGl2IGlkPSJvdXRwdXQiPjwvZGl2PgotPC9wPgot
PC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3Byb2Zp
bGVyL2NwdS1wcm9maWxlci1wcm9maWxlLXJlbW92YWwtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yL3Byb2ZpbGVyL2NwdS1wcm9maWxlci1wcm9maWxlLXJlbW92YWwtZXhwZWN0
ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3MzRmZTFjYzRjODVkNzhiMmI1
MjVhZjU5NjlhNzY3YWRlZWE5MzAzLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9wcm9maWxlci9jcHUtcHJvZmlsZXIt
cHJvZmlsZS1yZW1vdmFsLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDcgKzAsMCBA
QAotVGVzdHMgdGhhdCBDUFUgcHJvZmlsZSByZW1vdmFsIGZyb20gYSBncm91cCB3b3Jrcy4gQnVn
IDExMDQ2NgotCi1Qcm9maWxlciB3YXMgZW5hYmxlZC4KLVByb2ZpbGUgZ3JvdXBzIGFmdGVyIHJl
bW92YWw6Ci0KLVByb2ZpbGVyIHdhcyBkaXNhYmxlZC4KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yL3Byb2ZpbGVyL2NwdS1wcm9maWxlci1wcm9maWxlLXJlbW92YWwuaHRtbCBi
L0xheW91dFRlc3RzL2luc3BlY3Rvci9wcm9maWxlci9jcHUtcHJvZmlsZXItcHJvZmlsZS1yZW1v
dmFsLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDM5ZDQ0MDAzY2I1YzRjMzQ2
ZmEzYTdhOTAzYmE0ODIyNWZhYWM1MWMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3Byb2ZpbGVyL2NwdS1wcm9maWxl
ci1wcm9maWxlLXJlbW92YWwuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDQ2ICswLDAgQEAKLTxo
dG1sPgotPGhlYWQ+Ci0gIDxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9p
bnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci0gIDxzY3JpcHQgc3JjPSJwcm9maWxlci10ZXN0
LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci0KLWZ1bmN0aW9uIHBhZ2VGdW5jdGlvbigpIHsKLSAg
ICBjb25zb2xlLnByb2ZpbGUoInAxIik7Ci0gICAgY29uc29sZS5wcm9maWxlRW5kKCJwMSIpOwot
ICAgIGNvbnNvbGUucHJvZmlsZSgicDEiKTsKLSAgICBjb25zb2xlLnByb2ZpbGVFbmQoInAxIik7
Ci0gICAgY29uc29sZS5wcm9maWxlKCJwMiIpOwotICAgIGNvbnNvbGUucHJvZmlsZUVuZCgicDIi
KTsKLX0KLQotZnVuY3Rpb24gdGVzdCgpCi17Ci0gICAgSW5zcGVjdG9yVGVzdC5zdGFydFByb2Zp
bGVyVGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgZnVuY3Rpb24gdmlld0xvYWRlZCh2aWV3KSB7
Ci0gICAgICAgICAgICB2YXIgcHJvZmlsZXMgPSBXZWJJbnNwZWN0b3IucGFuZWxzLnByb2ZpbGVz
OwotICAgICAgICAgICAgdmFyIHR5cGUgPSBwcm9maWxlcy5nZXRQcm9maWxlVHlwZSgiQ1BVIik7
Ci0gICAgICAgICAgICB3aGlsZSAodHlwZS5nZXRQcm9maWxlcygpLmxlbmd0aCAhPT0gMCkKLSAg
ICAgICAgICAgICAgICBwcm9maWxlcy5fcmVtb3ZlUHJvZmlsZUhlYWRlcih0eXBlLmdldFByb2Zp
bGVzKClbMF0pOwotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIlByb2ZpbGUg
Z3JvdXBzIGFmdGVyIHJlbW92YWw6Iik7Ci0gICAgICAgICAgICBmb3IgKHZhciBrZXkgaW4gcHJv
ZmlsZXMuX3Byb2ZpbGVHcm91cHMpCi0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRS
ZXN1bHQoa2V5ICsgIjogIiArIHByb2ZpbGVzLl9wcm9maWxlR3JvdXBzW2tleV0ubGVuZ3RoKTsK
LSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0RXF1YWxzKDAsIHR5cGUudHJlZUVsZW1l
bnQuY2hpbGRyZW4ubGVuZ3RoLCAiQWxsIGNoaWxkcmVuIGhhcyBiZWVuIHJlbW92ZWQiKTsKLSAg
ICAgICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVQcm9maWxlclRlc3QoKTsKLSAgICAgICAg
fQotICAgICAgICBXZWJJbnNwZWN0b3Iuc2hvd1BhbmVsKCJwcm9maWxlcyIpOwotICAgICAgICBJ
bnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5Db25zb2xlKCJwYWdlRnVuY3Rpb24oKSIsIGZ1bmN0aW9u
KCkge30pOwotICAgICAgICBJbnNwZWN0b3JUZXN0LnNob3dQcm9maWxlV2hlbkFkZGVkKCJwMiIp
OwotICAgICAgICBJbnNwZWN0b3JUZXN0LndhaXRVbnRpbFByb2ZpbGVWaWV3SXNTaG93bigicDIi
LCB2aWV3TG9hZGVkKTsKLSAgICB9KTsKLX0KLQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBv
bmxvYWQ9InJ1blRlc3QoKSI+Ci08cD4KLVRlc3RzIHRoYXQgQ1BVIHByb2ZpbGUgcmVtb3ZhbCBm
cm9tIGEgZ3JvdXAgd29ya3MuCi0KLTxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xMTA0NjYiPkJ1ZyAxMTA0NjY8L2E+Ci08L3A+Ci08L2JvZHk+Ci08L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvcHJvZmlsZXIvY3B1LXByb2Zp
bGVyLXByb2ZpbGluZy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvcHJvZmls
ZXIvY3B1LXByb2ZpbGVyLXByb2ZpbGluZy1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IGJkOTEyZWU2NDhlZjYzOWI0NzM4MGVjYzkxOGE5YjczNTMyM2Y3MWMuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yL3Byb2ZpbGVyL2NwdS1wcm9maWxlci1wcm9maWxpbmctZXhwZWN0ZWQudHh0Cisr
KyAvZGV2L251bGwKQEAgLTEsOSArMCwwIEBACi1UZXN0cyB0aGF0IENQVSBwcm9maWxpbmcgd29y
a3MuIEJ1ZyA1MjYzNC4KLQotUHJvZmlsZXIgd2FzIGVuYWJsZWQuCi0KLVJ1bm5pbmc6IHRlc3RQ
cm9maWxpbmcKLWZvdW5kIHBhZ2VGdW5jdGlvbgotCi1Qcm9maWxlciB3YXMgZGlzYWJsZWQuCi0K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9wcm9maWxlci9jcHUtcHJvZmlsZXIt
cHJvZmlsaW5nLXdpdGhvdXQtaW5zcGVjdG9yLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2lu
c3BlY3Rvci9wcm9maWxlci9jcHUtcHJvZmlsZXItcHJvZmlsaW5nLXdpdGhvdXQtaW5zcGVjdG9y
LWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzNlZjc0MGMwZWEy
MzAxMTUyM2UzNzljYTdlYWIwNDAyYThiMmY1NC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvcHJvZmlsZXIvY3B1LXBy
b2ZpbGVyLXByb2ZpbGluZy13aXRob3V0LWluc3BlY3Rvci1leHBlY3RlZC50eHQKKysrIC9kZXYv
bnVsbApAQCAtMSw2ICswLDAgQEAKLVRlc3RzIHRoYXQgQ1BVIHByb2ZpbGluZyB3b3Jrcy4KLURv
ZXNuJ3Qgb3BlbiBJbnNwZWN0b3IsIHVzZXMgY29uc29sZS5wcm9maWxlLi4uLgotCi0KLUZvdW5k
IHBhZ2VGdW5jdGlvbgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvcHJvZmls
ZXIvY3B1LXByb2ZpbGVyLXByb2ZpbGluZy13aXRob3V0LWluc3BlY3Rvci5odG1sIGIvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yL3Byb2ZpbGVyL2NwdS1wcm9maWxlci1wcm9maWxpbmctd2l0aG91dC1p
bnNwZWN0b3IuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjJlM2E5OTdkN2E2
OThmZDk2MGUyY2NhNTZjNzExZWZmZjllYzg3OS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvcHJvZmlsZXIvY3B1LXBy
b2ZpbGVyLXByb2ZpbGluZy13aXRob3V0LWluc3BlY3Rvci5odG1sCisrKyAvZGV2L251bGwKQEAg
LTEsODQgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQ+Ci0KLWlmICh3aW5kb3cudGVz
dFJ1bm5lcikKLSAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLWlmICh3aW5kb3cuaW50ZXJu
YWxzKQotICAgIGludGVybmFscy5zZXRKYXZhU2NyaXB0UHJvZmlsaW5nRW5hYmxlZCh0cnVlKTsK
LQotZnVuY3Rpb24gcGFnZUZ1bmN0aW9uKCkKLXsKLSAgICBjb25zb2xlLnByb2ZpbGUoIm91dGVy
Iik7Ci0gICAgY29uc29sZS5wcm9maWxlKCJpbm5lciIpOyAgLy8gW0Nocm9taXVtXSBNYWtlIHN1
cmUgd2UgY2FwdHVyZSB0aGUgY3VycmVudCBjYWxsc3RhY2suCi0gICAgY29uc29sZS5wcm9maWxl
RW5kKCJvdXRlciIpOwotICAgIGNvbnNvbGUucHJvZmlsZUVuZCgiaW5uZXIiKTsKLX0KLQotZnVu
Y3Rpb24gc3RhcnRUZXN0KCkKLXsKLSAgICBwYWdlRnVuY3Rpb24oKTsKLSAgICBwcmludFJlc3Vs
dCgpOwotICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgdGVzdFJ1bm5lci5ub3Rp
ZnlEb25lKCk7Ci19Ci0KLWZ1bmN0aW9uIHByaW50UmVzdWx0KCkKLXsKLSAgICB2YXIgcHJlRWxl
bWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInByZSIpOwotICAgIHByZUVsZW1lbnQuYXBw
ZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoIlxuIikpOwotCi0gICAgdmFyIHByb2Zp
bGVzID0gY29uc29sZS5wcm9maWxlczsKLSAgICBmb3IgKHZhciBpID0gMDsgaSA8IHByb2ZpbGVz
Lmxlbmd0aDsgKytpKSB7Ci0gICAgICAgIHZhciBwcm9maWxlID0gcHJvZmlsZXNbaV07Ci0gICAg
ICAgIGlmIChwcm9maWxlLnRpdGxlICE9PSAiaW5uZXIiKQotICAgICAgICAgICAgY29udGludWU7
Ci0gICAgICAgIHZhciBmdW5jdGlvbk5hbWUgPSAicGFnZUZ1bmN0aW9uIjsKLSAgICAgICAgaWYg
KGZpbmRGdW5jdGlvbkluUHJvZmlsZShwcm9maWxlLmhlYWQsIGZ1bmN0aW9uTmFtZSkpCi0gICAg
ICAgICAgICBwcmVFbGVtZW50LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCJG
b3VuZCAiICsgZnVuY3Rpb25OYW1lKSk7Ci0gICAgICAgIGVsc2UgewotICAgICAgICAgICAgcHJl
RWxlbWVudC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgiISEhIE5vdCBmb3Vu
ZCAiICsgZnVuY3Rpb25OYW1lKSk7Ci0gICAgICAgICAgICBwcmVFbGVtZW50LmFwcGVuZENoaWxk
KGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCJcblxuIikpOwotICAgICAgICAgICAgcHJpbnRQcm9m
aWxlTm9kZVdpdGhvdXRUaW1lKHByZUVsZW1lbnQsIHByb2ZpbGUuaGVhZCwgIiIpOwotICAgICAg
ICB9Ci0gICAgICAgIHByZUVsZW1lbnQuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5v
ZGUoIlxuIikpOwotICAgIH0KLQotICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJvdXRwdXQi
KS5hcHBlbmRDaGlsZChwcmVFbGVtZW50KTsKLX0KLQotZnVuY3Rpb24gcHJpbnRQcm9maWxlTm9k
ZVdpdGhvdXRUaW1lKHByZUVsZW1lbnQsIG5vZGUsIHNwYWNlKQotewotICAgIGlmICghbm9kZS52
aXNpYmxlKQotICAgICAgICByZXR1cm47Ci0KLSAgICB2YXIgbGluZSA9IHNwYWNlICsgbm9kZS5m
dW5jdGlvbk5hbWUgKyAiIChsaW5lICIgKyBub2RlLmxpbmVOdW1iZXIgKyAiKVxuIjsKLSAgICBw
cmVFbGVtZW50LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKGxpbmUpKTsKLQot
ICAgIHZhciBjaGlsZHJlbiA9IG5vZGUuY2hpbGRyZW4oKTsKLSAgICBmb3IgKHZhciBpID0gMDsg
aSA8IGNoaWxkcmVuLmxlbmd0aDsgKytpKQotICAgICAgICBwcmludFByb2ZpbGVOb2RlV2l0aG91
dFRpbWUocHJlRWxlbWVudCwgY2hpbGRyZW5baV0sIHNwYWNlICsgIiAgICIpOwotfQotCi1mdW5j
dGlvbiBmaW5kRnVuY3Rpb25JblByb2ZpbGUobm9kZSwgZnVuY3Rpb25OYW1lKQotewotICAgIGlm
IChub2RlLmZ1bmN0aW9uTmFtZSA9PT0gZnVuY3Rpb25OYW1lKQotICAgICAgICByZXR1cm4gdHJ1
ZTsKLSAgICB2YXIgY2hpbGRyZW4gPSBub2RlLmNoaWxkcmVuKCk7Ci0gICAgZm9yICh2YXIgaSA9
IDA7IGkgPCBjaGlsZHJlbi5sZW5ndGg7ICsraSkKLSAgICAgICAgaWYgKGZpbmRGdW5jdGlvbklu
UHJvZmlsZShjaGlsZHJlbltpXSwgZnVuY3Rpb25OYW1lKSkKLSAgICAgICAgICAgIHJldHVybiB0
cnVlOwotICAgIHJldHVybiBmYWxzZTsKLX0KLQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBv
bmxvYWQ9InN0YXJ0VGVzdCgpIj4KLTxwPgotVGVzdHMgdGhhdCBDUFUgcHJvZmlsaW5nIHdvcmtz
Ljxicj4KLURvZXNuJ3Qgb3BlbiBJbnNwZWN0b3IsIHVzZXMgPGI+Y29uc29sZS5wcm9maWxlLi4u
PC9iPi4KLQotPGRpdiBpZD0ib3V0cHV0Ij48L2Rpdj4KLTwvcD4KLTwvYm9keT4KLTwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9wcm9maWxlci9jcHUtcHJvZmlsZXIt
cHJvZmlsaW5nLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvcHJvZmlsZXIvY3B1LXByb2Zp
bGVyLXByb2ZpbGluZy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5NjMwNTE2
MDA5NjBkY2RjZTI3NzdjNTYyNjA4NTFlNTQyNWU3ZTA0Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9wcm9maWxlci9j
cHUtcHJvZmlsZXItcHJvZmlsaW5nLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw1MiArMCwwIEBA
Ci08aHRtbD4KLTxoZWFkPgotICA8c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0
b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgotICA8c2NyaXB0IHNyYz0icHJvZmlsZXIt
dGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotCi1mdW5jdGlvbiBwYWdlRnVuY3Rpb24oKSB7
Ci0gICAgY29uc29sZS5wcm9maWxlKCJvdXRlciIpOwotICAgIGNvbnNvbGUucHJvZmlsZSgiaW5u
ZXIiKTsgIC8vIFtDaHJvbWl1bV0gTWFrZSBzdXJlIHdlIGNhcHR1cmUgdGhlIGN1cnJlbnQgY2Fs
bHN0YWNrLgotICAgIGNvbnNvbGUucHJvZmlsZUVuZCgib3V0ZXIiKTsKLSAgICBjb25zb2xlLnBy
b2ZpbGVFbmQoImlubmVyIik7Ci19Ci0KLWZ1bmN0aW9uIHRlc3QoKQotewotICAgIEluc3BlY3Rv
clRlc3QucnVuUHJvZmlsZXJUZXN0U3VpdGUoWwotICAgICAgICBmdW5jdGlvbiB0ZXN0UHJvZmls
aW5nKG5leHQpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGZ1bmN0aW9uIGZpbmRQYWdlRnVuY3Rp
b25JblByb2ZpbGVWaWV3KHZpZXcpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgdmFy
IHRyZWUgPSB2aWV3LnByb2ZpbGVEYXRhR3JpZFRyZWU7Ci0gICAgICAgICAgICAgICAgaWYgKCF0
cmVlKQotICAgICAgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIm5vIHRy
ZWUiKTsKLSAgICAgICAgICAgICAgICB2YXIgbm9kZSA9IHRyZWUuY2hpbGRyZW5bMF07Ci0gICAg
ICAgICAgICAgICAgaWYgKCFub2RlKQotICAgICAgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVz
dC5hZGRSZXN1bHQoIm5vIG5vZGUiKTsKLSAgICAgICAgICAgICAgICB3aGlsZSAobm9kZSkgewot
ICAgICAgICAgICAgICAgICAgICBpZiAobm9kZS5mdW5jdGlvbk5hbWUuaW5kZXhPZigicGFnZUZ1
bmN0aW9uIikgIT09IC0xKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0
LmFkZFJlc3VsdCgiZm91bmQgcGFnZUZ1bmN0aW9uIik7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICBicmVhazsKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICAgICBub2Rl
ID0gbm9kZS50cmF2ZXJzZU5leHROb2RlKHRydWUsIG51bGwsIHRydWUpOwotICAgICAgICAgICAg
ICAgIH0KLSAgICAgICAgICAgICAgICBuZXh0KCk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAg
ICBJbnNwZWN0b3JUZXN0LnNob3dQcm9maWxlV2hlbkFkZGVkKCJpbm5lciIpOwotICAgICAgICAg
ICAgSW5zcGVjdG9yVGVzdC53YWl0VW50aWxQcm9maWxlVmlld0lzU2hvd24oImlubmVyIiwgZmlu
ZFBhZ2VGdW5jdGlvbkluUHJvZmlsZVZpZXcpOwotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5l
dmFsdWF0ZUluQ29uc29sZSgicGFnZUZ1bmN0aW9uKCkiLCBmdW5jdGlvbiBkb25lKCkge30pOwot
ICAgICAgICB9Ci0gICAgXSk7Ci19Ci0KLTwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgb25sb2Fk
PSJydW5UZXN0KCkiPgotPHA+Ci1UZXN0cyB0aGF0IENQVSBwcm9maWxpbmcgd29ya3MuCi0KLTxh
IGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MjYzNCI+QnVn
IDUyNjM0LjwvYT4KLTwvcD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2luc3BlY3Rvci9wcm9maWxlci9wcm9maWxlci10ZXN0LmpzIGIvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yL3Byb2ZpbGVyL3Byb2ZpbGVyLXRlc3QuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDE3Yjg5ZDQyM2Q2NWE4Mzk4ZTA0MDhkZTVhOTVhNzQ5ZDE1ZjZkNzAuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yL3Byb2ZpbGVyL3Byb2ZpbGVyLXRlc3QuanMKKysrIC9kZXYvbnVsbApAQCAtMSw5NCArMCww
IEBACi12YXIgaW5pdGlhbGl6ZV9Qcm9maWxlclRlc3QgPSBmdW5jdGlvbigpIHsKLQotSW5zcGVj
dG9yVGVzdC5zdGFydFByb2ZpbGVyVGVzdCA9IGZ1bmN0aW9uKGNhbGxiYWNrKQotewotICAgIFdl
Ykluc3BlY3Rvci5zaG93UGFuZWwoInByb2ZpbGVzIik7Ci0KLSAgICBmdW5jdGlvbiBzdGFydFRl
c3QoKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIlByb2ZpbGVyIHdh
cyBlbmFibGVkLiIpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFNuaWZmZXIoV2ViSW5zcGVj
dG9yLnBhbmVscy5wcm9maWxlcywgIl9hZGRQcm9maWxlSGVhZGVyIiwgSW5zcGVjdG9yVGVzdC5f
cHJvZmlsZUhlYWRlckFkZGVkLCB0cnVlKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRTbmlm
ZmVyKFdlYkluc3BlY3Rvci5DUFVQcm9maWxlVmlldy5wcm90b3R5cGUsICJyZWZyZXNoIiwgSW5z
cGVjdG9yVGVzdC5fcHJvZmlsZVZpZXdSZWZyZXNoLCB0cnVlKTsKLSAgICAgICAgSW5zcGVjdG9y
VGVzdC5zYWZlV3JhcChjYWxsYmFjaykoKTsKLSAgICB9Ci0KLSAgICBpZiAoV2ViSW5zcGVjdG9y
LnBhbmVscy5wcm9maWxlcy5fcHJvZmlsZXJFbmFibGVkKQotICAgICAgICBzdGFydFRlc3QoKTsK
LSAgICBlbHNlIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRTbmlmZmVyKFdlYkluc3BlY3Rv
ci5wYW5lbHMucHJvZmlsZXMsICJfcHJvZmlsZXJXYXNFbmFibGVkIiwgc3RhcnRUZXN0KTsKLSAg
ICAgICAgV2ViSW5zcGVjdG9yLnBhbmVscy5wcm9maWxlcy5fdG9nZ2xlUHJvZmlsaW5nKGZhbHNl
KTsKLSAgICB9Ci19OwotCi1JbnNwZWN0b3JUZXN0LmNvbXBsZXRlUHJvZmlsZXJUZXN0ID0gZnVu
Y3Rpb24oKQotewotICAgIGZ1bmN0aW9uIGNvbXBsZXRlVGVzdCgpCi0gICAgewotICAgICAgICBJ
bnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiIik7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVz
dWx0KCJQcm9maWxlciB3YXMgZGlzYWJsZWQuIik7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuY29t
cGxldGVUZXN0KCk7Ci0gICAgfQotCi0gICAgdmFyIHByb2ZpbGVzUGFuZWwgPSBXZWJJbnNwZWN0
b3IucGFuZWxzLnByb2ZpbGVzOwotICAgIGlmICghcHJvZmlsZXNQYW5lbC5fcHJvZmlsZXJFbmFi
bGVkKQotICAgICAgICBjb21wbGV0ZVRlc3QoKTsKLSAgICBlbHNlIHsKLSAgICAgICAgSW5zcGVj
dG9yVGVzdC5hZGRTbmlmZmVyKFdlYkluc3BlY3Rvci5wYW5lbHMucHJvZmlsZXMsICJfcHJvZmls
ZXJXYXNEaXNhYmxlZCIsIGNvbXBsZXRlVGVzdCk7Ci0gICAgICAgIHByb2ZpbGVzUGFuZWwuX3Rv
Z2dsZVByb2ZpbGluZyhmYWxzZSk7Ci0gICAgfQotfTsKLQotSW5zcGVjdG9yVGVzdC5ydW5Qcm9m
aWxlclRlc3RTdWl0ZSA9IGZ1bmN0aW9uKHRlc3RTdWl0ZSkKLXsKLSAgICB2YXIgdGVzdFN1aXRl
VGVzdHMgPSB0ZXN0U3VpdGUuc2xpY2UoKTsKLQotICAgIGZ1bmN0aW9uIHJ1bm5lcigpCi0gICAg
ewotICAgICAgICBpZiAoIXRlc3RTdWl0ZVRlc3RzLmxlbmd0aCkgewotICAgICAgICAgICAgSW5z
cGVjdG9yVGVzdC5jb21wbGV0ZVByb2ZpbGVyVGVzdCgpOwotICAgICAgICAgICAgcmV0dXJuOwot
ICAgICAgICB9Ci0KLSAgICAgICAgdmFyIG5leHRUZXN0ID0gdGVzdFN1aXRlVGVzdHMuc2hpZnQo
KTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIiIpOwotICAgICAgICBJbnNwZWN0
b3JUZXN0LmFkZFJlc3VsdCgiUnVubmluZzogIiArIC9mdW5jdGlvblxzKFteKF0qKS8uZXhlYyhu
ZXh0VGVzdClbMV0pOwotICAgICAgICBJbnNwZWN0b3JUZXN0LnNhZmVXcmFwKG5leHRUZXN0KShy
dW5uZXIsIHJ1bm5lcik7Ci0gICAgfQotCi0gICAgSW5zcGVjdG9yVGVzdC5zdGFydFByb2ZpbGVy
VGVzdChydW5uZXIpOwotfTsKLQotSW5zcGVjdG9yVGVzdC5zaG93UHJvZmlsZVdoZW5BZGRlZCA9
IGZ1bmN0aW9uKHRpdGxlKQotewotICAgIEluc3BlY3RvclRlc3QuX3Nob3dQcm9maWxlV2hlbkFk
ZGVkID0gdGl0bGU7Ci19OwotCi1JbnNwZWN0b3JUZXN0Ll9wcm9maWxlSGVhZGVyQWRkZWQgPSBm
dW5jdGlvbihwcm9maWxlKQotewotICAgIGlmIChJbnNwZWN0b3JUZXN0Ll9zaG93UHJvZmlsZVdo
ZW5BZGRlZCA9PT0gcHJvZmlsZS50aXRsZSkgewotICAgICAgICBXZWJJbnNwZWN0b3IucGFuZWxz
LnByb2ZpbGVzLl9zaG93UHJvZmlsZShwcm9maWxlKTsKLSAgICB9Ci19OwotCi1JbnNwZWN0b3JU
ZXN0LndhaXRVbnRpbFByb2ZpbGVWaWV3SXNTaG93biA9IGZ1bmN0aW9uKHRpdGxlLCBjYWxsYmFj
aykKLXsKLSAgICBjYWxsYmFjayA9IEluc3BlY3RvclRlc3Quc2FmZVdyYXAoY2FsbGJhY2spOwot
Ci0gICAgdmFyIHByb2ZpbGVzUGFuZWwgPSBXZWJJbnNwZWN0b3IucGFuZWxzLnByb2ZpbGVzOwot
ICAgIGlmIChwcm9maWxlc1BhbmVsLnZpc2libGVWaWV3ICYmIHByb2ZpbGVzUGFuZWwudmlzaWJs
ZVZpZXcucHJvZmlsZSAmJiBwcm9maWxlc1BhbmVsLnZpc2libGVWaWV3LnByb2ZpbGUudGl0bGUg
PT09IHRpdGxlKQotICAgICAgICBjYWxsYmFjayhwcm9maWxlc1BhbmVsLnZpc2libGVWaWV3KTsK
LSAgICBlbHNlCi0gICAgICAgIEluc3BlY3RvclRlc3QuX3dhaXRVbnRpbFByb2ZpbGVWaWV3SXNT
aG93bkNhbGxiYWNrID0geyB0aXRsZTogdGl0bGUsIGNhbGxiYWNrOiBjYWxsYmFjayB9OwotfQot
Ci1JbnNwZWN0b3JUZXN0Ll9wcm9maWxlVmlld1JlZnJlc2ggPSBmdW5jdGlvbigpCi17Ci0gICAg
Ly8gQ2FsbGVkIGluIHRoZSBjb250ZXh0IG9mIFByb2ZpbGVWaWV3LgotICAgIGlmIChJbnNwZWN0
b3JUZXN0Ll93YWl0VW50aWxQcm9maWxlVmlld0lzU2hvd25DYWxsYmFjayAmJiBJbnNwZWN0b3JU
ZXN0Ll93YWl0VW50aWxQcm9maWxlVmlld0lzU2hvd25DYWxsYmFjay50aXRsZSA9PT0gdGhpcy5w
cm9maWxlLnRpdGxlKSB7Ci0gICAgICAgIHZhciBjYWxsYmFjayA9IEluc3BlY3RvclRlc3QuX3dh
aXRVbnRpbFByb2ZpbGVWaWV3SXNTaG93bkNhbGxiYWNrOwotICAgICAgICBkZWxldGUgSW5zcGVj
dG9yVGVzdC5fd2FpdFVudGlsUHJvZmlsZVZpZXdJc1Nob3duQ2FsbGJhY2s7Ci0gICAgICAgIGNh
bGxiYWNrLmNhbGxiYWNrKHRoaXMpOwotICAgIH0KLX07Ci0KLX07CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbnNwZWN0b3IvcmVtb3RlLW9iamVjdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9pbnNwZWN0b3IvcmVtb3RlLW9iamVjdC1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDUyYzJlMjZlMDg1OWYzYjQwNWM3YTU3NzdiNGEyZTc4N2MwZjM2NDMuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yL3JlbW90ZS1vYmplY3QtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEs
NCArMCwwIEBACi1UZXN0cyBmb3JtYXR0aW5nIG9mIGRpZmZlcmVudCB0eXBlcyBvZiByZW1vdGUg
b2JqZWN0cy4KLQotZGF0ZSA9IFdlZCBEZWMgMDcgMjAxMSAxMjowMTowMCAKLQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3JlbW90ZS1vYmplY3QuaHRtbCBiL0xheW91dFRlc3Rz
L2luc3BlY3Rvci9yZW1vdGUtb2JqZWN0Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IGU1ZTgwNDVlODg5ODhmNzcyY2MyZjM5OWEwZmIzZDcwNWY2Y2I1MmEuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
L3JlbW90ZS1vYmplY3QuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDI1ICswLDAgQEAKLTxodG1s
PgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9y
LXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLQotZnVuY3Rpb24gdGVzdCgpCi17Ci0gICAg
ZnVuY3Rpb24gY2FsbGJhY2socmVzdWx0KQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5h
ZGRSZXN1bHQoImRhdGUgPSAiICsgcmVzdWx0LmRlc2NyaXB0aW9uLnN1YnN0cmluZygwLCAyNSkp
OwotICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwotICAgIH0KLSAgICBJbnNw
ZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJuZXcgRGF0ZSgyMDExLCAxMSwgNywgMTIsIDAxKSIs
IGNhbGxiYWNrKTsKLX0KLQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci0KLTxib2R5IG9ubG9hZD0icnVu
VGVzdCgpIj4KLTxwPgotVGVzdHMgZm9ybWF0dGluZyBvZiBkaWZmZXJlbnQgdHlwZXMgb2YgcmVt
b3RlIG9iamVjdHMuCi08L3A+Ci0KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2luc3BlY3Rvci9yZXBvcnQtQVBJLWVycm9ycy1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3IvcmVwb3J0LUFQSS1lcnJvcnMtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCBiMzkyMjc1ZDQ2NzBhZTE2NTRmYzZkNzYxMTI0NDRmZDkwMDFm
MzY3Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL2luc3BlY3Rvci9yZXBvcnQtQVBJLWVycm9ycy1leHBlY3RlZC50eHQKKysrIC9kZXYv
bnVsbApAQCAtMSw4ICswLDAgQEAKLVRlc3RzIHRoYXQgSW5zcGVjdG9yQmFja2VuZFN0dWIgaXMg
Y2F0Y2hpbmcgaW5jb3JyZWN0IGFyZ3VtZW50cy4KLQotUHJvdG9jb2wgRXJyb3I6IEludmFsaWQg
dHlwZSBvZiBhcmd1bWVudCAnZW5hYmxlZCcgZm9yIG1ldGhvZCAnQ29uc29sZS5zZXRNb25pdG9y
aW5nWEhSRW5hYmxlZCcgY2FsbC4gSXQgbXVzdCBiZSAnYm9vbGVhbicgYnV0IGl0IGlzICdudW1i
ZXInLgotUHJvdG9jb2wgRXJyb3I6IEludmFsaWQgbnVtYmVyIG9mIGFyZ3VtZW50cyBmb3IgbWV0
aG9kICdDb25zb2xlLnNldE1vbml0b3JpbmdYSFJFbmFibGVkJyBjYWxsLiBJdCBtdXN0IGhhdmUg
dGhlIGZvbGxvd2luZyBhcmd1bWVudHMgJ1t7Im5hbWUiOiJlbmFibGVkIiwidHlwZSI6ImJvb2xl
YW4iLCJvcHRpb25hbCI6ZmFsc2V9XScuCi1Qcm90b2NvbCBFcnJvcjogT3B0aW9uYWwgY2FsbGJh
Y2sgYXJndW1lbnQgZm9yIG1ldGhvZCAnQ29uc29sZS5zZXRNb25pdG9yaW5nWEhSRW5hYmxlZCcg
Y2FsbCBtdXN0IGJlIGEgZnVuY3Rpb24gYnV0IGl0cyB0eXBlIGlzICdzdHJpbmcnLgotUHJvdG9j
b2wgRXJyb3I6IHRoZSBtZXNzYWdlIGlzIGZvciBub24tZXhpc3RpbmcgZG9tYWluICd3cm9uZ0Rv
bWFpbicKLVByb3RvY29sIEVycm9yOiBBdHRlbXB0ZWQgdG8gZGlzcGF0Y2ggYW4gdW5pbXBsZW1l
bnRlZCBtZXRob2QgJ0luc3BlY3Rvci5zb21ldGhpbmctc3RyYW5nZScKLQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yL3JlcG9ydC1BUEktZXJyb3JzLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbnNwZWN0b3IvcmVwb3J0LUFQSS1lcnJvcnMuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggYjY3MDI1Yjc2M2E4ZTc4OTBiMjQ3YWRkZjU1NDRjNDBmZmE0YWVkMS4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3IvcmVwb3J0LUFQSS1lcnJvcnMuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDM2ICswLDAg
QEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3Iv
aW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLQotZnVuY3Rpb24gdGVzdCgp
Ci17Ci0KLSAgICBjb25zb2xlLmVycm9yID0gZnVuY3Rpb24oKQotICAgIHsKLSAgICAgICAgSW5z
cGVjdG9yVGVzdC5hZGRSZXN1bHQoU3RyaW5nLnNwcmludGYuYXBwbHkodGhpcywgYXJndW1lbnRz
KSk7Ci0gICAgfQotCi0gICAgQ29uc29sZUFnZW50LnNldE1vbml0b3JpbmdYSFJFbmFibGVkKDEp
OwotICAgIENvbnNvbGVBZ2VudC5zZXRNb25pdG9yaW5nWEhSRW5hYmxlZCgpOwotICAgIENvbnNv
bGVBZ2VudC5zZXRNb25pdG9yaW5nWEhSRW5hYmxlZChmYWxzZSwgIm5vdCBhIGZ1bmN0aW9uIik7
Ci0gICAgQ29uc29sZUFnZW50LnNldE1vbml0b3JpbmdYSFJFbmFibGVkKGZhbHNlLCB1bmRlZmlu
ZWQpOwotICAgIFJ1bnRpbWVBZ2VudC5ldmFsdWF0ZSgidHJ1ZSIsICJ0ZXN0Iik7Ci0gICAgUnVu
dGltZUFnZW50LmV2YWx1YXRlKCJ0cnVlIiwgInRlc3QiLCBmdW5jdGlvbigpe30pOwotICAgIFJ1
bnRpbWVBZ2VudC5ldmFsdWF0ZSgidHJ1ZSIsICJ0ZXN0IiwgdW5kZWZpbmVkLCBmdW5jdGlvbigp
e30pOwotICAgIEluc3BlY3RvckJhY2tlbmQuZGlzcGF0Y2goJ3sibWV0aG9kIjogIndyb25nRG9t
YWluLnNvbWV0aGluZy1zdHJhbmdlIiwgInBhcmFtcyI6IHt9fScpOwotICAgIEluc3BlY3RvckJh
Y2tlbmQuZGlzcGF0Y2goJ3sibWV0aG9kIjogIkluc3BlY3Rvci5zb21ldGhpbmctc3RyYW5nZSIs
ICJwYXJhbXMiOiB7fX0nKTsKLQotICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7Ci19
Ci0KLTwvc2NyaXB0PgotPC9oZWFkPgotCi08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci08cD4K
LVRlc3RzIHRoYXQgSW5zcGVjdG9yQmFja2VuZFN0dWIgaXMgY2F0Y2hpbmcgaW5jb3JyZWN0IGFy
Z3VtZW50cy4KLTwvcD4KLQotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yL3JlcG9ydC1wcm90b2NvbC1lcnJvcnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yL3JlcG9ydC1wcm90b2NvbC1lcnJvcnMtZXhwZWN0ZWQudHh0CmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3MDNjOWVmYmU0OWI0MDZhYjY1YjMxMWMyZDM0MWRh
N2I1NmFlZDRkLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL2luc3BlY3Rvci9yZXBvcnQtcHJvdG9jb2wtZXJyb3JzLWV4cGVjdGVkLnR4
dAorKysgL2Rldi9udWxsCkBAIC0xLDE3MCArMCwwIEBACi1UZXN0cyB0aGF0IEluc3BlY3RvckJh
Y2tlbmREaXNwYXRjaGVyIGlzIGNhdGNoaW5nIGluY29ycmVjdCBtZXNzYWdlcy4KLQotewotICAg
IGVycm9yIDogewotICAgICAgICBjb2RlIDogLTMyNzAwCi0gICAgICAgIG1lc3NhZ2UgOiAiTWVz
c2FnZSBtdXN0IGJlIGluIEpTT04gZm9ybWF0IgotICAgIH0KLSAgICBpZCA6IG51bGwKLX0KLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLXsK
LSAgICBlcnJvciA6IHsKLSAgICAgICAgY29kZSA6IC0zMjYwMAotICAgICAgICBtZXNzYWdlIDog
IidpZCcgcHJvcGVydHkgd2FzIG5vdCBmb3VuZCIKLSAgICB9Ci0gICAgaWQgOiBudWxsCi19Ci0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi17
Ci0gICAgZXJyb3IgOiB7Ci0gICAgICAgIGNvZGUgOiAtMzI2MDAKLSAgICAgICAgbWVzc2FnZSA6
ICJUaGUgdHlwZSBvZiAnaWQnIHByb3BlcnR5IG11c3QgYmUgbnVtYmVyIgotICAgIH0KLSAgICBp
ZCA6IG51bGwKLX0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0KLXsKLSAgICBlcnJvciA6IHsKLSAgICAgICAgY29kZSA6IC0zMjYwMAotICAg
ICAgICBtZXNzYWdlIDogIlRoZSB0eXBlIG9mICdtZXRob2QnIHByb3BlcnR5IG11c3QgYmUgc3Ry
aW5nIgotICAgIH0KLSAgICBpZCA6IDEKLX0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLXsKLSAgICBlcnJvciA6IHsKLSAgICAgICAgY29k
ZSA6IC0zMjYwMQotICAgICAgICBtZXNzYWdlIDogIidyZXNvdXJjZUNvbnRlbnQnIHdhc24ndCBm
b3VuZCIKLSAgICB9Ci0gICAgaWQgOiAyCi19Ci0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi17Ci0gICAgZXJyb3IgOiB7Ci0gICAgICAgIGNv
ZGUgOiAtMzI2MDEKLSAgICAgICAgbWVzc2FnZSA6ICInRE9NLnRlc3QnIHdhc24ndCBmb3VuZCIK
LSAgICB9Ci0gICAgaWQgOiAzCi19Ci0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tCi17Ci0gICAgZXJyb3IgOiB7Ci0gICAgICAgIGNvZGUgOiAt
MzI2MDIKLSAgICAgICAgZGF0YSA6IFsKLSAgICAgICAgICAgICIncGFyYW1zJyBvYmplY3QgbXVz
dCBjb250YWluIHJlcXVpcmVkIHBhcmFtZXRlciAnZnJhbWVJZCcgd2l0aCB0eXBlICdTdHJpbmcn
LiIKLSAgICAgICAgICAgICIncGFyYW1zJyBvYmplY3QgbXVzdCBjb250YWluIHJlcXVpcmVkIHBh
cmFtZXRlciAndXJsJyB3aXRoIHR5cGUgJ1N0cmluZycuIgotICAgICAgICBdCi0gICAgICAgIG1l
c3NhZ2UgOiAiU29tZSBhcmd1bWVudHMgb2YgbWV0aG9kICdQYWdlLmdldFJlc291cmNlQ29udGVu
dCcgY2FuJ3QgYmUgcHJvY2Vzc2VkIgotICAgIH0KLSAgICBpZCA6IDQKLX0KLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLXsKLSAgICBlcnJv
ciA6IHsKLSAgICAgICAgY29kZSA6IC0zMjYwMgotICAgICAgICBkYXRhIDogWwotICAgICAgICAg
ICAgIidwYXJhbXMnIG9iamVjdCBtdXN0IGNvbnRhaW4gcmVxdWlyZWQgcGFyYW1ldGVyICdmcmFt
ZUlkJyB3aXRoIHR5cGUgJ1N0cmluZycuIgotICAgICAgICAgICAgIidwYXJhbXMnIG9iamVjdCBt
dXN0IGNvbnRhaW4gcmVxdWlyZWQgcGFyYW1ldGVyICd1cmwnIHdpdGggdHlwZSAnU3RyaW5nJy4i
Ci0gICAgICAgIF0KLSAgICAgICAgbWVzc2FnZSA6ICJTb21lIGFyZ3VtZW50cyBvZiBtZXRob2Qg
J1BhZ2UuZ2V0UmVzb3VyY2VDb250ZW50JyBjYW4ndCBiZSBwcm9jZXNzZWQiCi0gICAgfQotICAg
IGlkIDogNQotfQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLQotewotICAgIGVycm9yIDogewotICAgICAgICBjb2RlIDogLTMyNjAyCi0gICAg
ICAgIGRhdGEgOiBbCi0gICAgICAgICAgICAiUGFyYW1ldGVyICdmcmFtZUlkJyB3aXRoIHR5cGUg
J1N0cmluZycgd2FzIG5vdCBmb3VuZC4iCi0gICAgICAgICAgICAiUGFyYW1ldGVyICd1cmwnIHdp
dGggdHlwZSAnU3RyaW5nJyB3YXMgbm90IGZvdW5kLiIKLSAgICAgICAgXQotICAgICAgICBtZXNz
YWdlIDogIlNvbWUgYXJndW1lbnRzIG9mIG1ldGhvZCAnUGFnZS5nZXRSZXNvdXJjZUNvbnRlbnQn
IGNhbid0IGJlIHByb2Nlc3NlZCIKLSAgICB9Ci0gICAgaWQgOiA2Ci19Ci0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi17Ci0gICAgZXJyb3Ig
OiB7Ci0gICAgICAgIGNvZGUgOiAtMzI2MDIKLSAgICAgICAgZGF0YSA6IFsKLSAgICAgICAgICAg
ICJQYXJhbWV0ZXIgJ3VybCcgd2l0aCB0eXBlICdTdHJpbmcnIHdhcyBub3QgZm91bmQuIgotICAg
ICAgICBdCi0gICAgICAgIG1lc3NhZ2UgOiAiU29tZSBhcmd1bWVudHMgb2YgbWV0aG9kICdQYWdl
LmdldFJlc291cmNlQ29udGVudCcgY2FuJ3QgYmUgcHJvY2Vzc2VkIgotICAgIH0KLSAgICBpZCA6
IDcKLX0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0KLXsKLSAgICBlcnJvciA6IHsKLSAgICAgICAgY29kZSA6IC0zMjYwMQotICAgICAgICBt
ZXNzYWdlIDogIidQYWdlLnRlc3QnIHdhc24ndCBmb3VuZCIKLSAgICB9Ci0gICAgaWQgOiA4Ci19
Ci0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
Ci17Ci0gICAgZXJyb3IgOiB7Ci0gICAgICAgIGNvZGUgOiAtMzI2MDEKLSAgICAgICAgbWVzc2Fn
ZSA6ICInUGFnZS50ZXN0JyB3YXNuJ3QgZm91bmQiCi0gICAgfQotICAgIGlkIDogOQotfQotLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotewot
ICAgIGVycm9yIDogewotICAgICAgICBjb2RlIDogLTMyNjAxCi0gICAgICAgIG1lc3NhZ2UgOiAi
J1BhZ2UudGVzdCcgd2Fzbid0IGZvdW5kIgotICAgIH0KLSAgICBpZCA6IDEwCi19Ci0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi17Ci0gICAg
ZXJyb3IgOiB7Ci0gICAgICAgIGNvZGUgOiAtMzI2MDEKLSAgICAgICAgbWVzc2FnZSA6ICInUGFn
ZS50ZXN0JyB3YXNuJ3QgZm91bmQiCi0gICAgfQotICAgIGlkIDogMTEKLX0KLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLXsKLSAgICBlcnJv
ciA6IHsKLSAgICAgICAgY29kZSA6IC0zMjYwMQotICAgICAgICBtZXNzYWdlIDogIidQYWdlLnRl
c3QnIHdhc24ndCBmb3VuZCIKLSAgICB9Ci0gICAgaWQgOiAxMgotfQotLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotewotICAgIGVycm9yIDog
ewotICAgICAgICBjb2RlIDogLTMyNjAxCi0gICAgICAgIG1lc3NhZ2UgOiAiJ1BhZ2UudGVzdCcg
d2Fzbid0IGZvdW5kIgotICAgIH0KLSAgICBpZCA6IDEzCi19Ci0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi17Ci0gICAgZXJyb3IgOiB7Ci0g
ICAgICAgIGNvZGUgOiAtMzI2MDEKLSAgICAgICAgbWVzc2FnZSA6ICInUGFnZS50ZXN0JyB3YXNu
J3QgZm91bmQiCi0gICAgfQotICAgIGlkIDogMTQKLX0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLXsKLSAgICBlcnJvciA6IHsKLSAgICAg
ICAgY29kZSA6IC0zMjYwMQotICAgICAgICBtZXNzYWdlIDogIidQYWdlLnRlc3QnIHdhc24ndCBm
b3VuZCIKLSAgICB9Ci0gICAgaWQgOiAxNQotfQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotewotICAgIGVycm9yIDogewotICAgICAgICBj
b2RlIDogLTMyNjAxCi0gICAgICAgIG1lc3NhZ2UgOiAiJ1BhZ2UudGVzdCcgd2Fzbid0IGZvdW5k
IgotICAgIH0KLSAgICBpZCA6IDE2Ci19Ci0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci9yZXBvcnQtcHJvdG9jb2wtZXJyb3JzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Iv
cmVwb3J0LXByb3RvY29sLWVycm9ycy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAzYzM4ZTZmYmNjZjQ3NDM2MGFhMTNlZGViN2Q2ODY4NTY5MjQ1OWE3Li4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9y
ZXBvcnQtcHJvdG9jb2wtZXJyb3JzLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw2MCArMCwwIEBA
Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2lu
c3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci0KLWZ1bmN0aW9uIHRlc3QoKQot
ewotICAgIHZhciBtZXNzYWdlcyA9IFsKLSAgICAgICAgJ3NvbWUgd3Jvbmcgc3RyaW5nJywKLSAg
ICAgICAgJ3t9JywKLSAgICAgICAgJ3siaWQiOiJub3QgYSBudW1iZXIifScsCi0gICAgICAgICd7
ImlkIjoxLCJtZXRob2QiOjF9JywKLSAgICAgICAgJ3siaWQiOjIsIm1ldGhvZCI6InJlc291cmNl
Q29udGVudCJ9JywKLSAgICAgICAgJ3siaWQiOjMsIm1ldGhvZCI6IkRPTS50ZXN0In0nLAotICAg
ICAgICAneyJpZCI6NCwibWV0aG9kIjoiUGFnZS5nZXRSZXNvdXJjZUNvbnRlbnQifScsCi0gICAg
ICAgICd7ImlkIjo1LCJtZXRob2QiOiJQYWdlLmdldFJlc291cmNlQ29udGVudCIsInBhcmFtcyI6
W119JywKLSAgICAgICAgJ3siaWQiOjYsIm1ldGhvZCI6IlBhZ2UuZ2V0UmVzb3VyY2VDb250ZW50
IiwicGFyYW1zIjp7fX0nLAotICAgICAgICAneyJpZCI6NywibWV0aG9kIjoiUGFnZS5nZXRSZXNv
dXJjZUNvbnRlbnQiLCJwYXJhbXMiOnsiZnJhbWVJZCI6Im5vdCBhIG51bWJlciJ9fScsCi0gICAg
ICAgICd7ImlkIjo4LCJtZXRob2QiOiJQYWdlLnRlc3QifScsCi0gICAgICAgICd7ImlkIjo5LCJt
ZXRob2QiOiJQYWdlLnRlc3QiIH0nLAotICAgICAgICAneyJpZCI6MTAsIm1ldGhvZCI6ICJQYWdl
LnRlc3QiIH0nLAotICAgICAgICAneyJpZCI6MTEsIm1ldGhvZCIgOiAiUGFnZS50ZXN0IiB9JywK
LSAgICAgICAgJ3siaWQiOjEyLCAibWV0aG9kIiA6ICJQYWdlLnRlc3QiIH0nLAotICAgICAgICAn
eyJpZCI6IDEzLCAibWV0aG9kIiA6ICJQYWdlLnRlc3QiIH0nLAotICAgICAgICAneyJpZCIgOiAx
NCwgIm1ldGhvZCIgOiAiUGFnZS50ZXN0IiB9JywKLSAgICAgICAgJ3sgImlkIiA6IDE1LCAibWV0
aG9kIiA6ICJQYWdlLnRlc3QiIH0nLAotICAgICAgICAneyAgImlkIlxuIDpcciAxNixcdCAibWV0
aG9kIlxmIDpcdiAiUGFnZS50ZXN0IiB9JywKLSAgICBdOwotICAgIHZhciBudW1iZXJPZlJlcG9y
dHMgPSAwOwotCi0gICAgSW5zcGVjdG9yQmFja2VuZC5yZXBvcnRQcm90b2NvbEVycm9yID0gZnVu
Y3Rpb24obWVzc2FnZSkKLSAgICB7Ci0KLSAgICAgICAgaWYgKG51bWJlck9mUmVwb3J0cyA8IG1l
c3NhZ2VzLmxlbmd0aCkgewotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRPYmplY3QobWVz
c2FnZSk7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSIpOwotICAgICAgICB9
Ci0KLSAgICAgICAgaWYgKCsrbnVtYmVyT2ZSZXBvcnRzID09PSBtZXNzYWdlcy5sZW5ndGgpCi0g
ICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwotICAgIH0KLQotICAgIGZ1
bmN0aW9uIGZpcmUoKSB7Ci0gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbWVzc2FnZXMubGVu
Z3RoOyArK2kpCi0gICAgICAgICAgICBJbnNwZWN0b3JGcm9udGVuZEhvc3Quc2VuZE1lc3NhZ2VU
b0JhY2tlbmQobWVzc2FnZXNbaV0pOwotICAgIH0KLQotICAgIERlYnVnZ2VyQWdlbnQuZGlzYWJs
ZShmaXJlKTsKLX0KLQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci0KLTxib2R5IG9ubG9hZD0icnVuVGVz
dCgpIj4KLTxwPgotVGVzdHMgdGhhdCBJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlciBpcyBjYXRj
aGluZyBpbmNvcnJlY3QgbWVzc2FnZXMuCi08L3A+Ci0KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9ydW50aW1lL3J1bnRpbWUtY2FsbEZ1bmN0aW9u
T24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3J1bnRpbWUvcnVudGltZS1j
YWxsRnVuY3Rpb25Pbi1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDVkYTU1YTM0ZjM2YjQ3Y2UxNzk5NWJiMDdkYzU5MzQwZGMzMDFiYTEuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3J1
bnRpbWUvcnVudGltZS1jYWxsRnVuY3Rpb25Pbi1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApA
QCAtMSwxMyArMCwwIEBACi1UZXN0cyBSdW50aW1lQWdlbnQuY2FsbEZ1bmN0aW9uT24gdXNhZ2Vz
LgotCi0KLVJ1bm5pbmc6IHRlc3RUaGlzCi0zCi0KLVJ1bm5pbmc6IHRlc3RBcmd1bWVudHMKLXsi
YSI6MSwiYiI6Mn0KLXsiYSI6MSwiYiI6Mn0KLXsiYyI6MSwiZCI6Mn0KLTQKLXVuZGVmaW5lZAot
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvcnVudGltZS9ydW50aW1lLWNhbGxG
dW5jdGlvbk9uLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvcnVudGltZS9ydW50aW1lLWNh
bGxGdW5jdGlvbk9uLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDNmYTA0MTlj
NzA2NWM1Zjc5M2VmZWU0NjNhMmY5ZjE3NTkwYzRjNTkuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3J1bnRpbWUvcnVu
dGltZS1jYWxsRnVuY3Rpb25Pbi5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNjcgKzAsMCBAQAot
PGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9p
bnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotCi1mdW5jdGlvbiB0ZXN0KCkK
LXsKLSAgICB2YXIgb2JqMSwgb2JqMjsKLQotICAgIEluc3BlY3RvclRlc3QucnVuVGVzdFN1aXRl
KFsKLSAgICAgICAgZnVuY3Rpb24gdGVzdFRoaXMobmV4dCkKLSAgICAgICAgewotICAgICAgICAg
ICAgUnVudGltZUFnZW50LmV2YWx1YXRlKCIoeyBhIDogMSwgYiA6IDIgfSkiLCBzdGVwMSk7Ci0K
LSAgICAgICAgICAgIGZ1bmN0aW9uIHN0ZXAxKGVycm9yLCByZXN1bHQsIHdhc1Rocm93bikKLSAg
ICAgICAgICAgIHsKLQotICAgICAgICAgICAgICAgIGZ1bmN0aW9uIHN1bSgpCi0gICAgICAgICAg
ICAgICAgewotICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5hICsgdGhpcy5iOwotICAg
ICAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgICAgIG9iajEgPSByZXN1bHQ7Ci0gICAgICAg
ICAgICAgICAgUnVudGltZUFnZW50LmNhbGxGdW5jdGlvbk9uKG9iajEub2JqZWN0SWQsIHN1bS50
b1N0cmluZygpLCBzdGVwMik7Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIGZ1bmN0aW9u
IHN0ZXAyKGVycm9yLCByZXN1bHQsIHdhc1Rocm93bikKLSAgICAgICAgICAgIHsKLSAgICAgICAg
ICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdChyZXN1bHQudmFsdWUpOwotICAgICAgICAg
ICAgICAgIG5leHQoKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfSwKLQotICAgICAgICBmdW5j
dGlvbiB0ZXN0QXJndW1lbnRzKG5leHQpCi0gICAgICAgIHsKLSAgICAgICAgICAgIFJ1bnRpbWVB
Z2VudC5ldmFsdWF0ZSgiKHsgYyA6IDEsIGQgOiAyIH0pIiwgc3RlcDEpOwotCi0gICAgICAgICAg
ICBmdW5jdGlvbiBzdGVwMShlcnJvciwgcmVzdWx0LCB3YXNUaHJvd24pCi0gICAgICAgICAgICB7
Ci0gICAgICAgICAgICAgICAgZnVuY3Rpb24gZm9ybWF0KGFvYmoxLCBhb2JqMiwgdmFsLCB1bmRl
ZikKLSAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgIHJldHVybiBKU09OLnN0
cmluZ2lmeSh0aGlzKSArICJcbiIgKyBKU09OLnN0cmluZ2lmeShhb2JqMSkgKyAiXG4iICsgSlNP
Ti5zdHJpbmdpZnkoYW9iajIpICsgIlxuIiArIHZhbCArICJcbiIgKyB1bmRlZjsKLSAgICAgICAg
ICAgICAgICB9Ci0KLSAgICAgICAgICAgICAgICBvYmoyID0gcmVzdWx0OwotICAgICAgICAgICAg
ICAgIFJ1bnRpbWVBZ2VudC5jYWxsRnVuY3Rpb25PbihvYmoxLm9iamVjdElkLCBmb3JtYXQudG9T
dHJpbmcoKSwgW29iajEsIG9iajIsIHt2YWx1ZTo0fSwge31dLCBzdGVwMik7Ci0gICAgICAgICAg
ICB9Ci0KLSAgICAgICAgICAgIGZ1bmN0aW9uIHN0ZXAyKGVycm9yLCByZXN1bHQsIHdhc1Rocm93
bikKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3Vs
dChyZXN1bHQudmFsdWUpOwotICAgICAgICAgICAgICAgIG5leHQoKTsKLSAgICAgICAgICAgIH0K
LSAgICAgICAgfQotICAgIF0pOwotfQotCi08L3NjcmlwdD4KLTwvaGVhZD4KLQotPGJvZHkgb25s
b2FkPSJydW5UZXN0KCkiPgotPHA+Ci1UZXN0cyBSdW50aW1lQWdlbnQuY2FsbEZ1bmN0aW9uT24g
dXNhZ2VzLgotPC9wPgotCi08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbnNwZWN0b3IvcnVudGltZS9ydW50aW1lLWdldFByb3BlcnRpZXMtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yL3J1bnRpbWUvcnVudGltZS1nZXRQcm9wZXJ0aWVzLWV4cGVj
dGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTYyNzNkY2RlYjc2Mjg1MGE1
MzZjZmZhZDcxMDFkYTlhZmY4Y2ZmYS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvcnVudGltZS9ydW50aW1lLWdldFBy
b3BlcnRpZXMtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNDkgKzAsMCBAQAotVGVz
dHMgUmVtb3RlT2JqZWN0LmdldFByb3BlcnRpZXMuCi0KLQotUnVubmluZzogdGVzdFNldFVwCi0K
LVJ1bm5pbmc6IHRlc3RHZXR0ZXJBbmRTZXR0ZXIKLXsKLSAgICBlbnVtZXJhYmxlIDogdHJ1ZQot
ICAgIG5hbWUgOiAiZ2V0IGZvbyIKLSAgICB2YWx1ZSA6IHsKLSAgICAgICAgZGVzY3JpcHRpb24g
OiAiZnVuY3Rpb24gKCkgeyByZXR1cm4gMTsgfSIKLSAgICAgICAgb2JqZWN0SWQgOiA8c3RyaW5n
PgotICAgICAgICB0eXBlIDogImZ1bmN0aW9uIgotICAgIH0KLSAgICB3cml0YWJsZSA6IGZhbHNl
Ci19Ci17Ci0gICAgZW51bWVyYWJsZSA6IHRydWUKLSAgICBuYW1lIDogInNldCBmb28iCi0gICAg
dmFsdWUgOiB7Ci0gICAgICAgIGRlc2NyaXB0aW9uIDogImZ1bmN0aW9uICh2YWx1ZSkgeyB9Igot
ICAgICAgICBvYmplY3RJZCA6IDxzdHJpbmc+Ci0gICAgICAgIHR5cGUgOiAiZnVuY3Rpb24iCi0g
ICAgfQotICAgIHdyaXRhYmxlIDogZmFsc2UKLX0KLQotUnVubmluZzogdGVzdEdldHRlck9ubHkK
LXsKLSAgICBlbnVtZXJhYmxlIDogdHJ1ZQotICAgIG5hbWUgOiAiZ2V0IGZvbyIKLSAgICB2YWx1
ZSA6IHsKLSAgICAgICAgZGVzY3JpcHRpb24gOiAiZnVuY3Rpb24gKCkgeyByZXR1cm4gMTsgfSIK
LSAgICAgICAgb2JqZWN0SWQgOiA8c3RyaW5nPgotICAgICAgICB0eXBlIDogImZ1bmN0aW9uIgot
ICAgIH0KLSAgICB3cml0YWJsZSA6IGZhbHNlCi19Ci17Ci0gICAgZW51bWVyYWJsZSA6IHRydWUK
LSAgICBuYW1lIDogInNldCBmb28iCi0gICAgdmFsdWUgOiB7Ci0gICAgICAgIGRlc2NyaXB0aW9u
IDogInVuZGVmaW5lZCIKLSAgICAgICAgb2JqZWN0SWQgOiA8dW5kZWZpbmVkPgotICAgICAgICB0
eXBlIDogInVuZGVmaW5lZCIKLSAgICB9Ci0gICAgd3JpdGFibGUgOiBmYWxzZQotfQotCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvcnVudGltZS9ydW50aW1lLWdldFByb3BlcnRp
ZXMtaXNPd25Qcm9wZXJ0eS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvcnVu
dGltZS9ydW50aW1lLWdldFByb3BlcnRpZXMtaXNPd25Qcm9wZXJ0eS1leHBlY3RlZC50eHQKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGUxODUyMmY2ZWM5MTg4NDQyNTU5MmUyODJjM2Iw
NTkyY2IwYjk3ZGEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3J1bnRpbWUvcnVudGltZS1nZXRQcm9wZXJ0aWVzLWlz
T3duUHJvcGVydHktZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNSArMCwwIEBACi1U
ZXN0cyBSZW1vdGVPYmplY3QuZ2V0UHJvcGVydGllcy4KLQotcHJvcGVydHkubmFtZT09InRlc3RC
YXIiIGlzT3duPT0idHJ1ZSIKLXByb3BlcnR5Lm5hbWU9PSJ0ZXN0Rm9vIiBpc093bj09InVuZGVm
aW5lZCIKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3J1bnRpbWUvcnVudGlt
ZS1nZXRQcm9wZXJ0aWVzLWlzT3duUHJvcGVydHkuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rv
ci9ydW50aW1lL3J1bnRpbWUtZ2V0UHJvcGVydGllcy1pc093blByb3BlcnR5Lmh0bWwKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGZmNjBjNzllODBmYTY3NDZiZGE4YmNmYWZhOGVkYzY4
NWJkYjNjMDAuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yL3J1bnRpbWUvcnVudGltZS1nZXRQcm9wZXJ0aWVzLWlzT3du
UHJvcGVydHkuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDU4ICswLDAgQEAKLTxodG1sPgotPGhl
YWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRl
c3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLQotZnVuY3Rpb24gQSgpIHsKLSAgICB0aGlzLnRl
c3RGb28gPSAiYWJjIjsKLX0KLQotZnVuY3Rpb24gQigpIHsgCi0gICAgdGhpcy50ZXN0QmFyID0g
ImNkZSI7Ci19Ci0KLUIucHJvdG90eXBlID0gbmV3IEEoKTsKLWIgPSBuZXcgQigpOwotCi1mdW5j
dGlvbiB0ZXN0KCkKLXsKLSAgICBmdW5jdGlvbiBmYWlsKG1lc3NhZ2UpCi0gICAgewotICAgICAg
ICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdChtZXNzYWdlKTsKLSAgICAgICAgSW5zcGVjdG9yVGVz
dC5jb21wbGV0ZVRlc3QoKTsKLSAgICB9Ci0KLSAgICBSdW50aW1lQWdlbnQuZXZhbHVhdGUoIndp
bmRvdy5iIiwgc3RlcDEpOwotCi0gICAgZnVuY3Rpb24gc3RlcDEoZXJyb3IsIHJlc3VsdCkKLSAg
ICB7Ci0gICAgICAgIFJ1bnRpbWVBZ2VudC5nZXRQcm9wZXJ0aWVzKHJlc3VsdC5vYmplY3RJZCwg
LyogaXNPd25Qcm9wZXJ0eSAqLyBmYWxzZSwgc3RlcDIpOwotICAgIH0KLQotICAgIGZ1bmN0aW9u
IHN0ZXAyKGVycm9yLCBwcm9wZXJ0aWVzKSAKLSAgICB7Ci0gICAgICAgIGlmIChlcnJvcikgCi0g
ICAgICAgICAgICByZXR1cm4gZmFpbCgiRXJyb3IgdG9vayBwbGFjZSBkdXJpbmcgUnVudGltZUFn
ZW50LmdldFByb3BlcnRpZXMgY2FsbCIpOwotICAgICAgICAKLSAgICAgICAgaWYgKCFwcm9wZXJ0
aWVzKSAKLSAgICAgICAgICAgIHJldHVybiBmYWlsKCJQcm9wZXJ0aWVzIGRvIG5vdCBleGlzdCIp
OwotICAgICAgICAKLSAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBwcm9wZXJ0aWVzLmxlbmd0
aDsgaSsrKSB7Ci0gICAgICAgICAgICB2YXIgcHJvcGVydHkgPSBwcm9wZXJ0aWVzW2ldOwotICAg
ICAgICAgICAgaWYgKHByb3BlcnR5Lm5hbWUubWF0Y2goL150ZXN0LykpIAotICAgICAgICAgICAg
ICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJwcm9wZXJ0eS5uYW1lPT1cIiIgKyBwcm9wZXJ0
eS5uYW1lICsgIlwiIGlzT3duPT1cIiIgKyBwcm9wZXJ0eS5pc093biArICJcIiIpOwotICAgICAg
ICB9Ci0gICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7Ci0gICAgfQotCi19Ci08
L3NjcmlwdD4KLTwvaGVhZD4KLQotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotPHA+Ci1UZXN0
cyBSZW1vdGVPYmplY3QuZ2V0UHJvcGVydGllcy4KLTwvcD4KLQotPC9ib2R5PgotPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3J1bnRpbWUvcnVudGltZS1nZXRQcm9w
ZXJ0aWVzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvcnVudGltZS9ydW50aW1lLWdldFBy
b3BlcnRpZXMuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNWViMjhiZDJlNDA1
YjkwZDkwMWZhYTFiNjViZWFjZWVmZDgwOTI3YS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvcnVudGltZS9ydW50aW1l
LWdldFByb3BlcnRpZXMuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDg0ICswLDAgQEAKLTxodG1s
PgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVj
dG9yLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLQotdmFyIG9iamVjdDEgPSB7IGdldCBm
b28oKSB7IHJldHVybiAxOyB9LCBzZXQgZm9vKHZhbHVlKSB7IH0gfTsKLXZhciBvYmplY3QyID0g
eyBnZXQgZm9vKCkgeyByZXR1cm4gMTsgfSB9OwotCi1mdW5jdGlvbiB0ZXN0KCkKLXsKLSAgICB2
YXIgb2JqMSwgb2JqMjsKLQotICAgIEluc3BlY3RvclRlc3QucnVuVGVzdFN1aXRlKFsKLSAgICAg
ICAgZnVuY3Rpb24gdGVzdFNldFVwKG5leHQpCi0gICAgICAgIHsKLSAgICAgICAgICAgIEluc3Bl
Y3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoImR1bXBPYmplY3RzKCdJbml0aWFsJykiLCBzdGVwMCk7
Ci0KLSAgICAgICAgICAgIGZ1bmN0aW9uIHN0ZXAwKCkKLSAgICAgICAgICAgIHsKLSAgICAgICAg
ICAgICAgICBSdW50aW1lQWdlbnQuZXZhbHVhdGUoIm9iamVjdDEiLCBzdGVwMSk7Ci0gICAgICAg
ICAgICB9Ci0KLSAgICAgICAgICAgIGZ1bmN0aW9uIHN0ZXAxKGVycm9yLCByZXN1bHQsIHdhc1Ro
cm93bikKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBvYmoxID0gV2ViSW5zcGVjdG9y
LlJlbW90ZU9iamVjdC5mcm9tUGF5bG9hZChyZXN1bHQpOwotICAgICAgICAgICAgICAgIFJ1bnRp
bWVBZ2VudC5ldmFsdWF0ZSgib2JqZWN0MiIsIHN0ZXAyKTsKLSAgICAgICAgICAgIH0KLQotICAg
ICAgICAgICAgZnVuY3Rpb24gc3RlcDIoZXJyb3IsIHJlc3VsdCwgd2FzVGhyb3duKQotICAgICAg
ICAgICAgewotICAgICAgICAgICAgICAgIG9iajIgPSBXZWJJbnNwZWN0b3IuUmVtb3RlT2JqZWN0
LmZyb21QYXlsb2FkKHJlc3VsdCk7Ci0gICAgICAgICAgICAgICAgbmV4dCgpOwotICAgICAgICAg
ICAgfQotICAgICAgICB9LAotCi0gICAgICAgIGZ1bmN0aW9uIHRlc3RHZXR0ZXJBbmRTZXR0ZXIo
bmV4dCkKLSAgICAgICAgewotICAgICAgICAgICAgb2JqMS5nZXRPd25Qcm9wZXJ0aWVzKHN0ZXAx
KTsKLQotICAgICAgICAgICAgZnVuY3Rpb24gc3RlcDEocHJvcGVydGllcykKLSAgICAgICAgICAg
IHsKLSAgICAgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHByb3BlcnRpZXMubGVuZ3Ro
OyArK2kpCi0gICAgICAgICAgICAgICAgICAgIGR1bXBQcm9wZXJ0eShwcm9wZXJ0aWVzW2ldKTsK
LQotICAgICAgICAgICAgICAgIG5leHQoKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfSwKLQot
ICAgICAgICBmdW5jdGlvbiB0ZXN0R2V0dGVyT25seShuZXh0KQotICAgICAgICB7Ci0gICAgICAg
ICAgICBvYmoyLmdldE93blByb3BlcnRpZXMoc3RlcDEpOwotCi0gICAgICAgICAgICBmdW5jdGlv
biBzdGVwMShwcm9wZXJ0aWVzKQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIGZvciAo
dmFyIGkgPSAwOyBpIDwgcHJvcGVydGllcy5sZW5ndGg7ICsraSkKLSAgICAgICAgICAgICAgICAg
ICAgZHVtcFByb3BlcnR5KHByb3BlcnRpZXNbaV0pOwotCi0gICAgICAgICAgICAgICAgbmV4dCgp
OwotICAgICAgICAgICAgfQotICAgICAgICB9Ci0gICAgXSk7Ci0KLSAgICBmdW5jdGlvbiBkdW1w
UHJvcGVydHkocHJvcGVydHkpCi0gICAgewotICAgICAgICBpZiAocHJvcGVydHkubmFtZSA9PT0g
Il9fcHJvdG9fXyIpCi0gICAgICAgICAgICByZXR1cm47Ci0KLSAgICAgICAgdmFyIHZhbHVlID0g
cHJvcGVydHkudmFsdWU7Ci0gICAgICAgIGlmICh2YWx1ZSkKLSAgICAgICAgICAgIHByb3BlcnR5
LnZhbHVlID0geyB0eXBlOiB2YWx1ZS50eXBlLCBkZXNjcmlwdGlvbjogdmFsdWUuZGVzY3JpcHRp
b24ucmVwbGFjZSgiZnVuY3Rpb24gZm9vIiwgImZ1bmN0aW9uICIpLCBvYmplY3RJZDogdmFsdWUu
b2JqZWN0SWQgfTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wKHByb3BlcnR5LCB7IG9iamVj
dElkOiAiZm9ybWF0QXNUeXBlTmFtZSIgfSk7Ci0gICAgfQotfQotCi08L3NjcmlwdD4KLTwvaGVh
ZD4KLQotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotPHA+Ci1UZXN0cyBSZW1vdGVPYmplY3Qu
Z2V0UHJvcGVydGllcy4KLTwvcD4KLQotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yL3J1bnRpbWUvcnVudGltZS1sb2NhbFN0b3JhZ2UtZ2V0UHJvcGVy
dGllcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvcnVudGltZS9ydW50aW1l
LWxvY2FsU3RvcmFnZS1nZXRQcm9wZXJ0aWVzLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMTA4MTRiZWNiNGUzNzJhMWQ0ZGM2NTE4NjU4ODVmZjBiOWMyOTNkNi4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9pbnNwZWN0b3IvcnVudGltZS9ydW50aW1lLWxvY2FsU3RvcmFnZS1nZXRQcm9wZXJ0aWVzLWV4
cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDEyICswLDAgQEAKLVRlc3RzIFJlbW90ZU9i
amVjdC5nZXRQcm9wZXJ0aWVzIG9uIGxvY2FsU3RvcmFnZSBvYmplY3QuIDY2MjE1Ci0KLXsKLSAg
ICBlbnVtZXJhYmxlIDogZmFsc2UKLSAgICBuYW1lIDogInRlc3RQcm9wZXJ0eSIKLSAgICB2YWx1
ZSA6IHsKLSAgICAgICAgZGVzY3JpcHRpb24gOiAidGVzdFByb3BlcnR5VmFsdWUiCi0gICAgICAg
IHR5cGUgOiAic3RyaW5nIgotICAgIH0KLSAgICB3cml0YWJsZSA6IGZhbHNlCi19Ci0KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9ydW50aW1lL3J1bnRpbWUtbG9jYWxTdG9yYWdl
LWdldFByb3BlcnRpZXMuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9ydW50aW1lL3J1bnRp
bWUtbG9jYWxTdG9yYWdlLWdldFByb3BlcnRpZXMuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggZDUxMWIwYjM3MzE1ZWMzMTNmOWMwMjA1NGVjZTg3NWI0ODAxNmM0YS4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3IvcnVudGltZS9ydW50aW1lLWxvY2FsU3RvcmFnZS1nZXRQcm9wZXJ0aWVzLmh0bWwKKysr
IC9kZXYvbnVsbApAQCAtMSw0MCArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9
Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQ+Ci0KLWxvY2FsU3RvcmFnZS50ZXN0UHJvcGVydHkgPSAidGVzdFByb3BlcnR5VmFs
dWUiOwotCi1mdW5jdGlvbiB0ZXN0KCkKLXsKLSAgICBSdW50aW1lQWdlbnQuZXZhbHVhdGUoImxv
Y2FsU3RvcmFnZSIsIHN0ZXAxKTsKLQotICAgIGZ1bmN0aW9uIHN0ZXAxKGVycm9yLCByZXN1bHQs
IHdhc1Rocm93bikKLSAgICB7Ci0gICAgICAgIHZhciBsb2NhbFN0b3JhZ2VIYW5kbGUgPSBXZWJJ
bnNwZWN0b3IuUmVtb3RlT2JqZWN0LmZyb21QYXlsb2FkKHJlc3VsdCk7Ci0gICAgICAgIGxvY2Fs
U3RvcmFnZUhhbmRsZS5nZXRPd25Qcm9wZXJ0aWVzKHN0ZXAyKTsKLSAgICB9Ci0KLSAgICBmdW5j
dGlvbiBzdGVwMihwcm9wZXJ0aWVzKQotICAgIHsKLSAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkg
PCBwcm9wZXJ0aWVzLmxlbmd0aDsgKytpKSB7Ci0gICAgICAgICAgICB2YXIgcHJvcGVydHkgPSBw
cm9wZXJ0aWVzW2ldOwotICAgICAgICAgICAgaWYgKHByb3BlcnR5Lm5hbWUgIT09ICJ0ZXN0UHJv
cGVydHkiKQotICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICAgICAgcHJvcGVydHku
dmFsdWUgPSB7IHR5cGU6IHByb3BlcnR5LnZhbHVlLnR5cGUsIGRlc2NyaXB0aW9uOiBwcm9wZXJ0
eS52YWx1ZS5kZXNjcmlwdGlvbiB9OyAgICAgICAgICAgICAgICAKLSAgICAgICAgICAgIEluc3Bl
Y3RvclRlc3QuZHVtcChwcm9wZXJ0eSk7Ci0gICAgICAgIH0KLSAgICAgICAgSW5zcGVjdG9yVGVz
dC5jb21wbGV0ZVRlc3QoKTsKLSAgICB9Ci19Ci0KLTwvc2NyaXB0PgotPC9oZWFkPgotCi08Ym9k
eSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci08cD4KLVRlc3RzIFJlbW90ZU9iamVjdC5nZXRQcm9wZXJ0
aWVzIG9uIGxvY2FsU3RvcmFnZSBvYmplY3QuIDxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD02NjIxNSI+NjYyMTU8L2E+Ci08L3A+Ci0KLTwvYm9keT4KLTwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9ydW50aW1lL3J1bnRpbWUt
c2V0UHJvcGVydHlWYWx1ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvcnVu
dGltZS9ydW50aW1lLXNldFByb3BlcnR5VmFsdWUtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCBmYjcwYzk2ZTExYTVhYzQzZTc2NzU5YjBhYzZjZjY5NjgwYWI2MjY4
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2luc3BlY3Rvci9ydW50aW1lL3J1bnRpbWUtc2V0UHJvcGVydHlWYWx1ZS1leHBlY3RlZC50
eHQKKysrIC9kZXYvbnVsbApAQCAtMSw0OSArMCwwIEBACi1DT05TT0xFIE1FU1NBR0U6IGxpbmUg
MTE6ID09PT09IEluaXRpYWwgPT09PT0KLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxMjogeyJmb28i
OjF9Ci1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTM6IAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDEx
OiA9PT09PSBTZXQgcHJpbWl0aXZlID09PT09Ci1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTI6IHsi
Zm9vIjoyfQotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDEzOiAKLUNPTlNPTEUgTUVTU0FHRTogbGlu
ZSAxMTogPT09PT0gU2V0IGhhbmRsZSA9PT09PQotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDEyOiB7
ImZvbyI6eyJiYXIiOjJ9fQotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDEzOiAKLUNPTlNPTEUgTUVT
U0FHRTogbGluZSAxMTogPT09PT0gU2V0IHVuZGVmaW5lZCA9PT09PQotQ09OU09MRSBNRVNTQUdF
OiBsaW5lIDEyOiB7fQotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDEzOiAKLUNPTlNPTEUgTUVTU0FH
RTogbGluZSAxMTogPT09PT0gU2V0IHplcm8gPT09PT0KLUNPTlNPTEUgTUVTU0FHRTogbGluZSAx
MjogeyJmb28iOjB9Ci1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTM6IAotQ09OU09MRSBNRVNTQUdF
OiBsaW5lIDExOiA9PT09PSBTZXQgbnVsbCA9PT09PQotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDEy
OiB7ImZvbyI6bnVsbH0KLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxMzogCi1DT05TT0xFIE1FU1NB
R0U6IGxpbmUgMTE6ID09PT09IFNldCBlbXB0eSBzdHJpbmcgPT09PT0KLUNPTlNPTEUgTUVTU0FH
RTogbGluZSAxMjogeyJmb28iOiIifQotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDEzOiAKLUNPTlNP
TEUgTUVTU0FHRTogbGluZSAxMTogPT09PT0gU2V0IGV4Y2VwdGlvbiA9PT09PQotQ09OU09MRSBN
RVNTQUdFOiBsaW5lIDEyOiB7ImZvbyI6IiJ9Ci1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTM6IAot
Q09OU09MRSBNRVNTQUdFOiBsaW5lIDExOiA9PT09PSBTZXQgbm9uLWZpbml0ZSBudW1iZXJzID09
PT09Ci1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTI6IHsiZm9vIjoiTmFOIiwiZm9vMSI6IkluZmlu
aXR5IiwiZm9vMiI6Ii1JbmZpbml0eSJ9Ci1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTM6IAotVGVz
dHMgV2ViSW5zcGVjdG9yLlJlbW92ZU9iamVjdC5zZXRQcm9wZXJ0eVZhbHVlIGltcGxlbWVudGF0
aW9uLgotCi0KLVJ1bm5pbmc6IHRlc3RTZXRVcAotCi1SdW5uaW5nOiB0ZXN0U2V0UHJpbWl0aXZl
Ci0KLVJ1bm5pbmc6IHRlc3RTZXRIYW5kbGUKLQotUnVubmluZzogdGVzdFNldFVuZGVmaW5lZAot
Ci1SdW5uaW5nOiB0ZXN0U2V0WmVybwotCi1SdW5uaW5nOiB0ZXN0U2V0TnVsbAotCi1SdW5uaW5n
OiB0ZXN0U2V0RW1wdHlTdHJpbmcKLQotUnVubmluZzogdGVzdFNldEV4Y2VwdGlvbgotZXhjZXB0
aW9uCi0KLVJ1bm5pbmc6IHRlc3RTZXROb25GaW5pdGVOdW1iZXJzCi0KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2luc3BlY3Rvci9ydW50aW1lL3J1bnRpbWUtc2V0UHJvcGVydHlWYWx1ZS5odG1s
IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3J1bnRpbWUvcnVudGltZS1zZXRQcm9wZXJ0eVZhbHVl
Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDYwYzNjMWM3OGJlYjdjZTBmOGEx
ZmI0MTBiZWY2ZjUyOTA0NjU5YTYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3J1bnRpbWUvcnVudGltZS1zZXRQcm9w
ZXJ0eVZhbHVlLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxNTIgKzAsMCBAQAotPGh0bWw+Ci08
aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3It
dGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotCi12YXIgb2JqZWN0MSA9IHsgZm9vOiAxIH07
Ci12YXIgb2JqZWN0MiA9IHsgYmFyOiAyIH07Ci0KLWZ1bmN0aW9uIGR1bXBPYmplY3QobGFiZWwp
Ci17Ci0gICAgY29uc29sZS5sb2coIj09PT09ICIgKyBsYWJlbCArICIgPT09PT0iKTsKLSAgICBj
b25zb2xlLmxvZyhKU09OLnN0cmluZ2lmeShvYmplY3QxLCByZXBsYWNlcikpOwotICAgIGNvbnNv
bGUubG9nKCIiKTsKLQotICAgIGZ1bmN0aW9uIHJlcGxhY2VyKGtleSwgdmFsdWUpCi0gICAgewot
ICAgICAgICBpZiAodHlwZW9mIHZhbHVlID09PSAibnVtYmVyIiAmJiAhaXNGaW5pdGUodmFsdWUp
KQotICAgICAgICAgICAgcmV0dXJuIFN0cmluZyh2YWx1ZSk7Ci0gICAgICAgIHJldHVybiB2YWx1
ZTsKLSAgICB9Ci19Ci0KLWZ1bmN0aW9uIHRlc3QoKQotewotICAgIHZhciBvYmoxLCBvYmoyOwot
Ci0gICAgSW5zcGVjdG9yVGVzdC5ydW5UZXN0U3VpdGUoWwotICAgICAgICBmdW5jdGlvbiB0ZXN0
U2V0VXAobmV4dCkKLSAgICAgICAgewotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0
ZUluUGFnZSgiZHVtcE9iamVjdCgnSW5pdGlhbCcpIiwgc3RlcDApOwotCi0gICAgICAgICAgICBm
dW5jdGlvbiBzdGVwMCgpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgUnVudGltZUFn
ZW50LmV2YWx1YXRlKCJvYmplY3QxIiwgc3RlcDEpOwotICAgICAgICAgICAgfQotCi0gICAgICAg
ICAgICBmdW5jdGlvbiBzdGVwMShlcnJvciwgcmVzdWx0LCB3YXNUaHJvd24pCi0gICAgICAgICAg
ICB7Ci0gICAgICAgICAgICAgICAgb2JqMSA9IFdlYkluc3BlY3Rvci5SZW1vdGVPYmplY3QuZnJv
bVBheWxvYWQocmVzdWx0KTsKLSAgICAgICAgICAgICAgICBSdW50aW1lQWdlbnQuZXZhbHVhdGUo
Im9iamVjdDIiLCBzdGVwMik7Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIGZ1bmN0aW9u
IHN0ZXAyKGVycm9yLCByZXN1bHQsIHdhc1Rocm93bikKLSAgICAgICAgICAgIHsKLSAgICAgICAg
ICAgICAgICBvYmoyID0gV2ViSW5zcGVjdG9yLlJlbW90ZU9iamVjdC5mcm9tUGF5bG9hZChyZXN1
bHQpOwotICAgICAgICAgICAgICAgIG5leHQoKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfSwK
LQotICAgICAgICBmdW5jdGlvbiB0ZXN0U2V0UHJpbWl0aXZlKG5leHQpCi0gICAgICAgIHsKLSAg
ICAgICAgICAgIG9iajEuc2V0UHJvcGVydHlWYWx1ZSgiZm9vIiwgIjIiLCBzdGVwMSk7Ci0KLSAg
ICAgICAgICAgIGZ1bmN0aW9uIHN0ZXAxKCkKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAg
ICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJkdW1wT2JqZWN0KCdTZXQgcHJpbWl0aXZl
JykiLCBuZXh0KTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfSwKLQotICAgICAgICBmdW5jdGlv
biB0ZXN0U2V0SGFuZGxlKG5leHQpCi0gICAgICAgIHsKLSAgICAgICAgICAgIG9iajEuc2V0UHJv
cGVydHlWYWx1ZSgiZm9vIiwgIm9iamVjdDIiLCBzdGVwMSk7Ci0KLSAgICAgICAgICAgIGZ1bmN0
aW9uIHN0ZXAxKCkKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0
LmV2YWx1YXRlSW5QYWdlKCJkdW1wT2JqZWN0KCdTZXQgaGFuZGxlJykiLCBuZXh0KTsKLSAgICAg
ICAgICAgIH0KLSAgICAgICAgfSwKLQotICAgICAgICBmdW5jdGlvbiB0ZXN0U2V0VW5kZWZpbmVk
KG5leHQpCi0gICAgICAgIHsKLSAgICAgICAgICAgIG9iajEuc2V0UHJvcGVydHlWYWx1ZSgiZm9v
IiwgInVuZGVmaW5lZCIsIHN0ZXAxKTsKLQotICAgICAgICAgICAgZnVuY3Rpb24gc3RlcDEoKQot
ICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBh
Z2UoImR1bXBPYmplY3QoJ1NldCB1bmRlZmluZWQnKSIsIG5leHQpOwotICAgICAgICAgICAgfQot
ICAgICAgICB9LAotCi0gICAgICAgIGZ1bmN0aW9uIHRlc3RTZXRaZXJvKG5leHQpCi0gICAgICAg
IHsKLSAgICAgICAgICAgIG9iajEuc2V0UHJvcGVydHlWYWx1ZSgiZm9vIiwgIjAiLCBzdGVwMSk7
Ci0KLSAgICAgICAgICAgIGZ1bmN0aW9uIHN0ZXAxKCkKLSAgICAgICAgICAgIHsKLSAgICAgICAg
ICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJkdW1wT2JqZWN0KCdTZXQgemVy
bycpIiwgbmV4dCk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0sCi0KLSAgICAgICAgZnVuY3Rp
b24gdGVzdFNldE51bGwobmV4dCkKLSAgICAgICAgewotICAgICAgICAgICAgb2JqMS5zZXRQcm9w
ZXJ0eVZhbHVlKCJmb28iLCAibnVsbCIsIHN0ZXAxKTsKLQotICAgICAgICAgICAgZnVuY3Rpb24g
c3RlcDEoKQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXZh
bHVhdGVJblBhZ2UoImR1bXBPYmplY3QoJ1NldCBudWxsJykiLCBuZXh0KTsKLSAgICAgICAgICAg
IH0KLSAgICAgICAgfSwKLQotICAgICAgICBmdW5jdGlvbiB0ZXN0U2V0RW1wdHlTdHJpbmcobmV4
dCkKLSAgICAgICAgewotICAgICAgICAgICAgb2JqMS5zZXRQcm9wZXJ0eVZhbHVlKCJmb28iLCAi
XCJcIiIsIHN0ZXAxKTsKLQotICAgICAgICAgICAgZnVuY3Rpb24gc3RlcDEoKQotICAgICAgICAg
ICAgewotICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoImR1bXBP
YmplY3QoJ1NldCBlbXB0eSBzdHJpbmcnKSIsIG5leHQpOwotICAgICAgICAgICAgfQotICAgICAg
ICB9LAotCi0gICAgICAgIGZ1bmN0aW9uIHRlc3RTZXRFeGNlcHRpb24obmV4dCkKLSAgICAgICAg
ewotICAgICAgICAgICAgb2JqMS5zZXRQcm9wZXJ0eVZhbHVlKCJmb28iLCAidGhyb3cgJ2V4Y2Vw
dGlvbiciLCBzdGVwMSk7Ci0KLSAgICAgICAgICAgIGZ1bmN0aW9uIHN0ZXAxKGVycm9yKQotICAg
ICAgICAgICAgewotICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KGVycm9y
KTsKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJkdW1wT2Jq
ZWN0KCdTZXQgZXhjZXB0aW9uJykiLCBuZXh0KTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfSwK
LQotICAgICAgICBmdW5jdGlvbiB0ZXN0U2V0Tm9uRmluaXRlTnVtYmVycyhuZXh0KQotICAgICAg
ICB7Ci0gICAgICAgICAgICBvYmoxLnNldFByb3BlcnR5VmFsdWUoImZvbyIsICJOYU4iLCBzdGVw
MSk7Ci0KLSAgICAgICAgICAgIGZ1bmN0aW9uIHN0ZXAxKGVycm9yKQotICAgICAgICAgICAgewot
ICAgICAgICAgICAgICAgIG9iajEuc2V0UHJvcGVydHlWYWx1ZSgiZm9vMSIsICJJbmZpbml0eSIs
IHN0ZXAyKTsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgZnVuY3Rpb24gc3RlcDIoZXJy
b3IpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgb2JqMS5zZXRQcm9wZXJ0eVZhbHVl
KCJmb28yIiwgIi1JbmZpbml0eSIsIHN0ZXAzKTsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAg
ICAgZnVuY3Rpb24gc3RlcDMoZXJyb3IpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAg
SW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgiZHVtcE9iamVjdCgnU2V0IG5vbi1maW5pdGUg
bnVtYmVycycpIiwgbmV4dCk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICBdKTsKLX0K
LQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci0KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxwPgot
VGVzdHMgV2ViSW5zcGVjdG9yLlJlbW92ZU9iamVjdC5zZXRQcm9wZXJ0eVZhbHVlIGltcGxlbWVu
dGF0aW9uLgotPC9wPgotCi08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbnNwZWN0b3Ivc2NyaXB0LWV4ZWN1dGlvbi1zdGF0ZS1jaGFuZ2Utbm90aWZpY2F0aW9uLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9zY3JpcHQtZXhlY3V0aW9uLXN0YXRl
LWNoYW5nZS1ub3RpZmljYXRpb24tZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCA5MTU1OGIxMmVlOTJlNjRmZWNmZTJmN2YyMjljYjYxMTNjNjdjMWNlLi4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci9zY3JpcHQtZXhlY3V0aW9uLXN0YXRlLWNoYW5nZS1ub3RpZmljYXRpb24tZXhwZWN0ZWQu
dHh0CisrKyAvZGV2L251bGwKQEAgLTEsOSArMCwwIEBACi1UZXN0cyB0aGF0IHdoZW5ldmVyIFNj
cmlwdCBFeGVjdXRpb24gc3RhdGUgaXMgY2hhbmdlZCBvdXRzaWRlIGluc3BlY3RvciwgaXRzIG5v
dGlmaWVkIHRvIHRoZSBJbnNwZWN0b3IgZnJvbnQtZW5kLgotCi1SZWdpc3RlcmVkIFBhZ2VEaXNw
YXRjaGVyLnNjcmlwdHNFbmFibGVkKCkKLXJ1bm5pbmcgZGlzYWJsZUphdmFTY3JpcHRUZXN0Li4u
Ci1QYWdlRGlzcGF0Y2hlci5zY3JpcHRzRW5hYmxlZCBzaG91bGQgYmUgaW52b2tlZCB3aXRoIGlz
RW5hYmxlZD1mYWxzZQotcnVubmluZyBlbmFibGVKYXZhU2NyaXB0VGVzdC4uLgotUGFnZURpc3Bh
dGNoZXIuc2NyaXB0c0VuYWJsZWQgc2hvdWxkIGJlIGludm9rZWQgd2l0aCBpc0VuYWJsZWQ9dHJ1
ZQotRmluaXNoZWQgdmVyaWZpY2F0aW9uLgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3Ivc2NyaXB0LWV4ZWN1dGlvbi1zdGF0ZS1jaGFuZ2Utbm90aWZpY2F0aW9uLmh0bWwgYi9M
YXlvdXRUZXN0cy9pbnNwZWN0b3Ivc2NyaXB0LWV4ZWN1dGlvbi1zdGF0ZS1jaGFuZ2Utbm90aWZp
Y2F0aW9uLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg0ZjJiZDgyMzI3NzY3
YTRiOTNiODRlMGQ4NTcyYjg0ZDY4Y2NhNzEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3NjcmlwdC1leGVjdXRpb24t
c3RhdGUtY2hhbmdlLW5vdGlmaWNhdGlvbi5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNTQgKzAs
MCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi9odHRwL3Rlc3RzL2luc3BlY3Rv
ci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotCi1mdW5jdGlvbiBlbmFi
bGVKYXZhU2NyaXB0Rm9yUGFnZSgpCi17Ci0gICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAg
ICAgICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0SmF2YVNjcmlwdEVuYWJs
ZWQiLCB0cnVlKTsKLX0KLQotZnVuY3Rpb24gZGlzYWJsZUphdmFTY3JpcHRGb3JQYWdlKCkKLXsK
LSAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQ
cmVmZXJlbmNlKCJXZWJLaXRKYXZhU2NyaXB0RW5hYmxlZCIsIGZhbHNlKTsKLX0KLQotZnVuY3Rp
b24gdGVzdCgpCi17Ci0gICAgZnVuY3Rpb24gc2NyaXB0c0VuYWJsZWQoaXNFbmFibGVkKQotICAg
IHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIlBhZ2VEaXNwYXRjaGVyLnNjcmlw
dHNFbmFibGVkIHNob3VsZCBiZSBpbnZva2VkIHdpdGggaXNFbmFibGVkPSIgKyBpc0VuYWJsZWQp
OwotICAgIH0KLQotICAgIGZ1bmN0aW9uIGRpc2FibGVKYXZhU2NyaXB0VGVzdCgpCi0gICAgewot
ICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgicnVubmluZyBkaXNhYmxlSmF2YVNjcmlw
dFRlc3QuLi4iKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgiZGlzYWJs
ZUphdmFTY3JpcHRGb3JQYWdlKCk7IiwgZW5hYmxlSmF2YVNjcmlwdFRlc3QpOwotICAgIH0KLQot
ICAgIGZ1bmN0aW9uIGVuYWJsZUphdmFTY3JpcHRUZXN0KCkKLSAgICB7Ci0gICAgICAgIEluc3Bl
Y3RvclRlc3QuYWRkUmVzdWx0KCJydW5uaW5nIGVuYWJsZUphdmFTY3JpcHRUZXN0Li4uIik7Ci0g
ICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoImVuYWJsZUphdmFTY3JpcHRGb3JQ
YWdlKCk7IiwgZmluaXNoKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBmaW5pc2goKQotICAgIHsK
LSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIkZpbmlzaGVkIHZlcmlmaWNhdGlvbi4i
KQotICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwotICAgIH0KLQotICAgIElu
c3BlY3RvclRlc3QuYWRkU25pZmZlcihXZWJJbnNwZWN0b3IuUGFnZURpc3BhdGNoZXIucHJvdG90
eXBlLCAic2NyaXB0c0VuYWJsZWQiLCBzY3JpcHRzRW5hYmxlZCwgdHJ1ZSk7Ci0gICAgSW5zcGVj
dG9yVGVzdC5hZGRSZXN1bHQoIlJlZ2lzdGVyZWQgUGFnZURpc3BhdGNoZXIuc2NyaXB0c0VuYWJs
ZWQoKSIpOwotICAgIGRpc2FibGVKYXZhU2NyaXB0VGVzdCgpOwotfQotPC9zY3JpcHQ+Ci08L2hl
YWQ+Ci0KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxwPlRlc3RzIHRoYXQgd2hlbmV2ZXIg
U2NyaXB0IEV4ZWN1dGlvbiBzdGF0ZSBpcyBjaGFuZ2VkIG91dHNpZGUgaW5zcGVjdG9yLCBpdHMg
bm90aWZpZWQgdG8gdGhlIEluc3BlY3RvciBmcm9udC1lbmQuPC9wPgotPC9ib2R5PgotPC9odG1s
PgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Ivc3RvcmFnZS1wYW5lbC1kb20t
c3RvcmFnZS1lbXB0eS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Ivc3RvcmFn
ZS1wYW5lbC1kb20tc3RvcmFnZS1lbXB0eS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDliY2I5NTIxMWNhNDhkNTFkMDVhZDdhNzY3NzBkN2ZjNzRmNjA5YmIuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yL3N0b3JhZ2UtcGFuZWwtZG9tLXN0b3JhZ2UtZW1wdHktZXhwZWN0ZWQudHh0Cisr
KyAvZGV2L251bGwKQEAgLTEsMTEgKzAsMCBAQAotVGVzdCB0aGF0IHN0b3JhZ2UgcGFuZWwgaXMg
cHJlc2VudCBhbmQgdGhhdCBpdCBjb250YWlucyBubyBkYXRhIGZvciBsb2NhbCBhbmQgc2Vzc2lv
biBET00gc3RvcmFnZXMuCi0KLVBvcHVsYXRlZCBsb2NhbCBhbmQgc2Vzc2lvbiBzdG9yYWdlCi1E
aWQgc2hvdzogTG9jYWwgc3RvcmFnZQotRGlkIHNob3c6IFNlc3Npb24gc3RvcmFnZQotTG9jYWwg
c3RvcmFnZSBjb250ZW50OiAKLUtleVZhbHVlIHBhaXJzOiAKLVNlc3Npb24gc3RvcmFnZSBjb250
ZW50OiAKLUtleVZhbHVlIHBhaXJzOiAKLURPTkUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yL3N0b3JhZ2UtcGFuZWwtZG9tLXN0b3JhZ2UtZW1wdHkuaHRtbCBiL0xheW91dFRl
c3RzL2luc3BlY3Rvci9zdG9yYWdlLXBhbmVsLWRvbS1zdG9yYWdlLWVtcHR5Lmh0bWwKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDA0YjdmMjYyM2UwZjAyM2E1NmNjZThjM2IzYmFkNTY2
NDNiZTA0NWYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0b3JhZ2UtcGFuZWwtZG9tLXN0b3JhZ2UtZW1wdHkuaHRt
bAorKysgL2Rldi9udWxsCkBAIC0xLDcwICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0
IHNyYz0iLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0
PgotPHNjcmlwdD4KLQotZnVuY3Rpb24gY2xlYXJET01TdG9yYWdlKCkKLXsKLSAgICBsb2NhbFN0
b3JhZ2UuY2xlYXIoKTsKLSAgICBzZXNzaW9uU3RvcmFnZS5jbGVhcigpOwotfQotCi1mdW5jdGlv
biB0ZXN0KCkKLXsKLSAgICBXZWJJbnNwZWN0b3Iuc2hvd1BhbmVsKCJyZXNvdXJjZXMiKTsKLQot
ICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoImNsZWFyRE9NU3RvcmFnZSgpIiwgZnVu
Y3Rpb24ocmVzdWx0KSB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJQb3B1bGF0
ZWQgbG9jYWwgYW5kIHNlc3Npb24gc3RvcmFnZSIpOwotICAgIH0pOwotICAgIGZ1bmN0aW9uIG5h
bWUoc3RvcmFnZSkKLSAgICB7Ci0gICAgICAgIHJldHVybiBzdG9yYWdlLmlzTG9jYWxTdG9yYWdl
ID8gIkxvY2FsIHN0b3JhZ2UiIDogIlNlc3Npb24gc3RvcmFnZSI7Ci0gICAgfQotCi0gICAgZnVu
Y3Rpb24gZHVtcERhdGFHcmlkQ29udGVudChkYXRhR3JpZCkKLSAgICB7Ci0gICAgICAgIHZhciBu
b2RlcyA9IGRhdGFHcmlkLnJvb3ROb2RlKCkuY2hpbGRyZW47Ci0gICAgICAgIHZhciByb3dzID0g
W107Ci0gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbm9kZXMubGVuZ3RoOyArK2kpIHsKLSAg
ICAgICAgICAgIHZhciBub2RlID0gbm9kZXNbaV07Ci0gICAgICAgICAgICByb3dzLnB1c2gobm9k
ZS5fZGF0YS5rZXkgKyBub2RlLl9kYXRhLnZhbHVlKTsKLSAgICAgICAgfQotICAgICAgICByb3dz
LnNvcnQoKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIktleVZhbHVlIHBhaXJz
OiAiICsgcm93cy5qb2luKCcnKSk7Ci0gICAgfQotCi0gICAgSW5zcGVjdG9yVGVzdC5ydW5BZnRl
clBlbmRpbmdEaXNwYXRjaGVzKGZ1bmN0aW9uKCkgewotICAgICAgICB2YXIgc3RvcmFnZXMgPSBX
ZWJJbnNwZWN0b3IuZG9tU3RvcmFnZU1vZGVsLnN0b3JhZ2VzKCk7Ci0gICAgICAgIGlmIChzdG9y
YWdlcykgewotICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBzdG9yYWdlcy5sZW5ndGg7
IGkrKykgewotICAgICAgICAgICAgICAgIHZhciBzdG9yYWdlID0gc3RvcmFnZXNbaV07Ci0gICAg
ICAgICAgICAgICAgV2ViSW5zcGVjdG9yLnBhbmVscy5yZXNvdXJjZXMuX3Nob3dET01TdG9yYWdl
KHN0b3JhZ2UpOwotICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJEaWQg
c2hvdzogIiArIG5hbWUoc3RvcmFnZSkpOwotICAgICAgICAgICAgfQotICAgICAgICB9IGVsc2UK
LSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJGQUlMOiBubyBET00gc3RvcmFn
ZXMgZm91bmQuIik7Ci0KLSAgICAgICAgSW5zcGVjdG9yVGVzdC5ydW5BZnRlclBlbmRpbmdEaXNw
YXRjaGVzKGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgdmFyIHN0b3JhZ2VzID0gV2ViSW5zcGVj
dG9yLmRvbVN0b3JhZ2VNb2RlbC5zdG9yYWdlcygpOwotICAgICAgICAgICAgZm9yICh2YXIgaSA9
IDA7IGkgPCBzdG9yYWdlcy5sZW5ndGg7IGkrKykgewotICAgICAgICAgICAgICAgIHZhciBzdG9y
YWdlID0gc3RvcmFnZXNbaV07Ci0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1
bHQobmFtZShzdG9yYWdlKSArICIgY29udGVudDogIik7Ci0gICAgICAgICAgICAgICAgdmFyIHZp
ZXcgPSBXZWJJbnNwZWN0b3IucGFuZWxzLnJlc291cmNlcy5fZG9tU3RvcmFnZVZpZXdzLmdldChz
dG9yYWdlKTsKLSAgICAgICAgICAgICAgICBkdW1wRGF0YUdyaWRDb250ZW50KHZpZXcuX2RhdGFH
cmlkKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0
KCJET05FIik7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwotICAg
ICAgICB9KTsKLSAgICB9KTsKLX0KLQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci0KLTxib2R5IG9ubG9h
ZD0icnVuVGVzdCgpIj4KLTxwPgotVGVzdCB0aGF0IHN0b3JhZ2UgcGFuZWwgaXMgcHJlc2VudCBh
bmQgdGhhdCBpdCBjb250YWlucyBubyBkYXRhIGZvciBsb2NhbCBhbmQgc2Vzc2lvbiBET00gc3Rv
cmFnZXMuCi08L3A+Ci0KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2luc3BlY3Rvci9zdG9yYWdlLXBhbmVsLWRvbS1zdG9yYWdlLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2luc3BlY3Rvci9zdG9yYWdlLXBhbmVsLWRvbS1zdG9yYWdlLWV4cGVjdGVkLnR4dApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTMzMmExZjVhZjdjY2Q4ODNjOWU4NDk1OGUz
ZDE2YjllNjQzZmUxYy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Ivc3RvcmFnZS1wYW5lbC1kb20tc3RvcmFnZS1leHBl
Y3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxMSArMCwwIEBACi1UZXN0IHRoYXQgc3RvcmFn
ZSBwYW5lbCBpcyBwcmVzZW50IGFuZCB0aGF0IGl0IGNvbnRhaW5zIGNvcnJlY3QgZGF0YSBmb3Ig
bG9jYWwgYW5kIHNlc3Npb24gRE9NIHN0b3JhZ2VzLgotCi1Qb3B1bGF0ZWQgbG9jYWwgYW5kIHNl
c3Npb24gc3RvcmFnZQotRGlkIHNob3c6IExvY2FsIHN0b3JhZ2UKLURpZCBzaG93OiBTZXNzaW9u
IHN0b3JhZ2UKLUxvY2FsIHN0b3JhZ2UgY29udGVudDogCi1LZXlWYWx1ZSBwYWlyczogYTA9dmFs
dWUwLCBhMT12YWx1ZTEsIGEyPXZhbHVlMiwgYTM9dmFsdWUzLCBhND12YWx1ZTQsIGE1PXZhbHVl
NSwgYTY9dmFsdWU2LCBhNz12YWx1ZTcsIGE4PXZhbHVlOCwgYTk9dmFsdWU5LCByZXNvdXJjZS1o
aXN0b3J5e30KLVNlc3Npb24gc3RvcmFnZSBjb250ZW50OiAKLUtleVZhbHVlIHBhaXJzOiBiMD12
YWx1ZTEwLCBiMT12YWx1ZTExLCBiMj12YWx1ZTEyLCBiMz12YWx1ZTEzLCBiND12YWx1ZTE0LCBi
NT12YWx1ZTE1LCBiNj12YWx1ZTE2LCBiNz12YWx1ZTE3LCBiOD12YWx1ZTE4LCBiOT12YWx1ZTE5
LCAKLURPTkUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0b3JhZ2UtcGFu
ZWwtZG9tLXN0b3JhZ2UtdXBkYXRlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rv
ci9zdG9yYWdlLXBhbmVsLWRvbS1zdG9yYWdlLXVwZGF0ZS1leHBlY3RlZC50eHQKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDE0NDkxZTAzOTBmMmQ0ZmExNGU0ZDYzMjhjNWQwMDM4YmJj
YmU0NTcuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yL3N0b3JhZ2UtcGFuZWwtZG9tLXN0b3JhZ2UtdXBkYXRlLWV4cGVj
dGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDMxICswLDAgQEAKLVRlc3QgdGhhdCBzdG9yYWdl
IHBhbmVsIGlzIHByZXNlbnQgYW5kIHRoYXQgaXQgY29udGFpbnMgY29ycmVjdCBkYXRhIHdoZW5l
dmVyIGxvY2FsU3RvcmFnZSBpcyB1cGRhdGVkLgotCi0KLVJ1bm5pbmc6IGluaXRpYWxpemUKLUlu
aXRpYWxpemVkIGxvY2FsU3RvcmFnZSBieSBjbGVhcmluZyBlbnRyaWVzCi0KLVJ1bm5pbmc6IHVw
ZGF0ZUxvY2FsU3RvcmFnZVZpZXcKLVJlc291cmNlIFBhbmVsIHdpdGggbG9jYWxTdG9yYWdlIHZp
ZXcgdXBkYXRlZAotCi1SdW5uaW5nOiBhZGRJdGVtVGVzdAotYWRkSXRlbSgnYTEnLCc9dmFsdWUx
JykKLUtleVZhbHVlIHBhaXJzOiBbYTE9dmFsdWUxXQotYWRkSXRlbSgnYTInLCc9dmFsdWUyJykK
LUtleVZhbHVlIHBhaXJzOiBbYTE9dmFsdWUxLGEyPXZhbHVlMl0KLWFkZEl0ZW0oJ2EzJywnPXZh
bHVlMycpCi1LZXlWYWx1ZSBwYWlyczogW2ExPXZhbHVlMSxhMj12YWx1ZTIsYTM9dmFsdWUzXQot
YWRkSXRlbSgnYTQnLCc9dmFsdWU0JykKLUtleVZhbHVlIHBhaXJzOiBbYTE9dmFsdWUxLGEyPXZh
bHVlMixhMz12YWx1ZTMsYTQ9dmFsdWU0XQotYWRkSXRlbSgnYTUnLCc9dmFsdWU1JykKLUtleVZh
bHVlIHBhaXJzOiBbYTE9dmFsdWUxLGEyPXZhbHVlMixhMz12YWx1ZTMsYTQ9dmFsdWU0LGE1PXZh
bHVlNV0KLQotUnVubmluZzogcmVtb3ZlSXRlbVRlc3QKLXJlbW92ZUl0ZW0oJ2E1JykKLUtleVZh
bHVlIHBhaXJzOiBbYTE9dmFsdWUxLGEyPXZhbHVlMixhMz12YWx1ZTMsYTQ9dmFsdWU0XQotcmVt
b3ZlSXRlbSgnYTQnKQotS2V5VmFsdWUgcGFpcnM6IFthMT12YWx1ZTEsYTI9dmFsdWUyLGEzPXZh
bHVlM10KLQotUnVubmluZzogY2xlYXJUZXN0Ci1jbGVhcigpCi1LZXlWYWx1ZSBwYWlyczogW10K
LQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0b3JhZ2UtcGFuZWwtZG9tLXN0
b3JhZ2UtdXBkYXRlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Ivc3RvcmFnZS1wYW5lbC1k
b20tc3RvcmFnZS11cGRhdGUuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjhk
Y2FkOTM4MmU0NmJiNTZmOTk2YTk3ZjkwYTlkZmM3MzY1MTI2ZC4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Ivc3RvcmFn
ZS1wYW5lbC1kb20tc3RvcmFnZS11cGRhdGUuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDE3MSAr
MCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uL2h0dHAvdGVzdHMvaW5zcGVj
dG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci1mdW5jdGlvbiBhZGRJ
dGVtKGtleSx2YWx1ZSkKLXsKLSAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShrZXksdmFsdWUpOwot
fQotCi1mdW5jdGlvbiByZW1vdmVJdGVtKGtleSkKLXsKLSAgICBsb2NhbFN0b3JhZ2UucmVtb3Zl
SXRlbShrZXkpOwotfQotCi1mdW5jdGlvbiBjbGVhcigpCi17Ci0gICAgbG9jYWxTdG9yYWdlLmNs
ZWFyKCk7Ci19Ci0KLWZ1bmN0aW9uIHRlc3QoKQotewotICAgIHZhciBzdG9yYWdlID0gbnVsbDsK
LSAgICB2YXIgcm9vdE5vZGUgPSBudWxsOwotICAgIHZhciBjb3VudCA9IDE7Ci0KLSAgICAvLyBS
ZXNvdXJjZXMgcGFuZWwgbXVzdCBiZSB2aXNpYmxlCi0gICAgV2ViSW5zcGVjdG9yLnNob3dQYW5l
bCgicmVzb3VyY2VzIik7Ci0KLSAgICBmdW5jdGlvbiBkdW1wRGF0YUdyaWQoKQotICAgIHsKLSAg
ICAgICAgdmFyIG5vZGVzID0gcm9vdE5vZGUuY2hpbGRyZW47Ci0gICAgICAgIHZhciByb3dzID0g
W107Ci0gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbm9kZXMubGVuZ3RoOyArK2kpIHsKLSAg
ICAgICAgICAgIHZhciBub2RlID0gbm9kZXNbaV07Ci0gICAgICAgICAgICBpZiAobm9kZS5fZGF0
YS5rZXkubGVuZ3RoKQotICAgICAgICAgICAgICAgIHJvd3MucHVzaChub2RlLl9kYXRhLmtleSAr
IG5vZGUuX2RhdGEudmFsdWUpOwotICAgICAgICB9Ci0gICAgICAgIHJvd3Muc29ydCgpOwotICAg
ICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiS2V5VmFsdWUgcGFpcnM6IFsiICsgcm93cy5q
b2luKCkgKyAiXSIpOwotICAgIH0KLQotICAgIHZhciBuZXh0RE9NU3RvcmFnZUNsZWFySGFuZGxl
ciA9IG51bGw7Ci0gICAgSW5zcGVjdG9yVGVzdC5hZGRTbmlmZmVyKFdlYkluc3BlY3Rvci5ET01T
dG9yYWdlRGlzcGF0Y2hlci5wcm90b3R5cGUsICJkb21TdG9yYWdlSXRlbXNDbGVhcmVkIiwgZnVu
Y3Rpb24oKSB7Ci0gICAgICAgIGlmIChuZXh0RE9NU3RvcmFnZUNsZWFySGFuZGxlcikgewotICAg
ICAgICAgICAgdmFyIGhhbmRsZXIgPSBuZXh0RE9NU3RvcmFnZUNsZWFySGFuZGxlcjsKLSAgICAg
ICAgICAgIG5leHRET01TdG9yYWdlQ2xlYXJIYW5kbGVyID0gbnVsbDsKLSAgICAgICAgICAgIGhh
bmRsZXIoKTsKLSAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJl
c3VsdCgiRVJST1I6IGRvbVN0b3JhZ2VJdGVtc0NsZWFyZWQgZXZlbnQgd2l0aG91dCBoYW5kbGVy
Iik7Ci0gICAgfSwgdHJ1ZSk7Ci0KLSAgICB2YXIgbmV4dERPTVN0b3JhZ2VBZGRIYW5kbGVyID0g
bnVsbDsKLSAgICBJbnNwZWN0b3JUZXN0LmFkZFNuaWZmZXIoV2ViSW5zcGVjdG9yLkRPTVN0b3Jh
Z2VEaXNwYXRjaGVyLnByb3RvdHlwZSwgImRvbVN0b3JhZ2VJdGVtQWRkZWQiLCBmdW5jdGlvbigp
IHsKLSAgICAgICAgaWYgKG5leHRET01TdG9yYWdlQWRkSGFuZGxlcikgewotICAgICAgICAgICAg
dmFyIGhhbmRsZXIgPSBuZXh0RE9NU3RvcmFnZUFkZEhhbmRsZXI7Ci0gICAgICAgICAgICBuZXh0
RE9NU3RvcmFnZUFkZEhhbmRsZXIgPSBudWxsOwotICAgICAgICAgICAgaGFuZGxlcigpOwotICAg
ICAgICB9IGVsc2UKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJFUlJPUjog
ZG9tU3RvcmFnZUl0ZW1BZGRlZCBldmVudCB3aXRob3V0IGhhbmRsZXIiKTsKLSAgICB9LCB0cnVl
KTsKLQotICAgIHZhciBuZXh0RE9NU3RvcmFnZVJlbW92ZUhhbmRsZXIgPSBudWxsOwotICAgIElu
c3BlY3RvclRlc3QuYWRkU25pZmZlcihXZWJJbnNwZWN0b3IuRE9NU3RvcmFnZURpc3BhdGNoZXIu
cHJvdG90eXBlLCAiZG9tU3RvcmFnZUl0ZW1SZW1vdmVkIiwgZnVuY3Rpb24oKSB7Ci0gICAgICAg
IGlmIChuZXh0RE9NU3RvcmFnZVJlbW92ZUhhbmRsZXIpIHsKLSAgICAgICAgICAgIHZhciBoYW5k
bGVyID0gbmV4dERPTVN0b3JhZ2VSZW1vdmVIYW5kbGVyOwotICAgICAgICAgICAgbmV4dERPTVN0
b3JhZ2VSZW1vdmVIYW5kbGVyID0gbnVsbDsKLSAgICAgICAgICAgIGhhbmRsZXIoKTsKLSAgICAg
ICAgfSBlbHNlCi0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiRVJST1I6IGRv
bVN0b3JhZ2VJdGVtUmVtb3ZlZCBldmVudCB3aXRob3V0IGhhbmRsZXIiKTsKLSAgICB9LCB0cnVl
KTsKLQotICAgIEluc3BlY3RvclRlc3QucnVuVGVzdFN1aXRlKFsKLSAgICAgICAgZnVuY3Rpb24g
aW5pdGlhbGl6ZShuZXh0KQotICAgICAgICB7Ci0gICAgICAgICAgICBmdW5jdGlvbiBkaWRDbGVh
cihyZXN1bHQpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5h
ZGRSZXN1bHQoIkluaXRpYWxpemVkIGxvY2FsU3RvcmFnZSBieSBjbGVhcmluZyBlbnRyaWVzIik7
Ci0gICAgICAgICAgICAgICAgbmV4dCgpOwotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICBu
ZXh0RE9NU3RvcmFnZUNsZWFySGFuZGxlciA9IGRpZENsZWFyOwotCi0gICAgICAgICAgICBJbnNw
ZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJjbGVhcigpIik7Ci0gICAgICAgIH0sCi0KLSAgICAg
ICAgZnVuY3Rpb24gdXBkYXRlTG9jYWxTdG9yYWdlVmlldyhuZXh0KQotICAgICAgICB7Ci0gICAg
ICAgICAgICBmdW5jdGlvbiBsb2NhbFN0b3JhZ2VWaWV3VXBkYXRlZCgpCi0gICAgICAgICAgICB7
Ci0gICAgICAgICAgICAgICAgcm9vdE5vZGUgPSBXZWJJbnNwZWN0b3IucGFuZWxzLnJlc291cmNl
cy5fZG9tU3RvcmFnZVZpZXdzLmdldChzdG9yYWdlKS5fZGF0YUdyaWQucm9vdE5vZGUoKTsKLSAg
ICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiUmVzb3VyY2UgUGFuZWwgd2l0
aCBsb2NhbFN0b3JhZ2UgdmlldyB1cGRhdGVkIik7Ci0gICAgICAgICAgICAgICAgbmV4dCgpOwot
ICAgICAgICAgICAgfQotCi0gICAgICAgICAgICB2YXIgZGlkRmluZFN0b3JhZ2UgPSBmYWxzZTsK
LQotICAgICAgICAgICAgdmFyIHN0b3JhZ2VzID0gV2ViSW5zcGVjdG9yLmRvbVN0b3JhZ2VNb2Rl
bC5zdG9yYWdlcygpOwotICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBzdG9yYWdlcy5s
ZW5ndGg7ICsraSkgewotICAgICAgICAgICAgICAgIHN0b3JhZ2UgPSBzdG9yYWdlc1tpXTsKLSAg
ICAgICAgICAgICAgICBpZiAoc3RvcmFnZS5pc0xvY2FsU3RvcmFnZSkgewotICAgICAgICAgICAg
ICAgICAgICBXZWJJbnNwZWN0b3IucGFuZWxzLnJlc291cmNlcy5fc2hvd0RPTVN0b3JhZ2Uoc3Rv
cmFnZSk7Ci0gICAgICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QucnVuQWZ0ZXJQZW5kaW5n
RGlzcGF0Y2hlcyhsb2NhbFN0b3JhZ2VWaWV3VXBkYXRlZCk7Ci0gICAgICAgICAgICAgICAgICAg
IGRpZEZpbmRTdG9yYWdlID0gdHJ1ZTsKLSAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAg
ICAgICAgICAgICAgfQotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICBpZiAoIWRpZEZpbmRT
dG9yYWdlKQotICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJkaWQgbm90
IGZpbmQgbG9jYWwgc3RvcmFnZSIpOwotICAgICAgICB9LAotCi0gICAgICAgIGZ1bmN0aW9uIGFk
ZEl0ZW1UZXN0KG5leHQpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGZ1bmN0aW9uIHZpZXdVcGRh
dGVkQWZ0ZXJBZGRpdGlvbigpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgcm9vdE5v
ZGUgPSBXZWJJbnNwZWN0b3IucGFuZWxzLnJlc291cmNlcy5fZG9tU3RvcmFnZVZpZXdzLmdldChz
dG9yYWdlKS5fZGF0YUdyaWQucm9vdE5vZGUoKTsKLSAgICAgICAgICAgICAgICBkdW1wRGF0YUdy
aWQoKTsKLSAgICAgICAgICAgICAgICBpZiAoY291bnQgPCA2KQotICAgICAgICAgICAgICAgICAg
ICBhZGRJdGVtVGVzdChuZXh0KTsKLSAgICAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAg
ICAgICAgIG5leHQoKTsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgbmV4dERPTVN0b3Jh
Z2VBZGRIYW5kbGVyID0gdmlld1VwZGF0ZWRBZnRlckFkZGl0aW9uOwotCi0gICAgICAgICAgICBJ
bnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiYWRkSXRlbSgnYSIrY291bnQrIicsJz12YWx1ZSIrY291
bnQrIicpIik7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJhZGRJ
dGVtKCdhIitjb3VudCsiJywnPXZhbHVlIitjb3VudCsiJykiKTsKLSAgICAgICAgICAgIGNvdW50
Kys7Ci0gICAgICAgIH0sCi0KLSAgICAgICAgZnVuY3Rpb24gcmVtb3ZlSXRlbVRlc3QobmV4dCkK
LSAgICAgICAgewotICAgICAgICAgICAgZnVuY3Rpb24gdmlld1VwZGF0ZWRBZnRlclJlbW92YWwo
KQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIHJvb3ROb2RlID0gV2ViSW5zcGVjdG9y
LnBhbmVscy5yZXNvdXJjZXMuX2RvbVN0b3JhZ2VWaWV3cy5nZXQoc3RvcmFnZSkuX2RhdGFHcmlk
LnJvb3ROb2RlKCk7Ci0gICAgICAgICAgICAgICAgZHVtcERhdGFHcmlkKCk7Ci0gICAgICAgICAg
ICAgICAgaWYgKGNvdW50ID4gNCkKLSAgICAgICAgICAgICAgICAgICAgcmVtb3ZlSXRlbVRlc3Qo
bmV4dCk7Ci0gICAgICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICAgICBuZXh0KCk7
Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIG5leHRET01TdG9yYWdlUmVtb3ZlSGFuZGxl
ciA9IHZpZXdVcGRhdGVkQWZ0ZXJSZW1vdmFsOwotCi0gICAgICAgICAgICAtLWNvdW50OwotICAg
ICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoInJlbW92ZUl0ZW0oJ2EiK2NvdW50KyIn
KSIpOwotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgicmVtb3ZlSXRl
bSgnYSIrY291bnQrIicpIik7Ci0gICAgICAgIH0sCi0KLSAgICAgICAgZnVuY3Rpb24gY2xlYXJU
ZXN0KG5leHQpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGZ1bmN0aW9uIHZpZXdVcGRhdGVkQWZ0
ZXJDbGVhcigpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgcm9vdE5vZGUgPSBXZWJJ
bnNwZWN0b3IucGFuZWxzLnJlc291cmNlcy5fZG9tU3RvcmFnZVZpZXdzLmdldChzdG9yYWdlKS5f
ZGF0YUdyaWQucm9vdE5vZGUoKTsKLSAgICAgICAgICAgICAgICBkdW1wRGF0YUdyaWQoKTsKLSAg
ICAgICAgICAgICAgICBuZXh0KCk7Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIG5leHRE
T01TdG9yYWdlQ2xlYXJIYW5kbGVyID0gdmlld1VwZGF0ZWRBZnRlckNsZWFyOwotCi0gICAgICAg
ICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiY2xlYXIoKSIpOwotICAgICAgICAgICAgSW5z
cGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgiY2xlYXIoKSIpOwotICAgICAgICB9Ci0gICAgXSk7
Ci19Ci08L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxwPlRl
c3QgdGhhdCBzdG9yYWdlIHBhbmVsIGlzIHByZXNlbnQgYW5kIHRoYXQgaXQgY29udGFpbnMgY29y
cmVjdCBkYXRhIHdoZW5ldmVyIGxvY2FsU3RvcmFnZSBpcyB1cGRhdGVkLjwvcD4KLTwvYm9keT4K
LTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9zdG9yYWdlLXBhbmVs
LWRvbS1zdG9yYWdlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Ivc3RvcmFnZS1wYW5lbC1k
b20tc3RvcmFnZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlZWM3YmQxNmY4
MjFhYzliNjUzZTFlMTkxNmRkMDM1MzhhOGZkYjY0Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9zdG9yYWdlLXBhbmVs
LWRvbS1zdG9yYWdlLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw3NiArMCwwIEBACi08aHRtbD4K
LTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10
ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci0KLWZ1bmN0aW9uIHBvcHVsYXRlRE9NU3RvcmFn
ZSgpCi17Ci0gICAgbG9jYWxTdG9yYWdlLmNsZWFyKCk7Ci0gICAgc2Vzc2lvblN0b3JhZ2UuY2xl
YXIoKTsKLSAgICBsb2NhbFN0b3JhZ2VbInJlc291cmNlLWhpc3RvcnkiXSA9ICJ7fSI7IC8vIFRo
aXMgbWl0aWdhdGVzIGZpbGU6Ly8gbG9jYWxzdG9yYWdlIGNvbmZsaWN0LgotICAgIC8vIEZpbGwg
bG9jYWwgYW5kIHNlc3Npb24gc3RvcmFnZSB3aXRoIHNvbWUgcmFuZG9tIHN0cmluZ3MuCi0gICAg
Zm9yICh2YXIgaSA9IDA7IGkgPCAxMDsgaSsrKSB7Ci0gICAgICAgIGxvY2FsU3RvcmFnZVsiYSIg
KyBpXSA9ICI9dmFsdWUiICsgaSArICIsICI7Ci0gICAgICAgIHNlc3Npb25TdG9yYWdlWyJiIiAr
IGldID0gIj12YWx1ZSIgKyAoaSsxMCkgKyAiLCAiOwotICAgIH0KLX0KLQotZnVuY3Rpb24gdGVz
dCgpCi17Ci0gICAgV2ViSW5zcGVjdG9yLnNob3dQYW5lbCgicmVzb3VyY2VzIik7Ci0KLSAgICBJ
bnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJwb3B1bGF0ZURPTVN0b3JhZ2UoKSIsIGZ1bmN0
aW9uKHJlc3VsdCkgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiUG9wdWxhdGVk
IGxvY2FsIGFuZCBzZXNzaW9uIHN0b3JhZ2UiKTsKLSAgICB9KTsKLSAgICBmdW5jdGlvbiBuYW1l
KHN0b3JhZ2UpCi0gICAgewotICAgICAgICByZXR1cm4gc3RvcmFnZS5pc0xvY2FsU3RvcmFnZSA/
ICJMb2NhbCBzdG9yYWdlIiA6ICJTZXNzaW9uIHN0b3JhZ2UiOwotICAgIH0KLQotICAgIGZ1bmN0
aW9uIGR1bXBEYXRhR3JpZENvbnRlbnQoZGF0YUdyaWQpCi0gICAgewotICAgICAgICB2YXIgbm9k
ZXMgPSBkYXRhR3JpZC5yb290Tm9kZSgpLmNoaWxkcmVuOwotICAgICAgICB2YXIgcm93cyA9IFtd
OwotICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IG5vZGVzLmxlbmd0aDsgKytpKSB7Ci0gICAg
ICAgICAgICB2YXIgbm9kZSA9IG5vZGVzW2ldOwotICAgICAgICAgICAgcm93cy5wdXNoKG5vZGUu
X2RhdGEua2V5ICsgbm9kZS5fZGF0YS52YWx1ZSk7Ci0gICAgICAgIH0KLSAgICAgICAgcm93cy5z
b3J0KCk7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJLZXlWYWx1ZSBwYWlyczog
IiArIHJvd3Muam9pbignJykpOwotICAgIH0KLQotICAgIEluc3BlY3RvclRlc3QucnVuQWZ0ZXJQ
ZW5kaW5nRGlzcGF0Y2hlcyhmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIHN0b3JhZ2VzID0gV2Vi
SW5zcGVjdG9yLmRvbVN0b3JhZ2VNb2RlbC5zdG9yYWdlcygpOwotICAgICAgICBpZiAoc3RvcmFn
ZXMpIHsKLSAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgc3RvcmFnZXMubGVuZ3RoOyBp
KyspIHsKLSAgICAgICAgICAgICAgICB2YXIgc3RvcmFnZSA9IHN0b3JhZ2VzW2ldOwotICAgICAg
ICAgICAgICAgIFdlYkluc3BlY3Rvci5wYW5lbHMucmVzb3VyY2VzLl9zaG93RE9NU3RvcmFnZShz
dG9yYWdlKTsKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiRGlkIHNo
b3c6ICIgKyBuYW1lKHN0b3JhZ2UpKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfSBlbHNlCi0g
ICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiRkFJTDogbm8gRE9NIHN0b3JhZ2Vz
IGZvdW5kLiIpOwotCi0gICAgICAgIEluc3BlY3RvclRlc3QucnVuQWZ0ZXJQZW5kaW5nRGlzcGF0
Y2hlcyhmdW5jdGlvbigpIHsKLSAgICAgICAgICAgIHZhciBzdG9yYWdlcyA9IFdlYkluc3BlY3Rv
ci5kb21TdG9yYWdlTW9kZWwuc3RvcmFnZXMoKTsKLSAgICAgICAgICAgIGZvciAodmFyIGkgPSAw
OyBpIDwgc3RvcmFnZXMubGVuZ3RoOyBpKyspIHsKLSAgICAgICAgICAgICAgICB2YXIgc3RvcmFn
ZSA9IHN0b3JhZ2VzW2ldOwotICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0
KG5hbWUoc3RvcmFnZSkgKyAiIGNvbnRlbnQ6ICIpOwotICAgICAgICAgICAgICAgIHZhciB2aWV3
ID0gV2ViSW5zcGVjdG9yLnBhbmVscy5yZXNvdXJjZXMuX2RvbVN0b3JhZ2VWaWV3cy5nZXQoc3Rv
cmFnZSk7Ci0gICAgICAgICAgICAgICAgZHVtcERhdGFHcmlkQ29udGVudCh2aWV3Ll9kYXRhR3Jp
ZCk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgi
RE9ORSIpOwotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKLSAgICAg
ICAgfSk7Ci0gICAgfSk7Ci19Ci0KLTwvc2NyaXB0PgotPC9oZWFkPgotCi08Ym9keSBvbmxvYWQ9
InJ1blRlc3QoKSI+Ci08cD4KLVRlc3QgdGhhdCBzdG9yYWdlIHBhbmVsIGlzIHByZXNlbnQgYW5k
IHRoYXQgaXQgY29udGFpbnMgY29ycmVjdCBkYXRhIGZvciBsb2NhbCBhbmQgc2Vzc2lvbiBET00g
c3RvcmFnZXMuCi08L3A+Ci0KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2luc3BlY3Rvci9zdHlsZXMvYWRkLW5ldy1ydWxlLWlubGluZS1zdHlsZS1jc3AtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0eWxlcy9hZGQtbmV3LXJ1bGUtaW5saW5l
LXN0eWxlLWNzcC1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDcw
OTUwNmMyNDcwMDQ4OWM5NGIzZTRhZWQ3MzE1MjIwZjU3YmY4ZTcuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0eWxl
cy9hZGQtbmV3LXJ1bGUtaW5saW5lLXN0eWxlLWNzcC1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVs
bApAQCAtMSwyNCArMCwwIEBACi1UZXN0cyB0aGF0IGFkZGluZyBhIG5ldyBydWxlIGRvZXMgbm90
IGNyYXNoIHRoZSByZW5kZXJlciBhbmQgbW9kaWZ5aW5nIGFuIGlubGluZSBzdHlsZSBkb2VzIG5v
dCByZXBvcnQgZXJyb3JzIHdoZW4gZm9yYmlkZGVuIGJ5IENvbnRlbnQtU2VjdXJpdHktUG9saWN5
LgotCi1UZXh0Ci0KLVJ1bm5pbmc6IHRlc3RTZXRVcAotCi1SdW5uaW5nOiB0ZXN0QWRkUnVsZQot
PT09IFJ1bGUgYWRkZWQgPT09Ci0jaW5zcGVjdGVkIHt9Ci1BZmZlY3RzIHNlbGVjdGVkICgjaW5z
cGVjdGVkKSBub2RlOiB0cnVlCi0KLVJ1bm5pbmc6IHRlc3RBZGRQcm9wZXJ0eQotPT09IEFkZGVk
IHJ1bGUgbW9kaWZpZWQgPT09Ci13aWR0aDogMTAwJTsKLT09PSBTZWxlY3RvciBjaGFuZ2VkID09
PQotYm9keSB7Ci0gICAgd2lkdGg6IDEwMCU7Ci19Ci1BZmZlY3RzIHNlbGVjdGVkICgjaW5zcGVj
dGVkKSBub2RlOiBmYWxzZQotCi1SdW5uaW5nOiB0ZXN0TW9kaWZ5SW5saW5lU3R5bGUKLT09PSBJ
bmxpbmUgc3R5bGUgbW9kaWZpZWQgPT09Ci1mb250LXNpemU6IDE0cHg7Ci0KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2luc3BlY3Rvci9zdHlsZXMvYWRkLW5ldy1ydWxlLWlubGluZS1zdHlsZS1j
c3AuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9zdHlsZXMvYWRkLW5ldy1ydWxlLWlubGlu
ZS1zdHlsZS1jc3AuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzY3NjU4NWU4
N2ZhYjA1OTU2ZTUwOWM2ZTRkZDI3ZjVhYTdiZDFmMC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Ivc3R5bGVzL2FkZC1u
ZXctcnVsZS1pbmxpbmUtc3R5bGUtY3NwLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxMjcgKzAs
MCBAQAotPGh0bWw+Ci08aGVhZD4KLTxtZXRhIGh0dHAtZXF1aXY9Ingtd2Via2l0LWNzcCIgY29u
dGVudD0ic3R5bGUtc3JjIGh0dHBzOi8vKjo0NDMiPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAv
dGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9lbGVtZW50cy10ZXN0LmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQ+Ci0KLWZ1bmN0aW9uIHRlc3QoKQotewotICAgIHZhciBub2RlSWQ7Ci0gICAgdmFy
IHJ1bGU7Ci0KLSAgICBXZWJJbnNwZWN0b3Iuc2hvd1BhbmVsKCJlbGVtZW50cyIpOwotICAgIElu
c3BlY3RvclRlc3QucnVuVGVzdFN1aXRlKFsKLSAgICAgICAgZnVuY3Rpb24gdGVzdFNldFVwKG5l
eHQpIHsKLSAgICAgICAgICBJbnNwZWN0b3JUZXN0LnNlbGVjdE5vZGVBbmRXYWl0Rm9yU3R5bGVz
KCJpbnNwZWN0ZWQiLCBuZXh0KTsKLSAgICAgICAgfSwKLQotICAgICAgICBmdW5jdGlvbiB0ZXN0
QWRkUnVsZShuZXh0KQotICAgICAgICB7Ci0gICAgICAgICAgICB2YXIgaWRUb0RPTU5vZGUgPSBX
ZWJJbnNwZWN0b3IuZG9tQWdlbnQuX2lkVG9ET01Ob2RlOwotICAgICAgICAgICAgZm9yICh2YXIg
aWQgaW4gaWRUb0RPTU5vZGUpIHsKLSAgICAgICAgICAgICAgICBub2RlID0gaWRUb0RPTU5vZGVb
aWRdOwotICAgICAgICAgICAgICAgIGlmIChub2RlLmdldEF0dHJpYnV0ZSAmJiBub2RlLmdldEF0
dHJpYnV0ZSgiaWQiKSA9PT0gImluc3BlY3RlZCIpIHsKLSAgICAgICAgICAgICAgICAgICAgbm9k
ZUlkID0gcGFyc2VJbnQoaWQsIDEwKTsKLSAgICAgICAgICAgICAgICAgICAgV2ViSW5zcGVjdG9y
LmNzc01vZGVsLmFkZFJ1bGUobm9kZUlkLCAiI2luc3BlY3RlZCIsIHN1Y2Nlc3NDYWxsYmFjaywg
ZmFpbHVyZUNhbGxiYWNrKTsKLSAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAg
ICAgICAgfQotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICBmdW5jdGlvbiBzdWNjZXNzQ2Fs
bGJhY2sobmV3UnVsZSwgZG9lc0FmZmVjdFNlbGVjdGVkTm9kZSkKLSAgICAgICAgICAgIHsKLSAg
ICAgICAgICAgICAgICBydWxlID0gbmV3UnVsZTsKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JU
ZXN0LmFkZFJlc3VsdCgiPT09IFJ1bGUgYWRkZWQgPT09Iik7Ci0gICAgICAgICAgICAgICAgSW5z
cGVjdG9yVGVzdC5hZGRSZXN1bHQocnVsZS5zZWxlY3RvclRleHQgKyAiIHsiICsgcnVsZS5zdHls
ZS5jc3NUZXh0ICsgIn0iKTsKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3Vs
dCgiQWZmZWN0cyBzZWxlY3RlZCAoI2luc3BlY3RlZCkgbm9kZTogIiArIGRvZXNBZmZlY3RTZWxl
Y3RlZE5vZGUpOwotICAgICAgICAgICAgICAgIG5leHQoKTsKLSAgICAgICAgICAgIH0KLQotICAg
ICAgICAgICAgZnVuY3Rpb24gZmFpbHVyZUNhbGxiYWNrKCkKLSAgICAgICAgICAgIHsKLSAgICAg
ICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiWyFdIEZhaWxlZCB0byBhZGQgcnVs
ZS4iKTsKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwotICAg
ICAgICAgICAgfQotICAgICAgICB9LAotCi0gICAgICAgIGZ1bmN0aW9uIHRlc3RBZGRQcm9wZXJ0
eShuZXh0KQotICAgICAgICB7Ci0gICAgICAgICAgICBydWxlLnN0eWxlLmFwcGVuZFByb3BlcnR5
KCJ3aWR0aCIsICIxMDAlIiwgY2FsbGJhY2spOwotCi0gICAgICAgICAgICBmdW5jdGlvbiBjYWxs
YmFjayhuZXdTdHlsZSkKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JU
ZXN0LmFkZFJlc3VsdCgiPT09IEFkZGVkIHJ1bGUgbW9kaWZpZWQgPT09Iik7Ci0gICAgICAgICAg
ICAgICAgaWYgKCFuZXdTdHlsZSkgewotICAgICAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0
LmFkZFJlc3VsdCgiWyFdIE5vIHZhbGlkIHJ1bGUgc3R5bGUgcmVjZWl2ZWQiKTsKLSAgICAgICAg
ICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKLSAgICAgICAgICAgICAg
ICB9IGVsc2UgewotICAgICAgICAgICAgICAgICAgICBkdW1wUHJvcGVydGllcyhuZXdTdHlsZSk7
Ci0gICAgICAgICAgICAgICAgICAgIFdlYkluc3BlY3Rvci5jc3NNb2RlbC5zZXRSdWxlU2VsZWN0
b3IocnVsZS5pZCwgbm9kZUlkLCAiYm9keSIsIHN1Y2Nlc3NDYWxsYmFjaywgZmFpbHVyZUNhbGxi
YWNrKTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIGZ1
bmN0aW9uIHN1Y2Nlc3NDYWxsYmFjayhydWxlLCBkb2VzQWZmZWN0U2VsZWN0ZWROb2RlKQotICAg
ICAgICAgICAgewotICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCI9PT0g
U2VsZWN0b3IgY2hhbmdlZCA9PT0iKTsKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFk
ZFJlc3VsdChydWxlLnNlbGVjdG9yVGV4dCArICIgeyIgKyBydWxlLnN0eWxlLmNzc1RleHQgKyAi
fSIpOwotICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJBZmZlY3RzIHNl
bGVjdGVkICgjaW5zcGVjdGVkKSBub2RlOiAiICsgZG9lc0FmZmVjdFNlbGVjdGVkTm9kZSk7Ci0K
LSAgICAgICAgICAgICAgICBuZXh0KCk7Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIGZ1
bmN0aW9uIGZhaWx1cmVDYWxsYmFjaygpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAg
SW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIlshXSBGYWlsZWQgdG8gY2hhbmdlIHNlbGVjdG9yIik7
Ci0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKLSAgICAgICAg
ICAgIH0KLSAgICAgICAgfSwKLQotICAgICAgICBmdW5jdGlvbiB0ZXN0TW9kaWZ5SW5saW5lU3R5
bGUobmV4dCkKLSAgICAgICAgewotICAgICAgICAgICAgV2ViSW5zcGVjdG9yLmNzc01vZGVsLmdl
dElubGluZVN0eWxlc0FzeW5jKG5vZGVJZCwgc3R5bGVzQ2FsbGJhY2spOwotCi0gICAgICAgICAg
ICBmdW5jdGlvbiBzdHlsZXNDYWxsYmFjayhpbmxpbmVTdHlsZSkKLSAgICAgICAgICAgIHsKLSAg
ICAgICAgICAgICAgICBpZiAoIWlubGluZVN0eWxlKSB7Ci0gICAgICAgICAgICAgICAgICAgIElu
c3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7Ci0gICAgICAgICAgICAgICAgICAgIHJldHVybjsK
LSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgaW5saW5lU3R5bGUuYXBwZW5kUHJv
cGVydHkoImZvbnQtc2l6ZSIsICIxNHB4IiwgYXBwZW5kQ2FsbGJhY2spOwotICAgICAgICAgICAg
fQotCi0gICAgICAgICAgICBmdW5jdGlvbiBhcHBlbmRDYWxsYmFjayhuZXdTdHlsZSkKLSAgICAg
ICAgICAgIHsKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiPT09IElu
bGluZSBzdHlsZSBtb2RpZmllZCA9PT0iKTsKLSAgICAgICAgICAgICAgICBpZiAoIW5ld1N0eWxl
KSB7Ci0gICAgICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJObyB2YWxp
ZCBpbmxpbmUgc3R5bGUgcmVjZWl2ZWQiKTsKLSAgICAgICAgICAgICAgICAgICAgSW5zcGVjdG9y
VGVzdC5jb21wbGV0ZVRlc3QoKTsKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwotICAgICAg
ICAgICAgICAgIH0KLQotICAgICAgICAgICAgICAgIGR1bXBQcm9wZXJ0aWVzKG5ld1N0eWxlKTsK
LSAgICAgICAgICAgICAgICBuZXh0KCk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICBd
KTsKLQotICAgIGZ1bmN0aW9uIGR1bXBQcm9wZXJ0aWVzKHN0eWxlKQotICAgIHsKLSAgICAgICBp
ZiAoIXN0eWxlKQotICAgICAgICAgICByZXR1cm47Ci0gICAgICAgdmFyIGFsbFByb3BlcnRpZXMg
PSBzdHlsZS5hbGxQcm9wZXJ0aWVzOwotICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYWxsUHJv
cGVydGllcy5sZW5ndGg7ICsraSkKLSAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQo
YWxsUHJvcGVydGllc1tpXS50ZXh0KTsKLSAgICB9Ci19Ci08L3NjcmlwdD4KLTwvaGVhZD4KLQot
PGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotPHA+Ci1UZXN0cyB0aGF0IGFkZGluZyBhIG5ldyBy
dWxlIGRvZXMgbm90IGNyYXNoIHRoZSByZW5kZXJlciBhbmQgbW9kaWZ5aW5nIGFuIGlubGluZSBz
dHlsZSBkb2VzIG5vdCByZXBvcnQgZXJyb3JzIHdoZW4gZm9yYmlkZGVuIGJ5IENvbnRlbnQtU2Vj
dXJpdHktUG9saWN5LgotPC9wPgotCi08ZGl2IGlkPSJpbnNwZWN0ZWQiPlRleHQ8L2Rpdj4KLQot
PC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0eWxl
cy9hZGQtbmV3LXJ1bGUtaW52YWxpZC1zZWxlY3Rvci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9pbnNwZWN0b3Ivc3R5bGVzL2FkZC1uZXctcnVsZS1pbnZhbGlkLXNlbGVjdG9yLWV4cGVjdGVk
LnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNGY3MjMxZmVmNzJkYjkxMTY5MTdm
YjgyOWQ2YTljZTI4ZTJlNjI3Yi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Ivc3R5bGVzL2FkZC1uZXctcnVsZS1pbnZh
bGlkLXNlbGVjdG9yLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDE3ICswLDAgQEAK
LVRlc3RzIHRoYXQgYWRkaW5nIGEgbmV3IHJ1bGUgd2l0aCBpbnZhbGlkIHNlbGVjdG9yIHdvcmtz
IGFzIGV4cGVjdGVkLgotCi1UZXh0Ci0KLVJ1bm5pbmc6IGluaXQKLQotUnVubmluZzoga2V5ZnJh
bWVzUnVsZVNlbGVjdG9yCi1bZXhwYW5kZWRdIAotZWxlbWVudC5zdHlsZSAgeyAoKQotCi09PT09
PT09PSBNYXRjaGVkIENTUyBSdWxlcyA9PT09PT09PQotW2V4cGFuZGVkXSAKLWRpdiAgeyAodXNl
ciBhZ2VudCBzdHlsZXNoZWV0KQotZGlzcGxheTogYmxvY2s7Ci0KLQotCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbnNwZWN0b3Ivc3R5bGVzL2FkZC1uZXctcnVsZS1pbnZhbGlkLXNlbGVjdG9y
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Ivc3R5bGVzL2FkZC1uZXctcnVsZS1pbnZhbGlk
LXNlbGVjdG9yLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDE1MDE0NjEyZGM5
YjZhMmRhMTI0OGY1N2U1MjdkM2I3NzUxMjUxMDUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0eWxlcy9hZGQtbmV3
LXJ1bGUtaW52YWxpZC1zZWxlY3Rvci5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNDUgKzAsMCBA
QAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rv
ci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90
ZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotCi1m
dW5jdGlvbiB0ZXN0KCkKLXsKLSAgICBJbnNwZWN0b3JUZXN0LnJ1blRlc3RTdWl0ZShbCi0gICAg
ICAgIGZ1bmN0aW9uIGluaXQobmV4dCkKLSAgICAgICAgewotICAgICAgICAgICAgV2ViSW5zcGVj
dG9yLnNob3dQYW5lbCgiZWxlbWVudHMiKTsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3Quc2Vs
ZWN0Tm9kZUFuZFdhaXRGb3JTdHlsZXMoImluc3BlY3RlZCIsIG5leHQpOwotICAgICAgICB9LAot
Ci0gICAgICAgIGZ1bmN0aW9uIGtleWZyYW1lc1J1bGVTZWxlY3RvcihuZXh0KQotICAgICAgICB7
Ci0gICAgICAgICAgICAvLyBDbGljayAiQWRkIG5ldyBydWxlIi4KLSAgICAgICAgICAgIGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJhZGQtc3R5bGUtYnV0dG9uLXRlc3QtaWQiKS5jbGljaygpOwot
ICAgICAgICAgICAgdmFyIHNlY3Rpb24gPSBXZWJJbnNwZWN0b3IucGFuZWxzLmVsZW1lbnRzLnNp
ZGViYXJQYW5lcy5zdHlsZXMuc2VjdGlvbnNbMF1bMl07Ci0gICAgICAgICAgICBzZWN0aW9uLl9z
ZWxlY3RvckVsZW1lbnQudGV4dENvbnRlbnQgPSAiQC13ZWJraXQta2V5ZnJhbWVzIHNoYWtlIjsK
LSAgICAgICAgICAgIHNlY3Rpb24uX3NlbGVjdG9yRWxlbWVudC5kaXNwYXRjaEV2ZW50KEluc3Bl
Y3RvclRlc3QuY3JlYXRlS2V5RXZlbnQoIkVudGVyIikpOwotICAgICAgICAgICAgSW5zcGVjdG9y
VGVzdC5ydW5BZnRlclBlbmRpbmdEaXNwYXRjaGVzKGNhbGxiYWNrKTsKLQotICAgICAgICAgICAg
ZnVuY3Rpb24gY2FsbGJhY2soKQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIEluc3Bl
Y3RvclRlc3QuZHVtcFNlbGVjdGVkRWxlbWVudFN0eWxlcyh0cnVlLCBmYWxzZSwgdHJ1ZSk7Ci0g
ICAgICAgICAgICAgICAgbmV4dCgpOwotICAgICAgICAgICAgfQotICAgICAgICB9Ci0gICAgXSk7
Ci19Ci0KLTwvc2NyaXB0PgotPC9oZWFkPgotCi08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci08
cD4KLVRlc3RzIHRoYXQgYWRkaW5nIGEgbmV3IHJ1bGUgd2l0aCBpbnZhbGlkIHNlbGVjdG9yIHdv
cmtzIGFzIGV4cGVjdGVkLgotPC9wPgotCi08ZGl2IGlkPSJpbnNwZWN0ZWQiPlRleHQ8L2Rpdj4K
LQotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0
eWxlcy9hZGQtbmV3LXJ1bGUtd2l0aC1zdHlsZS1hZnRlci1ib2R5LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2luc3BlY3Rvci9zdHlsZXMvYWRkLW5ldy1ydWxlLXdpdGgtc3R5bGUtYWZ0ZXIt
Ym9keS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDgyOWM2NDc0
ZjE2ZmE2NDQwZTM0ZGRlYTYyN2MxYThmYmRlYjQ4Y2MuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0eWxlcy9hZGQt
bmV3LXJ1bGUtd2l0aC1zdHlsZS1hZnRlci1ib2R5LWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxs
CkBAIC0xLDIwICswLDAgQEAKLVRlc3RzIHRoYXQgYWRkaW5nIGEgbmV3IHJ1bGUgd29ya3Mgd2hl
biB0aGVyZSBpcyBhIFNUWUxFIGVsZW1lbnQgYWZ0ZXIgQk9EWS4gVElNRU9VVCBTSE9VTEQgTk9U
IE9DQ1VSISBCdWcgMTExMjk5Ci0KLVRleHQKLUFmdGVyIGFkZGluZyBuZXcgcnVsZToKLVtleHBh
bmRlZF0gCi1lbGVtZW50LnN0eWxlICB7ICgpCi1mb250LXNpemU6IDEycHg7Ci0KLVtleHBhbmRl
ZF0gW25vLWFmZmVjdF0gCi1pbnNwZWN0ZWQgIHsgKGluc3BlY3Rvci1zdHlsZXNoZWV0OjEpCi1j
b2xvcjogbWFyb29uOwotOiA7Ci0KLT09PT09PT09IE1hdGNoZWQgQ1NTIFJ1bGVzID09PT09PT09
Ci1bZXhwYW5kZWRdIAotZGl2ICB7ICh1c2VyIGFnZW50IHN0eWxlc2hlZXQpCi1kaXNwbGF5OiBi
bG9jazsKLQotCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9zdHlsZXMvYWRk
LW5ldy1ydWxlLXdpdGgtc3R5bGUtYWZ0ZXItYm9keS5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yL3N0eWxlcy9hZGQtbmV3LXJ1bGUtd2l0aC1zdHlsZS1hZnRlci1ib2R5Lmh0bWwKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg1YmNjMTNiZjc4YzExZjY4ZTI4ODIxZmU5OTVkYWE3
MTE3YWI5YTcuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0eWxlcy9hZGQtbmV3LXJ1bGUtd2l0aC1zdHlsZS1hZnRl
ci1ib2R5Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw2NyArMCwwIEBACi08aHRtbD4KLTxoZWFk
PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0
LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9l
bGVtZW50cy10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci1mdW5jdGlvbiBhZGRTdHlsZSgp
Ci17Ci0gICAgdmFyIHN0eWxlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3R5bGUiKTsKLSAg
ICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuYXBwZW5kQ2hpbGQoc3R5bGUpOwotICAgIHN0eWxl
LnNoZWV0Lmluc2VydFJ1bGUoImZvbyB7ZGlzcGxheTogbm9uZTt9IiwgMCk7Ci19Ci0KLWZ1bmN0
aW9uIHRlc3QoKQotewotICAgIFdlYkluc3BlY3Rvci5zaG93UGFuZWwoImVsZW1lbnRzIik7Ci0g
ICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgiYWRkU3R5bGUoKSIsIHN0ZXAwKTsKLQot
ICAgIGZ1bmN0aW9uIHN0ZXAwKCkKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3Quc2VsZWN0
Tm9kZUFuZFdhaXRGb3JTdHlsZXMoImluc3BlY3RlZCIsIHN0ZXAxKTsKLSAgICB9Ci0KLSAgICB2
YXIgdHJlZUVsZW1lbnQ7Ci0gICAgdmFyIGhhc1Jlc291cmNlQ2hhbmdlZDsKLQotICAgIGZ1bmN0
aW9uIHN0ZXAxKCkKLSAgICB7Ci0gICAgICAgIC8vIENsaWNrICJBZGQgbmV3IHJ1bGUiLgotICAg
ICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYWRkLXN0eWxlLWJ1dHRvbi10ZXN0LWlkIiku
Y2xpY2soKTsKLSAgICAgICAgdmFyIHNlY3Rpb24gPSBXZWJJbnNwZWN0b3IucGFuZWxzLmVsZW1l
bnRzLnNpZGViYXJQYW5lcy5zdHlsZXMuc2VjdGlvbnNbMF1bMl07Ci0gICAgICAgIHNlY3Rpb24u
X3NlbGVjdG9yRWxlbWVudC50ZXh0Q29udGVudCA9ICJpbnNwZWN0ZWQiOwotICAgICAgICBzZWN0
aW9uLl9zZWxlY3RvckVsZW1lbnQuZGlzcGF0Y2hFdmVudChJbnNwZWN0b3JUZXN0LmNyZWF0ZUtl
eUV2ZW50KCJFbnRlciIpKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5ydW5BZnRlclBlbmRpbmdE
aXNwYXRjaGVzKHN0ZXAyKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwMigpCi0gICAgewot
ICAgICAgICB2YXIgc2VjdGlvbiA9IFdlYkluc3BlY3Rvci5wYW5lbHMuZWxlbWVudHMuc2lkZWJh
clBhbmVzLnN0eWxlcy5zZWN0aW9uc1swXVsyXTsKLSAgICAgICAgdmFyIG5ld1Byb3BlcnR5ID0g
c2VjdGlvbi5hZGROZXdCbGFua1Byb3BlcnR5KCk7Ci0gICAgICAgIG5ld1Byb3BlcnR5LnN0YXJ0
RWRpdGluZygpOwotICAgICAgICBuZXdQcm9wZXJ0eS5uYW1lRWxlbWVudC50ZXh0Q29udGVudCA9
ICJjb2xvciI7Ci0gICAgICAgIG5ld1Byb3BlcnR5Lm5hbWVFbGVtZW50LmRpc3BhdGNoRXZlbnQo
SW5zcGVjdG9yVGVzdC5jcmVhdGVLZXlFdmVudCgiRW50ZXIiKSk7Ci0gICAgICAgIG5ld1Byb3Bl
cnR5LnZhbHVlRWxlbWVudC50ZXh0Q29udGVudCA9ICJtYXJvb24iOwotICAgICAgICBuZXdQcm9w
ZXJ0eS52YWx1ZUVsZW1lbnQuZGlzcGF0Y2hFdmVudChJbnNwZWN0b3JUZXN0LmNyZWF0ZUtleUV2
ZW50KCJFbnRlciIpKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC53YWl0Rm9yU3R5bGVzKCJpbnNw
ZWN0ZWQiLCBzdGVwMyk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc3RlcDMoKQotICAgIHsKLSAg
ICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIkFmdGVyIGFkZGluZyBuZXcgcnVsZToiKTsK
LSAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wU2VsZWN0ZWRFbGVtZW50U3R5bGVzKHRydWUsIGZh
bHNlLCB0cnVlKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKLSAgICB9
Ci19Ci0KLTwvc2NyaXB0PgotPC9oZWFkPgotCi08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci08
cD4KLVRlc3RzIHRoYXQgYWRkaW5nIGEgbmV3IHJ1bGUgd29ya3Mgd2hlbiB0aGVyZSBpcyBhIFNU
WUxFIGVsZW1lbnQgYWZ0ZXIgQk9EWS4gVElNRU9VVCBTSE9VTEQgTk9UIE9DQ1VSISA8YSBocmVm
PSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTExMjk5Ij5CdWcgMTEx
Mjk5PC9hPgotPC9wPgotCi08ZGl2IGlkPSJpbnNwZWN0ZWQiIHN0eWxlPSJmb250LXNpemU6IDEy
cHgiPlRleHQ8L2Rpdj4KLQotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yL3N0eWxlcy9nZXQtc2V0LXN0eWxlc2hlZXQtdGV4dC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Ivc3R5bGVzL2dldC1zZXQtc3R5bGVzaGVldC10ZXh0LWV4
cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzdiOTU4OTU4NzM2MDZi
ODI1NzA0YjM3MDU5ZjVjODhhNjczOWI5Zi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Ivc3R5bGVzL2dldC1zZXQtc3R5
bGVzaGVldC10ZXh0LWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDQ0ICswLDAgQEAK
LVRlc3RzIHRoYXQgV2ViSW5zcGVjdG9yLkNTU1N0eWxlU2hlZXQgbWV0aG9kcyB3b3JrIGFzIGV4
cGVjdGVkLgotCi1JbnNwZWN0IE1lCi0KLQotUnVubmluZzogdGVzdFNldFRleHQKLT09PSBPcmln
aW5hbCBzdHlsZXNoZWV0IHRleHQ6ID09PQotYm9keSB7Ci0gICAgZm9udC1zaXplOiAxMnB4Owot
ICAgIGZvbzogYmFyICEKLQotICAgIGltcG9ydGFudCAvKiAhaW1wb3J0YW50IHByb3BlcnR5IG5v
dCByZWNvZ25pemVkIGJ5IFdlYkNvcmUgKi87Ci0gICAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7
Ci0gICAgY29sb3J6OiAiIWltcG9ydGFudCI7Ci0gICAgaW1wb3J0YW50OiFpbXBvcnRhbnQ7Ci0g
ICAgY29sb3I6ICJiYWRjb2xvciIgISBpbXBvcnRhbnQgLyogZ29vZCBwcm9wZXJ0eSB3aXRoIHN0
cmFuZ2UgdmFsdWUgKi87Ci19Ci0KLUBtZWRpYSB7Ci0gICAgLyogQG1lZGlhIHJ1bGUgd2l0aCBh
biBlbXB0eSBtZWRpYSBsaXN0ICovCi19Ci0KLS8qIGNvbW1lbnQgYmVmb3JlIHNlbGVjdG9yICov
Ym9keS5tYWluMS8qIGNvbW1lbnQgYWZ0ZXIgc2VsZWN0b3IgKi97LyogY29tbWVudCAqL2NvbG9y
OiAjRjAwQkFBO3pvbzptb28gLyogbm90IGFuICFpbXBvcnRhbnQgdW5yZWNvZ25pemVkIHByb3Bl
cnR5ICovfS8qIGNvbW1lbnQgKi8KLQotYm9keS5tYWluMntiYWNrZ3JvdW5kOiBncmVlbiAvKiB2
YWx1ZSAhaW1wb3J0YW50IGNvbW1lbnQgKi8gIWltcG9ydGFudCAvKiBubyBzZW1pY29sb24sIHZl
cnkgIWltcG9ydGFudCAqL30KLQotCi1SdW5uaW5nOiB0ZXN0TmV3RWxlbWVudFN0eWxlcwotPT09
IE1hdGNoZWQgcnVsZXMgZm9yIGgxIGFmdGVyIHNldFRleHQoKSA9PT0KLQotcnVsZQotaDE6IFt1
c2VyLWFnZW50XQotWydkaXNwbGF5JzonYmxvY2snXSBAW3VuZGVmaW5lZC11bmRlZmluZWRdIHN0
eWxlCi1bJ2ZvbnQtc2l6ZSc6JzJlbSddIEBbdW5kZWZpbmVkLXVuZGVmaW5lZF0gc3R5bGUKLVsn
LXdlYmtpdC1tYXJnaW4tYmVmb3JlJzonMC42N2VtJ10gQFt1bmRlZmluZWQtdW5kZWZpbmVkXSBz
dHlsZQotWyctd2Via2l0LW1hcmdpbi1hZnRlcic6JzAuNjdlbSddIEBbdW5kZWZpbmVkLXVuZGVm
aW5lZF0gc3R5bGUKLVsnLXdlYmtpdC1tYXJnaW4tc3RhcnQnOicwcHgnXSBAW3VuZGVmaW5lZC11
bmRlZmluZWRdIHN0eWxlCi1bJy13ZWJraXQtbWFyZ2luLWVuZCc6JzBweCddIEBbdW5kZWZpbmVk
LXVuZGVmaW5lZF0gc3R5bGUKLVsnZm9udC13ZWlnaHQnOidib2xkJ10gQFt1bmRlZmluZWQtdW5k
ZWZpbmVkXSBzdHlsZQotCi1ydWxlCi1oMTogW3JlZ3VsYXJdCi1bJ0NPTE9SJzonUmVkJ10gQFsw
OjUtMDoxNl0gYWN0aXZlCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9zdHls
ZXMvZ2V0LXNldC1zdHlsZXNoZWV0LXRleHQuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9z
dHlsZXMvZ2V0LXNldC1zdHlsZXNoZWV0LXRleHQuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMTVhMzUwMTllYTNiYTZlNmVhMzk1MDc5YWYyMWY0MzMyZmFlMDgxZS4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3Ivc3R5bGVzL2dldC1zZXQtc3R5bGVzaGVldC10ZXh0Lmh0bWwKKysrIC9kZXYvbnVsbApA
QCAtMSwxMTcgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLQotPHN0eWxlPgotCi0vKiBBbiBpbmxp
bmUgc3R5bGVzaGVldCAqLwotYm9keS5tYWlucGFnZSB7Ci0gICAgdGV4dC1kZWNvcmF0aW9uOiBu
b25lOwotfQotPC9zdHlsZT4KLQotPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJyZXNvdXJj
ZXMvZ2V0LXNldC1zdHlsZXNoZWV0LXRleHQuY3NzIj4KLQotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0
dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9lbGVtZW50cy10ZXN0LmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQ+Ci0KLWZ1bmN0aW9uIHRlc3QoKQotewotICAgIHZhciBmb3VuZFN0eWxlU2hl
ZXQ7Ci0KLSAgICBDU1NBZ2VudC5nZXRBbGxTdHlsZVNoZWV0cyhmaW5kU3R5bGVTaGVldCk7Ci0K
LSAgICBmdW5jdGlvbiBmaW5kU3R5bGVTaGVldChlcnJvciwgc3R5bGVTaGVldEluZm9zKQotICAg
IHsKLSAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2soc3R5bGVTaGVldCkKLSAgICAgICAgewotICAg
ICAgICAgICAgZm91bmRTdHlsZVNoZWV0ID0gc3R5bGVTaGVldDsKLSAgICAgICAgICAgIEluc3Bl
Y3RvclRlc3QucnVuVGVzdFN1aXRlKFsgdGVzdFNldFRleHQsIHRlc3ROZXdFbGVtZW50U3R5bGVz
IF0pOwotICAgICAgICB9Ci0KLSAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBzdHlsZVNoZWV0
SW5mb3MubGVuZ3RoOyArK2kpIHsKLSAgICAgICAgICAgIGlmIChzdHlsZVNoZWV0SW5mb3NbaV0u
c291cmNlVVJMLmluZGV4T2YoImdldC1zZXQtc3R5bGVzaGVldC10ZXh0LmNzcyIpID49IDApIHsK
LSAgICAgICAgICAgICAgICBmb3VuZFN0eWxlU2hlZXRJbmZvID0gc3R5bGVTaGVldEluZm9zW2ld
OwotICAgICAgICAgICAgICAgIFdlYkluc3BlY3Rvci5DU1NTdHlsZVNoZWV0LmNyZWF0ZUZvcklk
KGZvdW5kU3R5bGVTaGVldEluZm8uc3R5bGVTaGVldElkLCBjYWxsYmFjayk7Ci0gICAgICAgICAg
ICB9Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICBmdW5jdGlvbiB0ZXN0U2V0VGV4dChuZXh0KQot
ICAgIHsKLSAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2soZXJyb3IpCi0gICAgICAgIHsKLSAgICAg
ICAgICAgIGlmIChlcnJvcikgewotICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVz
dWx0KCJGYWlsZWQgdG8gc2V0IHN0eWxlc2hlZXQgdGV4dDogIiArIGVycm9yKTsKLSAgICAgICAg
ICAgICAgICByZXR1cm47Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIEluc3BlY3RvclRl
c3QucnVuQWZ0ZXJQZW5kaW5nRGlzcGF0Y2hlcyhuZXh0KTsKLSAgICAgICAgfQotCi0gICAgICAg
IEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCI9PT0gT3JpZ2luYWwgc3R5bGVzaGVldCB0ZXh0OiA9
PT0iKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoZm91bmRTdHlsZVNoZWV0Lmdl
dFRleHQoKSk7Ci0gICAgICAgIGZvdW5kU3R5bGVTaGVldC5zZXRUZXh0KCJoMSB7IENPTE9SOiBS
ZWQ7IH0iLCB0cnVlLCBjYWxsYmFjayk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gdGVzdE5ld0Vs
ZW1lbnRTdHlsZXMoKQotICAgIHsKLSAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2soZXJyb3IsIG1h
dGNoZWRDU1NSdWxlcykKLSAgICAgICAgewotICAgICAgICAgICAgaWYgKGVycm9yKSB7Ci0gICAg
ICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoImVycm9yOiAiICsgZXJyb3IpOwot
ICAgICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgSW5z
cGVjdG9yVGVzdC5hZGRSZXN1bHQoIj09PSBNYXRjaGVkIHJ1bGVzIGZvciBoMSBhZnRlciBzZXRU
ZXh0KCkgPT09Iik7Ci0gICAgICAgICAgICBkdW1wTWF0Y2hlc0FycmF5KG1hdGNoZWRDU1NSdWxl
cyk7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwotICAgICAgICB9
Ci0KLSAgICAgICAgZnVuY3Rpb24gbm9kZUNhbGxiYWNrKG5vZGUpCi0gICAgICAgIHsKLSAgICAg
ICAgICAgIENTU0FnZW50LmdldE1hdGNoZWRTdHlsZXNGb3JOb2RlKG5vZGUuaWQsIGZhbHNlLCBm
YWxzZSwgY2FsbGJhY2spOwotICAgICAgICB9Ci0KLSAgICAgICAgSW5zcGVjdG9yVGVzdC5zZWxl
Y3ROb2RlV2l0aElkKCJpbnNwZWN0ZWQiLCBub2RlQ2FsbGJhY2spOwotICAgIH0KLQotCi0gICAg
Ly8gRGF0YSBkdW1waW5nCi0KLSAgICBmdW5jdGlvbiBkdW1wTWF0Y2hlc0FycmF5KHJ1bGVzKQot
ICAgIHsKLSAgICAgICAgaWYgKCFydWxlcykKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAg
Zm9yICh2YXIgaSA9IDA7IGkgPCBydWxlcy5sZW5ndGg7ICsraSkKLSAgICAgICAgICAgIGR1bXBS
dWxlT3JTdHlsZShydWxlc1tpXS5ydWxlKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBkdW1wUnVs
ZU9yU3R5bGUocnVsZU9yU3R5bGUpCi0gICAgewotICAgICAgICBpZiAoIXJ1bGVPclN0eWxlKQot
ICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB2YXIgaXNSdWxlID0gISEocnVsZU9yU3R5bGUu
c3R5bGUpOwotICAgICAgICB2YXIgc3R5bGUgPSBpc1J1bGUgPyBydWxlT3JTdHlsZS5zdHlsZSA6
IHJ1bGVPclN0eWxlOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiIik7Ci0gICAg
ICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KGlzUnVsZSA/ICJydWxlIiA6ICJzdHlsZSIpOwot
ICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgoaXNSdWxlID8gKHJ1bGVPclN0eWxlLnNl
bGVjdG9yTGlzdC50ZXh0ICsgIjogWyIgKyBydWxlT3JTdHlsZS5vcmlnaW4gKyAiXSIpIDogInJh
dyBzdHlsZSIpKTsKLSAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBzdHlsZS5jc3NQcm9wZXJ0
aWVzLmxlbmd0aDsgKytpKSB7Ci0gICAgICAgICAgICB2YXIgcHJvcGVydHkgPSBzdHlsZS5jc3NQ
cm9wZXJ0aWVzW2ldOwotICAgICAgICAgICAgaWYgKHByb3BlcnR5LnN0YXR1cyAhPT0gImRpc2Fi
bGVkIikKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiWyciICsgcHJv
cGVydHkubmFtZSArICInOiciICsgcHJvcGVydHkudmFsdWUgKyAiJyIgKyAocHJvcGVydHkucHJp
b3JpdHkgPT09ICJpbXBvcnRhbnQiID8gIiBpcy1pbXBvcnRhbnQiIDogIiIpICsgKCgicGFyc2Vk
T2siIGluIHByb3BlcnR5KSA/ICIgbm9uLXBhcnNlZCIgOiAiIikgKyJdIEAiICsgSW5zcGVjdG9y
VGVzdC5yYW5nZVRleHQocHJvcGVydHkucmFuZ2UpICsgIiAiICsgKHByb3BlcnR5LnN0YXR1cyB8
fCAic3R5bGUiKSk7Ci0gICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgSW5zcGVjdG9y
VGVzdC5hZGRSZXN1bHQoIlt0ZXh0PSciICsgcHJvcGVydHkudGV4dCArICInXSAiICsgcHJvcGVy
dHkuc3RhdHVzKTsKLSAgICAgICAgfQotICAgIH0KLX0KLTwvc2NyaXB0PgotPC9oZWFkPgotCi08
Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci08cD4KLVRlc3RzIHRoYXQgV2ViSW5zcGVjdG9yLkNT
U1N0eWxlU2hlZXQgbWV0aG9kcyB3b3JrIGFzIGV4cGVjdGVkLgotPC9wPgotPGgxIGlkPSJpbnNw
ZWN0ZWQiPkluc3BlY3QgTWU8L2gxPgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yL3N0eWxlcy9pbXBvcnQtcHNldWRvY2xhc3MtY3Jhc2gtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0eWxlcy9pbXBvcnQtcHNldWRvY2xhc3Mt
Y3Jhc2gtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmZWFlY2Vl
OTc2ZmUyZGJiZjVhNDM0ZTY3ZWU1OThiODg2MmI2NWFjLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9zdHlsZXMvaW1w
b3J0LXBzZXVkb2NsYXNzLWNyYXNoLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDMg
KzAsMCBAQAotVGVzdHMgdGhhdCBtb2RpZnlpbmcgc3R5bGVzaGVldCB0ZXh0IHdpdGggQGltcG9y
dCBhbmQgOmxhc3QtY2hpbGQgc2VsZWN0b3IgZG9lcyBub3QgY3Jhc2ggKEJ1ZyA5NTMyNCkuCi0K
LTpsYXN0LWNoaWxkCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Ivc3R5bGVzL2lt
cG9ydC1wc2V1ZG9jbGFzcy1jcmFzaC5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0eWxl
cy9pbXBvcnQtcHNldWRvY2xhc3MtY3Jhc2guaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggYTJlMDVmN2FmYTMwMjY5MGQwYThhNmVhNDE4Y2JiM2UyOGMwNjRjOS4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0
b3Ivc3R5bGVzL2ltcG9ydC1wc2V1ZG9jbGFzcy1jcmFzaC5odG1sCisrKyAvZGV2L251bGwKQEAg
LTEsNTAgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJl
Zj0icmVzb3VyY2VzL2ltcG9ydC1wc2V1ZG9jbGFzcy1jcmFzaC5jc3MiPgotPHNjcmlwdCBzcmM9
Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9lbGVtZW50cy10ZXN0Lmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQ+Ci0KLWZ1bmN0aW9uIHRlc3QoKQotewotICAgIFdlYkluc3Bl
Y3Rvci5zaG93UGFuZWwoImVsZW1lbnRzIik7Ci0gICAgSW5zcGVjdG9yVGVzdC5ub2RlV2l0aElk
KCJsYXN0Y2hpbGQiLCBub2RlRm91bmQpOwotCi0gICAgZnVuY3Rpb24gbm9kZUZvdW5kKG5vZGUp
Ci0gICAgewotICAgICAgICBXZWJJbnNwZWN0b3IuY3NzTW9kZWwuZ2V0TWF0Y2hlZFN0eWxlc0Fz
eW5jKG5vZGUuaWQsIHRydWUsIGZhbHNlLCBtYXRjaGVkU3R5bGVzQ2FsbGJhY2spOwotICAgIH0K
LQotICAgIHZhciBzdHlsZVNoZWV0SWQ7Ci0KLSAgICBmdW5jdGlvbiBtYXRjaGVkU3R5bGVzQ2Fs
bGJhY2soc3R5bGVzKQotICAgIHsKLSAgICAgICAgc3R5bGVTaGVldElkID0gc3R5bGVzLm1hdGNo
ZWRDU1NSdWxlc1sxXS5pZC5zdHlsZVNoZWV0SWQ7Ci0gICAgICAgIENTU0FnZW50LnNldFN0eWxl
U2hlZXRUZXh0KHN0eWxlU2hlZXRJZCwKLSAgICAgICAgICAgICJAaW1wb3J0IHVybChcImltcG9y
dC1wc2V1ZG9jbGFzcy1jcmFzaC1lbXB0eS5jc3NcIik7XG5cbjpsYXN0LWNoaWxkIHsgY29sb3I6
ICMwMDAwMDE7IH1cbiIsIG1vZGlmaWVkQ2FsbGJhY2spOwotICAgIH0KLQotICAgIGZ1bmN0aW9u
IG1vZGlmaWVkQ2FsbGJhY2soKQotICAgIHsKLSAgICAgICAgQ1NTQWdlbnQuc2V0U3R5bGVTaGVl
dFRleHQoc3R5bGVTaGVldElkLCAiQGltcG9ydCB1cmwoXCJpbXBvcnQtcHNldWRvY2xhc3MtY3Jh
c2gtZW1wdHkuY3NzXCIpO1xuXG46bGFzdC1jaGlsZCB7IGNvbG9yOiAjMDAyMDAxOyB9XG4iLCBt
b2RpZmllZENhbGxiYWNrMik7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gbW9kaWZpZWRDYWxsYmFj
azIoKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKLSAgICB9
Ci19Ci0KLTwvc2NyaXB0PgotPC9oZWFkPgotCi08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci08
cD4KLVRlc3RzIHRoYXQgbW9kaWZ5aW5nIHN0eWxlc2hlZXQgdGV4dCB3aXRoIEBpbXBvcnQgYW5k
IDpsYXN0LWNoaWxkIHNlbGVjdG9yIGRvZXMgbm90IGNyYXNoICg8YSBocmVmPSJodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTUzMjQiPkJ1ZyA5NTMyNDwvYT4pLgotPC9w
PgotCi08ZGl2PgotICAgIDxwIGlkPSJsYXN0Y2hpbGQiPjpsYXN0LWNoaWxkPC9wPgotPC9kaXY+
Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Ivc3R5
bGVzL2luamVjdC1zdHlsZXNoZWV0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rv
ci9zdHlsZXMvaW5qZWN0LXN0eWxlc2hlZXQtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCA4MWJhZDU4NWFmNmU1MDVkNWJjODIxMjBiMGU2NjkxZTdlMDhmN2UyLi4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2luc3BlY3Rvci9zdHlsZXMvaW5qZWN0LXN0eWxlc2hlZXQtZXhwZWN0ZWQudHh0CisrKyAvZGV2
L251bGwKQEAgLTEsMTM1ICswLDAgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSA5OiBpZnJhbWUg
bG9hZGVkCi1UZXN0cyB0aGF0IGluamVjdGVkIHVzZXIgc3R5bGVzaGVldHMgYXJlIHJlZmxlY3Rl
ZCBpbiB0aGUgU3R5bGVzIHBhbmUuCi0KLQotTWFpbiBmcmFtZSBzdHlsZToKLVtleHBhbmRlZF0g
Ci0td2Via2l0LWJhY2tncm91bmQtY2xpcDogYm9yZGVyLWJveDsKLS13ZWJraXQtYmFja2dyb3Vu
ZC1vcmlnaW46IHBhZGRpbmctYm94OwotLXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6IGF1dG87Ci0t
d2Via2l0LWJvcmRlci1pbWFnZTogdXJsKGRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dn
b0FBQUFOU1VoRVVnQUFBQkFBQUFBUUNBUUFBQUMxK2pmcUFBQUFpRWxFUeKApk1zK0xTMzBDQWhC
TjVuTnhlVDVoYkoxendtamkyaythRjZORU5JUGYvaHM1NGYwc1pGVVZBTWlnQUFBQUJKUlU1RXJr
SmdnZz09KSAxMDAlIC8gMSAvIDBweCBzdHJldGNoOwotICAgICNtYWluIC0gdXJsKGRhdGE6aW1h
Z2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQkFBQUFBUUNBUUFBQUMxK2pm
cUFBQUFpRWxFUVZSNDJyMlJzUXJETUF4RUJSZGw4U0RjWDhsUVBHZzFHQkk2bHZ6L2g3UXlSUlhW
MHFVVUx3ZnZ3WjF0ZW53NVB4VG9SUFdNQzUyZUE5K1dEbmxoM0hGUS94QlFsODZORllKcWVHZmxr
aW9nck92VmxJRmhxVVJGVmhvM3gxbW9HQWEzZGVNcytMUzMwQ0FoQk41bk54ZVQ1aGJKMXp3bWpp
MmsrYUY2TkVOSVBmL2hzNTRmMHNaRlVWQU1pZ0FBQUFCSlJVNUVya0pnZ2c9PSkgdXNlciBzdHls
ZXNoZWV0Ci1iYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IHNjcm9sbDsKLSAgICAjbWFpbiAtIGluaXRp
YWwgaW5qZWN0LXN0eWxlc2hlZXQuaHRtbDo1Ci1iYWNrZ3JvdW5kLWNsaXA6IGJvcmRlci1ib3g7
Ci0gICAgI21haW4gLSBpbml0aWFsIGluamVjdC1zdHlsZXNoZWV0Lmh0bWw6NQotYmFja2dyb3Vu
ZC1jb2xvcjogcmdiKDAsIDAsIDI1NSk7Ci0gICAgI21haW4gLSBibHVlIGluamVjdC1zdHlsZXNo
ZWV0Lmh0bWw6NQotYmFja2dyb3VuZC1pbWFnZTogbm9uZTsKLSAgICAjbWFpbiAtIGluaXRpYWwg
aW5qZWN0LXN0eWxlc2hlZXQuaHRtbDo1Ci1iYWNrZ3JvdW5kLW9yaWdpbjogcGFkZGluZy1ib3g7
Ci0gICAgI21haW4gLSBpbml0aWFsIGluamVjdC1zdHlsZXNoZWV0Lmh0bWw6NQotYmFja2dyb3Vu
ZC1zaXplOiBhdXRvOwotICAgICNtYWluIC0gaW5pdGlhbCBpbmplY3Qtc3R5bGVzaGVldC5odG1s
OjUKLWNvbG9yOiByZ2IoMjU1LCAwLCAwKTsKLSAgICAjbWFpbiAtIHJlZCB1c2VyIHN0eWxlc2hl
ZXQKLWRpc3BsYXk6IGJsb2NrOwotICAgIGRpdiAtIGJsb2NrIHVzZXIgYWdlbnQgc3R5bGVzaGVl
dAotCi1bZXhwYW5kZWRdIAotZWxlbWVudC5zdHlsZSAgeyAoKQotCi09PT09PT09PSBNYXRjaGVk
IENTUyBSdWxlcyA9PT09PT09PQotW2V4cGFuZGVkXSAKLW1lZGlhPSJzY3JlZW4iIChpbmplY3Qt
c3R5bGVzaGVldC5odG1sKQotI21haW4gIHsgKGluamVjdC1zdHlsZXNoZWV0Lmh0bWw6NSkKLWJh
Y2tncm91bmQ6IGJsdWU7Ci0gICAgYmFja2dyb3VuZC1pbWFnZTogaW5pdGlhbDsKLSAgICBiYWNr
Z3JvdW5kLXBvc2l0aW9uLXg6IGluaXRpYWw7Ci0gICAgYmFja2dyb3VuZC1wb3NpdGlvbi15OiBp
bml0aWFsOwotICAgIGJhY2tncm91bmQtc2l6ZTogaW5pdGlhbDsKLSAgICBiYWNrZ3JvdW5kLXJl
cGVhdC14OiBpbml0aWFsOwotICAgIGJhY2tncm91bmQtcmVwZWF0LXk6IGluaXRpYWw7Ci0gICAg
YmFja2dyb3VuZC1hdHRhY2htZW50OiBpbml0aWFsOwotICAgIGJhY2tncm91bmQtb3JpZ2luOiBp
bml0aWFsOwotICAgIGJhY2tncm91bmQtY2xpcDogaW5pdGlhbDsKLSAgICBiYWNrZ3JvdW5kLWNv
bG9yOiBibHVlOwotCi1bZXhwYW5kZWRdIAotI21haW4gIHsgKHVzZXIgc3R5bGVzaGVldCkKLWNv
bG9yOiByZWQ7Ci0td2Via2l0LWJvcmRlci1pbWFnZTogdXJsKGRhdGE6aW1hZ2UvcG5nO2Jhc2U2
NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQkFBQUFBUUNBUUFBQUMxK2pmcUFBQUFpRWxFUeKA
pk1zK0xTMzBDQWhCTjVuTnhlVDVoYkoxendtamkyaythRjZORU5JUGYvaHM1NGYwc1pGVVZBTWln
QUFBQUJKUlU1RXJrSmdnZz09KTsKLQotW2V4cGFuZGVkXSAKLWRpdiAgeyAodXNlciBhZ2VudCBz
dHlsZXNoZWV0KQotZGlzcGxheTogYmxvY2s7Ci0KLQotaWZyYW1lIHN0eWxlOgotW2V4cGFuZGVk
XSAKLS13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiBib3JkZXItYm94OwotLXdlYmtpdC1iYWNrZ3Jv
dW5kLW9yaWdpbjogcGFkZGluZy1ib3g7Ci0td2Via2l0LWJhY2tncm91bmQtc2l6ZTogYXV0bzsK
LWJhY2tncm91bmQtYXR0YWNobWVudDogc2Nyb2xsOwotICAgIGJvZHkgLSBpbml0aWFsIGluamVj
dC1zdHlsZXNoZWV0LWlmcmFtZS1kYXRhLmh0bWw6NAotICAgIC8tLSBvdmVybG9hZGVkIC0tLyAj
aWZyYW1lYm9keSAtIGluaXRpYWwgdXNlciBzdHlsZXNoZWV0Ci1iYWNrZ3JvdW5kLWNsaXA6IGJv
cmRlci1ib3g7Ci0gICAgYm9keSAtIGluaXRpYWwgaW5qZWN0LXN0eWxlc2hlZXQtaWZyYW1lLWRh
dGEuaHRtbDo0Ci0gICAgLy0tIG92ZXJsb2FkZWQgLS0vICNpZnJhbWVib2R5IC0gaW5pdGlhbCB1
c2VyIHN0eWxlc2hlZXQKLWJhY2tncm91bmQtY29sb3I6IHJnYigwLCAxMjgsIDApOwotICAgIGJv
ZHkgLSBncmVlbiBpbmplY3Qtc3R5bGVzaGVldC1pZnJhbWUtZGF0YS5odG1sOjQKLSAgICAvLS0g
b3ZlcmxvYWRlZCAtLS8gI2lmcmFtZWJvZHkgLSByZWQgdXNlciBzdHlsZXNoZWV0Ci1iYWNrZ3Jv
dW5kLWltYWdlOiBub25lOwotICAgIGJvZHkgLSBpbml0aWFsIGluamVjdC1zdHlsZXNoZWV0LWlm
cmFtZS1kYXRhLmh0bWw6NAotICAgIC8tLSBvdmVybG9hZGVkIC0tLyAjaWZyYW1lYm9keSAtIGlu
aXRpYWwgdXNlciBzdHlsZXNoZWV0Ci1iYWNrZ3JvdW5kLW9yaWdpbjogcGFkZGluZy1ib3g7Ci0g
ICAgYm9keSAtIGluaXRpYWwgaW5qZWN0LXN0eWxlc2hlZXQtaWZyYW1lLWRhdGEuaHRtbDo0Ci0g
ICAgLy0tIG92ZXJsb2FkZWQgLS0vICNpZnJhbWVib2R5IC0gaW5pdGlhbCB1c2VyIHN0eWxlc2hl
ZXQKLWJhY2tncm91bmQtc2l6ZTogYXV0bzsKLSAgICBib2R5IC0gaW5pdGlhbCBpbmplY3Qtc3R5
bGVzaGVldC1pZnJhbWUtZGF0YS5odG1sOjQKLSAgICAvLS0gb3ZlcmxvYWRlZCAtLS8gI2lmcmFt
ZWJvZHkgLSBpbml0aWFsIHVzZXIgc3R5bGVzaGVldAotZGlzcGxheTogYmxvY2s7Ci0gICAgYm9k
eSAtIGJsb2NrIHVzZXIgYWdlbnQgc3R5bGVzaGVldAotbWFyZ2luLWJvdHRvbTogOHB4OwotICAg
IGJvZHkgLSA4cHggdXNlciBhZ2VudCBzdHlsZXNoZWV0Ci1tYXJnaW4tbGVmdDogOHB4OwotICAg
IGJvZHkgLSA4cHggdXNlciBhZ2VudCBzdHlsZXNoZWV0Ci1tYXJnaW4tcmlnaHQ6IDhweDsKLSAg
ICBib2R5IC0gOHB4IHVzZXIgYWdlbnQgc3R5bGVzaGVldAotbWFyZ2luLXRvcDogOHB4OwotICAg
IGJvZHkgLSA4cHggdXNlciBhZ2VudCBzdHlsZXNoZWV0Ci0KLVtleHBhbmRlZF0gCi1lbGVtZW50
LnN0eWxlICB7ICgpCi0KLT09PT09PT09IE1hdGNoZWQgQ1NTIFJ1bGVzID09PT09PT09Ci1bZXhw
YW5kZWRdIAotbWVkaWE9InNjcmVlbiIgKGluamVjdC1zdHlsZXNoZWV0LWlmcmFtZS1kYXRhLmh0
bWwpCi1ib2R5ICB7IChpbmplY3Qtc3R5bGVzaGVldC1pZnJhbWUtZGF0YS5odG1sOjQpCi1iYWNr
Z3JvdW5kOiBncmVlbjsKLSAgICBiYWNrZ3JvdW5kLWltYWdlOiBpbml0aWFsOwotICAgIGJhY2tn
cm91bmQtcG9zaXRpb24teDogaW5pdGlhbDsKLSAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGlu
aXRpYWw7Ci0gICAgYmFja2dyb3VuZC1zaXplOiBpbml0aWFsOwotICAgIGJhY2tncm91bmQtcmVw
ZWF0LXg6IGluaXRpYWw7Ci0gICAgYmFja2dyb3VuZC1yZXBlYXQteTogaW5pdGlhbDsKLSAgICBi
YWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IGluaXRpYWw7Ci0gICAgYmFja2dyb3VuZC1vcmlnaW46IGlu
aXRpYWw7Ci0gICAgYmFja2dyb3VuZC1jbGlwOiBpbml0aWFsOwotICAgIGJhY2tncm91bmQtY29s
b3I6IGdyZWVuOwotCi1bZXhwYW5kZWRdIAotI2lmcmFtZWJvZHkgIHsgKHVzZXIgc3R5bGVzaGVl
dCkKLS8tLSBvdmVybG9hZGVkIC0tLyBiYWNrZ3JvdW5kOiByZWQ7Ci0gICAgLy0tIG92ZXJsb2Fk
ZWQgLS0vIGJhY2tncm91bmQtaW1hZ2U6IGluaXRpYWw7Ci0gICAgLy0tIG92ZXJsb2FkZWQgLS0v
IGJhY2tncm91bmQtcG9zaXRpb24teDogaW5pdGlhbDsKLSAgICAvLS0gb3ZlcmxvYWRlZCAtLS8g
YmFja2dyb3VuZC1wb3NpdGlvbi15OiBpbml0aWFsOwotICAgIC8tLSBvdmVybG9hZGVkIC0tLyBi
YWNrZ3JvdW5kLXNpemU6IGluaXRpYWw7Ci0gICAgLy0tIG92ZXJsb2FkZWQgLS0vIGJhY2tncm91
bmQtcmVwZWF0LXg6IGluaXRpYWw7Ci0gICAgLy0tIG92ZXJsb2FkZWQgLS0vIGJhY2tncm91bmQt
cmVwZWF0LXk6IGluaXRpYWw7Ci0gICAgLy0tIG92ZXJsb2FkZWQgLS0vIGJhY2tncm91bmQtYXR0
YWNobWVudDogaW5pdGlhbDsKLSAgICAvLS0gb3ZlcmxvYWRlZCAtLS8gYmFja2dyb3VuZC1vcmln
aW46IGluaXRpYWw7Ci0gICAgLy0tIG92ZXJsb2FkZWQgLS0vIGJhY2tncm91bmQtY2xpcDogaW5p
dGlhbDsKLSAgICAvLS0gb3ZlcmxvYWRlZCAtLS8gYmFja2dyb3VuZC1jb2xvcjogcmVkOwotCi1b
ZXhwYW5kZWRdIAotYm9keSAgeyAodXNlciBhZ2VudCBzdHlsZXNoZWV0KQotZGlzcGxheTogYmxv
Y2s7Ci1tYXJnaW46IDhweDsKLSAgICBtYXJnaW4tdG9wOiA4cHg7Ci0gICAgbWFyZ2luLXJpZ2h0
OiA4cHg7Ci0gICAgbWFyZ2luLWJvdHRvbTogOHB4OwotICAgIG1hcmdpbi1sZWZ0OiA4cHg7Ci0K
LQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Ivc3R5bGVzL2luamVjdC1zdHls
ZXNoZWV0Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Ivc3R5bGVzL2luamVjdC1zdHlsZXNo
ZWV0Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRhZDAzMDAyYWRiNjRlNmYx
ZDM1MmMwNzdlYjc0MmQwMjk4ZmIxZjYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0eWxlcy9pbmplY3Qtc3R5bGVz
aGVldC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNjUgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4K
LQotPHN0eWxlIHR5cGU9InRleHQvY3NzIiBtZWRpYT0ic2NyZWVuIj4KLSAgI21haW4geyBiYWNr
Z3JvdW5kOmJsdWU7IH0KLTwvc3R5bGU+Ci0KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3Rz
L2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4v
Li4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2Ny
aXB0PgotCi1mdW5jdGlvbiBpbmplY3RTdHlsZVNoZWV0KCkKLXsKLSAgICB2YXIgc3R5bGVTaGVl
dCA9ICIjbWFpbiB7IGNvbG9yOiByZWQ7IC13ZWJraXQtYm9yZGVyLWltYWdlOiB1cmwoZGF0YTpp
bWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCQUFBQUFRQ0FRQUFBQzEr
amZxQUFBQWlFbEVRVlI0MnIyUnNRckRNQXhFQlJkbDhTRGNYOGxRUEdnMUdCSTZsdnovaDdReVJS
WFYwcVVVTHdmdndaMXRlbnc1UHhUb1JQV01DNTJlQTkrV0RubGgzSEZRL3hCUWw4Nk5GWUpxZUdm
bGtpb2dyT3ZWbElGaHFVUkZWaG8zeDFtb0dBYTNkZU1zK0xTMzBDQWhCTjVuTnhlVDVoYkoxendt
amkyaythRjZORU5JUGYvaHM1NGYwc1pGVVZBTWlnQUFBQUJKUlU1RXJrSmdnZz09KSB9ICAjaWZy
YW1lQm9keSB7IGJhY2tncm91bmQ6IHJlZCB9IjsKLSAgICBpZiAod2luZG93LnRlc3RSdW5uZXIp
Ci0gICAgICAgIHdpbmRvdy50ZXN0UnVubmVyLmFkZFVzZXJTdHlsZVNoZWV0KHN0eWxlU2hlZXQs
IHRydWUpOwotfQotCi1mdW5jdGlvbiBsb2FkSWZyYW1lKCkKLXsKLSAgICB2YXIgaWZyYW1lID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7Ci0gICAgaWZyYW1lLnNyYyA9ICJyZXNv
dXJjZXMvaW5qZWN0LXN0eWxlc2hlZXQtaWZyYW1lLWRhdGEuaHRtbCI7Ci0gICAgZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoIm1haW4iKS5hcHBlbmRDaGlsZChpZnJhbWUpOwotfQotCi1mdW5jdGlv
biB0ZXN0KCkKLXsKLSAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJpbmplY3RTdHls
ZVNoZWV0KCkiLCBpbml0KTsKLQotICAgIGZ1bmN0aW9uIGluaXQoKQotICAgIHsKLSAgICAgICAg
SW5zcGVjdG9yVGVzdC5zZWxlY3ROb2RlQW5kV2FpdEZvclN0eWxlc1dpdGhDb21wdXRlZCgibWFp
biIsIHN0ZXAwKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwMCgpCi0gICAgewotICAgICAg
ICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiTWFpbiBmcmFtZSBzdHlsZToiKTsKLSAgICAgICAg
SW5zcGVjdG9yVGVzdC5kdW1wU2VsZWN0ZWRFbGVtZW50U3R5bGVzKCk7Ci0gICAgICAgIEluc3Bl
Y3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoImxvYWRJZnJhbWUoKSIpOwotICAgICAgICBJbnNwZWN0
b3JUZXN0LmFkZENvbnNvbGVTbmlmZmVyKHN0ZXAxKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBz
dGVwMSgpCi0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LnNlbGVjdE5vZGVBbmRXYWl0Rm9y
U3R5bGVzKCJpZnJhbWVCb2R5Iiwgc3RlcDIpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0ZXAy
KCkKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJpZnJhbWUgc3R5bGU6
Iik7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuZHVtcFNlbGVjdGVkRWxlbWVudFN0eWxlcygpOwot
ICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwotICAgIH0KLX0KLTwvc2NyaXB0
PgotPC9oZWFkPgotCi08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci08cD4KLVRlc3RzIHRoYXQg
aW5qZWN0ZWQgdXNlciBzdHlsZXNoZWV0cyBhcmUgcmVmbGVjdGVkIGluIHRoZSBTdHlsZXMgcGFu
ZS4KLTwvcD4KLQotPGRpdiBpZD0ibWFpbiI+PC9kaXY+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Ivc3R5bGVzL3BhcnNlLXN0eWxlc2hlZXQtZXJy
b3JzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9zdHlsZXMvcGFyc2Utc3R5
bGVzaGVldC1lcnJvcnMtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCBlNWVjYjc1ZTYzYTAwNDBjOTYyYjJkNjlkM2I5MGFiZDJmNzA3YmMzLi4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9z
dHlsZXMvcGFyc2Utc3R5bGVzaGVldC1lcnJvcnMtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwK
QEAgLTEsMzYgKzAsMCBAQAotVGVzdHMgdGhhdCBDU1NQYXJzZXIgcHJvZHVjZXMgc291cmNlIGRh
dGEgY29uc2lzdGVudCB3aXRoIENTU09NIHdoZW4gcGFyc2luZyBicm9rZW4gc3R5bGVzaGVldHMu
IEJ1ZyA5ODI0NgotCi1ib2R5OiBbcmVndWxhciwgMTowLTE6NF0gewotICAgIFsnY29sb3InOidi
bGFjayddIEBbMjo0LTI6MTddIGFjdGl2ZQotfQotYm9keTogW3JlZ3VsYXIsIDEyOjAtMTI6NF0g
ewotICAgIFsnYmFja2dyb3VuZC1jb2xvcic6J2Jyb2tlbi1kZWNsYXJhdGlvbicgbm9uLXBhcnNl
ZF0gQFsxMzo0LTEzOjQxXSBhY3RpdmUKLX0KLWJvZHk6IFtyZWd1bGFyLCAyOjAtMjo0XSB7Ci0g
ICAgWydjb2xvcic6J2ltcG9ydC1lcnJvcicgbm9uLXBhcnNlZF0gQFszOjQtMzoyNF0gYWN0aXZl
Ci19Ci1ib2R5OiBbcmVndWxhciwgMjowLTI6NF0gewotICAgIFsnY29sb3InOidpbXBvcnQtZXJy
b3ItYmxvY2snIG5vbi1wYXJzZWRdIEBbMzo0LTM6MzBdIGFjdGl2ZQotfQotYm9keTogW3JlZ3Vs
YXIsIDI6MC0yOjRdIHsKLSAgICBbJ2NvbG9yJzonbWVkaWEtZW1wdHknIG5vbi1wYXJzZWRdIEBb
Mzo0LTM6MjNdIGFjdGl2ZQotfQotYm9keTogW3JlZ3VsYXIsIDI6MC0yOjRdIHsKLSAgICBbJ2Nv
bG9yJzoncGFnZS1lcnJvcicgbm9uLXBhcnNlZF0gQFszOjQtMzoyMl0gYWN0aXZlCi19Ci1ib2R5
OiBbcmVndWxhciwgMjowLTI6NF0gewotICAgIFsnY29sb3InOidwYWdlLWJsb2NrJyBub24tcGFy
c2VkXSBAWzM6NC0zOjIyXSBhY3RpdmUKLX0KLWJvZHk6IFtyZWd1bGFyLCAxOjAtMTo0XSB7Ci0g
ICAgWydjb2xvcic6J2JlZm9yZS1pbXBvcnQnIG5vbi1wYXJzZWRdIEBbMjo0LTI6MjVdIGFjdGl2
ZQotfQotYm9keTogW3JlZ3VsYXIsIDU6MC01OjRdIHsKLSAgICBbJ2NvbG9yJzonYWZ0ZXItaW1w
b3J0JyBub24tcGFyc2VkXSBAWzY6NC02OjI0XSBhY3RpdmUKLX0KLWJvZHk6IFtyZWd1bGFyLCA0
OjAtNDo0XSB7Ci0gICAgWydjb2xvcic6J2FmdGVyLWludmFsaWQtZm9udC1mYWNlJyBub24tcGFy
c2VkXSBAWzU6NC01OjM1XSBhY3RpdmUKLX0KLWJvZHk6IFtyZWd1bGFyLCAzOjAtMzo0XSB7Ci0g
ICAgWydjb2xvcic6J2FmdGVyLWludmFsaWQtcmVnaW9uJyBub24tcGFyc2VkXSBAWzQ6NC00OjMy
XSBhY3RpdmUKLX0KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0eWxlcy9w
YXJzZS1zdHlsZXNoZWV0LWVycm9ycy5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0eWxl
cy9wYXJzZS1zdHlsZXNoZWV0LWVycm9ycy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCA5OTg4YTQ0ZTZmY2UxNWEzOThhYjQzNGEwZjFhNjdmZjkyNzlkYzk2Li4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rv
ci9zdHlsZXMvcGFyc2Utc3R5bGVzaGVldC1lcnJvcnMuaHRtbAorKysgL2Rldi9udWxsCkBAIC0x
LDExOCArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVz
dHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIu
Li8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9lbGVtZW50cy10ZXN0LmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQ+Ci0KLWZ1bmN0aW9uIHRlc3QoKQotewotICAgIFdlYkluc3BlY3Rvci5zaG93UGFuZWwo
ImVsZW1lbnRzIik7Ci0KLSAgICBDU1NBZ2VudC5nZXRBbGxTdHlsZVNoZWV0cyhoZWFkZXJzQ2Fs
bGJhY2spOwotCi0gICAgZnVuY3Rpb24gaGVhZGVyc0NhbGxiYWNrKGVycm9yLCBoZWFkZXJzKQot
ICAgIHsKLSAgICAgICAgaWYgKGVycm9yKSB7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFk
ZFJlc3VsdCgiRXJyb3IgbG9hZGluZyBzdHlsZXNoZWV0IGhlYWRlcnM6ICIgKyBlcnJvcik7Ci0g
ICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwotICAgICAgICAgICAgcmV0
dXJuOwotICAgICAgICB9Ci0KLSAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBoZWFkZXJzLmxl
bmd0aDsgKytpKQotICAgICAgICAgICAgQ1NTQWdlbnQuZ2V0U3R5bGVTaGVldChoZWFkZXJzW2ld
LnN0eWxlU2hlZXRJZCwgc3R5bGVTaGVldENhbGxiYWNrLmJpbmQobnVsbCwgaSA9PT0gaGVhZGVy
cy5sZW5ndGggLSAxKSk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc3R5bGVTaGVldENhbGxiYWNr
KGlzTGFzdCwgZXJyb3IsIHN0eWxlU2hlZXQpCi0gICAgewotICAgICAgICBpZiAoZXJyb3IpIHsK
LSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJFcnJvciBsb2FkaW5nIHN0eWxl
c2hlZXQgYm9keTogIiArIGVycm9yKTsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxl
dGVUZXN0KCk7Ci0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIH0KLQotICAgICAgICBJbnNw
ZWN0b3JUZXN0LmR1bXBSdWxlc0FycmF5KHN0eWxlU2hlZXQucnVsZXMpOwotICAgICAgICBpZiAo
aXNMYXN0KQotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKLSAgICB9
Ci19Ci0KLTwvc2NyaXB0PgotCi08c3R5bGU+Ci1ib2R5IHsKLSAgICBjb2xvcjogYmxhY2s7Ci19
Ci0KLWZvbnQtZmFtaWx5OiBzZXJpZjsKLX0KLQotYm9keTpob3ZlciB7Ci0gICAgY29sb3I6ICND
REU7Ci19Ci0KLWJvZHkgewotICAgIGJhY2tncm91bmQtY29sb3I6IGJyb2tlbi1kZWNsYXJhdGlv
bjsKLX0KLQotPC9zdHlsZT4KLTxzdHlsZT4KLUBpbXBvcnQgMTI7Ci1ib2R5IHsKLSAgICBjb2xv
cjogaW1wb3J0LWVycm9yOwotfQotPC9zdHlsZT4KLTxzdHlsZT4KLUBpbXBvcnQgMTIge30KLWJv
ZHkgewotICAgIGNvbG9yOiBpbXBvcnQtZXJyb3ItYmxvY2s7Ci19Ci08L3N0eWxlPgotPHN0eWxl
PgotQG1lZGlhIDsKLWJvZHkgewotICAgIGNvbG9yOiBtZWRpYS1lbXB0eTsKLX0KLTwvc3R5bGU+
Ci08c3R5bGU+Ci1AcGFnZSA7Ci1ib2R5IHsKLSAgICBjb2xvcjogcGFnZS1lcnJvcjsKLX0KLTwv
c3R5bGU+Ci08c3R5bGU+Ci1AcGFnZSB7fQotYm9keSB7Ci0gICAgY29sb3I6IHBhZ2UtYmxvY2s7
Ci19Ci08L3N0eWxlPgotPHN0eWxlPgotYm9keSB7Ci0gICAgY29sb3I6IGJlZm9yZS1pbXBvcnQ7
Ci19Ci1AaW1wb3J0ICJmb28iOwotYm9keSB7Ci0gICAgY29sb3I6IGFmdGVyLWltcG9ydDsKLX0K
LTwvc3R5bGU+Ci08c3R5bGU+Ci1AZm9udC1mYWNlIHsKLSAgICBmb250LWZhbWlseTogaW5pdGlh
bDsKLX0KLWJvZHkgewotICAgIGNvbG9yOiBhZnRlci1pbnZhbGlkLWZvbnQtZmFjZTsKLX0KLTwv
c3R5bGU+Ci08c3R5bGU+Ci1ALXdlYmtpdC1yZWdpb24gJV4lIHsKLX0KLWJvZHkgewotICAgIGNv
bG9yOiBhZnRlci1pbnZhbGlkLXJlZ2lvbjsKLX0KLTwvc3R5bGU+Ci08L2hlYWQ+Ci0KLTxib2R5
IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxwPgotVGVzdHMgdGhhdCBDU1NQYXJzZXIgcHJvZHVjZXMg
c291cmNlIGRhdGEgY29uc2lzdGVudCB3aXRoIENTU09NIHdoZW4gcGFyc2luZyBicm9rZW4gc3R5
bGVzaGVldHMuIDxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD05ODI0NiI+QnVnIDk4MjQ2PC9hPgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yL3N0eWxlcy9wYXJzZS11dGY4LWJvbS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9pbnNwZWN0b3Ivc3R5bGVzL3BhcnNlLXV0ZjgtYm9tLWV4cGVjdGVkLnR4dApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzczNWFiNTRiNTk3YzQxYjUyY2JmNTI3MTg5
YTMzNWQwNzZhOTFhMC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Ivc3R5bGVzL3BhcnNlLXV0ZjgtYm9tLWV4cGVjdGVk
LnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDI0ICswLDAgQEAKLVRlc3RzIHRoYXQgc291cmNlIGRh
dGEgYXJlIGV4dHJhY3RlZCBjb3JyZWN0bHkgZnJvbSBleHRlcm5hbCBzdHlsZXNoZWV0cyBpbiBV
VEYtOCB3aXRoIEJPTS4gQnVnIDU5MzIyLgotCi1JJ20gcmVkLgotCi1bZXhwYW5kZWRdIAotZWxl
bWVudC5zdHlsZSAgeyAoKQotCi09PT09PT09PSBNYXRjaGVkIENTUyBSdWxlcyA9PT09PT09PQot
W2V4cGFuZGVkXSAKLWgxICB7IChwYXJzZS11dGY4LWJvbS1tYWluLmNzczozKQotY29sb3I6IHJl
ZDsKLQotW2V4cGFuZGVkXSAKLWgxICB7ICh1c2VyIGFnZW50IHN0eWxlc2hlZXQpCi1kaXNwbGF5
OiBibG9jazsKLWZvbnQtc2l6ZTogMmVtOwotLXdlYmtpdC1tYXJnaW4tYmVmb3JlOiAwLjY3ZW07
Ci0td2Via2l0LW1hcmdpbi1hZnRlcjogMC42N2VtOwotLXdlYmtpdC1tYXJnaW4tc3RhcnQ6IDBw
eDsKLS13ZWJraXQtbWFyZ2luLWVuZDogMHB4OwotZm9udC13ZWlnaHQ6IGJvbGQ7Ci0KLQotCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Ivc3R5bGVzL3BhcnNlLXV0ZjgtYm9tLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Ivc3R5bGVzL3BhcnNlLXV0ZjgtYm9tLmh0bWwKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDRhZjU4ZjhiMzQxNTAwYTNhZmNkYjc3NTg2YmU5
MGE3NWZiZjRhMzkuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0eWxlcy9wYXJzZS11dGY4LWJvbS5odG1sCisrKyAv
ZGV2L251bGwKQEAgLTEsMzIgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxsaW5rIHJlbD0ic3R5
bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9InJlc291cmNlcy9wYXJzZS11dGY4LWJvbS1t
YWluLmNzcyI+Ci0KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNw
ZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9p
bnNwZWN0b3IvZWxlbWVudHMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotCi1mdW5jdGlv
biB0ZXN0KCkKLXsKLSAgICBJbnNwZWN0b3JUZXN0LnNlbGVjdE5vZGVBbmRXYWl0Rm9yU3R5bGVz
KCJpbnNwZWN0ZWQiLCBzdGVwMSk7Ci0KLSAgICBmdW5jdGlvbiBzdGVwMSgpCi0gICAgewotICAg
ICAgICBJbnNwZWN0b3JUZXN0LmR1bXBTZWxlY3RlZEVsZW1lbnRTdHlsZXModHJ1ZSwgZmFsc2Us
IHRydWUpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwotICAgIH0KLX0K
LQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci0KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxwPgot
VGVzdHMgdGhhdCBzb3VyY2UgZGF0YSBhcmUgZXh0cmFjdGVkIGNvcnJlY3RseSBmcm9tIGV4dGVy
bmFsIHN0eWxlc2hlZXRzIGluIFVURi04IHdpdGggQk9NLiA8YSBocmVmPSJodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTkzMjIiPkJ1ZyA1OTMyMjwvYT4uCi08L3A+Ci08
aDEgaWQ9Imluc3BlY3RlZCI+Ci1JJ20gcmVkLgotPC9oMT4KLQotPC9ib2R5PgotPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0eWxlcy9yZWdpb24tc3R5bGUtY3Jh
c2gtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0eWxlcy9yZWdpb24tc3R5
bGUtY3Jhc2gtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkOWVk
YTY0OWZkNjY3ZGJhOTY4N2I3ZGM1MDYzOGNlZmNiMGMzZGM5Li4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9zdHlsZXMv
cmVnaW9uLXN0eWxlLWNyYXNoLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDI4ICsw
LDAgQEAKLVRlc3RzIHRoYXQgd2Via2l0IGNzcyByZWdpb24gc3R5bGluZyBjYW4gYmUgcGFyc2Vk
IGNvcnJlY3RseS4gVGVzdCBwYXNzZXMgaWYgaXQgZG9lc24ndCBjcmFzaC4KLQotUCBjb2xvciBz
dHlsZWQgaW4gcmVnaW9uOiAjMDA4MDAwLgotCi1bZXhwYW5kZWRdIAotY29sb3I6IHJnYigyNTUs
IDAsIDApOwotICAgICNwMSAtICNmZjAwMDAgcmVnaW9uLXN0eWxlLWNyYXNoLmh0bWw6NgotZGlz
cGxheTogYmxvY2s7Ci0gICAgcCAtIGJsb2NrIHVzZXIgYWdlbnQgc3R5bGVzaGVldAotCi1bZXhw
YW5kZWRdIAotZWxlbWVudC5zdHlsZSAgeyAoKQotCi09PT09PT09PSBNYXRjaGVkIENTUyBSdWxl
cyA9PT09PT09PQotW2V4cGFuZGVkXSAKLSNwMSAgeyAocmVnaW9uLXN0eWxlLWNyYXNoLmh0bWw6
NikKLWNvbG9yOiAjZmYwMDAwOwotCi1bZXhwYW5kZWRdIAotcCAgeyAodXNlciBhZ2VudCBzdHls
ZXNoZWV0KQotZGlzcGxheTogYmxvY2s7Ci0td2Via2l0LW1hcmdpbi1iZWZvcmU6IDFlbTsKLS13
ZWJraXQtbWFyZ2luLWFmdGVyOiAxZW07Ci0td2Via2l0LW1hcmdpbi1zdGFydDogMHB4OwotLXdl
YmtpdC1tYXJnaW4tZW5kOiAwcHg7Ci0KLQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3Ivc3R5bGVzL3JlZ2lvbi1zdHlsZS1jcmFzaC5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yL3N0eWxlcy9yZWdpb24tc3R5bGUtY3Jhc2guaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggZmNlOGE4ZWQ0ZTZkMzE1ODc4ZjE5YjZkZTI1Y2E1MWMwNjBjNjc1Zi4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3Ivc3R5bGVzL3JlZ2lvbi1zdHlsZS1jcmFzaC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEs
NDIgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzdHlsZT4KLSNhcnRpY2xlMSB7IC13ZWJraXQt
Zmxvdy1pbnRvOiBmbG93MTsgfQotI3JlZ2lvbjEgeyAtd2Via2l0LWZsb3ctZnJvbTogZmxvdzE7
IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAxMHB4OyB3aWR0aDogMzUwcHg7IGhlaWdodDogMjVw
eDt9Ci0jcDEgeyBjb2xvcjogI2ZmMDAwMDsgfQotQC13ZWJraXQtcmVnaW9uICNyZWdpb24xIHsK
LSAgICAjcDEgeyBjb2xvcjogIzAwODAwMDsgfQotfQotCi08L3N0eWxlPgotPHNjcmlwdCBzcmM9
Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9lbGVtZW50cy10ZXN0Lmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQ+Ci0KLWZ1bmN0aW9uIHRlc3QoKQotewotICAgIFdlYkluc3Bl
Y3Rvci5zaG93UGFuZWwoImVsZW1lbnRzIik7Ci0gICAgSW5zcGVjdG9yVGVzdC5zZWxlY3ROb2Rl
QW5kV2FpdEZvclN0eWxlc1dpdGhDb21wdXRlZCgicDEiLCBkdW1wQWxsU3R5bGVzKTsKLQotICAg
IGZ1bmN0aW9uIGR1bXBBbGxTdHlsZXMoKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5k
dW1wU2VsZWN0ZWRFbGVtZW50U3R5bGVzKCk7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxl
dGVUZXN0KCk7Ci0gICAgfQotfQotCi08L3NjcmlwdD4KLTwvaGVhZD4KLQotPGJvZHkgb25sb2Fk
PSJydW5UZXN0KCkiPgotPHA+Ci1UZXN0cyB0aGF0IHdlYmtpdCBjc3MgcmVnaW9uIHN0eWxpbmcg
Y2FuIGJlIHBhcnNlZCBjb3JyZWN0bHkuIFRlc3QgcGFzc2VzIGlmIGl0IGRvZXNuJ3QgY3Jhc2gu
Ci08L3A+Ci0KLTxkaXYgaWQ9ImFydGljbGUxIj4KLSAgICA8cCBpZD0icDEiPlAgY29sb3Igc3R5
bGVkIGluIHJlZ2lvbjogIzAwODAwMC48L3A+Ci08L2Rpdj4KLTxkaXYgaWQ9InJlZ2lvbjEiIGNs
YXNzPSJyZWdpb25Cb3giPjwvZGl2PgotCi08L2JvZHk+Ci08L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0eWxlcy9y
ZW1vdmVkLXJ1bGUtY3Jhc2gtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0
eWxlcy9yZW1vdmVkLXJ1bGUtY3Jhc2gtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCBhZWRlYTk1ZmQzOGYxODIzZjMwNDg1OGIxY2IxYWFlOTk5NjZlZWQ0Li4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2lu
c3BlY3Rvci9zdHlsZXMvcmVtb3ZlZC1ydWxlLWNyYXNoLWV4cGVjdGVkLnR4dAorKysgL2Rldi9u
dWxsCkBAIC0xLDE4ICswLDAgQEAKLVRlc3RzIHRoYXQgZGlzYWJsaW5nIHN0eWxlIHByb3BlcnR5
IGFmdGVyIHRoZSBzdHlsZSBydWxlIGhhcyBiZWVuIHJlbW92ZWQgZG9lcyBub3QgY3Jhc2ggdGhl
IGluc3BlY3RlZCBwYWdlLgotCi1CZWZvcmUgZGlzYWJsZQotW2V4cGFuZGVkXSAKLWVsZW1lbnQu
c3R5bGUgIHsgKCkKLQotPT09PT09PT0gTWF0Y2hlZCBDU1MgUnVsZXMgPT09PT09PT0KLVtleHBh
bmRlZF0gCi0jY29udGFpbmVyICB7IChyZW1vdmVkLXJ1bGUtY3Jhc2guaHRtbDo0KQotZm9udC13
ZWlnaHQ6IGJvbGQ7Ci0KLVtleHBhbmRlZF0gCi1kaXYgIHsgKHVzZXIgYWdlbnQgc3R5bGVzaGVl
dCkKLWRpc3BsYXk6IGJsb2NrOwotCi0KLVBBU1M6IE5vIGNyYXNoCi0KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2luc3BlY3Rvci9zdHlsZXMvcmVtb3ZlZC1ydWxlLWNyYXNoLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbnNwZWN0b3Ivc3R5bGVzL3JlbW92ZWQtcnVsZS1jcmFzaC5odG1sCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiMTJhZDhiYWU4ZmQzNGI4NGNhYjBjYWVhNmU1MjBkNDg2
ZGZjZmIxLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2luc3BlY3Rvci9zdHlsZXMvcmVtb3ZlZC1ydWxlLWNyYXNoLmh0bWwKKysrIC9k
ZXYvbnVsbApAQCAtMSw1MiArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHN0eWxlPgotI2NvbnRh
aW5lciB7Ci0gICAgZm9udC13ZWlnaHQ6IGJvbGQ7Ci19Ci08L3N0eWxlPgotPHNjcmlwdCBzcmM9
Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9lbGVtZW50cy10ZXN0Lmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQ+Ci0KLWZ1bmN0aW9uIHJlbW92ZVJ1bGUoKQotewotICAgIGRv
Y3VtZW50LnN0eWxlU2hlZXRzWzBdLnJlbW92ZVJ1bGUoMCk7Ci19Ci0KLWZ1bmN0aW9uIHRlc3Qo
KQotewotICAgIEluc3BlY3RvclRlc3Quc2VsZWN0Tm9kZUFuZFdhaXRGb3JTdHlsZXMoImNvbnRh
aW5lciIsIHN0ZXAwKTsKLQotICAgIGZ1bmN0aW9uIHN0ZXAwKG5vZGUpCi0gICAgewotICAgICAg
ICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJyZW1vdmVSdWxlKCkiLCBzdGVwMSk7Ci0g
ICAgfQotCi0gICAgZnVuY3Rpb24gc3RlcDEoKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVz
dC5hZGRSZXN1bHQoIkJlZm9yZSBkaXNhYmxlIik7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuZHVt
cFNlbGVjdGVkRWxlbWVudFN0eWxlcyh0cnVlKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC50b2dn
bGVNYXRjaGVkU3R5bGVQcm9wZXJ0eSgiZm9udC13ZWlnaHQiLCBmYWxzZSk7Ci0gICAgICAgIElu
c3BlY3RvclRlc3QucnVuQWZ0ZXJQZW5kaW5nRGlzcGF0Y2hlcyhzdGVwMik7Ci0gICAgfQotCi0g
ICAgZnVuY3Rpb24gc3RlcDIoKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1
bHQoIlBBU1M6IE5vIGNyYXNoIik7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0
KCk7Ci0gICAgfQotfQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci0KLTxib2R5IG9ubG9hZD0icnVuVGVz
dCgpIj4KLTxwPgotVGVzdHMgdGhhdCBkaXNhYmxpbmcgc3R5bGUgcHJvcGVydHkgYWZ0ZXIgdGhl
IHN0eWxlIHJ1bGUgaGFzIGJlZW4gcmVtb3ZlZCBkb2VzIG5vdCBjcmFzaCB0aGUgaW5zcGVjdGVk
IHBhZ2UuCi08L3A+Ci0KLTxkaXYgaWQ9ImNvbnRhaW5lciI+Ci08L2Rpdj4KLQotPC9ib2R5Pgot
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0eWxlcy9yZXNvdXJj
ZXMvZnJvbWNzcy5wbmcgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Ivc3R5bGVzL3Jlc291cmNlcy9m
cm9tY3NzLnBuZwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTQ0MjY4NTM3YTdiODM1
OGY1NmI2YjljZmQwY2ZiZjkyZDczNTYyOC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMApHSVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwgMApIY21WP2QwMDAwMQoKbGl0ZXJh
bCAxNDQKemNtZUFTQE4/KG9sSHlgdVZCcSFpYTB2cF5mPFZtOCEyfjQ1b0lWQnNEYjUwcSRZUCtG
RmJGZDslJGckczZtO0AqCnphU1lMem1efGE7ZmUtVXQ0cD5aUDxodTBsZjRUeW4hV1YoeyFtPDJA
UnZUWCpUcldJZEYyKlgtQmRGSih6d1pCbgpuKk5TUikxZ2Jqdjw7NW4ySTVSTXVUalFPPEhLRk1A
JkA9ezVTM2ozXlA2PHJfK2ZGS3cKCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Iv
c3R5bGVzL3Jlc291cmNlcy9nZXQtc2V0LXN0eWxlc2hlZXQtdGV4dC5jc3MgYi9MYXlvdXRUZXN0
cy9pbnNwZWN0b3Ivc3R5bGVzL3Jlc291cmNlcy9nZXQtc2V0LXN0eWxlc2hlZXQtdGV4dC5jc3MK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGVlMjZkZTg3YzNlM2YzYTQ4ZmU0MGZiOWRl
OGNkMzJjZmZiOWY3ZTguLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0eWxlcy9yZXNvdXJjZXMvZ2V0LXNldC1zdHls
ZXNoZWV0LXRleHQuY3NzCisrKyAvZGV2L251bGwKQEAgLTEsMTggKzAsMCBAQAotYm9keSB7Ci0g
ICAgZm9udC1zaXplOiAxMnB4OwotICAgIGZvbzogYmFyICEKLQotICAgIGltcG9ydGFudCAvKiAh
aW1wb3J0YW50IHByb3BlcnR5IG5vdCByZWNvZ25pemVkIGJ5IFdlYkNvcmUgKi87Ci0gICAgaGVp
Z2h0OiAxMDAlICFpbXBvcnRhbnQ7Ci0gICAgY29sb3J6OiAiIWltcG9ydGFudCI7Ci0gICAgaW1w
b3J0YW50OiFpbXBvcnRhbnQ7Ci0gICAgY29sb3I6ICJiYWRjb2xvciIgISBpbXBvcnRhbnQgLyog
Z29vZCBwcm9wZXJ0eSB3aXRoIHN0cmFuZ2UgdmFsdWUgKi87Ci19Ci0KLUBtZWRpYSB7Ci0gICAg
LyogQG1lZGlhIHJ1bGUgd2l0aCBhbiBlbXB0eSBtZWRpYSBsaXN0ICovCi19Ci0KLS8qIGNvbW1l
bnQgYmVmb3JlIHNlbGVjdG9yICovYm9keS5tYWluMS8qIGNvbW1lbnQgYWZ0ZXIgc2VsZWN0b3Ig
Ki97LyogY29tbWVudCAqL2NvbG9yOiAjRjAwQkFBO3pvbzptb28gLyogbm90IGFuICFpbXBvcnRh
bnQgdW5yZWNvZ25pemVkIHByb3BlcnR5ICovfS8qIGNvbW1lbnQgKi8KLQotYm9keS5tYWluMnti
YWNrZ3JvdW5kOiBncmVlbiAvKiB2YWx1ZSAhaW1wb3J0YW50IGNvbW1lbnQgKi8gIWltcG9ydGFu
dCAvKiBubyBzZW1pY29sb24sIHZlcnkgIWltcG9ydGFudCAqL30KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2luc3BlY3Rvci9zdHlsZXMvcmVzb3VyY2VzL2lmcmFtZWQucG5nIGIvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yL3N0eWxlcy9yZXNvdXJjZXMvaWZyYW1lZC5wbmcKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDE0NDI2ODUzN2E3YjgzNThmNTZiNmI5Y2ZkMGNmYmY5MmQ3MzU2Mjgu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKR0lUIGJpbmFyeSBwYXRj
aApsaXRlcmFsIDAKSGNtVj9kMDAwMDEKCmxpdGVyYWwgMTQ0CnpjbWVBU0BOPyhvbEh5YHVWQnEh
aWEwdnBeZjxWbTghMn40NW9JVkJzRGI1MHEkWVArRkZiRmQ7JSRnJHM2bTtAKgp6YVNZTHptXnxh
O2ZlLVV0NHA+WlA8aHUwbGY0VHluIVdWKHshbTwyQFJ2VFgqVHJXSWRGMipYLUJkRkooendaQm4K
bipOU1IpMWdianY8OzVuMkk1Uk11VGpRTzxIS0ZNQCZAPXs1UzNqM15QNjxyXytmRkt3CgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0eWxlcy9yZXNvdXJjZXMvaW1wb3J0LXBz
ZXVkb2NsYXNzLWNyYXNoLWVtcHR5LmNzcyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9zdHlsZXMv
cmVzb3VyY2VzL2ltcG9ydC1wc2V1ZG9jbGFzcy1jcmFzaC1lbXB0eS5jc3MKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IGU2OWRlMjliYjJkMWQ2NDM0YjhiMjlhZTc3NWFkOGMyZTQ4YzUz
OTEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2luc3BlY3Rvci9zdHlsZXMvcmVzb3VyY2VzL2ltcG9ydC1wc2V1ZG9jbGFz
cy1jcmFzaC5jc3MgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Ivc3R5bGVzL3Jlc291cmNlcy9pbXBv
cnQtcHNldWRvY2xhc3MtY3Jhc2guY3NzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2
OTU2NGRjMGQ4YmQwNDEwZWZkYTEyOTE5YTdkYjgxMDU2ZjMzNGVhLi4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9zdHls
ZXMvcmVzb3VyY2VzL2ltcG9ydC1wc2V1ZG9jbGFzcy1jcmFzaC5jc3MKKysrIC9kZXYvbnVsbApA
QCAtMSw1ICswLDAgQEAKLUBpbXBvcnQgdXJsKCJpbXBvcnQtcHNldWRvY2xhc3MtY3Jhc2gtZW1w
dHkuY3NzIik7Ci0KLTpsYXN0LWNoaWxkIHsKLSAgY29sb3I6ICMwMDA7Ci19CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Ivc3R5bGVzL3Jlc291cmNlcy9pbmplY3Qtc3R5bGVzaGVl
dC1pZnJhbWUtZGF0YS5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0eWxlcy9yZXNvdXJj
ZXMvaW5qZWN0LXN0eWxlc2hlZXQtaWZyYW1lLWRhdGEuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggNWYzZTdlNjI0YzA4MzAyMWE5ZWMxM2M1ZjA3MWIxNjUzMWQ3ZDkyMi4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9p
bnNwZWN0b3Ivc3R5bGVzL3Jlc291cmNlcy9pbmplY3Qtc3R5bGVzaGVldC1pZnJhbWUtZGF0YS5o
dG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTcgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzdHls
ZSB0eXBlPSJ0ZXh0L2NzcyIgbWVkaWE9InNjcmVlbiI+Ci0gIGJvZHkgeyBiYWNrZ3JvdW5kOmdy
ZWVuOyB9Ci08L3N0eWxlPgotPHNjcmlwdD4KLWZ1bmN0aW9uIGlmcmFtZU9ubG9hZCgpCi17Ci0g
ICAgY29uc29sZS5sb2coImlmcmFtZSBsb2FkZWQiKTsKLX0KLTwvc2NyaXB0PgotPC9oZWFkPgot
Ci08Ym9keSBvbmxvYWQ9ImlmcmFtZU9ubG9hZCgpIiBpZD0iaWZyYW1lQm9keSI+Ci08L2JvZHk+
Ci0KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9zdHlsZXMvcmVz
b3VyY2VzL21lZGlhLXF1ZXJpZXMtMS5jc3MgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Ivc3R5bGVz
L3Jlc291cmNlcy9tZWRpYS1xdWVyaWVzLTEuY3NzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCBjMTY4YzliMTM4MmY5YTlmMmJmMzU5NTY3YzE0N2E1ODZhMTc5ODRlLi4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rv
ci9zdHlsZXMvcmVzb3VyY2VzL21lZGlhLXF1ZXJpZXMtMS5jc3MKKysrIC9kZXYvbnVsbApAQCAt
MSw3ICswLDAgQEAKLWJvZHkgewotICAgIG1hcmdpbjogMDsKLX0KLQotQG1lZGlhIG5vdCBhdXJh
bCB7Ci0gICAgI21haW4geyBib3JkZXI6IDFweCBzb2xpZCBibGFjazsgfQotfQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0eWxlcy9yZXNvdXJjZXMvbWVkaWEtcXVlcmllcy5j
c3MgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Ivc3R5bGVzL3Jlc291cmNlcy9tZWRpYS1xdWVyaWVz
LmNzcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDUzNDQ5YzFmYWZiYjM3Mjc1ZWM3
OTgzZGRjY2U1MmNkNmY4OTczOS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Ivc3R5bGVzL3Jlc291cmNlcy9tZWRpYS1x
dWVyaWVzLmNzcworKysgL2Rldi9udWxsCkBAIC0xLDcgKzAsMCBAQAotCi0KLUBpbXBvcnQgdXJs
KG1lZGlhLXF1ZXJpZXMtMS5jc3MpIHNjcmVlbjsKLQotQG1lZGlhIHNjcmVlbiB7Ci0gICAgI21h
aW4geyBjb2xvcjogeWVsbG93OyB9Ci19CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0
b3Ivc3R5bGVzL3Jlc291cmNlcy9wYXJzZS11dGY4LWJvbS1tYWluLmNzcyBiL0xheW91dFRlc3Rz
L2luc3BlY3Rvci9zdHlsZXMvcmVzb3VyY2VzL3BhcnNlLXV0ZjgtYm9tLW1haW4uY3NzCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDc1NQppbmRleCA4YjE5NDg1YjM3ZTI0MTJhMDcwNmFmMWE0MTAyNTg0
NWVlODUyYzZkLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL2luc3BlY3Rvci9zdHlsZXMvcmVzb3VyY2VzL3BhcnNlLXV0ZjgtYm9tLW1h
aW4uY3NzCisrKyAvZGV2L251bGwKQEAgLTEsOSArMCwwIEBACi3vu79AaW1wb3J0ICcuL3BhcnNl
LXV0ZjgtYm9tLXJlc2V0LmNzcyc7Ci0KLWgxIHsKLSAgICBjb2xvcjogcmVkOwotfQotCi1oMiB7
Ci0gICAgY29sb3I6IGJsdWU7Ci19ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0eWxlcy9yZXNvdXJjZXMvcGFyc2UtdXRmOC1i
b20tcmVzZXQuY3NzIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0eWxlcy9yZXNvdXJjZXMvcGFy
c2UtdXRmOC1ib20tcmVzZXQuY3NzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDc1NQppbmRleCA1ZjI4
MjcwMmJiMDNlZjExZDcxODRkMTljODA5MjdiNDdmOTE5NzY0Li4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9zdHlsZXMv
cmVzb3VyY2VzL3BhcnNlLXV0ZjgtYm9tLXJlc2V0LmNzcworKysgL2Rldi9udWxsCkBAIC0xICsw
LDAgQEAKLe+7vwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2luc3BlY3Rvci9zdHlsZXMvcmVzb3VyY2VzL3NlbGVjdG9yLWxpbmUuY3NzIGIvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yL3N0eWxlcy9yZXNvdXJjZXMvc2VsZWN0b3ItbGluZS5jc3MKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDMxMTViMjUyMmI0NTlmZjMyODRiMmRjNDY3NDM3
YmE5YTgwZDQyNjQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0eWxlcy9yZXNvdXJjZXMvc2VsZWN0b3ItbGluZS5j
c3MKKysrIC9kZXYvbnVsbApAQCAtMSw2ICswLDAgQEAKLSNjb250YWluZXIgewotICBiYWNrZ3Jv
dW5kOiBwYXBheWF3aGlwOyB9Ci0gICNjb250YWluZXIgI2luc3BlY3RlZCB7Ci0gICAgY29sb3I6
IGdyZWVuOyB9Ci0KLS8qQCBzb3VyY2VNYXBwaW5nVVJMPXNlbGVjdG9yLWxpbmUuY3NzLm1hcCAq
LwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lu
c3BlY3Rvci9zdHlsZXMvcmVzb3VyY2VzL3NlbGVjdG9yLWxpbmUuY3NzLm1hcCBiL0xheW91dFRl
c3RzL2luc3BlY3Rvci9zdHlsZXMvcmVzb3VyY2VzL3NlbGVjdG9yLWxpbmUuY3NzLm1hcApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZGJmMjc1ODY4NjZlNTBiNWEzYTlmMjBmNzU1OTQ1
NmY2NmZhYjI1MS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Ivc3R5bGVzL3Jlc291cmNlcy9zZWxlY3Rvci1saW5lLmNz
cy5tYXAKKysrIC9kZXYvbnVsbApAQCAtMSw2ICswLDAgQEAKLXsKLSJ2ZXJzaW9uIjogIjMiLAot
Im1hcHBpbmdzIjogIkFBQUEsVUFBVztFQUNQLFVBQVUsRUFBRSxVQUFVO0VBRXRCLHFCQUFXO0lB
Q1AsS0FBSyxFQUFFLEtBQUsiLAotInNvdXJjZXMiOiBbInNlbGVjdG9yLWxpbmUuc2NzcyJdLAot
ImZpbGUiOiAic2VsZWN0b3ItbGluZS5jc3MiCi19CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bnNwZWN0b3Ivc3R5bGVzL3Jlc291cmNlcy9zZWxlY3Rvci1saW5lLnNjc3MgYi9MYXlvdXRUZXN0
cy9pbnNwZWN0b3Ivc3R5bGVzL3Jlc291cmNlcy9zZWxlY3Rvci1saW5lLnNjc3MKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDVjNzRkMzVkMjliMTY4YTk0NWI3ZjlhZjI4YTdhOTNiYjdl
Zjk5MGUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yL3N0eWxlcy9yZXNvdXJjZXMvc2VsZWN0b3ItbGluZS5zY3NzCisr
KyAvZGV2L251bGwKQEAgLTEsNyArMCwwIEBACi0jY29udGFpbmVyIHsKLSAgICBiYWNrZ3JvdW5k
OiBwYXBheWF3aGlwOwotCi0gICAgI2luc3BlY3RlZCB7Ci0gICAgICAgIGNvbG9yOiBncmVlbjsK
LSAgICB9Ci19CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Ivc3R5bGVzL3Jlc291
cmNlcy9zdHlsZXMtaGlzdG9yeS5jc3MgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Ivc3R5bGVzL3Jl
c291cmNlcy9zdHlsZXMtaGlzdG9yeS5jc3MKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDk2ZWE2Zjc5NzZiODdhYjhlNmZhMGNkN2UyYjc4ZWZiNWM4MGY1OGEuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0
eWxlcy9yZXNvdXJjZXMvc3R5bGVzLWhpc3RvcnkuY3NzCisrKyAvZGV2L251bGwKQEAgLTEsNCAr
MCwwIEBACi1ib2R5IHsKLSAgbWFyZ2luOiAxMHB4OwotICBwYWRkaW5nOiAxMHB4OwotfQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0eWxlcy9yZXNvdXJjZXMvc3R5bGVzLWlm
cmFtZS1kYXRhLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Ivc3R5bGVzL3Jlc291cmNlcy9z
dHlsZXMtaWZyYW1lLWRhdGEuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNWYz
ZTdlNjI0YzA4MzAyMWE5ZWMxM2M1ZjA3MWIxNjUzMWQ3ZDkyMi4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Ivc3R5bGVz
L3Jlc291cmNlcy9zdHlsZXMtaWZyYW1lLWRhdGEuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDE3
ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c3R5bGUgdHlwZT0idGV4dC9jc3MiIG1lZGlhPSJz
Y3JlZW4iPgotICBib2R5IHsgYmFja2dyb3VuZDpncmVlbjsgfQotPC9zdHlsZT4KLTxzY3JpcHQ+
Ci1mdW5jdGlvbiBpZnJhbWVPbmxvYWQoKQotewotICAgIGNvbnNvbGUubG9nKCJpZnJhbWUgbG9h
ZGVkIik7Ci19Ci08L3NjcmlwdD4KLTwvaGVhZD4KLQotPGJvZHkgb25sb2FkPSJpZnJhbWVPbmxv
YWQoKSIgaWQ9ImlmcmFtZUJvZHkiPgotPC9ib2R5PgotCi08L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbnNwZWN0b3Ivc3R5bGVzL3Jlc291cmNlcy9zdHlsZXMtbmV3LUFQSS0xLmNz
cyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9zdHlsZXMvcmVzb3VyY2VzL3N0eWxlcy1uZXctQVBJ
LTEuY3NzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmMTU0NjcwZjNkOTRiNmM2ODU0
MTExOTU1OTgyNTIxZGJlMGI3ZjFkLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9zdHlsZXMvcmVzb3VyY2VzL3N0eWxl
cy1uZXctQVBJLTEuY3NzCisrKyAvZGV2L251bGwKQEAgLTEsMjUgKzAsMCBAQAotQGltcG9ydCB1
cmwoc3R5bGVzLW5ldy1BUEktMi5jc3MpOwotCi1AcGFnZSB7IG1hcmdpbjogMmNtIH0gLyogQWxs
IG1hcmdpbnMgc2V0IHRvIDJjbSAqLwotCi1AcGFnZSA6Zmlyc3QgewotICBtYXJnaW4tdG9wOiAx
MGNtICAgIC8qIFRvcCBtYXJnaW4gb24gZmlyc3QgcGFnZSAxMGNtICovCi19Ci0KLUBtZWRpYSBz
Y3JlZW4gewotCi0jYWJzZW50LWlkIHsKLX0KLQotQGZvbnQtZmFjZSB7Ci0gICAgZm9udC1mYW1p
bHk6ICdUaGVGb250JzsKLSAgICBzcmM6IHVybCgnZm9udC51cmwnKTsKLSAgICBmb250LXdlaWdo
dDogbm9ybWFsOwotICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsKLX0KLQotYm9keSB7Ci0gICAgcHJv
cGVydHk6IGltcG9ydGVkLW1lZGlhLXNjcmVlbi1zdHlsZXNoZWV0OwotfQotCi19CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Ivc3R5bGVzL3Jlc291cmNlcy9zdHlsZXMtbmV3LUFQ
SS0yLmNzcyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9zdHlsZXMvcmVzb3VyY2VzL3N0eWxlcy1u
ZXctQVBJLTIuY3NzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDc1NQppbmRleCA0ODgyZTA3YThiMTQ1
MTIwMDdlMTUwM2QxOWQxMDRlNzlmMzFhY2VhLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9zdHlsZXMvcmVzb3VyY2Vz
L3N0eWxlcy1uZXctQVBJLTIuY3NzCisrKyAvZGV2L251bGwKQEAgLTEsMjUgKzAsMCBAQAotQGlt
cG9ydCB1cmwoc3R5bGVzLW5ldy1BUEktMS5jc3MpOwotCi1AcGFnZSB7IG1hcmdpbjogMmNtIH0g
LyogQWxsIG1hcmdpbnMgc2V0IHRvIDJjbSAqLwotCi1AcGFnZSA6Zmlyc3QgewotICBtYXJnaW4t
dG9wOiAxMGNtICAgIC8qIFRvcCBtYXJnaW4gb24gZmlyc3QgcGFnZSAxMGNtICovCi19Ci0KLUBt
ZWRpYSBzY3JlZW4gewotCi0jYWJzZW50LWlkIHsKLX0KLQotQGZvbnQtZmFjZSB7Ci0gICAgZm9u
dC1mYW1pbHk6ICdUaGVGb250JzsKLSAgICBzcmM6IHVybCgnZm9udC51cmwnKTsKLSAgICBmb250
LXdlaWdodDogbm9ybWFsOwotICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsKLX0KLQotYm9keSB7Ci0g
ICAgcHJvcGVydHk6IGltcG9ydGVkLW1lZGlhLXNjcmVlbi1zdHlsZXNoZWV0OwotfQotCi19CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Ivc3R5bGVzL3Jlc291cmNlcy9zdHlsZXMt
bmV3LUFQSS5jc3MgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Ivc3R5bGVzL3Jlc291cmNlcy9zdHls
ZXMtbmV3LUFQSS5jc3MKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGIwMWQxMDI2NmQy
NWEwZjRjMjZjNTIwY2QwNzRhZWQ2OGVjMjkwOTEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0eWxlcy9yZXNvdXJj
ZXMvc3R5bGVzLW5ldy1BUEkuY3NzCisrKyAvZGV2L251bGwKQEAgLTEsMzMgKzAsMCBAQAotQGNo
YXJzZXQgIlVURi04IjsKLQotQGltcG9ydCB1cmwoInN0eWxlcy1uZXctQVBJLTEuY3NzIik7Ci0K
LWh0bWwgewotICAgIGZvbnQtd2VpZ2h0OiA0MDA7Ci19Ci0KLUBtZWRpYSBzY3JlZW4gewotYm9k
eSB7Ci0gICAgZm9udC1zaXplOiAxMnB4OwotICAgIGZvbzogYmFyICEKLQotICAgIGltcG9ydGFu
dCAvKiAhaW1wb3J0YW50IHByb3BlcnR5IG5vdCByZWNvZ25pemVkIGJ5IFdlYkNvcmUgKi87Ci0g
ICAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7Ci0gICAgY29sb3J6OiAiIWltcG9ydGFudCI7Ci0g
ICAgaW1wb3J0YW50OiFpbXBvcnRhbnQ7Ci0gICAgY29sb3I6IHllbGxvdzsKLSAgICBjb2xvcjog
ImJhZGNvbG9yIiAhIGltcG9ydGFudCAvKiBnb29kIHByb3BlcnR5IHdpdGggc3RyYW5nZSB2YWx1
ZSAqLzsKLX0KLQotLyogY29tbWVudCBiZWZvcmUgc2VsZWN0b3IgKi9ib2R5Lm1haW4xLyogY29t
bWVudCBhZnRlciBzZWxlY3RvciAqL3svKiBjb21tZW50ICovY29sb3I6ICNGMDBCQUE7em9vOm1v
byAvKiBub3QgYW4gIWltcG9ydGFudCB1bnJlY29nbml6ZWQgcHJvcGVydHkgKi99LyogY29tbWVu
dCAqLwotCi1ib2R5Lm1haW4ye2JhY2tncm91bmQ6IGdyZWVuIC8qIHZhbHVlICFpbXBvcnRhbnQg
Y29tbWVudCAqLyAhaW1wb3J0YW50IC8qIG5vIHNlbWljb2xvbiwgdmVyeSAhaW1wb3J0YW50ICov
fQotfQotCi1ib2R5OjphZnRlciAgewotICAgIGNvbnRlbnQ6ICJBZnRlciBib2R5IjsKLX0KLQot
aDEgewotICAgIGhlaWdodCA6IDEwMCUgOyBib3JkZXI6IDFweCBzb2xpZDsgYm9yZGVyLXdpZHRo
OiAycHg7IGJhY2tncm91bmQtY29sb3IgOiAjMzNGRjMzOyBnb29nbGVzOiBhYnJhOyBmb286IC5i
YXI7IC1tb3otZ29vZzogMSoqKjsgYm9yZGVyLXdpZHRoOiAwcHg7Ci19CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbnNwZWN0b3Ivc3R5bGVzL3Jlc291cmNlcy9zdHlsZXMtc291cmNlLWxpbmVz
LWlubGluZS1pZnJhbWUuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9zdHlsZXMvcmVzb3Vy
Y2VzL3N0eWxlcy1zb3VyY2UtbGluZXMtaW5saW5lLWlmcmFtZS5odG1sCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCBjNjczOGNiZmZlZTVmMmNmODA0ZWRkNTFjYWRiZmE5YzgyOTA2NjBm
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2luc3BlY3Rvci9zdHlsZXMvcmVzb3VyY2VzL3N0eWxlcy1zb3VyY2UtbGluZXMtaW5saW5l
LWlmcmFtZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMjAgKzAsMCBAQAotPGh0bWw+Ci08aGVh
ZD4KLTxzdHlsZT4KLS5iYXIgewotICAgIGNvbG9yOiByZWQ7Ci19Ci08L3N0eWxlPgotPHNjcmlw
dD4KLWZ1bmN0aW9uIGlmcmFtZU9ubG9hZCgpCi17Ci0gICAgd2luZG93LnBhcmVudC5pZnJhbWVM
b2FkZWQgPSB0cnVlOwotfQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci0KLTxib2R5IG9ubG9hZD0iaWZy
YW1lT25sb2FkKCkiPgotPGRpdiBpZD0iYmFyIiBjbGFzcz0iYmFyIj5CYXI8L2Rpdj4KLTwvYm9k
eT4KLQotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0eWxlcy9y
ZXNvdXJjZXMvc3R5bGVzLXNvdXJjZS1vZmZzZXRzLmNzcyBiL0xheW91dFRlc3RzL2luc3BlY3Rv
ci9zdHlsZXMvcmVzb3VyY2VzL3N0eWxlcy1zb3VyY2Utb2Zmc2V0cy5jc3MKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDQ1MjEwZTNmYmVhZmY1MjdjNWRkNzIwMTliNTc1N2FhNTkzODQz
YjYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yL3N0eWxlcy9yZXNvdXJjZXMvc3R5bGVzLXNvdXJjZS1vZmZzZXRzLmNz
cworKysgL2Rldi9udWxsCkBAIC0xLDE0ICswLDAgQEAKLWJvZHkgewotICAgIGZvbnQtc2l6ZTog
MTJweDsKLSAgICBmb286IGJhciAhCi0KLSAgICBpbXBvcnRhbnQgLyogIWltcG9ydGFudCBwcm9w
ZXJ0eSBub3QgcmVjb2duaXplZCBieSBXZWJDb3JlICovOwotICAgIGhlaWdodDogMTAwJSAhaW1w
b3J0YW50OwotICAgIGNvbG9yejogIiFpbXBvcnRhbnQiOwotICAgIGltcG9ydGFudDohaW1wb3J0
YW50OwotICAgIGNvbG9yOiAiYmFkY29sb3IiICEgaW1wb3J0YW50IC8qIGdvb2QgcHJvcGVydHkg
d2l0aCBzdHJhbmdlIHZhbHVlICovOwotfQotCi0vKiBjb21tZW50IGJlZm9yZSBzZWxlY3RvciAq
L2JvZHkubWFpbjEvKiBjb21tZW50IGFmdGVyIHNlbGVjdG9yICovey8qIGNvbW1lbnQgKi9jb2xv
cjogI0YwMEJBQTt6b286bW9vIC8qIG5vdCBhbiAhaW1wb3J0YW50IHVucmVjb2duaXplZCBwcm9w
ZXJ0eSAqL30vKiBjb21tZW50ICovCi0KLWJvZHkubWFpbjJ7YmFja2dyb3VuZDogZ3JlZW4gLyog
dmFsdWUgIWltcG9ydGFudCBjb21tZW50ICovICFpbXBvcnRhbnQgLyogbm8gc2VtaWNvbG9uLCB2
ZXJ5ICFpbXBvcnRhbnQgKi99CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Ivc3R5
bGVzL3Jlc291cmNlcy9zdHlsZXMtdXJsLWxpbmtpZnktaWZyYW1lLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbnNwZWN0b3Ivc3R5bGVzL3Jlc291cmNlcy9zdHlsZXMtdXJsLWxpbmtpZnktaWZyYW1lLmh0
bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDA4NThlNGQwY2U1YTJjN2ZiOWEzZjhl
ZGNhOTc3NzZhZTkyM2U3MzguLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0eWxlcy9yZXNvdXJjZXMvc3R5bGVzLXVy
bC1saW5raWZ5LWlmcmFtZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMjAgKzAsMCBAQAotPGh0
bWw+Ci08aGVhZD4KLTxzdHlsZT4KLSNpZnJhbWVkIHsKLSAgICBiYWNrZ3JvdW5kLWltYWdlOiB1
cmwoIGlmcmFtZWQucG5nICk7Ci19Ci08L3N0eWxlPgotPHNjcmlwdD4KLWZ1bmN0aW9uIGlmcmFt
ZU9ubG9hZCgpCi17Ci0gICAgd2luZG93LnBhcmVudC5pZnJhbWVMb2FkZWQgPSB0cnVlOwotfQot
PC9zY3JpcHQ+Ci08L2hlYWQ+Ci0KLTxib2R5IG9ubG9hZD0iaWZyYW1lT25sb2FkKCkiPgotPGRp
diBpZD0iaWZyYW1lZCI+PC9kaXY+Ci08L2JvZHk+Ci0KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2luc3BlY3Rvci9zdHlsZXMvcmVzb3VyY2VzL3N0eWxlcy11cmwtbGlua2lmeS5j
c3MgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Ivc3R5bGVzL3Jlc291cmNlcy9zdHlsZXMtdXJsLWxp
bmtpZnkuY3NzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmYmNlNmI1ZjFiNDdjOGY4
ZGI5MTk2ZTFiZTI0NWEzMDk4ZGEzNDU5Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9zdHlsZXMvcmVzb3VyY2VzL3N0
eWxlcy11cmwtbGlua2lmeS5jc3MKKysrIC9kZXYvbnVsbApAQCAtMSwzICswLDAgQEAKLSNsb2Nh
bCB7Ci0gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCAgJ2Zyb21jc3MucG5nJyApOwotfQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0eWxlcy9zZWxlY3Rvci1saXN0LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9zdHlsZXMvc2VsZWN0b3ItbGlzdC1leHBl
Y3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGUwZTA2YWYyNmQzODJlYmM2
N2MzZjE2NmFhZWFjZThjZGM4ZDhhY2YuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0eWxlcy9zZWxlY3Rvci1saXN0
LWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDMwICswLDAgQEAKLVRlc3RzIHJlcHJl
c2VudGF0aW9uIG9mIHNlbGVjdG9yIGxpc3RzIGluIHRoZSBwcm90b2NvbC4gQnVnIDEwMzExOC4K
LQotVGV4dAotW2V4cGFuZGVkXSAKLWVsZW1lbnQuc3R5bGUgIHsgKCkKLQotPT09PT09PT0gTWF0
Y2hlZCBDU1MgUnVsZXMgPT09PT09PT0KLVtleHBhbmRlZF0gCi1GT08gYkFyLCAjaW5zcGVjdGVk
LCBNT08+QkFSLCBodE1MIGRpdiwgRm9vfk1vbywgTU9PICB7IChzZWxlY3Rvci1saXN0Lmh0bWw6
MTkpCi1jb2xvcjogZ3JlZW47Ci0KLVtleHBhbmRlZF0gCi0jaW5zcGVjdGVkICB7IChzZWxlY3Rv
ci1saXN0Lmh0bWw6MTApCi0KLVtleHBhbmRlZF0gCi0jSW5TcEVjVGVEICB7IChzZWxlY3Rvci1s
aXN0Lmh0bWw6NykKLQotW2V4cGFuZGVkXSAKLSNpbnNwZWN0ZWQgIHsgKHNlbGVjdG9yLWxpc3Qu
aHRtbDo0KQotCi1bZXhwYW5kZWRdIAotRk9PIGJBciwgI2luc3BlY3RlZCwgTU9PPkJBUiwgaHRN
TCBkaXYsIEZvb35Nb28sIE1PTyAgeyAoc2VsZWN0b3ItbGlzdC5odG1sOjE5KQotLy0tIG92ZXJs
b2FkZWQgLS0vIGNvbG9yOiBncmVlbjsKLQotW2V4cGFuZGVkXSAKLWRpdiAgeyAodXNlciBhZ2Vu
dCBzdHlsZXNoZWV0KQotZGlzcGxheTogYmxvY2s7Ci0KLQotCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3Ivc3R5bGVzL3NlbGVjdG9yLWxpc3QuaHRtbCBiL0xheW91dFRlc3RzL2lu
c3BlY3Rvci9zdHlsZXMvc2VsZWN0b3ItbGlzdC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCA5NWZlYzY2NWU1YWQ5Nzc2ODQ1MDIzMjE4YzliOTVkN2QwZGU0YjczLi4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci9zdHlsZXMvc2VsZWN0b3ItbGlzdC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNTEgKzAs
MCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzdHlsZT4KLSNpbnNwZWN0ZWR7Ci19Ci0KLSNJblNwRWNU
ZUQgewotfQotCi0vKiAqLyNpbnNwZWN0ZWQvKiAqLyB7Ci19Ci0KLS8qIAotICovIEZPTy8qU2lu
Z2xlLWxpbmUgMSovIGJBciwvKiBTaW5nbGUtbGluZSAyKi8jaW5zcGVjdGVkLyoKLSAgICBNdWx0
aWxpbmUgY29tbWVudAotKi8gLE1PTz5CQVIsIC8qMSovaHRNTCAvKjIKLSovZGl2LyozKi8sLyoq
L0Zvb34vKipDKi9Nb28sLyoqL01PTyAvKiBDb21tZW50Ci0gKi8gCi17Ci0gIGNvbG9yOiBncmVl
bjsKLX0KLQotPC9zdHlsZT4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rv
ci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90
ZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotCi1m
dW5jdGlvbiB0ZXN0KCkKLXsKLSAgICBXZWJJbnNwZWN0b3Iuc2hvd1BhbmVsKCJlbGVtZW50cyIp
OwotICAgIEluc3BlY3RvclRlc3Quc2VsZWN0Tm9kZUFuZFdhaXRGb3JTdHlsZXMoImluc3BlY3Rl
ZCIsIHN0ZXAxKTsKLQotICAgIGZ1bmN0aW9uIHN0ZXAxKCkKLSAgICB7Ci0gICAgICAgIEluc3Bl
Y3RvclRlc3QuZHVtcFNlbGVjdGVkRWxlbWVudFN0eWxlcyh0cnVlKTsKLSAgICAgICAgSW5zcGVj
dG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKLSAgICB9Ci19Ci0KLTwvc2NyaXB0PgotPC9oZWFkPgot
Ci08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci08cD4KLVRlc3RzIHJlcHJlc2VudGF0aW9uIG9m
IHNlbGVjdG9yIGxpc3RzIGluIHRoZSBwcm90b2NvbC4gPGEgaHJlZj0iaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMzExOCI+QnVnIDEwMzExODwvYT4uCi08L3A+Ci0K
LTxkaXYgaWQ9Imluc3BlY3RlZCI+VGV4dDwvZGl2PgotCi08L2JvZHk+Ci08L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Ivc3R5bGVzL3NldC1wcm9wZXJ0eS1ib3VuZGFy
aWVzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9zdHlsZXMvc2V0LXByb3Bl
cnR5LWJvdW5kYXJpZXMtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCBhZDc2NTBlODBjOWQzODllYjc2ZDYzNWUzMzRhY2FiODczMDJjNDk5Li4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9z
dHlsZXMvc2V0LXByb3BlcnR5LWJvdW5kYXJpZXMtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwK
QEAgLTEsNSArMCwwIEBACi1UZXN0cyB0aGF0IHNldHRpbmcgQ1NTIHByb3BlcnR5IHRleHQgb3V0
IG9mIGJvdW5kYXJpZXMgZG9lcyBub3QgY3Jhc2guCi0KLWNvbG9yOiByZWQ7Ci1JbmRleFNpemVF
cnJvcgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Ivc3R5bGVzL3NldC1wcm9w
ZXJ0eS1ib3VuZGFyaWVzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Ivc3R5bGVzL3NldC1w
cm9wZXJ0eS1ib3VuZGFyaWVzLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQ1
NmExNWU0NDU1MTZhNDI5OTUxYjI1YWRiODE0OTdlMGNmMjZjODguLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0eWxl
cy9zZXQtcHJvcGVydHktYm91bmRhcmllcy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNjQgKzAs
MCBAQAotPGh0bWw+Ci08aGVhZD4KLQotPHN0eWxlPgotaDEgewotICAgIGNvbG9yOiByZWQ7Ci19
Ci08L3N0eWxlPgotCi08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5z
cGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMv
aW5zcGVjdG9yL2VsZW1lbnRzLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLQotZnVuY3Rp
b24gdGVzdCgpCi17Ci0gICAgV2ViSW5zcGVjdG9yLnNob3dQYW5lbCgiZWxlbWVudHMiKTsKLSAg
ICBDU1NBZ2VudC5nZXRBbGxTdHlsZVNoZWV0cyhzdHlsZVNoZWV0SW5mb3NMb2FkZWQpOwotCi0g
ICAgZnVuY3Rpb24gc3R5bGVTaGVldEluZm9zTG9hZGVkKGVycm9yLCBpbmZvcykKLSAgICB7Ci0g
ICAgICAgIGlmIChlcnJvcikgewotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQo
ImVycm9yOiAiICsgZXJyb3IpOwotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRl
c3QoKTsKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgfQotCi0gICAgICAgIGZvciAodmFy
IGkgPSAwOyBpIDwgaW5mb3MubGVuZ3RoOyArK2kpCi0gICAgICAgICAgICBDU1NBZ2VudC5nZXRT
dHlsZVNoZWV0KGluZm9zW2ldLnN0eWxlU2hlZXRJZCwgc3R5bGVTaGVldExvYWRlZCk7Ci0gICAg
fQotCi0gICAgZnVuY3Rpb24gc3R5bGVTaGVldExvYWRlZChlcnJvciwgc3R5bGVTaGVldCkKLSAg
ICB7Ci0gICAgICAgIGlmIChlcnJvcikgewotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRS
ZXN1bHQoImVycm9yOiAiICsgZXJyb3IpOwotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21w
bGV0ZVRlc3QoKTsKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgfQotICAgICAgICBlZGl0
UnVsZShzdHlsZVNoZWV0LnJ1bGVzWzBdKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBlZGl0UnVs
ZShydWxlKQotICAgIHsKLSAgICAgICAgdmFyIHN0eWxlID0gcnVsZS5zdHlsZTsKLSAgICAgICAg
SW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoc3R5bGUuY3NzUHJvcGVydGllc1swXS50ZXh0KTsKLQot
ICAgICAgICBjb25zdCBvdXRPZkJPdW5kc1J1bGVJbmRleCA9IDEwOwotICAgICAgICBDU1NBZ2Vu
dC5zZXRQcm9wZXJ0eVRleHQoc3R5bGUuc3R5bGVJZCwgb3V0T2ZCT3VuZHNSdWxlSW5kZXgsICJj
b2xvcjpibHVlOyIsIHRydWUsIGR1bXBFcnJvck1lc3NhZ2UpOwotICAgIH0KLQotICAgIGZ1bmN0
aW9uIGR1bXBFcnJvck1lc3NhZ2UoZXJyb3IpCi0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0
LmFkZFJlc3VsdChlcnJvcik7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7
Ci0gICAgfSAgIAotfQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci0KLTxib2R5IG9ubG9hZD0icnVuVGVz
dCgpIj4KLTxwPgotVGVzdHMgdGhhdCBzZXR0aW5nIENTUyBwcm9wZXJ0eSB0ZXh0IG91dCBvZiBi
b3VuZGFyaWVzIGRvZXMgbm90IGNyYXNoLgotPC9wPgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0eWxlcy9zdHlsZXMtYWRkLWJsYW5rLXByb3Bl
cnR5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9zdHlsZXMvc3R5bGVzLWFk
ZC1ibGFuay1wcm9wZXJ0eS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IGUzZGMxZmZiNmUxYjg5NTI4NTMzNTZkMDM3MGM3ZjhjNWRlYmY5YjguLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
L3N0eWxlcy9zdHlsZXMtYWRkLWJsYW5rLXByb3BlcnR5LWV4cGVjdGVkLnR4dAorKysgL2Rldi9u
dWxsCkBAIC0xLDU2ICswLDAgQEAKLVRlc3RzIHRoYXQgYWRkaW5nIGEgbmV3IGJsYW5rIHByb3Bl
cnR5IHdvcmtzLgotCi1UZXh0Ci1CZWZvcmUgYXBwZW5kOgotW2V4cGFuZGVkXSAKLWVsZW1lbnQu
c3R5bGUgIHsgKCkKLWZvbnQtc2l6ZTogMTJweDsKLQotPT09PT09PT0gTWF0Y2hlZCBDU1MgUnVs
ZXMgPT09PT09PT0KLVtleHBhbmRlZF0gCi1kaXYgIHsgKHVzZXIgYWdlbnQgc3R5bGVzaGVldCkK
LWRpc3BsYXk6IGJsb2NrOwotCi0KLUFmdGVyIGluc2VydGlvbiBhdCBpbmRleCAwOgotW2V4cGFu
ZGVkXSAKLWVsZW1lbnQuc3R5bGUgIHsgKCkKLW1hcmdpbi1sZWZ0OiAzcHg7Ci1mb250LXNpemU6
IDEycHg7Ci0KLT09PT09PT09IE1hdGNoZWQgQ1NTIFJ1bGVzID09PT09PT09Ci1bZXhwYW5kZWRd
IAotZGl2ICB7ICh1c2VyIGFnZW50IHN0eWxlc2hlZXQpCi1kaXNwbGF5OiBibG9jazsKLQotCi1B
ZnRlciBhcHBlbmRpbmcgYW5kIGNoYW5naW5nIGEgJ2NvbXBvdW5kJyBwcm9wZXJ0eToKLVtleHBh
bmRlZF0gCi1lbGVtZW50LnN0eWxlICB7ICgpCi1tYXJnaW4tbGVmdDogM3B4OwotZm9udC1zaXpl
OiAxMnB4OwotY29sb3I6IHJlZDsKLWZvbnQtd2VpZ2h0OiBib2xkOwotCi09PT09PT09PSBNYXRj
aGVkIENTUyBSdWxlcyA9PT09PT09PQotW2V4cGFuZGVkXSAKLWRpdiAgeyAodXNlciBhZ2VudCBz
dHlsZXNoZWV0KQotZGlzcGxheTogYmxvY2s7Ci0KLQotQWZ0ZXIgaW5zZXJ0aW9uIGF0IGluZGV4
IDI6Ci1bZXhwYW5kZWRdIAotZWxlbWVudC5zdHlsZSAgeyAoKQotbWFyZ2luLWxlZnQ6IDNweDsK
LWZvbnQtc2l6ZTogMTJweDsKLS8tLSBvdmVybG9hZGVkIC0tLyB0aGlyZC1wcm9wZXJ0eTogdGhp
cmQtdmFsdWU7Ci1jb2xvcjogcmVkOwotZm9udC13ZWlnaHQ6IGJvbGQ7Ci0KLT09PT09PT09IE1h
dGNoZWQgQ1NTIFJ1bGVzID09PT09PT09Ci1bZXhwYW5kZWRdIAotZGl2ICB7ICh1c2VyIGFnZW50
IHN0eWxlc2hlZXQpCi1kaXNwbGF5OiBibG9jazsKLQotCi0KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2luc3BlY3Rvci9zdHlsZXMvc3R5bGVzLWFkZC1ibGFuay1wcm9wZXJ0eS5odG1sIGIvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yL3N0eWxlcy9zdHlsZXMtYWRkLWJsYW5rLXByb3BlcnR5Lmh0bWwK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDE1OWM4YjA4NGJhNDdlNGM0NWJjMWZkYzcw
MzYwNDRmZDljNzg3MmEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0eWxlcy9zdHlsZXMtYWRkLWJsYW5rLXByb3Bl
cnR5Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxMTQgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4K
LTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvZWxl
bWVudHMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotCi1mdW5jdGlvbiB0ZXN0KCkKLXsK
LSAgICBXZWJJbnNwZWN0b3Iuc2hvd1BhbmVsKCJlbGVtZW50cyIpOwotICAgIEluc3BlY3RvclRl
c3Quc2VsZWN0Tm9kZUFuZFdhaXRGb3JTdHlsZXMoImluc3BlY3RlZCIsIGFkZEFuZEluY3JlbWVu
dEZpcnN0UHJvcGVydHkpOwotCi0gICAgdmFyIHRyZWVFbGVtZW50OwotICAgIHZhciBzZWN0aW9u
OwotCi0gICAgZnVuY3Rpb24gYWRkQW5kSW5jcmVtZW50Rmlyc3RQcm9wZXJ0eSgpCi0gICAgewot
ICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiQmVmb3JlIGFwcGVuZDoiKTsKLSAgICAg
ICAgSW5zcGVjdG9yVGVzdC5kdW1wU2VsZWN0ZWRFbGVtZW50U3R5bGVzKHRydWUpOwotICAgICAg
ICBzZWN0aW9uID0gV2ViSW5zcGVjdG9yLnBhbmVscy5lbGVtZW50cy5zaWRlYmFyUGFuZXMuc3R5
bGVzLnNlY3Rpb25zWzBdWzFdOwotICAgICAgICBzZWN0aW9uLmV4cGFuZCgpOwotCi0gICAgICAg
IC8vIENyZWF0ZSBhbmQgaW5jcmVtZW50LgotICAgICAgICB0cmVlRWxlbWVudCA9IHNlY3Rpb24u
YWRkTmV3QmxhbmtQcm9wZXJ0eSgwKTsKLSAgICAgICAgdHJlZUVsZW1lbnQuc3RhcnRFZGl0aW5n
KCk7Ci0gICAgICAgIHRyZWVFbGVtZW50Lm5hbWVFbGVtZW50LnRleHRDb250ZW50ID0gIm1hcmdp
bi1sZWZ0IjsKLSAgICAgICAgdHJlZUVsZW1lbnQubmFtZUVsZW1lbnQuZGlzcGF0Y2hFdmVudChJ
bnNwZWN0b3JUZXN0LmNyZWF0ZUtleUV2ZW50KCJFbnRlciIpKTsKLQotICAgICAgICB0cmVlRWxl
bWVudC52YWx1ZUVsZW1lbnQudGV4dENvbnRlbnQgPSAiMXB4IjsKLSAgICAgICAgdHJlZUVsZW1l
bnQudmFsdWVFbGVtZW50LmZpcnN0Q2hpbGQuc2VsZWN0KCk7Ci0gICAgICAgIHRyZWVFbGVtZW50
LnZhbHVlRWxlbWVudC5kaXNwYXRjaEV2ZW50KEluc3BlY3RvclRlc3QuY3JlYXRlS2V5RXZlbnQo
IlVwIikpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LnJ1bkFmdGVyUGVuZGluZ0Rpc3BhdGNoZXMo
aW5jcmVtZW50UHJvcGVydHkpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIGluY3JlbWVudFByb3Bl
cnR5KCkKLSAgICB7Ci0gICAgICAgIC8vIEluY3JlbWVudCBhZ2Fpbi4KLSAgICAgICAgdHJlZUVs
ZW1lbnQudmFsdWVFbGVtZW50LmRpc3BhdGNoRXZlbnQoSW5zcGVjdG9yVGVzdC5jcmVhdGVLZXlF
dmVudCgiVXAiKSk7Ci0gICAgICAgIEluc3BlY3RvclRlc3QucnVuQWZ0ZXJQZW5kaW5nRGlzcGF0
Y2hlcyhjb21taXRQcm9wZXJ0eSk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gY29tbWl0UHJvcGVy
dHkoKQotICAgIHsKLSAgICAgICAgLy8gQ29tbWl0LgotICAgICAgICB0cmVlRWxlbWVudC5uYW1l
RWxlbWVudC5kaXNwYXRjaEV2ZW50KEluc3BlY3RvclRlc3QuY3JlYXRlS2V5RXZlbnQoIkVudGVy
IikpOwotICAgICAgICByZWxvYWRTdHlsZXMoYWRkQW5kQ2hhbmdlTGFzdENvbXBvdW5kUHJvcGVy
dHkpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIGFkZEFuZENoYW5nZUxhc3RDb21wb3VuZFByb3Bl
cnR5KCkKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJBZnRlciBpbnNl
cnRpb24gYXQgaW5kZXggMDoiKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wU2VsZWN0ZWRF
bGVtZW50U3R5bGVzKHRydWUpOwotCi0gICAgICAgIHRyZWVFbGVtZW50ID0gV2ViSW5zcGVjdG9y
LnBhbmVscy5lbGVtZW50cy5zaWRlYmFyUGFuZXMuc3R5bGVzLnNlY3Rpb25zWzBdWzFdLmFkZE5l
d0JsYW5rUHJvcGVydHkoMik7Ci0gICAgICAgIHRyZWVFbGVtZW50LnN0YXJ0RWRpdGluZygpOwot
ICAgICAgICB0cmVlRWxlbWVudC5uYW1lRWxlbWVudC50ZXh0Q29udGVudCA9ICJjb2xvciI7Ci0g
ICAgICAgIHRyZWVFbGVtZW50Lm5hbWVFbGVtZW50LmRpc3BhdGNoRXZlbnQoSW5zcGVjdG9yVGVz
dC5jcmVhdGVLZXlFdmVudCgiRW50ZXIiKSk7Ci0KLSAgICAgICAgdHJlZUVsZW1lbnQudmFsdWVF
bGVtZW50LnRleHRDb250ZW50ID0gImdyZWVuOyBmb250LXdlaWdodDogYm9sZCI7Ci0gICAgICAg
IHRyZWVFbGVtZW50LmtpY2tGcmVlRmxvd1N0eWxlRWRpdEZvclRlc3QoKTsKLQotICAgICAgICB0
cmVlRWxlbWVudC52YWx1ZUVsZW1lbnQudGV4dENvbnRlbnQgPSAicmVkOyBmb250LXdlaWdodDog
Ym9sZCI7Ci0gICAgICAgIHRyZWVFbGVtZW50LmtpY2tGcmVlRmxvd1N0eWxlRWRpdEZvclRlc3Qo
KTsKLQotICAgICAgICB0cmVlRWxlbWVudC52YWx1ZUVsZW1lbnQuZGlzcGF0Y2hFdmVudChJbnNw
ZWN0b3JUZXN0LmNyZWF0ZUtleUV2ZW50KCJFbnRlciIpKTsKLSAgICAgICAgSW5zcGVjdG9yVGVz
dC5ydW5BZnRlclBlbmRpbmdEaXNwYXRjaGVzKHJlbG9hZFN0eWxlcy5iaW5kKHRoaXMsIGFkZEFu
ZENvbW1pdE1pZGRsZVByb3BlcnR5KSk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gYWRkQW5kQ29t
bWl0TWlkZGxlUHJvcGVydHkoKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1
bHQoIkFmdGVyIGFwcGVuZGluZyBhbmQgY2hhbmdpbmcgYSAnY29tcG91bmQnIHByb3BlcnR5OiIp
OwotICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBTZWxlY3RlZEVsZW1lbnRTdHlsZXModHJ1ZSk7
Ci0KLSAgICAgICAgdHJlZUVsZW1lbnQgPSBXZWJJbnNwZWN0b3IucGFuZWxzLmVsZW1lbnRzLnNp
ZGViYXJQYW5lcy5zdHlsZXMuc2VjdGlvbnNbMF1bMV0uYWRkTmV3QmxhbmtQcm9wZXJ0eSgyKTsK
LSAgICAgICAgdHJlZUVsZW1lbnQuc3RhcnRFZGl0aW5nKCk7Ci0gICAgICAgIHRyZWVFbGVtZW50
Lm5hbWVFbGVtZW50LnRleHRDb250ZW50ID0gInRoaXJkLXByb3BlcnR5IjsKLSAgICAgICAgdHJl
ZUVsZW1lbnQubmFtZUVsZW1lbnQuZGlzcGF0Y2hFdmVudChJbnNwZWN0b3JUZXN0LmNyZWF0ZUtl
eUV2ZW50KCJFbnRlciIpKTsKLSAgICAgICAgdHJlZUVsZW1lbnQudmFsdWVFbGVtZW50LnRleHRD
b250ZW50ID0gInRoaXJkLXZhbHVlIjsKLQotICAgICAgICB0cmVlRWxlbWVudC5uYW1lRWxlbWVu
dC5kaXNwYXRjaEV2ZW50KEluc3BlY3RvclRlc3QuY3JlYXRlS2V5RXZlbnQoIkVudGVyIikpOwot
ICAgICAgICBJbnNwZWN0b3JUZXN0LnJ1bkFmdGVyUGVuZGluZ0Rpc3BhdGNoZXMocmVsb2FkU3R5
bGVzLmJpbmQodGhpcywgZHVtcEFuZENvbXBsZXRlKSk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24g
ZHVtcEFuZENvbXBsZXRlKCkKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0
KCJBZnRlciBpbnNlcnRpb24gYXQgaW5kZXggMjoiKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5k
dW1wU2VsZWN0ZWRFbGVtZW50U3R5bGVzKHRydWUpOwotCi0gICAgICAgIEluc3BlY3RvclRlc3Qu
Y29tcGxldGVUZXN0KCk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gcmVsb2FkU3R5bGVzKGNhbGxi
YWNrKSB7Ci0gICAgICAgIEluc3BlY3RvclRlc3Quc2VsZWN0Tm9kZVdpdGhJZCgib3RoZXIiKTsK
LSAgICAgICAgSW5zcGVjdG9yVGVzdC5ydW5BZnRlclBlbmRpbmdEaXNwYXRjaGVzKG90aGVyQ2Fs
bGJhY2spOwotCi0gICAgICAgIGZ1bmN0aW9uIG90aGVyQ2FsbGJhY2soKQotICAgICAgICB7Ci0g
ICAgICAgICAgICBJbnNwZWN0b3JUZXN0LnNlbGVjdE5vZGVBbmRXYWl0Rm9yU3R5bGVzKCJpbnNw
ZWN0ZWQiLCBjYWxsYmFjayk7Ci0gICAgICAgIH0KLSAgICB9Ci19Ci0KLTwvc2NyaXB0PgotPC9o
ZWFkPgotCi08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci08cD4KLVRlc3RzIHRoYXQgYWRkaW5n
IGEgbmV3IGJsYW5rIHByb3BlcnR5IHdvcmtzLgotPC9wPgotCi08ZGl2IGlkPSJpbnNwZWN0ZWQi
IHN0eWxlPSJmb250LXNpemU6IDEycHgiPlRleHQ8L2Rpdj4KLTxkaXYgaWQ9Im90aGVyIj48L2Rp
dj4KLQotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
L3N0eWxlcy9zdHlsZXMtYWRkLWludmFsaWQtcHJvcGVydHktZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yL3N0eWxlcy9zdHlsZXMtYWRkLWludmFsaWQtcHJvcGVydHktZXhwZWN0
ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjYWQyODNiYmFhOTMxNzY4OTQ1
MmQ2YzQ3NTRjZTgyNDYyZDRiNDViLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9zdHlsZXMvc3R5bGVzLWFkZC1pbnZh
bGlkLXByb3BlcnR5LWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDI2ICswLDAgQEAK
LVRlc3RzIHRoYXQgYWRkaW5nIGFuIGludmFsaWQgcHJvcGVydHkgcmV0YWlucyBpdHMgc3ludGF4
LgotCi1UZXh0Ci1CZWZvcmUgYXBwZW5kOgotW2V4cGFuZGVkXSAKLWVsZW1lbnQuc3R5bGUgIHsg
KCkKLWZvbnQtc2l6ZTogMTJweDsKLQotPT09PT09PT0gTWF0Y2hlZCBDU1MgUnVsZXMgPT09PT09
PT0KLVtleHBhbmRlZF0gCi1kaXYgIHsgKHVzZXIgYWdlbnQgc3R5bGVzaGVldCkKLWRpc3BsYXk6
IGJsb2NrOwotCi0KLUFmdGVyIGFwcGVuZDoKLVtleHBhbmRlZF0gCi1lbGVtZW50LnN0eWxlICB7
ICgpCi1mb250LXNpemU6IDEycHg7Ci0KLT09PT09PT09IE1hdGNoZWQgQ1NTIFJ1bGVzID09PT09
PT09Ci1bZXhwYW5kZWRdIAotZGl2ICB7ICh1c2VyIGFnZW50IHN0eWxlc2hlZXQpCi1kaXNwbGF5
OiBibG9jazsKLQotCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9zdHlsZXMv
c3R5bGVzLWFkZC1pbnZhbGlkLXByb3BlcnR5Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Iv
c3R5bGVzL3N0eWxlcy1hZGQtaW52YWxpZC1wcm9wZXJ0eS5odG1sCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCA2ZTcyMjUyYTY2N2Q2NDk4M2QxZmQ1ZjZlMzMzN2JmYzk5Nzk3ZTJhLi4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2luc3BlY3Rvci9zdHlsZXMvc3R5bGVzLWFkZC1pbnZhbGlkLXByb3BlcnR5Lmh0bWwKKysrIC9k
ZXYvbnVsbApAQCAtMSw3MyArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4u
Ly4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9lbGVtZW50cy10ZXN0LmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQ+Ci0KLWZ1bmN0aW9uIHRlc3QoKQotewotICAgIFdlYkluc3BlY3Rv
ci5zaG93UGFuZWwoImVsZW1lbnRzIik7Ci0gICAgSW5zcGVjdG9yVGVzdC5zZWxlY3ROb2RlQW5k
V2FpdEZvclN0eWxlcygiaW5zcGVjdGVkIiwgc3RlcDEpOwotCi0gICAgdmFyIHRyZWVFbGVtZW50
OwotICAgIHZhciBzZWN0aW9uOwotCi0gICAgZnVuY3Rpb24gc3RlcDEoKQotICAgIHsKLSAgICAg
ICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIkJlZm9yZSBhcHBlbmQ6Iik7Ci0gICAgICAgIElu
c3BlY3RvclRlc3QuZHVtcFNlbGVjdGVkRWxlbWVudFN0eWxlcyh0cnVlKTsKLSAgICAgICAgc2Vj
dGlvbiA9IFdlYkluc3BlY3Rvci5wYW5lbHMuZWxlbWVudHMuc2lkZWJhclBhbmVzLnN0eWxlcy5z
ZWN0aW9uc1swXVsxXTsKLSAgICAgICAgc2VjdGlvbi5leHBhbmQoKTsKLQotICAgICAgICAvLyBD
cmVhdGUgYW5kIGluY3JlbWVudC4KLSAgICAgICAgdHJlZUVsZW1lbnQgPSBzZWN0aW9uLmFkZE5l
d0JsYW5rUHJvcGVydHkoKTsKLSAgICAgICAgdHJlZUVsZW1lbnQuc3RhcnRFZGl0aW5nKCk7Ci0g
ICAgICAgIHRyZWVFbGVtZW50Lm5hbWVFbGVtZW50LnRleHRDb250ZW50ID0gImNvbG9yIjsKLSAg
ICAgICAgdHJlZUVsZW1lbnQubmFtZUVsZW1lbnQuZGlzcGF0Y2hFdmVudChJbnNwZWN0b3JUZXN0
LmNyZWF0ZUtleUV2ZW50KCJFbnRlciIpKTsKLQotICAgICAgICAvLyBVcGRhdGUgaW5jcmVtZW50
YWxseSB0byBhIHZhbGlkIHZhbHVlLiAKLSAgICAgICAgdHJlZUVsZW1lbnQudmFsdWVFbGVtZW50
LnRleHRDb250ZW50ID0gInJnYigiOwotICAgICAgICB0cmVlRWxlbWVudC5raWNrRnJlZUZsb3dT
dHlsZUVkaXRGb3JUZXN0KCk7Ci0gICAgICAgIEluc3BlY3RvclRlc3QucnVuQWZ0ZXJQZW5kaW5n
RGlzcGF0Y2hlcyhzdGVwMik7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc3RlcDIoKQotICAgIHsK
LSAgICAgICAgLy8gQ29tbWl0IGludmFsaWQgdmFsdWUuIAotICAgICAgICB0cmVlRWxlbWVudC52
YWx1ZUVsZW1lbnQudGV4dENvbnRlbnQgPSAicmdiKDEiOwotICAgICAgICB0cmVlRWxlbWVudC52
YWx1ZUVsZW1lbnQuZGlzcGF0Y2hFdmVudChJbnNwZWN0b3JUZXN0LmNyZWF0ZUtleUV2ZW50KCJF
bnRlciIpKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5ydW5BZnRlclBlbmRpbmdEaXNwYXRjaGVz
KHN0ZXAzKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwMygpCi0gICAgewotICAgICAgICBJ
bnNwZWN0b3JUZXN0LnNlbGVjdE5vZGVXaXRoSWQoIm90aGVyIik7Ci0gICAgICAgIEluc3BlY3Rv
clRlc3QucnVuQWZ0ZXJQZW5kaW5nRGlzcGF0Y2hlcyhzdGVwNCk7Ci0gICAgfQotCi0gICAgZnVu
Y3Rpb24gc3RlcDQoKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5zZWxlY3ROb2RlQW5k
V2FpdEZvclN0eWxlcygiaW5zcGVjdGVkIiwgc3RlcDUpOwotICAgIH0KLQotICAgIGZ1bmN0aW9u
IHN0ZXA1KCkKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJBZnRlciBh
cHBlbmQ6Iik7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuZHVtcFNlbGVjdGVkRWxlbWVudFN0eWxl
cyh0cnVlKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKLSAgICB9Ci19
Ci0KLTwvc2NyaXB0PgotPC9oZWFkPgotCi08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci08cD4K
LVRlc3RzIHRoYXQgYWRkaW5nIGFuIGludmFsaWQgcHJvcGVydHkgcmV0YWlucyBpdHMgc3ludGF4
LgotPC9wPgotCi08ZGl2IGlkPSJpbnNwZWN0ZWQiIHN0eWxlPSJmb250LXNpemU6IDEycHgiPlRl
eHQ8L2Rpdj4KLTxkaXYgaWQ9Im90aGVyIj48L2Rpdj4KLQotPC9ib2R5PgotPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0eWxlcy9zdHlsZXMtY29tcHV0ZWQtdHJh
Y2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0eWxlcy9zdHlsZXMtY29t
cHV0ZWQtdHJhY2UtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1
ZmViNDUyZThhMWQxNmQ4MDllMjUzN2ZhZWZkMzg4NzdlMjA5MDYwLi4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9zdHls
ZXMvc3R5bGVzLWNvbXB1dGVkLXRyYWNlLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0x
LDY0ICswLDAgQEAKLVRlc3RzIHRoYXQgY29tcHV0ZWQgc3R5bGVzIGV4cGFuZCBhbmQgYWxsb3cg
dHJhY2luZyB0byBzdHlsZSBydWxlcy4KLQotPT09PSBDb21wdXRlZCBzdHlsZSBmb3IgSUQxID09
PT0KLVtleHBhbmRlZF0gCi0td2Via2l0LWJhY2tncm91bmQtY2xpcDogYm9yZGVyLWJveDsKLS13
ZWJraXQtYmFja2dyb3VuZC1vcmlnaW46IHBhZGRpbmctYm94OwotLXdlYmtpdC1iYWNrZ3JvdW5k
LXNpemU6IGF1dG87Ci1iYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IHNjcm9sbDsKLSAgICAjaWQxIC0g
aW5pdGlhbCBzdHlsZXMtY29tcHV0ZWQtdHJhY2UuaHRtbDoyMwotYmFja2dyb3VuZC1jbGlwOiBi
b3JkZXItYm94OwotICAgICNpZDEgLSBpbml0aWFsIHN0eWxlcy1jb21wdXRlZC10cmFjZS5odG1s
OjIzCi1iYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMTI4LCAxMjgsIDEyOCk7Ci0gICAgI2lkMSAtIGdy
YXkgc3R5bGVzLWNvbXB1dGVkLXRyYWNlLmh0bWw6MjMKLSAgICAvLS0gb3ZlcmxvYWRlZCAtLS8g
I2lkMSAtIGJsYWNrIHN0eWxlcy1jb21wdXRlZC10cmFjZS5odG1sOjE4Ci0gICAgLy0tIG92ZXJs
b2FkZWQgLS0vICNpZDEgLSBncmVlbiBzdHlsZXMtY29tcHV0ZWQtdHJhY2UuaHRtbDoxMwotYmFj
a2dyb3VuZC1pbWFnZTogbm9uZTsKLSAgICAjaWQxIC0gaW5pdGlhbCBzdHlsZXMtY29tcHV0ZWQt
dHJhY2UuaHRtbDoyMwotYmFja2dyb3VuZC1vcmlnaW46IHBhZGRpbmctYm94OwotICAgICNpZDEg
LSBpbml0aWFsIHN0eWxlcy1jb21wdXRlZC10cmFjZS5odG1sOjIzCi1iYWNrZ3JvdW5kLXNpemU6
IGF1dG87Ci0gICAgI2lkMSAtIGluaXRpYWwgc3R5bGVzLWNvbXB1dGVkLXRyYWNlLmh0bWw6MjMK
LWRpc3BsYXk6IGJsb2NrOwotICAgIGRpdiAtIGJsb2NrIHVzZXIgYWdlbnQgc3R5bGVzaGVldAot
Zm9udC1mYW1pbHk6IENvdXJpZXI7Ci0gICAgI2lkMSAtIENvdXJpZXIgc3R5bGVzLWNvbXB1dGVk
LXRyYWNlLmh0bWw6MTgKLSAgICAvLS0gb3ZlcmxvYWRlZCAtLS8gI2lkMSAtIFRpbWVzIHN0eWxl
cy1jb21wdXRlZC10cmFjZS5odG1sOjEzCi0gICAgLy0tIG92ZXJsb2FkZWQgLS0vIGJvZHkgLSBB
cmlhbCBzdHlsZXMtY29tcHV0ZWQtdHJhY2UuaHRtbDo0Ci10ZXh0LWRlY29yYXRpb246IHVuZGVy
bGluZTsKLSAgICBkaXYgLSB1bmRlcmxpbmUgc3R5bGVzLWNvbXB1dGVkLXRyYWNlLmh0bWw6OQot
Ci1bZXhwYW5kZWRdIAotZWxlbWVudC5zdHlsZSAgeyAoKQotCi0KLT09PT0gQ29tcHV0ZWQgc3R5
bGUgZm9yIElEMiA9PT09Ci1bZXhwYW5kZWRdIAotYmFja2dyb3VuZC1jb2xvcjogcmdiKDAsIDAs
IDI1NSk7Ci0gICAgI2lkMiAtIGJsdWUgc3R5bGVzLWNvbXB1dGVkLXRyYWNlLmh0bWw6MjcKLWRp
c3BsYXk6IGJsb2NrOwotICAgIGRpdiAtIGJsb2NrIHVzZXIgYWdlbnQgc3R5bGVzaGVldAotZm9u
dC1mYW1pbHk6IENvdXJpZXI7Ci0gICAgI2lkMiAtIENvdXJpZXIgc3R5bGVzLWNvbXB1dGVkLXRy
YWNlLmh0bWw6MjcKLSAgICAvLS0gb3ZlcmxvYWRlZCAtLS8gI2lkMSAtIENvdXJpZXIgc3R5bGVz
LWNvbXB1dGVkLXRyYWNlLmh0bWw6MTgKLSAgICAvLS0gb3ZlcmxvYWRlZCAtLS8gI2lkMSAtIFRp
bWVzIHN0eWxlcy1jb21wdXRlZC10cmFjZS5odG1sOjEzCi0gICAgLy0tIG92ZXJsb2FkZWQgLS0v
IGJvZHkgLSBBcmlhbCBzdHlsZXMtY29tcHV0ZWQtdHJhY2UuaHRtbDo0Ci10ZXh0LWRlY29yYXRp
b246IHVuZGVybGluZTsKLSAgICAvLS0gb3ZlcmxvYWRlZCAtLS8gI2lkMiAtIGludmFsaWR2YWx1
ZSBzdHlsZXMtY29tcHV0ZWQtdHJhY2UuaHRtbDoyNwotICAgIGRpdiAtIHVuZGVybGluZSBzdHls
ZXMtY29tcHV0ZWQtdHJhY2UuaHRtbDo5Ci0KLVtleHBhbmRlZF0gCi1lbGVtZW50LnN0eWxlICB7
ICgpCi0KLQotPT09PSBTdHlsZSBmb3IgSUQzID09PT0KLVtleHBhbmRlZF0gCi1lbGVtZW50LnN0
eWxlICB7ICgpCi0KLT09PT09PT09IE1hdGNoZWQgQ1NTIFJ1bGVzID09PT09PT09Ci1bZXhwYW5k
ZWRdIAotYnV0dG9uW0F0dHJpYnV0ZXMgU3R5bGVdICB7ICgpCi1kaXNwbGF5OiBub25lOwotCi0K
LQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0eWxlcy9zdHlsZXMtY29tcHV0
ZWQtdHJhY2UuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9zdHlsZXMvc3R5bGVzLWNvbXB1
dGVkLXRyYWNlLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDc3MjY1OTMwOGE5
ODU5MDRjYzI4MWI5YTIzYWQzZGQyZjVjMTZmNzcuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0eWxlcy9zdHlsZXMt
Y29tcHV0ZWQtdHJhY2UuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDgwICswLDAgQEAKLTxodG1s
PgotPGhlYWQ+Ci08c3R5bGU+Ci1ib2R5IHsKLSAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMTAw
LCAwLCAwKTsKLSAgICBmb250LWZhbWlseTogQXJpYWw7Ci19Ci0KLWRpdiB7Ci0gICAgdGV4dC1k
ZWNvcmF0aW9uOiB1bmRlcmxpbmU7Ci19Ci0KLSNpZDEgewotICAgIGJhY2tncm91bmQtY29sb3I6
IGdyZWVuOwotICAgIGZvbnQtZmFtaWx5OiBUaW1lczsKLX0KLQotI2lkMSB7Ci0gICAgYmFja2dy
b3VuZC1jb2xvcjogYmxhY2s7Ci0gICAgZm9udC1mYW1pbHk6IENvdXJpZXI7Ci19Ci0KLSNpZDEg
ewotICAgIGJhY2tncm91bmQ6IGdyYXk7Ci19Ci0KLSNpZDIgewotICAgIGJhY2tncm91bmQtY29s
b3I6IGJsdWU7Ci0gICAgZm9udC1mYW1pbHk6IENvdXJpZXI7Ci0gICAgdGV4dC1kZWNvcmF0aW9u
OiBpbnZhbGlkdmFsdWU7Ci19Ci0KLTwvc3R5bGU+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90
ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzLXRlc3QuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdD4KLQotZnVuY3Rpb24gdGVzdCgpCi17Ci0gICAgSW5zcGVjdG9yVGVzdC5zZWxlY3RO
b2RlQW5kV2FpdEZvclN0eWxlc1dpdGhDb21wdXRlZCgiaWQxIiwgc3RlcDEpOwotCi0gICAgZnVu
Y3Rpb24gc3RlcDEoKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIj09
PT0gQ29tcHV0ZWQgc3R5bGUgZm9yIElEMSA9PT09Iik7Ci0gICAgICAgIEluc3BlY3RvclRlc3Qu
ZHVtcFNlbGVjdGVkRWxlbWVudFN0eWxlcyhmYWxzZSwgdHJ1ZSk7Ci0gICAgICAgIEluc3BlY3Rv
clRlc3Quc2VsZWN0Tm9kZUFuZFdhaXRGb3JTdHlsZXNXaXRoQ29tcHV0ZWQoImlkMiIsIHN0ZXAy
KTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwMigpCi0gICAgewotICAgICAgICBJbnNwZWN0
b3JUZXN0LmFkZFJlc3VsdCgiPT09PSBDb21wdXRlZCBzdHlsZSBmb3IgSUQyID09PT0iKTsKLSAg
ICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wU2VsZWN0ZWRFbGVtZW50U3R5bGVzKGZhbHNlLCB0cnVl
KTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5zZWxlY3ROb2RlQW5kV2FpdEZvclN0eWxlc1dpdGhD
b21wdXRlZCgiaWQzIiwgc3RlcDMpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0ZXAzKCkKLSAg
ICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCI9PT09IFN0eWxlIGZvciBJRDMg
PT09PSIpOwotICAgICAgICAvLyBUaGUgYnV0dG9uW2hpZGRlbl0gc3R5bGUgc3BlY2lmaWVzICJk
aXNwbGF5OiBub25lIiwgd2hpY2ggc2hvdWxkIG5vdCBiZSAvLS0gb3ZlcmxvYWRlZCAtLS8uCi0g
ICAgICAgIEluc3BlY3RvclRlc3QuZHVtcFNlbGVjdGVkRWxlbWVudFN0eWxlcyh0cnVlLCB0cnVl
KTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKLSAgICB9Ci0KLX0KLTwv
c2NyaXB0PgotPC9oZWFkPgotCi08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci08cD4KLVRlc3Rz
IHRoYXQgY29tcHV0ZWQgc3R5bGVzIGV4cGFuZCBhbmQgYWxsb3cgdHJhY2luZyB0byBzdHlsZSBy
dWxlcy4KLTwvcD4KLQotPGRpdiBpZD0iaWQxIj4KLTxkaXYgaWQ9ImlkMiI+Ci08L2Rpdj4KLTxi
dXR0b24gaWQ9ImlkMyIgaGlkZGVuIC8+Ci08L2Rpdj4KLQotPC9ib2R5PgotPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0eWxlcy9zdHlsZXMtZGlzYWJsZS1pbmhl
cml0ZWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0eWxlcy9zdHlsZXMt
ZGlzYWJsZS1pbmhlcml0ZWQtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCBmN2ZkOTMxM2Y2NDcxMmQ1NDE5YWFlYzczMjY0OWVjNzI0ZDI0ZWI4Li4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rv
ci9zdHlsZXMvc3R5bGVzLWRpc2FibGUtaW5oZXJpdGVkLWV4cGVjdGVkLnR4dAorKysgL2Rldi9u
dWxsCkBAIC0xLDI4ICswLDAgQEAKLVRlc3RzIHRoYXQgZGlzYWJsaW5nIGluaGVyaXRlZCBzdHls
ZSBwcm9wZXJ0eSBkb2VzIG5vdCBicmVhayBmdXJ0aGVyIHN0eWxlIGluc3BlY3Rpb24uCi0KLUJl
Zm9yZSBkaXNhYmxlCi1bZXhwYW5kZWRdIAotZWxlbWVudC5zdHlsZSAgeyAoKQotCi09PT09PT09
PSBNYXRjaGVkIENTUyBSdWxlcyA9PT09PT09PQotW2V4cGFuZGVkXSAKLWRpdiAgeyAodXNlciBh
Z2VudCBzdHlsZXNoZWV0KQotZGlzcGxheTogYmxvY2s7Ci0KLT09PT09PT09IEluaGVyaXRlZCBm
cm9tIGRpdiNjb250YWluZXIgPT09PT09PT0KLVtleHBhbmRlZF0gCi1TdHlsZSBBdHRyaWJ1dGUg
IHsgKCkKLWZvbnQtd2VpZ2h0OiBib2xkOwotCi0KLUFmdGVyIGRpc2FibGU6Ci1bZXhwYW5kZWRd
IAotZWxlbWVudC5zdHlsZSAgeyAoKQotCi09PT09PT09PSBNYXRjaGVkIENTUyBSdWxlcyA9PT09
PT09PQotW2V4cGFuZGVkXSAKLWRpdiAgeyAodXNlciBhZ2VudCBzdHlsZXNoZWV0KQotZGlzcGxh
eTogYmxvY2s7Ci0KLQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Ivc3R5bGVz
L3N0eWxlcy1kaXNhYmxlLWluaGVyaXRlZC5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0
eWxlcy9zdHlsZXMtZGlzYWJsZS1pbmhlcml0ZWQuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggNzYyZWM2OGNkOGYwYjJiNDE3ZTNlZTYwMTEyYWE3MGFlYzI1MDQ1Ny4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3Ivc3R5bGVzL3N0eWxlcy1kaXNhYmxlLWluaGVyaXRlZC5odG1sCisrKyAvZGV2L251bGwK
QEAgLTEsNDcgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRw
L3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNy
Yz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMtdGVzdC5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0PgotCi1mdW5jdGlvbiB0ZXN0KCkKLXsKLQotICAgIEluc3BlY3RvclRlc3Quc2Vs
ZWN0Tm9kZUFuZFdhaXRGb3JTdHlsZXMoIm5lc3RlZCIsIHN0ZXAxKTsKLQotICAgIGZ1bmN0aW9u
IHN0ZXAxKCkKLSAgICB7Ci0gICAgICAgIHZhciB0cmVlSXRlbSA9IEluc3BlY3RvclRlc3QuZ2V0
RWxlbWVudFN0eWxlUHJvcGVydHlUcmVlSXRlbSgiZm9udC13ZWlnaHQiKTsKLSAgICAgICAgSW5z
cGVjdG9yVGVzdC5hZGRSZXN1bHQoIkJlZm9yZSBkaXNhYmxlIik7Ci0gICAgICAgIEluc3BlY3Rv
clRlc3QuZHVtcFNlbGVjdGVkRWxlbWVudFN0eWxlcyh0cnVlKTsKLQotICAgICAgICBJbnNwZWN0
b3JUZXN0LnNlbGVjdE5vZGVBbmRXYWl0Rm9yU3R5bGVzKCJjb250YWluZXIiLCBzdGVwMik7Ci0g
ICAgfQotCi0gICAgZnVuY3Rpb24gc3RlcDIoKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVz
dC50b2dnbGVTdHlsZVByb3BlcnR5KCJmb250LXdlaWdodCIsIGZhbHNlKTsKLSAgICAgICAgSW5z
cGVjdG9yVGVzdC5zZWxlY3ROb2RlQW5kV2FpdEZvclN0eWxlcygibmVzdGVkIiwgc3RlcDMpOwot
ICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0ZXAzKCkKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRl
c3QuYWRkUmVzdWx0KCJBZnRlciBkaXNhYmxlOiIpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmR1
bXBTZWxlY3RlZEVsZW1lbnRTdHlsZXModHJ1ZSk7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuY29t
cGxldGVUZXN0KCk7Ci0gICAgfQotfQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci0KLTxib2R5IG9ubG9h
ZD0icnVuVGVzdCgpIj4KLTxwPgotVGVzdHMgdGhhdCBkaXNhYmxpbmcgaW5oZXJpdGVkIHN0eWxl
IHByb3BlcnR5IGRvZXMgbm90IGJyZWFrIGZ1cnRoZXIgc3R5bGUgaW5zcGVjdGlvbi4KLTwvcD4K
LQotPGRpdiBpZD0iY29udGFpbmVyIiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCI+Ci0gICAgPGRp
diBpZD0ibmVzdGVkIj48L2Rpdj4KLTwvZGl2PgotCi08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Ivc3R5bGVzL3N0eWxlcy1kaXNhYmxlLXRoZW4tY2hh
bmdlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9zdHlsZXMvc3R5bGVzLWRp
c2FibGUtdGhlbi1jaGFuZ2UtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCBiNTBkN2E2MjlmMDJkYzgyMzlmNmM4MmI0ZjNkMjIxOTk0NTcyMDA4Li4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rv
ci9zdHlsZXMvc3R5bGVzLWRpc2FibGUtdGhlbi1jaGFuZ2UtZXhwZWN0ZWQudHh0CisrKyAvZGV2
L251bGwKQEAgLTEsMjEgKzAsMCBAQAotVGVzdHMgdGhhdCBjaGFuZ2luZyBhIGRpc2FibGVkIHBy
b3BlcnR5IGVuYWJsZXMgaXQgYXMgd2VsbC4KLQotQmVmb3JlIGRpc2FibGUKLVtleHBhbmRlZF0g
Ci1lbGVtZW50LnN0eWxlICB7ICgpCi1mb250LXdlaWdodDogYm9sZDsKLQotCi1BZnRlciBkaXNh
YmxlCi1bZXhwYW5kZWRdIAotZWxlbWVudC5zdHlsZSAgeyAoKQotLy0tIG92ZXJsb2FkZWQgLS0v
IC8tLSBkaXNhYmxlZCAtLS8gZm9udC13ZWlnaHQ6IGJvbGQ7Ci0KLQotQWZ0ZXIgY2hhbmdlCi1b
ZXhwYW5kZWRdIAotZWxlbWVudC5zdHlsZSAgeyAoKQotY29sb3I6IGdyZWVuOwotCi0KLQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0eWxlcy9zdHlsZXMtZGlzYWJsZS10aGVu
LWNoYW5nZS5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0eWxlcy9zdHlsZXMtZGlzYWJs
ZS10aGVuLWNoYW5nZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjNWJiZjc5
Yjg5ZDc3MjBlNGZiYmY4Mzg3NGNjOTFhZGJlZTQ4NDljLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9zdHlsZXMvc3R5
bGVzLWRpc2FibGUtdGhlbi1jaGFuZ2UuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDUyICswLDAg
QEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0
b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAv
dGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLQot
ZnVuY3Rpb24gdGVzdCgpCi17Ci0gICAgSW5zcGVjdG9yVGVzdC5zZWxlY3ROb2RlQW5kV2FpdEZv
clN0eWxlcygiY29udGFpbmVyIiwgc3RlcDEpOwotCi0gICAgZnVuY3Rpb24gc3RlcDEoKQotICAg
IHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIkJlZm9yZSBkaXNhYmxlIik7Ci0g
ICAgICAgIEluc3BlY3RvclRlc3QuZHVtcFNlbGVjdGVkRWxlbWVudFN0eWxlcyh0cnVlLCB0cnVl
KTsKLQotICAgICAgICBJbnNwZWN0b3JUZXN0LnRvZ2dsZVN0eWxlUHJvcGVydHkoImZvbnQtd2Vp
Z2h0IiwgZmFsc2UpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LndhaXRGb3JTdHlsZXMoImNvbnRh
aW5lciIsIHN0ZXAyKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwMigpCi0gICAgewotICAg
ICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiQWZ0ZXIgZGlzYWJsZSIpOwotICAgICAgICBJ
bnNwZWN0b3JUZXN0LmR1bXBTZWxlY3RlZEVsZW1lbnRTdHlsZXModHJ1ZSwgdHJ1ZSk7Ci0KLSAg
ICAgICAgdmFyIHRyZWVJdGVtID0gSW5zcGVjdG9yVGVzdC5nZXRFbGVtZW50U3R5bGVQcm9wZXJ0
eVRyZWVJdGVtKCJmb250LXdlaWdodCIpOwotICAgICAgICB0cmVlSXRlbS5hcHBseVN0eWxlVGV4
dCgiY29sb3I6IGdyZWVuIiwgdHJ1ZSk7Ci0gICAgICAgIEluc3BlY3RvclRlc3Qud2FpdEZvclN0
eWxlcygiY29udGFpbmVyIiwgc3RlcDMpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0ZXAzKCkK
LSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJBZnRlciBjaGFuZ2UiKTsK
LSAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wU2VsZWN0ZWRFbGVtZW50U3R5bGVzKHRydWUsIHRy
dWUpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwotICAgIH0KLX0KLTwv
c2NyaXB0PgotPC9oZWFkPgotCi08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci08cD4KLVRlc3Rz
IHRoYXQgY2hhbmdpbmcgYSBkaXNhYmxlZCBwcm9wZXJ0eSBlbmFibGVzIGl0IGFzIHdlbGwuCi08
L3A+Ci0KLTxkaXYgaWQ9ImNvbnRhaW5lciIgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiPgotPC9k
aXY+Ci0KLTxkaXYgaWQ9Im90aGVyIj4KLTwvZGl2PgotCi08L2JvZHk+Ci08L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Ivc3R5bGVzL3N0eWxlcy1kaXNhYmxlLXRoZW4t
ZGVsZXRlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9zdHlsZXMvc3R5bGVz
LWRpc2FibGUtdGhlbi1kZWxldGUtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCBhNzNjMmMxZGQwNWFkMTA5ODk2OTA2YWUyMGEwZjc2MDE1NzhkNGE0Li4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci9zdHlsZXMvc3R5bGVzLWRpc2FibGUtdGhlbi1kZWxldGUtZXhwZWN0ZWQudHh0CisrKyAv
ZGV2L251bGwKQEAgLTEsMjAgKzAsMCBAQAotVGVzdHMgdGhhdCByZW1vdmFsIG9mIHByb3BlcnR5
IGZvbGxvd2luZyBpdHMgZGlzYWJsaW5nIHdvcmtzLgotCi1CZWZvcmUgZGlzYWJsZQotW2V4cGFu
ZGVkXSAKLWVsZW1lbnQuc3R5bGUgIHsgKCkKLWZvbnQtd2VpZ2h0OiBib2xkOwotCi0KLUFmdGVy
IGRpc2FibGUKLVtleHBhbmRlZF0gCi1lbGVtZW50LnN0eWxlICB7ICgpCi0vLS0gb3ZlcmxvYWRl
ZCAtLS8gLy0tIGRpc2FibGVkIC0tLyBmb250LXdlaWdodDogYm9sZDsKLQotCi1BZnRlciBkZWxl
dGUKLVtleHBhbmRlZF0gCi1lbGVtZW50LnN0eWxlICB7ICgpCi0KLQotCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbnNwZWN0b3Ivc3R5bGVzL3N0eWxlcy1kaXNhYmxlLXRoZW4tZGVsZXRlLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Ivc3R5bGVzL3N0eWxlcy1kaXNhYmxlLXRoZW4tZGVs
ZXRlLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGFmZmE2NGFlYWY4ODcwMThl
MDM1M2RhZTEzZGVhMmM0OWE5MTg4MDAuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0eWxlcy9zdHlsZXMtZGlzYWJs
ZS10aGVuLWRlbGV0ZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNjUgKzAsMCBAQAotPGh0bWw+
Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0
b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNw
ZWN0b3IvZWxlbWVudHMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotCi1mdW5jdGlvbiB0
ZXN0KCkKLXsKLSAgICBJbnNwZWN0b3JUZXN0LnNlbGVjdE5vZGVBbmRXYWl0Rm9yU3R5bGVzKCJj
b250YWluZXIiLCBzdGVwMSk7Ci0KLSAgICBmdW5jdGlvbiBzdGVwMSgpCi0gICAgewotICAgICAg
ICAvLyBEaXNhYmxlIHByb3BlcnR5Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJC
ZWZvcmUgZGlzYWJsZSIpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBTZWxlY3RlZEVsZW1l
bnRTdHlsZXModHJ1ZSwgdHJ1ZSk7Ci0gICAgICAgIEluc3BlY3RvclRlc3QudG9nZ2xlU3R5bGVQ
cm9wZXJ0eSgiZm9udC13ZWlnaHQiLCBmYWxzZSk7Ci0gICAgICAgIEluc3BlY3RvclRlc3QucnVu
QWZ0ZXJQZW5kaW5nRGlzcGF0Y2hlcyhzdGVwMik7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc3Rl
cDIoKQotICAgIHsKLSAgICAgICAgLy8gRGVsZXRlIHN0eWxlCi0gICAgICAgIEluc3BlY3RvclRl
c3QuYWRkUmVzdWx0KCJBZnRlciBkaXNhYmxlIik7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuZHVt
cFNlbGVjdGVkRWxlbWVudFN0eWxlcyh0cnVlLCB0cnVlKTsKLQotICAgICAgICB2YXIgdHJlZUl0
ZW0gPSBJbnNwZWN0b3JUZXN0LmdldEVsZW1lbnRTdHlsZVByb3BlcnR5VHJlZUl0ZW0oImZvbnQt
d2VpZ2h0Iik7Ci0gICAgICAgIHRyZWVJdGVtLmFwcGx5U3R5bGVUZXh0KCIiLCB0cnVlKTsKLQot
ICAgICAgICBJbnNwZWN0b3JUZXN0LnJ1bkFmdGVyUGVuZGluZ0Rpc3BhdGNoZXMoc3RlcDMpOwot
ICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0ZXAzKCkKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRl
c3Quc2VsZWN0Tm9kZVdpdGhJZCgib3RoZXIiKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5ydW5B
ZnRlclBlbmRpbmdEaXNwYXRjaGVzKHN0ZXA0KTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVw
NCgpCi0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LnNlbGVjdE5vZGVBbmRXYWl0Rm9yU3R5
bGVzKCJjb250YWluZXIiLCBzdGVwNSk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc3RlcDUobm9k
ZSkKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJBZnRlciBkZWxldGUi
KTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wU2VsZWN0ZWRFbGVtZW50U3R5bGVzKHRydWUs
IHRydWUpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwotICAgIH0KLX0K
LTwvc2NyaXB0PgotPC9oZWFkPgotCi08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci08cD4KLVRl
c3RzIHRoYXQgcmVtb3ZhbCBvZiBwcm9wZXJ0eSBmb2xsb3dpbmcgaXRzIGRpc2FibGluZyB3b3Jr
cy4KLTwvcD4KLQotPGRpdiBpZD0iY29udGFpbmVyIiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCI+
Ci08L2Rpdj4KLQotPGRpdiBpZD0ib3RoZXIiPgotPC9kaXY+Ci0KLTwvYm9keT4KLTwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9zdHlsZXMvc3R5bGVzLWRpc2FibGUt
dGhlbi1lbmFibGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0eWxlcy9z
dHlsZXMtZGlzYWJsZS10aGVuLWVuYWJsZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDk2ZWY2YWUxYzc2Yjg1MDUxOGVhNDRhZWM3OWZlZGQzNmZhYjY4M2YuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yL3N0eWxlcy9zdHlsZXMtZGlzYWJsZS10aGVuLWVuYWJsZS1leHBlY3RlZC50eHQK
KysrIC9kZXYvbnVsbApAQCAtMSw5ICswLDAgQEAKLVRlc3RzIHRoYXQgZGlzYWJsaW5nIHN0eWxl
IHByb3BlcnR5IHdvcmtzLgotCi1CZWZvcmUgZGlzYWJsZQotZm9udC13ZWlnaHQ6IGJvbGQ7Ci1B
ZnRlciBkaXNhYmxlCi0vLS0gb3ZlcmxvYWRlZCAtLS8gLy0tIGRpc2FibGVkIC0tLyBmb250LXdl
aWdodDogYm9sZDsKLUFmdGVyIGVuYWJsZQotZm9udC13ZWlnaHQ6IGJvbGQ7Ci0KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9zdHlsZXMvc3R5bGVzLWRpc2FibGUtdGhlbi1lbmFi
bGUtb3ZlcnJpZGVuLXVhLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9zdHls
ZXMvc3R5bGVzLWRpc2FibGUtdGhlbi1lbmFibGUtb3ZlcnJpZGVuLXVhLWV4cGVjdGVkLnR4dApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZWZiMmU1MjQyMWM2YjUyMmI2MDI3MjAzM2Iy
ZDc1NzI1MGYwYjAwMi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Ivc3R5bGVzL3N0eWxlcy1kaXNhYmxlLXRoZW4tZW5h
YmxlLW92ZXJyaWRlbi11YS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw0OCArMCww
IEBACi1UZXN0cyB0aGF0IGRpc2FibGluZyBzaG9ydGhhbmQgcmVtb3ZlcyB0aGUgIm92ZXJyaWRl
biIgbWFyayBmcm9tIHRoZSBVQSBzaG9ydGhhbmQgaXQgb3ZlcnJpZGVzLgotCi1CZWZvcmUgZGlz
YWJsZQotW2V4cGFuZGVkXSAKLWVsZW1lbnQuc3R5bGUgIHsgKCkKLW1hcmdpbjogMTBweDsKLQot
PT09PT09PT0gTWF0Y2hlZCBDU1MgUnVsZXMgPT09PT09PT0KLVtleHBhbmRlZF0gCi0jY29udGFp
bmVyICB7ICh1c2VyIHN0eWxlc2hlZXQpCi0vLS0gb3ZlcmxvYWRlZCAtLS8gbWFyZ2luOiA4cHg7
Ci0KLVtleHBhbmRlZF0gCi1kaXYgIHsgKHVzZXIgYWdlbnQgc3R5bGVzaGVldCkKLWRpc3BsYXk6
IGJsb2NrOwotCi0KLUFmdGVyIGRpc2FibGUKLVtleHBhbmRlZF0gCi1lbGVtZW50LnN0eWxlICB7
ICgpCi0vLS0gb3ZlcmxvYWRlZCAtLS8gLy0tIGRpc2FibGVkIC0tLyBtYXJnaW46IDEwcHg7Ci0K
LT09PT09PT09IE1hdGNoZWQgQ1NTIFJ1bGVzID09PT09PT09Ci1bZXhwYW5kZWRdIAotI2NvbnRh
aW5lciAgeyAodXNlciBzdHlsZXNoZWV0KQotbWFyZ2luOiA4cHg7Ci0KLVtleHBhbmRlZF0gCi1k
aXYgIHsgKHVzZXIgYWdlbnQgc3R5bGVzaGVldCkKLWRpc3BsYXk6IGJsb2NrOwotCi0KLUFmdGVy
IGVuYWJsZQotW2V4cGFuZGVkXSAKLWVsZW1lbnQuc3R5bGUgIHsgKCkKLW1hcmdpbjogMTBweDsK
LQotPT09PT09PT0gTWF0Y2hlZCBDU1MgUnVsZXMgPT09PT09PT0KLVtleHBhbmRlZF0gCi0jY29u
dGFpbmVyICB7ICh1c2VyIHN0eWxlc2hlZXQpCi0vLS0gb3ZlcmxvYWRlZCAtLS8gbWFyZ2luOiA4
cHg7Ci0KLVtleHBhbmRlZF0gCi1kaXYgIHsgKHVzZXIgYWdlbnQgc3R5bGVzaGVldCkKLWRpc3Bs
YXk6IGJsb2NrOwotCi0KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0eWxl
cy9zdHlsZXMtZGlzYWJsZS10aGVuLWVuYWJsZS1vdmVycmlkZW4tdWEuaHRtbCBiL0xheW91dFRl
c3RzL2luc3BlY3Rvci9zdHlsZXMvc3R5bGVzLWRpc2FibGUtdGhlbi1lbmFibGUtb3ZlcnJpZGVu
LXVhLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQ4ZGU2MDA0OGM2YzFlYTJm
YTg5MzU4MmM4NWUyYmEwNDQ3MjFjNWYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0eWxlcy9zdHlsZXMtZGlzYWJs
ZS10aGVuLWVuYWJsZS1vdmVycmlkZW4tdWEuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDU3ICsw
LDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNw
ZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0
dHAvdGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzLXRlc3QuanMiPjwvc2NyaXB0PgotCi08c2NyaXB0
PgotCi1mdW5jdGlvbiBpbmplY3RTdHlsZVNoZWV0KCkKLXsKLSAgICB2YXIgc3R5bGVTaGVldCA9
ICIjY29udGFpbmVyIHsgbWFyZ2luOiA4cHggfSI7Ci0gICAgaWYgKHdpbmRvdy50ZXN0UnVubmVy
KQotICAgICAgICB3aW5kb3cudGVzdFJ1bm5lci5hZGRVc2VyU3R5bGVTaGVldChzdHlsZVNoZWV0
LCB0cnVlKTsKLX0KLQotZnVuY3Rpb24gdGVzdCgpCi17Ci0gICAgSW5zcGVjdG9yVGVzdC5ldmFs
dWF0ZUluUGFnZSgiaW5qZWN0U3R5bGVTaGVldCgpIiwgc3RlcDEpOwotICAgIGZ1bmN0aW9uIHN0
ZXAxKCkKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3Quc2VsZWN0Tm9kZUFuZFdhaXRGb3JT
dHlsZXMoImNvbnRhaW5lciIsIHN0ZXAyKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwMigp
Ci0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiQmVmb3JlIGRpc2FibGUi
KTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wU2VsZWN0ZWRFbGVtZW50U3R5bGVzKHRydWUs
IGZhbHNlLCB0cnVlKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC50b2dnbGVTdHlsZVByb3BlcnR5
KCJtYXJnaW4iLCBmYWxzZSk7Ci0gICAgICAgIEluc3BlY3RvclRlc3Qud2FpdEZvclN0eWxlcygi
Y29udGFpbmVyIiwgc3RlcDMpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0ZXAzKCkKLSAgICB7
Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJBZnRlciBkaXNhYmxlIik7Ci0gICAg
ICAgIEluc3BlY3RvclRlc3QuZHVtcFNlbGVjdGVkRWxlbWVudFN0eWxlcyh0cnVlLCBmYWxzZSwg
dHJ1ZSk7Ci0gICAgICAgIEluc3BlY3RvclRlc3QudG9nZ2xlU3R5bGVQcm9wZXJ0eSgibWFyZ2lu
IiwgdHJ1ZSk7Ci0gICAgICAgIEluc3BlY3RvclRlc3Qud2FpdEZvclN0eWxlcygiY29udGFpbmVy
Iiwgc3RlcDQpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0ZXA0KCkKLSAgICB7Ci0gICAgICAg
IEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJBZnRlciBlbmFibGUiKTsKLSAgICAgICAgSW5zcGVj
dG9yVGVzdC5kdW1wU2VsZWN0ZWRFbGVtZW50U3R5bGVzKHRydWUsIGZhbHNlLCB0cnVlKTsKLSAg
ICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKLSAgICB9Ci19Ci08L3NjcmlwdD4K
LTwvaGVhZD4KLQotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiIGlkPSJib2R5LWlkIj4KLTxwPgot
VGVzdHMgdGhhdCBkaXNhYmxpbmcgc2hvcnRoYW5kIHJlbW92ZXMgdGhlICJvdmVycmlkZW4iIG1h
cmsgZnJvbSB0aGUgVUEgc2hvcnRoYW5kIGl0IG92ZXJyaWRlcy4KLTwvcD4KLQotPGRpdiBpZD0i
Y29udGFpbmVyIiBzdHlsZT0ibWFyZ2luOiAxMHB4Ij48L2Rpdj4KLQotPC9ib2R5PgotPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0eWxlcy9zdHlsZXMtZGlzYWJs
ZS10aGVuLWVuYWJsZS5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0eWxlcy9zdHlsZXMt
ZGlzYWJsZS10aGVuLWVuYWJsZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0
Y2MwMGVlOGZiNzBiNDdiZDFkYzY4NjljOTYyYzgzNTA0MjM2ZTc1Li4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9zdHls
ZXMvc3R5bGVzLWRpc2FibGUtdGhlbi1lbmFibGUuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDUy
ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9p
bnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4u
L2h0dHAvdGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlw
dD4KLQotZnVuY3Rpb24gdGVzdCgpCi17Ci0gICAgSW5zcGVjdG9yVGVzdC5zZWxlY3ROb2RlQW5k
V2FpdEZvclN0eWxlcygiY29udGFpbmVyIiwgc3RlcDEpOwotCi0gICAgZnVuY3Rpb24gc3RlcDEo
bm9kZSkKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJCZWZvcmUgZGlz
YWJsZSIpOwotICAgICAgICB2YXIgdHJlZUl0ZW0gPSBJbnNwZWN0b3JUZXN0LmdldEVsZW1lbnRT
dHlsZVByb3BlcnR5VHJlZUl0ZW0oImZvbnQtd2VpZ2h0Iik7Ci0gICAgICAgIEluc3BlY3RvclRl
c3QuZHVtcFN0eWxlVHJlZUl0ZW0odHJlZUl0ZW0sICIiKTsKLQotICAgICAgICBJbnNwZWN0b3JU
ZXN0LnRvZ2dsZVN0eWxlUHJvcGVydHkoImZvbnQtd2VpZ2h0IiwgZmFsc2UpOwotICAgICAgICBJ
bnNwZWN0b3JUZXN0LndhaXRGb3JTdHlsZXMoImNvbnRhaW5lciIsIHN0ZXAyKTsKLSAgICB9Ci0K
LSAgICBmdW5jdGlvbiBzdGVwMigpCi0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJl
c3VsdCgiQWZ0ZXIgZGlzYWJsZSIpOwotICAgICAgICB2YXIgdHJlZUl0ZW0gPSBJbnNwZWN0b3JU
ZXN0LmdldEVsZW1lbnRTdHlsZVByb3BlcnR5VHJlZUl0ZW0oImZvbnQtd2VpZ2h0Iik7Ci0gICAg
ICAgIEluc3BlY3RvclRlc3QuZHVtcFN0eWxlVHJlZUl0ZW0odHJlZUl0ZW0sICIiKTsKLQotICAg
ICAgICBJbnNwZWN0b3JUZXN0LnRvZ2dsZVN0eWxlUHJvcGVydHkoImZvbnQtd2VpZ2h0IiwgdHJ1
ZSk7Ci0gICAgICAgIEluc3BlY3RvclRlc3Qud2FpdEZvclN0eWxlcygiY29udGFpbmVyIiwgc3Rl
cDMpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0ZXAzKCkKLSAgICB7Ci0gICAgICAgIEluc3Bl
Y3RvclRlc3QuYWRkUmVzdWx0KCJBZnRlciBlbmFibGUiKTsKLSAgICAgICAgdmFyIHRyZWVJdGVt
ID0gSW5zcGVjdG9yVGVzdC5nZXRFbGVtZW50U3R5bGVQcm9wZXJ0eVRyZWVJdGVtKCJmb250LXdl
aWdodCIpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBTdHlsZVRyZWVJdGVtKHRyZWVJdGVt
LCAiIik7Ci0KLSAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKLSAgICB9Ci19
Ci08L3NjcmlwdD4KLTwvaGVhZD4KLQotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotPHA+Ci1U
ZXN0cyB0aGF0IGRpc2FibGluZyBzdHlsZSBwcm9wZXJ0eSB3b3Jrcy4KLTwvcD4KLQotPGRpdiBp
ZD0iY29udGFpbmVyIiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCI+Ci08L2Rpdj4KLQotPC9ib2R5
PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0eWxlcy9zdHls
ZXMtZm9ybWF0dGluZy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Ivc3R5bGVz
L3N0eWxlcy1mb3JtYXR0aW5nLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggNDBkYzY3ODAyNTlmZTc5ZjVmZWQ5MTI5ZDYwMzgyZWNmYjE5NGExYy4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0
b3Ivc3R5bGVzL3N0eWxlcy1mb3JtYXR0aW5nLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBA
IC0xLDE3NyArMCwwIEBACi1UZXN0cyB0aGF0IEluc3BlY3RvckNTU0FnZW50IGZvcm1hdHMgdGhl
IENTUyBzdHlsZSB0ZXh0IGJhc2VkIG9uIHRoZSBDU1MgbW9kZWwgbW9kaWZpY2F0aW9ucy4KLQot
Rm9ybWF0dGVkCi1VbmZvcm1hdHRlZAotCi1SdW5uaW5nOiBpbml0Rm9ybWF0dGVkU3R5bGUKLQot
UnVubmluZzogdGVzdEZvcm1hdHRlZEluc2VydFN0YXJ0Ci1yYXcgY3NzVGV4dDoKLXsgCi0gICAg
Zmlyc3RQcm9wZXJ0eTogZmlyc3RWYWx1ZTsKLSAgICBwcm9wZXJ0eTE6IHZhbHVlMTsKLSAgICBw
cm9wZXJ0eTI6IHZhbHVlMjsKLSAgICBwcm9wZXJ0eTM6IHZhbHVlMzsKLX0KLQotUnVubmluZzog
dGVzdEZvcm1hdHRlZFJlbW92ZVN0YXJ0Ci1yYXcgY3NzVGV4dDoKLXsgCi0gICAgcHJvcGVydHkx
OiB2YWx1ZTE7Ci0gICAgcHJvcGVydHkyOiB2YWx1ZTI7Ci0gICAgcHJvcGVydHkzOiB2YWx1ZTM7
Ci19Ci0KLVJ1bm5pbmc6IHRlc3RGb3JtYXR0ZWRJbnNlcnRNaWRkbGUKLXJhdyBjc3NUZXh0Ogot
eyAKLSAgICBwcm9wZXJ0eTE6IHZhbHVlMTsKLSAgICBtaWRkbGVQcm9wZXJ0eTogbWlkZGxlVmFs
dWU7Ci0gICAgcHJvcGVydHkyOiB2YWx1ZTI7Ci0gICAgcHJvcGVydHkzOiB2YWx1ZTM7Ci19Ci0K
LVJ1bm5pbmc6IHRlc3RGb3JtYXR0ZWRSZW1vdmVNaWRkbGUKLXJhdyBjc3NUZXh0OgoteyAKLSAg
ICBwcm9wZXJ0eTE6IHZhbHVlMTsKLSAgICBwcm9wZXJ0eTI6IHZhbHVlMjsKLSAgICBwcm9wZXJ0
eTM6IHZhbHVlMzsKLX0KLQotUnVubmluZzogdGVzdEZvcm1hdHRlZEluc2VydEVuZAotcmF3IGNz
c1RleHQ6Ci17IAotICAgIHByb3BlcnR5MTogdmFsdWUxOwotICAgIHByb3BlcnR5MjogdmFsdWUy
OwotICAgIHByb3BlcnR5MzogdmFsdWUzOwotICAgIGVuZFByb3BlcnR5OiBlbmRWYWx1ZTsKLX0K
LQotUnVubmluZzogdGVzdEZvcm1hdHRlZFJlbW92ZUVuZAotcmF3IGNzc1RleHQ6Ci17IAotICAg
IHByb3BlcnR5MTogdmFsdWUxOwotICAgIHByb3BlcnR5MjogdmFsdWUyOwotICAgIHByb3BlcnR5
MzogdmFsdWUzOwotfQotCi1SdW5uaW5nOiB0ZXN0Rm9ybWF0dGVkRGlzYWJsZVN0YXJ0Ci1yYXcg
Y3NzVGV4dDoKLXsgCi0gICAgcHJvcGVydHkyOiB2YWx1ZTI7Ci0gICAgcHJvcGVydHkzOiB2YWx1
ZTM7Ci19Ci0KLVJ1bm5pbmc6IHRlc3RGb3JtYXR0ZWREaXNhYmxlRW5kCi1yYXcgY3NzVGV4dDoK
LXsgCi0gICAgcHJvcGVydHkyOiB2YWx1ZTI7Ci19Ci0KLVJ1bm5pbmc6IHRlc3RGb3JtYXR0ZWRE
aXNhYmxlTWlkZGxlCi1yYXcgY3NzVGV4dDoKLXsgCi19Ci0KLVJ1bm5pbmc6IHRlc3RGb3JtYXR0
ZWRJbnNlcnQxCi1yYXcgY3NzVGV4dDoKLXsgCi0gICAgcHJvcEE6IHZhbEE7Ci19Ci0KLVJ1bm5p
bmc6IHRlc3RGb3JtYXR0ZWRJbnNlcnQyCi1yYXcgY3NzVGV4dDoKLXsgCi0gICAgcHJvcEE6IHZh
bEE7Ci0gICAgcHJvcEI6IHZhbEI7Ci19Ci0KLVJ1bm5pbmc6IHRlc3RGb3JtYXR0ZWRJbnNlcnQz
Ci1yYXcgY3NzVGV4dDoKLXsgCi0gICAgcHJvcEE6IHZhbEE7Ci0gICAgcHJvcEI6IHZhbEI7Ci0g
ICAgcHJvcEM6IHZhbEM7Ci19Ci0KLVJ1bm5pbmc6IHRlc3RGb3JtYXR0ZWRFbmFibGVTdGFydAot
cmF3IGNzc1RleHQ6Ci17IAotICAgIHByb3BBOiB2YWxBOwotICAgIHByb3BlcnR5MTogdmFsdWUx
OwotICAgIHByb3BCOiB2YWxCOwotICAgIHByb3BDOiB2YWxDOwotfQotCi1SdW5uaW5nOiB0ZXN0
Rm9ybWF0dGVkRW5hYmxlRW5kCi1yYXcgY3NzVGV4dDoKLXsgCi0gICAgcHJvcEE6IHZhbEE7Ci0g
ICAgcHJvcGVydHkxOiB2YWx1ZTE7Ci0gICAgcHJvcEI6IHZhbEI7Ci0gICAgcHJvcGVydHkzOiB2
YWx1ZTM7Ci0gICAgcHJvcEM6IHZhbEM7Ci19Ci0KLVJ1bm5pbmc6IHRlc3RGb3JtYXR0ZWRFbmFi
bGVNaWRkbGUKLXJhdyBjc3NUZXh0OgoteyAKLSAgICBwcm9wQTogdmFsQTsKLSAgICBwcm9wZXJ0
eTE6IHZhbHVlMTsKLSAgICBwcm9wQjogdmFsQjsKLSAgICBwcm9wZXJ0eTI6IHZhbHVlMjsKLSAg
ICBwcm9wZXJ0eTM6IHZhbHVlMzsKLSAgICBwcm9wQzogdmFsQzsKLX0KLQotUnVubmluZzogaW5p
dFVuZm9ybWF0dGVkU3R5bGUKLQotUnVubmluZzogdGVzdFVuZm9ybWF0dGVkSW5zZXJ0U3RhcnQK
LXJhdyBjc3NUZXh0Ogote2ZpcnN0UHJvcGVydHk6IGZpcnN0VmFsdWU7cHJvcGVydHkxOnZhbHVl
MTtwcm9wZXJ0eTI6dmFsdWUyO3Byb3BlcnR5Mzp2YWx1ZTM7fQotCi1SdW5uaW5nOiB0ZXN0VW5m
b3JtYXR0ZWRSZW1vdmVTdGFydAotcmF3IGNzc1RleHQ6Ci17cHJvcGVydHkxOnZhbHVlMTtwcm9w
ZXJ0eTI6dmFsdWUyO3Byb3BlcnR5Mzp2YWx1ZTM7fQotCi1SdW5uaW5nOiB0ZXN0VW5mb3JtYXR0
ZWRJbnNlcnRNaWRkbGUKLXJhdyBjc3NUZXh0Ogote3Byb3BlcnR5MTp2YWx1ZTE7bWlkZGxlUHJv
cGVydHk6IG1pZGRsZVZhbHVlO3Byb3BlcnR5Mjp2YWx1ZTI7cHJvcGVydHkzOnZhbHVlMzt9Ci0K
LVJ1bm5pbmc6IHRlc3RVbmZvcm1hdHRlZFJlbW92ZU1pZGRsZQotcmF3IGNzc1RleHQ6Ci17cHJv
cGVydHkxOnZhbHVlMTtwcm9wZXJ0eTI6dmFsdWUyO3Byb3BlcnR5Mzp2YWx1ZTM7fQotCi1SdW5u
aW5nOiB0ZXN0VW5mb3JtYXR0ZWRJbnNlcnRFbmQKLXJhdyBjc3NUZXh0Ogote3Byb3BlcnR5MTp2
YWx1ZTE7cHJvcGVydHkyOnZhbHVlMjtwcm9wZXJ0eTM6dmFsdWUzO2VuZFByb3BlcnR5OiBlbmRW
YWx1ZTt9Ci0KLVJ1bm5pbmc6IHRlc3RVbmZvcm1hdHRlZFJlbW92ZUVuZAotcmF3IGNzc1RleHQ6
Ci17cHJvcGVydHkxOnZhbHVlMTtwcm9wZXJ0eTI6dmFsdWUyO3Byb3BlcnR5Mzp2YWx1ZTM7fQot
Ci1SdW5uaW5nOiB0ZXN0VW5mb3JtYXR0ZWREaXNhYmxlU3RhcnQKLXJhdyBjc3NUZXh0Ogote3By
b3BlcnR5Mjp2YWx1ZTI7cHJvcGVydHkzOnZhbHVlMzt9Ci0KLVJ1bm5pbmc6IHRlc3RVbmZvcm1h
dHRlZERpc2FibGVFbmQKLXJhdyBjc3NUZXh0Ogote3Byb3BlcnR5Mjp2YWx1ZTI7fQotCi1SdW5u
aW5nOiB0ZXN0VW5mb3JtYXR0ZWREaXNhYmxlTWlkZGxlCi1yYXcgY3NzVGV4dDoKLXt9Ci0KLVJ1
bm5pbmc6IHRlc3RVbmZvcm1hdHRlZEVuYWJsZVN0YXJ0Ci1yYXcgY3NzVGV4dDoKLXtwcm9wZXJ0
eTE6dmFsdWUxO30KLQotUnVubmluZzogdGVzdFVuZm9ybWF0dGVkRW5hYmxlRW5kCi1yYXcgY3Nz
VGV4dDoKLXtwcm9wZXJ0eTE6dmFsdWUxO3Byb3BlcnR5Mzp2YWx1ZTM7fQotCi1SdW5uaW5nOiB0
ZXN0VW5mb3JtYXR0ZWRFbmFibGVNaWRkbGUKLXJhdyBjc3NUZXh0Ogote3Byb3BlcnR5MTp2YWx1
ZTE7cHJvcGVydHkyOnZhbHVlMjtwcm9wZXJ0eTM6dmFsdWUzO30KLQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yL3N0eWxlcy9zdHlsZXMtZm9ybWF0dGluZy5odG1sIGIvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yL3N0eWxlcy9zdHlsZXMtZm9ybWF0dGluZy5odG1sCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCBhNDk4NTRlMDdmMTY5YjljN2M4MzE3YmFlNzU3Y2RkOGQzMjU5
YWVjLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL2luc3BlY3Rvci9zdHlsZXMvc3R5bGVzLWZvcm1hdHRpbmcuaHRtbAorKysgL2Rldi9u
dWxsCkBAIC0xLDI0OCArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotCi08c2NyaXB0IHNyYz0iLi4v
Li4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzLXRlc3QuanMiPjwv
c2NyaXB0PgotPHNjcmlwdD4KLQotZnVuY3Rpb24gdGVzdCgpCi17Ci0gICAgdmFyIGZvcm1hdHRl
ZFN0eWxlOwotICAgIHZhciB1bmZvcm1hdHRlZFN0eWxlOwotCi0gICAgSW5zcGVjdG9yVGVzdC5y
dW5UZXN0U3VpdGUoWwotICAgICAgICBmdW5jdGlvbiBpbml0Rm9ybWF0dGVkU3R5bGUobmV4dCkK
LSAgICAgICAgewotICAgICAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2soc3R5bGVzKQotICAgICAg
ICAgICAgewotICAgICAgICAgICAgICAgIGlmICghc3R5bGVzKSB7Ci0gICAgICAgICAgICAgICAg
ICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJlbXB0eSBzdHlsZXMiKTsKLSAgICAgICAgICAg
ICAgICAgICAgcmV0dXJuOwotICAgICAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgICAgIGZv
cm1hdHRlZFN0eWxlID0gc3R5bGVzLm1hdGNoZWRDU1NSdWxlc1sxXS5zdHlsZTsKLSAgICAgICAg
ICAgICAgICBuZXh0KCk7Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIGZ1bmN0aW9uIG5v
ZGVDYWxsYmFjayhub2RlKQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIFdlYkluc3Bl
Y3Rvci5jc3NNb2RlbC5nZXRNYXRjaGVkU3R5bGVzQXN5bmMobm9kZS5pZCwgZmFsc2UsIGZhbHNl
LCBjYWxsYmFjayk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LnNl
bGVjdE5vZGVXaXRoSWQoImZvcm1hdHRlZCIsIG5vZGVDYWxsYmFjayk7Ci0gICAgICAgIH0sCi0K
LSAgICAgICAgZnVuY3Rpb24gdGVzdEZvcm1hdHRlZEluc2VydFN0YXJ0KG5leHQpCi0gICAgICAg
IHsKLSAgICAgICAgICAgIGZvcm1hdHRlZFN0eWxlLmluc2VydFByb3BlcnR5QXQoMCwgImZpcnN0
UHJvcGVydHkiLCAiZmlyc3RWYWx1ZSIsIGR1bXBGb3JtYXR0ZWRBbmRDYWxsTmV4dC5iaW5kKG51
bGwsIG5leHQpKTsKLSAgICAgICAgfSwKLQotICAgICAgICBmdW5jdGlvbiB0ZXN0Rm9ybWF0dGVk
UmVtb3ZlU3RhcnQobmV4dCkKLSAgICAgICAgewotICAgICAgICAgICAgZm9ybWF0dGVkU3R5bGUu
YWxsUHJvcGVydGllc1swXS5zZXRUZXh0KCIiLCB0cnVlLCB0cnVlLCBkdW1wRm9ybWF0dGVkQW5k
Q2FsbE5leHQuYmluZChudWxsLCBuZXh0KSk7Ci0gICAgICAgIH0sCi0KLSAgICAgICAgZnVuY3Rp
b24gdGVzdEZvcm1hdHRlZEluc2VydE1pZGRsZShuZXh0KQotICAgICAgICB7Ci0gICAgICAgICAg
ICBmb3JtYXR0ZWRTdHlsZS5pbnNlcnRQcm9wZXJ0eUF0KDEsICJtaWRkbGVQcm9wZXJ0eSIsICJt
aWRkbGVWYWx1ZSIsIGR1bXBGb3JtYXR0ZWRBbmRDYWxsTmV4dC5iaW5kKG51bGwsIG5leHQpKTsK
LSAgICAgICAgfSwKLQotICAgICAgICBmdW5jdGlvbiB0ZXN0Rm9ybWF0dGVkUmVtb3ZlTWlkZGxl
KG5leHQpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGZvcm1hdHRlZFN0eWxlLmFsbFByb3BlcnRp
ZXNbMV0uc2V0VGV4dCgiIiwgdHJ1ZSwgdHJ1ZSwgZHVtcEZvcm1hdHRlZEFuZENhbGxOZXh0LmJp
bmQobnVsbCwgbmV4dCkpOwotICAgICAgICB9LAotCi0gICAgICAgIGZ1bmN0aW9uIHRlc3RGb3Jt
YXR0ZWRJbnNlcnRFbmQobmV4dCkKLSAgICAgICAgewotICAgICAgICAgICAgZm9ybWF0dGVkU3R5
bGUuaW5zZXJ0UHJvcGVydHlBdCgzLCAiZW5kUHJvcGVydHkiLCAiZW5kVmFsdWUiLCBkdW1wRm9y
bWF0dGVkQW5kQ2FsbE5leHQuYmluZChudWxsLCBuZXh0KSk7Ci0gICAgICAgIH0sCi0KLSAgICAg
ICAgZnVuY3Rpb24gdGVzdEZvcm1hdHRlZFJlbW92ZUVuZChuZXh0KQotICAgICAgICB7Ci0gICAg
ICAgICAgICBmb3JtYXR0ZWRTdHlsZS5hbGxQcm9wZXJ0aWVzWzNdLnNldFRleHQoIiIsIHRydWUs
IHRydWUsIGR1bXBGb3JtYXR0ZWRBbmRDYWxsTmV4dC5iaW5kKG51bGwsIG5leHQpKTsKLSAgICAg
ICAgfSwKLQotICAgICAgICBmdW5jdGlvbiB0ZXN0Rm9ybWF0dGVkRGlzYWJsZVN0YXJ0KG5leHQp
Ci0gICAgICAgIHsKLSAgICAgICAgICAgIGZvcm1hdHRlZFN0eWxlLmFsbFByb3BlcnRpZXNbMF0u
c2V0RGlzYWJsZWQodHJ1ZSwgZHVtcEZvcm1hdHRlZEFuZENhbGxOZXh0LmJpbmQobnVsbCwgbmV4
dCkpOwotICAgICAgICB9LAotCi0gICAgICAgIGZ1bmN0aW9uIHRlc3RGb3JtYXR0ZWREaXNhYmxl
RW5kKG5leHQpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGZvcm1hdHRlZFN0eWxlLmFsbFByb3Bl
cnRpZXNbMl0uc2V0RGlzYWJsZWQodHJ1ZSwgZHVtcEZvcm1hdHRlZEFuZENhbGxOZXh0LmJpbmQo
bnVsbCwgbmV4dCkpOwotICAgICAgICB9LAotCi0gICAgICAgIGZ1bmN0aW9uIHRlc3RGb3JtYXR0
ZWREaXNhYmxlTWlkZGxlKG5leHQpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGZvcm1hdHRlZFN0
eWxlLmFsbFByb3BlcnRpZXNbMV0uc2V0RGlzYWJsZWQodHJ1ZSwgZHVtcEZvcm1hdHRlZEFuZENh
bGxOZXh0LmJpbmQobnVsbCwgbmV4dCkpOwotICAgICAgICB9LAotCi0gICAgICAgIGZ1bmN0aW9u
IHRlc3RGb3JtYXR0ZWRJbnNlcnQxKG5leHQpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGZvcm1h
dHRlZFN0eWxlLmluc2VydFByb3BlcnR5QXQoMCwgInByb3BBIiwgInZhbEEiLCBkdW1wRm9ybWF0
dGVkQW5kQ2FsbE5leHQuYmluZChudWxsLCBuZXh0KSk7Ci0gICAgICAgIH0sCi0KLSAgICAgICAg
ZnVuY3Rpb24gdGVzdEZvcm1hdHRlZEluc2VydDIobmV4dCkKLSAgICAgICAgewotICAgICAgICAg
ICAgZm9ybWF0dGVkU3R5bGUuaW5zZXJ0UHJvcGVydHlBdCgyLCAicHJvcEIiLCAidmFsQiIsIGR1
bXBGb3JtYXR0ZWRBbmRDYWxsTmV4dC5iaW5kKG51bGwsIG5leHQpKTsKLSAgICAgICAgfSwKLQot
ICAgICAgICBmdW5jdGlvbiB0ZXN0Rm9ybWF0dGVkSW5zZXJ0MyhuZXh0KQotICAgICAgICB7Ci0g
ICAgICAgICAgICBmb3JtYXR0ZWRTdHlsZS5pbnNlcnRQcm9wZXJ0eUF0KDUsICJwcm9wQyIsICJ2
YWxDIiwgZHVtcEZvcm1hdHRlZEFuZENhbGxOZXh0LmJpbmQobnVsbCwgbmV4dCkpOwotICAgICAg
ICB9LAotCi0gICAgICAgIGZ1bmN0aW9uIHRlc3RGb3JtYXR0ZWRFbmFibGVTdGFydChuZXh0KQot
ICAgICAgICB7Ci0gICAgICAgICAgICBmb3JtYXR0ZWRTdHlsZS5hbGxQcm9wZXJ0aWVzWzFdLnNl
dERpc2FibGVkKGZhbHNlLCBkdW1wRm9ybWF0dGVkQW5kQ2FsbE5leHQuYmluZChudWxsLCBuZXh0
KSk7Ci0gICAgICAgIH0sCi0KLSAgICAgICAgZnVuY3Rpb24gdGVzdEZvcm1hdHRlZEVuYWJsZUVu
ZChuZXh0KQotICAgICAgICB7Ci0gICAgICAgICAgICBmb3JtYXR0ZWRTdHlsZS5hbGxQcm9wZXJ0
aWVzWzRdLnNldERpc2FibGVkKGZhbHNlLCBkdW1wRm9ybWF0dGVkQW5kQ2FsbE5leHQuYmluZChu
dWxsLCBuZXh0KSk7Ci0gICAgICAgIH0sCi0KLSAgICAgICAgZnVuY3Rpb24gdGVzdEZvcm1hdHRl
ZEVuYWJsZU1pZGRsZShuZXh0KQotICAgICAgICB7Ci0gICAgICAgICAgICBmb3JtYXR0ZWRTdHls
ZS5hbGxQcm9wZXJ0aWVzWzNdLnNldERpc2FibGVkKGZhbHNlLCBkdW1wRm9ybWF0dGVkQW5kQ2Fs
bE5leHQuYmluZChudWxsLCBuZXh0KSk7Ci0gICAgICAgIH0sCi0KLSAgICAgICAgZnVuY3Rpb24g
aW5pdFVuZm9ybWF0dGVkU3R5bGUobmV4dCkKLSAgICAgICAgewotICAgICAgICAgICAgZnVuY3Rp
b24gY2FsbGJhY2soc3R5bGVzKQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIGlmICgh
c3R5bGVzKSB7Ci0gICAgICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJl
bXB0eSBzdHlsZXMiKTsKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICAgICAg
ICAgIH0KLQotICAgICAgICAgICAgICAgIHVuZm9ybWF0dGVkU3R5bGUgPSBzdHlsZXMubWF0Y2hl
ZENTU1J1bGVzWzFdLnN0eWxlOwotICAgICAgICAgICAgICAgIG5leHQoKTsKLSAgICAgICAgICAg
IH0KLQotICAgICAgICAgICAgZnVuY3Rpb24gbm9kZUNhbGxiYWNrKG5vZGUpCi0gICAgICAgICAg
ICB7Ci0gICAgICAgICAgICAgICAgV2ViSW5zcGVjdG9yLmNzc01vZGVsLmdldE1hdGNoZWRTdHls
ZXNBc3luYyhub2RlLmlkLCBmYWxzZSwgZmFsc2UsIGNhbGxiYWNrKTsKLSAgICAgICAgICAgIH0K
LSAgICAgICAgICAgIEluc3BlY3RvclRlc3Quc2VsZWN0Tm9kZVdpdGhJZCgidW5mb3JtYXR0ZWQi
LCBub2RlQ2FsbGJhY2spOwotICAgICAgICB9LAotCi0gICAgICAgIGZ1bmN0aW9uIHRlc3RVbmZv
cm1hdHRlZEluc2VydFN0YXJ0KG5leHQpCi0gICAgICAgIHsKLSAgICAgICAgICAgIHVuZm9ybWF0
dGVkU3R5bGUuaW5zZXJ0UHJvcGVydHlBdCgwLCAiZmlyc3RQcm9wZXJ0eSIsICJmaXJzdFZhbHVl
IiwgZHVtcFVuZm9ybWF0dGVkQW5kQ2FsbE5leHQuYmluZChudWxsLCBuZXh0KSk7Ci0gICAgICAg
IH0sCi0KLSAgICAgICAgZnVuY3Rpb24gdGVzdFVuZm9ybWF0dGVkUmVtb3ZlU3RhcnQobmV4dCkK
LSAgICAgICAgewotICAgICAgICAgICAgdW5mb3JtYXR0ZWRTdHlsZS5hbGxQcm9wZXJ0aWVzWzBd
LnNldFRleHQoIiIsIHRydWUsIHRydWUsIGR1bXBVbmZvcm1hdHRlZEFuZENhbGxOZXh0LmJpbmQo
bnVsbCwgbmV4dCkpOwotICAgICAgICB9LAotCi0gICAgICAgIGZ1bmN0aW9uIHRlc3RVbmZvcm1h
dHRlZEluc2VydE1pZGRsZShuZXh0KQotICAgICAgICB7Ci0gICAgICAgICAgICB1bmZvcm1hdHRl
ZFN0eWxlLmluc2VydFByb3BlcnR5QXQoMSwgIm1pZGRsZVByb3BlcnR5IiwgIm1pZGRsZVZhbHVl
IiwgZHVtcFVuZm9ybWF0dGVkQW5kQ2FsbE5leHQuYmluZChudWxsLCBuZXh0KSk7Ci0gICAgICAg
IH0sCi0KLSAgICAgICAgZnVuY3Rpb24gdGVzdFVuZm9ybWF0dGVkUmVtb3ZlTWlkZGxlKG5leHQp
Ci0gICAgICAgIHsKLSAgICAgICAgICAgIHVuZm9ybWF0dGVkU3R5bGUuYWxsUHJvcGVydGllc1sx
XS5zZXRUZXh0KCIiLCB0cnVlLCB0cnVlLCBkdW1wVW5mb3JtYXR0ZWRBbmRDYWxsTmV4dC5iaW5k
KG51bGwsIG5leHQpKTsKLSAgICAgICAgfSwKLQotICAgICAgICBmdW5jdGlvbiB0ZXN0VW5mb3Jt
YXR0ZWRJbnNlcnRFbmQobmV4dCkKLSAgICAgICAgewotICAgICAgICAgICAgdW5mb3JtYXR0ZWRT
dHlsZS5pbnNlcnRQcm9wZXJ0eUF0KDMsICJlbmRQcm9wZXJ0eSIsICJlbmRWYWx1ZSIsIGR1bXBV
bmZvcm1hdHRlZEFuZENhbGxOZXh0LmJpbmQobnVsbCwgbmV4dCkpOwotICAgICAgICB9LAotCi0g
ICAgICAgIGZ1bmN0aW9uIHRlc3RVbmZvcm1hdHRlZFJlbW92ZUVuZChuZXh0KQotICAgICAgICB7
Ci0gICAgICAgICAgICB1bmZvcm1hdHRlZFN0eWxlLmFsbFByb3BlcnRpZXNbM10uc2V0VGV4dCgi
IiwgdHJ1ZSwgdHJ1ZSwgZHVtcFVuZm9ybWF0dGVkQW5kQ2FsbE5leHQuYmluZChudWxsLCBuZXh0
KSk7Ci0gICAgICAgIH0sCi0KLSAgICAgICAgZnVuY3Rpb24gdGVzdFVuZm9ybWF0dGVkRGlzYWJs
ZVN0YXJ0KG5leHQpCi0gICAgICAgIHsKLSAgICAgICAgICAgIHVuZm9ybWF0dGVkU3R5bGUuYWxs
UHJvcGVydGllc1swXS5zZXREaXNhYmxlZCh0cnVlLCBkdW1wVW5mb3JtYXR0ZWRBbmRDYWxsTmV4
dC5iaW5kKG51bGwsIG5leHQpKTsKLSAgICAgICAgfSwKLQotICAgICAgICBmdW5jdGlvbiB0ZXN0
VW5mb3JtYXR0ZWREaXNhYmxlRW5kKG5leHQpCi0gICAgICAgIHsKLSAgICAgICAgICAgIHVuZm9y
bWF0dGVkU3R5bGUuYWxsUHJvcGVydGllc1syXS5zZXREaXNhYmxlZCh0cnVlLCBkdW1wVW5mb3Jt
YXR0ZWRBbmRDYWxsTmV4dC5iaW5kKG51bGwsIG5leHQpKTsKLSAgICAgICAgfSwKLQotICAgICAg
ICBmdW5jdGlvbiB0ZXN0VW5mb3JtYXR0ZWREaXNhYmxlTWlkZGxlKG5leHQpCi0gICAgICAgIHsK
LSAgICAgICAgICAgIHVuZm9ybWF0dGVkU3R5bGUuYWxsUHJvcGVydGllc1sxXS5zZXREaXNhYmxl
ZCh0cnVlLCBkdW1wVW5mb3JtYXR0ZWRBbmRDYWxsTmV4dC5iaW5kKG51bGwsIG5leHQpKTsKLSAg
ICAgICAgfSwKLQotICAgICAgICBmdW5jdGlvbiB0ZXN0VW5mb3JtYXR0ZWRFbmFibGVTdGFydChu
ZXh0KQotICAgICAgICB7Ci0gICAgICAgICAgICB1bmZvcm1hdHRlZFN0eWxlLmFsbFByb3BlcnRp
ZXNbMF0uc2V0RGlzYWJsZWQoZmFsc2UsIGR1bXBVbmZvcm1hdHRlZEFuZENhbGxOZXh0LmJpbmQo
bnVsbCwgbmV4dCkpOwotICAgICAgICB9LAotCi0gICAgICAgIGZ1bmN0aW9uIHRlc3RVbmZvcm1h
dHRlZEVuYWJsZUVuZChuZXh0KQotICAgICAgICB7Ci0gICAgICAgICAgICB1bmZvcm1hdHRlZFN0
eWxlLmFsbFByb3BlcnRpZXNbMl0uc2V0RGlzYWJsZWQoZmFsc2UsIGR1bXBVbmZvcm1hdHRlZEFu
ZENhbGxOZXh0LmJpbmQobnVsbCwgbmV4dCkpOwotICAgICAgICB9LAotCi0gICAgICAgIGZ1bmN0
aW9uIHRlc3RVbmZvcm1hdHRlZEVuYWJsZU1pZGRsZShuZXh0KQotICAgICAgICB7Ci0gICAgICAg
ICAgICB1bmZvcm1hdHRlZFN0eWxlLmFsbFByb3BlcnRpZXNbMV0uc2V0RGlzYWJsZWQoZmFsc2Us
IGR1bXBVbmZvcm1hdHRlZEFuZENhbGxOZXh0LmJpbmQobnVsbCwgbmV4dCkpOwotICAgICAgICB9
Ci0gICAgXSk7Ci0KLSAgICAvLyBEYXRhIGR1bXBpbmcKLQotICAgIGZ1bmN0aW9uIGR1bXBGb3Jt
YXR0ZWRBbmRDYWxsTmV4dChuZXh0LCBzdHlsZSkKLSAgICB7Ci0gICAgICAgIGlmICghc3R5bGUp
IHsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJlcnJvcjogZW1wdHkgc3R5
bGUiKTsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7Ci0gICAgICAg
IH0KLQotICAgICAgICBmb3JtYXR0ZWRTdHlsZSA9IHN0eWxlOwotICAgICAgICBkdW1wU3R5bGUo
c3R5bGUpOwotICAgICAgICBpZiAobmV4dCkKLSAgICAgICAgICAgIG5leHQoKTsKLSAgICB9Ci0K
LSAgICBmdW5jdGlvbiBkdW1wVW5mb3JtYXR0ZWRBbmRDYWxsTmV4dChuZXh0LCBzdHlsZSkKLSAg
ICB7Ci0gICAgICAgIGlmICghc3R5bGUpIHsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRk
UmVzdWx0KCJlcnJvcjogZW1wdHkgc3R5bGUiKTsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3Qu
Y29tcGxldGVUZXN0KCk7Ci0gICAgICAgIH0KLQotICAgICAgICB1bmZvcm1hdHRlZFN0eWxlID0g
c3R5bGU7Ci0gICAgICAgIGR1bXBTdHlsZShzdHlsZSk7Ci0gICAgICAgIGlmIChuZXh0KQotICAg
ICAgICAgICAgbmV4dCgpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIGR1bXBTdHlsZShzdHlsZSkK
LSAgICB7Ci0gICAgICAgIGlmICghc3R5bGUpCi0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAg
IEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJyYXcgY3NzVGV4dDoiKTsKLSAgICAgICAgSW5zcGVj
dG9yVGVzdC5hZGRSZXN1bHQoInsiICsgc3R5bGUuY3NzVGV4dCArICJ9Iik7Ci0gICAgfQotfQot
PC9zY3JpcHQ+Ci0KLTxzdHlsZT4KLQotI2Zvcm1hdHRlZCB7IAotICAgIHByb3BlcnR5MTogdmFs
dWUxOwotICAgIHByb3BlcnR5MjogdmFsdWUyOwotICAgIHByb3BlcnR5MzogdmFsdWUzOwotfQot
Ci0jdW5mb3JtYXR0ZWQge3Byb3BlcnR5MTp2YWx1ZTE7cHJvcGVydHkyOnZhbHVlMjtwcm9wZXJ0
eTM6dmFsdWUzO30KLQotPC9zdHlsZT4KLTwvaGVhZD4KLQotPGJvZHkgaWQ9Im1haW5Cb2R5IiBv
bmxvYWQ9InJ1blRlc3QoKSI+Ci08cD4KLVRlc3RzIHRoYXQgSW5zcGVjdG9yQ1NTQWdlbnQgZm9y
bWF0cyB0aGUgQ1NTIHN0eWxlIHRleHQgYmFzZWQgb24gdGhlIENTUyBtb2RlbCBtb2RpZmljYXRp
b25zLgotPC9wPgotPGRpdiBpZD0iZm9ybWF0dGVkIj5Gb3JtYXR0ZWQ8L2Rpdj4KLTxkaXYgaWQ9
InVuZm9ybWF0dGVkIj5VbmZvcm1hdHRlZDwvZGl2PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0eWxlcy9zdHlsZXMtaGlzdG9yeS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Ivc3R5bGVzL3N0eWxlcy1oaXN0b3J5LWV4cGVj
dGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNWRiN2Y1ODA1ZmUwODdhZWMy
YWY1YTE5OTAzZWI0YjcwM2NiN2NmYi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Ivc3R5bGVzL3N0eWxlcy1oaXN0b3J5
LWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDM3ICswLDAgQEAKLVRlc3RzIHJlc291
cmNlcyBwYW5lbCBoaXN0b3J5LgotCi0KLVJ1bm5pbmc6IHRlc3RTZXRVcAotCi1SdW5uaW5nOiB0
ZXN0U2V0UmVzb3VyY2VDb250ZW50TWlub3IKLUhpc3RvcnkgbGVuZ3RoOiAwCi0KLVJ1bm5pbmc6
IHRlc3RTZXRSZXNvdXJjZUNvbnRlbnRNYWpvcgotSGlzdG9yeSBsZW5ndGg6IDEKLUl0ZW0gMDoK
LWJvZHkgewotICBtYXJnaW46IDIwcHg7Ci0gIHBhZGRpbmc6IDEwcHg7Ci19Ci0KLVJ1bm5pbmc6
IHRlc3RTZXRDb250ZW50VmlhTW9kZWxNaW5vcgotSGlzdG9yeSBsZW5ndGg6IDEKLUl0ZW0gMDoK
LWJvZHkgewotICBtYXJnaW46IDIwcHg7Ci0gIHBhZGRpbmc6IDEwcHg7Ci19Ci0KLVJ1bm5pbmc6
IHRlc3RTZXRDb250ZW50VmlhTW9kZWxNYWpvcgotSGlzdG9yeSBsZW5ndGg6IDIKLUl0ZW0gMDoK
LWJvZHkgewotICBtYXJnaW46IDIwcHg7Ci0gIHBhZGRpbmc6IDEwcHg7Ci19Ci1JdGVtIDE6Ci1i
b2R5IHsKLSAgbWFyZ2luOjMwcHg7Ci0gIHBhZGRpbmc6IDEwcHg7Ci19Ci0KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2luc3BlY3Rvci9zdHlsZXMvc3R5bGVzLWhpc3RvcnkuaHRtbCBiL0xheW91
dFRlc3RzL2luc3BlY3Rvci9zdHlsZXMvc3R5bGVzLWhpc3RvcnkuaHRtbApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggOWRlOGY3ZmVlOGE4OWUzZTZhNzc4YmRkMTZmNDA2MDZhY2RiYmNh
Yy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3Ivc3R5bGVzL3N0eWxlcy1oaXN0b3J5Lmh0bWwKKysrIC9kZXYvbnVsbApA
QCAtMSwxMzMgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLQotPGxpbmsgcmVsPSJzdHlsZXNoZWV0
IiBocmVmPSJyZXNvdXJjZXMvc3R5bGVzLWhpc3RvcnkuY3NzIj4KLQotPHNjcmlwdCBzcmM9Ii4u
Ly4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9lbGVtZW50cy10ZXN0LmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJj
ZXMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotCi1mdW5jdGlvbiB0ZXN0KCkKLXsKLSAg
ICBJbnNwZWN0b3JUZXN0LnJ1bkFmdGVyQ2FjaGVkUmVzb3VyY2VzUHJvY2Vzc2VkKHJ1blRlc3RT
dWl0ZSk7Ci0KLSAgICB2YXIgdWlTb3VyY2VDb2RlOwotCi0gICAgZnVuY3Rpb24gcnVuVGVzdFN1
aXRlKCkKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QucnVuVGVzdFN1aXRlKFsKLSAgICAg
ICAgICAgIGZ1bmN0aW9uIHRlc3RTZXRVcChuZXh0KQotICAgICAgICAgICAgewotICAgICAgICAg
ICAgICAgIGZ1bmN0aW9uIHZpc2l0VUlTb3VyY2VDb2RlcyhjdXJyZW50VUlTb3VyY2VDb2RlKQot
ICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgaWYgKGN1cnJlbnRVSVNvdXJj
ZUNvZGUub3JpZ2luVVJMKCkuaW5kZXhPZigic3R5bGVzLWhpc3RvcnkuY3NzIikgPT09IC0xKQot
ICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICAgICAgICAgICAgICB1aVNv
dXJjZUNvZGUgPSBjdXJyZW50VUlTb3VyY2VDb2RlOwotICAgICAgICAgICAgICAgICAgICBuZXh0
KCk7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIFdlYkluc3BlY3Rvci53b3Jr
c3BhY2UudWlTb3VyY2VDb2RlcygpLmZvckVhY2godmlzaXRVSVNvdXJjZUNvZGVzKTsKLSAgICAg
ICAgICAgIH0sCi0KLSAgICAgICAgICAgIGZ1bmN0aW9uIHRlc3RTZXRSZXNvdXJjZUNvbnRlbnRN
aW5vcihuZXh0KQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3Qu
YWRkU25pZmZlcihXZWJJbnNwZWN0b3IuU3R5bGVGaWxlLnByb3RvdHlwZSwgIl9zdHlsZUNvbnRl
bnRTZXQiLCBzdHlsZVVwZGF0ZWRNaW5vcik7Ci0gICAgICAgICAgICAgICAgdWlTb3VyY2VDb2Rl
LnNldFdvcmtpbmdDb3B5KCJib2R5IHtcbiAgbWFyZ2luOiAxNXB4O1xuICBwYWRkaW5nOiAxMHB4
O1xufSIpOwotCi0gICAgICAgICAgICAgICAgZnVuY3Rpb24gc3R5bGVVcGRhdGVkTWlub3IoKQot
ICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgZHVtcEhpc3RvcnkobmV4dCko
KTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB9LAotCi0gICAgICAgICAgICBmdW5j
dGlvbiB0ZXN0U2V0UmVzb3VyY2VDb250ZW50TWFqb3IobmV4dCkKLSAgICAgICAgICAgIHsKLSAg
ICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFNuaWZmZXIoV2ViSW5zcGVjdG9yLlN0eWxl
RmlsZS5wcm90b3R5cGUsICJfc3R5bGVDb250ZW50U2V0Iiwgc3R5bGVVcGRhdGVkTWlub3IpOwot
ICAgICAgICAgICAgICAgIHVpU291cmNlQ29kZS5zZXRXb3JraW5nQ29weSgiYm9keSB7XG4gIG1h
cmdpbjogMjBweDtcbiAgcGFkZGluZzogMTBweDtcbn0iKTsKLQotICAgICAgICAgICAgICAgIGZ1
bmN0aW9uIHN0eWxlVXBkYXRlZE1pbm9yKCkKLSAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAg
ICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkU25pZmZlcihXZWJJbnNwZWN0b3IuU3R5bGVGaWxl
LnByb3RvdHlwZSwgIl9zdHlsZUNvbnRlbnRTZXQiLCBzdHlsZVVwZGF0ZWRNYWpvcik7Ci0gICAg
ICAgICAgICAgICAgICAgIHVpU291cmNlQ29kZS5jb21taXRXb3JraW5nQ29weShmdW5jdGlvbigp
IHsgfSk7Ci0KLSAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gc3R5bGVVcGRhdGVkTWFqb3Io
KQotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBkdW1wSGlz
dG9yeShuZXh0KSgpOwotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgfQot
ICAgICAgICAgICAgfSwKLQotICAgICAgICAgICAgZnVuY3Rpb24gdGVzdFNldENvbnRlbnRWaWFN
b2RlbE1pbm9yKG5leHQpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgc3R5bGVTaGVl
dEZvclJlc291cmNlKHN0ZXAxKTsKLQotICAgICAgICAgICAgICAgIGZ1bmN0aW9uIHN0ZXAxKHN0
eWxlU2hlZXQpCi0gICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICB2YXIgc3R5
bGUgPSBzdHlsZVNoZWV0LnJ1bGVzWzBdLnN0eWxlOwotICAgICAgICAgICAgICAgICAgICB2YXIg
cHJvcGVydHkgPSBzdHlsZS5nZXRMaXZlUHJvcGVydHkoIm1hcmdpbiIpOwotICAgICAgICAgICAg
ICAgICAgICBwcm9wZXJ0eS5zZXRUZXh0KCJtYXJnaW46MjVweDsiLCBmYWxzZSwgdHJ1ZSwgZHVt
cEhpc3RvcnkobmV4dCkpOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0sCi0KLSAg
ICAgICAgICAgIGZ1bmN0aW9uIHRlc3RTZXRDb250ZW50VmlhTW9kZWxNYWpvcihuZXh0KQotICAg
ICAgICAgICAgewotICAgICAgICAgICAgICAgIHN0eWxlU2hlZXRGb3JSZXNvdXJjZShzdGVwMSk7
Ci0KLSAgICAgICAgICAgICAgICBmdW5jdGlvbiBzdGVwMShzdHlsZVNoZWV0KQotICAgICAgICAg
ICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgdmFyIHN0eWxlID0gc3R5bGVTaGVldC5ydWxl
c1swXS5zdHlsZTsKLSAgICAgICAgICAgICAgICAgICAgdmFyIHByb3BlcnR5ID0gc3R5bGUuZ2V0
TGl2ZVByb3BlcnR5KCJtYXJnaW4iKTsKLSAgICAgICAgICAgICAgICAgICAgcHJvcGVydHkuc2V0
VGV4dCgibWFyZ2luOjMwcHg7IiwgdHJ1ZSwgdHJ1ZSk7Ci0gICAgICAgICAgICAgICAgICAgIElu
c3BlY3RvclRlc3QucnVuQWZ0ZXJQZW5kaW5nRGlzcGF0Y2hlcyhkdW1wSGlzdG9yeShuZXh0KSk7
Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgfQotICAgICAgICBdKTsKLSAgICB9Ci0K
LSAgICBmdW5jdGlvbiBzdHlsZVNoZWV0Rm9yUmVzb3VyY2UoY2FsbGJhY2spCi0gICAgewotICAg
ICAgICBDU1NBZ2VudC5nZXRBbGxTdHlsZVNoZWV0cyhkaWRHZXRBbGxTdHlsZVNoZWV0cy5iaW5k
KHRoaXMpKTsKLQotICAgICAgICBmdW5jdGlvbiBkaWRHZXRBbGxTdHlsZVNoZWV0cyhlcnJvciwg
aW5mb3MpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGlmIChlcnJvcikgewotICAgICAgICAgICAg
ICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJFcnJvcjoiICsgZXJyb3IpOwotICAgICAgICAg
ICAgICAgIGNhbGxiYWNrKG51bGwpOwotICAgICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAg
ICAgIH0KLQotICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBpbmZvcy5sZW5ndGg7ICsr
aSkgewotICAgICAgICAgICAgICAgIHZhciBpbmZvID0gaW5mb3NbaV07Ci0gICAgICAgICAgICAg
ICAgaWYgKGluZm8uc291cmNlVVJMLmluZGV4T2YoInN0eWxlcy1oaXN0b3J5LmNzcyIpID09PSAt
MSkKLSAgICAgICAgICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAgICAgICAgV2ViSW5z
cGVjdG9yLkNTU1N0eWxlU2hlZXQuY3JlYXRlRm9ySWQoaW5mby5zdHlsZVNoZWV0SWQsIGNhbGxi
YWNrKTsKLSAgICAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAg
ICBjYWxsYmFjayhudWxsKTsKLSAgICAgICAgfQotICAgIH0KLQotICAgIGZ1bmN0aW9uIGR1bXBI
aXN0b3J5KG5leHQpCi0gICAgewotICAgICAgICBmdW5jdGlvbiByZXN1bHQoKQotICAgICAgICB7
Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiSGlzdG9yeSBsZW5ndGg6ICIg
KyB1aVNvdXJjZUNvZGUuaGlzdG9yeS5sZW5ndGgpOwotICAgICAgICAgICAgZm9yICh2YXIgaSA9
IDA7IGkgPCB1aVNvdXJjZUNvZGUuaGlzdG9yeS5sZW5ndGg7ICsraSkgewotICAgICAgICAgICAg
ICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJJdGVtICIgKyBpICsgIjoiKTsKLSAgICAgICAg
ICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCh1aVNvdXJjZUNvZGUuaGlzdG9yeVtpXS5j
b250ZW50KTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIG5leHQoKTsKLSAgICAgICAgfQot
ICAgICAgICByZXR1cm4gcmVzdWx0OwotICAgIH0KLX0KLQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci0K
LTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxwPgotVGVzdHMgcmVzb3VyY2VzIHBhbmVsIGhp
c3RvcnkuCi08L3A+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bnNwZWN0b3Ivc3R5bGVzL3N0eWxlcy1pZnJhbWUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yL3N0eWxlcy9zdHlsZXMtaWZyYW1lLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMjZkMDAwNDgwYTgyOGI4NzNhMjM3ZjdmMTU1YzZmMDUxZDc2ZDM2
Zi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3Ivc3R5bGVzL3N0eWxlcy1pZnJhbWUtZXhwZWN0ZWQudHh0CisrKyAvZGV2
L251bGwKQEAgLTEsMzYgKzAsMCBAQAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDk6IGlmcmFtZSBs
b2FkZWQKLVRlc3RzIHRoYXQgcHJvcGVyIChhbmQgZGlmZmVyZW50KSBzdHlsZXMgYXJlIHJldHVy
bmVkIGZvciBib2R5IGVsZW1lbnRzIG9mIG1haW4gZG9jdW1lbnQgYW5kIGlmcmFtZS4KLQotCi1N
YWluIGZyYW1lIHN0eWxlOgotW2V4cGFuZGVkXSAKLWVsZW1lbnQuc3R5bGUgIHsgKCkKLQotPT09
PT09PT0gTWF0Y2hlZCBDU1MgUnVsZXMgPT09PT09PT0KLVtleHBhbmRlZF0gCi1tZWRpYT0ic2Ny
ZWVuIiAoc3R5bGVzLWlmcmFtZS5odG1sKQotI21haW4gIHsgKHN0eWxlcy1pZnJhbWUuaHRtbDo1
KQotYmFja2dyb3VuZDogYmx1ZTsKLQotW2V4cGFuZGVkXSAKLWRpdiAgeyAodXNlciBhZ2VudCBz
dHlsZXNoZWV0KQotZGlzcGxheTogYmxvY2s7Ci0KLQotaWZyYW1lIHN0eWxlOgotW2V4cGFuZGVk
XSAKLWVsZW1lbnQuc3R5bGUgIHsgKCkKLQotPT09PT09PT0gTWF0Y2hlZCBDU1MgUnVsZXMgPT09
PT09PT0KLVtleHBhbmRlZF0gCi1tZWRpYT0ic2NyZWVuIiAoc3R5bGVzLWlmcmFtZS1kYXRhLmh0
bWwpCi1ib2R5ICB7IChzdHlsZXMtaWZyYW1lLWRhdGEuaHRtbDo0KQotYmFja2dyb3VuZDogZ3Jl
ZW47Ci0KLVtleHBhbmRlZF0gCi1ib2R5ICB7ICh1c2VyIGFnZW50IHN0eWxlc2hlZXQpCi1kaXNw
bGF5OiBibG9jazsKLW1hcmdpbjogOHB4OwotCi0KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yL3N0eWxlcy9zdHlsZXMtaWZyYW1lLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0
b3Ivc3R5bGVzL3N0eWxlcy1pZnJhbWUuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggN2VkMTk1NTg1NWU4NDBjZWY1ZDJkYzk4NTNhYjJkZTA3NGY3Y2NmMi4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Iv
c3R5bGVzL3N0eWxlcy1pZnJhbWUuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDUzICswLDAgQEAK
LTxodG1sPgotPGhlYWQ+Ci0KLTxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyIgbWVkaWE9InNjcmVlbiI+
Ci0gICNtYWluIHsgYmFja2dyb3VuZDpibHVlOyB9Ci08L3N0eWxlPgotCi08c2NyaXB0IHNyYz0i
Li4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzLXRlc3QuanMi
Pjwvc2NyaXB0PgotPHNjcmlwdD4KLQotZnVuY3Rpb24gbG9hZElmcmFtZSgpCi17Ci0gICAgdmFy
IGlmcmFtZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlmcmFtZSIpOwotICAgIGlmcmFtZS5z
cmMgPSAicmVzb3VyY2VzL3N0eWxlcy1pZnJhbWUtZGF0YS5odG1sIjsKLSAgICBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgibWFpbiIpLmFwcGVuZENoaWxkKGlmcmFtZSk7Ci19Ci0KLWZ1bmN0aW9u
IHRlc3QoKQotewotICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoImxvYWRJZnJhbWUo
KSIpOwotICAgIEluc3BlY3RvclRlc3QuYWRkQ29uc29sZVNuaWZmZXIoc3RlcDApOwotCi0gICAg
ZnVuY3Rpb24gc3RlcDAoKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5zZWxlY3ROb2Rl
QW5kV2FpdEZvclN0eWxlcygibWFpbiIsIHN0ZXAxKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBz
dGVwMSgpCi0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiTWFpbiBmcmFt
ZSBzdHlsZToiKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wU2VsZWN0ZWRFbGVtZW50U3R5
bGVzKHRydWUsIGZhbHNlLCB0cnVlKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5zZWxlY3ROb2Rl
QW5kV2FpdEZvclN0eWxlcygiaWZyYW1lQm9keSIsIHN0ZXAyKTsKLSAgICB9Ci0KLSAgICBmdW5j
dGlvbiBzdGVwMigpCi0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiaWZy
YW1lIHN0eWxlOiIpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBTZWxlY3RlZEVsZW1lbnRT
dHlsZXModHJ1ZSwgZmFsc2UsIHRydWUpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRl
VGVzdCgpOwotICAgIH0KLX0KLTwvc2NyaXB0PgotPC9oZWFkPgotCi08Ym9keSBvbmxvYWQ9InJ1
blRlc3QoKSI+Ci08cD4KLVRlc3RzIHRoYXQgcHJvcGVyIChhbmQgZGlmZmVyZW50KSBzdHlsZXMg
YXJlIHJldHVybmVkIGZvciBib2R5IGVsZW1lbnRzIG9mIG1haW4gZG9jdW1lbnQgYW5kIGlmcmFt
ZS4KLTwvcD4KLQotPGRpdiBpZD0ibWFpbiI+PC9kaXY+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Ivc3R5bGVzL3N0eWxlcy1pbmNsdWRlLWhvc3Qt
cnVsZXMtY3Jhc2gtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0eWxlcy9z
dHlsZXMtaW5jbHVkZS1ob3N0LXJ1bGVzLWNyYXNoLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggNjI4OGI5NzZlNDE3YjdjYzVlMGQyN2M5NmY0M2MwMDIwNGM0MGJi
MC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3Ivc3R5bGVzL3N0eWxlcy1pbmNsdWRlLWhvc3QtcnVsZXMtY3Jhc2gtZXhw
ZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTcgKzAsMCBAQAotW2J1ZyAxMDIxMTZdIC0g
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMjExNiAtIEFTU0VSVF9O
T1RfUkVBQ0hFRCgpIHdoZW4gYnVpbGRpbmcgYSBDU1NPTSB3cmFwcGVyIGZvciBTdHlsZVJ1bGVI
b3N0LiBJZiB0aGlzIHRlc3QgcGFzc2VzLCBubyBjcmFzaCBvY2N1cnMuCi0KLUZvbwotW2V4cGFu
ZGVkXSAKLWRpc3BsYXk6IGJsb2NrOwotICAgIGRpdiAtIGJsb2NrIHVzZXIgYWdlbnQgc3R5bGVz
aGVldAotCi1bZXhwYW5kZWRdIAotZWxlbWVudC5zdHlsZSAgeyAoKQotCi09PT09PT09PSBNYXRj
aGVkIENTUyBSdWxlcyA9PT09PT09PQotW2V4cGFuZGVkXSAKLWRpdiAgeyAodXNlciBhZ2VudCBz
dHlsZXNoZWV0KQotZGlzcGxheTogYmxvY2s7Ci0KLQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbnNwZWN0b3Ivc3R5bGVzL3N0eWxlcy1pbmNsdWRlLWhvc3QtcnVsZXMtY3Jhc2guaHRtbCBi
L0xheW91dFRlc3RzL2luc3BlY3Rvci9zdHlsZXMvc3R5bGVzLWluY2x1ZGUtaG9zdC1ydWxlcy1j
cmFzaC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0YzE4MWExYjQ5MDhhNGQ3
NTViZWZiZWY5MTc0NTAwYjM5MzM1Mjk0Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9zdHlsZXMvc3R5bGVzLWluY2x1
ZGUtaG9zdC1ydWxlcy1jcmFzaC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNDIgKzAsMCBAQAot
PGh0bWw+Ci08aGVhZD4KLTxzdHlsZT4KLUBob3N0IHsKLSAgICBkaXYgeyBib3JkZXI6IDFweCBz
b2xpZCBibHVlOyB9Ci19Ci0KLUBob3N0LmRpdiB7Ci0gIG9wYWNpdHk6IDA7Ci19Ci08L3N0eWxl
PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0
LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9l
bGVtZW50cy10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci0KLWZ1bmN0aW9uIHRlc3QoKQot
ewotICAgIEluc3BlY3RvclRlc3Quc2VsZWN0Tm9kZUFuZFdhaXRGb3JTdHlsZXNXaXRoQ29tcHV0
ZWQoImZvbyIsIHN0ZXAxKTsKLQotICAgIGZ1bmN0aW9uIHN0ZXAxKCkKLSAgICB7Ci0gICAgICAg
IEluc3BlY3RvclRlc3QuZHVtcFNlbGVjdGVkRWxlbWVudFN0eWxlcyhmYWxzZSwgZmFsc2UpOwot
ICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwotICAgIH0KLX0KLQotPC9zY3Jp
cHQ+Ci08L2hlYWQ+Ci0KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxwPgotW2J1ZyAxMDIx
MTZdIC0gPGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEw
MjExNiI+aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMjExNjwvYT4g
LQotQVNTRVJUX05PVF9SRUFDSEVEKCkgd2hlbiBidWlsZGluZyBhIENTU09NIHdyYXBwZXIgZm9y
IFN0eWxlUnVsZUhvc3QuCi1JZiB0aGlzIHRlc3QgcGFzc2VzLCBubyBjcmFzaCBvY2N1cnMuCi08
L3A+Ci0KLTxkaXYgaWQ9ImNvbnRhaW5lciI+Ci0gICAgPGRpdiBpZD0iZm9vIj5Gb288L2Rpdj4K
LTwvZGl2PgotCi08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3Ivc3R5bGVzL3N0eWxlcy1pbnZhbGlkLWNvbG9yLXZhbHVlcy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9pbnNwZWN0b3Ivc3R5bGVzL3N0eWxlcy1pbnZhbGlkLWNvbG9yLXZhbHVlcy1l
eHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDhhNTUyODBlOWEzYTM4
ZTBjMDRlYzI0ZDNhY2ExNjJjMzNmYTdlMDQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0eWxlcy9zdHlsZXMtaW52
YWxpZC1jb2xvci12YWx1ZXMtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNzkgKzAs
MCBAQAotVGVzdHMgdGhhdCB0aGUgZGlzcGxheWVkIHN0cmluZyBmb3IgY29sb3JzIGNvcnJlY3Rs
eSBoYW5kbGVzIGNsaXBwZWQgQ1NTIHZhbHVlcyBhbmQgUkdCIHBlcmNlbnRhZ2VzLgotCi0KLVJ1
bm5pbmc6IHRlc3RDb2xvcnMKLQotY29sb3I6IHJlZAotICBzaW1wbGU6IHRydWUKLSAgb3JpZ2lu
YWw6IHJlZAotICBuaWNrbmFtZTogcmVkCi0gIGhleDogI0ZGMDAwMAotICBzaG9ydGhleDogI0Yw
MAotICByZ2I6IHJnYigyNTUsIDAsIDApCi0gIGhzbDogaHNsKDAsIDEwMCUsIDUwJSkKLQotY29s
b3I6ICNGMDAKLSAgc2ltcGxlOiB0cnVlCi0gIG9yaWdpbmFsOiAjRjAwCi0gIG5pY2tuYW1lOiBy
ZWQKLSAgaGV4OiAjRkYwMDAwCi0gIHNob3J0aGV4OiAjRjAwCi0gIHJnYjogcmdiKDI1NSwgMCwg
MCkKLSAgaHNsOiBoc2woMCwgMTAwJSwgNTAlKQotCi1jb2xvcjogcmdiKDI1NSwwLDApCi0gIHNp
bXBsZTogdHJ1ZQotICBvcmlnaW5hbDogcmdiKDI1NSwwLDApCi0gIG5pY2tuYW1lOiByZWQKLSAg
aGV4OiAjRkYwMDAwCi0gIHNob3J0aGV4OiAjRjAwCi0gIHJnYjogcmdiKDI1NSwgMCwgMCkKLSAg
aHNsOiBoc2woMCwgMTAwJSwgNTAlKQotCi1jb2xvcjogcmdiKDMwMCwwLDApCi0gIHNpbXBsZTog
dHJ1ZQotICBvcmlnaW5hbDogcmdiKDMwMCwwLDApCi0gIG5pY2tuYW1lOiByZWQKLSAgaGV4OiAj
RkYwMDAwCi0gIHNob3J0aGV4OiAjRjAwCi0gIHJnYjogcmdiKDI1NSwgMCwgMCkKLSAgaHNsOiBo
c2woMCwgMTAwJSwgNTAlKQotCi1jb2xvcjogcmdiKDI1NSwtMTAsMCkKLSAgc2ltcGxlOiB0cnVl
Ci0gIG9yaWdpbmFsOiByZ2IoMjU1LC0xMCwwKQotICBuaWNrbmFtZTogcmVkCi0gIGhleDogI0ZG
MDAwMAotICBzaG9ydGhleDogI0YwMAotICByZ2I6IHJnYigyNTUsIDAsIDApCi0gIGhzbDogaHNs
KDAsIDEwMCUsIDUwJSkKLQotY29sb3I6IHJnYigxMTAlLCAwJSwgMCUpCi0gIHNpbXBsZTogdHJ1
ZQotICBvcmlnaW5hbDogcmdiKDExMCUsIDAlLCAwJSkKLSAgbmlja25hbWU6IHJlZAotICBoZXg6
ICNGRjAwMDAKLSAgc2hvcnRoZXg6ICNGMDAKLSAgcmdiOiByZ2IoMjU1LCAwLCAwKQotICBoc2w6
IGhzbCgwLCAxMDAlLCA1MCUpCi0KLWNvbG9yOiByZ2JhKDI1NSwgMCwgMCwgLTUpCi0gIHNpbXBs
ZTogZmFsc2UKLSAgb3JpZ2luYWw6IHJnYmEoMjU1LCAwLCAwLCAtNSkKLSAgcmdiOiByZ2IoMjU1
LCAwLCAwKQotICByZ2JhOiByZ2JhKDI1NSwgMCwgMCwgMCkKLSAgaHNsOiBoc2woMCwgMTAwJSwg
NTAlKQotICBoc2xhOiBoc2xhKDAsIDEwMCUsIDUwJSwgMCkKLQotY29sb3I6IHJnYmEoMjU1LCAw
LCAwLCA1KQotICBzaW1wbGU6IGZhbHNlCi0gIG9yaWdpbmFsOiByZ2JhKDI1NSwgMCwgMCwgNSkK
LSAgcmdiOiByZ2IoMjU1LCAwLCAwKQotICByZ2JhOiByZ2JhKDI1NSwgMCwgMCwgMSkKLSAgaHNs
OiBoc2woMCwgMTAwJSwgNTAlKQotICBoc2xhOiBoc2xhKDAsIDEwMCUsIDUwJSwgMSkKLQotUnVu
bmluZzogdGVzdEludmFsaWRDb2xvcnMKLQotU1VDQ0VTUzogcGFyc2VkIGludmFsaWQgY29sb3Ig
bm9uZSB0byBudWxsCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9zdHlsZXMv
c3R5bGVzLWludmFsaWQtY29sb3ItdmFsdWVzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Iv
c3R5bGVzL3N0eWxlcy1pbnZhbGlkLWNvbG9yLXZhbHVlcy5odG1sCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCBhMGY3YmQyYjExMDBmYTY4YjIzYjk5MjQzN2M2Y2FiZmM1ZDE5NWVlLi4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2luc3BlY3Rvci9zdHlsZXMvc3R5bGVzLWludmFsaWQtY29sb3ItdmFsdWVzLmh0bWwKKysrIC9k
ZXYvbnVsbApAQCAtMSw5MiArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4u
Ly4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9lbGVtZW50cy10ZXN0LmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQ+Ci1mdW5jdGlvbiB0ZXN0KCkKLXsKLSAgICB2YXIgY29sb3JzID0g
WwotICAgICAgICAvLyBFYWNoIG9mIHRoZXNlIGlzIHJlZC4gU29tZSBtYXkgbmVlZCB0byBiZSBj
bGlwcGVkIHRvIFswLCAyNTVdLgotICAgICAgICAncmVkJywKLSAgICAgICAgJyNGMDAnLAotICAg
ICAgICAncmdiKDI1NSwwLDApJywKLSAgICAgICAgJ3JnYigzMDAsMCwwKScsICAgICAgICAvLyBj
bGlwcGVkIHRvIHJnYigyNTUsMCwwKQotICAgICAgICAncmdiKDI1NSwtMTAsMCknLCAgICAgIC8v
IGNsaXBwZWQgdG8gcmdiKDI1NSwwLDApCi0gICAgICAgICdyZ2IoMTEwJSwgMCUsIDAlKScsICAg
Ly8gY2xpcHBlZCB0byByZ2IoMTAwJSwwJSwwJSkKLQotICAgICAgICAvLyBFYWNoIG9mIHRoZXNl
IGhhcyB0aGVpciBhbHBoYSBjbGlwcGVkIFswLjAsIDEuMF0uCi0gICAgICAgICdyZ2JhKDI1NSwg
MCwgMCwgLTUpJywgLy8gY2xpcHBlZCB0byByZ2JhKDI1NSwwLDAsMCkKLSAgICAgICAgJ3JnYmEo
MjU1LCAwLCAwLCA1KScsICAvLyBjbGlwcGVkIHRvIHJnYmEoMjU1LDAsMCwxKQotICAgICAgICBd
OwotCi0gICAgdmFyIGludmFsaWRDb2xvcnMgPSBbCi0gICAgICAgIC8vIEFuIGludmFsaWQgY29s
b3IsIGVnIGEgdmFsdWUgZm9yIGEgc2hvcnRoYW5kIGxpa2UgJ2JvcmRlcicgd2hpY2ggY2FuIGhh
dmUgYSBjb2xvcgotICAgICAgICAnbm9uZScsCi0gICAgXTsKLQotICAgIEluc3BlY3RvclRlc3Qu
cnVuVGVzdFN1aXRlKFsKLSAgICAgICAgZnVuY3Rpb24gdGVzdENvbG9ycyhuZXh0KQotICAgICAg
ICB7Ci0gICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGNvbG9ycy5sZW5ndGg7ICsraSkK
LSAgICAgICAgICAgICAgICBkdW1wQ29sb3JSZXByZXNlbnRhdGlvbnNGb3JDb2xvcihjb2xvcnNb
aV0pOwotICAgICAgICAgICAgbmV4dCgpOwotICAgICAgICB9LAotICAgICAgICBmdW5jdGlvbiB0
ZXN0SW52YWxpZENvbG9ycyhuZXh0KQotICAgICAgICB7Ci0gICAgICAgICAgICBmb3IgKHZhciBp
ID0gMDsgaSA8IGludmFsaWRDb2xvcnMubGVuZ3RoOyArK2kpCi0gICAgICAgICAgICAgICAgZHVt
cEVycm9yc0ZvckludmFsaWRDb2xvcihpbnZhbGlkQ29sb3JzW2ldKTsKLSAgICAgICAgICAgIG5l
eHQoKTsKLSAgICAgICAgfSwKLSAgICBdKTsKLQotICAgIGZ1bmN0aW9uIGR1bXBFcnJvcnNGb3JJ
bnZhbGlkQ29sb3IoY29sb3JTdHJpbmcpIAotICAgIHsKLSAgICAgICAgdmFyIGNvbG9yID0gV2Vi
SW5zcGVjdG9yLkNvbG9yLnBhcnNlKGNvbG9yU3RyaW5nKTsKLSAgICAgICAgaWYgKCFjb2xvcikg
ewotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIiIpOwotICAgICAgICAgICAg
SW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIlNVQ0NFU1M6IHBhcnNlZCBpbnZhbGlkIGNvbG9yICIg
KyBjb2xvclN0cmluZyArICIgdG8gbnVsbCIpOwotICAgICAgICAgICAgcmV0dXJuOwotICAgICAg
ICB9IGVsc2UgewotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIiIpOwotICAg
ICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIkZBSUw6IGludmFsaWQgY29sb3IgIiAr
IGNvbG9yU3RyaW5nICsgIiBkaWQgbm90IHBhcnNlIHRvIHRvIG51bGwiKTsKLSAgICAgICAgfQot
ICAgIH0KLQotICAgIGZ1bmN0aW9uIGR1bXBDb2xvclJlcHJlc2VudGF0aW9uc0ZvckNvbG9yKGNv
bG9yU3RyaW5nKQotICAgIHsKLSAgICAgICAgdmFyIGNvbG9yID0gV2ViSW5zcGVjdG9yLkNvbG9y
LnBhcnNlKGNvbG9yU3RyaW5nKTsKLSAgICAgICAgaWYgKCFjb2xvcikKLSAgICAgICAgICAgIHJl
dHVybjsKLQotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiIik7Ci0gICAgICAgIElu
c3BlY3RvclRlc3QuYWRkUmVzdWx0KCJjb2xvcjogIiArIGNvbG9yU3RyaW5nKTsKLSAgICAgICAg
SW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIiAgc2ltcGxlOiAiICsgY29sb3Iuc2ltcGxlKTsKLSAg
ICAgICAgdmFyIGNmID0gV2ViSW5zcGVjdG9yLkNvbG9yLkZvcm1hdDsKLSAgICAgICAgZm9yICh2
YXIgY29sb3JGb3JtYXRLZXkgaW4gY2YpIHsKLSAgICAgICAgICAgIHZhciBjb2xvckZvcm1hdCA9
IGNmW2NvbG9yRm9ybWF0S2V5XTsKLSAgICAgICAgICAgIC8vIFNpbXBsZSBjb2xvcnMgZG8gbm90
IGhhdmUgUkdCQSBhbmQgSFNMQSByZXByZXNlbnRhdGlvbnMuCi0gICAgICAgICAgICBpZiAoY29s
b3Iuc2ltcGxlICYmIChjb2xvckZvcm1hdCA9PT0gY2YuUkdCQSB8fCBjb2xvckZvcm1hdCA9PT0g
Y2YuSFNMQSkpCi0gICAgICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAgICAvLyBBZHZh
bmNlZCBjb2xvcnMgZG8gbm90IGhhdmUgSEVYIHJlcHJlc2VudGF0aW9ucy4KLSAgICAgICAgICAg
IGlmICghY29sb3Iuc2ltcGxlICYmIChjb2xvckZvcm1hdCA9PT0gY2YuU2hvcnRIRVggfHwgY29s
b3JGb3JtYXQgPT09IGNmLkhFWCkpCi0gICAgICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAg
ICAgICAvLyBJZiB0aGVyZSBpcyBubyBTaG9ydEhFWCB0aGVuIHNraXAgaXQuCi0gICAgICAgICAg
ICBpZiAoY29sb3JGb3JtYXQgPT09IGNmLlNob3J0SEVYICYmICFjb2xvci5oYXNTaG9ydEhleCgp
KQotICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICAgICAgLy8gSWYgdGhlcmUgaXMg
bm8gbmlja25hbWUsIHRoZW4gc2tpcCBpdC4KLSAgICAgICAgICAgIGlmIChjb2xvckZvcm1hdCA9
PT0gY2YuTmlja25hbWUgJiYgIWNvbG9yLm5pY2tuYW1lKQotICAgICAgICAgICAgICAgIGNvbnRp
bnVlOwotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoJyAgJyArIGNvbG9yRm9y
bWF0ICsgIjogIiArIGNvbG9yLnRvU3RyaW5nKGNvbG9yRm9ybWF0KSk7Ci0gICAgICAgIH0KLSAg
ICB9Ci19Ci08L3NjcmlwdD4KLTwvaGVhZD4KLQotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgot
PHA+Ci1UZXN0cyB0aGF0IHRoZSBkaXNwbGF5ZWQgc3RyaW5nIGZvciBjb2xvcnMgY29ycmVjdGx5
IGhhbmRsZXMgY2xpcHBlZCBDU1MgdmFsdWVzIGFuZCBSR0IgcGVyY2VudGFnZXMuCi08L3A+Ci0K
LTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9zdHls
ZXMvc3R5bGVzLW5ldy1BUEktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0
eWxlcy9zdHlsZXMtbmV3LUFQSS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IGZkNzk0YTQ4OTM2YmYyMzRjNGU1YzdkYzNiNjFmODQ3NjRhYzRhYWIuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yL3N0eWxlcy9zdHlsZXMtbmV3LUFQSS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAt
MSw1MzEgKzAsMCBAQAotVGVzdHMgdGhhdCBJbnNwZWN0b3JDU1NBZ2VudCBBUEkgbWV0aG9kcyB3
b3JrIGFzIGV4cGVjdGVkLgotCi1IMQotCi0KLT09PSBDb21wdXRlZCBzdHlsZSBwcm9wZXJ0eSBj
b3VudCBmb3IgYm9keSA9PT0KLU9LCi0KLT09PSBNYXRjaGVkIHJ1bGVzIGZvciBib2R5ID09PQot
Ym9keTogW3VzZXItYWdlbnRdIHsKLSAgICBbJ2Rpc3BsYXknOidibG9jayddIEBbdW5kZWZpbmVk
LXVuZGVmaW5lZF0gc3R5bGUKLSAgICBbJ21hcmdpbi10b3AnOic4cHgnXSBAW3VuZGVmaW5lZC11
bmRlZmluZWRdIHN0eWxlCi0gICAgWydtYXJnaW4tcmlnaHQnOic4cHgnXSBAW3VuZGVmaW5lZC11
bmRlZmluZWRdIHN0eWxlCi0gICAgWydtYXJnaW4tYm90dG9tJzonOHB4J10gQFt1bmRlZmluZWQt
dW5kZWZpbmVkXSBzdHlsZQotICAgIFsnbWFyZ2luLWxlZnQnOic4cHgnXSBAW3VuZGVmaW5lZC11
bmRlZmluZWRdIHN0eWxlCi19Ci1ib2R5OiBbcmVndWxhciwgMjA6MC0yMDo0XSB7Ci0gICAgWydw
cm9wZXJ0eSc6J2ltcG9ydGVkLW1lZGlhLXNjcmVlbi1zdHlsZXNoZWV0JyBub24tcGFyc2VkXSBA
WzIxOjQtMjE6NDddIGFjdGl2ZQotfQotYm9keTogW3JlZ3VsYXIsIDIwOjAtMjA6NF0gewotICAg
IFsncHJvcGVydHknOidpbXBvcnRlZC1tZWRpYS1zY3JlZW4tc3R5bGVzaGVldCcgbm9uLXBhcnNl
ZF0gQFsyMTo0LTIxOjQ3XSBhY3RpdmUKLX0KLWJvZHk6IFtyZWd1bGFyLCA5OjAtOTo0XSB7Ci0g
ICAgWydmb250LXNpemUnOicxMnB4J10gQFsxMDo0LTEwOjIwXSBhY3RpdmUKLSAgICBbJ2Zvbyc6
J2JhciAhCi0KLSAgICBpbXBvcnRhbnQgLyogIWltcG9ydGFudCBwcm9wZXJ0eSBub3QgcmVjb2du
aXplZCBieSBXZWJDb3JlICovJyBpcy1pbXBvcnRhbnQgbm9uLXBhcnNlZF0gQFsxMTo0LTEzOjY2
XSBhY3RpdmUKLSAgICBbJ2hlaWdodCc6JzEwMCUgIWltcG9ydGFudCcgaXMtaW1wb3J0YW50XSBA
WzE0OjQtMTQ6MjhdIGFjdGl2ZQotICAgIFsnY29sb3J6JzonIiFpbXBvcnRhbnQiJyBub24tcGFy
c2VkXSBAWzE1OjQtMTU6MjVdIGFjdGl2ZQotICAgIFsnaW1wb3J0YW50JzonIWltcG9ydGFudCcg
bm9uLXBhcnNlZF0gQFsxNjo0LTE2OjI1XSBhY3RpdmUKLSAgICBbJ2NvbG9yJzoneWVsbG93J10g
QFsxNzo0LTE3OjE4XSBhY3RpdmUKLSAgICBbJ2NvbG9yJzonImJhZGNvbG9yIiAhIGltcG9ydGFu
dCAvKiBnb29kIHByb3BlcnR5IHdpdGggc3RyYW5nZSB2YWx1ZSAqLycgaXMtaW1wb3J0YW50IG5v
bi1wYXJzZWRdIEBbMTg6NC0xODo3M10gYWN0aXZlCi19Ci1ib2R5Lm1haW4xOiBbcmVndWxhciwg
MjE6MjktMjE6NjddIHsKLSAgICBbJ2NvbG9yJzonI0YwMEJBQSddIEBbMjE6ODEtMjE6OTZdIGFj
dGl2ZQotICAgIFsnem9vJzonbW9vIC8qIG5vdCBhbiAhaW1wb3J0YW50IHVucmVjb2duaXplZCBw
cm9wZXJ0eSAqLycgbm9uLXBhcnNlZF0gQFsyMTo5Ni0yMToxNDldIGFjdGl2ZQotfQotYm9keS5t
YWluMjogW3JlZ3VsYXIsIDIzOjAtMjM6MTBdIHsKLSAgICBbJ2JhY2tncm91bmQnOidncmVlbiAv
KiB2YWx1ZSAhaW1wb3J0YW50IGNvbW1lbnQgKi8gIWltcG9ydGFudCAvKiBubyBzZW1pY29sb24s
IHZlcnkgIWltcG9ydGFudCAqLycgaXMtaW1wb3J0YW50XSBAWzIzOjExLTIzOjEwNl0gYWN0aXZl
Ci0gICAgWydiYWNrZ3JvdW5kLWltYWdlJzonaW5pdGlhbCcgaXMtaW1wb3J0YW50XSBAW3VuZGVm
aW5lZC11bmRlZmluZWRdIHN0eWxlCi0gICAgWydiYWNrZ3JvdW5kLXJlcGVhdC14JzonaW5pdGlh
bCcgaXMtaW1wb3J0YW50XSBAW3VuZGVmaW5lZC11bmRlZmluZWRdIHN0eWxlCi0gICAgWydiYWNr
Z3JvdW5kLXJlcGVhdC15JzonaW5pdGlhbCcgaXMtaW1wb3J0YW50XSBAW3VuZGVmaW5lZC11bmRl
ZmluZWRdIHN0eWxlCi0gICAgWydiYWNrZ3JvdW5kLWF0dGFjaG1lbnQnOidpbml0aWFsJyBpcy1p
bXBvcnRhbnRdIEBbdW5kZWZpbmVkLXVuZGVmaW5lZF0gc3R5bGUKLSAgICBbJ2JhY2tncm91bmQt
cG9zaXRpb24teCc6J2luaXRpYWwnIGlzLWltcG9ydGFudF0gQFt1bmRlZmluZWQtdW5kZWZpbmVk
XSBzdHlsZQotICAgIFsnYmFja2dyb3VuZC1wb3NpdGlvbi15JzonaW5pdGlhbCcgaXMtaW1wb3J0
YW50XSBAW3VuZGVmaW5lZC11bmRlZmluZWRdIHN0eWxlCi0gICAgWydiYWNrZ3JvdW5kLW9yaWdp
bic6J2luaXRpYWwnIGlzLWltcG9ydGFudF0gQFt1bmRlZmluZWQtdW5kZWZpbmVkXSBzdHlsZQot
ICAgIFsnYmFja2dyb3VuZC1jbGlwJzonaW5pdGlhbCcgaXMtaW1wb3J0YW50XSBAW3VuZGVmaW5l
ZC11bmRlZmluZWRdIHN0eWxlCi0gICAgWydiYWNrZ3JvdW5kLWNvbG9yJzonZ3JlZW4nIGlzLWlt
cG9ydGFudF0gQFt1bmRlZmluZWQtdW5kZWZpbmVkXSBzdHlsZQotICAgIFsnYmFja2dyb3VuZC1z
aXplJzonaW5pdGlhbCcgaXMtaW1wb3J0YW50XSBAW3VuZGVmaW5lZC11bmRlZmluZWRdIHN0eWxl
Ci19Ci1ib2R5Lm1haW5wYWdlOiBbcmVndWxhciwgMzowLTM6MTNdIHsKLSAgICBbJ3RleHQtZGVj
b3JhdGlvbic6J25vbmUnXSBAWzQ6NC00OjI2XSBhY3RpdmUKLSAgICBbJ2JhZHByb3BlcnR5Jzon
MWJhZHZhbHVlMScgbm9uLXBhcnNlZF0gQFs1OjUtNToyOV0gYWN0aXZlCi19Ci1ib2R5Lm1haW5w
YWdlOiBbcmVndWxhciwgODowLTg6MTNdIHsKLSAgICBbJ3Byb3AxJzondmFsMScgbm9uLXBhcnNl
ZF0gQFs5OjQtOToxNl0gYWN0aXZlCi0gICAgWydwcm9wMic6J3ZhbDInIG5vbi1wYXJzZWRdIEBb
MTA6NC0xMDoxNl0gYWN0aXZlCi19Ci0KLT09PSBQc2V1ZG8gcnVsZXMgZm9yIGJvZHkgPT09Ci1Q
c2V1ZG9JZD00Ci1ib2R5OjphZnRlcjogW3JlZ3VsYXIsIDI2OjAtMjY6MTFdIHsKLSAgICBbJ2Nv
bnRlbnQnOiciQWZ0ZXIgYm9keSInXSBAWzI3OjQtMjc6MjZdIGFjdGl2ZQotfQotCi09PT0gSW5o
ZXJpdGVkIHN0eWxlcyBmb3IgYm9keSA9PT0KLUxldmVsPTEKLVtOTyBTVFlMRV0KLWh0bWw6IFt1
c2VyLWFnZW50XSB7Ci0gICAgWydkaXNwbGF5JzonYmxvY2snXSBAW3VuZGVmaW5lZC11bmRlZmlu
ZWRdIHN0eWxlCi19Ci1odG1sOiBbcmVndWxhciwgNDowLTQ6NF0gewotICAgIFsnZm9udC13ZWln
aHQnOic0MDAnXSBAWzU6NC01OjIxXSBhY3RpdmUKLX0KLQotPT09IElubGluZSBzdHlsZSBmb3Ig
Ym9keSA9PT0KLVsnZm9udC13ZWlnaHQnOidub3JtYWwnXSBAWzA6MC0wOjIwXSBhY3RpdmUKLVsn
d2lkdGgnOic4NSUnXSBAWzA6MjEtMDozMl0gYWN0aXZlCi1bJ2JhY2tncm91bmQtaW1hZ2UnOid1
cmwoYmFyLnBuZyknXSBAWzA6MzMtMDo2M10gYWN0aXZlCi09PT0gQk9EWSB3aXRoIGZvcmNlZCA6
aG92ZXIgPT09Ci1ib2R5OiBbdXNlci1hZ2VudF0gewotICAgIFsnZGlzcGxheSc6J2Jsb2NrJ10g
QFt1bmRlZmluZWQtdW5kZWZpbmVkXSBzdHlsZQotICAgIFsnbWFyZ2luLXRvcCc6JzhweCddIEBb
dW5kZWZpbmVkLXVuZGVmaW5lZF0gc3R5bGUKLSAgICBbJ21hcmdpbi1yaWdodCc6JzhweCddIEBb
dW5kZWZpbmVkLXVuZGVmaW5lZF0gc3R5bGUKLSAgICBbJ21hcmdpbi1ib3R0b20nOic4cHgnXSBA
W3VuZGVmaW5lZC11bmRlZmluZWRdIHN0eWxlCi0gICAgWydtYXJnaW4tbGVmdCc6JzhweCddIEBb
dW5kZWZpbmVkLXVuZGVmaW5lZF0gc3R5bGUKLX0KLWJvZHk6IFtyZWd1bGFyLCAyMDowLTIwOjRd
IHsKLSAgICBbJ3Byb3BlcnR5JzonaW1wb3J0ZWQtbWVkaWEtc2NyZWVuLXN0eWxlc2hlZXQnIG5v
bi1wYXJzZWRdIEBbMjE6NC0yMTo0N10gYWN0aXZlCi19Ci1ib2R5OiBbcmVndWxhciwgMjA6MC0y
MDo0XSB7Ci0gICAgWydwcm9wZXJ0eSc6J2ltcG9ydGVkLW1lZGlhLXNjcmVlbi1zdHlsZXNoZWV0
JyBub24tcGFyc2VkXSBAWzIxOjQtMjE6NDddIGFjdGl2ZQotfQotYm9keTogW3JlZ3VsYXIsIDk6
MC05OjRdIHsKLSAgICBbJ2ZvbnQtc2l6ZSc6JzEycHgnXSBAWzEwOjQtMTA6MjBdIGFjdGl2ZQot
ICAgIFsnZm9vJzonYmFyICEKLQotICAgIGltcG9ydGFudCAvKiAhaW1wb3J0YW50IHByb3BlcnR5
IG5vdCByZWNvZ25pemVkIGJ5IFdlYkNvcmUgKi8nIGlzLWltcG9ydGFudCBub24tcGFyc2VkXSBA
WzExOjQtMTM6NjZdIGFjdGl2ZQotICAgIFsnaGVpZ2h0JzonMTAwJSAhaW1wb3J0YW50JyBpcy1p
bXBvcnRhbnRdIEBbMTQ6NC0xNDoyOF0gYWN0aXZlCi0gICAgWydjb2xvcnonOiciIWltcG9ydGFu
dCInIG5vbi1wYXJzZWRdIEBbMTU6NC0xNToyNV0gYWN0aXZlCi0gICAgWydpbXBvcnRhbnQnOich
aW1wb3J0YW50JyBub24tcGFyc2VkXSBAWzE2OjQtMTY6MjVdIGFjdGl2ZQotICAgIFsnY29sb3In
Oid5ZWxsb3cnXSBAWzE3OjQtMTc6MThdIGFjdGl2ZQotICAgIFsnY29sb3InOiciYmFkY29sb3Ii
ICEgaW1wb3J0YW50IC8qIGdvb2QgcHJvcGVydHkgd2l0aCBzdHJhbmdlIHZhbHVlICovJyBpcy1p
bXBvcnRhbnQgbm9uLXBhcnNlZF0gQFsxODo0LTE4OjczXSBhY3RpdmUKLX0KLWJvZHkubWFpbjE6
IFtyZWd1bGFyLCAyMToyOS0yMTo2N10gewotICAgIFsnY29sb3InOicjRjAwQkFBJ10gQFsyMTo4
MS0yMTo5Nl0gYWN0aXZlCi0gICAgWyd6b28nOidtb28gLyogbm90IGFuICFpbXBvcnRhbnQgdW5y
ZWNvZ25pemVkIHByb3BlcnR5ICovJyBub24tcGFyc2VkXSBAWzIxOjk2LTIxOjE0OV0gYWN0aXZl
Ci19Ci1ib2R5Lm1haW4yOiBbcmVndWxhciwgMjM6MC0yMzoxMF0gewotICAgIFsnYmFja2dyb3Vu
ZCc6J2dyZWVuIC8qIHZhbHVlICFpbXBvcnRhbnQgY29tbWVudCAqLyAhaW1wb3J0YW50IC8qIG5v
IHNlbWljb2xvbiwgdmVyeSAhaW1wb3J0YW50ICovJyBpcy1pbXBvcnRhbnRdIEBbMjM6MTEtMjM6
MTA2XSBhY3RpdmUKLSAgICBbJ2JhY2tncm91bmQtaW1hZ2UnOidpbml0aWFsJyBpcy1pbXBvcnRh
bnRdIEBbdW5kZWZpbmVkLXVuZGVmaW5lZF0gc3R5bGUKLSAgICBbJ2JhY2tncm91bmQtcmVwZWF0
LXgnOidpbml0aWFsJyBpcy1pbXBvcnRhbnRdIEBbdW5kZWZpbmVkLXVuZGVmaW5lZF0gc3R5bGUK
LSAgICBbJ2JhY2tncm91bmQtcmVwZWF0LXknOidpbml0aWFsJyBpcy1pbXBvcnRhbnRdIEBbdW5k
ZWZpbmVkLXVuZGVmaW5lZF0gc3R5bGUKLSAgICBbJ2JhY2tncm91bmQtYXR0YWNobWVudCc6J2lu
aXRpYWwnIGlzLWltcG9ydGFudF0gQFt1bmRlZmluZWQtdW5kZWZpbmVkXSBzdHlsZQotICAgIFsn
YmFja2dyb3VuZC1wb3NpdGlvbi14JzonaW5pdGlhbCcgaXMtaW1wb3J0YW50XSBAW3VuZGVmaW5l
ZC11bmRlZmluZWRdIHN0eWxlCi0gICAgWydiYWNrZ3JvdW5kLXBvc2l0aW9uLXknOidpbml0aWFs
JyBpcy1pbXBvcnRhbnRdIEBbdW5kZWZpbmVkLXVuZGVmaW5lZF0gc3R5bGUKLSAgICBbJ2JhY2tn
cm91bmQtb3JpZ2luJzonaW5pdGlhbCcgaXMtaW1wb3J0YW50XSBAW3VuZGVmaW5lZC11bmRlZmlu
ZWRdIHN0eWxlCi0gICAgWydiYWNrZ3JvdW5kLWNsaXAnOidpbml0aWFsJyBpcy1pbXBvcnRhbnRd
IEBbdW5kZWZpbmVkLXVuZGVmaW5lZF0gc3R5bGUKLSAgICBbJ2JhY2tncm91bmQtY29sb3InOidn
cmVlbicgaXMtaW1wb3J0YW50XSBAW3VuZGVmaW5lZC11bmRlZmluZWRdIHN0eWxlCi0gICAgWydi
YWNrZ3JvdW5kLXNpemUnOidpbml0aWFsJyBpcy1pbXBvcnRhbnRdIEBbdW5kZWZpbmVkLXVuZGVm
aW5lZF0gc3R5bGUKLX0KLWJvZHkubWFpbnBhZ2U6IFtyZWd1bGFyLCAzOjAtMzoxM10gewotICAg
IFsndGV4dC1kZWNvcmF0aW9uJzonbm9uZSddIEBbNDo0LTQ6MjZdIGFjdGl2ZQotICAgIFsnYmFk
cHJvcGVydHknOicxYmFkdmFsdWUxJyBub24tcGFyc2VkXSBAWzU6NS01OjI5XSBhY3RpdmUKLX0K
LWJvZHkubWFpbnBhZ2U6IFtyZWd1bGFyLCA4OjAtODoxM10gewotICAgIFsncHJvcDEnOid2YWwx
JyBub24tcGFyc2VkXSBAWzk6NC05OjE2XSBhY3RpdmUKLSAgICBbJ3Byb3AyJzondmFsMicgbm9u
LXBhcnNlZF0gQFsxMDo0LTEwOjE2XSBhY3RpdmUKLX0KLWJvZHk6aG92ZXI6IFtyZWd1bGFyLCAx
MzowLTEzOjEwXSB7Ci0gICAgWydjb2xvcic6JyNDREUnXSBAWzE0OjItMTQ6MTRdIGFjdGl2ZQot
fQotCi09PT0gQXR0cmlidXRlcyBzdHlsZSBmb3IgdGFibGUgPT09Ci1bJ3dpZHRoJzonNTAlJ10g
QFt1bmRlZmluZWQtdW5kZWZpbmVkXSBzdHlsZQotCi09PT0gU3R5bGVzaGVldC1mb3ItaW5saW5l
LXN0eWxlIHRleHQgPT09Ci0KLQotPT09IFN0eWxlc2hlZXQtZm9yLWlubGluZS1zdHlsZSBtb2Rp
ZmljYXRpb24gcmVzdWx0ID09PQotTm90U3VwcG9ydGVkRXJyb3IKLQotPT09IEFsbCBzdHlsZXNo
ZWV0cyA9PT0KLQotU3R5bGVTaGVldDogJ0BjaGFyc2V0ICJVVEYtOCI7Ci0KLUBpbXBvcnQgdXJs
KCJzdHlsZXMtbmV3LUFQSS0xLmNzcyIpOwotCi1odG1sIHsKLSAgICBmb250LXdlaWdodDogNDAw
OwotfQotCi1AbWVkaWEgc2NyZWVuIHsKLWJvZHkgewotICAgIGZvbnQtc2l6ZTogMTJweDsKLSAg
ICBmb286IGJhciAhCi0KLSAgICBpbXBvcnRhbnQgLyogIWltcG9ydGFudCBwcm9wZXJ0eSBub3Qg
cmVjb2duaXplZCBieSBXZWJDb3JlICovOwotICAgIGhlaWdodDogMTAwJSAhaW1wb3J0YW50Owot
ICAgIGNvbG9yejogIiFpbXBvcnRhbnQiOwotICAgIGltcG9ydGFudDohaW1wb3J0YW50OwotICAg
IGNvbG9yOiB5ZWxsb3c7Ci0gICAgY29sb3I6ICJiYWRjb2xvciIgISBpbXBvcnRhbnQgLyogZ29v
ZCBwcm9wZXJ0eSB3aXRoIHN0cmFuZ2UgdmFsdWUgKi87Ci19Ci0KLS8qIGNvbW1lbnQgYmVmb3Jl
IHNlbGVjdG9yICovYm9keS5tYWluMS8qIGNvbW1lbnQgYWZ0ZXIgc2VsZWN0b3IgKi97LyogY29t
bWVudCAqL2NvbG9yOiAjRjAwQkFBO3pvbzptb28gLyogbm90IGFuICFpbXBvcnRhbnQgdW5yZWNv
Z25pemVkIHByb3BlcnR5ICovfS8qIGNvbW1lbnQgKi8KLQotYm9keS5tYWluMntiYWNrZ3JvdW5k
OiBncmVlbiAvKiB2YWx1ZSAhaW1wb3J0YW50IGNvbW1lbnQgKi8gIWltcG9ydGFudCAvKiBubyBz
ZW1pY29sb24sIHZlcnkgIWltcG9ydGFudCAqL30KLX0KLQotYm9keTo6YWZ0ZXIgIHsKLSAgICBj
b250ZW50OiAiQWZ0ZXIgYm9keSI7Ci19Ci0KLWgxIHsKLSAgICBoZWlnaHQgOiAxMDAlIDsgYm9y
ZGVyOiAxcHggc29saWQ7IGJvcmRlci13aWR0aDogMnB4OyBiYWNrZ3JvdW5kLWNvbG9yIDogIzMz
RkYzMzsgZ29vZ2xlczogYWJyYTsgZm9vOiAuYmFyOyAtbW96LWdvb2c6IDEqKio7IGJvcmRlci13
aWR0aDogMHB4OwotfQotJwotaHRtbDogW3JlZ3VsYXIsIDQ6MC00OjRdIHsKLSAgICBbJ2ZvbnQt
d2VpZ2h0JzonNDAwJ10gQFs1OjQtNToyMV0gYWN0aXZlCi19Ci1ib2R5OiBbcmVndWxhciwgOTow
LTk6NF0gewotICAgIFsnZm9udC1zaXplJzonMTJweCddIEBbMTA6NC0xMDoyMF0gYWN0aXZlCi0g
ICAgWydmb28nOidiYXIgIQotCi0gICAgaW1wb3J0YW50IC8qICFpbXBvcnRhbnQgcHJvcGVydHkg
bm90IHJlY29nbml6ZWQgYnkgV2ViQ29yZSAqLycgaXMtaW1wb3J0YW50IG5vbi1wYXJzZWRdIEBb
MTE6NC0xMzo2Nl0gYWN0aXZlCi0gICAgWydoZWlnaHQnOicxMDAlICFpbXBvcnRhbnQnIGlzLWlt
cG9ydGFudF0gQFsxNDo0LTE0OjI4XSBhY3RpdmUKLSAgICBbJ2NvbG9yeic6JyIhaW1wb3J0YW50
Iicgbm9uLXBhcnNlZF0gQFsxNTo0LTE1OjI1XSBhY3RpdmUKLSAgICBbJ2ltcG9ydGFudCc6JyFp
bXBvcnRhbnQnIG5vbi1wYXJzZWRdIEBbMTY6NC0xNjoyNV0gYWN0aXZlCi0gICAgWydjb2xvcic6
J3llbGxvdyddIEBbMTc6NC0xNzoxOF0gYWN0aXZlCi0gICAgWydjb2xvcic6JyJiYWRjb2xvciIg
ISBpbXBvcnRhbnQgLyogZ29vZCBwcm9wZXJ0eSB3aXRoIHN0cmFuZ2UgdmFsdWUgKi8nIGlzLWlt
cG9ydGFudCBub24tcGFyc2VkXSBAWzE4OjQtMTg6NzNdIGFjdGl2ZQotfQotYm9keS5tYWluMTog
W3JlZ3VsYXIsIDIxOjI5LTIxOjY3XSB7Ci0gICAgWydjb2xvcic6JyNGMDBCQUEnXSBAWzIxOjgx
LTIxOjk2XSBhY3RpdmUKLSAgICBbJ3pvbyc6J21vbyAvKiBub3QgYW4gIWltcG9ydGFudCB1bnJl
Y29nbml6ZWQgcHJvcGVydHkgKi8nIG5vbi1wYXJzZWRdIEBbMjE6OTYtMjE6MTQ5XSBhY3RpdmUK
LX0KLWJvZHkubWFpbjI6IFtyZWd1bGFyLCAyMzowLTIzOjEwXSB7Ci0gICAgWydiYWNrZ3JvdW5k
JzonZ3JlZW4gLyogdmFsdWUgIWltcG9ydGFudCBjb21tZW50ICovICFpbXBvcnRhbnQgLyogbm8g
c2VtaWNvbG9uLCB2ZXJ5ICFpbXBvcnRhbnQgKi8nIGlzLWltcG9ydGFudF0gQFsyMzoxMS0yMzox
MDZdIGFjdGl2ZQotICAgIFsnYmFja2dyb3VuZC1pbWFnZSc6J2luaXRpYWwnIGlzLWltcG9ydGFu
dF0gQFt1bmRlZmluZWQtdW5kZWZpbmVkXSBzdHlsZQotICAgIFsnYmFja2dyb3VuZC1yZXBlYXQt
eCc6J2luaXRpYWwnIGlzLWltcG9ydGFudF0gQFt1bmRlZmluZWQtdW5kZWZpbmVkXSBzdHlsZQot
ICAgIFsnYmFja2dyb3VuZC1yZXBlYXQteSc6J2luaXRpYWwnIGlzLWltcG9ydGFudF0gQFt1bmRl
ZmluZWQtdW5kZWZpbmVkXSBzdHlsZQotICAgIFsnYmFja2dyb3VuZC1hdHRhY2htZW50JzonaW5p
dGlhbCcgaXMtaW1wb3J0YW50XSBAW3VuZGVmaW5lZC11bmRlZmluZWRdIHN0eWxlCi0gICAgWydi
YWNrZ3JvdW5kLXBvc2l0aW9uLXgnOidpbml0aWFsJyBpcy1pbXBvcnRhbnRdIEBbdW5kZWZpbmVk
LXVuZGVmaW5lZF0gc3R5bGUKLSAgICBbJ2JhY2tncm91bmQtcG9zaXRpb24teSc6J2luaXRpYWwn
IGlzLWltcG9ydGFudF0gQFt1bmRlZmluZWQtdW5kZWZpbmVkXSBzdHlsZQotICAgIFsnYmFja2dy
b3VuZC1vcmlnaW4nOidpbml0aWFsJyBpcy1pbXBvcnRhbnRdIEBbdW5kZWZpbmVkLXVuZGVmaW5l
ZF0gc3R5bGUKLSAgICBbJ2JhY2tncm91bmQtY2xpcCc6J2luaXRpYWwnIGlzLWltcG9ydGFudF0g
QFt1bmRlZmluZWQtdW5kZWZpbmVkXSBzdHlsZQotICAgIFsnYmFja2dyb3VuZC1jb2xvcic6J2dy
ZWVuJyBpcy1pbXBvcnRhbnRdIEBbdW5kZWZpbmVkLXVuZGVmaW5lZF0gc3R5bGUKLSAgICBbJ2Jh
Y2tncm91bmQtc2l6ZSc6J2luaXRpYWwnIGlzLWltcG9ydGFudF0gQFt1bmRlZmluZWQtdW5kZWZp
bmVkXSBzdHlsZQotfQotYm9keTo6YWZ0ZXI6IFtyZWd1bGFyLCAyNjowLTI2OjExXSB7Ci0gICAg
Wydjb250ZW50JzonIkFmdGVyIGJvZHkiJ10gQFsyNzo0LTI3OjI2XSBhY3RpdmUKLX0KLWgxOiBb
cmVndWxhciwgMzA6MC0zMDoyXSB7Ci0gICAgWydoZWlnaHQnOicxMDAlJ10gQFszMTo0LTMxOjE5
XSBhY3RpdmUKLSAgICBbJ2JvcmRlcic6JzFweCBzb2xpZCddIEBbMzE6MjAtMzE6MzhdIGFjdGl2
ZQotICAgIFsnYm9yZGVyLXdpZHRoJzonMnB4J10gQFszMTozOS0zMTo1N10gaW5hY3RpdmUKLSAg
ICBbJ2JhY2tncm91bmQtY29sb3InOicjMzNGRjMzJ10gQFszMTo1OC0zMTo4NV0gYWN0aXZlCi0g
ICAgWydnb29nbGVzJzonYWJyYScgbm9uLXBhcnNlZF0gQFszMTo4Ni0zMToxMDBdIGFjdGl2ZQot
ICAgIFsnZm9vJzonLmJhcicgbm9uLXBhcnNlZF0gQFszMToxMDEtMzE6MTExXSBhY3RpdmUKLSAg
ICBbJy1tb3otZ29vZyc6JzEqKionIG5vbi1wYXJzZWRdIEBbMzE6MTEyLTMxOjEyOF0gYWN0aXZl
Ci0gICAgWydib3JkZXItd2lkdGgnOicwcHgnXSBAWzMxOjEyOS0zMToxNDddIGFjdGl2ZQotICAg
IFsnYm9yZGVyLXRvcC1zdHlsZSc6J3NvbGlkJ10gQFt1bmRlZmluZWQtdW5kZWZpbmVkXSBzdHls
ZQotICAgIFsnYm9yZGVyLXJpZ2h0LXN0eWxlJzonc29saWQnXSBAW3VuZGVmaW5lZC11bmRlZmlu
ZWRdIHN0eWxlCi0gICAgWydib3JkZXItYm90dG9tLXN0eWxlJzonc29saWQnXSBAW3VuZGVmaW5l
ZC11bmRlZmluZWRdIHN0eWxlCi0gICAgWydib3JkZXItbGVmdC1zdHlsZSc6J3NvbGlkJ10gQFt1
bmRlZmluZWQtdW5kZWZpbmVkXSBzdHlsZQotICAgIFsnYm9yZGVyLXRvcC1jb2xvcic6J2luaXRp
YWwnXSBAW3VuZGVmaW5lZC11bmRlZmluZWRdIHN0eWxlCi0gICAgWydib3JkZXItcmlnaHQtY29s
b3InOidpbml0aWFsJ10gQFt1bmRlZmluZWQtdW5kZWZpbmVkXSBzdHlsZQotICAgIFsnYm9yZGVy
LWJvdHRvbS1jb2xvcic6J2luaXRpYWwnXSBAW3VuZGVmaW5lZC11bmRlZmluZWRdIHN0eWxlCi0g
ICAgWydib3JkZXItbGVmdC1jb2xvcic6J2luaXRpYWwnXSBAW3VuZGVmaW5lZC11bmRlZmluZWRd
IHN0eWxlCi0gICAgWydib3JkZXItaW1hZ2Utc291cmNlJzonaW5pdGlhbCddIEBbdW5kZWZpbmVk
LXVuZGVmaW5lZF0gc3R5bGUKLSAgICBbJ2JvcmRlci1pbWFnZS1zbGljZSc6J2luaXRpYWwnXSBA
W3VuZGVmaW5lZC11bmRlZmluZWRdIHN0eWxlCi0gICAgWydib3JkZXItaW1hZ2Utd2lkdGgnOidp
bml0aWFsJ10gQFt1bmRlZmluZWQtdW5kZWZpbmVkXSBzdHlsZQotICAgIFsnYm9yZGVyLWltYWdl
LW91dHNldCc6J2luaXRpYWwnXSBAW3VuZGVmaW5lZC11bmRlZmluZWRdIHN0eWxlCi0gICAgWydi
b3JkZXItaW1hZ2UtcmVwZWF0JzonaW5pdGlhbCddIEBbdW5kZWZpbmVkLXVuZGVmaW5lZF0gc3R5
bGUKLSAgICBbJ2JvcmRlci10b3Atd2lkdGgnOicwcHgnXSBAW3VuZGVmaW5lZC11bmRlZmluZWRd
IHN0eWxlCi0gICAgWydib3JkZXItcmlnaHQtd2lkdGgnOicwcHgnXSBAW3VuZGVmaW5lZC11bmRl
ZmluZWRdIHN0eWxlCi0gICAgWydib3JkZXItYm90dG9tLXdpZHRoJzonMHB4J10gQFt1bmRlZmlu
ZWQtdW5kZWZpbmVkXSBzdHlsZQotICAgIFsnYm9yZGVyLWxlZnQtd2lkdGgnOicwcHgnXSBAW3Vu
ZGVmaW5lZC11bmRlZmluZWRdIHN0eWxlCi19Ci0KLVN0eWxlU2hlZXQ6ICdAaW1wb3J0IHVybChz
dHlsZXMtbmV3LUFQSS0yLmNzcyk7Ci0KLUBwYWdlIHsgbWFyZ2luOiAyY20gfSAvKiBBbGwgbWFy
Z2lucyBzZXQgdG8gMmNtICovCi0KLUBwYWdlIDpmaXJzdCB7Ci0gIG1hcmdpbi10b3A6IDEwY20g
ICAgLyogVG9wIG1hcmdpbiBvbiBmaXJzdCBwYWdlIDEwY20gKi8KLX0KLQotQG1lZGlhIHNjcmVl
biB7Ci0KLSNhYnNlbnQtaWQgewotfQotCi1AZm9udC1mYWNlIHsKLSAgICBmb250LWZhbWlseTog
J1RoZUZvbnQnOwotICAgIHNyYzogdXJsKCdmb250LnVybCcpOwotICAgIGZvbnQtd2VpZ2h0OiBu
b3JtYWw7Ci0gICAgZm9udC1zdHlsZTogbm9ybWFsOwotfQotCi1ib2R5IHsKLSAgICBwcm9wZXJ0
eTogaW1wb3J0ZWQtbWVkaWEtc2NyZWVuLXN0eWxlc2hlZXQ7Ci19Ci0KLX0KLScKLSNhYnNlbnQt
aWQ6IFtyZWd1bGFyLCAxMDowLTEwOjEwXSB7Ci19Ci1ib2R5OiBbcmVndWxhciwgMjA6MC0yMDo0
XSB7Ci0gICAgWydwcm9wZXJ0eSc6J2ltcG9ydGVkLW1lZGlhLXNjcmVlbi1zdHlsZXNoZWV0JyBu
b24tcGFyc2VkXSBAWzIxOjQtMjE6NDddIGFjdGl2ZQotfQotCi1TdHlsZVNoZWV0OiAnQGltcG9y
dCB1cmwoc3R5bGVzLW5ldy1BUEktMS5jc3MpOwotCi1AcGFnZSB7IG1hcmdpbjogMmNtIH0gLyog
QWxsIG1hcmdpbnMgc2V0IHRvIDJjbSAqLwotCi1AcGFnZSA6Zmlyc3QgewotICBtYXJnaW4tdG9w
OiAxMGNtICAgIC8qIFRvcCBtYXJnaW4gb24gZmlyc3QgcGFnZSAxMGNtICovCi19Ci0KLUBtZWRp
YSBzY3JlZW4gewotCi0jYWJzZW50LWlkIHsKLX0KLQotQGZvbnQtZmFjZSB7Ci0gICAgZm9udC1m
YW1pbHk6ICdUaGVGb250JzsKLSAgICBzcmM6IHVybCgnZm9udC51cmwnKTsKLSAgICBmb250LXdl
aWdodDogbm9ybWFsOwotICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsKLX0KLQotYm9keSB7Ci0gICAg
cHJvcGVydHk6IGltcG9ydGVkLW1lZGlhLXNjcmVlbi1zdHlsZXNoZWV0OwotfQotCi19Ci0nCi0j
YWJzZW50LWlkOiBbcmVndWxhciwgMTA6MC0xMDoxMF0gewotfQotYm9keTogW3JlZ3VsYXIsIDIw
OjAtMjA6NF0gewotICAgIFsncHJvcGVydHknOidpbXBvcnRlZC1tZWRpYS1zY3JlZW4tc3R5bGVz
aGVldCcgbm9uLXBhcnNlZF0gQFsyMTo0LTIxOjQ3XSBhY3RpdmUKLX0KLQotU3R5bGVTaGVldDog
JwotCi0vKiBBbiBpbmxpbmUgc3R5bGVzaGVldCAqLwotYm9keS5tYWlucGFnZSB7Ci0gICAgdGV4
dC1kZWNvcmF0aW9uOiBub25lOyAvKiBhdCBsZWFzdCBvbmUgdmFsaWQgcHJvcGVydHkgaXMgbmVj
ZXNzYXJ5IGZvciBXZWJDb3JlIHRvIG1hdGNoIGEgcnVsZSAqLwotICAgIDtiYWRwcm9wZXJ0eTog
MWJhZHZhbHVlMTsKLX0KLQotYm9keS5tYWlucGFnZSB7Ci0gICAgcHJvcDE6IHZhbDE7Ci0gICAg
cHJvcDI6IHZhbDI7Ci19Ci0KLWJvZHk6aG92ZXIgewotICBjb2xvcjogI0NERTsKLX0KLScKLWJv
ZHkubWFpbnBhZ2U6IFtyZWd1bGFyLCAzOjAtMzoxM10gewotICAgIFsndGV4dC1kZWNvcmF0aW9u
Jzonbm9uZSddIEBbNDo0LTQ6MjZdIGFjdGl2ZQotICAgIFsnYmFkcHJvcGVydHknOicxYmFkdmFs
dWUxJyBub24tcGFyc2VkXSBAWzU6NS01OjI5XSBhY3RpdmUKLX0KLWJvZHkubWFpbnBhZ2U6IFty
ZWd1bGFyLCA4OjAtODoxM10gewotICAgIFsncHJvcDEnOid2YWwxJyBub24tcGFyc2VkXSBAWzk6
NC05OjE2XSBhY3RpdmUKLSAgICBbJ3Byb3AyJzondmFsMicgbm9uLXBhcnNlZF0gQFsxMDo0LTEw
OjE2XSBhY3RpdmUKLX0KLWJvZHk6aG92ZXI6IFtyZWd1bGFyLCAxMzowLTEzOjEwXSB7Ci0gICAg
Wydjb2xvcic6JyNDREUnXSBAWzE0OjItMTQ6MTRdIGFjdGl2ZQotfQotCi09PT0gTGFzdCBzdHls
ZXNoZWV0IHBhdGNoZWQgPT09Ci0KLVN0eWxlU2hlZXQ6ICdib2R5Lm1haW5wYWdlIHsgICAgdGV4
dC1kZWNvcmF0aW9uOiBzdHJpa2V0aHJvdWdoOyAgICBiYWRwcm9wZXJ0eTogMmJhZHZhbHVlMjt9
Ym9keSB7ICAgIHRleHQtYWxpZ246IGp1c3RpZnk7fScKLWJvZHkubWFpbnBhZ2U6IFtyZWd1bGFy
LCAwOjAtMDoxM10gewotICAgIFsndGV4dC1kZWNvcmF0aW9uJzonc3RyaWtldGhyb3VnaCcgbm9u
LXBhcnNlZF0gQFswOjE5LTA6NTBdIGFjdGl2ZQotICAgIFsnYmFkcHJvcGVydHknOicyYmFkdmFs
dWUyJyBub24tcGFyc2VkXSBAWzA6NTQtMDo3OF0gYWN0aXZlCi19Ci1ib2R5OiBbcmVndWxhciwg
MDo3OS0wOjgzXSB7Ci0gICAgWyd0ZXh0LWFsaWduJzonanVzdGlmeSddIEBbMDo4OS0wOjEwOV0g
YWN0aXZlCi19Ci0KLT09PSBBZnRlciBzZWxlY3RvciBzZXQgPT09Ci0KLVN0eWxlU2hlZXQ6ICdo
dG1sICosIGJvZHlbZm9vPSJiYXIiXSB7ICAgIHRleHQtZGVjb3JhdGlvbjogc3RyaWtldGhyb3Vn
aDsgICAgYmFkcHJvcGVydHk6IDJiYWR2YWx1ZTI7fWJvZHkgeyAgICB0ZXh0LWFsaWduOiBqdXN0
aWZ5O30nCi1odG1sICosIGJvZHlbZm9vPSJiYXIiXTogW3JlZ3VsYXIsIDA6MC0wOjIzXSB7Ci0g
ICAgWyd0ZXh0LWRlY29yYXRpb24nOidzdHJpa2V0aHJvdWdoJyBub24tcGFyc2VkXSBAWzA6Mjkt
MDo2MF0gYWN0aXZlCi0gICAgWydiYWRwcm9wZXJ0eSc6JzJiYWR2YWx1ZTInIG5vbi1wYXJzZWRd
IEBbMDo2NC0wOjg4XSBhY3RpdmUKLX0KLWJvZHk6IFtyZWd1bGFyLCAwOjg5LTA6OTNdIHsKLSAg
ICBbJ3RleHQtYWxpZ24nOidqdXN0aWZ5J10gQFswOjk5LTA6MTE5XSBhY3RpdmUKLX0KLQotPT09
IEFmdGVyIHByb3BlcnR5IHRleHQgc2V0ID09PQotCi1TdHlsZVNoZWV0OiAnaHRtbCAqLCBib2R5
W2Zvbz0iYmFyIl0gewotICAgIGNvbG9yOiB3aGl0ZTsgYmFja2dyb3VuZDogYmxhY2s7Ci19Ym9k
eSB7ICAgIHRleHQtYWxpZ246IGp1c3RpZnk7fScKLWh0bWwgKiwgYm9keVtmb289ImJhciJdOiBb
cmVndWxhciwgMDowLTA6MjNdIHsKLSAgICBbJ2NvbG9yJzond2hpdGUnXSBAWzE6NC0xOjE3XSBh
Y3RpdmUKLSAgICBbJ2JhY2tncm91bmQnOidibGFjayddIEBbMToxOC0xOjM2XSBhY3RpdmUKLSAg
ICBbJ2JhY2tncm91bmQtaW1hZ2UnOidpbml0aWFsJ10gQFt1bmRlZmluZWQtdW5kZWZpbmVkXSBz
dHlsZQotICAgIFsnYmFja2dyb3VuZC1yZXBlYXQteCc6J2luaXRpYWwnXSBAW3VuZGVmaW5lZC11
bmRlZmluZWRdIHN0eWxlCi0gICAgWydiYWNrZ3JvdW5kLXJlcGVhdC15JzonaW5pdGlhbCddIEBb
dW5kZWZpbmVkLXVuZGVmaW5lZF0gc3R5bGUKLSAgICBbJ2JhY2tncm91bmQtYXR0YWNobWVudCc6
J2luaXRpYWwnXSBAW3VuZGVmaW5lZC11bmRlZmluZWRdIHN0eWxlCi0gICAgWydiYWNrZ3JvdW5k
LXBvc2l0aW9uLXgnOidpbml0aWFsJ10gQFt1bmRlZmluZWQtdW5kZWZpbmVkXSBzdHlsZQotICAg
IFsnYmFja2dyb3VuZC1wb3NpdGlvbi15JzonaW5pdGlhbCddIEBbdW5kZWZpbmVkLXVuZGVmaW5l
ZF0gc3R5bGUKLSAgICBbJ2JhY2tncm91bmQtb3JpZ2luJzonaW5pdGlhbCddIEBbdW5kZWZpbmVk
LXVuZGVmaW5lZF0gc3R5bGUKLSAgICBbJ2JhY2tncm91bmQtY2xpcCc6J2luaXRpYWwnXSBAW3Vu
ZGVmaW5lZC11bmRlZmluZWRdIHN0eWxlCi0gICAgWydiYWNrZ3JvdW5kLWNvbG9yJzonYmxhY2sn
XSBAW3VuZGVmaW5lZC11bmRlZmluZWRdIHN0eWxlCi0gICAgWydiYWNrZ3JvdW5kLXNpemUnOidp
bml0aWFsJ10gQFt1bmRlZmluZWQtdW5kZWZpbmVkXSBzdHlsZQotfQotYm9keTogW3JlZ3VsYXIs
IDI6MS0yOjVdIHsKLSAgICBbJ3RleHQtYWxpZ24nOidqdXN0aWZ5J10gQFsyOjExLTI6MzFdIGFj
dGl2ZQotfQotCi09PT0gQWZ0ZXIgZmlyc3Qgc3R5bGUgdGV4dCBzZXQgPT09Ci0KLVN0eWxlU2hl
ZXQ6ICdodG1sICosIGJvZHlbZm9vPSJiYXIiXSB7fWJvZHkgeyAgICB0ZXh0LWFsaWduOiBqdXN0
aWZ5O30nCi1odG1sICosIGJvZHlbZm9vPSJiYXIiXTogW3JlZ3VsYXIsIDA6MC0wOjIzXSB7Ci19
Ci1ib2R5OiBbcmVndWxhciwgMDoyNi0wOjMwXSB7Ci0gICAgWyd0ZXh0LWFsaWduJzonanVzdGlm
eSddIEBbMDozNi0wOjU2XSBhY3RpdmUKLX0KLQotPT09IEFmdGVyIHNlY29uZCBzdHlsZSB0ZXh0
IHNldCA9PT0KLQotU3R5bGVTaGVldDogJ2h0bWwgKiwgYm9keVtmb289ImJhciJdIHtjb2xvcjog
Z3JlZW47IGJhY2tncm91bmQ6IHJlZDsgZm9vOiBiYXI7ICpiYXo6IGJhcjsgLyogQ29tbWVudCAq
LyBmb250LXdlaWdodDogYm9sZCAhaW1wb3J0YW50fWJvZHkgeyAgICB0ZXh0LWFsaWduOiBqdXN0
aWZ5O30nCi1odG1sICosIGJvZHlbZm9vPSJiYXIiXTogW3JlZ3VsYXIsIDA6MC0wOjIzXSB7Ci0g
ICAgWydjb2xvcic6J2dyZWVuJ10gQFswOjI1LTA6MzhdIGFjdGl2ZQotICAgIFsnYmFja2dyb3Vu
ZCc6J3JlZCddIEBbMDozOS0wOjU1XSBhY3RpdmUKLSAgICBbJ2Zvbyc6J2Jhcicgbm9uLXBhcnNl
ZF0gQFswOjU2LTA6NjVdIGFjdGl2ZQotICAgIFsnZm9udC13ZWlnaHQnOidib2xkICFpbXBvcnRh
bnQnIGlzLWltcG9ydGFudF0gQFswOjkxLTA6MTE5XSBhY3RpdmUKLSAgICBbJ2JhY2tncm91bmQt
aW1hZ2UnOidpbml0aWFsJ10gQFt1bmRlZmluZWQtdW5kZWZpbmVkXSBzdHlsZQotICAgIFsnYmFj
a2dyb3VuZC1yZXBlYXQteCc6J2luaXRpYWwnXSBAW3VuZGVmaW5lZC11bmRlZmluZWRdIHN0eWxl
Ci0gICAgWydiYWNrZ3JvdW5kLXJlcGVhdC15JzonaW5pdGlhbCddIEBbdW5kZWZpbmVkLXVuZGVm
aW5lZF0gc3R5bGUKLSAgICBbJ2JhY2tncm91bmQtYXR0YWNobWVudCc6J2luaXRpYWwnXSBAW3Vu
ZGVmaW5lZC11bmRlZmluZWRdIHN0eWxlCi0gICAgWydiYWNrZ3JvdW5kLXBvc2l0aW9uLXgnOidp
bml0aWFsJ10gQFt1bmRlZmluZWQtdW5kZWZpbmVkXSBzdHlsZQotICAgIFsnYmFja2dyb3VuZC1w
b3NpdGlvbi15JzonaW5pdGlhbCddIEBbdW5kZWZpbmVkLXVuZGVmaW5lZF0gc3R5bGUKLSAgICBb
J2JhY2tncm91bmQtb3JpZ2luJzonaW5pdGlhbCddIEBbdW5kZWZpbmVkLXVuZGVmaW5lZF0gc3R5
bGUKLSAgICBbJ2JhY2tncm91bmQtY2xpcCc6J2luaXRpYWwnXSBAW3VuZGVmaW5lZC11bmRlZmlu
ZWRdIHN0eWxlCi0gICAgWydiYWNrZ3JvdW5kLWNvbG9yJzoncmVkJ10gQFt1bmRlZmluZWQtdW5k
ZWZpbmVkXSBzdHlsZQotICAgIFsnYmFja2dyb3VuZC1zaXplJzonaW5pdGlhbCddIEBbdW5kZWZp
bmVkLXVuZGVmaW5lZF0gc3R5bGUKLX0KLWJvZHk6IFtyZWd1bGFyLCAwOjEyMC0wOjEyNF0gewot
ICAgIFsndGV4dC1hbGlnbic6J2p1c3RpZnknXSBAWzA6MTMwLTA6MTUwXSBhY3RpdmUKLX0KLQot
PT09IE1hdGNoZWQgcnVsZXMgYWZ0ZXIgcnVsZSBhZGRlZCA9PT0KLWJvZHk6IFt1c2VyLWFnZW50
XSB7Ci0gICAgWydkaXNwbGF5JzonYmxvY2snXSBAW3VuZGVmaW5lZC11bmRlZmluZWRdIHN0eWxl
Ci0gICAgWydtYXJnaW4tdG9wJzonOHB4J10gQFt1bmRlZmluZWQtdW5kZWZpbmVkXSBzdHlsZQot
ICAgIFsnbWFyZ2luLXJpZ2h0JzonOHB4J10gQFt1bmRlZmluZWQtdW5kZWZpbmVkXSBzdHlsZQot
ICAgIFsnbWFyZ2luLWJvdHRvbSc6JzhweCddIEBbdW5kZWZpbmVkLXVuZGVmaW5lZF0gc3R5bGUK
LSAgICBbJ21hcmdpbi1sZWZ0JzonOHB4J10gQFt1bmRlZmluZWQtdW5kZWZpbmVkXSBzdHlsZQot
fQotYm9keTogW3JlZ3VsYXIsIDIwOjAtMjA6NF0gewotICAgIFsncHJvcGVydHknOidpbXBvcnRl
ZC1tZWRpYS1zY3JlZW4tc3R5bGVzaGVldCcgbm9uLXBhcnNlZF0gQFsyMTo0LTIxOjQ3XSBhY3Rp
dmUKLX0KLWJvZHk6IFtyZWd1bGFyLCAyMDowLTIwOjRdIHsKLSAgICBbJ3Byb3BlcnR5JzonaW1w
b3J0ZWQtbWVkaWEtc2NyZWVuLXN0eWxlc2hlZXQnIG5vbi1wYXJzZWRdIEBbMjE6NC0yMTo0N10g
YWN0aXZlCi19Ci1ib2R5OiBbcmVndWxhciwgOTowLTk6NF0gewotICAgIFsnZm9udC1zaXplJzon
MTJweCddIEBbMTA6NC0xMDoyMF0gYWN0aXZlCi0gICAgWydmb28nOidiYXIgIQotCi0gICAgaW1w
b3J0YW50IC8qICFpbXBvcnRhbnQgcHJvcGVydHkgbm90IHJlY29nbml6ZWQgYnkgV2ViQ29yZSAq
LycgaXMtaW1wb3J0YW50IG5vbi1wYXJzZWRdIEBbMTE6NC0xMzo2Nl0gYWN0aXZlCi0gICAgWydo
ZWlnaHQnOicxMDAlICFpbXBvcnRhbnQnIGlzLWltcG9ydGFudF0gQFsxNDo0LTE0OjI4XSBhY3Rp
dmUKLSAgICBbJ2NvbG9yeic6JyIhaW1wb3J0YW50Iicgbm9uLXBhcnNlZF0gQFsxNTo0LTE1OjI1
XSBhY3RpdmUKLSAgICBbJ2ltcG9ydGFudCc6JyFpbXBvcnRhbnQnIG5vbi1wYXJzZWRdIEBbMTY6
NC0xNjoyNV0gYWN0aXZlCi0gICAgWydjb2xvcic6J3llbGxvdyddIEBbMTc6NC0xNzoxOF0gYWN0
aXZlCi0gICAgWydjb2xvcic6JyJiYWRjb2xvciIgISBpbXBvcnRhbnQgLyogZ29vZCBwcm9wZXJ0
eSB3aXRoIHN0cmFuZ2UgdmFsdWUgKi8nIGlzLWltcG9ydGFudCBub24tcGFyc2VkXSBAWzE4OjQt
MTg6NzNdIGFjdGl2ZQotfQotaHRtbCAqLCBib2R5W2Zvbz0iYmFyIl06IFtyZWd1bGFyLCAwOjAt
MDoyM10gewotICAgIFsnY29sb3InOidncmVlbiddIEBbMDoyNS0wOjM4XSBhY3RpdmUKLSAgICBb
J2JhY2tncm91bmQnOidyZWQnXSBAWzA6MzktMDo1NV0gYWN0aXZlCi0gICAgWydmb28nOidiYXIn
IG5vbi1wYXJzZWRdIEBbMDo1Ni0wOjY1XSBhY3RpdmUKLSAgICBbJ2ZvbnQtd2VpZ2h0JzonYm9s
ZCAhaW1wb3J0YW50JyBpcy1pbXBvcnRhbnRdIEBbMDo5MS0wOjExOV0gYWN0aXZlCi0gICAgWydi
YWNrZ3JvdW5kLWltYWdlJzonaW5pdGlhbCddIEBbdW5kZWZpbmVkLXVuZGVmaW5lZF0gc3R5bGUK
LSAgICBbJ2JhY2tncm91bmQtcmVwZWF0LXgnOidpbml0aWFsJ10gQFt1bmRlZmluZWQtdW5kZWZp
bmVkXSBzdHlsZQotICAgIFsnYmFja2dyb3VuZC1yZXBlYXQteSc6J2luaXRpYWwnXSBAW3VuZGVm
aW5lZC11bmRlZmluZWRdIHN0eWxlCi0gICAgWydiYWNrZ3JvdW5kLWF0dGFjaG1lbnQnOidpbml0
aWFsJ10gQFt1bmRlZmluZWQtdW5kZWZpbmVkXSBzdHlsZQotICAgIFsnYmFja2dyb3VuZC1wb3Np
dGlvbi14JzonaW5pdGlhbCddIEBbdW5kZWZpbmVkLXVuZGVmaW5lZF0gc3R5bGUKLSAgICBbJ2Jh
Y2tncm91bmQtcG9zaXRpb24teSc6J2luaXRpYWwnXSBAW3VuZGVmaW5lZC11bmRlZmluZWRdIHN0
eWxlCi0gICAgWydiYWNrZ3JvdW5kLW9yaWdpbic6J2luaXRpYWwnXSBAW3VuZGVmaW5lZC11bmRl
ZmluZWRdIHN0eWxlCi0gICAgWydiYWNrZ3JvdW5kLWNsaXAnOidpbml0aWFsJ10gQFt1bmRlZmlu
ZWQtdW5kZWZpbmVkXSBzdHlsZQotICAgIFsnYmFja2dyb3VuZC1jb2xvcic6J3JlZCddIEBbdW5k
ZWZpbmVkLXVuZGVmaW5lZF0gc3R5bGUKLSAgICBbJ2JhY2tncm91bmQtc2l6ZSc6J2luaXRpYWwn
XSBAW3VuZGVmaW5lZC11bmRlZmluZWRdIHN0eWxlCi19Ci1ib2R5OiBbcmVndWxhciwgMDoxMjAt
MDoxMjRdIHsKLSAgICBbJ3RleHQtYWxpZ24nOidqdXN0aWZ5J10gQFswOjEzMC0wOjE1MF0gYWN0
aXZlCi19Ci1ib2R5OiBbaW5zcGVjdG9yLCAwOjAtMDo0XSB7Ci0gICAgWydmb250LWZhbWlseSc6
J3NlcmlmJ10gQFsxOjQtMToyM10gYWN0aXZlCi19Ci1ib2R5Lm1haW4xOiBbcmVndWxhciwgMjE6
MjktMjE6NjddIHsKLSAgICBbJ2NvbG9yJzonI0YwMEJBQSddIEBbMjE6ODEtMjE6OTZdIGFjdGl2
ZQotICAgIFsnem9vJzonbW9vIC8qIG5vdCBhbiAhaW1wb3J0YW50IHVucmVjb2duaXplZCBwcm9w
ZXJ0eSAqLycgbm9uLXBhcnNlZF0gQFsyMTo5Ni0yMToxNDldIGFjdGl2ZQotfQotYm9keS5tYWlu
MjogW3JlZ3VsYXIsIDIzOjAtMjM6MTBdIHsKLSAgICBbJ2JhY2tncm91bmQnOidncmVlbiAvKiB2
YWx1ZSAhaW1wb3J0YW50IGNvbW1lbnQgKi8gIWltcG9ydGFudCAvKiBubyBzZW1pY29sb24sIHZl
cnkgIWltcG9ydGFudCAqLycgaXMtaW1wb3J0YW50XSBAWzIzOjExLTIzOjEwNl0gYWN0aXZlCi0g
ICAgWydiYWNrZ3JvdW5kLWltYWdlJzonaW5pdGlhbCcgaXMtaW1wb3J0YW50XSBAW3VuZGVmaW5l
ZC11bmRlZmluZWRdIHN0eWxlCi0gICAgWydiYWNrZ3JvdW5kLXJlcGVhdC14JzonaW5pdGlhbCcg
aXMtaW1wb3J0YW50XSBAW3VuZGVmaW5lZC11bmRlZmluZWRdIHN0eWxlCi0gICAgWydiYWNrZ3Jv
dW5kLXJlcGVhdC15JzonaW5pdGlhbCcgaXMtaW1wb3J0YW50XSBAW3VuZGVmaW5lZC11bmRlZmlu
ZWRdIHN0eWxlCi0gICAgWydiYWNrZ3JvdW5kLWF0dGFjaG1lbnQnOidpbml0aWFsJyBpcy1pbXBv
cnRhbnRdIEBbdW5kZWZpbmVkLXVuZGVmaW5lZF0gc3R5bGUKLSAgICBbJ2JhY2tncm91bmQtcG9z
aXRpb24teCc6J2luaXRpYWwnIGlzLWltcG9ydGFudF0gQFt1bmRlZmluZWQtdW5kZWZpbmVkXSBz
dHlsZQotICAgIFsnYmFja2dyb3VuZC1wb3NpdGlvbi15JzonaW5pdGlhbCcgaXMtaW1wb3J0YW50
XSBAW3VuZGVmaW5lZC11bmRlZmluZWRdIHN0eWxlCi0gICAgWydiYWNrZ3JvdW5kLW9yaWdpbic6
J2luaXRpYWwnIGlzLWltcG9ydGFudF0gQFt1bmRlZmluZWQtdW5kZWZpbmVkXSBzdHlsZQotICAg
IFsnYmFja2dyb3VuZC1jbGlwJzonaW5pdGlhbCcgaXMtaW1wb3J0YW50XSBAW3VuZGVmaW5lZC11
bmRlZmluZWRdIHN0eWxlCi0gICAgWydiYWNrZ3JvdW5kLWNvbG9yJzonZ3JlZW4nIGlzLWltcG9y
dGFudF0gQFt1bmRlZmluZWQtdW5kZWZpbmVkXSBzdHlsZQotICAgIFsnYmFja2dyb3VuZC1zaXpl
JzonaW5pdGlhbCcgaXMtaW1wb3J0YW50XSBAW3VuZGVmaW5lZC11bmRlZmluZWRdIHN0eWxlCi19
Ci0KLT09PSBBZnRlciBwcm9wZXJ0eSBtYW5pcHVsYXRpb25zID09PQotW3RleHQ9J2hlaWdodCA6
IDEwMCUgOyddIGRpc2FibGVkCi1bJ2JvcmRlcic6JzFweCBzb2xpZCddIEBbMzA6NS0zMDoyM10g
YWN0aXZlCi1bJ2JvcmRlci13aWR0aCc6JzJweCddIEBbMzA6MjQtMzA6NDJdIGluYWN0aXZlCi1b
J2dvb2dsZXMnOidhYnJhJyBub24tcGFyc2VkXSBAWzMwOjQ0LTMwOjU4XSBhY3RpdmUKLVsnZm9v
JzonLmJhcicgbm9uLXBhcnNlZF0gQFszMDo1OS0zMDo2OV0gYWN0aXZlCi1bJy1tb3otZ29vZyc6
JzEqKionIG5vbi1wYXJzZWRdIEBbMzA6NzAtMzA6ODZdIGFjdGl2ZQotWydmb250LXNpemUnOicx
MnB4J10gQFszMTo0LTMxOjIwXSBhY3RpdmUKLVsnYm9yZGVyLXdpZHRoJzonMXB4J10gQFszMjo0
LTMyOjIyXSBhY3RpdmUKLVt0ZXh0PSdmb250LXNpemU6IDE0cHg7J10gZGlzYWJsZWQKLVsnYm9y
ZGVyLXRvcC13aWR0aCc6JzFweCddIEBbdW5kZWZpbmVkLXVuZGVmaW5lZF0gc3R5bGUKLVsnYm9y
ZGVyLXJpZ2h0LXdpZHRoJzonMXB4J10gQFt1bmRlZmluZWQtdW5kZWZpbmVkXSBzdHlsZQotWydi
b3JkZXItYm90dG9tLXdpZHRoJzonMXB4J10gQFt1bmRlZmluZWQtdW5kZWZpbmVkXSBzdHlsZQot
Wydib3JkZXItbGVmdC13aWR0aCc6JzFweCddIEBbdW5kZWZpbmVkLXVuZGVmaW5lZF0gc3R5bGUK
LVsnYm9yZGVyLXRvcC1zdHlsZSc6J3NvbGlkJ10gQFt1bmRlZmluZWQtdW5kZWZpbmVkXSBzdHls
ZQotWydib3JkZXItcmlnaHQtc3R5bGUnOidzb2xpZCddIEBbdW5kZWZpbmVkLXVuZGVmaW5lZF0g
c3R5bGUKLVsnYm9yZGVyLWJvdHRvbS1zdHlsZSc6J3NvbGlkJ10gQFt1bmRlZmluZWQtdW5kZWZp
bmVkXSBzdHlsZQotWydib3JkZXItbGVmdC1zdHlsZSc6J3NvbGlkJ10gQFt1bmRlZmluZWQtdW5k
ZWZpbmVkXSBzdHlsZQotWydib3JkZXItdG9wLWNvbG9yJzonaW5pdGlhbCddIEBbdW5kZWZpbmVk
LXVuZGVmaW5lZF0gc3R5bGUKLVsnYm9yZGVyLXJpZ2h0LWNvbG9yJzonaW5pdGlhbCddIEBbdW5k
ZWZpbmVkLXVuZGVmaW5lZF0gc3R5bGUKLVsnYm9yZGVyLWJvdHRvbS1jb2xvcic6J2luaXRpYWwn
XSBAW3VuZGVmaW5lZC11bmRlZmluZWRdIHN0eWxlCi1bJ2JvcmRlci1sZWZ0LWNvbG9yJzonaW5p
dGlhbCddIEBbdW5kZWZpbmVkLXVuZGVmaW5lZF0gc3R5bGUKLVsnYm9yZGVyLWltYWdlLXNvdXJj
ZSc6J2luaXRpYWwnXSBAW3VuZGVmaW5lZC11bmRlZmluZWRdIHN0eWxlCi1bJ2JvcmRlci1pbWFn
ZS1zbGljZSc6J2luaXRpYWwnXSBAW3VuZGVmaW5lZC11bmRlZmluZWRdIHN0eWxlCi1bJ2JvcmRl
ci1pbWFnZS13aWR0aCc6J2luaXRpYWwnXSBAW3VuZGVmaW5lZC11bmRlZmluZWRdIHN0eWxlCi1b
J2JvcmRlci1pbWFnZS1vdXRzZXQnOidpbml0aWFsJ10gQFt1bmRlZmluZWQtdW5kZWZpbmVkXSBz
dHlsZQotWydib3JkZXItaW1hZ2UtcmVwZWF0JzonaW5pdGlhbCddIEBbdW5kZWZpbmVkLXVuZGVm
aW5lZF0gc3R5bGUKLQotPT09IEFmdGVyIHByb3BlcnR5IGVuYWJsZWQgPT09Ci1bdGV4dD0naGVp
Z2h0IDogMTAwJSA7J10gZGlzYWJsZWQKLVsnYm9yZGVyJzonMXB4IHNvbGlkJ10gQFszMDo1LTMw
OjIzXSBhY3RpdmUKLVsnYm9yZGVyLXdpZHRoJzonMnB4J10gQFszMDoyNC0zMDo0Ml0gaW5hY3Rp
dmUKLVsnZ29vZ2xlcyc6J2FicmEnIG5vbi1wYXJzZWRdIEBbMzA6NDQtMzA6NThdIGFjdGl2ZQot
Wydmb28nOicuYmFyJyBub24tcGFyc2VkXSBAWzMwOjU5LTMwOjY5XSBhY3RpdmUKLVsnLW1vei1n
b29nJzonMSoqKicgbm9uLXBhcnNlZF0gQFszMDo3MC0zMDo4Nl0gYWN0aXZlCi1bJ2ZvbnQtc2l6
ZSc6JzEycHgnXSBAWzMxOjQtMzE6MjBdIGluYWN0aXZlCi1bJ2JvcmRlci13aWR0aCc6JzFweCdd
IEBbMzI6NC0zMjoyMl0gYWN0aXZlCi1bJ2ZvbnQtc2l6ZSc6JzE0cHgnXSBAWzMzOjQtMzM6MjBd
IGFjdGl2ZQotWydib3JkZXItdG9wLXdpZHRoJzonMXB4J10gQFt1bmRlZmluZWQtdW5kZWZpbmVk
XSBzdHlsZQotWydib3JkZXItcmlnaHQtd2lkdGgnOicxcHgnXSBAW3VuZGVmaW5lZC11bmRlZmlu
ZWRdIHN0eWxlCi1bJ2JvcmRlci1ib3R0b20td2lkdGgnOicxcHgnXSBAW3VuZGVmaW5lZC11bmRl
ZmluZWRdIHN0eWxlCi1bJ2JvcmRlci1sZWZ0LXdpZHRoJzonMXB4J10gQFt1bmRlZmluZWQtdW5k
ZWZpbmVkXSBzdHlsZQotWydib3JkZXItdG9wLXN0eWxlJzonc29saWQnXSBAW3VuZGVmaW5lZC11
bmRlZmluZWRdIHN0eWxlCi1bJ2JvcmRlci1yaWdodC1zdHlsZSc6J3NvbGlkJ10gQFt1bmRlZmlu
ZWQtdW5kZWZpbmVkXSBzdHlsZQotWydib3JkZXItYm90dG9tLXN0eWxlJzonc29saWQnXSBAW3Vu
ZGVmaW5lZC11bmRlZmluZWRdIHN0eWxlCi1bJ2JvcmRlci1sZWZ0LXN0eWxlJzonc29saWQnXSBA
W3VuZGVmaW5lZC11bmRlZmluZWRdIHN0eWxlCi1bJ2JvcmRlci10b3AtY29sb3InOidpbml0aWFs
J10gQFt1bmRlZmluZWQtdW5kZWZpbmVkXSBzdHlsZQotWydib3JkZXItcmlnaHQtY29sb3InOidp
bml0aWFsJ10gQFt1bmRlZmluZWQtdW5kZWZpbmVkXSBzdHlsZQotWydib3JkZXItYm90dG9tLWNv
bG9yJzonaW5pdGlhbCddIEBbdW5kZWZpbmVkLXVuZGVmaW5lZF0gc3R5bGUKLVsnYm9yZGVyLWxl
ZnQtY29sb3InOidpbml0aWFsJ10gQFt1bmRlZmluZWQtdW5kZWZpbmVkXSBzdHlsZQotWydib3Jk
ZXItaW1hZ2Utc291cmNlJzonaW5pdGlhbCddIEBbdW5kZWZpbmVkLXVuZGVmaW5lZF0gc3R5bGUK
LVsnYm9yZGVyLWltYWdlLXNsaWNlJzonaW5pdGlhbCddIEBbdW5kZWZpbmVkLXVuZGVmaW5lZF0g
c3R5bGUKLVsnYm9yZGVyLWltYWdlLXdpZHRoJzonaW5pdGlhbCddIEBbdW5kZWZpbmVkLXVuZGVm
aW5lZF0gc3R5bGUKLVsnYm9yZGVyLWltYWdlLW91dHNldCc6J2luaXRpYWwnXSBAW3VuZGVmaW5l
ZC11bmRlZmluZWRdIHN0eWxlCi1bJ2JvcmRlci1pbWFnZS1yZXBlYXQnOidpbml0aWFsJ10gQFt1
bmRlZmluZWQtdW5kZWZpbmVkXSBzdHlsZQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3Ivc3R5bGVzL3N0eWxlcy1uZXctQVBJLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Iv
c3R5bGVzL3N0eWxlcy1uZXctQVBJLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDY1ZjVkMmI5M2Y5MjhlNDc5ODE1ZTAyY2I0YjcyMmI3NzkzYTcwZDIuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0
eWxlcy9zdHlsZXMtbmV3LUFQSS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNDE4ICswLDAgQEAK
LTxodG1sPgotPGhlYWQ+Ci0KLTxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0icmVzb3VyY2Vz
L3N0eWxlcy1uZXctQVBJLmNzcyI+Ci0KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2lu
c3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4v
aHR0cC90ZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
PgotCi1mdW5jdGlvbiB0ZXN0KCkKLXsKLSAgICBXZWJJbnNwZWN0b3Iuc2hvd1BhbmVsKCJlbGVt
ZW50cyIpOwotCi0gICAgdGVzdF9zdHlsZXMoKTsKLQotICAgIHZhciBib2R5SWQ7Ci0gICAgZnVu
Y3Rpb24gdGVzdF9zdHlsZXMobm9kZSkKLSAgICB7Ci0gICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNr
KHN0eWxlcykKLSAgICAgICAgewotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQo
IiIpOwotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIj09PSBDb21wdXRlZCBz
dHlsZSBwcm9wZXJ0eSBjb3VudCBmb3IgYm9keSA9PT0iKTsKLSAgICAgICAgICAgIHZhciBwcm9w
Q291bnQgPSBzdHlsZXMuY29tcHV0ZWRTdHlsZS5sZW5ndGg7Ci0gICAgICAgICAgICBJbnNwZWN0
b3JUZXN0LmFkZFJlc3VsdChwcm9wQ291bnQgPiAyMDAgPyAiT0siIDogIkZBSUwgKCIgKyBwcm9w
Q291bnQgKyAiKSIpOwotCi0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiIik7
Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiPT09IE1hdGNoZWQgcnVsZXMg
Zm9yIGJvZHkgPT09Iik7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBSdWxlTWF0Y2hl
c0FycmF5KHN0eWxlcy5tYXRjaGVkQ1NTUnVsZXMpOwotCi0gICAgICAgICAgICBJbnNwZWN0b3JU
ZXN0LmFkZFJlc3VsdCgiIik7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgi
PT09IFBzZXVkbyBydWxlcyBmb3IgYm9keSA9PT0iKTsKLSAgICAgICAgICAgIGZvciAodmFyIGkg
PSAwOyBpIDwgc3R5bGVzLnBzZXVkb0VsZW1lbnRzLmxlbmd0aDsgKytpKSB7Ci0gICAgICAgICAg
ICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIlBzZXVkb0lkPSIgKyBzdHlsZXMucHNldWRv
RWxlbWVudHNbaV0ucHNldWRvSWQpOwotICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZHVt
cFJ1bGVNYXRjaGVzQXJyYXkoc3R5bGVzLnBzZXVkb0VsZW1lbnRzW2ldLm1hdGNoZXMpOwotICAg
ICAgICAgICAgfQotCi0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiIik7Ci0g
ICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiPT09IEluaGVyaXRlZCBzdHlsZXMg
Zm9yIGJvZHkgPT09Iik7Ci0gICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHN0eWxlcy5p
bmhlcml0ZWQubGVuZ3RoOyArK2kpIHsKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFk
ZFJlc3VsdCgiTGV2ZWw9IiArIChpICsgMSkpOwotICAgICAgICAgICAgICAgIEluc3BlY3RvclRl
c3QuZHVtcFN0eWxlKHN0eWxlcy5pbmhlcml0ZWRbaV0uaW5saW5lU3R5bGUpOwotICAgICAgICAg
ICAgICAgIEluc3BlY3RvclRlc3QuZHVtcFJ1bGVNYXRjaGVzQXJyYXkoc3R5bGVzLmluaGVyaXRl
ZFtpXS5tYXRjaGVkQ1NTUnVsZXMpOwotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICBJbnNw
ZWN0b3JUZXN0LmFkZFJlc3VsdCgiIik7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJl
c3VsdCgiPT09IElubGluZSBzdHlsZSBmb3IgYm9keSA9PT0iKTsKLSAgICAgICAgICAgIEluc3Bl
Y3RvclRlc3QuZHVtcFN0eWxlKHN0eWxlcy5pbmxpbmVTdHlsZSk7Ci0gICAgICAgICAgICB0ZXN0
X2ZvcmNlZFN0YXRlKCk7Ci0gICAgICAgIH0KLQotICAgICAgICB2YXIgcmVzdWx0U3R5bGVzID0g
e307Ci0KLSAgICAgICAgZnVuY3Rpb24gY29tcHV0ZWRDYWxsYmFjayhlcnJvciwgY29tcHV0ZWRT
dHlsZSkKLSAgICAgICAgewotICAgICAgICAgICAgaWYgKGVycm9yKSB7Ci0gICAgICAgICAgICAg
ICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoImVycm9yOiAiICsgZXJyb3IpOwotICAgICAgICAg
ICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7Ci0gICAgICAgICAgICAgICAgcmV0
dXJuOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgcmVzdWx0U3R5bGVzLmNvbXB1dGVkU3R5
bGUgPSBjb21wdXRlZFN0eWxlOwotICAgICAgICB9Ci0KLSAgICAgICAgZnVuY3Rpb24gaW5saW5l
Q2FsbGJhY2soZXJyb3IsIGlubGluZVN0eWxlKQotICAgICAgICB7Ci0gICAgICAgICAgICBpZiAo
ZXJyb3IpIHsKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiZXJyb3I6
ICIgKyBlcnJvcik7Ci0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3Qo
KTsKLSAgICAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBy
ZXN1bHRTdHlsZXMuaW5saW5lU3R5bGUgPSBpbmxpbmVTdHlsZTsKLSAgICAgICAgfQotCi0gICAg
ICAgIGZ1bmN0aW9uIG1hdGNoZWRDYWxsYmFjayhlcnJvciwgbWF0Y2hlZENTU1J1bGVzLCBwc2V1
ZG9FbGVtZW50cywgaW5oZXJpdGVkKQotICAgICAgICB7Ci0gICAgICAgICAgICBpZiAoZXJyb3Ip
IHsKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiZXJyb3I6ICIgKyBl
cnJvcik7Ci0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKLSAg
ICAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIHJlc3Vs
dFN0eWxlcy5tYXRjaGVkQ1NTUnVsZXMgPSBtYXRjaGVkQ1NTUnVsZXM7Ci0gICAgICAgICAgICBy
ZXN1bHRTdHlsZXMucHNldWRvRWxlbWVudHMgPSBwc2V1ZG9FbGVtZW50czsKLSAgICAgICAgICAg
IHJlc3VsdFN0eWxlcy5pbmhlcml0ZWQgPSBpbmhlcml0ZWQ7Ci0gICAgICAgICAgICBjYWxsYmFj
ayhyZXN1bHRTdHlsZXMpOwotICAgICAgICB9Ci0KLSAgICAgICAgZnVuY3Rpb24gbm9kZUNhbGxi
YWNrKG5vZGUpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGJvZHlJZCA9IG5vZGUuaWQ7Ci0gICAg
ICAgICAgICBDU1NBZ2VudC5nZXRDb21wdXRlZFN0eWxlRm9yTm9kZShub2RlLmlkLCBjb21wdXRl
ZENhbGxiYWNrKTsKLSAgICAgICAgICAgIENTU0FnZW50LmdldElubGluZVN0eWxlc0Zvck5vZGUo
bm9kZS5pZCwgaW5saW5lQ2FsbGJhY2spOwotICAgICAgICAgICAgQ1NTQWdlbnQuZ2V0TWF0Y2hl
ZFN0eWxlc0Zvck5vZGUobm9kZS5pZCwgdHJ1ZSwgdHJ1ZSwgbWF0Y2hlZENhbGxiYWNrKTsKLSAg
ICAgICAgfQotICAgICAgICBJbnNwZWN0b3JUZXN0LnNlbGVjdE5vZGVXaXRoSWQoIm1haW5Cb2R5
Iiwgbm9kZUNhbGxiYWNrKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiB0ZXN0X2ZvcmNlZFN0YXRl
KCkKLSAgICB7Ci0gICAgICAgIENTU0FnZW50LmZvcmNlUHNldWRvU3RhdGUoYm9keUlkLCBbImhv
dmVyIl0pOwotICAgICAgICBDU1NBZ2VudC5nZXRNYXRjaGVkU3R5bGVzRm9yTm9kZShib2R5SWQs
IHRydWUsIHRydWUsIG1hdGNoZWRDYWxsYmFjayk7Ci0KLSAgICAgICAgZnVuY3Rpb24gbWF0Y2hl
ZENhbGxiYWNrKGVycm9yLCBtYXRjaGVkUnVsZXMpCi0gICAgICAgIHsKLSAgICAgICAgICAgIElu
c3BlY3RvclRlc3QuYWRkUmVzdWx0KCI9PT0gQk9EWSB3aXRoIGZvcmNlZCA6aG92ZXIgPT09Iik7
Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBSdWxlTWF0Y2hlc0FycmF5KG1hdGNoZWRS
dWxlcyk7Ci0gICAgICAgICAgICBDU1NBZ2VudC5mb3JjZVBzZXVkb1N0YXRlKGJvZHlJZCwgWyJo
b3ZlciJdLCB0ZXN0X3RhYmxlU3R5bGVzKTsKLSAgICAgICAgfQotICAgIH0KLQotICAgIGZ1bmN0
aW9uIHRlc3RfdGFibGVTdHlsZXMoKQotICAgIHsKLSAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2so
ZXJyb3IsIGlubGluZVN0eWxlLCBhdHRyaWJ1dGVzU3R5bGUpCi0gICAgICAgIHsKLSAgICAgICAg
ICAgIGlmIChlcnJvcikgewotICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0
KCJlcnJvcjogIiArIGVycm9yKTsKLSAgICAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgICAg
ICB9Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiIik7Ci0gICAgICAgICAg
ICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiPT09IEF0dHJpYnV0ZXMgc3R5bGUgZm9yIHRhYmxl
ID09PSIpOwotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wU3R5bGUoYXR0cmlidXRlc1N0
eWxlKTsKLSAgICAgICAgICAgIHRlc3RfaW5saW5lU3R5bGVTaGVldE1vZGlmaWNhdGlvbihpbmxp
bmVTdHlsZSk7Ci0gICAgICAgIH0KLQotICAgICAgICBmdW5jdGlvbiBub2RlQ2FsbGJhY2sobm9k
ZSkKLSAgICAgICAgewotICAgICAgICAgICAgQ1NTQWdlbnQuZ2V0SW5saW5lU3R5bGVzRm9yTm9k
ZShub2RlLmlkLCBjYWxsYmFjayk7Ci0gICAgICAgIH0KLSAgICAgICAgSW5zcGVjdG9yVGVzdC5u
b2RlV2l0aElkKCJ0aGV0YWJsZSIsIG5vZGVDYWxsYmFjayk7Ci0gICAgfQotCi0gICAgZnVuY3Rp
b24gdGVzdF9pbmxpbmVTdHlsZVNoZWV0TW9kaWZpY2F0aW9uKGlubGluZVN0eWxlKQotICAgIHsK
LSAgICAgICAgQ1NTQWdlbnQuZ2V0U3R5bGVTaGVldFRleHQoaW5saW5lU3R5bGUuc3R5bGVJZC5z
dHlsZVNoZWV0SWQsIHRleHRDYWxsYmFjayk7Ci0KLSAgICAgICAgZnVuY3Rpb24gdGV4dENhbGxi
YWNrKGVycm9yLCByZXN1bHQpCi0gICAgICAgIHsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3Qu
YWRkUmVzdWx0KCIiKTsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCI9PT0g
U3R5bGVzaGVldC1mb3ItaW5saW5lLXN0eWxlIHRleHQgPT09Iik7Ci0gICAgICAgICAgICBJbnNw
ZWN0b3JUZXN0LmFkZFJlc3VsdChyZXN1bHQpOwotICAgICAgICAgICAgQ1NTQWdlbnQuc2V0U3R5
bGVTaGVldFRleHQoaW5saW5lU3R5bGUuc3R5bGVJZC5zdHlsZVNoZWV0SWQsICIiLCBzZXRUZXh0
Q2FsbGJhY2spOwotICAgICAgICB9Ci0KLSAgICAgICAgZnVuY3Rpb24gc2V0VGV4dENhbGxiYWNr
KGVycm9yLCByZXN1bHQpCi0gICAgICAgIHsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRk
UmVzdWx0KCIiKTsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCI9PT0gU3R5
bGVzaGVldC1mb3ItaW5saW5lLXN0eWxlIG1vZGlmaWNhdGlvbiByZXN1bHQgPT09Iik7Ci0gICAg
ICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdChlcnJvcik7Ci0gICAgICAgICAgICB0ZXN0
X3N0eWxlU2hlZXRzKCk7Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICBmdW5jdGlvbiB0ZXN0X3N0
eWxlU2hlZXRzKCkKLSAgICB7Ci0gICAgICAgIHZhciBuZXdTdHlsZVNoZWV0VGV4dCA9Ci0gICAg
ICAgICAgICAiYm9keS5tYWlucGFnZSB7IiArCi0gICAgICAgICAgICAiICAgIHRleHQtZGVjb3Jh
dGlvbjogc3RyaWtldGhyb3VnaDsiICsKLSAgICAgICAgICAgICIgICAgYmFkcHJvcGVydHk6IDJi
YWR2YWx1ZTI7IiArCi0gICAgICAgICAgICAifSIgKwotICAgICAgICAgICAgImJvZHkgeyIgKwot
ICAgICAgICAgICAgIiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5OyIgKwotICAgICAgICAgICAgIn0i
OwotCi0gICAgICAgIGZ1bmN0aW9uIHBhdGNoU3R5bGVTaGVldChzdHlsZVNoZWV0KQotICAgICAg
ICB7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiIik7Ci0gICAgICAgICAg
ICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiPT09IExhc3Qgc3R5bGVzaGVldCBwYXRjaGVkID09
PSIpOwotICAgICAgICAgICAgQ1NTQWdlbnQuc2V0U3R5bGVTaGVldFRleHQoc3R5bGVTaGVldC5z
dHlsZVNoZWV0SWQsIG5ld1N0eWxlU2hlZXRUZXh0LAotICAgICAgICAgICAgICAgIGxvYWRBbmRE
dW1wU3R5bGVTaGVldC5iaW5kKG51bGwsIHN0eWxlU2hlZXQuc3R5bGVTaGVldElkLCB0ZXN0X2No
YW5nZVNlbGVjdG9yKSk7Ci0gICAgICAgIH0KLQotICAgICAgICBmdW5jdGlvbiBzdHlsZVNoZWV0
SW5mb3NMb2FkZWQoZXJyb3IsIGluZm9zKQotICAgICAgICB7Ci0gICAgICAgICAgICBpZiAoZXJy
b3IpIHsKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiZXJyb3I6ICIg
KyBlcnJvcik7Ci0gICAgICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICAgICAgfQotICAgICAg
ICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIiIpOwotICAgICAgICAgICAgSW5zcGVjdG9y
VGVzdC5hZGRSZXN1bHQoIj09PSBBbGwgc3R5bGVzaGVldHMgPT09Iik7Ci0gICAgICAgICAgICBm
b3IgKHZhciBpID0gMDsgaSA8IGluZm9zLmxlbmd0aDsgKytpKQotICAgICAgICAgICAgICAgIGxv
YWRBbmREdW1wU3R5bGVTaGVldChpbmZvc1tpXS5zdHlsZVNoZWV0SWQsIChpIDwgaW5mb3MubGVu
Z3RoIC0gMSkgPyBudWxsIDogcGF0Y2hTdHlsZVNoZWV0KTsKLSAgICAgICAgfQotICAgICAgICBD
U1NBZ2VudC5nZXRBbGxTdHlsZVNoZWV0cyhzdHlsZVNoZWV0SW5mb3NMb2FkZWQpOwotICAgIH0K
LQotICAgIGZ1bmN0aW9uIHRlc3RfY2hhbmdlU2VsZWN0b3Ioc3R5bGVTaGVldCkKLSAgICB7Ci0g
ICAgICAgIGZ1bmN0aW9uIGRpZFNldFNlbGVjdG9yKGVycm9yLCBydWxlKQotICAgICAgICB7Ci0g
ICAgICAgICAgICBpZiAoZXJyb3IpIHsKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFk
ZFJlc3VsdCgiZXJyb3I6ICIgKyBlcnJvcik7Ci0gICAgICAgICAgICAgICAgcmV0dXJuOwotICAg
ICAgICAgICAgfQotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIiIpOwotICAg
ICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIj09PSBBZnRlciBzZWxlY3RvciBzZXQg
PT09Iik7Ci0gICAgICAgICAgICBsb2FkQW5kRHVtcFN0eWxlU2hlZXQocnVsZS5ydWxlSWQuc3R5
bGVTaGVldElkLCB0ZXN0X3NldFByb3BlcnR5VGV4dCk7Ci0gICAgICAgIH0KLQotICAgICAgICBD
U1NBZ2VudC5zZXRSdWxlU2VsZWN0b3Ioc3R5bGVTaGVldC5ydWxlc1swXS5ydWxlSWQsICJodG1s
ICosIGJvZHlbZm9vPVwiYmFyXCJdIiwgZGlkU2V0U2VsZWN0b3IpOwotICAgIH0KLQotICAgIGZ1
bmN0aW9uIHRlc3Rfc2V0UHJvcGVydHlUZXh0KHN0eWxlU2hlZXQpCi0gICAgewotICAgICAgICBm
dW5jdGlvbiBkaWRTZXRQcm9wZXJ0eVRleHQoZXJyb3IsIHN0eWxlKQotICAgICAgICB7Ci0gICAg
ICAgICAgICBpZiAoZXJyb3IpIHsKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJl
c3VsdCgiZXJyb3I6ICIgKyBlcnJvcik7Ci0gICAgICAgICAgICAgICAgcmV0dXJuOwotICAgICAg
ICAgICAgfQotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIiIpOwotICAgICAg
ICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIj09PSBBZnRlciBwcm9wZXJ0eSB0ZXh0IHNl
dCA9PT0iKTsKLSAgICAgICAgICAgIGxvYWRBbmREdW1wU3R5bGVTaGVldChzdHlsZS5zdHlsZUlk
LnN0eWxlU2hlZXRJZCwgdGVzdF9zZXRTdHlsZVRleHQxKTsKLSAgICAgICAgfQotCi0gICAgICAg
IENTU0FnZW50LnNldFByb3BlcnR5VGV4dChzdHlsZVNoZWV0LnJ1bGVzWzBdLnN0eWxlLnN0eWxl
SWQsIDAsICIiLCB0cnVlKTsKLSAgICAgICAgQ1NTQWdlbnQuc2V0UHJvcGVydHlUZXh0KHN0eWxl
U2hlZXQucnVsZXNbMF0uc3R5bGUuc3R5bGVJZCwgMCwgIiIsIHRydWUpOwotCi0gICAgICAgIC8v
IFRoaXMgb3BlcmF0aW9uIHNob3VsZCBub3QgdXBkYXRlIHRoZSBzdHlsZSBhcyB0aGUgbmV3IHBy
b3BlcnR5IHRleHQgaXMgbm90IHBhcnNhYmxlLgotICAgICAgICBDU1NBZ2VudC5zZXRQcm9wZXJ0
eVRleHQoc3R5bGVTaGVldC5ydWxlc1swXS5zdHlsZS5zdHlsZUlkLCAwLCAienp6OyIsIGZhbHNl
KTsKLSAgICAgICAgQ1NTQWdlbnQuc2V0UHJvcGVydHlUZXh0KHN0eWxlU2hlZXQucnVsZXNbMF0u
c3R5bGUuc3R5bGVJZCwgMCwgImNvbG9yOiB3aGl0ZTsgYmFja2dyb3VuZDogYmxhY2s7IiwgZmFs
c2UsIGRpZFNldFByb3BlcnR5VGV4dCk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gdGVzdF9zZXRT
dHlsZVRleHQxKHN0eWxlU2hlZXQpCi0gICAgewotICAgICAgICBmdW5jdGlvbiBkaWRTZXRTdHls
ZVRleHQxKGVycm9yLCBzdHlsZSkKLSAgICAgICAgewotICAgICAgICAgICAgaWYgKGVycm9yKSB7
Ci0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoImVycm9yOiAiICsgZXJy
b3IpOwotICAgICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAg
IEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCIiKTsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3Qu
YWRkUmVzdWx0KCI9PT0gQWZ0ZXIgZmlyc3Qgc3R5bGUgdGV4dCBzZXQgPT09Iik7Ci0gICAgICAg
ICAgICBsb2FkQW5kRHVtcFN0eWxlU2hlZXQoc3R5bGUuc3R5bGVJZC5zdHlsZVNoZWV0SWQsIHRl
c3Rfc2V0U3R5bGVUZXh0Mik7Ci0gICAgICAgIH0KLQotICAgICAgICBDU1NBZ2VudC5zZXRTdHls
ZVRleHQoc3R5bGVTaGVldC5ydWxlc1swXS5zdHlsZS5zdHlsZUlkLCAiIiwgZGlkU2V0U3R5bGVU
ZXh0MSk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gdGVzdF9zZXRTdHlsZVRleHQyKHN0eWxlU2hl
ZXQpCi0gICAgewotICAgICAgICBmdW5jdGlvbiBkaWRTZXRTdHlsZVRleHQyKGVycm9yLCBzdHls
ZSkKLSAgICAgICAgewotICAgICAgICAgICAgaWYgKGVycm9yKSB7Ci0gICAgICAgICAgICAgICAg
SW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoImVycm9yOiAiICsgZXJyb3IpOwotICAgICAgICAgICAg
ICAgIHJldHVybjsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRk
UmVzdWx0KCIiKTsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCI9PT0gQWZ0
ZXIgc2Vjb25kIHN0eWxlIHRleHQgc2V0ID09PSIpOwotICAgICAgICAgICAgbG9hZEFuZER1bXBT
dHlsZVNoZWV0KHN0eWxlLnN0eWxlSWQuc3R5bGVTaGVldElkLCB0ZXN0X2FkZFJ1bGUpOwotICAg
ICAgICB9Ci0KLSAgICAgICAgQ1NTQWdlbnQuc2V0U3R5bGVUZXh0KHN0eWxlU2hlZXQucnVsZXNb
MF0uc3R5bGUuc3R5bGVJZCwgImNvbG9yOiBncmVlbjsgYmFja2dyb3VuZDogcmVkOyBmb286IGJh
cjsgKmJhejogYmFyOyAvKiBDb21tZW50ICovIGZvbnQtd2VpZ2h0OiBib2xkICFpbXBvcnRhbnQi
LCBkaWRTZXRTdHlsZVRleHQyKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiB0ZXN0X2FkZFJ1bGUo
KQotICAgIHsKLSAgICAgICAgZnVuY3Rpb24gZGlkR2V0U3R5bGVzKGVycm9yLCBtYXRjaGVkQ1NT
UnVsZXMpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGlmIChlcnJvcikgewotICAgICAgICAgICAg
ICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJlcnJvcjogIiArIGVycm9yKTsKLSAgICAgICAg
ICAgICAgICByZXR1cm47Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0
LmFkZFJlc3VsdCgiIik7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiPT09
IE1hdGNoZWQgcnVsZXMgYWZ0ZXIgcnVsZSBhZGRlZCA9PT0iKTsKLSAgICAgICAgICAgIEluc3Bl
Y3RvclRlc3QuZHVtcFJ1bGVNYXRjaGVzQXJyYXkobWF0Y2hlZENTU1J1bGVzKTsKLSAgICAgICAg
ICAgIHRlc3RfZGlzYWJsZVByb3BlcnR5KCk7Ci0gICAgICAgIH0KLQotICAgICAgICBmdW5jdGlv
biBkaWRTZXRTdHlsZVRleHQoZXJyb3IsIHN0eWxlKQotICAgICAgICB7Ci0gICAgICAgICAgICBp
ZiAoZXJyb3IpIHsKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiZXJy
b3I6ICIgKyBlcnJvcik7Ci0gICAgICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICAgICAgfQot
ICAgICAgICAgICAgQ1NTQWdlbnQuZ2V0TWF0Y2hlZFN0eWxlc0Zvck5vZGUoYm9keUlkLCBmYWxz
ZSwgZmFsc2UsIGRpZEdldFN0eWxlcyk7Ci0gICAgICAgIH0KLQotICAgICAgICBmdW5jdGlvbiBy
dWxlQWRkZWQoZXJyb3IsIHJ1bGUpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGlmIChlcnJvcikg
ewotICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJlcnJvcjogIiArIGVy
cm9yKTsKLSAgICAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAg
ICBDU1NBZ2VudC5zZXRQcm9wZXJ0eVRleHQocnVsZS5zdHlsZS5zdHlsZUlkLCAwLCAiZm9udC1m
YW1pbHk6IHNlcmlmOyIsIGZhbHNlLCBkaWRTZXRTdHlsZVRleHQpOwotICAgICAgICB9Ci0KLSAg
ICAgICAgQ1NTQWdlbnQuYWRkUnVsZShib2R5SWQsICJib2R5IiwgcnVsZUFkZGVkKTsKLSAgICB9
Ci0KLSAgICBmdW5jdGlvbiB0ZXN0X2Rpc2FibGVQcm9wZXJ0eSgpCi0gICAgewotICAgICAgICBm
dW5jdGlvbiBkaWREaXNhYmxlUHJvcGVydHkoZXJyb3IsIHN0eWxlKQotICAgICAgICB7Ci0gICAg
ICAgICAgICBpZiAoZXJyb3IpIHsKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJl
c3VsdCgiZXJyb3I6ICIgKyBlcnJvcik7Ci0gICAgICAgICAgICAgICAgcmV0dXJuOwotICAgICAg
ICAgICAgfQotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIiIpOwotICAgICAg
ICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIj09PSBBZnRlciBwcm9wZXJ0eSBtYW5pcHVs
YXRpb25zID09PSIpOwotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wU3R5bGUoc3R5bGUp
OwotICAgICAgICAgICAgdGVzdF9lbmFibGVQcm9wZXJ0eShzdHlsZS5zdHlsZUlkKTsKLSAgICAg
ICAgfQotCi0gICAgICAgIGZ1bmN0aW9uIHN0eWxlc0NhbGxiYWNrKGVycm9yLCBtYXRjaGVkQ1NT
UnVsZXMpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGlmIChlcnJvcikgewotICAgICAgICAgICAg
ICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJlcnJvcjogIiArIGVycm9yKTsKLSAgICAgICAg
ICAgICAgICByZXR1cm47Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICAvLyBoZWlnaHQgOiAx
MDAlIDsKLSAgICAgICAgICAgIC8vIGJvcmRlcjogMXB4IHNvbGlkOwotICAgICAgICAgICAgLy8g
Ym9yZGVyLXdpZHRoOiAycHg7Ci0gICAgICAgICAgICAvLyBiYWNrZ3JvdW5kLWNvbG9yIDogIzMz
RkYzMzsKLSAgICAgICAgICAgIC8vIGdvb2dsZXM6IGFicmE7Ci0gICAgICAgICAgICAvLyBmb286
IC5iYXI7Ci0gICAgICAgICAgICAvLyAtbW96LWdvb2c6IDEqKio7Ci0gICAgICAgICAgICAvLyBi
b3JkZXItd2lkdGg6IDBweDsKLQotICAgICAgICAgICAgdmFyIHN0eWxlSWQgPSBtYXRjaGVkQ1NT
UnVsZXNbMV0ucnVsZS5zdHlsZS5zdHlsZUlkOwotICAgICAgICAgICAgQ1NTQWdlbnQudG9nZ2xl
UHJvcGVydHkoc3R5bGVJZCwgMCwgdHJ1ZSk7IC8vIGhlaWdodDogMTAwJQotICAgICAgICAgICAg
Q1NTQWdlbnQudG9nZ2xlUHJvcGVydHkoc3R5bGVJZCwgNywgdHJ1ZSk7IC8vIGJvcmRlci13aWR0
aDogMHB4Ci0gICAgICAgICAgICBDU1NBZ2VudC5zZXRQcm9wZXJ0eVRleHQoc3R5bGVJZCwgNywg
ImZvbnQtc2l6ZTogMTJweDsiLCBmYWxzZSk7Ci0gICAgICAgICAgICBDU1NBZ2VudC5zZXRQcm9w
ZXJ0eVRleHQoc3R5bGVJZCwgOSwgImZvbnQtc2l6ZTogMTRweDsiLCBmYWxzZSk7Ci0gICAgICAg
ICAgICBDU1NBZ2VudC50b2dnbGVQcm9wZXJ0eShzdHlsZUlkLCA5LCB0cnVlKTsgLy8gZm9udC1z
aXplOiAxNHB4Ci0gICAgICAgICAgICBDU1NBZ2VudC5zZXRQcm9wZXJ0eVRleHQoc3R5bGVJZCwg
OCwgImJvcmRlci13aWR0aDogMXB4OyIsIHRydWUpOwotICAgICAgICAgICAgQ1NTQWdlbnQudG9n
Z2xlUHJvcGVydHkoc3R5bGVJZCwgOCwgZmFsc2UpOyAvLyBib3JkZXItd2lkdGg6IDFweAotICAg
ICAgICAgICAgLy8gaGVpZ2h0IDogMTAwJSA7IFtkXQotICAgICAgICAgICAgLy8gYm9yZGVyOiAx
cHggc29saWQ7Ci0gICAgICAgICAgICAvLyBib3JkZXItd2lkdGg6IDJweDsKLSAgICAgICAgICAg
IC8vIGJhY2tncm91bmQtY29sb3IgOiAjMzNGRjMzOwotICAgICAgICAgICAgLy8gZ29vZ2xlczog
YWJyYTsKLSAgICAgICAgICAgIC8vIGZvbzogLmJhcjsKLSAgICAgICAgICAgIC8vIC1tb3otZ29v
ZzogMSoqKjsKLSAgICAgICAgICAgIC8vIGZvbnQtc2l6ZTogMTJweDsKLSAgICAgICAgICAgIC8v
IGJvcmRlci13aWR0aDogMXB4OwotICAgICAgICAgICAgLy8gZm9udC1zaXplOiAxNHB4OyBbZF0K
LQotICAgICAgICAgICAgQ1NTQWdlbnQuc2V0UHJvcGVydHlUZXh0KHN0eWxlSWQsIDMsICIiLCB0
cnVlLCBkaWREaXNhYmxlUHJvcGVydHkpOwotICAgICAgICB9Ci0KLSAgICAgICAgZnVuY3Rpb24g
bm9kZUNhbGxiYWNrKG5vZGUpCi0gICAgICAgIHsKLSAgICAgICAgICAgIENTU0FnZW50LmdldE1h
dGNoZWRTdHlsZXNGb3JOb2RlKG5vZGUuaWQsIGZhbHNlLCBmYWxzZSwgc3R5bGVzQ2FsbGJhY2sp
OwotICAgICAgICB9Ci0gICAgICAgIEluc3BlY3RvclRlc3Qubm9kZVdpdGhJZCgidG9nZ2xlIiwg
bm9kZUNhbGxiYWNrKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiB0ZXN0X2VuYWJsZVByb3BlcnR5
KHN0eWxlSWQpCi0gICAgewotICAgICAgICBmdW5jdGlvbiBkaWRFbmFibGVQcm9wZXJ0eShlcnJv
ciwgc3R5bGUpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGlmIChlcnJvcikgewotICAgICAgICAg
ICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJlcnJvcjogIiArIGVycm9yKTsKLSAgICAg
ICAgICAgICAgICByZXR1cm47Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBJbnNwZWN0b3JU
ZXN0LmFkZFJlc3VsdCgiIik7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgi
PT09IEFmdGVyIHByb3BlcnR5IGVuYWJsZWQgPT09Iik7Ci0gICAgICAgICAgICBJbnNwZWN0b3JU
ZXN0LmR1bXBTdHlsZShzdHlsZSk7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRl
VGVzdCgpOwotICAgICAgICB9Ci0KLSAgICAgICAgQ1NTQWdlbnQudG9nZ2xlUHJvcGVydHkoc3R5
bGVJZCwgNiwgZmFsc2UpOwotICAgICAgICBDU1NBZ2VudC50b2dnbGVQcm9wZXJ0eShzdHlsZUlk
LCA4LCBmYWxzZSwgZGlkRW5hYmxlUHJvcGVydHkpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIGxv
YWRBbmREdW1wU3R5bGVTaGVldChzdHlsZVNoZWV0SWQsIGNvbnRpbnVhdGlvbiwgZXJyb3IpCi0g
ICAgewotICAgICAgICBpZiAoZXJyb3IpIHsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRk
UmVzdWx0KCJlcnJvcjogIiArIGVycm9yKTsKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAg
fQotCi0gICAgICAgIGZ1bmN0aW9uIHN0eWxlU2hlZXRMb2FkZWQoZXJyb3IsIHN0eWxlU2hlZXQp
Ci0gICAgICAgIHsKLSAgICAgICAgICAgIGlmIChlcnJvcikgewotICAgICAgICAgICAgICAgIElu
c3BlY3RvclRlc3QuYWRkUmVzdWx0KCJlcnJvcjogIiArIGVycm9yKTsKLSAgICAgICAgICAgICAg
ICByZXR1cm47Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJl
c3VsdCgiIik7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiU3R5bGVTaGVl
dDogJyIgKyBzdHlsZVNoZWV0LnRleHQgKyAiJyIpOwotICAgICAgICAgICAgSW5zcGVjdG9yVGVz
dC5kdW1wUnVsZXNBcnJheShzdHlsZVNoZWV0LnJ1bGVzKTsKLSAgICAgICAgICAgIGlmIChjb250
aW51YXRpb24pCi0gICAgICAgICAgICAgICAgY29udGludWF0aW9uKHN0eWxlU2hlZXQpOwotICAg
ICAgICB9Ci0KLSAgICAgICAgQ1NTQWdlbnQuZ2V0U3R5bGVTaGVldChzdHlsZVNoZWV0SWQsIHN0
eWxlU2hlZXRMb2FkZWQpOwotICAgIH0KLX0KLQotPC9zY3JpcHQ+Ci0KLTxzdHlsZT4KLQotLyog
QW4gaW5saW5lIHN0eWxlc2hlZXQgKi8KLWJvZHkubWFpbnBhZ2UgewotICAgIHRleHQtZGVjb3Jh
dGlvbjogbm9uZTsgLyogYXQgbGVhc3Qgb25lIHZhbGlkIHByb3BlcnR5IGlzIG5lY2Vzc2FyeSBm
b3IgV2ViQ29yZSB0byBtYXRjaCBhIHJ1bGUgKi8KLSAgICA7YmFkcHJvcGVydHk6IDFiYWR2YWx1
ZTE7Ci19Ci0KLWJvZHkubWFpbnBhZ2UgewotICAgIHByb3AxOiB2YWwxOwotICAgIHByb3AyOiB2
YWwyOwotfQotCi1ib2R5OmhvdmVyIHsKLSAgY29sb3I6ICNDREU7Ci19Ci08L3N0eWxlPgotPC9o
ZWFkPgotCi08Ym9keSBpZD0ibWFpbkJvZHkiIGNsYXNzPSJtYWluMSBtYWluMiBtYWlucGFnZSIg
b25sb2FkPSJydW5UZXN0KCkiIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyB3aWR0aDogODUl
OyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoYmFyLnBuZykiPgotPHA+Ci1UZXN0cyB0aGF0IEluc3Bl
Y3RvckNTU0FnZW50IEFQSSBtZXRob2RzIHdvcmsgYXMgZXhwZWN0ZWQuCi08L3A+Ci08dGFibGUg
d2lkdGg9IjUwJSIgaWQ9InRoZXRhYmxlIj4KLTwvdGFibGU+Ci08aDEgaWQ9InRvZ2dsZSI+SDE8
L2gxPgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
L3N0eWxlcy9zdHlsZXMtb3ZlcnJpZGVuLXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yL3N0eWxlcy9zdHlsZXMtb3ZlcnJpZGVuLXByb3BlcnRpZXMtZXhwZWN0
ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjNzYzOTRiOTNiYWVmOTA4N2Nj
MTgxZTVlODc2MTFmMGU0MWM2OTg2Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9zdHlsZXMvc3R5bGVzLW92ZXJyaWRl
bi1wcm9wZXJ0aWVzLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDE3ICswLDAgQEAK
LVRlc3RzIHRoYXQgb3ZlcnJpZGluZyBzaG9ydGhhbmRzIHdpdGhpbiBydWxlIGFyZSB2aXNpYmxl
LgotCi1bZXhwYW5kZWRdIAotZWxlbWVudC5zdHlsZSAgeyAoKQotCi09PT09PT09PSBNYXRjaGVk
IENTUyBSdWxlcyA9PT09PT09PQotW2V4cGFuZGVkXSAKLSNtYWluICB7IChzdHlsZXMtb3ZlcnJp
ZGVuLXByb3BlcnRpZXMuaHRtbDo0KQotLy0tIG92ZXJsb2FkZWQgLS0vIGJhY2tncm91bmQ6ICMw
MDA7Ci1iYWNrZ3JvdW5kOiAjYmFkYTU1OwotCi1bZXhwYW5kZWRdIAotZGl2ICB7ICh1c2VyIGFn
ZW50IHN0eWxlc2hlZXQpCi1kaXNwbGF5OiBibG9jazsKLQotCi0KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2luc3BlY3Rvci9zdHlsZXMvc3R5bGVzLW92ZXJyaWRlbi1wcm9wZXJ0aWVzLmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Ivc3R5bGVzL3N0eWxlcy1vdmVycmlkZW4tcHJvcGVydGll
cy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4ZTg1MWZlMmM4ZTIxMDFlZTJj
MTlmNGJlNTIzNDk3ZGZjZGFmM2FlLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9zdHlsZXMvc3R5bGVzLW92ZXJyaWRl
bi1wcm9wZXJ0aWVzLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwzNyArMCwwIEBACi08aHRtbD4K
LTxoZWFkPgotPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KLSNtYWluIHsKLSAgICBoZWlnaHQ6IDEw
MHB4OwotICAgIGJhY2tncm91bmQ6ICMwMDA7Ci0gICAgYmFja2dyb3VuZDogI2JhZGE1NTsKLX0K
LTwvc3R5bGU+Ci0KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNw
ZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9p
bnNwZWN0b3IvZWxlbWVudHMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotCi1mdW5jdGlv
biB0ZXN0KCkKLXsKLSAgICBJbnNwZWN0b3JUZXN0LnNlbGVjdE5vZGVBbmRXYWl0Rm9yU3R5bGVz
KCJtYWluIiwgc3RlcDEpOwotCi0gICAgZnVuY3Rpb24gc3RlcDEoKQotICAgIHsKLSAgICAgICAg
SW5zcGVjdG9yVGVzdC5kdW1wU2VsZWN0ZWRFbGVtZW50U3R5bGVzKHRydWUsIGZhbHNlLCB0cnVl
KTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKLSAgICB9Ci19Ci0KLTwv
c2NyaXB0PgotPC9oZWFkPgotCi08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci08cD4KLVRlc3Rz
IHRoYXQgb3ZlcnJpZGluZyBzaG9ydGhhbmRzIHdpdGhpbiBydWxlIGFyZSB2aXNpYmxlLgotPC9w
PgotCi08ZGl2IGlkPSJtYWluIj48L2Rpdj4KLQotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0eWxlcy9zdHlsZXMtc291cmNlLWxpbmVzLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9zdHlsZXMvc3R5bGVzLXNvdXJjZS1saW5l
cy1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDdhN2U0NDZkODNm
NDJlMGM0ZjgwMGRmNmYyYWE2MDM4YjVmN2FlNWYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0eWxlcy9zdHlsZXMt
c291cmNlLWxpbmVzLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDM1ICswLDAgQEAK
LVRlc3RzIHRoYXQgcHJvcGVyIHNvdXJjZSBsaW5lcyBhcmUgcmVwb3J0ZWQgZm9yIHRoZSBwYXJz
ZWQgc3R5bGVzLgotCi1bZXhwYW5kZWRdIAotZWxlbWVudC5zdHlsZSAgeyAoKQotCi09PT09PT09
PSBNYXRjaGVkIENTUyBSdWxlcyA9PT09PT09PQotW2V4cGFuZGVkXSAKLW1lZGlhPSJzY3JlZW4i
IChzdHlsZXMtc291cmNlLWxpbmVzLmh0bWwpCi0jbWFpbiwgLmF0X2xpbmVfNTAgIHsgKHN0eWxl
cy1zb3VyY2UtbGluZXMuaHRtbDo1MCkKLWJvcmRlcjogMXB4IHNvbGlkCi0gICAgcmVkOwotCi1b
ZXhwYW5kZWRdIAotbWVkaWE9InNjcmVlbiIgKHN0eWxlcy1zb3VyY2UtbGluZXMuaHRtbCkKLSNt
YWluLCAuYXRfbGluZV80MyAgeyAoc3R5bGVzLXNvdXJjZS1saW5lcy5odG1sOjQzKQotZm9udC1z
aXplOiAxMHB4OwotCi1bZXhwYW5kZWRdIAotbWVkaWE9InNjcmVlbiIgKHN0eWxlcy1zb3VyY2Ut
bGluZXMuaHRtbCkKLSNtYWluLCAuYXRfbGluZV8yOSAgeyAoc3R5bGVzLXNvdXJjZS1saW5lcy5o
dG1sOjI5KQotZm9udC1mYW1pbHk6IC8qICBDb21tZW50IGluIAotICAgICAgICAgICAgICAgICAg
ICAgIHZhbHVlICAqL2NvdXJpZXI7Ci0KLVtleHBhbmRlZF0gCi1tZWRpYT0ic2NyZWVuIiAoc3R5
bGVzLXNvdXJjZS1saW5lcy5odG1sKQotI21haW4sIC5hdF9saW5lXzE1OjpiZWZvcmUgIHsgKHN0
eWxlcy1zb3VyY2UtbGluZXMuaHRtbDoxNSkKLWNvbG9yOiByZWQ7Ci1jb250ZW50OiAiQmVmb3Jl
IjsKLQotW2V4cGFuZGVkXSAKLWRpdiAgeyAodXNlciBhZ2VudCBzdHlsZXNoZWV0KQotZGlzcGxh
eTogYmxvY2s7Ci0KLQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Ivc3R5bGVz
L3N0eWxlcy1zb3VyY2UtbGluZXMtaW5saW5lLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2lu
c3BlY3Rvci9zdHlsZXMvc3R5bGVzLXNvdXJjZS1saW5lcy1pbmxpbmUtZXhwZWN0ZWQudHh0CmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3ODA2ZDJlNDVjMDE1MzkwMTkyMmE2MTNiMzE2
NmI2Yjk3ZjA4N2QyLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9zdHlsZXMvc3R5bGVzLXNvdXJjZS1saW5lcy1pbmxp
bmUtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTggKzAsMCBAQAotVGVzdHMgdGhh
dCBlbGVtZW50cyBwYW5lbCBzaG93cyBwcm9wZXIgaW5saW5lIHN0eWxlIGxvY2F0aW9ucyBpbiB0
aGUgc2lkZWJhciBwYW5lbC4KLQotCi1bZXhwYW5kZWRdIAotZWxlbWVudC5zdHlsZSAgeyAoKQot
ZGlzcGxheTogbm9uZTsKLQotPT09PT09PT0gTWF0Y2hlZCBDU1MgUnVsZXMgPT09PT09PT0KLVtl
eHBhbmRlZF0gCi0uZm9vICB7IChzdHlsZXMtc291cmNlLWxpbmVzLWlubGluZS5odG1sOjcpCi1j
b2xvcjogYmx1ZTsKLQotW2V4cGFuZGVkXSAKLWRpdiAgeyAodXNlciBhZ2VudCBzdHlsZXNoZWV0
KQotLy0tIG92ZXJsb2FkZWQgLS0vIGRpc3BsYXk6IGJsb2NrOwotCi0KLQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0eWxlcy9zdHlsZXMtc291cmNlLWxpbmVzLWlubGluZS5o
dG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0eWxlcy9zdHlsZXMtc291cmNlLWxpbmVzLWlu
bGluZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyZDhkNThjZDRmMDVkZGI4
MDUzNTRiZWI0ZjdkNDA4NTQ0MmRiNDZmLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9zdHlsZXMvc3R5bGVzLXNvdXJj
ZS1saW5lcy1pbmxpbmUuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDM3ICswLDAgQEAKLTxodG1s
PgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVj
dG9yLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5z
cGVjdG9yL2VsZW1lbnRzLXRlc3QuanMiPjwvc2NyaXB0PgotCi08c3R5bGU+Ci0uZm9vIHsKLSAg
ICBjb2xvcjogYmx1ZTsKLX0KLTwvc3R5bGU+Ci0KLTxzY3JpcHQ+Ci0KLWZ1bmN0aW9uIHRlc3Qo
KQotewotICAgIEluc3BlY3RvclRlc3Quc2VsZWN0Tm9kZUFuZFdhaXRGb3JTdHlsZXMoImZvbyIs
IHN0ZXAyKTsKLQotICAgIGZ1bmN0aW9uIHN0ZXAyKCkKLSAgICB7Ci0gICAgICAgIEluc3BlY3Rv
clRlc3QuZHVtcFNlbGVjdGVkRWxlbWVudFN0eWxlcyh0cnVlLCBmYWxzZSwgdHJ1ZSk7Ci0gICAg
ICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7Ci0gICAgfQotfQotCi08L3NjcmlwdD4K
LTwvaGVhZD4KLQotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotPHA+Ci1UZXN0cyB0aGF0IGVs
ZW1lbnRzIHBhbmVsIHNob3dzIHByb3BlciBpbmxpbmUgc3R5bGUgbG9jYXRpb25zIGluIHRoZSBz
aWRlYmFyIHBhbmVsLgotPC9wPgotCi08ZGl2IGlkPSJmb28iIGNsYXNzPSJmb28iIHN0eWxlPSJk
aXNwbGF5Om5vbmUiPkZvbzwvZGl2PgotPGlmcmFtZSBzcmM9InJlc291cmNlcy9zdHlsZXMtc291
cmNlLWxpbmVzLWlubGluZS1pZnJhbWUuaHRtbCI+Ci0KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9zdHlsZXMvc3R5bGVzLXNvdXJjZS1saW5lcy5o
dG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0eWxlcy9zdHlsZXMtc291cmNlLWxpbmVzLmh0
bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGEyNTRlMmRlMmQ2YjYzMmMxY2QxNDRk
ZDNjNGUyMjgzMThjZjZhNjMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0eWxlcy9zdHlsZXMtc291cmNlLWxpbmVz
Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw4MiArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPCEt
LQotICAgIExpbmUgbnVtYmVycyBhcmUgcmVwb3J0ZWQgd3J0IHRoZSBvcGVuZWQgc3R5bGUgdGFn
IGJhc2VsaW5lLgotICAgIEFsbG93IHNvbWUgc3BhY2UgaGVyZSB0byBhbGlnbiBsb2NhbCBsaW5l
IG51bWJlcnMgdG8gYmUgc3R5bGUgKyAxMC4KLSAgICBTZWxlY3RvciBzb3VyY2VMaW5lIGlzIHRo
ZSBsaW5lIG9mIHRoZSBjb3JyZXNwb25kaW5nIHsgZm9sbG93aW5nIHRoZQotICAgIHNlbGVjdG9y
IHRleHQuCi0tLT4KLQotPHN0eWxlIHR5cGU9InRleHQvY3NzIiBtZWRpYT0ic2NyZWVuIj4KLSNt
YWluLCAuYXRfbGluZV8xNTo6LyoKLU11bHRpbGluZSBjb21tZW50Ci1iZWZvcmUgcHNldWRvIGVs
ZW1lbnQKLSAgICAgICAgICAgICAgKi9iZWZvcmUgCi17Ci0gICAgY29sb3I6cmVkOwotICAgIGNv
bnRlbnQ6ICJCZWZvcmUiCi19Ci0vKgotCi1NdWx0aWxpbmUgY29tbWVudCBmb2xsb3dlZCB3aXRo
IHdoaXRlc3BhY2UKLQotCi0qLwotCi0jbWFpbiwgLmF0X2xpbmVfMjkKLQotCi17Ci0gICAgLyog
Q29tbWVudCBpbiBkZWZpbml0aW9uKi8KLSAgICAvKiBDb21tZW50IGluIGRlZmluaXRpb24gMiov
Ci0KLSAgICAvKiBDb21tZW50IGluIGRlZmluaXRpb24gMwotICAgICovZm9udC1mYW1pbHk6Lyog
IENvbW1lbnQgaW4gCi0gICAgICAgICAgICAgICAgICAgICAgdmFsdWUgICovY291cmllcjsKLSAg
ICBjb2xvciBibHVlOwotfS8qTXVsdGlsaW5lIGNvbW1lbnQKLQotZm9sbG93ZWQgYnkgc2VsZWN0
b3IKLSovI21haW4sCi0uYXRfbGluZV80MwotCi17Ci0gICAgZm9udC1zaXplOgotICAgICAgICAx
MHB4OwotfQotCi0KLSNtYWluLCAuYXRfbGluZV81MAotewotICAgIGJvcmRlcjogMXB4IHNvbGlk
Ci0gICAgcmVkOwotfQotPC9zdHlsZT4KLQotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMv
aW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8u
Li9odHRwL3Rlc3RzL2luc3BlY3Rvci9lbGVtZW50cy10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQ+Ci0KLWZ1bmN0aW9uIHRlc3QoKQotewotICAgIEluc3BlY3RvclRlc3Quc2VsZWN0Tm9kZUFu
ZFdhaXRGb3JTdHlsZXMoIm1haW4iLCBzdGVwMSk7Ci0KLSAgICBmdW5jdGlvbiBzdGVwMSgpCi0g
ICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBTZWxlY3RlZEVsZW1lbnRTdHlsZXModHJ1
ZSwgZmFsc2UsIHRydWUpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwot
ICAgIH0KLX0KLQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci0KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgp
Ij4KLTxwPgotVGVzdHMgdGhhdCBwcm9wZXIgc291cmNlIGxpbmVzIGFyZSByZXBvcnRlZCBmb3Ig
dGhlIHBhcnNlZCBzdHlsZXMuCi08L3A+Ci0KLTxkaXYgaWQ9Im1haW4iPjwvZGl2PgotCi08L2Jv
ZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Ivc3R5bGVzL3N0
eWxlcy1zb3VyY2Utb2Zmc2V0cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Iv
c3R5bGVzL3N0eWxlcy1zb3VyY2Utb2Zmc2V0cy1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IGQ3NzI3MjgyZWFhMDY5OWYwNmEyMDkyNDhlYThiNGIyMDc0ZGEyYmYu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yL3N0eWxlcy9zdHlsZXMtc291cmNlLW9mZnNldHMtZXhwZWN0ZWQudHh0Cisr
KyAvZGV2L251bGwKQEAgLTEsMjMgKzAsMCBAQAotVGVzdHMgdGhhdCBwcm9wZXIgZGF0YSBhbmQg
c3RhcnQvZW5kIG9mZnNldCBwb3NpdGlvbnMgYXJlIHJlcG9ydGVkIGZvciBDU1Mgc3R5bGUgZGVj
bGFyYXRpb25zIGFuZCBwcm9wZXJ0aWVzLgotCi1ib2R5OiBbMDowLTA6NF0gWzA6Ni05OjBdCi1b
J2ZvbnQtc2l6ZSc6JzEycHgnXSBAWzE6NC0xOjIwXQotWydmb28nOidiYXIgIQotCi0gICAgaW1w
b3J0YW50IC8qICFpbXBvcnRhbnQgcHJvcGVydHkgbm90IHJlY29nbml6ZWQgYnkgV2ViQ29yZSAq
LycgIWltcG9ydGFudCBub24tcGFyc2VkXSBAWzI6NC00OjY2XQotWydoZWlnaHQnOicxMDAlICFp
bXBvcnRhbnQnICFpbXBvcnRhbnRdIEBbNTo0LTU6MjhdCi1bJ2NvbG9yeic6JyIhaW1wb3J0YW50
Iicgbm9uLXBhcnNlZF0gQFs2OjQtNjoyNV0KLVsnaW1wb3J0YW50JzonIWltcG9ydGFudCcgbm9u
LXBhcnNlZF0gQFs3OjQtNzoyNV0KLVsnY29sb3InOiciYmFkY29sb3IiICEgaW1wb3J0YW50IC8q
IGdvb2QgcHJvcGVydHkgd2l0aCBzdHJhbmdlIHZhbHVlICovJyAhaW1wb3J0YW50IG5vbi1wYXJz
ZWRdIEBbODo0LTg6NzNdCi1ib2R5Lm1haW4xOiBbMTE6MjktMTE6NjddIFsxMTo2OC0xMToxNDld
Ci1bJ2NvbG9yJzonI0YwMEJBQSddIEBbMTE6ODEtMTE6OTZdCi1bJ3pvbyc6J21vbyAvKiBub3Qg
YW4gIWltcG9ydGFudCB1bnJlY29nbml6ZWQgcHJvcGVydHkgKi8nIG5vbi1wYXJzZWRdIEBbMTE6
OTYtMTE6MTQ5XQotYm9keS5tYWluMjogWzEzOjAtMTM6MTBdIFsxMzoxMS0xMzoxMDZdCi1bJ2Jh
Y2tncm91bmQnOidncmVlbiAvKiB2YWx1ZSAhaW1wb3J0YW50IGNvbW1lbnQgKi8gIWltcG9ydGFu
dCAvKiBubyBzZW1pY29sb24sIHZlcnkgIWltcG9ydGFudCAqLycgIWltcG9ydGFudF0gQFsxMzox
MS0xMzoxMDZdCi1ib2R5Lm1haW5wYWdlOiBbMjowLTI6MTNdIFsyOjE1LTU6MF0KLVsndGV4dC1k
ZWNvcmF0aW9uJzonbm9uZSddIEBbMzo0LTM6MjZdCi1bJ2JhZHByb3BlcnR5JzonMWJhZHZhbHVl
MScgbm9uLXBhcnNlZF0gQFs0OjQtNDoyOF0KLWVsZW1lbnQuc3R5bGU6IFswOjAtMDozMV0KLVsn
Zm9udC13ZWlnaHQnOidub3JtYWwnXSBAWzA6MC0wOjIwXQotWyd3aWR0aCc6JzgwJSddIEBbMDoy
MS0wOjMxXQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Ivc3R5bGVzL3N0eWxl
cy1zb3VyY2Utb2Zmc2V0cy5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0eWxlcy9zdHls
ZXMtc291cmNlLW9mZnNldHMuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTk5
NDNiNzJmZjc0YjI1ODc3OTMzM2Y2MDU3YjA1MmYyYjhlYTcyOS4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Ivc3R5bGVz
L3N0eWxlcy1zb3VyY2Utb2Zmc2V0cy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsOTYgKzAsMCBA
QAotPGh0bWw+Ci08aGVhZD4KLQotPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJyZXNvdXJj
ZXMvc3R5bGVzLXNvdXJjZS1vZmZzZXRzLmNzcyI+Ci0KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRw
L3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNy
Yz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMtdGVzdC5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0PgotCi1mdW5jdGlvbiB0ZXN0KCkKLXsKLSAgICBmdW5jdGlvbiBkdW1wU3R5bGVE
YXRhKHJ1bGVPclN0eWxlKQotICAgIHsKLSAgICAgICAgdmFyIGlzUnVsZSA9ICEhKHJ1bGVPclN0
eWxlLnN0eWxlKTsKLSAgICAgICAgdmFyIHN0eWxlOwotICAgICAgICB2YXIgaGVhZGVyID0gIiI7
Ci0gICAgICAgIGlmIChpc1J1bGUpIHsKLSAgICAgICAgICAgIGlmIChydWxlT3JTdHlsZS5vcmln
aW4gIT09ICJyZWd1bGFyIikKLSAgICAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgICAgICBz
dHlsZSA9IHJ1bGVPclN0eWxlLnN0eWxlOwotICAgICAgICAgICAgaGVhZGVyID0gcnVsZU9yU3R5
bGUuc2VsZWN0b3JMaXN0LnRleHQgKyAiOiAiICsgKHJ1bGVPclN0eWxlLnNlbGVjdG9yTGlzdC5y
YW5nZSA/IEluc3BlY3RvclRlc3QucmFuZ2VUZXh0KHJ1bGVPclN0eWxlLnNlbGVjdG9yTGlzdC5y
YW5nZSkgOiAiIik7Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICBzdHlsZSA9IHJ1bGVP
clN0eWxlOwotICAgICAgICAgICAgaGVhZGVyID0gImVsZW1lbnQuc3R5bGU6IjsKLSAgICAgICAg
fQotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdChoZWFkZXIgKyAiICIgKyBJbnNwZWN0
b3JUZXN0LnJhbmdlVGV4dChzdHlsZS5yYW5nZSkpOwotICAgICAgICB2YXIgYWxsUHJvcGVydGll
cyA9IHN0eWxlLmNzc1Byb3BlcnRpZXM7Ci0gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYWxs
UHJvcGVydGllcy5sZW5ndGg7ICsraSkgewotICAgICAgICAgICAgdmFyIHByb3BlcnR5ID0gYWxs
UHJvcGVydGllc1tpXTsKLSAgICAgICAgICAgIGlmICghcHJvcGVydHkuc3RhdHVzKQotICAgICAg
ICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQo
IlsnIiArIHByb3BlcnR5Lm5hbWUgKyAiJzonIiArIHByb3BlcnR5LnZhbHVlICsgIiciICsgKHBy
b3BlcnR5LnByaW9yaXR5ID8gIiAhaW1wb3J0YW50IiA6ICIiKSArICgoInBhcnNlZE9rIiBpbiBw
cm9wZXJ0eSkgPyAiIG5vbi1wYXJzZWQiIDogIiIpICsiXSBAIiArIEluc3BlY3RvclRlc3QucmFu
Z2VUZXh0KHByb3BlcnR5LnJhbmdlKSk7Ci0gICAgICAgIH0KLSAgICB9Ci0gICAgCi0gICAgSW5z
cGVjdG9yVGVzdC5zZWxlY3ROb2RlV2l0aElkKCJtYWluQm9keSIsIHN0ZXAxKTsKLQotICAgIHZh
ciByZXN1bHRTdHlsZXMgPSB7fTsKLQotICAgIGZ1bmN0aW9uIGlubGluZUNhbGxiYWNrKGVycm9y
LCBpbmxpbmVTdHlsZSkKLSAgICB7Ci0gICAgICAgIGlmIChlcnJvcikgewotICAgICAgICAgICAg
IEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJlcnJvcjogIiArIGVycm9yKTsKLSAgICAgICAgICAg
ICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwotICAgICAgICAgICAgIHJldHVybjsKLSAg
ICAgICAgfQotCi0gICAgICAgIHJlc3VsdFN0eWxlcy5pbmxpbmVTdHlsZSA9IGlubGluZVN0eWxl
OwotICAgIH0KLQotICAgIGZ1bmN0aW9uIG1hdGNoZWRDYWxsYmFjayhlcnJvciwgbWF0Y2hlZENT
U1J1bGVzKQotICAgIHsKLSAgICAgICAgaWYgKGVycm9yKSB7Ci0gICAgICAgICAgICAgSW5zcGVj
dG9yVGVzdC5hZGRSZXN1bHQoImVycm9yOiAiICsgZXJyb3IpOwotICAgICAgICAgICAgIEluc3Bl
Y3RvclRlc3QuY29tcGxldGVUZXN0KCk7Ci0gICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB9
Ci0gICAgICAgIHJlc3VsdFN0eWxlcy5tYXRjaGVkQ1NTUnVsZXMgPSBtYXRjaGVkQ1NTUnVsZXM7
Ci0gICAgICAgIHN0ZXAyKCk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc3RlcDEobm9kZSkKLSAg
ICB7Ci0gICAgICAgIENTU0FnZW50LmdldElubGluZVN0eWxlc0Zvck5vZGUobm9kZS5pZCwgaW5s
aW5lQ2FsbGJhY2spOwotICAgICAgICBDU1NBZ2VudC5nZXRNYXRjaGVkU3R5bGVzRm9yTm9kZShu
b2RlLmlkLCBtYXRjaGVkQ2FsbGJhY2spOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0ZXAyKCkK
LSAgICB7Ci0gICAgICAgIHZhciBtYXRjaGVkQ1NTUnVsZXMgPSByZXN1bHRTdHlsZXMubWF0Y2hl
ZENTU1J1bGVzOwotICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IG1hdGNoZWRDU1NSdWxlcy5s
ZW5ndGg7ICsraSkKLSAgICAgICAgICAgIGR1bXBTdHlsZURhdGEobWF0Y2hlZENTU1J1bGVzW2ld
LnJ1bGUpOwotICAgICAgICBkdW1wU3R5bGVEYXRhKHJlc3VsdFN0eWxlcy5pbmxpbmVTdHlsZSk7
Ci0gICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7Ci0gICAgfQotfQotCi08L3Nj
cmlwdD4KLQotPHN0eWxlPgotCi1ib2R5Lm1haW5wYWdlIHsKLSAgICB0ZXh0LWRlY29yYXRpb246
IG5vbmU7IC8qIGF0IGxlYXN0IG9uZSB2YWxpZCBwcm9wZXJ0eSBpcyBuZWNlc3NhcnkgZm9yIFdl
YkNvcmUgdG8gbWF0Y2ggYSBydWxlICovCi0gICAgYmFkcHJvcGVydHk6IDFiYWR2YWx1ZTE7Ci19
Ci0KLTwvc3R5bGU+Ci08L2hlYWQ+Ci0KLTxib2R5IGlkPSJtYWluQm9keSIgY2xhc3M9Im1haW4x
IG1haW4yIG1haW5wYWdlIiBvbmxvYWQ9InJ1blRlc3QoKSIgc3R5bGU9ImZvbnQtd2VpZ2h0OiBu
b3JtYWw7IHdpZHRoOiA4MCUiPgotPHA+Ci1UZXN0cyB0aGF0IHByb3BlciBkYXRhIGFuZCBzdGFy
dC9lbmQgb2Zmc2V0IHBvc2l0aW9ucyBhcmUgcmVwb3J0ZWQgZm9yIENTUyBzdHlsZSBkZWNsYXJh
dGlvbnMgYW5kIHByb3BlcnRpZXMuCi08L3A+Ci0KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9zdHlsZXMvdW5kby1hZGQtbmV3LXJ1bGUtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0eWxlcy91bmRvLWFkZC1uZXctcnVsZS1l
eHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDEwN2E2MzhlMTU2Y2M3
OGE5ZDEyYjAwZjc0YjVlODA5MWM3MGQ4NzMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0eWxlcy91bmRvLWFkZC1u
ZXctcnVsZS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw2NSArMCwwIEBACi1UZXN0
cyB0aGF0IGFkZGluZyBhIG5ldyBydWxlIGNhbiBiZSB1bmRvbmUuCi0KLVRleHQKLUFmdGVyIGFk
ZGluZyBuZXcgcnVsZToKLVtleHBhbmRlZF0gCi1lbGVtZW50LnN0eWxlICB7ICgpCi1mb250LXNp
emU6IDEycHg7Ci0KLT09PT09PT09IE1hdGNoZWQgQ1NTIFJ1bGVzID09PT09PT09Ci1bZXhwYW5k
ZWRdIAotZGl2LmZvbyAgeyAoaW5zcGVjdG9yLXN0eWxlc2hlZXQ6MSkKLQotW2V4cGFuZGVkXSAK
LWRpdi5mb28gIHsgKGluc3BlY3Rvci1zdHlsZXNoZWV0OjEpCi0KLVtleHBhbmRlZF0gCi1kaXYg
IHsgKHVzZXIgYWdlbnQgc3R5bGVzaGVldCkKLWRpc3BsYXk6IGJsb2NrOwotCi0KLT09PT09IFN0
eWxlIHNoZWV0IHRleHQ6ID09PT09Ci1kaXYuZm9vIHt9Ci1kaXYuZm9vIHt9Ci09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotQWZ0ZXIgdW5kbzoKLVtleHBhbmRlZF0gCi1lbGVtZW50LnN0
eWxlICB7ICgpCi1jb2xvcjogcmVkOwotCi09PT09PT09PSBNYXRjaGVkIENTUyBSdWxlcyA9PT09
PT09PQotW2V4cGFuZGVkXSAKLWRpdi5mb28gIHsgKGluc3BlY3Rvci1zdHlsZXNoZWV0OjEpCi0K
LVtleHBhbmRlZF0gCi1kaXYgIHsgKHVzZXIgYWdlbnQgc3R5bGVzaGVldCkKLWRpc3BsYXk6IGJs
b2NrOwotCi0KLT09PT09IFN0eWxlIHNoZWV0IHRleHQ6ID09PT09Ci1kaXYuZm9vIHt9Ci0KLT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci1BZnRlciByZWRvOgotW2V4cGFuZGVkXSAKLWVs
ZW1lbnQuc3R5bGUgIHsgKCkKLWZvbnQtc2l6ZTogMTJweDsKLQotPT09PT09PT0gTWF0Y2hlZCBD
U1MgUnVsZXMgPT09PT09PT0KLVtleHBhbmRlZF0gCi1kaXYuZm9vICB7IChpbnNwZWN0b3Itc3R5
bGVzaGVldDoxKQotCi1bZXhwYW5kZWRdIAotZGl2LmZvbyAgeyAoaW5zcGVjdG9yLXN0eWxlc2hl
ZXQ6MSkKLQotW2V4cGFuZGVkXSAKLWRpdiAgeyAodXNlciBhZ2VudCBzdHlsZXNoZWV0KQotZGlz
cGxheTogYmxvY2s7Ci0KLQotPT09PT0gU3R5bGUgc2hlZXQgdGV4dDogPT09PT0KLWRpdi5mb28g
e30KLQotZGl2LmZvbyB7fQotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0eWxlcy91bmRvLWFkZC1uZXctcnVsZS5odG1s
IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0eWxlcy91bmRvLWFkZC1uZXctcnVsZS5odG1sCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2ZjNmZTQyZjQ4YWI5NDRhNjJjMTY1NzRkMTdm
YjZlNDc1ZGExN2U0Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9zdHlsZXMvdW5kby1hZGQtbmV3LXJ1bGUuaHRtbAor
KysgL2Rldi9udWxsCkBAIC0xLDk5ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNy
Yz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzLXRlc3Qu
anMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLQotZnVuY3Rpb24gdGVzdCgpCi17Ci0gICAgV2ViSW5z
cGVjdG9yLnNob3dQYW5lbCgiZWxlbWVudHMiKTsKLSAgICBJbnNwZWN0b3JUZXN0LnNlbGVjdE5v
ZGVBbmRXYWl0Rm9yU3R5bGVzKCJpbnNwZWN0ZWQiLCBzdGVwMSk7Ci0KLSAgICB2YXIgdHJlZUVs
ZW1lbnQ7Ci0KLSAgICBmdW5jdGlvbiBzdGVwMSgpCi0gICAgewotICAgICAgICBhZGROZXdSdWxl
QW5kU2VsZWN0Tm9kZSgib3RoZXIiLCBzdGVwMik7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc3Rl
cDIoKQotICAgIHsKLSAgICAgICAgYWRkTmV3UnVsZUFuZFNlbGVjdE5vZGUoImluc3BlY3RlZCIs
IHN0ZXAzKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwMygpCi0gICAgewotICAgICAgICBJ
bnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiQWZ0ZXIgYWRkaW5nIG5ldyBydWxlOiIpOwotICAgICAg
ICBJbnNwZWN0b3JUZXN0LmR1bXBTZWxlY3RlZEVsZW1lbnRTdHlsZXModHJ1ZSwgZmFsc2UsIHRy
dWUpOwotICAgICAgICBwcmludFN0eWxlU2hlZXRBbmRDYWxsKHN0ZXA0KTsKLSAgICB9Ci0KLSAg
ICBmdW5jdGlvbiBzdGVwNCgpCi0gICAgewotICAgICAgICBXZWJJbnNwZWN0b3IuZG9tQWdlbnQu
dW5kbygpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LnNlbGVjdE5vZGVBbmRXYWl0Rm9yU3R5bGVz
KCJvdGhlciIsIHN0ZXA1KTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwNSgpCi0gICAgewot
ICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiQWZ0ZXIgdW5kbzoiKTsKLSAgICAgICAg
SW5zcGVjdG9yVGVzdC5kdW1wU2VsZWN0ZWRFbGVtZW50U3R5bGVzKHRydWUsIGZhbHNlLCB0cnVl
KTsKLSAgICAgICAgcHJpbnRTdHlsZVNoZWV0QW5kQ2FsbChzdGVwNik7Ci0gICAgfQotCi0gICAg
ZnVuY3Rpb24gc3RlcDYoKQotICAgIHsKLSAgICAgICAgV2ViSW5zcGVjdG9yLmRvbUFnZW50LnJl
ZG8oKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5zZWxlY3ROb2RlQW5kV2FpdEZvclN0eWxlcygi
aW5zcGVjdGVkIiwgc3RlcDcpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0ZXA3KCkKLSAgICB7
Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJBZnRlciByZWRvOiIpOwotICAgICAg
ICBJbnNwZWN0b3JUZXN0LmR1bXBTZWxlY3RlZEVsZW1lbnRTdHlsZXModHJ1ZSwgZmFsc2UsIHRy
dWUpOwotICAgICAgICBwcmludFN0eWxlU2hlZXRBbmRDYWxsKHN0ZXA4KTsKLSAgICB9Ci0KLSAg
ICBmdW5jdGlvbiBzdGVwOCgpCi0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRl
VGVzdCgpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIGFkZE5ld1J1bGVBbmRTZWxlY3ROb2RlKG5v
ZGVJZCwgbmV4dCkKLSAgICB7Ci0gICAgICAgIC8vIENsaWNrICJBZGQgbmV3IHJ1bGUiLgotICAg
ICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYWRkLXN0eWxlLWJ1dHRvbi10ZXN0LWlkIiku
Y2xpY2soKTsKLSAgICAgICAgdmFyIHNlY3Rpb24gPSBXZWJJbnNwZWN0b3IucGFuZWxzLmVsZW1l
bnRzLnNpZGViYXJQYW5lcy5zdHlsZXMuc2VjdGlvbnNbMF1bMl07Ci0gICAgICAgIHNlY3Rpb24u
X3NlbGVjdG9yRWxlbWVudC50ZXh0Q29udGVudCA9ICJkaXYuZm9vIjsKLSAgICAgICAgc2VjdGlv
bi5fc2VsZWN0b3JFbGVtZW50LmRpc3BhdGNoRXZlbnQoSW5zcGVjdG9yVGVzdC5jcmVhdGVLZXlF
dmVudCgiRW50ZXIiKSk7Ci0gICAgICAgIEluc3BlY3RvclRlc3Quc2VsZWN0Tm9kZUFuZFdhaXRG
b3JTdHlsZXMobm9kZUlkLCBuZXh0KTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBwcmludFN0eWxl
U2hlZXRBbmRDYWxsKG5leHQpCi0gICAgewotICAgICAgICB2YXIgc2VjdGlvbiA9IFdlYkluc3Bl
Y3Rvci5wYW5lbHMuZWxlbWVudHMuc2lkZWJhclBhbmVzLnN0eWxlcy5zZWN0aW9uc1swXVsyXTsK
LSAgICAgICAgdmFyIGlkID0gc2VjdGlvbi5zdHlsZVJ1bGUuc3R5bGUuaWQuc3R5bGVTaGVldElk
OwotICAgICAgICBDU1NBZ2VudC5nZXRTdHlsZVNoZWV0VGV4dChpZCwgY2FsbGJhY2spOwotICAg
ICAgICBmdW5jdGlvbiBjYWxsYmFjayhyZXN1bHQsIHN0eWxlU2hlZXRUZXh0KQotICAgICAgICB7
Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiPT09PT0gU3R5bGUgc2hlZXQg
dGV4dDogPT09PT0iKTsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KHN0eWxl
U2hlZXRUZXh0KTsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCI9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PSIpOwotICAgICAgICAgICAgbmV4dCgpOwotICAgICAgICB9
Ci0gICAgfQotfQotCi08L3NjcmlwdD4KLTwvaGVhZD4KLQotPGJvZHkgb25sb2FkPSJydW5UZXN0
KCkiPgotPHA+Ci1UZXN0cyB0aGF0IGFkZGluZyBhIG5ldyBydWxlIGNhbiBiZSB1bmRvbmUuCi08
L3A+Ci0KLTxkaXYgY2xhc3M9ImZvbyIgaWQ9Imluc3BlY3RlZCIgc3R5bGU9ImZvbnQtc2l6ZTog
MTJweCI+VGV4dDwvZGl2PgotPGRpdiBjbGFzcz0iZm9vIiBpZD0ib3RoZXIiIHN0eWxlPSJjb2xv
cjpyZWQiPjwvZGl2PgotCi08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbnNwZWN0b3Ivc3R5bGVzL3VuZG8tYWRkLXByb3BlcnR5LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2luc3BlY3Rvci9zdHlsZXMvdW5kby1hZGQtcHJvcGVydHktZXhwZWN0ZWQudHh0CmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkM2VjNzg5NDliMDkwZjU0OTBjMzA4MzY1NWUw
MWZlMDJhMzc3M2U4Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9zdHlsZXMvdW5kby1hZGQtcHJvcGVydHktZXhwZWN0
ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTkyICswLDAgQEAKLVRlc3RzIHRoYXQgYWRkaW5n
IGEgcHJvcGVydHkgaXMgdW5kb25lIHByb3Blcmx5LgotCi09PT0gTGFzdCBwcm9wZXJ0eSA9PT0K
LShJbml0aWFsIHZhbHVlKQotW2V4cGFuZGVkXSAKLWVsZW1lbnQuc3R5bGUgIHsgKCkKLQotPT09
PT09PT0gTWF0Y2hlZCBDU1MgUnVsZXMgPT09PT09PT0KLVtleHBhbmRlZF0gCi0uY29udGFpbmVy
ICB7ICh1bmRvLWFkZC1wcm9wZXJ0eS5odG1sOjcpCi1mb250LXdlaWdodDogYm9sZDsKLQotW2V4
cGFuZGVkXSAKLWRpdiAgeyAodXNlciBhZ2VudCBzdHlsZXNoZWV0KQotZGlzcGxheTogYmxvY2s7
Ci0KLQotKEFmdGVyIGFkZGluZyBwcm9wZXJ0eSkKLVtleHBhbmRlZF0gCi1lbGVtZW50LnN0eWxl
ICB7ICgpCi0KLT09PT09PT09IE1hdGNoZWQgQ1NTIFJ1bGVzID09PT09PT09Ci1bZXhwYW5kZWRd
IAotLmNvbnRhaW5lciAgeyAodW5kby1hZGQtcHJvcGVydHkuaHRtbDo3KQotZm9udC13ZWlnaHQ6
IGJvbGQ7Ci1tYXJnaW4tbGVmdDogMnB4OwotCi1bZXhwYW5kZWRdIAotZGl2ICB7ICh1c2VyIGFn
ZW50IHN0eWxlc2hlZXQpCi1kaXNwbGF5OiBibG9jazsKLQotCi0oQWZ0ZXIgdW5kbykKLVtleHBh
bmRlZF0gCi1lbGVtZW50LnN0eWxlICB7ICgpCi0KLT09PT09PT09IE1hdGNoZWQgQ1NTIFJ1bGVz
ID09PT09PT09Ci1bZXhwYW5kZWRdIAotLmNvbnRhaW5lciAgeyAodW5kby1hZGQtcHJvcGVydHku
aHRtbDo3KQotZm9udC13ZWlnaHQ6IGJvbGQ7Ci0KLVtleHBhbmRlZF0gCi1kaXYgIHsgKHVzZXIg
YWdlbnQgc3R5bGVzaGVldCkKLWRpc3BsYXk6IGJsb2NrOwotCi0KLShBZnRlciByZWRvKQotW2V4
cGFuZGVkXSAKLWVsZW1lbnQuc3R5bGUgIHsgKCkKLQotPT09PT09PT0gTWF0Y2hlZCBDU1MgUnVs
ZXMgPT09PT09PT0KLVtleHBhbmRlZF0gCi0uY29udGFpbmVyICB7ICh1bmRvLWFkZC1wcm9wZXJ0
eS5odG1sOjcpCi1mb250LXdlaWdodDogYm9sZDsKLW1hcmdpbi1sZWZ0OiAycHg7Ci0KLVtleHBh
bmRlZF0gCi1kaXYgIHsgKHVzZXIgYWdlbnQgc3R5bGVzaGVldCkKLWRpc3BsYXk6IGJsb2NrOwot
Ci0KLT09PSBGaXJzdCBwcm9wZXJ0eSA9PT0KLShJbml0aWFsIHZhbHVlKQotW2V4cGFuZGVkXSAK
LWVsZW1lbnQuc3R5bGUgIHsgKCkKLQotPT09PT09PT0gTWF0Y2hlZCBDU1MgUnVsZXMgPT09PT09
PT0KLVtleHBhbmRlZF0gCi0uY29udGFpbmVyICB7ICh1bmRvLWFkZC1wcm9wZXJ0eS5odG1sOjcp
Ci1mb250LXdlaWdodDogYm9sZDsKLW1hcmdpbi1sZWZ0OiAycHg7Ci0KLVtleHBhbmRlZF0gCi1k
aXYgIHsgKHVzZXIgYWdlbnQgc3R5bGVzaGVldCkKLWRpc3BsYXk6IGJsb2NrOwotCi0KLShBZnRl
ciBhZGRpbmcgcHJvcGVydHkpCi1bZXhwYW5kZWRdIAotZWxlbWVudC5zdHlsZSAgeyAoKQotCi09
PT09PT09PSBNYXRjaGVkIENTUyBSdWxlcyA9PT09PT09PQotW2V4cGFuZGVkXSAKLS5jb250YWlu
ZXIgIHsgKHVuZG8tYWRkLXByb3BlcnR5Lmh0bWw6NykKLW1hcmdpbi10b3A6IDBweDsKLWZvbnQt
d2VpZ2h0OiBib2xkOwotbWFyZ2luLWxlZnQ6IDJweDsKLQotW2V4cGFuZGVkXSAKLWRpdiAgeyAo
dXNlciBhZ2VudCBzdHlsZXNoZWV0KQotZGlzcGxheTogYmxvY2s7Ci0KLQotKEFmdGVyIHVuZG8p
Ci1bZXhwYW5kZWRdIAotZWxlbWVudC5zdHlsZSAgeyAoKQotCi09PT09PT09PSBNYXRjaGVkIENT
UyBSdWxlcyA9PT09PT09PQotW2V4cGFuZGVkXSAKLS5jb250YWluZXIgIHsgKHVuZG8tYWRkLXBy
b3BlcnR5Lmh0bWw6NykKLWZvbnQtd2VpZ2h0OiBib2xkOwotbWFyZ2luLWxlZnQ6IDJweDsKLQot
W2V4cGFuZGVkXSAKLWRpdiAgeyAodXNlciBhZ2VudCBzdHlsZXNoZWV0KQotZGlzcGxheTogYmxv
Y2s7Ci0KLQotKEFmdGVyIHJlZG8pCi1bZXhwYW5kZWRdIAotZWxlbWVudC5zdHlsZSAgeyAoKQot
Ci09PT09PT09PSBNYXRjaGVkIENTUyBSdWxlcyA9PT09PT09PQotW2V4cGFuZGVkXSAKLS5jb250
YWluZXIgIHsgKHVuZG8tYWRkLXByb3BlcnR5Lmh0bWw6NykKLW1hcmdpbi10b3A6IDBweDsKLWZv
bnQtd2VpZ2h0OiBib2xkOwotbWFyZ2luLWxlZnQ6IDJweDsKLQotW2V4cGFuZGVkXSAKLWRpdiAg
eyAodXNlciBhZ2VudCBzdHlsZXNoZWV0KQotZGlzcGxheTogYmxvY2s7Ci0KLQotPT09IE1pZGRs
ZSBwcm9wZXJ0eSA9PT0KLShJbml0aWFsIHZhbHVlKQotW2V4cGFuZGVkXSAKLWVsZW1lbnQuc3R5
bGUgIHsgKCkKLQotPT09PT09PT0gTWF0Y2hlZCBDU1MgUnVsZXMgPT09PT09PT0KLVtleHBhbmRl
ZF0gCi0uY29udGFpbmVyICB7ICh1bmRvLWFkZC1wcm9wZXJ0eS5odG1sOjcpCi1tYXJnaW4tdG9w
OiAwcHg7Ci1mb250LXdlaWdodDogYm9sZDsKLW1hcmdpbi1sZWZ0OiAycHg7Ci0KLVtleHBhbmRl
ZF0gCi1kaXYgIHsgKHVzZXIgYWdlbnQgc3R5bGVzaGVldCkKLWRpc3BsYXk6IGJsb2NrOwotCi0K
LShBZnRlciBhZGRpbmcgcHJvcGVydHkpCi1bZXhwYW5kZWRdIAotZWxlbWVudC5zdHlsZSAgeyAo
KQotCi09PT09PT09PSBNYXRjaGVkIENTUyBSdWxlcyA9PT09PT09PQotW2V4cGFuZGVkXSAKLS5j
b250YWluZXIgIHsgKHVuZG8tYWRkLXByb3BlcnR5Lmh0bWw6NykKLW1hcmdpbi10b3A6IDBweDsK
LW1hcmdpbi1yaWdodDogMXB4OwotZm9udC13ZWlnaHQ6IGJvbGQ7Ci1tYXJnaW4tbGVmdDogMnB4
OwotCi1bZXhwYW5kZWRdIAotZGl2ICB7ICh1c2VyIGFnZW50IHN0eWxlc2hlZXQpCi1kaXNwbGF5
OiBibG9jazsKLQotCi0oQWZ0ZXIgdW5kbykKLVtleHBhbmRlZF0gCi1lbGVtZW50LnN0eWxlICB7
ICgpCi0KLT09PT09PT09IE1hdGNoZWQgQ1NTIFJ1bGVzID09PT09PT09Ci1bZXhwYW5kZWRdIAot
LmNvbnRhaW5lciAgeyAodW5kby1hZGQtcHJvcGVydHkuaHRtbDo3KQotbWFyZ2luLXRvcDogMHB4
OwotZm9udC13ZWlnaHQ6IGJvbGQ7Ci1tYXJnaW4tbGVmdDogMnB4OwotCi1bZXhwYW5kZWRdIAot
ZGl2ICB7ICh1c2VyIGFnZW50IHN0eWxlc2hlZXQpCi1kaXNwbGF5OiBibG9jazsKLQotCi0oQWZ0
ZXIgcmVkbykKLVtleHBhbmRlZF0gCi1lbGVtZW50LnN0eWxlICB7ICgpCi0KLT09PT09PT09IE1h
dGNoZWQgQ1NTIFJ1bGVzID09PT09PT09Ci1bZXhwYW5kZWRdIAotLmNvbnRhaW5lciAgeyAodW5k
by1hZGQtcHJvcGVydHkuaHRtbDo3KQotbWFyZ2luLXRvcDogMHB4OwotbWFyZ2luLXJpZ2h0OiAx
cHg7Ci1mb250LXdlaWdodDogYm9sZDsKLW1hcmdpbi1sZWZ0OiAycHg7Ci0KLVtleHBhbmRlZF0g
Ci1kaXYgIHsgKHVzZXIgYWdlbnQgc3R5bGVzaGVldCkKLWRpc3BsYXk6IGJsb2NrOwotCi0KLQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0eWxlcy91bmRvLWFkZC1wcm9wZXJ0
eS5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0eWxlcy91bmRvLWFkZC1wcm9wZXJ0eS5o
dG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkZDFkMzFjM2ZlZGVkZTNiZGVkOWIy
MTY4MGQ3ZjMzNGViN2U0ZmY3Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9zdHlsZXMvdW5kby1hZGQtcHJvcGVydHku
aHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDg1ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2Ny
aXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwv
c2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRz
LXRlc3QuanMiPjwvc2NyaXB0PgotCi08c3R5bGU+Ci0uY29udGFpbmVyIHsKLSAgZm9udC13ZWln
aHQ6IGJvbGQKLX0KLTwvc3R5bGU+Ci0KLTxzY3JpcHQ+Ci0KLWZ1bmN0aW9uIHRlc3QoKQotewot
ICAgIEluc3BlY3RvclRlc3Quc2VsZWN0Tm9kZUFuZFdhaXRGb3JTdHlsZXMoImNvbnRhaW5lciIs
IHRlc3RBcHBlbmRQcm9wZXJ0eS5iaW5kKG51bGwsIHRlc3RJbnNlcnRCZWdpbikpOwotCi0gICAg
ZnVuY3Rpb24gdGVzdEFwcGVuZFByb3BlcnR5KCkKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRl
c3QuYWRkUmVzdWx0KCI9PT0gTGFzdCBwcm9wZXJ0eSA9PT0iKTsKLSAgICAgICAgdGVzdEFkZFBy
b3BlcnR5KCJtYXJnaW4tbGVmdDogMnB4IiwgdW5kZWZpbmVkLCB0ZXN0SW5zZXJ0QmVnaW4pOwot
ICAgIH0KLQotICAgIGZ1bmN0aW9uIHRlc3RJbnNlcnRCZWdpbigpCi0gICAgewotICAgICAgICBJ
bnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiPT09IEZpcnN0IHByb3BlcnR5ID09PSIpOwotICAgICAg
ICB0ZXN0QWRkUHJvcGVydHkoIm1hcmdpbi10b3A6IDBweCIsIDAsIHRlc3RJbnNlcnRNaWRkbGUp
OwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHRlc3RJbnNlcnRNaWRkbGUoKQotICAgIHsKLSAgICAg
ICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIj09PSBNaWRkbGUgcHJvcGVydHkgPT09Iik7Ci0g
ICAgICAgIHRlc3RBZGRQcm9wZXJ0eSgibWFyZ2luLXJpZ2h0OiAxcHgiLCAxLCBJbnNwZWN0b3JU
ZXN0LmNvbXBsZXRlVGVzdC5iaW5kKEluc3BlY3RvclRlc3QpKTsKLSAgICB9Ci0KLSAgICBmdW5j
dGlvbiB0ZXN0QWRkUHJvcGVydHkocHJvcGVydHlUZXh0LCBpbmRleCwgY2FsbGJhY2spCi0gICAg
ewotCi0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCIoSW5pdGlhbCB2YWx1ZSkiKTsK
LSAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wU2VsZWN0ZWRFbGVtZW50U3R5bGVzKHRydWUpOwot
Ci0gICAgICAgIHZhciB0cmVlSXRlbSA9IEluc3BlY3RvclRlc3QuZ2V0TWF0Y2hlZFN0eWxlUHJv
cGVydHlUcmVlSXRlbSgiZm9udC13ZWlnaHQiKTsKLSAgICAgICAgdmFyIHRyZWVFbGVtZW50ID0g
dHJlZUl0ZW0uc2VjdGlvbigpLmFkZE5ld0JsYW5rUHJvcGVydHkoaW5kZXgpOwotICAgICAgICB0
cmVlRWxlbWVudC5hcHBseVN0eWxlVGV4dChwcm9wZXJ0eVRleHQsIHRydWUsIHRydWUpOwotICAg
ICAgICBJbnNwZWN0b3JUZXN0LndhaXRGb3JTdHlsZXMoImNvbnRhaW5lciIsIHN0ZXAxKTsKLQot
ICAgICAgICBmdW5jdGlvbiBzdGVwMSgpCi0gICAgICAgIHsKLSAgICAgICAgICAgIEluc3BlY3Rv
clRlc3QuYWRkUmVzdWx0KCIoQWZ0ZXIgYWRkaW5nIHByb3BlcnR5KSIpOwotICAgICAgICAgICAg
SW5zcGVjdG9yVGVzdC5kdW1wU2VsZWN0ZWRFbGVtZW50U3R5bGVzKHRydWUpOwotCi0gICAgICAg
ICAgICBXZWJJbnNwZWN0b3IuZG9tQWdlbnQudW5kbygpOwotICAgICAgICAgICAgSW5zcGVjdG9y
VGVzdC5zZWxlY3ROb2RlQW5kV2FpdEZvclN0eWxlcygib3RoZXIiLCBzdGVwMik7Ci0gICAgICAg
IH0KLQotICAgICAgICBmdW5jdGlvbiBzdGVwMigpCi0gICAgICAgIHsKLSAgICAgICAgICAgIElu
c3BlY3RvclRlc3QuYWRkUmVzdWx0KCIoQWZ0ZXIgdW5kbykiKTsKLSAgICAgICAgICAgIEluc3Bl
Y3RvclRlc3QuZHVtcFNlbGVjdGVkRWxlbWVudFN0eWxlcyh0cnVlKTsKLQotICAgICAgICAgICAg
V2ViSW5zcGVjdG9yLmRvbUFnZW50LnJlZG8oKTsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3Qu
c2VsZWN0Tm9kZUFuZFdhaXRGb3JTdHlsZXMoImNvbnRhaW5lciIsIHN0ZXAzKTsKLSAgICAgICAg
fQotCi0gICAgICAgIGZ1bmN0aW9uIHN0ZXAzKCkKLSAgICAgICAgewotICAgICAgICAgICAgSW5z
cGVjdG9yVGVzdC5hZGRSZXN1bHQoIihBZnRlciByZWRvKSIpOwotICAgICAgICAgICAgSW5zcGVj
dG9yVGVzdC5kdW1wU2VsZWN0ZWRFbGVtZW50U3R5bGVzKHRydWUpOwotICAgICAgICAgICAgY2Fs
bGJhY2soKTsKLSAgICAgICAgfQotICAgIH0KLX0KLTwvc2NyaXB0PgotPC9oZWFkPgotCi08Ym9k
eSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci08cD4KLVRlc3RzIHRoYXQgYWRkaW5nIGEgcHJvcGVydHkg
aXMgdW5kb25lIHByb3Blcmx5LgotPC9wPgotCi08ZGl2IGlkPSJjb250YWluZXIiIGNsYXNzPSJj
b250YWluZXIiPjwvZGl2PgotPGRpdiBpZD0ib3RoZXIiIGNsYXNzPSJjb250YWluZXIiPjwvZGl2
PgotCi08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Iv
c3R5bGVzL3VuZG8tYWRkLXJ1bGUtY3Jhc2gtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yL3N0eWxlcy91bmRvLWFkZC1ydWxlLWNyYXNoLWV4cGVjdGVkLnR4dApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggY2JlMDhjMzJiMGVjMjM0YTUxNDExNzZjOWJlYmZlYTY0MmZj
NGEwMS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9pbnNwZWN0b3Ivc3R5bGVzL3VuZG8tYWRkLXJ1bGUtY3Jhc2gtZXhwZWN0ZWQudHh0
CisrKyAvZGV2L251bGwKQEAgLTEsNCArMCwwIEBACi1UZXN0cyB0aGF0IHRoZSBpbnNwZWN0ZWQg
cGFnZSBkb2VzIG5vdCBjcmFzaCBhZnRlciB1bmRvaW5nIGEgbmV3IHJ1bGUgYWRkaXRpb24uIEJ1
ZyAxMDQ4MDYKLVRoZSB0ZXN0IGhhcyBwYXNzZWQgKG5vIGNyYXNoKS4KLQotCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Ivc3R5bGVzL3VuZG8tYWRkLXJ1bGUtY3Jhc2guaHRtbCBi
L0xheW91dFRlc3RzL2luc3BlY3Rvci9zdHlsZXMvdW5kby1hZGQtcnVsZS1jcmFzaC5odG1sCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1ZmY4YTZhODQwMGY4MDdkZGFiMzYyYmI5MTg2
YjI5ZjA1MWNiODE0Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9zdHlsZXMvdW5kby1hZGQtcnVsZS1jcmFzaC5odG1s
CisrKyAvZGV2L251bGwKQEAgLTEsNDcgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQg
c3JjPS4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Li4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMtdGVzdC5q
cz48L3NjcmlwdD4KLTxzY3JpcHQ+Ci0KLWZ1bmN0aW9uIHRlc3QoKQotewotICAgIEluc3BlY3Rv
clRlc3Quc2VsZWN0Tm9kZUFuZFdhaXRGb3JTdHlsZXMoImluc3BlY3RlZCIsIHN0ZXAxKTsKLQot
ICAgIGZ1bmN0aW9uIHN0ZXAxKCkKLSAgICB7Ci0gICAgICAgIGFkZE5ld1J1bGVBbmRTZWxlY3RO
b2RlKCJvdGhlciIsIHN0ZXAyKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwMigpCi0gICAg
ewotICAgICAgICBXZWJJbnNwZWN0b3IuZG9tQWdlbnQudW5kbygpOwotICAgICAgICBJbnNwZWN0
b3JUZXN0LndhaXRGb3JTdHlsZXMoIm90aGVyIiwgc3RlcDMpOwotICAgIH0KLQotICAgIGZ1bmN0
aW9uIHN0ZXAzKCkKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7
Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gYWRkTmV3UnVsZUFuZFNlbGVjdE5vZGUobm9kZUlkLCBu
ZXh0KQotICAgIHsKLSAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImFkZC1zdHlsZS1i
dXR0b24tdGVzdC1pZCIpLmNsaWNrKCk7Ci0gICAgICAgIHZhciBzZWN0aW9uID0gV2ViSW5zcGVj
dG9yLnBhbmVscy5lbGVtZW50cy5zaWRlYmFyUGFuZXMuc3R5bGVzLnNlY3Rpb25zWzBdWzJdOwot
ICAgICAgICBJbnNwZWN0b3JUZXN0LnNlbGVjdE5vZGVBbmRXYWl0Rm9yU3R5bGVzKG5vZGVJZCwg
bmV4dCk7Ci0gICAgfQotfQotCi08L3NjcmlwdD4KLTwvaGVhZD4KLQotPGJvZHkgb25sb2FkPSJy
dW5UZXN0KCkiPgotVGVzdHMgdGhhdCB0aGUgaW5zcGVjdGVkIHBhZ2UgZG9lcyBub3QgY3Jhc2gg
YWZ0ZXIgdW5kb2luZyBhIG5ldyBydWxlIGFkZGl0aW9uLiA8YSBocmVmPSJodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA0ODA2Ij5CdWcgMTA0ODA2PC9hPgotCi08cD5U
aGUgdGVzdCBoYXMgcGFzc2VkIChubyBjcmFzaCkuPC9wPgotPGRpdiBpZD0iaW5zcGVjdGVkIj48
ZGl2IGlkPSJvdGhlciIgLz48L2Rpdj4KLTxzdHlsZT4KLUAtd2Via2l0LWtleWZyYW1lcyBjZnB1
bHNlMSB7IDAlIHsgb3BhY2l0eTogMC4xOyAgfSB9Ci0uYzEgeyAtd2Via2l0LWFuaW1hdGlvbi1u
YW1lOiBjZnB1bHNlMTsgIH0KLTwvc3R5bGU+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3Ivc3R5bGVzL3VuZG8tY2hhbmdlLXByb3BlcnR5LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2luc3BlY3Rvci9zdHlsZXMvdW5kby1jaGFuZ2UtcHJvcGVydHktZXhwZWN0
ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1NzIwZDY4YzdkYjMxNzc3OTA4
YzEzZWYwOGVkYjNlMDAwMWI3YWJlLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9zdHlsZXMvdW5kby1jaGFuZ2UtcHJv
cGVydHktZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNTkgKzAsMCBAQAotVGVzdHMg
dGhhdCBjaGFuZ2luZyBhIHByb3BlcnR5IGlzIHVuZG9uZSBwcm9wZXJseS4KLQotSW5pdGlhbCB2
YWx1ZQotW2V4cGFuZGVkXSAKLWVsZW1lbnQuc3R5bGUgIHsgKCkKLQotPT09PT09PT0gTWF0Y2hl
ZCBDU1MgUnVsZXMgPT09PT09PT0KLVtleHBhbmRlZF0gCi0uY29udGFpbmVyICB7ICh1bmRvLWNo
YW5nZS1wcm9wZXJ0eS5odG1sOjcpCi1mb250LXdlaWdodDogYm9sZDsKLQotW2V4cGFuZGVkXSAK
LWRpdiAgeyAodXNlciBhZ2VudCBzdHlsZXNoZWV0KQotZGlzcGxheTogYmxvY2s7Ci0KLQotQWZ0
ZXIgY2hhbmdpbmcgcHJvcGVydHkKLVtleHBhbmRlZF0gCi1lbGVtZW50LnN0eWxlICB7ICgpCi0K
LT09PT09PT09IE1hdGNoZWQgQ1NTIFJ1bGVzID09PT09PT09Ci1bZXhwYW5kZWRdIAotLmNvbnRh
aW5lciAgeyAodW5kby1jaGFuZ2UtcHJvcGVydHkuaHRtbDo3KQotZm9udC13ZWlnaHQ6IG5vcm1h
bDsKLQotW2V4cGFuZGVkXSAKLWRpdiAgeyAodXNlciBhZ2VudCBzdHlsZXNoZWV0KQotZGlzcGxh
eTogYmxvY2s7Ci0KLQotQWZ0ZXIgdW5kbwotW2V4cGFuZGVkXSAKLWVsZW1lbnQuc3R5bGUgIHsg
KCkKLQotPT09PT09PT0gTWF0Y2hlZCBDU1MgUnVsZXMgPT09PT09PT0KLVtleHBhbmRlZF0gCi0u
Y29udGFpbmVyICB7ICh1bmRvLWNoYW5nZS1wcm9wZXJ0eS5odG1sOjcpCi1mb250LXdlaWdodDog
Ym9sZDsKLQotW2V4cGFuZGVkXSAKLWRpdiAgeyAodXNlciBhZ2VudCBzdHlsZXNoZWV0KQotZGlz
cGxheTogYmxvY2s7Ci0KLQotQWZ0ZXIgcmVkbwotW2V4cGFuZGVkXSAKLWVsZW1lbnQuc3R5bGUg
IHsgKCkKLQotPT09PT09PT0gTWF0Y2hlZCBDU1MgUnVsZXMgPT09PT09PT0KLVtleHBhbmRlZF0g
Ci0uY29udGFpbmVyICB7ICh1bmRvLWNoYW5nZS1wcm9wZXJ0eS5odG1sOjcpCi1mb250LXdlaWdo
dDogbm9ybWFsOwotCi1bZXhwYW5kZWRdIAotZGl2ICB7ICh1c2VyIGFnZW50IHN0eWxlc2hlZXQp
Ci1kaXNwbGF5OiBibG9jazsKLQotCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rv
ci9zdHlsZXMvdW5kby1jaGFuZ2UtcHJvcGVydHkuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rv
ci9zdHlsZXMvdW5kby1jaGFuZ2UtcHJvcGVydHkuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggNTM0MTAyZmJkN2QyMDlmNmZmY2VlNTdhZGMwYzIzZTk4NDUyNzRhNy4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3Ivc3R5bGVzL3VuZG8tY2hhbmdlLXByb3BlcnR5Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAt
MSw2NSArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVz
dHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIu
Li8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9lbGVtZW50cy10ZXN0LmpzIj48L3NjcmlwdD4KLQot
PHN0eWxlPgotLmNvbnRhaW5lciB7Ci0gIGZvbnQtd2VpZ2h0OiBib2xkCi19Ci08L3N0eWxlPgot
Ci08c2NyaXB0PgotCi1mdW5jdGlvbiB0ZXN0KCkKLXsKLSAgICBJbnNwZWN0b3JUZXN0LnNlbGVj
dE5vZGVBbmRXYWl0Rm9yU3R5bGVzKCJjb250YWluZXIiLCBzdGVwMSk7Ci0KLSAgICBmdW5jdGlv
biBzdGVwMSgpCi0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiSW5pdGlh
bCB2YWx1ZSIpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBTZWxlY3RlZEVsZW1lbnRTdHls
ZXModHJ1ZSk7Ci0KLSAgICAgICAgdmFyIHRyZWVJdGVtID0gSW5zcGVjdG9yVGVzdC5nZXRNYXRj
aGVkU3R5bGVQcm9wZXJ0eVRyZWVJdGVtKCJmb250LXdlaWdodCIpOwotICAgICAgICB0cmVlSXRl
bS5hcHBseVN0eWxlVGV4dCgiZm9udC13ZWlnaHQ6IG5vcm1hbCIsIHRydWUsIGZhbHNlKTsKLSAg
ICAgICAgSW5zcGVjdG9yVGVzdC53YWl0Rm9yU3R5bGVzKCJjb250YWluZXIiLCBzdGVwMik7Ci0g
ICAgfQotCi0gICAgZnVuY3Rpb24gc3RlcDIoKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVz
dC5hZGRSZXN1bHQoIkFmdGVyIGNoYW5naW5nIHByb3BlcnR5Iik7Ci0gICAgICAgIEluc3BlY3Rv
clRlc3QuZHVtcFNlbGVjdGVkRWxlbWVudFN0eWxlcyh0cnVlKTsKLQotICAgICAgICBXZWJJbnNw
ZWN0b3IuZG9tQWdlbnQudW5kbygpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LnNlbGVjdE5vZGVB
bmRXYWl0Rm9yU3R5bGVzKCJvdGhlciIsIHN0ZXAzKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBz
dGVwMygpCi0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiQWZ0ZXIgdW5k
byIpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBTZWxlY3RlZEVsZW1lbnRTdHlsZXModHJ1
ZSk7Ci0KLSAgICAgICAgV2ViSW5zcGVjdG9yLmRvbUFnZW50LnJlZG8oKTsKLSAgICAgICAgSW5z
cGVjdG9yVGVzdC5zZWxlY3ROb2RlQW5kV2FpdEZvclN0eWxlcygiY29udGFpbmVyIiwgc3RlcDQp
OwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0ZXA0KCkKLSAgICB7Ci0gICAgICAgIEluc3BlY3Rv
clRlc3QuYWRkUmVzdWx0KCJBZnRlciByZWRvIik7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuZHVt
cFNlbGVjdGVkRWxlbWVudFN0eWxlcyh0cnVlKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21w
bGV0ZVRlc3QoKTsKLSAgICB9Ci19Ci08L3NjcmlwdD4KLTwvaGVhZD4KLQotPGJvZHkgb25sb2Fk
PSJydW5UZXN0KCkiPgotPHA+Ci1UZXN0cyB0aGF0IGNoYW5naW5nIGEgcHJvcGVydHkgaXMgdW5k
b25lIHByb3Blcmx5LgotPC9wPgotCi08ZGl2IGlkPSJjb250YWluZXIiIGNsYXNzPSJjb250YWlu
ZXIiPjwvZGl2PgotPGRpdiBpZD0ib3RoZXIiIGNsYXNzPSJjb250YWluZXIiPjwvZGl2PgotCi08
L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Ivc3R5bGVz
L3VuZG8tcHJvcGVydHktdG9nZ2xlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rv
ci9zdHlsZXMvdW5kby1wcm9wZXJ0eS10b2dnbGUtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCBhM2NiN2U0NDRhNjk3NjhhYzIyYWE3OWE0MTIzOGI2OTc1NGM2YWY2
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2luc3BlY3Rvci9zdHlsZXMvdW5kby1wcm9wZXJ0eS10b2dnbGUtZXhwZWN0ZWQudHh0Cisr
KyAvZGV2L251bGwKQEAgLTEsMTEgKzAsMCBAQAotVGVzdHMgdGhhdCBkaXNhYmxpbmcgc3R5bGUg
aXMgdW5kb25lIHByb3Blcmx5LgotCi1CZWZvcmUgZGlzYWJsZQotZm9udC13ZWlnaHQ6IGJvbGQ7
Ci1BZnRlciBkaXNhYmxlCi0vLS0gb3ZlcmxvYWRlZCAtLS8gLy0tIGRpc2FibGVkIC0tLyBmb250
LXdlaWdodDogYm9sZDsKLUFmdGVyIHVuZG8KLWZvbnQtd2VpZ2h0OiBib2xkOwotQWZ0ZXIgcmVk
bwotLy0tIG92ZXJsb2FkZWQgLS0vIC8tLSBkaXNhYmxlZCAtLS8gZm9udC13ZWlnaHQ6IGJvbGQ7
Ci0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9zdHlsZXMvdW5kby1wcm9wZXJ0
eS10b2dnbGUuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9zdHlsZXMvdW5kby1wcm9wZXJ0
eS10b2dnbGUuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZmU4YjY5YTQzNjE0
NjdlMWYyOWNjMDhmYTMwZjgxYzYwZjQ1N2Y4MS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Ivc3R5bGVzL3VuZG8tcHJv
cGVydHktdG9nZ2xlLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw2MSArMCwwIEBACi08aHRtbD4K
LTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rv
ci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3Bl
Y3Rvci9lbGVtZW50cy10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci0KLWZ1bmN0aW9uIHRl
c3QoKQotewotICAgIEluc3BlY3RvclRlc3Quc2VsZWN0Tm9kZUFuZFdhaXRGb3JTdHlsZXMoImNv
bnRhaW5lciIsIHN0ZXAxKTsKLQotICAgIGZ1bmN0aW9uIHN0ZXAxKG5vZGUpCi0gICAgewotICAg
ICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiQmVmb3JlIGRpc2FibGUiKTsKLSAgICAgICAg
dmFyIHRyZWVJdGVtID0gSW5zcGVjdG9yVGVzdC5nZXRFbGVtZW50U3R5bGVQcm9wZXJ0eVRyZWVJ
dGVtKCJmb250LXdlaWdodCIpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBTdHlsZVRyZWVJ
dGVtKHRyZWVJdGVtLCAiIik7Ci0KLSAgICAgICAgSW5zcGVjdG9yVGVzdC50b2dnbGVTdHlsZVBy
b3BlcnR5KCJmb250LXdlaWdodCIsIGZhbHNlKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC53YWl0
Rm9yU3R5bGVzKCJjb250YWluZXIiLCBzdGVwMik7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc3Rl
cDIoKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIkFmdGVyIGRpc2Fi
bGUiKTsKLSAgICAgICAgdmFyIHRyZWVJdGVtID0gSW5zcGVjdG9yVGVzdC5nZXRFbGVtZW50U3R5
bGVQcm9wZXJ0eVRyZWVJdGVtKCJmb250LXdlaWdodCIpOwotICAgICAgICBJbnNwZWN0b3JUZXN0
LmR1bXBTdHlsZVRyZWVJdGVtKHRyZWVJdGVtLCAiIik7Ci0KLSAgICAgICAgV2ViSW5zcGVjdG9y
LmRvbUFnZW50LnVuZG8oKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC53YWl0Rm9yU3R5bGVzKCJj
b250YWluZXIiLCBzdGVwMyk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc3RlcDMoKQotICAgIHsK
LSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIkFmdGVyIHVuZG8iKTsKLSAgICAgICAg
dmFyIHRyZWVJdGVtID0gSW5zcGVjdG9yVGVzdC5nZXRFbGVtZW50U3R5bGVQcm9wZXJ0eVRyZWVJ
dGVtKCJmb250LXdlaWdodCIpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBTdHlsZVRyZWVJ
dGVtKHRyZWVJdGVtLCAiIik7Ci0KLSAgICAgICAgV2ViSW5zcGVjdG9yLmRvbUFnZW50LnJlZG8o
KTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC53YWl0Rm9yU3R5bGVzKCJjb250YWluZXIiLCBzdGVw
NCk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc3RlcDQoKQotICAgIHsKLSAgICAgICAgSW5zcGVj
dG9yVGVzdC5hZGRSZXN1bHQoIkFmdGVyIHJlZG8iKTsKLSAgICAgICAgdmFyIHRyZWVJdGVtID0g
SW5zcGVjdG9yVGVzdC5nZXRFbGVtZW50U3R5bGVQcm9wZXJ0eVRyZWVJdGVtKCJmb250LXdlaWdo
dCIpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBTdHlsZVRyZWVJdGVtKHRyZWVJdGVtLCAi
Iik7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7Ci0gICAgfQotfQotPC9z
Y3JpcHQ+Ci08L2hlYWQ+Ci0KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxwPgotVGVzdHMg
dGhhdCBkaXNhYmxpbmcgc3R5bGUgaXMgdW5kb25lIHByb3Blcmx5LgotPC9wPgotCi08ZGl2IGlk
PSJjb250YWluZXIiIHN0eWxlPSJmb250LXdlaWdodDpib2xkIj4KLTwvZGl2PgotCi08L2JvZHk+
Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Ivc3R5bGVzL3VuZG8t
c2V0LXNlbGVjdG9yLXRleHQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0
eWxlcy91bmRvLXNldC1zZWxlY3Rvci10ZXh0LWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggM2I4NzE5YmY0NTJiYzliYTAxNTc4MzU3YzkwYzYwYWNjMGM3ZGY1MS4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9pbnNwZWN0b3Ivc3R5bGVzL3VuZG8tc2V0LXNlbGVjdG9yLXRleHQtZXhwZWN0ZWQudHh0Cisr
KyAvZGV2L251bGwKQEAgLTEsNTkgKzAsMCBAQAotVGVzdHMgdGhhdCBzZXR0aW5nIHNlbGVjdG9y
IHRleHQgY2FuIGJlIHVuZG9uZS4KLQotPT09IEJlZm9yZSBzZWxlY3RvciBtb2RpZmljYXRpb24g
PT09Ci1bZXhwYW5kZWRdIAotZWxlbWVudC5zdHlsZSAgeyAoKQotCi09PT09PT09PSBNYXRjaGVk
IENTUyBSdWxlcyA9PT09PT09PQotW2V4cGFuZGVkXSAKLSNpbnNwZWN0ZWQgIHsgKHVuZG8tc2V0
LXNlbGVjdG9yLXRleHQuaHRtbDo0KQotY29sb3I6IGdyZWVuOwotCi1bZXhwYW5kZWRdIAotZGl2
ICB7ICh1c2VyIGFnZW50IHN0eWxlc2hlZXQpCi1kaXNwbGF5OiBibG9jazsKLQotCi09PT0gQWZ0
ZXIgc2VsZWN0b3IgbW9kaWZpY2F0aW9uID09PQotW2V4cGFuZGVkXSAKLWVsZW1lbnQuc3R5bGUg
IHsgKCkKLQotPT09PT09PT0gTWF0Y2hlZCBDU1MgUnVsZXMgPT09PT09PT0KLVtleHBhbmRlZF0g
Ci0jaW5zcGVjdGVkLCAjb3RoZXIgIHsgKHVuZG8tc2V0LXNlbGVjdG9yLXRleHQuaHRtbDo0KQot
Y29sb3I6IGdyZWVuOwotCi1bZXhwYW5kZWRdIAotZGl2ICB7ICh1c2VyIGFnZW50IHN0eWxlc2hl
ZXQpCi1kaXNwbGF5OiBibG9jazsKLQotCi09PT0gQWZ0ZXIgdW5kbyA9PT0KLVtleHBhbmRlZF0g
Ci1lbGVtZW50LnN0eWxlICB7ICgpCi0KLT09PT09PT09IE1hdGNoZWQgQ1NTIFJ1bGVzID09PT09
PT09Ci1bZXhwYW5kZWRdIAotI2luc3BlY3RlZCAgeyAodW5kby1zZXQtc2VsZWN0b3ItdGV4dC5o
dG1sOjQpCi1jb2xvcjogZ3JlZW47Ci0KLVtleHBhbmRlZF0gCi1kaXYgIHsgKHVzZXIgYWdlbnQg
c3R5bGVzaGVldCkKLWRpc3BsYXk6IGJsb2NrOwotCi0KLT09PSBBZnRlciByZWRvID09PQotW2V4
cGFuZGVkXSAKLWVsZW1lbnQuc3R5bGUgIHsgKCkKLQotPT09PT09PT0gTWF0Y2hlZCBDU1MgUnVs
ZXMgPT09PT09PT0KLVtleHBhbmRlZF0gCi0jaW5zcGVjdGVkLCAjb3RoZXIgIHsgKHVuZG8tc2V0
LXNlbGVjdG9yLXRleHQuaHRtbDo0KQotY29sb3I6IGdyZWVuOwotCi1bZXhwYW5kZWRdIAotZGl2
ICB7ICh1c2VyIGFnZW50IHN0eWxlc2hlZXQpCi1kaXNwbGF5OiBibG9jazsKLQotCi0KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9zdHlsZXMvdW5kby1zZXQtc2VsZWN0b3ItdGV4
dC5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0eWxlcy91bmRvLXNldC1zZWxlY3Rvci10
ZXh0Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDMxNDJjZDFkYmE1ZGQ5ODlk
NDkyM2JmMGE4ZDNlYWJkMTA1ZDI0MzQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0eWxlcy91bmRvLXNldC1zZWxl
Y3Rvci10ZXh0Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw2NSArMCwwIEBACi08aHRtbD4KLTxo
ZWFkPgotPHN0eWxlPgotI2luc3BlY3RlZCB7Ci0gIGNvbG9yOiBncmVlbjsKLX0KLTwvc3R5bGU+
Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3Qu
anMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2Vs
ZW1lbnRzLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLQotZnVuY3Rpb24gdGVzdCgpCi17
Ci0gICAgV2ViSW5zcGVjdG9yLnNob3dQYW5lbCgiZWxlbWVudHMiKTsKLSAgICBJbnNwZWN0b3JU
ZXN0LnNlbGVjdE5vZGVBbmRXYWl0Rm9yU3R5bGVzKCJpbnNwZWN0ZWQiLCBzdGVwMSk7Ci0KLSAg
ICBmdW5jdGlvbiBzdGVwMSgpCi0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3Vs
dCgiPT09IEJlZm9yZSBzZWxlY3RvciBtb2RpZmljYXRpb24gPT09Iik7Ci0gICAgICAgIEluc3Bl
Y3RvclRlc3QuZHVtcFNlbGVjdGVkRWxlbWVudFN0eWxlcyh0cnVlKTsKLSAgICAgICAgdmFyIHNl
Y3Rpb24gPSBXZWJJbnNwZWN0b3IucGFuZWxzLmVsZW1lbnRzLnNpZGViYXJQYW5lcy5zdHlsZXMu
c2VjdGlvbnNbMF1bMl07Ci0gICAgICAgIHNlY3Rpb24uc3RhcnRFZGl0aW5nU2VsZWN0b3IoKTsK
LSAgICAgICAgc2VjdGlvbi5fc2VsZWN0b3JFbGVtZW50LnRleHRDb250ZW50ID0gIiNpbnNwZWN0
ZWQsICNvdGhlciI7Ci0gICAgICAgIHNlY3Rpb24uX3NlbGVjdG9yRWxlbWVudC5kaXNwYXRjaEV2
ZW50KEluc3BlY3RvclRlc3QuY3JlYXRlS2V5RXZlbnQoIkVudGVyIikpOwotICAgICAgICBJbnNw
ZWN0b3JUZXN0LnNlbGVjdE5vZGVBbmRXYWl0Rm9yU3R5bGVzKCJvdGhlciIsIHN0ZXAyKTsKLSAg
ICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwMigpCi0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0
LmFkZFJlc3VsdCgiPT09IEFmdGVyIHNlbGVjdG9yIG1vZGlmaWNhdGlvbiA9PT0iKTsKLSAgICAg
ICAgSW5zcGVjdG9yVGVzdC5kdW1wU2VsZWN0ZWRFbGVtZW50U3R5bGVzKHRydWUpOwotICAgICAg
ICBXZWJJbnNwZWN0b3IuZG9tQWdlbnQudW5kbygpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LnNl
bGVjdE5vZGVBbmRXYWl0Rm9yU3R5bGVzKCJpbnNwZWN0ZWQiLCBzdGVwMyk7Ci0gICAgfQotCi0g
ICAgZnVuY3Rpb24gc3RlcDMoKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1
bHQoIj09PSBBZnRlciB1bmRvID09PSIpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBTZWxl
Y3RlZEVsZW1lbnRTdHlsZXModHJ1ZSk7Ci0KLSAgICAgICAgV2ViSW5zcGVjdG9yLmRvbUFnZW50
LnJlZG8oKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5zZWxlY3ROb2RlQW5kV2FpdEZvclN0eWxl
cygib3RoZXIiLCBzdGVwNCk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc3RlcDQoKQotICAgIHsK
LSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIj09PSBBZnRlciByZWRvID09PSIpOwot
ICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBTZWxlY3RlZEVsZW1lbnRTdHlsZXModHJ1ZSk7Ci0g
ICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7Ci0gICAgfQotfQotCi08L3Njcmlw
dD4KLTwvaGVhZD4KLQotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotPHA+Ci1UZXN0cyB0aGF0
IHNldHRpbmcgc2VsZWN0b3IgdGV4dCBjYW4gYmUgdW5kb25lLgotPC9wPgotCi08ZGl2IGlkPSJp
bnNwZWN0ZWQiPjwvZGl2PgotPGRpdiBpZD0ib3RoZXIiPjwvZGl2PgotCi08L2JvZHk+Ci08L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvcmVzb3VyY2Vz
L2FuSW1hZ2UucG5nIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lL3Jlc291cmNlcy9h
bkltYWdlLnBuZwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMmQxYTBlNmMzZjY1Zjdi
ZWVlYjM5Yjk1OWUwZGI0OWZmN2Q5MzlmOS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMApHSVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwgMApIY21WP2QwMDAwMQoKbGl0ZXJh
bCAxMzI1OQp6Y21WOytHYz9TSlApPGg7M0t8TGswMDBlMU5KTFRxMDA2eEowMDJQPDFeQHM2Z29t
WTQwMDFCV05rbDxaYyUxRk0KemQ2LT5RbUgrKVlgJUhKZkhQMk5eRHN1dU0xNCkyREFRKFUoNDJx
ekwrUzsrKHduNGpfdylPUyp2bGFVQmVmI0JZCnpUVSUrTCoweW5PdT5vYX1LX0pTTUsqJnR5dX5N
bmpKbDxQKElgPlRie29+eEtCcVR0OURCIVFZJnZVQm9KIWhaMgp6Jit5JUF1ZUo4dD5uZlo8JXgo
ISt7UHxVcnt3IWo2Yi1FXiVweyVlRWNjbVlFYWQmRi0mY25yMW8rRzZebGIwfW8KejNBYGIrR2dW
UFZMTSF8SDRVQG18I0Q/S3JQajRFMHo7UyhoVz1uTVh0PUg5bGFlcnMtK2ZhUCpPdG0kRTNBYFBn
CnpHMTZiVXB6Ty1TSi1PXjc+LXY1STZvS3JuIWBXUndjK14qSmQwKS1Qb18hQGRMSFleMkVBVzt7
fDd4fTVgVXxTVgp6NW1XVzBsIUh9Q3ozanMpbntHZWFsVEZvRE0mZCM8QylBaDt5bGJHbSllflAk
O3pVJU5hbVQwVWVXa05eYmp7cSEKenEwMnZiLVBOfnI5ekQjeS1DS0xWe2owOU8qP09TeEM8QEFQ
WlRkKnVZKkVeODxON0JzZmo1bWFNdFZoMlF+fWZlCnoqRFh6LWM7QXhkem4qZDQkSTZVJkp3c2kp
eWo7UUVyJURUeXBnOVF3dWpvN1o7WCk9b0c7cncxVkI1fEVvbSpibgp6SEB0MWohVGc/NE9YbEMr
WkIxWVR1Wj1UOGBtbkFqJWclfXtUe15HajExcW4lX0tIUXpLUjdSNXpmZShCe2RGcF4KeiFMQEwk
NSFgR3ktc25Nd3k3bS1+OU5OQ354dEk0cHgjczFyTjduQW5afU5PNV5yQW11eWMyNWcrYWk2O1JQ
K3hsCnp1ZkcxSCpEVV9hMXhxaG9VZnBfdXA7biomcyoqbVFtQk9gQl8pWj4+cHJ8T1NpT3xEbnAt
TDIwTV5PYVFFbD9hZQp6ZkhTejIhTTFnVU9gQTlXPyV0O2tlZ0JDSz1fZjEpQDlve3sxbTJCIVBt
ekFyKCZRRGxlUlMhVW10SzdCI3FyNlAKenAoYmFQaiE1aihWWFdjM1dPfXhmTz82PnExfVdzeWMl
QmM2eiUmaHZhMXR8R01MMXFmQ3t9QClYaHgwSFU/aUgrCnpqNXV5I2tiS3QqajI+UlloOC1RZHcm
bVhVI00jUn5kRWdBKV9YT1VCdXBObygkPDBGSDtHYlJIbkVwZXheUUs4Wgp6eGtsN35AbmZeXnkj
Qmd0UzY5eHlRNWU8cDBSXnZeQkh5IS1wfDxEZ1pyalM/X0lDUkVONX5YaEpSZ0s9cUd+Rk4KenFN
I31POT1lYzMhI1pXPDYqTSQ5UXtUYD9CdkZTUnRzenR+Z0srZzZUeCp6SSt2RF5lXyZ2e2UmTEp9
TVEkKFc0CnpHeVdoWkBYbih8ZFZ+VjVDcCVuRUtJZU0hTDBgKHBLNm00IUd2QEdrUT40RnFWZjUw
a2VkZENIS2xgR08meUd4OQp6ZyZIbyR2cSNCeXpmQVk7LT9EeDQzK3k+P2dzZGZ+cztyPkN2NHko
WTh0TilkajhGYHI9X3A4aSYmUDh0aWlJQDIKekxseSZsVD9gTlBCUiFrPytEZkxqd28rREppM3BW
dXR5QFVFWmEmNC0wYUFNKFY4aVlkZU59JT0/V0IyVT5LUlBuCnpVNGsqdkQrOykta0s7KnZBM1Je
Q2k/KH44PzwtJmIoa0VJdy1mbGFtUDVNdD1SYEthQ3xKN3lSWUI9e1ZXMDl0ZAp6UUd8Kjt2WHxh
bmtGZnNQMmlnM30wVjEoNz1GRk1SJTt9UzxEMm8jfFR5b2hRKn1PdzhZdkRMUFFZdDhseiVXJXAK
elZVek50aUo9UiExPDdFNEFOdmorV3VVSzwrVlQpSHIlJUImMWc9T0BKP2szY1dpPEAje3wkUzBZ
K3tyNURIPjtBCnp7JnckdzBgRFVERzlhVzczYTttNEl9K2NRSUcpNkhlU0NAU2BgLThNcUlLc1Rw
RS1OenQrc1BvcjJtYGlFNUNVQQp6cj8wJUxhPX5weDg8cnk3MHtQeUpaMmpHVEAkfVBBQT1OMTdG
SX5pfXNaQiZmOXdXbWViUX5SR1M5XnJ7T0R8eWUKenAmfWghN0skMU5NYU9xTkJ6Wkk/UG5aIUJR
SHlEZjQlMXM+Qm9rbzxoalotU2R4KU9TSGx7VHRYcyQxM1V9JSlZCnpxfil9cGJ1cHR5VXU1NjVY
WlRJO2hsI2dkYCZSRkwwYEQ+PzNUVWM9dThHcUJVPmgzJiN2cjh9Xipyd2AkNVghWAp6UGslWjZP
eythYE5jenVUUX1NO1dUWWNHR1JwPFVLdkJ2Wjg/S0RGTmUjX0dqZTJjOSs0bDtsS2UzbVlsS3tO
ej8KenkqPDRBTmBkeE42RVpURmBzUCpeRTskUl5jMVJDckQ2Zm9TNyVHa31hYTwyWUBma0BLPkZw
WSVfdm00PUx4LThzCnpGdS19fGdsVFJ7KDlAUzslalMofWV1fWVhKVk5MkFmQGUwZF5wZmt5NUFJ
fDQpQFMqfTtoV0pLdTYob2lKJU0qSQp6NmhLdUtxOUspTlNTNCgjPSRlOX1EMHFIQWUldFpNN280
QGoxRHpsSTtueSE4YyhlN3RDVF9laWBLZj1wP1pXP1IKelNvLSVPRj9qYEVWU3VqZnp2aUt6ZVNe
VktoYnZZcnJscWs4RD83K2JUU3dWP2JVSFFERUBKTXluVXAwPnZUMks9CnpSbTNYVFI4JU1NOTFr
SHRIKnxiSlJSdk9sdUJqTk5WNmQ7aW8qZjVpK3E7YzlsWGBqbyNSKEZMN0BJY2pxYFE0UAp6aXt7
akV3MERJNWpLTzdCLWhpRHQjTVo1d2BFfnppRzMlRFM8JWN8aGNQfHRMT2tFSSpYZTZRPG55VFFz
bDdqOHcKekkxKHdudTYkPHIrVjZrJHFBak9nPVc4OFVIWWFAMUgkSGRIVzc5NllFblllSXFxdztx
aiY4a3wyWT4hO0pRM3JICnpPUDVkP2hwejVeOXs3RWZhTGZCeXZ9N1VpbjFTPj8oJjs/YUhBJjgw
SmU0aSQ0PV9CRUxqa2ZHaTtCdVBRYz5fcQp6JV98QlJMUDAxQnh+YEc0RVNfSnBsaXs5P2VESG1l
TUdJOzxhRy08alRoXzV+VyhEbkNEY2JyeEs2dmRGV0Nqa2YKemV0UiMhY21GcWB2Wi0oWERObz5D
Mzg1Jk1oOURZTkYqRjYmbGxUJmw7UU18cXBHJHhJMlZjRzVBJGJ+KGZBdiY1CnpzfWdHRW9xc216
UzcpN2ZlTiora1B2S2NaYlp4dHJNfUspWXN1QWI/RDtBTG1kMkhGPCVgY3lBV3lTQCFGbnw2Rwp6
R350b1lJfjBwOWc5QUFWMXFUVnRLZXZAbypyMk9CTyk4YmdHJkgxQ0BJND5qbFNvaEVJVWJKVlZj
US1HM1I5PW8KenFaJjstek5WamljOTt2I1lhJitPI0lfeEtuQT0qeFhlUCZvWjNrRjVaI3QkTkE9
Ul5vQUBjJm4+JipnQjs1YGNvCnp4U3BoRmAjNyNkRDFuZ2xyTm96dHAkT3hIdnpGZXRgLUFWQnZo
UipOP3MjM3xwRzB+RXhiNTJOZjR5U0c7O1pUeAp6LS1ad3hlTExedG5NYn5sPChwaTMoWWVHejRs
aXlWPGlTa354YihVa3NJR3tUJnNoe0w3dVdJZTlGSjdHSyskcDsKejltJXQyUn5QZGFPJEsxXiZU
aGdYMTFaNkVKaUpuUSpZJEI2NF49M3s1QEQ+SUxzZWFybm57eSpgc29mKnNTJWJmCnpzVXUkMnpe
PmdwU3ZhU0cxMDkxTD8meFIxdFhkU1NnOUZfakJxdjslZjY5OyZkX1MxVTRNTXBCSj5RZTRualgx
IQp6XjR1JClgfHdxPko3MTZaQ3l7Plh0bXF9SFM1NWxuKVROKFBxamlmSStXUlpFS0p5Y0wyNkhV
Qzs5TSU9dTw0YVMKejleTnZhM3MrdUFCQkVtRFpIaCQ/JE12dXNBSjNFSTNvYXU9Uyg7bGFYK0pX
PXsoWEo7dTF8a3xtUWNqTmIlTF52Cno/Y3VtU3cmVVp2SzMzNX4ybjkxN1debU1AXn14QG1uYkY4
MlltPk42N3Qwbm1wJkJ1YzleUypFeGgqYG09P0Rydwp6UXlXNWY+M3RrM29RKW8/ezZqd1hjTUxW
PDF9aGQtRnJ5e1B7LWJ+Um43bHVCZCM0S3RjeilvK2hycmItQzNyclgKellRISMhbHJgTXs+Nj0k
JT96clFRUT1XZjlKYmw7QGBuQmhtZVlMNmVZJE1pbUtJISh+YjluMVJib0NDZlh1JCVpCnolT2V+
PCt7M1M0biN8bkElVGF1WHpDSWhOQzxyOD1BUWM0XjF5eFpIMm9BUm1xR31veVJTQk1ae3QlN0w8
KXJnMgp6TktsYXxLSTEoVzFyI1k2Jkc7QXppPX5ecyNpJXNNb3FIM1BVeTxnS00rKCRlXnwxVz5u
UGsoMFdWMSlQOyh7c3MKej5VUmdKUDFlJj89fkkyPSpKTFpjJG13YHZaKDNRO2w9fD5WYH07PzFj
Q31eTHU9QGAtNmFKUF5VMmJzRyU2YjRFCnpVSDdJTzdWbkFuLVZDRyEkTVhTIXE3Yk0jSnxNS0Y9
OXclMD5tfX5FOXc/bVpUeWd4RGJFaWUjS1d8I2FCfmA1Iwp6PEt6YkQrd354UW9kOz1iWV5KYGtu
UzN0SUZWO2ohKUxsZWJRanAySFdPNUdxeWhBcWNsRjdTZGF9ST99NXl4QH4KemhZZzFNdioxVjtv
alp4PE5tVWRyazlean4lR3RyQlJseTtqdm5rfGxAO1JHU1VTUnQ8RT8kMkolRShja1p+WjlOCnpo
PXVlYiVzIzc/cEZBOTtxZFV1dHYoQ2Z2NDRQfT4lJFN0cWNVeSlqazc9QmgrKTgwXipKKFl0RGZN
Q0l3I0tMfgp6SF4lbz5tISNXbUgle1Y5QTgjY1pJO0doJmZwLURNaChBVm4qWW9nUDd0TSVYZSNN
e3Y8UihRP1BIRXRjbGl0dTIKemFzSiVjWFhfZkxENH5qSjM/Rj0pIU9tVHs3Xz5+RGo7WXheXkt5
YVMrX31gKE16QWZGPmU+WEI8JncqfTxudTB0Cnp5aEZhPWt9SjUzPTNPJERoWHxSZHJjUU5yakE9
NyE3I1ghRlNSUkZmaTxOVUk8WCFSd211JHt1c0d0KmFkJEBWKQp6KjlmKW08bCl4VVNmaHxteHMw
VDJzJWsyYlcpMWZ9PjdjNURyZkV3X2tCKU5UezNac3tIb2UwKE8lKkMteHVAUkwKeiErVW5+NU9A
OG9qa3x1PCN1dlZgbSVEen1NJFluPitaeUJRM3V7ZylVc0cte3c+OEcoUTtaVTQwQDBBbCt9N0Jl
Cno+VHFNeyV4I1VtdHVrWnhSJiQmbmNzRH56QEpqS3d6Vkc4cEExTmg/c0BBWDl2QEVQdDZoKnhI
b05ASkxhLUFgTQp6UiFkfD5SckE/Y3FkZzI5VDEoTmtzak8pdFN6Yms3WnpuSjhYcmdzeUooaTxU
OVdAIX4meSZsJCRUM3d5OEI7MTAKemRfX1QjS0AzR1dBKDJ1dFhLbyRPenRCYzVZYTxqO2RfVzE3
UXgheW44S0ojPWVDT1IxeVc5QnJ5dzVSRXRSTnlLCnp3Jkg/UkBQUjRRWWp8O3MhPShvQCUkdzBu
Y0Ekb2tZQjZVQGwzbmROUi1JcVQ/RCM5SkFNR05QWG5hYyNhI3ZmSAp6JEpYfDkpNT5+UUVVTXRY
SDliSDtoKT1DKkkpT0MoQlFgJkp3M0EoSlNwZEhBYEJ+Skk4e0RfMWhleXs5UCpaTzMKempuQl5s
O0YtPEN7T0hrNjBSSDFrYko/JmYmNXNgS1dOdkdXRk1ZZmZmVW99TjBseEghVjEmdDg5KFZuO2py
TntYCnpqP3pGdDxmfHtOVmIhd2dAcUliVjxGVTI8QyNXUH1gZ3JSSipQWExHP3B4RXRHbjxGVV91
YUl6eylCcVE/JjtrUQp6VXJKT1puN3J+bUE0TzNSc0BgPFlySnJCQF5wOExKTzx0d3VqUTRfYlN8
Y0IqdTF0bV48dCs+IWV2YSh1NUQxOz4KemBZQzlkJi0oMj9CaT5BOyY9SHpTIVMqP0ZHKTFCNFFN
NWdaUFUoTnEhIUVrbU1Hd2RKdXFfdXcyQ0Q9Yz5KemsxCnp0fFhUKFZpJGFoTVR1M0FxK0Y4KWBw
ZipxZiZVTTtgdztpblVyZjgwaGcjNG43QTNhajxKZGtVRFQoaCNObU45Ngp6YSh4YG5fbyElXmh2
JkpSSip9RWQmY15qTVc7WTZ5KVB9ZTlBamtDaUczZnwhK2xgWiQrWnlCMWJwdzNqJmg2YXcKenZv
Pm5WNFF7KH0oenMrQ0JnKjg0MiozJE1vNi09QjQzcTFfTF87ZE8rQT00I2QpdGtaY3hMbDNJbTtz
JlFkeEQxCnprPitAZTVxPykmbWUxYWBpIVhkPEZTJnhwTylLa0pHVXIkez5hTW03VS0tXm1LNV4l
RT9weENuYmUzaHU+UnojXgp6Zj5xMF49XndIQSFndSFhKn1IYnBLbDB2TCQ/NXdOUDFTJmFfKTwj
WmxgWGYxPDI0bkVxTVJeZlk1PnUmRnNJYXEKenVCZlcxTVk8TmY/T1JiKjlXXyEkeXU2TkZ3d0Qp
bil8MEYqQmFgdCtrN25yfiU7UzUzQGUwUz5NYEx+PkElYWclCnpHNFJMJHNHOHVzcklYcTYob3Nl
Jjgmbi1OV155JTtAcXQ3NEd0aSU1Tz5fIWQlSEVHIU95Q0hSX0AkOH4ydEU+dQp6cV9RJX0tdTY1
bGVVZUdfd2Q0bVlzSUN+TEpnKENAPFN9Ym42WlFMRVZNdCFiRE1xKWAhbUQ1U2t+djh4Kk40WD8K
ekJtQE5DdXNoOT9JWX07QVJMT203ZEtlZjleODFYRGVSNiQte3Q9cythJHtUX0k7KFctUkZaVVQp
V3tjSFpkeklZCnp4KytkSXE+ZkFHfDU/KlImaHA0djk/eHpiM1ooWGhIUkdONGMmVUg1Rzskb1Qh
bUw7bmMpWHQ3SlQhanE4K05CeQp6djhkdi1wNFhXfll3fjVQTExHUiVkWklzfkxebEJfMGBMSnZC
MjsqIz1SOW5zMl9YY0k+allZZHFTdjNaO2AzTG4KemY4O0N3NFVEXj1HPVM9KUtFMXdOcEEkPmdr
c2RoNj07JGJ3V2VMSiU0Vlo/Py1hUzRVdVpyZmxMWkp3cj1pfEIoCnpqYFB9I0t7ciRpMXNCaXRn
M3AkWlZIIytmVV5IRSV3bDI8eEtmYUo3VF4ycFB7YWtxRDJWQnptSDJxbzBNbkE7NQp6Plo+UmVu
PWxteDJOeDg5XmdNOEVlQWxCbUJHM3tsMXZrIX40eGlSMGklezdsb1JSJUIpa2YoVmMzNChCZ19o
KGQKenkwaVUrOyZvQF9NVGAtb3o1N0h9cXJFJU5rfnp0N0ZWTjFtRUhARGxhIWZ6bylzYGhYSCN0
NlBFU1ghenVDXj5XCno+KlUyP1okX248KztHZ01JOT4lQkJsWW4lJEJJUTJ0WE5kfW5zJig4ez09
YE1POHYxZ3J7eEsqemRDe004M2ZFTwp6IUkkSVRnSkBrcShYazQ8PkhUP3ZfSC1qY1JncCshTiFw
anlQWDc/X3UlYWxJbCt1UzE+NkB5SU1Ud3t1allKfUoKejlOQ1ckMkFUJVpXRjZxS3IlbElvNT9D
MXoma1kqJVJSSUVnRih5ZmFzb3xSMURBISYpbkhAWCYqdDJoZDw7JG5BCnpVX20yNHtgb2ZjP0g8
SSoqKGwqU2lfY2QwMmp6UjFlUU94OTRZdWQ8WV5yfUJKI3N6flNJMHIzQzwrUF5DIWZiSAp6Mkh2
Mj9gWnhfIUR8ekpjU0otaFYjMS1mMW42Vm4lWSZVZ1AzNUVfMXBobHtoKzdSWjJ7ZkZOJj19JU0q
dlpyKXkKem8oazxmZz5sdG4kKCRyTDxweilTPGl8VX1sPT83fT4lLSV0I1VCR0o3RkY9NlJaWms5
an5fa1NOaT9MNnlDVUM+CnoqenJuezNvb3EzUVkrQ0V8QWI9LUs0T2djQz9HVnRfOHo5UTN5NlUj
UjgqbmljdHQ+Qk1rKzJlTFd4Uy04Y2hAQQp6Vj05cnArQl8hfDNacDZ4VUVSSVpTNE5PcG9LVW1e
KlU1Nll4MCtEY0FZVHhyclg8bkBERmxRaHN0ezxwTj5tZnsKejRkZlh+Nn1qISFeQkVrPF5VNW98
ZURgfVZHY2NHKF89MD48WEY9bDtFP3hUKiU9ezVqR1EhSjQ4VExkYnYoYUJjCnojRSM8fDhsTGF0
eHt4MnFhbmJUN3VEV0loUm48YDxRRzxeNUdgK285dURwNSUhclgtNypsMT5ndmEmZGliQ2pZQwp6
USZVQHVjJT5iOV5fdHomIWBOXj9YNlRJI2BOdkR3O0NyQ0VBMUApPnk5PjsxamQ0ay1qJExpcGFW
YkJ4Wnw0fj4KejV8MUJzQ2ZBM0ByVHRoMzlzOW15UDhrND90P2xRVCZCTGVrLWkpYldRfGlPeHFz
ezRkXmZRZ29mam4oNUtaS31RCnpmWD1KemltYHdqMHd4OzVWKmc3VUBja2d0UiFXSD82bngoZyR8
KWk7VzYzUyY/UkA/fXg7YypZaW1vWkd2MXBoPQp6QXh9MSZDRVEkMiRUWk4qMiV8JElXVU1lfE00
PFI4anR4PSlPJTw0P1BBRi1oM1BHWFprVitSeHI7R2Z7SGBtZUcKem8jRTFwcipQLWpwQ2REQnFx
cilUVlJHJjQtUH56RE5Ucm94UkVoOXRTQjdGZCN7Un1AczArNmUyfU4tfGszYCVnCnpvLW5hPDdV
ZE9ESSp3LTl5P2REU05SZSU/XmY3Zj44UVY3WFFNYiZYR05oeDElODVpYGMlSUtfRHV0ZXlqTnUr
Vgp6dCVxRClaaktZN3JyY28zb0hGTE4jc1YrTXhfJSVxWX08UFpPcylAZSk1PzE4VGhrTSREc3oo
S2RoezR9d1BuV0wKemUqR2klXyU+RjUmaGxRQEJYaGRRU3NzdEI4KGBKNFlDZ1FPb2AxanAyK149
US1teEJDK2RwMG9WOURHdjQpK3ZUCnpiKHtlXjx8VyRJbVpmRzwxeV41S0xuTiNQQmh9bkBYaiFI
TjkzOT0wPSUtQUVGX3ViM0w2YSYlPXdzUHMwJWNuUwp6NklQeipnT250eXJZOzRaUCF1STJyUyFG
a3NmNUZaKHZYT21xfCFOVDdhfTFJSnJxWSg2fCNqOHhuY31RKEdpTTMKeilkWm5YO09XZH05RkJI
cCRyTnBoYmBVPSFSRG9zdFdITDVDe0BIZDBkV3dXWTF9OzlnJlIpOzBAa2REKEMzIStUCnooVVQr
WEk9bTlQa2VnUDJseW0zTCNDQlllNT18OSFiIVUwX3BAVkdSR1FoekBxYk5jX1JSdUY8KlJYJXpG
bmprTgp6VyUxbDw+WTg8SUJhVWVyWGV0YyVBRUNOd0hvNy0+VEYqR3BjVFk2Zkh0Ykd3LTxxQmk0
QkVTWCtRd30rUEdaJXYKej5Udl5kJXc+NmV4I09rJm5BQUw7PFFzT0t4dFpRRUhFR3FkWVgwTChi
QWU7LSRaO2NmWlU2WVohZmlLQjs8Ml47CnpPbH1Bfk5kTkpyeCNKJDRER2g8QEhSaTxgYktBWm4m
YE5wMWx2bUJIemRERmc4VUhnNXAjKkVPV2hxWDxqOHNlbQp6cTZBPyN6N3tzclhoO3wzayFZTjNw
QDVHLTYqYElATStrK1k3c0ZGUk5UREcjZ003aUp0MmEkNVdtQipgcSVZQTcKemZmaUVIRyEwTXMy
bV9gfnVpfV5ZP0lzY3BRRkp2dmNCUjZ5IzJeb2U0Pkd4OTZXT0N9cjBwVnk7PEk+Y3w2RmJuCnpX
aENNeyoofmhkR3Q2VTtBTGUoQGJrZzNJIWdwT2hgS2h5Y3tgb0Zhc1VwKittbV5lPGN6RmR5SC1l
KDNQXyFfKgp6cmxKWiN8RypGcCV7SDIhIVMtQilkZ3w8anxGZm90WCF2Q0JOUEJuVGx0eU9HXjJY
aGkpI1YxYyFsQDxwdUNeP24KenhPNGpuYH0jLWhsbEh3e2BBNjNjb0hYQCtzJld0emV+aWR1PHhh
U3RvJnNPXl9GZzc4Z3ZhbWduYSNyfHNBQFVPCno8RSNJOUFhSkxLKSR1eXNrPztkNEBmPClYeWVl
cW03ezg/dENgYylBKypjSjVPNWd3cT57Y3swKGhOaVoxOF83PQp6UV5MQjY4SCFldCVKdzBJaWNr
ZnI5enFjVVNIPnkyPD4oPXdiZ0lDU0x4VChyPGdraTlpSyt6Z3ZNfDA2YEhZN2kKelFrWEhqa2BH
KXZnVH1APCFgVUs9c2orQiY0WGJhVFBqfi1wdTNMMElZd3JJa3tyYFNEI1loPj9kbjxAMDg8OWZy
Cnp7N2M8REBaZHBTZXp9KzchNkslcVFDKilUbzM7Nz1mOShkOEFlaFpiYkpqYyklYGxMUGp2X1Be
KWtJTT41R3ZgPgp6NDFPXzxsbiVhVXpiNUo1cyl9KkV5N0YkcG4yS19gJDZ1QGJuTllqbEU8Q0I/
Yzw/STY7RTdOS0RCeWN3Nl9yPUgKenJofTlHbEI1P3hGOVg3cVkqLUNZSz8qWm80VEdhVyZPTT1g
WTk+T2N4TmVjb28/IX52NENnSkxoTHVaajtxb2FnCnpTWGpAN20lSTdoMypFJXhBdWQ/ZiRUZTNf
VyU9QEU4dFVWMC1xd3B5R3xGcHJ6Vj9zakY+UHVNdTJXJEJeVXFMYQp6Y3d7dTZyO1gofS1ZbmBX
RChNQHteUF53dnJobXtQb1lian49eSo9eCFISEl5QnhAcEFTcjFoZVh1OUJOdz9KMSQKeiRtZG4/
SiVrb1FDQFF8TWtrNUBgVyY4MHcjKFZuJi1hR0tNMWpzJVJnNGJsZGx5SUVlKGk3Mj5qKnF7NE1U
N3Y4CnpHMTdhIV5leCtTamFXVEtHejA4ST1uO2UtITZ+R1cjU0ZHcE1yVzdEJWs9Wlg4KW9zaHgx
WXozOWZTUHh6NWBzaQp6dGVIPUxkT25MNSllI1A+NmZLWEBPcCpHVTd8QyN5PiNre0shUCRZfmwq
P3R3cT1wJmw/UDViPklmbzAyaUc/ZF4KenNFP0QpeUpVKyM8KDEpSkw9eWA1IVBLJiUzQ3o0aVNB
Q0Z5JVR5PmZqdVhTc2J2ISRaUEBeRHA5TTh1bz1FPGY5CnpEN3FsdGRPb1dPeWhCaGBRSlEjQzA8
WCFicGVTUWpEK3F5KWRlV083VFNPJjZDKWZtbFg0IXRSVV54WkZ0UiFBRAp6NkdjNz9mYlpGT3Uw
fmFiJURsNTBOTShrWktEKENOeyQ+ZTN7PmVAcmRpVmdUUUhOPzVlIUhmRi0jcFB5WTBXT2EKejVB
bkZjWEk5VCspcz5TMCpzXiZ1PnRCMlVxM1cjUDdIOHcmYTtoN2ZhRDBgT21vemJ7SWdURkU1dm84
NDVzLWIlCnpoKjE8QWQ9eW9uRDFsfEo+bHZjYkN1fGxgdkBrZWU3aX16QzV7cX5ZNUF7PVU2VTQ8
Q09UajtaS05iYFRzd2YkOwp6dWJ4cEtCaVkhWVZAcG50RkMoUXRacGNje2J4V2xjMElnODszI3B0
bG9VPVJ7cj1OJU5fYGwofjRre2o9UjdvWl4KenpJdzt8X358YldeNW0wOGM7Q3dWUy1pTk9VKV9I
X3lZPnc4SEA4Ml9qe087UUV4MCZeQVowXmtNVG96Pl4mQkQqCnpqYU9jSWg0dCYjO2BzKG9LVk0r
aUp9OWVoS35iWURVc0E9QWBFfDZtI1E1X00mKkVwbFpiS34qenZPMlAzfkokXwp6OFlMcUlmI3A/
Rm9BOVlCdnIpN2QhbjRRfkVRVXVObDV2eGNvKHp1Q18/cjZzMW00fHtDdURWSkVaWEpSS0VXfCoK
ej9+ZmwwJmg7aElfczFvQD1lZ0dMbTEmKyZBeUBGYk0qNztBZWVSV0xkWUhXQlZmc0ZiOHA4Q2B7
UC11bz1aRjgoCnpQaW47RU44ZXdgYj1TMT11aXhJcmNtSHotQHdoPSVXZldmcWBuT2EtdndYaCU0
fndYKWpqKCZ5RTtnKXgwb3lUbwp6PShreDhjantEQk97VDBPJUJtfnRYe2R8eCYpP2xhWkZQaGQ3
dTIhaHswNyE7OGJILWxMfUB7YTVNWUU8VHZzOWwKenNIKCl2YEFuVW5RQiFXQT13KUNYQzZeZj9R
fUQxSU4jQyVBcjxUM3QqcWFId2JDNW9QVEI5ZitVTCpGWDZuNnVICnpRbDd8VGhvcHorZCpoUGN2
a1BnQz5sR1R7cTtsVGoxTihNITtaMlExcyVNZVNqOEk8ZHFYLVN+WHtxZHtyb0lsJQp6RDY7M2tE
QnJ1YDMwfmdaTXt7R0c+ZT9gJUFZX280RHgzSEMhMWIrTWNsOUk9OVghQmA+ej9DaWs3T2hoWDhB
P2EKel87NW9yKXMrIz5ud0AwcD9oJF9XdEhVVVkhb2VkczRzey0pRU1eaTg4ez5YanAoclJTaD1O
M0A1P3p4LSVydEh4CnohO0M0RDIkXn0lQlM8R3RTTUxaIzJkdHRgKkkqR0Apb2ArKGNMTUt2JFAk
LTEkcz09fFk2QiZHfEsjQEBCcG1SQAp6NGNUSVRxXkVTMnEqUyUrOWA8KH1KZ2A/JT81RDEtZiZQ
SShAR0p0fCRsJmEkRXspWD10PHlBcXYhO3VJUkZVfSQKellwSEtjcHNHNFQpekVZdSN9bXcpUj9h
YCViYEhIZ294SmU7R3dlTyZeNjBaSkZZaz03VlcmeFhkNHdDVFg9Y2kjCno3PjVxJDg2QWFDKUY3
NUhpOX02YDY3O1orVlFBPXZoSGgjJm1XRXZyWHF0djNNN0JeeUcqUUYzWE14WntDXz19ewp6X3RW
fXJnclcjV15EY3Y8NSttTzdoN2I3OCl5Pj93eTdgMkNwWmljOW1vSDleQTBQWXRNKWpPZHh2SGVi
Y1c8QTwKenRkYFRDOz1nJWk2YCVYaW5+TmJqek1hPT1eUX5PWjl+eHE4IWJ1MjlVSlhoS3xBS3Y1
WDthMGtJenxCQmJNWlZFCnpEVDgkIWctbX0zOzg1eD0wdzhhVHkkOVI2MkQ8aldOWWt1fj5GeWlC
d1I4QmNnfDgpUHM3UGA0ajBnb1FPZF9zUQp6UT1LNFc4WXJyWXMldlB2aE41Yk9BX2lhbnk5TUE0
QHRmWn4mV29FZkpoTT9GNnFgWFQtYXNibkAkaGVaPTxYe1oKekMxeyQ0VGh6Iz1wbEFpOEhjYk9m
KEAtQEhVREhzN016Sjc+TU5DNGJOKz19cDZeRkI/REA+Xyg1b1FmfDElfj5NCnphPTI/MCgtOEVI
KnRsdnJNIWZsPzJYWlBAQ0FIVGk/QVB1JiUyT05QLVZFd0hMOGAmRCVkT3UkJS0pVzctdFRfOAp6
a2lMJj09VyQmSmdoWUJDcDY4RW16VkczPzk9O255QCVvO0o2b0tvfmJ1MylSTFB7VWt2R0g2ZEZs
TUZDTlo7OyMKejFhVVZtbD5DKz44Sz1FLVB9I1FyKkBySF8+Z0s7RUAyQ3Q4NEE3TCFxUV9oQ29C
XiZfSmk/fWZ3Zk9pTFNgay17CnoxdWQwVUtJTUhyYF5nIzFuK1pSLT1WMmNEP0VuTCNidEtETShU
eS10YGI0ODlvam89JFo1clcmU0prN2JEdz9rMAp6ZElDMnFGaGVTNFNkPzUqM0pNQ1kzdVI/R1Eo
R2ImSlpoMG9BSGheNW1vMS00R35BQn1sfld3cSRIRCEzOE9yIVgKekJOfDtwSGZxJjBMYjIqb0tI
T0poWiUyWGFFfjtTNXt2M25wNlF9cD9UOzBzTj9WfilrRi09dWNXQSY7VVQ1MyU/CnpgaWZLfmIp
TWRzOHQpWCV3SStBMlpsKUAhdjFOYWJ7RyUmfTAwMHcpTmtsPFpkbWlse20oWlg0UCN1RzVtJUFU
MAp6N0Z+SldNTTNEcCEhSEN1WjN8fmF4b21OZ3laKmNUcS0lX3JmLWx8REt1ZkwzVkF8IUxOQmlt
TUR7fU03RGdmP1gKekdkTzt8UGo1YElfZWc7fFMydUlfMUhCQlVvZkdQcyllPmcpc3YwNjhLfVgr
LXp3aTZHNTdtdSMoMSV8YmUlbEBYCnolfFlWKDk9NDw2ZG5IJT1AJClRN0s9OG1tNFlJeFp6Q2BH
UExlP2lfZGJvfipaQ2lNNWFMPk4pN0NRR2x4dEN6fAp6bG5XKEU/QEtjTXF3P0Ezb19ofHAqaGZ3
Q1M/dTF8aEhzflgrMEprU0d3VE9nR0Rrem02cEFve01KN1QrUlcqdlgKeiFtXzF4ZUR0fnM/KW1C
Q3tRU1dJUXF+bHo+Z0hnXnE2bDR9aEJVT1doN21EJj1IKE94JVI+KlRoPihWQT14QztmCnpGSTY7
RUwoX0QwT35XdkJKV3IqdkI4MjBzNmY4O0pEUHpJZV4oPnM4TXVaI2llVjEoaTl5YWVmZilGYUJJ
aFNKNQp6IT5GOChXfUtkTS1NVC09LWlgdlJTSDFvIXI3QEQ7YHB2XlV7S0NqZCQ3aSpLeCVjVG8/
KXZYOzdTNCFMbURJVFYKemZuRVVhZXhSNEgtRSgzOSt9OGEkRTw4SXZ7KFpyV0N8bWRFUFQ2KTxR
ZkorYzQ3WXlzRm5QPTR2ZVF0ZFVKSSpOCnopJHNKajZ0e2whQENvaEJZNiZ4fENDdTBFSW0pZnlK
cDlLY3ljfX5nZGJsIXpSZz8oRE09Q1BkZ3YxQkAocjJraQp6UCRhSkZRN21lPm97RSR7aiRPY1lq
P0k/bSk3QEtyJm5eLXlCQys5XjZWd15aJG1lJCs9PERBNCh2dkopY3JOPTYKejQ9X0J+Z0otOE9s
MmNISCZ4YkRSQmJJMiFePXlReXF3NTtKNngyN3dgVE1fWTtnXnJSJFBYWHJMeTYzJHMmT1dJCnoj
NlVHdlI4dkpXRz0hIVNpc2BnPCt3NS0zbFhuI0trZEFLWDJ1KCotYiN5flJEe1pRI1Yldmh3Szk3
I2hBdzF0OQp6WmYzZFp7WlcjTTJ4X1BqRlZuJUU/ZHhnbEV9KDBIWU5KSktpUFc2KXJhVStJSzBR
Y0Z0QCpsb2BOQTFkby1QcSMKelolMldBQHg8QlFyI0dnOHtpVjJfc15zZnVUa0dnNkdNSU04SklL
TnJRUCVEX2M/bHN2TX1MdkUrazwyNGM0VE8mCnpIQmJCQWp6PiRhTmhCbzMrdTNwKT17eCQxNDVu
Ukh1Y3xwTWB7WWJRbVZFMko9aSlnSXIyeHIqPXJVTH03aTJSRgp6ZSY0e0NheS1EO2J0UnI+PDJw
cihnJmRBO2puX01IV1d6Y0Yhc2o2UDM4eWh1X15HVkJ6YyhlSGRmPWhRWHtuMTYKemlrN2k/K2FB
MXBaeEhvWks5YG9WZW09NWQ1Sml0K24hVDcyND1yTUgrYjVnJnttWG0ha0R2RHRFMXlGfVo3VmBt
CnpnSDVRVlE5KHlsNE5PQlBwTSFodj9gN2JLTVcpfEY1aHxLMEBURVhlUmRob3xIIzc+aSExRld8
TWE2TGllKD94NQp6VU5lKWtTeypQT0BTUGx+cXc4Nl9lZ35kWjg3KzdlaWF2VmZWcSNeZHJfWWFK
Rnp4ZDIzJlVLdHhhPHdkZE0yQFQKemV+dHcrcTU8S3pYVUpQYDk1eFgjLT98KDJfMEcqKEszfWAl
Q3xtZEVTVC0qKXR+JmlPcGVPPk4+UFlFaHk4c2VqCnpAaiNJJWlYU1crXn1Kd3tKYG5pZkp0Pmor
YyVGdy1FTVZLbXFgZDFDMjlOQWBjcEVTWjZ2a0ZnOXNkTUlgX3VrSQp6JnU/eFkrNDBJSSZSYUIt
amt8ajJZVEpkRT4lQCNWcGhUS2pGfUl0YDd5QUAjbUF0S1QoXldPSmNYbn4jcVhSVEkKeiVeO2Vu
TStnTj8qVSs+O1JaJiQ5cCQ1aWp1P1dMUTMtb2pwJCZHcmZUJTY/NHU2IV5PMm88NGYhM2c1MzZt
ayNfCnp4b0R+K3BIRmVndmFgQVJ5Yk92X2Z1ZnEmTHAjfjx7QlBMYm5NVzBaZmV7PGtqMXo2VDd8
bzJsPT9ETVIjeChoJgp6UGdVfk42SXZhOE1IYjhtVm12T0s3a3x4aXIkU1pQc21yZTJrendKQ0Q5
aCQwVVFATSFWQUwzcz9oOXJfKj9TfX4KelExZUI5eXpaTTxSPXdkaGJAVF4xe0ZxdkcrMlhSMyR+
PzYoJjZmUStUNUE2PVgrWGs4bWQ0MEY4bHdBWFBWNkhnCnpfTTtXfDYxRiFJd2xgMjQ/WlVESCZ4
YGNeUVUpYExFSlk8cXI4RnwmMXRXbXRRZktWSSRpR09+Ki1rX2BMUThvRQp6bFp7YG17bWNqS24q
YU5BbHJMSnl4TTZlcjZTOVhoP3Z7I31gc2ZldWZBUW1BYFNmQkV1YG99KnUhRTEpeDFkRUUKejIt
blB+SUl4d0VFTmRne0U/X1Y8IXRoV3BZcXQkQ3dQaUIoYiFEYDc2Jk0oQGt0aGhFbG1ne35pM1V3
bSp0YVhrCnp0alRlMWAlRSlgX214OUxKNnlWWlRxZXppV014Mm4tQmlpdWU1QkEmKy1Adk88R2g4
bntRMT1ta3lzS1hSRTMqdgp6PWdfQTZkM3g8JFI4NDBmPCZkKkg7KiYyUlN2JmhKUGZGZVVeeCRp
ezJrJWBvI09oVHdlRTBTI2JvM1FaT0RZNGIKei1KYXAqbH5wWDU1I2A+ZVBtSi07VFlpYVA9SWVT
fEB8TVR5UlcoIzRIOUdvPUppSW5BZSVFYXVyUkIwSnpJKiE9CnopXjUrN1dRZDwha0klaHAyRHkx
PDcxdiE8YVlDRTNURWdTXnAwfEFOZDk/cXU/KGZaX0NlcUdsdWxRSFl1I1A3QAp6QkIzMEwwbEtn
ZWhVQ1RIPVF6XllqT1k0K1J9dyYhV0AkWUAxVipnJSFFcHRaSDdhKn4+YDV4PzFkZ05QTkRaJGIK
emRfXmlOQmxAJX0oP2s3RkhPP1A+Wm1qKVJkLWZ3YEY+UUg2aDQhREh6aUUxTmVZd2hpS1hzSFZt
ZSVxOVlpPWFrCnpkP3tNQWhHTzNhR0M3WTJ4MUclcyZtQlMhSCkyTEJzakNqNVhfQnM5OD0pVllJ
OGFKNnRDfWo8d3FjWSkrVCh4VQp6LXBtRHlWfDRmMGVDOGs4bkxJbTJlV09Xdm5NITNAcDF1S3Rr
LTs8KWcoYjVUUiRyR083TTYlO0JjMyUoQDc1bzIKeiYtY0U9LXAoUzlDcHB3KkE8YiVQbXdjSig9
N29Sbz84UmRReCUrfE14OXR7T3l7ZCt6ZVpAYnJye3RaM0RqY1JhCnpKO3E8JlFqMkwrQStmUC01
dlZkSzYhTD1oOXFWd3RjMSZGajYxSSs/OWVmZ3NrTXpMdlIzXjd4TkpWbzVBXmNLNAp6NGg9QnpR
MFk0UzxseDIpa0FMaUFBMEIjZ3khfV5Razg5YX1LNFBsTSFLMGFyRTw4SVNlNXRUJCZrJHVzaXUm
M3IKel5qSCZTPCFtJjZtfSErQSNIIX1kLVV+JTFnWGRZfjlUbE80UUJ7RT1PMksxN0xsRldeMy10
RGJaNFF+NyYjeFgmCnpHakNSdXdyKXNQS3MySWFtPEVQY1dWbypiKUNnQ2VDJUVQRTVZZFE9aCYz
YWY5TyhsT2JOXjVPamphYlZDXz5RRAp6VSZMfUhAdUBkY0dqJXotQCNhO1YpNH1EN2xpZEUxMkNo
RThvVFlQT0poZF4reTROcn5QWncyNWpnTVlkI1hYUHAKejxHQkI0ezckciNEdWJ6TTlOTXtfNzR0
V3NFMWV1VklLOz9NQ3FufVYkUFZub211VkZJO30lTiEkUk5adjIpVTZaCnpIT0tjRSYzNGskZDVG
STVxall1KlZ0OEZ2UmVZYXpXYmR9aj1SV3VCLSt0cStwQCl5cFZ0bEg9MX05dGFoZlNVTwp6X1Aq
ayozKGlWMUZ6VGBBJjthSDdGZn0hbVh0NV4zbTIqKVFtem1XXlhsOyUkViU1PnQtO1hDdkd9WHJ0
N01kb0kKek58PSFEcWlZSkR1YVFWPElGOERjPH1qN3oyRVRoTGp+WHs8dG49YGxIMGdBbmVCTlBk
T09qaElpKm1fNGklYDUwCnpIQnR2b2o/c2U7XlEpaXlHdFhgNzJjYT5MYXVgbEs9cnpsektrRyYh
QCFEaDJuUChWPnh7RXlpUWZocUxjTHBZWQp6QDxwRz1VclBOU0wtPXRoZzJCdkdqX2xkWHZhXlBY
c0NvTU9DN3pZUmJNeUZrclQxOStefGk2IUc2S3koNSlqX14KelR8QyFEYWN1ME9QUiE4VSo7Qkd3
WElzWXA7XiR3IV5FWWItZWs3JGxWYTNtPk5iZ0ZDP1lPZWZfeC11KW9MNHVxCnpJbF4kKD1Sa1dP
NXdEQmQkfmFvSWohQCsrNnRqJDR2eSVsPTJDMXU/TF58VjwkX1JAMktCUn5zNnA1aSkyKnR4dwp6
cUcpbzJoSSlfd09xZnR1VmV6NX0rNTltMXlufH5FRntQIUVfYi03RFRwKCR3JTQzI0lMbHtZPG91
WXJ8RlpzbX0KensrWnt0XmRuVEFrJkh1cyUwfFNkUTlKTEdCJig7UFlWVkM0ajF2R3cpIyolNENv
Xno+XlVvODZPcFgzdzJ7PDRXCno2ZVZ5PTJKVEc4JHVGZlcxKG8/SXI5Uj1mST8tNkFUKFVybClR
RDhSQGEydSl7cEYqKi12Vjs0JlE8P2Y+OWROcQp6RUF5QF5kbzl+TiQ4ampIdVFiVG4zaX1XRDxC
I3NBQ01odFptRlYjJV55RX1iVGAoIXgmWjRPV3JjYTZ5amhFcCMKelU9QHF4dlpFQjdEOCswUyNp
RWFHeVFtX3x2PyZval44UndWZGg/diFzJm9BJTZ8NmRVaGBHJSs7WTJsaHZLMitxCnpAVW4rRkBj
aUJVO1FNIzhYPHImJCpCUS13NDI/UnRTYEZvTUsxRWcyZDwtKS01biVRbmdRfHR0LWB4Vil5KTBV
Kwp6VitmdFRBc2Jjb09WUyh8M298WkZVPEpOPHVNfnNrQmMrT3xTSVEqfE96RjUlZURPO2dmQkN+
LXdBfjJ8T0RSdVUKej9FSEVSKFNiPS0zM1gqJWg1M0lxUik7M0YpRU17QEpsQTgrPFMzV0Q/LUhn
aXt4SVIlYko0PDtOYV45YGRobHtiCnp1Jm8wNXFRUEo7JmR+dnxseyMhWWtLLTk9aFFKVU9INURj
XkMjbVJ1M1hLQVdYQEZVYTc3MW9YV3BTOEg9VVNmcwp6JkcmaW1pNUUlYjEle3p2NkBCe0NIV3t+
cSNIPkd+dTV9c1ZTVCV+NjJxUypDIX1sQ34mazE3UCQ3VyVya0RXZmkKelUpfUhtQDRLdjtCTTAt
ZWJxISNzWmpqMk9xfDQqYF88bTQ2KDBVfE4zVXNZZkU/SFBFT35WJm97TmY4UXtPZm1LCnpgQTQ5
UVVfeHB2eTMhfWApd14jYjdESz80aW53fWxRPz5jR0ByWDlGcTAlSDQqNkA5Z2MqdGt6eWgpc1lA
bGBhPQp6ZUxxSSE5RTFgMGVXaD5YNl40PWEyKTtkdkI4JWYqOTdSejwoZU09d1BsPSszbEJsNl82
Y01DeF5RfVAmZWNSZG4KekB+P1U5dkIla2RhRn1wN2pHYHpNaVhNWTBoZiEqWXd0aj9+JD4kTUMp
SmBsR2Q1PUspOShGTntUfWIwUDdRV3txCnp7YV9XaUdyRUkrYGtRX2hUK21HV3skVjtnZChsbDcm
ekFAU3BGTzN4OHxlcHJkfGoqZDd0Z09IOGR0PkV7XyhqMwp6VTtscU0tMGwxOUEmOWtjMnRwND1m
azdaQXJTd2ltN1lHNFU1PmEpQHEjRS10YldKUilOYSQyMGJhWWswYWF9Nm8KenU7e0dHb098QUtD
ZTJ3dnRvQ2R+eENYUlNjfk1UVyNOQnVCb2wpRnU3cGJvOD9BYGklKX4kUGktRz5ISFJEKTxwCnok
TUdiRXFFR2pyTU92TGp5IUFSTjhfeXc8c0dBYENkaitMWFVueEMyKlFTX0hWZGFLTzxhaDhyN3VE
THotVHpPQgp6TndYVCt2JVFPK3pIVU9NaX1YUjNRdjR9MFNTWD8/bUZ+aUdDVyZhZERnTl9ZPncz
VE56a2RHeyVrc0FaU3B1QEIKemZnV0kocGFYYzYpPilrbk9raCZUNU5FYTI3I3wyMzt5UDFUPENS
SUJjcXFzJD4kb29Ra2s3UUhCKHJERFdjc1lMCnpzQS0tPHltQVU9dFA8NlRwJEh2TmtpTHVXNj56
T2wzWndtYDJpb1h2LV81P2d5RXU2MDJtPmgjKD0+PWozPXskUgp6ZzNuO3U9SUReWnNKViFFXlE5
IUtyeEsxPUJQUTBzekswTSpRQSpGbkUyJWxRbTckT3dxPnZySkRkdXBVQkdyKlkKentQK2o2c0go
NEolY2V0JmpDNWs/XjRSaH0tOypKJiUkanI3YlIlOUZTMEROQjRlOEgoX0JSaVhXfUtZX0QkTmtr
CnoxQHg3XlRMaHVTNHNjcU1laGZOTDRAfDhxKlV6c15YZzZxQFNRcyU/JTM+UFBQX1VMJmBhYnZg
QTtZSUVaYzxZYgp6ckxzSXBCd21KVGhFYXNUYjZ4Q1dqelRXUU5JRmpAVGZwO05ibG81c0dsQGs/
OFB4SX55KDJiPGRrWSpMdC0qPmUKekIzZUN7YUomdjlvU2F3K18/fDspP1cqdExje1pMfiNCfmFJ
ailoYXFWcjImPz0xMV97QjZCQj9AU2A3SkxAWmcoCnptV3tnQE4qelU0UmZMa2FPZjZ5MG87NSFi
dHRyITlkVUFYSTZDYzAjc29udT1GTSh0fkxPfVJZMD5ZMDRuXn18PQp6bER0YDBoWFBhcEV4TSpt
Wj5aRVNEdk4wPUhDND10ZztrT2ZqZCg9R0cqbVBKTEsqV0UxPUdvejA4TFd9PjRLMXsKejUoe2dA
cWI5TWlQQ08jZUhHJUU4XnJzeCFkbl53MTZnV0pUVV9fYVRtWWhpPihTUkFQRVFKaERjeG0yPzJu
XlczCnp6d1d5Pm9AP1FgTUxmc0NiMW0jYm5xcSM0VnQkMD5pIUh3VXkoYGV2MiU5IStheCZSe2BI
KWQ1ciVoaUh0N0B2Jgp6X0g4LWYrO3FiYVV1YkpqWnYobzQ0Z3lzczN1SD4kN355VGVsVHlBYFFq
c0BBMiZlXmBPa0o1JFE/NCY2aSkhYmAKeiF8SSReTTJqYik4aX13PEJCQndHcz5ESm4oWGRLOXE3
bkBXO3Q+dGdGYkVrY0xPe2s2akFydzY1OURkPERiVXZBCnpkWSMjRm5IQUdDNXVIcHBVV1hhMktv
MkQqKVJ7ajQxWnMqYnNrdSZ4XmFXZ31mTkt9PFQjTGVKVW9KRGFLWGIhWAp6Tzg4Jnl6OW5mfXA0
X28qVGR1Q0wkKmlCJHFXMnhfQFVGa15kK1RAWjl7ZTU5Tm5vZ3NtYlBeMWYxV19DQGhBfTwKei1r
IUtyMiRFdmYwPTI0OD5KdCQkcjgxJDxqZlRiYV4wKz1aWT4wfFBMPD1XbDhuS1d7QiV+NUgxKiVa
K2VKRERUCnpPeHxIPXZ7KUVPZEZpZX10QUI5Uj9IeD14Snc7YXo4bGp8e3NGYDZfSHFOaEJIUGNs
VE1NTSR9WkBsbnowYENGSAp6RnshVSlRJUFjengyU2xJV3UqRmM0YHpuajN5emdoMFpyRk0/TmAz
Q3tHdTs+XmBsanxLMDtGJj1edjNGejJWPjIKekotZkUhUnxOWHxEM0FoMU84PkpRXldLYjtlR0c0
el5rZWxYIUNZfHxDPGlLbTNaWVA7WW9hbzJQKldEeT52VUJxCnoxSHppWFIwTnRJRU97KFNEUllJ
UU9yPiZlemglbi0mekMxJFktdGsmX0pxbV9EfSpRWG4/RGhacjh5NztAN04mRgp6QipyISs5dS15
cEB+dnhjez5XY2tVdSZsYHtQbXhJQDN7d2x6M1VlUT5Qd25IJTghJmprNHR5PzhhVy1gSHRBMk8K
ek9pP3N+NGlFKHJLJjxxQUVVbFYkKylYK2heUGBSIzg9MkIpemZ7Jlo/amFaKUJtUWBid2g4PTZ6
JGFNMERoYn1QCnpMaCR9MEtwWTZ3KXJJRE1gI1UlTyklcTlQK3JJVTBGV2tkMXE3UnEwRzJQdC17
OHZsJjw4ZWt3ZT9yQjwyJXZJfAp6Pnw7R3lEY3ooYEFqd15ockRyJSpyRE53IU5jdWxyakxuJEo8
RyFsfCFZKWJSSlZ9PDk+KGdeTkN2RHF3YjQ7QlgKejwoUEt4eD9+QE5hdkVqK3AhaD5ZTHs4d25m
IUU/Kz18XylNZjtwbHdpRWp7ZTIjYUd7ITcyNmoqVFYkcUMtOUVxCnpHJkJaNXBlYy1MMz1wV3Fa
PF80bWItdlQycFRHcCgyK0E/WklHKUpodCZue1R8M0JoQGtiUnVLbVdjb1cwMDJvdgpKUERITGtW
MW5DUHstKiF7CgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lL3Jl
c291cmNlcy9hbm90aGVySW1hZ2UucG5nIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5l
L3Jlc291cmNlcy9hbm90aGVySW1hZ2UucG5nCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAyZDFhMGU2YzNmNjVmN2JlZWViMzliOTU5ZTBkYjQ5ZmY3ZDkzOWY5Li4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCAwCkhj
bVY/ZDAwMDAxCgpsaXRlcmFsIDEzMjU5CnpjbVY7K0djP1NKUCk8aDszS3xMazAwMGUxTkpMVHEw
MDZ4SjAwMlA8MV5AczZnb21ZNDAwMUJXTmtsPFpjJTFGTQp6ZDYtPlFtSCspWWAlSEpmSFAyTl5E
c3V1TTE0KTJEQVEoVSg0MnF6TCtTOysod240al93KU9TKnZsYVVCZWYjQlkKelRVJStMKjB5bk91
Pm9hfUtfSlNNSyomdHl1fk1uakpsPFAoSWA+VGJ7b354S0JxVHQ5REIhUVkmdlVCb0ohaFoyCnom
K3klQXVlSjh0Pm5mWjwleCghK3tQfFVye3chajZiLUVeJXB7JWVFY2NtWUVhZCZGLSZjbnIxbytH
Nl5sYjB9bwp6M0FgYitHZ1ZQVkxNIXxINFVAbXwjRD9LclBqNEUwejtTKGhXPW5NWHQ9SDlsYWVy
cy0rZmFQKk90bSRFM0FgUGcKekcxNmJVcHpPLVNKLU9eNz4tdjVJNm9Lcm4hYFdSd2MrXipKZDAp
LVBvXyFAZExIWV4yRUFXO3t8N3h9NWBVfFNWCno1bVdXMGwhSH1DejNqcylue0dlYWxURm9ETSZk
IzxDKUFoO3lsYkdtKWV+UCQ7elUlTmFtVDBVZVdrTl5iantxIQp6cTAydmItUE5+cjl6RCN5LUNL
TFZ7ajA5Tyo/T1N4QzxAQVBaVGQqdVkqRV44PE43QnNmajVtYU10VmgyUX59ZmUKeipEWHotYztB
eGR6bipkNCRJNlUmSndzaSl5ajtRRXIlRFR5cGc5UXd1am83WjtYKT1vRztydzFWQjV8RW9tKmJu
CnpIQHQxaiFUZz80T1hsQytaQjFZVHVaPVQ4YG1uQWolZyV9e1R7XkdqMTFxbiVfS0hRektSN1I1
emZlKEJ7ZEZwXgp6IUxATCQ1IWBHeS1zbk13eTdtLX45Tk5Dfnh0STRweCNzMXJON25Bblp9Tk81
XnJBbXV5YzI1ZythaTY7UlAreGwKenVmRzFIKkRVX2ExeHFob1VmcF91cDtuKiZzKiptUW1CT2BC
XylaPj5wcnxPU2lPfERucC1MMjBNXk9hUUVsP2FlCnpmSFN6MiFNMWdVT2BBOVc/JXQ7a2VnQkNL
PV9mMSlAOW97ezFtMkIhUG16QXIoJlFEbGVSUyFVbXRLN0IjcXI2UAp6cChiYVBqITVqKFZYV2Mz
V099eGZPPzY+cTF9V3N5YyVCYzZ6JSZodmExdHxHTUwxcWZDe31AKVhoeDBIVT9pSCsKemo1dXkj
a2JLdCpqMj5SWWg4LVFkdyZtWFUjTSNSfmRFZ0EpX1hPVUJ1cE5vKCQ8MEZIO0diUkhuRXBleF5R
SzhaCnp4a2w3fkBuZl5eeSNCZ3RTNjl4eVE1ZTxwMFJedl5CSHkhLXB8PERnWnJqUz9fSUNSRU41
flhoSlJnSz1xR35GTgp6cU0jfU85PWVjMyEjWlc8NipNJDlRe1RgP0J2RlNSdHN6dH5nSytnNlR4
KnpJK3ZEXmVfJnZ7ZSZMSn1NUSQoVzQKekd5V2haQFhuKHxkVn5WNUNwJW5FS0llTSFMMGAocEs2
bTQhR3ZAR2tRPjRGcVZmNTBrZWRkQ0hLbGBHTyZ5R3g5CnpnJkhvJHZxI0J5emZBWTstP0R4NDMr
eT4/Z3NkZn5zO3I+Q3Y0eShZOHROKWRqOEZgcj1fcDhpJiZQOHRpaUlAMgp6TGx5JmxUP2BOUEJS
IWs/K0RmTGp3bytESmkzcFZ1dHlAVUVaYSY0LTBhQU0oVjhpWWRlTn0lPT9XQjJVPktSUG4KelU0
ayp2RCs7KS1rSzsqdkEzUl5DaT8ofjg/PC0mYihrRUl3LWZsYW1QNU10PVJgS2FDfEo3eVJZQj17
VlcwOXRkCnpRR3wqO3ZYfGFua0Zmc1AyaWczfTBWMSg3PUZGTVIlO31TPEQybyN8VHlvaFEqfU93
OFl2RExQUVl0OGx6JVclcAp6VlV6TnRpSj1SITE8N0U0QU52aitXdVVLPCtWVClIciUlQiYxZz1P
QEo/azNjV2k8QCN7fCRTMFkre3I1REg+O0EKensmdyR3MGBEVURHOWFXNzNhO200SX0rY1FJRyk2
SGVTQ0BTYGAtOE1xSUtzVHBFLU56dCtzUG9yMm1gaUU1Q1VBCnpyPzAlTGE9fnB4ODxyeTcwe1B5
SloyakdUQCR9UEFBPU4xN0ZJfml9c1pCJmY5d1dtZWJRflJHUzlecntPRHx5ZQp6cCZ9aCE3SyQx
Tk1hT3FOQnpaST9QblohQlFIeURmNCUxcz5Cb2tvPGhqWi1TZHgpT1NIbHtUdFhzJDEzVX0lKVkK
enF+KX1wYnVwdHlVdTU2NVhaVEk7aGwjZ2RgJlJGTDBgRD4/M1RVYz11OEdxQlU+aDMmI3ZyOH1e
KnJ3YCQ1WCFYCnpQayVaNk97K2FgTmN6dVRRfU07V1RZY0dHUnA8VUt2QnZaOD9LREZOZSNfR2pl
MmM5KzRsO2xLZTNtWWxLe056Pwp6eSo8NEFOYGR4TjZFWlRGYHNQKl5FOyRSXmMxUkNyRDZmb1M3
JUdrfWFhPDJZQGZrQEs+RnBZJV92bTQ9THgtOHMKekZ1LX18Z2xUUnsoOUBTOyVqUyh9ZXV9ZWEp
WTkyQWZAZTBkXnBma3k1QUl8NClAUyp9O2hXSkt1NihvaUolTSpJCno2aEt1S3E5SylOU1M0KCM9
JGU5fUQwcUhBZSV0Wk03bzRAajFEemxJO255IThjKGU3dENUX2VpYEtmPXA/Wlc/Ugp6U28tJU9G
P2pgRVZTdWpmenZpS3plU15WS2hidllycmxxazhEPzcrYlRTd1Y/YlVIUURFQEpNeW5VcDA+dlQy
Sz0KelJtM1hUUjglTU05MWtIdEgqfGJKUlJ2T2x1QmpOTlY2ZDtpbypmNWkrcTtjOWxYYGpvI1Io
Rkw3QEljanFgUTRQCnppe3tqRXcwREk1aktPN0ItaGlEdCNNWjV3YEV+emlHMyVEUzwlY3xoY1B8
dExPa0VJKlhlNlE8bnlUUXNsN2o4dwp6STEod251NiQ8citWNmskcUFqT2c9Vzg4VUhZYUAxSCRI
ZEhXNzk2WUVuWWVJcXF3O3FqJjhrfDJZPiE7SlEzckgKek9QNWQ/aHB6NV45ezdFZmFMZkJ5dn03
VWluMVM+PygmOz9hSEEmODBKZTRpJDQ9X0JFTGprZkdpO0J1UFFjPl9xCnolX3xCUkxQMDFCeH5g
RzRFU19KcGxpezk/ZURIbWVNR0k7PGFHLTxqVGhfNX5XKERuQ0RjYnJ4SzZ2ZEZXQ2prZgp6ZXRS
IyFjbUZxYHZaLShYRE5vPkMzODUmTWg5RFlORipGNiZsbFQmbDtRTXxxcEckeEkyVmNHNUEkYn4o
ZkF2JjUKenN9Z0dFb3FzbXpTNyk3ZmVOKitrUHZLY1piWnh0ck19SylZc3VBYj9EO0FMbWQySEY8
JWBjeUFXeVNAIUZufDZHCnpHfnRvWUl+MHA5ZzlBQVYxcVRWdEtldkBvKnIyT0JPKThiZ0cmSDFD
QEk0PmpsU29oRUlVYkpWVmNRLUczUjk9bwp6cVomOy16TlZqaWM5O3YjWWEmK08jSV94S25BPSp4
WGVQJm9aM2tGNVojdCROQT1SXm9BQGMmbj4mKmdCOzVgY28KenhTcGhGYCM3I2REMW5nbHJOb3p0
cCRPeEh2ekZldGAtQVZCdmhSKk4/cyMzfHBHMH5FeGI1Mk5mNHlTRzs7WlR4CnotLVp3eGVMTF50
bk1ifmw8KHBpMyhZZUd6NGxpeVY8aVNrfnhiKFVrc0lHe1Qmc2h7TDd1V0llOUZKN0dLKyRwOwp6
OW0ldDJSflBkYU8kSzFeJlRoZ1gxMVo2RUppSm5RKlkkQjY0Xj0zezVARD5JTHNlYXJubnt5KmBz
b2Yqc1MlYmYKenNVdSQyel4+Z3BTdmFTRzEwOTFMPyZ4UjF0WGRTU2c5Rl9qQnF2OyVmNjk7JmRf
UzFVNE1NcEJKPlFlNG5qWDEhCnpeNHUkKWB8d3E+SjcxNlpDeXs+WHRtcX1IUzU1bG4pVE4oUHFq
aWZJK1dSWkVLSnljTDI2SFVDOzlNJT11PDRhUwp6OV5OdmEzcyt1QUJCRW1EWkhoJD8kTXZ1c0FK
M0VJM29hdT1TKDtsYVgrSlc9eyhYSjt1MXxrfG1RY2pOYiVMXnYKej9jdW1TdyZVWnZLMzM1fjJu
OTE3V15tTUBefXhAbW5iRjgyWW0+TjY3dDBubXAmQnVjOV5TKkV4aCpgbT0/RHJ3CnpReVc1Zj4z
dGszb1Epbz97Nmp3WGNNTFY8MX1oZC1Gcnl7UHstYn5SbjdsdUJkIzRLdGN6KW8raHJyYi1DM3Jy
WAp6WVEhIyFscmBNez42PSQlP3pyUVFRPVdmOUpibDtAYG5CaG1lWUw2ZVkkTWltS0khKH5iOW4x
UmJvQ0NmWHUkJWkKeiVPZX48K3szUzRuI3xuQSVUYXVYekNJaE5DPHI4PUFRYzReMXl4Wkgyb0FS
bXFHfW95UlNCTVp7dCU3TDwpcmcyCnpOS2xhfEtJMShXMXIjWTYmRztBemk9fl5zI2klc01vcUgz
UFV5PGdLTSsoJGVefDFXPm5QaygwV1YxKVA7KHtzcwp6PlVSZ0pQMWUmPz1+STI9KkpMWmMkbXdg
dlooM1E7bD18PlZgfTs/MWNDfV5MdT1AYC02YUpQXlUyYnNHJTZiNEUKelVIN0lPN1ZuQW4tVkNH
ISRNWFMhcTdiTSNKfE1LRj05dyUwPm19fkU5dz9tWlR5Z3hEYkVpZSNLV3wjYUJ+YDUjCno8S3pi
RCt3fnhRb2Q7PWJZXkpga25TM3RJRlY7aiEpTGxlYlFqcDJIV081R3F5aEFxY2xGN1NkYX1JP301
eXhAfgp6aFlnMU12KjFWO29qWng8Tm1VZHJrOV5qfiVHdHJCUmx5O2p2bmt8bEA7UkdTVVNSdDxF
PyQySiVFKGNrWn5aOU4Kemg9dWViJXMjNz9wRkE5O3FkVXV0dihDZnY0NFB9PiUkU3RxY1V5KWpr
Nz1CaCspODBeKkooWXREZk1DSXcjS0x+CnpIXiVvPm0hI1dtSCV7VjlBOCNjWkk7R2gmZnAtRE1o
KEFWbipZb2dQN3RNJVhlI017djxSKFE/UEhFdGNsaXR1Mgp6YXNKJWNYWF9mTEQ0fmpKMz9GPSkh
T21UezdfPn5EajtZeF5eS3lhUytffWAoTXpBZkY+ZT5YQjwmdyp9PG51MHQKenloRmE9a31KNTM9
M08kRGhYfFJkcmNRTnJqQT03ITcjWCFGU1JSRmZpPE5VSTxYIVJ3bXUke3VzR3QqYWQkQFYpCnoq
OWYpbTxsKXhVU2ZofG14czBUMnMlazJiVykxZn0+N2M1RHJmRXdfa0IpTlR7M1pze0hvZTAoTyUq
Qy14dUBSTAp6IStVbn41T0A4b2prfHU8I3V2VmBtJUR6fU0kWW4+K1p5QlEzdXtnKVVzRy17dz44
RyhRO1pVNDBAMEFsK303QmUKej5UcU17JXgjVW10dWtaeFImJCZuY3NEfnpASmpLd3pWRzhwQTFO
aD9zQEFYOXZARVB0NmgqeEhvTkBKTGEtQWBNCnpSIWR8PlJyQT9jcWRnMjlUMShOa3NqTyl0U3pi
azdaem5KOFhyZ3N5SihpPFQ5V0AhfiZ5JmwkJFQzd3k4QjsxMAp6ZF9fVCNLQDNHV0EoMnV0WEtv
JE96dEJjNVlhPGo7ZF9XMTdReCF5bjhLSiM9ZUNPUjF5VzlCcnl3NVJFdFJOeUsKencmSD9SQFBS
NFFZanw7cyE9KG9AJSR3MG5jQSRva1lCNlVAbDNuZE5SLUlxVD9EIzlKQU1HTlBYbmFjI2EjdmZI
CnokSlh8OSk1Pn5RRVVNdFhIOWJIO2gpPUMqSSlPQyhCUWAmSnczQShKU3BkSEFgQn5KSTh7RF8x
aGV5ezlQKlpPMwp6am5CXmw7Ri08Q3tPSGs2MFJIMWtiSj8mZiY1c2BLV052R1dGTVlmZmZVb31O
MGx4SCFWMSZ0ODkoVm47anJOe1gKemo/ekZ0PGZ8e05WYiF3Z0BxSWJWPEZVMjxDI1dQfWBnclJK
KlBYTEc/cHhFdEduPEZVX3VhSXp7KUJxUT8mO2tRCnpVckpPWm43cn5tQTRPM1JzQGA8WXJKckJA
XnA4TEpPPHR3dWpRNF9iU3xjQip1MXRtXjx0Kz4hZXZhKHU1RDE7Pgp6YFlDOWQmLSgyP0JpPkE7
Jj1IelMhUyo/RkcpMUI0UU01Z1pQVShOcSEhRWttTUd3ZEp1cV91dzJDRD1jPkp6azEKenR8WFQo
VmkkYWhNVHUzQXErRjgpYHBmKnFmJlVNO2B3O2luVXJmODBoZyM0bjdBM2FqPEpka1VEVChoI05t
Tjk2CnphKHhgbl9vISVeaHYmSlJKKn1FZCZjXmpNVztZNnkpUH1lOUFqa0NpRzNmfCErbGBaJCta
eUIxYnB3M2omaDZhdwp6dm8+blY0UXsofSh6cytDQmcqODQyKjMkTW82LT1CNDNxMV9MXztkTytB
PTQjZCl0a1pjeExsM0ltO3MmUWR4RDEKems+K0BlNXE/KSZtZTFhYGkhWGQ8RlMmeHBPKUtrSkdV
ciR7PmFNbTdVLS1ebUs1XiVFP3B4Q25iZTNodT5SeiNeCnpmPnEwXj1ed0hBIWd1IWEqfUhicEts
MHZMJD81d05QMVMmYV8pPCNabGBYZjE8MjRuRXFNUl5mWTU+dSZGc0lhcQp6dUJmVzFNWTxOZj9P
UmIqOVdfISR5dTZORnd3RCluKXwwRipCYWB0K2s3bnJ+JTtTNTNAZTBTPk1gTH4+QSVhZyUKekc0
Ukwkc0c4dXNySVhxNihvc2UmOCZuLU5XXnklO0BxdDc0R3RpJTVPPl8hZCVIRUchT3lDSFJfQCQ4
fjJ0RT51CnpxX1ElfS11NjVsZVVlR193ZDRtWXNJQ35MSmcoQ0A8U31ibjZaUUxFVk10IWJETXEp
YCFtRDVTa352OHgqTjRYPwp6Qm1ATkN1c2g5P0lZfTtBUkxPbTdkS2VmOV44MVhEZVI2JC17dD1z
K2Eke1RfSTsoVy1SRlpVVClXe2NIWmR6SVkKengrK2RJcT5mQUd8NT8qUiZocDR2OT94emIzWihY
aEhSR040YyZVSDVHOyRvVCFtTDtuYylYdDdKVCFqcTgrTkJ5Cnp2OGR2LXA0WFd+WXd+NVBMTEdS
JWRaSXN+TF5sQl8wYExKdkIyOyojPVI5bnMyX1hjST5qWVlkcVN2M1o7YDNMbgp6Zjg7Q3c0VURe
PUc9Uz0pS0Uxd05wQSQ+Z2tzZGg2PTskYndXZUxKJTRWWj8/LWFTNFV1WnJmbExaSndyPWl8QigK
empgUH0jS3tyJGkxc0JpdGczcCRaVkgjK2ZVXkhFJXdsMjx4S2ZhSjdUXjJwUHtha3FEMlZCem1I
MnFvME1uQTs1Cno+Wj5SZW49bG14Mk54ODleZ004RWVBbEJtQkcze2wxdmshfjR4aVIwaSV7N2xv
UlIlQilrZihWYzM0KEJnX2goZAp6eTBpVSs7Jm9AX01UYC1vejU3SH1xckUlTmt+enQ3RlZOMW1F
SEBEbGEhZnpvKXNgaFhII3Q2UEVTWCF6dUNePlcKej4qVTI/WiRfbjwrO0dnTUk5PiVCQmxZbiUk
QklRMnRYTmR9bnMmKDh7PT1gTU84djFncnt4Syp6ZEN7TTgzZkVPCnohSSRJVGdKQGtxKFhrNDw+
SFQ/dl9ILWpjUmdwKyFOIXBqeVBYNz9fdSVhbElsK3VTMT42QHlJTVR3e3VqWUp9Sgp6OU5DVyQy
QVQlWldGNnFLciVsSW81P0MxeiZrWSolUlJJRWdGKHlmYXNvfFIxREEhJiluSEBYJip0MmhkPDsk
bkEKelVfbTI0e2BvZmM/SDxJKioobCpTaV9jZDAyanpSMWVRT3g5NFl1ZDxZXnJ9Qkojc3p+U0kw
cjNDPCtQXkMhZmJICnoySHYyP2BaeF8hRHx6SmNTSi1oViMxLWYxbjZWbiVZJlVnUDM1RV8xcGhs
e2grN1JaMntmRk4mPX0lTSp2WnIpeQp6byhrPGZnPmx0biQoJHJMPHB6KVM8aXxVfWw9Pzd9PiUt
JXQjVUJHSjdGRj02Ulpaazlqfl9rU05pP0w2eUNVQz4Keip6cm57M29vcTNRWStDRXxBYj0tSzRP
Z2NDP0dWdF84ejlRM3k2VSNSOCpuaWN0dD5CTWsrMmVMV3hTLThjaEBBCnpWPTlycCtCXyF8M1pw
NnhVRVJJWlM0Tk9wb0tVbV4qVTU2WXgwK0RjQVlUeHJyWDxuQERGbFFoc3R7PHBOPm1mewp6NGRm
WH42fWohIV5CRWs8XlU1b3xlRGB9VkdjY0coXz0wPjxYRj1sO0U/eFQqJT17NWpHUSFKNDhUTGRi
dihhQmMKeiNFIzx8OGxMYXR4e3gycWFuYlQ3dURXSWhSbjxgPFFHPF41R2Arbzl1RHA1JSFyWC03
KmwxPmd2YSZkaWJDallDCnpRJlVAdWMlPmI5Xl90eiYhYE5eP1g2VEkjYE52RHc7Q3JDRUExQCk+
eTk+OzFqZDRrLWokTGlwYVZiQnhafDR+Pgp6NXwxQnNDZkEzQHJUdGgzOXM5bXlQOGs0P3Q/bFFU
JkJMZWstaSliV1F8aU94cXN7NGReZlFnb2Zqbig1S1pLfVEKemZYPUp6aW1gd2owd3g7NVYqZzdV
QGNrZ3RSIVdIPzZueChnJHwpaTtXNjNTJj9SQD99eDtjKllpbW9aR3YxcGg9CnpBeH0xJkNFUSQy
JFRaTioyJXwkSVdVTWV8TTQ8UjhqdHg9KU8lPDQ/UEFGLWgzUEdYWmtWK1J4cjtHZntIYG1lRwp6
byNFMXByKlAtanBDZERCcXFyKVRWUkcmNC1QfnpETlRyb3hSRWg5dFNCN0ZkI3tSfUBzMCs2ZTJ9
Ti18azNgJWcKem8tbmE8N1VkT0RJKnctOXk/ZERTTlJlJT9eZjdmPjhRVjdYUU1iJlhHTmh4MSU4
NWlgYyVJS19EdXRleWpOdStWCnp0JXFEKVpqS1k3cnJjbzNvSEZMTiNzVitNeF8lJXFZfTxQWk9z
KUBlKTU/MThUaGtNJERzeihLZGh7NH13UG5XTAp6ZSpHaSVfJT5GNSZobFFAQlhoZFFTc3N0Qjgo
YEo0WUNnUU9vYDFqcDIrXj1RLW14QkMrZHAwb1Y5REd2NCkrdlQKemIoe2VePHxXJEltWmZHPDF5
XjVLTG5OI1BCaH1uQFhqIUhOOTM5PTA9JS1BRUZfdWIzTDZhJiU9d3NQczAlY25TCno2SVB6KmdP
bnR5clk7NFpQIXVJMnJTIUZrc2Y1RloodlhPbXF8IU5UN2F9MUlKcnFZKDZ8I2o4eG5jfVEoR2lN
Mwp6KWRablg7T1dkfTlGQkhwJHJOcGhiYFU9IVJEb3N0V0hMNUN7QEhkMGRXd1dZMX07OWcmUik7
MEBrZEQoQzMhK1QKeihVVCtYST1tOVBrZWdQMmx5bTNMI0NCWWU1PXw5IWIhVTBfcEBWR1JHUWh6
QHFiTmNfUlJ1RjwqUlglekZuamtOCnpXJTFsPD5ZODxJQmFVZXJYZXRjJUFFQ053SG83LT5URipH
cGNUWTZmSHRiR3ctPHFCaTRCRVNYK1F3fStQR1oldgp6PlR2XmQldz42ZXgjT2smbkFBTDs8UXNP
S3h0WlFFSEVHcWRZWDBMKGJBZTstJFo7Y2ZaVTZZWiFmaUtCOzwyXjsKek9sfUF+TmROSnJ4I0ok
NERHaDxASFJpPGBiS0FabiZgTnAxbHZtQkh6ZERGZzhVSGc1cCMqRU9XaHFYPGo4c2VtCnpxNkE/
I3o3e3NyWGg7fDNrIVlOM3BANUctNipgSUBNK2srWTdzRkZSTlRERyNnTTdpSnQyYSQ1V21CKmBx
JVlBNwp6ZmZpRUhHITBNczJtX2B+dWl9Xlk/SXNjcFFGSnZ2Y0JSNnkjMl5vZTQ+R3g5NldPQ31y
MHBWeTs8ST5jfDZGYm4KeldoQ017Kih+aGRHdDZVO0FMZShAYmtnM0khZ3BPaGBLaHlje2BvRmFz
VXAqK21tXmU8Y3pGZHlILWUoM1BfIV8qCnpybEpaI3xHKkZwJXtIMiEhUy1CKWRnfDxqfEZmb3RY
IXZDQk5QQm5UbHR5T0deMlhoaSkjVjFjIWxAPHB1Q14/bgp6eE80am5gfSMtaGxsSHd7YEE2M2Nv
SFhAK3MmV3R6ZX5pZHU8eGFTdG8mc09eX0ZnNzhndmFtZ25hI3J8c0FAVU8KejxFI0k5QWFKTEsp
JHV5c2s/O2Q0QGY8KVh5ZWVxbTd7OD90Q2BjKUErKmNKNU81Z3dxPntjezAoaE5pWjE4Xzc9CnpR
XkxCNjhIIWV0JUp3MElpY2tmcjl6cWNVU0g+eTI8Pig9d2JnSUNTTHhUKHI8Z2tpOWlLK3pndk18
MDZgSFk3aQp6UWtYSGprYEcpdmdUfUA8IWBVSz1zaitCJjRYYmFUUGp+LXB1M0wwSVl3cklre3Jg
U0QjWWg+P2RuPEAwODw5ZnIKens3YzxEQFpkcFNlen0rNyE2SyVxUUMqKVRvMzs3PWY5KGQ4QWVo
WmJiSmpjKSVgbExQanZfUF4pa0lNPjVHdmA+Cno0MU9fPGxuJWFVemI1SjVzKX0qRXk3RiRwbjJL
X2AkNnVAYm5OWWpsRTxDQj9jPD9JNjtFN05LREJ5Y3c2X3I9SAp6cmh9OUdsQjU/eEY5WDdxWSot
Q1lLPypabzRUR2FXJk9NPWBZOT5PY3hOZWNvbz8hfnY0Q2dKTGhMdVpqO3FvYWcKelNYakA3bSVJ
N2gzKkUleEF1ZD9mJFRlM19XJT1ARTh0VVYwLXF3cHlHfEZwcnpWP3NqRj5QdU11MlckQl5VcUxh
Cnpjd3t1NnI7WCh9LVluYFdEKE1Ae15QXnd2cmhte1BvWWJqfj15Kj14IUhISXlCeEBwQVNyMWhl
WHU5Qk53P0oxJAp6JG1kbj9KJWtvUUNAUXxNa2s1QGBXJjgwdyMoVm4mLWFHS00xanMlUmc0Ymxk
bHlJRWUoaTcyPmoqcXs0TVQ3djgKekcxN2EhXmV4K1NqYVdUS0d6MDhJPW47ZS0hNn5HVyNTRkdw
TXJXN0Qlaz1aWDgpb3NoeDFZejM5ZlNQeHo1YHNpCnp0ZUg9TGRPbkw1KWUjUD42ZktYQE9wKkdV
N3xDI3k+I2t7SyFQJFl+bCo/dHdxPXAmbD9QNWI+SWZvMDJpRz9kXgp6c0U/RCl5SlUrIzwoMSlK
TD15YDUhUEsmJTNDejRpU0FDRnklVHk+Zmp1WFNzYnYhJFpQQF5EcDlNOHVvPUU8ZjkKekQ3cWx0
ZE9vV095aEJoYFFKUSNDMDxYIWJwZVNRakQrcXkpZGVXTzdUU08mNkMpZm1sWDQhdFJVXnhaRnRS
IUFECno2R2M3P2ZiWkZPdTB+YWIlRGw1ME5NKGtaS0QoQ057JD5lM3s+ZUByZGlWZ1RRSE4/NWUh
SGZGLSNwUHlZMFdPYQp6NUFuRmNYSTlUKylzPlMwKnNeJnU+dEIyVXEzVyNQN0g4dyZhO2g3ZmFE
MGBPbW96YntJZ1RGRTV2bzg0NXMtYiUKemgqMTxBZD15b25EMWx8Sj5sdmNiQ3V8bGB2QGtlZTdp
fXpDNXtxflk1QXs9VTZVNDxDT1RqO1pLTmJgVHN3ZiQ7Cnp1YnhwS0JpWSFZVkBwbnRGQyhRdFpw
Y2N7YnhXbGMwSWc4OzMjcHRsb1U9UntyPU4lTl9gbCh+NGt7aj1SN29aXgp6ekl3O3xffnxiV141
bTA4YztDd1ZTLWlOT1UpX0hfeVk+dzhIQDgyX2p7TztRRXgwJl5BWjBea01Ub3o+XiZCRCoKemph
T2NJaDR0JiM7YHMob0tWTStpSn05ZWhLfmJZRFVzQT1BYEV8Nm0jUTVfTSYqRXBsWmJLfip6dk8y
UDN+SiRfCno4WUxxSWYjcD9Gb0E5WUJ2cik3ZCFuNFF+RVFVdU5sNXZ4Y28oenVDXz9yNnMxbTR8
e0N1RFZKRVpYSlJLRVd8Kgp6P35mbDAmaDtoSV9zMW9APWVnR0xtMSYrJkF5QEZiTSo3O0FlZVJX
TGRZSFdCVmZzRmI4cDhDYHtQLXVvPVpGOCgKelBpbjtFTjhld2BiPVMxPXVpeElyY21Iei1Ad2g9
JVdmV2ZxYG5PYS12d1hoJTR+d1gpamooJnlFO2cpeDBveVRvCno9KGt4OGNqe0RCT3tUME8lQm1+
dFh7ZHx4Jik/bGFaRlBoZDd1MiFoezA3ITs4YkgtbEx9QHthNU1ZRTxUdnM5bAp6c0goKXZgQW5V
blFCIVdBPXcpQ1hDNl5mP1F9RDFJTiNDJUFyPFQzdCpxYUh3YkM1b1BUQjlmK1VMKkZYNm42dUgK
elFsN3xUaG9weitkKmhQY3ZrUGdDPmxHVHtxO2xUajFOKE0hO1oyUTFzJU1lU2o4STxkcVgtU35Y
e3Fke3JvSWwlCnpENjsza0RCcnVgMzB+Z1pNe3tHRz5lP2AlQVlfbzREeDNIQyExYitNY2w5ST05
WCFCYD56P0NpazdPaGhYOEE/YQp6Xzs1b3IpcysjPm53QDBwP2gkX1d0SFVVWSFvZWRzNHN7LSlF
TV5pODh7PlhqcChyUlNoPU4zQDU/engtJXJ0SHgKeiE7QzREMiRefSVCUzxHdFNNTFojMmR0dGAq
SSpHQClvYCsoY0xNS3YkUCQtMSRzPT18WTZCJkd8SyNAQEJwbVJACno0Y1RJVHFeRVMycSpTJSs5
YDwofUpnYD8lPzVEMS1mJlBJKEBHSnR8JGwmYSRFeylYPXQ8eUFxdiE7dUlSRlV9JAp6WXBIS2Nw
c0c0VCl6RVl1I31tdylSP2FgJWJgSEhnb3hKZTtHd2VPJl42MFpKRllrPTdWVyZ4WGQ0d0NUWD1j
aSMKejc+NXEkODZBYUMpRjc1SGk5fTZgNjc7WitWUUE9dmhIaCMmbVdFdnJYcXR2M003Ql55RypR
RjNYTXhae0NfPX17CnpfdFZ9cmdyVyNXXkRjdjw1K21PN2g3Yjc4KXk+P3d5N2AyQ3BaaWM5bW9I
OV5BMFBZdE0pak9keHZIZWJjVzxBPAp6dGRgVEM7PWclaTZgJVhpbn5OYmp6TWE9PV5Rfk9aOX54
cTghYnUyOVVKWGhLfEFLdjVYO2Ewa0l6fEJCYk1aVkUKekRUOCQhZy1tfTM7ODV4PTB3OGFUeSQ5
UjYyRDxqV05Za3V+PkZ5aUJ3UjhCY2d8OClQczdQYDRqMGdvUU9kX3NRCnpRPUs0VzhZcnJZcyV2
UHZoTjViT0FfaWFueTlNQTRAdGZafiZXb0VmSmhNP0Y2cWBYVC1hc2JuQCRoZVo9PFh7Wgp6QzF7
JDRUaHojPXBsQWk4SGNiT2YoQC1ASFVESHM3TXpKNz5NTkM0Yk4rPX1wNl5GQj9EQD5fKDVvUWZ8
MSV+Pk0KemE9Mj8wKC04RUgqdGx2ck0hZmw/MlhaUEBDQUhUaT9BUHUmJTJPTlAtVkV3SEw4YCZE
JWRPdSQlLSlXNy10VF84CnpraUwmPT1XJCZKZ2hZQkNwNjhFbXpWRzM/OT07bnlAJW87SjZvS29+
YnUzKVJMUHtVa3ZHSDZkRmxNRkNOWjs7Iwp6MWFVVm1sPkMrPjhLPUUtUH0jUXIqQHJIXz5nSztF
QDJDdDg0QTdMIXFRX2hDb0JeJl9KaT99ZndmT2lMU2BrLXsKejF1ZDBVS0lNSHJgXmcjMW4rWlIt
PVYyY0Q/RW5MI2J0S0RNKFR5LXRgYjQ4OW9qbz0kWjVyVyZTSms3YkR3P2swCnpkSUMycUZoZVM0
U2Q/NSozSk1DWTN1Uj9HUShHYiZKWmgwb0FIaF41bW8xLTRHfkFCfWx+V3dxJEhEITM4T3IhWAp6
Qk58O3BIZnEmMExiMipvS0hPSmhaJTJYYUV+O1M1e3YzbnA2UX1wP1Q7MHNOP1Z+KWtGLT11Y1dB
JjtVVDUzJT8KemBpZkt+YilNZHM4dClYJXdJK0EyWmwpQCF2MU5hYntHJSZ9MDAwdylOa2w8WmRt
aWx7bShaWDRQI3VHNW0lQVQwCno3Rn5KV01NM0RwISFIQ3VaM3x+YXhvbU5neVoqY1RxLSVfcmYt
bHxES3VmTDNWQXwhTE5CaW1NRHt9TTdEZ2Y/WAp6R2RPO3xQajVgSV9lZzt8UzJ1SV8xSEJCVW9m
R1BzKWU+ZylzdjA2OEt9WCstendpNkc1N211IygxJXxiZSVsQFgKeiV8WVYoOT00PDZkbkglPUAk
KVE3Sz04bW00WUl4WnpDYEdQTGU/aV9kYm9+KlpDaU01YUw+Tik3Q1FHbHh0Q3p8CnpsblcoRT9A
S2NNcXc/QTNvX2h8cCpoZndDUz91MXxoSHN+WCswSmtTR3dUT2dHRGt6bTZwQW97TUo3VCtSVyp2
WAp6IW1fMXhlRHR+cz8pbUJDe1FTV0lRcX5sej5nSGdecTZsNH1oQlVPV2g3bUQmPUgoT3glUj4q
VGg+KFZBPXhDO2YKekZJNjtFTChfRDBPfld2QkpXcip2QjgyMHM2Zjg7SkRQekllXig+czhNdVoj
aWVWMShpOXlhZWZmKUZhQkloU0o1CnohPkY4KFd9S2RNLU1ULT0taWB2UlNIMW8hcjdARDtgcHZe
VXtLQ2pkJDdpKkt4JWNUbz8pdlg7N1M0IUxtRElUVgp6Zm5FVWFleFI0SC1FKDM5K304YSRFPDhJ
dnsoWnJXQ3xtZEVQVDYpPFFmSitjNDdZeXNGblA9NHZlUXRkVUpJKk4Keikkc0pqNnR7bCFAQ29o
Qlk2Jnh8Q0N1MEVJbSlmeUpwOUtjeWN9fmdkYmwhelJnPyhETT1DUGRndjFCQChyMmtpCnpQJGFK
RlE3bWU+b3tFJHtqJE9jWWo/ST9tKTdAS3Imbl4teUJDKzleNlZ3XlokbWUkKz08REE0KHZ2Silj
ck49Ngp6ND1fQn5nSi04T2wyY0hIJnhiRFJCYkkyIV49eVF5cXc1O0o2eDI3d2BUTV9ZO2declIk
UFhYckx5NjMkcyZPV0kKeiM2VUd2Ujh2SldHPSEhU2lzYGc8K3c1LTNsWG4jS2tkQUtYMnUoKi1i
I3l+UkR7WlEjViV2aHdLOTcjaEF3MXQ5CnpaZjNkWntaVyNNMnhfUGpGVm4lRT9keGdsRX0oMEhZ
TkpKS2lQVzYpcmFVK0lLMFFjRnRAKmxvYE5BMWRvLVBxIwp6WiUyV0FAeDxCUXIjR2c4e2lWMl9z
XnNmdVRrR2c2R01JTThKSUtOclFQJURfYz9sc3ZNfUx2RStrPDI0YzRUTyYKekhCYkJBano+JGFO
aEJvMyt1M3ApPXt4JDE0NW5SSHVjfHBNYHtZYlFtVkUySj1pKWdJcjJ4cio9clVMfTdpMlJGCnpl
JjR7Q2F5LUQ7YnRScj48MnByKGcmZEE7am5fTUhXV3pjRiFzajZQMzh5aHVfXkdWQnpjKGVIZGY9
aFFYe24xNgp6aWs3aT8rYUExcFp4SG9aSzlgb1ZlbT01ZDVKaXQrbiFUNzI0PXJNSCtiNWcme21Y
bSFrRHZEdEUxeUZ9WjdWYG0KemdINVFWUTkoeWw0Tk9CUHBNIWh2P2A3YktNVyl8RjVofEswQFRF
WGVSZGhvfEgjNz5pITFGV3xNYTZMaWUoP3g1CnpVTmUpa1N7KlBPQFNQbH5xdzg2X2VnfmRaODcr
N2VpYXZWZlZxI15kcl9ZYUpGenhkMjMmVUt0eGE8d2RkTTJAVAp6ZX50dytxNTxLelhVSlBgOTV4
WCMtP3woMl8wRyooSzN9YCVDfG1kRVNULSopdH4maU9wZU8+Tj5QWUVoeThzZWoKekBqI0klaVhT
VytefUp3e0pgbmlmSnQ+aitjJUZ3LUVNVkttcWBkMUMyOU5BYGNwRVNaNnZrRmc5c2RNSWBfdWtJ
CnomdT94WSs0MElJJlJhQi1qa3xqMllUSmRFPiVAI1ZwaFRLakZ9SXRgN3lBQCNtQXRLVCheV09K
Y1hufiNxWFJUSQp6JV47ZW5NK2dOPypVKz47UlomJDlwJDVpanU/V0xRMy1vanAkJkdyZlQlNj80
dTYhXk8ybzw0ZiEzZzUzNm1rI18KenhvRH4rcEhGZWd2YWBBUnliT3ZfZnVmcSZMcCN+PHtCUExi
bk1XMFpmZXs8a2oxejZUN3xvMmw9P0RNUiN4KGgmCnpQZ1V+TjZJdmE4TUhiOG1WbXZPSzdrfHhp
ciRTWlBzbXJlMmt6d0pDRDloJDBVUUBNIVZBTDNzP2g5cl8qP1N9fgp6UTFlQjl5elpNPFI9d2Ro
YkBUXjF7RnF2RysyWFIzJH4/NigmNmZRK1Q1QTY9WCtYazhtZDQwRjhsd0FYUFY2SGcKel9NO1d8
NjFGIUl3bGAyND9aVURIJnhgY15RVSlgTEVKWTxxcjhGfCYxdFdtdFFmS1ZJJGlHT34qLWtfYExR
OG9FCnpsWntgbXttY2pLbiphTkFsckxKeXhNNmVyNlM5WGg/dnsjfWBzZmV1ZkFRbUFgU2ZCRXVg
b30qdSFFMSl4MWRFRQp6Mi1uUH5JSXh3RUVOZGd7RT9fVjwhdGhXcFlxdCRDd1BpQihiIURgNzYm
TShAa3RoaEVsbWd7fmkzVXdtKnRhWGsKenRqVGUxYCVFKWBfbXg5TEo2eVZaVHFlemlXTXgybi1C
aWl1ZTVCQSYrLUB2TzxHaDhue1ExPW1reXNLWFJFMyp2Cno9Z19BNmQzeDwkUjg0MGY8JmQqSDsq
JjJSU3YmaEpQZkZlVV54JGl7MmslYG8jT2hUd2VFMFMjYm8zUVpPRFk0Ygp6LUphcCpsfnBYNTUj
YD5lUG1KLTtUWWlhUD1JZVN8QHxNVHlSVygjNEg5R289SmlJbkFlJUVhdXJSQjBKekkqIT0Keile
NSs3V1FkPCFrSSVocDJEeTE8NzF2ITxhWUNFM1RFZ1NecDB8QU5kOT9xdT8oZlpfQ2VxR2x1bFFI
WXUjUDdACnpCQjMwTDBsS2dlaFVDVEg9UXpeWWpPWTQrUn13JiFXQCRZQDFWKmclIUVwdFpIN2Eq
fj5gNXg/MWRnTlBORFokYgp6ZF9eaU5CbEAlfSg/azdGSE8/UD5abWopUmQtZndgRj5RSDZoNCFE
SHppRTFOZVl3aGlLWHNIVm1lJXE5WWk9YWsKemQ/e01BaEdPM2FHQzdZMngxRyVzJm1CUyFIKTJM
QnNqQ2o1WF9Cczk4PSlWWUk4YUo2dEN9ajx3cWNZKStUKHhVCnotcG1EeVZ8NGYwZUM4azhuTElt
MmVXT1d2bk0hM0BwMXVLdGstOzwpZyhiNVRSJHJHTzdNNiU7QmMzJShANzVvMgp6Ji1jRT0tcChT
OUNwcHcqQTxiJVBtd2NKKD03b1JvPzhSZFF4JSt8TXg5dHtPeXtkK3plWkBicnJ7dFozRGpjUmEK
eko7cTwmUWoyTCtBK2ZQLTV2VmRLNiFMPWg5cVZ3dGMxJkZqNjFJKz85ZWZnc2tNekx2UjNeN3hO
SlZvNUFeY0s0Cno0aD1CelEwWTRTPGx4MilrQUxpQUEwQiNneSF9XlFrODlhfUs0UGxNIUswYXJF
PDhJU2U1dFQkJmskdXNpdSYzcgp6XmpIJlM8IW0mNm19IStBI0ghfWQtVX4lMWdYZFl+OVRsTzRR
QntFPU8ySzE3TGxGV14zLXREYlo0UX43JiN4WCYKekdqQ1J1d3Ipc1BLczJJYW08RVBjV1ZvKmIp
Q2dDZUMlRVBFNVlkUT1oJjNhZjlPKGxPYk5eNU9qamFiVkNfPlFECnpVJkx9SEB1QGRjR2olei1A
I2E7Vik0fUQ3bGlkRTEyQ2hFOG9UWVBPSmhkXit5NE5yflBadzI1amdNWWQjWFhQcAp6PEdCQjR7
NyRyI0R1YnpNOU5Ne183NHRXc0UxZXVWSUs7P01DcW59ViRQVm5vbXVWRkk7fSVOISRSTlp2MilV
NloKekhPS2NFJjM0ayRkNUZJNXFqWXUqVnQ4RnZSZVlheldiZH1qPVJXdUItK3RxK3BAKXlwVnRs
SD0xfTl0YWhmU1VPCnpfUCprKjMoaVYxRnpUYEEmO2FIN0ZmfSFtWHQ1XjNtMiopUW16bVdeWGw7
JSRWJTU+dC07WEN2R31YcnQ3TWRvSQp6Tnw9IURxaVlKRHVhUVY8SUY4RGM8fWo3ejJFVGhMan5Y
ezx0bj1gbEgwZ0FuZUJOUGRPT2poSWkqbV80aSVgNTAKekhCdHZvaj9zZTteUSlpeUd0WGA3MmNh
PkxhdWBsSz1yemx6S2tHJiFAIURoMm5QKFY+eHtFeWlRZmhxTGNMcFlZCnpAPHBHPVVyUE5TTC09
dGhnMkJ2R2pfbGRYdmFeUFhzQ29NT0M3ellSYk15RmtyVDE5K158aTYhRzZLeSg1KWpfXgp6VHxD
IURhY3UwT1BSIThVKjtCR3dYSXNZcDteJHchXkVZYi1lazckbFZhM20+TmJnRkM/WU9lZl94LXUp
b0w0dXEKeklsXiQoPVJrV081d0RCZCR+YW9JaiFAKys2dGokNHZ5JWw9MkMxdT9MXnxWPCRfUkAy
S0JSfnM2cDVpKTIqdHh3CnpxRylvMmhJKV93T3FmdHVWZXo1fSs1OW0xeW58fkVGe1AhRV9iLTdE
VHAoJHclNDMjSUxse1k8b3VZcnxGWnNtfQp6eytae3ReZG5UQWsmSHVzJTB8U2RROUpMR0ImKDtQ
WVZWQzRqMXZHdykjKiU0Q29eej5eVW84Nk9wWDN3Mns8NFcKejZlVnk9MkpURzgkdUZmVzEobz9J
cjlSPWZJPy02QVQoVXJsKVFEOFJAYTJ1KXtwRioqLXZWOzQmUTw/Zj45ZE5xCnpFQXlAXmRvOX5O
JDhqakh1UWJUbjNpfVdEPEIjc0FDTWh0Wm1GViMlXnlFfWJUYCgheCZaNE9XcmNhNnlqaEVwIwp6
VT1AcXh2WkVCN0Q4KzBTI2lFYUd5UW1ffHY/Jm9qXjhSd1ZkaD92IXMmb0ElNnw2ZFVoYEclKztZ
MmxodksyK3EKekBVbitGQGNpQlU7UU0jOFg8ciYkKkJRLXc0Mj9SdFNgRm9NSzFFZzJkPC0pLTVu
JVFuZ1F8dHQtYHhWKXkpMFUrCnpWK2Z0VEFzYmNvT1ZTKHwzb3xaRlU8Sk48dU1+c2tCYytPfFNJ
USp8T3pGNSVlRE87Z2ZCQ34td0F+MnxPRFJ1VQp6P0VIRVIoU2I9LTMzWColaDUzSXFSKTszRilF
TXtASmxBOCs8UzNXRD8tSGdpe3hJUiViSjQ8O05hXjlgZGhse2IKenUmbzA1cVFQSjsmZH52fGx7
IyFZa0stOT1oUUpVT0g1RGNeQyNtUnUzWEtBV1hARlVhNzcxb1hXcFM4SD1VU2ZzCnomRyZpbWk1
RSViMSV7enY2QEJ7Q0hXe35xI0g+R351NX1zVlNUJX42MnFTKkMhfWxDfiZrMTdQJDdXJXJrRFdm
aQp6VSl9SG1ANEt2O0JNMC1lYnEhI3NaamoyT3F8NCpgXzxtNDYoMFV8TjNVc1lmRT9IUEVPflYm
b3tOZjhRe09mbUsKemBBNDlRVV94cHZ5MyF9YCl3XiNiN0RLPzRpbnd9bFE/PmNHQHJYOUZxMCVI
NCo2QDlnYyp0a3p5aClzWUBsYGE9CnplTHFJITlFMWAwZVdoPlg2XjQ9YTIpO2R2QjglZio5N1J6
PChlTT13UGw9KzNsQmw2XzZjTUN4XlF9UCZlY1Jkbgp6QH4/VTl2QiVrZGFGfXA3akdgek1pWE1Z
MGhmISpZd3RqP34kPiRNQylKYGxHZDU9Syk5KEZOe1R9YjBQN1FXe3EKenthX1dpR3JFSStga1Ff
aFQrbUdXeyRWO2dkKGxsNyZ6QUBTcEZPM3g4fGVwcmR8aipkN3RnT0g4ZHQ+RXtfKGozCnpVO2xx
TS0wbDE5QSY5a2MydHA0PWZrN1pBclN3aW03WUc0VTU+YSlAcSNFLXRiV0pSKU5hJDIwYmFZazBh
YX02bwp6dTt7R0dvT3xBS0NlMnd2dG9DZH54Q1hSU2N+TVRXI05CdUJvbClGdTdwYm84P0FgaSUp
fiRQaS1HPkhIUkQpPHAKeiRNR2JFcUVHanJNT3ZMankhQVJOOF95dzxzR0FgQ2RqK0xYVW54QzIq
UVNfSFZkYUtPPGFoOHI3dURMei1Uek9CCnpOd1hUK3YlUU8rekhVT01pfVhSM1F2NH0wU1NYPz9t
Rn5pR0NXJmFkRGdOX1k+dzNUTnprZEd7JWtzQVpTcHVAQgp6ZmdXSShwYVhjNik+KWtuT2toJlQ1
TkVhMjcjfDIzO3lQMVQ8Q1JJQmNxcXMkPiRvb1FrazdRSEIockREV2NzWUwKenNBLS08eW1BVT10
UDw2VHAkSHZOa2lMdVc2PnpPbDNad21gMmlvWHYtXzU/Z3lFdTYwMm0+aCMoPT49ajM9eyRSCnpn
M247dT1JRF5ac0pWIUVeUTkhS3J4SzE9QlBRMHN6SzBNKlFBKkZuRTIlbFFtNyRPd3E+dnJKRGR1
cFVCR3IqWQp6e1ArajZzSCg0SiVjZXQmakM1az9eNFJofS07KkomJSRqcjdiUiU5RlMwRE5CNGU4
SChfQlJpWFd9S1lfRCROa2sKejFAeDdeVExodVM0c2NxTWVoZk5MNEB8OHEqVXpzXlhnNnFAU1Fz
JT8lMz5QUFBfVUwmYGFidmBBO1lJRVpjPFliCnpyTHNJcEJ3bUpUaEVhc1RiNnhDV2p6VFdRTklG
akBUZnA7TmJsbzVzR2xAaz84UHhJfnkoMmI8ZGtZKkx0LSo+ZQp6QjNlQ3thSiZ2OW9TYXcrXz98
Oyk/Vyp0TGN7Wkx+I0J+YUlqKWhhcVZyMiY/PTExX3tCNkJCP0BTYDdKTEBaZygKem1Xe2dATip6
VTRSZkxrYU9mNnkwbzs1IWJ0dHIhOWRVQVhJNkNjMCNzb251PUZNKHR+TE99UlkwPlkwNG5efXw9
CnpsRHRgMGhYUGFwRXhNKm1aPlpFU0R2TjA9SEM0PXRnO2tPZmpkKD1HRyptUEpMSypXRTE9R296
MDhMV30+NEsxewp6NSh7Z0BxYjlNaVBDTyNlSEclRThecnN4IWRuXncxNmdXSlRVX19hVG1ZaGk+
KFNSQVBFUUpoRGN4bTI/Mm5eVzMKenp3V3k+b0A/UWBNTGZzQ2IxbSNibnFxIzRWdCQwPmkhSHdV
eShgZXYyJTkhK2F4JlJ7YEgpZDVyJWhpSHQ3QHYmCnpfSDgtZis7cWJhVXViSmpadihvNDRneXNz
M3VIPiQ3fnlUZWxUeUFgUWpzQEEyJmVeYE9rSjUkUT80JjZpKSFiYAp6IXxJJF5NMmpiKThpfXc8
QkJCd0dzPkRKbihYZEs5cTduQFc7dD50Z0ZiRWtjTE97azZqQXJ3NjU5RGQ8RGJVdkEKemRZIyNG
bkhBR0M1dUhwcFVXWGEyS28yRCopUntqNDFacypic2t1JnheYVdnfWZOS308VCNMZUpVb0pEYUtY
YiFYCnpPODgmeXo5bmZ9cDRfbypUZHVDTCQqaUIkcVcyeF9AVUZrXmQrVEBaOXtlNTlObm9nc21i
UF4xZjFXX0NAaEF9PAp6LWshS3IyJEV2ZjA9MjQ4Pkp0JCRyODEkPGpmVGJhXjArPVpZPjB8UEw8
PVdsOG5LV3tCJX41SDEqJVorZUpERFQKek94fEg9dnspRU9kRmllfXRBQjlSP0h4PXhKdzthejhs
anx7c0ZgNl9IcU5oQkhQY2xUTU1NJH1aQGxuejBgQ0ZICnpGeyFVKVElQWN6eDJTbElXdSpGYzRg
em5qM3l6Z2gwWnJGTT9OYDNDe0d1Oz5eYGxqfEswO0YmPV52M0Z6MlY+Mgp6Si1mRSFSfE5YfEQz
QWgxTzg+SlFeV0tiO2VHRzR6XmtlbFghQ1l8fEM8aUttM1pZUDtZb2FvMlAqV0R5PnZVQnEKejFI
emlYUjBOdElFT3soU0RSWUlRT3I+JmV6aCVuLSZ6QzEkWS10ayZfSnFtX0R9KlFYbj9EaFpyOHk3
O0A3TiZGCnpCKnIhKzl1LXlwQH52eGN7Pldja1V1Jmxge1BteElAM3t3bHozVWVRPlB3bkglOCEm
ams0dHk/OGFXLWBIdEEyTwp6T2k/c340aUUocksmPHFBRVVsViQrKVgraF5QYFIjOD0yQil6Znsm
Wj9qYVopQm1RYGJ3aDg9NnokYU0wRGhifVAKekxoJH0wS3BZNncpcklETWAjVSVPKSVxOVArcklV
MEZXa2QxcTdScTBHMlB0LXs4dmwmPDhla3dlP3JCPDIldkl8Cno+fDtHeURjeihgQWp3XmhyRHIl
KnJETnchTmN1bHJqTG4kSjxHIWx8IVkpYlJKVn08OT4oZ15OQ3ZEcXdiNDtCWAp6PChQS3h4P35A
TmF2RWorcCFoPllMezh3bmYhRT8rPXxfKU1mO3Bsd2lFantlMiNhR3shNzI2aipUViRxQy05RXEK
ekcmQlo1cGVjLUwzPXBXcVo8XzRtYi12VDJwVEdwKDIrQT9aSUcpSmh0Jm57VHwzQmhAa2JSdUtt
V2NvVzAwMm92CkpQREhMa1YxbkNQey0qIXsKCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3IvdGltZWxpbmUvcmVzb3VyY2VzL2JpZy5wbmcgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Iv
dGltZWxpbmUvcmVzb3VyY2VzL2JpZy5wbmcKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNzU1CmluZGV4
IGJlZWVhZGI3M2IzMjg1NzM5NzZlMzJhZTJjNjg2YzI4YmQwNTgwNTcuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKR0lUIGJpbmFyeSBwYXRjaApsaXRlcmFsIDAKSGNt
Vj9kMDAwMDEKCmxpdGVyYWwgNzA5NzUKemNtZUk1Tz13aEM3PjNWZUxOYnhEdX12Myk1RG5OTD1x
bDRMYG0wVlB7WWVRP1lBQkxZTlNIIyFqZkdrJXsqV1FECnp3M2VXJjc4aW9FT0klbmdSOXFCZk5K
fENeWkQqayhXP0BTPTBoN3smTnNHYlNiTXQ7VEl4fEhHTH5fU0AwYF57fQp6YkZYS2ZeTF4pZz98
REJiJDlNSTt4cWpXb2I8Vmw8SiNUZnQ8NkxWI18+Kll6dWx6YXVNfXQyIWUhUWNuS2pEOWwKekJ0
SDFVeGVuTFUtUFFsOz5EbFM3JDgjQz88Rl9OanpaTzUtVDFYeHIqKk5wYkZFN1haQ0hNWE9iQD1i
O2lrSUF4CnooT0NPXlp9RiRPcEtfMHR6ZndxKkRsVkh5JlhtOCFqZDI/ejAtRz4yaD98ZkVJVGV5
JXA7I3V0TEpeezFwJEpLXgp6UD1xOHtEMyhkRVA9cUwwQ18pa302ZD8lfmllKFprNmQ/KjBpalZ7
Z01NJEZON0sqfFRtKWhJPj1zU2BGY1EwPzcKeiU1OEZ8RTRPQWNQdl8meXBLc35wcWxRPD9Vdk9W
bFVRfXFRK2BafHF5NkQtO2B8aGZgaGB8VW5XR3Z1XzhHI18xCnojRFI2ajVgel8zQWdFMl5LLUlS
eUt0YyF2NjJieGsyX1g8ajJ5czl7U1lrWHRMSlNSVGA3LVBVdXk7RytoeGlGJgp6VmQ/bVFfekIt
ZiUmY2IyV04ofmtAJVApJWJaJlV4PTRfX2J5O1JqOV5MQ349V1V1M0lqUihxS2FMLWo7KUs9QXQK
elEqfXthPCRkIXtSOT9oajFSNjNIYUt3eTJPcHJ9V0FhYmxUM0o2d1VhaUJKZEx5b0V+NUooN2RL
dGhPdkxxWjR5Cno1PChvMTVTQUU3MiFUTENTWWpYezFSX0ViQjZvZyZ2QylxekY/eDBUZ19HJWd2
JXs+XkJ3PCNIMUk8Xikwa2hJVAp6VXsocVEjKF85c1IkNXxVSFZGaDBMTDg2fm1LWURjLXw0X2F5
amEtXztIWG89UG57QTY+WGZBO2J4SShwUXtxNksKenZjITFrYjt8eDh3PEApJWFQNDk/XzsjRlFU
e3E4TUZRIVV5JDQ7WEZWXiYoQU1RRXFkKEZ0YWdmXiV2aGE4M21SCno9VHNiVVBBeEhUUDZZeHpW
fksldERpRyl5YVg+PGQxSTxeKTBTT0B4TkMqb0VCIW9hak5KMCRHUE4hcGpSRm5Ebgp6b3BhZ2JP
dzYkKFpQQ2godl9QO1VFZWBCUlRWbUFLajxsbkQoQl9RKlViNnN4QV4hUCRSbE5XLUA3YTlONmRA
MmEKek1UaTN1KURpOztEaUJDZWFpREAqVmp3e1UwdHNPT1FJOFUkYjdBZ09AYlFPQXg1cFJLT31H
NS1pe2hJaTZjNmspCnppYkk1VThYY1dybmlFR1NuMVI0SzYkcVNEM2thSTgxT24kJjlNQ2hDODBa
OytLK2psVygwbkJqTkM8STJMV2wjKwp6U0g9TWVBcktMZzVVSXQzeT8jKSsmYkBiYkZRKCMke0NQ
Y1lUUkI+Y0VKeWl1VTxSVkR7R0gkNTl+ck9lMT5oVHYKekVFSTR3MzxSWT9BWlVzWjJidi0qRj0m
YnFoYEs3OEh1d0kzXilENl9Oe2F+IXI5ZTw5I2VxVTtpOXcraGh9OV5SCnpWQEY/byNAe1dJYHRJ
TWVONV43WXtXKWYoQFVxaD00aVZhRXEhVWIyO3tTX3REaWs9VW1aZG5TMCljWlg0bWhYYwp6ZlN4
Zjk9b3hgUCZzYWJwQXBgO21WVHBsKzVDfGxNSTNPWCFBd20qaj5RWn1+QTU9JGo7T155WlFAS3Q0
SmNgRF8Kej08e3ozUnJkbiQmcGEpanFCdnpYRz1FXjRuNUtLdDtMb3QrMzxzOCtLdyF5PDFEMmQ2
Mjl9JmF0Y0U0JEA1RE1JCnpvVUFrQXomYXhpRz9wNiYpKXw0fFFOO3ArQ3JXe2NAfW8taiMpJWRg
JF8tOERoV0JtR1c/S0NASkJedylie2ZTWQp6TE9ZRnFLeS1wPlImWSttMHE0fVI2ejViUmE4NH5U
YTgzbVJKdEdlMjhGNF5EN3paU1RLcC1KM0FuSGQjZF5VT0kKelk7YFl5Wns/P0dEaSRjMzt0PTdZ
bkxFRn4qeXUtQDdgP2p2IXBVXkwqYEtvcXQ3JjVvUnZhU1BoLUV8YjJkMFQ+Cnp4KSUtcEVYckh1
ZXQwKzxua31adXFMIXV6ZnVKY3U5QjdLTCNHdl5+QVEwckBmWVAoWEt0YyF2NjJieGsyX1g9Vgp6
eW80eFJ5Tz9lOHBZPlNSJWA/fUZzWiFqWlZeKFZOKj5ARU9ueS12UWchZiY4NXdibjVkMTlJQFVU
STRjMnN+d1IKenoqRHh3czJAKytLSmR+M0ohM1IjcGlzNlN7XiRHdT5qZ2xaK1orPGl3RyslWFFY
UDFANmJBeUIwNF9fNjYrZ0JOCnomUTdPZXt1WXpAYEpIcHc8VjxqbSpKRGlhZElTUW1NOyEyYUVI
VXRVMU9sKGUwc15sYEFSYytJQy18NkAxNUd5Tgp6S3BmfkVHIUIjbDEzQF91MitEeXRASSt+ZSE0
c3VHQVIpd0kjUylAKFZlVjlMPX1fdFJfKEhuclImYjZiN2Z8cCYKelNhUmFQX1A5OChKdVZKKF4l
I2QwWjt1RHBreGltVUhkeiRhZmMwLTkpZ2NKckombVAjPWJycSFyQE8xYT8wLUA7Cno0Rl9wMTVU
djtVTEBsTntzbSlpTkVYTSE9RUVLM2Qza2lDOzEhOWVReCVWc3s/RFlmNGI/JntoZG9kTTF2QHtz
RAp6JH43bCFtNVQjZzw+SjZeQTIxR1ZsPyVqKng1fFVkJFI+Ki1qMzxGMG81WD1edmMjYTNRNlNj
YGNqZCkqZjhPJDEKVGYyc0dXVT9AR1dfalB9PlZ7cWdAVWZgbFcKCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvcmVzb3VyY2VzL3Rlc3QuYm1wIGIvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yL3RpbWVsaW5lL3Jlc291cmNlcy90ZXN0LmJtcApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA3NTUKaW5kZXggODAyYTBjOWI5NWNiYTRjZjg5MjViYWZkZGY3ODcxMTc5ZTQ0M2FmNS4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMApHSVQgYmluYXJ5IHBhdGNo
CmxpdGVyYWwgMApIY21WP2QwMDAwMQoKbGl0ZXJhbCAxMzE0CnpjbVo/clJicGlUMTJaNzAwbVE7
VUVERlNvMz0lKytmI0Q0Y21faX1gbE1maWsqWk99e0ZZJHBsOGRqcldnKTBPYApNKCp+fVAhNHpp
ejA1K2Ywc3tqQjEKCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUv
cmVzb3VyY2VzL3Rlc3QuZ2lmIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lL3Jlc291
cmNlcy90ZXN0LmdpZgpkZWxldGVkIGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggM2FhMjA5OGRjODgx
N2Y1MzYwZDEzNDQwZjNkNjI0NWEwMzBkYzMxZC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMApHSVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwgMApIY21WP2QwMDAwMQoKbGl0
ZXJhbCAxOTIKemNtWj93YmhFSGI8WU00ckkzbXBPfE5zOWZRPkkrSWM1VGpfSWN3TGhlZ0ZQX2Em
b2VsbXNlQyYpVitLNm88RCF5CnooJGRuPykzYkghKjFkYzhXQGwjPzdaKUVwY0lAMV9hfTJ9KiNo
KXlVMz1GfnlJdzBqQkl+YGJVQURGbFhYfVVnQQp6dkU/dD8pNUNTOTtRPGV+KTE/TD5VWH1JPDRh
SlRqT2lfKDBrOGQoQGRwYj49VXtiJnFvNTBYMjV5dT9KKCZYVDkKSlh0RHI8SDJgTE9LVjwqXwoK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS9yZXNvdXJjZXMvdGVz
dC5pY28gYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvcmVzb3VyY2VzL3Rlc3QuaWNv
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDc1NQppbmRleCBmOTcyM2VlYzYzYjdmMzM5M2Q0YjRlNmUx
NmE1YTU1NmY3ZGUxYjBmLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
CkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCAwCkhjbVY/ZDAwMDAxCgpsaXRlcmFsIDE3NDIKemNt
WlF6VTw1KjhRM2ZFWHpfNWRqZmtCTGNmazZYXmdASVRMaChZNEchMmVNJjhVbXZzRmQ3MSpBdXQq
T0IhJlI0CklJKXhIKDBKSVl+IX5nJlEKCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0
b3IvdGltZWxpbmUvcmVzb3VyY2VzL3Rlc3QuanBnIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3Rp
bWVsaW5lL3Jlc291cmNlcy90ZXN0LmpwZwpkZWxldGVkIGZpbGUgbW9kZSAxMDA3NTUKaW5kZXgg
N2UxNGZjNmYyOGY5MDM2NjRjNDE0YzQ1ODBmNjQxYTVmMDA2MjFhMi4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMApHSVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwgMApIY21W
P2QwMDAwMQoKbGl0ZXJhbCA2NDMKemNtZXg9PE5wSCYwV1VYQ0h3SCNWMV9ua1RXY1l1WiE1UFMt
NDFmJXclbWtxQnt8NldaSVQlRDRncWF6WTc/PWJaCnpuRlNnREE3UExPeHwwPVJIVWt0ZUdCTEJU
dmF4ZTthJlpGe1khelQmVnF8NyFWcXM9d1dubHJUdF84fDd1bjRqVwp6REg9TW0yP3IqIUQ7MF91
SEJNWn1xM3BFcnBsSHk9ND1UbjxNTk9Qc1YmVzIjUW1TZ3w4ayQtcnJlQHxBbVI4TyMKenU1UnVn
bz9nS3JwPCY/Pmt4fEpoc2NHcE1uT1ZncHJEZiQ2bH52Nnh0IT9jY29uNGJBUG5rTXhgaXo7ZzdB
Ozx+CnpibExKMURfM3BXeWsrYVE/S15odkkmfUVSKFBQST9vSUd7dUB8Q09DdUhVJE0+KjFydlBv
NiR8e15JNFVrRG9xJgp6YFRGaHFrRHRGbHskZ1pjaDZmcU1WYCU7bzFwMTRLZ0B1YGc5cG89WXJn
OSk9N0d6O25HLU1OVTN9akMlNmptfjcKejxQZFMxeE56ZV5QRyNldTUyOHMkN3JEZSNPZGhJITFi
R2VZR3ZZa2ZNMyZGczl6KiErNzZUNzZCUVd4cTFzVXVhClB7ezdRZilXdnt8fEs5YHYrOzcwJAoK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS9yZXNvdXJjZXMvdGVz
dC5wbmcgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvcmVzb3VyY2VzL3Rlc3QucG5n
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDc1NQppbmRleCA2Y2ZhZGMzYzdhZTNkMjRmNWQ2N2RiZDQ4
Y2VhM2JhZTM3YjNiNTZkLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
CkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCAwCkhjbVY/ZDAwMDAxCgpsaXRlcmFsIDEwNwp6Y21l
QVNATj8ob2xIeWB1VkJxIWlhMHZwXiFheXZfITNIRmthOStJI3EqI2liSlZROHVwb1N4KjFJU25N
YmE0IV4Kej11UTZmfE5zQWJIWjRaQUVKPjVCOCFIa1F4QWpWeVchOyF5JSlfd09tXztxUVAkbTxv
biEoZjYmdDt1Y0xLNlZgCkN5Jkx1YgoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rv
ci90aW1lbGluZS9yZXNvdXJjZXMvdGVzdC53ZWJwIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3Rp
bWVsaW5lL3Jlc291cmNlcy90ZXN0LndlYnAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNzU1CmluZGV4
IGY2NTZmMTRlZmYzYjdiODU4Mjg3NDA3YWQzNjVmMGI4Y2NlYzhiMjkuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKR0lUIGJpbmFyeSBwYXRjaApsaXRlcmFsIDAKSGNt
Vj9kMDAwMDEKCmxpdGVyYWwgNjIKemNtV0lZYmFPTGZVfDxNJGJxV1h6dXUjd2Z2VzF1Izx9enZ0
R2woK1MpZiFFNVUmUXY4cEBaP0d0Xnp8eWd9VHd5ClFQdiM1XnxOZlVMejV1RU8wSjBrcE4mby09
CgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lL3Jlc291cmNlcy90
aW1lbGluZS1pZnJhbWUtZGF0YS5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5l
L3Jlc291cmNlcy90aW1lbGluZS1pZnJhbWUtZGF0YS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCBmZmRhYTIxMWFhM2UxYmQ4YThmNjA4NzZkNDM5MjFmMGE3NWJhYzUzLi4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2lu
c3BlY3Rvci90aW1lbGluZS9yZXNvdXJjZXMvdGltZWxpbmUtaWZyYW1lLWRhdGEuaHRtbAorKysg
L2Rldi9udWxsCkBAIC0xLDE3ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0PgotY29u
c29sZS50aW1lU3RhbXAoIlNDUklQVCBUQUciKTsKLQotZnVuY3Rpb24gaWZyYW1lT25sb2FkKCkK
LXsKLSAgICBjb25zb2xlLmxvZygiaWZyYW1lIGxvYWRlZCIpOwotfQotPC9zY3JpcHQ+Ci08L2hl
YWQ+Ci0KLTxib2R5IG9ubG9hZD0iaWZyYW1lT25sb2FkKCkiPgotICAgIDxkaXY+Rm9vPC9kaXY+
Ci08L2JvZHk+Ci0KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci90
aW1lbGluZS9yZXNvdXJjZXMvdGltZWxpbmUtaWZyYW1lLXBhaW50Lmh0bWwgYi9MYXlvdXRUZXN0
cy9pbnNwZWN0b3IvdGltZWxpbmUvcmVzb3VyY2VzL3RpbWVsaW5lLWlmcmFtZS1wYWludC5odG1s
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyZWExN2M5YzBlZWUwOTkyNDkzNGRjYmY5
ZTUzNGZmMjdlNGMwNjYyLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS9yZXNvdXJjZXMvdGltZWxpbmUt
aWZyYW1lLXBhaW50Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw2ICswLDAgQEAKLTxodG1sPgot
PGhlYWQ+Ci08Ym9keSBzdHlsZT0ibWFyZ2luOiAwIj4KLSAgICA8ZGl2IHN0eWxlPSJkaXNwbGF5
OiBibG9jazsgcG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiAxNXB4OyB0b3A6IDE1cHg7IHdpZHRo
OiAyMHB4OyBoZWlnaHQ6IDIwcHg7IGJhY2tncm91bmQtY29sb3I6IGJsdWUiPjwvZGl2PgotPC9i
b2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5l
L3RpbWVsaW5lLWFuaW1hdGlvbi1mcmFtZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtYW5pbWF0aW9uLWZyYW1lLWV4cGVjdGVkLnR4dApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZWZlMDkzNjllOGViYzc3ZTYwZjQ2MGNmNDk4MDg1
ZWExYzkxYTQ4Zi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtYW5pbWF0aW9uLWZyYW1l
LWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDQwICswLDAgQEAKLVRlc3RzIHRoZSBU
aW1lbGluZSBldmVudHMgZm9yIEFuaW1hdGlvbiBGcmFtZSBmZWF0dXJlCi0KLVJlcXVlc3RBbmlt
YXRpb25GcmFtZSBQcm9wZXJ0aWVzOgotewotICAgIGNvdW50ZXJzIDogPG9iamVjdD4KLSAgICBk
YXRhIDogewotICAgICAgICBpZCA6IDxudW1iZXI+Ci0gICAgfQotICAgIGZyYW1lSWQgOiA8c3Ry
aW5nPgotICAgIHN0YWNrVHJhY2UgOiA8b2JqZWN0PgotICAgIHN0YXJ0VGltZSA6IDxudW1iZXI+
Ci0gICAgdHlwZSA6ICJSZXF1ZXN0QW5pbWF0aW9uRnJhbWUiCi0gICAgdXNlZEhlYXBTaXplIDog
PG51bWJlcj4KLX0KLUZpcmVBbmltYXRpb25GcmFtZSBQcm9wZXJ0aWVzOgotewotICAgIGNoaWxk
cmVuIDogPG9iamVjdD4KLSAgICBjb3VudGVycyA6IDxvYmplY3Q+Ci0gICAgZGF0YSA6IHsKLSAg
ICAgICAgaWQgOiA8bnVtYmVyPgotICAgIH0KLSAgICBlbmRUaW1lIDogPG51bWJlcj4KLSAgICBm
cmFtZUlkIDogPHN0cmluZz4KLSAgICBzdGFydFRpbWUgOiA8bnVtYmVyPgotICAgIHR5cGUgOiAi
RmlyZUFuaW1hdGlvbkZyYW1lIgotICAgIHVzZWRIZWFwU2l6ZSA6IDxudW1iZXI+Ci19Ci1DYW5j
ZWxBbmltYXRpb25GcmFtZSBQcm9wZXJ0aWVzOgotewotICAgIGNvdW50ZXJzIDogPG9iamVjdD4K
LSAgICBkYXRhIDogewotICAgICAgICBpZCA6IDxudW1iZXI+Ci0gICAgfQotICAgIGZyYW1lSWQg
OiA8c3RyaW5nPgotICAgIHN0YWNrVHJhY2UgOiA8b2JqZWN0PgotICAgIHN0YXJ0VGltZSA6IDxu
dW1iZXI+Ci0gICAgdHlwZSA6ICJDYW5jZWxBbmltYXRpb25GcmFtZSIKLSAgICB1c2VkSGVhcFNp
emUgOiA8bnVtYmVyPgotfQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGlt
ZWxpbmUvdGltZWxpbmUtYW5pbWF0aW9uLWZyYW1lLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0
b3IvdGltZWxpbmUvdGltZWxpbmUtYW5pbWF0aW9uLWZyYW1lLmh0bWwKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDZlYTAyOWUyNGY3NjA1MzgzODEyNTA5NzA2MWQ3ZjRlMmI0MDY4OWMu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLWFuaW1hdGlvbi1mcmFtZS5odG1sCisrKyAv
ZGV2L251bGwKQEAgLTEsNTIgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIu
Li8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUtdGVzdC5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0PgotCi1mdW5jdGlvbiBwZXJmb3JtQWN0aW9ucygpCi17Ci0gICAg
dmFyIGVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYW5pbWF0aW9uIik7Ci0gICAg
dmFyIHJlcXVlc3RJZCA9IHdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoYW5pbWF0aW9uRnJh
bWVDYWxsYmFjaywgZWxlbWVudCk7Ci0gICAgZnVuY3Rpb24gYW5pbWF0aW9uRnJhbWVDYWxsYmFj
aygpCi0gICAgewotICAgICAgICB3aW5kb3cuY2FuY2VsQW5pbWF0aW9uRnJhbWUocmVxdWVzdElk
KTsKLSAgICB9Ci0KLSAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgIHRlc3RSdW5u
ZXIuZGlzcGxheSgpOwotfQotCi1mdW5jdGlvbiB0ZXN0KCkKLXsKLSAgICBJbnNwZWN0b3JUZXN0
LnN0YXJ0VGltZWxpbmUoZnVuY3Rpb24oKSB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVh
dGVJblBhZ2UoInBlcmZvcm1BY3Rpb25zKCkiKTsKLSAgICB9KTsKLQotICAgIEluc3BlY3RvclRl
c3Qud2FpdEZvclJlY29yZFR5cGUoIkNhbmNlbEFuaW1hdGlvbkZyYW1lIiwgZmluaXNoKTsKLQot
ICAgIGZ1bmN0aW9uIGZpbmlzaCgpCi0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LnByaW50
VGltZWxpbmVSZWNvcmRzKCJSZXF1ZXN0QW5pbWF0aW9uRnJhbWUiKTsKLSAgICAgICAgSW5zcGVj
dG9yVGVzdC5wcmludFRpbWVsaW5lUmVjb3JkcygiRmlyZUFuaW1hdGlvbkZyYW1lIik7Ci0gICAg
ICAgIEluc3BlY3RvclRlc3QucHJpbnRUaW1lbGluZVJlY29yZHMoIkNhbmNlbEFuaW1hdGlvbkZy
YW1lIik7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7Ci0gICAgfQotfQot
Ci1pZiAoIXdpbmRvdy50ZXN0UnVubmVyKQotICAgIHNldFRpbWVvdXQocGVyZm9ybUFjdGlvbnMs
IDIwMDApOwotCi08L3NjcmlwdD4KLTwvaGVhZD4KLQotPGJvZHkgb25sb2FkPSJydW5UZXN0KCki
PgotPHA+Ci1UZXN0cyB0aGUgVGltZWxpbmUgZXZlbnRzIGZvciBBbmltYXRpb24gRnJhbWUgZmVh
dHVyZQotPC9wPgotPGRpdiBpZD0iYW5pbWF0aW9uIj4KLQotPC9kaXY+Ci0KLTwvYm9keT4KLTwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS90aW1lbGlu
ZS1kZWNvZGUtcmVzaXplLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1l
bGluZS90aW1lbGluZS1kZWNvZGUtcmVzaXplLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggNzRiODMzN2RiMjNmNjhkNzllOGM5N2U2OWEyZmFiM2JjNDY4OGEzYS4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtZGVjb2RlLXJlc2l6ZS1leHBlY3RlZC50eHQK
KysrIC9kZXYvbnVsbApAQCAtMSwxODYgKzAsMCBAQAotVGVzdHMgdGhlIFRpbWVsaW5lIEFQSSBp
bnN0cnVtZW50YXRpb24gb2YgYSBEZWNvZGVJbWFnZSBhbmQgUmVzaXplSW1hZ2UgZXZlbnRzCi0K
LQotRGVjb2RlSW1hZ2UgUHJvcGVydGllczoKLXsKLSAgICBjaGlsZHJlbiA6IDxvYmplY3Q+Ci0g
ICAgY291bnRlcnMgOiA8b2JqZWN0PgotICAgIGRhdGEgOiB7Ci0gICAgICAgIGltYWdlVHlwZSA6
ICJCTVAiCi0gICAgfQotICAgIGVuZFRpbWUgOiA8bnVtYmVyPgotICAgIHN0YWNrVHJhY2UgOiA8
b2JqZWN0PgotICAgIHN0YXJ0VGltZSA6IDxudW1iZXI+Ci0gICAgdHlwZSA6ICJEZWNvZGVJbWFn
ZSIKLSAgICB1c2VkSGVhcFNpemUgOiA8bnVtYmVyPgotfQotUmVzaXplSW1hZ2UgUHJvcGVydGll
czoKLXsKLSAgICBjaGlsZHJlbiA6IDxvYmplY3Q+Ci0gICAgY291bnRlcnMgOiA8b2JqZWN0Pgot
ICAgIGRhdGEgOiB7Ci0gICAgICAgIGNhY2hlZCA6IHRydWUKLSAgICB9Ci0gICAgZW5kVGltZSA6
IDxudW1iZXI+Ci0gICAgc3RhY2tUcmFjZSA6IDxvYmplY3Q+Ci0gICAgc3RhcnRUaW1lIDogPG51
bWJlcj4KLSAgICB0eXBlIDogIlJlc2l6ZUltYWdlIgotICAgIHVzZWRIZWFwU2l6ZSA6IDxudW1i
ZXI+Ci19Ci1EZWNvZGVJbWFnZSBQcm9wZXJ0aWVzOgotewotICAgIGNoaWxkcmVuIDogPG9iamVj
dD4KLSAgICBjb3VudGVycyA6IDxvYmplY3Q+Ci0gICAgZGF0YSA6IHsKLSAgICAgICAgaW1hZ2VU
eXBlIDogIkdJRiIKLSAgICB9Ci0gICAgZW5kVGltZSA6IDxudW1iZXI+Ci0gICAgc3RhY2tUcmFj
ZSA6IDxvYmplY3Q+Ci0gICAgc3RhcnRUaW1lIDogPG51bWJlcj4KLSAgICB0eXBlIDogIkRlY29k
ZUltYWdlIgotICAgIHVzZWRIZWFwU2l6ZSA6IDxudW1iZXI+Ci19Ci1SZXNpemVJbWFnZSBQcm9w
ZXJ0aWVzOgotewotICAgIGNoaWxkcmVuIDogPG9iamVjdD4KLSAgICBjb3VudGVycyA6IDxvYmpl
Y3Q+Ci0gICAgZGF0YSA6IHsKLSAgICAgICAgY2FjaGVkIDogdHJ1ZQotICAgIH0KLSAgICBlbmRU
aW1lIDogPG51bWJlcj4KLSAgICBzdGFja1RyYWNlIDogPG9iamVjdD4KLSAgICBzdGFydFRpbWUg
OiA8bnVtYmVyPgotICAgIHR5cGUgOiAiUmVzaXplSW1hZ2UiCi0gICAgdXNlZEhlYXBTaXplIDog
PG51bWJlcj4KLX0KLURlY29kZUltYWdlIFByb3BlcnRpZXM6Ci17Ci0gICAgY2hpbGRyZW4gOiA8
b2JqZWN0PgotICAgIGNvdW50ZXJzIDogPG9iamVjdD4KLSAgICBkYXRhIDogewotICAgICAgICBp
bWFnZVR5cGUgOiAiSUNPIgotICAgIH0KLSAgICBlbmRUaW1lIDogPG51bWJlcj4KLSAgICBzdGFj
a1RyYWNlIDogPG9iamVjdD4KLSAgICBzdGFydFRpbWUgOiA8bnVtYmVyPgotICAgIHR5cGUgOiAi
RGVjb2RlSW1hZ2UiCi0gICAgdXNlZEhlYXBTaXplIDogPG51bWJlcj4KLX0KLVJlc2l6ZUltYWdl
IFByb3BlcnRpZXM6Ci17Ci0gICAgY2hpbGRyZW4gOiA8b2JqZWN0PgotICAgIGNvdW50ZXJzIDog
PG9iamVjdD4KLSAgICBkYXRhIDogewotICAgICAgICBjYWNoZWQgOiB0cnVlCi0gICAgfQotICAg
IGVuZFRpbWUgOiA8bnVtYmVyPgotICAgIHN0YWNrVHJhY2UgOiA8b2JqZWN0PgotICAgIHN0YXJ0
VGltZSA6IDxudW1iZXI+Ci0gICAgdHlwZSA6ICJSZXNpemVJbWFnZSIKLSAgICB1c2VkSGVhcFNp
emUgOiA8bnVtYmVyPgotfQotRGVjb2RlSW1hZ2UgUHJvcGVydGllczoKLXsKLSAgICBjaGlsZHJl
biA6IDxvYmplY3Q+Ci0gICAgY291bnRlcnMgOiA8b2JqZWN0PgotICAgIGRhdGEgOiB7Ci0gICAg
ICAgIGltYWdlVHlwZSA6ICJKUEVHIgotICAgIH0KLSAgICBlbmRUaW1lIDogPG51bWJlcj4KLSAg
ICBzdGFja1RyYWNlIDogPG9iamVjdD4KLSAgICBzdGFydFRpbWUgOiA8bnVtYmVyPgotICAgIHR5
cGUgOiAiRGVjb2RlSW1hZ2UiCi0gICAgdXNlZEhlYXBTaXplIDogPG51bWJlcj4KLX0KLVJlc2l6
ZUltYWdlIFByb3BlcnRpZXM6Ci17Ci0gICAgY2hpbGRyZW4gOiA8b2JqZWN0PgotICAgIGNvdW50
ZXJzIDogPG9iamVjdD4KLSAgICBkYXRhIDogewotICAgICAgICBjYWNoZWQgOiB0cnVlCi0gICAg
fQotICAgIGVuZFRpbWUgOiA8bnVtYmVyPgotICAgIHN0YWNrVHJhY2UgOiA8b2JqZWN0PgotICAg
IHN0YXJ0VGltZSA6IDxudW1iZXI+Ci0gICAgdHlwZSA6ICJSZXNpemVJbWFnZSIKLSAgICB1c2Vk
SGVhcFNpemUgOiA8bnVtYmVyPgotfQotRGVjb2RlSW1hZ2UgUHJvcGVydGllczoKLXsKLSAgICBj
aGlsZHJlbiA6IDxvYmplY3Q+Ci0gICAgY291bnRlcnMgOiA8b2JqZWN0PgotICAgIGRhdGEgOiB7
Ci0gICAgICAgIGltYWdlVHlwZSA6ICJQTkciCi0gICAgfQotICAgIGVuZFRpbWUgOiA8bnVtYmVy
PgotICAgIHN0YWNrVHJhY2UgOiA8b2JqZWN0PgotICAgIHN0YXJ0VGltZSA6IDxudW1iZXI+Ci0g
ICAgdHlwZSA6ICJEZWNvZGVJbWFnZSIKLSAgICB1c2VkSGVhcFNpemUgOiA8bnVtYmVyPgotfQot
UmVzaXplSW1hZ2UgUHJvcGVydGllczoKLXsKLSAgICBjaGlsZHJlbiA6IDxvYmplY3Q+Ci0gICAg
Y291bnRlcnMgOiA8b2JqZWN0PgotICAgIGRhdGEgOiB7Ci0gICAgICAgIGNhY2hlZCA6IHRydWUK
LSAgICB9Ci0gICAgZW5kVGltZSA6IDxudW1iZXI+Ci0gICAgc3RhY2tUcmFjZSA6IDxvYmplY3Q+
Ci0gICAgc3RhcnRUaW1lIDogPG51bWJlcj4KLSAgICB0eXBlIDogIlJlc2l6ZUltYWdlIgotICAg
IHVzZWRIZWFwU2l6ZSA6IDxudW1iZXI+Ci19Ci1EZWNvZGVJbWFnZSBQcm9wZXJ0aWVzOgotewot
ICAgIGNoaWxkcmVuIDogPG9iamVjdD4KLSAgICBjb3VudGVycyA6IDxvYmplY3Q+Ci0gICAgZGF0
YSA6IHsKLSAgICAgICAgaW1hZ2VUeXBlIDogIldFQlAiCi0gICAgfQotICAgIGVuZFRpbWUgOiA8
bnVtYmVyPgotICAgIHN0YWNrVHJhY2UgOiA8b2JqZWN0PgotICAgIHN0YXJ0VGltZSA6IDxudW1i
ZXI+Ci0gICAgdHlwZSA6ICJEZWNvZGVJbWFnZSIKLSAgICB1c2VkSGVhcFNpemUgOiA8bnVtYmVy
PgotfQotUmVzaXplSW1hZ2UgUHJvcGVydGllczoKLXsKLSAgICBjaGlsZHJlbiA6IDxvYmplY3Q+
Ci0gICAgY291bnRlcnMgOiA8b2JqZWN0PgotICAgIGRhdGEgOiB7Ci0gICAgICAgIGNhY2hlZCA6
IHRydWUKLSAgICB9Ci0gICAgZW5kVGltZSA6IDxudW1iZXI+Ci0gICAgc3RhY2tUcmFjZSA6IDxv
YmplY3Q+Ci0gICAgc3RhcnRUaW1lIDogPG51bWJlcj4KLSAgICB0eXBlIDogIlJlc2l6ZUltYWdl
IgotICAgIHVzZWRIZWFwU2l6ZSA6IDxudW1iZXI+Ci19Ci1EZWNvZGVJbWFnZSBQcm9wZXJ0aWVz
OgotewotICAgIGNoaWxkcmVuIDogPG9iamVjdD4KLSAgICBjb3VudGVycyA6IDxvYmplY3Q+Ci0g
ICAgZGF0YSA6IHsKLSAgICAgICAgaW1hZ2VUeXBlIDogIlBORyIKLSAgICB9Ci0gICAgZW5kVGlt
ZSA6IDxudW1iZXI+Ci0gICAgc3RhY2tUcmFjZSA6IDxvYmplY3Q+Ci0gICAgc3RhcnRUaW1lIDog
PG51bWJlcj4KLSAgICB0eXBlIDogIkRlY29kZUltYWdlIgotICAgIHVzZWRIZWFwU2l6ZSA6IDxu
dW1iZXI+Ci19Ci1SZXNpemVJbWFnZSBQcm9wZXJ0aWVzOgotewotICAgIGNoaWxkcmVuIDogPG9i
amVjdD4KLSAgICBjb3VudGVycyA6IDxvYmplY3Q+Ci0gICAgZGF0YSA6IHsKLSAgICAgICAgY2Fj
aGVkIDogZmFsc2UKLSAgICB9Ci0gICAgZW5kVGltZSA6IDxudW1iZXI+Ci0gICAgc3RhY2tUcmFj
ZSA6IDxvYmplY3Q+Ci0gICAgc3RhcnRUaW1lIDogPG51bWJlcj4KLSAgICB0eXBlIDogIlJlc2l6
ZUltYWdlIgotICAgIHVzZWRIZWFwU2l6ZSA6IDxudW1iZXI+Ci19Ci0KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1kZWNvZGUtcmVzaXplLmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtZGVjb2RlLXJlc2l6ZS5o
dG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4YTQ2ODllOGI0YjMxYjNlYzFhYWIz
MTE0MzFiODNiODJlZTVhNzhjLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1kZWNvZGUt
cmVzaXplLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw2OCArMCwwIEBACi08aHRtbD4KLTxoZWFk
PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0
LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci90
aW1lbGluZS10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci0KLWZ1bmN0aW9uIGFkZEltYWdl
KHNyYywgd2lkdGgsIGhlaWdodCwgY2FsbGJhY2spCi17Ci0gICAgdmFyIGltZyA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoImltZyIpOwotICAgIGltZy53aWR0aCA9IHdpZHRoOwotICAgIGltZy5o
ZWlnaHQgPSBoZWlnaHQ7Ci0gICAgaW1nLm9ubG9hZCA9IGNhbGxiYWNrOwotICAgIGltZy5zcmMg
PSBzcmM7Ci0gICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChpbWcpOwotfQotCi1mdW5jdGlv
biBhZGRJbWFnZTEoKSB7IGFkZEltYWdlKCJyZXNvdXJjZXMvdGVzdC5ibXAiLCAiMjUiLCAiMjUi
LCBhZGRJbWFnZTIpOyB9Ci1mdW5jdGlvbiBhZGRJbWFnZTIoKSB7IGFkZEltYWdlKCJyZXNvdXJj
ZXMvdGVzdC5naWYiLCAiMjUiLCAiMjUiLCBhZGRJbWFnZTMpOyB9Ci1mdW5jdGlvbiBhZGRJbWFn
ZTMoKSB7IGFkZEltYWdlKCJyZXNvdXJjZXMvdGVzdC5pY28iLCAiMjUiLCAiMjUiLCBhZGRJbWFn
ZTQpOyB9Ci1mdW5jdGlvbiBhZGRJbWFnZTQoKSB7IGFkZEltYWdlKCJyZXNvdXJjZXMvdGVzdC5q
cGciLCAiMjUiLCAiMjUiLCBhZGRJbWFnZTUpOyB9Ci1mdW5jdGlvbiBhZGRJbWFnZTUoKSB7IGFk
ZEltYWdlKCJyZXNvdXJjZXMvdGVzdC5wbmciLCAiMjUiLCAiMjUiLCBhZGRJbWFnZTYpOyB9Ci1m
dW5jdGlvbiBhZGRJbWFnZTYoKSB7IGFkZEltYWdlKCJyZXNvdXJjZXMvdGVzdC53ZWJwIiwgIjI1
IiwgIjI1IiwgYWRkSW1hZ2U3KTsgfQotZnVuY3Rpb24gYWRkSW1hZ2U3KCkgeyBhZGRJbWFnZSgi
cmVzb3VyY2VzL2JpZy5wbmciLCAiNTAwMCIsICI1MDAwIiwgZGlzcGxheVBhZ2UpOyB9Ci0KLWZ1
bmN0aW9uIGRpc3BsYXlQYWdlKCkKLXsKLSAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKLSAg
ICAgICAgdGVzdFJ1bm5lci5kaXNwbGF5KCk7Ci0gICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGls
RG9uZSgpOwotICAgIH0KLSAgICB0ZXN0UnVubmVyLmV2YWx1YXRlSW5XZWJJbnNwZWN0b3IoMCwg
IndpbmRvdy5zdGVwMigpIik7Ci19Ci0KLWZ1bmN0aW9uIHRlc3QoKQotewotICAgIEluc3BlY3Rv
clRlc3Quc3RhcnRUaW1lbGluZShzdGVwMSk7Ci0KLSAgICBmdW5jdGlvbiBzdGVwMSgpCi0gICAg
ewotICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJhZGRJbWFnZTEoKSIpOwot
ICAgIH0KLQotICAgIHdpbmRvdy5zdGVwMiA9IGZ1bmN0aW9uKCkKLSAgICB7Ci0gICAgICAgIElu
c3BlY3RvclRlc3Quc3RvcFRpbWVsaW5lKHN0ZXAzKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBz
dGVwMyhyZWNvcmRzKQotICAgIHsKLSAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCByZWNvcmRz
Lmxlbmd0aDsgKytpKSB7Ci0gICAgICAgICAgICB2YXIgcmVjb3JkID0gcmVjb3Jkc1tpXTsKLSAg
ICAgICAgICAgIGlmIChyZWNvcmQudHlwZSA9PT0gV2ViSW5zcGVjdG9yLlRpbWVsaW5lTW9kZWwu
UmVjb3JkVHlwZS5EZWNvZGVJbWFnZSB8fCByZWNvcmQudHlwZSA9PT0gV2ViSW5zcGVjdG9yLlRp
bWVsaW5lTW9kZWwuUmVjb3JkVHlwZS5SZXNpemVJbWFnZSkKLSAgICAgICAgICAgICAgICBJbnNw
ZWN0b3JUZXN0LnByaW50VGltZWxpbmVSZWNvcmRQcm9wZXJ0aWVzKHJlY29yZCk7Ci0gICAgICAg
IH0KLSAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKLSAgICB9Ci19Ci0KLTwv
c2NyaXB0PgotPC9oZWFkPgotCi08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci08cD4KLVRlc3Rz
IHRoZSBUaW1lbGluZSBBUEkgaW5zdHJ1bWVudGF0aW9uIG9mIGEgRGVjb2RlSW1hZ2UgYW5kIFJl
c2l6ZUltYWdlIGV2ZW50cwotPC9wPgotCi08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtZG9tLWNvbnRlbnQtbG9hZGVk
LWV2ZW50LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS90aW1l
bGluZS1kb20tY29udGVudC1sb2FkZWQtZXZlbnQtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCA0YTBiMGM3ZWFiMTdlOTAwNjkwMjYyMWM2OWNkMTQ0MWE1MmY2NjRk
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2luc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1kb20tY29udGVudC1sb2FkZWQtZXZlbnQt
ZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTUgKzAsMCBAQAotVGVzdHMgdGhlIERP
TSBjb250ZW50IGxvYWRlZCBldmVudC4KLQotUGFnZSByZWxvYWRlZC4KLU1hcmtET01Db250ZW50
IFByb3BlcnRpZXM6Ci17Ci0gICAgY291bnRlcnMgOiA8b2JqZWN0PgotICAgIGRhdGEgOiB7Ci0g
ICAgICAgIGlzTWFpbkZyYW1lIDogdHJ1ZQotICAgIH0KLSAgICBmcmFtZUlkIDogPHN0cmluZz4K
LSAgICBzdGFydFRpbWUgOiA8bnVtYmVyPgotICAgIHR5cGUgOiAiTWFya0RPTUNvbnRlbnQiCi0g
ICAgdXNlZEhlYXBTaXplIDogPG51bWJlcj4KLX0KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLWRvbS1jb250ZW50LWxvYWRlZC1ldmVudC5odG1s
IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLWRvbS1jb250ZW50LWxv
YWRlZC1ldmVudC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5ZTZmNDdjZTEx
Y2RiOTEyOGZhZGVlOTMzMzg4NmYyZGMxNjhmNjgxLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS90aW1l
bGluZS1kb20tY29udGVudC1sb2FkZWQtZXZlbnQuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDM4
ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9p
bnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4u
L2h0dHAvdGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlw
dD4KLQotZnVuY3Rpb24gdGVzdCgpCi17Ci0gICAgV2ViSW5zcGVjdG9yLnNob3dQYW5lbCgidGlt
ZWxpbmUiKTsKLSAgICBmaW5pc2hDYWxsZWQgPSAwOwotCi0gICAgSW5zcGVjdG9yVGVzdC5zdGFy
dFRpbWVsaW5lKGZ1bmN0aW9uKCkgeyBJbnNwZWN0b3JUZXN0LnJlbG9hZFBhZ2UoZmluaXNoKTsg
fSk7Ci0gICAgSW5zcGVjdG9yVGVzdC53YWl0Rm9yUmVjb3JkVHlwZSgiTWFya0RPTUNvbnRlbnQi
LCBjb250ZW50RXZlbnQpOwotCi0gICAgZnVuY3Rpb24gY29udGVudEV2ZW50KCkKLSAgICB7Ci0g
ICAgICAgIEluc3BlY3RvclRlc3Quc3RvcFRpbWVsaW5lKGZpbmlzaCk7Ci0gICAgfQotCi0gICAg
ZnVuY3Rpb24gZmluaXNoKCkKLSAgICB7Ci0gICAgICAgIGlmICgrK2ZpbmlzaENhbGxlZCA8IDIp
Ci0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIEluc3BlY3RvclRlc3QucHJpbnRUaW1lbGlu
ZVJlY29yZHMoIk1hcmtET01Db250ZW50Iik7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxl
dGVUZXN0KCk7Ci0gICAgfQotfQotCi08L3NjcmlwdD4KLTwvaGVhZD4KLQotPGJvZHkgb25sb2Fk
PSJydW5UZXN0KCkiPgotPHA+Ci1UZXN0cyB0aGUgRE9NIGNvbnRlbnQgbG9hZGVkIGV2ZW50Lgot
PC9wPgotCi08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0
b3IvdGltZWxpbmUvdGltZWxpbmUtZXZlbnQtZGlzcGF0Y2gtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLWV2ZW50LWRpc3BhdGNoLWV4cGVjdGVk
LnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTQxNDI5ZDM4NTY2NzgzYTkxOTgy
NTI0YmZjNDVkMjAxNjZiMjVjYS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtZXZlbnQt
ZGlzcGF0Y2gtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTcgKzAsMCBAQAotVGVz
dHMgdGhlIFRpbWVsaW5lIEFQSSBpbnN0cnVtZW50YXRpb24gb2YgYSBET00gRGlzcGF0Y2ggKG1v
dXNlZG93bikKLQotVGVzdCBNb3VzZSBUYXJnZXQKLUV2ZW50RGlzcGF0Y2ggUHJvcGVydGllczoK
LXsKLSAgICBjaGlsZHJlbiA6IDxvYmplY3Q+Ci0gICAgY291bnRlcnMgOiA8b2JqZWN0PgotICAg
IGRhdGEgOiB7Ci0gICAgICAgIHR5cGUgOiAibW91c2Vkb3duIgotICAgIH0KLSAgICBlbmRUaW1l
IDogPG51bWJlcj4KLSAgICBmcmFtZUlkIDogPHN0cmluZz4KLSAgICBzdGFydFRpbWUgOiA8bnVt
YmVyPgotICAgIHR5cGUgOiAiRXZlbnREaXNwYXRjaCIKLSAgICB1c2VkSGVhcFNpemUgOiA8bnVt
YmVyPgotfQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvdGlt
ZWxpbmUtZXZlbnQtZGlzcGF0Y2guaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGlu
ZS90aW1lbGluZS1ldmVudC1kaXNwYXRjaC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAzOTlmYWI2MTA5ODNhYzhjNjA0ZWI2M2NhOGFkMjE5ODk5YzZjMTRkLi4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rv
ci90aW1lbGluZS90aW1lbGluZS1ldmVudC1kaXNwYXRjaC5odG1sCisrKyAvZGV2L251bGwKQEAg
LTEsNDMgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rl
c3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
Li4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUtdGVzdC5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0PgotCi1mdW5jdGlvbiBoYW5kbGVNb3VzZURvd24oZXZlbnQpIAotewotICAgIGNvbnNv
bGUudGltZVN0YW1wKCJIYW5kbGluZyBtb3VzZWRvd24iKTsKLX0KLQotZnVuY3Rpb24gcGVyZm9y
bUFjdGlvbnMoKQotewotICAgIHZhciB0YXJnZXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
dGVzdFRhcmdldCIpOwotICAgIHRhcmdldC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLCBo
YW5kbGVNb3VzZURvd24sIHRydWUpOwotICAgIHZhciByZWN0ID0gdGFyZ2V0LmdldEJvdW5kaW5n
Q2xpZW50UmVjdCgpOwotCi0gICAgLy8gU2ltdWxhdGUgdGhlIG1vdXNlIGRvd24gb3ZlciB0aGUg
dGFyZ2V0IHRvIHRyaWdnZXIgYW4gRXZlbnREaXNwYXRjaAotICAgIGlmICh3aW5kb3cuZXZlbnRT
ZW5kZXIpIHsKLSAgICAgICAgd2luZG93LmV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKHJlY3QubGVm
dCArIHJlY3Qud2lkdGggLyAyLCByZWN0LnRvcCArIHJlY3QuaGVpZ2h0IC8gMik7Ci0gICAgICAg
IHdpbmRvdy5ldmVudFNlbmRlci5tb3VzZURvd24oKTsKLSAgICB9Ci19Ci0KLWZ1bmN0aW9uIHRl
c3QoKSAKLXsKLSAgICBJbnNwZWN0b3JUZXN0LnBlcmZvcm1BY3Rpb25zQW5kUHJpbnQoInBlcmZv
cm1BY3Rpb25zKCkiLCAiRXZlbnREaXNwYXRjaCIpOwotfQotCi08L3NjcmlwdD4KLTwvaGVhZD4K
LQotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotPHA+Ci1UZXN0cyB0aGUgVGltZWxpbmUgQVBJ
IGluc3RydW1lbnRhdGlvbiBvZiBhIERPTSBEaXNwYXRjaCAobW91c2Vkb3duKQotPC9wPgotCi08
ZGl2IGlkPSJ0ZXN0VGFyZ2V0IiBzdHlsZT0id2lkdGg6NDAwcHg7IGhlaWdodDo0MDBweDsiPgot
VGVzdCBNb3VzZSBUYXJnZXQKLTwvZGl2PgotCi08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtZnJhbWVzLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1mcmFtZXMtZXhw
ZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjOWY0OGU5MmU0MGI5MmMy
ZWEwYjEwNWQ0MDdiYTRhOTZlNzE4MWUzLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1m
cmFtZXMtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNyArMCwwIEBACi1UZXN0cyBy
ZXBvcnRpbmcgYW5kIGNhbmNlbGluZyBvZiBkaWRCZWdpbkZyYW1lIGV2ZW50cyBpbiBUaW1lbGlu
ZQotCi1CZWdpbkZyYW1lCi1UaW1lU3RhbXAgOiBGUkFNRSAxCi1CZWdpbkZyYW1lCi1UaW1lU3Rh
bXAgOiBGUkFNRSAyCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGlu
ZS90aW1lbGluZS1mcmFtZXMuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS90
aW1lbGluZS1mcmFtZXMuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjczMjQ1
Y2UyMzFjODJkMmViYTVlNzdlYjMxNTRjMmM4Njc1NjU3Mi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUv
dGltZWxpbmUtZnJhbWVzLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw1NSArMCwwIEBACi08aHRt
bD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3Bl
Y3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2lu
c3BlY3Rvci90aW1lbGluZS10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci0KLWZ1bmN0aW9u
IHBlcmZvcm1BY3Rpb25zKCkKLXsKLSAgICB3aW5kb3cuaW50ZXJuYWxzLmVtaXRJbnNwZWN0b3JE
aWRCZWdpbkZyYW1lKCk7Ci0gICAgY29uc29sZS50aW1lU3RhbXAoIkZSQU1FIDEiKTsKLQotICAg
IHdpbmRvdy5pbnRlcm5hbHMuZW1pdEluc3BlY3RvckRpZEJlZ2luRnJhbWUoKTsKLSAgICB3aW5k
b3cuaW50ZXJuYWxzLmVtaXRJbnNwZWN0b3JEaWRDYW5jZWxGcmFtZSgpOwotCi0gICAgd2luZG93
LmludGVybmFscy5lbWl0SW5zcGVjdG9yRGlkQmVnaW5GcmFtZSgpOwotICAgIGNvbnNvbGUudGlt
ZVN0YW1wKCJGUkFNRSAyIik7Ci0gICAgd2luZG93LmludGVybmFscy5lbWl0SW5zcGVjdG9yRGlk
Q2FuY2VsRnJhbWUoKTsKLX0KLQotZnVuY3Rpb24gdGVzdCgpCi17Ci0gICAgZnVuY3Rpb24gZm9y
bWF0UmVjb3JkKHJlY29yZCkKLSAgICB7Ci0gICAgICAgIGlmIChyZWNvcmQudHlwZSA9PT0gV2Vi
SW5zcGVjdG9yLlRpbWVsaW5lTW9kZWwuUmVjb3JkVHlwZS5UaW1lU3RhbXAgfHwKLSAgICAgICAg
ICAgIHJlY29yZC50eXBlID09PSBXZWJJbnNwZWN0b3IuVGltZWxpbmVNb2RlbC5SZWNvcmRUeXBl
LkJlZ2luRnJhbWUpIHsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZHVtcFRpbWVsaW5lUmVj
b3JkKHJlY29yZCk7Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICBJbnNwZWN0b3JUZXN0LnN0YXJ0
VGltZWxpbmUoZnVuY3Rpb24oKSB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBh
Z2UoInBlcmZvcm1BY3Rpb25zKCkiLCBzdGVwMik7Ci0gICAgfSk7Ci0KLSAgICBmdW5jdGlvbiBz
dGVwMigpCi0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LnN0b3BUaW1lbGluZShmaW5pc2gp
OwotICAgIH0KLQotICAgIGZ1bmN0aW9uIGZpbmlzaCgpCi0gICAgewotICAgICAgICBJbnNwZWN0
b3JUZXN0LnByaW50VGltZWxpbmVSZWNvcmRzKG51bGwsIGZvcm1hdFJlY29yZCk7Ci0gICAgICAg
IEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7Ci0gICAgfQotfQotCi08L3NjcmlwdD4KLTwv
aGVhZD4KLQotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotPHA+Ci1UZXN0cyByZXBvcnRpbmcg
YW5kIGNhbmNlbGluZyBvZiBkaWRCZWdpbkZyYW1lIGV2ZW50cyBpbiBUaW1lbGluZQotPC9wPgot
Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGlt
ZWxpbmUvdGltZWxpbmUtaW5qZWN0ZWQtc2NyaXB0LWV2YWwtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLWluamVjdGVkLXNjcmlwdC1ldmFsLWV4
cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDExMTM1ZDgzNWU0ZDk2
NWYyNDAwNjU1MjhhNDNmNmJmYTU1ODgyZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUt
aW5qZWN0ZWQtc2NyaXB0LWV2YWwtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMzEg
KzAsMCBAQAotVGVzdHMgdGhlIFRpbWVsaW5lIEFQSSBmdW5jdGlvbiBjYWxsIHJlY29yZCBmb3Ig
SW5qZWN0ZWRTY3JpcHQuZXZhbCBjYWxsIGZlYXR1cmUuCi0KLUZ1bmN0aW9uQ2FsbCBQcm9wZXJ0
aWVzOgotewotICAgIGNoaWxkcmVuIDogPG9iamVjdD4KLSAgICBjb3VudGVycyA6IDxvYmplY3Q+
Ci0gICAgZGF0YSA6IHsKLSAgICAgICAgc2NyaXB0TGluZSA6IDxudW1iZXI+Ci0gICAgICAgIHNj
cmlwdE5hbWUgOiA8c3RyaW5nPgotICAgIH0KLSAgICBlbmRUaW1lIDogPG51bWJlcj4KLSAgICBm
cmFtZUlkIDogPHN0cmluZz4KLSAgICBzdGFydFRpbWUgOiA8bnVtYmVyPgotICAgIHR5cGUgOiAi
RnVuY3Rpb25DYWxsIgotICAgIHVzZWRIZWFwU2l6ZSA6IDxudW1iZXI+Ci19Ci1GdW5jdGlvbkNh
bGwgUHJvcGVydGllczoKLXsKLSAgICBjaGlsZHJlbiA6IDxvYmplY3Q+Ci0gICAgY291bnRlcnMg
OiA8b2JqZWN0PgotICAgIGRhdGEgOiB7Ci0gICAgICAgIHNjcmlwdExpbmUgOiA8bnVtYmVyPgot
ICAgICAgICBzY3JpcHROYW1lIDogPHN0cmluZz4KLSAgICB9Ci0gICAgZW5kVGltZSA6IDxudW1i
ZXI+Ci0gICAgZnJhbWVJZCA6IDxzdHJpbmc+Ci0gICAgc3RhcnRUaW1lIDogPG51bWJlcj4KLSAg
ICB0eXBlIDogIkZ1bmN0aW9uQ2FsbCIKLSAgICB1c2VkSGVhcFNpemUgOiA8bnVtYmVyPgotfQot
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtaW5q
ZWN0ZWQtc2NyaXB0LWV2YWwuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS90
aW1lbGluZS1pbmplY3RlZC1zY3JpcHQtZXZhbC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCBiN2JlYTAyNjA2MGM0YzU5Mzg5NzRlODlkOWQxOGZiMTA1NDZiZDQ2Li4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci90aW1lbGluZS90aW1lbGluZS1pbmplY3RlZC1zY3JpcHQtZXZhbC5odG1sCisrKyAvZGV2
L251bGwKQEAgLTEsMjUgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8u
Li9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2Ny
aXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUtdGVzdC5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0PgotCi1mdW5jdGlvbiBwZXJmb3JtQWN0aW9ucygpCi17Ci19Ci0KLWZ1
bmN0aW9uIHRlc3QoKQotewotICAgIEluc3BlY3RvclRlc3QucGVyZm9ybUFjdGlvbnNBbmRQcmlu
dCgicGVyZm9ybUFjdGlvbnMoKSIsICJGdW5jdGlvbkNhbGwiKTsKLX0KLQotPC9zY3JpcHQ+Ci08
L2hlYWQ+Ci0KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxwPgotVGVzdHMgdGhlIFRpbWVs
aW5lIEFQSSBmdW5jdGlvbiBjYWxsIHJlY29yZCBmb3IgSW5qZWN0ZWRTY3JpcHQuZXZhbCBjYWxs
IGZlYXR1cmUuCi08L3A+Ci0KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2luc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1sYXlvdXQtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLWxheW91dC1leHBlY3RlZC50eHQK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGI5NmQ5YjUxMWEwNGE0YTFiMWVjNzg3Zjcy
MTcwNmYyYjIzYWIyZWMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLWxheW91dC1leHBl
Y3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw0MiArMCwwIEBACi1UZXN0cyB0aGUgVGltZWxp
bmUgQVBJIGluc3RydW1lbnRhdGlvbiBvZiBhIExheW91dCBldmVudAotCi10ZXh0Ci10ZXh0Ci10
ZXh0Ci10ZXh0Ci10ZXh0Ci1MYXlvdXQgUHJvcGVydGllczoKLXsKLSAgICBjaGlsZHJlbiA6IDxv
YmplY3Q+Ci0gICAgY291bnRlcnMgOiA8b2JqZWN0PgotICAgIGRhdGEgOiB7Ci0gICAgICAgIGRp
cnR5T2JqZWN0cyA6IDMKLSAgICAgICAgcGFydGlhbExheW91dCA6IHRydWUKLSAgICAgICAgcm9v
dCA6IDxvYmplY3Q+Ci0gICAgICAgIHRvdGFsT2JqZWN0cyA6IDgKLSAgICB9Ci0gICAgZW5kVGlt
ZSA6IDxudW1iZXI+Ci0gICAgZnJhbWVJZCA6IDxzdHJpbmc+Ci0gICAgc3RhY2tUcmFjZSA6IDxv
YmplY3Q+Ci0gICAgc3RhcnRUaW1lIDogPG51bWJlcj4KLSAgICB0eXBlIDogIkxheW91dCIKLSAg
ICB1c2VkSGVhcFNpemUgOiA8bnVtYmVyPgotfQotTGF5b3V0IFByb3BlcnRpZXM6Ci17Ci0gICAg
Y2hpbGRyZW4gOiA8b2JqZWN0PgotICAgIGNvdW50ZXJzIDogPG9iamVjdD4KLSAgICBkYXRhIDog
ewotICAgICAgICBkaXJ0eU9iamVjdHMgOiAyCi0gICAgICAgIHBhcnRpYWxMYXlvdXQgOiB0cnVl
Ci0gICAgICAgIHJvb3QgOiA8b2JqZWN0PgotICAgICAgICB0b3RhbE9iamVjdHMgOiAxMQotICAg
IH0KLSAgICBlbmRUaW1lIDogPG51bWJlcj4KLSAgICBmcmFtZUlkIDogPHN0cmluZz4KLSAgICBz
dGFja1RyYWNlIDogPG9iamVjdD4KLSAgICBzdGFydFRpbWUgOiA8bnVtYmVyPgotICAgIHR5cGUg
OiAiTGF5b3V0IgotICAgIHVzZWRIZWFwU2l6ZSA6IDxudW1iZXI+Ci19Ci0KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1sYXlvdXQtcmVhc29uLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1sYXlv
dXQtcmVhc29uLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzAw
MWUwYzE1ZGQ3ZGZmOTMwMzA5N2RiZmIwNDFkNDk0NjVjZTgzMi4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxp
bmUvdGltZWxpbmUtbGF5b3V0LXJlYXNvbi1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAt
MSw1ICswLDAgQEAKLVRlc3RzIHRoYXQgTGF5b3V0IHJlY29yZCBoYXMgY29ycmVjdCBsb2NhdGlv
bnMgb2YgbGF5b3V0IGJlaW5nIGludmFsaWRhdGVkIGFuZCBmb3JjZWQuCi0KLWxheW91dCBpbnZh
bGlkYXRlZDogaW52YWxpZGF0ZVN0eWxlCi1sYXlvdXQgZm9yY2VkOiBmb3JjZUxheW91dAotCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtbGF5b3V0
LXJlYXNvbi5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLWxh
eW91dC1yZWFzb24uaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODQyODBhNGEz
NWQ5MDg0MDIzNGZiMjM3NTM4MjgwOGE5MzZkYjg1Ny4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvdGlt
ZWxpbmUtbGF5b3V0LXJlYXNvbi5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNTAgKzAsMCBAQAot
PGh0bWw+Ci08c3R5bGU+Ci0udGVzdCB7IGhlaWdodDogMjBweDsgfQotPC9zdHlsZT4KLTxoZWFk
PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0
LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci90
aW1lbGluZS10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci0KLWZ1bmN0aW9uIGludmFsaWRh
dGVTdHlsZSgpCi17Ci0gICAgdmFyIGVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
dGVzdCIpOwotICAgIGVsZW1lbnQuY2xhc3NOYW1lID0gInRlc3QiOwotfQotCi1mdW5jdGlvbiBm
b3JjZUxheW91dCgpCi17Ci0gICAgdmFyIGVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgidGVzdCIpOwotICAgIHZhciB1bnVzZWQgPSBlbGVtZW50Lm9mZnNldEhlaWdodDsKLX0KLQot
ZnVuY3Rpb24gcGVyZm9ybUFjdGlvbnMoKQotewotICAgIGludmFsaWRhdGVTdHlsZSgpOwotICAg
IGZvcmNlTGF5b3V0KCk7Ci19Ci0KLWZ1bmN0aW9uIHRlc3QoKQotewotICAgIEluc3BlY3RvclRl
c3QuZXZhbHVhdGVXaXRoVGltZWxpbmUoInBlcmZvcm1BY3Rpb25zKCkiLCBvblRpbWVsaW5lUmVj
b3JkZWQpOwotICAgIGZ1bmN0aW9uIG9uVGltZWxpbmVSZWNvcmRlZCgpCi0gICAgewotICAgICAg
ICB2YXIgbGF5b3V0UmVjb3JkID0gSW5zcGVjdG9yVGVzdC5maW5kUHJlc2VudGF0aW9uUmVjb3Jk
KCJMYXlvdXQiKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoImxheW91dCBpbnZh
bGlkYXRlZDogIiArIGxheW91dFJlY29yZC5jYWxsU2l0ZVN0YWNrVHJhY2VbMF0uZnVuY3Rpb25O
YW1lKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoImxheW91dCBmb3JjZWQ6ICIg
KyBsYXlvdXRSZWNvcmQuc3RhY2tUcmFjZVswXS5mdW5jdGlvbk5hbWUpOwotICAgICAgICBJbnNw
ZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwotICAgIH0KLX0KLQotPC9zY3JpcHQ+Ci08L2hlYWQ+
Ci0KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxwPgotVGVzdHMgdGhhdCBMYXlvdXQgcmVj
b3JkIGhhcyBjb3JyZWN0IGxvY2F0aW9ucyBvZiBsYXlvdXQgYmVpbmcgaW52YWxpZGF0ZWQgYW5k
IGZvcmNlZC4KLTwvcD4KLTxkaXYgaWQ9InRlc3QiPjwvZGl2PgotCi08L2JvZHk+Ci08L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtbGF5
b3V0Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtbGF5b3V0
Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGY0MGVlZjIxYTg2ZjcwYzI5YjQ3
OTc4NmNhNzRlNGMxNGU2ZDIwMGIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLWxheW91
dC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNTcgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxz
Y3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvdGltZWxp
bmUtdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c3R5bGU+Ci0ucmVsYXlvdXQtYm91bmRhcnkgewotICAg
IG92ZXJmbG93OiBoaWRkZW47Ci0gICAgd2lkdGg6IDEwMHB4OwotICAgIGhlaWdodDogMTAwcHg7
Ci19Ci08L3N0eWxlPgotPHNjcmlwdD4KLQotZnVuY3Rpb24gaW52YWxpZGF0ZUFuZEZvcmNlTGF5
b3V0KGVsZW1lbnQpCi17Ci0gICAgZWxlbWVudC5zdHlsZS5tYXJnaW5Ub3AgPSAiMTBweCI7Ci0g
ICAgdmFyIHVudXNlZCA9IGVsZW1lbnQub2Zmc2V0SGVpZ2h0OwotfQotCi1mdW5jdGlvbiBwZXJm
b3JtQWN0aW9ucygpCi17Ci0gICAgaW52YWxpZGF0ZUFuZEZvcmNlTGF5b3V0KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJpbnZhbGlkYXRlMSIpKTsKLSAgICBpbnZhbGlkYXRlQW5kRm9yY2VMYXlv
dXQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImludmFsaWRhdGUyIikpOwotfQotCi1mdW5jdGlv
biB0ZXN0KCkKLXsKLSAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJ0ZXN0UnVubmVy
LmRpc3BsYXkoKSIsIGZ1bmN0aW9uKCkgewotICAgICAgICBJbnNwZWN0b3JUZXN0LnBlcmZvcm1B
Y3Rpb25zQW5kUHJpbnQoInBlcmZvcm1BY3Rpb25zKCkiLCAiTGF5b3V0Iik7Ci0gICAgfSk7Ci19
Ci0KLTwvc2NyaXB0PgotPC9oZWFkPgotCi08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci08cD4K
LVRlc3RzIHRoZSBUaW1lbGluZSBBUEkgaW5zdHJ1bWVudGF0aW9uIG9mIGEgTGF5b3V0IGV2ZW50
Ci08L3A+Ci08ZGl2IGNsYXNzPSJyZWxheW91dC1ib3VuZGFyeSI+Ci0gICAgPGRpdj50ZXh0PC9k
aXY+Ci0gICAgPGRpdj48L2Rpdj4KLSAgICA8ZGl2PgotICAgICAgICA8ZGl2IGlkPSJpbnZhbGlk
YXRlMSI+PGRpdj50ZXh0PC9kaXY+PC9kaXY+Ci0gICAgPC9kaXY+Ci08L2Rpdj4KLTxkaXYgY2xh
c3M9InJlbGF5b3V0LWJvdW5kYXJ5Ij4KLSAgICA8ZGl2PjwvZGl2PgotICAgIDxkaXY+dGV4dDwv
ZGl2PgotICAgIDxkaXYgaWQ9ImludmFsaWRhdGUyIj48ZGl2PnRleHQ8L2Rpdj48L2Rpdj4KLSAg
ICA8ZGl2PjwvZGl2PgotICAgIDxkaXY+PC9kaXY+Ci0gICAgPGRpdj50ZXh0PC9kaXY+Ci08L2Rp
dj4KLQotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
L3RpbWVsaW5lL3RpbWVsaW5lLWxvYWQtZXZlbnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLWxvYWQtZXZlbnQtZXhwZWN0ZWQudHh0CmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkYzZlZWQ3ZDhlY2Y3OTNhNDExZjQ4N2RiNWFhYzY3
YWJlMDUwOWZiLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1sb2FkLWV2ZW50LWV4cGVj
dGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDUwICswLDAgQEAKLVRlc3RzIHRoZSBsb2FkIGV2
ZW50LgotCi1QYWdlIHJlbG9hZGVkLgotTW9kZWwgcmVjb3JkczoKLU1hcmtET01Db250ZW50IFBy
b3BlcnRpZXM6Ci17Ci0gICAgY291bnRlcnMgOiA8b2JqZWN0PgotICAgIGRhdGEgOiB7Ci0gICAg
ICAgIGlzTWFpbkZyYW1lIDogdHJ1ZQotICAgIH0KLSAgICBmcmFtZUlkIDogPHN0cmluZz4KLSAg
ICBzdGFydFRpbWUgOiA8bnVtYmVyPgotICAgIHR5cGUgOiAiTWFya0RPTUNvbnRlbnQiCi0gICAg
dXNlZEhlYXBTaXplIDogPG51bWJlcj4KLX0KLU1hcmtMb2FkIFByb3BlcnRpZXM6Ci17Ci0gICAg
Y291bnRlcnMgOiA8b2JqZWN0PgotICAgIGRhdGEgOiB7Ci0gICAgICAgIGlzTWFpbkZyYW1lIDog
dHJ1ZQotICAgIH0KLSAgICBmcmFtZUlkIDogPHN0cmluZz4KLSAgICBzdGFydFRpbWUgOiA8bnVt
YmVyPgotICAgIHR5cGUgOiAiTWFya0xvYWQiCi0gICAgdXNlZEhlYXBTaXplIDogPG51bWJlcj4K
LX0KLVRpbWVzdGFtcCByZWNvcmRzOgotTWFya0RPTUNvbnRlbnQgUHJvcGVydGllczoKLXsKLSAg
ICBjb3VudGVycyA6IDxvYmplY3Q+Ci0gICAgZGF0YSA6IHsKLSAgICAgICAgaXNNYWluRnJhbWUg
OiB0cnVlCi0gICAgfQotICAgIGZyYW1lSWQgOiA8c3RyaW5nPgotICAgIHN0YXJ0VGltZSA6IDxu
dW1iZXI+Ci0gICAgdHlwZSA6ICJNYXJrRE9NQ29udGVudCIKLSAgICB1c2VkSGVhcFNpemUgOiA8
bnVtYmVyPgotfQotTWFya0xvYWQgUHJvcGVydGllczoKLXsKLSAgICBjb3VudGVycyA6IDxvYmpl
Y3Q+Ci0gICAgZGF0YSA6IHsKLSAgICAgICAgaXNNYWluRnJhbWUgOiB0cnVlCi0gICAgfQotICAg
IGZyYW1lSWQgOiA8c3RyaW5nPgotICAgIHN0YXJ0VGltZSA6IDxudW1iZXI+Ci0gICAgdHlwZSA6
ICJNYXJrTG9hZCIKLSAgICB1c2VkSGVhcFNpemUgOiA8bnVtYmVyPgotfQotCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtbG9hZC1ldmVudC5odG1s
IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLWxvYWQtZXZlbnQuaHRt
bApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjk5OWYzODc3MmRjM2YwYTFkYmU2YjNi
YzZmNWUwZjMwZTE3NzM0Yy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtbG9hZC1ldmVu
dC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNDQgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxz
Y3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvdGltZWxp
bmUtdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotCi1mdW5jdGlvbiB0ZXN0KCkKLXsKLSAg
ICBXZWJJbnNwZWN0b3Iuc2hvd1BhbmVsKCJ0aW1lbGluZSIpOwotICAgIGZpbmlzaENhbGxlZCA9
IDA7Ci0KLSAgICBJbnNwZWN0b3JUZXN0LnN0YXJ0VGltZWxpbmUoZnVuY3Rpb24oKSB7IEluc3Bl
Y3RvclRlc3QucmVsb2FkUGFnZShmaW5pc2gpOyB9KTsKLSAgICBJbnNwZWN0b3JUZXN0LndhaXRG
b3JSZWNvcmRUeXBlKCJNYXJrTG9hZCIsIGNvbnRlbnRFdmVudCk7Ci0KLSAgICBmdW5jdGlvbiBj
b250ZW50RXZlbnQoKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5zdG9wVGltZWxpbmUo
ZmluaXNoKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBmaW5pc2goKQotICAgIHsKLSAgICAgICAg
aWYgKCsrZmluaXNoQ2FsbGVkICE9PSAyKQotICAgICAgICAgICAgcmV0dXJuOwotCi0gICAgICAg
IEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJNb2RlbCByZWNvcmRzOiIpOwotICAgICAgICBJbnNw
ZWN0b3JUZXN0LnByaW50VGltZWxpbmVSZWNvcmRzKCJNYXJrRE9NQ29udGVudCIpOwotICAgICAg
ICBJbnNwZWN0b3JUZXN0LnByaW50VGltZWxpbmVSZWNvcmRzKCJNYXJrTG9hZCIpOwotICAgICAg
ICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiVGltZXN0YW1wIHJlY29yZHM6Iik7Ci0gICAgICAg
IEluc3BlY3RvclRlc3QucHJpbnRUaW1lc3RhbXBSZWNvcmRzKCJNYXJrRE9NQ29udGVudCIpOwot
ICAgICAgICBJbnNwZWN0b3JUZXN0LnByaW50VGltZXN0YW1wUmVjb3JkcygiTWFya0xvYWQiKTsK
LSAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKLSAgICB9Ci19Ci0KLTwvc2Ny
aXB0PgotPC9oZWFkPgotCi08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci08cD4KLVRlc3RzIHRo
ZSBsb2FkIGV2ZW50LgotPC9wPgotCi08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtbG9hZC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtbG9hZC1leHBlY3RlZC50eHQK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGZhMmMyN2JmODU0ZWI2NTVmY2IyNzIzMDA3
YjU3MjEzY2VmYjY3ZGIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLWxvYWQtZXhwZWN0
ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTQgKzAsMCBAQAotVGVzdHMgdGhlIFRpbWVsaW5l
IHNhdmUvbG9hZCBmdW5jdGlvbmFsaXR5LgotCi1BbHNvIHRlc3RzIHNhdmUvbG9hZCBvZiB1bmtu
b3duIChpbmNvbXBhdGlibGUpIHJlY29yZCB0eXBlcy4gKEJ1ZyA5MTcxNCkKLQotCi1SdW5uaW5n
OiB0ZXN0Tm9ybWFsCi1wYXNzZWQKLQotUnVubmluZzogdGVzdEluY29tcGF0aWJsZQotcGFzc2Vk
Ci0KLVJ1bm5pbmc6IHRlc3RNYWxmb3JtZWQKLXBhc3NlZAotCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtbG9hZC5odG1sIGIvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLWxvYWQuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggZjA3ZTY5NzYyN2ViNmJlNzZkOWJjYzY2NDI0NzI2ZDcwNDgwZmY3Ny4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9p
bnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtbG9hZC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEs
OTYgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3Rz
L2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4v
Li4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUtdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2Ny
aXB0PgotCi1mdW5jdGlvbiB0ZXN0KCkKLXsKLSAgICBmdW5jdGlvbiBydW5UZXN0V2l0aERhdGFB
bmRDaGVjayhpbnB1dCwgZXhwZWN0ZWRPdXRwdXQpCi0gICAgewotICAgICAgICBXZWJJbnNwZWN0
b3Iuc2hvd1BhbmVsKCJ0aW1lbGluZSIpOwotICAgICAgICB2YXIgbW9kZWwgPSBuZXcgV2ViSW5z
cGVjdG9yLlRpbWVsaW5lTW9kZWwoKTsKLQotICAgICAgICBmdW5jdGlvbiBjcmVhdGVGaWxlUmVh
ZGVyKGZpbGUsIGRlbGVnYXRlKQotICAgICAgICB7Ci0gICAgICAgICAgICByZXR1cm4gbmV3IElu
c3BlY3RvclRlc3QuRmFrZUZpbGVSZWFkZXIoaW5wdXQsIGRlbGVnYXRlLCBtb2RlbC5zYXZlVG9G
aWxlLmJpbmQobW9kZWwpKTsKLSAgICAgICAgfQotCi0gICAgICAgIGZ1bmN0aW9uIGNyZWF0ZUZp
bGVXcml0ZXIoZmlsZU5hbWUsIGNhbGxiYWNrKQotICAgICAgICB7Ci0gICAgICAgICAgICBjYWxs
YmFjayhuZXcgSW5zcGVjdG9yVGVzdC5TdHJpbmdPdXRwdXRTdHJlYW0oY2hlY2tTYXZlRGF0YSkp
OwotICAgICAgICB9Ci0KLSAgICAgICAgZnVuY3Rpb24gY2hlY2tTYXZlRGF0YShvdXRwdXQpCi0g
ICAgICAgIHsKLSAgICAgICAgICAgIHZhciBzYXZlRGF0YSA9IEpTT04ucGFyc2Uob3V0cHV0KTsK
LSAgICAgICAgICAgIHNhdmVEYXRhLnNoaWZ0KCk7IC8vIHN0cmlwIHZlcnNpb24gaW5mbwotICAg
ICAgICAgICAgZXhwZWN0ZWRPdXRwdXQuc2hpZnQoKTsKLSAgICAgICAgICAgIEluc3BlY3RvclRl
c3QuYXNzZXJ0RXF1YWxzKEpTT04uc3RyaW5naWZ5KGV4cGVjdGVkT3V0cHV0KSwgSlNPTi5zdHJp
bmdpZnkoc2F2ZURhdGEpLCAic2F2ZWQgZGF0YSBpcyBub3QgZXF1YWwgdG8gcmVzdG9yZWQiKTsK
LSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJwYXNzZWQiKTsKLSAgICAgICAg
fQotCi0gICAgICAgIEluc3BlY3RvclRlc3Qub3ZlcnJpZGUobW9kZWwsICJfY3JlYXRlRmlsZVJl
YWRlciIsIGNyZWF0ZUZpbGVSZWFkZXIpOwotICAgICAgICBJbnNwZWN0b3JUZXN0Lm92ZXJyaWRl
KG1vZGVsLCAiX2NyZWF0ZUZpbGVXcml0ZXIiLCBjcmVhdGVGaWxlV3JpdGVyKTsKLQotICAgICAg
ICBtb2RlbC5sb2FkRnJvbUZpbGUoe30sIG5ldyBXZWJJbnNwZWN0b3IuUHJvZ3Jlc3MoKSk7Ci0g
ICAgfQotCi0gICAgSW5zcGVjdG9yVGVzdC5ydW5UZXN0U3VpdGUoWwotICAgICAgICBmdW5jdGlv
biB0ZXN0Tm9ybWFsKG5leHQpCi0gICAgICAgIHsKLSAgICAgICAgICAgIHZhciBkYXRhID0gWyJW
ZXJzaW9uIiwKLSAgICAgICAgICAgICAgICB7InN0YXJ0VGltZSI6MTMxMDc0OTg1NDMxNi44NDA4
LCJkYXRhIjp7InJlcXVlc3RJZCI6NDMsInVybCI6Imh0dHA6Ly93d3cud2Via2l0Lm9yZy8iLCJy
ZXF1ZXN0TWV0aG9kIjoiR0VUIn0sInR5cGUiOiJSZXNvdXJjZVNlbmRSZXF1ZXN0IiwidXNlZEhl
YXBTaXplIjoxODE5OTM2LCJ0b3RhbEhlYXBTaXplIjo3NjI5MTIwfSwKLSAgICAgICAgICAgICAg
ICB7InN0YXJ0VGltZSI6MTMxMDc0OTg1NTExOC45MzI5LCJkYXRhIjp7InJlcXVlc3RJZCI6NDMs
InN0YXR1c0NvZGUiOjIwMCwibWltZVR5cGUiOiJ0ZXh0L2h0bWwifSwiY2hpbGRyZW4iOltdLCJl
bmRUaW1lIjoxMzEwNzQ5ODU1MTE4Ljk2OCwidHlwZSI6IlJlc291cmNlUmVjZWl2ZVJlc3BvbnNl
IiwidXNlZEhlYXBTaXplIjoxODE5OTM2LCJ0b3RhbEhlYXBTaXplIjo3NjI5MTIwfSwKLSAgICAg
ICAgICAgICAgICB7InN0YXJ0VGltZSI6MTMxMDc0OTg1NTEzNi4yNDUsImRhdGEiOnsicmVxdWVz
dElkIjo0NCwidXJsIjoiaHR0cDovL3d3dy53ZWJraXQub3JnL2Nzcy9tYWluLmNzcyIsInJlcXVl
c3RNZXRob2QiOiJHRVQifSwidHlwZSI6IlJlc291cmNlU2VuZFJlcXVlc3QiLCJ1c2VkSGVhcFNp
emUiOjIzNjcxOTIsInRvdGFsSGVhcFNpemUiOjc2MjkxMjB9LAotICAgICAgICAgICAgICAgIHsi
c3RhcnRUaW1lIjoxMzEwNzQ5ODU1MTM2LjY1NSwiZGF0YSI6eyJyZXF1ZXN0SWQiOjQ1LCJ1cmwi
OiJodHRwOi8vd3d3LndlYmtpdC5vcmcvY3NzL2dyZWVuLmNzcyIsInJlcXVlc3RNZXRob2QiOiJH
RVQifSwidHlwZSI6IlJlc291cmNlU2VuZFJlcXVlc3QiLCJ1c2VkSGVhcFNpemUiOjIzNjcxOTIs
InRvdGFsSGVhcFNpemUiOjc2MjkxMjB9LAotICAgICAgICAgICAgICAgIHsic3RhcnRUaW1lIjox
MzEwNzQ5ODU1MTM3LjAyMywiZGF0YSI6eyJyZXF1ZXN0SWQiOjQ2LCJ1cmwiOiJodHRwOi8vd3d3
LndlYmtpdC5vcmcvY3NzL2JsdWUuY3NzIiwicmVxdWVzdE1ldGhvZCI6IkdFVCJ9LCJ0eXBlIjoi
UmVzb3VyY2VTZW5kUmVxdWVzdCIsInVzZWRIZWFwU2l6ZSI6MjM2NzE5MiwidG90YWxIZWFwU2l6
ZSI6NzYyOTEyMH0sCi0gICAgICAgICAgICAgICAgeyJzdGFydFRpbWUiOjEzMTA3NDk4NTUxMzcu
MzQyLCJkYXRhIjp7InJlcXVlc3RJZCI6NDcsInVybCI6Imh0dHA6Ly93d3cud2Via2l0Lm9yZy9j
c3MveWVsbG93LmNzcyIsInJlcXVlc3RNZXRob2QiOiJHRVQifSwidHlwZSI6IlJlc291cmNlU2Vu
ZFJlcXVlc3QiLCJ1c2VkSGVhcFNpemUiOjIzNjcxOTIsInRvdGFsSGVhcFNpemUiOjc2MjkxMjB9
LAotICAgICAgICAgICAgICAgIHsic3RhcnRUaW1lIjoxMzEwNzQ5ODU1MTM3LjY1NiwiZGF0YSI6
eyJyZXF1ZXN0SWQiOjQ4LCJ1cmwiOiJodHRwOi8vd3d3LndlYmtpdC5vcmcvY3NzL3BpbmsuY3Nz
IiwicmVxdWVzdE1ldGhvZCI6IkdFVCJ9LCJ0eXBlIjoiUmVzb3VyY2VTZW5kUmVxdWVzdCIsInVz
ZWRIZWFwU2l6ZSI6MjM2NzE5MiwidG90YWxIZWFwU2l6ZSI6NzYyOTEyMH0sCi0gICAgICAgICAg
ICAgICAgeyJzdGFydFRpbWUiOjEzMTA3NDk4NTUxMzcuOTg5LCJkYXRhIjp7InJlcXVlc3RJZCI6
NDksInVybCI6Imh0dHA6Ly93d3cud2Via2l0Lm9yZy9jc3MvcHVycGxlLmNzcyIsInJlcXVlc3RN
ZXRob2QiOiJHRVQifSwidHlwZSI6IlJlc291cmNlU2VuZFJlcXVlc3QiLCJ1c2VkSGVhcFNpemUi
OjIzNjcxOTIsInRvdGFsSGVhcFNpemUiOjc2MjkxMjB9LAotICAgICAgICAgICAgICAgIHsic3Rh
cnRUaW1lIjoxMzEwNzQ5ODU1MTM4LjMwOCwiZGF0YSI6eyJyZXF1ZXN0SWQiOjUwLCJ1cmwiOiJo
dHRwOi8vd3d3LndlYmtpdC5vcmcvY3NzL2dyYXkuY3NzIiwicmVxdWVzdE1ldGhvZCI6IkdFVCJ9
LCJ0eXBlIjoiUmVzb3VyY2VTZW5kUmVxdWVzdCIsInVzZWRIZWFwU2l6ZSI6MjM2NzE5MiwidG90
YWxIZWFwU2l6ZSI6NzYyOTEyMH0KLSAgICAgICAgICAgIF07Ci0gICAgICAgICAgICB2YXIgaW5w
dXQgPSBKU09OLnN0cmluZ2lmeShkYXRhKTsKLSAgICAgICAgICAgIHJ1blRlc3RXaXRoRGF0YUFu
ZENoZWNrKGlucHV0LCBkYXRhKTsKLSAgICAgICAgICAgIG5leHQoKTsKLSAgICAgICAgfSwKLQot
ICAgICAgICBmdW5jdGlvbiB0ZXN0SW5jb21wYXRpYmxlKG5leHQpCi0gICAgICAgIHsKLSAgICAg
ICAgICAgIHZhciBkYXRhID0gWyJWZXJzaW9uIiwKLSAgICAgICAgICAgICAgICB7InN0YXJ0VGlt
ZSI6MTMxMDc0OTg1NDMxNi44NDA4LCJkYXRhIjp7InJlcXVlc3RJZCI6NDMsInVybCI6Imh0dHA6
Ly93d3cud2Via2l0Lm9yZy8iLCJyZXF1ZXN0TWV0aG9kIjoiR0VUIn0sInR5cGUiOiJVbmtub3du
UmVjb3JkVHlwZSIsInVcInN9ZX1kSGVhcFNpemVcXCI6MTgxOTkzNiwidG90YWxIZWFwU2l6ZSI6
NzYyOTEyMH0KLSAgICAgICAgICAgIF07Ci0gICAgICAgICAgICB2YXIgaW5wdXQgPSBKU09OLnN0
cmluZ2lmeShkYXRhKTsKLSAgICAgICAgICAgIHJ1blRlc3RXaXRoRGF0YUFuZENoZWNrKGlucHV0
LCBkYXRhKTsKLSAgICAgICAgICAgIG5leHQoKTsKLSAgICAgICAgfSwKLQotICAgICAgICBmdW5j
dGlvbiB0ZXN0TWFsZm9ybWVkKG5leHQpCi0gICAgICAgIHsKLSAgICAgICAgICAgIHZhciBkYXRh
ID0gWyJWZXJzaW9uIl07Ci0gICAgICAgICAgICAvLyBBdCBsZWFzdCAxIHJlY29yZCBpcyBwYXJz
ZWQgaW4gZmlyc3QgY2h1bmsuCi0gICAgICAgICAgICB2YXIgaW5wdXQgPSAnWyJWZXJzaW9uIiwn
Ci0gICAgICAgICAgICAgICAgKyd7InN0YXJ0VGltZSI6MTMxMDc0OTg1NDMxNi44NDA4LCJkYXRh
Ijp7InJlcXVlc3RJZCI6NDN9LCJ0eXBlIjoiVW5rbm93blJlY29yZFR5cGUifSwnCi0gICAgICAg
ICAgICAgICAgKyd7InN0YXJ0VGltZSI6MTMxMDc0OTg1NDMxNi44NTA4LCJkYXRhIjp7InJlcXVl
c3RJZCI6NDN9LCJ0eXBlIjoiVW5rbm93blJlY29yZFR5cGUifSwnCi0gICAgICAgICAgICAgICAg
Kyd7InN0YXJ0VGltZSI6MTMxMDc0OTg1NDMxNi44NjA4LCJkYXRhIjp7InJlcXVlc3RJZCI6NDN9
LCJ0eXBlIjoiVW5rbm93blJlY29yZFR5cGUifSwnCi0gICAgICAgICAgICAgICAgKyd7InN0YXJ0
VGltZSI6MTMxMDc0OTg1NDMxNi44NzA4LCJkYXRhIjp7InJlcXVlc3RJZCI6NDNfTUFMRk9STUVE
X0pTT05ffSwidHlwZSI6IlVua25vd25SZWNvcmRUeXBlIn1dJzsKLSAgICAgICAgICAgIHJ1blRl
c3RXaXRoRGF0YUFuZENoZWNrKGlucHV0LCBkYXRhKTsKLSAgICAgICAgICAgIG5leHQoKTsKLSAg
ICAgICAgfQotICAgIF0pOwotfQotCi08L3NjcmlwdD4KLTwvaGVhZD4KLQotPGJvZHkgb25sb2Fk
PSJydW5UZXN0KCkiPgotPHA+Ci1UZXN0cyB0aGUgVGltZWxpbmUgc2F2ZS9sb2FkIGZ1bmN0aW9u
YWxpdHkuCi08L3A+Ci0KLTxwPgotQWxzbyB0ZXN0cyBzYXZlL2xvYWQgb2YgdW5rbm93biAoaW5j
b21wYXRpYmxlKSByZWNvcmQgdHlwZXMuIDxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD05MTcxNCI+KEJ1ZyA5MTcxNCk8L2E+Ci08L3A+Ci0KLTwvYm9keT4K
LTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS90aW1l
bGluZS1uZXR3b3JrLXJlY2VpdmVkLWRhdGEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLW5ldHdvcmstcmVjZWl2ZWQtZGF0YS1leHBlY3RlZC50
eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDBjZjBlMzQxMjdjNWY2YmZjOTgyMmVh
NGZjYWI2ODQwN2JjZThkMzIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLW5ldHdvcmst
cmVjZWl2ZWQtZGF0YS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw2ICswLDAgQEAK
LUNPTlNPTEUgTUVTU0FHRTogbGluZSA3OiBTY3JpcHQgZXZhbHVhdGVkCi1UZXN0cyB0aGUgVGlt
ZWxpbmUgQVBJIGluc3RydW1lbnRhdGlvbiBvZiBhIG5ldHdvcmsgcmVzb3VyY2UgcmVjZWl2ZWQg
ZGF0YQotCi1TY3JpcHQgcmVzb3VyY2UgbG9hZGVkCi1SZXNvdXJjZSByZWNlaXZlZCBkYXRhIGhh
cyBsZW5ndGgsIHRlc3QgcGFzc2VkLgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0
b3IvdGltZWxpbmUvdGltZWxpbmUtbmV0d29yay1yZWNlaXZlZC1kYXRhLmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtbmV0d29yay1yZWNlaXZlZC1kYXRhLmh0
bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDFiZmI4OGE4MThiM2YwZWI0MzJiNDIz
MWFjY2VkNzgyNTk0ODg0NDAuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLW5ldHdvcmst
cmVjZWl2ZWQtZGF0YS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNTcgKzAsMCBAQAotPGh0bWw+
Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0
b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNw
ZWN0b3IvdGltZWxpbmUtdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotCi12YXIgc2NyaXB0
VXJsID0gInRpbWVsaW5lLW5ldHdvcmstcmVzb3VyY2UuanMiOwotCi1mdW5jdGlvbiBwZXJmb3Jt
QWN0aW9ucygpIAotewotICAgIHZhciBpbWFnZSA9IG5ldyBJbWFnZSgpOwotICAgIGltYWdlLnNy
YyA9ICJyZXNvdXJjZXMvYW5JbWFnZS5wbmciOwotICAgIHZhciBzY3JpcHQgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJzY3JpcHQiKTsKLSAgICBzY3JpcHQuc3JjID0gc2NyaXB0VXJsOwotICAg
IGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoc2NyaXB0KTsKLX0KLQotZnVuY3Rpb24gdGVzdCgp
Ci17Ci0gICAgdmFyIHNjcmlwdFVybCA9ICJ0aW1lbGluZS1uZXR3b3JrLXJlc291cmNlLmpzIjsK
LQotICAgIHZhciBjYWxsZWRPbmNlOwotCi0gICAgSW5zcGVjdG9yVGVzdC5zdGFydFRpbWVsaW5l
KGZ1bmN0aW9uKCkgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJwZXJm
b3JtQWN0aW9ucygpIik7Ci0gICAgfSk7Ci0KLSAgICBJbnNwZWN0b3JUZXN0LndhaXRGb3JSZWNv
cmRUeXBlKCJSZXNvdXJjZVJlY2VpdmVkRGF0YSIsIGZpbmlzaCk7Ci0KLSAgICBmdW5jdGlvbiBm
aW5pc2gob2JqZWN0KQotICAgIHsKLSAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBvYmplY3QpIHsK
LSAgICAgICAgICAgIGlmICghSW5zcGVjdG9yVGVzdC50aW1lbGluZVByb3BlcnR5Rm9ybWF0dGVy
c1twcm9wXSkgewotICAgICAgICAgICAgICAgIGZvciAodmFyIHByb3BlcnR5IGluIG9iamVjdFtw
cm9wXSkgewotICAgICAgICAgICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJlbmNvZGVkRGF0
YUxlbmd0aCIpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICghY2FsbGVkT25jZSkgewot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhbGxlZE9uY2UgPSB0cnVlOwotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJSZXNvdXJjZSByZWNl
aXZlZCBkYXRhIGhhcyBsZW5ndGgsIHRlc3QgcGFzc2VkLiIpOwotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgICAgICAg
ICAgICAgIH0KLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAg
ICB9Ci19Ci0KLTwvc2NyaXB0PgotPC9oZWFkPgotCi08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+
Ci08cD4KLVRlc3RzIHRoZSBUaW1lbGluZSBBUEkgaW5zdHJ1bWVudGF0aW9uIG9mIGEgbmV0d29y
ayByZXNvdXJjZSByZWNlaXZlZCBkYXRhCi08L3A+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtbmV0d29yay1yZXNv
dXJjZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxp
bmUtbmV0d29yay1yZXNvdXJjZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDA3ODczYzRhMDJlZTM5YmRlNzNjMTVjNDc5Yzk5Y2QxMGMwMzY5MzcuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yL3RpbWVsaW5lL3RpbWVsaW5lLW5ldHdvcmstcmVzb3VyY2UtZXhwZWN0ZWQudHh0CisrKyAv
ZGV2L251bGwKQEAgLTEsNDkgKzAsMCBAQAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDc6IFNjcmlw
dCBldmFsdWF0ZWQKLVRlc3RzIHRoZSBUaW1lbGluZSBBUEkgaW5zdHJ1bWVudGF0aW9uIG9mIGEg
bmV0d29yayByZXNvdXJjZSBsb2FkCi0KLVNjcmlwdCByZXNvdXJjZSBsb2FkZWQKLQotUmVzb3Vy
Y2VTZW5kUmVxdWVzdCBQcm9wZXJ0aWVzOgotewotICAgIGNvdW50ZXJzIDogPG9iamVjdD4KLSAg
ICBkYXRhIDogewotICAgICAgICByZXF1ZXN0SWQgOiA8c3RyaW5nPgotICAgICAgICByZXF1ZXN0
TWV0aG9kIDogIkdFVCIKLSAgICAgICAgdXJsIDogPHN0cmluZz4KLSAgICB9Ci0gICAgZnJhbWVJ
ZCA6IDxzdHJpbmc+Ci0gICAgc3RhY2tUcmFjZSA6IDxvYmplY3Q+Ci0gICAgc3RhcnRUaW1lIDog
PG51bWJlcj4KLSAgICB0eXBlIDogIlJlc291cmNlU2VuZFJlcXVlc3QiCi0gICAgdXNlZEhlYXBT
aXplIDogPG51bWJlcj4KLX0KLQotUmVzb3VyY2VSZWNlaXZlUmVzcG9uc2UgUHJvcGVydGllczoK
LXsKLSAgICBjaGlsZHJlbiA6IDxvYmplY3Q+Ci0gICAgY291bnRlcnMgOiA8b2JqZWN0PgotICAg
IGRhdGEgOiB7Ci0gICAgICAgIG1pbWVUeXBlIDogPHN0cmluZz4KLSAgICAgICAgcmVxdWVzdElk
IDogPHN0cmluZz4KLSAgICAgICAgc3RhdHVzQ29kZSA6IDAKLSAgICB9Ci0gICAgZW5kVGltZSA6
IDxudW1iZXI+Ci0gICAgZnJhbWVJZCA6IDxzdHJpbmc+Ci0gICAgc3RhcnRUaW1lIDogPG51bWJl
cj4KLSAgICB0eXBlIDogIlJlc291cmNlUmVjZWl2ZVJlc3BvbnNlIgotICAgIHVzZWRIZWFwU2l6
ZSA6IDxudW1iZXI+Ci19Ci0KLVJlc291cmNlRmluaXNoIFByb3BlcnRpZXM6Ci17Ci0gICAgY291
bnRlcnMgOiA8b2JqZWN0PgotICAgIGRhdGEgOiB7Ci0gICAgICAgIGRpZEZhaWwgOiBmYWxzZQot
ICAgICAgICByZXF1ZXN0SWQgOiA8c3RyaW5nPgotICAgIH0KLSAgICBmcmFtZUlkIDogPHN0cmlu
Zz4KLSAgICBzdGFydFRpbWUgOiA8bnVtYmVyPgotICAgIHR5cGUgOiAiUmVzb3VyY2VGaW5pc2gi
Ci0gICAgdXNlZEhlYXBTaXplIDogPG51bWJlcj4KLX0KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLW5ldHdvcmstcmVzb3VyY2UuaHRtbCBiL0xh
eW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1uZXR3b3JrLXJlc291cmNlLmh0
bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRhMTJiNWIwMDNmZjFkZTRkMzE1ZGFh
YTU3Y2U1MTk4OWIyOWI5Y2EuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLW5ldHdvcmst
cmVzb3VyY2UuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDEwNCArMCwwIEBACi08aHRtbD4KLTxo
ZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10
ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rv
ci90aW1lbGluZS10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci0KLXZhciBzY3JpcHRVcmwg
PSAidGltZWxpbmUtbmV0d29yay1yZXNvdXJjZS5qcyI7Ci0KLWZ1bmN0aW9uIHBlcmZvcm1BY3Rp
b25zKCkgCi17Ci0gICAgdmFyIHNjcmlwdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNjcmlw
dCIpOwotICAgIHNjcmlwdC5zcmMgPSBzY3JpcHRVcmw7Ci0gICAgZG9jdW1lbnQuYm9keS5hcHBl
bmRDaGlsZChzY3JpcHQpOwotfQotCi1mdW5jdGlvbiB0ZXN0KCkKLXsKLSAgICB2YXIgcmVxdWVz
dElkOwotICAgIHZhciBzY3JpcHRVcmwgPSAidGltZWxpbmUtbmV0d29yay1yZXNvdXJjZS5qcyI7
Ci0KLSAgICBXZWJJbnNwZWN0b3Iuc2hvd1BhbmVsKCJ0aW1lbGluZSIpOwotICAgIHZhciBtb2Rl
bCA9IFdlYkluc3BlY3Rvci5wYW5lbHMudGltZWxpbmUuX21vZGVsOwotICAgIHZhciBwcmVzZW50
YXRpb25Nb2RlbCA9IFdlYkluc3BlY3Rvci5wYW5lbHMudGltZWxpbmUuX3ByZXNlbnRhdGlvbk1v
ZGVsOwotICAgIHByZXNlbnRhdGlvbk1vZGVsLnNldEdsdWVSZWNvcmRzKHRydWUpOwotCi0gICAg
SW5zcGVjdG9yVGVzdC5zdGFydFRpbWVsaW5lKHN0ZXAxKTsKLQotICAgIGZ1bmN0aW9uIHN0ZXAx
KCkKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoInBlcmZvcm1B
Y3Rpb25zKCkiKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRDb25zb2xlU25pZmZlcihzdGVw
Mik7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc3RlcDIoKQotICAgIHsKLSAgICAgICAgSW5zcGVj
dG9yVGVzdC5zdG9wVGltZWxpbmUoc3RlcDMpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0ZXAz
KCkKLSAgICB7Ci0gICAgICAgIHZhciBsYXN0UmVjb3JkU3RhcnRUaW1lOwotICAgICAgICBmdW5j
dGlvbiBmb3JtYXQocmVjb3JkKQotICAgICAgICB7Ci0gICAgICAgICAgICBpZiAocmVjb3JkLnR5
cGUgPT09IFdlYkluc3BlY3Rvci5UaW1lbGluZU1vZGVsLlJlY29yZFR5cGUuUmVzb3VyY2VTZW5k
UmVxdWVzdCkKLSAgICAgICAgICAgICAgICBwcmludFNlbmQocmVjb3JkLl9yZWNvcmQpOwotICAg
ICAgICAgICAgZWxzZSBpZiAocmVjb3JkLnR5cGUgPT09IFdlYkluc3BlY3Rvci5UaW1lbGluZU1v
ZGVsLlJlY29yZFR5cGUuUmVzb3VyY2VSZWNlaXZlUmVzcG9uc2UpCi0gICAgICAgICAgICAgICAg
cHJpbnRSZWNlaXZlKHJlY29yZC5fcmVjb3JkKTsKLSAgICAgICAgICAgIGVsc2UgaWYgKHJlY29y
ZC50eXBlID09PSBXZWJJbnNwZWN0b3IuVGltZWxpbmVNb2RlbC5SZWNvcmRUeXBlLlJlc291cmNl
RmluaXNoKQotICAgICAgICAgICAgICAgIHByaW50RmluaXNoKHJlY29yZC5fcmVjb3JkKTsKLQot
ICAgICAgICAgICAgaWYgKHJlY29yZC5wYXJlbnQgJiYgcmVjb3JkLnBhcmVudC50eXBlID09PSBX
ZWJJbnNwZWN0b3IuVGltZWxpbmVNb2RlbC5SZWNvcmRUeXBlLlJvb3QpIHsKLSAgICAgICAgICAg
ICAgICBpZiAobGFzdFJlY29yZFN0YXJ0VGltZSkKLSAgICAgICAgICAgICAgICAgICAgSW5zcGVj
dG9yVGVzdC5hc3NlcnRHcmVhdGVyT3JFcXVhbChyZWNvcmQuc3RhcnRUaW1lLCBsYXN0UmVjb3Jk
U3RhcnRUaW1lLCAiVG9wIGxldmVsIHJlY29yZHMgb3JkZXIgdmlvbGF0aW9uIik7Ci0gICAgICAg
ICAgICAgICAgbGFzdFJlY29yZFN0YXJ0VGltZSA9IHJlY29yZC5zdGFydFRpbWU7Ci0gICAgICAg
ICAgICB9Ci0gICAgICAgIH0KLSAgICAgICAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lUHJlc2VudGF0
aW9uTW9kZWwuZm9yQWxsUmVjb3JkcyhbcHJlc2VudGF0aW9uTW9kZWwucm9vdFJlY29yZCgpXSwg
Zm9ybWF0KTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKLSAgICB9Ci0K
LSAgICBmdW5jdGlvbiBwcmludFJlY29yZChyZWNvcmQpCi0gICAgewotICAgICAgICBJbnNwZWN0
b3JUZXN0LmFkZFJlc3VsdCgiIik7Ci0gICAgICAgIEluc3BlY3RvclRlc3QucHJpbnRUaW1lbGlu
ZVJlY29yZFByb3BlcnRpZXMocmVjb3JkKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBwcmludFNl
bmQocmVjb3JkKQotICAgIHsKLSAgICAgICAgcHJpbnRSZWNvcmQocmVjb3JkKTsKLSAgICAgICAg
cmVxdWVzdElkID0gcmVjb3JkLmRhdGEucmVxdWVzdElkOwotICAgICAgICBpZiAocmVjb3JkLmRh
dGEudXJsID09PSB1bmRlZmluZWQpIAotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1
bHQoIiogTm8gJ3VybCcgcHJvcGVydHkgaW4gcmVjb3JkIik7Ci0gICAgICAgIGVsc2UgaWYgKHJl
Y29yZC5kYXRhLnVybC5pbmRleE9mKHNjcmlwdFVybCkgPT09IC0xKQotICAgICAgICAgICAgSW5z
cGVjdG9yVGVzdC5hZGRSZXN1bHQoIiogRGlkbid0IGZpbmQgVVJMOiAiICsgc2NyaXB0VXJsKTsK
LSAgICB9Ci0KLSAgICBmdW5jdGlvbiBwcmludFJlY2VpdmUocmVjb3JkKQotICAgIHsKLSAgICAg
ICAgcHJpbnRSZWNvcmQocmVjb3JkKTsKLSAgICAgICAgaWYgKHJlcXVlc3RJZCAhPT0gcmVjb3Jk
LmRhdGEucmVxdWVzdElkKQotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIkRp
ZG4ndCBmaW5kIG1hdGNoaW5nIHJlcXVlc3RJZDogIiArIHJlcXVlc3RJZCk7Ci0gICAgICAgIGlm
IChyZWNvcmQuZGF0YS5zdGF0dXNDb2RlICE9PSAwKQotICAgICAgICAgICAgSW5zcGVjdG9yVGVz
dC5hZGRSZXN1bHQoIlJlc3BvbnNlIHJlY2VpdmVkIHN0YXR1czogIiArIHJlY29yZC5kYXRhLnN0
YXR1c0NvZGUpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHByaW50RmluaXNoKHJlY29yZCkKLSAg
ICB7Ci0gICAgICAgIHByaW50UmVjb3JkKHJlY29yZCk7Ci0gICAgICAgIGlmIChyZXF1ZXN0SWQg
IT09IHJlY29yZC5kYXRhLnJlcXVlc3RJZCkKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRk
UmVzdWx0KCJEaWRuJ3QgZmluZCBtYXRjaGluZyByZXF1ZXN0SWQ6ICIgKyByZXF1ZXN0SWQpOwot
ICAgICAgICBpZiAocmVjb3JkLmRhdGEuZGlkRmFpbCkKLSAgICAgICAgICAgIEluc3BlY3RvclRl
c3QuYWRkUmVzdWx0KCJSZXF1ZXN0IGZhaWxlZC4iKTsKLSAgICB9Ci19Ci0KLTwvc2NyaXB0Pgot
PC9oZWFkPgotCi08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci08cD4KLVRlc3RzIHRoZSBUaW1l
bGluZSBBUEkgaW5zdHJ1bWVudGF0aW9uIG9mIGEgbmV0d29yayByZXNvdXJjZSBsb2FkCi08L3A+
Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGlt
ZWxpbmUvdGltZWxpbmUtbmV0d29yay1yZXNvdXJjZS5qcyBiL0xheW91dFRlc3RzL2luc3BlY3Rv
ci90aW1lbGluZS90aW1lbGluZS1uZXR3b3JrLXJlc291cmNlLmpzCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCA1NDg5NzZlMDAxOWZhMTAxOGFjZTBlNzUxNWY2YTNiYTAwOWRmOWRkLi4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2luc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1uZXR3b3JrLXJlc291cmNlLmpzCisrKyAvZGV2
L251bGwKQEAgLTEsNyArMCwwIEBACi0vLyBTYW1wbGUgc2NyaXB0IHJlc291cmNlIHRvIGZpbmQg
aW4gdGltZWxpbmUgZGF0YQotCi12YXIgZWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
ImRpdiIpOwotZWxlbWVudC5pbm5lckhUTUwgPSAiU2NyaXB0IHJlc291cmNlIGxvYWRlZCI7Ci1k
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGVsZW1lbnQpOwotCi1jb25zb2xlLmxvZygiU2NyaXB0
IGV2YWx1YXRlZCIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5l
L3RpbWVsaW5lLXBhaW50LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1l
bGluZS90aW1lbGluZS1wYWludC1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDE1OGJlZWE3YTc2NGVkMGIzZGQ2NmU5OTM5MmRkMWFhZGNkYWY1OWUuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yL3RpbWVsaW5lL3RpbWVsaW5lLXBhaW50LWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBA
IC0xLDE4ICswLDAgQEAKLVRlc3RzIHRoZSBUaW1lbGluZSBBUEkgaW5zdHJ1bWVudGF0aW9uIG9m
IGEgcGFpbnQgZXZlbnQKLQotCi1QYWludCBQcm9wZXJ0aWVzOgotewotICAgIGNoaWxkcmVuIDog
PG9iamVjdD4KLSAgICBjb3VudGVycyA6IDxvYmplY3Q+Ci0gICAgZGF0YSA6IHsKLSAgICAgICAg
Y2xpcCA6IDxvYmplY3Q+Ci0gICAgfQotICAgIGVuZFRpbWUgOiA8bnVtYmVyPgotICAgIGZyYW1l
SWQgOiA8c3RyaW5nPgotICAgIHN0YWNrVHJhY2UgOiA8b2JqZWN0PgotICAgIHN0YXJ0VGltZSA6
IDxudW1iZXI+Ci0gICAgdHlwZSA6ICJQYWludCIKLSAgICB1c2VkSGVhcFNpemUgOiA8bnVtYmVy
PgotfQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxp
bmUtcGFpbnQuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1w
YWludC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3NzhlZDU2NDBiMTQ3ZDc5
NmRlZWU5NDAxOWIwYmE3YTg5N2YzNDE3Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1w
YWludC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNzkgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4K
LTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvdGlt
ZWxpbmUtdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotCi1mdW5jdGlvbiBkaXNwbGF5KCkK
LXsKLSAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgIHRlc3RSdW5uZXIuZGlzcGxh
eSgpOwotfQotCi1mdW5jdGlvbiB1cGRhdGVTdWJmcmFtZUFuZERpc3BsYXkoKQotewotICAgIGZy
YW1lc1swXS5kb2N1bWVudC5ib2R5LmNoaWxkcmVuWzBdLnN0eWxlLmJhY2tncm91bmRDb2xvciA9
ICJncmVlbiI7Ci0gICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICB0ZXN0UnVubmVy
LmRpc3BsYXlJbnZhbGlkYXRlZFJlZ2lvbigpOwotfQotCi1mdW5jdGlvbiB0ZXN0KCkKLXsKLSAg
ICBzdGVwMSgpOwotCi0gICAgZnVuY3Rpb24gc3RlcDEoKQotICAgIHsKLSAgICAgICAgSW5zcGVj
dG9yVGVzdC5ldmFsdWF0ZVdpdGhUaW1lbGluZSgiZGlzcGxheSgpIiwgc3RlcDIpOwotICAgIH0K
LQotICAgIGZ1bmN0aW9uIHN0ZXAyKHJlY29yZHMpCi0gICAgewotICAgICAgICBmb3IgKHZhciBp
ID0gMDsgaSA8IHJlY29yZHMubGVuZ3RoOyArK2kpIHsKLSAgICAgICAgICAgIHZhciByZWNvcmQg
PSByZWNvcmRzW2ldOwotICAgICAgICAgICAgaWYgKHJlY29yZC50eXBlID09PSBXZWJJbnNwZWN0
b3IuVGltZWxpbmVNb2RlbC5SZWNvcmRUeXBlLlBhaW50KSB7Ci0gICAgICAgICAgICAgICAgSW5z
cGVjdG9yVGVzdC5wcmludFRpbWVsaW5lUmVjb3JkUHJvcGVydGllcyhyZWNvcmQpOwotICAgICAg
ICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgfQotICAgICAgICB9Ci0gICAgICAgIEluc3Bl
Y3RvclRlc3QuZXZhbHVhdGVXaXRoVGltZWxpbmUoInVwZGF0ZVN1YmZyYW1lQW5kRGlzcGxheSgp
Iiwgc3RlcDMpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0ZXAzKHJlY29yZHMpCi0gICAgewot
ICAgICAgICB2YXIgcGFpbnRSZWNvcmQ7Ci0gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcmVj
b3Jkcy5sZW5ndGg7ICsraSkgewotICAgICAgICAgICAgdmFyIHJlY29yZCA9IHJlY29yZHNbaV07
Ci0gICAgICAgICAgICBpZiAocmVjb3JkLnR5cGUgPT09IFdlYkluc3BlY3Rvci5UaW1lbGluZU1v
ZGVsLlJlY29yZFR5cGUuUGFpbnQgJiYgcmVjb3JkLmNoaWxkcmVuICYmIHJlY29yZC5jaGlsZHJl
bi5sZW5ndGgpIHsKLSAgICAgICAgICAgICAgICBwYWludFJlY29yZCA9IHJlY29yZDsKLSAgICAg
ICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQotICAgICAgICBJbnNw
ZWN0b3JUZXN0LmFzc2VydFRydWUocGFpbnRSZWNvcmQsICJQYWludCByZWNvcmQgd2l0aCBzdWJm
cmFtZSBwYWludCBub3QgZm91bmQiKTsKLSAgICAgICAgdmFyIHRvcFF1YWQgPSBwYWludFJlY29y
ZC5kYXRhLmNsaXA7Ci0gICAgICAgIHZhciBzdWJmcmFtZVBhaW50ID0gcGFpbnRSZWNvcmQuY2hp
bGRyZW5bMF07Ci0gICAgICAgIHZhciBzdWJmcmFtZVF1YWQgPSBzdWJmcmFtZVBhaW50LmRhdGEu
Y2xpcDsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRFcXVhbHMoOCwgdG9wUXVhZC5sZW5n
dGgpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydEVxdWFscyg4LCBzdWJmcmFtZVF1YWQu
bGVuZ3RoKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRHcmVhdGVyT3JFcXVhbChzdWJm
cmFtZVF1YWRbMF0sIHRvcFF1YWRbMF0pOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydEdy
ZWF0ZXJPckVxdWFsKHN1YmZyYW1lUXVhZFsxXSwgdG9wUXVhZFsxXSk7Ci0gICAgICAgIEluc3Bl
Y3RvclRlc3QuYXNzZXJ0R3JlYXRlck9yRXF1YWwodG9wUXVhZFsyXSwgc3ViZnJhbWVRdWFkWzJd
KTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRHcmVhdGVyT3JFcXVhbChzdWJmcmFtZVF1
YWRbM10sIHRvcFF1YWRbM10pOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydEdyZWF0ZXJP
ckVxdWFsKHRvcFF1YWRbNF0sIHN1YmZyYW1lUXVhZFs0XSk7Ci0gICAgICAgIEluc3BlY3RvclRl
c3QuYXNzZXJ0R3JlYXRlck9yRXF1YWwodG9wUXVhZFs1XSwgc3ViZnJhbWVRdWFkWzVdKTsKLSAg
ICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRHcmVhdGVyT3JFcXVhbChzdWJmcmFtZVF1YWRbNl0s
IHRvcFF1YWRbNl0pOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydEdyZWF0ZXJPckVxdWFs
KHRvcFF1YWRbN10sIHN1YmZyYW1lUXVhZFs3XSk7Ci0KLSAgICAgICAgSW5zcGVjdG9yVGVzdC5j
b21wbGV0ZVRlc3QoKTsKLSAgICB9Ci19Ci0KLTwvc2NyaXB0PgotPC9oZWFkPgotCi08Ym9keSBv
bmxvYWQ9InJ1blRlc3QoKSI+Ci08cD4KLVRlc3RzIHRoZSBUaW1lbGluZSBBUEkgaW5zdHJ1bWVu
dGF0aW9uIG9mIGEgcGFpbnQgZXZlbnQKLTwvcD4KLTxpZnJhbWUgc3JjPSJyZXNvdXJjZXMvdGlt
ZWxpbmUtaWZyYW1lLXBhaW50Lmh0bWwiIHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6
IDQwcHg7IHRvcDogNDBweDsgd2lkdGg6IDEwMHB4OyBoZWlnaHQ6IDEwMHB4OyBib3JkZXI6IG5v
bmUiPjwvaWZyYW1lPgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLXBhcnNlLWh0bWwtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLXBhcnNlLWh0bWwtZXhwZWN0ZWQu
dHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwZjhkNzNiOTU2NjE3OTg1OGFmMjUx
NjYyM2VjYzg0OTNiNDI4Zjc2Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1wYXJzZS1o
dG1sLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDM0ICswLDAgQEAKLVRlc3RzIHRo
ZSBUaW1lbGluZSBBUEkgaW5zdHJ1bWVudGF0aW9uIG9mIFBhcnNlSFRNTAotCi1UZXN0IGRhdGEK
LVBhcnNlSFRNTCBQcm9wZXJ0aWVzOgotewotICAgIGNoaWxkcmVuIDogPG9iamVjdD4KLSAgICBj
b3VudGVycyA6IDxvYmplY3Q+Ci0gICAgZGF0YSA6IHsKLSAgICAgICAgZW5kTGluZSA6IDAKLSAg
ICAgICAgc3RhcnRMaW5lIDogMAotICAgIH0KLSAgICBlbmRUaW1lIDogPG51bWJlcj4KLSAgICBm
cmFtZUlkIDogPHN0cmluZz4KLSAgICBzdGFja1RyYWNlIDogPG9iamVjdD4KLSAgICBzdGFydFRp
bWUgOiA8bnVtYmVyPgotICAgIHR5cGUgOiAiUGFyc2VIVE1MIgotICAgIHVzZWRIZWFwU2l6ZSA6
IDxudW1iZXI+Ci19Ci1QYXJzZUhUTUwgUHJvcGVydGllczoKLXsKLSAgICBjaGlsZHJlbiA6IDxv
YmplY3Q+Ci0gICAgY291bnRlcnMgOiA8b2JqZWN0PgotICAgIGRhdGEgOiB7Ci0gICAgICAgIGVu
ZExpbmUgOiAwCi0gICAgICAgIHN0YXJ0TGluZSA6IDAKLSAgICB9Ci0gICAgZW5kVGltZSA6IDxu
dW1iZXI+Ci0gICAgZnJhbWVJZCA6IDxzdHJpbmc+Ci0gICAgc3RhY2tUcmFjZSA6IDxvYmplY3Q+
Ci0gICAgc3RhcnRUaW1lIDogPG51bWJlcj4KLSAgICB0eXBlIDogIlBhcnNlSFRNTCIKLSAgICB1
c2VkSGVhcFNpemUgOiA8bnVtYmVyPgotfQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtcGFyc2UtaHRtbC5odG1sIGIvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLXBhcnNlLWh0bWwuaHRtbApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggNjI2MjFhNGY2MzU0MWFkZjQ3NGEzYjE1ZmJmYTg1MGUzZDczZTAzNC4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtcGFyc2UtaHRtbC5odG1sCisrKyAvZGV2L251
bGwKQEAgLTEsMjggKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9o
dHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUtdGVzdC5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0PgotCi1mdW5jdGlvbiBwZXJmb3JtQWN0aW9ucygpCi17Ci0gICAgdmFyIGVs
ZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKLSAgICBlbGVtZW50LmlubmVy
SFRNTCA9ICJUZXN0IGRhdGEiOwotICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZWxlbWVu
dCk7Ci19Ci0KLWZ1bmN0aW9uIHRlc3QoKQotewotICAgIEluc3BlY3RvclRlc3QucGVyZm9ybUFj
dGlvbnNBbmRQcmludCgicGVyZm9ybUFjdGlvbnMoKSIsICJQYXJzZUhUTUwiKTsKLX0KLQotPC9z
Y3JpcHQ+Ci08L2hlYWQ+Ci0KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxwPgotVGVzdHMg
dGhlIFRpbWVsaW5lIEFQSSBpbnN0cnVtZW50YXRpb24gb2YgUGFyc2VIVE1MIAotPC9wPgotCi08
L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxp
bmUvdGltZWxpbmUtcmVjYWxjdWxhdGUtc3R5bGVzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2luc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1yZWNhbGN1bGF0ZS1zdHlsZXMtZXhwZWN0ZWQu
dHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlMzc5M2U5YjRkZWJkNDIxNzNjMmNm
ZDhiNzQzNWY5ZmY5NWQ4MWYyLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1yZWNhbGN1
bGF0ZS1zdHlsZXMtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTYgKzAsMCBAQAot
VGVzdHMgdGhlIFRpbWVsaW5lIEFQSSBpbnN0cnVtZW50YXRpb24gb2YgYSBzdHlsZSByZWNhbGN1
bGF0aW9uIGV2ZW50Ci0KLVRlc3QgZGF0YQotUmVjYWxjdWxhdGVTdHlsZXMgUHJvcGVydGllczoK
LXsKLSAgICBjaGlsZHJlbiA6IDxvYmplY3Q+Ci0gICAgY291bnRlcnMgOiA8b2JqZWN0PgotICAg
IGRhdGEgOiB7Ci0gICAgfQotICAgIGVuZFRpbWUgOiA8bnVtYmVyPgotICAgIGZyYW1lSWQgOiA8
c3RyaW5nPgotICAgIHN0YXJ0VGltZSA6IDxudW1iZXI+Ci0gICAgdHlwZSA6ICJSZWNhbGN1bGF0
ZVN0eWxlcyIKLSAgICB1c2VkSGVhcFNpemUgOiA8bnVtYmVyPgotfQotCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtcmVjYWxjdWxhdGUtc3R5bGVz
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtcmVjYWxjdWxh
dGUtc3R5bGVzLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDU3NmEzNzMwZWEz
MmY1OTkxMzliMTgyN2FiY2JiNDYwNTA3MTRjZGQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVs
aW5lLXJlY2FsY3VsYXRlLXN0eWxlcy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMzYgKzAsMCBA
QAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rv
ci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90
ZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUtdGVzdC5qcyI+PC9zY3JpcHQ+Ci0KLTxzdHlsZT4KLS50
ZXN0LXN0eWxlIHsKLSAgICBjb2xvcjogcmVkOwotfQotPC9zdHlsZT4KLQotPHNjcmlwdD4KLQot
ZnVuY3Rpb24gcGVyZm9ybUFjdGlvbnMoKQotewotICAgIHZhciBlbGVtZW50ID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgiZGl2Iik7Ci0gICAgZWxlbWVudC5jbGFzc05hbWUgPSAidGVzdC1zdHls
ZSI7Ci0gICAgZWxlbWVudC5pbm5lckhUTUwgPSAiVGVzdCBkYXRhIjsKLSAgICBkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKGVsZW1lbnQpOwotfQotCi1mdW5jdGlvbiB0ZXN0KCkKLXsKLSAgICBJ
bnNwZWN0b3JUZXN0LnBlcmZvcm1BY3Rpb25zQW5kUHJpbnQoInBlcmZvcm1BY3Rpb25zKCkiLCAi
UmVjYWxjdWxhdGVTdHlsZXMiKTsKLX0KLQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci0KLTxib2R5IG9u
bG9hZD0icnVuVGVzdCgpIj4KLTxwPgotVGVzdHMgdGhlIFRpbWVsaW5lIEFQSSBpbnN0cnVtZW50
YXRpb24gb2YgYSBzdHlsZSByZWNhbGN1bGF0aW9uIGV2ZW50Ci08L3A+Ci0KLTwvYm9keT4KLTwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS90aW1lbGlu
ZS1yZWNlaXZlLXJlc3BvbnNlLWV2ZW50LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci90aW1lbGluZS90aW1lbGluZS1yZWNlaXZlLXJlc3BvbnNlLWV2ZW50LWV4cGVjdGVkLnR4
dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYWQ5ZmE2YzMyYjY0ZTY0YzUzMWZkYWQ5
ODRkZjM1MWY2NTZjZGMwZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtcmVjZWl2ZS1y
ZXNwb25zZS1ldmVudC1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxNyArMCwwIEBA
Ci1UZXN0cyB0aGUgVGltZWxpbmUgQVBJIGluc3RydW1lbnRhdGlvbiBvZiBhIFNlbmRSZXF1ZXN0
LCBSZWNlaXZlUmVzcG9uc2UgZXRjLgotCi1GdW5jdGlvbkNhbGwKLUZ1bmN0aW9uQ2FsbAotUmVz
b3VyY2VTZW5kUmVxdWVzdAotICAgIFJlc291cmNlUmVjZWl2ZVJlc3BvbnNlCi0gICAgUmVzb3Vy
Y2VSZWNlaXZlZERhdGEKLSAgICBSZXNvdXJjZUZpbmlzaAotRXZlbnREaXNwYXRjaAotICAgIEZ1
bmN0aW9uQ2FsbAotUmVzb3VyY2VTZW5kUmVxdWVzdAotICAgIFJlc291cmNlUmVjZWl2ZVJlc3Bv
bnNlCi0gICAgUmVzb3VyY2VSZWNlaXZlZERhdGEKLSAgICBSZXNvdXJjZUZpbmlzaAotRXZlbnRE
aXNwYXRjaAotICAgIEZ1bmN0aW9uQ2FsbAotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtcmVjZWl2ZS1yZXNwb25zZS1ldmVudC5odG1sIGIvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLXJlY2VpdmUtcmVzcG9uc2UtZXZl
bnQuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjZhZDYyMjI1ODY1ZTBhNDE5
ZWJlMjA0ZmZlNjIyNDE5MDNlMmJmZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtcmVj
ZWl2ZS1yZXNwb25zZS1ldmVudC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNzcgKzAsMCBAQAot
PGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9p
bnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0
cy9pbnNwZWN0b3IvdGltZWxpbmUtdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotCi1mdW5j
dGlvbiBwZXJmb3JtQWN0aW9ucygpCi17Ci0gICAgdmFyIGltYWdlID0gbmV3IEltYWdlKCk7Ci0g
ICAgaW1hZ2Uub25sb2FkID0gYmFyOwotICAgIGltYWdlLnNyYyA9ICJyZXNvdXJjZXMvYW5JbWFn
ZS5wbmciOwotCi0gICAgZnVuY3Rpb24gYmFyKCkgewotICAgICAgICB2YXIgaW1hZ2UgPSBuZXcg
SW1hZ2UoKTsKLSAgICAgICAgaW1hZ2Uub25sb2FkID0gZnVuY3Rpb24oKSB7IHRlc3RSdW5uZXIu
ZXZhbHVhdGVJbldlYkluc3BlY3RvcigwLCAid2luZG93LnN0ZXAyKCkiKTsgfQotICAgICAgICBp
bWFnZS5zcmMgPSAicmVzb3VyY2VzL2Fub3RoZXJJbWFnZS5wbmciOwotICAgIH0KLX0KLQotZnVu
Y3Rpb24gdGVzdCgpCi17Ci0gICAgV2ViSW5zcGVjdG9yLnNob3dQYW5lbCgidGltZWxpbmUiKTsK
LSAgICBXZWJJbnNwZWN0b3IucGFuZWxzLnRpbWVsaW5lLl9tb2RlbC5fY29sbGVjdGlvbkVuYWJs
ZWQgPSB0cnVlOwotICAgIFdlYkluc3BlY3Rvci5wYW5lbHMudGltZWxpbmUuX3ByZXNlbnRhdGlv
bk1vZGVsLnNldEdsdWVSZWNvcmRzKHRydWUpOwotICAgIFdlYkluc3BlY3Rvci5wYW5lbHMudGlt
ZWxpbmUuX21vZGVsLl9jb2xsZWN0aW9uRW5hYmxlZCA9IHRydWU7Ci0KLSAgICBUaW1lbGluZUFn
ZW50LnN0YXJ0KHN0ZXAxKTsKLQotICAgIGZ1bmN0aW9uIHN0ZXAxKCkKLSAgICB7Ci0gICAgICAg
IEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoInBlcmZvcm1BY3Rpb25zKCkiKTsKLSAgICB9
Ci0KLSAgICB3aW5kb3cuc3RlcDIgPSBmdW5jdGlvbigpCi0gICAgewotICAgICAgICBUaW1lbGlu
ZUFnZW50LnN0b3Aoc3RlcDMpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0ZXAzKCkKLSAgICB7
Ci0gICAgICAgIGZ1bmN0aW9uIGR1bXBGb3JtYXR0ZWRSZWNvcmQocmVjb3JkLCBwcmVmaXgpCi0g
ICAgICAgIHsKLSAgICAgICAgICAgICBwcmVmaXggPSBwcmVmaXggfHwgIiI7Ci0gICAgICAgICAg
ICAgLy8gSGVyZSBhbmQgYmVsb3c6IHByZXRlbmQgY29hbGVzY2VkIHJlY29yZCBhcmUganVzdCBu
b3QgdGhlcmUsIGFzIGNvYWxlc2NhdGlvbiBpcyB0aW1lIGRlcGVuZGVudCBhbmQsIGhlbmNlLCBu
b3Qgc3RhYmxlLgotICAgICAgICAgICAgIGlmICghcmVjb3JkLmNvYWxlc2NlZCAmJiByZWNvcmQu
dHlwZSAhPT0gIkdDRXZlbnQiKQotICAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJl
c3VsdChwcmVmaXggKyByZWNvcmQudHlwZSk7Ci0gICAgICAgICAgICAgLy8gSWdub3JlIHN0cmF5
IHBhaW50ICYgcmVuZGVyaW5nIGV2ZW50cyBmb3IgYmV0dGVyIHN0YWJpbGl0eS4KLSAgICAgICAg
ICAgICBpZiAocmVjb3JkLmNhdGVnb3J5Lm5hbWUgIT09ICJsb2FkaW5nIiAmJiByZWNvcmQuY2F0
ZWdvcnkubmFtZSAhPT0gInNjcmlwdGluZyIpCi0gICAgICAgICAgICAgICAgIHJldHVybjsKLSAg
ICAgICAgICAgICBpZiAocmVjb3JkLl9jaGlsZHJlbikgewotICAgICAgICAgICAgICAgICB2YXIg
Y2hpbGRQcmVmaXggPSBwcmVmaXggKyAocmVjb3JkLmNvYWxlc2NlZCA/ICIiIDogIiAgICAiKTsK
LSAgICAgICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCByZWNvcmQuX2NoaWxkcmVuLmxl
bmd0aDsgKytpKQotICAgICAgICAgICAgICAgICAgICAgZHVtcEZvcm1hdHRlZFJlY29yZChyZWNv
cmQuX2NoaWxkcmVuW2ldLCBjaGlsZFByZWZpeCk7Ci0gICAgICAgICAgICAgfQotICAgICAgICB9
Ci0gICAgICAgIFdlYkluc3BlY3Rvci5wYW5lbHMudGltZWxpbmUuX21vZGVsLl9jb2xsZWN0aW9u
RW5hYmxlZCA9IGZhbHNlOwotCi0gICAgICAgIHZhciByZWNvcmRzID0gV2ViSW5zcGVjdG9yLnBh
bmVscy50aW1lbGluZS5fcm9vdFJlY29yZCgpLmNoaWxkcmVuOwotICAgICAgICBmb3IgKHZhciBp
ID0gMDsgaSA8IHJlY29yZHMubGVuZ3RoOyArK2kpCi0gICAgICAgICAgICBkdW1wRm9ybWF0dGVk
UmVjb3JkKHJlY29yZHNbaV0pOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgp
OwotICAgIH0KLX0KLQotaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKLSAgICBzZXRUaW1lb3V0KHBl
cmZvcm1BY3Rpb25zLCAzMDAwKTsKLQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci0KLTxib2R5IG9ubG9h
ZD0icnVuVGVzdCgpIj4KLTxwPgotVGVzdHMgdGhlIFRpbWVsaW5lIEFQSSBpbnN0cnVtZW50YXRp
b24gb2YgYSBTZW5kUmVxdWVzdCwgUmVjZWl2ZVJlc3BvbnNlIGV0Yy4KLTwvcD4KLQotPC9ib2R5
PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lL3Rp
bWVsaW5lLXNjcmlwdC10YWctMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Iv
dGltZWxpbmUvdGltZWxpbmUtc2NyaXB0LXRhZy0xLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMTFlNDU1NzAyYTNmZGY1ODExYmYxM2RhNDhhYzg0ZGYzODJlMTNm
MS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtc2NyaXB0LXRhZy0xLWV4cGVjdGVkLnR4
dAorKysgL2Rldi9udWxsCkBAIC0xLDI0ICswLDAgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSA4
OiBpZnJhbWUgbG9hZGVkCi1UZXN0cyB0aGUgVGltZWxpbmUgQVBJIGluc3RydW1lbnRhdGlvbiBv
ZiBhbiBIVE1MIHNjcmlwdCB0YWcuCi0KLQotUGFyc2VIVE1MCi1QYXJzZUhUTUwKLS0tLS0+IEV2
YWx1YXRlU2NyaXB0Ci0tLS0tLS0tLT4gVGltZVN0YW1wIDogU0NSSVBUIFRBRwotRXZhbHVhdGVT
Y3JpcHQgUHJvcGVydGllczoKLXsKLSAgICBjaGlsZHJlbiA6IDxvYmplY3Q+Ci0gICAgY291bnRl
cnMgOiA8b2JqZWN0PgotICAgIGRhdGEgOiB7Ci0gICAgICAgIGxpbmVOdW1iZXIgOiA8bnVtYmVy
PgotICAgICAgICB1cmwgOiA8c3RyaW5nPgotICAgIH0KLSAgICBlbmRUaW1lIDogPG51bWJlcj4K
LSAgICBmcmFtZUlkIDogPHN0cmluZz4KLSAgICBzdGFydFRpbWUgOiA8bnVtYmVyPgotICAgIHR5
cGUgOiAiRXZhbHVhdGVTY3JpcHQiCi0gICAgdXNlZEhlYXBTaXplIDogPG51bWJlcj4KLX0KLVBh
cnNlSFRNTAotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvdGlt
ZWxpbmUtc2NyaXB0LXRhZy0xLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUv
dGltZWxpbmUtc2NyaXB0LXRhZy0xLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDdmYTI4MWM1YWQ1NjJkZDRmYmRlZjIwOGI1MzY4ZjUyYjI2NDQ2MTAuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3Rp
bWVsaW5lL3RpbWVsaW5lLXNjcmlwdC10YWctMS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNTgg
KzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2lu
c3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4v
aHR0cC90ZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUtdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
PgotCi1mdW5jdGlvbiBwZXJmb3JtQWN0aW9ucygpCi17Ci0gICAgdmFyIGlmcmFtZSA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoImlmcmFtZSIpOwotICAgIGlmcmFtZS5zcmMgPSAicmVzb3VyY2Vz
L3RpbWVsaW5lLWlmcmFtZS1kYXRhLmh0bWwiOwotICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQoaWZyYW1lKTsKLX0KLQotZnVuY3Rpb24gdGVzdCgpIAotewotICAgIEluc3BlY3RvclRlc3Qu
c3RhcnRUaW1lbGluZShzdGVwMSk7Ci0gICAgZnVuY3Rpb24gc3RlcDEoKQotICAgIHsKLSAgICAg
ICAgSW5zcGVjdG9yVGVzdC5hZGRDb25zb2xlU25pZmZlcihzdGVwMik7Ci0gICAgICAgIEluc3Bl
Y3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoInBlcmZvcm1BY3Rpb25zKCkiKTsKLSAgICB9Ci0KLSAg
ICBmdW5jdGlvbiBzdGVwMigpCi0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LnN0b3BUaW1l
bGluZShzdGVwMyk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc3RlcDMoKQotICAgIHsKLSAgICAg
ICAgZnVuY3Rpb24gZm9ybWF0KHJlY29yZCkKLSAgICAgICAgewotICAgICAgICAgICAgaWYgKHJl
Y29yZC50eXBlID09PSBXZWJJbnNwZWN0b3IuVGltZWxpbmVNb2RlbC5SZWNvcmRUeXBlLkV2YWx1
YXRlU2NyaXB0KQotICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QucHJpbnRUaW1lbGluZVJl
Y29yZFByb3BlcnRpZXMocmVjb3JkKTsKLSAgICAgICAgICAgIGVsc2UgaWYgKHJlY29yZC50eXBl
ID09PSBXZWJJbnNwZWN0b3IuVGltZWxpbmVNb2RlbC5SZWNvcmRUeXBlLlBhcnNlSFRNTCkgewot
ICAgICAgICAgICAgICAgIHZhciBjaGlsZHJlbiA9IFtdOwotICAgICAgICAgICAgICAgIGZvciAo
dmFyIGkgPSAwOyBpIDwgcmVjb3JkLmNoaWxkcmVuLmxlbmd0aDsgKytpKSB7Ci0gICAgICAgICAg
ICAgICAgICAgIGlmIChyZWNvcmQuY2hpbGRyZW5baV0udHlwZSAhPT0gV2ViSW5zcGVjdG9yLlRp
bWVsaW5lTW9kZWwuUmVjb3JkVHlwZS5SZWNhbGN1bGF0ZVN0eWxlcykKLSAgICAgICAgICAgICAg
ICAgICAgICAgIGNoaWxkcmVuLnB1c2gocmVjb3JkLmNoaWxkcmVuW2ldKTsKLSAgICAgICAgICAg
ICAgICB9Ci0gICAgICAgICAgICAgICAgcmVjb3JkLmNoaWxkcmVuID0gY2hpbGRyZW47Ci0gICAg
ICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wVGltZWxpbmVSZWNvcmQocmVjb3JkKTsKLSAg
ICAgICAgICAgIH0KLSAgICAgICAgfQotICAgICAgICBJbnNwZWN0b3JUZXN0LnByaW50VGltZWxp
bmVSZWNvcmRzKG51bGwsIGZvcm1hdCk7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVU
ZXN0KCk7Ci0gICAgfQotfQotCi08L3NjcmlwdD4KLTwvaGVhZD4KLQotPGJvZHkgb25sb2FkPSJy
dW5UZXN0KCkiPgotPHA+Ci1UZXN0cyB0aGUgVGltZWxpbmUgQVBJIGluc3RydW1lbnRhdGlvbiBv
ZiBhbiBIVE1MIHNjcmlwdCB0YWcuCi08L3A+Ci0KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1zY3JpcHQtdGFnLTIt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLXNj
cmlwdC10YWctMi1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM0
MDZhOTI2ZTYxYTMwMDUyNjg5OGUzMDQyMDlmYmIyZTY3Nzk0MzQuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVs
aW5lL3RpbWVsaW5lLXNjcmlwdC10YWctMi1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAt
MSwxOCArMCwwIEBACi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTogU0NSSVBUIFRBRwotVGVzdHMg
dGhlIFRpbWVsaW5lIEFQSSBpbnN0cnVtZW50YXRpb24gb2YgYSBzY3JpcHQgdGFnIHdpdGggYW4g
ZXh0ZXJuYWwgc2NyaXB0LgotCi1FdmFsdWF0ZVNjcmlwdCBQcm9wZXJ0aWVzOgotewotICAgIGNo
aWxkcmVuIDogPG9iamVjdD4KLSAgICBjb3VudGVycyA6IDxvYmplY3Q+Ci0gICAgZGF0YSA6IHsK
LSAgICAgICAgbGluZU51bWJlciA6IDxudW1iZXI+Ci0gICAgICAgIHVybCA6IDxzdHJpbmc+Ci0g
ICAgfQotICAgIGVuZFRpbWUgOiA8bnVtYmVyPgotICAgIGZyYW1lSWQgOiA8c3RyaW5nPgotICAg
IHN0YXJ0VGltZSA6IDxudW1iZXI+Ci0gICAgdHlwZSA6ICJFdmFsdWF0ZVNjcmlwdCIKLSAgICB1
c2VkSGVhcFNpemUgOiA8bnVtYmVyPgotfQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtc2NyaXB0LXRhZy0yLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtc2NyaXB0LXRhZy0yLmh0bWwKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDhmNmJlYWJlOWI2Mzg0ZjM0YzNkNTRkOTcyMDhkZGZhMDBjMmZk
MTIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLXNjcmlwdC10YWctMi5odG1sCisrKyAv
ZGV2L251bGwKQEAgLTEsNDQgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIu
Li8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUtdGVzdC5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0PgotCi1mdW5jdGlvbiBwZXJmb3JtQWN0aW9ucygpCi17Ci0gICAg
dmFyIHNjcmlwdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpOwotICAgIHNjcmlw
dC5zcmMgPSAidGltZWxpbmUtc2NyaXB0LXRhZy0yLmpzIjsKLSAgICBkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHNjcmlwdCk7Ci19Ci0KLWZ1bmN0aW9uIHRlc3QoKSAKLXsKLSAgICBJbnNwZWN0
b3JUZXN0LnN0YXJ0VGltZWxpbmUoc3RlcDEpOwotICAgIGZ1bmN0aW9uIHN0ZXAxKCkKLSAgICB7
Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkQ29uc29sZVNuaWZmZXIoc3RlcDIpOwotICAgICAg
ICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJwZXJmb3JtQWN0aW9ucygpIik7Ci0gICAg
fQotCi0gICAgZnVuY3Rpb24gc3RlcDIoKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5z
dG9wVGltZWxpbmUoc3RlcDMpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0ZXAzKCkKLSAgICB7
Ci0gICAgICAgIEluc3BlY3RvclRlc3QucHJpbnRUaW1lbGluZVJlY29yZHMoIkV2YWx1YXRlU2Ny
aXB0Iik7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7Ci0gICAgfQotfQot
Ci08L3NjcmlwdD4KLTwvaGVhZD4KLQotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotPHA+Ci1U
ZXN0cyB0aGUgVGltZWxpbmUgQVBJIGluc3RydW1lbnRhdGlvbiBvZiBhIHNjcmlwdCB0YWcgd2l0
aCBhbiBleHRlcm5hbCBzY3JpcHQuCi08L3A+Ci0KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1zY3JpcHQtdGFnLTIu
anMgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtc2NyaXB0LXRhZy0y
LmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5MDU3YTM3M2ZlNTUwMDM1YTMxZjJk
NDIwZmI2MGQ4NDUyZDIyZGVlLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1zY3JpcHQt
dGFnLTIuanMKKysrIC9kZXYvbnVsbApAQCAtMSArMCwwIEBACi1jb25zb2xlLmxvZygiU0NSSVBU
IFRBRyIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVs
aW5lLXN0YXJ0LXRpbWUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVs
aW5lL3RpbWVsaW5lLXN0YXJ0LXRpbWUtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCBkZjFhZjJkMDgxYThiMjY5Y2EyMjJkMTkxYWJkMWQwMTMxOWIxZjI4Li4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2lu
c3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1zdGFydC10aW1lLWV4cGVjdGVkLnR4dAorKysgL2Rl
di9udWxsCkBAIC0xLDQgKzAsMCBAQAotVGVzdHMgc2FuaXR5IG9mIHRpbWVsaW5lIHRpbWVzdGFt
cHMuCi0KLWRvbmUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5l
L3RpbWVsaW5lLXN0YXJ0LXRpbWUuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGlu
ZS90aW1lbGluZS1zdGFydC10aW1lLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IGVjMjM3Y2I4ZTRkZWVlMWE5MjNhNjNiNDRkOWJiNGE3ZmI1OTVhZGYuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3Rp
bWVsaW5lL3RpbWVsaW5lLXN0YXJ0LXRpbWUuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDM5ICsw
LDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNw
ZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0
dHAvdGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4K
LQotZnVuY3Rpb24gcGVyZm9ybUFjdGlvbnMoKQotewotICAgIGNvbnNvbGUudGltZVN0YW1wKCJ0
aW1lIGlzIGFuIGlsbHVzaW9uIik7Ci19Ci0KLWZ1bmN0aW9uIHRlc3QoKQotewotICAgIHZhciBi
ZWZvcmVTdGFydCA9IERhdGUubm93KCk7Ci0gICAgSW5zcGVjdG9yVGVzdC5zdGFydFRpbWVsaW5l
KCk7Ci0gICAgSW5zcGVjdG9yVGVzdC53YWl0Rm9yUmVjb3JkVHlwZSgiVGltZVN0YW1wIiwgb25U
aW1lU3RhbXApOwotICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoInBlcmZvcm1BY3Rp
b25zKCkiKTsKLQotICAgIGZ1bmN0aW9uIG9uVGltZVN0YW1wKHJlY29yZCkKLSAgICB7Ci0gICAg
ICAgIHZhciBub3cgPSBEYXRlLm5vdygpOwotICAgICAgICB2YXIgZXZlbnRUaW1lID0gcmVjb3Jk
LnN0YXJ0VGltZTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRHcmVhdGVyT3JFcXVhbChl
dmVudFRpbWUsIGJlZm9yZVN0YXJ0LCAiZXZlbnQgdGltZSBzaG91bGQgYmUgYWZ0ZXIgdGltZWxp
bmUgc3RhcnQgdGltZSIpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydEdyZWF0ZXJPckVx
dWFsKG5vdywgTWF0aC5mbG9vcihldmVudFRpbWUpLCAiZXZlbnQgdGltZSBzaG91bGQgYmUgYmVm
b3JlIG5vdyIpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiZG9uZSIpOwotICAg
ICAgICBJbnNwZWN0b3JUZXN0LnN0b3BUaW1lbGluZShJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVz
dC5iaW5kKEluc3BlY3RvclRlc3QpKTsKLSAgICB9Ci19Ci0KLTwvc2NyaXB0PgotPC9oZWFkPgot
Ci08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci08cD4KLVRlc3RzIHNhbml0eSBvZiB0aW1lbGlu
ZSB0aW1lc3RhbXBzLgotPC9wPgotCi08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtdGltZS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtdGltZS1leHBlY3RlZC50eHQK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQwMDFjN2M5YzdlODI1NTgzNjVhOWNjODM4
OTEwNTJhYWEzNjEyNjYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLXRpbWUtZXhwZWN0
ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEgKzAsMCBAQAotVGVzdCB0aW1lL3RpbWVFbmQgbmVz
dGluZyAoQnVnIDEwMDkzNikKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1l
bGluZS90aW1lbGluZS10aW1lLXN0YW1wLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci90aW1lbGluZS90aW1lbGluZS10aW1lLXN0YW1wLWV4cGVjdGVkLnR4dApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggM2U3NTc3NDk3MDgxMTZhNjgxYjc0NmIxY2Y0OTY0NDdlOWFh
NWYyMi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtdGltZS1zdGFtcC1leHBlY3RlZC50
eHQKKysrIC9kZXYvbnVsbApAQCAtMSwyOCArMCwwIEBACi1UZXN0cyB0aGUgVGltZWxpbmUgQVBJ
IHRpbWVTdGFtcCBmZWF0dXJlCi0KLVRpbWVTdGFtcCBQcm9wZXJ0aWVzOgotewotICAgIGNvdW50
ZXJzIDogPG9iamVjdD4KLSAgICBkYXRhIDogewotICAgICAgICBtZXNzYWdlIDogIlRJTUUgU1RB
TVAiCi0gICAgfQotICAgIGZyYW1lSWQgOiA8c3RyaW5nPgotICAgIHN0YWNrVHJhY2UgOiA8b2Jq
ZWN0PgotICAgIHN0YXJ0VGltZSA6IDxudW1iZXI+Ci0gICAgdHlwZSA6ICJUaW1lU3RhbXAiCi0g
ICAgdXNlZEhlYXBTaXplIDogPG51bWJlcj4KLX0KLVRpbWVzdGFtcCByZWNvcmRzOiAKLVRpbWVT
dGFtcCBQcm9wZXJ0aWVzOgotewotICAgIGNvdW50ZXJzIDogPG9iamVjdD4KLSAgICBkYXRhIDog
ewotICAgICAgICBtZXNzYWdlIDogIlRJTUUgU1RBTVAiCi0gICAgfQotICAgIGZyYW1lSWQgOiA8
c3RyaW5nPgotICAgIHN0YWNrVHJhY2UgOiA8b2JqZWN0PgotICAgIHN0YXJ0VGltZSA6IDxudW1i
ZXI+Ci0gICAgdHlwZSA6ICJUaW1lU3RhbXAiCi0gICAgdXNlZEhlYXBTaXplIDogPG51bWJlcj4K
LX0KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5l
LXRpbWUtc3RhbXAuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS90aW1lbGlu
ZS10aW1lLXN0YW1wLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY0NjkyNjBj
MDZjNDBmYjA4OThhZWYzOTgyODU3MDgzM2RhYjc2ZGMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lL3Rp
bWVsaW5lLXRpbWUtc3RhbXAuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDI2ICswLDAgQEAKLTxo
dG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5z
cGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMv
aW5zcGVjdG9yL3RpbWVsaW5lLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLQotZnVuY3Rp
b24gcGVyZm9ybUFjdGlvbnMoKQotewotICAgIGNvbnNvbGUudGltZVN0YW1wKCJUSU1FIFNUQU1Q
Iik7Ci19Ci0KLWZ1bmN0aW9uIHRlc3QoKQotewotICAgIEluc3BlY3RvclRlc3QucGVyZm9ybUFj
dGlvbnNBbmRQcmludCgicGVyZm9ybUFjdGlvbnMoKSIsICJUaW1lU3RhbXAiLCB0cnVlKTsKLX0K
LQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci0KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxwPgot
VGVzdHMgdGhlIFRpbWVsaW5lIEFQSSB0aW1lU3RhbXAgZmVhdHVyZQotPC9wPgotCi08L2JvZHk+
Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvdGlt
ZWxpbmUtdGltZS5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5l
LXRpbWUuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggY2U0YWM0YWZhMmI0MGZm
NmM5ZjljNjE4NTlhZjZkZThhZDlkYzczNi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUt
dGltZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsODUgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4K
LTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvdGlt
ZWxpbmUtdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotCi1mdW5jdGlvbiB0ZXN0KCkKLXsK
LSAgICBXZWJJbnNwZWN0b3Iuc2hvd1BhbmVsKCJ0aW1lbGluZSIpOwotCi0gICAgdmFyIGRhdGEg
PSBbIlZlcnNpb24iLAotICAgICAgICB7InN0YXJ0VGltZSI6MTMsImRhdGEiOnt9LCJlbmRUaW1l
IjoxOSwidHlwZSI6IlByb2dyYW0iLCJjaGlsZHJlbiI6WwotICAgICAgICAgICAgeyJzdGFydFRp
bWUiOjE0LCJkYXRhIjp7InR5cGUiOiJjbGljayJ9LCJlbmRUaW1lIjoxOCwidHlwZSI6IkV2ZW50
RGlzcGF0Y2giLCJmcmFtZUlkIjoiMiIsImNoaWxkcmVuIjpbCi0gICAgICAgICAgICAgICAgeyJz
dGFydFRpbWUiOjE1LCJkYXRhIjp7InNjcmlwdE5hbWUiOiJmb28uaHRtbCIsInNjcmlwdExpbmUi
Ojd9LCJlbmRUaW1lIjoxNywidHlwZSI6IkZ1bmN0aW9uQ2FsbCIsImZyYW1lSWQiOiIyIiwiY2hp
bGRyZW4iOlsKLSAgICAgICAgICAgICAgICAgICAgeyJzdGFydFRpbWUiOjE2LCJkYXRhIjp7Im1l
c3NhZ2UiOiJoZWxsbyJ9LCJ0eXBlIjoiVGltZSIsImZyYW1lSWQiOiIyIn0KLSAgICAgICAgICAg
ICAgICBdfQotICAgICAgICAgICAgXX0KLSAgICAgICAgXX0sCi0gICAgICAgIHsic3RhcnRUaW1l
IjoyNSwiZGF0YSI6e30sImVuZFRpbWUiOjM1LCJ0eXBlIjoiUHJvZ3JhbSIsImNoaWxkcmVuIjpb
Ci0gICAgICAgICAgICB7InN0YXJ0VGltZSI6MjYsImRhdGEiOnsidHlwZSI6ImNsaWNrIn0sImVu
ZFRpbWUiOjM0LCJ0eXBlIjoiRXZlbnREaXNwYXRjaCIsImZyYW1lSWQiOiIyIiwiY2hpbGRyZW4i
OlsKLSAgICAgICAgICAgICAgICB7InN0YXJ0VGltZSI6MjcsImRhdGEiOnsic2NyaXB0TmFtZSI6
ImZvby5odG1sIiwic2NyaXB0TGluZSI6MTV9LCJlbmRUaW1lIjozMywidHlwZSI6IkZ1bmN0aW9u
Q2FsbCIsImZyYW1lSWQiOiIyIiwiY2hpbGRyZW4iOlsKLSAgICAgICAgICAgICAgICAgICAgeyJz
dGFydFRpbWUiOjI4LCJkYXRhIjp7Im1lc3NhZ2UiOiJib29tIn0sInR5cGUiOiJUaW1lIiwiZnJh
bWVJZCI6IjIifSwKLSAgICAgICAgICAgICAgICAgICAgeyJzdGFydFRpbWUiOjI5LCJkYXRhIjp7
fSwidHlwZSI6IlNjaGVkdWxlU3R5bGVSZWNhbGN1bGF0aW9uIiwiZnJhbWVJZCI6IjIifSwKLSAg
ICAgICAgICAgICAgICAgICAgeyJzdGFydFRpbWUiOjMwLCJkYXRhIjp7fSwiY2hpbGRyZW4iOltd
LCJlbmRUaW1lIjozMSwidHlwZSI6IlJlY2FsY3VsYXRlU3R5bGVzIiwiZnJhbWVJZCI6IjIifSwK
LSAgICAgICAgICAgICAgICAgICAgeyJzdGFydFRpbWUiOjMyLCJkYXRhIjp7Im1lc3NhZ2UiOiJi
b29tIn0sInR5cGUiOiJUaW1lRW5kIiwiZnJhbWVJZCI6IjIifQotICAgICAgICAgICAgICAgIF19
Ci0gICAgICAgICAgICBdfQotICAgICAgICBdfSwKLSAgICAgICAgeyJzdGFydFRpbWUiOjQxLCJk
YXRhIjp7fSwiZW5kVGltZSI6NDcsInR5cGUiOiJQcm9ncmFtIiwiY2hpbGRyZW4iOlsKLSAgICAg
ICAgICAgIHsic3RhcnRUaW1lIjo0MiwiZGF0YSI6eyJ0eXBlIjoiY2xpY2sifSwiZW5kVGltZSI6
NDYsInR5cGUiOiJFdmVudERpc3BhdGNoIiwiZnJhbWVJZCI6IjIiLCJjaGlsZHJlbiI6WwotICAg
ICAgICAgICAgICAgIHsic3RhcnRUaW1lIjo0MywiZGF0YSI6eyJzY3JpcHROYW1lIjoiZm9vLmh0
bWwiLCJzY3JpcHRMaW5lIjoxMX0sImVuZFRpbWUiOjQ1LCJ0eXBlIjoiRnVuY3Rpb25DYWxsIiwi
ZnJhbWVJZCI6IjIiLCJjaGlsZHJlbiI6WwotICAgICAgICAgICAgICAgICAgICB7InN0YXJ0VGlt
ZSI6NDQsImRhdGEiOnsibWVzc2FnZSI6ImhlbGxvIn0sInR5cGUiOiJUaW1lRW5kIiwiZnJhbWVJ
ZCI6IjIifQotICAgICAgICAgICAgICAgIF19Ci0gICAgICAgICAgICBdfQotICAgICAgICBdfQot
ICAgIF07Ci0KLSAgICB2YXIgaW5wdXQgPSBKU09OLnN0cmluZ2lmeShkYXRhKTsKLSAgICB2YXIg
bW9kZWwgPSBXZWJJbnNwZWN0b3IucGFuZWxzLnRpbWVsaW5lLl9tb2RlbDsKLSAgICB2YXIgcHJl
c2VudGF0aW9uTW9kZWwgPSBXZWJJbnNwZWN0b3IucGFuZWxzLnRpbWVsaW5lLl9wcmVzZW50YXRp
b25Nb2RlbDsKLSAgICBwcmVzZW50YXRpb25Nb2RlbC5zZXRHbHVlUmVjb3Jkcyh0cnVlKTsKLQot
ICAgIGZ1bmN0aW9uIGNyZWF0ZUZpbGVSZWFkZXIoZmlsZSwgZGVsZWdhdGUpCi0gICAgewotICAg
ICAgICByZXR1cm4gbmV3IEluc3BlY3RvclRlc3QuRmFrZUZpbGVSZWFkZXIoaW5wdXQsIGRlbGVn
YXRlLCBvbkRhdGFMb2FkZWQpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIG9uRGF0YUxvYWRlZCgp
Ci0gICAgewotICAgICAgICB2YXIgcm9vdCA9IHByZXNlbnRhdGlvbk1vZGVsLnJvb3RSZWNvcmQo
KTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRFcXVhbHMoNCwgcm9vdC5jaGlsZHJlbi5s
ZW5ndGgpOwotCi0gICAgICAgIHZhciB0aW1lMSA9IHJvb3QuY2hpbGRyZW5bMV07Ci0gICAgICAg
IEluc3BlY3RvclRlc3QuYXNzZXJ0RXF1YWxzKCJUaW1lIiwgdGltZTEudHlwZSk7Ci0gICAgICAg
IEluc3BlY3RvclRlc3QuYXNzZXJ0RXF1YWxzKDIsIHRpbWUxLmNoaWxkcmVuLmxlbmd0aCk7Ci0g
ICAgICAgIHZhciB0aW1lRW5kMSA9IHRpbWUxLmNoaWxkcmVuWzFdOwotICAgICAgICBJbnNwZWN0
b3JUZXN0LmFzc2VydEVxdWFscygiVGltZUVuZCIsIHRpbWVFbmQxLnR5cGUpOwotICAgICAgICBJ
bnNwZWN0b3JUZXN0LmFzc2VydEVxdWFscyh0aW1lMSwgdGltZUVuZDEudGltZVJlY29yZCk7Ci0g
ICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0RXF1YWxzKHRpbWVFbmQxLCB0aW1lMS50aW1lRW5k
UmVjb3JkKTsKLQotICAgICAgICB2YXIgdGltZTIgPSB0aW1lMS5jaGlsZHJlblswXTsKLSAgICAg
ICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRFcXVhbHMoIlRpbWUiLCB0aW1lMi50eXBlKTsKLSAgICAg
ICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRFcXVhbHMoMSwgdGltZTIuY2hpbGRyZW4ubGVuZ3RoKTsK
LSAgICAgICAgdmFyIHRpbWVFbmQyID0gdGltZTIuY2hpbGRyZW5bMF07Ci0gICAgICAgIEluc3Bl
Y3RvclRlc3QuYXNzZXJ0RXF1YWxzKCJUaW1lRW5kIiwgdGltZUVuZDIudHlwZSk7Ci0gICAgICAg
IEluc3BlY3RvclRlc3QuYXNzZXJ0RXF1YWxzKHRpbWUyLCB0aW1lRW5kMi50aW1lUmVjb3JkKTsK
LSAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRFcXVhbHModGltZUVuZDIsIHRpbWUyLnRpbWVF
bmRSZWNvcmQpOwotCi0gICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7Ci0gICAg
fQotCi0gICAgSW5zcGVjdG9yVGVzdC5vdmVycmlkZShtb2RlbCwgIl9jcmVhdGVGaWxlUmVhZGVy
IiwgY3JlYXRlRmlsZVJlYWRlcik7Ci0gICAgbW9kZWwubG9hZEZyb21GaWxlKHt9LCBuZXcgV2Vi
SW5zcGVjdG9yLlByb2dyZXNzKCkpOwotfQotCi08L3NjcmlwdD4KLTwvaGVhZD4KLQotPGJvZHkg
b25sb2FkPSJydW5UZXN0KCkiPgotPHA+Ci1UZXN0IHRpbWUvdGltZUVuZCBuZXN0aW5nIDxhIGhy
ZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDA5MzYiPihCdWcg
MTAwOTM2KTwvYT4KLTwvcD4KLQotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLXRpbWVyLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS10aW1lci1leHBlY3RlZC50eHQK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM1ZGEzZTE2NDljM2VkMWQ1ZDQ0MjJmYWVi
ZmI1NTczOGJlYmY4ZjEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLXRpbWVyLWV4cGVj
dGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDE1MiArMCwwIEBACi1UZXN0cyB0aGUgVGltZWxp
bmUgZXZlbnRzIGZvciBUaW1lcnMKLQotVGltZXJJbnN0YWxsIFByb3BlcnRpZXM6Ci17Ci0gICAg
Y291bnRlcnMgOiA8b2JqZWN0PgotICAgIGRhdGEgOiB7Ci0gICAgICAgIHNpbmdsZVNob3QgOiB0
cnVlCi0gICAgICAgIHRpbWVvdXQgOiAxMAotICAgICAgICB0aW1lcklkIDogPG51bWJlcj4KLSAg
ICB9Ci0gICAgZnJhbWVJZCA6IDxzdHJpbmc+Ci0gICAgc3RhY2tUcmFjZSA6IDxvYmplY3Q+Ci0g
ICAgc3RhcnRUaW1lIDogPG51bWJlcj4KLSAgICB0eXBlIDogIlRpbWVySW5zdGFsbCIKLSAgICB1
c2VkSGVhcFNpemUgOiA8bnVtYmVyPgotfQotVGltZXJJbnN0YWxsIFByb3BlcnRpZXM6Ci17Ci0g
ICAgY291bnRlcnMgOiA8b2JqZWN0PgotICAgIGRhdGEgOiB7Ci0gICAgICAgIHNpbmdsZVNob3Qg
OiBmYWxzZQotICAgICAgICB0aW1lb3V0IDogMjAKLSAgICAgICAgdGltZXJJZCA6IDxudW1iZXI+
Ci0gICAgfQotICAgIGZyYW1lSWQgOiA8c3RyaW5nPgotICAgIHN0YWNrVHJhY2UgOiA8b2JqZWN0
PgotICAgIHN0YXJ0VGltZSA6IDxudW1iZXI+Ci0gICAgdHlwZSA6ICJUaW1lckluc3RhbGwiCi0g
ICAgdXNlZEhlYXBTaXplIDogPG51bWJlcj4KLX0KLVRpbWVyRmlyZSBQcm9wZXJ0aWVzOgotewot
ICAgIGNoaWxkcmVuIDogPG9iamVjdD4KLSAgICBjb3VudGVycyA6IDxvYmplY3Q+Ci0gICAgZGF0
YSA6IHsKLSAgICAgICAgdGltZXJJZCA6IDxudW1iZXI+Ci0gICAgfQotICAgIGVuZFRpbWUgOiA8
bnVtYmVyPgotICAgIGZyYW1lSWQgOiA8c3RyaW5nPgotICAgIHN0YXJ0VGltZSA6IDxudW1iZXI+
Ci0gICAgdHlwZSA6ICJUaW1lckZpcmUiCi0gICAgdXNlZEhlYXBTaXplIDogPG51bWJlcj4KLX0K
LVRpbWVyRmlyZSBQcm9wZXJ0aWVzOgotewotICAgIGNoaWxkcmVuIDogPG9iamVjdD4KLSAgICBj
b3VudGVycyA6IDxvYmplY3Q+Ci0gICAgZGF0YSA6IHsKLSAgICAgICAgdGltZXJJZCA6IDxudW1i
ZXI+Ci0gICAgfQotICAgIGVuZFRpbWUgOiA8bnVtYmVyPgotICAgIGZyYW1lSWQgOiA8c3RyaW5n
PgotICAgIHN0YXJ0VGltZSA6IDxudW1iZXI+Ci0gICAgdHlwZSA6ICJUaW1lckZpcmUiCi0gICAg
dXNlZEhlYXBTaXplIDogPG51bWJlcj4KLX0KLVRpbWVyRmlyZSBQcm9wZXJ0aWVzOgotewotICAg
IGNoaWxkcmVuIDogPG9iamVjdD4KLSAgICBjb3VudGVycyA6IDxvYmplY3Q+Ci0gICAgZGF0YSA6
IHsKLSAgICAgICAgdGltZXJJZCA6IDxudW1iZXI+Ci0gICAgfQotICAgIGVuZFRpbWUgOiA8bnVt
YmVyPgotICAgIGZyYW1lSWQgOiA8c3RyaW5nPgotICAgIHN0YXJ0VGltZSA6IDxudW1iZXI+Ci0g
ICAgdHlwZSA6ICJUaW1lckZpcmUiCi0gICAgdXNlZEhlYXBTaXplIDogPG51bWJlcj4KLX0KLVRp
bWVyUmVtb3ZlIFByb3BlcnRpZXM6Ci17Ci0gICAgY291bnRlcnMgOiA8b2JqZWN0PgotICAgIGRh
dGEgOiB7Ci0gICAgICAgIHRpbWVySWQgOiA8bnVtYmVyPgotICAgIH0KLSAgICBmcmFtZUlkIDog
PHN0cmluZz4KLSAgICBzdGFja1RyYWNlIDogPG9iamVjdD4KLSAgICBzdGFydFRpbWUgOiA8bnVt
YmVyPgotICAgIHR5cGUgOiAiVGltZXJSZW1vdmUiCi0gICAgdXNlZEhlYXBTaXplIDogPG51bWJl
cj4KLX0KLUZ1bmN0aW9uQ2FsbCBQcm9wZXJ0aWVzOgotewotICAgIGNoaWxkcmVuIDogPG9iamVj
dD4KLSAgICBjb3VudGVycyA6IDxvYmplY3Q+Ci0gICAgZGF0YSA6IHsKLSAgICAgICAgc2NyaXB0
TGluZSA6IDxudW1iZXI+Ci0gICAgICAgIHNjcmlwdE5hbWUgOiA8c3RyaW5nPgotICAgIH0KLSAg
ICBlbmRUaW1lIDogPG51bWJlcj4KLSAgICBmcmFtZUlkIDogPHN0cmluZz4KLSAgICBzdGFydFRp
bWUgOiA8bnVtYmVyPgotICAgIHR5cGUgOiAiRnVuY3Rpb25DYWxsIgotICAgIHVzZWRIZWFwU2l6
ZSA6IDxudW1iZXI+Ci19Ci1GdW5jdGlvbkNhbGwgUHJvcGVydGllczoKLXsKLSAgICBjaGlsZHJl
biA6IDxvYmplY3Q+Ci0gICAgY291bnRlcnMgOiA8b2JqZWN0PgotICAgIGRhdGEgOiB7Ci0gICAg
ICAgIHNjcmlwdExpbmUgOiA8bnVtYmVyPgotICAgICAgICBzY3JpcHROYW1lIDogPHN0cmluZz4K
LSAgICB9Ci0gICAgZW5kVGltZSA6IDxudW1iZXI+Ci0gICAgZnJhbWVJZCA6IDxzdHJpbmc+Ci0g
ICAgc3RhcnRUaW1lIDogPG51bWJlcj4KLSAgICB0eXBlIDogIkZ1bmN0aW9uQ2FsbCIKLSAgICB1
c2VkSGVhcFNpemUgOiA8bnVtYmVyPgotfQotRnVuY3Rpb25DYWxsIFByb3BlcnRpZXM6Ci17Ci0g
ICAgY2hpbGRyZW4gOiA8b2JqZWN0PgotICAgIGNvdW50ZXJzIDogPG9iamVjdD4KLSAgICBkYXRh
IDogewotICAgICAgICBzY3JpcHRMaW5lIDogPG51bWJlcj4KLSAgICAgICAgc2NyaXB0TmFtZSA6
IDxzdHJpbmc+Ci0gICAgfQotICAgIGVuZFRpbWUgOiA8bnVtYmVyPgotICAgIGZyYW1lSWQgOiA8
c3RyaW5nPgotICAgIHN0YXJ0VGltZSA6IDxudW1iZXI+Ci0gICAgdHlwZSA6ICJGdW5jdGlvbkNh
bGwiCi0gICAgdXNlZEhlYXBTaXplIDogPG51bWJlcj4KLX0KLUZ1bmN0aW9uQ2FsbCBQcm9wZXJ0
aWVzOgotewotICAgIGNoaWxkcmVuIDogPG9iamVjdD4KLSAgICBjb3VudGVycyA6IDxvYmplY3Q+
Ci0gICAgZGF0YSA6IHsKLSAgICAgICAgc2NyaXB0TGluZSA6IDxudW1iZXI+Ci0gICAgICAgIHNj
cmlwdE5hbWUgOiA8c3RyaW5nPgotICAgIH0KLSAgICBlbmRUaW1lIDogPG51bWJlcj4KLSAgICBm
cmFtZUlkIDogPHN0cmluZz4KLSAgICBzdGFydFRpbWUgOiA8bnVtYmVyPgotICAgIHR5cGUgOiAi
RnVuY3Rpb25DYWxsIgotICAgIHVzZWRIZWFwU2l6ZSA6IDxudW1iZXI+Ci19Ci1FdmFsdWF0ZVNj
cmlwdCBQcm9wZXJ0aWVzOgotewotICAgIGNoaWxkcmVuIDogPG9iamVjdD4KLSAgICBjb3VudGVy
cyA6IDxvYmplY3Q+Ci0gICAgZGF0YSA6IHsKLSAgICAgICAgbGluZU51bWJlciA6IDxudW1iZXI+
Ci0gICAgICAgIHVybCA6IDxzdHJpbmc+Ci0gICAgfQotICAgIGVuZFRpbWUgOiA8bnVtYmVyPgot
ICAgIGZyYW1lSWQgOiA8c3RyaW5nPgotICAgIHN0YXJ0VGltZSA6IDxudW1iZXI+Ci0gICAgdHlw
ZSA6ICJFdmFsdWF0ZVNjcmlwdCIKLSAgICB1c2VkSGVhcFNpemUgOiA8bnVtYmVyPgotfQotCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtdGltZXIt
ZmlyZWQtZnJvbS1ldmFsLWNhbGwtc2l0ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtdGltZXItZmlyZWQtZnJvbS1ldmFsLWNhbGwtc2l0ZS1l
eHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGUxYTljN2VmMDg0MjVl
N2M0MTg3MWE3NGJjMjViMDczOTEwNTUzNmMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5l
LXRpbWVyLWZpcmVkLWZyb20tZXZhbC1jYWxsLXNpdGUtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251
bGwKQEAgLTEsNSArMCwwIEBACi1UZXN0cyB0aGUgVGltZWxpbmUgQVBJIGluc3RydW1lbnRhdGlv
biBvZiBhIFRpbWVyRmlyZWQgZXZlbnRzIGluc2lkZSBldmFsdWF0ZWQgc2NyaXB0cy4KLQotVGlt
ZXJGaXJlIDoyCi1UaW1lckZpcmUgOjEKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yL3RpbWVsaW5lL3RpbWVsaW5lLXRpbWVyLWZpcmVkLWZyb20tZXZhbC1jYWxsLXNpdGUuaHRt
bCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS10aW1lci1maXJlZC1m
cm9tLWV2YWwtY2FsbC1zaXRlLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM5
ZmVlODY0OTgwZWY4MzljYTA0YTNlNjUwMTcyZTlkNTJkZTU1NGEuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVs
aW5lL3RpbWVsaW5lLXRpbWVyLWZpcmVkLWZyb20tZXZhbC1jYWxsLXNpdGUuaHRtbAorKysgL2Rl
di9udWxsCkBAIC0xLDU3ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4v
Li4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lLXRlc3QuanMiPjwv
c2NyaXB0PgotPHNjcmlwdD4KLQotZnVuY3Rpb24gcGVyZm9ybUFjdGlvbnMoKQotewotICAgIHZh
ciBjb250ZW50ID0gIiIgKyAKLSAgICAgICAgInZhciBmbjIgPSBmdW5jdGlvbigpIHtjb25zb2xl
LnRpbWVTdGFtcChcIlNjcmlwdCBldmFsdWF0ZWRcIik7fTtcXG4iICsKLSAgICAgICAgInZhciBm
bjEgPSBmdW5jdGlvbigpIHt3aW5kb3cuc2V0VGltZW91dChmbjIsIDEpO307XFxuIiArCi0gICAg
ICAgICJ3aW5kb3cuc2V0VGltZW91dChmbjEsIDEpO1xcbiIKLSAgICBjb250ZW50ID0gImV2YWwo
JyIgKyBjb250ZW50ICsgIi8vQCBzb3VyY2VVUkw9ZnJvbUV2YWwuanMiICsgIicpOyI7Ci0gICAg
dmFyIHNjcmlwdEVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTsKLSAg
ICB2YXIgY29udGVudE5vZGUgPSBkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShjb250ZW50KTsKLSAg
ICBzY3JpcHRFbGVtZW50LmFwcGVuZENoaWxkKGNvbnRlbnROb2RlKTsKLSAgICBkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHNjcmlwdEVsZW1lbnQpOwotICAgIGRvY3VtZW50LmJvZHkucmVtb3Zl
Q2hpbGQoc2NyaXB0RWxlbWVudCk7Ci19Ci0KLWZ1bmN0aW9uIHRlc3QoKQotewotICAgIEluc3Bl
Y3RvclRlc3Quc3RhcnRUaW1lbGluZShzdGFydCk7Ci0gICAgSW5zcGVjdG9yVGVzdC53YWl0Rm9y
UmVjb3JkVHlwZSgiVGltZVN0YW1wIiwgZmluaXNoKTsKLQotICAgIGZ1bmN0aW9uIHN0YXJ0KCkK
LSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoInBlcmZvcm1BY3Rp
b25zKCkiKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBmaW5pc2goKQotICAgIHsKLSAgICAgICAg
ZnVuY3Rpb24gZm9ybWF0dGVyKHJlY29yZCkKLSAgICAgICAgewotICAgICAgICAgICAgaWYgKHJl
Y29yZC50eXBlID09PSAiVGltZXJGaXJlIikgewotICAgICAgICAgICAgICAgIHZhciBmbkNhbGxT
aXRlID0gcmVjb3JkLmNoaWxkcmVuWzBdLmRhdGE7Ci0gICAgICAgICAgICAgICAgSW5zcGVjdG9y
VGVzdC5hZGRSZXN1bHQocmVjb3JkLnR5cGUgKyAiICIgKyBmbkNhbGxTaXRlLnNjcmlwdE5hbWUg
KyAiOiIgKyBmbkNhbGxTaXRlLnNjcmlwdExpbmUpOwotICAgICAgICAgICAgfQotICAgICAgICB9
Ci0gICAgICAgIEluc3BlY3RvclRlc3QucHJpbnRUaW1lbGluZVJlY29yZHMobnVsbCwgZm9ybWF0
dGVyKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKLSAgICB9Ci19Ci0K
LWlmICghd2luZG93LnRlc3RSdW5uZXIpCi0gICAgc2V0VGltZW91dChwZXJmb3JtQWN0aW9ucywg
MzAwMCk7Ci0KLTwvc2NyaXB0PgotPC9oZWFkPgotCi08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+
Ci08cD4KLVRlc3RzIHRoZSBUaW1lbGluZSBBUEkgaW5zdHJ1bWVudGF0aW9uIG9mIGEgVGltZXJG
aXJlZCBldmVudHMgaW5zaWRlIGV2YWx1YXRlZCBzY3JpcHRzLgotPC9wPgotCi08L2JvZHk+Ci08
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxp
bmUtdGltZXIuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS10
aW1lci5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1MWFlNmZjOGI2ZjIxN2Fj
YWYxNTVlYmI2OTBjNTczN2Y5Zjc3Y2NlLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS10
aW1lci5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNTEgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4K
LTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvdGlt
ZWxpbmUtdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotCi1mdW5jdGlvbiBwZXJmb3JtQWN0
aW9ucygpCi17Ci0gICAgdmFyIHRpbWVyT25lID0gc2V0VGltZW91dCgiMSArIDEiLCAxMCk7Ci0g
ICAgdmFyIHRpbWVyVHdvID0gc2V0SW50ZXJ2YWwoaW50ZXJ2YWxUaW1lcldvcmssIDIwKTsKLSAg
ICB2YXIgaXRlcmF0aW9uID0gMDsKLQotICAgIGZ1bmN0aW9uIGludGVydmFsVGltZXJXb3JrKCkK
LSAgICB7Ci0gICAgICAgIGlmICgrK2l0ZXJhdGlvbiA8IDIpCi0gICAgICAgICAgICByZXR1cm47
Ci0gICAgICAgIGNsZWFySW50ZXJ2YWwodGltZXJUd28pOwotICAgIH0KLX0KLQotZnVuY3Rpb24g
dGVzdCgpCi17Ci0gICAgSW5zcGVjdG9yVGVzdC5zdGFydFRpbWVsaW5lKGZ1bmN0aW9uKCkgewot
ICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJwZXJmb3JtQWN0aW9ucygpIik7
Ci0gICAgfSk7Ci0KLSAgICBJbnNwZWN0b3JUZXN0LndhaXRGb3JSZWNvcmRUeXBlKCJUaW1lclJl
bW92ZSIsIGZpbmlzaCk7Ci0KLSAgICBmdW5jdGlvbiBmaW5pc2goKQotICAgIHsKLSAgICAgICAg
SW5zcGVjdG9yVGVzdC5wcmludFRpbWVsaW5lUmVjb3JkcygiVGltZXJJbnN0YWxsIik7Ci0gICAg
ICAgIEluc3BlY3RvclRlc3QucHJpbnRUaW1lbGluZVJlY29yZHMoIlRpbWVyRmlyZSIpOwotICAg
ICAgICBJbnNwZWN0b3JUZXN0LnByaW50VGltZWxpbmVSZWNvcmRzKCJUaW1lclJlbW92ZSIpOwot
ICAgICAgICBJbnNwZWN0b3JUZXN0LnByaW50VGltZWxpbmVSZWNvcmRzKCJGdW5jdGlvbkNhbGwi
KTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5wcmludFRpbWVsaW5lUmVjb3JkcygiRXZhbHVhdGVT
Y3JpcHQiKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKLSAgICB9Ci19
Ci0KLWlmICghd2luZG93LnRlc3RSdW5uZXIpCi0gICAgc2V0VGltZW91dChwZXJmb3JtQWN0aW9u
cywgMjAwMCk7Ci0KLTwvc2NyaXB0PgotPC9oZWFkPgotCi08Ym9keSBvbmxvYWQ9InJ1blRlc3Qo
KSI+Ci08cD4KLVRlc3RzIHRoZSBUaW1lbGluZSBldmVudHMgZm9yIFRpbWVycwotPC9wPgotPC9i
b2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5l
L3RpbWVsaW5lLXRyaXZpYWwtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3Rp
bWVsaW5lL3RpbWVsaW5lLXRyaXZpYWwtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCA0NDNmN2RiZDBlZWIyMTU0NTZkZDUzODNhNDI4YTBmZTBmMWU5ZDY1Li4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2lu
c3BlY3Rvci90aW1lbGluZS90aW1lbGluZS10cml2aWFsLWV4cGVjdGVkLnR4dAorKysgL2Rldi9u
dWxsCkBAIC0xLDQgKzAsMCBAQAotVHJpdmlhbCB1c2Ugb2YgaW5zcGVjdG9yIGZyb250ZW5kIHRl
c3RzCi0KLVRpbWVsaW5lIHN0YXJ0ZWQKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yL3RpbWVsaW5lL3RpbWVsaW5lLXRyaXZpYWwuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rv
ci90aW1lbGluZS90aW1lbGluZS10cml2aWFsLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IGUwZmQ2YzY1YzgyMzVkYWEzMWY3NTkzOThhMjFjYjFhNDgzNGM0ZTguLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yL3RpbWVsaW5lL3RpbWVsaW5lLXRyaXZpYWwuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDI3
ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9p
bnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4u
L2h0dHAvdGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlw
dD4KLQotZnVuY3Rpb24gdGVzdCgpIHsKLSAgICAvKiBUaGlzIHRlc3Qgc2VlbXMgc2lsbHksIGJ1
dCBvcmlnaW5hbGx5IGl0IHRpY2tsZWQgYnVnIDMxMDgwICovCi0gICAgZnVuY3Rpb24gY2FsbGJh
Y2soKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIlRpbWVsaW5lIHN0
YXJ0ZWQiKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKLSAgICB9Ci0g
ICAgSW5zcGVjdG9yVGVzdC5zdGFydFRpbWVsaW5lKGNhbGxiYWNrKTsKLX0KLQotCi08L3Njcmlw
dD4KLTwvaGVhZD4KLQotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotPHA+IAotVHJpdmlhbCB1
c2Ugb2YgaW5zcGVjdG9yIGZyb250ZW5kIHRlc3RzCi08L3A+Ci0KLTwvYm9keT4KLTwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci91dGlsaXRpZXMtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3V0aWxpdGllcy1leHBlY3RlZC50eHQKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDNiNjY0ZDhmMDFjNTE5MTE3Y2MzODdiODMwMTZkZTE1NTgz
NzMxOGYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yL3V0aWxpdGllcy1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApA
QCAtMSwzMiArMCwwIEBACi1UaGlzIHRlc3QgY2hlY2tzIFdlYiBJbnNwZWN0b3IgdXRpbGl0aWVz
LgotCi0KLVJ1bm5pbmc6IGJpbmFyeUluZGV4T2ZUZXN0Ci0KLVJ1bm5pbmc6IGxvd2VyQm91bmRU
ZXN0Ci0KLVJ1bm5pbmc6IHVwcGVyQm91bmRUZXN0Ci0KLQotUnVubmluZzogcXNlbGVjdFRlc3QK
LUFycmF5OiBbXQotUmVmZXJlbmNlOiB7fQotQWN0dWFsOiAgICB7fQotQXJyYXk6IFswXQotUmVm
ZXJlbmNlOiB7Im1pbiI6MCwibWVkaWFuIjowLCJtYXgiOjB9Ci1BY3R1YWw6ICAgIHsibWluIjow
LCJtZWRpYW4iOjAsIm1heCI6MH0KLUFycmF5OiBbMCwwLDAsMCwwLDAsMCwwXQotUmVmZXJlbmNl
OiB7Im1pbiI6MCwibWVkaWFuIjowLCJtYXgiOjB9Ci1BY3R1YWw6ICAgIHsibWluIjowLCJtZWRp
YW4iOjAsIm1heCI6MH0KLUFycmF5OiBbNCwzLDIsMV0KLVJlZmVyZW5jZTogeyJtaW4iOjEsIm1l
ZGlhbiI6MywibWF4Ijo0fQotQWN0dWFsOiAgICB7Im1pbiI6MSwibWVkaWFuIjozLCJtYXgiOjR9
Ci1BcnJheTogWzEsMiwzLDQsNV0KLVJlZmVyZW5jZTogeyJtaW4iOjEsIm1lZGlhbiI6MywibWF4
Ijo1fQotQWN0dWFsOiAgICB7Im1pbiI6MSwibWVkaWFuIjozLCJtYXgiOjV9Ci1BcnJheTogWy0x
LDMsMiw3LDcsNywxMCwxMiwzLDQsLTEsMl0KLVJlZmVyZW5jZTogeyJtaW4iOi0xLCJtZWRpYW4i
OjQsIm1heCI6MTJ9Ci1BY3R1YWw6ICAgIHsibWluIjotMSwibWVkaWFuIjo0LCJtYXgiOjEyfQot
Ci1SdW5uaW5nOiBzb3J0UmFuZ2VUZXN0Ci0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci91dGlsaXRpZXMuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci91dGlsaXRpZXMuaHRt
bApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTQ3MWQ1NTAzYmM5YzBhZTk3MWJmODlk
ZTFjZGE0NjhlOGE4MzhjNy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdXRpbGl0aWVzLmh0bWwKKysrIC9kZXYvbnVs
bApAQCAtMSwxOTYgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi9odHRw
L3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0Pgot
Ci1mdW5jdGlvbiB0ZXN0KCkKLXsKLSAgICBJbnNwZWN0b3JUZXN0LnJ1blRlc3RTdWl0ZShbCi0g
ICAgICAgIGZ1bmN0aW9uIGJpbmFyeUluZGV4T2ZUZXN0KG5leHQpCi0gICAgICAgIHsKLSAgICAg
ICAgICAgIHZhciB0ZXN0QXJyYXlzID0gWwotICAgICAgICAgICAgICAgIFtdLAotICAgICAgICAg
ICAgICAgIFsxXSwKLSAgICAgICAgICAgICAgICBbMSwgMTBdLAotICAgICAgICAgICAgICAgIFsx
LCAxMCwgMTEsIDEyLCAxMywgMTQsIDEwMF0sCi0gICAgICAgICAgICAgICAgWy0xMDAsIC01MCwg
MCwgNTAsIDEwMF0sCi0gICAgICAgICAgICAgICAgWy0xMDAsIC0xNCwgLTEzLCAtMTIsIC0xMSwg
LTEwLCAtMV0KLSAgICAgICAgICAgIF07Ci0gICAgIAotICAgICAgICAgICAgZnVuY3Rpb24gdGVz
dEFycmF5KGFycmF5KQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGNv
bXBhcmF0b3IoYSwgYikKLSAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgIHJl
dHVybiBhIDwgYiA/IC0xIDogKGEgPiBiID8gMSA6IDApOwotICAgICAgICAgICAgICAgIH0KLSAg
ICAgCi0gICAgICAgICAgICAgICAgZm9yICh2YXIgaSA9IC0xMDA7IGkgPD0gMTAwOyArK2kpIHsK
LSAgICAgICAgICAgICAgICAgICAgdmFyIHJlZmVyZW5jZSA9IGFycmF5LmluZGV4T2YoaSk7Ci0g
ICAgICAgICAgICAgICAgICAgIHZhciBhY3R1YWwgPSBhcnJheS5iaW5hcnlJbmRleE9mKGksIGNv
bXBhcmF0b3IpOwotICAgICAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydEVxdWFs
cyhyZWZlcmVuY2UsIGFjdHVhbCwgImJpbmFyeUluZGV4T2YiKTsKLSAgICAgICAgICAgICAgICB9
Ci0gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgICAgICAgICB9Ci0gICAgIAotICAg
ICAgICAgICAgZm9yICh2YXIgaSA9IDAsIGwgPSB0ZXN0QXJyYXlzLmxlbmd0aDsgaSA8IGw7ICsr
aSkKLSAgICAgICAgICAgICAgICB0ZXN0QXJyYXkodGVzdEFycmF5c1tpXSk7Ci0gICAgICAgICAg
ICBuZXh0KCk7Ci0gICAgICAgIH0sCi0gICAgICAgIAotICAgICAgICBmdW5jdGlvbiBsb3dlckJv
dW5kVGVzdChuZXh0KQotICAgICAgICB7Ci0gICAgICAgICAgICB2YXIgdGVzdEFycmF5cyA9IFsK
LSAgICAgICAgICAgICAgICBbXSwKLSAgICAgICAgICAgICAgICBbMV0sCi0gICAgICAgICAgICAg
ICAgWy0xLCAtMSwgMCwgMCwgMCwgMCwgMiwgMywgNCwgNCwgNCwgNywgOSwgOSwgOV0KLSAgICAg
ICAgICAgIF07Ci0gICAgICAgIAotICAgICAgICAgICAgZnVuY3Rpb24gdGVzdEFycmF5KGFycmF5
LCB1c2VDb21wYXJhdG9yKQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIGZ1bmN0aW9u
IGNvbXBhcmF0b3IoYSwgYikKLSAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAg
IHJldHVybiBhIDwgYiA/IC0xIDogKGEgPiBiID8gMSA6IDApOwotICAgICAgICAgICAgICAgIH0K
LSAgICAgICAgCi0gICAgICAgICAgICAgICAgZm9yICh2YXIgdmFsdWUgPSAtMjsgdmFsdWUgPD0g
MTI7ICsrdmFsdWUpIHsKLSAgICAgICAgICAgICAgICAgICAgdmFyIGluZGV4ID0gdXNlQ29tcGFy
YXRvciA/IGFycmF5Lmxvd2VyQm91bmQodmFsdWUsIGNvbXBhcmF0b3IpIDogYXJyYXkubG93ZXJC
b3VuZCh2YWx1ZSk7Ci0gICAgICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0VHJ1
ZSgwIDw9IGluZGV4ICYmIGluZGV4IDw9IGFycmF5Lmxlbmd0aCwgImluZGV4IGlzIHdpdGhpbiBi
b3VuZHMiKTsKLSAgICAgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRUcnVlKGlu
ZGV4ID09PSAwIHx8IGFycmF5W2luZGV4IC0gMV0gPCB2YWx1ZSwgImFycmF5W2luZGV4IC0gMV0g
PCB2YWx1ZSIpOwotICAgICAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydFRydWUo
aW5kZXggPT09IGFycmF5Lmxlbmd0aCB8fCBhcnJheVtpbmRleF0gPj0gdmFsdWUsICJhcnJheVtp
bmRleF0gPj0gdmFsdWUiKTsKLSAgICAgICAgICAgICAgICAgICAgCi0gICAgICAgICAgICAgICAg
fQotICAgICAgICAgICAgfQotICAgICAgICAKLSAgICAgICAgICAgIGZvciAodmFyIGkgPSAwLCBs
ID0gdGVzdEFycmF5cy5sZW5ndGg7IGkgPCBsOyArK2kpIHsKLSAgICAgICAgICAgICAgICB0ZXN0
QXJyYXkodGVzdEFycmF5c1tpXSwgZmFsc2UpOwotICAgICAgICAgICAgICAgIHRlc3RBcnJheSh0
ZXN0QXJyYXlzW2ldLCB0cnVlKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIG5leHQoKTsK
LSAgICAgICAgfSwKLSAgICAgICAgCi0gICAgICAgIGZ1bmN0aW9uIHVwcGVyQm91bmRUZXN0KG5l
eHQpCi0gICAgICAgIHsKLSAgICAgICAgICAgIHZhciB0ZXN0QXJyYXlzID0gWwotICAgICAgICAg
ICAgICAgIFtdLAotICAgICAgICAgICAgICAgIFsxXSwKLSAgICAgICAgICAgICAgICBbLTEsIC0x
LCAwLCAwLCAwLCAwLCAyLCAzLCA0LCA0LCA0LCA3LCA5LCA5LCA5XQotICAgICAgICAgICAgXTsK
LSAgICAgICAgCi0gICAgICAgICAgICBmdW5jdGlvbiB0ZXN0QXJyYXkoYXJyYXksIHVzZUNvbXBh
cmF0b3IpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgZnVuY3Rpb24gY29tcGFyYXRv
cihhLCBiKQotICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGEg
PCBiID8gLTEgOiAoYSA+IGIgPyAxIDogMCk7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAK
LSAgICAgICAgICAgICAgICBmb3IgKHZhciB2YWx1ZSA9IC0yOyB2YWx1ZSA8PSAxMjsgKyt2YWx1
ZSkgewotICAgICAgICAgICAgICAgICAgICB2YXIgaW5kZXggPSB1c2VDb21wYXJhdG9yID8gYXJy
YXkudXBwZXJCb3VuZCh2YWx1ZSwgY29tcGFyYXRvcikgOiBhcnJheS51cHBlckJvdW5kKHZhbHVl
KTsKLSAgICAgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRUcnVlKDAgPD0gaW5k
ZXggJiYgaW5kZXggPD0gYXJyYXkubGVuZ3RoLCAiaW5kZXggaXMgd2l0aGluIGJvdW5kcyIpOwot
ICAgICAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydFRydWUoaW5kZXggPT09IDAg
fHwgYXJyYXlbaW5kZXggLSAxXSA8PSB2YWx1ZSwgImFycmF5W2luZGV4IC0gMV0gPD0gdmFsdWUi
KTsKLSAgICAgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRUcnVlKGluZGV4ID09
PSBhcnJheS5sZW5ndGggfHwgYXJyYXlbaW5kZXhdID4gdmFsdWUsICJhcnJheVtpbmRleF0gPiB2
YWx1ZSIpOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0KLSAgICAgICAgCi0gICAg
ICAgICAgICBmb3IgKHZhciBpID0gMCwgbCA9IHRlc3RBcnJheXMubGVuZ3RoOyBpIDwgbDsgKytp
KSB7Ci0gICAgICAgICAgICAgICAgdGVzdEFycmF5KHRlc3RBcnJheXNbaV0sIGZhbHNlKTsKLSAg
ICAgICAgICAgICAgICB0ZXN0QXJyYXkodGVzdEFycmF5c1tpXSwgdHJ1ZSk7Ci0gICAgICAgICAg
ICB9Ci0gICAgICAgICAgICBuZXh0KCk7Ci0gICAgICAgIH0sCi0gICAgICAgIAotCi0gICAgICAg
IGZ1bmN0aW9uIHFzZWxlY3RUZXN0KG5leHQpCi0gICAgICAgIHsKLSAgICAgICAgICAgIHZhciB0
ZXN0QXJyYXlzID0gWwotICAgICAgICAgICAgICAgIFtdLAotICAgICAgICAgICAgICAgIFswXSwK
LSAgICAgICAgICAgICAgICBbMCwgMCwgMCwgMCwgMCwgMCwgMCwgMF0sCi0gICAgICAgICAgICAg
ICAgWzQsIDMsIDIsIDFdLAotICAgICAgICAgICAgICAgIFsxLCAyLCAzLCA0LCA1XSwKLSAgICAg
ICAgICAgICAgICBbLTEsIDMsIDIsIDcsIDcsIDcsIDEwLCAxMiwgMywgNCwgLTEsIDJdCi0gICAg
ICAgICAgICBdOwotCi0gICAgICAgICAgICBmdW5jdGlvbiB0ZXN0QXJyYXkoYXJyYXkpCi0gICAg
ICAgICAgICB7Ci0gICAgICAgICAgICAgICAgZnVuY3Rpb24gY29tcGFyZShhLCBiKQotICAgICAg
ICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGEgLSBiOwotICAgICAgICAg
ICAgICAgIH0KLSAgICAgICAgICAgICAgICB2YXIgc29ydGVkID0gYXJyYXkuc2xpY2UoMCkuc29y
dChjb21wYXJlKTsKLQotICAgICAgICAgICAgICAgIHZhciByZWZlcmVuY2UgPSB7Ci0gICAgICAg
ICAgICAgICAgICAgIG1pbjogc29ydGVkWzBdLAotICAgICAgICAgICAgICAgICAgICBtZWRpYW46
IHNvcnRlZFtNYXRoLmZsb29yKHNvcnRlZC5sZW5ndGggLyAyKV0sCi0gICAgICAgICAgICAgICAg
ICAgIG1heDogc29ydGVkW3NvcnRlZC5sZW5ndGggLSAxXQotICAgICAgICAgICAgICAgIH07Ci0K
LSAgICAgICAgICAgICAgICB2YXIgYWN0dWFsID0gewotICAgICAgICAgICAgICAgICAgICBtaW46
IGFycmF5LnNsaWNlKDApLnFzZWxlY3QoMCksCi0gICAgICAgICAgICAgICAgICAgIG1lZGlhbjog
YXJyYXkuc2xpY2UoMCkucXNlbGVjdChNYXRoLmZsb29yKGFycmF5Lmxlbmd0aCAvIDIpKSwKLSAg
ICAgICAgICAgICAgICAgICAgbWF4OiBhcnJheS5zbGljZSgwKS5xc2VsZWN0KGFycmF5Lmxlbmd0
aCAtIDEpCi0gICAgICAgICAgICAgICAgfTsKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0
LmFkZFJlc3VsdCgiQXJyYXk6ICIgKyBKU09OLnN0cmluZ2lmeShhcnJheSkpOwotICAgICAgICAg
ICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJSZWZlcmVuY2U6ICIgKyBKU09OLnN0cmlu
Z2lmeShyZWZlcmVuY2UpKTsKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3Vs
dCgiQWN0dWFsOiAgICAiICsgSlNPTi5zdHJpbmdpZnkoYWN0dWFsKSk7Ci0gICAgICAgICAgICB9
Ci0gICAgICAgICAgICBmb3IgKHZhciBpID0gMCwgbCA9IHRlc3RBcnJheXMubGVuZ3RoOyBpIDwg
bDsgKytpKQotICAgICAgICAgICAgICAgIHRlc3RBcnJheSh0ZXN0QXJyYXlzW2ldKTsKLSAgICAg
ICAgICAgIG5leHQoKTsKLSAgICAgICAgfSwKLQotICAgICAgICBmdW5jdGlvbiBzb3J0UmFuZ2VU
ZXN0KG5leHQpCi0gICAgICAgIHsKLSAgICAgICAgICAgIHZhciB0ZXN0QXJyYXlzID0gWwotICAg
ICAgICAgICAgICAgIFtdLAotICAgICAgICAgICAgICAgIFsxXSwKLSAgICAgICAgICAgICAgICBb
MiwgMV0sCi0gICAgICAgICAgICAgICAgWzYsIDQsIDIsIDcsIDEwLCAxNSwgMV0sCi0gICAgICAg
ICAgICAgICAgWzEwLCA0NCwgMywgNiwgNTYsIDY2LCAxMCwgNTUsIDMyLCA1NiwgMiwgNV0KLSAg
ICAgICAgICAgIF07Ci0KLSAgICAgICAgICAgIGZ1bmN0aW9uIHRlc3RBcnJheShhcnJheSkKLSAg
ICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBmdW5jdGlvbiBjb21wYXJhdG9yKGEsIGIpCi0g
ICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICByZXR1cm4gYSA8IGIgPyAtMSA6
IChhID4gYiA/IDEgOiAwKTsKLSAgICAgICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgICAgICBm
dW5jdGlvbiBjb21wYXJlQXJyYXlzKGEsIGIsIG1lc3NhZ2UpCi0gICAgICAgICAgICAgICAgewot
ICAgICAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydEVxdWFscyhKU09OLnN0cmlu
Z2lmeShhKSwgSlNPTi5zdHJpbmdpZnkoYiksIG1lc3NhZ2UpOwotICAgICAgICAgICAgICAgIH0K
LQotICAgICAgICAgICAgICAgIGZvciAodmFyIGxlZnQgPSAwLCBsID0gYXJyYXkubGVuZ3RoIC0g
MTsgbGVmdCA8IGw7ICsrbGVmdCkgewotICAgICAgICAgICAgICAgICAgICAgZm9yICh2YXIgcmln
aHQgPSBsZWZ0ICsgMSwgciA9IGFycmF5Lmxlbmd0aDsgcmlnaHQgPCByOyArK3JpZ2h0KQotICAg
ICAgICAgICAgICAgICAgICAgICAgICBmb3IgKHZhciBjb3VudCA9IDEsIGsgPSByaWdodCAtIGxl
ZnQgKyAxOyBjb3VudCA8PSBrOyArK2NvdW50KSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB2YXIgYWN0dWFsID0gYXJyYXkuc2xpY2UoMCk7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBhY3R1YWwuc29ydFJhbmdlKGNvbXBhcmF0b3IsIGxlZnQsIHJpZ2h0LCBjb3VudCk7
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21wYXJlQXJyYXlzKGFycmF5LnNsaWNl
KDAsIGxlZnQpLCBhY3R1YWwuc2xpY2UoMCwgbGVmdCksICJsZWZ0ICIgKyBsZWZ0ICsgIiAiICsg
cmlnaHQgKyAiICIgKyBjb3VudCk7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21w
YXJlQXJyYXlzKGFycmF5LnNsaWNlKHJpZ2h0ICsgMSksIGFjdHVhbC5zbGljZShyaWdodCArIDEp
LCAicmlnaHQgIiArIGxlZnQgKyAiICIgKyByaWdodCArICIgIiArIGNvdW50KTsKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHZhciBtaWRkbGUgPSBhcnJheS5zbGljZShsZWZ0LCByaWdo
dCArIDEpOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWlkZGxlLnNvcnQoY29tcGFy
YXRvcik7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21wYXJlQXJyYXlzKG1pZGRs
ZS5zbGljZSgwLCBjb3VudCksIGFjdHVhbC5zbGljZShsZWZ0LCBsZWZ0ICsgY291bnQpLCAic29y
dGVkICIgKyBsZWZ0ICsgIiAiICsgcmlnaHQgKyAiICIgKyBjb3VudCk7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBhY3R1YWxSZXN0ID0gYWN0dWFsLnNsaWNlKGxlZnQgKyBjb3VudCwg
cmlnaHQgKyAxKTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdHVhbFJlc3Quc29y
dChjb21wYXJhdG9yKTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBhcmVBcnJh
eXMobWlkZGxlLnNsaWNlKGNvdW50KSwgYWN0dWFsUmVzdCwgInVuc29ydGVkICIgKyBsZWZ0ICsg
IiAiICsgcmlnaHQgKyAiICIgKyBjb3VudCk7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgIH0K
LSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIGZvciAodmFy
IGkgPSAwLCBsZW4gPSB0ZXN0QXJyYXlzLmxlbmd0aDsgaSA8IGxlbjsgKytpKQotICAgICAgICAg
ICAgICAgIHRlc3RBcnJheSh0ZXN0QXJyYXlzW2ldKTsKLSAgICAgICAgICAgIG5leHQoKTsKLSAg
ICAgICAgfQotICAgIF0pOwotfQotCi08L3NjcmlwdD4KLTwvaGVhZD4KLQotPGJvZHkgb25sb2Fk
PSJydW5UZXN0KCkiPgotPHA+Ci1UaGlzIHRlc3QgY2hlY2tzIFdlYiBJbnNwZWN0b3IgdXRpbGl0
aWVzLgotPC9wPgotCi08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9lZmwvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC9U
ZXN0RXhwZWN0YXRpb25zCmluZGV4IGRhNDZhNzVjMzllMWZlNzgxMjdmNmI0NzQ1Zjg1NTliZDdj
YTk1MzEuLjdjYTAyNWU2OTNiYWU5ZTI3YjI0M2Q5NDI2ZTcyZTdiMmU1YTE0YWQgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL2VmbC9UZXN0RXhwZWN0YXRpb25zCkBAIC0yMzksMTEgKzIzOSw2IEBA
IGh0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvY3Jvc3Mtb3JpZ2luLW5vLWF1dGhvcml6YXRpb24u
aHRtbAogaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9sb2dvdXQuaHRtbAogaHR0cC90ZXN0cy94
bWxodHRwcmVxdWVzdC9yZWRpcmVjdC1jcm9zcy1vcmlnaW4tdHJpcG1pbmUuaHRtbAogCi0jIFNr
aXBwaW5nIHRoZSB0ZXN0cyBmb3IgdGhlIG9sZCBpbnNwZWN0b3IgVUkKLXdlYmtpdC5vcmcvYi8x
MjEwOTYgaW5zcGVjdG9yIFsgU2tpcCBdCi1odHRwL3Rlc3RzL2luc3BlY3RvciBbIFNraXAgXQot
aHR0cC90ZXN0cy9pbnNwZWN0b3ItZW5hYmxlZCBbIFNraXAgXQotCiAjIFRoZXJlIGFyZSBubyBl
eHBlY3RlZCByZXN1bHQgc2V0IHlldC4KIGZhc3QvZG9tL3J0bC1zY3JvbGwtdG8tbGVmdG1vc3Qt
YW5kLXJlc2l6ZS5odG1sCiAKQEAgLTI2NSw3ICsyNjAsNiBAQCB3ZWJraXQub3JnL2IvOTkwOTYg
ZmFzdC9jYW52YXMvd2ViZ2wvYXJyYXlidWZmZXItdHJhbnNmZXItb2YtY29udHJvbC5odG1sIFsg
RmFpbAogCiAjIEluZGV4ZWREQiBpcyBvbiByZWZhY3RvcmluZy9yZWZyZXNoaW5nLCBzbyB0aGUg
dGVzdHMgYXJlIHF1aXRlIHVuc3RhYmxlIGF0IHRoaXMgcG9pbnQuCiB3ZWJraXQub3JnL2IvODc2
NjEgc3RvcmFnZS9pbmRleGVkZGIgWyBTa2lwIF0KLXdlYmtpdC5vcmcvYi84NzY2MSBodHRwL3Rl
c3RzL2luc3BlY3Rvci9pbmRleGVkZGIgWyBTa2lwIF0KIHdlYmtpdC5vcmcvYi84NzY2MSBodHRw
L3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi1pbmRleGVkZGItYWxsb3dlZC5odG1sIFsgU2tp
cCBdCiB3ZWJraXQub3JnL2IvODc2NjEgaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4t
aW5kZXhlZGRiLmh0bWwgWyBTa2lwIF0KIHdlYmtpdC5vcmcvYi84NzY2MSBodHRwL3Rlc3RzL3Nl
Y3VyaXR5L2Nyb3NzLW9yaWdpbi13b3JrZXItaW5kZXhlZGRiLWFsbG93ZWQuaHRtbCBbIFNraXAg
XQpAQCAtMTI0Nyw5ICsxMjQxLDYgQEAgd2Via2l0Lm9yZy9iLzYxNzk5IGNhbnZhcy9waGlsaXAv
dGVzdHMvMmQudGV4dC5kcmF3LnNwYWNlLmNvbGxhcHNlLnNwYWNlLmh0bWwgWwogd2Via2l0Lm9y
Zy9iLzYxNzk5IGNhbnZhcy9waGlsaXAvdGVzdHMvMmQudGV4dC5kcmF3LnNwYWNlLmNvbGxhcHNl
LnN0YXJ0Lmh0bWwgWyBGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi82MTc5OSBjYW52YXMvcGhpbGlw
L3Rlc3RzLzJkLnRleHQubWVhc3VyZS53aWR0aC5zcGFjZS5odG1sIFsgRmFpbHVyZSBdCiAKLSMg
SlNDIGRvZXNuJ3Qgc3VwcG9ydCBoZWFwIHByb2ZpbGluZwotd2Via2l0Lm9yZy9iLzUwNDg1IGlu
c3BlY3Rvci1wcm90b2NvbC9oZWFwLXByb2ZpbGVyIFsgU2tpcCBdCi0KIHdlYmtpdC5vcmcvYi85
Mzk3NiBmYXN0L2Nzcy1nZW5lcmF0ZWQtY29udGVudC9xdW90ZXMtbGFuZy5odG1sIFsgSW1hZ2VP
bmx5RmFpbHVyZSBdCiAKICMgVGhpcyBoYXMgYWx3YXlzIGZhaWxlZCBvbiBHdGsvRWZsIC0gZXhw
b3NlZCBieSBidWcgODk4MjYKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9U
ZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlv
bnMKaW5kZXggNzc5OWVmMzgwMGVlN2Q2OTJlN2RhZjY0Mjk4ZGE4MDM5ZmY2OTAwNS4uMDZkZjFh
NzgyZGQ2NmRlNTdjNzRlNGE0ODMzMDY0YzhhOWU2ZjE2OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTEwNTAsMTIgKzEwNTAsNiBAQCB3ZWJraXQub3Jn
L2IvMzY2MjcgZWRpdGluZy9zZWxlY3Rpb24vZXh0ZW5kLWFmdGVyLW1vdXNlLXNlbGVjdGlvbi5o
dG1sIFsgRmFpbHVyZQogIyBOZWVkIHRvIGFkZCBmdW5jdGlvbmFsaXR5IHRvIER1bXBSZW5kZXJU
cmVlIHRvIGhhbmRsZSBzY3JvbGxiYXIgcG9saWN5IGNoYW5nZXMKIEJ1ZyhHVEspIGZhc3Qvb3Zl
cmZsb3cvc2Nyb2xsYmFyLXJlc3RvcmVkLWFuZC10aGVuLWxvY2tlZC5odG1sIFsgRmFpbHVyZSBd
CiAKLSMgU2tpcHBpbmcgdGhlIHRlc3RzIGZvciB0aGUgb2xkIGluc3BlY3RvciBVSQotd2Via2l0
Lm9yZy9iLzgzMTc0IGluc3BlY3RvciBbIFNraXAgXQotd2Via2l0Lm9yZy9iLzgzMTc0IGluc3Bl
Y3Rvci1wcm90b2NvbC9oZWFwLXByb2ZpbGVyIFsgU2tpcCBdCi13ZWJraXQub3JnL2IvODMxNzQg
aHR0cC90ZXN0cy9pbnNwZWN0b3IgWyBTa2lwIF0KLXdlYmtpdC5vcmcvYi84MzE3NCBodHRwL3Rl
c3RzL2luc3BlY3Rvci1lbmFibGVkIFsgU2tpcCBdCi0KIHdlYmtpdC5vcmcvYi8zNzYxMyB3ZWJr
aXQub3JnL2IvMjAwMTEgcHJpbnRpbmcgWyBTa2lwIF0KIHdlYmtpdC5vcmcvYi8zNzYxMyBlZGl0
aW5nL2V4ZWNDb21tYW5kL3ByaW50Lmh0bWwgWyBTa2lwIF0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjLXdrMi9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDhjYTJlYmQzMTE5NWIwN2QzMDZi
MjA1Y2JiNWEzNzg4YTk4ZjI0YzUuLmM1MGQ1NWZhMWVkNDFiNjg5NzQ3Y2I3ZjRlYmM0ZGFhZTU2
YWZkYjIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvVGVzdEV4cGVj
dGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlv
bnMKQEAgLTE4NiwxMSArMTg2LDYgQEAgZmFzdC9ldmVudHMvZHJhZy1saW5rLmh0bWwKICMgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgyMDYxIHJkYXI6Ly9wcm9ibGVt
LzExMTA4NjQ5CiBodHRwL3Rlc3RzL2FwcGNhY2hlCiAKLSMgU2tpcHBpbmcgdGhlIHRlc3RzIGZv
ciB0aGUgb2xkIGluc3BlY3RvciBVSQotaW5zcGVjdG9yIFsgU2tpcCBdCi1odHRwL3Rlc3RzL2lu
c3BlY3RvciBbIFNraXAgXQotaHR0cC90ZXN0cy9pbnNwZWN0b3ItZW5hYmxlZCBbIFNraXAgXQot
CiAjIGZsYWt5IHN0b3JhZ2UgdGVzdHMKICMgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTgyNjc5CiBzdG9yYWdlL3dlYnNxbC9zdGF0ZW1lbnQtc3VjY2Vzcy1jYWxsYmFj
ay1pc29sYXRlZC13b3JsZC5odG1sCkBAIC02MzcsNyArNjMyLDYgQEAgaHR0cC90ZXN0cy9zZWN1
cml0eS9jcm9zcy1vcmlnaW4td29ya2VyLWluZGV4ZWRkYi5odG1sIFsgU2tpcCBdCiBbIE1hdmVy
aWNrcyBdIGh0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLXBsdWdpbi1wcml2YXRlLWJy
b3dzaW5nLXRvZ2dsZWQuaHRtbCBbIFNraXAgXQogWyBNYXZlcmlja3MgXSBodHRwL3Rlc3RzL3Nl
Y3VyaXR5L3N0b3JhZ2UtYmxvY2tpbmctbG9vc2VuZWQtcHJpdmF0ZS1icm93c2luZy1wbHVnaW4u
aHRtbCBbIFNraXAgXQogWyBNYXZlcmlja3MgXSBodHRwL3Rlc3RzL3NlY3VyaXR5L3N0b3JhZ2Ut
YmxvY2tpbmctc3RyZW5ndGhlbmVkLXByaXZhdGUtYnJvd3NpbmctcGx1Z2luLmh0bWwgWyBTa2lw
IF0KLVsgTWF2ZXJpY2tzIF0gaW5zcGVjdG9yL2NvbnNvbGUvY2xpZW50cy1pZ25vcmVkLWluLXBy
aXZhdGVicm93c2luZy5odG1sIFsgU2tpcCBdCiBbIE1hdmVyaWNrcyBdIHBsdWdpbnMvcHJpdmF0
ZS1icm93c2luZy1tb2RlLTIuaHRtbCBbIFNraXAgXQogWyBNYXZlcmlja3MgXSBwbHVnaW5zL3By
aXZhdGUtYnJvd3NpbmctbW9kZS5odG1sIFsgU2tpcCBdCiBbIE1hdmVyaWNrcyBdIHN0b3JhZ2Uv
ZG9tc3RvcmFnZS9sb2NhbHN0b3JhZ2UvcHJpdmF0ZS1icm93c2luZy1hZmZlY3RzLXN0b3JhZ2Uu
aHRtbCBbIFNraXAgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RF
eHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucwpp
bmRleCA4ZTAwM2NkODkzMzAwZThlMTFiMjhmYzIyNjk3NGE4NDQwOTJlNGQ5Li44MmY4NDIyNTQy
YmUyZTY0NjgzOGIxYWM4M2ZmMDAzNTUzYzU3ZjRhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMjE5LDE1ICsyMTksNiBAQCB3ZWJraXQub3JnL2IvNDI4
MjEgYW5pbWF0aW9ucy9wbGF5LXN0YXRlLmh0bWwKIHdlYmtpdC5vcmcvYi8xMTM1OTggYW5pbWF0
aW9ucy9hbmltYXRpb24tZGVsYXktY2hhbmdlZC5odG1sIFsgUGFzcyBGYWlsdXJlIF0KIHdlYmtp
dC5vcmcvYi8xMTM1OTkgc3ZnL2FuaW1hdGlvbnMvcmVpbnNlcnRpbmctc3ZnLWludG8tZG9jdW1l
bnQuaHRtbCBbIFBhc3MgRmFpbHVyZSBdCiAKLSMgU2tpcHBpbmcgdGhlIHRlc3RzIGZvciB0aGUg
b2xkIGluc3BlY3RvciBVSQotaW5zcGVjdG9yIFsgU2tpcCBdCi1odHRwL3Rlc3RzL2luc3BlY3Rv
ciBbIFNraXAgXQotaHR0cC90ZXN0cy9pbnNwZWN0b3ItZW5hYmxlZCBbIFNraXAgXQotCi0jIEpT
QyBkb2Vzbid0IHN1cHBvcnQgaGVhcCBwcm9maWxpbmcKLSMgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTUwNDg1Ci13ZWJraXQub3JnL2IvNTA0ODUgaW5zcGVjdG9yLXBy
b3RvY29sL2hlYXAtcHJvZmlsZXIgWyBTa2lwIF0KLQogIyBGbGFrZXkgbm90aWZpY2F0aW9uIHRl
c3QuCiB3ZWJraXQub3JnL2IvMTEyNDk5IGh0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy93aW5kb3ct
c2hvdy1vbi1jbGljay5odG1sIFsgUGFzcyBGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8xMTI0OTkg
aHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2FjeS93aW5kb3ctc2hvdy1vbi1jbGljay5odG1s
IFsgUGFzcyBGYWlsdXJlIF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi14
cC9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luLXhwL1Rlc3RFeHBl
Y3RhdGlvbnMKaW5kZXggZTZmM2UyOWU3MGEzYmZmMzkzMWE4YTljMGVhNjEzZDYwOGVjMjBkNi4u
ZDJlNTRhNDE3NzQ3NDRkMGI2MTc3MGJlMDcyODg0Mzg1NDJkOTFhZiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vd2luLXhwL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vd2luLXhwL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTM2LDggKzM2LDMgQEAgZmFz
dC9pbWFnZXMvZW1iZWQtaW1hZ2UuaHRtbAogIyBGYWlsIHVudGlsIFNVQlBJWEVMX0xBWU9VVCBp
cyBlbmFibGVkCiAjIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NTUz
MgogZmFzdC9zdWItcGl4ZWwKLQotIyBTa2lwcGluZyB0aGUgdGVzdHMgZm9yIHRoZSBvbGQgaW5z
cGVjdG9yIFVJCi1pbnNwZWN0b3IgWyBTa2lwIF0KLWh0dHAvdGVzdHMvaW5zcGVjdG9yIFsgU2tp
cCBdCi1odHRwL3Rlc3RzL2luc3BlY3Rvci1lbmFibGVkIFsgU2tpcCBdCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL3dpbi9UZXN0RXhwZWN0YXRpb25zCmluZGV4IGZkMTlhZTdmODMzYTNhZWIyMDcyNjlj
NTBlOWIyOTBjOTc5MzVjYzcuLjRmMjZkN2VkNzNlM2QwNTRlMjFlNGJjMDI1YWM1NDdiZTM2YTRk
MzAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9UZXN0RXhwZWN0YXRpb25z
CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9UZXN0RXhwZWN0YXRpb25zCkBAIC04MCwx
MSArODAsNiBAQCBodHRwL3Rlc3RzL3NzbAogaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1mcmFt
ZS1hY2Nlc3MtcHJvdG9jb2wtZXhwbGljaXQtZG9tYWluLmh0bWwKIGh0dHAvdGVzdHMvc2VjdXJp
dHkvY3Jvc3MtZnJhbWUtYWNjZXNzLXByb3RvY29sLmh0bWwKIAotIyBTa2lwcGluZyB0aGUgdGVz
dHMgZm9yIHRoZSBvbGQgaW5zcGVjdG9yIFVJCi1pbnNwZWN0b3IgWyBTa2lwIF0KLWh0dHAvdGVz
dHMvaW5zcGVjdG9yIFsgU2tpcCBdCi1odHRwL3Rlc3RzL2luc3BlY3Rvci1lbmFibGVkIFsgU2tp
cCBdCi0KICMgVGhlIGZvbGxvd2luZyBuZWVkcyBhIHJlYmFzZWxpbmUKIHdlYmtpdC5vcmcvYi8x
MjU3NTQganMvZG9tL2dsb2JhbC1jb25zdHJ1Y3RvcnMtYXR0cmlidXRlcy5odG1sIFsgRmFpbHVy
ZSBdCiAKQEAgLTE5MDMsOSArMTg5OCw2IEBAIHdlYmtpdC5vcmcvYi8xMjg5NzkgaW5zcGVjdG9y
LXByb3RvY29sL2RlYnVnZ2VyL3BhdXNlLW9uLWFzc2VydC5odG1sIFsgUGFzcyBGYWlsCiB3ZWJr
aXQub3JnL2IvMTI4OTc5IGluc3BlY3Rvci1wcm90b2NvbC9kZWJ1Z2dlci9zZXRCcmVha3BvaW50
LWRmZy1hbmQtbW9kaWZ5LWxvY2FsLmh0bWwgWyBGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8xMjg5
NzkgaW5zcGVjdG9yLXByb3RvY29sL2RlYnVnZ2VyL3NldEJyZWFrcG9pbnQtZGZnLmh0bWwgWyBG
YWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8xMDA4NDYgaW5zcGVjdG9yLXByb3RvY29sL2RlYnVnZ2Vy
L3Rlcm1pbmF0ZS1kZWRpY2F0ZWQtd29ya2VyLXdoaWxlLXBhdXNlZC5odG1sIFsgRmFpbHVyZSBd
Ci13ZWJraXQub3JnL2IvMTI4OTc5IGluc3BlY3Rvci1wcm90b2NvbC9oZWFwLXByb2ZpbGVyL2hl
YXAtc25hcHNob3Qtd2l0aC1kZXRhY2hlZC1kb20tdHJlZS5odG1sIFsgRmFpbHVyZSBdCi13ZWJr
aXQub3JnL2IvMTI4OTc5IGluc3BlY3Rvci1wcm90b2NvbC9oZWFwLXByb2ZpbGVyL2hlYXAtc25h
cHNob3Qtd2l0aC1ldmVudC1saXN0ZW5lci5odG1sIFsgRmFpbHVyZSBdCi13ZWJraXQub3JnL2Iv
MTI4OTc5IGluc3BlY3Rvci1wcm90b2NvbC9oZWFwLXByb2ZpbGVyL3Rha2UtaGVhcC1zbmFwc2hv
dC5odG1sIFsgRmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMTI4OTc5IGluc3BlY3Rvci1wcm90b2Nv
bC9tb2RlbC9jb250ZW50LW5vZGUtcmVnaW9uLWluZm8uaHRtbCBbIFBhc3MgRmFpbHVyZSBdCiB3
ZWJraXQub3JnL2IvMTI4OTc5IFsgRGVidWcgXSBpbnNwZWN0b3ItcHJvdG9jb2wvZG9tL2dldEFj
Y2Vzc2liaWxpdHlQcm9wZXJ0aWVzRm9yTm9kZS5odG1sIFsgQ3Jhc2ggXQogd2Via2l0Lm9yZy9i
LzEyODk3OSBbIFJlbGVhc2UgXSBpbnNwZWN0b3ItcHJvdG9jb2wvZG9tL2dldEFjY2Vzc2liaWxp
dHlQcm9wZXJ0aWVzRm9yTm9kZS5odG1sIFsgUGFzcyBGYWlsdXJlIF0KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL3dpbmNhaXJvL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS93aW5jYWlyby9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDkxN2Y4MjM1OTFiNjY4
OTc3ZjA2MGJiMjQ3ZTE3YWNkMTk4NTBhMDkuLjM5OTg0MjJiYTQ4YTIyYmFjMDU5MmRkZWMyMDlm
M2Y0MTVlMjFiM2QgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbmNhaXJvL1Rl
c3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luY2Fpcm8vVGVzdEV4
cGVjdGF0aW9ucwpAQCAtNDMyLDExICs0MzIsNiBAQCBmb250cy9tb25vc3BhY2UuaHRtbAogZm9u
dHMvc2Fucy1zZXJpZi5odG1sIAogZm9udHMvc2VyaWYuaHRtbCAKIAotIyBTa2lwcGluZyB0aGUg
dGVzdHMgZm9yIHRoZSBvbGQgaW5zcGVjdG9yIFVJCi1pbnNwZWN0b3IgWyBTa2lwIF0KLWh0dHAv
dGVzdHMvaW5zcGVjdG9yIFsgU2tpcCBdCi1odHRwL3Rlc3RzL2luc3BlY3Rvci1lbmFibGVkIFsg
U2tpcCBdCi0KIGxvYWRlci9nby1iYWNrLXRvLWRpZmZlcmVudC13aW5kb3ctc2l6ZS5odG1sIAog
bG9hZGVyL2xvYWQtZGVmZXItcmVzdW1lLWNyYXNoLmh0bWwKIApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vd2syL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS93azIvVGVzdEV4cGVjdGF0aW9ucwppbmRleCBhZTNlMWYyMzZjZTlhNTNhYjA5MzFjMmFlNzUy
YzdjMDNkZTBmMzcyLi4yMmJkYzIwOTc4NDdjN2U0N2RkN2VmYWY4NDZlNTBiZmE0NDhhOTEwIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93azIvVGVzdEV4cGVjdGF0aW9ucworKysg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93azIvVGVzdEV4cGVjdGF0aW9ucwpAQCAtNjAsMTEgKzYw
LDYgQEAgcGxhdGZvcm0vbWFjL2FjY2Vzc2liaWxpdHkvaWZyYW1lLXdpdGgtdGl0bGUtY29ycmVj
dC1oaWVyYXJjaHkuaHRtbAogY29tcG9zaXRpbmcvaWZyYW1lcy9pZnJhbWUtc2l6ZS1mcm9tLXpl
cm8uaHRtbAogY29tcG9zaXRpbmcvaWZyYW1lcy9pZnJhbWUtc3JjLWNoYW5nZS5odG1sCiAKLSMg
U2tpcHBpbmcgdGhlIHRlc3RzIGZvciB0aGUgb2xkIGluc3BlY3RvciBVSQotaW5zcGVjdG9yIFsg
U2tpcCBdCi1odHRwL3Rlc3RzL2luc3BlY3RvciBbIFNraXAgXQotaHR0cC90ZXN0cy9pbnNwZWN0
b3ItZW5hYmxlZCBbIFNraXAgXQotCiAjIEZsYWtleSBvbiBTbm93IExlb3BhcmQgSW50ZWwgV2Vi
S2l0MiBSZWxlYXNlIFRlc3RzCiAjIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD01ODE4MwogZWRpdGluZy9leGVjQ29tbWFuZC9jb252ZXJ0LXN0eWxlLWVsZW1lbnRzLXRv
LXNwYW5zLmh0bWwK
</data>

          </attachment>
      

    </bug>

</bugzilla>