<?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>215708</bug_id>
          
          <creation_ts>2020-08-20 12:51:55 -0700</creation_ts>
          <short_desc>Update test262 to commit e0a65ee75ef8</short_desc>
          <delta_ts>2020-08-20 13:38:15 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Enhancement</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alexey Shvayka">ashvayka</reporter>
          <assigned_to name="Alexey Shvayka">ashvayka</assigned_to>
          <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1681775</commentid>
    <comment_count>0</comment_count>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2020-08-20 12:51:55 -0700</bug_when>
    <thetext>Update test262 to commit e0a65ee75ef8</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1681779</commentid>
    <comment_count>1</comment_count>
      <attachid>406958</attachid>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2020-08-20 12:57:52 -0700</bug_when>
    <thetext>Created attachment 406958
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1681785</commentid>
    <comment_count>2</comment_count>
      <attachid>406958</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-08-20 13:08:17 -0700</bug_when>
    <thetext>Comment on attachment 406958
Patch

rs=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1681796</commentid>
    <comment_count>3</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-08-20 13:37:50 -0700</bug_when>
    <thetext>Committed r265961: &lt;https://trac.webkit.org/changeset/265961&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 406958.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1681797</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-08-20 13:38:15 -0700</bug_when>
    <thetext>&lt;rdar://problem/67502907&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>406958</attachid>
            <date>2020-08-20 12:57:52 -0700</date>
            <delta_ts>2020-08-20 13:37:50 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-215708-20200820225750.patch</filename>
            <type>text/plain</type>
            <size>852060</size>
            <attacher name="Alexey Shvayka">ashvayka</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY1OTU0CmRpZmYgLS1naXQgYS9KU1Rlc3RzL0NoYW5nZUxv
ZyBiL0pTVGVzdHMvQ2hhbmdlTG9nCmluZGV4IDI1ZTJlMGE4NDY5ZDlkZmMxZTcxNTg4YWNiNGIy
YjM5OWZkZWNjZjYuLmNlYzQyZDk5OTAzZDJlNDczNTFiYmZjNzIzZmQwZWY1ZGIyN2Y5ZDcgMTAw
NjQ0Ci0tLSBhL0pTVGVzdHMvQ2hhbmdlTG9nCisrKyBiL0pTVGVzdHMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTYgQEAKKzIwMjAtMDgtMjAgIEFsZXhleSBTaHZheWthICA8c2h2YWlrYWxlc2hAZ21h
aWwuY29tPgorCisgICAgICAgIFVwZGF0ZSB0ZXN0MjYyIHRvIGNvbW1pdCBlMGE2NWVlNzVlZjgK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNTcwOAor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogdGVzdDI2
Mi9leHBlY3RhdGlvbnMueWFtbDoKKyAgICAgICAgKiB0ZXN0MjYyL2hhcm5lc3MvKjogVXBkYXRl
ZC4KKyAgICAgICAgKiB0ZXN0MjYyL2xhdGVzdC1jaGFuZ2VzLXN1bW1hcnkudHh0OgorICAgICAg
ICAqIHRlc3QyNjIvdGVzdC8qOiBVcGRhdGVkLgorICAgICAgICAqIHRlc3QyNjIvdGVzdDI2Mi1S
ZXZpc2lvbi50eHQ6CisKIDIwMjAtMDgtMTkgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxl
LmNvbT4KIAogICAgICAgICBbSlNDXSBBZGQgT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMgY2Fj
aGluZyBhcyBpdCBpcyBkb25lIGZvciBPYmplY3Qua2V5cywgYW5kIGFjY2VsZXJhdGUgT2JqZWN0
LmdldE93blByb3BlcnR5RGVzY3JpcHRvcgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL2V4
cGVjdGF0aW9ucy55YW1sIGIvSlNUZXN0cy90ZXN0MjYyL2V4cGVjdGF0aW9ucy55YW1sCmluZGV4
IDcwNTEyYjRmZTE1ZDU1MjYzN2U1NTQwZDE5OTUwMmM3ZWVmMzFkMTAuLmIyZjQ0ZTgwNmI3MzQ3
YmNiYWM1Y2I3ZWMyYmE4YWE4NmJhOTcxZTYgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi9l
eHBlY3RhdGlvbnMueWFtbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvZXhwZWN0YXRpb25zLnlhbWwK
QEAgLTYzMyw2ICs2MzMsMTIgQEAgdGVzdC9idWlsdC1pbnMvQXJyYXlCdWZmZXIvcHJvdG90eXBl
L3NsaWNlL3NwZWNpZXMuanM6CiB0ZXN0L2J1aWx0LWlucy9BcnJheUl0ZXJhdG9yUHJvdG90eXBl
L25leHQvZGV0YWNoLXR5cGVkYXJyYXktaW4tcHJvZ3Jlc3MuanM6CiAgIGRlZmF1bHQ6ICdUZXN0
MjYyRXJyb3I6IEV4cGVjdGVkIGEgVHlwZUVycm9yIHRvIGJlIHRocm93biBidXQgbm8gZXhjZXB0
aW9uIHdhcyB0aHJvd24gYXQgYWxsIChUZXN0aW5nIHdpdGggRmxvYXQ2NEFycmF5LiknCiAgIHN0
cmljdCBtb2RlOiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBhIFR5cGVFcnJvciB0byBiZSB0aHJv
d24gYnV0IG5vIGV4Y2VwdGlvbiB3YXMgdGhyb3duIGF0IGFsbCAoVGVzdGluZyB3aXRoIEZsb2F0
NjRBcnJheS4pJwordGVzdC9idWlsdC1pbnMvQXN5bmNGdW5jdGlvbi9Bc3luY0Z1bmN0aW9uUHJv
dG90eXBlLWlzLW5vdC1jYWxsYWJsZS5qczoKKyAgZGVmYXVsdDogJ1Rlc3QyNjJFcnJvcjogbGVu
Z3RoJworICBzdHJpY3QgbW9kZTogJ1Rlc3QyNjJFcnJvcjogbGVuZ3RoJwordGVzdC9idWlsdC1p
bnMvQXN5bmNHZW5lcmF0b3JGdW5jdGlvbi9wcm90b3R5cGUvbm90LWNhbGxhYmxlLmpzOgorICBk
ZWZhdWx0OiAnVGVzdDI2MkVycm9yOiBsZW5ndGgnCisgIHN0cmljdCBtb2RlOiAnVGVzdDI2MkVy
cm9yOiBsZW5ndGgnCiB0ZXN0L2J1aWx0LWlucy9EYXRhVmlldy9jdXN0b20tcHJvdG8tYWNjZXNz
LWRldGFjaGVzLWJ1ZmZlci5qczoKICAgZGVmYXVsdDogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQg
YSBUeXBlRXJyb3IgdG8gYmUgdGhyb3duIGJ1dCBubyBleGNlcHRpb24gd2FzIHRocm93biBhdCBh
bGwnCiAgIHN0cmljdCBtb2RlOiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBhIFR5cGVFcnJvciB0
byBiZSB0aHJvd24gYnV0IG5vIGV4Y2VwdGlvbiB3YXMgdGhyb3duIGF0IGFsbCcKQEAgLTc2Miw5
ICs3NjgsMTUgQEAgdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vaW50ZXJuYWxzL0NvbnN0cnVjdC9k
ZXJpdmVkLXJldHVybi12YWwtcmVhbG0uanM6CiB0ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9pbnRl
cm5hbHMvQ29uc3RydWN0L2Rlcml2ZWQtdGhpcy11bmluaXRpYWxpemVkLXJlYWxtLmpzOgogICBk
ZWZhdWx0OiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBhIFJlZmVyZW5jZUVycm9yIGJ1dCBnb3Qg
YSBSZWZlcmVuY2VFcnJvcicKICAgc3RyaWN0IG1vZGU6ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVk
IGEgUmVmZXJlbmNlRXJyb3IgYnV0IGdvdCBhIFJlZmVyZW5jZUVycm9yJwotdGVzdC9idWlsdC1p
bnMvRnVuY3Rpb24vcHJvdG90eXBlL2JpbmQvbGVuZ3RoLWV4Y2VlZHMtaW50MzIuanM6Cit0ZXN0
L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvYmluZC9pbnN0YW5jZS1sZW5ndGgtZXhjZWVk
cy1pbnQzMi5qczoKICAgZGVmYXVsdDogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQgU2FtZVZhbHVl
KMKrMMK7LCDCqzIxNDc0ODM2NDjCuykgdG8gYmUgdHJ1ZScKICAgc3RyaWN0IG1vZGU6ICdUZXN0
MjYyRXJyb3I6IEV4cGVjdGVkIFNhbWVWYWx1ZSjCqzDCuywgwqsyMTQ3NDgzNjQ4wrspIHRvIGJl
IHRydWUnCit0ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvYmluZC9pbnN0YW5jZS1s
ZW5ndGgtdG9pbnRlZ2VyLmpzOgorICBkZWZhdWx0OiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBT
YW1lVmFsdWUowqswwrssIMKrSW5maW5pdHnCuykgdG8gYmUgdHJ1ZScKKyAgc3RyaWN0IG1vZGU6
ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVkIFNhbWVWYWx1ZSjCqzDCuywgwqtJbmZpbml0ecK7KSB0
byBiZSB0cnVlJwordGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL2xlbmd0aC5qczoK
KyAgZGVmYXVsdDogJ1Rlc3QyNjJFcnJvcjogZGVzY3JpcHRvciBzaG91bGQgYmUgY29uZmlndXJh
YmxlJworICBzdHJpY3QgbW9kZTogJ1Rlc3QyNjJFcnJvcjogZGVzY3JpcHRvciBzaG91bGQgYmUg
Y29uZmlndXJhYmxlJwogdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL3RvU3RyaW5n
L0FzeW5jRnVuY3Rpb24uanM6CiAgIGRlZmF1bHQ6ICJTeW50YXhFcnJvcjogVW5leHBlY3RlZCB0
b2tlbiAnOycuIEV4cGVjdGVkIGEgJyknIG9yIGEgJywnIGFmdGVyIGEgcGFyYW1ldGVyIGRlY2xh
cmF0aW9uLiIKICAgc3RyaWN0IG1vZGU6ICJTeW50YXhFcnJvcjogVW5leHBlY3RlZCB0b2tlbiAn
OycuIEV4cGVjdGVkIGEgJyknIG9yIGEgJywnIGFmdGVyIGEgcGFyYW1ldGVyIGRlY2xhcmF0aW9u
LiIKQEAgLTc3OCwxMjggKzc5MCwxMzEgQEAgdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90
eXBlL3RvU3RyaW5nL0dlbmVyYXRvckZ1bmN0aW9uLmpzOgogICBkZWZhdWx0OiAiU3ludGF4RXJy
b3I6IFVuZXhwZWN0ZWQga2V5d29yZCAneWllbGQnLiBFeHBlY3RlZCBhICcpJyBvciBhICcsJyBh
ZnRlciBhIHBhcmFtZXRlciBkZWNsYXJhdGlvbi4iCiAgIHN0cmljdCBtb2RlOiAiU3ludGF4RXJy
b3I6IFVuZXhwZWN0ZWQga2V5d29yZCAneWllbGQnLiBFeHBlY3RlZCBhICcpJyBvciBhICcsJyBh
ZnRlciBhIHBhcmFtZXRlciBkZWNsYXJhdGlvbi4iCiB0ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9w
cm90b3R5cGUvdG9TdHJpbmcvYXN5bmMtYXJyb3ctZnVuY3Rpb24uanM6Ci0gIGRlZmF1bHQ6ICJU
ZXN0MjYyRXJyb3I6IENvbmZvcm1zIHRvIE5hdGl2ZUZ1bmN0aW9uIFN5bnRheDogJ2FzeW5jICgg
LyogYiAqLyBhIC8qIGMgKi8gLCAvKiBkICovIGIgLyogZSAqLyApIC8qIGYgKi8gPT4gLyogZyAq
LyB7IC8qIGggKi8gOyAvKiBpICovIH0nLihhc3luYyAvKiBhICovICggLyogYiAqLyBhIC8qIGMg
Ki8gLCAvKiBkICovIGIgLyogZSAqLyApIC8qIGYgKi8gPT4gLyogZyAqLyB7IC8qIGggKi8gOyAv
KiBpICovIH0pIgotICBzdHJpY3QgbW9kZTogIlRlc3QyNjJFcnJvcjogQ29uZm9ybXMgdG8gTmF0
aXZlRnVuY3Rpb24gU3ludGF4OiAnYXN5bmMgKCAvKiBiICovIGEgLyogYyAqLyAsIC8qIGQgKi8g
YiAvKiBlICovICkgLyogZiAqLyA9PiAvKiBnICovIHsgLyogaCAqLyA7IC8qIGkgKi8gfScuKGFz
eW5jIC8qIGEgKi8gKCAvKiBiICovIGEgLyogYyAqLyAsIC8qIGQgKi8gYiAvKiBlICovICkgLyog
ZiAqLyA9PiAvKiBnICovIHsgLyogaCAqLyA7IC8qIGkgKi8gfSkiCisgIGRlZmF1bHQ6ICdUZXN0
MjYyRXJyb3I6IENvbmZvcm1zIHRvIE5hdGl2ZUZ1bmN0aW9uIFN5bnRheDogImFzeW5jICggLyog
YiAqLyBhIC8qIGMgKi8gLCAvKiBkICovIGIgLyogZSAqLyApIC8qIGYgKi8gPT4gLyogZyAqLyB7
IC8qIGggKi8gOyAvKiBpICovIH0iIChhc3luYyAvKiBhICovICggLyogYiAqLyBhIC8qIGMgKi8g
LCAvKiBkICovIGIgLyogZSAqLyApIC8qIGYgKi8gPT4gLyogZyAqLyB7IC8qIGggKi8gOyAvKiBp
ICovIH0pJworICBzdHJpY3QgbW9kZTogJ1Rlc3QyNjJFcnJvcjogQ29uZm9ybXMgdG8gTmF0aXZl
RnVuY3Rpb24gU3ludGF4OiAiYXN5bmMgKCAvKiBiICovIGEgLyogYyAqLyAsIC8qIGQgKi8gYiAv
KiBlICovICkgLyogZiAqLyA9PiAvKiBnICovIHsgLyogaCAqLyA7IC8qIGkgKi8gfSIgKGFzeW5j
IC8qIGEgKi8gKCAvKiBiICovIGEgLyogYyAqLyAsIC8qIGQgKi8gYiAvKiBlICovICkgLyogZiAq
LyA9PiAvKiBnICovIHsgLyogaCAqLyA7IC8qIGkgKi8gfSknCiB0ZXN0L2J1aWx0LWlucy9GdW5j
dGlvbi9wcm90b3R5cGUvdG9TdHJpbmcvYXN5bmMtZnVuY3Rpb24tZGVjbGFyYXRpb24uanM6Ci0g
IGRlZmF1bHQ6ICJUZXN0MjYyRXJyb3I6IENvbmZvcm1zIHRvIE5hdGl2ZUZ1bmN0aW9uIFN5bnRh
eDogJ2FzeW5jIGZ1bmN0aW9uIGYoIC8qIGMgKi8geCAvKiBkICovICwgLyogZSAqLyB5IC8qIGYg
Ki8gKSAvKiBnICovIHsgLyogaCAqLyA7IC8qIGkgKi8gOyAvKiBqICovIH0nLihhc3luYyBmdW5j
dGlvbiAvKiBhICovIGYgLyogYiAqLyAoIC8qIGMgKi8geCAvKiBkICovICwgLyogZSAqLyB5IC8q
IGYgKi8gKSAvKiBnICovIHsgLyogaCAqLyA7IC8qIGkgKi8gOyAvKiBqICovIH0pIgotICBzdHJp
Y3QgbW9kZTogIlRlc3QyNjJFcnJvcjogQ29uZm9ybXMgdG8gTmF0aXZlRnVuY3Rpb24gU3ludGF4
OiAnYXN5bmMgZnVuY3Rpb24gZiggLyogYyAqLyB4IC8qIGQgKi8gLCAvKiBlICovIHkgLyogZiAq
LyApIC8qIGcgKi8geyAvKiBoICovIDsgLyogaSAqLyA7IC8qIGogKi8gfScuKGFzeW5jIGZ1bmN0
aW9uIC8qIGEgKi8gZiAvKiBiICovICggLyogYyAqLyB4IC8qIGQgKi8gLCAvKiBlICovIHkgLyog
ZiAqLyApIC8qIGcgKi8geyAvKiBoICovIDsgLyogaSAqLyA7IC8qIGogKi8gfSkiCisgIGRlZmF1
bHQ6ICdUZXN0MjYyRXJyb3I6IENvbmZvcm1zIHRvIE5hdGl2ZUZ1bmN0aW9uIFN5bnRheDogImFz
eW5jIGZ1bmN0aW9uIGYoIC8qIGMgKi8geCAvKiBkICovICwgLyogZSAqLyB5IC8qIGYgKi8gKSAv
KiBnICovIHsgLyogaCAqLyA7IC8qIGkgKi8gOyAvKiBqICovIH0iIChhc3luYyBmdW5jdGlvbiAv
KiBhICovIGYgLyogYiAqLyAoIC8qIGMgKi8geCAvKiBkICovICwgLyogZSAqLyB5IC8qIGYgKi8g
KSAvKiBnICovIHsgLyogaCAqLyA7IC8qIGkgKi8gOyAvKiBqICovIH0pJworICBzdHJpY3QgbW9k
ZTogJ1Rlc3QyNjJFcnJvcjogQ29uZm9ybXMgdG8gTmF0aXZlRnVuY3Rpb24gU3ludGF4OiAiYXN5
bmMgZnVuY3Rpb24gZiggLyogYyAqLyB4IC8qIGQgKi8gLCAvKiBlICovIHkgLyogZiAqLyApIC8q
IGcgKi8geyAvKiBoICovIDsgLyogaSAqLyA7IC8qIGogKi8gfSIgKGFzeW5jIGZ1bmN0aW9uIC8q
IGEgKi8gZiAvKiBiICovICggLyogYyAqLyB4IC8qIGQgKi8gLCAvKiBlICovIHkgLyogZiAqLyAp
IC8qIGcgKi8geyAvKiBoICovIDsgLyogaSAqLyA7IC8qIGogKi8gfSknCiB0ZXN0L2J1aWx0LWlu
cy9GdW5jdGlvbi9wcm90b3R5cGUvdG9TdHJpbmcvYXN5bmMtZnVuY3Rpb24tZXhwcmVzc2lvbi5q
czoKLSAgZGVmYXVsdDogIlRlc3QyNjJFcnJvcjogQ29uZm9ybXMgdG8gTmF0aXZlRnVuY3Rpb24g
U3ludGF4OiAnYXN5bmMgZnVuY3Rpb24gRiggLyogYyAqLyB4IC8qIGQgKi8gLCAvKiBlICovIHkg
LyogZiAqLyApIC8qIGcgKi8geyAvKiBoICovIDsgLyogaSAqLyA7IC8qIGogKi8gfScuKGFzeW5j
IGZ1bmN0aW9uIC8qIGEgKi8gRiAvKiBiICovICggLyogYyAqLyB4IC8qIGQgKi8gLCAvKiBlICov
IHkgLyogZiAqLyApIC8qIGcgKi8geyAvKiBoICovIDsgLyogaSAqLyA7IC8qIGogKi8gfSkiCi0g
IHN0cmljdCBtb2RlOiAiVGVzdDI2MkVycm9yOiBDb25mb3JtcyB0byBOYXRpdmVGdW5jdGlvbiBT
eW50YXg6ICdhc3luYyBmdW5jdGlvbiBGKCAvKiBjICovIHggLyogZCAqLyAsIC8qIGUgKi8geSAv
KiBmICovICkgLyogZyAqLyB7IC8qIGggKi8gOyAvKiBpICovIDsgLyogaiAqLyB9Jy4oYXN5bmMg
ZnVuY3Rpb24gLyogYSAqLyBGIC8qIGIgKi8gKCAvKiBjICovIHggLyogZCAqLyAsIC8qIGUgKi8g
eSAvKiBmICovICkgLyogZyAqLyB7IC8qIGggKi8gOyAvKiBpICovIDsgLyogaiAqLyB9KSIKKyAg
ZGVmYXVsdDogJ1Rlc3QyNjJFcnJvcjogQ29uZm9ybXMgdG8gTmF0aXZlRnVuY3Rpb24gU3ludGF4
OiAiYXN5bmMgZnVuY3Rpb24gRiggLyogYyAqLyB4IC8qIGQgKi8gLCAvKiBlICovIHkgLyogZiAq
LyApIC8qIGcgKi8geyAvKiBoICovIDsgLyogaSAqLyA7IC8qIGogKi8gfSIgKGFzeW5jIGZ1bmN0
aW9uIC8qIGEgKi8gRiAvKiBiICovICggLyogYyAqLyB4IC8qIGQgKi8gLCAvKiBlICovIHkgLyog
ZiAqLyApIC8qIGcgKi8geyAvKiBoICovIDsgLyogaSAqLyA7IC8qIGogKi8gfSknCisgIHN0cmlj
dCBtb2RlOiAnVGVzdDI2MkVycm9yOiBDb25mb3JtcyB0byBOYXRpdmVGdW5jdGlvbiBTeW50YXg6
ICJhc3luYyBmdW5jdGlvbiBGKCAvKiBjICovIHggLyogZCAqLyAsIC8qIGUgKi8geSAvKiBmICov
ICkgLyogZyAqLyB7IC8qIGggKi8gOyAvKiBpICovIDsgLyogaiAqLyB9IiAoYXN5bmMgZnVuY3Rp
b24gLyogYSAqLyBGIC8qIGIgKi8gKCAvKiBjICovIHggLyogZCAqLyAsIC8qIGUgKi8geSAvKiBm
ICovICkgLyogZyAqLyB7IC8qIGggKi8gOyAvKiBpICovIDsgLyogaiAqLyB9KScKIHRlc3QvYnVp
bHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS90b1N0cmluZy9hc3luYy1nZW5lcmF0b3ItZGVjbGFy
YXRpb24uanM6Ci0gIGRlZmF1bHQ6ICJUZXN0MjYyRXJyb3I6IENvbmZvcm1zIHRvIE5hdGl2ZUZ1
bmN0aW9uIFN5bnRheDogJ2FzeW5jIGZ1bmN0aW9uKiBmKCAvKiBlICovIHggLyogZiAqLyAsIC8q
IGcgKi8geSAvKiBoICovICkgLyogaSAqLyB7IC8qIGogKi8gOyAvKiBrICovIDsgLyogbCAqLyB9
Jy4oYXN5bmMgLyogYSAqLyBmdW5jdGlvbiAvKiBiICovICogLyogYyAqLyBmIC8qIGQgKi8gKCAv
KiBlICovIHggLyogZiAqLyAsIC8qIGcgKi8geSAvKiBoICovICkgLyogaSAqLyB7IC8qIGogKi8g
OyAvKiBrICovIDsgLyogbCAqLyB9KSIKLSAgc3RyaWN0IG1vZGU6ICJUZXN0MjYyRXJyb3I6IENv
bmZvcm1zIHRvIE5hdGl2ZUZ1bmN0aW9uIFN5bnRheDogJ2FzeW5jIGZ1bmN0aW9uKiBmKCAvKiBl
ICovIHggLyogZiAqLyAsIC8qIGcgKi8geSAvKiBoICovICkgLyogaSAqLyB7IC8qIGogKi8gOyAv
KiBrICovIDsgLyogbCAqLyB9Jy4oYXN5bmMgLyogYSAqLyBmdW5jdGlvbiAvKiBiICovICogLyog
YyAqLyBmIC8qIGQgKi8gKCAvKiBlICovIHggLyogZiAqLyAsIC8qIGcgKi8geSAvKiBoICovICkg
LyogaSAqLyB7IC8qIGogKi8gOyAvKiBrICovIDsgLyogbCAqLyB9KSIKKyAgZGVmYXVsdDogJ1Rl
c3QyNjJFcnJvcjogQ29uZm9ybXMgdG8gTmF0aXZlRnVuY3Rpb24gU3ludGF4OiAiYXN5bmMgZnVu
Y3Rpb24qIGYoIC8qIGUgKi8geCAvKiBmICovICwgLyogZyAqLyB5IC8qIGggKi8gKSAvKiBpICov
IHsgLyogaiAqLyA7IC8qIGsgKi8gOyAvKiBsICovIH0iIChhc3luYyAvKiBhICovIGZ1bmN0aW9u
IC8qIGIgKi8gKiAvKiBjICovIGYgLyogZCAqLyAoIC8qIGUgKi8geCAvKiBmICovICwgLyogZyAq
LyB5IC8qIGggKi8gKSAvKiBpICovIHsgLyogaiAqLyA7IC8qIGsgKi8gOyAvKiBsICovIH0pJwor
ICBzdHJpY3QgbW9kZTogJ1Rlc3QyNjJFcnJvcjogQ29uZm9ybXMgdG8gTmF0aXZlRnVuY3Rpb24g
U3ludGF4OiAiYXN5bmMgZnVuY3Rpb24qIGYoIC8qIGUgKi8geCAvKiBmICovICwgLyogZyAqLyB5
IC8qIGggKi8gKSAvKiBpICovIHsgLyogaiAqLyA7IC8qIGsgKi8gOyAvKiBsICovIH0iIChhc3lu
YyAvKiBhICovIGZ1bmN0aW9uIC8qIGIgKi8gKiAvKiBjICovIGYgLyogZCAqLyAoIC8qIGUgKi8g
eCAvKiBmICovICwgLyogZyAqLyB5IC8qIGggKi8gKSAvKiBpICovIHsgLyogaiAqLyA7IC8qIGsg
Ki8gOyAvKiBsICovIH0pJwogdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL3RvU3Ry
aW5nL2FzeW5jLWdlbmVyYXRvci1leHByZXNzaW9uLmpzOgotICBkZWZhdWx0OiAiVGVzdDI2MkVy
cm9yOiBDb25mb3JtcyB0byBOYXRpdmVGdW5jdGlvbiBTeW50YXg6ICdhc3luYyBmdW5jdGlvbiog
RiggLyogZSAqLyB4IC8qIGYgKi8gLCAvKiBnICovIHkgLyogaCAqLyApIC8qIGkgKi8geyAvKiBq
ICovIDsgLyogayAqLyA7IC8qIGwgKi8gfScuKGFzeW5jIC8qIGEgKi8gZnVuY3Rpb24gLyogYiAq
LyAqIC8qIGMgKi8gRiAvKiBkICovICggLyogZSAqLyB4IC8qIGYgKi8gLCAvKiBnICovIHkgLyog
aCAqLyApIC8qIGkgKi8geyAvKiBqICovIDsgLyogayAqLyA7IC8qIGwgKi8gfSkiCi0gIHN0cmlj
dCBtb2RlOiAiVGVzdDI2MkVycm9yOiBDb25mb3JtcyB0byBOYXRpdmVGdW5jdGlvbiBTeW50YXg6
ICdhc3luYyBmdW5jdGlvbiogRiggLyogZSAqLyB4IC8qIGYgKi8gLCAvKiBnICovIHkgLyogaCAq
LyApIC8qIGkgKi8geyAvKiBqICovIDsgLyogayAqLyA7IC8qIGwgKi8gfScuKGFzeW5jIC8qIGEg
Ki8gZnVuY3Rpb24gLyogYiAqLyAqIC8qIGMgKi8gRiAvKiBkICovICggLyogZSAqLyB4IC8qIGYg
Ki8gLCAvKiBnICovIHkgLyogaCAqLyApIC8qIGkgKi8geyAvKiBqICovIDsgLyogayAqLyA7IC8q
IGwgKi8gfSkiCisgIGRlZmF1bHQ6ICdUZXN0MjYyRXJyb3I6IENvbmZvcm1zIHRvIE5hdGl2ZUZ1
bmN0aW9uIFN5bnRheDogImFzeW5jIGZ1bmN0aW9uKiBGKCAvKiBlICovIHggLyogZiAqLyAsIC8q
IGcgKi8geSAvKiBoICovICkgLyogaSAqLyB7IC8qIGogKi8gOyAvKiBrICovIDsgLyogbCAqLyB9
IiAoYXN5bmMgLyogYSAqLyBmdW5jdGlvbiAvKiBiICovICogLyogYyAqLyBGIC8qIGQgKi8gKCAv
KiBlICovIHggLyogZiAqLyAsIC8qIGcgKi8geSAvKiBoICovICkgLyogaSAqLyB7IC8qIGogKi8g
OyAvKiBrICovIDsgLyogbCAqLyB9KScKKyAgc3RyaWN0IG1vZGU6ICdUZXN0MjYyRXJyb3I6IENv
bmZvcm1zIHRvIE5hdGl2ZUZ1bmN0aW9uIFN5bnRheDogImFzeW5jIGZ1bmN0aW9uKiBGKCAvKiBl
ICovIHggLyogZiAqLyAsIC8qIGcgKi8geSAvKiBoICovICkgLyogaSAqLyB7IC8qIGogKi8gOyAv
KiBrICovIDsgLyogbCAqLyB9IiAoYXN5bmMgLyogYSAqLyBmdW5jdGlvbiAvKiBiICovICogLyog
YyAqLyBGIC8qIGQgKi8gKCAvKiBlICovIHggLyogZiAqLyAsIC8qIGcgKi8geSAvKiBoICovICkg
LyogaSAqLyB7IC8qIGogKi8gOyAvKiBrICovIDsgLyogbCAqLyB9KScKIHRlc3QvYnVpbHQtaW5z
L0Z1bmN0aW9uL3Byb3RvdHlwZS90b1N0cmluZy9hc3luYy1nZW5lcmF0b3ItbWV0aG9kLWNsYXNz
LWV4cHJlc3Npb24tc3RhdGljLmpzOgotICBkZWZhdWx0OiAiVGVzdDI2MkVycm9yOiBDb25mb3Jt
cyB0byBOYXRpdmVGdW5jdGlvbiBTeW50YXg6ICdhc3luYyBmdW5jdGlvbiogZiggLyogZCAqLyAp
IC8qIGUgKi8geyAvKiBmICovIH0nLihhc3luYyAvKiBhICovICogLyogYiAqLyBmIC8qIGMgKi8g
KCAvKiBkICovICkgLyogZSAqLyB7IC8qIGYgKi8gfSkiCi0gIHN0cmljdCBtb2RlOiAiVGVzdDI2
MkVycm9yOiBDb25mb3JtcyB0byBOYXRpdmVGdW5jdGlvbiBTeW50YXg6ICdhc3luYyBmdW5jdGlv
biogZiggLyogZCAqLyApIC8qIGUgKi8geyAvKiBmICovIH0nLihhc3luYyAvKiBhICovICogLyog
YiAqLyBmIC8qIGMgKi8gKCAvKiBkICovICkgLyogZSAqLyB7IC8qIGYgKi8gfSkiCisgIGRlZmF1
bHQ6ICdUZXN0MjYyRXJyb3I6IENvbmZvcm1zIHRvIE5hdGl2ZUZ1bmN0aW9uIFN5bnRheDogImFz
eW5jIGZ1bmN0aW9uKiBmKCAvKiBkICovICkgLyogZSAqLyB7IC8qIGYgKi8gfSIgKGFzeW5jIC8q
IGEgKi8gKiAvKiBiICovIGYgLyogYyAqLyAoIC8qIGQgKi8gKSAvKiBlICovIHsgLyogZiAqLyB9
KScKKyAgc3RyaWN0IG1vZGU6ICdUZXN0MjYyRXJyb3I6IENvbmZvcm1zIHRvIE5hdGl2ZUZ1bmN0
aW9uIFN5bnRheDogImFzeW5jIGZ1bmN0aW9uKiBmKCAvKiBkICovICkgLyogZSAqLyB7IC8qIGYg
Ki8gfSIgKGFzeW5jIC8qIGEgKi8gKiAvKiBiICovIGYgLyogYyAqLyAoIC8qIGQgKi8gKSAvKiBl
ICovIHsgLyogZiAqLyB9KScKIHRlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS90b1N0
cmluZy9hc3luYy1nZW5lcmF0b3ItbWV0aG9kLWNsYXNzLWV4cHJlc3Npb24uanM6Ci0gIGRlZmF1
bHQ6ICJUZXN0MjYyRXJyb3I6IENvbmZvcm1zIHRvIE5hdGl2ZUZ1bmN0aW9uIFN5bnRheDogJ2Fz
eW5jIGZ1bmN0aW9uKiBmKCAvKiBkICovICkgLyogZSAqLyB7IC8qIGYgKi8gfScuKGFzeW5jIC8q
IGEgKi8gKiAvKiBiICovIGYgLyogYyAqLyAoIC8qIGQgKi8gKSAvKiBlICovIHsgLyogZiAqLyB9
KSIKLSAgc3RyaWN0IG1vZGU6ICJUZXN0MjYyRXJyb3I6IENvbmZvcm1zIHRvIE5hdGl2ZUZ1bmN0
aW9uIFN5bnRheDogJ2FzeW5jIGZ1bmN0aW9uKiBmKCAvKiBkICovICkgLyogZSAqLyB7IC8qIGYg
Ki8gfScuKGFzeW5jIC8qIGEgKi8gKiAvKiBiICovIGYgLyogYyAqLyAoIC8qIGQgKi8gKSAvKiBl
ICovIHsgLyogZiAqLyB9KSIKKyAgZGVmYXVsdDogJ1Rlc3QyNjJFcnJvcjogQ29uZm9ybXMgdG8g
TmF0aXZlRnVuY3Rpb24gU3ludGF4OiAiYXN5bmMgZnVuY3Rpb24qIGYoIC8qIGQgKi8gKSAvKiBl
ICovIHsgLyogZiAqLyB9IiAoYXN5bmMgLyogYSAqLyAqIC8qIGIgKi8gZiAvKiBjICovICggLyog
ZCAqLyApIC8qIGUgKi8geyAvKiBmICovIH0pJworICBzdHJpY3QgbW9kZTogJ1Rlc3QyNjJFcnJv
cjogQ29uZm9ybXMgdG8gTmF0aXZlRnVuY3Rpb24gU3ludGF4OiAiYXN5bmMgZnVuY3Rpb24qIGYo
IC8qIGQgKi8gKSAvKiBlICovIHsgLyogZiAqLyB9IiAoYXN5bmMgLyogYSAqLyAqIC8qIGIgKi8g
ZiAvKiBjICovICggLyogZCAqLyApIC8qIGUgKi8geyAvKiBmICovIH0pJwogdGVzdC9idWlsdC1p
bnMvRnVuY3Rpb24vcHJvdG90eXBlL3RvU3RyaW5nL2FzeW5jLWdlbmVyYXRvci1tZXRob2QtY2xh
c3Mtc3RhdGVtZW50LXN0YXRpYy5qczoKLSAgZGVmYXVsdDogIlRlc3QyNjJFcnJvcjogQ29uZm9y
bXMgdG8gTmF0aXZlRnVuY3Rpb24gU3ludGF4OiAnYXN5bmMgZnVuY3Rpb24qIGYoIC8qIGQgKi8g
KSAvKiBlICovIHsgLyogZiAqLyB9Jy4oYXN5bmMgLyogYSAqLyAqIC8qIGIgKi8gZiAvKiBjICov
ICggLyogZCAqLyApIC8qIGUgKi8geyAvKiBmICovIH0pIgotICBzdHJpY3QgbW9kZTogIlRlc3Qy
NjJFcnJvcjogQ29uZm9ybXMgdG8gTmF0aXZlRnVuY3Rpb24gU3ludGF4OiAnYXN5bmMgZnVuY3Rp
b24qIGYoIC8qIGQgKi8gKSAvKiBlICovIHsgLyogZiAqLyB9Jy4oYXN5bmMgLyogYSAqLyAqIC8q
IGIgKi8gZiAvKiBjICovICggLyogZCAqLyApIC8qIGUgKi8geyAvKiBmICovIH0pIgorICBkZWZh
dWx0OiAnVGVzdDI2MkVycm9yOiBDb25mb3JtcyB0byBOYXRpdmVGdW5jdGlvbiBTeW50YXg6ICJh
c3luYyBmdW5jdGlvbiogZiggLyogZCAqLyApIC8qIGUgKi8geyAvKiBmICovIH0iIChhc3luYyAv
KiBhICovICogLyogYiAqLyBmIC8qIGMgKi8gKCAvKiBkICovICkgLyogZSAqLyB7IC8qIGYgKi8g
fSknCisgIHN0cmljdCBtb2RlOiAnVGVzdDI2MkVycm9yOiBDb25mb3JtcyB0byBOYXRpdmVGdW5j
dGlvbiBTeW50YXg6ICJhc3luYyBmdW5jdGlvbiogZiggLyogZCAqLyApIC8qIGUgKi8geyAvKiBm
ICovIH0iIChhc3luYyAvKiBhICovICogLyogYiAqLyBmIC8qIGMgKi8gKCAvKiBkICovICkgLyog
ZSAqLyB7IC8qIGYgKi8gfSknCiB0ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvdG9T
dHJpbmcvYXN5bmMtZ2VuZXJhdG9yLW1ldGhvZC1jbGFzcy1zdGF0ZW1lbnQuanM6Ci0gIGRlZmF1
bHQ6ICJUZXN0MjYyRXJyb3I6IENvbmZvcm1zIHRvIE5hdGl2ZUZ1bmN0aW9uIFN5bnRheDogJ2Fz
eW5jIGZ1bmN0aW9uKiBmKCAvKiBkICovICkgLyogZSAqLyB7IC8qIGYgKi8gfScuKGFzeW5jIC8q
IGEgKi8gKiAvKiBiICovIGYgLyogYyAqLyAoIC8qIGQgKi8gKSAvKiBlICovIHsgLyogZiAqLyB9
KSIKLSAgc3RyaWN0IG1vZGU6ICJUZXN0MjYyRXJyb3I6IENvbmZvcm1zIHRvIE5hdGl2ZUZ1bmN0
aW9uIFN5bnRheDogJ2FzeW5jIGZ1bmN0aW9uKiBmKCAvKiBkICovICkgLyogZSAqLyB7IC8qIGYg
Ki8gfScuKGFzeW5jIC8qIGEgKi8gKiAvKiBiICovIGYgLyogYyAqLyAoIC8qIGQgKi8gKSAvKiBl
ICovIHsgLyogZiAqLyB9KSIKKyAgZGVmYXVsdDogJ1Rlc3QyNjJFcnJvcjogQ29uZm9ybXMgdG8g
TmF0aXZlRnVuY3Rpb24gU3ludGF4OiAiYXN5bmMgZnVuY3Rpb24qIGYoIC8qIGQgKi8gKSAvKiBl
ICovIHsgLyogZiAqLyB9IiAoYXN5bmMgLyogYSAqLyAqIC8qIGIgKi8gZiAvKiBjICovICggLyog
ZCAqLyApIC8qIGUgKi8geyAvKiBmICovIH0pJworICBzdHJpY3QgbW9kZTogJ1Rlc3QyNjJFcnJv
cjogQ29uZm9ybXMgdG8gTmF0aXZlRnVuY3Rpb24gU3ludGF4OiAiYXN5bmMgZnVuY3Rpb24qIGYo
IC8qIGQgKi8gKSAvKiBlICovIHsgLyogZiAqLyB9IiAoYXN5bmMgLyogYSAqLyAqIC8qIGIgKi8g
ZiAvKiBjICovICggLyogZCAqLyApIC8qIGUgKi8geyAvKiBmICovIH0pJwogdGVzdC9idWlsdC1p
bnMvRnVuY3Rpb24vcHJvdG90eXBlL3RvU3RyaW5nL2FzeW5jLWdlbmVyYXRvci1tZXRob2Qtb2Jq
ZWN0LmpzOgotICBkZWZhdWx0OiAiVGVzdDI2MkVycm9yOiBDb25mb3JtcyB0byBOYXRpdmVGdW5j
dGlvbiBTeW50YXg6ICdhc3luYyBmdW5jdGlvbiogZiggLyogZCAqLyApIC8qIGUgKi8geyAvKiBm
ICovIH0nLihhc3luYyAvKiBhICovICogLyogYiAqLyBmIC8qIGMgKi8gKCAvKiBkICovICkgLyog
ZSAqLyB7IC8qIGYgKi8gfSkiCi0gIHN0cmljdCBtb2RlOiAiVGVzdDI2MkVycm9yOiBDb25mb3Jt
cyB0byBOYXRpdmVGdW5jdGlvbiBTeW50YXg6ICdhc3luYyBmdW5jdGlvbiogZiggLyogZCAqLyAp
IC8qIGUgKi8geyAvKiBmICovIH0nLihhc3luYyAvKiBhICovICogLyogYiAqLyBmIC8qIGMgKi8g
KCAvKiBkICovICkgLyogZSAqLyB7IC8qIGYgKi8gfSkiCisgIGRlZmF1bHQ6ICdUZXN0MjYyRXJy
b3I6IENvbmZvcm1zIHRvIE5hdGl2ZUZ1bmN0aW9uIFN5bnRheDogImFzeW5jIGZ1bmN0aW9uKiBm
KCAvKiBkICovICkgLyogZSAqLyB7IC8qIGYgKi8gfSIgKGFzeW5jIC8qIGEgKi8gKiAvKiBiICov
IGYgLyogYyAqLyAoIC8qIGQgKi8gKSAvKiBlICovIHsgLyogZiAqLyB9KScKKyAgc3RyaWN0IG1v
ZGU6ICdUZXN0MjYyRXJyb3I6IENvbmZvcm1zIHRvIE5hdGl2ZUZ1bmN0aW9uIFN5bnRheDogImFz
eW5jIGZ1bmN0aW9uKiBmKCAvKiBkICovICkgLyogZSAqLyB7IC8qIGYgKi8gfSIgKGFzeW5jIC8q
IGEgKi8gKiAvKiBiICovIGYgLyogYyAqLyAoIC8qIGQgKi8gKSAvKiBlICovIHsgLyogZiAqLyB9
KScKIHRlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS90b1N0cmluZy9hc3luYy1tZXRo
b2QtY2xhc3MtZXhwcmVzc2lvbi1zdGF0aWMuanM6Ci0gIGRlZmF1bHQ6ICJUZXN0MjYyRXJyb3I6
IENvbmZvcm1zIHRvIE5hdGl2ZUZ1bmN0aW9uIFN5bnRheDogJ2FzeW5jIGZ1bmN0aW9uIGYoIC8q
IGIgKi8gKSAvKiBjICovIHsgLyogZCAqLyB9Jy4oYXN5bmMgZiAvKiBhICovICggLyogYiAqLyAp
IC8qIGMgKi8geyAvKiBkICovIH0pIgotICBzdHJpY3QgbW9kZTogIlRlc3QyNjJFcnJvcjogQ29u
Zm9ybXMgdG8gTmF0aXZlRnVuY3Rpb24gU3ludGF4OiAnYXN5bmMgZnVuY3Rpb24gZiggLyogYiAq
LyApIC8qIGMgKi8geyAvKiBkICovIH0nLihhc3luYyBmIC8qIGEgKi8gKCAvKiBiICovICkgLyog
YyAqLyB7IC8qIGQgKi8gfSkiCisgIGRlZmF1bHQ6ICdUZXN0MjYyRXJyb3I6IENvbmZvcm1zIHRv
IE5hdGl2ZUZ1bmN0aW9uIFN5bnRheDogImFzeW5jIGZ1bmN0aW9uIGYoIC8qIGIgKi8gKSAvKiBj
ICovIHsgLyogZCAqLyB9IiAoYXN5bmMgZiAvKiBhICovICggLyogYiAqLyApIC8qIGMgKi8geyAv
KiBkICovIH0pJworICBzdHJpY3QgbW9kZTogJ1Rlc3QyNjJFcnJvcjogQ29uZm9ybXMgdG8gTmF0
aXZlRnVuY3Rpb24gU3ludGF4OiAiYXN5bmMgZnVuY3Rpb24gZiggLyogYiAqLyApIC8qIGMgKi8g
eyAvKiBkICovIH0iIChhc3luYyBmIC8qIGEgKi8gKCAvKiBiICovICkgLyogYyAqLyB7IC8qIGQg
Ki8gfSknCiB0ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvdG9TdHJpbmcvYXN5bmMt
bWV0aG9kLWNsYXNzLWV4cHJlc3Npb24uanM6Ci0gIGRlZmF1bHQ6ICJUZXN0MjYyRXJyb3I6IENv
bmZvcm1zIHRvIE5hdGl2ZUZ1bmN0aW9uIFN5bnRheDogJ2FzeW5jIGZ1bmN0aW9uIGYoIC8qIGIg
Ki8gKSAvKiBjICovIHsgLyogZCAqLyB9Jy4oYXN5bmMgZiAvKiBhICovICggLyogYiAqLyApIC8q
IGMgKi8geyAvKiBkICovIH0pIgotICBzdHJpY3QgbW9kZTogIlRlc3QyNjJFcnJvcjogQ29uZm9y
bXMgdG8gTmF0aXZlRnVuY3Rpb24gU3ludGF4OiAnYXN5bmMgZnVuY3Rpb24gZiggLyogYiAqLyAp
IC8qIGMgKi8geyAvKiBkICovIH0nLihhc3luYyBmIC8qIGEgKi8gKCAvKiBiICovICkgLyogYyAq
LyB7IC8qIGQgKi8gfSkiCisgIGRlZmF1bHQ6ICdUZXN0MjYyRXJyb3I6IENvbmZvcm1zIHRvIE5h
dGl2ZUZ1bmN0aW9uIFN5bnRheDogImFzeW5jIGZ1bmN0aW9uIGYoIC8qIGIgKi8gKSAvKiBjICov
IHsgLyogZCAqLyB9IiAoYXN5bmMgZiAvKiBhICovICggLyogYiAqLyApIC8qIGMgKi8geyAvKiBk
ICovIH0pJworICBzdHJpY3QgbW9kZTogJ1Rlc3QyNjJFcnJvcjogQ29uZm9ybXMgdG8gTmF0aXZl
RnVuY3Rpb24gU3ludGF4OiAiYXN5bmMgZnVuY3Rpb24gZiggLyogYiAqLyApIC8qIGMgKi8geyAv
KiBkICovIH0iIChhc3luYyBmIC8qIGEgKi8gKCAvKiBiICovICkgLyogYyAqLyB7IC8qIGQgKi8g
fSknCiB0ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvdG9TdHJpbmcvYXN5bmMtbWV0
aG9kLWNsYXNzLXN0YXRlbWVudC1zdGF0aWMuanM6Ci0gIGRlZmF1bHQ6ICJUZXN0MjYyRXJyb3I6
IENvbmZvcm1zIHRvIE5hdGl2ZUZ1bmN0aW9uIFN5bnRheDogJ2FzeW5jIGZ1bmN0aW9uIGYoIC8q
IGIgKi8gKSAvKiBjICovIHsgLyogZCAqLyB9Jy4oYXN5bmMgZiAvKiBhICovICggLyogYiAqLyAp
IC8qIGMgKi8geyAvKiBkICovIH0pIgotICBzdHJpY3QgbW9kZTogIlRlc3QyNjJFcnJvcjogQ29u
Zm9ybXMgdG8gTmF0aXZlRnVuY3Rpb24gU3ludGF4OiAnYXN5bmMgZnVuY3Rpb24gZiggLyogYiAq
LyApIC8qIGMgKi8geyAvKiBkICovIH0nLihhc3luYyBmIC8qIGEgKi8gKCAvKiBiICovICkgLyog
YyAqLyB7IC8qIGQgKi8gfSkiCisgIGRlZmF1bHQ6ICdUZXN0MjYyRXJyb3I6IENvbmZvcm1zIHRv
IE5hdGl2ZUZ1bmN0aW9uIFN5bnRheDogImFzeW5jIGZ1bmN0aW9uIGYoIC8qIGIgKi8gKSAvKiBj
ICovIHsgLyogZCAqLyB9IiAoYXN5bmMgZiAvKiBhICovICggLyogYiAqLyApIC8qIGMgKi8geyAv
KiBkICovIH0pJworICBzdHJpY3QgbW9kZTogJ1Rlc3QyNjJFcnJvcjogQ29uZm9ybXMgdG8gTmF0
aXZlRnVuY3Rpb24gU3ludGF4OiAiYXN5bmMgZnVuY3Rpb24gZiggLyogYiAqLyApIC8qIGMgKi8g
eyAvKiBkICovIH0iIChhc3luYyBmIC8qIGEgKi8gKCAvKiBiICovICkgLyogYyAqLyB7IC8qIGQg
Ki8gfSknCiB0ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvdG9TdHJpbmcvYXN5bmMt
bWV0aG9kLWNsYXNzLXN0YXRlbWVudC5qczoKLSAgZGVmYXVsdDogIlRlc3QyNjJFcnJvcjogQ29u
Zm9ybXMgdG8gTmF0aXZlRnVuY3Rpb24gU3ludGF4OiAnYXN5bmMgZnVuY3Rpb24gZiggLyogYiAq
LyApIC8qIGMgKi8geyAvKiBkICovIH0nLihhc3luYyBmIC8qIGEgKi8gKCAvKiBiICovICkgLyog
YyAqLyB7IC8qIGQgKi8gfSkiCi0gIHN0cmljdCBtb2RlOiAiVGVzdDI2MkVycm9yOiBDb25mb3Jt
cyB0byBOYXRpdmVGdW5jdGlvbiBTeW50YXg6ICdhc3luYyBmdW5jdGlvbiBmKCAvKiBiICovICkg
LyogYyAqLyB7IC8qIGQgKi8gfScuKGFzeW5jIGYgLyogYSAqLyAoIC8qIGIgKi8gKSAvKiBjICov
IHsgLyogZCAqLyB9KSIKKyAgZGVmYXVsdDogJ1Rlc3QyNjJFcnJvcjogQ29uZm9ybXMgdG8gTmF0
aXZlRnVuY3Rpb24gU3ludGF4OiAiYXN5bmMgZnVuY3Rpb24gZiggLyogYiAqLyApIC8qIGMgKi8g
eyAvKiBkICovIH0iIChhc3luYyBmIC8qIGEgKi8gKCAvKiBiICovICkgLyogYyAqLyB7IC8qIGQg
Ki8gfSknCisgIHN0cmljdCBtb2RlOiAnVGVzdDI2MkVycm9yOiBDb25mb3JtcyB0byBOYXRpdmVG
dW5jdGlvbiBTeW50YXg6ICJhc3luYyBmdW5jdGlvbiBmKCAvKiBiICovICkgLyogYyAqLyB7IC8q
IGQgKi8gfSIgKGFzeW5jIGYgLyogYSAqLyAoIC8qIGIgKi8gKSAvKiBjICovIHsgLyogZCAqLyB9
KScKIHRlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS90b1N0cmluZy9hc3luYy1tZXRo
b2Qtb2JqZWN0LmpzOgotICBkZWZhdWx0OiAiVGVzdDI2MkVycm9yOiBDb25mb3JtcyB0byBOYXRp
dmVGdW5jdGlvbiBTeW50YXg6ICdhc3luYyBmdW5jdGlvbiBmKCAvKiBiICovICkgLyogYyAqLyB7
IC8qIGQgKi8gfScuKGFzeW5jIGYgLyogYSAqLyAoIC8qIGIgKi8gKSAvKiBjICovIHsgLyogZCAq
LyB9KSIKLSAgc3RyaWN0IG1vZGU6ICJUZXN0MjYyRXJyb3I6IENvbmZvcm1zIHRvIE5hdGl2ZUZ1
bmN0aW9uIFN5bnRheDogJ2FzeW5jIGZ1bmN0aW9uIGYoIC8qIGIgKi8gKSAvKiBjICovIHsgLyog
ZCAqLyB9Jy4oYXN5bmMgZiAvKiBhICovICggLyogYiAqLyApIC8qIGMgKi8geyAvKiBkICovIH0p
IgorICBkZWZhdWx0OiAnVGVzdDI2MkVycm9yOiBDb25mb3JtcyB0byBOYXRpdmVGdW5jdGlvbiBT
eW50YXg6ICJhc3luYyBmdW5jdGlvbiBmKCAvKiBiICovICkgLyogYyAqLyB7IC8qIGQgKi8gfSIg
KGFzeW5jIGYgLyogYSAqLyAoIC8qIGIgKi8gKSAvKiBjICovIHsgLyogZCAqLyB9KScKKyAgc3Ry
aWN0IG1vZGU6ICdUZXN0MjYyRXJyb3I6IENvbmZvcm1zIHRvIE5hdGl2ZUZ1bmN0aW9uIFN5bnRh
eDogImFzeW5jIGZ1bmN0aW9uIGYoIC8qIGIgKi8gKSAvKiBjICovIHsgLyogZCAqLyB9IiAoYXN5
bmMgZiAvKiBhICovICggLyogYiAqLyApIC8qIGMgKi8geyAvKiBkICovIH0pJwogdGVzdC9idWls
dC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL3RvU3RyaW5nL2Z1bmN0aW9uLWRlY2xhcmF0aW9uLW5v
bi1zaW1wbGUtcGFyYW1ldGVyLWxpc3QuanM6Ci0gIGRlZmF1bHQ6ICJUZXN0MjYyRXJyb3I6IENv
bmZvcm1zIHRvIE5hdGl2ZUZ1bmN0aW9uIFN5bnRheDogJ2Z1bmN0aW9uIGYoIC8qIGMgKi8gYSAv
KiBkICovID0gLyogZSAqLyAwIC8qIGYgKi8gLCAvKiBnICovIHsgLyogaCAqLyBiIC8qIGkgKi8g
PSAvKiBqICovIDAgLyogayAqLyB9IC8qIGwgKi8gKSAvKiBtICovIHsgLyogbiAqLyB9Jy4oZnVu
Y3Rpb24gLyogYSAqLyBmIC8qIGIgKi8gKCAvKiBjICovIGEgLyogZCAqLyA9IC8qIGUgKi8gMCAv
KiBmICovICwgLyogZyAqLyB7IC8qIGggKi8gYiAvKiBpICovID0gLyogaiAqLyAwIC8qIGsgKi8g
fSAvKiBsICovICkgLyogbSAqLyB7IC8qIG4gKi8gfSkiCi0gIHN0cmljdCBtb2RlOiAiVGVzdDI2
MkVycm9yOiBDb25mb3JtcyB0byBOYXRpdmVGdW5jdGlvbiBTeW50YXg6ICdmdW5jdGlvbiBmKCAv
KiBjICovIGEgLyogZCAqLyA9IC8qIGUgKi8gMCAvKiBmICovICwgLyogZyAqLyB7IC8qIGggKi8g
YiAvKiBpICovID0gLyogaiAqLyAwIC8qIGsgKi8gfSAvKiBsICovICkgLyogbSAqLyB7IC8qIG4g
Ki8gfScuKGZ1bmN0aW9uIC8qIGEgKi8gZiAvKiBiICovICggLyogYyAqLyBhIC8qIGQgKi8gPSAv
KiBlICovIDAgLyogZiAqLyAsIC8qIGcgKi8geyAvKiBoICovIGIgLyogaSAqLyA9IC8qIGogKi8g
MCAvKiBrICovIH0gLyogbCAqLyApIC8qIG0gKi8geyAvKiBuICovIH0pIgorICBkZWZhdWx0OiAn
VGVzdDI2MkVycm9yOiBDb25mb3JtcyB0byBOYXRpdmVGdW5jdGlvbiBTeW50YXg6ICJmdW5jdGlv
biBmKCAvKiBjICovIGEgLyogZCAqLyA9IC8qIGUgKi8gMCAvKiBmICovICwgLyogZyAqLyB7IC8q
IGggKi8gYiAvKiBpICovID0gLyogaiAqLyAwIC8qIGsgKi8gfSAvKiBsICovICkgLyogbSAqLyB7
IC8qIG4gKi8gfSIgKGZ1bmN0aW9uIC8qIGEgKi8gZiAvKiBiICovICggLyogYyAqLyBhIC8qIGQg
Ki8gPSAvKiBlICovIDAgLyogZiAqLyAsIC8qIGcgKi8geyAvKiBoICovIGIgLyogaSAqLyA9IC8q
IGogKi8gMCAvKiBrICovIH0gLyogbCAqLyApIC8qIG0gKi8geyAvKiBuICovIH0pJworICBzdHJp
Y3QgbW9kZTogJ1Rlc3QyNjJFcnJvcjogQ29uZm9ybXMgdG8gTmF0aXZlRnVuY3Rpb24gU3ludGF4
OiAiZnVuY3Rpb24gZiggLyogYyAqLyBhIC8qIGQgKi8gPSAvKiBlICovIDAgLyogZiAqLyAsIC8q
IGcgKi8geyAvKiBoICovIGIgLyogaSAqLyA9IC8qIGogKi8gMCAvKiBrICovIH0gLyogbCAqLyAp
IC8qIG0gKi8geyAvKiBuICovIH0iIChmdW5jdGlvbiAvKiBhICovIGYgLyogYiAqLyAoIC8qIGMg
Ki8gYSAvKiBkICovID0gLyogZSAqLyAwIC8qIGYgKi8gLCAvKiBnICovIHsgLyogaCAqLyBiIC8q
IGkgKi8gPSAvKiBqICovIDAgLyogayAqLyB9IC8qIGwgKi8gKSAvKiBtICovIHsgLyogbiAqLyB9
KScKIHRlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS90b1N0cmluZy9mdW5jdGlvbi1k
ZWNsYXJhdGlvbi5qczoKLSAgZGVmYXVsdDogIlRlc3QyNjJFcnJvcjogQ29uZm9ybXMgdG8gTmF0
aXZlRnVuY3Rpb24gU3ludGF4OiAnZnVuY3Rpb24gZiggLyogYyAqLyB4IC8qIGQgKi8gLCAvKiBl
ICovIHkgLyogZiAqLyApIC8qIGcgKi8geyAvKiBoICovIDsgLyogaSAqLyA7IC8qIGogKi8gfScu
KGZ1bmN0aW9uIC8qIGEgKi8gZiAvKiBiICovICggLyogYyAqLyB4IC8qIGQgKi8gLCAvKiBlICov
IHkgLyogZiAqLyApIC8qIGcgKi8geyAvKiBoICovIDsgLyogaSAqLyA7IC8qIGogKi8gfSkiCi0g
IHN0cmljdCBtb2RlOiAiVGVzdDI2MkVycm9yOiBDb25mb3JtcyB0byBOYXRpdmVGdW5jdGlvbiBT
eW50YXg6ICdmdW5jdGlvbiBmKCAvKiBjICovIHggLyogZCAqLyAsIC8qIGUgKi8geSAvKiBmICov
ICkgLyogZyAqLyB7IC8qIGggKi8gOyAvKiBpICovIDsgLyogaiAqLyB9Jy4oZnVuY3Rpb24gLyog
YSAqLyBmIC8qIGIgKi8gKCAvKiBjICovIHggLyogZCAqLyAsIC8qIGUgKi8geSAvKiBmICovICkg
LyogZyAqLyB7IC8qIGggKi8gOyAvKiBpICovIDsgLyogaiAqLyB9KSIKKyAgZGVmYXVsdDogJ1Rl
c3QyNjJFcnJvcjogQ29uZm9ybXMgdG8gTmF0aXZlRnVuY3Rpb24gU3ludGF4OiAiZnVuY3Rpb24g
ZiggLyogYyAqLyB4IC8qIGQgKi8gLCAvKiBlICovIHkgLyogZiAqLyApIC8qIGcgKi8geyAvKiBo
ICovIDsgLyogaSAqLyA7IC8qIGogKi8gfSIgKGZ1bmN0aW9uIC8qIGEgKi8gZiAvKiBiICovICgg
LyogYyAqLyB4IC8qIGQgKi8gLCAvKiBlICovIHkgLyogZiAqLyApIC8qIGcgKi8geyAvKiBoICov
IDsgLyogaSAqLyA7IC8qIGogKi8gfSknCisgIHN0cmljdCBtb2RlOiAnVGVzdDI2MkVycm9yOiBD
b25mb3JtcyB0byBOYXRpdmVGdW5jdGlvbiBTeW50YXg6ICJmdW5jdGlvbiBmKCAvKiBjICovIHgg
LyogZCAqLyAsIC8qIGUgKi8geSAvKiBmICovICkgLyogZyAqLyB7IC8qIGggKi8gOyAvKiBpICov
IDsgLyogaiAqLyB9IiAoZnVuY3Rpb24gLyogYSAqLyBmIC8qIGIgKi8gKCAvKiBjICovIHggLyog
ZCAqLyAsIC8qIGUgKi8geSAvKiBmICovICkgLyogZyAqLyB7IC8qIGggKi8gOyAvKiBpICovIDsg
LyogaiAqLyB9KScKIHRlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS90b1N0cmluZy9m
dW5jdGlvbi1leHByZXNzaW9uLmpzOgotICBkZWZhdWx0OiAiVGVzdDI2MkVycm9yOiBDb25mb3Jt
cyB0byBOYXRpdmVGdW5jdGlvbiBTeW50YXg6ICdmdW5jdGlvbiBGKCAvKiBjICovIHggLyogZCAq
LyAsIC8qIGUgKi8geSAvKiBmICovICkgLyogZyAqLyB7IC8qIGggKi8gOyAvKiBpICovIDsgLyog
aiAqLyB9Jy4oZnVuY3Rpb24gLyogYSAqLyBGIC8qIGIgKi8gKCAvKiBjICovIHggLyogZCAqLyAs
IC8qIGUgKi8geSAvKiBmICovICkgLyogZyAqLyB7IC8qIGggKi8gOyAvKiBpICovIDsgLyogaiAq
LyB9KSIKLSAgc3RyaWN0IG1vZGU6ICJUZXN0MjYyRXJyb3I6IENvbmZvcm1zIHRvIE5hdGl2ZUZ1
bmN0aW9uIFN5bnRheDogJ2Z1bmN0aW9uIEYoIC8qIGMgKi8geCAvKiBkICovICwgLyogZSAqLyB5
IC8qIGYgKi8gKSAvKiBnICovIHsgLyogaCAqLyA7IC8qIGkgKi8gOyAvKiBqICovIH0nLihmdW5j
dGlvbiAvKiBhICovIEYgLyogYiAqLyAoIC8qIGMgKi8geCAvKiBkICovICwgLyogZSAqLyB5IC8q
IGYgKi8gKSAvKiBnICovIHsgLyogaCAqLyA7IC8qIGkgKi8gOyAvKiBqICovIH0pIgorICBkZWZh
dWx0OiAnVGVzdDI2MkVycm9yOiBDb25mb3JtcyB0byBOYXRpdmVGdW5jdGlvbiBTeW50YXg6ICJm
dW5jdGlvbiBGKCAvKiBjICovIHggLyogZCAqLyAsIC8qIGUgKi8geSAvKiBmICovICkgLyogZyAq
LyB7IC8qIGggKi8gOyAvKiBpICovIDsgLyogaiAqLyB9IiAoZnVuY3Rpb24gLyogYSAqLyBGIC8q
IGIgKi8gKCAvKiBjICovIHggLyogZCAqLyAsIC8qIGUgKi8geSAvKiBmICovICkgLyogZyAqLyB7
IC8qIGggKi8gOyAvKiBpICovIDsgLyogaiAqLyB9KScKKyAgc3RyaWN0IG1vZGU6ICdUZXN0MjYy
RXJyb3I6IENvbmZvcm1zIHRvIE5hdGl2ZUZ1bmN0aW9uIFN5bnRheDogImZ1bmN0aW9uIEYoIC8q
IGMgKi8geCAvKiBkICovICwgLyogZSAqLyB5IC8qIGYgKi8gKSAvKiBnICovIHsgLyogaCAqLyA7
IC8qIGkgKi8gOyAvKiBqICovIH0iIChmdW5jdGlvbiAvKiBhICovIEYgLyogYiAqLyAoIC8qIGMg
Ki8geCAvKiBkICovICwgLyogZSAqLyB5IC8qIGYgKi8gKSAvKiBnICovIHsgLyogaCAqLyA7IC8q
IGkgKi8gOyAvKiBqICovIH0pJwogdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL3Rv
U3RyaW5nL2dlbmVyYXRvci1mdW5jdGlvbi1kZWNsYXJhdGlvbi5qczoKLSAgZGVmYXVsdDogIlRl
c3QyNjJFcnJvcjogQ29uZm9ybXMgdG8gTmF0aXZlRnVuY3Rpb24gU3ludGF4OiAnZnVuY3Rpb24q
IGcoIC8qIGQgKi8geCAvKiBlICovICwgLyogZiAqLyB5IC8qIGcgKi8gKSAvKiBoICovIHsgLyog
aSAqLyA7IC8qIGogKi8gOyAvKiBrICovIH0nLihmdW5jdGlvbiAvKiBhICovICogLyogYiAqLyBn
IC8qIGMgKi8gKCAvKiBkICovIHggLyogZSAqLyAsIC8qIGYgKi8geSAvKiBnICovICkgLyogaCAq
LyB7IC8qIGkgKi8gOyAvKiBqICovIDsgLyogayAqLyB9KSIKLSAgc3RyaWN0IG1vZGU6ICJUZXN0
MjYyRXJyb3I6IENvbmZvcm1zIHRvIE5hdGl2ZUZ1bmN0aW9uIFN5bnRheDogJ2Z1bmN0aW9uKiBn
KCAvKiBkICovIHggLyogZSAqLyAsIC8qIGYgKi8geSAvKiBnICovICkgLyogaCAqLyB7IC8qIGkg
Ki8gOyAvKiBqICovIDsgLyogayAqLyB9Jy4oZnVuY3Rpb24gLyogYSAqLyAqIC8qIGIgKi8gZyAv
KiBjICovICggLyogZCAqLyB4IC8qIGUgKi8gLCAvKiBmICovIHkgLyogZyAqLyApIC8qIGggKi8g
eyAvKiBpICovIDsgLyogaiAqLyA7IC8qIGsgKi8gfSkiCisgIGRlZmF1bHQ6ICdUZXN0MjYyRXJy
b3I6IENvbmZvcm1zIHRvIE5hdGl2ZUZ1bmN0aW9uIFN5bnRheDogImZ1bmN0aW9uKiBnKCAvKiBk
ICovIHggLyogZSAqLyAsIC8qIGYgKi8geSAvKiBnICovICkgLyogaCAqLyB7IC8qIGkgKi8gOyAv
KiBqICovIDsgLyogayAqLyB9IiAoZnVuY3Rpb24gLyogYSAqLyAqIC8qIGIgKi8gZyAvKiBjICov
ICggLyogZCAqLyB4IC8qIGUgKi8gLCAvKiBmICovIHkgLyogZyAqLyApIC8qIGggKi8geyAvKiBp
ICovIDsgLyogaiAqLyA7IC8qIGsgKi8gfSknCisgIHN0cmljdCBtb2RlOiAnVGVzdDI2MkVycm9y
OiBDb25mb3JtcyB0byBOYXRpdmVGdW5jdGlvbiBTeW50YXg6ICJmdW5jdGlvbiogZyggLyogZCAq
LyB4IC8qIGUgKi8gLCAvKiBmICovIHkgLyogZyAqLyApIC8qIGggKi8geyAvKiBpICovIDsgLyog
aiAqLyA7IC8qIGsgKi8gfSIgKGZ1bmN0aW9uIC8qIGEgKi8gKiAvKiBiICovIGcgLyogYyAqLyAo
IC8qIGQgKi8geCAvKiBlICovICwgLyogZiAqLyB5IC8qIGcgKi8gKSAvKiBoICovIHsgLyogaSAq
LyA7IC8qIGogKi8gOyAvKiBrICovIH0pJwogdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90
eXBlL3RvU3RyaW5nL2dlbmVyYXRvci1mdW5jdGlvbi1leHByZXNzaW9uLmpzOgotICBkZWZhdWx0
OiAiVGVzdDI2MkVycm9yOiBDb25mb3JtcyB0byBOYXRpdmVGdW5jdGlvbiBTeW50YXg6ICdmdW5j
dGlvbiogRiggLyogZCAqLyB4IC8qIGUgKi8gLCAvKiBmICovIHkgLyogZyAqLyApIC8qIGggKi8g
eyAvKiBpICovIDsgLyogaiAqLyA7IC8qIGsgKi8gfScuKGZ1bmN0aW9uIC8qIGEgKi8gKiAvKiBi
ICovIEYgLyogYyAqLyAoIC8qIGQgKi8geCAvKiBlICovICwgLyogZiAqLyB5IC8qIGcgKi8gKSAv
KiBoICovIHsgLyogaSAqLyA7IC8qIGogKi8gOyAvKiBrICovIH0pIgotICBzdHJpY3QgbW9kZTog
IlRlc3QyNjJFcnJvcjogQ29uZm9ybXMgdG8gTmF0aXZlRnVuY3Rpb24gU3ludGF4OiAnZnVuY3Rp
b24qIEYoIC8qIGQgKi8geCAvKiBlICovICwgLyogZiAqLyB5IC8qIGcgKi8gKSAvKiBoICovIHsg
LyogaSAqLyA7IC8qIGogKi8gOyAvKiBrICovIH0nLihmdW5jdGlvbiAvKiBhICovICogLyogYiAq
LyBGIC8qIGMgKi8gKCAvKiBkICovIHggLyogZSAqLyAsIC8qIGYgKi8geSAvKiBnICovICkgLyog
aCAqLyB7IC8qIGkgKi8gOyAvKiBqICovIDsgLyogayAqLyB9KSIKKyAgZGVmYXVsdDogJ1Rlc3Qy
NjJFcnJvcjogQ29uZm9ybXMgdG8gTmF0aXZlRnVuY3Rpb24gU3ludGF4OiAiZnVuY3Rpb24qIEYo
IC8qIGQgKi8geCAvKiBlICovICwgLyogZiAqLyB5IC8qIGcgKi8gKSAvKiBoICovIHsgLyogaSAq
LyA7IC8qIGogKi8gOyAvKiBrICovIH0iIChmdW5jdGlvbiAvKiBhICovICogLyogYiAqLyBGIC8q
IGMgKi8gKCAvKiBkICovIHggLyogZSAqLyAsIC8qIGYgKi8geSAvKiBnICovICkgLyogaCAqLyB7
IC8qIGkgKi8gOyAvKiBqICovIDsgLyogayAqLyB9KScKKyAgc3RyaWN0IG1vZGU6ICdUZXN0MjYy
RXJyb3I6IENvbmZvcm1zIHRvIE5hdGl2ZUZ1bmN0aW9uIFN5bnRheDogImZ1bmN0aW9uKiBGKCAv
KiBkICovIHggLyogZSAqLyAsIC8qIGYgKi8geSAvKiBnICovICkgLyogaCAqLyB7IC8qIGkgKi8g
OyAvKiBqICovIDsgLyogayAqLyB9IiAoZnVuY3Rpb24gLyogYSAqLyAqIC8qIGIgKi8gRiAvKiBj
ICovICggLyogZCAqLyB4IC8qIGUgKi8gLCAvKiBmICovIHkgLyogZyAqLyApIC8qIGggKi8geyAv
KiBpICovIDsgLyogaiAqLyA7IC8qIGsgKi8gfSknCiB0ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9w
cm90b3R5cGUvdG9TdHJpbmcvZ2VuZXJhdG9yLW1ldGhvZC5qczoKLSAgZGVmYXVsdDogIlRlc3Qy
NjJFcnJvcjogQ29uZm9ybXMgdG8gTmF0aXZlRnVuY3Rpb24gU3ludGF4OiAnZnVuY3Rpb24qIGYo
IC8qIGMgKi8gKSAvKiBkICovIHsgLyogZSAqLyB9Jy4oKiAvKiBhICovIGYgLyogYiAqLyAoIC8q
IGMgKi8gKSAvKiBkICovIHsgLyogZSAqLyB9KSIKLSAgc3RyaWN0IG1vZGU6ICJUZXN0MjYyRXJy
b3I6IENvbmZvcm1zIHRvIE5hdGl2ZUZ1bmN0aW9uIFN5bnRheDogJ2Z1bmN0aW9uKiBmKCAvKiBj
ICovICkgLyogZCAqLyB7IC8qIGUgKi8gfScuKCogLyogYSAqLyBmIC8qIGIgKi8gKCAvKiBjICov
ICkgLyogZCAqLyB7IC8qIGUgKi8gfSkiCisgIGRlZmF1bHQ6ICdUZXN0MjYyRXJyb3I6IENvbmZv
cm1zIHRvIE5hdGl2ZUZ1bmN0aW9uIFN5bnRheDogImZ1bmN0aW9uKiBmKCAvKiBjICovICkgLyog
ZCAqLyB7IC8qIGUgKi8gfSIgKCogLyogYSAqLyBmIC8qIGIgKi8gKCAvKiBjICovICkgLyogZCAq
LyB7IC8qIGUgKi8gfSknCisgIHN0cmljdCBtb2RlOiAnVGVzdDI2MkVycm9yOiBDb25mb3JtcyB0
byBOYXRpdmVGdW5jdGlvbiBTeW50YXg6ICJmdW5jdGlvbiogZiggLyogYyAqLyApIC8qIGQgKi8g
eyAvKiBlICovIH0iICgqIC8qIGEgKi8gZiAvKiBiICovICggLyogYyAqLyApIC8qIGQgKi8geyAv
KiBlICovIH0pJwogdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL3RvU3RyaW5nL2dl
dHRlci1jbGFzcy1leHByZXNzaW9uLXN0YXRpYy5qczoKLSAgZGVmYXVsdDogIlRlc3QyNjJFcnJv
cjogQ29uZm9ybXMgdG8gTmF0aXZlRnVuY3Rpb24gU3ludGF4OiAnZnVuY3Rpb24gKCAvKiBjICov
ICkgLyogZCAqLyB7IC8qIGUgKi8gfScuKGdldCAvKiBhICovIGYgLyogYiAqLyAoIC8qIGMgKi8g
KSAvKiBkICovIHsgLyogZSAqLyB9KSIKLSAgc3RyaWN0IG1vZGU6ICJUZXN0MjYyRXJyb3I6IENv
bmZvcm1zIHRvIE5hdGl2ZUZ1bmN0aW9uIFN5bnRheDogJ2Z1bmN0aW9uICggLyogYyAqLyApIC8q
IGQgKi8geyAvKiBlICovIH0nLihnZXQgLyogYSAqLyBmIC8qIGIgKi8gKCAvKiBjICovICkgLyog
ZCAqLyB7IC8qIGUgKi8gfSkiCisgIGRlZmF1bHQ6ICdUZXN0MjYyRXJyb3I6IENvbmZvcm1zIHRv
IE5hdGl2ZUZ1bmN0aW9uIFN5bnRheDogImZ1bmN0aW9uICggLyogYyAqLyApIC8qIGQgKi8geyAv
KiBlICovIH0iIChnZXQgLyogYSAqLyBmIC8qIGIgKi8gKCAvKiBjICovICkgLyogZCAqLyB7IC8q
IGUgKi8gfSknCisgIHN0cmljdCBtb2RlOiAnVGVzdDI2MkVycm9yOiBDb25mb3JtcyB0byBOYXRp
dmVGdW5jdGlvbiBTeW50YXg6ICJmdW5jdGlvbiAoIC8qIGMgKi8gKSAvKiBkICovIHsgLyogZSAq
LyB9IiAoZ2V0IC8qIGEgKi8gZiAvKiBiICovICggLyogYyAqLyApIC8qIGQgKi8geyAvKiBlICov
IH0pJwogdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL3RvU3RyaW5nL2dldHRlci1j
bGFzcy1leHByZXNzaW9uLmpzOgotICBkZWZhdWx0OiAiVGVzdDI2MkVycm9yOiBDb25mb3JtcyB0
byBOYXRpdmVGdW5jdGlvbiBTeW50YXg6ICdmdW5jdGlvbiAoIC8qIGMgKi8gKSAvKiBkICovIHsg
LyogZSAqLyB9Jy4oZ2V0IC8qIGEgKi8gZiAvKiBiICovICggLyogYyAqLyApIC8qIGQgKi8geyAv
KiBlICovIH0pIgotICBzdHJpY3QgbW9kZTogIlRlc3QyNjJFcnJvcjogQ29uZm9ybXMgdG8gTmF0
aXZlRnVuY3Rpb24gU3ludGF4OiAnZnVuY3Rpb24gKCAvKiBjICovICkgLyogZCAqLyB7IC8qIGUg
Ki8gfScuKGdldCAvKiBhICovIGYgLyogYiAqLyAoIC8qIGMgKi8gKSAvKiBkICovIHsgLyogZSAq
LyB9KSIKKyAgZGVmYXVsdDogJ1Rlc3QyNjJFcnJvcjogQ29uZm9ybXMgdG8gTmF0aXZlRnVuY3Rp
b24gU3ludGF4OiAiZnVuY3Rpb24gKCAvKiBjICovICkgLyogZCAqLyB7IC8qIGUgKi8gfSIgKGdl
dCAvKiBhICovIGYgLyogYiAqLyAoIC8qIGMgKi8gKSAvKiBkICovIHsgLyogZSAqLyB9KScKKyAg
c3RyaWN0IG1vZGU6ICdUZXN0MjYyRXJyb3I6IENvbmZvcm1zIHRvIE5hdGl2ZUZ1bmN0aW9uIFN5
bnRheDogImZ1bmN0aW9uICggLyogYyAqLyApIC8qIGQgKi8geyAvKiBlICovIH0iIChnZXQgLyog
YSAqLyBmIC8qIGIgKi8gKCAvKiBjICovICkgLyogZCAqLyB7IC8qIGUgKi8gfSknCiB0ZXN0L2J1
aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvdG9TdHJpbmcvZ2V0dGVyLWNsYXNzLXN0YXRlbWVu
dC1zdGF0aWMuanM6Ci0gIGRlZmF1bHQ6ICJUZXN0MjYyRXJyb3I6IENvbmZvcm1zIHRvIE5hdGl2
ZUZ1bmN0aW9uIFN5bnRheDogJ2Z1bmN0aW9uICggLyogYyAqLyApIC8qIGQgKi8geyAvKiBlICov
IH0nLihnZXQgLyogYSAqLyBmIC8qIGIgKi8gKCAvKiBjICovICkgLyogZCAqLyB7IC8qIGUgKi8g
fSkiCi0gIHN0cmljdCBtb2RlOiAiVGVzdDI2MkVycm9yOiBDb25mb3JtcyB0byBOYXRpdmVGdW5j
dGlvbiBTeW50YXg6ICdmdW5jdGlvbiAoIC8qIGMgKi8gKSAvKiBkICovIHsgLyogZSAqLyB9Jy4o
Z2V0IC8qIGEgKi8gZiAvKiBiICovICggLyogYyAqLyApIC8qIGQgKi8geyAvKiBlICovIH0pIgor
ICBkZWZhdWx0OiAnVGVzdDI2MkVycm9yOiBDb25mb3JtcyB0byBOYXRpdmVGdW5jdGlvbiBTeW50
YXg6ICJmdW5jdGlvbiAoIC8qIGMgKi8gKSAvKiBkICovIHsgLyogZSAqLyB9IiAoZ2V0IC8qIGEg
Ki8gZiAvKiBiICovICggLyogYyAqLyApIC8qIGQgKi8geyAvKiBlICovIH0pJworICBzdHJpY3Qg
bW9kZTogJ1Rlc3QyNjJFcnJvcjogQ29uZm9ybXMgdG8gTmF0aXZlRnVuY3Rpb24gU3ludGF4OiAi
ZnVuY3Rpb24gKCAvKiBjICovICkgLyogZCAqLyB7IC8qIGUgKi8gfSIgKGdldCAvKiBhICovIGYg
LyogYiAqLyAoIC8qIGMgKi8gKSAvKiBkICovIHsgLyogZSAqLyB9KScKIHRlc3QvYnVpbHQtaW5z
L0Z1bmN0aW9uL3Byb3RvdHlwZS90b1N0cmluZy9nZXR0ZXItY2xhc3Mtc3RhdGVtZW50LmpzOgot
ICBkZWZhdWx0OiAiVGVzdDI2MkVycm9yOiBDb25mb3JtcyB0byBOYXRpdmVGdW5jdGlvbiBTeW50
YXg6ICdmdW5jdGlvbiAoIC8qIGMgKi8gKSAvKiBkICovIHsgLyogZSAqLyB9Jy4oZ2V0IC8qIGEg
Ki8gZiAvKiBiICovICggLyogYyAqLyApIC8qIGQgKi8geyAvKiBlICovIH0pIgotICBzdHJpY3Qg
bW9kZTogIlRlc3QyNjJFcnJvcjogQ29uZm9ybXMgdG8gTmF0aXZlRnVuY3Rpb24gU3ludGF4OiAn
ZnVuY3Rpb24gKCAvKiBjICovICkgLyogZCAqLyB7IC8qIGUgKi8gfScuKGdldCAvKiBhICovIGYg
LyogYiAqLyAoIC8qIGMgKi8gKSAvKiBkICovIHsgLyogZSAqLyB9KSIKKyAgZGVmYXVsdDogJ1Rl
c3QyNjJFcnJvcjogQ29uZm9ybXMgdG8gTmF0aXZlRnVuY3Rpb24gU3ludGF4OiAiZnVuY3Rpb24g
KCAvKiBjICovICkgLyogZCAqLyB7IC8qIGUgKi8gfSIgKGdldCAvKiBhICovIGYgLyogYiAqLyAo
IC8qIGMgKi8gKSAvKiBkICovIHsgLyogZSAqLyB9KScKKyAgc3RyaWN0IG1vZGU6ICdUZXN0MjYy
RXJyb3I6IENvbmZvcm1zIHRvIE5hdGl2ZUZ1bmN0aW9uIFN5bnRheDogImZ1bmN0aW9uICggLyog
YyAqLyApIC8qIGQgKi8geyAvKiBlICovIH0iIChnZXQgLyogYSAqLyBmIC8qIGIgKi8gKCAvKiBj
ICovICkgLyogZCAqLyB7IC8qIGUgKi8gfSknCiB0ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90
b3R5cGUvdG9TdHJpbmcvZ2V0dGVyLW9iamVjdC5qczoKLSAgZGVmYXVsdDogIlRlc3QyNjJFcnJv
cjogQ29uZm9ybXMgdG8gTmF0aXZlRnVuY3Rpb24gU3ludGF4OiAnZnVuY3Rpb24gKCAvKiBjICov
ICkgLyogZCAqLyB7IC8qIGUgKi8gfScuKGdldCAvKiBhICovIGYgLyogYiAqLyAoIC8qIGMgKi8g
KSAvKiBkICovIHsgLyogZSAqLyB9KSIKLSAgc3RyaWN0IG1vZGU6ICJUZXN0MjYyRXJyb3I6IENv
bmZvcm1zIHRvIE5hdGl2ZUZ1bmN0aW9uIFN5bnRheDogJ2Z1bmN0aW9uICggLyogYyAqLyApIC8q
IGQgKi8geyAvKiBlICovIH0nLihnZXQgLyogYSAqLyBmIC8qIGIgKi8gKCAvKiBjICovICkgLyog
ZCAqLyB7IC8qIGUgKi8gfSkiCisgIGRlZmF1bHQ6ICdUZXN0MjYyRXJyb3I6IENvbmZvcm1zIHRv
IE5hdGl2ZUZ1bmN0aW9uIFN5bnRheDogImZ1bmN0aW9uICggLyogYyAqLyApIC8qIGQgKi8geyAv
KiBlICovIH0iIChnZXQgLyogYSAqLyBmIC8qIGIgKi8gKCAvKiBjICovICkgLyogZCAqLyB7IC8q
IGUgKi8gfSknCisgIHN0cmljdCBtb2RlOiAnVGVzdDI2MkVycm9yOiBDb25mb3JtcyB0byBOYXRp
dmVGdW5jdGlvbiBTeW50YXg6ICJmdW5jdGlvbiAoIC8qIGMgKi8gKSAvKiBkICovIHsgLyogZSAq
LyB9IiAoZ2V0IC8qIGEgKi8gZiAvKiBiICovICggLyogYyAqLyApIC8qIGQgKi8geyAvKiBlICov
IH0pJwogdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL3RvU3RyaW5nL2xpbmUtdGVy
bWluYXRvci1ub3JtYWxpc2F0aW9uLUNSLUxGLmpzOgotICBkZWZhdWx0OiAiVGVzdDI2MkVycm9y
OiBDb25mb3JtcyB0byBOYXRpdmVGdW5jdGlvbiBTeW50YXg6ICdmdW5jdGlvbiBmKFxyIgotICBz
dHJpY3QgbW9kZTogIlRlc3QyNjJFcnJvcjogQ29uZm9ybXMgdG8gTmF0aXZlRnVuY3Rpb24gU3lu
dGF4OiAnZnVuY3Rpb24gZihcciIKKyAgZGVmYXVsdDogIlRlc3QyNjJFcnJvcjogQ29uZm9ybXMg
dG8gTmF0aXZlRnVuY3Rpb24gU3ludGF4OiBcImZ1bmN0aW9uIGYoXFxyXFxuLy8gY1xcclxcbnhc
XHJcXG4vLyBkXFxyXFxuLFxcclxcbi8vIGVcXHJcXG55XFxyXFxuLy8gZlxcclxcbilcXHJcXG4v
LyBnXFxyXFxue1xcclxcbi8vIGhcXHJcXG47XFxyXFxuLy8gaVxcclxcbjtcXHJcXG4vLyBqXFxy
XFxufVwiIChmdW5jdGlvblxyIgorICBzdHJpY3QgbW9kZTogIlRlc3QyNjJFcnJvcjogQ29uZm9y
bXMgdG8gTmF0aXZlRnVuY3Rpb24gU3ludGF4OiBcImZ1bmN0aW9uIGYoXFxyXFxuLy8gY1xcclxc
bnhcXHJcXG4vLyBkXFxyXFxuLFxcclxcbi8vIGVcXHJcXG55XFxyXFxuLy8gZlxcclxcbilcXHJc
XG4vLyBnXFxyXFxue1xcclxcbi8vIGhcXHJcXG47XFxyXFxuLy8gaVxcclxcbjtcXHJcXG4vLyBq
XFxyXFxufVwiIChmdW5jdGlvblxyIgogdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBl
L3RvU3RyaW5nL2xpbmUtdGVybWluYXRvci1ub3JtYWxpc2F0aW9uLUNSLmpzOgotICBkZWZhdWx0
OiAiVGVzdDI2MkVycm9yOiBDb25mb3JtcyB0byBOYXRpdmVGdW5jdGlvbiBTeW50YXg6ICdmdW5j
dGlvbiBmKFxyLy8gY1xyeFxyLy8gZFxyLFxyLy8gZVxyeVxyLy8gZlxyKVxyLy8gZ1xye1xyLy8g
aFxyO1xyLy8gaVxyO1xyLy8galxyfScuKGZ1bmN0aW9uXHIvLyBhXHJmXHIvLyBiXHIoXHIvLyBj
XHJ4XHIvLyBkXHIsXHIvLyBlXHJ5XHIvLyBmXHIpXHIvLyBnXHJ7XHIvLyBoXHI7XHIvLyBpXHI7
XHIvLyBqXHJ9KSIKLSAgc3RyaWN0IG1vZGU6ICJUZXN0MjYyRXJyb3I6IENvbmZvcm1zIHRvIE5h
dGl2ZUZ1bmN0aW9uIFN5bnRheDogJ2Z1bmN0aW9uIGYoXHIvLyBjXHJ4XHIvLyBkXHIsXHIvLyBl
XHJ5XHIvLyBmXHIpXHIvLyBnXHJ7XHIvLyBoXHI7XHIvLyBpXHI7XHIvLyBqXHJ9Jy4oZnVuY3Rp
b25cci8vIGFccmZcci8vIGJccihcci8vIGNccnhcci8vIGRccixcci8vIGVccnlcci8vIGZccilc
ci8vIGdccntcci8vIGhccjtcci8vIGlccjtcci8vIGpccn0pIgorICBkZWZhdWx0OiAiVGVzdDI2
MkVycm9yOiBDb25mb3JtcyB0byBOYXRpdmVGdW5jdGlvbiBTeW50YXg6IFwiZnVuY3Rpb24gZihc
XHIvLyBjXFxyeFxcci8vIGRcXHIsXFxyLy8gZVxccnlcXHIvLyBmXFxyKVxcci8vIGdcXHJ7XFxy
Ly8gaFxccjtcXHIvLyBpXFxyO1xcci8vIGpcXHJ9XCIgKGZ1bmN0aW9uXHIvLyBhXHJmXHIvLyBi
XHIoXHIvLyBjXHJ4XHIvLyBkXHIsXHIvLyBlXHJ5XHIvLyBmXHIpXHIvLyBnXHJ7XHIvLyBoXHI7
XHIvLyBpXHI7XHIvLyBqXHJ9KSIKKyAgc3RyaWN0IG1vZGU6ICJUZXN0MjYyRXJyb3I6IENvbmZv
cm1zIHRvIE5hdGl2ZUZ1bmN0aW9uIFN5bnRheDogXCJmdW5jdGlvbiBmKFxcci8vIGNcXHJ4XFxy
Ly8gZFxccixcXHIvLyBlXFxyeVxcci8vIGZcXHIpXFxyLy8gZ1xccntcXHIvLyBoXFxyO1xcci8v
IGlcXHI7XFxyLy8galxccn1cIiAoZnVuY3Rpb25cci8vIGFccmZcci8vIGJccihcci8vIGNccnhc
ci8vIGRccixcci8vIGVccnlcci8vIGZccilcci8vIGdccntcci8vIGhccjtcci8vIGlccjtcci8v
IGpccn0pIgogdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL3RvU3RyaW5nL2xpbmUt
dGVybWluYXRvci1ub3JtYWxpc2F0aW9uLUxGLmpzOgotICBkZWZhdWx0OiAiVGVzdDI2MkVycm9y
OiBDb25mb3JtcyB0byBOYXRpdmVGdW5jdGlvbiBTeW50YXg6ICdmdW5jdGlvbiBmKCIKLSAgc3Ry
aWN0IG1vZGU6ICJUZXN0MjYyRXJyb3I6IENvbmZvcm1zIHRvIE5hdGl2ZUZ1bmN0aW9uIFN5bnRh
eDogJ2Z1bmN0aW9uIGYoIgorICBkZWZhdWx0OiAnVGVzdDI2MkVycm9yOiBDb25mb3JtcyB0byBO
YXRpdmVGdW5jdGlvbiBTeW50YXg6ICJmdW5jdGlvbiBmKFxuLy8gY1xueFxuLy8gZFxuLFxuLy8g
ZVxueVxuLy8gZlxuKVxuLy8gZ1xue1xuLy8gaFxuO1xuLy8gaVxuO1xuLy8galxufSIgKGZ1bmN0
aW9uJworICBzdHJpY3QgbW9kZTogJ1Rlc3QyNjJFcnJvcjogQ29uZm9ybXMgdG8gTmF0aXZlRnVu
Y3Rpb24gU3ludGF4OiAiZnVuY3Rpb24gZihcbi8vIGNcbnhcbi8vIGRcbixcbi8vIGVcbnlcbi8v
IGZcbilcbi8vIGdcbntcbi8vIGhcbjtcbi8vIGlcbjtcbi8vIGpcbn0iIChmdW5jdGlvbicKIHRl
c3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS90b1N0cmluZy9tZXRob2QtY2xhc3MtZXhw
cmVzc2lvbi1zdGF0aWMuanM6Ci0gIGRlZmF1bHQ6ICJUZXN0MjYyRXJyb3I6IENvbmZvcm1zIHRv
IE5hdGl2ZUZ1bmN0aW9uIFN5bnRheDogJ2Z1bmN0aW9uIGYoIC8qIGIgKi8gKSAvKiBjICovIHsg
LyogZCAqLyB9Jy4oZiAvKiBhICovICggLyogYiAqLyApIC8qIGMgKi8geyAvKiBkICovIH0pIgot
ICBzdHJpY3QgbW9kZTogIlRlc3QyNjJFcnJvcjogQ29uZm9ybXMgdG8gTmF0aXZlRnVuY3Rpb24g
U3ludGF4OiAnZnVuY3Rpb24gZiggLyogYiAqLyApIC8qIGMgKi8geyAvKiBkICovIH0nLihmIC8q
IGEgKi8gKCAvKiBiICovICkgLyogYyAqLyB7IC8qIGQgKi8gfSkiCisgIGRlZmF1bHQ6ICdUZXN0
MjYyRXJyb3I6IENvbmZvcm1zIHRvIE5hdGl2ZUZ1bmN0aW9uIFN5bnRheDogImZ1bmN0aW9uIGYo
IC8qIGIgKi8gKSAvKiBjICovIHsgLyogZCAqLyB9IiAoZiAvKiBhICovICggLyogYiAqLyApIC8q
IGMgKi8geyAvKiBkICovIH0pJworICBzdHJpY3QgbW9kZTogJ1Rlc3QyNjJFcnJvcjogQ29uZm9y
bXMgdG8gTmF0aXZlRnVuY3Rpb24gU3ludGF4OiAiZnVuY3Rpb24gZiggLyogYiAqLyApIC8qIGMg
Ki8geyAvKiBkICovIH0iIChmIC8qIGEgKi8gKCAvKiBiICovICkgLyogYyAqLyB7IC8qIGQgKi8g
fSknCiB0ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvdG9TdHJpbmcvbWV0aG9kLWNs
YXNzLWV4cHJlc3Npb24uanM6Ci0gIGRlZmF1bHQ6ICJUZXN0MjYyRXJyb3I6IENvbmZvcm1zIHRv
IE5hdGl2ZUZ1bmN0aW9uIFN5bnRheDogJ2Z1bmN0aW9uIGYoIC8qIGIgKi8gKSAvKiBjICovIHsg
LyogZCAqLyB9Jy4oZiAvKiBhICovICggLyogYiAqLyApIC8qIGMgKi8geyAvKiBkICovIH0pIgot
ICBzdHJpY3QgbW9kZTogIlRlc3QyNjJFcnJvcjogQ29uZm9ybXMgdG8gTmF0aXZlRnVuY3Rpb24g
U3ludGF4OiAnZnVuY3Rpb24gZiggLyogYiAqLyApIC8qIGMgKi8geyAvKiBkICovIH0nLihmIC8q
IGEgKi8gKCAvKiBiICovICkgLyogYyAqLyB7IC8qIGQgKi8gfSkiCisgIGRlZmF1bHQ6ICdUZXN0
MjYyRXJyb3I6IENvbmZvcm1zIHRvIE5hdGl2ZUZ1bmN0aW9uIFN5bnRheDogImZ1bmN0aW9uIGYo
IC8qIGIgKi8gKSAvKiBjICovIHsgLyogZCAqLyB9IiAoZiAvKiBhICovICggLyogYiAqLyApIC8q
IGMgKi8geyAvKiBkICovIH0pJworICBzdHJpY3QgbW9kZTogJ1Rlc3QyNjJFcnJvcjogQ29uZm9y
bXMgdG8gTmF0aXZlRnVuY3Rpb24gU3ludGF4OiAiZnVuY3Rpb24gZiggLyogYiAqLyApIC8qIGMg
Ki8geyAvKiBkICovIH0iIChmIC8qIGEgKi8gKCAvKiBiICovICkgLyogYyAqLyB7IC8qIGQgKi8g
fSknCiB0ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvdG9TdHJpbmcvbWV0aG9kLWNs
YXNzLXN0YXRlbWVudC1zdGF0aWMuanM6Ci0gIGRlZmF1bHQ6ICJUZXN0MjYyRXJyb3I6IENvbmZv
cm1zIHRvIE5hdGl2ZUZ1bmN0aW9uIFN5bnRheDogJ2Z1bmN0aW9uIGYoIC8qIGIgKi8gKSAvKiBj
ICovIHsgLyogZCAqLyB9Jy4oZiAvKiBhICovICggLyogYiAqLyApIC8qIGMgKi8geyAvKiBkICov
IH0pIgotICBzdHJpY3QgbW9kZTogIlRlc3QyNjJFcnJvcjogQ29uZm9ybXMgdG8gTmF0aXZlRnVu
Y3Rpb24gU3ludGF4OiAnZnVuY3Rpb24gZiggLyogYiAqLyApIC8qIGMgKi8geyAvKiBkICovIH0n
LihmIC8qIGEgKi8gKCAvKiBiICovICkgLyogYyAqLyB7IC8qIGQgKi8gfSkiCisgIGRlZmF1bHQ6
ICdUZXN0MjYyRXJyb3I6IENvbmZvcm1zIHRvIE5hdGl2ZUZ1bmN0aW9uIFN5bnRheDogImZ1bmN0
aW9uIGYoIC8qIGIgKi8gKSAvKiBjICovIHsgLyogZCAqLyB9IiAoZiAvKiBhICovICggLyogYiAq
LyApIC8qIGMgKi8geyAvKiBkICovIH0pJworICBzdHJpY3QgbW9kZTogJ1Rlc3QyNjJFcnJvcjog
Q29uZm9ybXMgdG8gTmF0aXZlRnVuY3Rpb24gU3ludGF4OiAiZnVuY3Rpb24gZiggLyogYiAqLyAp
IC8qIGMgKi8geyAvKiBkICovIH0iIChmIC8qIGEgKi8gKCAvKiBiICovICkgLyogYyAqLyB7IC8q
IGQgKi8gfSknCiB0ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvdG9TdHJpbmcvbWV0
aG9kLWNsYXNzLXN0YXRlbWVudC5qczoKLSAgZGVmYXVsdDogIlRlc3QyNjJFcnJvcjogQ29uZm9y
bXMgdG8gTmF0aXZlRnVuY3Rpb24gU3ludGF4OiAnZnVuY3Rpb24gZiggLyogYiAqLyApIC8qIGMg
Ki8geyAvKiBkICovIH0nLihmIC8qIGEgKi8gKCAvKiBiICovICkgLyogYyAqLyB7IC8qIGQgKi8g
fSkiCi0gIHN0cmljdCBtb2RlOiAiVGVzdDI2MkVycm9yOiBDb25mb3JtcyB0byBOYXRpdmVGdW5j
dGlvbiBTeW50YXg6ICdmdW5jdGlvbiBmKCAvKiBiICovICkgLyogYyAqLyB7IC8qIGQgKi8gfScu
KGYgLyogYSAqLyAoIC8qIGIgKi8gKSAvKiBjICovIHsgLyogZCAqLyB9KSIKKyAgZGVmYXVsdDog
J1Rlc3QyNjJFcnJvcjogQ29uZm9ybXMgdG8gTmF0aXZlRnVuY3Rpb24gU3ludGF4OiAiZnVuY3Rp
b24gZiggLyogYiAqLyApIC8qIGMgKi8geyAvKiBkICovIH0iIChmIC8qIGEgKi8gKCAvKiBiICov
ICkgLyogYyAqLyB7IC8qIGQgKi8gfSknCisgIHN0cmljdCBtb2RlOiAnVGVzdDI2MkVycm9yOiBD
b25mb3JtcyB0byBOYXRpdmVGdW5jdGlvbiBTeW50YXg6ICJmdW5jdGlvbiBmKCAvKiBiICovICkg
LyogYyAqLyB7IC8qIGQgKi8gfSIgKGYgLyogYSAqLyAoIC8qIGIgKi8gKSAvKiBjICovIHsgLyog
ZCAqLyB9KScKIHRlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS90b1N0cmluZy9tZXRo
b2QtY29tcHV0ZWQtcHJvcGVydHktbmFtZS5qczoKLSAgZGVmYXVsdDogIlRlc3QyNjJFcnJvcjog
Q29uZm9ybXMgdG8gTmF0aXZlRnVuY3Rpb24gU3ludGF4OiAnZnVuY3Rpb24gKCAvKiBkICovICkg
LyogZSAqLyB7IC8qIGYgKi8gfScuKFsgLyogYSAqLyBcImZcIiAvKiBiICovIF0gLyogYyAqLyAo
IC8qIGQgKi8gKSAvKiBlICovIHsgLyogZiAqLyB9KSIKLSAgc3RyaWN0IG1vZGU6ICJUZXN0MjYy
RXJyb3I6IENvbmZvcm1zIHRvIE5hdGl2ZUZ1bmN0aW9uIFN5bnRheDogJ2Z1bmN0aW9uICggLyog
ZCAqLyApIC8qIGUgKi8geyAvKiBmICovIH0nLihbIC8qIGEgKi8gXCJmXCIgLyogYiAqLyBdIC8q
IGMgKi8gKCAvKiBkICovICkgLyogZSAqLyB7IC8qIGYgKi8gfSkiCisgIGRlZmF1bHQ6ICdUZXN0
MjYyRXJyb3I6IENvbmZvcm1zIHRvIE5hdGl2ZUZ1bmN0aW9uIFN5bnRheDogImZ1bmN0aW9uICgg
LyogZCAqLyApIC8qIGUgKi8geyAvKiBmICovIH0iIChbIC8qIGEgKi8gImYiIC8qIGIgKi8gXSAv
KiBjICovICggLyogZCAqLyApIC8qIGUgKi8geyAvKiBmICovIH0pJworICBzdHJpY3QgbW9kZTog
J1Rlc3QyNjJFcnJvcjogQ29uZm9ybXMgdG8gTmF0aXZlRnVuY3Rpb24gU3ludGF4OiAiZnVuY3Rp
b24gKCAvKiBkICovICkgLyogZSAqLyB7IC8qIGYgKi8gfSIgKFsgLyogYSAqLyAiZiIgLyogYiAq
LyBdIC8qIGMgKi8gKCAvKiBkICovICkgLyogZSAqLyB7IC8qIGYgKi8gfSknCiB0ZXN0L2J1aWx0
LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvdG9TdHJpbmcvbWV0aG9kLW9iamVjdC5qczoKLSAgZGVm
YXVsdDogIlRlc3QyNjJFcnJvcjogQ29uZm9ybXMgdG8gTmF0aXZlRnVuY3Rpb24gU3ludGF4OiAn
ZnVuY3Rpb24gZiggLyogYiAqLyApIC8qIGMgKi8geyAvKiBkICovIH0nLihmIC8qIGEgKi8gKCAv
KiBiICovICkgLyogYyAqLyB7IC8qIGQgKi8gfSkiCi0gIHN0cmljdCBtb2RlOiAiVGVzdDI2MkVy
cm9yOiBDb25mb3JtcyB0byBOYXRpdmVGdW5jdGlvbiBTeW50YXg6ICdmdW5jdGlvbiBmKCAvKiBi
ICovICkgLyogYyAqLyB7IC8qIGQgKi8gfScuKGYgLyogYSAqLyAoIC8qIGIgKi8gKSAvKiBjICov
IHsgLyogZCAqLyB9KSIKKyAgZGVmYXVsdDogJ1Rlc3QyNjJFcnJvcjogQ29uZm9ybXMgdG8gTmF0
aXZlRnVuY3Rpb24gU3ludGF4OiAiZnVuY3Rpb24gZiggLyogYiAqLyApIC8qIGMgKi8geyAvKiBk
ICovIH0iIChmIC8qIGEgKi8gKCAvKiBiICovICkgLyogYyAqLyB7IC8qIGQgKi8gfSknCisgIHN0
cmljdCBtb2RlOiAnVGVzdDI2MkVycm9yOiBDb25mb3JtcyB0byBOYXRpdmVGdW5jdGlvbiBTeW50
YXg6ICJmdW5jdGlvbiBmKCAvKiBiICovICkgLyogYyAqLyB7IC8qIGQgKi8gfSIgKGYgLyogYSAq
LyAoIC8qIGIgKi8gKSAvKiBjICovIHsgLyogZCAqLyB9KScKIHRlc3QvYnVpbHQtaW5zL0Z1bmN0
aW9uL3Byb3RvdHlwZS90b1N0cmluZy9zZXR0ZXItY2xhc3MtZXhwcmVzc2lvbi1zdGF0aWMuanM6
Ci0gIGRlZmF1bHQ6ICJUZXN0MjYyRXJyb3I6IENvbmZvcm1zIHRvIE5hdGl2ZUZ1bmN0aW9uIFN5
bnRheDogJ2Z1bmN0aW9uICggLyogYyAqLyBhIC8qIGQgKi8gKSAvKiBlICovIHsgLyogZiAqLyB9
Jy4oc2V0IC8qIGEgKi8gZiAvKiBiICovICggLyogYyAqLyBhIC8qIGQgKi8gKSAvKiBlICovIHsg
LyogZiAqLyB9KSIKLSAgc3RyaWN0IG1vZGU6ICJUZXN0MjYyRXJyb3I6IENvbmZvcm1zIHRvIE5h
dGl2ZUZ1bmN0aW9uIFN5bnRheDogJ2Z1bmN0aW9uICggLyogYyAqLyBhIC8qIGQgKi8gKSAvKiBl
ICovIHsgLyogZiAqLyB9Jy4oc2V0IC8qIGEgKi8gZiAvKiBiICovICggLyogYyAqLyBhIC8qIGQg
Ki8gKSAvKiBlICovIHsgLyogZiAqLyB9KSIKKyAgZGVmYXVsdDogJ1Rlc3QyNjJFcnJvcjogQ29u
Zm9ybXMgdG8gTmF0aXZlRnVuY3Rpb24gU3ludGF4OiAiZnVuY3Rpb24gKCAvKiBjICovIGEgLyog
ZCAqLyApIC8qIGUgKi8geyAvKiBmICovIH0iIChzZXQgLyogYSAqLyBmIC8qIGIgKi8gKCAvKiBj
ICovIGEgLyogZCAqLyApIC8qIGUgKi8geyAvKiBmICovIH0pJworICBzdHJpY3QgbW9kZTogJ1Rl
c3QyNjJFcnJvcjogQ29uZm9ybXMgdG8gTmF0aXZlRnVuY3Rpb24gU3ludGF4OiAiZnVuY3Rpb24g
KCAvKiBjICovIGEgLyogZCAqLyApIC8qIGUgKi8geyAvKiBmICovIH0iIChzZXQgLyogYSAqLyBm
IC8qIGIgKi8gKCAvKiBjICovIGEgLyogZCAqLyApIC8qIGUgKi8geyAvKiBmICovIH0pJwogdGVz
dC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL3RvU3RyaW5nL3NldHRlci1jbGFzcy1leHBy
ZXNzaW9uLmpzOgotICBkZWZhdWx0OiAiVGVzdDI2MkVycm9yOiBDb25mb3JtcyB0byBOYXRpdmVG
dW5jdGlvbiBTeW50YXg6ICdmdW5jdGlvbiAoIC8qIGMgKi8gYSAvKiBkICovICkgLyogZSAqLyB7
IC8qIGYgKi8gfScuKHNldCAvKiBhICovIGYgLyogYiAqLyAoIC8qIGMgKi8gYSAvKiBkICovICkg
LyogZSAqLyB7IC8qIGYgKi8gfSkiCi0gIHN0cmljdCBtb2RlOiAiVGVzdDI2MkVycm9yOiBDb25m
b3JtcyB0byBOYXRpdmVGdW5jdGlvbiBTeW50YXg6ICdmdW5jdGlvbiAoIC8qIGMgKi8gYSAvKiBk
ICovICkgLyogZSAqLyB7IC8qIGYgKi8gfScuKHNldCAvKiBhICovIGYgLyogYiAqLyAoIC8qIGMg
Ki8gYSAvKiBkICovICkgLyogZSAqLyB7IC8qIGYgKi8gfSkiCisgIGRlZmF1bHQ6ICdUZXN0MjYy
RXJyb3I6IENvbmZvcm1zIHRvIE5hdGl2ZUZ1bmN0aW9uIFN5bnRheDogImZ1bmN0aW9uICggLyog
YyAqLyBhIC8qIGQgKi8gKSAvKiBlICovIHsgLyogZiAqLyB9IiAoc2V0IC8qIGEgKi8gZiAvKiBi
ICovICggLyogYyAqLyBhIC8qIGQgKi8gKSAvKiBlICovIHsgLyogZiAqLyB9KScKKyAgc3RyaWN0
IG1vZGU6ICdUZXN0MjYyRXJyb3I6IENvbmZvcm1zIHRvIE5hdGl2ZUZ1bmN0aW9uIFN5bnRheDog
ImZ1bmN0aW9uICggLyogYyAqLyBhIC8qIGQgKi8gKSAvKiBlICovIHsgLyogZiAqLyB9IiAoc2V0
IC8qIGEgKi8gZiAvKiBiICovICggLyogYyAqLyBhIC8qIGQgKi8gKSAvKiBlICovIHsgLyogZiAq
LyB9KScKIHRlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS90b1N0cmluZy9zZXR0ZXIt
Y2xhc3Mtc3RhdGVtZW50LXN0YXRpYy5qczoKLSAgZGVmYXVsdDogIlRlc3QyNjJFcnJvcjogQ29u
Zm9ybXMgdG8gTmF0aXZlRnVuY3Rpb24gU3ludGF4OiAnZnVuY3Rpb24gKCAvKiBjICovIGEgLyog
ZCAqLyApIC8qIGUgKi8geyAvKiBmICovIH0nLihzZXQgLyogYSAqLyBmIC8qIGIgKi8gKCAvKiBj
ICovIGEgLyogZCAqLyApIC8qIGUgKi8geyAvKiBmICovIH0pIgotICBzdHJpY3QgbW9kZTogIlRl
c3QyNjJFcnJvcjogQ29uZm9ybXMgdG8gTmF0aXZlRnVuY3Rpb24gU3ludGF4OiAnZnVuY3Rpb24g
KCAvKiBjICovIGEgLyogZCAqLyApIC8qIGUgKi8geyAvKiBmICovIH0nLihzZXQgLyogYSAqLyBm
IC8qIGIgKi8gKCAvKiBjICovIGEgLyogZCAqLyApIC8qIGUgKi8geyAvKiBmICovIH0pIgorICBk
ZWZhdWx0OiAnVGVzdDI2MkVycm9yOiBDb25mb3JtcyB0byBOYXRpdmVGdW5jdGlvbiBTeW50YXg6
ICJmdW5jdGlvbiAoIC8qIGMgKi8gYSAvKiBkICovICkgLyogZSAqLyB7IC8qIGYgKi8gfSIgKHNl
dCAvKiBhICovIGYgLyogYiAqLyAoIC8qIGMgKi8gYSAvKiBkICovICkgLyogZSAqLyB7IC8qIGYg
Ki8gfSknCisgIHN0cmljdCBtb2RlOiAnVGVzdDI2MkVycm9yOiBDb25mb3JtcyB0byBOYXRpdmVG
dW5jdGlvbiBTeW50YXg6ICJmdW5jdGlvbiAoIC8qIGMgKi8gYSAvKiBkICovICkgLyogZSAqLyB7
IC8qIGYgKi8gfSIgKHNldCAvKiBhICovIGYgLyogYiAqLyAoIC8qIGMgKi8gYSAvKiBkICovICkg
LyogZSAqLyB7IC8qIGYgKi8gfSknCiB0ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUv
dG9TdHJpbmcvc2V0dGVyLWNsYXNzLXN0YXRlbWVudC5qczoKLSAgZGVmYXVsdDogIlRlc3QyNjJF
cnJvcjogQ29uZm9ybXMgdG8gTmF0aXZlRnVuY3Rpb24gU3ludGF4OiAnZnVuY3Rpb24gKCAvKiBj
ICovIGEgLyogZCAqLyApIC8qIGUgKi8geyAvKiBmICovIH0nLihzZXQgLyogYSAqLyBmIC8qIGIg
Ki8gKCAvKiBjICovIGEgLyogZCAqLyApIC8qIGUgKi8geyAvKiBmICovIH0pIgotICBzdHJpY3Qg
bW9kZTogIlRlc3QyNjJFcnJvcjogQ29uZm9ybXMgdG8gTmF0aXZlRnVuY3Rpb24gU3ludGF4OiAn
ZnVuY3Rpb24gKCAvKiBjICovIGEgLyogZCAqLyApIC8qIGUgKi8geyAvKiBmICovIH0nLihzZXQg
LyogYSAqLyBmIC8qIGIgKi8gKCAvKiBjICovIGEgLyogZCAqLyApIC8qIGUgKi8geyAvKiBmICov
IH0pIgorICBkZWZhdWx0OiAnVGVzdDI2MkVycm9yOiBDb25mb3JtcyB0byBOYXRpdmVGdW5jdGlv
biBTeW50YXg6ICJmdW5jdGlvbiAoIC8qIGMgKi8gYSAvKiBkICovICkgLyogZSAqLyB7IC8qIGYg
Ki8gfSIgKHNldCAvKiBhICovIGYgLyogYiAqLyAoIC8qIGMgKi8gYSAvKiBkICovICkgLyogZSAq
LyB7IC8qIGYgKi8gfSknCisgIHN0cmljdCBtb2RlOiAnVGVzdDI2MkVycm9yOiBDb25mb3JtcyB0
byBOYXRpdmVGdW5jdGlvbiBTeW50YXg6ICJmdW5jdGlvbiAoIC8qIGMgKi8gYSAvKiBkICovICkg
LyogZSAqLyB7IC8qIGYgKi8gfSIgKHNldCAvKiBhICovIGYgLyogYiAqLyAoIC8qIGMgKi8gYSAv
KiBkICovICkgLyogZSAqLyB7IC8qIGYgKi8gfSknCiB0ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9w
cm90b3R5cGUvdG9TdHJpbmcvc2V0dGVyLW9iamVjdC5qczoKLSAgZGVmYXVsdDogIlRlc3QyNjJF
cnJvcjogQ29uZm9ybXMgdG8gTmF0aXZlRnVuY3Rpb24gU3ludGF4OiAnZnVuY3Rpb24gKCAvKiBj
ICovIGEgLyogZCAqLyApIC8qIGUgKi8geyAvKiBmICovIH0nLihzZXQgLyogYSAqLyBmIC8qIGIg
Ki8gKCAvKiBjICovIGEgLyogZCAqLyApIC8qIGUgKi8geyAvKiBmICovIH0pIgotICBzdHJpY3Qg
bW9kZTogIlRlc3QyNjJFcnJvcjogQ29uZm9ybXMgdG8gTmF0aXZlRnVuY3Rpb24gU3ludGF4OiAn
ZnVuY3Rpb24gKCAvKiBjICovIGEgLyogZCAqLyApIC8qIGUgKi8geyAvKiBmICovIH0nLihzZXQg
LyogYSAqLyBmIC8qIGIgKi8gKCAvKiBjICovIGEgLyogZCAqLyApIC8qIGUgKi8geyAvKiBmICov
IH0pIgorICBkZWZhdWx0OiAnVGVzdDI2MkVycm9yOiBDb25mb3JtcyB0byBOYXRpdmVGdW5jdGlv
biBTeW50YXg6ICJmdW5jdGlvbiAoIC8qIGMgKi8gYSAvKiBkICovICkgLyogZSAqLyB7IC8qIGYg
Ki8gfSIgKHNldCAvKiBhICovIGYgLyogYiAqLyAoIC8qIGMgKi8gYSAvKiBkICovICkgLyogZSAq
LyB7IC8qIGYgKi8gfSknCisgIHN0cmljdCBtb2RlOiAnVGVzdDI2MkVycm9yOiBDb25mb3JtcyB0
byBOYXRpdmVGdW5jdGlvbiBTeW50YXg6ICJmdW5jdGlvbiAoIC8qIGMgKi8gYSAvKiBkICovICkg
LyogZSAqLyB7IC8qIGYgKi8gfSIgKHNldCAvKiBhICovIGYgLyogYiAqLyAoIC8qIGMgKi8gYSAv
KiBkICovICkgLyogZSAqLyB7IC8qIGYgKi8gfSknCiB0ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9w
cm90b3R5cGUvdG9TdHJpbmcvdW5pY29kZS5qczoKLSAgZGVmYXVsdDogIlRlc3QyNjJFcnJvcjog
Q29uZm9ybXMgdG8gTmF0aXZlRnVuY3Rpb24gU3ludGF4OiAnZnVuY3Rpb24gYShcXHV7NjJ9LCBc
XHUwMDYzKSB7IFxcdTAwNjIgPSBcXHV7MDAwNjN9OyByZXR1cm4gYjsgfScuKGZ1bmN0aW9uIFxc
dTAwNjEoXFx1ezYyfSwgXFx1MDA2MykgeyBcXHUwMDYyID0gXFx1ezAwMDYzfTsgcmV0dXJuIGI7
IH0pIgotICBzdHJpY3QgbW9kZTogIlRlc3QyNjJFcnJvcjogQ29uZm9ybXMgdG8gTmF0aXZlRnVu
Y3Rpb24gU3ludGF4OiAnZnVuY3Rpb24gYShcXHV7NjJ9LCBcXHUwMDYzKSB7IFxcdTAwNjIgPSBc
XHV7MDAwNjN9OyByZXR1cm4gYjsgfScuKGZ1bmN0aW9uIFxcdTAwNjEoXFx1ezYyfSwgXFx1MDA2
MykgeyBcXHUwMDYyID0gXFx1ezAwMDYzfTsgcmV0dXJuIGI7IH0pIgorICBkZWZhdWx0OiAnVGVz
dDI2MkVycm9yOiBDb25mb3JtcyB0byBOYXRpdmVGdW5jdGlvbiBTeW50YXg6ICJmdW5jdGlvbiBh
KFxcdXs2Mn0sIFxcdTAwNjMpIHsgXFx1MDA2MiA9IFxcdXswMDA2M307IHJldHVybiBiOyB9IiAo
ZnVuY3Rpb24gXHUwMDYxKFx1ezYyfSwgXHUwMDYzKSB7IFx1MDA2MiA9IFx1ezAwMDYzfTsgcmV0
dXJuIGI7IH0pJworICBzdHJpY3QgbW9kZTogJ1Rlc3QyNjJFcnJvcjogQ29uZm9ybXMgdG8gTmF0
aXZlRnVuY3Rpb24gU3ludGF4OiAiZnVuY3Rpb24gYShcXHV7NjJ9LCBcXHUwMDYzKSB7IFxcdTAw
NjIgPSBcXHV7MDAwNjN9OyByZXR1cm4gYjsgfSIgKGZ1bmN0aW9uIFx1MDA2MShcdXs2Mn0sIFx1
MDA2MykgeyBcdTAwNjIgPSBcdXswMDA2M307IHJldHVybiBiOyB9KScKK3Rlc3QvYnVpbHQtaW5z
L0dlbmVyYXRvckZ1bmN0aW9uL3Byb3RvdHlwZS9ub3QtY2FsbGFibGUuanM6CisgIGRlZmF1bHQ6
ICdUZXN0MjYyRXJyb3I6IGxlbmd0aCcKKyAgc3RyaWN0IG1vZGU6ICdUZXN0MjYyRXJyb3I6IGxl
bmd0aCcKIHRlc3QvYnVpbHQtaW5zL09iamVjdC9hc3NpZ24vc3RyaW5ncy1hbmQtc3ltYm9sLW9y
ZGVyLXByb3h5LmpzOgogICBkZWZhdWx0OiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBbZm9vLCAw
LCBTeW1ib2woKV0gYW5kIFtTeW1ib2woKSwgZm9vLCAwXSB0byBoYXZlIHRoZSBzYW1lIGNvbnRl
bnRzLiAnCiAgIHN0cmljdCBtb2RlOiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBbZm9vLCAwLCBT
eW1ib2woKV0gYW5kIFtTeW1ib2woKSwgZm9vLCAwXSB0byBoYXZlIHRoZSBzYW1lIGNvbnRlbnRz
LiAnCkBAIC0xNjExLDYgKzE2MjYsMTIgQEAgdGVzdC9pbnRsNDAyL0ludGwvZ2V0Q2Fub25pY2Fs
TG9jYWxlcy91bmljb2RlLWV4dC1jYW5vbmljYWxpemUteWVzLXRvLXRydWUuanM6CiB0ZXN0L2lu
dGw0MDIvSW50bC9nZXRDYW5vbmljYWxMb2NhbGVzL3VuaWNvZGUtZXh0LWtleS13aXRoLWRpZ2l0
LmpzOgogICBkZWZhdWx0OiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBhIFJhbmdlRXJyb3IgdG8g
YmUgdGhyb3duIGJ1dCBubyBleGNlcHRpb24gd2FzIHRocm93biBhdCBhbGwnCiAgIHN0cmljdCBt
b2RlOiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBhIFJhbmdlRXJyb3IgdG8gYmUgdGhyb3duIGJ1
dCBubyBleGNlcHRpb24gd2FzIHRocm93biBhdCBhbGwnCit0ZXN0L2ludGw0MDIvSW50bC90b1N0
cmluZ1RhZy90b1N0cmluZy5qczoKKyAgZGVmYXVsdDogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQg
U2FtZVZhbHVlKMKrW29iamVjdCBPYmplY3RdwrssIMKrW29iamVjdCBJbnRsXcK7KSB0byBiZSB0
cnVlJworICBzdHJpY3QgbW9kZTogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQgU2FtZVZhbHVlKMKr
W29iamVjdCBPYmplY3RdwrssIMKrW29iamVjdCBJbnRsXcK7KSB0byBiZSB0cnVlJwordGVzdC9p
bnRsNDAyL0ludGwvdG9TdHJpbmdUYWcvdG9TdHJpbmdUYWcuanM6CisgIGRlZmF1bHQ6ICdUZXN0
MjYyRXJyb3I6IG9iaiBzaG91bGQgaGF2ZSBhbiBvd24gcHJvcGVydHkgU3ltYm9sKFN5bWJvbC50
b1N0cmluZ1RhZyknCisgIHN0cmljdCBtb2RlOiAnVGVzdDI2MkVycm9yOiBvYmogc2hvdWxkIGhh
dmUgYW4gb3duIHByb3BlcnR5IFN5bWJvbChTeW1ib2wudG9TdHJpbmdUYWcpJwogdGVzdC9pbnRs
NDAyL0xvY2FsZS9jb25zdHJ1Y3Rvci1hcHBseS1vcHRpb25zLWNhbm9uaWNhbGl6ZXMtdHdpY2Uu
anM6CiAgIGRlZmF1bHQ6ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVkIFNhbWVWYWx1ZSjCq3J1LUFy
bW4tU1XCuywgwqtydS1Bcm1uLUFNwrspIHRvIGJlIHRydWUnCiAgIHN0cmljdCBtb2RlOiAnVGVz
dDI2MkVycm9yOiBFeHBlY3RlZCBTYW1lVmFsdWUowqtydS1Bcm1uLVNVwrssIMKrcnUtQXJtbi1B
TcK7KSB0byBiZSB0cnVlJwpAQCAtMTY2Miw2ICsxNjgzLDkgQEAgdGVzdC9pbnRsNDAyL0xvY2Fs
ZS9saWtlbHktc3VidGFncy5qczoKIHRlc3QvaW50bDQwMi9Mb2NhbGUvcHJvdG90eXBlL21pbmlt
aXplL3JlbW92aW5nLWxpa2VseS1zdWJ0YWdzLWZpcnN0LWFkZHMtbGlrZWx5LXN1YnRhZ3MuanM6
CiAgIGRlZmF1bHQ6ICdUZXN0MjYyRXJyb3I6ICJ1bmQiLm1pbmltaXplKCkgc2hvdWxkIGJlICJl
biIgRXhwZWN0ZWQgU2FtZVZhbHVlKMKrZW4tdS12YS1wb3NpeMK7LCDCq2VuwrspIHRvIGJlIHRy
dWUnCiAgIHN0cmljdCBtb2RlOiAnVGVzdDI2MkVycm9yOiAidW5kIi5taW5pbWl6ZSgpIHNob3Vs
ZCBiZSAiZW4iIEV4cGVjdGVkIFNhbWVWYWx1ZSjCq2VuLXUtdmEtcG9zaXjCuywgwqtlbsK7KSB0
byBiZSB0cnVlJwordGVzdC9pbnRsNDAyL051bWJlckZvcm1hdC9kZnQtY3VycmVuY3ktbW5mZC1y
YW5nZS1jaGVjay1teGZkLmpzOgorICBkZWZhdWx0OiAnUmFuZ2VFcnJvcjogbWF4aW11bUZyYWN0
aW9uRGlnaXRzIGlzIG91dCBvZiByYW5nZScKKyAgc3RyaWN0IG1vZGU6ICdSYW5nZUVycm9yOiBt
YXhpbXVtRnJhY3Rpb25EaWdpdHMgaXMgb3V0IG9mIHJhbmdlJwogdGVzdC9pbnRsNDAyL1JlbGF0
aXZlVGltZUZvcm1hdC9jb25zdHJ1Y3Rvci9jb25zdHJ1Y3Rvci9sb2NhbGVzLXZhbGlkLmpzOgog
ICBkZWZhdWx0OiAnVGVzdDI2MkVycm9yOiBHcmFuZGZhdGhlcmVkIEV4cGVjdGVkIGEgUmFuZ2VF
cnJvciB0byBiZSB0aHJvd24gYnV0IG5vIGV4Y2VwdGlvbiB3YXMgdGhyb3duIGF0IGFsbCcKICAg
c3RyaWN0IG1vZGU6ICdUZXN0MjYyRXJyb3I6IEdyYW5kZmF0aGVyZWQgRXhwZWN0ZWQgYSBSYW5n
ZUVycm9yIHRvIGJlIHRocm93biBidXQgbm8gZXhjZXB0aW9uIHdhcyB0aHJvd24gYXQgYWxsJwpA
QCAtMjA2NSw2ICsyMDg5LDE1IEBAIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvY2xh
c3MtbmFtZS1pZGVudC1zdGF0aWMtZXNjYXBlZC5qczoKICAgZGVmYXVsdDogJ1Rlc3QyNjI6IFRo
aXMgc3RhdGVtZW50IHNob3VsZCBub3QgYmUgZXZhbHVhdGVkLicKIHRlc3QvbGFuZ3VhZ2UvZXhw
cmVzc2lvbnMvY2xhc3MvY2xhc3MtbmFtZS1pZGVudC1zdGF0aWMuanM6CiAgIGRlZmF1bHQ6ICdU
ZXN0MjYyOiBUaGlzIHN0YXRlbWVudCBzaG91bGQgbm90IGJlIGV2YWx1YXRlZC4nCit0ZXN0L2xh
bmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2VsZW1lbnRzL3N5bnRheC92YWxpZC9ncmFtbWFyLXNw
ZWNpYWwtcHJvdG90eXBlLWFzeW5jLWdlbi1tZXRoLXZhbGlkLmpzOgorICBkZWZhdWx0OiAiU3lu
dGF4RXJyb3I6IENhbm5vdCBkZWNsYXJlIGFuIGFzeW5jIGdlbmVyYXRvciBtZXRob2QgbmFtZWQg
J3Byb3RvdHlwZScuIgorICBzdHJpY3QgbW9kZTogIlN5bnRheEVycm9yOiBDYW5ub3QgZGVjbGFy
ZSBhbiBhc3luYyBnZW5lcmF0b3IgbWV0aG9kIG5hbWVkICdwcm90b3R5cGUnLiIKK3Rlc3QvbGFu
Z3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvZWxlbWVudHMvc3ludGF4L3ZhbGlkL2dyYW1tYXItc3Bl
Y2lhbC1wcm90b3R5cGUtYXN5bmMtbWV0aC12YWxpZC5qczoKKyAgZGVmYXVsdDogIlN5bnRheEVy
cm9yOiBDYW5ub3QgZGVjbGFyZSBhbiBhc3luYyBtZXRob2QgbmFtZWQgJ3Byb3RvdHlwZScuIgor
ICBzdHJpY3QgbW9kZTogIlN5bnRheEVycm9yOiBDYW5ub3QgZGVjbGFyZSBhbiBhc3luYyBtZXRo
b2QgbmFtZWQgJ3Byb3RvdHlwZScuIgordGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9l
bGVtZW50cy9zeW50YXgvdmFsaWQvZ3JhbW1hci1zcGVjaWFsLXByb3RvdHlwZS1nZW4tbWV0aC12
YWxpZC5qczoKKyAgZGVmYXVsdDogIlN5bnRheEVycm9yOiBDYW5ub3QgZGVjbGFyZSBhIGdlbmVy
YXRvciBmdW5jdGlvbiBuYW1lZCAncHJvdG90eXBlJy4iCisgIHN0cmljdCBtb2RlOiAiU3ludGF4
RXJyb3I6IENhbm5vdCBkZWNsYXJlIGEgZ2VuZXJhdG9yIGZ1bmN0aW9uIG5hbWVkICdwcm90b3R5
cGUnLiIKIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvZWxlbWVudHMvc3ludGF4L3Zh
bGlkL2dyYW1tYXItc3RhdGljLWN0b3ItYXN5bmMtZ2VuLW1ldGgtdmFsaWQuanM6CiAgIGRlZmF1
bHQ6ICJTeW50YXhFcnJvcjogQ2Fubm90IGRlY2xhcmUgYW4gYXN5bmMgZ2VuZXJhdG9yIG1ldGhv
ZCBuYW1lZCAnY29uc3RydWN0b3InLiIKICAgc3RyaWN0IG1vZGU6ICJTeW50YXhFcnJvcjogQ2Fu
bm90IGRlY2xhcmUgYW4gYXN5bmMgZ2VuZXJhdG9yIG1ldGhvZCBuYW1lZCAnY29uc3RydWN0b3In
LiIKQEAgLTI5NjYsNiArMjk5OSwxNSBAQCB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3Mv
Y2xhc3MtbmFtZS1pZGVudC1zdGF0aWMtZXNjYXBlZC5qczoKICAgZGVmYXVsdDogJ1Rlc3QyNjI6
IFRoaXMgc3RhdGVtZW50IHNob3VsZCBub3QgYmUgZXZhbHVhdGVkLicKIHRlc3QvbGFuZ3VhZ2Uv
c3RhdGVtZW50cy9jbGFzcy9jbGFzcy1uYW1lLWlkZW50LXN0YXRpYy5qczoKICAgZGVmYXVsdDog
J1Rlc3QyNjI6IFRoaXMgc3RhdGVtZW50IHNob3VsZCBub3QgYmUgZXZhbHVhdGVkLicKK3Rlc3Qv
bGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9lbGVtZW50cy9zeW50YXgvdmFsaWQvZ3JhbW1hci1z
cGVjaWFsLXByb3RvdHlwZS1hc3luYy1nZW4tbWV0aC12YWxpZC5qczoKKyAgZGVmYXVsdDogIlN5
bnRheEVycm9yOiBDYW5ub3QgZGVjbGFyZSBhbiBhc3luYyBnZW5lcmF0b3IgbWV0aG9kIG5hbWVk
ICdwcm90b3R5cGUnLiIKKyAgc3RyaWN0IG1vZGU6ICJTeW50YXhFcnJvcjogQ2Fubm90IGRlY2xh
cmUgYW4gYXN5bmMgZ2VuZXJhdG9yIG1ldGhvZCBuYW1lZCAncHJvdG90eXBlJy4iCit0ZXN0L2xh
bmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZWxlbWVudHMvc3ludGF4L3ZhbGlkL2dyYW1tYXItc3Bl
Y2lhbC1wcm90b3R5cGUtYXN5bmMtbWV0aC12YWxpZC5qczoKKyAgZGVmYXVsdDogIlN5bnRheEVy
cm9yOiBDYW5ub3QgZGVjbGFyZSBhbiBhc3luYyBtZXRob2QgbmFtZWQgJ3Byb3RvdHlwZScuIgor
ICBzdHJpY3QgbW9kZTogIlN5bnRheEVycm9yOiBDYW5ub3QgZGVjbGFyZSBhbiBhc3luYyBtZXRo
b2QgbmFtZWQgJ3Byb3RvdHlwZScuIgordGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Vs
ZW1lbnRzL3N5bnRheC92YWxpZC9ncmFtbWFyLXNwZWNpYWwtcHJvdG90eXBlLWdlbi1tZXRoLXZh
bGlkLmpzOgorICBkZWZhdWx0OiAiU3ludGF4RXJyb3I6IENhbm5vdCBkZWNsYXJlIGEgZ2VuZXJh
dG9yIGZ1bmN0aW9uIG5hbWVkICdwcm90b3R5cGUnLiIKKyAgc3RyaWN0IG1vZGU6ICJTeW50YXhF
cnJvcjogQ2Fubm90IGRlY2xhcmUgYSBnZW5lcmF0b3IgZnVuY3Rpb24gbmFtZWQgJ3Byb3RvdHlw
ZScuIgogdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2VsZW1lbnRzL3N5bnRheC92YWxp
ZC9ncmFtbWFyLXN0YXRpYy1jdG9yLWFzeW5jLWdlbi1tZXRoLXZhbGlkLmpzOgogICBkZWZhdWx0
OiAiU3ludGF4RXJyb3I6IENhbm5vdCBkZWNsYXJlIGFuIGFzeW5jIGdlbmVyYXRvciBtZXRob2Qg
bmFtZWQgJ2NvbnN0cnVjdG9yJy4iCiAgIHN0cmljdCBtb2RlOiAiU3ludGF4RXJyb3I6IENhbm5v
dCBkZWNsYXJlIGFuIGFzeW5jIGdlbmVyYXRvciBtZXRob2QgbmFtZWQgJ2NvbnN0cnVjdG9yJy4i
CkBAIC0zMTEwLDYgKzMxNTIsMTUgQEAgdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL3Bv
aXNvbmVkLXVuZGVyc2NvcmUtcHJvdG8uanM6CiB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xh
c3Mvc3ViY2xhc3MvYnVpbHRpbi1vYmplY3RzL0FycmF5QnVmZmVyL3JlZ3VsYXItc3ViY2xhc3Np
bmcuanM6CiAgIGRlZmF1bHQ6ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVkIHRydWUgYnV0IGdvdCBm
YWxzZScKICAgc3RyaWN0IG1vZGU6ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVkIHRydWUgYnV0IGdv
dCBmYWxzZScKK3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jb25zdC9kc3RyL2FyeS1pbml0LWl0
ZXItZ2V0LWVyci1hcnJheS1wcm90b3R5cGUuanM6CisgIGRlZmF1bHQ6ICdUZXN0MjYyRXJyb3I6
IEV4cGVjdGVkIGEgVHlwZUVycm9yIHRvIGJlIHRocm93biBidXQgbm8gZXhjZXB0aW9uIHdhcyB0
aHJvd24gYXQgYWxsJworICBzdHJpY3QgbW9kZTogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQgYSBU
eXBlRXJyb3IgdG8gYmUgdGhyb3duIGJ1dCBubyBleGNlcHRpb24gd2FzIHRocm93biBhdCBhbGwn
Cit0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY29uc3QvZHN0ci9hcnktcHRybi1lbGVtLWlkLWl0
ZXItdmFsLWFycmF5LXByb3RvdHlwZS5qczoKKyAgZGVmYXVsdDogJ1Rlc3QyNjJFcnJvcjogRXhw
ZWN0ZWQgU2FtZVZhbHVlKMKrM8K7LCDCqzQywrspIHRvIGJlIHRydWUnCisgIHN0cmljdCBtb2Rl
OiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBTYW1lVmFsdWUowqszwrssIMKrNDLCuykgdG8gYmUg
dHJ1ZScKK3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jb25zdC9kc3RyL2FyeS1wdHJuLXJlc3Qt
aWQtZGlyZWN0LmpzOgorICBkZWZhdWx0OiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCB0cnVlIGJ1
dCBnb3QgZmFsc2UnCisgIHN0cmljdCBtb2RlOiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCB0cnVl
IGJ1dCBnb3QgZmFsc2UnCiB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvZG8td2hpbGUvbGV0LWFy
cmF5LXdpdGgtbmV3bGluZS5qczoKICAgZGVmYXVsdDogJ1Rlc3QyNjI6IFRoaXMgc3RhdGVtZW50
IHNob3VsZCBub3QgYmUgZXZhbHVhdGVkLicKIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9mb3It
YXdhaXQtb2YvYXN5bmMtZnJvbS1zeW5jLWl0ZXJhdG9yLWNvbnRpbnVhdGlvbi1hYnJ1cHQtY29t
cGxldGlvbi1nZXQtY29uc3RydWN0b3IuanM6CkBAIC0zMzM2LDYgKzMzODcsMzMgQEAgdGVzdC9s
YW5ndWFnZS9zdGF0ZW1lbnRzL2Zvci1vZi9oZWFkLXZhci1uby1leHByLmpzOgogICBzdHJpY3Qg
bW9kZTogJ1Rlc3QyNjI6IFRoaXMgc3RhdGVtZW50IHNob3VsZCBub3QgYmUgZXZhbHVhdGVkLicK
IHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9mb3Itb2YvbGV0LWFycmF5LXdpdGgtbmV3bGluZS5q
czoKICAgZGVmYXVsdDogJ1Rlc3QyNjI6IFRoaXMgc3RhdGVtZW50IHNob3VsZCBub3QgYmUgZXZh
bHVhdGVkLicKK3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9mb3IvZHN0ci9jb25zdC1hcnktaW5p
dC1pdGVyLWdldC1lcnItYXJyYXktcHJvdG90eXBlLmpzOgorICBkZWZhdWx0OiAnVGVzdDI2MkVy
cm9yOiBFeHBlY3RlZCBhIFR5cGVFcnJvciB0byBiZSB0aHJvd24gYnV0IG5vIGV4Y2VwdGlvbiB3
YXMgdGhyb3duIGF0IGFsbCcKKyAgc3RyaWN0IG1vZGU6ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVk
IGEgVHlwZUVycm9yIHRvIGJlIHRocm93biBidXQgbm8gZXhjZXB0aW9uIHdhcyB0aHJvd24gYXQg
YWxsJwordGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2Zvci9kc3RyL2NvbnN0LWFyeS1wdHJuLWVs
ZW0taWQtaXRlci12YWwtYXJyYXktcHJvdG90eXBlLmpzOgorICBkZWZhdWx0OiAnVGVzdDI2MkVy
cm9yOiBFeHBlY3RlZCBTYW1lVmFsdWUowqszwrssIMKrNDLCuykgdG8gYmUgdHJ1ZScKKyAgc3Ry
aWN0IG1vZGU6ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVkIFNhbWVWYWx1ZSjCqzPCuywgwqs0MsK7
KSB0byBiZSB0cnVlJwordGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2Zvci9kc3RyL2NvbnN0LWFy
eS1wdHJuLXJlc3QtaWQtZGlyZWN0LmpzOgorICBkZWZhdWx0OiAnVGVzdDI2MkVycm9yOiBFeHBl
Y3RlZCB0cnVlIGJ1dCBnb3QgZmFsc2UnCisgIHN0cmljdCBtb2RlOiAnVGVzdDI2MkVycm9yOiBF
eHBlY3RlZCB0cnVlIGJ1dCBnb3QgZmFsc2UnCit0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvZm9y
L2RzdHIvbGV0LWFyeS1pbml0LWl0ZXItZ2V0LWVyci1hcnJheS1wcm90b3R5cGUuanM6CisgIGRl
ZmF1bHQ6ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVkIGEgVHlwZUVycm9yIHRvIGJlIHRocm93biBi
dXQgbm8gZXhjZXB0aW9uIHdhcyB0aHJvd24gYXQgYWxsJworICBzdHJpY3QgbW9kZTogJ1Rlc3Qy
NjJFcnJvcjogRXhwZWN0ZWQgYSBUeXBlRXJyb3IgdG8gYmUgdGhyb3duIGJ1dCBubyBleGNlcHRp
b24gd2FzIHRocm93biBhdCBhbGwnCit0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvZm9yL2RzdHIv
bGV0LWFyeS1wdHJuLWVsZW0taWQtaXRlci12YWwtYXJyYXktcHJvdG90eXBlLmpzOgorICBkZWZh
dWx0OiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBTYW1lVmFsdWUowqszwrssIMKrNDLCuykgdG8g
YmUgdHJ1ZScKKyAgc3RyaWN0IG1vZGU6ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVkIFNhbWVWYWx1
ZSjCqzPCuywgwqs0MsK7KSB0byBiZSB0cnVlJwordGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2Zv
ci9kc3RyL2xldC1hcnktcHRybi1yZXN0LWlkLWRpcmVjdC5qczoKKyAgZGVmYXVsdDogJ1Rlc3Qy
NjJFcnJvcjogRXhwZWN0ZWQgdHJ1ZSBidXQgZ290IGZhbHNlJworICBzdHJpY3QgbW9kZTogJ1Rl
c3QyNjJFcnJvcjogRXhwZWN0ZWQgdHJ1ZSBidXQgZ290IGZhbHNlJwordGVzdC9sYW5ndWFnZS9z
dGF0ZW1lbnRzL2Zvci9kc3RyL3Zhci1hcnktaW5pdC1pdGVyLWdldC1lcnItYXJyYXktcHJvdG90
eXBlLmpzOgorICBkZWZhdWx0OiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBhIFR5cGVFcnJvciBi
dXQgZ290IGEgUmVmZXJlbmNlRXJyb3InCisgIHN0cmljdCBtb2RlOiAnVGVzdDI2MkVycm9yOiBF
eHBlY3RlZCBhIFR5cGVFcnJvciBidXQgZ290IGEgUmVmZXJlbmNlRXJyb3InCit0ZXN0L2xhbmd1
YWdlL3N0YXRlbWVudHMvZm9yL2RzdHIvdmFyLWFyeS1wdHJuLWVsZW0taWQtaXRlci12YWwtYXJy
YXktcHJvdG90eXBlLmpzOgorICBkZWZhdWx0OiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBTYW1l
VmFsdWUowqszwrssIMKrNDLCuykgdG8gYmUgdHJ1ZScKKyAgc3RyaWN0IG1vZGU6ICdUZXN0MjYy
RXJyb3I6IEV4cGVjdGVkIFNhbWVWYWx1ZSjCqzPCuywgwqs0MsK7KSB0byBiZSB0cnVlJwordGVz
dC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2Zvci9kc3RyL3Zhci1hcnktcHRybi1yZXN0LWlkLWRpcmVj
dC5qczoKKyAgZGVmYXVsdDogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQgdHJ1ZSBidXQgZ290IGZh
bHNlJworICBzdHJpY3QgbW9kZTogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQgdHJ1ZSBidXQgZ290
IGZhbHNlJwogdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2Zvci9oZWFkLWxocy1sZXQuanM6CiAg
IGRlZmF1bHQ6ICJTeW50YXhFcnJvcjogVW5leHBlY3RlZCB0b2tlbiAnOycuIEV4cGVjdGVkIGEg
cGFyYW1ldGVyIHBhdHRlcm4gb3IgYSAnKScgaW4gcGFyYW1ldGVyIGxpc3QuIgogdGVzdC9sYW5n
dWFnZS9zdGF0ZW1lbnRzL2Zvci9sZXQtYXJyYXktd2l0aC1uZXdsaW5lLmpzOgpAQCAtMzQwMSw2
ICszNDc5LDE1IEBAIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9sYWJlbGVkL3ZhbHVlLXlpZWxk
LW5vbi1zdHJpY3QtZXNjYXBlZC5qczoKICAgZGVmYXVsdDogIlN5bnRheEVycm9yOiBVbmV4cGVj
dGVkIGVzY2FwZWQgY2hhcmFjdGVycyBpbiBrZXl3b3JkIHRva2VuOiAneWlcXHUwMDY1bGQnIgog
dGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2xldC9ibG9jay1sb2NhbC1jbG9zdXJlLXNldC1iZWZv
cmUtaW5pdGlhbGl6YXRpb24uanM6CiAgIGRlZmF1bHQ6ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVk
IGEgUmVmZXJlbmNlRXJyb3IgdG8gYmUgdGhyb3duIGJ1dCBubyBleGNlcHRpb24gd2FzIHRocm93
biBhdCBhbGwnCit0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvbGV0L2RzdHIvYXJ5LWluaXQtaXRl
ci1nZXQtZXJyLWFycmF5LXByb3RvdHlwZS5qczoKKyAgZGVmYXVsdDogJ1Rlc3QyNjJFcnJvcjog
RXhwZWN0ZWQgYSBUeXBlRXJyb3IgdG8gYmUgdGhyb3duIGJ1dCBubyBleGNlcHRpb24gd2FzIHRo
cm93biBhdCBhbGwnCisgIHN0cmljdCBtb2RlOiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBhIFR5
cGVFcnJvciB0byBiZSB0aHJvd24gYnV0IG5vIGV4Y2VwdGlvbiB3YXMgdGhyb3duIGF0IGFsbCcK
K3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9sZXQvZHN0ci9hcnktcHRybi1lbGVtLWlkLWl0ZXIt
dmFsLWFycmF5LXByb3RvdHlwZS5qczoKKyAgZGVmYXVsdDogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0
ZWQgU2FtZVZhbHVlKMKrM8K7LCDCqzQywrspIHRvIGJlIHRydWUnCisgIHN0cmljdCBtb2RlOiAn
VGVzdDI2MkVycm9yOiBFeHBlY3RlZCBTYW1lVmFsdWUowqszwrssIMKrNDLCuykgdG8gYmUgdHJ1
ZScKK3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9sZXQvZHN0ci9hcnktcHRybi1yZXN0LWlkLWRp
cmVjdC5qczoKKyAgZGVmYXVsdDogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQgdHJ1ZSBidXQgZ290
IGZhbHNlJworICBzdHJpY3QgbW9kZTogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQgdHJ1ZSBidXQg
Z290IGZhbHNlJwogdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2xldC9zeW50YXgvZXNjYXBlZC1s
ZXQuanM6CiAgIGRlZmF1bHQ6ICJTeW50YXhFcnJvcjogVW5leHBlY3RlZCBlc2NhcGVkIGNoYXJh
Y3RlcnMgaW4ga2V5d29yZCB0b2tlbjogJ2xcXHUwMDY1dCciCiB0ZXN0L2xhbmd1YWdlL3N0YXRl
bWVudHMvc3dpdGNoL3N5bnRheC9yZWRlY2xhcmF0aW9uL2FzeW5jLWZ1bmN0aW9uLW5hbWUtcmVk
ZWNsYXJhdGlvbi1hdHRlbXB0LXdpdGgtYXN5bmMtZnVuY3Rpb24uanM6CkBAIC0zNTAxLDYgKzM1
ODgsMTUgQEAgdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL3N3aXRjaC9zeW50YXgvcmVkZWNsYXJh
dGlvbi92YXItbmFtZS1yZWRlY2xhcmF0aW9uLWF0dGUKIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50
cy9zd2l0Y2gvc3ludGF4L3JlZGVjbGFyYXRpb24vdmFyLW5hbWUtcmVkZWNsYXJhdGlvbi1hdHRl
bXB0LXdpdGgtZ2VuZXJhdG9yLmpzOgogICBkZWZhdWx0OiAnVGVzdDI2MjogVGhpcyBzdGF0ZW1l
bnQgc2hvdWxkIG5vdCBiZSBldmFsdWF0ZWQuJwogICBzdHJpY3QgbW9kZTogJ1Rlc3QyNjI6IFRo
aXMgc3RhdGVtZW50IHNob3VsZCBub3QgYmUgZXZhbHVhdGVkLicKK3Rlc3QvbGFuZ3VhZ2Uvc3Rh
dGVtZW50cy92YXJpYWJsZS9kc3RyL2FyeS1pbml0LWl0ZXItZ2V0LWVyci1hcnJheS1wcm90b3R5
cGUuanM6CisgIGRlZmF1bHQ6ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVkIGEgVHlwZUVycm9yIHRv
IGJlIHRocm93biBidXQgbm8gZXhjZXB0aW9uIHdhcyB0aHJvd24gYXQgYWxsJworICBzdHJpY3Qg
bW9kZTogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQgYSBUeXBlRXJyb3IgdG8gYmUgdGhyb3duIGJ1
dCBubyBleGNlcHRpb24gd2FzIHRocm93biBhdCBhbGwnCit0ZXN0L2xhbmd1YWdlL3N0YXRlbWVu
dHMvdmFyaWFibGUvZHN0ci9hcnktcHRybi1lbGVtLWlkLWl0ZXItdmFsLWFycmF5LXByb3RvdHlw
ZS5qczoKKyAgZGVmYXVsdDogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQgU2FtZVZhbHVlKMKrM8K7
LCDCqzQywrspIHRvIGJlIHRydWUnCisgIHN0cmljdCBtb2RlOiAnVGVzdDI2MkVycm9yOiBFeHBl
Y3RlZCBTYW1lVmFsdWUowqszwrssIMKrNDLCuykgdG8gYmUgdHJ1ZScKK3Rlc3QvbGFuZ3VhZ2Uv
c3RhdGVtZW50cy92YXJpYWJsZS9kc3RyL2FyeS1wdHJuLXJlc3QtaWQtZGlyZWN0LmpzOgorICBk
ZWZhdWx0OiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCB0cnVlIGJ1dCBnb3QgZmFsc2UnCisgIHN0
cmljdCBtb2RlOiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCB0cnVlIGJ1dCBnb3QgZmFsc2UnCiB0
ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvd2hpbGUvbGV0LWFycmF5LXdpdGgtbmV3bGluZS5qczoK
ICAgZGVmYXVsdDogJ1Rlc3QyNjI6IFRoaXMgc3RhdGVtZW50IHNob3VsZCBub3QgYmUgZXZhbHVh
dGVkLicKIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy93aXRoL2xldC1hcnJheS13aXRoLW5ld2xp
bmUuanM6CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvaGFybmVzcy9uYXRpdmVGdW5jdGlv
bk1hdGNoZXIuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvaGFybmVzcy9uYXRpdmVGdW5jdGlvbk1hdGNo
ZXIuanMKaW5kZXggMWQzZTk1ODljYmRjMmU5YTc1MjMzY2Y4ZTViMGMxYTNhZjc5NTJhMy4uOGFh
YjkyZWZiMzQ2NTA5OGRlMGY5MzEzYTZjNmNkMTJmOTY4NzJkMSAxMDA2NDQKLS0tIGEvSlNUZXN0
cy90ZXN0MjYyL2hhcm5lc3MvbmF0aXZlRnVuY3Rpb25NYXRjaGVyLmpzCisrKyBiL0pTVGVzdHMv
dGVzdDI2Mi9oYXJuZXNzL25hdGl2ZUZ1bmN0aW9uTWF0Y2hlci5qcwpAQCAtMywxNyArMywyMDMg
QEAKIC8qLS0tCiBkZXNjcmlwdGlvbjogQXNzZXJ0IF9OYXRpdmVGdW5jdGlvbl8gU3ludGF4CiBp
bmZvOiB8Ci0gICAgVGhpcyByZWdleCBtYWtlcyBhIGJlc3QtZWZmb3J0IGRldGVybWluYXRpb24g
dGhhdCB0aGUgdGVzdGVkIHN0cmluZyBtYXRjaGVzCi0gICAgdGhlIE5hdGl2ZUZ1bmN0aW9uIGdy
YW1tYXIgcHJvZHVjdGlvbiB3aXRob3V0IHJlcXVpcmluZyBhIGNvcnJlY3QgdG9rZW5pc2VyLgot
CiAgICAgTmF0aXZlRnVuY3Rpb24gOgotICAgICAgZnVuY3Rpb24gX0lkZW50aWZpZXJOYW1lXyBv
cHQgKCBfRm9ybWFsUGFyYW1ldGVyc18gKSB7IFsgbmF0aXZlIGNvZGUgXSB9CisgICAgICBmdW5j
dGlvbiBfTmF0aXZlRnVuY3Rpb25BY2Nlc3Nvcl8gb3B0IF9JZGVudGlmaWVyTmFtZV8gb3B0ICgg
X0Zvcm1hbFBhcmFtZXRlcnNfICkgeyBbIG5hdGl2ZSBjb2RlIF0gfQorICAgIE5hdGl2ZUZ1bmN0
aW9uQWNjZXNzb3IgOgorICAgICAgZ2V0CisgICAgICBzZXQKIGRlZmluZXM6Ci0gIC0gTkFUSVZF
X0ZVTkNUSU9OX1JFCiAgIC0gYXNzZXJ0VG9TdHJpbmdPck5hdGl2ZUZ1bmN0aW9uCiAgIC0gYXNz
ZXJ0TmF0aXZlRnVuY3Rpb24KKyAgLSB2YWxpZGF0ZU5hdGl2ZUZ1bmN0aW9uU291cmNlCiAtLS0q
LwotY29uc3QgTkFUSVZFX0ZVTkNUSU9OX1JFID0gL1xiZnVuY3Rpb25cYltcc1xTXSpcKFtcc1xT
XSpcKVtcc1xTXSpce1tcc1xTXSpcW1tcc1xTXSpcYm5hdGl2ZVxiW1xzXFNdK1xiY29kZVxiW1xz
XFNdKlxdW1xzXFNdKlx9LzsKKworY29uc3QgdmFsaWRhdGVOYXRpdmVGdW5jdGlvblNvdXJjZSA9
IGZ1bmN0aW9uKHNvdXJjZSkgeworICAvLyBUaGVzZSByZWdleGVzIHNob3VsZCBiZSBrZXB0IHVw
IHRvIGRhdGUgd2l0aCBVbmljb2RlIHVzaW5nIGByZWdleHB1LWNvcmVgLgorICAvLyBgL1xwe0lE
X1N0YXJ0fS91YAorICBjb25zdCBVbmljb2RlSURTdGFydCA9IC8oPzpbQS1aYS16XHhBQVx4QjVc
eEJBXHhDMC1ceEQ2XHhEOC1ceEY2XHhGOC1cdTAyQzFcdTAyQzYtXHUwMkQxXHUwMkUwLVx1MDJF
NFx1MDJFQ1x1MDJFRVx1MDM3MC1cdTAzNzRcdTAzNzZcdTAzNzdcdTAzN0EtXHUwMzdEXHUwMzdG
XHUwMzg2XHUwMzg4LVx1MDM4QVx1MDM4Q1x1MDM4RS1cdTAzQTFcdTAzQTMtXHUwM0Y1XHUwM0Y3
LVx1MDQ4MVx1MDQ4QS1cdTA1MkZcdTA1MzEtXHUwNTU2XHUwNTU5XHUwNTYwLVx1MDU4OFx1MDVE
MC1cdTA1RUFcdTA1RUYtXHUwNUYyXHUwNjIwLVx1MDY0QVx1MDY2RVx1MDY2Rlx1MDY3MS1cdTA2
RDNcdTA2RDVcdTA2RTVcdTA2RTZcdTA2RUVcdTA2RUZcdTA2RkEtXHUwNkZDXHUwNkZGXHUwNzEw
XHUwNzEyLVx1MDcyRlx1MDc0RC1cdTA3QTVcdTA3QjFcdTA3Q0EtXHUwN0VBXHUwN0Y0XHUwN0Y1
XHUwN0ZBXHUwODAwLVx1MDgxNVx1MDgxQVx1MDgyNFx1MDgyOFx1MDg0MC1cdTA4NThcdTA4NjAt
XHUwODZBXHUwOEEwLVx1MDhCNFx1MDhCNi1cdTA4QzdcdTA5MDQtXHUwOTM5XHUwOTNEXHUwOTUw
XHUwOTU4LVx1MDk2MVx1MDk3MS1cdTA5ODBcdTA5ODUtXHUwOThDXHUwOThGXHUwOTkwXHUwOTkz
LVx1MDlBOFx1MDlBQS1cdTA5QjBcdTA5QjJcdTA5QjYtXHUwOUI5XHUwOUJEXHUwOUNFXHUwOURD
XHUwOUREXHUwOURGLVx1MDlFMVx1MDlGMFx1MDlGMVx1MDlGQ1x1MEEwNS1cdTBBMEFcdTBBMEZc
dTBBMTBcdTBBMTMtXHUwQTI4XHUwQTJBLVx1MEEzMFx1MEEzMlx1MEEzM1x1MEEzNVx1MEEzNlx1
MEEzOFx1MEEzOVx1MEE1OS1cdTBBNUNcdTBBNUVcdTBBNzItXHUwQTc0XHUwQTg1LVx1MEE4RFx1
MEE4Ri1cdTBBOTFcdTBBOTMtXHUwQUE4XHUwQUFBLVx1MEFCMFx1MEFCMlx1MEFCM1x1MEFCNS1c
dTBBQjlcdTBBQkRcdTBBRDBcdTBBRTBcdTBBRTFcdTBBRjlcdTBCMDUtXHUwQjBDXHUwQjBGXHUw
QjEwXHUwQjEzLVx1MEIyOFx1MEIyQS1cdTBCMzBcdTBCMzJcdTBCMzNcdTBCMzUtXHUwQjM5XHUw
QjNEXHUwQjVDXHUwQjVEXHUwQjVGLVx1MEI2MVx1MEI3MVx1MEI4M1x1MEI4NS1cdTBCOEFcdTBC
OEUtXHUwQjkwXHUwQjkyLVx1MEI5NVx1MEI5OVx1MEI5QVx1MEI5Q1x1MEI5RVx1MEI5Rlx1MEJB
M1x1MEJBNFx1MEJBOC1cdTBCQUFcdTBCQUUtXHUwQkI5XHUwQkQwXHUwQzA1LVx1MEMwQ1x1MEMw
RS1cdTBDMTBcdTBDMTItXHUwQzI4XHUwQzJBLVx1MEMzOVx1MEMzRFx1MEM1OC1cdTBDNUFcdTBD
NjBcdTBDNjFcdTBDODBcdTBDODUtXHUwQzhDXHUwQzhFLVx1MEM5MFx1MEM5Mi1cdTBDQThcdTBD
QUEtXHUwQ0IzXHUwQ0I1LVx1MENCOVx1MENCRFx1MENERVx1MENFMFx1MENFMVx1MENGMVx1MENG
Mlx1MEQwNC1cdTBEMENcdTBEMEUtXHUwRDEwXHUwRDEyLVx1MEQzQVx1MEQzRFx1MEQ0RVx1MEQ1
NC1cdTBENTZcdTBENUYtXHUwRDYxXHUwRDdBLVx1MEQ3Rlx1MEQ4NS1cdTBEOTZcdTBEOUEtXHUw
REIxXHUwREIzLVx1MERCQlx1MERCRFx1MERDMC1cdTBEQzZcdTBFMDEtXHUwRTMwXHUwRTMyXHUw
RTMzXHUwRTQwLVx1MEU0Nlx1MEU4MVx1MEU4Mlx1MEU4NFx1MEU4Ni1cdTBFOEFcdTBFOEMtXHUw
RUEzXHUwRUE1XHUwRUE3LVx1MEVCMFx1MEVCMlx1MEVCM1x1MEVCRFx1MEVDMC1cdTBFQzRcdTBF
QzZcdTBFREMtXHUwRURGXHUwRjAwXHUwRjQwLVx1MEY0N1x1MEY0OS1cdTBGNkNcdTBGODgtXHUw
RjhDXHUxMDAwLVx1MTAyQVx1MTAzRlx1MTA1MC1cdTEwNTVcdTEwNUEtXHUxMDVEXHUxMDYxXHUx
MDY1XHUxMDY2XHUxMDZFLVx1MTA3MFx1MTA3NS1cdTEwODFcdTEwOEVcdTEwQTAtXHUxMEM1XHUx
MEM3XHUxMENEXHUxMEQwLVx1MTBGQVx1MTBGQy1cdTEyNDhcdTEyNEEtXHUxMjREXHUxMjUwLVx1
MTI1Nlx1MTI1OFx1MTI1QS1cdTEyNURcdTEyNjAtXHUxMjg4XHUxMjhBLVx1MTI4RFx1MTI5MC1c
dTEyQjBcdTEyQjItXHUxMkI1XHUxMkI4LVx1MTJCRVx1MTJDMFx1MTJDMi1cdTEyQzVcdTEyQzgt
XHUxMkQ2XHUxMkQ4LVx1MTMxMFx1MTMxMi1cdTEzMTVcdTEzMTgtXHUxMzVBXHUxMzgwLVx1MTM4
Rlx1MTNBMC1cdTEzRjVcdTEzRjgtXHUxM0ZEXHUxNDAxLVx1MTY2Q1x1MTY2Ri1cdTE2N0ZcdTE2
ODEtXHUxNjlBXHUxNkEwLVx1MTZFQVx1MTZFRS1cdTE2RjhcdTE3MDAtXHUxNzBDXHUxNzBFLVx1
MTcxMVx1MTcyMC1cdTE3MzFcdTE3NDAtXHUxNzUxXHUxNzYwLVx1MTc2Q1x1MTc2RS1cdTE3NzBc
dTE3ODAtXHUxN0IzXHUxN0Q3XHUxN0RDXHUxODIwLVx1MTg3OFx1MTg4MC1cdTE4QThcdTE4QUFc
dTE4QjAtXHUxOEY1XHUxOTAwLVx1MTkxRVx1MTk1MC1cdTE5NkRcdTE5NzAtXHUxOTc0XHUxOTgw
LVx1MTlBQlx1MTlCMC1cdTE5QzlcdTFBMDAtXHUxQTE2XHUxQTIwLVx1MUE1NFx1MUFBN1x1MUIw
NS1cdTFCMzNcdTFCNDUtXHUxQjRCXHUxQjgzLVx1MUJBMFx1MUJBRVx1MUJBRlx1MUJCQS1cdTFC
RTVcdTFDMDAtXHUxQzIzXHUxQzRELVx1MUM0Rlx1MUM1QS1cdTFDN0RcdTFDODAtXHUxQzg4XHUx
QzkwLVx1MUNCQVx1MUNCRC1cdTFDQkZcdTFDRTktXHUxQ0VDXHUxQ0VFLVx1MUNGM1x1MUNGNVx1
MUNGNlx1MUNGQVx1MUQwMC1cdTFEQkZcdTFFMDAtXHUxRjE1XHUxRjE4LVx1MUYxRFx1MUYyMC1c
dTFGNDVcdTFGNDgtXHUxRjREXHUxRjUwLVx1MUY1N1x1MUY1OVx1MUY1Qlx1MUY1RFx1MUY1Ri1c
dTFGN0RcdTFGODAtXHUxRkI0XHUxRkI2LVx1MUZCQ1x1MUZCRVx1MUZDMi1cdTFGQzRcdTFGQzYt
XHUxRkNDXHUxRkQwLVx1MUZEM1x1MUZENi1cdTFGREJcdTFGRTAtXHUxRkVDXHUxRkYyLVx1MUZG
NFx1MUZGNi1cdTFGRkNcdTIwNzFcdTIwN0ZcdTIwOTAtXHUyMDlDXHUyMTAyXHUyMTA3XHUyMTBB
LVx1MjExM1x1MjExNVx1MjExOC1cdTIxMURcdTIxMjRcdTIxMjZcdTIxMjhcdTIxMkEtXHUyMTM5
XHUyMTNDLVx1MjEzRlx1MjE0NS1cdTIxNDlcdTIxNEVcdTIxNjAtXHUyMTg4XHUyQzAwLVx1MkMy
RVx1MkMzMC1cdTJDNUVcdTJDNjAtXHUyQ0U0XHUyQ0VCLVx1MkNFRVx1MkNGMlx1MkNGM1x1MkQw
MC1cdTJEMjVcdTJEMjdcdTJEMkRcdTJEMzAtXHUyRDY3XHUyRDZGXHUyRDgwLVx1MkQ5Nlx1MkRB
MC1cdTJEQTZcdTJEQTgtXHUyREFFXHUyREIwLVx1MkRCNlx1MkRCOC1cdTJEQkVcdTJEQzAtXHUy
REM2XHUyREM4LVx1MkRDRVx1MkREMC1cdTJERDZcdTJERDgtXHUyRERFXHUzMDA1LVx1MzAwN1x1
MzAyMS1cdTMwMjlcdTMwMzEtXHUzMDM1XHUzMDM4LVx1MzAzQ1x1MzA0MS1cdTMwOTZcdTMwOUIt
XHUzMDlGXHUzMEExLVx1MzBGQVx1MzBGQy1cdTMwRkZcdTMxMDUtXHUzMTJGXHUzMTMxLVx1MzE4
RVx1MzFBMC1cdTMxQkZcdTMxRjAtXHUzMUZGXHUzNDAwLVx1NERCRlx1NEUwMC1cdTlGRkNcdUEw
MDAtXHVBNDhDXHVBNEQwLVx1QTRGRFx1QTUwMC1cdUE2MENcdUE2MTAtXHVBNjFGXHVBNjJBXHVB
NjJCXHVBNjQwLVx1QTY2RVx1QTY3Ri1cdUE2OURcdUE2QTAtXHVBNkVGXHVBNzE3LVx1QTcxRlx1
QTcyMi1cdUE3ODhcdUE3OEItXHVBN0JGXHVBN0MyLVx1QTdDQVx1QTdGNS1cdUE4MDFcdUE4MDMt
XHVBODA1XHVBODA3LVx1QTgwQVx1QTgwQy1cdUE4MjJcdUE4NDAtXHVBODczXHVBODgyLVx1QThC
M1x1QThGMi1cdUE4RjdcdUE4RkJcdUE4RkRcdUE4RkVcdUE5MEEtXHVBOTI1XHVBOTMwLVx1QTk0
Nlx1QTk2MC1cdUE5N0NcdUE5ODQtXHVBOUIyXHVBOUNGXHVBOUUwLVx1QTlFNFx1QTlFNi1cdUE5
RUZcdUE5RkEtXHVBOUZFXHVBQTAwLVx1QUEyOFx1QUE0MC1cdUFBNDJcdUFBNDQtXHVBQTRCXHVB
QTYwLVx1QUE3Nlx1QUE3QVx1QUE3RS1cdUFBQUZcdUFBQjFcdUFBQjVcdUFBQjZcdUFBQjktXHVB
QUJEXHVBQUMwXHVBQUMyXHVBQURCLVx1QUFERFx1QUFFMC1cdUFBRUFcdUFBRjItXHVBQUY0XHVB
QjAxLVx1QUIwNlx1QUIwOS1cdUFCMEVcdUFCMTEtXHVBQjE2XHVBQjIwLVx1QUIyNlx1QUIyOC1c
dUFCMkVcdUFCMzAtXHVBQjVBXHVBQjVDLVx1QUI2OVx1QUI3MC1cdUFCRTJcdUFDMDAtXHVEN0Ez
XHVEN0IwLVx1RDdDNlx1RDdDQi1cdUQ3RkJcdUY5MDAtXHVGQTZEXHVGQTcwLVx1RkFEOVx1RkIw
MC1cdUZCMDZcdUZCMTMtXHVGQjE3XHVGQjFEXHVGQjFGLVx1RkIyOFx1RkIyQS1cdUZCMzZcdUZC
MzgtXHVGQjNDXHVGQjNFXHVGQjQwXHVGQjQxXHVGQjQzXHVGQjQ0XHVGQjQ2LVx1RkJCMVx1RkJE
My1cdUZEM0RcdUZENTAtXHVGRDhGXHVGRDkyLVx1RkRDN1x1RkRGMC1cdUZERkJcdUZFNzAtXHVG
RTc0XHVGRTc2LVx1RkVGQ1x1RkYyMS1cdUZGM0FcdUZGNDEtXHVGRjVBXHVGRjY2LVx1RkZCRVx1
RkZDMi1cdUZGQzdcdUZGQ0EtXHVGRkNGXHVGRkQyLVx1RkZEN1x1RkZEQS1cdUZGRENdfFx1RDgw
MFtcdURDMDAtXHVEQzBCXHVEQzBELVx1REMyNlx1REMyOC1cdURDM0FcdURDM0NcdURDM0RcdURD
M0YtXHVEQzREXHVEQzUwLVx1REM1RFx1REM4MC1cdURDRkFcdURENDAtXHVERDc0XHVERTgwLVx1
REU5Q1x1REVBMC1cdURFRDBcdURGMDAtXHVERjFGXHVERjJELVx1REY0QVx1REY1MC1cdURGNzVc
dURGODAtXHVERjlEXHVERkEwLVx1REZDM1x1REZDOC1cdURGQ0ZcdURGRDEtXHVERkQ1XXxcdUQ4
MDFbXHVEQzAwLVx1REM5RFx1RENCMC1cdURDRDNcdURDRDgtXHVEQ0ZCXHVERDAwLVx1REQyN1x1
REQzMC1cdURENjNcdURFMDAtXHVERjM2XHVERjQwLVx1REY1NVx1REY2MC1cdURGNjddfFx1RDgw
MltcdURDMDAtXHVEQzA1XHVEQzA4XHVEQzBBLVx1REMzNVx1REMzN1x1REMzOFx1REMzQ1x1REMz
Ri1cdURDNTVcdURDNjAtXHVEQzc2XHVEQzgwLVx1REM5RVx1RENFMC1cdURDRjJcdURDRjRcdURD
RjVcdUREMDAtXHVERDE1XHVERDIwLVx1REQzOVx1REQ4MC1cdUREQjdcdUREQkVcdUREQkZcdURF
MDBcdURFMTAtXHVERTEzXHVERTE1LVx1REUxN1x1REUxOS1cdURFMzVcdURFNjAtXHVERTdDXHVE
RTgwLVx1REU5Q1x1REVDMC1cdURFQzdcdURFQzktXHVERUU0XHVERjAwLVx1REYzNVx1REY0MC1c
dURGNTVcdURGNjAtXHVERjcyXHVERjgwLVx1REY5MV18XHVEODAzW1x1REMwMC1cdURDNDhcdURD
ODAtXHVEQ0IyXHVEQ0MwLVx1RENGMlx1REQwMC1cdUREMjNcdURFODAtXHVERUE5XHVERUIwXHVE
RUIxXHVERjAwLVx1REYxQ1x1REYyN1x1REYzMC1cdURGNDVcdURGQjAtXHVERkM0XHVERkUwLVx1
REZGNl18XHVEODA0W1x1REMwMy1cdURDMzdcdURDODMtXHVEQ0FGXHVEQ0QwLVx1RENFOFx1REQw
My1cdUREMjZcdURENDRcdURENDdcdURENTAtXHVERDcyXHVERDc2XHVERDgzLVx1RERCMlx1RERD
MS1cdUREQzRcdUREREFcdURERENcdURFMDAtXHVERTExXHVERTEzLVx1REUyQlx1REU4MC1cdURF
ODZcdURFODhcdURFOEEtXHVERThEXHVERThGLVx1REU5RFx1REU5Ri1cdURFQThcdURFQjAtXHVE
RURFXHVERjA1LVx1REYwQ1x1REYwRlx1REYxMFx1REYxMy1cdURGMjhcdURGMkEtXHVERjMwXHVE
RjMyXHVERjMzXHVERjM1LVx1REYzOVx1REYzRFx1REY1MFx1REY1RC1cdURGNjFdfFx1RDgwNVtc
dURDMDAtXHVEQzM0XHVEQzQ3LVx1REM0QVx1REM1Ri1cdURDNjFcdURDODAtXHVEQ0FGXHVEQ0M0
XHVEQ0M1XHVEQ0M3XHVERDgwLVx1RERBRVx1REREOC1cdUREREJcdURFMDAtXHVERTJGXHVERTQ0
XHVERTgwLVx1REVBQVx1REVCOFx1REYwMC1cdURGMUFdfFx1RDgwNltcdURDMDAtXHVEQzJCXHVE
Q0EwLVx1RENERlx1RENGRi1cdUREMDZcdUREMDlcdUREMEMtXHVERDEzXHVERDE1XHVERDE2XHVE
RDE4LVx1REQyRlx1REQzRlx1REQ0MVx1RERBMC1cdUREQTdcdUREQUEtXHVEREQwXHVEREUxXHVE
REUzXHVERTAwXHVERTBCLVx1REUzMlx1REUzQVx1REU1MFx1REU1Qy1cdURFODlcdURFOURcdURF
QzAtXHVERUY4XXxcdUQ4MDdbXHVEQzAwLVx1REMwOFx1REMwQS1cdURDMkVcdURDNDBcdURDNzIt
XHVEQzhGXHVERDAwLVx1REQwNlx1REQwOFx1REQwOVx1REQwQi1cdUREMzBcdURENDZcdURENjAt
XHVERDY1XHVERDY3XHVERDY4XHVERDZBLVx1REQ4OVx1REQ5OFx1REVFMC1cdURFRjJcdURGQjBd
fFx1RDgwOFtcdURDMDAtXHVERjk5XXxcdUQ4MDlbXHVEQzAwLVx1REM2RVx1REM4MC1cdURENDNd
fFtcdUQ4MENcdUQ4MUMtXHVEODIwXHVEODIyXHVEODQwLVx1RDg2OFx1RDg2QS1cdUQ4NkNcdUQ4
NkYtXHVEODcyXHVEODc0LVx1RDg3OVx1RDg4MC1cdUQ4ODNdW1x1REMwMC1cdURGRkZdfFx1RDgw
RFtcdURDMDAtXHVEQzJFXXxcdUQ4MTFbXHVEQzAwLVx1REU0Nl18XHVEODFBW1x1REMwMC1cdURF
MzhcdURFNDAtXHVERTVFXHVERUQwLVx1REVFRFx1REYwMC1cdURGMkZcdURGNDAtXHVERjQzXHVE
RjYzLVx1REY3N1x1REY3RC1cdURGOEZdfFx1RDgxQltcdURFNDAtXHVERTdGXHVERjAwLVx1REY0
QVx1REY1MFx1REY5My1cdURGOUZcdURGRTBcdURGRTFcdURGRTNdfFx1RDgyMVtcdURDMDAtXHVE
RkY3XXxcdUQ4MjNbXHVEQzAwLVx1RENENVx1REQwMC1cdUREMDhdfFx1RDgyQ1tcdURDMDAtXHVE
RDFFXHVERDUwLVx1REQ1Mlx1REQ2NC1cdURENjdcdURENzAtXHVERUZCXXxcdUQ4MkZbXHVEQzAw
LVx1REM2QVx1REM3MC1cdURDN0NcdURDODAtXHVEQzg4XHVEQzkwLVx1REM5OV18XHVEODM1W1x1
REMwMC1cdURDNTRcdURDNTYtXHVEQzlDXHVEQzlFXHVEQzlGXHVEQ0EyXHVEQ0E1XHVEQ0E2XHVE
Q0E5LVx1RENBQ1x1RENBRS1cdURDQjlcdURDQkJcdURDQkQtXHVEQ0MzXHVEQ0M1LVx1REQwNVx1
REQwNy1cdUREMEFcdUREMEQtXHVERDE0XHVERDE2LVx1REQxQ1x1REQxRS1cdUREMzlcdUREM0It
XHVERDNFXHVERDQwLVx1REQ0NFx1REQ0Nlx1REQ0QS1cdURENTBcdURENTItXHVERUE1XHVERUE4
LVx1REVDMFx1REVDMi1cdURFREFcdURFREMtXHVERUZBXHVERUZDLVx1REYxNFx1REYxNi1cdURG
MzRcdURGMzYtXHVERjRFXHVERjUwLVx1REY2RVx1REY3MC1cdURGODhcdURGOEEtXHVERkE4XHVE
RkFBLVx1REZDMlx1REZDNC1cdURGQ0JdfFx1RDgzOFtcdUREMDAtXHVERDJDXHVERDM3LVx1REQz
RFx1REQ0RVx1REVDMC1cdURFRUJdfFx1RDgzQVtcdURDMDAtXHVEQ0M0XHVERDAwLVx1REQ0M1x1
REQ0Ql18XHVEODNCW1x1REUwMC1cdURFMDNcdURFMDUtXHVERTFGXHVERTIxXHVERTIyXHVERTI0
XHVERTI3XHVERTI5LVx1REUzMlx1REUzNC1cdURFMzdcdURFMzlcdURFM0JcdURFNDJcdURFNDdc
dURFNDlcdURFNEJcdURFNEQtXHVERTRGXHVERTUxXHVERTUyXHVERTU0XHVERTU3XHVERTU5XHVE
RTVCXHVERTVEXHVERTVGXHVERTYxXHVERTYyXHVERTY0XHVERTY3LVx1REU2QVx1REU2Qy1cdURF
NzJcdURFNzQtXHVERTc3XHVERTc5LVx1REU3Q1x1REU3RVx1REU4MC1cdURFODlcdURFOEItXHVE
RTlCXHVERUExLVx1REVBM1x1REVBNS1cdURFQTlcdURFQUItXHVERUJCXXxcdUQ4NjlbXHVEQzAw
LVx1REVERFx1REYwMC1cdURGRkZdfFx1RDg2RFtcdURDMDAtXHVERjM0XHVERjQwLVx1REZGRl18
XHVEODZFW1x1REMwMC1cdURDMURcdURDMjAtXHVERkZGXXxcdUQ4NzNbXHVEQzAwLVx1REVBMVx1
REVCMC1cdURGRkZdfFx1RDg3QVtcdURDMDAtXHVERkUwXXxcdUQ4N0VbXHVEQzAwLVx1REUxRF18
XHVEODg0W1x1REMwMC1cdURGNEFdKS87CisgIC8vIGAvXHB7SURfQ29udGludWV9L3VgCisgIGNv
bnN0IFVuaWNvZGVJRENvbnRpbnVlID0gLyg/OlswLTlBLVpfYS16XHhBQVx4QjVceEI3XHhCQVx4
QzAtXHhENlx4RDgtXHhGNlx4RjgtXHUwMkMxXHUwMkM2LVx1MDJEMVx1MDJFMC1cdTAyRTRcdTAy
RUNcdTAyRUVcdTAzMDAtXHUwMzc0XHUwMzc2XHUwMzc3XHUwMzdBLVx1MDM3RFx1MDM3Rlx1MDM4
Ni1cdTAzOEFcdTAzOENcdTAzOEUtXHUwM0ExXHUwM0EzLVx1MDNGNVx1MDNGNy1cdTA0ODFcdTA0
ODMtXHUwNDg3XHUwNDhBLVx1MDUyRlx1MDUzMS1cdTA1NTZcdTA1NTlcdTA1NjAtXHUwNTg4XHUw
NTkxLVx1MDVCRFx1MDVCRlx1MDVDMVx1MDVDMlx1MDVDNFx1MDVDNVx1MDVDN1x1MDVEMC1cdTA1
RUFcdTA1RUYtXHUwNUYyXHUwNjEwLVx1MDYxQVx1MDYyMC1cdTA2NjlcdTA2NkUtXHUwNkQzXHUw
NkQ1LVx1MDZEQ1x1MDZERi1cdTA2RThcdTA2RUEtXHUwNkZDXHUwNkZGXHUwNzEwLVx1MDc0QVx1
MDc0RC1cdTA3QjFcdTA3QzAtXHUwN0Y1XHUwN0ZBXHUwN0ZEXHUwODAwLVx1MDgyRFx1MDg0MC1c
dTA4NUJcdTA4NjAtXHUwODZBXHUwOEEwLVx1MDhCNFx1MDhCNi1cdTA4QzdcdTA4RDMtXHUwOEUx
XHUwOEUzLVx1MDk2M1x1MDk2Ni1cdTA5NkZcdTA5NzEtXHUwOTgzXHUwOTg1LVx1MDk4Q1x1MDk4
Rlx1MDk5MFx1MDk5My1cdTA5QThcdTA5QUEtXHUwOUIwXHUwOUIyXHUwOUI2LVx1MDlCOVx1MDlC
Qy1cdTA5QzRcdTA5QzdcdTA5QzhcdTA5Q0ItXHUwOUNFXHUwOUQ3XHUwOURDXHUwOUREXHUwOURG
LVx1MDlFM1x1MDlFNi1cdTA5RjFcdTA5RkNcdTA5RkVcdTBBMDEtXHUwQTAzXHUwQTA1LVx1MEEw
QVx1MEEwRlx1MEExMFx1MEExMy1cdTBBMjhcdTBBMkEtXHUwQTMwXHUwQTMyXHUwQTMzXHUwQTM1
XHUwQTM2XHUwQTM4XHUwQTM5XHUwQTNDXHUwQTNFLVx1MEE0Mlx1MEE0N1x1MEE0OFx1MEE0Qi1c
dTBBNERcdTBBNTFcdTBBNTktXHUwQTVDXHUwQTVFXHUwQTY2LVx1MEE3NVx1MEE4MS1cdTBBODNc
dTBBODUtXHUwQThEXHUwQThGLVx1MEE5MVx1MEE5My1cdTBBQThcdTBBQUEtXHUwQUIwXHUwQUIy
XHUwQUIzXHUwQUI1LVx1MEFCOVx1MEFCQy1cdTBBQzVcdTBBQzctXHUwQUM5XHUwQUNCLVx1MEFD
RFx1MEFEMFx1MEFFMC1cdTBBRTNcdTBBRTYtXHUwQUVGXHUwQUY5LVx1MEFGRlx1MEIwMS1cdTBC
MDNcdTBCMDUtXHUwQjBDXHUwQjBGXHUwQjEwXHUwQjEzLVx1MEIyOFx1MEIyQS1cdTBCMzBcdTBC
MzJcdTBCMzNcdTBCMzUtXHUwQjM5XHUwQjNDLVx1MEI0NFx1MEI0N1x1MEI0OFx1MEI0Qi1cdTBC
NERcdTBCNTUtXHUwQjU3XHUwQjVDXHUwQjVEXHUwQjVGLVx1MEI2M1x1MEI2Ni1cdTBCNkZcdTBC
NzFcdTBCODJcdTBCODNcdTBCODUtXHUwQjhBXHUwQjhFLVx1MEI5MFx1MEI5Mi1cdTBCOTVcdTBC
OTlcdTBCOUFcdTBCOUNcdTBCOUVcdTBCOUZcdTBCQTNcdTBCQTRcdTBCQTgtXHUwQkFBXHUwQkFF
LVx1MEJCOVx1MEJCRS1cdTBCQzJcdTBCQzYtXHUwQkM4XHUwQkNBLVx1MEJDRFx1MEJEMFx1MEJE
N1x1MEJFNi1cdTBCRUZcdTBDMDAtXHUwQzBDXHUwQzBFLVx1MEMxMFx1MEMxMi1cdTBDMjhcdTBD
MkEtXHUwQzM5XHUwQzNELVx1MEM0NFx1MEM0Ni1cdTBDNDhcdTBDNEEtXHUwQzREXHUwQzU1XHUw
QzU2XHUwQzU4LVx1MEM1QVx1MEM2MC1cdTBDNjNcdTBDNjYtXHUwQzZGXHUwQzgwLVx1MEM4M1x1
MEM4NS1cdTBDOENcdTBDOEUtXHUwQzkwXHUwQzkyLVx1MENBOFx1MENBQS1cdTBDQjNcdTBDQjUt
XHUwQ0I5XHUwQ0JDLVx1MENDNFx1MENDNi1cdTBDQzhcdTBDQ0EtXHUwQ0NEXHUwQ0Q1XHUwQ0Q2
XHUwQ0RFXHUwQ0UwLVx1MENFM1x1MENFNi1cdTBDRUZcdTBDRjFcdTBDRjJcdTBEMDAtXHUwRDBD
XHUwRDBFLVx1MEQxMFx1MEQxMi1cdTBENDRcdTBENDYtXHUwRDQ4XHUwRDRBLVx1MEQ0RVx1MEQ1
NC1cdTBENTdcdTBENUYtXHUwRDYzXHUwRDY2LVx1MEQ2Rlx1MEQ3QS1cdTBEN0ZcdTBEODEtXHUw
RDgzXHUwRDg1LVx1MEQ5Nlx1MEQ5QS1cdTBEQjFcdTBEQjMtXHUwREJCXHUwREJEXHUwREMwLVx1
MERDNlx1MERDQVx1MERDRi1cdTBERDRcdTBERDZcdTBERDgtXHUwRERGXHUwREU2LVx1MERFRlx1
MERGMlx1MERGM1x1MEUwMS1cdTBFM0FcdTBFNDAtXHUwRTRFXHUwRTUwLVx1MEU1OVx1MEU4MVx1
MEU4Mlx1MEU4NFx1MEU4Ni1cdTBFOEFcdTBFOEMtXHUwRUEzXHUwRUE1XHUwRUE3LVx1MEVCRFx1
MEVDMC1cdTBFQzRcdTBFQzZcdTBFQzgtXHUwRUNEXHUwRUQwLVx1MEVEOVx1MEVEQy1cdTBFREZc
dTBGMDBcdTBGMThcdTBGMTlcdTBGMjAtXHUwRjI5XHUwRjM1XHUwRjM3XHUwRjM5XHUwRjNFLVx1
MEY0N1x1MEY0OS1cdTBGNkNcdTBGNzEtXHUwRjg0XHUwRjg2LVx1MEY5N1x1MEY5OS1cdTBGQkNc
dTBGQzZcdTEwMDAtXHUxMDQ5XHUxMDUwLVx1MTA5RFx1MTBBMC1cdTEwQzVcdTEwQzdcdTEwQ0Rc
dTEwRDAtXHUxMEZBXHUxMEZDLVx1MTI0OFx1MTI0QS1cdTEyNERcdTEyNTAtXHUxMjU2XHUxMjU4
XHUxMjVBLVx1MTI1RFx1MTI2MC1cdTEyODhcdTEyOEEtXHUxMjhEXHUxMjkwLVx1MTJCMFx1MTJC
Mi1cdTEyQjVcdTEyQjgtXHUxMkJFXHUxMkMwXHUxMkMyLVx1MTJDNVx1MTJDOC1cdTEyRDZcdTEy
RDgtXHUxMzEwXHUxMzEyLVx1MTMxNVx1MTMxOC1cdTEzNUFcdTEzNUQtXHUxMzVGXHUxMzY5LVx1
MTM3MVx1MTM4MC1cdTEzOEZcdTEzQTAtXHUxM0Y1XHUxM0Y4LVx1MTNGRFx1MTQwMS1cdTE2NkNc
dTE2NkYtXHUxNjdGXHUxNjgxLVx1MTY5QVx1MTZBMC1cdTE2RUFcdTE2RUUtXHUxNkY4XHUxNzAw
LVx1MTcwQ1x1MTcwRS1cdTE3MTRcdTE3MjAtXHUxNzM0XHUxNzQwLVx1MTc1M1x1MTc2MC1cdTE3
NkNcdTE3NkUtXHUxNzcwXHUxNzcyXHUxNzczXHUxNzgwLVx1MTdEM1x1MTdEN1x1MTdEQ1x1MTdE
RFx1MTdFMC1cdTE3RTlcdTE4MEItXHUxODBEXHUxODEwLVx1MTgxOVx1MTgyMC1cdTE4NzhcdTE4
ODAtXHUxOEFBXHUxOEIwLVx1MThGNVx1MTkwMC1cdTE5MUVcdTE5MjAtXHUxOTJCXHUxOTMwLVx1
MTkzQlx1MTk0Ni1cdTE5NkRcdTE5NzAtXHUxOTc0XHUxOTgwLVx1MTlBQlx1MTlCMC1cdTE5Qzlc
dTE5RDAtXHUxOURBXHUxQTAwLVx1MUExQlx1MUEyMC1cdTFBNUVcdTFBNjAtXHUxQTdDXHUxQTdG
LVx1MUE4OVx1MUE5MC1cdTFBOTlcdTFBQTdcdTFBQjAtXHUxQUJEXHUxQUJGXHUxQUMwXHUxQjAw
LVx1MUI0Qlx1MUI1MC1cdTFCNTlcdTFCNkItXHUxQjczXHUxQjgwLVx1MUJGM1x1MUMwMC1cdTFD
MzdcdTFDNDAtXHUxQzQ5XHUxQzRELVx1MUM3RFx1MUM4MC1cdTFDODhcdTFDOTAtXHUxQ0JBXHUx
Q0JELVx1MUNCRlx1MUNEMC1cdTFDRDJcdTFDRDQtXHUxQ0ZBXHUxRDAwLVx1MURGOVx1MURGQi1c
dTFGMTVcdTFGMTgtXHUxRjFEXHUxRjIwLVx1MUY0NVx1MUY0OC1cdTFGNERcdTFGNTAtXHUxRjU3
XHUxRjU5XHUxRjVCXHUxRjVEXHUxRjVGLVx1MUY3RFx1MUY4MC1cdTFGQjRcdTFGQjYtXHUxRkJD
XHUxRkJFXHUxRkMyLVx1MUZDNFx1MUZDNi1cdTFGQ0NcdTFGRDAtXHUxRkQzXHUxRkQ2LVx1MUZE
Qlx1MUZFMC1cdTFGRUNcdTFGRjItXHUxRkY0XHUxRkY2LVx1MUZGQ1x1MjAzRlx1MjA0MFx1MjA1
NFx1MjA3MVx1MjA3Rlx1MjA5MC1cdTIwOUNcdTIwRDAtXHUyMERDXHUyMEUxXHUyMEU1LVx1MjBG
MFx1MjEwMlx1MjEwN1x1MjEwQS1cdTIxMTNcdTIxMTVcdTIxMTgtXHUyMTFEXHUyMTI0XHUyMTI2
XHUyMTI4XHUyMTJBLVx1MjEzOVx1MjEzQy1cdTIxM0ZcdTIxNDUtXHUyMTQ5XHUyMTRFXHUyMTYw
LVx1MjE4OFx1MkMwMC1cdTJDMkVcdTJDMzAtXHUyQzVFXHUyQzYwLVx1MkNFNFx1MkNFQi1cdTJD
RjNcdTJEMDAtXHUyRDI1XHUyRDI3XHUyRDJEXHUyRDMwLVx1MkQ2N1x1MkQ2Rlx1MkQ3Ri1cdTJE
OTZcdTJEQTAtXHUyREE2XHUyREE4LVx1MkRBRVx1MkRCMC1cdTJEQjZcdTJEQjgtXHUyREJFXHUy
REMwLVx1MkRDNlx1MkRDOC1cdTJEQ0VcdTJERDAtXHUyREQ2XHUyREQ4LVx1MkRERVx1MkRFMC1c
dTJERkZcdTMwMDUtXHUzMDA3XHUzMDIxLVx1MzAyRlx1MzAzMS1cdTMwMzVcdTMwMzgtXHUzMDND
XHUzMDQxLVx1MzA5Nlx1MzA5OS1cdTMwOUZcdTMwQTEtXHUzMEZBXHUzMEZDLVx1MzBGRlx1MzEw
NS1cdTMxMkZcdTMxMzEtXHUzMThFXHUzMUEwLVx1MzFCRlx1MzFGMC1cdTMxRkZcdTM0MDAtXHU0
REJGXHU0RTAwLVx1OUZGQ1x1QTAwMC1cdUE0OENcdUE0RDAtXHVBNEZEXHVBNTAwLVx1QTYwQ1x1
QTYxMC1cdUE2MkJcdUE2NDAtXHVBNjZGXHVBNjc0LVx1QTY3RFx1QTY3Ri1cdUE2RjFcdUE3MTct
XHVBNzFGXHVBNzIyLVx1QTc4OFx1QTc4Qi1cdUE3QkZcdUE3QzItXHVBN0NBXHVBN0Y1LVx1QTgy
N1x1QTgyQ1x1QTg0MC1cdUE4NzNcdUE4ODAtXHVBOEM1XHVBOEQwLVx1QThEOVx1QThFMC1cdUE4
RjdcdUE4RkJcdUE4RkQtXHVBOTJEXHVBOTMwLVx1QTk1M1x1QTk2MC1cdUE5N0NcdUE5ODAtXHVB
OUMwXHVBOUNGLVx1QTlEOVx1QTlFMC1cdUE5RkVcdUFBMDAtXHVBQTM2XHVBQTQwLVx1QUE0RFx1
QUE1MC1cdUFBNTlcdUFBNjAtXHVBQTc2XHVBQTdBLVx1QUFDMlx1QUFEQi1cdUFBRERcdUFBRTAt
XHVBQUVGXHVBQUYyLVx1QUFGNlx1QUIwMS1cdUFCMDZcdUFCMDktXHVBQjBFXHVBQjExLVx1QUIx
Nlx1QUIyMC1cdUFCMjZcdUFCMjgtXHVBQjJFXHVBQjMwLVx1QUI1QVx1QUI1Qy1cdUFCNjlcdUFC
NzAtXHVBQkVBXHVBQkVDXHVBQkVEXHVBQkYwLVx1QUJGOVx1QUMwMC1cdUQ3QTNcdUQ3QjAtXHVE
N0M2XHVEN0NCLVx1RDdGQlx1RjkwMC1cdUZBNkRcdUZBNzAtXHVGQUQ5XHVGQjAwLVx1RkIwNlx1
RkIxMy1cdUZCMTdcdUZCMUQtXHVGQjI4XHVGQjJBLVx1RkIzNlx1RkIzOC1cdUZCM0NcdUZCM0Vc
dUZCNDBcdUZCNDFcdUZCNDNcdUZCNDRcdUZCNDYtXHVGQkIxXHVGQkQzLVx1RkQzRFx1RkQ1MC1c
dUZEOEZcdUZEOTItXHVGREM3XHVGREYwLVx1RkRGQlx1RkUwMC1cdUZFMEZcdUZFMjAtXHVGRTJG
XHVGRTMzXHVGRTM0XHVGRTRELVx1RkU0Rlx1RkU3MC1cdUZFNzRcdUZFNzYtXHVGRUZDXHVGRjEw
LVx1RkYxOVx1RkYyMS1cdUZGM0FcdUZGM0ZcdUZGNDEtXHVGRjVBXHVGRjY2LVx1RkZCRVx1RkZD
Mi1cdUZGQzdcdUZGQ0EtXHVGRkNGXHVGRkQyLVx1RkZEN1x1RkZEQS1cdUZGRENdfFx1RDgwMFtc
dURDMDAtXHVEQzBCXHVEQzBELVx1REMyNlx1REMyOC1cdURDM0FcdURDM0NcdURDM0RcdURDM0Yt
XHVEQzREXHVEQzUwLVx1REM1RFx1REM4MC1cdURDRkFcdURENDAtXHVERDc0XHVEREZEXHVERTgw
LVx1REU5Q1x1REVBMC1cdURFRDBcdURFRTBcdURGMDAtXHVERjFGXHVERjJELVx1REY0QVx1REY1
MC1cdURGN0FcdURGODAtXHVERjlEXHVERkEwLVx1REZDM1x1REZDOC1cdURGQ0ZcdURGRDEtXHVE
RkQ1XXxcdUQ4MDFbXHVEQzAwLVx1REM5RFx1RENBMC1cdURDQTlcdURDQjAtXHVEQ0QzXHVEQ0Q4
LVx1RENGQlx1REQwMC1cdUREMjdcdUREMzAtXHVERDYzXHVERTAwLVx1REYzNlx1REY0MC1cdURG
NTVcdURGNjAtXHVERjY3XXxcdUQ4MDJbXHVEQzAwLVx1REMwNVx1REMwOFx1REMwQS1cdURDMzVc
dURDMzdcdURDMzhcdURDM0NcdURDM0YtXHVEQzU1XHVEQzYwLVx1REM3Nlx1REM4MC1cdURDOUVc
dURDRTAtXHVEQ0YyXHVEQ0Y0XHVEQ0Y1XHVERDAwLVx1REQxNVx1REQyMC1cdUREMzlcdUREODAt
XHVEREI3XHVEREJFXHVEREJGXHVERTAwLVx1REUwM1x1REUwNVx1REUwNlx1REUwQy1cdURFMTNc
dURFMTUtXHVERTE3XHVERTE5LVx1REUzNVx1REUzOC1cdURFM0FcdURFM0ZcdURFNjAtXHVERTdD
XHVERTgwLVx1REU5Q1x1REVDMC1cdURFQzdcdURFQzktXHVERUU2XHVERjAwLVx1REYzNVx1REY0
MC1cdURGNTVcdURGNjAtXHVERjcyXHVERjgwLVx1REY5MV18XHVEODAzW1x1REMwMC1cdURDNDhc
dURDODAtXHVEQ0IyXHVEQ0MwLVx1RENGMlx1REQwMC1cdUREMjdcdUREMzAtXHVERDM5XHVERTgw
LVx1REVBOVx1REVBQlx1REVBQ1x1REVCMFx1REVCMVx1REYwMC1cdURGMUNcdURGMjdcdURGMzAt
XHVERjUwXHVERkIwLVx1REZDNFx1REZFMC1cdURGRjZdfFx1RDgwNFtcdURDMDAtXHVEQzQ2XHVE
QzY2LVx1REM2Rlx1REM3Ri1cdURDQkFcdURDRDAtXHVEQ0U4XHVEQ0YwLVx1RENGOVx1REQwMC1c
dUREMzRcdUREMzYtXHVERDNGXHVERDQ0LVx1REQ0N1x1REQ1MC1cdURENzNcdURENzZcdUREODAt
XHVEREM0XHVEREM5LVx1RERDQ1x1RERDRS1cdUREREFcdURERENcdURFMDAtXHVERTExXHVERTEz
LVx1REUzN1x1REUzRVx1REU4MC1cdURFODZcdURFODhcdURFOEEtXHVERThEXHVERThGLVx1REU5
RFx1REU5Ri1cdURFQThcdURFQjAtXHVERUVBXHVERUYwLVx1REVGOVx1REYwMC1cdURGMDNcdURG
MDUtXHVERjBDXHVERjBGXHVERjEwXHVERjEzLVx1REYyOFx1REYyQS1cdURGMzBcdURGMzJcdURG
MzNcdURGMzUtXHVERjM5XHVERjNCLVx1REY0NFx1REY0N1x1REY0OFx1REY0Qi1cdURGNERcdURG
NTBcdURGNTdcdURGNUQtXHVERjYzXHVERjY2LVx1REY2Q1x1REY3MC1cdURGNzRdfFx1RDgwNVtc
dURDMDAtXHVEQzRBXHVEQzUwLVx1REM1OVx1REM1RS1cdURDNjFcdURDODAtXHVEQ0M1XHVEQ0M3
XHVEQ0QwLVx1RENEOVx1REQ4MC1cdUREQjVcdUREQjgtXHVEREMwXHVEREQ4LVx1RERERFx1REUw
MC1cdURFNDBcdURFNDRcdURFNTAtXHVERTU5XHVERTgwLVx1REVCOFx1REVDMC1cdURFQzlcdURG
MDAtXHVERjFBXHVERjFELVx1REYyQlx1REYzMC1cdURGMzldfFx1RDgwNltcdURDMDAtXHVEQzNB
XHVEQ0EwLVx1RENFOVx1RENGRi1cdUREMDZcdUREMDlcdUREMEMtXHVERDEzXHVERDE1XHVERDE2
XHVERDE4LVx1REQzNVx1REQzN1x1REQzOFx1REQzQi1cdURENDNcdURENTAtXHVERDU5XHVEREEw
LVx1RERBN1x1RERBQS1cdURERDdcdUREREEtXHVEREUxXHVEREUzXHVEREU0XHVERTAwLVx1REUz
RVx1REU0N1x1REU1MC1cdURFOTlcdURFOURcdURFQzAtXHVERUY4XXxcdUQ4MDdbXHVEQzAwLVx1
REMwOFx1REMwQS1cdURDMzZcdURDMzgtXHVEQzQwXHVEQzUwLVx1REM1OVx1REM3Mi1cdURDOEZc
dURDOTItXHVEQ0E3XHVEQ0E5LVx1RENCNlx1REQwMC1cdUREMDZcdUREMDhcdUREMDlcdUREMEIt
XHVERDM2XHVERDNBXHVERDNDXHVERDNEXHVERDNGLVx1REQ0N1x1REQ1MC1cdURENTlcdURENjAt
XHVERDY1XHVERDY3XHVERDY4XHVERDZBLVx1REQ4RVx1REQ5MFx1REQ5MVx1REQ5My1cdUREOThc
dUREQTAtXHVEREE5XHVERUUwLVx1REVGNlx1REZCMF18XHVEODA4W1x1REMwMC1cdURGOTldfFx1
RDgwOVtcdURDMDAtXHVEQzZFXHVEQzgwLVx1REQ0M118W1x1RDgwQ1x1RDgxQy1cdUQ4MjBcdUQ4
MjJcdUQ4NDAtXHVEODY4XHVEODZBLVx1RDg2Q1x1RDg2Ri1cdUQ4NzJcdUQ4NzQtXHVEODc5XHVE
ODgwLVx1RDg4M11bXHVEQzAwLVx1REZGRl18XHVEODBEW1x1REMwMC1cdURDMkVdfFx1RDgxMVtc
dURDMDAtXHVERTQ2XXxcdUQ4MUFbXHVEQzAwLVx1REUzOFx1REU0MC1cdURFNUVcdURFNjAtXHVE
RTY5XHVERUQwLVx1REVFRFx1REVGMC1cdURFRjRcdURGMDAtXHVERjM2XHVERjQwLVx1REY0M1x1
REY1MC1cdURGNTlcdURGNjMtXHVERjc3XHVERjdELVx1REY4Rl18XHVEODFCW1x1REU0MC1cdURF
N0ZcdURGMDAtXHVERjRBXHVERjRGLVx1REY4N1x1REY4Ri1cdURGOUZcdURGRTBcdURGRTFcdURG
RTNcdURGRTRcdURGRjBcdURGRjFdfFx1RDgyMVtcdURDMDAtXHVERkY3XXxcdUQ4MjNbXHVEQzAw
LVx1RENENVx1REQwMC1cdUREMDhdfFx1RDgyQ1tcdURDMDAtXHVERDFFXHVERDUwLVx1REQ1Mlx1
REQ2NC1cdURENjdcdURENzAtXHVERUZCXXxcdUQ4MkZbXHVEQzAwLVx1REM2QVx1REM3MC1cdURD
N0NcdURDODAtXHVEQzg4XHVEQzkwLVx1REM5OVx1REM5RFx1REM5RV18XHVEODM0W1x1REQ2NS1c
dURENjlcdURENkQtXHVERDcyXHVERDdCLVx1REQ4Mlx1REQ4NS1cdUREOEJcdUREQUEtXHVEREFE
XHVERTQyLVx1REU0NF18XHVEODM1W1x1REMwMC1cdURDNTRcdURDNTYtXHVEQzlDXHVEQzlFXHVE
QzlGXHVEQ0EyXHVEQ0E1XHVEQ0E2XHVEQ0E5LVx1RENBQ1x1RENBRS1cdURDQjlcdURDQkJcdURD
QkQtXHVEQ0MzXHVEQ0M1LVx1REQwNVx1REQwNy1cdUREMEFcdUREMEQtXHVERDE0XHVERDE2LVx1
REQxQ1x1REQxRS1cdUREMzlcdUREM0ItXHVERDNFXHVERDQwLVx1REQ0NFx1REQ0Nlx1REQ0QS1c
dURENTBcdURENTItXHVERUE1XHVERUE4LVx1REVDMFx1REVDMi1cdURFREFcdURFREMtXHVERUZB
XHVERUZDLVx1REYxNFx1REYxNi1cdURGMzRcdURGMzYtXHVERjRFXHVERjUwLVx1REY2RVx1REY3
MC1cdURGODhcdURGOEEtXHVERkE4XHVERkFBLVx1REZDMlx1REZDNC1cdURGQ0JcdURGQ0UtXHVE
RkZGXXxcdUQ4MzZbXHVERTAwLVx1REUzNlx1REUzQi1cdURFNkNcdURFNzVcdURFODRcdURFOUIt
XHVERTlGXHVERUExLVx1REVBRl18XHVEODM4W1x1REMwMC1cdURDMDZcdURDMDgtXHVEQzE4XHVE
QzFCLVx1REMyMVx1REMyM1x1REMyNFx1REMyNi1cdURDMkFcdUREMDAtXHVERDJDXHVERDMwLVx1
REQzRFx1REQ0MC1cdURENDlcdURENEVcdURFQzAtXHVERUY5XXxcdUQ4M0FbXHVEQzAwLVx1REND
NFx1RENEMC1cdURDRDZcdUREMDAtXHVERDRCXHVERDUwLVx1REQ1OV18XHVEODNCW1x1REUwMC1c
dURFMDNcdURFMDUtXHVERTFGXHVERTIxXHVERTIyXHVERTI0XHVERTI3XHVERTI5LVx1REUzMlx1
REUzNC1cdURFMzdcdURFMzlcdURFM0JcdURFNDJcdURFNDdcdURFNDlcdURFNEJcdURFNEQtXHVE
RTRGXHVERTUxXHVERTUyXHVERTU0XHVERTU3XHVERTU5XHVERTVCXHVERTVEXHVERTVGXHVERTYx
XHVERTYyXHVERTY0XHVERTY3LVx1REU2QVx1REU2Qy1cdURFNzJcdURFNzQtXHVERTc3XHVERTc5
LVx1REU3Q1x1REU3RVx1REU4MC1cdURFODlcdURFOEItXHVERTlCXHVERUExLVx1REVBM1x1REVB
NS1cdURFQTlcdURFQUItXHVERUJCXXxcdUQ4M0VbXHVERkYwLVx1REZGOV18XHVEODY5W1x1REMw
MC1cdURFRERcdURGMDAtXHVERkZGXXxcdUQ4NkRbXHVEQzAwLVx1REYzNFx1REY0MC1cdURGRkZd
fFx1RDg2RVtcdURDMDAtXHVEQzFEXHVEQzIwLVx1REZGRl18XHVEODczW1x1REMwMC1cdURFQTFc
dURFQjAtXHVERkZGXXxcdUQ4N0FbXHVEQzAwLVx1REZFMF18XHVEODdFW1x1REMwMC1cdURFMURd
fFx1RDg4NFtcdURDMDAtXHVERjRBXXxcdURCNDBbXHVERDAwLVx1RERFRl0pLzsKKyAgLy8gYC9c
cHtTcGFjZV9TZXBhcmF0b3J9L3VgCisgIGNvbnN0IFVuaWNvZGVTcGFjZVNlcGFyYXRvciA9IC9b
IFx4QTBcdTE2ODBcdTIwMDAtXHUyMDBBXHUyMDJGXHUyMDVGXHUzMDAwXS87CisKKyAgY29uc3Qg
aXNOZXdsaW5lID0gKGMpID0+IC9bXHUwMDBBXHUwMDBEXHUyMDI4XHUyMDI5XS91LnRlc3QoYyk7
CisgIGNvbnN0IGlzV2hpdGVzcGFjZSA9IChjKSA9PiAvW1x1MDAwOVx1MDAwQlx1MDAwQ1x1MDAy
MFx1MDBBMFx1RkVGRl0vdS50ZXN0KGMpIHx8IFVuaWNvZGVTcGFjZVNlcGFyYXRvci50ZXN0KGMp
OworCisgIGxldCBwb3MgPSAwOworCisgIGNvbnN0IGVhdFdoaXRlc3BhY2UgPSAoKSA9PiB7Cisg
ICAgd2hpbGUgKHBvcyA8IHNvdXJjZS5sZW5ndGgpIHsKKyAgICAgIGNvbnN0IGMgPSBzb3VyY2Vb
cG9zXTsKKyAgICAgIGlmIChpc1doaXRlc3BhY2UoYykgfHwgaXNOZXdsaW5lKGMpKSB7CisgICAg
ICAgIHBvcyArPSAxOworICAgICAgICBjb250aW51ZTsKKyAgICAgIH0KKworICAgICAgaWYgKGMg
PT09ICcvJykgeworICAgICAgICBpZiAoc291cmNlW3BvcyArIDFdID09PSAnLycpIHsKKyAgICAg
ICAgICB3aGlsZSAocG9zIDwgc291cmNlLmxlbmd0aCkgeworICAgICAgICAgICAgaWYgKGlzTmV3
bGluZShzb3VyY2VbcG9zXSkpIHsKKyAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9
CisgICAgICAgICAgICBwb3MgKz0gMTsKKyAgICAgICAgICB9CisgICAgICAgICAgY29udGludWU7
CisgICAgICAgIH0KKyAgICAgICAgaWYgKHNvdXJjZVtwb3MgKyAxXSA9PT0gJyonKSB7CisgICAg
ICAgICAgY29uc3QgZW5kID0gc291cmNlLmluZGV4T2YoJyovJywgcG9zKTsKKyAgICAgICAgICBp
ZiAoZW5kID09PSAtMSkgeworICAgICAgICAgICAgdGhyb3cgbmV3IFN5bnRheEVycm9yKCk7Cisg
ICAgICAgICAgfQorICAgICAgICAgIHBvcyA9IGVuZCArICcqLycubGVuZ3RoOworICAgICAgICAg
IGNvbnRpbnVlOworICAgICAgICB9CisgICAgICB9CisKKyAgICAgIGJyZWFrOworICAgIH0KKyAg
fTsKKworICBjb25zdCBnZXRJZGVudGlmaWVyID0gKCkgPT4geworICAgIGVhdFdoaXRlc3BhY2Uo
KTsKKworICAgIGNvbnN0IHN0YXJ0ID0gcG9zOworICAgIGxldCBlbmQgPSBwb3M7CisgICAgc3dp
dGNoIChzb3VyY2VbZW5kXSkgeworICAgICAgY2FzZSAnXyc6CisgICAgICBjYXNlICckJzoKKyAg
ICAgICAgZW5kICs9IDE7CisgICAgICAgIGJyZWFrOworICAgICAgZGVmYXVsdDoKKyAgICAgICAg
aWYgKFVuaWNvZGVJRFN0YXJ0LnRlc3Qoc291cmNlW2VuZF0pKSB7CisgICAgICAgICAgZW5kICs9
IDE7CisgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuIG51bGw7Cisg
ICAgfQorICAgIHdoaWxlIChlbmQgPCBzb3VyY2UubGVuZ3RoKSB7CisgICAgICBjb25zdCBjID0g
c291cmNlW2VuZF07CisgICAgICBzd2l0Y2ggKGMpIHsKKyAgICAgICAgY2FzZSAnXyc6CisgICAg
ICAgIGNhc2UgJyQnOgorICAgICAgICAgIGVuZCArPSAxOworICAgICAgICAgIGJyZWFrOworICAg
ICAgICBkZWZhdWx0OgorICAgICAgICAgIGlmIChVbmljb2RlSURDb250aW51ZS50ZXN0KGMpKSB7
CisgICAgICAgICAgICBlbmQgKz0gMTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgIH0K
KyAgICAgICAgICByZXR1cm4gc291cmNlLnNsaWNlKHN0YXJ0LCBlbmQpOworICAgICAgfQorICAg
IH0KKyAgICByZXR1cm4gc291cmNlLnNsaWNlKHN0YXJ0LCBlbmQpOworICB9OworCisgIGNvbnN0
IHRlc3QgPSAocykgPT4geworICAgIGVhdFdoaXRlc3BhY2UoKTsKKworICAgIGlmICgvXHcvLnRl
c3QocykpIHsKKyAgICAgIHJldHVybiBnZXRJZGVudGlmaWVyKCkgPT09IHM7CisgICAgfQorICAg
IHJldHVybiBzb3VyY2Uuc2xpY2UocG9zLCBwb3MgKyBzLmxlbmd0aCkgPT09IHM7CisgIH07CisK
KyAgY29uc3QgZWF0ID0gKHMpID0+IHsKKyAgICBpZiAodGVzdChzKSkgeworICAgICAgcG9zICs9
IHMubGVuZ3RoOworICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorICAgIHJldHVybiBmYWxzZTsK
KyAgfTsKKworICBjb25zdCBlYXRJZGVudGlmaWVyID0gKCkgPT4geworICAgIGNvbnN0IG4gPSBn
ZXRJZGVudGlmaWVyKCk7CisgICAgaWYgKG4gIT09IG51bGwpIHsKKyAgICAgIHBvcyArPSBuLmxl
bmd0aDsKKyAgICAgIHJldHVybiB0cnVlOworICAgIH0KKyAgICByZXR1cm4gZmFsc2U7CisgIH07
CisKKyAgY29uc3QgZXhwZWN0ID0gKHMpID0+IHsKKyAgICBpZiAoIWVhdChzKSkgeworICAgICAg
dGhyb3cgbmV3IFN5bnRheEVycm9yKCk7CisgICAgfQorICB9OworCisgIGNvbnN0IGVhdFN0cmlu
ZyA9ICgpID0+IHsKKyAgICBpZiAoc291cmNlW3Bvc10gPT09ICdcJycgfHwgc291cmNlW3Bvc10g
PT09ICciJykgeworICAgICAgY29uc3QgbWF0Y2ggPSBzb3VyY2VbcG9zXTsKKyAgICAgIHBvcyAr
PSAxOworICAgICAgd2hpbGUgKHBvcyA8IHNvdXJjZS5sZW5ndGgpIHsKKyAgICAgICAgaWYgKHNv
dXJjZVtwb3NdID09PSBtYXRjaCAmJiBzb3VyY2VbcG9zIC0gMV0gIT09ICdcXCcpIHsKKyAgICAg
ICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICAgICAgaWYgKGlzTmV3bGluZShzb3VyY2VbcG9z
XSkpIHsKKyAgICAgICAgICB0aHJvdyBuZXcgU3ludGF4RXJyb3IoKTsKKyAgICAgICAgfQorICAg
ICAgICBwb3MgKz0gMTsKKyAgICAgIH0KKyAgICAgIHRocm93IG5ldyBTeW50YXhFcnJvcigpOwor
ICAgIH0KKyAgfTsKKworICAvLyAiU3R1bWJsZSIgdGhyb3VnaCBzb3VyY2UgdGV4dCB1bnRpbCBt
YXRjaGluZyBjaGFyYWN0ZXIgaXMgZm91bmQuCisgIC8vIEFzc3VtZXMgRUNNQVNjcmlwdCBzeW50
YXgga2VlcHMgYFtdYCBhbmQgYCgpYCBiYWxhbmNlZC4KKyAgY29uc3Qgc3R1bWJsZVVudGlsID0g
KGMpID0+IHsKKyAgICBjb25zdCBtYXRjaCA9IHsKKyAgICAgICddJzogJ1snLAorICAgICAgJykn
OiAnKCcsCisgICAgfVtjXTsKKyAgICBsZXQgbmVzdGluZyA9IDE7CisgICAgd2hpbGUgKHBvcyA8
IHNvdXJjZS5sZW5ndGgpIHsKKyAgICAgIGVhdFdoaXRlc3BhY2UoKTsKKyAgICAgIGVhdFN0cmlu
ZygpOyAvLyBTdHJpbmdzIG1heSBjb250YWluIHVuYmFsYW5jZWQgY2hhcmFjdGVycy4KKyAgICAg
IGlmIChzb3VyY2VbcG9zXSA9PT0gbWF0Y2gpIHsKKyAgICAgICAgbmVzdGluZyArPSAxOworICAg
ICAgfSBlbHNlIGlmIChzb3VyY2VbcG9zXSA9PT0gYykgeworICAgICAgICBuZXN0aW5nIC09IDE7
CisgICAgICB9CisgICAgICBwb3MgKz0gMTsKKyAgICAgIGlmIChuZXN0aW5nID09PSAwKSB7Cisg
ICAgICAgIHJldHVybjsKKyAgICAgIH0KKyAgICB9CisgICAgdGhyb3cgbmV3IFN5bnRheEVycm9y
KCk7CisgIH07CisKKyAgLy8gZnVuY3Rpb24KKyAgZXhwZWN0KCdmdW5jdGlvbicpOworCisgIC8v
IE5hdGl2ZUZ1bmN0aW9uQWNjZXNzb3IKKyAgZWF0KCdnZXQnKSB8fCBlYXQoJ3NldCcpOworCisg
IC8vIFByb3BlcnR5TmFtZQorICBpZiAoIWVhdElkZW50aWZpZXIoKSAmJiBlYXQoJ1snKSkgewor
ICAgIHN0dW1ibGVVbnRpbCgnXScpOworICB9CisKKyAgLy8gKCBGb3JtYWxQYXJhbWV0ZXJzICkK
KyAgZXhwZWN0KCcoJyk7CisgIHN0dW1ibGVVbnRpbCgnKScpOworCisgIC8vIHsKKyAgZXhwZWN0
KCd7Jyk7CisKKyAgLy8gW25hdGl2ZSBjb2RlXQorICBleHBlY3QoJ1snKTsKKyAgZXhwZWN0KCdu
YXRpdmUnKTsKKyAgZXhwZWN0KCdjb2RlJyk7CisgIGV4cGVjdCgnXScpOworCisgIC8vIH0KKyAg
ZXhwZWN0KCd9Jyk7CisKKyAgZWF0V2hpdGVzcGFjZSgpOworICBpZiAocG9zICE9PSBzb3VyY2Uu
bGVuZ3RoKSB7CisgICAgdGhyb3cgbmV3IFN5bnRheEVycm9yKCk7CisgIH0KK307CiAKIGNvbnN0
IGFzc2VydFRvU3RyaW5nT3JOYXRpdmVGdW5jdGlvbiA9IGZ1bmN0aW9uKGZuLCBleHBlY3RlZCkg
ewogICBjb25zdCBhY3R1YWwgPSAiIiArIGZuOwpAQCAtMjYsOCArMjEyLDkgQEAgY29uc3QgYXNz
ZXJ0VG9TdHJpbmdPck5hdGl2ZUZ1bmN0aW9uID0gZnVuY3Rpb24oZm4sIGV4cGVjdGVkKSB7CiAK
IGNvbnN0IGFzc2VydE5hdGl2ZUZ1bmN0aW9uID0gZnVuY3Rpb24oZm4sIHNwZWNpYWwpIHsKICAg
Y29uc3QgYWN0dWFsID0gIiIgKyBmbjsKLSAgYXNzZXJ0KAotICAgIE5BVElWRV9GVU5DVElPTl9S
RS50ZXN0KGFjdHVhbCksCi0gICAgIkNvbmZvcm1zIHRvIE5hdGl2ZUZ1bmN0aW9uIFN5bnRheDog
JyIgKyBhY3R1YWwgKyAiJy4iICsgKHNwZWNpYWwgPyAiKCIgKyBzcGVjaWFsICsgIikiIDogIiIp
Ci0gICk7CisgIHRyeSB7CisgICAgdmFsaWRhdGVOYXRpdmVGdW5jdGlvblNvdXJjZShhY3R1YWwp
OworICB9IGNhdGNoICh1bnVzZWQpIHsKKyAgICAkRVJST1IoJ0NvbmZvcm1zIHRvIE5hdGl2ZUZ1
bmN0aW9uIFN5bnRheDogJyArIEpTT04uc3RyaW5naWZ5KGFjdHVhbCkgKyAoc3BlY2lhbCA/ICcg
KCcgKyBzcGVjaWFsICsgJyknIDogJycpKTsKKyAgfQogfTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMv
dGVzdDI2Mi9oYXJuZXNzL3dlbGxLbm93bkludHJpbnNpY09iamVjdHMuanMgYi9KU1Rlc3RzL3Rl
c3QyNjIvaGFybmVzcy93ZWxsS25vd25JbnRyaW5zaWNPYmplY3RzLmpzCmluZGV4IDI0MWUyNGM0
ZWViOGU4ZWI0NTg0YTM1NGRlYmE3YzFjYTlkODY4NWIuLjEzYjA2YmU1Yjg3NjI3ZmRiNmYyMDdj
NTBiYTZlZTE0MDU5Njg3MTEgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi9oYXJuZXNzL3dl
bGxLbm93bkludHJpbnNpY09iamVjdHMuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL2hhcm5lc3Mv
d2VsbEtub3duSW50cmluc2ljT2JqZWN0cy5qcwpAQCAtOCw0NTIgKzgsMjgzIEBAIGRlZmluZXM6
IFtXZWxsS25vd25JbnRyaW5zaWNPYmplY3RzXQogCiBjb25zdCBXZWxsS25vd25JbnRyaW5zaWNP
YmplY3RzID0gWwogICB7Ci0gICAgaW50cmluc2ljTmFtZTogIiVBcnJheSUiLAotICAgIGdsb2Jh
bE5hbWVPclNvdXJjZTogIkFycmF5IgorICAgIG5hbWU6ICclQWdncmVnYXRlRXJyb3IlJywKKyAg
ICBzb3VyY2U6ICdBZ2dyZWdhdGVFcnJvcicsCiAgIH0sCiAgIHsKLSAgICBpbnRyaW5zaWNOYW1l
OiAiJUFycmF5QnVmZmVyJSIsCi0gICAgZ2xvYmFsTmFtZU9yU291cmNlOiAiQXJyYXlCdWZmZXIi
CisgICAgbmFtZTogJyVBcnJheSUnLAorICAgIHNvdXJjZTogJ0FycmF5JywKICAgfSwKICAgewot
ICAgIGludHJpbnNpY05hbWU6ICIlQXJyYXlCdWZmZXJQcm90b3R5cGUlIiwKLSAgICBnbG9iYWxO
YW1lT3JTb3VyY2U6ICJBcnJheUJ1ZmZlci5wcm90b3R5cGUiCisgICAgbmFtZTogJyVBcnJheUJ1
ZmZlciUnLAorICAgIHNvdXJjZTogJ0FycmF5QnVmZmVyJywKICAgfSwKICAgewotICAgIGludHJp
bnNpY05hbWU6ICIlQXJyYXlJdGVyYXRvclByb3RvdHlwZSUiLAotICAgIGdsb2JhbE5hbWVPclNv
dXJjZTogIk9iamVjdC5nZXRQcm90b3R5cGVPZihbXVtTeW1ib2wuaXRlcmF0b3JdKCkpIgorICAg
IG5hbWU6ICclQXJyYXlJdGVyYXRvclByb3RvdHlwZSUnLAorICAgIHNvdXJjZTogJ09iamVjdC5n
ZXRQcm90b3R5cGVPZihbXVtTeW1ib2wuaXRlcmF0b3JdKCkpJywKICAgfSwKICAgewotICAgIGlu
dHJpbnNpY05hbWU6ICIlQXJyYXlQcm90b3R5cGUlIiwKLSAgICBnbG9iYWxOYW1lT3JTb3VyY2U6
ICJBcnJheS5wcm90b3R5cGUiCisgICAgbmFtZTogJyVBc3luY0Zyb21TeW5jSXRlcmF0b3JQcm90
b3R5cGUlJywKKyAgICBzb3VyY2U6ICd1bmRlZmluZWQnLAogICB9LAogICB7Ci0gICAgaW50cmlu
c2ljTmFtZTogIiVBcnJheVByb3RvX2VudHJpZXMlIiwKLSAgICBnbG9iYWxOYW1lT3JTb3VyY2U6
ICJBcnJheS5wcm90b3R5cGUuZW50cmllcyIKKyAgICBuYW1lOiAnJUFzeW5jRnVuY3Rpb24lJywK
KyAgICBzb3VyY2U6ICcoYXN5bmMgZnVuY3Rpb24oKSB7fSkuY29uc3RydWN0b3InLAogICB9LAog
ICB7Ci0gICAgaW50cmluc2ljTmFtZTogIiVBcnJheVByb3RvX2ZvckVhY2glIiwKLSAgICBnbG9i
YWxOYW1lT3JTb3VyY2U6ICJBcnJheS5wcm90b3R5cGUuZm9yRWFjaCIKKyAgICBuYW1lOiAnJUFz
eW5jR2VuZXJhdG9yRnVuY3Rpb24lJywKKyAgICBzb3VyY2U6ICdPYmplY3QuZ2V0UHJvdG90eXBl
T2YoYXN5bmMgZnVuY3Rpb24gKiAoKSB7fSknLAogICB9LAogICB7Ci0gICAgaW50cmluc2ljTmFt
ZTogIiVBcnJheVByb3RvX2tleXMlIiwKLSAgICBnbG9iYWxOYW1lT3JTb3VyY2U6ICJBcnJheS5w
cm90b3R5cGUua2V5cyIKKyAgICBuYW1lOiAnJUFzeW5jSXRlcmF0b3JQcm90b3R5cGUlJywKKyAg
ICBzb3VyY2U6ICcoKGFzeW5jIGZ1bmN0aW9uICogKCkge30pKCkpW1N5bWJvbC5hc3luY0l0ZXJh
dG9yXSgpJywKICAgfSwKICAgewotICAgIGludHJpbnNpY05hbWU6ICIlQXJyYXlQcm90b192YWx1
ZXMlIiwKLSAgICBnbG9iYWxOYW1lT3JTb3VyY2U6ICJBcnJheS5wcm90b3R5cGUudmFsdWVzIgor
ICAgIG5hbWU6ICclQXRvbWljcyUnLAorICAgIHNvdXJjZTogJ0F0b21pY3MnLAogICB9LAogICB7
Ci0gICAgaW50cmluc2ljTmFtZTogIiVBc3luY0Zyb21TeW5jSXRlcmF0b3JQcm90b3R5cGUlIiwK
LSAgICBnbG9iYWxOYW1lT3JTb3VyY2U6ICJ1bmRlZmluZWQiCisgICAgbmFtZTogJyVCaWdJbnQl
JywKKyAgICBzb3VyY2U6ICdCaWdJbnQnLAogICB9LAogICB7Ci0gICAgaW50cmluc2ljTmFtZTog
IiVBc3luY0Z1bmN0aW9uJSIsCi0gICAgZ2xvYmFsTmFtZU9yU291cmNlOiAiKGFzeW5jIGZ1bmN0
aW9uKCkge30pLmNvbnN0cnVjdG9yIgorICAgIG5hbWU6ICclQmlnSW50NjRBcnJheSUnLAorICAg
IHNvdXJjZTogJ0JpZ0ludDY0QXJyYXknLAogICB9LAogICB7Ci0gICAgaW50cmluc2ljTmFtZTog
IiVBc3luY0Z1bmN0aW9uUHJvdG90eXBlJSIsCi0gICAgZ2xvYmFsTmFtZU9yU291cmNlOiAiKGFz
eW5jIGZ1bmN0aW9uKCkge30pLmNvbnN0cnVjdG9yLnByb3RvdHlwZSIKKyAgICBuYW1lOiAnJUJp
Z1VpbnQ2NEFycmF5JScsCisgICAgc291cmNlOiAnQmlnVWludDY0QXJyYXknLAogICB9LAogICB7
Ci0gICAgaW50cmluc2ljTmFtZTogIiVBc3luY0dlbmVyYXRvciUiLAotICAgIGdsb2JhbE5hbWVP
clNvdXJjZTogIk9iamVjdC5nZXRQcm90b3R5cGVPZigoYXN5bmMgZnVuY3Rpb24gKiAoKSB7fSko
KSkiCisgICAgbmFtZTogJyVCb29sZWFuJScsCisgICAgc291cmNlOiAnQm9vbGVhbicsCiAgIH0s
CiAgIHsKLSAgICBpbnRyaW5zaWNOYW1lOiAiJUFzeW5jR2VuZXJhdG9yRnVuY3Rpb24lIiwKLSAg
ICBnbG9iYWxOYW1lT3JTb3VyY2U6ICJPYmplY3QuZ2V0UHJvdG90eXBlT2YoYXN5bmMgZnVuY3Rp
b24gKiAoKSB7fSkiCisgICAgbmFtZTogJyVEYXRhVmlldyUnLAorICAgIHNvdXJjZTogJ0RhdGFW
aWV3JywKICAgfSwKICAgewotICAgIGludHJpbnNpY05hbWU6ICIlQXN5bmNHZW5lcmF0b3JQcm90
b3R5cGUlIiwKLSAgICBnbG9iYWxOYW1lT3JTb3VyY2U6ICJPYmplY3QuZ2V0UHJvdG90eXBlT2Yo
YXN5bmMgZnVuY3Rpb24gKiAoKSB7fSkucHJvdG90eXBlIgorICAgIG5hbWU6ICclRGF0ZSUnLAor
ICAgIHNvdXJjZTogJ0RhdGUnLAogICB9LAogICB7Ci0gICAgaW50cmluc2ljTmFtZTogIiVBc3lu
Y0l0ZXJhdG9yUHJvdG90eXBlJSIsCi0gICAgZ2xvYmFsTmFtZU9yU291cmNlOiAiKChhc3luYyBm
dW5jdGlvbiAqICgpIHt9KSgpKVtTeW1ib2wuYXN5bmNJdGVyYXRvcl0oKSIKKyAgICBuYW1lOiAn
JWRlY29kZVVSSSUnLAorICAgIHNvdXJjZTogJ2RlY29kZVVSSScsCiAgIH0sCiAgIHsKLSAgICBp
bnRyaW5zaWNOYW1lOiAiJUF0b21pY3MlIiwKLSAgICBnbG9iYWxOYW1lT3JTb3VyY2U6ICJBdG9t
aWNzIgorICAgIG5hbWU6ICclZGVjb2RlVVJJQ29tcG9uZW50JScsCisgICAgc291cmNlOiAnZGVj
b2RlVVJJQ29tcG9uZW50JywKICAgfSwKICAgewotICAgIGludHJpbnNpY05hbWU6ICIlQm9vbGVh
biUiLAotICAgIGdsb2JhbE5hbWVPclNvdXJjZTogIkJvb2xlYW4iCisgICAgbmFtZTogJyVlbmNv
ZGVVUkklJywKKyAgICBzb3VyY2U6ICdlbmNvZGVVUkknLAogICB9LAogICB7Ci0gICAgaW50cmlu
c2ljTmFtZTogIiVCb29sZWFuUHJvdG90eXBlJSIsCi0gICAgZ2xvYmFsTmFtZU9yU291cmNlOiAi
Qm9vbGVhbi5wcm90b3R5cGUiCisgICAgbmFtZTogJyVlbmNvZGVVUklDb21wb25lbnQlJywKKyAg
ICBzb3VyY2U6ICdlbmNvZGVVUklDb21wb25lbnQnLAogICB9LAogICB7Ci0gICAgaW50cmluc2lj
TmFtZTogIiVEYXRhVmlldyUiLAotICAgIGdsb2JhbE5hbWVPclNvdXJjZTogIkRhdGFWaWV3Igor
ICAgIG5hbWU6ICclRXJyb3IlJywKKyAgICBzb3VyY2U6ICdFcnJvcicsCiAgIH0sCiAgIHsKLSAg
ICBpbnRyaW5zaWNOYW1lOiAiJURhdGFWaWV3UHJvdG90eXBlJSIsCi0gICAgZ2xvYmFsTmFtZU9y
U291cmNlOiAiRGF0YVZpZXcucHJvdG90eXBlIgorICAgIG5hbWU6ICclZXZhbCUnLAorICAgIHNv
dXJjZTogJ2V2YWwnLAogICB9LAogICB7Ci0gICAgaW50cmluc2ljTmFtZTogIiVEYXRlJSIsCi0g
ICAgZ2xvYmFsTmFtZU9yU291cmNlOiAiRGF0ZSIKKyAgICBuYW1lOiAnJUV2YWxFcnJvciUnLAor
ICAgIHNvdXJjZTogJ0V2YWxFcnJvcicsCiAgIH0sCiAgIHsKLSAgICBpbnRyaW5zaWNOYW1lOiAi
JURhdGVQcm90b3R5cGUlIiwKLSAgICBnbG9iYWxOYW1lT3JTb3VyY2U6ICJEYXRlLnByb3RvdHlw
ZSIKKyAgICBuYW1lOiAnJUZpbmFsaXphdGlvblJlZ2lzdHJ5JScsCisgICAgc291cmNlOiAnRmlu
YWxpemF0aW9uUmVnaXN0cnknLAogICB9LAogICB7Ci0gICAgaW50cmluc2ljTmFtZTogIiVkZWNv
ZGVVUkklIiwKLSAgICBnbG9iYWxOYW1lT3JTb3VyY2U6ICJkZWNvZGVVUkkiCisgICAgbmFtZTog
JyVGbG9hdDMyQXJyYXklJywKKyAgICBzb3VyY2U6ICdGbG9hdDMyQXJyYXknLAogICB9LAogICB7
Ci0gICAgaW50cmluc2ljTmFtZTogIiVkZWNvZGVVUklDb21wb25lbnQlIiwKLSAgICBnbG9iYWxO
YW1lT3JTb3VyY2U6ICJkZWNvZGVVUklDb21wb25lbnQiCisgICAgbmFtZTogJyVGbG9hdDY0QXJy
YXklJywKKyAgICBzb3VyY2U6ICdGbG9hdDY0QXJyYXknLAogICB9LAogICB7Ci0gICAgaW50cmlu
c2ljTmFtZTogIiVlbmNvZGVVUkklIiwKLSAgICBnbG9iYWxOYW1lT3JTb3VyY2U6ICJlbmNvZGVV
UkkiCisgICAgbmFtZTogJyVGb3JJbkl0ZXJhdG9yUHJvdG90eXBlJScsCisgICAgc291cmNlOiAn
JywKICAgfSwKICAgewotICAgIGludHJpbnNpY05hbWU6ICIlZW5jb2RlVVJJQ29tcG9uZW50JSIs
Ci0gICAgZ2xvYmFsTmFtZU9yU291cmNlOiAiZW5jb2RlVVJJQ29tcG9uZW50IgorICAgIG5hbWU6
ICclRnVuY3Rpb24lJywKKyAgICBzb3VyY2U6ICdGdW5jdGlvbicsCiAgIH0sCiAgIHsKLSAgICBp
bnRyaW5zaWNOYW1lOiAiJUVycm9yJSIsCi0gICAgZ2xvYmFsTmFtZU9yU291cmNlOiAiRXJyb3Ii
CisgICAgbmFtZTogJyVHZW5lcmF0b3JGdW5jdGlvbiUnLAorICAgIHNvdXJjZTogJ09iamVjdC5n
ZXRQcm90b3R5cGVPZihmdW5jdGlvbiAqICgpIHt9KScsCiAgIH0sCiAgIHsKLSAgICBpbnRyaW5z
aWNOYW1lOiAiJUVycm9yUHJvdG90eXBlJSIsCi0gICAgZ2xvYmFsTmFtZU9yU291cmNlOiAiRXJy
b3IucHJvdG90eXBlIgorICAgIG5hbWU6ICclSW50OEFycmF5JScsCisgICAgc291cmNlOiAnSW50
OEFycmF5JywKICAgfSwKICAgewotICAgIGludHJpbnNpY05hbWU6ICIlZXZhbCUiLAotICAgIGds
b2JhbE5hbWVPclNvdXJjZTogImV2YWwiCisgICAgbmFtZTogJyVJbnQxNkFycmF5JScsCisgICAg
c291cmNlOiAnSW50MTZBcnJheScsCiAgIH0sCiAgIHsKLSAgICBpbnRyaW5zaWNOYW1lOiAiJUV2
YWxFcnJvciUiLAotICAgIGdsb2JhbE5hbWVPclNvdXJjZTogIkV2YWxFcnJvciIKKyAgICBuYW1l
OiAnJUludDMyQXJyYXklJywKKyAgICBzb3VyY2U6ICdJbnQzMkFycmF5JywKICAgfSwKICAgewot
ICAgIGludHJpbnNpY05hbWU6ICIlRXZhbEVycm9yUHJvdG90eXBlJSIsCi0gICAgZ2xvYmFsTmFt
ZU9yU291cmNlOiAiRXZhbEVycm9yLnByb3RvdHlwZSIKKyAgICBuYW1lOiAnJWlzRmluaXRlJScs
CisgICAgc291cmNlOiAnaXNGaW5pdGUnLAogICB9LAogICB7Ci0gICAgaW50cmluc2ljTmFtZTog
IiVGbG9hdDMyQXJyYXklIiwKLSAgICBnbG9iYWxOYW1lT3JTb3VyY2U6ICJGbG9hdDMyQXJyYXki
CisgICAgbmFtZTogJyVpc05hTiUnLAorICAgIHNvdXJjZTogJ2lzTmFOJywKICAgfSwKICAgewot
ICAgIGludHJpbnNpY05hbWU6ICIlRmxvYXQzMkFycmF5UHJvdG90eXBlJSIsCi0gICAgZ2xvYmFs
TmFtZU9yU291cmNlOiAiRmxvYXQzMkFycmF5LnByb3RvdHlwZSIKKyAgICBuYW1lOiAnJUl0ZXJh
dG9yUHJvdG90eXBlJScsCisgICAgc291cmNlOiAnT2JqZWN0LmdldFByb3RvdHlwZU9mKE9iamVj
dC5nZXRQcm90b3R5cGVPZihbXVtTeW1ib2wuaXRlcmF0b3JdKCkpKScsCiAgIH0sCiAgIHsKLSAg
ICBpbnRyaW5zaWNOYW1lOiAiJUZsb2F0NjRBcnJheSUiLAotICAgIGdsb2JhbE5hbWVPclNvdXJj
ZTogIkZsb2F0NjRBcnJheSIKKyAgICBuYW1lOiAnJUpTT04lJywKKyAgICBzb3VyY2U6ICdKU09O
JywKICAgfSwKICAgewotICAgIGludHJpbnNpY05hbWU6ICIlRmxvYXQ2NEFycmF5UHJvdG90eXBl
JSIsCi0gICAgZ2xvYmFsTmFtZU9yU291cmNlOiAiRmxvYXQ2NEFycmF5LnByb3RvdHlwZSIKKyAg
ICBuYW1lOiAnJU1hcCUnLAorICAgIHNvdXJjZTogJ01hcCcsCiAgIH0sCiAgIHsKLSAgICBpbnRy
aW5zaWNOYW1lOiAiJUZ1bmN0aW9uJSIsCi0gICAgZ2xvYmFsTmFtZU9yU291cmNlOiAiRnVuY3Rp
b24iCisgICAgbmFtZTogJyVNYXBJdGVyYXRvclByb3RvdHlwZSUnLAorICAgIHNvdXJjZTogJ09i
amVjdC5nZXRQcm90b3R5cGVPZihuZXcgTWFwKClbU3ltYm9sLml0ZXJhdG9yXSgpKScsCiAgIH0s
CiAgIHsKLSAgICBpbnRyaW5zaWNOYW1lOiAiJUZ1bmN0aW9uUHJvdG90eXBlJSIsCi0gICAgZ2xv
YmFsTmFtZU9yU291cmNlOiAiRnVuY3Rpb24ucHJvdG90eXBlIgorICAgIG5hbWU6ICclTWF0aCUn
LAorICAgIHNvdXJjZTogJ01hdGgnLAogICB9LAogICB7Ci0gICAgaW50cmluc2ljTmFtZTogIiVH
ZW5lcmF0b3IlIiwKLSAgICBnbG9iYWxOYW1lT3JTb3VyY2U6ICJPYmplY3QuZ2V0UHJvdG90eXBl
T2YoKGZ1bmN0aW9uICogKCkge30pKCkpIgorICAgIG5hbWU6ICclTnVtYmVyJScsCisgICAgc291
cmNlOiAnTnVtYmVyJywKICAgfSwKICAgewotICAgIGludHJpbnNpY05hbWU6ICIlR2VuZXJhdG9y
RnVuY3Rpb24lIiwKLSAgICBnbG9iYWxOYW1lT3JTb3VyY2U6ICJPYmplY3QuZ2V0UHJvdG90eXBl
T2YoZnVuY3Rpb24gKiAoKSB7fSkiCisgICAgbmFtZTogJyVPYmplY3QlJywKKyAgICBzb3VyY2U6
ICdPYmplY3QnLAogICB9LAogICB7Ci0gICAgaW50cmluc2ljTmFtZTogIiVHZW5lcmF0b3JQcm90
b3R5cGUlIiwKLSAgICBnbG9iYWxOYW1lT3JTb3VyY2U6ICJPYmplY3QuZ2V0UHJvdG90eXBlT2Yo
ZnVuY3Rpb24gKiAoKSB7fSkucHJvdG90eXBlIgorICAgIG5hbWU6ICclcGFyc2VGbG9hdCUnLAor
ICAgIHNvdXJjZTogJ3BhcnNlRmxvYXQnLAogICB9LAogICB7Ci0gICAgaW50cmluc2ljTmFtZTog
IiVJbnQ4QXJyYXklIiwKLSAgICBnbG9iYWxOYW1lT3JTb3VyY2U6ICJJbnQ4QXJyYXkiCisgICAg
bmFtZTogJyVwYXJzZUludCUnLAorICAgIHNvdXJjZTogJ3BhcnNlSW50JywKICAgfSwKICAgewot
ICAgIGludHJpbnNpY05hbWU6ICIlSW50OEFycmF5UHJvdG90eXBlJSIsCi0gICAgZ2xvYmFsTmFt
ZU9yU291cmNlOiAiSW50OEFycmF5LnByb3RvdHlwZSIKKyAgICBuYW1lOiAnJVByb21pc2UlJywK
KyAgICBzb3VyY2U6ICdQcm9taXNlJywKICAgfSwKICAgewotICAgIGludHJpbnNpY05hbWU6ICIl
SW50MTZBcnJheSUiLAotICAgIGdsb2JhbE5hbWVPclNvdXJjZTogIkludDE2QXJyYXkiCisgICAg
bmFtZTogJyVQcm94eSUnLAorICAgIHNvdXJjZTogJ1Byb3h5JywKICAgfSwKICAgewotICAgIGlu
dHJpbnNpY05hbWU6ICIlSW50MTZBcnJheVByb3RvdHlwZSUiLAotICAgIGdsb2JhbE5hbWVPclNv
dXJjZTogIkludDE2QXJyYXkucHJvdG90eXBlIgorICAgIG5hbWU6ICclUmFuZ2VFcnJvciUnLAor
ICAgIHNvdXJjZTogJ1JhbmdlRXJyb3InLAogICB9LAogICB7Ci0gICAgaW50cmluc2ljTmFtZTog
IiVJbnQzMkFycmF5JSIsCi0gICAgZ2xvYmFsTmFtZU9yU291cmNlOiAiSW50MzJBcnJheSIKKyAg
ICBuYW1lOiAnJVJlZmVyZW5jZUVycm9yJScsCisgICAgc291cmNlOiAnUmVmZXJlbmNlRXJyb3In
LAogICB9LAogICB7Ci0gICAgaW50cmluc2ljTmFtZTogIiVJbnQzMkFycmF5UHJvdG90eXBlJSIs
Ci0gICAgZ2xvYmFsTmFtZU9yU291cmNlOiAiSW50MzJBcnJheS5wcm90b3R5cGUiCisgICAgbmFt
ZTogJyVSZWZsZWN0JScsCisgICAgc291cmNlOiAnUmVmbGVjdCcsCiAgIH0sCiAgIHsKLSAgICBp
bnRyaW5zaWNOYW1lOiAiJWlzRmluaXRlJSIsCi0gICAgZ2xvYmFsTmFtZU9yU291cmNlOiAiaXNG
aW5pdGUiCisgICAgbmFtZTogJyVSZWdFeHAlJywKKyAgICBzb3VyY2U6ICdSZWdFeHAnLAogICB9
LAogICB7Ci0gICAgaW50cmluc2ljTmFtZTogIiVpc05hTiUiLAotICAgIGdsb2JhbE5hbWVPclNv
dXJjZTogImlzTmFOIgorICAgIG5hbWU6ICclUmVnRXhwU3RyaW5nSXRlcmF0b3JQcm90b3R5cGUl
JywKKyAgICBzb3VyY2U6ICdSZWdFeHAucHJvdG90eXBlW1N5bWJvbC5tYXRjaEFsbF0oIiIpJywK
ICAgfSwKICAgewotICAgIGludHJpbnNpY05hbWU6ICIlSXRlcmF0b3JQcm90b3R5cGUlIiwKLSAg
ICBnbG9iYWxOYW1lT3JTb3VyY2U6ICJPYmplY3QuZ2V0UHJvdG90eXBlT2YoT2JqZWN0LmdldFBy
b3RvdHlwZU9mKFtdW1N5bWJvbC5pdGVyYXRvcl0oKSkpIgorICAgIG5hbWU6ICclU2V0JScsCisg
ICAgc291cmNlOiAnU2V0JywKICAgfSwKICAgewotICAgIGludHJpbnNpY05hbWU6ICIlSlNPTiUi
LAotICAgIGdsb2JhbE5hbWVPclNvdXJjZTogIkpTT04iCisgICAgbmFtZTogJyVTZXRJdGVyYXRv
clByb3RvdHlwZSUnLAorICAgIHNvdXJjZTogJ09iamVjdC5nZXRQcm90b3R5cGVPZihuZXcgU2V0
KClbU3ltYm9sLml0ZXJhdG9yXSgpKScsCiAgIH0sCiAgIHsKLSAgICBpbnRyaW5zaWNOYW1lOiAi
JUpTT05QYXJzZSUiLAotICAgIGdsb2JhbE5hbWVPclNvdXJjZTogIkpTT04ucGFyc2UiCisgICAg
bmFtZTogJyVTaGFyZWRBcnJheUJ1ZmZlciUnLAorICAgIHNvdXJjZTogJ1NoYXJlZEFycmF5QnVm
ZmVyJywKICAgfSwKICAgewotICAgIGludHJpbnNpY05hbWU6ICIlTWFwJSIsCi0gICAgZ2xvYmFs
TmFtZU9yU291cmNlOiAiTWFwIgorICAgIG5hbWU6ICclU3RyaW5nJScsCisgICAgc291cmNlOiAn
U3RyaW5nJywKICAgfSwKICAgewotICAgIGludHJpbnNpY05hbWU6ICIlTWFwSXRlcmF0b3JQcm90
b3R5cGUlIiwKLSAgICBnbG9iYWxOYW1lT3JTb3VyY2U6ICJPYmplY3QuZ2V0UHJvdG90eXBlT2Yo
bmV3IE1hcCgpW1N5bWJvbC5pdGVyYXRvcl0oKSkiCisgICAgbmFtZTogJyVTdHJpbmdJdGVyYXRv
clByb3RvdHlwZSUnLAorICAgIHNvdXJjZTogJ09iamVjdC5nZXRQcm90b3R5cGVPZihuZXcgU3Ry
aW5nKClbU3ltYm9sLml0ZXJhdG9yXSgpKScsCiAgIH0sCiAgIHsKLSAgICBpbnRyaW5zaWNOYW1l
OiAiJU1hcFByb3RvdHlwZSUiLAotICAgIGdsb2JhbE5hbWVPclNvdXJjZTogIk1hcC5wcm90b3R5
cGUiCisgICAgbmFtZTogJyVTeW1ib2wlJywKKyAgICBzb3VyY2U6ICdTeW1ib2wnLAogICB9LAog
ICB7Ci0gICAgaW50cmluc2ljTmFtZTogIiVNYXRoJSIsCi0gICAgZ2xvYmFsTmFtZU9yU291cmNl
OiAiTWF0aCIKKyAgICBuYW1lOiAnJVN5bnRheEVycm9yJScsCisgICAgc291cmNlOiAnU3ludGF4
RXJyb3InLAogICB9LAogICB7Ci0gICAgaW50cmluc2ljTmFtZTogIiVOdW1iZXIlIiwKLSAgICBn
bG9iYWxOYW1lT3JTb3VyY2U6ICJOdW1iZXIiCisgICAgbmFtZTogJyVUaHJvd1R5cGVFcnJvciUn
LAorICAgIHNvdXJjZTogJyhmdW5jdGlvbigpIHsgInVzZSBzdHJpY3QiOyByZXR1cm4gT2JqZWN0
LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihhcmd1bWVudHMsICJjYWxsZWUiKS5nZXQgfSkoKScs
CiAgIH0sCiAgIHsKLSAgICBpbnRyaW5zaWNOYW1lOiAiJU51bWJlclByb3RvdHlwZSUiLAotICAg
IGdsb2JhbE5hbWVPclNvdXJjZTogIk51bWJlci5wcm90b3R5cGUiCisgICAgbmFtZTogJyVUeXBl
ZEFycmF5JScsCisgICAgc291cmNlOiAnT2JqZWN0LmdldFByb3RvdHlwZU9mKFVpbnQ4QXJyYXkp
JywKICAgfSwKICAgewotICAgIGludHJpbnNpY05hbWU6ICIlT2JqZWN0JSIsCi0gICAgZ2xvYmFs
TmFtZU9yU291cmNlOiAiT2JqZWN0IgorICAgIG5hbWU6ICclVHlwZUVycm9yJScsCisgICAgc291
cmNlOiAnVHlwZUVycm9yJywKICAgfSwKICAgewotICAgIGludHJpbnNpY05hbWU6ICIlT2JqZWN0
UHJvdG90eXBlJSIsCi0gICAgZ2xvYmFsTmFtZU9yU291cmNlOiAiT2JqZWN0LnByb3RvdHlwZSIK
KyAgICBuYW1lOiAnJVVpbnQ4QXJyYXklJywKKyAgICBzb3VyY2U6ICdVaW50OEFycmF5JywKICAg
fSwKICAgewotICAgIGludHJpbnNpY05hbWU6ICIlT2JqUHJvdG9fdG9TdHJpbmclIiwKLSAgICBn
bG9iYWxOYW1lT3JTb3VyY2U6ICJPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nIgorICAgIG5hbWU6
ICclVWludDhDbGFtcGVkQXJyYXklJywKKyAgICBzb3VyY2U6ICdVaW50OENsYW1wZWRBcnJheScs
CiAgIH0sCiAgIHsKLSAgICBpbnRyaW5zaWNOYW1lOiAiJU9ialByb3RvX3ZhbHVlT2YlIiwKLSAg
ICBnbG9iYWxOYW1lT3JTb3VyY2U6ICJPYmplY3QucHJvdG90eXBlLnZhbHVlT2YiCisgICAgbmFt
ZTogJyVVaW50MTZBcnJheSUnLAorICAgIHNvdXJjZTogJ1VpbnQxNkFycmF5JywKICAgfSwKICAg
ewotICAgIGludHJpbnNpY05hbWU6ICIlcGFyc2VGbG9hdCUiLAotICAgIGdsb2JhbE5hbWVPclNv
dXJjZTogInBhcnNlRmxvYXQiCisgICAgbmFtZTogJyVVaW50MzJBcnJheSUnLAorICAgIHNvdXJj
ZTogJ1VpbnQzMkFycmF5JywKICAgfSwKICAgewotICAgIGludHJpbnNpY05hbWU6ICIlcGFyc2VJ
bnQlIiwKLSAgICBnbG9iYWxOYW1lT3JTb3VyY2U6ICJwYXJzZUludCIKKyAgICBuYW1lOiAnJVVS
SUVycm9yJScsCisgICAgc291cmNlOiAnVVJJRXJyb3InLAogICB9LAogICB7Ci0gICAgaW50cmlu
c2ljTmFtZTogIiVQcm9taXNlJSIsCi0gICAgZ2xvYmFsTmFtZU9yU291cmNlOiAiUHJvbWlzZSIK
KyAgICBuYW1lOiAnJVdlYWtNYXAlJywKKyAgICBzb3VyY2U6ICdXZWFrTWFwJywKICAgfSwKICAg
ewotICAgIGludHJpbnNpY05hbWU6ICIlUHJvbWlzZVByb3RvdHlwZSUiLAotICAgIGdsb2JhbE5h
bWVPclNvdXJjZTogIlByb21pc2UucHJvdG90eXBlIgorICAgIG5hbWU6ICclV2Vha1JlZiUnLAor
ICAgIHNvdXJjZTogJ1dlYWtSZWYnLAogICB9LAogICB7Ci0gICAgaW50cmluc2ljTmFtZTogIiVQ
cm9taXNlUHJvdG9fdGhlbiUiLAotICAgIGdsb2JhbE5hbWVPclNvdXJjZTogIlByb21pc2UucHJv
dG90eXBlLnRoZW4iCisgICAgbmFtZTogJyVXZWFrU2V0JScsCisgICAgc291cmNlOiAnV2Vha1Nl
dCcsCiAgIH0sCi0gIHsKLSAgICBpbnRyaW5zaWNOYW1lOiAiJVByb21pc2VfYWxsJSIsCi0gICAg
Z2xvYmFsTmFtZU9yU291cmNlOiAiUHJvbWlzZS5hbGwiCi0gIH0sCi0gIHsKLSAgICBpbnRyaW5z
aWNOYW1lOiAiJVByb21pc2VfcmVqZWN0JSIsCi0gICAgZ2xvYmFsTmFtZU9yU291cmNlOiAiUHJv
bWlzZS5yZWplY3QiCi0gIH0sCi0gIHsKLSAgICBpbnRyaW5zaWNOYW1lOiAiJVByb21pc2VfcmVz
b2x2ZSUiLAotICAgIGdsb2JhbE5hbWVPclNvdXJjZTogIlByb21pc2UucmVzb2x2ZSIKLSAgfSwK
LSAgewotICAgIGludHJpbnNpY05hbWU6ICIlUHJveHklIiwKLSAgICBnbG9iYWxOYW1lT3JTb3Vy
Y2U6ICJQcm94eSIKLSAgfSwKLSAgewotICAgIGludHJpbnNpY05hbWU6ICIlUmFuZ2VFcnJvciUi
LAotICAgIGdsb2JhbE5hbWVPclNvdXJjZTogIlJhbmdlRXJyb3IiCi0gIH0sCi0gIHsKLSAgICBp
bnRyaW5zaWNOYW1lOiAiJVJhbmdlRXJyb3JQcm90b3R5cGUlIiwKLSAgICBnbG9iYWxOYW1lT3JT
b3VyY2U6ICJSYW5nZUVycm9yLnByb3RvdHlwZSIKLSAgfSwKLSAgewotICAgIGludHJpbnNpY05h
bWU6ICIlUmVmZXJlbmNlRXJyb3IlIiwKLSAgICBnbG9iYWxOYW1lT3JTb3VyY2U6ICJSZWZlcmVu
Y2VFcnJvciIKLSAgfSwKLSAgewotICAgIGludHJpbnNpY05hbWU6ICIlUmVmZXJlbmNlRXJyb3JQ
cm90b3R5cGUlIiwKLSAgICBnbG9iYWxOYW1lT3JTb3VyY2U6ICJSZWZlcmVuY2VFcnJvci5wcm90
b3R5cGUiCi0gIH0sCi0gIHsKLSAgICBpbnRyaW5zaWNOYW1lOiAiJVJlZmxlY3QlIiwKLSAgICBn
bG9iYWxOYW1lT3JTb3VyY2U6ICJSZWZsZWN0IgotICB9LAotICB7Ci0gICAgaW50cmluc2ljTmFt
ZTogIiVSZWdFeHAlIiwKLSAgICBnbG9iYWxOYW1lT3JTb3VyY2U6ICJSZWdFeHAiCi0gIH0sCi0g
IHsKLSAgICBpbnRyaW5zaWNOYW1lOiAiJVJlZ0V4cFByb3RvdHlwZSUiLAotICAgIGdsb2JhbE5h
bWVPclNvdXJjZTogIlJlZ0V4cC5wcm90b3R5cGUiCi0gIH0sCi0gIHsKLSAgICBpbnRyaW5zaWNO
YW1lOiAiJVNldCUiLAotICAgIGdsb2JhbE5hbWVPclNvdXJjZTogIlNldCIKLSAgfSwKLSAgewot
ICAgIGludHJpbnNpY05hbWU6ICIlU2V0SXRlcmF0b3JQcm90b3R5cGUlIiwKLSAgICBnbG9iYWxO
YW1lT3JTb3VyY2U6ICJPYmplY3QuZ2V0UHJvdG90eXBlT2YobmV3IFNldCgpW1N5bWJvbC5pdGVy
YXRvcl0oKSkiCi0gIH0sCi0gIHsKLSAgICBpbnRyaW5zaWNOYW1lOiAiJVNldFByb3RvdHlwZSUi
LAotICAgIGdsb2JhbE5hbWVPclNvdXJjZTogIlNldC5wcm90b3R5cGUiCi0gIH0sCi0gIHsKLSAg
ICBpbnRyaW5zaWNOYW1lOiAiJVNoYXJlZEFycmF5QnVmZmVyJSIsCi0gICAgZ2xvYmFsTmFtZU9y
U291cmNlOiAiU2hhcmVkQXJyYXlCdWZmZXIiCi0gIH0sCi0gIHsKLSAgICBpbnRyaW5zaWNOYW1l
OiAiJVNoYXJlZEFycmF5QnVmZmVyUHJvdG90eXBlJSIsCi0gICAgZ2xvYmFsTmFtZU9yU291cmNl
OiAiU2hhcmVkQXJyYXlCdWZmZXIucHJvdG90eXBlIgotICB9LAotICB7Ci0gICAgaW50cmluc2lj
TmFtZTogIiVTdHJpbmclIiwKLSAgICBnbG9iYWxOYW1lT3JTb3VyY2U6ICJTdHJpbmciCi0gIH0s
Ci0gIHsKLSAgICBpbnRyaW5zaWNOYW1lOiAiJVN0cmluZ0l0ZXJhdG9yUHJvdG90eXBlJSIsCi0g
ICAgZ2xvYmFsTmFtZU9yU291cmNlOiAiT2JqZWN0LmdldFByb3RvdHlwZU9mKG5ldyBTdHJpbmco
KVtTeW1ib2wuaXRlcmF0b3JdKCkpIgotICB9LAotICB7Ci0gICAgaW50cmluc2ljTmFtZTogIiVT
dHJpbmdQcm90b3R5cGUlIiwKLSAgICBnbG9iYWxOYW1lT3JTb3VyY2U6ICJTdHJpbmcucHJvdG90
eXBlIgotICB9LAotICB7Ci0gICAgaW50cmluc2ljTmFtZTogIiVTeW1ib2wlIiwKLSAgICBnbG9i
YWxOYW1lT3JTb3VyY2U6ICJTeW1ib2wiCi0gIH0sCi0gIHsKLSAgICBpbnRyaW5zaWNOYW1lOiAi
JVN5bWJvbFByb3RvdHlwZSUiLAotICAgIGdsb2JhbE5hbWVPclNvdXJjZTogIlN5bWJvbC5wcm90
b3R5cGUiCi0gIH0sCi0gIHsKLSAgICBpbnRyaW5zaWNOYW1lOiAiJVN5bnRheEVycm9yJSIsCi0g
ICAgZ2xvYmFsTmFtZU9yU291cmNlOiAiU3ludGF4RXJyb3IiCi0gIH0sCi0gIHsKLSAgICBpbnRy
aW5zaWNOYW1lOiAiJVN5bnRheEVycm9yUHJvdG90eXBlJSIsCi0gICAgZ2xvYmFsTmFtZU9yU291
cmNlOiAiU3ludGF4RXJyb3IucHJvdG90eXBlIgotICB9LAotICB7Ci0gICAgaW50cmluc2ljTmFt
ZTogIiVUaHJvd1R5cGVFcnJvciUiLAotICAgIGdsb2JhbE5hbWVPclNvdXJjZTogIihmdW5jdGlv
bigpIHsgJ3VzZSBzdHJpY3QnOyByZXR1cm4gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRv
cihhcmd1bWVudHMsICdjYWxsZWUnKS5nZXQgfSkoKSIKLSAgfSwKLSAgewotICAgIGludHJpbnNp
Y05hbWU6ICIlVHlwZWRBcnJheSUiLAotICAgIGdsb2JhbE5hbWVPclNvdXJjZTogIk9iamVjdC5n
ZXRQcm90b3R5cGVPZihVaW50OEFycmF5KSIKLSAgfSwKLSAgewotICAgIGludHJpbnNpY05hbWU6
ICIlVHlwZWRBcnJheVByb3RvdHlwZSUiLAotICAgIGdsb2JhbE5hbWVPclNvdXJjZTogIk9iamVj
dC5nZXRQcm90b3R5cGVPZihVaW50OEFycmF5KS5wcm90b3R5cGUiCi0gIH0sCi0gIHsKLSAgICBp
bnRyaW5zaWNOYW1lOiAiJVR5cGVFcnJvciUiLAotICAgIGdsb2JhbE5hbWVPclNvdXJjZTogIlR5
cGVFcnJvciIKLSAgfSwKLSAgewotICAgIGludHJpbnNpY05hbWU6ICIlVHlwZUVycm9yUHJvdG90
eXBlJSIsCi0gICAgZ2xvYmFsTmFtZU9yU291cmNlOiAiVHlwZUVycm9yLnByb3RvdHlwZSIKLSAg
fSwKLSAgewotICAgIGludHJpbnNpY05hbWU6ICIlVWludDhBcnJheSUiLAotICAgIGdsb2JhbE5h
bWVPclNvdXJjZTogIlVpbnQ4QXJyYXkiCi0gIH0sCi0gIHsKLSAgICBpbnRyaW5zaWNOYW1lOiAi
JVVpbnQ4QXJyYXlQcm90b3R5cGUlIiwKLSAgICBnbG9iYWxOYW1lT3JTb3VyY2U6ICJVaW50OEFy
cmF5LnByb3RvdHlwZSIKLSAgfSwKLSAgewotICAgIGludHJpbnNpY05hbWU6ICIlVWludDhDbGFt
cGVkQXJyYXklIiwKLSAgICBnbG9iYWxOYW1lT3JTb3VyY2U6ICJVaW50OENsYW1wZWRBcnJheSIK
LSAgfSwKLSAgewotICAgIGludHJpbnNpY05hbWU6ICIlVWludDhDbGFtcGVkQXJyYXlQcm90b3R5
cGUlIiwKLSAgICBnbG9iYWxOYW1lT3JTb3VyY2U6ICJVaW50OENsYW1wZWRBcnJheS5wcm90b3R5
cGUiCi0gIH0sCi0gIHsKLSAgICBpbnRyaW5zaWNOYW1lOiAiJVVpbnQxNkFycmF5JSIsCi0gICAg
Z2xvYmFsTmFtZU9yU291cmNlOiAiVWludDE2QXJyYXkiCi0gIH0sCi0gIHsKLSAgICBpbnRyaW5z
aWNOYW1lOiAiJVVpbnQxNkFycmF5UHJvdG90eXBlJSIsCi0gICAgZ2xvYmFsTmFtZU9yU291cmNl
OiAiVWludDE2QXJyYXkucHJvdG90eXBlIgotICB9LAotICB7Ci0gICAgaW50cmluc2ljTmFtZTog
IiVVaW50MzJBcnJheSUiLAotICAgIGdsb2JhbE5hbWVPclNvdXJjZTogIlVpbnQzMkFycmF5Igot
ICB9LAotICB7Ci0gICAgaW50cmluc2ljTmFtZTogIiVVaW50MzJBcnJheVByb3RvdHlwZSUiLAot
ICAgIGdsb2JhbE5hbWVPclNvdXJjZTogIlVpbnQzMkFycmF5LnByb3RvdHlwZSIKLSAgfSwKLSAg
ewotICAgIGludHJpbnNpY05hbWU6ICIlVVJJRXJyb3IlIiwKLSAgICBnbG9iYWxOYW1lT3JTb3Vy
Y2U6ICJVUklFcnJvciIKLSAgfSwKLSAgewotICAgIGludHJpbnNpY05hbWU6ICIlVVJJRXJyb3JQ
cm90b3R5cGUlIiwKLSAgICBnbG9iYWxOYW1lT3JTb3VyY2U6ICJVUklFcnJvci5wcm90b3R5cGUi
Ci0gIH0sCi0gIHsKLSAgICBpbnRyaW5zaWNOYW1lOiAiJVdlYWtNYXAlIiwKLSAgICBnbG9iYWxO
YW1lT3JTb3VyY2U6ICJXZWFrTWFwIgotICB9LAotICB7Ci0gICAgaW50cmluc2ljTmFtZTogIiVX
ZWFrTWFwUHJvdG90eXBlJSIsCi0gICAgZ2xvYmFsTmFtZU9yU291cmNlOiAiV2Vha01hcC5wcm90
b3R5cGUiCi0gIH0sCi0gIHsKLSAgICBpbnRyaW5zaWNOYW1lOiAiJVdlYWtTZXQlIiwKLSAgICBn
bG9iYWxOYW1lT3JTb3VyY2U6ICJXZWFrU2V0IgotICB9LAotICB7Ci0gICAgaW50cmluc2ljTmFt
ZTogIiVXZWFrU2V0UHJvdG90eXBlJSIsCi0gICAgZ2xvYmFsTmFtZU9yU291cmNlOiAiV2Vha1Nl
dC5wcm90b3R5cGUiCi0gIH0KIF07CiAKLQotV2VsbEtub3duSW50cmluc2ljT2JqZWN0cy5mb3JF
YWNoKHdraW8gPT4geworV2VsbEtub3duSW50cmluc2ljT2JqZWN0cy5mb3JFYWNoKCh3a2lvKSA9
PiB7CiAgIHZhciBhY3R1YWw7CiAKICAgdHJ5IHsKLSAgICBhY3R1YWwgPSBuZXcgRnVuY3Rpb24o
InJldHVybiAiICsgd2tpby5nbG9iYWxOYW1lT3JTb3VyY2UpKCk7CisgICAgYWN0dWFsID0gbmV3
IEZ1bmN0aW9uKCJyZXR1cm4gIiArIHdraW8uc291cmNlKSgpOwogICB9IGNhdGNoIChleGNlcHRp
b24pIHsKICAgICAvLyBOb3RoaW5nIHRvIGRvIGhlcmUuCiAgIH0KIAotICB3a2lvLnJlZmVyZW5j
ZSA9IGFjdHVhbDsKKyAgd2tpby52YWx1ZSA9IGFjdHVhbDsKIH0pOwpkaWZmIC0tZ2l0IGEvSlNU
ZXN0cy90ZXN0MjYyL2xhdGVzdC1jaGFuZ2VzLXN1bW1hcnkudHh0IGIvSlNUZXN0cy90ZXN0MjYy
L2xhdGVzdC1jaGFuZ2VzLXN1bW1hcnkudHh0CmluZGV4IDA0OTAwMjVkYzdjNTFlYzViNmY1Yzcx
NWUyMzk2OTRiOGJhODQ5NjEuLjI2MmVjZWY4MjUyNzk0N2ZmOTQzYjIwZjVlOTlkMzE2OTQ3ZmYz
ZTYgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi9sYXRlc3QtY2hhbmdlcy1zdW1tYXJ5LnR4
dAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvbGF0ZXN0LWNoYW5nZXMtc3VtbWFyeS50eHQKQEAgLTEs
OSArMSwyODAgQEAKLU0gdGVzdC9pbnRsNDAyL0RhdGVUaW1lRm9ybWF0L3Byb3RvdHlwZS9mb3Jt
YXQvcmVsYXRlZC15ZWFyLXpoLmpzCi1NIHRlc3QvaW50bDQwMi9EYXRlVGltZUZvcm1hdC9wcm90
b3R5cGUvZm9ybWF0VG9QYXJ0cy9yZWxhdGVkLXllYXItemguanMKLU0gdGVzdC9pbnRsNDAyL1Nl
Z21lbnRlci9wcm90b3R5cGUvc2VnbWVudC9zZWdtZW50LWdyYXBoZW1lLWl0ZXJhYmxlLmpzCi1E
IHRlc3QvaW50bDQwMi9TZWdtZW50ZXIvcHJvdG90eXBlL3NlZ21lbnQvc2VnbWVudC1ncmFwaGVt
ZS5qcwotTSB0ZXN0L2ludGw0MDIvU2VnbWVudGVyL3Byb3RvdHlwZS9zZWdtZW50L3NlZ21lbnQt
c2VudGVuY2UtaXRlcmFibGUuanMKLUQgdGVzdC9pbnRsNDAyL1NlZ21lbnRlci9wcm90b3R5cGUv
c2VnbWVudC9zZWdtZW50LXNlbnRlbmNlLmpzCi1NIHRlc3QvaW50bDQwMi9TZWdtZW50ZXIvcHJv
dG90eXBlL3NlZ21lbnQvc2VnbWVudC10b3N0cmluZy5qcwotTSB0ZXN0L2ludGw0MDIvU2VnbWVu
dGVyL3Byb3RvdHlwZS9zZWdtZW50L3NlZ21lbnQtd29yZC1pdGVyYWJsZS5qcwotRCB0ZXN0L2lu
dGw0MDIvU2VnbWVudGVyL3Byb3RvdHlwZS9zZWdtZW50L3NlZ21lbnQtd29yZC5qcwpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKK00gaGFybmVzcy9uYXRpdmVGdW5jdGlvbk1hdGNoZXIuanMK
K00gaGFybmVzcy93ZWxsS25vd25JbnRyaW5zaWNPYmplY3RzLmpzCitBIHRlc3QvYW5uZXhCL2J1
aWx0LWlucy9PYmplY3QvaXMvZW11bGF0ZXMtdW5kZWZpbmVkLmpzCitBIHRlc3QvYW5uZXhCL2xh
bmd1YWdlL2V4cHJlc3Npb25zL2NvYWxlc2NlL2VtdWxhdGVzLXVuZGVmaW5lZC5qcworQSB0ZXN0
L2FubmV4Qi9sYW5ndWFnZS9leHByZXNzaW9ucy9jb25kaXRpb25hbC9lbXVsYXRlcy11bmRlZmlu
ZWQuanMKK0EgdGVzdC9hbm5leEIvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvZG9lcy1ub3QtZXF1YWxz
L2VtdWxhdGVzLXVuZGVmaW5lZC5qcworQSB0ZXN0L2FubmV4Qi9sYW5ndWFnZS9leHByZXNzaW9u
cy9lcXVhbHMvZW11bGF0ZXMtdW5kZWZpbmVkLmpzCitBIHRlc3QvYW5uZXhCL2xhbmd1YWdlL2V4
cHJlc3Npb25zL2xvZ2ljYWwtYW5kL2VtdWxhdGVzLXVuZGVmaW5lZC5qcworQSB0ZXN0L2FubmV4
Qi9sYW5ndWFnZS9leHByZXNzaW9ucy9sb2dpY2FsLWFzc2lnbm1lbnQvZW11bGF0ZXMtdW5kZWZp
bmVkLWFuZC5qcworQSB0ZXN0L2FubmV4Qi9sYW5ndWFnZS9leHByZXNzaW9ucy9sb2dpY2FsLWFz
c2lnbm1lbnQvZW11bGF0ZXMtdW5kZWZpbmVkLWNvYWxlc2NlLmpzCitBIHRlc3QvYW5uZXhCL2xh
bmd1YWdlL2V4cHJlc3Npb25zL2xvZ2ljYWwtYXNzaWdubWVudC9lbXVsYXRlcy11bmRlZmluZWQt
b3IuanMKK0EgdGVzdC9hbm5leEIvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvbG9naWNhbC1ub3QvZW11
bGF0ZXMtdW5kZWZpbmVkLmpzCitBIHRlc3QvYW5uZXhCL2xhbmd1YWdlL2V4cHJlc3Npb25zL2xv
Z2ljYWwtb3IvZW11bGF0ZXMtdW5kZWZpbmVkLmpzCitBIHRlc3QvYW5uZXhCL2xhbmd1YWdlL2V4
cHJlc3Npb25zL3N0cmljdC1kb2VzLW5vdC1lcXVhbHMvZW11bGF0ZXMtdW5kZWZpbmVkLmpzCitB
IHRlc3QvYW5uZXhCL2xhbmd1YWdlL2V4cHJlc3Npb25zL3N0cmljdC1lcXVhbHMvZW11bGF0ZXMt
dW5kZWZpbmVkLmpzCitBIHRlc3QvYW5uZXhCL2xhbmd1YWdlL3N0YXRlbWVudHMvaWYvZW11bGF0
ZWQtdW5kZWZpbmVkLmpzCitBIHRlc3QvYW5uZXhCL2xhbmd1YWdlL3N0YXRlbWVudHMvc3dpdGNo
L2VtdWxhdGVzLXVuZGVmaW5lZC5qcworQSB0ZXN0L2J1aWx0LWlucy9Bc3luY0Z1bmN0aW9uL0Fz
eW5jRnVuY3Rpb25Qcm90b3R5cGUtaXMtbm90LWNhbGxhYmxlLmpzCitBIHRlc3QvYnVpbHQtaW5z
L0FzeW5jR2VuZXJhdG9yRnVuY3Rpb24vcHJvdG90eXBlL25vdC1jYWxsYWJsZS5qcworRCB0ZXN0
L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvYmluZC8xNS4zLjQuNS0wLTIuanMKK0QgdGVz
dC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL2JpbmQvMTUuMy40LjUtMTMuYi0xLmpzCitE
IHRlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS9iaW5kLzE1LjMuNC41LTEzLmItMi5q
cworRCB0ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvYmluZC8xNS4zLjQuNS0xMy5i
LTMuanMKK0QgdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL2JpbmQvMTUuMy40LjUt
MTMuYi00LmpzCitEIHRlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS9iaW5kLzE1LjMu
NC41LTEzLmItNS5qcworRCB0ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvYmluZC8x
NS4zLjQuNS0xMy5iLTYuanMKK0QgdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL2Jp
bmQvMTUuMy40LjUtMTUtMS5qcworRCB0ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUv
YmluZC8xNS4zLjQuNS0xNS0yLmpzCitEIHRlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlw
ZS9iaW5kLzE1LjMuNC41LTE1LTMuanMKK0QgdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90
eXBlL2JpbmQvMTUuMy40LjUtMTUtNC5qcworRCB0ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90
b3R5cGUvYmluZC8xNS4zLjQuNS0xNS01LmpzCitBIHRlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3By
b3RvdHlwZS9iaW5kL2luc3RhbmNlLWxlbmd0aC1kZWZhdWx0LXZhbHVlLmpzCitSMDg1IHRlc3Qv
YnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS9iaW5kL2xlbmd0aC1leGNlZWRzLWludDMyLmpz
IHRlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS9iaW5kL2luc3RhbmNlLWxlbmd0aC1l
eGNlZWRzLWludDMyLmpzCitBIHRlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS9iaW5k
L2luc3RhbmNlLWxlbmd0aC1wcm9wLWRlc2MuanMKK0EgdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24v
cHJvdG90eXBlL2JpbmQvaW5zdGFuY2UtbGVuZ3RoLXJlbWFpbmluZy1hcmdzLmpzCitBIHRlc3Qv
YnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS9iaW5kL2luc3RhbmNlLWxlbmd0aC10b2ludGVn
ZXIuanMKK0EgdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL2JpbmQvbGVuZ3RoLmpz
CitBIHRlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS9sZW5ndGguanMKK00gdGVzdC9i
dWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL3RvU3RyaW5nL2J1aWx0LWluLWZ1bmN0aW9uLW9i
amVjdC5qcworRCB0ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvdG9TdHJpbmcvd2Vs
bC1rbm93bi1pbnRyaW5zaWMtb2JqZWN0LWZ1bmN0aW9ucy5qcworQSB0ZXN0L2J1aWx0LWlucy9H
ZW5lcmF0b3JGdW5jdGlvbi9wcm90b3R5cGUvbm90LWNhbGxhYmxlLmpzCitNIHRlc3QvaGFybmVz
cy9uYXRpdmVGdW5jdGlvbk1hdGNoZXIuanMKK00gdGVzdC9pbnRsNDAyL0ludGwvYnVpbHRpbi5q
cworRCB0ZXN0L2ludGw0MDIvSW50bC9wcm90by5qcworQSB0ZXN0L2ludGw0MDIvSW50bC90b1N0
cmluZ1RhZy90b1N0cmluZy5qcworQSB0ZXN0L2ludGw0MDIvSW50bC90b1N0cmluZ1RhZy90b1N0
cmluZ1RhZy5qcworTSB0ZXN0L2ludGw0MDIvTnVtYmVyRm9ybWF0L2RmdC1jdXJyZW5jeS1tbmZk
LXJhbmdlLWNoZWNrLW14ZmQuanMKK0EgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hcnJvdy1m
dW5jdGlvbi9kc3RyL2FyeS1pbml0LWl0ZXItZ2V0LWVyci1hcnJheS1wcm90b3R5cGUuanMKK0Eg
dGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hcnJvdy1mdW5jdGlvbi9kc3RyL2FyeS1wdHJuLWVs
ZW0taWQtaXRlci12YWwtYXJyYXktcHJvdG90eXBlLmpzCitBIHRlc3QvbGFuZ3VhZ2UvZXhwcmVz
c2lvbnMvYXJyb3ctZnVuY3Rpb24vZHN0ci9hcnktcHRybi1yZXN0LWlkLWRpcmVjdC5qcworQSB0
ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2Fycm93LWZ1bmN0aW9uL2RzdHIvZGZsdC1hcnktaW5p
dC1pdGVyLWdldC1lcnItYXJyYXktcHJvdG90eXBlLmpzCitBIHRlc3QvbGFuZ3VhZ2UvZXhwcmVz
c2lvbnMvYXJyb3ctZnVuY3Rpb24vZHN0ci9kZmx0LWFyeS1wdHJuLWVsZW0taWQtaXRlci12YWwt
YXJyYXktcHJvdG90eXBlLmpzCitBIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXJyb3ctZnVu
Y3Rpb24vZHN0ci9kZmx0LWFyeS1wdHJuLXJlc3QtaWQtZGlyZWN0LmpzCitBIHRlc3QvbGFuZ3Vh
Z2UvZXhwcmVzc2lvbnMvYXN5bmMtZ2VuZXJhdG9yL2RzdHIvYXJ5LWluaXQtaXRlci1nZXQtZXJy
LWFycmF5LXByb3RvdHlwZS5qcworQSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2FzeW5jLWdl
bmVyYXRvci9kc3RyL2FyeS1wdHJuLWVsZW0taWQtaXRlci12YWwtYXJyYXktcHJvdG90eXBlLmpz
CitBIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXN5bmMtZ2VuZXJhdG9yL2RzdHIvYXJ5LXB0
cm4tcmVzdC1pZC1kaXJlY3QuanMKK0EgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3luYy1n
ZW5lcmF0b3IvZHN0ci9kZmx0LWFyeS1pbml0LWl0ZXItZ2V0LWVyci1hcnJheS1wcm90b3R5cGUu
anMKK0EgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3luYy1nZW5lcmF0b3IvZHN0ci9kZmx0
LWFyeS1wdHJuLWVsZW0taWQtaXRlci12YWwtYXJyYXktcHJvdG90eXBlLmpzCitBIHRlc3QvbGFu
Z3VhZ2UvZXhwcmVzc2lvbnMvYXN5bmMtZ2VuZXJhdG9yL2RzdHIvZGZsdC1hcnktcHRybi1yZXN0
LWlkLWRpcmVjdC5qcworQSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2FzeW5jLWdlbmVyYXRv
ci9kc3RyL25hbWVkLWFyeS1pbml0LWl0ZXItZ2V0LWVyci1hcnJheS1wcm90b3R5cGUuanMKK0Eg
dGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3luYy1nZW5lcmF0b3IvZHN0ci9uYW1lZC1hcnkt
cHRybi1lbGVtLWlkLWl0ZXItdmFsLWFycmF5LXByb3RvdHlwZS5qcworQSB0ZXN0L2xhbmd1YWdl
L2V4cHJlc3Npb25zL2FzeW5jLWdlbmVyYXRvci9kc3RyL25hbWVkLWFyeS1wdHJuLXJlc3QtaWQt
ZGlyZWN0LmpzCitBIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXN5bmMtZ2VuZXJhdG9yL2Rz
dHIvbmFtZWQtZGZsdC1hcnktaW5pdC1pdGVyLWdldC1lcnItYXJyYXktcHJvdG90eXBlLmpzCitB
IHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXN5bmMtZ2VuZXJhdG9yL2RzdHIvbmFtZWQtZGZs
dC1hcnktcHRybi1lbGVtLWlkLWl0ZXItdmFsLWFycmF5LXByb3RvdHlwZS5qcworQSB0ZXN0L2xh
bmd1YWdlL2V4cHJlc3Npb25zL2FzeW5jLWdlbmVyYXRvci9kc3RyL25hbWVkLWRmbHQtYXJ5LXB0
cm4tcmVzdC1pZC1kaXJlY3QuanMKK0EgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9k
c3RyL2FzeW5jLWdlbi1tZXRoLWFyeS1pbml0LWl0ZXItZ2V0LWVyci1hcnJheS1wcm90b3R5cGUu
anMKK0EgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9kc3RyL2FzeW5jLWdlbi1tZXRo
LWFyeS1wdHJuLWVsZW0taWQtaXRlci12YWwtYXJyYXktcHJvdG90eXBlLmpzCitBIHRlc3QvbGFu
Z3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvZHN0ci9hc3luYy1nZW4tbWV0aC1hcnktcHRybi1yZXN0
LWlkLWRpcmVjdC5qcworQSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2RzdHIvYXN5
bmMtZ2VuLW1ldGgtZGZsdC1hcnktaW5pdC1pdGVyLWdldC1lcnItYXJyYXktcHJvdG90eXBlLmpz
CitBIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvZHN0ci9hc3luYy1nZW4tbWV0aC1k
Zmx0LWFyeS1wdHJuLWVsZW0taWQtaXRlci12YWwtYXJyYXktcHJvdG90eXBlLmpzCitBIHRlc3Qv
bGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvZHN0ci9hc3luYy1nZW4tbWV0aC1kZmx0LWFyeS1w
dHJuLXJlc3QtaWQtZGlyZWN0LmpzCitBIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3Mv
ZHN0ci9hc3luYy1nZW4tbWV0aC1zdGF0aWMtYXJ5LWluaXQtaXRlci1nZXQtZXJyLWFycmF5LXBy
b3RvdHlwZS5qcworQSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2RzdHIvYXN5bmMt
Z2VuLW1ldGgtc3RhdGljLWFyeS1wdHJuLWVsZW0taWQtaXRlci12YWwtYXJyYXktcHJvdG90eXBl
LmpzCitBIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvZHN0ci9hc3luYy1nZW4tbWV0
aC1zdGF0aWMtYXJ5LXB0cm4tcmVzdC1pZC1kaXJlY3QuanMKK0EgdGVzdC9sYW5ndWFnZS9leHBy
ZXNzaW9ucy9jbGFzcy9kc3RyL2FzeW5jLWdlbi1tZXRoLXN0YXRpYy1kZmx0LWFyeS1pbml0LWl0
ZXItZ2V0LWVyci1hcnJheS1wcm90b3R5cGUuanMKK0EgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9u
cy9jbGFzcy9kc3RyL2FzeW5jLWdlbi1tZXRoLXN0YXRpYy1kZmx0LWFyeS1wdHJuLWVsZW0taWQt
aXRlci12YWwtYXJyYXktcHJvdG90eXBlLmpzCitBIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMv
Y2xhc3MvZHN0ci9hc3luYy1nZW4tbWV0aC1zdGF0aWMtZGZsdC1hcnktcHRybi1yZXN0LWlkLWRp
cmVjdC5qcworQSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2RzdHIvYXN5bmMtcHJp
dmF0ZS1nZW4tbWV0aC1hcnktcHRybi1lbGVtLWlkLWl0ZXItdmFsLWFycmF5LXByb3RvdHlwZS5q
cworQSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2RzdHIvYXN5bmMtcHJpdmF0ZS1n
ZW4tbWV0aC1hcnktcHRybi1yZXN0LWlkLWRpcmVjdC5qcworQSB0ZXN0L2xhbmd1YWdlL2V4cHJl
c3Npb25zL2NsYXNzL2RzdHIvYXN5bmMtcHJpdmF0ZS1nZW4tbWV0aC1kZmx0LWFyeS1wdHJuLWVs
ZW0taWQtaXRlci12YWwtYXJyYXktcHJvdG90eXBlLmpzCitBIHRlc3QvbGFuZ3VhZ2UvZXhwcmVz
c2lvbnMvY2xhc3MvZHN0ci9hc3luYy1wcml2YXRlLWdlbi1tZXRoLWRmbHQtYXJ5LXB0cm4tcmVz
dC1pZC1kaXJlY3QuanMKK0EgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9kc3RyL2Fz
eW5jLXByaXZhdGUtZ2VuLW1ldGgtc3RhdGljLWFyeS1wdHJuLWVsZW0taWQtaXRlci12YWwtYXJy
YXktcHJvdG90eXBlLmpzCitBIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvZHN0ci9h
c3luYy1wcml2YXRlLWdlbi1tZXRoLXN0YXRpYy1hcnktcHRybi1yZXN0LWlkLWRpcmVjdC5qcwor
QSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2RzdHIvYXN5bmMtcHJpdmF0ZS1nZW4t
bWV0aC1zdGF0aWMtZGZsdC1hcnktcHRybi1lbGVtLWlkLWl0ZXItdmFsLWFycmF5LXByb3RvdHlw
ZS5qcworQSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2RzdHIvYXN5bmMtcHJpdmF0
ZS1nZW4tbWV0aC1zdGF0aWMtZGZsdC1hcnktcHRybi1yZXN0LWlkLWRpcmVjdC5qcworQSB0ZXN0
L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2RzdHIvZ2VuLW1ldGgtYXJ5LWluaXQtaXRlci1n
ZXQtZXJyLWFycmF5LXByb3RvdHlwZS5qcworQSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2Ns
YXNzL2RzdHIvZ2VuLW1ldGgtYXJ5LXB0cm4tZWxlbS1pZC1pdGVyLXZhbC1hcnJheS1wcm90b3R5
cGUuanMKK0EgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9kc3RyL2dlbi1tZXRoLWFy
eS1wdHJuLXJlc3QtaWQtZGlyZWN0LmpzCitBIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xh
c3MvZHN0ci9nZW4tbWV0aC1kZmx0LWFyeS1pbml0LWl0ZXItZ2V0LWVyci1hcnJheS1wcm90b3R5
cGUuanMKK0EgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9kc3RyL2dlbi1tZXRoLWRm
bHQtYXJ5LXB0cm4tZWxlbS1pZC1pdGVyLXZhbC1hcnJheS1wcm90b3R5cGUuanMKK0EgdGVzdC9s
YW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9kc3RyL2dlbi1tZXRoLWRmbHQtYXJ5LXB0cm4tcmVz
dC1pZC1kaXJlY3QuanMKK0EgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9kc3RyL2dl
bi1tZXRoLXN0YXRpYy1hcnktaW5pdC1pdGVyLWdldC1lcnItYXJyYXktcHJvdG90eXBlLmpzCitB
IHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvZHN0ci9nZW4tbWV0aC1zdGF0aWMtYXJ5
LXB0cm4tZWxlbS1pZC1pdGVyLXZhbC1hcnJheS1wcm90b3R5cGUuanMKK0EgdGVzdC9sYW5ndWFn
ZS9leHByZXNzaW9ucy9jbGFzcy9kc3RyL2dlbi1tZXRoLXN0YXRpYy1hcnktcHRybi1yZXN0LWlk
LWRpcmVjdC5qcworQSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2RzdHIvZ2VuLW1l
dGgtc3RhdGljLWRmbHQtYXJ5LWluaXQtaXRlci1nZXQtZXJyLWFycmF5LXByb3RvdHlwZS5qcwor
QSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2RzdHIvZ2VuLW1ldGgtc3RhdGljLWRm
bHQtYXJ5LXB0cm4tZWxlbS1pZC1pdGVyLXZhbC1hcnJheS1wcm90b3R5cGUuanMKK0EgdGVzdC9s
YW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9kc3RyL2dlbi1tZXRoLXN0YXRpYy1kZmx0LWFyeS1w
dHJuLXJlc3QtaWQtZGlyZWN0LmpzCitBIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3Mv
ZHN0ci9tZXRoLWFyeS1pbml0LWl0ZXItZ2V0LWVyci1hcnJheS1wcm90b3R5cGUuanMKK0EgdGVz
dC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9kc3RyL21ldGgtYXJ5LXB0cm4tZWxlbS1pZC1p
dGVyLXZhbC1hcnJheS1wcm90b3R5cGUuanMKK0EgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9j
bGFzcy9kc3RyL21ldGgtYXJ5LXB0cm4tcmVzdC1pZC1kaXJlY3QuanMKK0EgdGVzdC9sYW5ndWFn
ZS9leHByZXNzaW9ucy9jbGFzcy9kc3RyL21ldGgtZGZsdC1hcnktaW5pdC1pdGVyLWdldC1lcnIt
YXJyYXktcHJvdG90eXBlLmpzCitBIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvZHN0
ci9tZXRoLWRmbHQtYXJ5LXB0cm4tZWxlbS1pZC1pdGVyLXZhbC1hcnJheS1wcm90b3R5cGUuanMK
K0EgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9kc3RyL21ldGgtZGZsdC1hcnktcHRy
bi1yZXN0LWlkLWRpcmVjdC5qcworQSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Rz
dHIvbWV0aC1zdGF0aWMtYXJ5LWluaXQtaXRlci1nZXQtZXJyLWFycmF5LXByb3RvdHlwZS5qcwor
QSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2RzdHIvbWV0aC1zdGF0aWMtYXJ5LXB0
cm4tZWxlbS1pZC1pdGVyLXZhbC1hcnJheS1wcm90b3R5cGUuanMKK0EgdGVzdC9sYW5ndWFnZS9l
eHByZXNzaW9ucy9jbGFzcy9kc3RyL21ldGgtc3RhdGljLWFyeS1wdHJuLXJlc3QtaWQtZGlyZWN0
LmpzCitBIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvZHN0ci9tZXRoLXN0YXRpYy1k
Zmx0LWFyeS1pbml0LWl0ZXItZ2V0LWVyci1hcnJheS1wcm90b3R5cGUuanMKK0EgdGVzdC9sYW5n
dWFnZS9leHByZXNzaW9ucy9jbGFzcy9kc3RyL21ldGgtc3RhdGljLWRmbHQtYXJ5LXB0cm4tZWxl
bS1pZC1pdGVyLXZhbC1hcnJheS1wcm90b3R5cGUuanMKK0EgdGVzdC9sYW5ndWFnZS9leHByZXNz
aW9ucy9jbGFzcy9kc3RyL21ldGgtc3RhdGljLWRmbHQtYXJ5LXB0cm4tcmVzdC1pZC1kaXJlY3Qu
anMKK0EgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9kc3RyL3ByaXZhdGUtZ2VuLW1l
dGgtYXJ5LXB0cm4tZWxlbS1pZC1pdGVyLXZhbC1hcnJheS1wcm90b3R5cGUuanMKK0EgdGVzdC9s
YW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9kc3RyL3ByaXZhdGUtZ2VuLW1ldGgtYXJ5LXB0cm4t
cmVzdC1pZC1kaXJlY3QuanMKK0EgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9kc3Ry
L3ByaXZhdGUtZ2VuLW1ldGgtZGZsdC1hcnktcHRybi1lbGVtLWlkLWl0ZXItdmFsLWFycmF5LXBy
b3RvdHlwZS5qcworQSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2RzdHIvcHJpdmF0
ZS1nZW4tbWV0aC1kZmx0LWFyeS1wdHJuLXJlc3QtaWQtZGlyZWN0LmpzCitBIHRlc3QvbGFuZ3Vh
Z2UvZXhwcmVzc2lvbnMvY2xhc3MvZHN0ci9wcml2YXRlLWdlbi1tZXRoLXN0YXRpYy1hcnktcHRy
bi1lbGVtLWlkLWl0ZXItdmFsLWFycmF5LXByb3RvdHlwZS5qcworQSB0ZXN0L2xhbmd1YWdlL2V4
cHJlc3Npb25zL2NsYXNzL2RzdHIvcHJpdmF0ZS1nZW4tbWV0aC1zdGF0aWMtYXJ5LXB0cm4tcmVz
dC1pZC1kaXJlY3QuanMKK0EgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9kc3RyL3By
aXZhdGUtZ2VuLW1ldGgtc3RhdGljLWRmbHQtYXJ5LXB0cm4tZWxlbS1pZC1pdGVyLXZhbC1hcnJh
eS1wcm90b3R5cGUuanMKK0EgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9kc3RyL3By
aXZhdGUtZ2VuLW1ldGgtc3RhdGljLWRmbHQtYXJ5LXB0cm4tcmVzdC1pZC1kaXJlY3QuanMKK0Eg
dGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9kc3RyL3ByaXZhdGUtbWV0aC1hcnktcHRy
bi1lbGVtLWlkLWl0ZXItdmFsLWFycmF5LXByb3RvdHlwZS5qcworQSB0ZXN0L2xhbmd1YWdlL2V4
cHJlc3Npb25zL2NsYXNzL2RzdHIvcHJpdmF0ZS1tZXRoLWFyeS1wdHJuLXJlc3QtaWQtZGlyZWN0
LmpzCitBIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvZHN0ci9wcml2YXRlLW1ldGgt
ZGZsdC1hcnktcHRybi1lbGVtLWlkLWl0ZXItdmFsLWFycmF5LXByb3RvdHlwZS5qcworQSB0ZXN0
L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2RzdHIvcHJpdmF0ZS1tZXRoLWRmbHQtYXJ5LXB0
cm4tcmVzdC1pZC1kaXJlY3QuanMKK0EgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9k
c3RyL3ByaXZhdGUtbWV0aC1zdGF0aWMtYXJ5LXB0cm4tZWxlbS1pZC1pdGVyLXZhbC1hcnJheS1w
cm90b3R5cGUuanMKK0EgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9kc3RyL3ByaXZh
dGUtbWV0aC1zdGF0aWMtYXJ5LXB0cm4tcmVzdC1pZC1kaXJlY3QuanMKK0EgdGVzdC9sYW5ndWFn
ZS9leHByZXNzaW9ucy9jbGFzcy9kc3RyL3ByaXZhdGUtbWV0aC1zdGF0aWMtZGZsdC1hcnktcHRy
bi1lbGVtLWlkLWl0ZXItdmFsLWFycmF5LXByb3RvdHlwZS5qcworQSB0ZXN0L2xhbmd1YWdlL2V4
cHJlc3Npb25zL2NsYXNzL2RzdHIvcHJpdmF0ZS1tZXRoLXN0YXRpYy1kZmx0LWFyeS1wdHJuLXJl
c3QtaWQtZGlyZWN0LmpzCitBIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvZWxlbWVu
dHMvc3ludGF4L3ZhbGlkL2dyYW1tYXItc3BlY2lhbC1wcm90b3R5cGUtYWNjZXNzb3ItbWV0aC12
YWxpZC5qcworQSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2VsZW1lbnRzL3N5bnRh
eC92YWxpZC9ncmFtbWFyLXNwZWNpYWwtcHJvdG90eXBlLWFzeW5jLWdlbi1tZXRoLXZhbGlkLmpz
CitBIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvZWxlbWVudHMvc3ludGF4L3ZhbGlk
L2dyYW1tYXItc3BlY2lhbC1wcm90b3R5cGUtYXN5bmMtbWV0aC12YWxpZC5qcworQSB0ZXN0L2xh
bmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2VsZW1lbnRzL3N5bnRheC92YWxpZC9ncmFtbWFyLXNw
ZWNpYWwtcHJvdG90eXBlLWdlbi1tZXRoLXZhbGlkLmpzCitBIHRlc3QvbGFuZ3VhZ2UvZXhwcmVz
c2lvbnMvY2xhc3MvZWxlbWVudHMvc3ludGF4L3ZhbGlkL2dyYW1tYXItc3BlY2lhbC1wcm90b3R5
cGUtbWV0aC12YWxpZC5qcworRCB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2RlbGV0ZS8xMS40
LjEtNS1hLTVncy5qcworQSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2Z1bmN0aW9uL2RzdHIv
YXJ5LWluaXQtaXRlci1nZXQtZXJyLWFycmF5LXByb3RvdHlwZS5qcworQSB0ZXN0L2xhbmd1YWdl
L2V4cHJlc3Npb25zL2Z1bmN0aW9uL2RzdHIvYXJ5LXB0cm4tZWxlbS1pZC1pdGVyLXZhbC1hcnJh
eS1wcm90b3R5cGUuanMKK0EgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9mdW5jdGlvbi9kc3Ry
L2FyeS1wdHJuLXJlc3QtaWQtZGlyZWN0LmpzCitBIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMv
ZnVuY3Rpb24vZHN0ci9kZmx0LWFyeS1pbml0LWl0ZXItZ2V0LWVyci1hcnJheS1wcm90b3R5cGUu
anMKK0EgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9mdW5jdGlvbi9kc3RyL2RmbHQtYXJ5LXB0
cm4tZWxlbS1pZC1pdGVyLXZhbC1hcnJheS1wcm90b3R5cGUuanMKK0EgdGVzdC9sYW5ndWFnZS9l
eHByZXNzaW9ucy9mdW5jdGlvbi9kc3RyL2RmbHQtYXJ5LXB0cm4tcmVzdC1pZC1kaXJlY3QuanMK
K0EgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9nZW5lcmF0b3JzL2RzdHIvYXJ5LWluaXQtaXRl
ci1nZXQtZXJyLWFycmF5LXByb3RvdHlwZS5qcworQSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25z
L2dlbmVyYXRvcnMvZHN0ci9hcnktcHRybi1lbGVtLWlkLWl0ZXItdmFsLWFycmF5LXByb3RvdHlw
ZS5qcworQSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2dlbmVyYXRvcnMvZHN0ci9hcnktcHRy
bi1yZXN0LWlkLWRpcmVjdC5qcworQSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2dlbmVyYXRv
cnMvZHN0ci9kZmx0LWFyeS1pbml0LWl0ZXItZ2V0LWVyci1hcnJheS1wcm90b3R5cGUuanMKK0Eg
dGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9nZW5lcmF0b3JzL2RzdHIvZGZsdC1hcnktcHRybi1l
bGVtLWlkLWl0ZXItdmFsLWFycmF5LXByb3RvdHlwZS5qcworQSB0ZXN0L2xhbmd1YWdlL2V4cHJl
c3Npb25zL2dlbmVyYXRvcnMvZHN0ci9kZmx0LWFyeS1wdHJuLXJlc3QtaWQtZGlyZWN0LmpzCitB
IHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvb2JqZWN0L2RzdHIvYXN5bmMtZ2VuLW1ldGgtYXJ5
LWluaXQtaXRlci1nZXQtZXJyLWFycmF5LXByb3RvdHlwZS5qcworQSB0ZXN0L2xhbmd1YWdlL2V4
cHJlc3Npb25zL29iamVjdC9kc3RyL2FzeW5jLWdlbi1tZXRoLWFyeS1wdHJuLWVsZW0taWQtaXRl
ci12YWwtYXJyYXktcHJvdG90eXBlLmpzCitBIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvb2Jq
ZWN0L2RzdHIvYXN5bmMtZ2VuLW1ldGgtYXJ5LXB0cm4tcmVzdC1pZC1kaXJlY3QuanMKK0EgdGVz
dC9sYW5ndWFnZS9leHByZXNzaW9ucy9vYmplY3QvZHN0ci9hc3luYy1nZW4tbWV0aC1kZmx0LWFy
eS1pbml0LWl0ZXItZ2V0LWVyci1hcnJheS1wcm90b3R5cGUuanMKK0EgdGVzdC9sYW5ndWFnZS9l
eHByZXNzaW9ucy9vYmplY3QvZHN0ci9hc3luYy1nZW4tbWV0aC1kZmx0LWFyeS1wdHJuLWVsZW0t
aWQtaXRlci12YWwtYXJyYXktcHJvdG90eXBlLmpzCitBIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lv
bnMvb2JqZWN0L2RzdHIvYXN5bmMtZ2VuLW1ldGgtZGZsdC1hcnktcHRybi1yZXN0LWlkLWRpcmVj
dC5qcworQSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL29iamVjdC9kc3RyL2dlbi1tZXRoLWFy
eS1pbml0LWl0ZXItZ2V0LWVyci1hcnJheS1wcm90b3R5cGUuanMKK0EgdGVzdC9sYW5ndWFnZS9l
eHByZXNzaW9ucy9vYmplY3QvZHN0ci9nZW4tbWV0aC1hcnktcHRybi1lbGVtLWlkLWl0ZXItdmFs
LWFycmF5LXByb3RvdHlwZS5qcworQSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL29iamVjdC9k
c3RyL2dlbi1tZXRoLWFyeS1wdHJuLXJlc3QtaWQtZGlyZWN0LmpzCitBIHRlc3QvbGFuZ3VhZ2Uv
ZXhwcmVzc2lvbnMvb2JqZWN0L2RzdHIvZ2VuLW1ldGgtZGZsdC1hcnktaW5pdC1pdGVyLWdldC1l
cnItYXJyYXktcHJvdG90eXBlLmpzCitBIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvb2JqZWN0
L2RzdHIvZ2VuLW1ldGgtZGZsdC1hcnktcHRybi1lbGVtLWlkLWl0ZXItdmFsLWFycmF5LXByb3Rv
dHlwZS5qcworQSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL29iamVjdC9kc3RyL2dlbi1tZXRo
LWRmbHQtYXJ5LXB0cm4tcmVzdC1pZC1kaXJlY3QuanMKK0EgdGVzdC9sYW5ndWFnZS9leHByZXNz
aW9ucy9vYmplY3QvZHN0ci9tZXRoLWFyeS1pbml0LWl0ZXItZ2V0LWVyci1hcnJheS1wcm90b3R5
cGUuanMKK0EgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9vYmplY3QvZHN0ci9tZXRoLWFyeS1w
dHJuLWVsZW0taWQtaXRlci12YWwtYXJyYXktcHJvdG90eXBlLmpzCitBIHRlc3QvbGFuZ3VhZ2Uv
ZXhwcmVzc2lvbnMvb2JqZWN0L2RzdHIvbWV0aC1hcnktcHRybi1yZXN0LWlkLWRpcmVjdC5qcwor
QSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL29iamVjdC9kc3RyL21ldGgtZGZsdC1hcnktaW5p
dC1pdGVyLWdldC1lcnItYXJyYXktcHJvdG90eXBlLmpzCitBIHRlc3QvbGFuZ3VhZ2UvZXhwcmVz
c2lvbnMvb2JqZWN0L2RzdHIvbWV0aC1kZmx0LWFyeS1wdHJuLWVsZW0taWQtaXRlci12YWwtYXJy
YXktcHJvdG90eXBlLmpzCitBIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvb2JqZWN0L2RzdHIv
bWV0aC1kZmx0LWFyeS1wdHJuLXJlc3QtaWQtZGlyZWN0LmpzCitNIHRlc3QvbGFuZ3VhZ2UvZXhw
cmVzc2lvbnMvdGFnZ2VkLXRlbXBsYXRlL2ludmFsaWQtZXNjYXBlLXNlcXVlbmNlcy5qcworQSB0
ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL3RlbXBsYXRlLWxpdGVyYWwvaW52YWxpZC1sZWdhY3kt
b2N0YWwtZXNjYXBlLXNlcXVlbmNlLTkuanMKK0EgdGVzdC9sYW5ndWFnZS9pZGVudGlmaWVycy9w
YXJ0LXp3ai16d25qLWVzY2FwZWQuanMKK0EgdGVzdC9sYW5ndWFnZS9pZGVudGlmaWVycy9zdGFy
dC16d2otZXNjYXBlZC5qcworQSB0ZXN0L2xhbmd1YWdlL2lkZW50aWZpZXJzL3N0YXJ0LXp3bmot
ZXNjYXBlZC5qcworQSB0ZXN0L2xhbmd1YWdlL2xpdGVyYWxzL3N0cmluZy9sZWdhY3ktbm9uLW9j
dGFsLWVzY2FwZS1zZXF1ZW5jZS05LXN0cmljdC5qcworQSB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVu
dHMvYXN5bmMtZ2VuZXJhdG9yL2RzdHIvYXJ5LWluaXQtaXRlci1nZXQtZXJyLWFycmF5LXByb3Rv
dHlwZS5qcworQSB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvYXN5bmMtZ2VuZXJhdG9yL2RzdHIv
YXJ5LXB0cm4tZWxlbS1pZC1pdGVyLXZhbC1hcnJheS1wcm90b3R5cGUuanMKK0EgdGVzdC9sYW5n
dWFnZS9zdGF0ZW1lbnRzL2FzeW5jLWdlbmVyYXRvci9kc3RyL2FyeS1wdHJuLXJlc3QtaWQtZGly
ZWN0LmpzCitBIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9hc3luYy1nZW5lcmF0b3IvZHN0ci9k
Zmx0LWFyeS1pbml0LWl0ZXItZ2V0LWVyci1hcnJheS1wcm90b3R5cGUuanMKK0EgdGVzdC9sYW5n
dWFnZS9zdGF0ZW1lbnRzL2FzeW5jLWdlbmVyYXRvci9kc3RyL2RmbHQtYXJ5LXB0cm4tZWxlbS1p
ZC1pdGVyLXZhbC1hcnJheS1wcm90b3R5cGUuanMKK0EgdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRz
L2FzeW5jLWdlbmVyYXRvci9kc3RyL2RmbHQtYXJ5LXB0cm4tcmVzdC1pZC1kaXJlY3QuanMKK0Eg
dGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2RzdHIvYXN5bmMtZ2VuLW1ldGgtYXJ5LWlu
aXQtaXRlci1nZXQtZXJyLWFycmF5LXByb3RvdHlwZS5qcworQSB0ZXN0L2xhbmd1YWdlL3N0YXRl
bWVudHMvY2xhc3MvZHN0ci9hc3luYy1nZW4tbWV0aC1hcnktcHRybi1lbGVtLWlkLWl0ZXItdmFs
LWFycmF5LXByb3RvdHlwZS5qcworQSB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZHN0
ci9hc3luYy1nZW4tbWV0aC1hcnktcHRybi1yZXN0LWlkLWRpcmVjdC5qcworQSB0ZXN0L2xhbmd1
YWdlL3N0YXRlbWVudHMvY2xhc3MvZHN0ci9hc3luYy1nZW4tbWV0aC1kZmx0LWFyeS1pbml0LWl0
ZXItZ2V0LWVyci1hcnJheS1wcm90b3R5cGUuanMKK0EgdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRz
L2NsYXNzL2RzdHIvYXN5bmMtZ2VuLW1ldGgtZGZsdC1hcnktcHRybi1lbGVtLWlkLWl0ZXItdmFs
LWFycmF5LXByb3RvdHlwZS5qcworQSB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZHN0
ci9hc3luYy1nZW4tbWV0aC1kZmx0LWFyeS1wdHJuLXJlc3QtaWQtZGlyZWN0LmpzCitBIHRlc3Qv
bGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9kc3RyL2FzeW5jLWdlbi1tZXRoLXN0YXRpYy1hcnkt
aW5pdC1pdGVyLWdldC1lcnItYXJyYXktcHJvdG90eXBlLmpzCitBIHRlc3QvbGFuZ3VhZ2Uvc3Rh
dGVtZW50cy9jbGFzcy9kc3RyL2FzeW5jLWdlbi1tZXRoLXN0YXRpYy1hcnktcHRybi1lbGVtLWlk
LWl0ZXItdmFsLWFycmF5LXByb3RvdHlwZS5qcworQSB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMv
Y2xhc3MvZHN0ci9hc3luYy1nZW4tbWV0aC1zdGF0aWMtYXJ5LXB0cm4tcmVzdC1pZC1kaXJlY3Qu
anMKK0EgdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2RzdHIvYXN5bmMtZ2VuLW1ldGgt
c3RhdGljLWRmbHQtYXJ5LWluaXQtaXRlci1nZXQtZXJyLWFycmF5LXByb3RvdHlwZS5qcworQSB0
ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZHN0ci9hc3luYy1nZW4tbWV0aC1zdGF0aWMt
ZGZsdC1hcnktcHRybi1lbGVtLWlkLWl0ZXItdmFsLWFycmF5LXByb3RvdHlwZS5qcworQSB0ZXN0
L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZHN0ci9hc3luYy1nZW4tbWV0aC1zdGF0aWMtZGZs
dC1hcnktcHRybi1yZXN0LWlkLWRpcmVjdC5qcworQSB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMv
Y2xhc3MvZHN0ci9hc3luYy1wcml2YXRlLWdlbi1tZXRoLWFyeS1wdHJuLWVsZW0taWQtaXRlci12
YWwtYXJyYXktcHJvdG90eXBlLmpzCitBIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9k
c3RyL2FzeW5jLXByaXZhdGUtZ2VuLW1ldGgtYXJ5LXB0cm4tcmVzdC1pZC1kaXJlY3QuanMKK0Eg
dGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2RzdHIvYXN5bmMtcHJpdmF0ZS1nZW4tbWV0
aC1kZmx0LWFyeS1wdHJuLWVsZW0taWQtaXRlci12YWwtYXJyYXktcHJvdG90eXBlLmpzCitBIHRl
c3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9kc3RyL2FzeW5jLXByaXZhdGUtZ2VuLW1ldGgt
ZGZsdC1hcnktcHRybi1yZXN0LWlkLWRpcmVjdC5qcworQSB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVu
dHMvY2xhc3MvZHN0ci9hc3luYy1wcml2YXRlLWdlbi1tZXRoLXN0YXRpYy1hcnktcHRybi1lbGVt
LWlkLWl0ZXItdmFsLWFycmF5LXByb3RvdHlwZS5qcworQSB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVu
dHMvY2xhc3MvZHN0ci9hc3luYy1wcml2YXRlLWdlbi1tZXRoLXN0YXRpYy1hcnktcHRybi1yZXN0
LWlkLWRpcmVjdC5qcworQSB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZHN0ci9hc3lu
Yy1wcml2YXRlLWdlbi1tZXRoLXN0YXRpYy1kZmx0LWFyeS1wdHJuLWVsZW0taWQtaXRlci12YWwt
YXJyYXktcHJvdG90eXBlLmpzCitBIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9kc3Ry
L2FzeW5jLXByaXZhdGUtZ2VuLW1ldGgtc3RhdGljLWRmbHQtYXJ5LXB0cm4tcmVzdC1pZC1kaXJl
Y3QuanMKK0EgdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2RzdHIvZ2VuLW1ldGgtYXJ5
LWluaXQtaXRlci1nZXQtZXJyLWFycmF5LXByb3RvdHlwZS5qcworQSB0ZXN0L2xhbmd1YWdlL3N0
YXRlbWVudHMvY2xhc3MvZHN0ci9nZW4tbWV0aC1hcnktcHRybi1lbGVtLWlkLWl0ZXItdmFsLWFy
cmF5LXByb3RvdHlwZS5qcworQSB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZHN0ci9n
ZW4tbWV0aC1hcnktcHRybi1yZXN0LWlkLWRpcmVjdC5qcworQSB0ZXN0L2xhbmd1YWdlL3N0YXRl
bWVudHMvY2xhc3MvZHN0ci9nZW4tbWV0aC1kZmx0LWFyeS1pbml0LWl0ZXItZ2V0LWVyci1hcnJh
eS1wcm90b3R5cGUuanMKK0EgdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2RzdHIvZ2Vu
LW1ldGgtZGZsdC1hcnktcHRybi1lbGVtLWlkLWl0ZXItdmFsLWFycmF5LXByb3RvdHlwZS5qcwor
QSB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZHN0ci9nZW4tbWV0aC1kZmx0LWFyeS1w
dHJuLXJlc3QtaWQtZGlyZWN0LmpzCitBIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9k
c3RyL2dlbi1tZXRoLXN0YXRpYy1hcnktaW5pdC1pdGVyLWdldC1lcnItYXJyYXktcHJvdG90eXBl
LmpzCitBIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9kc3RyL2dlbi1tZXRoLXN0YXRp
Yy1hcnktcHRybi1lbGVtLWlkLWl0ZXItdmFsLWFycmF5LXByb3RvdHlwZS5qcworQSB0ZXN0L2xh
bmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZHN0ci9nZW4tbWV0aC1zdGF0aWMtYXJ5LXB0cm4tcmVz
dC1pZC1kaXJlY3QuanMKK0EgdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2RzdHIvZ2Vu
LW1ldGgtc3RhdGljLWRmbHQtYXJ5LWluaXQtaXRlci1nZXQtZXJyLWFycmF5LXByb3RvdHlwZS5q
cworQSB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZHN0ci9nZW4tbWV0aC1zdGF0aWMt
ZGZsdC1hcnktcHRybi1lbGVtLWlkLWl0ZXItdmFsLWFycmF5LXByb3RvdHlwZS5qcworQSB0ZXN0
L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZHN0ci9nZW4tbWV0aC1zdGF0aWMtZGZsdC1hcnkt
cHRybi1yZXN0LWlkLWRpcmVjdC5qcworQSB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3Mv
ZHN0ci9tZXRoLWFyeS1pbml0LWl0ZXItZ2V0LWVyci1hcnJheS1wcm90b3R5cGUuanMKK0EgdGVz
dC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2RzdHIvbWV0aC1hcnktcHRybi1lbGVtLWlkLWl0
ZXItdmFsLWFycmF5LXByb3RvdHlwZS5qcworQSB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xh
c3MvZHN0ci9tZXRoLWFyeS1wdHJuLXJlc3QtaWQtZGlyZWN0LmpzCitBIHRlc3QvbGFuZ3VhZ2Uv
c3RhdGVtZW50cy9jbGFzcy9kc3RyL21ldGgtZGZsdC1hcnktaW5pdC1pdGVyLWdldC1lcnItYXJy
YXktcHJvdG90eXBlLmpzCitBIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9kc3RyL21l
dGgtZGZsdC1hcnktcHRybi1lbGVtLWlkLWl0ZXItdmFsLWFycmF5LXByb3RvdHlwZS5qcworQSB0
ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZHN0ci9tZXRoLWRmbHQtYXJ5LXB0cm4tcmVz
dC1pZC1kaXJlY3QuanMKK0EgdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2RzdHIvbWV0
aC1zdGF0aWMtYXJ5LWluaXQtaXRlci1nZXQtZXJyLWFycmF5LXByb3RvdHlwZS5qcworQSB0ZXN0
L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZHN0ci9tZXRoLXN0YXRpYy1hcnktcHRybi1lbGVt
LWlkLWl0ZXItdmFsLWFycmF5LXByb3RvdHlwZS5qcworQSB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVu
dHMvY2xhc3MvZHN0ci9tZXRoLXN0YXRpYy1hcnktcHRybi1yZXN0LWlkLWRpcmVjdC5qcworQSB0
ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZHN0ci9tZXRoLXN0YXRpYy1kZmx0LWFyeS1p
bml0LWl0ZXItZ2V0LWVyci1hcnJheS1wcm90b3R5cGUuanMKK0EgdGVzdC9sYW5ndWFnZS9zdGF0
ZW1lbnRzL2NsYXNzL2RzdHIvbWV0aC1zdGF0aWMtZGZsdC1hcnktcHRybi1lbGVtLWlkLWl0ZXIt
dmFsLWFycmF5LXByb3RvdHlwZS5qcworQSB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3Mv
ZHN0ci9tZXRoLXN0YXRpYy1kZmx0LWFyeS1wdHJuLXJlc3QtaWQtZGlyZWN0LmpzCitBIHRlc3Qv
bGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9kc3RyL3ByaXZhdGUtZ2VuLW1ldGgtYXJ5LXB0cm4t
ZWxlbS1pZC1pdGVyLXZhbC1hcnJheS1wcm90b3R5cGUuanMKK0EgdGVzdC9sYW5ndWFnZS9zdGF0
ZW1lbnRzL2NsYXNzL2RzdHIvcHJpdmF0ZS1nZW4tbWV0aC1hcnktcHRybi1yZXN0LWlkLWRpcmVj
dC5qcworQSB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZHN0ci9wcml2YXRlLWdlbi1t
ZXRoLWRmbHQtYXJ5LXB0cm4tZWxlbS1pZC1pdGVyLXZhbC1hcnJheS1wcm90b3R5cGUuanMKK0Eg
dGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2RzdHIvcHJpdmF0ZS1nZW4tbWV0aC1kZmx0
LWFyeS1wdHJuLXJlc3QtaWQtZGlyZWN0LmpzCitBIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9j
bGFzcy9kc3RyL3ByaXZhdGUtZ2VuLW1ldGgtc3RhdGljLWFyeS1wdHJuLWVsZW0taWQtaXRlci12
YWwtYXJyYXktcHJvdG90eXBlLmpzCitBIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9k
c3RyL3ByaXZhdGUtZ2VuLW1ldGgtc3RhdGljLWFyeS1wdHJuLXJlc3QtaWQtZGlyZWN0LmpzCitB
IHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9kc3RyL3ByaXZhdGUtZ2VuLW1ldGgtc3Rh
dGljLWRmbHQtYXJ5LXB0cm4tZWxlbS1pZC1pdGVyLXZhbC1hcnJheS1wcm90b3R5cGUuanMKK0Eg
dGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2RzdHIvcHJpdmF0ZS1nZW4tbWV0aC1zdGF0
aWMtZGZsdC1hcnktcHRybi1yZXN0LWlkLWRpcmVjdC5qcworQSB0ZXN0L2xhbmd1YWdlL3N0YXRl
bWVudHMvY2xhc3MvZHN0ci9wcml2YXRlLW1ldGgtYXJ5LXB0cm4tZWxlbS1pZC1pdGVyLXZhbC1h
cnJheS1wcm90b3R5cGUuanMKK0EgdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2RzdHIv
cHJpdmF0ZS1tZXRoLWFyeS1wdHJuLXJlc3QtaWQtZGlyZWN0LmpzCitBIHRlc3QvbGFuZ3VhZ2Uv
c3RhdGVtZW50cy9jbGFzcy9kc3RyL3ByaXZhdGUtbWV0aC1kZmx0LWFyeS1wdHJuLWVsZW0taWQt
aXRlci12YWwtYXJyYXktcHJvdG90eXBlLmpzCitBIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9j
bGFzcy9kc3RyL3ByaXZhdGUtbWV0aC1kZmx0LWFyeS1wdHJuLXJlc3QtaWQtZGlyZWN0LmpzCitB
IHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9kc3RyL3ByaXZhdGUtbWV0aC1zdGF0aWMt
YXJ5LXB0cm4tZWxlbS1pZC1pdGVyLXZhbC1hcnJheS1wcm90b3R5cGUuanMKK0EgdGVzdC9sYW5n
dWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2RzdHIvcHJpdmF0ZS1tZXRoLXN0YXRpYy1hcnktcHRybi1y
ZXN0LWlkLWRpcmVjdC5qcworQSB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZHN0ci9w
cml2YXRlLW1ldGgtc3RhdGljLWRmbHQtYXJ5LXB0cm4tZWxlbS1pZC1pdGVyLXZhbC1hcnJheS1w
cm90b3R5cGUuanMKK0EgdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2RzdHIvcHJpdmF0
ZS1tZXRoLXN0YXRpYy1kZmx0LWFyeS1wdHJuLXJlc3QtaWQtZGlyZWN0LmpzCitBIHRlc3QvbGFu
Z3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9lbGVtZW50cy9zeW50YXgvdmFsaWQvZ3JhbW1hci1zcGVj
aWFsLXByb3RvdHlwZS1hY2Nlc3Nvci1tZXRoLXZhbGlkLmpzCitBIHRlc3QvbGFuZ3VhZ2Uvc3Rh
dGVtZW50cy9jbGFzcy9lbGVtZW50cy9zeW50YXgvdmFsaWQvZ3JhbW1hci1zcGVjaWFsLXByb3Rv
dHlwZS1hc3luYy1nZW4tbWV0aC12YWxpZC5qcworQSB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMv
Y2xhc3MvZWxlbWVudHMvc3ludGF4L3ZhbGlkL2dyYW1tYXItc3BlY2lhbC1wcm90b3R5cGUtYXN5
bmMtbWV0aC12YWxpZC5qcworQSB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZWxlbWVu
dHMvc3ludGF4L3ZhbGlkL2dyYW1tYXItc3BlY2lhbC1wcm90b3R5cGUtZ2VuLW1ldGgtdmFsaWQu
anMKK0EgdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2VsZW1lbnRzL3N5bnRheC92YWxp
ZC9ncmFtbWFyLXNwZWNpYWwtcHJvdG90eXBlLW1ldGgtdmFsaWQuanMKK0EgdGVzdC9sYW5ndWFn
ZS9zdGF0ZW1lbnRzL2NvbnN0L2RzdHIvYXJ5LWluaXQtaXRlci1nZXQtZXJyLWFycmF5LXByb3Rv
dHlwZS5qcworQSB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY29uc3QvZHN0ci9hcnktcHRybi1l
bGVtLWlkLWl0ZXItdmFsLWFycmF5LXByb3RvdHlwZS5qcworQSB0ZXN0L2xhbmd1YWdlL3N0YXRl
bWVudHMvY29uc3QvZHN0ci9hcnktcHRybi1yZXN0LWlkLWRpcmVjdC5qcworQSB0ZXN0L2xhbmd1
YWdlL3N0YXRlbWVudHMvZm9yL2RzdHIvY29uc3QtYXJ5LWluaXQtaXRlci1nZXQtZXJyLWFycmF5
LXByb3RvdHlwZS5qcworQSB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvZm9yL2RzdHIvY29uc3Qt
YXJ5LXB0cm4tZWxlbS1pZC1pdGVyLXZhbC1hcnJheS1wcm90b3R5cGUuanMKK0EgdGVzdC9sYW5n
dWFnZS9zdGF0ZW1lbnRzL2Zvci9kc3RyL2NvbnN0LWFyeS1wdHJuLXJlc3QtaWQtZGlyZWN0Lmpz
CitBIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9mb3IvZHN0ci9sZXQtYXJ5LWluaXQtaXRlci1n
ZXQtZXJyLWFycmF5LXByb3RvdHlwZS5qcworQSB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvZm9y
L2RzdHIvbGV0LWFyeS1wdHJuLWVsZW0taWQtaXRlci12YWwtYXJyYXktcHJvdG90eXBlLmpzCitB
IHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9mb3IvZHN0ci9sZXQtYXJ5LXB0cm4tcmVzdC1pZC1k
aXJlY3QuanMKK0EgdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2Zvci9kc3RyL3Zhci1hcnktaW5p
dC1pdGVyLWdldC1lcnItYXJyYXktcHJvdG90eXBlLmpzCitBIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVt
ZW50cy9mb3IvZHN0ci92YXItYXJ5LXB0cm4tZWxlbS1pZC1pdGVyLXZhbC1hcnJheS1wcm90b3R5
cGUuanMKK0EgdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2Zvci9kc3RyL3Zhci1hcnktcHRybi1y
ZXN0LWlkLWRpcmVjdC5qcworQSB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvZm9yLW9mL2RzdHIv
Y29uc3QtYXJ5LWluaXQtaXRlci1nZXQtZXJyLWFycmF5LXByb3RvdHlwZS5qcworQSB0ZXN0L2xh
bmd1YWdlL3N0YXRlbWVudHMvZm9yLW9mL2RzdHIvY29uc3QtYXJ5LXB0cm4tZWxlbS1pZC1pdGVy
LXZhbC1hcnJheS1wcm90b3R5cGUuanMKK0EgdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2Zvci1v
Zi9kc3RyL2NvbnN0LWFyeS1wdHJuLXJlc3QtaWQtZGlyZWN0LmpzCitBIHRlc3QvbGFuZ3VhZ2Uv
c3RhdGVtZW50cy9mb3Itb2YvZHN0ci9sZXQtYXJ5LWluaXQtaXRlci1nZXQtZXJyLWFycmF5LXBy
b3RvdHlwZS5qcworQSB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvZm9yLW9mL2RzdHIvbGV0LWFy
eS1wdHJuLWVsZW0taWQtaXRlci12YWwtYXJyYXktcHJvdG90eXBlLmpzCitBIHRlc3QvbGFuZ3Vh
Z2Uvc3RhdGVtZW50cy9mb3Itb2YvZHN0ci9sZXQtYXJ5LXB0cm4tcmVzdC1pZC1kaXJlY3QuanMK
K0EgdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2Zvci1vZi9kc3RyL3Zhci1hcnktaW5pdC1pdGVy
LWdldC1lcnItYXJyYXktcHJvdG90eXBlLmpzCitBIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9m
b3Itb2YvZHN0ci92YXItYXJ5LXB0cm4tZWxlbS1pZC1pdGVyLXZhbC1hcnJheS1wcm90b3R5cGUu
anMKK0EgdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2Zvci1vZi9kc3RyL3Zhci1hcnktcHRybi1y
ZXN0LWlkLWRpcmVjdC5qcworQSB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvZnVuY3Rpb24vZHN0
ci9hcnktaW5pdC1pdGVyLWdldC1lcnItYXJyYXktcHJvdG90eXBlLmpzCitBIHRlc3QvbGFuZ3Vh
Z2Uvc3RhdGVtZW50cy9mdW5jdGlvbi9kc3RyL2FyeS1wdHJuLWVsZW0taWQtaXRlci12YWwtYXJy
YXktcHJvdG90eXBlLmpzCitBIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9mdW5jdGlvbi9kc3Ry
L2FyeS1wdHJuLXJlc3QtaWQtZGlyZWN0LmpzCitBIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9m
dW5jdGlvbi9kc3RyL2RmbHQtYXJ5LWluaXQtaXRlci1nZXQtZXJyLWFycmF5LXByb3RvdHlwZS5q
cworQSB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvZnVuY3Rpb24vZHN0ci9kZmx0LWFyeS1wdHJu
LWVsZW0taWQtaXRlci12YWwtYXJyYXktcHJvdG90eXBlLmpzCitBIHRlc3QvbGFuZ3VhZ2Uvc3Rh
dGVtZW50cy9mdW5jdGlvbi9kc3RyL2RmbHQtYXJ5LXB0cm4tcmVzdC1pZC1kaXJlY3QuanMKK0Eg
dGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2dlbmVyYXRvcnMvZHN0ci9hcnktaW5pdC1pdGVyLWdl
dC1lcnItYXJyYXktcHJvdG90eXBlLmpzCitBIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9nZW5l
cmF0b3JzL2RzdHIvYXJ5LXB0cm4tZWxlbS1pZC1pdGVyLXZhbC1hcnJheS1wcm90b3R5cGUuanMK
K0EgdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2dlbmVyYXRvcnMvZHN0ci9hcnktcHRybi1yZXN0
LWlkLWRpcmVjdC5qcworQSB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvZ2VuZXJhdG9ycy9kc3Ry
L2RmbHQtYXJ5LWluaXQtaXRlci1nZXQtZXJyLWFycmF5LXByb3RvdHlwZS5qcworQSB0ZXN0L2xh
bmd1YWdlL3N0YXRlbWVudHMvZ2VuZXJhdG9ycy9kc3RyL2RmbHQtYXJ5LXB0cm4tZWxlbS1pZC1p
dGVyLXZhbC1hcnJheS1wcm90b3R5cGUuanMKK0EgdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2dl
bmVyYXRvcnMvZHN0ci9kZmx0LWFyeS1wdHJuLXJlc3QtaWQtZGlyZWN0LmpzCitBIHRlc3QvbGFu
Z3VhZ2Uvc3RhdGVtZW50cy9sZXQvZHN0ci9hcnktaW5pdC1pdGVyLWdldC1lcnItYXJyYXktcHJv
dG90eXBlLmpzCitBIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9sZXQvZHN0ci9hcnktcHRybi1l
bGVtLWlkLWl0ZXItdmFsLWFycmF5LXByb3RvdHlwZS5qcworQSB0ZXN0L2xhbmd1YWdlL3N0YXRl
bWVudHMvbGV0L2RzdHIvYXJ5LXB0cm4tcmVzdC1pZC1kaXJlY3QuanMKK0EgdGVzdC9sYW5ndWFn
ZS9zdGF0ZW1lbnRzL3RyeS9kc3RyL2FyeS1pbml0LWl0ZXItZ2V0LWVyci1hcnJheS1wcm90b3R5
cGUuanMKK0EgdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL3RyeS9kc3RyL2FyeS1wdHJuLWVsZW0t
aWQtaXRlci12YWwtYXJyYXktcHJvdG90eXBlLmpzCitBIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50
cy90cnkvZHN0ci9hcnktcHRybi1yZXN0LWlkLWRpcmVjdC5qcworQSB0ZXN0L2xhbmd1YWdlL3N0
YXRlbWVudHMvdmFyaWFibGUvZHN0ci9hcnktaW5pdC1pdGVyLWdldC1lcnItYXJyYXktcHJvdG90
eXBlLmpzCitBIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy92YXJpYWJsZS9kc3RyL2FyeS1wdHJu
LWVsZW0taWQtaXRlci12YWwtYXJyYXktcHJvdG90eXBlLmpzCitBIHRlc3QvbGFuZ3VhZ2Uvc3Rh
dGVtZW50cy92YXJpYWJsZS9kc3RyL2FyeS1wdHJuLXJlc3QtaWQtZGlyZWN0LmpzClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYW5u
ZXhCL2J1aWx0LWlucy9PYmplY3QvaXMvZW11bGF0ZXMtdW5kZWZpbmVkLmpzIGIvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYW5uZXhCL2J1aWx0LWlucy9PYmplY3QvaXMvZW11bGF0ZXMtdW5kZWZpbmVk
LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjRiODc3NDliZGEwZjk5OTU1Zjc5N2VkY2RkZTIyOWM5MWI4YWNiYmUK
LS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9hbm5leEIvYnVpbHQtaW5z
L09iamVjdC9pcy9lbXVsYXRlcy11bmRlZmluZWQuanMKQEAgLTAsMCArMSwyNiBAQAorLy8gQ29w
eXJpZ2h0IChDKSAyMDIwIEFsZXhleSBTaHZheWthLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8g
VGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElD
RU5TRSBmaWxlLgorLyotLS0KK2VzaWQ6IHNlYy1vYmplY3QuaXMKK2Rlc2NyaXB0aW9uOiA+Cisg
IFNhbWVWYWx1ZSBhYnN0cmFjdCBvcCBkb2Vzbid0IHNwZWNpYWwtY2FzZSBbW0lzSFRNTEREQV1d
IG9iamVjdHMuCitpbmZvOiB8CisgIE9iamVjdC5pcyAoIHZhbHVlMSwgdmFsdWUyICkKKworICAx
LiBSZXR1cm4gU2FtZVZhbHVlKHZhbHVlMSwgdmFsdWUyKS4KKworICBTYW1lVmFsdWUgKCB4LCB5
ICkKKworICAxLiBJZiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSksIHJldHVybiBm
YWxzZS4KK2ZlYXR1cmVzOiBbSXNIVE1MRERBXQorLS0tKi8KKwordmFyIElzSFRNTEREQSA9ICQy
NjIuSXNIVE1MRERBOworCithc3NlcnQuc2FtZVZhbHVlKE9iamVjdC5pcyhJc0hUTUxEREEsIHVu
ZGVmaW5lZCksIGZhbHNlLCAiU2FtZVZhbHVlIHdpdGggYHVuZGVmaW5lZGAiKTsKK2Fzc2VydC5z
YW1lVmFsdWUoT2JqZWN0LmlzKHVuZGVmaW5lZCwgSXNIVE1MRERBKSwgZmFsc2UsICJTYW1lVmFs
dWUgd2l0aCBgdW5kZWZpbmVkYCIpOworCithc3NlcnQuc2FtZVZhbHVlKE9iamVjdC5pcyhJc0hU
TUxEREEsIG51bGwpLCBmYWxzZSwgIlNhbWVWYWx1ZSB3aXRoIGBudWxsYCIpOworYXNzZXJ0LnNh
bWVWYWx1ZShPYmplY3QuaXMobnVsbCwgSXNIVE1MRERBKSwgZmFsc2UsICJTYW1lVmFsdWUgd2l0
aCBgbnVsbGAiKTsKKworYXNzZXJ0KE9iamVjdC5pcyhJc0hUTUxEREEsIElzSFRNTEREQSkpOwpk
aWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYW5uZXhCL2xhbmd1YWdlL2V4cHJlc3Np
b25zL2NvYWxlc2NlL2VtdWxhdGVzLXVuZGVmaW5lZC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2FubmV4Qi9sYW5ndWFnZS9leHByZXNzaW9ucy9jb2FsZXNjZS9lbXVsYXRlcy11bmRlZmluZWQu
anMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODEwMTk0OGRhZGUxZDQxNGFiYWEwNDU0N2M1ZjVjNzZiMmFlYThlZQot
LS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2FubmV4Qi9sYW5ndWFnZS9l
eHByZXNzaW9ucy9jb2FsZXNjZS9lbXVsYXRlcy11bmRlZmluZWQuanMKQEAgLTAsMCArMSwyMCBA
QAorLy8gQ29weXJpZ2h0IChDKSAyMDIwIEFsZXhleSBTaHZheWthLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBp
biB0aGUgTElDRU5TRSBmaWxlLgorLyotLS0KK2VzaWQ6IHNlYy1iaW5hcnktYml0d2lzZS1vcGVy
YXRvcnMtcnVudGltZS1zZW1hbnRpY3MtZXZhbHVhdGlvbgorZGVzY3JpcHRpb246ID4KKyAgPz8g
ZG9lc24ndCBzcGVjaWFsLWNhc2UgW1tJc0hUTUxEREFdXSBvYmplY3Q7IHJ2YWwgaXMgbm90IGV2
YWx1YXRlZC4KK2luZm86IHwKKyAgQ29hbGVzY2VFeHByZXNzaW9uIDogQ29hbGVzY2VFeHByZXNz
aW9uSGVhZCA/PyBCaXR3aXNlT1JFeHByZXNzaW9uCisKKyAgMS4gTGV0IGxyZWYgYmUgdGhlIHJl
c3VsdCBvZiBldmFsdWF0aW5nIENvYWxlc2NlRXhwcmVzc2lvbkhlYWQuCisgIDIuIExldCBsdmFs
IGJlID8gR2V0VmFsdWUobHJlZikuCisgIDMuIElmIGx2YWwgaXMgdW5kZWZpbmVkIG9yIG51bGws
IHRoZW4KKyAgICBbLi4uXQorICA0LiBPdGhlcndpc2UsIHJldHVybiBsdmFsLgorZmVhdHVyZXM6
IFtJc0hUTUxEREEsIGNvYWxlc2NlLWV4cHJlc3Npb25dCistLS0qLworCit2YXIgSXNIVE1MRERB
ID0gJDI2Mi5Jc0hUTUxEREE7CisKK2Fzc2VydC5zYW1lVmFsdWUoSXNIVE1MRERBID8/IHVucmVz
b2x2ZWQsIElzSFRNTEREQSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9hbm5l
eEIvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY29uZGl0aW9uYWwvZW11bGF0ZXMtdW5kZWZpbmVkLmpz
IGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYW5uZXhCL2xhbmd1YWdlL2V4cHJlc3Npb25zL2NvbmRp
dGlvbmFsL2VtdWxhdGVzLXVuZGVmaW5lZC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44ODk2MzRkOGQyNTZlYjZj
ZTQ5ZjU1NmZmOWY2MjE0MDRkMjFmZDYxCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYW5uZXhCL2xhbmd1YWdlL2V4cHJlc3Npb25zL2NvbmRpdGlvbmFsL2VtdWxhdGVz
LXVuZGVmaW5lZC5qcwpAQCAtMCwwICsxLDI1IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgQWxl
eGV5IFNodmF5a2EuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJu
ZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisvKi0tLQor
ZXNpZDogc2VjLWNvbmRpdGlvbmFsLW9wZXJhdG9yLXJ1bnRpbWUtc2VtYW50aWNzLWV2YWx1YXRp
b24KK2Rlc2NyaXB0aW9uOiA+CisgIFRvQm9vbGVhbiByZXR1cm5zIGBmYWxzZWAgZm9yIFtbSXNI
VE1MRERBXV0gb2JqZWN0OyB0cnVlUmVmIGlzIG5vdCBldmFsdWF0ZWQuCitpbmZvOiB8CisgIENv
bmRpdGlvbmFsRXhwcmVzc2lvbiA6IFNob3J0Q2lyY3VpdEV4cHJlc3Npb24gPyBBc3NpZ25tZW50
RXhwcmVzc2lvbiA6IEFzc2lnbm1lbnRFeHByZXNzaW9uCisKKyAgMS4gTGV0IGxyZWYgYmUgdGhl
IHJlc3VsdCBvZiBldmFsdWF0aW5nIFNob3J0Q2lyY3VpdEV4cHJlc3Npb24uCisgIDIuIExldCBs
dmFsIGJlICEgVG9Cb29sZWFuKD8gR2V0VmFsdWUobHJlZikpLgorICAzLiBJZiBsdmFsIGlzIHRy
dWUsIHRoZW4KKyAgICBbLi4uXQorICA0LiBFbHNlLAorICAgIGEuIExldCBmYWxzZVJlZiBiZSB0
aGUgcmVzdWx0IG9mIGV2YWx1YXRpbmcgdGhlIHNlY29uZCBBc3NpZ25tZW50RXhwcmVzc2lvbi4K
KyAgICBiLiBSZXR1cm4gPyBHZXRWYWx1ZShmYWxzZVJlZikuCisKKyAgVGhlIFtbSXNIVE1MRERB
XV0gSW50ZXJuYWwgU2xvdCAvIENoYW5nZXMgdG8gVG9Cb29sZWFuCisKKyAgMS4gSWYgYXJndW1l
bnQgaGFzIGFuIFtbSXNIVE1MRERBXV0gaW50ZXJuYWwgc2xvdCwgcmV0dXJuIGZhbHNlLgorICAy
LiBSZXR1cm4gdHJ1ZS4KK2ZlYXR1cmVzOiBbSXNIVE1MRERBXQorLS0tKi8KKworYXNzZXJ0LnNh
bWVWYWx1ZSgkMjYyLklzSFRNTEREQSA/IHVucmVzb2x2ZWQgOiAyLCAyKTsKZGlmZiAtLWdpdCBh
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2FubmV4Qi9sYW5ndWFnZS9leHByZXNzaW9ucy9kb2VzLW5v
dC1lcXVhbHMvZW11bGF0ZXMtdW5kZWZpbmVkLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYW5u
ZXhCL2xhbmd1YWdlL2V4cHJlc3Npb25zL2RvZXMtbm90LWVxdWFscy9lbXVsYXRlcy11bmRlZmlu
ZWQuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uYWQwNGNmZjlmNGE3OTgxN2EyZjM2NGM1ZDg1MzE4ZTEzZjYzMmVm
NgotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2FubmV4Qi9sYW5ndWFn
ZS9leHByZXNzaW9ucy9kb2VzLW5vdC1lcXVhbHMvZW11bGF0ZXMtdW5kZWZpbmVkLmpzCkBAIC0w
LDAgKzEsMzIgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBBbGV4ZXkgU2h2YXlrYS4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vu
c2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKy8qLS0tCitlc2lkOiBzZWMtZXF1YWxpdHkt
b3BlcmF0b3JzLXJ1bnRpbWUtc2VtYW50aWNzLWV2YWx1YXRpb24KK2Rlc2NyaXB0aW9uOiA+Cisg
IEFic3RyYWN0IEVxdWFsaXR5IHNwZWNpYWwtY2FzZXMgW1tJc0hUTUxEREFdXSBvYmplY3RzIHdp
dGggYHVuZGVmaW5lZGAgYW5kIGBudWxsYC4KK2luZm86IHwKKyAgRXF1YWxpdHlFeHByZXNzaW9u
IDogRXF1YWxpdHlFeHByZXNzaW9uICE9IFJlbGF0aW9uYWxFeHByZXNzaW9uCisKKyAgWy4uLl0K
KyAgNS4gTGV0IHIgYmUgdGhlIHJlc3VsdCBvZiBwZXJmb3JtaW5nIEFic3RyYWN0IEVxdWFsaXR5
IENvbXBhcmlzb24gcnZhbCA9PSBsdmFsLgorICA2LiBSZXR1cm5JZkFicnVwdChyKS4KKyAgNy4g
SWYgciBpcyB0cnVlLCByZXR1cm4gZmFsc2UuIE90aGVyd2lzZSwgcmV0dXJuIHRydWUuCisKKyAg
VGhlIFtbSXNIVE1MRERBXV0gSW50ZXJuYWwgU2xvdCAvIENoYW5nZXMgdG8gQWJzdHJhY3QgRXF1
YWxpdHkgQ29tcGFyaXNvbgorCisgIFRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIGluc2VydGVkIGFm
dGVyIHN0ZXAgMyBvZiB0aGUgQWJzdHJhY3QgRXF1YWxpdHkgQ29tcGFyaXNvbiBhbGdvcml0aG06
CisKKyAgMS4gSWYgVHlwZSh4KSBpcyBPYmplY3QgYW5kIHggaGFzIGFuIFtbSXNIVE1MRERBXV0g
aW50ZXJuYWwgc2xvdCBhbmQgeSBpcyBlaXRoZXIgbnVsbCBvciB1bmRlZmluZWQsIHJldHVybiB0
cnVlLgorICAyLiBJZiB4IGlzIGVpdGhlciBudWxsIG9yIHVuZGVmaW5lZCBhbmQgVHlwZSh5KSBp
cyBPYmplY3QgYW5kIHkgaGFzIGFuIFtbSXNIVE1MRERBXV0gaW50ZXJuYWwgc2xvdCwgcmV0dXJu
IHRydWUuCitmZWF0dXJlczogW0lzSFRNTEREQV0KKy0tLSovCisKK3ZhciBJc0hUTUxEREEgPSAk
MjYyLklzSFRNTEREQTsKKworYXNzZXJ0LnNhbWVWYWx1ZShJc0hUTUxEREEgIT0gdW5kZWZpbmVk
LCBmYWxzZSwgIiE9IHdpdGggYHVuZGVmaW5lZGAiKTsKK2Fzc2VydC5zYW1lVmFsdWUodW5kZWZp
bmVkICE9IElzSFRNTEREQSwgZmFsc2UsICIhPSB3aXRoIGB1bmRlZmluZWRgIik7CisKK2Fzc2Vy
dC5zYW1lVmFsdWUoSXNIVE1MRERBICE9IG51bGwsIGZhbHNlLCAiIT0gd2l0aCBgbnVsbGAiKTsK
K2Fzc2VydC5zYW1lVmFsdWUobnVsbCAhPSBJc0hUTUxEREEsIGZhbHNlLCAiIT0gd2l0aCBgbnVs
bGAiKTsKKworYXNzZXJ0LnNhbWVWYWx1ZShJc0hUTUxEREEgIT0gSXNIVE1MRERBLCBmYWxzZSk7
CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9hbm5leEIvbGFuZ3VhZ2UvZXhwcmVz
c2lvbnMvZXF1YWxzL2VtdWxhdGVzLXVuZGVmaW5lZC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2FubmV4Qi9sYW5ndWFnZS9leHByZXNzaW9ucy9lcXVhbHMvZW11bGF0ZXMtdW5kZWZpbmVkLmpz
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmVhYTc0ODk3ODk1YTQ1NDQ0ZjNjMWM5YTNkNGUzMTFmZWMwMjU3N2MKLS0t
IC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9hbm5leEIvbGFuZ3VhZ2UvZXhw
cmVzc2lvbnMvZXF1YWxzL2VtdWxhdGVzLXVuZGVmaW5lZC5qcwpAQCAtMCwwICsxLDMwIEBACisv
LyBDb3B5cmlnaHQgKEMpIDIwMjAgQWxleGV5IFNodmF5a2EuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRo
ZSBMSUNFTlNFIGZpbGUuCisvKi0tLQorZXNpZDogc2VjLWVxdWFsaXR5LW9wZXJhdG9ycy1ydW50
aW1lLXNlbWFudGljcy1ldmFsdWF0aW9uCitkZXNjcmlwdGlvbjogPgorICBBYnN0cmFjdCBFcXVh
bGl0eSBzcGVjaWFsLWNhc2VzIFtbSXNIVE1MRERBXV0gb2JqZWN0cyB3aXRoIGB1bmRlZmluZWRg
IGFuZCBgbnVsbGAuCitpbmZvOiB8CisgIEVxdWFsaXR5RXhwcmVzc2lvbiA6IEVxdWFsaXR5RXhw
cmVzc2lvbiA9PSBSZWxhdGlvbmFsRXhwcmVzc2lvbgorCisgIFsuLi5dCisgIDUuIFJldHVybiB0
aGUgcmVzdWx0IG9mIHBlcmZvcm1pbmcgQWJzdHJhY3QgRXF1YWxpdHkgQ29tcGFyaXNvbiBydmFs
ID09IGx2YWwuCisKKyAgVGhlIFtbSXNIVE1MRERBXV0gSW50ZXJuYWwgU2xvdCAvIENoYW5nZXMg
dG8gQWJzdHJhY3QgRXF1YWxpdHkgQ29tcGFyaXNvbgorCisgIFRoZSBmb2xsb3dpbmcgc3RlcHMg
YXJlIGluc2VydGVkIGFmdGVyIHN0ZXAgMyBvZiB0aGUgQWJzdHJhY3QgRXF1YWxpdHkgQ29tcGFy
aXNvbiBhbGdvcml0aG06CisKKyAgMS4gSWYgVHlwZSh4KSBpcyBPYmplY3QgYW5kIHggaGFzIGFu
IFtbSXNIVE1MRERBXV0gaW50ZXJuYWwgc2xvdCBhbmQgeSBpcyBlaXRoZXIgbnVsbCBvciB1bmRl
ZmluZWQsIHJldHVybiB0cnVlLgorICAyLiBJZiB4IGlzIGVpdGhlciBudWxsIG9yIHVuZGVmaW5l
ZCBhbmQgVHlwZSh5KSBpcyBPYmplY3QgYW5kIHkgaGFzIGFuIFtbSXNIVE1MRERBXV0gaW50ZXJu
YWwgc2xvdCwgcmV0dXJuIHRydWUuCitmZWF0dXJlczogW0lzSFRNTEREQV0KKy0tLSovCisKK3Zh
ciBJc0hUTUxEREEgPSAkMjYyLklzSFRNTEREQTsKKworYXNzZXJ0KElzSFRNTEREQSA9PSB1bmRl
ZmluZWQsICI9PSB3aXRoIGB1bmRlZmluZWRgIik7Cithc3NlcnQodW5kZWZpbmVkID09IElzSFRN
TEREQSwgIj09IHdpdGggYHVuZGVmaW5lZGAiKTsKKworYXNzZXJ0KElzSFRNTEREQSA9PSBudWxs
LCAiPT0gd2l0aCBgbnVsbGAiKTsKK2Fzc2VydChudWxsID09IElzSFRNTEREQSwgIj09IHdpdGgg
YG51bGxgIik7CisKK2Fzc2VydChJc0hUTUxEREEgPT0gSXNIVE1MRERBKTsKZGlmZiAtLWdpdCBh
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2FubmV4Qi9sYW5ndWFnZS9leHByZXNzaW9ucy9sb2dpY2Fs
LWFuZC9lbXVsYXRlcy11bmRlZmluZWQuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9hbm5leEIv
bGFuZ3VhZ2UvZXhwcmVzc2lvbnMvbG9naWNhbC1hbmQvZW11bGF0ZXMtdW5kZWZpbmVkLmpzCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjFhNTA0MzZlNmQyMDdlZWRhMmI4OThkODQ0MTYwNWI1NmQ0NDk5NTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9hbm5leEIvbGFuZ3VhZ2UvZXhwcmVz
c2lvbnMvbG9naWNhbC1hbmQvZW11bGF0ZXMtdW5kZWZpbmVkLmpzCkBAIC0wLDAgKzEsMjQgQEAK
Ky8vIENvcHlyaWdodCAoQykgMjAyMCBBbGV4ZXkgU2h2YXlrYS4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4g
dGhlIExJQ0VOU0UgZmlsZS4KKy8qLS0tCitlc2lkOiBzZWMtYmluYXJ5LWxvZ2ljYWwtb3BlcmF0
b3JzLXJ1bnRpbWUtc2VtYW50aWNzLWV2YWx1YXRpb24KK2Rlc2NyaXB0aW9uOiA+CisgIFRvQm9v
bGVhbiByZXR1cm5zIGBmYWxzZWAgZm9yIFtbSXNIVE1MRERBXV0gb2JqZWN0OyBydmFsIGlzIG5v
dCBldmFsdWF0ZWQuCitpbmZvOiB8CisgIExvZ2ljYWxBTkRFeHByZXNzaW9uIDogTG9naWNhbEFO
REV4cHJlc3Npb24gJiYgQml0d2lzZU9SRXhwcmVzc2lvbgorCisgIDEuIExldCBscmVmIGJlIHRo
ZSByZXN1bHQgb2YgZXZhbHVhdGluZyBMb2dpY2FsQU5ERXhwcmVzc2lvbi4KKyAgMi4gTGV0IGx2
YWwgYmUgPyBHZXRWYWx1ZShscmVmKS4KKyAgMy4gTGV0IGxib29sIGJlICEgVG9Cb29sZWFuKGx2
YWwpLgorICA0LiBJZiBsYm9vbCBpcyBmYWxzZSwgcmV0dXJuIGx2YWwuCisKKyAgVGhlIFtbSXNI
VE1MRERBXV0gSW50ZXJuYWwgU2xvdCAvIENoYW5nZXMgdG8gVG9Cb29sZWFuCisKKyAgMS4gSWYg
YXJndW1lbnQgaGFzIGFuIFtbSXNIVE1MRERBXV0gaW50ZXJuYWwgc2xvdCwgcmV0dXJuIGZhbHNl
LgorICAyLiBSZXR1cm4gdHJ1ZS4KK2ZlYXR1cmVzOiBbSXNIVE1MRERBXQorLS0tKi8KKwordmFy
IElzSFRNTEREQSA9ICQyNjIuSXNIVE1MRERBOworCithc3NlcnQuc2FtZVZhbHVlKElzSFRNTERE
QSAmJiB1bnJlc29sdmVkLCBJc0hUTUxEREEpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYW5uZXhCL2xhbmd1YWdlL2V4cHJlc3Npb25zL2xvZ2ljYWwtYXNzaWdubWVudC9lbXVs
YXRlcy11bmRlZmluZWQtYW5kLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYW5uZXhCL2xhbmd1
YWdlL2V4cHJlc3Npb25zL2xvZ2ljYWwtYXNzaWdubWVudC9lbXVsYXRlcy11bmRlZmluZWQtYW5k
LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmI2YTJlYjFiZjEwZDk5ODE1YWQwMDRlYmU0Y2E4NDg2MzEyZjJkYmIK
LS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9hbm5leEIvbGFuZ3VhZ2Uv
ZXhwcmVzc2lvbnMvbG9naWNhbC1hc3NpZ25tZW50L2VtdWxhdGVzLXVuZGVmaW5lZC1hbmQuanMK
QEAgLTAsMCArMSwyNSBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIwIEFsZXhleSBTaHZheWthLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0Qg
bGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorLyotLS0KK2VzaWQ6IHNlYy1hc3Np
Z25tZW50LW9wZXJhdG9ycy1ydW50aW1lLXNlbWFudGljcy1ldmFsdWF0aW9uCitkZXNjcmlwdGlv
bjogPgorICBUb0Jvb2xlYW4gcmV0dXJucyBgZmFsc2VgIGZvciBbW0lzSFRNTEREQV1dIG9iamVj
dDsgcnZhbCBpcyBub3QgZXZhbHVhdGVkLgoraW5mbzogfAorICBBc3NpZ25tZW50RXhwcmVzc2lv
biA6IExlZnRIYW5kU2lkZUV4cHJlc3Npb24gJiY9IEFzc2lnbm1lbnRFeHByZXNzaW9uCisKKyAg
MS4gTGV0IGxyZWYgYmUgdGhlIHJlc3VsdCBvZiBldmFsdWF0aW5nIExlZnRIYW5kU2lkZUV4cHJl
c3Npb24uCisgIDIuIExldCBsdmFsIGJlID8gR2V0VmFsdWUobHJlZikuCisgIDMuIExldCBsYm9v
bCBiZSAhIFRvQm9vbGVhbihsdmFsKS4KKyAgNC4gSWYgbGJvb2wgaXMgZmFsc2UsIHJldHVybiBs
dmFsLgorCisgIFRoZSBbW0lzSFRNTEREQV1dIEludGVybmFsIFNsb3QgLyBDaGFuZ2VzIHRvIFRv
Qm9vbGVhbgorCisgIDEuIElmIGFyZ3VtZW50IGhhcyBhbiBbW0lzSFRNTEREQV1dIGludGVybmFs
IHNsb3QsIHJldHVybiBmYWxzZS4KKyAgMi4gUmV0dXJuIHRydWUuCitmZWF0dXJlczogW0lzSFRN
TEREQSwgbG9naWNhbC1hc3NpZ25tZW50LW9wZXJhdG9yc10KKy0tLSovCisKK3ZhciBJc0hUTUxE
REEgPSAkMjYyLklzSFRNTEREQTsKK3ZhciB2YWx1ZSA9IElzSFRNTEREQTsKK2Fzc2VydC5zYW1l
VmFsdWUodmFsdWUgJiY9IHVucmVzb2x2ZWQsIElzSFRNTEREQSk7Cithc3NlcnQuc2FtZVZhbHVl
KHZhbHVlLCBJc0hUTUxEREEpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYW5u
ZXhCL2xhbmd1YWdlL2V4cHJlc3Npb25zL2xvZ2ljYWwtYXNzaWdubWVudC9lbXVsYXRlcy11bmRl
ZmluZWQtY29hbGVzY2UuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9hbm5leEIvbGFuZ3VhZ2Uv
ZXhwcmVzc2lvbnMvbG9naWNhbC1hc3NpZ25tZW50L2VtdWxhdGVzLXVuZGVmaW5lZC1jb2FsZXNj
ZS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5lMGFlZmNkNGNjMjE2YWU4ZWExMzZiZDA0ZGZkNjQ3YjVmYTBlOWM2
Ci0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYW5uZXhCL2xhbmd1YWdl
L2V4cHJlc3Npb25zL2xvZ2ljYWwtYXNzaWdubWVudC9lbXVsYXRlcy11bmRlZmluZWQtY29hbGVz
Y2UuanMKQEAgLTAsMCArMSwxOSBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIwIEFsZXhleSBTaHZh
eWthLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRo
ZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorLyotLS0KK2VzaWQ6IHNl
Yy1hc3NpZ25tZW50LW9wZXJhdG9ycy1ydW50aW1lLXNlbWFudGljcy1ldmFsdWF0aW9uCitkZXNj
cmlwdGlvbjogPgorICA/Pz0gZG9lc24ndCBzcGVjaWFsLWNhc2UgW1tJc0hUTUxEREFdXSBvYmpl
Y3Q7IHJ2YWwgaXMgbm90IGV2YWx1YXRlZC4KK2luZm86IHwKKyAgQXNzaWdubWVudEV4cHJlc3Np
b24gOiBMZWZ0SGFuZFNpZGVFeHByZXNzaW9uID8/PSBBc3NpZ25tZW50RXhwcmVzc2lvbgorCisg
IDEuIExldCBscmVmIGJlIHRoZSByZXN1bHQgb2YgZXZhbHVhdGluZyBMZWZ0SGFuZFNpZGVFeHBy
ZXNzaW9uLgorICAyLiBMZXQgbHZhbCBiZSA/IEdldFZhbHVlKGxyZWYpLgorICAzLiBJZiBsdmFs
IGlzIG5laXRoZXIgdW5kZWZpbmVkIG5vciBudWxsLCByZXR1cm4gbHZhbC4KK2ZlYXR1cmVzOiBb
SXNIVE1MRERBLCBsb2dpY2FsLWFzc2lnbm1lbnQtb3BlcmF0b3JzXQorLS0tKi8KKwordmFyIElz
SFRNTEREQSA9ICQyNjIuSXNIVE1MRERBOwordmFyIHZhbHVlID0gSXNIVE1MRERBOworYXNzZXJ0
LnNhbWVWYWx1ZSh2YWx1ZSA/Pz0gdW5yZXNvbHZlZCwgSXNIVE1MRERBKTsKK2Fzc2VydC5zYW1l
VmFsdWUodmFsdWUsIElzSFRNTEREQSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9hbm5leEIvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvbG9naWNhbC1hc3NpZ25tZW50L2VtdWxhdGVz
LXVuZGVmaW5lZC1vci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2FubmV4Qi9sYW5ndWFnZS9l
eHByZXNzaW9ucy9sb2dpY2FsLWFzc2lnbm1lbnQvZW11bGF0ZXMtdW5kZWZpbmVkLW9yLmpzCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjNkM2ZmMTU0YzcxYjI4ZGI2NTdkNmUxYTNlNTcwMTBkOWNiMDM2MGQKLS0tIC9k
ZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9hbm5leEIvbGFuZ3VhZ2UvZXhwcmVz
c2lvbnMvbG9naWNhbC1hc3NpZ25tZW50L2VtdWxhdGVzLXVuZGVmaW5lZC1vci5qcwpAQCAtMCww
ICsxLDI2IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgQWxleGV5IFNodmF5a2EuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNl
IGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisvKi0tLQorZXNpZDogc2VjLWFzc2lnbm1lbnQt
b3BlcmF0b3JzLXJ1bnRpbWUtc2VtYW50aWNzLWV2YWx1YXRpb24KK2Rlc2NyaXB0aW9uOiA+Cisg
IFRvQm9vbGVhbiByZXR1cm5zIGBmYWxzZWAgZm9yIFtbSXNIVE1MRERBXV0gb2JqZWN0OyBydmFs
IGlzIGV2YWx1YXRlZC4KK2luZm86IHwKKyAgQXNzaWdubWVudEV4cHJlc3Npb24gOiBMZWZ0SGFu
ZFNpZGVFeHByZXNzaW9uIHx8PSBBc3NpZ25tZW50RXhwcmVzc2lvbgorCisgIDEuIExldCBscmVm
IGJlIHRoZSByZXN1bHQgb2YgZXZhbHVhdGluZyBMZWZ0SGFuZFNpZGVFeHByZXNzaW9uLgorICAy
LiBMZXQgbHZhbCBiZSA/IEdldFZhbHVlKGxyZWYpLgorICAzLiBMZXQgbGJvb2wgYmUgISBUb0Jv
b2xlYW4obHZhbCkuCisgIFsuLi5dCisgIDcuIFBlcmZvcm0gPyBQdXRWYWx1ZShscmVmLCBydmFs
KS4KKyAgOC4gUmV0dXJuIHJ2YWwuCisKKyAgVGhlIFtbSXNIVE1MRERBXV0gSW50ZXJuYWwgU2xv
dCAvIENoYW5nZXMgdG8gVG9Cb29sZWFuCisKKyAgMS4gSWYgYXJndW1lbnQgaGFzIGFuIFtbSXNI
VE1MRERBXV0gaW50ZXJuYWwgc2xvdCwgcmV0dXJuIGZhbHNlLgorICAyLiBSZXR1cm4gdHJ1ZS4K
K2ZlYXR1cmVzOiBbSXNIVE1MRERBLCBsb2dpY2FsLWFzc2lnbm1lbnQtb3BlcmF0b3JzXQorLS0t
Ki8KKwordmFyIHZhbHVlID0gJDI2Mi5Jc0hUTUxEREE7Cithc3NlcnQuc2FtZVZhbHVlKHZhbHVl
IHx8PSAyLCAyKTsKK2Fzc2VydC5zYW1lVmFsdWUodmFsdWUsIDIpOwpkaWZmIC0tZ2l0IGEvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYW5uZXhCL2xhbmd1YWdlL2V4cHJlc3Npb25zL2xvZ2ljYWwtbm90
L2VtdWxhdGVzLXVuZGVmaW5lZC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2FubmV4Qi9sYW5n
dWFnZS9leHByZXNzaW9ucy9sb2dpY2FsLW5vdC9lbXVsYXRlcy11bmRlZmluZWQuanMKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uYjg3ZTFhNjVjNDM5ZTZlYTJkYThmNjk1NDU0MTM0ZTI1MzA0ZjBkZgotLS0gL2Rldi9u
dWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2FubmV4Qi9sYW5ndWFnZS9leHByZXNzaW9u
cy9sb2dpY2FsLW5vdC9lbXVsYXRlcy11bmRlZmluZWQuanMKQEAgLTAsMCArMSwyNSBAQAorLy8g
Q29weXJpZ2h0IChDKSAyMDIwIEFsZXhleSBTaHZheWthLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
Ly8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUg
TElDRU5TRSBmaWxlLgorLyotLS0KK2VzaWQ6IHNlYy1iaW5hcnktbG9naWNhbC1vcGVyYXRvcnMt
cnVudGltZS1zZW1hbnRpY3MtZXZhbHVhdGlvbgorZGVzY3JpcHRpb246ID4KKyAgVG9Cb29sZWFu
IHJldHVybnMgYGZhbHNlYCBmb3IgW1tJc0hUTUxEREFdXSBvYmplY3QuCitpbmZvOiB8CisgIFVu
YXJ5RXhwcmVzc2lvbiA6ICEgVW5hcnlFeHByZXNzaW9uCisKKyAgMS4gTGV0IGV4cHIgYmUgdGhl
IHJlc3VsdCBvZiBldmFsdWF0aW5nIFVuYXJ5RXhwcmVzc2lvbi4KKyAgMi4gTGV0IG9sZFZhbHVl
IGJlICEgVG9Cb29sZWFuKD8gR2V0VmFsdWUoZXhwcikpLgorICAzLiBJZiBvbGRWYWx1ZSBpcyB0
cnVlLCByZXR1cm4gZmFsc2UuCisgIDQuIFJldHVybiB0cnVlLgorCisgIFRoZSBbW0lzSFRNTERE
QV1dIEludGVybmFsIFNsb3QgLyBDaGFuZ2VzIHRvIFRvQm9vbGVhbgorCisgIDEuIElmIGFyZ3Vt
ZW50IGhhcyBhbiBbW0lzSFRNTEREQV1dIGludGVybmFsIHNsb3QsIHJldHVybiBmYWxzZS4KKyAg
Mi4gUmV0dXJuIHRydWUuCitmZWF0dXJlczogW0lzSFRNTEREQV0KKy0tLSovCisKK3ZhciBJc0hU
TUxEREEgPSAkMjYyLklzSFRNTEREQTsKKworYXNzZXJ0KCFJc0hUTUxEREEpOworYXNzZXJ0LnNh
bWVWYWx1ZSghIUlzSFRNTEREQSwgZmFsc2UpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYW5uZXhCL2xhbmd1YWdlL2V4cHJlc3Npb25zL2xvZ2ljYWwtb3IvZW11bGF0ZXMtdW5k
ZWZpbmVkLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYW5uZXhCL2xhbmd1YWdlL2V4cHJlc3Np
b25zL2xvZ2ljYWwtb3IvZW11bGF0ZXMtdW5kZWZpbmVkLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQxZGYyZDM5
MjczYzMwNjkxMjNmZDkwZTAxY2M2ODZhZDJjMzc4NDgKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9hbm5leEIvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvbG9naWNhbC1vci9l
bXVsYXRlcy11bmRlZmluZWQuanMKQEAgLTAsMCArMSwyNCBAQAorLy8gQ29weXJpZ2h0IChDKSAy
MDIwIEFsZXhleSBTaHZheWthLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlz
IGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgor
LyotLS0KK2VzaWQ6IHNlYy1iaW5hcnktbG9naWNhbC1vcGVyYXRvcnMtcnVudGltZS1zZW1hbnRp
Y3MtZXZhbHVhdGlvbgorZGVzY3JpcHRpb246ID4KKyAgVG9Cb29sZWFuIHJldHVybnMgYGZhbHNl
YCBmb3IgW1tJc0hUTUxEREFdXSBvYmplY3Q7IHJ2YWwgaXMgZXZhbHVhdGVkLgoraW5mbzogfAor
ICBMb2dpY2FsT1JFeHByZXNzaW9uIDogTG9naWNhbE9SRXhwcmVzc2lvbiB8fCBMb2dpY2FsQU5E
RXhwcmVzc2lvbgorCisgIDEuIExldCBscmVmIGJlIHRoZSByZXN1bHQgb2YgZXZhbHVhdGluZyBM
b2dpY2FsT1JFeHByZXNzaW9uLgorICAyLiBMZXQgbHZhbCBiZSA/IEdldFZhbHVlKGxyZWYpLgor
ICAzLiBMZXQgbGJvb2wgYmUgISBUb0Jvb2xlYW4obHZhbCkuCisgIDQuIElmIGxib29sIGlzIHRy
dWUsIHJldHVybiBsdmFsLgorICA1LiBMZXQgcnJlZiBiZSB0aGUgcmVzdWx0IG9mIGV2YWx1YXRp
bmcgTG9naWNhbEFOREV4cHJlc3Npb24uCisgIDYuIFJldHVybiA/IEdldFZhbHVlKHJyZWYpLgor
CisgIFRoZSBbW0lzSFRNTEREQV1dIEludGVybmFsIFNsb3QgLyBDaGFuZ2VzIHRvIFRvQm9vbGVh
bgorCisgIDEuIElmIGFyZ3VtZW50IGhhcyBhbiBbW0lzSFRNTEREQV1dIGludGVybmFsIHNsb3Qs
IHJldHVybiBmYWxzZS4KKyAgMi4gUmV0dXJuIHRydWUuCitmZWF0dXJlczogW0lzSFRNTEREQV0K
Ky0tLSovCisKK2Fzc2VydC5zYW1lVmFsdWUoJDI2Mi5Jc0hUTUxEREEgfHwgMiwgMik7CmRpZmYg
LS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9hbm5leEIvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMv
c3RyaWN0LWRvZXMtbm90LWVxdWFscy9lbXVsYXRlcy11bmRlZmluZWQuanMgYi9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9hbm5leEIvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvc3RyaWN0LWRvZXMtbm90LWVx
dWFscy9lbXVsYXRlcy11bmRlZmluZWQuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWI3Y2UzMjM0ZDhiZGUwNTNh
YzI2MTQyZDc5NDljMDMwNzVhMzg0NAotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2FubmV4Qi9sYW5ndWFnZS9leHByZXNzaW9ucy9zdHJpY3QtZG9lcy1ub3QtZXF1YWxz
L2VtdWxhdGVzLXVuZGVmaW5lZC5qcwpAQCAtMCwwICsxLDI5IEBACisvLyBDb3B5cmlnaHQgKEMp
IDIwMjAgQWxleGV5IFNodmF5a2EuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUg
aXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUu
CisvKi0tLQorZXNpZDogc2VjLWVxdWFsaXR5LW9wZXJhdG9ycy1ydW50aW1lLXNlbWFudGljcy1l
dmFsdWF0aW9uCitkZXNjcmlwdGlvbjogPgorICBTdHJpY3QgRXF1YWxpdHkgQ29tcGFyaXNvbiBk
b2Vzbid0IHNwZWNpYWwtY2FzZSBbW0lzSFRNTEREQV1dIG9iamVjdHMuCitpbmZvOiB8CisgIEVx
dWFsaXR5RXhwcmVzc2lvbiA6IEVxdWFsaXR5RXhwcmVzc2lvbiAhPT0gUmVsYXRpb25hbEV4cHJl
c3Npb24gCisKKyAgWy4uLl0KKyAgNS4gTGV0IHIgYmUgdGhlIHJlc3VsdCBvZiBwZXJmb3JtaW5n
IFN0cmljdCBFcXVhbGl0eSBDb21wYXJpc29uIHJ2YWwgPT09IGx2YWwuCisgIDYuIEFzc2VydDog
ciBpcyBhIG5vcm1hbCBjb21wbGV0aW9uLgorICA3LiBJZiByLltbVmFsdWVdXSBpcyB0cnVlLCBy
ZXR1cm4gZmFsc2UuIE90aGVyd2lzZSwgcmV0dXJuIHRydWUuCisKKyAgU3RyaWN0IEVxdWFsaXR5
IENvbXBhcmlzb24KKworICAxLiBJZiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSks
IHJldHVybiBmYWxzZS4KK2ZlYXR1cmVzOiBbSXNIVE1MRERBXQorLS0tKi8KKwordmFyIElzSFRN
TEREQSA9ICQyNjIuSXNIVE1MRERBOworCithc3NlcnQoSXNIVE1MRERBICE9PSB1bmRlZmluZWQs
ICIhPT0gd2l0aCBgdW5kZWZpbmVkYCIpOworYXNzZXJ0KHVuZGVmaW5lZCAhPT0gSXNIVE1MRERB
LCAiIT09IHdpdGggYHVuZGVmaW5lZGAiKTsKKworYXNzZXJ0KElzSFRNTEREQSAhPT0gbnVsbCwg
IiE9PSB3aXRoIGBudWxsYCIpOworYXNzZXJ0KG51bGwgIT09IElzSFRNTEREQSwgIiE9PSB3aXRo
IGBudWxsYCIpOworCithc3NlcnQuc2FtZVZhbHVlKElzSFRNTEREQSAhPT0gSXNIVE1MRERBLCBm
YWxzZSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9hbm5leEIvbGFuZ3VhZ2Uv
ZXhwcmVzc2lvbnMvc3RyaWN0LWVxdWFscy9lbXVsYXRlcy11bmRlZmluZWQuanMgYi9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9hbm5leEIvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvc3RyaWN0LWVxdWFscy9l
bXVsYXRlcy11bmRlZmluZWQuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOWVjZDE3ZGRlMDc1YWEyYWEyMGY0YWZl
MDE4NDQ0ZTc0M2M2NDIyMAotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2FubmV4Qi9sYW5ndWFnZS9leHByZXNzaW9ucy9zdHJpY3QtZXF1YWxzL2VtdWxhdGVzLXVuZGVm
aW5lZC5qcwpAQCAtMCwwICsxLDI3IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgQWxleGV5IFNo
dmF5a2EuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkg
dGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisvKi0tLQorZXNpZDog
c2VjLWVxdWFsaXR5LW9wZXJhdG9ycy1ydW50aW1lLXNlbWFudGljcy1ldmFsdWF0aW9uCitkZXNj
cmlwdGlvbjogPgorICBTdHJpY3QgRXF1YWxpdHkgQ29tcGFyaXNvbiBkb2Vzbid0IHNwZWNpYWwt
Y2FzZSBbW0lzSFRNTEREQV1dIG9iamVjdHMuCitpbmZvOiB8CisgIEVxdWFsaXR5RXhwcmVzc2lv
biA6IEVxdWFsaXR5RXhwcmVzc2lvbiA9PT0gUmVsYXRpb25hbEV4cHJlc3Npb24gCisKKyAgWy4u
Ll0KKyAgNS4gUmV0dXJuIHRoZSByZXN1bHQgb2YgcGVyZm9ybWluZyBTdHJpY3QgRXF1YWxpdHkg
Q29tcGFyaXNvbiBydmFsID09PSBsdmFsLgorCisgIFN0cmljdCBFcXVhbGl0eSBDb21wYXJpc29u
CisKKyAgMS4gSWYgVHlwZSh4KSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKHkpLCByZXR1cm4gZmFs
c2UuCitmZWF0dXJlczogW0lzSFRNTEREQV0KKy0tLSovCisKK3ZhciBJc0hUTUxEREEgPSAkMjYy
LklzSFRNTEREQTsKKworYXNzZXJ0LnNhbWVWYWx1ZShJc0hUTUxEREEgPT09IHVuZGVmaW5lZCwg
ZmFsc2UsICI9PT0gd2l0aCBgdW5kZWZpbmVkYCIpOworYXNzZXJ0LnNhbWVWYWx1ZSh1bmRlZmlu
ZWQgPT09IElzSFRNTEREQSwgZmFsc2UsICI9PT0gd2l0aCBgdW5kZWZpbmVkYCIpOworCithc3Nl
cnQuc2FtZVZhbHVlKElzSFRNTEREQSA9PT0gbnVsbCwgZmFsc2UsICI9PT0gd2l0aCBgbnVsbGAi
KTsKK2Fzc2VydC5zYW1lVmFsdWUobnVsbCA9PT0gSXNIVE1MRERBLCBmYWxzZSwgIj09PSB3aXRo
IGBudWxsYCIpOworCithc3NlcnQoSXNIVE1MRERBID09PSBJc0hUTUxEREEpOwpkaWZmIC0tZ2l0
IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYW5uZXhCL2xhbmd1YWdlL3N0YXRlbWVudHMvaWYvZW11
bGF0ZWQtdW5kZWZpbmVkLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYW5uZXhCL2xhbmd1YWdl
L3N0YXRlbWVudHMvaWYvZW11bGF0ZWQtdW5kZWZpbmVkLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE4ZWVmMjZi
YmRiNzI3MWY0YTMzOGVmOGEwNDQ4MWM1ODBmMWQzYjgKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9hbm5leEIvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9pZi9lbXVsYXRlZC11
bmRlZmluZWQuanMKQEAgLTAsMCArMSwzMSBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIwIEFsZXhl
eSBTaHZheWthLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVk
IGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorLyotLS0KK2Vz
aWQ6IHNlYy1pZi1zdGF0ZW1lbnQtcnVudGltZS1zZW1hbnRpY3MtZXZhbHVhdGlvbgorZGVzY3Jp
cHRpb246ID4KKyAgVG9Cb29sZWFuIHJldHVybnMgYGZhbHNlYCBmb3IgW1tJc0hUTUxEREFdXSBv
YmplY3Q7IGZpcnN0IFN0YXRlbWVudCBpcyBub3QgZXZhbHVhdGVkLgoraW5mbzogfAorICBJZlN0
YXRlbWVudCA6IGlmICggRXhwcmVzc2lvbiApIFN0YXRlbWVudCBlbHNlIFN0YXRlbWVudAorCisg
IDEuIExldCBleHByUmVmIGJlIHRoZSByZXN1bHQgb2YgZXZhbHVhdGluZyBFeHByZXNzaW9uLgor
ICAyLiBMZXQgZXhwclZhbHVlIGJlICEgVG9Cb29sZWFuKD8gR2V0VmFsdWUoZXhwclJlZikpLgor
ICAzLiBJZiBleHByVmFsdWUgaXMgdHJ1ZSwgdGhlbgorICAgIFsuLi5dCisgIDQuIEVsc2UsCisg
ICAgYS4gTGV0IHN0bXRDb21wbGV0aW9uIGJlIHRoZSByZXN1bHQgb2YgZXZhbHVhdGluZyB0aGUg
c2Vjb25kIFN0YXRlbWVudC4KKworICBUaGUgW1tJc0hUTUxEREFdXSBJbnRlcm5hbCBTbG90IC8g
Q2hhbmdlcyB0byBUb0Jvb2xlYW4KKworICAxLiBJZiBhcmd1bWVudCBoYXMgYW4gW1tJc0hUTUxE
REFdXSBpbnRlcm5hbCBzbG90LCByZXR1cm4gZmFsc2UuCisgIDIuIFJldHVybiB0cnVlLgorZmVh
dHVyZXM6IFtJc0hUTUxEREFdCistLS0qLworCit2YXIgcmVzdWx0ID0gZmFsc2U7CitpZiAoJDI2
Mi5Jc0hUTUxEREEpIHsKKyAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigidW5yZWFjaGFibGUiKTsK
K30gZWxzZSB7CisgIHJlc3VsdCA9IHRydWU7Cit9CisKK2Fzc2VydChyZXN1bHQpOwpkaWZmIC0t
Z2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYW5uZXhCL2xhbmd1YWdlL3N0YXRlbWVudHMvc3dp
dGNoL2VtdWxhdGVzLXVuZGVmaW5lZC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2FubmV4Qi9s
YW5ndWFnZS9zdGF0ZW1lbnRzL3N3aXRjaC9lbXVsYXRlcy11bmRlZmluZWQuanMKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uM2ZjMDIyN2JjMjViN2UzMDM1YTMxMTA0YjgyYTk4MGFjNzVkNDg4NAotLS0gL2Rldi9udWxs
CisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2FubmV4Qi9sYW5ndWFnZS9zdGF0ZW1lbnRzL3N3
aXRjaC9lbXVsYXRlcy11bmRlZmluZWQuanMKQEAgLTAsMCArMSwzMSBAQAorLy8gQ29weXJpZ2h0
IChDKSAyMDIwIEFsZXhleSBTaHZheWthLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBj
b2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBm
aWxlLgorLyotLS0KK2VzaWQ6IHNlYy1ydW50aW1lLXNlbWFudGljcy1jYXNlY2xhdXNlaXNzZWxl
Y3RlZAorZGVzY3JpcHRpb246ID4KKyAgYHN3aXRjaGAgc3RhdGVtZW50IHVzZXMgU3RyaWN0IEVx
dWFsaXR5IENvbXBhcmlzb24sCisgIHdoaWNoIGRvZXNuJ3Qgc3BlY2lhbC1jYXNlIFtbSXNIVE1M
RERBXV0gb2JqZWN0cy4KK2luZm86IHwKKyAgUnVudGltZSBTZW1hbnRpY3M6IENhc2VDbGF1c2VJ
c1NlbGVjdGVkICggQywgaW5wdXQgKQorCisgIFsuLi5dCisgIDQuIFJldHVybiB0aGUgcmVzdWx0
IG9mIHBlcmZvcm1pbmcgU3RyaWN0IEVxdWFsaXR5IENvbXBhcmlzb24gaW5wdXQgPT09IGNsYXVz
ZVNlbGVjdG9yLgorCisgIFN0cmljdCBFcXVhbGl0eSBDb21wYXJpc29uCisKKyAgMS4gSWYgVHlw
ZSh4KSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKHkpLCByZXR1cm4gZmFsc2UuCitmZWF0dXJlczog
W0lzSFRNTEREQV0KKy0tLSovCisKK3ZhciBJc0hUTUxEREEgPSAkMjYyLklzSFRNTEREQTsKKwor
YXNzZXJ0LnNhbWVWYWx1ZSgKKyAgKGZ1bmN0aW9uKCkgeworICAgIHN3aXRjaCAoSXNIVE1MRERB
KSB7CisgICAgICBjYXNlIHVuZGVmaW5lZDogcmV0dXJuIDE7CisgICAgICBjYXNlIG51bGw6IHJl
dHVybiAyOworICAgICAgY2FzZSBJc0hUTUxEREE6IHJldHVybiAzOworICAgIH0KKyAgfSkoKSwK
KyAgMworKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9Bc3lu
Y0Z1bmN0aW9uL0FzeW5jRnVuY3Rpb25Qcm90b3R5cGUtaXMtbm90LWNhbGxhYmxlLmpzIGIvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0FzeW5jRnVuY3Rpb24vQXN5bmNGdW5jdGlvblBy
b3RvdHlwZS1pcy1ub3QtY2FsbGFibGUuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzU0OWI4MWQxYjM2NDljYjE5
MmRjNDcyNDU4NDJhZWZlYmRjYmJkOAotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9Bc3luY0Z1bmN0aW9uL0FzeW5jRnVuY3Rpb25Qcm90b3R5cGUtaXMt
bm90LWNhbGxhYmxlLmpzCkBAIC0wLDAgKzEsMjggQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBB
bGV4ZXkgU2h2YXlrYS4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zl
cm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyot
LS0KK2VzaWQ6IHNlYy1hc3luYy1mdW5jdGlvbi1wcm90b3R5cGUtcHJvcGVydGllcworZGVzY3Jp
cHRpb246ID4KKyAgJUFzeW5jRnVuY3Rpb24ucHJvdG90eXBlJSBpcyBhbiBvcmRpbmFyeSBub24t
Y2FsbGFibGUgb2JqZWN0LgoraW5mbzogfAorICBQcm9wZXJ0aWVzIG9mIHRoZSBBc3luY0Z1bmN0
aW9uIFByb3RvdHlwZSBPYmplY3QKKworICBUaGUgQXN5bmNGdW5jdGlvbiBwcm90b3R5cGUgb2Jq
ZWN0OgorCisgIFsuLi5dCisgICogaXMgYW4gb3JkaW5hcnkgb2JqZWN0LgorICAqIGlzIG5vdCBh
IGZ1bmN0aW9uIG9iamVjdCBhbmQgZG9lcyBub3QgaGF2ZSBhbiBbW0VDTUFTY3JpcHRDb2RlXV0g
aW50ZXJuYWwgc2xvdAorICAgIG9yIGFueSBvdGhlciBvZiB0aGUgaW50ZXJuYWwgc2xvdHMgbGlz
dGVkIGluIFRhYmxlIDI4LgorZmVhdHVyZXM6IFthc3luYy1mdW5jdGlvbnNdCistLS0qLworCit2
YXIgQXN5bmNGdW5jdGlvblByb3RvdHlwZSA9IE9iamVjdC5nZXRQcm90b3R5cGVPZihhc3luYyBm
dW5jdGlvbigpIHt9KTsKKworYXNzZXJ0LnNhbWVWYWx1ZSh0eXBlb2YgQXN5bmNGdW5jdGlvblBy
b3RvdHlwZSwgIm9iamVjdCIpOworYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsIGZ1bmN0aW9uKCkg
eworICBBc3luY0Z1bmN0aW9uUHJvdG90eXBlKCk7Cit9KTsKKworYXNzZXJ0KCFBc3luY0Z1bmN0
aW9uUHJvdG90eXBlLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSwgImxlbmd0aCIpOworYXNzZXJ0
KCFBc3luY0Z1bmN0aW9uUHJvdG90eXBlLmhhc093blByb3BlcnR5KCJuYW1lIiksICJuYW1lIik7
CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXN5bmNHZW5lcmF0
b3JGdW5jdGlvbi9wcm90b3R5cGUvbm90LWNhbGxhYmxlLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL0FzeW5jR2VuZXJhdG9yRnVuY3Rpb24vcHJvdG90eXBlL25vdC1jYWxsYWJs
ZS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi45ZmI2ZTIwMDdjNjVmOGEwMTE3MmI0ZmI0ZjAyMmNkYTcyMjhkMWEz
Ci0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0FzeW5j
R2VuZXJhdG9yRnVuY3Rpb24vcHJvdG90eXBlL25vdC1jYWxsYWJsZS5qcwpAQCAtMCwwICsxLDI4
IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgQWxleGV5IFNodmF5a2EuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5k
IGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtcHJvcGVydGllcy1vZi1h
c3luY2dlbmVyYXRvcmZ1bmN0aW9uLXByb3RvdHlwZQorZGVzY3JpcHRpb246ID4KKyAgJUFzeW5j
R2VuZXJhdG9yRnVuY3Rpb24ucHJvdG90eXBlJSBpcyBhbiBvcmRpbmFyeSBub24tY2FsbGFibGUg
b2JqZWN0LgoraW5mbzogfAorICBQcm9wZXJ0aWVzIG9mIHRoZSBBc3luY0dlbmVyYXRvckZ1bmN0
aW9uIFByb3RvdHlwZSBPYmplY3QKKworICBUaGUgQXN5bmNHZW5lcmF0b3JGdW5jdGlvbiBwcm90
b3R5cGUgb2JqZWN0OgorCisgIFsuLi5dCisgICogaXMgYW4gb3JkaW5hcnkgb2JqZWN0LgorICAq
IGlzIG5vdCBhIGZ1bmN0aW9uIG9iamVjdCBhbmQgZG9lcyBub3QgaGF2ZSBhbiBbW0VDTUFTY3Jp
cHRDb2RlXV0gaW50ZXJuYWwgc2xvdAorICAgIG9yIGFueSBvdGhlciBvZiB0aGUgaW50ZXJuYWwg
c2xvdHMgbGlzdGVkIGluIFRhYmxlIDI4IG9yIFRhYmxlIDc1LgorZmVhdHVyZXM6IFthc3luYy1p
dGVyYXRpb25dCistLS0qLworCit2YXIgQXN5bmNHZW5lcmF0b3JGdW5jdGlvblByb3RvdHlwZSA9
IE9iamVjdC5nZXRQcm90b3R5cGVPZihhc3luYyBmdW5jdGlvbiogKCkge30pOworCithc3NlcnQu
c2FtZVZhbHVlKHR5cGVvZiBBc3luY0dlbmVyYXRvckZ1bmN0aW9uUHJvdG90eXBlLCAib2JqZWN0
Iik7Cithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgZnVuY3Rpb24oKSB7CisgIEFzeW5jR2VuZXJh
dG9yRnVuY3Rpb25Qcm90b3R5cGUoKTsKK30pOworCithc3NlcnQoIUFzeW5jR2VuZXJhdG9yRnVu
Y3Rpb25Qcm90b3R5cGUuaGFzT3duUHJvcGVydHkoImxlbmd0aCIpLCAibGVuZ3RoIik7Cithc3Nl
cnQoIUFzeW5jR2VuZXJhdG9yRnVuY3Rpb25Qcm90b3R5cGUuaGFzT3duUHJvcGVydHkoIm5hbWUi
KSwgIm5hbWUiKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9G
dW5jdGlvbi9wcm90b3R5cGUvYmluZC8xNS4zLjQuNS0wLTIuanMgYi9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL2JpbmQvMTUuMy40LjUtMC0yLmpzCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3ZDExOWZiYTEzNzk2OWNmMTEwMjkwOTNkY2Ux
ZjhjMzY4Njg0ZTI2Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvYmlu
ZC8xNS4zLjQuNS0wLTIuanMKKysrIC9kZXYvbnVsbApAQCAtMSw5ICswLDAgQEAKLS8vIENvcHly
aWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLgot
Ly8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUg
TElDRU5TRSBmaWxlLgotCi0vKi0tLQotZXM1aWQ6IDE1LjMuNC41LTAtMgotZGVzY3JpcHRpb246
IEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kIG11c3QgZXhpc3QgYXMgYSBmdW5jdGlvbiB0YWtpbmcg
MSBwYXJhbWV0ZXIKLS0tLSovCi0KLWFzc2VydC5zYW1lVmFsdWUoRnVuY3Rpb24ucHJvdG90eXBl
LmJpbmQubGVuZ3RoLCAxLCAnRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQubGVuZ3RoJyk7CmRpZmYg
LS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBl
L2JpbmQvMTUuMy40LjUtMTMuYi0xLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L0Z1bmN0aW9uL3Byb3RvdHlwZS9iaW5kLzE1LjMuNC41LTEzLmItMS5qcwpkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggYzFkZmI0NzFhMjI5ODdjM2YzMTBiZWI1MzllZTc4ODM0NWQ2Mjk1
OC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL2JpbmQvMTUuMy40LjUt
MTMuYi0xLmpzCisrKyAvZGV2L251bGwKQEAgLTEsMTQgKzAsMCBAQAotLy8gQ29weXJpZ2h0IChj
KSAyMDEyIEVjbWEgSW50ZXJuYXRpb25hbC4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0vLyBUaGlz
IGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNF
IGZpbGUuCi0KLS8qLS0tCi1lczVpZDogMTUuMy40LjUtMTMuYi0xCi1kZXNjcmlwdGlvbjogRnVu
Y3Rpb24ucHJvdG90eXBlLmJpbmQsIGJvdW5kIGZuIGhhcyBhICdsZW5ndGgnIG93biBwcm9wZXJ0
eQotLS0tKi8KLQotZnVuY3Rpb24gZm9vKCkge30KLXZhciBvID0ge307Ci0KLXZhciBiZiA9IGZv
by5iaW5kKG8pOwotCi1hc3NlcnQoYmYuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpLCAnYmYuaGFz
T3duUHJvcGVydHkoImxlbmd0aCIpICE9PSB0cnVlJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL2JpbmQvMTUuMy40LjUtMTMu
Yi0yLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlw
ZS9iaW5kLzE1LjMuNC41LTEzLmItMi5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
YTk5Y2U4Y2QyZWFmZDBiMDY3MDU1NTVmZWI1Y2IxYzFlODBlM2VhYy4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL2JpbmQvMTUuMy40LjUtMTMuYi0yLmpzCisrKyAvZGV2
L251bGwKQEAgLTEsMTYgKzAsMCBAQAotLy8gQ29weXJpZ2h0IChjKSAyMDEyIEVjbWEgSW50ZXJu
YXRpb25hbC4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0vLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQg
YnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCi0KLS8qLS0tCi1l
czVpZDogMTUuMy40LjUtMTMuYi0yCi1kZXNjcmlwdGlvbjogPgotICAgIEZ1bmN0aW9uLnByb3Rv
dHlwZS5iaW5kLCAnbGVuZ3RoJyBzZXQgdG8gcmVtYWluaW5nIG51bWJlciBvZgotICAgIGV4cGVj
dGVkIGFyZ3MKLS0tLSovCi0KLWZ1bmN0aW9uIGZvbyh4LCB5KSB7fQotdmFyIG8gPSB7fTsKLQot
dmFyIGJmID0gZm9vLmJpbmQobyk7Ci0KLWFzc2VydC5zYW1lVmFsdWUoYmYubGVuZ3RoLCAyLCAn
YmYubGVuZ3RoJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
RnVuY3Rpb24vcHJvdG90eXBlL2JpbmQvMTUuMy40LjUtMTMuYi0zLmpzIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS9iaW5kLzE1LjMuNC41LTEzLmIt
My5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzcxMmFhZDQ0MGEwM2M5YjFlNmUy
NjE1ZmUyMzcxNzk2NDE2NTYzMC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90
eXBlL2JpbmQvMTUuMy40LjUtMTMuYi0zLmpzCisrKyAvZGV2L251bGwKQEAgLTEsMTYgKzAsMCBA
QAotLy8gQ29weXJpZ2h0IChjKSAyMDEyIEVjbWEgSW50ZXJuYXRpb25hbC4gIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCi0vLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZv
dW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCi0KLS8qLS0tCi1lczVpZDogMTUuMy40LjUtMTMuYi0z
Ci1kZXNjcmlwdGlvbjogPgotICAgIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kLCAnbGVuZ3RoJyBz
ZXQgdG8gcmVtYWluaW5nIG51bWJlciBvZgotICAgIGV4cGVjdGVkIGFyZ3MgKGFsbCBhcmdzIHBy
ZWZpbGxlZCkKLS0tLSovCi0KLWZ1bmN0aW9uIGZvbyh4LCB5KSB7fQotdmFyIG8gPSB7fTsKLQot
dmFyIGJmID0gZm9vLmJpbmQobywgNDIsIDEwMSk7Ci0KLWFzc2VydC5zYW1lVmFsdWUoYmYubGVu
Z3RoLCAwLCAnYmYubGVuZ3RoJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL2JpbmQvMTUuMy40LjUtMTMuYi00LmpzIGIvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS9iaW5kLzE1LjMu
NC41LTEzLmItNC5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOGZlMTYyYTIwMWU2
ODExMWVhZTVlZDkxOWI2Njc0MDg5M2YyZmMyOC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rp
b24vcHJvdG90eXBlL2JpbmQvMTUuMy40LjUtMTMuYi00LmpzCisrKyAvZGV2L251bGwKQEAgLTEs
MTYgKzAsMCBAQAotLy8gQ29weXJpZ2h0IChjKSAyMDEyIEVjbWEgSW50ZXJuYXRpb25hbC4gIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCi0vLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBs
aWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCi0KLS8qLS0tCi1lczVpZDogMTUuMy40
LjUtMTMuYi00Ci1kZXNjcmlwdGlvbjogPgotICAgIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kLCAn
bGVuZ3RoJyBzZXQgdG8gcmVtYWluaW5nIG51bWJlciBvZgotICAgIGV4cGVjdGVkIGFyZ3MgKHRh
cmdldCB0YWtlcyAwIGFyZ3MpCi0tLS0qLwotCi1mdW5jdGlvbiBmb28oKSB7fQotdmFyIG8gPSB7
fTsKLQotdmFyIGJmID0gZm9vLmJpbmQobyk7Ci0KLWFzc2VydC5zYW1lVmFsdWUoYmYubGVuZ3Ro
LCAwLCAnYmYubGVuZ3RoJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL2JpbmQvMTUuMy40LjUtMTMuYi01LmpzIGIvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS9iaW5kLzE1LjMuNC41
LTEzLmItNS5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzk1MjM2ZGEyNWFhYTQ5
MDIwMGYwMDllZmY1MDM0ZTU5OWZkNDUzOC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24v
cHJvdG90eXBlL2JpbmQvMTUuMy40LjUtMTMuYi01LmpzCisrKyAvZGV2L251bGwKQEAgLTEsMTYg
KzAsMCBAQAotLy8gQ29weXJpZ2h0IChjKSAyMDEyIEVjbWEgSW50ZXJuYXRpb25hbC4gIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCi0vLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNl
bnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCi0KLS8qLS0tCi1lczVpZDogMTUuMy40LjUt
MTMuYi01Ci1kZXNjcmlwdGlvbjogPgotICAgIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kLCAnbGVu
Z3RoJyBzZXQgdG8gcmVtYWluaW5nIG51bWJlciBvZgotICAgIGV4cGVjdGVkIGFyZ3MgKHRhcmdl
dCBwcm92aWRlZCBleHRyYSBhcmdzKQotLS0tKi8KLQotZnVuY3Rpb24gZm9vKCkge30KLXZhciBv
ID0ge307Ci0KLXZhciBiZiA9IGZvby5iaW5kKG8sIDQyKTsKLQotYXNzZXJ0LnNhbWVWYWx1ZShi
Zi5sZW5ndGgsIDAsICdiZi5sZW5ndGgnKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvYmluZC8xNS4zLjQuNS0xMy5iLTYuanMg
Yi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL2JpbmQv
MTUuMy40LjUtMTMuYi02LmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4YjUwZTEz
NDcwMTE3Yzg5N2I1ZDlmMzQzZWNlMDgyNGMyNjFlNzE1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9G
dW5jdGlvbi9wcm90b3R5cGUvYmluZC8xNS4zLjQuNS0xMy5iLTYuanMKKysrIC9kZXYvbnVsbApA
QCAtMSwxNiArMCwwIEBACi0vLyBDb3B5cmlnaHQgKGMpIDIwMTIgRWNtYSBJbnRlcm5hdGlvbmFs
LiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KLS8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUg
QlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KLQotLyotLS0KLWVzNWlkOiAx
NS4zLjQuNS0xMy5iLTYKLWRlc2NyaXB0aW9uOiA+Ci0gICAgRnVuY3Rpb24ucHJvdG90eXBlLmJp
bmQsICdsZW5ndGgnIHNldCB0byByZW1haW5pbmcgbnVtYmVyIG9mCi0gICAgZXhwZWN0ZWQgYXJn
cwotLS0tKi8KLQotZnVuY3Rpb24gZm9vKHgsIHkpIHt9Ci12YXIgbyA9IHt9OwotCi12YXIgYmYg
PSBmb28uYmluZChvLCA0Mik7Ci0KLWFzc2VydC5zYW1lVmFsdWUoYmYubGVuZ3RoLCAxLCAnYmYu
bGVuZ3RoJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVu
Y3Rpb24vcHJvdG90eXBlL2JpbmQvMTUuMy40LjUtMTUtMS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvYmluZC8xNS4zLjQuNS0xNS0xLmpzCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlMmNhN2NmZTgzZWFkMzlmMTY1ZDRhNzQxNzQ0
NmI5OGFjZjRkMTA3Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvYmlu
ZC8xNS4zLjQuNS0xNS0xLmpzCisrKyAvZGV2L251bGwKQEAgLTEsMTcgKzAsMCBAQAotLy8gQ29w
eXJpZ2h0IChjKSAyMDEyIEVjbWEgSW50ZXJuYXRpb25hbC4gIEFsbCByaWdodHMgcmVzZXJ2ZWQu
Ci0vLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRo
ZSBMSUNFTlNFIGZpbGUuCi0KLS8qLS0tCi1lczVpZDogMTUuMy40LjUtMTUtMQotZGVzY3JpcHRp
b246IEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kLCAnbGVuZ3RoJyBpcyBhIGRhdGEgdmFsdWVkIG93
biBwcm9wZXJ0eQotLS0tKi8KLQotZnVuY3Rpb24gZm9vKCkge30KLXZhciBvID0ge307Ci0KLXZh
ciBiZiA9IGZvby5iaW5kKG8pOwotdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNj
cmlwdG9yKGJmLCAnbGVuZ3RoJyk7Ci0KLWFzc2VydC5zYW1lVmFsdWUoZGVzYy5oYXNPd25Qcm9w
ZXJ0eSgndmFsdWUnKSwgdHJ1ZSwgJ2Rlc2MuaGFzT3duUHJvcGVydHkoInZhbHVlIiknKTsKLWFz
c2VydC5zYW1lVmFsdWUoZGVzYy5oYXNPd25Qcm9wZXJ0eSgnZ2V0JyksIGZhbHNlLCAnZGVzYy5o
YXNPd25Qcm9wZXJ0eSgiZ2V0IiknKTsKLWFzc2VydC5zYW1lVmFsdWUoZGVzYy5oYXNPd25Qcm9w
ZXJ0eSgnc2V0JyksIGZhbHNlLCAnZGVzYy5oYXNPd25Qcm9wZXJ0eSgic2V0IiknKTsKZGlmZiAt
LWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUv
YmluZC8xNS4zLjQuNS0xNS0yLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1
bmN0aW9uL3Byb3RvdHlwZS9iaW5kLzE1LjMuNC41LTE1LTIuanMKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDExY2FkNDNlZGUyNTE4OGVkYzZhMmM2ZjE2NzhmZmI4OGY3MDA5OTUuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS9iaW5kLzE1LjMuNC41LTE1LTIu
anMKKysrIC9kZXYvbnVsbApAQCAtMSwxOSArMCwwIEBACi0vLyBDb3B5cmlnaHQgKGMpIDIwMTIg
RWNtYSBJbnRlcm5hdGlvbmFsLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KLS8vIFRoaXMgY29kZSBp
cyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4K
LQotLyotLS0KLWVzNWlkOiAxNS4zLjQuNS0xNS0yCi1kZXNjcmlwdGlvbjogPgotICAgIEZ1bmN0
aW9uLnByb3RvdHlwZS5iaW5kLCAnbGVuZ3RoJyBpcyBhIGRhdGEgdmFsdWVkIG93biBwcm9wZXJ0
eQotLS0tKi8KLQotZnVuY3Rpb24gZm9vKCkge30KLXZhciBvID0ge307Ci0KLXZhciBiZiA9IGZv
by5iaW5kKG8pOwotdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGJm
LCAnbGVuZ3RoJyk7Ci0KLWFzc2VydC5zYW1lVmFsdWUoZGVzYy52YWx1ZSwgMCwgJ2Rlc2MudmFs
dWUnKTsKLWFzc2VydC5zYW1lVmFsdWUoZGVzYy5lbnVtZXJhYmxlLCBmYWxzZSwgJ2Rlc2MuZW51
bWVyYWJsZScpOwotYXNzZXJ0LnNhbWVWYWx1ZShkZXNjLndyaXRhYmxlLCBmYWxzZSwgJ2Rlc2Mu
d3JpdGFibGUnKTsKLWFzc2VydC5zYW1lVmFsdWUoZGVzYy5jb25maWd1cmFibGUsIHRydWUsICdk
ZXNjLmNvbmZpZ3VyYWJsZScpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS9iaW5kLzE1LjMuNC41LTE1LTMuanMgYi9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL2JpbmQvMTUuMy40LjUt
MTUtMy5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOGM1ZjA2ZjRjMGJiMTE0Yzhh
NGQ5YWQzZmJhY2MxNzAzODFlZDBhMi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJv
dG90eXBlL2JpbmQvMTUuMy40LjUtMTUtMy5qcworKysgL2Rldi9udWxsCkBAIC0xLDE4ICswLDAg
QEAKLS8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRz
IHJlc2VydmVkLgotLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBm
b3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgotCi0vKi0tLQotZXM1aWQ6IDE1LjMuNC41LTE1LTMK
LWRlc2NyaXB0aW9uOiA+Ci0gICAgRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQgLSBUaGUgW1tXcml0
YWJsZV1dIGF0dHJpYnV0ZSBvZiBsZW5ndGgKLSAgICBwcm9wZXJ0eSBpbiBGIHNldCBhcyBmYWxz
ZQotaW5jbHVkZXM6IFtwcm9wZXJ0eUhlbHBlci5qc10KLS0tLSovCi0KLWZ1bmN0aW9uIGZvbygp
IHt9Ci12YXIgb2JqID0gZm9vLmJpbmQoe30pOwotdmFyIGZsZW5ndGggPSBvYmoubGVuZ3RoOwot
Ci1hc3NlcnQob2JqLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSk7Ci12ZXJpZnlOb3RXcml0YWJs
ZShvYmosICJsZW5ndGgiLCBudWxsLCAxMDApOwotYXNzZXJ0LnNhbWVWYWx1ZShvYmoubGVuZ3Ro
LCBmbGVuZ3RoKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9G
dW5jdGlvbi9wcm90b3R5cGUvYmluZC8xNS4zLjQuNS0xNS00LmpzIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS9iaW5kLzE1LjMuNC41LTE1LTQuanMK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDFhYzdkYzRjNjcxZjMzNWNjMjU4M2I5MGRk
NWYyY2MzMjQ2MDc2MTkuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS9i
aW5kLzE1LjMuNC41LTE1LTQuanMKKysrIC9kZXYvbnVsbApAQCAtMSwyNCArMCwwIEBACi0vLyBD
b3B5cmlnaHQgKGMpIDIwMTIgRWNtYSBJbnRlcm5hdGlvbmFsLiAgQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KLS8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4g
dGhlIExJQ0VOU0UgZmlsZS4KLQotLyotLS0KLWVzNWlkOiAxNS4zLjQuNS0xNS00Ci1kZXNjcmlw
dGlvbjogPgotICAgIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kIC0gVGhlIFtbRW51bWVyYWJsZV1d
IGF0dHJpYnV0ZSBvZiBsZW5ndGgKLSAgICBwcm9wZXJ0eSBpbiBGIHNldCBhcyBmYWxzZQotLS0t
Ki8KLQotdmFyIGNhbkVudW1lcmFibGUgPSBmYWxzZTsKLXZhciBoYXNQcm9wZXJ0eSA9IGZhbHNl
OwotCi1mdW5jdGlvbiBmb28oKSB7fQotdmFyIG9iaiA9IGZvby5iaW5kKHt9KTsKLWhhc1Byb3Bl
cnR5ID0gb2JqLmhhc093blByb3BlcnR5KCJsZW5ndGgiKTsKLWZvciAodmFyIHByb3AgaW4gb2Jq
KSB7Ci0gIGlmIChwcm9wID09PSAibGVuZ3RoIikgewotICAgIGNhbkVudW1lcmFibGUgPSB0cnVl
OwotICB9Ci19Ci0KLWFzc2VydChoYXNQcm9wZXJ0eSwgJ2hhc1Byb3BlcnR5ICE9PSB0cnVlJyk7
Ci1hc3NlcnQuc2FtZVZhbHVlKGNhbkVudW1lcmFibGUsIGZhbHNlLCAnY2FuRW51bWVyYWJsZScp
OwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3By
b3RvdHlwZS9iaW5kLzE1LjMuNC41LTE1LTUuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL2JpbmQvMTUuMy40LjUtMTUtNS5qcwpkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggNDQ3ZDlkNjE3MWVlMzUxNzE5NmZkNGUwZTY5NzQzMDE2ZTJl
OWI1NC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL2JpbmQvMTUuMy40
LjUtMTUtNS5qcworKysgL2Rldi9udWxsCkBAIC0xLDIxICswLDAgQEAKLS8vIENvcHlyaWdodCAo
YykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLgotLy8gVGhp
cyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5T
RSBmaWxlLgotCi0vKi0tLQotZXM1aWQ6IDE1LjMuNC41LTE1LTUKLWRlc2NyaXB0aW9uOiA+Ci0g
ICAgRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQgLSBUaGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1
dGUgb2YgbGVuZ3RoCi0gICAgcHJvcGVydHkgaW4gRiBzZXQgYXMgdHJ1ZQotLS0tKi8KLQotdmFy
IGNhbkNvbmZpZ3VyYWJsZSA9IGZhbHNlOwotdmFyIGhhc1Byb3BlcnR5ID0gZmFsc2U7Ci0KLWZ1
bmN0aW9uIGZvbygpIHt9Ci12YXIgb2JqID0gZm9vLmJpbmQoe30pOwotaGFzUHJvcGVydHkgPSBv
YmouaGFzT3duUHJvcGVydHkoImxlbmd0aCIpOwotZGVsZXRlIG9iai5sZW5ndGg7Ci1jYW5Db25m
aWd1cmFibGUgPSAhb2JqLmhhc093blByb3BlcnR5KCJsZW5ndGgiKTsKLQotYXNzZXJ0KGhhc1By
b3BlcnR5LCAnaGFzUHJvcGVydHkgIT09IHRydWUnKTsKLWFzc2VydChjYW5Db25maWd1cmFibGUs
ICdjYW5Db25maWd1cmFibGUgIT09IHRydWUnKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvYmluZC9pbnN0YW5jZS1sZW5ndGgt
ZGVmYXVsdC12YWx1ZS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlv
bi9wcm90b3R5cGUvYmluZC9pbnN0YW5jZS1sZW5ndGgtZGVmYXVsdC12YWx1ZS5qcwpuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44NmQyMjcyNGQ4M2UyODU0YzA1Y2M1ZTY3NmM2ZTY3MzZiMjk3YjlhCi0tLSAvZGV2L251
bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlw
ZS9iaW5kL2luc3RhbmNlLWxlbmd0aC1kZWZhdWx0LXZhbHVlLmpzCkBAIC0wLDAgKzEsNTIgQEAK
Ky8vIENvcHlyaWdodCAoQykgMjAyMCBBbGV4ZXkgU2h2YXlrYS4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4g
dGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1mdW5jdGlvbi5wcm90b3R5cGUu
YmluZAorZGVzY3JpcHRpb246ID4KKyAgImxlbmd0aCIgdmFsdWUgb2YgYSBib3VuZCBmdW5jdGlv
biBkZWZhdWx0cyB0byAwLgorICBOb24tb3duIGFuZCBub24tbnVtYmVyICJsZW5ndGgiIHZhbHVl
cyBvZiB0YXJnZXQgZnVuY3Rpb24gYXJlIGlnbm9yZWQuCitpbmZvOiB8CisgIEZ1bmN0aW9uLnBy
b3RvdHlwZS5iaW5kICggdGhpc0FyZywgLi4uYXJncyApCisKKyAgWy4uLl0KKyAgNS4gTGV0IHRh
cmdldEhhc0xlbmd0aCBiZSA/IEhhc093blByb3BlcnR5KFRhcmdldCwgImxlbmd0aCIpLgorICA2
LiBJZiB0YXJnZXRIYXNMZW5ndGggaXMgdHJ1ZSwgdGhlbgorICAgIGEuIExldCB0YXJnZXRMZW4g
YmUgPyBHZXQoVGFyZ2V0LCAibGVuZ3RoIikuCisgICAgYi4gSWYgVHlwZSh0YXJnZXRMZW4pIGlz
IG5vdCBOdW1iZXIsIGxldCBMIGJlIDAuCisgICAgYy4gRWxzZSwKKyAgICAgIGkuIFNldCB0YXJn
ZXRMZW4gdG8gISBUb0ludGVnZXIodGFyZ2V0TGVuKS4KKyAgICAgIGlpLiBMZXQgTCBiZSB0aGUg
bGFyZ2VyIG9mIDAgYW5kIHRoZSByZXN1bHQgb2YgdGFyZ2V0TGVuIG1pbnVzIHRoZSBudW1iZXIg
b2YgZWxlbWVudHMgb2YgYXJncy4KKyAgNy4gRWxzZSwgbGV0IEwgYmUgMC4KKyAgOC4gUGVyZm9y
bSAhIFNldEZ1bmN0aW9uTGVuZ3RoKEYsIEwpLgorICBbLi4uXQorZmVhdHVyZXM6IFtTeW1ib2xd
CistLS0qLworCitmdW5jdGlvbiBmb28oKSB7fQorCitPYmplY3QuZGVmaW5lUHJvcGVydHkoZm9v
LCAibGVuZ3RoIiwge3ZhbHVlOiB1bmRlZmluZWR9KTsKK2Fzc2VydC5zYW1lVmFsdWUoZm9vLmJp
bmQobnVsbCwgMSkubGVuZ3RoLCAwLCAidW5kZWZpbmVkIik7CisKK09iamVjdC5kZWZpbmVQcm9w
ZXJ0eShmb28sICJsZW5ndGgiLCB7dmFsdWU6IG51bGx9KTsKK2Fzc2VydC5zYW1lVmFsdWUoZm9v
LmJpbmQobnVsbCwgMSkubGVuZ3RoLCAwLCAibnVsbCIpOworCitPYmplY3QuZGVmaW5lUHJvcGVy
dHkoZm9vLCAibGVuZ3RoIiwge3ZhbHVlOiB0cnVlfSk7Cithc3NlcnQuc2FtZVZhbHVlKGZvby5i
aW5kKG51bGwsIDEpLmxlbmd0aCwgMCwgImJvb2xlYW4iKTsKKworT2JqZWN0LmRlZmluZVByb3Bl
cnR5KGZvbywgImxlbmd0aCIsIHt2YWx1ZTogIjEifSk7Cithc3NlcnQuc2FtZVZhbHVlKGZvby5i
aW5kKG51bGwsIDEpLmxlbmd0aCwgMCwgInN0cmluZyIpOworCitPYmplY3QuZGVmaW5lUHJvcGVy
dHkoZm9vLCAibGVuZ3RoIiwge3ZhbHVlOiBTeW1ib2woIjEiKX0pOworYXNzZXJ0LnNhbWVWYWx1
ZShmb28uYmluZChudWxsLCAxKS5sZW5ndGgsIDAsICJzeW1ib2wiKTsKKworT2JqZWN0LmRlZmlu
ZVByb3BlcnR5KGZvbywgImxlbmd0aCIsIHt2YWx1ZTogbmV3IE51bWJlcigxKX0pOworYXNzZXJ0
LnNhbWVWYWx1ZShmb28uYmluZChudWxsLCAxKS5sZW5ndGgsIDAsICJOdW1iZXIgb2JqZWN0Iik7
CisKKworZnVuY3Rpb24gYmFyKCkge30KK09iamVjdC5zZXRQcm90b3R5cGVPZihiYXIsIHtsZW5n
dGg6IDQyfSk7Cithc3NlcnQoZGVsZXRlIGJhci5sZW5ndGgpOworCit2YXIgYm91bmQgPSBGdW5j
dGlvbi5wcm90b3R5cGUuYmluZC5jYWxsKGJhciwgbnVsbCwgMSk7Cithc3NlcnQuc2FtZVZhbHVl
KGJvdW5kLmxlbmd0aCwgMCwgIm5vdCBvd24iKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvYmluZC9pbnN0YW5jZS1sZW5ndGgt
ZXhjZWVkcy1pbnQzMi5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlv
bi9wcm90b3R5cGUvYmluZC9pbnN0YW5jZS1sZW5ndGgtZXhjZWVkcy1pbnQzMi5qcwpuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43NDQ2MjhhNmViOThiMDdhNGZmNThmZTY1MDNlNWVhYzRjNTRiNDM2Ci0tLSAvZGV2L251
bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlw
ZS9iaW5kL2luc3RhbmNlLWxlbmd0aC1leGNlZWRzLWludDMyLmpzCkBAIC0wLDAgKzEsMjkgQEAK
Ky8vIENvcHlyaWdodCAoQykgMjAxOCBBbmRyw6kgQmFyZ3VsbC4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4g
dGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1mdW5jdGlvbi5wcm90b3R5cGUu
YmluZAorZGVzY3JpcHRpb246ID4KKyAgVGhlIHRhcmdldCBmdW5jdGlvbiBsZW5ndGggY2FuIGV4
Y2VlZCAyKiozMS0xLgoraW5mbzogfAorICAxOS4yLjMuMiBGdW5jdGlvbi5wcm90b3R5cGUuYmlu
ZCAoIHRoaXNBcmcsIC4uLmFyZ3MgKQorCisgIC4uLgorICA2LiBJZiB0YXJnZXRIYXNMZW5ndGgg
aXMgdHJ1ZSwgdGhlbgorICAgIGEuIExldCB0YXJnZXRMZW4gYmUgPyBHZXQoVGFyZ2V0LCAibGVu
Z3RoIikuCisgICAgYi4gSWYgVHlwZSh0YXJnZXRMZW4pIGlzIG5vdCBOdW1iZXIsIGxldCBMIGJl
IDAuCisgICAgYy4gRWxzZSwKKyAgICAgIGkuIExldCB0YXJnZXRMZW4gYmUgVG9JbnRlZ2VyKHRh
cmdldExlbikuCisgICAgICBpaS4gTGV0IEwgYmUgdGhlIGxhcmdlciBvZiAwIGFuZCB0aGUgcmVz
dWx0IG9mIHRhcmdldExlbiBtaW51cyB0aGUgbnVtYmVyIG9mIGVsZW1lbnRzIG9mIGFyZ3MuCisg
IC4uLgorICA4LiBQZXJmb3JtICEgU2V0RnVuY3Rpb25MZW5ndGgoRiwgTCkuCisgIC4uLgorLS0t
Ki8KKworZnVuY3Rpb24gZigpe30KK09iamVjdC5kZWZpbmVQcm9wZXJ0eShmLCAibGVuZ3RoIiwg
e3ZhbHVlOiAyMTQ3NDgzNjQ4fSk7CisKK2Fzc2VydC5zYW1lVmFsdWUoZi5iaW5kKCkubGVuZ3Ro
LCAyMTQ3NDgzNjQ4KTsKKworT2JqZWN0LmRlZmluZVByb3BlcnR5KGYsICJsZW5ndGgiLCB7dmFs
dWU6IE51bWJlci5NQVhfU0FGRV9JTlRFR0VSfSk7Cithc3NlcnQuc2FtZVZhbHVlKGYuYmluZCgp
Lmxlbmd0aCwgTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVIpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS9iaW5kL2luc3RhbmNlLWxl
bmd0aC1wcm9wLWRlc2MuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rp
b24vcHJvdG90eXBlL2JpbmQvaW5zdGFuY2UtbGVuZ3RoLXByb3AtZGVzYy5qcwpuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li41YjkzMGJiMzY1YTYyYTQyYjQwNWNmMjk0MjY4M2FmNzNlODNmMWMwCi0tLSAvZGV2L251bGwK
KysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS9i
aW5kL2luc3RhbmNlLWxlbmd0aC1wcm9wLWRlc2MuanMKQEAgLTAsMCArMSwzMCBAQAorLy8gQ29w
eXJpZ2h0IChjKSAyMDEyIEVjbWEgSW50ZXJuYXRpb25hbC4gIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRo
ZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtZnVuY3Rpb24ucHJvdG90eXBlLmJp
bmQKK2Rlc2NyaXB0aW9uOiA+CisgICJsZW5ndGgiIHByb3BlcnR5IG9mIGEgYm91bmQgZnVuY3Rp
b24gaGFzIGNvcnJlY3QgZGVzY3JpcHRvci4KK2luZm86IHwKKyAgRnVuY3Rpb24ucHJvdG90eXBl
LmJpbmQgKCB0aGlzQXJnLCAuLi5hcmdzICkKKworICBbLi4uXQorICA4LiBQZXJmb3JtICEgU2V0
RnVuY3Rpb25MZW5ndGgoRiwgTCkuCisgIFsuLi5dCisKKyAgU2V0RnVuY3Rpb25MZW5ndGggKCBG
LCBsZW5ndGggKQorCisgIFsuLi5dCisgIDQuIFJldHVybiAhIERlZmluZVByb3BlcnR5T3JUaHJv
dyhGLCAibGVuZ3RoIiwgUHJvcGVydHlEZXNjcmlwdG9yIHsgW1tWYWx1ZV1dOgorICBsZW5ndGgs
IFtbV3JpdGFibGVdXTogZmFsc2UsIFtbRW51bWVyYWJsZV1dOiBmYWxzZSwgW1tDb25maWd1cmFi
bGVdXTogdHJ1ZSB9KS4KK2luY2x1ZGVzOiBbcHJvcGVydHlIZWxwZXIuanNdCistLS0qLworCitm
dW5jdGlvbiBmbigpIHt9CisKK3ZlcmlmeVByb3BlcnR5KGZuLmJpbmQobnVsbCksICJsZW5ndGgi
LCB7CisgIHZhbHVlOiAwLAorICB3cml0YWJsZTogZmFsc2UsCisgIGVudW1lcmFibGU6IGZhbHNl
LAorICBjb25maWd1cmFibGU6IHRydWUsCit9KTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvYmluZC9pbnN0YW5jZS1sZW5ndGgt
cmVtYWluaW5nLWFyZ3MuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rp
b24vcHJvdG90eXBlL2JpbmQvaW5zdGFuY2UtbGVuZ3RoLXJlbWFpbmluZy1hcmdzLmpzCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmQyNDA2YjhjYTkwNjZjNjBiOWJlZTE5NzUyOTBjNzExNjZiNzljMGYKLS0tIC9kZXYv
bnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90
eXBlL2JpbmQvaW5zdGFuY2UtbGVuZ3RoLXJlbWFpbmluZy1hcmdzLmpzCkBAIC0wLDAgKzEsMzUg
QEAKKy8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRz
IHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBm
b3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLWZ1bmN0aW9uLnBy
b3RvdHlwZS5iaW5kCitkZXNjcmlwdGlvbjogPgorICAibGVuZ3RoIiB2YWx1ZSBvZiBhIGJvdW5k
IGZ1bmN0aW9uIGlzIHNldCB0byByZW1haW5pbmcgbnVtYmVyCisgIG9mIGFyZ3VtZW50cyBleHBl
Y3RlZCBieSB0YXJnZXQgZnVuY3Rpb24uIEV4dHJhIGFyZ3VtZW50cyBhcmUgaWdub3JlZC4KK2lu
Zm86IHwKKyAgRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQgKCB0aGlzQXJnLCAuLi5hcmdzICkKKwor
ICBbLi4uXQorICA1LiBMZXQgdGFyZ2V0SGFzTGVuZ3RoIGJlID8gSGFzT3duUHJvcGVydHkoVGFy
Z2V0LCAibGVuZ3RoIikuCisgIDYuIElmIHRhcmdldEhhc0xlbmd0aCBpcyB0cnVlLCB0aGVuCisg
ICAgYS4gTGV0IHRhcmdldExlbiBiZSA/IEdldChUYXJnZXQsICJsZW5ndGgiKS4KKyAgICBiLiBJ
ZiBUeXBlKHRhcmdldExlbikgaXMgbm90IE51bWJlciwgbGV0IEwgYmUgMC4KKyAgICBjLiBFbHNl
LAorICAgICAgaS4gU2V0IHRhcmdldExlbiB0byAhIFRvSW50ZWdlcih0YXJnZXRMZW4pLgorICAg
ICAgaWkuIExldCBMIGJlIHRoZSBsYXJnZXIgb2YgMCBhbmQgdGhlIHJlc3VsdCBvZiB0YXJnZXRM
ZW4gbWludXMgdGhlIG51bWJlciBvZiBlbGVtZW50cyBvZiBhcmdzLgorICA3LiBFbHNlLCBsZXQg
TCBiZSAwLgorICA4LiBQZXJmb3JtICEgU2V0RnVuY3Rpb25MZW5ndGgoRiwgTCkuCisgIFsuLi5d
CistLS0qLworCitmdW5jdGlvbiBmb28oKSB7fQorCithc3NlcnQuc2FtZVZhbHVlKGZvby5iaW5k
KG51bGwpLmxlbmd0aCwgMCwgJzAvMCcpOworYXNzZXJ0LnNhbWVWYWx1ZShmb28uYmluZChudWxs
LCAxKS5sZW5ndGgsIDAsICcxLzAnKTsKKworZnVuY3Rpb24gYmFyKHgsIHkpIHt9CisKK2Fzc2Vy
dC5zYW1lVmFsdWUoYmFyLmJpbmQobnVsbCkubGVuZ3RoLCAyLCAnMC8yJyk7Cithc3NlcnQuc2Ft
ZVZhbHVlKGJhci5iaW5kKG51bGwsIDEpLmxlbmd0aCwgMSwgJzEvMicpOworYXNzZXJ0LnNhbWVW
YWx1ZShiYXIuYmluZChudWxsLCAxLCAyKS5sZW5ndGgsIDAsICcyLzInKTsKK2Fzc2VydC5zYW1l
VmFsdWUoYmFyLmJpbmQobnVsbCwgMSwgMiwgMykubGVuZ3RoLCAwLCAnMy8yJyk7CmRpZmYgLS1n
aXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL2Jp
bmQvaW5zdGFuY2UtbGVuZ3RoLXRvaW50ZWdlci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvYmluZC9pbnN0YW5jZS1sZW5ndGgtdG9pbnRlZ2Vy
LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjg3NmVkNDdiNTE2ZTJiNDc0ZWMwZTE3NzhkYzkzNjI1N2VhZTJjZDYK
LS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rp
b24vcHJvdG90eXBlL2JpbmQvaW5zdGFuY2UtbGVuZ3RoLXRvaW50ZWdlci5qcwpAQCAtMCwwICsx
LDUyIEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgQWxleGV5IFNodmF5a2EuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZv
dW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtZnVuY3Rpb24ucHJv
dG90eXBlLmJpbmQKK2Rlc2NyaXB0aW9uOiA+CisgICJsZW5ndGgiIHZhbHVlIG9mIGEgYm91bmQg
ZnVuY3Rpb24gaXMgbm9uLW5lZ2F0aXZlIGludGVnZXIuCisgIFRvSW50ZWdlciBpcyBwZXJmb3Jt
ZWQgb24gImxlbmd0aCIgdmFsdWUgb2YgdGFyZ2V0IGZ1bmN0aW9uLgoraW5mbzogfAorICBGdW5j
dGlvbi5wcm90b3R5cGUuYmluZCAoIHRoaXNBcmcsIC4uLmFyZ3MgKQorCisgIFsuLi5dCisgIDUu
IExldCB0YXJnZXRIYXNMZW5ndGggYmUgPyBIYXNPd25Qcm9wZXJ0eShUYXJnZXQsICJsZW5ndGgi
KS4KKyAgNi4gSWYgdGFyZ2V0SGFzTGVuZ3RoIGlzIHRydWUsIHRoZW4KKyAgICBhLiBMZXQgdGFy
Z2V0TGVuIGJlID8gR2V0KFRhcmdldCwgImxlbmd0aCIpLgorICAgIGIuIElmIFR5cGUodGFyZ2V0
TGVuKSBpcyBub3QgTnVtYmVyLCBsZXQgTCBiZSAwLgorICAgIGMuIEVsc2UsCisgICAgICBpLiBT
ZXQgdGFyZ2V0TGVuIHRvICEgVG9JbnRlZ2VyKHRhcmdldExlbikuCisgICAgICBpaS4gTGV0IEwg
YmUgdGhlIGxhcmdlciBvZiAwIGFuZCB0aGUgcmVzdWx0IG9mIHRhcmdldExlbiBtaW51cyB0aGUg
bnVtYmVyIG9mIGVsZW1lbnRzIG9mIGFyZ3MuCisgIDcuIEVsc2UsIGxldCBMIGJlIDAuCisgIDgu
IFBlcmZvcm0gISBTZXRGdW5jdGlvbkxlbmd0aChGLCBMKS4KKyAgWy4uLl0KKworICBUb0ludGVn
ZXIgKCBhcmd1bWVudCApCisKKyAgMS4gTGV0IG51bWJlciBiZSA/IFRvTnVtYmVyKGFyZ3VtZW50
KS4KKyAgMi4gSWYgbnVtYmVyIGlzIE5hTiwgKzAsIG9yIC0wLCByZXR1cm4gKzAuCisgIDMuIElm
IG51bWJlciBpcyAr4oieIG9yIC3iiJ4sIHJldHVybiBudW1iZXIuCisgIDQuIExldCBpbnRlZ2Vy
IGJlIHRoZSBOdW1iZXIgdmFsdWUgdGhhdCBpcyB0aGUgc2FtZSBzaWduIGFzIG51bWJlciBhbmQg
d2hvc2UgbWFnbml0dWRlIGlzIGZsb29yKGFicyhudW1iZXIpKS4KKyAgNS4gSWYgaW50ZWdlciBp
cyAtMCwgcmV0dXJuICswLgorICA2LiBSZXR1cm4gaW50ZWdlci4KKy0tLSovCisKK2Z1bmN0aW9u
IGZuKCkge30KKworT2JqZWN0LmRlZmluZVByb3BlcnR5KGZuLCAibGVuZ3RoIiwge3ZhbHVlOiBO
YU59KTsKK2Fzc2VydC5zYW1lVmFsdWUoZm4uYmluZCgpLmxlbmd0aCwgMCk7CisKK09iamVjdC5k
ZWZpbmVQcm9wZXJ0eShmbiwgImxlbmd0aCIsIHt2YWx1ZTogLTB9KTsKK2Fzc2VydC5zYW1lVmFs
dWUoZm4uYmluZCgpLmxlbmd0aCwgMCk7CisKK09iamVjdC5kZWZpbmVQcm9wZXJ0eShmbiwgImxl
bmd0aCIsIHt2YWx1ZTogSW5maW5pdHl9KTsKK2Fzc2VydC5zYW1lVmFsdWUoZm4uYmluZCgpLmxl
bmd0aCwgSW5maW5pdHkpOworCitPYmplY3QuZGVmaW5lUHJvcGVydHkoZm4sICJsZW5ndGgiLCB7
dmFsdWU6IC1JbmZpbml0eX0pOworYXNzZXJ0LnNhbWVWYWx1ZShmbi5iaW5kKCkubGVuZ3RoLCAw
KTsKKworT2JqZWN0LmRlZmluZVByb3BlcnR5KGZuLCAibGVuZ3RoIiwge3ZhbHVlOiAzLjY2fSk7
Cithc3NlcnQuc2FtZVZhbHVlKGZuLmJpbmQoKS5sZW5ndGgsIDMpOworCitPYmplY3QuZGVmaW5l
UHJvcGVydHkoZm4sICJsZW5ndGgiLCB7dmFsdWU6IC0wLjc3fSk7Cithc3NlcnQuc2FtZVZhbHVl
KGZuLmJpbmQoKS5sZW5ndGgsIDApOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS9iaW5kL2xlbmd0aC1leGNlZWRzLWludDMyLmpz
IGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS9iaW5k
L2xlbmd0aC1leGNlZWRzLWludDMyLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5
NWZkODFjMGM0YzFiOGYzYTM4YjBkNmFjMzgyZjg0MmIxOGYzOGUxLi4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvYmluZC9sZW5ndGgtZXhjZWVkcy1pbnQzMi5qcworKysg
L2Rldi9udWxsCkBAIC0xLDI2ICswLDAgQEAKLS8vIENvcHlyaWdodCAoQykgMjAxOCBBbmRyw6kg
QmFyZ3VsbC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLS8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBi
eSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KLQotLyotLS0KLWVz
aWQ6IHNlYy1mdW5jdGlvbi5wcm90b3R5cGUuYmluZAotZGVzY3JpcHRpb246ID4KLSAgVGhlIHRh
cmdldCBmdW5jdGlvbiBsZW5ndGggY2FuIGV4Y2VlZCAyKiozMS0xLgotaW5mbzogfAotICAxOS4y
LjMuMiBGdW5jdGlvbi5wcm90b3R5cGUuYmluZCAoIHRoaXNBcmcsIC4uLmFyZ3MgKQotCi0gIC4u
LgotICA2LiBJZiB0YXJnZXRIYXNMZW5ndGggaXMgdHJ1ZSwgdGhlbgotICAgIGEuIExldCB0YXJn
ZXRMZW4gYmUgPyBHZXQoVGFyZ2V0LCAibGVuZ3RoIikuCi0gICAgYi4gSWYgVHlwZSh0YXJnZXRM
ZW4pIGlzIG5vdCBOdW1iZXIsIGxldCBMIGJlIDAuCi0gICAgYy4gRWxzZSwKLSAgICAgIGkuIExl
dCB0YXJnZXRMZW4gYmUgVG9JbnRlZ2VyKHRhcmdldExlbikuCi0gICAgICBpaS4gTGV0IEwgYmUg
dGhlIGxhcmdlciBvZiAwIGFuZCB0aGUgcmVzdWx0IG9mIHRhcmdldExlbiBtaW51cyB0aGUgbnVt
YmVyIG9mIGVsZW1lbnRzIG9mIGFyZ3MuCi0gIC4uLgotICA4LiBQZXJmb3JtICEgU2V0RnVuY3Rp
b25MZW5ndGgoRiwgTCkuCi0gIC4uLgotLS0tKi8KLQotZnVuY3Rpb24gZigpe30KLU9iamVjdC5k
ZWZpbmVQcm9wZXJ0eShmLCAibGVuZ3RoIiwge3ZhbHVlOiAyMTQ3NDgzNjQ4fSk7Ci0KLWFzc2Vy
dC5zYW1lVmFsdWUoZi5iaW5kKCkubGVuZ3RoLCAyMTQ3NDgzNjQ4KTsKZGlmZiAtLWdpdCBhL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvYmluZC9sZW5n
dGguanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBl
L2JpbmQvbGVuZ3RoLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY1Y2E5OTczYzU0MDg0ZjAzZmFlNTVlODUwNTZm
NjAyMjJhNDc2NDQKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL2JpbmQvbGVuZ3RoLmpzCkBAIC0wLDAgKzEsMjkgQEAK
Ky8vIENvcHlyaWdodCAoQykgMjAyMCBBbGV4ZXkgU2h2YXlrYS4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4g
dGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1mdW5jdGlvbi5wcm90b3R5cGUu
YmluZAorZGVzY3JpcHRpb246ID4KKyAgRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQubGVuZ3RoIGlz
IDEuCitpbmZvOiB8CisgIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kICggdGhpc0FyZywgLi4uYXJn
cyApCisKKyAgRUNNQVNjcmlwdCBTdGFuZGFyZCBCdWlsdC1pbiBPYmplY3RzCisKKyAgRXZlcnkg
YnVpbHQtaW4gZnVuY3Rpb24gb2JqZWN0LCBpbmNsdWRpbmcgY29uc3RydWN0b3JzLCBoYXMgYSAi
bGVuZ3RoIiBwcm9wZXJ0eSB3aG9zZQorICB2YWx1ZSBpcyBhbiBpbnRlZ2VyLiBVbmxlc3Mgb3Ro
ZXJ3aXNlIHNwZWNpZmllZCwgdGhpcyB2YWx1ZSBpcyBlcXVhbCB0byB0aGUgbGFyZ2VzdAorICBu
dW1iZXIgb2YgbmFtZWQgYXJndW1lbnRzIHNob3duIGluIHRoZSBzdWJjbGF1c2UgaGVhZGluZ3Mg
Zm9yIHRoZSBmdW5jdGlvbiBkZXNjcmlwdGlvbi4KKyAgT3B0aW9uYWwgcGFyYW1ldGVycyAod2hp
Y2ggYXJlIGluZGljYXRlZCB3aXRoIGJyYWNrZXRzOiBbIF0pIG9yIHJlc3QgcGFyYW1ldGVycyAo
d2hpY2gKKyAgYXJlIHNob3duIHVzaW5nIHRoZSBmb3JtIMKrLi4ubmFtZcK7KSBhcmUgbm90IGlu
Y2x1ZGVkIGluIHRoZSBkZWZhdWx0IGFyZ3VtZW50IGNvdW50LgorCisgIFVubGVzcyBvdGhlcndp
c2Ugc3BlY2lmaWVkLCB0aGUgImxlbmd0aCIgcHJvcGVydHkgb2YgYSBidWlsdC1pbiBmdW5jdGlv
biBvYmplY3QgaGFzCisgIHRoZSBhdHRyaWJ1dGVzIHsgW1tXcml0YWJsZV1dOiBmYWxzZSwgW1tF
bnVtZXJhYmxlXV06IGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dOiB0cnVlIH0uCitpbmNsdWRlczog
W3Byb3BlcnR5SGVscGVyLmpzXQorLS0tKi8KKwordmVyaWZ5UHJvcGVydHkoRnVuY3Rpb24ucHJv
dG90eXBlLmJpbmQsICJsZW5ndGgiLCB7CisgIHZhbHVlOiAxLAorICB3cml0YWJsZTogZmFsc2Us
CisgIGVudW1lcmFibGU6IGZhbHNlLAorICBjb25maWd1cmFibGU6IHRydWUsCit9KTsKZGlmZiAt
LWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUv
bGVuZ3RoLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3Rv
dHlwZS9sZW5ndGguanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmMxYjQ4OWJmZmQ4MWRhZDA2OWU0YjEyZmI3Y2E3
NmU3MjAxMjNiMQotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvbGVuZ3RoLmpzCkBAIC0wLDAgKzEsMjggQEAKKy8vIENv
cHlyaWdodCAoQykgMjAyMCBBbGV4ZXkgU2h2YXlrYS4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8v
IFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJ
Q0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1wcm9wZXJ0aWVzLW9mLXRoZS1mdW5jdGlv
bi1wcm90b3R5cGUtb2JqZWN0CitkZXNjcmlwdGlvbjogPgorICBGdW5jdGlvbi5wcm90b3R5cGUu
bGVuZ3RoIGlzIDAuCitpbmZvOiB8CisgIFByb3BlcnRpZXMgb2YgdGhlIEZ1bmN0aW9uIFByb3Rv
dHlwZSBPYmplY3QKKworICBUaGUgRnVuY3Rpb24gcHJvdG90eXBlIG9iamVjdDoKKworICBbLi4u
XQorICAqIGhhcyBhICJsZW5ndGgiIHByb3BlcnR5IHdob3NlIHZhbHVlIGlzIDAuCisKKyAgRUNN
QVNjcmlwdCBTdGFuZGFyZCBCdWlsdC1pbiBPYmplY3RzCisKKyAgVW5sZXNzIG90aGVyd2lzZSBz
cGVjaWZpZWQsIHRoZSAibGVuZ3RoIiBwcm9wZXJ0eSBvZiBhIGJ1aWx0LWluIGZ1bmN0aW9uIG9i
amVjdCBoYXMKKyAgdGhlIGF0dHJpYnV0ZXMgeyBbW1dyaXRhYmxlXV06IGZhbHNlLCBbW0VudW1l
cmFibGVdXTogZmFsc2UsIFtbQ29uZmlndXJhYmxlXV06IHRydWUgfS4KK2luY2x1ZGVzOiBbcHJv
cGVydHlIZWxwZXIuanNdCistLS0qLworCit2ZXJpZnlQcm9wZXJ0eShGdW5jdGlvbi5wcm90b3R5
cGUsICJsZW5ndGgiLCB7CisgIHZhbHVlOiAwLAorICB3cml0YWJsZTogZmFsc2UsCisgIGVudW1l
cmFibGU6IGZhbHNlLAorICBjb25maWd1cmFibGU6IHRydWUsCit9KTsKZGlmZiAtLWdpdCBhL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvdG9TdHJpbmcv
YnVpbHQtaW4tZnVuY3Rpb24tb2JqZWN0LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS90b1N0cmluZy9idWlsdC1pbi1mdW5jdGlvbi1vYmplY3Qu
anMKaW5kZXggODU0Y2E0NWM5YWVmYTljMzExZmVlY2U1OTlmODYyMDc1ZDAwNDJmOS4uYzczMTBj
NWMzNzVmMDg2YmVhOTQxYmU2MjY0NTU0ZDhjZWY1YTk1ZSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS90b1N0cmluZy9idWlsdC1p
bi1mdW5jdGlvbi1vYmplY3QuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L0Z1bmN0aW9uL3Byb3RvdHlwZS90b1N0cmluZy9idWlsdC1pbi1mdW5jdGlvbi1vYmplY3QuanMK
QEAgLTYsNDMgKzYsNTEgQEAgZGVzY3JpcHRpb246ID4KICAgdG9TdHJpbmcgb2YgYnVpbHQtaW4g
RnVuY3Rpb24gb2JqZWN0CiBpbmZvOiB8CiAgIC4uLgotICBJZiBmdW5jIGlzIGEgQm91bmQgRnVu
Y3Rpb24gZXhvdGljIG9iamVjdCBvciBhIGJ1aWx0LWluIEZ1bmN0aW9uIG9iamVjdCwgdGhlbiBy
ZXR1cm4gYW4gaW1wbGVtZW50YXRpb24tZGVwZW5kZW50IFN0cmluZyBzb3VyY2UgY29kZSByZXBy
ZXNlbnRhdGlvbiBvZiBmdW5jLgorICBJZiBmdW5jIGlzIGEgYnVpbHQtaW4gRnVuY3Rpb24gb2Jq
ZWN0LCB0aGVuIHJldHVybiBhbiBpbXBsZW1lbnRhdGlvbi1kZXBlbmRlbnQgU3RyaW5nIHNvdXJj
ZSBjb2RlIHJlcHJlc2VudGF0aW9uIG9mIGZ1bmMuCiAgIFRoZSByZXByZXNlbnRhdGlvbiBtdXN0
IGhhdmUgdGhlIHN5bnRheCBvZiBhIE5hdGl2ZUZ1bmN0aW9uLgogICAuLi4KIAogICBOYXRpdmVG
dW5jdGlvbjoKLSAgICBmdW5jdGlvbiBJZGVudGlmaWVyTmFtZV9vcHQgKCBGb3JtYWxQYXJhbWV0
ZXJzICkgeyBbIG5hdGl2ZSBjb2RlIF0gfQorICAgIGZ1bmN0aW9uIE5hdGl2ZUZ1bmN0aW9uQWNj
ZXNzb3Jfb3B0IElkZW50aWZpZXJOYW1lX29wdCAoIEZvcm1hbFBhcmFtZXRlcnMgKSB7IFsgbmF0
aXZlIGNvZGUgXSB9CisgIE5hdGl2ZUZ1bmN0aW9uQWNjZXNzb3IgOgorICAgIGdldAorICAgIHNl
dAogCiBpbmNsdWRlczogW25hdGl2ZUZ1bmN0aW9uTWF0Y2hlci5qcywgd2VsbEtub3duSW50cmlu
c2ljT2JqZWN0cy5qc10KLWZlYXR1cmVzOiBbYXJyb3ctZnVuY3Rpb25dCitmZWF0dXJlczogW2Fy
cm93LWZ1bmN0aW9uLCBSZWZsZWN0XQogLS0tKi8KIAotdmFyIHZpc2l0ZWQgPSBbXTsKLXZhciB2
ZXJpZmllZCA9IFtdOwotCi1mdW5jdGlvbiB2aXNpdChvYmplY3QpIHsKLSAgaWYgKHZpc2l0ZWQu
aW5jbHVkZXMob2JqZWN0KSkgeworY29uc3QgdmlzaXRlZCA9IFtdOworZnVuY3Rpb24gdmlzaXQo
bnMsIHBhdGgpIHsKKyAgaWYgKHZpc2l0ZWQuaW5jbHVkZXMobnMpKSB7CiAgICAgcmV0dXJuOwog
ICB9CisgIHZpc2l0ZWQucHVzaChucyk7CiAKLSAgdmlzaXRlZC5wdXNoKG9iamVjdCk7Ci0KLSAg
aWYgKHR5cGVvZiBvYmplY3QgPT09ICJmdW5jdGlvbiIpIHsKLSAgICBhc3NlcnROYXRpdmVGdW5j
dGlvbihvYmplY3QpOwotICAgIHZlcmlmaWVkLnB1c2gob2JqZWN0Lm5hbWUpOworICBpZiAodHlw
ZW9mIG5zID09PSAnZnVuY3Rpb24nKSB7CisgICAgYXNzZXJ0TmF0aXZlRnVuY3Rpb24obnMsIHBh
dGgpOworICB9CisgIGlmICh0eXBlb2YgbnMgIT09ICdmdW5jdGlvbicgJiYgKHR5cGVvZiBucyAh
PT0gJ29iamVjdCcgfHwgbnMgPT09IG51bGwpKSB7CisgICAgcmV0dXJuOwogICB9CiAKLSAgZm9y
ICh2YXIgcHJvcGVydHkgb2YgT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMob2JqZWN0KSkgewot
ICAgIGlmICh0eXBlb2Ygb2JqZWN0W3Byb3BlcnR5XSA9PT0gImZ1bmN0aW9uIiB8fAotICAgICAg
ICB0eXBlb2Ygb2JqZWN0W3Byb3BlcnR5XSA9PT0gIm9iamVjdCIpIHsKLSAgICAgIHRyeSB7Ci0g
ICAgICAgIHZpc2l0KG9iamVjdFtwcm9wZXJ0eV0sIGFzc2VydE5hdGl2ZUZ1bmN0aW9uKTsKLSAg
ICAgIH0gY2F0Y2goZXJyb3IpIHsKLSAgICAgICAgLyogd2UgZG9uJ3QgYWN0dWFsbHkgd2FudCB0
byBkbyBhbnl0aGluZyBhYm91dCBmYWlsdXJlcyBoZXJlICovCisgIGNvbnN0IGRlc2NyaXB0b3Jz
ID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnMobnMpOworICBSZWZsZWN0Lm93bktl
eXMoZGVzY3JpcHRvcnMpCisgICAgLmZvckVhY2goKG5hbWUpID0+IHsKKyAgICAgIGNvbnN0IGRl
c2MgPSBkZXNjcmlwdG9yc1tuYW1lXTsKKyAgICAgIGNvbnN0IHAgPSB0eXBlb2YgbmFtZSA9PT0g
J3N5bWJvbCcKKyAgICAgICAgPyBgJHtwYXRofVtTeW1ib2woJHtuYW1lLmRlc2NyaXB0aW9ufSld
YAorICAgICAgICA6IGAke3BhdGh9LiR7bmFtZX1gOworICAgICAgaWYgKCd2YWx1ZScgaW4gZGVz
YykgeworICAgICAgICB2aXNpdChkZXNjLnZhbHVlLCBwKTsKKyAgICAgIH0gZWxzZSB7CisgICAg
ICAgIHZpc2l0KGRlc2MuZ2V0LCBwKTsKKyAgICAgICAgdmlzaXQoZGVzYy5zZXQsIHApOwogICAg
ICAgfQotICAgIH0KLSAgfQorICAgIH0pOwogfQogCi12aXNpdChXZWxsS25vd25JbnRyaW5zaWNP
YmplY3RzLm1hcCh3a2lvID0+IHdraW8ucmVmZXJlbmNlKSk7Ci1hc3NlcnQubm90U2FtZVZhbHVl
KHZlcmlmaWVkLmxlbmd0aCwgMCk7CitXZWxsS25vd25JbnRyaW5zaWNPYmplY3RzLmZvckVhY2go
KGludHJpbnNpYykgPT4geworICB2aXNpdChpbnRyaW5zaWMudmFsdWUsIGludHJpbnNpYy5uYW1l
KTsKK30pOworYXNzZXJ0Lm5vdFNhbWVWYWx1ZSh2aXNpdGVkLmxlbmd0aCwgMCk7CmRpZmYgLS1n
aXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL3Rv
U3RyaW5nL3dlbGwta25vd24taW50cmluc2ljLW9iamVjdC1mdW5jdGlvbnMuanMgYi9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL3RvU3RyaW5nL3dlbGwt
a25vd24taW50cmluc2ljLW9iamVjdC1mdW5jdGlvbnMuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDMzNzAxNmMyYjEyZTk5Yjk2MmNhNzYyNGE2ZTc5ZDY1NjRkMTkwYzAuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS90b1N0cmluZy93ZWxsLWtub3duLWlu
dHJpbnNpYy1vYmplY3QtZnVuY3Rpb25zLmpzCisrKyAvZGV2L251bGwKQEAgLTEsMjggKzAsMCBA
QAotLy8gQ29weXJpZ2h0IChDKSAyMDE2IE1pY2hhZWwgRmljYXJyYS4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KLS8vIENvcHlyaWdodCAoQykgMjAxOCB0aGUgVjggcHJvamVjdCBhdXRob3JzLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgotLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGlj
ZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgotLyotLS0KLWVzaWQ6IHNlYy1mdW5jdGlv
bi5wcm90b3R5cGUudG9zdHJpbmcKLWRlc2NyaXB0aW9uOiA+Ci0gIHRvU3RyaW5nIG9mIFdlbGwt
S25vd24gSW50cmluc2ljIE9iamVjdAotaW5mbzogfAotICAuLi4KLSAgSWYgZnVuYyBpcyBhIEJv
dW5kIEZ1bmN0aW9uIGV4b3RpYyBvYmplY3Qgb3IgYSBidWlsdC1pbiBGdW5jdGlvbiBvYmplY3Qs
IHRoZW4gcmV0dXJuIGFuIGltcGxlbWVudGF0aW9uLWRlcGVuZGVudCBTdHJpbmcgc291cmNlIGNv
ZGUgcmVwcmVzZW50YXRpb24gb2YgZnVuYy4gVGhlIHJlcHJlc2VudGF0aW9uIG11c3QgaGF2ZSB0
aGUgc3ludGF4IG9mIGEgTmF0aXZlRnVuY3Rpb24uIEFkZGl0aW9uYWxseSwgaWYgZnVuYyBpcyBh
IFdlbGwta25vd24gSW50cmluc2ljIE9iamVjdCBhbmQgaXMgbm90IGlkZW50aWZpZWQgYXMgYW4g
YW5vbnltb3VzIGZ1bmN0aW9uLCB0aGUgcG9ydGlvbiBvZiB0aGUgcmV0dXJuZWQgU3RyaW5nIHRo
YXQgd291bGQgYmUgbWF0Y2hlZCBieSBJZGVudGlmaWVyTmFtZSBtdXN0IGJlIHRoZSBpbml0aWFs
IHZhbHVlIG9mIHRoZSBuYW1lIHByb3BlcnR5IG9mIGZ1bmMuCi0KLSAgTmF0aXZlRnVuY3Rpb246
Ci0gICAgZnVuY3Rpb24gSWRlbnRpZmllck5hbWVfb3B0ICggRm9ybWFsUGFyYW1ldGVycyApIHsg
WyBuYXRpdmUgY29kZSBdIH0KLQotaW5jbHVkZXM6IFtuYXRpdmVGdW5jdGlvbk1hdGNoZXIuanMs
IHdlbGxLbm93bkludHJpbnNpY09iamVjdHMuanNdCi1mZWF0dXJlczogW2Rlc3RydWN0dXJpbmct
YmluZGluZywgdGVtcGxhdGVdCi0tLS0qLwotCi0KLVdlbGxLbm93bkludHJpbnNpY09iamVjdHMu
Zm9yRWFjaCgoe2ludHJpbnNpY05hbWUsIHJlZmVyZW5jZX0pID0+IHsKLSAgaWYgKHR5cGVvZiBy
ZWZlcmVuY2UgPT09ICJmdW5jdGlvbiIpIHsKLSAgICBhc3NlcnQuc2FtZVZhbHVlKAotICAgICAg
KCIiICsgcmVmZXJlbmNlKS5pbmNsdWRlcyhyZWZlcmVuY2UubmFtZSksIHRydWUsCi0gICAgICBg
dG9TdHJpbmcgb2YgV2VsbC1Lbm93biBJbnRyaW5zaWMgT2JqZWN0IGZ1bmN0aW9uIHNob3VsZCBw
cm9kdWNlIGEgc3RyaW5nIHRoYXQgbWF0Y2hlcyBOYXRpdmVGdW5jdGlvbiBzeW50YXg6XG4ke3Jl
ZmVyZW5jZX1cbmlzIG1pc3NpbmcgIiR7cmVmZXJlbmNlLm5hbWV9IlxuXG5gCi0gICAgKTsKLSAg
ICBhc3NlcnROYXRpdmVGdW5jdGlvbihyZWZlcmVuY2UsIGludHJpbnNpY05hbWUpOwotICB9Ci19
KTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9HZW5lcmF0b3JG
dW5jdGlvbi9wcm90b3R5cGUvbm90LWNhbGxhYmxlLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL0dlbmVyYXRvckZ1bmN0aW9uL3Byb3RvdHlwZS9ub3QtY2FsbGFibGUuanMKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNGU3NDkwMmMxMWNlMTk5NWRkNmZhNTg1M2VlNzI2ZmMwMThmMzVhZAotLS0gL2Rl
di9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9HZW5lcmF0b3JGdW5j
dGlvbi9wcm90b3R5cGUvbm90LWNhbGxhYmxlLmpzCkBAIC0wLDAgKzEsMjggQEAKKy8vIENvcHly
aWdodCAoQykgMjAyMCBBbGV4ZXkgU2h2YXlrYS4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRo
aXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VO
U0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1wcm9wZXJ0aWVzLW9mLXRoZS1nZW5lcmF0b3Jm
dW5jdGlvbi1wcm90b3R5cGUtb2JqZWN0CitkZXNjcmlwdGlvbjogPgorICAlR2VuZXJhdG9yRnVu
Y3Rpb24ucHJvdG90eXBlJSBpcyBhbiBvcmRpbmFyeSBub24tY2FsbGFibGUgb2JqZWN0LgoraW5m
bzogfAorICBQcm9wZXJ0aWVzIG9mIHRoZSBHZW5lcmF0b3JGdW5jdGlvbiBQcm90b3R5cGUgT2Jq
ZWN0CisKKyAgVGhlIEdlbmVyYXRvckZ1bmN0aW9uIHByb3RvdHlwZSBvYmplY3Q6CisKKyAgWy4u
Ll0KKyAgKiBpcyBhbiBvcmRpbmFyeSBvYmplY3QuCisgICogaXMgbm90IGEgZnVuY3Rpb24gb2Jq
ZWN0IGFuZCBkb2VzIG5vdCBoYXZlIGFuIFtbRUNNQVNjcmlwdENvZGVdXSBpbnRlcm5hbCBzbG90
CisgICAgb3IgYW55IG90aGVyIG9mIHRoZSBpbnRlcm5hbCBzbG90cyBsaXN0ZWQgaW4gVGFibGUg
Mjggb3IgVGFibGUgNzQuCitmZWF0dXJlczogW2dlbmVyYXRvcnNdCistLS0qLworCit2YXIgR2Vu
ZXJhdG9yRnVuY3Rpb25Qcm90b3R5cGUgPSBPYmplY3QuZ2V0UHJvdG90eXBlT2YoZnVuY3Rpb24q
ICgpIHt9KTsKKworYXNzZXJ0LnNhbWVWYWx1ZSh0eXBlb2YgR2VuZXJhdG9yRnVuY3Rpb25Qcm90
b3R5cGUsICJvYmplY3QiKTsKK2Fzc2VydC50aHJvd3MoVHlwZUVycm9yLCBmdW5jdGlvbigpIHsK
KyAgR2VuZXJhdG9yRnVuY3Rpb25Qcm90b3R5cGUoKTsKK30pOworCithc3NlcnQoIUdlbmVyYXRv
ckZ1bmN0aW9uUHJvdG90eXBlLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSwgImxlbmd0aCIpOwor
YXNzZXJ0KCFHZW5lcmF0b3JGdW5jdGlvblByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgibmFtZSIp
LCAibmFtZSIpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvaGFybmVzcy9uYXRp
dmVGdW5jdGlvbk1hdGNoZXIuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9oYXJuZXNzL25hdGl2
ZUZ1bmN0aW9uTWF0Y2hlci5qcwppbmRleCBiZmU0NWI2ZjYzMjU4ZGNjZjFmMDZmMjhkMmQ1ZmRh
OTdmMzIxMTc0Li5jOGU0OWI0NmU2NmYxMGNlNmM0ODE0Nzg4ZTQwYWRhZWQwYmFjNTM0IDEwMDY0
NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9oYXJuZXNzL25hdGl2ZUZ1bmN0aW9uTWF0Y2hl
ci5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9oYXJuZXNzL25hdGl2ZUZ1bmN0aW9uTWF0
Y2hlci5qcwpAQCAtOCw0MiArOCw1MyBAQCBkZXNjcmlwdGlvbjogPgogaW5jbHVkZXM6IFtuYXRp
dmVGdW5jdGlvbk1hdGNoZXIuanNdCiAtLS0qLwogCi1pZiAoIU5BVElWRV9GVU5DVElPTl9SRS50
ZXN0KCdmdW5jdGlvbigpe1tuYXRpdmUgY29kZV19JykpIHsKLSAgJEVSUk9SKCdleHBlY3RlZCBz
dHJpbmcgdG8gcGFzczogImZ1bmN0aW9uKCl7W25hdGl2ZSBjb2RlXX0iJyk7Ci19Ci0KLWlmICgh
TkFUSVZFX0ZVTkNUSU9OX1JFLnRlc3QoJ2Z1bmN0aW9uKCl7IFtuYXRpdmUgY29kZV0gfScpKSB7
Ci0gICRFUlJPUignZXhwZWN0ZWQgc3RyaW5nIHRvIHBhc3M6ICJmdW5jdGlvbigpeyBbbmF0aXZl
IGNvZGVdIH0iJyk7Ci19Ci0KLWlmICghTkFUSVZFX0ZVTkNUSU9OX1JFLnRlc3QoJ2Z1bmN0aW9u
ICggKSB7IFsgbmF0aXZlIGNvZGUgXSB9JykpIHsKLSAgJEVSUk9SKCdleHBlY3RlZCBzdHJpbmcg
dG8gcGFzczogImZ1bmN0aW9uICggKSB7IFsgbmF0aXZlIGNvZGUgXSB9IicpOwotfQotCi1pZiAo
IU5BVElWRV9GVU5DVElPTl9SRS50ZXN0KCdmdW5jdGlvbiBhKCl7IFtuYXRpdmUgY29kZV0gfScp
KSB7Ci0gICRFUlJPUignZXhwZWN0ZWQgc3RyaW5nIHRvIHBhc3M6ICJmdW5jdGlvbiBhKCl7IFtu
YXRpdmUgY29kZV0gfSInKTsKLX0KLQotaWYgKCFOQVRJVkVfRlVOQ1RJT05fUkUudGVzdCgnZnVu
Y3Rpb24gYSgpeyAvKiB9ICovIFtuYXRpdmUgY29kZV0gfScpKSB7Ci0gICRFUlJPUignZXhwZWN0
ZWQgc3RyaW5nIHRvIHBhc3M6ICJmdW5jdGlvbiBhKCl7IC8qIH0gKi8gW25hdGl2ZSBjb2RlXSB9
IicpOwotfQotCi1pZiAoTkFUSVZFX0ZVTkNUSU9OX1JFLnRlc3QoJycpKSB7Ci0gICRFUlJPUign
ZXhwZWN0ZWQgc3RyaW5nIHRvIGZhaWw6ICIiJyk7Ci19Ci0KLWlmIChOQVRJVkVfRlVOQ1RJT05f
UkUudGVzdCgnbmF0aXZlIGNvZGUnKSkgewotICAkRVJST1IoJ2V4cGVjdGVkIHN0cmluZyB0byBm
YWlsOiAibmF0aXZlIGNvZGUiJyk7Ci19Ci0KLWlmIChOQVRJVkVfRlVOQ1RJT05fUkUudGVzdCgn
ZnVuY3Rpb24oKXt9JykpIHsKLSAgJEVSUk9SKCdleHBlY3RlZCBzdHJpbmcgdG8gZmFpbDogImZ1
bmN0aW9uKCl7fSInKTsKLX0KLQotaWYgKE5BVElWRV9GVU5DVElPTl9SRS50ZXN0KCdmdW5jdGlv
bigpeyAibmF0aXZlIGNvZGUiIH0nKSkgewotICAkRVJST1IoJ2V4cGVjdGVkIHN0cmluZyB0byBm
YWlsOiAiZnVuY3Rpb24oKXsgIm5hdGl2ZSBjb2RlIiB9IicpOwotfQotCi1pZiAoTkFUSVZFX0ZV
TkNUSU9OX1JFLnRlc3QoJ2Z1bmN0aW9uKCl7IFtdIG5hdGl2ZSBjb2RlIH0nKSkgewotICAkRVJS
T1IoJ2V4cGVjdGVkIHN0cmluZyB0byBmYWlsOiAiZnVuY3Rpb24oKXsgW10gbmF0aXZlIGNvZGUg
fSInKTsKLX0KK1sKKyAgJ2Z1bmN0aW9uKCl7W25hdGl2ZSBjb2RlXX0nLAorICAnZnVuY3Rpb24o
KXsgW25hdGl2ZSBjb2RlXSB9JywKKyAgJ2Z1bmN0aW9uICggKSB7IFsgbmF0aXZlIGNvZGUgXSB9
JywKKyAgJ2Z1bmN0aW9uIGEoKXsgW25hdGl2ZSBjb2RlXSB9JywKKyAgJ2Z1bmN0aW9uIGEoKXsg
LyogfSAqLyBbbmF0aXZlIGNvZGVdIH0nLAorICBgZnVuY3Rpb24gYSgpIHsKKyAgICAvLyB0ZXN0
CisgICAgW25hdGl2ZSBjb2RlXQorICAgIC8qIHRlc3QgKi8KKyAgfWAsCisgICdmdW5jdGlvbihh
LCBiID0gZnVuY3Rpb24oKSB7IFtdOyB9KSB7IFtuYXRpdmUgY29kZV0gfScsCisgICdmdW5jdGlv
biBbU3ltYm9sLnh5el0oKSB7IFtuYXRpdmUgY29kZV0gfScsCisgICdmdW5jdGlvbiBbeFt5XVt6
W2RdKCldXSgpIHsgW25hdGl2ZSBjb2RlXSB9JywKKyAgJ2Z1bmN0aW9uIFsiXSJdICgpIHsgW25h
dGl2ZSBjb2RlXSB9JywKKyAgJ2Z1bmN0aW9uIFtcJ11cJ10gKCkgeyBbbmF0aXZlIGNvZGVdIH0n
LAorICAnLyogdGVzdCAqLyBmdW5jdGlvbigpIHsgW25hdGl2ZSBjb2RlXSB9JywKKyAgJ2Z1bmN0
aW9uKCkgeyBbbmF0aXZlIGNvZGVdIH0gLyogdGVzdCAqLycsCisgICdmdW5jdGlvbigpIHsgW25h
dGl2ZSBjb2RlXSB9IC8vIHRlc3QnLAorXS5mb3JFYWNoKChzKSA9PiB7CisgIHRyeSB7CisgICAg
dmFsaWRhdGVOYXRpdmVGdW5jdGlvblNvdXJjZShzKTsKKyAgfSBjYXRjaCAodW51c2VkKSB7Cisg
ICAgJEVSUk9SKGAke0pTT04uc3RyaW5naWZ5KHMpfSBzaG91bGQgcGFzc2ApOworICB9Cit9KTsK
KworWworICAnbmF0aXZlIGNvZGUnLAorICAnZnVuY3Rpb24oKSB7fScsCisgICdmdW5jdGlvbigp
eyAibmF0aXZlIGNvZGUiIH0nLAorICAnZnVuY3Rpb24oKXsgW10gbmF0aXZlIGNvZGUgfScsCisg
ICdmdW5jdGlvbigpKSB7IFtuYXRpdmUgY29kZV0gfScsCisgICdmdW5jdGlvbigoKSB7IFtuYXRp
dmUgY29kZV0gfScsCisgICdmdW5jdGlvbiBbXV0gKCkgeyBbbmF0aXZlIGNvZGVdIH0nLAorICAn
ZnVuY3Rpb24gW1tdICgpIHsgW25hdGl2ZSBjb2RlXSB9JywKKyAgJ2Z1bmN0aW9uIFsiXV0gKCkg
eyBbbmF0aXZlIGNvZGVdIH0nLAorICAnZnVuY3Rpb24gW1wnXV0gKCkgeyBbbmF0aXZlIGNvZGVd
IH0nLAorICAnZnVuY3Rpb24oKSB7IFtuYXRpdmUgY29kZV0gLyogfScsCisgICcvLyBmdW5jdGlv
bigpIHsgW25hdGl2ZSBjb2RlXSB9JywKK10uZm9yRWFjaCgocykgPT4geworICBsZXQgZmFpbCA9
IGZhbHNlOworICB0cnkgeworICAgIHZhbGlkYXRlTmF0aXZlRnVuY3Rpb25Tb3VyY2Uocyk7Cisg
ICAgZmFpbCA9IHRydWU7CisgIH0gY2F0Y2ggKHVudXNlZCkge30KKyAgaWYgKGZhaWwpIHsKKyAg
ICAkRVJST1IoYCR7SlNPTi5zdHJpbmdpZnkocyl9IHNob3VsZCBmYWlsYCk7CisgIH0KK30pOwpk
aWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvaW50bDQwMi9JbnRsL2J1aWx0aW4uanMg
Yi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9pbnRsNDAyL0ludGwvYnVpbHRpbi5qcwppbmRleCBlNzRm
Yjk0MDM2M2M2Y2YwZTcyYmVlOTc2M2EyZTYxMTgzNmFmYjE5Li5hNGQ0YjU2ZWMwZDNmODg4MmZl
N2Y1MTBjYmQxYjAwMzlhNWRjNTQxIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9p
bnRsNDAyL0ludGwvYnVpbHRpbi5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9pbnRsNDAy
L0ludGwvYnVpbHRpbi5qcwpAQCAtMiw3ICsyLDcgQEAKIC8vIFRoaXMgY29kZSBpcyBnb3Zlcm5l
ZCBieSB0aGUgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgogCiAvKi0tLQotZXM1
aWQ6IDguMF9MMTUKK2VzaWQ6IGludGwtb2JqZWN0CiBkZXNjcmlwdGlvbjogPgogICAgIFRlc3Rz
IHRoYXQgSW50bCBtZWV0cyB0aGUgcmVxdWlyZW1lbnRzIGZvciBidWlsdC1pbiBvYmplY3RzCiAg
ICAgZGVmaW5lZCBieSB0aGUgaW50cm9kdWN0aW9uIG9mIGNoYXB0ZXIgMTcgb2YgdGhlIEVDTUFT
Y3JpcHQKQEAgLTEwLDEwICsxMCw2IEBAIGRlc2NyaXB0aW9uOiA+CiBhdXRob3I6IE5vcmJlcnQg
TGluZGVuYmVyZwogLS0tKi8KIAotYXNzZXJ0LnNhbWVWYWx1ZShPYmplY3QucHJvdG90eXBlLnRv
U3RyaW5nLmNhbGwoSW50bCksICJbb2JqZWN0IE9iamVjdF0iLAotICAgICAgICAgICAgICAgICAi
VGhlIFtbQ2xhc3NdXSBpbnRlcm5hbCBwcm9wZXJ0eSBvZiBhIGJ1aWx0LWluIG5vbi1mdW5jdGlv
biBvYmplY3QgbXVzdCBiZSAiICsKLSAgICAgICAgICAgICAgICAgIlwiT2JqZWN0XCIuIik7Ci0K
IGFzc2VydChPYmplY3QuaXNFeHRlbnNpYmxlKEludGwpLCAiQnVpbHQtaW4gb2JqZWN0cyBtdXN0
IGJlIGV4dGVuc2libGUuIik7CiAKIGFzc2VydC5zYW1lVmFsdWUoT2JqZWN0LmdldFByb3RvdHlw
ZU9mKEludGwpLCBPYmplY3QucHJvdG90eXBlLApkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvaW50bDQwMi9JbnRsL3Byb3RvLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvaW50bDQw
Mi9JbnRsL3Byb3RvLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzNGZlOTI2NDFj
MzUyYjQyOGQwNDUxNjRhYTU0MGYwMjhkNWMzZGQxLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2ludGw0MDIvSW50bC9w
cm90by5qcworKysgL2Rldi9udWxsCkBAIC0xLDEwICswLDAgQEAKLS8vIENvcHlyaWdodCAyMDEz
IE1vemlsbGEgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0vLyBUaGlzIGNvZGUg
aXMgZ292ZXJuZWQgYnkgdGhlIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KLQot
LyotLS0KLWVzNWlkOiA4LjAKLWRlc2NyaXB0aW9uOiBUZXN0cyB0aGF0IEludGwgaGFzIE9iamVj
dC5wcm90b3R5cGUgYXMgaXRzIHByb3RvdHlwZS4KLWF1dGhvcjogTm9yYmVydCBMaW5kZW5iZXJn
Ci0tLS0qLwotCi1hc3NlcnQuc2FtZVZhbHVlKE9iamVjdC5nZXRQcm90b3R5cGVPZihJbnRsKSwg
T2JqZWN0LnByb3RvdHlwZSwgIkludGwgZG9lc24ndCBoYXZlIE9iamVjdC5wcm90b3R5cGUgYXMg
aXRzIHByb3RvdHlwZS4iKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2ludGw0
MDIvSW50bC90b1N0cmluZ1RhZy90b1N0cmluZy5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2lu
dGw0MDIvSW50bC90b1N0cmluZ1RhZy90b1N0cmluZy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44ZDc3YjM2YWE1
MTYwNzI1M2MyNWE4ZWYxYTE1ODRmMzg5ZGNjMGQwCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvaW50bDQwMi9JbnRsL3RvU3RyaW5nVGFnL3RvU3RyaW5nLmpzCkBAIC0w
LDAgKzEsMzIgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBBbGV4ZXkgU2h2YXlrYS4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vu
c2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1JbnRsLXRv
U3RyaW5nVGFnCitkZXNjcmlwdGlvbjogPgorICBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nIHV0
aWxpemVzIEludGxbQEB0b1N0cmluZ1RhZ10gYW5kIGRvZXNuJ3Qgc3BlY2lhbC1jYXNlIEludGwg
bmFtZXNwYWNlIG9iamVjdC4KK2luZm86IHwKKyAgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZyAo
ICkKKworICBbLi4uXQorICAxNC4gRWxzZSwgbGV0IGJ1aWx0aW5UYWcgYmUgIk9iamVjdCIuCisg
IDE1LiBMZXQgdGFnIGJlID8gR2V0KE8sIEBAdG9TdHJpbmdUYWcpLgorICAxNi4gSWYgVHlwZSh0
YWcpIGlzIG5vdCBTdHJpbmcsIHNldCB0YWcgdG8gYnVpbHRpblRhZy4KKyAgMTcuIFJldHVybiB0
aGUgc3RyaW5nLWNvbmNhdGVuYXRpb24gb2YgIltvYmplY3QgIiwgdGFnLCBhbmQgIl0iLgorCisg
IEludGwgWyBAQHRvU3RyaW5nVGFnIF0KKworICBUaGUgaW5pdGlhbCB2YWx1ZSBvZiB0aGUgQEB0
b1N0cmluZ1RhZyBwcm9wZXJ0eSBpcyB0aGUgU3RyaW5nIHZhbHVlICJJbnRsIi4KK2ZlYXR1cmVz
OiBbU3ltYm9sLnRvU3RyaW5nVGFnXQorLS0tKi8KKworYXNzZXJ0LnNhbWVWYWx1ZShJbnRsLnRv
U3RyaW5nKCksICJbb2JqZWN0IEludGxdIik7Cithc3NlcnQuc2FtZVZhbHVlKE9iamVjdC5wcm90
b3R5cGUudG9TdHJpbmcuY2FsbChJbnRsKSwgIltvYmplY3QgSW50bF0iKTsKKworT2JqZWN0LmRl
ZmluZVByb3BlcnR5KEludGwsIFN5bWJvbC50b1N0cmluZ1RhZywgeyB2YWx1ZTogInRlc3QyNjIi
IH0pOworYXNzZXJ0LnNhbWVWYWx1ZShJbnRsLnRvU3RyaW5nKCksICJbb2JqZWN0IHRlc3QyNjJd
Iik7Cithc3NlcnQuc2FtZVZhbHVlKE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChJbnRs
KSwgIltvYmplY3QgdGVzdDI2Ml0iKTsKKworYXNzZXJ0KGRlbGV0ZSBJbnRsW1N5bWJvbC50b1N0
cmluZ1RhZ10pOworYXNzZXJ0LnNhbWVWYWx1ZShJbnRsLnRvU3RyaW5nKCksICJbb2JqZWN0IE9i
amVjdF0iKTsKK2Fzc2VydC5zYW1lVmFsdWUoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxs
KEludGwpLCAiW29iamVjdCBPYmplY3RdIik7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9pbnRsNDAyL0ludGwvdG9TdHJpbmdUYWcvdG9TdHJpbmdUYWcuanMgYi9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9pbnRsNDAyL0ludGwvdG9TdHJpbmdUYWcvdG9TdHJpbmdUYWcuanMKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMmE3NjRiYWQwMmY4ZjUxM2Q0YTZhZmYyMjQwNTU0MTk4ZTQyNWM1YQotLS0gL2Rldi9u
dWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2ludGw0MDIvSW50bC90b1N0cmluZ1RhZy90
b1N0cmluZ1RhZy5qcwpAQCAtMCwwICsxLDIzIEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgQWxl
eGV5IFNodmF5a2EuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJu
ZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0t
Citlc2lkOiBzZWMtSW50bC10b1N0cmluZ1RhZworZGVzY3JpcHRpb246ID4KKyAgUHJvcGVydHkg
ZGVzY3JpcHRvciBvZiBJbnRsW0BAdG9TdHJpbmdUYWddLgoraW5mbzogfAorICBJbnRsIFsgQEB0
b1N0cmluZ1RhZyBdCisKKyAgVGhlIGluaXRpYWwgdmFsdWUgb2YgdGhlIEBAdG9TdHJpbmdUYWcg
cHJvcGVydHkgaXMgdGhlIFN0cmluZyB2YWx1ZSAiSW50bCIuCisKKyAgVGhpcyBwcm9wZXJ0eSBo
YXMgdGhlIGF0dHJpYnV0ZXMgeyBbW1dyaXRhYmxlXV06IGZhbHNlLCBbW0VudW1lcmFibGVdXTog
ZmFsc2UsIFtbQ29uZmlndXJhYmxlXV06IHRydWUgfS4KK2ZlYXR1cmVzOiBbU3ltYm9sLnRvU3Ry
aW5nVGFnXQoraW5jbHVkZXM6IFtwcm9wZXJ0eUhlbHBlci5qc10KKy0tLSovCisKK3ZlcmlmeVBy
b3BlcnR5KEludGwsIFN5bWJvbC50b1N0cmluZ1RhZywgeworICB2YWx1ZTogIkludGwiLAorICB3
cml0YWJsZTogZmFsc2UsCisgIGVudW1lcmFibGU6IGZhbHNlLAorICBjb25maWd1cmFibGU6IHRy
dWUsCit9KTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2ludGw0MDIvTnVtYmVy
Rm9ybWF0L2RmdC1jdXJyZW5jeS1tbmZkLXJhbmdlLWNoZWNrLW14ZmQuanMgYi9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9pbnRsNDAyL051bWJlckZvcm1hdC9kZnQtY3VycmVuY3ktbW5mZC1yYW5nZS1j
aGVjay1teGZkLmpzCmluZGV4IDAwZWVkMzJlNGU2ZjJkOTg4MGE4YjRkN2Q4YjI0NDJkMDk0NGRk
YmYuLjQ4N2FkYWVhNDE5MmEzNWViYzFhN2U2YWYxMDdhMTk5OTI1YjI5NDMgMTAwNjQ0Ci0tLSBh
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2ludGw0MDIvTnVtYmVyRm9ybWF0L2RmdC1jdXJyZW5jeS1t
bmZkLXJhbmdlLWNoZWNrLW14ZmQuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvaW50bDQw
Mi9OdW1iZXJGb3JtYXQvZGZ0LWN1cnJlbmN5LW1uZmQtcmFuZ2UtY2hlY2stbXhmZC5qcwpAQCAt
NSwxNyArNSwxNyBAQAogZXNpZDogc2VjLXNldG5mZGlnaXRvcHRpb25zCiBkZXNjcmlwdGlvbjog
PgogICAgIFdoZW4gYSBjdXJyZW5jeSBpcyB1c2VkIGluIEludGwuTnVtYmVyRm9ybWF0IGFuZCBt
aW5pbXVtRnJhY3Rpb25EaWdpdHMgaXMKLSAgICBub3QgcHJvdmlkZWQsIG1heGltdW1GcmFjdGlv
bkRpZ2l0cyBzaG91bGQgYmUgcmFuZ2UtY2hlY2tlZCBhZ2FpbnN0IGl0LgorICAgIG5vdCBwcm92
aWRlZCwgbWF4aW11bUZyYWN0aW9uRGlnaXRzIHNob3VsZCBiZSBzZXQgYXMgcHJvdmlkZWQuCiAt
LS0qLwogCi1hc3NlcnQudGhyb3dzKFJhbmdlRXJyb3IsICgpID0+IG5ldyBJbnRsLk51bWJlckZv
cm1hdCgnZW4nLCB7Cithc3NlcnQuc2FtZVZhbHVlKChuZXcgSW50bC5OdW1iZXJGb3JtYXQoJ2Vu
JywgewogICAgIHN0eWxlOiAnY3VycmVuY3knLAogICAgIGN1cnJlbmN5OiAnVVNEJywKICAgICBt
YXhpbXVtRnJhY3Rpb25EaWdpdHM6IDEKLX0pLCAnQ3VycmVuY3lEaWdpdHMoVVNEKSA9PSAxJyk7
Cit9KSkucmVzb2x2ZWRPcHRpb25zKCkubWF4aW11bUZyYWN0aW9uRGlnaXRzLCAxKTsKIAotYXNz
ZXJ0LnRocm93cyhSYW5nZUVycm9yLCAoKSA9PiBuZXcgSW50bC5OdW1iZXJGb3JtYXQoJ2VuJywg
eworYXNzZXJ0LnNhbWVWYWx1ZSgobmV3IEludGwuTnVtYmVyRm9ybWF0KCdlbicsIHsKICAgICBz
dHlsZTogJ2N1cnJlbmN5JywKICAgICBjdXJyZW5jeTogJ0NMRicsCiAgICAgbWF4aW11bUZyYWN0
aW9uRGlnaXRzOiAzCi19KSwgJ0N1cnJlbmN5RGlnaXRzKENMRikgPT0gMycpOworfSkpLnJlc29s
dmVkT3B0aW9ucygpLm1heGltdW1TaWduaWZpY2FudERpZ2l0cywgMyk7CmRpZmYgLS1naXQgYS9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hcnJvdy1mdW5jdGlvbi9k
c3RyL2FyeS1pbml0LWl0ZXItZ2V0LWVyci1hcnJheS1wcm90b3R5cGUuanMgYi9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hcnJvdy1mdW5jdGlvbi9kc3RyL2FyeS1p
bml0LWl0ZXItZ2V0LWVyci1hcnJheS1wcm90b3R5cGUuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjFhOWFmMjcy
YjM5YjVkMTc0MTI3ZWRkYjE1YmNhYmZjMTE2NDYwNwotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2Fycm93LWZ1bmN0aW9uL2RzdHIv
YXJ5LWluaXQtaXRlci1nZXQtZXJyLWFycmF5LXByb3RvdHlwZS5qcwpAQCAtMCwwICsxLDYyIEBA
CisvLyBUaGlzIGZpbGUgd2FzIHByb2NlZHVyYWxseSBnZW5lcmF0ZWQgZnJvbSB0aGUgZm9sbG93
aW5nIHNvdXJjZXM6CisvLyAtIHNyYy9kc3RyLWJpbmRpbmcvYXJ5LWluaXQtaXRlci1nZXQtZXJy
LWFycmF5LXByb3RvdHlwZS5jYXNlCisvLyAtIHNyYy9kc3RyLWJpbmRpbmcvZXJyb3IvYXJyb3ct
ZnVuY3Rpb24udGVtcGxhdGUKKy8qLS0tCitkZXNjcmlwdGlvbjogQWJydXB0IGNvbXBsZXRpb24g
cmV0dXJuZWQgYnkgR2V0SXRlcmF0b3IgKGFycm93IGZ1bmN0aW9uIGV4cHJlc3Npb24pCitlc2lk
OiBzZWMtYXJyb3ctZnVuY3Rpb24tZGVmaW5pdGlvbnMtcnVudGltZS1zZW1hbnRpY3MtZXZhbHVh
dGlvbgorZmVhdHVyZXM6IFtTeW1ib2wuaXRlcmF0b3IsIGRlc3RydWN0dXJpbmctYmluZGluZ10K
K2ZsYWdzOiBbZ2VuZXJhdGVkXQoraW5mbzogfAorICAgIEFycm93RnVuY3Rpb24gOiBBcnJvd1Bh
cmFtZXRlcnMgPT4gQ29uY2lzZUJvZHkKKworICAgIFsuLi5dCisgICAgNC4gTGV0IGNsb3N1cmUg
YmUgRnVuY3Rpb25DcmVhdGUoQXJyb3csIHBhcmFtZXRlcnMsIENvbmNpc2VCb2R5LCBzY29wZSwg
c3RyaWN0KS4KKyAgICBbLi4uXQorCisgICAgOS4yLjEgW1tDYWxsXV0gKCB0aGlzQXJndW1lbnQs
IGFyZ3VtZW50c0xpc3QpCisKKyAgICBbLi4uXQorICAgIDcuIExldCByZXN1bHQgYmUgT3JkaW5h
cnlDYWxsRXZhbHVhdGVCb2R5KEYsIGFyZ3VtZW50c0xpc3QpLgorICAgIFsuLi5dCisKKyAgICA5
LjIuMS4zIE9yZGluYXJ5Q2FsbEV2YWx1YXRlQm9keSAoIEYsIGFyZ3VtZW50c0xpc3QgKQorCisg
ICAgMS4gTGV0IHN0YXR1cyBiZSBGdW5jdGlvbkRlY2xhcmF0aW9uSW5zdGFudGlhdGlvbihGLCBh
cmd1bWVudHNMaXN0KS4KKyAgICBbLi4uXQorCisgICAgOS4yLjEyIEZ1bmN0aW9uRGVjbGFyYXRp
b25JbnN0YW50aWF0aW9uKGZ1bmMsIGFyZ3VtZW50c0xpc3QpCisKKyAgICBbLi4uXQorICAgIDIz
LiBMZXQgaXRlcmF0b3JSZWNvcmQgYmUgUmVjb3JkIHtbW2l0ZXJhdG9yXV06CisgICAgICAgIENy
ZWF0ZUxpc3RJdGVyYXRvcihhcmd1bWVudHNMaXN0KSwgW1tkb25lXV06IGZhbHNlfS4KKyAgICAy
NC4gSWYgaGFzRHVwbGljYXRlcyBpcyB0cnVlLCB0aGVuCisgICAgICAgIFsuLi5dCisgICAgMjUu
IEVsc2UsCisgICAgICAgIGIuIExldCBmb3JtYWxTdGF0dXMgYmUgSXRlcmF0b3JCaW5kaW5nSW5p
dGlhbGl6YXRpb24gZm9yIGZvcm1hbHMgd2l0aAorICAgICAgICAgICBpdGVyYXRvclJlY29yZCBh
bmQgZW52IGFzIGFyZ3VtZW50cy4KKyAgICBbLi4uXQorCisgICAgUnVudGltZSBTZW1hbnRpY3M6
IEJpbmRpbmdJbml0aWFsaXphdGlvbgorCisgICAgQmluZGluZ1BhdHRlcm4gOiBBcnJheUJpbmRp
bmdQYXR0ZXJuCisKKyAgICAxLiBMZXQgaXRlcmF0b3JSZWNvcmQgYmUgPyBHZXRJdGVyYXRvcih2
YWx1ZSkuCisKKyAgICBHZXRJdGVyYXRvciAoIG9iaiBbICwgaGludCBbICwgbWV0aG9kIF0gXSAp
CisKKyAgICBbLi4uXQorICAgIDQuIExldCBpdGVyYXRvciBiZSA/IENhbGwobWV0aG9kLCBvYmop
LgorCisgICAgQ2FsbCAoIEYsIFYgWyAsIGFyZ3VtZW50c0xpc3QgXSApCisKKyAgICBbLi4uXQor
ICAgIDIuIElmIElzQ2FsbGFibGUoRikgaXMgZmFsc2UsIHRocm93IGEgVHlwZUVycm9yIGV4Y2Vw
dGlvbi4KKworLS0tKi8KK2RlbGV0ZSBBcnJheS5wcm90b3R5cGVbU3ltYm9sLml0ZXJhdG9yXTsK
KwordmFyIGYgPSAoW3gsIHksIHpdKSA9PiB7fTsKKworYXNzZXJ0LnRocm93cyhUeXBlRXJyb3Is
IGZ1bmN0aW9uKCkgeworICBmKFsxLCAyLCAzXSk7Cit9KTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2Fycm93LWZ1bmN0aW9uL2RzdHIvYXJ5
LXB0cm4tZWxlbS1pZC1pdGVyLXZhbC1hcnJheS1wcm90b3R5cGUuanMgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hcnJvdy1mdW5jdGlvbi9kc3RyL2FyeS1wdHJu
LWVsZW0taWQtaXRlci12YWwtYXJyYXktcHJvdG90eXBlLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYyMzAzYzYy
NGRlM2U5N2M1ZjY0MTJiZGY1MDhlNjAzM2ZjYzkwNzgKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hcnJvdy1mdW5jdGlvbi9kc3Ry
L2FyeS1wdHJuLWVsZW0taWQtaXRlci12YWwtYXJyYXktcHJvdG90eXBlLmpzCkBAIC0wLDAgKzEs
ODAgQEAKKy8vIFRoaXMgZmlsZSB3YXMgcHJvY2VkdXJhbGx5IGdlbmVyYXRlZCBmcm9tIHRoZSBm
b2xsb3dpbmcgc291cmNlczoKKy8vIC0gc3JjL2RzdHItYmluZGluZy9hcnktcHRybi1lbGVtLWlk
LWl0ZXItdmFsLWFycmF5LXByb3RvdHlwZS5jYXNlCisvLyAtIHNyYy9kc3RyLWJpbmRpbmcvZGVm
YXVsdC9hcnJvdy1mdW5jdGlvbi50ZW1wbGF0ZQorLyotLS0KK2Rlc2NyaXB0aW9uOiBBcnJheSBk
ZXN0cnVjdHVyaW5nIHVzZXMgb3ZlcnJpZGVuIEFycmF5LnByb3RvdHlwZVtTeW1ib2wuaXRlcmF0
b3JdIChhcnJvdyBmdW5jdGlvbiBleHByZXNzaW9uKQorZXNpZDogc2VjLWFycm93LWZ1bmN0aW9u
LWRlZmluaXRpb25zLXJ1bnRpbWUtc2VtYW50aWNzLWV2YWx1YXRpb24KK2ZlYXR1cmVzOiBbU3lt
Ym9sLml0ZXJhdG9yLCBnZW5lcmF0b3JzLCBkZXN0cnVjdHVyaW5nLWJpbmRpbmddCitmbGFnczog
W2dlbmVyYXRlZF0KK2luZm86IHwKKyAgICBBcnJvd0Z1bmN0aW9uIDogQXJyb3dQYXJhbWV0ZXJz
ID0+IENvbmNpc2VCb2R5CisKKyAgICBbLi4uXQorICAgIDQuIExldCBjbG9zdXJlIGJlIEZ1bmN0
aW9uQ3JlYXRlKEFycm93LCBwYXJhbWV0ZXJzLCBDb25jaXNlQm9keSwgc2NvcGUsIHN0cmljdCku
CisgICAgWy4uLl0KKworICAgIDkuMi4xIFtbQ2FsbF1dICggdGhpc0FyZ3VtZW50LCBhcmd1bWVu
dHNMaXN0KQorCisgICAgWy4uLl0KKyAgICA3LiBMZXQgcmVzdWx0IGJlIE9yZGluYXJ5Q2FsbEV2
YWx1YXRlQm9keShGLCBhcmd1bWVudHNMaXN0KS4KKyAgICBbLi4uXQorCisgICAgOS4yLjEuMyBP
cmRpbmFyeUNhbGxFdmFsdWF0ZUJvZHkgKCBGLCBhcmd1bWVudHNMaXN0ICkKKworICAgIDEuIExl
dCBzdGF0dXMgYmUgRnVuY3Rpb25EZWNsYXJhdGlvbkluc3RhbnRpYXRpb24oRiwgYXJndW1lbnRz
TGlzdCkuCisgICAgWy4uLl0KKworICAgIDkuMi4xMiBGdW5jdGlvbkRlY2xhcmF0aW9uSW5zdGFu
dGlhdGlvbihmdW5jLCBhcmd1bWVudHNMaXN0KQorCisgICAgWy4uLl0KKyAgICAyMy4gTGV0IGl0
ZXJhdG9yUmVjb3JkIGJlIFJlY29yZCB7W1tpdGVyYXRvcl1dOgorICAgICAgICBDcmVhdGVMaXN0
SXRlcmF0b3IoYXJndW1lbnRzTGlzdCksIFtbZG9uZV1dOiBmYWxzZX0uCisgICAgMjQuIElmIGhh
c0R1cGxpY2F0ZXMgaXMgdHJ1ZSwgdGhlbgorICAgICAgICBbLi4uXQorICAgIDI1LiBFbHNlLAor
ICAgICAgICBiLiBMZXQgZm9ybWFsU3RhdHVzIGJlIEl0ZXJhdG9yQmluZGluZ0luaXRpYWxpemF0
aW9uIGZvciBmb3JtYWxzIHdpdGgKKyAgICAgICAgICAgaXRlcmF0b3JSZWNvcmQgYW5kIGVudiBh
cyBhcmd1bWVudHMuCisgICAgWy4uLl0KKworICAgIFJ1bnRpbWUgU2VtYW50aWNzOiBJdGVyYXRv
ckJpbmRpbmdJbml0aWFsaXphdGlvbgorCisgICAgU2luZ2xlTmFtZUJpbmRpbmcgOiBCaW5kaW5n
SWRlbnRpZmllciBJbml0aWFsaXplcl9vcHQKKworICAgIDEuIExldCBiaW5kaW5nSWQgYmUgU3Ry
aW5nVmFsdWUgb2YgQmluZGluZ0lkZW50aWZpZXIuCisgICAgMi4gTGV0IGxocyBiZSA/IFJlc29s
dmVCaW5kaW5nKGJpbmRpbmdJZCwgZW52aXJvbm1lbnQpLgorICAgIDMuIElmIGl0ZXJhdG9yUmVj
b3JkLltbRG9uZV1dIGlzIGZhbHNlLCB0aGVuCisgICAgICAgIGEuIExldCBuZXh0IGJlIEl0ZXJh
dG9yU3RlcChpdGVyYXRvclJlY29yZCkuCisgICAgICAgIGIuIElmIG5leHQgaXMgYW4gYWJydXB0
IGNvbXBsZXRpb24sIHNldCBpdGVyYXRvclJlY29yZC5bW0RvbmVdXSB0byB0cnVlLgorICAgICAg
ICBjLiBSZXR1cm5JZkFicnVwdChuZXh0KS4KKyAgICAgICAgZC4gSWYgbmV4dCBpcyBmYWxzZSwg
c2V0IGl0ZXJhdG9yUmVjb3JkLltbRG9uZV1dIHRvIHRydWUuCisgICAgICAgIGUuIEVsc2UsCisg
ICAgICAgICAgICBpLiBMZXQgdiBiZSBJdGVyYXRvclZhbHVlKG5leHQpLgorICAgICAgICAgICAg
aWkuIElmIHYgaXMgYW4gYWJydXB0IGNvbXBsZXRpb24sIHNldCBpdGVyYXRvclJlY29yZC5bW0Rv
bmVdXSB0byB0cnVlLgorICAgICAgICAgICAgaWlpLiBSZXR1cm5JZkFicnVwdCh2KS4KKyAgICBb
Li4uXQorICAgIDcuIFJldHVybiBJbml0aWFsaXplUmVmZXJlbmNlZEJpbmRpbmcobGhzLCB2KS4K
KworLS0tKi8KK0FycmF5LnByb3RvdHlwZVtTeW1ib2wuaXRlcmF0b3JdID0gZnVuY3Rpb24qICgp
IHsKKyAgICBpZiAodGhpcy5sZW5ndGggPiAwKSB7CisgICAgICAgIHlpZWxkIHRoaXNbMF07Cisg
ICAgfQorICAgIGlmICh0aGlzLmxlbmd0aCA+IDEpIHsKKyAgICAgICAgeWllbGQgdGhpc1sxXTsK
KyAgICB9CisgICAgaWYgKHRoaXMubGVuZ3RoID4gMikgeworICAgICAgICB5aWVsZCA0MjsKKyAg
ICB9Cit9OworCit2YXIgY2FsbENvdW50ID0gMDsKK3ZhciBmOworZiA9IChbeCwgeSwgel0pID0+
IHsKKyAgYXNzZXJ0LnNhbWVWYWx1ZSh4LCAxKTsKKyAgYXNzZXJ0LnNhbWVWYWx1ZSh5LCAyKTsK
KyAgYXNzZXJ0LnNhbWVWYWx1ZSh6LCA0Mik7CisgIGNhbGxDb3VudCA9IGNhbGxDb3VudCArIDE7
Cit9OworCitmKFsxLCAyLCAzXSk7Cithc3NlcnQuc2FtZVZhbHVlKGNhbGxDb3VudCwgMSwgJ2Fy
cm93IGZ1bmN0aW9uIGludm9rZWQgZXhhY3RseSBvbmNlJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hcnJvdy1mdW5jdGlvbi9kc3RyL2Fy
eS1wdHJuLXJlc3QtaWQtZGlyZWN0LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uv
ZXhwcmVzc2lvbnMvYXJyb3ctZnVuY3Rpb24vZHN0ci9hcnktcHRybi1yZXN0LWlkLWRpcmVjdC5q
cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5lZjA4ZTg1YzE5YzZlNmI1ZTNlODEzOWY2ZDY1MmEzNzFiOGU1N2EyCi0t
LSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lv
bnMvYXJyb3ctZnVuY3Rpb24vZHN0ci9hcnktcHRybi1yZXN0LWlkLWRpcmVjdC5qcwpAQCAtMCww
ICsxLDYzIEBACisvLyBUaGlzIGZpbGUgd2FzIHByb2NlZHVyYWxseSBnZW5lcmF0ZWQgZnJvbSB0
aGUgZm9sbG93aW5nIHNvdXJjZXM6CisvLyAtIHNyYy9kc3RyLWJpbmRpbmcvYXJ5LXB0cm4tcmVz
dC1pZC1kaXJlY3QuY2FzZQorLy8gLSBzcmMvZHN0ci1iaW5kaW5nL2RlZmF1bHQvYXJyb3ctZnVu
Y3Rpb24udGVtcGxhdGUKKy8qLS0tCitkZXNjcmlwdGlvbjogTG9uZSByZXN0IGVsZW1lbnQgKGRp
cmVjdCBiaW5kaW5nKSAoYXJyb3cgZnVuY3Rpb24gZXhwcmVzc2lvbikKK2VzaWQ6IHNlYy1hcnJv
dy1mdW5jdGlvbi1kZWZpbml0aW9ucy1ydW50aW1lLXNlbWFudGljcy1ldmFsdWF0aW9uCitmZWF0
dXJlczogW2Rlc3RydWN0dXJpbmctYmluZGluZ10KK2ZsYWdzOiBbZ2VuZXJhdGVkXQoraW5jbHVk
ZXM6IFtjb21wYXJlQXJyYXkuanNdCitpbmZvOiB8CisgICAgQXJyb3dGdW5jdGlvbiA6IEFycm93
UGFyYW1ldGVycyA9PiBDb25jaXNlQm9keQorCisgICAgWy4uLl0KKyAgICA0LiBMZXQgY2xvc3Vy
ZSBiZSBGdW5jdGlvbkNyZWF0ZShBcnJvdywgcGFyYW1ldGVycywgQ29uY2lzZUJvZHksIHNjb3Bl
LCBzdHJpY3QpLgorICAgIFsuLi5dCisKKyAgICA5LjIuMSBbW0NhbGxdXSAoIHRoaXNBcmd1bWVu
dCwgYXJndW1lbnRzTGlzdCkKKworICAgIFsuLi5dCisgICAgNy4gTGV0IHJlc3VsdCBiZSBPcmRp
bmFyeUNhbGxFdmFsdWF0ZUJvZHkoRiwgYXJndW1lbnRzTGlzdCkuCisgICAgWy4uLl0KKworICAg
IDkuMi4xLjMgT3JkaW5hcnlDYWxsRXZhbHVhdGVCb2R5ICggRiwgYXJndW1lbnRzTGlzdCApCisK
KyAgICAxLiBMZXQgc3RhdHVzIGJlIEZ1bmN0aW9uRGVjbGFyYXRpb25JbnN0YW50aWF0aW9uKEYs
IGFyZ3VtZW50c0xpc3QpLgorICAgIFsuLi5dCisKKyAgICA5LjIuMTIgRnVuY3Rpb25EZWNsYXJh
dGlvbkluc3RhbnRpYXRpb24oZnVuYywgYXJndW1lbnRzTGlzdCkKKworICAgIFsuLi5dCisgICAg
MjMuIExldCBpdGVyYXRvclJlY29yZCBiZSBSZWNvcmQge1tbaXRlcmF0b3JdXToKKyAgICAgICAg
Q3JlYXRlTGlzdEl0ZXJhdG9yKGFyZ3VtZW50c0xpc3QpLCBbW2RvbmVdXTogZmFsc2V9LgorICAg
IDI0LiBJZiBoYXNEdXBsaWNhdGVzIGlzIHRydWUsIHRoZW4KKyAgICAgICAgWy4uLl0KKyAgICAy
NS4gRWxzZSwKKyAgICAgICAgYi4gTGV0IGZvcm1hbFN0YXR1cyBiZSBJdGVyYXRvckJpbmRpbmdJ
bml0aWFsaXphdGlvbiBmb3IgZm9ybWFscyB3aXRoCisgICAgICAgICAgIGl0ZXJhdG9yUmVjb3Jk
IGFuZCBlbnYgYXMgYXJndW1lbnRzLgorICAgIFsuLi5dCisKKyAgICBSdW50aW1lIFNlbWFudGlj
czogSXRlcmF0b3JCaW5kaW5nSW5pdGlhbGl6YXRpb24KKworICAgIEJpbmRpbmdSZXN0RWxlbWVu
dCA6IC4uLiBCaW5kaW5nSWRlbnRpZmllcgorCisgICAgWy4uLl0KKyAgICAyLiBMZXQgQSBiZSAh
IEFycmF5Q3JlYXRlKDApLgorICAgIDMuIExldCBuIGJlIDAuCisgICAgNC4gUmVwZWF0LAorICAg
ICAgICBbLi4uXQorICAgICAgICBmLiBQZXJmb3JtICEgQ3JlYXRlRGF0YVByb3BlcnR5T3JUaHJv
dyhBLCAhIFRvU3RyaW5nKG4pLCBuZXh0VmFsdWUpLgorICAgICAgICBnLiBTZXQgbiB0byBuICsg
MS4KKworLS0tKi8KKwordmFyIGNhbGxDb3VudCA9IDA7Cit2YXIgZjsKK2YgPSAoWy4uLnhdKSA9
PiB7CisgIGFzc2VydChBcnJheS5pc0FycmF5KHgpKTsKKyAgYXNzZXJ0LmNvbXBhcmVBcnJheSh4
LCBbMV0pOworICBjYWxsQ291bnQgPSBjYWxsQ291bnQgKyAxOworfTsKKworZihbMV0pOworYXNz
ZXJ0LnNhbWVWYWx1ZShjYWxsQ291bnQsIDEsICdhcnJvdyBmdW5jdGlvbiBpbnZva2VkIGV4YWN0
bHkgb25jZScpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhw
cmVzc2lvbnMvYXJyb3ctZnVuY3Rpb24vZHN0ci9kZmx0LWFyeS1pbml0LWl0ZXItZ2V0LWVyci1h
cnJheS1wcm90b3R5cGUuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNz
aW9ucy9hcnJvdy1mdW5jdGlvbi9kc3RyL2RmbHQtYXJ5LWluaXQtaXRlci1nZXQtZXJyLWFycmF5
LXByb3RvdHlwZS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44NWU1OTc3ZmE4N2ZjYTAzNzA5ODUxZGRhYTRhNGUy
YjZlNzM5YTM1Ci0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3Vh
Z2UvZXhwcmVzc2lvbnMvYXJyb3ctZnVuY3Rpb24vZHN0ci9kZmx0LWFyeS1pbml0LWl0ZXItZ2V0
LWVyci1hcnJheS1wcm90b3R5cGUuanMKQEAgLTAsMCArMSw2MiBAQAorLy8gVGhpcyBmaWxlIHdh
cyBwcm9jZWR1cmFsbHkgZ2VuZXJhdGVkIGZyb20gdGhlIGZvbGxvd2luZyBzb3VyY2VzOgorLy8g
LSBzcmMvZHN0ci1iaW5kaW5nL2FyeS1pbml0LWl0ZXItZ2V0LWVyci1hcnJheS1wcm90b3R5cGUu
Y2FzZQorLy8gLSBzcmMvZHN0ci1iaW5kaW5nL2Vycm9yL2Fycm93LWZ1bmN0aW9uLWRmbHQudGVt
cGxhdGUKKy8qLS0tCitkZXNjcmlwdGlvbjogQWJydXB0IGNvbXBsZXRpb24gcmV0dXJuZWQgYnkg
R2V0SXRlcmF0b3IgKGFycm93IGZ1bmN0aW9uIGV4cHJlc3Npb24gKGRlZmF1bHQgcGFyYW1ldGVy
KSkKK2VzaWQ6IHNlYy1hcnJvdy1mdW5jdGlvbi1kZWZpbml0aW9ucy1ydW50aW1lLXNlbWFudGlj
cy1ldmFsdWF0aW9uCitmZWF0dXJlczogW1N5bWJvbC5pdGVyYXRvciwgZGVzdHJ1Y3R1cmluZy1i
aW5kaW5nLCBkZWZhdWx0LXBhcmFtZXRlcnNdCitmbGFnczogW2dlbmVyYXRlZF0KK2luZm86IHwK
KyAgICBBcnJvd0Z1bmN0aW9uIDogQXJyb3dQYXJhbWV0ZXJzID0+IENvbmNpc2VCb2R5CisKKyAg
ICBbLi4uXQorICAgIDQuIExldCBjbG9zdXJlIGJlIEZ1bmN0aW9uQ3JlYXRlKEFycm93LCBwYXJh
bWV0ZXJzLCBDb25jaXNlQm9keSwgc2NvcGUsIHN0cmljdCkuCisgICAgWy4uLl0KKworICAgIDku
Mi4xIFtbQ2FsbF1dICggdGhpc0FyZ3VtZW50LCBhcmd1bWVudHNMaXN0KQorCisgICAgWy4uLl0K
KyAgICA3LiBMZXQgcmVzdWx0IGJlIE9yZGluYXJ5Q2FsbEV2YWx1YXRlQm9keShGLCBhcmd1bWVu
dHNMaXN0KS4KKyAgICBbLi4uXQorCisgICAgOS4yLjEuMyBPcmRpbmFyeUNhbGxFdmFsdWF0ZUJv
ZHkgKCBGLCBhcmd1bWVudHNMaXN0ICkKKworICAgIDEuIExldCBzdGF0dXMgYmUgRnVuY3Rpb25E
ZWNsYXJhdGlvbkluc3RhbnRpYXRpb24oRiwgYXJndW1lbnRzTGlzdCkuCisgICAgWy4uLl0KKwor
ICAgIDkuMi4xMiBGdW5jdGlvbkRlY2xhcmF0aW9uSW5zdGFudGlhdGlvbihmdW5jLCBhcmd1bWVu
dHNMaXN0KQorCisgICAgWy4uLl0KKyAgICAyMy4gTGV0IGl0ZXJhdG9yUmVjb3JkIGJlIFJlY29y
ZCB7W1tpdGVyYXRvcl1dOgorICAgICAgICBDcmVhdGVMaXN0SXRlcmF0b3IoYXJndW1lbnRzTGlz
dCksIFtbZG9uZV1dOiBmYWxzZX0uCisgICAgMjQuIElmIGhhc0R1cGxpY2F0ZXMgaXMgdHJ1ZSwg
dGhlbgorICAgICAgICBbLi4uXQorICAgIDI1LiBFbHNlLAorICAgICAgICBiLiBMZXQgZm9ybWFs
U3RhdHVzIGJlIEl0ZXJhdG9yQmluZGluZ0luaXRpYWxpemF0aW9uIGZvciBmb3JtYWxzIHdpdGgK
KyAgICAgICAgICAgaXRlcmF0b3JSZWNvcmQgYW5kIGVudiBhcyBhcmd1bWVudHMuCisgICAgWy4u
Ll0KKworICAgIFJ1bnRpbWUgU2VtYW50aWNzOiBCaW5kaW5nSW5pdGlhbGl6YXRpb24KKworICAg
IEJpbmRpbmdQYXR0ZXJuIDogQXJyYXlCaW5kaW5nUGF0dGVybgorCisgICAgMS4gTGV0IGl0ZXJh
dG9yUmVjb3JkIGJlID8gR2V0SXRlcmF0b3IodmFsdWUpLgorCisgICAgR2V0SXRlcmF0b3IgKCBv
YmogWyAsIGhpbnQgWyAsIG1ldGhvZCBdIF0gKQorCisgICAgWy4uLl0KKyAgICA0LiBMZXQgaXRl
cmF0b3IgYmUgPyBDYWxsKG1ldGhvZCwgb2JqKS4KKworICAgIENhbGwgKCBGLCBWIFsgLCBhcmd1
bWVudHNMaXN0IF0gKQorCisgICAgWy4uLl0KKyAgICAyLiBJZiBJc0NhbGxhYmxlKEYpIGlzIGZh
bHNlLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24uCisKKy0tLSovCitkZWxldGUgQXJyYXku
cHJvdG90eXBlW1N5bWJvbC5pdGVyYXRvcl07CisKK3ZhciBmID0gKFt4LCB5LCB6XSA9IFsxLCAy
LCAzXSkgPT4ge307CisKK2Fzc2VydC50aHJvd3MoVHlwZUVycm9yLCBmdW5jdGlvbigpIHsKKyAg
ZigpOworfSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHBy
ZXNzaW9ucy9hcnJvdy1mdW5jdGlvbi9kc3RyL2RmbHQtYXJ5LXB0cm4tZWxlbS1pZC1pdGVyLXZh
bC1hcnJheS1wcm90b3R5cGUuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHBy
ZXNzaW9ucy9hcnJvdy1mdW5jdGlvbi9kc3RyL2RmbHQtYXJ5LXB0cm4tZWxlbS1pZC1pdGVyLXZh
bC1hcnJheS1wcm90b3R5cGUuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOWI0ZjUwMmZiZjQxYTI3MjRiYzk5ZTQ2
MWNlNjQyOTRlOTUyNDhmOAotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2xhbmd1YWdlL2V4cHJlc3Npb25zL2Fycm93LWZ1bmN0aW9uL2RzdHIvZGZsdC1hcnktcHRybi1l
bGVtLWlkLWl0ZXItdmFsLWFycmF5LXByb3RvdHlwZS5qcwpAQCAtMCwwICsxLDgwIEBACisvLyBU
aGlzIGZpbGUgd2FzIHByb2NlZHVyYWxseSBnZW5lcmF0ZWQgZnJvbSB0aGUgZm9sbG93aW5nIHNv
dXJjZXM6CisvLyAtIHNyYy9kc3RyLWJpbmRpbmcvYXJ5LXB0cm4tZWxlbS1pZC1pdGVyLXZhbC1h
cnJheS1wcm90b3R5cGUuY2FzZQorLy8gLSBzcmMvZHN0ci1iaW5kaW5nL2RlZmF1bHQvYXJyb3ct
ZnVuY3Rpb24tZGZsdC50ZW1wbGF0ZQorLyotLS0KK2Rlc2NyaXB0aW9uOiBBcnJheSBkZXN0cnVj
dHVyaW5nIHVzZXMgb3ZlcnJpZGVuIEFycmF5LnByb3RvdHlwZVtTeW1ib2wuaXRlcmF0b3JdIChh
cnJvdyBmdW5jdGlvbiBleHByZXNzaW9uIChkZWZhdWx0IHBhcmFtZXRlcikpCitlc2lkOiBzZWMt
YXJyb3ctZnVuY3Rpb24tZGVmaW5pdGlvbnMtcnVudGltZS1zZW1hbnRpY3MtZXZhbHVhdGlvbgor
ZmVhdHVyZXM6IFtTeW1ib2wuaXRlcmF0b3IsIGdlbmVyYXRvcnMsIGRlc3RydWN0dXJpbmctYmlu
ZGluZywgZGVmYXVsdC1wYXJhbWV0ZXJzXQorZmxhZ3M6IFtnZW5lcmF0ZWRdCitpbmZvOiB8Cisg
ICAgQXJyb3dGdW5jdGlvbiA6IEFycm93UGFyYW1ldGVycyA9PiBDb25jaXNlQm9keQorCisgICAg
Wy4uLl0KKyAgICA0LiBMZXQgY2xvc3VyZSBiZSBGdW5jdGlvbkNyZWF0ZShBcnJvdywgcGFyYW1l
dGVycywgQ29uY2lzZUJvZHksIHNjb3BlLCBzdHJpY3QpLgorICAgIFsuLi5dCisKKyAgICA5LjIu
MSBbW0NhbGxdXSAoIHRoaXNBcmd1bWVudCwgYXJndW1lbnRzTGlzdCkKKworICAgIFsuLi5dCisg
ICAgNy4gTGV0IHJlc3VsdCBiZSBPcmRpbmFyeUNhbGxFdmFsdWF0ZUJvZHkoRiwgYXJndW1lbnRz
TGlzdCkuCisgICAgWy4uLl0KKworICAgIDkuMi4xLjMgT3JkaW5hcnlDYWxsRXZhbHVhdGVCb2R5
ICggRiwgYXJndW1lbnRzTGlzdCApCisKKyAgICAxLiBMZXQgc3RhdHVzIGJlIEZ1bmN0aW9uRGVj
bGFyYXRpb25JbnN0YW50aWF0aW9uKEYsIGFyZ3VtZW50c0xpc3QpLgorICAgIFsuLi5dCisKKyAg
ICA5LjIuMTIgRnVuY3Rpb25EZWNsYXJhdGlvbkluc3RhbnRpYXRpb24oZnVuYywgYXJndW1lbnRz
TGlzdCkKKworICAgIFsuLi5dCisgICAgMjMuIExldCBpdGVyYXRvclJlY29yZCBiZSBSZWNvcmQg
e1tbaXRlcmF0b3JdXToKKyAgICAgICAgQ3JlYXRlTGlzdEl0ZXJhdG9yKGFyZ3VtZW50c0xpc3Qp
LCBbW2RvbmVdXTogZmFsc2V9LgorICAgIDI0LiBJZiBoYXNEdXBsaWNhdGVzIGlzIHRydWUsIHRo
ZW4KKyAgICAgICAgWy4uLl0KKyAgICAyNS4gRWxzZSwKKyAgICAgICAgYi4gTGV0IGZvcm1hbFN0
YXR1cyBiZSBJdGVyYXRvckJpbmRpbmdJbml0aWFsaXphdGlvbiBmb3IgZm9ybWFscyB3aXRoCisg
ICAgICAgICAgIGl0ZXJhdG9yUmVjb3JkIGFuZCBlbnYgYXMgYXJndW1lbnRzLgorICAgIFsuLi5d
CisKKyAgICBSdW50aW1lIFNlbWFudGljczogSXRlcmF0b3JCaW5kaW5nSW5pdGlhbGl6YXRpb24K
KworICAgIFNpbmdsZU5hbWVCaW5kaW5nIDogQmluZGluZ0lkZW50aWZpZXIgSW5pdGlhbGl6ZXJf
b3B0CisKKyAgICAxLiBMZXQgYmluZGluZ0lkIGJlIFN0cmluZ1ZhbHVlIG9mIEJpbmRpbmdJZGVu
dGlmaWVyLgorICAgIDIuIExldCBsaHMgYmUgPyBSZXNvbHZlQmluZGluZyhiaW5kaW5nSWQsIGVu
dmlyb25tZW50KS4KKyAgICAzLiBJZiBpdGVyYXRvclJlY29yZC5bW0RvbmVdXSBpcyBmYWxzZSwg
dGhlbgorICAgICAgICBhLiBMZXQgbmV4dCBiZSBJdGVyYXRvclN0ZXAoaXRlcmF0b3JSZWNvcmQp
LgorICAgICAgICBiLiBJZiBuZXh0IGlzIGFuIGFicnVwdCBjb21wbGV0aW9uLCBzZXQgaXRlcmF0
b3JSZWNvcmQuW1tEb25lXV0gdG8gdHJ1ZS4KKyAgICAgICAgYy4gUmV0dXJuSWZBYnJ1cHQobmV4
dCkuCisgICAgICAgIGQuIElmIG5leHQgaXMgZmFsc2UsIHNldCBpdGVyYXRvclJlY29yZC5bW0Rv
bmVdXSB0byB0cnVlLgorICAgICAgICBlLiBFbHNlLAorICAgICAgICAgICAgaS4gTGV0IHYgYmUg
SXRlcmF0b3JWYWx1ZShuZXh0KS4KKyAgICAgICAgICAgIGlpLiBJZiB2IGlzIGFuIGFicnVwdCBj
b21wbGV0aW9uLCBzZXQgaXRlcmF0b3JSZWNvcmQuW1tEb25lXV0gdG8gdHJ1ZS4KKyAgICAgICAg
ICAgIGlpaS4gUmV0dXJuSWZBYnJ1cHQodikuCisgICAgWy4uLl0KKyAgICA3LiBSZXR1cm4gSW5p
dGlhbGl6ZVJlZmVyZW5jZWRCaW5kaW5nKGxocywgdikuCisKKy0tLSovCitBcnJheS5wcm90b3R5
cGVbU3ltYm9sLml0ZXJhdG9yXSA9IGZ1bmN0aW9uKiAoKSB7CisgICAgaWYgKHRoaXMubGVuZ3Ro
ID4gMCkgeworICAgICAgICB5aWVsZCB0aGlzWzBdOworICAgIH0KKyAgICBpZiAodGhpcy5sZW5n
dGggPiAxKSB7CisgICAgICAgIHlpZWxkIHRoaXNbMV07CisgICAgfQorICAgIGlmICh0aGlzLmxl
bmd0aCA+IDIpIHsKKyAgICAgICAgeWllbGQgNDI7CisgICAgfQorfTsKKwordmFyIGNhbGxDb3Vu
dCA9IDA7Cit2YXIgZjsKK2YgPSAoW3gsIHksIHpdID0gWzEsIDIsIDNdKSA9PiB7CisgIGFzc2Vy
dC5zYW1lVmFsdWUoeCwgMSk7CisgIGFzc2VydC5zYW1lVmFsdWUoeSwgMik7CisgIGFzc2VydC5z
YW1lVmFsdWUoeiwgNDIpOworICBjYWxsQ291bnQgPSBjYWxsQ291bnQgKyAxOworfTsKKworZigp
OworYXNzZXJ0LnNhbWVWYWx1ZShjYWxsQ291bnQsIDEsICdhcnJvdyBmdW5jdGlvbiBpbnZva2Vk
IGV4YWN0bHkgb25jZScpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3Vh
Z2UvZXhwcmVzc2lvbnMvYXJyb3ctZnVuY3Rpb24vZHN0ci9kZmx0LWFyeS1wdHJuLXJlc3QtaWQt
ZGlyZWN0LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXJy
b3ctZnVuY3Rpb24vZHN0ci9kZmx0LWFyeS1wdHJuLXJlc3QtaWQtZGlyZWN0LmpzCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjNhNmIwNGRlZWQyZDRiYWI0N2YxMjA3N2I1MDgwOTIwZDhiMTY2MTgKLS0tIC9kZXYvbnVs
bAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hcnJvdy1m
dW5jdGlvbi9kc3RyL2RmbHQtYXJ5LXB0cm4tcmVzdC1pZC1kaXJlY3QuanMKQEAgLTAsMCArMSw2
MyBAQAorLy8gVGhpcyBmaWxlIHdhcyBwcm9jZWR1cmFsbHkgZ2VuZXJhdGVkIGZyb20gdGhlIGZv
bGxvd2luZyBzb3VyY2VzOgorLy8gLSBzcmMvZHN0ci1iaW5kaW5nL2FyeS1wdHJuLXJlc3QtaWQt
ZGlyZWN0LmNhc2UKKy8vIC0gc3JjL2RzdHItYmluZGluZy9kZWZhdWx0L2Fycm93LWZ1bmN0aW9u
LWRmbHQudGVtcGxhdGUKKy8qLS0tCitkZXNjcmlwdGlvbjogTG9uZSByZXN0IGVsZW1lbnQgKGRp
cmVjdCBiaW5kaW5nKSAoYXJyb3cgZnVuY3Rpb24gZXhwcmVzc2lvbiAoZGVmYXVsdCBwYXJhbWV0
ZXIpKQorZXNpZDogc2VjLWFycm93LWZ1bmN0aW9uLWRlZmluaXRpb25zLXJ1bnRpbWUtc2VtYW50
aWNzLWV2YWx1YXRpb24KK2ZlYXR1cmVzOiBbZGVzdHJ1Y3R1cmluZy1iaW5kaW5nLCBkZWZhdWx0
LXBhcmFtZXRlcnNdCitmbGFnczogW2dlbmVyYXRlZF0KK2luY2x1ZGVzOiBbY29tcGFyZUFycmF5
LmpzXQoraW5mbzogfAorICAgIEFycm93RnVuY3Rpb24gOiBBcnJvd1BhcmFtZXRlcnMgPT4gQ29u
Y2lzZUJvZHkKKworICAgIFsuLi5dCisgICAgNC4gTGV0IGNsb3N1cmUgYmUgRnVuY3Rpb25DcmVh
dGUoQXJyb3csIHBhcmFtZXRlcnMsIENvbmNpc2VCb2R5LCBzY29wZSwgc3RyaWN0KS4KKyAgICBb
Li4uXQorCisgICAgOS4yLjEgW1tDYWxsXV0gKCB0aGlzQXJndW1lbnQsIGFyZ3VtZW50c0xpc3Qp
CisKKyAgICBbLi4uXQorICAgIDcuIExldCByZXN1bHQgYmUgT3JkaW5hcnlDYWxsRXZhbHVhdGVC
b2R5KEYsIGFyZ3VtZW50c0xpc3QpLgorICAgIFsuLi5dCisKKyAgICA5LjIuMS4zIE9yZGluYXJ5
Q2FsbEV2YWx1YXRlQm9keSAoIEYsIGFyZ3VtZW50c0xpc3QgKQorCisgICAgMS4gTGV0IHN0YXR1
cyBiZSBGdW5jdGlvbkRlY2xhcmF0aW9uSW5zdGFudGlhdGlvbihGLCBhcmd1bWVudHNMaXN0KS4K
KyAgICBbLi4uXQorCisgICAgOS4yLjEyIEZ1bmN0aW9uRGVjbGFyYXRpb25JbnN0YW50aWF0aW9u
KGZ1bmMsIGFyZ3VtZW50c0xpc3QpCisKKyAgICBbLi4uXQorICAgIDIzLiBMZXQgaXRlcmF0b3JS
ZWNvcmQgYmUgUmVjb3JkIHtbW2l0ZXJhdG9yXV06CisgICAgICAgIENyZWF0ZUxpc3RJdGVyYXRv
cihhcmd1bWVudHNMaXN0KSwgW1tkb25lXV06IGZhbHNlfS4KKyAgICAyNC4gSWYgaGFzRHVwbGlj
YXRlcyBpcyB0cnVlLCB0aGVuCisgICAgICAgIFsuLi5dCisgICAgMjUuIEVsc2UsCisgICAgICAg
IGIuIExldCBmb3JtYWxTdGF0dXMgYmUgSXRlcmF0b3JCaW5kaW5nSW5pdGlhbGl6YXRpb24gZm9y
IGZvcm1hbHMgd2l0aAorICAgICAgICAgICBpdGVyYXRvclJlY29yZCBhbmQgZW52IGFzIGFyZ3Vt
ZW50cy4KKyAgICBbLi4uXQorCisgICAgUnVudGltZSBTZW1hbnRpY3M6IEl0ZXJhdG9yQmluZGlu
Z0luaXRpYWxpemF0aW9uCisKKyAgICBCaW5kaW5nUmVzdEVsZW1lbnQgOiAuLi4gQmluZGluZ0lk
ZW50aWZpZXIKKworICAgIFsuLi5dCisgICAgMi4gTGV0IEEgYmUgISBBcnJheUNyZWF0ZSgwKS4K
KyAgICAzLiBMZXQgbiBiZSAwLgorICAgIDQuIFJlcGVhdCwKKyAgICAgICAgWy4uLl0KKyAgICAg
ICAgZi4gUGVyZm9ybSAhIENyZWF0ZURhdGFQcm9wZXJ0eU9yVGhyb3coQSwgISBUb1N0cmluZyhu
KSwgbmV4dFZhbHVlKS4KKyAgICAgICAgZy4gU2V0IG4gdG8gbiArIDEuCisKKy0tLSovCisKK3Zh
ciBjYWxsQ291bnQgPSAwOwordmFyIGY7CitmID0gKFsuLi54XSA9IFsxXSkgPT4geworICBhc3Nl
cnQoQXJyYXkuaXNBcnJheSh4KSk7CisgIGFzc2VydC5jb21wYXJlQXJyYXkoeCwgWzFdKTsKKyAg
Y2FsbENvdW50ID0gY2FsbENvdW50ICsgMTsKK307CisKK2YoKTsKK2Fzc2VydC5zYW1lVmFsdWUo
Y2FsbENvdW50LCAxLCAnYXJyb3cgZnVuY3Rpb24gaW52b2tlZCBleGFjdGx5IG9uY2UnKTsKZGlm
ZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2FzeW5j
LWdlbmVyYXRvci9kc3RyL2FyeS1pbml0LWl0ZXItZ2V0LWVyci1hcnJheS1wcm90b3R5cGUuanMg
Yi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3luYy1nZW5lcmF0
b3IvZHN0ci9hcnktaW5pdC1pdGVyLWdldC1lcnItYXJyYXktcHJvdG90eXBlLmpzCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmE3YjcwNmQ4NTM1YmU4MTUxNWI3MDdmMjcyNTVjNTIxMzQwNjVkNTYKLS0tIC9kZXYvbnVs
bAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3luYy1n
ZW5lcmF0b3IvZHN0ci9hcnktaW5pdC1pdGVyLWdldC1lcnItYXJyYXktcHJvdG90eXBlLmpzCkBA
IC0wLDAgKzEsNDUgQEAKKy8vIFRoaXMgZmlsZSB3YXMgcHJvY2VkdXJhbGx5IGdlbmVyYXRlZCBm
cm9tIHRoZSBmb2xsb3dpbmcgc291cmNlczoKKy8vIC0gc3JjL2RzdHItYmluZGluZy9hcnktaW5p
dC1pdGVyLWdldC1lcnItYXJyYXktcHJvdG90eXBlLmNhc2UKKy8vIC0gc3JjL2RzdHItYmluZGlu
Zy9lcnJvci9hc3luYy1nZW4tZnVuYy1leHByLnRlbXBsYXRlCisvKi0tLQorZGVzY3JpcHRpb246
IEFicnVwdCBjb21wbGV0aW9uIHJldHVybmVkIGJ5IEdldEl0ZXJhdG9yIChhc3luYyBnZW5lcmF0
b3IgZnVuY3Rpb24gZXhwcmVzc2lvbikKK2VzaWQ6IHNlYy1hc3luY2dlbmVyYXRvci1kZWZpbml0
aW9ucy1ldmFsdWF0aW9uCitmZWF0dXJlczogW1N5bWJvbC5pdGVyYXRvciwgYXN5bmMtaXRlcmF0
aW9uXQorZmxhZ3M6IFtnZW5lcmF0ZWRdCitpbmZvOiB8CisgICAgQXN5bmNHZW5lcmF0b3JFeHBy
ZXNzaW9uIDogYXN5bmMgW25vIExpbmVUZXJtaW5hdG9yIGhlcmVdIGZ1bmN0aW9uICogKCBGb3Jt
YWxQYXJhbWV0ZXJzICkgeworICAgICAgICBBc3luY0dlbmVyYXRvckJvZHkgfQorCisgICAgICAg
IFsuLi5dCisgICAgICAgIDMuIExldCBjbG9zdXJlIGJlICEgQXN5bmNHZW5lcmF0b3JGdW5jdGlv
bkNyZWF0ZShOb3JtYWwsIEZvcm1hbFBhcmFtZXRlcnMsCisgICAgICAgICAgIEFzeW5jR2VuZXJh
dG9yQm9keSwgc2NvcGUsIHN0cmljdCkuCisgICAgICAgIFsuLi5dCisKKyAgICBSdW50aW1lIFNl
bWFudGljczogQmluZGluZ0luaXRpYWxpemF0aW9uCisKKyAgICBCaW5kaW5nUGF0dGVybiA6IEFy
cmF5QmluZGluZ1BhdHRlcm4KKworICAgIDEuIExldCBpdGVyYXRvclJlY29yZCBiZSA/IEdldEl0
ZXJhdG9yKHZhbHVlKS4KKworICAgIEdldEl0ZXJhdG9yICggb2JqIFsgLCBoaW50IFsgLCBtZXRo
b2QgXSBdICkKKworICAgIFsuLi5dCisgICAgNC4gTGV0IGl0ZXJhdG9yIGJlID8gQ2FsbChtZXRo
b2QsIG9iaikuCisKKyAgICBDYWxsICggRiwgViBbICwgYXJndW1lbnRzTGlzdCBdICkKKworICAg
IFsuLi5dCisgICAgMi4gSWYgSXNDYWxsYWJsZShGKSBpcyBmYWxzZSwgdGhyb3cgYSBUeXBlRXJy
b3IgZXhjZXB0aW9uLgorCistLS0qLworZGVsZXRlIEFycmF5LnByb3RvdHlwZVtTeW1ib2wuaXRl
cmF0b3JdOworCisKK3ZhciBmOworZiA9IGFzeW5jIGZ1bmN0aW9uKihbeCwgeSwgel0pIHsKKyAg
Cit9OworCithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgZnVuY3Rpb24oKSB7CisgIGYoWzEsIDIs
IDNdKTsKK30pOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhw
cmVzc2lvbnMvYXN5bmMtZ2VuZXJhdG9yL2RzdHIvYXJ5LXB0cm4tZWxlbS1pZC1pdGVyLXZhbC1h
cnJheS1wcm90b3R5cGUuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNz
aW9ucy9hc3luYy1nZW5lcmF0b3IvZHN0ci9hcnktcHRybi1lbGVtLWlkLWl0ZXItdmFsLWFycmF5
LXByb3RvdHlwZS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mOGYzNmU5YTVmYzVhMGYyNWFlNjQ4YWQyZWMzYmVk
NTNlM2NiYzQxCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3Vh
Z2UvZXhwcmVzc2lvbnMvYXN5bmMtZ2VuZXJhdG9yL2RzdHIvYXJ5LXB0cm4tZWxlbS1pZC1pdGVy
LXZhbC1hcnJheS1wcm90b3R5cGUuanMKQEAgLTAsMCArMSw2MiBAQAorLy8gVGhpcyBmaWxlIHdh
cyBwcm9jZWR1cmFsbHkgZ2VuZXJhdGVkIGZyb20gdGhlIGZvbGxvd2luZyBzb3VyY2VzOgorLy8g
LSBzcmMvZHN0ci1iaW5kaW5nL2FyeS1wdHJuLWVsZW0taWQtaXRlci12YWwtYXJyYXktcHJvdG90
eXBlLmNhc2UKKy8vIC0gc3JjL2RzdHItYmluZGluZy9kZWZhdWx0L2FzeW5jLWdlbi1mdW5jLWV4
cHIudGVtcGxhdGUKKy8qLS0tCitkZXNjcmlwdGlvbjogQXJyYXkgZGVzdHJ1Y3R1cmluZyB1c2Vz
IG92ZXJyaWRlbiBBcnJheS5wcm90b3R5cGVbU3ltYm9sLml0ZXJhdG9yXSAoYXN5bmMgZ2VuZXJh
dG9yIGZ1bmN0aW9uIGV4cHJlc3Npb24pCitlc2lkOiBzZWMtYXN5bmNnZW5lcmF0b3ItZGVmaW5p
dGlvbnMtZXZhbHVhdGlvbgorZmVhdHVyZXM6IFtTeW1ib2wuaXRlcmF0b3IsIGdlbmVyYXRvcnMs
IGFzeW5jLWl0ZXJhdGlvbl0KK2ZsYWdzOiBbZ2VuZXJhdGVkLCBhc3luY10KK2luZm86IHwKKyAg
ICBBc3luY0dlbmVyYXRvckV4cHJlc3Npb24gOiBhc3luYyBbbm8gTGluZVRlcm1pbmF0b3IgaGVy
ZV0gZnVuY3Rpb24gKiAoIEZvcm1hbFBhcmFtZXRlcnMgKSB7CisgICAgICAgIEFzeW5jR2VuZXJh
dG9yQm9keSB9CisKKyAgICAgICAgWy4uLl0KKyAgICAgICAgMy4gTGV0IGNsb3N1cmUgYmUgISBB
c3luY0dlbmVyYXRvckZ1bmN0aW9uQ3JlYXRlKE5vcm1hbCwgRm9ybWFsUGFyYW1ldGVycywKKyAg
ICAgICAgICAgQXN5bmNHZW5lcmF0b3JCb2R5LCBzY29wZSwgc3RyaWN0KS4KKyAgICAgICAgWy4u
Ll0KKworCisgICAgUnVudGltZSBTZW1hbnRpY3M6IEl0ZXJhdG9yQmluZGluZ0luaXRpYWxpemF0
aW9uCisKKyAgICBTaW5nbGVOYW1lQmluZGluZyA6IEJpbmRpbmdJZGVudGlmaWVyIEluaXRpYWxp
emVyX29wdAorCisgICAgMS4gTGV0IGJpbmRpbmdJZCBiZSBTdHJpbmdWYWx1ZSBvZiBCaW5kaW5n
SWRlbnRpZmllci4KKyAgICAyLiBMZXQgbGhzIGJlID8gUmVzb2x2ZUJpbmRpbmcoYmluZGluZ0lk
LCBlbnZpcm9ubWVudCkuCisgICAgMy4gSWYgaXRlcmF0b3JSZWNvcmQuW1tEb25lXV0gaXMgZmFs
c2UsIHRoZW4KKyAgICAgICAgYS4gTGV0IG5leHQgYmUgSXRlcmF0b3JTdGVwKGl0ZXJhdG9yUmVj
b3JkKS4KKyAgICAgICAgYi4gSWYgbmV4dCBpcyBhbiBhYnJ1cHQgY29tcGxldGlvbiwgc2V0IGl0
ZXJhdG9yUmVjb3JkLltbRG9uZV1dIHRvIHRydWUuCisgICAgICAgIGMuIFJldHVybklmQWJydXB0
KG5leHQpLgorICAgICAgICBkLiBJZiBuZXh0IGlzIGZhbHNlLCBzZXQgaXRlcmF0b3JSZWNvcmQu
W1tEb25lXV0gdG8gdHJ1ZS4KKyAgICAgICAgZS4gRWxzZSwKKyAgICAgICAgICAgIGkuIExldCB2
IGJlIEl0ZXJhdG9yVmFsdWUobmV4dCkuCisgICAgICAgICAgICBpaS4gSWYgdiBpcyBhbiBhYnJ1
cHQgY29tcGxldGlvbiwgc2V0IGl0ZXJhdG9yUmVjb3JkLltbRG9uZV1dIHRvIHRydWUuCisgICAg
ICAgICAgICBpaWkuIFJldHVybklmQWJydXB0KHYpLgorICAgIFsuLi5dCisgICAgNy4gUmV0dXJu
IEluaXRpYWxpemVSZWZlcmVuY2VkQmluZGluZyhsaHMsIHYpLgorCistLS0qLworQXJyYXkucHJv
dG90eXBlW1N5bWJvbC5pdGVyYXRvcl0gPSBmdW5jdGlvbiogKCkgeworICAgIGlmICh0aGlzLmxl
bmd0aCA+IDApIHsKKyAgICAgICAgeWllbGQgdGhpc1swXTsKKyAgICB9CisgICAgaWYgKHRoaXMu
bGVuZ3RoID4gMSkgeworICAgICAgICB5aWVsZCB0aGlzWzFdOworICAgIH0KKyAgICBpZiAodGhp
cy5sZW5ndGggPiAyKSB7CisgICAgICAgIHlpZWxkIDQyOworICAgIH0KK307CisKKwordmFyIGNh
bGxDb3VudCA9IDA7Cit2YXIgZjsKK2YgPSBhc3luYyBmdW5jdGlvbiooW3gsIHksIHpdKSB7Cisg
IGFzc2VydC5zYW1lVmFsdWUoeCwgMSk7CisgIGFzc2VydC5zYW1lVmFsdWUoeSwgMik7CisgIGFz
c2VydC5zYW1lVmFsdWUoeiwgNDIpOworICBjYWxsQ291bnQgPSBjYWxsQ291bnQgKyAxOworfTsK
KworZihbMSwgMiwgM10pLm5leHQoKS50aGVuKCgpID0+IHsKKyAgICBhc3NlcnQuc2FtZVZhbHVl
KGNhbGxDb3VudCwgMSwgJ2ludm9rZWQgZXhhY3RseSBvbmNlJyk7Cit9KS50aGVuKCRET05FLCAk
RE9ORSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNz
aW9ucy9hc3luYy1nZW5lcmF0b3IvZHN0ci9hcnktcHRybi1yZXN0LWlkLWRpcmVjdC5qcyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2FzeW5jLWdlbmVyYXRvci9k
c3RyL2FyeS1wdHJuLXJlc3QtaWQtZGlyZWN0LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI4OWU4OGJlMzdmZTgx
YWMxNGFkOGQxM2E4NzI2YTA5NWY5MWNjZTQKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3luYy1nZW5lcmF0b3IvZHN0ci9hcnkt
cHRybi1yZXN0LWlkLWRpcmVjdC5qcwpAQCAtMCwwICsxLDQ1IEBACisvLyBUaGlzIGZpbGUgd2Fz
IHByb2NlZHVyYWxseSBnZW5lcmF0ZWQgZnJvbSB0aGUgZm9sbG93aW5nIHNvdXJjZXM6CisvLyAt
IHNyYy9kc3RyLWJpbmRpbmcvYXJ5LXB0cm4tcmVzdC1pZC1kaXJlY3QuY2FzZQorLy8gLSBzcmMv
ZHN0ci1iaW5kaW5nL2RlZmF1bHQvYXN5bmMtZ2VuLWZ1bmMtZXhwci50ZW1wbGF0ZQorLyotLS0K
K2Rlc2NyaXB0aW9uOiBMb25lIHJlc3QgZWxlbWVudCAoZGlyZWN0IGJpbmRpbmcpIChhc3luYyBn
ZW5lcmF0b3IgZnVuY3Rpb24gZXhwcmVzc2lvbikKK2VzaWQ6IHNlYy1hc3luY2dlbmVyYXRvci1k
ZWZpbml0aW9ucy1ldmFsdWF0aW9uCitmZWF0dXJlczogW2FzeW5jLWl0ZXJhdGlvbl0KK2ZsYWdz
OiBbZ2VuZXJhdGVkLCBhc3luY10KK2luY2x1ZGVzOiBbY29tcGFyZUFycmF5LmpzXQoraW5mbzog
fAorICAgIEFzeW5jR2VuZXJhdG9yRXhwcmVzc2lvbiA6IGFzeW5jIFtubyBMaW5lVGVybWluYXRv
ciBoZXJlXSBmdW5jdGlvbiAqICggRm9ybWFsUGFyYW1ldGVycyApIHsKKyAgICAgICAgQXN5bmNH
ZW5lcmF0b3JCb2R5IH0KKworICAgICAgICBbLi4uXQorICAgICAgICAzLiBMZXQgY2xvc3VyZSBi
ZSAhIEFzeW5jR2VuZXJhdG9yRnVuY3Rpb25DcmVhdGUoTm9ybWFsLCBGb3JtYWxQYXJhbWV0ZXJz
LAorICAgICAgICAgICBBc3luY0dlbmVyYXRvckJvZHksIHNjb3BlLCBzdHJpY3QpLgorICAgICAg
ICBbLi4uXQorCisKKyAgICBSdW50aW1lIFNlbWFudGljczogSXRlcmF0b3JCaW5kaW5nSW5pdGlh
bGl6YXRpb24KKworICAgIEJpbmRpbmdSZXN0RWxlbWVudCA6IC4uLiBCaW5kaW5nSWRlbnRpZmll
cgorCisgICAgWy4uLl0KKyAgICAyLiBMZXQgQSBiZSAhIEFycmF5Q3JlYXRlKDApLgorICAgIDMu
IExldCBuIGJlIDAuCisgICAgNC4gUmVwZWF0LAorICAgICAgICBbLi4uXQorICAgICAgICBmLiBQ
ZXJmb3JtICEgQ3JlYXRlRGF0YVByb3BlcnR5T3JUaHJvdyhBLCAhIFRvU3RyaW5nKG4pLCBuZXh0
VmFsdWUpLgorICAgICAgICBnLiBTZXQgbiB0byBuICsgMS4KKworLS0tKi8KKworCit2YXIgY2Fs
bENvdW50ID0gMDsKK3ZhciBmOworZiA9IGFzeW5jIGZ1bmN0aW9uKihbLi4ueF0pIHsKKyAgYXNz
ZXJ0KEFycmF5LmlzQXJyYXkoeCkpOworICBhc3NlcnQuY29tcGFyZUFycmF5KHgsIFsxXSk7Cisg
IGNhbGxDb3VudCA9IGNhbGxDb3VudCArIDE7Cit9OworCitmKFsxXSkubmV4dCgpLnRoZW4oKCkg
PT4geworICAgIGFzc2VydC5zYW1lVmFsdWUoY2FsbENvdW50LCAxLCAnaW52b2tlZCBleGFjdGx5
IG9uY2UnKTsKK30pLnRoZW4oJERPTkUsICRET05FKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2FzeW5jLWdlbmVyYXRvci9kc3RyL2RmbHQt
YXJ5LWluaXQtaXRlci1nZXQtZXJyLWFycmF5LXByb3RvdHlwZS5qcyBiL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2FzeW5jLWdlbmVyYXRvci9kc3RyL2RmbHQtYXJ5
LWluaXQtaXRlci1nZXQtZXJyLWFycmF5LXByb3RvdHlwZS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xNTVkNmU2
ODFhMGIwZTdjM2JiYTk1YjQ4N2NhZDE1NmRjZGUwYTcwCi0tLSAvZGV2L251bGwKKysrIGIvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXN5bmMtZ2VuZXJhdG9yL2Rz
dHIvZGZsdC1hcnktaW5pdC1pdGVyLWdldC1lcnItYXJyYXktcHJvdG90eXBlLmpzCkBAIC0wLDAg
KzEsNDQgQEAKKy8vIFRoaXMgZmlsZSB3YXMgcHJvY2VkdXJhbGx5IGdlbmVyYXRlZCBmcm9tIHRo
ZSBmb2xsb3dpbmcgc291cmNlczoKKy8vIC0gc3JjL2RzdHItYmluZGluZy9hcnktaW5pdC1pdGVy
LWdldC1lcnItYXJyYXktcHJvdG90eXBlLmNhc2UKKy8vIC0gc3JjL2RzdHItYmluZGluZy9lcnJv
ci9hc3luYy1nZW4tZnVuYy1leHByLWRmbHQudGVtcGxhdGUKKy8qLS0tCitkZXNjcmlwdGlvbjog
QWJydXB0IGNvbXBsZXRpb24gcmV0dXJuZWQgYnkgR2V0SXRlcmF0b3IgKGFzeW5jIGdlbmVyYXRv
ciBmdW5jdGlvbiBleHByZXNzaW9uIChkZWZhdWx0IHBhcmFtZXRlcikpCitlc2lkOiBzZWMtYXN5
bmNnZW5lcmF0b3ItZGVmaW5pdGlvbnMtZXZhbHVhdGlvbgorZmVhdHVyZXM6IFtTeW1ib2wuaXRl
cmF0b3IsIGFzeW5jLWl0ZXJhdGlvbl0KK2ZsYWdzOiBbZ2VuZXJhdGVkXQoraW5mbzogfAorICAg
IEFzeW5jR2VuZXJhdG9yRXhwcmVzc2lvbiA6IGFzeW5jIFtubyBMaW5lVGVybWluYXRvciBoZXJl
XSBmdW5jdGlvbiAqICggRm9ybWFsUGFyYW1ldGVycyApIHsKKyAgICAgICAgQXN5bmNHZW5lcmF0
b3JCb2R5IH0KKworICAgICAgICBbLi4uXQorICAgICAgICAzLiBMZXQgY2xvc3VyZSBiZSAhIEFz
eW5jR2VuZXJhdG9yRnVuY3Rpb25DcmVhdGUoTm9ybWFsLCBGb3JtYWxQYXJhbWV0ZXJzLAorICAg
ICAgICAgICBBc3luY0dlbmVyYXRvckJvZHksIHNjb3BlLCBzdHJpY3QpLgorICAgICAgICBbLi4u
XQorCisgICAgUnVudGltZSBTZW1hbnRpY3M6IEJpbmRpbmdJbml0aWFsaXphdGlvbgorCisgICAg
QmluZGluZ1BhdHRlcm4gOiBBcnJheUJpbmRpbmdQYXR0ZXJuCisKKyAgICAxLiBMZXQgaXRlcmF0
b3JSZWNvcmQgYmUgPyBHZXRJdGVyYXRvcih2YWx1ZSkuCisKKyAgICBHZXRJdGVyYXRvciAoIG9i
aiBbICwgaGludCBbICwgbWV0aG9kIF0gXSApCisKKyAgICBbLi4uXQorICAgIDQuIExldCBpdGVy
YXRvciBiZSA/IENhbGwobWV0aG9kLCBvYmopLgorCisgICAgQ2FsbCAoIEYsIFYgWyAsIGFyZ3Vt
ZW50c0xpc3QgXSApCisKKyAgICBbLi4uXQorICAgIDIuIElmIElzQ2FsbGFibGUoRikgaXMgZmFs
c2UsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KKworLS0tKi8KK2RlbGV0ZSBBcnJheS5w
cm90b3R5cGVbU3ltYm9sLml0ZXJhdG9yXTsKKworCit2YXIgZiA9IGFzeW5jIGZ1bmN0aW9uKihb
eCwgeSwgel0gPSBbMSwgMiwgM10pIHsKKyAgCit9OworCithc3NlcnQudGhyb3dzKFR5cGVFcnJv
ciwgZnVuY3Rpb24oKSB7CisgIGYoKTsKK30pOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXN5bmMtZ2VuZXJhdG9yL2RzdHIvZGZsdC1hcnkt
cHRybi1lbGVtLWlkLWl0ZXItdmFsLWFycmF5LXByb3RvdHlwZS5qcyBiL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2FzeW5jLWdlbmVyYXRvci9kc3RyL2RmbHQtYXJ5
LXB0cm4tZWxlbS1pZC1pdGVyLXZhbC1hcnJheS1wcm90b3R5cGUuanMKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDRk
YjJjMzRhNTVhMWFhYTdkNDMzYTk3ZjkyOGE2YzQxZWY4ODc3MQotLS0gL2Rldi9udWxsCisrKyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2FzeW5jLWdlbmVyYXRv
ci9kc3RyL2RmbHQtYXJ5LXB0cm4tZWxlbS1pZC1pdGVyLXZhbC1hcnJheS1wcm90b3R5cGUuanMK
QEAgLTAsMCArMSw2MiBAQAorLy8gVGhpcyBmaWxlIHdhcyBwcm9jZWR1cmFsbHkgZ2VuZXJhdGVk
IGZyb20gdGhlIGZvbGxvd2luZyBzb3VyY2VzOgorLy8gLSBzcmMvZHN0ci1iaW5kaW5nL2FyeS1w
dHJuLWVsZW0taWQtaXRlci12YWwtYXJyYXktcHJvdG90eXBlLmNhc2UKKy8vIC0gc3JjL2RzdHIt
YmluZGluZy9kZWZhdWx0L2FzeW5jLWdlbi1mdW5jLWV4cHItZGZsdC50ZW1wbGF0ZQorLyotLS0K
K2Rlc2NyaXB0aW9uOiBBcnJheSBkZXN0cnVjdHVyaW5nIHVzZXMgb3ZlcnJpZGVuIEFycmF5LnBy
b3RvdHlwZVtTeW1ib2wuaXRlcmF0b3JdIChhc3luYyBnZW5lcmF0b3IgZnVuY3Rpb24gZXhwcmVz
c2lvbiAoZGVmYXVsdCBwYXJhbWV0ZXIpKQorZXNpZDogc2VjLWFzeW5jZ2VuZXJhdG9yLWRlZmlu
aXRpb25zLWV2YWx1YXRpb24KK2ZlYXR1cmVzOiBbU3ltYm9sLml0ZXJhdG9yLCBnZW5lcmF0b3Jz
LCBhc3luYy1pdGVyYXRpb25dCitmbGFnczogW2dlbmVyYXRlZCwgYXN5bmNdCitpbmZvOiB8Cisg
ICAgQXN5bmNHZW5lcmF0b3JFeHByZXNzaW9uIDogYXN5bmMgW25vIExpbmVUZXJtaW5hdG9yIGhl
cmVdIGZ1bmN0aW9uICogKCBGb3JtYWxQYXJhbWV0ZXJzICkgeworICAgICAgICBBc3luY0dlbmVy
YXRvckJvZHkgfQorCisgICAgICAgIFsuLi5dCisgICAgICAgIDMuIExldCBjbG9zdXJlIGJlICEg
QXN5bmNHZW5lcmF0b3JGdW5jdGlvbkNyZWF0ZShOb3JtYWwsIEZvcm1hbFBhcmFtZXRlcnMsCisg
ICAgICAgICAgIEFzeW5jR2VuZXJhdG9yQm9keSwgc2NvcGUsIHN0cmljdCkuCisgICAgICAgIFsu
Li5dCisKKworICAgIFJ1bnRpbWUgU2VtYW50aWNzOiBJdGVyYXRvckJpbmRpbmdJbml0aWFsaXph
dGlvbgorCisgICAgU2luZ2xlTmFtZUJpbmRpbmcgOiBCaW5kaW5nSWRlbnRpZmllciBJbml0aWFs
aXplcl9vcHQKKworICAgIDEuIExldCBiaW5kaW5nSWQgYmUgU3RyaW5nVmFsdWUgb2YgQmluZGlu
Z0lkZW50aWZpZXIuCisgICAgMi4gTGV0IGxocyBiZSA/IFJlc29sdmVCaW5kaW5nKGJpbmRpbmdJ
ZCwgZW52aXJvbm1lbnQpLgorICAgIDMuIElmIGl0ZXJhdG9yUmVjb3JkLltbRG9uZV1dIGlzIGZh
bHNlLCB0aGVuCisgICAgICAgIGEuIExldCBuZXh0IGJlIEl0ZXJhdG9yU3RlcChpdGVyYXRvclJl
Y29yZCkuCisgICAgICAgIGIuIElmIG5leHQgaXMgYW4gYWJydXB0IGNvbXBsZXRpb24sIHNldCBp
dGVyYXRvclJlY29yZC5bW0RvbmVdXSB0byB0cnVlLgorICAgICAgICBjLiBSZXR1cm5JZkFicnVw
dChuZXh0KS4KKyAgICAgICAgZC4gSWYgbmV4dCBpcyBmYWxzZSwgc2V0IGl0ZXJhdG9yUmVjb3Jk
LltbRG9uZV1dIHRvIHRydWUuCisgICAgICAgIGUuIEVsc2UsCisgICAgICAgICAgICBpLiBMZXQg
diBiZSBJdGVyYXRvclZhbHVlKG5leHQpLgorICAgICAgICAgICAgaWkuIElmIHYgaXMgYW4gYWJy
dXB0IGNvbXBsZXRpb24sIHNldCBpdGVyYXRvclJlY29yZC5bW0RvbmVdXSB0byB0cnVlLgorICAg
ICAgICAgICAgaWlpLiBSZXR1cm5JZkFicnVwdCh2KS4KKyAgICBbLi4uXQorICAgIDcuIFJldHVy
biBJbml0aWFsaXplUmVmZXJlbmNlZEJpbmRpbmcobGhzLCB2KS4KKworLS0tKi8KK0FycmF5LnBy
b3RvdHlwZVtTeW1ib2wuaXRlcmF0b3JdID0gZnVuY3Rpb24qICgpIHsKKyAgICBpZiAodGhpcy5s
ZW5ndGggPiAwKSB7CisgICAgICAgIHlpZWxkIHRoaXNbMF07CisgICAgfQorICAgIGlmICh0aGlz
Lmxlbmd0aCA+IDEpIHsKKyAgICAgICAgeWllbGQgdGhpc1sxXTsKKyAgICB9CisgICAgaWYgKHRo
aXMubGVuZ3RoID4gMikgeworICAgICAgICB5aWVsZCA0MjsKKyAgICB9Cit9OworCisKK3ZhciBj
YWxsQ291bnQgPSAwOwordmFyIGY7CitmID0gYXN5bmMgZnVuY3Rpb24qKFt4LCB5LCB6XSA9IFsx
LCAyLCAzXSkgeworICBhc3NlcnQuc2FtZVZhbHVlKHgsIDEpOworICBhc3NlcnQuc2FtZVZhbHVl
KHksIDIpOworICBhc3NlcnQuc2FtZVZhbHVlKHosIDQyKTsKKyAgY2FsbENvdW50ID0gY2FsbENv
dW50ICsgMTsKK307CisKK2YoKS5uZXh0KCkudGhlbigoKSA9PiB7CisgICAgYXNzZXJ0LnNhbWVW
YWx1ZShjYWxsQ291bnQsIDEsICdpbnZva2VkIGV4YWN0bHkgb25jZScpOworfSkudGhlbigkRE9O
RSwgJERPTkUpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhw
cmVzc2lvbnMvYXN5bmMtZ2VuZXJhdG9yL2RzdHIvZGZsdC1hcnktcHRybi1yZXN0LWlkLWRpcmVj
dC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2FzeW5jLWdl
bmVyYXRvci9kc3RyL2RmbHQtYXJ5LXB0cm4tcmVzdC1pZC1kaXJlY3QuanMKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjIxMWM2NTQ4MWNkY2NiZGUxZjZmYjdlNDQyOGQzMmZlMmI4ZjA0YgotLS0gL2Rldi9udWxsCisr
KyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2FzeW5jLWdlbmVy
YXRvci9kc3RyL2RmbHQtYXJ5LXB0cm4tcmVzdC1pZC1kaXJlY3QuanMKQEAgLTAsMCArMSw0NSBA
QAorLy8gVGhpcyBmaWxlIHdhcyBwcm9jZWR1cmFsbHkgZ2VuZXJhdGVkIGZyb20gdGhlIGZvbGxv
d2luZyBzb3VyY2VzOgorLy8gLSBzcmMvZHN0ci1iaW5kaW5nL2FyeS1wdHJuLXJlc3QtaWQtZGly
ZWN0LmNhc2UKKy8vIC0gc3JjL2RzdHItYmluZGluZy9kZWZhdWx0L2FzeW5jLWdlbi1mdW5jLWV4
cHItZGZsdC50ZW1wbGF0ZQorLyotLS0KK2Rlc2NyaXB0aW9uOiBMb25lIHJlc3QgZWxlbWVudCAo
ZGlyZWN0IGJpbmRpbmcpIChhc3luYyBnZW5lcmF0b3IgZnVuY3Rpb24gZXhwcmVzc2lvbiAoZGVm
YXVsdCBwYXJhbWV0ZXIpKQorZXNpZDogc2VjLWFzeW5jZ2VuZXJhdG9yLWRlZmluaXRpb25zLWV2
YWx1YXRpb24KK2ZlYXR1cmVzOiBbYXN5bmMtaXRlcmF0aW9uXQorZmxhZ3M6IFtnZW5lcmF0ZWQs
IGFzeW5jXQoraW5jbHVkZXM6IFtjb21wYXJlQXJyYXkuanNdCitpbmZvOiB8CisgICAgQXN5bmNH
ZW5lcmF0b3JFeHByZXNzaW9uIDogYXN5bmMgW25vIExpbmVUZXJtaW5hdG9yIGhlcmVdIGZ1bmN0
aW9uICogKCBGb3JtYWxQYXJhbWV0ZXJzICkgeworICAgICAgICBBc3luY0dlbmVyYXRvckJvZHkg
fQorCisgICAgICAgIFsuLi5dCisgICAgICAgIDMuIExldCBjbG9zdXJlIGJlICEgQXN5bmNHZW5l
cmF0b3JGdW5jdGlvbkNyZWF0ZShOb3JtYWwsIEZvcm1hbFBhcmFtZXRlcnMsCisgICAgICAgICAg
IEFzeW5jR2VuZXJhdG9yQm9keSwgc2NvcGUsIHN0cmljdCkuCisgICAgICAgIFsuLi5dCisKKwor
ICAgIFJ1bnRpbWUgU2VtYW50aWNzOiBJdGVyYXRvckJpbmRpbmdJbml0aWFsaXphdGlvbgorCisg
ICAgQmluZGluZ1Jlc3RFbGVtZW50IDogLi4uIEJpbmRpbmdJZGVudGlmaWVyCisKKyAgICBbLi4u
XQorICAgIDIuIExldCBBIGJlICEgQXJyYXlDcmVhdGUoMCkuCisgICAgMy4gTGV0IG4gYmUgMC4K
KyAgICA0LiBSZXBlYXQsCisgICAgICAgIFsuLi5dCisgICAgICAgIGYuIFBlcmZvcm0gISBDcmVh
dGVEYXRhUHJvcGVydHlPclRocm93KEEsICEgVG9TdHJpbmcobiksIG5leHRWYWx1ZSkuCisgICAg
ICAgIGcuIFNldCBuIHRvIG4gKyAxLgorCistLS0qLworCisKK3ZhciBjYWxsQ291bnQgPSAwOwor
dmFyIGY7CitmID0gYXN5bmMgZnVuY3Rpb24qKFsuLi54XSA9IFsxXSkgeworICBhc3NlcnQoQXJy
YXkuaXNBcnJheSh4KSk7CisgIGFzc2VydC5jb21wYXJlQXJyYXkoeCwgWzFdKTsKKyAgY2FsbENv
dW50ID0gY2FsbENvdW50ICsgMTsKK307CisKK2YoKS5uZXh0KCkudGhlbigoKSA9PiB7CisgICAg
YXNzZXJ0LnNhbWVWYWx1ZShjYWxsQ291bnQsIDEsICdpbnZva2VkIGV4YWN0bHkgb25jZScpOwor
fSkudGhlbigkRE9ORSwgJERPTkUpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
bGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXN5bmMtZ2VuZXJhdG9yL2RzdHIvbmFtZWQtYXJ5LWluaXQt
aXRlci1nZXQtZXJyLWFycmF5LXByb3RvdHlwZS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xh
bmd1YWdlL2V4cHJlc3Npb25zL2FzeW5jLWdlbmVyYXRvci9kc3RyL25hbWVkLWFyeS1pbml0LWl0
ZXItZ2V0LWVyci1hcnJheS1wcm90b3R5cGUuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGJmOTIxOWQ0MmIyNDg1
YWE4NjYyZjdlNGVkZDgxNDcxYzFiMGRkNAotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2FzeW5jLWdlbmVyYXRvci9kc3RyL25hbWVk
LWFyeS1pbml0LWl0ZXItZ2V0LWVyci1hcnJheS1wcm90b3R5cGUuanMKQEAgLTAsMCArMSw0NSBA
QAorLy8gVGhpcyBmaWxlIHdhcyBwcm9jZWR1cmFsbHkgZ2VuZXJhdGVkIGZyb20gdGhlIGZvbGxv
d2luZyBzb3VyY2VzOgorLy8gLSBzcmMvZHN0ci1iaW5kaW5nL2FyeS1pbml0LWl0ZXItZ2V0LWVy
ci1hcnJheS1wcm90b3R5cGUuY2FzZQorLy8gLSBzcmMvZHN0ci1iaW5kaW5nL2Vycm9yL2FzeW5j
LWdlbi1mdW5jLW5hbWVkLWV4cHIudGVtcGxhdGUKKy8qLS0tCitkZXNjcmlwdGlvbjogQWJydXB0
IGNvbXBsZXRpb24gcmV0dXJuZWQgYnkgR2V0SXRlcmF0b3IgKGFzeW5jIGdlbmVyYXRvciBuYW1l
ZCBmdW5jdGlvbiBleHByZXNzaW9uKQorZXNpZDogc2VjLWFzeW5jZ2VuZXJhdG9yLWRlZmluaXRp
b25zLWV2YWx1YXRpb24KK2ZlYXR1cmVzOiBbU3ltYm9sLml0ZXJhdG9yLCBhc3luYy1pdGVyYXRp
b25dCitmbGFnczogW2dlbmVyYXRlZF0KK2luZm86IHwKKyAgICBBc3luY0dlbmVyYXRvckV4cHJl
c3Npb24gOiBhc3luYyBbbm8gTGluZVRlcm1pbmF0b3IgaGVyZV0gZnVuY3Rpb24gKiBCaW5kaW5n
SWRlbnRpZmllcgorICAgICAgICAoIEZvcm1hbFBhcmFtZXRlcnMgKSB7IEFzeW5jR2VuZXJhdG9y
Qm9keSB9CisKKyAgICAgICAgWy4uLl0KKyAgICAgICAgNy4gTGV0IGNsb3N1cmUgYmUgISBBc3lu
Y0dlbmVyYXRvckZ1bmN0aW9uQ3JlYXRlKE5vcm1hbCwgRm9ybWFsUGFyYW1ldGVycywKKyAgICAg
ICAgICAgQXN5bmNHZW5lcmF0b3JCb2R5LCBmdW5jRW52LCBzdHJpY3QpLgorICAgICAgICBbLi4u
XQorCisgICAgUnVudGltZSBTZW1hbnRpY3M6IEJpbmRpbmdJbml0aWFsaXphdGlvbgorCisgICAg
QmluZGluZ1BhdHRlcm4gOiBBcnJheUJpbmRpbmdQYXR0ZXJuCisKKyAgICAxLiBMZXQgaXRlcmF0
b3JSZWNvcmQgYmUgPyBHZXRJdGVyYXRvcih2YWx1ZSkuCisKKyAgICBHZXRJdGVyYXRvciAoIG9i
aiBbICwgaGludCBbICwgbWV0aG9kIF0gXSApCisKKyAgICBbLi4uXQorICAgIDQuIExldCBpdGVy
YXRvciBiZSA/IENhbGwobWV0aG9kLCBvYmopLgorCisgICAgQ2FsbCAoIEYsIFYgWyAsIGFyZ3Vt
ZW50c0xpc3QgXSApCisKKyAgICBbLi4uXQorICAgIDIuIElmIElzQ2FsbGFibGUoRikgaXMgZmFs
c2UsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KKworLS0tKi8KK2RlbGV0ZSBBcnJheS5w
cm90b3R5cGVbU3ltYm9sLml0ZXJhdG9yXTsKKworCit2YXIgZjsKK2YgPSBhc3luYyBmdW5jdGlv
biogZyhbeCwgeSwgel0pIHsKKyAgCit9OworCithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgZnVu
Y3Rpb24oKSB7CisgIGYoWzEsIDIsIDNdKTsKK30pOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXN5bmMtZ2VuZXJhdG9yL2RzdHIvbmFtZWQt
YXJ5LXB0cm4tZWxlbS1pZC1pdGVyLXZhbC1hcnJheS1wcm90b3R5cGUuanMgYi9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3luYy1nZW5lcmF0b3IvZHN0ci9uYW1l
ZC1hcnktcHRybi1lbGVtLWlkLWl0ZXItdmFsLWFycmF5LXByb3RvdHlwZS5qcwpuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5jMWQwNmY1YjU4ZDJjZGM0MWQyZjYyZjUzOWJkNTk4MDQ2OTU2ZjU2Ci0tLSAvZGV2L251bGwK
KysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXN5bmMtZ2Vu
ZXJhdG9yL2RzdHIvbmFtZWQtYXJ5LXB0cm4tZWxlbS1pZC1pdGVyLXZhbC1hcnJheS1wcm90b3R5
cGUuanMKQEAgLTAsMCArMSw2MiBAQAorLy8gVGhpcyBmaWxlIHdhcyBwcm9jZWR1cmFsbHkgZ2Vu
ZXJhdGVkIGZyb20gdGhlIGZvbGxvd2luZyBzb3VyY2VzOgorLy8gLSBzcmMvZHN0ci1iaW5kaW5n
L2FyeS1wdHJuLWVsZW0taWQtaXRlci12YWwtYXJyYXktcHJvdG90eXBlLmNhc2UKKy8vIC0gc3Jj
L2RzdHItYmluZGluZy9kZWZhdWx0L2FzeW5jLWdlbi1mdW5jLW5hbWVkLWV4cHIudGVtcGxhdGUK
Ky8qLS0tCitkZXNjcmlwdGlvbjogQXJyYXkgZGVzdHJ1Y3R1cmluZyB1c2VzIG92ZXJyaWRlbiBB
cnJheS5wcm90b3R5cGVbU3ltYm9sLml0ZXJhdG9yXSAoYXN5bmMgZ2VuZXJhdG9yIG5hbWVkIGZ1
bmN0aW9uIGV4cHJlc3Npb24pCitlc2lkOiBzZWMtYXN5bmNnZW5lcmF0b3ItZGVmaW5pdGlvbnMt
ZXZhbHVhdGlvbgorZmVhdHVyZXM6IFtTeW1ib2wuaXRlcmF0b3IsIGdlbmVyYXRvcnMsIGFzeW5j
LWl0ZXJhdGlvbl0KK2ZsYWdzOiBbZ2VuZXJhdGVkLCBhc3luY10KK2luZm86IHwKKyAgICBBc3lu
Y0dlbmVyYXRvckV4cHJlc3Npb24gOiBhc3luYyBbbm8gTGluZVRlcm1pbmF0b3IgaGVyZV0gZnVu
Y3Rpb24gKiBCaW5kaW5nSWRlbnRpZmllcgorICAgICAgICAoIEZvcm1hbFBhcmFtZXRlcnMgKSB7
IEFzeW5jR2VuZXJhdG9yQm9keSB9CisKKyAgICAgICAgWy4uLl0KKyAgICAgICAgNy4gTGV0IGNs
b3N1cmUgYmUgISBBc3luY0dlbmVyYXRvckZ1bmN0aW9uQ3JlYXRlKE5vcm1hbCwgRm9ybWFsUGFy
YW1ldGVycywKKyAgICAgICAgICAgQXN5bmNHZW5lcmF0b3JCb2R5LCBmdW5jRW52LCBzdHJpY3Qp
LgorICAgICAgICBbLi4uXQorCisKKyAgICBSdW50aW1lIFNlbWFudGljczogSXRlcmF0b3JCaW5k
aW5nSW5pdGlhbGl6YXRpb24KKworICAgIFNpbmdsZU5hbWVCaW5kaW5nIDogQmluZGluZ0lkZW50
aWZpZXIgSW5pdGlhbGl6ZXJfb3B0CisKKyAgICAxLiBMZXQgYmluZGluZ0lkIGJlIFN0cmluZ1Zh
bHVlIG9mIEJpbmRpbmdJZGVudGlmaWVyLgorICAgIDIuIExldCBsaHMgYmUgPyBSZXNvbHZlQmlu
ZGluZyhiaW5kaW5nSWQsIGVudmlyb25tZW50KS4KKyAgICAzLiBJZiBpdGVyYXRvclJlY29yZC5b
W0RvbmVdXSBpcyBmYWxzZSwgdGhlbgorICAgICAgICBhLiBMZXQgbmV4dCBiZSBJdGVyYXRvclN0
ZXAoaXRlcmF0b3JSZWNvcmQpLgorICAgICAgICBiLiBJZiBuZXh0IGlzIGFuIGFicnVwdCBjb21w
bGV0aW9uLCBzZXQgaXRlcmF0b3JSZWNvcmQuW1tEb25lXV0gdG8gdHJ1ZS4KKyAgICAgICAgYy4g
UmV0dXJuSWZBYnJ1cHQobmV4dCkuCisgICAgICAgIGQuIElmIG5leHQgaXMgZmFsc2UsIHNldCBp
dGVyYXRvclJlY29yZC5bW0RvbmVdXSB0byB0cnVlLgorICAgICAgICBlLiBFbHNlLAorICAgICAg
ICAgICAgaS4gTGV0IHYgYmUgSXRlcmF0b3JWYWx1ZShuZXh0KS4KKyAgICAgICAgICAgIGlpLiBJ
ZiB2IGlzIGFuIGFicnVwdCBjb21wbGV0aW9uLCBzZXQgaXRlcmF0b3JSZWNvcmQuW1tEb25lXV0g
dG8gdHJ1ZS4KKyAgICAgICAgICAgIGlpaS4gUmV0dXJuSWZBYnJ1cHQodikuCisgICAgWy4uLl0K
KyAgICA3LiBSZXR1cm4gSW5pdGlhbGl6ZVJlZmVyZW5jZWRCaW5kaW5nKGxocywgdikuCisKKy0t
LSovCitBcnJheS5wcm90b3R5cGVbU3ltYm9sLml0ZXJhdG9yXSA9IGZ1bmN0aW9uKiAoKSB7Cisg
ICAgaWYgKHRoaXMubGVuZ3RoID4gMCkgeworICAgICAgICB5aWVsZCB0aGlzWzBdOworICAgIH0K
KyAgICBpZiAodGhpcy5sZW5ndGggPiAxKSB7CisgICAgICAgIHlpZWxkIHRoaXNbMV07CisgICAg
fQorICAgIGlmICh0aGlzLmxlbmd0aCA+IDIpIHsKKyAgICAgICAgeWllbGQgNDI7CisgICAgfQor
fTsKKworCit2YXIgY2FsbENvdW50ID0gMDsKK3ZhciBmOworZiA9IGFzeW5jIGZ1bmN0aW9uKiBo
KFt4LCB5LCB6XSkgeworICBhc3NlcnQuc2FtZVZhbHVlKHgsIDEpOworICBhc3NlcnQuc2FtZVZh
bHVlKHksIDIpOworICBhc3NlcnQuc2FtZVZhbHVlKHosIDQyKTsKKyAgY2FsbENvdW50ID0gY2Fs
bENvdW50ICsgMTsKK307CisKK2YoWzEsIDIsIDNdKS5uZXh0KCkudGhlbigoKSA9PiB7CisgICAg
YXNzZXJ0LnNhbWVWYWx1ZShjYWxsQ291bnQsIDEsICdpbnZva2VkIGV4YWN0bHkgb25jZScpOwor
fSkudGhlbigkRE9ORSwgJERPTkUpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
bGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXN5bmMtZ2VuZXJhdG9yL2RzdHIvbmFtZWQtYXJ5LXB0cm4t
cmVzdC1pZC1kaXJlY3QuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNz
aW9ucy9hc3luYy1nZW5lcmF0b3IvZHN0ci9uYW1lZC1hcnktcHRybi1yZXN0LWlkLWRpcmVjdC5q
cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4wZGM3MTUxNjAyNzFjOWVhN2JmYTA4ODI5NGUxYzdhYWE4YTdhMzA5Ci0t
LSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lv
bnMvYXN5bmMtZ2VuZXJhdG9yL2RzdHIvbmFtZWQtYXJ5LXB0cm4tcmVzdC1pZC1kaXJlY3QuanMK
QEAgLTAsMCArMSw0NSBAQAorLy8gVGhpcyBmaWxlIHdhcyBwcm9jZWR1cmFsbHkgZ2VuZXJhdGVk
IGZyb20gdGhlIGZvbGxvd2luZyBzb3VyY2VzOgorLy8gLSBzcmMvZHN0ci1iaW5kaW5nL2FyeS1w
dHJuLXJlc3QtaWQtZGlyZWN0LmNhc2UKKy8vIC0gc3JjL2RzdHItYmluZGluZy9kZWZhdWx0L2Fz
eW5jLWdlbi1mdW5jLW5hbWVkLWV4cHIudGVtcGxhdGUKKy8qLS0tCitkZXNjcmlwdGlvbjogTG9u
ZSByZXN0IGVsZW1lbnQgKGRpcmVjdCBiaW5kaW5nKSAoYXN5bmMgZ2VuZXJhdG9yIG5hbWVkIGZ1
bmN0aW9uIGV4cHJlc3Npb24pCitlc2lkOiBzZWMtYXN5bmNnZW5lcmF0b3ItZGVmaW5pdGlvbnMt
ZXZhbHVhdGlvbgorZmVhdHVyZXM6IFthc3luYy1pdGVyYXRpb25dCitmbGFnczogW2dlbmVyYXRl
ZCwgYXN5bmNdCitpbmNsdWRlczogW2NvbXBhcmVBcnJheS5qc10KK2luZm86IHwKKyAgICBBc3lu
Y0dlbmVyYXRvckV4cHJlc3Npb24gOiBhc3luYyBbbm8gTGluZVRlcm1pbmF0b3IgaGVyZV0gZnVu
Y3Rpb24gKiBCaW5kaW5nSWRlbnRpZmllcgorICAgICAgICAoIEZvcm1hbFBhcmFtZXRlcnMgKSB7
IEFzeW5jR2VuZXJhdG9yQm9keSB9CisKKyAgICAgICAgWy4uLl0KKyAgICAgICAgNy4gTGV0IGNs
b3N1cmUgYmUgISBBc3luY0dlbmVyYXRvckZ1bmN0aW9uQ3JlYXRlKE5vcm1hbCwgRm9ybWFsUGFy
YW1ldGVycywKKyAgICAgICAgICAgQXN5bmNHZW5lcmF0b3JCb2R5LCBmdW5jRW52LCBzdHJpY3Qp
LgorICAgICAgICBbLi4uXQorCisKKyAgICBSdW50aW1lIFNlbWFudGljczogSXRlcmF0b3JCaW5k
aW5nSW5pdGlhbGl6YXRpb24KKworICAgIEJpbmRpbmdSZXN0RWxlbWVudCA6IC4uLiBCaW5kaW5n
SWRlbnRpZmllcgorCisgICAgWy4uLl0KKyAgICAyLiBMZXQgQSBiZSAhIEFycmF5Q3JlYXRlKDAp
LgorICAgIDMuIExldCBuIGJlIDAuCisgICAgNC4gUmVwZWF0LAorICAgICAgICBbLi4uXQorICAg
ICAgICBmLiBQZXJmb3JtICEgQ3JlYXRlRGF0YVByb3BlcnR5T3JUaHJvdyhBLCAhIFRvU3RyaW5n
KG4pLCBuZXh0VmFsdWUpLgorICAgICAgICBnLiBTZXQgbiB0byBuICsgMS4KKworLS0tKi8KKwor
Cit2YXIgY2FsbENvdW50ID0gMDsKK3ZhciBmOworZiA9IGFzeW5jIGZ1bmN0aW9uKiBoKFsuLi54
XSkgeworICBhc3NlcnQoQXJyYXkuaXNBcnJheSh4KSk7CisgIGFzc2VydC5jb21wYXJlQXJyYXko
eCwgWzFdKTsKKyAgY2FsbENvdW50ID0gY2FsbENvdW50ICsgMTsKK307CisKK2YoWzFdKS5uZXh0
KCkudGhlbigoKSA9PiB7CisgICAgYXNzZXJ0LnNhbWVWYWx1ZShjYWxsQ291bnQsIDEsICdpbnZv
a2VkIGV4YWN0bHkgb25jZScpOworfSkudGhlbigkRE9ORSwgJERPTkUpOwpkaWZmIC0tZ2l0IGEv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXN5bmMtZ2VuZXJhdG9y
L2RzdHIvbmFtZWQtZGZsdC1hcnktaW5pdC1pdGVyLWdldC1lcnItYXJyYXktcHJvdG90eXBlLmpz
IGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXN5bmMtZ2VuZXJh
dG9yL2RzdHIvbmFtZWQtZGZsdC1hcnktaW5pdC1pdGVyLWdldC1lcnItYXJyYXktcHJvdG90eXBl
LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjMyOTBiMDA3MmRlMjEzYjZkMDFhMTRhZjg2NTdlNzFiODQzYTQzNGEK
LS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNz
aW9ucy9hc3luYy1nZW5lcmF0b3IvZHN0ci9uYW1lZC1kZmx0LWFyeS1pbml0LWl0ZXItZ2V0LWVy
ci1hcnJheS1wcm90b3R5cGUuanMKQEAgLTAsMCArMSw0NSBAQAorLy8gVGhpcyBmaWxlIHdhcyBw
cm9jZWR1cmFsbHkgZ2VuZXJhdGVkIGZyb20gdGhlIGZvbGxvd2luZyBzb3VyY2VzOgorLy8gLSBz
cmMvZHN0ci1iaW5kaW5nL2FyeS1pbml0LWl0ZXItZ2V0LWVyci1hcnJheS1wcm90b3R5cGUuY2Fz
ZQorLy8gLSBzcmMvZHN0ci1iaW5kaW5nL2Vycm9yL2FzeW5jLWdlbi1mdW5jLW5hbWVkLWV4cHIt
ZGZsdC50ZW1wbGF0ZQorLyotLS0KK2Rlc2NyaXB0aW9uOiBBYnJ1cHQgY29tcGxldGlvbiByZXR1
cm5lZCBieSBHZXRJdGVyYXRvciAoYXN5bmMgZ2VuZXJhdG9yIG5hbWVkIGZ1bmN0aW9uIGV4cHJl
c3Npb24gKGRlZmF1bHQgcGFyYW1ldGVyKSkKK2VzaWQ6IHNlYy1hc3luY2dlbmVyYXRvci1kZWZp
bml0aW9ucy1ldmFsdWF0aW9uCitmZWF0dXJlczogW1N5bWJvbC5pdGVyYXRvciwgYXN5bmMtaXRl
cmF0aW9uXQorZmxhZ3M6IFtnZW5lcmF0ZWRdCitpbmZvOiB8CisgICAgQXN5bmNHZW5lcmF0b3JF
eHByZXNzaW9uIDogYXN5bmMgW25vIExpbmVUZXJtaW5hdG9yIGhlcmVdIGZ1bmN0aW9uICogQmlu
ZGluZ0lkZW50aWZpZXIKKyAgICAgICAgKCBGb3JtYWxQYXJhbWV0ZXJzICkgeyBBc3luY0dlbmVy
YXRvckJvZHkgfQorCisgICAgICAgIFsuLi5dCisgICAgICAgIDcuIExldCBjbG9zdXJlIGJlICEg
QXN5bmNHZW5lcmF0b3JGdW5jdGlvbkNyZWF0ZShOb3JtYWwsIEZvcm1hbFBhcmFtZXRlcnMsCisg
ICAgICAgICAgIEFzeW5jR2VuZXJhdG9yQm9keSwgZnVuY0Vudiwgc3RyaWN0KS4KKyAgICAgICAg
Wy4uLl0KKworICAgIFJ1bnRpbWUgU2VtYW50aWNzOiBCaW5kaW5nSW5pdGlhbGl6YXRpb24KKwor
ICAgIEJpbmRpbmdQYXR0ZXJuIDogQXJyYXlCaW5kaW5nUGF0dGVybgorCisgICAgMS4gTGV0IGl0
ZXJhdG9yUmVjb3JkIGJlID8gR2V0SXRlcmF0b3IodmFsdWUpLgorCisgICAgR2V0SXRlcmF0b3Ig
KCBvYmogWyAsIGhpbnQgWyAsIG1ldGhvZCBdIF0gKQorCisgICAgWy4uLl0KKyAgICA0LiBMZXQg
aXRlcmF0b3IgYmUgPyBDYWxsKG1ldGhvZCwgb2JqKS4KKworICAgIENhbGwgKCBGLCBWIFsgLCBh
cmd1bWVudHNMaXN0IF0gKQorCisgICAgWy4uLl0KKyAgICAyLiBJZiBJc0NhbGxhYmxlKEYpIGlz
IGZhbHNlLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24uCisKKy0tLSovCitkZWxldGUgQXJy
YXkucHJvdG90eXBlW1N5bWJvbC5pdGVyYXRvcl07CisKKwordmFyIGY7CitmID0gYXN5bmMgZnVu
Y3Rpb24qIGgoW3gsIHksIHpdID0gWzEsIDIsIDNdKSB7CisgIAorfTsKKworYXNzZXJ0LnRocm93
cyhUeXBlRXJyb3IsIGZ1bmN0aW9uKCkgeworICBmKCk7Cit9KTsKZGlmZiAtLWdpdCBhL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2FzeW5jLWdlbmVyYXRvci9kc3Ry
L25hbWVkLWRmbHQtYXJ5LXB0cm4tZWxlbS1pZC1pdGVyLXZhbC1hcnJheS1wcm90b3R5cGUuanMg
Yi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3luYy1nZW5lcmF0
b3IvZHN0ci9uYW1lZC1kZmx0LWFyeS1wdHJuLWVsZW0taWQtaXRlci12YWwtYXJyYXktcHJvdG90
eXBlLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjA4NzlmZGQxNzY5MDYxYTdkZmJiMjQ1OTgzMGQyZjgxOTgzNjJh
ZWIKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHBy
ZXNzaW9ucy9hc3luYy1nZW5lcmF0b3IvZHN0ci9uYW1lZC1kZmx0LWFyeS1wdHJuLWVsZW0taWQt
aXRlci12YWwtYXJyYXktcHJvdG90eXBlLmpzCkBAIC0wLDAgKzEsNjIgQEAKKy8vIFRoaXMgZmls
ZSB3YXMgcHJvY2VkdXJhbGx5IGdlbmVyYXRlZCBmcm9tIHRoZSBmb2xsb3dpbmcgc291cmNlczoK
Ky8vIC0gc3JjL2RzdHItYmluZGluZy9hcnktcHRybi1lbGVtLWlkLWl0ZXItdmFsLWFycmF5LXBy
b3RvdHlwZS5jYXNlCisvLyAtIHNyYy9kc3RyLWJpbmRpbmcvZGVmYXVsdC9hc3luYy1nZW4tZnVu
Yy1uYW1lZC1leHByLWRmbHQudGVtcGxhdGUKKy8qLS0tCitkZXNjcmlwdGlvbjogQXJyYXkgZGVz
dHJ1Y3R1cmluZyB1c2VzIG92ZXJyaWRlbiBBcnJheS5wcm90b3R5cGVbU3ltYm9sLml0ZXJhdG9y
XSAoYXN5bmMgZ2VuZXJhdG9yIG5hbWVkIGZ1bmN0aW9uIGV4cHJlc3Npb24gKGRlZmF1bHQgcGFy
YW1ldGVyKSkKK2VzaWQ6IHNlYy1hc3luY2dlbmVyYXRvci1kZWZpbml0aW9ucy1ldmFsdWF0aW9u
CitmZWF0dXJlczogW1N5bWJvbC5pdGVyYXRvciwgZ2VuZXJhdG9ycywgYXN5bmMtaXRlcmF0aW9u
XQorZmxhZ3M6IFtnZW5lcmF0ZWQsIGFzeW5jXQoraW5mbzogfAorICAgIEFzeW5jR2VuZXJhdG9y
RXhwcmVzc2lvbiA6IGFzeW5jIFtubyBMaW5lVGVybWluYXRvciBoZXJlXSBmdW5jdGlvbiAqIEJp
bmRpbmdJZGVudGlmaWVyCisgICAgICAgICggRm9ybWFsUGFyYW1ldGVycyApIHsgQXN5bmNHZW5l
cmF0b3JCb2R5IH0KKworICAgICAgICBbLi4uXQorICAgICAgICA3LiBMZXQgY2xvc3VyZSBiZSAh
IEFzeW5jR2VuZXJhdG9yRnVuY3Rpb25DcmVhdGUoTm9ybWFsLCBGb3JtYWxQYXJhbWV0ZXJzLAor
ICAgICAgICAgICBBc3luY0dlbmVyYXRvckJvZHksIGZ1bmNFbnYsIHN0cmljdCkuCisgICAgICAg
IFsuLi5dCisKKworICAgIFJ1bnRpbWUgU2VtYW50aWNzOiBJdGVyYXRvckJpbmRpbmdJbml0aWFs
aXphdGlvbgorCisgICAgU2luZ2xlTmFtZUJpbmRpbmcgOiBCaW5kaW5nSWRlbnRpZmllciBJbml0
aWFsaXplcl9vcHQKKworICAgIDEuIExldCBiaW5kaW5nSWQgYmUgU3RyaW5nVmFsdWUgb2YgQmlu
ZGluZ0lkZW50aWZpZXIuCisgICAgMi4gTGV0IGxocyBiZSA/IFJlc29sdmVCaW5kaW5nKGJpbmRp
bmdJZCwgZW52aXJvbm1lbnQpLgorICAgIDMuIElmIGl0ZXJhdG9yUmVjb3JkLltbRG9uZV1dIGlz
IGZhbHNlLCB0aGVuCisgICAgICAgIGEuIExldCBuZXh0IGJlIEl0ZXJhdG9yU3RlcChpdGVyYXRv
clJlY29yZCkuCisgICAgICAgIGIuIElmIG5leHQgaXMgYW4gYWJydXB0IGNvbXBsZXRpb24sIHNl
dCBpdGVyYXRvclJlY29yZC5bW0RvbmVdXSB0byB0cnVlLgorICAgICAgICBjLiBSZXR1cm5JZkFi
cnVwdChuZXh0KS4KKyAgICAgICAgZC4gSWYgbmV4dCBpcyBmYWxzZSwgc2V0IGl0ZXJhdG9yUmVj
b3JkLltbRG9uZV1dIHRvIHRydWUuCisgICAgICAgIGUuIEVsc2UsCisgICAgICAgICAgICBpLiBM
ZXQgdiBiZSBJdGVyYXRvclZhbHVlKG5leHQpLgorICAgICAgICAgICAgaWkuIElmIHYgaXMgYW4g
YWJydXB0IGNvbXBsZXRpb24sIHNldCBpdGVyYXRvclJlY29yZC5bW0RvbmVdXSB0byB0cnVlLgor
ICAgICAgICAgICAgaWlpLiBSZXR1cm5JZkFicnVwdCh2KS4KKyAgICBbLi4uXQorICAgIDcuIFJl
dHVybiBJbml0aWFsaXplUmVmZXJlbmNlZEJpbmRpbmcobGhzLCB2KS4KKworLS0tKi8KK0FycmF5
LnByb3RvdHlwZVtTeW1ib2wuaXRlcmF0b3JdID0gZnVuY3Rpb24qICgpIHsKKyAgICBpZiAodGhp
cy5sZW5ndGggPiAwKSB7CisgICAgICAgIHlpZWxkIHRoaXNbMF07CisgICAgfQorICAgIGlmICh0
aGlzLmxlbmd0aCA+IDEpIHsKKyAgICAgICAgeWllbGQgdGhpc1sxXTsKKyAgICB9CisgICAgaWYg
KHRoaXMubGVuZ3RoID4gMikgeworICAgICAgICB5aWVsZCA0MjsKKyAgICB9Cit9OworCisKK3Zh
ciBjYWxsQ291bnQgPSAwOwordmFyIGY7CitmID0gYXN5bmMgZnVuY3Rpb24qIGgoW3gsIHksIHpd
ID0gWzEsIDIsIDNdKSB7CisgIGFzc2VydC5zYW1lVmFsdWUoeCwgMSk7CisgIGFzc2VydC5zYW1l
VmFsdWUoeSwgMik7CisgIGFzc2VydC5zYW1lVmFsdWUoeiwgNDIpOworICBjYWxsQ291bnQgPSBj
YWxsQ291bnQgKyAxOworfTsKKworZigpLm5leHQoKS50aGVuKCgpID0+IHsKKyAgICBhc3NlcnQu
c2FtZVZhbHVlKGNhbGxDb3VudCwgMSwgJ2ludm9rZWQgZXhhY3RseSBvbmNlJyk7Cit9KS50aGVu
KCRET05FLCAkRE9ORSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFn
ZS9leHByZXNzaW9ucy9hc3luYy1nZW5lcmF0b3IvZHN0ci9uYW1lZC1kZmx0LWFyeS1wdHJuLXJl
c3QtaWQtZGlyZWN0LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lv
bnMvYXN5bmMtZ2VuZXJhdG9yL2RzdHIvbmFtZWQtZGZsdC1hcnktcHRybi1yZXN0LWlkLWRpcmVj
dC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5jOGExN2FjZjkyNTliODI1Y2FhNDkxYzUyYzMxZjhhYTcyMmFkN2Ni
Ci0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVz
c2lvbnMvYXN5bmMtZ2VuZXJhdG9yL2RzdHIvbmFtZWQtZGZsdC1hcnktcHRybi1yZXN0LWlkLWRp
cmVjdC5qcwpAQCAtMCwwICsxLDQ1IEBACisvLyBUaGlzIGZpbGUgd2FzIHByb2NlZHVyYWxseSBn
ZW5lcmF0ZWQgZnJvbSB0aGUgZm9sbG93aW5nIHNvdXJjZXM6CisvLyAtIHNyYy9kc3RyLWJpbmRp
bmcvYXJ5LXB0cm4tcmVzdC1pZC1kaXJlY3QuY2FzZQorLy8gLSBzcmMvZHN0ci1iaW5kaW5nL2Rl
ZmF1bHQvYXN5bmMtZ2VuLWZ1bmMtbmFtZWQtZXhwci1kZmx0LnRlbXBsYXRlCisvKi0tLQorZGVz
Y3JpcHRpb246IExvbmUgcmVzdCBlbGVtZW50IChkaXJlY3QgYmluZGluZykgKGFzeW5jIGdlbmVy
YXRvciBuYW1lZCBmdW5jdGlvbiBleHByZXNzaW9uIChkZWZhdWx0IHBhcmFtZXRlcikpCitlc2lk
OiBzZWMtYXN5bmNnZW5lcmF0b3ItZGVmaW5pdGlvbnMtZXZhbHVhdGlvbgorZmVhdHVyZXM6IFth
c3luYy1pdGVyYXRpb25dCitmbGFnczogW2dlbmVyYXRlZCwgYXN5bmNdCitpbmNsdWRlczogW2Nv
bXBhcmVBcnJheS5qc10KK2luZm86IHwKKyAgICBBc3luY0dlbmVyYXRvckV4cHJlc3Npb24gOiBh
c3luYyBbbm8gTGluZVRlcm1pbmF0b3IgaGVyZV0gZnVuY3Rpb24gKiBCaW5kaW5nSWRlbnRpZmll
cgorICAgICAgICAoIEZvcm1hbFBhcmFtZXRlcnMgKSB7IEFzeW5jR2VuZXJhdG9yQm9keSB9CisK
KyAgICAgICAgWy4uLl0KKyAgICAgICAgNy4gTGV0IGNsb3N1cmUgYmUgISBBc3luY0dlbmVyYXRv
ckZ1bmN0aW9uQ3JlYXRlKE5vcm1hbCwgRm9ybWFsUGFyYW1ldGVycywKKyAgICAgICAgICAgQXN5
bmNHZW5lcmF0b3JCb2R5LCBmdW5jRW52LCBzdHJpY3QpLgorICAgICAgICBbLi4uXQorCisKKyAg
ICBSdW50aW1lIFNlbWFudGljczogSXRlcmF0b3JCaW5kaW5nSW5pdGlhbGl6YXRpb24KKworICAg
IEJpbmRpbmdSZXN0RWxlbWVudCA6IC4uLiBCaW5kaW5nSWRlbnRpZmllcgorCisgICAgWy4uLl0K
KyAgICAyLiBMZXQgQSBiZSAhIEFycmF5Q3JlYXRlKDApLgorICAgIDMuIExldCBuIGJlIDAuCisg
ICAgNC4gUmVwZWF0LAorICAgICAgICBbLi4uXQorICAgICAgICBmLiBQZXJmb3JtICEgQ3JlYXRl
RGF0YVByb3BlcnR5T3JUaHJvdyhBLCAhIFRvU3RyaW5nKG4pLCBuZXh0VmFsdWUpLgorICAgICAg
ICBnLiBTZXQgbiB0byBuICsgMS4KKworLS0tKi8KKworCit2YXIgY2FsbENvdW50ID0gMDsKK3Zh
ciBmOworZiA9IGFzeW5jIGZ1bmN0aW9uKiBoKFsuLi54XSA9IFsxXSkgeworICBhc3NlcnQoQXJy
YXkuaXNBcnJheSh4KSk7CisgIGFzc2VydC5jb21wYXJlQXJyYXkoeCwgWzFdKTsKKyAgY2FsbENv
dW50ID0gY2FsbENvdW50ICsgMTsKK307CisKK2YoKS5uZXh0KCkudGhlbigoKSA9PiB7CisgICAg
YXNzZXJ0LnNhbWVWYWx1ZShjYWxsQ291bnQsIDEsICdpbnZva2VkIGV4YWN0bHkgb25jZScpOwor
fSkudGhlbigkRE9ORSwgJERPTkUpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
bGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvZHN0ci9hc3luYy1nZW4tbWV0aC1hcnktaW5pdC1p
dGVyLWdldC1lcnItYXJyYXktcHJvdG90eXBlLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFu
Z3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvZHN0ci9hc3luYy1nZW4tbWV0aC1hcnktaW5pdC1pdGVy
LWdldC1lcnItYXJyYXktcHJvdG90eXBlLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzY2MxMmY5MGU0YzNkZTZi
NzU2MmFmZWU5MGRmMWQ3NmQ0NGEwYmQKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9kc3RyL2FzeW5jLWdlbi1tZXRoLWFy
eS1pbml0LWl0ZXItZ2V0LWVyci1hcnJheS1wcm90b3R5cGUuanMKQEAgLTAsMCArMSw3MiBAQAor
Ly8gVGhpcyBmaWxlIHdhcyBwcm9jZWR1cmFsbHkgZ2VuZXJhdGVkIGZyb20gdGhlIGZvbGxvd2lu
ZyBzb3VyY2VzOgorLy8gLSBzcmMvZHN0ci1iaW5kaW5nL2FyeS1pbml0LWl0ZXItZ2V0LWVyci1h
cnJheS1wcm90b3R5cGUuY2FzZQorLy8gLSBzcmMvZHN0ci1iaW5kaW5nL2Vycm9yL2Nscy1leHBy
LWFzeW5jLWdlbi1tZXRoLnRlbXBsYXRlCisvKi0tLQorZGVzY3JpcHRpb246IEFicnVwdCBjb21w
bGV0aW9uIHJldHVybmVkIGJ5IEdldEl0ZXJhdG9yIChjbGFzcyBleHByZXNzaW9uIG1ldGhvZCkK
K2VzaWQ6IHNlYy1jbGFzcy1kZWZpbml0aW9ucy1ydW50aW1lLXNlbWFudGljcy1ldmFsdWF0aW9u
CitmZWF0dXJlczogW1N5bWJvbC5pdGVyYXRvciwgYXN5bmMtaXRlcmF0aW9uXQorZmxhZ3M6IFtn
ZW5lcmF0ZWRdCitpbmZvOiB8CisgICAgQ2xhc3NFeHByZXNzaW9uIDogY2xhc3MgQmluZGluZ0lk
ZW50aWZpZXJvcHQgQ2xhc3NUYWlsCisKKyAgICAxLiBJZiBCaW5kaW5nSWRlbnRpZmllcm9wdCBp
cyBub3QgcHJlc2VudCwgbGV0IGNsYXNzTmFtZSBiZSB1bmRlZmluZWQuCisgICAgMi4gRWxzZSwg
bGV0IGNsYXNzTmFtZSBiZSBTdHJpbmdWYWx1ZSBvZiBCaW5kaW5nSWRlbnRpZmllci4KKyAgICAz
LiBMZXQgdmFsdWUgYmUgdGhlIHJlc3VsdCBvZiBDbGFzc0RlZmluaXRpb25FdmFsdWF0aW9uIG9m
IENsYXNzVGFpbAorICAgICAgIHdpdGggYXJndW1lbnQgY2xhc3NOYW1lLgorICAgIFsuLi5dCisK
KyAgICAxNC41LjE0IFJ1bnRpbWUgU2VtYW50aWNzOiBDbGFzc0RlZmluaXRpb25FdmFsdWF0aW9u
CisKKyAgICAyMS4gRm9yIGVhY2ggQ2xhc3NFbGVtZW50IG0gaW4gb3JkZXIgZnJvbSBtZXRob2Rz
CisgICAgICAgIGEuIElmIElzU3RhdGljIG9mIG0gaXMgZmFsc2UsIHRoZW4KKyAgICAgICAgICAg
aS4gTGV0IHN0YXR1cyBiZSB0aGUgcmVzdWx0IG9mIHBlcmZvcm1pbmcKKyAgICAgICAgICAgICAg
UHJvcGVydHlEZWZpbml0aW9uRXZhbHVhdGlvbiBmb3IgbSB3aXRoIGFyZ3VtZW50cyBwcm90byBh
bmQKKyAgICAgICAgICAgICAgZmFsc2UuCisgICAgICAgIFsuLi5dCisKKyAgICBSdW50aW1lIFNl
bWFudGljczogUHJvcGVydHlEZWZpbml0aW9uRXZhbHVhdGlvbgorCisgICAgQXN5bmNHZW5lcmF0
b3JNZXRob2QgOgorICAgICAgICBhc3luYyBbbm8gTGluZVRlcm1pbmF0b3IgaGVyZV0gKiBQcm9w
ZXJ0eU5hbWUgKCBVbmlxdWVGb3JtYWxQYXJhbWV0ZXJzICkKKyAgICAgICAgICAgIHsgQXN5bmNH
ZW5lcmF0b3JCb2R5IH0KKworICAgIDEuIExldCBwcm9wS2V5IGJlIHRoZSByZXN1bHQgb2YgZXZh
bHVhdGluZyBQcm9wZXJ0eU5hbWUuCisgICAgMi4gUmV0dXJuSWZBYnJ1cHQocHJvcEtleSkuCisg
ICAgMy4gSWYgdGhlIGZ1bmN0aW9uIGNvZGUgZm9yIHRoaXMgQXN5bmNHZW5lcmF0b3JNZXRob2Qg
aXMgc3RyaWN0IG1vZGUgY29kZSwgbGV0IHN0cmljdCBiZSB0cnVlLgorICAgICAgIE90aGVyd2lz
ZSBsZXQgc3RyaWN0IGJlIGZhbHNlLgorICAgIDQuIExldCBzY29wZSBiZSB0aGUgcnVubmluZyBl
eGVjdXRpb24gY29udGV4dCdzIExleGljYWxFbnZpcm9ubWVudC4KKyAgICA1LiBMZXQgY2xvc3Vy
ZSBiZSAhIEFzeW5jR2VuZXJhdG9yRnVuY3Rpb25DcmVhdGUoTWV0aG9kLCBVbmlxdWVGb3JtYWxQ
YXJhbWV0ZXJzLAorICAgICAgIEFzeW5jR2VuZXJhdG9yQm9keSwgc2NvcGUsIHN0cmljdCkuCisg
ICAgWy4uLl0KKworICAgIFJ1bnRpbWUgU2VtYW50aWNzOiBCaW5kaW5nSW5pdGlhbGl6YXRpb24K
KworICAgIEJpbmRpbmdQYXR0ZXJuIDogQXJyYXlCaW5kaW5nUGF0dGVybgorCisgICAgMS4gTGV0
IGl0ZXJhdG9yUmVjb3JkIGJlID8gR2V0SXRlcmF0b3IodmFsdWUpLgorCisgICAgR2V0SXRlcmF0
b3IgKCBvYmogWyAsIGhpbnQgWyAsIG1ldGhvZCBdIF0gKQorCisgICAgWy4uLl0KKyAgICA0LiBM
ZXQgaXRlcmF0b3IgYmUgPyBDYWxsKG1ldGhvZCwgb2JqKS4KKworICAgIENhbGwgKCBGLCBWIFsg
LCBhcmd1bWVudHNMaXN0IF0gKQorCisgICAgWy4uLl0KKyAgICAyLiBJZiBJc0NhbGxhYmxlKEYp
IGlzIGZhbHNlLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24uCisKKy0tLSovCitkZWxldGUg
QXJyYXkucHJvdG90eXBlW1N5bWJvbC5pdGVyYXRvcl07CisKKwordmFyIEMgPSBjbGFzcyB7Cisg
IGFzeW5jICptZXRob2QoW3gsIHksIHpdKSB7CisgICAgCisgIH0KK307CisKK3ZhciBtZXRob2Qg
PSBDLnByb3RvdHlwZS5tZXRob2Q7CisKK2Fzc2VydC50aHJvd3MoVHlwZUVycm9yLCBmdW5jdGlv
bigpIHsKKyAgbWV0aG9kKFsxLCAyLCAzXSk7Cit9KTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2RzdHIvYXN5bmMtZ2VuLW1ldGgt
YXJ5LXB0cm4tZWxlbS1pZC1pdGVyLXZhbC1hcnJheS1wcm90b3R5cGUuanMgYi9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9kc3RyL2FzeW5jLWdlbi1tZXRo
LWFyeS1wdHJuLWVsZW0taWQtaXRlci12YWwtYXJyYXktcHJvdG90eXBlLmpzCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmQ4ODNhODlkNzIwYjRjOGZhY2IxM2NkNTM2NTA5OWViZjg1OWJkOTYKLS0tIC9kZXYvbnVsbAor
KysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9kc3Ry
L2FzeW5jLWdlbi1tZXRoLWFyeS1wdHJuLWVsZW0taWQtaXRlci12YWwtYXJyYXktcHJvdG90eXBl
LmpzCkBAIC0wLDAgKzEsODcgQEAKKy8vIFRoaXMgZmlsZSB3YXMgcHJvY2VkdXJhbGx5IGdlbmVy
YXRlZCBmcm9tIHRoZSBmb2xsb3dpbmcgc291cmNlczoKKy8vIC0gc3JjL2RzdHItYmluZGluZy9h
cnktcHRybi1lbGVtLWlkLWl0ZXItdmFsLWFycmF5LXByb3RvdHlwZS5jYXNlCisvLyAtIHNyYy9k
c3RyLWJpbmRpbmcvZGVmYXVsdC9jbHMtZXhwci1hc3luYy1nZW4tbWV0aC50ZW1wbGF0ZQorLyot
LS0KK2Rlc2NyaXB0aW9uOiBBcnJheSBkZXN0cnVjdHVyaW5nIHVzZXMgb3ZlcnJpZGVuIEFycmF5
LnByb3RvdHlwZVtTeW1ib2wuaXRlcmF0b3JdIChjbGFzcyBleHByZXNzaW9uIG1ldGhvZCkKK2Vz
aWQ6IHNlYy1jbGFzcy1kZWZpbml0aW9ucy1ydW50aW1lLXNlbWFudGljcy1ldmFsdWF0aW9uCitm
ZWF0dXJlczogW1N5bWJvbC5pdGVyYXRvciwgZ2VuZXJhdG9ycywgYXN5bmMtaXRlcmF0aW9uXQor
ZmxhZ3M6IFtnZW5lcmF0ZWQsIGFzeW5jXQoraW5mbzogfAorICAgIENsYXNzRXhwcmVzc2lvbiA6
IGNsYXNzIEJpbmRpbmdJZGVudGlmaWVyb3B0IENsYXNzVGFpbAorCisgICAgMS4gSWYgQmluZGlu
Z0lkZW50aWZpZXJvcHQgaXMgbm90IHByZXNlbnQsIGxldCBjbGFzc05hbWUgYmUgdW5kZWZpbmVk
LgorICAgIDIuIEVsc2UsIGxldCBjbGFzc05hbWUgYmUgU3RyaW5nVmFsdWUgb2YgQmluZGluZ0lk
ZW50aWZpZXIuCisgICAgMy4gTGV0IHZhbHVlIGJlIHRoZSByZXN1bHQgb2YgQ2xhc3NEZWZpbml0
aW9uRXZhbHVhdGlvbiBvZiBDbGFzc1RhaWwKKyAgICAgICB3aXRoIGFyZ3VtZW50IGNsYXNzTmFt
ZS4KKyAgICBbLi4uXQorCisgICAgMTQuNS4xNCBSdW50aW1lIFNlbWFudGljczogQ2xhc3NEZWZp
bml0aW9uRXZhbHVhdGlvbgorCisgICAgMjEuIEZvciBlYWNoIENsYXNzRWxlbWVudCBtIGluIG9y
ZGVyIGZyb20gbWV0aG9kcworICAgICAgICBhLiBJZiBJc1N0YXRpYyBvZiBtIGlzIGZhbHNlLCB0
aGVuCisgICAgICAgICAgIGkuIExldCBzdGF0dXMgYmUgdGhlIHJlc3VsdCBvZiBwZXJmb3JtaW5n
CisgICAgICAgICAgICAgIFByb3BlcnR5RGVmaW5pdGlvbkV2YWx1YXRpb24gZm9yIG0gd2l0aCBh
cmd1bWVudHMgcHJvdG8gYW5kCisgICAgICAgICAgICAgIGZhbHNlLgorICAgICAgICBbLi4uXQor
CisgICAgUnVudGltZSBTZW1hbnRpY3M6IFByb3BlcnR5RGVmaW5pdGlvbkV2YWx1YXRpb24KKwor
ICAgIEFzeW5jR2VuZXJhdG9yTWV0aG9kIDoKKyAgICAgICAgYXN5bmMgW25vIExpbmVUZXJtaW5h
dG9yIGhlcmVdICogUHJvcGVydHlOYW1lICggVW5pcXVlRm9ybWFsUGFyYW1ldGVycyApCisgICAg
ICAgICAgICB7IEFzeW5jR2VuZXJhdG9yQm9keSB9CisKKyAgICAxLiBMZXQgcHJvcEtleSBiZSB0
aGUgcmVzdWx0IG9mIGV2YWx1YXRpbmcgUHJvcGVydHlOYW1lLgorICAgIDIuIFJldHVybklmQWJy
dXB0KHByb3BLZXkpLgorICAgIDMuIElmIHRoZSBmdW5jdGlvbiBjb2RlIGZvciB0aGlzIEFzeW5j
R2VuZXJhdG9yTWV0aG9kIGlzIHN0cmljdCBtb2RlIGNvZGUsIGxldCBzdHJpY3QgYmUgdHJ1ZS4K
KyAgICAgICBPdGhlcndpc2UgbGV0IHN0cmljdCBiZSBmYWxzZS4KKyAgICA0LiBMZXQgc2NvcGUg
YmUgdGhlIHJ1bm5pbmcgZXhlY3V0aW9uIGNvbnRleHQncyBMZXhpY2FsRW52aXJvbm1lbnQuCisg
ICAgNS4gTGV0IGNsb3N1cmUgYmUgISBBc3luY0dlbmVyYXRvckZ1bmN0aW9uQ3JlYXRlKE1ldGhv
ZCwgVW5pcXVlRm9ybWFsUGFyYW1ldGVycywKKyAgICAgICBBc3luY0dlbmVyYXRvckJvZHksIHNj
b3BlLCBzdHJpY3QpLgorICAgIFsuLi5dCisKKworICAgIFJ1bnRpbWUgU2VtYW50aWNzOiBJdGVy
YXRvckJpbmRpbmdJbml0aWFsaXphdGlvbgorCisgICAgU2luZ2xlTmFtZUJpbmRpbmcgOiBCaW5k
aW5nSWRlbnRpZmllciBJbml0aWFsaXplcl9vcHQKKworICAgIDEuIExldCBiaW5kaW5nSWQgYmUg
U3RyaW5nVmFsdWUgb2YgQmluZGluZ0lkZW50aWZpZXIuCisgICAgMi4gTGV0IGxocyBiZSA/IFJl
c29sdmVCaW5kaW5nKGJpbmRpbmdJZCwgZW52aXJvbm1lbnQpLgorICAgIDMuIElmIGl0ZXJhdG9y
UmVjb3JkLltbRG9uZV1dIGlzIGZhbHNlLCB0aGVuCisgICAgICAgIGEuIExldCBuZXh0IGJlIEl0
ZXJhdG9yU3RlcChpdGVyYXRvclJlY29yZCkuCisgICAgICAgIGIuIElmIG5leHQgaXMgYW4gYWJy
dXB0IGNvbXBsZXRpb24sIHNldCBpdGVyYXRvclJlY29yZC5bW0RvbmVdXSB0byB0cnVlLgorICAg
ICAgICBjLiBSZXR1cm5JZkFicnVwdChuZXh0KS4KKyAgICAgICAgZC4gSWYgbmV4dCBpcyBmYWxz
ZSwgc2V0IGl0ZXJhdG9yUmVjb3JkLltbRG9uZV1dIHRvIHRydWUuCisgICAgICAgIGUuIEVsc2Us
CisgICAgICAgICAgICBpLiBMZXQgdiBiZSBJdGVyYXRvclZhbHVlKG5leHQpLgorICAgICAgICAg
ICAgaWkuIElmIHYgaXMgYW4gYWJydXB0IGNvbXBsZXRpb24sIHNldCBpdGVyYXRvclJlY29yZC5b
W0RvbmVdXSB0byB0cnVlLgorICAgICAgICAgICAgaWlpLiBSZXR1cm5JZkFicnVwdCh2KS4KKyAg
ICBbLi4uXQorICAgIDcuIFJldHVybiBJbml0aWFsaXplUmVmZXJlbmNlZEJpbmRpbmcobGhzLCB2
KS4KKworLS0tKi8KK0FycmF5LnByb3RvdHlwZVtTeW1ib2wuaXRlcmF0b3JdID0gZnVuY3Rpb24q
ICgpIHsKKyAgICBpZiAodGhpcy5sZW5ndGggPiAwKSB7CisgICAgICAgIHlpZWxkIHRoaXNbMF07
CisgICAgfQorICAgIGlmICh0aGlzLmxlbmd0aCA+IDEpIHsKKyAgICAgICAgeWllbGQgdGhpc1sx
XTsKKyAgICB9CisgICAgaWYgKHRoaXMubGVuZ3RoID4gMikgeworICAgICAgICB5aWVsZCA0MjsK
KyAgICB9Cit9OworCisKK3ZhciBjYWxsQ291bnQgPSAwOwordmFyIEMgPSBjbGFzcyB7CisgIGFz
eW5jICptZXRob2QoW3gsIHksIHpdKSB7CisgICAgYXNzZXJ0LnNhbWVWYWx1ZSh4LCAxKTsKKyAg
ICBhc3NlcnQuc2FtZVZhbHVlKHksIDIpOworICAgIGFzc2VydC5zYW1lVmFsdWUoeiwgNDIpOwor
ICAgIGNhbGxDb3VudCA9IGNhbGxDb3VudCArIDE7CisgIH0KK307CisKK25ldyBDKCkubWV0aG9k
KFsxLCAyLCAzXSkubmV4dCgpLnRoZW4oKCkgPT4geworICAgIGFzc2VydC5zYW1lVmFsdWUoY2Fs
bENvdW50LCAxLCAnaW52b2tlZCBleGFjdGx5IG9uY2UnKTsgICAgCit9KS50aGVuKCRET05FLCAk
RE9ORSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNz
aW9ucy9jbGFzcy9kc3RyL2FzeW5jLWdlbi1tZXRoLWFyeS1wdHJuLXJlc3QtaWQtZGlyZWN0Lmpz
IGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvZHN0ci9h
c3luYy1nZW4tbWV0aC1hcnktcHRybi1yZXN0LWlkLWRpcmVjdC5qcwpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kYmIy
OWJiMTQyMjRiODIzNGU1MjNjODE2MTZlOGQ1NWUwNDM5Y2ZmCi0tLSAvZGV2L251bGwKKysrIGIv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvZHN0ci9hc3lu
Yy1nZW4tbWV0aC1hcnktcHRybi1yZXN0LWlkLWRpcmVjdC5qcwpAQCAtMCwwICsxLDcwIEBACisv
LyBUaGlzIGZpbGUgd2FzIHByb2NlZHVyYWxseSBnZW5lcmF0ZWQgZnJvbSB0aGUgZm9sbG93aW5n
IHNvdXJjZXM6CisvLyAtIHNyYy9kc3RyLWJpbmRpbmcvYXJ5LXB0cm4tcmVzdC1pZC1kaXJlY3Qu
Y2FzZQorLy8gLSBzcmMvZHN0ci1iaW5kaW5nL2RlZmF1bHQvY2xzLWV4cHItYXN5bmMtZ2VuLW1l
dGgudGVtcGxhdGUKKy8qLS0tCitkZXNjcmlwdGlvbjogTG9uZSByZXN0IGVsZW1lbnQgKGRpcmVj
dCBiaW5kaW5nKSAoY2xhc3MgZXhwcmVzc2lvbiBtZXRob2QpCitlc2lkOiBzZWMtY2xhc3MtZGVm
aW5pdGlvbnMtcnVudGltZS1zZW1hbnRpY3MtZXZhbHVhdGlvbgorZmVhdHVyZXM6IFthc3luYy1p
dGVyYXRpb25dCitmbGFnczogW2dlbmVyYXRlZCwgYXN5bmNdCitpbmNsdWRlczogW2NvbXBhcmVB
cnJheS5qc10KK2luZm86IHwKKyAgICBDbGFzc0V4cHJlc3Npb24gOiBjbGFzcyBCaW5kaW5nSWRl
bnRpZmllcm9wdCBDbGFzc1RhaWwKKworICAgIDEuIElmIEJpbmRpbmdJZGVudGlmaWVyb3B0IGlz
IG5vdCBwcmVzZW50LCBsZXQgY2xhc3NOYW1lIGJlIHVuZGVmaW5lZC4KKyAgICAyLiBFbHNlLCBs
ZXQgY2xhc3NOYW1lIGJlIFN0cmluZ1ZhbHVlIG9mIEJpbmRpbmdJZGVudGlmaWVyLgorICAgIDMu
IExldCB2YWx1ZSBiZSB0aGUgcmVzdWx0IG9mIENsYXNzRGVmaW5pdGlvbkV2YWx1YXRpb24gb2Yg
Q2xhc3NUYWlsCisgICAgICAgd2l0aCBhcmd1bWVudCBjbGFzc05hbWUuCisgICAgWy4uLl0KKwor
ICAgIDE0LjUuMTQgUnVudGltZSBTZW1hbnRpY3M6IENsYXNzRGVmaW5pdGlvbkV2YWx1YXRpb24K
KworICAgIDIxLiBGb3IgZWFjaCBDbGFzc0VsZW1lbnQgbSBpbiBvcmRlciBmcm9tIG1ldGhvZHMK
KyAgICAgICAgYS4gSWYgSXNTdGF0aWMgb2YgbSBpcyBmYWxzZSwgdGhlbgorICAgICAgICAgICBp
LiBMZXQgc3RhdHVzIGJlIHRoZSByZXN1bHQgb2YgcGVyZm9ybWluZworICAgICAgICAgICAgICBQ
cm9wZXJ0eURlZmluaXRpb25FdmFsdWF0aW9uIGZvciBtIHdpdGggYXJndW1lbnRzIHByb3RvIGFu
ZAorICAgICAgICAgICAgICBmYWxzZS4KKyAgICAgICAgWy4uLl0KKworICAgIFJ1bnRpbWUgU2Vt
YW50aWNzOiBQcm9wZXJ0eURlZmluaXRpb25FdmFsdWF0aW9uCisKKyAgICBBc3luY0dlbmVyYXRv
ck1ldGhvZCA6CisgICAgICAgIGFzeW5jIFtubyBMaW5lVGVybWluYXRvciBoZXJlXSAqIFByb3Bl
cnR5TmFtZSAoIFVuaXF1ZUZvcm1hbFBhcmFtZXRlcnMgKQorICAgICAgICAgICAgeyBBc3luY0dl
bmVyYXRvckJvZHkgfQorCisgICAgMS4gTGV0IHByb3BLZXkgYmUgdGhlIHJlc3VsdCBvZiBldmFs
dWF0aW5nIFByb3BlcnR5TmFtZS4KKyAgICAyLiBSZXR1cm5JZkFicnVwdChwcm9wS2V5KS4KKyAg
ICAzLiBJZiB0aGUgZnVuY3Rpb24gY29kZSBmb3IgdGhpcyBBc3luY0dlbmVyYXRvck1ldGhvZCBp
cyBzdHJpY3QgbW9kZSBjb2RlLCBsZXQgc3RyaWN0IGJlIHRydWUuCisgICAgICAgT3RoZXJ3aXNl
IGxldCBzdHJpY3QgYmUgZmFsc2UuCisgICAgNC4gTGV0IHNjb3BlIGJlIHRoZSBydW5uaW5nIGV4
ZWN1dGlvbiBjb250ZXh0J3MgTGV4aWNhbEVudmlyb25tZW50LgorICAgIDUuIExldCBjbG9zdXJl
IGJlICEgQXN5bmNHZW5lcmF0b3JGdW5jdGlvbkNyZWF0ZShNZXRob2QsIFVuaXF1ZUZvcm1hbFBh
cmFtZXRlcnMsCisgICAgICAgQXN5bmNHZW5lcmF0b3JCb2R5LCBzY29wZSwgc3RyaWN0KS4KKyAg
ICBbLi4uXQorCisKKyAgICBSdW50aW1lIFNlbWFudGljczogSXRlcmF0b3JCaW5kaW5nSW5pdGlh
bGl6YXRpb24KKworICAgIEJpbmRpbmdSZXN0RWxlbWVudCA6IC4uLiBCaW5kaW5nSWRlbnRpZmll
cgorCisgICAgWy4uLl0KKyAgICAyLiBMZXQgQSBiZSAhIEFycmF5Q3JlYXRlKDApLgorICAgIDMu
IExldCBuIGJlIDAuCisgICAgNC4gUmVwZWF0LAorICAgICAgICBbLi4uXQorICAgICAgICBmLiBQ
ZXJmb3JtICEgQ3JlYXRlRGF0YVByb3BlcnR5T3JUaHJvdyhBLCAhIFRvU3RyaW5nKG4pLCBuZXh0
VmFsdWUpLgorICAgICAgICBnLiBTZXQgbiB0byBuICsgMS4KKworLS0tKi8KKworCit2YXIgY2Fs
bENvdW50ID0gMDsKK3ZhciBDID0gY2xhc3MgeworICBhc3luYyAqbWV0aG9kKFsuLi54XSkgewor
ICAgIGFzc2VydChBcnJheS5pc0FycmF5KHgpKTsKKyAgICBhc3NlcnQuY29tcGFyZUFycmF5KHgs
IFsxXSk7CisgICAgY2FsbENvdW50ID0gY2FsbENvdW50ICsgMTsKKyAgfQorfTsKKworbmV3IEMo
KS5tZXRob2QoWzFdKS5uZXh0KCkudGhlbigoKSA9PiB7CisgICAgYXNzZXJ0LnNhbWVWYWx1ZShj
YWxsQ291bnQsIDEsICdpbnZva2VkIGV4YWN0bHkgb25jZScpOyAgICAKK30pLnRoZW4oJERPTkUs
ICRET05FKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJl
c3Npb25zL2NsYXNzL2RzdHIvYXN5bmMtZ2VuLW1ldGgtZGZsdC1hcnktaW5pdC1pdGVyLWdldC1l
cnItYXJyYXktcHJvdG90eXBlLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhw
cmVzc2lvbnMvY2xhc3MvZHN0ci9hc3luYy1nZW4tbWV0aC1kZmx0LWFyeS1pbml0LWl0ZXItZ2V0
LWVyci1hcnJheS1wcm90b3R5cGUuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGJjMzI3ZjExZTY1YjliZmQ1ZmE2
ODAzZDdmZWQwMWVmMzZlMDcyYgotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2RzdHIvYXN5bmMtZ2VuLW1ldGgtZGZsdC1h
cnktaW5pdC1pdGVyLWdldC1lcnItYXJyYXktcHJvdG90eXBlLmpzCkBAIC0wLDAgKzEsNzIgQEAK
Ky8vIFRoaXMgZmlsZSB3YXMgcHJvY2VkdXJhbGx5IGdlbmVyYXRlZCBmcm9tIHRoZSBmb2xsb3dp
bmcgc291cmNlczoKKy8vIC0gc3JjL2RzdHItYmluZGluZy9hcnktaW5pdC1pdGVyLWdldC1lcnIt
YXJyYXktcHJvdG90eXBlLmNhc2UKKy8vIC0gc3JjL2RzdHItYmluZGluZy9lcnJvci9jbHMtZXhw
ci1hc3luYy1nZW4tbWV0aC1kZmx0LnRlbXBsYXRlCisvKi0tLQorZGVzY3JpcHRpb246IEFicnVw
dCBjb21wbGV0aW9uIHJldHVybmVkIGJ5IEdldEl0ZXJhdG9yIChjbGFzcyBleHByZXNzaW9uIGFz
eW5jIGdlbmVyYXRvciBtZXRob2QgKGRlZmF1bHQgcGFyYW1ldGVyKSkKK2VzaWQ6IHNlYy1jbGFz
cy1kZWZpbml0aW9ucy1ydW50aW1lLXNlbWFudGljcy1ldmFsdWF0aW9uCitmZWF0dXJlczogW1N5
bWJvbC5pdGVyYXRvciwgYXN5bmMtaXRlcmF0aW9uXQorZmxhZ3M6IFtnZW5lcmF0ZWRdCitpbmZv
OiB8CisgICAgQ2xhc3NFeHByZXNzaW9uIDogY2xhc3MgQmluZGluZ0lkZW50aWZpZXJvcHQgQ2xh
c3NUYWlsCisKKyAgICAxLiBJZiBCaW5kaW5nSWRlbnRpZmllcm9wdCBpcyBub3QgcHJlc2VudCwg
bGV0IGNsYXNzTmFtZSBiZSB1bmRlZmluZWQuCisgICAgMi4gRWxzZSwgbGV0IGNsYXNzTmFtZSBi
ZSBTdHJpbmdWYWx1ZSBvZiBCaW5kaW5nSWRlbnRpZmllci4KKyAgICAzLiBMZXQgdmFsdWUgYmUg
dGhlIHJlc3VsdCBvZiBDbGFzc0RlZmluaXRpb25FdmFsdWF0aW9uIG9mIENsYXNzVGFpbAorICAg
ICAgIHdpdGggYXJndW1lbnQgY2xhc3NOYW1lLgorICAgIFsuLi5dCisKKyAgICAxNC41LjE0IFJ1
bnRpbWUgU2VtYW50aWNzOiBDbGFzc0RlZmluaXRpb25FdmFsdWF0aW9uCisKKyAgICAyMS4gRm9y
IGVhY2ggQ2xhc3NFbGVtZW50IG0gaW4gb3JkZXIgZnJvbSBtZXRob2RzCisgICAgICAgIGEuIElm
IElzU3RhdGljIG9mIG0gaXMgZmFsc2UsIHRoZW4KKyAgICAgICAgICAgaS4gTGV0IHN0YXR1cyBi
ZSB0aGUgcmVzdWx0IG9mIHBlcmZvcm1pbmcKKyAgICAgICAgICAgICAgUHJvcGVydHlEZWZpbml0
aW9uRXZhbHVhdGlvbiBmb3IgbSB3aXRoIGFyZ3VtZW50cyBwcm90byBhbmQKKyAgICAgICAgICAg
ICAgZmFsc2UuCisgICAgICAgIFsuLi5dCisKKyAgICBSdW50aW1lIFNlbWFudGljczogUHJvcGVy
dHlEZWZpbml0aW9uRXZhbHVhdGlvbgorCisgICAgQXN5bmNHZW5lcmF0b3JNZXRob2QgOgorICAg
ICAgICBhc3luYyBbbm8gTGluZVRlcm1pbmF0b3IgaGVyZV0gKiBQcm9wZXJ0eU5hbWUgKCBVbmlx
dWVGb3JtYWxQYXJhbWV0ZXJzICkKKyAgICAgICAgICAgIHsgQXN5bmNHZW5lcmF0b3JCb2R5IH0K
KworICAgIDEuIExldCBwcm9wS2V5IGJlIHRoZSByZXN1bHQgb2YgZXZhbHVhdGluZyBQcm9wZXJ0
eU5hbWUuCisgICAgMi4gUmV0dXJuSWZBYnJ1cHQocHJvcEtleSkuCisgICAgMy4gSWYgdGhlIGZ1
bmN0aW9uIGNvZGUgZm9yIHRoaXMgQXN5bmNHZW5lcmF0b3JNZXRob2QgaXMgc3RyaWN0IG1vZGUg
Y29kZSwgbGV0IHN0cmljdCBiZSB0cnVlLgorICAgICAgIE90aGVyd2lzZSBsZXQgc3RyaWN0IGJl
IGZhbHNlLgorICAgIDQuIExldCBzY29wZSBiZSB0aGUgcnVubmluZyBleGVjdXRpb24gY29udGV4
dCdzIExleGljYWxFbnZpcm9ubWVudC4KKyAgICA1LiBMZXQgY2xvc3VyZSBiZSAhIEFzeW5jR2Vu
ZXJhdG9yRnVuY3Rpb25DcmVhdGUoTWV0aG9kLCBVbmlxdWVGb3JtYWxQYXJhbWV0ZXJzLAorICAg
ICAgIEFzeW5jR2VuZXJhdG9yQm9keSwgc2NvcGUsIHN0cmljdCkuCisgICAgWy4uLl0KKworICAg
IFJ1bnRpbWUgU2VtYW50aWNzOiBCaW5kaW5nSW5pdGlhbGl6YXRpb24KKworICAgIEJpbmRpbmdQ
YXR0ZXJuIDogQXJyYXlCaW5kaW5nUGF0dGVybgorCisgICAgMS4gTGV0IGl0ZXJhdG9yUmVjb3Jk
IGJlID8gR2V0SXRlcmF0b3IodmFsdWUpLgorCisgICAgR2V0SXRlcmF0b3IgKCBvYmogWyAsIGhp
bnQgWyAsIG1ldGhvZCBdIF0gKQorCisgICAgWy4uLl0KKyAgICA0LiBMZXQgaXRlcmF0b3IgYmUg
PyBDYWxsKG1ldGhvZCwgb2JqKS4KKworICAgIENhbGwgKCBGLCBWIFsgLCBhcmd1bWVudHNMaXN0
IF0gKQorCisgICAgWy4uLl0KKyAgICAyLiBJZiBJc0NhbGxhYmxlKEYpIGlzIGZhbHNlLCB0aHJv
dyBhIFR5cGVFcnJvciBleGNlcHRpb24uCisKKy0tLSovCitkZWxldGUgQXJyYXkucHJvdG90eXBl
W1N5bWJvbC5pdGVyYXRvcl07CisKKwordmFyIEMgPSBjbGFzcyB7CisgIGFzeW5jICptZXRob2Qo
W3gsIHksIHpdID0gWzEsIDIsIDNdKSB7CisgICAgCisgIH0KK307CisKK3ZhciBtZXRob2QgPSBD
LnByb3RvdHlwZS5tZXRob2Q7CisKK2Fzc2VydC50aHJvd3MoVHlwZUVycm9yLCBmdW5jdGlvbigp
IHsKKyAgbWV0aG9kKCk7Cit9KTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xh
bmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2RzdHIvYXN5bmMtZ2VuLW1ldGgtZGZsdC1hcnktcHRy
bi1lbGVtLWlkLWl0ZXItdmFsLWFycmF5LXByb3RvdHlwZS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2RzdHIvYXN5bmMtZ2VuLW1ldGgtZGZsdC1h
cnktcHRybi1lbGVtLWlkLWl0ZXItdmFsLWFycmF5LXByb3RvdHlwZS5qcwpuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4x
MDBkZGYxYzBmMmI5MmExNjlhMTQ2NmEwZWQ3MjllMDQzYWFkZTQ3Ci0tLSAvZGV2L251bGwKKysr
IGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvZHN0ci9h
c3luYy1nZW4tbWV0aC1kZmx0LWFyeS1wdHJuLWVsZW0taWQtaXRlci12YWwtYXJyYXktcHJvdG90
eXBlLmpzCkBAIC0wLDAgKzEsODcgQEAKKy8vIFRoaXMgZmlsZSB3YXMgcHJvY2VkdXJhbGx5IGdl
bmVyYXRlZCBmcm9tIHRoZSBmb2xsb3dpbmcgc291cmNlczoKKy8vIC0gc3JjL2RzdHItYmluZGlu
Zy9hcnktcHRybi1lbGVtLWlkLWl0ZXItdmFsLWFycmF5LXByb3RvdHlwZS5jYXNlCisvLyAtIHNy
Yy9kc3RyLWJpbmRpbmcvZGVmYXVsdC9jbHMtZXhwci1hc3luYy1nZW4tbWV0aC1kZmx0LnRlbXBs
YXRlCisvKi0tLQorZGVzY3JpcHRpb246IEFycmF5IGRlc3RydWN0dXJpbmcgdXNlcyBvdmVycmlk
ZW4gQXJyYXkucHJvdG90eXBlW1N5bWJvbC5pdGVyYXRvcl0gKGNsYXNzIGV4cHJlc3Npb24gYXN5
bmMgZ2VuZXJhdG9yIG1ldGhvZCAoZGVmYXVsdCBwYXJhbWV0ZXIpKQorZXNpZDogc2VjLWNsYXNz
LWRlZmluaXRpb25zLXJ1bnRpbWUtc2VtYW50aWNzLWV2YWx1YXRpb24KK2ZlYXR1cmVzOiBbU3lt
Ym9sLml0ZXJhdG9yLCBnZW5lcmF0b3JzLCBhc3luYy1pdGVyYXRpb25dCitmbGFnczogW2dlbmVy
YXRlZCwgYXN5bmNdCitpbmZvOiB8CisgICAgQ2xhc3NFeHByZXNzaW9uIDogY2xhc3MgQmluZGlu
Z0lkZW50aWZpZXJvcHQgQ2xhc3NUYWlsCisKKyAgICAxLiBJZiBCaW5kaW5nSWRlbnRpZmllcm9w
dCBpcyBub3QgcHJlc2VudCwgbGV0IGNsYXNzTmFtZSBiZSB1bmRlZmluZWQuCisgICAgMi4gRWxz
ZSwgbGV0IGNsYXNzTmFtZSBiZSBTdHJpbmdWYWx1ZSBvZiBCaW5kaW5nSWRlbnRpZmllci4KKyAg
ICAzLiBMZXQgdmFsdWUgYmUgdGhlIHJlc3VsdCBvZiBDbGFzc0RlZmluaXRpb25FdmFsdWF0aW9u
IG9mIENsYXNzVGFpbAorICAgICAgIHdpdGggYXJndW1lbnQgY2xhc3NOYW1lLgorICAgIFsuLi5d
CisKKyAgICAxNC41LjE0IFJ1bnRpbWUgU2VtYW50aWNzOiBDbGFzc0RlZmluaXRpb25FdmFsdWF0
aW9uCisKKyAgICAyMS4gRm9yIGVhY2ggQ2xhc3NFbGVtZW50IG0gaW4gb3JkZXIgZnJvbSBtZXRo
b2RzCisgICAgICAgIGEuIElmIElzU3RhdGljIG9mIG0gaXMgZmFsc2UsIHRoZW4KKyAgICAgICAg
ICAgaS4gTGV0IHN0YXR1cyBiZSB0aGUgcmVzdWx0IG9mIHBlcmZvcm1pbmcKKyAgICAgICAgICAg
ICAgUHJvcGVydHlEZWZpbml0aW9uRXZhbHVhdGlvbiBmb3IgbSB3aXRoIGFyZ3VtZW50cyBwcm90
byBhbmQKKyAgICAgICAgICAgICAgZmFsc2UuCisgICAgICAgIFsuLi5dCisKKyAgICBSdW50aW1l
IFNlbWFudGljczogUHJvcGVydHlEZWZpbml0aW9uRXZhbHVhdGlvbgorCisgICAgQXN5bmNHZW5l
cmF0b3JNZXRob2QgOgorICAgICAgICBhc3luYyBbbm8gTGluZVRlcm1pbmF0b3IgaGVyZV0gKiBQ
cm9wZXJ0eU5hbWUgKCBVbmlxdWVGb3JtYWxQYXJhbWV0ZXJzICkKKyAgICAgICAgICAgIHsgQXN5
bmNHZW5lcmF0b3JCb2R5IH0KKworICAgIDEuIExldCBwcm9wS2V5IGJlIHRoZSByZXN1bHQgb2Yg
ZXZhbHVhdGluZyBQcm9wZXJ0eU5hbWUuCisgICAgMi4gUmV0dXJuSWZBYnJ1cHQocHJvcEtleSku
CisgICAgMy4gSWYgdGhlIGZ1bmN0aW9uIGNvZGUgZm9yIHRoaXMgQXN5bmNHZW5lcmF0b3JNZXRo
b2QgaXMgc3RyaWN0IG1vZGUgY29kZSwgbGV0IHN0cmljdCBiZSB0cnVlLgorICAgICAgIE90aGVy
d2lzZSBsZXQgc3RyaWN0IGJlIGZhbHNlLgorICAgIDQuIExldCBzY29wZSBiZSB0aGUgcnVubmlu
ZyBleGVjdXRpb24gY29udGV4dCdzIExleGljYWxFbnZpcm9ubWVudC4KKyAgICA1LiBMZXQgY2xv
c3VyZSBiZSAhIEFzeW5jR2VuZXJhdG9yRnVuY3Rpb25DcmVhdGUoTWV0aG9kLCBVbmlxdWVGb3Jt
YWxQYXJhbWV0ZXJzLAorICAgICAgIEFzeW5jR2VuZXJhdG9yQm9keSwgc2NvcGUsIHN0cmljdCku
CisgICAgWy4uLl0KKworCisgICAgUnVudGltZSBTZW1hbnRpY3M6IEl0ZXJhdG9yQmluZGluZ0lu
aXRpYWxpemF0aW9uCisKKyAgICBTaW5nbGVOYW1lQmluZGluZyA6IEJpbmRpbmdJZGVudGlmaWVy
IEluaXRpYWxpemVyX29wdAorCisgICAgMS4gTGV0IGJpbmRpbmdJZCBiZSBTdHJpbmdWYWx1ZSBv
ZiBCaW5kaW5nSWRlbnRpZmllci4KKyAgICAyLiBMZXQgbGhzIGJlID8gUmVzb2x2ZUJpbmRpbmco
YmluZGluZ0lkLCBlbnZpcm9ubWVudCkuCisgICAgMy4gSWYgaXRlcmF0b3JSZWNvcmQuW1tEb25l
XV0gaXMgZmFsc2UsIHRoZW4KKyAgICAgICAgYS4gTGV0IG5leHQgYmUgSXRlcmF0b3JTdGVwKGl0
ZXJhdG9yUmVjb3JkKS4KKyAgICAgICAgYi4gSWYgbmV4dCBpcyBhbiBhYnJ1cHQgY29tcGxldGlv
biwgc2V0IGl0ZXJhdG9yUmVjb3JkLltbRG9uZV1dIHRvIHRydWUuCisgICAgICAgIGMuIFJldHVy
bklmQWJydXB0KG5leHQpLgorICAgICAgICBkLiBJZiBuZXh0IGlzIGZhbHNlLCBzZXQgaXRlcmF0
b3JSZWNvcmQuW1tEb25lXV0gdG8gdHJ1ZS4KKyAgICAgICAgZS4gRWxzZSwKKyAgICAgICAgICAg
IGkuIExldCB2IGJlIEl0ZXJhdG9yVmFsdWUobmV4dCkuCisgICAgICAgICAgICBpaS4gSWYgdiBp
cyBhbiBhYnJ1cHQgY29tcGxldGlvbiwgc2V0IGl0ZXJhdG9yUmVjb3JkLltbRG9uZV1dIHRvIHRy
dWUuCisgICAgICAgICAgICBpaWkuIFJldHVybklmQWJydXB0KHYpLgorICAgIFsuLi5dCisgICAg
Ny4gUmV0dXJuIEluaXRpYWxpemVSZWZlcmVuY2VkQmluZGluZyhsaHMsIHYpLgorCistLS0qLwor
QXJyYXkucHJvdG90eXBlW1N5bWJvbC5pdGVyYXRvcl0gPSBmdW5jdGlvbiogKCkgeworICAgIGlm
ICh0aGlzLmxlbmd0aCA+IDApIHsKKyAgICAgICAgeWllbGQgdGhpc1swXTsKKyAgICB9CisgICAg
aWYgKHRoaXMubGVuZ3RoID4gMSkgeworICAgICAgICB5aWVsZCB0aGlzWzFdOworICAgIH0KKyAg
ICBpZiAodGhpcy5sZW5ndGggPiAyKSB7CisgICAgICAgIHlpZWxkIDQyOworICAgIH0KK307CisK
KwordmFyIGNhbGxDb3VudCA9IDA7Cit2YXIgQyA9IGNsYXNzIHsKKyAgYXN5bmMgKm1ldGhvZChb
eCwgeSwgel0gPSBbMSwgMiwgM10pIHsKKyAgICBhc3NlcnQuc2FtZVZhbHVlKHgsIDEpOworICAg
IGFzc2VydC5zYW1lVmFsdWUoeSwgMik7CisgICAgYXNzZXJ0LnNhbWVWYWx1ZSh6LCA0Mik7Cisg
ICAgY2FsbENvdW50ID0gY2FsbENvdW50ICsgMTsKKyAgfQorfTsKKworbmV3IEMoKS5tZXRob2Qo
KS5uZXh0KCkudGhlbigoKSA9PiB7CisgICAgYXNzZXJ0LnNhbWVWYWx1ZShjYWxsQ291bnQsIDEs
ICdpbnZva2VkIGV4YWN0bHkgb25jZScpOyAgICAKK30pLnRoZW4oJERPTkUsICRET05FKTsKZGlm
ZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNz
L2RzdHIvYXN5bmMtZ2VuLW1ldGgtZGZsdC1hcnktcHRybi1yZXN0LWlkLWRpcmVjdC5qcyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2RzdHIvYXN5bmMt
Z2VuLW1ldGgtZGZsdC1hcnktcHRybi1yZXN0LWlkLWRpcmVjdC5qcwpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44ZDlk
OGYxNWYyZmNmZjBhOTQwZGJhOTA3YzQyMzhjN2JmYTEyMTMxCi0tLSAvZGV2L251bGwKKysrIGIv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvZHN0ci9hc3lu
Yy1nZW4tbWV0aC1kZmx0LWFyeS1wdHJuLXJlc3QtaWQtZGlyZWN0LmpzCkBAIC0wLDAgKzEsNzAg
QEAKKy8vIFRoaXMgZmlsZSB3YXMgcHJvY2VkdXJhbGx5IGdlbmVyYXRlZCBmcm9tIHRoZSBmb2xs
b3dpbmcgc291cmNlczoKKy8vIC0gc3JjL2RzdHItYmluZGluZy9hcnktcHRybi1yZXN0LWlkLWRp
cmVjdC5jYXNlCisvLyAtIHNyYy9kc3RyLWJpbmRpbmcvZGVmYXVsdC9jbHMtZXhwci1hc3luYy1n
ZW4tbWV0aC1kZmx0LnRlbXBsYXRlCisvKi0tLQorZGVzY3JpcHRpb246IExvbmUgcmVzdCBlbGVt
ZW50IChkaXJlY3QgYmluZGluZykgKGNsYXNzIGV4cHJlc3Npb24gYXN5bmMgZ2VuZXJhdG9yIG1l
dGhvZCAoZGVmYXVsdCBwYXJhbWV0ZXIpKQorZXNpZDogc2VjLWNsYXNzLWRlZmluaXRpb25zLXJ1
bnRpbWUtc2VtYW50aWNzLWV2YWx1YXRpb24KK2ZlYXR1cmVzOiBbYXN5bmMtaXRlcmF0aW9uXQor
ZmxhZ3M6IFtnZW5lcmF0ZWQsIGFzeW5jXQoraW5jbHVkZXM6IFtjb21wYXJlQXJyYXkuanNdCitp
bmZvOiB8CisgICAgQ2xhc3NFeHByZXNzaW9uIDogY2xhc3MgQmluZGluZ0lkZW50aWZpZXJvcHQg
Q2xhc3NUYWlsCisKKyAgICAxLiBJZiBCaW5kaW5nSWRlbnRpZmllcm9wdCBpcyBub3QgcHJlc2Vu
dCwgbGV0IGNsYXNzTmFtZSBiZSB1bmRlZmluZWQuCisgICAgMi4gRWxzZSwgbGV0IGNsYXNzTmFt
ZSBiZSBTdHJpbmdWYWx1ZSBvZiBCaW5kaW5nSWRlbnRpZmllci4KKyAgICAzLiBMZXQgdmFsdWUg
YmUgdGhlIHJlc3VsdCBvZiBDbGFzc0RlZmluaXRpb25FdmFsdWF0aW9uIG9mIENsYXNzVGFpbAor
ICAgICAgIHdpdGggYXJndW1lbnQgY2xhc3NOYW1lLgorICAgIFsuLi5dCisKKyAgICAxNC41LjE0
IFJ1bnRpbWUgU2VtYW50aWNzOiBDbGFzc0RlZmluaXRpb25FdmFsdWF0aW9uCisKKyAgICAyMS4g
Rm9yIGVhY2ggQ2xhc3NFbGVtZW50IG0gaW4gb3JkZXIgZnJvbSBtZXRob2RzCisgICAgICAgIGEu
IElmIElzU3RhdGljIG9mIG0gaXMgZmFsc2UsIHRoZW4KKyAgICAgICAgICAgaS4gTGV0IHN0YXR1
cyBiZSB0aGUgcmVzdWx0IG9mIHBlcmZvcm1pbmcKKyAgICAgICAgICAgICAgUHJvcGVydHlEZWZp
bml0aW9uRXZhbHVhdGlvbiBmb3IgbSB3aXRoIGFyZ3VtZW50cyBwcm90byBhbmQKKyAgICAgICAg
ICAgICAgZmFsc2UuCisgICAgICAgIFsuLi5dCisKKyAgICBSdW50aW1lIFNlbWFudGljczogUHJv
cGVydHlEZWZpbml0aW9uRXZhbHVhdGlvbgorCisgICAgQXN5bmNHZW5lcmF0b3JNZXRob2QgOgor
ICAgICAgICBhc3luYyBbbm8gTGluZVRlcm1pbmF0b3IgaGVyZV0gKiBQcm9wZXJ0eU5hbWUgKCBV
bmlxdWVGb3JtYWxQYXJhbWV0ZXJzICkKKyAgICAgICAgICAgIHsgQXN5bmNHZW5lcmF0b3JCb2R5
IH0KKworICAgIDEuIExldCBwcm9wS2V5IGJlIHRoZSByZXN1bHQgb2YgZXZhbHVhdGluZyBQcm9w
ZXJ0eU5hbWUuCisgICAgMi4gUmV0dXJuSWZBYnJ1cHQocHJvcEtleSkuCisgICAgMy4gSWYgdGhl
IGZ1bmN0aW9uIGNvZGUgZm9yIHRoaXMgQXN5bmNHZW5lcmF0b3JNZXRob2QgaXMgc3RyaWN0IG1v
ZGUgY29kZSwgbGV0IHN0cmljdCBiZSB0cnVlLgorICAgICAgIE90aGVyd2lzZSBsZXQgc3RyaWN0
IGJlIGZhbHNlLgorICAgIDQuIExldCBzY29wZSBiZSB0aGUgcnVubmluZyBleGVjdXRpb24gY29u
dGV4dCdzIExleGljYWxFbnZpcm9ubWVudC4KKyAgICA1LiBMZXQgY2xvc3VyZSBiZSAhIEFzeW5j
R2VuZXJhdG9yRnVuY3Rpb25DcmVhdGUoTWV0aG9kLCBVbmlxdWVGb3JtYWxQYXJhbWV0ZXJzLAor
ICAgICAgIEFzeW5jR2VuZXJhdG9yQm9keSwgc2NvcGUsIHN0cmljdCkuCisgICAgWy4uLl0KKwor
CisgICAgUnVudGltZSBTZW1hbnRpY3M6IEl0ZXJhdG9yQmluZGluZ0luaXRpYWxpemF0aW9uCisK
KyAgICBCaW5kaW5nUmVzdEVsZW1lbnQgOiAuLi4gQmluZGluZ0lkZW50aWZpZXIKKworICAgIFsu
Li5dCisgICAgMi4gTGV0IEEgYmUgISBBcnJheUNyZWF0ZSgwKS4KKyAgICAzLiBMZXQgbiBiZSAw
LgorICAgIDQuIFJlcGVhdCwKKyAgICAgICAgWy4uLl0KKyAgICAgICAgZi4gUGVyZm9ybSAhIENy
ZWF0ZURhdGFQcm9wZXJ0eU9yVGhyb3coQSwgISBUb1N0cmluZyhuKSwgbmV4dFZhbHVlKS4KKyAg
ICAgICAgZy4gU2V0IG4gdG8gbiArIDEuCisKKy0tLSovCisKKwordmFyIGNhbGxDb3VudCA9IDA7
Cit2YXIgQyA9IGNsYXNzIHsKKyAgYXN5bmMgKm1ldGhvZChbLi4ueF0gPSBbMV0pIHsKKyAgICBh
c3NlcnQoQXJyYXkuaXNBcnJheSh4KSk7CisgICAgYXNzZXJ0LmNvbXBhcmVBcnJheSh4LCBbMV0p
OworICAgIGNhbGxDb3VudCA9IGNhbGxDb3VudCArIDE7CisgIH0KK307CisKK25ldyBDKCkubWV0
aG9kKCkubmV4dCgpLnRoZW4oKCkgPT4geworICAgIGFzc2VydC5zYW1lVmFsdWUoY2FsbENvdW50
LCAxLCAnaW52b2tlZCBleGFjdGx5IG9uY2UnKTsgICAgCit9KS50aGVuKCRET05FLCAkRE9ORSk7
CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9j
bGFzcy9kc3RyL2FzeW5jLWdlbi1tZXRoLXN0YXRpYy1hcnktaW5pdC1pdGVyLWdldC1lcnItYXJy
YXktcHJvdG90eXBlLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lv
bnMvY2xhc3MvZHN0ci9hc3luYy1nZW4tbWV0aC1zdGF0aWMtYXJ5LWluaXQtaXRlci1nZXQtZXJy
LWFycmF5LXByb3RvdHlwZS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42NDdhOTY2MjlmYWVlZWZjNjNjMGU4MjY2
OTlmMmYwZGNlNTdkYzI2Ci0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
bGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvZHN0ci9hc3luYy1nZW4tbWV0aC1zdGF0aWMtYXJ5
LWluaXQtaXRlci1nZXQtZXJyLWFycmF5LXByb3RvdHlwZS5qcwpAQCAtMCwwICsxLDcyIEBACisv
LyBUaGlzIGZpbGUgd2FzIHByb2NlZHVyYWxseSBnZW5lcmF0ZWQgZnJvbSB0aGUgZm9sbG93aW5n
IHNvdXJjZXM6CisvLyAtIHNyYy9kc3RyLWJpbmRpbmcvYXJ5LWluaXQtaXRlci1nZXQtZXJyLWFy
cmF5LXByb3RvdHlwZS5jYXNlCisvLyAtIHNyYy9kc3RyLWJpbmRpbmcvZXJyb3IvY2xzLWV4cHIt
YXN5bmMtZ2VuLW1ldGgtc3RhdGljLnRlbXBsYXRlCisvKi0tLQorZGVzY3JpcHRpb246IEFicnVw
dCBjb21wbGV0aW9uIHJldHVybmVkIGJ5IEdldEl0ZXJhdG9yIChzdGF0aWMgY2xhc3MgZXhwcmVz
c2lvbiBhc3luYyBnZW5lcmF0b3IgbWV0aG9kKQorZXNpZDogc2VjLWNsYXNzLWRlZmluaXRpb25z
LXJ1bnRpbWUtc2VtYW50aWNzLWV2YWx1YXRpb24KK2ZlYXR1cmVzOiBbU3ltYm9sLml0ZXJhdG9y
LCBhc3luYy1pdGVyYXRpb25dCitmbGFnczogW2dlbmVyYXRlZF0KK2luZm86IHwKKyAgICBDbGFz
c0V4cHJlc3Npb24gOiBjbGFzcyBCaW5kaW5nSWRlbnRpZmllcm9wdCBDbGFzc1RhaWwKKworICAg
IDEuIElmIEJpbmRpbmdJZGVudGlmaWVyb3B0IGlzIG5vdCBwcmVzZW50LCBsZXQgY2xhc3NOYW1l
IGJlIHVuZGVmaW5lZC4KKyAgICAyLiBFbHNlLCBsZXQgY2xhc3NOYW1lIGJlIFN0cmluZ1ZhbHVl
IG9mIEJpbmRpbmdJZGVudGlmaWVyLgorICAgIDMuIExldCB2YWx1ZSBiZSB0aGUgcmVzdWx0IG9m
IENsYXNzRGVmaW5pdGlvbkV2YWx1YXRpb24gb2YgQ2xhc3NUYWlsCisgICAgICAgd2l0aCBhcmd1
bWVudCBjbGFzc05hbWUuCisgICAgWy4uLl0KKworICAgIDE0LjUuMTQgUnVudGltZSBTZW1hbnRp
Y3M6IENsYXNzRGVmaW5pdGlvbkV2YWx1YXRpb24KKworICAgIDIxLiBGb3IgZWFjaCBDbGFzc0Vs
ZW1lbnQgbSBpbiBvcmRlciBmcm9tIG1ldGhvZHMKKyAgICAgICAgYS4gSWYgSXNTdGF0aWMgb2Yg
bSBpcyBmYWxzZSwgdGhlbgorICAgICAgICBiLiBFbHNlLAorICAgICAgICAgICBMZXQgc3RhdHVz
IGJlIHRoZSByZXN1bHQgb2YgcGVyZm9ybWluZyBQcm9wZXJ0eURlZmluaXRpb25FdmFsdWF0aW9u
CisgICAgICAgICAgIGZvciBtIHdpdGggYXJndW1lbnRzIEYgYW5kIGZhbHNlLgorICAgIFsuLi5d
CisKKyAgICBSdW50aW1lIFNlbWFudGljczogUHJvcGVydHlEZWZpbml0aW9uRXZhbHVhdGlvbgor
CisgICAgQXN5bmNHZW5lcmF0b3JNZXRob2QgOgorICAgICAgICBhc3luYyBbbm8gTGluZVRlcm1p
bmF0b3IgaGVyZV0gKiBQcm9wZXJ0eU5hbWUgKCBVbmlxdWVGb3JtYWxQYXJhbWV0ZXJzICkKKyAg
ICAgICAgICAgIHsgQXN5bmNHZW5lcmF0b3JCb2R5IH0KKworICAgIDEuIExldCBwcm9wS2V5IGJl
IHRoZSByZXN1bHQgb2YgZXZhbHVhdGluZyBQcm9wZXJ0eU5hbWUuCisgICAgMi4gUmV0dXJuSWZB
YnJ1cHQocHJvcEtleSkuCisgICAgMy4gSWYgdGhlIGZ1bmN0aW9uIGNvZGUgZm9yIHRoaXMgQXN5
bmNHZW5lcmF0b3JNZXRob2QgaXMgc3RyaWN0IG1vZGUgY29kZSwgbGV0IHN0cmljdCBiZSB0cnVl
LgorICAgICAgIE90aGVyd2lzZSBsZXQgc3RyaWN0IGJlIGZhbHNlLgorICAgIDQuIExldCBzY29w
ZSBiZSB0aGUgcnVubmluZyBleGVjdXRpb24gY29udGV4dCdzIExleGljYWxFbnZpcm9ubWVudC4K
KyAgICA1LiBMZXQgY2xvc3VyZSBiZSAhIEFzeW5jR2VuZXJhdG9yRnVuY3Rpb25DcmVhdGUoTWV0
aG9kLCBVbmlxdWVGb3JtYWxQYXJhbWV0ZXJzLAorICAgICAgIEFzeW5jR2VuZXJhdG9yQm9keSwg
c2NvcGUsIHN0cmljdCkuCisgICAgWy4uLl0KKworICAgIFJ1bnRpbWUgU2VtYW50aWNzOiBCaW5k
aW5nSW5pdGlhbGl6YXRpb24KKworICAgIEJpbmRpbmdQYXR0ZXJuIDogQXJyYXlCaW5kaW5nUGF0
dGVybgorCisgICAgMS4gTGV0IGl0ZXJhdG9yUmVjb3JkIGJlID8gR2V0SXRlcmF0b3IodmFsdWUp
LgorCisgICAgR2V0SXRlcmF0b3IgKCBvYmogWyAsIGhpbnQgWyAsIG1ldGhvZCBdIF0gKQorCisg
ICAgWy4uLl0KKyAgICA0LiBMZXQgaXRlcmF0b3IgYmUgPyBDYWxsKG1ldGhvZCwgb2JqKS4KKwor
ICAgIENhbGwgKCBGLCBWIFsgLCBhcmd1bWVudHNMaXN0IF0gKQorCisgICAgWy4uLl0KKyAgICAy
LiBJZiBJc0NhbGxhYmxlKEYpIGlzIGZhbHNlLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24u
CisKKy0tLSovCitkZWxldGUgQXJyYXkucHJvdG90eXBlW1N5bWJvbC5pdGVyYXRvcl07CisKKwor
dmFyIEMgPSBjbGFzcyB7CisgIHN0YXRpYyBhc3luYyAqbWV0aG9kKFt4LCB5LCB6XSkgeworICAg
IAorICB9Cit9OworCit2YXIgbWV0aG9kID0gQy5tZXRob2Q7CisKK2Fzc2VydC50aHJvd3MoVHlw
ZUVycm9yLCBmdW5jdGlvbigpIHsKKyAgbWV0aG9kKFsxLCAyLCAzXSk7Cit9KTsKZGlmZiAtLWdp
dCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2RzdHIv
YXN5bmMtZ2VuLW1ldGgtc3RhdGljLWFyeS1wdHJuLWVsZW0taWQtaXRlci12YWwtYXJyYXktcHJv
dG90eXBlLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xh
c3MvZHN0ci9hc3luYy1nZW4tbWV0aC1zdGF0aWMtYXJ5LXB0cm4tZWxlbS1pZC1pdGVyLXZhbC1h
cnJheS1wcm90b3R5cGUuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTI1ZjE4NGU2MGJlYTM5M2Q3ZmViZDE5YzM0
Y2I3ZDg5OGExYjVjMgotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xh
bmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2RzdHIvYXN5bmMtZ2VuLW1ldGgtc3RhdGljLWFyeS1w
dHJuLWVsZW0taWQtaXRlci12YWwtYXJyYXktcHJvdG90eXBlLmpzCkBAIC0wLDAgKzEsODcgQEAK
Ky8vIFRoaXMgZmlsZSB3YXMgcHJvY2VkdXJhbGx5IGdlbmVyYXRlZCBmcm9tIHRoZSBmb2xsb3dp
bmcgc291cmNlczoKKy8vIC0gc3JjL2RzdHItYmluZGluZy9hcnktcHRybi1lbGVtLWlkLWl0ZXIt
dmFsLWFycmF5LXByb3RvdHlwZS5jYXNlCisvLyAtIHNyYy9kc3RyLWJpbmRpbmcvZGVmYXVsdC9j
bHMtZXhwci1hc3luYy1nZW4tbWV0aC1zdGF0aWMudGVtcGxhdGUKKy8qLS0tCitkZXNjcmlwdGlv
bjogQXJyYXkgZGVzdHJ1Y3R1cmluZyB1c2VzIG92ZXJyaWRlbiBBcnJheS5wcm90b3R5cGVbU3lt
Ym9sLml0ZXJhdG9yXSAoc3RhdGljIGNsYXNzIGV4cHJlc3Npb24gYXN5bmMgZ2VuZXJhdG9yIG1l
dGhvZCkKK2VzaWQ6IHNlYy1jbGFzcy1kZWZpbml0aW9ucy1ydW50aW1lLXNlbWFudGljcy1ldmFs
dWF0aW9uCitmZWF0dXJlczogW1N5bWJvbC5pdGVyYXRvciwgZ2VuZXJhdG9ycywgYXN5bmMtaXRl
cmF0aW9uXQorZmxhZ3M6IFtnZW5lcmF0ZWQsIGFzeW5jXQoraW5mbzogfAorICAgIENsYXNzRXhw
cmVzc2lvbiA6IGNsYXNzIEJpbmRpbmdJZGVudGlmaWVyb3B0IENsYXNzVGFpbAorCisgICAgMS4g
SWYgQmluZGluZ0lkZW50aWZpZXJvcHQgaXMgbm90IHByZXNlbnQsIGxldCBjbGFzc05hbWUgYmUg
dW5kZWZpbmVkLgorICAgIDIuIEVsc2UsIGxldCBjbGFzc05hbWUgYmUgU3RyaW5nVmFsdWUgb2Yg
QmluZGluZ0lkZW50aWZpZXIuCisgICAgMy4gTGV0IHZhbHVlIGJlIHRoZSByZXN1bHQgb2YgQ2xh
c3NEZWZpbml0aW9uRXZhbHVhdGlvbiBvZiBDbGFzc1RhaWwKKyAgICAgICB3aXRoIGFyZ3VtZW50
IGNsYXNzTmFtZS4KKyAgICBbLi4uXQorCisgICAgMTQuNS4xNCBSdW50aW1lIFNlbWFudGljczog
Q2xhc3NEZWZpbml0aW9uRXZhbHVhdGlvbgorCisgICAgMjEuIEZvciBlYWNoIENsYXNzRWxlbWVu
dCBtIGluIG9yZGVyIGZyb20gbWV0aG9kcworICAgICAgICBhLiBJZiBJc1N0YXRpYyBvZiBtIGlz
IGZhbHNlLCB0aGVuCisgICAgICAgIGIuIEVsc2UsCisgICAgICAgICAgIExldCBzdGF0dXMgYmUg
dGhlIHJlc3VsdCBvZiBwZXJmb3JtaW5nIFByb3BlcnR5RGVmaW5pdGlvbkV2YWx1YXRpb24KKyAg
ICAgICAgICAgZm9yIG0gd2l0aCBhcmd1bWVudHMgRiBhbmQgZmFsc2UuCisgICAgWy4uLl0KKwor
ICAgIFJ1bnRpbWUgU2VtYW50aWNzOiBQcm9wZXJ0eURlZmluaXRpb25FdmFsdWF0aW9uCisKKyAg
ICBBc3luY0dlbmVyYXRvck1ldGhvZCA6CisgICAgICAgIGFzeW5jIFtubyBMaW5lVGVybWluYXRv
ciBoZXJlXSAqIFByb3BlcnR5TmFtZSAoIFVuaXF1ZUZvcm1hbFBhcmFtZXRlcnMgKQorICAgICAg
ICAgICAgeyBBc3luY0dlbmVyYXRvckJvZHkgfQorCisgICAgMS4gTGV0IHByb3BLZXkgYmUgdGhl
IHJlc3VsdCBvZiBldmFsdWF0aW5nIFByb3BlcnR5TmFtZS4KKyAgICAyLiBSZXR1cm5JZkFicnVw
dChwcm9wS2V5KS4KKyAgICAzLiBJZiB0aGUgZnVuY3Rpb24gY29kZSBmb3IgdGhpcyBBc3luY0dl
bmVyYXRvck1ldGhvZCBpcyBzdHJpY3QgbW9kZSBjb2RlLCBsZXQgc3RyaWN0IGJlIHRydWUuCisg
ICAgICAgT3RoZXJ3aXNlIGxldCBzdHJpY3QgYmUgZmFsc2UuCisgICAgNC4gTGV0IHNjb3BlIGJl
IHRoZSBydW5uaW5nIGV4ZWN1dGlvbiBjb250ZXh0J3MgTGV4aWNhbEVudmlyb25tZW50LgorICAg
IDUuIExldCBjbG9zdXJlIGJlICEgQXN5bmNHZW5lcmF0b3JGdW5jdGlvbkNyZWF0ZShNZXRob2Qs
IFVuaXF1ZUZvcm1hbFBhcmFtZXRlcnMsCisgICAgICAgQXN5bmNHZW5lcmF0b3JCb2R5LCBzY29w
ZSwgc3RyaWN0KS4KKyAgICBbLi4uXQorCisKKyAgICBSdW50aW1lIFNlbWFudGljczogSXRlcmF0
b3JCaW5kaW5nSW5pdGlhbGl6YXRpb24KKworICAgIFNpbmdsZU5hbWVCaW5kaW5nIDogQmluZGlu
Z0lkZW50aWZpZXIgSW5pdGlhbGl6ZXJfb3B0CisKKyAgICAxLiBMZXQgYmluZGluZ0lkIGJlIFN0
cmluZ1ZhbHVlIG9mIEJpbmRpbmdJZGVudGlmaWVyLgorICAgIDIuIExldCBsaHMgYmUgPyBSZXNv
bHZlQmluZGluZyhiaW5kaW5nSWQsIGVudmlyb25tZW50KS4KKyAgICAzLiBJZiBpdGVyYXRvclJl
Y29yZC5bW0RvbmVdXSBpcyBmYWxzZSwgdGhlbgorICAgICAgICBhLiBMZXQgbmV4dCBiZSBJdGVy
YXRvclN0ZXAoaXRlcmF0b3JSZWNvcmQpLgorICAgICAgICBiLiBJZiBuZXh0IGlzIGFuIGFicnVw
dCBjb21wbGV0aW9uLCBzZXQgaXRlcmF0b3JSZWNvcmQuW1tEb25lXV0gdG8gdHJ1ZS4KKyAgICAg
ICAgYy4gUmV0dXJuSWZBYnJ1cHQobmV4dCkuCisgICAgICAgIGQuIElmIG5leHQgaXMgZmFsc2Us
IHNldCBpdGVyYXRvclJlY29yZC5bW0RvbmVdXSB0byB0cnVlLgorICAgICAgICBlLiBFbHNlLAor
ICAgICAgICAgICAgaS4gTGV0IHYgYmUgSXRlcmF0b3JWYWx1ZShuZXh0KS4KKyAgICAgICAgICAg
IGlpLiBJZiB2IGlzIGFuIGFicnVwdCBjb21wbGV0aW9uLCBzZXQgaXRlcmF0b3JSZWNvcmQuW1tE
b25lXV0gdG8gdHJ1ZS4KKyAgICAgICAgICAgIGlpaS4gUmV0dXJuSWZBYnJ1cHQodikuCisgICAg
Wy4uLl0KKyAgICA3LiBSZXR1cm4gSW5pdGlhbGl6ZVJlZmVyZW5jZWRCaW5kaW5nKGxocywgdiku
CisKKy0tLSovCitBcnJheS5wcm90b3R5cGVbU3ltYm9sLml0ZXJhdG9yXSA9IGZ1bmN0aW9uKiAo
KSB7CisgICAgaWYgKHRoaXMubGVuZ3RoID4gMCkgeworICAgICAgICB5aWVsZCB0aGlzWzBdOwor
ICAgIH0KKyAgICBpZiAodGhpcy5sZW5ndGggPiAxKSB7CisgICAgICAgIHlpZWxkIHRoaXNbMV07
CisgICAgfQorICAgIGlmICh0aGlzLmxlbmd0aCA+IDIpIHsKKyAgICAgICAgeWllbGQgNDI7Cisg
ICAgfQorfTsKKworCit2YXIgY2FsbENvdW50ID0gMDsKK3ZhciBDID0gY2xhc3MgeworICBzdGF0
aWMgYXN5bmMgKm1ldGhvZChbeCwgeSwgel0pIHsKKyAgICBhc3NlcnQuc2FtZVZhbHVlKHgsIDEp
OworICAgIGFzc2VydC5zYW1lVmFsdWUoeSwgMik7CisgICAgYXNzZXJ0LnNhbWVWYWx1ZSh6LCA0
Mik7CisgICAgY2FsbENvdW50ID0gY2FsbENvdW50ICsgMTsKKyAgfQorfTsKKworQy5tZXRob2Qo
WzEsIDIsIDNdKS5uZXh0KCkudGhlbigoKSA9PiB7CisgICAgYXNzZXJ0LnNhbWVWYWx1ZShjYWxs
Q291bnQsIDEsICdpbnZva2VkIGV4YWN0bHkgb25jZScpOyAgICAKK30pLnRoZW4oJERPTkUsICRE
T05FKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Np
b25zL2NsYXNzL2RzdHIvYXN5bmMtZ2VuLW1ldGgtc3RhdGljLWFyeS1wdHJuLXJlc3QtaWQtZGly
ZWN0LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3Mv
ZHN0ci9hc3luYy1nZW4tbWV0aC1zdGF0aWMtYXJ5LXB0cm4tcmVzdC1pZC1kaXJlY3QuanMKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNzc2ZThiMDE2Njc4ZDI5NWRiYTAxODAwNDdhODczZjJkN2Q3ZGM1OQotLS0gL2Rl
di9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2Ns
YXNzL2RzdHIvYXN5bmMtZ2VuLW1ldGgtc3RhdGljLWFyeS1wdHJuLXJlc3QtaWQtZGlyZWN0Lmpz
CkBAIC0wLDAgKzEsNzAgQEAKKy8vIFRoaXMgZmlsZSB3YXMgcHJvY2VkdXJhbGx5IGdlbmVyYXRl
ZCBmcm9tIHRoZSBmb2xsb3dpbmcgc291cmNlczoKKy8vIC0gc3JjL2RzdHItYmluZGluZy9hcnkt
cHRybi1yZXN0LWlkLWRpcmVjdC5jYXNlCisvLyAtIHNyYy9kc3RyLWJpbmRpbmcvZGVmYXVsdC9j
bHMtZXhwci1hc3luYy1nZW4tbWV0aC1zdGF0aWMudGVtcGxhdGUKKy8qLS0tCitkZXNjcmlwdGlv
bjogTG9uZSByZXN0IGVsZW1lbnQgKGRpcmVjdCBiaW5kaW5nKSAoc3RhdGljIGNsYXNzIGV4cHJl
c3Npb24gYXN5bmMgZ2VuZXJhdG9yIG1ldGhvZCkKK2VzaWQ6IHNlYy1jbGFzcy1kZWZpbml0aW9u
cy1ydW50aW1lLXNlbWFudGljcy1ldmFsdWF0aW9uCitmZWF0dXJlczogW2FzeW5jLWl0ZXJhdGlv
bl0KK2ZsYWdzOiBbZ2VuZXJhdGVkLCBhc3luY10KK2luY2x1ZGVzOiBbY29tcGFyZUFycmF5Lmpz
XQoraW5mbzogfAorICAgIENsYXNzRXhwcmVzc2lvbiA6IGNsYXNzIEJpbmRpbmdJZGVudGlmaWVy
b3B0IENsYXNzVGFpbAorCisgICAgMS4gSWYgQmluZGluZ0lkZW50aWZpZXJvcHQgaXMgbm90IHBy
ZXNlbnQsIGxldCBjbGFzc05hbWUgYmUgdW5kZWZpbmVkLgorICAgIDIuIEVsc2UsIGxldCBjbGFz
c05hbWUgYmUgU3RyaW5nVmFsdWUgb2YgQmluZGluZ0lkZW50aWZpZXIuCisgICAgMy4gTGV0IHZh
bHVlIGJlIHRoZSByZXN1bHQgb2YgQ2xhc3NEZWZpbml0aW9uRXZhbHVhdGlvbiBvZiBDbGFzc1Rh
aWwKKyAgICAgICB3aXRoIGFyZ3VtZW50IGNsYXNzTmFtZS4KKyAgICBbLi4uXQorCisgICAgMTQu
NS4xNCBSdW50aW1lIFNlbWFudGljczogQ2xhc3NEZWZpbml0aW9uRXZhbHVhdGlvbgorCisgICAg
MjEuIEZvciBlYWNoIENsYXNzRWxlbWVudCBtIGluIG9yZGVyIGZyb20gbWV0aG9kcworICAgICAg
ICBhLiBJZiBJc1N0YXRpYyBvZiBtIGlzIGZhbHNlLCB0aGVuCisgICAgICAgIGIuIEVsc2UsCisg
ICAgICAgICAgIExldCBzdGF0dXMgYmUgdGhlIHJlc3VsdCBvZiBwZXJmb3JtaW5nIFByb3BlcnR5
RGVmaW5pdGlvbkV2YWx1YXRpb24KKyAgICAgICAgICAgZm9yIG0gd2l0aCBhcmd1bWVudHMgRiBh
bmQgZmFsc2UuCisgICAgWy4uLl0KKworICAgIFJ1bnRpbWUgU2VtYW50aWNzOiBQcm9wZXJ0eURl
ZmluaXRpb25FdmFsdWF0aW9uCisKKyAgICBBc3luY0dlbmVyYXRvck1ldGhvZCA6CisgICAgICAg
IGFzeW5jIFtubyBMaW5lVGVybWluYXRvciBoZXJlXSAqIFByb3BlcnR5TmFtZSAoIFVuaXF1ZUZv
cm1hbFBhcmFtZXRlcnMgKQorICAgICAgICAgICAgeyBBc3luY0dlbmVyYXRvckJvZHkgfQorCisg
ICAgMS4gTGV0IHByb3BLZXkgYmUgdGhlIHJlc3VsdCBvZiBldmFsdWF0aW5nIFByb3BlcnR5TmFt
ZS4KKyAgICAyLiBSZXR1cm5JZkFicnVwdChwcm9wS2V5KS4KKyAgICAzLiBJZiB0aGUgZnVuY3Rp
b24gY29kZSBmb3IgdGhpcyBBc3luY0dlbmVyYXRvck1ldGhvZCBpcyBzdHJpY3QgbW9kZSBjb2Rl
LCBsZXQgc3RyaWN0IGJlIHRydWUuCisgICAgICAgT3RoZXJ3aXNlIGxldCBzdHJpY3QgYmUgZmFs
c2UuCisgICAgNC4gTGV0IHNjb3BlIGJlIHRoZSBydW5uaW5nIGV4ZWN1dGlvbiBjb250ZXh0J3Mg
TGV4aWNhbEVudmlyb25tZW50LgorICAgIDUuIExldCBjbG9zdXJlIGJlICEgQXN5bmNHZW5lcmF0
b3JGdW5jdGlvbkNyZWF0ZShNZXRob2QsIFVuaXF1ZUZvcm1hbFBhcmFtZXRlcnMsCisgICAgICAg
QXN5bmNHZW5lcmF0b3JCb2R5LCBzY29wZSwgc3RyaWN0KS4KKyAgICBbLi4uXQorCisKKyAgICBS
dW50aW1lIFNlbWFudGljczogSXRlcmF0b3JCaW5kaW5nSW5pdGlhbGl6YXRpb24KKworICAgIEJp
bmRpbmdSZXN0RWxlbWVudCA6IC4uLiBCaW5kaW5nSWRlbnRpZmllcgorCisgICAgWy4uLl0KKyAg
ICAyLiBMZXQgQSBiZSAhIEFycmF5Q3JlYXRlKDApLgorICAgIDMuIExldCBuIGJlIDAuCisgICAg
NC4gUmVwZWF0LAorICAgICAgICBbLi4uXQorICAgICAgICBmLiBQZXJmb3JtICEgQ3JlYXRlRGF0
YVByb3BlcnR5T3JUaHJvdyhBLCAhIFRvU3RyaW5nKG4pLCBuZXh0VmFsdWUpLgorICAgICAgICBn
LiBTZXQgbiB0byBuICsgMS4KKworLS0tKi8KKworCit2YXIgY2FsbENvdW50ID0gMDsKK3ZhciBD
ID0gY2xhc3MgeworICBzdGF0aWMgYXN5bmMgKm1ldGhvZChbLi4ueF0pIHsKKyAgICBhc3NlcnQo
QXJyYXkuaXNBcnJheSh4KSk7CisgICAgYXNzZXJ0LmNvbXBhcmVBcnJheSh4LCBbMV0pOworICAg
IGNhbGxDb3VudCA9IGNhbGxDb3VudCArIDE7CisgIH0KK307CisKK0MubWV0aG9kKFsxXSkubmV4
dCgpLnRoZW4oKCkgPT4geworICAgIGFzc2VydC5zYW1lVmFsdWUoY2FsbENvdW50LCAxLCAnaW52
b2tlZCBleGFjdGx5IG9uY2UnKTsgICAgCit9KS50aGVuKCRET05FLCAkRE9ORSk7CmRpZmYgLS1n
aXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9kc3Ry
L2FzeW5jLWdlbi1tZXRoLXN0YXRpYy1kZmx0LWFyeS1pbml0LWl0ZXItZ2V0LWVyci1hcnJheS1w
cm90b3R5cGUuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9j
bGFzcy9kc3RyL2FzeW5jLWdlbi1tZXRoLXN0YXRpYy1kZmx0LWFyeS1pbml0LWl0ZXItZ2V0LWVy
ci1hcnJheS1wcm90b3R5cGUuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmJjMDY0NWE2Njg1NGUwOThhYTNhOWNk
ODliNGIwYWM4YTFlNmVhZQotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2RzdHIvYXN5bmMtZ2VuLW1ldGgtc3RhdGljLWRm
bHQtYXJ5LWluaXQtaXRlci1nZXQtZXJyLWFycmF5LXByb3RvdHlwZS5qcwpAQCAtMCwwICsxLDcy
IEBACisvLyBUaGlzIGZpbGUgd2FzIHByb2NlZHVyYWxseSBnZW5lcmF0ZWQgZnJvbSB0aGUgZm9s
bG93aW5nIHNvdXJjZXM6CisvLyAtIHNyYy9kc3RyLWJpbmRpbmcvYXJ5LWluaXQtaXRlci1nZXQt
ZXJyLWFycmF5LXByb3RvdHlwZS5jYXNlCisvLyAtIHNyYy9kc3RyLWJpbmRpbmcvZXJyb3IvY2xz
LWV4cHItYXN5bmMtZ2VuLW1ldGgtc3RhdGljLWRmbHQudGVtcGxhdGUKKy8qLS0tCitkZXNjcmlw
dGlvbjogQWJydXB0IGNvbXBsZXRpb24gcmV0dXJuZWQgYnkgR2V0SXRlcmF0b3IgKHN0YXRpYyBj
bGFzcyBleHByZXNzaW9uIGFzeW5jIGdlbmVyYXRvciBtZXRob2QgKGRlZmF1bHQgcGFyYW1ldGVy
KSkKK2VzaWQ6IHNlYy1jbGFzcy1kZWZpbml0aW9ucy1ydW50aW1lLXNlbWFudGljcy1ldmFsdWF0
aW9uCitmZWF0dXJlczogW1N5bWJvbC5pdGVyYXRvciwgYXN5bmMtaXRlcmF0aW9uXQorZmxhZ3M6
IFtnZW5lcmF0ZWRdCitpbmZvOiB8CisgICAgQ2xhc3NFeHByZXNzaW9uIDogY2xhc3MgQmluZGlu
Z0lkZW50aWZpZXJvcHQgQ2xhc3NUYWlsCisKKyAgICAxLiBJZiBCaW5kaW5nSWRlbnRpZmllcm9w
dCBpcyBub3QgcHJlc2VudCwgbGV0IGNsYXNzTmFtZSBiZSB1bmRlZmluZWQuCisgICAgMi4gRWxz
ZSwgbGV0IGNsYXNzTmFtZSBiZSBTdHJpbmdWYWx1ZSBvZiBCaW5kaW5nSWRlbnRpZmllci4KKyAg
ICAzLiBMZXQgdmFsdWUgYmUgdGhlIHJlc3VsdCBvZiBDbGFzc0RlZmluaXRpb25FdmFsdWF0aW9u
IG9mIENsYXNzVGFpbAorICAgICAgIHdpdGggYXJndW1lbnQgY2xhc3NOYW1lLgorICAgIFsuLi5d
CisKKyAgICAxNC41LjE0IFJ1bnRpbWUgU2VtYW50aWNzOiBDbGFzc0RlZmluaXRpb25FdmFsdWF0
aW9uCisKKyAgICAyMS4gRm9yIGVhY2ggQ2xhc3NFbGVtZW50IG0gaW4gb3JkZXIgZnJvbSBtZXRo
b2RzCisgICAgICAgIGEuIElmIElzU3RhdGljIG9mIG0gaXMgZmFsc2UsIHRoZW4KKyAgICAgICAg
Yi4gRWxzZSwKKyAgICAgICAgICAgTGV0IHN0YXR1cyBiZSB0aGUgcmVzdWx0IG9mIHBlcmZvcm1p
bmcgUHJvcGVydHlEZWZpbml0aW9uRXZhbHVhdGlvbgorICAgICAgICAgICBmb3IgbSB3aXRoIGFy
Z3VtZW50cyBGIGFuZCBmYWxzZS4KKyAgICBbLi4uXQorCisgICAgUnVudGltZSBTZW1hbnRpY3M6
IFByb3BlcnR5RGVmaW5pdGlvbkV2YWx1YXRpb24KKworICAgIEFzeW5jR2VuZXJhdG9yTWV0aG9k
IDoKKyAgICAgICAgYXN5bmMgW25vIExpbmVUZXJtaW5hdG9yIGhlcmVdICogUHJvcGVydHlOYW1l
ICggVW5pcXVlRm9ybWFsUGFyYW1ldGVycyApCisgICAgICAgICAgICB7IEFzeW5jR2VuZXJhdG9y
Qm9keSB9CisKKyAgICAxLiBMZXQgcHJvcEtleSBiZSB0aGUgcmVzdWx0IG9mIGV2YWx1YXRpbmcg
UHJvcGVydHlOYW1lLgorICAgIDIuIFJldHVybklmQWJydXB0KHByb3BLZXkpLgorICAgIDMuIElm
IHRoZSBmdW5jdGlvbiBjb2RlIGZvciB0aGlzIEFzeW5jR2VuZXJhdG9yTWV0aG9kIGlzIHN0cmlj
dCBtb2RlIGNvZGUsIGxldCBzdHJpY3QgYmUgdHJ1ZS4KKyAgICAgICBPdGhlcndpc2UgbGV0IHN0
cmljdCBiZSBmYWxzZS4KKyAgICA0LiBMZXQgc2NvcGUgYmUgdGhlIHJ1bm5pbmcgZXhlY3V0aW9u
IGNvbnRleHQncyBMZXhpY2FsRW52aXJvbm1lbnQuCisgICAgNS4gTGV0IGNsb3N1cmUgYmUgISBB
c3luY0dlbmVyYXRvckZ1bmN0aW9uQ3JlYXRlKE1ldGhvZCwgVW5pcXVlRm9ybWFsUGFyYW1ldGVy
cywKKyAgICAgICBBc3luY0dlbmVyYXRvckJvZHksIHNjb3BlLCBzdHJpY3QpLgorICAgIFsuLi5d
CisKKyAgICBSdW50aW1lIFNlbWFudGljczogQmluZGluZ0luaXRpYWxpemF0aW9uCisKKyAgICBC
aW5kaW5nUGF0dGVybiA6IEFycmF5QmluZGluZ1BhdHRlcm4KKworICAgIDEuIExldCBpdGVyYXRv
clJlY29yZCBiZSA/IEdldEl0ZXJhdG9yKHZhbHVlKS4KKworICAgIEdldEl0ZXJhdG9yICggb2Jq
IFsgLCBoaW50IFsgLCBtZXRob2QgXSBdICkKKworICAgIFsuLi5dCisgICAgNC4gTGV0IGl0ZXJh
dG9yIGJlID8gQ2FsbChtZXRob2QsIG9iaikuCisKKyAgICBDYWxsICggRiwgViBbICwgYXJndW1l
bnRzTGlzdCBdICkKKworICAgIFsuLi5dCisgICAgMi4gSWYgSXNDYWxsYWJsZShGKSBpcyBmYWxz
ZSwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgorCistLS0qLworZGVsZXRlIEFycmF5LnBy
b3RvdHlwZVtTeW1ib2wuaXRlcmF0b3JdOworCisKK3ZhciBDID0gY2xhc3MgeworICBzdGF0aWMg
YXN5bmMgKm1ldGhvZChbeCwgeSwgel0gPSBbMSwgMiwgM10pIHsKKyAgICAKKyAgfQorfTsKKwor
dmFyIG1ldGhvZCA9IEMubWV0aG9kOworCithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgZnVuY3Rp
b24oKSB7CisgIG1ldGhvZCgpOworfSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9kc3RyL2FzeW5jLWdlbi1tZXRoLXN0YXRpYy1k
Zmx0LWFyeS1wdHJuLWVsZW0taWQtaXRlci12YWwtYXJyYXktcHJvdG90eXBlLmpzIGIvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvZHN0ci9hc3luYy1nZW4t
bWV0aC1zdGF0aWMtZGZsdC1hcnktcHRybi1lbGVtLWlkLWl0ZXItdmFsLWFycmF5LXByb3RvdHlw
ZS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi41M2QzNjFkYTYxYjIzNTZhMjUxZjFjYzNmNTkzMzNmMTBjNzI1ZDU3
Ci0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVz
c2lvbnMvY2xhc3MvZHN0ci9hc3luYy1nZW4tbWV0aC1zdGF0aWMtZGZsdC1hcnktcHRybi1lbGVt
LWlkLWl0ZXItdmFsLWFycmF5LXByb3RvdHlwZS5qcwpAQCAtMCwwICsxLDg3IEBACisvLyBUaGlz
IGZpbGUgd2FzIHByb2NlZHVyYWxseSBnZW5lcmF0ZWQgZnJvbSB0aGUgZm9sbG93aW5nIHNvdXJj
ZXM6CisvLyAtIHNyYy9kc3RyLWJpbmRpbmcvYXJ5LXB0cm4tZWxlbS1pZC1pdGVyLXZhbC1hcnJh
eS1wcm90b3R5cGUuY2FzZQorLy8gLSBzcmMvZHN0ci1iaW5kaW5nL2RlZmF1bHQvY2xzLWV4cHIt
YXN5bmMtZ2VuLW1ldGgtc3RhdGljLWRmbHQudGVtcGxhdGUKKy8qLS0tCitkZXNjcmlwdGlvbjog
QXJyYXkgZGVzdHJ1Y3R1cmluZyB1c2VzIG92ZXJyaWRlbiBBcnJheS5wcm90b3R5cGVbU3ltYm9s
Lml0ZXJhdG9yXSAoc3RhdGljIGNsYXNzIGV4cHJlc3Npb24gYXN5bmMgZ2VuZXJhdG9yIG1ldGhv
ZCAoZGVmYXVsdCBwYXJhbWV0ZXIpKQorZXNpZDogc2VjLWNsYXNzLWRlZmluaXRpb25zLXJ1bnRp
bWUtc2VtYW50aWNzLWV2YWx1YXRpb24KK2ZlYXR1cmVzOiBbU3ltYm9sLml0ZXJhdG9yLCBnZW5l
cmF0b3JzLCBhc3luYy1pdGVyYXRpb25dCitmbGFnczogW2dlbmVyYXRlZCwgYXN5bmNdCitpbmZv
OiB8CisgICAgQ2xhc3NFeHByZXNzaW9uIDogY2xhc3MgQmluZGluZ0lkZW50aWZpZXJvcHQgQ2xh
c3NUYWlsCisKKyAgICAxLiBJZiBCaW5kaW5nSWRlbnRpZmllcm9wdCBpcyBub3QgcHJlc2VudCwg
bGV0IGNsYXNzTmFtZSBiZSB1bmRlZmluZWQuCisgICAgMi4gRWxzZSwgbGV0IGNsYXNzTmFtZSBi
ZSBTdHJpbmdWYWx1ZSBvZiBCaW5kaW5nSWRlbnRpZmllci4KKyAgICAzLiBMZXQgdmFsdWUgYmUg
dGhlIHJlc3VsdCBvZiBDbGFzc0RlZmluaXRpb25FdmFsdWF0aW9uIG9mIENsYXNzVGFpbAorICAg
ICAgIHdpdGggYXJndW1lbnQgY2xhc3NOYW1lLgorICAgIFsuLi5dCisKKyAgICAxNC41LjE0IFJ1
bnRpbWUgU2VtYW50aWNzOiBDbGFzc0RlZmluaXRpb25FdmFsdWF0aW9uCisKKyAgICAyMS4gRm9y
IGVhY2ggQ2xhc3NFbGVtZW50IG0gaW4gb3JkZXIgZnJvbSBtZXRob2RzCisgICAgICAgIGEuIElm
IElzU3RhdGljIG9mIG0gaXMgZmFsc2UsIHRoZW4KKyAgICAgICAgYi4gRWxzZSwKKyAgICAgICAg
ICAgTGV0IHN0YXR1cyBiZSB0aGUgcmVzdWx0IG9mIHBlcmZvcm1pbmcgUHJvcGVydHlEZWZpbml0
aW9uRXZhbHVhdGlvbgorICAgICAgICAgICBmb3IgbSB3aXRoIGFyZ3VtZW50cyBGIGFuZCBmYWxz
ZS4KKyAgICBbLi4uXQorCisgICAgUnVudGltZSBTZW1hbnRpY3M6IFByb3BlcnR5RGVmaW5pdGlv
bkV2YWx1YXRpb24KKworICAgIEFzeW5jR2VuZXJhdG9yTWV0aG9kIDoKKyAgICAgICAgYXN5bmMg
W25vIExpbmVUZXJtaW5hdG9yIGhlcmVdICogUHJvcGVydHlOYW1lICggVW5pcXVlRm9ybWFsUGFy
YW1ldGVycyApCisgICAgICAgICAgICB7IEFzeW5jR2VuZXJhdG9yQm9keSB9CisKKyAgICAxLiBM
ZXQgcHJvcEtleSBiZSB0aGUgcmVzdWx0IG9mIGV2YWx1YXRpbmcgUHJvcGVydHlOYW1lLgorICAg
IDIuIFJldHVybklmQWJydXB0KHByb3BLZXkpLgorICAgIDMuIElmIHRoZSBmdW5jdGlvbiBjb2Rl
IGZvciB0aGlzIEFzeW5jR2VuZXJhdG9yTWV0aG9kIGlzIHN0cmljdCBtb2RlIGNvZGUsIGxldCBz
dHJpY3QgYmUgdHJ1ZS4KKyAgICAgICBPdGhlcndpc2UgbGV0IHN0cmljdCBiZSBmYWxzZS4KKyAg
ICA0LiBMZXQgc2NvcGUgYmUgdGhlIHJ1bm5pbmcgZXhlY3V0aW9uIGNvbnRleHQncyBMZXhpY2Fs
RW52aXJvbm1lbnQuCisgICAgNS4gTGV0IGNsb3N1cmUgYmUgISBBc3luY0dlbmVyYXRvckZ1bmN0
aW9uQ3JlYXRlKE1ldGhvZCwgVW5pcXVlRm9ybWFsUGFyYW1ldGVycywKKyAgICAgICBBc3luY0dl
bmVyYXRvckJvZHksIHNjb3BlLCBzdHJpY3QpLgorICAgIFsuLi5dCisKKworICAgIFJ1bnRpbWUg
U2VtYW50aWNzOiBJdGVyYXRvckJpbmRpbmdJbml0aWFsaXphdGlvbgorCisgICAgU2luZ2xlTmFt
ZUJpbmRpbmcgOiBCaW5kaW5nSWRlbnRpZmllciBJbml0aWFsaXplcl9vcHQKKworICAgIDEuIExl
dCBiaW5kaW5nSWQgYmUgU3RyaW5nVmFsdWUgb2YgQmluZGluZ0lkZW50aWZpZXIuCisgICAgMi4g
TGV0IGxocyBiZSA/IFJlc29sdmVCaW5kaW5nKGJpbmRpbmdJZCwgZW52aXJvbm1lbnQpLgorICAg
IDMuIElmIGl0ZXJhdG9yUmVjb3JkLltbRG9uZV1dIGlzIGZhbHNlLCB0aGVuCisgICAgICAgIGEu
IExldCBuZXh0IGJlIEl0ZXJhdG9yU3RlcChpdGVyYXRvclJlY29yZCkuCisgICAgICAgIGIuIElm
IG5leHQgaXMgYW4gYWJydXB0IGNvbXBsZXRpb24sIHNldCBpdGVyYXRvclJlY29yZC5bW0RvbmVd
XSB0byB0cnVlLgorICAgICAgICBjLiBSZXR1cm5JZkFicnVwdChuZXh0KS4KKyAgICAgICAgZC4g
SWYgbmV4dCBpcyBmYWxzZSwgc2V0IGl0ZXJhdG9yUmVjb3JkLltbRG9uZV1dIHRvIHRydWUuCisg
ICAgICAgIGUuIEVsc2UsCisgICAgICAgICAgICBpLiBMZXQgdiBiZSBJdGVyYXRvclZhbHVlKG5l
eHQpLgorICAgICAgICAgICAgaWkuIElmIHYgaXMgYW4gYWJydXB0IGNvbXBsZXRpb24sIHNldCBp
dGVyYXRvclJlY29yZC5bW0RvbmVdXSB0byB0cnVlLgorICAgICAgICAgICAgaWlpLiBSZXR1cm5J
ZkFicnVwdCh2KS4KKyAgICBbLi4uXQorICAgIDcuIFJldHVybiBJbml0aWFsaXplUmVmZXJlbmNl
ZEJpbmRpbmcobGhzLCB2KS4KKworLS0tKi8KK0FycmF5LnByb3RvdHlwZVtTeW1ib2wuaXRlcmF0
b3JdID0gZnVuY3Rpb24qICgpIHsKKyAgICBpZiAodGhpcy5sZW5ndGggPiAwKSB7CisgICAgICAg
IHlpZWxkIHRoaXNbMF07CisgICAgfQorICAgIGlmICh0aGlzLmxlbmd0aCA+IDEpIHsKKyAgICAg
ICAgeWllbGQgdGhpc1sxXTsKKyAgICB9CisgICAgaWYgKHRoaXMubGVuZ3RoID4gMikgeworICAg
ICAgICB5aWVsZCA0MjsKKyAgICB9Cit9OworCisKK3ZhciBjYWxsQ291bnQgPSAwOwordmFyIEMg
PSBjbGFzcyB7CisgIHN0YXRpYyBhc3luYyAqbWV0aG9kKFt4LCB5LCB6XSA9IFsxLCAyLCAzXSkg
eworICAgIGFzc2VydC5zYW1lVmFsdWUoeCwgMSk7CisgICAgYXNzZXJ0LnNhbWVWYWx1ZSh5LCAy
KTsKKyAgICBhc3NlcnQuc2FtZVZhbHVlKHosIDQyKTsKKyAgICBjYWxsQ291bnQgPSBjYWxsQ291
bnQgKyAxOworICB9Cit9OworCitDLm1ldGhvZCgpLm5leHQoKS50aGVuKCgpID0+IHsKKyAgICBh
c3NlcnQuc2FtZVZhbHVlKGNhbGxDb3VudCwgMSwgJ2ludm9rZWQgZXhhY3RseSBvbmNlJyk7ICAg
IAorfSkudGhlbigkRE9ORSwgJERPTkUpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvZHN0ci9hc3luYy1nZW4tbWV0aC1zdGF0aWMt
ZGZsdC1hcnktcHRybi1yZXN0LWlkLWRpcmVjdC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xh
bmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2RzdHIvYXN5bmMtZ2VuLW1ldGgtc3RhdGljLWRmbHQt
YXJ5LXB0cm4tcmVzdC1pZC1kaXJlY3QuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGIyYzI2ZjQzMzMxMmQ1NjYw
YWI3MDRlOTExMDc4N2MwMWJiYmIzZAotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2RzdHIvYXN5bmMtZ2VuLW1ldGgtc3Rh
dGljLWRmbHQtYXJ5LXB0cm4tcmVzdC1pZC1kaXJlY3QuanMKQEAgLTAsMCArMSw3MCBAQAorLy8g
VGhpcyBmaWxlIHdhcyBwcm9jZWR1cmFsbHkgZ2VuZXJhdGVkIGZyb20gdGhlIGZvbGxvd2luZyBz
b3VyY2VzOgorLy8gLSBzcmMvZHN0ci1iaW5kaW5nL2FyeS1wdHJuLXJlc3QtaWQtZGlyZWN0LmNh
c2UKKy8vIC0gc3JjL2RzdHItYmluZGluZy9kZWZhdWx0L2Nscy1leHByLWFzeW5jLWdlbi1tZXRo
LXN0YXRpYy1kZmx0LnRlbXBsYXRlCisvKi0tLQorZGVzY3JpcHRpb246IExvbmUgcmVzdCBlbGVt
ZW50IChkaXJlY3QgYmluZGluZykgKHN0YXRpYyBjbGFzcyBleHByZXNzaW9uIGFzeW5jIGdlbmVy
YXRvciBtZXRob2QgKGRlZmF1bHQgcGFyYW1ldGVyKSkKK2VzaWQ6IHNlYy1jbGFzcy1kZWZpbml0
aW9ucy1ydW50aW1lLXNlbWFudGljcy1ldmFsdWF0aW9uCitmZWF0dXJlczogW2FzeW5jLWl0ZXJh
dGlvbl0KK2ZsYWdzOiBbZ2VuZXJhdGVkLCBhc3luY10KK2luY2x1ZGVzOiBbY29tcGFyZUFycmF5
LmpzXQoraW5mbzogfAorICAgIENsYXNzRXhwcmVzc2lvbiA6IGNsYXNzIEJpbmRpbmdJZGVudGlm
aWVyb3B0IENsYXNzVGFpbAorCisgICAgMS4gSWYgQmluZGluZ0lkZW50aWZpZXJvcHQgaXMgbm90
IHByZXNlbnQsIGxldCBjbGFzc05hbWUgYmUgdW5kZWZpbmVkLgorICAgIDIuIEVsc2UsIGxldCBj
bGFzc05hbWUgYmUgU3RyaW5nVmFsdWUgb2YgQmluZGluZ0lkZW50aWZpZXIuCisgICAgMy4gTGV0
IHZhbHVlIGJlIHRoZSByZXN1bHQgb2YgQ2xhc3NEZWZpbml0aW9uRXZhbHVhdGlvbiBvZiBDbGFz
c1RhaWwKKyAgICAgICB3aXRoIGFyZ3VtZW50IGNsYXNzTmFtZS4KKyAgICBbLi4uXQorCisgICAg
MTQuNS4xNCBSdW50aW1lIFNlbWFudGljczogQ2xhc3NEZWZpbml0aW9uRXZhbHVhdGlvbgorCisg
ICAgMjEuIEZvciBlYWNoIENsYXNzRWxlbWVudCBtIGluIG9yZGVyIGZyb20gbWV0aG9kcworICAg
ICAgICBhLiBJZiBJc1N0YXRpYyBvZiBtIGlzIGZhbHNlLCB0aGVuCisgICAgICAgIGIuIEVsc2Us
CisgICAgICAgICAgIExldCBzdGF0dXMgYmUgdGhlIHJlc3VsdCBvZiBwZXJmb3JtaW5nIFByb3Bl
cnR5RGVmaW5pdGlvbkV2YWx1YXRpb24KKyAgICAgICAgICAgZm9yIG0gd2l0aCBhcmd1bWVudHMg
RiBhbmQgZmFsc2UuCisgICAgWy4uLl0KKworICAgIFJ1bnRpbWUgU2VtYW50aWNzOiBQcm9wZXJ0
eURlZmluaXRpb25FdmFsdWF0aW9uCisKKyAgICBBc3luY0dlbmVyYXRvck1ldGhvZCA6CisgICAg
ICAgIGFzeW5jIFtubyBMaW5lVGVybWluYXRvciBoZXJlXSAqIFByb3BlcnR5TmFtZSAoIFVuaXF1
ZUZvcm1hbFBhcmFtZXRlcnMgKQorICAgICAgICAgICAgeyBBc3luY0dlbmVyYXRvckJvZHkgfQor
CisgICAgMS4gTGV0IHByb3BLZXkgYmUgdGhlIHJlc3VsdCBvZiBldmFsdWF0aW5nIFByb3BlcnR5
TmFtZS4KKyAgICAyLiBSZXR1cm5JZkFicnVwdChwcm9wS2V5KS4KKyAgICAzLiBJZiB0aGUgZnVu
Y3Rpb24gY29kZSBmb3IgdGhpcyBBc3luY0dlbmVyYXRvck1ldGhvZCBpcyBzdHJpY3QgbW9kZSBj
b2RlLCBsZXQgc3RyaWN0IGJlIHRydWUuCisgICAgICAgT3RoZXJ3aXNlIGxldCBzdHJpY3QgYmUg
ZmFsc2UuCisgICAgNC4gTGV0IHNjb3BlIGJlIHRoZSBydW5uaW5nIGV4ZWN1dGlvbiBjb250ZXh0
J3MgTGV4aWNhbEVudmlyb25tZW50LgorICAgIDUuIExldCBjbG9zdXJlIGJlICEgQXN5bmNHZW5l
cmF0b3JGdW5jdGlvbkNyZWF0ZShNZXRob2QsIFVuaXF1ZUZvcm1hbFBhcmFtZXRlcnMsCisgICAg
ICAgQXN5bmNHZW5lcmF0b3JCb2R5LCBzY29wZSwgc3RyaWN0KS4KKyAgICBbLi4uXQorCisKKyAg
ICBSdW50aW1lIFNlbWFudGljczogSXRlcmF0b3JCaW5kaW5nSW5pdGlhbGl6YXRpb24KKworICAg
IEJpbmRpbmdSZXN0RWxlbWVudCA6IC4uLiBCaW5kaW5nSWRlbnRpZmllcgorCisgICAgWy4uLl0K
KyAgICAyLiBMZXQgQSBiZSAhIEFycmF5Q3JlYXRlKDApLgorICAgIDMuIExldCBuIGJlIDAuCisg
ICAgNC4gUmVwZWF0LAorICAgICAgICBbLi4uXQorICAgICAgICBmLiBQZXJmb3JtICEgQ3JlYXRl
RGF0YVByb3BlcnR5T3JUaHJvdyhBLCAhIFRvU3RyaW5nKG4pLCBuZXh0VmFsdWUpLgorICAgICAg
ICBnLiBTZXQgbiB0byBuICsgMS4KKworLS0tKi8KKworCit2YXIgY2FsbENvdW50ID0gMDsKK3Zh
ciBDID0gY2xhc3MgeworICBzdGF0aWMgYXN5bmMgKm1ldGhvZChbLi4ueF0gPSBbMV0pIHsKKyAg
ICBhc3NlcnQoQXJyYXkuaXNBcnJheSh4KSk7CisgICAgYXNzZXJ0LmNvbXBhcmVBcnJheSh4LCBb
MV0pOworICAgIGNhbGxDb3VudCA9IGNhbGxDb3VudCArIDE7CisgIH0KK307CisKK0MubWV0aG9k
KCkubmV4dCgpLnRoZW4oKCkgPT4geworICAgIGFzc2VydC5zYW1lVmFsdWUoY2FsbENvdW50LCAx
LCAnaW52b2tlZCBleGFjdGx5IG9uY2UnKTsgICAgCit9KS50aGVuKCRET05FLCAkRE9ORSk7CmRp
ZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFz
cy9kc3RyL2FzeW5jLXByaXZhdGUtZ2VuLW1ldGgtYXJ5LXB0cm4tZWxlbS1pZC1pdGVyLXZhbC1h
cnJheS1wcm90b3R5cGUuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNz
aW9ucy9jbGFzcy9kc3RyL2FzeW5jLXByaXZhdGUtZ2VuLW1ldGgtYXJ5LXB0cm4tZWxlbS1pZC1p
dGVyLXZhbC1hcnJheS1wcm90b3R5cGUuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZGUwMGVkMDViYmZjYjBiNTE1
NTFhNWY0ODc2ZDJhZGU5Y2Y4MWQwNgotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2RzdHIvYXN5bmMtcHJpdmF0ZS1nZW4t
bWV0aC1hcnktcHRybi1lbGVtLWlkLWl0ZXItdmFsLWFycmF5LXByb3RvdHlwZS5qcwpAQCAtMCww
ICsxLDkxIEBACisvLyBUaGlzIGZpbGUgd2FzIHByb2NlZHVyYWxseSBnZW5lcmF0ZWQgZnJvbSB0
aGUgZm9sbG93aW5nIHNvdXJjZXM6CisvLyAtIHNyYy9kc3RyLWJpbmRpbmcvYXJ5LXB0cm4tZWxl
bS1pZC1pdGVyLXZhbC1hcnJheS1wcm90b3R5cGUuY2FzZQorLy8gLSBzcmMvZHN0ci1iaW5kaW5n
L2RlZmF1bHQvY2xzLWV4cHItYXN5bmMtcHJpdmF0ZS1nZW4tbWV0aC50ZW1wbGF0ZQorLyotLS0K
K2Rlc2NyaXB0aW9uOiBBcnJheSBkZXN0cnVjdHVyaW5nIHVzZXMgb3ZlcnJpZGVuIEFycmF5LnBy
b3RvdHlwZVtTeW1ib2wuaXRlcmF0b3JdIChwcml2YXRlIGNsYXNzIGV4cHJlc3Npb24gbWV0aG9k
KQorZXNpZDogc2VjLWNsYXNzLWRlZmluaXRpb25zLXJ1bnRpbWUtc2VtYW50aWNzLWV2YWx1YXRp
b24KK2ZlYXR1cmVzOiBbU3ltYm9sLml0ZXJhdG9yLCBnZW5lcmF0b3JzLCBjbGFzcywgY2xhc3Mt
bWV0aG9kcy1wcml2YXRlLCBhc3luYy1pdGVyYXRpb25dCitmbGFnczogW2dlbmVyYXRlZCwgYXN5
bmNdCitpbmZvOiB8CisgICAgQ2xhc3NFeHByZXNzaW9uIDogY2xhc3MgQmluZGluZ0lkZW50aWZp
ZXJvcHQgQ2xhc3NUYWlsCisKKyAgICAxLiBJZiBCaW5kaW5nSWRlbnRpZmllcm9wdCBpcyBub3Qg
cHJlc2VudCwgbGV0IGNsYXNzTmFtZSBiZSB1bmRlZmluZWQuCisgICAgMi4gRWxzZSwgbGV0IGNs
YXNzTmFtZSBiZSBTdHJpbmdWYWx1ZSBvZiBCaW5kaW5nSWRlbnRpZmllci4KKyAgICAzLiBMZXQg
dmFsdWUgYmUgdGhlIHJlc3VsdCBvZiBDbGFzc0RlZmluaXRpb25FdmFsdWF0aW9uIG9mIENsYXNz
VGFpbAorICAgICAgIHdpdGggYXJndW1lbnQgY2xhc3NOYW1lLgorICAgIFsuLi5dCisKKyAgICAx
NC41LjE0IFJ1bnRpbWUgU2VtYW50aWNzOiBDbGFzc0RlZmluaXRpb25FdmFsdWF0aW9uCisKKyAg
ICAyMS4gRm9yIGVhY2ggQ2xhc3NFbGVtZW50IG0gaW4gb3JkZXIgZnJvbSBtZXRob2RzCisgICAg
ICAgIGEuIElmIElzU3RhdGljIG9mIG0gaXMgZmFsc2UsIHRoZW4KKyAgICAgICAgICAgaS4gTGV0
IHN0YXR1cyBiZSB0aGUgcmVzdWx0IG9mIHBlcmZvcm1pbmcKKyAgICAgICAgICAgICAgUHJvcGVy
dHlEZWZpbml0aW9uRXZhbHVhdGlvbiBmb3IgbSB3aXRoIGFyZ3VtZW50cyBwcm90byBhbmQKKyAg
ICAgICAgICAgICAgZmFsc2UuCisgICAgICAgIFsuLi5dCisKKyAgICBSdW50aW1lIFNlbWFudGlj
czogUHJvcGVydHlEZWZpbml0aW9uRXZhbHVhdGlvbgorCisgICAgQXN5bmNHZW5lcmF0b3JNZXRo
b2QgOgorICAgICAgICBhc3luYyBbbm8gTGluZVRlcm1pbmF0b3IgaGVyZV0gKiBQcm9wZXJ0eU5h
bWUgKCBVbmlxdWVGb3JtYWxQYXJhbWV0ZXJzICkKKyAgICAgICAgICAgIHsgQXN5bmNHZW5lcmF0
b3JCb2R5IH0KKworICAgIDEuIExldCBwcm9wS2V5IGJlIHRoZSByZXN1bHQgb2YgZXZhbHVhdGlu
ZyBQcm9wZXJ0eU5hbWUuCisgICAgMi4gUmV0dXJuSWZBYnJ1cHQocHJvcEtleSkuCisgICAgMy4g
SWYgdGhlIGZ1bmN0aW9uIGNvZGUgZm9yIHRoaXMgQXN5bmNHZW5lcmF0b3JNZXRob2QgaXMgc3Ry
aWN0IG1vZGUgY29kZSwgbGV0IHN0cmljdCBiZSB0cnVlLgorICAgICAgIE90aGVyd2lzZSBsZXQg
c3RyaWN0IGJlIGZhbHNlLgorICAgIDQuIExldCBzY29wZSBiZSB0aGUgcnVubmluZyBleGVjdXRp
b24gY29udGV4dCdzIExleGljYWxFbnZpcm9ubWVudC4KKyAgICA1LiBMZXQgY2xvc3VyZSBiZSAh
IEFzeW5jR2VuZXJhdG9yRnVuY3Rpb25DcmVhdGUoTWV0aG9kLCBVbmlxdWVGb3JtYWxQYXJhbWV0
ZXJzLAorICAgICAgIEFzeW5jR2VuZXJhdG9yQm9keSwgc2NvcGUsIHN0cmljdCkuCisgICAgWy4u
Ll0KKworCisgICAgUnVudGltZSBTZW1hbnRpY3M6IEl0ZXJhdG9yQmluZGluZ0luaXRpYWxpemF0
aW9uCisKKyAgICBTaW5nbGVOYW1lQmluZGluZyA6IEJpbmRpbmdJZGVudGlmaWVyIEluaXRpYWxp
emVyX29wdAorCisgICAgMS4gTGV0IGJpbmRpbmdJZCBiZSBTdHJpbmdWYWx1ZSBvZiBCaW5kaW5n
SWRlbnRpZmllci4KKyAgICAyLiBMZXQgbGhzIGJlID8gUmVzb2x2ZUJpbmRpbmcoYmluZGluZ0lk
LCBlbnZpcm9ubWVudCkuCisgICAgMy4gSWYgaXRlcmF0b3JSZWNvcmQuW1tEb25lXV0gaXMgZmFs
c2UsIHRoZW4KKyAgICAgICAgYS4gTGV0IG5leHQgYmUgSXRlcmF0b3JTdGVwKGl0ZXJhdG9yUmVj
b3JkKS4KKyAgICAgICAgYi4gSWYgbmV4dCBpcyBhbiBhYnJ1cHQgY29tcGxldGlvbiwgc2V0IGl0
ZXJhdG9yUmVjb3JkLltbRG9uZV1dIHRvIHRydWUuCisgICAgICAgIGMuIFJldHVybklmQWJydXB0
KG5leHQpLgorICAgICAgICBkLiBJZiBuZXh0IGlzIGZhbHNlLCBzZXQgaXRlcmF0b3JSZWNvcmQu
W1tEb25lXV0gdG8gdHJ1ZS4KKyAgICAgICAgZS4gRWxzZSwKKyAgICAgICAgICAgIGkuIExldCB2
IGJlIEl0ZXJhdG9yVmFsdWUobmV4dCkuCisgICAgICAgICAgICBpaS4gSWYgdiBpcyBhbiBhYnJ1
cHQgY29tcGxldGlvbiwgc2V0IGl0ZXJhdG9yUmVjb3JkLltbRG9uZV1dIHRvIHRydWUuCisgICAg
ICAgICAgICBpaWkuIFJldHVybklmQWJydXB0KHYpLgorICAgIFsuLi5dCisgICAgNy4gUmV0dXJu
IEluaXRpYWxpemVSZWZlcmVuY2VkQmluZGluZyhsaHMsIHYpLgorCistLS0qLworQXJyYXkucHJv
dG90eXBlW1N5bWJvbC5pdGVyYXRvcl0gPSBmdW5jdGlvbiogKCkgeworICAgIGlmICh0aGlzLmxl
bmd0aCA+IDApIHsKKyAgICAgICAgeWllbGQgdGhpc1swXTsKKyAgICB9CisgICAgaWYgKHRoaXMu
bGVuZ3RoID4gMSkgeworICAgICAgICB5aWVsZCB0aGlzWzFdOworICAgIH0KKyAgICBpZiAodGhp
cy5sZW5ndGggPiAyKSB7CisgICAgICAgIHlpZWxkIDQyOworICAgIH0KK307CisKKwordmFyIGNh
bGxDb3VudCA9IDA7Cit2YXIgQyA9IGNsYXNzIHsKKyAgYXN5bmMgKiAjbWV0aG9kKFt4LCB5LCB6
XSkgeworICAgIGFzc2VydC5zYW1lVmFsdWUoeCwgMSk7CisgICAgYXNzZXJ0LnNhbWVWYWx1ZSh5
LCAyKTsKKyAgICBhc3NlcnQuc2FtZVZhbHVlKHosIDQyKTsKKyAgICBjYWxsQ291bnQgPSBjYWxs
Q291bnQgKyAxOworICB9CisKKyAgZ2V0IG1ldGhvZCgpIHsKKyAgICByZXR1cm4gdGhpcy4jbWV0
aG9kOworICB9Cit9OworCituZXcgQygpLm1ldGhvZChbMSwgMiwgM10pLm5leHQoKS50aGVuKCgp
ID0+IHsKKyAgICBhc3NlcnQuc2FtZVZhbHVlKGNhbGxDb3VudCwgMSwgJ2ludm9rZWQgZXhhY3Rs
eSBvbmNlJyk7ICAgIAorfSkudGhlbigkRE9ORSwgJERPTkUpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvZHN0ci9hc3luYy1wcml2
YXRlLWdlbi1tZXRoLWFyeS1wdHJuLXJlc3QtaWQtZGlyZWN0LmpzIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvZHN0ci9hc3luYy1wcml2YXRlLWdlbi1t
ZXRoLWFyeS1wdHJuLXJlc3QtaWQtZGlyZWN0LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU3ZDkxNTUyYTIwM2E0
YmYxZjYyMjFhNzgxODg0NjBmNzU0ZDZkYzUKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9kc3RyL2FzeW5jLXByaXZhdGUt
Z2VuLW1ldGgtYXJ5LXB0cm4tcmVzdC1pZC1kaXJlY3QuanMKQEAgLTAsMCArMSw3NCBAQAorLy8g
VGhpcyBmaWxlIHdhcyBwcm9jZWR1cmFsbHkgZ2VuZXJhdGVkIGZyb20gdGhlIGZvbGxvd2luZyBz
b3VyY2VzOgorLy8gLSBzcmMvZHN0ci1iaW5kaW5nL2FyeS1wdHJuLXJlc3QtaWQtZGlyZWN0LmNh
c2UKKy8vIC0gc3JjL2RzdHItYmluZGluZy9kZWZhdWx0L2Nscy1leHByLWFzeW5jLXByaXZhdGUt
Z2VuLW1ldGgudGVtcGxhdGUKKy8qLS0tCitkZXNjcmlwdGlvbjogTG9uZSByZXN0IGVsZW1lbnQg
KGRpcmVjdCBiaW5kaW5nKSAocHJpdmF0ZSBjbGFzcyBleHByZXNzaW9uIG1ldGhvZCkKK2VzaWQ6
IHNlYy1jbGFzcy1kZWZpbml0aW9ucy1ydW50aW1lLXNlbWFudGljcy1ldmFsdWF0aW9uCitmZWF0
dXJlczogW2NsYXNzLCBjbGFzcy1tZXRob2RzLXByaXZhdGUsIGFzeW5jLWl0ZXJhdGlvbl0KK2Zs
YWdzOiBbZ2VuZXJhdGVkLCBhc3luY10KK2luY2x1ZGVzOiBbY29tcGFyZUFycmF5LmpzXQoraW5m
bzogfAorICAgIENsYXNzRXhwcmVzc2lvbiA6IGNsYXNzIEJpbmRpbmdJZGVudGlmaWVyb3B0IENs
YXNzVGFpbAorCisgICAgMS4gSWYgQmluZGluZ0lkZW50aWZpZXJvcHQgaXMgbm90IHByZXNlbnQs
IGxldCBjbGFzc05hbWUgYmUgdW5kZWZpbmVkLgorICAgIDIuIEVsc2UsIGxldCBjbGFzc05hbWUg
YmUgU3RyaW5nVmFsdWUgb2YgQmluZGluZ0lkZW50aWZpZXIuCisgICAgMy4gTGV0IHZhbHVlIGJl
IHRoZSByZXN1bHQgb2YgQ2xhc3NEZWZpbml0aW9uRXZhbHVhdGlvbiBvZiBDbGFzc1RhaWwKKyAg
ICAgICB3aXRoIGFyZ3VtZW50IGNsYXNzTmFtZS4KKyAgICBbLi4uXQorCisgICAgMTQuNS4xNCBS
dW50aW1lIFNlbWFudGljczogQ2xhc3NEZWZpbml0aW9uRXZhbHVhdGlvbgorCisgICAgMjEuIEZv
ciBlYWNoIENsYXNzRWxlbWVudCBtIGluIG9yZGVyIGZyb20gbWV0aG9kcworICAgICAgICBhLiBJ
ZiBJc1N0YXRpYyBvZiBtIGlzIGZhbHNlLCB0aGVuCisgICAgICAgICAgIGkuIExldCBzdGF0dXMg
YmUgdGhlIHJlc3VsdCBvZiBwZXJmb3JtaW5nCisgICAgICAgICAgICAgIFByb3BlcnR5RGVmaW5p
dGlvbkV2YWx1YXRpb24gZm9yIG0gd2l0aCBhcmd1bWVudHMgcHJvdG8gYW5kCisgICAgICAgICAg
ICAgIGZhbHNlLgorICAgICAgICBbLi4uXQorCisgICAgUnVudGltZSBTZW1hbnRpY3M6IFByb3Bl
cnR5RGVmaW5pdGlvbkV2YWx1YXRpb24KKworICAgIEFzeW5jR2VuZXJhdG9yTWV0aG9kIDoKKyAg
ICAgICAgYXN5bmMgW25vIExpbmVUZXJtaW5hdG9yIGhlcmVdICogUHJvcGVydHlOYW1lICggVW5p
cXVlRm9ybWFsUGFyYW1ldGVycyApCisgICAgICAgICAgICB7IEFzeW5jR2VuZXJhdG9yQm9keSB9
CisKKyAgICAxLiBMZXQgcHJvcEtleSBiZSB0aGUgcmVzdWx0IG9mIGV2YWx1YXRpbmcgUHJvcGVy
dHlOYW1lLgorICAgIDIuIFJldHVybklmQWJydXB0KHByb3BLZXkpLgorICAgIDMuIElmIHRoZSBm
dW5jdGlvbiBjb2RlIGZvciB0aGlzIEFzeW5jR2VuZXJhdG9yTWV0aG9kIGlzIHN0cmljdCBtb2Rl
IGNvZGUsIGxldCBzdHJpY3QgYmUgdHJ1ZS4KKyAgICAgICBPdGhlcndpc2UgbGV0IHN0cmljdCBi
ZSBmYWxzZS4KKyAgICA0LiBMZXQgc2NvcGUgYmUgdGhlIHJ1bm5pbmcgZXhlY3V0aW9uIGNvbnRl
eHQncyBMZXhpY2FsRW52aXJvbm1lbnQuCisgICAgNS4gTGV0IGNsb3N1cmUgYmUgISBBc3luY0dl
bmVyYXRvckZ1bmN0aW9uQ3JlYXRlKE1ldGhvZCwgVW5pcXVlRm9ybWFsUGFyYW1ldGVycywKKyAg
ICAgICBBc3luY0dlbmVyYXRvckJvZHksIHNjb3BlLCBzdHJpY3QpLgorICAgIFsuLi5dCisKKwor
ICAgIFJ1bnRpbWUgU2VtYW50aWNzOiBJdGVyYXRvckJpbmRpbmdJbml0aWFsaXphdGlvbgorCisg
ICAgQmluZGluZ1Jlc3RFbGVtZW50IDogLi4uIEJpbmRpbmdJZGVudGlmaWVyCisKKyAgICBbLi4u
XQorICAgIDIuIExldCBBIGJlICEgQXJyYXlDcmVhdGUoMCkuCisgICAgMy4gTGV0IG4gYmUgMC4K
KyAgICA0LiBSZXBlYXQsCisgICAgICAgIFsuLi5dCisgICAgICAgIGYuIFBlcmZvcm0gISBDcmVh
dGVEYXRhUHJvcGVydHlPclRocm93KEEsICEgVG9TdHJpbmcobiksIG5leHRWYWx1ZSkuCisgICAg
ICAgIGcuIFNldCBuIHRvIG4gKyAxLgorCistLS0qLworCisKK3ZhciBjYWxsQ291bnQgPSAwOwor
dmFyIEMgPSBjbGFzcyB7CisgIGFzeW5jICogI21ldGhvZChbLi4ueF0pIHsKKyAgICBhc3NlcnQo
QXJyYXkuaXNBcnJheSh4KSk7CisgICAgYXNzZXJ0LmNvbXBhcmVBcnJheSh4LCBbMV0pOworICAg
IGNhbGxDb3VudCA9IGNhbGxDb3VudCArIDE7CisgIH0KKworICBnZXQgbWV0aG9kKCkgeworICAg
IHJldHVybiB0aGlzLiNtZXRob2Q7CisgIH0KK307CisKK25ldyBDKCkubWV0aG9kKFsxXSkubmV4
dCgpLnRoZW4oKCkgPT4geworICAgIGFzc2VydC5zYW1lVmFsdWUoY2FsbENvdW50LCAxLCAnaW52
b2tlZCBleGFjdGx5IG9uY2UnKTsgICAgCit9KS50aGVuKCRET05FLCAkRE9ORSk7CmRpZmYgLS1n
aXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9kc3Ry
L2FzeW5jLXByaXZhdGUtZ2VuLW1ldGgtZGZsdC1hcnktcHRybi1lbGVtLWlkLWl0ZXItdmFsLWFy
cmF5LXByb3RvdHlwZS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Np
b25zL2NsYXNzL2RzdHIvYXN5bmMtcHJpdmF0ZS1nZW4tbWV0aC1kZmx0LWFyeS1wdHJuLWVsZW0t
aWQtaXRlci12YWwtYXJyYXktcHJvdG90eXBlLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFkZTM4N2M4MDJmYjRh
YTFjNTA1NDBlZTcyYmU4YzRmZTU3Y2EyY2YKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9kc3RyL2FzeW5jLXByaXZhdGUt
Z2VuLW1ldGgtZGZsdC1hcnktcHRybi1lbGVtLWlkLWl0ZXItdmFsLWFycmF5LXByb3RvdHlwZS5q
cwpAQCAtMCwwICsxLDkxIEBACisvLyBUaGlzIGZpbGUgd2FzIHByb2NlZHVyYWxseSBnZW5lcmF0
ZWQgZnJvbSB0aGUgZm9sbG93aW5nIHNvdXJjZXM6CisvLyAtIHNyYy9kc3RyLWJpbmRpbmcvYXJ5
LXB0cm4tZWxlbS1pZC1pdGVyLXZhbC1hcnJheS1wcm90b3R5cGUuY2FzZQorLy8gLSBzcmMvZHN0
ci1iaW5kaW5nL2RlZmF1bHQvY2xzLWV4cHItYXN5bmMtcHJpdmF0ZS1nZW4tbWV0aC1kZmx0LnRl
bXBsYXRlCisvKi0tLQorZGVzY3JpcHRpb246IEFycmF5IGRlc3RydWN0dXJpbmcgdXNlcyBvdmVy
cmlkZW4gQXJyYXkucHJvdG90eXBlW1N5bWJvbC5pdGVyYXRvcl0gKHByaXZhdGUgY2xhc3MgZXhw
cmVzc2lvbiBhc3luYyBnZW5lcmF0b3IgbWV0aG9kIChkZWZhdWx0IHBhcmFtZXRlcikpCitlc2lk
OiBzZWMtY2xhc3MtZGVmaW5pdGlvbnMtcnVudGltZS1zZW1hbnRpY3MtZXZhbHVhdGlvbgorZmVh
dHVyZXM6IFtTeW1ib2wuaXRlcmF0b3IsIGdlbmVyYXRvcnMsIGNsYXNzLCBjbGFzcy1tZXRob2Rz
LXByaXZhdGUsIGFzeW5jLWl0ZXJhdGlvbl0KK2ZsYWdzOiBbZ2VuZXJhdGVkLCBhc3luY10KK2lu
Zm86IHwKKyAgICBDbGFzc0V4cHJlc3Npb24gOiBjbGFzcyBCaW5kaW5nSWRlbnRpZmllcm9wdCBD
bGFzc1RhaWwKKworICAgIDEuIElmIEJpbmRpbmdJZGVudGlmaWVyb3B0IGlzIG5vdCBwcmVzZW50
LCBsZXQgY2xhc3NOYW1lIGJlIHVuZGVmaW5lZC4KKyAgICAyLiBFbHNlLCBsZXQgY2xhc3NOYW1l
IGJlIFN0cmluZ1ZhbHVlIG9mIEJpbmRpbmdJZGVudGlmaWVyLgorICAgIDMuIExldCB2YWx1ZSBi
ZSB0aGUgcmVzdWx0IG9mIENsYXNzRGVmaW5pdGlvbkV2YWx1YXRpb24gb2YgQ2xhc3NUYWlsCisg
ICAgICAgd2l0aCBhcmd1bWVudCBjbGFzc05hbWUuCisgICAgWy4uLl0KKworICAgIDE0LjUuMTQg
UnVudGltZSBTZW1hbnRpY3M6IENsYXNzRGVmaW5pdGlvbkV2YWx1YXRpb24KKworICAgIDIxLiBG
b3IgZWFjaCBDbGFzc0VsZW1lbnQgbSBpbiBvcmRlciBmcm9tIG1ldGhvZHMKKyAgICAgICAgYS4g
SWYgSXNTdGF0aWMgb2YgbSBpcyBmYWxzZSwgdGhlbgorICAgICAgICAgICBpLiBMZXQgc3RhdHVz
IGJlIHRoZSByZXN1bHQgb2YgcGVyZm9ybWluZworICAgICAgICAgICAgICBQcm9wZXJ0eURlZmlu
aXRpb25FdmFsdWF0aW9uIGZvciBtIHdpdGggYXJndW1lbnRzIHByb3RvIGFuZAorICAgICAgICAg
ICAgICBmYWxzZS4KKyAgICAgICAgWy4uLl0KKworICAgIFJ1bnRpbWUgU2VtYW50aWNzOiBQcm9w
ZXJ0eURlZmluaXRpb25FdmFsdWF0aW9uCisKKyAgICBBc3luY0dlbmVyYXRvck1ldGhvZCA6Cisg
ICAgICAgIGFzeW5jIFtubyBMaW5lVGVybWluYXRvciBoZXJlXSAqIFByb3BlcnR5TmFtZSAoIFVu
aXF1ZUZvcm1hbFBhcmFtZXRlcnMgKQorICAgICAgICAgICAgeyBBc3luY0dlbmVyYXRvckJvZHkg
fQorCisgICAgMS4gTGV0IHByb3BLZXkgYmUgdGhlIHJlc3VsdCBvZiBldmFsdWF0aW5nIFByb3Bl
cnR5TmFtZS4KKyAgICAyLiBSZXR1cm5JZkFicnVwdChwcm9wS2V5KS4KKyAgICAzLiBJZiB0aGUg
ZnVuY3Rpb24gY29kZSBmb3IgdGhpcyBBc3luY0dlbmVyYXRvck1ldGhvZCBpcyBzdHJpY3QgbW9k
ZSBjb2RlLCBsZXQgc3RyaWN0IGJlIHRydWUuCisgICAgICAgT3RoZXJ3aXNlIGxldCBzdHJpY3Qg
YmUgZmFsc2UuCisgICAgNC4gTGV0IHNjb3BlIGJlIHRoZSBydW5uaW5nIGV4ZWN1dGlvbiBjb250
ZXh0J3MgTGV4aWNhbEVudmlyb25tZW50LgorICAgIDUuIExldCBjbG9zdXJlIGJlICEgQXN5bmNH
ZW5lcmF0b3JGdW5jdGlvbkNyZWF0ZShNZXRob2QsIFVuaXF1ZUZvcm1hbFBhcmFtZXRlcnMsCisg
ICAgICAgQXN5bmNHZW5lcmF0b3JCb2R5LCBzY29wZSwgc3RyaWN0KS4KKyAgICBbLi4uXQorCisK
KyAgICBSdW50aW1lIFNlbWFudGljczogSXRlcmF0b3JCaW5kaW5nSW5pdGlhbGl6YXRpb24KKwor
ICAgIFNpbmdsZU5hbWVCaW5kaW5nIDogQmluZGluZ0lkZW50aWZpZXIgSW5pdGlhbGl6ZXJfb3B0
CisKKyAgICAxLiBMZXQgYmluZGluZ0lkIGJlIFN0cmluZ1ZhbHVlIG9mIEJpbmRpbmdJZGVudGlm
aWVyLgorICAgIDIuIExldCBsaHMgYmUgPyBSZXNvbHZlQmluZGluZyhiaW5kaW5nSWQsIGVudmly
b25tZW50KS4KKyAgICAzLiBJZiBpdGVyYXRvclJlY29yZC5bW0RvbmVdXSBpcyBmYWxzZSwgdGhl
bgorICAgICAgICBhLiBMZXQgbmV4dCBiZSBJdGVyYXRvclN0ZXAoaXRlcmF0b3JSZWNvcmQpLgor
ICAgICAgICBiLiBJZiBuZXh0IGlzIGFuIGFicnVwdCBjb21wbGV0aW9uLCBzZXQgaXRlcmF0b3JS
ZWNvcmQuW1tEb25lXV0gdG8gdHJ1ZS4KKyAgICAgICAgYy4gUmV0dXJuSWZBYnJ1cHQobmV4dCku
CisgICAgICAgIGQuIElmIG5leHQgaXMgZmFsc2UsIHNldCBpdGVyYXRvclJlY29yZC5bW0RvbmVd
XSB0byB0cnVlLgorICAgICAgICBlLiBFbHNlLAorICAgICAgICAgICAgaS4gTGV0IHYgYmUgSXRl
cmF0b3JWYWx1ZShuZXh0KS4KKyAgICAgICAgICAgIGlpLiBJZiB2IGlzIGFuIGFicnVwdCBjb21w
bGV0aW9uLCBzZXQgaXRlcmF0b3JSZWNvcmQuW1tEb25lXV0gdG8gdHJ1ZS4KKyAgICAgICAgICAg
IGlpaS4gUmV0dXJuSWZBYnJ1cHQodikuCisgICAgWy4uLl0KKyAgICA3LiBSZXR1cm4gSW5pdGlh
bGl6ZVJlZmVyZW5jZWRCaW5kaW5nKGxocywgdikuCisKKy0tLSovCitBcnJheS5wcm90b3R5cGVb
U3ltYm9sLml0ZXJhdG9yXSA9IGZ1bmN0aW9uKiAoKSB7CisgICAgaWYgKHRoaXMubGVuZ3RoID4g
MCkgeworICAgICAgICB5aWVsZCB0aGlzWzBdOworICAgIH0KKyAgICBpZiAodGhpcy5sZW5ndGgg
PiAxKSB7CisgICAgICAgIHlpZWxkIHRoaXNbMV07CisgICAgfQorICAgIGlmICh0aGlzLmxlbmd0
aCA+IDIpIHsKKyAgICAgICAgeWllbGQgNDI7CisgICAgfQorfTsKKworCit2YXIgY2FsbENvdW50
ID0gMDsKK3ZhciBDID0gY2xhc3MgeworICBhc3luYyAqICNtZXRob2QoW3gsIHksIHpdID0gWzEs
IDIsIDNdKSB7CisgICAgYXNzZXJ0LnNhbWVWYWx1ZSh4LCAxKTsKKyAgICBhc3NlcnQuc2FtZVZh
bHVlKHksIDIpOworICAgIGFzc2VydC5zYW1lVmFsdWUoeiwgNDIpOworICAgIGNhbGxDb3VudCA9
IGNhbGxDb3VudCArIDE7CisgIH0KKworICBnZXQgbWV0aG9kKCkgeworICAgIHJldHVybiB0aGlz
LiNtZXRob2Q7CisgIH0KK307CisKK25ldyBDKCkubWV0aG9kKCkubmV4dCgpLnRoZW4oKCkgPT4g
eworICAgIGFzc2VydC5zYW1lVmFsdWUoY2FsbENvdW50LCAxLCAnaW52b2tlZCBleGFjdGx5IG9u
Y2UnKTsgICAgCit9KS50aGVuKCRET05FLCAkRE9ORSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9kc3RyL2FzeW5jLXByaXZhdGUt
Z2VuLW1ldGgtZGZsdC1hcnktcHRybi1yZXN0LWlkLWRpcmVjdC5qcyBiL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2RzdHIvYXN5bmMtcHJpdmF0ZS1nZW4t
bWV0aC1kZmx0LWFyeS1wdHJuLXJlc3QtaWQtZGlyZWN0LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQwNjQwMDUx
MTFmZjdiOTZkMTBkYTk2YTg1Y2VmM2E0M2NmODY1ZTYKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9kc3RyL2FzeW5jLXBy
aXZhdGUtZ2VuLW1ldGgtZGZsdC1hcnktcHRybi1yZXN0LWlkLWRpcmVjdC5qcwpAQCAtMCwwICsx
LDc0IEBACisvLyBUaGlzIGZpbGUgd2FzIHByb2NlZHVyYWxseSBnZW5lcmF0ZWQgZnJvbSB0aGUg
Zm9sbG93aW5nIHNvdXJjZXM6CisvLyAtIHNyYy9kc3RyLWJpbmRpbmcvYXJ5LXB0cm4tcmVzdC1p
ZC1kaXJlY3QuY2FzZQorLy8gLSBzcmMvZHN0ci1iaW5kaW5nL2RlZmF1bHQvY2xzLWV4cHItYXN5
bmMtcHJpdmF0ZS1nZW4tbWV0aC1kZmx0LnRlbXBsYXRlCisvKi0tLQorZGVzY3JpcHRpb246IExv
bmUgcmVzdCBlbGVtZW50IChkaXJlY3QgYmluZGluZykgKHByaXZhdGUgY2xhc3MgZXhwcmVzc2lv
biBhc3luYyBnZW5lcmF0b3IgbWV0aG9kIChkZWZhdWx0IHBhcmFtZXRlcikpCitlc2lkOiBzZWMt
Y2xhc3MtZGVmaW5pdGlvbnMtcnVudGltZS1zZW1hbnRpY3MtZXZhbHVhdGlvbgorZmVhdHVyZXM6
IFtjbGFzcywgY2xhc3MtbWV0aG9kcy1wcml2YXRlLCBhc3luYy1pdGVyYXRpb25dCitmbGFnczog
W2dlbmVyYXRlZCwgYXN5bmNdCitpbmNsdWRlczogW2NvbXBhcmVBcnJheS5qc10KK2luZm86IHwK
KyAgICBDbGFzc0V4cHJlc3Npb24gOiBjbGFzcyBCaW5kaW5nSWRlbnRpZmllcm9wdCBDbGFzc1Rh
aWwKKworICAgIDEuIElmIEJpbmRpbmdJZGVudGlmaWVyb3B0IGlzIG5vdCBwcmVzZW50LCBsZXQg
Y2xhc3NOYW1lIGJlIHVuZGVmaW5lZC4KKyAgICAyLiBFbHNlLCBsZXQgY2xhc3NOYW1lIGJlIFN0
cmluZ1ZhbHVlIG9mIEJpbmRpbmdJZGVudGlmaWVyLgorICAgIDMuIExldCB2YWx1ZSBiZSB0aGUg
cmVzdWx0IG9mIENsYXNzRGVmaW5pdGlvbkV2YWx1YXRpb24gb2YgQ2xhc3NUYWlsCisgICAgICAg
d2l0aCBhcmd1bWVudCBjbGFzc05hbWUuCisgICAgWy4uLl0KKworICAgIDE0LjUuMTQgUnVudGlt
ZSBTZW1hbnRpY3M6IENsYXNzRGVmaW5pdGlvbkV2YWx1YXRpb24KKworICAgIDIxLiBGb3IgZWFj
aCBDbGFzc0VsZW1lbnQgbSBpbiBvcmRlciBmcm9tIG1ldGhvZHMKKyAgICAgICAgYS4gSWYgSXNT
dGF0aWMgb2YgbSBpcyBmYWxzZSwgdGhlbgorICAgICAgICAgICBpLiBMZXQgc3RhdHVzIGJlIHRo
ZSByZXN1bHQgb2YgcGVyZm9ybWluZworICAgICAgICAgICAgICBQcm9wZXJ0eURlZmluaXRpb25F
dmFsdWF0aW9uIGZvciBtIHdpdGggYXJndW1lbnRzIHByb3RvIGFuZAorICAgICAgICAgICAgICBm
YWxzZS4KKyAgICAgICAgWy4uLl0KKworICAgIFJ1bnRpbWUgU2VtYW50aWNzOiBQcm9wZXJ0eURl
ZmluaXRpb25FdmFsdWF0aW9uCisKKyAgICBBc3luY0dlbmVyYXRvck1ldGhvZCA6CisgICAgICAg
IGFzeW5jIFtubyBMaW5lVGVybWluYXRvciBoZXJlXSAqIFByb3BlcnR5TmFtZSAoIFVuaXF1ZUZv
cm1hbFBhcmFtZXRlcnMgKQorICAgICAgICAgICAgeyBBc3luY0dlbmVyYXRvckJvZHkgfQorCisg
ICAgMS4gTGV0IHByb3BLZXkgYmUgdGhlIHJlc3VsdCBvZiBldmFsdWF0aW5nIFByb3BlcnR5TmFt
ZS4KKyAgICAyLiBSZXR1cm5JZkFicnVwdChwcm9wS2V5KS4KKyAgICAzLiBJZiB0aGUgZnVuY3Rp
b24gY29kZSBmb3IgdGhpcyBBc3luY0dlbmVyYXRvck1ldGhvZCBpcyBzdHJpY3QgbW9kZSBjb2Rl
LCBsZXQgc3RyaWN0IGJlIHRydWUuCisgICAgICAgT3RoZXJ3aXNlIGxldCBzdHJpY3QgYmUgZmFs
c2UuCisgICAgNC4gTGV0IHNjb3BlIGJlIHRoZSBydW5uaW5nIGV4ZWN1dGlvbiBjb250ZXh0J3Mg
TGV4aWNhbEVudmlyb25tZW50LgorICAgIDUuIExldCBjbG9zdXJlIGJlICEgQXN5bmNHZW5lcmF0
b3JGdW5jdGlvbkNyZWF0ZShNZXRob2QsIFVuaXF1ZUZvcm1hbFBhcmFtZXRlcnMsCisgICAgICAg
QXN5bmNHZW5lcmF0b3JCb2R5LCBzY29wZSwgc3RyaWN0KS4KKyAgICBbLi4uXQorCisKKyAgICBS
dW50aW1lIFNlbWFudGljczogSXRlcmF0b3JCaW5kaW5nSW5pdGlhbGl6YXRpb24KKworICAgIEJp
bmRpbmdSZXN0RWxlbWVudCA6IC4uLiBCaW5kaW5nSWRlbnRpZmllcgorCisgICAgWy4uLl0KKyAg
ICAyLiBMZXQgQSBiZSAhIEFycmF5Q3JlYXRlKDApLgorICAgIDMuIExldCBuIGJlIDAuCisgICAg
NC4gUmVwZWF0LAorICAgICAgICBbLi4uXQorICAgICAgICBmLiBQZXJmb3JtICEgQ3JlYXRlRGF0
YVByb3BlcnR5T3JUaHJvdyhBLCAhIFRvU3RyaW5nKG4pLCBuZXh0VmFsdWUpLgorICAgICAgICBn
LiBTZXQgbiB0byBuICsgMS4KKworLS0tKi8KKworCit2YXIgY2FsbENvdW50ID0gMDsKK3ZhciBD
ID0gY2xhc3MgeworICBhc3luYyAqICNtZXRob2QoWy4uLnhdID0gWzFdKSB7CisgICAgYXNzZXJ0
KEFycmF5LmlzQXJyYXkoeCkpOworICAgIGFzc2VydC5jb21wYXJlQXJyYXkoeCwgWzFdKTsKKyAg
ICBjYWxsQ291bnQgPSBjYWxsQ291bnQgKyAxOworICB9CisKKyAgZ2V0IG1ldGhvZCgpIHsKKyAg
ICByZXR1cm4gdGhpcy4jbWV0aG9kOworICB9Cit9OworCituZXcgQygpLm1ldGhvZCgpLm5leHQo
KS50aGVuKCgpID0+IHsKKyAgICBhc3NlcnQuc2FtZVZhbHVlKGNhbGxDb3VudCwgMSwgJ2ludm9r
ZWQgZXhhY3RseSBvbmNlJyk7ICAgIAorfSkudGhlbigkRE9ORSwgJERPTkUpOwpkaWZmIC0tZ2l0
IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvZHN0ci9h
c3luYy1wcml2YXRlLWdlbi1tZXRoLXN0YXRpYy1hcnktcHRybi1lbGVtLWlkLWl0ZXItdmFsLWFy
cmF5LXByb3RvdHlwZS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Np
b25zL2NsYXNzL2RzdHIvYXN5bmMtcHJpdmF0ZS1nZW4tbWV0aC1zdGF0aWMtYXJ5LXB0cm4tZWxl
bS1pZC1pdGVyLXZhbC1hcnJheS1wcm90b3R5cGUuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWQ1MmNkODE2ZDJm
ZmI1MzA4MGE0MzFjNzkxZGYzNTUyZmYwNWY4OAotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2RzdHIvYXN5bmMtcHJpdmF0
ZS1nZW4tbWV0aC1zdGF0aWMtYXJ5LXB0cm4tZWxlbS1pZC1pdGVyLXZhbC1hcnJheS1wcm90b3R5
cGUuanMKQEAgLTAsMCArMSw5MSBAQAorLy8gVGhpcyBmaWxlIHdhcyBwcm9jZWR1cmFsbHkgZ2Vu
ZXJhdGVkIGZyb20gdGhlIGZvbGxvd2luZyBzb3VyY2VzOgorLy8gLSBzcmMvZHN0ci1iaW5kaW5n
L2FyeS1wdHJuLWVsZW0taWQtaXRlci12YWwtYXJyYXktcHJvdG90eXBlLmNhc2UKKy8vIC0gc3Jj
L2RzdHItYmluZGluZy9kZWZhdWx0L2Nscy1leHByLWFzeW5jLXByaXZhdGUtZ2VuLW1ldGgtc3Rh
dGljLnRlbXBsYXRlCisvKi0tLQorZGVzY3JpcHRpb246IEFycmF5IGRlc3RydWN0dXJpbmcgdXNl
cyBvdmVycmlkZW4gQXJyYXkucHJvdG90eXBlW1N5bWJvbC5pdGVyYXRvcl0gKHByaXZhdGUgc3Rh
dGljIGNsYXNzIGV4cHJlc3Npb24gYXN5bmMgZ2VuZXJhdG9yIG1ldGhvZCkKK2VzaWQ6IHNlYy1j
bGFzcy1kZWZpbml0aW9ucy1ydW50aW1lLXNlbWFudGljcy1ldmFsdWF0aW9uCitmZWF0dXJlczog
W1N5bWJvbC5pdGVyYXRvciwgZ2VuZXJhdG9ycywgY2xhc3MsIGNsYXNzLXN0YXRpYy1tZXRob2Rz
LXByaXZhdGUsIGFzeW5jLWl0ZXJhdGlvbl0KK2ZsYWdzOiBbZ2VuZXJhdGVkLCBhc3luY10KK2lu
Zm86IHwKKyAgICBDbGFzc0V4cHJlc3Npb24gOiBjbGFzcyBCaW5kaW5nSWRlbnRpZmllcm9wdCBD
bGFzc1RhaWwKKworICAgIDEuIElmIEJpbmRpbmdJZGVudGlmaWVyb3B0IGlzIG5vdCBwcmVzZW50
LCBsZXQgY2xhc3NOYW1lIGJlIHVuZGVmaW5lZC4KKyAgICAyLiBFbHNlLCBsZXQgY2xhc3NOYW1l
IGJlIFN0cmluZ1ZhbHVlIG9mIEJpbmRpbmdJZGVudGlmaWVyLgorICAgIDMuIExldCB2YWx1ZSBi
ZSB0aGUgcmVzdWx0IG9mIENsYXNzRGVmaW5pdGlvbkV2YWx1YXRpb24gb2YgQ2xhc3NUYWlsCisg
ICAgICAgd2l0aCBhcmd1bWVudCBjbGFzc05hbWUuCisgICAgWy4uLl0KKworICAgIDE0LjUuMTQg
UnVudGltZSBTZW1hbnRpY3M6IENsYXNzRGVmaW5pdGlvbkV2YWx1YXRpb24KKworICAgIDIxLiBG
b3IgZWFjaCBDbGFzc0VsZW1lbnQgbSBpbiBvcmRlciBmcm9tIG1ldGhvZHMKKyAgICAgICAgYS4g
SWYgSXNTdGF0aWMgb2YgbSBpcyBmYWxzZSwgdGhlbgorICAgICAgICBiLiBFbHNlLAorICAgICAg
ICAgICBMZXQgc3RhdHVzIGJlIHRoZSByZXN1bHQgb2YgcGVyZm9ybWluZyBQcm9wZXJ0eURlZmlu
aXRpb25FdmFsdWF0aW9uCisgICAgICAgICAgIGZvciBtIHdpdGggYXJndW1lbnRzIEYgYW5kIGZh
bHNlLgorICAgIFsuLi5dCisKKyAgICBSdW50aW1lIFNlbWFudGljczogUHJvcGVydHlEZWZpbml0
aW9uRXZhbHVhdGlvbgorCisgICAgQXN5bmNHZW5lcmF0b3JNZXRob2QgOgorICAgICAgICBhc3lu
YyBbbm8gTGluZVRlcm1pbmF0b3IgaGVyZV0gKiBQcm9wZXJ0eU5hbWUgKCBVbmlxdWVGb3JtYWxQ
YXJhbWV0ZXJzICkKKyAgICAgICAgICAgIHsgQXN5bmNHZW5lcmF0b3JCb2R5IH0KKworICAgIDEu
IExldCBwcm9wS2V5IGJlIHRoZSByZXN1bHQgb2YgZXZhbHVhdGluZyBQcm9wZXJ0eU5hbWUuCisg
ICAgMi4gUmV0dXJuSWZBYnJ1cHQocHJvcEtleSkuCisgICAgMy4gSWYgdGhlIGZ1bmN0aW9uIGNv
ZGUgZm9yIHRoaXMgQXN5bmNHZW5lcmF0b3JNZXRob2QgaXMgc3RyaWN0IG1vZGUgY29kZSwgbGV0
IHN0cmljdCBiZSB0cnVlLgorICAgICAgIE90aGVyd2lzZSBsZXQgc3RyaWN0IGJlIGZhbHNlLgor
ICAgIDQuIExldCBzY29wZSBiZSB0aGUgcnVubmluZyBleGVjdXRpb24gY29udGV4dCdzIExleGlj
YWxFbnZpcm9ubWVudC4KKyAgICA1LiBMZXQgY2xvc3VyZSBiZSAhIEFzeW5jR2VuZXJhdG9yRnVu
Y3Rpb25DcmVhdGUoTWV0aG9kLCBVbmlxdWVGb3JtYWxQYXJhbWV0ZXJzLAorICAgICAgIEFzeW5j
R2VuZXJhdG9yQm9keSwgc2NvcGUsIHN0cmljdCkuCisgICAgWy4uLl0KKworCisgICAgUnVudGlt
ZSBTZW1hbnRpY3M6IEl0ZXJhdG9yQmluZGluZ0luaXRpYWxpemF0aW9uCisKKyAgICBTaW5nbGVO
YW1lQmluZGluZyA6IEJpbmRpbmdJZGVudGlmaWVyIEluaXRpYWxpemVyX29wdAorCisgICAgMS4g
TGV0IGJpbmRpbmdJZCBiZSBTdHJpbmdWYWx1ZSBvZiBCaW5kaW5nSWRlbnRpZmllci4KKyAgICAy
LiBMZXQgbGhzIGJlID8gUmVzb2x2ZUJpbmRpbmcoYmluZGluZ0lkLCBlbnZpcm9ubWVudCkuCisg
ICAgMy4gSWYgaXRlcmF0b3JSZWNvcmQuW1tEb25lXV0gaXMgZmFsc2UsIHRoZW4KKyAgICAgICAg
YS4gTGV0IG5leHQgYmUgSXRlcmF0b3JTdGVwKGl0ZXJhdG9yUmVjb3JkKS4KKyAgICAgICAgYi4g
SWYgbmV4dCBpcyBhbiBhYnJ1cHQgY29tcGxldGlvbiwgc2V0IGl0ZXJhdG9yUmVjb3JkLltbRG9u
ZV1dIHRvIHRydWUuCisgICAgICAgIGMuIFJldHVybklmQWJydXB0KG5leHQpLgorICAgICAgICBk
LiBJZiBuZXh0IGlzIGZhbHNlLCBzZXQgaXRlcmF0b3JSZWNvcmQuW1tEb25lXV0gdG8gdHJ1ZS4K
KyAgICAgICAgZS4gRWxzZSwKKyAgICAgICAgICAgIGkuIExldCB2IGJlIEl0ZXJhdG9yVmFsdWUo
bmV4dCkuCisgICAgICAgICAgICBpaS4gSWYgdiBpcyBhbiBhYnJ1cHQgY29tcGxldGlvbiwgc2V0
IGl0ZXJhdG9yUmVjb3JkLltbRG9uZV1dIHRvIHRydWUuCisgICAgICAgICAgICBpaWkuIFJldHVy
bklmQWJydXB0KHYpLgorICAgIFsuLi5dCisgICAgNy4gUmV0dXJuIEluaXRpYWxpemVSZWZlcmVu
Y2VkQmluZGluZyhsaHMsIHYpLgorCistLS0qLworQXJyYXkucHJvdG90eXBlW1N5bWJvbC5pdGVy
YXRvcl0gPSBmdW5jdGlvbiogKCkgeworICAgIGlmICh0aGlzLmxlbmd0aCA+IDApIHsKKyAgICAg
ICAgeWllbGQgdGhpc1swXTsKKyAgICB9CisgICAgaWYgKHRoaXMubGVuZ3RoID4gMSkgeworICAg
ICAgICB5aWVsZCB0aGlzWzFdOworICAgIH0KKyAgICBpZiAodGhpcy5sZW5ndGggPiAyKSB7Cisg
ICAgICAgIHlpZWxkIDQyOworICAgIH0KK307CisKKwordmFyIGNhbGxDb3VudCA9IDA7Cit2YXIg
QyA9IGNsYXNzIHsKKyAgc3RhdGljIGFzeW5jICogI21ldGhvZChbeCwgeSwgel0pIHsKKyAgICBh
c3NlcnQuc2FtZVZhbHVlKHgsIDEpOworICAgIGFzc2VydC5zYW1lVmFsdWUoeSwgMik7CisgICAg
YXNzZXJ0LnNhbWVWYWx1ZSh6LCA0Mik7CisgICAgY2FsbENvdW50ID0gY2FsbENvdW50ICsgMTsK
KyAgfQorCisgIHN0YXRpYyBnZXQgbWV0aG9kKCkgeworICAgIHJldHVybiB0aGlzLiNtZXRob2Q7
CisgIH0KK307CisKK0MubWV0aG9kKFsxLCAyLCAzXSkubmV4dCgpLnRoZW4oKCkgPT4geworICAg
IGFzc2VydC5zYW1lVmFsdWUoY2FsbENvdW50LCAxLCAnaW52b2tlZCBleGFjdGx5IG9uY2UnKTsg
ICAgCit9KS50aGVuKCRET05FLCAkRE9ORSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9kc3RyL2FzeW5jLXByaXZhdGUtZ2VuLW1l
dGgtc3RhdGljLWFyeS1wdHJuLXJlc3QtaWQtZGlyZWN0LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvZHN0ci9hc3luYy1wcml2YXRlLWdlbi1tZXRo
LXN0YXRpYy1hcnktcHRybi1yZXN0LWlkLWRpcmVjdC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jMjkyOTIzYjY1
NDkyMmI1NDE3YjI2ZDFiMGUwZmExZWEyMzhhZmFmCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvZHN0ci9hc3luYy1wcml2
YXRlLWdlbi1tZXRoLXN0YXRpYy1hcnktcHRybi1yZXN0LWlkLWRpcmVjdC5qcwpAQCAtMCwwICsx
LDc0IEBACisvLyBUaGlzIGZpbGUgd2FzIHByb2NlZHVyYWxseSBnZW5lcmF0ZWQgZnJvbSB0aGUg
Zm9sbG93aW5nIHNvdXJjZXM6CisvLyAtIHNyYy9kc3RyLWJpbmRpbmcvYXJ5LXB0cm4tcmVzdC1p
ZC1kaXJlY3QuY2FzZQorLy8gLSBzcmMvZHN0ci1iaW5kaW5nL2RlZmF1bHQvY2xzLWV4cHItYXN5
bmMtcHJpdmF0ZS1nZW4tbWV0aC1zdGF0aWMudGVtcGxhdGUKKy8qLS0tCitkZXNjcmlwdGlvbjog
TG9uZSByZXN0IGVsZW1lbnQgKGRpcmVjdCBiaW5kaW5nKSAocHJpdmF0ZSBzdGF0aWMgY2xhc3Mg
ZXhwcmVzc2lvbiBhc3luYyBnZW5lcmF0b3IgbWV0aG9kKQorZXNpZDogc2VjLWNsYXNzLWRlZmlu
aXRpb25zLXJ1bnRpbWUtc2VtYW50aWNzLWV2YWx1YXRpb24KK2ZlYXR1cmVzOiBbY2xhc3MsIGNs
YXNzLXN0YXRpYy1tZXRob2RzLXByaXZhdGUsIGFzeW5jLWl0ZXJhdGlvbl0KK2ZsYWdzOiBbZ2Vu
ZXJhdGVkLCBhc3luY10KK2luY2x1ZGVzOiBbY29tcGFyZUFycmF5LmpzXQoraW5mbzogfAorICAg
IENsYXNzRXhwcmVzc2lvbiA6IGNsYXNzIEJpbmRpbmdJZGVudGlmaWVyb3B0IENsYXNzVGFpbAor
CisgICAgMS4gSWYgQmluZGluZ0lkZW50aWZpZXJvcHQgaXMgbm90IHByZXNlbnQsIGxldCBjbGFz
c05hbWUgYmUgdW5kZWZpbmVkLgorICAgIDIuIEVsc2UsIGxldCBjbGFzc05hbWUgYmUgU3RyaW5n
VmFsdWUgb2YgQmluZGluZ0lkZW50aWZpZXIuCisgICAgMy4gTGV0IHZhbHVlIGJlIHRoZSByZXN1
bHQgb2YgQ2xhc3NEZWZpbml0aW9uRXZhbHVhdGlvbiBvZiBDbGFzc1RhaWwKKyAgICAgICB3aXRo
IGFyZ3VtZW50IGNsYXNzTmFtZS4KKyAgICBbLi4uXQorCisgICAgMTQuNS4xNCBSdW50aW1lIFNl
bWFudGljczogQ2xhc3NEZWZpbml0aW9uRXZhbHVhdGlvbgorCisgICAgMjEuIEZvciBlYWNoIENs
YXNzRWxlbWVudCBtIGluIG9yZGVyIGZyb20gbWV0aG9kcworICAgICAgICBhLiBJZiBJc1N0YXRp
YyBvZiBtIGlzIGZhbHNlLCB0aGVuCisgICAgICAgIGIuIEVsc2UsCisgICAgICAgICAgIExldCBz
dGF0dXMgYmUgdGhlIHJlc3VsdCBvZiBwZXJmb3JtaW5nIFByb3BlcnR5RGVmaW5pdGlvbkV2YWx1
YXRpb24KKyAgICAgICAgICAgZm9yIG0gd2l0aCBhcmd1bWVudHMgRiBhbmQgZmFsc2UuCisgICAg
Wy4uLl0KKworICAgIFJ1bnRpbWUgU2VtYW50aWNzOiBQcm9wZXJ0eURlZmluaXRpb25FdmFsdWF0
aW9uCisKKyAgICBBc3luY0dlbmVyYXRvck1ldGhvZCA6CisgICAgICAgIGFzeW5jIFtubyBMaW5l
VGVybWluYXRvciBoZXJlXSAqIFByb3BlcnR5TmFtZSAoIFVuaXF1ZUZvcm1hbFBhcmFtZXRlcnMg
KQorICAgICAgICAgICAgeyBBc3luY0dlbmVyYXRvckJvZHkgfQorCisgICAgMS4gTGV0IHByb3BL
ZXkgYmUgdGhlIHJlc3VsdCBvZiBldmFsdWF0aW5nIFByb3BlcnR5TmFtZS4KKyAgICAyLiBSZXR1
cm5JZkFicnVwdChwcm9wS2V5KS4KKyAgICAzLiBJZiB0aGUgZnVuY3Rpb24gY29kZSBmb3IgdGhp
cyBBc3luY0dlbmVyYXRvck1ldGhvZCBpcyBzdHJpY3QgbW9kZSBjb2RlLCBsZXQgc3RyaWN0IGJl
IHRydWUuCisgICAgICAgT3RoZXJ3aXNlIGxldCBzdHJpY3QgYmUgZmFsc2UuCisgICAgNC4gTGV0
IHNjb3BlIGJlIHRoZSBydW5uaW5nIGV4ZWN1dGlvbiBjb250ZXh0J3MgTGV4aWNhbEVudmlyb25t
ZW50LgorICAgIDUuIExldCBjbG9zdXJlIGJlICEgQXN5bmNHZW5lcmF0b3JGdW5jdGlvbkNyZWF0
ZShNZXRob2QsIFVuaXF1ZUZvcm1hbFBhcmFtZXRlcnMsCisgICAgICAgQXN5bmNHZW5lcmF0b3JC
b2R5LCBzY29wZSwgc3RyaWN0KS4KKyAgICBbLi4uXQorCisKKyAgICBSdW50aW1lIFNlbWFudGlj
czogSXRlcmF0b3JCaW5kaW5nSW5pdGlhbGl6YXRpb24KKworICAgIEJpbmRpbmdSZXN0RWxlbWVu
dCA6IC4uLiBCaW5kaW5nSWRlbnRpZmllcgorCisgICAgWy4uLl0KKyAgICAyLiBMZXQgQSBiZSAh
IEFycmF5Q3JlYXRlKDApLgorICAgIDMuIExldCBuIGJlIDAuCisgICAgNC4gUmVwZWF0LAorICAg
ICAgICBbLi4uXQorICAgICAgICBmLiBQZXJmb3JtICEgQ3JlYXRlRGF0YVByb3BlcnR5T3JUaHJv
dyhBLCAhIFRvU3RyaW5nKG4pLCBuZXh0VmFsdWUpLgorICAgICAgICBnLiBTZXQgbiB0byBuICsg
MS4KKworLS0tKi8KKworCit2YXIgY2FsbENvdW50ID0gMDsKK3ZhciBDID0gY2xhc3MgeworICBz
dGF0aWMgYXN5bmMgKiAjbWV0aG9kKFsuLi54XSkgeworICAgIGFzc2VydChBcnJheS5pc0FycmF5
KHgpKTsKKyAgICBhc3NlcnQuY29tcGFyZUFycmF5KHgsIFsxXSk7CisgICAgY2FsbENvdW50ID0g
Y2FsbENvdW50ICsgMTsKKyAgfQorCisgIHN0YXRpYyBnZXQgbWV0aG9kKCkgeworICAgIHJldHVy
biB0aGlzLiNtZXRob2Q7CisgIH0KK307CisKK0MubWV0aG9kKFsxXSkubmV4dCgpLnRoZW4oKCkg
PT4geworICAgIGFzc2VydC5zYW1lVmFsdWUoY2FsbENvdW50LCAxLCAnaW52b2tlZCBleGFjdGx5
IG9uY2UnKTsgICAgCit9KS50aGVuKCRET05FLCAkRE9ORSk7CmRpZmYgLS1naXQgYS9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9kc3RyL2FzeW5jLXByaXZh
dGUtZ2VuLW1ldGgtc3RhdGljLWRmbHQtYXJ5LXB0cm4tZWxlbS1pZC1pdGVyLXZhbC1hcnJheS1w
cm90b3R5cGUuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9j
bGFzcy9kc3RyL2FzeW5jLXByaXZhdGUtZ2VuLW1ldGgtc3RhdGljLWRmbHQtYXJ5LXB0cm4tZWxl
bS1pZC1pdGVyLXZhbC1hcnJheS1wcm90b3R5cGUuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzczOWY2NDYwOWZm
NDEyNWZlYmVmNzM0ZmYzMjVhZDFhMWQ0OWZkOAotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2RzdHIvYXN5bmMtcHJpdmF0
ZS1nZW4tbWV0aC1zdGF0aWMtZGZsdC1hcnktcHRybi1lbGVtLWlkLWl0ZXItdmFsLWFycmF5LXBy
b3RvdHlwZS5qcwpAQCAtMCwwICsxLDkxIEBACisvLyBUaGlzIGZpbGUgd2FzIHByb2NlZHVyYWxs
eSBnZW5lcmF0ZWQgZnJvbSB0aGUgZm9sbG93aW5nIHNvdXJjZXM6CisvLyAtIHNyYy9kc3RyLWJp
bmRpbmcvYXJ5LXB0cm4tZWxlbS1pZC1pdGVyLXZhbC1hcnJheS1wcm90b3R5cGUuY2FzZQorLy8g
LSBzcmMvZHN0ci1iaW5kaW5nL2RlZmF1bHQvY2xzLWV4cHItYXN5bmMtcHJpdmF0ZS1nZW4tbWV0
aC1zdGF0aWMtZGZsdC50ZW1wbGF0ZQorLyotLS0KK2Rlc2NyaXB0aW9uOiBBcnJheSBkZXN0cnVj
dHVyaW5nIHVzZXMgb3ZlcnJpZGVuIEFycmF5LnByb3RvdHlwZVtTeW1ib2wuaXRlcmF0b3JdIChw
cml2YXRlIHN0YXRpYyBjbGFzcyBleHByZXNzaW9uIGFzeW5jIGdlbmVyYXRvciBtZXRob2QgKGRl
ZmF1bHQgcGFyYW1ldGVyKSkKK2VzaWQ6IHNlYy1jbGFzcy1kZWZpbml0aW9ucy1ydW50aW1lLXNl
bWFudGljcy1ldmFsdWF0aW9uCitmZWF0dXJlczogW1N5bWJvbC5pdGVyYXRvciwgZ2VuZXJhdG9y
cywgY2xhc3MsIGNsYXNzLXN0YXRpYy1tZXRob2RzLXByaXZhdGUsIGFzeW5jLWl0ZXJhdGlvbl0K
K2ZsYWdzOiBbZ2VuZXJhdGVkLCBhc3luY10KK2luZm86IHwKKyAgICBDbGFzc0V4cHJlc3Npb24g
OiBjbGFzcyBCaW5kaW5nSWRlbnRpZmllcm9wdCBDbGFzc1RhaWwKKworICAgIDEuIElmIEJpbmRp
bmdJZGVudGlmaWVyb3B0IGlzIG5vdCBwcmVzZW50LCBsZXQgY2xhc3NOYW1lIGJlIHVuZGVmaW5l
ZC4KKyAgICAyLiBFbHNlLCBsZXQgY2xhc3NOYW1lIGJlIFN0cmluZ1ZhbHVlIG9mIEJpbmRpbmdJ
ZGVudGlmaWVyLgorICAgIDMuIExldCB2YWx1ZSBiZSB0aGUgcmVzdWx0IG9mIENsYXNzRGVmaW5p
dGlvbkV2YWx1YXRpb24gb2YgQ2xhc3NUYWlsCisgICAgICAgd2l0aCBhcmd1bWVudCBjbGFzc05h
bWUuCisgICAgWy4uLl0KKworICAgIDE0LjUuMTQgUnVudGltZSBTZW1hbnRpY3M6IENsYXNzRGVm
aW5pdGlvbkV2YWx1YXRpb24KKworICAgIDIxLiBGb3IgZWFjaCBDbGFzc0VsZW1lbnQgbSBpbiBv
cmRlciBmcm9tIG1ldGhvZHMKKyAgICAgICAgYS4gSWYgSXNTdGF0aWMgb2YgbSBpcyBmYWxzZSwg
dGhlbgorICAgICAgICBiLiBFbHNlLAorICAgICAgICAgICBMZXQgc3RhdHVzIGJlIHRoZSByZXN1
bHQgb2YgcGVyZm9ybWluZyBQcm9wZXJ0eURlZmluaXRpb25FdmFsdWF0aW9uCisgICAgICAgICAg
IGZvciBtIHdpdGggYXJndW1lbnRzIEYgYW5kIGZhbHNlLgorICAgIFsuLi5dCisKKyAgICBSdW50
aW1lIFNlbWFudGljczogUHJvcGVydHlEZWZpbml0aW9uRXZhbHVhdGlvbgorCisgICAgQXN5bmNH
ZW5lcmF0b3JNZXRob2QgOgorICAgICAgICBhc3luYyBbbm8gTGluZVRlcm1pbmF0b3IgaGVyZV0g
KiBQcm9wZXJ0eU5hbWUgKCBVbmlxdWVGb3JtYWxQYXJhbWV0ZXJzICkKKyAgICAgICAgICAgIHsg
QXN5bmNHZW5lcmF0b3JCb2R5IH0KKworICAgIDEuIExldCBwcm9wS2V5IGJlIHRoZSByZXN1bHQg
b2YgZXZhbHVhdGluZyBQcm9wZXJ0eU5hbWUuCisgICAgMi4gUmV0dXJuSWZBYnJ1cHQocHJvcEtl
eSkuCisgICAgMy4gSWYgdGhlIGZ1bmN0aW9uIGNvZGUgZm9yIHRoaXMgQXN5bmNHZW5lcmF0b3JN
ZXRob2QgaXMgc3RyaWN0IG1vZGUgY29kZSwgbGV0IHN0cmljdCBiZSB0cnVlLgorICAgICAgIE90
aGVyd2lzZSBsZXQgc3RyaWN0IGJlIGZhbHNlLgorICAgIDQuIExldCBzY29wZSBiZSB0aGUgcnVu
bmluZyBleGVjdXRpb24gY29udGV4dCdzIExleGljYWxFbnZpcm9ubWVudC4KKyAgICA1LiBMZXQg
Y2xvc3VyZSBiZSAhIEFzeW5jR2VuZXJhdG9yRnVuY3Rpb25DcmVhdGUoTWV0aG9kLCBVbmlxdWVG
b3JtYWxQYXJhbWV0ZXJzLAorICAgICAgIEFzeW5jR2VuZXJhdG9yQm9keSwgc2NvcGUsIHN0cmlj
dCkuCisgICAgWy4uLl0KKworCisgICAgUnVudGltZSBTZW1hbnRpY3M6IEl0ZXJhdG9yQmluZGlu
Z0luaXRpYWxpemF0aW9uCisKKyAgICBTaW5nbGVOYW1lQmluZGluZyA6IEJpbmRpbmdJZGVudGlm
aWVyIEluaXRpYWxpemVyX29wdAorCisgICAgMS4gTGV0IGJpbmRpbmdJZCBiZSBTdHJpbmdWYWx1
ZSBvZiBCaW5kaW5nSWRlbnRpZmllci4KKyAgICAyLiBMZXQgbGhzIGJlID8gUmVzb2x2ZUJpbmRp
bmcoYmluZGluZ0lkLCBlbnZpcm9ubWVudCkuCisgICAgMy4gSWYgaXRlcmF0b3JSZWNvcmQuW1tE
b25lXV0gaXMgZmFsc2UsIHRoZW4KKyAgICAgICAgYS4gTGV0IG5leHQgYmUgSXRlcmF0b3JTdGVw
KGl0ZXJhdG9yUmVjb3JkKS4KKyAgICAgICAgYi4gSWYgbmV4dCBpcyBhbiBhYnJ1cHQgY29tcGxl
dGlvbiwgc2V0IGl0ZXJhdG9yUmVjb3JkLltbRG9uZV1dIHRvIHRydWUuCisgICAgICAgIGMuIFJl
dHVybklmQWJydXB0KG5leHQpLgorICAgICAgICBkLiBJZiBuZXh0IGlzIGZhbHNlLCBzZXQgaXRl
cmF0b3JSZWNvcmQuW1tEb25lXV0gdG8gdHJ1ZS4KKyAgICAgICAgZS4gRWxzZSwKKyAgICAgICAg
ICAgIGkuIExldCB2IGJlIEl0ZXJhdG9yVmFsdWUobmV4dCkuCisgICAgICAgICAgICBpaS4gSWYg
diBpcyBhbiBhYnJ1cHQgY29tcGxldGlvbiwgc2V0IGl0ZXJhdG9yUmVjb3JkLltbRG9uZV1dIHRv
IHRydWUuCisgICAgICAgICAgICBpaWkuIFJldHVybklmQWJydXB0KHYpLgorICAgIFsuLi5dCisg
ICAgNy4gUmV0dXJuIEluaXRpYWxpemVSZWZlcmVuY2VkQmluZGluZyhsaHMsIHYpLgorCistLS0q
LworQXJyYXkucHJvdG90eXBlW1N5bWJvbC5pdGVyYXRvcl0gPSBmdW5jdGlvbiogKCkgeworICAg
IGlmICh0aGlzLmxlbmd0aCA+IDApIHsKKyAgICAgICAgeWllbGQgdGhpc1swXTsKKyAgICB9Cisg
ICAgaWYgKHRoaXMubGVuZ3RoID4gMSkgeworICAgICAgICB5aWVsZCB0aGlzWzFdOworICAgIH0K
KyAgICBpZiAodGhpcy5sZW5ndGggPiAyKSB7CisgICAgICAgIHlpZWxkIDQyOworICAgIH0KK307
CisKKwordmFyIGNhbGxDb3VudCA9IDA7Cit2YXIgQyA9IGNsYXNzIHsKKyAgc3RhdGljIGFzeW5j
ICogI21ldGhvZChbeCwgeSwgel0gPSBbMSwgMiwgM10pIHsKKyAgICBhc3NlcnQuc2FtZVZhbHVl
KHgsIDEpOworICAgIGFzc2VydC5zYW1lVmFsdWUoeSwgMik7CisgICAgYXNzZXJ0LnNhbWVWYWx1
ZSh6LCA0Mik7CisgICAgY2FsbENvdW50ID0gY2FsbENvdW50ICsgMTsKKyAgfQorCisgIHN0YXRp
YyBnZXQgbWV0aG9kKCkgeworICAgIHJldHVybiB0aGlzLiNtZXRob2Q7CisgIH0KK307CisKK0Mu
bWV0aG9kKCkubmV4dCgpLnRoZW4oKCkgPT4geworICAgIGFzc2VydC5zYW1lVmFsdWUoY2FsbENv
dW50LCAxLCAnaW52b2tlZCBleGFjdGx5IG9uY2UnKTsgICAgCit9KS50aGVuKCRET05FLCAkRE9O
RSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9u
cy9jbGFzcy9kc3RyL2FzeW5jLXByaXZhdGUtZ2VuLW1ldGgtc3RhdGljLWRmbHQtYXJ5LXB0cm4t
cmVzdC1pZC1kaXJlY3QuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNz
aW9ucy9jbGFzcy9kc3RyL2FzeW5jLXByaXZhdGUtZ2VuLW1ldGgtc3RhdGljLWRmbHQtYXJ5LXB0
cm4tcmVzdC1pZC1kaXJlY3QuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzU4MzBkMzI1N2JiNzhlNWZkNDAxYTA5
ZjI0OWI2YWI5ODM2MmUxMQotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2RzdHIvYXN5bmMtcHJpdmF0ZS1nZW4tbWV0aC1z
dGF0aWMtZGZsdC1hcnktcHRybi1yZXN0LWlkLWRpcmVjdC5qcwpAQCAtMCwwICsxLDc0IEBACisv
LyBUaGlzIGZpbGUgd2FzIHByb2NlZHVyYWxseSBnZW5lcmF0ZWQgZnJvbSB0aGUgZm9sbG93aW5n
IHNvdXJjZXM6CisvLyAtIHNyYy9kc3RyLWJpbmRpbmcvYXJ5LXB0cm4tcmVzdC1pZC1kaXJlY3Qu
Y2FzZQorLy8gLSBzcmMvZHN0ci1iaW5kaW5nL2RlZmF1bHQvY2xzLWV4cHItYXN5bmMtcHJpdmF0
ZS1nZW4tbWV0aC1zdGF0aWMtZGZsdC50ZW1wbGF0ZQorLyotLS0KK2Rlc2NyaXB0aW9uOiBMb25l
IHJlc3QgZWxlbWVudCAoZGlyZWN0IGJpbmRpbmcpIChwcml2YXRlIHN0YXRpYyBjbGFzcyBleHBy
ZXNzaW9uIGFzeW5jIGdlbmVyYXRvciBtZXRob2QgKGRlZmF1bHQgcGFyYW1ldGVyKSkKK2VzaWQ6
IHNlYy1jbGFzcy1kZWZpbml0aW9ucy1ydW50aW1lLXNlbWFudGljcy1ldmFsdWF0aW9uCitmZWF0
dXJlczogW2NsYXNzLCBjbGFzcy1zdGF0aWMtbWV0aG9kcy1wcml2YXRlLCBhc3luYy1pdGVyYXRp
b25dCitmbGFnczogW2dlbmVyYXRlZCwgYXN5bmNdCitpbmNsdWRlczogW2NvbXBhcmVBcnJheS5q
c10KK2luZm86IHwKKyAgICBDbGFzc0V4cHJlc3Npb24gOiBjbGFzcyBCaW5kaW5nSWRlbnRpZmll
cm9wdCBDbGFzc1RhaWwKKworICAgIDEuIElmIEJpbmRpbmdJZGVudGlmaWVyb3B0IGlzIG5vdCBw
cmVzZW50LCBsZXQgY2xhc3NOYW1lIGJlIHVuZGVmaW5lZC4KKyAgICAyLiBFbHNlLCBsZXQgY2xh
c3NOYW1lIGJlIFN0cmluZ1ZhbHVlIG9mIEJpbmRpbmdJZGVudGlmaWVyLgorICAgIDMuIExldCB2
YWx1ZSBiZSB0aGUgcmVzdWx0IG9mIENsYXNzRGVmaW5pdGlvbkV2YWx1YXRpb24gb2YgQ2xhc3NU
YWlsCisgICAgICAgd2l0aCBhcmd1bWVudCBjbGFzc05hbWUuCisgICAgWy4uLl0KKworICAgIDE0
LjUuMTQgUnVudGltZSBTZW1hbnRpY3M6IENsYXNzRGVmaW5pdGlvbkV2YWx1YXRpb24KKworICAg
IDIxLiBGb3IgZWFjaCBDbGFzc0VsZW1lbnQgbSBpbiBvcmRlciBmcm9tIG1ldGhvZHMKKyAgICAg
ICAgYS4gSWYgSXNTdGF0aWMgb2YgbSBpcyBmYWxzZSwgdGhlbgorICAgICAgICBiLiBFbHNlLAor
ICAgICAgICAgICBMZXQgc3RhdHVzIGJlIHRoZSByZXN1bHQgb2YgcGVyZm9ybWluZyBQcm9wZXJ0
eURlZmluaXRpb25FdmFsdWF0aW9uCisgICAgICAgICAgIGZvciBtIHdpdGggYXJndW1lbnRzIEYg
YW5kIGZhbHNlLgorICAgIFsuLi5dCisKKyAgICBSdW50aW1lIFNlbWFudGljczogUHJvcGVydHlE
ZWZpbml0aW9uRXZhbHVhdGlvbgorCisgICAgQXN5bmNHZW5lcmF0b3JNZXRob2QgOgorICAgICAg
ICBhc3luYyBbbm8gTGluZVRlcm1pbmF0b3IgaGVyZV0gKiBQcm9wZXJ0eU5hbWUgKCBVbmlxdWVG
b3JtYWxQYXJhbWV0ZXJzICkKKyAgICAgICAgICAgIHsgQXN5bmNHZW5lcmF0b3JCb2R5IH0KKwor
ICAgIDEuIExldCBwcm9wS2V5IGJlIHRoZSByZXN1bHQgb2YgZXZhbHVhdGluZyBQcm9wZXJ0eU5h
bWUuCisgICAgMi4gUmV0dXJuSWZBYnJ1cHQocHJvcEtleSkuCisgICAgMy4gSWYgdGhlIGZ1bmN0
aW9uIGNvZGUgZm9yIHRoaXMgQXN5bmNHZW5lcmF0b3JNZXRob2QgaXMgc3RyaWN0IG1vZGUgY29k
ZSwgbGV0IHN0cmljdCBiZSB0cnVlLgorICAgICAgIE90aGVyd2lzZSBsZXQgc3RyaWN0IGJlIGZh
bHNlLgorICAgIDQuIExldCBzY29wZSBiZSB0aGUgcnVubmluZyBleGVjdXRpb24gY29udGV4dCdz
IExleGljYWxFbnZpcm9ubWVudC4KKyAgICA1LiBMZXQgY2xvc3VyZSBiZSAhIEFzeW5jR2VuZXJh
dG9yRnVuY3Rpb25DcmVhdGUoTWV0aG9kLCBVbmlxdWVGb3JtYWxQYXJhbWV0ZXJzLAorICAgICAg
IEFzeW5jR2VuZXJhdG9yQm9keSwgc2NvcGUsIHN0cmljdCkuCisgICAgWy4uLl0KKworCisgICAg
UnVudGltZSBTZW1hbnRpY3M6IEl0ZXJhdG9yQmluZGluZ0luaXRpYWxpemF0aW9uCisKKyAgICBC
aW5kaW5nUmVzdEVsZW1lbnQgOiAuLi4gQmluZGluZ0lkZW50aWZpZXIKKworICAgIFsuLi5dCisg
ICAgMi4gTGV0IEEgYmUgISBBcnJheUNyZWF0ZSgwKS4KKyAgICAzLiBMZXQgbiBiZSAwLgorICAg
IDQuIFJlcGVhdCwKKyAgICAgICAgWy4uLl0KKyAgICAgICAgZi4gUGVyZm9ybSAhIENyZWF0ZURh
dGFQcm9wZXJ0eU9yVGhyb3coQSwgISBUb1N0cmluZyhuKSwgbmV4dFZhbHVlKS4KKyAgICAgICAg
Zy4gU2V0IG4gdG8gbiArIDEuCisKKy0tLSovCisKKwordmFyIGNhbGxDb3VudCA9IDA7Cit2YXIg
QyA9IGNsYXNzIHsKKyAgc3RhdGljIGFzeW5jICogI21ldGhvZChbLi4ueF0gPSBbMV0pIHsKKyAg
ICBhc3NlcnQoQXJyYXkuaXNBcnJheSh4KSk7CisgICAgYXNzZXJ0LmNvbXBhcmVBcnJheSh4LCBb
MV0pOworICAgIGNhbGxDb3VudCA9IGNhbGxDb3VudCArIDE7CisgIH0KKworICBzdGF0aWMgZ2V0
IG1ldGhvZCgpIHsKKyAgICByZXR1cm4gdGhpcy4jbWV0aG9kOworICB9Cit9OworCitDLm1ldGhv
ZCgpLm5leHQoKS50aGVuKCgpID0+IHsKKyAgICBhc3NlcnQuc2FtZVZhbHVlKGNhbGxDb3VudCwg
MSwgJ2ludm9rZWQgZXhhY3RseSBvbmNlJyk7ICAgIAorfSkudGhlbigkRE9ORSwgJERPTkUpOwpk
aWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xh
c3MvZHN0ci9nZW4tbWV0aC1hcnktaW5pdC1pdGVyLWdldC1lcnItYXJyYXktcHJvdG90eXBlLmpz
IGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvZHN0ci9n
ZW4tbWV0aC1hcnktaW5pdC1pdGVyLWdldC1lcnItYXJyYXktcHJvdG90eXBlLmpzCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmIwZjZlN2U1MzYzY2RlNjE4ZjMyZjE5MGY0ZTk2MTljYWU4YTZlNGIKLS0tIC9kZXYvbnVs
bAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9k
c3RyL2dlbi1tZXRoLWFyeS1pbml0LWl0ZXItZ2V0LWVyci1hcnJheS1wcm90b3R5cGUuanMKQEAg
LTAsMCArMSw4OSBAQAorLy8gVGhpcyBmaWxlIHdhcyBwcm9jZWR1cmFsbHkgZ2VuZXJhdGVkIGZy
b20gdGhlIGZvbGxvd2luZyBzb3VyY2VzOgorLy8gLSBzcmMvZHN0ci1iaW5kaW5nL2FyeS1pbml0
LWl0ZXItZ2V0LWVyci1hcnJheS1wcm90b3R5cGUuY2FzZQorLy8gLSBzcmMvZHN0ci1iaW5kaW5n
L2Vycm9yL2Nscy1leHByLWdlbi1tZXRoLnRlbXBsYXRlCisvKi0tLQorZGVzY3JpcHRpb246IEFi
cnVwdCBjb21wbGV0aW9uIHJldHVybmVkIGJ5IEdldEl0ZXJhdG9yIChjbGFzcyBleHByZXNzaW9u
IG1ldGhvZCkKK2VzaWQ6IHNlYy1jbGFzcy1kZWZpbml0aW9ucy1ydW50aW1lLXNlbWFudGljcy1l
dmFsdWF0aW9uCitmZWF0dXJlczogW1N5bWJvbC5pdGVyYXRvciwgZ2VuZXJhdG9ycywgZGVzdHJ1
Y3R1cmluZy1iaW5kaW5nXQorZmxhZ3M6IFtnZW5lcmF0ZWRdCitpbmZvOiB8CisgICAgQ2xhc3NF
eHByZXNzaW9uIDogY2xhc3MgQmluZGluZ0lkZW50aWZpZXJvcHQgQ2xhc3NUYWlsCisKKyAgICAx
LiBJZiBCaW5kaW5nSWRlbnRpZmllcm9wdCBpcyBub3QgcHJlc2VudCwgbGV0IGNsYXNzTmFtZSBi
ZSB1bmRlZmluZWQuCisgICAgMi4gRWxzZSwgbGV0IGNsYXNzTmFtZSBiZSBTdHJpbmdWYWx1ZSBv
ZiBCaW5kaW5nSWRlbnRpZmllci4KKyAgICAzLiBMZXQgdmFsdWUgYmUgdGhlIHJlc3VsdCBvZiBD
bGFzc0RlZmluaXRpb25FdmFsdWF0aW9uIG9mIENsYXNzVGFpbAorICAgICAgIHdpdGggYXJndW1l
bnQgY2xhc3NOYW1lLgorICAgIFsuLi5dCisKKyAgICAxNC41LjE0IFJ1bnRpbWUgU2VtYW50aWNz
OiBDbGFzc0RlZmluaXRpb25FdmFsdWF0aW9uCisKKyAgICAyMS4gRm9yIGVhY2ggQ2xhc3NFbGVt
ZW50IG0gaW4gb3JkZXIgZnJvbSBtZXRob2RzCisgICAgICAgIGEuIElmIElzU3RhdGljIG9mIG0g
aXMgZmFsc2UsIHRoZW4KKyAgICAgICAgICAgaS4gTGV0IHN0YXR1cyBiZSB0aGUgcmVzdWx0IG9m
IHBlcmZvcm1pbmcKKyAgICAgICAgICAgICAgUHJvcGVydHlEZWZpbml0aW9uRXZhbHVhdGlvbiBm
b3IgbSB3aXRoIGFyZ3VtZW50cyBwcm90byBhbmQKKyAgICAgICAgICAgICAgZmFsc2UuCisgICAg
ICAgIFsuLi5dCisKKyAgICAxNC40LjEzIFJ1bnRpbWUgU2VtYW50aWNzOiBQcm9wZXJ0eURlZmlu
aXRpb25FdmFsdWF0aW9uCisKKyAgICBHZW5lcmF0b3JNZXRob2QgOgorICAgICAgICAqIFByb3Bl
cnR5TmFtZSAoIFN0cmljdEZvcm1hbFBhcmFtZXRlcnMgKSB7IEdlbmVyYXRvckJvZHkgfQorCisg
ICAgMS4gTGV0IHByb3BLZXkgYmUgdGhlIHJlc3VsdCBvZiBldmFsdWF0aW5nIFByb3BlcnR5TmFt
ZS4KKyAgICAyLiBSZXR1cm5JZkFicnVwdChwcm9wS2V5KS4KKyAgICAzLiBJZiB0aGUgZnVuY3Rp
b24gY29kZSBmb3IgdGhpcyBHZW5lcmF0b3JNZXRob2QgaXMgc3RyaWN0IG1vZGUgY29kZSwKKyAg
ICAgICBsZXQgc3RyaWN0IGJlIHRydWUuIE90aGVyd2lzZSBsZXQgc3RyaWN0IGJlIGZhbHNlLgor
ICAgIDQuIExldCBzY29wZSBiZSB0aGUgcnVubmluZyBleGVjdXRpb24gY29udGV4dCdzIExleGlj
YWxFbnZpcm9ubWVudC4KKyAgICA1LiBMZXQgY2xvc3VyZSBiZSBHZW5lcmF0b3JGdW5jdGlvbkNy
ZWF0ZShNZXRob2QsCisgICAgICAgU3RyaWN0Rm9ybWFsUGFyYW1ldGVycywgR2VuZXJhdG9yQm9k
eSwgc2NvcGUsIHN0cmljdCkuCisKKyAgICA5LjIuMSBbW0NhbGxdXSAoIHRoaXNBcmd1bWVudCwg
YXJndW1lbnRzTGlzdCkKKworICAgIFsuLi5dCisgICAgNy4gTGV0IHJlc3VsdCBiZSBPcmRpbmFy
eUNhbGxFdmFsdWF0ZUJvZHkoRiwgYXJndW1lbnRzTGlzdCkuCisgICAgWy4uLl0KKworICAgIDku
Mi4xLjMgT3JkaW5hcnlDYWxsRXZhbHVhdGVCb2R5ICggRiwgYXJndW1lbnRzTGlzdCApCisKKyAg
ICAxLiBMZXQgc3RhdHVzIGJlIEZ1bmN0aW9uRGVjbGFyYXRpb25JbnN0YW50aWF0aW9uKEYsIGFy
Z3VtZW50c0xpc3QpLgorICAgIFsuLi5dCisKKyAgICA5LjIuMTIgRnVuY3Rpb25EZWNsYXJhdGlv
bkluc3RhbnRpYXRpb24oZnVuYywgYXJndW1lbnRzTGlzdCkKKworICAgIFsuLi5dCisgICAgMjMu
IExldCBpdGVyYXRvclJlY29yZCBiZSBSZWNvcmQge1tbaXRlcmF0b3JdXToKKyAgICAgICAgQ3Jl
YXRlTGlzdEl0ZXJhdG9yKGFyZ3VtZW50c0xpc3QpLCBbW2RvbmVdXTogZmFsc2V9LgorICAgIDI0
LiBJZiBoYXNEdXBsaWNhdGVzIGlzIHRydWUsIHRoZW4KKyAgICAgICAgWy4uLl0KKyAgICAyNS4g
RWxzZSwKKyAgICAgICAgYi4gTGV0IGZvcm1hbFN0YXR1cyBiZSBJdGVyYXRvckJpbmRpbmdJbml0
aWFsaXphdGlvbiBmb3IgZm9ybWFscyB3aXRoCisgICAgICAgICAgIGl0ZXJhdG9yUmVjb3JkIGFu
ZCBlbnYgYXMgYXJndW1lbnRzLgorICAgIFsuLi5dCisKKyAgICBSdW50aW1lIFNlbWFudGljczog
QmluZGluZ0luaXRpYWxpemF0aW9uCisKKyAgICBCaW5kaW5nUGF0dGVybiA6IEFycmF5QmluZGlu
Z1BhdHRlcm4KKworICAgIDEuIExldCBpdGVyYXRvclJlY29yZCBiZSA/IEdldEl0ZXJhdG9yKHZh
bHVlKS4KKworICAgIEdldEl0ZXJhdG9yICggb2JqIFsgLCBoaW50IFsgLCBtZXRob2QgXSBdICkK
KworICAgIFsuLi5dCisgICAgNC4gTGV0IGl0ZXJhdG9yIGJlID8gQ2FsbChtZXRob2QsIG9iaiku
CisKKyAgICBDYWxsICggRiwgViBbICwgYXJndW1lbnRzTGlzdCBdICkKKworICAgIFsuLi5dCisg
ICAgMi4gSWYgSXNDYWxsYWJsZShGKSBpcyBmYWxzZSwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0
aW9uLgorCistLS0qLworZGVsZXRlIEFycmF5LnByb3RvdHlwZVtTeW1ib2wuaXRlcmF0b3JdOwor
Cit2YXIgQyA9IGNsYXNzIHsKKyAgKm1ldGhvZChbeCwgeSwgel0pIHt9Cit9OwordmFyIGMgPSBu
ZXcgQygpOworCithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgZnVuY3Rpb24oKSB7CisgIGMubWV0
aG9kKFsxLCAyLCAzXSk7Cit9KTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xh
bmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2RzdHIvZ2VuLW1ldGgtYXJ5LXB0cm4tZWxlbS1pZC1p
dGVyLXZhbC1hcnJheS1wcm90b3R5cGUuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFn
ZS9leHByZXNzaW9ucy9jbGFzcy9kc3RyL2dlbi1tZXRoLWFyeS1wdHJuLWVsZW0taWQtaXRlci12
YWwtYXJyYXktcHJvdG90eXBlLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjMzNzg3YjYxZTEzNTg0MzkyZjc1OTdl
ZTk1NjU5Y2NjNDMxMjI5MDIKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9kc3RyL2dlbi1tZXRoLWFyeS1wdHJuLWVsZW0t
aWQtaXRlci12YWwtYXJyYXktcHJvdG90eXBlLmpzCkBAIC0wLDAgKzEsMTA1IEBACisvLyBUaGlz
IGZpbGUgd2FzIHByb2NlZHVyYWxseSBnZW5lcmF0ZWQgZnJvbSB0aGUgZm9sbG93aW5nIHNvdXJj
ZXM6CisvLyAtIHNyYy9kc3RyLWJpbmRpbmcvYXJ5LXB0cm4tZWxlbS1pZC1pdGVyLXZhbC1hcnJh
eS1wcm90b3R5cGUuY2FzZQorLy8gLSBzcmMvZHN0ci1iaW5kaW5nL2RlZmF1bHQvY2xzLWV4cHIt
Z2VuLW1ldGgudGVtcGxhdGUKKy8qLS0tCitkZXNjcmlwdGlvbjogQXJyYXkgZGVzdHJ1Y3R1cmlu
ZyB1c2VzIG92ZXJyaWRlbiBBcnJheS5wcm90b3R5cGVbU3ltYm9sLml0ZXJhdG9yXSAoY2xhc3Mg
ZXhwcmVzc2lvbiBtZXRob2QpCitlc2lkOiBzZWMtY2xhc3MtZGVmaW5pdGlvbnMtcnVudGltZS1z
ZW1hbnRpY3MtZXZhbHVhdGlvbgorZmVhdHVyZXM6IFtTeW1ib2wuaXRlcmF0b3IsIGdlbmVyYXRv
cnMsIGRlc3RydWN0dXJpbmctYmluZGluZ10KK2ZsYWdzOiBbZ2VuZXJhdGVkXQoraW5mbzogfAor
ICAgIENsYXNzRXhwcmVzc2lvbiA6IGNsYXNzIEJpbmRpbmdJZGVudGlmaWVyb3B0IENsYXNzVGFp
bAorCisgICAgMS4gSWYgQmluZGluZ0lkZW50aWZpZXJvcHQgaXMgbm90IHByZXNlbnQsIGxldCBj
bGFzc05hbWUgYmUgdW5kZWZpbmVkLgorICAgIDIuIEVsc2UsIGxldCBjbGFzc05hbWUgYmUgU3Ry
aW5nVmFsdWUgb2YgQmluZGluZ0lkZW50aWZpZXIuCisgICAgMy4gTGV0IHZhbHVlIGJlIHRoZSBy
ZXN1bHQgb2YgQ2xhc3NEZWZpbml0aW9uRXZhbHVhdGlvbiBvZiBDbGFzc1RhaWwKKyAgICAgICB3
aXRoIGFyZ3VtZW50IGNsYXNzTmFtZS4KKyAgICBbLi4uXQorCisgICAgMTQuNS4xNCBSdW50aW1l
IFNlbWFudGljczogQ2xhc3NEZWZpbml0aW9uRXZhbHVhdGlvbgorCisgICAgMjEuIEZvciBlYWNo
IENsYXNzRWxlbWVudCBtIGluIG9yZGVyIGZyb20gbWV0aG9kcworICAgICAgICBhLiBJZiBJc1N0
YXRpYyBvZiBtIGlzIGZhbHNlLCB0aGVuCisgICAgICAgICAgIGkuIExldCBzdGF0dXMgYmUgdGhl
IHJlc3VsdCBvZiBwZXJmb3JtaW5nCisgICAgICAgICAgICAgIFByb3BlcnR5RGVmaW5pdGlvbkV2
YWx1YXRpb24gZm9yIG0gd2l0aCBhcmd1bWVudHMgcHJvdG8gYW5kCisgICAgICAgICAgICAgIGZh
bHNlLgorICAgICAgICBbLi4uXQorCisgICAgMTQuNC4xMyBSdW50aW1lIFNlbWFudGljczogUHJv
cGVydHlEZWZpbml0aW9uRXZhbHVhdGlvbgorCisgICAgR2VuZXJhdG9yTWV0aG9kIDoKKyAgICAg
ICAgKiBQcm9wZXJ0eU5hbWUgKCBTdHJpY3RGb3JtYWxQYXJhbWV0ZXJzICkgeyBHZW5lcmF0b3JC
b2R5IH0KKworICAgIDEuIExldCBwcm9wS2V5IGJlIHRoZSByZXN1bHQgb2YgZXZhbHVhdGluZyBQ
cm9wZXJ0eU5hbWUuCisgICAgMi4gUmV0dXJuSWZBYnJ1cHQocHJvcEtleSkuCisgICAgMy4gSWYg
dGhlIGZ1bmN0aW9uIGNvZGUgZm9yIHRoaXMgR2VuZXJhdG9yTWV0aG9kIGlzIHN0cmljdCBtb2Rl
IGNvZGUsCisgICAgICAgbGV0IHN0cmljdCBiZSB0cnVlLiBPdGhlcndpc2UgbGV0IHN0cmljdCBi
ZSBmYWxzZS4KKyAgICA0LiBMZXQgc2NvcGUgYmUgdGhlIHJ1bm5pbmcgZXhlY3V0aW9uIGNvbnRl
eHQncyBMZXhpY2FsRW52aXJvbm1lbnQuCisgICAgNS4gTGV0IGNsb3N1cmUgYmUgR2VuZXJhdG9y
RnVuY3Rpb25DcmVhdGUoTWV0aG9kLAorICAgICAgIFN0cmljdEZvcm1hbFBhcmFtZXRlcnMsIEdl
bmVyYXRvckJvZHksIHNjb3BlLCBzdHJpY3QpLgorCisgICAgOS4yLjEgW1tDYWxsXV0gKCB0aGlz
QXJndW1lbnQsIGFyZ3VtZW50c0xpc3QpCisKKyAgICBbLi4uXQorICAgIDcuIExldCByZXN1bHQg
YmUgT3JkaW5hcnlDYWxsRXZhbHVhdGVCb2R5KEYsIGFyZ3VtZW50c0xpc3QpLgorICAgIFsuLi5d
CisKKyAgICA5LjIuMS4zIE9yZGluYXJ5Q2FsbEV2YWx1YXRlQm9keSAoIEYsIGFyZ3VtZW50c0xp
c3QgKQorCisgICAgMS4gTGV0IHN0YXR1cyBiZSBGdW5jdGlvbkRlY2xhcmF0aW9uSW5zdGFudGlh
dGlvbihGLCBhcmd1bWVudHNMaXN0KS4KKyAgICBbLi4uXQorCisgICAgOS4yLjEyIEZ1bmN0aW9u
RGVjbGFyYXRpb25JbnN0YW50aWF0aW9uKGZ1bmMsIGFyZ3VtZW50c0xpc3QpCisKKyAgICBbLi4u
XQorICAgIDIzLiBMZXQgaXRlcmF0b3JSZWNvcmQgYmUgUmVjb3JkIHtbW2l0ZXJhdG9yXV06Cisg
ICAgICAgIENyZWF0ZUxpc3RJdGVyYXRvcihhcmd1bWVudHNMaXN0KSwgW1tkb25lXV06IGZhbHNl
fS4KKyAgICAyNC4gSWYgaGFzRHVwbGljYXRlcyBpcyB0cnVlLCB0aGVuCisgICAgICAgIFsuLi5d
CisgICAgMjUuIEVsc2UsCisgICAgICAgIGIuIExldCBmb3JtYWxTdGF0dXMgYmUgSXRlcmF0b3JC
aW5kaW5nSW5pdGlhbGl6YXRpb24gZm9yIGZvcm1hbHMgd2l0aAorICAgICAgICAgICBpdGVyYXRv
clJlY29yZCBhbmQgZW52IGFzIGFyZ3VtZW50cy4KKyAgICBbLi4uXQorCisgICAgUnVudGltZSBT
ZW1hbnRpY3M6IEl0ZXJhdG9yQmluZGluZ0luaXRpYWxpemF0aW9uCisKKyAgICBTaW5nbGVOYW1l
QmluZGluZyA6IEJpbmRpbmdJZGVudGlmaWVyIEluaXRpYWxpemVyX29wdAorCisgICAgMS4gTGV0
IGJpbmRpbmdJZCBiZSBTdHJpbmdWYWx1ZSBvZiBCaW5kaW5nSWRlbnRpZmllci4KKyAgICAyLiBM
ZXQgbGhzIGJlID8gUmVzb2x2ZUJpbmRpbmcoYmluZGluZ0lkLCBlbnZpcm9ubWVudCkuCisgICAg
My4gSWYgaXRlcmF0b3JSZWNvcmQuW1tEb25lXV0gaXMgZmFsc2UsIHRoZW4KKyAgICAgICAgYS4g
TGV0IG5leHQgYmUgSXRlcmF0b3JTdGVwKGl0ZXJhdG9yUmVjb3JkKS4KKyAgICAgICAgYi4gSWYg
bmV4dCBpcyBhbiBhYnJ1cHQgY29tcGxldGlvbiwgc2V0IGl0ZXJhdG9yUmVjb3JkLltbRG9uZV1d
IHRvIHRydWUuCisgICAgICAgIGMuIFJldHVybklmQWJydXB0KG5leHQpLgorICAgICAgICBkLiBJ
ZiBuZXh0IGlzIGZhbHNlLCBzZXQgaXRlcmF0b3JSZWNvcmQuW1tEb25lXV0gdG8gdHJ1ZS4KKyAg
ICAgICAgZS4gRWxzZSwKKyAgICAgICAgICAgIGkuIExldCB2IGJlIEl0ZXJhdG9yVmFsdWUobmV4
dCkuCisgICAgICAgICAgICBpaS4gSWYgdiBpcyBhbiBhYnJ1cHQgY29tcGxldGlvbiwgc2V0IGl0
ZXJhdG9yUmVjb3JkLltbRG9uZV1dIHRvIHRydWUuCisgICAgICAgICAgICBpaWkuIFJldHVybklm
QWJydXB0KHYpLgorICAgIFsuLi5dCisgICAgNy4gUmV0dXJuIEluaXRpYWxpemVSZWZlcmVuY2Vk
QmluZGluZyhsaHMsIHYpLgorCistLS0qLworQXJyYXkucHJvdG90eXBlW1N5bWJvbC5pdGVyYXRv
cl0gPSBmdW5jdGlvbiogKCkgeworICAgIGlmICh0aGlzLmxlbmd0aCA+IDApIHsKKyAgICAgICAg
eWllbGQgdGhpc1swXTsKKyAgICB9CisgICAgaWYgKHRoaXMubGVuZ3RoID4gMSkgeworICAgICAg
ICB5aWVsZCB0aGlzWzFdOworICAgIH0KKyAgICBpZiAodGhpcy5sZW5ndGggPiAyKSB7CisgICAg
ICAgIHlpZWxkIDQyOworICAgIH0KK307CisKK3ZhciBjYWxsQ291bnQgPSAwOwordmFyIEMgPSBj
bGFzcyB7CisgICptZXRob2QoW3gsIHksIHpdKSB7CisgICAgYXNzZXJ0LnNhbWVWYWx1ZSh4LCAx
KTsKKyAgICBhc3NlcnQuc2FtZVZhbHVlKHksIDIpOworICAgIGFzc2VydC5zYW1lVmFsdWUoeiwg
NDIpOworICAgIGNhbGxDb3VudCA9IGNhbGxDb3VudCArIDE7CisgIH0KK307CisKK25ldyBDKCku
bWV0aG9kKFsxLCAyLCAzXSkubmV4dCgpOworYXNzZXJ0LnNhbWVWYWx1ZShjYWxsQ291bnQsIDEs
ICdtZXRob2QgaW52b2tlZCBleGFjdGx5IG9uY2UnKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2RzdHIvZ2VuLW1ldGgtYXJ5LXB0
cm4tcmVzdC1pZC1kaXJlY3QuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHBy
ZXNzaW9ucy9jbGFzcy9kc3RyL2dlbi1tZXRoLWFyeS1wdHJuLXJlc3QtaWQtZGlyZWN0LmpzCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjBjNDE3YmI5MGYwZmVlYzU4ZDE0MzdjNDM1YjM3ZTUyYzNjZjZhNDgKLS0tIC9k
ZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9j
bGFzcy9kc3RyL2dlbi1tZXRoLWFyeS1wdHJuLXJlc3QtaWQtZGlyZWN0LmpzCkBAIC0wLDAgKzEs
ODggQEAKKy8vIFRoaXMgZmlsZSB3YXMgcHJvY2VkdXJhbGx5IGdlbmVyYXRlZCBmcm9tIHRoZSBm
b2xsb3dpbmcgc291cmNlczoKKy8vIC0gc3JjL2RzdHItYmluZGluZy9hcnktcHRybi1yZXN0LWlk
LWRpcmVjdC5jYXNlCisvLyAtIHNyYy9kc3RyLWJpbmRpbmcvZGVmYXVsdC9jbHMtZXhwci1nZW4t
bWV0aC50ZW1wbGF0ZQorLyotLS0KK2Rlc2NyaXB0aW9uOiBMb25lIHJlc3QgZWxlbWVudCAoZGly
ZWN0IGJpbmRpbmcpIChjbGFzcyBleHByZXNzaW9uIG1ldGhvZCkKK2VzaWQ6IHNlYy1jbGFzcy1k
ZWZpbml0aW9ucy1ydW50aW1lLXNlbWFudGljcy1ldmFsdWF0aW9uCitmZWF0dXJlczogW2dlbmVy
YXRvcnMsIGRlc3RydWN0dXJpbmctYmluZGluZ10KK2ZsYWdzOiBbZ2VuZXJhdGVkXQoraW5jbHVk
ZXM6IFtjb21wYXJlQXJyYXkuanNdCitpbmZvOiB8CisgICAgQ2xhc3NFeHByZXNzaW9uIDogY2xh
c3MgQmluZGluZ0lkZW50aWZpZXJvcHQgQ2xhc3NUYWlsCisKKyAgICAxLiBJZiBCaW5kaW5nSWRl
bnRpZmllcm9wdCBpcyBub3QgcHJlc2VudCwgbGV0IGNsYXNzTmFtZSBiZSB1bmRlZmluZWQuCisg
ICAgMi4gRWxzZSwgbGV0IGNsYXNzTmFtZSBiZSBTdHJpbmdWYWx1ZSBvZiBCaW5kaW5nSWRlbnRp
Zmllci4KKyAgICAzLiBMZXQgdmFsdWUgYmUgdGhlIHJlc3VsdCBvZiBDbGFzc0RlZmluaXRpb25F
dmFsdWF0aW9uIG9mIENsYXNzVGFpbAorICAgICAgIHdpdGggYXJndW1lbnQgY2xhc3NOYW1lLgor
ICAgIFsuLi5dCisKKyAgICAxNC41LjE0IFJ1bnRpbWUgU2VtYW50aWNzOiBDbGFzc0RlZmluaXRp
b25FdmFsdWF0aW9uCisKKyAgICAyMS4gRm9yIGVhY2ggQ2xhc3NFbGVtZW50IG0gaW4gb3JkZXIg
ZnJvbSBtZXRob2RzCisgICAgICAgIGEuIElmIElzU3RhdGljIG9mIG0gaXMgZmFsc2UsIHRoZW4K
KyAgICAgICAgICAgaS4gTGV0IHN0YXR1cyBiZSB0aGUgcmVzdWx0IG9mIHBlcmZvcm1pbmcKKyAg
ICAgICAgICAgICAgUHJvcGVydHlEZWZpbml0aW9uRXZhbHVhdGlvbiBmb3IgbSB3aXRoIGFyZ3Vt
ZW50cyBwcm90byBhbmQKKyAgICAgICAgICAgICAgZmFsc2UuCisgICAgICAgIFsuLi5dCisKKyAg
ICAxNC40LjEzIFJ1bnRpbWUgU2VtYW50aWNzOiBQcm9wZXJ0eURlZmluaXRpb25FdmFsdWF0aW9u
CisKKyAgICBHZW5lcmF0b3JNZXRob2QgOgorICAgICAgICAqIFByb3BlcnR5TmFtZSAoIFN0cmlj
dEZvcm1hbFBhcmFtZXRlcnMgKSB7IEdlbmVyYXRvckJvZHkgfQorCisgICAgMS4gTGV0IHByb3BL
ZXkgYmUgdGhlIHJlc3VsdCBvZiBldmFsdWF0aW5nIFByb3BlcnR5TmFtZS4KKyAgICAyLiBSZXR1
cm5JZkFicnVwdChwcm9wS2V5KS4KKyAgICAzLiBJZiB0aGUgZnVuY3Rpb24gY29kZSBmb3IgdGhp
cyBHZW5lcmF0b3JNZXRob2QgaXMgc3RyaWN0IG1vZGUgY29kZSwKKyAgICAgICBsZXQgc3RyaWN0
IGJlIHRydWUuIE90aGVyd2lzZSBsZXQgc3RyaWN0IGJlIGZhbHNlLgorICAgIDQuIExldCBzY29w
ZSBiZSB0aGUgcnVubmluZyBleGVjdXRpb24gY29udGV4dCdzIExleGljYWxFbnZpcm9ubWVudC4K
KyAgICA1LiBMZXQgY2xvc3VyZSBiZSBHZW5lcmF0b3JGdW5jdGlvbkNyZWF0ZShNZXRob2QsCisg
ICAgICAgU3RyaWN0Rm9ybWFsUGFyYW1ldGVycywgR2VuZXJhdG9yQm9keSwgc2NvcGUsIHN0cmlj
dCkuCisKKyAgICA5LjIuMSBbW0NhbGxdXSAoIHRoaXNBcmd1bWVudCwgYXJndW1lbnRzTGlzdCkK
KworICAgIFsuLi5dCisgICAgNy4gTGV0IHJlc3VsdCBiZSBPcmRpbmFyeUNhbGxFdmFsdWF0ZUJv
ZHkoRiwgYXJndW1lbnRzTGlzdCkuCisgICAgWy4uLl0KKworICAgIDkuMi4xLjMgT3JkaW5hcnlD
YWxsRXZhbHVhdGVCb2R5ICggRiwgYXJndW1lbnRzTGlzdCApCisKKyAgICAxLiBMZXQgc3RhdHVz
IGJlIEZ1bmN0aW9uRGVjbGFyYXRpb25JbnN0YW50aWF0aW9uKEYsIGFyZ3VtZW50c0xpc3QpLgor
ICAgIFsuLi5dCisKKyAgICA5LjIuMTIgRnVuY3Rpb25EZWNsYXJhdGlvbkluc3RhbnRpYXRpb24o
ZnVuYywgYXJndW1lbnRzTGlzdCkKKworICAgIFsuLi5dCisgICAgMjMuIExldCBpdGVyYXRvclJl
Y29yZCBiZSBSZWNvcmQge1tbaXRlcmF0b3JdXToKKyAgICAgICAgQ3JlYXRlTGlzdEl0ZXJhdG9y
KGFyZ3VtZW50c0xpc3QpLCBbW2RvbmVdXTogZmFsc2V9LgorICAgIDI0LiBJZiBoYXNEdXBsaWNh
dGVzIGlzIHRydWUsIHRoZW4KKyAgICAgICAgWy4uLl0KKyAgICAyNS4gRWxzZSwKKyAgICAgICAg
Yi4gTGV0IGZvcm1hbFN0YXR1cyBiZSBJdGVyYXRvckJpbmRpbmdJbml0aWFsaXphdGlvbiBmb3Ig
Zm9ybWFscyB3aXRoCisgICAgICAgICAgIGl0ZXJhdG9yUmVjb3JkIGFuZCBlbnYgYXMgYXJndW1l
bnRzLgorICAgIFsuLi5dCisKKyAgICBSdW50aW1lIFNlbWFudGljczogSXRlcmF0b3JCaW5kaW5n
SW5pdGlhbGl6YXRpb24KKworICAgIEJpbmRpbmdSZXN0RWxlbWVudCA6IC4uLiBCaW5kaW5nSWRl
bnRpZmllcgorCisgICAgWy4uLl0KKyAgICAyLiBMZXQgQSBiZSAhIEFycmF5Q3JlYXRlKDApLgor
ICAgIDMuIExldCBuIGJlIDAuCisgICAgNC4gUmVwZWF0LAorICAgICAgICBbLi4uXQorICAgICAg
ICBmLiBQZXJmb3JtICEgQ3JlYXRlRGF0YVByb3BlcnR5T3JUaHJvdyhBLCAhIFRvU3RyaW5nKG4p
LCBuZXh0VmFsdWUpLgorICAgICAgICBnLiBTZXQgbiB0byBuICsgMS4KKworLS0tKi8KKwordmFy
IGNhbGxDb3VudCA9IDA7Cit2YXIgQyA9IGNsYXNzIHsKKyAgKm1ldGhvZChbLi4ueF0pIHsKKyAg
ICBhc3NlcnQoQXJyYXkuaXNBcnJheSh4KSk7CisgICAgYXNzZXJ0LmNvbXBhcmVBcnJheSh4LCBb
MV0pOworICAgIGNhbGxDb3VudCA9IGNhbGxDb3VudCArIDE7CisgIH0KK307CisKK25ldyBDKCku
bWV0aG9kKFsxXSkubmV4dCgpOworYXNzZXJ0LnNhbWVWYWx1ZShjYWxsQ291bnQsIDEsICdtZXRo
b2QgaW52b2tlZCBleGFjdGx5IG9uY2UnKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2RzdHIvZ2VuLW1ldGgtZGZsdC1hcnktaW5p
dC1pdGVyLWdldC1lcnItYXJyYXktcHJvdG90eXBlLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
bGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvZHN0ci9nZW4tbWV0aC1kZmx0LWFyeS1pbml0LWl0
ZXItZ2V0LWVyci1hcnJheS1wcm90b3R5cGUuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjYwNWU0YThmOTUxMzdi
ODUzZmRhNGQwMjM1M2FjMmE3MmVjMjQ0ZQotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2RzdHIvZ2VuLW1ldGgtZGZsdC1h
cnktaW5pdC1pdGVyLWdldC1lcnItYXJyYXktcHJvdG90eXBlLmpzCkBAIC0wLDAgKzEsODkgQEAK
Ky8vIFRoaXMgZmlsZSB3YXMgcHJvY2VkdXJhbGx5IGdlbmVyYXRlZCBmcm9tIHRoZSBmb2xsb3dp
bmcgc291cmNlczoKKy8vIC0gc3JjL2RzdHItYmluZGluZy9hcnktaW5pdC1pdGVyLWdldC1lcnIt
YXJyYXktcHJvdG90eXBlLmNhc2UKKy8vIC0gc3JjL2RzdHItYmluZGluZy9lcnJvci9jbHMtZXhw
ci1nZW4tbWV0aC1kZmx0LnRlbXBsYXRlCisvKi0tLQorZGVzY3JpcHRpb246IEFicnVwdCBjb21w
bGV0aW9uIHJldHVybmVkIGJ5IEdldEl0ZXJhdG9yIChjbGFzcyBleHByZXNzaW9uIG1ldGhvZCAo
ZGVmYXVsdCBwYXJhbWV0ZXIpKQorZXNpZDogc2VjLWNsYXNzLWRlZmluaXRpb25zLXJ1bnRpbWUt
c2VtYW50aWNzLWV2YWx1YXRpb24KK2ZlYXR1cmVzOiBbU3ltYm9sLml0ZXJhdG9yLCBnZW5lcmF0
b3JzLCBkZXN0cnVjdHVyaW5nLWJpbmRpbmcsIGRlZmF1bHQtcGFyYW1ldGVyc10KK2ZsYWdzOiBb
Z2VuZXJhdGVkXQoraW5mbzogfAorICAgIENsYXNzRXhwcmVzc2lvbiA6IGNsYXNzIEJpbmRpbmdJ
ZGVudGlmaWVyb3B0IENsYXNzVGFpbAorCisgICAgMS4gSWYgQmluZGluZ0lkZW50aWZpZXJvcHQg
aXMgbm90IHByZXNlbnQsIGxldCBjbGFzc05hbWUgYmUgdW5kZWZpbmVkLgorICAgIDIuIEVsc2Us
IGxldCBjbGFzc05hbWUgYmUgU3RyaW5nVmFsdWUgb2YgQmluZGluZ0lkZW50aWZpZXIuCisgICAg
My4gTGV0IHZhbHVlIGJlIHRoZSByZXN1bHQgb2YgQ2xhc3NEZWZpbml0aW9uRXZhbHVhdGlvbiBv
ZiBDbGFzc1RhaWwKKyAgICAgICB3aXRoIGFyZ3VtZW50IGNsYXNzTmFtZS4KKyAgICBbLi4uXQor
CisgICAgMTQuNS4xNCBSdW50aW1lIFNlbWFudGljczogQ2xhc3NEZWZpbml0aW9uRXZhbHVhdGlv
bgorCisgICAgMjEuIEZvciBlYWNoIENsYXNzRWxlbWVudCBtIGluIG9yZGVyIGZyb20gbWV0aG9k
cworICAgICAgICBhLiBJZiBJc1N0YXRpYyBvZiBtIGlzIGZhbHNlLCB0aGVuCisgICAgICAgICAg
IGkuIExldCBzdGF0dXMgYmUgdGhlIHJlc3VsdCBvZiBwZXJmb3JtaW5nCisgICAgICAgICAgICAg
IFByb3BlcnR5RGVmaW5pdGlvbkV2YWx1YXRpb24gZm9yIG0gd2l0aCBhcmd1bWVudHMgcHJvdG8g
YW5kCisgICAgICAgICAgICAgIGZhbHNlLgorICAgICAgICBbLi4uXQorCisgICAgMTQuNC4xMyBS
dW50aW1lIFNlbWFudGljczogUHJvcGVydHlEZWZpbml0aW9uRXZhbHVhdGlvbgorCisgICAgR2Vu
ZXJhdG9yTWV0aG9kIDoKKyAgICAgICAgKiBQcm9wZXJ0eU5hbWUgKCBTdHJpY3RGb3JtYWxQYXJh
bWV0ZXJzICkgeyBHZW5lcmF0b3JCb2R5IH0KKworICAgIDEuIExldCBwcm9wS2V5IGJlIHRoZSBy
ZXN1bHQgb2YgZXZhbHVhdGluZyBQcm9wZXJ0eU5hbWUuCisgICAgMi4gUmV0dXJuSWZBYnJ1cHQo
cHJvcEtleSkuCisgICAgMy4gSWYgdGhlIGZ1bmN0aW9uIGNvZGUgZm9yIHRoaXMgR2VuZXJhdG9y
TWV0aG9kIGlzIHN0cmljdCBtb2RlIGNvZGUsCisgICAgICAgbGV0IHN0cmljdCBiZSB0cnVlLiBP
dGhlcndpc2UgbGV0IHN0cmljdCBiZSBmYWxzZS4KKyAgICA0LiBMZXQgc2NvcGUgYmUgdGhlIHJ1
bm5pbmcgZXhlY3V0aW9uIGNvbnRleHQncyBMZXhpY2FsRW52aXJvbm1lbnQuCisgICAgNS4gTGV0
IGNsb3N1cmUgYmUgR2VuZXJhdG9yRnVuY3Rpb25DcmVhdGUoTWV0aG9kLAorICAgICAgIFN0cmlj
dEZvcm1hbFBhcmFtZXRlcnMsIEdlbmVyYXRvckJvZHksIHNjb3BlLCBzdHJpY3QpLgorCisgICAg
OS4yLjEgW1tDYWxsXV0gKCB0aGlzQXJndW1lbnQsIGFyZ3VtZW50c0xpc3QpCisKKyAgICBbLi4u
XQorICAgIDcuIExldCByZXN1bHQgYmUgT3JkaW5hcnlDYWxsRXZhbHVhdGVCb2R5KEYsIGFyZ3Vt
ZW50c0xpc3QpLgorICAgIFsuLi5dCisKKyAgICA5LjIuMS4zIE9yZGluYXJ5Q2FsbEV2YWx1YXRl
Qm9keSAoIEYsIGFyZ3VtZW50c0xpc3QgKQorCisgICAgMS4gTGV0IHN0YXR1cyBiZSBGdW5jdGlv
bkRlY2xhcmF0aW9uSW5zdGFudGlhdGlvbihGLCBhcmd1bWVudHNMaXN0KS4KKyAgICBbLi4uXQor
CisgICAgOS4yLjEyIEZ1bmN0aW9uRGVjbGFyYXRpb25JbnN0YW50aWF0aW9uKGZ1bmMsIGFyZ3Vt
ZW50c0xpc3QpCisKKyAgICBbLi4uXQorICAgIDIzLiBMZXQgaXRlcmF0b3JSZWNvcmQgYmUgUmVj
b3JkIHtbW2l0ZXJhdG9yXV06CisgICAgICAgIENyZWF0ZUxpc3RJdGVyYXRvcihhcmd1bWVudHNM
aXN0KSwgW1tkb25lXV06IGZhbHNlfS4KKyAgICAyNC4gSWYgaGFzRHVwbGljYXRlcyBpcyB0cnVl
LCB0aGVuCisgICAgICAgIFsuLi5dCisgICAgMjUuIEVsc2UsCisgICAgICAgIGIuIExldCBmb3Jt
YWxTdGF0dXMgYmUgSXRlcmF0b3JCaW5kaW5nSW5pdGlhbGl6YXRpb24gZm9yIGZvcm1hbHMgd2l0
aAorICAgICAgICAgICBpdGVyYXRvclJlY29yZCBhbmQgZW52IGFzIGFyZ3VtZW50cy4KKyAgICBb
Li4uXQorCisgICAgUnVudGltZSBTZW1hbnRpY3M6IEJpbmRpbmdJbml0aWFsaXphdGlvbgorCisg
ICAgQmluZGluZ1BhdHRlcm4gOiBBcnJheUJpbmRpbmdQYXR0ZXJuCisKKyAgICAxLiBMZXQgaXRl
cmF0b3JSZWNvcmQgYmUgPyBHZXRJdGVyYXRvcih2YWx1ZSkuCisKKyAgICBHZXRJdGVyYXRvciAo
IG9iaiBbICwgaGludCBbICwgbWV0aG9kIF0gXSApCisKKyAgICBbLi4uXQorICAgIDQuIExldCBp
dGVyYXRvciBiZSA/IENhbGwobWV0aG9kLCBvYmopLgorCisgICAgQ2FsbCAoIEYsIFYgWyAsIGFy
Z3VtZW50c0xpc3QgXSApCisKKyAgICBbLi4uXQorICAgIDIuIElmIElzQ2FsbGFibGUoRikgaXMg
ZmFsc2UsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KKworLS0tKi8KK2RlbGV0ZSBBcnJh
eS5wcm90b3R5cGVbU3ltYm9sLml0ZXJhdG9yXTsKKwordmFyIEMgPSBjbGFzcyB7CisgICptZXRo
b2QoW3gsIHksIHpdID0gWzEsIDIsIDNdKSB7fQorfTsKK3ZhciBjID0gbmV3IEMoKTsKKworYXNz
ZXJ0LnRocm93cyhUeXBlRXJyb3IsIGZ1bmN0aW9uKCkgeworICBjLm1ldGhvZCgpOworfSk7CmRp
ZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFz
cy9kc3RyL2dlbi1tZXRoLWRmbHQtYXJ5LXB0cm4tZWxlbS1pZC1pdGVyLXZhbC1hcnJheS1wcm90
b3R5cGUuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFz
cy9kc3RyL2dlbi1tZXRoLWRmbHQtYXJ5LXB0cm4tZWxlbS1pZC1pdGVyLXZhbC1hcnJheS1wcm90
b3R5cGUuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZTBhMzZkOWI4Yzg1YTUwOGY3ZTVkOGMwMjM2ZDBhOGFlMGU2
NjZlNAotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4
cHJlc3Npb25zL2NsYXNzL2RzdHIvZ2VuLW1ldGgtZGZsdC1hcnktcHRybi1lbGVtLWlkLWl0ZXIt
dmFsLWFycmF5LXByb3RvdHlwZS5qcwpAQCAtMCwwICsxLDEwNSBAQAorLy8gVGhpcyBmaWxlIHdh
cyBwcm9jZWR1cmFsbHkgZ2VuZXJhdGVkIGZyb20gdGhlIGZvbGxvd2luZyBzb3VyY2VzOgorLy8g
LSBzcmMvZHN0ci1iaW5kaW5nL2FyeS1wdHJuLWVsZW0taWQtaXRlci12YWwtYXJyYXktcHJvdG90
eXBlLmNhc2UKKy8vIC0gc3JjL2RzdHItYmluZGluZy9kZWZhdWx0L2Nscy1leHByLWdlbi1tZXRo
LWRmbHQudGVtcGxhdGUKKy8qLS0tCitkZXNjcmlwdGlvbjogQXJyYXkgZGVzdHJ1Y3R1cmluZyB1
c2VzIG92ZXJyaWRlbiBBcnJheS5wcm90b3R5cGVbU3ltYm9sLml0ZXJhdG9yXSAoY2xhc3MgZXhw
cmVzc2lvbiBtZXRob2QgKGRlZmF1bHQgcGFyYW1ldGVyKSkKK2VzaWQ6IHNlYy1jbGFzcy1kZWZp
bml0aW9ucy1ydW50aW1lLXNlbWFudGljcy1ldmFsdWF0aW9uCitmZWF0dXJlczogW1N5bWJvbC5p
dGVyYXRvciwgZ2VuZXJhdG9ycywgZGVzdHJ1Y3R1cmluZy1iaW5kaW5nLCBkZWZhdWx0LXBhcmFt
ZXRlcnNdCitmbGFnczogW2dlbmVyYXRlZF0KK2luZm86IHwKKyAgICBDbGFzc0V4cHJlc3Npb24g
OiBjbGFzcyBCaW5kaW5nSWRlbnRpZmllcm9wdCBDbGFzc1RhaWwKKworICAgIDEuIElmIEJpbmRp
bmdJZGVudGlmaWVyb3B0IGlzIG5vdCBwcmVzZW50LCBsZXQgY2xhc3NOYW1lIGJlIHVuZGVmaW5l
ZC4KKyAgICAyLiBFbHNlLCBsZXQgY2xhc3NOYW1lIGJlIFN0cmluZ1ZhbHVlIG9mIEJpbmRpbmdJ
ZGVudGlmaWVyLgorICAgIDMuIExldCB2YWx1ZSBiZSB0aGUgcmVzdWx0IG9mIENsYXNzRGVmaW5p
dGlvbkV2YWx1YXRpb24gb2YgQ2xhc3NUYWlsCisgICAgICAgd2l0aCBhcmd1bWVudCBjbGFzc05h
bWUuCisgICAgWy4uLl0KKworICAgIDE0LjUuMTQgUnVudGltZSBTZW1hbnRpY3M6IENsYXNzRGVm
aW5pdGlvbkV2YWx1YXRpb24KKworICAgIDIxLiBGb3IgZWFjaCBDbGFzc0VsZW1lbnQgbSBpbiBv
cmRlciBmcm9tIG1ldGhvZHMKKyAgICAgICAgYS4gSWYgSXNTdGF0aWMgb2YgbSBpcyBmYWxzZSwg
dGhlbgorICAgICAgICAgICBpLiBMZXQgc3RhdHVzIGJlIHRoZSByZXN1bHQgb2YgcGVyZm9ybWlu
ZworICAgICAgICAgICAgICBQcm9wZXJ0eURlZmluaXRpb25FdmFsdWF0aW9uIGZvciBtIHdpdGgg
YXJndW1lbnRzIHByb3RvIGFuZAorICAgICAgICAgICAgICBmYWxzZS4KKyAgICAgICAgWy4uLl0K
KworICAgIDE0LjQuMTMgUnVudGltZSBTZW1hbnRpY3M6IFByb3BlcnR5RGVmaW5pdGlvbkV2YWx1
YXRpb24KKworICAgIEdlbmVyYXRvck1ldGhvZCA6CisgICAgICAgICogUHJvcGVydHlOYW1lICgg
U3RyaWN0Rm9ybWFsUGFyYW1ldGVycyApIHsgR2VuZXJhdG9yQm9keSB9CisKKyAgICAxLiBMZXQg
cHJvcEtleSBiZSB0aGUgcmVzdWx0IG9mIGV2YWx1YXRpbmcgUHJvcGVydHlOYW1lLgorICAgIDIu
IFJldHVybklmQWJydXB0KHByb3BLZXkpLgorICAgIDMuIElmIHRoZSBmdW5jdGlvbiBjb2RlIGZv
ciB0aGlzIEdlbmVyYXRvck1ldGhvZCBpcyBzdHJpY3QgbW9kZSBjb2RlLAorICAgICAgIGxldCBz
dHJpY3QgYmUgdHJ1ZS4gT3RoZXJ3aXNlIGxldCBzdHJpY3QgYmUgZmFsc2UuCisgICAgNC4gTGV0
IHNjb3BlIGJlIHRoZSBydW5uaW5nIGV4ZWN1dGlvbiBjb250ZXh0J3MgTGV4aWNhbEVudmlyb25t
ZW50LgorICAgIDUuIExldCBjbG9zdXJlIGJlIEdlbmVyYXRvckZ1bmN0aW9uQ3JlYXRlKE1ldGhv
ZCwKKyAgICAgICBTdHJpY3RGb3JtYWxQYXJhbWV0ZXJzLCBHZW5lcmF0b3JCb2R5LCBzY29wZSwg
c3RyaWN0KS4KKworICAgIDkuMi4xIFtbQ2FsbF1dICggdGhpc0FyZ3VtZW50LCBhcmd1bWVudHNM
aXN0KQorCisgICAgWy4uLl0KKyAgICA3LiBMZXQgcmVzdWx0IGJlIE9yZGluYXJ5Q2FsbEV2YWx1
YXRlQm9keShGLCBhcmd1bWVudHNMaXN0KS4KKyAgICBbLi4uXQorCisgICAgOS4yLjEuMyBPcmRp
bmFyeUNhbGxFdmFsdWF0ZUJvZHkgKCBGLCBhcmd1bWVudHNMaXN0ICkKKworICAgIDEuIExldCBz
dGF0dXMgYmUgRnVuY3Rpb25EZWNsYXJhdGlvbkluc3RhbnRpYXRpb24oRiwgYXJndW1lbnRzTGlz
dCkuCisgICAgWy4uLl0KKworICAgIDkuMi4xMiBGdW5jdGlvbkRlY2xhcmF0aW9uSW5zdGFudGlh
dGlvbihmdW5jLCBhcmd1bWVudHNMaXN0KQorCisgICAgWy4uLl0KKyAgICAyMy4gTGV0IGl0ZXJh
dG9yUmVjb3JkIGJlIFJlY29yZCB7W1tpdGVyYXRvcl1dOgorICAgICAgICBDcmVhdGVMaXN0SXRl
cmF0b3IoYXJndW1lbnRzTGlzdCksIFtbZG9uZV1dOiBmYWxzZX0uCisgICAgMjQuIElmIGhhc0R1
cGxpY2F0ZXMgaXMgdHJ1ZSwgdGhlbgorICAgICAgICBbLi4uXQorICAgIDI1LiBFbHNlLAorICAg
ICAgICBiLiBMZXQgZm9ybWFsU3RhdHVzIGJlIEl0ZXJhdG9yQmluZGluZ0luaXRpYWxpemF0aW9u
IGZvciBmb3JtYWxzIHdpdGgKKyAgICAgICAgICAgaXRlcmF0b3JSZWNvcmQgYW5kIGVudiBhcyBh
cmd1bWVudHMuCisgICAgWy4uLl0KKworICAgIFJ1bnRpbWUgU2VtYW50aWNzOiBJdGVyYXRvckJp
bmRpbmdJbml0aWFsaXphdGlvbgorCisgICAgU2luZ2xlTmFtZUJpbmRpbmcgOiBCaW5kaW5nSWRl
bnRpZmllciBJbml0aWFsaXplcl9vcHQKKworICAgIDEuIExldCBiaW5kaW5nSWQgYmUgU3RyaW5n
VmFsdWUgb2YgQmluZGluZ0lkZW50aWZpZXIuCisgICAgMi4gTGV0IGxocyBiZSA/IFJlc29sdmVC
aW5kaW5nKGJpbmRpbmdJZCwgZW52aXJvbm1lbnQpLgorICAgIDMuIElmIGl0ZXJhdG9yUmVjb3Jk
LltbRG9uZV1dIGlzIGZhbHNlLCB0aGVuCisgICAgICAgIGEuIExldCBuZXh0IGJlIEl0ZXJhdG9y
U3RlcChpdGVyYXRvclJlY29yZCkuCisgICAgICAgIGIuIElmIG5leHQgaXMgYW4gYWJydXB0IGNv
bXBsZXRpb24sIHNldCBpdGVyYXRvclJlY29yZC5bW0RvbmVdXSB0byB0cnVlLgorICAgICAgICBj
LiBSZXR1cm5JZkFicnVwdChuZXh0KS4KKyAgICAgICAgZC4gSWYgbmV4dCBpcyBmYWxzZSwgc2V0
IGl0ZXJhdG9yUmVjb3JkLltbRG9uZV1dIHRvIHRydWUuCisgICAgICAgIGUuIEVsc2UsCisgICAg
ICAgICAgICBpLiBMZXQgdiBiZSBJdGVyYXRvclZhbHVlKG5leHQpLgorICAgICAgICAgICAgaWku
IElmIHYgaXMgYW4gYWJydXB0IGNvbXBsZXRpb24sIHNldCBpdGVyYXRvclJlY29yZC5bW0RvbmVd
XSB0byB0cnVlLgorICAgICAgICAgICAgaWlpLiBSZXR1cm5JZkFicnVwdCh2KS4KKyAgICBbLi4u
XQorICAgIDcuIFJldHVybiBJbml0aWFsaXplUmVmZXJlbmNlZEJpbmRpbmcobGhzLCB2KS4KKwor
LS0tKi8KK0FycmF5LnByb3RvdHlwZVtTeW1ib2wuaXRlcmF0b3JdID0gZnVuY3Rpb24qICgpIHsK
KyAgICBpZiAodGhpcy5sZW5ndGggPiAwKSB7CisgICAgICAgIHlpZWxkIHRoaXNbMF07CisgICAg
fQorICAgIGlmICh0aGlzLmxlbmd0aCA+IDEpIHsKKyAgICAgICAgeWllbGQgdGhpc1sxXTsKKyAg
ICB9CisgICAgaWYgKHRoaXMubGVuZ3RoID4gMikgeworICAgICAgICB5aWVsZCA0MjsKKyAgICB9
Cit9OworCit2YXIgY2FsbENvdW50ID0gMDsKK3ZhciBDID0gY2xhc3MgeworICAqbWV0aG9kKFt4
LCB5LCB6XSA9IFsxLCAyLCAzXSkgeworICAgIGFzc2VydC5zYW1lVmFsdWUoeCwgMSk7CisgICAg
YXNzZXJ0LnNhbWVWYWx1ZSh5LCAyKTsKKyAgICBhc3NlcnQuc2FtZVZhbHVlKHosIDQyKTsKKyAg
ICBjYWxsQ291bnQgPSBjYWxsQ291bnQgKyAxOworICB9Cit9OworCituZXcgQygpLm1ldGhvZCgp
Lm5leHQoKTsKK2Fzc2VydC5zYW1lVmFsdWUoY2FsbENvdW50LCAxLCAnbWV0aG9kIGludm9rZWQg
ZXhhY3RseSBvbmNlJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFn
ZS9leHByZXNzaW9ucy9jbGFzcy9kc3RyL2dlbi1tZXRoLWRmbHQtYXJ5LXB0cm4tcmVzdC1pZC1k
aXJlY3QuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFz
cy9kc3RyL2dlbi1tZXRoLWRmbHQtYXJ5LXB0cm4tcmVzdC1pZC1kaXJlY3QuanMKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTE3YjYzMzkxYjU1NDkyYzYyODNhMWQ4NDI1MmZmYTdiM2JjMGY5OQotLS0gL2Rldi9udWxs
CisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Rz
dHIvZ2VuLW1ldGgtZGZsdC1hcnktcHRybi1yZXN0LWlkLWRpcmVjdC5qcwpAQCAtMCwwICsxLDg4
IEBACisvLyBUaGlzIGZpbGUgd2FzIHByb2NlZHVyYWxseSBnZW5lcmF0ZWQgZnJvbSB0aGUgZm9s
bG93aW5nIHNvdXJjZXM6CisvLyAtIHNyYy9kc3RyLWJpbmRpbmcvYXJ5LXB0cm4tcmVzdC1pZC1k
aXJlY3QuY2FzZQorLy8gLSBzcmMvZHN0ci1iaW5kaW5nL2RlZmF1bHQvY2xzLWV4cHItZ2VuLW1l
dGgtZGZsdC50ZW1wbGF0ZQorLyotLS0KK2Rlc2NyaXB0aW9uOiBMb25lIHJlc3QgZWxlbWVudCAo
ZGlyZWN0IGJpbmRpbmcpIChjbGFzcyBleHByZXNzaW9uIG1ldGhvZCAoZGVmYXVsdCBwYXJhbWV0
ZXIpKQorZXNpZDogc2VjLWNsYXNzLWRlZmluaXRpb25zLXJ1bnRpbWUtc2VtYW50aWNzLWV2YWx1
YXRpb24KK2ZlYXR1cmVzOiBbZ2VuZXJhdG9ycywgZGVzdHJ1Y3R1cmluZy1iaW5kaW5nLCBkZWZh
dWx0LXBhcmFtZXRlcnNdCitmbGFnczogW2dlbmVyYXRlZF0KK2luY2x1ZGVzOiBbY29tcGFyZUFy
cmF5LmpzXQoraW5mbzogfAorICAgIENsYXNzRXhwcmVzc2lvbiA6IGNsYXNzIEJpbmRpbmdJZGVu
dGlmaWVyb3B0IENsYXNzVGFpbAorCisgICAgMS4gSWYgQmluZGluZ0lkZW50aWZpZXJvcHQgaXMg
bm90IHByZXNlbnQsIGxldCBjbGFzc05hbWUgYmUgdW5kZWZpbmVkLgorICAgIDIuIEVsc2UsIGxl
dCBjbGFzc05hbWUgYmUgU3RyaW5nVmFsdWUgb2YgQmluZGluZ0lkZW50aWZpZXIuCisgICAgMy4g
TGV0IHZhbHVlIGJlIHRoZSByZXN1bHQgb2YgQ2xhc3NEZWZpbml0aW9uRXZhbHVhdGlvbiBvZiBD
bGFzc1RhaWwKKyAgICAgICB3aXRoIGFyZ3VtZW50IGNsYXNzTmFtZS4KKyAgICBbLi4uXQorCisg
ICAgMTQuNS4xNCBSdW50aW1lIFNlbWFudGljczogQ2xhc3NEZWZpbml0aW9uRXZhbHVhdGlvbgor
CisgICAgMjEuIEZvciBlYWNoIENsYXNzRWxlbWVudCBtIGluIG9yZGVyIGZyb20gbWV0aG9kcwor
ICAgICAgICBhLiBJZiBJc1N0YXRpYyBvZiBtIGlzIGZhbHNlLCB0aGVuCisgICAgICAgICAgIGku
IExldCBzdGF0dXMgYmUgdGhlIHJlc3VsdCBvZiBwZXJmb3JtaW5nCisgICAgICAgICAgICAgIFBy
b3BlcnR5RGVmaW5pdGlvbkV2YWx1YXRpb24gZm9yIG0gd2l0aCBhcmd1bWVudHMgcHJvdG8gYW5k
CisgICAgICAgICAgICAgIGZhbHNlLgorICAgICAgICBbLi4uXQorCisgICAgMTQuNC4xMyBSdW50
aW1lIFNlbWFudGljczogUHJvcGVydHlEZWZpbml0aW9uRXZhbHVhdGlvbgorCisgICAgR2VuZXJh
dG9yTWV0aG9kIDoKKyAgICAgICAgKiBQcm9wZXJ0eU5hbWUgKCBTdHJpY3RGb3JtYWxQYXJhbWV0
ZXJzICkgeyBHZW5lcmF0b3JCb2R5IH0KKworICAgIDEuIExldCBwcm9wS2V5IGJlIHRoZSByZXN1
bHQgb2YgZXZhbHVhdGluZyBQcm9wZXJ0eU5hbWUuCisgICAgMi4gUmV0dXJuSWZBYnJ1cHQocHJv
cEtleSkuCisgICAgMy4gSWYgdGhlIGZ1bmN0aW9uIGNvZGUgZm9yIHRoaXMgR2VuZXJhdG9yTWV0
aG9kIGlzIHN0cmljdCBtb2RlIGNvZGUsCisgICAgICAgbGV0IHN0cmljdCBiZSB0cnVlLiBPdGhl
cndpc2UgbGV0IHN0cmljdCBiZSBmYWxzZS4KKyAgICA0LiBMZXQgc2NvcGUgYmUgdGhlIHJ1bm5p
bmcgZXhlY3V0aW9uIGNvbnRleHQncyBMZXhpY2FsRW52aXJvbm1lbnQuCisgICAgNS4gTGV0IGNs
b3N1cmUgYmUgR2VuZXJhdG9yRnVuY3Rpb25DcmVhdGUoTWV0aG9kLAorICAgICAgIFN0cmljdEZv
cm1hbFBhcmFtZXRlcnMsIEdlbmVyYXRvckJvZHksIHNjb3BlLCBzdHJpY3QpLgorCisgICAgOS4y
LjEgW1tDYWxsXV0gKCB0aGlzQXJndW1lbnQsIGFyZ3VtZW50c0xpc3QpCisKKyAgICBbLi4uXQor
ICAgIDcuIExldCByZXN1bHQgYmUgT3JkaW5hcnlDYWxsRXZhbHVhdGVCb2R5KEYsIGFyZ3VtZW50
c0xpc3QpLgorICAgIFsuLi5dCisKKyAgICA5LjIuMS4zIE9yZGluYXJ5Q2FsbEV2YWx1YXRlQm9k
eSAoIEYsIGFyZ3VtZW50c0xpc3QgKQorCisgICAgMS4gTGV0IHN0YXR1cyBiZSBGdW5jdGlvbkRl
Y2xhcmF0aW9uSW5zdGFudGlhdGlvbihGLCBhcmd1bWVudHNMaXN0KS4KKyAgICBbLi4uXQorCisg
ICAgOS4yLjEyIEZ1bmN0aW9uRGVjbGFyYXRpb25JbnN0YW50aWF0aW9uKGZ1bmMsIGFyZ3VtZW50
c0xpc3QpCisKKyAgICBbLi4uXQorICAgIDIzLiBMZXQgaXRlcmF0b3JSZWNvcmQgYmUgUmVjb3Jk
IHtbW2l0ZXJhdG9yXV06CisgICAgICAgIENyZWF0ZUxpc3RJdGVyYXRvcihhcmd1bWVudHNMaXN0
KSwgW1tkb25lXV06IGZhbHNlfS4KKyAgICAyNC4gSWYgaGFzRHVwbGljYXRlcyBpcyB0cnVlLCB0
aGVuCisgICAgICAgIFsuLi5dCisgICAgMjUuIEVsc2UsCisgICAgICAgIGIuIExldCBmb3JtYWxT
dGF0dXMgYmUgSXRlcmF0b3JCaW5kaW5nSW5pdGlhbGl6YXRpb24gZm9yIGZvcm1hbHMgd2l0aAor
ICAgICAgICAgICBpdGVyYXRvclJlY29yZCBhbmQgZW52IGFzIGFyZ3VtZW50cy4KKyAgICBbLi4u
XQorCisgICAgUnVudGltZSBTZW1hbnRpY3M6IEl0ZXJhdG9yQmluZGluZ0luaXRpYWxpemF0aW9u
CisKKyAgICBCaW5kaW5nUmVzdEVsZW1lbnQgOiAuLi4gQmluZGluZ0lkZW50aWZpZXIKKworICAg
IFsuLi5dCisgICAgMi4gTGV0IEEgYmUgISBBcnJheUNyZWF0ZSgwKS4KKyAgICAzLiBMZXQgbiBi
ZSAwLgorICAgIDQuIFJlcGVhdCwKKyAgICAgICAgWy4uLl0KKyAgICAgICAgZi4gUGVyZm9ybSAh
IENyZWF0ZURhdGFQcm9wZXJ0eU9yVGhyb3coQSwgISBUb1N0cmluZyhuKSwgbmV4dFZhbHVlKS4K
KyAgICAgICAgZy4gU2V0IG4gdG8gbiArIDEuCisKKy0tLSovCisKK3ZhciBjYWxsQ291bnQgPSAw
OwordmFyIEMgPSBjbGFzcyB7CisgICptZXRob2QoWy4uLnhdID0gWzFdKSB7CisgICAgYXNzZXJ0
KEFycmF5LmlzQXJyYXkoeCkpOworICAgIGFzc2VydC5jb21wYXJlQXJyYXkoeCwgWzFdKTsKKyAg
ICBjYWxsQ291bnQgPSBjYWxsQ291bnQgKyAxOworICB9Cit9OworCituZXcgQygpLm1ldGhvZCgp
Lm5leHQoKTsKK2Fzc2VydC5zYW1lVmFsdWUoY2FsbENvdW50LCAxLCAnbWV0aG9kIGludm9rZWQg
ZXhhY3RseSBvbmNlJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFn
ZS9leHByZXNzaW9ucy9jbGFzcy9kc3RyL2dlbi1tZXRoLXN0YXRpYy1hcnktaW5pdC1pdGVyLWdl
dC1lcnItYXJyYXktcHJvdG90eXBlLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uv
ZXhwcmVzc2lvbnMvY2xhc3MvZHN0ci9nZW4tbWV0aC1zdGF0aWMtYXJ5LWluaXQtaXRlci1nZXQt
ZXJyLWFycmF5LXByb3RvdHlwZS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41ZjA2OTczYWJmY2FlMTcxZjViNjg5
NmM1OGIwMGNlNzg1ODZlYWQ0Ci0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvZHN0ci9nZW4tbWV0aC1zdGF0aWMtYXJ5LWlu
aXQtaXRlci1nZXQtZXJyLWFycmF5LXByb3RvdHlwZS5qcwpAQCAtMCwwICsxLDg4IEBACisvLyBU
aGlzIGZpbGUgd2FzIHByb2NlZHVyYWxseSBnZW5lcmF0ZWQgZnJvbSB0aGUgZm9sbG93aW5nIHNv
dXJjZXM6CisvLyAtIHNyYy9kc3RyLWJpbmRpbmcvYXJ5LWluaXQtaXRlci1nZXQtZXJyLWFycmF5
LXByb3RvdHlwZS5jYXNlCisvLyAtIHNyYy9kc3RyLWJpbmRpbmcvZXJyb3IvY2xzLWV4cHItZ2Vu
LW1ldGgtc3RhdGljLnRlbXBsYXRlCisvKi0tLQorZGVzY3JpcHRpb246IEFicnVwdCBjb21wbGV0
aW9uIHJldHVybmVkIGJ5IEdldEl0ZXJhdG9yIChzdGF0aWMgY2xhc3MgZXhwcmVzc2lvbiBnZW5l
cmF0b3IgbWV0aG9kKQorZXNpZDogc2VjLWNsYXNzLWRlZmluaXRpb25zLXJ1bnRpbWUtc2VtYW50
aWNzLWV2YWx1YXRpb24KK2ZlYXR1cmVzOiBbU3ltYm9sLml0ZXJhdG9yLCBnZW5lcmF0b3JzLCBk
ZXN0cnVjdHVyaW5nLWJpbmRpbmddCitmbGFnczogW2dlbmVyYXRlZF0KK2luZm86IHwKKyAgICBD
bGFzc0V4cHJlc3Npb24gOiBjbGFzcyBCaW5kaW5nSWRlbnRpZmllcm9wdCBDbGFzc1RhaWwKKwor
ICAgIDEuIElmIEJpbmRpbmdJZGVudGlmaWVyb3B0IGlzIG5vdCBwcmVzZW50LCBsZXQgY2xhc3NO
YW1lIGJlIHVuZGVmaW5lZC4KKyAgICAyLiBFbHNlLCBsZXQgY2xhc3NOYW1lIGJlIFN0cmluZ1Zh
bHVlIG9mIEJpbmRpbmdJZGVudGlmaWVyLgorICAgIDMuIExldCB2YWx1ZSBiZSB0aGUgcmVzdWx0
IG9mIENsYXNzRGVmaW5pdGlvbkV2YWx1YXRpb24gb2YgQ2xhc3NUYWlsCisgICAgICAgd2l0aCBh
cmd1bWVudCBjbGFzc05hbWUuCisgICAgWy4uLl0KKworICAgIDE0LjUuMTQgUnVudGltZSBTZW1h
bnRpY3M6IENsYXNzRGVmaW5pdGlvbkV2YWx1YXRpb24KKworICAgIDIxLiBGb3IgZWFjaCBDbGFz
c0VsZW1lbnQgbSBpbiBvcmRlciBmcm9tIG1ldGhvZHMKKyAgICAgICAgYS4gSWYgSXNTdGF0aWMg
b2YgbSBpcyBmYWxzZSwgdGhlbgorICAgICAgICBiLiBFbHNlLAorICAgICAgICAgICBMZXQgc3Rh
dHVzIGJlIHRoZSByZXN1bHQgb2YgcGVyZm9ybWluZyBQcm9wZXJ0eURlZmluaXRpb25FdmFsdWF0
aW9uCisgICAgICAgICAgIGZvciBtIHdpdGggYXJndW1lbnRzIEYgYW5kIGZhbHNlLgorICAgIFsu
Li5dCisKKyAgICAxNC40LjEzIFJ1bnRpbWUgU2VtYW50aWNzOiBQcm9wZXJ0eURlZmluaXRpb25F
dmFsdWF0aW9uCisKKyAgICBHZW5lcmF0b3JNZXRob2QgOgorICAgICAgICAqIFByb3BlcnR5TmFt
ZSAoIFN0cmljdEZvcm1hbFBhcmFtZXRlcnMgKSB7IEdlbmVyYXRvckJvZHkgfQorCisgICAgMS4g
TGV0IHByb3BLZXkgYmUgdGhlIHJlc3VsdCBvZiBldmFsdWF0aW5nIFByb3BlcnR5TmFtZS4KKyAg
ICAyLiBSZXR1cm5JZkFicnVwdChwcm9wS2V5KS4KKyAgICAzLiBJZiB0aGUgZnVuY3Rpb24gY29k
ZSBmb3IgdGhpcyBHZW5lcmF0b3JNZXRob2QgaXMgc3RyaWN0IG1vZGUgY29kZSwKKyAgICAgICBs
ZXQgc3RyaWN0IGJlIHRydWUuIE90aGVyd2lzZSBsZXQgc3RyaWN0IGJlIGZhbHNlLgorICAgIDQu
IExldCBzY29wZSBiZSB0aGUgcnVubmluZyBleGVjdXRpb24gY29udGV4dCdzIExleGljYWxFbnZp
cm9ubWVudC4KKyAgICA1LiBMZXQgY2xvc3VyZSBiZSBHZW5lcmF0b3JGdW5jdGlvbkNyZWF0ZShN
ZXRob2QsCisgICAgICAgU3RyaWN0Rm9ybWFsUGFyYW1ldGVycywgR2VuZXJhdG9yQm9keSwgc2Nv
cGUsIHN0cmljdCkuCisKKyAgICA5LjIuMSBbW0NhbGxdXSAoIHRoaXNBcmd1bWVudCwgYXJndW1l
bnRzTGlzdCkKKworICAgIFsuLi5dCisgICAgNy4gTGV0IHJlc3VsdCBiZSBPcmRpbmFyeUNhbGxF
dmFsdWF0ZUJvZHkoRiwgYXJndW1lbnRzTGlzdCkuCisgICAgWy4uLl0KKworICAgIDkuMi4xLjMg
T3JkaW5hcnlDYWxsRXZhbHVhdGVCb2R5ICggRiwgYXJndW1lbnRzTGlzdCApCisKKyAgICAxLiBM
ZXQgc3RhdHVzIGJlIEZ1bmN0aW9uRGVjbGFyYXRpb25JbnN0YW50aWF0aW9uKEYsIGFyZ3VtZW50
c0xpc3QpLgorICAgIFsuLi5dCisKKyAgICA5LjIuMTIgRnVuY3Rpb25EZWNsYXJhdGlvbkluc3Rh
bnRpYXRpb24oZnVuYywgYXJndW1lbnRzTGlzdCkKKworICAgIFsuLi5dCisgICAgMjMuIExldCBp
dGVyYXRvclJlY29yZCBiZSBSZWNvcmQge1tbaXRlcmF0b3JdXToKKyAgICAgICAgQ3JlYXRlTGlz
dEl0ZXJhdG9yKGFyZ3VtZW50c0xpc3QpLCBbW2RvbmVdXTogZmFsc2V9LgorICAgIDI0LiBJZiBo
YXNEdXBsaWNhdGVzIGlzIHRydWUsIHRoZW4KKyAgICAgICAgWy4uLl0KKyAgICAyNS4gRWxzZSwK
KyAgICAgICAgYi4gTGV0IGZvcm1hbFN0YXR1cyBiZSBJdGVyYXRvckJpbmRpbmdJbml0aWFsaXph
dGlvbiBmb3IgZm9ybWFscyB3aXRoCisgICAgICAgICAgIGl0ZXJhdG9yUmVjb3JkIGFuZCBlbnYg
YXMgYXJndW1lbnRzLgorICAgIFsuLi5dCisKKyAgICBSdW50aW1lIFNlbWFudGljczogQmluZGlu
Z0luaXRpYWxpemF0aW9uCisKKyAgICBCaW5kaW5nUGF0dGVybiA6IEFycmF5QmluZGluZ1BhdHRl
cm4KKworICAgIDEuIExldCBpdGVyYXRvclJlY29yZCBiZSA/IEdldEl0ZXJhdG9yKHZhbHVlKS4K
KworICAgIEdldEl0ZXJhdG9yICggb2JqIFsgLCBoaW50IFsgLCBtZXRob2QgXSBdICkKKworICAg
IFsuLi5dCisgICAgNC4gTGV0IGl0ZXJhdG9yIGJlID8gQ2FsbChtZXRob2QsIG9iaikuCisKKyAg
ICBDYWxsICggRiwgViBbICwgYXJndW1lbnRzTGlzdCBdICkKKworICAgIFsuLi5dCisgICAgMi4g
SWYgSXNDYWxsYWJsZShGKSBpcyBmYWxzZSwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgor
CistLS0qLworZGVsZXRlIEFycmF5LnByb3RvdHlwZVtTeW1ib2wuaXRlcmF0b3JdOworCit2YXIg
QyA9IGNsYXNzIHsKKyAgc3RhdGljICptZXRob2QoW3gsIHksIHpdKSB7fQorfTsKKworYXNzZXJ0
LnRocm93cyhUeXBlRXJyb3IsIGZ1bmN0aW9uKCkgeworICBDLm1ldGhvZChbMSwgMiwgM10pOwor
fSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9u
cy9jbGFzcy9kc3RyL2dlbi1tZXRoLXN0YXRpYy1hcnktcHRybi1lbGVtLWlkLWl0ZXItdmFsLWFy
cmF5LXByb3RvdHlwZS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Np
b25zL2NsYXNzL2RzdHIvZ2VuLW1ldGgtc3RhdGljLWFyeS1wdHJuLWVsZW0taWQtaXRlci12YWwt
YXJyYXktcHJvdG90eXBlLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFiZjIzZmIxNjdjMGUyYTQwODBjYWRhYmVi
MDc1ZDdkODlkOWYzYzYKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9s
YW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9kc3RyL2dlbi1tZXRoLXN0YXRpYy1hcnktcHRybi1l
bGVtLWlkLWl0ZXItdmFsLWFycmF5LXByb3RvdHlwZS5qcwpAQCAtMCwwICsxLDEwNSBAQAorLy8g
VGhpcyBmaWxlIHdhcyBwcm9jZWR1cmFsbHkgZ2VuZXJhdGVkIGZyb20gdGhlIGZvbGxvd2luZyBz
b3VyY2VzOgorLy8gLSBzcmMvZHN0ci1iaW5kaW5nL2FyeS1wdHJuLWVsZW0taWQtaXRlci12YWwt
YXJyYXktcHJvdG90eXBlLmNhc2UKKy8vIC0gc3JjL2RzdHItYmluZGluZy9kZWZhdWx0L2Nscy1l
eHByLWdlbi1tZXRoLXN0YXRpYy50ZW1wbGF0ZQorLyotLS0KK2Rlc2NyaXB0aW9uOiBBcnJheSBk
ZXN0cnVjdHVyaW5nIHVzZXMgb3ZlcnJpZGVuIEFycmF5LnByb3RvdHlwZVtTeW1ib2wuaXRlcmF0
b3JdIChzdGF0aWMgY2xhc3MgZXhwcmVzc2lvbiBnZW5lcmF0b3IgbWV0aG9kKQorZXNpZDogc2Vj
LWNsYXNzLWRlZmluaXRpb25zLXJ1bnRpbWUtc2VtYW50aWNzLWV2YWx1YXRpb24KK2ZlYXR1cmVz
OiBbU3ltYm9sLml0ZXJhdG9yLCBnZW5lcmF0b3JzLCBkZXN0cnVjdHVyaW5nLWJpbmRpbmddCitm
bGFnczogW2dlbmVyYXRlZF0KK2luZm86IHwKKyAgICBDbGFzc0V4cHJlc3Npb24gOiBjbGFzcyBC
aW5kaW5nSWRlbnRpZmllcm9wdCBDbGFzc1RhaWwKKworICAgIDEuIElmIEJpbmRpbmdJZGVudGlm
aWVyb3B0IGlzIG5vdCBwcmVzZW50LCBsZXQgY2xhc3NOYW1lIGJlIHVuZGVmaW5lZC4KKyAgICAy
LiBFbHNlLCBsZXQgY2xhc3NOYW1lIGJlIFN0cmluZ1ZhbHVlIG9mIEJpbmRpbmdJZGVudGlmaWVy
LgorICAgIDMuIExldCB2YWx1ZSBiZSB0aGUgcmVzdWx0IG9mIENsYXNzRGVmaW5pdGlvbkV2YWx1
YXRpb24gb2YgQ2xhc3NUYWlsCisgICAgICAgd2l0aCBhcmd1bWVudCBjbGFzc05hbWUuCisgICAg
Wy4uLl0KKworICAgIDE0LjUuMTQgUnVudGltZSBTZW1hbnRpY3M6IENsYXNzRGVmaW5pdGlvbkV2
YWx1YXRpb24KKworICAgIDIxLiBGb3IgZWFjaCBDbGFzc0VsZW1lbnQgbSBpbiBvcmRlciBmcm9t
IG1ldGhvZHMKKyAgICAgICAgYS4gSWYgSXNTdGF0aWMgb2YgbSBpcyBmYWxzZSwgdGhlbgorICAg
ICAgICBiLiBFbHNlLAorICAgICAgICAgICBMZXQgc3RhdHVzIGJlIHRoZSByZXN1bHQgb2YgcGVy
Zm9ybWluZyBQcm9wZXJ0eURlZmluaXRpb25FdmFsdWF0aW9uCisgICAgICAgICAgIGZvciBtIHdp
dGggYXJndW1lbnRzIEYgYW5kIGZhbHNlLgorICAgIFsuLi5dCisKKyAgICAxNC40LjEzIFJ1bnRp
bWUgU2VtYW50aWNzOiBQcm9wZXJ0eURlZmluaXRpb25FdmFsdWF0aW9uCisKKyAgICBHZW5lcmF0
b3JNZXRob2QgOgorICAgICAgICAqIFByb3BlcnR5TmFtZSAoIFN0cmljdEZvcm1hbFBhcmFtZXRl
cnMgKSB7IEdlbmVyYXRvckJvZHkgfQorCisgICAgMS4gTGV0IHByb3BLZXkgYmUgdGhlIHJlc3Vs
dCBvZiBldmFsdWF0aW5nIFByb3BlcnR5TmFtZS4KKyAgICAyLiBSZXR1cm5JZkFicnVwdChwcm9w
S2V5KS4KKyAgICAzLiBJZiB0aGUgZnVuY3Rpb24gY29kZSBmb3IgdGhpcyBHZW5lcmF0b3JNZXRo
b2QgaXMgc3RyaWN0IG1vZGUgY29kZSwKKyAgICAgICBsZXQgc3RyaWN0IGJlIHRydWUuIE90aGVy
d2lzZSBsZXQgc3RyaWN0IGJlIGZhbHNlLgorICAgIDQuIExldCBzY29wZSBiZSB0aGUgcnVubmlu
ZyBleGVjdXRpb24gY29udGV4dCdzIExleGljYWxFbnZpcm9ubWVudC4KKyAgICA1LiBMZXQgY2xv
c3VyZSBiZSBHZW5lcmF0b3JGdW5jdGlvbkNyZWF0ZShNZXRob2QsCisgICAgICAgU3RyaWN0Rm9y
bWFsUGFyYW1ldGVycywgR2VuZXJhdG9yQm9keSwgc2NvcGUsIHN0cmljdCkuCisKKyAgICA5LjIu
MSBbW0NhbGxdXSAoIHRoaXNBcmd1bWVudCwgYXJndW1lbnRzTGlzdCkKKworICAgIFsuLi5dCisg
ICAgNy4gTGV0IHJlc3VsdCBiZSBPcmRpbmFyeUNhbGxFdmFsdWF0ZUJvZHkoRiwgYXJndW1lbnRz
TGlzdCkuCisgICAgWy4uLl0KKworICAgIDkuMi4xLjMgT3JkaW5hcnlDYWxsRXZhbHVhdGVCb2R5
ICggRiwgYXJndW1lbnRzTGlzdCApCisKKyAgICAxLiBMZXQgc3RhdHVzIGJlIEZ1bmN0aW9uRGVj
bGFyYXRpb25JbnN0YW50aWF0aW9uKEYsIGFyZ3VtZW50c0xpc3QpLgorICAgIFsuLi5dCisKKyAg
ICA5LjIuMTIgRnVuY3Rpb25EZWNsYXJhdGlvbkluc3RhbnRpYXRpb24oZnVuYywgYXJndW1lbnRz
TGlzdCkKKworICAgIFsuLi5dCisgICAgMjMuIExldCBpdGVyYXRvclJlY29yZCBiZSBSZWNvcmQg
e1tbaXRlcmF0b3JdXToKKyAgICAgICAgQ3JlYXRlTGlzdEl0ZXJhdG9yKGFyZ3VtZW50c0xpc3Qp
LCBbW2RvbmVdXTogZmFsc2V9LgorICAgIDI0LiBJZiBoYXNEdXBsaWNhdGVzIGlzIHRydWUsIHRo
ZW4KKyAgICAgICAgWy4uLl0KKyAgICAyNS4gRWxzZSwKKyAgICAgICAgYi4gTGV0IGZvcm1hbFN0
YXR1cyBiZSBJdGVyYXRvckJpbmRpbmdJbml0aWFsaXphdGlvbiBmb3IgZm9ybWFscyB3aXRoCisg
ICAgICAgICAgIGl0ZXJhdG9yUmVjb3JkIGFuZCBlbnYgYXMgYXJndW1lbnRzLgorICAgIFsuLi5d
CisKKyAgICBSdW50aW1lIFNlbWFudGljczogSXRlcmF0b3JCaW5kaW5nSW5pdGlhbGl6YXRpb24K
KworICAgIFNpbmdsZU5hbWVCaW5kaW5nIDogQmluZGluZ0lkZW50aWZpZXIgSW5pdGlhbGl6ZXJf
b3B0CisKKyAgICAxLiBMZXQgYmluZGluZ0lkIGJlIFN0cmluZ1ZhbHVlIG9mIEJpbmRpbmdJZGVu
dGlmaWVyLgorICAgIDIuIExldCBsaHMgYmUgPyBSZXNvbHZlQmluZGluZyhiaW5kaW5nSWQsIGVu
dmlyb25tZW50KS4KKyAgICAzLiBJZiBpdGVyYXRvclJlY29yZC5bW0RvbmVdXSBpcyBmYWxzZSwg
dGhlbgorICAgICAgICBhLiBMZXQgbmV4dCBiZSBJdGVyYXRvclN0ZXAoaXRlcmF0b3JSZWNvcmQp
LgorICAgICAgICBiLiBJZiBuZXh0IGlzIGFuIGFicnVwdCBjb21wbGV0aW9uLCBzZXQgaXRlcmF0
b3JSZWNvcmQuW1tEb25lXV0gdG8gdHJ1ZS4KKyAgICAgICAgYy4gUmV0dXJuSWZBYnJ1cHQobmV4
dCkuCisgICAgICAgIGQuIElmIG5leHQgaXMgZmFsc2UsIHNldCBpdGVyYXRvclJlY29yZC5bW0Rv
bmVdXSB0byB0cnVlLgorICAgICAgICBlLiBFbHNlLAorICAgICAgICAgICAgaS4gTGV0IHYgYmUg
SXRlcmF0b3JWYWx1ZShuZXh0KS4KKyAgICAgICAgICAgIGlpLiBJZiB2IGlzIGFuIGFicnVwdCBj
b21wbGV0aW9uLCBzZXQgaXRlcmF0b3JSZWNvcmQuW1tEb25lXV0gdG8gdHJ1ZS4KKyAgICAgICAg
ICAgIGlpaS4gUmV0dXJuSWZBYnJ1cHQodikuCisgICAgWy4uLl0KKyAgICA3LiBSZXR1cm4gSW5p
dGlhbGl6ZVJlZmVyZW5jZWRCaW5kaW5nKGxocywgdikuCisKKy0tLSovCitBcnJheS5wcm90b3R5
cGVbU3ltYm9sLml0ZXJhdG9yXSA9IGZ1bmN0aW9uKiAoKSB7CisgICAgaWYgKHRoaXMubGVuZ3Ro
ID4gMCkgeworICAgICAgICB5aWVsZCB0aGlzWzBdOworICAgIH0KKyAgICBpZiAodGhpcy5sZW5n
dGggPiAxKSB7CisgICAgICAgIHlpZWxkIHRoaXNbMV07CisgICAgfQorICAgIGlmICh0aGlzLmxl
bmd0aCA+IDIpIHsKKyAgICAgICAgeWllbGQgNDI7CisgICAgfQorfTsKKwordmFyIGNhbGxDb3Vu
dCA9IDA7Cit2YXIgQyA9IGNsYXNzIHsKKyAgc3RhdGljICptZXRob2QoW3gsIHksIHpdKSB7Cisg
ICAgYXNzZXJ0LnNhbWVWYWx1ZSh4LCAxKTsKKyAgICBhc3NlcnQuc2FtZVZhbHVlKHksIDIpOwor
ICAgIGFzc2VydC5zYW1lVmFsdWUoeiwgNDIpOworICAgIGNhbGxDb3VudCA9IGNhbGxDb3VudCAr
IDE7CisgIH0KK307CisKK0MubWV0aG9kKFsxLCAyLCAzXSkubmV4dCgpOworYXNzZXJ0LnNhbWVW
YWx1ZShjYWxsQ291bnQsIDEsICdtZXRob2QgaW52b2tlZCBleGFjdGx5IG9uY2UnKTsKZGlmZiAt
LWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Rz
dHIvZ2VuLW1ldGgtc3RhdGljLWFyeS1wdHJuLXJlc3QtaWQtZGlyZWN0LmpzIGIvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvZHN0ci9nZW4tbWV0aC1zdGF0
aWMtYXJ5LXB0cm4tcmVzdC1pZC1kaXJlY3QuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjMwYzZkOGNmN2VhODZm
YmMyNTQ5OTI4YTYwZTQyOWY2NWRmNWJmOQotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2RzdHIvZ2VuLW1ldGgtc3RhdGlj
LWFyeS1wdHJuLXJlc3QtaWQtZGlyZWN0LmpzCkBAIC0wLDAgKzEsODggQEAKKy8vIFRoaXMgZmls
ZSB3YXMgcHJvY2VkdXJhbGx5IGdlbmVyYXRlZCBmcm9tIHRoZSBmb2xsb3dpbmcgc291cmNlczoK
Ky8vIC0gc3JjL2RzdHItYmluZGluZy9hcnktcHRybi1yZXN0LWlkLWRpcmVjdC5jYXNlCisvLyAt
IHNyYy9kc3RyLWJpbmRpbmcvZGVmYXVsdC9jbHMtZXhwci1nZW4tbWV0aC1zdGF0aWMudGVtcGxh
dGUKKy8qLS0tCitkZXNjcmlwdGlvbjogTG9uZSByZXN0IGVsZW1lbnQgKGRpcmVjdCBiaW5kaW5n
KSAoc3RhdGljIGNsYXNzIGV4cHJlc3Npb24gZ2VuZXJhdG9yIG1ldGhvZCkKK2VzaWQ6IHNlYy1j
bGFzcy1kZWZpbml0aW9ucy1ydW50aW1lLXNlbWFudGljcy1ldmFsdWF0aW9uCitmZWF0dXJlczog
W2dlbmVyYXRvcnMsIGRlc3RydWN0dXJpbmctYmluZGluZ10KK2ZsYWdzOiBbZ2VuZXJhdGVkXQor
aW5jbHVkZXM6IFtjb21wYXJlQXJyYXkuanNdCitpbmZvOiB8CisgICAgQ2xhc3NFeHByZXNzaW9u
IDogY2xhc3MgQmluZGluZ0lkZW50aWZpZXJvcHQgQ2xhc3NUYWlsCisKKyAgICAxLiBJZiBCaW5k
aW5nSWRlbnRpZmllcm9wdCBpcyBub3QgcHJlc2VudCwgbGV0IGNsYXNzTmFtZSBiZSB1bmRlZmlu
ZWQuCisgICAgMi4gRWxzZSwgbGV0IGNsYXNzTmFtZSBiZSBTdHJpbmdWYWx1ZSBvZiBCaW5kaW5n
SWRlbnRpZmllci4KKyAgICAzLiBMZXQgdmFsdWUgYmUgdGhlIHJlc3VsdCBvZiBDbGFzc0RlZmlu
aXRpb25FdmFsdWF0aW9uIG9mIENsYXNzVGFpbAorICAgICAgIHdpdGggYXJndW1lbnQgY2xhc3NO
YW1lLgorICAgIFsuLi5dCisKKyAgICAxNC41LjE0IFJ1bnRpbWUgU2VtYW50aWNzOiBDbGFzc0Rl
ZmluaXRpb25FdmFsdWF0aW9uCisKKyAgICAyMS4gRm9yIGVhY2ggQ2xhc3NFbGVtZW50IG0gaW4g
b3JkZXIgZnJvbSBtZXRob2RzCisgICAgICAgIGEuIElmIElzU3RhdGljIG9mIG0gaXMgZmFsc2Us
IHRoZW4KKyAgICAgICAgYi4gRWxzZSwKKyAgICAgICAgICAgTGV0IHN0YXR1cyBiZSB0aGUgcmVz
dWx0IG9mIHBlcmZvcm1pbmcgUHJvcGVydHlEZWZpbml0aW9uRXZhbHVhdGlvbgorICAgICAgICAg
ICBmb3IgbSB3aXRoIGFyZ3VtZW50cyBGIGFuZCBmYWxzZS4KKyAgICBbLi4uXQorCisgICAgMTQu
NC4xMyBSdW50aW1lIFNlbWFudGljczogUHJvcGVydHlEZWZpbml0aW9uRXZhbHVhdGlvbgorCisg
ICAgR2VuZXJhdG9yTWV0aG9kIDoKKyAgICAgICAgKiBQcm9wZXJ0eU5hbWUgKCBTdHJpY3RGb3Jt
YWxQYXJhbWV0ZXJzICkgeyBHZW5lcmF0b3JCb2R5IH0KKworICAgIDEuIExldCBwcm9wS2V5IGJl
IHRoZSByZXN1bHQgb2YgZXZhbHVhdGluZyBQcm9wZXJ0eU5hbWUuCisgICAgMi4gUmV0dXJuSWZB
YnJ1cHQocHJvcEtleSkuCisgICAgMy4gSWYgdGhlIGZ1bmN0aW9uIGNvZGUgZm9yIHRoaXMgR2Vu
ZXJhdG9yTWV0aG9kIGlzIHN0cmljdCBtb2RlIGNvZGUsCisgICAgICAgbGV0IHN0cmljdCBiZSB0
cnVlLiBPdGhlcndpc2UgbGV0IHN0cmljdCBiZSBmYWxzZS4KKyAgICA0LiBMZXQgc2NvcGUgYmUg
dGhlIHJ1bm5pbmcgZXhlY3V0aW9uIGNvbnRleHQncyBMZXhpY2FsRW52aXJvbm1lbnQuCisgICAg
NS4gTGV0IGNsb3N1cmUgYmUgR2VuZXJhdG9yRnVuY3Rpb25DcmVhdGUoTWV0aG9kLAorICAgICAg
IFN0cmljdEZvcm1hbFBhcmFtZXRlcnMsIEdlbmVyYXRvckJvZHksIHNjb3BlLCBzdHJpY3QpLgor
CisgICAgOS4yLjEgW1tDYWxsXV0gKCB0aGlzQXJndW1lbnQsIGFyZ3VtZW50c0xpc3QpCisKKyAg
ICBbLi4uXQorICAgIDcuIExldCByZXN1bHQgYmUgT3JkaW5hcnlDYWxsRXZhbHVhdGVCb2R5KEYs
IGFyZ3VtZW50c0xpc3QpLgorICAgIFsuLi5dCisKKyAgICA5LjIuMS4zIE9yZGluYXJ5Q2FsbEV2
YWx1YXRlQm9keSAoIEYsIGFyZ3VtZW50c0xpc3QgKQorCisgICAgMS4gTGV0IHN0YXR1cyBiZSBG
dW5jdGlvbkRlY2xhcmF0aW9uSW5zdGFudGlhdGlvbihGLCBhcmd1bWVudHNMaXN0KS4KKyAgICBb
Li4uXQorCisgICAgOS4yLjEyIEZ1bmN0aW9uRGVjbGFyYXRpb25JbnN0YW50aWF0aW9uKGZ1bmMs
IGFyZ3VtZW50c0xpc3QpCisKKyAgICBbLi4uXQorICAgIDIzLiBMZXQgaXRlcmF0b3JSZWNvcmQg
YmUgUmVjb3JkIHtbW2l0ZXJhdG9yXV06CisgICAgICAgIENyZWF0ZUxpc3RJdGVyYXRvcihhcmd1
bWVudHNMaXN0KSwgW1tkb25lXV06IGZhbHNlfS4KKyAgICAyNC4gSWYgaGFzRHVwbGljYXRlcyBp
cyB0cnVlLCB0aGVuCisgICAgICAgIFsuLi5dCisgICAgMjUuIEVsc2UsCisgICAgICAgIGIuIExl
dCBmb3JtYWxTdGF0dXMgYmUgSXRlcmF0b3JCaW5kaW5nSW5pdGlhbGl6YXRpb24gZm9yIGZvcm1h
bHMgd2l0aAorICAgICAgICAgICBpdGVyYXRvclJlY29yZCBhbmQgZW52IGFzIGFyZ3VtZW50cy4K
KyAgICBbLi4uXQorCisgICAgUnVudGltZSBTZW1hbnRpY3M6IEl0ZXJhdG9yQmluZGluZ0luaXRp
YWxpemF0aW9uCisKKyAgICBCaW5kaW5nUmVzdEVsZW1lbnQgOiAuLi4gQmluZGluZ0lkZW50aWZp
ZXIKKworICAgIFsuLi5dCisgICAgMi4gTGV0IEEgYmUgISBBcnJheUNyZWF0ZSgwKS4KKyAgICAz
LiBMZXQgbiBiZSAwLgorICAgIDQuIFJlcGVhdCwKKyAgICAgICAgWy4uLl0KKyAgICAgICAgZi4g
UGVyZm9ybSAhIENyZWF0ZURhdGFQcm9wZXJ0eU9yVGhyb3coQSwgISBUb1N0cmluZyhuKSwgbmV4
dFZhbHVlKS4KKyAgICAgICAgZy4gU2V0IG4gdG8gbiArIDEuCisKKy0tLSovCisKK3ZhciBjYWxs
Q291bnQgPSAwOwordmFyIEMgPSBjbGFzcyB7CisgIHN0YXRpYyAqbWV0aG9kKFsuLi54XSkgewor
ICAgIGFzc2VydChBcnJheS5pc0FycmF5KHgpKTsKKyAgICBhc3NlcnQuY29tcGFyZUFycmF5KHgs
IFsxXSk7CisgICAgY2FsbENvdW50ID0gY2FsbENvdW50ICsgMTsKKyAgfQorfTsKKworQy5tZXRo
b2QoWzFdKS5uZXh0KCk7Cithc3NlcnQuc2FtZVZhbHVlKGNhbGxDb3VudCwgMSwgJ21ldGhvZCBp
bnZva2VkIGV4YWN0bHkgb25jZScpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
bGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvZHN0ci9nZW4tbWV0aC1zdGF0aWMtZGZsdC1hcnkt
aW5pdC1pdGVyLWdldC1lcnItYXJyYXktcHJvdG90eXBlLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvZHN0ci9nZW4tbWV0aC1zdGF0aWMtZGZsdC1h
cnktaW5pdC1pdGVyLWdldC1lcnItYXJyYXktcHJvdG90eXBlLmpzCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU3ODQx
Njk1ZDNkZTI3YjZmNzNmMDc4N2JlYzRlODdjOWZlNDU1OTcKLS0tIC9kZXYvbnVsbAorKysgYi9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9kc3RyL2dlbi1t
ZXRoLXN0YXRpYy1kZmx0LWFyeS1pbml0LWl0ZXItZ2V0LWVyci1hcnJheS1wcm90b3R5cGUuanMK
QEAgLTAsMCArMSw4OCBAQAorLy8gVGhpcyBmaWxlIHdhcyBwcm9jZWR1cmFsbHkgZ2VuZXJhdGVk
IGZyb20gdGhlIGZvbGxvd2luZyBzb3VyY2VzOgorLy8gLSBzcmMvZHN0ci1iaW5kaW5nL2FyeS1p
bml0LWl0ZXItZ2V0LWVyci1hcnJheS1wcm90b3R5cGUuY2FzZQorLy8gLSBzcmMvZHN0ci1iaW5k
aW5nL2Vycm9yL2Nscy1leHByLWdlbi1tZXRoLXN0YXRpYy1kZmx0LnRlbXBsYXRlCisvKi0tLQor
ZGVzY3JpcHRpb246IEFicnVwdCBjb21wbGV0aW9uIHJldHVybmVkIGJ5IEdldEl0ZXJhdG9yIChz
dGF0aWMgY2xhc3MgZXhwcmVzc2lvbiBnZW5lcmF0b3IgbWV0aG9kIChkZWZhdWx0IHBhcmFtZXRl
cikpCitlc2lkOiBzZWMtY2xhc3MtZGVmaW5pdGlvbnMtcnVudGltZS1zZW1hbnRpY3MtZXZhbHVh
dGlvbgorZmVhdHVyZXM6IFtTeW1ib2wuaXRlcmF0b3IsIGdlbmVyYXRvcnMsIGRlc3RydWN0dXJp
bmctYmluZGluZywgZGVmYXVsdC1wYXJhbWV0ZXJzXQorZmxhZ3M6IFtnZW5lcmF0ZWRdCitpbmZv
OiB8CisgICAgQ2xhc3NFeHByZXNzaW9uIDogY2xhc3MgQmluZGluZ0lkZW50aWZpZXJvcHQgQ2xh
c3NUYWlsCisKKyAgICAxLiBJZiBCaW5kaW5nSWRlbnRpZmllcm9wdCBpcyBub3QgcHJlc2VudCwg
bGV0IGNsYXNzTmFtZSBiZSB1bmRlZmluZWQuCisgICAgMi4gRWxzZSwgbGV0IGNsYXNzTmFtZSBi
ZSBTdHJpbmdWYWx1ZSBvZiBCaW5kaW5nSWRlbnRpZmllci4KKyAgICAzLiBMZXQgdmFsdWUgYmUg
dGhlIHJlc3VsdCBvZiBDbGFzc0RlZmluaXRpb25FdmFsdWF0aW9uIG9mIENsYXNzVGFpbAorICAg
ICAgIHdpdGggYXJndW1lbnQgY2xhc3NOYW1lLgorICAgIFsuLi5dCisKKyAgICAxNC41LjE0IFJ1
bnRpbWUgU2VtYW50aWNzOiBDbGFzc0RlZmluaXRpb25FdmFsdWF0aW9uCisKKyAgICAyMS4gRm9y
IGVhY2ggQ2xhc3NFbGVtZW50IG0gaW4gb3JkZXIgZnJvbSBtZXRob2RzCisgICAgICAgIGEuIElm
IElzU3RhdGljIG9mIG0gaXMgZmFsc2UsIHRoZW4KKyAgICAgICAgYi4gRWxzZSwKKyAgICAgICAg
ICAgTGV0IHN0YXR1cyBiZSB0aGUgcmVzdWx0IG9mIHBlcmZvcm1pbmcgUHJvcGVydHlEZWZpbml0
aW9uRXZhbHVhdGlvbgorICAgICAgICAgICBmb3IgbSB3aXRoIGFyZ3VtZW50cyBGIGFuZCBmYWxz
ZS4KKyAgICBbLi4uXQorCisgICAgMTQuNC4xMyBSdW50aW1lIFNlbWFudGljczogUHJvcGVydHlE
ZWZpbml0aW9uRXZhbHVhdGlvbgorCisgICAgR2VuZXJhdG9yTWV0aG9kIDoKKyAgICAgICAgKiBQ
cm9wZXJ0eU5hbWUgKCBTdHJpY3RGb3JtYWxQYXJhbWV0ZXJzICkgeyBHZW5lcmF0b3JCb2R5IH0K
KworICAgIDEuIExldCBwcm9wS2V5IGJlIHRoZSByZXN1bHQgb2YgZXZhbHVhdGluZyBQcm9wZXJ0
eU5hbWUuCisgICAgMi4gUmV0dXJuSWZBYnJ1cHQocHJvcEtleSkuCisgICAgMy4gSWYgdGhlIGZ1
bmN0aW9uIGNvZGUgZm9yIHRoaXMgR2VuZXJhdG9yTWV0aG9kIGlzIHN0cmljdCBtb2RlIGNvZGUs
CisgICAgICAgbGV0IHN0cmljdCBiZSB0cnVlLiBPdGhlcndpc2UgbGV0IHN0cmljdCBiZSBmYWxz
ZS4KKyAgICA0LiBMZXQgc2NvcGUgYmUgdGhlIHJ1bm5pbmcgZXhlY3V0aW9uIGNvbnRleHQncyBM
ZXhpY2FsRW52aXJvbm1lbnQuCisgICAgNS4gTGV0IGNsb3N1cmUgYmUgR2VuZXJhdG9yRnVuY3Rp
b25DcmVhdGUoTWV0aG9kLAorICAgICAgIFN0cmljdEZvcm1hbFBhcmFtZXRlcnMsIEdlbmVyYXRv
ckJvZHksIHNjb3BlLCBzdHJpY3QpLgorCisgICAgOS4yLjEgW1tDYWxsXV0gKCB0aGlzQXJndW1l
bnQsIGFyZ3VtZW50c0xpc3QpCisKKyAgICBbLi4uXQorICAgIDcuIExldCByZXN1bHQgYmUgT3Jk
aW5hcnlDYWxsRXZhbHVhdGVCb2R5KEYsIGFyZ3VtZW50c0xpc3QpLgorICAgIFsuLi5dCisKKyAg
ICA5LjIuMS4zIE9yZGluYXJ5Q2FsbEV2YWx1YXRlQm9keSAoIEYsIGFyZ3VtZW50c0xpc3QgKQor
CisgICAgMS4gTGV0IHN0YXR1cyBiZSBGdW5jdGlvbkRlY2xhcmF0aW9uSW5zdGFudGlhdGlvbihG
LCBhcmd1bWVudHNMaXN0KS4KKyAgICBbLi4uXQorCisgICAgOS4yLjEyIEZ1bmN0aW9uRGVjbGFy
YXRpb25JbnN0YW50aWF0aW9uKGZ1bmMsIGFyZ3VtZW50c0xpc3QpCisKKyAgICBbLi4uXQorICAg
IDIzLiBMZXQgaXRlcmF0b3JSZWNvcmQgYmUgUmVjb3JkIHtbW2l0ZXJhdG9yXV06CisgICAgICAg
IENyZWF0ZUxpc3RJdGVyYXRvcihhcmd1bWVudHNMaXN0KSwgW1tkb25lXV06IGZhbHNlfS4KKyAg
ICAyNC4gSWYgaGFzRHVwbGljYXRlcyBpcyB0cnVlLCB0aGVuCisgICAgICAgIFsuLi5dCisgICAg
MjUuIEVsc2UsCisgICAgICAgIGIuIExldCBmb3JtYWxTdGF0dXMgYmUgSXRlcmF0b3JCaW5kaW5n
SW5pdGlhbGl6YXRpb24gZm9yIGZvcm1hbHMgd2l0aAorICAgICAgICAgICBpdGVyYXRvclJlY29y
ZCBhbmQgZW52IGFzIGFyZ3VtZW50cy4KKyAgICBbLi4uXQorCisgICAgUnVudGltZSBTZW1hbnRp
Y3M6IEJpbmRpbmdJbml0aWFsaXphdGlvbgorCisgICAgQmluZGluZ1BhdHRlcm4gOiBBcnJheUJp
bmRpbmdQYXR0ZXJuCisKKyAgICAxLiBMZXQgaXRlcmF0b3JSZWNvcmQgYmUgPyBHZXRJdGVyYXRv
cih2YWx1ZSkuCisKKyAgICBHZXRJdGVyYXRvciAoIG9iaiBbICwgaGludCBbICwgbWV0aG9kIF0g
XSApCisKKyAgICBbLi4uXQorICAgIDQuIExldCBpdGVyYXRvciBiZSA/IENhbGwobWV0aG9kLCBv
YmopLgorCisgICAgQ2FsbCAoIEYsIFYgWyAsIGFyZ3VtZW50c0xpc3QgXSApCisKKyAgICBbLi4u
XQorICAgIDIuIElmIElzQ2FsbGFibGUoRikgaXMgZmFsc2UsIHRocm93IGEgVHlwZUVycm9yIGV4
Y2VwdGlvbi4KKworLS0tKi8KK2RlbGV0ZSBBcnJheS5wcm90b3R5cGVbU3ltYm9sLml0ZXJhdG9y
XTsKKwordmFyIEMgPSBjbGFzcyB7CisgIHN0YXRpYyAqbWV0aG9kKFt4LCB5LCB6XSA9IFsxLCAy
LCAzXSkge30KK307CisKK2Fzc2VydC50aHJvd3MoVHlwZUVycm9yLCBmdW5jdGlvbigpIHsKKyAg
Qy5tZXRob2QoKTsKK30pOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3Vh
Z2UvZXhwcmVzc2lvbnMvY2xhc3MvZHN0ci9nZW4tbWV0aC1zdGF0aWMtZGZsdC1hcnktcHRybi1l
bGVtLWlkLWl0ZXItdmFsLWFycmF5LXByb3RvdHlwZS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2RzdHIvZ2VuLW1ldGgtc3RhdGljLWRmbHQtYXJ5
LXB0cm4tZWxlbS1pZC1pdGVyLXZhbC1hcnJheS1wcm90b3R5cGUuanMKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzRl
M2UwMTE3Njg2YTZiMTM2NDIxMTIzODdmODRjNjE0ZmEzMDg1NAotLS0gL2Rldi9udWxsCisrKyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2RzdHIvZ2Vu
LW1ldGgtc3RhdGljLWRmbHQtYXJ5LXB0cm4tZWxlbS1pZC1pdGVyLXZhbC1hcnJheS1wcm90b3R5
cGUuanMKQEAgLTAsMCArMSwxMDUgQEAKKy8vIFRoaXMgZmlsZSB3YXMgcHJvY2VkdXJhbGx5IGdl
bmVyYXRlZCBmcm9tIHRoZSBmb2xsb3dpbmcgc291cmNlczoKKy8vIC0gc3JjL2RzdHItYmluZGlu
Zy9hcnktcHRybi1lbGVtLWlkLWl0ZXItdmFsLWFycmF5LXByb3RvdHlwZS5jYXNlCisvLyAtIHNy
Yy9kc3RyLWJpbmRpbmcvZGVmYXVsdC9jbHMtZXhwci1nZW4tbWV0aC1zdGF0aWMtZGZsdC50ZW1w
bGF0ZQorLyotLS0KK2Rlc2NyaXB0aW9uOiBBcnJheSBkZXN0cnVjdHVyaW5nIHVzZXMgb3ZlcnJp
ZGVuIEFycmF5LnByb3RvdHlwZVtTeW1ib2wuaXRlcmF0b3JdIChzdGF0aWMgY2xhc3MgZXhwcmVz
c2lvbiBnZW5lcmF0b3IgbWV0aG9kIChkZWZhdWx0IHBhcmFtZXRlcikpCitlc2lkOiBzZWMtY2xh
c3MtZGVmaW5pdGlvbnMtcnVudGltZS1zZW1hbnRpY3MtZXZhbHVhdGlvbgorZmVhdHVyZXM6IFtT
eW1ib2wuaXRlcmF0b3IsIGdlbmVyYXRvcnMsIGRlc3RydWN0dXJpbmctYmluZGluZywgZGVmYXVs
dC1wYXJhbWV0ZXJzXQorZmxhZ3M6IFtnZW5lcmF0ZWRdCitpbmZvOiB8CisgICAgQ2xhc3NFeHBy
ZXNzaW9uIDogY2xhc3MgQmluZGluZ0lkZW50aWZpZXJvcHQgQ2xhc3NUYWlsCisKKyAgICAxLiBJ
ZiBCaW5kaW5nSWRlbnRpZmllcm9wdCBpcyBub3QgcHJlc2VudCwgbGV0IGNsYXNzTmFtZSBiZSB1
bmRlZmluZWQuCisgICAgMi4gRWxzZSwgbGV0IGNsYXNzTmFtZSBiZSBTdHJpbmdWYWx1ZSBvZiBC
aW5kaW5nSWRlbnRpZmllci4KKyAgICAzLiBMZXQgdmFsdWUgYmUgdGhlIHJlc3VsdCBvZiBDbGFz
c0RlZmluaXRpb25FdmFsdWF0aW9uIG9mIENsYXNzVGFpbAorICAgICAgIHdpdGggYXJndW1lbnQg
Y2xhc3NOYW1lLgorICAgIFsuLi5dCisKKyAgICAxNC41LjE0IFJ1bnRpbWUgU2VtYW50aWNzOiBD
bGFzc0RlZmluaXRpb25FdmFsdWF0aW9uCisKKyAgICAyMS4gRm9yIGVhY2ggQ2xhc3NFbGVtZW50
IG0gaW4gb3JkZXIgZnJvbSBtZXRob2RzCisgICAgICAgIGEuIElmIElzU3RhdGljIG9mIG0gaXMg
ZmFsc2UsIHRoZW4KKyAgICAgICAgYi4gRWxzZSwKKyAgICAgICAgICAgTGV0IHN0YXR1cyBiZSB0
aGUgcmVzdWx0IG9mIHBlcmZvcm1pbmcgUHJvcGVydHlEZWZpbml0aW9uRXZhbHVhdGlvbgorICAg
ICAgICAgICBmb3IgbSB3aXRoIGFyZ3VtZW50cyBGIGFuZCBmYWxzZS4KKyAgICBbLi4uXQorCisg
ICAgMTQuNC4xMyBSdW50aW1lIFNlbWFudGljczogUHJvcGVydHlEZWZpbml0aW9uRXZhbHVhdGlv
bgorCisgICAgR2VuZXJhdG9yTWV0aG9kIDoKKyAgICAgICAgKiBQcm9wZXJ0eU5hbWUgKCBTdHJp
Y3RGb3JtYWxQYXJhbWV0ZXJzICkgeyBHZW5lcmF0b3JCb2R5IH0KKworICAgIDEuIExldCBwcm9w
S2V5IGJlIHRoZSByZXN1bHQgb2YgZXZhbHVhdGluZyBQcm9wZXJ0eU5hbWUuCisgICAgMi4gUmV0
dXJuSWZBYnJ1cHQocHJvcEtleSkuCisgICAgMy4gSWYgdGhlIGZ1bmN0aW9uIGNvZGUgZm9yIHRo
aXMgR2VuZXJhdG9yTWV0aG9kIGlzIHN0cmljdCBtb2RlIGNvZGUsCisgICAgICAgbGV0IHN0cmlj
dCBiZSB0cnVlLiBPdGhlcndpc2UgbGV0IHN0cmljdCBiZSBmYWxzZS4KKyAgICA0LiBMZXQgc2Nv
cGUgYmUgdGhlIHJ1bm5pbmcgZXhlY3V0aW9uIGNvbnRleHQncyBMZXhpY2FsRW52aXJvbm1lbnQu
CisgICAgNS4gTGV0IGNsb3N1cmUgYmUgR2VuZXJhdG9yRnVuY3Rpb25DcmVhdGUoTWV0aG9kLAor
ICAgICAgIFN0cmljdEZvcm1hbFBhcmFtZXRlcnMsIEdlbmVyYXRvckJvZHksIHNjb3BlLCBzdHJp
Y3QpLgorCisgICAgOS4yLjEgW1tDYWxsXV0gKCB0aGlzQXJndW1lbnQsIGFyZ3VtZW50c0xpc3Qp
CisKKyAgICBbLi4uXQorICAgIDcuIExldCByZXN1bHQgYmUgT3JkaW5hcnlDYWxsRXZhbHVhdGVC
b2R5KEYsIGFyZ3VtZW50c0xpc3QpLgorICAgIFsuLi5dCisKKyAgICA5LjIuMS4zIE9yZGluYXJ5
Q2FsbEV2YWx1YXRlQm9keSAoIEYsIGFyZ3VtZW50c0xpc3QgKQorCisgICAgMS4gTGV0IHN0YXR1
cyBiZSBGdW5jdGlvbkRlY2xhcmF0aW9uSW5zdGFudGlhdGlvbihGLCBhcmd1bWVudHNMaXN0KS4K
KyAgICBbLi4uXQorCisgICAgOS4yLjEyIEZ1bmN0aW9uRGVjbGFyYXRpb25JbnN0YW50aWF0aW9u
KGZ1bmMsIGFyZ3VtZW50c0xpc3QpCisKKyAgICBbLi4uXQorICAgIDIzLiBMZXQgaXRlcmF0b3JS
ZWNvcmQgYmUgUmVjb3JkIHtbW2l0ZXJhdG9yXV06CisgICAgICAgIENyZWF0ZUxpc3RJdGVyYXRv
cihhcmd1bWVudHNMaXN0KSwgW1tkb25lXV06IGZhbHNlfS4KKyAgICAyNC4gSWYgaGFzRHVwbGlj
YXRlcyBpcyB0cnVlLCB0aGVuCisgICAgICAgIFsuLi5dCisgICAgMjUuIEVsc2UsCisgICAgICAg
IGIuIExldCBmb3JtYWxTdGF0dXMgYmUgSXRlcmF0b3JCaW5kaW5nSW5pdGlhbGl6YXRpb24gZm9y
IGZvcm1hbHMgd2l0aAorICAgICAgICAgICBpdGVyYXRvclJlY29yZCBhbmQgZW52IGFzIGFyZ3Vt
ZW50cy4KKyAgICBbLi4uXQorCisgICAgUnVudGltZSBTZW1hbnRpY3M6IEl0ZXJhdG9yQmluZGlu
Z0luaXRpYWxpemF0aW9uCisKKyAgICBTaW5nbGVOYW1lQmluZGluZyA6IEJpbmRpbmdJZGVudGlm
aWVyIEluaXRpYWxpemVyX29wdAorCisgICAgMS4gTGV0IGJpbmRpbmdJZCBiZSBTdHJpbmdWYWx1
ZSBvZiBCaW5kaW5nSWRlbnRpZmllci4KKyAgICAyLiBMZXQgbGhzIGJlID8gUmVzb2x2ZUJpbmRp
bmcoYmluZGluZ0lkLCBlbnZpcm9ubWVudCkuCisgICAgMy4gSWYgaXRlcmF0b3JSZWNvcmQuW1tE
b25lXV0gaXMgZmFsc2UsIHRoZW4KKyAgICAgICAgYS4gTGV0IG5leHQgYmUgSXRlcmF0b3JTdGVw
KGl0ZXJhdG9yUmVjb3JkKS4KKyAgICAgICAgYi4gSWYgbmV4dCBpcyBhbiBhYnJ1cHQgY29tcGxl
dGlvbiwgc2V0IGl0ZXJhdG9yUmVjb3JkLltbRG9uZV1dIHRvIHRydWUuCisgICAgICAgIGMuIFJl
dHVybklmQWJydXB0KG5leHQpLgorICAgICAgICBkLiBJZiBuZXh0IGlzIGZhbHNlLCBzZXQgaXRl
cmF0b3JSZWNvcmQuW1tEb25lXV0gdG8gdHJ1ZS4KKyAgICAgICAgZS4gRWxzZSwKKyAgICAgICAg
ICAgIGkuIExldCB2IGJlIEl0ZXJhdG9yVmFsdWUobmV4dCkuCisgICAgICAgICAgICBpaS4gSWYg
diBpcyBhbiBhYnJ1cHQgY29tcGxldGlvbiwgc2V0IGl0ZXJhdG9yUmVjb3JkLltbRG9uZV1dIHRv
IHRydWUuCisgICAgICAgICAgICBpaWkuIFJldHVybklmQWJydXB0KHYpLgorICAgIFsuLi5dCisg
ICAgNy4gUmV0dXJuIEluaXRpYWxpemVSZWZlcmVuY2VkQmluZGluZyhsaHMsIHYpLgorCistLS0q
LworQXJyYXkucHJvdG90eXBlW1N5bWJvbC5pdGVyYXRvcl0gPSBmdW5jdGlvbiogKCkgeworICAg
IGlmICh0aGlzLmxlbmd0aCA+IDApIHsKKyAgICAgICAgeWllbGQgdGhpc1swXTsKKyAgICB9Cisg
ICAgaWYgKHRoaXMubGVuZ3RoID4gMSkgeworICAgICAgICB5aWVsZCB0aGlzWzFdOworICAgIH0K
KyAgICBpZiAodGhpcy5sZW5ndGggPiAyKSB7CisgICAgICAgIHlpZWxkIDQyOworICAgIH0KK307
CisKK3ZhciBjYWxsQ291bnQgPSAwOwordmFyIEMgPSBjbGFzcyB7CisgIHN0YXRpYyAqbWV0aG9k
KFt4LCB5LCB6XSA9IFsxLCAyLCAzXSkgeworICAgIGFzc2VydC5zYW1lVmFsdWUoeCwgMSk7Cisg
ICAgYXNzZXJ0LnNhbWVWYWx1ZSh5LCAyKTsKKyAgICBhc3NlcnQuc2FtZVZhbHVlKHosIDQyKTsK
KyAgICBjYWxsQ291bnQgPSBjYWxsQ291bnQgKyAxOworICB9Cit9OworCitDLm1ldGhvZCgpLm5l
eHQoKTsKK2Fzc2VydC5zYW1lVmFsdWUoY2FsbENvdW50LCAxLCAnbWV0aG9kIGludm9rZWQgZXhh
Y3RseSBvbmNlJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9l
eHByZXNzaW9ucy9jbGFzcy9kc3RyL2dlbi1tZXRoLXN0YXRpYy1kZmx0LWFyeS1wdHJuLXJlc3Qt
aWQtZGlyZWN0LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMv
Y2xhc3MvZHN0ci9nZW4tbWV0aC1zdGF0aWMtZGZsdC1hcnktcHRybi1yZXN0LWlkLWRpcmVjdC5q
cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MzdlMzg0OGE1YzA1YWNjZmRmMWY0MjNhODIzNjY3YzliODc0Yzg4Ci0t
LSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lv
bnMvY2xhc3MvZHN0ci9nZW4tbWV0aC1zdGF0aWMtZGZsdC1hcnktcHRybi1yZXN0LWlkLWRpcmVj
dC5qcwpAQCAtMCwwICsxLDg4IEBACisvLyBUaGlzIGZpbGUgd2FzIHByb2NlZHVyYWxseSBnZW5l
cmF0ZWQgZnJvbSB0aGUgZm9sbG93aW5nIHNvdXJjZXM6CisvLyAtIHNyYy9kc3RyLWJpbmRpbmcv
YXJ5LXB0cm4tcmVzdC1pZC1kaXJlY3QuY2FzZQorLy8gLSBzcmMvZHN0ci1iaW5kaW5nL2RlZmF1
bHQvY2xzLWV4cHItZ2VuLW1ldGgtc3RhdGljLWRmbHQudGVtcGxhdGUKKy8qLS0tCitkZXNjcmlw
dGlvbjogTG9uZSByZXN0IGVsZW1lbnQgKGRpcmVjdCBiaW5kaW5nKSAoc3RhdGljIGNsYXNzIGV4
cHJlc3Npb24gZ2VuZXJhdG9yIG1ldGhvZCAoZGVmYXVsdCBwYXJhbWV0ZXIpKQorZXNpZDogc2Vj
LWNsYXNzLWRlZmluaXRpb25zLXJ1bnRpbWUtc2VtYW50aWNzLWV2YWx1YXRpb24KK2ZlYXR1cmVz
OiBbZ2VuZXJhdG9ycywgZGVzdHJ1Y3R1cmluZy1iaW5kaW5nLCBkZWZhdWx0LXBhcmFtZXRlcnNd
CitmbGFnczogW2dlbmVyYXRlZF0KK2luY2x1ZGVzOiBbY29tcGFyZUFycmF5LmpzXQoraW5mbzog
fAorICAgIENsYXNzRXhwcmVzc2lvbiA6IGNsYXNzIEJpbmRpbmdJZGVudGlmaWVyb3B0IENsYXNz
VGFpbAorCisgICAgMS4gSWYgQmluZGluZ0lkZW50aWZpZXJvcHQgaXMgbm90IHByZXNlbnQsIGxl
dCBjbGFzc05hbWUgYmUgdW5kZWZpbmVkLgorICAgIDIuIEVsc2UsIGxldCBjbGFzc05hbWUgYmUg
U3RyaW5nVmFsdWUgb2YgQmluZGluZ0lkZW50aWZpZXIuCisgICAgMy4gTGV0IHZhbHVlIGJlIHRo
ZSByZXN1bHQgb2YgQ2xhc3NEZWZpbml0aW9uRXZhbHVhdGlvbiBvZiBDbGFzc1RhaWwKKyAgICAg
ICB3aXRoIGFyZ3VtZW50IGNsYXNzTmFtZS4KKyAgICBbLi4uXQorCisgICAgMTQuNS4xNCBSdW50
aW1lIFNlbWFudGljczogQ2xhc3NEZWZpbml0aW9uRXZhbHVhdGlvbgorCisgICAgMjEuIEZvciBl
YWNoIENsYXNzRWxlbWVudCBtIGluIG9yZGVyIGZyb20gbWV0aG9kcworICAgICAgICBhLiBJZiBJ
c1N0YXRpYyBvZiBtIGlzIGZhbHNlLCB0aGVuCisgICAgICAgIGIuIEVsc2UsCisgICAgICAgICAg
IExldCBzdGF0dXMgYmUgdGhlIHJlc3VsdCBvZiBwZXJmb3JtaW5nIFByb3BlcnR5RGVmaW5pdGlv
bkV2YWx1YXRpb24KKyAgICAgICAgICAgZm9yIG0gd2l0aCBhcmd1bWVudHMgRiBhbmQgZmFsc2Uu
CisgICAgWy4uLl0KKworICAgIDE0LjQuMTMgUnVudGltZSBTZW1hbnRpY3M6IFByb3BlcnR5RGVm
aW5pdGlvbkV2YWx1YXRpb24KKworICAgIEdlbmVyYXRvck1ldGhvZCA6CisgICAgICAgICogUHJv
cGVydHlOYW1lICggU3RyaWN0Rm9ybWFsUGFyYW1ldGVycyApIHsgR2VuZXJhdG9yQm9keSB9CisK
KyAgICAxLiBMZXQgcHJvcEtleSBiZSB0aGUgcmVzdWx0IG9mIGV2YWx1YXRpbmcgUHJvcGVydHlO
YW1lLgorICAgIDIuIFJldHVybklmQWJydXB0KHByb3BLZXkpLgorICAgIDMuIElmIHRoZSBmdW5j
dGlvbiBjb2RlIGZvciB0aGlzIEdlbmVyYXRvck1ldGhvZCBpcyBzdHJpY3QgbW9kZSBjb2RlLAor
ICAgICAgIGxldCBzdHJpY3QgYmUgdHJ1ZS4gT3RoZXJ3aXNlIGxldCBzdHJpY3QgYmUgZmFsc2Uu
CisgICAgNC4gTGV0IHNjb3BlIGJlIHRoZSBydW5uaW5nIGV4ZWN1dGlvbiBjb250ZXh0J3MgTGV4
aWNhbEVudmlyb25tZW50LgorICAgIDUuIExldCBjbG9zdXJlIGJlIEdlbmVyYXRvckZ1bmN0aW9u
Q3JlYXRlKE1ldGhvZCwKKyAgICAgICBTdHJpY3RGb3JtYWxQYXJhbWV0ZXJzLCBHZW5lcmF0b3JC
b2R5LCBzY29wZSwgc3RyaWN0KS4KKworICAgIDkuMi4xIFtbQ2FsbF1dICggdGhpc0FyZ3VtZW50
LCBhcmd1bWVudHNMaXN0KQorCisgICAgWy4uLl0KKyAgICA3LiBMZXQgcmVzdWx0IGJlIE9yZGlu
YXJ5Q2FsbEV2YWx1YXRlQm9keShGLCBhcmd1bWVudHNMaXN0KS4KKyAgICBbLi4uXQorCisgICAg
OS4yLjEuMyBPcmRpbmFyeUNhbGxFdmFsdWF0ZUJvZHkgKCBGLCBhcmd1bWVudHNMaXN0ICkKKwor
ICAgIDEuIExldCBzdGF0dXMgYmUgRnVuY3Rpb25EZWNsYXJhdGlvbkluc3RhbnRpYXRpb24oRiwg
YXJndW1lbnRzTGlzdCkuCisgICAgWy4uLl0KKworICAgIDkuMi4xMiBGdW5jdGlvbkRlY2xhcmF0
aW9uSW5zdGFudGlhdGlvbihmdW5jLCBhcmd1bWVudHNMaXN0KQorCisgICAgWy4uLl0KKyAgICAy
My4gTGV0IGl0ZXJhdG9yUmVjb3JkIGJlIFJlY29yZCB7W1tpdGVyYXRvcl1dOgorICAgICAgICBD
cmVhdGVMaXN0SXRlcmF0b3IoYXJndW1lbnRzTGlzdCksIFtbZG9uZV1dOiBmYWxzZX0uCisgICAg
MjQuIElmIGhhc0R1cGxpY2F0ZXMgaXMgdHJ1ZSwgdGhlbgorICAgICAgICBbLi4uXQorICAgIDI1
LiBFbHNlLAorICAgICAgICBiLiBMZXQgZm9ybWFsU3RhdHVzIGJlIEl0ZXJhdG9yQmluZGluZ0lu
aXRpYWxpemF0aW9uIGZvciBmb3JtYWxzIHdpdGgKKyAgICAgICAgICAgaXRlcmF0b3JSZWNvcmQg
YW5kIGVudiBhcyBhcmd1bWVudHMuCisgICAgWy4uLl0KKworICAgIFJ1bnRpbWUgU2VtYW50aWNz
OiBJdGVyYXRvckJpbmRpbmdJbml0aWFsaXphdGlvbgorCisgICAgQmluZGluZ1Jlc3RFbGVtZW50
IDogLi4uIEJpbmRpbmdJZGVudGlmaWVyCisKKyAgICBbLi4uXQorICAgIDIuIExldCBBIGJlICEg
QXJyYXlDcmVhdGUoMCkuCisgICAgMy4gTGV0IG4gYmUgMC4KKyAgICA0LiBSZXBlYXQsCisgICAg
ICAgIFsuLi5dCisgICAgICAgIGYuIFBlcmZvcm0gISBDcmVhdGVEYXRhUHJvcGVydHlPclRocm93
KEEsICEgVG9TdHJpbmcobiksIG5leHRWYWx1ZSkuCisgICAgICAgIGcuIFNldCBuIHRvIG4gKyAx
LgorCistLS0qLworCit2YXIgY2FsbENvdW50ID0gMDsKK3ZhciBDID0gY2xhc3MgeworICBzdGF0
aWMgKm1ldGhvZChbLi4ueF0gPSBbMV0pIHsKKyAgICBhc3NlcnQoQXJyYXkuaXNBcnJheSh4KSk7
CisgICAgYXNzZXJ0LmNvbXBhcmVBcnJheSh4LCBbMV0pOworICAgIGNhbGxDb3VudCA9IGNhbGxD
b3VudCArIDE7CisgIH0KK307CisKK0MubWV0aG9kKCkubmV4dCgpOworYXNzZXJ0LnNhbWVWYWx1
ZShjYWxsQ291bnQsIDEsICdtZXRob2QgaW52b2tlZCBleGFjdGx5IG9uY2UnKTsKZGlmZiAtLWdp
dCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2RzdHIv
bWV0aC1hcnktaW5pdC1pdGVyLWdldC1lcnItYXJyYXktcHJvdG90eXBlLmpzIGIvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvZHN0ci9tZXRoLWFyeS1pbml0
LWl0ZXItZ2V0LWVyci1hcnJheS1wcm90b3R5cGUuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDljODg5ZmIwNjZi
ZTQxNTc3MTRjNmNmZGUwMWM4MWY1NzcyMTFiZgotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2RzdHIvbWV0aC1hcnktaW5p
dC1pdGVyLWdldC1lcnItYXJyYXktcHJvdG90eXBlLmpzCkBAIC0wLDAgKzEsODcgQEAKKy8vIFRo
aXMgZmlsZSB3YXMgcHJvY2VkdXJhbGx5IGdlbmVyYXRlZCBmcm9tIHRoZSBmb2xsb3dpbmcgc291
cmNlczoKKy8vIC0gc3JjL2RzdHItYmluZGluZy9hcnktaW5pdC1pdGVyLWdldC1lcnItYXJyYXkt
cHJvdG90eXBlLmNhc2UKKy8vIC0gc3JjL2RzdHItYmluZGluZy9lcnJvci9jbHMtZXhwci1tZXRo
LnRlbXBsYXRlCisvKi0tLQorZGVzY3JpcHRpb246IEFicnVwdCBjb21wbGV0aW9uIHJldHVybmVk
IGJ5IEdldEl0ZXJhdG9yIChjbGFzcyBleHByZXNzaW9uIG1ldGhvZCkKK2VzaWQ6IHNlYy1jbGFz
cy1kZWZpbml0aW9ucy1ydW50aW1lLXNlbWFudGljcy1ldmFsdWF0aW9uCitmZWF0dXJlczogW1N5
bWJvbC5pdGVyYXRvciwgZGVzdHJ1Y3R1cmluZy1iaW5kaW5nXQorZmxhZ3M6IFtnZW5lcmF0ZWRd
CitpbmZvOiB8CisgICAgQ2xhc3NFeHByZXNzaW9uIDogY2xhc3MgQmluZGluZ0lkZW50aWZpZXJv
cHQgQ2xhc3NUYWlsCisKKyAgICAxLiBJZiBCaW5kaW5nSWRlbnRpZmllcm9wdCBpcyBub3QgcHJl
c2VudCwgbGV0IGNsYXNzTmFtZSBiZSB1bmRlZmluZWQuCisgICAgMi4gRWxzZSwgbGV0IGNsYXNz
TmFtZSBiZSBTdHJpbmdWYWx1ZSBvZiBCaW5kaW5nSWRlbnRpZmllci4KKyAgICAzLiBMZXQgdmFs
dWUgYmUgdGhlIHJlc3VsdCBvZiBDbGFzc0RlZmluaXRpb25FdmFsdWF0aW9uIG9mIENsYXNzVGFp
bAorICAgICAgIHdpdGggYXJndW1lbnQgY2xhc3NOYW1lLgorICAgIFsuLi5dCisKKyAgICAxNC41
LjE0IFJ1bnRpbWUgU2VtYW50aWNzOiBDbGFzc0RlZmluaXRpb25FdmFsdWF0aW9uCisKKyAgICAy
MS4gRm9yIGVhY2ggQ2xhc3NFbGVtZW50IG0gaW4gb3JkZXIgZnJvbSBtZXRob2RzCisgICAgICAg
IGEuIElmIElzU3RhdGljIG9mIG0gaXMgZmFsc2UsIHRoZW4KKyAgICAgICAgICAgaS4gTGV0IHN0
YXR1cyBiZSB0aGUgcmVzdWx0IG9mIHBlcmZvcm1pbmcKKyAgICAgICAgICAgICAgUHJvcGVydHlE
ZWZpbml0aW9uRXZhbHVhdGlvbiBmb3IgbSB3aXRoIGFyZ3VtZW50cyBwcm90byBhbmQKKyAgICAg
ICAgICAgICAgZmFsc2UuCisgICAgICAgIFsuLi5dCisKKyAgICAxNC4zLjggUnVudGltZSBTZW1h
bnRpY3M6IERlZmluZU1ldGhvZAorCisgICAgTWV0aG9kRGVmaW5pdGlvbiA6IFByb3BlcnR5TmFt
ZSAoIFN0cmljdEZvcm1hbFBhcmFtZXRlcnMgKSB7IEZ1bmN0aW9uQm9keSB9CisKKyAgICBbLi4u
XQorICAgIDYuIExldCBjbG9zdXJlIGJlIEZ1bmN0aW9uQ3JlYXRlKGtpbmQsIFN0cmljdEZvcm1h
bFBhcmFtZXRlcnMsIEZ1bmN0aW9uQm9keSwKKyAgICAgICBzY29wZSwgc3RyaWN0KS4gSWYgZnVu
Y3Rpb25Qcm90b3R5cGUgd2FzIHBhc3NlZCBhcyBhIHBhcmFtZXRlciB0aGVuIHBhc3MgaXRzCisg
ICAgICAgdmFsdWUgYXMgdGhlIGZ1bmN0aW9uUHJvdG90eXBlIG9wdGlvbmFsIGFyZ3VtZW50IG9m
IEZ1bmN0aW9uQ3JlYXRlLgorICAgIFsuLi5dCisKKyAgICA5LjIuMSBbW0NhbGxdXSAoIHRoaXNB
cmd1bWVudCwgYXJndW1lbnRzTGlzdCkKKworICAgIFsuLi5dCisgICAgNy4gTGV0IHJlc3VsdCBi
ZSBPcmRpbmFyeUNhbGxFdmFsdWF0ZUJvZHkoRiwgYXJndW1lbnRzTGlzdCkuCisgICAgWy4uLl0K
KworICAgIDkuMi4xLjMgT3JkaW5hcnlDYWxsRXZhbHVhdGVCb2R5ICggRiwgYXJndW1lbnRzTGlz
dCApCisKKyAgICAxLiBMZXQgc3RhdHVzIGJlIEZ1bmN0aW9uRGVjbGFyYXRpb25JbnN0YW50aWF0
aW9uKEYsIGFyZ3VtZW50c0xpc3QpLgorICAgIFsuLi5dCisKKyAgICA5LjIuMTIgRnVuY3Rpb25E
ZWNsYXJhdGlvbkluc3RhbnRpYXRpb24oZnVuYywgYXJndW1lbnRzTGlzdCkKKworICAgIFsuLi5d
CisgICAgMjMuIExldCBpdGVyYXRvclJlY29yZCBiZSBSZWNvcmQge1tbaXRlcmF0b3JdXToKKyAg
ICAgICAgQ3JlYXRlTGlzdEl0ZXJhdG9yKGFyZ3VtZW50c0xpc3QpLCBbW2RvbmVdXTogZmFsc2V9
LgorICAgIDI0LiBJZiBoYXNEdXBsaWNhdGVzIGlzIHRydWUsIHRoZW4KKyAgICAgICAgWy4uLl0K
KyAgICAyNS4gRWxzZSwKKyAgICAgICAgYi4gTGV0IGZvcm1hbFN0YXR1cyBiZSBJdGVyYXRvckJp
bmRpbmdJbml0aWFsaXphdGlvbiBmb3IgZm9ybWFscyB3aXRoCisgICAgICAgICAgIGl0ZXJhdG9y
UmVjb3JkIGFuZCBlbnYgYXMgYXJndW1lbnRzLgorICAgIFsuLi5dCisKKyAgICBSdW50aW1lIFNl
bWFudGljczogQmluZGluZ0luaXRpYWxpemF0aW9uCisKKyAgICBCaW5kaW5nUGF0dGVybiA6IEFy
cmF5QmluZGluZ1BhdHRlcm4KKworICAgIDEuIExldCBpdGVyYXRvclJlY29yZCBiZSA/IEdldEl0
ZXJhdG9yKHZhbHVlKS4KKworICAgIEdldEl0ZXJhdG9yICggb2JqIFsgLCBoaW50IFsgLCBtZXRo
b2QgXSBdICkKKworICAgIFsuLi5dCisgICAgNC4gTGV0IGl0ZXJhdG9yIGJlID8gQ2FsbChtZXRo
b2QsIG9iaikuCisKKyAgICBDYWxsICggRiwgViBbICwgYXJndW1lbnRzTGlzdCBdICkKKworICAg
IFsuLi5dCisgICAgMi4gSWYgSXNDYWxsYWJsZShGKSBpcyBmYWxzZSwgdGhyb3cgYSBUeXBlRXJy
b3IgZXhjZXB0aW9uLgorCistLS0qLworZGVsZXRlIEFycmF5LnByb3RvdHlwZVtTeW1ib2wuaXRl
cmF0b3JdOworCit2YXIgQyA9IGNsYXNzIHsKKyAgbWV0aG9kKFt4LCB5LCB6XSkge30KK307CisK
K3ZhciBjID0gbmV3IEMoKTsKKworYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsIGZ1bmN0aW9uKCkg
eworICBjLm1ldGhvZChbMSwgMiwgM10pOworfSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9kc3RyL21ldGgtYXJ5LXB0cm4tZWxl
bS1pZC1pdGVyLXZhbC1hcnJheS1wcm90b3R5cGUuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9s
YW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9kc3RyL21ldGgtYXJ5LXB0cm4tZWxlbS1pZC1pdGVy
LXZhbC1hcnJheS1wcm90b3R5cGUuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDY5ZDY2NjVhMmY5MjBlM2QzZDUz
N2E5YTM5ZDI0MmZmNjg2YjkyOQotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2RzdHIvbWV0aC1hcnktcHRybi1lbGVtLWlk
LWl0ZXItdmFsLWFycmF5LXByb3RvdHlwZS5qcwpAQCAtMCwwICsxLDEwMiBAQAorLy8gVGhpcyBm
aWxlIHdhcyBwcm9jZWR1cmFsbHkgZ2VuZXJhdGVkIGZyb20gdGhlIGZvbGxvd2luZyBzb3VyY2Vz
OgorLy8gLSBzcmMvZHN0ci1iaW5kaW5nL2FyeS1wdHJuLWVsZW0taWQtaXRlci12YWwtYXJyYXkt
cHJvdG90eXBlLmNhc2UKKy8vIC0gc3JjL2RzdHItYmluZGluZy9kZWZhdWx0L2Nscy1leHByLW1l
dGgudGVtcGxhdGUKKy8qLS0tCitkZXNjcmlwdGlvbjogQXJyYXkgZGVzdHJ1Y3R1cmluZyB1c2Vz
IG92ZXJyaWRlbiBBcnJheS5wcm90b3R5cGVbU3ltYm9sLml0ZXJhdG9yXSAoY2xhc3MgZXhwcmVz
c2lvbiBtZXRob2QpCitlc2lkOiBzZWMtY2xhc3MtZGVmaW5pdGlvbnMtcnVudGltZS1zZW1hbnRp
Y3MtZXZhbHVhdGlvbgorZmVhdHVyZXM6IFtTeW1ib2wuaXRlcmF0b3IsIGdlbmVyYXRvcnMsIGRl
c3RydWN0dXJpbmctYmluZGluZ10KK2ZsYWdzOiBbZ2VuZXJhdGVkXQoraW5mbzogfAorICAgIENs
YXNzRXhwcmVzc2lvbiA6IGNsYXNzIEJpbmRpbmdJZGVudGlmaWVyb3B0IENsYXNzVGFpbAorCisg
ICAgMS4gSWYgQmluZGluZ0lkZW50aWZpZXJvcHQgaXMgbm90IHByZXNlbnQsIGxldCBjbGFzc05h
bWUgYmUgdW5kZWZpbmVkLgorICAgIDIuIEVsc2UsIGxldCBjbGFzc05hbWUgYmUgU3RyaW5nVmFs
dWUgb2YgQmluZGluZ0lkZW50aWZpZXIuCisgICAgMy4gTGV0IHZhbHVlIGJlIHRoZSByZXN1bHQg
b2YgQ2xhc3NEZWZpbml0aW9uRXZhbHVhdGlvbiBvZiBDbGFzc1RhaWwKKyAgICAgICB3aXRoIGFy
Z3VtZW50IGNsYXNzTmFtZS4KKyAgICBbLi4uXQorCisgICAgMTQuNS4xNCBSdW50aW1lIFNlbWFu
dGljczogQ2xhc3NEZWZpbml0aW9uRXZhbHVhdGlvbgorCisgICAgMjEuIEZvciBlYWNoIENsYXNz
RWxlbWVudCBtIGluIG9yZGVyIGZyb20gbWV0aG9kcworICAgICAgICBhLiBJZiBJc1N0YXRpYyBv
ZiBtIGlzIGZhbHNlLCB0aGVuCisgICAgICAgICAgIGkuIExldCBzdGF0dXMgYmUgdGhlIHJlc3Vs
dCBvZiBwZXJmb3JtaW5nCisgICAgICAgICAgICAgIFByb3BlcnR5RGVmaW5pdGlvbkV2YWx1YXRp
b24gZm9yIG0gd2l0aCBhcmd1bWVudHMgcHJvdG8gYW5kCisgICAgICAgICAgICAgIGZhbHNlLgor
ICAgICAgICBbLi4uXQorCisgICAgMTQuMy44IFJ1bnRpbWUgU2VtYW50aWNzOiBEZWZpbmVNZXRo
b2QKKworICAgIE1ldGhvZERlZmluaXRpb24gOiBQcm9wZXJ0eU5hbWUgKCBTdHJpY3RGb3JtYWxQ
YXJhbWV0ZXJzICkgeyBGdW5jdGlvbkJvZHkgfQorCisgICAgWy4uLl0KKyAgICA2LiBMZXQgY2xv
c3VyZSBiZSBGdW5jdGlvbkNyZWF0ZShraW5kLCBTdHJpY3RGb3JtYWxQYXJhbWV0ZXJzLCBGdW5j
dGlvbkJvZHksCisgICAgICAgc2NvcGUsIHN0cmljdCkuIElmIGZ1bmN0aW9uUHJvdG90eXBlIHdh
cyBwYXNzZWQgYXMgYSBwYXJhbWV0ZXIgdGhlbiBwYXNzIGl0cworICAgICAgIHZhbHVlIGFzIHRo
ZSBmdW5jdGlvblByb3RvdHlwZSBvcHRpb25hbCBhcmd1bWVudCBvZiBGdW5jdGlvbkNyZWF0ZS4K
KyAgICBbLi4uXQorCisgICAgOS4yLjEgW1tDYWxsXV0gKCB0aGlzQXJndW1lbnQsIGFyZ3VtZW50
c0xpc3QpCisKKyAgICBbLi4uXQorICAgIDcuIExldCByZXN1bHQgYmUgT3JkaW5hcnlDYWxsRXZh
bHVhdGVCb2R5KEYsIGFyZ3VtZW50c0xpc3QpLgorICAgIFsuLi5dCisKKyAgICA5LjIuMS4zIE9y
ZGluYXJ5Q2FsbEV2YWx1YXRlQm9keSAoIEYsIGFyZ3VtZW50c0xpc3QgKQorCisgICAgMS4gTGV0
IHN0YXR1cyBiZSBGdW5jdGlvbkRlY2xhcmF0aW9uSW5zdGFudGlhdGlvbihGLCBhcmd1bWVudHNM
aXN0KS4KKyAgICBbLi4uXQorCisgICAgOS4yLjEyIEZ1bmN0aW9uRGVjbGFyYXRpb25JbnN0YW50
aWF0aW9uKGZ1bmMsIGFyZ3VtZW50c0xpc3QpCisKKyAgICBbLi4uXQorICAgIDIzLiBMZXQgaXRl
cmF0b3JSZWNvcmQgYmUgUmVjb3JkIHtbW2l0ZXJhdG9yXV06CisgICAgICAgIENyZWF0ZUxpc3RJ
dGVyYXRvcihhcmd1bWVudHNMaXN0KSwgW1tkb25lXV06IGZhbHNlfS4KKyAgICAyNC4gSWYgaGFz
RHVwbGljYXRlcyBpcyB0cnVlLCB0aGVuCisgICAgICAgIFsuLi5dCisgICAgMjUuIEVsc2UsCisg
ICAgICAgIGIuIExldCBmb3JtYWxTdGF0dXMgYmUgSXRlcmF0b3JCaW5kaW5nSW5pdGlhbGl6YXRp
b24gZm9yIGZvcm1hbHMgd2l0aAorICAgICAgICAgICBpdGVyYXRvclJlY29yZCBhbmQgZW52IGFz
IGFyZ3VtZW50cy4KKyAgICBbLi4uXQorCisgICAgUnVudGltZSBTZW1hbnRpY3M6IEl0ZXJhdG9y
QmluZGluZ0luaXRpYWxpemF0aW9uCisKKyAgICBTaW5nbGVOYW1lQmluZGluZyA6IEJpbmRpbmdJ
ZGVudGlmaWVyIEluaXRpYWxpemVyX29wdAorCisgICAgMS4gTGV0IGJpbmRpbmdJZCBiZSBTdHJp
bmdWYWx1ZSBvZiBCaW5kaW5nSWRlbnRpZmllci4KKyAgICAyLiBMZXQgbGhzIGJlID8gUmVzb2x2
ZUJpbmRpbmcoYmluZGluZ0lkLCBlbnZpcm9ubWVudCkuCisgICAgMy4gSWYgaXRlcmF0b3JSZWNv
cmQuW1tEb25lXV0gaXMgZmFsc2UsIHRoZW4KKyAgICAgICAgYS4gTGV0IG5leHQgYmUgSXRlcmF0
b3JTdGVwKGl0ZXJhdG9yUmVjb3JkKS4KKyAgICAgICAgYi4gSWYgbmV4dCBpcyBhbiBhYnJ1cHQg
Y29tcGxldGlvbiwgc2V0IGl0ZXJhdG9yUmVjb3JkLltbRG9uZV1dIHRvIHRydWUuCisgICAgICAg
IGMuIFJldHVybklmQWJydXB0KG5leHQpLgorICAgICAgICBkLiBJZiBuZXh0IGlzIGZhbHNlLCBz
ZXQgaXRlcmF0b3JSZWNvcmQuW1tEb25lXV0gdG8gdHJ1ZS4KKyAgICAgICAgZS4gRWxzZSwKKyAg
ICAgICAgICAgIGkuIExldCB2IGJlIEl0ZXJhdG9yVmFsdWUobmV4dCkuCisgICAgICAgICAgICBp
aS4gSWYgdiBpcyBhbiBhYnJ1cHQgY29tcGxldGlvbiwgc2V0IGl0ZXJhdG9yUmVjb3JkLltbRG9u
ZV1dIHRvIHRydWUuCisgICAgICAgICAgICBpaWkuIFJldHVybklmQWJydXB0KHYpLgorICAgIFsu
Li5dCisgICAgNy4gUmV0dXJuIEluaXRpYWxpemVSZWZlcmVuY2VkQmluZGluZyhsaHMsIHYpLgor
CistLS0qLworQXJyYXkucHJvdG90eXBlW1N5bWJvbC5pdGVyYXRvcl0gPSBmdW5jdGlvbiogKCkg
eworICAgIGlmICh0aGlzLmxlbmd0aCA+IDApIHsKKyAgICAgICAgeWllbGQgdGhpc1swXTsKKyAg
ICB9CisgICAgaWYgKHRoaXMubGVuZ3RoID4gMSkgeworICAgICAgICB5aWVsZCB0aGlzWzFdOwor
ICAgIH0KKyAgICBpZiAodGhpcy5sZW5ndGggPiAyKSB7CisgICAgICAgIHlpZWxkIDQyOworICAg
IH0KK307CisKK3ZhciBjYWxsQ291bnQgPSAwOwordmFyIEMgPSBjbGFzcyB7CisgIG1ldGhvZChb
eCwgeSwgel0pIHsKKyAgICBhc3NlcnQuc2FtZVZhbHVlKHgsIDEpOworICAgIGFzc2VydC5zYW1l
VmFsdWUoeSwgMik7CisgICAgYXNzZXJ0LnNhbWVWYWx1ZSh6LCA0Mik7CisgICAgY2FsbENvdW50
ID0gY2FsbENvdW50ICsgMTsKKyAgfQorfTsKKworbmV3IEMoKS5tZXRob2QoWzEsIDIsIDNdKTsK
K2Fzc2VydC5zYW1lVmFsdWUoY2FsbENvdW50LCAxLCAnbWV0aG9kIGludm9rZWQgZXhhY3RseSBv
bmNlJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNz
aW9ucy9jbGFzcy9kc3RyL21ldGgtYXJ5LXB0cm4tcmVzdC1pZC1kaXJlY3QuanMgYi9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9kc3RyL21ldGgtYXJ5LXB0
cm4tcmVzdC1pZC1kaXJlY3QuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGJmYWFjMTk5MzNiMTNmNjE1M2Q5MDYy
ZDNmYWQ4YWI2M2NmOTk1YQotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2RzdHIvbWV0aC1hcnktcHRybi1yZXN0LWlkLWRp
cmVjdC5qcwpAQCAtMCwwICsxLDg1IEBACisvLyBUaGlzIGZpbGUgd2FzIHByb2NlZHVyYWxseSBn
ZW5lcmF0ZWQgZnJvbSB0aGUgZm9sbG93aW5nIHNvdXJjZXM6CisvLyAtIHNyYy9kc3RyLWJpbmRp
bmcvYXJ5LXB0cm4tcmVzdC1pZC1kaXJlY3QuY2FzZQorLy8gLSBzcmMvZHN0ci1iaW5kaW5nL2Rl
ZmF1bHQvY2xzLWV4cHItbWV0aC50ZW1wbGF0ZQorLyotLS0KK2Rlc2NyaXB0aW9uOiBMb25lIHJl
c3QgZWxlbWVudCAoZGlyZWN0IGJpbmRpbmcpIChjbGFzcyBleHByZXNzaW9uIG1ldGhvZCkKK2Vz
aWQ6IHNlYy1jbGFzcy1kZWZpbml0aW9ucy1ydW50aW1lLXNlbWFudGljcy1ldmFsdWF0aW9uCitm
ZWF0dXJlczogW2Rlc3RydWN0dXJpbmctYmluZGluZ10KK2ZsYWdzOiBbZ2VuZXJhdGVkXQoraW5j
bHVkZXM6IFtjb21wYXJlQXJyYXkuanNdCitpbmZvOiB8CisgICAgQ2xhc3NFeHByZXNzaW9uIDog
Y2xhc3MgQmluZGluZ0lkZW50aWZpZXJvcHQgQ2xhc3NUYWlsCisKKyAgICAxLiBJZiBCaW5kaW5n
SWRlbnRpZmllcm9wdCBpcyBub3QgcHJlc2VudCwgbGV0IGNsYXNzTmFtZSBiZSB1bmRlZmluZWQu
CisgICAgMi4gRWxzZSwgbGV0IGNsYXNzTmFtZSBiZSBTdHJpbmdWYWx1ZSBvZiBCaW5kaW5nSWRl
bnRpZmllci4KKyAgICAzLiBMZXQgdmFsdWUgYmUgdGhlIHJlc3VsdCBvZiBDbGFzc0RlZmluaXRp
b25FdmFsdWF0aW9uIG9mIENsYXNzVGFpbAorICAgICAgIHdpdGggYXJndW1lbnQgY2xhc3NOYW1l
LgorICAgIFsuLi5dCisKKyAgICAxNC41LjE0IFJ1bnRpbWUgU2VtYW50aWNzOiBDbGFzc0RlZmlu
aXRpb25FdmFsdWF0aW9uCisKKyAgICAyMS4gRm9yIGVhY2ggQ2xhc3NFbGVtZW50IG0gaW4gb3Jk
ZXIgZnJvbSBtZXRob2RzCisgICAgICAgIGEuIElmIElzU3RhdGljIG9mIG0gaXMgZmFsc2UsIHRo
ZW4KKyAgICAgICAgICAgaS4gTGV0IHN0YXR1cyBiZSB0aGUgcmVzdWx0IG9mIHBlcmZvcm1pbmcK
KyAgICAgICAgICAgICAgUHJvcGVydHlEZWZpbml0aW9uRXZhbHVhdGlvbiBmb3IgbSB3aXRoIGFy
Z3VtZW50cyBwcm90byBhbmQKKyAgICAgICAgICAgICAgZmFsc2UuCisgICAgICAgIFsuLi5dCisK
KyAgICAxNC4zLjggUnVudGltZSBTZW1hbnRpY3M6IERlZmluZU1ldGhvZAorCisgICAgTWV0aG9k
RGVmaW5pdGlvbiA6IFByb3BlcnR5TmFtZSAoIFN0cmljdEZvcm1hbFBhcmFtZXRlcnMgKSB7IEZ1
bmN0aW9uQm9keSB9CisKKyAgICBbLi4uXQorICAgIDYuIExldCBjbG9zdXJlIGJlIEZ1bmN0aW9u
Q3JlYXRlKGtpbmQsIFN0cmljdEZvcm1hbFBhcmFtZXRlcnMsIEZ1bmN0aW9uQm9keSwKKyAgICAg
ICBzY29wZSwgc3RyaWN0KS4gSWYgZnVuY3Rpb25Qcm90b3R5cGUgd2FzIHBhc3NlZCBhcyBhIHBh
cmFtZXRlciB0aGVuIHBhc3MgaXRzCisgICAgICAgdmFsdWUgYXMgdGhlIGZ1bmN0aW9uUHJvdG90
eXBlIG9wdGlvbmFsIGFyZ3VtZW50IG9mIEZ1bmN0aW9uQ3JlYXRlLgorICAgIFsuLi5dCisKKyAg
ICA5LjIuMSBbW0NhbGxdXSAoIHRoaXNBcmd1bWVudCwgYXJndW1lbnRzTGlzdCkKKworICAgIFsu
Li5dCisgICAgNy4gTGV0IHJlc3VsdCBiZSBPcmRpbmFyeUNhbGxFdmFsdWF0ZUJvZHkoRiwgYXJn
dW1lbnRzTGlzdCkuCisgICAgWy4uLl0KKworICAgIDkuMi4xLjMgT3JkaW5hcnlDYWxsRXZhbHVh
dGVCb2R5ICggRiwgYXJndW1lbnRzTGlzdCApCisKKyAgICAxLiBMZXQgc3RhdHVzIGJlIEZ1bmN0
aW9uRGVjbGFyYXRpb25JbnN0YW50aWF0aW9uKEYsIGFyZ3VtZW50c0xpc3QpLgorICAgIFsuLi5d
CisKKyAgICA5LjIuMTIgRnVuY3Rpb25EZWNsYXJhdGlvbkluc3RhbnRpYXRpb24oZnVuYywgYXJn
dW1lbnRzTGlzdCkKKworICAgIFsuLi5dCisgICAgMjMuIExldCBpdGVyYXRvclJlY29yZCBiZSBS
ZWNvcmQge1tbaXRlcmF0b3JdXToKKyAgICAgICAgQ3JlYXRlTGlzdEl0ZXJhdG9yKGFyZ3VtZW50
c0xpc3QpLCBbW2RvbmVdXTogZmFsc2V9LgorICAgIDI0LiBJZiBoYXNEdXBsaWNhdGVzIGlzIHRy
dWUsIHRoZW4KKyAgICAgICAgWy4uLl0KKyAgICAyNS4gRWxzZSwKKyAgICAgICAgYi4gTGV0IGZv
cm1hbFN0YXR1cyBiZSBJdGVyYXRvckJpbmRpbmdJbml0aWFsaXphdGlvbiBmb3IgZm9ybWFscyB3
aXRoCisgICAgICAgICAgIGl0ZXJhdG9yUmVjb3JkIGFuZCBlbnYgYXMgYXJndW1lbnRzLgorICAg
IFsuLi5dCisKKyAgICBSdW50aW1lIFNlbWFudGljczogSXRlcmF0b3JCaW5kaW5nSW5pdGlhbGl6
YXRpb24KKworICAgIEJpbmRpbmdSZXN0RWxlbWVudCA6IC4uLiBCaW5kaW5nSWRlbnRpZmllcgor
CisgICAgWy4uLl0KKyAgICAyLiBMZXQgQSBiZSAhIEFycmF5Q3JlYXRlKDApLgorICAgIDMuIExl
dCBuIGJlIDAuCisgICAgNC4gUmVwZWF0LAorICAgICAgICBbLi4uXQorICAgICAgICBmLiBQZXJm
b3JtICEgQ3JlYXRlRGF0YVByb3BlcnR5T3JUaHJvdyhBLCAhIFRvU3RyaW5nKG4pLCBuZXh0VmFs
dWUpLgorICAgICAgICBnLiBTZXQgbiB0byBuICsgMS4KKworLS0tKi8KKwordmFyIGNhbGxDb3Vu
dCA9IDA7Cit2YXIgQyA9IGNsYXNzIHsKKyAgbWV0aG9kKFsuLi54XSkgeworICAgIGFzc2VydChB
cnJheS5pc0FycmF5KHgpKTsKKyAgICBhc3NlcnQuY29tcGFyZUFycmF5KHgsIFsxXSk7CisgICAg
Y2FsbENvdW50ID0gY2FsbENvdW50ICsgMTsKKyAgfQorfTsKKworbmV3IEMoKS5tZXRob2QoWzFd
KTsKK2Fzc2VydC5zYW1lVmFsdWUoY2FsbENvdW50LCAxLCAnbWV0aG9kIGludm9rZWQgZXhhY3Rs
eSBvbmNlJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHBy
ZXNzaW9ucy9jbGFzcy9kc3RyL21ldGgtZGZsdC1hcnktaW5pdC1pdGVyLWdldC1lcnItYXJyYXkt
cHJvdG90eXBlLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMv
Y2xhc3MvZHN0ci9tZXRoLWRmbHQtYXJ5LWluaXQtaXRlci1nZXQtZXJyLWFycmF5LXByb3RvdHlw
ZS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi41YTJhZDRhOWYyNTczMWMyYzU2M2U4OTVmMGYwZDQzMmEyYTkxYWI2
Ci0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVz
c2lvbnMvY2xhc3MvZHN0ci9tZXRoLWRmbHQtYXJ5LWluaXQtaXRlci1nZXQtZXJyLWFycmF5LXBy
b3RvdHlwZS5qcwpAQCAtMCwwICsxLDg3IEBACisvLyBUaGlzIGZpbGUgd2FzIHByb2NlZHVyYWxs
eSBnZW5lcmF0ZWQgZnJvbSB0aGUgZm9sbG93aW5nIHNvdXJjZXM6CisvLyAtIHNyYy9kc3RyLWJp
bmRpbmcvYXJ5LWluaXQtaXRlci1nZXQtZXJyLWFycmF5LXByb3RvdHlwZS5jYXNlCisvLyAtIHNy
Yy9kc3RyLWJpbmRpbmcvZXJyb3IvY2xzLWV4cHItbWV0aC1kZmx0LnRlbXBsYXRlCisvKi0tLQor
ZGVzY3JpcHRpb246IEFicnVwdCBjb21wbGV0aW9uIHJldHVybmVkIGJ5IEdldEl0ZXJhdG9yIChj
bGFzcyBleHByZXNzaW9uIG1ldGhvZCAoZGVmYXVsdCBwYXJhbWV0ZXIpKQorZXNpZDogc2VjLWNs
YXNzLWRlZmluaXRpb25zLXJ1bnRpbWUtc2VtYW50aWNzLWV2YWx1YXRpb24KK2ZlYXR1cmVzOiBb
U3ltYm9sLml0ZXJhdG9yLCBkZXN0cnVjdHVyaW5nLWJpbmRpbmcsIGRlZmF1bHQtcGFyYW1ldGVy
c10KK2ZsYWdzOiBbZ2VuZXJhdGVkXQoraW5mbzogfAorICAgIENsYXNzRXhwcmVzc2lvbiA6IGNs
YXNzIEJpbmRpbmdJZGVudGlmaWVyb3B0IENsYXNzVGFpbAorCisgICAgMS4gSWYgQmluZGluZ0lk
ZW50aWZpZXJvcHQgaXMgbm90IHByZXNlbnQsIGxldCBjbGFzc05hbWUgYmUgdW5kZWZpbmVkLgor
ICAgIDIuIEVsc2UsIGxldCBjbGFzc05hbWUgYmUgU3RyaW5nVmFsdWUgb2YgQmluZGluZ0lkZW50
aWZpZXIuCisgICAgMy4gTGV0IHZhbHVlIGJlIHRoZSByZXN1bHQgb2YgQ2xhc3NEZWZpbml0aW9u
RXZhbHVhdGlvbiBvZiBDbGFzc1RhaWwKKyAgICAgICB3aXRoIGFyZ3VtZW50IGNsYXNzTmFtZS4K
KyAgICBbLi4uXQorCisgICAgMTQuNS4xNCBSdW50aW1lIFNlbWFudGljczogQ2xhc3NEZWZpbml0
aW9uRXZhbHVhdGlvbgorCisgICAgMjEuIEZvciBlYWNoIENsYXNzRWxlbWVudCBtIGluIG9yZGVy
IGZyb20gbWV0aG9kcworICAgICAgICBhLiBJZiBJc1N0YXRpYyBvZiBtIGlzIGZhbHNlLCB0aGVu
CisgICAgICAgICAgIGkuIExldCBzdGF0dXMgYmUgdGhlIHJlc3VsdCBvZiBwZXJmb3JtaW5nCisg
ICAgICAgICAgICAgIFByb3BlcnR5RGVmaW5pdGlvbkV2YWx1YXRpb24gZm9yIG0gd2l0aCBhcmd1
bWVudHMgcHJvdG8gYW5kCisgICAgICAgICAgICAgIGZhbHNlLgorICAgICAgICBbLi4uXQorCisg
ICAgMTQuMy44IFJ1bnRpbWUgU2VtYW50aWNzOiBEZWZpbmVNZXRob2QKKworICAgIE1ldGhvZERl
ZmluaXRpb24gOiBQcm9wZXJ0eU5hbWUgKCBTdHJpY3RGb3JtYWxQYXJhbWV0ZXJzICkgeyBGdW5j
dGlvbkJvZHkgfQorCisgICAgWy4uLl0KKyAgICA2LiBMZXQgY2xvc3VyZSBiZSBGdW5jdGlvbkNy
ZWF0ZShraW5kLCBTdHJpY3RGb3JtYWxQYXJhbWV0ZXJzLCBGdW5jdGlvbkJvZHksCisgICAgICAg
c2NvcGUsIHN0cmljdCkuIElmIGZ1bmN0aW9uUHJvdG90eXBlIHdhcyBwYXNzZWQgYXMgYSBwYXJh
bWV0ZXIgdGhlbiBwYXNzIGl0cworICAgICAgIHZhbHVlIGFzIHRoZSBmdW5jdGlvblByb3RvdHlw
ZSBvcHRpb25hbCBhcmd1bWVudCBvZiBGdW5jdGlvbkNyZWF0ZS4KKyAgICBbLi4uXQorCisgICAg
OS4yLjEgW1tDYWxsXV0gKCB0aGlzQXJndW1lbnQsIGFyZ3VtZW50c0xpc3QpCisKKyAgICBbLi4u
XQorICAgIDcuIExldCByZXN1bHQgYmUgT3JkaW5hcnlDYWxsRXZhbHVhdGVCb2R5KEYsIGFyZ3Vt
ZW50c0xpc3QpLgorICAgIFsuLi5dCisKKyAgICA5LjIuMS4zIE9yZGluYXJ5Q2FsbEV2YWx1YXRl
Qm9keSAoIEYsIGFyZ3VtZW50c0xpc3QgKQorCisgICAgMS4gTGV0IHN0YXR1cyBiZSBGdW5jdGlv
bkRlY2xhcmF0aW9uSW5zdGFudGlhdGlvbihGLCBhcmd1bWVudHNMaXN0KS4KKyAgICBbLi4uXQor
CisgICAgOS4yLjEyIEZ1bmN0aW9uRGVjbGFyYXRpb25JbnN0YW50aWF0aW9uKGZ1bmMsIGFyZ3Vt
ZW50c0xpc3QpCisKKyAgICBbLi4uXQorICAgIDIzLiBMZXQgaXRlcmF0b3JSZWNvcmQgYmUgUmVj
b3JkIHtbW2l0ZXJhdG9yXV06CisgICAgICAgIENyZWF0ZUxpc3RJdGVyYXRvcihhcmd1bWVudHNM
aXN0KSwgW1tkb25lXV06IGZhbHNlfS4KKyAgICAyNC4gSWYgaGFzRHVwbGljYXRlcyBpcyB0cnVl
LCB0aGVuCisgICAgICAgIFsuLi5dCisgICAgMjUuIEVsc2UsCisgICAgICAgIGIuIExldCBmb3Jt
YWxTdGF0dXMgYmUgSXRlcmF0b3JCaW5kaW5nSW5pdGlhbGl6YXRpb24gZm9yIGZvcm1hbHMgd2l0
aAorICAgICAgICAgICBpdGVyYXRvclJlY29yZCBhbmQgZW52IGFzIGFyZ3VtZW50cy4KKyAgICBb
Li4uXQorCisgICAgUnVudGltZSBTZW1hbnRpY3M6IEJpbmRpbmdJbml0aWFsaXphdGlvbgorCisg
ICAgQmluZGluZ1BhdHRlcm4gOiBBcnJheUJpbmRpbmdQYXR0ZXJuCisKKyAgICAxLiBMZXQgaXRl
cmF0b3JSZWNvcmQgYmUgPyBHZXRJdGVyYXRvcih2YWx1ZSkuCisKKyAgICBHZXRJdGVyYXRvciAo
IG9iaiBbICwgaGludCBbICwgbWV0aG9kIF0gXSApCisKKyAgICBbLi4uXQorICAgIDQuIExldCBp
dGVyYXRvciBiZSA/IENhbGwobWV0aG9kLCBvYmopLgorCisgICAgQ2FsbCAoIEYsIFYgWyAsIGFy
Z3VtZW50c0xpc3QgXSApCisKKyAgICBbLi4uXQorICAgIDIuIElmIElzQ2FsbGFibGUoRikgaXMg
ZmFsc2UsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KKworLS0tKi8KK2RlbGV0ZSBBcnJh
eS5wcm90b3R5cGVbU3ltYm9sLml0ZXJhdG9yXTsKKwordmFyIEMgPSBjbGFzcyB7CisgIG1ldGhv
ZChbeCwgeSwgel0gPSBbMSwgMiwgM10pIHt9Cit9OworCit2YXIgYyA9IG5ldyBDKCk7CisKK2Fz
c2VydC50aHJvd3MoVHlwZUVycm9yLCBmdW5jdGlvbigpIHsKKyAgYy5tZXRob2QoKTsKK30pOwpk
aWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xh
c3MvZHN0ci9tZXRoLWRmbHQtYXJ5LXB0cm4tZWxlbS1pZC1pdGVyLXZhbC1hcnJheS1wcm90b3R5
cGUuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9k
c3RyL21ldGgtZGZsdC1hcnktcHRybi1lbGVtLWlkLWl0ZXItdmFsLWFycmF5LXByb3RvdHlwZS5q
cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5jYTI3NzJmZTRlZDgwNWE1ZjBmMzAzNjZhZDE4NWE1Nzg1YmY0NzkwCi0t
LSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lv
bnMvY2xhc3MvZHN0ci9tZXRoLWRmbHQtYXJ5LXB0cm4tZWxlbS1pZC1pdGVyLXZhbC1hcnJheS1w
cm90b3R5cGUuanMKQEAgLTAsMCArMSwxMDIgQEAKKy8vIFRoaXMgZmlsZSB3YXMgcHJvY2VkdXJh
bGx5IGdlbmVyYXRlZCBmcm9tIHRoZSBmb2xsb3dpbmcgc291cmNlczoKKy8vIC0gc3JjL2RzdHIt
YmluZGluZy9hcnktcHRybi1lbGVtLWlkLWl0ZXItdmFsLWFycmF5LXByb3RvdHlwZS5jYXNlCisv
LyAtIHNyYy9kc3RyLWJpbmRpbmcvZGVmYXVsdC9jbHMtZXhwci1tZXRoLWRmbHQudGVtcGxhdGUK
Ky8qLS0tCitkZXNjcmlwdGlvbjogQXJyYXkgZGVzdHJ1Y3R1cmluZyB1c2VzIG92ZXJyaWRlbiBB
cnJheS5wcm90b3R5cGVbU3ltYm9sLml0ZXJhdG9yXSAoY2xhc3MgZXhwcmVzc2lvbiBtZXRob2Qg
KGRlZmF1bHQgcGFyYW1ldGVyKSkKK2VzaWQ6IHNlYy1jbGFzcy1kZWZpbml0aW9ucy1ydW50aW1l
LXNlbWFudGljcy1ldmFsdWF0aW9uCitmZWF0dXJlczogW1N5bWJvbC5pdGVyYXRvciwgZ2VuZXJh
dG9ycywgZGVzdHJ1Y3R1cmluZy1iaW5kaW5nLCBkZWZhdWx0LXBhcmFtZXRlcnNdCitmbGFnczog
W2dlbmVyYXRlZF0KK2luZm86IHwKKyAgICBDbGFzc0V4cHJlc3Npb24gOiBjbGFzcyBCaW5kaW5n
SWRlbnRpZmllcm9wdCBDbGFzc1RhaWwKKworICAgIDEuIElmIEJpbmRpbmdJZGVudGlmaWVyb3B0
IGlzIG5vdCBwcmVzZW50LCBsZXQgY2xhc3NOYW1lIGJlIHVuZGVmaW5lZC4KKyAgICAyLiBFbHNl
LCBsZXQgY2xhc3NOYW1lIGJlIFN0cmluZ1ZhbHVlIG9mIEJpbmRpbmdJZGVudGlmaWVyLgorICAg
IDMuIExldCB2YWx1ZSBiZSB0aGUgcmVzdWx0IG9mIENsYXNzRGVmaW5pdGlvbkV2YWx1YXRpb24g
b2YgQ2xhc3NUYWlsCisgICAgICAgd2l0aCBhcmd1bWVudCBjbGFzc05hbWUuCisgICAgWy4uLl0K
KworICAgIDE0LjUuMTQgUnVudGltZSBTZW1hbnRpY3M6IENsYXNzRGVmaW5pdGlvbkV2YWx1YXRp
b24KKworICAgIDIxLiBGb3IgZWFjaCBDbGFzc0VsZW1lbnQgbSBpbiBvcmRlciBmcm9tIG1ldGhv
ZHMKKyAgICAgICAgYS4gSWYgSXNTdGF0aWMgb2YgbSBpcyBmYWxzZSwgdGhlbgorICAgICAgICAg
ICBpLiBMZXQgc3RhdHVzIGJlIHRoZSByZXN1bHQgb2YgcGVyZm9ybWluZworICAgICAgICAgICAg
ICBQcm9wZXJ0eURlZmluaXRpb25FdmFsdWF0aW9uIGZvciBtIHdpdGggYXJndW1lbnRzIHByb3Rv
IGFuZAorICAgICAgICAgICAgICBmYWxzZS4KKyAgICAgICAgWy4uLl0KKworICAgIDE0LjMuOCBS
dW50aW1lIFNlbWFudGljczogRGVmaW5lTWV0aG9kCisKKyAgICBNZXRob2REZWZpbml0aW9uIDog
UHJvcGVydHlOYW1lICggU3RyaWN0Rm9ybWFsUGFyYW1ldGVycyApIHsgRnVuY3Rpb25Cb2R5IH0K
KworICAgIFsuLi5dCisgICAgNi4gTGV0IGNsb3N1cmUgYmUgRnVuY3Rpb25DcmVhdGUoa2luZCwg
U3RyaWN0Rm9ybWFsUGFyYW1ldGVycywgRnVuY3Rpb25Cb2R5LAorICAgICAgIHNjb3BlLCBzdHJp
Y3QpLiBJZiBmdW5jdGlvblByb3RvdHlwZSB3YXMgcGFzc2VkIGFzIGEgcGFyYW1ldGVyIHRoZW4g
cGFzcyBpdHMKKyAgICAgICB2YWx1ZSBhcyB0aGUgZnVuY3Rpb25Qcm90b3R5cGUgb3B0aW9uYWwg
YXJndW1lbnQgb2YgRnVuY3Rpb25DcmVhdGUuCisgICAgWy4uLl0KKworICAgIDkuMi4xIFtbQ2Fs
bF1dICggdGhpc0FyZ3VtZW50LCBhcmd1bWVudHNMaXN0KQorCisgICAgWy4uLl0KKyAgICA3LiBM
ZXQgcmVzdWx0IGJlIE9yZGluYXJ5Q2FsbEV2YWx1YXRlQm9keShGLCBhcmd1bWVudHNMaXN0KS4K
KyAgICBbLi4uXQorCisgICAgOS4yLjEuMyBPcmRpbmFyeUNhbGxFdmFsdWF0ZUJvZHkgKCBGLCBh
cmd1bWVudHNMaXN0ICkKKworICAgIDEuIExldCBzdGF0dXMgYmUgRnVuY3Rpb25EZWNsYXJhdGlv
bkluc3RhbnRpYXRpb24oRiwgYXJndW1lbnRzTGlzdCkuCisgICAgWy4uLl0KKworICAgIDkuMi4x
MiBGdW5jdGlvbkRlY2xhcmF0aW9uSW5zdGFudGlhdGlvbihmdW5jLCBhcmd1bWVudHNMaXN0KQor
CisgICAgWy4uLl0KKyAgICAyMy4gTGV0IGl0ZXJhdG9yUmVjb3JkIGJlIFJlY29yZCB7W1tpdGVy
YXRvcl1dOgorICAgICAgICBDcmVhdGVMaXN0SXRlcmF0b3IoYXJndW1lbnRzTGlzdCksIFtbZG9u
ZV1dOiBmYWxzZX0uCisgICAgMjQuIElmIGhhc0R1cGxpY2F0ZXMgaXMgdHJ1ZSwgdGhlbgorICAg
ICAgICBbLi4uXQorICAgIDI1LiBFbHNlLAorICAgICAgICBiLiBMZXQgZm9ybWFsU3RhdHVzIGJl
IEl0ZXJhdG9yQmluZGluZ0luaXRpYWxpemF0aW9uIGZvciBmb3JtYWxzIHdpdGgKKyAgICAgICAg
ICAgaXRlcmF0b3JSZWNvcmQgYW5kIGVudiBhcyBhcmd1bWVudHMuCisgICAgWy4uLl0KKworICAg
IFJ1bnRpbWUgU2VtYW50aWNzOiBJdGVyYXRvckJpbmRpbmdJbml0aWFsaXphdGlvbgorCisgICAg
U2luZ2xlTmFtZUJpbmRpbmcgOiBCaW5kaW5nSWRlbnRpZmllciBJbml0aWFsaXplcl9vcHQKKwor
ICAgIDEuIExldCBiaW5kaW5nSWQgYmUgU3RyaW5nVmFsdWUgb2YgQmluZGluZ0lkZW50aWZpZXIu
CisgICAgMi4gTGV0IGxocyBiZSA/IFJlc29sdmVCaW5kaW5nKGJpbmRpbmdJZCwgZW52aXJvbm1l
bnQpLgorICAgIDMuIElmIGl0ZXJhdG9yUmVjb3JkLltbRG9uZV1dIGlzIGZhbHNlLCB0aGVuCisg
ICAgICAgIGEuIExldCBuZXh0IGJlIEl0ZXJhdG9yU3RlcChpdGVyYXRvclJlY29yZCkuCisgICAg
ICAgIGIuIElmIG5leHQgaXMgYW4gYWJydXB0IGNvbXBsZXRpb24sIHNldCBpdGVyYXRvclJlY29y
ZC5bW0RvbmVdXSB0byB0cnVlLgorICAgICAgICBjLiBSZXR1cm5JZkFicnVwdChuZXh0KS4KKyAg
ICAgICAgZC4gSWYgbmV4dCBpcyBmYWxzZSwgc2V0IGl0ZXJhdG9yUmVjb3JkLltbRG9uZV1dIHRv
IHRydWUuCisgICAgICAgIGUuIEVsc2UsCisgICAgICAgICAgICBpLiBMZXQgdiBiZSBJdGVyYXRv
clZhbHVlKG5leHQpLgorICAgICAgICAgICAgaWkuIElmIHYgaXMgYW4gYWJydXB0IGNvbXBsZXRp
b24sIHNldCBpdGVyYXRvclJlY29yZC5bW0RvbmVdXSB0byB0cnVlLgorICAgICAgICAgICAgaWlp
LiBSZXR1cm5JZkFicnVwdCh2KS4KKyAgICBbLi4uXQorICAgIDcuIFJldHVybiBJbml0aWFsaXpl
UmVmZXJlbmNlZEJpbmRpbmcobGhzLCB2KS4KKworLS0tKi8KK0FycmF5LnByb3RvdHlwZVtTeW1i
b2wuaXRlcmF0b3JdID0gZnVuY3Rpb24qICgpIHsKKyAgICBpZiAodGhpcy5sZW5ndGggPiAwKSB7
CisgICAgICAgIHlpZWxkIHRoaXNbMF07CisgICAgfQorICAgIGlmICh0aGlzLmxlbmd0aCA+IDEp
IHsKKyAgICAgICAgeWllbGQgdGhpc1sxXTsKKyAgICB9CisgICAgaWYgKHRoaXMubGVuZ3RoID4g
MikgeworICAgICAgICB5aWVsZCA0MjsKKyAgICB9Cit9OworCit2YXIgY2FsbENvdW50ID0gMDsK
K3ZhciBDID0gY2xhc3MgeworICBtZXRob2QoW3gsIHksIHpdID0gWzEsIDIsIDNdKSB7CisgICAg
YXNzZXJ0LnNhbWVWYWx1ZSh4LCAxKTsKKyAgICBhc3NlcnQuc2FtZVZhbHVlKHksIDIpOworICAg
IGFzc2VydC5zYW1lVmFsdWUoeiwgNDIpOworICAgIGNhbGxDb3VudCA9IGNhbGxDb3VudCArIDE7
CisgIH0KK307CisKK25ldyBDKCkubWV0aG9kKCk7Cithc3NlcnQuc2FtZVZhbHVlKGNhbGxDb3Vu
dCwgMSwgJ21ldGhvZCBpbnZva2VkIGV4YWN0bHkgb25jZScpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvZHN0ci9tZXRoLWRmbHQt
YXJ5LXB0cm4tcmVzdC1pZC1kaXJlY3QuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFn
ZS9leHByZXNzaW9ucy9jbGFzcy9kc3RyL21ldGgtZGZsdC1hcnktcHRybi1yZXN0LWlkLWRpcmVj
dC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi40Y2QxY2YyNmM3NmY5YTNmNTkxZTc1NjE0MmEyYWNkMGVjZjE4MTk3
Ci0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVz
c2lvbnMvY2xhc3MvZHN0ci9tZXRoLWRmbHQtYXJ5LXB0cm4tcmVzdC1pZC1kaXJlY3QuanMKQEAg
LTAsMCArMSw4NSBAQAorLy8gVGhpcyBmaWxlIHdhcyBwcm9jZWR1cmFsbHkgZ2VuZXJhdGVkIGZy
b20gdGhlIGZvbGxvd2luZyBzb3VyY2VzOgorLy8gLSBzcmMvZHN0ci1iaW5kaW5nL2FyeS1wdHJu
LXJlc3QtaWQtZGlyZWN0LmNhc2UKKy8vIC0gc3JjL2RzdHItYmluZGluZy9kZWZhdWx0L2Nscy1l
eHByLW1ldGgtZGZsdC50ZW1wbGF0ZQorLyotLS0KK2Rlc2NyaXB0aW9uOiBMb25lIHJlc3QgZWxl
bWVudCAoZGlyZWN0IGJpbmRpbmcpIChjbGFzcyBleHByZXNzaW9uIG1ldGhvZCAoZGVmYXVsdCBw
YXJhbWV0ZXIpKQorZXNpZDogc2VjLWNsYXNzLWRlZmluaXRpb25zLXJ1bnRpbWUtc2VtYW50aWNz
LWV2YWx1YXRpb24KK2ZlYXR1cmVzOiBbZGVzdHJ1Y3R1cmluZy1iaW5kaW5nLCBkZWZhdWx0LXBh
cmFtZXRlcnNdCitmbGFnczogW2dlbmVyYXRlZF0KK2luY2x1ZGVzOiBbY29tcGFyZUFycmF5Lmpz
XQoraW5mbzogfAorICAgIENsYXNzRXhwcmVzc2lvbiA6IGNsYXNzIEJpbmRpbmdJZGVudGlmaWVy
b3B0IENsYXNzVGFpbAorCisgICAgMS4gSWYgQmluZGluZ0lkZW50aWZpZXJvcHQgaXMgbm90IHBy
ZXNlbnQsIGxldCBjbGFzc05hbWUgYmUgdW5kZWZpbmVkLgorICAgIDIuIEVsc2UsIGxldCBjbGFz
c05hbWUgYmUgU3RyaW5nVmFsdWUgb2YgQmluZGluZ0lkZW50aWZpZXIuCisgICAgMy4gTGV0IHZh
bHVlIGJlIHRoZSByZXN1bHQgb2YgQ2xhc3NEZWZpbml0aW9uRXZhbHVhdGlvbiBvZiBDbGFzc1Rh
aWwKKyAgICAgICB3aXRoIGFyZ3VtZW50IGNsYXNzTmFtZS4KKyAgICBbLi4uXQorCisgICAgMTQu
NS4xNCBSdW50aW1lIFNlbWFudGljczogQ2xhc3NEZWZpbml0aW9uRXZhbHVhdGlvbgorCisgICAg
MjEuIEZvciBlYWNoIENsYXNzRWxlbWVudCBtIGluIG9yZGVyIGZyb20gbWV0aG9kcworICAgICAg
ICBhLiBJZiBJc1N0YXRpYyBvZiBtIGlzIGZhbHNlLCB0aGVuCisgICAgICAgICAgIGkuIExldCBz
dGF0dXMgYmUgdGhlIHJlc3VsdCBvZiBwZXJmb3JtaW5nCisgICAgICAgICAgICAgIFByb3BlcnR5
RGVmaW5pdGlvbkV2YWx1YXRpb24gZm9yIG0gd2l0aCBhcmd1bWVudHMgcHJvdG8gYW5kCisgICAg
ICAgICAgICAgIGZhbHNlLgorICAgICAgICBbLi4uXQorCisgICAgMTQuMy44IFJ1bnRpbWUgU2Vt
YW50aWNzOiBEZWZpbmVNZXRob2QKKworICAgIE1ldGhvZERlZmluaXRpb24gOiBQcm9wZXJ0eU5h
bWUgKCBTdHJpY3RGb3JtYWxQYXJhbWV0ZXJzICkgeyBGdW5jdGlvbkJvZHkgfQorCisgICAgWy4u
Ll0KKyAgICA2LiBMZXQgY2xvc3VyZSBiZSBGdW5jdGlvbkNyZWF0ZShraW5kLCBTdHJpY3RGb3Jt
YWxQYXJhbWV0ZXJzLCBGdW5jdGlvbkJvZHksCisgICAgICAgc2NvcGUsIHN0cmljdCkuIElmIGZ1
bmN0aW9uUHJvdG90eXBlIHdhcyBwYXNzZWQgYXMgYSBwYXJhbWV0ZXIgdGhlbiBwYXNzIGl0cwor
ICAgICAgIHZhbHVlIGFzIHRoZSBmdW5jdGlvblByb3RvdHlwZSBvcHRpb25hbCBhcmd1bWVudCBv
ZiBGdW5jdGlvbkNyZWF0ZS4KKyAgICBbLi4uXQorCisgICAgOS4yLjEgW1tDYWxsXV0gKCB0aGlz
QXJndW1lbnQsIGFyZ3VtZW50c0xpc3QpCisKKyAgICBbLi4uXQorICAgIDcuIExldCByZXN1bHQg
YmUgT3JkaW5hcnlDYWxsRXZhbHVhdGVCb2R5KEYsIGFyZ3VtZW50c0xpc3QpLgorICAgIFsuLi5d
CisKKyAgICA5LjIuMS4zIE9yZGluYXJ5Q2FsbEV2YWx1YXRlQm9keSAoIEYsIGFyZ3VtZW50c0xp
c3QgKQorCisgICAgMS4gTGV0IHN0YXR1cyBiZSBGdW5jdGlvbkRlY2xhcmF0aW9uSW5zdGFudGlh
dGlvbihGLCBhcmd1bWVudHNMaXN0KS4KKyAgICBbLi4uXQorCisgICAgOS4yLjEyIEZ1bmN0aW9u
RGVjbGFyYXRpb25JbnN0YW50aWF0aW9uKGZ1bmMsIGFyZ3VtZW50c0xpc3QpCisKKyAgICBbLi4u
XQorICAgIDIzLiBMZXQgaXRlcmF0b3JSZWNvcmQgYmUgUmVjb3JkIHtbW2l0ZXJhdG9yXV06Cisg
ICAgICAgIENyZWF0ZUxpc3RJdGVyYXRvcihhcmd1bWVudHNMaXN0KSwgW1tkb25lXV06IGZhbHNl
fS4KKyAgICAyNC4gSWYgaGFzRHVwbGljYXRlcyBpcyB0cnVlLCB0aGVuCisgICAgICAgIFsuLi5d
CisgICAgMjUuIEVsc2UsCisgICAgICAgIGIuIExldCBmb3JtYWxTdGF0dXMgYmUgSXRlcmF0b3JC
aW5kaW5nSW5pdGlhbGl6YXRpb24gZm9yIGZvcm1hbHMgd2l0aAorICAgICAgICAgICBpdGVyYXRv
clJlY29yZCBhbmQgZW52IGFzIGFyZ3VtZW50cy4KKyAgICBbLi4uXQorCisgICAgUnVudGltZSBT
ZW1hbnRpY3M6IEl0ZXJhdG9yQmluZGluZ0luaXRpYWxpemF0aW9uCisKKyAgICBCaW5kaW5nUmVz
dEVsZW1lbnQgOiAuLi4gQmluZGluZ0lkZW50aWZpZXIKKworICAgIFsuLi5dCisgICAgMi4gTGV0
IEEgYmUgISBBcnJheUNyZWF0ZSgwKS4KKyAgICAzLiBMZXQgbiBiZSAwLgorICAgIDQuIFJlcGVh
dCwKKyAgICAgICAgWy4uLl0KKyAgICAgICAgZi4gUGVyZm9ybSAhIENyZWF0ZURhdGFQcm9wZXJ0
eU9yVGhyb3coQSwgISBUb1N0cmluZyhuKSwgbmV4dFZhbHVlKS4KKyAgICAgICAgZy4gU2V0IG4g
dG8gbiArIDEuCisKKy0tLSovCisKK3ZhciBjYWxsQ291bnQgPSAwOwordmFyIEMgPSBjbGFzcyB7
CisgIG1ldGhvZChbLi4ueF0gPSBbMV0pIHsKKyAgICBhc3NlcnQoQXJyYXkuaXNBcnJheSh4KSk7
CisgICAgYXNzZXJ0LmNvbXBhcmVBcnJheSh4LCBbMV0pOworICAgIGNhbGxDb3VudCA9IGNhbGxD
b3VudCArIDE7CisgIH0KK307CisKK25ldyBDKCkubWV0aG9kKCk7Cithc3NlcnQuc2FtZVZhbHVl
KGNhbGxDb3VudCwgMSwgJ21ldGhvZCBpbnZva2VkIGV4YWN0bHkgb25jZScpOwpkaWZmIC0tZ2l0
IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvZHN0ci9t
ZXRoLXN0YXRpYy1hcnktaW5pdC1pdGVyLWdldC1lcnItYXJyYXktcHJvdG90eXBlLmpzIGIvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvZHN0ci9tZXRoLXN0
YXRpYy1hcnktaW5pdC1pdGVyLWdldC1lcnItYXJyYXktcHJvdG90eXBlLmpzCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
Ljg0OGJhYzE2MjlkMDgxNDQ2OTM1NTAxOTkzNDMxNGUwOWE4ODg3YjkKLS0tIC9kZXYvbnVsbAor
KysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9kc3Ry
L21ldGgtc3RhdGljLWFyeS1pbml0LWl0ZXItZ2V0LWVyci1hcnJheS1wcm90b3R5cGUuanMKQEAg
LTAsMCArMSw4NSBAQAorLy8gVGhpcyBmaWxlIHdhcyBwcm9jZWR1cmFsbHkgZ2VuZXJhdGVkIGZy
b20gdGhlIGZvbGxvd2luZyBzb3VyY2VzOgorLy8gLSBzcmMvZHN0ci1iaW5kaW5nL2FyeS1pbml0
LWl0ZXItZ2V0LWVyci1hcnJheS1wcm90b3R5cGUuY2FzZQorLy8gLSBzcmMvZHN0ci1iaW5kaW5n
L2Vycm9yL2Nscy1leHByLW1ldGgtc3RhdGljLnRlbXBsYXRlCisvKi0tLQorZGVzY3JpcHRpb246
IEFicnVwdCBjb21wbGV0aW9uIHJldHVybmVkIGJ5IEdldEl0ZXJhdG9yIChzdGF0aWMgY2xhc3Mg
ZXhwcmVzc2lvbiBtZXRob2QpCitlc2lkOiBzZWMtY2xhc3MtZGVmaW5pdGlvbnMtcnVudGltZS1z
ZW1hbnRpY3MtZXZhbHVhdGlvbgorZmVhdHVyZXM6IFtTeW1ib2wuaXRlcmF0b3IsIGRlc3RydWN0
dXJpbmctYmluZGluZ10KK2ZsYWdzOiBbZ2VuZXJhdGVkXQoraW5mbzogfAorICAgIENsYXNzRXhw
cmVzc2lvbiA6IGNsYXNzIEJpbmRpbmdJZGVudGlmaWVyb3B0IENsYXNzVGFpbAorCisgICAgMS4g
SWYgQmluZGluZ0lkZW50aWZpZXJvcHQgaXMgbm90IHByZXNlbnQsIGxldCBjbGFzc05hbWUgYmUg
dW5kZWZpbmVkLgorICAgIDIuIEVsc2UsIGxldCBjbGFzc05hbWUgYmUgU3RyaW5nVmFsdWUgb2Yg
QmluZGluZ0lkZW50aWZpZXIuCisgICAgMy4gTGV0IHZhbHVlIGJlIHRoZSByZXN1bHQgb2YgQ2xh
c3NEZWZpbml0aW9uRXZhbHVhdGlvbiBvZiBDbGFzc1RhaWwKKyAgICAgICB3aXRoIGFyZ3VtZW50
IGNsYXNzTmFtZS4KKyAgICBbLi4uXQorCisgICAgMTQuNS4xNCBSdW50aW1lIFNlbWFudGljczog
Q2xhc3NEZWZpbml0aW9uRXZhbHVhdGlvbgorCisgICAgMjEuIEZvciBlYWNoIENsYXNzRWxlbWVu
dCBtIGluIG9yZGVyIGZyb20gbWV0aG9kcworICAgICAgICBhLiBJZiBJc1N0YXRpYyBvZiBtIGlz
IGZhbHNlLCB0aGVuCisgICAgICAgIGIuIEVsc2UsCisgICAgICAgICAgIExldCBzdGF0dXMgYmUg
dGhlIHJlc3VsdCBvZiBwZXJmb3JtaW5nIFByb3BlcnR5RGVmaW5pdGlvbkV2YWx1YXRpb24gZm9y
CisgICAgICAgICAgIG0gd2l0aCBhcmd1bWVudHMgRiBhbmQgZmFsc2UuCisgICAgWy4uLl0KKwor
ICAgIDE0LjMuOCBSdW50aW1lIFNlbWFudGljczogRGVmaW5lTWV0aG9kCisKKyAgICBNZXRob2RE
ZWZpbml0aW9uIDogUHJvcGVydHlOYW1lICggU3RyaWN0Rm9ybWFsUGFyYW1ldGVycyApIHsgRnVu
Y3Rpb25Cb2R5IH0KKworICAgIFsuLi5dCisgICAgNi4gTGV0IGNsb3N1cmUgYmUgRnVuY3Rpb25D
cmVhdGUoa2luZCwgU3RyaWN0Rm9ybWFsUGFyYW1ldGVycywgRnVuY3Rpb25Cb2R5LAorICAgICAg
IHNjb3BlLCBzdHJpY3QpLiBJZiBmdW5jdGlvblByb3RvdHlwZSB3YXMgcGFzc2VkIGFzIGEgcGFy
YW1ldGVyIHRoZW4gcGFzcyBpdHMKKyAgICAgICB2YWx1ZSBhcyB0aGUgZnVuY3Rpb25Qcm90b3R5
cGUgb3B0aW9uYWwgYXJndW1lbnQgb2YgRnVuY3Rpb25DcmVhdGUuCisgICAgWy4uLl0KKworICAg
IDkuMi4xIFtbQ2FsbF1dICggdGhpc0FyZ3VtZW50LCBhcmd1bWVudHNMaXN0KQorCisgICAgWy4u
Ll0KKyAgICA3LiBMZXQgcmVzdWx0IGJlIE9yZGluYXJ5Q2FsbEV2YWx1YXRlQm9keShGLCBhcmd1
bWVudHNMaXN0KS4KKyAgICBbLi4uXQorCisgICAgOS4yLjEuMyBPcmRpbmFyeUNhbGxFdmFsdWF0
ZUJvZHkgKCBGLCBhcmd1bWVudHNMaXN0ICkKKworICAgIDEuIExldCBzdGF0dXMgYmUgRnVuY3Rp
b25EZWNsYXJhdGlvbkluc3RhbnRpYXRpb24oRiwgYXJndW1lbnRzTGlzdCkuCisgICAgWy4uLl0K
KworICAgIDkuMi4xMiBGdW5jdGlvbkRlY2xhcmF0aW9uSW5zdGFudGlhdGlvbihmdW5jLCBhcmd1
bWVudHNMaXN0KQorCisgICAgWy4uLl0KKyAgICAyMy4gTGV0IGl0ZXJhdG9yUmVjb3JkIGJlIFJl
Y29yZCB7W1tpdGVyYXRvcl1dOgorICAgICAgICBDcmVhdGVMaXN0SXRlcmF0b3IoYXJndW1lbnRz
TGlzdCksIFtbZG9uZV1dOiBmYWxzZX0uCisgICAgMjQuIElmIGhhc0R1cGxpY2F0ZXMgaXMgdHJ1
ZSwgdGhlbgorICAgICAgICBbLi4uXQorICAgIDI1LiBFbHNlLAorICAgICAgICBiLiBMZXQgZm9y
bWFsU3RhdHVzIGJlIEl0ZXJhdG9yQmluZGluZ0luaXRpYWxpemF0aW9uIGZvciBmb3JtYWxzIHdp
dGgKKyAgICAgICAgICAgaXRlcmF0b3JSZWNvcmQgYW5kIGVudiBhcyBhcmd1bWVudHMuCisgICAg
Wy4uLl0KKworICAgIFJ1bnRpbWUgU2VtYW50aWNzOiBCaW5kaW5nSW5pdGlhbGl6YXRpb24KKwor
ICAgIEJpbmRpbmdQYXR0ZXJuIDogQXJyYXlCaW5kaW5nUGF0dGVybgorCisgICAgMS4gTGV0IGl0
ZXJhdG9yUmVjb3JkIGJlID8gR2V0SXRlcmF0b3IodmFsdWUpLgorCisgICAgR2V0SXRlcmF0b3Ig
KCBvYmogWyAsIGhpbnQgWyAsIG1ldGhvZCBdIF0gKQorCisgICAgWy4uLl0KKyAgICA0LiBMZXQg
aXRlcmF0b3IgYmUgPyBDYWxsKG1ldGhvZCwgb2JqKS4KKworICAgIENhbGwgKCBGLCBWIFsgLCBh
cmd1bWVudHNMaXN0IF0gKQorCisgICAgWy4uLl0KKyAgICAyLiBJZiBJc0NhbGxhYmxlKEYpIGlz
IGZhbHNlLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24uCisKKy0tLSovCitkZWxldGUgQXJy
YXkucHJvdG90eXBlW1N5bWJvbC5pdGVyYXRvcl07CisKK3ZhciBDID0gY2xhc3MgeworICBzdGF0
aWMgbWV0aG9kKFt4LCB5LCB6XSkge30KK307CisKK2Fzc2VydC50aHJvd3MoVHlwZUVycm9yLCBm
dW5jdGlvbigpIHsKKyAgQy5tZXRob2QoWzEsIDIsIDNdKTsKK30pOwpkaWZmIC0tZ2l0IGEvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvZHN0ci9tZXRoLXN0
YXRpYy1hcnktcHRybi1lbGVtLWlkLWl0ZXItdmFsLWFycmF5LXByb3RvdHlwZS5qcyBiL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2RzdHIvbWV0aC1zdGF0
aWMtYXJ5LXB0cm4tZWxlbS1pZC1pdGVyLXZhbC1hcnJheS1wcm90b3R5cGUuanMKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uOWZhZDZkNjQxYWJlNDNiNDk3ZWU4ZDFkOGEzMzBmNWE3ZTRmYTk1NwotLS0gL2Rldi9udWxs
CisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Rz
dHIvbWV0aC1zdGF0aWMtYXJ5LXB0cm4tZWxlbS1pZC1pdGVyLXZhbC1hcnJheS1wcm90b3R5cGUu
anMKQEAgLTAsMCArMSwxMDIgQEAKKy8vIFRoaXMgZmlsZSB3YXMgcHJvY2VkdXJhbGx5IGdlbmVy
YXRlZCBmcm9tIHRoZSBmb2xsb3dpbmcgc291cmNlczoKKy8vIC0gc3JjL2RzdHItYmluZGluZy9h
cnktcHRybi1lbGVtLWlkLWl0ZXItdmFsLWFycmF5LXByb3RvdHlwZS5jYXNlCisvLyAtIHNyYy9k
c3RyLWJpbmRpbmcvZGVmYXVsdC9jbHMtZXhwci1tZXRoLXN0YXRpYy50ZW1wbGF0ZQorLyotLS0K
K2Rlc2NyaXB0aW9uOiBBcnJheSBkZXN0cnVjdHVyaW5nIHVzZXMgb3ZlcnJpZGVuIEFycmF5LnBy
b3RvdHlwZVtTeW1ib2wuaXRlcmF0b3JdIChzdGF0aWMgY2xhc3MgZXhwcmVzc2lvbiBtZXRob2Qp
Citlc2lkOiBzZWMtY2xhc3MtZGVmaW5pdGlvbnMtcnVudGltZS1zZW1hbnRpY3MtZXZhbHVhdGlv
bgorZmVhdHVyZXM6IFtTeW1ib2wuaXRlcmF0b3IsIGdlbmVyYXRvcnMsIGRlc3RydWN0dXJpbmct
YmluZGluZ10KK2ZsYWdzOiBbZ2VuZXJhdGVkXQoraW5mbzogfAorICAgIENsYXNzRXhwcmVzc2lv
biA6IGNsYXNzIEJpbmRpbmdJZGVudGlmaWVyb3B0IENsYXNzVGFpbAorCisgICAgMS4gSWYgQmlu
ZGluZ0lkZW50aWZpZXJvcHQgaXMgbm90IHByZXNlbnQsIGxldCBjbGFzc05hbWUgYmUgdW5kZWZp
bmVkLgorICAgIDIuIEVsc2UsIGxldCBjbGFzc05hbWUgYmUgU3RyaW5nVmFsdWUgb2YgQmluZGlu
Z0lkZW50aWZpZXIuCisgICAgMy4gTGV0IHZhbHVlIGJlIHRoZSByZXN1bHQgb2YgQ2xhc3NEZWZp
bml0aW9uRXZhbHVhdGlvbiBvZiBDbGFzc1RhaWwKKyAgICAgICB3aXRoIGFyZ3VtZW50IGNsYXNz
TmFtZS4KKyAgICBbLi4uXQorCisgICAgMTQuNS4xNCBSdW50aW1lIFNlbWFudGljczogQ2xhc3NE
ZWZpbml0aW9uRXZhbHVhdGlvbgorCisgICAgMjEuIEZvciBlYWNoIENsYXNzRWxlbWVudCBtIGlu
IG9yZGVyIGZyb20gbWV0aG9kcworICAgICAgICBhLiBJZiBJc1N0YXRpYyBvZiBtIGlzIGZhbHNl
LCB0aGVuCisgICAgICAgIGIuIEVsc2UsCisgICAgICAgICAgIExldCBzdGF0dXMgYmUgdGhlIHJl
c3VsdCBvZiBwZXJmb3JtaW5nIFByb3BlcnR5RGVmaW5pdGlvbkV2YWx1YXRpb24gZm9yCisgICAg
ICAgICAgIG0gd2l0aCBhcmd1bWVudHMgRiBhbmQgZmFsc2UuCisgICAgWy4uLl0KKworICAgIDE0
LjMuOCBSdW50aW1lIFNlbWFudGljczogRGVmaW5lTWV0aG9kCisKKyAgICBNZXRob2REZWZpbml0
aW9uIDogUHJvcGVydHlOYW1lICggU3RyaWN0Rm9ybWFsUGFyYW1ldGVycyApIHsgRnVuY3Rpb25C
b2R5IH0KKworICAgIFsuLi5dCisgICAgNi4gTGV0IGNsb3N1cmUgYmUgRnVuY3Rpb25DcmVhdGUo
a2luZCwgU3RyaWN0Rm9ybWFsUGFyYW1ldGVycywgRnVuY3Rpb25Cb2R5LAorICAgICAgIHNjb3Bl
LCBzdHJpY3QpLiBJZiBmdW5jdGlvblByb3RvdHlwZSB3YXMgcGFzc2VkIGFzIGEgcGFyYW1ldGVy
IHRoZW4gcGFzcyBpdHMKKyAgICAgICB2YWx1ZSBhcyB0aGUgZnVuY3Rpb25Qcm90b3R5cGUgb3B0
aW9uYWwgYXJndW1lbnQgb2YgRnVuY3Rpb25DcmVhdGUuCisgICAgWy4uLl0KKworICAgIDkuMi4x
IFtbQ2FsbF1dICggdGhpc0FyZ3VtZW50LCBhcmd1bWVudHNMaXN0KQorCisgICAgWy4uLl0KKyAg
ICA3LiBMZXQgcmVzdWx0IGJlIE9yZGluYXJ5Q2FsbEV2YWx1YXRlQm9keShGLCBhcmd1bWVudHNM
aXN0KS4KKyAgICBbLi4uXQorCisgICAgOS4yLjEuMyBPcmRpbmFyeUNhbGxFdmFsdWF0ZUJvZHkg
KCBGLCBhcmd1bWVudHNMaXN0ICkKKworICAgIDEuIExldCBzdGF0dXMgYmUgRnVuY3Rpb25EZWNs
YXJhdGlvbkluc3RhbnRpYXRpb24oRiwgYXJndW1lbnRzTGlzdCkuCisgICAgWy4uLl0KKworICAg
IDkuMi4xMiBGdW5jdGlvbkRlY2xhcmF0aW9uSW5zdGFudGlhdGlvbihmdW5jLCBhcmd1bWVudHNM
aXN0KQorCisgICAgWy4uLl0KKyAgICAyMy4gTGV0IGl0ZXJhdG9yUmVjb3JkIGJlIFJlY29yZCB7
W1tpdGVyYXRvcl1dOgorICAgICAgICBDcmVhdGVMaXN0SXRlcmF0b3IoYXJndW1lbnRzTGlzdCks
IFtbZG9uZV1dOiBmYWxzZX0uCisgICAgMjQuIElmIGhhc0R1cGxpY2F0ZXMgaXMgdHJ1ZSwgdGhl
bgorICAgICAgICBbLi4uXQorICAgIDI1LiBFbHNlLAorICAgICAgICBiLiBMZXQgZm9ybWFsU3Rh
dHVzIGJlIEl0ZXJhdG9yQmluZGluZ0luaXRpYWxpemF0aW9uIGZvciBmb3JtYWxzIHdpdGgKKyAg
ICAgICAgICAgaXRlcmF0b3JSZWNvcmQgYW5kIGVudiBhcyBhcmd1bWVudHMuCisgICAgWy4uLl0K
KworICAgIFJ1bnRpbWUgU2VtYW50aWNzOiBJdGVyYXRvckJpbmRpbmdJbml0aWFsaXphdGlvbgor
CisgICAgU2luZ2xlTmFtZUJpbmRpbmcgOiBCaW5kaW5nSWRlbnRpZmllciBJbml0aWFsaXplcl9v
cHQKKworICAgIDEuIExldCBiaW5kaW5nSWQgYmUgU3RyaW5nVmFsdWUgb2YgQmluZGluZ0lkZW50
aWZpZXIuCisgICAgMi4gTGV0IGxocyBiZSA/IFJlc29sdmVCaW5kaW5nKGJpbmRpbmdJZCwgZW52
aXJvbm1lbnQpLgorICAgIDMuIElmIGl0ZXJhdG9yUmVjb3JkLltbRG9uZV1dIGlzIGZhbHNlLCB0
aGVuCisgICAgICAgIGEuIExldCBuZXh0IGJlIEl0ZXJhdG9yU3RlcChpdGVyYXRvclJlY29yZCku
CisgICAgICAgIGIuIElmIG5leHQgaXMgYW4gYWJydXB0IGNvbXBsZXRpb24sIHNldCBpdGVyYXRv
clJlY29yZC5bW0RvbmVdXSB0byB0cnVlLgorICAgICAgICBjLiBSZXR1cm5JZkFicnVwdChuZXh0
KS4KKyAgICAgICAgZC4gSWYgbmV4dCBpcyBmYWxzZSwgc2V0IGl0ZXJhdG9yUmVjb3JkLltbRG9u
ZV1dIHRvIHRydWUuCisgICAgICAgIGUuIEVsc2UsCisgICAgICAgICAgICBpLiBMZXQgdiBiZSBJ
dGVyYXRvclZhbHVlKG5leHQpLgorICAgICAgICAgICAgaWkuIElmIHYgaXMgYW4gYWJydXB0IGNv
bXBsZXRpb24sIHNldCBpdGVyYXRvclJlY29yZC5bW0RvbmVdXSB0byB0cnVlLgorICAgICAgICAg
ICAgaWlpLiBSZXR1cm5JZkFicnVwdCh2KS4KKyAgICBbLi4uXQorICAgIDcuIFJldHVybiBJbml0
aWFsaXplUmVmZXJlbmNlZEJpbmRpbmcobGhzLCB2KS4KKworLS0tKi8KK0FycmF5LnByb3RvdHlw
ZVtTeW1ib2wuaXRlcmF0b3JdID0gZnVuY3Rpb24qICgpIHsKKyAgICBpZiAodGhpcy5sZW5ndGgg
PiAwKSB7CisgICAgICAgIHlpZWxkIHRoaXNbMF07CisgICAgfQorICAgIGlmICh0aGlzLmxlbmd0
aCA+IDEpIHsKKyAgICAgICAgeWllbGQgdGhpc1sxXTsKKyAgICB9CisgICAgaWYgKHRoaXMubGVu
Z3RoID4gMikgeworICAgICAgICB5aWVsZCA0MjsKKyAgICB9Cit9OworCit2YXIgY2FsbENvdW50
ID0gMDsKK3ZhciBDID0gY2xhc3MgeworICBzdGF0aWMgbWV0aG9kKFt4LCB5LCB6XSkgeworICAg
IGFzc2VydC5zYW1lVmFsdWUoeCwgMSk7CisgICAgYXNzZXJ0LnNhbWVWYWx1ZSh5LCAyKTsKKyAg
ICBhc3NlcnQuc2FtZVZhbHVlKHosIDQyKTsKKyAgICBjYWxsQ291bnQgPSBjYWxsQ291bnQgKyAx
OworICB9Cit9OworCitDLm1ldGhvZChbMSwgMiwgM10pOworYXNzZXJ0LnNhbWVWYWx1ZShjYWxs
Q291bnQsIDEsICdtZXRob2QgaW52b2tlZCBleGFjdGx5IG9uY2UnKTsKZGlmZiAtLWdpdCBhL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2RzdHIvbWV0aC1z
dGF0aWMtYXJ5LXB0cm4tcmVzdC1pZC1kaXJlY3QuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9s
YW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9kc3RyL21ldGgtc3RhdGljLWFyeS1wdHJuLXJlc3Qt
aWQtZGlyZWN0LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY1ODQwNGI3YmMyNTU2OGUzMDQ5NGY3ZWI1NTcxZWI0
ZTc0YjU5M2EKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFn
ZS9leHByZXNzaW9ucy9jbGFzcy9kc3RyL21ldGgtc3RhdGljLWFyeS1wdHJuLXJlc3QtaWQtZGly
ZWN0LmpzCkBAIC0wLDAgKzEsODUgQEAKKy8vIFRoaXMgZmlsZSB3YXMgcHJvY2VkdXJhbGx5IGdl
bmVyYXRlZCBmcm9tIHRoZSBmb2xsb3dpbmcgc291cmNlczoKKy8vIC0gc3JjL2RzdHItYmluZGlu
Zy9hcnktcHRybi1yZXN0LWlkLWRpcmVjdC5jYXNlCisvLyAtIHNyYy9kc3RyLWJpbmRpbmcvZGVm
YXVsdC9jbHMtZXhwci1tZXRoLXN0YXRpYy50ZW1wbGF0ZQorLyotLS0KK2Rlc2NyaXB0aW9uOiBM
b25lIHJlc3QgZWxlbWVudCAoZGlyZWN0IGJpbmRpbmcpIChzdGF0aWMgY2xhc3MgZXhwcmVzc2lv
biBtZXRob2QpCitlc2lkOiBzZWMtY2xhc3MtZGVmaW5pdGlvbnMtcnVudGltZS1zZW1hbnRpY3Mt
ZXZhbHVhdGlvbgorZmVhdHVyZXM6IFtkZXN0cnVjdHVyaW5nLWJpbmRpbmddCitmbGFnczogW2dl
bmVyYXRlZF0KK2luY2x1ZGVzOiBbY29tcGFyZUFycmF5LmpzXQoraW5mbzogfAorICAgIENsYXNz
RXhwcmVzc2lvbiA6IGNsYXNzIEJpbmRpbmdJZGVudGlmaWVyb3B0IENsYXNzVGFpbAorCisgICAg
MS4gSWYgQmluZGluZ0lkZW50aWZpZXJvcHQgaXMgbm90IHByZXNlbnQsIGxldCBjbGFzc05hbWUg
YmUgdW5kZWZpbmVkLgorICAgIDIuIEVsc2UsIGxldCBjbGFzc05hbWUgYmUgU3RyaW5nVmFsdWUg
b2YgQmluZGluZ0lkZW50aWZpZXIuCisgICAgMy4gTGV0IHZhbHVlIGJlIHRoZSByZXN1bHQgb2Yg
Q2xhc3NEZWZpbml0aW9uRXZhbHVhdGlvbiBvZiBDbGFzc1RhaWwKKyAgICAgICB3aXRoIGFyZ3Vt
ZW50IGNsYXNzTmFtZS4KKyAgICBbLi4uXQorCisgICAgMTQuNS4xNCBSdW50aW1lIFNlbWFudGlj
czogQ2xhc3NEZWZpbml0aW9uRXZhbHVhdGlvbgorCisgICAgMjEuIEZvciBlYWNoIENsYXNzRWxl
bWVudCBtIGluIG9yZGVyIGZyb20gbWV0aG9kcworICAgICAgICBhLiBJZiBJc1N0YXRpYyBvZiBt
IGlzIGZhbHNlLCB0aGVuCisgICAgICAgIGIuIEVsc2UsCisgICAgICAgICAgIExldCBzdGF0dXMg
YmUgdGhlIHJlc3VsdCBvZiBwZXJmb3JtaW5nIFByb3BlcnR5RGVmaW5pdGlvbkV2YWx1YXRpb24g
Zm9yCisgICAgICAgICAgIG0gd2l0aCBhcmd1bWVudHMgRiBhbmQgZmFsc2UuCisgICAgWy4uLl0K
KworICAgIDE0LjMuOCBSdW50aW1lIFNlbWFudGljczogRGVmaW5lTWV0aG9kCisKKyAgICBNZXRo
b2REZWZpbml0aW9uIDogUHJvcGVydHlOYW1lICggU3RyaWN0Rm9ybWFsUGFyYW1ldGVycyApIHsg
RnVuY3Rpb25Cb2R5IH0KKworICAgIFsuLi5dCisgICAgNi4gTGV0IGNsb3N1cmUgYmUgRnVuY3Rp
b25DcmVhdGUoa2luZCwgU3RyaWN0Rm9ybWFsUGFyYW1ldGVycywgRnVuY3Rpb25Cb2R5LAorICAg
ICAgIHNjb3BlLCBzdHJpY3QpLiBJZiBmdW5jdGlvblByb3RvdHlwZSB3YXMgcGFzc2VkIGFzIGEg
cGFyYW1ldGVyIHRoZW4gcGFzcyBpdHMKKyAgICAgICB2YWx1ZSBhcyB0aGUgZnVuY3Rpb25Qcm90
b3R5cGUgb3B0aW9uYWwgYXJndW1lbnQgb2YgRnVuY3Rpb25DcmVhdGUuCisgICAgWy4uLl0KKwor
ICAgIDkuMi4xIFtbQ2FsbF1dICggdGhpc0FyZ3VtZW50LCBhcmd1bWVudHNMaXN0KQorCisgICAg
Wy4uLl0KKyAgICA3LiBMZXQgcmVzdWx0IGJlIE9yZGluYXJ5Q2FsbEV2YWx1YXRlQm9keShGLCBh
cmd1bWVudHNMaXN0KS4KKyAgICBbLi4uXQorCisgICAgOS4yLjEuMyBPcmRpbmFyeUNhbGxFdmFs
dWF0ZUJvZHkgKCBGLCBhcmd1bWVudHNMaXN0ICkKKworICAgIDEuIExldCBzdGF0dXMgYmUgRnVu
Y3Rpb25EZWNsYXJhdGlvbkluc3RhbnRpYXRpb24oRiwgYXJndW1lbnRzTGlzdCkuCisgICAgWy4u
Ll0KKworICAgIDkuMi4xMiBGdW5jdGlvbkRlY2xhcmF0aW9uSW5zdGFudGlhdGlvbihmdW5jLCBh
cmd1bWVudHNMaXN0KQorCisgICAgWy4uLl0KKyAgICAyMy4gTGV0IGl0ZXJhdG9yUmVjb3JkIGJl
IFJlY29yZCB7W1tpdGVyYXRvcl1dOgorICAgICAgICBDcmVhdGVMaXN0SXRlcmF0b3IoYXJndW1l
bnRzTGlzdCksIFtbZG9uZV1dOiBmYWxzZX0uCisgICAgMjQuIElmIGhhc0R1cGxpY2F0ZXMgaXMg
dHJ1ZSwgdGhlbgorICAgICAgICBbLi4uXQorICAgIDI1LiBFbHNlLAorICAgICAgICBiLiBMZXQg
Zm9ybWFsU3RhdHVzIGJlIEl0ZXJhdG9yQmluZGluZ0luaXRpYWxpemF0aW9uIGZvciBmb3JtYWxz
IHdpdGgKKyAgICAgICAgICAgaXRlcmF0b3JSZWNvcmQgYW5kIGVudiBhcyBhcmd1bWVudHMuCisg
ICAgWy4uLl0KKworICAgIFJ1bnRpbWUgU2VtYW50aWNzOiBJdGVyYXRvckJpbmRpbmdJbml0aWFs
aXphdGlvbgorCisgICAgQmluZGluZ1Jlc3RFbGVtZW50IDogLi4uIEJpbmRpbmdJZGVudGlmaWVy
CisKKyAgICBbLi4uXQorICAgIDIuIExldCBBIGJlICEgQXJyYXlDcmVhdGUoMCkuCisgICAgMy4g
TGV0IG4gYmUgMC4KKyAgICA0LiBSZXBlYXQsCisgICAgICAgIFsuLi5dCisgICAgICAgIGYuIFBl
cmZvcm0gISBDcmVhdGVEYXRhUHJvcGVydHlPclRocm93KEEsICEgVG9TdHJpbmcobiksIG5leHRW
YWx1ZSkuCisgICAgICAgIGcuIFNldCBuIHRvIG4gKyAxLgorCistLS0qLworCit2YXIgY2FsbENv
dW50ID0gMDsKK3ZhciBDID0gY2xhc3MgeworICBzdGF0aWMgbWV0aG9kKFsuLi54XSkgeworICAg
IGFzc2VydChBcnJheS5pc0FycmF5KHgpKTsKKyAgICBhc3NlcnQuY29tcGFyZUFycmF5KHgsIFsx
XSk7CisgICAgY2FsbENvdW50ID0gY2FsbENvdW50ICsgMTsKKyAgfQorfTsKKworQy5tZXRob2Qo
WzFdKTsKK2Fzc2VydC5zYW1lVmFsdWUoY2FsbENvdW50LCAxLCAnbWV0aG9kIGludm9rZWQgZXhh
Y3RseSBvbmNlJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9l
eHByZXNzaW9ucy9jbGFzcy9kc3RyL21ldGgtc3RhdGljLWRmbHQtYXJ5LWluaXQtaXRlci1nZXQt
ZXJyLWFycmF5LXByb3RvdHlwZS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4
cHJlc3Npb25zL2NsYXNzL2RzdHIvbWV0aC1zdGF0aWMtZGZsdC1hcnktaW5pdC1pdGVyLWdldC1l
cnItYXJyYXktcHJvdG90eXBlLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmJjOGNhZDRhMmU3ODExZGYzNzdhYTdj
NGJlNDQyOGQ0YWMzM2Q0MzIKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9kc3RyL21ldGgtc3RhdGljLWRmbHQtYXJ5LWlu
aXQtaXRlci1nZXQtZXJyLWFycmF5LXByb3RvdHlwZS5qcwpAQCAtMCwwICsxLDg1IEBACisvLyBU
aGlzIGZpbGUgd2FzIHByb2NlZHVyYWxseSBnZW5lcmF0ZWQgZnJvbSB0aGUgZm9sbG93aW5nIHNv
dXJjZXM6CisvLyAtIHNyYy9kc3RyLWJpbmRpbmcvYXJ5LWluaXQtaXRlci1nZXQtZXJyLWFycmF5
LXByb3RvdHlwZS5jYXNlCisvLyAtIHNyYy9kc3RyLWJpbmRpbmcvZXJyb3IvY2xzLWV4cHItbWV0
aC1zdGF0aWMtZGZsdC50ZW1wbGF0ZQorLyotLS0KK2Rlc2NyaXB0aW9uOiBBYnJ1cHQgY29tcGxl
dGlvbiByZXR1cm5lZCBieSBHZXRJdGVyYXRvciAoc3RhdGljIGNsYXNzIGV4cHJlc3Npb24gbWV0
aG9kIChkZWZhdWx0IHBhcmFtZXRlcikpCitlc2lkOiBzZWMtY2xhc3MtZGVmaW5pdGlvbnMtcnVu
dGltZS1zZW1hbnRpY3MtZXZhbHVhdGlvbgorZmVhdHVyZXM6IFtTeW1ib2wuaXRlcmF0b3IsIGRl
c3RydWN0dXJpbmctYmluZGluZywgZGVmYXVsdC1wYXJhbWV0ZXJzXQorZmxhZ3M6IFtnZW5lcmF0
ZWRdCitpbmZvOiB8CisgICAgQ2xhc3NFeHByZXNzaW9uIDogY2xhc3MgQmluZGluZ0lkZW50aWZp
ZXJvcHQgQ2xhc3NUYWlsCisKKyAgICAxLiBJZiBCaW5kaW5nSWRlbnRpZmllcm9wdCBpcyBub3Qg
cHJlc2VudCwgbGV0IGNsYXNzTmFtZSBiZSB1bmRlZmluZWQuCisgICAgMi4gRWxzZSwgbGV0IGNs
YXNzTmFtZSBiZSBTdHJpbmdWYWx1ZSBvZiBCaW5kaW5nSWRlbnRpZmllci4KKyAgICAzLiBMZXQg
dmFsdWUgYmUgdGhlIHJlc3VsdCBvZiBDbGFzc0RlZmluaXRpb25FdmFsdWF0aW9uIG9mIENsYXNz
VGFpbAorICAgICAgIHdpdGggYXJndW1lbnQgY2xhc3NOYW1lLgorICAgIFsuLi5dCisKKyAgICAx
NC41LjE0IFJ1bnRpbWUgU2VtYW50aWNzOiBDbGFzc0RlZmluaXRpb25FdmFsdWF0aW9uCisKKyAg
ICAyMS4gRm9yIGVhY2ggQ2xhc3NFbGVtZW50IG0gaW4gb3JkZXIgZnJvbSBtZXRob2RzCisgICAg
ICAgIGEuIElmIElzU3RhdGljIG9mIG0gaXMgZmFsc2UsIHRoZW4KKyAgICAgICAgYi4gRWxzZSwK
KyAgICAgICAgICAgTGV0IHN0YXR1cyBiZSB0aGUgcmVzdWx0IG9mIHBlcmZvcm1pbmcgUHJvcGVy
dHlEZWZpbml0aW9uRXZhbHVhdGlvbiBmb3IKKyAgICAgICAgICAgbSB3aXRoIGFyZ3VtZW50cyBG
IGFuZCBmYWxzZS4KKyAgICBbLi4uXQorCisgICAgMTQuMy44IFJ1bnRpbWUgU2VtYW50aWNzOiBE
ZWZpbmVNZXRob2QKKworICAgIE1ldGhvZERlZmluaXRpb24gOiBQcm9wZXJ0eU5hbWUgKCBTdHJp
Y3RGb3JtYWxQYXJhbWV0ZXJzICkgeyBGdW5jdGlvbkJvZHkgfQorCisgICAgWy4uLl0KKyAgICA2
LiBMZXQgY2xvc3VyZSBiZSBGdW5jdGlvbkNyZWF0ZShraW5kLCBTdHJpY3RGb3JtYWxQYXJhbWV0
ZXJzLCBGdW5jdGlvbkJvZHksCisgICAgICAgc2NvcGUsIHN0cmljdCkuIElmIGZ1bmN0aW9uUHJv
dG90eXBlIHdhcyBwYXNzZWQgYXMgYSBwYXJhbWV0ZXIgdGhlbiBwYXNzIGl0cworICAgICAgIHZh
bHVlIGFzIHRoZSBmdW5jdGlvblByb3RvdHlwZSBvcHRpb25hbCBhcmd1bWVudCBvZiBGdW5jdGlv
bkNyZWF0ZS4KKyAgICBbLi4uXQorCisgICAgOS4yLjEgW1tDYWxsXV0gKCB0aGlzQXJndW1lbnQs
IGFyZ3VtZW50c0xpc3QpCisKKyAgICBbLi4uXQorICAgIDcuIExldCByZXN1bHQgYmUgT3JkaW5h
cnlDYWxsRXZhbHVhdGVCb2R5KEYsIGFyZ3VtZW50c0xpc3QpLgorICAgIFsuLi5dCisKKyAgICA5
LjIuMS4zIE9yZGluYXJ5Q2FsbEV2YWx1YXRlQm9keSAoIEYsIGFyZ3VtZW50c0xpc3QgKQorCisg
ICAgMS4gTGV0IHN0YXR1cyBiZSBGdW5jdGlvbkRlY2xhcmF0aW9uSW5zdGFudGlhdGlvbihGLCBh
cmd1bWVudHNMaXN0KS4KKyAgICBbLi4uXQorCisgICAgOS4yLjEyIEZ1bmN0aW9uRGVjbGFyYXRp
b25JbnN0YW50aWF0aW9uKGZ1bmMsIGFyZ3VtZW50c0xpc3QpCisKKyAgICBbLi4uXQorICAgIDIz
LiBMZXQgaXRlcmF0b3JSZWNvcmQgYmUgUmVjb3JkIHtbW2l0ZXJhdG9yXV06CisgICAgICAgIENy
ZWF0ZUxpc3RJdGVyYXRvcihhcmd1bWVudHNMaXN0KSwgW1tkb25lXV06IGZhbHNlfS4KKyAgICAy
NC4gSWYgaGFzRHVwbGljYXRlcyBpcyB0cnVlLCB0aGVuCisgICAgICAgIFsuLi5dCisgICAgMjUu
IEVsc2UsCisgICAgICAgIGIuIExldCBmb3JtYWxTdGF0dXMgYmUgSXRlcmF0b3JCaW5kaW5nSW5p
dGlhbGl6YXRpb24gZm9yIGZvcm1hbHMgd2l0aAorICAgICAgICAgICBpdGVyYXRvclJlY29yZCBh
bmQgZW52IGFzIGFyZ3VtZW50cy4KKyAgICBbLi4uXQorCisgICAgUnVudGltZSBTZW1hbnRpY3M6
IEJpbmRpbmdJbml0aWFsaXphdGlvbgorCisgICAgQmluZGluZ1BhdHRlcm4gOiBBcnJheUJpbmRp
bmdQYXR0ZXJuCisKKyAgICAxLiBMZXQgaXRlcmF0b3JSZWNvcmQgYmUgPyBHZXRJdGVyYXRvcih2
YWx1ZSkuCisKKyAgICBHZXRJdGVyYXRvciAoIG9iaiBbICwgaGludCBbICwgbWV0aG9kIF0gXSAp
CisKKyAgICBbLi4uXQorICAgIDQuIExldCBpdGVyYXRvciBiZSA/IENhbGwobWV0aG9kLCBvYmop
LgorCisgICAgQ2FsbCAoIEYsIFYgWyAsIGFyZ3VtZW50c0xpc3QgXSApCisKKyAgICBbLi4uXQor
ICAgIDIuIElmIElzQ2FsbGFibGUoRikgaXMgZmFsc2UsIHRocm93IGEgVHlwZUVycm9yIGV4Y2Vw
dGlvbi4KKworLS0tKi8KK2RlbGV0ZSBBcnJheS5wcm90b3R5cGVbU3ltYm9sLml0ZXJhdG9yXTsK
KwordmFyIEMgPSBjbGFzcyB7CisgIHN0YXRpYyBtZXRob2QoW3gsIHksIHpdID0gWzEsIDIsIDNd
KSB7fQorfTsKKworYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsIGZ1bmN0aW9uKCkgeworICBDLm1l
dGhvZCgpOworfSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9l
eHByZXNzaW9ucy9jbGFzcy9kc3RyL21ldGgtc3RhdGljLWRmbHQtYXJ5LXB0cm4tZWxlbS1pZC1p
dGVyLXZhbC1hcnJheS1wcm90b3R5cGUuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFn
ZS9leHByZXNzaW9ucy9jbGFzcy9kc3RyL21ldGgtc3RhdGljLWRmbHQtYXJ5LXB0cm4tZWxlbS1p
ZC1pdGVyLXZhbC1hcnJheS1wcm90b3R5cGUuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmFkOWQzNGRiYjJhODNm
Yjc5ZTYwNjdhMGJkNzEyM2M2MGQ3Zjg4ZQotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2RzdHIvbWV0aC1zdGF0aWMtZGZs
dC1hcnktcHRybi1lbGVtLWlkLWl0ZXItdmFsLWFycmF5LXByb3RvdHlwZS5qcwpAQCAtMCwwICsx
LDEwMiBAQAorLy8gVGhpcyBmaWxlIHdhcyBwcm9jZWR1cmFsbHkgZ2VuZXJhdGVkIGZyb20gdGhl
IGZvbGxvd2luZyBzb3VyY2VzOgorLy8gLSBzcmMvZHN0ci1iaW5kaW5nL2FyeS1wdHJuLWVsZW0t
aWQtaXRlci12YWwtYXJyYXktcHJvdG90eXBlLmNhc2UKKy8vIC0gc3JjL2RzdHItYmluZGluZy9k
ZWZhdWx0L2Nscy1leHByLW1ldGgtc3RhdGljLWRmbHQudGVtcGxhdGUKKy8qLS0tCitkZXNjcmlw
dGlvbjogQXJyYXkgZGVzdHJ1Y3R1cmluZyB1c2VzIG92ZXJyaWRlbiBBcnJheS5wcm90b3R5cGVb
U3ltYm9sLml0ZXJhdG9yXSAoc3RhdGljIGNsYXNzIGV4cHJlc3Npb24gbWV0aG9kIChkZWZhdWx0
IHBhcmFtZXRlcikpCitlc2lkOiBzZWMtY2xhc3MtZGVmaW5pdGlvbnMtcnVudGltZS1zZW1hbnRp
Y3MtZXZhbHVhdGlvbgorZmVhdHVyZXM6IFtTeW1ib2wuaXRlcmF0b3IsIGdlbmVyYXRvcnMsIGRl
c3RydWN0dXJpbmctYmluZGluZywgZGVmYXVsdC1wYXJhbWV0ZXJzXQorZmxhZ3M6IFtnZW5lcmF0
ZWRdCitpbmZvOiB8CisgICAgQ2xhc3NFeHByZXNzaW9uIDogY2xhc3MgQmluZGluZ0lkZW50aWZp
ZXJvcHQgQ2xhc3NUYWlsCisKKyAgICAxLiBJZiBCaW5kaW5nSWRlbnRpZmllcm9wdCBpcyBub3Qg
cHJlc2VudCwgbGV0IGNsYXNzTmFtZSBiZSB1bmRlZmluZWQuCisgICAgMi4gRWxzZSwgbGV0IGNs
YXNzTmFtZSBiZSBTdHJpbmdWYWx1ZSBvZiBCaW5kaW5nSWRlbnRpZmllci4KKyAgICAzLiBMZXQg
dmFsdWUgYmUgdGhlIHJlc3VsdCBvZiBDbGFzc0RlZmluaXRpb25FdmFsdWF0aW9uIG9mIENsYXNz
VGFpbAorICAgICAgIHdpdGggYXJndW1lbnQgY2xhc3NOYW1lLgorICAgIFsuLi5dCisKKyAgICAx
NC41LjE0IFJ1bnRpbWUgU2VtYW50aWNzOiBDbGFzc0RlZmluaXRpb25FdmFsdWF0aW9uCisKKyAg
ICAyMS4gRm9yIGVhY2ggQ2xhc3NFbGVtZW50IG0gaW4gb3JkZXIgZnJvbSBtZXRob2RzCisgICAg
ICAgIGEuIElmIElzU3RhdGljIG9mIG0gaXMgZmFsc2UsIHRoZW4KKyAgICAgICAgYi4gRWxzZSwK
KyAgICAgICAgICAgTGV0IHN0YXR1cyBiZSB0aGUgcmVzdWx0IG9mIHBlcmZvcm1pbmcgUHJvcGVy
dHlEZWZpbml0aW9uRXZhbHVhdGlvbiBmb3IKKyAgICAgICAgICAgbSB3aXRoIGFyZ3VtZW50cyBG
IGFuZCBmYWxzZS4KKyAgICBbLi4uXQorCisgICAgMTQuMy44IFJ1bnRpbWUgU2VtYW50aWNzOiBE
ZWZpbmVNZXRob2QKKworICAgIE1ldGhvZERlZmluaXRpb24gOiBQcm9wZXJ0eU5hbWUgKCBTdHJp
Y3RGb3JtYWxQYXJhbWV0ZXJzICkgeyBGdW5jdGlvbkJvZHkgfQorCisgICAgWy4uLl0KKyAgICA2
LiBMZXQgY2xvc3VyZSBiZSBGdW5jdGlvbkNyZWF0ZShraW5kLCBTdHJpY3RGb3JtYWxQYXJhbWV0
ZXJzLCBGdW5jdGlvbkJvZHksCisgICAgICAgc2NvcGUsIHN0cmljdCkuIElmIGZ1bmN0aW9uUHJv
dG90eXBlIHdhcyBwYXNzZWQgYXMgYSBwYXJhbWV0ZXIgdGhlbiBwYXNzIGl0cworICAgICAgIHZh
bHVlIGFzIHRoZSBmdW5jdGlvblByb3RvdHlwZSBvcHRpb25hbCBhcmd1bWVudCBvZiBGdW5jdGlv
bkNyZWF0ZS4KKyAgICBbLi4uXQorCisgICAgOS4yLjEgW1tDYWxsXV0gKCB0aGlzQXJndW1lbnQs
IGFyZ3VtZW50c0xpc3QpCisKKyAgICBbLi4uXQorICAgIDcuIExldCByZXN1bHQgYmUgT3JkaW5h
cnlDYWxsRXZhbHVhdGVCb2R5KEYsIGFyZ3VtZW50c0xpc3QpLgorICAgIFsuLi5dCisKKyAgICA5
LjIuMS4zIE9yZGluYXJ5Q2FsbEV2YWx1YXRlQm9keSAoIEYsIGFyZ3VtZW50c0xpc3QgKQorCisg
ICAgMS4gTGV0IHN0YXR1cyBiZSBGdW5jdGlvbkRlY2xhcmF0aW9uSW5zdGFudGlhdGlvbihGLCBh
cmd1bWVudHNMaXN0KS4KKyAgICBbLi4uXQorCisgICAgOS4yLjEyIEZ1bmN0aW9uRGVjbGFyYXRp
b25JbnN0YW50aWF0aW9uKGZ1bmMsIGFyZ3VtZW50c0xpc3QpCisKKyAgICBbLi4uXQorICAgIDIz
LiBMZXQgaXRlcmF0b3JSZWNvcmQgYmUgUmVjb3JkIHtbW2l0ZXJhdG9yXV06CisgICAgICAgIENy
ZWF0ZUxpc3RJdGVyYXRvcihhcmd1bWVudHNMaXN0KSwgW1tkb25lXV06IGZhbHNlfS4KKyAgICAy
NC4gSWYgaGFzRHVwbGljYXRlcyBpcyB0cnVlLCB0aGVuCisgICAgICAgIFsuLi5dCisgICAgMjUu
IEVsc2UsCisgICAgICAgIGIuIExldCBmb3JtYWxTdGF0dXMgYmUgSXRlcmF0b3JCaW5kaW5nSW5p
dGlhbGl6YXRpb24gZm9yIGZvcm1hbHMgd2l0aAorICAgICAgICAgICBpdGVyYXRvclJlY29yZCBh
bmQgZW52IGFzIGFyZ3VtZW50cy4KKyAgICBbLi4uXQorCisgICAgUnVudGltZSBTZW1hbnRpY3M6
IEl0ZXJhdG9yQmluZGluZ0luaXRpYWxpemF0aW9uCisKKyAgICBTaW5nbGVOYW1lQmluZGluZyA6
IEJpbmRpbmdJZGVudGlmaWVyIEluaXRpYWxpemVyX29wdAorCisgICAgMS4gTGV0IGJpbmRpbmdJ
ZCBiZSBTdHJpbmdWYWx1ZSBvZiBCaW5kaW5nSWRlbnRpZmllci4KKyAgICAyLiBMZXQgbGhzIGJl
ID8gUmVzb2x2ZUJpbmRpbmcoYmluZGluZ0lkLCBlbnZpcm9ubWVudCkuCisgICAgMy4gSWYgaXRl
cmF0b3JSZWNvcmQuW1tEb25lXV0gaXMgZmFsc2UsIHRoZW4KKyAgICAgICAgYS4gTGV0IG5leHQg
YmUgSXRlcmF0b3JTdGVwKGl0ZXJhdG9yUmVjb3JkKS4KKyAgICAgICAgYi4gSWYgbmV4dCBpcyBh
biBhYnJ1cHQgY29tcGxldGlvbiwgc2V0IGl0ZXJhdG9yUmVjb3JkLltbRG9uZV1dIHRvIHRydWUu
CisgICAgICAgIGMuIFJldHVybklmQWJydXB0KG5leHQpLgorICAgICAgICBkLiBJZiBuZXh0IGlz
IGZhbHNlLCBzZXQgaXRlcmF0b3JSZWNvcmQuW1tEb25lXV0gdG8gdHJ1ZS4KKyAgICAgICAgZS4g
RWxzZSwKKyAgICAgICAgICAgIGkuIExldCB2IGJlIEl0ZXJhdG9yVmFsdWUobmV4dCkuCisgICAg
ICAgICAgICBpaS4gSWYgdiBpcyBhbiBhYnJ1cHQgY29tcGxldGlvbiwgc2V0IGl0ZXJhdG9yUmVj
b3JkLltbRG9uZV1dIHRvIHRydWUuCisgICAgICAgICAgICBpaWkuIFJldHVybklmQWJydXB0KHYp
LgorICAgIFsuLi5dCisgICAgNy4gUmV0dXJuIEluaXRpYWxpemVSZWZlcmVuY2VkQmluZGluZyhs
aHMsIHYpLgorCistLS0qLworQXJyYXkucHJvdG90eXBlW1N5bWJvbC5pdGVyYXRvcl0gPSBmdW5j
dGlvbiogKCkgeworICAgIGlmICh0aGlzLmxlbmd0aCA+IDApIHsKKyAgICAgICAgeWllbGQgdGhp
c1swXTsKKyAgICB9CisgICAgaWYgKHRoaXMubGVuZ3RoID4gMSkgeworICAgICAgICB5aWVsZCB0
aGlzWzFdOworICAgIH0KKyAgICBpZiAodGhpcy5sZW5ndGggPiAyKSB7CisgICAgICAgIHlpZWxk
IDQyOworICAgIH0KK307CisKK3ZhciBjYWxsQ291bnQgPSAwOwordmFyIEMgPSBjbGFzcyB7Cisg
IHN0YXRpYyBtZXRob2QoW3gsIHksIHpdID0gWzEsIDIsIDNdKSB7CisgICAgYXNzZXJ0LnNhbWVW
YWx1ZSh4LCAxKTsKKyAgICBhc3NlcnQuc2FtZVZhbHVlKHksIDIpOworICAgIGFzc2VydC5zYW1l
VmFsdWUoeiwgNDIpOworICAgIGNhbGxDb3VudCA9IGNhbGxDb3VudCArIDE7CisgIH0KK307CisK
K0MubWV0aG9kKCk7Cithc3NlcnQuc2FtZVZhbHVlKGNhbGxDb3VudCwgMSwgJ21ldGhvZCBpbnZv
a2VkIGV4YWN0bHkgb25jZScpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFu
Z3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvZHN0ci9tZXRoLXN0YXRpYy1kZmx0LWFyeS1wdHJuLXJl
c3QtaWQtZGlyZWN0LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lv
bnMvY2xhc3MvZHN0ci9tZXRoLXN0YXRpYy1kZmx0LWFyeS1wdHJuLXJlc3QtaWQtZGlyZWN0Lmpz
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmRkNzNiYjI0ZjdhZmViY2Y0NTNmNDE5MzAzMmVhZWRiNWNhY2QwY2IKLS0t
IC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9u
cy9jbGFzcy9kc3RyL21ldGgtc3RhdGljLWRmbHQtYXJ5LXB0cm4tcmVzdC1pZC1kaXJlY3QuanMK
QEAgLTAsMCArMSw4NSBAQAorLy8gVGhpcyBmaWxlIHdhcyBwcm9jZWR1cmFsbHkgZ2VuZXJhdGVk
IGZyb20gdGhlIGZvbGxvd2luZyBzb3VyY2VzOgorLy8gLSBzcmMvZHN0ci1iaW5kaW5nL2FyeS1w
dHJuLXJlc3QtaWQtZGlyZWN0LmNhc2UKKy8vIC0gc3JjL2RzdHItYmluZGluZy9kZWZhdWx0L2Ns
cy1leHByLW1ldGgtc3RhdGljLWRmbHQudGVtcGxhdGUKKy8qLS0tCitkZXNjcmlwdGlvbjogTG9u
ZSByZXN0IGVsZW1lbnQgKGRpcmVjdCBiaW5kaW5nKSAoc3RhdGljIGNsYXNzIGV4cHJlc3Npb24g
bWV0aG9kIChkZWZhdWx0IHBhcmFtZXRlcikpCitlc2lkOiBzZWMtY2xhc3MtZGVmaW5pdGlvbnMt
cnVudGltZS1zZW1hbnRpY3MtZXZhbHVhdGlvbgorZmVhdHVyZXM6IFtkZXN0cnVjdHVyaW5nLWJp
bmRpbmcsIGRlZmF1bHQtcGFyYW1ldGVyc10KK2ZsYWdzOiBbZ2VuZXJhdGVkXQoraW5jbHVkZXM6
IFtjb21wYXJlQXJyYXkuanNdCitpbmZvOiB8CisgICAgQ2xhc3NFeHByZXNzaW9uIDogY2xhc3Mg
QmluZGluZ0lkZW50aWZpZXJvcHQgQ2xhc3NUYWlsCisKKyAgICAxLiBJZiBCaW5kaW5nSWRlbnRp
Zmllcm9wdCBpcyBub3QgcHJlc2VudCwgbGV0IGNsYXNzTmFtZSBiZSB1bmRlZmluZWQuCisgICAg
Mi4gRWxzZSwgbGV0IGNsYXNzTmFtZSBiZSBTdHJpbmdWYWx1ZSBvZiBCaW5kaW5nSWRlbnRpZmll
ci4KKyAgICAzLiBMZXQgdmFsdWUgYmUgdGhlIHJlc3VsdCBvZiBDbGFzc0RlZmluaXRpb25FdmFs
dWF0aW9uIG9mIENsYXNzVGFpbAorICAgICAgIHdpdGggYXJndW1lbnQgY2xhc3NOYW1lLgorICAg
IFsuLi5dCisKKyAgICAxNC41LjE0IFJ1bnRpbWUgU2VtYW50aWNzOiBDbGFzc0RlZmluaXRpb25F
dmFsdWF0aW9uCisKKyAgICAyMS4gRm9yIGVhY2ggQ2xhc3NFbGVtZW50IG0gaW4gb3JkZXIgZnJv
bSBtZXRob2RzCisgICAgICAgIGEuIElmIElzU3RhdGljIG9mIG0gaXMgZmFsc2UsIHRoZW4KKyAg
ICAgICAgYi4gRWxzZSwKKyAgICAgICAgICAgTGV0IHN0YXR1cyBiZSB0aGUgcmVzdWx0IG9mIHBl
cmZvcm1pbmcgUHJvcGVydHlEZWZpbml0aW9uRXZhbHVhdGlvbiBmb3IKKyAgICAgICAgICAgbSB3
aXRoIGFyZ3VtZW50cyBGIGFuZCBmYWxzZS4KKyAgICBbLi4uXQorCisgICAgMTQuMy44IFJ1bnRp
bWUgU2VtYW50aWNzOiBEZWZpbmVNZXRob2QKKworICAgIE1ldGhvZERlZmluaXRpb24gOiBQcm9w
ZXJ0eU5hbWUgKCBTdHJpY3RGb3JtYWxQYXJhbWV0ZXJzICkgeyBGdW5jdGlvbkJvZHkgfQorCisg
ICAgWy4uLl0KKyAgICA2LiBMZXQgY2xvc3VyZSBiZSBGdW5jdGlvbkNyZWF0ZShraW5kLCBTdHJp
Y3RGb3JtYWxQYXJhbWV0ZXJzLCBGdW5jdGlvbkJvZHksCisgICAgICAgc2NvcGUsIHN0cmljdCku
IElmIGZ1bmN0aW9uUHJvdG90eXBlIHdhcyBwYXNzZWQgYXMgYSBwYXJhbWV0ZXIgdGhlbiBwYXNz
IGl0cworICAgICAgIHZhbHVlIGFzIHRoZSBmdW5jdGlvblByb3RvdHlwZSBvcHRpb25hbCBhcmd1
bWVudCBvZiBGdW5jdGlvbkNyZWF0ZS4KKyAgICBbLi4uXQorCisgICAgOS4yLjEgW1tDYWxsXV0g
KCB0aGlzQXJndW1lbnQsIGFyZ3VtZW50c0xpc3QpCisKKyAgICBbLi4uXQorICAgIDcuIExldCBy
ZXN1bHQgYmUgT3JkaW5hcnlDYWxsRXZhbHVhdGVCb2R5KEYsIGFyZ3VtZW50c0xpc3QpLgorICAg
IFsuLi5dCisKKyAgICA5LjIuMS4zIE9yZGluYXJ5Q2FsbEV2YWx1YXRlQm9keSAoIEYsIGFyZ3Vt
ZW50c0xpc3QgKQorCisgICAgMS4gTGV0IHN0YXR1cyBiZSBGdW5jdGlvbkRlY2xhcmF0aW9uSW5z
dGFudGlhdGlvbihGLCBhcmd1bWVudHNMaXN0KS4KKyAgICBbLi4uXQorCisgICAgOS4yLjEyIEZ1
bmN0aW9uRGVjbGFyYXRpb25JbnN0YW50aWF0aW9uKGZ1bmMsIGFyZ3VtZW50c0xpc3QpCisKKyAg
ICBbLi4uXQorICAgIDIzLiBMZXQgaXRlcmF0b3JSZWNvcmQgYmUgUmVjb3JkIHtbW2l0ZXJhdG9y
XV06CisgICAgICAgIENyZWF0ZUxpc3RJdGVyYXRvcihhcmd1bWVudHNMaXN0KSwgW1tkb25lXV06
IGZhbHNlfS4KKyAgICAyNC4gSWYgaGFzRHVwbGljYXRlcyBpcyB0cnVlLCB0aGVuCisgICAgICAg
IFsuLi5dCisgICAgMjUuIEVsc2UsCisgICAgICAgIGIuIExldCBmb3JtYWxTdGF0dXMgYmUgSXRl
cmF0b3JCaW5kaW5nSW5pdGlhbGl6YXRpb24gZm9yIGZvcm1hbHMgd2l0aAorICAgICAgICAgICBp
dGVyYXRvclJlY29yZCBhbmQgZW52IGFzIGFyZ3VtZW50cy4KKyAgICBbLi4uXQorCisgICAgUnVu
dGltZSBTZW1hbnRpY3M6IEl0ZXJhdG9yQmluZGluZ0luaXRpYWxpemF0aW9uCisKKyAgICBCaW5k
aW5nUmVzdEVsZW1lbnQgOiAuLi4gQmluZGluZ0lkZW50aWZpZXIKKworICAgIFsuLi5dCisgICAg
Mi4gTGV0IEEgYmUgISBBcnJheUNyZWF0ZSgwKS4KKyAgICAzLiBMZXQgbiBiZSAwLgorICAgIDQu
IFJlcGVhdCwKKyAgICAgICAgWy4uLl0KKyAgICAgICAgZi4gUGVyZm9ybSAhIENyZWF0ZURhdGFQ
cm9wZXJ0eU9yVGhyb3coQSwgISBUb1N0cmluZyhuKSwgbmV4dFZhbHVlKS4KKyAgICAgICAgZy4g
U2V0IG4gdG8gbiArIDEuCisKKy0tLSovCisKK3ZhciBjYWxsQ291bnQgPSAwOwordmFyIEMgPSBj
bGFzcyB7CisgIHN0YXRpYyBtZXRob2QoWy4uLnhdID0gWzFdKSB7CisgICAgYXNzZXJ0KEFycmF5
LmlzQXJyYXkoeCkpOworICAgIGFzc2VydC5jb21wYXJlQXJyYXkoeCwgWzFdKTsKKyAgICBjYWxs
Q291bnQgPSBjYWxsQ291bnQgKyAxOworICB9Cit9OworCitDLm1ldGhvZCgpOworYXNzZXJ0LnNh
bWVWYWx1ZShjYWxsQ291bnQsIDEsICdtZXRob2QgaW52b2tlZCBleGFjdGx5IG9uY2UnKTsKZGlm
ZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNz
L2RzdHIvcHJpdmF0ZS1nZW4tbWV0aC1hcnktcHRybi1lbGVtLWlkLWl0ZXItdmFsLWFycmF5LXBy
b3RvdHlwZS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2Ns
YXNzL2RzdHIvcHJpdmF0ZS1nZW4tbWV0aC1hcnktcHRybi1lbGVtLWlkLWl0ZXItdmFsLWFycmF5
LXByb3RvdHlwZS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hMDZhMThiODUwNTMxMTAxMDQ5YjkxOTFlOTFlYTQ0
YWJkZWE2ZThmCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3Vh
Z2UvZXhwcmVzc2lvbnMvY2xhc3MvZHN0ci9wcml2YXRlLWdlbi1tZXRoLWFyeS1wdHJuLWVsZW0t
aWQtaXRlci12YWwtYXJyYXktcHJvdG90eXBlLmpzCkBAIC0wLDAgKzEsMTA5IEBACisvLyBUaGlz
IGZpbGUgd2FzIHByb2NlZHVyYWxseSBnZW5lcmF0ZWQgZnJvbSB0aGUgZm9sbG93aW5nIHNvdXJj
ZXM6CisvLyAtIHNyYy9kc3RyLWJpbmRpbmcvYXJ5LXB0cm4tZWxlbS1pZC1pdGVyLXZhbC1hcnJh
eS1wcm90b3R5cGUuY2FzZQorLy8gLSBzcmMvZHN0ci1iaW5kaW5nL2RlZmF1bHQvY2xzLWV4cHIt
cHJpdmF0ZS1nZW4tbWV0aC50ZW1wbGF0ZQorLyotLS0KK2Rlc2NyaXB0aW9uOiBBcnJheSBkZXN0
cnVjdHVyaW5nIHVzZXMgb3ZlcnJpZGVuIEFycmF5LnByb3RvdHlwZVtTeW1ib2wuaXRlcmF0b3Jd
IChwcml2YXRlIGNsYXNzIGV4cHJlc3Npb24gbWV0aG9kKQorZXNpZDogc2VjLWNsYXNzLWRlZmlu
aXRpb25zLXJ1bnRpbWUtc2VtYW50aWNzLWV2YWx1YXRpb24KK2ZlYXR1cmVzOiBbU3ltYm9sLml0
ZXJhdG9yLCBnZW5lcmF0b3JzLCBjbGFzcywgY2xhc3MtbWV0aG9kcy1wcml2YXRlLCBkZXN0cnVj
dHVyaW5nLWJpbmRpbmddCitmbGFnczogW2dlbmVyYXRlZF0KK2luZm86IHwKKyAgICBDbGFzc0V4
cHJlc3Npb24gOiBjbGFzcyBCaW5kaW5nSWRlbnRpZmllcm9wdCBDbGFzc1RhaWwKKworICAgIDEu
IElmIEJpbmRpbmdJZGVudGlmaWVyb3B0IGlzIG5vdCBwcmVzZW50LCBsZXQgY2xhc3NOYW1lIGJl
IHVuZGVmaW5lZC4KKyAgICAyLiBFbHNlLCBsZXQgY2xhc3NOYW1lIGJlIFN0cmluZ1ZhbHVlIG9m
IEJpbmRpbmdJZGVudGlmaWVyLgorICAgIDMuIExldCB2YWx1ZSBiZSB0aGUgcmVzdWx0IG9mIENs
YXNzRGVmaW5pdGlvbkV2YWx1YXRpb24gb2YgQ2xhc3NUYWlsCisgICAgICAgd2l0aCBhcmd1bWVu
dCBjbGFzc05hbWUuCisgICAgWy4uLl0KKworICAgIDE0LjUuMTQgUnVudGltZSBTZW1hbnRpY3M6
IENsYXNzRGVmaW5pdGlvbkV2YWx1YXRpb24KKworICAgIDIxLiBGb3IgZWFjaCBDbGFzc0VsZW1l
bnQgbSBpbiBvcmRlciBmcm9tIG1ldGhvZHMKKyAgICAgICAgYS4gSWYgSXNTdGF0aWMgb2YgbSBp
cyBmYWxzZSwgdGhlbgorICAgICAgICAgICBpLiBMZXQgc3RhdHVzIGJlIHRoZSByZXN1bHQgb2Yg
cGVyZm9ybWluZworICAgICAgICAgICAgICBQcm9wZXJ0eURlZmluaXRpb25FdmFsdWF0aW9uIGZv
ciBtIHdpdGggYXJndW1lbnRzIHByb3RvIGFuZAorICAgICAgICAgICAgICBmYWxzZS4KKyAgICAg
ICAgWy4uLl0KKworICAgIDE0LjQuMTMgUnVudGltZSBTZW1hbnRpY3M6IFByb3BlcnR5RGVmaW5p
dGlvbkV2YWx1YXRpb24KKworICAgIEdlbmVyYXRvck1ldGhvZCA6CisgICAgICAgICogUHJvcGVy
dHlOYW1lICggU3RyaWN0Rm9ybWFsUGFyYW1ldGVycyApIHsgR2VuZXJhdG9yQm9keSB9CisKKyAg
ICAxLiBMZXQgcHJvcEtleSBiZSB0aGUgcmVzdWx0IG9mIGV2YWx1YXRpbmcgUHJvcGVydHlOYW1l
LgorICAgIDIuIFJldHVybklmQWJydXB0KHByb3BLZXkpLgorICAgIDMuIElmIHRoZSBmdW5jdGlv
biBjb2RlIGZvciB0aGlzIEdlbmVyYXRvck1ldGhvZCBpcyBzdHJpY3QgbW9kZSBjb2RlLAorICAg
ICAgIGxldCBzdHJpY3QgYmUgdHJ1ZS4gT3RoZXJ3aXNlIGxldCBzdHJpY3QgYmUgZmFsc2UuCisg
ICAgNC4gTGV0IHNjb3BlIGJlIHRoZSBydW5uaW5nIGV4ZWN1dGlvbiBjb250ZXh0J3MgTGV4aWNh
bEVudmlyb25tZW50LgorICAgIDUuIExldCBjbG9zdXJlIGJlIEdlbmVyYXRvckZ1bmN0aW9uQ3Jl
YXRlKE1ldGhvZCwKKyAgICAgICBTdHJpY3RGb3JtYWxQYXJhbWV0ZXJzLCBHZW5lcmF0b3JCb2R5
LCBzY29wZSwgc3RyaWN0KS4KKworICAgIDkuMi4xIFtbQ2FsbF1dICggdGhpc0FyZ3VtZW50LCBh
cmd1bWVudHNMaXN0KQorCisgICAgWy4uLl0KKyAgICA3LiBMZXQgcmVzdWx0IGJlIE9yZGluYXJ5
Q2FsbEV2YWx1YXRlQm9keShGLCBhcmd1bWVudHNMaXN0KS4KKyAgICBbLi4uXQorCisgICAgOS4y
LjEuMyBPcmRpbmFyeUNhbGxFdmFsdWF0ZUJvZHkgKCBGLCBhcmd1bWVudHNMaXN0ICkKKworICAg
IDEuIExldCBzdGF0dXMgYmUgRnVuY3Rpb25EZWNsYXJhdGlvbkluc3RhbnRpYXRpb24oRiwgYXJn
dW1lbnRzTGlzdCkuCisgICAgWy4uLl0KKworICAgIDkuMi4xMiBGdW5jdGlvbkRlY2xhcmF0aW9u
SW5zdGFudGlhdGlvbihmdW5jLCBhcmd1bWVudHNMaXN0KQorCisgICAgWy4uLl0KKyAgICAyMy4g
TGV0IGl0ZXJhdG9yUmVjb3JkIGJlIFJlY29yZCB7W1tpdGVyYXRvcl1dOgorICAgICAgICBDcmVh
dGVMaXN0SXRlcmF0b3IoYXJndW1lbnRzTGlzdCksIFtbZG9uZV1dOiBmYWxzZX0uCisgICAgMjQu
IElmIGhhc0R1cGxpY2F0ZXMgaXMgdHJ1ZSwgdGhlbgorICAgICAgICBbLi4uXQorICAgIDI1LiBF
bHNlLAorICAgICAgICBiLiBMZXQgZm9ybWFsU3RhdHVzIGJlIEl0ZXJhdG9yQmluZGluZ0luaXRp
YWxpemF0aW9uIGZvciBmb3JtYWxzIHdpdGgKKyAgICAgICAgICAgaXRlcmF0b3JSZWNvcmQgYW5k
IGVudiBhcyBhcmd1bWVudHMuCisgICAgWy4uLl0KKworICAgIFJ1bnRpbWUgU2VtYW50aWNzOiBJ
dGVyYXRvckJpbmRpbmdJbml0aWFsaXphdGlvbgorCisgICAgU2luZ2xlTmFtZUJpbmRpbmcgOiBC
aW5kaW5nSWRlbnRpZmllciBJbml0aWFsaXplcl9vcHQKKworICAgIDEuIExldCBiaW5kaW5nSWQg
YmUgU3RyaW5nVmFsdWUgb2YgQmluZGluZ0lkZW50aWZpZXIuCisgICAgMi4gTGV0IGxocyBiZSA/
IFJlc29sdmVCaW5kaW5nKGJpbmRpbmdJZCwgZW52aXJvbm1lbnQpLgorICAgIDMuIElmIGl0ZXJh
dG9yUmVjb3JkLltbRG9uZV1dIGlzIGZhbHNlLCB0aGVuCisgICAgICAgIGEuIExldCBuZXh0IGJl
IEl0ZXJhdG9yU3RlcChpdGVyYXRvclJlY29yZCkuCisgICAgICAgIGIuIElmIG5leHQgaXMgYW4g
YWJydXB0IGNvbXBsZXRpb24sIHNldCBpdGVyYXRvclJlY29yZC5bW0RvbmVdXSB0byB0cnVlLgor
ICAgICAgICBjLiBSZXR1cm5JZkFicnVwdChuZXh0KS4KKyAgICAgICAgZC4gSWYgbmV4dCBpcyBm
YWxzZSwgc2V0IGl0ZXJhdG9yUmVjb3JkLltbRG9uZV1dIHRvIHRydWUuCisgICAgICAgIGUuIEVs
c2UsCisgICAgICAgICAgICBpLiBMZXQgdiBiZSBJdGVyYXRvclZhbHVlKG5leHQpLgorICAgICAg
ICAgICAgaWkuIElmIHYgaXMgYW4gYWJydXB0IGNvbXBsZXRpb24sIHNldCBpdGVyYXRvclJlY29y
ZC5bW0RvbmVdXSB0byB0cnVlLgorICAgICAgICAgICAgaWlpLiBSZXR1cm5JZkFicnVwdCh2KS4K
KyAgICBbLi4uXQorICAgIDcuIFJldHVybiBJbml0aWFsaXplUmVmZXJlbmNlZEJpbmRpbmcobGhz
LCB2KS4KKworLS0tKi8KK0FycmF5LnByb3RvdHlwZVtTeW1ib2wuaXRlcmF0b3JdID0gZnVuY3Rp
b24qICgpIHsKKyAgICBpZiAodGhpcy5sZW5ndGggPiAwKSB7CisgICAgICAgIHlpZWxkIHRoaXNb
MF07CisgICAgfQorICAgIGlmICh0aGlzLmxlbmd0aCA+IDEpIHsKKyAgICAgICAgeWllbGQgdGhp
c1sxXTsKKyAgICB9CisgICAgaWYgKHRoaXMubGVuZ3RoID4gMikgeworICAgICAgICB5aWVsZCA0
MjsKKyAgICB9Cit9OworCit2YXIgY2FsbENvdW50ID0gMDsKK3ZhciBDID0gY2xhc3MgeworICAq
ICNtZXRob2QoW3gsIHksIHpdKSB7CisgICAgYXNzZXJ0LnNhbWVWYWx1ZSh4LCAxKTsKKyAgICBh
c3NlcnQuc2FtZVZhbHVlKHksIDIpOworICAgIGFzc2VydC5zYW1lVmFsdWUoeiwgNDIpOworICAg
IGNhbGxDb3VudCA9IGNhbGxDb3VudCArIDE7CisgIH0KKworICBnZXQgbWV0aG9kKCkgeworICAg
IHJldHVybiB0aGlzLiNtZXRob2Q7CisgIH0KK307CisKK25ldyBDKCkubWV0aG9kKFsxLCAyLCAz
XSkubmV4dCgpOworYXNzZXJ0LnNhbWVWYWx1ZShjYWxsQ291bnQsIDEsICdtZXRob2QgaW52b2tl
ZCBleGFjdGx5IG9uY2UnKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1
YWdlL2V4cHJlc3Npb25zL2NsYXNzL2RzdHIvcHJpdmF0ZS1nZW4tbWV0aC1hcnktcHRybi1yZXN0
LWlkLWRpcmVjdC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25z
L2NsYXNzL2RzdHIvcHJpdmF0ZS1nZW4tbWV0aC1hcnktcHRybi1yZXN0LWlkLWRpcmVjdC5qcwpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi41NTBlMjQ5YjkwODM0N2Y0ZTgxNWRjOTJlMzVjNTdlZTQ2ZWMzYWJkCi0tLSAv
ZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMv
Y2xhc3MvZHN0ci9wcml2YXRlLWdlbi1tZXRoLWFyeS1wdHJuLXJlc3QtaWQtZGlyZWN0LmpzCkBA
IC0wLDAgKzEsOTIgQEAKKy8vIFRoaXMgZmlsZSB3YXMgcHJvY2VkdXJhbGx5IGdlbmVyYXRlZCBm
cm9tIHRoZSBmb2xsb3dpbmcgc291cmNlczoKKy8vIC0gc3JjL2RzdHItYmluZGluZy9hcnktcHRy
bi1yZXN0LWlkLWRpcmVjdC5jYXNlCisvLyAtIHNyYy9kc3RyLWJpbmRpbmcvZGVmYXVsdC9jbHMt
ZXhwci1wcml2YXRlLWdlbi1tZXRoLnRlbXBsYXRlCisvKi0tLQorZGVzY3JpcHRpb246IExvbmUg
cmVzdCBlbGVtZW50IChkaXJlY3QgYmluZGluZykgKHByaXZhdGUgY2xhc3MgZXhwcmVzc2lvbiBt
ZXRob2QpCitlc2lkOiBzZWMtY2xhc3MtZGVmaW5pdGlvbnMtcnVudGltZS1zZW1hbnRpY3MtZXZh
bHVhdGlvbgorZmVhdHVyZXM6IFtjbGFzcywgY2xhc3MtbWV0aG9kcy1wcml2YXRlLCBnZW5lcmF0
b3JzLCBkZXN0cnVjdHVyaW5nLWJpbmRpbmddCitmbGFnczogW2dlbmVyYXRlZF0KK2luY2x1ZGVz
OiBbY29tcGFyZUFycmF5LmpzXQoraW5mbzogfAorICAgIENsYXNzRXhwcmVzc2lvbiA6IGNsYXNz
IEJpbmRpbmdJZGVudGlmaWVyb3B0IENsYXNzVGFpbAorCisgICAgMS4gSWYgQmluZGluZ0lkZW50
aWZpZXJvcHQgaXMgbm90IHByZXNlbnQsIGxldCBjbGFzc05hbWUgYmUgdW5kZWZpbmVkLgorICAg
IDIuIEVsc2UsIGxldCBjbGFzc05hbWUgYmUgU3RyaW5nVmFsdWUgb2YgQmluZGluZ0lkZW50aWZp
ZXIuCisgICAgMy4gTGV0IHZhbHVlIGJlIHRoZSByZXN1bHQgb2YgQ2xhc3NEZWZpbml0aW9uRXZh
bHVhdGlvbiBvZiBDbGFzc1RhaWwKKyAgICAgICB3aXRoIGFyZ3VtZW50IGNsYXNzTmFtZS4KKyAg
ICBbLi4uXQorCisgICAgMTQuNS4xNCBSdW50aW1lIFNlbWFudGljczogQ2xhc3NEZWZpbml0aW9u
RXZhbHVhdGlvbgorCisgICAgMjEuIEZvciBlYWNoIENsYXNzRWxlbWVudCBtIGluIG9yZGVyIGZy
b20gbWV0aG9kcworICAgICAgICBhLiBJZiBJc1N0YXRpYyBvZiBtIGlzIGZhbHNlLCB0aGVuCisg
ICAgICAgICAgIGkuIExldCBzdGF0dXMgYmUgdGhlIHJlc3VsdCBvZiBwZXJmb3JtaW5nCisgICAg
ICAgICAgICAgIFByb3BlcnR5RGVmaW5pdGlvbkV2YWx1YXRpb24gZm9yIG0gd2l0aCBhcmd1bWVu
dHMgcHJvdG8gYW5kCisgICAgICAgICAgICAgIGZhbHNlLgorICAgICAgICBbLi4uXQorCisgICAg
MTQuNC4xMyBSdW50aW1lIFNlbWFudGljczogUHJvcGVydHlEZWZpbml0aW9uRXZhbHVhdGlvbgor
CisgICAgR2VuZXJhdG9yTWV0aG9kIDoKKyAgICAgICAgKiBQcm9wZXJ0eU5hbWUgKCBTdHJpY3RG
b3JtYWxQYXJhbWV0ZXJzICkgeyBHZW5lcmF0b3JCb2R5IH0KKworICAgIDEuIExldCBwcm9wS2V5
IGJlIHRoZSByZXN1bHQgb2YgZXZhbHVhdGluZyBQcm9wZXJ0eU5hbWUuCisgICAgMi4gUmV0dXJu
SWZBYnJ1cHQocHJvcEtleSkuCisgICAgMy4gSWYgdGhlIGZ1bmN0aW9uIGNvZGUgZm9yIHRoaXMg
R2VuZXJhdG9yTWV0aG9kIGlzIHN0cmljdCBtb2RlIGNvZGUsCisgICAgICAgbGV0IHN0cmljdCBi
ZSB0cnVlLiBPdGhlcndpc2UgbGV0IHN0cmljdCBiZSBmYWxzZS4KKyAgICA0LiBMZXQgc2NvcGUg
YmUgdGhlIHJ1bm5pbmcgZXhlY3V0aW9uIGNvbnRleHQncyBMZXhpY2FsRW52aXJvbm1lbnQuCisg
ICAgNS4gTGV0IGNsb3N1cmUgYmUgR2VuZXJhdG9yRnVuY3Rpb25DcmVhdGUoTWV0aG9kLAorICAg
ICAgIFN0cmljdEZvcm1hbFBhcmFtZXRlcnMsIEdlbmVyYXRvckJvZHksIHNjb3BlLCBzdHJpY3Qp
LgorCisgICAgOS4yLjEgW1tDYWxsXV0gKCB0aGlzQXJndW1lbnQsIGFyZ3VtZW50c0xpc3QpCisK
KyAgICBbLi4uXQorICAgIDcuIExldCByZXN1bHQgYmUgT3JkaW5hcnlDYWxsRXZhbHVhdGVCb2R5
KEYsIGFyZ3VtZW50c0xpc3QpLgorICAgIFsuLi5dCisKKyAgICA5LjIuMS4zIE9yZGluYXJ5Q2Fs
bEV2YWx1YXRlQm9keSAoIEYsIGFyZ3VtZW50c0xpc3QgKQorCisgICAgMS4gTGV0IHN0YXR1cyBi
ZSBGdW5jdGlvbkRlY2xhcmF0aW9uSW5zdGFudGlhdGlvbihGLCBhcmd1bWVudHNMaXN0KS4KKyAg
ICBbLi4uXQorCisgICAgOS4yLjEyIEZ1bmN0aW9uRGVjbGFyYXRpb25JbnN0YW50aWF0aW9uKGZ1
bmMsIGFyZ3VtZW50c0xpc3QpCisKKyAgICBbLi4uXQorICAgIDIzLiBMZXQgaXRlcmF0b3JSZWNv
cmQgYmUgUmVjb3JkIHtbW2l0ZXJhdG9yXV06CisgICAgICAgIENyZWF0ZUxpc3RJdGVyYXRvcihh
cmd1bWVudHNMaXN0KSwgW1tkb25lXV06IGZhbHNlfS4KKyAgICAyNC4gSWYgaGFzRHVwbGljYXRl
cyBpcyB0cnVlLCB0aGVuCisgICAgICAgIFsuLi5dCisgICAgMjUuIEVsc2UsCisgICAgICAgIGIu
IExldCBmb3JtYWxTdGF0dXMgYmUgSXRlcmF0b3JCaW5kaW5nSW5pdGlhbGl6YXRpb24gZm9yIGZv
cm1hbHMgd2l0aAorICAgICAgICAgICBpdGVyYXRvclJlY29yZCBhbmQgZW52IGFzIGFyZ3VtZW50
cy4KKyAgICBbLi4uXQorCisgICAgUnVudGltZSBTZW1hbnRpY3M6IEl0ZXJhdG9yQmluZGluZ0lu
aXRpYWxpemF0aW9uCisKKyAgICBCaW5kaW5nUmVzdEVsZW1lbnQgOiAuLi4gQmluZGluZ0lkZW50
aWZpZXIKKworICAgIFsuLi5dCisgICAgMi4gTGV0IEEgYmUgISBBcnJheUNyZWF0ZSgwKS4KKyAg
ICAzLiBMZXQgbiBiZSAwLgorICAgIDQuIFJlcGVhdCwKKyAgICAgICAgWy4uLl0KKyAgICAgICAg
Zi4gUGVyZm9ybSAhIENyZWF0ZURhdGFQcm9wZXJ0eU9yVGhyb3coQSwgISBUb1N0cmluZyhuKSwg
bmV4dFZhbHVlKS4KKyAgICAgICAgZy4gU2V0IG4gdG8gbiArIDEuCisKKy0tLSovCisKK3ZhciBj
YWxsQ291bnQgPSAwOwordmFyIEMgPSBjbGFzcyB7CisgICogI21ldGhvZChbLi4ueF0pIHsKKyAg
ICBhc3NlcnQoQXJyYXkuaXNBcnJheSh4KSk7CisgICAgYXNzZXJ0LmNvbXBhcmVBcnJheSh4LCBb
MV0pOworICAgIGNhbGxDb3VudCA9IGNhbGxDb3VudCArIDE7CisgIH0KKworICBnZXQgbWV0aG9k
KCkgeworICAgIHJldHVybiB0aGlzLiNtZXRob2Q7CisgIH0KK307CisKK25ldyBDKCkubWV0aG9k
KFsxXSkubmV4dCgpOworYXNzZXJ0LnNhbWVWYWx1ZShjYWxsQ291bnQsIDEsICdtZXRob2QgaW52
b2tlZCBleGFjdGx5IG9uY2UnKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xh
bmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2RzdHIvcHJpdmF0ZS1nZW4tbWV0aC1kZmx0LWFyeS1w
dHJuLWVsZW0taWQtaXRlci12YWwtYXJyYXktcHJvdG90eXBlLmpzIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvZHN0ci9wcml2YXRlLWdlbi1tZXRoLWRm
bHQtYXJ5LXB0cm4tZWxlbS1pZC1pdGVyLXZhbC1hcnJheS1wcm90b3R5cGUuanMKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMWY2ZDM5Y2JlNzFmNjRlZTgyMTlhNjU0MGVjMmJlZTQzNGZlN2M5MQotLS0gL2Rldi9udWxs
CisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Rz
dHIvcHJpdmF0ZS1nZW4tbWV0aC1kZmx0LWFyeS1wdHJuLWVsZW0taWQtaXRlci12YWwtYXJyYXkt
cHJvdG90eXBlLmpzCkBAIC0wLDAgKzEsMTA5IEBACisvLyBUaGlzIGZpbGUgd2FzIHByb2NlZHVy
YWxseSBnZW5lcmF0ZWQgZnJvbSB0aGUgZm9sbG93aW5nIHNvdXJjZXM6CisvLyAtIHNyYy9kc3Ry
LWJpbmRpbmcvYXJ5LXB0cm4tZWxlbS1pZC1pdGVyLXZhbC1hcnJheS1wcm90b3R5cGUuY2FzZQor
Ly8gLSBzcmMvZHN0ci1iaW5kaW5nL2RlZmF1bHQvY2xzLWV4cHItcHJpdmF0ZS1nZW4tbWV0aC1k
Zmx0LnRlbXBsYXRlCisvKi0tLQorZGVzY3JpcHRpb246IEFycmF5IGRlc3RydWN0dXJpbmcgdXNl
cyBvdmVycmlkZW4gQXJyYXkucHJvdG90eXBlW1N5bWJvbC5pdGVyYXRvcl0gKHByaXZhdGUgY2xh
c3MgZXhwcmVzc2lvbiBtZXRob2QgKGRlZmF1bHQgcGFyYW1ldGVyKSkKK2VzaWQ6IHNlYy1jbGFz
cy1kZWZpbml0aW9ucy1ydW50aW1lLXNlbWFudGljcy1ldmFsdWF0aW9uCitmZWF0dXJlczogW1N5
bWJvbC5pdGVyYXRvciwgZ2VuZXJhdG9ycywgY2xhc3MsIGNsYXNzLW1ldGhvZHMtcHJpdmF0ZSwg
ZGVzdHJ1Y3R1cmluZy1iaW5kaW5nLCBkZWZhdWx0LXBhcmFtZXRlcnNdCitmbGFnczogW2dlbmVy
YXRlZF0KK2luZm86IHwKKyAgICBDbGFzc0V4cHJlc3Npb24gOiBjbGFzcyBCaW5kaW5nSWRlbnRp
Zmllcm9wdCBDbGFzc1RhaWwKKworICAgIDEuIElmIEJpbmRpbmdJZGVudGlmaWVyb3B0IGlzIG5v
dCBwcmVzZW50LCBsZXQgY2xhc3NOYW1lIGJlIHVuZGVmaW5lZC4KKyAgICAyLiBFbHNlLCBsZXQg
Y2xhc3NOYW1lIGJlIFN0cmluZ1ZhbHVlIG9mIEJpbmRpbmdJZGVudGlmaWVyLgorICAgIDMuIExl
dCB2YWx1ZSBiZSB0aGUgcmVzdWx0IG9mIENsYXNzRGVmaW5pdGlvbkV2YWx1YXRpb24gb2YgQ2xh
c3NUYWlsCisgICAgICAgd2l0aCBhcmd1bWVudCBjbGFzc05hbWUuCisgICAgWy4uLl0KKworICAg
IDE0LjUuMTQgUnVudGltZSBTZW1hbnRpY3M6IENsYXNzRGVmaW5pdGlvbkV2YWx1YXRpb24KKwor
ICAgIDIxLiBGb3IgZWFjaCBDbGFzc0VsZW1lbnQgbSBpbiBvcmRlciBmcm9tIG1ldGhvZHMKKyAg
ICAgICAgYS4gSWYgSXNTdGF0aWMgb2YgbSBpcyBmYWxzZSwgdGhlbgorICAgICAgICAgICBpLiBM
ZXQgc3RhdHVzIGJlIHRoZSByZXN1bHQgb2YgcGVyZm9ybWluZworICAgICAgICAgICAgICBQcm9w
ZXJ0eURlZmluaXRpb25FdmFsdWF0aW9uIGZvciBtIHdpdGggYXJndW1lbnRzIHByb3RvIGFuZAor
ICAgICAgICAgICAgICBmYWxzZS4KKyAgICAgICAgWy4uLl0KKworICAgIDE0LjQuMTMgUnVudGlt
ZSBTZW1hbnRpY3M6IFByb3BlcnR5RGVmaW5pdGlvbkV2YWx1YXRpb24KKworICAgIEdlbmVyYXRv
ck1ldGhvZCA6CisgICAgICAgICogUHJvcGVydHlOYW1lICggU3RyaWN0Rm9ybWFsUGFyYW1ldGVy
cyApIHsgR2VuZXJhdG9yQm9keSB9CisKKyAgICAxLiBMZXQgcHJvcEtleSBiZSB0aGUgcmVzdWx0
IG9mIGV2YWx1YXRpbmcgUHJvcGVydHlOYW1lLgorICAgIDIuIFJldHVybklmQWJydXB0KHByb3BL
ZXkpLgorICAgIDMuIElmIHRoZSBmdW5jdGlvbiBjb2RlIGZvciB0aGlzIEdlbmVyYXRvck1ldGhv
ZCBpcyBzdHJpY3QgbW9kZSBjb2RlLAorICAgICAgIGxldCBzdHJpY3QgYmUgdHJ1ZS4gT3RoZXJ3
aXNlIGxldCBzdHJpY3QgYmUgZmFsc2UuCisgICAgNC4gTGV0IHNjb3BlIGJlIHRoZSBydW5uaW5n
IGV4ZWN1dGlvbiBjb250ZXh0J3MgTGV4aWNhbEVudmlyb25tZW50LgorICAgIDUuIExldCBjbG9z
dXJlIGJlIEdlbmVyYXRvckZ1bmN0aW9uQ3JlYXRlKE1ldGhvZCwKKyAgICAgICBTdHJpY3RGb3Jt
YWxQYXJhbWV0ZXJzLCBHZW5lcmF0b3JCb2R5LCBzY29wZSwgc3RyaWN0KS4KKworICAgIDkuMi4x
IFtbQ2FsbF1dICggdGhpc0FyZ3VtZW50LCBhcmd1bWVudHNMaXN0KQorCisgICAgWy4uLl0KKyAg
ICA3LiBMZXQgcmVzdWx0IGJlIE9yZGluYXJ5Q2FsbEV2YWx1YXRlQm9keShGLCBhcmd1bWVudHNM
aXN0KS4KKyAgICBbLi4uXQorCisgICAgOS4yLjEuMyBPcmRpbmFyeUNhbGxFdmFsdWF0ZUJvZHkg
KCBGLCBhcmd1bWVudHNMaXN0ICkKKworICAgIDEuIExldCBzdGF0dXMgYmUgRnVuY3Rpb25EZWNs
YXJhdGlvbkluc3RhbnRpYXRpb24oRiwgYXJndW1lbnRzTGlzdCkuCisgICAgWy4uLl0KKworICAg
IDkuMi4xMiBGdW5jdGlvbkRlY2xhcmF0aW9uSW5zdGFudGlhdGlvbihmdW5jLCBhcmd1bWVudHNM
aXN0KQorCisgICAgWy4uLl0KKyAgICAyMy4gTGV0IGl0ZXJhdG9yUmVjb3JkIGJlIFJlY29yZCB7
W1tpdGVyYXRvcl1dOgorICAgICAgICBDcmVhdGVMaXN0SXRlcmF0b3IoYXJndW1lbnRzTGlzdCks
IFtbZG9uZV1dOiBmYWxzZX0uCisgICAgMjQuIElmIGhhc0R1cGxpY2F0ZXMgaXMgdHJ1ZSwgdGhl
bgorICAgICAgICBbLi4uXQorICAgIDI1LiBFbHNlLAorICAgICAgICBiLiBMZXQgZm9ybWFsU3Rh
dHVzIGJlIEl0ZXJhdG9yQmluZGluZ0luaXRpYWxpemF0aW9uIGZvciBmb3JtYWxzIHdpdGgKKyAg
ICAgICAgICAgaXRlcmF0b3JSZWNvcmQgYW5kIGVudiBhcyBhcmd1bWVudHMuCisgICAgWy4uLl0K
KworICAgIFJ1bnRpbWUgU2VtYW50aWNzOiBJdGVyYXRvckJpbmRpbmdJbml0aWFsaXphdGlvbgor
CisgICAgU2luZ2xlTmFtZUJpbmRpbmcgOiBCaW5kaW5nSWRlbnRpZmllciBJbml0aWFsaXplcl9v
cHQKKworICAgIDEuIExldCBiaW5kaW5nSWQgYmUgU3RyaW5nVmFsdWUgb2YgQmluZGluZ0lkZW50
aWZpZXIuCisgICAgMi4gTGV0IGxocyBiZSA/IFJlc29sdmVCaW5kaW5nKGJpbmRpbmdJZCwgZW52
aXJvbm1lbnQpLgorICAgIDMuIElmIGl0ZXJhdG9yUmVjb3JkLltbRG9uZV1dIGlzIGZhbHNlLCB0
aGVuCisgICAgICAgIGEuIExldCBuZXh0IGJlIEl0ZXJhdG9yU3RlcChpdGVyYXRvclJlY29yZCku
CisgICAgICAgIGIuIElmIG5leHQgaXMgYW4gYWJydXB0IGNvbXBsZXRpb24sIHNldCBpdGVyYXRv
clJlY29yZC5bW0RvbmVdXSB0byB0cnVlLgorICAgICAgICBjLiBSZXR1cm5JZkFicnVwdChuZXh0
KS4KKyAgICAgICAgZC4gSWYgbmV4dCBpcyBmYWxzZSwgc2V0IGl0ZXJhdG9yUmVjb3JkLltbRG9u
ZV1dIHRvIHRydWUuCisgICAgICAgIGUuIEVsc2UsCisgICAgICAgICAgICBpLiBMZXQgdiBiZSBJ
dGVyYXRvclZhbHVlKG5leHQpLgorICAgICAgICAgICAgaWkuIElmIHYgaXMgYW4gYWJydXB0IGNv
bXBsZXRpb24sIHNldCBpdGVyYXRvclJlY29yZC5bW0RvbmVdXSB0byB0cnVlLgorICAgICAgICAg
ICAgaWlpLiBSZXR1cm5JZkFicnVwdCh2KS4KKyAgICBbLi4uXQorICAgIDcuIFJldHVybiBJbml0
aWFsaXplUmVmZXJlbmNlZEJpbmRpbmcobGhzLCB2KS4KKworLS0tKi8KK0FycmF5LnByb3RvdHlw
ZVtTeW1ib2wuaXRlcmF0b3JdID0gZnVuY3Rpb24qICgpIHsKKyAgICBpZiAodGhpcy5sZW5ndGgg
PiAwKSB7CisgICAgICAgIHlpZWxkIHRoaXNbMF07CisgICAgfQorICAgIGlmICh0aGlzLmxlbmd0
aCA+IDEpIHsKKyAgICAgICAgeWllbGQgdGhpc1sxXTsKKyAgICB9CisgICAgaWYgKHRoaXMubGVu
Z3RoID4gMikgeworICAgICAgICB5aWVsZCA0MjsKKyAgICB9Cit9OworCit2YXIgY2FsbENvdW50
ID0gMDsKK3ZhciBDID0gY2xhc3MgeworICAqICNtZXRob2QoW3gsIHksIHpdID0gWzEsIDIsIDNd
KSB7CisgICAgYXNzZXJ0LnNhbWVWYWx1ZSh4LCAxKTsKKyAgICBhc3NlcnQuc2FtZVZhbHVlKHks
IDIpOworICAgIGFzc2VydC5zYW1lVmFsdWUoeiwgNDIpOworICAgIGNhbGxDb3VudCA9IGNhbGxD
b3VudCArIDE7CisgIH0KKworICBnZXQgbWV0aG9kKCkgeworICAgIHJldHVybiB0aGlzLiNtZXRo
b2Q7CisgIH0KK307CisKK25ldyBDKCkubWV0aG9kKCkubmV4dCgpOworYXNzZXJ0LnNhbWVWYWx1
ZShjYWxsQ291bnQsIDEsICdtZXRob2QgaW52b2tlZCBleGFjdGx5IG9uY2UnKTsKZGlmZiAtLWdp
dCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2RzdHIv
cHJpdmF0ZS1nZW4tbWV0aC1kZmx0LWFyeS1wdHJuLXJlc3QtaWQtZGlyZWN0LmpzIGIvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvZHN0ci9wcml2YXRlLWdl
bi1tZXRoLWRmbHQtYXJ5LXB0cm4tcmVzdC1pZC1kaXJlY3QuanMKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzljOTdi
YWNlN2JiZGUwYzI3ZjY0YWMzYTg3ZDZiMmVhMTNkODMwYQotLS0gL2Rldi9udWxsCisrKyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2RzdHIvcHJpdmF0
ZS1nZW4tbWV0aC1kZmx0LWFyeS1wdHJuLXJlc3QtaWQtZGlyZWN0LmpzCkBAIC0wLDAgKzEsOTIg
QEAKKy8vIFRoaXMgZmlsZSB3YXMgcHJvY2VkdXJhbGx5IGdlbmVyYXRlZCBmcm9tIHRoZSBmb2xs
b3dpbmcgc291cmNlczoKKy8vIC0gc3JjL2RzdHItYmluZGluZy9hcnktcHRybi1yZXN0LWlkLWRp
cmVjdC5jYXNlCisvLyAtIHNyYy9kc3RyLWJpbmRpbmcvZGVmYXVsdC9jbHMtZXhwci1wcml2YXRl
LWdlbi1tZXRoLWRmbHQudGVtcGxhdGUKKy8qLS0tCitkZXNjcmlwdGlvbjogTG9uZSByZXN0IGVs
ZW1lbnQgKGRpcmVjdCBiaW5kaW5nKSAocHJpdmF0ZSBjbGFzcyBleHByZXNzaW9uIG1ldGhvZCAo
ZGVmYXVsdCBwYXJhbWV0ZXIpKQorZXNpZDogc2VjLWNsYXNzLWRlZmluaXRpb25zLXJ1bnRpbWUt
c2VtYW50aWNzLWV2YWx1YXRpb24KK2ZlYXR1cmVzOiBbY2xhc3MsIGNsYXNzLW1ldGhvZHMtcHJp
dmF0ZSwgZ2VuZXJhdG9ycywgZGVzdHJ1Y3R1cmluZy1iaW5kaW5nLCBkZWZhdWx0LXBhcmFtZXRl
cnNdCitmbGFnczogW2dlbmVyYXRlZF0KK2luY2x1ZGVzOiBbY29tcGFyZUFycmF5LmpzXQoraW5m
bzogfAorICAgIENsYXNzRXhwcmVzc2lvbiA6IGNsYXNzIEJpbmRpbmdJZGVudGlmaWVyb3B0IENs
YXNzVGFpbAorCisgICAgMS4gSWYgQmluZGluZ0lkZW50aWZpZXJvcHQgaXMgbm90IHByZXNlbnQs
IGxldCBjbGFzc05hbWUgYmUgdW5kZWZpbmVkLgorICAgIDIuIEVsc2UsIGxldCBjbGFzc05hbWUg
YmUgU3RyaW5nVmFsdWUgb2YgQmluZGluZ0lkZW50aWZpZXIuCisgICAgMy4gTGV0IHZhbHVlIGJl
IHRoZSByZXN1bHQgb2YgQ2xhc3NEZWZpbml0aW9uRXZhbHVhdGlvbiBvZiBDbGFzc1RhaWwKKyAg
ICAgICB3aXRoIGFyZ3VtZW50IGNsYXNzTmFtZS4KKyAgICBbLi4uXQorCisgICAgMTQuNS4xNCBS
dW50aW1lIFNlbWFudGljczogQ2xhc3NEZWZpbml0aW9uRXZhbHVhdGlvbgorCisgICAgMjEuIEZv
ciBlYWNoIENsYXNzRWxlbWVudCBtIGluIG9yZGVyIGZyb20gbWV0aG9kcworICAgICAgICBhLiBJ
ZiBJc1N0YXRpYyBvZiBtIGlzIGZhbHNlLCB0aGVuCisgICAgICAgICAgIGkuIExldCBzdGF0dXMg
YmUgdGhlIHJlc3VsdCBvZiBwZXJmb3JtaW5nCisgICAgICAgICAgICAgIFByb3BlcnR5RGVmaW5p
dGlvbkV2YWx1YXRpb24gZm9yIG0gd2l0aCBhcmd1bWVudHMgcHJvdG8gYW5kCisgICAgICAgICAg
ICAgIGZhbHNlLgorICAgICAgICBbLi4uXQorCisgICAgMTQuNC4xMyBSdW50aW1lIFNlbWFudGlj
czogUHJvcGVydHlEZWZpbml0aW9uRXZhbHVhdGlvbgorCisgICAgR2VuZXJhdG9yTWV0aG9kIDoK
KyAgICAgICAgKiBQcm9wZXJ0eU5hbWUgKCBTdHJpY3RGb3JtYWxQYXJhbWV0ZXJzICkgeyBHZW5l
cmF0b3JCb2R5IH0KKworICAgIDEuIExldCBwcm9wS2V5IGJlIHRoZSByZXN1bHQgb2YgZXZhbHVh
dGluZyBQcm9wZXJ0eU5hbWUuCisgICAgMi4gUmV0dXJuSWZBYnJ1cHQocHJvcEtleSkuCisgICAg
My4gSWYgdGhlIGZ1bmN0aW9uIGNvZGUgZm9yIHRoaXMgR2VuZXJhdG9yTWV0aG9kIGlzIHN0cmlj
dCBtb2RlIGNvZGUsCisgICAgICAgbGV0IHN0cmljdCBiZSB0cnVlLiBPdGhlcndpc2UgbGV0IHN0
cmljdCBiZSBmYWxzZS4KKyAgICA0LiBMZXQgc2NvcGUgYmUgdGhlIHJ1bm5pbmcgZXhlY3V0aW9u
IGNvbnRleHQncyBMZXhpY2FsRW52aXJvbm1lbnQuCisgICAgNS4gTGV0IGNsb3N1cmUgYmUgR2Vu
ZXJhdG9yRnVuY3Rpb25DcmVhdGUoTWV0aG9kLAorICAgICAgIFN0cmljdEZvcm1hbFBhcmFtZXRl
cnMsIEdlbmVyYXRvckJvZHksIHNjb3BlLCBzdHJpY3QpLgorCisgICAgOS4yLjEgW1tDYWxsXV0g
KCB0aGlzQXJndW1lbnQsIGFyZ3VtZW50c0xpc3QpCisKKyAgICBbLi4uXQorICAgIDcuIExldCBy
ZXN1bHQgYmUgT3JkaW5hcnlDYWxsRXZhbHVhdGVCb2R5KEYsIGFyZ3VtZW50c0xpc3QpLgorICAg
IFsuLi5dCisKKyAgICA5LjIuMS4zIE9yZGluYXJ5Q2FsbEV2YWx1YXRlQm9keSAoIEYsIGFyZ3Vt
ZW50c0xpc3QgKQorCisgICAgMS4gTGV0IHN0YXR1cyBiZSBGdW5jdGlvbkRlY2xhcmF0aW9uSW5z
dGFudGlhdGlvbihGLCBhcmd1bWVudHNMaXN0KS4KKyAgICBbLi4uXQorCisgICAgOS4yLjEyIEZ1
bmN0aW9uRGVjbGFyYXRpb25JbnN0YW50aWF0aW9uKGZ1bmMsIGFyZ3VtZW50c0xpc3QpCisKKyAg
ICBbLi4uXQorICAgIDIzLiBMZXQgaXRlcmF0b3JSZWNvcmQgYmUgUmVjb3JkIHtbW2l0ZXJhdG9y
XV06CisgICAgICAgIENyZWF0ZUxpc3RJdGVyYXRvcihhcmd1bWVudHNMaXN0KSwgW1tkb25lXV06
IGZhbHNlfS4KKyAgICAyNC4gSWYgaGFzRHVwbGljYXRlcyBpcyB0cnVlLCB0aGVuCisgICAgICAg
IFsuLi5dCisgICAgMjUuIEVsc2UsCisgICAgICAgIGIuIExldCBmb3JtYWxTdGF0dXMgYmUgSXRl
cmF0b3JCaW5kaW5nSW5pdGlhbGl6YXRpb24gZm9yIGZvcm1hbHMgd2l0aAorICAgICAgICAgICBp
dGVyYXRvclJlY29yZCBhbmQgZW52IGFzIGFyZ3VtZW50cy4KKyAgICBbLi4uXQorCisgICAgUnVu
dGltZSBTZW1hbnRpY3M6IEl0ZXJhdG9yQmluZGluZ0luaXRpYWxpemF0aW9uCisKKyAgICBCaW5k
aW5nUmVzdEVsZW1lbnQgOiAuLi4gQmluZGluZ0lkZW50aWZpZXIKKworICAgIFsuLi5dCisgICAg
Mi4gTGV0IEEgYmUgISBBcnJheUNyZWF0ZSgwKS4KKyAgICAzLiBMZXQgbiBiZSAwLgorICAgIDQu
IFJlcGVhdCwKKyAgICAgICAgWy4uLl0KKyAgICAgICAgZi4gUGVyZm9ybSAhIENyZWF0ZURhdGFQ
cm9wZXJ0eU9yVGhyb3coQSwgISBUb1N0cmluZyhuKSwgbmV4dFZhbHVlKS4KKyAgICAgICAgZy4g
U2V0IG4gdG8gbiArIDEuCisKKy0tLSovCisKK3ZhciBjYWxsQ291bnQgPSAwOwordmFyIEMgPSBj
bGFzcyB7CisgICogI21ldGhvZChbLi4ueF0gPSBbMV0pIHsKKyAgICBhc3NlcnQoQXJyYXkuaXNB
cnJheSh4KSk7CisgICAgYXNzZXJ0LmNvbXBhcmVBcnJheSh4LCBbMV0pOworICAgIGNhbGxDb3Vu
dCA9IGNhbGxDb3VudCArIDE7CisgIH0KKworICBnZXQgbWV0aG9kKCkgeworICAgIHJldHVybiB0
aGlzLiNtZXRob2Q7CisgIH0KK307CisKK25ldyBDKCkubWV0aG9kKCkubmV4dCgpOworYXNzZXJ0
LnNhbWVWYWx1ZShjYWxsQ291bnQsIDEsICdtZXRob2QgaW52b2tlZCBleGFjdGx5IG9uY2UnKTsK
ZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2Ns
YXNzL2RzdHIvcHJpdmF0ZS1nZW4tbWV0aC1zdGF0aWMtYXJ5LXB0cm4tZWxlbS1pZC1pdGVyLXZh
bC1hcnJheS1wcm90b3R5cGUuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHBy
ZXNzaW9ucy9jbGFzcy9kc3RyL3ByaXZhdGUtZ2VuLW1ldGgtc3RhdGljLWFyeS1wdHJuLWVsZW0t
aWQtaXRlci12YWwtYXJyYXktcHJvdG90eXBlLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIyYjE4N2IyYTljODBi
MjkxNzI0N2QzYjBiMWNhMTI2ZDhhYmYyNjUKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9kc3RyL3ByaXZhdGUtZ2VuLW1l
dGgtc3RhdGljLWFyeS1wdHJuLWVsZW0taWQtaXRlci12YWwtYXJyYXktcHJvdG90eXBlLmpzCkBA
IC0wLDAgKzEsMTA5IEBACisvLyBUaGlzIGZpbGUgd2FzIHByb2NlZHVyYWxseSBnZW5lcmF0ZWQg
ZnJvbSB0aGUgZm9sbG93aW5nIHNvdXJjZXM6CisvLyAtIHNyYy9kc3RyLWJpbmRpbmcvYXJ5LXB0
cm4tZWxlbS1pZC1pdGVyLXZhbC1hcnJheS1wcm90b3R5cGUuY2FzZQorLy8gLSBzcmMvZHN0ci1i
aW5kaW5nL2RlZmF1bHQvY2xzLWV4cHItcHJpdmF0ZS1nZW4tbWV0aC1zdGF0aWMudGVtcGxhdGUK
Ky8qLS0tCitkZXNjcmlwdGlvbjogQXJyYXkgZGVzdHJ1Y3R1cmluZyB1c2VzIG92ZXJyaWRlbiBB
cnJheS5wcm90b3R5cGVbU3ltYm9sLml0ZXJhdG9yXSAocHJpdmF0ZSBzdGF0aWMgY2xhc3MgZXhw
cmVzc2lvbiBnZW5lcmF0b3IgbWV0aG9kKQorZXNpZDogc2VjLWNsYXNzLWRlZmluaXRpb25zLXJ1
bnRpbWUtc2VtYW50aWNzLWV2YWx1YXRpb24KK2ZlYXR1cmVzOiBbU3ltYm9sLml0ZXJhdG9yLCBn
ZW5lcmF0b3JzLCBjbGFzcywgY2xhc3Mtc3RhdGljLW1ldGhvZHMtcHJpdmF0ZSwgZGVzdHJ1Y3R1
cmluZy1iaW5kaW5nXQorZmxhZ3M6IFtnZW5lcmF0ZWRdCitpbmZvOiB8CisgICAgQ2xhc3NFeHBy
ZXNzaW9uIDogY2xhc3MgQmluZGluZ0lkZW50aWZpZXJvcHQgQ2xhc3NUYWlsCisKKyAgICAxLiBJ
ZiBCaW5kaW5nSWRlbnRpZmllcm9wdCBpcyBub3QgcHJlc2VudCwgbGV0IGNsYXNzTmFtZSBiZSB1
bmRlZmluZWQuCisgICAgMi4gRWxzZSwgbGV0IGNsYXNzTmFtZSBiZSBTdHJpbmdWYWx1ZSBvZiBC
aW5kaW5nSWRlbnRpZmllci4KKyAgICAzLiBMZXQgdmFsdWUgYmUgdGhlIHJlc3VsdCBvZiBDbGFz
c0RlZmluaXRpb25FdmFsdWF0aW9uIG9mIENsYXNzVGFpbAorICAgICAgIHdpdGggYXJndW1lbnQg
Y2xhc3NOYW1lLgorICAgIFsuLi5dCisKKyAgICAxNC41LjE0IFJ1bnRpbWUgU2VtYW50aWNzOiBD
bGFzc0RlZmluaXRpb25FdmFsdWF0aW9uCisKKyAgICAyMS4gRm9yIGVhY2ggQ2xhc3NFbGVtZW50
IG0gaW4gb3JkZXIgZnJvbSBtZXRob2RzCisgICAgICAgIGEuIElmIElzU3RhdGljIG9mIG0gaXMg
ZmFsc2UsIHRoZW4KKyAgICAgICAgYi4gRWxzZSwKKyAgICAgICAgICAgTGV0IHN0YXR1cyBiZSB0
aGUgcmVzdWx0IG9mIHBlcmZvcm1pbmcgUHJvcGVydHlEZWZpbml0aW9uRXZhbHVhdGlvbgorICAg
ICAgICAgICBmb3IgbSB3aXRoIGFyZ3VtZW50cyBGIGFuZCBmYWxzZS4KKyAgICBbLi4uXQorCisg
ICAgMTQuNC4xMyBSdW50aW1lIFNlbWFudGljczogUHJvcGVydHlEZWZpbml0aW9uRXZhbHVhdGlv
bgorCisgICAgR2VuZXJhdG9yTWV0aG9kIDoKKyAgICAgICAgKiBQcm9wZXJ0eU5hbWUgKCBTdHJp
Y3RGb3JtYWxQYXJhbWV0ZXJzICkgeyBHZW5lcmF0b3JCb2R5IH0KKworICAgIDEuIExldCBwcm9w
S2V5IGJlIHRoZSByZXN1bHQgb2YgZXZhbHVhdGluZyBQcm9wZXJ0eU5hbWUuCisgICAgMi4gUmV0
dXJuSWZBYnJ1cHQocHJvcEtleSkuCisgICAgMy4gSWYgdGhlIGZ1bmN0aW9uIGNvZGUgZm9yIHRo
aXMgR2VuZXJhdG9yTWV0aG9kIGlzIHN0cmljdCBtb2RlIGNvZGUsCisgICAgICAgbGV0IHN0cmlj
dCBiZSB0cnVlLiBPdGhlcndpc2UgbGV0IHN0cmljdCBiZSBmYWxzZS4KKyAgICA0LiBMZXQgc2Nv
cGUgYmUgdGhlIHJ1bm5pbmcgZXhlY3V0aW9uIGNvbnRleHQncyBMZXhpY2FsRW52aXJvbm1lbnQu
CisgICAgNS4gTGV0IGNsb3N1cmUgYmUgR2VuZXJhdG9yRnVuY3Rpb25DcmVhdGUoTWV0aG9kLAor
ICAgICAgIFN0cmljdEZvcm1hbFBhcmFtZXRlcnMsIEdlbmVyYXRvckJvZHksIHNjb3BlLCBzdHJp
Y3QpLgorCisgICAgOS4yLjEgW1tDYWxsXV0gKCB0aGlzQXJndW1lbnQsIGFyZ3VtZW50c0xpc3Qp
CisKKyAgICBbLi4uXQorICAgIDcuIExldCByZXN1bHQgYmUgT3JkaW5hcnlDYWxsRXZhbHVhdGVC
b2R5KEYsIGFyZ3VtZW50c0xpc3QpLgorICAgIFsuLi5dCisKKyAgICA5LjIuMS4zIE9yZGluYXJ5
Q2FsbEV2YWx1YXRlQm9keSAoIEYsIGFyZ3VtZW50c0xpc3QgKQorCisgICAgMS4gTGV0IHN0YXR1
cyBiZSBGdW5jdGlvbkRlY2xhcmF0aW9uSW5zdGFudGlhdGlvbihGLCBhcmd1bWVudHNMaXN0KS4K
KyAgICBbLi4uXQorCisgICAgOS4yLjEyIEZ1bmN0aW9uRGVjbGFyYXRpb25JbnN0YW50aWF0aW9u
KGZ1bmMsIGFyZ3VtZW50c0xpc3QpCisKKyAgICBbLi4uXQorICAgIDIzLiBMZXQgaXRlcmF0b3JS
ZWNvcmQgYmUgUmVjb3JkIHtbW2l0ZXJhdG9yXV06CisgICAgICAgIENyZWF0ZUxpc3RJdGVyYXRv
cihhcmd1bWVudHNMaXN0KSwgW1tkb25lXV06IGZhbHNlfS4KKyAgICAyNC4gSWYgaGFzRHVwbGlj
YXRlcyBpcyB0cnVlLCB0aGVuCisgICAgICAgIFsuLi5dCisgICAgMjUuIEVsc2UsCisgICAgICAg
IGIuIExldCBmb3JtYWxTdGF0dXMgYmUgSXRlcmF0b3JCaW5kaW5nSW5pdGlhbGl6YXRpb24gZm9y
IGZvcm1hbHMgd2l0aAorICAgICAgICAgICBpdGVyYXRvclJlY29yZCBhbmQgZW52IGFzIGFyZ3Vt
ZW50cy4KKyAgICBbLi4uXQorCisgICAgUnVudGltZSBTZW1hbnRpY3M6IEl0ZXJhdG9yQmluZGlu
Z0luaXRpYWxpemF0aW9uCisKKyAgICBTaW5nbGVOYW1lQmluZGluZyA6IEJpbmRpbmdJZGVudGlm
aWVyIEluaXRpYWxpemVyX29wdAorCisgICAgMS4gTGV0IGJpbmRpbmdJZCBiZSBTdHJpbmdWYWx1
ZSBvZiBCaW5kaW5nSWRlbnRpZmllci4KKyAgICAyLiBMZXQgbGhzIGJlID8gUmVzb2x2ZUJpbmRp
bmcoYmluZGluZ0lkLCBlbnZpcm9ubWVudCkuCisgICAgMy4gSWYgaXRlcmF0b3JSZWNvcmQuW1tE
b25lXV0gaXMgZmFsc2UsIHRoZW4KKyAgICAgICAgYS4gTGV0IG5leHQgYmUgSXRlcmF0b3JTdGVw
KGl0ZXJhdG9yUmVjb3JkKS4KKyAgICAgICAgYi4gSWYgbmV4dCBpcyBhbiBhYnJ1cHQgY29tcGxl
dGlvbiwgc2V0IGl0ZXJhdG9yUmVjb3JkLltbRG9uZV1dIHRvIHRydWUuCisgICAgICAgIGMuIFJl
dHVybklmQWJydXB0KG5leHQpLgorICAgICAgICBkLiBJZiBuZXh0IGlzIGZhbHNlLCBzZXQgaXRl
cmF0b3JSZWNvcmQuW1tEb25lXV0gdG8gdHJ1ZS4KKyAgICAgICAgZS4gRWxzZSwKKyAgICAgICAg
ICAgIGkuIExldCB2IGJlIEl0ZXJhdG9yVmFsdWUobmV4dCkuCisgICAgICAgICAgICBpaS4gSWYg
diBpcyBhbiBhYnJ1cHQgY29tcGxldGlvbiwgc2V0IGl0ZXJhdG9yUmVjb3JkLltbRG9uZV1dIHRv
IHRydWUuCisgICAgICAgICAgICBpaWkuIFJldHVybklmQWJydXB0KHYpLgorICAgIFsuLi5dCisg
ICAgNy4gUmV0dXJuIEluaXRpYWxpemVSZWZlcmVuY2VkQmluZGluZyhsaHMsIHYpLgorCistLS0q
LworQXJyYXkucHJvdG90eXBlW1N5bWJvbC5pdGVyYXRvcl0gPSBmdW5jdGlvbiogKCkgeworICAg
IGlmICh0aGlzLmxlbmd0aCA+IDApIHsKKyAgICAgICAgeWllbGQgdGhpc1swXTsKKyAgICB9Cisg
ICAgaWYgKHRoaXMubGVuZ3RoID4gMSkgeworICAgICAgICB5aWVsZCB0aGlzWzFdOworICAgIH0K
KyAgICBpZiAodGhpcy5sZW5ndGggPiAyKSB7CisgICAgICAgIHlpZWxkIDQyOworICAgIH0KK307
CisKK3ZhciBjYWxsQ291bnQgPSAwOwordmFyIEMgPSBjbGFzcyB7CisgIHN0YXRpYyAqICNtZXRo
b2QoW3gsIHksIHpdKSB7CisgICAgYXNzZXJ0LnNhbWVWYWx1ZSh4LCAxKTsKKyAgICBhc3NlcnQu
c2FtZVZhbHVlKHksIDIpOworICAgIGFzc2VydC5zYW1lVmFsdWUoeiwgNDIpOworICAgIGNhbGxD
b3VudCA9IGNhbGxDb3VudCArIDE7CisgIH0KKworICBzdGF0aWMgZ2V0IG1ldGhvZCgpIHsKKyAg
ICByZXR1cm4gdGhpcy4jbWV0aG9kOworICB9Cit9OworCitDLm1ldGhvZChbMSwgMiwgM10pLm5l
eHQoKTsKK2Fzc2VydC5zYW1lVmFsdWUoY2FsbENvdW50LCAxLCAnbWV0aG9kIGludm9rZWQgZXhh
Y3RseSBvbmNlJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9l
eHByZXNzaW9ucy9jbGFzcy9kc3RyL3ByaXZhdGUtZ2VuLW1ldGgtc3RhdGljLWFyeS1wdHJuLXJl
c3QtaWQtZGlyZWN0LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lv
bnMvY2xhc3MvZHN0ci9wcml2YXRlLWdlbi1tZXRoLXN0YXRpYy1hcnktcHRybi1yZXN0LWlkLWRp
cmVjdC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5kNWU4NzIzZmQyNGUwMTVhZWYyODNhM2U1M2Q2MThhZmI2NzJk
NmNlCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhw
cmVzc2lvbnMvY2xhc3MvZHN0ci9wcml2YXRlLWdlbi1tZXRoLXN0YXRpYy1hcnktcHRybi1yZXN0
LWlkLWRpcmVjdC5qcwpAQCAtMCwwICsxLDkyIEBACisvLyBUaGlzIGZpbGUgd2FzIHByb2NlZHVy
YWxseSBnZW5lcmF0ZWQgZnJvbSB0aGUgZm9sbG93aW5nIHNvdXJjZXM6CisvLyAtIHNyYy9kc3Ry
LWJpbmRpbmcvYXJ5LXB0cm4tcmVzdC1pZC1kaXJlY3QuY2FzZQorLy8gLSBzcmMvZHN0ci1iaW5k
aW5nL2RlZmF1bHQvY2xzLWV4cHItcHJpdmF0ZS1nZW4tbWV0aC1zdGF0aWMudGVtcGxhdGUKKy8q
LS0tCitkZXNjcmlwdGlvbjogTG9uZSByZXN0IGVsZW1lbnQgKGRpcmVjdCBiaW5kaW5nKSAocHJp
dmF0ZSBzdGF0aWMgY2xhc3MgZXhwcmVzc2lvbiBnZW5lcmF0b3IgbWV0aG9kKQorZXNpZDogc2Vj
LWNsYXNzLWRlZmluaXRpb25zLXJ1bnRpbWUtc2VtYW50aWNzLWV2YWx1YXRpb24KK2ZlYXR1cmVz
OiBbY2xhc3MsIGNsYXNzLXN0YXRpYy1tZXRob2RzLXByaXZhdGUsIGdlbmVyYXRvcnMsIGRlc3Ry
dWN0dXJpbmctYmluZGluZ10KK2ZsYWdzOiBbZ2VuZXJhdGVkXQoraW5jbHVkZXM6IFtjb21wYXJl
QXJyYXkuanNdCitpbmZvOiB8CisgICAgQ2xhc3NFeHByZXNzaW9uIDogY2xhc3MgQmluZGluZ0lk
ZW50aWZpZXJvcHQgQ2xhc3NUYWlsCisKKyAgICAxLiBJZiBCaW5kaW5nSWRlbnRpZmllcm9wdCBp
cyBub3QgcHJlc2VudCwgbGV0IGNsYXNzTmFtZSBiZSB1bmRlZmluZWQuCisgICAgMi4gRWxzZSwg
bGV0IGNsYXNzTmFtZSBiZSBTdHJpbmdWYWx1ZSBvZiBCaW5kaW5nSWRlbnRpZmllci4KKyAgICAz
LiBMZXQgdmFsdWUgYmUgdGhlIHJlc3VsdCBvZiBDbGFzc0RlZmluaXRpb25FdmFsdWF0aW9uIG9m
IENsYXNzVGFpbAorICAgICAgIHdpdGggYXJndW1lbnQgY2xhc3NOYW1lLgorICAgIFsuLi5dCisK
KyAgICAxNC41LjE0IFJ1bnRpbWUgU2VtYW50aWNzOiBDbGFzc0RlZmluaXRpb25FdmFsdWF0aW9u
CisKKyAgICAyMS4gRm9yIGVhY2ggQ2xhc3NFbGVtZW50IG0gaW4gb3JkZXIgZnJvbSBtZXRob2Rz
CisgICAgICAgIGEuIElmIElzU3RhdGljIG9mIG0gaXMgZmFsc2UsIHRoZW4KKyAgICAgICAgYi4g
RWxzZSwKKyAgICAgICAgICAgTGV0IHN0YXR1cyBiZSB0aGUgcmVzdWx0IG9mIHBlcmZvcm1pbmcg
UHJvcGVydHlEZWZpbml0aW9uRXZhbHVhdGlvbgorICAgICAgICAgICBmb3IgbSB3aXRoIGFyZ3Vt
ZW50cyBGIGFuZCBmYWxzZS4KKyAgICBbLi4uXQorCisgICAgMTQuNC4xMyBSdW50aW1lIFNlbWFu
dGljczogUHJvcGVydHlEZWZpbml0aW9uRXZhbHVhdGlvbgorCisgICAgR2VuZXJhdG9yTWV0aG9k
IDoKKyAgICAgICAgKiBQcm9wZXJ0eU5hbWUgKCBTdHJpY3RGb3JtYWxQYXJhbWV0ZXJzICkgeyBH
ZW5lcmF0b3JCb2R5IH0KKworICAgIDEuIExldCBwcm9wS2V5IGJlIHRoZSByZXN1bHQgb2YgZXZh
bHVhdGluZyBQcm9wZXJ0eU5hbWUuCisgICAgMi4gUmV0dXJuSWZBYnJ1cHQocHJvcEtleSkuCisg
ICAgMy4gSWYgdGhlIGZ1bmN0aW9uIGNvZGUgZm9yIHRoaXMgR2VuZXJhdG9yTWV0aG9kIGlzIHN0
cmljdCBtb2RlIGNvZGUsCisgICAgICAgbGV0IHN0cmljdCBiZSB0cnVlLiBPdGhlcndpc2UgbGV0
IHN0cmljdCBiZSBmYWxzZS4KKyAgICA0LiBMZXQgc2NvcGUgYmUgdGhlIHJ1bm5pbmcgZXhlY3V0
aW9uIGNvbnRleHQncyBMZXhpY2FsRW52aXJvbm1lbnQuCisgICAgNS4gTGV0IGNsb3N1cmUgYmUg
R2VuZXJhdG9yRnVuY3Rpb25DcmVhdGUoTWV0aG9kLAorICAgICAgIFN0cmljdEZvcm1hbFBhcmFt
ZXRlcnMsIEdlbmVyYXRvckJvZHksIHNjb3BlLCBzdHJpY3QpLgorCisgICAgOS4yLjEgW1tDYWxs
XV0gKCB0aGlzQXJndW1lbnQsIGFyZ3VtZW50c0xpc3QpCisKKyAgICBbLi4uXQorICAgIDcuIExl
dCByZXN1bHQgYmUgT3JkaW5hcnlDYWxsRXZhbHVhdGVCb2R5KEYsIGFyZ3VtZW50c0xpc3QpLgor
ICAgIFsuLi5dCisKKyAgICA5LjIuMS4zIE9yZGluYXJ5Q2FsbEV2YWx1YXRlQm9keSAoIEYsIGFy
Z3VtZW50c0xpc3QgKQorCisgICAgMS4gTGV0IHN0YXR1cyBiZSBGdW5jdGlvbkRlY2xhcmF0aW9u
SW5zdGFudGlhdGlvbihGLCBhcmd1bWVudHNMaXN0KS4KKyAgICBbLi4uXQorCisgICAgOS4yLjEy
IEZ1bmN0aW9uRGVjbGFyYXRpb25JbnN0YW50aWF0aW9uKGZ1bmMsIGFyZ3VtZW50c0xpc3QpCisK
KyAgICBbLi4uXQorICAgIDIzLiBMZXQgaXRlcmF0b3JSZWNvcmQgYmUgUmVjb3JkIHtbW2l0ZXJh
dG9yXV06CisgICAgICAgIENyZWF0ZUxpc3RJdGVyYXRvcihhcmd1bWVudHNMaXN0KSwgW1tkb25l
XV06IGZhbHNlfS4KKyAgICAyNC4gSWYgaGFzRHVwbGljYXRlcyBpcyB0cnVlLCB0aGVuCisgICAg
ICAgIFsuLi5dCisgICAgMjUuIEVsc2UsCisgICAgICAgIGIuIExldCBmb3JtYWxTdGF0dXMgYmUg
SXRlcmF0b3JCaW5kaW5nSW5pdGlhbGl6YXRpb24gZm9yIGZvcm1hbHMgd2l0aAorICAgICAgICAg
ICBpdGVyYXRvclJlY29yZCBhbmQgZW52IGFzIGFyZ3VtZW50cy4KKyAgICBbLi4uXQorCisgICAg
UnVudGltZSBTZW1hbnRpY3M6IEl0ZXJhdG9yQmluZGluZ0luaXRpYWxpemF0aW9uCisKKyAgICBC
aW5kaW5nUmVzdEVsZW1lbnQgOiAuLi4gQmluZGluZ0lkZW50aWZpZXIKKworICAgIFsuLi5dCisg
ICAgMi4gTGV0IEEgYmUgISBBcnJheUNyZWF0ZSgwKS4KKyAgICAzLiBMZXQgbiBiZSAwLgorICAg
IDQuIFJlcGVhdCwKKyAgICAgICAgWy4uLl0KKyAgICAgICAgZi4gUGVyZm9ybSAhIENyZWF0ZURh
dGFQcm9wZXJ0eU9yVGhyb3coQSwgISBUb1N0cmluZyhuKSwgbmV4dFZhbHVlKS4KKyAgICAgICAg
Zy4gU2V0IG4gdG8gbiArIDEuCisKKy0tLSovCisKK3ZhciBjYWxsQ291bnQgPSAwOwordmFyIEMg
PSBjbGFzcyB7CisgIHN0YXRpYyAqICNtZXRob2QoWy4uLnhdKSB7CisgICAgYXNzZXJ0KEFycmF5
LmlzQXJyYXkoeCkpOworICAgIGFzc2VydC5jb21wYXJlQXJyYXkoeCwgWzFdKTsKKyAgICBjYWxs
Q291bnQgPSBjYWxsQ291bnQgKyAxOworICB9CisKKyAgc3RhdGljIGdldCBtZXRob2QoKSB7Cisg
ICAgcmV0dXJuIHRoaXMuI21ldGhvZDsKKyAgfQorfTsKKworQy5tZXRob2QoWzFdKS5uZXh0KCk7
Cithc3NlcnQuc2FtZVZhbHVlKGNhbGxDb3VudCwgMSwgJ21ldGhvZCBpbnZva2VkIGV4YWN0bHkg
b25jZScpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVz
c2lvbnMvY2xhc3MvZHN0ci9wcml2YXRlLWdlbi1tZXRoLXN0YXRpYy1kZmx0LWFyeS1wdHJuLWVs
ZW0taWQtaXRlci12YWwtYXJyYXktcHJvdG90eXBlLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
bGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvZHN0ci9wcml2YXRlLWdlbi1tZXRoLXN0YXRpYy1k
Zmx0LWFyeS1wdHJuLWVsZW0taWQtaXRlci12YWwtYXJyYXktcHJvdG90eXBlLmpzCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjYwZGVhMmVlNjJmYjdmODJkNjU0NGQ4Yzk1Mjk0MDZkMDEzNjcyYzgKLS0tIC9kZXYvbnVs
bAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9k
c3RyL3ByaXZhdGUtZ2VuLW1ldGgtc3RhdGljLWRmbHQtYXJ5LXB0cm4tZWxlbS1pZC1pdGVyLXZh
bC1hcnJheS1wcm90b3R5cGUuanMKQEAgLTAsMCArMSwxMDkgQEAKKy8vIFRoaXMgZmlsZSB3YXMg
cHJvY2VkdXJhbGx5IGdlbmVyYXRlZCBmcm9tIHRoZSBmb2xsb3dpbmcgc291cmNlczoKKy8vIC0g
c3JjL2RzdHItYmluZGluZy9hcnktcHRybi1lbGVtLWlkLWl0ZXItdmFsLWFycmF5LXByb3RvdHlw
ZS5jYXNlCisvLyAtIHNyYy9kc3RyLWJpbmRpbmcvZGVmYXVsdC9jbHMtZXhwci1wcml2YXRlLWdl
bi1tZXRoLXN0YXRpYy1kZmx0LnRlbXBsYXRlCisvKi0tLQorZGVzY3JpcHRpb246IEFycmF5IGRl
c3RydWN0dXJpbmcgdXNlcyBvdmVycmlkZW4gQXJyYXkucHJvdG90eXBlW1N5bWJvbC5pdGVyYXRv
cl0gKHByaXZhdGUgc3RhdGljIGNsYXNzIGV4cHJlc3Npb24gZ2VuZXJhdG9yIG1ldGhvZCAoZGVm
YXVsdCBwYXJhbWV0ZXIpKQorZXNpZDogc2VjLWNsYXNzLWRlZmluaXRpb25zLXJ1bnRpbWUtc2Vt
YW50aWNzLWV2YWx1YXRpb24KK2ZlYXR1cmVzOiBbU3ltYm9sLml0ZXJhdG9yLCBnZW5lcmF0b3Jz
LCBjbGFzcywgY2xhc3Mtc3RhdGljLW1ldGhvZHMtcHJpdmF0ZSwgZGVzdHJ1Y3R1cmluZy1iaW5k
aW5nLCBkZWZhdWx0LXBhcmFtZXRlcnNdCitmbGFnczogW2dlbmVyYXRlZF0KK2luZm86IHwKKyAg
ICBDbGFzc0V4cHJlc3Npb24gOiBjbGFzcyBCaW5kaW5nSWRlbnRpZmllcm9wdCBDbGFzc1RhaWwK
KworICAgIDEuIElmIEJpbmRpbmdJZGVudGlmaWVyb3B0IGlzIG5vdCBwcmVzZW50LCBsZXQgY2xh
c3NOYW1lIGJlIHVuZGVmaW5lZC4KKyAgICAyLiBFbHNlLCBsZXQgY2xhc3NOYW1lIGJlIFN0cmlu
Z1ZhbHVlIG9mIEJpbmRpbmdJZGVudGlmaWVyLgorICAgIDMuIExldCB2YWx1ZSBiZSB0aGUgcmVz
dWx0IG9mIENsYXNzRGVmaW5pdGlvbkV2YWx1YXRpb24gb2YgQ2xhc3NUYWlsCisgICAgICAgd2l0
aCBhcmd1bWVudCBjbGFzc05hbWUuCisgICAgWy4uLl0KKworICAgIDE0LjUuMTQgUnVudGltZSBT
ZW1hbnRpY3M6IENsYXNzRGVmaW5pdGlvbkV2YWx1YXRpb24KKworICAgIDIxLiBGb3IgZWFjaCBD
bGFzc0VsZW1lbnQgbSBpbiBvcmRlciBmcm9tIG1ldGhvZHMKKyAgICAgICAgYS4gSWYgSXNTdGF0
aWMgb2YgbSBpcyBmYWxzZSwgdGhlbgorICAgICAgICBiLiBFbHNlLAorICAgICAgICAgICBMZXQg
c3RhdHVzIGJlIHRoZSByZXN1bHQgb2YgcGVyZm9ybWluZyBQcm9wZXJ0eURlZmluaXRpb25FdmFs
dWF0aW9uCisgICAgICAgICAgIGZvciBtIHdpdGggYXJndW1lbnRzIEYgYW5kIGZhbHNlLgorICAg
IFsuLi5dCisKKyAgICAxNC40LjEzIFJ1bnRpbWUgU2VtYW50aWNzOiBQcm9wZXJ0eURlZmluaXRp
b25FdmFsdWF0aW9uCisKKyAgICBHZW5lcmF0b3JNZXRob2QgOgorICAgICAgICAqIFByb3BlcnR5
TmFtZSAoIFN0cmljdEZvcm1hbFBhcmFtZXRlcnMgKSB7IEdlbmVyYXRvckJvZHkgfQorCisgICAg
MS4gTGV0IHByb3BLZXkgYmUgdGhlIHJlc3VsdCBvZiBldmFsdWF0aW5nIFByb3BlcnR5TmFtZS4K
KyAgICAyLiBSZXR1cm5JZkFicnVwdChwcm9wS2V5KS4KKyAgICAzLiBJZiB0aGUgZnVuY3Rpb24g
Y29kZSBmb3IgdGhpcyBHZW5lcmF0b3JNZXRob2QgaXMgc3RyaWN0IG1vZGUgY29kZSwKKyAgICAg
ICBsZXQgc3RyaWN0IGJlIHRydWUuIE90aGVyd2lzZSBsZXQgc3RyaWN0IGJlIGZhbHNlLgorICAg
IDQuIExldCBzY29wZSBiZSB0aGUgcnVubmluZyBleGVjdXRpb24gY29udGV4dCdzIExleGljYWxF
bnZpcm9ubWVudC4KKyAgICA1LiBMZXQgY2xvc3VyZSBiZSBHZW5lcmF0b3JGdW5jdGlvbkNyZWF0
ZShNZXRob2QsCisgICAgICAgU3RyaWN0Rm9ybWFsUGFyYW1ldGVycywgR2VuZXJhdG9yQm9keSwg
c2NvcGUsIHN0cmljdCkuCisKKyAgICA5LjIuMSBbW0NhbGxdXSAoIHRoaXNBcmd1bWVudCwgYXJn
dW1lbnRzTGlzdCkKKworICAgIFsuLi5dCisgICAgNy4gTGV0IHJlc3VsdCBiZSBPcmRpbmFyeUNh
bGxFdmFsdWF0ZUJvZHkoRiwgYXJndW1lbnRzTGlzdCkuCisgICAgWy4uLl0KKworICAgIDkuMi4x
LjMgT3JkaW5hcnlDYWxsRXZhbHVhdGVCb2R5ICggRiwgYXJndW1lbnRzTGlzdCApCisKKyAgICAx
LiBMZXQgc3RhdHVzIGJlIEZ1bmN0aW9uRGVjbGFyYXRpb25JbnN0YW50aWF0aW9uKEYsIGFyZ3Vt
ZW50c0xpc3QpLgorICAgIFsuLi5dCisKKyAgICA5LjIuMTIgRnVuY3Rpb25EZWNsYXJhdGlvbklu
c3RhbnRpYXRpb24oZnVuYywgYXJndW1lbnRzTGlzdCkKKworICAgIFsuLi5dCisgICAgMjMuIExl
dCBpdGVyYXRvclJlY29yZCBiZSBSZWNvcmQge1tbaXRlcmF0b3JdXToKKyAgICAgICAgQ3JlYXRl
TGlzdEl0ZXJhdG9yKGFyZ3VtZW50c0xpc3QpLCBbW2RvbmVdXTogZmFsc2V9LgorICAgIDI0LiBJ
ZiBoYXNEdXBsaWNhdGVzIGlzIHRydWUsIHRoZW4KKyAgICAgICAgWy4uLl0KKyAgICAyNS4gRWxz
ZSwKKyAgICAgICAgYi4gTGV0IGZvcm1hbFN0YXR1cyBiZSBJdGVyYXRvckJpbmRpbmdJbml0aWFs
aXphdGlvbiBmb3IgZm9ybWFscyB3aXRoCisgICAgICAgICAgIGl0ZXJhdG9yUmVjb3JkIGFuZCBl
bnYgYXMgYXJndW1lbnRzLgorICAgIFsuLi5dCisKKyAgICBSdW50aW1lIFNlbWFudGljczogSXRl
cmF0b3JCaW5kaW5nSW5pdGlhbGl6YXRpb24KKworICAgIFNpbmdsZU5hbWVCaW5kaW5nIDogQmlu
ZGluZ0lkZW50aWZpZXIgSW5pdGlhbGl6ZXJfb3B0CisKKyAgICAxLiBMZXQgYmluZGluZ0lkIGJl
IFN0cmluZ1ZhbHVlIG9mIEJpbmRpbmdJZGVudGlmaWVyLgorICAgIDIuIExldCBsaHMgYmUgPyBS
ZXNvbHZlQmluZGluZyhiaW5kaW5nSWQsIGVudmlyb25tZW50KS4KKyAgICAzLiBJZiBpdGVyYXRv
clJlY29yZC5bW0RvbmVdXSBpcyBmYWxzZSwgdGhlbgorICAgICAgICBhLiBMZXQgbmV4dCBiZSBJ
dGVyYXRvclN0ZXAoaXRlcmF0b3JSZWNvcmQpLgorICAgICAgICBiLiBJZiBuZXh0IGlzIGFuIGFi
cnVwdCBjb21wbGV0aW9uLCBzZXQgaXRlcmF0b3JSZWNvcmQuW1tEb25lXV0gdG8gdHJ1ZS4KKyAg
ICAgICAgYy4gUmV0dXJuSWZBYnJ1cHQobmV4dCkuCisgICAgICAgIGQuIElmIG5leHQgaXMgZmFs
c2UsIHNldCBpdGVyYXRvclJlY29yZC5bW0RvbmVdXSB0byB0cnVlLgorICAgICAgICBlLiBFbHNl
LAorICAgICAgICAgICAgaS4gTGV0IHYgYmUgSXRlcmF0b3JWYWx1ZShuZXh0KS4KKyAgICAgICAg
ICAgIGlpLiBJZiB2IGlzIGFuIGFicnVwdCBjb21wbGV0aW9uLCBzZXQgaXRlcmF0b3JSZWNvcmQu
W1tEb25lXV0gdG8gdHJ1ZS4KKyAgICAgICAgICAgIGlpaS4gUmV0dXJuSWZBYnJ1cHQodikuCisg
ICAgWy4uLl0KKyAgICA3LiBSZXR1cm4gSW5pdGlhbGl6ZVJlZmVyZW5jZWRCaW5kaW5nKGxocywg
dikuCisKKy0tLSovCitBcnJheS5wcm90b3R5cGVbU3ltYm9sLml0ZXJhdG9yXSA9IGZ1bmN0aW9u
KiAoKSB7CisgICAgaWYgKHRoaXMubGVuZ3RoID4gMCkgeworICAgICAgICB5aWVsZCB0aGlzWzBd
OworICAgIH0KKyAgICBpZiAodGhpcy5sZW5ndGggPiAxKSB7CisgICAgICAgIHlpZWxkIHRoaXNb
MV07CisgICAgfQorICAgIGlmICh0aGlzLmxlbmd0aCA+IDIpIHsKKyAgICAgICAgeWllbGQgNDI7
CisgICAgfQorfTsKKwordmFyIGNhbGxDb3VudCA9IDA7Cit2YXIgQyA9IGNsYXNzIHsKKyAgc3Rh
dGljICogI21ldGhvZChbeCwgeSwgel0gPSBbMSwgMiwgM10pIHsKKyAgICBhc3NlcnQuc2FtZVZh
bHVlKHgsIDEpOworICAgIGFzc2VydC5zYW1lVmFsdWUoeSwgMik7CisgICAgYXNzZXJ0LnNhbWVW
YWx1ZSh6LCA0Mik7CisgICAgY2FsbENvdW50ID0gY2FsbENvdW50ICsgMTsKKyAgfQorCisgIHN0
YXRpYyBnZXQgbWV0aG9kKCkgeworICAgIHJldHVybiB0aGlzLiNtZXRob2Q7CisgIH0KK307CisK
K0MubWV0aG9kKCkubmV4dCgpOworYXNzZXJ0LnNhbWVWYWx1ZShjYWxsQ291bnQsIDEsICdtZXRo
b2QgaW52b2tlZCBleGFjdGx5IG9uY2UnKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2RzdHIvcHJpdmF0ZS1nZW4tbWV0aC1zdGF0
aWMtZGZsdC1hcnktcHRybi1yZXN0LWlkLWRpcmVjdC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2RzdHIvcHJpdmF0ZS1nZW4tbWV0aC1zdGF0aWMt
ZGZsdC1hcnktcHRybi1yZXN0LWlkLWRpcmVjdC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45NDk5ODUyZjg4Y2Zm
OThlZTZkMzdhZjA3ZDI5NjA2YTdkMWJkOGY2Ci0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvZHN0ci9wcml2YXRlLWdlbi1t
ZXRoLXN0YXRpYy1kZmx0LWFyeS1wdHJuLXJlc3QtaWQtZGlyZWN0LmpzCkBAIC0wLDAgKzEsOTIg
QEAKKy8vIFRoaXMgZmlsZSB3YXMgcHJvY2VkdXJhbGx5IGdlbmVyYXRlZCBmcm9tIHRoZSBmb2xs
b3dpbmcgc291cmNlczoKKy8vIC0gc3JjL2RzdHItYmluZGluZy9hcnktcHRybi1yZXN0LWlkLWRp
cmVjdC5jYXNlCisvLyAtIHNyYy9kc3RyLWJpbmRpbmcvZGVmYXVsdC9jbHMtZXhwci1wcml2YXRl
LWdlbi1tZXRoLXN0YXRpYy1kZmx0LnRlbXBsYXRlCisvKi0tLQorZGVzY3JpcHRpb246IExvbmUg
cmVzdCBlbGVtZW50IChkaXJlY3QgYmluZGluZykgKHByaXZhdGUgc3RhdGljIGNsYXNzIGV4cHJl
c3Npb24gZ2VuZXJhdG9yIG1ldGhvZCAoZGVmYXVsdCBwYXJhbWV0ZXIpKQorZXNpZDogc2VjLWNs
YXNzLWRlZmluaXRpb25zLXJ1bnRpbWUtc2VtYW50aWNzLWV2YWx1YXRpb24KK2ZlYXR1cmVzOiBb
Y2xhc3MsIGNsYXNzLXN0YXRpYy1tZXRob2RzLXByaXZhdGUsIGdlbmVyYXRvcnMsIGRlc3RydWN0
dXJpbmctYmluZGluZywgZGVmYXVsdC1wYXJhbWV0ZXJzXQorZmxhZ3M6IFtnZW5lcmF0ZWRdCitp
bmNsdWRlczogW2NvbXBhcmVBcnJheS5qc10KK2luZm86IHwKKyAgICBDbGFzc0V4cHJlc3Npb24g
OiBjbGFzcyBCaW5kaW5nSWRlbnRpZmllcm9wdCBDbGFzc1RhaWwKKworICAgIDEuIElmIEJpbmRp
bmdJZGVudGlmaWVyb3B0IGlzIG5vdCBwcmVzZW50LCBsZXQgY2xhc3NOYW1lIGJlIHVuZGVmaW5l
ZC4KKyAgICAyLiBFbHNlLCBsZXQgY2xhc3NOYW1lIGJlIFN0cmluZ1ZhbHVlIG9mIEJpbmRpbmdJ
ZGVudGlmaWVyLgorICAgIDMuIExldCB2YWx1ZSBiZSB0aGUgcmVzdWx0IG9mIENsYXNzRGVmaW5p
dGlvbkV2YWx1YXRpb24gb2YgQ2xhc3NUYWlsCisgICAgICAgd2l0aCBhcmd1bWVudCBjbGFzc05h
bWUuCisgICAgWy4uLl0KKworICAgIDE0LjUuMTQgUnVudGltZSBTZW1hbnRpY3M6IENsYXNzRGVm
aW5pdGlvbkV2YWx1YXRpb24KKworICAgIDIxLiBGb3IgZWFjaCBDbGFzc0VsZW1lbnQgbSBpbiBv
cmRlciBmcm9tIG1ldGhvZHMKKyAgICAgICAgYS4gSWYgSXNTdGF0aWMgb2YgbSBpcyBmYWxzZSwg
dGhlbgorICAgICAgICBiLiBFbHNlLAorICAgICAgICAgICBMZXQgc3RhdHVzIGJlIHRoZSByZXN1
bHQgb2YgcGVyZm9ybWluZyBQcm9wZXJ0eURlZmluaXRpb25FdmFsdWF0aW9uCisgICAgICAgICAg
IGZvciBtIHdpdGggYXJndW1lbnRzIEYgYW5kIGZhbHNlLgorICAgIFsuLi5dCisKKyAgICAxNC40
LjEzIFJ1bnRpbWUgU2VtYW50aWNzOiBQcm9wZXJ0eURlZmluaXRpb25FdmFsdWF0aW9uCisKKyAg
ICBHZW5lcmF0b3JNZXRob2QgOgorICAgICAgICAqIFByb3BlcnR5TmFtZSAoIFN0cmljdEZvcm1h
bFBhcmFtZXRlcnMgKSB7IEdlbmVyYXRvckJvZHkgfQorCisgICAgMS4gTGV0IHByb3BLZXkgYmUg
dGhlIHJlc3VsdCBvZiBldmFsdWF0aW5nIFByb3BlcnR5TmFtZS4KKyAgICAyLiBSZXR1cm5JZkFi
cnVwdChwcm9wS2V5KS4KKyAgICAzLiBJZiB0aGUgZnVuY3Rpb24gY29kZSBmb3IgdGhpcyBHZW5l
cmF0b3JNZXRob2QgaXMgc3RyaWN0IG1vZGUgY29kZSwKKyAgICAgICBsZXQgc3RyaWN0IGJlIHRy
dWUuIE90aGVyd2lzZSBsZXQgc3RyaWN0IGJlIGZhbHNlLgorICAgIDQuIExldCBzY29wZSBiZSB0
aGUgcnVubmluZyBleGVjdXRpb24gY29udGV4dCdzIExleGljYWxFbnZpcm9ubWVudC4KKyAgICA1
LiBMZXQgY2xvc3VyZSBiZSBHZW5lcmF0b3JGdW5jdGlvbkNyZWF0ZShNZXRob2QsCisgICAgICAg
U3RyaWN0Rm9ybWFsUGFyYW1ldGVycywgR2VuZXJhdG9yQm9keSwgc2NvcGUsIHN0cmljdCkuCisK
KyAgICA5LjIuMSBbW0NhbGxdXSAoIHRoaXNBcmd1bWVudCwgYXJndW1lbnRzTGlzdCkKKworICAg
IFsuLi5dCisgICAgNy4gTGV0IHJlc3VsdCBiZSBPcmRpbmFyeUNhbGxFdmFsdWF0ZUJvZHkoRiwg
YXJndW1lbnRzTGlzdCkuCisgICAgWy4uLl0KKworICAgIDkuMi4xLjMgT3JkaW5hcnlDYWxsRXZh
bHVhdGVCb2R5ICggRiwgYXJndW1lbnRzTGlzdCApCisKKyAgICAxLiBMZXQgc3RhdHVzIGJlIEZ1
bmN0aW9uRGVjbGFyYXRpb25JbnN0YW50aWF0aW9uKEYsIGFyZ3VtZW50c0xpc3QpLgorICAgIFsu
Li5dCisKKyAgICA5LjIuMTIgRnVuY3Rpb25EZWNsYXJhdGlvbkluc3RhbnRpYXRpb24oZnVuYywg
YXJndW1lbnRzTGlzdCkKKworICAgIFsuLi5dCisgICAgMjMuIExldCBpdGVyYXRvclJlY29yZCBi
ZSBSZWNvcmQge1tbaXRlcmF0b3JdXToKKyAgICAgICAgQ3JlYXRlTGlzdEl0ZXJhdG9yKGFyZ3Vt
ZW50c0xpc3QpLCBbW2RvbmVdXTogZmFsc2V9LgorICAgIDI0LiBJZiBoYXNEdXBsaWNhdGVzIGlz
IHRydWUsIHRoZW4KKyAgICAgICAgWy4uLl0KKyAgICAyNS4gRWxzZSwKKyAgICAgICAgYi4gTGV0
IGZvcm1hbFN0YXR1cyBiZSBJdGVyYXRvckJpbmRpbmdJbml0aWFsaXphdGlvbiBmb3IgZm9ybWFs
cyB3aXRoCisgICAgICAgICAgIGl0ZXJhdG9yUmVjb3JkIGFuZCBlbnYgYXMgYXJndW1lbnRzLgor
ICAgIFsuLi5dCisKKyAgICBSdW50aW1lIFNlbWFudGljczogSXRlcmF0b3JCaW5kaW5nSW5pdGlh
bGl6YXRpb24KKworICAgIEJpbmRpbmdSZXN0RWxlbWVudCA6IC4uLiBCaW5kaW5nSWRlbnRpZmll
cgorCisgICAgWy4uLl0KKyAgICAyLiBMZXQgQSBiZSAhIEFycmF5Q3JlYXRlKDApLgorICAgIDMu
IExldCBuIGJlIDAuCisgICAgNC4gUmVwZWF0LAorICAgICAgICBbLi4uXQorICAgICAgICBmLiBQ
ZXJmb3JtICEgQ3JlYXRlRGF0YVByb3BlcnR5T3JUaHJvdyhBLCAhIFRvU3RyaW5nKG4pLCBuZXh0
VmFsdWUpLgorICAgICAgICBnLiBTZXQgbiB0byBuICsgMS4KKworLS0tKi8KKwordmFyIGNhbGxD
b3VudCA9IDA7Cit2YXIgQyA9IGNsYXNzIHsKKyAgc3RhdGljICogI21ldGhvZChbLi4ueF0gPSBb
MV0pIHsKKyAgICBhc3NlcnQoQXJyYXkuaXNBcnJheSh4KSk7CisgICAgYXNzZXJ0LmNvbXBhcmVB
cnJheSh4LCBbMV0pOworICAgIGNhbGxDb3VudCA9IGNhbGxDb3VudCArIDE7CisgIH0KKworICBz
dGF0aWMgZ2V0IG1ldGhvZCgpIHsKKyAgICByZXR1cm4gdGhpcy4jbWV0aG9kOworICB9Cit9Owor
CitDLm1ldGhvZCgpLm5leHQoKTsKK2Fzc2VydC5zYW1lVmFsdWUoY2FsbENvdW50LCAxLCAnbWV0
aG9kIGludm9rZWQgZXhhY3RseSBvbmNlJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9kc3RyL3ByaXZhdGUtbWV0aC1hcnktcHRy
bi1lbGVtLWlkLWl0ZXItdmFsLWFycmF5LXByb3RvdHlwZS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2RzdHIvcHJpdmF0ZS1tZXRoLWFyeS1wdHJu
LWVsZW0taWQtaXRlci12YWwtYXJyYXktcHJvdG90eXBlLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNiNDRkZGQ2
YjFjOGQyNzg2MjZlM2ZhYTc4NzE3NjhmMGVkNmZjZWEKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9kc3RyL3ByaXZhdGUt
bWV0aC1hcnktcHRybi1lbGVtLWlkLWl0ZXItdmFsLWFycmF5LXByb3RvdHlwZS5qcwpAQCAtMCww
ICsxLDEwNiBAQAorLy8gVGhpcyBmaWxlIHdhcyBwcm9jZWR1cmFsbHkgZ2VuZXJhdGVkIGZyb20g
dGhlIGZvbGxvd2luZyBzb3VyY2VzOgorLy8gLSBzcmMvZHN0ci1iaW5kaW5nL2FyeS1wdHJuLWVs
ZW0taWQtaXRlci12YWwtYXJyYXktcHJvdG90eXBlLmNhc2UKKy8vIC0gc3JjL2RzdHItYmluZGlu
Zy9kZWZhdWx0L2Nscy1leHByLXByaXZhdGUtbWV0aC50ZW1wbGF0ZQorLyotLS0KK2Rlc2NyaXB0
aW9uOiBBcnJheSBkZXN0cnVjdHVyaW5nIHVzZXMgb3ZlcnJpZGVuIEFycmF5LnByb3RvdHlwZVtT
eW1ib2wuaXRlcmF0b3JdIChwcml2YXRlIGNsYXNzIGV4cHJlc3Npb24gbWV0aG9kKQorZXNpZDog
c2VjLWNsYXNzLWRlZmluaXRpb25zLXJ1bnRpbWUtc2VtYW50aWNzLWV2YWx1YXRpb24KK2ZlYXR1
cmVzOiBbU3ltYm9sLml0ZXJhdG9yLCBnZW5lcmF0b3JzLCBjbGFzcywgY2xhc3MtbWV0aG9kcy1w
cml2YXRlLCBkZXN0cnVjdHVyaW5nLWJpbmRpbmddCitmbGFnczogW2dlbmVyYXRlZF0KK2luZm86
IHwKKyAgICBDbGFzc0V4cHJlc3Npb24gOiBjbGFzcyBCaW5kaW5nSWRlbnRpZmllcm9wdCBDbGFz
c1RhaWwKKworICAgIDEuIElmIEJpbmRpbmdJZGVudGlmaWVyb3B0IGlzIG5vdCBwcmVzZW50LCBs
ZXQgY2xhc3NOYW1lIGJlIHVuZGVmaW5lZC4KKyAgICAyLiBFbHNlLCBsZXQgY2xhc3NOYW1lIGJl
IFN0cmluZ1ZhbHVlIG9mIEJpbmRpbmdJZGVudGlmaWVyLgorICAgIDMuIExldCB2YWx1ZSBiZSB0
aGUgcmVzdWx0IG9mIENsYXNzRGVmaW5pdGlvbkV2YWx1YXRpb24gb2YgQ2xhc3NUYWlsCisgICAg
ICAgd2l0aCBhcmd1bWVudCBjbGFzc05hbWUuCisgICAgWy4uLl0KKworICAgIDE0LjUuMTQgUnVu
dGltZSBTZW1hbnRpY3M6IENsYXNzRGVmaW5pdGlvbkV2YWx1YXRpb24KKworICAgIDIxLiBGb3Ig
ZWFjaCBDbGFzc0VsZW1lbnQgbSBpbiBvcmRlciBmcm9tIG1ldGhvZHMKKyAgICAgICAgYS4gSWYg
SXNTdGF0aWMgb2YgbSBpcyBmYWxzZSwgdGhlbgorICAgICAgICAgICBpLiBMZXQgc3RhdHVzIGJl
IHRoZSByZXN1bHQgb2YgcGVyZm9ybWluZworICAgICAgICAgICAgICBQcm9wZXJ0eURlZmluaXRp
b25FdmFsdWF0aW9uIGZvciBtIHdpdGggYXJndW1lbnRzIHByb3RvIGFuZAorICAgICAgICAgICAg
ICBmYWxzZS4KKyAgICAgICAgWy4uLl0KKworICAgIDE0LjMuOCBSdW50aW1lIFNlbWFudGljczog
RGVmaW5lTWV0aG9kCisKKyAgICBNZXRob2REZWZpbml0aW9uIDogUHJvcGVydHlOYW1lICggU3Ry
aWN0Rm9ybWFsUGFyYW1ldGVycyApIHsgRnVuY3Rpb25Cb2R5IH0KKworICAgIFsuLi5dCisgICAg
Ni4gTGV0IGNsb3N1cmUgYmUgRnVuY3Rpb25DcmVhdGUoa2luZCwgU3RyaWN0Rm9ybWFsUGFyYW1l
dGVycywgRnVuY3Rpb25Cb2R5LAorICAgICAgIHNjb3BlLCBzdHJpY3QpLiBJZiBmdW5jdGlvblBy
b3RvdHlwZSB3YXMgcGFzc2VkIGFzIGEgcGFyYW1ldGVyIHRoZW4gcGFzcyBpdHMKKyAgICAgICB2
YWx1ZSBhcyB0aGUgZnVuY3Rpb25Qcm90b3R5cGUgb3B0aW9uYWwgYXJndW1lbnQgb2YgRnVuY3Rp
b25DcmVhdGUuCisgICAgWy4uLl0KKworICAgIDkuMi4xIFtbQ2FsbF1dICggdGhpc0FyZ3VtZW50
LCBhcmd1bWVudHNMaXN0KQorCisgICAgWy4uLl0KKyAgICA3LiBMZXQgcmVzdWx0IGJlIE9yZGlu
YXJ5Q2FsbEV2YWx1YXRlQm9keShGLCBhcmd1bWVudHNMaXN0KS4KKyAgICBbLi4uXQorCisgICAg
OS4yLjEuMyBPcmRpbmFyeUNhbGxFdmFsdWF0ZUJvZHkgKCBGLCBhcmd1bWVudHNMaXN0ICkKKwor
ICAgIDEuIExldCBzdGF0dXMgYmUgRnVuY3Rpb25EZWNsYXJhdGlvbkluc3RhbnRpYXRpb24oRiwg
YXJndW1lbnRzTGlzdCkuCisgICAgWy4uLl0KKworICAgIDkuMi4xMiBGdW5jdGlvbkRlY2xhcmF0
aW9uSW5zdGFudGlhdGlvbihmdW5jLCBhcmd1bWVudHNMaXN0KQorCisgICAgWy4uLl0KKyAgICAy
My4gTGV0IGl0ZXJhdG9yUmVjb3JkIGJlIFJlY29yZCB7W1tpdGVyYXRvcl1dOgorICAgICAgICBD
cmVhdGVMaXN0SXRlcmF0b3IoYXJndW1lbnRzTGlzdCksIFtbZG9uZV1dOiBmYWxzZX0uCisgICAg
MjQuIElmIGhhc0R1cGxpY2F0ZXMgaXMgdHJ1ZSwgdGhlbgorICAgICAgICBbLi4uXQorICAgIDI1
LiBFbHNlLAorICAgICAgICBiLiBMZXQgZm9ybWFsU3RhdHVzIGJlIEl0ZXJhdG9yQmluZGluZ0lu
aXRpYWxpemF0aW9uIGZvciBmb3JtYWxzIHdpdGgKKyAgICAgICAgICAgaXRlcmF0b3JSZWNvcmQg
YW5kIGVudiBhcyBhcmd1bWVudHMuCisgICAgWy4uLl0KKworICAgIFJ1bnRpbWUgU2VtYW50aWNz
OiBJdGVyYXRvckJpbmRpbmdJbml0aWFsaXphdGlvbgorCisgICAgU2luZ2xlTmFtZUJpbmRpbmcg
OiBCaW5kaW5nSWRlbnRpZmllciBJbml0aWFsaXplcl9vcHQKKworICAgIDEuIExldCBiaW5kaW5n
SWQgYmUgU3RyaW5nVmFsdWUgb2YgQmluZGluZ0lkZW50aWZpZXIuCisgICAgMi4gTGV0IGxocyBi
ZSA/IFJlc29sdmVCaW5kaW5nKGJpbmRpbmdJZCwgZW52aXJvbm1lbnQpLgorICAgIDMuIElmIGl0
ZXJhdG9yUmVjb3JkLltbRG9uZV1dIGlzIGZhbHNlLCB0aGVuCisgICAgICAgIGEuIExldCBuZXh0
IGJlIEl0ZXJhdG9yU3RlcChpdGVyYXRvclJlY29yZCkuCisgICAgICAgIGIuIElmIG5leHQgaXMg
YW4gYWJydXB0IGNvbXBsZXRpb24sIHNldCBpdGVyYXRvclJlY29yZC5bW0RvbmVdXSB0byB0cnVl
LgorICAgICAgICBjLiBSZXR1cm5JZkFicnVwdChuZXh0KS4KKyAgICAgICAgZC4gSWYgbmV4dCBp
cyBmYWxzZSwgc2V0IGl0ZXJhdG9yUmVjb3JkLltbRG9uZV1dIHRvIHRydWUuCisgICAgICAgIGUu
IEVsc2UsCisgICAgICAgICAgICBpLiBMZXQgdiBiZSBJdGVyYXRvclZhbHVlKG5leHQpLgorICAg
ICAgICAgICAgaWkuIElmIHYgaXMgYW4gYWJydXB0IGNvbXBsZXRpb24sIHNldCBpdGVyYXRvclJl
Y29yZC5bW0RvbmVdXSB0byB0cnVlLgorICAgICAgICAgICAgaWlpLiBSZXR1cm5JZkFicnVwdCh2
KS4KKyAgICBbLi4uXQorICAgIDcuIFJldHVybiBJbml0aWFsaXplUmVmZXJlbmNlZEJpbmRpbmco
bGhzLCB2KS4KKworLS0tKi8KK0FycmF5LnByb3RvdHlwZVtTeW1ib2wuaXRlcmF0b3JdID0gZnVu
Y3Rpb24qICgpIHsKKyAgICBpZiAodGhpcy5sZW5ndGggPiAwKSB7CisgICAgICAgIHlpZWxkIHRo
aXNbMF07CisgICAgfQorICAgIGlmICh0aGlzLmxlbmd0aCA+IDEpIHsKKyAgICAgICAgeWllbGQg
dGhpc1sxXTsKKyAgICB9CisgICAgaWYgKHRoaXMubGVuZ3RoID4gMikgeworICAgICAgICB5aWVs
ZCA0MjsKKyAgICB9Cit9OworCit2YXIgY2FsbENvdW50ID0gMDsKK3ZhciBDID0gY2xhc3Mgewor
ICAjbWV0aG9kKFt4LCB5LCB6XSkgeworICAgIGFzc2VydC5zYW1lVmFsdWUoeCwgMSk7CisgICAg
YXNzZXJ0LnNhbWVWYWx1ZSh5LCAyKTsKKyAgICBhc3NlcnQuc2FtZVZhbHVlKHosIDQyKTsKKyAg
ICBjYWxsQ291bnQgPSBjYWxsQ291bnQgKyAxOworICB9CisKKyAgZ2V0IG1ldGhvZCgpIHsKKyAg
ICByZXR1cm4gdGhpcy4jbWV0aG9kOworICB9Cit9OworCituZXcgQygpLm1ldGhvZChbMSwgMiwg
M10pOworYXNzZXJ0LnNhbWVWYWx1ZShjYWxsQ291bnQsIDEsICdtZXRob2QgaW52b2tlZCBleGFj
dGx5IG9uY2UnKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4
cHJlc3Npb25zL2NsYXNzL2RzdHIvcHJpdmF0ZS1tZXRoLWFyeS1wdHJuLXJlc3QtaWQtZGlyZWN0
LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvZHN0
ci9wcml2YXRlLW1ldGgtYXJ5LXB0cm4tcmVzdC1pZC1kaXJlY3QuanMKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjc0
MmNlODMxNjM2NWYwMzNiZmJkMDZkODk1YmQwNGM0NDMxY2E5ZAotLS0gL2Rldi9udWxsCisrKyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2RzdHIvcHJp
dmF0ZS1tZXRoLWFyeS1wdHJuLXJlc3QtaWQtZGlyZWN0LmpzCkBAIC0wLDAgKzEsODkgQEAKKy8v
IFRoaXMgZmlsZSB3YXMgcHJvY2VkdXJhbGx5IGdlbmVyYXRlZCBmcm9tIHRoZSBmb2xsb3dpbmcg
c291cmNlczoKKy8vIC0gc3JjL2RzdHItYmluZGluZy9hcnktcHRybi1yZXN0LWlkLWRpcmVjdC5j
YXNlCisvLyAtIHNyYy9kc3RyLWJpbmRpbmcvZGVmYXVsdC9jbHMtZXhwci1wcml2YXRlLW1ldGgu
dGVtcGxhdGUKKy8qLS0tCitkZXNjcmlwdGlvbjogTG9uZSByZXN0IGVsZW1lbnQgKGRpcmVjdCBi
aW5kaW5nKSAocHJpdmF0ZSBjbGFzcyBleHByZXNzaW9uIG1ldGhvZCkKK2VzaWQ6IHNlYy1jbGFz
cy1kZWZpbml0aW9ucy1ydW50aW1lLXNlbWFudGljcy1ldmFsdWF0aW9uCitmZWF0dXJlczogW2Ns
YXNzLCBjbGFzcy1tZXRob2RzLXByaXZhdGUsIGRlc3RydWN0dXJpbmctYmluZGluZ10KK2ZsYWdz
OiBbZ2VuZXJhdGVkXQoraW5jbHVkZXM6IFtjb21wYXJlQXJyYXkuanNdCitpbmZvOiB8CisgICAg
Q2xhc3NFeHByZXNzaW9uIDogY2xhc3MgQmluZGluZ0lkZW50aWZpZXJvcHQgQ2xhc3NUYWlsCisK
KyAgICAxLiBJZiBCaW5kaW5nSWRlbnRpZmllcm9wdCBpcyBub3QgcHJlc2VudCwgbGV0IGNsYXNz
TmFtZSBiZSB1bmRlZmluZWQuCisgICAgMi4gRWxzZSwgbGV0IGNsYXNzTmFtZSBiZSBTdHJpbmdW
YWx1ZSBvZiBCaW5kaW5nSWRlbnRpZmllci4KKyAgICAzLiBMZXQgdmFsdWUgYmUgdGhlIHJlc3Vs
dCBvZiBDbGFzc0RlZmluaXRpb25FdmFsdWF0aW9uIG9mIENsYXNzVGFpbAorICAgICAgIHdpdGgg
YXJndW1lbnQgY2xhc3NOYW1lLgorICAgIFsuLi5dCisKKyAgICAxNC41LjE0IFJ1bnRpbWUgU2Vt
YW50aWNzOiBDbGFzc0RlZmluaXRpb25FdmFsdWF0aW9uCisKKyAgICAyMS4gRm9yIGVhY2ggQ2xh
c3NFbGVtZW50IG0gaW4gb3JkZXIgZnJvbSBtZXRob2RzCisgICAgICAgIGEuIElmIElzU3RhdGlj
IG9mIG0gaXMgZmFsc2UsIHRoZW4KKyAgICAgICAgICAgaS4gTGV0IHN0YXR1cyBiZSB0aGUgcmVz
dWx0IG9mIHBlcmZvcm1pbmcKKyAgICAgICAgICAgICAgUHJvcGVydHlEZWZpbml0aW9uRXZhbHVh
dGlvbiBmb3IgbSB3aXRoIGFyZ3VtZW50cyBwcm90byBhbmQKKyAgICAgICAgICAgICAgZmFsc2Uu
CisgICAgICAgIFsuLi5dCisKKyAgICAxNC4zLjggUnVudGltZSBTZW1hbnRpY3M6IERlZmluZU1l
dGhvZAorCisgICAgTWV0aG9kRGVmaW5pdGlvbiA6IFByb3BlcnR5TmFtZSAoIFN0cmljdEZvcm1h
bFBhcmFtZXRlcnMgKSB7IEZ1bmN0aW9uQm9keSB9CisKKyAgICBbLi4uXQorICAgIDYuIExldCBj
bG9zdXJlIGJlIEZ1bmN0aW9uQ3JlYXRlKGtpbmQsIFN0cmljdEZvcm1hbFBhcmFtZXRlcnMsIEZ1
bmN0aW9uQm9keSwKKyAgICAgICBzY29wZSwgc3RyaWN0KS4gSWYgZnVuY3Rpb25Qcm90b3R5cGUg
d2FzIHBhc3NlZCBhcyBhIHBhcmFtZXRlciB0aGVuIHBhc3MgaXRzCisgICAgICAgdmFsdWUgYXMg
dGhlIGZ1bmN0aW9uUHJvdG90eXBlIG9wdGlvbmFsIGFyZ3VtZW50IG9mIEZ1bmN0aW9uQ3JlYXRl
LgorICAgIFsuLi5dCisKKyAgICA5LjIuMSBbW0NhbGxdXSAoIHRoaXNBcmd1bWVudCwgYXJndW1l
bnRzTGlzdCkKKworICAgIFsuLi5dCisgICAgNy4gTGV0IHJlc3VsdCBiZSBPcmRpbmFyeUNhbGxF
dmFsdWF0ZUJvZHkoRiwgYXJndW1lbnRzTGlzdCkuCisgICAgWy4uLl0KKworICAgIDkuMi4xLjMg
T3JkaW5hcnlDYWxsRXZhbHVhdGVCb2R5ICggRiwgYXJndW1lbnRzTGlzdCApCisKKyAgICAxLiBM
ZXQgc3RhdHVzIGJlIEZ1bmN0aW9uRGVjbGFyYXRpb25JbnN0YW50aWF0aW9uKEYsIGFyZ3VtZW50
c0xpc3QpLgorICAgIFsuLi5dCisKKyAgICA5LjIuMTIgRnVuY3Rpb25EZWNsYXJhdGlvbkluc3Rh
bnRpYXRpb24oZnVuYywgYXJndW1lbnRzTGlzdCkKKworICAgIFsuLi5dCisgICAgMjMuIExldCBp
dGVyYXRvclJlY29yZCBiZSBSZWNvcmQge1tbaXRlcmF0b3JdXToKKyAgICAgICAgQ3JlYXRlTGlz
dEl0ZXJhdG9yKGFyZ3VtZW50c0xpc3QpLCBbW2RvbmVdXTogZmFsc2V9LgorICAgIDI0LiBJZiBo
YXNEdXBsaWNhdGVzIGlzIHRydWUsIHRoZW4KKyAgICAgICAgWy4uLl0KKyAgICAyNS4gRWxzZSwK
KyAgICAgICAgYi4gTGV0IGZvcm1hbFN0YXR1cyBiZSBJdGVyYXRvckJpbmRpbmdJbml0aWFsaXph
dGlvbiBmb3IgZm9ybWFscyB3aXRoCisgICAgICAgICAgIGl0ZXJhdG9yUmVjb3JkIGFuZCBlbnYg
YXMgYXJndW1lbnRzLgorICAgIFsuLi5dCisKKyAgICBSdW50aW1lIFNlbWFudGljczogSXRlcmF0
b3JCaW5kaW5nSW5pdGlhbGl6YXRpb24KKworICAgIEJpbmRpbmdSZXN0RWxlbWVudCA6IC4uLiBC
aW5kaW5nSWRlbnRpZmllcgorCisgICAgWy4uLl0KKyAgICAyLiBMZXQgQSBiZSAhIEFycmF5Q3Jl
YXRlKDApLgorICAgIDMuIExldCBuIGJlIDAuCisgICAgNC4gUmVwZWF0LAorICAgICAgICBbLi4u
XQorICAgICAgICBmLiBQZXJmb3JtICEgQ3JlYXRlRGF0YVByb3BlcnR5T3JUaHJvdyhBLCAhIFRv
U3RyaW5nKG4pLCBuZXh0VmFsdWUpLgorICAgICAgICBnLiBTZXQgbiB0byBuICsgMS4KKworLS0t
Ki8KKwordmFyIGNhbGxDb3VudCA9IDA7Cit2YXIgQyA9IGNsYXNzIHsKKyAgI21ldGhvZChbLi4u
eF0pIHsKKyAgICBhc3NlcnQoQXJyYXkuaXNBcnJheSh4KSk7CisgICAgYXNzZXJ0LmNvbXBhcmVB
cnJheSh4LCBbMV0pOworICAgIGNhbGxDb3VudCA9IGNhbGxDb3VudCArIDE7CisgIH0KKworICBn
ZXQgbWV0aG9kKCkgeworICAgIHJldHVybiB0aGlzLiNtZXRob2Q7CisgIH0KK307CisKK25ldyBD
KCkubWV0aG9kKFsxXSk7Cithc3NlcnQuc2FtZVZhbHVlKGNhbGxDb3VudCwgMSwgJ21ldGhvZCBp
bnZva2VkIGV4YWN0bHkgb25jZScpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
bGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvZHN0ci9wcml2YXRlLW1ldGgtZGZsdC1hcnktcHRy
bi1lbGVtLWlkLWl0ZXItdmFsLWFycmF5LXByb3RvdHlwZS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2RzdHIvcHJpdmF0ZS1tZXRoLWRmbHQtYXJ5
LXB0cm4tZWxlbS1pZC1pdGVyLXZhbC1hcnJheS1wcm90b3R5cGUuanMKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODM0
MjRhN2ZiOGVmYzE4MzFlZWM2ZmMwODY2MTk4NTkzYzA0Y2MwMAotLS0gL2Rldi9udWxsCisrKyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2RzdHIvcHJp
dmF0ZS1tZXRoLWRmbHQtYXJ5LXB0cm4tZWxlbS1pZC1pdGVyLXZhbC1hcnJheS1wcm90b3R5cGUu
anMKQEAgLTAsMCArMSwxMDYgQEAKKy8vIFRoaXMgZmlsZSB3YXMgcHJvY2VkdXJhbGx5IGdlbmVy
YXRlZCBmcm9tIHRoZSBmb2xsb3dpbmcgc291cmNlczoKKy8vIC0gc3JjL2RzdHItYmluZGluZy9h
cnktcHRybi1lbGVtLWlkLWl0ZXItdmFsLWFycmF5LXByb3RvdHlwZS5jYXNlCisvLyAtIHNyYy9k
c3RyLWJpbmRpbmcvZGVmYXVsdC9jbHMtZXhwci1wcml2YXRlLW1ldGgtZGZsdC50ZW1wbGF0ZQor
LyotLS0KK2Rlc2NyaXB0aW9uOiBBcnJheSBkZXN0cnVjdHVyaW5nIHVzZXMgb3ZlcnJpZGVuIEFy
cmF5LnByb3RvdHlwZVtTeW1ib2wuaXRlcmF0b3JdIChwcml2YXRlIGNsYXNzIGV4cHJlc3Npb24g
bWV0aG9kIChkZWZhdWx0IHBhcmFtZXRlcikpCitlc2lkOiBzZWMtY2xhc3MtZGVmaW5pdGlvbnMt
cnVudGltZS1zZW1hbnRpY3MtZXZhbHVhdGlvbgorZmVhdHVyZXM6IFtTeW1ib2wuaXRlcmF0b3Is
IGdlbmVyYXRvcnMsIGNsYXNzLCBjbGFzcy1tZXRob2RzLXByaXZhdGUsIGRlc3RydWN0dXJpbmct
YmluZGluZywgZGVmYXVsdC1wYXJhbWV0ZXJzXQorZmxhZ3M6IFtnZW5lcmF0ZWRdCitpbmZvOiB8
CisgICAgQ2xhc3NFeHByZXNzaW9uIDogY2xhc3MgQmluZGluZ0lkZW50aWZpZXJvcHQgQ2xhc3NU
YWlsCisKKyAgICAxLiBJZiBCaW5kaW5nSWRlbnRpZmllcm9wdCBpcyBub3QgcHJlc2VudCwgbGV0
IGNsYXNzTmFtZSBiZSB1bmRlZmluZWQuCisgICAgMi4gRWxzZSwgbGV0IGNsYXNzTmFtZSBiZSBT
dHJpbmdWYWx1ZSBvZiBCaW5kaW5nSWRlbnRpZmllci4KKyAgICAzLiBMZXQgdmFsdWUgYmUgdGhl
IHJlc3VsdCBvZiBDbGFzc0RlZmluaXRpb25FdmFsdWF0aW9uIG9mIENsYXNzVGFpbAorICAgICAg
IHdpdGggYXJndW1lbnQgY2xhc3NOYW1lLgorICAgIFsuLi5dCisKKyAgICAxNC41LjE0IFJ1bnRp
bWUgU2VtYW50aWNzOiBDbGFzc0RlZmluaXRpb25FdmFsdWF0aW9uCisKKyAgICAyMS4gRm9yIGVh
Y2ggQ2xhc3NFbGVtZW50IG0gaW4gb3JkZXIgZnJvbSBtZXRob2RzCisgICAgICAgIGEuIElmIElz
U3RhdGljIG9mIG0gaXMgZmFsc2UsIHRoZW4KKyAgICAgICAgICAgaS4gTGV0IHN0YXR1cyBiZSB0
aGUgcmVzdWx0IG9mIHBlcmZvcm1pbmcKKyAgICAgICAgICAgICAgUHJvcGVydHlEZWZpbml0aW9u
RXZhbHVhdGlvbiBmb3IgbSB3aXRoIGFyZ3VtZW50cyBwcm90byBhbmQKKyAgICAgICAgICAgICAg
ZmFsc2UuCisgICAgICAgIFsuLi5dCisKKyAgICAxNC4zLjggUnVudGltZSBTZW1hbnRpY3M6IERl
ZmluZU1ldGhvZAorCisgICAgTWV0aG9kRGVmaW5pdGlvbiA6IFByb3BlcnR5TmFtZSAoIFN0cmlj
dEZvcm1hbFBhcmFtZXRlcnMgKSB7IEZ1bmN0aW9uQm9keSB9CisKKyAgICBbLi4uXQorICAgIDYu
IExldCBjbG9zdXJlIGJlIEZ1bmN0aW9uQ3JlYXRlKGtpbmQsIFN0cmljdEZvcm1hbFBhcmFtZXRl
cnMsIEZ1bmN0aW9uQm9keSwKKyAgICAgICBzY29wZSwgc3RyaWN0KS4gSWYgZnVuY3Rpb25Qcm90
b3R5cGUgd2FzIHBhc3NlZCBhcyBhIHBhcmFtZXRlciB0aGVuIHBhc3MgaXRzCisgICAgICAgdmFs
dWUgYXMgdGhlIGZ1bmN0aW9uUHJvdG90eXBlIG9wdGlvbmFsIGFyZ3VtZW50IG9mIEZ1bmN0aW9u
Q3JlYXRlLgorICAgIFsuLi5dCisKKyAgICA5LjIuMSBbW0NhbGxdXSAoIHRoaXNBcmd1bWVudCwg
YXJndW1lbnRzTGlzdCkKKworICAgIFsuLi5dCisgICAgNy4gTGV0IHJlc3VsdCBiZSBPcmRpbmFy
eUNhbGxFdmFsdWF0ZUJvZHkoRiwgYXJndW1lbnRzTGlzdCkuCisgICAgWy4uLl0KKworICAgIDku
Mi4xLjMgT3JkaW5hcnlDYWxsRXZhbHVhdGVCb2R5ICggRiwgYXJndW1lbnRzTGlzdCApCisKKyAg
ICAxLiBMZXQgc3RhdHVzIGJlIEZ1bmN0aW9uRGVjbGFyYXRpb25JbnN0YW50aWF0aW9uKEYsIGFy
Z3VtZW50c0xpc3QpLgorICAgIFsuLi5dCisKKyAgICA5LjIuMTIgRnVuY3Rpb25EZWNsYXJhdGlv
bkluc3RhbnRpYXRpb24oZnVuYywgYXJndW1lbnRzTGlzdCkKKworICAgIFsuLi5dCisgICAgMjMu
IExldCBpdGVyYXRvclJlY29yZCBiZSBSZWNvcmQge1tbaXRlcmF0b3JdXToKKyAgICAgICAgQ3Jl
YXRlTGlzdEl0ZXJhdG9yKGFyZ3VtZW50c0xpc3QpLCBbW2RvbmVdXTogZmFsc2V9LgorICAgIDI0
LiBJZiBoYXNEdXBsaWNhdGVzIGlzIHRydWUsIHRoZW4KKyAgICAgICAgWy4uLl0KKyAgICAyNS4g
RWxzZSwKKyAgICAgICAgYi4gTGV0IGZvcm1hbFN0YXR1cyBiZSBJdGVyYXRvckJpbmRpbmdJbml0
aWFsaXphdGlvbiBmb3IgZm9ybWFscyB3aXRoCisgICAgICAgICAgIGl0ZXJhdG9yUmVjb3JkIGFu
ZCBlbnYgYXMgYXJndW1lbnRzLgorICAgIFsuLi5dCisKKyAgICBSdW50aW1lIFNlbWFudGljczog
SXRlcmF0b3JCaW5kaW5nSW5pdGlhbGl6YXRpb24KKworICAgIFNpbmdsZU5hbWVCaW5kaW5nIDog
QmluZGluZ0lkZW50aWZpZXIgSW5pdGlhbGl6ZXJfb3B0CisKKyAgICAxLiBMZXQgYmluZGluZ0lk
IGJlIFN0cmluZ1ZhbHVlIG9mIEJpbmRpbmdJZGVudGlmaWVyLgorICAgIDIuIExldCBsaHMgYmUg
PyBSZXNvbHZlQmluZGluZyhiaW5kaW5nSWQsIGVudmlyb25tZW50KS4KKyAgICAzLiBJZiBpdGVy
YXRvclJlY29yZC5bW0RvbmVdXSBpcyBmYWxzZSwgdGhlbgorICAgICAgICBhLiBMZXQgbmV4dCBi
ZSBJdGVyYXRvclN0ZXAoaXRlcmF0b3JSZWNvcmQpLgorICAgICAgICBiLiBJZiBuZXh0IGlzIGFu
IGFicnVwdCBjb21wbGV0aW9uLCBzZXQgaXRlcmF0b3JSZWNvcmQuW1tEb25lXV0gdG8gdHJ1ZS4K
KyAgICAgICAgYy4gUmV0dXJuSWZBYnJ1cHQobmV4dCkuCisgICAgICAgIGQuIElmIG5leHQgaXMg
ZmFsc2UsIHNldCBpdGVyYXRvclJlY29yZC5bW0RvbmVdXSB0byB0cnVlLgorICAgICAgICBlLiBF
bHNlLAorICAgICAgICAgICAgaS4gTGV0IHYgYmUgSXRlcmF0b3JWYWx1ZShuZXh0KS4KKyAgICAg
ICAgICAgIGlpLiBJZiB2IGlzIGFuIGFicnVwdCBjb21wbGV0aW9uLCBzZXQgaXRlcmF0b3JSZWNv
cmQuW1tEb25lXV0gdG8gdHJ1ZS4KKyAgICAgICAgICAgIGlpaS4gUmV0dXJuSWZBYnJ1cHQodiku
CisgICAgWy4uLl0KKyAgICA3LiBSZXR1cm4gSW5pdGlhbGl6ZVJlZmVyZW5jZWRCaW5kaW5nKGxo
cywgdikuCisKKy0tLSovCitBcnJheS5wcm90b3R5cGVbU3ltYm9sLml0ZXJhdG9yXSA9IGZ1bmN0
aW9uKiAoKSB7CisgICAgaWYgKHRoaXMubGVuZ3RoID4gMCkgeworICAgICAgICB5aWVsZCB0aGlz
WzBdOworICAgIH0KKyAgICBpZiAodGhpcy5sZW5ndGggPiAxKSB7CisgICAgICAgIHlpZWxkIHRo
aXNbMV07CisgICAgfQorICAgIGlmICh0aGlzLmxlbmd0aCA+IDIpIHsKKyAgICAgICAgeWllbGQg
NDI7CisgICAgfQorfTsKKwordmFyIGNhbGxDb3VudCA9IDA7Cit2YXIgQyA9IGNsYXNzIHsKKyAg
I21ldGhvZChbeCwgeSwgel0gPSBbMSwgMiwgM10pIHsKKyAgICBhc3NlcnQuc2FtZVZhbHVlKHgs
IDEpOworICAgIGFzc2VydC5zYW1lVmFsdWUoeSwgMik7CisgICAgYXNzZXJ0LnNhbWVWYWx1ZSh6
LCA0Mik7CisgICAgY2FsbENvdW50ID0gY2FsbENvdW50ICsgMTsKKyAgfQorCisgIGdldCBtZXRo
b2QoKSB7CisgICAgcmV0dXJuIHRoaXMuI21ldGhvZDsKKyAgfQorfTsKKworbmV3IEMoKS5tZXRo
b2QoKTsKK2Fzc2VydC5zYW1lVmFsdWUoY2FsbENvdW50LCAxLCAnbWV0aG9kIGludm9rZWQgZXhh
Y3RseSBvbmNlJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9l
eHByZXNzaW9ucy9jbGFzcy9kc3RyL3ByaXZhdGUtbWV0aC1kZmx0LWFyeS1wdHJuLXJlc3QtaWQt
ZGlyZWN0LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xh
c3MvZHN0ci9wcml2YXRlLW1ldGgtZGZsdC1hcnktcHRybi1yZXN0LWlkLWRpcmVjdC5qcwpuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4zNzI0NDc1OTcwZmE5MThjOWUwNDE3OWY0MGRhNTZjZmNmMzZjYTUwCi0tLSAvZGV2
L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xh
c3MvZHN0ci9wcml2YXRlLW1ldGgtZGZsdC1hcnktcHRybi1yZXN0LWlkLWRpcmVjdC5qcwpAQCAt
MCwwICsxLDg5IEBACisvLyBUaGlzIGZpbGUgd2FzIHByb2NlZHVyYWxseSBnZW5lcmF0ZWQgZnJv
bSB0aGUgZm9sbG93aW5nIHNvdXJjZXM6CisvLyAtIHNyYy9kc3RyLWJpbmRpbmcvYXJ5LXB0cm4t
cmVzdC1pZC1kaXJlY3QuY2FzZQorLy8gLSBzcmMvZHN0ci1iaW5kaW5nL2RlZmF1bHQvY2xzLWV4
cHItcHJpdmF0ZS1tZXRoLWRmbHQudGVtcGxhdGUKKy8qLS0tCitkZXNjcmlwdGlvbjogTG9uZSBy
ZXN0IGVsZW1lbnQgKGRpcmVjdCBiaW5kaW5nKSAocHJpdmF0ZSBjbGFzcyBleHByZXNzaW9uIG1l
dGhvZCAoZGVmYXVsdCBwYXJhbWV0ZXIpKQorZXNpZDogc2VjLWNsYXNzLWRlZmluaXRpb25zLXJ1
bnRpbWUtc2VtYW50aWNzLWV2YWx1YXRpb24KK2ZlYXR1cmVzOiBbY2xhc3MsIGNsYXNzLW1ldGhv
ZHMtcHJpdmF0ZSwgZGVzdHJ1Y3R1cmluZy1iaW5kaW5nLCBkZWZhdWx0LXBhcmFtZXRlcnNdCitm
bGFnczogW2dlbmVyYXRlZF0KK2luY2x1ZGVzOiBbY29tcGFyZUFycmF5LmpzXQoraW5mbzogfAor
ICAgIENsYXNzRXhwcmVzc2lvbiA6IGNsYXNzIEJpbmRpbmdJZGVudGlmaWVyb3B0IENsYXNzVGFp
bAorCisgICAgMS4gSWYgQmluZGluZ0lkZW50aWZpZXJvcHQgaXMgbm90IHByZXNlbnQsIGxldCBj
bGFzc05hbWUgYmUgdW5kZWZpbmVkLgorICAgIDIuIEVsc2UsIGxldCBjbGFzc05hbWUgYmUgU3Ry
aW5nVmFsdWUgb2YgQmluZGluZ0lkZW50aWZpZXIuCisgICAgMy4gTGV0IHZhbHVlIGJlIHRoZSBy
ZXN1bHQgb2YgQ2xhc3NEZWZpbml0aW9uRXZhbHVhdGlvbiBvZiBDbGFzc1RhaWwKKyAgICAgICB3
aXRoIGFyZ3VtZW50IGNsYXNzTmFtZS4KKyAgICBbLi4uXQorCisgICAgMTQuNS4xNCBSdW50aW1l
IFNlbWFudGljczogQ2xhc3NEZWZpbml0aW9uRXZhbHVhdGlvbgorCisgICAgMjEuIEZvciBlYWNo
IENsYXNzRWxlbWVudCBtIGluIG9yZGVyIGZyb20gbWV0aG9kcworICAgICAgICBhLiBJZiBJc1N0
YXRpYyBvZiBtIGlzIGZhbHNlLCB0aGVuCisgICAgICAgICAgIGkuIExldCBzdGF0dXMgYmUgdGhl
IHJlc3VsdCBvZiBwZXJmb3JtaW5nCisgICAgICAgICAgICAgIFByb3BlcnR5RGVmaW5pdGlvbkV2
YWx1YXRpb24gZm9yIG0gd2l0aCBhcmd1bWVudHMgcHJvdG8gYW5kCisgICAgICAgICAgICAgIGZh
bHNlLgorICAgICAgICBbLi4uXQorCisgICAgMTQuMy44IFJ1bnRpbWUgU2VtYW50aWNzOiBEZWZp
bmVNZXRob2QKKworICAgIE1ldGhvZERlZmluaXRpb24gOiBQcm9wZXJ0eU5hbWUgKCBTdHJpY3RG
b3JtYWxQYXJhbWV0ZXJzICkgeyBGdW5jdGlvbkJvZHkgfQorCisgICAgWy4uLl0KKyAgICA2LiBM
ZXQgY2xvc3VyZSBiZSBGdW5jdGlvbkNyZWF0ZShraW5kLCBTdHJpY3RGb3JtYWxQYXJhbWV0ZXJz
LCBGdW5jdGlvbkJvZHksCisgICAgICAgc2NvcGUsIHN0cmljdCkuIElmIGZ1bmN0aW9uUHJvdG90
eXBlIHdhcyBwYXNzZWQgYXMgYSBwYXJhbWV0ZXIgdGhlbiBwYXNzIGl0cworICAgICAgIHZhbHVl
IGFzIHRoZSBmdW5jdGlvblByb3RvdHlwZSBvcHRpb25hbCBhcmd1bWVudCBvZiBGdW5jdGlvbkNy
ZWF0ZS4KKyAgICBbLi4uXQorCisgICAgOS4yLjEgW1tDYWxsXV0gKCB0aGlzQXJndW1lbnQsIGFy
Z3VtZW50c0xpc3QpCisKKyAgICBbLi4uXQorICAgIDcuIExldCByZXN1bHQgYmUgT3JkaW5hcnlD
YWxsRXZhbHVhdGVCb2R5KEYsIGFyZ3VtZW50c0xpc3QpLgorICAgIFsuLi5dCisKKyAgICA5LjIu
MS4zIE9yZGluYXJ5Q2FsbEV2YWx1YXRlQm9keSAoIEYsIGFyZ3VtZW50c0xpc3QgKQorCisgICAg
MS4gTGV0IHN0YXR1cyBiZSBGdW5jdGlvbkRlY2xhcmF0aW9uSW5zdGFudGlhdGlvbihGLCBhcmd1
bWVudHNMaXN0KS4KKyAgICBbLi4uXQorCisgICAgOS4yLjEyIEZ1bmN0aW9uRGVjbGFyYXRpb25J
bnN0YW50aWF0aW9uKGZ1bmMsIGFyZ3VtZW50c0xpc3QpCisKKyAgICBbLi4uXQorICAgIDIzLiBM
ZXQgaXRlcmF0b3JSZWNvcmQgYmUgUmVjb3JkIHtbW2l0ZXJhdG9yXV06CisgICAgICAgIENyZWF0
ZUxpc3RJdGVyYXRvcihhcmd1bWVudHNMaXN0KSwgW1tkb25lXV06IGZhbHNlfS4KKyAgICAyNC4g
SWYgaGFzRHVwbGljYXRlcyBpcyB0cnVlLCB0aGVuCisgICAgICAgIFsuLi5dCisgICAgMjUuIEVs
c2UsCisgICAgICAgIGIuIExldCBmb3JtYWxTdGF0dXMgYmUgSXRlcmF0b3JCaW5kaW5nSW5pdGlh
bGl6YXRpb24gZm9yIGZvcm1hbHMgd2l0aAorICAgICAgICAgICBpdGVyYXRvclJlY29yZCBhbmQg
ZW52IGFzIGFyZ3VtZW50cy4KKyAgICBbLi4uXQorCisgICAgUnVudGltZSBTZW1hbnRpY3M6IEl0
ZXJhdG9yQmluZGluZ0luaXRpYWxpemF0aW9uCisKKyAgICBCaW5kaW5nUmVzdEVsZW1lbnQgOiAu
Li4gQmluZGluZ0lkZW50aWZpZXIKKworICAgIFsuLi5dCisgICAgMi4gTGV0IEEgYmUgISBBcnJh
eUNyZWF0ZSgwKS4KKyAgICAzLiBMZXQgbiBiZSAwLgorICAgIDQuIFJlcGVhdCwKKyAgICAgICAg
Wy4uLl0KKyAgICAgICAgZi4gUGVyZm9ybSAhIENyZWF0ZURhdGFQcm9wZXJ0eU9yVGhyb3coQSwg
ISBUb1N0cmluZyhuKSwgbmV4dFZhbHVlKS4KKyAgICAgICAgZy4gU2V0IG4gdG8gbiArIDEuCisK
Ky0tLSovCisKK3ZhciBjYWxsQ291bnQgPSAwOwordmFyIEMgPSBjbGFzcyB7CisgICNtZXRob2Qo
Wy4uLnhdID0gWzFdKSB7CisgICAgYXNzZXJ0KEFycmF5LmlzQXJyYXkoeCkpOworICAgIGFzc2Vy
dC5jb21wYXJlQXJyYXkoeCwgWzFdKTsKKyAgICBjYWxsQ291bnQgPSBjYWxsQ291bnQgKyAxOwor
ICB9CisKKyAgZ2V0IG1ldGhvZCgpIHsKKyAgICByZXR1cm4gdGhpcy4jbWV0aG9kOworICB9Cit9
OworCituZXcgQygpLm1ldGhvZCgpOworYXNzZXJ0LnNhbWVWYWx1ZShjYWxsQ291bnQsIDEsICdt
ZXRob2QgaW52b2tlZCBleGFjdGx5IG9uY2UnKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2RzdHIvcHJpdmF0ZS1tZXRoLXN0YXRp
Yy1hcnktcHRybi1lbGVtLWlkLWl0ZXItdmFsLWFycmF5LXByb3RvdHlwZS5qcyBiL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2RzdHIvcHJpdmF0ZS1tZXRo
LXN0YXRpYy1hcnktcHRybi1lbGVtLWlkLWl0ZXItdmFsLWFycmF5LXByb3RvdHlwZS5qcwpuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xYjgwMDRiMjcwMzZkODBhMTI5OWQ3Yzk2ZmU3OTliNTc3NDg1ZDUwCi0tLSAvZGV2
L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xh
c3MvZHN0ci9wcml2YXRlLW1ldGgtc3RhdGljLWFyeS1wdHJuLWVsZW0taWQtaXRlci12YWwtYXJy
YXktcHJvdG90eXBlLmpzCkBAIC0wLDAgKzEsMTA2IEBACisvLyBUaGlzIGZpbGUgd2FzIHByb2Nl
ZHVyYWxseSBnZW5lcmF0ZWQgZnJvbSB0aGUgZm9sbG93aW5nIHNvdXJjZXM6CisvLyAtIHNyYy9k
c3RyLWJpbmRpbmcvYXJ5LXB0cm4tZWxlbS1pZC1pdGVyLXZhbC1hcnJheS1wcm90b3R5cGUuY2Fz
ZQorLy8gLSBzcmMvZHN0ci1iaW5kaW5nL2RlZmF1bHQvY2xzLWV4cHItcHJpdmF0ZS1tZXRoLXN0
YXRpYy50ZW1wbGF0ZQorLyotLS0KK2Rlc2NyaXB0aW9uOiBBcnJheSBkZXN0cnVjdHVyaW5nIHVz
ZXMgb3ZlcnJpZGVuIEFycmF5LnByb3RvdHlwZVtTeW1ib2wuaXRlcmF0b3JdIChwcml2YXRlIHN0
YXRpYyBjbGFzcyBleHByZXNzaW9uIG1ldGhvZCkKK2VzaWQ6IHNlYy1jbGFzcy1kZWZpbml0aW9u
cy1ydW50aW1lLXNlbWFudGljcy1ldmFsdWF0aW9uCitmZWF0dXJlczogW1N5bWJvbC5pdGVyYXRv
ciwgZ2VuZXJhdG9ycywgY2xhc3MsIGNsYXNzLXN0YXRpYy1tZXRob2RzLXByaXZhdGUsIGRlc3Ry
dWN0dXJpbmctYmluZGluZ10KK2ZsYWdzOiBbZ2VuZXJhdGVkXQoraW5mbzogfAorICAgIENsYXNz
RXhwcmVzc2lvbiA6IGNsYXNzIEJpbmRpbmdJZGVudGlmaWVyb3B0IENsYXNzVGFpbAorCisgICAg
MS4gSWYgQmluZGluZ0lkZW50aWZpZXJvcHQgaXMgbm90IHByZXNlbnQsIGxldCBjbGFzc05hbWUg
YmUgdW5kZWZpbmVkLgorICAgIDIuIEVsc2UsIGxldCBjbGFzc05hbWUgYmUgU3RyaW5nVmFsdWUg
b2YgQmluZGluZ0lkZW50aWZpZXIuCisgICAgMy4gTGV0IHZhbHVlIGJlIHRoZSByZXN1bHQgb2Yg
Q2xhc3NEZWZpbml0aW9uRXZhbHVhdGlvbiBvZiBDbGFzc1RhaWwKKyAgICAgICB3aXRoIGFyZ3Vt
ZW50IGNsYXNzTmFtZS4KKyAgICBbLi4uXQorCisgICAgMTQuNS4xNCBSdW50aW1lIFNlbWFudGlj
czogQ2xhc3NEZWZpbml0aW9uRXZhbHVhdGlvbgorCisgICAgMjEuIEZvciBlYWNoIENsYXNzRWxl
bWVudCBtIGluIG9yZGVyIGZyb20gbWV0aG9kcworICAgICAgICBhLiBJZiBJc1N0YXRpYyBvZiBt
IGlzIGZhbHNlLCB0aGVuCisgICAgICAgIGIuIEVsc2UsCisgICAgICAgICAgIExldCBzdGF0dXMg
YmUgdGhlIHJlc3VsdCBvZiBwZXJmb3JtaW5nIFByb3BlcnR5RGVmaW5pdGlvbkV2YWx1YXRpb24g
Zm9yCisgICAgICAgICAgIG0gd2l0aCBhcmd1bWVudHMgRiBhbmQgZmFsc2UuCisgICAgWy4uLl0K
KworICAgIDE0LjMuOCBSdW50aW1lIFNlbWFudGljczogRGVmaW5lTWV0aG9kCisKKyAgICBNZXRo
b2REZWZpbml0aW9uIDogUHJvcGVydHlOYW1lICggU3RyaWN0Rm9ybWFsUGFyYW1ldGVycyApIHsg
RnVuY3Rpb25Cb2R5IH0KKworICAgIFsuLi5dCisgICAgNi4gTGV0IGNsb3N1cmUgYmUgRnVuY3Rp
b25DcmVhdGUoa2luZCwgU3RyaWN0Rm9ybWFsUGFyYW1ldGVycywgRnVuY3Rpb25Cb2R5LAorICAg
ICAgIHNjb3BlLCBzdHJpY3QpLiBJZiBmdW5jdGlvblByb3RvdHlwZSB3YXMgcGFzc2VkIGFzIGEg
cGFyYW1ldGVyIHRoZW4gcGFzcyBpdHMKKyAgICAgICB2YWx1ZSBhcyB0aGUgZnVuY3Rpb25Qcm90
b3R5cGUgb3B0aW9uYWwgYXJndW1lbnQgb2YgRnVuY3Rpb25DcmVhdGUuCisgICAgWy4uLl0KKwor
ICAgIDkuMi4xIFtbQ2FsbF1dICggdGhpc0FyZ3VtZW50LCBhcmd1bWVudHNMaXN0KQorCisgICAg
Wy4uLl0KKyAgICA3LiBMZXQgcmVzdWx0IGJlIE9yZGluYXJ5Q2FsbEV2YWx1YXRlQm9keShGLCBh
cmd1bWVudHNMaXN0KS4KKyAgICBbLi4uXQorCisgICAgOS4yLjEuMyBPcmRpbmFyeUNhbGxFdmFs
dWF0ZUJvZHkgKCBGLCBhcmd1bWVudHNMaXN0ICkKKworICAgIDEuIExldCBzdGF0dXMgYmUgRnVu
Y3Rpb25EZWNsYXJhdGlvbkluc3RhbnRpYXRpb24oRiwgYXJndW1lbnRzTGlzdCkuCisgICAgWy4u
Ll0KKworICAgIDkuMi4xMiBGdW5jdGlvbkRlY2xhcmF0aW9uSW5zdGFudGlhdGlvbihmdW5jLCBh
cmd1bWVudHNMaXN0KQorCisgICAgWy4uLl0KKyAgICAyMy4gTGV0IGl0ZXJhdG9yUmVjb3JkIGJl
IFJlY29yZCB7W1tpdGVyYXRvcl1dOgorICAgICAgICBDcmVhdGVMaXN0SXRlcmF0b3IoYXJndW1l
bnRzTGlzdCksIFtbZG9uZV1dOiBmYWxzZX0uCisgICAgMjQuIElmIGhhc0R1cGxpY2F0ZXMgaXMg
dHJ1ZSwgdGhlbgorICAgICAgICBbLi4uXQorICAgIDI1LiBFbHNlLAorICAgICAgICBiLiBMZXQg
Zm9ybWFsU3RhdHVzIGJlIEl0ZXJhdG9yQmluZGluZ0luaXRpYWxpemF0aW9uIGZvciBmb3JtYWxz
IHdpdGgKKyAgICAgICAgICAgaXRlcmF0b3JSZWNvcmQgYW5kIGVudiBhcyBhcmd1bWVudHMuCisg
ICAgWy4uLl0KKworICAgIFJ1bnRpbWUgU2VtYW50aWNzOiBJdGVyYXRvckJpbmRpbmdJbml0aWFs
aXphdGlvbgorCisgICAgU2luZ2xlTmFtZUJpbmRpbmcgOiBCaW5kaW5nSWRlbnRpZmllciBJbml0
aWFsaXplcl9vcHQKKworICAgIDEuIExldCBiaW5kaW5nSWQgYmUgU3RyaW5nVmFsdWUgb2YgQmlu
ZGluZ0lkZW50aWZpZXIuCisgICAgMi4gTGV0IGxocyBiZSA/IFJlc29sdmVCaW5kaW5nKGJpbmRp
bmdJZCwgZW52aXJvbm1lbnQpLgorICAgIDMuIElmIGl0ZXJhdG9yUmVjb3JkLltbRG9uZV1dIGlz
IGZhbHNlLCB0aGVuCisgICAgICAgIGEuIExldCBuZXh0IGJlIEl0ZXJhdG9yU3RlcChpdGVyYXRv
clJlY29yZCkuCisgICAgICAgIGIuIElmIG5leHQgaXMgYW4gYWJydXB0IGNvbXBsZXRpb24sIHNl
dCBpdGVyYXRvclJlY29yZC5bW0RvbmVdXSB0byB0cnVlLgorICAgICAgICBjLiBSZXR1cm5JZkFi
cnVwdChuZXh0KS4KKyAgICAgICAgZC4gSWYgbmV4dCBpcyBmYWxzZSwgc2V0IGl0ZXJhdG9yUmVj
b3JkLltbRG9uZV1dIHRvIHRydWUuCisgICAgICAgIGUuIEVsc2UsCisgICAgICAgICAgICBpLiBM
ZXQgdiBiZSBJdGVyYXRvclZhbHVlKG5leHQpLgorICAgICAgICAgICAgaWkuIElmIHYgaXMgYW4g
YWJydXB0IGNvbXBsZXRpb24sIHNldCBpdGVyYXRvclJlY29yZC5bW0RvbmVdXSB0byB0cnVlLgor
ICAgICAgICAgICAgaWlpLiBSZXR1cm5JZkFicnVwdCh2KS4KKyAgICBbLi4uXQorICAgIDcuIFJl
dHVybiBJbml0aWFsaXplUmVmZXJlbmNlZEJpbmRpbmcobGhzLCB2KS4KKworLS0tKi8KK0FycmF5
LnByb3RvdHlwZVtTeW1ib2wuaXRlcmF0b3JdID0gZnVuY3Rpb24qICgpIHsKKyAgICBpZiAodGhp
cy5sZW5ndGggPiAwKSB7CisgICAgICAgIHlpZWxkIHRoaXNbMF07CisgICAgfQorICAgIGlmICh0
aGlzLmxlbmd0aCA+IDEpIHsKKyAgICAgICAgeWllbGQgdGhpc1sxXTsKKyAgICB9CisgICAgaWYg
KHRoaXMubGVuZ3RoID4gMikgeworICAgICAgICB5aWVsZCA0MjsKKyAgICB9Cit9OworCit2YXIg
Y2FsbENvdW50ID0gMDsKK3ZhciBDID0gY2xhc3MgeworICBzdGF0aWMgI21ldGhvZChbeCwgeSwg
el0pIHsKKyAgICBhc3NlcnQuc2FtZVZhbHVlKHgsIDEpOworICAgIGFzc2VydC5zYW1lVmFsdWUo
eSwgMik7CisgICAgYXNzZXJ0LnNhbWVWYWx1ZSh6LCA0Mik7CisgICAgY2FsbENvdW50ID0gY2Fs
bENvdW50ICsgMTsKKyAgfQorCisgIHN0YXRpYyBnZXQgbWV0aG9kKCkgeworICAgIHJldHVybiB0
aGlzLiNtZXRob2Q7CisgIH0KK307CisKK0MubWV0aG9kKFsxLCAyLCAzXSk7Cithc3NlcnQuc2Ft
ZVZhbHVlKGNhbGxDb3VudCwgMSwgJ21ldGhvZCBpbnZva2VkIGV4YWN0bHkgb25jZScpOwpkaWZm
IC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3Mv
ZHN0ci9wcml2YXRlLW1ldGgtc3RhdGljLWFyeS1wdHJuLXJlc3QtaWQtZGlyZWN0LmpzIGIvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvZHN0ci9wcml2YXRl
LW1ldGgtc3RhdGljLWFyeS1wdHJuLXJlc3QtaWQtZGlyZWN0LmpzCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI3NTky
ODkxNzk5YmExMjc2MTEzNjI2NzRiMDBkMDZhNzYzNDY1ZjYKLS0tIC9kZXYvbnVsbAorKysgYi9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9kc3RyL3ByaXZh
dGUtbWV0aC1zdGF0aWMtYXJ5LXB0cm4tcmVzdC1pZC1kaXJlY3QuanMKQEAgLTAsMCArMSw4OSBA
QAorLy8gVGhpcyBmaWxlIHdhcyBwcm9jZWR1cmFsbHkgZ2VuZXJhdGVkIGZyb20gdGhlIGZvbGxv
d2luZyBzb3VyY2VzOgorLy8gLSBzcmMvZHN0ci1iaW5kaW5nL2FyeS1wdHJuLXJlc3QtaWQtZGly
ZWN0LmNhc2UKKy8vIC0gc3JjL2RzdHItYmluZGluZy9kZWZhdWx0L2Nscy1leHByLXByaXZhdGUt
bWV0aC1zdGF0aWMudGVtcGxhdGUKKy8qLS0tCitkZXNjcmlwdGlvbjogTG9uZSByZXN0IGVsZW1l
bnQgKGRpcmVjdCBiaW5kaW5nKSAocHJpdmF0ZSBzdGF0aWMgY2xhc3MgZXhwcmVzc2lvbiBtZXRo
b2QpCitlc2lkOiBzZWMtY2xhc3MtZGVmaW5pdGlvbnMtcnVudGltZS1zZW1hbnRpY3MtZXZhbHVh
dGlvbgorZmVhdHVyZXM6IFtjbGFzcywgY2xhc3Mtc3RhdGljLW1ldGhvZHMtcHJpdmF0ZSwgZGVz
dHJ1Y3R1cmluZy1iaW5kaW5nXQorZmxhZ3M6IFtnZW5lcmF0ZWRdCitpbmNsdWRlczogW2NvbXBh
cmVBcnJheS5qc10KK2luZm86IHwKKyAgICBDbGFzc0V4cHJlc3Npb24gOiBjbGFzcyBCaW5kaW5n
SWRlbnRpZmllcm9wdCBDbGFzc1RhaWwKKworICAgIDEuIElmIEJpbmRpbmdJZGVudGlmaWVyb3B0
IGlzIG5vdCBwcmVzZW50LCBsZXQgY2xhc3NOYW1lIGJlIHVuZGVmaW5lZC4KKyAgICAyLiBFbHNl
LCBsZXQgY2xhc3NOYW1lIGJlIFN0cmluZ1ZhbHVlIG9mIEJpbmRpbmdJZGVudGlmaWVyLgorICAg
IDMuIExldCB2YWx1ZSBiZSB0aGUgcmVzdWx0IG9mIENsYXNzRGVmaW5pdGlvbkV2YWx1YXRpb24g
b2YgQ2xhc3NUYWlsCisgICAgICAgd2l0aCBhcmd1bWVudCBjbGFzc05hbWUuCisgICAgWy4uLl0K
KworICAgIDE0LjUuMTQgUnVudGltZSBTZW1hbnRpY3M6IENsYXNzRGVmaW5pdGlvbkV2YWx1YXRp
b24KKworICAgIDIxLiBGb3IgZWFjaCBDbGFzc0VsZW1lbnQgbSBpbiBvcmRlciBmcm9tIG1ldGhv
ZHMKKyAgICAgICAgYS4gSWYgSXNTdGF0aWMgb2YgbSBpcyBmYWxzZSwgdGhlbgorICAgICAgICBi
LiBFbHNlLAorICAgICAgICAgICBMZXQgc3RhdHVzIGJlIHRoZSByZXN1bHQgb2YgcGVyZm9ybWlu
ZyBQcm9wZXJ0eURlZmluaXRpb25FdmFsdWF0aW9uIGZvcgorICAgICAgICAgICBtIHdpdGggYXJn
dW1lbnRzIEYgYW5kIGZhbHNlLgorICAgIFsuLi5dCisKKyAgICAxNC4zLjggUnVudGltZSBTZW1h
bnRpY3M6IERlZmluZU1ldGhvZAorCisgICAgTWV0aG9kRGVmaW5pdGlvbiA6IFByb3BlcnR5TmFt
ZSAoIFN0cmljdEZvcm1hbFBhcmFtZXRlcnMgKSB7IEZ1bmN0aW9uQm9keSB9CisKKyAgICBbLi4u
XQorICAgIDYuIExldCBjbG9zdXJlIGJlIEZ1bmN0aW9uQ3JlYXRlKGtpbmQsIFN0cmljdEZvcm1h
bFBhcmFtZXRlcnMsIEZ1bmN0aW9uQm9keSwKKyAgICAgICBzY29wZSwgc3RyaWN0KS4gSWYgZnVu
Y3Rpb25Qcm90b3R5cGUgd2FzIHBhc3NlZCBhcyBhIHBhcmFtZXRlciB0aGVuIHBhc3MgaXRzCisg
ICAgICAgdmFsdWUgYXMgdGhlIGZ1bmN0aW9uUHJvdG90eXBlIG9wdGlvbmFsIGFyZ3VtZW50IG9m
IEZ1bmN0aW9uQ3JlYXRlLgorICAgIFsuLi5dCisKKyAgICA5LjIuMSBbW0NhbGxdXSAoIHRoaXNB
cmd1bWVudCwgYXJndW1lbnRzTGlzdCkKKworICAgIFsuLi5dCisgICAgNy4gTGV0IHJlc3VsdCBi
ZSBPcmRpbmFyeUNhbGxFdmFsdWF0ZUJvZHkoRiwgYXJndW1lbnRzTGlzdCkuCisgICAgWy4uLl0K
KworICAgIDkuMi4xLjMgT3JkaW5hcnlDYWxsRXZhbHVhdGVCb2R5ICggRiwgYXJndW1lbnRzTGlz
dCApCisKKyAgICAxLiBMZXQgc3RhdHVzIGJlIEZ1bmN0aW9uRGVjbGFyYXRpb25JbnN0YW50aWF0
aW9uKEYsIGFyZ3VtZW50c0xpc3QpLgorICAgIFsuLi5dCisKKyAgICA5LjIuMTIgRnVuY3Rpb25E
ZWNsYXJhdGlvbkluc3RhbnRpYXRpb24oZnVuYywgYXJndW1lbnRzTGlzdCkKKworICAgIFsuLi5d
CisgICAgMjMuIExldCBpdGVyYXRvclJlY29yZCBiZSBSZWNvcmQge1tbaXRlcmF0b3JdXToKKyAg
ICAgICAgQ3JlYXRlTGlzdEl0ZXJhdG9yKGFyZ3VtZW50c0xpc3QpLCBbW2RvbmVdXTogZmFsc2V9
LgorICAgIDI0LiBJZiBoYXNEdXBsaWNhdGVzIGlzIHRydWUsIHRoZW4KKyAgICAgICAgWy4uLl0K
KyAgICAyNS4gRWxzZSwKKyAgICAgICAgYi4gTGV0IGZvcm1hbFN0YXR1cyBiZSBJdGVyYXRvckJp
bmRpbmdJbml0aWFsaXphdGlvbiBmb3IgZm9ybWFscyB3aXRoCisgICAgICAgICAgIGl0ZXJhdG9y
UmVjb3JkIGFuZCBlbnYgYXMgYXJndW1lbnRzLgorICAgIFsuLi5dCisKKyAgICBSdW50aW1lIFNl
bWFudGljczogSXRlcmF0b3JCaW5kaW5nSW5pdGlhbGl6YXRpb24KKworICAgIEJpbmRpbmdSZXN0
RWxlbWVudCA6IC4uLiBCaW5kaW5nSWRlbnRpZmllcgorCisgICAgWy4uLl0KKyAgICAyLiBMZXQg
QSBiZSAhIEFycmF5Q3JlYXRlKDApLgorICAgIDMuIExldCBuIGJlIDAuCisgICAgNC4gUmVwZWF0
LAorICAgICAgICBbLi4uXQorICAgICAgICBmLiBQZXJmb3JtICEgQ3JlYXRlRGF0YVByb3BlcnR5
T3JUaHJvdyhBLCAhIFRvU3RyaW5nKG4pLCBuZXh0VmFsdWUpLgorICAgICAgICBnLiBTZXQgbiB0
byBuICsgMS4KKworLS0tKi8KKwordmFyIGNhbGxDb3VudCA9IDA7Cit2YXIgQyA9IGNsYXNzIHsK
KyAgc3RhdGljICNtZXRob2QoWy4uLnhdKSB7CisgICAgYXNzZXJ0KEFycmF5LmlzQXJyYXkoeCkp
OworICAgIGFzc2VydC5jb21wYXJlQXJyYXkoeCwgWzFdKTsKKyAgICBjYWxsQ291bnQgPSBjYWxs
Q291bnQgKyAxOworICB9CisKKyAgc3RhdGljIGdldCBtZXRob2QoKSB7CisgICAgcmV0dXJuIHRo
aXMuI21ldGhvZDsKKyAgfQorfTsKKworQy5tZXRob2QoWzFdKTsKK2Fzc2VydC5zYW1lVmFsdWUo
Y2FsbENvdW50LCAxLCAnbWV0aG9kIGludm9rZWQgZXhhY3RseSBvbmNlJyk7CmRpZmYgLS1naXQg
YS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9kc3RyL3By
aXZhdGUtbWV0aC1zdGF0aWMtZGZsdC1hcnktcHRybi1lbGVtLWlkLWl0ZXItdmFsLWFycmF5LXBy
b3RvdHlwZS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2Ns
YXNzL2RzdHIvcHJpdmF0ZS1tZXRoLXN0YXRpYy1kZmx0LWFyeS1wdHJuLWVsZW0taWQtaXRlci12
YWwtYXJyYXktcHJvdG90eXBlLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQxNThhOTMxMzE5NTU5Mjk2MTgwOWQ1
ZmUzOGNmZGNiYzNmYTU3NjkKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9kc3RyL3ByaXZhdGUtbWV0aC1zdGF0aWMtZGZs
dC1hcnktcHRybi1lbGVtLWlkLWl0ZXItdmFsLWFycmF5LXByb3RvdHlwZS5qcwpAQCAtMCwwICsx
LDEwNiBAQAorLy8gVGhpcyBmaWxlIHdhcyBwcm9jZWR1cmFsbHkgZ2VuZXJhdGVkIGZyb20gdGhl
IGZvbGxvd2luZyBzb3VyY2VzOgorLy8gLSBzcmMvZHN0ci1iaW5kaW5nL2FyeS1wdHJuLWVsZW0t
aWQtaXRlci12YWwtYXJyYXktcHJvdG90eXBlLmNhc2UKKy8vIC0gc3JjL2RzdHItYmluZGluZy9k
ZWZhdWx0L2Nscy1leHByLXByaXZhdGUtbWV0aC1zdGF0aWMtZGZsdC50ZW1wbGF0ZQorLyotLS0K
K2Rlc2NyaXB0aW9uOiBBcnJheSBkZXN0cnVjdHVyaW5nIHVzZXMgb3ZlcnJpZGVuIEFycmF5LnBy
b3RvdHlwZVtTeW1ib2wuaXRlcmF0b3JdIChwcml2YXRlIHN0YXRpYyBjbGFzcyBleHByZXNzaW9u
IG1ldGhvZCAoZGVmYXVsdCBwYXJhbWV0ZXIpKQorZXNpZDogc2VjLWNsYXNzLWRlZmluaXRpb25z
LXJ1bnRpbWUtc2VtYW50aWNzLWV2YWx1YXRpb24KK2ZlYXR1cmVzOiBbU3ltYm9sLml0ZXJhdG9y
LCBnZW5lcmF0b3JzLCBjbGFzcywgY2xhc3Mtc3RhdGljLW1ldGhvZHMtcHJpdmF0ZSwgZGVzdHJ1
Y3R1cmluZy1iaW5kaW5nLCBkZWZhdWx0LXBhcmFtZXRlcnNdCitmbGFnczogW2dlbmVyYXRlZF0K
K2luZm86IHwKKyAgICBDbGFzc0V4cHJlc3Npb24gOiBjbGFzcyBCaW5kaW5nSWRlbnRpZmllcm9w
dCBDbGFzc1RhaWwKKworICAgIDEuIElmIEJpbmRpbmdJZGVudGlmaWVyb3B0IGlzIG5vdCBwcmVz
ZW50LCBsZXQgY2xhc3NOYW1lIGJlIHVuZGVmaW5lZC4KKyAgICAyLiBFbHNlLCBsZXQgY2xhc3NO
YW1lIGJlIFN0cmluZ1ZhbHVlIG9mIEJpbmRpbmdJZGVudGlmaWVyLgorICAgIDMuIExldCB2YWx1
ZSBiZSB0aGUgcmVzdWx0IG9mIENsYXNzRGVmaW5pdGlvbkV2YWx1YXRpb24gb2YgQ2xhc3NUYWls
CisgICAgICAgd2l0aCBhcmd1bWVudCBjbGFzc05hbWUuCisgICAgWy4uLl0KKworICAgIDE0LjUu
MTQgUnVudGltZSBTZW1hbnRpY3M6IENsYXNzRGVmaW5pdGlvbkV2YWx1YXRpb24KKworICAgIDIx
LiBGb3IgZWFjaCBDbGFzc0VsZW1lbnQgbSBpbiBvcmRlciBmcm9tIG1ldGhvZHMKKyAgICAgICAg
YS4gSWYgSXNTdGF0aWMgb2YgbSBpcyBmYWxzZSwgdGhlbgorICAgICAgICBiLiBFbHNlLAorICAg
ICAgICAgICBMZXQgc3RhdHVzIGJlIHRoZSByZXN1bHQgb2YgcGVyZm9ybWluZyBQcm9wZXJ0eURl
ZmluaXRpb25FdmFsdWF0aW9uIGZvcgorICAgICAgICAgICBtIHdpdGggYXJndW1lbnRzIEYgYW5k
IGZhbHNlLgorICAgIFsuLi5dCisKKyAgICAxNC4zLjggUnVudGltZSBTZW1hbnRpY3M6IERlZmlu
ZU1ldGhvZAorCisgICAgTWV0aG9kRGVmaW5pdGlvbiA6IFByb3BlcnR5TmFtZSAoIFN0cmljdEZv
cm1hbFBhcmFtZXRlcnMgKSB7IEZ1bmN0aW9uQm9keSB9CisKKyAgICBbLi4uXQorICAgIDYuIExl
dCBjbG9zdXJlIGJlIEZ1bmN0aW9uQ3JlYXRlKGtpbmQsIFN0cmljdEZvcm1hbFBhcmFtZXRlcnMs
IEZ1bmN0aW9uQm9keSwKKyAgICAgICBzY29wZSwgc3RyaWN0KS4gSWYgZnVuY3Rpb25Qcm90b3R5
cGUgd2FzIHBhc3NlZCBhcyBhIHBhcmFtZXRlciB0aGVuIHBhc3MgaXRzCisgICAgICAgdmFsdWUg
YXMgdGhlIGZ1bmN0aW9uUHJvdG90eXBlIG9wdGlvbmFsIGFyZ3VtZW50IG9mIEZ1bmN0aW9uQ3Jl
YXRlLgorICAgIFsuLi5dCisKKyAgICA5LjIuMSBbW0NhbGxdXSAoIHRoaXNBcmd1bWVudCwgYXJn
dW1lbnRzTGlzdCkKKworICAgIFsuLi5dCisgICAgNy4gTGV0IHJlc3VsdCBiZSBPcmRpbmFyeUNh
bGxFdmFsdWF0ZUJvZHkoRiwgYXJndW1lbnRzTGlzdCkuCisgICAgWy4uLl0KKworICAgIDkuMi4x
LjMgT3JkaW5hcnlDYWxsRXZhbHVhdGVCb2R5ICggRiwgYXJndW1lbnRzTGlzdCApCisKKyAgICAx
LiBMZXQgc3RhdHVzIGJlIEZ1bmN0aW9uRGVjbGFyYXRpb25JbnN0YW50aWF0aW9uKEYsIGFyZ3Vt
ZW50c0xpc3QpLgorICAgIFsuLi5dCisKKyAgICA5LjIuMTIgRnVuY3Rpb25EZWNsYXJhdGlvbklu
c3RhbnRpYXRpb24oZnVuYywgYXJndW1lbnRzTGlzdCkKKworICAgIFsuLi5dCisgICAgMjMuIExl
dCBpdGVyYXRvclJlY29yZCBiZSBSZWNvcmQge1tbaXRlcmF0b3JdXToKKyAgICAgICAgQ3JlYXRl
TGlzdEl0ZXJhdG9yKGFyZ3VtZW50c0xpc3QpLCBbW2RvbmVdXTogZmFsc2V9LgorICAgIDI0LiBJ
ZiBoYXNEdXBsaWNhdGVzIGlzIHRydWUsIHRoZW4KKyAgICAgICAgWy4uLl0KKyAgICAyNS4gRWxz
ZSwKKyAgICAgICAgYi4gTGV0IGZvcm1hbFN0YXR1cyBiZSBJdGVyYXRvckJpbmRpbmdJbml0aWFs
aXphdGlvbiBmb3IgZm9ybWFscyB3aXRoCisgICAgICAgICAgIGl0ZXJhdG9yUmVjb3JkIGFuZCBl
bnYgYXMgYXJndW1lbnRzLgorICAgIFsuLi5dCisKKyAgICBSdW50aW1lIFNlbWFudGljczogSXRl
cmF0b3JCaW5kaW5nSW5pdGlhbGl6YXRpb24KKworICAgIFNpbmdsZU5hbWVCaW5kaW5nIDogQmlu
ZGluZ0lkZW50aWZpZXIgSW5pdGlhbGl6ZXJfb3B0CisKKyAgICAxLiBMZXQgYmluZGluZ0lkIGJl
IFN0cmluZ1ZhbHVlIG9mIEJpbmRpbmdJZGVudGlmaWVyLgorICAgIDIuIExldCBsaHMgYmUgPyBS
ZXNvbHZlQmluZGluZyhiaW5kaW5nSWQsIGVudmlyb25tZW50KS4KKyAgICAzLiBJZiBpdGVyYXRv
clJlY29yZC5bW0RvbmVdXSBpcyBmYWxzZSwgdGhlbgorICAgICAgICBhLiBMZXQgbmV4dCBiZSBJ
dGVyYXRvclN0ZXAoaXRlcmF0b3JSZWNvcmQpLgorICAgICAgICBiLiBJZiBuZXh0IGlzIGFuIGFi
cnVwdCBjb21wbGV0aW9uLCBzZXQgaXRlcmF0b3JSZWNvcmQuW1tEb25lXV0gdG8gdHJ1ZS4KKyAg
ICAgICAgYy4gUmV0dXJuSWZBYnJ1cHQobmV4dCkuCisgICAgICAgIGQuIElmIG5leHQgaXMgZmFs
c2UsIHNldCBpdGVyYXRvclJlY29yZC5bW0RvbmVdXSB0byB0cnVlLgorICAgICAgICBlLiBFbHNl
LAorICAgICAgICAgICAgaS4gTGV0IHYgYmUgSXRlcmF0b3JWYWx1ZShuZXh0KS4KKyAgICAgICAg
ICAgIGlpLiBJZiB2IGlzIGFuIGFicnVwdCBjb21wbGV0aW9uLCBzZXQgaXRlcmF0b3JSZWNvcmQu
W1tEb25lXV0gdG8gdHJ1ZS4KKyAgICAgICAgICAgIGlpaS4gUmV0dXJuSWZBYnJ1cHQodikuCisg
ICAgWy4uLl0KKyAgICA3LiBSZXR1cm4gSW5pdGlhbGl6ZVJlZmVyZW5jZWRCaW5kaW5nKGxocywg
dikuCisKKy0tLSovCitBcnJheS5wcm90b3R5cGVbU3ltYm9sLml0ZXJhdG9yXSA9IGZ1bmN0aW9u
KiAoKSB7CisgICAgaWYgKHRoaXMubGVuZ3RoID4gMCkgeworICAgICAgICB5aWVsZCB0aGlzWzBd
OworICAgIH0KKyAgICBpZiAodGhpcy5sZW5ndGggPiAxKSB7CisgICAgICAgIHlpZWxkIHRoaXNb
MV07CisgICAgfQorICAgIGlmICh0aGlzLmxlbmd0aCA+IDIpIHsKKyAgICAgICAgeWllbGQgNDI7
CisgICAgfQorfTsKKwordmFyIGNhbGxDb3VudCA9IDA7Cit2YXIgQyA9IGNsYXNzIHsKKyAgc3Rh
dGljICNtZXRob2QoW3gsIHksIHpdID0gWzEsIDIsIDNdKSB7CisgICAgYXNzZXJ0LnNhbWVWYWx1
ZSh4LCAxKTsKKyAgICBhc3NlcnQuc2FtZVZhbHVlKHksIDIpOworICAgIGFzc2VydC5zYW1lVmFs
dWUoeiwgNDIpOworICAgIGNhbGxDb3VudCA9IGNhbGxDb3VudCArIDE7CisgIH0KKworICBzdGF0
aWMgZ2V0IG1ldGhvZCgpIHsKKyAgICByZXR1cm4gdGhpcy4jbWV0aG9kOworICB9Cit9OworCitD
Lm1ldGhvZCgpOworYXNzZXJ0LnNhbWVWYWx1ZShjYWxsQ291bnQsIDEsICdtZXRob2QgaW52b2tl
ZCBleGFjdGx5IG9uY2UnKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1
YWdlL2V4cHJlc3Npb25zL2NsYXNzL2RzdHIvcHJpdmF0ZS1tZXRoLXN0YXRpYy1kZmx0LWFyeS1w
dHJuLXJlc3QtaWQtZGlyZWN0LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhw
cmVzc2lvbnMvY2xhc3MvZHN0ci9wcml2YXRlLW1ldGgtc3RhdGljLWRmbHQtYXJ5LXB0cm4tcmVz
dC1pZC1kaXJlY3QuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODQ1ODZiZWY5ZjE2ODMyZjUwM2ZiMTBlYzIzYWE0
ZDgzNDVjOTdmNQotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1
YWdlL2V4cHJlc3Npb25zL2NsYXNzL2RzdHIvcHJpdmF0ZS1tZXRoLXN0YXRpYy1kZmx0LWFyeS1w
dHJuLXJlc3QtaWQtZGlyZWN0LmpzCkBAIC0wLDAgKzEsODkgQEAKKy8vIFRoaXMgZmlsZSB3YXMg
cHJvY2VkdXJhbGx5IGdlbmVyYXRlZCBmcm9tIHRoZSBmb2xsb3dpbmcgc291cmNlczoKKy8vIC0g
c3JjL2RzdHItYmluZGluZy9hcnktcHRybi1yZXN0LWlkLWRpcmVjdC5jYXNlCisvLyAtIHNyYy9k
c3RyLWJpbmRpbmcvZGVmYXVsdC9jbHMtZXhwci1wcml2YXRlLW1ldGgtc3RhdGljLWRmbHQudGVt
cGxhdGUKKy8qLS0tCitkZXNjcmlwdGlvbjogTG9uZSByZXN0IGVsZW1lbnQgKGRpcmVjdCBiaW5k
aW5nKSAocHJpdmF0ZSBzdGF0aWMgY2xhc3MgZXhwcmVzc2lvbiBtZXRob2QgKGRlZmF1bHQgcGFy
YW1ldGVyKSkKK2VzaWQ6IHNlYy1jbGFzcy1kZWZpbml0aW9ucy1ydW50aW1lLXNlbWFudGljcy1l
dmFsdWF0aW9uCitmZWF0dXJlczogW2NsYXNzLCBjbGFzcy1zdGF0aWMtbWV0aG9kcy1wcml2YXRl
LCBkZXN0cnVjdHVyaW5nLWJpbmRpbmcsIGRlZmF1bHQtcGFyYW1ldGVyc10KK2ZsYWdzOiBbZ2Vu
ZXJhdGVkXQoraW5jbHVkZXM6IFtjb21wYXJlQXJyYXkuanNdCitpbmZvOiB8CisgICAgQ2xhc3NF
eHByZXNzaW9uIDogY2xhc3MgQmluZGluZ0lkZW50aWZpZXJvcHQgQ2xhc3NUYWlsCisKKyAgICAx
LiBJZiBCaW5kaW5nSWRlbnRpZmllcm9wdCBpcyBub3QgcHJlc2VudCwgbGV0IGNsYXNzTmFtZSBi
ZSB1bmRlZmluZWQuCisgICAgMi4gRWxzZSwgbGV0IGNsYXNzTmFtZSBiZSBTdHJpbmdWYWx1ZSBv
ZiBCaW5kaW5nSWRlbnRpZmllci4KKyAgICAzLiBMZXQgdmFsdWUgYmUgdGhlIHJlc3VsdCBvZiBD
bGFzc0RlZmluaXRpb25FdmFsdWF0aW9uIG9mIENsYXNzVGFpbAorICAgICAgIHdpdGggYXJndW1l
bnQgY2xhc3NOYW1lLgorICAgIFsuLi5dCisKKyAgICAxNC41LjE0IFJ1bnRpbWUgU2VtYW50aWNz
OiBDbGFzc0RlZmluaXRpb25FdmFsdWF0aW9uCisKKyAgICAyMS4gRm9yIGVhY2ggQ2xhc3NFbGVt
ZW50IG0gaW4gb3JkZXIgZnJvbSBtZXRob2RzCisgICAgICAgIGEuIElmIElzU3RhdGljIG9mIG0g
aXMgZmFsc2UsIHRoZW4KKyAgICAgICAgYi4gRWxzZSwKKyAgICAgICAgICAgTGV0IHN0YXR1cyBi
ZSB0aGUgcmVzdWx0IG9mIHBlcmZvcm1pbmcgUHJvcGVydHlEZWZpbml0aW9uRXZhbHVhdGlvbiBm
b3IKKyAgICAgICAgICAgbSB3aXRoIGFyZ3VtZW50cyBGIGFuZCBmYWxzZS4KKyAgICBbLi4uXQor
CisgICAgMTQuMy44IFJ1bnRpbWUgU2VtYW50aWNzOiBEZWZpbmVNZXRob2QKKworICAgIE1ldGhv
ZERlZmluaXRpb24gOiBQcm9wZXJ0eU5hbWUgKCBTdHJpY3RGb3JtYWxQYXJhbWV0ZXJzICkgeyBG
dW5jdGlvbkJvZHkgfQorCisgICAgWy4uLl0KKyAgICA2LiBMZXQgY2xvc3VyZSBiZSBGdW5jdGlv
bkNyZWF0ZShraW5kLCBTdHJpY3RGb3JtYWxQYXJhbWV0ZXJzLCBGdW5jdGlvbkJvZHksCisgICAg
ICAgc2NvcGUsIHN0cmljdCkuIElmIGZ1bmN0aW9uUHJvdG90eXBlIHdhcyBwYXNzZWQgYXMgYSBw
YXJhbWV0ZXIgdGhlbiBwYXNzIGl0cworICAgICAgIHZhbHVlIGFzIHRoZSBmdW5jdGlvblByb3Rv
dHlwZSBvcHRpb25hbCBhcmd1bWVudCBvZiBGdW5jdGlvbkNyZWF0ZS4KKyAgICBbLi4uXQorCisg
ICAgOS4yLjEgW1tDYWxsXV0gKCB0aGlzQXJndW1lbnQsIGFyZ3VtZW50c0xpc3QpCisKKyAgICBb
Li4uXQorICAgIDcuIExldCByZXN1bHQgYmUgT3JkaW5hcnlDYWxsRXZhbHVhdGVCb2R5KEYsIGFy
Z3VtZW50c0xpc3QpLgorICAgIFsuLi5dCisKKyAgICA5LjIuMS4zIE9yZGluYXJ5Q2FsbEV2YWx1
YXRlQm9keSAoIEYsIGFyZ3VtZW50c0xpc3QgKQorCisgICAgMS4gTGV0IHN0YXR1cyBiZSBGdW5j
dGlvbkRlY2xhcmF0aW9uSW5zdGFudGlhdGlvbihGLCBhcmd1bWVudHNMaXN0KS4KKyAgICBbLi4u
XQorCisgICAgOS4yLjEyIEZ1bmN0aW9uRGVjbGFyYXRpb25JbnN0YW50aWF0aW9uKGZ1bmMsIGFy
Z3VtZW50c0xpc3QpCisKKyAgICBbLi4uXQorICAgIDIzLiBMZXQgaXRlcmF0b3JSZWNvcmQgYmUg
UmVjb3JkIHtbW2l0ZXJhdG9yXV06CisgICAgICAgIENyZWF0ZUxpc3RJdGVyYXRvcihhcmd1bWVu
dHNMaXN0KSwgW1tkb25lXV06IGZhbHNlfS4KKyAgICAyNC4gSWYgaGFzRHVwbGljYXRlcyBpcyB0
cnVlLCB0aGVuCisgICAgICAgIFsuLi5dCisgICAgMjUuIEVsc2UsCisgICAgICAgIGIuIExldCBm
b3JtYWxTdGF0dXMgYmUgSXRlcmF0b3JCaW5kaW5nSW5pdGlhbGl6YXRpb24gZm9yIGZvcm1hbHMg
d2l0aAorICAgICAgICAgICBpdGVyYXRvclJlY29yZCBhbmQgZW52IGFzIGFyZ3VtZW50cy4KKyAg
ICBbLi4uXQorCisgICAgUnVudGltZSBTZW1hbnRpY3M6IEl0ZXJhdG9yQmluZGluZ0luaXRpYWxp
emF0aW9uCisKKyAgICBCaW5kaW5nUmVzdEVsZW1lbnQgOiAuLi4gQmluZGluZ0lkZW50aWZpZXIK
KworICAgIFsuLi5dCisgICAgMi4gTGV0IEEgYmUgISBBcnJheUNyZWF0ZSgwKS4KKyAgICAzLiBM
ZXQgbiBiZSAwLgorICAgIDQuIFJlcGVhdCwKKyAgICAgICAgWy4uLl0KKyAgICAgICAgZi4gUGVy
Zm9ybSAhIENyZWF0ZURhdGFQcm9wZXJ0eU9yVGhyb3coQSwgISBUb1N0cmluZyhuKSwgbmV4dFZh
bHVlKS4KKyAgICAgICAgZy4gU2V0IG4gdG8gbiArIDEuCisKKy0tLSovCisKK3ZhciBjYWxsQ291
bnQgPSAwOwordmFyIEMgPSBjbGFzcyB7CisgIHN0YXRpYyAjbWV0aG9kKFsuLi54XSA9IFsxXSkg
eworICAgIGFzc2VydChBcnJheS5pc0FycmF5KHgpKTsKKyAgICBhc3NlcnQuY29tcGFyZUFycmF5
KHgsIFsxXSk7CisgICAgY2FsbENvdW50ID0gY2FsbENvdW50ICsgMTsKKyAgfQorCisgIHN0YXRp
YyBnZXQgbWV0aG9kKCkgeworICAgIHJldHVybiB0aGlzLiNtZXRob2Q7CisgIH0KK307CisKK0Mu
bWV0aG9kKCk7Cithc3NlcnQuc2FtZVZhbHVlKGNhbGxDb3VudCwgMSwgJ21ldGhvZCBpbnZva2Vk
IGV4YWN0bHkgb25jZScpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3Vh
Z2UvZXhwcmVzc2lvbnMvY2xhc3MvZWxlbWVudHMvc3ludGF4L3ZhbGlkL2dyYW1tYXItc3BlY2lh
bC1wcm90b3R5cGUtYWNjZXNzb3ItbWV0aC12YWxpZC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2VsZW1lbnRzL3N5bnRheC92YWxpZC9ncmFtbWFy
LXNwZWNpYWwtcHJvdG90eXBlLWFjY2Vzc29yLW1ldGgtdmFsaWQuanMKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2Vi
ZDIwNmQ3ZTg0NzFkODNmM2YxMTUwMTg1YTJiMzdiMDZiZDQxMQotLS0gL2Rldi9udWxsCisrKyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2VsZW1lbnRz
L3N5bnRheC92YWxpZC9ncmFtbWFyLXNwZWNpYWwtcHJvdG90eXBlLWFjY2Vzc29yLW1ldGgtdmFs
aWQuanMKQEAgLTAsMCArMSw1NiBAQAorLy8gVGhpcyBmaWxlIHdhcyBwcm9jZWR1cmFsbHkgZ2Vu
ZXJhdGVkIGZyb20gdGhlIGZvbGxvd2luZyBzb3VyY2VzOgorLy8gLSBzcmMvY2xhc3MtZWxlbWVu
dHMvZ3JhbW1hci1zcGVjaWFsLXByb3RvdHlwZS1hY2Nlc3Nvci1tZXRoLXZhbGlkLmNhc2UKKy8v
IC0gc3JjL2NsYXNzLWVsZW1lbnRzL3N5bnRheC92YWxpZC9jbHMtZXhwci1lbGVtZW50cy12YWxp
ZC1zeW50YXgudGVtcGxhdGUKKy8qLS0tCitkZXNjcmlwdGlvbjogQWNjZXNzb3IgTWV0aG9kcyBj
YW4gYmUgbmFtZWQgInByb3RvdHlwZSIgKGNsYXNzIGV4cHJlc3Npb24pCitlc2lkOiBwcm9kLUNs
YXNzRWxlbWVudAorZmVhdHVyZXM6IFtjbGFzc10KK2ZsYWdzOiBbZ2VuZXJhdGVkXQoraW5jbHVk
ZXM6IFtwcm9wZXJ0eUhlbHBlci5qc10KK2luZm86IHwKKyAgICBSdW50aW1lIFNlbWFudGljczog
Q2xhc3NEZWZpbml0aW9uRXZhbHVhdGlvbgorCisgICAgQ2xhc3NUYWlsIDogQ2xhc3NIZXJpdGFn
ZV9vcHQgeyBDbGFzc0JvZHlfb3B0IH0KKworICAgIFsuLi5dCisgICAgNi4gTGV0IHByb3RvIGJl
IE9yZGluYXJ5T2JqZWN0Q3JlYXRlKHByb3RvUGFyZW50KS4KKyAgICBbLi4uXQorICAgIDE0LiBQ
ZXJmb3JtIE1ha2VDb25zdHJ1Y3RvcihGLCBmYWxzZSwgcHJvdG8pLgorICAgIFsuLi5dCisgICAg
MjAuIEZvciBlYWNoIENsYXNzRWxlbWVudCBtIGluIG9yZGVyIGZyb20gbWV0aG9kcywgZG8KKyAg
ICAgICAgYS4gSWYgSXNTdGF0aWMgb2YgbSBpcyBmYWxzZSwgdGhlbgorICAgICAgICAgICAgaS4g
TGV0IHN0YXR1cyBiZSBQcm9wZXJ0eURlZmluaXRpb25FdmFsdWF0aW9uIG9mIG0gd2l0aCBhcmd1
bWVudHMgcHJvdG8gYW5kIGZhbHNlLgorICAgIFsuLi5dCisKKyAgICBSdW50aW1lIFNlbWFudGlj
czogUHJvcGVydHlEZWZpbml0aW9uRXZhbHVhdGlvbgorCisgICAgV2l0aCBwYXJhbWV0ZXJzIG9i
amVjdCBhbmQgZW51bWVyYWJsZS4KKworICAgIE1ldGhvZERlZmluaXRpb24gOiBnZXQgUHJvcGVy
dHlOYW1lICggKSB7IEZ1bmN0aW9uQm9keSB9CisKKyAgICBbLi4uXQorICAgIDkuIExldCBkZXNj
IGJlIHRoZSBQcm9wZXJ0eURlc2NyaXB0b3IgeyBbW0dldF1dOiBjbG9zdXJlLCBbW0VudW1lcmFi
bGVdXTogZW51bWVyYWJsZSwgW1tDb25maWd1cmFibGVdXTogdHJ1ZSB9LgorICAgIDEwLiBSZXR1
cm4gPyBEZWZpbmVQcm9wZXJ0eU9yVGhyb3cob2JqZWN0LCBwcm9wS2V5LCBkZXNjKS4KKworICAg
IE1ldGhvZERlZmluaXRpb24gOiBzZXQgUHJvcGVydHlOYW1lICggUHJvcGVydHlTZXRQYXJhbWV0
ZXJMaXN0ICkgeyBGdW5jdGlvbkJvZHkgfQorCisgICAgWy4uLl0KKyAgICA4LiBMZXQgZGVzYyBi
ZSB0aGUgUHJvcGVydHlEZXNjcmlwdG9yIHsgW1tTZXRdXTogY2xvc3VyZSwgW1tFbnVtZXJhYmxl
XV06IGVudW1lcmFibGUsIFtbQ29uZmlndXJhYmxlXV06IHRydWUgfS4KKyAgICA5LiBSZXR1cm4g
PyBEZWZpbmVQcm9wZXJ0eU9yVGhyb3cob2JqZWN0LCBwcm9wS2V5LCBkZXNjKS4KKworLS0tKi8K
KworCit2YXIgQyA9IGNsYXNzIHsKKyAgZ2V0IHByb3RvdHlwZSgpIHsgcmV0dXJuIDEzOyB9Cisg
IHNldCBwcm90b3R5cGUoXykge30KK307CisKK2Fzc2VydChDLmhhc093blByb3BlcnR5KCdwcm90
b3R5cGUnKSk7Cithc3NlcnQoQy5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoJ3Byb3RvdHlwZScp
KTsKK2Fzc2VydC5ub3RTYW1lVmFsdWUoQy5wcm90b3R5cGUucHJvdG90eXBlLCBDLnByb3RvdHlw
ZSk7Cithc3NlcnQuc2FtZVZhbHVlKEMucHJvdG90eXBlLnByb3RvdHlwZSwgMTMpOwordmVyaWZ5
UHJvcGVydHkoQy5wcm90b3R5cGUsICdwcm90b3R5cGUnLCB7CisgICAgZW51bWVyYWJsZTogZmFs
c2UsCisgICAgY29uZmlndXJhYmxlOiB0cnVlLAorfSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9lbGVtZW50cy9zeW50YXgvdmFs
aWQvZ3JhbW1hci1zcGVjaWFsLXByb3RvdHlwZS1hc3luYy1nZW4tbWV0aC12YWxpZC5qcyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2VsZW1lbnRzL3N5
bnRheC92YWxpZC9ncmFtbWFyLXNwZWNpYWwtcHJvdG90eXBlLWFzeW5jLWdlbi1tZXRoLXZhbGlk
LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmI3ZTgzZWU3OTg3ZTkzODZkOTQxZTRmOTRlNDQ3NmFmNTk4Mjk1OTQK
LS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNz
aW9ucy9jbGFzcy9lbGVtZW50cy9zeW50YXgvdmFsaWQvZ3JhbW1hci1zcGVjaWFsLXByb3RvdHlw
ZS1hc3luYy1nZW4tbWV0aC12YWxpZC5qcwpAQCAtMCwwICsxLDQ5IEBACisvLyBUaGlzIGZpbGUg
d2FzIHByb2NlZHVyYWxseSBnZW5lcmF0ZWQgZnJvbSB0aGUgZm9sbG93aW5nIHNvdXJjZXM6Cisv
LyAtIHNyYy9jbGFzcy1lbGVtZW50cy9ncmFtbWFyLXNwZWNpYWwtcHJvdG90eXBlLWFzeW5jLWdl
bi1tZXRoLXZhbGlkLmNhc2UKKy8vIC0gc3JjL2NsYXNzLWVsZW1lbnRzL3N5bnRheC92YWxpZC9j
bHMtZXhwci1lbGVtZW50cy12YWxpZC1zeW50YXgudGVtcGxhdGUKKy8qLS0tCitkZXNjcmlwdGlv
bjogQXN5bmMgR2VuZXJhdG9yIE1ldGhvZHMgY2FuIGJlIG5hbWVkICJwcm90b3R5cGUiIChjbGFz
cyBleHByZXNzaW9uKQorZXNpZDogcHJvZC1DbGFzc0VsZW1lbnQKK2ZlYXR1cmVzOiBbYXN5bmMt
aXRlcmF0aW9uLCBjbGFzc10KK2ZsYWdzOiBbZ2VuZXJhdGVkXQoraW5jbHVkZXM6IFtwcm9wZXJ0
eUhlbHBlci5qc10KK2luZm86IHwKKyAgICBSdW50aW1lIFNlbWFudGljczogQ2xhc3NEZWZpbml0
aW9uRXZhbHVhdGlvbgorCisgICAgQ2xhc3NUYWlsIDogQ2xhc3NIZXJpdGFnZV9vcHQgeyBDbGFz
c0JvZHlfb3B0IH0KKworICAgIFsuLi5dCisgICAgNi4gTGV0IHByb3RvIGJlIE9yZGluYXJ5T2Jq
ZWN0Q3JlYXRlKHByb3RvUGFyZW50KS4KKyAgICBbLi4uXQorICAgIDE0LiBQZXJmb3JtIE1ha2VD
b25zdHJ1Y3RvcihGLCBmYWxzZSwgcHJvdG8pLgorICAgIFsuLi5dCisgICAgMjAuIEZvciBlYWNo
IENsYXNzRWxlbWVudCBtIGluIG9yZGVyIGZyb20gbWV0aG9kcywgZG8KKyAgICAgICAgYS4gSWYg
SXNTdGF0aWMgb2YgbSBpcyBmYWxzZSwgdGhlbgorICAgICAgICAgICAgaS4gTGV0IHN0YXR1cyBi
ZSBQcm9wZXJ0eURlZmluaXRpb25FdmFsdWF0aW9uIG9mIG0gd2l0aCBhcmd1bWVudHMgcHJvdG8g
YW5kIGZhbHNlLgorICAgIFsuLi5dCisKKyAgICBSdW50aW1lIFNlbWFudGljczogUHJvcGVydHlE
ZWZpbml0aW9uRXZhbHVhdGlvbgorCisgICAgV2l0aCBwYXJhbWV0ZXJzIG9iamVjdCBhbmQgZW51
bWVyYWJsZS4KKworICAgIEFzeW5jR2VuZXJhdG9yTWV0aG9kIDogYXN5bmMgKiBQcm9wZXJ0eU5h
bWUgKCBVbmlxdWVGb3JtYWxQYXJhbWV0ZXJzICkgeyBBc3luY0dlbmVyYXRvckJvZHkgfQorCisg
ICAgWy4uLl0KKyAgICAxMC4gTGV0IGRlc2MgYmUgUHJvcGVydHlEZXNjcmlwdG9yIHsgW1tWYWx1
ZV1dOiBjbG9zdXJlLCBbW1dyaXRhYmxlXV06IHRydWUsIFtbRW51bWVyYWJsZV1dOiBlbnVtZXJh
YmxlLCBbW0NvbmZpZ3VyYWJsZV1dOiB0cnVlIH0uCisgICAgMTEuIFJldHVybiA/IERlZmluZVBy
b3BlcnR5T3JUaHJvdyhvYmplY3QsIHByb3BLZXksIGRlc2MpLgorCistLS0qLworCisKK3ZhciBD
ID0gY2xhc3MgeworICBhc3luYyAqIHByb3RvdHlwZSgpIHt9Cit9OworCithc3NlcnQoQy5oYXNP
d25Qcm9wZXJ0eSgncHJvdG90eXBlJykpOworYXNzZXJ0KEMucHJvdG90eXBlLmhhc093blByb3Bl
cnR5KCdwcm90b3R5cGUnKSk7Cithc3NlcnQubm90U2FtZVZhbHVlKEMucHJvdG90eXBlLnByb3Rv
dHlwZSwgQy5wcm90b3R5cGUpOwordmVyaWZ5UHJvcGVydHkoQy5wcm90b3R5cGUsICdwcm90b3R5
cGUnLCB7CisgICAgd3JpdGFibGU6IHRydWUsCisgICAgZW51bWVyYWJsZTogZmFsc2UsCisgICAg
Y29uZmlndXJhYmxlOiB0cnVlLAorfSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9lbGVtZW50cy9zeW50YXgvdmFsaWQvZ3JhbW1h
ci1zcGVjaWFsLXByb3RvdHlwZS1hc3luYy1tZXRoLXZhbGlkLmpzIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvZWxlbWVudHMvc3ludGF4L3ZhbGlkL2dy
YW1tYXItc3BlY2lhbC1wcm90b3R5cGUtYXN5bmMtbWV0aC12YWxpZC5qcwpuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4z
MDFjNTFhM2JjNzE1ZTMzNjk5MjI2OWZkMjY1OGRjYTg3ZjE4YjcwCi0tLSAvZGV2L251bGwKKysr
IGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvZWxlbWVu
dHMvc3ludGF4L3ZhbGlkL2dyYW1tYXItc3BlY2lhbC1wcm90b3R5cGUtYXN5bmMtbWV0aC12YWxp
ZC5qcwpAQCAtMCwwICsxLDQ5IEBACisvLyBUaGlzIGZpbGUgd2FzIHByb2NlZHVyYWxseSBnZW5l
cmF0ZWQgZnJvbSB0aGUgZm9sbG93aW5nIHNvdXJjZXM6CisvLyAtIHNyYy9jbGFzcy1lbGVtZW50
cy9ncmFtbWFyLXNwZWNpYWwtcHJvdG90eXBlLWFzeW5jLW1ldGgtdmFsaWQuY2FzZQorLy8gLSBz
cmMvY2xhc3MtZWxlbWVudHMvc3ludGF4L3ZhbGlkL2Nscy1leHByLWVsZW1lbnRzLXZhbGlkLXN5
bnRheC50ZW1wbGF0ZQorLyotLS0KK2Rlc2NyaXB0aW9uOiBBc3luYyBNZXRob2RzIGNhbiBiZSBu
YW1lZCAicHJvdG90eXBlIiAoY2xhc3MgZXhwcmVzc2lvbikKK2VzaWQ6IHByb2QtQ2xhc3NFbGVt
ZW50CitmZWF0dXJlczogW2FzeW5jLWZ1bmN0aW9ucywgY2xhc3NdCitmbGFnczogW2dlbmVyYXRl
ZF0KK2luY2x1ZGVzOiBbcHJvcGVydHlIZWxwZXIuanNdCitpbmZvOiB8CisgICAgUnVudGltZSBT
ZW1hbnRpY3M6IENsYXNzRGVmaW5pdGlvbkV2YWx1YXRpb24KKworICAgIENsYXNzVGFpbCA6IENs
YXNzSGVyaXRhZ2Vfb3B0IHsgQ2xhc3NCb2R5X29wdCB9CisKKyAgICBbLi4uXQorICAgIDYuIExl
dCBwcm90byBiZSBPcmRpbmFyeU9iamVjdENyZWF0ZShwcm90b1BhcmVudCkuCisgICAgWy4uLl0K
KyAgICAxNC4gUGVyZm9ybSBNYWtlQ29uc3RydWN0b3IoRiwgZmFsc2UsIHByb3RvKS4KKyAgICBb
Li4uXQorICAgIDIwLiBGb3IgZWFjaCBDbGFzc0VsZW1lbnQgbSBpbiBvcmRlciBmcm9tIG1ldGhv
ZHMsIGRvCisgICAgICAgIGEuIElmIElzU3RhdGljIG9mIG0gaXMgZmFsc2UsIHRoZW4KKyAgICAg
ICAgICAgIGkuIExldCBzdGF0dXMgYmUgUHJvcGVydHlEZWZpbml0aW9uRXZhbHVhdGlvbiBvZiBt
IHdpdGggYXJndW1lbnRzIHByb3RvIGFuZCBmYWxzZS4KKyAgICBbLi4uXQorCisgICAgUnVudGlt
ZSBTZW1hbnRpY3M6IFByb3BlcnR5RGVmaW5pdGlvbkV2YWx1YXRpb24KKworICAgIFdpdGggcGFy
YW1ldGVycyBvYmplY3QgYW5kIGVudW1lcmFibGUuCisKKyAgICBBc3luY01ldGhvZCA6IGFzeW5j
IFByb3BlcnR5TmFtZSAoIFVuaXF1ZUZvcm1hbFBhcmFtZXRlcnMgKSB7IEFzeW5jRnVuY3Rpb25C
b2R5IH0KKworICAgIFsuLi5dCisgICAgOC4gTGV0IGRlc2MgYmUgdGhlIFByb3BlcnR5RGVzY3Jp
cHRvciB7IFtbVmFsdWVdXTogY2xvc3VyZSwgW1tXcml0YWJsZV1dOiB0cnVlLCBbW0VudW1lcmFi
bGVdXTogZW51bWVyYWJsZSwgW1tDb25maWd1cmFibGVdXTogdHJ1ZSB9LgorICAgIDkuIFJldHVy
biA/IERlZmluZVByb3BlcnR5T3JUaHJvdyhvYmplY3QsIHByb3BLZXksIGRlc2MpLgorCistLS0q
LworCisKK3ZhciBDID0gY2xhc3MgeworICBhc3luYyBwcm90b3R5cGUoKSB7fQorfTsKKworYXNz
ZXJ0KEMuaGFzT3duUHJvcGVydHkoJ3Byb3RvdHlwZScpKTsKK2Fzc2VydChDLnByb3RvdHlwZS5o
YXNPd25Qcm9wZXJ0eSgncHJvdG90eXBlJykpOworYXNzZXJ0Lm5vdFNhbWVWYWx1ZShDLnByb3Rv
dHlwZS5wcm90b3R5cGUsIEMucHJvdG90eXBlKTsKK3ZlcmlmeVByb3BlcnR5KEMucHJvdG90eXBl
LCAncHJvdG90eXBlJywgeworICAgIHdyaXRhYmxlOiB0cnVlLAorICAgIGVudW1lcmFibGU6IGZh
bHNlLAorICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSwKK30pOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvZWxlbWVudHMvc3ludGF4L3Zh
bGlkL2dyYW1tYXItc3BlY2lhbC1wcm90b3R5cGUtZ2VuLW1ldGgtdmFsaWQuanMgYi9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9lbGVtZW50cy9zeW50YXgv
dmFsaWQvZ3JhbW1hci1zcGVjaWFsLXByb3RvdHlwZS1nZW4tbWV0aC12YWxpZC5qcwpuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44Yzk3N2ZhMThlOGM5YWYwZGYwNTA0MTk3ZTM4NzM0M2U1NzFhOTgxCi0tLSAvZGV2L251
bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3Mv
ZWxlbWVudHMvc3ludGF4L3ZhbGlkL2dyYW1tYXItc3BlY2lhbC1wcm90b3R5cGUtZ2VuLW1ldGgt
dmFsaWQuanMKQEAgLTAsMCArMSw0OSBAQAorLy8gVGhpcyBmaWxlIHdhcyBwcm9jZWR1cmFsbHkg
Z2VuZXJhdGVkIGZyb20gdGhlIGZvbGxvd2luZyBzb3VyY2VzOgorLy8gLSBzcmMvY2xhc3MtZWxl
bWVudHMvZ3JhbW1hci1zcGVjaWFsLXByb3RvdHlwZS1nZW4tbWV0aC12YWxpZC5jYXNlCisvLyAt
IHNyYy9jbGFzcy1lbGVtZW50cy9zeW50YXgvdmFsaWQvY2xzLWV4cHItZWxlbWVudHMtdmFsaWQt
c3ludGF4LnRlbXBsYXRlCisvKi0tLQorZGVzY3JpcHRpb246IEdlbmVyYXRvciBNZXRob2RzIGNh
biBiZSBuYW1lZCAicHJvdG90eXBlIiAoY2xhc3MgZXhwcmVzc2lvbikKK2VzaWQ6IHByb2QtQ2xh
c3NFbGVtZW50CitmZWF0dXJlczogW2dlbmVyYXRvcnMsIGNsYXNzXQorZmxhZ3M6IFtnZW5lcmF0
ZWRdCitpbmNsdWRlczogW3Byb3BlcnR5SGVscGVyLmpzXQoraW5mbzogfAorICAgIFJ1bnRpbWUg
U2VtYW50aWNzOiBDbGFzc0RlZmluaXRpb25FdmFsdWF0aW9uCisKKyAgICBDbGFzc1RhaWwgOiBD
bGFzc0hlcml0YWdlX29wdCB7IENsYXNzQm9keV9vcHQgfQorCisgICAgWy4uLl0KKyAgICA2LiBM
ZXQgcHJvdG8gYmUgT3JkaW5hcnlPYmplY3RDcmVhdGUocHJvdG9QYXJlbnQpLgorICAgIFsuLi5d
CisgICAgMTQuIFBlcmZvcm0gTWFrZUNvbnN0cnVjdG9yKEYsIGZhbHNlLCBwcm90bykuCisgICAg
Wy4uLl0KKyAgICAyMC4gRm9yIGVhY2ggQ2xhc3NFbGVtZW50IG0gaW4gb3JkZXIgZnJvbSBtZXRo
b2RzLCBkbworICAgICAgICBhLiBJZiBJc1N0YXRpYyBvZiBtIGlzIGZhbHNlLCB0aGVuCisgICAg
ICAgICAgICBpLiBMZXQgc3RhdHVzIGJlIFByb3BlcnR5RGVmaW5pdGlvbkV2YWx1YXRpb24gb2Yg
bSB3aXRoIGFyZ3VtZW50cyBwcm90byBhbmQgZmFsc2UuCisgICAgWy4uLl0KKworICAgIFJ1bnRp
bWUgU2VtYW50aWNzOiBQcm9wZXJ0eURlZmluaXRpb25FdmFsdWF0aW9uCisKKyAgICBXaXRoIHBh
cmFtZXRlcnMgb2JqZWN0IGFuZCBlbnVtZXJhYmxlLgorCisgICAgR2VuZXJhdG9yTWV0aG9kIDog
KiBQcm9wZXJ0eU5hbWUgKCBVbmlxdWVGb3JtYWxQYXJhbWV0ZXJzICkgeyBHZW5lcmF0b3JCb2R5
IH0KKworICAgIFsuLi5dCisgICAgMTAuIExldCBkZXNjIGJlIHRoZSBQcm9wZXJ0eURlc2NyaXB0
b3IgeyBbW1ZhbHVlXV06IGNsb3N1cmUsIFtbV3JpdGFibGVdXTogdHJ1ZSwgW1tFbnVtZXJhYmxl
XV06IGVudW1lcmFibGUsIFtbQ29uZmlndXJhYmxlXV06IHRydWUgfS4KKyAgICAxMS4gUmV0dXJu
ID8gRGVmaW5lUHJvcGVydHlPclRocm93KG9iamVjdCwgcHJvcEtleSwgZGVzYykuCisKKy0tLSov
CisKKwordmFyIEMgPSBjbGFzcyB7CisgICogcHJvdG90eXBlKCkge30KK307CisKK2Fzc2VydChD
Lmhhc093blByb3BlcnR5KCdwcm90b3R5cGUnKSk7Cithc3NlcnQoQy5wcm90b3R5cGUuaGFzT3du
UHJvcGVydHkoJ3Byb3RvdHlwZScpKTsKK2Fzc2VydC5ub3RTYW1lVmFsdWUoQy5wcm90b3R5cGUu
cHJvdG90eXBlLCBDLnByb3RvdHlwZSk7Cit2ZXJpZnlQcm9wZXJ0eShDLnByb3RvdHlwZSwgJ3By
b3RvdHlwZScsIHsKKyAgICB3cml0YWJsZTogdHJ1ZSwKKyAgICBlbnVtZXJhYmxlOiBmYWxzZSwK
KyAgICBjb25maWd1cmFibGU6IHRydWUsCit9KTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2VsZW1lbnRzL3N5bnRheC92YWxpZC9n
cmFtbWFyLXNwZWNpYWwtcHJvdG90eXBlLW1ldGgtdmFsaWQuanMgYi9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9lbGVtZW50cy9zeW50YXgvdmFsaWQvZ3Jh
bW1hci1zcGVjaWFsLXByb3RvdHlwZS1tZXRoLXZhbGlkLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJkMTI5OTRk
YWE4YThiNmEzMTJjOWFmOTAzMGU4ZWU5MTU1ZTBhOTEKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9lbGVtZW50cy9zeW50
YXgvdmFsaWQvZ3JhbW1hci1zcGVjaWFsLXByb3RvdHlwZS1tZXRoLXZhbGlkLmpzCkBAIC0wLDAg
KzEsNDkgQEAKKy8vIFRoaXMgZmlsZSB3YXMgcHJvY2VkdXJhbGx5IGdlbmVyYXRlZCBmcm9tIHRo
ZSBmb2xsb3dpbmcgc291cmNlczoKKy8vIC0gc3JjL2NsYXNzLWVsZW1lbnRzL2dyYW1tYXItc3Bl
Y2lhbC1wcm90b3R5cGUtbWV0aC12YWxpZC5jYXNlCisvLyAtIHNyYy9jbGFzcy1lbGVtZW50cy9z
eW50YXgvdmFsaWQvY2xzLWV4cHItZWxlbWVudHMtdmFsaWQtc3ludGF4LnRlbXBsYXRlCisvKi0t
LQorZGVzY3JpcHRpb246IE1ldGhvZHMgY2FuIGJlIG5hbWVkICJwcm90b3R5cGUiIChjbGFzcyBl
eHByZXNzaW9uKQorZXNpZDogcHJvZC1DbGFzc0VsZW1lbnQKK2ZlYXR1cmVzOiBbY2xhc3NdCitm
bGFnczogW2dlbmVyYXRlZF0KK2luY2x1ZGVzOiBbcHJvcGVydHlIZWxwZXIuanNdCitpbmZvOiB8
CisgICAgUnVudGltZSBTZW1hbnRpY3M6IENsYXNzRGVmaW5pdGlvbkV2YWx1YXRpb24KKworICAg
IENsYXNzVGFpbCA6IENsYXNzSGVyaXRhZ2Vfb3B0IHsgQ2xhc3NCb2R5X29wdCB9IAorCisgICAg
Wy4uLl0KKyAgICA2LiBMZXQgcHJvdG8gYmUgT3JkaW5hcnlPYmplY3RDcmVhdGUocHJvdG9QYXJl
bnQpLgorICAgIFsuLi5dCisgICAgMTQuIFBlcmZvcm0gTWFrZUNvbnN0cnVjdG9yKEYsIGZhbHNl
LCBwcm90bykuCisgICAgWy4uLl0KKyAgICAyMC4gRm9yIGVhY2ggQ2xhc3NFbGVtZW50IG0gaW4g
b3JkZXIgZnJvbSBtZXRob2RzLCBkbworICAgICAgICBhLiBJZiBJc1N0YXRpYyBvZiBtIGlzIGZh
bHNlLCB0aGVuCisgICAgICAgICAgICBpLiBMZXQgc3RhdHVzIGJlIFByb3BlcnR5RGVmaW5pdGlv
bkV2YWx1YXRpb24gb2YgbSB3aXRoIGFyZ3VtZW50cyBwcm90byBhbmQgZmFsc2UuCisgICAgWy4u
Ll0KKworICAgIFJ1bnRpbWUgU2VtYW50aWNzOiBQcm9wZXJ0eURlZmluaXRpb25FdmFsdWF0aW9u
CisKKyAgICBXaXRoIHBhcmFtZXRlcnMgb2JqZWN0IGFuZCBlbnVtZXJhYmxlLgorCisgICAgTWV0
aG9kRGVmaW5pdGlvbiA6IFByb3BlcnR5TmFtZSAoIFVuaXF1ZUZvcm1hbFBhcmFtZXRlcnMgKSB7
IEZ1bmN0aW9uQm9keSB9CisKKyAgICBbLi4uXQorICAgIDMuIExldCBkZXNjIGJlIHRoZSBQcm9w
ZXJ0eURlc2NyaXB0b3IgeyBbW1ZhbHVlXV06IG1ldGhvZERlZi5bW0Nsb3N1cmVdXSwgW1tXcml0
YWJsZV1dOiB0cnVlLCBbW0VudW1lcmFibGVdXTogZW51bWVyYWJsZSwgW1tDb25maWd1cmFibGVd
XTogdHJ1ZSB9LgorICAgIDQuIFJldHVybiA/IERlZmluZVByb3BlcnR5T3JUaHJvdyhvYmplY3Qs
IG1ldGhvZERlZi5bW0tleV1dLCBkZXNjKS4KKworLS0tKi8KKworCit2YXIgQyA9IGNsYXNzIHsK
KyAgcHJvdG90eXBlKCkge30KK307CisKK2Fzc2VydChDLmhhc093blByb3BlcnR5KCdwcm90b3R5
cGUnKSk7Cithc3NlcnQoQy5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoJ3Byb3RvdHlwZScpKTsK
K2Fzc2VydC5ub3RTYW1lVmFsdWUoQy5wcm90b3R5cGUucHJvdG90eXBlLCBDLnByb3RvdHlwZSk7
Cit2ZXJpZnlQcm9wZXJ0eShDLnByb3RvdHlwZSwgJ3Byb3RvdHlwZScsIHsKKyAgICB3cml0YWJs
ZTogdHJ1ZSwKKyAgICBlbnVtZXJhYmxlOiBmYWxzZSwKKyAgICBjb25maWd1cmFibGU6IHRydWUs
Cit9KTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Np
b25zL2RlbGV0ZS8xMS40LjEtNS1hLTVncy5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1
YWdlL2V4cHJlc3Npb25zL2RlbGV0ZS8xMS40LjEtNS1hLTVncy5qcwpkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggNmI1M2NmNDEwZDdiNGUzNzMwMWNlOWM3NzY5OTI5NDU1NjA4NTU2Zi4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9kZWxldGUvMTEuNC4xLTUtYS01Z3MuanMK
KysrIC9kZXYvbnVsbApAQCAtMSwxOCArMCwwIEBACi0vLyBDb3B5cmlnaHQgKGMpIDIwMTIgRWNt
YSBJbnRlcm5hdGlvbmFsLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KLS8vIFRoaXMgY29kZSBpcyBn
b3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KLQot
LyotLS0KLWVzNWlkOiAxMS40LjEtNS1hLTVncwotZGVzY3JpcHRpb246ID4KLSAgICBTdHJpY3Qg
TW9kZSAtIFN5bnRheEVycm9yIGlzIHRocm93biB3aGVuIGRlbGV0aW5nIGEgdmFyaWFibGUgd2hp
Y2gKLSAgICBpcyBwcmltaXRpdmUgdHlwZShib29sZWFuKQotbmVnYXRpdmU6Ci0gIHBoYXNlOiBw
YXJzZQotICB0eXBlOiBTeW50YXhFcnJvcgotZmxhZ3M6IFtvbmx5U3RyaWN0XQotLS0tKi8KLQot
JERPTk9URVZBTFVBVEUoKTsKLQotdmFyIF8xMV80XzFfNSA9IDc7Ci1kZWxldGUgXzExXzRfMV81
OwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMv
ZnVuY3Rpb24vZHN0ci9hcnktaW5pdC1pdGVyLWdldC1lcnItYXJyYXktcHJvdG90eXBlLmpzIGIv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvZnVuY3Rpb24vZHN0ci9h
cnktaW5pdC1pdGVyLWdldC1lcnItYXJyYXktcHJvdG90eXBlLmpzCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI5ZGZk
NWYzODFiZWEwMzg4NTFjZGU4ZDFhYWVlNTVhZGRjNzc4MDIKLS0tIC9kZXYvbnVsbAorKysgYi9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9mdW5jdGlvbi9kc3RyL2Fy
eS1pbml0LWl0ZXItZ2V0LWVyci1hcnJheS1wcm90b3R5cGUuanMKQEAgLTAsMCArMSw2MyBAQAor
Ly8gVGhpcyBmaWxlIHdhcyBwcm9jZWR1cmFsbHkgZ2VuZXJhdGVkIGZyb20gdGhlIGZvbGxvd2lu
ZyBzb3VyY2VzOgorLy8gLSBzcmMvZHN0ci1iaW5kaW5nL2FyeS1pbml0LWl0ZXItZ2V0LWVyci1h
cnJheS1wcm90b3R5cGUuY2FzZQorLy8gLSBzcmMvZHN0ci1iaW5kaW5nL2Vycm9yL2Z1bmMtZXhw
ci50ZW1wbGF0ZQorLyotLS0KK2Rlc2NyaXB0aW9uOiBBYnJ1cHQgY29tcGxldGlvbiByZXR1cm5l
ZCBieSBHZXRJdGVyYXRvciAoZnVuY3Rpb24gZXhwcmVzc2lvbikKK2VzaWQ6IHNlYy1mdW5jdGlv
bi1kZWZpbml0aW9ucy1ydW50aW1lLXNlbWFudGljcy1ldmFsdWF0aW9uCitmZWF0dXJlczogW1N5
bWJvbC5pdGVyYXRvciwgZGVzdHJ1Y3R1cmluZy1iaW5kaW5nXQorZmxhZ3M6IFtnZW5lcmF0ZWRd
CitpbmZvOiB8CisgICAgRnVuY3Rpb25FeHByZXNzaW9uIDogZnVuY3Rpb24gKCBGb3JtYWxQYXJh
bWV0ZXJzICkgeyBGdW5jdGlvbkJvZHkgfQorCisgICAgICAgIFsuLi5dCisgICAgICAgIDMuIExl
dCBjbG9zdXJlIGJlIEZ1bmN0aW9uQ3JlYXRlKE5vcm1hbCwgRm9ybWFsUGFyYW1ldGVycywgRnVu
Y3Rpb25Cb2R5LAorICAgICAgICAgICBzY29wZSwgc3RyaWN0KS4KKyAgICAgICAgWy4uLl0KKwor
ICAgIDkuMi4xIFtbQ2FsbF1dICggdGhpc0FyZ3VtZW50LCBhcmd1bWVudHNMaXN0KQorCisgICAg
Wy4uLl0KKyAgICA3LiBMZXQgcmVzdWx0IGJlIE9yZGluYXJ5Q2FsbEV2YWx1YXRlQm9keShGLCBh
cmd1bWVudHNMaXN0KS4KKyAgICBbLi4uXQorCisgICAgOS4yLjEuMyBPcmRpbmFyeUNhbGxFdmFs
dWF0ZUJvZHkgKCBGLCBhcmd1bWVudHNMaXN0ICkKKworICAgIDEuIExldCBzdGF0dXMgYmUgRnVu
Y3Rpb25EZWNsYXJhdGlvbkluc3RhbnRpYXRpb24oRiwgYXJndW1lbnRzTGlzdCkuCisgICAgWy4u
Ll0KKworICAgIDkuMi4xMiBGdW5jdGlvbkRlY2xhcmF0aW9uSW5zdGFudGlhdGlvbihmdW5jLCBh
cmd1bWVudHNMaXN0KQorCisgICAgWy4uLl0KKyAgICAyMy4gTGV0IGl0ZXJhdG9yUmVjb3JkIGJl
IFJlY29yZCB7W1tpdGVyYXRvcl1dOgorICAgICAgICBDcmVhdGVMaXN0SXRlcmF0b3IoYXJndW1l
bnRzTGlzdCksIFtbZG9uZV1dOiBmYWxzZX0uCisgICAgMjQuIElmIGhhc0R1cGxpY2F0ZXMgaXMg
dHJ1ZSwgdGhlbgorICAgICAgICBbLi4uXQorICAgIDI1LiBFbHNlLAorICAgICAgICBiLiBMZXQg
Zm9ybWFsU3RhdHVzIGJlIEl0ZXJhdG9yQmluZGluZ0luaXRpYWxpemF0aW9uIGZvciBmb3JtYWxz
IHdpdGgKKyAgICAgICAgICAgaXRlcmF0b3JSZWNvcmQgYW5kIGVudiBhcyBhcmd1bWVudHMuCisg
ICAgWy4uLl0KKworICAgIFJ1bnRpbWUgU2VtYW50aWNzOiBCaW5kaW5nSW5pdGlhbGl6YXRpb24K
KworICAgIEJpbmRpbmdQYXR0ZXJuIDogQXJyYXlCaW5kaW5nUGF0dGVybgorCisgICAgMS4gTGV0
IGl0ZXJhdG9yUmVjb3JkIGJlID8gR2V0SXRlcmF0b3IodmFsdWUpLgorCisgICAgR2V0SXRlcmF0
b3IgKCBvYmogWyAsIGhpbnQgWyAsIG1ldGhvZCBdIF0gKQorCisgICAgWy4uLl0KKyAgICA0LiBM
ZXQgaXRlcmF0b3IgYmUgPyBDYWxsKG1ldGhvZCwgb2JqKS4KKworICAgIENhbGwgKCBGLCBWIFsg
LCBhcmd1bWVudHNMaXN0IF0gKQorCisgICAgWy4uLl0KKyAgICAyLiBJZiBJc0NhbGxhYmxlKEYp
IGlzIGZhbHNlLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24uCisKKy0tLSovCitkZWxldGUg
QXJyYXkucHJvdG90eXBlW1N5bWJvbC5pdGVyYXRvcl07CisKK3ZhciBmID0gZnVuY3Rpb24oW3gs
IHksIHpdKSB7fTsKKworYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsIGZ1bmN0aW9uKCkgeworICBm
KFsxLCAyLCAzXSk7Cit9KTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1
YWdlL2V4cHJlc3Npb25zL2Z1bmN0aW9uL2RzdHIvYXJ5LXB0cm4tZWxlbS1pZC1pdGVyLXZhbC1h
cnJheS1wcm90b3R5cGUuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNz
aW9ucy9mdW5jdGlvbi9kc3RyL2FyeS1wdHJuLWVsZW0taWQtaXRlci12YWwtYXJyYXktcHJvdG90
eXBlLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjlhNzU2Nzk0MGZhOTY4ZTkzMTQ5ZWI5MjcyMDBmNTU2YzVkZGFm
OTgKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHBy
ZXNzaW9ucy9mdW5jdGlvbi9kc3RyL2FyeS1wdHJuLWVsZW0taWQtaXRlci12YWwtYXJyYXktcHJv
dG90eXBlLmpzCkBAIC0wLDAgKzEsODEgQEAKKy8vIFRoaXMgZmlsZSB3YXMgcHJvY2VkdXJhbGx5
IGdlbmVyYXRlZCBmcm9tIHRoZSBmb2xsb3dpbmcgc291cmNlczoKKy8vIC0gc3JjL2RzdHItYmlu
ZGluZy9hcnktcHRybi1lbGVtLWlkLWl0ZXItdmFsLWFycmF5LXByb3RvdHlwZS5jYXNlCisvLyAt
IHNyYy9kc3RyLWJpbmRpbmcvZGVmYXVsdC9mdW5jLWV4cHIudGVtcGxhdGUKKy8qLS0tCitkZXNj
cmlwdGlvbjogQXJyYXkgZGVzdHJ1Y3R1cmluZyB1c2VzIG92ZXJyaWRlbiBBcnJheS5wcm90b3R5
cGVbU3ltYm9sLml0ZXJhdG9yXSAoZnVuY3Rpb24gZXhwcmVzc2lvbikKK2VzaWQ6IHNlYy1mdW5j
dGlvbi1kZWZpbml0aW9ucy1ydW50aW1lLXNlbWFudGljcy1ldmFsdWF0aW9uCitmZWF0dXJlczog
W1N5bWJvbC5pdGVyYXRvciwgZ2VuZXJhdG9ycywgZGVzdHJ1Y3R1cmluZy1iaW5kaW5nXQorZmxh
Z3M6IFtnZW5lcmF0ZWRdCitpbmZvOiB8CisgICAgRnVuY3Rpb25FeHByZXNzaW9uIDogZnVuY3Rp
b24gKCBGb3JtYWxQYXJhbWV0ZXJzICkgeyBGdW5jdGlvbkJvZHkgfQorCisgICAgICAgIFsuLi5d
CisgICAgICAgIDMuIExldCBjbG9zdXJlIGJlIEZ1bmN0aW9uQ3JlYXRlKE5vcm1hbCwgRm9ybWFs
UGFyYW1ldGVycywgRnVuY3Rpb25Cb2R5LAorICAgICAgICAgICBzY29wZSwgc3RyaWN0KS4KKyAg
ICAgICAgWy4uLl0KKworICAgIDkuMi4xIFtbQ2FsbF1dICggdGhpc0FyZ3VtZW50LCBhcmd1bWVu
dHNMaXN0KQorCisgICAgWy4uLl0KKyAgICA3LiBMZXQgcmVzdWx0IGJlIE9yZGluYXJ5Q2FsbEV2
YWx1YXRlQm9keShGLCBhcmd1bWVudHNMaXN0KS4KKyAgICBbLi4uXQorCisgICAgOS4yLjEuMyBP
cmRpbmFyeUNhbGxFdmFsdWF0ZUJvZHkgKCBGLCBhcmd1bWVudHNMaXN0ICkKKworICAgIDEuIExl
dCBzdGF0dXMgYmUgRnVuY3Rpb25EZWNsYXJhdGlvbkluc3RhbnRpYXRpb24oRiwgYXJndW1lbnRz
TGlzdCkuCisgICAgWy4uLl0KKworICAgIDkuMi4xMiBGdW5jdGlvbkRlY2xhcmF0aW9uSW5zdGFu
dGlhdGlvbihmdW5jLCBhcmd1bWVudHNMaXN0KQorCisgICAgWy4uLl0KKyAgICAyMy4gTGV0IGl0
ZXJhdG9yUmVjb3JkIGJlIFJlY29yZCB7W1tpdGVyYXRvcl1dOgorICAgICAgICBDcmVhdGVMaXN0
SXRlcmF0b3IoYXJndW1lbnRzTGlzdCksIFtbZG9uZV1dOiBmYWxzZX0uCisgICAgMjQuIElmIGhh
c0R1cGxpY2F0ZXMgaXMgdHJ1ZSwgdGhlbgorICAgICAgICBbLi4uXQorICAgIDI1LiBFbHNlLAor
ICAgICAgICBiLiBMZXQgZm9ybWFsU3RhdHVzIGJlIEl0ZXJhdG9yQmluZGluZ0luaXRpYWxpemF0
aW9uIGZvciBmb3JtYWxzIHdpdGgKKyAgICAgICAgICAgaXRlcmF0b3JSZWNvcmQgYW5kIGVudiBh
cyBhcmd1bWVudHMuCisgICAgWy4uLl0KKworICAgIFJ1bnRpbWUgU2VtYW50aWNzOiBJdGVyYXRv
ckJpbmRpbmdJbml0aWFsaXphdGlvbgorCisgICAgU2luZ2xlTmFtZUJpbmRpbmcgOiBCaW5kaW5n
SWRlbnRpZmllciBJbml0aWFsaXplcl9vcHQKKworICAgIDEuIExldCBiaW5kaW5nSWQgYmUgU3Ry
aW5nVmFsdWUgb2YgQmluZGluZ0lkZW50aWZpZXIuCisgICAgMi4gTGV0IGxocyBiZSA/IFJlc29s
dmVCaW5kaW5nKGJpbmRpbmdJZCwgZW52aXJvbm1lbnQpLgorICAgIDMuIElmIGl0ZXJhdG9yUmVj
b3JkLltbRG9uZV1dIGlzIGZhbHNlLCB0aGVuCisgICAgICAgIGEuIExldCBuZXh0IGJlIEl0ZXJh
dG9yU3RlcChpdGVyYXRvclJlY29yZCkuCisgICAgICAgIGIuIElmIG5leHQgaXMgYW4gYWJydXB0
IGNvbXBsZXRpb24sIHNldCBpdGVyYXRvclJlY29yZC5bW0RvbmVdXSB0byB0cnVlLgorICAgICAg
ICBjLiBSZXR1cm5JZkFicnVwdChuZXh0KS4KKyAgICAgICAgZC4gSWYgbmV4dCBpcyBmYWxzZSwg
c2V0IGl0ZXJhdG9yUmVjb3JkLltbRG9uZV1dIHRvIHRydWUuCisgICAgICAgIGUuIEVsc2UsCisg
ICAgICAgICAgICBpLiBMZXQgdiBiZSBJdGVyYXRvclZhbHVlKG5leHQpLgorICAgICAgICAgICAg
aWkuIElmIHYgaXMgYW4gYWJydXB0IGNvbXBsZXRpb24sIHNldCBpdGVyYXRvclJlY29yZC5bW0Rv
bmVdXSB0byB0cnVlLgorICAgICAgICAgICAgaWlpLiBSZXR1cm5JZkFicnVwdCh2KS4KKyAgICBb
Li4uXQorICAgIDcuIFJldHVybiBJbml0aWFsaXplUmVmZXJlbmNlZEJpbmRpbmcobGhzLCB2KS4K
KworLS0tKi8KK0FycmF5LnByb3RvdHlwZVtTeW1ib2wuaXRlcmF0b3JdID0gZnVuY3Rpb24qICgp
IHsKKyAgICBpZiAodGhpcy5sZW5ndGggPiAwKSB7CisgICAgICAgIHlpZWxkIHRoaXNbMF07Cisg
ICAgfQorICAgIGlmICh0aGlzLmxlbmd0aCA+IDEpIHsKKyAgICAgICAgeWllbGQgdGhpc1sxXTsK
KyAgICB9CisgICAgaWYgKHRoaXMubGVuZ3RoID4gMikgeworICAgICAgICB5aWVsZCA0MjsKKyAg
ICB9Cit9OworCit2YXIgY2FsbENvdW50ID0gMDsKK3ZhciBmOworZiA9IGZ1bmN0aW9uKFt4LCB5
LCB6XSkgeworICBhc3NlcnQuc2FtZVZhbHVlKHgsIDEpOworICBhc3NlcnQuc2FtZVZhbHVlKHks
IDIpOworICBhc3NlcnQuc2FtZVZhbHVlKHosIDQyKTsKKyAgY2FsbENvdW50ID0gY2FsbENvdW50
ICsgMTsKK307CisKK2YoWzEsIDIsIDNdKTsKK2Fzc2VydC5zYW1lVmFsdWUoY2FsbENvdW50LCAx
LCAnZnVuY3Rpb24gaW52b2tlZCBleGFjdGx5IG9uY2UnKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2Z1bmN0aW9uL2RzdHIvYXJ5LXB0cm4t
cmVzdC1pZC1kaXJlY3QuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNz
aW9ucy9mdW5jdGlvbi9kc3RyL2FyeS1wdHJuLXJlc3QtaWQtZGlyZWN0LmpzCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmJlY2Q4ZGI1NTM5NjliMDgzOTUyMzM0Y2ZiYjQ1MzIzYjc1YmNlYjUKLS0tIC9kZXYvbnVsbAor
KysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9mdW5jdGlvbi9k
c3RyL2FyeS1wdHJuLXJlc3QtaWQtZGlyZWN0LmpzCkBAIC0wLDAgKzEsNjQgQEAKKy8vIFRoaXMg
ZmlsZSB3YXMgcHJvY2VkdXJhbGx5IGdlbmVyYXRlZCBmcm9tIHRoZSBmb2xsb3dpbmcgc291cmNl
czoKKy8vIC0gc3JjL2RzdHItYmluZGluZy9hcnktcHRybi1yZXN0LWlkLWRpcmVjdC5jYXNlCisv
LyAtIHNyYy9kc3RyLWJpbmRpbmcvZGVmYXVsdC9mdW5jLWV4cHIudGVtcGxhdGUKKy8qLS0tCitk
ZXNjcmlwdGlvbjogTG9uZSByZXN0IGVsZW1lbnQgKGRpcmVjdCBiaW5kaW5nKSAoZnVuY3Rpb24g
ZXhwcmVzc2lvbikKK2VzaWQ6IHNlYy1mdW5jdGlvbi1kZWZpbml0aW9ucy1ydW50aW1lLXNlbWFu
dGljcy1ldmFsdWF0aW9uCitmZWF0dXJlczogW2Rlc3RydWN0dXJpbmctYmluZGluZ10KK2ZsYWdz
OiBbZ2VuZXJhdGVkXQoraW5jbHVkZXM6IFtjb21wYXJlQXJyYXkuanNdCitpbmZvOiB8CisgICAg
RnVuY3Rpb25FeHByZXNzaW9uIDogZnVuY3Rpb24gKCBGb3JtYWxQYXJhbWV0ZXJzICkgeyBGdW5j
dGlvbkJvZHkgfQorCisgICAgICAgIFsuLi5dCisgICAgICAgIDMuIExldCBjbG9zdXJlIGJlIEZ1
bmN0aW9uQ3JlYXRlKE5vcm1hbCwgRm9ybWFsUGFyYW1ldGVycywgRnVuY3Rpb25Cb2R5LAorICAg
ICAgICAgICBzY29wZSwgc3RyaWN0KS4KKyAgICAgICAgWy4uLl0KKworICAgIDkuMi4xIFtbQ2Fs
bF1dICggdGhpc0FyZ3VtZW50LCBhcmd1bWVudHNMaXN0KQorCisgICAgWy4uLl0KKyAgICA3LiBM
ZXQgcmVzdWx0IGJlIE9yZGluYXJ5Q2FsbEV2YWx1YXRlQm9keShGLCBhcmd1bWVudHNMaXN0KS4K
KyAgICBbLi4uXQorCisgICAgOS4yLjEuMyBPcmRpbmFyeUNhbGxFdmFsdWF0ZUJvZHkgKCBGLCBh
cmd1bWVudHNMaXN0ICkKKworICAgIDEuIExldCBzdGF0dXMgYmUgRnVuY3Rpb25EZWNsYXJhdGlv
bkluc3RhbnRpYXRpb24oRiwgYXJndW1lbnRzTGlzdCkuCisgICAgWy4uLl0KKworICAgIDkuMi4x
MiBGdW5jdGlvbkRlY2xhcmF0aW9uSW5zdGFudGlhdGlvbihmdW5jLCBhcmd1bWVudHNMaXN0KQor
CisgICAgWy4uLl0KKyAgICAyMy4gTGV0IGl0ZXJhdG9yUmVjb3JkIGJlIFJlY29yZCB7W1tpdGVy
YXRvcl1dOgorICAgICAgICBDcmVhdGVMaXN0SXRlcmF0b3IoYXJndW1lbnRzTGlzdCksIFtbZG9u
ZV1dOiBmYWxzZX0uCisgICAgMjQuIElmIGhhc0R1cGxpY2F0ZXMgaXMgdHJ1ZSwgdGhlbgorICAg
ICAgICBbLi4uXQorICAgIDI1LiBFbHNlLAorICAgICAgICBiLiBMZXQgZm9ybWFsU3RhdHVzIGJl
IEl0ZXJhdG9yQmluZGluZ0luaXRpYWxpemF0aW9uIGZvciBmb3JtYWxzIHdpdGgKKyAgICAgICAg
ICAgaXRlcmF0b3JSZWNvcmQgYW5kIGVudiBhcyBhcmd1bWVudHMuCisgICAgWy4uLl0KKworICAg
IFJ1bnRpbWUgU2VtYW50aWNzOiBJdGVyYXRvckJpbmRpbmdJbml0aWFsaXphdGlvbgorCisgICAg
QmluZGluZ1Jlc3RFbGVtZW50IDogLi4uIEJpbmRpbmdJZGVudGlmaWVyCisKKyAgICBbLi4uXQor
ICAgIDIuIExldCBBIGJlICEgQXJyYXlDcmVhdGUoMCkuCisgICAgMy4gTGV0IG4gYmUgMC4KKyAg
ICA0LiBSZXBlYXQsCisgICAgICAgIFsuLi5dCisgICAgICAgIGYuIFBlcmZvcm0gISBDcmVhdGVE
YXRhUHJvcGVydHlPclRocm93KEEsICEgVG9TdHJpbmcobiksIG5leHRWYWx1ZSkuCisgICAgICAg
IGcuIFNldCBuIHRvIG4gKyAxLgorCistLS0qLworCit2YXIgY2FsbENvdW50ID0gMDsKK3ZhciBm
OworZiA9IGZ1bmN0aW9uKFsuLi54XSkgeworICBhc3NlcnQoQXJyYXkuaXNBcnJheSh4KSk7Cisg
IGFzc2VydC5jb21wYXJlQXJyYXkoeCwgWzFdKTsKKyAgY2FsbENvdW50ID0gY2FsbENvdW50ICsg
MTsKK307CisKK2YoWzFdKTsKK2Fzc2VydC5zYW1lVmFsdWUoY2FsbENvdW50LCAxLCAnZnVuY3Rp
b24gaW52b2tlZCBleGFjdGx5IG9uY2UnKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2Z1bmN0aW9uL2RzdHIvZGZsdC1hcnktaW5pdC1pdGVy
LWdldC1lcnItYXJyYXktcHJvdG90eXBlLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3Vh
Z2UvZXhwcmVzc2lvbnMvZnVuY3Rpb24vZHN0ci9kZmx0LWFyeS1pbml0LWl0ZXItZ2V0LWVyci1h
cnJheS1wcm90b3R5cGUuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODJjMzY3NzQ5ZmZlODcxNGYwNjU5ODlhNTVh
OGM1ZmQzZWNjYWQxZgotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xh
bmd1YWdlL2V4cHJlc3Npb25zL2Z1bmN0aW9uL2RzdHIvZGZsdC1hcnktaW5pdC1pdGVyLWdldC1l
cnItYXJyYXktcHJvdG90eXBlLmpzCkBAIC0wLDAgKzEsNjMgQEAKKy8vIFRoaXMgZmlsZSB3YXMg
cHJvY2VkdXJhbGx5IGdlbmVyYXRlZCBmcm9tIHRoZSBmb2xsb3dpbmcgc291cmNlczoKKy8vIC0g
c3JjL2RzdHItYmluZGluZy9hcnktaW5pdC1pdGVyLWdldC1lcnItYXJyYXktcHJvdG90eXBlLmNh
c2UKKy8vIC0gc3JjL2RzdHItYmluZGluZy9lcnJvci9mdW5jLWV4cHItZGZsdC50ZW1wbGF0ZQor
LyotLS0KK2Rlc2NyaXB0aW9uOiBBYnJ1cHQgY29tcGxldGlvbiByZXR1cm5lZCBieSBHZXRJdGVy
YXRvciAoZnVuY3Rpb24gZXhwcmVzc2lvbiAoZGVmYXVsdCBwYXJhbWV0ZXIpKQorZXNpZDogc2Vj
LWZ1bmN0aW9uLWRlZmluaXRpb25zLXJ1bnRpbWUtc2VtYW50aWNzLWV2YWx1YXRpb24KK2ZlYXR1
cmVzOiBbU3ltYm9sLml0ZXJhdG9yLCBkZXN0cnVjdHVyaW5nLWJpbmRpbmcsIGRlZmF1bHQtcGFy
YW1ldGVyc10KK2ZsYWdzOiBbZ2VuZXJhdGVkXQoraW5mbzogfAorICAgIEZ1bmN0aW9uRXhwcmVz
c2lvbiA6IGZ1bmN0aW9uICggRm9ybWFsUGFyYW1ldGVycyApIHsgRnVuY3Rpb25Cb2R5IH0KKwor
ICAgICAgICBbLi4uXQorICAgICAgICAzLiBMZXQgY2xvc3VyZSBiZSBGdW5jdGlvbkNyZWF0ZShO
b3JtYWwsIEZvcm1hbFBhcmFtZXRlcnMsIEZ1bmN0aW9uQm9keSwKKyAgICAgICAgICAgc2NvcGUs
IHN0cmljdCkuCisgICAgICAgIFsuLi5dCisKKyAgICA5LjIuMSBbW0NhbGxdXSAoIHRoaXNBcmd1
bWVudCwgYXJndW1lbnRzTGlzdCkKKworICAgIFsuLi5dCisgICAgNy4gTGV0IHJlc3VsdCBiZSBP
cmRpbmFyeUNhbGxFdmFsdWF0ZUJvZHkoRiwgYXJndW1lbnRzTGlzdCkuCisgICAgWy4uLl0KKwor
ICAgIDkuMi4xLjMgT3JkaW5hcnlDYWxsRXZhbHVhdGVCb2R5ICggRiwgYXJndW1lbnRzTGlzdCAp
CisKKyAgICAxLiBMZXQgc3RhdHVzIGJlIEZ1bmN0aW9uRGVjbGFyYXRpb25JbnN0YW50aWF0aW9u
KEYsIGFyZ3VtZW50c0xpc3QpLgorICAgIFsuLi5dCisKKyAgICA5LjIuMTIgRnVuY3Rpb25EZWNs
YXJhdGlvbkluc3RhbnRpYXRpb24oZnVuYywgYXJndW1lbnRzTGlzdCkKKworICAgIFsuLi5dCisg
ICAgMjMuIExldCBpdGVyYXRvclJlY29yZCBiZSBSZWNvcmQge1tbaXRlcmF0b3JdXToKKyAgICAg
ICAgQ3JlYXRlTGlzdEl0ZXJhdG9yKGFyZ3VtZW50c0xpc3QpLCBbW2RvbmVdXTogZmFsc2V9Lgor
ICAgIDI0LiBJZiBoYXNEdXBsaWNhdGVzIGlzIHRydWUsIHRoZW4KKyAgICAgICAgWy4uLl0KKyAg
ICAyNS4gRWxzZSwKKyAgICAgICAgYi4gTGV0IGZvcm1hbFN0YXR1cyBiZSBJdGVyYXRvckJpbmRp
bmdJbml0aWFsaXphdGlvbiBmb3IgZm9ybWFscyB3aXRoCisgICAgICAgICAgIGl0ZXJhdG9yUmVj
b3JkIGFuZCBlbnYgYXMgYXJndW1lbnRzLgorICAgIFsuLi5dCisKKyAgICBSdW50aW1lIFNlbWFu
dGljczogQmluZGluZ0luaXRpYWxpemF0aW9uCisKKyAgICBCaW5kaW5nUGF0dGVybiA6IEFycmF5
QmluZGluZ1BhdHRlcm4KKworICAgIDEuIExldCBpdGVyYXRvclJlY29yZCBiZSA/IEdldEl0ZXJh
dG9yKHZhbHVlKS4KKworICAgIEdldEl0ZXJhdG9yICggb2JqIFsgLCBoaW50IFsgLCBtZXRob2Qg
XSBdICkKKworICAgIFsuLi5dCisgICAgNC4gTGV0IGl0ZXJhdG9yIGJlID8gQ2FsbChtZXRob2Qs
IG9iaikuCisKKyAgICBDYWxsICggRiwgViBbICwgYXJndW1lbnRzTGlzdCBdICkKKworICAgIFsu
Li5dCisgICAgMi4gSWYgSXNDYWxsYWJsZShGKSBpcyBmYWxzZSwgdGhyb3cgYSBUeXBlRXJyb3Ig
ZXhjZXB0aW9uLgorCistLS0qLworZGVsZXRlIEFycmF5LnByb3RvdHlwZVtTeW1ib2wuaXRlcmF0
b3JdOworCit2YXIgZiA9IGZ1bmN0aW9uKFt4LCB5LCB6XSA9IFsxLCAyLCAzXSkge307CisKK2Fz
c2VydC50aHJvd3MoVHlwZUVycm9yLCBmdW5jdGlvbigpIHsKKyAgZigpOworfSk7CmRpZmYgLS1n
aXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9mdW5jdGlvbi9k
c3RyL2RmbHQtYXJ5LXB0cm4tZWxlbS1pZC1pdGVyLXZhbC1hcnJheS1wcm90b3R5cGUuanMgYi9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9mdW5jdGlvbi9kc3RyL2Rm
bHQtYXJ5LXB0cm4tZWxlbS1pZC1pdGVyLXZhbC1hcnJheS1wcm90b3R5cGUuanMKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uYTMwZjNmNDQzODFhNThjZmZjNmM2Zjk1Y2UyMzY3ZGYzZDRkZDk0YQotLS0gL2Rldi9udWxs
CisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2Z1bmN0aW9u
L2RzdHIvZGZsdC1hcnktcHRybi1lbGVtLWlkLWl0ZXItdmFsLWFycmF5LXByb3RvdHlwZS5qcwpA
QCAtMCwwICsxLDgxIEBACisvLyBUaGlzIGZpbGUgd2FzIHByb2NlZHVyYWxseSBnZW5lcmF0ZWQg
ZnJvbSB0aGUgZm9sbG93aW5nIHNvdXJjZXM6CisvLyAtIHNyYy9kc3RyLWJpbmRpbmcvYXJ5LXB0
cm4tZWxlbS1pZC1pdGVyLXZhbC1hcnJheS1wcm90b3R5cGUuY2FzZQorLy8gLSBzcmMvZHN0ci1i
aW5kaW5nL2RlZmF1bHQvZnVuYy1leHByLWRmbHQudGVtcGxhdGUKKy8qLS0tCitkZXNjcmlwdGlv
bjogQXJyYXkgZGVzdHJ1Y3R1cmluZyB1c2VzIG92ZXJyaWRlbiBBcnJheS5wcm90b3R5cGVbU3lt
Ym9sLml0ZXJhdG9yXSAoZnVuY3Rpb24gZXhwcmVzc2lvbiAoZGVmYXVsdCBwYXJhbWV0ZXIpKQor
ZXNpZDogc2VjLWZ1bmN0aW9uLWRlZmluaXRpb25zLXJ1bnRpbWUtc2VtYW50aWNzLWV2YWx1YXRp
b24KK2ZlYXR1cmVzOiBbU3ltYm9sLml0ZXJhdG9yLCBnZW5lcmF0b3JzLCBkZXN0cnVjdHVyaW5n
LWJpbmRpbmcsIGRlZmF1bHQtcGFyYW1ldGVyc10KK2ZsYWdzOiBbZ2VuZXJhdGVkXQoraW5mbzog
fAorICAgIEZ1bmN0aW9uRXhwcmVzc2lvbiA6IGZ1bmN0aW9uICggRm9ybWFsUGFyYW1ldGVycyAp
IHsgRnVuY3Rpb25Cb2R5IH0KKworICAgICAgICBbLi4uXQorICAgICAgICAzLiBMZXQgY2xvc3Vy
ZSBiZSBGdW5jdGlvbkNyZWF0ZShOb3JtYWwsIEZvcm1hbFBhcmFtZXRlcnMsIEZ1bmN0aW9uQm9k
eSwKKyAgICAgICAgICAgc2NvcGUsIHN0cmljdCkuCisgICAgICAgIFsuLi5dCisKKyAgICA5LjIu
MSBbW0NhbGxdXSAoIHRoaXNBcmd1bWVudCwgYXJndW1lbnRzTGlzdCkKKworICAgIFsuLi5dCisg
ICAgNy4gTGV0IHJlc3VsdCBiZSBPcmRpbmFyeUNhbGxFdmFsdWF0ZUJvZHkoRiwgYXJndW1lbnRz
TGlzdCkuCisgICAgWy4uLl0KKworICAgIDkuMi4xLjMgT3JkaW5hcnlDYWxsRXZhbHVhdGVCb2R5
ICggRiwgYXJndW1lbnRzTGlzdCApCisKKyAgICAxLiBMZXQgc3RhdHVzIGJlIEZ1bmN0aW9uRGVj
bGFyYXRpb25JbnN0YW50aWF0aW9uKEYsIGFyZ3VtZW50c0xpc3QpLgorICAgIFsuLi5dCisKKyAg
ICA5LjIuMTIgRnVuY3Rpb25EZWNsYXJhdGlvbkluc3RhbnRpYXRpb24oZnVuYywgYXJndW1lbnRz
TGlzdCkKKworICAgIFsuLi5dCisgICAgMjMuIExldCBpdGVyYXRvclJlY29yZCBiZSBSZWNvcmQg
e1tbaXRlcmF0b3JdXToKKyAgICAgICAgQ3JlYXRlTGlzdEl0ZXJhdG9yKGFyZ3VtZW50c0xpc3Qp
LCBbW2RvbmVdXTogZmFsc2V9LgorICAgIDI0LiBJZiBoYXNEdXBsaWNhdGVzIGlzIHRydWUsIHRo
ZW4KKyAgICAgICAgWy4uLl0KKyAgICAyNS4gRWxzZSwKKyAgICAgICAgYi4gTGV0IGZvcm1hbFN0
YXR1cyBiZSBJdGVyYXRvckJpbmRpbmdJbml0aWFsaXphdGlvbiBmb3IgZm9ybWFscyB3aXRoCisg
ICAgICAgICAgIGl0ZXJhdG9yUmVjb3JkIGFuZCBlbnYgYXMgYXJndW1lbnRzLgorICAgIFsuLi5d
CisKKyAgICBSdW50aW1lIFNlbWFudGljczogSXRlcmF0b3JCaW5kaW5nSW5pdGlhbGl6YXRpb24K
KworICAgIFNpbmdsZU5hbWVCaW5kaW5nIDogQmluZGluZ0lkZW50aWZpZXIgSW5pdGlhbGl6ZXJf
b3B0CisKKyAgICAxLiBMZXQgYmluZGluZ0lkIGJlIFN0cmluZ1ZhbHVlIG9mIEJpbmRpbmdJZGVu
dGlmaWVyLgorICAgIDIuIExldCBsaHMgYmUgPyBSZXNvbHZlQmluZGluZyhiaW5kaW5nSWQsIGVu
dmlyb25tZW50KS4KKyAgICAzLiBJZiBpdGVyYXRvclJlY29yZC5bW0RvbmVdXSBpcyBmYWxzZSwg
dGhlbgorICAgICAgICBhLiBMZXQgbmV4dCBiZSBJdGVyYXRvclN0ZXAoaXRlcmF0b3JSZWNvcmQp
LgorICAgICAgICBiLiBJZiBuZXh0IGlzIGFuIGFicnVwdCBjb21wbGV0aW9uLCBzZXQgaXRlcmF0
b3JSZWNvcmQuW1tEb25lXV0gdG8gdHJ1ZS4KKyAgICAgICAgYy4gUmV0dXJuSWZBYnJ1cHQobmV4
dCkuCisgICAgICAgIGQuIElmIG5leHQgaXMgZmFsc2UsIHNldCBpdGVyYXRvclJlY29yZC5bW0Rv
bmVdXSB0byB0cnVlLgorICAgICAgICBlLiBFbHNlLAorICAgICAgICAgICAgaS4gTGV0IHYgYmUg
SXRlcmF0b3JWYWx1ZShuZXh0KS4KKyAgICAgICAgICAgIGlpLiBJZiB2IGlzIGFuIGFicnVwdCBj
b21wbGV0aW9uLCBzZXQgaXRlcmF0b3JSZWNvcmQuW1tEb25lXV0gdG8gdHJ1ZS4KKyAgICAgICAg
ICAgIGlpaS4gUmV0dXJuSWZBYnJ1cHQodikuCisgICAgWy4uLl0KKyAgICA3LiBSZXR1cm4gSW5p
dGlhbGl6ZVJlZmVyZW5jZWRCaW5kaW5nKGxocywgdikuCisKKy0tLSovCitBcnJheS5wcm90b3R5
cGVbU3ltYm9sLml0ZXJhdG9yXSA9IGZ1bmN0aW9uKiAoKSB7CisgICAgaWYgKHRoaXMubGVuZ3Ro
ID4gMCkgeworICAgICAgICB5aWVsZCB0aGlzWzBdOworICAgIH0KKyAgICBpZiAodGhpcy5sZW5n
dGggPiAxKSB7CisgICAgICAgIHlpZWxkIHRoaXNbMV07CisgICAgfQorICAgIGlmICh0aGlzLmxl
bmd0aCA+IDIpIHsKKyAgICAgICAgeWllbGQgNDI7CisgICAgfQorfTsKKwordmFyIGNhbGxDb3Vu
dCA9IDA7Cit2YXIgZjsKK2YgPSBmdW5jdGlvbihbeCwgeSwgel0gPSBbMSwgMiwgM10pIHsKKyAg
YXNzZXJ0LnNhbWVWYWx1ZSh4LCAxKTsKKyAgYXNzZXJ0LnNhbWVWYWx1ZSh5LCAyKTsKKyAgYXNz
ZXJ0LnNhbWVWYWx1ZSh6LCA0Mik7CisgIGNhbGxDb3VudCA9IGNhbGxDb3VudCArIDE7Cit9Owor
CitmKCk7Cithc3NlcnQuc2FtZVZhbHVlKGNhbGxDb3VudCwgMSwgJ2Z1bmN0aW9uIGludm9rZWQg
ZXhhY3RseSBvbmNlJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFn
ZS9leHByZXNzaW9ucy9mdW5jdGlvbi9kc3RyL2RmbHQtYXJ5LXB0cm4tcmVzdC1pZC1kaXJlY3Qu
anMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9mdW5jdGlvbi9k
c3RyL2RmbHQtYXJ5LXB0cm4tcmVzdC1pZC1kaXJlY3QuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTlkNjMwMTMw
MDc1MDM4MDY4NTgwYjNiZmQ5OGE0NzAzOTk5ODU0MAotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2Z1bmN0aW9uL2RzdHIvZGZsdC1h
cnktcHRybi1yZXN0LWlkLWRpcmVjdC5qcwpAQCAtMCwwICsxLDY0IEBACisvLyBUaGlzIGZpbGUg
d2FzIHByb2NlZHVyYWxseSBnZW5lcmF0ZWQgZnJvbSB0aGUgZm9sbG93aW5nIHNvdXJjZXM6Cisv
LyAtIHNyYy9kc3RyLWJpbmRpbmcvYXJ5LXB0cm4tcmVzdC1pZC1kaXJlY3QuY2FzZQorLy8gLSBz
cmMvZHN0ci1iaW5kaW5nL2RlZmF1bHQvZnVuYy1leHByLWRmbHQudGVtcGxhdGUKKy8qLS0tCitk
ZXNjcmlwdGlvbjogTG9uZSByZXN0IGVsZW1lbnQgKGRpcmVjdCBiaW5kaW5nKSAoZnVuY3Rpb24g
ZXhwcmVzc2lvbiAoZGVmYXVsdCBwYXJhbWV0ZXIpKQorZXNpZDogc2VjLWZ1bmN0aW9uLWRlZmlu
aXRpb25zLXJ1bnRpbWUtc2VtYW50aWNzLWV2YWx1YXRpb24KK2ZlYXR1cmVzOiBbZGVzdHJ1Y3R1
cmluZy1iaW5kaW5nLCBkZWZhdWx0LXBhcmFtZXRlcnNdCitmbGFnczogW2dlbmVyYXRlZF0KK2lu
Y2x1ZGVzOiBbY29tcGFyZUFycmF5LmpzXQoraW5mbzogfAorICAgIEZ1bmN0aW9uRXhwcmVzc2lv
biA6IGZ1bmN0aW9uICggRm9ybWFsUGFyYW1ldGVycyApIHsgRnVuY3Rpb25Cb2R5IH0KKworICAg
ICAgICBbLi4uXQorICAgICAgICAzLiBMZXQgY2xvc3VyZSBiZSBGdW5jdGlvbkNyZWF0ZShOb3Jt
YWwsIEZvcm1hbFBhcmFtZXRlcnMsIEZ1bmN0aW9uQm9keSwKKyAgICAgICAgICAgc2NvcGUsIHN0
cmljdCkuCisgICAgICAgIFsuLi5dCisKKyAgICA5LjIuMSBbW0NhbGxdXSAoIHRoaXNBcmd1bWVu
dCwgYXJndW1lbnRzTGlzdCkKKworICAgIFsuLi5dCisgICAgNy4gTGV0IHJlc3VsdCBiZSBPcmRp
bmFyeUNhbGxFdmFsdWF0ZUJvZHkoRiwgYXJndW1lbnRzTGlzdCkuCisgICAgWy4uLl0KKworICAg
IDkuMi4xLjMgT3JkaW5hcnlDYWxsRXZhbHVhdGVCb2R5ICggRiwgYXJndW1lbnRzTGlzdCApCisK
KyAgICAxLiBMZXQgc3RhdHVzIGJlIEZ1bmN0aW9uRGVjbGFyYXRpb25JbnN0YW50aWF0aW9uKEYs
IGFyZ3VtZW50c0xpc3QpLgorICAgIFsuLi5dCisKKyAgICA5LjIuMTIgRnVuY3Rpb25EZWNsYXJh
dGlvbkluc3RhbnRpYXRpb24oZnVuYywgYXJndW1lbnRzTGlzdCkKKworICAgIFsuLi5dCisgICAg
MjMuIExldCBpdGVyYXRvclJlY29yZCBiZSBSZWNvcmQge1tbaXRlcmF0b3JdXToKKyAgICAgICAg
Q3JlYXRlTGlzdEl0ZXJhdG9yKGFyZ3VtZW50c0xpc3QpLCBbW2RvbmVdXTogZmFsc2V9LgorICAg
IDI0LiBJZiBoYXNEdXBsaWNhdGVzIGlzIHRydWUsIHRoZW4KKyAgICAgICAgWy4uLl0KKyAgICAy
NS4gRWxzZSwKKyAgICAgICAgYi4gTGV0IGZvcm1hbFN0YXR1cyBiZSBJdGVyYXRvckJpbmRpbmdJ
bml0aWFsaXphdGlvbiBmb3IgZm9ybWFscyB3aXRoCisgICAgICAgICAgIGl0ZXJhdG9yUmVjb3Jk
IGFuZCBlbnYgYXMgYXJndW1lbnRzLgorICAgIFsuLi5dCisKKyAgICBSdW50aW1lIFNlbWFudGlj
czogSXRlcmF0b3JCaW5kaW5nSW5pdGlhbGl6YXRpb24KKworICAgIEJpbmRpbmdSZXN0RWxlbWVu
dCA6IC4uLiBCaW5kaW5nSWRlbnRpZmllcgorCisgICAgWy4uLl0KKyAgICAyLiBMZXQgQSBiZSAh
IEFycmF5Q3JlYXRlKDApLgorICAgIDMuIExldCBuIGJlIDAuCisgICAgNC4gUmVwZWF0LAorICAg
ICAgICBbLi4uXQorICAgICAgICBmLiBQZXJmb3JtICEgQ3JlYXRlRGF0YVByb3BlcnR5T3JUaHJv
dyhBLCAhIFRvU3RyaW5nKG4pLCBuZXh0VmFsdWUpLgorICAgICAgICBnLiBTZXQgbiB0byBuICsg
MS4KKworLS0tKi8KKwordmFyIGNhbGxDb3VudCA9IDA7Cit2YXIgZjsKK2YgPSBmdW5jdGlvbihb
Li4ueF0gPSBbMV0pIHsKKyAgYXNzZXJ0KEFycmF5LmlzQXJyYXkoeCkpOworICBhc3NlcnQuY29t
cGFyZUFycmF5KHgsIFsxXSk7CisgIGNhbGxDb3VudCA9IGNhbGxDb3VudCArIDE7Cit9OworCitm
KCk7Cithc3NlcnQuc2FtZVZhbHVlKGNhbGxDb3VudCwgMSwgJ2Z1bmN0aW9uIGludm9rZWQgZXhh
Y3RseSBvbmNlJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9l
eHByZXNzaW9ucy9nZW5lcmF0b3JzL2RzdHIvYXJ5LWluaXQtaXRlci1nZXQtZXJyLWFycmF5LXBy
b3RvdHlwZS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2dl
bmVyYXRvcnMvZHN0ci9hcnktaW5pdC1pdGVyLWdldC1lcnItYXJyYXktcHJvdG90eXBlLmpzCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjFhYzI2ZWJiMTViMWE4Y2U3MzIwOTdjNTUzMTNjNzk3ZWU1OGU4NzMKLS0tIC9k
ZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9n
ZW5lcmF0b3JzL2RzdHIvYXJ5LWluaXQtaXRlci1nZXQtZXJyLWFycmF5LXByb3RvdHlwZS5qcwpA
QCAtMCwwICsxLDYzIEBACisvLyBUaGlzIGZpbGUgd2FzIHByb2NlZHVyYWxseSBnZW5lcmF0ZWQg
ZnJvbSB0aGUgZm9sbG93aW5nIHNvdXJjZXM6CisvLyAtIHNyYy9kc3RyLWJpbmRpbmcvYXJ5LWlu
aXQtaXRlci1nZXQtZXJyLWFycmF5LXByb3RvdHlwZS5jYXNlCisvLyAtIHNyYy9kc3RyLWJpbmRp
bmcvZXJyb3IvZ2VuLWZ1bmMtZXhwci50ZW1wbGF0ZQorLyotLS0KK2Rlc2NyaXB0aW9uOiBBYnJ1
cHQgY29tcGxldGlvbiByZXR1cm5lZCBieSBHZXRJdGVyYXRvciAoZ2VuZXJhdG9yIGZ1bmN0aW9u
IGV4cHJlc3Npb24pCitlc2lkOiBzZWMtZ2VuZXJhdG9yLWZ1bmN0aW9uLWRlZmluaXRpb25zLXJ1
bnRpbWUtc2VtYW50aWNzLWV2YWx1YXRpb24KK2ZlYXR1cmVzOiBbU3ltYm9sLml0ZXJhdG9yLCBn
ZW5lcmF0b3JzLCBkZXN0cnVjdHVyaW5nLWJpbmRpbmddCitmbGFnczogW2dlbmVyYXRlZF0KK2lu
Zm86IHwKKyAgICBHZW5lcmF0b3JFeHByZXNzaW9uIDogZnVuY3Rpb24gKiAoIEZvcm1hbFBhcmFt
ZXRlcnMgKSB7IEdlbmVyYXRvckJvZHkgfQorCisgICAgICAgIFsuLi5dCisgICAgICAgIDMuIExl
dCBjbG9zdXJlIGJlIEdlbmVyYXRvckZ1bmN0aW9uQ3JlYXRlKE5vcm1hbCwgRm9ybWFsUGFyYW1l
dGVycywKKyAgICAgICAgICAgR2VuZXJhdG9yQm9keSwgc2NvcGUsIHN0cmljdCkuCisgICAgICAg
IFsuLi5dCisKKyAgICA5LjIuMSBbW0NhbGxdXSAoIHRoaXNBcmd1bWVudCwgYXJndW1lbnRzTGlz
dCkKKworICAgIFsuLi5dCisgICAgNy4gTGV0IHJlc3VsdCBiZSBPcmRpbmFyeUNhbGxFdmFsdWF0
ZUJvZHkoRiwgYXJndW1lbnRzTGlzdCkuCisgICAgWy4uLl0KKworICAgIDkuMi4xLjMgT3JkaW5h
cnlDYWxsRXZhbHVhdGVCb2R5ICggRiwgYXJndW1lbnRzTGlzdCApCisKKyAgICAxLiBMZXQgc3Rh
dHVzIGJlIEZ1bmN0aW9uRGVjbGFyYXRpb25JbnN0YW50aWF0aW9uKEYsIGFyZ3VtZW50c0xpc3Qp
LgorICAgIFsuLi5dCisKKyAgICA5LjIuMTIgRnVuY3Rpb25EZWNsYXJhdGlvbkluc3RhbnRpYXRp
b24oZnVuYywgYXJndW1lbnRzTGlzdCkKKworICAgIFsuLi5dCisgICAgMjMuIExldCBpdGVyYXRv
clJlY29yZCBiZSBSZWNvcmQge1tbaXRlcmF0b3JdXToKKyAgICAgICAgQ3JlYXRlTGlzdEl0ZXJh
dG9yKGFyZ3VtZW50c0xpc3QpLCBbW2RvbmVdXTogZmFsc2V9LgorICAgIDI0LiBJZiBoYXNEdXBs
aWNhdGVzIGlzIHRydWUsIHRoZW4KKyAgICAgICAgWy4uLl0KKyAgICAyNS4gRWxzZSwKKyAgICAg
ICAgYi4gTGV0IGZvcm1hbFN0YXR1cyBiZSBJdGVyYXRvckJpbmRpbmdJbml0aWFsaXphdGlvbiBm
b3IgZm9ybWFscyB3aXRoCisgICAgICAgICAgIGl0ZXJhdG9yUmVjb3JkIGFuZCBlbnYgYXMgYXJn
dW1lbnRzLgorICAgIFsuLi5dCisKKyAgICBSdW50aW1lIFNlbWFudGljczogQmluZGluZ0luaXRp
YWxpemF0aW9uCisKKyAgICBCaW5kaW5nUGF0dGVybiA6IEFycmF5QmluZGluZ1BhdHRlcm4KKwor
ICAgIDEuIExldCBpdGVyYXRvclJlY29yZCBiZSA/IEdldEl0ZXJhdG9yKHZhbHVlKS4KKworICAg
IEdldEl0ZXJhdG9yICggb2JqIFsgLCBoaW50IFsgLCBtZXRob2QgXSBdICkKKworICAgIFsuLi5d
CisgICAgNC4gTGV0IGl0ZXJhdG9yIGJlID8gQ2FsbChtZXRob2QsIG9iaikuCisKKyAgICBDYWxs
ICggRiwgViBbICwgYXJndW1lbnRzTGlzdCBdICkKKworICAgIFsuLi5dCisgICAgMi4gSWYgSXND
YWxsYWJsZShGKSBpcyBmYWxzZSwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgorCistLS0q
LworZGVsZXRlIEFycmF5LnByb3RvdHlwZVtTeW1ib2wuaXRlcmF0b3JdOworCit2YXIgZiA9IGZ1
bmN0aW9uKihbeCwgeSwgel0pIHt9OworCithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgZnVuY3Rp
b24oKSB7CisgIGYoWzEsIDIsIDNdKTsKK30pOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvZ2VuZXJhdG9ycy9kc3RyL2FyeS1wdHJuLWVsZW0t
aWQtaXRlci12YWwtYXJyYXktcHJvdG90eXBlLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFu
Z3VhZ2UvZXhwcmVzc2lvbnMvZ2VuZXJhdG9ycy9kc3RyL2FyeS1wdHJuLWVsZW0taWQtaXRlci12
YWwtYXJyYXktcHJvdG90eXBlLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFlZDdkN2U5ODY5NzNiODM1ZWIwOGY5
YTU4OGYyYWRhY2RmNTEyNzEKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9sYW5ndWFnZS9leHByZXNzaW9ucy9nZW5lcmF0b3JzL2RzdHIvYXJ5LXB0cm4tZWxlbS1pZC1p
dGVyLXZhbC1hcnJheS1wcm90b3R5cGUuanMKQEAgLTAsMCArMSw4MSBAQAorLy8gVGhpcyBmaWxl
IHdhcyBwcm9jZWR1cmFsbHkgZ2VuZXJhdGVkIGZyb20gdGhlIGZvbGxvd2luZyBzb3VyY2VzOgor
Ly8gLSBzcmMvZHN0ci1iaW5kaW5nL2FyeS1wdHJuLWVsZW0taWQtaXRlci12YWwtYXJyYXktcHJv
dG90eXBlLmNhc2UKKy8vIC0gc3JjL2RzdHItYmluZGluZy9kZWZhdWx0L2dlbi1mdW5jLWV4cHIu
dGVtcGxhdGUKKy8qLS0tCitkZXNjcmlwdGlvbjogQXJyYXkgZGVzdHJ1Y3R1cmluZyB1c2VzIG92
ZXJyaWRlbiBBcnJheS5wcm90b3R5cGVbU3ltYm9sLml0ZXJhdG9yXSAoZ2VuZXJhdG9yIGZ1bmN0
aW9uIGV4cHJlc3Npb24pCitlc2lkOiBzZWMtZ2VuZXJhdG9yLWZ1bmN0aW9uLWRlZmluaXRpb25z
LXJ1bnRpbWUtc2VtYW50aWNzLWV2YWx1YXRpb24KK2ZlYXR1cmVzOiBbU3ltYm9sLml0ZXJhdG9y
LCBnZW5lcmF0b3JzLCBkZXN0cnVjdHVyaW5nLWJpbmRpbmddCitmbGFnczogW2dlbmVyYXRlZF0K
K2luZm86IHwKKyAgICBHZW5lcmF0b3JFeHByZXNzaW9uIDogZnVuY3Rpb24gKiAoIEZvcm1hbFBh
cmFtZXRlcnMgKSB7IEdlbmVyYXRvckJvZHkgfQorCisgICAgICAgIFsuLi5dCisgICAgICAgIDMu
IExldCBjbG9zdXJlIGJlIEdlbmVyYXRvckZ1bmN0aW9uQ3JlYXRlKE5vcm1hbCwgRm9ybWFsUGFy
YW1ldGVycywKKyAgICAgICAgICAgR2VuZXJhdG9yQm9keSwgc2NvcGUsIHN0cmljdCkuCisgICAg
ICAgIFsuLi5dCisKKyAgICA5LjIuMSBbW0NhbGxdXSAoIHRoaXNBcmd1bWVudCwgYXJndW1lbnRz
TGlzdCkKKworICAgIFsuLi5dCisgICAgNy4gTGV0IHJlc3VsdCBiZSBPcmRpbmFyeUNhbGxFdmFs
dWF0ZUJvZHkoRiwgYXJndW1lbnRzTGlzdCkuCisgICAgWy4uLl0KKworICAgIDkuMi4xLjMgT3Jk
aW5hcnlDYWxsRXZhbHVhdGVCb2R5ICggRiwgYXJndW1lbnRzTGlzdCApCisKKyAgICAxLiBMZXQg
c3RhdHVzIGJlIEZ1bmN0aW9uRGVjbGFyYXRpb25JbnN0YW50aWF0aW9uKEYsIGFyZ3VtZW50c0xp
c3QpLgorICAgIFsuLi5dCisKKyAgICA5LjIuMTIgRnVuY3Rpb25EZWNsYXJhdGlvbkluc3RhbnRp
YXRpb24oZnVuYywgYXJndW1lbnRzTGlzdCkKKworICAgIFsuLi5dCisgICAgMjMuIExldCBpdGVy
YXRvclJlY29yZCBiZSBSZWNvcmQge1tbaXRlcmF0b3JdXToKKyAgICAgICAgQ3JlYXRlTGlzdEl0
ZXJhdG9yKGFyZ3VtZW50c0xpc3QpLCBbW2RvbmVdXTogZmFsc2V9LgorICAgIDI0LiBJZiBoYXNE
dXBsaWNhdGVzIGlzIHRydWUsIHRoZW4KKyAgICAgICAgWy4uLl0KKyAgICAyNS4gRWxzZSwKKyAg
ICAgICAgYi4gTGV0IGZvcm1hbFN0YXR1cyBiZSBJdGVyYXRvckJpbmRpbmdJbml0aWFsaXphdGlv
biBmb3IgZm9ybWFscyB3aXRoCisgICAgICAgICAgIGl0ZXJhdG9yUmVjb3JkIGFuZCBlbnYgYXMg
YXJndW1lbnRzLgorICAgIFsuLi5dCisKKyAgICBSdW50aW1lIFNlbWFudGljczogSXRlcmF0b3JC
aW5kaW5nSW5pdGlhbGl6YXRpb24KKworICAgIFNpbmdsZU5hbWVCaW5kaW5nIDogQmluZGluZ0lk
ZW50aWZpZXIgSW5pdGlhbGl6ZXJfb3B0CisKKyAgICAxLiBMZXQgYmluZGluZ0lkIGJlIFN0cmlu
Z1ZhbHVlIG9mIEJpbmRpbmdJZGVudGlmaWVyLgorICAgIDIuIExldCBsaHMgYmUgPyBSZXNvbHZl
QmluZGluZyhiaW5kaW5nSWQsIGVudmlyb25tZW50KS4KKyAgICAzLiBJZiBpdGVyYXRvclJlY29y
ZC5bW0RvbmVdXSBpcyBmYWxzZSwgdGhlbgorICAgICAgICBhLiBMZXQgbmV4dCBiZSBJdGVyYXRv
clN0ZXAoaXRlcmF0b3JSZWNvcmQpLgorICAgICAgICBiLiBJZiBuZXh0IGlzIGFuIGFicnVwdCBj
b21wbGV0aW9uLCBzZXQgaXRlcmF0b3JSZWNvcmQuW1tEb25lXV0gdG8gdHJ1ZS4KKyAgICAgICAg
Yy4gUmV0dXJuSWZBYnJ1cHQobmV4dCkuCisgICAgICAgIGQuIElmIG5leHQgaXMgZmFsc2UsIHNl
dCBpdGVyYXRvclJlY29yZC5bW0RvbmVdXSB0byB0cnVlLgorICAgICAgICBlLiBFbHNlLAorICAg
ICAgICAgICAgaS4gTGV0IHYgYmUgSXRlcmF0b3JWYWx1ZShuZXh0KS4KKyAgICAgICAgICAgIGlp
LiBJZiB2IGlzIGFuIGFicnVwdCBjb21wbGV0aW9uLCBzZXQgaXRlcmF0b3JSZWNvcmQuW1tEb25l
XV0gdG8gdHJ1ZS4KKyAgICAgICAgICAgIGlpaS4gUmV0dXJuSWZBYnJ1cHQodikuCisgICAgWy4u
Ll0KKyAgICA3LiBSZXR1cm4gSW5pdGlhbGl6ZVJlZmVyZW5jZWRCaW5kaW5nKGxocywgdikuCisK
Ky0tLSovCitBcnJheS5wcm90b3R5cGVbU3ltYm9sLml0ZXJhdG9yXSA9IGZ1bmN0aW9uKiAoKSB7
CisgICAgaWYgKHRoaXMubGVuZ3RoID4gMCkgeworICAgICAgICB5aWVsZCB0aGlzWzBdOworICAg
IH0KKyAgICBpZiAodGhpcy5sZW5ndGggPiAxKSB7CisgICAgICAgIHlpZWxkIHRoaXNbMV07Cisg
ICAgfQorICAgIGlmICh0aGlzLmxlbmd0aCA+IDIpIHsKKyAgICAgICAgeWllbGQgNDI7CisgICAg
fQorfTsKKwordmFyIGNhbGxDb3VudCA9IDA7Cit2YXIgZjsKK2YgPSBmdW5jdGlvbiooW3gsIHks
IHpdKSB7CisgIGFzc2VydC5zYW1lVmFsdWUoeCwgMSk7CisgIGFzc2VydC5zYW1lVmFsdWUoeSwg
Mik7CisgIGFzc2VydC5zYW1lVmFsdWUoeiwgNDIpOworICBjYWxsQ291bnQgPSBjYWxsQ291bnQg
KyAxOworfTsKKworZihbMSwgMiwgM10pLm5leHQoKTsKK2Fzc2VydC5zYW1lVmFsdWUoY2FsbENv
dW50LCAxLCAnZ2VuZXJhdG9yIGZ1bmN0aW9uIGludm9rZWQgZXhhY3RseSBvbmNlJyk7CmRpZmYg
LS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9nZW5lcmF0
b3JzL2RzdHIvYXJ5LXB0cm4tcmVzdC1pZC1kaXJlY3QuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9sYW5ndWFnZS9leHByZXNzaW9ucy9nZW5lcmF0b3JzL2RzdHIvYXJ5LXB0cm4tcmVzdC1pZC1k
aXJlY3QuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNDhjYzJmY2I3NDg2ZWNlN2UyZWU4M2M1N2M0OTQzNDBhNzg0
ZDY0YwotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4
cHJlc3Npb25zL2dlbmVyYXRvcnMvZHN0ci9hcnktcHRybi1yZXN0LWlkLWRpcmVjdC5qcwpAQCAt
MCwwICsxLDY0IEBACisvLyBUaGlzIGZpbGUgd2FzIHByb2NlZHVyYWxseSBnZW5lcmF0ZWQgZnJv
bSB0aGUgZm9sbG93aW5nIHNvdXJjZXM6CisvLyAtIHNyYy9kc3RyLWJpbmRpbmcvYXJ5LXB0cm4t
cmVzdC1pZC1kaXJlY3QuY2FzZQorLy8gLSBzcmMvZHN0ci1iaW5kaW5nL2RlZmF1bHQvZ2VuLWZ1
bmMtZXhwci50ZW1wbGF0ZQorLyotLS0KK2Rlc2NyaXB0aW9uOiBMb25lIHJlc3QgZWxlbWVudCAo
ZGlyZWN0IGJpbmRpbmcpIChnZW5lcmF0b3IgZnVuY3Rpb24gZXhwcmVzc2lvbikKK2VzaWQ6IHNl
Yy1nZW5lcmF0b3ItZnVuY3Rpb24tZGVmaW5pdGlvbnMtcnVudGltZS1zZW1hbnRpY3MtZXZhbHVh
dGlvbgorZmVhdHVyZXM6IFtnZW5lcmF0b3JzLCBkZXN0cnVjdHVyaW5nLWJpbmRpbmddCitmbGFn
czogW2dlbmVyYXRlZF0KK2luY2x1ZGVzOiBbY29tcGFyZUFycmF5LmpzXQoraW5mbzogfAorICAg
IEdlbmVyYXRvckV4cHJlc3Npb24gOiBmdW5jdGlvbiAqICggRm9ybWFsUGFyYW1ldGVycyApIHsg
R2VuZXJhdG9yQm9keSB9CisKKyAgICAgICAgWy4uLl0KKyAgICAgICAgMy4gTGV0IGNsb3N1cmUg
YmUgR2VuZXJhdG9yRnVuY3Rpb25DcmVhdGUoTm9ybWFsLCBGb3JtYWxQYXJhbWV0ZXJzLAorICAg
ICAgICAgICBHZW5lcmF0b3JCb2R5LCBzY29wZSwgc3RyaWN0KS4KKyAgICAgICAgWy4uLl0KKwor
ICAgIDkuMi4xIFtbQ2FsbF1dICggdGhpc0FyZ3VtZW50LCBhcmd1bWVudHNMaXN0KQorCisgICAg
Wy4uLl0KKyAgICA3LiBMZXQgcmVzdWx0IGJlIE9yZGluYXJ5Q2FsbEV2YWx1YXRlQm9keShGLCBh
cmd1bWVudHNMaXN0KS4KKyAgICBbLi4uXQorCisgICAgOS4yLjEuMyBPcmRpbmFyeUNhbGxFdmFs
dWF0ZUJvZHkgKCBGLCBhcmd1bWVudHNMaXN0ICkKKworICAgIDEuIExldCBzdGF0dXMgYmUgRnVu
Y3Rpb25EZWNsYXJhdGlvbkluc3RhbnRpYXRpb24oRiwgYXJndW1lbnRzTGlzdCkuCisgICAgWy4u
Ll0KKworICAgIDkuMi4xMiBGdW5jdGlvbkRlY2xhcmF0aW9uSW5zdGFudGlhdGlvbihmdW5jLCBh
cmd1bWVudHNMaXN0KQorCisgICAgWy4uLl0KKyAgICAyMy4gTGV0IGl0ZXJhdG9yUmVjb3JkIGJl
IFJlY29yZCB7W1tpdGVyYXRvcl1dOgorICAgICAgICBDcmVhdGVMaXN0SXRlcmF0b3IoYXJndW1l
bnRzTGlzdCksIFtbZG9uZV1dOiBmYWxzZX0uCisgICAgMjQuIElmIGhhc0R1cGxpY2F0ZXMgaXMg
dHJ1ZSwgdGhlbgorICAgICAgICBbLi4uXQorICAgIDI1LiBFbHNlLAorICAgICAgICBiLiBMZXQg
Zm9ybWFsU3RhdHVzIGJlIEl0ZXJhdG9yQmluZGluZ0luaXRpYWxpemF0aW9uIGZvciBmb3JtYWxz
IHdpdGgKKyAgICAgICAgICAgaXRlcmF0b3JSZWNvcmQgYW5kIGVudiBhcyBhcmd1bWVudHMuCisg
ICAgWy4uLl0KKworICAgIFJ1bnRpbWUgU2VtYW50aWNzOiBJdGVyYXRvckJpbmRpbmdJbml0aWFs
aXphdGlvbgorCisgICAgQmluZGluZ1Jlc3RFbGVtZW50IDogLi4uIEJpbmRpbmdJZGVudGlmaWVy
CisKKyAgICBbLi4uXQorICAgIDIuIExldCBBIGJlICEgQXJyYXlDcmVhdGUoMCkuCisgICAgMy4g
TGV0IG4gYmUgMC4KKyAgICA0LiBSZXBlYXQsCisgICAgICAgIFsuLi5dCisgICAgICAgIGYuIFBl
cmZvcm0gISBDcmVhdGVEYXRhUHJvcGVydHlPclRocm93KEEsICEgVG9TdHJpbmcobiksIG5leHRW
YWx1ZSkuCisgICAgICAgIGcuIFNldCBuIHRvIG4gKyAxLgorCistLS0qLworCit2YXIgY2FsbENv
dW50ID0gMDsKK3ZhciBmOworZiA9IGZ1bmN0aW9uKihbLi4ueF0pIHsKKyAgYXNzZXJ0KEFycmF5
LmlzQXJyYXkoeCkpOworICBhc3NlcnQuY29tcGFyZUFycmF5KHgsIFsxXSk7CisgIGNhbGxDb3Vu
dCA9IGNhbGxDb3VudCArIDE7Cit9OworCitmKFsxXSkubmV4dCgpOworYXNzZXJ0LnNhbWVWYWx1
ZShjYWxsQ291bnQsIDEsICdnZW5lcmF0b3IgZnVuY3Rpb24gaW52b2tlZCBleGFjdGx5IG9uY2Un
KTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25z
L2dlbmVyYXRvcnMvZHN0ci9kZmx0LWFyeS1pbml0LWl0ZXItZ2V0LWVyci1hcnJheS1wcm90b3R5
cGUuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9nZW5lcmF0
b3JzL2RzdHIvZGZsdC1hcnktaW5pdC1pdGVyLWdldC1lcnItYXJyYXktcHJvdG90eXBlLmpzCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmYyODlmN2NlMjlmODJkMTQxNzg0MzVhZTdjMjRjY2VmMDVlMDY1ZWIKLS0tIC9k
ZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9n
ZW5lcmF0b3JzL2RzdHIvZGZsdC1hcnktaW5pdC1pdGVyLWdldC1lcnItYXJyYXktcHJvdG90eXBl
LmpzCkBAIC0wLDAgKzEsNjMgQEAKKy8vIFRoaXMgZmlsZSB3YXMgcHJvY2VkdXJhbGx5IGdlbmVy
YXRlZCBmcm9tIHRoZSBmb2xsb3dpbmcgc291cmNlczoKKy8vIC0gc3JjL2RzdHItYmluZGluZy9h
cnktaW5pdC1pdGVyLWdldC1lcnItYXJyYXktcHJvdG90eXBlLmNhc2UKKy8vIC0gc3JjL2RzdHIt
YmluZGluZy9lcnJvci9nZW4tZnVuYy1leHByLWRmbHQudGVtcGxhdGUKKy8qLS0tCitkZXNjcmlw
dGlvbjogQWJydXB0IGNvbXBsZXRpb24gcmV0dXJuZWQgYnkgR2V0SXRlcmF0b3IgKGdlbmVyYXRv
ciBmdW5jdGlvbiBleHByZXNzaW9uIChkZWZhdWx0IHBhcmFtZXRlcikpCitlc2lkOiBzZWMtZ2Vu
ZXJhdG9yLWZ1bmN0aW9uLWRlZmluaXRpb25zLXJ1bnRpbWUtc2VtYW50aWNzLWV2YWx1YXRpb24K
K2ZlYXR1cmVzOiBbU3ltYm9sLml0ZXJhdG9yLCBnZW5lcmF0b3JzLCBkZXN0cnVjdHVyaW5nLWJp
bmRpbmcsIGRlZmF1bHQtcGFyYW1ldGVyc10KK2ZsYWdzOiBbZ2VuZXJhdGVkXQoraW5mbzogfAor
ICAgIEdlbmVyYXRvckV4cHJlc3Npb24gOiBmdW5jdGlvbiAqICggRm9ybWFsUGFyYW1ldGVycyAp
IHsgR2VuZXJhdG9yQm9keSB9CisKKyAgICAgICAgWy4uLl0KKyAgICAgICAgMy4gTGV0IGNsb3N1
cmUgYmUgR2VuZXJhdG9yRnVuY3Rpb25DcmVhdGUoTm9ybWFsLCBGb3JtYWxQYXJhbWV0ZXJzLAor
ICAgICAgICAgICBHZW5lcmF0b3JCb2R5LCBzY29wZSwgc3RyaWN0KS4KKyAgICAgICAgWy4uLl0K
KworICAgIDkuMi4xIFtbQ2FsbF1dICggdGhpc0FyZ3VtZW50LCBhcmd1bWVudHNMaXN0KQorCisg
ICAgWy4uLl0KKyAgICA3LiBMZXQgcmVzdWx0IGJlIE9yZGluYXJ5Q2FsbEV2YWx1YXRlQm9keShG
LCBhcmd1bWVudHNMaXN0KS4KKyAgICBbLi4uXQorCisgICAgOS4yLjEuMyBPcmRpbmFyeUNhbGxF
dmFsdWF0ZUJvZHkgKCBGLCBhcmd1bWVudHNMaXN0ICkKKworICAgIDEuIExldCBzdGF0dXMgYmUg
RnVuY3Rpb25EZWNsYXJhdGlvbkluc3RhbnRpYXRpb24oRiwgYXJndW1lbnRzTGlzdCkuCisgICAg
Wy4uLl0KKworICAgIDkuMi4xMiBGdW5jdGlvbkRlY2xhcmF0aW9uSW5zdGFudGlhdGlvbihmdW5j
LCBhcmd1bWVudHNMaXN0KQorCisgICAgWy4uLl0KKyAgICAyMy4gTGV0IGl0ZXJhdG9yUmVjb3Jk
IGJlIFJlY29yZCB7W1tpdGVyYXRvcl1dOgorICAgICAgICBDcmVhdGVMaXN0SXRlcmF0b3IoYXJn
dW1lbnRzTGlzdCksIFtbZG9uZV1dOiBmYWxzZX0uCisgICAgMjQuIElmIGhhc0R1cGxpY2F0ZXMg
aXMgdHJ1ZSwgdGhlbgorICAgICAgICBbLi4uXQorICAgIDI1LiBFbHNlLAorICAgICAgICBiLiBM
ZXQgZm9ybWFsU3RhdHVzIGJlIEl0ZXJhdG9yQmluZGluZ0luaXRpYWxpemF0aW9uIGZvciBmb3Jt
YWxzIHdpdGgKKyAgICAgICAgICAgaXRlcmF0b3JSZWNvcmQgYW5kIGVudiBhcyBhcmd1bWVudHMu
CisgICAgWy4uLl0KKworICAgIFJ1bnRpbWUgU2VtYW50aWNzOiBCaW5kaW5nSW5pdGlhbGl6YXRp
b24KKworICAgIEJpbmRpbmdQYXR0ZXJuIDogQXJyYXlCaW5kaW5nUGF0dGVybgorCisgICAgMS4g
TGV0IGl0ZXJhdG9yUmVjb3JkIGJlID8gR2V0SXRlcmF0b3IodmFsdWUpLgorCisgICAgR2V0SXRl
cmF0b3IgKCBvYmogWyAsIGhpbnQgWyAsIG1ldGhvZCBdIF0gKQorCisgICAgWy4uLl0KKyAgICA0
LiBMZXQgaXRlcmF0b3IgYmUgPyBDYWxsKG1ldGhvZCwgb2JqKS4KKworICAgIENhbGwgKCBGLCBW
IFsgLCBhcmd1bWVudHNMaXN0IF0gKQorCisgICAgWy4uLl0KKyAgICAyLiBJZiBJc0NhbGxhYmxl
KEYpIGlzIGZhbHNlLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24uCisKKy0tLSovCitkZWxl
dGUgQXJyYXkucHJvdG90eXBlW1N5bWJvbC5pdGVyYXRvcl07CisKK3ZhciBmID0gZnVuY3Rpb24q
KFt4LCB5LCB6XSA9IFsxLCAyLCAzXSkge307CisKK2Fzc2VydC50aHJvd3MoVHlwZUVycm9yLCBm
dW5jdGlvbigpIHsKKyAgZigpOworfSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9sYW5ndWFnZS9leHByZXNzaW9ucy9nZW5lcmF0b3JzL2RzdHIvZGZsdC1hcnktcHRybi1lbGVt
LWlkLWl0ZXItdmFsLWFycmF5LXByb3RvdHlwZS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xh
bmd1YWdlL2V4cHJlc3Npb25zL2dlbmVyYXRvcnMvZHN0ci9kZmx0LWFyeS1wdHJuLWVsZW0taWQt
aXRlci12YWwtYXJyYXktcHJvdG90eXBlLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMzNzJmZjU2NjVmZmYxY2Q3
MjYwOTBjMTgzNzBlNTJiN2QzNzRhYTQKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9nZW5lcmF0b3JzL2RzdHIvZGZsdC1hcnktcHRy
bi1lbGVtLWlkLWl0ZXItdmFsLWFycmF5LXByb3RvdHlwZS5qcwpAQCAtMCwwICsxLDgxIEBACisv
LyBUaGlzIGZpbGUgd2FzIHByb2NlZHVyYWxseSBnZW5lcmF0ZWQgZnJvbSB0aGUgZm9sbG93aW5n
IHNvdXJjZXM6CisvLyAtIHNyYy9kc3RyLWJpbmRpbmcvYXJ5LXB0cm4tZWxlbS1pZC1pdGVyLXZh
bC1hcnJheS1wcm90b3R5cGUuY2FzZQorLy8gLSBzcmMvZHN0ci1iaW5kaW5nL2RlZmF1bHQvZ2Vu
LWZ1bmMtZXhwci1kZmx0LnRlbXBsYXRlCisvKi0tLQorZGVzY3JpcHRpb246IEFycmF5IGRlc3Ry
dWN0dXJpbmcgdXNlcyBvdmVycmlkZW4gQXJyYXkucHJvdG90eXBlW1N5bWJvbC5pdGVyYXRvcl0g
KGdlbmVyYXRvciBmdW5jdGlvbiBleHByZXNzaW9uIChkZWZhdWx0IHBhcmFtZXRlcikpCitlc2lk
OiBzZWMtZ2VuZXJhdG9yLWZ1bmN0aW9uLWRlZmluaXRpb25zLXJ1bnRpbWUtc2VtYW50aWNzLWV2
YWx1YXRpb24KK2ZlYXR1cmVzOiBbU3ltYm9sLml0ZXJhdG9yLCBnZW5lcmF0b3JzLCBkZXN0cnVj
dHVyaW5nLWJpbmRpbmcsIGRlZmF1bHQtcGFyYW1ldGVyc10KK2ZsYWdzOiBbZ2VuZXJhdGVkXQor
aW5mbzogfAorICAgIEdlbmVyYXRvckV4cHJlc3Npb24gOiBmdW5jdGlvbiAqICggRm9ybWFsUGFy
YW1ldGVycyApIHsgR2VuZXJhdG9yQm9keSB9CisKKyAgICAgICAgWy4uLl0KKyAgICAgICAgMy4g
TGV0IGNsb3N1cmUgYmUgR2VuZXJhdG9yRnVuY3Rpb25DcmVhdGUoTm9ybWFsLCBGb3JtYWxQYXJh
bWV0ZXJzLAorICAgICAgICAgICBHZW5lcmF0b3JCb2R5LCBzY29wZSwgc3RyaWN0KS4KKyAgICAg
ICAgWy4uLl0KKworICAgIDkuMi4xIFtbQ2FsbF1dICggdGhpc0FyZ3VtZW50LCBhcmd1bWVudHNM
aXN0KQorCisgICAgWy4uLl0KKyAgICA3LiBMZXQgcmVzdWx0IGJlIE9yZGluYXJ5Q2FsbEV2YWx1
YXRlQm9keShGLCBhcmd1bWVudHNMaXN0KS4KKyAgICBbLi4uXQorCisgICAgOS4yLjEuMyBPcmRp
bmFyeUNhbGxFdmFsdWF0ZUJvZHkgKCBGLCBhcmd1bWVudHNMaXN0ICkKKworICAgIDEuIExldCBz
dGF0dXMgYmUgRnVuY3Rpb25EZWNsYXJhdGlvbkluc3RhbnRpYXRpb24oRiwgYXJndW1lbnRzTGlz
dCkuCisgICAgWy4uLl0KKworICAgIDkuMi4xMiBGdW5jdGlvbkRlY2xhcmF0aW9uSW5zdGFudGlh
dGlvbihmdW5jLCBhcmd1bWVudHNMaXN0KQorCisgICAgWy4uLl0KKyAgICAyMy4gTGV0IGl0ZXJh
dG9yUmVjb3JkIGJlIFJlY29yZCB7W1tpdGVyYXRvcl1dOgorICAgICAgICBDcmVhdGVMaXN0SXRl
cmF0b3IoYXJndW1lbnRzTGlzdCksIFtbZG9uZV1dOiBmYWxzZX0uCisgICAgMjQuIElmIGhhc0R1
cGxpY2F0ZXMgaXMgdHJ1ZSwgdGhlbgorICAgICAgICBbLi4uXQorICAgIDI1LiBFbHNlLAorICAg
ICAgICBiLiBMZXQgZm9ybWFsU3RhdHVzIGJlIEl0ZXJhdG9yQmluZGluZ0luaXRpYWxpemF0aW9u
IGZvciBmb3JtYWxzIHdpdGgKKyAgICAgICAgICAgaXRlcmF0b3JSZWNvcmQgYW5kIGVudiBhcyBh
cmd1bWVudHMuCisgICAgWy4uLl0KKworICAgIFJ1bnRpbWUgU2VtYW50aWNzOiBJdGVyYXRvckJp
bmRpbmdJbml0aWFsaXphdGlvbgorCisgICAgU2luZ2xlTmFtZUJpbmRpbmcgOiBCaW5kaW5nSWRl
bnRpZmllciBJbml0aWFsaXplcl9vcHQKKworICAgIDEuIExldCBiaW5kaW5nSWQgYmUgU3RyaW5n
VmFsdWUgb2YgQmluZGluZ0lkZW50aWZpZXIuCisgICAgMi4gTGV0IGxocyBiZSA/IFJlc29sdmVC
aW5kaW5nKGJpbmRpbmdJZCwgZW52aXJvbm1lbnQpLgorICAgIDMuIElmIGl0ZXJhdG9yUmVjb3Jk
LltbRG9uZV1dIGlzIGZhbHNlLCB0aGVuCisgICAgICAgIGEuIExldCBuZXh0IGJlIEl0ZXJhdG9y
U3RlcChpdGVyYXRvclJlY29yZCkuCisgICAgICAgIGIuIElmIG5leHQgaXMgYW4gYWJydXB0IGNv
bXBsZXRpb24sIHNldCBpdGVyYXRvclJlY29yZC5bW0RvbmVdXSB0byB0cnVlLgorICAgICAgICBj
LiBSZXR1cm5JZkFicnVwdChuZXh0KS4KKyAgICAgICAgZC4gSWYgbmV4dCBpcyBmYWxzZSwgc2V0
IGl0ZXJhdG9yUmVjb3JkLltbRG9uZV1dIHRvIHRydWUuCisgICAgICAgIGUuIEVsc2UsCisgICAg
ICAgICAgICBpLiBMZXQgdiBiZSBJdGVyYXRvclZhbHVlKG5leHQpLgorICAgICAgICAgICAgaWku
IElmIHYgaXMgYW4gYWJydXB0IGNvbXBsZXRpb24sIHNldCBpdGVyYXRvclJlY29yZC5bW0RvbmVd
XSB0byB0cnVlLgorICAgICAgICAgICAgaWlpLiBSZXR1cm5JZkFicnVwdCh2KS4KKyAgICBbLi4u
XQorICAgIDcuIFJldHVybiBJbml0aWFsaXplUmVmZXJlbmNlZEJpbmRpbmcobGhzLCB2KS4KKwor
LS0tKi8KK0FycmF5LnByb3RvdHlwZVtTeW1ib2wuaXRlcmF0b3JdID0gZnVuY3Rpb24qICgpIHsK
KyAgICBpZiAodGhpcy5sZW5ndGggPiAwKSB7CisgICAgICAgIHlpZWxkIHRoaXNbMF07CisgICAg
fQorICAgIGlmICh0aGlzLmxlbmd0aCA+IDEpIHsKKyAgICAgICAgeWllbGQgdGhpc1sxXTsKKyAg
ICB9CisgICAgaWYgKHRoaXMubGVuZ3RoID4gMikgeworICAgICAgICB5aWVsZCA0MjsKKyAgICB9
Cit9OworCit2YXIgY2FsbENvdW50ID0gMDsKK3ZhciBmOworZiA9IGZ1bmN0aW9uKihbeCwgeSwg
el0gPSBbMSwgMiwgM10pIHsKKyAgYXNzZXJ0LnNhbWVWYWx1ZSh4LCAxKTsKKyAgYXNzZXJ0LnNh
bWVWYWx1ZSh5LCAyKTsKKyAgYXNzZXJ0LnNhbWVWYWx1ZSh6LCA0Mik7CisgIGNhbGxDb3VudCA9
IGNhbGxDb3VudCArIDE7Cit9OworCitmKCkubmV4dCgpOworYXNzZXJ0LnNhbWVWYWx1ZShjYWxs
Q291bnQsIDEsICdnZW5lcmF0b3IgZnVuY3Rpb24gaW52b2tlZCBleGFjdGx5IG9uY2UnKTsKZGlm
ZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2dlbmVy
YXRvcnMvZHN0ci9kZmx0LWFyeS1wdHJuLXJlc3QtaWQtZGlyZWN0LmpzIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvZ2VuZXJhdG9ycy9kc3RyL2RmbHQtYXJ5LXB0
cm4tcmVzdC1pZC1kaXJlY3QuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzU5NDhkN2M1NzVjOWE2MmQ5MmEwZjJj
ZjMxMDMxYWZlOTdiMTZiYQotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2xhbmd1YWdlL2V4cHJlc3Npb25zL2dlbmVyYXRvcnMvZHN0ci9kZmx0LWFyeS1wdHJuLXJlc3Qt
aWQtZGlyZWN0LmpzCkBAIC0wLDAgKzEsNjQgQEAKKy8vIFRoaXMgZmlsZSB3YXMgcHJvY2VkdXJh
bGx5IGdlbmVyYXRlZCBmcm9tIHRoZSBmb2xsb3dpbmcgc291cmNlczoKKy8vIC0gc3JjL2RzdHIt
YmluZGluZy9hcnktcHRybi1yZXN0LWlkLWRpcmVjdC5jYXNlCisvLyAtIHNyYy9kc3RyLWJpbmRp
bmcvZGVmYXVsdC9nZW4tZnVuYy1leHByLWRmbHQudGVtcGxhdGUKKy8qLS0tCitkZXNjcmlwdGlv
bjogTG9uZSByZXN0IGVsZW1lbnQgKGRpcmVjdCBiaW5kaW5nKSAoZ2VuZXJhdG9yIGZ1bmN0aW9u
IGV4cHJlc3Npb24gKGRlZmF1bHQgcGFyYW1ldGVyKSkKK2VzaWQ6IHNlYy1nZW5lcmF0b3ItZnVu
Y3Rpb24tZGVmaW5pdGlvbnMtcnVudGltZS1zZW1hbnRpY3MtZXZhbHVhdGlvbgorZmVhdHVyZXM6
IFtnZW5lcmF0b3JzLCBkZXN0cnVjdHVyaW5nLWJpbmRpbmcsIGRlZmF1bHQtcGFyYW1ldGVyc10K
K2ZsYWdzOiBbZ2VuZXJhdGVkXQoraW5jbHVkZXM6IFtjb21wYXJlQXJyYXkuanNdCitpbmZvOiB8
CisgICAgR2VuZXJhdG9yRXhwcmVzc2lvbiA6IGZ1bmN0aW9uICogKCBGb3JtYWxQYXJhbWV0ZXJz
ICkgeyBHZW5lcmF0b3JCb2R5IH0KKworICAgICAgICBbLi4uXQorICAgICAgICAzLiBMZXQgY2xv
c3VyZSBiZSBHZW5lcmF0b3JGdW5jdGlvbkNyZWF0ZShOb3JtYWwsIEZvcm1hbFBhcmFtZXRlcnMs
CisgICAgICAgICAgIEdlbmVyYXRvckJvZHksIHNjb3BlLCBzdHJpY3QpLgorICAgICAgICBbLi4u
XQorCisgICAgOS4yLjEgW1tDYWxsXV0gKCB0aGlzQXJndW1lbnQsIGFyZ3VtZW50c0xpc3QpCisK
KyAgICBbLi4uXQorICAgIDcuIExldCByZXN1bHQgYmUgT3JkaW5hcnlDYWxsRXZhbHVhdGVCb2R5
KEYsIGFyZ3VtZW50c0xpc3QpLgorICAgIFsuLi5dCisKKyAgICA5LjIuMS4zIE9yZGluYXJ5Q2Fs
bEV2YWx1YXRlQm9keSAoIEYsIGFyZ3VtZW50c0xpc3QgKQorCisgICAgMS4gTGV0IHN0YXR1cyBi
ZSBGdW5jdGlvbkRlY2xhcmF0aW9uSW5zdGFudGlhdGlvbihGLCBhcmd1bWVudHNMaXN0KS4KKyAg
ICBbLi4uXQorCisgICAgOS4yLjEyIEZ1bmN0aW9uRGVjbGFyYXRpb25JbnN0YW50aWF0aW9uKGZ1
bmMsIGFyZ3VtZW50c0xpc3QpCisKKyAgICBbLi4uXQorICAgIDIzLiBMZXQgaXRlcmF0b3JSZWNv
cmQgYmUgUmVjb3JkIHtbW2l0ZXJhdG9yXV06CisgICAgICAgIENyZWF0ZUxpc3RJdGVyYXRvcihh
cmd1bWVudHNMaXN0KSwgW1tkb25lXV06IGZhbHNlfS4KKyAgICAyNC4gSWYgaGFzRHVwbGljYXRl
cyBpcyB0cnVlLCB0aGVuCisgICAgICAgIFsuLi5dCisgICAgMjUuIEVsc2UsCisgICAgICAgIGIu
IExldCBmb3JtYWxTdGF0dXMgYmUgSXRlcmF0b3JCaW5kaW5nSW5pdGlhbGl6YXRpb24gZm9yIGZv
cm1hbHMgd2l0aAorICAgICAgICAgICBpdGVyYXRvclJlY29yZCBhbmQgZW52IGFzIGFyZ3VtZW50
cy4KKyAgICBbLi4uXQorCisgICAgUnVudGltZSBTZW1hbnRpY3M6IEl0ZXJhdG9yQmluZGluZ0lu
aXRpYWxpemF0aW9uCisKKyAgICBCaW5kaW5nUmVzdEVsZW1lbnQgOiAuLi4gQmluZGluZ0lkZW50
aWZpZXIKKworICAgIFsuLi5dCisgICAgMi4gTGV0IEEgYmUgISBBcnJheUNyZWF0ZSgwKS4KKyAg
ICAzLiBMZXQgbiBiZSAwLgorICAgIDQuIFJlcGVhdCwKKyAgICAgICAgWy4uLl0KKyAgICAgICAg
Zi4gUGVyZm9ybSAhIENyZWF0ZURhdGFQcm9wZXJ0eU9yVGhyb3coQSwgISBUb1N0cmluZyhuKSwg
bmV4dFZhbHVlKS4KKyAgICAgICAgZy4gU2V0IG4gdG8gbiArIDEuCisKKy0tLSovCisKK3ZhciBj
YWxsQ291bnQgPSAwOwordmFyIGY7CitmID0gZnVuY3Rpb24qKFsuLi54XSA9IFsxXSkgeworICBh
c3NlcnQoQXJyYXkuaXNBcnJheSh4KSk7CisgIGFzc2VydC5jb21wYXJlQXJyYXkoeCwgWzFdKTsK
KyAgY2FsbENvdW50ID0gY2FsbENvdW50ICsgMTsKK307CisKK2YoKS5uZXh0KCk7Cithc3NlcnQu
c2FtZVZhbHVlKGNhbGxDb3VudCwgMSwgJ2dlbmVyYXRvciBmdW5jdGlvbiBpbnZva2VkIGV4YWN0
bHkgb25jZScpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhw
cmVzc2lvbnMvb2JqZWN0L2RzdHIvYXN5bmMtZ2VuLW1ldGgtYXJ5LWluaXQtaXRlci1nZXQtZXJy
LWFycmF5LXByb3RvdHlwZS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJl
c3Npb25zL29iamVjdC9kc3RyL2FzeW5jLWdlbi1tZXRoLWFyeS1pbml0LWl0ZXItZ2V0LWVyci1h
cnJheS1wcm90b3R5cGUuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGE1OGEyYzdhMmZmNjg2NzA0NDViZjVlOTY2
NDJlMzJkMDQyMDcwNAotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xh
bmd1YWdlL2V4cHJlc3Npb25zL29iamVjdC9kc3RyL2FzeW5jLWdlbi1tZXRoLWFyeS1pbml0LWl0
ZXItZ2V0LWVyci1hcnJheS1wcm90b3R5cGUuanMKQEAgLTAsMCArMSw1MSBAQAorLy8gVGhpcyBm
aWxlIHdhcyBwcm9jZWR1cmFsbHkgZ2VuZXJhdGVkIGZyb20gdGhlIGZvbGxvd2luZyBzb3VyY2Vz
OgorLy8gLSBzcmMvZHN0ci1iaW5kaW5nL2FyeS1pbml0LWl0ZXItZ2V0LWVyci1hcnJheS1wcm90
b3R5cGUuY2FzZQorLy8gLSBzcmMvZHN0ci1iaW5kaW5nL2Vycm9yL2FzeW5jLWdlbi1tZXRoLnRl
bXBsYXRlCisvKi0tLQorZGVzY3JpcHRpb246IEFicnVwdCBjb21wbGV0aW9uIHJldHVybmVkIGJ5
IEdldEl0ZXJhdG9yIChhc3luYyBnZW5lcmF0b3IgbWV0aG9kKQorZXNpZDogc2VjLWFzeW5jZ2Vu
ZXJhdG9yLWRlZmluaXRpb25zLXByb3BlcnR5ZGVmaW5pdGlvbmV2YWx1YXRpb24KK2ZlYXR1cmVz
OiBbU3ltYm9sLml0ZXJhdG9yLCBhc3luYy1pdGVyYXRpb25dCitmbGFnczogW2dlbmVyYXRlZF0K
K2luZm86IHwKKyAgICBBc3luY0dlbmVyYXRvck1ldGhvZCA6CisgICAgICAgIGFzeW5jIFtubyBM
aW5lVGVybWluYXRvciBoZXJlXSAqIFByb3BlcnR5TmFtZSAoIFVuaXF1ZUZvcm1hbFBhcmFtZXRl
cnMgKQorICAgICAgICAgICAgeyBBc3luY0dlbmVyYXRvckJvZHkgfQorCisgICAgMS4gTGV0IHBy
b3BLZXkgYmUgdGhlIHJlc3VsdCBvZiBldmFsdWF0aW5nIFByb3BlcnR5TmFtZS4KKyAgICAyLiBS
ZXR1cm5JZkFicnVwdChwcm9wS2V5KS4KKyAgICAzLiBJZiB0aGUgZnVuY3Rpb24gY29kZSBmb3Ig
dGhpcyBBc3luY0dlbmVyYXRvck1ldGhvZCBpcyBzdHJpY3QgbW9kZSBjb2RlLCBsZXQgc3RyaWN0
IGJlIHRydWUuCisgICAgICAgT3RoZXJ3aXNlIGxldCBzdHJpY3QgYmUgZmFsc2UuCisgICAgNC4g
TGV0IHNjb3BlIGJlIHRoZSBydW5uaW5nIGV4ZWN1dGlvbiBjb250ZXh0J3MgTGV4aWNhbEVudmly
b25tZW50LgorICAgIDUuIExldCBjbG9zdXJlIGJlICEgQXN5bmNHZW5lcmF0b3JGdW5jdGlvbkNy
ZWF0ZShNZXRob2QsIFVuaXF1ZUZvcm1hbFBhcmFtZXRlcnMsCisgICAgICAgQXN5bmNHZW5lcmF0
b3JCb2R5LCBzY29wZSwgc3RyaWN0KS4KKyAgICBbLi4uXQorCisgICAgUnVudGltZSBTZW1hbnRp
Y3M6IEJpbmRpbmdJbml0aWFsaXphdGlvbgorCisgICAgQmluZGluZ1BhdHRlcm4gOiBBcnJheUJp
bmRpbmdQYXR0ZXJuCisKKyAgICAxLiBMZXQgaXRlcmF0b3JSZWNvcmQgYmUgPyBHZXRJdGVyYXRv
cih2YWx1ZSkuCisKKyAgICBHZXRJdGVyYXRvciAoIG9iaiBbICwgaGludCBbICwgbWV0aG9kIF0g
XSApCisKKyAgICBbLi4uXQorICAgIDQuIExldCBpdGVyYXRvciBiZSA/IENhbGwobWV0aG9kLCBv
YmopLgorCisgICAgQ2FsbCAoIEYsIFYgWyAsIGFyZ3VtZW50c0xpc3QgXSApCisKKyAgICBbLi4u
XQorICAgIDIuIElmIElzQ2FsbGFibGUoRikgaXMgZmFsc2UsIHRocm93IGEgVHlwZUVycm9yIGV4
Y2VwdGlvbi4KKworLS0tKi8KK2RlbGV0ZSBBcnJheS5wcm90b3R5cGVbU3ltYm9sLml0ZXJhdG9y
XTsKKworCit2YXIgb2JqID0geworICBhc3luYyAqbWV0aG9kKFt4LCB5LCB6XSkgeworICAgIAor
ICB9Cit9OworCithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgZnVuY3Rpb24oKSB7CisgIG9iai5t
ZXRob2QoWzEsIDIsIDNdKTsKK30pOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
bGFuZ3VhZ2UvZXhwcmVzc2lvbnMvb2JqZWN0L2RzdHIvYXN5bmMtZ2VuLW1ldGgtYXJ5LXB0cm4t
ZWxlbS1pZC1pdGVyLXZhbC1hcnJheS1wcm90b3R5cGUuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9sYW5ndWFnZS9leHByZXNzaW9ucy9vYmplY3QvZHN0ci9hc3luYy1nZW4tbWV0aC1hcnktcHRy
bi1lbGVtLWlkLWl0ZXItdmFsLWFycmF5LXByb3RvdHlwZS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjdmYmRk
NjU0NTU1NzdkOWNlZTMwMjYyZWIyZWE0ZmVjZjc0M2ZhCi0tLSAvZGV2L251bGwKKysrIGIvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvb2JqZWN0L2RzdHIvYXN5bmMt
Z2VuLW1ldGgtYXJ5LXB0cm4tZWxlbS1pZC1pdGVyLXZhbC1hcnJheS1wcm90b3R5cGUuanMKQEAg
LTAsMCArMSw2OCBAQAorLy8gVGhpcyBmaWxlIHdhcyBwcm9jZWR1cmFsbHkgZ2VuZXJhdGVkIGZy
b20gdGhlIGZvbGxvd2luZyBzb3VyY2VzOgorLy8gLSBzcmMvZHN0ci1iaW5kaW5nL2FyeS1wdHJu
LWVsZW0taWQtaXRlci12YWwtYXJyYXktcHJvdG90eXBlLmNhc2UKKy8vIC0gc3JjL2RzdHItYmlu
ZGluZy9kZWZhdWx0L2FzeW5jLWdlbi1tZXRoLnRlbXBsYXRlCisvKi0tLQorZGVzY3JpcHRpb246
IEFycmF5IGRlc3RydWN0dXJpbmcgdXNlcyBvdmVycmlkZW4gQXJyYXkucHJvdG90eXBlW1N5bWJv
bC5pdGVyYXRvcl0gKGFzeW5jIGdlbmVyYXRvciBtZXRob2QpCitlc2lkOiBzZWMtYXN5bmNnZW5l
cmF0b3ItZGVmaW5pdGlvbnMtcHJvcGVydHlkZWZpbml0aW9uZXZhbHVhdGlvbgorZmVhdHVyZXM6
IFtTeW1ib2wuaXRlcmF0b3IsIGdlbmVyYXRvcnMsIGFzeW5jLWl0ZXJhdGlvbl0KK2ZsYWdzOiBb
Z2VuZXJhdGVkLCBhc3luY10KK2luZm86IHwKKyAgICBBc3luY0dlbmVyYXRvck1ldGhvZCA6Cisg
ICAgICAgIGFzeW5jIFtubyBMaW5lVGVybWluYXRvciBoZXJlXSAqIFByb3BlcnR5TmFtZSAoIFVu
aXF1ZUZvcm1hbFBhcmFtZXRlcnMgKQorICAgICAgICAgICAgeyBBc3luY0dlbmVyYXRvckJvZHkg
fQorCisgICAgMS4gTGV0IHByb3BLZXkgYmUgdGhlIHJlc3VsdCBvZiBldmFsdWF0aW5nIFByb3Bl
cnR5TmFtZS4KKyAgICAyLiBSZXR1cm5JZkFicnVwdChwcm9wS2V5KS4KKyAgICAzLiBJZiB0aGUg
ZnVuY3Rpb24gY29kZSBmb3IgdGhpcyBBc3luY0dlbmVyYXRvck1ldGhvZCBpcyBzdHJpY3QgbW9k
ZSBjb2RlLCBsZXQgc3RyaWN0IGJlIHRydWUuCisgICAgICAgT3RoZXJ3aXNlIGxldCBzdHJpY3Qg
YmUgZmFsc2UuCisgICAgNC4gTGV0IHNjb3BlIGJlIHRoZSBydW5uaW5nIGV4ZWN1dGlvbiBjb250
ZXh0J3MgTGV4aWNhbEVudmlyb25tZW50LgorICAgIDUuIExldCBjbG9zdXJlIGJlICEgQXN5bmNH
ZW5lcmF0b3JGdW5jdGlvbkNyZWF0ZShNZXRob2QsIFVuaXF1ZUZvcm1hbFBhcmFtZXRlcnMsCisg
ICAgICAgQXN5bmNHZW5lcmF0b3JCb2R5LCBzY29wZSwgc3RyaWN0KS4KKyAgICBbLi4uXQorCisK
KyAgICBSdW50aW1lIFNlbWFudGljczogSXRlcmF0b3JCaW5kaW5nSW5pdGlhbGl6YXRpb24KKwor
ICAgIFNpbmdsZU5hbWVCaW5kaW5nIDogQmluZGluZ0lkZW50aWZpZXIgSW5pdGlhbGl6ZXJfb3B0
CisKKyAgICAxLiBMZXQgYmluZGluZ0lkIGJlIFN0cmluZ1ZhbHVlIG9mIEJpbmRpbmdJZGVudGlm
aWVyLgorICAgIDIuIExldCBsaHMgYmUgPyBSZXNvbHZlQmluZGluZyhiaW5kaW5nSWQsIGVudmly
b25tZW50KS4KKyAgICAzLiBJZiBpdGVyYXRvclJlY29yZC5bW0RvbmVdXSBpcyBmYWxzZSwgdGhl
bgorICAgICAgICBhLiBMZXQgbmV4dCBiZSBJdGVyYXRvclN0ZXAoaXRlcmF0b3JSZWNvcmQpLgor
ICAgICAgICBiLiBJZiBuZXh0IGlzIGFuIGFicnVwdCBjb21wbGV0aW9uLCBzZXQgaXRlcmF0b3JS
ZWNvcmQuW1tEb25lXV0gdG8gdHJ1ZS4KKyAgICAgICAgYy4gUmV0dXJuSWZBYnJ1cHQobmV4dCku
CisgICAgICAgIGQuIElmIG5leHQgaXMgZmFsc2UsIHNldCBpdGVyYXRvclJlY29yZC5bW0RvbmVd
XSB0byB0cnVlLgorICAgICAgICBlLiBFbHNlLAorICAgICAgICAgICAgaS4gTGV0IHYgYmUgSXRl
cmF0b3JWYWx1ZShuZXh0KS4KKyAgICAgICAgICAgIGlpLiBJZiB2IGlzIGFuIGFicnVwdCBjb21w
bGV0aW9uLCBzZXQgaXRlcmF0b3JSZWNvcmQuW1tEb25lXV0gdG8gdHJ1ZS4KKyAgICAgICAgICAg
IGlpaS4gUmV0dXJuSWZBYnJ1cHQodikuCisgICAgWy4uLl0KKyAgICA3LiBSZXR1cm4gSW5pdGlh
bGl6ZVJlZmVyZW5jZWRCaW5kaW5nKGxocywgdikuCisKKy0tLSovCitBcnJheS5wcm90b3R5cGVb
U3ltYm9sLml0ZXJhdG9yXSA9IGZ1bmN0aW9uKiAoKSB7CisgICAgaWYgKHRoaXMubGVuZ3RoID4g
MCkgeworICAgICAgICB5aWVsZCB0aGlzWzBdOworICAgIH0KKyAgICBpZiAodGhpcy5sZW5ndGgg
PiAxKSB7CisgICAgICAgIHlpZWxkIHRoaXNbMV07CisgICAgfQorICAgIGlmICh0aGlzLmxlbmd0
aCA+IDIpIHsKKyAgICAgICAgeWllbGQgNDI7CisgICAgfQorfTsKKworCit2YXIgY2FsbENvdW50
ID0gMDsKK3ZhciBvYmogPSB7CisgIGFzeW5jICptZXRob2QoW3gsIHksIHpdKSB7CisgICAgYXNz
ZXJ0LnNhbWVWYWx1ZSh4LCAxKTsKKyAgICBhc3NlcnQuc2FtZVZhbHVlKHksIDIpOworICAgIGFz
c2VydC5zYW1lVmFsdWUoeiwgNDIpOworICAgIGNhbGxDb3VudCA9IGNhbGxDb3VudCArIDE7Cisg
IH0KK307CisKK29iai5tZXRob2QoWzEsIDIsIDNdKS5uZXh0KCkudGhlbigoKSA9PiB7CisgICAg
YXNzZXJ0LnNhbWVWYWx1ZShjYWxsQ291bnQsIDEsICdpbnZva2VkIGV4YWN0bHkgb25jZScpOwor
fSkudGhlbigkRE9ORSwgJERPTkUpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
bGFuZ3VhZ2UvZXhwcmVzc2lvbnMvb2JqZWN0L2RzdHIvYXN5bmMtZ2VuLW1ldGgtYXJ5LXB0cm4t
cmVzdC1pZC1kaXJlY3QuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNz
aW9ucy9vYmplY3QvZHN0ci9hc3luYy1nZW4tbWV0aC1hcnktcHRybi1yZXN0LWlkLWRpcmVjdC5q
cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi40OGNhMTExNjZkMjhkZjg4MjUxYWIyNGFiMDc3MDY1ZTg0ZTUxM2M4Ci0t
LSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lv
bnMvb2JqZWN0L2RzdHIvYXN5bmMtZ2VuLW1ldGgtYXJ5LXB0cm4tcmVzdC1pZC1kaXJlY3QuanMK
QEAgLTAsMCArMSw1MSBAQAorLy8gVGhpcyBmaWxlIHdhcyBwcm9jZWR1cmFsbHkgZ2VuZXJhdGVk
IGZyb20gdGhlIGZvbGxvd2luZyBzb3VyY2VzOgorLy8gLSBzcmMvZHN0ci1iaW5kaW5nL2FyeS1w
dHJuLXJlc3QtaWQtZGlyZWN0LmNhc2UKKy8vIC0gc3JjL2RzdHItYmluZGluZy9kZWZhdWx0L2Fz
eW5jLWdlbi1tZXRoLnRlbXBsYXRlCisvKi0tLQorZGVzY3JpcHRpb246IExvbmUgcmVzdCBlbGVt
ZW50IChkaXJlY3QgYmluZGluZykgKGFzeW5jIGdlbmVyYXRvciBtZXRob2QpCitlc2lkOiBzZWMt
YXN5bmNnZW5lcmF0b3ItZGVmaW5pdGlvbnMtcHJvcGVydHlkZWZpbml0aW9uZXZhbHVhdGlvbgor
ZmVhdHVyZXM6IFthc3luYy1pdGVyYXRpb25dCitmbGFnczogW2dlbmVyYXRlZCwgYXN5bmNdCitp
bmNsdWRlczogW2NvbXBhcmVBcnJheS5qc10KK2luZm86IHwKKyAgICBBc3luY0dlbmVyYXRvck1l
dGhvZCA6CisgICAgICAgIGFzeW5jIFtubyBMaW5lVGVybWluYXRvciBoZXJlXSAqIFByb3BlcnR5
TmFtZSAoIFVuaXF1ZUZvcm1hbFBhcmFtZXRlcnMgKQorICAgICAgICAgICAgeyBBc3luY0dlbmVy
YXRvckJvZHkgfQorCisgICAgMS4gTGV0IHByb3BLZXkgYmUgdGhlIHJlc3VsdCBvZiBldmFsdWF0
aW5nIFByb3BlcnR5TmFtZS4KKyAgICAyLiBSZXR1cm5JZkFicnVwdChwcm9wS2V5KS4KKyAgICAz
LiBJZiB0aGUgZnVuY3Rpb24gY29kZSBmb3IgdGhpcyBBc3luY0dlbmVyYXRvck1ldGhvZCBpcyBz
dHJpY3QgbW9kZSBjb2RlLCBsZXQgc3RyaWN0IGJlIHRydWUuCisgICAgICAgT3RoZXJ3aXNlIGxl
dCBzdHJpY3QgYmUgZmFsc2UuCisgICAgNC4gTGV0IHNjb3BlIGJlIHRoZSBydW5uaW5nIGV4ZWN1
dGlvbiBjb250ZXh0J3MgTGV4aWNhbEVudmlyb25tZW50LgorICAgIDUuIExldCBjbG9zdXJlIGJl
ICEgQXN5bmNHZW5lcmF0b3JGdW5jdGlvbkNyZWF0ZShNZXRob2QsIFVuaXF1ZUZvcm1hbFBhcmFt
ZXRlcnMsCisgICAgICAgQXN5bmNHZW5lcmF0b3JCb2R5LCBzY29wZSwgc3RyaWN0KS4KKyAgICBb
Li4uXQorCisKKyAgICBSdW50aW1lIFNlbWFudGljczogSXRlcmF0b3JCaW5kaW5nSW5pdGlhbGl6
YXRpb24KKworICAgIEJpbmRpbmdSZXN0RWxlbWVudCA6IC4uLiBCaW5kaW5nSWRlbnRpZmllcgor
CisgICAgWy4uLl0KKyAgICAyLiBMZXQgQSBiZSAhIEFycmF5Q3JlYXRlKDApLgorICAgIDMuIExl
dCBuIGJlIDAuCisgICAgNC4gUmVwZWF0LAorICAgICAgICBbLi4uXQorICAgICAgICBmLiBQZXJm
b3JtICEgQ3JlYXRlRGF0YVByb3BlcnR5T3JUaHJvdyhBLCAhIFRvU3RyaW5nKG4pLCBuZXh0VmFs
dWUpLgorICAgICAgICBnLiBTZXQgbiB0byBuICsgMS4KKworLS0tKi8KKworCit2YXIgY2FsbENv
dW50ID0gMDsKK3ZhciBvYmogPSB7CisgIGFzeW5jICptZXRob2QoWy4uLnhdKSB7CisgICAgYXNz
ZXJ0KEFycmF5LmlzQXJyYXkoeCkpOworICAgIGFzc2VydC5jb21wYXJlQXJyYXkoeCwgWzFdKTsK
KyAgICBjYWxsQ291bnQgPSBjYWxsQ291bnQgKyAxOworICB9Cit9OworCitvYmoubWV0aG9kKFsx
XSkubmV4dCgpLnRoZW4oKCkgPT4geworICAgIGFzc2VydC5zYW1lVmFsdWUoY2FsbENvdW50LCAx
LCAnaW52b2tlZCBleGFjdGx5IG9uY2UnKTsKK30pLnRoZW4oJERPTkUsICRET05FKTsKZGlmZiAt
LWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL29iamVjdC9k
c3RyL2FzeW5jLWdlbi1tZXRoLWRmbHQtYXJ5LWluaXQtaXRlci1nZXQtZXJyLWFycmF5LXByb3Rv
dHlwZS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL29iamVj
dC9kc3RyL2FzeW5jLWdlbi1tZXRoLWRmbHQtYXJ5LWluaXQtaXRlci1nZXQtZXJyLWFycmF5LXBy
b3RvdHlwZS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xNGVkNDhiOThhZmIxODcxNTA1Mjg3M2NmYWFkNmU3NDBi
YjdkYzU1Ci0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uv
ZXhwcmVzc2lvbnMvb2JqZWN0L2RzdHIvYXN5bmMtZ2VuLW1ldGgtZGZsdC1hcnktaW5pdC1pdGVy
LWdldC1lcnItYXJyYXktcHJvdG90eXBlLmpzCkBAIC0wLDAgKzEsNTEgQEAKKy8vIFRoaXMgZmls
ZSB3YXMgcHJvY2VkdXJhbGx5IGdlbmVyYXRlZCBmcm9tIHRoZSBmb2xsb3dpbmcgc291cmNlczoK
Ky8vIC0gc3JjL2RzdHItYmluZGluZy9hcnktaW5pdC1pdGVyLWdldC1lcnItYXJyYXktcHJvdG90
eXBlLmNhc2UKKy8vIC0gc3JjL2RzdHItYmluZGluZy9lcnJvci9hc3luYy1nZW4tbWV0aG9kLWRm
bHQudGVtcGxhdGUKKy8qLS0tCitkZXNjcmlwdGlvbjogQWJydXB0IGNvbXBsZXRpb24gcmV0dXJu
ZWQgYnkgR2V0SXRlcmF0b3IgKGFzeW5jIGdlbmVyYXRvciBtZXRob2QgKGRlZmF1bHQgcGFyYW1l
dGVyKSkKK2VzaWQ6IHNlYy1hc3luY2dlbmVyYXRvci1kZWZpbml0aW9ucy1wcm9wZXJ0eWRlZmlu
aXRpb25ldmFsdWF0aW9uCitmZWF0dXJlczogW1N5bWJvbC5pdGVyYXRvciwgYXN5bmMtaXRlcmF0
aW9uXQorZmxhZ3M6IFtnZW5lcmF0ZWRdCitpbmZvOiB8CisgICAgQXN5bmNHZW5lcmF0b3JNZXRo
b2QgOgorICAgICAgICBhc3luYyBbbm8gTGluZVRlcm1pbmF0b3IgaGVyZV0gKiBQcm9wZXJ0eU5h
bWUgKCBVbmlxdWVGb3JtYWxQYXJhbWV0ZXJzICkKKyAgICAgICAgICAgIHsgQXN5bmNHZW5lcmF0
b3JCb2R5IH0KKworICAgIDEuIExldCBwcm9wS2V5IGJlIHRoZSByZXN1bHQgb2YgZXZhbHVhdGlu
ZyBQcm9wZXJ0eU5hbWUuCisgICAgMi4gUmV0dXJuSWZBYnJ1cHQocHJvcEtleSkuCisgICAgMy4g
SWYgdGhlIGZ1bmN0aW9uIGNvZGUgZm9yIHRoaXMgQXN5bmNHZW5lcmF0b3JNZXRob2QgaXMgc3Ry
aWN0IG1vZGUgY29kZSwgbGV0IHN0cmljdCBiZSB0cnVlLgorICAgICAgIE90aGVyd2lzZSBsZXQg
c3RyaWN0IGJlIGZhbHNlLgorICAgIDQuIExldCBzY29wZSBiZSB0aGUgcnVubmluZyBleGVjdXRp
b24gY29udGV4dCdzIExleGljYWxFbnZpcm9ubWVudC4KKyAgICA1LiBMZXQgY2xvc3VyZSBiZSAh
IEFzeW5jR2VuZXJhdG9yRnVuY3Rpb25DcmVhdGUoTWV0aG9kLCBVbmlxdWVGb3JtYWxQYXJhbWV0
ZXJzLAorICAgICAgIEFzeW5jR2VuZXJhdG9yQm9keSwgc2NvcGUsIHN0cmljdCkuCisgICAgWy4u
Ll0KKworICAgIFJ1bnRpbWUgU2VtYW50aWNzOiBCaW5kaW5nSW5pdGlhbGl6YXRpb24KKworICAg
IEJpbmRpbmdQYXR0ZXJuIDogQXJyYXlCaW5kaW5nUGF0dGVybgorCisgICAgMS4gTGV0IGl0ZXJh
dG9yUmVjb3JkIGJlID8gR2V0SXRlcmF0b3IodmFsdWUpLgorCisgICAgR2V0SXRlcmF0b3IgKCBv
YmogWyAsIGhpbnQgWyAsIG1ldGhvZCBdIF0gKQorCisgICAgWy4uLl0KKyAgICA0LiBMZXQgaXRl
cmF0b3IgYmUgPyBDYWxsKG1ldGhvZCwgb2JqKS4KKworICAgIENhbGwgKCBGLCBWIFsgLCBhcmd1
bWVudHNMaXN0IF0gKQorCisgICAgWy4uLl0KKyAgICAyLiBJZiBJc0NhbGxhYmxlKEYpIGlzIGZh
bHNlLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24uCisKKy0tLSovCitkZWxldGUgQXJyYXku
cHJvdG90eXBlW1N5bWJvbC5pdGVyYXRvcl07CisKKwordmFyIG9iaiA9IHsKKyAgYXN5bmMgKm1l
dGhvZChbeCwgeSwgel0gPSBbMSwgMiwgM10pIHsKKyAgICAKKyAgfQorfTsKKworYXNzZXJ0LnRo
cm93cyhUeXBlRXJyb3IsIGZ1bmN0aW9uKCkgeworICBvYmoubWV0aG9kKCk7Cit9KTsKZGlmZiAt
LWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL29iamVjdC9k
c3RyL2FzeW5jLWdlbi1tZXRoLWRmbHQtYXJ5LXB0cm4tZWxlbS1pZC1pdGVyLXZhbC1hcnJheS1w
cm90b3R5cGUuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9v
YmplY3QvZHN0ci9hc3luYy1nZW4tbWV0aC1kZmx0LWFyeS1wdHJuLWVsZW0taWQtaXRlci12YWwt
YXJyYXktcHJvdG90eXBlLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjljYzVmNjU2YjdmYTdjNmEwOThjMjQ5NDU1
NmNmZjQwMDlmYTQ4ZTQKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9s
YW5ndWFnZS9leHByZXNzaW9ucy9vYmplY3QvZHN0ci9hc3luYy1nZW4tbWV0aC1kZmx0LWFyeS1w
dHJuLWVsZW0taWQtaXRlci12YWwtYXJyYXktcHJvdG90eXBlLmpzCkBAIC0wLDAgKzEsNjggQEAK
Ky8vIFRoaXMgZmlsZSB3YXMgcHJvY2VkdXJhbGx5IGdlbmVyYXRlZCBmcm9tIHRoZSBmb2xsb3dp
bmcgc291cmNlczoKKy8vIC0gc3JjL2RzdHItYmluZGluZy9hcnktcHRybi1lbGVtLWlkLWl0ZXIt
dmFsLWFycmF5LXByb3RvdHlwZS5jYXNlCisvLyAtIHNyYy9kc3RyLWJpbmRpbmcvZGVmYXVsdC9h
c3luYy1nZW4tbWV0aG9kLWRmbHQudGVtcGxhdGUKKy8qLS0tCitkZXNjcmlwdGlvbjogQXJyYXkg
ZGVzdHJ1Y3R1cmluZyB1c2VzIG92ZXJyaWRlbiBBcnJheS5wcm90b3R5cGVbU3ltYm9sLml0ZXJh
dG9yXSAoYXN5bmMgZ2VuZXJhdG9yIG1ldGhvZCAoZGVmYXVsdCBwYXJhbWV0ZXIpKQorZXNpZDog
c2VjLWFzeW5jZ2VuZXJhdG9yLWRlZmluaXRpb25zLXByb3BlcnR5ZGVmaW5pdGlvbmV2YWx1YXRp
b24KK2ZlYXR1cmVzOiBbU3ltYm9sLml0ZXJhdG9yLCBnZW5lcmF0b3JzLCBhc3luYy1pdGVyYXRp
b25dCitmbGFnczogW2dlbmVyYXRlZCwgYXN5bmNdCitpbmZvOiB8CisgICAgQXN5bmNHZW5lcmF0
b3JNZXRob2QgOgorICAgICAgICBhc3luYyBbbm8gTGluZVRlcm1pbmF0b3IgaGVyZV0gKiBQcm9w
ZXJ0eU5hbWUgKCBVbmlxdWVGb3JtYWxQYXJhbWV0ZXJzICkKKyAgICAgICAgICAgIHsgQXN5bmNH
ZW5lcmF0b3JCb2R5IH0KKworICAgIDEuIExldCBwcm9wS2V5IGJlIHRoZSByZXN1bHQgb2YgZXZh
bHVhdGluZyBQcm9wZXJ0eU5hbWUuCisgICAgMi4gUmV0dXJuSWZBYnJ1cHQocHJvcEtleSkuCisg
ICAgMy4gSWYgdGhlIGZ1bmN0aW9uIGNvZGUgZm9yIHRoaXMgQXN5bmNHZW5lcmF0b3JNZXRob2Qg
aXMgc3RyaWN0IG1vZGUgY29kZSwgbGV0IHN0cmljdCBiZSB0cnVlLgorICAgICAgIE90aGVyd2lz
ZSBsZXQgc3RyaWN0IGJlIGZhbHNlLgorICAgIDQuIExldCBzY29wZSBiZSB0aGUgcnVubmluZyBl
eGVjdXRpb24gY29udGV4dCdzIExleGljYWxFbnZpcm9ubWVudC4KKyAgICA1LiBMZXQgY2xvc3Vy
ZSBiZSAhIEFzeW5jR2VuZXJhdG9yRnVuY3Rpb25DcmVhdGUoTWV0aG9kLCBVbmlxdWVGb3JtYWxQ
YXJhbWV0ZXJzLAorICAgICAgIEFzeW5jR2VuZXJhdG9yQm9keSwgc2NvcGUsIHN0cmljdCkuCisg
ICAgWy4uLl0KKworCisgICAgUnVudGltZSBTZW1hbnRpY3M6IEl0ZXJhdG9yQmluZGluZ0luaXRp
YWxpemF0aW9uCisKKyAgICBTaW5nbGVOYW1lQmluZGluZyA6IEJpbmRpbmdJZGVudGlmaWVyIElu
aXRpYWxpemVyX29wdAorCisgICAgMS4gTGV0IGJpbmRpbmdJZCBiZSBTdHJpbmdWYWx1ZSBvZiBC
aW5kaW5nSWRlbnRpZmllci4KKyAgICAyLiBMZXQgbGhzIGJlID8gUmVzb2x2ZUJpbmRpbmcoYmlu
ZGluZ0lkLCBlbnZpcm9ubWVudCkuCisgICAgMy4gSWYgaXRlcmF0b3JSZWNvcmQuW1tEb25lXV0g
aXMgZmFsc2UsIHRoZW4KKyAgICAgICAgYS4gTGV0IG5leHQgYmUgSXRlcmF0b3JTdGVwKGl0ZXJh
dG9yUmVjb3JkKS4KKyAgICAgICAgYi4gSWYgbmV4dCBpcyBhbiBhYnJ1cHQgY29tcGxldGlvbiwg
c2V0IGl0ZXJhdG9yUmVjb3JkLltbRG9uZV1dIHRvIHRydWUuCisgICAgICAgIGMuIFJldHVybklm
QWJydXB0KG5leHQpLgorICAgICAgICBkLiBJZiBuZXh0IGlzIGZhbHNlLCBzZXQgaXRlcmF0b3JS
ZWNvcmQuW1tEb25lXV0gdG8gdHJ1ZS4KKyAgICAgICAgZS4gRWxzZSwKKyAgICAgICAgICAgIGku
IExldCB2IGJlIEl0ZXJhdG9yVmFsdWUobmV4dCkuCisgICAgICAgICAgICBpaS4gSWYgdiBpcyBh
biBhYnJ1cHQgY29tcGxldGlvbiwgc2V0IGl0ZXJhdG9yUmVjb3JkLltbRG9uZV1dIHRvIHRydWUu
CisgICAgICAgICAgICBpaWkuIFJldHVybklmQWJydXB0KHYpLgorICAgIFsuLi5dCisgICAgNy4g
UmV0dXJuIEluaXRpYWxpemVSZWZlcmVuY2VkQmluZGluZyhsaHMsIHYpLgorCistLS0qLworQXJy
YXkucHJvdG90eXBlW1N5bWJvbC5pdGVyYXRvcl0gPSBmdW5jdGlvbiogKCkgeworICAgIGlmICh0
aGlzLmxlbmd0aCA+IDApIHsKKyAgICAgICAgeWllbGQgdGhpc1swXTsKKyAgICB9CisgICAgaWYg
KHRoaXMubGVuZ3RoID4gMSkgeworICAgICAgICB5aWVsZCB0aGlzWzFdOworICAgIH0KKyAgICBp
ZiAodGhpcy5sZW5ndGggPiAyKSB7CisgICAgICAgIHlpZWxkIDQyOworICAgIH0KK307CisKKwor
dmFyIGNhbGxDb3VudCA9IDA7Cit2YXIgb2JqID0geworICBhc3luYyAqbWV0aG9kKFt4LCB5LCB6
XSA9IFsxLCAyLCAzXSkgeworICAgIGFzc2VydC5zYW1lVmFsdWUoeCwgMSk7CisgICAgYXNzZXJ0
LnNhbWVWYWx1ZSh5LCAyKTsKKyAgICBhc3NlcnQuc2FtZVZhbHVlKHosIDQyKTsKKyAgICBjYWxs
Q291bnQgPSBjYWxsQ291bnQgKyAxOworICB9Cit9OworCitvYmoubWV0aG9kKCkubmV4dCgpLnRo
ZW4oKCkgPT4geworICAgIGFzc2VydC5zYW1lVmFsdWUoY2FsbENvdW50LCAxLCAnaW52b2tlZCBl
eGFjdGx5IG9uY2UnKTsKK30pLnRoZW4oJERPTkUsICRET05FKTsKZGlmZiAtLWdpdCBhL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL29iamVjdC9kc3RyL2FzeW5jLWdl
bi1tZXRoLWRmbHQtYXJ5LXB0cm4tcmVzdC1pZC1kaXJlY3QuanMgYi9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9vYmplY3QvZHN0ci9hc3luYy1nZW4tbWV0aC1kZmx0
LWFyeS1wdHJuLXJlc3QtaWQtZGlyZWN0LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQyZjE5NzMzMTNkMmM1NGY2
NzEyZjY3ZDZhYzc3YjlhZjhjMDk4ODIKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9vYmplY3QvZHN0ci9hc3luYy1nZW4tbWV0aC1k
Zmx0LWFyeS1wdHJuLXJlc3QtaWQtZGlyZWN0LmpzCkBAIC0wLDAgKzEsNTEgQEAKKy8vIFRoaXMg
ZmlsZSB3YXMgcHJvY2VkdXJhbGx5IGdlbmVyYXRlZCBmcm9tIHRoZSBmb2xsb3dpbmcgc291cmNl
czoKKy8vIC0gc3JjL2RzdHItYmluZGluZy9hcnktcHRybi1yZXN0LWlkLWRpcmVjdC5jYXNlCisv
LyAtIHNyYy9kc3RyLWJpbmRpbmcvZGVmYXVsdC9hc3luYy1nZW4tbWV0aG9kLWRmbHQudGVtcGxh
dGUKKy8qLS0tCitkZXNjcmlwdGlvbjogTG9uZSByZXN0IGVsZW1lbnQgKGRpcmVjdCBiaW5kaW5n
KSAoYXN5bmMgZ2VuZXJhdG9yIG1ldGhvZCAoZGVmYXVsdCBwYXJhbWV0ZXIpKQorZXNpZDogc2Vj
LWFzeW5jZ2VuZXJhdG9yLWRlZmluaXRpb25zLXByb3BlcnR5ZGVmaW5pdGlvbmV2YWx1YXRpb24K
K2ZlYXR1cmVzOiBbYXN5bmMtaXRlcmF0aW9uXQorZmxhZ3M6IFtnZW5lcmF0ZWQsIGFzeW5jXQor
aW5jbHVkZXM6IFtjb21wYXJlQXJyYXkuanNdCitpbmZvOiB8CisgICAgQXN5bmNHZW5lcmF0b3JN
ZXRob2QgOgorICAgICAgICBhc3luYyBbbm8gTGluZVRlcm1pbmF0b3IgaGVyZV0gKiBQcm9wZXJ0
eU5hbWUgKCBVbmlxdWVGb3JtYWxQYXJhbWV0ZXJzICkKKyAgICAgICAgICAgIHsgQXN5bmNHZW5l
cmF0b3JCb2R5IH0KKworICAgIDEuIExldCBwcm9wS2V5IGJlIHRoZSByZXN1bHQgb2YgZXZhbHVh
dGluZyBQcm9wZXJ0eU5hbWUuCisgICAgMi4gUmV0dXJuSWZBYnJ1cHQocHJvcEtleSkuCisgICAg
My4gSWYgdGhlIGZ1bmN0aW9uIGNvZGUgZm9yIHRoaXMgQXN5bmNHZW5lcmF0b3JNZXRob2QgaXMg
c3RyaWN0IG1vZGUgY29kZSwgbGV0IHN0cmljdCBiZSB0cnVlLgorICAgICAgIE90aGVyd2lzZSBs
ZXQgc3RyaWN0IGJlIGZhbHNlLgorICAgIDQuIExldCBzY29wZSBiZSB0aGUgcnVubmluZyBleGVj
dXRpb24gY29udGV4dCdzIExleGljYWxFbnZpcm9ubWVudC4KKyAgICA1LiBMZXQgY2xvc3VyZSBi
ZSAhIEFzeW5jR2VuZXJhdG9yRnVuY3Rpb25DcmVhdGUoTWV0aG9kLCBVbmlxdWVGb3JtYWxQYXJh
bWV0ZXJzLAorICAgICAgIEFzeW5jR2VuZXJhdG9yQm9keSwgc2NvcGUsIHN0cmljdCkuCisgICAg
Wy4uLl0KKworCisgICAgUnVudGltZSBTZW1hbnRpY3M6IEl0ZXJhdG9yQmluZGluZ0luaXRpYWxp
emF0aW9uCisKKyAgICBCaW5kaW5nUmVzdEVsZW1lbnQgOiAuLi4gQmluZGluZ0lkZW50aWZpZXIK
KworICAgIFsuLi5dCisgICAgMi4gTGV0IEEgYmUgISBBcnJheUNyZWF0ZSgwKS4KKyAgICAzLiBM
ZXQgbiBiZSAwLgorICAgIDQuIFJlcGVhdCwKKyAgICAgICAgWy4uLl0KKyAgICAgICAgZi4gUGVy
Zm9ybSAhIENyZWF0ZURhdGFQcm9wZXJ0eU9yVGhyb3coQSwgISBUb1N0cmluZyhuKSwgbmV4dFZh
bHVlKS4KKyAgICAgICAgZy4gU2V0IG4gdG8gbiArIDEuCisKKy0tLSovCisKKwordmFyIGNhbGxD
b3VudCA9IDA7Cit2YXIgb2JqID0geworICBhc3luYyAqbWV0aG9kKFsuLi54XSA9IFsxXSkgewor
ICAgIGFzc2VydChBcnJheS5pc0FycmF5KHgpKTsKKyAgICBhc3NlcnQuY29tcGFyZUFycmF5KHgs
IFsxXSk7CisgICAgY2FsbENvdW50ID0gY2FsbENvdW50ICsgMTsKKyAgfQorfTsKKworb2JqLm1l
dGhvZCgpLm5leHQoKS50aGVuKCgpID0+IHsKKyAgICBhc3NlcnQuc2FtZVZhbHVlKGNhbGxDb3Vu
dCwgMSwgJ2ludm9rZWQgZXhhY3RseSBvbmNlJyk7Cit9KS50aGVuKCRET05FLCAkRE9ORSk7CmRp
ZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9vYmpl
Y3QvZHN0ci9nZW4tbWV0aC1hcnktaW5pdC1pdGVyLWdldC1lcnItYXJyYXktcHJvdG90eXBlLmpz
IGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvb2JqZWN0L2RzdHIv
Z2VuLW1ldGgtYXJ5LWluaXQtaXRlci1nZXQtZXJyLWFycmF5LXByb3RvdHlwZS5qcwpuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5iZGYwODA1MDA4ZmY3MjI2MzYwNzMzMjBiOWYwMTk3ODgwNjU3MDI2Ci0tLSAvZGV2L251
bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvb2JqZWN0
L2RzdHIvZ2VuLW1ldGgtYXJ5LWluaXQtaXRlci1nZXQtZXJyLWFycmF5LXByb3RvdHlwZS5qcwpA
QCAtMCwwICsxLDcwIEBACisvLyBUaGlzIGZpbGUgd2FzIHByb2NlZHVyYWxseSBnZW5lcmF0ZWQg
ZnJvbSB0aGUgZm9sbG93aW5nIHNvdXJjZXM6CisvLyAtIHNyYy9kc3RyLWJpbmRpbmcvYXJ5LWlu
aXQtaXRlci1nZXQtZXJyLWFycmF5LXByb3RvdHlwZS5jYXNlCisvLyAtIHNyYy9kc3RyLWJpbmRp
bmcvZXJyb3IvZ2VuLW1ldGgudGVtcGxhdGUKKy8qLS0tCitkZXNjcmlwdGlvbjogQWJydXB0IGNv
bXBsZXRpb24gcmV0dXJuZWQgYnkgR2V0SXRlcmF0b3IgKGdlbmVyYXRvciBtZXRob2QpCitlc2lk
OiBzZWMtZ2VuZXJhdG9yLWZ1bmN0aW9uLWRlZmluaXRpb25zLXJ1bnRpbWUtc2VtYW50aWNzLXBy
b3BlcnR5ZGVmaW5pdGlvbmV2YWx1YXRpb24KK2ZlYXR1cmVzOiBbU3ltYm9sLml0ZXJhdG9yLCBn
ZW5lcmF0b3JzLCBkZXN0cnVjdHVyaW5nLWJpbmRpbmddCitmbGFnczogW2dlbmVyYXRlZF0KK2lu
Zm86IHwKKyAgICBHZW5lcmF0b3JNZXRob2QgOgorICAgICAgICAqIFByb3BlcnR5TmFtZSAoIFN0
cmljdEZvcm1hbFBhcmFtZXRlcnMgKSB7IEdlbmVyYXRvckJvZHkgfQorCisgICAgMS4gTGV0IHBy
b3BLZXkgYmUgdGhlIHJlc3VsdCBvZiBldmFsdWF0aW5nIFByb3BlcnR5TmFtZS4KKyAgICAyLiBS
ZXR1cm5JZkFicnVwdChwcm9wS2V5KS4KKyAgICAzLiBJZiB0aGUgZnVuY3Rpb24gY29kZSBmb3Ig
dGhpcyBHZW5lcmF0b3JNZXRob2QgaXMgc3RyaWN0IG1vZGUgY29kZSwKKyAgICAgICBsZXQgc3Ry
aWN0IGJlIHRydWUuIE90aGVyd2lzZSBsZXQgc3RyaWN0IGJlIGZhbHNlLgorICAgIDQuIExldCBz
Y29wZSBiZSB0aGUgcnVubmluZyBleGVjdXRpb24gY29udGV4dCdzIExleGljYWxFbnZpcm9ubWVu
dC4KKyAgICA1LiBMZXQgY2xvc3VyZSBiZSBHZW5lcmF0b3JGdW5jdGlvbkNyZWF0ZShNZXRob2Qs
CisgICAgICAgU3RyaWN0Rm9ybWFsUGFyYW1ldGVycywgR2VuZXJhdG9yQm9keSwgc2NvcGUsIHN0
cmljdCkuCisgICAgWy4uLl0KKworICAgIDkuMi4xIFtbQ2FsbF1dICggdGhpc0FyZ3VtZW50LCBh
cmd1bWVudHNMaXN0KQorCisgICAgWy4uLl0KKyAgICA3LiBMZXQgcmVzdWx0IGJlIE9yZGluYXJ5
Q2FsbEV2YWx1YXRlQm9keShGLCBhcmd1bWVudHNMaXN0KS4KKyAgICBbLi4uXQorCisgICAgOS4y
LjEuMyBPcmRpbmFyeUNhbGxFdmFsdWF0ZUJvZHkgKCBGLCBhcmd1bWVudHNMaXN0ICkKKworICAg
IDEuIExldCBzdGF0dXMgYmUgRnVuY3Rpb25EZWNsYXJhdGlvbkluc3RhbnRpYXRpb24oRiwgYXJn
dW1lbnRzTGlzdCkuCisgICAgWy4uLl0KKworICAgIDkuMi4xMiBGdW5jdGlvbkRlY2xhcmF0aW9u
SW5zdGFudGlhdGlvbihmdW5jLCBhcmd1bWVudHNMaXN0KQorCisgICAgWy4uLl0KKyAgICAyMy4g
TGV0IGl0ZXJhdG9yUmVjb3JkIGJlIFJlY29yZCB7W1tpdGVyYXRvcl1dOgorICAgICAgICBDcmVh
dGVMaXN0SXRlcmF0b3IoYXJndW1lbnRzTGlzdCksIFtbZG9uZV1dOiBmYWxzZX0uCisgICAgMjQu
IElmIGhhc0R1cGxpY2F0ZXMgaXMgdHJ1ZSwgdGhlbgorICAgICAgICBbLi4uXQorICAgIDI1LiBF
bHNlLAorICAgICAgICBiLiBMZXQgZm9ybWFsU3RhdHVzIGJlIEl0ZXJhdG9yQmluZGluZ0luaXRp
YWxpemF0aW9uIGZvciBmb3JtYWxzIHdpdGgKKyAgICAgICAgICAgaXRlcmF0b3JSZWNvcmQgYW5k
IGVudiBhcyBhcmd1bWVudHMuCisgICAgWy4uLl0KKworICAgIFJ1bnRpbWUgU2VtYW50aWNzOiBC
aW5kaW5nSW5pdGlhbGl6YXRpb24KKworICAgIEJpbmRpbmdQYXR0ZXJuIDogQXJyYXlCaW5kaW5n
UGF0dGVybgorCisgICAgMS4gTGV0IGl0ZXJhdG9yUmVjb3JkIGJlID8gR2V0SXRlcmF0b3IodmFs
dWUpLgorCisgICAgR2V0SXRlcmF0b3IgKCBvYmogWyAsIGhpbnQgWyAsIG1ldGhvZCBdIF0gKQor
CisgICAgWy4uLl0KKyAgICA0LiBMZXQgaXRlcmF0b3IgYmUgPyBDYWxsKG1ldGhvZCwgb2JqKS4K
KworICAgIENhbGwgKCBGLCBWIFsgLCBhcmd1bWVudHNMaXN0IF0gKQorCisgICAgWy4uLl0KKyAg
ICAyLiBJZiBJc0NhbGxhYmxlKEYpIGlzIGZhbHNlLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRp
b24uCisKKy0tLSovCitkZWxldGUgQXJyYXkucHJvdG90eXBlW1N5bWJvbC5pdGVyYXRvcl07CisK
K3ZhciBvYmogPSB7CisgICptZXRob2QoW3gsIHksIHpdKSB7fQorfTsKKworYXNzZXJ0LnRocm93
cyhUeXBlRXJyb3IsIGZ1bmN0aW9uKCkgeworICBvYmoubWV0aG9kKFsxLCAyLCAzXSk7Cit9KTsK
ZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL29i
amVjdC9kc3RyL2dlbi1tZXRoLWFyeS1wdHJuLWVsZW0taWQtaXRlci12YWwtYXJyYXktcHJvdG90
eXBlLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvb2JqZWN0
L2RzdHIvZ2VuLW1ldGgtYXJ5LXB0cm4tZWxlbS1pZC1pdGVyLXZhbC1hcnJheS1wcm90b3R5cGUu
anMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uYjdmNTUwZTIyZjZhNDg3YjE1NDE3MGNmYzlmZGE1NjI1ZmM5ODNkNAot
LS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Np
b25zL29iamVjdC9kc3RyL2dlbi1tZXRoLWFyeS1wdHJuLWVsZW0taWQtaXRlci12YWwtYXJyYXkt
cHJvdG90eXBlLmpzCkBAIC0wLDAgKzEsODcgQEAKKy8vIFRoaXMgZmlsZSB3YXMgcHJvY2VkdXJh
bGx5IGdlbmVyYXRlZCBmcm9tIHRoZSBmb2xsb3dpbmcgc291cmNlczoKKy8vIC0gc3JjL2RzdHIt
YmluZGluZy9hcnktcHRybi1lbGVtLWlkLWl0ZXItdmFsLWFycmF5LXByb3RvdHlwZS5jYXNlCisv
LyAtIHNyYy9kc3RyLWJpbmRpbmcvZGVmYXVsdC9nZW4tbWV0aC50ZW1wbGF0ZQorLyotLS0KK2Rl
c2NyaXB0aW9uOiBBcnJheSBkZXN0cnVjdHVyaW5nIHVzZXMgb3ZlcnJpZGVuIEFycmF5LnByb3Rv
dHlwZVtTeW1ib2wuaXRlcmF0b3JdIChnZW5lcmF0b3IgbWV0aG9kKQorZXNpZDogc2VjLWdlbmVy
YXRvci1mdW5jdGlvbi1kZWZpbml0aW9ucy1ydW50aW1lLXNlbWFudGljcy1wcm9wZXJ0eWRlZmlu
aXRpb25ldmFsdWF0aW9uCitmZWF0dXJlczogW1N5bWJvbC5pdGVyYXRvciwgZ2VuZXJhdG9ycywg
ZGVzdHJ1Y3R1cmluZy1iaW5kaW5nXQorZmxhZ3M6IFtnZW5lcmF0ZWRdCitpbmZvOiB8CisgICAg
R2VuZXJhdG9yTWV0aG9kIDoKKyAgICAgICAgKiBQcm9wZXJ0eU5hbWUgKCBTdHJpY3RGb3JtYWxQ
YXJhbWV0ZXJzICkgeyBHZW5lcmF0b3JCb2R5IH0KKworICAgIDEuIExldCBwcm9wS2V5IGJlIHRo
ZSByZXN1bHQgb2YgZXZhbHVhdGluZyBQcm9wZXJ0eU5hbWUuCisgICAgMi4gUmV0dXJuSWZBYnJ1
cHQocHJvcEtleSkuCisgICAgMy4gSWYgdGhlIGZ1bmN0aW9uIGNvZGUgZm9yIHRoaXMgR2VuZXJh
dG9yTWV0aG9kIGlzIHN0cmljdCBtb2RlIGNvZGUsCisgICAgICAgbGV0IHN0cmljdCBiZSB0cnVl
LiBPdGhlcndpc2UgbGV0IHN0cmljdCBiZSBmYWxzZS4KKyAgICA0LiBMZXQgc2NvcGUgYmUgdGhl
IHJ1bm5pbmcgZXhlY3V0aW9uIGNvbnRleHQncyBMZXhpY2FsRW52aXJvbm1lbnQuCisgICAgNS4g
TGV0IGNsb3N1cmUgYmUgR2VuZXJhdG9yRnVuY3Rpb25DcmVhdGUoTWV0aG9kLAorICAgICAgIFN0
cmljdEZvcm1hbFBhcmFtZXRlcnMsIEdlbmVyYXRvckJvZHksIHNjb3BlLCBzdHJpY3QpLgorICAg
IFsuLi5dCisKKyAgICA5LjIuMSBbW0NhbGxdXSAoIHRoaXNBcmd1bWVudCwgYXJndW1lbnRzTGlz
dCkKKworICAgIFsuLi5dCisgICAgNy4gTGV0IHJlc3VsdCBiZSBPcmRpbmFyeUNhbGxFdmFsdWF0
ZUJvZHkoRiwgYXJndW1lbnRzTGlzdCkuCisgICAgWy4uLl0KKworICAgIDkuMi4xLjMgT3JkaW5h
cnlDYWxsRXZhbHVhdGVCb2R5ICggRiwgYXJndW1lbnRzTGlzdCApCisKKyAgICAxLiBMZXQgc3Rh
dHVzIGJlIEZ1bmN0aW9uRGVjbGFyYXRpb25JbnN0YW50aWF0aW9uKEYsIGFyZ3VtZW50c0xpc3Qp
LgorICAgIFsuLi5dCisKKyAgICA5LjIuMTIgRnVuY3Rpb25EZWNsYXJhdGlvbkluc3RhbnRpYXRp
b24oZnVuYywgYXJndW1lbnRzTGlzdCkKKworICAgIFsuLi5dCisgICAgMjMuIExldCBpdGVyYXRv
clJlY29yZCBiZSBSZWNvcmQge1tbaXRlcmF0b3JdXToKKyAgICAgICAgQ3JlYXRlTGlzdEl0ZXJh
dG9yKGFyZ3VtZW50c0xpc3QpLCBbW2RvbmVdXTogZmFsc2V9LgorICAgIDI0LiBJZiBoYXNEdXBs
aWNhdGVzIGlzIHRydWUsIHRoZW4KKyAgICAgICAgWy4uLl0KKyAgICAyNS4gRWxzZSwKKyAgICAg
ICAgYi4gTGV0IGZvcm1hbFN0YXR1cyBiZSBJdGVyYXRvckJpbmRpbmdJbml0aWFsaXphdGlvbiBm
b3IgZm9ybWFscyB3aXRoCisgICAgICAgICAgIGl0ZXJhdG9yUmVjb3JkIGFuZCBlbnYgYXMgYXJn
dW1lbnRzLgorICAgIFsuLi5dCisKKyAgICBSdW50aW1lIFNlbWFudGljczogSXRlcmF0b3JCaW5k
aW5nSW5pdGlhbGl6YXRpb24KKworICAgIFNpbmdsZU5hbWVCaW5kaW5nIDogQmluZGluZ0lkZW50
aWZpZXIgSW5pdGlhbGl6ZXJfb3B0CisKKyAgICAxLiBMZXQgYmluZGluZ0lkIGJlIFN0cmluZ1Zh
bHVlIG9mIEJpbmRpbmdJZGVudGlmaWVyLgorICAgIDIuIExldCBsaHMgYmUgPyBSZXNvbHZlQmlu
ZGluZyhiaW5kaW5nSWQsIGVudmlyb25tZW50KS4KKyAgICAzLiBJZiBpdGVyYXRvclJlY29yZC5b
W0RvbmVdXSBpcyBmYWxzZSwgdGhlbgorICAgICAgICBhLiBMZXQgbmV4dCBiZSBJdGVyYXRvclN0
ZXAoaXRlcmF0b3JSZWNvcmQpLgorICAgICAgICBiLiBJZiBuZXh0IGlzIGFuIGFicnVwdCBjb21w
bGV0aW9uLCBzZXQgaXRlcmF0b3JSZWNvcmQuW1tEb25lXV0gdG8gdHJ1ZS4KKyAgICAgICAgYy4g
UmV0dXJuSWZBYnJ1cHQobmV4dCkuCisgICAgICAgIGQuIElmIG5leHQgaXMgZmFsc2UsIHNldCBp
dGVyYXRvclJlY29yZC5bW0RvbmVdXSB0byB0cnVlLgorICAgICAgICBlLiBFbHNlLAorICAgICAg
ICAgICAgaS4gTGV0IHYgYmUgSXRlcmF0b3JWYWx1ZShuZXh0KS4KKyAgICAgICAgICAgIGlpLiBJ
ZiB2IGlzIGFuIGFicnVwdCBjb21wbGV0aW9uLCBzZXQgaXRlcmF0b3JSZWNvcmQuW1tEb25lXV0g
dG8gdHJ1ZS4KKyAgICAgICAgICAgIGlpaS4gUmV0dXJuSWZBYnJ1cHQodikuCisgICAgWy4uLl0K
KyAgICA3LiBSZXR1cm4gSW5pdGlhbGl6ZVJlZmVyZW5jZWRCaW5kaW5nKGxocywgdikuCisKKy0t
LSovCitBcnJheS5wcm90b3R5cGVbU3ltYm9sLml0ZXJhdG9yXSA9IGZ1bmN0aW9uKiAoKSB7Cisg
ICAgaWYgKHRoaXMubGVuZ3RoID4gMCkgeworICAgICAgICB5aWVsZCB0aGlzWzBdOworICAgIH0K
KyAgICBpZiAodGhpcy5sZW5ndGggPiAxKSB7CisgICAgICAgIHlpZWxkIHRoaXNbMV07CisgICAg
fQorICAgIGlmICh0aGlzLmxlbmd0aCA+IDIpIHsKKyAgICAgICAgeWllbGQgNDI7CisgICAgfQor
fTsKKwordmFyIGNhbGxDb3VudCA9IDA7Cit2YXIgb2JqID0geworICAqbWV0aG9kKFt4LCB5LCB6
XSkgeworICAgIGFzc2VydC5zYW1lVmFsdWUoeCwgMSk7CisgICAgYXNzZXJ0LnNhbWVWYWx1ZSh5
LCAyKTsKKyAgICBhc3NlcnQuc2FtZVZhbHVlKHosIDQyKTsKKyAgICBjYWxsQ291bnQgPSBjYWxs
Q291bnQgKyAxOworICB9Cit9OworCitvYmoubWV0aG9kKFsxLCAyLCAzXSkubmV4dCgpOworYXNz
ZXJ0LnNhbWVWYWx1ZShjYWxsQ291bnQsIDEsICdnZW5lcmF0b3IgbWV0aG9kIGludm9rZWQgZXhh
Y3RseSBvbmNlJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9l
eHByZXNzaW9ucy9vYmplY3QvZHN0ci9nZW4tbWV0aC1hcnktcHRybi1yZXN0LWlkLWRpcmVjdC5q
cyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL29iamVjdC9kc3Ry
L2dlbi1tZXRoLWFyeS1wdHJuLXJlc3QtaWQtZGlyZWN0LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBlN2IzNDEw
MTBkY2M3N2E1ZjNiOTZlNDJjNjk1Y2UxMDk4ZGJkZjMKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9vYmplY3QvZHN0ci9nZW4tbWV0
aC1hcnktcHRybi1yZXN0LWlkLWRpcmVjdC5qcwpAQCAtMCwwICsxLDcwIEBACisvLyBUaGlzIGZp
bGUgd2FzIHByb2NlZHVyYWxseSBnZW5lcmF0ZWQgZnJvbSB0aGUgZm9sbG93aW5nIHNvdXJjZXM6
CisvLyAtIHNyYy9kc3RyLWJpbmRpbmcvYXJ5LXB0cm4tcmVzdC1pZC1kaXJlY3QuY2FzZQorLy8g
LSBzcmMvZHN0ci1iaW5kaW5nL2RlZmF1bHQvZ2VuLW1ldGgudGVtcGxhdGUKKy8qLS0tCitkZXNj
cmlwdGlvbjogTG9uZSByZXN0IGVsZW1lbnQgKGRpcmVjdCBiaW5kaW5nKSAoZ2VuZXJhdG9yIG1l
dGhvZCkKK2VzaWQ6IHNlYy1nZW5lcmF0b3ItZnVuY3Rpb24tZGVmaW5pdGlvbnMtcnVudGltZS1z
ZW1hbnRpY3MtcHJvcGVydHlkZWZpbml0aW9uZXZhbHVhdGlvbgorZmVhdHVyZXM6IFtnZW5lcmF0
b3JzLCBkZXN0cnVjdHVyaW5nLWJpbmRpbmddCitmbGFnczogW2dlbmVyYXRlZF0KK2luY2x1ZGVz
OiBbY29tcGFyZUFycmF5LmpzXQoraW5mbzogfAorICAgIEdlbmVyYXRvck1ldGhvZCA6CisgICAg
ICAgICogUHJvcGVydHlOYW1lICggU3RyaWN0Rm9ybWFsUGFyYW1ldGVycyApIHsgR2VuZXJhdG9y
Qm9keSB9CisKKyAgICAxLiBMZXQgcHJvcEtleSBiZSB0aGUgcmVzdWx0IG9mIGV2YWx1YXRpbmcg
UHJvcGVydHlOYW1lLgorICAgIDIuIFJldHVybklmQWJydXB0KHByb3BLZXkpLgorICAgIDMuIElm
IHRoZSBmdW5jdGlvbiBjb2RlIGZvciB0aGlzIEdlbmVyYXRvck1ldGhvZCBpcyBzdHJpY3QgbW9k
ZSBjb2RlLAorICAgICAgIGxldCBzdHJpY3QgYmUgdHJ1ZS4gT3RoZXJ3aXNlIGxldCBzdHJpY3Qg
YmUgZmFsc2UuCisgICAgNC4gTGV0IHNjb3BlIGJlIHRoZSBydW5uaW5nIGV4ZWN1dGlvbiBjb250
ZXh0J3MgTGV4aWNhbEVudmlyb25tZW50LgorICAgIDUuIExldCBjbG9zdXJlIGJlIEdlbmVyYXRv
ckZ1bmN0aW9uQ3JlYXRlKE1ldGhvZCwKKyAgICAgICBTdHJpY3RGb3JtYWxQYXJhbWV0ZXJzLCBH
ZW5lcmF0b3JCb2R5LCBzY29wZSwgc3RyaWN0KS4KKyAgICBbLi4uXQorCisgICAgOS4yLjEgW1tD
YWxsXV0gKCB0aGlzQXJndW1lbnQsIGFyZ3VtZW50c0xpc3QpCisKKyAgICBbLi4uXQorICAgIDcu
IExldCByZXN1bHQgYmUgT3JkaW5hcnlDYWxsRXZhbHVhdGVCb2R5KEYsIGFyZ3VtZW50c0xpc3Qp
LgorICAgIFsuLi5dCisKKyAgICA5LjIuMS4zIE9yZGluYXJ5Q2FsbEV2YWx1YXRlQm9keSAoIEYs
IGFyZ3VtZW50c0xpc3QgKQorCisgICAgMS4gTGV0IHN0YXR1cyBiZSBGdW5jdGlvbkRlY2xhcmF0
aW9uSW5zdGFudGlhdGlvbihGLCBhcmd1bWVudHNMaXN0KS4KKyAgICBbLi4uXQorCisgICAgOS4y
LjEyIEZ1bmN0aW9uRGVjbGFyYXRpb25JbnN0YW50aWF0aW9uKGZ1bmMsIGFyZ3VtZW50c0xpc3Qp
CisKKyAgICBbLi4uXQorICAgIDIzLiBMZXQgaXRlcmF0b3JSZWNvcmQgYmUgUmVjb3JkIHtbW2l0
ZXJhdG9yXV06CisgICAgICAgIENyZWF0ZUxpc3RJdGVyYXRvcihhcmd1bWVudHNMaXN0KSwgW1tk
b25lXV06IGZhbHNlfS4KKyAgICAyNC4gSWYgaGFzRHVwbGljYXRlcyBpcyB0cnVlLCB0aGVuCisg
ICAgICAgIFsuLi5dCisgICAgMjUuIEVsc2UsCisgICAgICAgIGIuIExldCBmb3JtYWxTdGF0dXMg
YmUgSXRlcmF0b3JCaW5kaW5nSW5pdGlhbGl6YXRpb24gZm9yIGZvcm1hbHMgd2l0aAorICAgICAg
ICAgICBpdGVyYXRvclJlY29yZCBhbmQgZW52IGFzIGFyZ3VtZW50cy4KKyAgICBbLi4uXQorCisg
ICAgUnVudGltZSBTZW1hbnRpY3M6IEl0ZXJhdG9yQmluZGluZ0luaXRpYWxpemF0aW9uCisKKyAg
ICBCaW5kaW5nUmVzdEVsZW1lbnQgOiAuLi4gQmluZGluZ0lkZW50aWZpZXIKKworICAgIFsuLi5d
CisgICAgMi4gTGV0IEEgYmUgISBBcnJheUNyZWF0ZSgwKS4KKyAgICAzLiBMZXQgbiBiZSAwLgor
ICAgIDQuIFJlcGVhdCwKKyAgICAgICAgWy4uLl0KKyAgICAgICAgZi4gUGVyZm9ybSAhIENyZWF0
ZURhdGFQcm9wZXJ0eU9yVGhyb3coQSwgISBUb1N0cmluZyhuKSwgbmV4dFZhbHVlKS4KKyAgICAg
ICAgZy4gU2V0IG4gdG8gbiArIDEuCisKKy0tLSovCisKK3ZhciBjYWxsQ291bnQgPSAwOwordmFy
IG9iaiA9IHsKKyAgKm1ldGhvZChbLi4ueF0pIHsKKyAgICBhc3NlcnQoQXJyYXkuaXNBcnJheSh4
KSk7CisgICAgYXNzZXJ0LmNvbXBhcmVBcnJheSh4LCBbMV0pOworICAgIGNhbGxDb3VudCA9IGNh
bGxDb3VudCArIDE7CisgIH0KK307CisKK29iai5tZXRob2QoWzFdKS5uZXh0KCk7Cithc3NlcnQu
c2FtZVZhbHVlKGNhbGxDb3VudCwgMSwgJ2dlbmVyYXRvciBtZXRob2QgaW52b2tlZCBleGFjdGx5
IG9uY2UnKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJl
c3Npb25zL29iamVjdC9kc3RyL2dlbi1tZXRoLWRmbHQtYXJ5LWluaXQtaXRlci1nZXQtZXJyLWFy
cmF5LXByb3RvdHlwZS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Np
b25zL29iamVjdC9kc3RyL2dlbi1tZXRoLWRmbHQtYXJ5LWluaXQtaXRlci1nZXQtZXJyLWFycmF5
LXByb3RvdHlwZS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mNjE5NzkwOTJmMDVlZjg0YTIwODBlNTIwMDdlNzE3
ZDk4ZTJlZDVmCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3Vh
Z2UvZXhwcmVzc2lvbnMvb2JqZWN0L2RzdHIvZ2VuLW1ldGgtZGZsdC1hcnktaW5pdC1pdGVyLWdl
dC1lcnItYXJyYXktcHJvdG90eXBlLmpzCkBAIC0wLDAgKzEsNzAgQEAKKy8vIFRoaXMgZmlsZSB3
YXMgcHJvY2VkdXJhbGx5IGdlbmVyYXRlZCBmcm9tIHRoZSBmb2xsb3dpbmcgc291cmNlczoKKy8v
IC0gc3JjL2RzdHItYmluZGluZy9hcnktaW5pdC1pdGVyLWdldC1lcnItYXJyYXktcHJvdG90eXBl
LmNhc2UKKy8vIC0gc3JjL2RzdHItYmluZGluZy9lcnJvci9nZW4tbWV0aC1kZmx0LnRlbXBsYXRl
CisvKi0tLQorZGVzY3JpcHRpb246IEFicnVwdCBjb21wbGV0aW9uIHJldHVybmVkIGJ5IEdldEl0
ZXJhdG9yIChnZW5lcmF0b3IgbWV0aG9kIChkZWZhdWx0IHBhcmFtZXRlcikpCitlc2lkOiBzZWMt
Z2VuZXJhdG9yLWZ1bmN0aW9uLWRlZmluaXRpb25zLXJ1bnRpbWUtc2VtYW50aWNzLXByb3BlcnR5
ZGVmaW5pdGlvbmV2YWx1YXRpb24KK2ZlYXR1cmVzOiBbU3ltYm9sLml0ZXJhdG9yLCBnZW5lcmF0
b3JzLCBkZXN0cnVjdHVyaW5nLWJpbmRpbmcsIGRlZmF1bHQtcGFyYW1ldGVyc10KK2ZsYWdzOiBb
Z2VuZXJhdGVkXQoraW5mbzogfAorICAgIEdlbmVyYXRvck1ldGhvZCA6CisgICAgICAgICogUHJv
cGVydHlOYW1lICggU3RyaWN0Rm9ybWFsUGFyYW1ldGVycyApIHsgR2VuZXJhdG9yQm9keSB9CisK
KyAgICAxLiBMZXQgcHJvcEtleSBiZSB0aGUgcmVzdWx0IG9mIGV2YWx1YXRpbmcgUHJvcGVydHlO
YW1lLgorICAgIDIuIFJldHVybklmQWJydXB0KHByb3BLZXkpLgorICAgIDMuIElmIHRoZSBmdW5j
dGlvbiBjb2RlIGZvciB0aGlzIEdlbmVyYXRvck1ldGhvZCBpcyBzdHJpY3QgbW9kZSBjb2RlLAor
ICAgICAgIGxldCBzdHJpY3QgYmUgdHJ1ZS4gT3RoZXJ3aXNlIGxldCBzdHJpY3QgYmUgZmFsc2Uu
CisgICAgNC4gTGV0IHNjb3BlIGJlIHRoZSBydW5uaW5nIGV4ZWN1dGlvbiBjb250ZXh0J3MgTGV4
aWNhbEVudmlyb25tZW50LgorICAgIDUuIExldCBjbG9zdXJlIGJlIEdlbmVyYXRvckZ1bmN0aW9u
Q3JlYXRlKE1ldGhvZCwKKyAgICAgICBTdHJpY3RGb3JtYWxQYXJhbWV0ZXJzLCBHZW5lcmF0b3JC
b2R5LCBzY29wZSwgc3RyaWN0KS4KKyAgICBbLi4uXQorCisgICAgOS4yLjEgW1tDYWxsXV0gKCB0
aGlzQXJndW1lbnQsIGFyZ3VtZW50c0xpc3QpCisKKyAgICBbLi4uXQorICAgIDcuIExldCByZXN1
bHQgYmUgT3JkaW5hcnlDYWxsRXZhbHVhdGVCb2R5KEYsIGFyZ3VtZW50c0xpc3QpLgorICAgIFsu
Li5dCisKKyAgICA5LjIuMS4zIE9yZGluYXJ5Q2FsbEV2YWx1YXRlQm9keSAoIEYsIGFyZ3VtZW50
c0xpc3QgKQorCisgICAgMS4gTGV0IHN0YXR1cyBiZSBGdW5jdGlvbkRlY2xhcmF0aW9uSW5zdGFu
dGlhdGlvbihGLCBhcmd1bWVudHNMaXN0KS4KKyAgICBbLi4uXQorCisgICAgOS4yLjEyIEZ1bmN0
aW9uRGVjbGFyYXRpb25JbnN0YW50aWF0aW9uKGZ1bmMsIGFyZ3VtZW50c0xpc3QpCisKKyAgICBb
Li4uXQorICAgIDIzLiBMZXQgaXRlcmF0b3JSZWNvcmQgYmUgUmVjb3JkIHtbW2l0ZXJhdG9yXV06
CisgICAgICAgIENyZWF0ZUxpc3RJdGVyYXRvcihhcmd1bWVudHNMaXN0KSwgW1tkb25lXV06IGZh
bHNlfS4KKyAgICAyNC4gSWYgaGFzRHVwbGljYXRlcyBpcyB0cnVlLCB0aGVuCisgICAgICAgIFsu
Li5dCisgICAgMjUuIEVsc2UsCisgICAgICAgIGIuIExldCBmb3JtYWxTdGF0dXMgYmUgSXRlcmF0
b3JCaW5kaW5nSW5pdGlhbGl6YXRpb24gZm9yIGZvcm1hbHMgd2l0aAorICAgICAgICAgICBpdGVy
YXRvclJlY29yZCBhbmQgZW52IGFzIGFyZ3VtZW50cy4KKyAgICBbLi4uXQorCisgICAgUnVudGlt
ZSBTZW1hbnRpY3M6IEJpbmRpbmdJbml0aWFsaXphdGlvbgorCisgICAgQmluZGluZ1BhdHRlcm4g
OiBBcnJheUJpbmRpbmdQYXR0ZXJuCisKKyAgICAxLiBMZXQgaXRlcmF0b3JSZWNvcmQgYmUgPyBH
ZXRJdGVyYXRvcih2YWx1ZSkuCisKKyAgICBHZXRJdGVyYXRvciAoIG9iaiBbICwgaGludCBbICwg
bWV0aG9kIF0gXSApCisKKyAgICBbLi4uXQorICAgIDQuIExldCBpdGVyYXRvciBiZSA/IENhbGwo
bWV0aG9kLCBvYmopLgorCisgICAgQ2FsbCAoIEYsIFYgWyAsIGFyZ3VtZW50c0xpc3QgXSApCisK
KyAgICBbLi4uXQorICAgIDIuIElmIElzQ2FsbGFibGUoRikgaXMgZmFsc2UsIHRocm93IGEgVHlw
ZUVycm9yIGV4Y2VwdGlvbi4KKworLS0tKi8KK2RlbGV0ZSBBcnJheS5wcm90b3R5cGVbU3ltYm9s
Lml0ZXJhdG9yXTsKKwordmFyIG9iaiA9IHsKKyAgKm1ldGhvZChbeCwgeSwgel0gPSBbMSwgMiwg
M10pIHt9Cit9OworCithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgZnVuY3Rpb24oKSB7CisgIG9i
ai5tZXRob2QoKTsKK30pOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3Vh
Z2UvZXhwcmVzc2lvbnMvb2JqZWN0L2RzdHIvZ2VuLW1ldGgtZGZsdC1hcnktcHRybi1lbGVtLWlk
LWl0ZXItdmFsLWFycmF5LXByb3RvdHlwZS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1
YWdlL2V4cHJlc3Npb25zL29iamVjdC9kc3RyL2dlbi1tZXRoLWRmbHQtYXJ5LXB0cm4tZWxlbS1p
ZC1pdGVyLXZhbC1hcnJheS1wcm90b3R5cGUuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTcwOGY1N2EyMTA1MjA4
NGY2Njg3ZDc0NWRhODdkZWFlNWQ5ZWM1ZQotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL29iamVjdC9kc3RyL2dlbi1tZXRoLWRmbHQt
YXJ5LXB0cm4tZWxlbS1pZC1pdGVyLXZhbC1hcnJheS1wcm90b3R5cGUuanMKQEAgLTAsMCArMSw4
NyBAQAorLy8gVGhpcyBmaWxlIHdhcyBwcm9jZWR1cmFsbHkgZ2VuZXJhdGVkIGZyb20gdGhlIGZv
bGxvd2luZyBzb3VyY2VzOgorLy8gLSBzcmMvZHN0ci1iaW5kaW5nL2FyeS1wdHJuLWVsZW0taWQt
aXRlci12YWwtYXJyYXktcHJvdG90eXBlLmNhc2UKKy8vIC0gc3JjL2RzdHItYmluZGluZy9kZWZh
dWx0L2dlbi1tZXRob2QtZGZsdC50ZW1wbGF0ZQorLyotLS0KK2Rlc2NyaXB0aW9uOiBBcnJheSBk
ZXN0cnVjdHVyaW5nIHVzZXMgb3ZlcnJpZGVuIEFycmF5LnByb3RvdHlwZVtTeW1ib2wuaXRlcmF0
b3JdIChnZW5lcmF0b3IgbWV0aG9kIChkZWZhdWx0IHBhcmFtZXRlcikpCitlc2lkOiBzZWMtZ2Vu
ZXJhdG9yLWZ1bmN0aW9uLWRlZmluaXRpb25zLXJ1bnRpbWUtc2VtYW50aWNzLXByb3BlcnR5ZGVm
aW5pdGlvbmV2YWx1YXRpb24KK2ZlYXR1cmVzOiBbU3ltYm9sLml0ZXJhdG9yLCBnZW5lcmF0b3Jz
LCBkZXN0cnVjdHVyaW5nLWJpbmRpbmcsIGRlZmF1bHQtcGFyYW1ldGVyc10KK2ZsYWdzOiBbZ2Vu
ZXJhdGVkXQoraW5mbzogfAorICAgIEdlbmVyYXRvck1ldGhvZCA6CisgICAgICAgICogUHJvcGVy
dHlOYW1lICggU3RyaWN0Rm9ybWFsUGFyYW1ldGVycyApIHsgR2VuZXJhdG9yQm9keSB9CisKKyAg
ICAxLiBMZXQgcHJvcEtleSBiZSB0aGUgcmVzdWx0IG9mIGV2YWx1YXRpbmcgUHJvcGVydHlOYW1l
LgorICAgIDIuIFJldHVybklmQWJydXB0KHByb3BLZXkpLgorICAgIDMuIElmIHRoZSBmdW5jdGlv
biBjb2RlIGZvciB0aGlzIEdlbmVyYXRvck1ldGhvZCBpcyBzdHJpY3QgbW9kZSBjb2RlLAorICAg
ICAgIGxldCBzdHJpY3QgYmUgdHJ1ZS4gT3RoZXJ3aXNlIGxldCBzdHJpY3QgYmUgZmFsc2UuCisg
ICAgNC4gTGV0IHNjb3BlIGJlIHRoZSBydW5uaW5nIGV4ZWN1dGlvbiBjb250ZXh0J3MgTGV4aWNh
bEVudmlyb25tZW50LgorICAgIDUuIExldCBjbG9zdXJlIGJlIEdlbmVyYXRvckZ1bmN0aW9uQ3Jl
YXRlKE1ldGhvZCwKKyAgICAgICBTdHJpY3RGb3JtYWxQYXJhbWV0ZXJzLCBHZW5lcmF0b3JCb2R5
LCBzY29wZSwgc3RyaWN0KS4KKyAgICBbLi4uXQorCisgICAgOS4yLjEgW1tDYWxsXV0gKCB0aGlz
QXJndW1lbnQsIGFyZ3VtZW50c0xpc3QpCisKKyAgICBbLi4uXQorICAgIDcuIExldCByZXN1bHQg
YmUgT3JkaW5hcnlDYWxsRXZhbHVhdGVCb2R5KEYsIGFyZ3VtZW50c0xpc3QpLgorICAgIFsuLi5d
CisKKyAgICA5LjIuMS4zIE9yZGluYXJ5Q2FsbEV2YWx1YXRlQm9keSAoIEYsIGFyZ3VtZW50c0xp
c3QgKQorCisgICAgMS4gTGV0IHN0YXR1cyBiZSBGdW5jdGlvbkRlY2xhcmF0aW9uSW5zdGFudGlh
dGlvbihGLCBhcmd1bWVudHNMaXN0KS4KKyAgICBbLi4uXQorCisgICAgOS4yLjEyIEZ1bmN0aW9u
RGVjbGFyYXRpb25JbnN0YW50aWF0aW9uKGZ1bmMsIGFyZ3VtZW50c0xpc3QpCisKKyAgICBbLi4u
XQorICAgIDIzLiBMZXQgaXRlcmF0b3JSZWNvcmQgYmUgUmVjb3JkIHtbW2l0ZXJhdG9yXV06Cisg
ICAgICAgIENyZWF0ZUxpc3RJdGVyYXRvcihhcmd1bWVudHNMaXN0KSwgW1tkb25lXV06IGZhbHNl
fS4KKyAgICAyNC4gSWYgaGFzRHVwbGljYXRlcyBpcyB0cnVlLCB0aGVuCisgICAgICAgIFsuLi5d
CisgICAgMjUuIEVsc2UsCisgICAgICAgIGIuIExldCBmb3JtYWxTdGF0dXMgYmUgSXRlcmF0b3JC
aW5kaW5nSW5pdGlhbGl6YXRpb24gZm9yIGZvcm1hbHMgd2l0aAorICAgICAgICAgICBpdGVyYXRv
clJlY29yZCBhbmQgZW52IGFzIGFyZ3VtZW50cy4KKyAgICBbLi4uXQorCisgICAgUnVudGltZSBT
ZW1hbnRpY3M6IEl0ZXJhdG9yQmluZGluZ0luaXRpYWxpemF0aW9uCisKKyAgICBTaW5nbGVOYW1l
QmluZGluZyA6IEJpbmRpbmdJZGVudGlmaWVyIEluaXRpYWxpemVyX29wdAorCisgICAgMS4gTGV0
IGJpbmRpbmdJZCBiZSBTdHJpbmdWYWx1ZSBvZiBCaW5kaW5nSWRlbnRpZmllci4KKyAgICAyLiBM
ZXQgbGhzIGJlID8gUmVzb2x2ZUJpbmRpbmcoYmluZGluZ0lkLCBlbnZpcm9ubWVudCkuCisgICAg
My4gSWYgaXRlcmF0b3JSZWNvcmQuW1tEb25lXV0gaXMgZmFsc2UsIHRoZW4KKyAgICAgICAgYS4g
TGV0IG5leHQgYmUgSXRlcmF0b3JTdGVwKGl0ZXJhdG9yUmVjb3JkKS4KKyAgICAgICAgYi4gSWYg
bmV4dCBpcyBhbiBhYnJ1cHQgY29tcGxldGlvbiwgc2V0IGl0ZXJhdG9yUmVjb3JkLltbRG9uZV1d
IHRvIHRydWUuCisgICAgICAgIGMuIFJldHVybklmQWJydXB0KG5leHQpLgorICAgICAgICBkLiBJ
ZiBuZXh0IGlzIGZhbHNlLCBzZXQgaXRlcmF0b3JSZWNvcmQuW1tEb25lXV0gdG8gdHJ1ZS4KKyAg
ICAgICAgZS4gRWxzZSwKKyAgICAgICAgICAgIGkuIExldCB2IGJlIEl0ZXJhdG9yVmFsdWUobmV4
dCkuCisgICAgICAgICAgICBpaS4gSWYgdiBpcyBhbiBhYnJ1cHQgY29tcGxldGlvbiwgc2V0IGl0
ZXJhdG9yUmVjb3JkLltbRG9uZV1dIHRvIHRydWUuCisgICAgICAgICAgICBpaWkuIFJldHVybklm
QWJydXB0KHYpLgorICAgIFsuLi5dCisgICAgNy4gUmV0dXJuIEluaXRpYWxpemVSZWZlcmVuY2Vk
QmluZGluZyhsaHMsIHYpLgorCistLS0qLworQXJyYXkucHJvdG90eXBlW1N5bWJvbC5pdGVyYXRv
cl0gPSBmdW5jdGlvbiogKCkgeworICAgIGlmICh0aGlzLmxlbmd0aCA+IDApIHsKKyAgICAgICAg
eWllbGQgdGhpc1swXTsKKyAgICB9CisgICAgaWYgKHRoaXMubGVuZ3RoID4gMSkgeworICAgICAg
ICB5aWVsZCB0aGlzWzFdOworICAgIH0KKyAgICBpZiAodGhpcy5sZW5ndGggPiAyKSB7CisgICAg
ICAgIHlpZWxkIDQyOworICAgIH0KK307CisKK3ZhciBjYWxsQ291bnQgPSAwOwordmFyIG9iaiA9
IHsKKyAgKm1ldGhvZChbeCwgeSwgel0gPSBbMSwgMiwgM10pIHsKKyAgICBhc3NlcnQuc2FtZVZh
bHVlKHgsIDEpOworICAgIGFzc2VydC5zYW1lVmFsdWUoeSwgMik7CisgICAgYXNzZXJ0LnNhbWVW
YWx1ZSh6LCA0Mik7CisgICAgY2FsbENvdW50ID0gY2FsbENvdW50ICsgMTsKKyAgfQorfTsKKwor
b2JqLm1ldGhvZCgpLm5leHQoKTsKK2Fzc2VydC5zYW1lVmFsdWUoY2FsbENvdW50LCAxLCAnZ2Vu
ZXJhdG9yIG1ldGhvZCBpbnZva2VkIGV4YWN0bHkgb25jZScpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvb2JqZWN0L2RzdHIvZ2VuLW1ldGgt
ZGZsdC1hcnktcHRybi1yZXN0LWlkLWRpcmVjdC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xh
bmd1YWdlL2V4cHJlc3Npb25zL29iamVjdC9kc3RyL2dlbi1tZXRoLWRmbHQtYXJ5LXB0cm4tcmVz
dC1pZC1kaXJlY3QuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2IxMGY3OTY1MzVkZTNhNzZkY2UzMmVhNDQxNmVj
YzU0ZDM5NjBjZAotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1
YWdlL2V4cHJlc3Npb25zL29iamVjdC9kc3RyL2dlbi1tZXRoLWRmbHQtYXJ5LXB0cm4tcmVzdC1p
ZC1kaXJlY3QuanMKQEAgLTAsMCArMSw3MCBAQAorLy8gVGhpcyBmaWxlIHdhcyBwcm9jZWR1cmFs
bHkgZ2VuZXJhdGVkIGZyb20gdGhlIGZvbGxvd2luZyBzb3VyY2VzOgorLy8gLSBzcmMvZHN0ci1i
aW5kaW5nL2FyeS1wdHJuLXJlc3QtaWQtZGlyZWN0LmNhc2UKKy8vIC0gc3JjL2RzdHItYmluZGlu
Zy9kZWZhdWx0L2dlbi1tZXRob2QtZGZsdC50ZW1wbGF0ZQorLyotLS0KK2Rlc2NyaXB0aW9uOiBM
b25lIHJlc3QgZWxlbWVudCAoZGlyZWN0IGJpbmRpbmcpIChnZW5lcmF0b3IgbWV0aG9kIChkZWZh
dWx0IHBhcmFtZXRlcikpCitlc2lkOiBzZWMtZ2VuZXJhdG9yLWZ1bmN0aW9uLWRlZmluaXRpb25z
LXJ1bnRpbWUtc2VtYW50aWNzLXByb3BlcnR5ZGVmaW5pdGlvbmV2YWx1YXRpb24KK2ZlYXR1cmVz
OiBbZ2VuZXJhdG9ycywgZGVzdHJ1Y3R1cmluZy1iaW5kaW5nLCBkZWZhdWx0LXBhcmFtZXRlcnNd
CitmbGFnczogW2dlbmVyYXRlZF0KK2luY2x1ZGVzOiBbY29tcGFyZUFycmF5LmpzXQoraW5mbzog
fAorICAgIEdlbmVyYXRvck1ldGhvZCA6CisgICAgICAgICogUHJvcGVydHlOYW1lICggU3RyaWN0
Rm9ybWFsUGFyYW1ldGVycyApIHsgR2VuZXJhdG9yQm9keSB9CisKKyAgICAxLiBMZXQgcHJvcEtl
eSBiZSB0aGUgcmVzdWx0IG9mIGV2YWx1YXRpbmcgUHJvcGVydHlOYW1lLgorICAgIDIuIFJldHVy
bklmQWJydXB0KHByb3BLZXkpLgorICAgIDMuIElmIHRoZSBmdW5jdGlvbiBjb2RlIGZvciB0aGlz
IEdlbmVyYXRvck1ldGhvZCBpcyBzdHJpY3QgbW9kZSBjb2RlLAorICAgICAgIGxldCBzdHJpY3Qg
YmUgdHJ1ZS4gT3RoZXJ3aXNlIGxldCBzdHJpY3QgYmUgZmFsc2UuCisgICAgNC4gTGV0IHNjb3Bl
IGJlIHRoZSBydW5uaW5nIGV4ZWN1dGlvbiBjb250ZXh0J3MgTGV4aWNhbEVudmlyb25tZW50Lgor
ICAgIDUuIExldCBjbG9zdXJlIGJlIEdlbmVyYXRvckZ1bmN0aW9uQ3JlYXRlKE1ldGhvZCwKKyAg
ICAgICBTdHJpY3RGb3JtYWxQYXJhbWV0ZXJzLCBHZW5lcmF0b3JCb2R5LCBzY29wZSwgc3RyaWN0
KS4KKyAgICBbLi4uXQorCisgICAgOS4yLjEgW1tDYWxsXV0gKCB0aGlzQXJndW1lbnQsIGFyZ3Vt
ZW50c0xpc3QpCisKKyAgICBbLi4uXQorICAgIDcuIExldCByZXN1bHQgYmUgT3JkaW5hcnlDYWxs
RXZhbHVhdGVCb2R5KEYsIGFyZ3VtZW50c0xpc3QpLgorICAgIFsuLi5dCisKKyAgICA5LjIuMS4z
IE9yZGluYXJ5Q2FsbEV2YWx1YXRlQm9keSAoIEYsIGFyZ3VtZW50c0xpc3QgKQorCisgICAgMS4g
TGV0IHN0YXR1cyBiZSBGdW5jdGlvbkRlY2xhcmF0aW9uSW5zdGFudGlhdGlvbihGLCBhcmd1bWVu
dHNMaXN0KS4KKyAgICBbLi4uXQorCisgICAgOS4yLjEyIEZ1bmN0aW9uRGVjbGFyYXRpb25JbnN0
YW50aWF0aW9uKGZ1bmMsIGFyZ3VtZW50c0xpc3QpCisKKyAgICBbLi4uXQorICAgIDIzLiBMZXQg
aXRlcmF0b3JSZWNvcmQgYmUgUmVjb3JkIHtbW2l0ZXJhdG9yXV06CisgICAgICAgIENyZWF0ZUxp
c3RJdGVyYXRvcihhcmd1bWVudHNMaXN0KSwgW1tkb25lXV06IGZhbHNlfS4KKyAgICAyNC4gSWYg
aGFzRHVwbGljYXRlcyBpcyB0cnVlLCB0aGVuCisgICAgICAgIFsuLi5dCisgICAgMjUuIEVsc2Us
CisgICAgICAgIGIuIExldCBmb3JtYWxTdGF0dXMgYmUgSXRlcmF0b3JCaW5kaW5nSW5pdGlhbGl6
YXRpb24gZm9yIGZvcm1hbHMgd2l0aAorICAgICAgICAgICBpdGVyYXRvclJlY29yZCBhbmQgZW52
IGFzIGFyZ3VtZW50cy4KKyAgICBbLi4uXQorCisgICAgUnVudGltZSBTZW1hbnRpY3M6IEl0ZXJh
dG9yQmluZGluZ0luaXRpYWxpemF0aW9uCisKKyAgICBCaW5kaW5nUmVzdEVsZW1lbnQgOiAuLi4g
QmluZGluZ0lkZW50aWZpZXIKKworICAgIFsuLi5dCisgICAgMi4gTGV0IEEgYmUgISBBcnJheUNy
ZWF0ZSgwKS4KKyAgICAzLiBMZXQgbiBiZSAwLgorICAgIDQuIFJlcGVhdCwKKyAgICAgICAgWy4u
Ll0KKyAgICAgICAgZi4gUGVyZm9ybSAhIENyZWF0ZURhdGFQcm9wZXJ0eU9yVGhyb3coQSwgISBU
b1N0cmluZyhuKSwgbmV4dFZhbHVlKS4KKyAgICAgICAgZy4gU2V0IG4gdG8gbiArIDEuCisKKy0t
LSovCisKK3ZhciBjYWxsQ291bnQgPSAwOwordmFyIG9iaiA9IHsKKyAgKm1ldGhvZChbLi4ueF0g
PSBbMV0pIHsKKyAgICBhc3NlcnQoQXJyYXkuaXNBcnJheSh4KSk7CisgICAgYXNzZXJ0LmNvbXBh
cmVBcnJheSh4LCBbMV0pOworICAgIGNhbGxDb3VudCA9IGNhbGxDb3VudCArIDE7CisgIH0KK307
CisKK29iai5tZXRob2QoKS5uZXh0KCk7Cithc3NlcnQuc2FtZVZhbHVlKGNhbGxDb3VudCwgMSwg
J2dlbmVyYXRvciBtZXRob2QgaW52b2tlZCBleGFjdGx5IG9uY2UnKTsKZGlmZiAtLWdpdCBhL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL29iamVjdC9kc3RyL21ldGgt
YXJ5LWluaXQtaXRlci1nZXQtZXJyLWFycmF5LXByb3RvdHlwZS5qcyBiL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL29iamVjdC9kc3RyL21ldGgtYXJ5LWluaXQtaXRl
ci1nZXQtZXJyLWFycmF5LXByb3RvdHlwZS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lYzMxZDdjZDgzMDkzNjBk
M2FiMTAzZjAwYWYxZjM2NTUyZWRjZmJjCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvb2JqZWN0L2RzdHIvbWV0aC1hcnktaW5pdC1p
dGVyLWdldC1lcnItYXJyYXktcHJvdG90eXBlLmpzCkBAIC0wLDAgKzEsNjcgQEAKKy8vIFRoaXMg
ZmlsZSB3YXMgcHJvY2VkdXJhbGx5IGdlbmVyYXRlZCBmcm9tIHRoZSBmb2xsb3dpbmcgc291cmNl
czoKKy8vIC0gc3JjL2RzdHItYmluZGluZy9hcnktaW5pdC1pdGVyLWdldC1lcnItYXJyYXktcHJv
dG90eXBlLmNhc2UKKy8vIC0gc3JjL2RzdHItYmluZGluZy9lcnJvci9tZXRoLnRlbXBsYXRlCisv
Ki0tLQorZGVzY3JpcHRpb246IEFicnVwdCBjb21wbGV0aW9uIHJldHVybmVkIGJ5IEdldEl0ZXJh
dG9yIChtZXRob2QpCitlc2lkOiBzZWMtcnVudGltZS1zZW1hbnRpY3MtZGVmaW5lbWV0aG9kCitm
ZWF0dXJlczogW1N5bWJvbC5pdGVyYXRvciwgZGVzdHJ1Y3R1cmluZy1iaW5kaW5nXQorZmxhZ3M6
IFtnZW5lcmF0ZWRdCitpbmZvOiB8CisgICAgTWV0aG9kRGVmaW5pdGlvbiA6IFByb3BlcnR5TmFt
ZSAoIFN0cmljdEZvcm1hbFBhcmFtZXRlcnMgKSB7IEZ1bmN0aW9uQm9keSB9CisKKyAgICBbLi4u
XQorICAgIDYuIExldCBjbG9zdXJlIGJlIEZ1bmN0aW9uQ3JlYXRlKGtpbmQsIFN0cmljdEZvcm1h
bFBhcmFtZXRlcnMsCisgICAgICAgRnVuY3Rpb25Cb2R5LCBzY29wZSwgc3RyaWN0KS4gSWYgZnVu
Y3Rpb25Qcm90b3R5cGUgd2FzIHBhc3NlZCBhcyBhCisgICAgICAgcGFyYW1ldGVyIHRoZW4gcGFz
cyBpdHMgdmFsdWUgYXMgdGhlIGZ1bmN0aW9uUHJvdG90eXBlIG9wdGlvbmFsIGFyZ3VtZW50Cisg
ICAgICAgb2YgRnVuY3Rpb25DcmVhdGUuCisgICAgWy4uLl0KKworICAgIDkuMi4xIFtbQ2FsbF1d
ICggdGhpc0FyZ3VtZW50LCBhcmd1bWVudHNMaXN0KQorCisgICAgWy4uLl0KKyAgICA3LiBMZXQg
cmVzdWx0IGJlIE9yZGluYXJ5Q2FsbEV2YWx1YXRlQm9keShGLCBhcmd1bWVudHNMaXN0KS4KKyAg
ICBbLi4uXQorCisgICAgOS4yLjEuMyBPcmRpbmFyeUNhbGxFdmFsdWF0ZUJvZHkgKCBGLCBhcmd1
bWVudHNMaXN0ICkKKworICAgIDEuIExldCBzdGF0dXMgYmUgRnVuY3Rpb25EZWNsYXJhdGlvbklu
c3RhbnRpYXRpb24oRiwgYXJndW1lbnRzTGlzdCkuCisgICAgWy4uLl0KKworICAgIDkuMi4xMiBG
dW5jdGlvbkRlY2xhcmF0aW9uSW5zdGFudGlhdGlvbihmdW5jLCBhcmd1bWVudHNMaXN0KQorCisg
ICAgWy4uLl0KKyAgICAyMy4gTGV0IGl0ZXJhdG9yUmVjb3JkIGJlIFJlY29yZCB7W1tpdGVyYXRv
cl1dOgorICAgICAgICBDcmVhdGVMaXN0SXRlcmF0b3IoYXJndW1lbnRzTGlzdCksIFtbZG9uZV1d
OiBmYWxzZX0uCisgICAgMjQuIElmIGhhc0R1cGxpY2F0ZXMgaXMgdHJ1ZSwgdGhlbgorICAgICAg
ICBbLi4uXQorICAgIDI1LiBFbHNlLAorICAgICAgICBiLiBMZXQgZm9ybWFsU3RhdHVzIGJlIEl0
ZXJhdG9yQmluZGluZ0luaXRpYWxpemF0aW9uIGZvciBmb3JtYWxzIHdpdGgKKyAgICAgICAgICAg
aXRlcmF0b3JSZWNvcmQgYW5kIGVudiBhcyBhcmd1bWVudHMuCisgICAgWy4uLl0KKworICAgIFJ1
bnRpbWUgU2VtYW50aWNzOiBCaW5kaW5nSW5pdGlhbGl6YXRpb24KKworICAgIEJpbmRpbmdQYXR0
ZXJuIDogQXJyYXlCaW5kaW5nUGF0dGVybgorCisgICAgMS4gTGV0IGl0ZXJhdG9yUmVjb3JkIGJl
ID8gR2V0SXRlcmF0b3IodmFsdWUpLgorCisgICAgR2V0SXRlcmF0b3IgKCBvYmogWyAsIGhpbnQg
WyAsIG1ldGhvZCBdIF0gKQorCisgICAgWy4uLl0KKyAgICA0LiBMZXQgaXRlcmF0b3IgYmUgPyBD
YWxsKG1ldGhvZCwgb2JqKS4KKworICAgIENhbGwgKCBGLCBWIFsgLCBhcmd1bWVudHNMaXN0IF0g
KQorCisgICAgWy4uLl0KKyAgICAyLiBJZiBJc0NhbGxhYmxlKEYpIGlzIGZhbHNlLCB0aHJvdyBh
IFR5cGVFcnJvciBleGNlcHRpb24uCisKKy0tLSovCitkZWxldGUgQXJyYXkucHJvdG90eXBlW1N5
bWJvbC5pdGVyYXRvcl07CisKK3ZhciBvYmogPSB7CisgIG1ldGhvZChbeCwgeSwgel0pIHt9Cit9
OworCithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgZnVuY3Rpb24oKSB7CisgIG9iai5tZXRob2Qo
WzEsIDIsIDNdKTsKK30pOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3Vh
Z2UvZXhwcmVzc2lvbnMvb2JqZWN0L2RzdHIvbWV0aC1hcnktcHRybi1lbGVtLWlkLWl0ZXItdmFs
LWFycmF5LXByb3RvdHlwZS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJl
c3Npb25zL29iamVjdC9kc3RyL21ldGgtYXJ5LXB0cm4tZWxlbS1pZC1pdGVyLXZhbC1hcnJheS1w
cm90b3R5cGUuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDIyNjJmY2RmY2I5Y2EyMDJkOGQxODU5ZWE3Yzk5YTUw
NDc4NTA5NQotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdl
L2V4cHJlc3Npb25zL29iamVjdC9kc3RyL21ldGgtYXJ5LXB0cm4tZWxlbS1pZC1pdGVyLXZhbC1h
cnJheS1wcm90b3R5cGUuanMKQEAgLTAsMCArMSw4NCBAQAorLy8gVGhpcyBmaWxlIHdhcyBwcm9j
ZWR1cmFsbHkgZ2VuZXJhdGVkIGZyb20gdGhlIGZvbGxvd2luZyBzb3VyY2VzOgorLy8gLSBzcmMv
ZHN0ci1iaW5kaW5nL2FyeS1wdHJuLWVsZW0taWQtaXRlci12YWwtYXJyYXktcHJvdG90eXBlLmNh
c2UKKy8vIC0gc3JjL2RzdHItYmluZGluZy9kZWZhdWx0L21ldGgudGVtcGxhdGUKKy8qLS0tCitk
ZXNjcmlwdGlvbjogQXJyYXkgZGVzdHJ1Y3R1cmluZyB1c2VzIG92ZXJyaWRlbiBBcnJheS5wcm90
b3R5cGVbU3ltYm9sLml0ZXJhdG9yXSAobWV0aG9kKQorZXNpZDogc2VjLXJ1bnRpbWUtc2VtYW50
aWNzLWRlZmluZW1ldGhvZAorZmVhdHVyZXM6IFtTeW1ib2wuaXRlcmF0b3IsIGdlbmVyYXRvcnMs
IGRlc3RydWN0dXJpbmctYmluZGluZ10KK2ZsYWdzOiBbZ2VuZXJhdGVkXQoraW5mbzogfAorICAg
IE1ldGhvZERlZmluaXRpb24gOiBQcm9wZXJ0eU5hbWUgKCBTdHJpY3RGb3JtYWxQYXJhbWV0ZXJz
ICkgeyBGdW5jdGlvbkJvZHkgfQorCisgICAgWy4uLl0KKyAgICA2LiBMZXQgY2xvc3VyZSBiZSBG
dW5jdGlvbkNyZWF0ZShraW5kLCBTdHJpY3RGb3JtYWxQYXJhbWV0ZXJzLAorICAgICAgIEZ1bmN0
aW9uQm9keSwgc2NvcGUsIHN0cmljdCkuIElmIGZ1bmN0aW9uUHJvdG90eXBlIHdhcyBwYXNzZWQg
YXMgYQorICAgICAgIHBhcmFtZXRlciB0aGVuIHBhc3MgaXRzIHZhbHVlIGFzIHRoZSBmdW5jdGlv
blByb3RvdHlwZSBvcHRpb25hbCBhcmd1bWVudAorICAgICAgIG9mIEZ1bmN0aW9uQ3JlYXRlLgor
ICAgIFsuLi5dCisKKyAgICA5LjIuMSBbW0NhbGxdXSAoIHRoaXNBcmd1bWVudCwgYXJndW1lbnRz
TGlzdCkKKworICAgIFsuLi5dCisgICAgNy4gTGV0IHJlc3VsdCBiZSBPcmRpbmFyeUNhbGxFdmFs
dWF0ZUJvZHkoRiwgYXJndW1lbnRzTGlzdCkuCisgICAgWy4uLl0KKworICAgIDkuMi4xLjMgT3Jk
aW5hcnlDYWxsRXZhbHVhdGVCb2R5ICggRiwgYXJndW1lbnRzTGlzdCApCisKKyAgICAxLiBMZXQg
c3RhdHVzIGJlIEZ1bmN0aW9uRGVjbGFyYXRpb25JbnN0YW50aWF0aW9uKEYsIGFyZ3VtZW50c0xp
c3QpLgorICAgIFsuLi5dCisKKyAgICA5LjIuMTIgRnVuY3Rpb25EZWNsYXJhdGlvbkluc3RhbnRp
YXRpb24oZnVuYywgYXJndW1lbnRzTGlzdCkKKworICAgIFsuLi5dCisgICAgMjMuIExldCBpdGVy
YXRvclJlY29yZCBiZSBSZWNvcmQge1tbaXRlcmF0b3JdXToKKyAgICAgICAgQ3JlYXRlTGlzdEl0
ZXJhdG9yKGFyZ3VtZW50c0xpc3QpLCBbW2RvbmVdXTogZmFsc2V9LgorICAgIDI0LiBJZiBoYXNE
dXBsaWNhdGVzIGlzIHRydWUsIHRoZW4KKyAgICAgICAgWy4uLl0KKyAgICAyNS4gRWxzZSwKKyAg
ICAgICAgYi4gTGV0IGZvcm1hbFN0YXR1cyBiZSBJdGVyYXRvckJpbmRpbmdJbml0aWFsaXphdGlv
biBmb3IgZm9ybWFscyB3aXRoCisgICAgICAgICAgIGl0ZXJhdG9yUmVjb3JkIGFuZCBlbnYgYXMg
YXJndW1lbnRzLgorICAgIFsuLi5dCisKKyAgICBSdW50aW1lIFNlbWFudGljczogSXRlcmF0b3JC
aW5kaW5nSW5pdGlhbGl6YXRpb24KKworICAgIFNpbmdsZU5hbWVCaW5kaW5nIDogQmluZGluZ0lk
ZW50aWZpZXIgSW5pdGlhbGl6ZXJfb3B0CisKKyAgICAxLiBMZXQgYmluZGluZ0lkIGJlIFN0cmlu
Z1ZhbHVlIG9mIEJpbmRpbmdJZGVudGlmaWVyLgorICAgIDIuIExldCBsaHMgYmUgPyBSZXNvbHZl
QmluZGluZyhiaW5kaW5nSWQsIGVudmlyb25tZW50KS4KKyAgICAzLiBJZiBpdGVyYXRvclJlY29y
ZC5bW0RvbmVdXSBpcyBmYWxzZSwgdGhlbgorICAgICAgICBhLiBMZXQgbmV4dCBiZSBJdGVyYXRv
clN0ZXAoaXRlcmF0b3JSZWNvcmQpLgorICAgICAgICBiLiBJZiBuZXh0IGlzIGFuIGFicnVwdCBj
b21wbGV0aW9uLCBzZXQgaXRlcmF0b3JSZWNvcmQuW1tEb25lXV0gdG8gdHJ1ZS4KKyAgICAgICAg
Yy4gUmV0dXJuSWZBYnJ1cHQobmV4dCkuCisgICAgICAgIGQuIElmIG5leHQgaXMgZmFsc2UsIHNl
dCBpdGVyYXRvclJlY29yZC5bW0RvbmVdXSB0byB0cnVlLgorICAgICAgICBlLiBFbHNlLAorICAg
ICAgICAgICAgaS4gTGV0IHYgYmUgSXRlcmF0b3JWYWx1ZShuZXh0KS4KKyAgICAgICAgICAgIGlp
LiBJZiB2IGlzIGFuIGFicnVwdCBjb21wbGV0aW9uLCBzZXQgaXRlcmF0b3JSZWNvcmQuW1tEb25l
XV0gdG8gdHJ1ZS4KKyAgICAgICAgICAgIGlpaS4gUmV0dXJuSWZBYnJ1cHQodikuCisgICAgWy4u
Ll0KKyAgICA3LiBSZXR1cm4gSW5pdGlhbGl6ZVJlZmVyZW5jZWRCaW5kaW5nKGxocywgdikuCisK
Ky0tLSovCitBcnJheS5wcm90b3R5cGVbU3ltYm9sLml0ZXJhdG9yXSA9IGZ1bmN0aW9uKiAoKSB7
CisgICAgaWYgKHRoaXMubGVuZ3RoID4gMCkgeworICAgICAgICB5aWVsZCB0aGlzWzBdOworICAg
IH0KKyAgICBpZiAodGhpcy5sZW5ndGggPiAxKSB7CisgICAgICAgIHlpZWxkIHRoaXNbMV07Cisg
ICAgfQorICAgIGlmICh0aGlzLmxlbmd0aCA+IDIpIHsKKyAgICAgICAgeWllbGQgNDI7CisgICAg
fQorfTsKKwordmFyIGNhbGxDb3VudCA9IDA7Cit2YXIgb2JqID0geworICBtZXRob2QoW3gsIHks
IHpdKSB7CisgICAgYXNzZXJ0LnNhbWVWYWx1ZSh4LCAxKTsKKyAgICBhc3NlcnQuc2FtZVZhbHVl
KHksIDIpOworICAgIGFzc2VydC5zYW1lVmFsdWUoeiwgNDIpOworICAgIGNhbGxDb3VudCA9IGNh
bGxDb3VudCArIDE7CisgIH0KK307CisKK29iai5tZXRob2QoWzEsIDIsIDNdKTsKK2Fzc2VydC5z
YW1lVmFsdWUoY2FsbENvdW50LCAxLCAnbWV0aG9kIGludm9rZWQgZXhhY3RseSBvbmNlJyk7CmRp
ZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9vYmpl
Y3QvZHN0ci9tZXRoLWFyeS1wdHJuLXJlc3QtaWQtZGlyZWN0LmpzIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvb2JqZWN0L2RzdHIvbWV0aC1hcnktcHRybi1yZXN0
LWlkLWRpcmVjdC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jMjEyZDljMDlhMjdjNWUyNzRlOWM2ZDBjMTFlNTdh
YjUxMTMzMGM1Ci0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3Vh
Z2UvZXhwcmVzc2lvbnMvb2JqZWN0L2RzdHIvbWV0aC1hcnktcHRybi1yZXN0LWlkLWRpcmVjdC5q
cwpAQCAtMCwwICsxLDY3IEBACisvLyBUaGlzIGZpbGUgd2FzIHByb2NlZHVyYWxseSBnZW5lcmF0
ZWQgZnJvbSB0aGUgZm9sbG93aW5nIHNvdXJjZXM6CisvLyAtIHNyYy9kc3RyLWJpbmRpbmcvYXJ5
LXB0cm4tcmVzdC1pZC1kaXJlY3QuY2FzZQorLy8gLSBzcmMvZHN0ci1iaW5kaW5nL2RlZmF1bHQv
bWV0aC50ZW1wbGF0ZQorLyotLS0KK2Rlc2NyaXB0aW9uOiBMb25lIHJlc3QgZWxlbWVudCAoZGly
ZWN0IGJpbmRpbmcpIChtZXRob2QpCitlc2lkOiBzZWMtcnVudGltZS1zZW1hbnRpY3MtZGVmaW5l
bWV0aG9kCitmZWF0dXJlczogW2Rlc3RydWN0dXJpbmctYmluZGluZ10KK2ZsYWdzOiBbZ2VuZXJh
dGVkXQoraW5jbHVkZXM6IFtjb21wYXJlQXJyYXkuanNdCitpbmZvOiB8CisgICAgTWV0aG9kRGVm
aW5pdGlvbiA6IFByb3BlcnR5TmFtZSAoIFN0cmljdEZvcm1hbFBhcmFtZXRlcnMgKSB7IEZ1bmN0
aW9uQm9keSB9CisKKyAgICBbLi4uXQorICAgIDYuIExldCBjbG9zdXJlIGJlIEZ1bmN0aW9uQ3Jl
YXRlKGtpbmQsIFN0cmljdEZvcm1hbFBhcmFtZXRlcnMsCisgICAgICAgRnVuY3Rpb25Cb2R5LCBz
Y29wZSwgc3RyaWN0KS4gSWYgZnVuY3Rpb25Qcm90b3R5cGUgd2FzIHBhc3NlZCBhcyBhCisgICAg
ICAgcGFyYW1ldGVyIHRoZW4gcGFzcyBpdHMgdmFsdWUgYXMgdGhlIGZ1bmN0aW9uUHJvdG90eXBl
IG9wdGlvbmFsIGFyZ3VtZW50CisgICAgICAgb2YgRnVuY3Rpb25DcmVhdGUuCisgICAgWy4uLl0K
KworICAgIDkuMi4xIFtbQ2FsbF1dICggdGhpc0FyZ3VtZW50LCBhcmd1bWVudHNMaXN0KQorCisg
ICAgWy4uLl0KKyAgICA3LiBMZXQgcmVzdWx0IGJlIE9yZGluYXJ5Q2FsbEV2YWx1YXRlQm9keShG
LCBhcmd1bWVudHNMaXN0KS4KKyAgICBbLi4uXQorCisgICAgOS4yLjEuMyBPcmRpbmFyeUNhbGxF
dmFsdWF0ZUJvZHkgKCBGLCBhcmd1bWVudHNMaXN0ICkKKworICAgIDEuIExldCBzdGF0dXMgYmUg
RnVuY3Rpb25EZWNsYXJhdGlvbkluc3RhbnRpYXRpb24oRiwgYXJndW1lbnRzTGlzdCkuCisgICAg
Wy4uLl0KKworICAgIDkuMi4xMiBGdW5jdGlvbkRlY2xhcmF0aW9uSW5zdGFudGlhdGlvbihmdW5j
LCBhcmd1bWVudHNMaXN0KQorCisgICAgWy4uLl0KKyAgICAyMy4gTGV0IGl0ZXJhdG9yUmVjb3Jk
IGJlIFJlY29yZCB7W1tpdGVyYXRvcl1dOgorICAgICAgICBDcmVhdGVMaXN0SXRlcmF0b3IoYXJn
dW1lbnRzTGlzdCksIFtbZG9uZV1dOiBmYWxzZX0uCisgICAgMjQuIElmIGhhc0R1cGxpY2F0ZXMg
aXMgdHJ1ZSwgdGhlbgorICAgICAgICBbLi4uXQorICAgIDI1LiBFbHNlLAorICAgICAgICBiLiBM
ZXQgZm9ybWFsU3RhdHVzIGJlIEl0ZXJhdG9yQmluZGluZ0luaXRpYWxpemF0aW9uIGZvciBmb3Jt
YWxzIHdpdGgKKyAgICAgICAgICAgaXRlcmF0b3JSZWNvcmQgYW5kIGVudiBhcyBhcmd1bWVudHMu
CisgICAgWy4uLl0KKworICAgIFJ1bnRpbWUgU2VtYW50aWNzOiBJdGVyYXRvckJpbmRpbmdJbml0
aWFsaXphdGlvbgorCisgICAgQmluZGluZ1Jlc3RFbGVtZW50IDogLi4uIEJpbmRpbmdJZGVudGlm
aWVyCisKKyAgICBbLi4uXQorICAgIDIuIExldCBBIGJlICEgQXJyYXlDcmVhdGUoMCkuCisgICAg
My4gTGV0IG4gYmUgMC4KKyAgICA0LiBSZXBlYXQsCisgICAgICAgIFsuLi5dCisgICAgICAgIGYu
IFBlcmZvcm0gISBDcmVhdGVEYXRhUHJvcGVydHlPclRocm93KEEsICEgVG9TdHJpbmcobiksIG5l
eHRWYWx1ZSkuCisgICAgICAgIGcuIFNldCBuIHRvIG4gKyAxLgorCistLS0qLworCit2YXIgY2Fs
bENvdW50ID0gMDsKK3ZhciBvYmogPSB7CisgIG1ldGhvZChbLi4ueF0pIHsKKyAgICBhc3NlcnQo
QXJyYXkuaXNBcnJheSh4KSk7CisgICAgYXNzZXJ0LmNvbXBhcmVBcnJheSh4LCBbMV0pOworICAg
IGNhbGxDb3VudCA9IGNhbGxDb3VudCArIDE7CisgIH0KK307CisKK29iai5tZXRob2QoWzFdKTsK
K2Fzc2VydC5zYW1lVmFsdWUoY2FsbENvdW50LCAxLCAnbWV0aG9kIGludm9rZWQgZXhhY3RseSBv
bmNlJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNz
aW9ucy9vYmplY3QvZHN0ci9tZXRoLWRmbHQtYXJ5LWluaXQtaXRlci1nZXQtZXJyLWFycmF5LXBy
b3RvdHlwZS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL29i
amVjdC9kc3RyL21ldGgtZGZsdC1hcnktaW5pdC1pdGVyLWdldC1lcnItYXJyYXktcHJvdG90eXBl
LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjc2MzVjZmU5NmVlODdiNDljNjI3NjA4MTNlYzVkZTE1OTU1NWVkODUK
LS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNz
aW9ucy9vYmplY3QvZHN0ci9tZXRoLWRmbHQtYXJ5LWluaXQtaXRlci1nZXQtZXJyLWFycmF5LXBy
b3RvdHlwZS5qcwpAQCAtMCwwICsxLDY3IEBACisvLyBUaGlzIGZpbGUgd2FzIHByb2NlZHVyYWxs
eSBnZW5lcmF0ZWQgZnJvbSB0aGUgZm9sbG93aW5nIHNvdXJjZXM6CisvLyAtIHNyYy9kc3RyLWJp
bmRpbmcvYXJ5LWluaXQtaXRlci1nZXQtZXJyLWFycmF5LXByb3RvdHlwZS5jYXNlCisvLyAtIHNy
Yy9kc3RyLWJpbmRpbmcvZXJyb3IvbWV0aC1kZmx0LnRlbXBsYXRlCisvKi0tLQorZGVzY3JpcHRp
b246IEFicnVwdCBjb21wbGV0aW9uIHJldHVybmVkIGJ5IEdldEl0ZXJhdG9yIChtZXRob2QgKGRl
ZmF1bHQgcGFyYW1ldGVyKSkKK2VzaWQ6IHNlYy1ydW50aW1lLXNlbWFudGljcy1kZWZpbmVtZXRo
b2QKK2ZlYXR1cmVzOiBbU3ltYm9sLml0ZXJhdG9yLCBkZXN0cnVjdHVyaW5nLWJpbmRpbmcsIGRl
ZmF1bHQtcGFyYW1ldGVyc10KK2ZsYWdzOiBbZ2VuZXJhdGVkXQoraW5mbzogfAorICAgIE1ldGhv
ZERlZmluaXRpb24gOiBQcm9wZXJ0eU5hbWUgKCBTdHJpY3RGb3JtYWxQYXJhbWV0ZXJzICkgeyBG
dW5jdGlvbkJvZHkgfQorCisgICAgWy4uLl0KKyAgICA2LiBMZXQgY2xvc3VyZSBiZSBGdW5jdGlv
bkNyZWF0ZShraW5kLCBTdHJpY3RGb3JtYWxQYXJhbWV0ZXJzLAorICAgICAgIEZ1bmN0aW9uQm9k
eSwgc2NvcGUsIHN0cmljdCkuIElmIGZ1bmN0aW9uUHJvdG90eXBlIHdhcyBwYXNzZWQgYXMgYQor
ICAgICAgIHBhcmFtZXRlciB0aGVuIHBhc3MgaXRzIHZhbHVlIGFzIHRoZSBmdW5jdGlvblByb3Rv
dHlwZSBvcHRpb25hbCBhcmd1bWVudAorICAgICAgIG9mIEZ1bmN0aW9uQ3JlYXRlLgorICAgIFsu
Li5dCisKKyAgICA5LjIuMSBbW0NhbGxdXSAoIHRoaXNBcmd1bWVudCwgYXJndW1lbnRzTGlzdCkK
KworICAgIFsuLi5dCisgICAgNy4gTGV0IHJlc3VsdCBiZSBPcmRpbmFyeUNhbGxFdmFsdWF0ZUJv
ZHkoRiwgYXJndW1lbnRzTGlzdCkuCisgICAgWy4uLl0KKworICAgIDkuMi4xLjMgT3JkaW5hcnlD
YWxsRXZhbHVhdGVCb2R5ICggRiwgYXJndW1lbnRzTGlzdCApCisKKyAgICAxLiBMZXQgc3RhdHVz
IGJlIEZ1bmN0aW9uRGVjbGFyYXRpb25JbnN0YW50aWF0aW9uKEYsIGFyZ3VtZW50c0xpc3QpLgor
ICAgIFsuLi5dCisKKyAgICA5LjIuMTIgRnVuY3Rpb25EZWNsYXJhdGlvbkluc3RhbnRpYXRpb24o
ZnVuYywgYXJndW1lbnRzTGlzdCkKKworICAgIFsuLi5dCisgICAgMjMuIExldCBpdGVyYXRvclJl
Y29yZCBiZSBSZWNvcmQge1tbaXRlcmF0b3JdXToKKyAgICAgICAgQ3JlYXRlTGlzdEl0ZXJhdG9y
KGFyZ3VtZW50c0xpc3QpLCBbW2RvbmVdXTogZmFsc2V9LgorICAgIDI0LiBJZiBoYXNEdXBsaWNh
dGVzIGlzIHRydWUsIHRoZW4KKyAgICAgICAgWy4uLl0KKyAgICAyNS4gRWxzZSwKKyAgICAgICAg
Yi4gTGV0IGZvcm1hbFN0YXR1cyBiZSBJdGVyYXRvckJpbmRpbmdJbml0aWFsaXphdGlvbiBmb3Ig
Zm9ybWFscyB3aXRoCisgICAgICAgICAgIGl0ZXJhdG9yUmVjb3JkIGFuZCBlbnYgYXMgYXJndW1l
bnRzLgorICAgIFsuLi5dCisKKyAgICBSdW50aW1lIFNlbWFudGljczogQmluZGluZ0luaXRpYWxp
emF0aW9uCisKKyAgICBCaW5kaW5nUGF0dGVybiA6IEFycmF5QmluZGluZ1BhdHRlcm4KKworICAg
IDEuIExldCBpdGVyYXRvclJlY29yZCBiZSA/IEdldEl0ZXJhdG9yKHZhbHVlKS4KKworICAgIEdl
dEl0ZXJhdG9yICggb2JqIFsgLCBoaW50IFsgLCBtZXRob2QgXSBdICkKKworICAgIFsuLi5dCisg
ICAgNC4gTGV0IGl0ZXJhdG9yIGJlID8gQ2FsbChtZXRob2QsIG9iaikuCisKKyAgICBDYWxsICgg
RiwgViBbICwgYXJndW1lbnRzTGlzdCBdICkKKworICAgIFsuLi5dCisgICAgMi4gSWYgSXNDYWxs
YWJsZShGKSBpcyBmYWxzZSwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgorCistLS0qLwor
ZGVsZXRlIEFycmF5LnByb3RvdHlwZVtTeW1ib2wuaXRlcmF0b3JdOworCit2YXIgb2JqID0gewor
ICBtZXRob2QoW3gsIHksIHpdID0gWzEsIDIsIDNdKSB7fQorfTsKKworYXNzZXJ0LnRocm93cyhU
eXBlRXJyb3IsIGZ1bmN0aW9uKCkgeworICBvYmoubWV0aG9kKCk7Cit9KTsKZGlmZiAtLWdpdCBh
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL29iamVjdC9kc3RyL21l
dGgtZGZsdC1hcnktcHRybi1lbGVtLWlkLWl0ZXItdmFsLWFycmF5LXByb3RvdHlwZS5qcyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL29iamVjdC9kc3RyL21ldGgt
ZGZsdC1hcnktcHRybi1lbGVtLWlkLWl0ZXItdmFsLWFycmF5LXByb3RvdHlwZS5qcwpuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi41YzA0MjBmMmUxMmZhNWQ1Y2RmMzFmODdlNzY2NDI1ZDc2YTQyNGNlCi0tLSAvZGV2L251
bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvb2JqZWN0
L2RzdHIvbWV0aC1kZmx0LWFyeS1wdHJuLWVsZW0taWQtaXRlci12YWwtYXJyYXktcHJvdG90eXBl
LmpzCkBAIC0wLDAgKzEsODQgQEAKKy8vIFRoaXMgZmlsZSB3YXMgcHJvY2VkdXJhbGx5IGdlbmVy
YXRlZCBmcm9tIHRoZSBmb2xsb3dpbmcgc291cmNlczoKKy8vIC0gc3JjL2RzdHItYmluZGluZy9h
cnktcHRybi1lbGVtLWlkLWl0ZXItdmFsLWFycmF5LXByb3RvdHlwZS5jYXNlCisvLyAtIHNyYy9k
c3RyLWJpbmRpbmcvZGVmYXVsdC9tZXRoLWRmbHQudGVtcGxhdGUKKy8qLS0tCitkZXNjcmlwdGlv
bjogQXJyYXkgZGVzdHJ1Y3R1cmluZyB1c2VzIG92ZXJyaWRlbiBBcnJheS5wcm90b3R5cGVbU3lt
Ym9sLml0ZXJhdG9yXSAobWV0aG9kIChkZWZhdWx0IHBhcmFtZXRlcikpCitlc2lkOiBzZWMtcnVu
dGltZS1zZW1hbnRpY3MtZGVmaW5lbWV0aG9kCitmZWF0dXJlczogW1N5bWJvbC5pdGVyYXRvciwg
Z2VuZXJhdG9ycywgZGVzdHJ1Y3R1cmluZy1iaW5kaW5nLCBkZWZhdWx0LXBhcmFtZXRlcnNdCitm
bGFnczogW2dlbmVyYXRlZF0KK2luZm86IHwKKyAgICBNZXRob2REZWZpbml0aW9uIDogUHJvcGVy
dHlOYW1lICggU3RyaWN0Rm9ybWFsUGFyYW1ldGVycyApIHsgRnVuY3Rpb25Cb2R5IH0KKworICAg
IFsuLi5dCisgICAgNi4gTGV0IGNsb3N1cmUgYmUgRnVuY3Rpb25DcmVhdGUoa2luZCwgU3RyaWN0
Rm9ybWFsUGFyYW1ldGVycywKKyAgICAgICBGdW5jdGlvbkJvZHksIHNjb3BlLCBzdHJpY3QpLiBJ
ZiBmdW5jdGlvblByb3RvdHlwZSB3YXMgcGFzc2VkIGFzIGEKKyAgICAgICBwYXJhbWV0ZXIgdGhl
biBwYXNzIGl0cyB2YWx1ZSBhcyB0aGUgZnVuY3Rpb25Qcm90b3R5cGUgb3B0aW9uYWwgYXJndW1l
bnQKKyAgICAgICBvZiBGdW5jdGlvbkNyZWF0ZS4KKyAgICBbLi4uXQorCisgICAgOS4yLjEgW1tD
YWxsXV0gKCB0aGlzQXJndW1lbnQsIGFyZ3VtZW50c0xpc3QpCisKKyAgICBbLi4uXQorICAgIDcu
IExldCByZXN1bHQgYmUgT3JkaW5hcnlDYWxsRXZhbHVhdGVCb2R5KEYsIGFyZ3VtZW50c0xpc3Qp
LgorICAgIFsuLi5dCisKKyAgICA5LjIuMS4zIE9yZGluYXJ5Q2FsbEV2YWx1YXRlQm9keSAoIEYs
IGFyZ3VtZW50c0xpc3QgKQorCisgICAgMS4gTGV0IHN0YXR1cyBiZSBGdW5jdGlvbkRlY2xhcmF0
aW9uSW5zdGFudGlhdGlvbihGLCBhcmd1bWVudHNMaXN0KS4KKyAgICBbLi4uXQorCisgICAgOS4y
LjEyIEZ1bmN0aW9uRGVjbGFyYXRpb25JbnN0YW50aWF0aW9uKGZ1bmMsIGFyZ3VtZW50c0xpc3Qp
CisKKyAgICBbLi4uXQorICAgIDIzLiBMZXQgaXRlcmF0b3JSZWNvcmQgYmUgUmVjb3JkIHtbW2l0
ZXJhdG9yXV06CisgICAgICAgIENyZWF0ZUxpc3RJdGVyYXRvcihhcmd1bWVudHNMaXN0KSwgW1tk
b25lXV06IGZhbHNlfS4KKyAgICAyNC4gSWYgaGFzRHVwbGljYXRlcyBpcyB0cnVlLCB0aGVuCisg
ICAgICAgIFsuLi5dCisgICAgMjUuIEVsc2UsCisgICAgICAgIGIuIExldCBmb3JtYWxTdGF0dXMg
YmUgSXRlcmF0b3JCaW5kaW5nSW5pdGlhbGl6YXRpb24gZm9yIGZvcm1hbHMgd2l0aAorICAgICAg
ICAgICBpdGVyYXRvclJlY29yZCBhbmQgZW52IGFzIGFyZ3VtZW50cy4KKyAgICBbLi4uXQorCisg
ICAgUnVudGltZSBTZW1hbnRpY3M6IEl0ZXJhdG9yQmluZGluZ0luaXRpYWxpemF0aW9uCisKKyAg
ICBTaW5nbGVOYW1lQmluZGluZyA6IEJpbmRpbmdJZGVudGlmaWVyIEluaXRpYWxpemVyX29wdAor
CisgICAgMS4gTGV0IGJpbmRpbmdJZCBiZSBTdHJpbmdWYWx1ZSBvZiBCaW5kaW5nSWRlbnRpZmll
ci4KKyAgICAyLiBMZXQgbGhzIGJlID8gUmVzb2x2ZUJpbmRpbmcoYmluZGluZ0lkLCBlbnZpcm9u
bWVudCkuCisgICAgMy4gSWYgaXRlcmF0b3JSZWNvcmQuW1tEb25lXV0gaXMgZmFsc2UsIHRoZW4K
KyAgICAgICAgYS4gTGV0IG5leHQgYmUgSXRlcmF0b3JTdGVwKGl0ZXJhdG9yUmVjb3JkKS4KKyAg
ICAgICAgYi4gSWYgbmV4dCBpcyBhbiBhYnJ1cHQgY29tcGxldGlvbiwgc2V0IGl0ZXJhdG9yUmVj
b3JkLltbRG9uZV1dIHRvIHRydWUuCisgICAgICAgIGMuIFJldHVybklmQWJydXB0KG5leHQpLgor
ICAgICAgICBkLiBJZiBuZXh0IGlzIGZhbHNlLCBzZXQgaXRlcmF0b3JSZWNvcmQuW1tEb25lXV0g
dG8gdHJ1ZS4KKyAgICAgICAgZS4gRWxzZSwKKyAgICAgICAgICAgIGkuIExldCB2IGJlIEl0ZXJh
dG9yVmFsdWUobmV4dCkuCisgICAgICAgICAgICBpaS4gSWYgdiBpcyBhbiBhYnJ1cHQgY29tcGxl
dGlvbiwgc2V0IGl0ZXJhdG9yUmVjb3JkLltbRG9uZV1dIHRvIHRydWUuCisgICAgICAgICAgICBp
aWkuIFJldHVybklmQWJydXB0KHYpLgorICAgIFsuLi5dCisgICAgNy4gUmV0dXJuIEluaXRpYWxp
emVSZWZlcmVuY2VkQmluZGluZyhsaHMsIHYpLgorCistLS0qLworQXJyYXkucHJvdG90eXBlW1N5
bWJvbC5pdGVyYXRvcl0gPSBmdW5jdGlvbiogKCkgeworICAgIGlmICh0aGlzLmxlbmd0aCA+IDAp
IHsKKyAgICAgICAgeWllbGQgdGhpc1swXTsKKyAgICB9CisgICAgaWYgKHRoaXMubGVuZ3RoID4g
MSkgeworICAgICAgICB5aWVsZCB0aGlzWzFdOworICAgIH0KKyAgICBpZiAodGhpcy5sZW5ndGgg
PiAyKSB7CisgICAgICAgIHlpZWxkIDQyOworICAgIH0KK307CisKK3ZhciBjYWxsQ291bnQgPSAw
OwordmFyIG9iaiA9IHsKKyAgbWV0aG9kKFt4LCB5LCB6XSA9IFsxLCAyLCAzXSkgeworICAgIGFz
c2VydC5zYW1lVmFsdWUoeCwgMSk7CisgICAgYXNzZXJ0LnNhbWVWYWx1ZSh5LCAyKTsKKyAgICBh
c3NlcnQuc2FtZVZhbHVlKHosIDQyKTsKKyAgICBjYWxsQ291bnQgPSBjYWxsQ291bnQgKyAxOwor
ICB9Cit9OworCitvYmoubWV0aG9kKCk7Cithc3NlcnQuc2FtZVZhbHVlKGNhbGxDb3VudCwgMSwg
J21ldGhvZCBpbnZva2VkIGV4YWN0bHkgb25jZScpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvb2JqZWN0L2RzdHIvbWV0aC1kZmx0LWFyeS1w
dHJuLXJlc3QtaWQtZGlyZWN0LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhw
cmVzc2lvbnMvb2JqZWN0L2RzdHIvbWV0aC1kZmx0LWFyeS1wdHJuLXJlc3QtaWQtZGlyZWN0Lmpz
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmY5ZDBlZmViM2NlOTM5NzUzY2YxNzM4MThkMDhmMTBkZjQ0OTA3OTcKLS0t
IC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9u
cy9vYmplY3QvZHN0ci9tZXRoLWRmbHQtYXJ5LXB0cm4tcmVzdC1pZC1kaXJlY3QuanMKQEAgLTAs
MCArMSw2NyBAQAorLy8gVGhpcyBmaWxlIHdhcyBwcm9jZWR1cmFsbHkgZ2VuZXJhdGVkIGZyb20g
dGhlIGZvbGxvd2luZyBzb3VyY2VzOgorLy8gLSBzcmMvZHN0ci1iaW5kaW5nL2FyeS1wdHJuLXJl
c3QtaWQtZGlyZWN0LmNhc2UKKy8vIC0gc3JjL2RzdHItYmluZGluZy9kZWZhdWx0L21ldGgtZGZs
dC50ZW1wbGF0ZQorLyotLS0KK2Rlc2NyaXB0aW9uOiBMb25lIHJlc3QgZWxlbWVudCAoZGlyZWN0
IGJpbmRpbmcpIChtZXRob2QgKGRlZmF1bHQgcGFyYW1ldGVyKSkKK2VzaWQ6IHNlYy1ydW50aW1l
LXNlbWFudGljcy1kZWZpbmVtZXRob2QKK2ZlYXR1cmVzOiBbZGVzdHJ1Y3R1cmluZy1iaW5kaW5n
LCBkZWZhdWx0LXBhcmFtZXRlcnNdCitmbGFnczogW2dlbmVyYXRlZF0KK2luY2x1ZGVzOiBbY29t
cGFyZUFycmF5LmpzXQoraW5mbzogfAorICAgIE1ldGhvZERlZmluaXRpb24gOiBQcm9wZXJ0eU5h
bWUgKCBTdHJpY3RGb3JtYWxQYXJhbWV0ZXJzICkgeyBGdW5jdGlvbkJvZHkgfQorCisgICAgWy4u
Ll0KKyAgICA2LiBMZXQgY2xvc3VyZSBiZSBGdW5jdGlvbkNyZWF0ZShraW5kLCBTdHJpY3RGb3Jt
YWxQYXJhbWV0ZXJzLAorICAgICAgIEZ1bmN0aW9uQm9keSwgc2NvcGUsIHN0cmljdCkuIElmIGZ1
bmN0aW9uUHJvdG90eXBlIHdhcyBwYXNzZWQgYXMgYQorICAgICAgIHBhcmFtZXRlciB0aGVuIHBh
c3MgaXRzIHZhbHVlIGFzIHRoZSBmdW5jdGlvblByb3RvdHlwZSBvcHRpb25hbCBhcmd1bWVudAor
ICAgICAgIG9mIEZ1bmN0aW9uQ3JlYXRlLgorICAgIFsuLi5dCisKKyAgICA5LjIuMSBbW0NhbGxd
XSAoIHRoaXNBcmd1bWVudCwgYXJndW1lbnRzTGlzdCkKKworICAgIFsuLi5dCisgICAgNy4gTGV0
IHJlc3VsdCBiZSBPcmRpbmFyeUNhbGxFdmFsdWF0ZUJvZHkoRiwgYXJndW1lbnRzTGlzdCkuCisg
ICAgWy4uLl0KKworICAgIDkuMi4xLjMgT3JkaW5hcnlDYWxsRXZhbHVhdGVCb2R5ICggRiwgYXJn
dW1lbnRzTGlzdCApCisKKyAgICAxLiBMZXQgc3RhdHVzIGJlIEZ1bmN0aW9uRGVjbGFyYXRpb25J
bnN0YW50aWF0aW9uKEYsIGFyZ3VtZW50c0xpc3QpLgorICAgIFsuLi5dCisKKyAgICA5LjIuMTIg
RnVuY3Rpb25EZWNsYXJhdGlvbkluc3RhbnRpYXRpb24oZnVuYywgYXJndW1lbnRzTGlzdCkKKwor
ICAgIFsuLi5dCisgICAgMjMuIExldCBpdGVyYXRvclJlY29yZCBiZSBSZWNvcmQge1tbaXRlcmF0
b3JdXToKKyAgICAgICAgQ3JlYXRlTGlzdEl0ZXJhdG9yKGFyZ3VtZW50c0xpc3QpLCBbW2RvbmVd
XTogZmFsc2V9LgorICAgIDI0LiBJZiBoYXNEdXBsaWNhdGVzIGlzIHRydWUsIHRoZW4KKyAgICAg
ICAgWy4uLl0KKyAgICAyNS4gRWxzZSwKKyAgICAgICAgYi4gTGV0IGZvcm1hbFN0YXR1cyBiZSBJ
dGVyYXRvckJpbmRpbmdJbml0aWFsaXphdGlvbiBmb3IgZm9ybWFscyB3aXRoCisgICAgICAgICAg
IGl0ZXJhdG9yUmVjb3JkIGFuZCBlbnYgYXMgYXJndW1lbnRzLgorICAgIFsuLi5dCisKKyAgICBS
dW50aW1lIFNlbWFudGljczogSXRlcmF0b3JCaW5kaW5nSW5pdGlhbGl6YXRpb24KKworICAgIEJp
bmRpbmdSZXN0RWxlbWVudCA6IC4uLiBCaW5kaW5nSWRlbnRpZmllcgorCisgICAgWy4uLl0KKyAg
ICAyLiBMZXQgQSBiZSAhIEFycmF5Q3JlYXRlKDApLgorICAgIDMuIExldCBuIGJlIDAuCisgICAg
NC4gUmVwZWF0LAorICAgICAgICBbLi4uXQorICAgICAgICBmLiBQZXJmb3JtICEgQ3JlYXRlRGF0
YVByb3BlcnR5T3JUaHJvdyhBLCAhIFRvU3RyaW5nKG4pLCBuZXh0VmFsdWUpLgorICAgICAgICBn
LiBTZXQgbiB0byBuICsgMS4KKworLS0tKi8KKwordmFyIGNhbGxDb3VudCA9IDA7Cit2YXIgb2Jq
ID0geworICBtZXRob2QoWy4uLnhdID0gWzFdKSB7CisgICAgYXNzZXJ0KEFycmF5LmlzQXJyYXko
eCkpOworICAgIGFzc2VydC5jb21wYXJlQXJyYXkoeCwgWzFdKTsKKyAgICBjYWxsQ291bnQgPSBj
YWxsQ291bnQgKyAxOworICB9Cit9OworCitvYmoubWV0aG9kKCk7Cithc3NlcnQuc2FtZVZhbHVl
KGNhbGxDb3VudCwgMSwgJ21ldGhvZCBpbnZva2VkIGV4YWN0bHkgb25jZScpOwpkaWZmIC0tZ2l0
IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvdGFnZ2VkLXRlbXBs
YXRlL2ludmFsaWQtZXNjYXBlLXNlcXVlbmNlcy5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xh
bmd1YWdlL2V4cHJlc3Npb25zL3RhZ2dlZC10ZW1wbGF0ZS9pbnZhbGlkLWVzY2FwZS1zZXF1ZW5j
ZXMuanMKaW5kZXggYTc5YzY0NGUyN2I1OGExNjc0NTJhZmNiZTkwMGI0ZTg4Y2UwOTRiMi4uNDc5
YTljOGFhNzJkN2ZkM2Y3MmJjMzQ4YTA2MzI5MmQ0MzhmNGRiYyAxMDA2NDQKLS0tIGEvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvdGFnZ2VkLXRlbXBsYXRlL2ludmFs
aWQtZXNjYXBlLXNlcXVlbmNlcy5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFn
ZS9leHByZXNzaW9ucy90YWdnZWQtdGVtcGxhdGUvaW52YWxpZC1lc2NhcGUtc2VxdWVuY2VzLmpz
CkBAIC0xNSw2ICsxNSwxNiBAQCBlc2lkOiBzZWMtdGVtcGxhdGUtbGl0ZXJhbC1sZXhpY2FsLWNv
bXBvbmVudHMKICAgYXNzZXJ0LnNhbWVWYWx1ZShzdHJzLnJhd1swXSwgJ1xcMScpOwogfSlgXDFg
OwogCisoc3RycyA9PiB7CisgIGFzc2VydC5zYW1lVmFsdWUoc3Ryc1swXSwgdW5kZWZpbmVkLCAn
Q29va2VkIHRlbXBsYXRlIHZhbHVlIHNob3VsZCBiZSB1bmRlZmluZWQgZm9yIGlsbGVnYWwgZXNj
YXBlIHNlcXVlbmNlcycpOworICBhc3NlcnQuc2FtZVZhbHVlKHN0cnMucmF3WzBdLCAnXFw4Jyk7
Cit9KWBcOGA7CisKKyhzdHJzID0+IHsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShzdHJzWzBdLCB1bmRl
ZmluZWQsICdDb29rZWQgdGVtcGxhdGUgdmFsdWUgc2hvdWxkIGJlIHVuZGVmaW5lZCBmb3IgaWxs
ZWdhbCBlc2NhcGUgc2VxdWVuY2VzJyk7CisgIGFzc2VydC5zYW1lVmFsdWUoc3Rycy5yYXdbMF0s
ICdcXDknKTsKK30pYFw5YDsKKwogKHN0cnMgPT4gewogICBhc3NlcnQuc2FtZVZhbHVlKHN0cnNb
MF0sIHVuZGVmaW5lZCwgJ0Nvb2tlZCB0ZW1wbGF0ZSB2YWx1ZSBzaG91bGQgYmUgdW5kZWZpbmVk
IGZvciBpbGxlZ2FsIGVzY2FwZSBzZXF1ZW5jZXMnKTsKICAgYXNzZXJ0LnNhbWVWYWx1ZShzdHJz
LnJhd1swXSwgJ1xceGcnKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1
YWdlL2V4cHJlc3Npb25zL3RlbXBsYXRlLWxpdGVyYWwvaW52YWxpZC1sZWdhY3ktb2N0YWwtZXNj
YXBlLXNlcXVlbmNlLTkuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNz
aW9ucy90ZW1wbGF0ZS1saXRlcmFsL2ludmFsaWQtbGVnYWN5LW9jdGFsLWVzY2FwZS1zZXF1ZW5j
ZS05LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmZlNjk1NDViOWFjMmMxMmVkY2E2NWQ4ZTY2ZTExZjRiNGZhM2Uy
ZDMKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHBy
ZXNzaW9ucy90ZW1wbGF0ZS1saXRlcmFsL2ludmFsaWQtbGVnYWN5LW9jdGFsLWVzY2FwZS1zZXF1
ZW5jZS05LmpzCkBAIC0wLDAgKzEsMTcgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBTb255IElu
dGVyYWN0aXZlIEVudGVydGFpbm1lbnQgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhp
cyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5T
RSBmaWxlLgorLyotLS0KK2VzaWQ6IHNlYy10ZW1wbGF0ZS1saXRlcmFsLWxleGljYWwtY29tcG9u
ZW50cworZGVzY3JpcHRpb246ID4KKyAgICBJbnZhbGlkIG9jdGFsIGVzY2FwZSBzZXF1ZW5jZSAo
cmVnYXJkbGVzcyBvZiB0aGUgcHJlc2VuY2Ugb2YgQW5uZXggQikKK2luZm86IHwKKyAgICBBIGNv
bmZvcm1pbmcgaW1wbGVtZW50YXRpb24gbXVzdCBub3QgdXNlIHRoZSBleHRlbmRlZCBkZWZpbml0
aW9uIG9mCisgICAgRXNjYXBlU2VxdWVuY2UgZGVzY3JpYmVkIGluIEIuMS4yIHdoZW4gcGFyc2lu
ZyBhIFRlbXBsYXRlQ2hhcmFjdGVyLgorbmVnYXRpdmU6CisgIHBoYXNlOiBwYXJzZQorICB0eXBl
OiBTeW50YXhFcnJvcgorLS0tKi8KKworJERPTk9URVZBTFVBVEUoKTsKKworYFw5YDsKZGlmZiAt
LWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2lkZW50aWZpZXJzL3BhcnQtendq
LXp3bmotZXNjYXBlZC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2lkZW50aWZp
ZXJzL3BhcnQtendqLXp3bmotZXNjYXBlZC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45MzRiMzExYmE3MDEyY2Uz
NTQ3ODVjZjlhNTkzMjkxODg1MTI3NTNiCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvbGFuZ3VhZ2UvaWRlbnRpZmllcnMvcGFydC16d2otenduai1lc2NhcGVkLmpzCkBA
IC0wLDAgKzEsMTYgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBBZGFtIEtsdWJhbGwuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNl
bnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCithdXRob3I6IEFkYW0gS2x1
YmFsbAorZXNpZDogc2VjLW5hbWVzLWFuZC1rZXl3b3JkcworZGVzY3JpcHRpb246IHplcm8gd2lk
dGggam9pbmVyIGFuZCB6ZXJvIHdpZHRoIG5vbi1qb2luZXIgYXJlIHZhbGlkIGlkZW50aWZpZXIg
cGFydHMKKy0tLSovCisKK3ZhciAkID0gMTsKK3ZhciAkXHUyMDBEID0gMjsKK3ZhciAkXHUyMDBD
ID0gMzsKKworYXNzZXJ0LnNhbWVWYWx1ZSgkLCAxKTsKK2Fzc2VydC5zYW1lVmFsdWUoJFx1MjAw
RCwgMik7Cithc3NlcnQuc2FtZVZhbHVlKCRcdTIwMEMsIDMpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvaWRlbnRpZmllcnMvc3RhcnQtendqLWVzY2FwZWQuanMg
Yi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9pZGVudGlmaWVycy9zdGFydC16d2otZXNj
YXBlZC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5hNjc3ZWRkY2YwOTEyOWJkYWIwZmQ3ZTcwOWYwMDY0Y2UxNWQ5
ZTJjCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvaWRl
bnRpZmllcnMvc3RhcnQtendqLWVzY2FwZWQuanMKQEAgLTAsMCArMSwxNSBAQAorLy8gQ29weXJp
Z2h0IChDKSAyMDIwIEFkYW0gS2x1YmFsbC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMg
Y29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0Ug
ZmlsZS4KKworLyotLS0KK2F1dGhvcjogQWRhbSBLbHViYWxsCitlc2lkOiBzZWMtbmFtZXMtYW5k
LWtleXdvcmRzCitkZXNjcmlwdGlvbjogemVybyB3aWR0aCBqb2luZXIgaXMgbm90IGEgdmFsaWQg
aWRlbnRpZmllciBzdGFydAorbmVnYXRpdmU6CisgIHBoYXNlOiBwYXJzZQorICB0eXBlOiBTeW50
YXhFcnJvcgorLS0tKi8KKworJERPTk9URVZBTFVBVEUoKTsKKwordmFyIFx1MjAwRDsKZGlmZiAt
LWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2lkZW50aWZpZXJzL3N0YXJ0LXp3
bmotZXNjYXBlZC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2lkZW50aWZpZXJz
L3N0YXJ0LXp3bmotZXNjYXBlZC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hZThjOTIwODk5N2ZjYzBmYmQ0ZmVj
MGYwNjA1ZWVlMDNlZDIyOTVkCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvbGFuZ3VhZ2UvaWRlbnRpZmllcnMvc3RhcnQtenduai1lc2NhcGVkLmpzCkBAIC0wLDAgKzEs
MTUgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBBZGFtIEtsdWJhbGwuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5k
IGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCithdXRob3I6IEFkYW0gS2x1YmFsbAorZXNp
ZDogc2VjLW5hbWVzLWFuZC1rZXl3b3JkcworZGVzY3JpcHRpb246IHplcm8gd2lkdGggbm9uLWpv
aW5lciBpcyBub3QgYSB2YWxpZCBpZGVudGlmaWVyIHN0YXJ0CituZWdhdGl2ZToKKyAgcGhhc2U6
IHBhcnNlCisgIHR5cGU6IFN5bnRheEVycm9yCistLS0qLworCiskRE9OT1RFVkFMVUFURSgpOwor
Cit2YXIgXHUyMDBDOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uv
bGl0ZXJhbHMvc3RyaW5nL2xlZ2FjeS1ub24tb2N0YWwtZXNjYXBlLXNlcXVlbmNlLTktc3RyaWN0
LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvbGl0ZXJhbHMvc3RyaW5nL2xlZ2Fj
eS1ub24tb2N0YWwtZXNjYXBlLXNlcXVlbmNlLTktc3RyaWN0LmpzCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmJlZDUy
N2ZiZTk3ZGI0YmYyYjljNDNiZTJhM2YxZjQ4MDdiNTA4NzUKLS0tIC9kZXYvbnVsbAorKysgYi9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9saXRlcmFscy9zdHJpbmcvbGVnYWN5LW5vbi1v
Y3RhbC1lc2NhcGUtc2VxdWVuY2UtOS1zdHJpY3QuanMKQEAgLTAsMCArMSwxOSBAQAorLy8gQ29w
eXJpZ2h0IChDKSAyMDIwIFNvbnkgSW50ZXJhY3RpdmUgRW50ZXJ0YWlubWVudCBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNl
bnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisvKi0tLQorZXNpZDogc2VjLWxpdGVyYWxz
LXN0cmluZy1saXRlcmFscworZGVzY3JpcHRpb246ID4KKyAgICBMZWdhY3lPY3RhbEVzY2FwZVNl
cXVlbmNlIGlzIG5vdCBlbmFibGVkIGluIHN0cmljdCBtb2RlIGNvZGUKKyAgICAocmVnYXJkbGVz
cyBvZiB0aGUgcHJlc2VuY2Ugb2YgQW5uZXggQikKK2luZm86IHwKKyAgICBBIGNvbmZvcm1pbmcg
aW1wbGVtZW50YXRpb24sIHdoZW4gcHJvY2Vzc2luZyBzdHJpY3QgbW9kZSBjb2RlLCBtdXN0IG5v
dCBleHRlbmQgdGhlCisgICAgc3ludGF4IG9mIEVzY2FwZVNlcXVlbmNlIHRvIGluY2x1ZGUgTGVn
YWN5T2N0YWxFc2NhcGVTZXF1ZW5jZSBhcyBkZXNjcmliZWQgaW4gQi4xLjIuCitmbGFnczogW29u
bHlTdHJpY3RdCituZWdhdGl2ZToKKyAgcGhhc2U6IHBhcnNlCisgIHR5cGU6IFN5bnRheEVycm9y
CistLS0qLworCiskRE9OT1RFVkFMVUFURSgpOworCisnXDknOwpkaWZmIC0tZ2l0IGEvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9hc3luYy1nZW5lcmF0b3IvZHN0ci9h
cnktaW5pdC1pdGVyLWdldC1lcnItYXJyYXktcHJvdG90eXBlLmpzIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9hc3luYy1nZW5lcmF0b3IvZHN0ci9hcnktaW5pdC1p
dGVyLWdldC1lcnItYXJyYXktcHJvdG90eXBlLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQwMjRlOGEwMjBlZjk3
OWE0NjE3NTc2YWI5MDY5NGY2YWVhODBhOTkKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2FzeW5jLWdlbmVyYXRvci9kc3RyL2FyeS1p
bml0LWl0ZXItZ2V0LWVyci1hcnJheS1wcm90b3R5cGUuanMKQEAgLTAsMCArMSw0NCBAQAorLy8g
VGhpcyBmaWxlIHdhcyBwcm9jZWR1cmFsbHkgZ2VuZXJhdGVkIGZyb20gdGhlIGZvbGxvd2luZyBz
b3VyY2VzOgorLy8gLSBzcmMvZHN0ci1iaW5kaW5nL2FyeS1pbml0LWl0ZXItZ2V0LWVyci1hcnJh
eS1wcm90b3R5cGUuY2FzZQorLy8gLSBzcmMvZHN0ci1iaW5kaW5nL2Vycm9yL2FzeW5jLWdlbi1m
dW5jLWRlY2wudGVtcGxhdGUKKy8qLS0tCitkZXNjcmlwdGlvbjogQWJydXB0IGNvbXBsZXRpb24g
cmV0dXJuZWQgYnkgR2V0SXRlcmF0b3IgKGFzeW5jIGdlbmVyYXRvciBmdW5jdGlvbiBkZWNsYXJh
dGlvbikKK2VzaWQ6IHNlYy1hc3luY2dlbmVyYXRvci1kZWZpbml0aW9ucy1pbnN0YW50aWF0ZWZ1
bmN0aW9ub2JqZWN0CitmZWF0dXJlczogW1N5bWJvbC5pdGVyYXRvciwgYXN5bmMtaXRlcmF0aW9u
XQorZmxhZ3M6IFtnZW5lcmF0ZWRdCitpbmZvOiB8CisgICAgQXN5bmNHZW5lcmF0b3JEZWNsYXJh
dGlvbiA6IGFzeW5jIFtubyBMaW5lVGVybWluYXRvciBoZXJlXSBmdW5jdGlvbiAqIEJpbmRpbmdJ
ZGVudGlmaWVyCisgICAgICAgICggRm9ybWFsUGFyYW1ldGVycyApIHsgQXN5bmNHZW5lcmF0b3JC
b2R5IH0KKworICAgICAgICBbLi4uXQorICAgICAgICAzLiBMZXQgRiBiZSAhIEFzeW5jR2VuZXJh
dG9yRnVuY3Rpb25DcmVhdGUoTm9ybWFsLCBGb3JtYWxQYXJhbWV0ZXJzLCBBc3luY0dlbmVyYXRv
ckJvZHksCisgICAgICAgICAgICBzY29wZSwgc3RyaWN0KS4KKyAgICAgICAgWy4uLl0KKworICAg
IFJ1bnRpbWUgU2VtYW50aWNzOiBCaW5kaW5nSW5pdGlhbGl6YXRpb24KKworICAgIEJpbmRpbmdQ
YXR0ZXJuIDogQXJyYXlCaW5kaW5nUGF0dGVybgorCisgICAgMS4gTGV0IGl0ZXJhdG9yUmVjb3Jk
IGJlID8gR2V0SXRlcmF0b3IodmFsdWUpLgorCisgICAgR2V0SXRlcmF0b3IgKCBvYmogWyAsIGhp
bnQgWyAsIG1ldGhvZCBdIF0gKQorCisgICAgWy4uLl0KKyAgICA0LiBMZXQgaXRlcmF0b3IgYmUg
PyBDYWxsKG1ldGhvZCwgb2JqKS4KKworICAgIENhbGwgKCBGLCBWIFsgLCBhcmd1bWVudHNMaXN0
IF0gKQorCisgICAgWy4uLl0KKyAgICAyLiBJZiBJc0NhbGxhYmxlKEYpIGlzIGZhbHNlLCB0aHJv
dyBhIFR5cGVFcnJvciBleGNlcHRpb24uCisKKy0tLSovCitkZWxldGUgQXJyYXkucHJvdG90eXBl
W1N5bWJvbC5pdGVyYXRvcl07CisKKworYXN5bmMgZnVuY3Rpb24qIGYoW3gsIHksIHpdKSB7Cisg
IAorfTsKKworYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsIGZ1bmN0aW9uKCkgeworICBmKFsxLCAy
LCAzXSk7Cit9KTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0
YXRlbWVudHMvYXN5bmMtZ2VuZXJhdG9yL2RzdHIvYXJ5LXB0cm4tZWxlbS1pZC1pdGVyLXZhbC1h
cnJheS1wcm90b3R5cGUuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1l
bnRzL2FzeW5jLWdlbmVyYXRvci9kc3RyL2FyeS1wdHJuLWVsZW0taWQtaXRlci12YWwtYXJyYXkt
cHJvdG90eXBlLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjUyMzA5ZWVkZTA2NWYzOTAxMmEwMWQ3MmQ1NjI0ZWI2
ZWZlOTQxOTcKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFn
ZS9zdGF0ZW1lbnRzL2FzeW5jLWdlbmVyYXRvci9kc3RyL2FyeS1wdHJuLWVsZW0taWQtaXRlci12
YWwtYXJyYXktcHJvdG90eXBlLmpzCkBAIC0wLDAgKzEsNjAgQEAKKy8vIFRoaXMgZmlsZSB3YXMg
cHJvY2VkdXJhbGx5IGdlbmVyYXRlZCBmcm9tIHRoZSBmb2xsb3dpbmcgc291cmNlczoKKy8vIC0g
c3JjL2RzdHItYmluZGluZy9hcnktcHRybi1lbGVtLWlkLWl0ZXItdmFsLWFycmF5LXByb3RvdHlw
ZS5jYXNlCisvLyAtIHNyYy9kc3RyLWJpbmRpbmcvZGVmYXVsdC9hc3luYy1nZW4tZnVuYy1kZWNs
LnRlbXBsYXRlCisvKi0tLQorZGVzY3JpcHRpb246IEFycmF5IGRlc3RydWN0dXJpbmcgdXNlcyBv
dmVycmlkZW4gQXJyYXkucHJvdG90eXBlW1N5bWJvbC5pdGVyYXRvcl0gKGFzeW5jIGdlbmVyYXRv
ciBmdW5jdGlvbiBkZWNsYXJhdGlvbikKK2VzaWQ6IHNlYy1hc3luY2dlbmVyYXRvci1kZWZpbml0
aW9ucy1pbnN0YW50aWF0ZWZ1bmN0aW9ub2JqZWN0CitmZWF0dXJlczogW1N5bWJvbC5pdGVyYXRv
ciwgZ2VuZXJhdG9ycywgYXN5bmMtaXRlcmF0aW9uXQorZmxhZ3M6IFtnZW5lcmF0ZWQsIGFzeW5j
XQoraW5mbzogfAorICAgIEFzeW5jR2VuZXJhdG9yRGVjbGFyYXRpb24gOiBhc3luYyBbbm8gTGlu
ZVRlcm1pbmF0b3IgaGVyZV0gZnVuY3Rpb24gKiBCaW5kaW5nSWRlbnRpZmllcgorICAgICAgICAo
IEZvcm1hbFBhcmFtZXRlcnMgKSB7IEFzeW5jR2VuZXJhdG9yQm9keSB9CisKKyAgICAgICAgWy4u
Ll0KKyAgICAgICAgMy4gTGV0IEYgYmUgISBBc3luY0dlbmVyYXRvckZ1bmN0aW9uQ3JlYXRlKE5v
cm1hbCwgRm9ybWFsUGFyYW1ldGVycywgQXN5bmNHZW5lcmF0b3JCb2R5LAorICAgICAgICAgICAg
c2NvcGUsIHN0cmljdCkuCisgICAgICAgIFsuLi5dCisKKworICAgIFJ1bnRpbWUgU2VtYW50aWNz
OiBJdGVyYXRvckJpbmRpbmdJbml0aWFsaXphdGlvbgorCisgICAgU2luZ2xlTmFtZUJpbmRpbmcg
OiBCaW5kaW5nSWRlbnRpZmllciBJbml0aWFsaXplcl9vcHQKKworICAgIDEuIExldCBiaW5kaW5n
SWQgYmUgU3RyaW5nVmFsdWUgb2YgQmluZGluZ0lkZW50aWZpZXIuCisgICAgMi4gTGV0IGxocyBi
ZSA/IFJlc29sdmVCaW5kaW5nKGJpbmRpbmdJZCwgZW52aXJvbm1lbnQpLgorICAgIDMuIElmIGl0
ZXJhdG9yUmVjb3JkLltbRG9uZV1dIGlzIGZhbHNlLCB0aGVuCisgICAgICAgIGEuIExldCBuZXh0
IGJlIEl0ZXJhdG9yU3RlcChpdGVyYXRvclJlY29yZCkuCisgICAgICAgIGIuIElmIG5leHQgaXMg
YW4gYWJydXB0IGNvbXBsZXRpb24sIHNldCBpdGVyYXRvclJlY29yZC5bW0RvbmVdXSB0byB0cnVl
LgorICAgICAgICBjLiBSZXR1cm5JZkFicnVwdChuZXh0KS4KKyAgICAgICAgZC4gSWYgbmV4dCBp
cyBmYWxzZSwgc2V0IGl0ZXJhdG9yUmVjb3JkLltbRG9uZV1dIHRvIHRydWUuCisgICAgICAgIGUu
IEVsc2UsCisgICAgICAgICAgICBpLiBMZXQgdiBiZSBJdGVyYXRvclZhbHVlKG5leHQpLgorICAg
ICAgICAgICAgaWkuIElmIHYgaXMgYW4gYWJydXB0IGNvbXBsZXRpb24sIHNldCBpdGVyYXRvclJl
Y29yZC5bW0RvbmVdXSB0byB0cnVlLgorICAgICAgICAgICAgaWlpLiBSZXR1cm5JZkFicnVwdCh2
KS4KKyAgICBbLi4uXQorICAgIDcuIFJldHVybiBJbml0aWFsaXplUmVmZXJlbmNlZEJpbmRpbmco
bGhzLCB2KS4KKworLS0tKi8KK0FycmF5LnByb3RvdHlwZVtTeW1ib2wuaXRlcmF0b3JdID0gZnVu
Y3Rpb24qICgpIHsKKyAgICBpZiAodGhpcy5sZW5ndGggPiAwKSB7CisgICAgICAgIHlpZWxkIHRo
aXNbMF07CisgICAgfQorICAgIGlmICh0aGlzLmxlbmd0aCA+IDEpIHsKKyAgICAgICAgeWllbGQg
dGhpc1sxXTsKKyAgICB9CisgICAgaWYgKHRoaXMubGVuZ3RoID4gMikgeworICAgICAgICB5aWVs
ZCA0MjsKKyAgICB9Cit9OworCisKK3ZhciBjYWxsQ291bnQgPSAwOworYXN5bmMgZnVuY3Rpb24q
IGYoW3gsIHksIHpdKSB7CisgIGFzc2VydC5zYW1lVmFsdWUoeCwgMSk7CisgIGFzc2VydC5zYW1l
VmFsdWUoeSwgMik7CisgIGFzc2VydC5zYW1lVmFsdWUoeiwgNDIpOworICBjYWxsQ291bnQgPSBj
YWxsQ291bnQgKyAxOworfTsKK2YoWzEsIDIsIDNdKS5uZXh0KCkudGhlbigoKSA9PiB7CisgICAg
YXNzZXJ0LnNhbWVWYWx1ZShjYWxsQ291bnQsIDEsICdpbnZva2VkIGV4YWN0bHkgb25jZScpOwor
fSkudGhlbigkRE9ORSwgJERPTkUpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
bGFuZ3VhZ2Uvc3RhdGVtZW50cy9hc3luYy1nZW5lcmF0b3IvZHN0ci9hcnktcHRybi1yZXN0LWlk
LWRpcmVjdC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvYXN5
bmMtZ2VuZXJhdG9yL2RzdHIvYXJ5LXB0cm4tcmVzdC1pZC1kaXJlY3QuanMKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
OTgyMzA5NWUzYzVkYzFmN2QyNDU1MmU2ZDA4OGE4ZTgzNDlhOTk4ZgotLS0gL2Rldi9udWxsCisr
KyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvYXN5bmMtZ2VuZXJh
dG9yL2RzdHIvYXJ5LXB0cm4tcmVzdC1pZC1kaXJlY3QuanMKQEAgLTAsMCArMSw0MyBAQAorLy8g
VGhpcyBmaWxlIHdhcyBwcm9jZWR1cmFsbHkgZ2VuZXJhdGVkIGZyb20gdGhlIGZvbGxvd2luZyBz
b3VyY2VzOgorLy8gLSBzcmMvZHN0ci1iaW5kaW5nL2FyeS1wdHJuLXJlc3QtaWQtZGlyZWN0LmNh
c2UKKy8vIC0gc3JjL2RzdHItYmluZGluZy9kZWZhdWx0L2FzeW5jLWdlbi1mdW5jLWRlY2wudGVt
cGxhdGUKKy8qLS0tCitkZXNjcmlwdGlvbjogTG9uZSByZXN0IGVsZW1lbnQgKGRpcmVjdCBiaW5k
aW5nKSAoYXN5bmMgZ2VuZXJhdG9yIGZ1bmN0aW9uIGRlY2xhcmF0aW9uKQorZXNpZDogc2VjLWFz
eW5jZ2VuZXJhdG9yLWRlZmluaXRpb25zLWluc3RhbnRpYXRlZnVuY3Rpb25vYmplY3QKK2ZlYXR1
cmVzOiBbYXN5bmMtaXRlcmF0aW9uXQorZmxhZ3M6IFtnZW5lcmF0ZWQsIGFzeW5jXQoraW5jbHVk
ZXM6IFtjb21wYXJlQXJyYXkuanNdCitpbmZvOiB8CisgICAgQXN5bmNHZW5lcmF0b3JEZWNsYXJh
dGlvbiA6IGFzeW5jIFtubyBMaW5lVGVybWluYXRvciBoZXJlXSBmdW5jdGlvbiAqIEJpbmRpbmdJ
ZGVudGlmaWVyCisgICAgICAgICggRm9ybWFsUGFyYW1ldGVycyApIHsgQXN5bmNHZW5lcmF0b3JC
b2R5IH0KKworICAgICAgICBbLi4uXQorICAgICAgICAzLiBMZXQgRiBiZSAhIEFzeW5jR2VuZXJh
dG9yRnVuY3Rpb25DcmVhdGUoTm9ybWFsLCBGb3JtYWxQYXJhbWV0ZXJzLCBBc3luY0dlbmVyYXRv
ckJvZHksCisgICAgICAgICAgICBzY29wZSwgc3RyaWN0KS4KKyAgICAgICAgWy4uLl0KKworCisg
ICAgUnVudGltZSBTZW1hbnRpY3M6IEl0ZXJhdG9yQmluZGluZ0luaXRpYWxpemF0aW9uCisKKyAg
ICBCaW5kaW5nUmVzdEVsZW1lbnQgOiAuLi4gQmluZGluZ0lkZW50aWZpZXIKKworICAgIFsuLi5d
CisgICAgMi4gTGV0IEEgYmUgISBBcnJheUNyZWF0ZSgwKS4KKyAgICAzLiBMZXQgbiBiZSAwLgor
ICAgIDQuIFJlcGVhdCwKKyAgICAgICAgWy4uLl0KKyAgICAgICAgZi4gUGVyZm9ybSAhIENyZWF0
ZURhdGFQcm9wZXJ0eU9yVGhyb3coQSwgISBUb1N0cmluZyhuKSwgbmV4dFZhbHVlKS4KKyAgICAg
ICAgZy4gU2V0IG4gdG8gbiArIDEuCisKKy0tLSovCisKKwordmFyIGNhbGxDb3VudCA9IDA7Cith
c3luYyBmdW5jdGlvbiogZihbLi4ueF0pIHsKKyAgYXNzZXJ0KEFycmF5LmlzQXJyYXkoeCkpOwor
ICBhc3NlcnQuY29tcGFyZUFycmF5KHgsIFsxXSk7CisgIGNhbGxDb3VudCA9IGNhbGxDb3VudCAr
IDE7Cit9OworZihbMV0pLm5leHQoKS50aGVuKCgpID0+IHsKKyAgICBhc3NlcnQuc2FtZVZhbHVl
KGNhbGxDb3VudCwgMSwgJ2ludm9rZWQgZXhhY3RseSBvbmNlJyk7Cit9KS50aGVuKCRET05FLCAk
RE9ORSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1l
bnRzL2FzeW5jLWdlbmVyYXRvci9kc3RyL2RmbHQtYXJ5LWluaXQtaXRlci1nZXQtZXJyLWFycmF5
LXByb3RvdHlwZS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMv
YXN5bmMtZ2VuZXJhdG9yL2RzdHIvZGZsdC1hcnktaW5pdC1pdGVyLWdldC1lcnItYXJyYXktcHJv
dG90eXBlLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRlNWNiY2I5NTc0MTNmZDBmYzI1ZWU4ZTEyMDgzMDdmMmMy
ZGJmMjIKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9z
dGF0ZW1lbnRzL2FzeW5jLWdlbmVyYXRvci9kc3RyL2RmbHQtYXJ5LWluaXQtaXRlci1nZXQtZXJy
LWFycmF5LXByb3RvdHlwZS5qcwpAQCAtMCwwICsxLDQ0IEBACisvLyBUaGlzIGZpbGUgd2FzIHBy
b2NlZHVyYWxseSBnZW5lcmF0ZWQgZnJvbSB0aGUgZm9sbG93aW5nIHNvdXJjZXM6CisvLyAtIHNy
Yy9kc3RyLWJpbmRpbmcvYXJ5LWluaXQtaXRlci1nZXQtZXJyLWFycmF5LXByb3RvdHlwZS5jYXNl
CisvLyAtIHNyYy9kc3RyLWJpbmRpbmcvZXJyb3IvYXN5bmMtZ2VuLWZ1bmMtZGVjbC1kZmx0LnRl
bXBsYXRlCisvKi0tLQorZGVzY3JpcHRpb246IEFicnVwdCBjb21wbGV0aW9uIHJldHVybmVkIGJ5
IEdldEl0ZXJhdG9yIChhc3luYyBnZW5lcmF0b3IgZnVuY3Rpb24gZGVjbGFyYXRpb24gKGRlZmF1
bHQgcGFyYW1ldGVyKSkKK2VzaWQ6IHNlYy1hc3luY2dlbmVyYXRvci1kZWZpbml0aW9ucy1pbnN0
YW50aWF0ZWZ1bmN0aW9ub2JqZWN0CitmZWF0dXJlczogW1N5bWJvbC5pdGVyYXRvciwgYXN5bmMt
aXRlcmF0aW9uXQorZmxhZ3M6IFtnZW5lcmF0ZWRdCitpbmZvOiB8CisgICAgQXN5bmNHZW5lcmF0
b3JEZWNsYXJhdGlvbiA6IGFzeW5jIFtubyBMaW5lVGVybWluYXRvciBoZXJlXSBmdW5jdGlvbiAq
IEJpbmRpbmdJZGVudGlmaWVyCisgICAgICAgICggRm9ybWFsUGFyYW1ldGVycyApIHsgQXN5bmNH
ZW5lcmF0b3JCb2R5IH0KKworICAgICAgICBbLi4uXQorICAgICAgICAzLiBMZXQgRiBiZSAhIEFz
eW5jR2VuZXJhdG9yRnVuY3Rpb25DcmVhdGUoTm9ybWFsLCBGb3JtYWxQYXJhbWV0ZXJzLCBBc3lu
Y0dlbmVyYXRvckJvZHksCisgICAgICAgICAgICBzY29wZSwgc3RyaWN0KS4KKyAgICAgICAgWy4u
Ll0KKworICAgIFJ1bnRpbWUgU2VtYW50aWNzOiBCaW5kaW5nSW5pdGlhbGl6YXRpb24KKworICAg
IEJpbmRpbmdQYXR0ZXJuIDogQXJyYXlCaW5kaW5nUGF0dGVybgorCisgICAgMS4gTGV0IGl0ZXJh
dG9yUmVjb3JkIGJlID8gR2V0SXRlcmF0b3IodmFsdWUpLgorCisgICAgR2V0SXRlcmF0b3IgKCBv
YmogWyAsIGhpbnQgWyAsIG1ldGhvZCBdIF0gKQorCisgICAgWy4uLl0KKyAgICA0LiBMZXQgaXRl
cmF0b3IgYmUgPyBDYWxsKG1ldGhvZCwgb2JqKS4KKworICAgIENhbGwgKCBGLCBWIFsgLCBhcmd1
bWVudHNMaXN0IF0gKQorCisgICAgWy4uLl0KKyAgICAyLiBJZiBJc0NhbGxhYmxlKEYpIGlzIGZh
bHNlLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24uCisKKy0tLSovCitkZWxldGUgQXJyYXku
cHJvdG90eXBlW1N5bWJvbC5pdGVyYXRvcl07CisKKworYXN5bmMgZnVuY3Rpb24qIGYoW3gsIHks
IHpdID0gWzEsIDIsIDNdKSB7CisgIAorfTsKKworYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsIGZ1
bmN0aW9uKCkgeworICBmKCk7Cit9KTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2xhbmd1YWdlL3N0YXRlbWVudHMvYXN5bmMtZ2VuZXJhdG9yL2RzdHIvZGZsdC1hcnktcHRybi1l
bGVtLWlkLWl0ZXItdmFsLWFycmF5LXByb3RvdHlwZS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2xhbmd1YWdlL3N0YXRlbWVudHMvYXN5bmMtZ2VuZXJhdG9yL2RzdHIvZGZsdC1hcnktcHRybi1l
bGVtLWlkLWl0ZXItdmFsLWFycmF5LXByb3RvdHlwZS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xZDBkMGMxNjY4
ZmI0MjlhYzczZGM3MTQ4YzdmNGQ1M2M2OGM1MWQ4Ci0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9hc3luYy1nZW5lcmF0b3IvZHN0ci9k
Zmx0LWFyeS1wdHJuLWVsZW0taWQtaXRlci12YWwtYXJyYXktcHJvdG90eXBlLmpzCkBAIC0wLDAg
KzEsNjAgQEAKKy8vIFRoaXMgZmlsZSB3YXMgcHJvY2VkdXJhbGx5IGdlbmVyYXRlZCBmcm9tIHRo
ZSBmb2xsb3dpbmcgc291cmNlczoKKy8vIC0gc3JjL2RzdHItYmluZGluZy9hcnktcHRybi1lbGVt
LWlkLWl0ZXItdmFsLWFycmF5LXByb3RvdHlwZS5jYXNlCisvLyAtIHNyYy9kc3RyLWJpbmRpbmcv
ZGVmYXVsdC9hc3luYy1nZW4tZnVuYy1kZWNsLWRmbHQudGVtcGxhdGUKKy8qLS0tCitkZXNjcmlw
dGlvbjogQXJyYXkgZGVzdHJ1Y3R1cmluZyB1c2VzIG92ZXJyaWRlbiBBcnJheS5wcm90b3R5cGVb
U3ltYm9sLml0ZXJhdG9yXSAoYXN5bmMgZ2VuZXJhdG9yIGZ1bmN0aW9uIGRlY2xhcmF0aW9uIChk
ZWZhdWx0IHBhcmFtZXRlcikpCitlc2lkOiBzZWMtYXN5bmNnZW5lcmF0b3ItZGVmaW5pdGlvbnMt
aW5zdGFudGlhdGVmdW5jdGlvbm9iamVjdAorZmVhdHVyZXM6IFtTeW1ib2wuaXRlcmF0b3IsIGdl
bmVyYXRvcnMsIGFzeW5jLWl0ZXJhdGlvbl0KK2ZsYWdzOiBbZ2VuZXJhdGVkLCBhc3luY10KK2lu
Zm86IHwKKyAgICBBc3luY0dlbmVyYXRvckRlY2xhcmF0aW9uIDogYXN5bmMgW25vIExpbmVUZXJt
aW5hdG9yIGhlcmVdIGZ1bmN0aW9uICogQmluZGluZ0lkZW50aWZpZXIKKyAgICAgICAgKCBGb3Jt
YWxQYXJhbWV0ZXJzICkgeyBBc3luY0dlbmVyYXRvckJvZHkgfQorCisgICAgICAgIFsuLi5dCisg
ICAgICAgIDMuIExldCBGIGJlICEgQXN5bmNHZW5lcmF0b3JGdW5jdGlvbkNyZWF0ZShOb3JtYWws
IEZvcm1hbFBhcmFtZXRlcnMsIEFzeW5jR2VuZXJhdG9yQm9keSwKKyAgICAgICAgICAgIHNjb3Bl
LCBzdHJpY3QpLgorICAgICAgICBbLi4uXQorCisKKyAgICBSdW50aW1lIFNlbWFudGljczogSXRl
cmF0b3JCaW5kaW5nSW5pdGlhbGl6YXRpb24KKworICAgIFNpbmdsZU5hbWVCaW5kaW5nIDogQmlu
ZGluZ0lkZW50aWZpZXIgSW5pdGlhbGl6ZXJfb3B0CisKKyAgICAxLiBMZXQgYmluZGluZ0lkIGJl
IFN0cmluZ1ZhbHVlIG9mIEJpbmRpbmdJZGVudGlmaWVyLgorICAgIDIuIExldCBsaHMgYmUgPyBS
ZXNvbHZlQmluZGluZyhiaW5kaW5nSWQsIGVudmlyb25tZW50KS4KKyAgICAzLiBJZiBpdGVyYXRv
clJlY29yZC5bW0RvbmVdXSBpcyBmYWxzZSwgdGhlbgorICAgICAgICBhLiBMZXQgbmV4dCBiZSBJ
dGVyYXRvclN0ZXAoaXRlcmF0b3JSZWNvcmQpLgorICAgICAgICBiLiBJZiBuZXh0IGlzIGFuIGFi
cnVwdCBjb21wbGV0aW9uLCBzZXQgaXRlcmF0b3JSZWNvcmQuW1tEb25lXV0gdG8gdHJ1ZS4KKyAg
ICAgICAgYy4gUmV0dXJuSWZBYnJ1cHQobmV4dCkuCisgICAgICAgIGQuIElmIG5leHQgaXMgZmFs
c2UsIHNldCBpdGVyYXRvclJlY29yZC5bW0RvbmVdXSB0byB0cnVlLgorICAgICAgICBlLiBFbHNl
LAorICAgICAgICAgICAgaS4gTGV0IHYgYmUgSXRlcmF0b3JWYWx1ZShuZXh0KS4KKyAgICAgICAg
ICAgIGlpLiBJZiB2IGlzIGFuIGFicnVwdCBjb21wbGV0aW9uLCBzZXQgaXRlcmF0b3JSZWNvcmQu
W1tEb25lXV0gdG8gdHJ1ZS4KKyAgICAgICAgICAgIGlpaS4gUmV0dXJuSWZBYnJ1cHQodikuCisg
ICAgWy4uLl0KKyAgICA3LiBSZXR1cm4gSW5pdGlhbGl6ZVJlZmVyZW5jZWRCaW5kaW5nKGxocywg
dikuCisKKy0tLSovCitBcnJheS5wcm90b3R5cGVbU3ltYm9sLml0ZXJhdG9yXSA9IGZ1bmN0aW9u
KiAoKSB7CisgICAgaWYgKHRoaXMubGVuZ3RoID4gMCkgeworICAgICAgICB5aWVsZCB0aGlzWzBd
OworICAgIH0KKyAgICBpZiAodGhpcy5sZW5ndGggPiAxKSB7CisgICAgICAgIHlpZWxkIHRoaXNb
MV07CisgICAgfQorICAgIGlmICh0aGlzLmxlbmd0aCA+IDIpIHsKKyAgICAgICAgeWllbGQgNDI7
CisgICAgfQorfTsKKworCit2YXIgY2FsbENvdW50ID0gMDsKK2FzeW5jIGZ1bmN0aW9uKiBmKFt4
LCB5LCB6XSA9IFsxLCAyLCAzXSkgeworICBhc3NlcnQuc2FtZVZhbHVlKHgsIDEpOworICBhc3Nl
cnQuc2FtZVZhbHVlKHksIDIpOworICBhc3NlcnQuc2FtZVZhbHVlKHosIDQyKTsKKyAgY2FsbENv
dW50ID0gY2FsbENvdW50ICsgMTsKK307CitmKCkubmV4dCgpLnRoZW4oKCkgPT4geworICAgIGFz
c2VydC5zYW1lVmFsdWUoY2FsbENvdW50LCAxLCAnaW52b2tlZCBleGFjdGx5IG9uY2UnKTsKK30p
LnRoZW4oJERPTkUsICRET05FKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xh
bmd1YWdlL3N0YXRlbWVudHMvYXN5bmMtZ2VuZXJhdG9yL2RzdHIvZGZsdC1hcnktcHRybi1yZXN0
LWlkLWRpcmVjdC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMv
YXN5bmMtZ2VuZXJhdG9yL2RzdHIvZGZsdC1hcnktcHRybi1yZXN0LWlkLWRpcmVjdC5qcwpuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4wZGY0MzhmYWRkODJkMjRhZTY3MGE0NDJhODc4OTk2NjQ2ZDY3NDBlCi0tLSAvZGV2
L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9hc3lu
Yy1nZW5lcmF0b3IvZHN0ci9kZmx0LWFyeS1wdHJuLXJlc3QtaWQtZGlyZWN0LmpzCkBAIC0wLDAg
KzEsNDMgQEAKKy8vIFRoaXMgZmlsZSB3YXMgcHJvY2VkdXJhbGx5IGdlbmVyYXRlZCBmcm9tIHRo
ZSBmb2xsb3dpbmcgc291cmNlczoKKy8vIC0gc3JjL2RzdHItYmluZGluZy9hcnktcHRybi1yZXN0
LWlkLWRpcmVjdC5jYXNlCisvLyAtIHNyYy9kc3RyLWJpbmRpbmcvZGVmYXVsdC9hc3luYy1nZW4t
ZnVuYy1kZWNsLWRmbHQudGVtcGxhdGUKKy8qLS0tCitkZXNjcmlwdGlvbjogTG9uZSByZXN0IGVs
ZW1lbnQgKGRpcmVjdCBiaW5kaW5nKSAoYXN5bmMgZ2VuZXJhdG9yIGZ1bmN0aW9uIGRlY2xhcmF0
aW9uIChkZWZhdWx0IHBhcmFtZXRlcikpCitlc2lkOiBzZWMtYXN5bmNnZW5lcmF0b3ItZGVmaW5p
dGlvbnMtaW5zdGFudGlhdGVmdW5jdGlvbm9iamVjdAorZmVhdHVyZXM6IFthc3luYy1pdGVyYXRp
b25dCitmbGFnczogW2dlbmVyYXRlZCwgYXN5bmNdCitpbmNsdWRlczogW2NvbXBhcmVBcnJheS5q
c10KK2luZm86IHwKKyAgICBBc3luY0dlbmVyYXRvckRlY2xhcmF0aW9uIDogYXN5bmMgW25vIExp
bmVUZXJtaW5hdG9yIGhlcmVdIGZ1bmN0aW9uICogQmluZGluZ0lkZW50aWZpZXIKKyAgICAgICAg
KCBGb3JtYWxQYXJhbWV0ZXJzICkgeyBBc3luY0dlbmVyYXRvckJvZHkgfQorCisgICAgICAgIFsu
Li5dCisgICAgICAgIDMuIExldCBGIGJlICEgQXN5bmNHZW5lcmF0b3JGdW5jdGlvbkNyZWF0ZShO
b3JtYWwsIEZvcm1hbFBhcmFtZXRlcnMsIEFzeW5jR2VuZXJhdG9yQm9keSwKKyAgICAgICAgICAg
IHNjb3BlLCBzdHJpY3QpLgorICAgICAgICBbLi4uXQorCisKKyAgICBSdW50aW1lIFNlbWFudGlj
czogSXRlcmF0b3JCaW5kaW5nSW5pdGlhbGl6YXRpb24KKworICAgIEJpbmRpbmdSZXN0RWxlbWVu
dCA6IC4uLiBCaW5kaW5nSWRlbnRpZmllcgorCisgICAgWy4uLl0KKyAgICAyLiBMZXQgQSBiZSAh
IEFycmF5Q3JlYXRlKDApLgorICAgIDMuIExldCBuIGJlIDAuCisgICAgNC4gUmVwZWF0LAorICAg
ICAgICBbLi4uXQorICAgICAgICBmLiBQZXJmb3JtICEgQ3JlYXRlRGF0YVByb3BlcnR5T3JUaHJv
dyhBLCAhIFRvU3RyaW5nKG4pLCBuZXh0VmFsdWUpLgorICAgICAgICBnLiBTZXQgbiB0byBuICsg
MS4KKworLS0tKi8KKworCit2YXIgY2FsbENvdW50ID0gMDsKK2FzeW5jIGZ1bmN0aW9uKiBmKFsu
Li54XSA9IFsxXSkgeworICBhc3NlcnQoQXJyYXkuaXNBcnJheSh4KSk7CisgIGFzc2VydC5jb21w
YXJlQXJyYXkoeCwgWzFdKTsKKyAgY2FsbENvdW50ID0gY2FsbENvdW50ICsgMTsKK307CitmKCku
bmV4dCgpLnRoZW4oKCkgPT4geworICAgIGFzc2VydC5zYW1lVmFsdWUoY2FsbENvdW50LCAxLCAn
aW52b2tlZCBleGFjdGx5IG9uY2UnKTsKK30pLnRoZW4oJERPTkUsICRET05FKTsKZGlmZiAtLWdp
dCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZHN0ci9h
c3luYy1nZW4tbWV0aC1hcnktaW5pdC1pdGVyLWdldC1lcnItYXJyYXktcHJvdG90eXBlLmpzIGIv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9kc3RyL2FzeW5j
LWdlbi1tZXRoLWFyeS1pbml0LWl0ZXItZ2V0LWVyci1hcnJheS1wcm90b3R5cGUuanMKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNzc0MGU0OWEwMWFiZGYwZGJiNTA3NDA4ZjQwYzJjNjExODQ2OTczMgotLS0gL2Rldi9u
dWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3Mv
ZHN0ci9hc3luYy1nZW4tbWV0aC1hcnktaW5pdC1pdGVyLWdldC1lcnItYXJyYXktcHJvdG90eXBl
LmpzCkBAIC0wLDAgKzEsNzEgQEAKKy8vIFRoaXMgZmlsZSB3YXMgcHJvY2VkdXJhbGx5IGdlbmVy
YXRlZCBmcm9tIHRoZSBmb2xsb3dpbmcgc291cmNlczoKKy8vIC0gc3JjL2RzdHItYmluZGluZy9h
cnktaW5pdC1pdGVyLWdldC1lcnItYXJyYXktcHJvdG90eXBlLmNhc2UKKy8vIC0gc3JjL2RzdHIt
YmluZGluZy9lcnJvci9jbHMtZGVjbC1hc3luYy1nZW4tbWV0aC50ZW1wbGF0ZQorLyotLS0KK2Rl
c2NyaXB0aW9uOiBBYnJ1cHQgY29tcGxldGlvbiByZXR1cm5lZCBieSBHZXRJdGVyYXRvciAoY2xh
c3MgZXhwcmVzc2lvbiBtZXRob2QpCitlc2lkOiBzZWMtY2xhc3MtZGVmaW5pdGlvbnMtcnVudGlt
ZS1zZW1hbnRpY3MtZXZhbHVhdGlvbgorZmVhdHVyZXM6IFtTeW1ib2wuaXRlcmF0b3IsIGFzeW5j
LWl0ZXJhdGlvbl0KK2ZsYWdzOiBbZ2VuZXJhdGVkXQoraW5mbzogfAorICAgIENsYXNzRGVjbGFy
YXRpb24gOiBjbGFzcyBCaW5kaW5nSWRlbnRpZmllciBDbGFzc1RhaWwKKworICAgIDEuIExldCBj
bGFzc05hbWUgYmUgU3RyaW5nVmFsdWUgb2YgQmluZGluZ0lkZW50aWZpZXIuCisgICAgMi4gTGV0
IHZhbHVlIGJlIHRoZSByZXN1bHQgb2YgQ2xhc3NEZWZpbml0aW9uRXZhbHVhdGlvbiBvZiBDbGFz
c1RhaWwgd2l0aAorICAgICAgIGFyZ3VtZW50IGNsYXNzTmFtZS4KKyAgICBbLi4uXQorCisgICAg
MTQuNS4xNCBSdW50aW1lIFNlbWFudGljczogQ2xhc3NEZWZpbml0aW9uRXZhbHVhdGlvbgorCisg
ICAgMjEuIEZvciBlYWNoIENsYXNzRWxlbWVudCBtIGluIG9yZGVyIGZyb20gbWV0aG9kcworICAg
ICAgICBhLiBJZiBJc1N0YXRpYyBvZiBtIGlzIGZhbHNlLCB0aGVuCisgICAgICAgICAgIGkuIExl
dCBzdGF0dXMgYmUgdGhlIHJlc3VsdCBvZiBwZXJmb3JtaW5nCisgICAgICAgICAgICAgIFByb3Bl
cnR5RGVmaW5pdGlvbkV2YWx1YXRpb24gZm9yIG0gd2l0aCBhcmd1bWVudHMgcHJvdG8gYW5kCisg
ICAgICAgICAgICAgIGZhbHNlLgorICAgICAgICBbLi4uXQorCisgICAgUnVudGltZSBTZW1hbnRp
Y3M6IFByb3BlcnR5RGVmaW5pdGlvbkV2YWx1YXRpb24KKworICAgIEFzeW5jR2VuZXJhdG9yTWV0
aG9kIDoKKyAgICAgICAgYXN5bmMgW25vIExpbmVUZXJtaW5hdG9yIGhlcmVdICogUHJvcGVydHlO
YW1lICggVW5pcXVlRm9ybWFsUGFyYW1ldGVycyApCisgICAgICAgICAgICB7IEFzeW5jR2VuZXJh
dG9yQm9keSB9CisKKyAgICAxLiBMZXQgcHJvcEtleSBiZSB0aGUgcmVzdWx0IG9mIGV2YWx1YXRp
bmcgUHJvcGVydHlOYW1lLgorICAgIDIuIFJldHVybklmQWJydXB0KHByb3BLZXkpLgorICAgIDMu
IElmIHRoZSBmdW5jdGlvbiBjb2RlIGZvciB0aGlzIEFzeW5jR2VuZXJhdG9yTWV0aG9kIGlzIHN0
cmljdCBtb2RlIGNvZGUsIGxldCBzdHJpY3QgYmUgdHJ1ZS4KKyAgICAgICBPdGhlcndpc2UgbGV0
IHN0cmljdCBiZSBmYWxzZS4KKyAgICA0LiBMZXQgc2NvcGUgYmUgdGhlIHJ1bm5pbmcgZXhlY3V0
aW9uIGNvbnRleHQncyBMZXhpY2FsRW52aXJvbm1lbnQuCisgICAgNS4gTGV0IGNsb3N1cmUgYmUg
ISBBc3luY0dlbmVyYXRvckZ1bmN0aW9uQ3JlYXRlKE1ldGhvZCwgVW5pcXVlRm9ybWFsUGFyYW1l
dGVycywKKyAgICAgICBBc3luY0dlbmVyYXRvckJvZHksIHNjb3BlLCBzdHJpY3QpLgorICAgIFsu
Li5dCisKKyAgICBSdW50aW1lIFNlbWFudGljczogQmluZGluZ0luaXRpYWxpemF0aW9uCisKKyAg
ICBCaW5kaW5nUGF0dGVybiA6IEFycmF5QmluZGluZ1BhdHRlcm4KKworICAgIDEuIExldCBpdGVy
YXRvclJlY29yZCBiZSA/IEdldEl0ZXJhdG9yKHZhbHVlKS4KKworICAgIEdldEl0ZXJhdG9yICgg
b2JqIFsgLCBoaW50IFsgLCBtZXRob2QgXSBdICkKKworICAgIFsuLi5dCisgICAgNC4gTGV0IGl0
ZXJhdG9yIGJlID8gQ2FsbChtZXRob2QsIG9iaikuCisKKyAgICBDYWxsICggRiwgViBbICwgYXJn
dW1lbnRzTGlzdCBdICkKKworICAgIFsuLi5dCisgICAgMi4gSWYgSXNDYWxsYWJsZShGKSBpcyBm
YWxzZSwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgorCistLS0qLworZGVsZXRlIEFycmF5
LnByb3RvdHlwZVtTeW1ib2wuaXRlcmF0b3JdOworCisKK2NsYXNzIEMgeworICBhc3luYyAqbWV0
aG9kKFt4LCB5LCB6XSkgeworICAgIAorICB9Cit9OworCit2YXIgbWV0aG9kID0gQy5wcm90b3R5
cGUubWV0aG9kOworCithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgZnVuY3Rpb24oKSB7CisgIG1l
dGhvZChbMSwgMiwgM10pOworfSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9s
YW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2RzdHIvYXN5bmMtZ2VuLW1ldGgtYXJ5LXB0cm4tZWxl
bS1pZC1pdGVyLXZhbC1hcnJheS1wcm90b3R5cGUuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9s
YW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2RzdHIvYXN5bmMtZ2VuLW1ldGgtYXJ5LXB0cm4tZWxl
bS1pZC1pdGVyLXZhbC1hcnJheS1wcm90b3R5cGUuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDUyYjc5ZDNiYWU5
M2QxYzc5MmZiOTdlYmI4ODEyZjcyNDY5NTE4ZgotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZHN0ci9hc3luYy1nZW4tbWV0
aC1hcnktcHRybi1lbGVtLWlkLWl0ZXItdmFsLWFycmF5LXByb3RvdHlwZS5qcwpAQCAtMCwwICsx
LDg2IEBACisvLyBUaGlzIGZpbGUgd2FzIHByb2NlZHVyYWxseSBnZW5lcmF0ZWQgZnJvbSB0aGUg
Zm9sbG93aW5nIHNvdXJjZXM6CisvLyAtIHNyYy9kc3RyLWJpbmRpbmcvYXJ5LXB0cm4tZWxlbS1p
ZC1pdGVyLXZhbC1hcnJheS1wcm90b3R5cGUuY2FzZQorLy8gLSBzcmMvZHN0ci1iaW5kaW5nL2Rl
ZmF1bHQvY2xzLWRlY2wtYXN5bmMtZ2VuLW1ldGgudGVtcGxhdGUKKy8qLS0tCitkZXNjcmlwdGlv
bjogQXJyYXkgZGVzdHJ1Y3R1cmluZyB1c2VzIG92ZXJyaWRlbiBBcnJheS5wcm90b3R5cGVbU3lt
Ym9sLml0ZXJhdG9yXSAoY2xhc3MgZXhwcmVzc2lvbiBtZXRob2QpCitlc2lkOiBzZWMtY2xhc3Mt
ZGVmaW5pdGlvbnMtcnVudGltZS1zZW1hbnRpY3MtZXZhbHVhdGlvbgorZmVhdHVyZXM6IFtTeW1i
b2wuaXRlcmF0b3IsIGdlbmVyYXRvcnMsIGFzeW5jLWl0ZXJhdGlvbl0KK2ZsYWdzOiBbZ2VuZXJh
dGVkLCBhc3luY10KK2luZm86IHwKKyAgICBDbGFzc0RlY2xhcmF0aW9uIDogY2xhc3MgQmluZGlu
Z0lkZW50aWZpZXIgQ2xhc3NUYWlsCisKKyAgICAxLiBMZXQgY2xhc3NOYW1lIGJlIFN0cmluZ1Zh
bHVlIG9mIEJpbmRpbmdJZGVudGlmaWVyLgorICAgIDIuIExldCB2YWx1ZSBiZSB0aGUgcmVzdWx0
IG9mIENsYXNzRGVmaW5pdGlvbkV2YWx1YXRpb24gb2YgQ2xhc3NUYWlsIHdpdGgKKyAgICAgICBh
cmd1bWVudCBjbGFzc05hbWUuCisgICAgWy4uLl0KKworICAgIDE0LjUuMTQgUnVudGltZSBTZW1h
bnRpY3M6IENsYXNzRGVmaW5pdGlvbkV2YWx1YXRpb24KKworICAgIDIxLiBGb3IgZWFjaCBDbGFz
c0VsZW1lbnQgbSBpbiBvcmRlciBmcm9tIG1ldGhvZHMKKyAgICAgICAgYS4gSWYgSXNTdGF0aWMg
b2YgbSBpcyBmYWxzZSwgdGhlbgorICAgICAgICAgICBpLiBMZXQgc3RhdHVzIGJlIHRoZSByZXN1
bHQgb2YgcGVyZm9ybWluZworICAgICAgICAgICAgICBQcm9wZXJ0eURlZmluaXRpb25FdmFsdWF0
aW9uIGZvciBtIHdpdGggYXJndW1lbnRzIHByb3RvIGFuZAorICAgICAgICAgICAgICBmYWxzZS4K
KyAgICAgICAgWy4uLl0KKworICAgIFJ1bnRpbWUgU2VtYW50aWNzOiBQcm9wZXJ0eURlZmluaXRp
b25FdmFsdWF0aW9uCisKKyAgICBBc3luY0dlbmVyYXRvck1ldGhvZCA6CisgICAgICAgIGFzeW5j
IFtubyBMaW5lVGVybWluYXRvciBoZXJlXSAqIFByb3BlcnR5TmFtZSAoIFVuaXF1ZUZvcm1hbFBh
cmFtZXRlcnMgKQorICAgICAgICAgICAgeyBBc3luY0dlbmVyYXRvckJvZHkgfQorCisgICAgMS4g
TGV0IHByb3BLZXkgYmUgdGhlIHJlc3VsdCBvZiBldmFsdWF0aW5nIFByb3BlcnR5TmFtZS4KKyAg
ICAyLiBSZXR1cm5JZkFicnVwdChwcm9wS2V5KS4KKyAgICAzLiBJZiB0aGUgZnVuY3Rpb24gY29k
ZSBmb3IgdGhpcyBBc3luY0dlbmVyYXRvck1ldGhvZCBpcyBzdHJpY3QgbW9kZSBjb2RlLCBsZXQg
c3RyaWN0IGJlIHRydWUuCisgICAgICAgT3RoZXJ3aXNlIGxldCBzdHJpY3QgYmUgZmFsc2UuCisg
ICAgNC4gTGV0IHNjb3BlIGJlIHRoZSBydW5uaW5nIGV4ZWN1dGlvbiBjb250ZXh0J3MgTGV4aWNh
bEVudmlyb25tZW50LgorICAgIDUuIExldCBjbG9zdXJlIGJlICEgQXN5bmNHZW5lcmF0b3JGdW5j
dGlvbkNyZWF0ZShNZXRob2QsIFVuaXF1ZUZvcm1hbFBhcmFtZXRlcnMsCisgICAgICAgQXN5bmNH
ZW5lcmF0b3JCb2R5LCBzY29wZSwgc3RyaWN0KS4KKyAgICBbLi4uXQorCisKKyAgICBSdW50aW1l
IFNlbWFudGljczogSXRlcmF0b3JCaW5kaW5nSW5pdGlhbGl6YXRpb24KKworICAgIFNpbmdsZU5h
bWVCaW5kaW5nIDogQmluZGluZ0lkZW50aWZpZXIgSW5pdGlhbGl6ZXJfb3B0CisKKyAgICAxLiBM
ZXQgYmluZGluZ0lkIGJlIFN0cmluZ1ZhbHVlIG9mIEJpbmRpbmdJZGVudGlmaWVyLgorICAgIDIu
IExldCBsaHMgYmUgPyBSZXNvbHZlQmluZGluZyhiaW5kaW5nSWQsIGVudmlyb25tZW50KS4KKyAg
ICAzLiBJZiBpdGVyYXRvclJlY29yZC5bW0RvbmVdXSBpcyBmYWxzZSwgdGhlbgorICAgICAgICBh
LiBMZXQgbmV4dCBiZSBJdGVyYXRvclN0ZXAoaXRlcmF0b3JSZWNvcmQpLgorICAgICAgICBiLiBJ
ZiBuZXh0IGlzIGFuIGFicnVwdCBjb21wbGV0aW9uLCBzZXQgaXRlcmF0b3JSZWNvcmQuW1tEb25l
XV0gdG8gdHJ1ZS4KKyAgICAgICAgYy4gUmV0dXJuSWZBYnJ1cHQobmV4dCkuCisgICAgICAgIGQu
IElmIG5leHQgaXMgZmFsc2UsIHNldCBpdGVyYXRvclJlY29yZC5bW0RvbmVdXSB0byB0cnVlLgor
ICAgICAgICBlLiBFbHNlLAorICAgICAgICAgICAgaS4gTGV0IHYgYmUgSXRlcmF0b3JWYWx1ZShu
ZXh0KS4KKyAgICAgICAgICAgIGlpLiBJZiB2IGlzIGFuIGFicnVwdCBjb21wbGV0aW9uLCBzZXQg
aXRlcmF0b3JSZWNvcmQuW1tEb25lXV0gdG8gdHJ1ZS4KKyAgICAgICAgICAgIGlpaS4gUmV0dXJu
SWZBYnJ1cHQodikuCisgICAgWy4uLl0KKyAgICA3LiBSZXR1cm4gSW5pdGlhbGl6ZVJlZmVyZW5j
ZWRCaW5kaW5nKGxocywgdikuCisKKy0tLSovCitBcnJheS5wcm90b3R5cGVbU3ltYm9sLml0ZXJh
dG9yXSA9IGZ1bmN0aW9uKiAoKSB7CisgICAgaWYgKHRoaXMubGVuZ3RoID4gMCkgeworICAgICAg
ICB5aWVsZCB0aGlzWzBdOworICAgIH0KKyAgICBpZiAodGhpcy5sZW5ndGggPiAxKSB7CisgICAg
ICAgIHlpZWxkIHRoaXNbMV07CisgICAgfQorICAgIGlmICh0aGlzLmxlbmd0aCA+IDIpIHsKKyAg
ICAgICAgeWllbGQgNDI7CisgICAgfQorfTsKKworCit2YXIgY2FsbENvdW50ID0gMDsKK2NsYXNz
IEMgeworICBhc3luYyAqbWV0aG9kKFt4LCB5LCB6XSkgeworICAgIGFzc2VydC5zYW1lVmFsdWUo
eCwgMSk7CisgICAgYXNzZXJ0LnNhbWVWYWx1ZSh5LCAyKTsKKyAgICBhc3NlcnQuc2FtZVZhbHVl
KHosIDQyKTsKKyAgICBjYWxsQ291bnQgPSBjYWxsQ291bnQgKyAxOworICB9Cit9OworCituZXcg
QygpLm1ldGhvZChbMSwgMiwgM10pLm5leHQoKS50aGVuKCgpID0+IHsKKyAgICBhc3NlcnQuc2Ft
ZVZhbHVlKGNhbGxDb3VudCwgMSwgJ2ludm9rZWQgZXhhY3RseSBvbmNlJyk7ICAgIAorfSkudGhl
bigkRE9ORSwgJERPTkUpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3Vh
Z2Uvc3RhdGVtZW50cy9jbGFzcy9kc3RyL2FzeW5jLWdlbi1tZXRoLWFyeS1wdHJuLXJlc3QtaWQt
ZGlyZWN0LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFz
cy9kc3RyL2FzeW5jLWdlbi1tZXRoLWFyeS1wdHJuLXJlc3QtaWQtZGlyZWN0LmpzCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdkZTRkODRiYTRjYWVjOWUwOTU3ZWFkNmQ4NjFlNDYzZDkzMWE1OTAKLS0tIC9kZXYvbnVs
bAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Rz
dHIvYXN5bmMtZ2VuLW1ldGgtYXJ5LXB0cm4tcmVzdC1pZC1kaXJlY3QuanMKQEAgLTAsMCArMSw2
OSBAQAorLy8gVGhpcyBmaWxlIHdhcyBwcm9jZWR1cmFsbHkgZ2VuZXJhdGVkIGZyb20gdGhlIGZv
bGxvd2luZyBzb3VyY2VzOgorLy8gLSBzcmMvZHN0ci1iaW5kaW5nL2FyeS1wdHJuLXJlc3QtaWQt
ZGlyZWN0LmNhc2UKKy8vIC0gc3JjL2RzdHItYmluZGluZy9kZWZhdWx0L2Nscy1kZWNsLWFzeW5j
LWdlbi1tZXRoLnRlbXBsYXRlCisvKi0tLQorZGVzY3JpcHRpb246IExvbmUgcmVzdCBlbGVtZW50
IChkaXJlY3QgYmluZGluZykgKGNsYXNzIGV4cHJlc3Npb24gbWV0aG9kKQorZXNpZDogc2VjLWNs
YXNzLWRlZmluaXRpb25zLXJ1bnRpbWUtc2VtYW50aWNzLWV2YWx1YXRpb24KK2ZlYXR1cmVzOiBb
YXN5bmMtaXRlcmF0aW9uXQorZmxhZ3M6IFtnZW5lcmF0ZWQsIGFzeW5jXQoraW5jbHVkZXM6IFtj
b21wYXJlQXJyYXkuanNdCitpbmZvOiB8CisgICAgQ2xhc3NEZWNsYXJhdGlvbiA6IGNsYXNzIEJp
bmRpbmdJZGVudGlmaWVyIENsYXNzVGFpbAorCisgICAgMS4gTGV0IGNsYXNzTmFtZSBiZSBTdHJp
bmdWYWx1ZSBvZiBCaW5kaW5nSWRlbnRpZmllci4KKyAgICAyLiBMZXQgdmFsdWUgYmUgdGhlIHJl
c3VsdCBvZiBDbGFzc0RlZmluaXRpb25FdmFsdWF0aW9uIG9mIENsYXNzVGFpbCB3aXRoCisgICAg
ICAgYXJndW1lbnQgY2xhc3NOYW1lLgorICAgIFsuLi5dCisKKyAgICAxNC41LjE0IFJ1bnRpbWUg
U2VtYW50aWNzOiBDbGFzc0RlZmluaXRpb25FdmFsdWF0aW9uCisKKyAgICAyMS4gRm9yIGVhY2gg
Q2xhc3NFbGVtZW50IG0gaW4gb3JkZXIgZnJvbSBtZXRob2RzCisgICAgICAgIGEuIElmIElzU3Rh
dGljIG9mIG0gaXMgZmFsc2UsIHRoZW4KKyAgICAgICAgICAgaS4gTGV0IHN0YXR1cyBiZSB0aGUg
cmVzdWx0IG9mIHBlcmZvcm1pbmcKKyAgICAgICAgICAgICAgUHJvcGVydHlEZWZpbml0aW9uRXZh
bHVhdGlvbiBmb3IgbSB3aXRoIGFyZ3VtZW50cyBwcm90byBhbmQKKyAgICAgICAgICAgICAgZmFs
c2UuCisgICAgICAgIFsuLi5dCisKKyAgICBSdW50aW1lIFNlbWFudGljczogUHJvcGVydHlEZWZp
bml0aW9uRXZhbHVhdGlvbgorCisgICAgQXN5bmNHZW5lcmF0b3JNZXRob2QgOgorICAgICAgICBh
c3luYyBbbm8gTGluZVRlcm1pbmF0b3IgaGVyZV0gKiBQcm9wZXJ0eU5hbWUgKCBVbmlxdWVGb3Jt
YWxQYXJhbWV0ZXJzICkKKyAgICAgICAgICAgIHsgQXN5bmNHZW5lcmF0b3JCb2R5IH0KKworICAg
IDEuIExldCBwcm9wS2V5IGJlIHRoZSByZXN1bHQgb2YgZXZhbHVhdGluZyBQcm9wZXJ0eU5hbWUu
CisgICAgMi4gUmV0dXJuSWZBYnJ1cHQocHJvcEtleSkuCisgICAgMy4gSWYgdGhlIGZ1bmN0aW9u
IGNvZGUgZm9yIHRoaXMgQXN5bmNHZW5lcmF0b3JNZXRob2QgaXMgc3RyaWN0IG1vZGUgY29kZSwg
bGV0IHN0cmljdCBiZSB0cnVlLgorICAgICAgIE90aGVyd2lzZSBsZXQgc3RyaWN0IGJlIGZhbHNl
LgorICAgIDQuIExldCBzY29wZSBiZSB0aGUgcnVubmluZyBleGVjdXRpb24gY29udGV4dCdzIExl
eGljYWxFbnZpcm9ubWVudC4KKyAgICA1LiBMZXQgY2xvc3VyZSBiZSAhIEFzeW5jR2VuZXJhdG9y
RnVuY3Rpb25DcmVhdGUoTWV0aG9kLCBVbmlxdWVGb3JtYWxQYXJhbWV0ZXJzLAorICAgICAgIEFz
eW5jR2VuZXJhdG9yQm9keSwgc2NvcGUsIHN0cmljdCkuCisgICAgWy4uLl0KKworCisgICAgUnVu
dGltZSBTZW1hbnRpY3M6IEl0ZXJhdG9yQmluZGluZ0luaXRpYWxpemF0aW9uCisKKyAgICBCaW5k
aW5nUmVzdEVsZW1lbnQgOiAuLi4gQmluZGluZ0lkZW50aWZpZXIKKworICAgIFsuLi5dCisgICAg
Mi4gTGV0IEEgYmUgISBBcnJheUNyZWF0ZSgwKS4KKyAgICAzLiBMZXQgbiBiZSAwLgorICAgIDQu
IFJlcGVhdCwKKyAgICAgICAgWy4uLl0KKyAgICAgICAgZi4gUGVyZm9ybSAhIENyZWF0ZURhdGFQ
cm9wZXJ0eU9yVGhyb3coQSwgISBUb1N0cmluZyhuKSwgbmV4dFZhbHVlKS4KKyAgICAgICAgZy4g
U2V0IG4gdG8gbiArIDEuCisKKy0tLSovCisKKwordmFyIGNhbGxDb3VudCA9IDA7CitjbGFzcyBD
IHsKKyAgYXN5bmMgKm1ldGhvZChbLi4ueF0pIHsKKyAgICBhc3NlcnQoQXJyYXkuaXNBcnJheSh4
KSk7CisgICAgYXNzZXJ0LmNvbXBhcmVBcnJheSh4LCBbMV0pOworICAgIGNhbGxDb3VudCA9IGNh
bGxDb3VudCArIDE7CisgIH0KK307CisKK25ldyBDKCkubWV0aG9kKFsxXSkubmV4dCgpLnRoZW4o
KCkgPT4geworICAgIGFzc2VydC5zYW1lVmFsdWUoY2FsbENvdW50LCAxLCAnaW52b2tlZCBleGFj
dGx5IG9uY2UnKTsgICAgCit9KS50aGVuKCRET05FLCAkRE9ORSk7CmRpZmYgLS1naXQgYS9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2RzdHIvYXN5bmMtZ2Vu
LW1ldGgtZGZsdC1hcnktaW5pdC1pdGVyLWdldC1lcnItYXJyYXktcHJvdG90eXBlLmpzIGIvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9kc3RyL2FzeW5jLWdl
bi1tZXRoLWRmbHQtYXJ5LWluaXQtaXRlci1nZXQtZXJyLWFycmF5LXByb3RvdHlwZS5qcwpuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4wMzQzMjU5Njg5OTllY2QzM2U3YTNiZDAxNTJjNmFiMDlmODRkMWI4Ci0tLSAvZGV2
L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFz
cy9kc3RyL2FzeW5jLWdlbi1tZXRoLWRmbHQtYXJ5LWluaXQtaXRlci1nZXQtZXJyLWFycmF5LXBy
b3RvdHlwZS5qcwpAQCAtMCwwICsxLDcxIEBACisvLyBUaGlzIGZpbGUgd2FzIHByb2NlZHVyYWxs
eSBnZW5lcmF0ZWQgZnJvbSB0aGUgZm9sbG93aW5nIHNvdXJjZXM6CisvLyAtIHNyYy9kc3RyLWJp
bmRpbmcvYXJ5LWluaXQtaXRlci1nZXQtZXJyLWFycmF5LXByb3RvdHlwZS5jYXNlCisvLyAtIHNy
Yy9kc3RyLWJpbmRpbmcvZXJyb3IvY2xzLWRlY2wtYXN5bmMtZ2VuLW1ldGgtZGZsdC50ZW1wbGF0
ZQorLyotLS0KK2Rlc2NyaXB0aW9uOiBBYnJ1cHQgY29tcGxldGlvbiByZXR1cm5lZCBieSBHZXRJ
dGVyYXRvciAoY2xhc3MgZXhwcmVzc2lvbiBhc3luYyBnZW5lcmF0b3IgbWV0aG9kIChkZWZhdWx0
IHBhcmFtZXRlcnMpKQorZXNpZDogc2VjLWNsYXNzLWRlZmluaXRpb25zLXJ1bnRpbWUtc2VtYW50
aWNzLWV2YWx1YXRpb24KK2ZlYXR1cmVzOiBbU3ltYm9sLml0ZXJhdG9yLCBhc3luYy1pdGVyYXRp
b25dCitmbGFnczogW2dlbmVyYXRlZF0KK2luZm86IHwKKyAgICBDbGFzc0RlY2xhcmF0aW9uIDog
Y2xhc3MgQmluZGluZ0lkZW50aWZpZXIgQ2xhc3NUYWlsCisKKyAgICAxLiBMZXQgY2xhc3NOYW1l
IGJlIFN0cmluZ1ZhbHVlIG9mIEJpbmRpbmdJZGVudGlmaWVyLgorICAgIDIuIExldCB2YWx1ZSBi
ZSB0aGUgcmVzdWx0IG9mIENsYXNzRGVmaW5pdGlvbkV2YWx1YXRpb24gb2YgQ2xhc3NUYWlsIHdp
dGgKKyAgICAgICBhcmd1bWVudCBjbGFzc05hbWUuCisgICAgWy4uLl0KKworICAgIDE0LjUuMTQg
UnVudGltZSBTZW1hbnRpY3M6IENsYXNzRGVmaW5pdGlvbkV2YWx1YXRpb24KKworICAgIDIxLiBG
b3IgZWFjaCBDbGFzc0VsZW1lbnQgbSBpbiBvcmRlciBmcm9tIG1ldGhvZHMKKyAgICAgICAgYS4g
SWYgSXNTdGF0aWMgb2YgbSBpcyBmYWxzZSwgdGhlbgorICAgICAgICAgICBpLiBMZXQgc3RhdHVz
IGJlIHRoZSByZXN1bHQgb2YgcGVyZm9ybWluZworICAgICAgICAgICAgICBQcm9wZXJ0eURlZmlu
aXRpb25FdmFsdWF0aW9uIGZvciBtIHdpdGggYXJndW1lbnRzIHByb3RvIGFuZAorICAgICAgICAg
ICAgICBmYWxzZS4KKyAgICAgICAgWy4uLl0KKworICAgIFJ1bnRpbWUgU2VtYW50aWNzOiBQcm9w
ZXJ0eURlZmluaXRpb25FdmFsdWF0aW9uCisKKyAgICBBc3luY0dlbmVyYXRvck1ldGhvZCA6Cisg
ICAgICAgIGFzeW5jIFtubyBMaW5lVGVybWluYXRvciBoZXJlXSAqIFByb3BlcnR5TmFtZSAoIFVu
aXF1ZUZvcm1hbFBhcmFtZXRlcnMgKQorICAgICAgICAgICAgeyBBc3luY0dlbmVyYXRvckJvZHkg
fQorCisgICAgMS4gTGV0IHByb3BLZXkgYmUgdGhlIHJlc3VsdCBvZiBldmFsdWF0aW5nIFByb3Bl
cnR5TmFtZS4KKyAgICAyLiBSZXR1cm5JZkFicnVwdChwcm9wS2V5KS4KKyAgICAzLiBJZiB0aGUg
ZnVuY3Rpb24gY29kZSBmb3IgdGhpcyBBc3luY0dlbmVyYXRvck1ldGhvZCBpcyBzdHJpY3QgbW9k
ZSBjb2RlLCBsZXQgc3RyaWN0IGJlIHRydWUuCisgICAgICAgT3RoZXJ3aXNlIGxldCBzdHJpY3Qg
YmUgZmFsc2UuCisgICAgNC4gTGV0IHNjb3BlIGJlIHRoZSBydW5uaW5nIGV4ZWN1dGlvbiBjb250
ZXh0J3MgTGV4aWNhbEVudmlyb25tZW50LgorICAgIDUuIExldCBjbG9zdXJlIGJlICEgQXN5bmNH
ZW5lcmF0b3JGdW5jdGlvbkNyZWF0ZShNZXRob2QsIFVuaXF1ZUZvcm1hbFBhcmFtZXRlcnMsCisg
ICAgICAgQXN5bmNHZW5lcmF0b3JCb2R5LCBzY29wZSwgc3RyaWN0KS4KKyAgICBbLi4uXQorCisg
ICAgUnVudGltZSBTZW1hbnRpY3M6IEJpbmRpbmdJbml0aWFsaXphdGlvbgorCisgICAgQmluZGlu
Z1BhdHRlcm4gOiBBcnJheUJpbmRpbmdQYXR0ZXJuCisKKyAgICAxLiBMZXQgaXRlcmF0b3JSZWNv
cmQgYmUgPyBHZXRJdGVyYXRvcih2YWx1ZSkuCisKKyAgICBHZXRJdGVyYXRvciAoIG9iaiBbICwg
aGludCBbICwgbWV0aG9kIF0gXSApCisKKyAgICBbLi4uXQorICAgIDQuIExldCBpdGVyYXRvciBi
ZSA/IENhbGwobWV0aG9kLCBvYmopLgorCisgICAgQ2FsbCAoIEYsIFYgWyAsIGFyZ3VtZW50c0xp
c3QgXSApCisKKyAgICBbLi4uXQorICAgIDIuIElmIElzQ2FsbGFibGUoRikgaXMgZmFsc2UsIHRo
cm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KKworLS0tKi8KK2RlbGV0ZSBBcnJheS5wcm90b3R5
cGVbU3ltYm9sLml0ZXJhdG9yXTsKKworCitjbGFzcyBDIHsKKyAgYXN5bmMgKm1ldGhvZChbeCwg
eSwgel0gPSBbMSwgMiwgM10pIHsKKyAgICAKKyAgfQorfTsKKwordmFyIG1ldGhvZCA9IEMucHJv
dG90eXBlLm1ldGhvZDsKKworYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsIGZ1bmN0aW9uKCkgewor
ICBtZXRob2QoKTsKK30pOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3Vh
Z2Uvc3RhdGVtZW50cy9jbGFzcy9kc3RyL2FzeW5jLWdlbi1tZXRoLWRmbHQtYXJ5LXB0cm4tZWxl
bS1pZC1pdGVyLXZhbC1hcnJheS1wcm90b3R5cGUuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9s
YW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2RzdHIvYXN5bmMtZ2VuLW1ldGgtZGZsdC1hcnktcHRy
bi1lbGVtLWlkLWl0ZXItdmFsLWFycmF5LXByb3RvdHlwZS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jNWI0MTBi
YjE3NmJiYWE1ODhmYWRmNTg2ODllZmU1NWExZDJhZmMzCi0tLSAvZGV2L251bGwKKysrIGIvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9kc3RyL2FzeW5jLWdl
bi1tZXRoLWRmbHQtYXJ5LXB0cm4tZWxlbS1pZC1pdGVyLXZhbC1hcnJheS1wcm90b3R5cGUuanMK
QEAgLTAsMCArMSw4NiBAQAorLy8gVGhpcyBmaWxlIHdhcyBwcm9jZWR1cmFsbHkgZ2VuZXJhdGVk
IGZyb20gdGhlIGZvbGxvd2luZyBzb3VyY2VzOgorLy8gLSBzcmMvZHN0ci1iaW5kaW5nL2FyeS1w
dHJuLWVsZW0taWQtaXRlci12YWwtYXJyYXktcHJvdG90eXBlLmNhc2UKKy8vIC0gc3JjL2RzdHIt
YmluZGluZy9kZWZhdWx0L2Nscy1kZWNsLWFzeW5jLWdlbi1tZXRoLWRmbHQudGVtcGxhdGUKKy8q
LS0tCitkZXNjcmlwdGlvbjogQXJyYXkgZGVzdHJ1Y3R1cmluZyB1c2VzIG92ZXJyaWRlbiBBcnJh
eS5wcm90b3R5cGVbU3ltYm9sLml0ZXJhdG9yXSAoY2xhc3MgZXhwcmVzc2lvbiBhc3luYyBnZW5l
cmF0b3IgbWV0aG9kIChkZWZhdWx0IHBhcmFtZXRlcnMpKQorZXNpZDogc2VjLWNsYXNzLWRlZmlu
aXRpb25zLXJ1bnRpbWUtc2VtYW50aWNzLWV2YWx1YXRpb24KK2ZlYXR1cmVzOiBbU3ltYm9sLml0
ZXJhdG9yLCBnZW5lcmF0b3JzLCBhc3luYy1pdGVyYXRpb25dCitmbGFnczogW2dlbmVyYXRlZCwg
YXN5bmNdCitpbmZvOiB8CisgICAgQ2xhc3NEZWNsYXJhdGlvbiA6IGNsYXNzIEJpbmRpbmdJZGVu
dGlmaWVyIENsYXNzVGFpbAorCisgICAgMS4gTGV0IGNsYXNzTmFtZSBiZSBTdHJpbmdWYWx1ZSBv
ZiBCaW5kaW5nSWRlbnRpZmllci4KKyAgICAyLiBMZXQgdmFsdWUgYmUgdGhlIHJlc3VsdCBvZiBD
bGFzc0RlZmluaXRpb25FdmFsdWF0aW9uIG9mIENsYXNzVGFpbCB3aXRoCisgICAgICAgYXJndW1l
bnQgY2xhc3NOYW1lLgorICAgIFsuLi5dCisKKyAgICAxNC41LjE0IFJ1bnRpbWUgU2VtYW50aWNz
OiBDbGFzc0RlZmluaXRpb25FdmFsdWF0aW9uCisKKyAgICAyMS4gRm9yIGVhY2ggQ2xhc3NFbGVt
ZW50IG0gaW4gb3JkZXIgZnJvbSBtZXRob2RzCisgICAgICAgIGEuIElmIElzU3RhdGljIG9mIG0g
aXMgZmFsc2UsIHRoZW4KKyAgICAgICAgICAgaS4gTGV0IHN0YXR1cyBiZSB0aGUgcmVzdWx0IG9m
IHBlcmZvcm1pbmcKKyAgICAgICAgICAgICAgUHJvcGVydHlEZWZpbml0aW9uRXZhbHVhdGlvbiBm
b3IgbSB3aXRoIGFyZ3VtZW50cyBwcm90byBhbmQKKyAgICAgICAgICAgICAgZmFsc2UuCisgICAg
ICAgIFsuLi5dCisKKyAgICBSdW50aW1lIFNlbWFudGljczogUHJvcGVydHlEZWZpbml0aW9uRXZh
bHVhdGlvbgorCisgICAgQXN5bmNHZW5lcmF0b3JNZXRob2QgOgorICAgICAgICBhc3luYyBbbm8g
TGluZVRlcm1pbmF0b3IgaGVyZV0gKiBQcm9wZXJ0eU5hbWUgKCBVbmlxdWVGb3JtYWxQYXJhbWV0
ZXJzICkKKyAgICAgICAgICAgIHsgQXN5bmNHZW5lcmF0b3JCb2R5IH0KKworICAgIDEuIExldCBw
cm9wS2V5IGJlIHRoZSByZXN1bHQgb2YgZXZhbHVhdGluZyBQcm9wZXJ0eU5hbWUuCisgICAgMi4g
UmV0dXJuSWZBYnJ1cHQocHJvcEtleSkuCisgICAgMy4gSWYgdGhlIGZ1bmN0aW9uIGNvZGUgZm9y
IHRoaXMgQXN5bmNHZW5lcmF0b3JNZXRob2QgaXMgc3RyaWN0IG1vZGUgY29kZSwgbGV0IHN0cmlj
dCBiZSB0cnVlLgorICAgICAgIE90aGVyd2lzZSBsZXQgc3RyaWN0IGJlIGZhbHNlLgorICAgIDQu
IExldCBzY29wZSBiZSB0aGUgcnVubmluZyBleGVjdXRpb24gY29udGV4dCdzIExleGljYWxFbnZp
cm9ubWVudC4KKyAgICA1LiBMZXQgY2xvc3VyZSBiZSAhIEFzeW5jR2VuZXJhdG9yRnVuY3Rpb25D
cmVhdGUoTWV0aG9kLCBVbmlxdWVGb3JtYWxQYXJhbWV0ZXJzLAorICAgICAgIEFzeW5jR2VuZXJh
dG9yQm9keSwgc2NvcGUsIHN0cmljdCkuCisgICAgWy4uLl0KKworCisgICAgUnVudGltZSBTZW1h
bnRpY3M6IEl0ZXJhdG9yQmluZGluZ0luaXRpYWxpemF0aW9uCisKKyAgICBTaW5nbGVOYW1lQmlu
ZGluZyA6IEJpbmRpbmdJZGVudGlmaWVyIEluaXRpYWxpemVyX29wdAorCisgICAgMS4gTGV0IGJp
bmRpbmdJZCBiZSBTdHJpbmdWYWx1ZSBvZiBCaW5kaW5nSWRlbnRpZmllci4KKyAgICAyLiBMZXQg
bGhzIGJlID8gUmVzb2x2ZUJpbmRpbmcoYmluZGluZ0lkLCBlbnZpcm9ubWVudCkuCisgICAgMy4g
SWYgaXRlcmF0b3JSZWNvcmQuW1tEb25lXV0gaXMgZmFsc2UsIHRoZW4KKyAgICAgICAgYS4gTGV0
IG5leHQgYmUgSXRlcmF0b3JTdGVwKGl0ZXJhdG9yUmVjb3JkKS4KKyAgICAgICAgYi4gSWYgbmV4
dCBpcyBhbiBhYnJ1cHQgY29tcGxldGlvbiwgc2V0IGl0ZXJhdG9yUmVjb3JkLltbRG9uZV1dIHRv
IHRydWUuCisgICAgICAgIGMuIFJldHVybklmQWJydXB0KG5leHQpLgorICAgICAgICBkLiBJZiBu
ZXh0IGlzIGZhbHNlLCBzZXQgaXRlcmF0b3JSZWNvcmQuW1tEb25lXV0gdG8gdHJ1ZS4KKyAgICAg
ICAgZS4gRWxzZSwKKyAgICAgICAgICAgIGkuIExldCB2IGJlIEl0ZXJhdG9yVmFsdWUobmV4dCku
CisgICAgICAgICAgICBpaS4gSWYgdiBpcyBhbiBhYnJ1cHQgY29tcGxldGlvbiwgc2V0IGl0ZXJh
dG9yUmVjb3JkLltbRG9uZV1dIHRvIHRydWUuCisgICAgICAgICAgICBpaWkuIFJldHVybklmQWJy
dXB0KHYpLgorICAgIFsuLi5dCisgICAgNy4gUmV0dXJuIEluaXRpYWxpemVSZWZlcmVuY2VkQmlu
ZGluZyhsaHMsIHYpLgorCistLS0qLworQXJyYXkucHJvdG90eXBlW1N5bWJvbC5pdGVyYXRvcl0g
PSBmdW5jdGlvbiogKCkgeworICAgIGlmICh0aGlzLmxlbmd0aCA+IDApIHsKKyAgICAgICAgeWll
bGQgdGhpc1swXTsKKyAgICB9CisgICAgaWYgKHRoaXMubGVuZ3RoID4gMSkgeworICAgICAgICB5
aWVsZCB0aGlzWzFdOworICAgIH0KKyAgICBpZiAodGhpcy5sZW5ndGggPiAyKSB7CisgICAgICAg
IHlpZWxkIDQyOworICAgIH0KK307CisKKwordmFyIGNhbGxDb3VudCA9IDA7CitjbGFzcyBDIHsK
KyAgYXN5bmMgKm1ldGhvZChbeCwgeSwgel0gPSBbMSwgMiwgM10pIHsKKyAgICBhc3NlcnQuc2Ft
ZVZhbHVlKHgsIDEpOworICAgIGFzc2VydC5zYW1lVmFsdWUoeSwgMik7CisgICAgYXNzZXJ0LnNh
bWVWYWx1ZSh6LCA0Mik7CisgICAgY2FsbENvdW50ID0gY2FsbENvdW50ICsgMTsKKyAgfQorfTsK
KworbmV3IEMoKS5tZXRob2QoKS5uZXh0KCkudGhlbigoKSA9PiB7CisgICAgYXNzZXJ0LnNhbWVW
YWx1ZShjYWxsQ291bnQsIDEsICdpbnZva2VkIGV4YWN0bHkgb25jZScpOyAgICAKK30pLnRoZW4o
JERPTkUsICRET05FKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdl
L3N0YXRlbWVudHMvY2xhc3MvZHN0ci9hc3luYy1nZW4tbWV0aC1kZmx0LWFyeS1wdHJuLXJlc3Qt
aWQtZGlyZWN0LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9j
bGFzcy9kc3RyL2FzeW5jLWdlbi1tZXRoLWRmbHQtYXJ5LXB0cm4tcmVzdC1pZC1kaXJlY3QuanMK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMGU0MjY5NjMzYTc1N2M0NTYwZDMwMzQwZTNhMjdkZmUyOTUyODY1MQotLS0g
L2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMv
Y2xhc3MvZHN0ci9hc3luYy1nZW4tbWV0aC1kZmx0LWFyeS1wdHJuLXJlc3QtaWQtZGlyZWN0Lmpz
CkBAIC0wLDAgKzEsNjkgQEAKKy8vIFRoaXMgZmlsZSB3YXMgcHJvY2VkdXJhbGx5IGdlbmVyYXRl
ZCBmcm9tIHRoZSBmb2xsb3dpbmcgc291cmNlczoKKy8vIC0gc3JjL2RzdHItYmluZGluZy9hcnkt
cHRybi1yZXN0LWlkLWRpcmVjdC5jYXNlCisvLyAtIHNyYy9kc3RyLWJpbmRpbmcvZGVmYXVsdC9j
bHMtZGVjbC1hc3luYy1nZW4tbWV0aC1kZmx0LnRlbXBsYXRlCisvKi0tLQorZGVzY3JpcHRpb246
IExvbmUgcmVzdCBlbGVtZW50IChkaXJlY3QgYmluZGluZykgKGNsYXNzIGV4cHJlc3Npb24gYXN5
bmMgZ2VuZXJhdG9yIG1ldGhvZCAoZGVmYXVsdCBwYXJhbWV0ZXJzKSkKK2VzaWQ6IHNlYy1jbGFz
cy1kZWZpbml0aW9ucy1ydW50aW1lLXNlbWFudGljcy1ldmFsdWF0aW9uCitmZWF0dXJlczogW2Fz
eW5jLWl0ZXJhdGlvbl0KK2ZsYWdzOiBbZ2VuZXJhdGVkLCBhc3luY10KK2luY2x1ZGVzOiBbY29t
cGFyZUFycmF5LmpzXQoraW5mbzogfAorICAgIENsYXNzRGVjbGFyYXRpb24gOiBjbGFzcyBCaW5k
aW5nSWRlbnRpZmllciBDbGFzc1RhaWwKKworICAgIDEuIExldCBjbGFzc05hbWUgYmUgU3RyaW5n
VmFsdWUgb2YgQmluZGluZ0lkZW50aWZpZXIuCisgICAgMi4gTGV0IHZhbHVlIGJlIHRoZSByZXN1
bHQgb2YgQ2xhc3NEZWZpbml0aW9uRXZhbHVhdGlvbiBvZiBDbGFzc1RhaWwgd2l0aAorICAgICAg
IGFyZ3VtZW50IGNsYXNzTmFtZS4KKyAgICBbLi4uXQorCisgICAgMTQuNS4xNCBSdW50aW1lIFNl
bWFudGljczogQ2xhc3NEZWZpbml0aW9uRXZhbHVhdGlvbgorCisgICAgMjEuIEZvciBlYWNoIENs
YXNzRWxlbWVudCBtIGluIG9yZGVyIGZyb20gbWV0aG9kcworICAgICAgICBhLiBJZiBJc1N0YXRp
YyBvZiBtIGlzIGZhbHNlLCB0aGVuCisgICAgICAgICAgIGkuIExldCBzdGF0dXMgYmUgdGhlIHJl
c3VsdCBvZiBwZXJmb3JtaW5nCisgICAgICAgICAgICAgIFByb3BlcnR5RGVmaW5pdGlvbkV2YWx1
YXRpb24gZm9yIG0gd2l0aCBhcmd1bWVudHMgcHJvdG8gYW5kCisgICAgICAgICAgICAgIGZhbHNl
LgorICAgICAgICBbLi4uXQorCisgICAgUnVudGltZSBTZW1hbnRpY3M6IFByb3BlcnR5RGVmaW5p
dGlvbkV2YWx1YXRpb24KKworICAgIEFzeW5jR2VuZXJhdG9yTWV0aG9kIDoKKyAgICAgICAgYXN5
bmMgW25vIExpbmVUZXJtaW5hdG9yIGhlcmVdICogUHJvcGVydHlOYW1lICggVW5pcXVlRm9ybWFs
UGFyYW1ldGVycyApCisgICAgICAgICAgICB7IEFzeW5jR2VuZXJhdG9yQm9keSB9CisKKyAgICAx
LiBMZXQgcHJvcEtleSBiZSB0aGUgcmVzdWx0IG9mIGV2YWx1YXRpbmcgUHJvcGVydHlOYW1lLgor
ICAgIDIuIFJldHVybklmQWJydXB0KHByb3BLZXkpLgorICAgIDMuIElmIHRoZSBmdW5jdGlvbiBj
b2RlIGZvciB0aGlzIEFzeW5jR2VuZXJhdG9yTWV0aG9kIGlzIHN0cmljdCBtb2RlIGNvZGUsIGxl
dCBzdHJpY3QgYmUgdHJ1ZS4KKyAgICAgICBPdGhlcndpc2UgbGV0IHN0cmljdCBiZSBmYWxzZS4K
KyAgICA0LiBMZXQgc2NvcGUgYmUgdGhlIHJ1bm5pbmcgZXhlY3V0aW9uIGNvbnRleHQncyBMZXhp
Y2FsRW52aXJvbm1lbnQuCisgICAgNS4gTGV0IGNsb3N1cmUgYmUgISBBc3luY0dlbmVyYXRvckZ1
bmN0aW9uQ3JlYXRlKE1ldGhvZCwgVW5pcXVlRm9ybWFsUGFyYW1ldGVycywKKyAgICAgICBBc3lu
Y0dlbmVyYXRvckJvZHksIHNjb3BlLCBzdHJpY3QpLgorICAgIFsuLi5dCisKKworICAgIFJ1bnRp
bWUgU2VtYW50aWNzOiBJdGVyYXRvckJpbmRpbmdJbml0aWFsaXphdGlvbgorCisgICAgQmluZGlu
Z1Jlc3RFbGVtZW50IDogLi4uIEJpbmRpbmdJZGVudGlmaWVyCisKKyAgICBbLi4uXQorICAgIDIu
IExldCBBIGJlICEgQXJyYXlDcmVhdGUoMCkuCisgICAgMy4gTGV0IG4gYmUgMC4KKyAgICA0LiBS
ZXBlYXQsCisgICAgICAgIFsuLi5dCisgICAgICAgIGYuIFBlcmZvcm0gISBDcmVhdGVEYXRhUHJv
cGVydHlPclRocm93KEEsICEgVG9TdHJpbmcobiksIG5leHRWYWx1ZSkuCisgICAgICAgIGcuIFNl
dCBuIHRvIG4gKyAxLgorCistLS0qLworCisKK3ZhciBjYWxsQ291bnQgPSAwOworY2xhc3MgQyB7
CisgIGFzeW5jICptZXRob2QoWy4uLnhdID0gWzFdKSB7CisgICAgYXNzZXJ0KEFycmF5LmlzQXJy
YXkoeCkpOworICAgIGFzc2VydC5jb21wYXJlQXJyYXkoeCwgWzFdKTsKKyAgICBjYWxsQ291bnQg
PSBjYWxsQ291bnQgKyAxOworICB9Cit9OworCituZXcgQygpLm1ldGhvZCgpLm5leHQoKS50aGVu
KCgpID0+IHsKKyAgICBhc3NlcnQuc2FtZVZhbHVlKGNhbGxDb3VudCwgMSwgJ2ludm9rZWQgZXhh
Y3RseSBvbmNlJyk7ICAgIAorfSkudGhlbigkRE9ORSwgJERPTkUpOwpkaWZmIC0tZ2l0IGEvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9kc3RyL2FzeW5jLWdl
bi1tZXRoLXN0YXRpYy1hcnktaW5pdC1pdGVyLWdldC1lcnItYXJyYXktcHJvdG90eXBlLmpzIGIv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9kc3RyL2FzeW5j
LWdlbi1tZXRoLXN0YXRpYy1hcnktaW5pdC1pdGVyLWdldC1lcnItYXJyYXktcHJvdG90eXBlLmpz
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmQ2ZTgzMTE3YmJjM2I0YzM1Zjk2NzFhMTI5OWQ0NWIzMWQ5NGNiZWYKLS0t
IC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRz
L2NsYXNzL2RzdHIvYXN5bmMtZ2VuLW1ldGgtc3RhdGljLWFyeS1pbml0LWl0ZXItZ2V0LWVyci1h
cnJheS1wcm90b3R5cGUuanMKQEAgLTAsMCArMSw3MSBAQAorLy8gVGhpcyBmaWxlIHdhcyBwcm9j
ZWR1cmFsbHkgZ2VuZXJhdGVkIGZyb20gdGhlIGZvbGxvd2luZyBzb3VyY2VzOgorLy8gLSBzcmMv
ZHN0ci1iaW5kaW5nL2FyeS1pbml0LWl0ZXItZ2V0LWVyci1hcnJheS1wcm90b3R5cGUuY2FzZQor
Ly8gLSBzcmMvZHN0ci1iaW5kaW5nL2Vycm9yL2Nscy1kZWNsLWFzeW5jLWdlbi1tZXRoLXN0YXRp
Yy50ZW1wbGF0ZQorLyotLS0KK2Rlc2NyaXB0aW9uOiBBYnJ1cHQgY29tcGxldGlvbiByZXR1cm5l
ZCBieSBHZXRJdGVyYXRvciAoc3RhdGljIGNsYXNzIGV4cHJlc3Npb24gYXN5bmMgZ2VuZXJhdG9y
IG1ldGhvZCkKK2VzaWQ6IHNlYy1ydW50aW1lLXNlbWFudGljcy1iaW5kaW5nY2xhc3NkZWNsYXJh
dGlvbmV2YWx1YXRpb24KK2ZlYXR1cmVzOiBbU3ltYm9sLml0ZXJhdG9yLCBhc3luYy1pdGVyYXRp
b25dCitmbGFnczogW2dlbmVyYXRlZF0KK2luZm86IHwKKyAgICBDbGFzc0RlY2xhcmF0aW9uIDog
Y2xhc3MgQmluZGluZ0lkZW50aWZpZXIgQ2xhc3NUYWlsCisKKyAgICAxLiBMZXQgY2xhc3NOYW1l
IGJlIFN0cmluZ1ZhbHVlIG9mIEJpbmRpbmdJZGVudGlmaWVyLgorICAgIDIuIExldCB2YWx1ZSBi
ZSB0aGUgcmVzdWx0IG9mIENsYXNzRGVmaW5pdGlvbkV2YWx1YXRpb24gb2YgQ2xhc3NUYWlsIHdp
dGgKKyAgICAgICBhcmd1bWVudCBjbGFzc05hbWUuCisgICAgWy4uLl0KKworICAgIDE0LjUuMTQg
UnVudGltZSBTZW1hbnRpY3M6IENsYXNzRGVmaW5pdGlvbkV2YWx1YXRpb24KKworICAgIDIxLiBG
b3IgZWFjaCBDbGFzc0VsZW1lbnQgbSBpbiBvcmRlciBmcm9tIG1ldGhvZHMKKyAgICAgICAgYS4g
SWYgSXNTdGF0aWMgb2YgbSBpcyBmYWxzZSwgdGhlbgorICAgICAgICBiLiBFbHNlLAorICAgICAg
ICAgICBMZXQgc3RhdHVzIGJlIHRoZSByZXN1bHQgb2YgcGVyZm9ybWluZyBQcm9wZXJ0eURlZmlu
aXRpb25FdmFsdWF0aW9uIGZvcgorICAgICAgICAgICBtIHdpdGggYXJndW1lbnRzIEYgYW5kIGZh
bHNlLgorICAgIFsuLi5dCisKKyAgICBSdW50aW1lIFNlbWFudGljczogUHJvcGVydHlEZWZpbml0
aW9uRXZhbHVhdGlvbgorCisgICAgQXN5bmNHZW5lcmF0b3JNZXRob2QgOgorICAgICAgICBhc3lu
YyBbbm8gTGluZVRlcm1pbmF0b3IgaGVyZV0gKiBQcm9wZXJ0eU5hbWUgKCBVbmlxdWVGb3JtYWxQ
YXJhbWV0ZXJzICkKKyAgICAgICAgICAgIHsgQXN5bmNHZW5lcmF0b3JCb2R5IH0KKworICAgIDEu
IExldCBwcm9wS2V5IGJlIHRoZSByZXN1bHQgb2YgZXZhbHVhdGluZyBQcm9wZXJ0eU5hbWUuCisg
ICAgMi4gUmV0dXJuSWZBYnJ1cHQocHJvcEtleSkuCisgICAgMy4gSWYgdGhlIGZ1bmN0aW9uIGNv
ZGUgZm9yIHRoaXMgQXN5bmNHZW5lcmF0b3JNZXRob2QgaXMgc3RyaWN0IG1vZGUgY29kZSwgbGV0
IHN0cmljdCBiZSB0cnVlLgorICAgICAgIE90aGVyd2lzZSBsZXQgc3RyaWN0IGJlIGZhbHNlLgor
ICAgIDQuIExldCBzY29wZSBiZSB0aGUgcnVubmluZyBleGVjdXRpb24gY29udGV4dCdzIExleGlj
YWxFbnZpcm9ubWVudC4KKyAgICA1LiBMZXQgY2xvc3VyZSBiZSAhIEFzeW5jR2VuZXJhdG9yRnVu
Y3Rpb25DcmVhdGUoTWV0aG9kLCBVbmlxdWVGb3JtYWxQYXJhbWV0ZXJzLAorICAgICAgIEFzeW5j
R2VuZXJhdG9yQm9keSwgc2NvcGUsIHN0cmljdCkuCisgICAgWy4uLl0KKworICAgIFJ1bnRpbWUg
U2VtYW50aWNzOiBCaW5kaW5nSW5pdGlhbGl6YXRpb24KKworICAgIEJpbmRpbmdQYXR0ZXJuIDog
QXJyYXlCaW5kaW5nUGF0dGVybgorCisgICAgMS4gTGV0IGl0ZXJhdG9yUmVjb3JkIGJlID8gR2V0
SXRlcmF0b3IodmFsdWUpLgorCisgICAgR2V0SXRlcmF0b3IgKCBvYmogWyAsIGhpbnQgWyAsIG1l
dGhvZCBdIF0gKQorCisgICAgWy4uLl0KKyAgICA0LiBMZXQgaXRlcmF0b3IgYmUgPyBDYWxsKG1l
dGhvZCwgb2JqKS4KKworICAgIENhbGwgKCBGLCBWIFsgLCBhcmd1bWVudHNMaXN0IF0gKQorCisg
ICAgWy4uLl0KKyAgICAyLiBJZiBJc0NhbGxhYmxlKEYpIGlzIGZhbHNlLCB0aHJvdyBhIFR5cGVF
cnJvciBleGNlcHRpb24uCisKKy0tLSovCitkZWxldGUgQXJyYXkucHJvdG90eXBlW1N5bWJvbC5p
dGVyYXRvcl07CisKKworY2xhc3MgQyB7CisgIHN0YXRpYyBhc3luYyAqbWV0aG9kKFt4LCB5LCB6
XSkgeworICAgIAorICB9Cit9OworCit2YXIgbWV0aG9kID0gQy5tZXRob2Q7CisKK2Fzc2VydC50
aHJvd3MoVHlwZUVycm9yLCBmdW5jdGlvbigpIHsKKyAgbWV0aG9kKFsxLCAyLCAzXSk7Cit9KTsK
ZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xh
c3MvZHN0ci9hc3luYy1nZW4tbWV0aC1zdGF0aWMtYXJ5LXB0cm4tZWxlbS1pZC1pdGVyLXZhbC1h
cnJheS1wcm90b3R5cGUuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1l
bnRzL2NsYXNzL2RzdHIvYXN5bmMtZ2VuLW1ldGgtc3RhdGljLWFyeS1wdHJuLWVsZW0taWQtaXRl
ci12YWwtYXJyYXktcHJvdG90eXBlLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjUxMmU0NTUzOTE4ZDRkNjQwZGY0
ZTI1ZmVlMWE5ZTgxM2M3ZGYyNjgKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2RzdHIvYXN5bmMtZ2VuLW1ldGgtc3RhdGlj
LWFyeS1wdHJuLWVsZW0taWQtaXRlci12YWwtYXJyYXktcHJvdG90eXBlLmpzCkBAIC0wLDAgKzEs
ODYgQEAKKy8vIFRoaXMgZmlsZSB3YXMgcHJvY2VkdXJhbGx5IGdlbmVyYXRlZCBmcm9tIHRoZSBm
b2xsb3dpbmcgc291cmNlczoKKy8vIC0gc3JjL2RzdHItYmluZGluZy9hcnktcHRybi1lbGVtLWlk
LWl0ZXItdmFsLWFycmF5LXByb3RvdHlwZS5jYXNlCisvLyAtIHNyYy9kc3RyLWJpbmRpbmcvZGVm
YXVsdC9jbHMtZGVjbC1hc3luYy1nZW4tbWV0aC1zdGF0aWMudGVtcGxhdGUKKy8qLS0tCitkZXNj
cmlwdGlvbjogQXJyYXkgZGVzdHJ1Y3R1cmluZyB1c2VzIG92ZXJyaWRlbiBBcnJheS5wcm90b3R5
cGVbU3ltYm9sLml0ZXJhdG9yXSAoc3RhdGljIGNsYXNzIGV4cHJlc3Npb24gYXN5bmMgZ2VuZXJh
dG9yIG1ldGhvZCkKK2VzaWQ6IHNlYy1ydW50aW1lLXNlbWFudGljcy1iaW5kaW5nY2xhc3NkZWNs
YXJhdGlvbmV2YWx1YXRpb24KK2ZlYXR1cmVzOiBbU3ltYm9sLml0ZXJhdG9yLCBnZW5lcmF0b3Jz
LCBhc3luYy1pdGVyYXRpb25dCitmbGFnczogW2dlbmVyYXRlZCwgYXN5bmNdCitpbmZvOiB8Cisg
ICAgQ2xhc3NEZWNsYXJhdGlvbiA6IGNsYXNzIEJpbmRpbmdJZGVudGlmaWVyIENsYXNzVGFpbAor
CisgICAgMS4gTGV0IGNsYXNzTmFtZSBiZSBTdHJpbmdWYWx1ZSBvZiBCaW5kaW5nSWRlbnRpZmll
ci4KKyAgICAyLiBMZXQgdmFsdWUgYmUgdGhlIHJlc3VsdCBvZiBDbGFzc0RlZmluaXRpb25FdmFs
dWF0aW9uIG9mIENsYXNzVGFpbCB3aXRoCisgICAgICAgYXJndW1lbnQgY2xhc3NOYW1lLgorICAg
IFsuLi5dCisKKyAgICAxNC41LjE0IFJ1bnRpbWUgU2VtYW50aWNzOiBDbGFzc0RlZmluaXRpb25F
dmFsdWF0aW9uCisKKyAgICAyMS4gRm9yIGVhY2ggQ2xhc3NFbGVtZW50IG0gaW4gb3JkZXIgZnJv
bSBtZXRob2RzCisgICAgICAgIGEuIElmIElzU3RhdGljIG9mIG0gaXMgZmFsc2UsIHRoZW4KKyAg
ICAgICAgYi4gRWxzZSwKKyAgICAgICAgICAgTGV0IHN0YXR1cyBiZSB0aGUgcmVzdWx0IG9mIHBl
cmZvcm1pbmcgUHJvcGVydHlEZWZpbml0aW9uRXZhbHVhdGlvbiBmb3IKKyAgICAgICAgICAgbSB3
aXRoIGFyZ3VtZW50cyBGIGFuZCBmYWxzZS4KKyAgICBbLi4uXQorCisgICAgUnVudGltZSBTZW1h
bnRpY3M6IFByb3BlcnR5RGVmaW5pdGlvbkV2YWx1YXRpb24KKworICAgIEFzeW5jR2VuZXJhdG9y
TWV0aG9kIDoKKyAgICAgICAgYXN5bmMgW25vIExpbmVUZXJtaW5hdG9yIGhlcmVdICogUHJvcGVy
dHlOYW1lICggVW5pcXVlRm9ybWFsUGFyYW1ldGVycyApCisgICAgICAgICAgICB7IEFzeW5jR2Vu
ZXJhdG9yQm9keSB9CisKKyAgICAxLiBMZXQgcHJvcEtleSBiZSB0aGUgcmVzdWx0IG9mIGV2YWx1
YXRpbmcgUHJvcGVydHlOYW1lLgorICAgIDIuIFJldHVybklmQWJydXB0KHByb3BLZXkpLgorICAg
IDMuIElmIHRoZSBmdW5jdGlvbiBjb2RlIGZvciB0aGlzIEFzeW5jR2VuZXJhdG9yTWV0aG9kIGlz
IHN0cmljdCBtb2RlIGNvZGUsIGxldCBzdHJpY3QgYmUgdHJ1ZS4KKyAgICAgICBPdGhlcndpc2Ug
bGV0IHN0cmljdCBiZSBmYWxzZS4KKyAgICA0LiBMZXQgc2NvcGUgYmUgdGhlIHJ1bm5pbmcgZXhl
Y3V0aW9uIGNvbnRleHQncyBMZXhpY2FsRW52aXJvbm1lbnQuCisgICAgNS4gTGV0IGNsb3N1cmUg
YmUgISBBc3luY0dlbmVyYXRvckZ1bmN0aW9uQ3JlYXRlKE1ldGhvZCwgVW5pcXVlRm9ybWFsUGFy
YW1ldGVycywKKyAgICAgICBBc3luY0dlbmVyYXRvckJvZHksIHNjb3BlLCBzdHJpY3QpLgorICAg
IFsuLi5dCisKKworICAgIFJ1bnRpbWUgU2VtYW50aWNzOiBJdGVyYXRvckJpbmRpbmdJbml0aWFs
aXphdGlvbgorCisgICAgU2luZ2xlTmFtZUJpbmRpbmcgOiBCaW5kaW5nSWRlbnRpZmllciBJbml0
aWFsaXplcl9vcHQKKworICAgIDEuIExldCBiaW5kaW5nSWQgYmUgU3RyaW5nVmFsdWUgb2YgQmlu
ZGluZ0lkZW50aWZpZXIuCisgICAgMi4gTGV0IGxocyBiZSA/IFJlc29sdmVCaW5kaW5nKGJpbmRp
bmdJZCwgZW52aXJvbm1lbnQpLgorICAgIDMuIElmIGl0ZXJhdG9yUmVjb3JkLltbRG9uZV1dIGlz
IGZhbHNlLCB0aGVuCisgICAgICAgIGEuIExldCBuZXh0IGJlIEl0ZXJhdG9yU3RlcChpdGVyYXRv
clJlY29yZCkuCisgICAgICAgIGIuIElmIG5leHQgaXMgYW4gYWJydXB0IGNvbXBsZXRpb24sIHNl
dCBpdGVyYXRvclJlY29yZC5bW0RvbmVdXSB0byB0cnVlLgorICAgICAgICBjLiBSZXR1cm5JZkFi
cnVwdChuZXh0KS4KKyAgICAgICAgZC4gSWYgbmV4dCBpcyBmYWxzZSwgc2V0IGl0ZXJhdG9yUmVj
b3JkLltbRG9uZV1dIHRvIHRydWUuCisgICAgICAgIGUuIEVsc2UsCisgICAgICAgICAgICBpLiBM
ZXQgdiBiZSBJdGVyYXRvclZhbHVlKG5leHQpLgorICAgICAgICAgICAgaWkuIElmIHYgaXMgYW4g
YWJydXB0IGNvbXBsZXRpb24sIHNldCBpdGVyYXRvclJlY29yZC5bW0RvbmVdXSB0byB0cnVlLgor
ICAgICAgICAgICAgaWlpLiBSZXR1cm5JZkFicnVwdCh2KS4KKyAgICBbLi4uXQorICAgIDcuIFJl
dHVybiBJbml0aWFsaXplUmVmZXJlbmNlZEJpbmRpbmcobGhzLCB2KS4KKworLS0tKi8KK0FycmF5
LnByb3RvdHlwZVtTeW1ib2wuaXRlcmF0b3JdID0gZnVuY3Rpb24qICgpIHsKKyAgICBpZiAodGhp
cy5sZW5ndGggPiAwKSB7CisgICAgICAgIHlpZWxkIHRoaXNbMF07CisgICAgfQorICAgIGlmICh0
aGlzLmxlbmd0aCA+IDEpIHsKKyAgICAgICAgeWllbGQgdGhpc1sxXTsKKyAgICB9CisgICAgaWYg
KHRoaXMubGVuZ3RoID4gMikgeworICAgICAgICB5aWVsZCA0MjsKKyAgICB9Cit9OworCisKK3Zh
ciBjYWxsQ291bnQgPSAwOworY2xhc3MgQyB7CisgIHN0YXRpYyBhc3luYyAqbWV0aG9kKFt4LCB5
LCB6XSkgeworICAgIGFzc2VydC5zYW1lVmFsdWUoeCwgMSk7CisgICAgYXNzZXJ0LnNhbWVWYWx1
ZSh5LCAyKTsKKyAgICBhc3NlcnQuc2FtZVZhbHVlKHosIDQyKTsKKyAgICBjYWxsQ291bnQgPSBj
YWxsQ291bnQgKyAxOworICB9Cit9OworCitDLm1ldGhvZChbMSwgMiwgM10pLm5leHQoKS50aGVu
KCgpID0+IHsKKyAgICBhc3NlcnQuc2FtZVZhbHVlKGNhbGxDb3VudCwgMSwgJ2ludm9rZWQgZXhh
Y3RseSBvbmNlJyk7ICAgIAorfSkudGhlbigkRE9ORSwgJERPTkUpOwpkaWZmIC0tZ2l0IGEvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9kc3RyL2FzeW5jLWdl
bi1tZXRoLXN0YXRpYy1hcnktcHRybi1yZXN0LWlkLWRpcmVjdC5qcyBiL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZHN0ci9hc3luYy1nZW4tbWV0aC1zdGF0
aWMtYXJ5LXB0cm4tcmVzdC1pZC1kaXJlY3QuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGYzZWI0ZTkxMmYyNGYz
MDYzMzA4YmUyYzFjZjc4ZmVjMjg5Y2UwOQotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZHN0ci9hc3luYy1nZW4tbWV0aC1z
dGF0aWMtYXJ5LXB0cm4tcmVzdC1pZC1kaXJlY3QuanMKQEAgLTAsMCArMSw2OSBAQAorLy8gVGhp
cyBmaWxlIHdhcyBwcm9jZWR1cmFsbHkgZ2VuZXJhdGVkIGZyb20gdGhlIGZvbGxvd2luZyBzb3Vy
Y2VzOgorLy8gLSBzcmMvZHN0ci1iaW5kaW5nL2FyeS1wdHJuLXJlc3QtaWQtZGlyZWN0LmNhc2UK
Ky8vIC0gc3JjL2RzdHItYmluZGluZy9kZWZhdWx0L2Nscy1kZWNsLWFzeW5jLWdlbi1tZXRoLXN0
YXRpYy50ZW1wbGF0ZQorLyotLS0KK2Rlc2NyaXB0aW9uOiBMb25lIHJlc3QgZWxlbWVudCAoZGly
ZWN0IGJpbmRpbmcpIChzdGF0aWMgY2xhc3MgZXhwcmVzc2lvbiBhc3luYyBnZW5lcmF0b3IgbWV0
aG9kKQorZXNpZDogc2VjLXJ1bnRpbWUtc2VtYW50aWNzLWJpbmRpbmdjbGFzc2RlY2xhcmF0aW9u
ZXZhbHVhdGlvbgorZmVhdHVyZXM6IFthc3luYy1pdGVyYXRpb25dCitmbGFnczogW2dlbmVyYXRl
ZCwgYXN5bmNdCitpbmNsdWRlczogW2NvbXBhcmVBcnJheS5qc10KK2luZm86IHwKKyAgICBDbGFz
c0RlY2xhcmF0aW9uIDogY2xhc3MgQmluZGluZ0lkZW50aWZpZXIgQ2xhc3NUYWlsCisKKyAgICAx
LiBMZXQgY2xhc3NOYW1lIGJlIFN0cmluZ1ZhbHVlIG9mIEJpbmRpbmdJZGVudGlmaWVyLgorICAg
IDIuIExldCB2YWx1ZSBiZSB0aGUgcmVzdWx0IG9mIENsYXNzRGVmaW5pdGlvbkV2YWx1YXRpb24g
b2YgQ2xhc3NUYWlsIHdpdGgKKyAgICAgICBhcmd1bWVudCBjbGFzc05hbWUuCisgICAgWy4uLl0K
KworICAgIDE0LjUuMTQgUnVudGltZSBTZW1hbnRpY3M6IENsYXNzRGVmaW5pdGlvbkV2YWx1YXRp
b24KKworICAgIDIxLiBGb3IgZWFjaCBDbGFzc0VsZW1lbnQgbSBpbiBvcmRlciBmcm9tIG1ldGhv
ZHMKKyAgICAgICAgYS4gSWYgSXNTdGF0aWMgb2YgbSBpcyBmYWxzZSwgdGhlbgorICAgICAgICBi
LiBFbHNlLAorICAgICAgICAgICBMZXQgc3RhdHVzIGJlIHRoZSByZXN1bHQgb2YgcGVyZm9ybWlu
ZyBQcm9wZXJ0eURlZmluaXRpb25FdmFsdWF0aW9uIGZvcgorICAgICAgICAgICBtIHdpdGggYXJn
dW1lbnRzIEYgYW5kIGZhbHNlLgorICAgIFsuLi5dCisKKyAgICBSdW50aW1lIFNlbWFudGljczog
UHJvcGVydHlEZWZpbml0aW9uRXZhbHVhdGlvbgorCisgICAgQXN5bmNHZW5lcmF0b3JNZXRob2Qg
OgorICAgICAgICBhc3luYyBbbm8gTGluZVRlcm1pbmF0b3IgaGVyZV0gKiBQcm9wZXJ0eU5hbWUg
KCBVbmlxdWVGb3JtYWxQYXJhbWV0ZXJzICkKKyAgICAgICAgICAgIHsgQXN5bmNHZW5lcmF0b3JC
b2R5IH0KKworICAgIDEuIExldCBwcm9wS2V5IGJlIHRoZSByZXN1bHQgb2YgZXZhbHVhdGluZyBQ
cm9wZXJ0eU5hbWUuCisgICAgMi4gUmV0dXJuSWZBYnJ1cHQocHJvcEtleSkuCisgICAgMy4gSWYg
dGhlIGZ1bmN0aW9uIGNvZGUgZm9yIHRoaXMgQXN5bmNHZW5lcmF0b3JNZXRob2QgaXMgc3RyaWN0
IG1vZGUgY29kZSwgbGV0IHN0cmljdCBiZSB0cnVlLgorICAgICAgIE90aGVyd2lzZSBsZXQgc3Ry
aWN0IGJlIGZhbHNlLgorICAgIDQuIExldCBzY29wZSBiZSB0aGUgcnVubmluZyBleGVjdXRpb24g
Y29udGV4dCdzIExleGljYWxFbnZpcm9ubWVudC4KKyAgICA1LiBMZXQgY2xvc3VyZSBiZSAhIEFz
eW5jR2VuZXJhdG9yRnVuY3Rpb25DcmVhdGUoTWV0aG9kLCBVbmlxdWVGb3JtYWxQYXJhbWV0ZXJz
LAorICAgICAgIEFzeW5jR2VuZXJhdG9yQm9keSwgc2NvcGUsIHN0cmljdCkuCisgICAgWy4uLl0K
KworCisgICAgUnVudGltZSBTZW1hbnRpY3M6IEl0ZXJhdG9yQmluZGluZ0luaXRpYWxpemF0aW9u
CisKKyAgICBCaW5kaW5nUmVzdEVsZW1lbnQgOiAuLi4gQmluZGluZ0lkZW50aWZpZXIKKworICAg
IFsuLi5dCisgICAgMi4gTGV0IEEgYmUgISBBcnJheUNyZWF0ZSgwKS4KKyAgICAzLiBMZXQgbiBi
ZSAwLgorICAgIDQuIFJlcGVhdCwKKyAgICAgICAgWy4uLl0KKyAgICAgICAgZi4gUGVyZm9ybSAh
IENyZWF0ZURhdGFQcm9wZXJ0eU9yVGhyb3coQSwgISBUb1N0cmluZyhuKSwgbmV4dFZhbHVlKS4K
KyAgICAgICAgZy4gU2V0IG4gdG8gbiArIDEuCisKKy0tLSovCisKKwordmFyIGNhbGxDb3VudCA9
IDA7CitjbGFzcyBDIHsKKyAgc3RhdGljIGFzeW5jICptZXRob2QoWy4uLnhdKSB7CisgICAgYXNz
ZXJ0KEFycmF5LmlzQXJyYXkoeCkpOworICAgIGFzc2VydC5jb21wYXJlQXJyYXkoeCwgWzFdKTsK
KyAgICBjYWxsQ291bnQgPSBjYWxsQ291bnQgKyAxOworICB9Cit9OworCitDLm1ldGhvZChbMV0p
Lm5leHQoKS50aGVuKCgpID0+IHsKKyAgICBhc3NlcnQuc2FtZVZhbHVlKGNhbGxDb3VudCwgMSwg
J2ludm9rZWQgZXhhY3RseSBvbmNlJyk7ICAgIAorfSkudGhlbigkRE9ORSwgJERPTkUpOwpkaWZm
IC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9k
c3RyL2FzeW5jLWdlbi1tZXRoLXN0YXRpYy1kZmx0LWFyeS1pbml0LWl0ZXItZ2V0LWVyci1hcnJh
eS1wcm90b3R5cGUuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRz
L2NsYXNzL2RzdHIvYXN5bmMtZ2VuLW1ldGgtc3RhdGljLWRmbHQtYXJ5LWluaXQtaXRlci1nZXQt
ZXJyLWFycmF5LXByb3RvdHlwZS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lNjg5YzU3NzQ3M2Y3MmI1NDZmMmJk
ZWNkNDg4ZDMwYWY1ZTdiMzhiCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9kc3RyL2FzeW5jLWdlbi1tZXRoLXN0YXRpYy1k
Zmx0LWFyeS1pbml0LWl0ZXItZ2V0LWVyci1hcnJheS1wcm90b3R5cGUuanMKQEAgLTAsMCArMSw3
MSBAQAorLy8gVGhpcyBmaWxlIHdhcyBwcm9jZWR1cmFsbHkgZ2VuZXJhdGVkIGZyb20gdGhlIGZv
bGxvd2luZyBzb3VyY2VzOgorLy8gLSBzcmMvZHN0ci1iaW5kaW5nL2FyeS1pbml0LWl0ZXItZ2V0
LWVyci1hcnJheS1wcm90b3R5cGUuY2FzZQorLy8gLSBzcmMvZHN0ci1iaW5kaW5nL2Vycm9yL2Ns
cy1kZWNsLWFzeW5jLWdlbi1tZXRoLXN0YXRpYy1kZmx0LnRlbXBsYXRlCisvKi0tLQorZGVzY3Jp
cHRpb246IEFicnVwdCBjb21wbGV0aW9uIHJldHVybmVkIGJ5IEdldEl0ZXJhdG9yIChzdGF0aWMg
Y2xhc3MgZXhwcmVzc2lvbiBhc3luYyBnZW5lcmF0b3IgbWV0aG9kIChkZWZhdWx0IHBhcmFtZXRl
cikpCitlc2lkOiBzZWMtcnVudGltZS1zZW1hbnRpY3MtYmluZGluZ2NsYXNzZGVjbGFyYXRpb25l
dmFsdWF0aW9uCitmZWF0dXJlczogW1N5bWJvbC5pdGVyYXRvciwgYXN5bmMtaXRlcmF0aW9uXQor
ZmxhZ3M6IFtnZW5lcmF0ZWRdCitpbmZvOiB8CisgICAgQ2xhc3NEZWNsYXJhdGlvbiA6IGNsYXNz
IEJpbmRpbmdJZGVudGlmaWVyIENsYXNzVGFpbAorCisgICAgMS4gTGV0IGNsYXNzTmFtZSBiZSBT
dHJpbmdWYWx1ZSBvZiBCaW5kaW5nSWRlbnRpZmllci4KKyAgICAyLiBMZXQgdmFsdWUgYmUgdGhl
IHJlc3VsdCBvZiBDbGFzc0RlZmluaXRpb25FdmFsdWF0aW9uIG9mIENsYXNzVGFpbCB3aXRoCisg
ICAgICAgYXJndW1lbnQgY2xhc3NOYW1lLgorICAgIFsuLi5dCisKKyAgICAxNC41LjE0IFJ1bnRp
bWUgU2VtYW50aWNzOiBDbGFzc0RlZmluaXRpb25FdmFsdWF0aW9uCisKKyAgICAyMS4gRm9yIGVh
Y2ggQ2xhc3NFbGVtZW50IG0gaW4gb3JkZXIgZnJvbSBtZXRob2RzCisgICAgICAgIGEuIElmIElz
U3RhdGljIG9mIG0gaXMgZmFsc2UsIHRoZW4KKyAgICAgICAgYi4gRWxzZSwKKyAgICAgICAgICAg
TGV0IHN0YXR1cyBiZSB0aGUgcmVzdWx0IG9mIHBlcmZvcm1pbmcgUHJvcGVydHlEZWZpbml0aW9u
RXZhbHVhdGlvbiBmb3IKKyAgICAgICAgICAgbSB3aXRoIGFyZ3VtZW50cyBGIGFuZCBmYWxzZS4K
KyAgICBbLi4uXQorCisgICAgUnVudGltZSBTZW1hbnRpY3M6IFByb3BlcnR5RGVmaW5pdGlvbkV2
YWx1YXRpb24KKworICAgIEFzeW5jR2VuZXJhdG9yTWV0aG9kIDoKKyAgICAgICAgYXN5bmMgW25v
IExpbmVUZXJtaW5hdG9yIGhlcmVdICogUHJvcGVydHlOYW1lICggVW5pcXVlRm9ybWFsUGFyYW1l
dGVycyApCisgICAgICAgICAgICB7IEFzeW5jR2VuZXJhdG9yQm9keSB9CisKKyAgICAxLiBMZXQg
cHJvcEtleSBiZSB0aGUgcmVzdWx0IG9mIGV2YWx1YXRpbmcgUHJvcGVydHlOYW1lLgorICAgIDIu
IFJldHVybklmQWJydXB0KHByb3BLZXkpLgorICAgIDMuIElmIHRoZSBmdW5jdGlvbiBjb2RlIGZv
ciB0aGlzIEFzeW5jR2VuZXJhdG9yTWV0aG9kIGlzIHN0cmljdCBtb2RlIGNvZGUsIGxldCBzdHJp
Y3QgYmUgdHJ1ZS4KKyAgICAgICBPdGhlcndpc2UgbGV0IHN0cmljdCBiZSBmYWxzZS4KKyAgICA0
LiBMZXQgc2NvcGUgYmUgdGhlIHJ1bm5pbmcgZXhlY3V0aW9uIGNvbnRleHQncyBMZXhpY2FsRW52
aXJvbm1lbnQuCisgICAgNS4gTGV0IGNsb3N1cmUgYmUgISBBc3luY0dlbmVyYXRvckZ1bmN0aW9u
Q3JlYXRlKE1ldGhvZCwgVW5pcXVlRm9ybWFsUGFyYW1ldGVycywKKyAgICAgICBBc3luY0dlbmVy
YXRvckJvZHksIHNjb3BlLCBzdHJpY3QpLgorICAgIFsuLi5dCisKKyAgICBSdW50aW1lIFNlbWFu
dGljczogQmluZGluZ0luaXRpYWxpemF0aW9uCisKKyAgICBCaW5kaW5nUGF0dGVybiA6IEFycmF5
QmluZGluZ1BhdHRlcm4KKworICAgIDEuIExldCBpdGVyYXRvclJlY29yZCBiZSA/IEdldEl0ZXJh
dG9yKHZhbHVlKS4KKworICAgIEdldEl0ZXJhdG9yICggb2JqIFsgLCBoaW50IFsgLCBtZXRob2Qg
XSBdICkKKworICAgIFsuLi5dCisgICAgNC4gTGV0IGl0ZXJhdG9yIGJlID8gQ2FsbChtZXRob2Qs
IG9iaikuCisKKyAgICBDYWxsICggRiwgViBbICwgYXJndW1lbnRzTGlzdCBdICkKKworICAgIFsu
Li5dCisgICAgMi4gSWYgSXNDYWxsYWJsZShGKSBpcyBmYWxzZSwgdGhyb3cgYSBUeXBlRXJyb3Ig
ZXhjZXB0aW9uLgorCistLS0qLworZGVsZXRlIEFycmF5LnByb3RvdHlwZVtTeW1ib2wuaXRlcmF0
b3JdOworCisKK2NsYXNzIEMgeworICBzdGF0aWMgYXN5bmMgKm1ldGhvZChbeCwgeSwgel0gPSBb
MSwgMiwgM10pIHsKKyAgICAKKyAgfQorfTsKKwordmFyIG1ldGhvZCA9IEMubWV0aG9kOworCith
c3NlcnQudGhyb3dzKFR5cGVFcnJvciwgZnVuY3Rpb24oKSB7CisgIG1ldGhvZCgpOworfSk7CmRp
ZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNz
L2RzdHIvYXN5bmMtZ2VuLW1ldGgtc3RhdGljLWRmbHQtYXJ5LXB0cm4tZWxlbS1pZC1pdGVyLXZh
bC1hcnJheS1wcm90b3R5cGUuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0
ZW1lbnRzL2NsYXNzL2RzdHIvYXN5bmMtZ2VuLW1ldGgtc3RhdGljLWRmbHQtYXJ5LXB0cm4tZWxl
bS1pZC1pdGVyLXZhbC1hcnJheS1wcm90b3R5cGUuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZWUzZDdkNTU4NzE4
MTdlZTVmZTc2ODFjOWNmNGJhZDRhOWVhZjE0ZAotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZHN0ci9hc3luYy1nZW4tbWV0
aC1zdGF0aWMtZGZsdC1hcnktcHRybi1lbGVtLWlkLWl0ZXItdmFsLWFycmF5LXByb3RvdHlwZS5q
cwpAQCAtMCwwICsxLDg2IEBACisvLyBUaGlzIGZpbGUgd2FzIHByb2NlZHVyYWxseSBnZW5lcmF0
ZWQgZnJvbSB0aGUgZm9sbG93aW5nIHNvdXJjZXM6CisvLyAtIHNyYy9kc3RyLWJpbmRpbmcvYXJ5
LXB0cm4tZWxlbS1pZC1pdGVyLXZhbC1hcnJheS1wcm90b3R5cGUuY2FzZQorLy8gLSBzcmMvZHN0
ci1iaW5kaW5nL2RlZmF1bHQvY2xzLWRlY2wtYXN5bmMtZ2VuLW1ldGgtc3RhdGljLWRmbHQudGVt
cGxhdGUKKy8qLS0tCitkZXNjcmlwdGlvbjogQXJyYXkgZGVzdHJ1Y3R1cmluZyB1c2VzIG92ZXJy
aWRlbiBBcnJheS5wcm90b3R5cGVbU3ltYm9sLml0ZXJhdG9yXSAoc3RhdGljIGNsYXNzIGV4cHJl
c3Npb24gYXN5bmMgZ2VuZXJhdG9yIG1ldGhvZCAoZGVmYXVsdCBwYXJhbWV0ZXIpKQorZXNpZDog
c2VjLXJ1bnRpbWUtc2VtYW50aWNzLWJpbmRpbmdjbGFzc2RlY2xhcmF0aW9uZXZhbHVhdGlvbgor
ZmVhdHVyZXM6IFtTeW1ib2wuaXRlcmF0b3IsIGdlbmVyYXRvcnMsIGFzeW5jLWl0ZXJhdGlvbl0K
K2ZsYWdzOiBbZ2VuZXJhdGVkLCBhc3luY10KK2luZm86IHwKKyAgICBDbGFzc0RlY2xhcmF0aW9u
IDogY2xhc3MgQmluZGluZ0lkZW50aWZpZXIgQ2xhc3NUYWlsCisKKyAgICAxLiBMZXQgY2xhc3NO
YW1lIGJlIFN0cmluZ1ZhbHVlIG9mIEJpbmRpbmdJZGVudGlmaWVyLgorICAgIDIuIExldCB2YWx1
ZSBiZSB0aGUgcmVzdWx0IG9mIENsYXNzRGVmaW5pdGlvbkV2YWx1YXRpb24gb2YgQ2xhc3NUYWls
IHdpdGgKKyAgICAgICBhcmd1bWVudCBjbGFzc05hbWUuCisgICAgWy4uLl0KKworICAgIDE0LjUu
MTQgUnVudGltZSBTZW1hbnRpY3M6IENsYXNzRGVmaW5pdGlvbkV2YWx1YXRpb24KKworICAgIDIx
LiBGb3IgZWFjaCBDbGFzc0VsZW1lbnQgbSBpbiBvcmRlciBmcm9tIG1ldGhvZHMKKyAgICAgICAg
YS4gSWYgSXNTdGF0aWMgb2YgbSBpcyBmYWxzZSwgdGhlbgorICAgICAgICBiLiBFbHNlLAorICAg
ICAgICAgICBMZXQgc3RhdHVzIGJlIHRoZSByZXN1bHQgb2YgcGVyZm9ybWluZyBQcm9wZXJ0eURl
ZmluaXRpb25FdmFsdWF0aW9uIGZvcgorICAgICAgICAgICBtIHdpdGggYXJndW1lbnRzIEYgYW5k
IGZhbHNlLgorICAgIFsuLi5dCisKKyAgICBSdW50aW1lIFNlbWFudGljczogUHJvcGVydHlEZWZp
bml0aW9uRXZhbHVhdGlvbgorCisgICAgQXN5bmNHZW5lcmF0b3JNZXRob2QgOgorICAgICAgICBh
c3luYyBbbm8gTGluZVRlcm1pbmF0b3IgaGVyZV0gKiBQcm9wZXJ0eU5hbWUgKCBVbmlxdWVGb3Jt
YWxQYXJhbWV0ZXJzICkKKyAgICAgICAgICAgIHsgQXN5bmNHZW5lcmF0b3JCb2R5IH0KKworICAg
IDEuIExldCBwcm9wS2V5IGJlIHRoZSByZXN1bHQgb2YgZXZhbHVhdGluZyBQcm9wZXJ0eU5hbWUu
CisgICAgMi4gUmV0dXJuSWZBYnJ1cHQocHJvcEtleSkuCisgICAgMy4gSWYgdGhlIGZ1bmN0aW9u
IGNvZGUgZm9yIHRoaXMgQXN5bmNHZW5lcmF0b3JNZXRob2QgaXMgc3RyaWN0IG1vZGUgY29kZSwg
bGV0IHN0cmljdCBiZSB0cnVlLgorICAgICAgIE90aGVyd2lzZSBsZXQgc3RyaWN0IGJlIGZhbHNl
LgorICAgIDQuIExldCBzY29wZSBiZSB0aGUgcnVubmluZyBleGVjdXRpb24gY29udGV4dCdzIExl
eGljYWxFbnZpcm9ubWVudC4KKyAgICA1LiBMZXQgY2xvc3VyZSBiZSAhIEFzeW5jR2VuZXJhdG9y
RnVuY3Rpb25DcmVhdGUoTWV0aG9kLCBVbmlxdWVGb3JtYWxQYXJhbWV0ZXJzLAorICAgICAgIEFz
eW5jR2VuZXJhdG9yQm9keSwgc2NvcGUsIHN0cmljdCkuCisgICAgWy4uLl0KKworCisgICAgUnVu
dGltZSBTZW1hbnRpY3M6IEl0ZXJhdG9yQmluZGluZ0luaXRpYWxpemF0aW9uCisKKyAgICBTaW5n
bGVOYW1lQmluZGluZyA6IEJpbmRpbmdJZGVudGlmaWVyIEluaXRpYWxpemVyX29wdAorCisgICAg
MS4gTGV0IGJpbmRpbmdJZCBiZSBTdHJpbmdWYWx1ZSBvZiBCaW5kaW5nSWRlbnRpZmllci4KKyAg
ICAyLiBMZXQgbGhzIGJlID8gUmVzb2x2ZUJpbmRpbmcoYmluZGluZ0lkLCBlbnZpcm9ubWVudCku
CisgICAgMy4gSWYgaXRlcmF0b3JSZWNvcmQuW1tEb25lXV0gaXMgZmFsc2UsIHRoZW4KKyAgICAg
ICAgYS4gTGV0IG5leHQgYmUgSXRlcmF0b3JTdGVwKGl0ZXJhdG9yUmVjb3JkKS4KKyAgICAgICAg
Yi4gSWYgbmV4dCBpcyBhbiBhYnJ1cHQgY29tcGxldGlvbiwgc2V0IGl0ZXJhdG9yUmVjb3JkLltb
RG9uZV1dIHRvIHRydWUuCisgICAgICAgIGMuIFJldHVybklmQWJydXB0KG5leHQpLgorICAgICAg
ICBkLiBJZiBuZXh0IGlzIGZhbHNlLCBzZXQgaXRlcmF0b3JSZWNvcmQuW1tEb25lXV0gdG8gdHJ1
ZS4KKyAgICAgICAgZS4gRWxzZSwKKyAgICAgICAgICAgIGkuIExldCB2IGJlIEl0ZXJhdG9yVmFs
dWUobmV4dCkuCisgICAgICAgICAgICBpaS4gSWYgdiBpcyBhbiBhYnJ1cHQgY29tcGxldGlvbiwg
c2V0IGl0ZXJhdG9yUmVjb3JkLltbRG9uZV1dIHRvIHRydWUuCisgICAgICAgICAgICBpaWkuIFJl
dHVybklmQWJydXB0KHYpLgorICAgIFsuLi5dCisgICAgNy4gUmV0dXJuIEluaXRpYWxpemVSZWZl
cmVuY2VkQmluZGluZyhsaHMsIHYpLgorCistLS0qLworQXJyYXkucHJvdG90eXBlW1N5bWJvbC5p
dGVyYXRvcl0gPSBmdW5jdGlvbiogKCkgeworICAgIGlmICh0aGlzLmxlbmd0aCA+IDApIHsKKyAg
ICAgICAgeWllbGQgdGhpc1swXTsKKyAgICB9CisgICAgaWYgKHRoaXMubGVuZ3RoID4gMSkgewor
ICAgICAgICB5aWVsZCB0aGlzWzFdOworICAgIH0KKyAgICBpZiAodGhpcy5sZW5ndGggPiAyKSB7
CisgICAgICAgIHlpZWxkIDQyOworICAgIH0KK307CisKKwordmFyIGNhbGxDb3VudCA9IDA7Citj
bGFzcyBDIHsKKyAgc3RhdGljIGFzeW5jICptZXRob2QoW3gsIHksIHpdID0gWzEsIDIsIDNdKSB7
CisgICAgYXNzZXJ0LnNhbWVWYWx1ZSh4LCAxKTsKKyAgICBhc3NlcnQuc2FtZVZhbHVlKHksIDIp
OworICAgIGFzc2VydC5zYW1lVmFsdWUoeiwgNDIpOworICAgIGNhbGxDb3VudCA9IGNhbGxDb3Vu
dCArIDE7CisgIH0KK307CisKK0MubWV0aG9kKCkubmV4dCgpLnRoZW4oKCkgPT4geworICAgIGFz
c2VydC5zYW1lVmFsdWUoY2FsbENvdW50LCAxLCAnaW52b2tlZCBleGFjdGx5IG9uY2UnKTsgICAg
Cit9KS50aGVuKCRET05FLCAkRE9ORSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2RzdHIvYXN5bmMtZ2VuLW1ldGgtc3RhdGljLWRm
bHQtYXJ5LXB0cm4tcmVzdC1pZC1kaXJlY3QuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5n
dWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2RzdHIvYXN5bmMtZ2VuLW1ldGgtc3RhdGljLWRmbHQtYXJ5
LXB0cm4tcmVzdC1pZC1kaXJlY3QuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTVjMmRjMzVhZDkwNWI2NTA5YWFj
NWM3MDUxYjZkYjc2ZmJjNzg2YgotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZHN0ci9hc3luYy1nZW4tbWV0aC1zdGF0aWMt
ZGZsdC1hcnktcHRybi1yZXN0LWlkLWRpcmVjdC5qcwpAQCAtMCwwICsxLDY5IEBACisvLyBUaGlz
IGZpbGUgd2FzIHByb2NlZHVyYWxseSBnZW5lcmF0ZWQgZnJvbSB0aGUgZm9sbG93aW5nIHNvdXJj
ZXM6CisvLyAtIHNyYy9kc3RyLWJpbmRpbmcvYXJ5LXB0cm4tcmVzdC1pZC1kaXJlY3QuY2FzZQor
Ly8gLSBzcmMvZHN0ci1iaW5kaW5nL2RlZmF1bHQvY2xzLWRlY2wtYXN5bmMtZ2VuLW1ldGgtc3Rh
dGljLWRmbHQudGVtcGxhdGUKKy8qLS0tCitkZXNjcmlwdGlvbjogTG9uZSByZXN0IGVsZW1lbnQg
KGRpcmVjdCBiaW5kaW5nKSAoc3RhdGljIGNsYXNzIGV4cHJlc3Npb24gYXN5bmMgZ2VuZXJhdG9y
IG1ldGhvZCAoZGVmYXVsdCBwYXJhbWV0ZXIpKQorZXNpZDogc2VjLXJ1bnRpbWUtc2VtYW50aWNz
LWJpbmRpbmdjbGFzc2RlY2xhcmF0aW9uZXZhbHVhdGlvbgorZmVhdHVyZXM6IFthc3luYy1pdGVy
YXRpb25dCitmbGFnczogW2dlbmVyYXRlZCwgYXN5bmNdCitpbmNsdWRlczogW2NvbXBhcmVBcnJh
eS5qc10KK2luZm86IHwKKyAgICBDbGFzc0RlY2xhcmF0aW9uIDogY2xhc3MgQmluZGluZ0lkZW50
aWZpZXIgQ2xhc3NUYWlsCisKKyAgICAxLiBMZXQgY2xhc3NOYW1lIGJlIFN0cmluZ1ZhbHVlIG9m
IEJpbmRpbmdJZGVudGlmaWVyLgorICAgIDIuIExldCB2YWx1ZSBiZSB0aGUgcmVzdWx0IG9mIENs
YXNzRGVmaW5pdGlvbkV2YWx1YXRpb24gb2YgQ2xhc3NUYWlsIHdpdGgKKyAgICAgICBhcmd1bWVu
dCBjbGFzc05hbWUuCisgICAgWy4uLl0KKworICAgIDE0LjUuMTQgUnVudGltZSBTZW1hbnRpY3M6
IENsYXNzRGVmaW5pdGlvbkV2YWx1YXRpb24KKworICAgIDIxLiBGb3IgZWFjaCBDbGFzc0VsZW1l
bnQgbSBpbiBvcmRlciBmcm9tIG1ldGhvZHMKKyAgICAgICAgYS4gSWYgSXNTdGF0aWMgb2YgbSBp
cyBmYWxzZSwgdGhlbgorICAgICAgICBiLiBFbHNlLAorICAgICAgICAgICBMZXQgc3RhdHVzIGJl
IHRoZSByZXN1bHQgb2YgcGVyZm9ybWluZyBQcm9wZXJ0eURlZmluaXRpb25FdmFsdWF0aW9uIGZv
cgorICAgICAgICAgICBtIHdpdGggYXJndW1lbnRzIEYgYW5kIGZhbHNlLgorICAgIFsuLi5dCisK
KyAgICBSdW50aW1lIFNlbWFudGljczogUHJvcGVydHlEZWZpbml0aW9uRXZhbHVhdGlvbgorCisg
ICAgQXN5bmNHZW5lcmF0b3JNZXRob2QgOgorICAgICAgICBhc3luYyBbbm8gTGluZVRlcm1pbmF0
b3IgaGVyZV0gKiBQcm9wZXJ0eU5hbWUgKCBVbmlxdWVGb3JtYWxQYXJhbWV0ZXJzICkKKyAgICAg
ICAgICAgIHsgQXN5bmNHZW5lcmF0b3JCb2R5IH0KKworICAgIDEuIExldCBwcm9wS2V5IGJlIHRo
ZSByZXN1bHQgb2YgZXZhbHVhdGluZyBQcm9wZXJ0eU5hbWUuCisgICAgMi4gUmV0dXJuSWZBYnJ1
cHQocHJvcEtleSkuCisgICAgMy4gSWYgdGhlIGZ1bmN0aW9uIGNvZGUgZm9yIHRoaXMgQXN5bmNH
ZW5lcmF0b3JNZXRob2QgaXMgc3RyaWN0IG1vZGUgY29kZSwgbGV0IHN0cmljdCBiZSB0cnVlLgor
ICAgICAgIE90aGVyd2lzZSBsZXQgc3RyaWN0IGJlIGZhbHNlLgorICAgIDQuIExldCBzY29wZSBi
ZSB0aGUgcnVubmluZyBleGVjdXRpb24gY29udGV4dCdzIExleGljYWxFbnZpcm9ubWVudC4KKyAg
ICA1LiBMZXQgY2xvc3VyZSBiZSAhIEFzeW5jR2VuZXJhdG9yRnVuY3Rpb25DcmVhdGUoTWV0aG9k
LCBVbmlxdWVGb3JtYWxQYXJhbWV0ZXJzLAorICAgICAgIEFzeW5jR2VuZXJhdG9yQm9keSwgc2Nv
cGUsIHN0cmljdCkuCisgICAgWy4uLl0KKworCisgICAgUnVudGltZSBTZW1hbnRpY3M6IEl0ZXJh
dG9yQmluZGluZ0luaXRpYWxpemF0aW9uCisKKyAgICBCaW5kaW5nUmVzdEVsZW1lbnQgOiAuLi4g
QmluZGluZ0lkZW50aWZpZXIKKworICAgIFsuLi5dCisgICAgMi4gTGV0IEEgYmUgISBBcnJheUNy
ZWF0ZSgwKS4KKyAgICAzLiBMZXQgbiBiZSAwLgorICAgIDQuIFJlcGVhdCwKKyAgICAgICAgWy4u
Ll0KKyAgICAgICAgZi4gUGVyZm9ybSAhIENyZWF0ZURhdGFQcm9wZXJ0eU9yVGhyb3coQSwgISBU
b1N0cmluZyhuKSwgbmV4dFZhbHVlKS4KKyAgICAgICAgZy4gU2V0IG4gdG8gbiArIDEuCisKKy0t
LSovCisKKwordmFyIGNhbGxDb3VudCA9IDA7CitjbGFzcyBDIHsKKyAgc3RhdGljIGFzeW5jICpt
ZXRob2QoWy4uLnhdID0gWzFdKSB7CisgICAgYXNzZXJ0KEFycmF5LmlzQXJyYXkoeCkpOworICAg
IGFzc2VydC5jb21wYXJlQXJyYXkoeCwgWzFdKTsKKyAgICBjYWxsQ291bnQgPSBjYWxsQ291bnQg
KyAxOworICB9Cit9OworCitDLm1ldGhvZCgpLm5leHQoKS50aGVuKCgpID0+IHsKKyAgICBhc3Nl
cnQuc2FtZVZhbHVlKGNhbGxDb3VudCwgMSwgJ2ludm9rZWQgZXhhY3RseSBvbmNlJyk7ICAgIAor
fSkudGhlbigkRE9ORSwgJERPTkUpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
bGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9kc3RyL2FzeW5jLXByaXZhdGUtZ2VuLW1ldGgtYXJ5
LXB0cm4tZWxlbS1pZC1pdGVyLXZhbC1hcnJheS1wcm90b3R5cGUuanMgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2RzdHIvYXN5bmMtcHJpdmF0ZS1nZW4t
bWV0aC1hcnktcHRybi1lbGVtLWlkLWl0ZXItdmFsLWFycmF5LXByb3RvdHlwZS5qcwpuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4wMjFkNGUyYTMwMjgxYWExZjFlOWYzZDUwNGE2ZGI0MWIwZTc1YTZjCi0tLSAvZGV2L251
bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9k
c3RyL2FzeW5jLXByaXZhdGUtZ2VuLW1ldGgtYXJ5LXB0cm4tZWxlbS1pZC1pdGVyLXZhbC1hcnJh
eS1wcm90b3R5cGUuanMKQEAgLTAsMCArMSw5MCBAQAorLy8gVGhpcyBmaWxlIHdhcyBwcm9jZWR1
cmFsbHkgZ2VuZXJhdGVkIGZyb20gdGhlIGZvbGxvd2luZyBzb3VyY2VzOgorLy8gLSBzcmMvZHN0
ci1iaW5kaW5nL2FyeS1wdHJuLWVsZW0taWQtaXRlci12YWwtYXJyYXktcHJvdG90eXBlLmNhc2UK
Ky8vIC0gc3JjL2RzdHItYmluZGluZy9kZWZhdWx0L2Nscy1kZWNsLWFzeW5jLXByaXZhdGUtZ2Vu
LW1ldGgudGVtcGxhdGUKKy8qLS0tCitkZXNjcmlwdGlvbjogQXJyYXkgZGVzdHJ1Y3R1cmluZyB1
c2VzIG92ZXJyaWRlbiBBcnJheS5wcm90b3R5cGVbU3ltYm9sLml0ZXJhdG9yXSAocHJpdmF0ZSBj
bGFzcyBleHByZXNzaW9uIG1ldGhvZCkKK2VzaWQ6IHNlYy1jbGFzcy1kZWZpbml0aW9ucy1ydW50
aW1lLXNlbWFudGljcy1ldmFsdWF0aW9uCitmZWF0dXJlczogW1N5bWJvbC5pdGVyYXRvciwgZ2Vu
ZXJhdG9ycywgY2xhc3MsIGNsYXNzLW1ldGhvZHMtcHJpdmF0ZSwgYXN5bmMtaXRlcmF0aW9uXQor
ZmxhZ3M6IFtnZW5lcmF0ZWQsIGFzeW5jXQoraW5mbzogfAorICAgIENsYXNzRGVjbGFyYXRpb24g
OiBjbGFzcyBCaW5kaW5nSWRlbnRpZmllciBDbGFzc1RhaWwKKworICAgIDEuIExldCBjbGFzc05h
bWUgYmUgU3RyaW5nVmFsdWUgb2YgQmluZGluZ0lkZW50aWZpZXIuCisgICAgMi4gTGV0IHZhbHVl
IGJlIHRoZSByZXN1bHQgb2YgQ2xhc3NEZWZpbml0aW9uRXZhbHVhdGlvbiBvZiBDbGFzc1RhaWwg
d2l0aAorICAgICAgIGFyZ3VtZW50IGNsYXNzTmFtZS4KKyAgICBbLi4uXQorCisgICAgMTQuNS4x
NCBSdW50aW1lIFNlbWFudGljczogQ2xhc3NEZWZpbml0aW9uRXZhbHVhdGlvbgorCisgICAgMjEu
IEZvciBlYWNoIENsYXNzRWxlbWVudCBtIGluIG9yZGVyIGZyb20gbWV0aG9kcworICAgICAgICBh
LiBJZiBJc1N0YXRpYyBvZiBtIGlzIGZhbHNlLCB0aGVuCisgICAgICAgICAgIGkuIExldCBzdGF0
dXMgYmUgdGhlIHJlc3VsdCBvZiBwZXJmb3JtaW5nCisgICAgICAgICAgICAgIFByb3BlcnR5RGVm
aW5pdGlvbkV2YWx1YXRpb24gZm9yIG0gd2l0aCBhcmd1bWVudHMgcHJvdG8gYW5kCisgICAgICAg
ICAgICAgIGZhbHNlLgorICAgICAgICBbLi4uXQorCisgICAgUnVudGltZSBTZW1hbnRpY3M6IFBy
b3BlcnR5RGVmaW5pdGlvbkV2YWx1YXRpb24KKworICAgIEFzeW5jR2VuZXJhdG9yTWV0aG9kIDoK
KyAgICAgICAgYXN5bmMgW25vIExpbmVUZXJtaW5hdG9yIGhlcmVdICogUHJvcGVydHlOYW1lICgg
VW5pcXVlRm9ybWFsUGFyYW1ldGVycyApCisgICAgICAgICAgICB7IEFzeW5jR2VuZXJhdG9yQm9k
eSB9CisKKyAgICAxLiBMZXQgcHJvcEtleSBiZSB0aGUgcmVzdWx0IG9mIGV2YWx1YXRpbmcgUHJv
cGVydHlOYW1lLgorICAgIDIuIFJldHVybklmQWJydXB0KHByb3BLZXkpLgorICAgIDMuIElmIHRo
ZSBmdW5jdGlvbiBjb2RlIGZvciB0aGlzIEFzeW5jR2VuZXJhdG9yTWV0aG9kIGlzIHN0cmljdCBt
b2RlIGNvZGUsIGxldCBzdHJpY3QgYmUgdHJ1ZS4KKyAgICAgICBPdGhlcndpc2UgbGV0IHN0cmlj
dCBiZSBmYWxzZS4KKyAgICA0LiBMZXQgc2NvcGUgYmUgdGhlIHJ1bm5pbmcgZXhlY3V0aW9uIGNv
bnRleHQncyBMZXhpY2FsRW52aXJvbm1lbnQuCisgICAgNS4gTGV0IGNsb3N1cmUgYmUgISBBc3lu
Y0dlbmVyYXRvckZ1bmN0aW9uQ3JlYXRlKE1ldGhvZCwgVW5pcXVlRm9ybWFsUGFyYW1ldGVycywK
KyAgICAgICBBc3luY0dlbmVyYXRvckJvZHksIHNjb3BlLCBzdHJpY3QpLgorICAgIFsuLi5dCisK
KworICAgIFJ1bnRpbWUgU2VtYW50aWNzOiBJdGVyYXRvckJpbmRpbmdJbml0aWFsaXphdGlvbgor
CisgICAgU2luZ2xlTmFtZUJpbmRpbmcgOiBCaW5kaW5nSWRlbnRpZmllciBJbml0aWFsaXplcl9v
cHQKKworICAgIDEuIExldCBiaW5kaW5nSWQgYmUgU3RyaW5nVmFsdWUgb2YgQmluZGluZ0lkZW50
aWZpZXIuCisgICAgMi4gTGV0IGxocyBiZSA/IFJlc29sdmVCaW5kaW5nKGJpbmRpbmdJZCwgZW52
aXJvbm1lbnQpLgorICAgIDMuIElmIGl0ZXJhdG9yUmVjb3JkLltbRG9uZV1dIGlzIGZhbHNlLCB0
aGVuCisgICAgICAgIGEuIExldCBuZXh0IGJlIEl0ZXJhdG9yU3RlcChpdGVyYXRvclJlY29yZCku
CisgICAgICAgIGIuIElmIG5leHQgaXMgYW4gYWJydXB0IGNvbXBsZXRpb24sIHNldCBpdGVyYXRv
clJlY29yZC5bW0RvbmVdXSB0byB0cnVlLgorICAgICAgICBjLiBSZXR1cm5JZkFicnVwdChuZXh0
KS4KKyAgICAgICAgZC4gSWYgbmV4dCBpcyBmYWxzZSwgc2V0IGl0ZXJhdG9yUmVjb3JkLltbRG9u
ZV1dIHRvIHRydWUuCisgICAgICAgIGUuIEVsc2UsCisgICAgICAgICAgICBpLiBMZXQgdiBiZSBJ
dGVyYXRvclZhbHVlKG5leHQpLgorICAgICAgICAgICAgaWkuIElmIHYgaXMgYW4gYWJydXB0IGNv
bXBsZXRpb24sIHNldCBpdGVyYXRvclJlY29yZC5bW0RvbmVdXSB0byB0cnVlLgorICAgICAgICAg
ICAgaWlpLiBSZXR1cm5JZkFicnVwdCh2KS4KKyAgICBbLi4uXQorICAgIDcuIFJldHVybiBJbml0
aWFsaXplUmVmZXJlbmNlZEJpbmRpbmcobGhzLCB2KS4KKworLS0tKi8KK0FycmF5LnByb3RvdHlw
ZVtTeW1ib2wuaXRlcmF0b3JdID0gZnVuY3Rpb24qICgpIHsKKyAgICBpZiAodGhpcy5sZW5ndGgg
PiAwKSB7CisgICAgICAgIHlpZWxkIHRoaXNbMF07CisgICAgfQorICAgIGlmICh0aGlzLmxlbmd0
aCA+IDEpIHsKKyAgICAgICAgeWllbGQgdGhpc1sxXTsKKyAgICB9CisgICAgaWYgKHRoaXMubGVu
Z3RoID4gMikgeworICAgICAgICB5aWVsZCA0MjsKKyAgICB9Cit9OworCisKK3ZhciBjYWxsQ291
bnQgPSAwOworY2xhc3MgQyB7CisgIGFzeW5jICogI21ldGhvZChbeCwgeSwgel0pIHsKKyAgICBh
c3NlcnQuc2FtZVZhbHVlKHgsIDEpOworICAgIGFzc2VydC5zYW1lVmFsdWUoeSwgMik7CisgICAg
YXNzZXJ0LnNhbWVWYWx1ZSh6LCA0Mik7CisgICAgY2FsbENvdW50ID0gY2FsbENvdW50ICsgMTsK
KyAgfQorCisgIGdldCBtZXRob2QoKSB7CisgICAgcmV0dXJuIHRoaXMuI21ldGhvZDsKKyAgfQor
fTsKKworbmV3IEMoKS5tZXRob2QoWzEsIDIsIDNdKS5uZXh0KCkudGhlbigoKSA9PiB7CisgICAg
YXNzZXJ0LnNhbWVWYWx1ZShjYWxsQ291bnQsIDEsICdpbnZva2VkIGV4YWN0bHkgb25jZScpOyAg
ICAKK30pLnRoZW4oJERPTkUsICRET05FKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZHN0ci9hc3luYy1wcml2YXRlLWdlbi1tZXRo
LWFyeS1wdHJuLXJlc3QtaWQtZGlyZWN0LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3Vh
Z2Uvc3RhdGVtZW50cy9jbGFzcy9kc3RyL2FzeW5jLXByaXZhdGUtZ2VuLW1ldGgtYXJ5LXB0cm4t
cmVzdC1pZC1kaXJlY3QuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2Q2MjY5ODI5MDZhNmE0MmY5NGQ0NzYyMTQ5
ZDU4ZDFlOTVmMWZjNAotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xh
bmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZHN0ci9hc3luYy1wcml2YXRlLWdlbi1tZXRoLWFyeS1w
dHJuLXJlc3QtaWQtZGlyZWN0LmpzCkBAIC0wLDAgKzEsNzMgQEAKKy8vIFRoaXMgZmlsZSB3YXMg
cHJvY2VkdXJhbGx5IGdlbmVyYXRlZCBmcm9tIHRoZSBmb2xsb3dpbmcgc291cmNlczoKKy8vIC0g
c3JjL2RzdHItYmluZGluZy9hcnktcHRybi1yZXN0LWlkLWRpcmVjdC5jYXNlCisvLyAtIHNyYy9k
c3RyLWJpbmRpbmcvZGVmYXVsdC9jbHMtZGVjbC1hc3luYy1wcml2YXRlLWdlbi1tZXRoLnRlbXBs
YXRlCisvKi0tLQorZGVzY3JpcHRpb246IExvbmUgcmVzdCBlbGVtZW50IChkaXJlY3QgYmluZGlu
ZykgKHByaXZhdGUgY2xhc3MgZXhwcmVzc2lvbiBtZXRob2QpCitlc2lkOiBzZWMtY2xhc3MtZGVm
aW5pdGlvbnMtcnVudGltZS1zZW1hbnRpY3MtZXZhbHVhdGlvbgorZmVhdHVyZXM6IFtjbGFzcywg
Y2xhc3MtbWV0aG9kcy1wcml2YXRlLCBhc3luYy1pdGVyYXRpb25dCitmbGFnczogW2dlbmVyYXRl
ZCwgYXN5bmNdCitpbmNsdWRlczogW2NvbXBhcmVBcnJheS5qc10KK2luZm86IHwKKyAgICBDbGFz
c0RlY2xhcmF0aW9uIDogY2xhc3MgQmluZGluZ0lkZW50aWZpZXIgQ2xhc3NUYWlsCisKKyAgICAx
LiBMZXQgY2xhc3NOYW1lIGJlIFN0cmluZ1ZhbHVlIG9mIEJpbmRpbmdJZGVudGlmaWVyLgorICAg
IDIuIExldCB2YWx1ZSBiZSB0aGUgcmVzdWx0IG9mIENsYXNzRGVmaW5pdGlvbkV2YWx1YXRpb24g
b2YgQ2xhc3NUYWlsIHdpdGgKKyAgICAgICBhcmd1bWVudCBjbGFzc05hbWUuCisgICAgWy4uLl0K
KworICAgIDE0LjUuMTQgUnVudGltZSBTZW1hbnRpY3M6IENsYXNzRGVmaW5pdGlvbkV2YWx1YXRp
b24KKworICAgIDIxLiBGb3IgZWFjaCBDbGFzc0VsZW1lbnQgbSBpbiBvcmRlciBmcm9tIG1ldGhv
ZHMKKyAgICAgICAgYS4gSWYgSXNTdGF0aWMgb2YgbSBpcyBmYWxzZSwgdGhlbgorICAgICAgICAg
ICBpLiBMZXQgc3RhdHVzIGJlIHRoZSByZXN1bHQgb2YgcGVyZm9ybWluZworICAgICAgICAgICAg
ICBQcm9wZXJ0eURlZmluaXRpb25FdmFsdWF0aW9uIGZvciBtIHdpdGggYXJndW1lbnRzIHByb3Rv
IGFuZAorICAgICAgICAgICAgICBmYWxzZS4KKyAgICAgICAgWy4uLl0KKworICAgIFJ1bnRpbWUg
U2VtYW50aWNzOiBQcm9wZXJ0eURlZmluaXRpb25FdmFsdWF0aW9uCisKKyAgICBBc3luY0dlbmVy
YXRvck1ldGhvZCA6CisgICAgICAgIGFzeW5jIFtubyBMaW5lVGVybWluYXRvciBoZXJlXSAqIFBy
b3BlcnR5TmFtZSAoIFVuaXF1ZUZvcm1hbFBhcmFtZXRlcnMgKQorICAgICAgICAgICAgeyBBc3lu
Y0dlbmVyYXRvckJvZHkgfQorCisgICAgMS4gTGV0IHByb3BLZXkgYmUgdGhlIHJlc3VsdCBvZiBl
dmFsdWF0aW5nIFByb3BlcnR5TmFtZS4KKyAgICAyLiBSZXR1cm5JZkFicnVwdChwcm9wS2V5KS4K
KyAgICAzLiBJZiB0aGUgZnVuY3Rpb24gY29kZSBmb3IgdGhpcyBBc3luY0dlbmVyYXRvck1ldGhv
ZCBpcyBzdHJpY3QgbW9kZSBjb2RlLCBsZXQgc3RyaWN0IGJlIHRydWUuCisgICAgICAgT3RoZXJ3
aXNlIGxldCBzdHJpY3QgYmUgZmFsc2UuCisgICAgNC4gTGV0IHNjb3BlIGJlIHRoZSBydW5uaW5n
IGV4ZWN1dGlvbiBjb250ZXh0J3MgTGV4aWNhbEVudmlyb25tZW50LgorICAgIDUuIExldCBjbG9z
dXJlIGJlICEgQXN5bmNHZW5lcmF0b3JGdW5jdGlvbkNyZWF0ZShNZXRob2QsIFVuaXF1ZUZvcm1h
bFBhcmFtZXRlcnMsCisgICAgICAgQXN5bmNHZW5lcmF0b3JCb2R5LCBzY29wZSwgc3RyaWN0KS4K
KyAgICBbLi4uXQorCisKKyAgICBSdW50aW1lIFNlbWFudGljczogSXRlcmF0b3JCaW5kaW5nSW5p
dGlhbGl6YXRpb24KKworICAgIEJpbmRpbmdSZXN0RWxlbWVudCA6IC4uLiBCaW5kaW5nSWRlbnRp
ZmllcgorCisgICAgWy4uLl0KKyAgICAyLiBMZXQgQSBiZSAhIEFycmF5Q3JlYXRlKDApLgorICAg
IDMuIExldCBuIGJlIDAuCisgICAgNC4gUmVwZWF0LAorICAgICAgICBbLi4uXQorICAgICAgICBm
LiBQZXJmb3JtICEgQ3JlYXRlRGF0YVByb3BlcnR5T3JUaHJvdyhBLCAhIFRvU3RyaW5nKG4pLCBu
ZXh0VmFsdWUpLgorICAgICAgICBnLiBTZXQgbiB0byBuICsgMS4KKworLS0tKi8KKworCit2YXIg
Y2FsbENvdW50ID0gMDsKK2NsYXNzIEMgeworICBhc3luYyAqICNtZXRob2QoWy4uLnhdKSB7Cisg
ICAgYXNzZXJ0KEFycmF5LmlzQXJyYXkoeCkpOworICAgIGFzc2VydC5jb21wYXJlQXJyYXkoeCwg
WzFdKTsKKyAgICBjYWxsQ291bnQgPSBjYWxsQ291bnQgKyAxOworICB9CisKKyAgZ2V0IG1ldGhv
ZCgpIHsKKyAgICByZXR1cm4gdGhpcy4jbWV0aG9kOworICB9Cit9OworCituZXcgQygpLm1ldGhv
ZChbMV0pLm5leHQoKS50aGVuKCgpID0+IHsKKyAgICBhc3NlcnQuc2FtZVZhbHVlKGNhbGxDb3Vu
dCwgMSwgJ2ludm9rZWQgZXhhY3RseSBvbmNlJyk7ICAgIAorfSkudGhlbigkRE9ORSwgJERPTkUp
OwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9j
bGFzcy9kc3RyL2FzeW5jLXByaXZhdGUtZ2VuLW1ldGgtZGZsdC1hcnktcHRybi1lbGVtLWlkLWl0
ZXItdmFsLWFycmF5LXByb3RvdHlwZS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdl
L3N0YXRlbWVudHMvY2xhc3MvZHN0ci9hc3luYy1wcml2YXRlLWdlbi1tZXRoLWRmbHQtYXJ5LXB0
cm4tZWxlbS1pZC1pdGVyLXZhbC1hcnJheS1wcm90b3R5cGUuanMKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjhiYjM0
N2JkOTZhMmZlNmZiNWNjZmU3YWIxNWU1ZTk4NjNhZTU1MwotLS0gL2Rldi9udWxsCisrKyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZHN0ci9hc3luYy1w
cml2YXRlLWdlbi1tZXRoLWRmbHQtYXJ5LXB0cm4tZWxlbS1pZC1pdGVyLXZhbC1hcnJheS1wcm90
b3R5cGUuanMKQEAgLTAsMCArMSw5MCBAQAorLy8gVGhpcyBmaWxlIHdhcyBwcm9jZWR1cmFsbHkg
Z2VuZXJhdGVkIGZyb20gdGhlIGZvbGxvd2luZyBzb3VyY2VzOgorLy8gLSBzcmMvZHN0ci1iaW5k
aW5nL2FyeS1wdHJuLWVsZW0taWQtaXRlci12YWwtYXJyYXktcHJvdG90eXBlLmNhc2UKKy8vIC0g
c3JjL2RzdHItYmluZGluZy9kZWZhdWx0L2Nscy1kZWNsLWFzeW5jLXByaXZhdGUtZ2VuLW1ldGgt
ZGZsdC50ZW1wbGF0ZQorLyotLS0KK2Rlc2NyaXB0aW9uOiBBcnJheSBkZXN0cnVjdHVyaW5nIHVz
ZXMgb3ZlcnJpZGVuIEFycmF5LnByb3RvdHlwZVtTeW1ib2wuaXRlcmF0b3JdIChwcml2YXRlIGNs
YXNzIGV4cHJlc3Npb24gYXN5bmMgZ2VuZXJhdG9yIG1ldGhvZCAoZGVmYXVsdCBwYXJhbWV0ZXJz
KSkKK2VzaWQ6IHNlYy1jbGFzcy1kZWZpbml0aW9ucy1ydW50aW1lLXNlbWFudGljcy1ldmFsdWF0
aW9uCitmZWF0dXJlczogW1N5bWJvbC5pdGVyYXRvciwgZ2VuZXJhdG9ycywgY2xhc3MsIGNsYXNz
LW1ldGhvZHMtcHJpdmF0ZSwgYXN5bmMtaXRlcmF0aW9uXQorZmxhZ3M6IFtnZW5lcmF0ZWQsIGFz
eW5jXQoraW5mbzogfAorICAgIENsYXNzRGVjbGFyYXRpb24gOiBjbGFzcyBCaW5kaW5nSWRlbnRp
ZmllciBDbGFzc1RhaWwKKworICAgIDEuIExldCBjbGFzc05hbWUgYmUgU3RyaW5nVmFsdWUgb2Yg
QmluZGluZ0lkZW50aWZpZXIuCisgICAgMi4gTGV0IHZhbHVlIGJlIHRoZSByZXN1bHQgb2YgQ2xh
c3NEZWZpbml0aW9uRXZhbHVhdGlvbiBvZiBDbGFzc1RhaWwgd2l0aAorICAgICAgIGFyZ3VtZW50
IGNsYXNzTmFtZS4KKyAgICBbLi4uXQorCisgICAgMTQuNS4xNCBSdW50aW1lIFNlbWFudGljczog
Q2xhc3NEZWZpbml0aW9uRXZhbHVhdGlvbgorCisgICAgMjEuIEZvciBlYWNoIENsYXNzRWxlbWVu
dCBtIGluIG9yZGVyIGZyb20gbWV0aG9kcworICAgICAgICBhLiBJZiBJc1N0YXRpYyBvZiBtIGlz
IGZhbHNlLCB0aGVuCisgICAgICAgICAgIGkuIExldCBzdGF0dXMgYmUgdGhlIHJlc3VsdCBvZiBw
ZXJmb3JtaW5nCisgICAgICAgICAgICAgIFByb3BlcnR5RGVmaW5pdGlvbkV2YWx1YXRpb24gZm9y
IG0gd2l0aCBhcmd1bWVudHMgcHJvdG8gYW5kCisgICAgICAgICAgICAgIGZhbHNlLgorICAgICAg
ICBbLi4uXQorCisgICAgUnVudGltZSBTZW1hbnRpY3M6IFByb3BlcnR5RGVmaW5pdGlvbkV2YWx1
YXRpb24KKworICAgIEFzeW5jR2VuZXJhdG9yTWV0aG9kIDoKKyAgICAgICAgYXN5bmMgW25vIExp
bmVUZXJtaW5hdG9yIGhlcmVdICogUHJvcGVydHlOYW1lICggVW5pcXVlRm9ybWFsUGFyYW1ldGVy
cyApCisgICAgICAgICAgICB7IEFzeW5jR2VuZXJhdG9yQm9keSB9CisKKyAgICAxLiBMZXQgcHJv
cEtleSBiZSB0aGUgcmVzdWx0IG9mIGV2YWx1YXRpbmcgUHJvcGVydHlOYW1lLgorICAgIDIuIFJl
dHVybklmQWJydXB0KHByb3BLZXkpLgorICAgIDMuIElmIHRoZSBmdW5jdGlvbiBjb2RlIGZvciB0
aGlzIEFzeW5jR2VuZXJhdG9yTWV0aG9kIGlzIHN0cmljdCBtb2RlIGNvZGUsIGxldCBzdHJpY3Qg
YmUgdHJ1ZS4KKyAgICAgICBPdGhlcndpc2UgbGV0IHN0cmljdCBiZSBmYWxzZS4KKyAgICA0LiBM
ZXQgc2NvcGUgYmUgdGhlIHJ1bm5pbmcgZXhlY3V0aW9uIGNvbnRleHQncyBMZXhpY2FsRW52aXJv
bm1lbnQuCisgICAgNS4gTGV0IGNsb3N1cmUgYmUgISBBc3luY0dlbmVyYXRvckZ1bmN0aW9uQ3Jl
YXRlKE1ldGhvZCwgVW5pcXVlRm9ybWFsUGFyYW1ldGVycywKKyAgICAgICBBc3luY0dlbmVyYXRv
ckJvZHksIHNjb3BlLCBzdHJpY3QpLgorICAgIFsuLi5dCisKKworICAgIFJ1bnRpbWUgU2VtYW50
aWNzOiBJdGVyYXRvckJpbmRpbmdJbml0aWFsaXphdGlvbgorCisgICAgU2luZ2xlTmFtZUJpbmRp
bmcgOiBCaW5kaW5nSWRlbnRpZmllciBJbml0aWFsaXplcl9vcHQKKworICAgIDEuIExldCBiaW5k
aW5nSWQgYmUgU3RyaW5nVmFsdWUgb2YgQmluZGluZ0lkZW50aWZpZXIuCisgICAgMi4gTGV0IGxo
cyBiZSA/IFJlc29sdmVCaW5kaW5nKGJpbmRpbmdJZCwgZW52aXJvbm1lbnQpLgorICAgIDMuIElm
IGl0ZXJhdG9yUmVjb3JkLltbRG9uZV1dIGlzIGZhbHNlLCB0aGVuCisgICAgICAgIGEuIExldCBu
ZXh0IGJlIEl0ZXJhdG9yU3RlcChpdGVyYXRvclJlY29yZCkuCisgICAgICAgIGIuIElmIG5leHQg
aXMgYW4gYWJydXB0IGNvbXBsZXRpb24sIHNldCBpdGVyYXRvclJlY29yZC5bW0RvbmVdXSB0byB0
cnVlLgorICAgICAgICBjLiBSZXR1cm5JZkFicnVwdChuZXh0KS4KKyAgICAgICAgZC4gSWYgbmV4
dCBpcyBmYWxzZSwgc2V0IGl0ZXJhdG9yUmVjb3JkLltbRG9uZV1dIHRvIHRydWUuCisgICAgICAg
IGUuIEVsc2UsCisgICAgICAgICAgICBpLiBMZXQgdiBiZSBJdGVyYXRvclZhbHVlKG5leHQpLgor
ICAgICAgICAgICAgaWkuIElmIHYgaXMgYW4gYWJydXB0IGNvbXBsZXRpb24sIHNldCBpdGVyYXRv
clJlY29yZC5bW0RvbmVdXSB0byB0cnVlLgorICAgICAgICAgICAgaWlpLiBSZXR1cm5JZkFicnVw
dCh2KS4KKyAgICBbLi4uXQorICAgIDcuIFJldHVybiBJbml0aWFsaXplUmVmZXJlbmNlZEJpbmRp
bmcobGhzLCB2KS4KKworLS0tKi8KK0FycmF5LnByb3RvdHlwZVtTeW1ib2wuaXRlcmF0b3JdID0g
ZnVuY3Rpb24qICgpIHsKKyAgICBpZiAodGhpcy5sZW5ndGggPiAwKSB7CisgICAgICAgIHlpZWxk
IHRoaXNbMF07CisgICAgfQorICAgIGlmICh0aGlzLmxlbmd0aCA+IDEpIHsKKyAgICAgICAgeWll
bGQgdGhpc1sxXTsKKyAgICB9CisgICAgaWYgKHRoaXMubGVuZ3RoID4gMikgeworICAgICAgICB5
aWVsZCA0MjsKKyAgICB9Cit9OworCisKK3ZhciBjYWxsQ291bnQgPSAwOworY2xhc3MgQyB7Cisg
IGFzeW5jICogI21ldGhvZChbeCwgeSwgel0gPSBbMSwgMiwgM10pIHsKKyAgICBhc3NlcnQuc2Ft
ZVZhbHVlKHgsIDEpOworICAgIGFzc2VydC5zYW1lVmFsdWUoeSwgMik7CisgICAgYXNzZXJ0LnNh
bWVWYWx1ZSh6LCA0Mik7CisgICAgY2FsbENvdW50ID0gY2FsbENvdW50ICsgMTsKKyAgfQorCisg
IGdldCBtZXRob2QoKSB7CisgICAgcmV0dXJuIHRoaXMuI21ldGhvZDsKKyAgfQorfTsKKworbmV3
IEMoKS5tZXRob2QoKS5uZXh0KCkudGhlbigoKSA9PiB7CisgICAgYXNzZXJ0LnNhbWVWYWx1ZShj
YWxsQ291bnQsIDEsICdpbnZva2VkIGV4YWN0bHkgb25jZScpOyAgICAKK30pLnRoZW4oJERPTkUs
ICRET05FKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRl
bWVudHMvY2xhc3MvZHN0ci9hc3luYy1wcml2YXRlLWdlbi1tZXRoLWRmbHQtYXJ5LXB0cm4tcmVz
dC1pZC1kaXJlY3QuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRz
L2NsYXNzL2RzdHIvYXN5bmMtcHJpdmF0ZS1nZW4tbWV0aC1kZmx0LWFyeS1wdHJuLXJlc3QtaWQt
ZGlyZWN0LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFkYjQ5MTg5MDk3MGY0ZDU3NzA3Y2M2MmI4NzkwYjQxMDdk
MzNjZmMKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9z
dGF0ZW1lbnRzL2NsYXNzL2RzdHIvYXN5bmMtcHJpdmF0ZS1nZW4tbWV0aC1kZmx0LWFyeS1wdHJu
LXJlc3QtaWQtZGlyZWN0LmpzCkBAIC0wLDAgKzEsNzMgQEAKKy8vIFRoaXMgZmlsZSB3YXMgcHJv
Y2VkdXJhbGx5IGdlbmVyYXRlZCBmcm9tIHRoZSBmb2xsb3dpbmcgc291cmNlczoKKy8vIC0gc3Jj
L2RzdHItYmluZGluZy9hcnktcHRybi1yZXN0LWlkLWRpcmVjdC5jYXNlCisvLyAtIHNyYy9kc3Ry
LWJpbmRpbmcvZGVmYXVsdC9jbHMtZGVjbC1hc3luYy1wcml2YXRlLWdlbi1tZXRoLWRmbHQudGVt
cGxhdGUKKy8qLS0tCitkZXNjcmlwdGlvbjogTG9uZSByZXN0IGVsZW1lbnQgKGRpcmVjdCBiaW5k
aW5nKSAocHJpdmF0ZSBjbGFzcyBleHByZXNzaW9uIGFzeW5jIGdlbmVyYXRvciBtZXRob2QgKGRl
ZmF1bHQgcGFyYW1ldGVycykpCitlc2lkOiBzZWMtY2xhc3MtZGVmaW5pdGlvbnMtcnVudGltZS1z
ZW1hbnRpY3MtZXZhbHVhdGlvbgorZmVhdHVyZXM6IFtjbGFzcywgY2xhc3MtbWV0aG9kcy1wcml2
YXRlLCBhc3luYy1pdGVyYXRpb25dCitmbGFnczogW2dlbmVyYXRlZCwgYXN5bmNdCitpbmNsdWRl
czogW2NvbXBhcmVBcnJheS5qc10KK2luZm86IHwKKyAgICBDbGFzc0RlY2xhcmF0aW9uIDogY2xh
c3MgQmluZGluZ0lkZW50aWZpZXIgQ2xhc3NUYWlsCisKKyAgICAxLiBMZXQgY2xhc3NOYW1lIGJl
IFN0cmluZ1ZhbHVlIG9mIEJpbmRpbmdJZGVudGlmaWVyLgorICAgIDIuIExldCB2YWx1ZSBiZSB0
aGUgcmVzdWx0IG9mIENsYXNzRGVmaW5pdGlvbkV2YWx1YXRpb24gb2YgQ2xhc3NUYWlsIHdpdGgK
KyAgICAgICBhcmd1bWVudCBjbGFzc05hbWUuCisgICAgWy4uLl0KKworICAgIDE0LjUuMTQgUnVu
dGltZSBTZW1hbnRpY3M6IENsYXNzRGVmaW5pdGlvbkV2YWx1YXRpb24KKworICAgIDIxLiBGb3Ig
ZWFjaCBDbGFzc0VsZW1lbnQgbSBpbiBvcmRlciBmcm9tIG1ldGhvZHMKKyAgICAgICAgYS4gSWYg
SXNTdGF0aWMgb2YgbSBpcyBmYWxzZSwgdGhlbgorICAgICAgICAgICBpLiBMZXQgc3RhdHVzIGJl
IHRoZSByZXN1bHQgb2YgcGVyZm9ybWluZworICAgICAgICAgICAgICBQcm9wZXJ0eURlZmluaXRp
b25FdmFsdWF0aW9uIGZvciBtIHdpdGggYXJndW1lbnRzIHByb3RvIGFuZAorICAgICAgICAgICAg
ICBmYWxzZS4KKyAgICAgICAgWy4uLl0KKworICAgIFJ1bnRpbWUgU2VtYW50aWNzOiBQcm9wZXJ0
eURlZmluaXRpb25FdmFsdWF0aW9uCisKKyAgICBBc3luY0dlbmVyYXRvck1ldGhvZCA6CisgICAg
ICAgIGFzeW5jIFtubyBMaW5lVGVybWluYXRvciBoZXJlXSAqIFByb3BlcnR5TmFtZSAoIFVuaXF1
ZUZvcm1hbFBhcmFtZXRlcnMgKQorICAgICAgICAgICAgeyBBc3luY0dlbmVyYXRvckJvZHkgfQor
CisgICAgMS4gTGV0IHByb3BLZXkgYmUgdGhlIHJlc3VsdCBvZiBldmFsdWF0aW5nIFByb3BlcnR5
TmFtZS4KKyAgICAyLiBSZXR1cm5JZkFicnVwdChwcm9wS2V5KS4KKyAgICAzLiBJZiB0aGUgZnVu
Y3Rpb24gY29kZSBmb3IgdGhpcyBBc3luY0dlbmVyYXRvck1ldGhvZCBpcyBzdHJpY3QgbW9kZSBj
b2RlLCBsZXQgc3RyaWN0IGJlIHRydWUuCisgICAgICAgT3RoZXJ3aXNlIGxldCBzdHJpY3QgYmUg
ZmFsc2UuCisgICAgNC4gTGV0IHNjb3BlIGJlIHRoZSBydW5uaW5nIGV4ZWN1dGlvbiBjb250ZXh0
J3MgTGV4aWNhbEVudmlyb25tZW50LgorICAgIDUuIExldCBjbG9zdXJlIGJlICEgQXN5bmNHZW5l
cmF0b3JGdW5jdGlvbkNyZWF0ZShNZXRob2QsIFVuaXF1ZUZvcm1hbFBhcmFtZXRlcnMsCisgICAg
ICAgQXN5bmNHZW5lcmF0b3JCb2R5LCBzY29wZSwgc3RyaWN0KS4KKyAgICBbLi4uXQorCisKKyAg
ICBSdW50aW1lIFNlbWFudGljczogSXRlcmF0b3JCaW5kaW5nSW5pdGlhbGl6YXRpb24KKworICAg
IEJpbmRpbmdSZXN0RWxlbWVudCA6IC4uLiBCaW5kaW5nSWRlbnRpZmllcgorCisgICAgWy4uLl0K
KyAgICAyLiBMZXQgQSBiZSAhIEFycmF5Q3JlYXRlKDApLgorICAgIDMuIExldCBuIGJlIDAuCisg
ICAgNC4gUmVwZWF0LAorICAgICAgICBbLi4uXQorICAgICAgICBmLiBQZXJmb3JtICEgQ3JlYXRl
RGF0YVByb3BlcnR5T3JUaHJvdyhBLCAhIFRvU3RyaW5nKG4pLCBuZXh0VmFsdWUpLgorICAgICAg
ICBnLiBTZXQgbiB0byBuICsgMS4KKworLS0tKi8KKworCit2YXIgY2FsbENvdW50ID0gMDsKK2Ns
YXNzIEMgeworICBhc3luYyAqICNtZXRob2QoWy4uLnhdID0gWzFdKSB7CisgICAgYXNzZXJ0KEFy
cmF5LmlzQXJyYXkoeCkpOworICAgIGFzc2VydC5jb21wYXJlQXJyYXkoeCwgWzFdKTsKKyAgICBj
YWxsQ291bnQgPSBjYWxsQ291bnQgKyAxOworICB9CisKKyAgZ2V0IG1ldGhvZCgpIHsKKyAgICBy
ZXR1cm4gdGhpcy4jbWV0aG9kOworICB9Cit9OworCituZXcgQygpLm1ldGhvZCgpLm5leHQoKS50
aGVuKCgpID0+IHsKKyAgICBhc3NlcnQuc2FtZVZhbHVlKGNhbGxDb3VudCwgMSwgJ2ludm9rZWQg
ZXhhY3RseSBvbmNlJyk7ICAgIAorfSkudGhlbigkRE9ORSwgJERPTkUpOwpkaWZmIC0tZ2l0IGEv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9kc3RyL2FzeW5j
LXByaXZhdGUtZ2VuLW1ldGgtc3RhdGljLWFyeS1wdHJuLWVsZW0taWQtaXRlci12YWwtYXJyYXkt
cHJvdG90eXBlLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9j
bGFzcy9kc3RyL2FzeW5jLXByaXZhdGUtZ2VuLW1ldGgtc3RhdGljLWFyeS1wdHJuLWVsZW0taWQt
aXRlci12YWwtYXJyYXktcHJvdG90eXBlLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ0M2RkNzQ3MzY4NmI0YzI1
MTlmMWQwOGM1ZjU3ZDczNGJiMWI4MjUKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2RzdHIvYXN5bmMtcHJpdmF0ZS1nZW4t
bWV0aC1zdGF0aWMtYXJ5LXB0cm4tZWxlbS1pZC1pdGVyLXZhbC1hcnJheS1wcm90b3R5cGUuanMK
QEAgLTAsMCArMSw5MCBAQAorLy8gVGhpcyBmaWxlIHdhcyBwcm9jZWR1cmFsbHkgZ2VuZXJhdGVk
IGZyb20gdGhlIGZvbGxvd2luZyBzb3VyY2VzOgorLy8gLSBzcmMvZHN0ci1iaW5kaW5nL2FyeS1w
dHJuLWVsZW0taWQtaXRlci12YWwtYXJyYXktcHJvdG90eXBlLmNhc2UKKy8vIC0gc3JjL2RzdHIt
YmluZGluZy9kZWZhdWx0L2Nscy1kZWNsLWFzeW5jLXByaXZhdGUtZ2VuLW1ldGgtc3RhdGljLnRl
bXBsYXRlCisvKi0tLQorZGVzY3JpcHRpb246IEFycmF5IGRlc3RydWN0dXJpbmcgdXNlcyBvdmVy
cmlkZW4gQXJyYXkucHJvdG90eXBlW1N5bWJvbC5pdGVyYXRvcl0gKHByaXZhdGUgc3RhdGljIGNs
YXNzIGV4cHJlc3Npb24gYXN5bmMgZ2VuZXJhdG9yIG1ldGhvZCkKK2VzaWQ6IHNlYy1ydW50aW1l
LXNlbWFudGljcy1iaW5kaW5nY2xhc3NkZWNsYXJhdGlvbmV2YWx1YXRpb24KK2ZlYXR1cmVzOiBb
U3ltYm9sLml0ZXJhdG9yLCBnZW5lcmF0b3JzLCBjbGFzcywgY2xhc3Mtc3RhdGljLW1ldGhvZHMt
cHJpdmF0ZSwgYXN5bmMtaXRlcmF0aW9uXQorZmxhZ3M6IFtnZW5lcmF0ZWQsIGFzeW5jXQoraW5m
bzogfAorICAgIENsYXNzRGVjbGFyYXRpb24gOiBjbGFzcyBCaW5kaW5nSWRlbnRpZmllciBDbGFz
c1RhaWwKKworICAgIDEuIExldCBjbGFzc05hbWUgYmUgU3RyaW5nVmFsdWUgb2YgQmluZGluZ0lk
ZW50aWZpZXIuCisgICAgMi4gTGV0IHZhbHVlIGJlIHRoZSByZXN1bHQgb2YgQ2xhc3NEZWZpbml0
aW9uRXZhbHVhdGlvbiBvZiBDbGFzc1RhaWwgd2l0aAorICAgICAgIGFyZ3VtZW50IGNsYXNzTmFt
ZS4KKyAgICBbLi4uXQorCisgICAgMTQuNS4xNCBSdW50aW1lIFNlbWFudGljczogQ2xhc3NEZWZp
bml0aW9uRXZhbHVhdGlvbgorCisgICAgMjEuIEZvciBlYWNoIENsYXNzRWxlbWVudCBtIGluIG9y
ZGVyIGZyb20gbWV0aG9kcworICAgICAgICBhLiBJZiBJc1N0YXRpYyBvZiBtIGlzIGZhbHNlLCB0
aGVuCisgICAgICAgIGIuIEVsc2UsCisgICAgICAgICAgIExldCBzdGF0dXMgYmUgdGhlIHJlc3Vs
dCBvZiBwZXJmb3JtaW5nIFByb3BlcnR5RGVmaW5pdGlvbkV2YWx1YXRpb24gZm9yCisgICAgICAg
ICAgIG0gd2l0aCBhcmd1bWVudHMgRiBhbmQgZmFsc2UuCisgICAgWy4uLl0KKworICAgIFJ1bnRp
bWUgU2VtYW50aWNzOiBQcm9wZXJ0eURlZmluaXRpb25FdmFsdWF0aW9uCisKKyAgICBBc3luY0dl
bmVyYXRvck1ldGhvZCA6CisgICAgICAgIGFzeW5jIFtubyBMaW5lVGVybWluYXRvciBoZXJlXSAq
IFByb3BlcnR5TmFtZSAoIFVuaXF1ZUZvcm1hbFBhcmFtZXRlcnMgKQorICAgICAgICAgICAgeyBB
c3luY0dlbmVyYXRvckJvZHkgfQorCisgICAgMS4gTGV0IHByb3BLZXkgYmUgdGhlIHJlc3VsdCBv
ZiBldmFsdWF0aW5nIFByb3BlcnR5TmFtZS4KKyAgICAyLiBSZXR1cm5JZkFicnVwdChwcm9wS2V5
KS4KKyAgICAzLiBJZiB0aGUgZnVuY3Rpb24gY29kZSBmb3IgdGhpcyBBc3luY0dlbmVyYXRvck1l
dGhvZCBpcyBzdHJpY3QgbW9kZSBjb2RlLCBsZXQgc3RyaWN0IGJlIHRydWUuCisgICAgICAgT3Ro
ZXJ3aXNlIGxldCBzdHJpY3QgYmUgZmFsc2UuCisgICAgNC4gTGV0IHNjb3BlIGJlIHRoZSBydW5u
aW5nIGV4ZWN1dGlvbiBjb250ZXh0J3MgTGV4aWNhbEVudmlyb25tZW50LgorICAgIDUuIExldCBj
bG9zdXJlIGJlICEgQXN5bmNHZW5lcmF0b3JGdW5jdGlvbkNyZWF0ZShNZXRob2QsIFVuaXF1ZUZv
cm1hbFBhcmFtZXRlcnMsCisgICAgICAgQXN5bmNHZW5lcmF0b3JCb2R5LCBzY29wZSwgc3RyaWN0
KS4KKyAgICBbLi4uXQorCisKKyAgICBSdW50aW1lIFNlbWFudGljczogSXRlcmF0b3JCaW5kaW5n
SW5pdGlhbGl6YXRpb24KKworICAgIFNpbmdsZU5hbWVCaW5kaW5nIDogQmluZGluZ0lkZW50aWZp
ZXIgSW5pdGlhbGl6ZXJfb3B0CisKKyAgICAxLiBMZXQgYmluZGluZ0lkIGJlIFN0cmluZ1ZhbHVl
IG9mIEJpbmRpbmdJZGVudGlmaWVyLgorICAgIDIuIExldCBsaHMgYmUgPyBSZXNvbHZlQmluZGlu
ZyhiaW5kaW5nSWQsIGVudmlyb25tZW50KS4KKyAgICAzLiBJZiBpdGVyYXRvclJlY29yZC5bW0Rv
bmVdXSBpcyBmYWxzZSwgdGhlbgorICAgICAgICBhLiBMZXQgbmV4dCBiZSBJdGVyYXRvclN0ZXAo
aXRlcmF0b3JSZWNvcmQpLgorICAgICAgICBiLiBJZiBuZXh0IGlzIGFuIGFicnVwdCBjb21wbGV0
aW9uLCBzZXQgaXRlcmF0b3JSZWNvcmQuW1tEb25lXV0gdG8gdHJ1ZS4KKyAgICAgICAgYy4gUmV0
dXJuSWZBYnJ1cHQobmV4dCkuCisgICAgICAgIGQuIElmIG5leHQgaXMgZmFsc2UsIHNldCBpdGVy
YXRvclJlY29yZC5bW0RvbmVdXSB0byB0cnVlLgorICAgICAgICBlLiBFbHNlLAorICAgICAgICAg
ICAgaS4gTGV0IHYgYmUgSXRlcmF0b3JWYWx1ZShuZXh0KS4KKyAgICAgICAgICAgIGlpLiBJZiB2
IGlzIGFuIGFicnVwdCBjb21wbGV0aW9uLCBzZXQgaXRlcmF0b3JSZWNvcmQuW1tEb25lXV0gdG8g
dHJ1ZS4KKyAgICAgICAgICAgIGlpaS4gUmV0dXJuSWZBYnJ1cHQodikuCisgICAgWy4uLl0KKyAg
ICA3LiBSZXR1cm4gSW5pdGlhbGl6ZVJlZmVyZW5jZWRCaW5kaW5nKGxocywgdikuCisKKy0tLSov
CitBcnJheS5wcm90b3R5cGVbU3ltYm9sLml0ZXJhdG9yXSA9IGZ1bmN0aW9uKiAoKSB7CisgICAg
aWYgKHRoaXMubGVuZ3RoID4gMCkgeworICAgICAgICB5aWVsZCB0aGlzWzBdOworICAgIH0KKyAg
ICBpZiAodGhpcy5sZW5ndGggPiAxKSB7CisgICAgICAgIHlpZWxkIHRoaXNbMV07CisgICAgfQor
ICAgIGlmICh0aGlzLmxlbmd0aCA+IDIpIHsKKyAgICAgICAgeWllbGQgNDI7CisgICAgfQorfTsK
KworCit2YXIgY2FsbENvdW50ID0gMDsKK2NsYXNzIEMgeworICBzdGF0aWMgYXN5bmMgKiAjbWV0
aG9kKFt4LCB5LCB6XSkgeworICAgIGFzc2VydC5zYW1lVmFsdWUoeCwgMSk7CisgICAgYXNzZXJ0
LnNhbWVWYWx1ZSh5LCAyKTsKKyAgICBhc3NlcnQuc2FtZVZhbHVlKHosIDQyKTsKKyAgICBjYWxs
Q291bnQgPSBjYWxsQ291bnQgKyAxOworICB9CisKKyAgc3RhdGljIGdldCBtZXRob2QoKSB7Cisg
ICAgcmV0dXJuIHRoaXMuI21ldGhvZDsKKyAgfQorfTsKKworQy5tZXRob2QoWzEsIDIsIDNdKS5u
ZXh0KCkudGhlbigoKSA9PiB7CisgICAgYXNzZXJ0LnNhbWVWYWx1ZShjYWxsQ291bnQsIDEsICdp
bnZva2VkIGV4YWN0bHkgb25jZScpOyAgICAKK30pLnRoZW4oJERPTkUsICRET05FKTsKZGlmZiAt
LWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZHN0
ci9hc3luYy1wcml2YXRlLWdlbi1tZXRoLXN0YXRpYy1hcnktcHRybi1yZXN0LWlkLWRpcmVjdC5q
cyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZHN0ci9h
c3luYy1wcml2YXRlLWdlbi1tZXRoLXN0YXRpYy1hcnktcHRybi1yZXN0LWlkLWRpcmVjdC5qcwpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5lNWJjOGE4YWNhOTFlZDIxZWFhMWZmNWQyMWM2OGNjNzViOWEwY2Y4Ci0tLSAv
ZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9j
bGFzcy9kc3RyL2FzeW5jLXByaXZhdGUtZ2VuLW1ldGgtc3RhdGljLWFyeS1wdHJuLXJlc3QtaWQt
ZGlyZWN0LmpzCkBAIC0wLDAgKzEsNzMgQEAKKy8vIFRoaXMgZmlsZSB3YXMgcHJvY2VkdXJhbGx5
IGdlbmVyYXRlZCBmcm9tIHRoZSBmb2xsb3dpbmcgc291cmNlczoKKy8vIC0gc3JjL2RzdHItYmlu
ZGluZy9hcnktcHRybi1yZXN0LWlkLWRpcmVjdC5jYXNlCisvLyAtIHNyYy9kc3RyLWJpbmRpbmcv
ZGVmYXVsdC9jbHMtZGVjbC1hc3luYy1wcml2YXRlLWdlbi1tZXRoLXN0YXRpYy50ZW1wbGF0ZQor
LyotLS0KK2Rlc2NyaXB0aW9uOiBMb25lIHJlc3QgZWxlbWVudCAoZGlyZWN0IGJpbmRpbmcpIChw
cml2YXRlIHN0YXRpYyBjbGFzcyBleHByZXNzaW9uIGFzeW5jIGdlbmVyYXRvciBtZXRob2QpCitl
c2lkOiBzZWMtcnVudGltZS1zZW1hbnRpY3MtYmluZGluZ2NsYXNzZGVjbGFyYXRpb25ldmFsdWF0
aW9uCitmZWF0dXJlczogW2NsYXNzLCBjbGFzcy1zdGF0aWMtbWV0aG9kcy1wcml2YXRlLCBhc3lu
Yy1pdGVyYXRpb25dCitmbGFnczogW2dlbmVyYXRlZCwgYXN5bmNdCitpbmNsdWRlczogW2NvbXBh
cmVBcnJheS5qc10KK2luZm86IHwKKyAgICBDbGFzc0RlY2xhcmF0aW9uIDogY2xhc3MgQmluZGlu
Z0lkZW50aWZpZXIgQ2xhc3NUYWlsCisKKyAgICAxLiBMZXQgY2xhc3NOYW1lIGJlIFN0cmluZ1Zh
bHVlIG9mIEJpbmRpbmdJZGVudGlmaWVyLgorICAgIDIuIExldCB2YWx1ZSBiZSB0aGUgcmVzdWx0
IG9mIENsYXNzRGVmaW5pdGlvbkV2YWx1YXRpb24gb2YgQ2xhc3NUYWlsIHdpdGgKKyAgICAgICBh
cmd1bWVudCBjbGFzc05hbWUuCisgICAgWy4uLl0KKworICAgIDE0LjUuMTQgUnVudGltZSBTZW1h
bnRpY3M6IENsYXNzRGVmaW5pdGlvbkV2YWx1YXRpb24KKworICAgIDIxLiBGb3IgZWFjaCBDbGFz
c0VsZW1lbnQgbSBpbiBvcmRlciBmcm9tIG1ldGhvZHMKKyAgICAgICAgYS4gSWYgSXNTdGF0aWMg
b2YgbSBpcyBmYWxzZSwgdGhlbgorICAgICAgICBiLiBFbHNlLAorICAgICAgICAgICBMZXQgc3Rh
dHVzIGJlIHRoZSByZXN1bHQgb2YgcGVyZm9ybWluZyBQcm9wZXJ0eURlZmluaXRpb25FdmFsdWF0
aW9uIGZvcgorICAgICAgICAgICBtIHdpdGggYXJndW1lbnRzIEYgYW5kIGZhbHNlLgorICAgIFsu
Li5dCisKKyAgICBSdW50aW1lIFNlbWFudGljczogUHJvcGVydHlEZWZpbml0aW9uRXZhbHVhdGlv
bgorCisgICAgQXN5bmNHZW5lcmF0b3JNZXRob2QgOgorICAgICAgICBhc3luYyBbbm8gTGluZVRl
cm1pbmF0b3IgaGVyZV0gKiBQcm9wZXJ0eU5hbWUgKCBVbmlxdWVGb3JtYWxQYXJhbWV0ZXJzICkK
KyAgICAgICAgICAgIHsgQXN5bmNHZW5lcmF0b3JCb2R5IH0KKworICAgIDEuIExldCBwcm9wS2V5
IGJlIHRoZSByZXN1bHQgb2YgZXZhbHVhdGluZyBQcm9wZXJ0eU5hbWUuCisgICAgMi4gUmV0dXJu
SWZBYnJ1cHQocHJvcEtleSkuCisgICAgMy4gSWYgdGhlIGZ1bmN0aW9uIGNvZGUgZm9yIHRoaXMg
QXN5bmNHZW5lcmF0b3JNZXRob2QgaXMgc3RyaWN0IG1vZGUgY29kZSwgbGV0IHN0cmljdCBiZSB0
cnVlLgorICAgICAgIE90aGVyd2lzZSBsZXQgc3RyaWN0IGJlIGZhbHNlLgorICAgIDQuIExldCBz
Y29wZSBiZSB0aGUgcnVubmluZyBleGVjdXRpb24gY29udGV4dCdzIExleGljYWxFbnZpcm9ubWVu
dC4KKyAgICA1LiBMZXQgY2xvc3VyZSBiZSAhIEFzeW5jR2VuZXJhdG9yRnVuY3Rpb25DcmVhdGUo
TWV0aG9kLCBVbmlxdWVGb3JtYWxQYXJhbWV0ZXJzLAorICAgICAgIEFzeW5jR2VuZXJhdG9yQm9k
eSwgc2NvcGUsIHN0cmljdCkuCisgICAgWy4uLl0KKworCisgICAgUnVudGltZSBTZW1hbnRpY3M6
IEl0ZXJhdG9yQmluZGluZ0luaXRpYWxpemF0aW9uCisKKyAgICBCaW5kaW5nUmVzdEVsZW1lbnQg
OiAuLi4gQmluZGluZ0lkZW50aWZpZXIKKworICAgIFsuLi5dCisgICAgMi4gTGV0IEEgYmUgISBB
cnJheUNyZWF0ZSgwKS4KKyAgICAzLiBMZXQgbiBiZSAwLgorICAgIDQuIFJlcGVhdCwKKyAgICAg
ICAgWy4uLl0KKyAgICAgICAgZi4gUGVyZm9ybSAhIENyZWF0ZURhdGFQcm9wZXJ0eU9yVGhyb3co
QSwgISBUb1N0cmluZyhuKSwgbmV4dFZhbHVlKS4KKyAgICAgICAgZy4gU2V0IG4gdG8gbiArIDEu
CisKKy0tLSovCisKKwordmFyIGNhbGxDb3VudCA9IDA7CitjbGFzcyBDIHsKKyAgc3RhdGljIGFz
eW5jICogI21ldGhvZChbLi4ueF0pIHsKKyAgICBhc3NlcnQoQXJyYXkuaXNBcnJheSh4KSk7Cisg
ICAgYXNzZXJ0LmNvbXBhcmVBcnJheSh4LCBbMV0pOworICAgIGNhbGxDb3VudCA9IGNhbGxDb3Vu
dCArIDE7CisgIH0KKworICBzdGF0aWMgZ2V0IG1ldGhvZCgpIHsKKyAgICByZXR1cm4gdGhpcy4j
bWV0aG9kOworICB9Cit9OworCitDLm1ldGhvZChbMV0pLm5leHQoKS50aGVuKCgpID0+IHsKKyAg
ICBhc3NlcnQuc2FtZVZhbHVlKGNhbGxDb3VudCwgMSwgJ2ludm9rZWQgZXhhY3RseSBvbmNlJyk7
ICAgIAorfSkudGhlbigkRE9ORSwgJERPTkUpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9kc3RyL2FzeW5jLXByaXZhdGUtZ2VuLW1l
dGgtc3RhdGljLWRmbHQtYXJ5LXB0cm4tZWxlbS1pZC1pdGVyLXZhbC1hcnJheS1wcm90b3R5cGUu
anMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2RzdHIv
YXN5bmMtcHJpdmF0ZS1nZW4tbWV0aC1zdGF0aWMtZGZsdC1hcnktcHRybi1lbGVtLWlkLWl0ZXIt
dmFsLWFycmF5LXByb3RvdHlwZS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kM2E5NDZmN2ZhNGViMDhmMjU3YjU0
NTVjODc5YTA4NmM4NWVjOGExCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9kc3RyL2FzeW5jLXByaXZhdGUtZ2VuLW1ldGgt
c3RhdGljLWRmbHQtYXJ5LXB0cm4tZWxlbS1pZC1pdGVyLXZhbC1hcnJheS1wcm90b3R5cGUuanMK
QEAgLTAsMCArMSw5MCBAQAorLy8gVGhpcyBmaWxlIHdhcyBwcm9jZWR1cmFsbHkgZ2VuZXJhdGVk
IGZyb20gdGhlIGZvbGxvd2luZyBzb3VyY2VzOgorLy8gLSBzcmMvZHN0ci1iaW5kaW5nL2FyeS1w
dHJuLWVsZW0taWQtaXRlci12YWwtYXJyYXktcHJvdG90eXBlLmNhc2UKKy8vIC0gc3JjL2RzdHIt
YmluZGluZy9kZWZhdWx0L2Nscy1kZWNsLWFzeW5jLXByaXZhdGUtZ2VuLW1ldGgtc3RhdGljLWRm
bHQudGVtcGxhdGUKKy8qLS0tCitkZXNjcmlwdGlvbjogQXJyYXkgZGVzdHJ1Y3R1cmluZyB1c2Vz
IG92ZXJyaWRlbiBBcnJheS5wcm90b3R5cGVbU3ltYm9sLml0ZXJhdG9yXSAocHJpdmF0ZSBzdGF0
aWMgY2xhc3MgZXhwcmVzc2lvbiBhc3luYyBnZW5lcmF0b3IgbWV0aG9kIChkZWZhdWx0IHBhcmFt
ZXRlcikpCitlc2lkOiBzZWMtcnVudGltZS1zZW1hbnRpY3MtYmluZGluZ2NsYXNzZGVjbGFyYXRp
b25ldmFsdWF0aW9uCitmZWF0dXJlczogW1N5bWJvbC5pdGVyYXRvciwgZ2VuZXJhdG9ycywgY2xh
c3MsIGNsYXNzLXN0YXRpYy1tZXRob2RzLXByaXZhdGUsIGFzeW5jLWl0ZXJhdGlvbl0KK2ZsYWdz
OiBbZ2VuZXJhdGVkLCBhc3luY10KK2luZm86IHwKKyAgICBDbGFzc0RlY2xhcmF0aW9uIDogY2xh
c3MgQmluZGluZ0lkZW50aWZpZXIgQ2xhc3NUYWlsCisKKyAgICAxLiBMZXQgY2xhc3NOYW1lIGJl
IFN0cmluZ1ZhbHVlIG9mIEJpbmRpbmdJZGVudGlmaWVyLgorICAgIDIuIExldCB2YWx1ZSBiZSB0
aGUgcmVzdWx0IG9mIENsYXNzRGVmaW5pdGlvbkV2YWx1YXRpb24gb2YgQ2xhc3NUYWlsIHdpdGgK
KyAgICAgICBhcmd1bWVudCBjbGFzc05hbWUuCisgICAgWy4uLl0KKworICAgIDE0LjUuMTQgUnVu
dGltZSBTZW1hbnRpY3M6IENsYXNzRGVmaW5pdGlvbkV2YWx1YXRpb24KKworICAgIDIxLiBGb3Ig
ZWFjaCBDbGFzc0VsZW1lbnQgbSBpbiBvcmRlciBmcm9tIG1ldGhvZHMKKyAgICAgICAgYS4gSWYg
SXNTdGF0aWMgb2YgbSBpcyBmYWxzZSwgdGhlbgorICAgICAgICBiLiBFbHNlLAorICAgICAgICAg
ICBMZXQgc3RhdHVzIGJlIHRoZSByZXN1bHQgb2YgcGVyZm9ybWluZyBQcm9wZXJ0eURlZmluaXRp
b25FdmFsdWF0aW9uIGZvcgorICAgICAgICAgICBtIHdpdGggYXJndW1lbnRzIEYgYW5kIGZhbHNl
LgorICAgIFsuLi5dCisKKyAgICBSdW50aW1lIFNlbWFudGljczogUHJvcGVydHlEZWZpbml0aW9u
RXZhbHVhdGlvbgorCisgICAgQXN5bmNHZW5lcmF0b3JNZXRob2QgOgorICAgICAgICBhc3luYyBb
bm8gTGluZVRlcm1pbmF0b3IgaGVyZV0gKiBQcm9wZXJ0eU5hbWUgKCBVbmlxdWVGb3JtYWxQYXJh
bWV0ZXJzICkKKyAgICAgICAgICAgIHsgQXN5bmNHZW5lcmF0b3JCb2R5IH0KKworICAgIDEuIExl
dCBwcm9wS2V5IGJlIHRoZSByZXN1bHQgb2YgZXZhbHVhdGluZyBQcm9wZXJ0eU5hbWUuCisgICAg
Mi4gUmV0dXJuSWZBYnJ1cHQocHJvcEtleSkuCisgICAgMy4gSWYgdGhlIGZ1bmN0aW9uIGNvZGUg
Zm9yIHRoaXMgQXN5bmNHZW5lcmF0b3JNZXRob2QgaXMgc3RyaWN0IG1vZGUgY29kZSwgbGV0IHN0
cmljdCBiZSB0cnVlLgorICAgICAgIE90aGVyd2lzZSBsZXQgc3RyaWN0IGJlIGZhbHNlLgorICAg
IDQuIExldCBzY29wZSBiZSB0aGUgcnVubmluZyBleGVjdXRpb24gY29udGV4dCdzIExleGljYWxF
bnZpcm9ubWVudC4KKyAgICA1LiBMZXQgY2xvc3VyZSBiZSAhIEFzeW5jR2VuZXJhdG9yRnVuY3Rp
b25DcmVhdGUoTWV0aG9kLCBVbmlxdWVGb3JtYWxQYXJhbWV0ZXJzLAorICAgICAgIEFzeW5jR2Vu
ZXJhdG9yQm9keSwgc2NvcGUsIHN0cmljdCkuCisgICAgWy4uLl0KKworCisgICAgUnVudGltZSBT
ZW1hbnRpY3M6IEl0ZXJhdG9yQmluZGluZ0luaXRpYWxpemF0aW9uCisKKyAgICBTaW5nbGVOYW1l
QmluZGluZyA6IEJpbmRpbmdJZGVudGlmaWVyIEluaXRpYWxpemVyX29wdAorCisgICAgMS4gTGV0
IGJpbmRpbmdJZCBiZSBTdHJpbmdWYWx1ZSBvZiBCaW5kaW5nSWRlbnRpZmllci4KKyAgICAyLiBM
ZXQgbGhzIGJlID8gUmVzb2x2ZUJpbmRpbmcoYmluZGluZ0lkLCBlbnZpcm9ubWVudCkuCisgICAg
My4gSWYgaXRlcmF0b3JSZWNvcmQuW1tEb25lXV0gaXMgZmFsc2UsIHRoZW4KKyAgICAgICAgYS4g
TGV0IG5leHQgYmUgSXRlcmF0b3JTdGVwKGl0ZXJhdG9yUmVjb3JkKS4KKyAgICAgICAgYi4gSWYg
bmV4dCBpcyBhbiBhYnJ1cHQgY29tcGxldGlvbiwgc2V0IGl0ZXJhdG9yUmVjb3JkLltbRG9uZV1d
IHRvIHRydWUuCisgICAgICAgIGMuIFJldHVybklmQWJydXB0KG5leHQpLgorICAgICAgICBkLiBJ
ZiBuZXh0IGlzIGZhbHNlLCBzZXQgaXRlcmF0b3JSZWNvcmQuW1tEb25lXV0gdG8gdHJ1ZS4KKyAg
ICAgICAgZS4gRWxzZSwKKyAgICAgICAgICAgIGkuIExldCB2IGJlIEl0ZXJhdG9yVmFsdWUobmV4
dCkuCisgICAgICAgICAgICBpaS4gSWYgdiBpcyBhbiBhYnJ1cHQgY29tcGxldGlvbiwgc2V0IGl0
ZXJhdG9yUmVjb3JkLltbRG9uZV1dIHRvIHRydWUuCisgICAgICAgICAgICBpaWkuIFJldHVybklm
QWJydXB0KHYpLgorICAgIFsuLi5dCisgICAgNy4gUmV0dXJuIEluaXRpYWxpemVSZWZlcmVuY2Vk
QmluZGluZyhsaHMsIHYpLgorCistLS0qLworQXJyYXkucHJvdG90eXBlW1N5bWJvbC5pdGVyYXRv
cl0gPSBmdW5jdGlvbiogKCkgeworICAgIGlmICh0aGlzLmxlbmd0aCA+IDApIHsKKyAgICAgICAg
eWllbGQgdGhpc1swXTsKKyAgICB9CisgICAgaWYgKHRoaXMubGVuZ3RoID4gMSkgeworICAgICAg
ICB5aWVsZCB0aGlzWzFdOworICAgIH0KKyAgICBpZiAodGhpcy5sZW5ndGggPiAyKSB7CisgICAg
ICAgIHlpZWxkIDQyOworICAgIH0KK307CisKKwordmFyIGNhbGxDb3VudCA9IDA7CitjbGFzcyBD
IHsKKyAgc3RhdGljIGFzeW5jICogI21ldGhvZChbeCwgeSwgel0gPSBbMSwgMiwgM10pIHsKKyAg
ICBhc3NlcnQuc2FtZVZhbHVlKHgsIDEpOworICAgIGFzc2VydC5zYW1lVmFsdWUoeSwgMik7Cisg
ICAgYXNzZXJ0LnNhbWVWYWx1ZSh6LCA0Mik7CisgICAgY2FsbENvdW50ID0gY2FsbENvdW50ICsg
MTsKKyAgfQorCisgIHN0YXRpYyBnZXQgbWV0aG9kKCkgeworICAgIHJldHVybiB0aGlzLiNtZXRo
b2Q7CisgIH0KK307CisKK0MubWV0aG9kKCkubmV4dCgpLnRoZW4oKCkgPT4geworICAgIGFzc2Vy
dC5zYW1lVmFsdWUoY2FsbENvdW50LCAxLCAnaW52b2tlZCBleGFjdGx5IG9uY2UnKTsgICAgCit9
KS50aGVuKCRET05FLCAkRE9ORSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9s
YW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2RzdHIvYXN5bmMtcHJpdmF0ZS1nZW4tbWV0aC1zdGF0
aWMtZGZsdC1hcnktcHRybi1yZXN0LWlkLWRpcmVjdC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZHN0ci9hc3luYy1wcml2YXRlLWdlbi1tZXRoLXN0
YXRpYy1kZmx0LWFyeS1wdHJuLXJlc3QtaWQtZGlyZWN0LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjkyN2ViMzc3
NGM1NTdhNjU2MWE1YzExOGU3YTRkMmQ1YmY3MjgzZTkKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2RzdHIvYXN5bmMtcHJp
dmF0ZS1nZW4tbWV0aC1zdGF0aWMtZGZsdC1hcnktcHRybi1yZXN0LWlkLWRpcmVjdC5qcwpAQCAt
MCwwICsxLDczIEBACisvLyBUaGlzIGZpbGUgd2FzIHByb2NlZHVyYWxseSBnZW5lcmF0ZWQgZnJv
bSB0aGUgZm9sbG93aW5nIHNvdXJjZXM6CisvLyAtIHNyYy9kc3RyLWJpbmRpbmcvYXJ5LXB0cm4t
cmVzdC1pZC1kaXJlY3QuY2FzZQorLy8gLSBzcmMvZHN0ci1iaW5kaW5nL2RlZmF1bHQvY2xzLWRl
Y2wtYXN5bmMtcHJpdmF0ZS1nZW4tbWV0aC1zdGF0aWMtZGZsdC50ZW1wbGF0ZQorLyotLS0KK2Rl
c2NyaXB0aW9uOiBMb25lIHJlc3QgZWxlbWVudCAoZGlyZWN0IGJpbmRpbmcpIChwcml2YXRlIHN0
YXRpYyBjbGFzcyBleHByZXNzaW9uIGFzeW5jIGdlbmVyYXRvciBtZXRob2QgKGRlZmF1bHQgcGFy
YW1ldGVyKSkKK2VzaWQ6IHNlYy1ydW50aW1lLXNlbWFudGljcy1iaW5kaW5nY2xhc3NkZWNsYXJh
dGlvbmV2YWx1YXRpb24KK2ZlYXR1cmVzOiBbY2xhc3MsIGNsYXNzLXN0YXRpYy1tZXRob2RzLXBy
aXZhdGUsIGFzeW5jLWl0ZXJhdGlvbl0KK2ZsYWdzOiBbZ2VuZXJhdGVkLCBhc3luY10KK2luY2x1
ZGVzOiBbY29tcGFyZUFycmF5LmpzXQoraW5mbzogfAorICAgIENsYXNzRGVjbGFyYXRpb24gOiBj
bGFzcyBCaW5kaW5nSWRlbnRpZmllciBDbGFzc1RhaWwKKworICAgIDEuIExldCBjbGFzc05hbWUg
YmUgU3RyaW5nVmFsdWUgb2YgQmluZGluZ0lkZW50aWZpZXIuCisgICAgMi4gTGV0IHZhbHVlIGJl
IHRoZSByZXN1bHQgb2YgQ2xhc3NEZWZpbml0aW9uRXZhbHVhdGlvbiBvZiBDbGFzc1RhaWwgd2l0
aAorICAgICAgIGFyZ3VtZW50IGNsYXNzTmFtZS4KKyAgICBbLi4uXQorCisgICAgMTQuNS4xNCBS
dW50aW1lIFNlbWFudGljczogQ2xhc3NEZWZpbml0aW9uRXZhbHVhdGlvbgorCisgICAgMjEuIEZv
ciBlYWNoIENsYXNzRWxlbWVudCBtIGluIG9yZGVyIGZyb20gbWV0aG9kcworICAgICAgICBhLiBJ
ZiBJc1N0YXRpYyBvZiBtIGlzIGZhbHNlLCB0aGVuCisgICAgICAgIGIuIEVsc2UsCisgICAgICAg
ICAgIExldCBzdGF0dXMgYmUgdGhlIHJlc3VsdCBvZiBwZXJmb3JtaW5nIFByb3BlcnR5RGVmaW5p
dGlvbkV2YWx1YXRpb24gZm9yCisgICAgICAgICAgIG0gd2l0aCBhcmd1bWVudHMgRiBhbmQgZmFs
c2UuCisgICAgWy4uLl0KKworICAgIFJ1bnRpbWUgU2VtYW50aWNzOiBQcm9wZXJ0eURlZmluaXRp
b25FdmFsdWF0aW9uCisKKyAgICBBc3luY0dlbmVyYXRvck1ldGhvZCA6CisgICAgICAgIGFzeW5j
IFtubyBMaW5lVGVybWluYXRvciBoZXJlXSAqIFByb3BlcnR5TmFtZSAoIFVuaXF1ZUZvcm1hbFBh
cmFtZXRlcnMgKQorICAgICAgICAgICAgeyBBc3luY0dlbmVyYXRvckJvZHkgfQorCisgICAgMS4g
TGV0IHByb3BLZXkgYmUgdGhlIHJlc3VsdCBvZiBldmFsdWF0aW5nIFByb3BlcnR5TmFtZS4KKyAg
ICAyLiBSZXR1cm5JZkFicnVwdChwcm9wS2V5KS4KKyAgICAzLiBJZiB0aGUgZnVuY3Rpb24gY29k
ZSBmb3IgdGhpcyBBc3luY0dlbmVyYXRvck1ldGhvZCBpcyBzdHJpY3QgbW9kZSBjb2RlLCBsZXQg
c3RyaWN0IGJlIHRydWUuCisgICAgICAgT3RoZXJ3aXNlIGxldCBzdHJpY3QgYmUgZmFsc2UuCisg
ICAgNC4gTGV0IHNjb3BlIGJlIHRoZSBydW5uaW5nIGV4ZWN1dGlvbiBjb250ZXh0J3MgTGV4aWNh
bEVudmlyb25tZW50LgorICAgIDUuIExldCBjbG9zdXJlIGJlICEgQXN5bmNHZW5lcmF0b3JGdW5j
dGlvbkNyZWF0ZShNZXRob2QsIFVuaXF1ZUZvcm1hbFBhcmFtZXRlcnMsCisgICAgICAgQXN5bmNH
ZW5lcmF0b3JCb2R5LCBzY29wZSwgc3RyaWN0KS4KKyAgICBbLi4uXQorCisKKyAgICBSdW50aW1l
IFNlbWFudGljczogSXRlcmF0b3JCaW5kaW5nSW5pdGlhbGl6YXRpb24KKworICAgIEJpbmRpbmdS
ZXN0RWxlbWVudCA6IC4uLiBCaW5kaW5nSWRlbnRpZmllcgorCisgICAgWy4uLl0KKyAgICAyLiBM
ZXQgQSBiZSAhIEFycmF5Q3JlYXRlKDApLgorICAgIDMuIExldCBuIGJlIDAuCisgICAgNC4gUmVw
ZWF0LAorICAgICAgICBbLi4uXQorICAgICAgICBmLiBQZXJmb3JtICEgQ3JlYXRlRGF0YVByb3Bl
cnR5T3JUaHJvdyhBLCAhIFRvU3RyaW5nKG4pLCBuZXh0VmFsdWUpLgorICAgICAgICBnLiBTZXQg
biB0byBuICsgMS4KKworLS0tKi8KKworCit2YXIgY2FsbENvdW50ID0gMDsKK2NsYXNzIEMgewor
ICBzdGF0aWMgYXN5bmMgKiAjbWV0aG9kKFsuLi54XSA9IFsxXSkgeworICAgIGFzc2VydChBcnJh
eS5pc0FycmF5KHgpKTsKKyAgICBhc3NlcnQuY29tcGFyZUFycmF5KHgsIFsxXSk7CisgICAgY2Fs
bENvdW50ID0gY2FsbENvdW50ICsgMTsKKyAgfQorCisgIHN0YXRpYyBnZXQgbWV0aG9kKCkgewor
ICAgIHJldHVybiB0aGlzLiNtZXRob2Q7CisgIH0KK307CisKK0MubWV0aG9kKCkubmV4dCgpLnRo
ZW4oKCkgPT4geworICAgIGFzc2VydC5zYW1lVmFsdWUoY2FsbENvdW50LCAxLCAnaW52b2tlZCBl
eGFjdGx5IG9uY2UnKTsgICAgCit9KS50aGVuKCRET05FLCAkRE9ORSk7CmRpZmYgLS1naXQgYS9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2RzdHIvZ2VuLW1l
dGgtYXJ5LWluaXQtaXRlci1nZXQtZXJyLWFycmF5LXByb3RvdHlwZS5qcyBiL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZHN0ci9nZW4tbWV0aC1hcnktaW5p
dC1pdGVyLWdldC1lcnItYXJyYXktcHJvdG90eXBlLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM0MjNjYTg0N2Rj
Y2U2YzgzNGVjZDk5YjE4Yzk1Y2U3ZWFhZTkzN2UKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2RzdHIvZ2VuLW1ldGgtYXJ5
LWluaXQtaXRlci1nZXQtZXJyLWFycmF5LXByb3RvdHlwZS5qcwpAQCAtMCwwICsxLDg3IEBACisv
LyBUaGlzIGZpbGUgd2FzIHByb2NlZHVyYWxseSBnZW5lcmF0ZWQgZnJvbSB0aGUgZm9sbG93aW5n
IHNvdXJjZXM6CisvLyAtIHNyYy9kc3RyLWJpbmRpbmcvYXJ5LWluaXQtaXRlci1nZXQtZXJyLWFy
cmF5LXByb3RvdHlwZS5jYXNlCisvLyAtIHNyYy9kc3RyLWJpbmRpbmcvZXJyb3IvY2xzLWRlY2wt
Z2VuLW1ldGgudGVtcGxhdGUKKy8qLS0tCitkZXNjcmlwdGlvbjogQWJydXB0IGNvbXBsZXRpb24g
cmV0dXJuZWQgYnkgR2V0SXRlcmF0b3IgKGNsYXNzIGV4cHJlc3Npb24gbWV0aG9kKQorZXNpZDog
c2VjLWNsYXNzLWRlZmluaXRpb25zLXJ1bnRpbWUtc2VtYW50aWNzLWV2YWx1YXRpb24KK2ZlYXR1
cmVzOiBbU3ltYm9sLml0ZXJhdG9yLCBnZW5lcmF0b3JzLCBkZXN0cnVjdHVyaW5nLWJpbmRpbmdd
CitmbGFnczogW2dlbmVyYXRlZF0KK2luZm86IHwKKyAgICBDbGFzc0RlY2xhcmF0aW9uIDogY2xh
c3MgQmluZGluZ0lkZW50aWZpZXIgQ2xhc3NUYWlsCisKKyAgICAxLiBMZXQgY2xhc3NOYW1lIGJl
IFN0cmluZ1ZhbHVlIG9mIEJpbmRpbmdJZGVudGlmaWVyLgorICAgIDIuIExldCB2YWx1ZSBiZSB0
aGUgcmVzdWx0IG9mIENsYXNzRGVmaW5pdGlvbkV2YWx1YXRpb24gb2YgQ2xhc3NUYWlsIHdpdGgK
KyAgICAgICBhcmd1bWVudCBjbGFzc05hbWUuCisgICAgWy4uLl0KKworICAgIDE0LjUuMTQgUnVu
dGltZSBTZW1hbnRpY3M6IENsYXNzRGVmaW5pdGlvbkV2YWx1YXRpb24KKworICAgIDIxLiBGb3Ig
ZWFjaCBDbGFzc0VsZW1lbnQgbSBpbiBvcmRlciBmcm9tIG1ldGhvZHMKKyAgICAgICAgYS4gSWYg
SXNTdGF0aWMgb2YgbSBpcyBmYWxzZSwgdGhlbgorICAgICAgICAgICBpLiBMZXQgc3RhdHVzIGJl
IHRoZSByZXN1bHQgb2YgcGVyZm9ybWluZworICAgICAgICAgICAgICBQcm9wZXJ0eURlZmluaXRp
b25FdmFsdWF0aW9uIGZvciBtIHdpdGggYXJndW1lbnRzIHByb3RvIGFuZAorICAgICAgICAgICAg
ICBmYWxzZS4KKyAgICAgICAgWy4uLl0KKworICAgIDE0LjQuMTMgUnVudGltZSBTZW1hbnRpY3M6
IFByb3BlcnR5RGVmaW5pdGlvbkV2YWx1YXRpb24KKworICAgIEdlbmVyYXRvck1ldGhvZCA6ICog
UHJvcGVydHlOYW1lICggU3RyaWN0Rm9ybWFsUGFyYW1ldGVycyApIHsgR2VuZXJhdG9yQm9keSB9
CisKKyAgICAxLiBMZXQgcHJvcEtleSBiZSB0aGUgcmVzdWx0IG9mIGV2YWx1YXRpbmcgUHJvcGVy
dHlOYW1lLgorICAgIDIuIFJldHVybklmQWJydXB0KHByb3BLZXkpLgorICAgIDMuIElmIHRoZSBm
dW5jdGlvbiBjb2RlIGZvciB0aGlzIEdlbmVyYXRvck1ldGhvZCBpcyBzdHJpY3QgbW9kZSBjb2Rl
LAorICAgICAgIGxldCBzdHJpY3QgYmUgdHJ1ZS4gT3RoZXJ3aXNlIGxldCBzdHJpY3QgYmUgZmFs
c2UuCisgICAgNC4gTGV0IHNjb3BlIGJlIHRoZSBydW5uaW5nIGV4ZWN1dGlvbiBjb250ZXh0J3Mg
TGV4aWNhbEVudmlyb25tZW50LgorICAgIDUuIExldCBjbG9zdXJlIGJlIEdlbmVyYXRvckZ1bmN0
aW9uQ3JlYXRlKE1ldGhvZCwKKyAgICAgICBTdHJpY3RGb3JtYWxQYXJhbWV0ZXJzLCBHZW5lcmF0
b3JCb2R5LCBzY29wZSwgc3RyaWN0KS4KKworICAgIDkuMi4xIFtbQ2FsbF1dICggdGhpc0FyZ3Vt
ZW50LCBhcmd1bWVudHNMaXN0KQorCisgICAgWy4uLl0KKyAgICA3LiBMZXQgcmVzdWx0IGJlIE9y
ZGluYXJ5Q2FsbEV2YWx1YXRlQm9keShGLCBhcmd1bWVudHNMaXN0KS4KKyAgICBbLi4uXQorCisg
ICAgOS4yLjEuMyBPcmRpbmFyeUNhbGxFdmFsdWF0ZUJvZHkgKCBGLCBhcmd1bWVudHNMaXN0ICkK
KworICAgIDEuIExldCBzdGF0dXMgYmUgRnVuY3Rpb25EZWNsYXJhdGlvbkluc3RhbnRpYXRpb24o
RiwgYXJndW1lbnRzTGlzdCkuCisgICAgWy4uLl0KKworICAgIDkuMi4xMiBGdW5jdGlvbkRlY2xh
cmF0aW9uSW5zdGFudGlhdGlvbihmdW5jLCBhcmd1bWVudHNMaXN0KQorCisgICAgWy4uLl0KKyAg
ICAyMy4gTGV0IGl0ZXJhdG9yUmVjb3JkIGJlIFJlY29yZCB7W1tpdGVyYXRvcl1dOgorICAgICAg
ICBDcmVhdGVMaXN0SXRlcmF0b3IoYXJndW1lbnRzTGlzdCksIFtbZG9uZV1dOiBmYWxzZX0uCisg
ICAgMjQuIElmIGhhc0R1cGxpY2F0ZXMgaXMgdHJ1ZSwgdGhlbgorICAgICAgICBbLi4uXQorICAg
IDI1LiBFbHNlLAorICAgICAgICBiLiBMZXQgZm9ybWFsU3RhdHVzIGJlIEl0ZXJhdG9yQmluZGlu
Z0luaXRpYWxpemF0aW9uIGZvciBmb3JtYWxzIHdpdGgKKyAgICAgICAgICAgaXRlcmF0b3JSZWNv
cmQgYW5kIGVudiBhcyBhcmd1bWVudHMuCisgICAgWy4uLl0KKworICAgIFJ1bnRpbWUgU2VtYW50
aWNzOiBCaW5kaW5nSW5pdGlhbGl6YXRpb24KKworICAgIEJpbmRpbmdQYXR0ZXJuIDogQXJyYXlC
aW5kaW5nUGF0dGVybgorCisgICAgMS4gTGV0IGl0ZXJhdG9yUmVjb3JkIGJlID8gR2V0SXRlcmF0
b3IodmFsdWUpLgorCisgICAgR2V0SXRlcmF0b3IgKCBvYmogWyAsIGhpbnQgWyAsIG1ldGhvZCBd
IF0gKQorCisgICAgWy4uLl0KKyAgICA0LiBMZXQgaXRlcmF0b3IgYmUgPyBDYWxsKG1ldGhvZCwg
b2JqKS4KKworICAgIENhbGwgKCBGLCBWIFsgLCBhcmd1bWVudHNMaXN0IF0gKQorCisgICAgWy4u
Ll0KKyAgICAyLiBJZiBJc0NhbGxhYmxlKEYpIGlzIGZhbHNlLCB0aHJvdyBhIFR5cGVFcnJvciBl
eGNlcHRpb24uCisKKy0tLSovCitkZWxldGUgQXJyYXkucHJvdG90eXBlW1N5bWJvbC5pdGVyYXRv
cl07CisKK2NsYXNzIEMgeworICAqbWV0aG9kKFt4LCB5LCB6XSkge30KK307Cit2YXIgYyA9IG5l
dyBDKCk7CisKK2Fzc2VydC50aHJvd3MoVHlwZUVycm9yLCBmdW5jdGlvbigpIHsKKyAgYy5tZXRo
b2QoWzEsIDIsIDNdKTsKK30pOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFu
Z3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9kc3RyL2dlbi1tZXRoLWFyeS1wdHJuLWVsZW0taWQtaXRl
ci12YWwtYXJyYXktcHJvdG90eXBlLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uv
c3RhdGVtZW50cy9jbGFzcy9kc3RyL2dlbi1tZXRoLWFyeS1wdHJuLWVsZW0taWQtaXRlci12YWwt
YXJyYXktcHJvdG90eXBlLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZlYzY5NjIxNjI3YWVkMDRmY2YxMDRjOWY1
NDlhZWM4ODUxZjdhMmEKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9s
YW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2RzdHIvZ2VuLW1ldGgtYXJ5LXB0cm4tZWxlbS1pZC1p
dGVyLXZhbC1hcnJheS1wcm90b3R5cGUuanMKQEAgLTAsMCArMSwxMDMgQEAKKy8vIFRoaXMgZmls
ZSB3YXMgcHJvY2VkdXJhbGx5IGdlbmVyYXRlZCBmcm9tIHRoZSBmb2xsb3dpbmcgc291cmNlczoK
Ky8vIC0gc3JjL2RzdHItYmluZGluZy9hcnktcHRybi1lbGVtLWlkLWl0ZXItdmFsLWFycmF5LXBy
b3RvdHlwZS5jYXNlCisvLyAtIHNyYy9kc3RyLWJpbmRpbmcvZGVmYXVsdC9jbHMtZGVjbC1nZW4t
bWV0aC50ZW1wbGF0ZQorLyotLS0KK2Rlc2NyaXB0aW9uOiBBcnJheSBkZXN0cnVjdHVyaW5nIHVz
ZXMgb3ZlcnJpZGVuIEFycmF5LnByb3RvdHlwZVtTeW1ib2wuaXRlcmF0b3JdIChjbGFzcyBleHBy
ZXNzaW9uIG1ldGhvZCkKK2VzaWQ6IHNlYy1jbGFzcy1kZWZpbml0aW9ucy1ydW50aW1lLXNlbWFu
dGljcy1ldmFsdWF0aW9uCitmZWF0dXJlczogW1N5bWJvbC5pdGVyYXRvciwgZ2VuZXJhdG9ycywg
ZGVzdHJ1Y3R1cmluZy1iaW5kaW5nXQorZmxhZ3M6IFtnZW5lcmF0ZWRdCitpbmZvOiB8CisgICAg
Q2xhc3NEZWNsYXJhdGlvbiA6IGNsYXNzIEJpbmRpbmdJZGVudGlmaWVyIENsYXNzVGFpbAorCisg
ICAgMS4gTGV0IGNsYXNzTmFtZSBiZSBTdHJpbmdWYWx1ZSBvZiBCaW5kaW5nSWRlbnRpZmllci4K
KyAgICAyLiBMZXQgdmFsdWUgYmUgdGhlIHJlc3VsdCBvZiBDbGFzc0RlZmluaXRpb25FdmFsdWF0
aW9uIG9mIENsYXNzVGFpbCB3aXRoCisgICAgICAgYXJndW1lbnQgY2xhc3NOYW1lLgorICAgIFsu
Li5dCisKKyAgICAxNC41LjE0IFJ1bnRpbWUgU2VtYW50aWNzOiBDbGFzc0RlZmluaXRpb25FdmFs
dWF0aW9uCisKKyAgICAyMS4gRm9yIGVhY2ggQ2xhc3NFbGVtZW50IG0gaW4gb3JkZXIgZnJvbSBt
ZXRob2RzCisgICAgICAgIGEuIElmIElzU3RhdGljIG9mIG0gaXMgZmFsc2UsIHRoZW4KKyAgICAg
ICAgICAgaS4gTGV0IHN0YXR1cyBiZSB0aGUgcmVzdWx0IG9mIHBlcmZvcm1pbmcKKyAgICAgICAg
ICAgICAgUHJvcGVydHlEZWZpbml0aW9uRXZhbHVhdGlvbiBmb3IgbSB3aXRoIGFyZ3VtZW50cyBw
cm90byBhbmQKKyAgICAgICAgICAgICAgZmFsc2UuCisgICAgICAgIFsuLi5dCisKKyAgICAxNC40
LjEzIFJ1bnRpbWUgU2VtYW50aWNzOiBQcm9wZXJ0eURlZmluaXRpb25FdmFsdWF0aW9uCisKKyAg
ICBHZW5lcmF0b3JNZXRob2QgOiAqIFByb3BlcnR5TmFtZSAoIFN0cmljdEZvcm1hbFBhcmFtZXRl
cnMgKSB7IEdlbmVyYXRvckJvZHkgfQorCisgICAgMS4gTGV0IHByb3BLZXkgYmUgdGhlIHJlc3Vs
dCBvZiBldmFsdWF0aW5nIFByb3BlcnR5TmFtZS4KKyAgICAyLiBSZXR1cm5JZkFicnVwdChwcm9w
S2V5KS4KKyAgICAzLiBJZiB0aGUgZnVuY3Rpb24gY29kZSBmb3IgdGhpcyBHZW5lcmF0b3JNZXRo
b2QgaXMgc3RyaWN0IG1vZGUgY29kZSwKKyAgICAgICBsZXQgc3RyaWN0IGJlIHRydWUuIE90aGVy
d2lzZSBsZXQgc3RyaWN0IGJlIGZhbHNlLgorICAgIDQuIExldCBzY29wZSBiZSB0aGUgcnVubmlu
ZyBleGVjdXRpb24gY29udGV4dCdzIExleGljYWxFbnZpcm9ubWVudC4KKyAgICA1LiBMZXQgY2xv
c3VyZSBiZSBHZW5lcmF0b3JGdW5jdGlvbkNyZWF0ZShNZXRob2QsCisgICAgICAgU3RyaWN0Rm9y
bWFsUGFyYW1ldGVycywgR2VuZXJhdG9yQm9keSwgc2NvcGUsIHN0cmljdCkuCisKKyAgICA5LjIu
MSBbW0NhbGxdXSAoIHRoaXNBcmd1bWVudCwgYXJndW1lbnRzTGlzdCkKKworICAgIFsuLi5dCisg
ICAgNy4gTGV0IHJlc3VsdCBiZSBPcmRpbmFyeUNhbGxFdmFsdWF0ZUJvZHkoRiwgYXJndW1lbnRz
TGlzdCkuCisgICAgWy4uLl0KKworICAgIDkuMi4xLjMgT3JkaW5hcnlDYWxsRXZhbHVhdGVCb2R5
ICggRiwgYXJndW1lbnRzTGlzdCApCisKKyAgICAxLiBMZXQgc3RhdHVzIGJlIEZ1bmN0aW9uRGVj
bGFyYXRpb25JbnN0YW50aWF0aW9uKEYsIGFyZ3VtZW50c0xpc3QpLgorICAgIFsuLi5dCisKKyAg
ICA5LjIuMTIgRnVuY3Rpb25EZWNsYXJhdGlvbkluc3RhbnRpYXRpb24oZnVuYywgYXJndW1lbnRz
TGlzdCkKKworICAgIFsuLi5dCisgICAgMjMuIExldCBpdGVyYXRvclJlY29yZCBiZSBSZWNvcmQg
e1tbaXRlcmF0b3JdXToKKyAgICAgICAgQ3JlYXRlTGlzdEl0ZXJhdG9yKGFyZ3VtZW50c0xpc3Qp
LCBbW2RvbmVdXTogZmFsc2V9LgorICAgIDI0LiBJZiBoYXNEdXBsaWNhdGVzIGlzIHRydWUsIHRo
ZW4KKyAgICAgICAgWy4uLl0KKyAgICAyNS4gRWxzZSwKKyAgICAgICAgYi4gTGV0IGZvcm1hbFN0
YXR1cyBiZSBJdGVyYXRvckJpbmRpbmdJbml0aWFsaXphdGlvbiBmb3IgZm9ybWFscyB3aXRoCisg
ICAgICAgICAgIGl0ZXJhdG9yUmVjb3JkIGFuZCBlbnYgYXMgYXJndW1lbnRzLgorICAgIFsuLi5d
CisKKyAgICBSdW50aW1lIFNlbWFudGljczogSXRlcmF0b3JCaW5kaW5nSW5pdGlhbGl6YXRpb24K
KworICAgIFNpbmdsZU5hbWVCaW5kaW5nIDogQmluZGluZ0lkZW50aWZpZXIgSW5pdGlhbGl6ZXJf
b3B0CisKKyAgICAxLiBMZXQgYmluZGluZ0lkIGJlIFN0cmluZ1ZhbHVlIG9mIEJpbmRpbmdJZGVu
dGlmaWVyLgorICAgIDIuIExldCBsaHMgYmUgPyBSZXNvbHZlQmluZGluZyhiaW5kaW5nSWQsIGVu
dmlyb25tZW50KS4KKyAgICAzLiBJZiBpdGVyYXRvclJlY29yZC5bW0RvbmVdXSBpcyBmYWxzZSwg
dGhlbgorICAgICAgICBhLiBMZXQgbmV4dCBiZSBJdGVyYXRvclN0ZXAoaXRlcmF0b3JSZWNvcmQp
LgorICAgICAgICBiLiBJZiBuZXh0IGlzIGFuIGFicnVwdCBjb21wbGV0aW9uLCBzZXQgaXRlcmF0
b3JSZWNvcmQuW1tEb25lXV0gdG8gdHJ1ZS4KKyAgICAgICAgYy4gUmV0dXJuSWZBYnJ1cHQobmV4
dCkuCisgICAgICAgIGQuIElmIG5leHQgaXMgZmFsc2UsIHNldCBpdGVyYXRvclJlY29yZC5bW0Rv
bmVdXSB0byB0cnVlLgorICAgICAgICBlLiBFbHNlLAorICAgICAgICAgICAgaS4gTGV0IHYgYmUg
SXRlcmF0b3JWYWx1ZShuZXh0KS4KKyAgICAgICAgICAgIGlpLiBJZiB2IGlzIGFuIGFicnVwdCBj
b21wbGV0aW9uLCBzZXQgaXRlcmF0b3JSZWNvcmQuW1tEb25lXV0gdG8gdHJ1ZS4KKyAgICAgICAg
ICAgIGlpaS4gUmV0dXJuSWZBYnJ1cHQodikuCisgICAgWy4uLl0KKyAgICA3LiBSZXR1cm4gSW5p
dGlhbGl6ZVJlZmVyZW5jZWRCaW5kaW5nKGxocywgdikuCisKKy0tLSovCitBcnJheS5wcm90b3R5
cGVbU3ltYm9sLml0ZXJhdG9yXSA9IGZ1bmN0aW9uKiAoKSB7CisgICAgaWYgKHRoaXMubGVuZ3Ro
ID4gMCkgeworICAgICAgICB5aWVsZCB0aGlzWzBdOworICAgIH0KKyAgICBpZiAodGhpcy5sZW5n
dGggPiAxKSB7CisgICAgICAgIHlpZWxkIHRoaXNbMV07CisgICAgfQorICAgIGlmICh0aGlzLmxl
bmd0aCA+IDIpIHsKKyAgICAgICAgeWllbGQgNDI7CisgICAgfQorfTsKKwordmFyIGNhbGxDb3Vu
dCA9IDA7CitjbGFzcyBDIHsKKyAgKm1ldGhvZChbeCwgeSwgel0pIHsKKyAgICBhc3NlcnQuc2Ft
ZVZhbHVlKHgsIDEpOworICAgIGFzc2VydC5zYW1lVmFsdWUoeSwgMik7CisgICAgYXNzZXJ0LnNh
bWVWYWx1ZSh6LCA0Mik7CisgICAgY2FsbENvdW50ID0gY2FsbENvdW50ICsgMTsKKyAgfQorfTsK
KworbmV3IEMoKS5tZXRob2QoWzEsIDIsIDNdKS5uZXh0KCk7Cithc3NlcnQuc2FtZVZhbHVlKGNh
bGxDb3VudCwgMSwgJ21ldGhvZCBpbnZva2VkIGV4YWN0bHkgb25jZScpOwpkaWZmIC0tZ2l0IGEv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9kc3RyL2dlbi1t
ZXRoLWFyeS1wdHJuLXJlc3QtaWQtZGlyZWN0LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFu
Z3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9kc3RyL2dlbi1tZXRoLWFyeS1wdHJuLXJlc3QtaWQtZGly
ZWN0LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjZhNTEwNDU2YTc4MjY1YTM0MzZkMTQwZjcxYWYzZDRlMTRlODlm
NTgKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0
ZW1lbnRzL2NsYXNzL2RzdHIvZ2VuLW1ldGgtYXJ5LXB0cm4tcmVzdC1pZC1kaXJlY3QuanMKQEAg
LTAsMCArMSw4NiBAQAorLy8gVGhpcyBmaWxlIHdhcyBwcm9jZWR1cmFsbHkgZ2VuZXJhdGVkIGZy
b20gdGhlIGZvbGxvd2luZyBzb3VyY2VzOgorLy8gLSBzcmMvZHN0ci1iaW5kaW5nL2FyeS1wdHJu
LXJlc3QtaWQtZGlyZWN0LmNhc2UKKy8vIC0gc3JjL2RzdHItYmluZGluZy9kZWZhdWx0L2Nscy1k
ZWNsLWdlbi1tZXRoLnRlbXBsYXRlCisvKi0tLQorZGVzY3JpcHRpb246IExvbmUgcmVzdCBlbGVt
ZW50IChkaXJlY3QgYmluZGluZykgKGNsYXNzIGV4cHJlc3Npb24gbWV0aG9kKQorZXNpZDogc2Vj
LWNsYXNzLWRlZmluaXRpb25zLXJ1bnRpbWUtc2VtYW50aWNzLWV2YWx1YXRpb24KK2ZlYXR1cmVz
OiBbZ2VuZXJhdG9ycywgZGVzdHJ1Y3R1cmluZy1iaW5kaW5nXQorZmxhZ3M6IFtnZW5lcmF0ZWRd
CitpbmNsdWRlczogW2NvbXBhcmVBcnJheS5qc10KK2luZm86IHwKKyAgICBDbGFzc0RlY2xhcmF0
aW9uIDogY2xhc3MgQmluZGluZ0lkZW50aWZpZXIgQ2xhc3NUYWlsCisKKyAgICAxLiBMZXQgY2xh
c3NOYW1lIGJlIFN0cmluZ1ZhbHVlIG9mIEJpbmRpbmdJZGVudGlmaWVyLgorICAgIDIuIExldCB2
YWx1ZSBiZSB0aGUgcmVzdWx0IG9mIENsYXNzRGVmaW5pdGlvbkV2YWx1YXRpb24gb2YgQ2xhc3NU
YWlsIHdpdGgKKyAgICAgICBhcmd1bWVudCBjbGFzc05hbWUuCisgICAgWy4uLl0KKworICAgIDE0
LjUuMTQgUnVudGltZSBTZW1hbnRpY3M6IENsYXNzRGVmaW5pdGlvbkV2YWx1YXRpb24KKworICAg
IDIxLiBGb3IgZWFjaCBDbGFzc0VsZW1lbnQgbSBpbiBvcmRlciBmcm9tIG1ldGhvZHMKKyAgICAg
ICAgYS4gSWYgSXNTdGF0aWMgb2YgbSBpcyBmYWxzZSwgdGhlbgorICAgICAgICAgICBpLiBMZXQg
c3RhdHVzIGJlIHRoZSByZXN1bHQgb2YgcGVyZm9ybWluZworICAgICAgICAgICAgICBQcm9wZXJ0
eURlZmluaXRpb25FdmFsdWF0aW9uIGZvciBtIHdpdGggYXJndW1lbnRzIHByb3RvIGFuZAorICAg
ICAgICAgICAgICBmYWxzZS4KKyAgICAgICAgWy4uLl0KKworICAgIDE0LjQuMTMgUnVudGltZSBT
ZW1hbnRpY3M6IFByb3BlcnR5RGVmaW5pdGlvbkV2YWx1YXRpb24KKworICAgIEdlbmVyYXRvck1l
dGhvZCA6ICogUHJvcGVydHlOYW1lICggU3RyaWN0Rm9ybWFsUGFyYW1ldGVycyApIHsgR2VuZXJh
dG9yQm9keSB9CisKKyAgICAxLiBMZXQgcHJvcEtleSBiZSB0aGUgcmVzdWx0IG9mIGV2YWx1YXRp
bmcgUHJvcGVydHlOYW1lLgorICAgIDIuIFJldHVybklmQWJydXB0KHByb3BLZXkpLgorICAgIDMu
IElmIHRoZSBmdW5jdGlvbiBjb2RlIGZvciB0aGlzIEdlbmVyYXRvck1ldGhvZCBpcyBzdHJpY3Qg
bW9kZSBjb2RlLAorICAgICAgIGxldCBzdHJpY3QgYmUgdHJ1ZS4gT3RoZXJ3aXNlIGxldCBzdHJp
Y3QgYmUgZmFsc2UuCisgICAgNC4gTGV0IHNjb3BlIGJlIHRoZSBydW5uaW5nIGV4ZWN1dGlvbiBj
b250ZXh0J3MgTGV4aWNhbEVudmlyb25tZW50LgorICAgIDUuIExldCBjbG9zdXJlIGJlIEdlbmVy
YXRvckZ1bmN0aW9uQ3JlYXRlKE1ldGhvZCwKKyAgICAgICBTdHJpY3RGb3JtYWxQYXJhbWV0ZXJz
LCBHZW5lcmF0b3JCb2R5LCBzY29wZSwgc3RyaWN0KS4KKworICAgIDkuMi4xIFtbQ2FsbF1dICgg
dGhpc0FyZ3VtZW50LCBhcmd1bWVudHNMaXN0KQorCisgICAgWy4uLl0KKyAgICA3LiBMZXQgcmVz
dWx0IGJlIE9yZGluYXJ5Q2FsbEV2YWx1YXRlQm9keShGLCBhcmd1bWVudHNMaXN0KS4KKyAgICBb
Li4uXQorCisgICAgOS4yLjEuMyBPcmRpbmFyeUNhbGxFdmFsdWF0ZUJvZHkgKCBGLCBhcmd1bWVu
dHNMaXN0ICkKKworICAgIDEuIExldCBzdGF0dXMgYmUgRnVuY3Rpb25EZWNsYXJhdGlvbkluc3Rh
bnRpYXRpb24oRiwgYXJndW1lbnRzTGlzdCkuCisgICAgWy4uLl0KKworICAgIDkuMi4xMiBGdW5j
dGlvbkRlY2xhcmF0aW9uSW5zdGFudGlhdGlvbihmdW5jLCBhcmd1bWVudHNMaXN0KQorCisgICAg
Wy4uLl0KKyAgICAyMy4gTGV0IGl0ZXJhdG9yUmVjb3JkIGJlIFJlY29yZCB7W1tpdGVyYXRvcl1d
OgorICAgICAgICBDcmVhdGVMaXN0SXRlcmF0b3IoYXJndW1lbnRzTGlzdCksIFtbZG9uZV1dOiBm
YWxzZX0uCisgICAgMjQuIElmIGhhc0R1cGxpY2F0ZXMgaXMgdHJ1ZSwgdGhlbgorICAgICAgICBb
Li4uXQorICAgIDI1LiBFbHNlLAorICAgICAgICBiLiBMZXQgZm9ybWFsU3RhdHVzIGJlIEl0ZXJh
dG9yQmluZGluZ0luaXRpYWxpemF0aW9uIGZvciBmb3JtYWxzIHdpdGgKKyAgICAgICAgICAgaXRl
cmF0b3JSZWNvcmQgYW5kIGVudiBhcyBhcmd1bWVudHMuCisgICAgWy4uLl0KKworICAgIFJ1bnRp
bWUgU2VtYW50aWNzOiBJdGVyYXRvckJpbmRpbmdJbml0aWFsaXphdGlvbgorCisgICAgQmluZGlu
Z1Jlc3RFbGVtZW50IDogLi4uIEJpbmRpbmdJZGVudGlmaWVyCisKKyAgICBbLi4uXQorICAgIDIu
IExldCBBIGJlICEgQXJyYXlDcmVhdGUoMCkuCisgICAgMy4gTGV0IG4gYmUgMC4KKyAgICA0LiBS
ZXBlYXQsCisgICAgICAgIFsuLi5dCisgICAgICAgIGYuIFBlcmZvcm0gISBDcmVhdGVEYXRhUHJv
cGVydHlPclRocm93KEEsICEgVG9TdHJpbmcobiksIG5leHRWYWx1ZSkuCisgICAgICAgIGcuIFNl
dCBuIHRvIG4gKyAxLgorCistLS0qLworCit2YXIgY2FsbENvdW50ID0gMDsKK2NsYXNzIEMgewor
ICAqbWV0aG9kKFsuLi54XSkgeworICAgIGFzc2VydChBcnJheS5pc0FycmF5KHgpKTsKKyAgICBh
c3NlcnQuY29tcGFyZUFycmF5KHgsIFsxXSk7CisgICAgY2FsbENvdW50ID0gY2FsbENvdW50ICsg
MTsKKyAgfQorfTsKKworbmV3IEMoKS5tZXRob2QoWzFdKS5uZXh0KCk7Cithc3NlcnQuc2FtZVZh
bHVlKGNhbGxDb3VudCwgMSwgJ21ldGhvZCBpbnZva2VkIGV4YWN0bHkgb25jZScpOwpkaWZmIC0t
Z2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9kc3Ry
L2dlbi1tZXRoLWRmbHQtYXJ5LWluaXQtaXRlci1nZXQtZXJyLWFycmF5LXByb3RvdHlwZS5qcyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZHN0ci9nZW4t
bWV0aC1kZmx0LWFyeS1pbml0LWl0ZXItZ2V0LWVyci1hcnJheS1wcm90b3R5cGUuanMKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNWYyZWEwZjNjNWMyYzkzNWY2ZGQ0YzU5YTkyZGM5NDNmODAwMGM5YQotLS0gL2Rldi9u
dWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3Mv
ZHN0ci9nZW4tbWV0aC1kZmx0LWFyeS1pbml0LWl0ZXItZ2V0LWVyci1hcnJheS1wcm90b3R5cGUu
anMKQEAgLTAsMCArMSw4NyBAQAorLy8gVGhpcyBmaWxlIHdhcyBwcm9jZWR1cmFsbHkgZ2VuZXJh
dGVkIGZyb20gdGhlIGZvbGxvd2luZyBzb3VyY2VzOgorLy8gLSBzcmMvZHN0ci1iaW5kaW5nL2Fy
eS1pbml0LWl0ZXItZ2V0LWVyci1hcnJheS1wcm90b3R5cGUuY2FzZQorLy8gLSBzcmMvZHN0ci1i
aW5kaW5nL2Vycm9yL2Nscy1kZWNsLWdlbi1tZXRoLWRmbHQudGVtcGxhdGUKKy8qLS0tCitkZXNj
cmlwdGlvbjogQWJydXB0IGNvbXBsZXRpb24gcmV0dXJuZWQgYnkgR2V0SXRlcmF0b3IgKGNsYXNz
IGV4cHJlc3Npb24gbWV0aG9kIChkZWZhdWx0IHBhcmFtZXRlcikpCitlc2lkOiBzZWMtY2xhc3Mt
ZGVmaW5pdGlvbnMtcnVudGltZS1zZW1hbnRpY3MtZXZhbHVhdGlvbgorZmVhdHVyZXM6IFtTeW1i
b2wuaXRlcmF0b3IsIGdlbmVyYXRvcnMsIGRlc3RydWN0dXJpbmctYmluZGluZywgZGVmYXVsdC1w
YXJhbWV0ZXJzXQorZmxhZ3M6IFtnZW5lcmF0ZWRdCitpbmZvOiB8CisgICAgQ2xhc3NEZWNsYXJh
dGlvbiA6IGNsYXNzIEJpbmRpbmdJZGVudGlmaWVyIENsYXNzVGFpbAorCisgICAgMS4gTGV0IGNs
YXNzTmFtZSBiZSBTdHJpbmdWYWx1ZSBvZiBCaW5kaW5nSWRlbnRpZmllci4KKyAgICAyLiBMZXQg
dmFsdWUgYmUgdGhlIHJlc3VsdCBvZiBDbGFzc0RlZmluaXRpb25FdmFsdWF0aW9uIG9mIENsYXNz
VGFpbCB3aXRoCisgICAgICAgYXJndW1lbnQgY2xhc3NOYW1lLgorICAgIFsuLi5dCisKKyAgICAx
NC41LjE0IFJ1bnRpbWUgU2VtYW50aWNzOiBDbGFzc0RlZmluaXRpb25FdmFsdWF0aW9uCisKKyAg
ICAyMS4gRm9yIGVhY2ggQ2xhc3NFbGVtZW50IG0gaW4gb3JkZXIgZnJvbSBtZXRob2RzCisgICAg
ICAgIGEuIElmIElzU3RhdGljIG9mIG0gaXMgZmFsc2UsIHRoZW4KKyAgICAgICAgICAgaS4gTGV0
IHN0YXR1cyBiZSB0aGUgcmVzdWx0IG9mIHBlcmZvcm1pbmcKKyAgICAgICAgICAgICAgUHJvcGVy
dHlEZWZpbml0aW9uRXZhbHVhdGlvbiBmb3IgbSB3aXRoIGFyZ3VtZW50cyBwcm90byBhbmQKKyAg
ICAgICAgICAgICAgZmFsc2UuCisgICAgICAgIFsuLi5dCisKKyAgICAxNC40LjEzIFJ1bnRpbWUg
U2VtYW50aWNzOiBQcm9wZXJ0eURlZmluaXRpb25FdmFsdWF0aW9uCisKKyAgICBHZW5lcmF0b3JN
ZXRob2QgOiAqIFByb3BlcnR5TmFtZSAoIFN0cmljdEZvcm1hbFBhcmFtZXRlcnMgKSB7IEdlbmVy
YXRvckJvZHkgfQorCisgICAgMS4gTGV0IHByb3BLZXkgYmUgdGhlIHJlc3VsdCBvZiBldmFsdWF0
aW5nIFByb3BlcnR5TmFtZS4KKyAgICAyLiBSZXR1cm5JZkFicnVwdChwcm9wS2V5KS4KKyAgICAz
LiBJZiB0aGUgZnVuY3Rpb24gY29kZSBmb3IgdGhpcyBHZW5lcmF0b3JNZXRob2QgaXMgc3RyaWN0
IG1vZGUgY29kZSwKKyAgICAgICBsZXQgc3RyaWN0IGJlIHRydWUuIE90aGVyd2lzZSBsZXQgc3Ry
aWN0IGJlIGZhbHNlLgorICAgIDQuIExldCBzY29wZSBiZSB0aGUgcnVubmluZyBleGVjdXRpb24g
Y29udGV4dCdzIExleGljYWxFbnZpcm9ubWVudC4KKyAgICA1LiBMZXQgY2xvc3VyZSBiZSBHZW5l
cmF0b3JGdW5jdGlvbkNyZWF0ZShNZXRob2QsCisgICAgICAgU3RyaWN0Rm9ybWFsUGFyYW1ldGVy
cywgR2VuZXJhdG9yQm9keSwgc2NvcGUsIHN0cmljdCkuCisKKyAgICA5LjIuMSBbW0NhbGxdXSAo
IHRoaXNBcmd1bWVudCwgYXJndW1lbnRzTGlzdCkKKworICAgIFsuLi5dCisgICAgNy4gTGV0IHJl
c3VsdCBiZSBPcmRpbmFyeUNhbGxFdmFsdWF0ZUJvZHkoRiwgYXJndW1lbnRzTGlzdCkuCisgICAg
Wy4uLl0KKworICAgIDkuMi4xLjMgT3JkaW5hcnlDYWxsRXZhbHVhdGVCb2R5ICggRiwgYXJndW1l
bnRzTGlzdCApCisKKyAgICAxLiBMZXQgc3RhdHVzIGJlIEZ1bmN0aW9uRGVjbGFyYXRpb25JbnN0
YW50aWF0aW9uKEYsIGFyZ3VtZW50c0xpc3QpLgorICAgIFsuLi5dCisKKyAgICA5LjIuMTIgRnVu
Y3Rpb25EZWNsYXJhdGlvbkluc3RhbnRpYXRpb24oZnVuYywgYXJndW1lbnRzTGlzdCkKKworICAg
IFsuLi5dCisgICAgMjMuIExldCBpdGVyYXRvclJlY29yZCBiZSBSZWNvcmQge1tbaXRlcmF0b3Jd
XToKKyAgICAgICAgQ3JlYXRlTGlzdEl0ZXJhdG9yKGFyZ3VtZW50c0xpc3QpLCBbW2RvbmVdXTog
ZmFsc2V9LgorICAgIDI0LiBJZiBoYXNEdXBsaWNhdGVzIGlzIHRydWUsIHRoZW4KKyAgICAgICAg
Wy4uLl0KKyAgICAyNS4gRWxzZSwKKyAgICAgICAgYi4gTGV0IGZvcm1hbFN0YXR1cyBiZSBJdGVy
YXRvckJpbmRpbmdJbml0aWFsaXphdGlvbiBmb3IgZm9ybWFscyB3aXRoCisgICAgICAgICAgIGl0
ZXJhdG9yUmVjb3JkIGFuZCBlbnYgYXMgYXJndW1lbnRzLgorICAgIFsuLi5dCisKKyAgICBSdW50
aW1lIFNlbWFudGljczogQmluZGluZ0luaXRpYWxpemF0aW9uCisKKyAgICBCaW5kaW5nUGF0dGVy
biA6IEFycmF5QmluZGluZ1BhdHRlcm4KKworICAgIDEuIExldCBpdGVyYXRvclJlY29yZCBiZSA/
IEdldEl0ZXJhdG9yKHZhbHVlKS4KKworICAgIEdldEl0ZXJhdG9yICggb2JqIFsgLCBoaW50IFsg
LCBtZXRob2QgXSBdICkKKworICAgIFsuLi5dCisgICAgNC4gTGV0IGl0ZXJhdG9yIGJlID8gQ2Fs
bChtZXRob2QsIG9iaikuCisKKyAgICBDYWxsICggRiwgViBbICwgYXJndW1lbnRzTGlzdCBdICkK
KworICAgIFsuLi5dCisgICAgMi4gSWYgSXNDYWxsYWJsZShGKSBpcyBmYWxzZSwgdGhyb3cgYSBU
eXBlRXJyb3IgZXhjZXB0aW9uLgorCistLS0qLworZGVsZXRlIEFycmF5LnByb3RvdHlwZVtTeW1i
b2wuaXRlcmF0b3JdOworCitjbGFzcyBDIHsKKyAgKm1ldGhvZChbeCwgeSwgel0gPSBbMSwgMiwg
M10pIHt9Cit9OwordmFyIGMgPSBuZXcgQygpOworCithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwg
ZnVuY3Rpb24oKSB7CisgIGMubWV0aG9kKCk7Cit9KTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZHN0ci9nZW4tbWV0aC1kZmx0LWFy
eS1wdHJuLWVsZW0taWQtaXRlci12YWwtYXJyYXktcHJvdG90eXBlLmpzIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9kc3RyL2dlbi1tZXRoLWRmbHQtYXJ5
LXB0cm4tZWxlbS1pZC1pdGVyLXZhbC1hcnJheS1wcm90b3R5cGUuanMKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2U1
ZDU0N2VlNmM0NjM5NGZhYTRkOWJmYjU4OTcwOWNlZmQ4YzU3MwotLS0gL2Rldi9udWxsCisrKyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZHN0ci9nZW4t
bWV0aC1kZmx0LWFyeS1wdHJuLWVsZW0taWQtaXRlci12YWwtYXJyYXktcHJvdG90eXBlLmpzCkBA
IC0wLDAgKzEsMTAzIEBACisvLyBUaGlzIGZpbGUgd2FzIHByb2NlZHVyYWxseSBnZW5lcmF0ZWQg
ZnJvbSB0aGUgZm9sbG93aW5nIHNvdXJjZXM6CisvLyAtIHNyYy9kc3RyLWJpbmRpbmcvYXJ5LXB0
cm4tZWxlbS1pZC1pdGVyLXZhbC1hcnJheS1wcm90b3R5cGUuY2FzZQorLy8gLSBzcmMvZHN0ci1i
aW5kaW5nL2RlZmF1bHQvY2xzLWRlY2wtZ2VuLW1ldGgtZGZsdC50ZW1wbGF0ZQorLyotLS0KK2Rl
c2NyaXB0aW9uOiBBcnJheSBkZXN0cnVjdHVyaW5nIHVzZXMgb3ZlcnJpZGVuIEFycmF5LnByb3Rv
dHlwZVtTeW1ib2wuaXRlcmF0b3JdIChjbGFzcyBleHByZXNzaW9uIG1ldGhvZCAoZGVmYXVsdCBw
YXJhbWV0ZXJzKSkKK2VzaWQ6IHNlYy1jbGFzcy1kZWZpbml0aW9ucy1ydW50aW1lLXNlbWFudGlj
cy1ldmFsdWF0aW9uCitmZWF0dXJlczogW1N5bWJvbC5pdGVyYXRvciwgZ2VuZXJhdG9ycywgZGVz
dHJ1Y3R1cmluZy1iaW5kaW5nLCBkZWZhdWx0LXBhcmFtZXRlcnNdCitmbGFnczogW2dlbmVyYXRl
ZF0KK2luZm86IHwKKyAgICBDbGFzc0RlY2xhcmF0aW9uIDogY2xhc3MgQmluZGluZ0lkZW50aWZp
ZXIgQ2xhc3NUYWlsCisKKyAgICAxLiBMZXQgY2xhc3NOYW1lIGJlIFN0cmluZ1ZhbHVlIG9mIEJp
bmRpbmdJZGVudGlmaWVyLgorICAgIDIuIExldCB2YWx1ZSBiZSB0aGUgcmVzdWx0IG9mIENsYXNz
RGVmaW5pdGlvbkV2YWx1YXRpb24gb2YgQ2xhc3NUYWlsIHdpdGgKKyAgICAgICBhcmd1bWVudCBj
bGFzc05hbWUuCisgICAgWy4uLl0KKworICAgIDE0LjUuMTQgUnVudGltZSBTZW1hbnRpY3M6IENs
YXNzRGVmaW5pdGlvbkV2YWx1YXRpb24KKworICAgIDIxLiBGb3IgZWFjaCBDbGFzc0VsZW1lbnQg
bSBpbiBvcmRlciBmcm9tIG1ldGhvZHMKKyAgICAgICAgYS4gSWYgSXNTdGF0aWMgb2YgbSBpcyBm
YWxzZSwgdGhlbgorICAgICAgICAgICBpLiBMZXQgc3RhdHVzIGJlIHRoZSByZXN1bHQgb2YgcGVy
Zm9ybWluZworICAgICAgICAgICAgICBQcm9wZXJ0eURlZmluaXRpb25FdmFsdWF0aW9uIGZvciBt
IHdpdGggYXJndW1lbnRzIHByb3RvIGFuZAorICAgICAgICAgICAgICBmYWxzZS4KKyAgICAgICAg
Wy4uLl0KKworICAgIDE0LjQuMTMgUnVudGltZSBTZW1hbnRpY3M6IFByb3BlcnR5RGVmaW5pdGlv
bkV2YWx1YXRpb24KKworICAgIEdlbmVyYXRvck1ldGhvZCA6ICogUHJvcGVydHlOYW1lICggU3Ry
aWN0Rm9ybWFsUGFyYW1ldGVycyApIHsgR2VuZXJhdG9yQm9keSB9CisKKyAgICAxLiBMZXQgcHJv
cEtleSBiZSB0aGUgcmVzdWx0IG9mIGV2YWx1YXRpbmcgUHJvcGVydHlOYW1lLgorICAgIDIuIFJl
dHVybklmQWJydXB0KHByb3BLZXkpLgorICAgIDMuIElmIHRoZSBmdW5jdGlvbiBjb2RlIGZvciB0
aGlzIEdlbmVyYXRvck1ldGhvZCBpcyBzdHJpY3QgbW9kZSBjb2RlLAorICAgICAgIGxldCBzdHJp
Y3QgYmUgdHJ1ZS4gT3RoZXJ3aXNlIGxldCBzdHJpY3QgYmUgZmFsc2UuCisgICAgNC4gTGV0IHNj
b3BlIGJlIHRoZSBydW5uaW5nIGV4ZWN1dGlvbiBjb250ZXh0J3MgTGV4aWNhbEVudmlyb25tZW50
LgorICAgIDUuIExldCBjbG9zdXJlIGJlIEdlbmVyYXRvckZ1bmN0aW9uQ3JlYXRlKE1ldGhvZCwK
KyAgICAgICBTdHJpY3RGb3JtYWxQYXJhbWV0ZXJzLCBHZW5lcmF0b3JCb2R5LCBzY29wZSwgc3Ry
aWN0KS4KKworICAgIDkuMi4xIFtbQ2FsbF1dICggdGhpc0FyZ3VtZW50LCBhcmd1bWVudHNMaXN0
KQorCisgICAgWy4uLl0KKyAgICA3LiBMZXQgcmVzdWx0IGJlIE9yZGluYXJ5Q2FsbEV2YWx1YXRl
Qm9keShGLCBhcmd1bWVudHNMaXN0KS4KKyAgICBbLi4uXQorCisgICAgOS4yLjEuMyBPcmRpbmFy
eUNhbGxFdmFsdWF0ZUJvZHkgKCBGLCBhcmd1bWVudHNMaXN0ICkKKworICAgIDEuIExldCBzdGF0
dXMgYmUgRnVuY3Rpb25EZWNsYXJhdGlvbkluc3RhbnRpYXRpb24oRiwgYXJndW1lbnRzTGlzdCku
CisgICAgWy4uLl0KKworICAgIDkuMi4xMiBGdW5jdGlvbkRlY2xhcmF0aW9uSW5zdGFudGlhdGlv
bihmdW5jLCBhcmd1bWVudHNMaXN0KQorCisgICAgWy4uLl0KKyAgICAyMy4gTGV0IGl0ZXJhdG9y
UmVjb3JkIGJlIFJlY29yZCB7W1tpdGVyYXRvcl1dOgorICAgICAgICBDcmVhdGVMaXN0SXRlcmF0
b3IoYXJndW1lbnRzTGlzdCksIFtbZG9uZV1dOiBmYWxzZX0uCisgICAgMjQuIElmIGhhc0R1cGxp
Y2F0ZXMgaXMgdHJ1ZSwgdGhlbgorICAgICAgICBbLi4uXQorICAgIDI1LiBFbHNlLAorICAgICAg
ICBiLiBMZXQgZm9ybWFsU3RhdHVzIGJlIEl0ZXJhdG9yQmluZGluZ0luaXRpYWxpemF0aW9uIGZv
ciBmb3JtYWxzIHdpdGgKKyAgICAgICAgICAgaXRlcmF0b3JSZWNvcmQgYW5kIGVudiBhcyBhcmd1
bWVudHMuCisgICAgWy4uLl0KKworICAgIFJ1bnRpbWUgU2VtYW50aWNzOiBJdGVyYXRvckJpbmRp
bmdJbml0aWFsaXphdGlvbgorCisgICAgU2luZ2xlTmFtZUJpbmRpbmcgOiBCaW5kaW5nSWRlbnRp
ZmllciBJbml0aWFsaXplcl9vcHQKKworICAgIDEuIExldCBiaW5kaW5nSWQgYmUgU3RyaW5nVmFs
dWUgb2YgQmluZGluZ0lkZW50aWZpZXIuCisgICAgMi4gTGV0IGxocyBiZSA/IFJlc29sdmVCaW5k
aW5nKGJpbmRpbmdJZCwgZW52aXJvbm1lbnQpLgorICAgIDMuIElmIGl0ZXJhdG9yUmVjb3JkLltb
RG9uZV1dIGlzIGZhbHNlLCB0aGVuCisgICAgICAgIGEuIExldCBuZXh0IGJlIEl0ZXJhdG9yU3Rl
cChpdGVyYXRvclJlY29yZCkuCisgICAgICAgIGIuIElmIG5leHQgaXMgYW4gYWJydXB0IGNvbXBs
ZXRpb24sIHNldCBpdGVyYXRvclJlY29yZC5bW0RvbmVdXSB0byB0cnVlLgorICAgICAgICBjLiBS
ZXR1cm5JZkFicnVwdChuZXh0KS4KKyAgICAgICAgZC4gSWYgbmV4dCBpcyBmYWxzZSwgc2V0IGl0
ZXJhdG9yUmVjb3JkLltbRG9uZV1dIHRvIHRydWUuCisgICAgICAgIGUuIEVsc2UsCisgICAgICAg
ICAgICBpLiBMZXQgdiBiZSBJdGVyYXRvclZhbHVlKG5leHQpLgorICAgICAgICAgICAgaWkuIElm
IHYgaXMgYW4gYWJydXB0IGNvbXBsZXRpb24sIHNldCBpdGVyYXRvclJlY29yZC5bW0RvbmVdXSB0
byB0cnVlLgorICAgICAgICAgICAgaWlpLiBSZXR1cm5JZkFicnVwdCh2KS4KKyAgICBbLi4uXQor
ICAgIDcuIFJldHVybiBJbml0aWFsaXplUmVmZXJlbmNlZEJpbmRpbmcobGhzLCB2KS4KKworLS0t
Ki8KK0FycmF5LnByb3RvdHlwZVtTeW1ib2wuaXRlcmF0b3JdID0gZnVuY3Rpb24qICgpIHsKKyAg
ICBpZiAodGhpcy5sZW5ndGggPiAwKSB7CisgICAgICAgIHlpZWxkIHRoaXNbMF07CisgICAgfQor
ICAgIGlmICh0aGlzLmxlbmd0aCA+IDEpIHsKKyAgICAgICAgeWllbGQgdGhpc1sxXTsKKyAgICB9
CisgICAgaWYgKHRoaXMubGVuZ3RoID4gMikgeworICAgICAgICB5aWVsZCA0MjsKKyAgICB9Cit9
OworCit2YXIgY2FsbENvdW50ID0gMDsKK2NsYXNzIEMgeworICAqbWV0aG9kKFt4LCB5LCB6XSA9
IFsxLCAyLCAzXSkgeworICAgIGFzc2VydC5zYW1lVmFsdWUoeCwgMSk7CisgICAgYXNzZXJ0LnNh
bWVWYWx1ZSh5LCAyKTsKKyAgICBhc3NlcnQuc2FtZVZhbHVlKHosIDQyKTsKKyAgICBjYWxsQ291
bnQgPSBjYWxsQ291bnQgKyAxOworICB9Cit9OworCituZXcgQygpLm1ldGhvZCgpLm5leHQoKTsK
K2Fzc2VydC5zYW1lVmFsdWUoY2FsbENvdW50LCAxLCAnbWV0aG9kIGludm9rZWQgZXhhY3RseSBv
bmNlJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1l
bnRzL2NsYXNzL2RzdHIvZ2VuLW1ldGgtZGZsdC1hcnktcHRybi1yZXN0LWlkLWRpcmVjdC5qcyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZHN0ci9nZW4t
bWV0aC1kZmx0LWFyeS1wdHJuLXJlc3QtaWQtZGlyZWN0LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM4ZjVhMmM2
Mjg2NjNmM2E5NDU1OGEyZTIxZGMzNGViOWJhYzRkNWEKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2RzdHIvZ2VuLW1ldGgt
ZGZsdC1hcnktcHRybi1yZXN0LWlkLWRpcmVjdC5qcwpAQCAtMCwwICsxLDg2IEBACisvLyBUaGlz
IGZpbGUgd2FzIHByb2NlZHVyYWxseSBnZW5lcmF0ZWQgZnJvbSB0aGUgZm9sbG93aW5nIHNvdXJj
ZXM6CisvLyAtIHNyYy9kc3RyLWJpbmRpbmcvYXJ5LXB0cm4tcmVzdC1pZC1kaXJlY3QuY2FzZQor
Ly8gLSBzcmMvZHN0ci1iaW5kaW5nL2RlZmF1bHQvY2xzLWRlY2wtZ2VuLW1ldGgtZGZsdC50ZW1w
bGF0ZQorLyotLS0KK2Rlc2NyaXB0aW9uOiBMb25lIHJlc3QgZWxlbWVudCAoZGlyZWN0IGJpbmRp
bmcpIChjbGFzcyBleHByZXNzaW9uIG1ldGhvZCAoZGVmYXVsdCBwYXJhbWV0ZXJzKSkKK2VzaWQ6
IHNlYy1jbGFzcy1kZWZpbml0aW9ucy1ydW50aW1lLXNlbWFudGljcy1ldmFsdWF0aW9uCitmZWF0
dXJlczogW2dlbmVyYXRvcnMsIGRlc3RydWN0dXJpbmctYmluZGluZywgZGVmYXVsdC1wYXJhbWV0
ZXJzXQorZmxhZ3M6IFtnZW5lcmF0ZWRdCitpbmNsdWRlczogW2NvbXBhcmVBcnJheS5qc10KK2lu
Zm86IHwKKyAgICBDbGFzc0RlY2xhcmF0aW9uIDogY2xhc3MgQmluZGluZ0lkZW50aWZpZXIgQ2xh
c3NUYWlsCisKKyAgICAxLiBMZXQgY2xhc3NOYW1lIGJlIFN0cmluZ1ZhbHVlIG9mIEJpbmRpbmdJ
ZGVudGlmaWVyLgorICAgIDIuIExldCB2YWx1ZSBiZSB0aGUgcmVzdWx0IG9mIENsYXNzRGVmaW5p
dGlvbkV2YWx1YXRpb24gb2YgQ2xhc3NUYWlsIHdpdGgKKyAgICAgICBhcmd1bWVudCBjbGFzc05h
bWUuCisgICAgWy4uLl0KKworICAgIDE0LjUuMTQgUnVudGltZSBTZW1hbnRpY3M6IENsYXNzRGVm
aW5pdGlvbkV2YWx1YXRpb24KKworICAgIDIxLiBGb3IgZWFjaCBDbGFzc0VsZW1lbnQgbSBpbiBv
cmRlciBmcm9tIG1ldGhvZHMKKyAgICAgICAgYS4gSWYgSXNTdGF0aWMgb2YgbSBpcyBmYWxzZSwg
dGhlbgorICAgICAgICAgICBpLiBMZXQgc3RhdHVzIGJlIHRoZSByZXN1bHQgb2YgcGVyZm9ybWlu
ZworICAgICAgICAgICAgICBQcm9wZXJ0eURlZmluaXRpb25FdmFsdWF0aW9uIGZvciBtIHdpdGgg
YXJndW1lbnRzIHByb3RvIGFuZAorICAgICAgICAgICAgICBmYWxzZS4KKyAgICAgICAgWy4uLl0K
KworICAgIDE0LjQuMTMgUnVudGltZSBTZW1hbnRpY3M6IFByb3BlcnR5RGVmaW5pdGlvbkV2YWx1
YXRpb24KKworICAgIEdlbmVyYXRvck1ldGhvZCA6ICogUHJvcGVydHlOYW1lICggU3RyaWN0Rm9y
bWFsUGFyYW1ldGVycyApIHsgR2VuZXJhdG9yQm9keSB9CisKKyAgICAxLiBMZXQgcHJvcEtleSBi
ZSB0aGUgcmVzdWx0IG9mIGV2YWx1YXRpbmcgUHJvcGVydHlOYW1lLgorICAgIDIuIFJldHVybklm
QWJydXB0KHByb3BLZXkpLgorICAgIDMuIElmIHRoZSBmdW5jdGlvbiBjb2RlIGZvciB0aGlzIEdl
bmVyYXRvck1ldGhvZCBpcyBzdHJpY3QgbW9kZSBjb2RlLAorICAgICAgIGxldCBzdHJpY3QgYmUg
dHJ1ZS4gT3RoZXJ3aXNlIGxldCBzdHJpY3QgYmUgZmFsc2UuCisgICAgNC4gTGV0IHNjb3BlIGJl
IHRoZSBydW5uaW5nIGV4ZWN1dGlvbiBjb250ZXh0J3MgTGV4aWNhbEVudmlyb25tZW50LgorICAg
IDUuIExldCBjbG9zdXJlIGJlIEdlbmVyYXRvckZ1bmN0aW9uQ3JlYXRlKE1ldGhvZCwKKyAgICAg
ICBTdHJpY3RGb3JtYWxQYXJhbWV0ZXJzLCBHZW5lcmF0b3JCb2R5LCBzY29wZSwgc3RyaWN0KS4K
KworICAgIDkuMi4xIFtbQ2FsbF1dICggdGhpc0FyZ3VtZW50LCBhcmd1bWVudHNMaXN0KQorCisg
ICAgWy4uLl0KKyAgICA3LiBMZXQgcmVzdWx0IGJlIE9yZGluYXJ5Q2FsbEV2YWx1YXRlQm9keShG
LCBhcmd1bWVudHNMaXN0KS4KKyAgICBbLi4uXQorCisgICAgOS4yLjEuMyBPcmRpbmFyeUNhbGxF
dmFsdWF0ZUJvZHkgKCBGLCBhcmd1bWVudHNMaXN0ICkKKworICAgIDEuIExldCBzdGF0dXMgYmUg
RnVuY3Rpb25EZWNsYXJhdGlvbkluc3RhbnRpYXRpb24oRiwgYXJndW1lbnRzTGlzdCkuCisgICAg
Wy4uLl0KKworICAgIDkuMi4xMiBGdW5jdGlvbkRlY2xhcmF0aW9uSW5zdGFudGlhdGlvbihmdW5j
LCBhcmd1bWVudHNMaXN0KQorCisgICAgWy4uLl0KKyAgICAyMy4gTGV0IGl0ZXJhdG9yUmVjb3Jk
IGJlIFJlY29yZCB7W1tpdGVyYXRvcl1dOgorICAgICAgICBDcmVhdGVMaXN0SXRlcmF0b3IoYXJn
dW1lbnRzTGlzdCksIFtbZG9uZV1dOiBmYWxzZX0uCisgICAgMjQuIElmIGhhc0R1cGxpY2F0ZXMg
aXMgdHJ1ZSwgdGhlbgorICAgICAgICBbLi4uXQorICAgIDI1LiBFbHNlLAorICAgICAgICBiLiBM
ZXQgZm9ybWFsU3RhdHVzIGJlIEl0ZXJhdG9yQmluZGluZ0luaXRpYWxpemF0aW9uIGZvciBmb3Jt
YWxzIHdpdGgKKyAgICAgICAgICAgaXRlcmF0b3JSZWNvcmQgYW5kIGVudiBhcyBhcmd1bWVudHMu
CisgICAgWy4uLl0KKworICAgIFJ1bnRpbWUgU2VtYW50aWNzOiBJdGVyYXRvckJpbmRpbmdJbml0
aWFsaXphdGlvbgorCisgICAgQmluZGluZ1Jlc3RFbGVtZW50IDogLi4uIEJpbmRpbmdJZGVudGlm
aWVyCisKKyAgICBbLi4uXQorICAgIDIuIExldCBBIGJlICEgQXJyYXlDcmVhdGUoMCkuCisgICAg
My4gTGV0IG4gYmUgMC4KKyAgICA0LiBSZXBlYXQsCisgICAgICAgIFsuLi5dCisgICAgICAgIGYu
IFBlcmZvcm0gISBDcmVhdGVEYXRhUHJvcGVydHlPclRocm93KEEsICEgVG9TdHJpbmcobiksIG5l
eHRWYWx1ZSkuCisgICAgICAgIGcuIFNldCBuIHRvIG4gKyAxLgorCistLS0qLworCit2YXIgY2Fs
bENvdW50ID0gMDsKK2NsYXNzIEMgeworICAqbWV0aG9kKFsuLi54XSA9IFsxXSkgeworICAgIGFz
c2VydChBcnJheS5pc0FycmF5KHgpKTsKKyAgICBhc3NlcnQuY29tcGFyZUFycmF5KHgsIFsxXSk7
CisgICAgY2FsbENvdW50ID0gY2FsbENvdW50ICsgMTsKKyAgfQorfTsKKworbmV3IEMoKS5tZXRo
b2QoKS5uZXh0KCk7Cithc3NlcnQuc2FtZVZhbHVlKGNhbGxDb3VudCwgMSwgJ21ldGhvZCBpbnZv
a2VkIGV4YWN0bHkgb25jZScpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFu
Z3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9kc3RyL2dlbi1tZXRoLXN0YXRpYy1hcnktaW5pdC1pdGVy
LWdldC1lcnItYXJyYXktcHJvdG90eXBlLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3Vh
Z2Uvc3RhdGVtZW50cy9jbGFzcy9kc3RyL2dlbi1tZXRoLXN0YXRpYy1hcnktaW5pdC1pdGVyLWdl
dC1lcnItYXJyYXktcHJvdG90eXBlLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE5YzAxYWE5YTA1ZWUxZWMwYTMx
NjdjMGIwZTI0Nzg0MzRhNjA0NTIKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2RzdHIvZ2VuLW1ldGgtc3RhdGljLWFyeS1p
bml0LWl0ZXItZ2V0LWVyci1hcnJheS1wcm90b3R5cGUuanMKQEAgLTAsMCArMSw4NiBAQAorLy8g
VGhpcyBmaWxlIHdhcyBwcm9jZWR1cmFsbHkgZ2VuZXJhdGVkIGZyb20gdGhlIGZvbGxvd2luZyBz
b3VyY2VzOgorLy8gLSBzcmMvZHN0ci1iaW5kaW5nL2FyeS1pbml0LWl0ZXItZ2V0LWVyci1hcnJh
eS1wcm90b3R5cGUuY2FzZQorLy8gLSBzcmMvZHN0ci1iaW5kaW5nL2Vycm9yL2Nscy1kZWNsLWdl
bi1tZXRoLXN0YXRpYy50ZW1wbGF0ZQorLyotLS0KK2Rlc2NyaXB0aW9uOiBBYnJ1cHQgY29tcGxl
dGlvbiByZXR1cm5lZCBieSBHZXRJdGVyYXRvciAoc3RhdGljIGNsYXNzIGV4cHJlc3Npb24gZ2Vu
ZXJhdG9yIG1ldGhvZCkKK2VzaWQ6IHNlYy1ydW50aW1lLXNlbWFudGljcy1iaW5kaW5nY2xhc3Nk
ZWNsYXJhdGlvbmV2YWx1YXRpb24KK2ZlYXR1cmVzOiBbU3ltYm9sLml0ZXJhdG9yLCBnZW5lcmF0
b3JzLCBkZXN0cnVjdHVyaW5nLWJpbmRpbmddCitmbGFnczogW2dlbmVyYXRlZF0KK2luZm86IHwK
KyAgICBDbGFzc0RlY2xhcmF0aW9uIDogY2xhc3MgQmluZGluZ0lkZW50aWZpZXIgQ2xhc3NUYWls
CisKKyAgICAxLiBMZXQgY2xhc3NOYW1lIGJlIFN0cmluZ1ZhbHVlIG9mIEJpbmRpbmdJZGVudGlm
aWVyLgorICAgIDIuIExldCB2YWx1ZSBiZSB0aGUgcmVzdWx0IG9mIENsYXNzRGVmaW5pdGlvbkV2
YWx1YXRpb24gb2YgQ2xhc3NUYWlsIHdpdGgKKyAgICAgICBhcmd1bWVudCBjbGFzc05hbWUuCisg
ICAgWy4uLl0KKworICAgIDE0LjUuMTQgUnVudGltZSBTZW1hbnRpY3M6IENsYXNzRGVmaW5pdGlv
bkV2YWx1YXRpb24KKworICAgIDIxLiBGb3IgZWFjaCBDbGFzc0VsZW1lbnQgbSBpbiBvcmRlciBm
cm9tIG1ldGhvZHMKKyAgICAgICAgYS4gSWYgSXNTdGF0aWMgb2YgbSBpcyBmYWxzZSwgdGhlbgor
ICAgICAgICBiLiBFbHNlLAorICAgICAgICAgICBMZXQgc3RhdHVzIGJlIHRoZSByZXN1bHQgb2Yg
cGVyZm9ybWluZyBQcm9wZXJ0eURlZmluaXRpb25FdmFsdWF0aW9uIGZvcgorICAgICAgICAgICBt
IHdpdGggYXJndW1lbnRzIEYgYW5kIGZhbHNlLgorICAgIFsuLi5dCisKKyAgICAxNC40LjEzIFJ1
bnRpbWUgU2VtYW50aWNzOiBQcm9wZXJ0eURlZmluaXRpb25FdmFsdWF0aW9uCisKKyAgICBHZW5l
cmF0b3JNZXRob2QgOiAqIFByb3BlcnR5TmFtZSAoIFN0cmljdEZvcm1hbFBhcmFtZXRlcnMgKSB7
IEdlbmVyYXRvckJvZHkgfQorCisgICAgMS4gTGV0IHByb3BLZXkgYmUgdGhlIHJlc3VsdCBvZiBl
dmFsdWF0aW5nIFByb3BlcnR5TmFtZS4KKyAgICAyLiBSZXR1cm5JZkFicnVwdChwcm9wS2V5KS4K
KyAgICAzLiBJZiB0aGUgZnVuY3Rpb24gY29kZSBmb3IgdGhpcyBHZW5lcmF0b3JNZXRob2QgaXMg
c3RyaWN0IG1vZGUgY29kZSwKKyAgICAgICBsZXQgc3RyaWN0IGJlIHRydWUuIE90aGVyd2lzZSBs
ZXQgc3RyaWN0IGJlIGZhbHNlLgorICAgIDQuIExldCBzY29wZSBiZSB0aGUgcnVubmluZyBleGVj
dXRpb24gY29udGV4dCdzIExleGljYWxFbnZpcm9ubWVudC4KKyAgICA1LiBMZXQgY2xvc3VyZSBi
ZSBHZW5lcmF0b3JGdW5jdGlvbkNyZWF0ZShNZXRob2QsCisgICAgICAgU3RyaWN0Rm9ybWFsUGFy
YW1ldGVycywgR2VuZXJhdG9yQm9keSwgc2NvcGUsIHN0cmljdCkuCisKKyAgICA5LjIuMSBbW0Nh
bGxdXSAoIHRoaXNBcmd1bWVudCwgYXJndW1lbnRzTGlzdCkKKworICAgIFsuLi5dCisgICAgNy4g
TGV0IHJlc3VsdCBiZSBPcmRpbmFyeUNhbGxFdmFsdWF0ZUJvZHkoRiwgYXJndW1lbnRzTGlzdCku
CisgICAgWy4uLl0KKworICAgIDkuMi4xLjMgT3JkaW5hcnlDYWxsRXZhbHVhdGVCb2R5ICggRiwg
YXJndW1lbnRzTGlzdCApCisKKyAgICAxLiBMZXQgc3RhdHVzIGJlIEZ1bmN0aW9uRGVjbGFyYXRp
b25JbnN0YW50aWF0aW9uKEYsIGFyZ3VtZW50c0xpc3QpLgorICAgIFsuLi5dCisKKyAgICA5LjIu
MTIgRnVuY3Rpb25EZWNsYXJhdGlvbkluc3RhbnRpYXRpb24oZnVuYywgYXJndW1lbnRzTGlzdCkK
KworICAgIFsuLi5dCisgICAgMjMuIExldCBpdGVyYXRvclJlY29yZCBiZSBSZWNvcmQge1tbaXRl
cmF0b3JdXToKKyAgICAgICAgQ3JlYXRlTGlzdEl0ZXJhdG9yKGFyZ3VtZW50c0xpc3QpLCBbW2Rv
bmVdXTogZmFsc2V9LgorICAgIDI0LiBJZiBoYXNEdXBsaWNhdGVzIGlzIHRydWUsIHRoZW4KKyAg
ICAgICAgWy4uLl0KKyAgICAyNS4gRWxzZSwKKyAgICAgICAgYi4gTGV0IGZvcm1hbFN0YXR1cyBi
ZSBJdGVyYXRvckJpbmRpbmdJbml0aWFsaXphdGlvbiBmb3IgZm9ybWFscyB3aXRoCisgICAgICAg
ICAgIGl0ZXJhdG9yUmVjb3JkIGFuZCBlbnYgYXMgYXJndW1lbnRzLgorICAgIFsuLi5dCisKKyAg
ICBSdW50aW1lIFNlbWFudGljczogQmluZGluZ0luaXRpYWxpemF0aW9uCisKKyAgICBCaW5kaW5n
UGF0dGVybiA6IEFycmF5QmluZGluZ1BhdHRlcm4KKworICAgIDEuIExldCBpdGVyYXRvclJlY29y
ZCBiZSA/IEdldEl0ZXJhdG9yKHZhbHVlKS4KKworICAgIEdldEl0ZXJhdG9yICggb2JqIFsgLCBo
aW50IFsgLCBtZXRob2QgXSBdICkKKworICAgIFsuLi5dCisgICAgNC4gTGV0IGl0ZXJhdG9yIGJl
ID8gQ2FsbChtZXRob2QsIG9iaikuCisKKyAgICBDYWxsICggRiwgViBbICwgYXJndW1lbnRzTGlz
dCBdICkKKworICAgIFsuLi5dCisgICAgMi4gSWYgSXNDYWxsYWJsZShGKSBpcyBmYWxzZSwgdGhy
b3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgorCistLS0qLworZGVsZXRlIEFycmF5LnByb3RvdHlw
ZVtTeW1ib2wuaXRlcmF0b3JdOworCitjbGFzcyBDIHsKKyAgc3RhdGljICptZXRob2QoW3gsIHks
IHpdKSB7fQorfTsKKworYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsIGZ1bmN0aW9uKCkgeworICBD
Lm1ldGhvZChbMSwgMiwgM10pOworfSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2RzdHIvZ2VuLW1ldGgtc3RhdGljLWFyeS1wdHJu
LWVsZW0taWQtaXRlci12YWwtYXJyYXktcHJvdG90eXBlLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9kc3RyL2dlbi1tZXRoLXN0YXRpYy1hcnktcHRy
bi1lbGVtLWlkLWl0ZXItdmFsLWFycmF5LXByb3RvdHlwZS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zZjg4YTc3
YWYxNDI5N2JhMzIyMWM5M2FjYzJlOGY5NjcwZGU1N2NkCi0tLSAvZGV2L251bGwKKysrIGIvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9kc3RyL2dlbi1tZXRo
LXN0YXRpYy1hcnktcHRybi1lbGVtLWlkLWl0ZXItdmFsLWFycmF5LXByb3RvdHlwZS5qcwpAQCAt
MCwwICsxLDEwMyBAQAorLy8gVGhpcyBmaWxlIHdhcyBwcm9jZWR1cmFsbHkgZ2VuZXJhdGVkIGZy
b20gdGhlIGZvbGxvd2luZyBzb3VyY2VzOgorLy8gLSBzcmMvZHN0ci1iaW5kaW5nL2FyeS1wdHJu
LWVsZW0taWQtaXRlci12YWwtYXJyYXktcHJvdG90eXBlLmNhc2UKKy8vIC0gc3JjL2RzdHItYmlu
ZGluZy9kZWZhdWx0L2Nscy1kZWNsLWdlbi1tZXRoLXN0YXRpYy50ZW1wbGF0ZQorLyotLS0KK2Rl
c2NyaXB0aW9uOiBBcnJheSBkZXN0cnVjdHVyaW5nIHVzZXMgb3ZlcnJpZGVuIEFycmF5LnByb3Rv
dHlwZVtTeW1ib2wuaXRlcmF0b3JdIChzdGF0aWMgY2xhc3MgZXhwcmVzc2lvbiBnZW5lcmF0b3Ig
bWV0aG9kKQorZXNpZDogc2VjLXJ1bnRpbWUtc2VtYW50aWNzLWJpbmRpbmdjbGFzc2RlY2xhcmF0
aW9uZXZhbHVhdGlvbgorZmVhdHVyZXM6IFtTeW1ib2wuaXRlcmF0b3IsIGdlbmVyYXRvcnMsIGRl
c3RydWN0dXJpbmctYmluZGluZ10KK2ZsYWdzOiBbZ2VuZXJhdGVkXQoraW5mbzogfAorICAgIENs
YXNzRGVjbGFyYXRpb24gOiBjbGFzcyBCaW5kaW5nSWRlbnRpZmllciBDbGFzc1RhaWwKKworICAg
IDEuIExldCBjbGFzc05hbWUgYmUgU3RyaW5nVmFsdWUgb2YgQmluZGluZ0lkZW50aWZpZXIuCisg
ICAgMi4gTGV0IHZhbHVlIGJlIHRoZSByZXN1bHQgb2YgQ2xhc3NEZWZpbml0aW9uRXZhbHVhdGlv
biBvZiBDbGFzc1RhaWwgd2l0aAorICAgICAgIGFyZ3VtZW50IGNsYXNzTmFtZS4KKyAgICBbLi4u
XQorCisgICAgMTQuNS4xNCBSdW50aW1lIFNlbWFudGljczogQ2xhc3NEZWZpbml0aW9uRXZhbHVh
dGlvbgorCisgICAgMjEuIEZvciBlYWNoIENsYXNzRWxlbWVudCBtIGluIG9yZGVyIGZyb20gbWV0
aG9kcworICAgICAgICBhLiBJZiBJc1N0YXRpYyBvZiBtIGlzIGZhbHNlLCB0aGVuCisgICAgICAg
IGIuIEVsc2UsCisgICAgICAgICAgIExldCBzdGF0dXMgYmUgdGhlIHJlc3VsdCBvZiBwZXJmb3Jt
aW5nIFByb3BlcnR5RGVmaW5pdGlvbkV2YWx1YXRpb24gZm9yCisgICAgICAgICAgIG0gd2l0aCBh
cmd1bWVudHMgRiBhbmQgZmFsc2UuCisgICAgWy4uLl0KKworICAgIDE0LjQuMTMgUnVudGltZSBT
ZW1hbnRpY3M6IFByb3BlcnR5RGVmaW5pdGlvbkV2YWx1YXRpb24KKworICAgIEdlbmVyYXRvck1l
dGhvZCA6ICogUHJvcGVydHlOYW1lICggU3RyaWN0Rm9ybWFsUGFyYW1ldGVycyApIHsgR2VuZXJh
dG9yQm9keSB9CisKKyAgICAxLiBMZXQgcHJvcEtleSBiZSB0aGUgcmVzdWx0IG9mIGV2YWx1YXRp
bmcgUHJvcGVydHlOYW1lLgorICAgIDIuIFJldHVybklmQWJydXB0KHByb3BLZXkpLgorICAgIDMu
IElmIHRoZSBmdW5jdGlvbiBjb2RlIGZvciB0aGlzIEdlbmVyYXRvck1ldGhvZCBpcyBzdHJpY3Qg
bW9kZSBjb2RlLAorICAgICAgIGxldCBzdHJpY3QgYmUgdHJ1ZS4gT3RoZXJ3aXNlIGxldCBzdHJp
Y3QgYmUgZmFsc2UuCisgICAgNC4gTGV0IHNjb3BlIGJlIHRoZSBydW5uaW5nIGV4ZWN1dGlvbiBj
b250ZXh0J3MgTGV4aWNhbEVudmlyb25tZW50LgorICAgIDUuIExldCBjbG9zdXJlIGJlIEdlbmVy
YXRvckZ1bmN0aW9uQ3JlYXRlKE1ldGhvZCwKKyAgICAgICBTdHJpY3RGb3JtYWxQYXJhbWV0ZXJz
LCBHZW5lcmF0b3JCb2R5LCBzY29wZSwgc3RyaWN0KS4KKworICAgIDkuMi4xIFtbQ2FsbF1dICgg
dGhpc0FyZ3VtZW50LCBhcmd1bWVudHNMaXN0KQorCisgICAgWy4uLl0KKyAgICA3LiBMZXQgcmVz
dWx0IGJlIE9yZGluYXJ5Q2FsbEV2YWx1YXRlQm9keShGLCBhcmd1bWVudHNMaXN0KS4KKyAgICBb
Li4uXQorCisgICAgOS4yLjEuMyBPcmRpbmFyeUNhbGxFdmFsdWF0ZUJvZHkgKCBGLCBhcmd1bWVu
dHNMaXN0ICkKKworICAgIDEuIExldCBzdGF0dXMgYmUgRnVuY3Rpb25EZWNsYXJhdGlvbkluc3Rh
bnRpYXRpb24oRiwgYXJndW1lbnRzTGlzdCkuCisgICAgWy4uLl0KKworICAgIDkuMi4xMiBGdW5j
dGlvbkRlY2xhcmF0aW9uSW5zdGFudGlhdGlvbihmdW5jLCBhcmd1bWVudHNMaXN0KQorCisgICAg
Wy4uLl0KKyAgICAyMy4gTGV0IGl0ZXJhdG9yUmVjb3JkIGJlIFJlY29yZCB7W1tpdGVyYXRvcl1d
OgorICAgICAgICBDcmVhdGVMaXN0SXRlcmF0b3IoYXJndW1lbnRzTGlzdCksIFtbZG9uZV1dOiBm
YWxzZX0uCisgICAgMjQuIElmIGhhc0R1cGxpY2F0ZXMgaXMgdHJ1ZSwgdGhlbgorICAgICAgICBb
Li4uXQorICAgIDI1LiBFbHNlLAorICAgICAgICBiLiBMZXQgZm9ybWFsU3RhdHVzIGJlIEl0ZXJh
dG9yQmluZGluZ0luaXRpYWxpemF0aW9uIGZvciBmb3JtYWxzIHdpdGgKKyAgICAgICAgICAgaXRl
cmF0b3JSZWNvcmQgYW5kIGVudiBhcyBhcmd1bWVudHMuCisgICAgWy4uLl0KKworICAgIFJ1bnRp
bWUgU2VtYW50aWNzOiBJdGVyYXRvckJpbmRpbmdJbml0aWFsaXphdGlvbgorCisgICAgU2luZ2xl
TmFtZUJpbmRpbmcgOiBCaW5kaW5nSWRlbnRpZmllciBJbml0aWFsaXplcl9vcHQKKworICAgIDEu
IExldCBiaW5kaW5nSWQgYmUgU3RyaW5nVmFsdWUgb2YgQmluZGluZ0lkZW50aWZpZXIuCisgICAg
Mi4gTGV0IGxocyBiZSA/IFJlc29sdmVCaW5kaW5nKGJpbmRpbmdJZCwgZW52aXJvbm1lbnQpLgor
ICAgIDMuIElmIGl0ZXJhdG9yUmVjb3JkLltbRG9uZV1dIGlzIGZhbHNlLCB0aGVuCisgICAgICAg
IGEuIExldCBuZXh0IGJlIEl0ZXJhdG9yU3RlcChpdGVyYXRvclJlY29yZCkuCisgICAgICAgIGIu
IElmIG5leHQgaXMgYW4gYWJydXB0IGNvbXBsZXRpb24sIHNldCBpdGVyYXRvclJlY29yZC5bW0Rv
bmVdXSB0byB0cnVlLgorICAgICAgICBjLiBSZXR1cm5JZkFicnVwdChuZXh0KS4KKyAgICAgICAg
ZC4gSWYgbmV4dCBpcyBmYWxzZSwgc2V0IGl0ZXJhdG9yUmVjb3JkLltbRG9uZV1dIHRvIHRydWUu
CisgICAgICAgIGUuIEVsc2UsCisgICAgICAgICAgICBpLiBMZXQgdiBiZSBJdGVyYXRvclZhbHVl
KG5leHQpLgorICAgICAgICAgICAgaWkuIElmIHYgaXMgYW4gYWJydXB0IGNvbXBsZXRpb24sIHNl
dCBpdGVyYXRvclJlY29yZC5bW0RvbmVdXSB0byB0cnVlLgorICAgICAgICAgICAgaWlpLiBSZXR1
cm5JZkFicnVwdCh2KS4KKyAgICBbLi4uXQorICAgIDcuIFJldHVybiBJbml0aWFsaXplUmVmZXJl
bmNlZEJpbmRpbmcobGhzLCB2KS4KKworLS0tKi8KK0FycmF5LnByb3RvdHlwZVtTeW1ib2wuaXRl
cmF0b3JdID0gZnVuY3Rpb24qICgpIHsKKyAgICBpZiAodGhpcy5sZW5ndGggPiAwKSB7CisgICAg
ICAgIHlpZWxkIHRoaXNbMF07CisgICAgfQorICAgIGlmICh0aGlzLmxlbmd0aCA+IDEpIHsKKyAg
ICAgICAgeWllbGQgdGhpc1sxXTsKKyAgICB9CisgICAgaWYgKHRoaXMubGVuZ3RoID4gMikgewor
ICAgICAgICB5aWVsZCA0MjsKKyAgICB9Cit9OworCit2YXIgY2FsbENvdW50ID0gMDsKK2NsYXNz
IEMgeworICBzdGF0aWMgKm1ldGhvZChbeCwgeSwgel0pIHsKKyAgICBhc3NlcnQuc2FtZVZhbHVl
KHgsIDEpOworICAgIGFzc2VydC5zYW1lVmFsdWUoeSwgMik7CisgICAgYXNzZXJ0LnNhbWVWYWx1
ZSh6LCA0Mik7CisgICAgY2FsbENvdW50ID0gY2FsbENvdW50ICsgMTsKKyAgfQorfTsKKworQy5t
ZXRob2QoWzEsIDIsIDNdKS5uZXh0KCk7Cithc3NlcnQuc2FtZVZhbHVlKGNhbGxDb3VudCwgMSwg
J21ldGhvZCBpbnZva2VkIGV4YWN0bHkgb25jZScpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9kc3RyL2dlbi1tZXRoLXN0YXRpYy1h
cnktcHRybi1yZXN0LWlkLWRpcmVjdC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdl
L3N0YXRlbWVudHMvY2xhc3MvZHN0ci9nZW4tbWV0aC1zdGF0aWMtYXJ5LXB0cm4tcmVzdC1pZC1k
aXJlY3QuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNWY0MmY0N2I3YWYzN2JjMjQ4YTM5ZjM1OWFhYWYzYTAxMTcx
YWEzOQotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0
YXRlbWVudHMvY2xhc3MvZHN0ci9nZW4tbWV0aC1zdGF0aWMtYXJ5LXB0cm4tcmVzdC1pZC1kaXJl
Y3QuanMKQEAgLTAsMCArMSw4NiBAQAorLy8gVGhpcyBmaWxlIHdhcyBwcm9jZWR1cmFsbHkgZ2Vu
ZXJhdGVkIGZyb20gdGhlIGZvbGxvd2luZyBzb3VyY2VzOgorLy8gLSBzcmMvZHN0ci1iaW5kaW5n
L2FyeS1wdHJuLXJlc3QtaWQtZGlyZWN0LmNhc2UKKy8vIC0gc3JjL2RzdHItYmluZGluZy9kZWZh
dWx0L2Nscy1kZWNsLWdlbi1tZXRoLXN0YXRpYy50ZW1wbGF0ZQorLyotLS0KK2Rlc2NyaXB0aW9u
OiBMb25lIHJlc3QgZWxlbWVudCAoZGlyZWN0IGJpbmRpbmcpIChzdGF0aWMgY2xhc3MgZXhwcmVz
c2lvbiBnZW5lcmF0b3IgbWV0aG9kKQorZXNpZDogc2VjLXJ1bnRpbWUtc2VtYW50aWNzLWJpbmRp
bmdjbGFzc2RlY2xhcmF0aW9uZXZhbHVhdGlvbgorZmVhdHVyZXM6IFtnZW5lcmF0b3JzLCBkZXN0
cnVjdHVyaW5nLWJpbmRpbmddCitmbGFnczogW2dlbmVyYXRlZF0KK2luY2x1ZGVzOiBbY29tcGFy
ZUFycmF5LmpzXQoraW5mbzogfAorICAgIENsYXNzRGVjbGFyYXRpb24gOiBjbGFzcyBCaW5kaW5n
SWRlbnRpZmllciBDbGFzc1RhaWwKKworICAgIDEuIExldCBjbGFzc05hbWUgYmUgU3RyaW5nVmFs
dWUgb2YgQmluZGluZ0lkZW50aWZpZXIuCisgICAgMi4gTGV0IHZhbHVlIGJlIHRoZSByZXN1bHQg
b2YgQ2xhc3NEZWZpbml0aW9uRXZhbHVhdGlvbiBvZiBDbGFzc1RhaWwgd2l0aAorICAgICAgIGFy
Z3VtZW50IGNsYXNzTmFtZS4KKyAgICBbLi4uXQorCisgICAgMTQuNS4xNCBSdW50aW1lIFNlbWFu
dGljczogQ2xhc3NEZWZpbml0aW9uRXZhbHVhdGlvbgorCisgICAgMjEuIEZvciBlYWNoIENsYXNz
RWxlbWVudCBtIGluIG9yZGVyIGZyb20gbWV0aG9kcworICAgICAgICBhLiBJZiBJc1N0YXRpYyBv
ZiBtIGlzIGZhbHNlLCB0aGVuCisgICAgICAgIGIuIEVsc2UsCisgICAgICAgICAgIExldCBzdGF0
dXMgYmUgdGhlIHJlc3VsdCBvZiBwZXJmb3JtaW5nIFByb3BlcnR5RGVmaW5pdGlvbkV2YWx1YXRp
b24gZm9yCisgICAgICAgICAgIG0gd2l0aCBhcmd1bWVudHMgRiBhbmQgZmFsc2UuCisgICAgWy4u
Ll0KKworICAgIDE0LjQuMTMgUnVudGltZSBTZW1hbnRpY3M6IFByb3BlcnR5RGVmaW5pdGlvbkV2
YWx1YXRpb24KKworICAgIEdlbmVyYXRvck1ldGhvZCA6ICogUHJvcGVydHlOYW1lICggU3RyaWN0
Rm9ybWFsUGFyYW1ldGVycyApIHsgR2VuZXJhdG9yQm9keSB9CisKKyAgICAxLiBMZXQgcHJvcEtl
eSBiZSB0aGUgcmVzdWx0IG9mIGV2YWx1YXRpbmcgUHJvcGVydHlOYW1lLgorICAgIDIuIFJldHVy
bklmQWJydXB0KHByb3BLZXkpLgorICAgIDMuIElmIHRoZSBmdW5jdGlvbiBjb2RlIGZvciB0aGlz
IEdlbmVyYXRvck1ldGhvZCBpcyBzdHJpY3QgbW9kZSBjb2RlLAorICAgICAgIGxldCBzdHJpY3Qg
YmUgdHJ1ZS4gT3RoZXJ3aXNlIGxldCBzdHJpY3QgYmUgZmFsc2UuCisgICAgNC4gTGV0IHNjb3Bl
IGJlIHRoZSBydW5uaW5nIGV4ZWN1dGlvbiBjb250ZXh0J3MgTGV4aWNhbEVudmlyb25tZW50Lgor
ICAgIDUuIExldCBjbG9zdXJlIGJlIEdlbmVyYXRvckZ1bmN0aW9uQ3JlYXRlKE1ldGhvZCwKKyAg
ICAgICBTdHJpY3RGb3JtYWxQYXJhbWV0ZXJzLCBHZW5lcmF0b3JCb2R5LCBzY29wZSwgc3RyaWN0
KS4KKworICAgIDkuMi4xIFtbQ2FsbF1dICggdGhpc0FyZ3VtZW50LCBhcmd1bWVudHNMaXN0KQor
CisgICAgWy4uLl0KKyAgICA3LiBMZXQgcmVzdWx0IGJlIE9yZGluYXJ5Q2FsbEV2YWx1YXRlQm9k
eShGLCBhcmd1bWVudHNMaXN0KS4KKyAgICBbLi4uXQorCisgICAgOS4yLjEuMyBPcmRpbmFyeUNh
bGxFdmFsdWF0ZUJvZHkgKCBGLCBhcmd1bWVudHNMaXN0ICkKKworICAgIDEuIExldCBzdGF0dXMg
YmUgRnVuY3Rpb25EZWNsYXJhdGlvbkluc3RhbnRpYXRpb24oRiwgYXJndW1lbnRzTGlzdCkuCisg
ICAgWy4uLl0KKworICAgIDkuMi4xMiBGdW5jdGlvbkRlY2xhcmF0aW9uSW5zdGFudGlhdGlvbihm
dW5jLCBhcmd1bWVudHNMaXN0KQorCisgICAgWy4uLl0KKyAgICAyMy4gTGV0IGl0ZXJhdG9yUmVj
b3JkIGJlIFJlY29yZCB7W1tpdGVyYXRvcl1dOgorICAgICAgICBDcmVhdGVMaXN0SXRlcmF0b3Io
YXJndW1lbnRzTGlzdCksIFtbZG9uZV1dOiBmYWxzZX0uCisgICAgMjQuIElmIGhhc0R1cGxpY2F0
ZXMgaXMgdHJ1ZSwgdGhlbgorICAgICAgICBbLi4uXQorICAgIDI1LiBFbHNlLAorICAgICAgICBi
LiBMZXQgZm9ybWFsU3RhdHVzIGJlIEl0ZXJhdG9yQmluZGluZ0luaXRpYWxpemF0aW9uIGZvciBm
b3JtYWxzIHdpdGgKKyAgICAgICAgICAgaXRlcmF0b3JSZWNvcmQgYW5kIGVudiBhcyBhcmd1bWVu
dHMuCisgICAgWy4uLl0KKworICAgIFJ1bnRpbWUgU2VtYW50aWNzOiBJdGVyYXRvckJpbmRpbmdJ
bml0aWFsaXphdGlvbgorCisgICAgQmluZGluZ1Jlc3RFbGVtZW50IDogLi4uIEJpbmRpbmdJZGVu
dGlmaWVyCisKKyAgICBbLi4uXQorICAgIDIuIExldCBBIGJlICEgQXJyYXlDcmVhdGUoMCkuCisg
ICAgMy4gTGV0IG4gYmUgMC4KKyAgICA0LiBSZXBlYXQsCisgICAgICAgIFsuLi5dCisgICAgICAg
IGYuIFBlcmZvcm0gISBDcmVhdGVEYXRhUHJvcGVydHlPclRocm93KEEsICEgVG9TdHJpbmcobiks
IG5leHRWYWx1ZSkuCisgICAgICAgIGcuIFNldCBuIHRvIG4gKyAxLgorCistLS0qLworCit2YXIg
Y2FsbENvdW50ID0gMDsKK2NsYXNzIEMgeworICBzdGF0aWMgKm1ldGhvZChbLi4ueF0pIHsKKyAg
ICBhc3NlcnQoQXJyYXkuaXNBcnJheSh4KSk7CisgICAgYXNzZXJ0LmNvbXBhcmVBcnJheSh4LCBb
MV0pOworICAgIGNhbGxDb3VudCA9IGNhbGxDb3VudCArIDE7CisgIH0KK307CisKK0MubWV0aG9k
KFsxXSkubmV4dCgpOworYXNzZXJ0LnNhbWVWYWx1ZShjYWxsQ291bnQsIDEsICdtZXRob2QgaW52
b2tlZCBleGFjdGx5IG9uY2UnKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xh
bmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZHN0ci9nZW4tbWV0aC1zdGF0aWMtZGZsdC1hcnktaW5p
dC1pdGVyLWdldC1lcnItYXJyYXktcHJvdG90eXBlLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
bGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9kc3RyL2dlbi1tZXRoLXN0YXRpYy1kZmx0LWFyeS1p
bml0LWl0ZXItZ2V0LWVyci1hcnJheS1wcm90b3R5cGUuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTVkOWFjZmZj
OThkMmMyYzFlMjVjNDc4ZmYxODE4YTA2ZDEyNmFhMQotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZHN0ci9nZW4tbWV0aC1z
dGF0aWMtZGZsdC1hcnktaW5pdC1pdGVyLWdldC1lcnItYXJyYXktcHJvdG90eXBlLmpzCkBAIC0w
LDAgKzEsODYgQEAKKy8vIFRoaXMgZmlsZSB3YXMgcHJvY2VkdXJhbGx5IGdlbmVyYXRlZCBmcm9t
IHRoZSBmb2xsb3dpbmcgc291cmNlczoKKy8vIC0gc3JjL2RzdHItYmluZGluZy9hcnktaW5pdC1p
dGVyLWdldC1lcnItYXJyYXktcHJvdG90eXBlLmNhc2UKKy8vIC0gc3JjL2RzdHItYmluZGluZy9l
cnJvci9jbHMtZGVjbC1nZW4tbWV0aC1zdGF0aWMtZGZsdC50ZW1wbGF0ZQorLyotLS0KK2Rlc2Ny
aXB0aW9uOiBBYnJ1cHQgY29tcGxldGlvbiByZXR1cm5lZCBieSBHZXRJdGVyYXRvciAoc3RhdGlj
IGNsYXNzIGV4cHJlc3Npb24gZ2VuZXJhdG9yIG1ldGhvZCAoZGVmYXVsdCBwYXJhbWV0ZXIpKQor
ZXNpZDogc2VjLXJ1bnRpbWUtc2VtYW50aWNzLWJpbmRpbmdjbGFzc2RlY2xhcmF0aW9uZXZhbHVh
dGlvbgorZmVhdHVyZXM6IFtTeW1ib2wuaXRlcmF0b3IsIGdlbmVyYXRvcnMsIGRlc3RydWN0dXJp
bmctYmluZGluZywgZGVmYXVsdC1wYXJhbWV0ZXJzXQorZmxhZ3M6IFtnZW5lcmF0ZWRdCitpbmZv
OiB8CisgICAgQ2xhc3NEZWNsYXJhdGlvbiA6IGNsYXNzIEJpbmRpbmdJZGVudGlmaWVyIENsYXNz
VGFpbAorCisgICAgMS4gTGV0IGNsYXNzTmFtZSBiZSBTdHJpbmdWYWx1ZSBvZiBCaW5kaW5nSWRl
bnRpZmllci4KKyAgICAyLiBMZXQgdmFsdWUgYmUgdGhlIHJlc3VsdCBvZiBDbGFzc0RlZmluaXRp
b25FdmFsdWF0aW9uIG9mIENsYXNzVGFpbCB3aXRoCisgICAgICAgYXJndW1lbnQgY2xhc3NOYW1l
LgorICAgIFsuLi5dCisKKyAgICAxNC41LjE0IFJ1bnRpbWUgU2VtYW50aWNzOiBDbGFzc0RlZmlu
aXRpb25FdmFsdWF0aW9uCisKKyAgICAyMS4gRm9yIGVhY2ggQ2xhc3NFbGVtZW50IG0gaW4gb3Jk
ZXIgZnJvbSBtZXRob2RzCisgICAgICAgIGEuIElmIElzU3RhdGljIG9mIG0gaXMgZmFsc2UsIHRo
ZW4KKyAgICAgICAgYi4gRWxzZSwKKyAgICAgICAgICAgTGV0IHN0YXR1cyBiZSB0aGUgcmVzdWx0
IG9mIHBlcmZvcm1pbmcgUHJvcGVydHlEZWZpbml0aW9uRXZhbHVhdGlvbiBmb3IKKyAgICAgICAg
ICAgbSB3aXRoIGFyZ3VtZW50cyBGIGFuZCBmYWxzZS4KKyAgICBbLi4uXQorCisgICAgMTQuNC4x
MyBSdW50aW1lIFNlbWFudGljczogUHJvcGVydHlEZWZpbml0aW9uRXZhbHVhdGlvbgorCisgICAg
R2VuZXJhdG9yTWV0aG9kIDogKiBQcm9wZXJ0eU5hbWUgKCBTdHJpY3RGb3JtYWxQYXJhbWV0ZXJz
ICkgeyBHZW5lcmF0b3JCb2R5IH0KKworICAgIDEuIExldCBwcm9wS2V5IGJlIHRoZSByZXN1bHQg
b2YgZXZhbHVhdGluZyBQcm9wZXJ0eU5hbWUuCisgICAgMi4gUmV0dXJuSWZBYnJ1cHQocHJvcEtl
eSkuCisgICAgMy4gSWYgdGhlIGZ1bmN0aW9uIGNvZGUgZm9yIHRoaXMgR2VuZXJhdG9yTWV0aG9k
IGlzIHN0cmljdCBtb2RlIGNvZGUsCisgICAgICAgbGV0IHN0cmljdCBiZSB0cnVlLiBPdGhlcndp
c2UgbGV0IHN0cmljdCBiZSBmYWxzZS4KKyAgICA0LiBMZXQgc2NvcGUgYmUgdGhlIHJ1bm5pbmcg
ZXhlY3V0aW9uIGNvbnRleHQncyBMZXhpY2FsRW52aXJvbm1lbnQuCisgICAgNS4gTGV0IGNsb3N1
cmUgYmUgR2VuZXJhdG9yRnVuY3Rpb25DcmVhdGUoTWV0aG9kLAorICAgICAgIFN0cmljdEZvcm1h
bFBhcmFtZXRlcnMsIEdlbmVyYXRvckJvZHksIHNjb3BlLCBzdHJpY3QpLgorCisgICAgOS4yLjEg
W1tDYWxsXV0gKCB0aGlzQXJndW1lbnQsIGFyZ3VtZW50c0xpc3QpCisKKyAgICBbLi4uXQorICAg
IDcuIExldCByZXN1bHQgYmUgT3JkaW5hcnlDYWxsRXZhbHVhdGVCb2R5KEYsIGFyZ3VtZW50c0xp
c3QpLgorICAgIFsuLi5dCisKKyAgICA5LjIuMS4zIE9yZGluYXJ5Q2FsbEV2YWx1YXRlQm9keSAo
IEYsIGFyZ3VtZW50c0xpc3QgKQorCisgICAgMS4gTGV0IHN0YXR1cyBiZSBGdW5jdGlvbkRlY2xh
cmF0aW9uSW5zdGFudGlhdGlvbihGLCBhcmd1bWVudHNMaXN0KS4KKyAgICBbLi4uXQorCisgICAg
OS4yLjEyIEZ1bmN0aW9uRGVjbGFyYXRpb25JbnN0YW50aWF0aW9uKGZ1bmMsIGFyZ3VtZW50c0xp
c3QpCisKKyAgICBbLi4uXQorICAgIDIzLiBMZXQgaXRlcmF0b3JSZWNvcmQgYmUgUmVjb3JkIHtb
W2l0ZXJhdG9yXV06CisgICAgICAgIENyZWF0ZUxpc3RJdGVyYXRvcihhcmd1bWVudHNMaXN0KSwg
W1tkb25lXV06IGZhbHNlfS4KKyAgICAyNC4gSWYgaGFzRHVwbGljYXRlcyBpcyB0cnVlLCB0aGVu
CisgICAgICAgIFsuLi5dCisgICAgMjUuIEVsc2UsCisgICAgICAgIGIuIExldCBmb3JtYWxTdGF0
dXMgYmUgSXRlcmF0b3JCaW5kaW5nSW5pdGlhbGl6YXRpb24gZm9yIGZvcm1hbHMgd2l0aAorICAg
ICAgICAgICBpdGVyYXRvclJlY29yZCBhbmQgZW52IGFzIGFyZ3VtZW50cy4KKyAgICBbLi4uXQor
CisgICAgUnVudGltZSBTZW1hbnRpY3M6IEJpbmRpbmdJbml0aWFsaXphdGlvbgorCisgICAgQmlu
ZGluZ1BhdHRlcm4gOiBBcnJheUJpbmRpbmdQYXR0ZXJuCisKKyAgICAxLiBMZXQgaXRlcmF0b3JS
ZWNvcmQgYmUgPyBHZXRJdGVyYXRvcih2YWx1ZSkuCisKKyAgICBHZXRJdGVyYXRvciAoIG9iaiBb
ICwgaGludCBbICwgbWV0aG9kIF0gXSApCisKKyAgICBbLi4uXQorICAgIDQuIExldCBpdGVyYXRv
ciBiZSA/IENhbGwobWV0aG9kLCBvYmopLgorCisgICAgQ2FsbCAoIEYsIFYgWyAsIGFyZ3VtZW50
c0xpc3QgXSApCisKKyAgICBbLi4uXQorICAgIDIuIElmIElzQ2FsbGFibGUoRikgaXMgZmFsc2Us
IHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KKworLS0tKi8KK2RlbGV0ZSBBcnJheS5wcm90
b3R5cGVbU3ltYm9sLml0ZXJhdG9yXTsKKworY2xhc3MgQyB7CisgIHN0YXRpYyAqbWV0aG9kKFt4
LCB5LCB6XSA9IFsxLCAyLCAzXSkge30KK307CisKK2Fzc2VydC50aHJvd3MoVHlwZUVycm9yLCBm
dW5jdGlvbigpIHsKKyAgQy5tZXRob2QoKTsKK30pOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9kc3RyL2dlbi1tZXRoLXN0YXRpYy1k
Zmx0LWFyeS1wdHJuLWVsZW0taWQtaXRlci12YWwtYXJyYXktcHJvdG90eXBlLmpzIGIvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9kc3RyL2dlbi1tZXRoLXN0
YXRpYy1kZmx0LWFyeS1wdHJuLWVsZW0taWQtaXRlci12YWwtYXJyYXktcHJvdG90eXBlLmpzCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjIyMjY2ZWI1ZjU2MWY0ZDYwNzU0MDY3MDRhYzFlZjYwNzQ3NWFhY2YKLS0tIC9k
ZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2Ns
YXNzL2RzdHIvZ2VuLW1ldGgtc3RhdGljLWRmbHQtYXJ5LXB0cm4tZWxlbS1pZC1pdGVyLXZhbC1h
cnJheS1wcm90b3R5cGUuanMKQEAgLTAsMCArMSwxMDMgQEAKKy8vIFRoaXMgZmlsZSB3YXMgcHJv
Y2VkdXJhbGx5IGdlbmVyYXRlZCBmcm9tIHRoZSBmb2xsb3dpbmcgc291cmNlczoKKy8vIC0gc3Jj
L2RzdHItYmluZGluZy9hcnktcHRybi1lbGVtLWlkLWl0ZXItdmFsLWFycmF5LXByb3RvdHlwZS5j
YXNlCisvLyAtIHNyYy9kc3RyLWJpbmRpbmcvZGVmYXVsdC9jbHMtZGVjbC1nZW4tbWV0aC1zdGF0
aWMtZGZsdC50ZW1wbGF0ZQorLyotLS0KK2Rlc2NyaXB0aW9uOiBBcnJheSBkZXN0cnVjdHVyaW5n
IHVzZXMgb3ZlcnJpZGVuIEFycmF5LnByb3RvdHlwZVtTeW1ib2wuaXRlcmF0b3JdIChzdGF0aWMg
Y2xhc3MgZXhwcmVzc2lvbiBnZW5lcmF0b3IgbWV0aG9kIChkZWZhdWx0IHBhcmFtZXRlcikpCitl
c2lkOiBzZWMtcnVudGltZS1zZW1hbnRpY3MtYmluZGluZ2NsYXNzZGVjbGFyYXRpb25ldmFsdWF0
aW9uCitmZWF0dXJlczogW1N5bWJvbC5pdGVyYXRvciwgZ2VuZXJhdG9ycywgZGVzdHJ1Y3R1cmlu
Zy1iaW5kaW5nLCBkZWZhdWx0LXBhcmFtZXRlcnNdCitmbGFnczogW2dlbmVyYXRlZF0KK2luZm86
IHwKKyAgICBDbGFzc0RlY2xhcmF0aW9uIDogY2xhc3MgQmluZGluZ0lkZW50aWZpZXIgQ2xhc3NU
YWlsCisKKyAgICAxLiBMZXQgY2xhc3NOYW1lIGJlIFN0cmluZ1ZhbHVlIG9mIEJpbmRpbmdJZGVu
dGlmaWVyLgorICAgIDIuIExldCB2YWx1ZSBiZSB0aGUgcmVzdWx0IG9mIENsYXNzRGVmaW5pdGlv
bkV2YWx1YXRpb24gb2YgQ2xhc3NUYWlsIHdpdGgKKyAgICAgICBhcmd1bWVudCBjbGFzc05hbWUu
CisgICAgWy4uLl0KKworICAgIDE0LjUuMTQgUnVudGltZSBTZW1hbnRpY3M6IENsYXNzRGVmaW5p
dGlvbkV2YWx1YXRpb24KKworICAgIDIxLiBGb3IgZWFjaCBDbGFzc0VsZW1lbnQgbSBpbiBvcmRl
ciBmcm9tIG1ldGhvZHMKKyAgICAgICAgYS4gSWYgSXNTdGF0aWMgb2YgbSBpcyBmYWxzZSwgdGhl
bgorICAgICAgICBiLiBFbHNlLAorICAgICAgICAgICBMZXQgc3RhdHVzIGJlIHRoZSByZXN1bHQg
b2YgcGVyZm9ybWluZyBQcm9wZXJ0eURlZmluaXRpb25FdmFsdWF0aW9uIGZvcgorICAgICAgICAg
ICBtIHdpdGggYXJndW1lbnRzIEYgYW5kIGZhbHNlLgorICAgIFsuLi5dCisKKyAgICAxNC40LjEz
IFJ1bnRpbWUgU2VtYW50aWNzOiBQcm9wZXJ0eURlZmluaXRpb25FdmFsdWF0aW9uCisKKyAgICBH
ZW5lcmF0b3JNZXRob2QgOiAqIFByb3BlcnR5TmFtZSAoIFN0cmljdEZvcm1hbFBhcmFtZXRlcnMg
KSB7IEdlbmVyYXRvckJvZHkgfQorCisgICAgMS4gTGV0IHByb3BLZXkgYmUgdGhlIHJlc3VsdCBv
ZiBldmFsdWF0aW5nIFByb3BlcnR5TmFtZS4KKyAgICAyLiBSZXR1cm5JZkFicnVwdChwcm9wS2V5
KS4KKyAgICAzLiBJZiB0aGUgZnVuY3Rpb24gY29kZSBmb3IgdGhpcyBHZW5lcmF0b3JNZXRob2Qg
aXMgc3RyaWN0IG1vZGUgY29kZSwKKyAgICAgICBsZXQgc3RyaWN0IGJlIHRydWUuIE90aGVyd2lz
ZSBsZXQgc3RyaWN0IGJlIGZhbHNlLgorICAgIDQuIExldCBzY29wZSBiZSB0aGUgcnVubmluZyBl
eGVjdXRpb24gY29udGV4dCdzIExleGljYWxFbnZpcm9ubWVudC4KKyAgICA1LiBMZXQgY2xvc3Vy
ZSBiZSBHZW5lcmF0b3JGdW5jdGlvbkNyZWF0ZShNZXRob2QsCisgICAgICAgU3RyaWN0Rm9ybWFs
UGFyYW1ldGVycywgR2VuZXJhdG9yQm9keSwgc2NvcGUsIHN0cmljdCkuCisKKyAgICA5LjIuMSBb
W0NhbGxdXSAoIHRoaXNBcmd1bWVudCwgYXJndW1lbnRzTGlzdCkKKworICAgIFsuLi5dCisgICAg
Ny4gTGV0IHJlc3VsdCBiZSBPcmRpbmFyeUNhbGxFdmFsdWF0ZUJvZHkoRiwgYXJndW1lbnRzTGlz
dCkuCisgICAgWy4uLl0KKworICAgIDkuMi4xLjMgT3JkaW5hcnlDYWxsRXZhbHVhdGVCb2R5ICgg
RiwgYXJndW1lbnRzTGlzdCApCisKKyAgICAxLiBMZXQgc3RhdHVzIGJlIEZ1bmN0aW9uRGVjbGFy
YXRpb25JbnN0YW50aWF0aW9uKEYsIGFyZ3VtZW50c0xpc3QpLgorICAgIFsuLi5dCisKKyAgICA5
LjIuMTIgRnVuY3Rpb25EZWNsYXJhdGlvbkluc3RhbnRpYXRpb24oZnVuYywgYXJndW1lbnRzTGlz
dCkKKworICAgIFsuLi5dCisgICAgMjMuIExldCBpdGVyYXRvclJlY29yZCBiZSBSZWNvcmQge1tb
aXRlcmF0b3JdXToKKyAgICAgICAgQ3JlYXRlTGlzdEl0ZXJhdG9yKGFyZ3VtZW50c0xpc3QpLCBb
W2RvbmVdXTogZmFsc2V9LgorICAgIDI0LiBJZiBoYXNEdXBsaWNhdGVzIGlzIHRydWUsIHRoZW4K
KyAgICAgICAgWy4uLl0KKyAgICAyNS4gRWxzZSwKKyAgICAgICAgYi4gTGV0IGZvcm1hbFN0YXR1
cyBiZSBJdGVyYXRvckJpbmRpbmdJbml0aWFsaXphdGlvbiBmb3IgZm9ybWFscyB3aXRoCisgICAg
ICAgICAgIGl0ZXJhdG9yUmVjb3JkIGFuZCBlbnYgYXMgYXJndW1lbnRzLgorICAgIFsuLi5dCisK
KyAgICBSdW50aW1lIFNlbWFudGljczogSXRlcmF0b3JCaW5kaW5nSW5pdGlhbGl6YXRpb24KKwor
ICAgIFNpbmdsZU5hbWVCaW5kaW5nIDogQmluZGluZ0lkZW50aWZpZXIgSW5pdGlhbGl6ZXJfb3B0
CisKKyAgICAxLiBMZXQgYmluZGluZ0lkIGJlIFN0cmluZ1ZhbHVlIG9mIEJpbmRpbmdJZGVudGlm
aWVyLgorICAgIDIuIExldCBsaHMgYmUgPyBSZXNvbHZlQmluZGluZyhiaW5kaW5nSWQsIGVudmly
b25tZW50KS4KKyAgICAzLiBJZiBpdGVyYXRvclJlY29yZC5bW0RvbmVdXSBpcyBmYWxzZSwgdGhl
bgorICAgICAgICBhLiBMZXQgbmV4dCBiZSBJdGVyYXRvclN0ZXAoaXRlcmF0b3JSZWNvcmQpLgor
ICAgICAgICBiLiBJZiBuZXh0IGlzIGFuIGFicnVwdCBjb21wbGV0aW9uLCBzZXQgaXRlcmF0b3JS
ZWNvcmQuW1tEb25lXV0gdG8gdHJ1ZS4KKyAgICAgICAgYy4gUmV0dXJuSWZBYnJ1cHQobmV4dCku
CisgICAgICAgIGQuIElmIG5leHQgaXMgZmFsc2UsIHNldCBpdGVyYXRvclJlY29yZC5bW0RvbmVd
XSB0byB0cnVlLgorICAgICAgICBlLiBFbHNlLAorICAgICAgICAgICAgaS4gTGV0IHYgYmUgSXRl
cmF0b3JWYWx1ZShuZXh0KS4KKyAgICAgICAgICAgIGlpLiBJZiB2IGlzIGFuIGFicnVwdCBjb21w
bGV0aW9uLCBzZXQgaXRlcmF0b3JSZWNvcmQuW1tEb25lXV0gdG8gdHJ1ZS4KKyAgICAgICAgICAg
IGlpaS4gUmV0dXJuSWZBYnJ1cHQodikuCisgICAgWy4uLl0KKyAgICA3LiBSZXR1cm4gSW5pdGlh
bGl6ZVJlZmVyZW5jZWRCaW5kaW5nKGxocywgdikuCisKKy0tLSovCitBcnJheS5wcm90b3R5cGVb
U3ltYm9sLml0ZXJhdG9yXSA9IGZ1bmN0aW9uKiAoKSB7CisgICAgaWYgKHRoaXMubGVuZ3RoID4g
MCkgeworICAgICAgICB5aWVsZCB0aGlzWzBdOworICAgIH0KKyAgICBpZiAodGhpcy5sZW5ndGgg
PiAxKSB7CisgICAgICAgIHlpZWxkIHRoaXNbMV07CisgICAgfQorICAgIGlmICh0aGlzLmxlbmd0
aCA+IDIpIHsKKyAgICAgICAgeWllbGQgNDI7CisgICAgfQorfTsKKwordmFyIGNhbGxDb3VudCA9
IDA7CitjbGFzcyBDIHsKKyAgc3RhdGljICptZXRob2QoW3gsIHksIHpdID0gWzEsIDIsIDNdKSB7
CisgICAgYXNzZXJ0LnNhbWVWYWx1ZSh4LCAxKTsKKyAgICBhc3NlcnQuc2FtZVZhbHVlKHksIDIp
OworICAgIGFzc2VydC5zYW1lVmFsdWUoeiwgNDIpOworICAgIGNhbGxDb3VudCA9IGNhbGxDb3Vu
dCArIDE7CisgIH0KK307CisKK0MubWV0aG9kKCkubmV4dCgpOworYXNzZXJ0LnNhbWVWYWx1ZShj
YWxsQ291bnQsIDEsICdtZXRob2QgaW52b2tlZCBleGFjdGx5IG9uY2UnKTsKZGlmZiAtLWdpdCBh
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZHN0ci9nZW4t
bWV0aC1zdGF0aWMtZGZsdC1hcnktcHRybi1yZXN0LWlkLWRpcmVjdC5qcyBiL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZHN0ci9nZW4tbWV0aC1zdGF0aWMt
ZGZsdC1hcnktcHRybi1yZXN0LWlkLWRpcmVjdC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMjM5YTRjMmVjNTQ1
Yzk3NGE1OTFjYzIxNmE5NTZmMDc5MGYyNjA5Ci0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9kc3RyL2dlbi1tZXRoLXN0YXRp
Yy1kZmx0LWFyeS1wdHJuLXJlc3QtaWQtZGlyZWN0LmpzCkBAIC0wLDAgKzEsODYgQEAKKy8vIFRo
aXMgZmlsZSB3YXMgcHJvY2VkdXJhbGx5IGdlbmVyYXRlZCBmcm9tIHRoZSBmb2xsb3dpbmcgc291
cmNlczoKKy8vIC0gc3JjL2RzdHItYmluZGluZy9hcnktcHRybi1yZXN0LWlkLWRpcmVjdC5jYXNl
CisvLyAtIHNyYy9kc3RyLWJpbmRpbmcvZGVmYXVsdC9jbHMtZGVjbC1nZW4tbWV0aC1zdGF0aWMt
ZGZsdC50ZW1wbGF0ZQorLyotLS0KK2Rlc2NyaXB0aW9uOiBMb25lIHJlc3QgZWxlbWVudCAoZGly
ZWN0IGJpbmRpbmcpIChzdGF0aWMgY2xhc3MgZXhwcmVzc2lvbiBnZW5lcmF0b3IgbWV0aG9kIChk
ZWZhdWx0IHBhcmFtZXRlcikpCitlc2lkOiBzZWMtcnVudGltZS1zZW1hbnRpY3MtYmluZGluZ2Ns
YXNzZGVjbGFyYXRpb25ldmFsdWF0aW9uCitmZWF0dXJlczogW2dlbmVyYXRvcnMsIGRlc3RydWN0
dXJpbmctYmluZGluZywgZGVmYXVsdC1wYXJhbWV0ZXJzXQorZmxhZ3M6IFtnZW5lcmF0ZWRdCitp
bmNsdWRlczogW2NvbXBhcmVBcnJheS5qc10KK2luZm86IHwKKyAgICBDbGFzc0RlY2xhcmF0aW9u
IDogY2xhc3MgQmluZGluZ0lkZW50aWZpZXIgQ2xhc3NUYWlsCisKKyAgICAxLiBMZXQgY2xhc3NO
YW1lIGJlIFN0cmluZ1ZhbHVlIG9mIEJpbmRpbmdJZGVudGlmaWVyLgorICAgIDIuIExldCB2YWx1
ZSBiZSB0aGUgcmVzdWx0IG9mIENsYXNzRGVmaW5pdGlvbkV2YWx1YXRpb24gb2YgQ2xhc3NUYWls
IHdpdGgKKyAgICAgICBhcmd1bWVudCBjbGFzc05hbWUuCisgICAgWy4uLl0KKworICAgIDE0LjUu
MTQgUnVudGltZSBTZW1hbnRpY3M6IENsYXNzRGVmaW5pdGlvbkV2YWx1YXRpb24KKworICAgIDIx
LiBGb3IgZWFjaCBDbGFzc0VsZW1lbnQgbSBpbiBvcmRlciBmcm9tIG1ldGhvZHMKKyAgICAgICAg
YS4gSWYgSXNTdGF0aWMgb2YgbSBpcyBmYWxzZSwgdGhlbgorICAgICAgICBiLiBFbHNlLAorICAg
ICAgICAgICBMZXQgc3RhdHVzIGJlIHRoZSByZXN1bHQgb2YgcGVyZm9ybWluZyBQcm9wZXJ0eURl
ZmluaXRpb25FdmFsdWF0aW9uIGZvcgorICAgICAgICAgICBtIHdpdGggYXJndW1lbnRzIEYgYW5k
IGZhbHNlLgorICAgIFsuLi5dCisKKyAgICAxNC40LjEzIFJ1bnRpbWUgU2VtYW50aWNzOiBQcm9w
ZXJ0eURlZmluaXRpb25FdmFsdWF0aW9uCisKKyAgICBHZW5lcmF0b3JNZXRob2QgOiAqIFByb3Bl
cnR5TmFtZSAoIFN0cmljdEZvcm1hbFBhcmFtZXRlcnMgKSB7IEdlbmVyYXRvckJvZHkgfQorCisg
ICAgMS4gTGV0IHByb3BLZXkgYmUgdGhlIHJlc3VsdCBvZiBldmFsdWF0aW5nIFByb3BlcnR5TmFt
ZS4KKyAgICAyLiBSZXR1cm5JZkFicnVwdChwcm9wS2V5KS4KKyAgICAzLiBJZiB0aGUgZnVuY3Rp
b24gY29kZSBmb3IgdGhpcyBHZW5lcmF0b3JNZXRob2QgaXMgc3RyaWN0IG1vZGUgY29kZSwKKyAg
ICAgICBsZXQgc3RyaWN0IGJlIHRydWUuIE90aGVyd2lzZSBsZXQgc3RyaWN0IGJlIGZhbHNlLgor
ICAgIDQuIExldCBzY29wZSBiZSB0aGUgcnVubmluZyBleGVjdXRpb24gY29udGV4dCdzIExleGlj
YWxFbnZpcm9ubWVudC4KKyAgICA1LiBMZXQgY2xvc3VyZSBiZSBHZW5lcmF0b3JGdW5jdGlvbkNy
ZWF0ZShNZXRob2QsCisgICAgICAgU3RyaWN0Rm9ybWFsUGFyYW1ldGVycywgR2VuZXJhdG9yQm9k
eSwgc2NvcGUsIHN0cmljdCkuCisKKyAgICA5LjIuMSBbW0NhbGxdXSAoIHRoaXNBcmd1bWVudCwg
YXJndW1lbnRzTGlzdCkKKworICAgIFsuLi5dCisgICAgNy4gTGV0IHJlc3VsdCBiZSBPcmRpbmFy
eUNhbGxFdmFsdWF0ZUJvZHkoRiwgYXJndW1lbnRzTGlzdCkuCisgICAgWy4uLl0KKworICAgIDku
Mi4xLjMgT3JkaW5hcnlDYWxsRXZhbHVhdGVCb2R5ICggRiwgYXJndW1lbnRzTGlzdCApCisKKyAg
ICAxLiBMZXQgc3RhdHVzIGJlIEZ1bmN0aW9uRGVjbGFyYXRpb25JbnN0YW50aWF0aW9uKEYsIGFy
Z3VtZW50c0xpc3QpLgorICAgIFsuLi5dCisKKyAgICA5LjIuMTIgRnVuY3Rpb25EZWNsYXJhdGlv
bkluc3RhbnRpYXRpb24oZnVuYywgYXJndW1lbnRzTGlzdCkKKworICAgIFsuLi5dCisgICAgMjMu
IExldCBpdGVyYXRvclJlY29yZCBiZSBSZWNvcmQge1tbaXRlcmF0b3JdXToKKyAgICAgICAgQ3Jl
YXRlTGlzdEl0ZXJhdG9yKGFyZ3VtZW50c0xpc3QpLCBbW2RvbmVdXTogZmFsc2V9LgorICAgIDI0
LiBJZiBoYXNEdXBsaWNhdGVzIGlzIHRydWUsIHRoZW4KKyAgICAgICAgWy4uLl0KKyAgICAyNS4g
RWxzZSwKKyAgICAgICAgYi4gTGV0IGZvcm1hbFN0YXR1cyBiZSBJdGVyYXRvckJpbmRpbmdJbml0
aWFsaXphdGlvbiBmb3IgZm9ybWFscyB3aXRoCisgICAgICAgICAgIGl0ZXJhdG9yUmVjb3JkIGFu
ZCBlbnYgYXMgYXJndW1lbnRzLgorICAgIFsuLi5dCisKKyAgICBSdW50aW1lIFNlbWFudGljczog
SXRlcmF0b3JCaW5kaW5nSW5pdGlhbGl6YXRpb24KKworICAgIEJpbmRpbmdSZXN0RWxlbWVudCA6
IC4uLiBCaW5kaW5nSWRlbnRpZmllcgorCisgICAgWy4uLl0KKyAgICAyLiBMZXQgQSBiZSAhIEFy
cmF5Q3JlYXRlKDApLgorICAgIDMuIExldCBuIGJlIDAuCisgICAgNC4gUmVwZWF0LAorICAgICAg
ICBbLi4uXQorICAgICAgICBmLiBQZXJmb3JtICEgQ3JlYXRlRGF0YVByb3BlcnR5T3JUaHJvdyhB
LCAhIFRvU3RyaW5nKG4pLCBuZXh0VmFsdWUpLgorICAgICAgICBnLiBTZXQgbiB0byBuICsgMS4K
KworLS0tKi8KKwordmFyIGNhbGxDb3VudCA9IDA7CitjbGFzcyBDIHsKKyAgc3RhdGljICptZXRo
b2QoWy4uLnhdID0gWzFdKSB7CisgICAgYXNzZXJ0KEFycmF5LmlzQXJyYXkoeCkpOworICAgIGFz
c2VydC5jb21wYXJlQXJyYXkoeCwgWzFdKTsKKyAgICBjYWxsQ291bnQgPSBjYWxsQ291bnQgKyAx
OworICB9Cit9OworCitDLm1ldGhvZCgpLm5leHQoKTsKK2Fzc2VydC5zYW1lVmFsdWUoY2FsbENv
dW50LCAxLCAnbWV0aG9kIGludm9rZWQgZXhhY3RseSBvbmNlJyk7CmRpZmYgLS1naXQgYS9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2RzdHIvbWV0aC1hcnkt
aW5pdC1pdGVyLWdldC1lcnItYXJyYXktcHJvdG90eXBlLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9kc3RyL21ldGgtYXJ5LWluaXQtaXRlci1nZXQt
ZXJyLWFycmF5LXByb3RvdHlwZS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kZGUyMTczYTI5MTU1YTM0OGE1NTE4
MmRhZTE2YjY4ZDU1ZGUyM2NhCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9kc3RyL21ldGgtYXJ5LWluaXQtaXRlci1nZXQt
ZXJyLWFycmF5LXByb3RvdHlwZS5qcwpAQCAtMCwwICsxLDg2IEBACisvLyBUaGlzIGZpbGUgd2Fz
IHByb2NlZHVyYWxseSBnZW5lcmF0ZWQgZnJvbSB0aGUgZm9sbG93aW5nIHNvdXJjZXM6CisvLyAt
IHNyYy9kc3RyLWJpbmRpbmcvYXJ5LWluaXQtaXRlci1nZXQtZXJyLWFycmF5LXByb3RvdHlwZS5j
YXNlCisvLyAtIHNyYy9kc3RyLWJpbmRpbmcvZXJyb3IvY2xzLWRlY2wtbWV0aC50ZW1wbGF0ZQor
LyotLS0KK2Rlc2NyaXB0aW9uOiBBYnJ1cHQgY29tcGxldGlvbiByZXR1cm5lZCBieSBHZXRJdGVy
YXRvciAoY2xhc3MgZXhwcmVzc2lvbiBtZXRob2QpCitlc2lkOiBzZWMtcnVudGltZS1zZW1hbnRp
Y3MtYmluZGluZ2NsYXNzZGVjbGFyYXRpb25ldmFsdWF0aW9uCitmZWF0dXJlczogW1N5bWJvbC5p
dGVyYXRvciwgZGVzdHJ1Y3R1cmluZy1iaW5kaW5nXQorZmxhZ3M6IFtnZW5lcmF0ZWRdCitpbmZv
OiB8CisgICAgQ2xhc3NEZWNsYXJhdGlvbiA6IGNsYXNzIEJpbmRpbmdJZGVudGlmaWVyIENsYXNz
VGFpbAorCisgICAgMS4gTGV0IGNsYXNzTmFtZSBiZSBTdHJpbmdWYWx1ZSBvZiBCaW5kaW5nSWRl
bnRpZmllci4KKyAgICAyLiBMZXQgdmFsdWUgYmUgdGhlIHJlc3VsdCBvZiBDbGFzc0RlZmluaXRp
b25FdmFsdWF0aW9uIG9mIENsYXNzVGFpbCB3aXRoCisgICAgICAgYXJndW1lbnQgY2xhc3NOYW1l
LgorICAgIFsuLi5dCisKKyAgICAxNC41LjE0IFJ1bnRpbWUgU2VtYW50aWNzOiBDbGFzc0RlZmlu
aXRpb25FdmFsdWF0aW9uCisKKyAgICAyMS4gRm9yIGVhY2ggQ2xhc3NFbGVtZW50IG0gaW4gb3Jk
ZXIgZnJvbSBtZXRob2RzCisgICAgICAgIGEuIElmIElzU3RhdGljIG9mIG0gaXMgZmFsc2UsIHRo
ZW4KKyAgICAgICAgICAgaS4gTGV0IHN0YXR1cyBiZSB0aGUgcmVzdWx0IG9mIHBlcmZvcm1pbmcK
KyAgICAgICAgICAgICAgUHJvcGVydHlEZWZpbml0aW9uRXZhbHVhdGlvbiBmb3IgbSB3aXRoIGFy
Z3VtZW50cyBwcm90byBhbmQKKyAgICAgICAgICAgICAgZmFsc2UuCisgICAgICAgIFsuLi5dCisK
KyAgICAxNC4zLjggUnVudGltZSBTZW1hbnRpY3M6IERlZmluZU1ldGhvZAorCisgICAgTWV0aG9k
RGVmaW5pdGlvbiA6IFByb3BlcnR5TmFtZSAoIFN0cmljdEZvcm1hbFBhcmFtZXRlcnMgKSB7IEZ1
bmN0aW9uQm9keSB9CisKKyAgICBbLi4uXQorICAgIDYuIExldCBjbG9zdXJlIGJlIEZ1bmN0aW9u
Q3JlYXRlKGtpbmQsIFN0cmljdEZvcm1hbFBhcmFtZXRlcnMsIEZ1bmN0aW9uQm9keSwKKyAgICAg
ICBzY29wZSwgc3RyaWN0KS4gSWYgZnVuY3Rpb25Qcm90b3R5cGUgd2FzIHBhc3NlZCBhcyBhIHBh
cmFtZXRlciB0aGVuIHBhc3MgaXRzCisgICAgICAgdmFsdWUgYXMgdGhlIGZ1bmN0aW9uUHJvdG90
eXBlIG9wdGlvbmFsIGFyZ3VtZW50IG9mIEZ1bmN0aW9uQ3JlYXRlLgorICAgIFsuLi5dCisKKyAg
ICA5LjIuMSBbW0NhbGxdXSAoIHRoaXNBcmd1bWVudCwgYXJndW1lbnRzTGlzdCkKKworICAgIFsu
Li5dCisgICAgNy4gTGV0IHJlc3VsdCBiZSBPcmRpbmFyeUNhbGxFdmFsdWF0ZUJvZHkoRiwgYXJn
dW1lbnRzTGlzdCkuCisgICAgWy4uLl0KKworICAgIDkuMi4xLjMgT3JkaW5hcnlDYWxsRXZhbHVh
dGVCb2R5ICggRiwgYXJndW1lbnRzTGlzdCApCisKKyAgICAxLiBMZXQgc3RhdHVzIGJlIEZ1bmN0
aW9uRGVjbGFyYXRpb25JbnN0YW50aWF0aW9uKEYsIGFyZ3VtZW50c0xpc3QpLgorICAgIFsuLi5d
CisKKyAgICA5LjIuMTIgRnVuY3Rpb25EZWNsYXJhdGlvbkluc3RhbnRpYXRpb24oZnVuYywgYXJn
dW1lbnRzTGlzdCkKKworICAgIFsuLi5dCisgICAgMjMuIExldCBpdGVyYXRvclJlY29yZCBiZSBS
ZWNvcmQge1tbaXRlcmF0b3JdXToKKyAgICAgICAgQ3JlYXRlTGlzdEl0ZXJhdG9yKGFyZ3VtZW50
c0xpc3QpLCBbW2RvbmVdXTogZmFsc2V9LgorICAgIDI0LiBJZiBoYXNEdXBsaWNhdGVzIGlzIHRy
dWUsIHRoZW4KKyAgICAgICAgWy4uLl0KKyAgICAyNS4gRWxzZSwKKyAgICAgICAgYi4gTGV0IGZv
cm1hbFN0YXR1cyBiZSBJdGVyYXRvckJpbmRpbmdJbml0aWFsaXphdGlvbiBmb3IgZm9ybWFscyB3
aXRoCisgICAgICAgICAgIGl0ZXJhdG9yUmVjb3JkIGFuZCBlbnYgYXMgYXJndW1lbnRzLgorICAg
IFsuLi5dCisKKyAgICBSdW50aW1lIFNlbWFudGljczogQmluZGluZ0luaXRpYWxpemF0aW9uCisK
KyAgICBCaW5kaW5nUGF0dGVybiA6IEFycmF5QmluZGluZ1BhdHRlcm4KKworICAgIDEuIExldCBp
dGVyYXRvclJlY29yZCBiZSA/IEdldEl0ZXJhdG9yKHZhbHVlKS4KKworICAgIEdldEl0ZXJhdG9y
ICggb2JqIFsgLCBoaW50IFsgLCBtZXRob2QgXSBdICkKKworICAgIFsuLi5dCisgICAgNC4gTGV0
IGl0ZXJhdG9yIGJlID8gQ2FsbChtZXRob2QsIG9iaikuCisKKyAgICBDYWxsICggRiwgViBbICwg
YXJndW1lbnRzTGlzdCBdICkKKworICAgIFsuLi5dCisgICAgMi4gSWYgSXNDYWxsYWJsZShGKSBp
cyBmYWxzZSwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgorCistLS0qLworZGVsZXRlIEFy
cmF5LnByb3RvdHlwZVtTeW1ib2wuaXRlcmF0b3JdOworCitjbGFzcyBDIHsKKyAgbWV0aG9kKFt4
LCB5LCB6XSkge30KK307CisKK3ZhciBjID0gbmV3IEMoKTsKKworYXNzZXJ0LnRocm93cyhUeXBl
RXJyb3IsIGZ1bmN0aW9uKCkgeworICBjLm1ldGhvZChbMSwgMiwgM10pOworfSk7CmRpZmYgLS1n
aXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2RzdHIv
bWV0aC1hcnktcHRybi1lbGVtLWlkLWl0ZXItdmFsLWFycmF5LXByb3RvdHlwZS5qcyBiL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZHN0ci9tZXRoLWFyeS1w
dHJuLWVsZW0taWQtaXRlci12YWwtYXJyYXktcHJvdG90eXBlLmpzCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZmYWFm
NjBiNTQ4ZDhjOTM1MWNmMDU4YTZhZTMzZGEzYmYyODNkZDAKLS0tIC9kZXYvbnVsbAorKysgYi9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2RzdHIvbWV0aC1h
cnktcHRybi1lbGVtLWlkLWl0ZXItdmFsLWFycmF5LXByb3RvdHlwZS5qcwpAQCAtMCwwICsxLDEw
MSBAQAorLy8gVGhpcyBmaWxlIHdhcyBwcm9jZWR1cmFsbHkgZ2VuZXJhdGVkIGZyb20gdGhlIGZv
bGxvd2luZyBzb3VyY2VzOgorLy8gLSBzcmMvZHN0ci1iaW5kaW5nL2FyeS1wdHJuLWVsZW0taWQt
aXRlci12YWwtYXJyYXktcHJvdG90eXBlLmNhc2UKKy8vIC0gc3JjL2RzdHItYmluZGluZy9kZWZh
dWx0L2Nscy1kZWNsLW1ldGgudGVtcGxhdGUKKy8qLS0tCitkZXNjcmlwdGlvbjogQXJyYXkgZGVz
dHJ1Y3R1cmluZyB1c2VzIG92ZXJyaWRlbiBBcnJheS5wcm90b3R5cGVbU3ltYm9sLml0ZXJhdG9y
XSAoY2xhc3MgZXhwcmVzc2lvbiBtZXRob2QpCitlc2lkOiBzZWMtcnVudGltZS1zZW1hbnRpY3Mt
YmluZGluZ2NsYXNzZGVjbGFyYXRpb25ldmFsdWF0aW9uCitmZWF0dXJlczogW1N5bWJvbC5pdGVy
YXRvciwgZ2VuZXJhdG9ycywgZGVzdHJ1Y3R1cmluZy1iaW5kaW5nXQorZmxhZ3M6IFtnZW5lcmF0
ZWRdCitpbmZvOiB8CisgICAgQ2xhc3NEZWNsYXJhdGlvbiA6IGNsYXNzIEJpbmRpbmdJZGVudGlm
aWVyIENsYXNzVGFpbAorCisgICAgMS4gTGV0IGNsYXNzTmFtZSBiZSBTdHJpbmdWYWx1ZSBvZiBC
aW5kaW5nSWRlbnRpZmllci4KKyAgICAyLiBMZXQgdmFsdWUgYmUgdGhlIHJlc3VsdCBvZiBDbGFz
c0RlZmluaXRpb25FdmFsdWF0aW9uIG9mIENsYXNzVGFpbCB3aXRoCisgICAgICAgYXJndW1lbnQg
Y2xhc3NOYW1lLgorICAgIFsuLi5dCisKKyAgICAxNC41LjE0IFJ1bnRpbWUgU2VtYW50aWNzOiBD
bGFzc0RlZmluaXRpb25FdmFsdWF0aW9uCisKKyAgICAyMS4gRm9yIGVhY2ggQ2xhc3NFbGVtZW50
IG0gaW4gb3JkZXIgZnJvbSBtZXRob2RzCisgICAgICAgIGEuIElmIElzU3RhdGljIG9mIG0gaXMg
ZmFsc2UsIHRoZW4KKyAgICAgICAgICAgaS4gTGV0IHN0YXR1cyBiZSB0aGUgcmVzdWx0IG9mIHBl
cmZvcm1pbmcKKyAgICAgICAgICAgICAgUHJvcGVydHlEZWZpbml0aW9uRXZhbHVhdGlvbiBmb3Ig
bSB3aXRoIGFyZ3VtZW50cyBwcm90byBhbmQKKyAgICAgICAgICAgICAgZmFsc2UuCisgICAgICAg
IFsuLi5dCisKKyAgICAxNC4zLjggUnVudGltZSBTZW1hbnRpY3M6IERlZmluZU1ldGhvZAorCisg
ICAgTWV0aG9kRGVmaW5pdGlvbiA6IFByb3BlcnR5TmFtZSAoIFN0cmljdEZvcm1hbFBhcmFtZXRl
cnMgKSB7IEZ1bmN0aW9uQm9keSB9CisKKyAgICBbLi4uXQorICAgIDYuIExldCBjbG9zdXJlIGJl
IEZ1bmN0aW9uQ3JlYXRlKGtpbmQsIFN0cmljdEZvcm1hbFBhcmFtZXRlcnMsIEZ1bmN0aW9uQm9k
eSwKKyAgICAgICBzY29wZSwgc3RyaWN0KS4gSWYgZnVuY3Rpb25Qcm90b3R5cGUgd2FzIHBhc3Nl
ZCBhcyBhIHBhcmFtZXRlciB0aGVuIHBhc3MgaXRzCisgICAgICAgdmFsdWUgYXMgdGhlIGZ1bmN0
aW9uUHJvdG90eXBlIG9wdGlvbmFsIGFyZ3VtZW50IG9mIEZ1bmN0aW9uQ3JlYXRlLgorICAgIFsu
Li5dCisKKyAgICA5LjIuMSBbW0NhbGxdXSAoIHRoaXNBcmd1bWVudCwgYXJndW1lbnRzTGlzdCkK
KworICAgIFsuLi5dCisgICAgNy4gTGV0IHJlc3VsdCBiZSBPcmRpbmFyeUNhbGxFdmFsdWF0ZUJv
ZHkoRiwgYXJndW1lbnRzTGlzdCkuCisgICAgWy4uLl0KKworICAgIDkuMi4xLjMgT3JkaW5hcnlD
YWxsRXZhbHVhdGVCb2R5ICggRiwgYXJndW1lbnRzTGlzdCApCisKKyAgICAxLiBMZXQgc3RhdHVz
IGJlIEZ1bmN0aW9uRGVjbGFyYXRpb25JbnN0YW50aWF0aW9uKEYsIGFyZ3VtZW50c0xpc3QpLgor
ICAgIFsuLi5dCisKKyAgICA5LjIuMTIgRnVuY3Rpb25EZWNsYXJhdGlvbkluc3RhbnRpYXRpb24o
ZnVuYywgYXJndW1lbnRzTGlzdCkKKworICAgIFsuLi5dCisgICAgMjMuIExldCBpdGVyYXRvclJl
Y29yZCBiZSBSZWNvcmQge1tbaXRlcmF0b3JdXToKKyAgICAgICAgQ3JlYXRlTGlzdEl0ZXJhdG9y
KGFyZ3VtZW50c0xpc3QpLCBbW2RvbmVdXTogZmFsc2V9LgorICAgIDI0LiBJZiBoYXNEdXBsaWNh
dGVzIGlzIHRydWUsIHRoZW4KKyAgICAgICAgWy4uLl0KKyAgICAyNS4gRWxzZSwKKyAgICAgICAg
Yi4gTGV0IGZvcm1hbFN0YXR1cyBiZSBJdGVyYXRvckJpbmRpbmdJbml0aWFsaXphdGlvbiBmb3Ig
Zm9ybWFscyB3aXRoCisgICAgICAgICAgIGl0ZXJhdG9yUmVjb3JkIGFuZCBlbnYgYXMgYXJndW1l
bnRzLgorICAgIFsuLi5dCisKKyAgICBSdW50aW1lIFNlbWFudGljczogSXRlcmF0b3JCaW5kaW5n
SW5pdGlhbGl6YXRpb24KKworICAgIFNpbmdsZU5hbWVCaW5kaW5nIDogQmluZGluZ0lkZW50aWZp
ZXIgSW5pdGlhbGl6ZXJfb3B0CisKKyAgICAxLiBMZXQgYmluZGluZ0lkIGJlIFN0cmluZ1ZhbHVl
IG9mIEJpbmRpbmdJZGVudGlmaWVyLgorICAgIDIuIExldCBsaHMgYmUgPyBSZXNvbHZlQmluZGlu
ZyhiaW5kaW5nSWQsIGVudmlyb25tZW50KS4KKyAgICAzLiBJZiBpdGVyYXRvclJlY29yZC5bW0Rv
bmVdXSBpcyBmYWxzZSwgdGhlbgorICAgICAgICBhLiBMZXQgbmV4dCBiZSBJdGVyYXRvclN0ZXAo
aXRlcmF0b3JSZWNvcmQpLgorICAgICAgICBiLiBJZiBuZXh0IGlzIGFuIGFicnVwdCBjb21wbGV0
aW9uLCBzZXQgaXRlcmF0b3JSZWNvcmQuW1tEb25lXV0gdG8gdHJ1ZS4KKyAgICAgICAgYy4gUmV0
dXJuSWZBYnJ1cHQobmV4dCkuCisgICAgICAgIGQuIElmIG5leHQgaXMgZmFsc2UsIHNldCBpdGVy
YXRvclJlY29yZC5bW0RvbmVdXSB0byB0cnVlLgorICAgICAgICBlLiBFbHNlLAorICAgICAgICAg
ICAgaS4gTGV0IHYgYmUgSXRlcmF0b3JWYWx1ZShuZXh0KS4KKyAgICAgICAgICAgIGlpLiBJZiB2
IGlzIGFuIGFicnVwdCBjb21wbGV0aW9uLCBzZXQgaXRlcmF0b3JSZWNvcmQuW1tEb25lXV0gdG8g
dHJ1ZS4KKyAgICAgICAgICAgIGlpaS4gUmV0dXJuSWZBYnJ1cHQodikuCisgICAgWy4uLl0KKyAg
ICA3LiBSZXR1cm4gSW5pdGlhbGl6ZVJlZmVyZW5jZWRCaW5kaW5nKGxocywgdikuCisKKy0tLSov
CitBcnJheS5wcm90b3R5cGVbU3ltYm9sLml0ZXJhdG9yXSA9IGZ1bmN0aW9uKiAoKSB7CisgICAg
aWYgKHRoaXMubGVuZ3RoID4gMCkgeworICAgICAgICB5aWVsZCB0aGlzWzBdOworICAgIH0KKyAg
ICBpZiAodGhpcy5sZW5ndGggPiAxKSB7CisgICAgICAgIHlpZWxkIHRoaXNbMV07CisgICAgfQor
ICAgIGlmICh0aGlzLmxlbmd0aCA+IDIpIHsKKyAgICAgICAgeWllbGQgNDI7CisgICAgfQorfTsK
KwordmFyIGNhbGxDb3VudCA9IDA7CitjbGFzcyBDIHsKKyAgbWV0aG9kKFt4LCB5LCB6XSkgewor
ICAgIGFzc2VydC5zYW1lVmFsdWUoeCwgMSk7CisgICAgYXNzZXJ0LnNhbWVWYWx1ZSh5LCAyKTsK
KyAgICBhc3NlcnQuc2FtZVZhbHVlKHosIDQyKTsKKyAgICBjYWxsQ291bnQgPSBjYWxsQ291bnQg
KyAxOworICB9Cit9OworCituZXcgQygpLm1ldGhvZChbMSwgMiwgM10pOworYXNzZXJ0LnNhbWVW
YWx1ZShjYWxsQ291bnQsIDEsICdtZXRob2QgaW52b2tlZCBleGFjdGx5IG9uY2UnKTsKZGlmZiAt
LWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZHN0
ci9tZXRoLWFyeS1wdHJuLXJlc3QtaWQtZGlyZWN0LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
bGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9kc3RyL21ldGgtYXJ5LXB0cm4tcmVzdC1pZC1kaXJl
Y3QuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNjAyOTM0YmEwYzkxNTg1MzUzMWE0YWE0MzQ2YTg3ODU0YjU3NTI4
OQotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRl
bWVudHMvY2xhc3MvZHN0ci9tZXRoLWFyeS1wdHJuLXJlc3QtaWQtZGlyZWN0LmpzCkBAIC0wLDAg
KzEsODQgQEAKKy8vIFRoaXMgZmlsZSB3YXMgcHJvY2VkdXJhbGx5IGdlbmVyYXRlZCBmcm9tIHRo
ZSBmb2xsb3dpbmcgc291cmNlczoKKy8vIC0gc3JjL2RzdHItYmluZGluZy9hcnktcHRybi1yZXN0
LWlkLWRpcmVjdC5jYXNlCisvLyAtIHNyYy9kc3RyLWJpbmRpbmcvZGVmYXVsdC9jbHMtZGVjbC1t
ZXRoLnRlbXBsYXRlCisvKi0tLQorZGVzY3JpcHRpb246IExvbmUgcmVzdCBlbGVtZW50IChkaXJl
Y3QgYmluZGluZykgKGNsYXNzIGV4cHJlc3Npb24gbWV0aG9kKQorZXNpZDogc2VjLXJ1bnRpbWUt
c2VtYW50aWNzLWJpbmRpbmdjbGFzc2RlY2xhcmF0aW9uZXZhbHVhdGlvbgorZmVhdHVyZXM6IFtk
ZXN0cnVjdHVyaW5nLWJpbmRpbmddCitmbGFnczogW2dlbmVyYXRlZF0KK2luY2x1ZGVzOiBbY29t
cGFyZUFycmF5LmpzXQoraW5mbzogfAorICAgIENsYXNzRGVjbGFyYXRpb24gOiBjbGFzcyBCaW5k
aW5nSWRlbnRpZmllciBDbGFzc1RhaWwKKworICAgIDEuIExldCBjbGFzc05hbWUgYmUgU3RyaW5n
VmFsdWUgb2YgQmluZGluZ0lkZW50aWZpZXIuCisgICAgMi4gTGV0IHZhbHVlIGJlIHRoZSByZXN1
bHQgb2YgQ2xhc3NEZWZpbml0aW9uRXZhbHVhdGlvbiBvZiBDbGFzc1RhaWwgd2l0aAorICAgICAg
IGFyZ3VtZW50IGNsYXNzTmFtZS4KKyAgICBbLi4uXQorCisgICAgMTQuNS4xNCBSdW50aW1lIFNl
bWFudGljczogQ2xhc3NEZWZpbml0aW9uRXZhbHVhdGlvbgorCisgICAgMjEuIEZvciBlYWNoIENs
YXNzRWxlbWVudCBtIGluIG9yZGVyIGZyb20gbWV0aG9kcworICAgICAgICBhLiBJZiBJc1N0YXRp
YyBvZiBtIGlzIGZhbHNlLCB0aGVuCisgICAgICAgICAgIGkuIExldCBzdGF0dXMgYmUgdGhlIHJl
c3VsdCBvZiBwZXJmb3JtaW5nCisgICAgICAgICAgICAgIFByb3BlcnR5RGVmaW5pdGlvbkV2YWx1
YXRpb24gZm9yIG0gd2l0aCBhcmd1bWVudHMgcHJvdG8gYW5kCisgICAgICAgICAgICAgIGZhbHNl
LgorICAgICAgICBbLi4uXQorCisgICAgMTQuMy44IFJ1bnRpbWUgU2VtYW50aWNzOiBEZWZpbmVN
ZXRob2QKKworICAgIE1ldGhvZERlZmluaXRpb24gOiBQcm9wZXJ0eU5hbWUgKCBTdHJpY3RGb3Jt
YWxQYXJhbWV0ZXJzICkgeyBGdW5jdGlvbkJvZHkgfQorCisgICAgWy4uLl0KKyAgICA2LiBMZXQg
Y2xvc3VyZSBiZSBGdW5jdGlvbkNyZWF0ZShraW5kLCBTdHJpY3RGb3JtYWxQYXJhbWV0ZXJzLCBG
dW5jdGlvbkJvZHksCisgICAgICAgc2NvcGUsIHN0cmljdCkuIElmIGZ1bmN0aW9uUHJvdG90eXBl
IHdhcyBwYXNzZWQgYXMgYSBwYXJhbWV0ZXIgdGhlbiBwYXNzIGl0cworICAgICAgIHZhbHVlIGFz
IHRoZSBmdW5jdGlvblByb3RvdHlwZSBvcHRpb25hbCBhcmd1bWVudCBvZiBGdW5jdGlvbkNyZWF0
ZS4KKyAgICBbLi4uXQorCisgICAgOS4yLjEgW1tDYWxsXV0gKCB0aGlzQXJndW1lbnQsIGFyZ3Vt
ZW50c0xpc3QpCisKKyAgICBbLi4uXQorICAgIDcuIExldCByZXN1bHQgYmUgT3JkaW5hcnlDYWxs
RXZhbHVhdGVCb2R5KEYsIGFyZ3VtZW50c0xpc3QpLgorICAgIFsuLi5dCisKKyAgICA5LjIuMS4z
IE9yZGluYXJ5Q2FsbEV2YWx1YXRlQm9keSAoIEYsIGFyZ3VtZW50c0xpc3QgKQorCisgICAgMS4g
TGV0IHN0YXR1cyBiZSBGdW5jdGlvbkRlY2xhcmF0aW9uSW5zdGFudGlhdGlvbihGLCBhcmd1bWVu
dHNMaXN0KS4KKyAgICBbLi4uXQorCisgICAgOS4yLjEyIEZ1bmN0aW9uRGVjbGFyYXRpb25JbnN0
YW50aWF0aW9uKGZ1bmMsIGFyZ3VtZW50c0xpc3QpCisKKyAgICBbLi4uXQorICAgIDIzLiBMZXQg
aXRlcmF0b3JSZWNvcmQgYmUgUmVjb3JkIHtbW2l0ZXJhdG9yXV06CisgICAgICAgIENyZWF0ZUxp
c3RJdGVyYXRvcihhcmd1bWVudHNMaXN0KSwgW1tkb25lXV06IGZhbHNlfS4KKyAgICAyNC4gSWYg
aGFzRHVwbGljYXRlcyBpcyB0cnVlLCB0aGVuCisgICAgICAgIFsuLi5dCisgICAgMjUuIEVsc2Us
CisgICAgICAgIGIuIExldCBmb3JtYWxTdGF0dXMgYmUgSXRlcmF0b3JCaW5kaW5nSW5pdGlhbGl6
YXRpb24gZm9yIGZvcm1hbHMgd2l0aAorICAgICAgICAgICBpdGVyYXRvclJlY29yZCBhbmQgZW52
IGFzIGFyZ3VtZW50cy4KKyAgICBbLi4uXQorCisgICAgUnVudGltZSBTZW1hbnRpY3M6IEl0ZXJh
dG9yQmluZGluZ0luaXRpYWxpemF0aW9uCisKKyAgICBCaW5kaW5nUmVzdEVsZW1lbnQgOiAuLi4g
QmluZGluZ0lkZW50aWZpZXIKKworICAgIFsuLi5dCisgICAgMi4gTGV0IEEgYmUgISBBcnJheUNy
ZWF0ZSgwKS4KKyAgICAzLiBMZXQgbiBiZSAwLgorICAgIDQuIFJlcGVhdCwKKyAgICAgICAgWy4u
Ll0KKyAgICAgICAgZi4gUGVyZm9ybSAhIENyZWF0ZURhdGFQcm9wZXJ0eU9yVGhyb3coQSwgISBU
b1N0cmluZyhuKSwgbmV4dFZhbHVlKS4KKyAgICAgICAgZy4gU2V0IG4gdG8gbiArIDEuCisKKy0t
LSovCisKK3ZhciBjYWxsQ291bnQgPSAwOworY2xhc3MgQyB7CisgIG1ldGhvZChbLi4ueF0pIHsK
KyAgICBhc3NlcnQoQXJyYXkuaXNBcnJheSh4KSk7CisgICAgYXNzZXJ0LmNvbXBhcmVBcnJheSh4
LCBbMV0pOworICAgIGNhbGxDb3VudCA9IGNhbGxDb3VudCArIDE7CisgIH0KK307CisKK25ldyBD
KCkubWV0aG9kKFsxXSk7Cithc3NlcnQuc2FtZVZhbHVlKGNhbGxDb3VudCwgMSwgJ21ldGhvZCBp
bnZva2VkIGV4YWN0bHkgb25jZScpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
bGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9kc3RyL21ldGgtZGZsdC1hcnktaW5pdC1pdGVyLWdl
dC1lcnItYXJyYXktcHJvdG90eXBlLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uv
c3RhdGVtZW50cy9jbGFzcy9kc3RyL21ldGgtZGZsdC1hcnktaW5pdC1pdGVyLWdldC1lcnItYXJy
YXktcHJvdG90eXBlLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM3MTc4OGEyMzg4NmFhMDJjMGIxZGFiMzk4NmVi
MDI0NDU3OGMxNGMKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5n
dWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2RzdHIvbWV0aC1kZmx0LWFyeS1pbml0LWl0ZXItZ2V0LWVy
ci1hcnJheS1wcm90b3R5cGUuanMKQEAgLTAsMCArMSw4NiBAQAorLy8gVGhpcyBmaWxlIHdhcyBw
cm9jZWR1cmFsbHkgZ2VuZXJhdGVkIGZyb20gdGhlIGZvbGxvd2luZyBzb3VyY2VzOgorLy8gLSBz
cmMvZHN0ci1iaW5kaW5nL2FyeS1pbml0LWl0ZXItZ2V0LWVyci1hcnJheS1wcm90b3R5cGUuY2Fz
ZQorLy8gLSBzcmMvZHN0ci1iaW5kaW5nL2Vycm9yL2Nscy1kZWNsLW1ldGgtZGZsdC50ZW1wbGF0
ZQorLyotLS0KK2Rlc2NyaXB0aW9uOiBBYnJ1cHQgY29tcGxldGlvbiByZXR1cm5lZCBieSBHZXRJ
dGVyYXRvciAoY2xhc3MgZXhwcmVzc2lvbiBtZXRob2QgKGRlZmF1bHQgcGFyYW1ldGVyKSkKK2Vz
aWQ6IHNlYy1ydW50aW1lLXNlbWFudGljcy1iaW5kaW5nY2xhc3NkZWNsYXJhdGlvbmV2YWx1YXRp
b24KK2ZlYXR1cmVzOiBbU3ltYm9sLml0ZXJhdG9yLCBkZXN0cnVjdHVyaW5nLWJpbmRpbmcsIGRl
ZmF1bHQtcGFyYW1ldGVyc10KK2ZsYWdzOiBbZ2VuZXJhdGVkXQoraW5mbzogfAorICAgIENsYXNz
RGVjbGFyYXRpb24gOiBjbGFzcyBCaW5kaW5nSWRlbnRpZmllciBDbGFzc1RhaWwKKworICAgIDEu
IExldCBjbGFzc05hbWUgYmUgU3RyaW5nVmFsdWUgb2YgQmluZGluZ0lkZW50aWZpZXIuCisgICAg
Mi4gTGV0IHZhbHVlIGJlIHRoZSByZXN1bHQgb2YgQ2xhc3NEZWZpbml0aW9uRXZhbHVhdGlvbiBv
ZiBDbGFzc1RhaWwgd2l0aAorICAgICAgIGFyZ3VtZW50IGNsYXNzTmFtZS4KKyAgICBbLi4uXQor
CisgICAgMTQuNS4xNCBSdW50aW1lIFNlbWFudGljczogQ2xhc3NEZWZpbml0aW9uRXZhbHVhdGlv
bgorCisgICAgMjEuIEZvciBlYWNoIENsYXNzRWxlbWVudCBtIGluIG9yZGVyIGZyb20gbWV0aG9k
cworICAgICAgICBhLiBJZiBJc1N0YXRpYyBvZiBtIGlzIGZhbHNlLCB0aGVuCisgICAgICAgICAg
IGkuIExldCBzdGF0dXMgYmUgdGhlIHJlc3VsdCBvZiBwZXJmb3JtaW5nCisgICAgICAgICAgICAg
IFByb3BlcnR5RGVmaW5pdGlvbkV2YWx1YXRpb24gZm9yIG0gd2l0aCBhcmd1bWVudHMgcHJvdG8g
YW5kCisgICAgICAgICAgICAgIGZhbHNlLgorICAgICAgICBbLi4uXQorCisgICAgMTQuMy44IFJ1
bnRpbWUgU2VtYW50aWNzOiBEZWZpbmVNZXRob2QKKworICAgIE1ldGhvZERlZmluaXRpb24gOiBQ
cm9wZXJ0eU5hbWUgKCBTdHJpY3RGb3JtYWxQYXJhbWV0ZXJzICkgeyBGdW5jdGlvbkJvZHkgfQor
CisgICAgWy4uLl0KKyAgICA2LiBMZXQgY2xvc3VyZSBiZSBGdW5jdGlvbkNyZWF0ZShraW5kLCBT
dHJpY3RGb3JtYWxQYXJhbWV0ZXJzLCBGdW5jdGlvbkJvZHksCisgICAgICAgc2NvcGUsIHN0cmlj
dCkuIElmIGZ1bmN0aW9uUHJvdG90eXBlIHdhcyBwYXNzZWQgYXMgYSBwYXJhbWV0ZXIgdGhlbiBw
YXNzIGl0cworICAgICAgIHZhbHVlIGFzIHRoZSBmdW5jdGlvblByb3RvdHlwZSBvcHRpb25hbCBh
cmd1bWVudCBvZiBGdW5jdGlvbkNyZWF0ZS4KKyAgICBbLi4uXQorCisgICAgOS4yLjEgW1tDYWxs
XV0gKCB0aGlzQXJndW1lbnQsIGFyZ3VtZW50c0xpc3QpCisKKyAgICBbLi4uXQorICAgIDcuIExl
dCByZXN1bHQgYmUgT3JkaW5hcnlDYWxsRXZhbHVhdGVCb2R5KEYsIGFyZ3VtZW50c0xpc3QpLgor
ICAgIFsuLi5dCisKKyAgICA5LjIuMS4zIE9yZGluYXJ5Q2FsbEV2YWx1YXRlQm9keSAoIEYsIGFy
Z3VtZW50c0xpc3QgKQorCisgICAgMS4gTGV0IHN0YXR1cyBiZSBGdW5jdGlvbkRlY2xhcmF0aW9u
SW5zdGFudGlhdGlvbihGLCBhcmd1bWVudHNMaXN0KS4KKyAgICBbLi4uXQorCisgICAgOS4yLjEy
IEZ1bmN0aW9uRGVjbGFyYXRpb25JbnN0YW50aWF0aW9uKGZ1bmMsIGFyZ3VtZW50c0xpc3QpCisK
KyAgICBbLi4uXQorICAgIDIzLiBMZXQgaXRlcmF0b3JSZWNvcmQgYmUgUmVjb3JkIHtbW2l0ZXJh
dG9yXV06CisgICAgICAgIENyZWF0ZUxpc3RJdGVyYXRvcihhcmd1bWVudHNMaXN0KSwgW1tkb25l
XV06IGZhbHNlfS4KKyAgICAyNC4gSWYgaGFzRHVwbGljYXRlcyBpcyB0cnVlLCB0aGVuCisgICAg
ICAgIFsuLi5dCisgICAgMjUuIEVsc2UsCisgICAgICAgIGIuIExldCBmb3JtYWxTdGF0dXMgYmUg
SXRlcmF0b3JCaW5kaW5nSW5pdGlhbGl6YXRpb24gZm9yIGZvcm1hbHMgd2l0aAorICAgICAgICAg
ICBpdGVyYXRvclJlY29yZCBhbmQgZW52IGFzIGFyZ3VtZW50cy4KKyAgICBbLi4uXQorCisgICAg
UnVudGltZSBTZW1hbnRpY3M6IEJpbmRpbmdJbml0aWFsaXphdGlvbgorCisgICAgQmluZGluZ1Bh
dHRlcm4gOiBBcnJheUJpbmRpbmdQYXR0ZXJuCisKKyAgICAxLiBMZXQgaXRlcmF0b3JSZWNvcmQg
YmUgPyBHZXRJdGVyYXRvcih2YWx1ZSkuCisKKyAgICBHZXRJdGVyYXRvciAoIG9iaiBbICwgaGlu
dCBbICwgbWV0aG9kIF0gXSApCisKKyAgICBbLi4uXQorICAgIDQuIExldCBpdGVyYXRvciBiZSA/
IENhbGwobWV0aG9kLCBvYmopLgorCisgICAgQ2FsbCAoIEYsIFYgWyAsIGFyZ3VtZW50c0xpc3Qg
XSApCisKKyAgICBbLi4uXQorICAgIDIuIElmIElzQ2FsbGFibGUoRikgaXMgZmFsc2UsIHRocm93
IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KKworLS0tKi8KK2RlbGV0ZSBBcnJheS5wcm90b3R5cGVb
U3ltYm9sLml0ZXJhdG9yXTsKKworY2xhc3MgQyB7CisgIG1ldGhvZChbeCwgeSwgel0gPSBbMSwg
MiwgM10pIHt9Cit9OworCit2YXIgYyA9IG5ldyBDKCk7CisKK2Fzc2VydC50aHJvd3MoVHlwZUVy
cm9yLCBmdW5jdGlvbigpIHsKKyAgYy5tZXRob2QoKTsKK30pOwpkaWZmIC0tZ2l0IGEvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9kc3RyL21ldGgtZGZsdC1h
cnktcHRybi1lbGVtLWlkLWl0ZXItdmFsLWFycmF5LXByb3RvdHlwZS5qcyBiL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZHN0ci9tZXRoLWRmbHQtYXJ5LXB0
cm4tZWxlbS1pZC1pdGVyLXZhbC1hcnJheS1wcm90b3R5cGUuanMKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmNiMDgw
YjliNzMxNjE2YjA3NWVjY2Q3MmRiMmY1NTFkZGZmOGMwMQotLS0gL2Rldi9udWxsCisrKyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZHN0ci9tZXRoLWRm
bHQtYXJ5LXB0cm4tZWxlbS1pZC1pdGVyLXZhbC1hcnJheS1wcm90b3R5cGUuanMKQEAgLTAsMCAr
MSwxMDEgQEAKKy8vIFRoaXMgZmlsZSB3YXMgcHJvY2VkdXJhbGx5IGdlbmVyYXRlZCBmcm9tIHRo
ZSBmb2xsb3dpbmcgc291cmNlczoKKy8vIC0gc3JjL2RzdHItYmluZGluZy9hcnktcHRybi1lbGVt
LWlkLWl0ZXItdmFsLWFycmF5LXByb3RvdHlwZS5jYXNlCisvLyAtIHNyYy9kc3RyLWJpbmRpbmcv
ZGVmYXVsdC9jbHMtZGVjbC1tZXRoLWRmbHQudGVtcGxhdGUKKy8qLS0tCitkZXNjcmlwdGlvbjog
QXJyYXkgZGVzdHJ1Y3R1cmluZyB1c2VzIG92ZXJyaWRlbiBBcnJheS5wcm90b3R5cGVbU3ltYm9s
Lml0ZXJhdG9yXSAoY2xhc3MgZXhwcmVzc2lvbiBtZXRob2QgKGRlZmF1bHQgcGFyYW1ldGVyKSkK
K2VzaWQ6IHNlYy1ydW50aW1lLXNlbWFudGljcy1iaW5kaW5nY2xhc3NkZWNsYXJhdGlvbmV2YWx1
YXRpb24KK2ZlYXR1cmVzOiBbU3ltYm9sLml0ZXJhdG9yLCBnZW5lcmF0b3JzLCBkZXN0cnVjdHVy
aW5nLWJpbmRpbmcsIGRlZmF1bHQtcGFyYW1ldGVyc10KK2ZsYWdzOiBbZ2VuZXJhdGVkXQoraW5m
bzogfAorICAgIENsYXNzRGVjbGFyYXRpb24gOiBjbGFzcyBCaW5kaW5nSWRlbnRpZmllciBDbGFz
c1RhaWwKKworICAgIDEuIExldCBjbGFzc05hbWUgYmUgU3RyaW5nVmFsdWUgb2YgQmluZGluZ0lk
ZW50aWZpZXIuCisgICAgMi4gTGV0IHZhbHVlIGJlIHRoZSByZXN1bHQgb2YgQ2xhc3NEZWZpbml0
aW9uRXZhbHVhdGlvbiBvZiBDbGFzc1RhaWwgd2l0aAorICAgICAgIGFyZ3VtZW50IGNsYXNzTmFt
ZS4KKyAgICBbLi4uXQorCisgICAgMTQuNS4xNCBSdW50aW1lIFNlbWFudGljczogQ2xhc3NEZWZp
bml0aW9uRXZhbHVhdGlvbgorCisgICAgMjEuIEZvciBlYWNoIENsYXNzRWxlbWVudCBtIGluIG9y
ZGVyIGZyb20gbWV0aG9kcworICAgICAgICBhLiBJZiBJc1N0YXRpYyBvZiBtIGlzIGZhbHNlLCB0
aGVuCisgICAgICAgICAgIGkuIExldCBzdGF0dXMgYmUgdGhlIHJlc3VsdCBvZiBwZXJmb3JtaW5n
CisgICAgICAgICAgICAgIFByb3BlcnR5RGVmaW5pdGlvbkV2YWx1YXRpb24gZm9yIG0gd2l0aCBh
cmd1bWVudHMgcHJvdG8gYW5kCisgICAgICAgICAgICAgIGZhbHNlLgorICAgICAgICBbLi4uXQor
CisgICAgMTQuMy44IFJ1bnRpbWUgU2VtYW50aWNzOiBEZWZpbmVNZXRob2QKKworICAgIE1ldGhv
ZERlZmluaXRpb24gOiBQcm9wZXJ0eU5hbWUgKCBTdHJpY3RGb3JtYWxQYXJhbWV0ZXJzICkgeyBG
dW5jdGlvbkJvZHkgfQorCisgICAgWy4uLl0KKyAgICA2LiBMZXQgY2xvc3VyZSBiZSBGdW5jdGlv
bkNyZWF0ZShraW5kLCBTdHJpY3RGb3JtYWxQYXJhbWV0ZXJzLCBGdW5jdGlvbkJvZHksCisgICAg
ICAgc2NvcGUsIHN0cmljdCkuIElmIGZ1bmN0aW9uUHJvdG90eXBlIHdhcyBwYXNzZWQgYXMgYSBw
YXJhbWV0ZXIgdGhlbiBwYXNzIGl0cworICAgICAgIHZhbHVlIGFzIHRoZSBmdW5jdGlvblByb3Rv
dHlwZSBvcHRpb25hbCBhcmd1bWVudCBvZiBGdW5jdGlvbkNyZWF0ZS4KKyAgICBbLi4uXQorCisg
ICAgOS4yLjEgW1tDYWxsXV0gKCB0aGlzQXJndW1lbnQsIGFyZ3VtZW50c0xpc3QpCisKKyAgICBb
Li4uXQorICAgIDcuIExldCByZXN1bHQgYmUgT3JkaW5hcnlDYWxsRXZhbHVhdGVCb2R5KEYsIGFy
Z3VtZW50c0xpc3QpLgorICAgIFsuLi5dCisKKyAgICA5LjIuMS4zIE9yZGluYXJ5Q2FsbEV2YWx1
YXRlQm9keSAoIEYsIGFyZ3VtZW50c0xpc3QgKQorCisgICAgMS4gTGV0IHN0YXR1cyBiZSBGdW5j
dGlvbkRlY2xhcmF0aW9uSW5zdGFudGlhdGlvbihGLCBhcmd1bWVudHNMaXN0KS4KKyAgICBbLi4u
XQorCisgICAgOS4yLjEyIEZ1bmN0aW9uRGVjbGFyYXRpb25JbnN0YW50aWF0aW9uKGZ1bmMsIGFy
Z3VtZW50c0xpc3QpCisKKyAgICBbLi4uXQorICAgIDIzLiBMZXQgaXRlcmF0b3JSZWNvcmQgYmUg
UmVjb3JkIHtbW2l0ZXJhdG9yXV06CisgICAgICAgIENyZWF0ZUxpc3RJdGVyYXRvcihhcmd1bWVu
dHNMaXN0KSwgW1tkb25lXV06IGZhbHNlfS4KKyAgICAyNC4gSWYgaGFzRHVwbGljYXRlcyBpcyB0
cnVlLCB0aGVuCisgICAgICAgIFsuLi5dCisgICAgMjUuIEVsc2UsCisgICAgICAgIGIuIExldCBm
b3JtYWxTdGF0dXMgYmUgSXRlcmF0b3JCaW5kaW5nSW5pdGlhbGl6YXRpb24gZm9yIGZvcm1hbHMg
d2l0aAorICAgICAgICAgICBpdGVyYXRvclJlY29yZCBhbmQgZW52IGFzIGFyZ3VtZW50cy4KKyAg
ICBbLi4uXQorCisgICAgUnVudGltZSBTZW1hbnRpY3M6IEl0ZXJhdG9yQmluZGluZ0luaXRpYWxp
emF0aW9uCisKKyAgICBTaW5nbGVOYW1lQmluZGluZyA6IEJpbmRpbmdJZGVudGlmaWVyIEluaXRp
YWxpemVyX29wdAorCisgICAgMS4gTGV0IGJpbmRpbmdJZCBiZSBTdHJpbmdWYWx1ZSBvZiBCaW5k
aW5nSWRlbnRpZmllci4KKyAgICAyLiBMZXQgbGhzIGJlID8gUmVzb2x2ZUJpbmRpbmcoYmluZGlu
Z0lkLCBlbnZpcm9ubWVudCkuCisgICAgMy4gSWYgaXRlcmF0b3JSZWNvcmQuW1tEb25lXV0gaXMg
ZmFsc2UsIHRoZW4KKyAgICAgICAgYS4gTGV0IG5leHQgYmUgSXRlcmF0b3JTdGVwKGl0ZXJhdG9y
UmVjb3JkKS4KKyAgICAgICAgYi4gSWYgbmV4dCBpcyBhbiBhYnJ1cHQgY29tcGxldGlvbiwgc2V0
IGl0ZXJhdG9yUmVjb3JkLltbRG9uZV1dIHRvIHRydWUuCisgICAgICAgIGMuIFJldHVybklmQWJy
dXB0KG5leHQpLgorICAgICAgICBkLiBJZiBuZXh0IGlzIGZhbHNlLCBzZXQgaXRlcmF0b3JSZWNv
cmQuW1tEb25lXV0gdG8gdHJ1ZS4KKyAgICAgICAgZS4gRWxzZSwKKyAgICAgICAgICAgIGkuIExl
dCB2IGJlIEl0ZXJhdG9yVmFsdWUobmV4dCkuCisgICAgICAgICAgICBpaS4gSWYgdiBpcyBhbiBh
YnJ1cHQgY29tcGxldGlvbiwgc2V0IGl0ZXJhdG9yUmVjb3JkLltbRG9uZV1dIHRvIHRydWUuCisg
ICAgICAgICAgICBpaWkuIFJldHVybklmQWJydXB0KHYpLgorICAgIFsuLi5dCisgICAgNy4gUmV0
dXJuIEluaXRpYWxpemVSZWZlcmVuY2VkQmluZGluZyhsaHMsIHYpLgorCistLS0qLworQXJyYXku
cHJvdG90eXBlW1N5bWJvbC5pdGVyYXRvcl0gPSBmdW5jdGlvbiogKCkgeworICAgIGlmICh0aGlz
Lmxlbmd0aCA+IDApIHsKKyAgICAgICAgeWllbGQgdGhpc1swXTsKKyAgICB9CisgICAgaWYgKHRo
aXMubGVuZ3RoID4gMSkgeworICAgICAgICB5aWVsZCB0aGlzWzFdOworICAgIH0KKyAgICBpZiAo
dGhpcy5sZW5ndGggPiAyKSB7CisgICAgICAgIHlpZWxkIDQyOworICAgIH0KK307CisKK3ZhciBj
YWxsQ291bnQgPSAwOworY2xhc3MgQyB7CisgIG1ldGhvZChbeCwgeSwgel0gPSBbMSwgMiwgM10p
IHsKKyAgICBhc3NlcnQuc2FtZVZhbHVlKHgsIDEpOworICAgIGFzc2VydC5zYW1lVmFsdWUoeSwg
Mik7CisgICAgYXNzZXJ0LnNhbWVWYWx1ZSh6LCA0Mik7CisgICAgY2FsbENvdW50ID0gY2FsbENv
dW50ICsgMTsKKyAgfQorfTsKKworbmV3IEMoKS5tZXRob2QoKTsKK2Fzc2VydC5zYW1lVmFsdWUo
Y2FsbENvdW50LCAxLCAnbWV0aG9kIGludm9rZWQgZXhhY3RseSBvbmNlJyk7CmRpZmYgLS1naXQg
YS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2RzdHIvbWV0
aC1kZmx0LWFyeS1wdHJuLXJlc3QtaWQtZGlyZWN0LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
bGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9kc3RyL21ldGgtZGZsdC1hcnktcHRybi1yZXN0LWlk
LWRpcmVjdC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MTg2MWExZTk5OTMzMWEwYzJiYzA4ZDc2NTc4MmMxNTBk
M2U4NzA1Ci0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uv
c3RhdGVtZW50cy9jbGFzcy9kc3RyL21ldGgtZGZsdC1hcnktcHRybi1yZXN0LWlkLWRpcmVjdC5q
cwpAQCAtMCwwICsxLDg0IEBACisvLyBUaGlzIGZpbGUgd2FzIHByb2NlZHVyYWxseSBnZW5lcmF0
ZWQgZnJvbSB0aGUgZm9sbG93aW5nIHNvdXJjZXM6CisvLyAtIHNyYy9kc3RyLWJpbmRpbmcvYXJ5
LXB0cm4tcmVzdC1pZC1kaXJlY3QuY2FzZQorLy8gLSBzcmMvZHN0ci1iaW5kaW5nL2RlZmF1bHQv
Y2xzLWRlY2wtbWV0aC1kZmx0LnRlbXBsYXRlCisvKi0tLQorZGVzY3JpcHRpb246IExvbmUgcmVz
dCBlbGVtZW50IChkaXJlY3QgYmluZGluZykgKGNsYXNzIGV4cHJlc3Npb24gbWV0aG9kIChkZWZh
dWx0IHBhcmFtZXRlcikpCitlc2lkOiBzZWMtcnVudGltZS1zZW1hbnRpY3MtYmluZGluZ2NsYXNz
ZGVjbGFyYXRpb25ldmFsdWF0aW9uCitmZWF0dXJlczogW2Rlc3RydWN0dXJpbmctYmluZGluZywg
ZGVmYXVsdC1wYXJhbWV0ZXJzXQorZmxhZ3M6IFtnZW5lcmF0ZWRdCitpbmNsdWRlczogW2NvbXBh
cmVBcnJheS5qc10KK2luZm86IHwKKyAgICBDbGFzc0RlY2xhcmF0aW9uIDogY2xhc3MgQmluZGlu
Z0lkZW50aWZpZXIgQ2xhc3NUYWlsCisKKyAgICAxLiBMZXQgY2xhc3NOYW1lIGJlIFN0cmluZ1Zh
bHVlIG9mIEJpbmRpbmdJZGVudGlmaWVyLgorICAgIDIuIExldCB2YWx1ZSBiZSB0aGUgcmVzdWx0
IG9mIENsYXNzRGVmaW5pdGlvbkV2YWx1YXRpb24gb2YgQ2xhc3NUYWlsIHdpdGgKKyAgICAgICBh
cmd1bWVudCBjbGFzc05hbWUuCisgICAgWy4uLl0KKworICAgIDE0LjUuMTQgUnVudGltZSBTZW1h
bnRpY3M6IENsYXNzRGVmaW5pdGlvbkV2YWx1YXRpb24KKworICAgIDIxLiBGb3IgZWFjaCBDbGFz
c0VsZW1lbnQgbSBpbiBvcmRlciBmcm9tIG1ldGhvZHMKKyAgICAgICAgYS4gSWYgSXNTdGF0aWMg
b2YgbSBpcyBmYWxzZSwgdGhlbgorICAgICAgICAgICBpLiBMZXQgc3RhdHVzIGJlIHRoZSByZXN1
bHQgb2YgcGVyZm9ybWluZworICAgICAgICAgICAgICBQcm9wZXJ0eURlZmluaXRpb25FdmFsdWF0
aW9uIGZvciBtIHdpdGggYXJndW1lbnRzIHByb3RvIGFuZAorICAgICAgICAgICAgICBmYWxzZS4K
KyAgICAgICAgWy4uLl0KKworICAgIDE0LjMuOCBSdW50aW1lIFNlbWFudGljczogRGVmaW5lTWV0
aG9kCisKKyAgICBNZXRob2REZWZpbml0aW9uIDogUHJvcGVydHlOYW1lICggU3RyaWN0Rm9ybWFs
UGFyYW1ldGVycyApIHsgRnVuY3Rpb25Cb2R5IH0KKworICAgIFsuLi5dCisgICAgNi4gTGV0IGNs
b3N1cmUgYmUgRnVuY3Rpb25DcmVhdGUoa2luZCwgU3RyaWN0Rm9ybWFsUGFyYW1ldGVycywgRnVu
Y3Rpb25Cb2R5LAorICAgICAgIHNjb3BlLCBzdHJpY3QpLiBJZiBmdW5jdGlvblByb3RvdHlwZSB3
YXMgcGFzc2VkIGFzIGEgcGFyYW1ldGVyIHRoZW4gcGFzcyBpdHMKKyAgICAgICB2YWx1ZSBhcyB0
aGUgZnVuY3Rpb25Qcm90b3R5cGUgb3B0aW9uYWwgYXJndW1lbnQgb2YgRnVuY3Rpb25DcmVhdGUu
CisgICAgWy4uLl0KKworICAgIDkuMi4xIFtbQ2FsbF1dICggdGhpc0FyZ3VtZW50LCBhcmd1bWVu
dHNMaXN0KQorCisgICAgWy4uLl0KKyAgICA3LiBMZXQgcmVzdWx0IGJlIE9yZGluYXJ5Q2FsbEV2
YWx1YXRlQm9keShGLCBhcmd1bWVudHNMaXN0KS4KKyAgICBbLi4uXQorCisgICAgOS4yLjEuMyBP
cmRpbmFyeUNhbGxFdmFsdWF0ZUJvZHkgKCBGLCBhcmd1bWVudHNMaXN0ICkKKworICAgIDEuIExl
dCBzdGF0dXMgYmUgRnVuY3Rpb25EZWNsYXJhdGlvbkluc3RhbnRpYXRpb24oRiwgYXJndW1lbnRz
TGlzdCkuCisgICAgWy4uLl0KKworICAgIDkuMi4xMiBGdW5jdGlvbkRlY2xhcmF0aW9uSW5zdGFu
dGlhdGlvbihmdW5jLCBhcmd1bWVudHNMaXN0KQorCisgICAgWy4uLl0KKyAgICAyMy4gTGV0IGl0
ZXJhdG9yUmVjb3JkIGJlIFJlY29yZCB7W1tpdGVyYXRvcl1dOgorICAgICAgICBDcmVhdGVMaXN0
SXRlcmF0b3IoYXJndW1lbnRzTGlzdCksIFtbZG9uZV1dOiBmYWxzZX0uCisgICAgMjQuIElmIGhh
c0R1cGxpY2F0ZXMgaXMgdHJ1ZSwgdGhlbgorICAgICAgICBbLi4uXQorICAgIDI1LiBFbHNlLAor
ICAgICAgICBiLiBMZXQgZm9ybWFsU3RhdHVzIGJlIEl0ZXJhdG9yQmluZGluZ0luaXRpYWxpemF0
aW9uIGZvciBmb3JtYWxzIHdpdGgKKyAgICAgICAgICAgaXRlcmF0b3JSZWNvcmQgYW5kIGVudiBh
cyBhcmd1bWVudHMuCisgICAgWy4uLl0KKworICAgIFJ1bnRpbWUgU2VtYW50aWNzOiBJdGVyYXRv
ckJpbmRpbmdJbml0aWFsaXphdGlvbgorCisgICAgQmluZGluZ1Jlc3RFbGVtZW50IDogLi4uIEJp
bmRpbmdJZGVudGlmaWVyCisKKyAgICBbLi4uXQorICAgIDIuIExldCBBIGJlICEgQXJyYXlDcmVh
dGUoMCkuCisgICAgMy4gTGV0IG4gYmUgMC4KKyAgICA0LiBSZXBlYXQsCisgICAgICAgIFsuLi5d
CisgICAgICAgIGYuIFBlcmZvcm0gISBDcmVhdGVEYXRhUHJvcGVydHlPclRocm93KEEsICEgVG9T
dHJpbmcobiksIG5leHRWYWx1ZSkuCisgICAgICAgIGcuIFNldCBuIHRvIG4gKyAxLgorCistLS0q
LworCit2YXIgY2FsbENvdW50ID0gMDsKK2NsYXNzIEMgeworICBtZXRob2QoWy4uLnhdID0gWzFd
KSB7CisgICAgYXNzZXJ0KEFycmF5LmlzQXJyYXkoeCkpOworICAgIGFzc2VydC5jb21wYXJlQXJy
YXkoeCwgWzFdKTsKKyAgICBjYWxsQ291bnQgPSBjYWxsQ291bnQgKyAxOworICB9Cit9OworCitu
ZXcgQygpLm1ldGhvZCgpOworYXNzZXJ0LnNhbWVWYWx1ZShjYWxsQ291bnQsIDEsICdtZXRob2Qg
aW52b2tlZCBleGFjdGx5IG9uY2UnKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZHN0ci9tZXRoLXN0YXRpYy1hcnktaW5pdC1pdGVy
LWdldC1lcnItYXJyYXktcHJvdG90eXBlLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3Vh
Z2Uvc3RhdGVtZW50cy9jbGFzcy9kc3RyL21ldGgtc3RhdGljLWFyeS1pbml0LWl0ZXItZ2V0LWVy
ci1hcnJheS1wcm90b3R5cGUuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDA0OGRiOGM0NDY0YjRlY2Q5MDhkMmMy
ZjZmYzBjODI0N2UwMTI1YgotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZHN0ci9tZXRoLXN0YXRpYy1hcnktaW5pdC1pdGVy
LWdldC1lcnItYXJyYXktcHJvdG90eXBlLmpzCkBAIC0wLDAgKzEsODQgQEAKKy8vIFRoaXMgZmls
ZSB3YXMgcHJvY2VkdXJhbGx5IGdlbmVyYXRlZCBmcm9tIHRoZSBmb2xsb3dpbmcgc291cmNlczoK
Ky8vIC0gc3JjL2RzdHItYmluZGluZy9hcnktaW5pdC1pdGVyLWdldC1lcnItYXJyYXktcHJvdG90
eXBlLmNhc2UKKy8vIC0gc3JjL2RzdHItYmluZGluZy9lcnJvci9jbHMtZGVjbC1tZXRoLXN0YXRp
Yy50ZW1wbGF0ZQorLyotLS0KK2Rlc2NyaXB0aW9uOiBBYnJ1cHQgY29tcGxldGlvbiByZXR1cm5l
ZCBieSBHZXRJdGVyYXRvciAoc3RhdGljIGNsYXNzIGV4cHJlc3Npb24gbWV0aG9kKQorZXNpZDog
c2VjLXJ1bnRpbWUtc2VtYW50aWNzLWJpbmRpbmdjbGFzc2RlY2xhcmF0aW9uZXZhbHVhdGlvbgor
ZmVhdHVyZXM6IFtTeW1ib2wuaXRlcmF0b3IsIGRlc3RydWN0dXJpbmctYmluZGluZ10KK2ZsYWdz
OiBbZ2VuZXJhdGVkXQoraW5mbzogfAorICAgIENsYXNzRGVjbGFyYXRpb24gOiBjbGFzcyBCaW5k
aW5nSWRlbnRpZmllciBDbGFzc1RhaWwKKworICAgIDEuIExldCBjbGFzc05hbWUgYmUgU3RyaW5n
VmFsdWUgb2YgQmluZGluZ0lkZW50aWZpZXIuCisgICAgMi4gTGV0IHZhbHVlIGJlIHRoZSByZXN1
bHQgb2YgQ2xhc3NEZWZpbml0aW9uRXZhbHVhdGlvbiBvZiBDbGFzc1RhaWwgd2l0aAorICAgICAg
IGFyZ3VtZW50IGNsYXNzTmFtZS4KKyAgICBbLi4uXQorCisgICAgMTQuNS4xNCBSdW50aW1lIFNl
bWFudGljczogQ2xhc3NEZWZpbml0aW9uRXZhbHVhdGlvbgorCisgICAgMjEuIEZvciBlYWNoIENs
YXNzRWxlbWVudCBtIGluIG9yZGVyIGZyb20gbWV0aG9kcworICAgICAgICBhLiBJZiBJc1N0YXRp
YyBvZiBtIGlzIGZhbHNlLCB0aGVuCisgICAgICAgIGIuIEVsc2UsCisgICAgICAgICAgIExldCBz
dGF0dXMgYmUgdGhlIHJlc3VsdCBvZiBwZXJmb3JtaW5nIFByb3BlcnR5RGVmaW5pdGlvbkV2YWx1
YXRpb24gZm9yCisgICAgICAgICAgIG0gd2l0aCBhcmd1bWVudHMgRiBhbmQgZmFsc2UuCisgICAg
Wy4uLl0KKworICAgIDE0LjMuOCBSdW50aW1lIFNlbWFudGljczogRGVmaW5lTWV0aG9kCisKKyAg
ICBNZXRob2REZWZpbml0aW9uIDogUHJvcGVydHlOYW1lICggU3RyaWN0Rm9ybWFsUGFyYW1ldGVy
cyApIHsgRnVuY3Rpb25Cb2R5IH0KKworICAgIFsuLi5dCisgICAgNi4gTGV0IGNsb3N1cmUgYmUg
RnVuY3Rpb25DcmVhdGUoa2luZCwgU3RyaWN0Rm9ybWFsUGFyYW1ldGVycywgRnVuY3Rpb25Cb2R5
LAorICAgICAgIHNjb3BlLCBzdHJpY3QpLiBJZiBmdW5jdGlvblByb3RvdHlwZSB3YXMgcGFzc2Vk
IGFzIGEgcGFyYW1ldGVyIHRoZW4gcGFzcyBpdHMKKyAgICAgICB2YWx1ZSBhcyB0aGUgZnVuY3Rp
b25Qcm90b3R5cGUgb3B0aW9uYWwgYXJndW1lbnQgb2YgRnVuY3Rpb25DcmVhdGUuCisgICAgWy4u
Ll0KKworICAgIDkuMi4xIFtbQ2FsbF1dICggdGhpc0FyZ3VtZW50LCBhcmd1bWVudHNMaXN0KQor
CisgICAgWy4uLl0KKyAgICA3LiBMZXQgcmVzdWx0IGJlIE9yZGluYXJ5Q2FsbEV2YWx1YXRlQm9k
eShGLCBhcmd1bWVudHNMaXN0KS4KKyAgICBbLi4uXQorCisgICAgOS4yLjEuMyBPcmRpbmFyeUNh
bGxFdmFsdWF0ZUJvZHkgKCBGLCBhcmd1bWVudHNMaXN0ICkKKworICAgIDEuIExldCBzdGF0dXMg
YmUgRnVuY3Rpb25EZWNsYXJhdGlvbkluc3RhbnRpYXRpb24oRiwgYXJndW1lbnRzTGlzdCkuCisg
ICAgWy4uLl0KKworICAgIDkuMi4xMiBGdW5jdGlvbkRlY2xhcmF0aW9uSW5zdGFudGlhdGlvbihm
dW5jLCBhcmd1bWVudHNMaXN0KQorCisgICAgWy4uLl0KKyAgICAyMy4gTGV0IGl0ZXJhdG9yUmVj
b3JkIGJlIFJlY29yZCB7W1tpdGVyYXRvcl1dOgorICAgICAgICBDcmVhdGVMaXN0SXRlcmF0b3Io
YXJndW1lbnRzTGlzdCksIFtbZG9uZV1dOiBmYWxzZX0uCisgICAgMjQuIElmIGhhc0R1cGxpY2F0
ZXMgaXMgdHJ1ZSwgdGhlbgorICAgICAgICBbLi4uXQorICAgIDI1LiBFbHNlLAorICAgICAgICBi
LiBMZXQgZm9ybWFsU3RhdHVzIGJlIEl0ZXJhdG9yQmluZGluZ0luaXRpYWxpemF0aW9uIGZvciBm
b3JtYWxzIHdpdGgKKyAgICAgICAgICAgaXRlcmF0b3JSZWNvcmQgYW5kIGVudiBhcyBhcmd1bWVu
dHMuCisgICAgWy4uLl0KKworICAgIFJ1bnRpbWUgU2VtYW50aWNzOiBCaW5kaW5nSW5pdGlhbGl6
YXRpb24KKworICAgIEJpbmRpbmdQYXR0ZXJuIDogQXJyYXlCaW5kaW5nUGF0dGVybgorCisgICAg
MS4gTGV0IGl0ZXJhdG9yUmVjb3JkIGJlID8gR2V0SXRlcmF0b3IodmFsdWUpLgorCisgICAgR2V0
SXRlcmF0b3IgKCBvYmogWyAsIGhpbnQgWyAsIG1ldGhvZCBdIF0gKQorCisgICAgWy4uLl0KKyAg
ICA0LiBMZXQgaXRlcmF0b3IgYmUgPyBDYWxsKG1ldGhvZCwgb2JqKS4KKworICAgIENhbGwgKCBG
LCBWIFsgLCBhcmd1bWVudHNMaXN0IF0gKQorCisgICAgWy4uLl0KKyAgICAyLiBJZiBJc0NhbGxh
YmxlKEYpIGlzIGZhbHNlLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24uCisKKy0tLSovCitk
ZWxldGUgQXJyYXkucHJvdG90eXBlW1N5bWJvbC5pdGVyYXRvcl07CisKK2NsYXNzIEMgeworICBz
dGF0aWMgbWV0aG9kKFt4LCB5LCB6XSkge30KK307CisKK2Fzc2VydC50aHJvd3MoVHlwZUVycm9y
LCBmdW5jdGlvbigpIHsKKyAgQy5tZXRob2QoWzEsIDIsIDNdKTsKK30pOwpkaWZmIC0tZ2l0IGEv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9kc3RyL21ldGgt
c3RhdGljLWFyeS1wdHJuLWVsZW0taWQtaXRlci12YWwtYXJyYXktcHJvdG90eXBlLmpzIGIvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9kc3RyL21ldGgtc3Rh
dGljLWFyeS1wdHJuLWVsZW0taWQtaXRlci12YWwtYXJyYXktcHJvdG90eXBlLmpzCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjlhYzc4OTExMzhjMzI0NzA5ODYzMzBkNGM4ZWNmY2M4ZGFkNzczMWUKLS0tIC9kZXYvbnVs
bAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Rz
dHIvbWV0aC1zdGF0aWMtYXJ5LXB0cm4tZWxlbS1pZC1pdGVyLXZhbC1hcnJheS1wcm90b3R5cGUu
anMKQEAgLTAsMCArMSwxMDEgQEAKKy8vIFRoaXMgZmlsZSB3YXMgcHJvY2VkdXJhbGx5IGdlbmVy
YXRlZCBmcm9tIHRoZSBmb2xsb3dpbmcgc291cmNlczoKKy8vIC0gc3JjL2RzdHItYmluZGluZy9h
cnktcHRybi1lbGVtLWlkLWl0ZXItdmFsLWFycmF5LXByb3RvdHlwZS5jYXNlCisvLyAtIHNyYy9k
c3RyLWJpbmRpbmcvZGVmYXVsdC9jbHMtZGVjbC1tZXRoLXN0YXRpYy50ZW1wbGF0ZQorLyotLS0K
K2Rlc2NyaXB0aW9uOiBBcnJheSBkZXN0cnVjdHVyaW5nIHVzZXMgb3ZlcnJpZGVuIEFycmF5LnBy
b3RvdHlwZVtTeW1ib2wuaXRlcmF0b3JdIChzdGF0aWMgY2xhc3MgZXhwcmVzc2lvbiBtZXRob2Qp
Citlc2lkOiBzZWMtcnVudGltZS1zZW1hbnRpY3MtYmluZGluZ2NsYXNzZGVjbGFyYXRpb25ldmFs
dWF0aW9uCitmZWF0dXJlczogW1N5bWJvbC5pdGVyYXRvciwgZ2VuZXJhdG9ycywgZGVzdHJ1Y3R1
cmluZy1iaW5kaW5nXQorZmxhZ3M6IFtnZW5lcmF0ZWRdCitpbmZvOiB8CisgICAgQ2xhc3NEZWNs
YXJhdGlvbiA6IGNsYXNzIEJpbmRpbmdJZGVudGlmaWVyIENsYXNzVGFpbAorCisgICAgMS4gTGV0
IGNsYXNzTmFtZSBiZSBTdHJpbmdWYWx1ZSBvZiBCaW5kaW5nSWRlbnRpZmllci4KKyAgICAyLiBM
ZXQgdmFsdWUgYmUgdGhlIHJlc3VsdCBvZiBDbGFzc0RlZmluaXRpb25FdmFsdWF0aW9uIG9mIENs
YXNzVGFpbCB3aXRoCisgICAgICAgYXJndW1lbnQgY2xhc3NOYW1lLgorICAgIFsuLi5dCisKKyAg
ICAxNC41LjE0IFJ1bnRpbWUgU2VtYW50aWNzOiBDbGFzc0RlZmluaXRpb25FdmFsdWF0aW9uCisK
KyAgICAyMS4gRm9yIGVhY2ggQ2xhc3NFbGVtZW50IG0gaW4gb3JkZXIgZnJvbSBtZXRob2RzCisg
ICAgICAgIGEuIElmIElzU3RhdGljIG9mIG0gaXMgZmFsc2UsIHRoZW4KKyAgICAgICAgYi4gRWxz
ZSwKKyAgICAgICAgICAgTGV0IHN0YXR1cyBiZSB0aGUgcmVzdWx0IG9mIHBlcmZvcm1pbmcgUHJv
cGVydHlEZWZpbml0aW9uRXZhbHVhdGlvbiBmb3IKKyAgICAgICAgICAgbSB3aXRoIGFyZ3VtZW50
cyBGIGFuZCBmYWxzZS4KKyAgICBbLi4uXQorCisgICAgMTQuMy44IFJ1bnRpbWUgU2VtYW50aWNz
OiBEZWZpbmVNZXRob2QKKworICAgIE1ldGhvZERlZmluaXRpb24gOiBQcm9wZXJ0eU5hbWUgKCBT
dHJpY3RGb3JtYWxQYXJhbWV0ZXJzICkgeyBGdW5jdGlvbkJvZHkgfQorCisgICAgWy4uLl0KKyAg
ICA2LiBMZXQgY2xvc3VyZSBiZSBGdW5jdGlvbkNyZWF0ZShraW5kLCBTdHJpY3RGb3JtYWxQYXJh
bWV0ZXJzLCBGdW5jdGlvbkJvZHksCisgICAgICAgc2NvcGUsIHN0cmljdCkuIElmIGZ1bmN0aW9u
UHJvdG90eXBlIHdhcyBwYXNzZWQgYXMgYSBwYXJhbWV0ZXIgdGhlbiBwYXNzIGl0cworICAgICAg
IHZhbHVlIGFzIHRoZSBmdW5jdGlvblByb3RvdHlwZSBvcHRpb25hbCBhcmd1bWVudCBvZiBGdW5j
dGlvbkNyZWF0ZS4KKyAgICBbLi4uXQorCisgICAgOS4yLjEgW1tDYWxsXV0gKCB0aGlzQXJndW1l
bnQsIGFyZ3VtZW50c0xpc3QpCisKKyAgICBbLi4uXQorICAgIDcuIExldCByZXN1bHQgYmUgT3Jk
aW5hcnlDYWxsRXZhbHVhdGVCb2R5KEYsIGFyZ3VtZW50c0xpc3QpLgorICAgIFsuLi5dCisKKyAg
ICA5LjIuMS4zIE9yZGluYXJ5Q2FsbEV2YWx1YXRlQm9keSAoIEYsIGFyZ3VtZW50c0xpc3QgKQor
CisgICAgMS4gTGV0IHN0YXR1cyBiZSBGdW5jdGlvbkRlY2xhcmF0aW9uSW5zdGFudGlhdGlvbihG
LCBhcmd1bWVudHNMaXN0KS4KKyAgICBbLi4uXQorCisgICAgOS4yLjEyIEZ1bmN0aW9uRGVjbGFy
YXRpb25JbnN0YW50aWF0aW9uKGZ1bmMsIGFyZ3VtZW50c0xpc3QpCisKKyAgICBbLi4uXQorICAg
IDIzLiBMZXQgaXRlcmF0b3JSZWNvcmQgYmUgUmVjb3JkIHtbW2l0ZXJhdG9yXV06CisgICAgICAg
IENyZWF0ZUxpc3RJdGVyYXRvcihhcmd1bWVudHNMaXN0KSwgW1tkb25lXV06IGZhbHNlfS4KKyAg
ICAyNC4gSWYgaGFzRHVwbGljYXRlcyBpcyB0cnVlLCB0aGVuCisgICAgICAgIFsuLi5dCisgICAg
MjUuIEVsc2UsCisgICAgICAgIGIuIExldCBmb3JtYWxTdGF0dXMgYmUgSXRlcmF0b3JCaW5kaW5n
SW5pdGlhbGl6YXRpb24gZm9yIGZvcm1hbHMgd2l0aAorICAgICAgICAgICBpdGVyYXRvclJlY29y
ZCBhbmQgZW52IGFzIGFyZ3VtZW50cy4KKyAgICBbLi4uXQorCisgICAgUnVudGltZSBTZW1hbnRp
Y3M6IEl0ZXJhdG9yQmluZGluZ0luaXRpYWxpemF0aW9uCisKKyAgICBTaW5nbGVOYW1lQmluZGlu
ZyA6IEJpbmRpbmdJZGVudGlmaWVyIEluaXRpYWxpemVyX29wdAorCisgICAgMS4gTGV0IGJpbmRp
bmdJZCBiZSBTdHJpbmdWYWx1ZSBvZiBCaW5kaW5nSWRlbnRpZmllci4KKyAgICAyLiBMZXQgbGhz
IGJlID8gUmVzb2x2ZUJpbmRpbmcoYmluZGluZ0lkLCBlbnZpcm9ubWVudCkuCisgICAgMy4gSWYg
aXRlcmF0b3JSZWNvcmQuW1tEb25lXV0gaXMgZmFsc2UsIHRoZW4KKyAgICAgICAgYS4gTGV0IG5l
eHQgYmUgSXRlcmF0b3JTdGVwKGl0ZXJhdG9yUmVjb3JkKS4KKyAgICAgICAgYi4gSWYgbmV4dCBp
cyBhbiBhYnJ1cHQgY29tcGxldGlvbiwgc2V0IGl0ZXJhdG9yUmVjb3JkLltbRG9uZV1dIHRvIHRy
dWUuCisgICAgICAgIGMuIFJldHVybklmQWJydXB0KG5leHQpLgorICAgICAgICBkLiBJZiBuZXh0
IGlzIGZhbHNlLCBzZXQgaXRlcmF0b3JSZWNvcmQuW1tEb25lXV0gdG8gdHJ1ZS4KKyAgICAgICAg
ZS4gRWxzZSwKKyAgICAgICAgICAgIGkuIExldCB2IGJlIEl0ZXJhdG9yVmFsdWUobmV4dCkuCisg
ICAgICAgICAgICBpaS4gSWYgdiBpcyBhbiBhYnJ1cHQgY29tcGxldGlvbiwgc2V0IGl0ZXJhdG9y
UmVjb3JkLltbRG9uZV1dIHRvIHRydWUuCisgICAgICAgICAgICBpaWkuIFJldHVybklmQWJydXB0
KHYpLgorICAgIFsuLi5dCisgICAgNy4gUmV0dXJuIEluaXRpYWxpemVSZWZlcmVuY2VkQmluZGlu
ZyhsaHMsIHYpLgorCistLS0qLworQXJyYXkucHJvdG90eXBlW1N5bWJvbC5pdGVyYXRvcl0gPSBm
dW5jdGlvbiogKCkgeworICAgIGlmICh0aGlzLmxlbmd0aCA+IDApIHsKKyAgICAgICAgeWllbGQg
dGhpc1swXTsKKyAgICB9CisgICAgaWYgKHRoaXMubGVuZ3RoID4gMSkgeworICAgICAgICB5aWVs
ZCB0aGlzWzFdOworICAgIH0KKyAgICBpZiAodGhpcy5sZW5ndGggPiAyKSB7CisgICAgICAgIHlp
ZWxkIDQyOworICAgIH0KK307CisKK3ZhciBjYWxsQ291bnQgPSAwOworY2xhc3MgQyB7CisgIHN0
YXRpYyBtZXRob2QoW3gsIHksIHpdKSB7CisgICAgYXNzZXJ0LnNhbWVWYWx1ZSh4LCAxKTsKKyAg
ICBhc3NlcnQuc2FtZVZhbHVlKHksIDIpOworICAgIGFzc2VydC5zYW1lVmFsdWUoeiwgNDIpOwor
ICAgIGNhbGxDb3VudCA9IGNhbGxDb3VudCArIDE7CisgIH0KK307CisKK0MubWV0aG9kKFsxLCAy
LCAzXSk7Cithc3NlcnQuc2FtZVZhbHVlKGNhbGxDb3VudCwgMSwgJ21ldGhvZCBpbnZva2VkIGV4
YWN0bHkgb25jZScpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uv
c3RhdGVtZW50cy9jbGFzcy9kc3RyL21ldGgtc3RhdGljLWFyeS1wdHJuLXJlc3QtaWQtZGlyZWN0
LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9kc3Ry
L21ldGgtc3RhdGljLWFyeS1wdHJuLXJlc3QtaWQtZGlyZWN0LmpzCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRkMzRh
ZjBlMGQyOTBkNjhjZjIwOGJlMjlhMzVlMmExMDQ1ZTE4MWYKLS0tIC9kZXYvbnVsbAorKysgYi9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2RzdHIvbWV0aC1z
dGF0aWMtYXJ5LXB0cm4tcmVzdC1pZC1kaXJlY3QuanMKQEAgLTAsMCArMSw4NCBAQAorLy8gVGhp
cyBmaWxlIHdhcyBwcm9jZWR1cmFsbHkgZ2VuZXJhdGVkIGZyb20gdGhlIGZvbGxvd2luZyBzb3Vy
Y2VzOgorLy8gLSBzcmMvZHN0ci1iaW5kaW5nL2FyeS1wdHJuLXJlc3QtaWQtZGlyZWN0LmNhc2UK
Ky8vIC0gc3JjL2RzdHItYmluZGluZy9kZWZhdWx0L2Nscy1kZWNsLW1ldGgtc3RhdGljLnRlbXBs
YXRlCisvKi0tLQorZGVzY3JpcHRpb246IExvbmUgcmVzdCBlbGVtZW50IChkaXJlY3QgYmluZGlu
ZykgKHN0YXRpYyBjbGFzcyBleHByZXNzaW9uIG1ldGhvZCkKK2VzaWQ6IHNlYy1ydW50aW1lLXNl
bWFudGljcy1iaW5kaW5nY2xhc3NkZWNsYXJhdGlvbmV2YWx1YXRpb24KK2ZlYXR1cmVzOiBbZGVz
dHJ1Y3R1cmluZy1iaW5kaW5nXQorZmxhZ3M6IFtnZW5lcmF0ZWRdCitpbmNsdWRlczogW2NvbXBh
cmVBcnJheS5qc10KK2luZm86IHwKKyAgICBDbGFzc0RlY2xhcmF0aW9uIDogY2xhc3MgQmluZGlu
Z0lkZW50aWZpZXIgQ2xhc3NUYWlsCisKKyAgICAxLiBMZXQgY2xhc3NOYW1lIGJlIFN0cmluZ1Zh
bHVlIG9mIEJpbmRpbmdJZGVudGlmaWVyLgorICAgIDIuIExldCB2YWx1ZSBiZSB0aGUgcmVzdWx0
IG9mIENsYXNzRGVmaW5pdGlvbkV2YWx1YXRpb24gb2YgQ2xhc3NUYWlsIHdpdGgKKyAgICAgICBh
cmd1bWVudCBjbGFzc05hbWUuCisgICAgWy4uLl0KKworICAgIDE0LjUuMTQgUnVudGltZSBTZW1h
bnRpY3M6IENsYXNzRGVmaW5pdGlvbkV2YWx1YXRpb24KKworICAgIDIxLiBGb3IgZWFjaCBDbGFz
c0VsZW1lbnQgbSBpbiBvcmRlciBmcm9tIG1ldGhvZHMKKyAgICAgICAgYS4gSWYgSXNTdGF0aWMg
b2YgbSBpcyBmYWxzZSwgdGhlbgorICAgICAgICBiLiBFbHNlLAorICAgICAgICAgICBMZXQgc3Rh
dHVzIGJlIHRoZSByZXN1bHQgb2YgcGVyZm9ybWluZyBQcm9wZXJ0eURlZmluaXRpb25FdmFsdWF0
aW9uIGZvcgorICAgICAgICAgICBtIHdpdGggYXJndW1lbnRzIEYgYW5kIGZhbHNlLgorICAgIFsu
Li5dCisKKyAgICAxNC4zLjggUnVudGltZSBTZW1hbnRpY3M6IERlZmluZU1ldGhvZAorCisgICAg
TWV0aG9kRGVmaW5pdGlvbiA6IFByb3BlcnR5TmFtZSAoIFN0cmljdEZvcm1hbFBhcmFtZXRlcnMg
KSB7IEZ1bmN0aW9uQm9keSB9CisKKyAgICBbLi4uXQorICAgIDYuIExldCBjbG9zdXJlIGJlIEZ1
bmN0aW9uQ3JlYXRlKGtpbmQsIFN0cmljdEZvcm1hbFBhcmFtZXRlcnMsIEZ1bmN0aW9uQm9keSwK
KyAgICAgICBzY29wZSwgc3RyaWN0KS4gSWYgZnVuY3Rpb25Qcm90b3R5cGUgd2FzIHBhc3NlZCBh
cyBhIHBhcmFtZXRlciB0aGVuIHBhc3MgaXRzCisgICAgICAgdmFsdWUgYXMgdGhlIGZ1bmN0aW9u
UHJvdG90eXBlIG9wdGlvbmFsIGFyZ3VtZW50IG9mIEZ1bmN0aW9uQ3JlYXRlLgorICAgIFsuLi5d
CisKKyAgICA5LjIuMSBbW0NhbGxdXSAoIHRoaXNBcmd1bWVudCwgYXJndW1lbnRzTGlzdCkKKwor
ICAgIFsuLi5dCisgICAgNy4gTGV0IHJlc3VsdCBiZSBPcmRpbmFyeUNhbGxFdmFsdWF0ZUJvZHko
RiwgYXJndW1lbnRzTGlzdCkuCisgICAgWy4uLl0KKworICAgIDkuMi4xLjMgT3JkaW5hcnlDYWxs
RXZhbHVhdGVCb2R5ICggRiwgYXJndW1lbnRzTGlzdCApCisKKyAgICAxLiBMZXQgc3RhdHVzIGJl
IEZ1bmN0aW9uRGVjbGFyYXRpb25JbnN0YW50aWF0aW9uKEYsIGFyZ3VtZW50c0xpc3QpLgorICAg
IFsuLi5dCisKKyAgICA5LjIuMTIgRnVuY3Rpb25EZWNsYXJhdGlvbkluc3RhbnRpYXRpb24oZnVu
YywgYXJndW1lbnRzTGlzdCkKKworICAgIFsuLi5dCisgICAgMjMuIExldCBpdGVyYXRvclJlY29y
ZCBiZSBSZWNvcmQge1tbaXRlcmF0b3JdXToKKyAgICAgICAgQ3JlYXRlTGlzdEl0ZXJhdG9yKGFy
Z3VtZW50c0xpc3QpLCBbW2RvbmVdXTogZmFsc2V9LgorICAgIDI0LiBJZiBoYXNEdXBsaWNhdGVz
IGlzIHRydWUsIHRoZW4KKyAgICAgICAgWy4uLl0KKyAgICAyNS4gRWxzZSwKKyAgICAgICAgYi4g
TGV0IGZvcm1hbFN0YXR1cyBiZSBJdGVyYXRvckJpbmRpbmdJbml0aWFsaXphdGlvbiBmb3IgZm9y
bWFscyB3aXRoCisgICAgICAgICAgIGl0ZXJhdG9yUmVjb3JkIGFuZCBlbnYgYXMgYXJndW1lbnRz
LgorICAgIFsuLi5dCisKKyAgICBSdW50aW1lIFNlbWFudGljczogSXRlcmF0b3JCaW5kaW5nSW5p
dGlhbGl6YXRpb24KKworICAgIEJpbmRpbmdSZXN0RWxlbWVudCA6IC4uLiBCaW5kaW5nSWRlbnRp
ZmllcgorCisgICAgWy4uLl0KKyAgICAyLiBMZXQgQSBiZSAhIEFycmF5Q3JlYXRlKDApLgorICAg
IDMuIExldCBuIGJlIDAuCisgICAgNC4gUmVwZWF0LAorICAgICAgICBbLi4uXQorICAgICAgICBm
LiBQZXJmb3JtICEgQ3JlYXRlRGF0YVByb3BlcnR5T3JUaHJvdyhBLCAhIFRvU3RyaW5nKG4pLCBu
ZXh0VmFsdWUpLgorICAgICAgICBnLiBTZXQgbiB0byBuICsgMS4KKworLS0tKi8KKwordmFyIGNh
bGxDb3VudCA9IDA7CitjbGFzcyBDIHsKKyAgc3RhdGljIG1ldGhvZChbLi4ueF0pIHsKKyAgICBh
c3NlcnQoQXJyYXkuaXNBcnJheSh4KSk7CisgICAgYXNzZXJ0LmNvbXBhcmVBcnJheSh4LCBbMV0p
OworICAgIGNhbGxDb3VudCA9IGNhbGxDb3VudCArIDE7CisgIH0KK307CisKK0MubWV0aG9kKFsx
XSk7Cithc3NlcnQuc2FtZVZhbHVlKGNhbGxDb3VudCwgMSwgJ21ldGhvZCBpbnZva2VkIGV4YWN0
bHkgb25jZScpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3Rh
dGVtZW50cy9jbGFzcy9kc3RyL21ldGgtc3RhdGljLWRmbHQtYXJ5LWluaXQtaXRlci1nZXQtZXJy
LWFycmF5LXByb3RvdHlwZS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRl
bWVudHMvY2xhc3MvZHN0ci9tZXRoLXN0YXRpYy1kZmx0LWFyeS1pbml0LWl0ZXItZ2V0LWVyci1h
cnJheS1wcm90b3R5cGUuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjYxNDk0NDg3Y2NlMGVmOWM4MjI0ZTY5ZThm
MTkyZWEzMDk1Y2MzNgotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xh
bmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZHN0ci9tZXRoLXN0YXRpYy1kZmx0LWFyeS1pbml0LWl0
ZXItZ2V0LWVyci1hcnJheS1wcm90b3R5cGUuanMKQEAgLTAsMCArMSw4NCBAQAorLy8gVGhpcyBm
aWxlIHdhcyBwcm9jZWR1cmFsbHkgZ2VuZXJhdGVkIGZyb20gdGhlIGZvbGxvd2luZyBzb3VyY2Vz
OgorLy8gLSBzcmMvZHN0ci1iaW5kaW5nL2FyeS1pbml0LWl0ZXItZ2V0LWVyci1hcnJheS1wcm90
b3R5cGUuY2FzZQorLy8gLSBzcmMvZHN0ci1iaW5kaW5nL2Vycm9yL2Nscy1kZWNsLW1ldGgtc3Rh
dGljLWRmbHQudGVtcGxhdGUKKy8qLS0tCitkZXNjcmlwdGlvbjogQWJydXB0IGNvbXBsZXRpb24g
cmV0dXJuZWQgYnkgR2V0SXRlcmF0b3IgKHN0YXRpYyBjbGFzcyBleHByZXNzaW9uIG1ldGhvZCAo
ZGVmYXVsdCBwYXJhbWV0ZXIpKQorZXNpZDogc2VjLXJ1bnRpbWUtc2VtYW50aWNzLWJpbmRpbmdj
bGFzc2RlY2xhcmF0aW9uZXZhbHVhdGlvbgorZmVhdHVyZXM6IFtTeW1ib2wuaXRlcmF0b3IsIGRl
c3RydWN0dXJpbmctYmluZGluZywgZGVmYXVsdC1wYXJhbWV0ZXJzXQorZmxhZ3M6IFtnZW5lcmF0
ZWRdCitpbmZvOiB8CisgICAgQ2xhc3NEZWNsYXJhdGlvbiA6IGNsYXNzIEJpbmRpbmdJZGVudGlm
aWVyIENsYXNzVGFpbAorCisgICAgMS4gTGV0IGNsYXNzTmFtZSBiZSBTdHJpbmdWYWx1ZSBvZiBC
aW5kaW5nSWRlbnRpZmllci4KKyAgICAyLiBMZXQgdmFsdWUgYmUgdGhlIHJlc3VsdCBvZiBDbGFz
c0RlZmluaXRpb25FdmFsdWF0aW9uIG9mIENsYXNzVGFpbCB3aXRoCisgICAgICAgYXJndW1lbnQg
Y2xhc3NOYW1lLgorICAgIFsuLi5dCisKKyAgICAxNC41LjE0IFJ1bnRpbWUgU2VtYW50aWNzOiBD
bGFzc0RlZmluaXRpb25FdmFsdWF0aW9uCisKKyAgICAyMS4gRm9yIGVhY2ggQ2xhc3NFbGVtZW50
IG0gaW4gb3JkZXIgZnJvbSBtZXRob2RzCisgICAgICAgIGEuIElmIElzU3RhdGljIG9mIG0gaXMg
ZmFsc2UsIHRoZW4KKyAgICAgICAgYi4gRWxzZSwKKyAgICAgICAgICAgTGV0IHN0YXR1cyBiZSB0
aGUgcmVzdWx0IG9mIHBlcmZvcm1pbmcgUHJvcGVydHlEZWZpbml0aW9uRXZhbHVhdGlvbiBmb3IK
KyAgICAgICAgICAgbSB3aXRoIGFyZ3VtZW50cyBGIGFuZCBmYWxzZS4KKyAgICBbLi4uXQorCisg
ICAgMTQuMy44IFJ1bnRpbWUgU2VtYW50aWNzOiBEZWZpbmVNZXRob2QKKworICAgIE1ldGhvZERl
ZmluaXRpb24gOiBQcm9wZXJ0eU5hbWUgKCBTdHJpY3RGb3JtYWxQYXJhbWV0ZXJzICkgeyBGdW5j
dGlvbkJvZHkgfQorCisgICAgWy4uLl0KKyAgICA2LiBMZXQgY2xvc3VyZSBiZSBGdW5jdGlvbkNy
ZWF0ZShraW5kLCBTdHJpY3RGb3JtYWxQYXJhbWV0ZXJzLCBGdW5jdGlvbkJvZHksCisgICAgICAg
c2NvcGUsIHN0cmljdCkuIElmIGZ1bmN0aW9uUHJvdG90eXBlIHdhcyBwYXNzZWQgYXMgYSBwYXJh
bWV0ZXIgdGhlbiBwYXNzIGl0cworICAgICAgIHZhbHVlIGFzIHRoZSBmdW5jdGlvblByb3RvdHlw
ZSBvcHRpb25hbCBhcmd1bWVudCBvZiBGdW5jdGlvbkNyZWF0ZS4KKyAgICBbLi4uXQorCisgICAg
OS4yLjEgW1tDYWxsXV0gKCB0aGlzQXJndW1lbnQsIGFyZ3VtZW50c0xpc3QpCisKKyAgICBbLi4u
XQorICAgIDcuIExldCByZXN1bHQgYmUgT3JkaW5hcnlDYWxsRXZhbHVhdGVCb2R5KEYsIGFyZ3Vt
ZW50c0xpc3QpLgorICAgIFsuLi5dCisKKyAgICA5LjIuMS4zIE9yZGluYXJ5Q2FsbEV2YWx1YXRl
Qm9keSAoIEYsIGFyZ3VtZW50c0xpc3QgKQorCisgICAgMS4gTGV0IHN0YXR1cyBiZSBGdW5jdGlv
bkRlY2xhcmF0aW9uSW5zdGFudGlhdGlvbihGLCBhcmd1bWVudHNMaXN0KS4KKyAgICBbLi4uXQor
CisgICAgOS4yLjEyIEZ1bmN0aW9uRGVjbGFyYXRpb25JbnN0YW50aWF0aW9uKGZ1bmMsIGFyZ3Vt
ZW50c0xpc3QpCisKKyAgICBbLi4uXQorICAgIDIzLiBMZXQgaXRlcmF0b3JSZWNvcmQgYmUgUmVj
b3JkIHtbW2l0ZXJhdG9yXV06CisgICAgICAgIENyZWF0ZUxpc3RJdGVyYXRvcihhcmd1bWVudHNM
aXN0KSwgW1tkb25lXV06IGZhbHNlfS4KKyAgICAyNC4gSWYgaGFzRHVwbGljYXRlcyBpcyB0cnVl
LCB0aGVuCisgICAgICAgIFsuLi5dCisgICAgMjUuIEVsc2UsCisgICAgICAgIGIuIExldCBmb3Jt
YWxTdGF0dXMgYmUgSXRlcmF0b3JCaW5kaW5nSW5pdGlhbGl6YXRpb24gZm9yIGZvcm1hbHMgd2l0
aAorICAgICAgICAgICBpdGVyYXRvclJlY29yZCBhbmQgZW52IGFzIGFyZ3VtZW50cy4KKyAgICBb
Li4uXQorCisgICAgUnVudGltZSBTZW1hbnRpY3M6IEJpbmRpbmdJbml0aWFsaXphdGlvbgorCisg
ICAgQmluZGluZ1BhdHRlcm4gOiBBcnJheUJpbmRpbmdQYXR0ZXJuCisKKyAgICAxLiBMZXQgaXRl
cmF0b3JSZWNvcmQgYmUgPyBHZXRJdGVyYXRvcih2YWx1ZSkuCisKKyAgICBHZXRJdGVyYXRvciAo
IG9iaiBbICwgaGludCBbICwgbWV0aG9kIF0gXSApCisKKyAgICBbLi4uXQorICAgIDQuIExldCBp
dGVyYXRvciBiZSA/IENhbGwobWV0aG9kLCBvYmopLgorCisgICAgQ2FsbCAoIEYsIFYgWyAsIGFy
Z3VtZW50c0xpc3QgXSApCisKKyAgICBbLi4uXQorICAgIDIuIElmIElzQ2FsbGFibGUoRikgaXMg
ZmFsc2UsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KKworLS0tKi8KK2RlbGV0ZSBBcnJh
eS5wcm90b3R5cGVbU3ltYm9sLml0ZXJhdG9yXTsKKworY2xhc3MgQyB7CisgIHN0YXRpYyBtZXRo
b2QoW3gsIHksIHpdID0gWzEsIDIsIDNdKSB7fQorfTsKKworYXNzZXJ0LnRocm93cyhUeXBlRXJy
b3IsIGZ1bmN0aW9uKCkgeworICBDLm1ldGhvZCgpOworfSk7CmRpZmYgLS1naXQgYS9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2RzdHIvbWV0aC1zdGF0aWMt
ZGZsdC1hcnktcHRybi1lbGVtLWlkLWl0ZXItdmFsLWFycmF5LXByb3RvdHlwZS5qcyBiL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZHN0ci9tZXRoLXN0YXRp
Yy1kZmx0LWFyeS1wdHJuLWVsZW0taWQtaXRlci12YWwtYXJyYXktcHJvdG90eXBlLmpzCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjNhNzE0YTRlMDNiNThmY2VjYjI4N2I0NDU1MmY5NGQ2NGYwNjA2NmYKLS0tIC9kZXYv
bnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNz
L2RzdHIvbWV0aC1zdGF0aWMtZGZsdC1hcnktcHRybi1lbGVtLWlkLWl0ZXItdmFsLWFycmF5LXBy
b3RvdHlwZS5qcwpAQCAtMCwwICsxLDEwMSBAQAorLy8gVGhpcyBmaWxlIHdhcyBwcm9jZWR1cmFs
bHkgZ2VuZXJhdGVkIGZyb20gdGhlIGZvbGxvd2luZyBzb3VyY2VzOgorLy8gLSBzcmMvZHN0ci1i
aW5kaW5nL2FyeS1wdHJuLWVsZW0taWQtaXRlci12YWwtYXJyYXktcHJvdG90eXBlLmNhc2UKKy8v
IC0gc3JjL2RzdHItYmluZGluZy9kZWZhdWx0L2Nscy1kZWNsLW1ldGgtc3RhdGljLWRmbHQudGVt
cGxhdGUKKy8qLS0tCitkZXNjcmlwdGlvbjogQXJyYXkgZGVzdHJ1Y3R1cmluZyB1c2VzIG92ZXJy
aWRlbiBBcnJheS5wcm90b3R5cGVbU3ltYm9sLml0ZXJhdG9yXSAoc3RhdGljIGNsYXNzIGV4cHJl
c3Npb24gbWV0aG9kIChkZWZhdWx0IHBhcmFtZXRlcikpCitlc2lkOiBzZWMtcnVudGltZS1zZW1h
bnRpY3MtYmluZGluZ2NsYXNzZGVjbGFyYXRpb25ldmFsdWF0aW9uCitmZWF0dXJlczogW1N5bWJv
bC5pdGVyYXRvciwgZ2VuZXJhdG9ycywgZGVzdHJ1Y3R1cmluZy1iaW5kaW5nLCBkZWZhdWx0LXBh
cmFtZXRlcnNdCitmbGFnczogW2dlbmVyYXRlZF0KK2luZm86IHwKKyAgICBDbGFzc0RlY2xhcmF0
aW9uIDogY2xhc3MgQmluZGluZ0lkZW50aWZpZXIgQ2xhc3NUYWlsCisKKyAgICAxLiBMZXQgY2xh
c3NOYW1lIGJlIFN0cmluZ1ZhbHVlIG9mIEJpbmRpbmdJZGVudGlmaWVyLgorICAgIDIuIExldCB2
YWx1ZSBiZSB0aGUgcmVzdWx0IG9mIENsYXNzRGVmaW5pdGlvbkV2YWx1YXRpb24gb2YgQ2xhc3NU
YWlsIHdpdGgKKyAgICAgICBhcmd1bWVudCBjbGFzc05hbWUuCisgICAgWy4uLl0KKworICAgIDE0
LjUuMTQgUnVudGltZSBTZW1hbnRpY3M6IENsYXNzRGVmaW5pdGlvbkV2YWx1YXRpb24KKworICAg
IDIxLiBGb3IgZWFjaCBDbGFzc0VsZW1lbnQgbSBpbiBvcmRlciBmcm9tIG1ldGhvZHMKKyAgICAg
ICAgYS4gSWYgSXNTdGF0aWMgb2YgbSBpcyBmYWxzZSwgdGhlbgorICAgICAgICBiLiBFbHNlLAor
ICAgICAgICAgICBMZXQgc3RhdHVzIGJlIHRoZSByZXN1bHQgb2YgcGVyZm9ybWluZyBQcm9wZXJ0
eURlZmluaXRpb25FdmFsdWF0aW9uIGZvcgorICAgICAgICAgICBtIHdpdGggYXJndW1lbnRzIEYg
YW5kIGZhbHNlLgorICAgIFsuLi5dCisKKyAgICAxNC4zLjggUnVudGltZSBTZW1hbnRpY3M6IERl
ZmluZU1ldGhvZAorCisgICAgTWV0aG9kRGVmaW5pdGlvbiA6IFByb3BlcnR5TmFtZSAoIFN0cmlj
dEZvcm1hbFBhcmFtZXRlcnMgKSB7IEZ1bmN0aW9uQm9keSB9CisKKyAgICBbLi4uXQorICAgIDYu
IExldCBjbG9zdXJlIGJlIEZ1bmN0aW9uQ3JlYXRlKGtpbmQsIFN0cmljdEZvcm1hbFBhcmFtZXRl
cnMsIEZ1bmN0aW9uQm9keSwKKyAgICAgICBzY29wZSwgc3RyaWN0KS4gSWYgZnVuY3Rpb25Qcm90
b3R5cGUgd2FzIHBhc3NlZCBhcyBhIHBhcmFtZXRlciB0aGVuIHBhc3MgaXRzCisgICAgICAgdmFs
dWUgYXMgdGhlIGZ1bmN0aW9uUHJvdG90eXBlIG9wdGlvbmFsIGFyZ3VtZW50IG9mIEZ1bmN0aW9u
Q3JlYXRlLgorICAgIFsuLi5dCisKKyAgICA5LjIuMSBbW0NhbGxdXSAoIHRoaXNBcmd1bWVudCwg
YXJndW1lbnRzTGlzdCkKKworICAgIFsuLi5dCisgICAgNy4gTGV0IHJlc3VsdCBiZSBPcmRpbmFy
eUNhbGxFdmFsdWF0ZUJvZHkoRiwgYXJndW1lbnRzTGlzdCkuCisgICAgWy4uLl0KKworICAgIDku
Mi4xLjMgT3JkaW5hcnlDYWxsRXZhbHVhdGVCb2R5ICggRiwgYXJndW1lbnRzTGlzdCApCisKKyAg
ICAxLiBMZXQgc3RhdHVzIGJlIEZ1bmN0aW9uRGVjbGFyYXRpb25JbnN0YW50aWF0aW9uKEYsIGFy
Z3VtZW50c0xpc3QpLgorICAgIFsuLi5dCisKKyAgICA5LjIuMTIgRnVuY3Rpb25EZWNsYXJhdGlv
bkluc3RhbnRpYXRpb24oZnVuYywgYXJndW1lbnRzTGlzdCkKKworICAgIFsuLi5dCisgICAgMjMu
IExldCBpdGVyYXRvclJlY29yZCBiZSBSZWNvcmQge1tbaXRlcmF0b3JdXToKKyAgICAgICAgQ3Jl
YXRlTGlzdEl0ZXJhdG9yKGFyZ3VtZW50c0xpc3QpLCBbW2RvbmVdXTogZmFsc2V9LgorICAgIDI0
LiBJZiBoYXNEdXBsaWNhdGVzIGlzIHRydWUsIHRoZW4KKyAgICAgICAgWy4uLl0KKyAgICAyNS4g
RWxzZSwKKyAgICAgICAgYi4gTGV0IGZvcm1hbFN0YXR1cyBiZSBJdGVyYXRvckJpbmRpbmdJbml0
aWFsaXphdGlvbiBmb3IgZm9ybWFscyB3aXRoCisgICAgICAgICAgIGl0ZXJhdG9yUmVjb3JkIGFu
ZCBlbnYgYXMgYXJndW1lbnRzLgorICAgIFsuLi5dCisKKyAgICBSdW50aW1lIFNlbWFudGljczog
SXRlcmF0b3JCaW5kaW5nSW5pdGlhbGl6YXRpb24KKworICAgIFNpbmdsZU5hbWVCaW5kaW5nIDog
QmluZGluZ0lkZW50aWZpZXIgSW5pdGlhbGl6ZXJfb3B0CisKKyAgICAxLiBMZXQgYmluZGluZ0lk
IGJlIFN0cmluZ1ZhbHVlIG9mIEJpbmRpbmdJZGVudGlmaWVyLgorICAgIDIuIExldCBsaHMgYmUg
PyBSZXNvbHZlQmluZGluZyhiaW5kaW5nSWQsIGVudmlyb25tZW50KS4KKyAgICAzLiBJZiBpdGVy
YXRvclJlY29yZC5bW0RvbmVdXSBpcyBmYWxzZSwgdGhlbgorICAgICAgICBhLiBMZXQgbmV4dCBi
ZSBJdGVyYXRvclN0ZXAoaXRlcmF0b3JSZWNvcmQpLgorICAgICAgICBiLiBJZiBuZXh0IGlzIGFu
IGFicnVwdCBjb21wbGV0aW9uLCBzZXQgaXRlcmF0b3JSZWNvcmQuW1tEb25lXV0gdG8gdHJ1ZS4K
KyAgICAgICAgYy4gUmV0dXJuSWZBYnJ1cHQobmV4dCkuCisgICAgICAgIGQuIElmIG5leHQgaXMg
ZmFsc2UsIHNldCBpdGVyYXRvclJlY29yZC5bW0RvbmVdXSB0byB0cnVlLgorICAgICAgICBlLiBF
bHNlLAorICAgICAgICAgICAgaS4gTGV0IHYgYmUgSXRlcmF0b3JWYWx1ZShuZXh0KS4KKyAgICAg
ICAgICAgIGlpLiBJZiB2IGlzIGFuIGFicnVwdCBjb21wbGV0aW9uLCBzZXQgaXRlcmF0b3JSZWNv
cmQuW1tEb25lXV0gdG8gdHJ1ZS4KKyAgICAgICAgICAgIGlpaS4gUmV0dXJuSWZBYnJ1cHQodiku
CisgICAgWy4uLl0KKyAgICA3LiBSZXR1cm4gSW5pdGlhbGl6ZVJlZmVyZW5jZWRCaW5kaW5nKGxo
cywgdikuCisKKy0tLSovCitBcnJheS5wcm90b3R5cGVbU3ltYm9sLml0ZXJhdG9yXSA9IGZ1bmN0
aW9uKiAoKSB7CisgICAgaWYgKHRoaXMubGVuZ3RoID4gMCkgeworICAgICAgICB5aWVsZCB0aGlz
WzBdOworICAgIH0KKyAgICBpZiAodGhpcy5sZW5ndGggPiAxKSB7CisgICAgICAgIHlpZWxkIHRo
aXNbMV07CisgICAgfQorICAgIGlmICh0aGlzLmxlbmd0aCA+IDIpIHsKKyAgICAgICAgeWllbGQg
NDI7CisgICAgfQorfTsKKwordmFyIGNhbGxDb3VudCA9IDA7CitjbGFzcyBDIHsKKyAgc3RhdGlj
IG1ldGhvZChbeCwgeSwgel0gPSBbMSwgMiwgM10pIHsKKyAgICBhc3NlcnQuc2FtZVZhbHVlKHgs
IDEpOworICAgIGFzc2VydC5zYW1lVmFsdWUoeSwgMik7CisgICAgYXNzZXJ0LnNhbWVWYWx1ZSh6
LCA0Mik7CisgICAgY2FsbENvdW50ID0gY2FsbENvdW50ICsgMTsKKyAgfQorfTsKKworQy5tZXRo
b2QoKTsKK2Fzc2VydC5zYW1lVmFsdWUoY2FsbENvdW50LCAxLCAnbWV0aG9kIGludm9rZWQgZXhh
Y3RseSBvbmNlJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9z
dGF0ZW1lbnRzL2NsYXNzL2RzdHIvbWV0aC1zdGF0aWMtZGZsdC1hcnktcHRybi1yZXN0LWlkLWRp
cmVjdC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3Mv
ZHN0ci9tZXRoLXN0YXRpYy1kZmx0LWFyeS1wdHJuLXJlc3QtaWQtZGlyZWN0LmpzCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmQ3Y2U0ZTA2ZDAxZDllZjRmMDgxMjAxMjFkMTRmYjQ3MzA0MTJkMDIKLS0tIC9kZXYvbnVs
bAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Rz
dHIvbWV0aC1zdGF0aWMtZGZsdC1hcnktcHRybi1yZXN0LWlkLWRpcmVjdC5qcwpAQCAtMCwwICsx
LDg0IEBACisvLyBUaGlzIGZpbGUgd2FzIHByb2NlZHVyYWxseSBnZW5lcmF0ZWQgZnJvbSB0aGUg
Zm9sbG93aW5nIHNvdXJjZXM6CisvLyAtIHNyYy9kc3RyLWJpbmRpbmcvYXJ5LXB0cm4tcmVzdC1p
ZC1kaXJlY3QuY2FzZQorLy8gLSBzcmMvZHN0ci1iaW5kaW5nL2RlZmF1bHQvY2xzLWRlY2wtbWV0
aC1zdGF0aWMtZGZsdC50ZW1wbGF0ZQorLyotLS0KK2Rlc2NyaXB0aW9uOiBMb25lIHJlc3QgZWxl
bWVudCAoZGlyZWN0IGJpbmRpbmcpIChzdGF0aWMgY2xhc3MgZXhwcmVzc2lvbiBtZXRob2QgKGRl
ZmF1bHQgcGFyYW1ldGVyKSkKK2VzaWQ6IHNlYy1ydW50aW1lLXNlbWFudGljcy1iaW5kaW5nY2xh
c3NkZWNsYXJhdGlvbmV2YWx1YXRpb24KK2ZlYXR1cmVzOiBbZGVzdHJ1Y3R1cmluZy1iaW5kaW5n
LCBkZWZhdWx0LXBhcmFtZXRlcnNdCitmbGFnczogW2dlbmVyYXRlZF0KK2luY2x1ZGVzOiBbY29t
cGFyZUFycmF5LmpzXQoraW5mbzogfAorICAgIENsYXNzRGVjbGFyYXRpb24gOiBjbGFzcyBCaW5k
aW5nSWRlbnRpZmllciBDbGFzc1RhaWwKKworICAgIDEuIExldCBjbGFzc05hbWUgYmUgU3RyaW5n
VmFsdWUgb2YgQmluZGluZ0lkZW50aWZpZXIuCisgICAgMi4gTGV0IHZhbHVlIGJlIHRoZSByZXN1
bHQgb2YgQ2xhc3NEZWZpbml0aW9uRXZhbHVhdGlvbiBvZiBDbGFzc1RhaWwgd2l0aAorICAgICAg
IGFyZ3VtZW50IGNsYXNzTmFtZS4KKyAgICBbLi4uXQorCisgICAgMTQuNS4xNCBSdW50aW1lIFNl
bWFudGljczogQ2xhc3NEZWZpbml0aW9uRXZhbHVhdGlvbgorCisgICAgMjEuIEZvciBlYWNoIENs
YXNzRWxlbWVudCBtIGluIG9yZGVyIGZyb20gbWV0aG9kcworICAgICAgICBhLiBJZiBJc1N0YXRp
YyBvZiBtIGlzIGZhbHNlLCB0aGVuCisgICAgICAgIGIuIEVsc2UsCisgICAgICAgICAgIExldCBz
dGF0dXMgYmUgdGhlIHJlc3VsdCBvZiBwZXJmb3JtaW5nIFByb3BlcnR5RGVmaW5pdGlvbkV2YWx1
YXRpb24gZm9yCisgICAgICAgICAgIG0gd2l0aCBhcmd1bWVudHMgRiBhbmQgZmFsc2UuCisgICAg
Wy4uLl0KKworICAgIDE0LjMuOCBSdW50aW1lIFNlbWFudGljczogRGVmaW5lTWV0aG9kCisKKyAg
ICBNZXRob2REZWZpbml0aW9uIDogUHJvcGVydHlOYW1lICggU3RyaWN0Rm9ybWFsUGFyYW1ldGVy
cyApIHsgRnVuY3Rpb25Cb2R5IH0KKworICAgIFsuLi5dCisgICAgNi4gTGV0IGNsb3N1cmUgYmUg
RnVuY3Rpb25DcmVhdGUoa2luZCwgU3RyaWN0Rm9ybWFsUGFyYW1ldGVycywgRnVuY3Rpb25Cb2R5
LAorICAgICAgIHNjb3BlLCBzdHJpY3QpLiBJZiBmdW5jdGlvblByb3RvdHlwZSB3YXMgcGFzc2Vk
IGFzIGEgcGFyYW1ldGVyIHRoZW4gcGFzcyBpdHMKKyAgICAgICB2YWx1ZSBhcyB0aGUgZnVuY3Rp
b25Qcm90b3R5cGUgb3B0aW9uYWwgYXJndW1lbnQgb2YgRnVuY3Rpb25DcmVhdGUuCisgICAgWy4u
Ll0KKworICAgIDkuMi4xIFtbQ2FsbF1dICggdGhpc0FyZ3VtZW50LCBhcmd1bWVudHNMaXN0KQor
CisgICAgWy4uLl0KKyAgICA3LiBMZXQgcmVzdWx0IGJlIE9yZGluYXJ5Q2FsbEV2YWx1YXRlQm9k
eShGLCBhcmd1bWVudHNMaXN0KS4KKyAgICBbLi4uXQorCisgICAgOS4yLjEuMyBPcmRpbmFyeUNh
bGxFdmFsdWF0ZUJvZHkgKCBGLCBhcmd1bWVudHNMaXN0ICkKKworICAgIDEuIExldCBzdGF0dXMg
YmUgRnVuY3Rpb25EZWNsYXJhdGlvbkluc3RhbnRpYXRpb24oRiwgYXJndW1lbnRzTGlzdCkuCisg
ICAgWy4uLl0KKworICAgIDkuMi4xMiBGdW5jdGlvbkRlY2xhcmF0aW9uSW5zdGFudGlhdGlvbihm
dW5jLCBhcmd1bWVudHNMaXN0KQorCisgICAgWy4uLl0KKyAgICAyMy4gTGV0IGl0ZXJhdG9yUmVj
b3JkIGJlIFJlY29yZCB7W1tpdGVyYXRvcl1dOgorICAgICAgICBDcmVhdGVMaXN0SXRlcmF0b3Io
YXJndW1lbnRzTGlzdCksIFtbZG9uZV1dOiBmYWxzZX0uCisgICAgMjQuIElmIGhhc0R1cGxpY2F0
ZXMgaXMgdHJ1ZSwgdGhlbgorICAgICAgICBbLi4uXQorICAgIDI1LiBFbHNlLAorICAgICAgICBi
LiBMZXQgZm9ybWFsU3RhdHVzIGJlIEl0ZXJhdG9yQmluZGluZ0luaXRpYWxpemF0aW9uIGZvciBm
b3JtYWxzIHdpdGgKKyAgICAgICAgICAgaXRlcmF0b3JSZWNvcmQgYW5kIGVudiBhcyBhcmd1bWVu
dHMuCisgICAgWy4uLl0KKworICAgIFJ1bnRpbWUgU2VtYW50aWNzOiBJdGVyYXRvckJpbmRpbmdJ
bml0aWFsaXphdGlvbgorCisgICAgQmluZGluZ1Jlc3RFbGVtZW50IDogLi4uIEJpbmRpbmdJZGVu
dGlmaWVyCisKKyAgICBbLi4uXQorICAgIDIuIExldCBBIGJlICEgQXJyYXlDcmVhdGUoMCkuCisg
ICAgMy4gTGV0IG4gYmUgMC4KKyAgICA0LiBSZXBlYXQsCisgICAgICAgIFsuLi5dCisgICAgICAg
IGYuIFBlcmZvcm0gISBDcmVhdGVEYXRhUHJvcGVydHlPclRocm93KEEsICEgVG9TdHJpbmcobiks
IG5leHRWYWx1ZSkuCisgICAgICAgIGcuIFNldCBuIHRvIG4gKyAxLgorCistLS0qLworCit2YXIg
Y2FsbENvdW50ID0gMDsKK2NsYXNzIEMgeworICBzdGF0aWMgbWV0aG9kKFsuLi54XSA9IFsxXSkg
eworICAgIGFzc2VydChBcnJheS5pc0FycmF5KHgpKTsKKyAgICBhc3NlcnQuY29tcGFyZUFycmF5
KHgsIFsxXSk7CisgICAgY2FsbENvdW50ID0gY2FsbENvdW50ICsgMTsKKyAgfQorfTsKKworQy5t
ZXRob2QoKTsKK2Fzc2VydC5zYW1lVmFsdWUoY2FsbENvdW50LCAxLCAnbWV0aG9kIGludm9rZWQg
ZXhhY3RseSBvbmNlJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFn
ZS9zdGF0ZW1lbnRzL2NsYXNzL2RzdHIvcHJpdmF0ZS1nZW4tbWV0aC1hcnktcHRybi1lbGVtLWlk
LWl0ZXItdmFsLWFycmF5LXByb3RvdHlwZS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1
YWdlL3N0YXRlbWVudHMvY2xhc3MvZHN0ci9wcml2YXRlLWdlbi1tZXRoLWFyeS1wdHJuLWVsZW0t
aWQtaXRlci12YWwtYXJyYXktcHJvdG90eXBlLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk2N2MyN2JkNTg3NWU4
Y2Q0NDAzYjg4NGM3ZjFmZDk4ZTBhOTgyOTEKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2RzdHIvcHJpdmF0ZS1nZW4tbWV0
aC1hcnktcHRybi1lbGVtLWlkLWl0ZXItdmFsLWFycmF5LXByb3RvdHlwZS5qcwpAQCAtMCwwICsx
LDEwNyBAQAorLy8gVGhpcyBmaWxlIHdhcyBwcm9jZWR1cmFsbHkgZ2VuZXJhdGVkIGZyb20gdGhl
IGZvbGxvd2luZyBzb3VyY2VzOgorLy8gLSBzcmMvZHN0ci1iaW5kaW5nL2FyeS1wdHJuLWVsZW0t
aWQtaXRlci12YWwtYXJyYXktcHJvdG90eXBlLmNhc2UKKy8vIC0gc3JjL2RzdHItYmluZGluZy9k
ZWZhdWx0L2Nscy1kZWNsLXByaXZhdGUtZ2VuLW1ldGgudGVtcGxhdGUKKy8qLS0tCitkZXNjcmlw
dGlvbjogQXJyYXkgZGVzdHJ1Y3R1cmluZyB1c2VzIG92ZXJyaWRlbiBBcnJheS5wcm90b3R5cGVb
U3ltYm9sLml0ZXJhdG9yXSAocHJpdmF0ZSBjbGFzcyBleHByZXNzaW9uIG1ldGhvZCkKK2VzaWQ6
IHNlYy1jbGFzcy1kZWZpbml0aW9ucy1ydW50aW1lLXNlbWFudGljcy1ldmFsdWF0aW9uCitmZWF0
dXJlczogW1N5bWJvbC5pdGVyYXRvciwgZ2VuZXJhdG9ycywgY2xhc3MsIGNsYXNzLW1ldGhvZHMt
cHJpdmF0ZSwgZGVzdHJ1Y3R1cmluZy1iaW5kaW5nXQorZmxhZ3M6IFtnZW5lcmF0ZWRdCitpbmZv
OiB8CisgICAgQ2xhc3NEZWNsYXJhdGlvbiA6IGNsYXNzIEJpbmRpbmdJZGVudGlmaWVyIENsYXNz
VGFpbAorCisgICAgMS4gTGV0IGNsYXNzTmFtZSBiZSBTdHJpbmdWYWx1ZSBvZiBCaW5kaW5nSWRl
bnRpZmllci4KKyAgICAyLiBMZXQgdmFsdWUgYmUgdGhlIHJlc3VsdCBvZiBDbGFzc0RlZmluaXRp
b25FdmFsdWF0aW9uIG9mIENsYXNzVGFpbCB3aXRoCisgICAgICAgYXJndW1lbnQgY2xhc3NOYW1l
LgorICAgIFsuLi5dCisKKyAgICAxNC41LjE0IFJ1bnRpbWUgU2VtYW50aWNzOiBDbGFzc0RlZmlu
aXRpb25FdmFsdWF0aW9uCisKKyAgICAyMS4gRm9yIGVhY2ggQ2xhc3NFbGVtZW50IG0gaW4gb3Jk
ZXIgZnJvbSBtZXRob2RzCisgICAgICAgIGEuIElmIElzU3RhdGljIG9mIG0gaXMgZmFsc2UsIHRo
ZW4KKyAgICAgICAgICAgaS4gTGV0IHN0YXR1cyBiZSB0aGUgcmVzdWx0IG9mIHBlcmZvcm1pbmcK
KyAgICAgICAgICAgICAgUHJvcGVydHlEZWZpbml0aW9uRXZhbHVhdGlvbiBmb3IgbSB3aXRoIGFy
Z3VtZW50cyBwcm90byBhbmQKKyAgICAgICAgICAgICAgZmFsc2UuCisgICAgICAgIFsuLi5dCisK
KyAgICAxNC40LjEzIFJ1bnRpbWUgU2VtYW50aWNzOiBQcm9wZXJ0eURlZmluaXRpb25FdmFsdWF0
aW9uCisKKyAgICBHZW5lcmF0b3JNZXRob2QgOiAqIFByb3BlcnR5TmFtZSAoIFN0cmljdEZvcm1h
bFBhcmFtZXRlcnMgKSB7IEdlbmVyYXRvckJvZHkgfQorCisgICAgMS4gTGV0IHByb3BLZXkgYmUg
dGhlIHJlc3VsdCBvZiBldmFsdWF0aW5nIFByb3BlcnR5TmFtZS4KKyAgICAyLiBSZXR1cm5JZkFi
cnVwdChwcm9wS2V5KS4KKyAgICAzLiBJZiB0aGUgZnVuY3Rpb24gY29kZSBmb3IgdGhpcyBHZW5l
cmF0b3JNZXRob2QgaXMgc3RyaWN0IG1vZGUgY29kZSwKKyAgICAgICBsZXQgc3RyaWN0IGJlIHRy
dWUuIE90aGVyd2lzZSBsZXQgc3RyaWN0IGJlIGZhbHNlLgorICAgIDQuIExldCBzY29wZSBiZSB0
aGUgcnVubmluZyBleGVjdXRpb24gY29udGV4dCdzIExleGljYWxFbnZpcm9ubWVudC4KKyAgICA1
LiBMZXQgY2xvc3VyZSBiZSBHZW5lcmF0b3JGdW5jdGlvbkNyZWF0ZShNZXRob2QsCisgICAgICAg
U3RyaWN0Rm9ybWFsUGFyYW1ldGVycywgR2VuZXJhdG9yQm9keSwgc2NvcGUsIHN0cmljdCkuCisK
KyAgICA5LjIuMSBbW0NhbGxdXSAoIHRoaXNBcmd1bWVudCwgYXJndW1lbnRzTGlzdCkKKworICAg
IFsuLi5dCisgICAgNy4gTGV0IHJlc3VsdCBiZSBPcmRpbmFyeUNhbGxFdmFsdWF0ZUJvZHkoRiwg
YXJndW1lbnRzTGlzdCkuCisgICAgWy4uLl0KKworICAgIDkuMi4xLjMgT3JkaW5hcnlDYWxsRXZh
bHVhdGVCb2R5ICggRiwgYXJndW1lbnRzTGlzdCApCisKKyAgICAxLiBMZXQgc3RhdHVzIGJlIEZ1
bmN0aW9uRGVjbGFyYXRpb25JbnN0YW50aWF0aW9uKEYsIGFyZ3VtZW50c0xpc3QpLgorICAgIFsu
Li5dCisKKyAgICA5LjIuMTIgRnVuY3Rpb25EZWNsYXJhdGlvbkluc3RhbnRpYXRpb24oZnVuYywg
YXJndW1lbnRzTGlzdCkKKworICAgIFsuLi5dCisgICAgMjMuIExldCBpdGVyYXRvclJlY29yZCBi
ZSBSZWNvcmQge1tbaXRlcmF0b3JdXToKKyAgICAgICAgQ3JlYXRlTGlzdEl0ZXJhdG9yKGFyZ3Vt
ZW50c0xpc3QpLCBbW2RvbmVdXTogZmFsc2V9LgorICAgIDI0LiBJZiBoYXNEdXBsaWNhdGVzIGlz
IHRydWUsIHRoZW4KKyAgICAgICAgWy4uLl0KKyAgICAyNS4gRWxzZSwKKyAgICAgICAgYi4gTGV0
IGZvcm1hbFN0YXR1cyBiZSBJdGVyYXRvckJpbmRpbmdJbml0aWFsaXphdGlvbiBmb3IgZm9ybWFs
cyB3aXRoCisgICAgICAgICAgIGl0ZXJhdG9yUmVjb3JkIGFuZCBlbnYgYXMgYXJndW1lbnRzLgor
ICAgIFsuLi5dCisKKyAgICBSdW50aW1lIFNlbWFudGljczogSXRlcmF0b3JCaW5kaW5nSW5pdGlh
bGl6YXRpb24KKworICAgIFNpbmdsZU5hbWVCaW5kaW5nIDogQmluZGluZ0lkZW50aWZpZXIgSW5p
dGlhbGl6ZXJfb3B0CisKKyAgICAxLiBMZXQgYmluZGluZ0lkIGJlIFN0cmluZ1ZhbHVlIG9mIEJp
bmRpbmdJZGVudGlmaWVyLgorICAgIDIuIExldCBsaHMgYmUgPyBSZXNvbHZlQmluZGluZyhiaW5k
aW5nSWQsIGVudmlyb25tZW50KS4KKyAgICAzLiBJZiBpdGVyYXRvclJlY29yZC5bW0RvbmVdXSBp
cyBmYWxzZSwgdGhlbgorICAgICAgICBhLiBMZXQgbmV4dCBiZSBJdGVyYXRvclN0ZXAoaXRlcmF0
b3JSZWNvcmQpLgorICAgICAgICBiLiBJZiBuZXh0IGlzIGFuIGFicnVwdCBjb21wbGV0aW9uLCBz
ZXQgaXRlcmF0b3JSZWNvcmQuW1tEb25lXV0gdG8gdHJ1ZS4KKyAgICAgICAgYy4gUmV0dXJuSWZB
YnJ1cHQobmV4dCkuCisgICAgICAgIGQuIElmIG5leHQgaXMgZmFsc2UsIHNldCBpdGVyYXRvclJl
Y29yZC5bW0RvbmVdXSB0byB0cnVlLgorICAgICAgICBlLiBFbHNlLAorICAgICAgICAgICAgaS4g
TGV0IHYgYmUgSXRlcmF0b3JWYWx1ZShuZXh0KS4KKyAgICAgICAgICAgIGlpLiBJZiB2IGlzIGFu
IGFicnVwdCBjb21wbGV0aW9uLCBzZXQgaXRlcmF0b3JSZWNvcmQuW1tEb25lXV0gdG8gdHJ1ZS4K
KyAgICAgICAgICAgIGlpaS4gUmV0dXJuSWZBYnJ1cHQodikuCisgICAgWy4uLl0KKyAgICA3LiBS
ZXR1cm4gSW5pdGlhbGl6ZVJlZmVyZW5jZWRCaW5kaW5nKGxocywgdikuCisKKy0tLSovCitBcnJh
eS5wcm90b3R5cGVbU3ltYm9sLml0ZXJhdG9yXSA9IGZ1bmN0aW9uKiAoKSB7CisgICAgaWYgKHRo
aXMubGVuZ3RoID4gMCkgeworICAgICAgICB5aWVsZCB0aGlzWzBdOworICAgIH0KKyAgICBpZiAo
dGhpcy5sZW5ndGggPiAxKSB7CisgICAgICAgIHlpZWxkIHRoaXNbMV07CisgICAgfQorICAgIGlm
ICh0aGlzLmxlbmd0aCA+IDIpIHsKKyAgICAgICAgeWllbGQgNDI7CisgICAgfQorfTsKKwordmFy
IGNhbGxDb3VudCA9IDA7CitjbGFzcyBDIHsKKyAgKiAjbWV0aG9kKFt4LCB5LCB6XSkgeworICAg
IGFzc2VydC5zYW1lVmFsdWUoeCwgMSk7CisgICAgYXNzZXJ0LnNhbWVWYWx1ZSh5LCAyKTsKKyAg
ICBhc3NlcnQuc2FtZVZhbHVlKHosIDQyKTsKKyAgICBjYWxsQ291bnQgPSBjYWxsQ291bnQgKyAx
OworICB9CisKKyAgZ2V0IG1ldGhvZCgpIHsKKyAgICByZXR1cm4gdGhpcy4jbWV0aG9kOworICB9
Cit9OworCituZXcgQygpLm1ldGhvZChbMSwgMiwgM10pLm5leHQoKTsKK2Fzc2VydC5zYW1lVmFs
dWUoY2FsbENvdW50LCAxLCAnbWV0aG9kIGludm9rZWQgZXhhY3RseSBvbmNlJyk7CmRpZmYgLS1n
aXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2RzdHIv
cHJpdmF0ZS1nZW4tbWV0aC1hcnktcHRybi1yZXN0LWlkLWRpcmVjdC5qcyBiL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZHN0ci9wcml2YXRlLWdlbi1tZXRo
LWFyeS1wdHJuLXJlc3QtaWQtZGlyZWN0LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJkM2FkNjYxM2M5NDI5NzFk
YmY0MjEzNDE2M2Q0YTA5YzU1OWY1ZWMKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2RzdHIvcHJpdmF0ZS1nZW4tbWV0aC1h
cnktcHRybi1yZXN0LWlkLWRpcmVjdC5qcwpAQCAtMCwwICsxLDkwIEBACisvLyBUaGlzIGZpbGUg
d2FzIHByb2NlZHVyYWxseSBnZW5lcmF0ZWQgZnJvbSB0aGUgZm9sbG93aW5nIHNvdXJjZXM6Cisv
LyAtIHNyYy9kc3RyLWJpbmRpbmcvYXJ5LXB0cm4tcmVzdC1pZC1kaXJlY3QuY2FzZQorLy8gLSBz
cmMvZHN0ci1iaW5kaW5nL2RlZmF1bHQvY2xzLWRlY2wtcHJpdmF0ZS1nZW4tbWV0aC50ZW1wbGF0
ZQorLyotLS0KK2Rlc2NyaXB0aW9uOiBMb25lIHJlc3QgZWxlbWVudCAoZGlyZWN0IGJpbmRpbmcp
IChwcml2YXRlIGNsYXNzIGV4cHJlc3Npb24gbWV0aG9kKQorZXNpZDogc2VjLWNsYXNzLWRlZmlu
aXRpb25zLXJ1bnRpbWUtc2VtYW50aWNzLWV2YWx1YXRpb24KK2ZlYXR1cmVzOiBbY2xhc3MsIGNs
YXNzLW1ldGhvZHMtcHJpdmF0ZSwgZ2VuZXJhdG9ycywgZGVzdHJ1Y3R1cmluZy1iaW5kaW5nXQor
ZmxhZ3M6IFtnZW5lcmF0ZWRdCitpbmNsdWRlczogW2NvbXBhcmVBcnJheS5qc10KK2luZm86IHwK
KyAgICBDbGFzc0RlY2xhcmF0aW9uIDogY2xhc3MgQmluZGluZ0lkZW50aWZpZXIgQ2xhc3NUYWls
CisKKyAgICAxLiBMZXQgY2xhc3NOYW1lIGJlIFN0cmluZ1ZhbHVlIG9mIEJpbmRpbmdJZGVudGlm
aWVyLgorICAgIDIuIExldCB2YWx1ZSBiZSB0aGUgcmVzdWx0IG9mIENsYXNzRGVmaW5pdGlvbkV2
YWx1YXRpb24gb2YgQ2xhc3NUYWlsIHdpdGgKKyAgICAgICBhcmd1bWVudCBjbGFzc05hbWUuCisg
ICAgWy4uLl0KKworICAgIDE0LjUuMTQgUnVudGltZSBTZW1hbnRpY3M6IENsYXNzRGVmaW5pdGlv
bkV2YWx1YXRpb24KKworICAgIDIxLiBGb3IgZWFjaCBDbGFzc0VsZW1lbnQgbSBpbiBvcmRlciBm
cm9tIG1ldGhvZHMKKyAgICAgICAgYS4gSWYgSXNTdGF0aWMgb2YgbSBpcyBmYWxzZSwgdGhlbgor
ICAgICAgICAgICBpLiBMZXQgc3RhdHVzIGJlIHRoZSByZXN1bHQgb2YgcGVyZm9ybWluZworICAg
ICAgICAgICAgICBQcm9wZXJ0eURlZmluaXRpb25FdmFsdWF0aW9uIGZvciBtIHdpdGggYXJndW1l
bnRzIHByb3RvIGFuZAorICAgICAgICAgICAgICBmYWxzZS4KKyAgICAgICAgWy4uLl0KKworICAg
IDE0LjQuMTMgUnVudGltZSBTZW1hbnRpY3M6IFByb3BlcnR5RGVmaW5pdGlvbkV2YWx1YXRpb24K
KworICAgIEdlbmVyYXRvck1ldGhvZCA6ICogUHJvcGVydHlOYW1lICggU3RyaWN0Rm9ybWFsUGFy
YW1ldGVycyApIHsgR2VuZXJhdG9yQm9keSB9CisKKyAgICAxLiBMZXQgcHJvcEtleSBiZSB0aGUg
cmVzdWx0IG9mIGV2YWx1YXRpbmcgUHJvcGVydHlOYW1lLgorICAgIDIuIFJldHVybklmQWJydXB0
KHByb3BLZXkpLgorICAgIDMuIElmIHRoZSBmdW5jdGlvbiBjb2RlIGZvciB0aGlzIEdlbmVyYXRv
ck1ldGhvZCBpcyBzdHJpY3QgbW9kZSBjb2RlLAorICAgICAgIGxldCBzdHJpY3QgYmUgdHJ1ZS4g
T3RoZXJ3aXNlIGxldCBzdHJpY3QgYmUgZmFsc2UuCisgICAgNC4gTGV0IHNjb3BlIGJlIHRoZSBy
dW5uaW5nIGV4ZWN1dGlvbiBjb250ZXh0J3MgTGV4aWNhbEVudmlyb25tZW50LgorICAgIDUuIExl
dCBjbG9zdXJlIGJlIEdlbmVyYXRvckZ1bmN0aW9uQ3JlYXRlKE1ldGhvZCwKKyAgICAgICBTdHJp
Y3RGb3JtYWxQYXJhbWV0ZXJzLCBHZW5lcmF0b3JCb2R5LCBzY29wZSwgc3RyaWN0KS4KKworICAg
IDkuMi4xIFtbQ2FsbF1dICggdGhpc0FyZ3VtZW50LCBhcmd1bWVudHNMaXN0KQorCisgICAgWy4u
Ll0KKyAgICA3LiBMZXQgcmVzdWx0IGJlIE9yZGluYXJ5Q2FsbEV2YWx1YXRlQm9keShGLCBhcmd1
bWVudHNMaXN0KS4KKyAgICBbLi4uXQorCisgICAgOS4yLjEuMyBPcmRpbmFyeUNhbGxFdmFsdWF0
ZUJvZHkgKCBGLCBhcmd1bWVudHNMaXN0ICkKKworICAgIDEuIExldCBzdGF0dXMgYmUgRnVuY3Rp
b25EZWNsYXJhdGlvbkluc3RhbnRpYXRpb24oRiwgYXJndW1lbnRzTGlzdCkuCisgICAgWy4uLl0K
KworICAgIDkuMi4xMiBGdW5jdGlvbkRlY2xhcmF0aW9uSW5zdGFudGlhdGlvbihmdW5jLCBhcmd1
bWVudHNMaXN0KQorCisgICAgWy4uLl0KKyAgICAyMy4gTGV0IGl0ZXJhdG9yUmVjb3JkIGJlIFJl
Y29yZCB7W1tpdGVyYXRvcl1dOgorICAgICAgICBDcmVhdGVMaXN0SXRlcmF0b3IoYXJndW1lbnRz
TGlzdCksIFtbZG9uZV1dOiBmYWxzZX0uCisgICAgMjQuIElmIGhhc0R1cGxpY2F0ZXMgaXMgdHJ1
ZSwgdGhlbgorICAgICAgICBbLi4uXQorICAgIDI1LiBFbHNlLAorICAgICAgICBiLiBMZXQgZm9y
bWFsU3RhdHVzIGJlIEl0ZXJhdG9yQmluZGluZ0luaXRpYWxpemF0aW9uIGZvciBmb3JtYWxzIHdp
dGgKKyAgICAgICAgICAgaXRlcmF0b3JSZWNvcmQgYW5kIGVudiBhcyBhcmd1bWVudHMuCisgICAg
Wy4uLl0KKworICAgIFJ1bnRpbWUgU2VtYW50aWNzOiBJdGVyYXRvckJpbmRpbmdJbml0aWFsaXph
dGlvbgorCisgICAgQmluZGluZ1Jlc3RFbGVtZW50IDogLi4uIEJpbmRpbmdJZGVudGlmaWVyCisK
KyAgICBbLi4uXQorICAgIDIuIExldCBBIGJlICEgQXJyYXlDcmVhdGUoMCkuCisgICAgMy4gTGV0
IG4gYmUgMC4KKyAgICA0LiBSZXBlYXQsCisgICAgICAgIFsuLi5dCisgICAgICAgIGYuIFBlcmZv
cm0gISBDcmVhdGVEYXRhUHJvcGVydHlPclRocm93KEEsICEgVG9TdHJpbmcobiksIG5leHRWYWx1
ZSkuCisgICAgICAgIGcuIFNldCBuIHRvIG4gKyAxLgorCistLS0qLworCit2YXIgY2FsbENvdW50
ID0gMDsKK2NsYXNzIEMgeworICAqICNtZXRob2QoWy4uLnhdKSB7CisgICAgYXNzZXJ0KEFycmF5
LmlzQXJyYXkoeCkpOworICAgIGFzc2VydC5jb21wYXJlQXJyYXkoeCwgWzFdKTsKKyAgICBjYWxs
Q291bnQgPSBjYWxsQ291bnQgKyAxOworICB9CisKKyAgZ2V0IG1ldGhvZCgpIHsKKyAgICByZXR1
cm4gdGhpcy4jbWV0aG9kOworICB9Cit9OworCituZXcgQygpLm1ldGhvZChbMV0pLm5leHQoKTsK
K2Fzc2VydC5zYW1lVmFsdWUoY2FsbENvdW50LCAxLCAnbWV0aG9kIGludm9rZWQgZXhhY3RseSBv
bmNlJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1l
bnRzL2NsYXNzL2RzdHIvcHJpdmF0ZS1nZW4tbWV0aC1kZmx0LWFyeS1wdHJuLWVsZW0taWQtaXRl
ci12YWwtYXJyYXktcHJvdG90eXBlLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uv
c3RhdGVtZW50cy9jbGFzcy9kc3RyL3ByaXZhdGUtZ2VuLW1ldGgtZGZsdC1hcnktcHRybi1lbGVt
LWlkLWl0ZXItdmFsLWFycmF5LXByb3RvdHlwZS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xNzAzYjc1MzBhODA5
NjA1MDFmMDgxZTJjOGI3NjIyNTNkZDhiMmNiCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9kc3RyL3ByaXZhdGUtZ2VuLW1l
dGgtZGZsdC1hcnktcHRybi1lbGVtLWlkLWl0ZXItdmFsLWFycmF5LXByb3RvdHlwZS5qcwpAQCAt
MCwwICsxLDEwNyBAQAorLy8gVGhpcyBmaWxlIHdhcyBwcm9jZWR1cmFsbHkgZ2VuZXJhdGVkIGZy
b20gdGhlIGZvbGxvd2luZyBzb3VyY2VzOgorLy8gLSBzcmMvZHN0ci1iaW5kaW5nL2FyeS1wdHJu
LWVsZW0taWQtaXRlci12YWwtYXJyYXktcHJvdG90eXBlLmNhc2UKKy8vIC0gc3JjL2RzdHItYmlu
ZGluZy9kZWZhdWx0L2Nscy1kZWNsLXByaXZhdGUtZ2VuLW1ldGgtZGZsdC50ZW1wbGF0ZQorLyot
LS0KK2Rlc2NyaXB0aW9uOiBBcnJheSBkZXN0cnVjdHVyaW5nIHVzZXMgb3ZlcnJpZGVuIEFycmF5
LnByb3RvdHlwZVtTeW1ib2wuaXRlcmF0b3JdIChwcml2YXRlIGNsYXNzIGV4cHJlc3Npb24gbWV0
aG9kIChkZWZhdWx0IHBhcmFtZXRlcnMpKQorZXNpZDogc2VjLWNsYXNzLWRlZmluaXRpb25zLXJ1
bnRpbWUtc2VtYW50aWNzLWV2YWx1YXRpb24KK2ZlYXR1cmVzOiBbU3ltYm9sLml0ZXJhdG9yLCBn
ZW5lcmF0b3JzLCBjbGFzcywgY2xhc3MtbWV0aG9kcy1wcml2YXRlLCBkZXN0cnVjdHVyaW5nLWJp
bmRpbmcsIGRlZmF1bHQtcGFyYW1ldGVyc10KK2ZsYWdzOiBbZ2VuZXJhdGVkXQoraW5mbzogfAor
ICAgIENsYXNzRGVjbGFyYXRpb24gOiBjbGFzcyBCaW5kaW5nSWRlbnRpZmllciBDbGFzc1RhaWwK
KworICAgIDEuIExldCBjbGFzc05hbWUgYmUgU3RyaW5nVmFsdWUgb2YgQmluZGluZ0lkZW50aWZp
ZXIuCisgICAgMi4gTGV0IHZhbHVlIGJlIHRoZSByZXN1bHQgb2YgQ2xhc3NEZWZpbml0aW9uRXZh
bHVhdGlvbiBvZiBDbGFzc1RhaWwgd2l0aAorICAgICAgIGFyZ3VtZW50IGNsYXNzTmFtZS4KKyAg
ICBbLi4uXQorCisgICAgMTQuNS4xNCBSdW50aW1lIFNlbWFudGljczogQ2xhc3NEZWZpbml0aW9u
RXZhbHVhdGlvbgorCisgICAgMjEuIEZvciBlYWNoIENsYXNzRWxlbWVudCBtIGluIG9yZGVyIGZy
b20gbWV0aG9kcworICAgICAgICBhLiBJZiBJc1N0YXRpYyBvZiBtIGlzIGZhbHNlLCB0aGVuCisg
ICAgICAgICAgIGkuIExldCBzdGF0dXMgYmUgdGhlIHJlc3VsdCBvZiBwZXJmb3JtaW5nCisgICAg
ICAgICAgICAgIFByb3BlcnR5RGVmaW5pdGlvbkV2YWx1YXRpb24gZm9yIG0gd2l0aCBhcmd1bWVu
dHMgcHJvdG8gYW5kCisgICAgICAgICAgICAgIGZhbHNlLgorICAgICAgICBbLi4uXQorCisgICAg
MTQuNC4xMyBSdW50aW1lIFNlbWFudGljczogUHJvcGVydHlEZWZpbml0aW9uRXZhbHVhdGlvbgor
CisgICAgR2VuZXJhdG9yTWV0aG9kIDogKiBQcm9wZXJ0eU5hbWUgKCBTdHJpY3RGb3JtYWxQYXJh
bWV0ZXJzICkgeyBHZW5lcmF0b3JCb2R5IH0KKworICAgIDEuIExldCBwcm9wS2V5IGJlIHRoZSBy
ZXN1bHQgb2YgZXZhbHVhdGluZyBQcm9wZXJ0eU5hbWUuCisgICAgMi4gUmV0dXJuSWZBYnJ1cHQo
cHJvcEtleSkuCisgICAgMy4gSWYgdGhlIGZ1bmN0aW9uIGNvZGUgZm9yIHRoaXMgR2VuZXJhdG9y
TWV0aG9kIGlzIHN0cmljdCBtb2RlIGNvZGUsCisgICAgICAgbGV0IHN0cmljdCBiZSB0cnVlLiBP
dGhlcndpc2UgbGV0IHN0cmljdCBiZSBmYWxzZS4KKyAgICA0LiBMZXQgc2NvcGUgYmUgdGhlIHJ1
bm5pbmcgZXhlY3V0aW9uIGNvbnRleHQncyBMZXhpY2FsRW52aXJvbm1lbnQuCisgICAgNS4gTGV0
IGNsb3N1cmUgYmUgR2VuZXJhdG9yRnVuY3Rpb25DcmVhdGUoTWV0aG9kLAorICAgICAgIFN0cmlj
dEZvcm1hbFBhcmFtZXRlcnMsIEdlbmVyYXRvckJvZHksIHNjb3BlLCBzdHJpY3QpLgorCisgICAg
OS4yLjEgW1tDYWxsXV0gKCB0aGlzQXJndW1lbnQsIGFyZ3VtZW50c0xpc3QpCisKKyAgICBbLi4u
XQorICAgIDcuIExldCByZXN1bHQgYmUgT3JkaW5hcnlDYWxsRXZhbHVhdGVCb2R5KEYsIGFyZ3Vt
ZW50c0xpc3QpLgorICAgIFsuLi5dCisKKyAgICA5LjIuMS4zIE9yZGluYXJ5Q2FsbEV2YWx1YXRl
Qm9keSAoIEYsIGFyZ3VtZW50c0xpc3QgKQorCisgICAgMS4gTGV0IHN0YXR1cyBiZSBGdW5jdGlv
bkRlY2xhcmF0aW9uSW5zdGFudGlhdGlvbihGLCBhcmd1bWVudHNMaXN0KS4KKyAgICBbLi4uXQor
CisgICAgOS4yLjEyIEZ1bmN0aW9uRGVjbGFyYXRpb25JbnN0YW50aWF0aW9uKGZ1bmMsIGFyZ3Vt
ZW50c0xpc3QpCisKKyAgICBbLi4uXQorICAgIDIzLiBMZXQgaXRlcmF0b3JSZWNvcmQgYmUgUmVj
b3JkIHtbW2l0ZXJhdG9yXV06CisgICAgICAgIENyZWF0ZUxpc3RJdGVyYXRvcihhcmd1bWVudHNM
aXN0KSwgW1tkb25lXV06IGZhbHNlfS4KKyAgICAyNC4gSWYgaGFzRHVwbGljYXRlcyBpcyB0cnVl
LCB0aGVuCisgICAgICAgIFsuLi5dCisgICAgMjUuIEVsc2UsCisgICAgICAgIGIuIExldCBmb3Jt
YWxTdGF0dXMgYmUgSXRlcmF0b3JCaW5kaW5nSW5pdGlhbGl6YXRpb24gZm9yIGZvcm1hbHMgd2l0
aAorICAgICAgICAgICBpdGVyYXRvclJlY29yZCBhbmQgZW52IGFzIGFyZ3VtZW50cy4KKyAgICBb
Li4uXQorCisgICAgUnVudGltZSBTZW1hbnRpY3M6IEl0ZXJhdG9yQmluZGluZ0luaXRpYWxpemF0
aW9uCisKKyAgICBTaW5nbGVOYW1lQmluZGluZyA6IEJpbmRpbmdJZGVudGlmaWVyIEluaXRpYWxp
emVyX29wdAorCisgICAgMS4gTGV0IGJpbmRpbmdJZCBiZSBTdHJpbmdWYWx1ZSBvZiBCaW5kaW5n
SWRlbnRpZmllci4KKyAgICAyLiBMZXQgbGhzIGJlID8gUmVzb2x2ZUJpbmRpbmcoYmluZGluZ0lk
LCBlbnZpcm9ubWVudCkuCisgICAgMy4gSWYgaXRlcmF0b3JSZWNvcmQuW1tEb25lXV0gaXMgZmFs
c2UsIHRoZW4KKyAgICAgICAgYS4gTGV0IG5leHQgYmUgSXRlcmF0b3JTdGVwKGl0ZXJhdG9yUmVj
b3JkKS4KKyAgICAgICAgYi4gSWYgbmV4dCBpcyBhbiBhYnJ1cHQgY29tcGxldGlvbiwgc2V0IGl0
ZXJhdG9yUmVjb3JkLltbRG9uZV1dIHRvIHRydWUuCisgICAgICAgIGMuIFJldHVybklmQWJydXB0
KG5leHQpLgorICAgICAgICBkLiBJZiBuZXh0IGlzIGZhbHNlLCBzZXQgaXRlcmF0b3JSZWNvcmQu
W1tEb25lXV0gdG8gdHJ1ZS4KKyAgICAgICAgZS4gRWxzZSwKKyAgICAgICAgICAgIGkuIExldCB2
IGJlIEl0ZXJhdG9yVmFsdWUobmV4dCkuCisgICAgICAgICAgICBpaS4gSWYgdiBpcyBhbiBhYnJ1
cHQgY29tcGxldGlvbiwgc2V0IGl0ZXJhdG9yUmVjb3JkLltbRG9uZV1dIHRvIHRydWUuCisgICAg
ICAgICAgICBpaWkuIFJldHVybklmQWJydXB0KHYpLgorICAgIFsuLi5dCisgICAgNy4gUmV0dXJu
IEluaXRpYWxpemVSZWZlcmVuY2VkQmluZGluZyhsaHMsIHYpLgorCistLS0qLworQXJyYXkucHJv
dG90eXBlW1N5bWJvbC5pdGVyYXRvcl0gPSBmdW5jdGlvbiogKCkgeworICAgIGlmICh0aGlzLmxl
bmd0aCA+IDApIHsKKyAgICAgICAgeWllbGQgdGhpc1swXTsKKyAgICB9CisgICAgaWYgKHRoaXMu
bGVuZ3RoID4gMSkgeworICAgICAgICB5aWVsZCB0aGlzWzFdOworICAgIH0KKyAgICBpZiAodGhp
cy5sZW5ndGggPiAyKSB7CisgICAgICAgIHlpZWxkIDQyOworICAgIH0KK307CisKK3ZhciBjYWxs
Q291bnQgPSAwOworY2xhc3MgQyB7CisgICogI21ldGhvZChbeCwgeSwgel0gPSBbMSwgMiwgM10p
IHsKKyAgICBhc3NlcnQuc2FtZVZhbHVlKHgsIDEpOworICAgIGFzc2VydC5zYW1lVmFsdWUoeSwg
Mik7CisgICAgYXNzZXJ0LnNhbWVWYWx1ZSh6LCA0Mik7CisgICAgY2FsbENvdW50ID0gY2FsbENv
dW50ICsgMTsKKyAgfQorCisgIGdldCBtZXRob2QoKSB7CisgICAgcmV0dXJuIHRoaXMuI21ldGhv
ZDsKKyAgfQorfTsKKworbmV3IEMoKS5tZXRob2QoKS5uZXh0KCk7Cithc3NlcnQuc2FtZVZhbHVl
KGNhbGxDb3VudCwgMSwgJ21ldGhvZCBpbnZva2VkIGV4YWN0bHkgb25jZScpOwpkaWZmIC0tZ2l0
IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9kc3RyL3By
aXZhdGUtZ2VuLW1ldGgtZGZsdC1hcnktcHRybi1yZXN0LWlkLWRpcmVjdC5qcyBiL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZHN0ci9wcml2YXRlLWdlbi1t
ZXRoLWRmbHQtYXJ5LXB0cm4tcmVzdC1pZC1kaXJlY3QuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2RiODliZTZh
ODJjMDRmZjcwMmY2YTM2YTgzM2M1NGFlOWVlZTc0ZgotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZHN0ci9wcml2YXRlLWdl
bi1tZXRoLWRmbHQtYXJ5LXB0cm4tcmVzdC1pZC1kaXJlY3QuanMKQEAgLTAsMCArMSw5MCBAQAor
Ly8gVGhpcyBmaWxlIHdhcyBwcm9jZWR1cmFsbHkgZ2VuZXJhdGVkIGZyb20gdGhlIGZvbGxvd2lu
ZyBzb3VyY2VzOgorLy8gLSBzcmMvZHN0ci1iaW5kaW5nL2FyeS1wdHJuLXJlc3QtaWQtZGlyZWN0
LmNhc2UKKy8vIC0gc3JjL2RzdHItYmluZGluZy9kZWZhdWx0L2Nscy1kZWNsLXByaXZhdGUtZ2Vu
LW1ldGgtZGZsdC50ZW1wbGF0ZQorLyotLS0KK2Rlc2NyaXB0aW9uOiBMb25lIHJlc3QgZWxlbWVu
dCAoZGlyZWN0IGJpbmRpbmcpIChwcml2YXRlIGNsYXNzIGV4cHJlc3Npb24gbWV0aG9kIChkZWZh
dWx0IHBhcmFtZXRlcnMpKQorZXNpZDogc2VjLWNsYXNzLWRlZmluaXRpb25zLXJ1bnRpbWUtc2Vt
YW50aWNzLWV2YWx1YXRpb24KK2ZlYXR1cmVzOiBbY2xhc3MsIGNsYXNzLW1ldGhvZHMtcHJpdmF0
ZSwgZ2VuZXJhdG9ycywgZGVzdHJ1Y3R1cmluZy1iaW5kaW5nLCBkZWZhdWx0LXBhcmFtZXRlcnNd
CitmbGFnczogW2dlbmVyYXRlZF0KK2luY2x1ZGVzOiBbY29tcGFyZUFycmF5LmpzXQoraW5mbzog
fAorICAgIENsYXNzRGVjbGFyYXRpb24gOiBjbGFzcyBCaW5kaW5nSWRlbnRpZmllciBDbGFzc1Rh
aWwKKworICAgIDEuIExldCBjbGFzc05hbWUgYmUgU3RyaW5nVmFsdWUgb2YgQmluZGluZ0lkZW50
aWZpZXIuCisgICAgMi4gTGV0IHZhbHVlIGJlIHRoZSByZXN1bHQgb2YgQ2xhc3NEZWZpbml0aW9u
RXZhbHVhdGlvbiBvZiBDbGFzc1RhaWwgd2l0aAorICAgICAgIGFyZ3VtZW50IGNsYXNzTmFtZS4K
KyAgICBbLi4uXQorCisgICAgMTQuNS4xNCBSdW50aW1lIFNlbWFudGljczogQ2xhc3NEZWZpbml0
aW9uRXZhbHVhdGlvbgorCisgICAgMjEuIEZvciBlYWNoIENsYXNzRWxlbWVudCBtIGluIG9yZGVy
IGZyb20gbWV0aG9kcworICAgICAgICBhLiBJZiBJc1N0YXRpYyBvZiBtIGlzIGZhbHNlLCB0aGVu
CisgICAgICAgICAgIGkuIExldCBzdGF0dXMgYmUgdGhlIHJlc3VsdCBvZiBwZXJmb3JtaW5nCisg
ICAgICAgICAgICAgIFByb3BlcnR5RGVmaW5pdGlvbkV2YWx1YXRpb24gZm9yIG0gd2l0aCBhcmd1
bWVudHMgcHJvdG8gYW5kCisgICAgICAgICAgICAgIGZhbHNlLgorICAgICAgICBbLi4uXQorCisg
ICAgMTQuNC4xMyBSdW50aW1lIFNlbWFudGljczogUHJvcGVydHlEZWZpbml0aW9uRXZhbHVhdGlv
bgorCisgICAgR2VuZXJhdG9yTWV0aG9kIDogKiBQcm9wZXJ0eU5hbWUgKCBTdHJpY3RGb3JtYWxQ
YXJhbWV0ZXJzICkgeyBHZW5lcmF0b3JCb2R5IH0KKworICAgIDEuIExldCBwcm9wS2V5IGJlIHRo
ZSByZXN1bHQgb2YgZXZhbHVhdGluZyBQcm9wZXJ0eU5hbWUuCisgICAgMi4gUmV0dXJuSWZBYnJ1
cHQocHJvcEtleSkuCisgICAgMy4gSWYgdGhlIGZ1bmN0aW9uIGNvZGUgZm9yIHRoaXMgR2VuZXJh
dG9yTWV0aG9kIGlzIHN0cmljdCBtb2RlIGNvZGUsCisgICAgICAgbGV0IHN0cmljdCBiZSB0cnVl
LiBPdGhlcndpc2UgbGV0IHN0cmljdCBiZSBmYWxzZS4KKyAgICA0LiBMZXQgc2NvcGUgYmUgdGhl
IHJ1bm5pbmcgZXhlY3V0aW9uIGNvbnRleHQncyBMZXhpY2FsRW52aXJvbm1lbnQuCisgICAgNS4g
TGV0IGNsb3N1cmUgYmUgR2VuZXJhdG9yRnVuY3Rpb25DcmVhdGUoTWV0aG9kLAorICAgICAgIFN0
cmljdEZvcm1hbFBhcmFtZXRlcnMsIEdlbmVyYXRvckJvZHksIHNjb3BlLCBzdHJpY3QpLgorCisg
ICAgOS4yLjEgW1tDYWxsXV0gKCB0aGlzQXJndW1lbnQsIGFyZ3VtZW50c0xpc3QpCisKKyAgICBb
Li4uXQorICAgIDcuIExldCByZXN1bHQgYmUgT3JkaW5hcnlDYWxsRXZhbHVhdGVCb2R5KEYsIGFy
Z3VtZW50c0xpc3QpLgorICAgIFsuLi5dCisKKyAgICA5LjIuMS4zIE9yZGluYXJ5Q2FsbEV2YWx1
YXRlQm9keSAoIEYsIGFyZ3VtZW50c0xpc3QgKQorCisgICAgMS4gTGV0IHN0YXR1cyBiZSBGdW5j
dGlvbkRlY2xhcmF0aW9uSW5zdGFudGlhdGlvbihGLCBhcmd1bWVudHNMaXN0KS4KKyAgICBbLi4u
XQorCisgICAgOS4yLjEyIEZ1bmN0aW9uRGVjbGFyYXRpb25JbnN0YW50aWF0aW9uKGZ1bmMsIGFy
Z3VtZW50c0xpc3QpCisKKyAgICBbLi4uXQorICAgIDIzLiBMZXQgaXRlcmF0b3JSZWNvcmQgYmUg
UmVjb3JkIHtbW2l0ZXJhdG9yXV06CisgICAgICAgIENyZWF0ZUxpc3RJdGVyYXRvcihhcmd1bWVu
dHNMaXN0KSwgW1tkb25lXV06IGZhbHNlfS4KKyAgICAyNC4gSWYgaGFzRHVwbGljYXRlcyBpcyB0
cnVlLCB0aGVuCisgICAgICAgIFsuLi5dCisgICAgMjUuIEVsc2UsCisgICAgICAgIGIuIExldCBm
b3JtYWxTdGF0dXMgYmUgSXRlcmF0b3JCaW5kaW5nSW5pdGlhbGl6YXRpb24gZm9yIGZvcm1hbHMg
d2l0aAorICAgICAgICAgICBpdGVyYXRvclJlY29yZCBhbmQgZW52IGFzIGFyZ3VtZW50cy4KKyAg
ICBbLi4uXQorCisgICAgUnVudGltZSBTZW1hbnRpY3M6IEl0ZXJhdG9yQmluZGluZ0luaXRpYWxp
emF0aW9uCisKKyAgICBCaW5kaW5nUmVzdEVsZW1lbnQgOiAuLi4gQmluZGluZ0lkZW50aWZpZXIK
KworICAgIFsuLi5dCisgICAgMi4gTGV0IEEgYmUgISBBcnJheUNyZWF0ZSgwKS4KKyAgICAzLiBM
ZXQgbiBiZSAwLgorICAgIDQuIFJlcGVhdCwKKyAgICAgICAgWy4uLl0KKyAgICAgICAgZi4gUGVy
Zm9ybSAhIENyZWF0ZURhdGFQcm9wZXJ0eU9yVGhyb3coQSwgISBUb1N0cmluZyhuKSwgbmV4dFZh
bHVlKS4KKyAgICAgICAgZy4gU2V0IG4gdG8gbiArIDEuCisKKy0tLSovCisKK3ZhciBjYWxsQ291
bnQgPSAwOworY2xhc3MgQyB7CisgICogI21ldGhvZChbLi4ueF0gPSBbMV0pIHsKKyAgICBhc3Nl
cnQoQXJyYXkuaXNBcnJheSh4KSk7CisgICAgYXNzZXJ0LmNvbXBhcmVBcnJheSh4LCBbMV0pOwor
ICAgIGNhbGxDb3VudCA9IGNhbGxDb3VudCArIDE7CisgIH0KKworICBnZXQgbWV0aG9kKCkgewor
ICAgIHJldHVybiB0aGlzLiNtZXRob2Q7CisgIH0KK307CisKK25ldyBDKCkubWV0aG9kKCkubmV4
dCgpOworYXNzZXJ0LnNhbWVWYWx1ZShjYWxsQ291bnQsIDEsICdtZXRob2QgaW52b2tlZCBleGFj
dGx5IG9uY2UnKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0
YXRlbWVudHMvY2xhc3MvZHN0ci9wcml2YXRlLWdlbi1tZXRoLXN0YXRpYy1hcnktcHRybi1lbGVt
LWlkLWl0ZXItdmFsLWFycmF5LXByb3RvdHlwZS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xh
bmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZHN0ci9wcml2YXRlLWdlbi1tZXRoLXN0YXRpYy1hcnkt
cHRybi1lbGVtLWlkLWl0ZXItdmFsLWFycmF5LXByb3RvdHlwZS5qcwpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lMzJh
NTU3MmY4OTEyNWRhNTYyN2I1YzMxZGFjYWQzMmM3MTIxYzMzCi0tLSAvZGV2L251bGwKKysrIGIv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9kc3RyL3ByaXZh
dGUtZ2VuLW1ldGgtc3RhdGljLWFyeS1wdHJuLWVsZW0taWQtaXRlci12YWwtYXJyYXktcHJvdG90
eXBlLmpzCkBAIC0wLDAgKzEsMTA3IEBACisvLyBUaGlzIGZpbGUgd2FzIHByb2NlZHVyYWxseSBn
ZW5lcmF0ZWQgZnJvbSB0aGUgZm9sbG93aW5nIHNvdXJjZXM6CisvLyAtIHNyYy9kc3RyLWJpbmRp
bmcvYXJ5LXB0cm4tZWxlbS1pZC1pdGVyLXZhbC1hcnJheS1wcm90b3R5cGUuY2FzZQorLy8gLSBz
cmMvZHN0ci1iaW5kaW5nL2RlZmF1bHQvY2xzLWRlY2wtcHJpdmF0ZS1nZW4tbWV0aC1zdGF0aWMu
dGVtcGxhdGUKKy8qLS0tCitkZXNjcmlwdGlvbjogQXJyYXkgZGVzdHJ1Y3R1cmluZyB1c2VzIG92
ZXJyaWRlbiBBcnJheS5wcm90b3R5cGVbU3ltYm9sLml0ZXJhdG9yXSAocHJpdmF0ZSBzdGF0aWMg
Y2xhc3MgZXhwcmVzc2lvbiBnZW5lcmF0b3IgbWV0aG9kKQorZXNpZDogc2VjLXJ1bnRpbWUtc2Vt
YW50aWNzLWJpbmRpbmdjbGFzc2RlY2xhcmF0aW9uZXZhbHVhdGlvbgorZmVhdHVyZXM6IFtTeW1i
b2wuaXRlcmF0b3IsIGdlbmVyYXRvcnMsIGNsYXNzLCBjbGFzcy1zdGF0aWMtbWV0aG9kcy1wcml2
YXRlLCBkZXN0cnVjdHVyaW5nLWJpbmRpbmddCitmbGFnczogW2dlbmVyYXRlZF0KK2luZm86IHwK
KyAgICBDbGFzc0RlY2xhcmF0aW9uIDogY2xhc3MgQmluZGluZ0lkZW50aWZpZXIgQ2xhc3NUYWls
CisKKyAgICAxLiBMZXQgY2xhc3NOYW1lIGJlIFN0cmluZ1ZhbHVlIG9mIEJpbmRpbmdJZGVudGlm
aWVyLgorICAgIDIuIExldCB2YWx1ZSBiZSB0aGUgcmVzdWx0IG9mIENsYXNzRGVmaW5pdGlvbkV2
YWx1YXRpb24gb2YgQ2xhc3NUYWlsIHdpdGgKKyAgICAgICBhcmd1bWVudCBjbGFzc05hbWUuCisg
ICAgWy4uLl0KKworICAgIDE0LjUuMTQgUnVudGltZSBTZW1hbnRpY3M6IENsYXNzRGVmaW5pdGlv
bkV2YWx1YXRpb24KKworICAgIDIxLiBGb3IgZWFjaCBDbGFzc0VsZW1lbnQgbSBpbiBvcmRlciBm
cm9tIG1ldGhvZHMKKyAgICAgICAgYS4gSWYgSXNTdGF0aWMgb2YgbSBpcyBmYWxzZSwgdGhlbgor
ICAgICAgICBiLiBFbHNlLAorICAgICAgICAgICBMZXQgc3RhdHVzIGJlIHRoZSByZXN1bHQgb2Yg
cGVyZm9ybWluZyBQcm9wZXJ0eURlZmluaXRpb25FdmFsdWF0aW9uIGZvcgorICAgICAgICAgICBt
IHdpdGggYXJndW1lbnRzIEYgYW5kIGZhbHNlLgorICAgIFsuLi5dCisKKyAgICAxNC40LjEzIFJ1
bnRpbWUgU2VtYW50aWNzOiBQcm9wZXJ0eURlZmluaXRpb25FdmFsdWF0aW9uCisKKyAgICBHZW5l
cmF0b3JNZXRob2QgOiAqIFByb3BlcnR5TmFtZSAoIFN0cmljdEZvcm1hbFBhcmFtZXRlcnMgKSB7
IEdlbmVyYXRvckJvZHkgfQorCisgICAgMS4gTGV0IHByb3BLZXkgYmUgdGhlIHJlc3VsdCBvZiBl
dmFsdWF0aW5nIFByb3BlcnR5TmFtZS4KKyAgICAyLiBSZXR1cm5JZkFicnVwdChwcm9wS2V5KS4K
KyAgICAzLiBJZiB0aGUgZnVuY3Rpb24gY29kZSBmb3IgdGhpcyBHZW5lcmF0b3JNZXRob2QgaXMg
c3RyaWN0IG1vZGUgY29kZSwKKyAgICAgICBsZXQgc3RyaWN0IGJlIHRydWUuIE90aGVyd2lzZSBs
ZXQgc3RyaWN0IGJlIGZhbHNlLgorICAgIDQuIExldCBzY29wZSBiZSB0aGUgcnVubmluZyBleGVj
dXRpb24gY29udGV4dCdzIExleGljYWxFbnZpcm9ubWVudC4KKyAgICA1LiBMZXQgY2xvc3VyZSBi
ZSBHZW5lcmF0b3JGdW5jdGlvbkNyZWF0ZShNZXRob2QsCisgICAgICAgU3RyaWN0Rm9ybWFsUGFy
YW1ldGVycywgR2VuZXJhdG9yQm9keSwgc2NvcGUsIHN0cmljdCkuCisKKyAgICA5LjIuMSBbW0Nh
bGxdXSAoIHRoaXNBcmd1bWVudCwgYXJndW1lbnRzTGlzdCkKKworICAgIFsuLi5dCisgICAgNy4g
TGV0IHJlc3VsdCBiZSBPcmRpbmFyeUNhbGxFdmFsdWF0ZUJvZHkoRiwgYXJndW1lbnRzTGlzdCku
CisgICAgWy4uLl0KKworICAgIDkuMi4xLjMgT3JkaW5hcnlDYWxsRXZhbHVhdGVCb2R5ICggRiwg
YXJndW1lbnRzTGlzdCApCisKKyAgICAxLiBMZXQgc3RhdHVzIGJlIEZ1bmN0aW9uRGVjbGFyYXRp
b25JbnN0YW50aWF0aW9uKEYsIGFyZ3VtZW50c0xpc3QpLgorICAgIFsuLi5dCisKKyAgICA5LjIu
MTIgRnVuY3Rpb25EZWNsYXJhdGlvbkluc3RhbnRpYXRpb24oZnVuYywgYXJndW1lbnRzTGlzdCkK
KworICAgIFsuLi5dCisgICAgMjMuIExldCBpdGVyYXRvclJlY29yZCBiZSBSZWNvcmQge1tbaXRl
cmF0b3JdXToKKyAgICAgICAgQ3JlYXRlTGlzdEl0ZXJhdG9yKGFyZ3VtZW50c0xpc3QpLCBbW2Rv
bmVdXTogZmFsc2V9LgorICAgIDI0LiBJZiBoYXNEdXBsaWNhdGVzIGlzIHRydWUsIHRoZW4KKyAg
ICAgICAgWy4uLl0KKyAgICAyNS4gRWxzZSwKKyAgICAgICAgYi4gTGV0IGZvcm1hbFN0YXR1cyBi
ZSBJdGVyYXRvckJpbmRpbmdJbml0aWFsaXphdGlvbiBmb3IgZm9ybWFscyB3aXRoCisgICAgICAg
ICAgIGl0ZXJhdG9yUmVjb3JkIGFuZCBlbnYgYXMgYXJndW1lbnRzLgorICAgIFsuLi5dCisKKyAg
ICBSdW50aW1lIFNlbWFudGljczogSXRlcmF0b3JCaW5kaW5nSW5pdGlhbGl6YXRpb24KKworICAg
IFNpbmdsZU5hbWVCaW5kaW5nIDogQmluZGluZ0lkZW50aWZpZXIgSW5pdGlhbGl6ZXJfb3B0CisK
KyAgICAxLiBMZXQgYmluZGluZ0lkIGJlIFN0cmluZ1ZhbHVlIG9mIEJpbmRpbmdJZGVudGlmaWVy
LgorICAgIDIuIExldCBsaHMgYmUgPyBSZXNvbHZlQmluZGluZyhiaW5kaW5nSWQsIGVudmlyb25t
ZW50KS4KKyAgICAzLiBJZiBpdGVyYXRvclJlY29yZC5bW0RvbmVdXSBpcyBmYWxzZSwgdGhlbgor
ICAgICAgICBhLiBMZXQgbmV4dCBiZSBJdGVyYXRvclN0ZXAoaXRlcmF0b3JSZWNvcmQpLgorICAg
ICAgICBiLiBJZiBuZXh0IGlzIGFuIGFicnVwdCBjb21wbGV0aW9uLCBzZXQgaXRlcmF0b3JSZWNv
cmQuW1tEb25lXV0gdG8gdHJ1ZS4KKyAgICAgICAgYy4gUmV0dXJuSWZBYnJ1cHQobmV4dCkuCisg
ICAgICAgIGQuIElmIG5leHQgaXMgZmFsc2UsIHNldCBpdGVyYXRvclJlY29yZC5bW0RvbmVdXSB0
byB0cnVlLgorICAgICAgICBlLiBFbHNlLAorICAgICAgICAgICAgaS4gTGV0IHYgYmUgSXRlcmF0
b3JWYWx1ZShuZXh0KS4KKyAgICAgICAgICAgIGlpLiBJZiB2IGlzIGFuIGFicnVwdCBjb21wbGV0
aW9uLCBzZXQgaXRlcmF0b3JSZWNvcmQuW1tEb25lXV0gdG8gdHJ1ZS4KKyAgICAgICAgICAgIGlp
aS4gUmV0dXJuSWZBYnJ1cHQodikuCisgICAgWy4uLl0KKyAgICA3LiBSZXR1cm4gSW5pdGlhbGl6
ZVJlZmVyZW5jZWRCaW5kaW5nKGxocywgdikuCisKKy0tLSovCitBcnJheS5wcm90b3R5cGVbU3lt
Ym9sLml0ZXJhdG9yXSA9IGZ1bmN0aW9uKiAoKSB7CisgICAgaWYgKHRoaXMubGVuZ3RoID4gMCkg
eworICAgICAgICB5aWVsZCB0aGlzWzBdOworICAgIH0KKyAgICBpZiAodGhpcy5sZW5ndGggPiAx
KSB7CisgICAgICAgIHlpZWxkIHRoaXNbMV07CisgICAgfQorICAgIGlmICh0aGlzLmxlbmd0aCA+
IDIpIHsKKyAgICAgICAgeWllbGQgNDI7CisgICAgfQorfTsKKwordmFyIGNhbGxDb3VudCA9IDA7
CitjbGFzcyBDIHsKKyAgc3RhdGljICogI21ldGhvZChbeCwgeSwgel0pIHsKKyAgICBhc3NlcnQu
c2FtZVZhbHVlKHgsIDEpOworICAgIGFzc2VydC5zYW1lVmFsdWUoeSwgMik7CisgICAgYXNzZXJ0
LnNhbWVWYWx1ZSh6LCA0Mik7CisgICAgY2FsbENvdW50ID0gY2FsbENvdW50ICsgMTsKKyAgfQor
CisgIHN0YXRpYyBnZXQgbWV0aG9kKCkgeworICAgIHJldHVybiB0aGlzLiNtZXRob2Q7CisgIH0K
K307CisKK0MubWV0aG9kKFsxLCAyLCAzXSkubmV4dCgpOworYXNzZXJ0LnNhbWVWYWx1ZShjYWxs
Q291bnQsIDEsICdtZXRob2QgaW52b2tlZCBleGFjdGx5IG9uY2UnKTsKZGlmZiAtLWdpdCBhL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZHN0ci9wcml2YXRl
LWdlbi1tZXRoLXN0YXRpYy1hcnktcHRybi1yZXN0LWlkLWRpcmVjdC5qcyBiL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZHN0ci9wcml2YXRlLWdlbi1tZXRo
LXN0YXRpYy1hcnktcHRybi1yZXN0LWlkLWRpcmVjdC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jNGFlYTEyMjcx
ZWFiZjdiMzUzNDBlYWY1NDM4N2RjM2M1NjQwODg0Ci0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9kc3RyL3ByaXZhdGUtZ2Vu
LW1ldGgtc3RhdGljLWFyeS1wdHJuLXJlc3QtaWQtZGlyZWN0LmpzCkBAIC0wLDAgKzEsOTAgQEAK
Ky8vIFRoaXMgZmlsZSB3YXMgcHJvY2VkdXJhbGx5IGdlbmVyYXRlZCBmcm9tIHRoZSBmb2xsb3dp
bmcgc291cmNlczoKKy8vIC0gc3JjL2RzdHItYmluZGluZy9hcnktcHRybi1yZXN0LWlkLWRpcmVj
dC5jYXNlCisvLyAtIHNyYy9kc3RyLWJpbmRpbmcvZGVmYXVsdC9jbHMtZGVjbC1wcml2YXRlLWdl
bi1tZXRoLXN0YXRpYy50ZW1wbGF0ZQorLyotLS0KK2Rlc2NyaXB0aW9uOiBMb25lIHJlc3QgZWxl
bWVudCAoZGlyZWN0IGJpbmRpbmcpIChwcml2YXRlIHN0YXRpYyBjbGFzcyBleHByZXNzaW9uIGdl
bmVyYXRvciBtZXRob2QpCitlc2lkOiBzZWMtcnVudGltZS1zZW1hbnRpY3MtYmluZGluZ2NsYXNz
ZGVjbGFyYXRpb25ldmFsdWF0aW9uCitmZWF0dXJlczogW2NsYXNzLCBjbGFzcy1zdGF0aWMtbWV0
aG9kcy1wcml2YXRlLCBnZW5lcmF0b3JzLCBkZXN0cnVjdHVyaW5nLWJpbmRpbmddCitmbGFnczog
W2dlbmVyYXRlZF0KK2luY2x1ZGVzOiBbY29tcGFyZUFycmF5LmpzXQoraW5mbzogfAorICAgIENs
YXNzRGVjbGFyYXRpb24gOiBjbGFzcyBCaW5kaW5nSWRlbnRpZmllciBDbGFzc1RhaWwKKworICAg
IDEuIExldCBjbGFzc05hbWUgYmUgU3RyaW5nVmFsdWUgb2YgQmluZGluZ0lkZW50aWZpZXIuCisg
ICAgMi4gTGV0IHZhbHVlIGJlIHRoZSByZXN1bHQgb2YgQ2xhc3NEZWZpbml0aW9uRXZhbHVhdGlv
biBvZiBDbGFzc1RhaWwgd2l0aAorICAgICAgIGFyZ3VtZW50IGNsYXNzTmFtZS4KKyAgICBbLi4u
XQorCisgICAgMTQuNS4xNCBSdW50aW1lIFNlbWFudGljczogQ2xhc3NEZWZpbml0aW9uRXZhbHVh
dGlvbgorCisgICAgMjEuIEZvciBlYWNoIENsYXNzRWxlbWVudCBtIGluIG9yZGVyIGZyb20gbWV0
aG9kcworICAgICAgICBhLiBJZiBJc1N0YXRpYyBvZiBtIGlzIGZhbHNlLCB0aGVuCisgICAgICAg
IGIuIEVsc2UsCisgICAgICAgICAgIExldCBzdGF0dXMgYmUgdGhlIHJlc3VsdCBvZiBwZXJmb3Jt
aW5nIFByb3BlcnR5RGVmaW5pdGlvbkV2YWx1YXRpb24gZm9yCisgICAgICAgICAgIG0gd2l0aCBh
cmd1bWVudHMgRiBhbmQgZmFsc2UuCisgICAgWy4uLl0KKworICAgIDE0LjQuMTMgUnVudGltZSBT
ZW1hbnRpY3M6IFByb3BlcnR5RGVmaW5pdGlvbkV2YWx1YXRpb24KKworICAgIEdlbmVyYXRvck1l
dGhvZCA6ICogUHJvcGVydHlOYW1lICggU3RyaWN0Rm9ybWFsUGFyYW1ldGVycyApIHsgR2VuZXJh
dG9yQm9keSB9CisKKyAgICAxLiBMZXQgcHJvcEtleSBiZSB0aGUgcmVzdWx0IG9mIGV2YWx1YXRp
bmcgUHJvcGVydHlOYW1lLgorICAgIDIuIFJldHVybklmQWJydXB0KHByb3BLZXkpLgorICAgIDMu
IElmIHRoZSBmdW5jdGlvbiBjb2RlIGZvciB0aGlzIEdlbmVyYXRvck1ldGhvZCBpcyBzdHJpY3Qg
bW9kZSBjb2RlLAorICAgICAgIGxldCBzdHJpY3QgYmUgdHJ1ZS4gT3RoZXJ3aXNlIGxldCBzdHJp
Y3QgYmUgZmFsc2UuCisgICAgNC4gTGV0IHNjb3BlIGJlIHRoZSBydW5uaW5nIGV4ZWN1dGlvbiBj
b250ZXh0J3MgTGV4aWNhbEVudmlyb25tZW50LgorICAgIDUuIExldCBjbG9zdXJlIGJlIEdlbmVy
YXRvckZ1bmN0aW9uQ3JlYXRlKE1ldGhvZCwKKyAgICAgICBTdHJpY3RGb3JtYWxQYXJhbWV0ZXJz
LCBHZW5lcmF0b3JCb2R5LCBzY29wZSwgc3RyaWN0KS4KKworICAgIDkuMi4xIFtbQ2FsbF1dICgg
dGhpc0FyZ3VtZW50LCBhcmd1bWVudHNMaXN0KQorCisgICAgWy4uLl0KKyAgICA3LiBMZXQgcmVz
dWx0IGJlIE9yZGluYXJ5Q2FsbEV2YWx1YXRlQm9keShGLCBhcmd1bWVudHNMaXN0KS4KKyAgICBb
Li4uXQorCisgICAgOS4yLjEuMyBPcmRpbmFyeUNhbGxFdmFsdWF0ZUJvZHkgKCBGLCBhcmd1bWVu
dHNMaXN0ICkKKworICAgIDEuIExldCBzdGF0dXMgYmUgRnVuY3Rpb25EZWNsYXJhdGlvbkluc3Rh
bnRpYXRpb24oRiwgYXJndW1lbnRzTGlzdCkuCisgICAgWy4uLl0KKworICAgIDkuMi4xMiBGdW5j
dGlvbkRlY2xhcmF0aW9uSW5zdGFudGlhdGlvbihmdW5jLCBhcmd1bWVudHNMaXN0KQorCisgICAg
Wy4uLl0KKyAgICAyMy4gTGV0IGl0ZXJhdG9yUmVjb3JkIGJlIFJlY29yZCB7W1tpdGVyYXRvcl1d
OgorICAgICAgICBDcmVhdGVMaXN0SXRlcmF0b3IoYXJndW1lbnRzTGlzdCksIFtbZG9uZV1dOiBm
YWxzZX0uCisgICAgMjQuIElmIGhhc0R1cGxpY2F0ZXMgaXMgdHJ1ZSwgdGhlbgorICAgICAgICBb
Li4uXQorICAgIDI1LiBFbHNlLAorICAgICAgICBiLiBMZXQgZm9ybWFsU3RhdHVzIGJlIEl0ZXJh
dG9yQmluZGluZ0luaXRpYWxpemF0aW9uIGZvciBmb3JtYWxzIHdpdGgKKyAgICAgICAgICAgaXRl
cmF0b3JSZWNvcmQgYW5kIGVudiBhcyBhcmd1bWVudHMuCisgICAgWy4uLl0KKworICAgIFJ1bnRp
bWUgU2VtYW50aWNzOiBJdGVyYXRvckJpbmRpbmdJbml0aWFsaXphdGlvbgorCisgICAgQmluZGlu
Z1Jlc3RFbGVtZW50IDogLi4uIEJpbmRpbmdJZGVudGlmaWVyCisKKyAgICBbLi4uXQorICAgIDIu
IExldCBBIGJlICEgQXJyYXlDcmVhdGUoMCkuCisgICAgMy4gTGV0IG4gYmUgMC4KKyAgICA0LiBS
ZXBlYXQsCisgICAgICAgIFsuLi5dCisgICAgICAgIGYuIFBlcmZvcm0gISBDcmVhdGVEYXRhUHJv
cGVydHlPclRocm93KEEsICEgVG9TdHJpbmcobiksIG5leHRWYWx1ZSkuCisgICAgICAgIGcuIFNl
dCBuIHRvIG4gKyAxLgorCistLS0qLworCit2YXIgY2FsbENvdW50ID0gMDsKK2NsYXNzIEMgewor
ICBzdGF0aWMgKiAjbWV0aG9kKFsuLi54XSkgeworICAgIGFzc2VydChBcnJheS5pc0FycmF5KHgp
KTsKKyAgICBhc3NlcnQuY29tcGFyZUFycmF5KHgsIFsxXSk7CisgICAgY2FsbENvdW50ID0gY2Fs
bENvdW50ICsgMTsKKyAgfQorCisgIHN0YXRpYyBnZXQgbWV0aG9kKCkgeworICAgIHJldHVybiB0
aGlzLiNtZXRob2Q7CisgIH0KK307CisKK0MubWV0aG9kKFsxXSkubmV4dCgpOworYXNzZXJ0LnNh
bWVWYWx1ZShjYWxsQ291bnQsIDEsICdtZXRob2QgaW52b2tlZCBleGFjdGx5IG9uY2UnKTsKZGlm
ZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3Mv
ZHN0ci9wcml2YXRlLWdlbi1tZXRoLXN0YXRpYy1kZmx0LWFyeS1wdHJuLWVsZW0taWQtaXRlci12
YWwtYXJyYXktcHJvdG90eXBlLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3Rh
dGVtZW50cy9jbGFzcy9kc3RyL3ByaXZhdGUtZ2VuLW1ldGgtc3RhdGljLWRmbHQtYXJ5LXB0cm4t
ZWxlbS1pZC1pdGVyLXZhbC1hcnJheS1wcm90b3R5cGUuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2E3ZWM5YmY2
NTZlMmQwMDZjZjhjNmUwNWQxZmQwOGUzODg2NDE1NwotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZHN0ci9wcml2YXRlLWdl
bi1tZXRoLXN0YXRpYy1kZmx0LWFyeS1wdHJuLWVsZW0taWQtaXRlci12YWwtYXJyYXktcHJvdG90
eXBlLmpzCkBAIC0wLDAgKzEsMTA3IEBACisvLyBUaGlzIGZpbGUgd2FzIHByb2NlZHVyYWxseSBn
ZW5lcmF0ZWQgZnJvbSB0aGUgZm9sbG93aW5nIHNvdXJjZXM6CisvLyAtIHNyYy9kc3RyLWJpbmRp
bmcvYXJ5LXB0cm4tZWxlbS1pZC1pdGVyLXZhbC1hcnJheS1wcm90b3R5cGUuY2FzZQorLy8gLSBz
cmMvZHN0ci1iaW5kaW5nL2RlZmF1bHQvY2xzLWRlY2wtcHJpdmF0ZS1nZW4tbWV0aC1zdGF0aWMt
ZGZsdC50ZW1wbGF0ZQorLyotLS0KK2Rlc2NyaXB0aW9uOiBBcnJheSBkZXN0cnVjdHVyaW5nIHVz
ZXMgb3ZlcnJpZGVuIEFycmF5LnByb3RvdHlwZVtTeW1ib2wuaXRlcmF0b3JdIChwcml2YXRlIHN0
YXRpYyBjbGFzcyBleHByZXNzaW9uIGdlbmVyYXRvciBtZXRob2QgKGRlZmF1bHQgcGFyYW1ldGVy
KSkKK2VzaWQ6IHNlYy1ydW50aW1lLXNlbWFudGljcy1iaW5kaW5nY2xhc3NkZWNsYXJhdGlvbmV2
YWx1YXRpb24KK2ZlYXR1cmVzOiBbU3ltYm9sLml0ZXJhdG9yLCBnZW5lcmF0b3JzLCBjbGFzcywg
Y2xhc3Mtc3RhdGljLW1ldGhvZHMtcHJpdmF0ZSwgZGVzdHJ1Y3R1cmluZy1iaW5kaW5nLCBkZWZh
dWx0LXBhcmFtZXRlcnNdCitmbGFnczogW2dlbmVyYXRlZF0KK2luZm86IHwKKyAgICBDbGFzc0Rl
Y2xhcmF0aW9uIDogY2xhc3MgQmluZGluZ0lkZW50aWZpZXIgQ2xhc3NUYWlsCisKKyAgICAxLiBM
ZXQgY2xhc3NOYW1lIGJlIFN0cmluZ1ZhbHVlIG9mIEJpbmRpbmdJZGVudGlmaWVyLgorICAgIDIu
IExldCB2YWx1ZSBiZSB0aGUgcmVzdWx0IG9mIENsYXNzRGVmaW5pdGlvbkV2YWx1YXRpb24gb2Yg
Q2xhc3NUYWlsIHdpdGgKKyAgICAgICBhcmd1bWVudCBjbGFzc05hbWUuCisgICAgWy4uLl0KKwor
ICAgIDE0LjUuMTQgUnVudGltZSBTZW1hbnRpY3M6IENsYXNzRGVmaW5pdGlvbkV2YWx1YXRpb24K
KworICAgIDIxLiBGb3IgZWFjaCBDbGFzc0VsZW1lbnQgbSBpbiBvcmRlciBmcm9tIG1ldGhvZHMK
KyAgICAgICAgYS4gSWYgSXNTdGF0aWMgb2YgbSBpcyBmYWxzZSwgdGhlbgorICAgICAgICBiLiBF
bHNlLAorICAgICAgICAgICBMZXQgc3RhdHVzIGJlIHRoZSByZXN1bHQgb2YgcGVyZm9ybWluZyBQ
cm9wZXJ0eURlZmluaXRpb25FdmFsdWF0aW9uIGZvcgorICAgICAgICAgICBtIHdpdGggYXJndW1l
bnRzIEYgYW5kIGZhbHNlLgorICAgIFsuLi5dCisKKyAgICAxNC40LjEzIFJ1bnRpbWUgU2VtYW50
aWNzOiBQcm9wZXJ0eURlZmluaXRpb25FdmFsdWF0aW9uCisKKyAgICBHZW5lcmF0b3JNZXRob2Qg
OiAqIFByb3BlcnR5TmFtZSAoIFN0cmljdEZvcm1hbFBhcmFtZXRlcnMgKSB7IEdlbmVyYXRvckJv
ZHkgfQorCisgICAgMS4gTGV0IHByb3BLZXkgYmUgdGhlIHJlc3VsdCBvZiBldmFsdWF0aW5nIFBy
b3BlcnR5TmFtZS4KKyAgICAyLiBSZXR1cm5JZkFicnVwdChwcm9wS2V5KS4KKyAgICAzLiBJZiB0
aGUgZnVuY3Rpb24gY29kZSBmb3IgdGhpcyBHZW5lcmF0b3JNZXRob2QgaXMgc3RyaWN0IG1vZGUg
Y29kZSwKKyAgICAgICBsZXQgc3RyaWN0IGJlIHRydWUuIE90aGVyd2lzZSBsZXQgc3RyaWN0IGJl
IGZhbHNlLgorICAgIDQuIExldCBzY29wZSBiZSB0aGUgcnVubmluZyBleGVjdXRpb24gY29udGV4
dCdzIExleGljYWxFbnZpcm9ubWVudC4KKyAgICA1LiBMZXQgY2xvc3VyZSBiZSBHZW5lcmF0b3JG
dW5jdGlvbkNyZWF0ZShNZXRob2QsCisgICAgICAgU3RyaWN0Rm9ybWFsUGFyYW1ldGVycywgR2Vu
ZXJhdG9yQm9keSwgc2NvcGUsIHN0cmljdCkuCisKKyAgICA5LjIuMSBbW0NhbGxdXSAoIHRoaXNB
cmd1bWVudCwgYXJndW1lbnRzTGlzdCkKKworICAgIFsuLi5dCisgICAgNy4gTGV0IHJlc3VsdCBi
ZSBPcmRpbmFyeUNhbGxFdmFsdWF0ZUJvZHkoRiwgYXJndW1lbnRzTGlzdCkuCisgICAgWy4uLl0K
KworICAgIDkuMi4xLjMgT3JkaW5hcnlDYWxsRXZhbHVhdGVCb2R5ICggRiwgYXJndW1lbnRzTGlz
dCApCisKKyAgICAxLiBMZXQgc3RhdHVzIGJlIEZ1bmN0aW9uRGVjbGFyYXRpb25JbnN0YW50aWF0
aW9uKEYsIGFyZ3VtZW50c0xpc3QpLgorICAgIFsuLi5dCisKKyAgICA5LjIuMTIgRnVuY3Rpb25E
ZWNsYXJhdGlvbkluc3RhbnRpYXRpb24oZnVuYywgYXJndW1lbnRzTGlzdCkKKworICAgIFsuLi5d
CisgICAgMjMuIExldCBpdGVyYXRvclJlY29yZCBiZSBSZWNvcmQge1tbaXRlcmF0b3JdXToKKyAg
ICAgICAgQ3JlYXRlTGlzdEl0ZXJhdG9yKGFyZ3VtZW50c0xpc3QpLCBbW2RvbmVdXTogZmFsc2V9
LgorICAgIDI0LiBJZiBoYXNEdXBsaWNhdGVzIGlzIHRydWUsIHRoZW4KKyAgICAgICAgWy4uLl0K
KyAgICAyNS4gRWxzZSwKKyAgICAgICAgYi4gTGV0IGZvcm1hbFN0YXR1cyBiZSBJdGVyYXRvckJp
bmRpbmdJbml0aWFsaXphdGlvbiBmb3IgZm9ybWFscyB3aXRoCisgICAgICAgICAgIGl0ZXJhdG9y
UmVjb3JkIGFuZCBlbnYgYXMgYXJndW1lbnRzLgorICAgIFsuLi5dCisKKyAgICBSdW50aW1lIFNl
bWFudGljczogSXRlcmF0b3JCaW5kaW5nSW5pdGlhbGl6YXRpb24KKworICAgIFNpbmdsZU5hbWVC
aW5kaW5nIDogQmluZGluZ0lkZW50aWZpZXIgSW5pdGlhbGl6ZXJfb3B0CisKKyAgICAxLiBMZXQg
YmluZGluZ0lkIGJlIFN0cmluZ1ZhbHVlIG9mIEJpbmRpbmdJZGVudGlmaWVyLgorICAgIDIuIExl
dCBsaHMgYmUgPyBSZXNvbHZlQmluZGluZyhiaW5kaW5nSWQsIGVudmlyb25tZW50KS4KKyAgICAz
LiBJZiBpdGVyYXRvclJlY29yZC5bW0RvbmVdXSBpcyBmYWxzZSwgdGhlbgorICAgICAgICBhLiBM
ZXQgbmV4dCBiZSBJdGVyYXRvclN0ZXAoaXRlcmF0b3JSZWNvcmQpLgorICAgICAgICBiLiBJZiBu
ZXh0IGlzIGFuIGFicnVwdCBjb21wbGV0aW9uLCBzZXQgaXRlcmF0b3JSZWNvcmQuW1tEb25lXV0g
dG8gdHJ1ZS4KKyAgICAgICAgYy4gUmV0dXJuSWZBYnJ1cHQobmV4dCkuCisgICAgICAgIGQuIElm
IG5leHQgaXMgZmFsc2UsIHNldCBpdGVyYXRvclJlY29yZC5bW0RvbmVdXSB0byB0cnVlLgorICAg
ICAgICBlLiBFbHNlLAorICAgICAgICAgICAgaS4gTGV0IHYgYmUgSXRlcmF0b3JWYWx1ZShuZXh0
KS4KKyAgICAgICAgICAgIGlpLiBJZiB2IGlzIGFuIGFicnVwdCBjb21wbGV0aW9uLCBzZXQgaXRl
cmF0b3JSZWNvcmQuW1tEb25lXV0gdG8gdHJ1ZS4KKyAgICAgICAgICAgIGlpaS4gUmV0dXJuSWZB
YnJ1cHQodikuCisgICAgWy4uLl0KKyAgICA3LiBSZXR1cm4gSW5pdGlhbGl6ZVJlZmVyZW5jZWRC
aW5kaW5nKGxocywgdikuCisKKy0tLSovCitBcnJheS5wcm90b3R5cGVbU3ltYm9sLml0ZXJhdG9y
XSA9IGZ1bmN0aW9uKiAoKSB7CisgICAgaWYgKHRoaXMubGVuZ3RoID4gMCkgeworICAgICAgICB5
aWVsZCB0aGlzWzBdOworICAgIH0KKyAgICBpZiAodGhpcy5sZW5ndGggPiAxKSB7CisgICAgICAg
IHlpZWxkIHRoaXNbMV07CisgICAgfQorICAgIGlmICh0aGlzLmxlbmd0aCA+IDIpIHsKKyAgICAg
ICAgeWllbGQgNDI7CisgICAgfQorfTsKKwordmFyIGNhbGxDb3VudCA9IDA7CitjbGFzcyBDIHsK
KyAgc3RhdGljICogI21ldGhvZChbeCwgeSwgel0gPSBbMSwgMiwgM10pIHsKKyAgICBhc3NlcnQu
c2FtZVZhbHVlKHgsIDEpOworICAgIGFzc2VydC5zYW1lVmFsdWUoeSwgMik7CisgICAgYXNzZXJ0
LnNhbWVWYWx1ZSh6LCA0Mik7CisgICAgY2FsbENvdW50ID0gY2FsbENvdW50ICsgMTsKKyAgfQor
CisgIHN0YXRpYyBnZXQgbWV0aG9kKCkgeworICAgIHJldHVybiB0aGlzLiNtZXRob2Q7CisgIH0K
K307CisKK0MubWV0aG9kKCkubmV4dCgpOworYXNzZXJ0LnNhbWVWYWx1ZShjYWxsQ291bnQsIDEs
ICdtZXRob2QgaW52b2tlZCBleGFjdGx5IG9uY2UnKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZHN0ci9wcml2YXRlLWdlbi1tZXRo
LXN0YXRpYy1kZmx0LWFyeS1wdHJuLXJlc3QtaWQtZGlyZWN0LmpzIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9kc3RyL3ByaXZhdGUtZ2VuLW1ldGgtc3Rh
dGljLWRmbHQtYXJ5LXB0cm4tcmVzdC1pZC1kaXJlY3QuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTQ4MWMzMTA5
MjY2Zjk5ODQyYWI1ZDI5OWFiOTM0OWJiZjQyYWUwYgotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZHN0ci9wcml2YXRlLWdl
bi1tZXRoLXN0YXRpYy1kZmx0LWFyeS1wdHJuLXJlc3QtaWQtZGlyZWN0LmpzCkBAIC0wLDAgKzEs
OTAgQEAKKy8vIFRoaXMgZmlsZSB3YXMgcHJvY2VkdXJhbGx5IGdlbmVyYXRlZCBmcm9tIHRoZSBm
b2xsb3dpbmcgc291cmNlczoKKy8vIC0gc3JjL2RzdHItYmluZGluZy9hcnktcHRybi1yZXN0LWlk
LWRpcmVjdC5jYXNlCisvLyAtIHNyYy9kc3RyLWJpbmRpbmcvZGVmYXVsdC9jbHMtZGVjbC1wcml2
YXRlLWdlbi1tZXRoLXN0YXRpYy1kZmx0LnRlbXBsYXRlCisvKi0tLQorZGVzY3JpcHRpb246IExv
bmUgcmVzdCBlbGVtZW50IChkaXJlY3QgYmluZGluZykgKHByaXZhdGUgc3RhdGljIGNsYXNzIGV4
cHJlc3Npb24gZ2VuZXJhdG9yIG1ldGhvZCAoZGVmYXVsdCBwYXJhbWV0ZXIpKQorZXNpZDogc2Vj
LXJ1bnRpbWUtc2VtYW50aWNzLWJpbmRpbmdjbGFzc2RlY2xhcmF0aW9uZXZhbHVhdGlvbgorZmVh
dHVyZXM6IFtjbGFzcywgY2xhc3Mtc3RhdGljLW1ldGhvZHMtcHJpdmF0ZSwgZ2VuZXJhdG9ycywg
ZGVzdHJ1Y3R1cmluZy1iaW5kaW5nLCBkZWZhdWx0LXBhcmFtZXRlcnNdCitmbGFnczogW2dlbmVy
YXRlZF0KK2luY2x1ZGVzOiBbY29tcGFyZUFycmF5LmpzXQoraW5mbzogfAorICAgIENsYXNzRGVj
bGFyYXRpb24gOiBjbGFzcyBCaW5kaW5nSWRlbnRpZmllciBDbGFzc1RhaWwKKworICAgIDEuIExl
dCBjbGFzc05hbWUgYmUgU3RyaW5nVmFsdWUgb2YgQmluZGluZ0lkZW50aWZpZXIuCisgICAgMi4g
TGV0IHZhbHVlIGJlIHRoZSByZXN1bHQgb2YgQ2xhc3NEZWZpbml0aW9uRXZhbHVhdGlvbiBvZiBD
bGFzc1RhaWwgd2l0aAorICAgICAgIGFyZ3VtZW50IGNsYXNzTmFtZS4KKyAgICBbLi4uXQorCisg
ICAgMTQuNS4xNCBSdW50aW1lIFNlbWFudGljczogQ2xhc3NEZWZpbml0aW9uRXZhbHVhdGlvbgor
CisgICAgMjEuIEZvciBlYWNoIENsYXNzRWxlbWVudCBtIGluIG9yZGVyIGZyb20gbWV0aG9kcwor
ICAgICAgICBhLiBJZiBJc1N0YXRpYyBvZiBtIGlzIGZhbHNlLCB0aGVuCisgICAgICAgIGIuIEVs
c2UsCisgICAgICAgICAgIExldCBzdGF0dXMgYmUgdGhlIHJlc3VsdCBvZiBwZXJmb3JtaW5nIFBy
b3BlcnR5RGVmaW5pdGlvbkV2YWx1YXRpb24gZm9yCisgICAgICAgICAgIG0gd2l0aCBhcmd1bWVu
dHMgRiBhbmQgZmFsc2UuCisgICAgWy4uLl0KKworICAgIDE0LjQuMTMgUnVudGltZSBTZW1hbnRp
Y3M6IFByb3BlcnR5RGVmaW5pdGlvbkV2YWx1YXRpb24KKworICAgIEdlbmVyYXRvck1ldGhvZCA6
ICogUHJvcGVydHlOYW1lICggU3RyaWN0Rm9ybWFsUGFyYW1ldGVycyApIHsgR2VuZXJhdG9yQm9k
eSB9CisKKyAgICAxLiBMZXQgcHJvcEtleSBiZSB0aGUgcmVzdWx0IG9mIGV2YWx1YXRpbmcgUHJv
cGVydHlOYW1lLgorICAgIDIuIFJldHVybklmQWJydXB0KHByb3BLZXkpLgorICAgIDMuIElmIHRo
ZSBmdW5jdGlvbiBjb2RlIGZvciB0aGlzIEdlbmVyYXRvck1ldGhvZCBpcyBzdHJpY3QgbW9kZSBj
b2RlLAorICAgICAgIGxldCBzdHJpY3QgYmUgdHJ1ZS4gT3RoZXJ3aXNlIGxldCBzdHJpY3QgYmUg
ZmFsc2UuCisgICAgNC4gTGV0IHNjb3BlIGJlIHRoZSBydW5uaW5nIGV4ZWN1dGlvbiBjb250ZXh0
J3MgTGV4aWNhbEVudmlyb25tZW50LgorICAgIDUuIExldCBjbG9zdXJlIGJlIEdlbmVyYXRvckZ1
bmN0aW9uQ3JlYXRlKE1ldGhvZCwKKyAgICAgICBTdHJpY3RGb3JtYWxQYXJhbWV0ZXJzLCBHZW5l
cmF0b3JCb2R5LCBzY29wZSwgc3RyaWN0KS4KKworICAgIDkuMi4xIFtbQ2FsbF1dICggdGhpc0Fy
Z3VtZW50LCBhcmd1bWVudHNMaXN0KQorCisgICAgWy4uLl0KKyAgICA3LiBMZXQgcmVzdWx0IGJl
IE9yZGluYXJ5Q2FsbEV2YWx1YXRlQm9keShGLCBhcmd1bWVudHNMaXN0KS4KKyAgICBbLi4uXQor
CisgICAgOS4yLjEuMyBPcmRpbmFyeUNhbGxFdmFsdWF0ZUJvZHkgKCBGLCBhcmd1bWVudHNMaXN0
ICkKKworICAgIDEuIExldCBzdGF0dXMgYmUgRnVuY3Rpb25EZWNsYXJhdGlvbkluc3RhbnRpYXRp
b24oRiwgYXJndW1lbnRzTGlzdCkuCisgICAgWy4uLl0KKworICAgIDkuMi4xMiBGdW5jdGlvbkRl
Y2xhcmF0aW9uSW5zdGFudGlhdGlvbihmdW5jLCBhcmd1bWVudHNMaXN0KQorCisgICAgWy4uLl0K
KyAgICAyMy4gTGV0IGl0ZXJhdG9yUmVjb3JkIGJlIFJlY29yZCB7W1tpdGVyYXRvcl1dOgorICAg
ICAgICBDcmVhdGVMaXN0SXRlcmF0b3IoYXJndW1lbnRzTGlzdCksIFtbZG9uZV1dOiBmYWxzZX0u
CisgICAgMjQuIElmIGhhc0R1cGxpY2F0ZXMgaXMgdHJ1ZSwgdGhlbgorICAgICAgICBbLi4uXQor
ICAgIDI1LiBFbHNlLAorICAgICAgICBiLiBMZXQgZm9ybWFsU3RhdHVzIGJlIEl0ZXJhdG9yQmlu
ZGluZ0luaXRpYWxpemF0aW9uIGZvciBmb3JtYWxzIHdpdGgKKyAgICAgICAgICAgaXRlcmF0b3JS
ZWNvcmQgYW5kIGVudiBhcyBhcmd1bWVudHMuCisgICAgWy4uLl0KKworICAgIFJ1bnRpbWUgU2Vt
YW50aWNzOiBJdGVyYXRvckJpbmRpbmdJbml0aWFsaXphdGlvbgorCisgICAgQmluZGluZ1Jlc3RF
bGVtZW50IDogLi4uIEJpbmRpbmdJZGVudGlmaWVyCisKKyAgICBbLi4uXQorICAgIDIuIExldCBB
IGJlICEgQXJyYXlDcmVhdGUoMCkuCisgICAgMy4gTGV0IG4gYmUgMC4KKyAgICA0LiBSZXBlYXQs
CisgICAgICAgIFsuLi5dCisgICAgICAgIGYuIFBlcmZvcm0gISBDcmVhdGVEYXRhUHJvcGVydHlP
clRocm93KEEsICEgVG9TdHJpbmcobiksIG5leHRWYWx1ZSkuCisgICAgICAgIGcuIFNldCBuIHRv
IG4gKyAxLgorCistLS0qLworCit2YXIgY2FsbENvdW50ID0gMDsKK2NsYXNzIEMgeworICBzdGF0
aWMgKiAjbWV0aG9kKFsuLi54XSA9IFsxXSkgeworICAgIGFzc2VydChBcnJheS5pc0FycmF5KHgp
KTsKKyAgICBhc3NlcnQuY29tcGFyZUFycmF5KHgsIFsxXSk7CisgICAgY2FsbENvdW50ID0gY2Fs
bENvdW50ICsgMTsKKyAgfQorCisgIHN0YXRpYyBnZXQgbWV0aG9kKCkgeworICAgIHJldHVybiB0
aGlzLiNtZXRob2Q7CisgIH0KK307CisKK0MubWV0aG9kKCkubmV4dCgpOworYXNzZXJ0LnNhbWVW
YWx1ZShjYWxsQ291bnQsIDEsICdtZXRob2QgaW52b2tlZCBleGFjdGx5IG9uY2UnKTsKZGlmZiAt
LWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZHN0
ci9wcml2YXRlLW1ldGgtYXJ5LXB0cm4tZWxlbS1pZC1pdGVyLXZhbC1hcnJheS1wcm90b3R5cGUu
anMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2RzdHIv
cHJpdmF0ZS1tZXRoLWFyeS1wdHJuLWVsZW0taWQtaXRlci12YWwtYXJyYXktcHJvdG90eXBlLmpz
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjhiNTU0MmQ3OTc4ODc0YTM0NmM3ODJlMGVhYjhjNTM2N2U4ZWI5NWMKLS0t
IC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRz
L2NsYXNzL2RzdHIvcHJpdmF0ZS1tZXRoLWFyeS1wdHJuLWVsZW0taWQtaXRlci12YWwtYXJyYXkt
cHJvdG90eXBlLmpzCkBAIC0wLDAgKzEsMTA1IEBACisvLyBUaGlzIGZpbGUgd2FzIHByb2NlZHVy
YWxseSBnZW5lcmF0ZWQgZnJvbSB0aGUgZm9sbG93aW5nIHNvdXJjZXM6CisvLyAtIHNyYy9kc3Ry
LWJpbmRpbmcvYXJ5LXB0cm4tZWxlbS1pZC1pdGVyLXZhbC1hcnJheS1wcm90b3R5cGUuY2FzZQor
Ly8gLSBzcmMvZHN0ci1iaW5kaW5nL2RlZmF1bHQvY2xzLWRlY2wtcHJpdmF0ZS1tZXRoLnRlbXBs
YXRlCisvKi0tLQorZGVzY3JpcHRpb246IEFycmF5IGRlc3RydWN0dXJpbmcgdXNlcyBvdmVycmlk
ZW4gQXJyYXkucHJvdG90eXBlW1N5bWJvbC5pdGVyYXRvcl0gKHByaXZhdGUgY2xhc3MgZXhwcmVz
c2lvbiBtZXRob2QpCitlc2lkOiBzZWMtcnVudGltZS1zZW1hbnRpY3MtYmluZGluZ2NsYXNzZGVj
bGFyYXRpb25ldmFsdWF0aW9uCitmZWF0dXJlczogW1N5bWJvbC5pdGVyYXRvciwgZ2VuZXJhdG9y
cywgY2xhc3MsIGNsYXNzLW1ldGhvZHMtcHJpdmF0ZSwgZGVzdHJ1Y3R1cmluZy1iaW5kaW5nXQor
ZmxhZ3M6IFtnZW5lcmF0ZWRdCitpbmZvOiB8CisgICAgQ2xhc3NEZWNsYXJhdGlvbiA6IGNsYXNz
IEJpbmRpbmdJZGVudGlmaWVyIENsYXNzVGFpbAorCisgICAgMS4gTGV0IGNsYXNzTmFtZSBiZSBT
dHJpbmdWYWx1ZSBvZiBCaW5kaW5nSWRlbnRpZmllci4KKyAgICAyLiBMZXQgdmFsdWUgYmUgdGhl
IHJlc3VsdCBvZiBDbGFzc0RlZmluaXRpb25FdmFsdWF0aW9uIG9mIENsYXNzVGFpbCB3aXRoCisg
ICAgICAgYXJndW1lbnQgY2xhc3NOYW1lLgorICAgIFsuLi5dCisKKyAgICAxNC41LjE0IFJ1bnRp
bWUgU2VtYW50aWNzOiBDbGFzc0RlZmluaXRpb25FdmFsdWF0aW9uCisKKyAgICAyMS4gRm9yIGVh
Y2ggQ2xhc3NFbGVtZW50IG0gaW4gb3JkZXIgZnJvbSBtZXRob2RzCisgICAgICAgIGEuIElmIElz
U3RhdGljIG9mIG0gaXMgZmFsc2UsIHRoZW4KKyAgICAgICAgICAgaS4gTGV0IHN0YXR1cyBiZSB0
aGUgcmVzdWx0IG9mIHBlcmZvcm1pbmcKKyAgICAgICAgICAgICAgUHJvcGVydHlEZWZpbml0aW9u
RXZhbHVhdGlvbiBmb3IgbSB3aXRoIGFyZ3VtZW50cyBwcm90byBhbmQKKyAgICAgICAgICAgICAg
ZmFsc2UuCisgICAgICAgIFsuLi5dCisKKyAgICAxNC4zLjggUnVudGltZSBTZW1hbnRpY3M6IERl
ZmluZU1ldGhvZAorCisgICAgTWV0aG9kRGVmaW5pdGlvbiA6IFByb3BlcnR5TmFtZSAoIFN0cmlj
dEZvcm1hbFBhcmFtZXRlcnMgKSB7IEZ1bmN0aW9uQm9keSB9CisKKyAgICBbLi4uXQorICAgIDYu
IExldCBjbG9zdXJlIGJlIEZ1bmN0aW9uQ3JlYXRlKGtpbmQsIFN0cmljdEZvcm1hbFBhcmFtZXRl
cnMsIEZ1bmN0aW9uQm9keSwKKyAgICAgICBzY29wZSwgc3RyaWN0KS4gSWYgZnVuY3Rpb25Qcm90
b3R5cGUgd2FzIHBhc3NlZCBhcyBhIHBhcmFtZXRlciB0aGVuIHBhc3MgaXRzCisgICAgICAgdmFs
dWUgYXMgdGhlIGZ1bmN0aW9uUHJvdG90eXBlIG9wdGlvbmFsIGFyZ3VtZW50IG9mIEZ1bmN0aW9u
Q3JlYXRlLgorICAgIFsuLi5dCisKKyAgICA5LjIuMSBbW0NhbGxdXSAoIHRoaXNBcmd1bWVudCwg
YXJndW1lbnRzTGlzdCkKKworICAgIFsuLi5dCisgICAgNy4gTGV0IHJlc3VsdCBiZSBPcmRpbmFy
eUNhbGxFdmFsdWF0ZUJvZHkoRiwgYXJndW1lbnRzTGlzdCkuCisgICAgWy4uLl0KKworICAgIDku
Mi4xLjMgT3JkaW5hcnlDYWxsRXZhbHVhdGVCb2R5ICggRiwgYXJndW1lbnRzTGlzdCApCisKKyAg
ICAxLiBMZXQgc3RhdHVzIGJlIEZ1bmN0aW9uRGVjbGFyYXRpb25JbnN0YW50aWF0aW9uKEYsIGFy
Z3VtZW50c0xpc3QpLgorICAgIFsuLi5dCisKKyAgICA5LjIuMTIgRnVuY3Rpb25EZWNsYXJhdGlv
bkluc3RhbnRpYXRpb24oZnVuYywgYXJndW1lbnRzTGlzdCkKKworICAgIFsuLi5dCisgICAgMjMu
IExldCBpdGVyYXRvclJlY29yZCBiZSBSZWNvcmQge1tbaXRlcmF0b3JdXToKKyAgICAgICAgQ3Jl
YXRlTGlzdEl0ZXJhdG9yKGFyZ3VtZW50c0xpc3QpLCBbW2RvbmVdXTogZmFsc2V9LgorICAgIDI0
LiBJZiBoYXNEdXBsaWNhdGVzIGlzIHRydWUsIHRoZW4KKyAgICAgICAgWy4uLl0KKyAgICAyNS4g
RWxzZSwKKyAgICAgICAgYi4gTGV0IGZvcm1hbFN0YXR1cyBiZSBJdGVyYXRvckJpbmRpbmdJbml0
aWFsaXphdGlvbiBmb3IgZm9ybWFscyB3aXRoCisgICAgICAgICAgIGl0ZXJhdG9yUmVjb3JkIGFu
ZCBlbnYgYXMgYXJndW1lbnRzLgorICAgIFsuLi5dCisKKyAgICBSdW50aW1lIFNlbWFudGljczog
SXRlcmF0b3JCaW5kaW5nSW5pdGlhbGl6YXRpb24KKworICAgIFNpbmdsZU5hbWVCaW5kaW5nIDog
QmluZGluZ0lkZW50aWZpZXIgSW5pdGlhbGl6ZXJfb3B0CisKKyAgICAxLiBMZXQgYmluZGluZ0lk
IGJlIFN0cmluZ1ZhbHVlIG9mIEJpbmRpbmdJZGVudGlmaWVyLgorICAgIDIuIExldCBsaHMgYmUg
PyBSZXNvbHZlQmluZGluZyhiaW5kaW5nSWQsIGVudmlyb25tZW50KS4KKyAgICAzLiBJZiBpdGVy
YXRvclJlY29yZC5bW0RvbmVdXSBpcyBmYWxzZSwgdGhlbgorICAgICAgICBhLiBMZXQgbmV4dCBi
ZSBJdGVyYXRvclN0ZXAoaXRlcmF0b3JSZWNvcmQpLgorICAgICAgICBiLiBJZiBuZXh0IGlzIGFu
IGFicnVwdCBjb21wbGV0aW9uLCBzZXQgaXRlcmF0b3JSZWNvcmQuW1tEb25lXV0gdG8gdHJ1ZS4K
KyAgICAgICAgYy4gUmV0dXJuSWZBYnJ1cHQobmV4dCkuCisgICAgICAgIGQuIElmIG5leHQgaXMg
ZmFsc2UsIHNldCBpdGVyYXRvclJlY29yZC5bW0RvbmVdXSB0byB0cnVlLgorICAgICAgICBlLiBF
bHNlLAorICAgICAgICAgICAgaS4gTGV0IHYgYmUgSXRlcmF0b3JWYWx1ZShuZXh0KS4KKyAgICAg
ICAgICAgIGlpLiBJZiB2IGlzIGFuIGFicnVwdCBjb21wbGV0aW9uLCBzZXQgaXRlcmF0b3JSZWNv
cmQuW1tEb25lXV0gdG8gdHJ1ZS4KKyAgICAgICAgICAgIGlpaS4gUmV0dXJuSWZBYnJ1cHQodiku
CisgICAgWy4uLl0KKyAgICA3LiBSZXR1cm4gSW5pdGlhbGl6ZVJlZmVyZW5jZWRCaW5kaW5nKGxo
cywgdikuCisKKy0tLSovCitBcnJheS5wcm90b3R5cGVbU3ltYm9sLml0ZXJhdG9yXSA9IGZ1bmN0
aW9uKiAoKSB7CisgICAgaWYgKHRoaXMubGVuZ3RoID4gMCkgeworICAgICAgICB5aWVsZCB0aGlz
WzBdOworICAgIH0KKyAgICBpZiAodGhpcy5sZW5ndGggPiAxKSB7CisgICAgICAgIHlpZWxkIHRo
aXNbMV07CisgICAgfQorICAgIGlmICh0aGlzLmxlbmd0aCA+IDIpIHsKKyAgICAgICAgeWllbGQg
NDI7CisgICAgfQorfTsKKwordmFyIGNhbGxDb3VudCA9IDA7CitjbGFzcyBDIHsKKyAgI21ldGhv
ZChbeCwgeSwgel0pIHsKKyAgICBhc3NlcnQuc2FtZVZhbHVlKHgsIDEpOworICAgIGFzc2VydC5z
YW1lVmFsdWUoeSwgMik7CisgICAgYXNzZXJ0LnNhbWVWYWx1ZSh6LCA0Mik7CisgICAgY2FsbENv
dW50ID0gY2FsbENvdW50ICsgMTsKKyAgfQorCisgIGdldCBtZXRob2QoKSB7CisgICAgcmV0dXJu
IHRoaXMuI21ldGhvZDsKKyAgfQorfTsKKworbmV3IEMoKS5tZXRob2QoWzEsIDIsIDNdKTsKK2Fz
c2VydC5zYW1lVmFsdWUoY2FsbENvdW50LCAxLCAnbWV0aG9kIGludm9rZWQgZXhhY3RseSBvbmNl
Jyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRz
L2NsYXNzL2RzdHIvcHJpdmF0ZS1tZXRoLWFyeS1wdHJuLXJlc3QtaWQtZGlyZWN0LmpzIGIvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9kc3RyL3ByaXZhdGUt
bWV0aC1hcnktcHRybi1yZXN0LWlkLWRpcmVjdC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44OGJhNjBhNmQ5YTg3
ZDc1ZTgzNGU4ZjY2ODVmM2IxYzFmZGM0Y2ExCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9kc3RyL3ByaXZhdGUtbWV0aC1h
cnktcHRybi1yZXN0LWlkLWRpcmVjdC5qcwpAQCAtMCwwICsxLDg4IEBACisvLyBUaGlzIGZpbGUg
d2FzIHByb2NlZHVyYWxseSBnZW5lcmF0ZWQgZnJvbSB0aGUgZm9sbG93aW5nIHNvdXJjZXM6Cisv
LyAtIHNyYy9kc3RyLWJpbmRpbmcvYXJ5LXB0cm4tcmVzdC1pZC1kaXJlY3QuY2FzZQorLy8gLSBz
cmMvZHN0ci1iaW5kaW5nL2RlZmF1bHQvY2xzLWRlY2wtcHJpdmF0ZS1tZXRoLnRlbXBsYXRlCisv
Ki0tLQorZGVzY3JpcHRpb246IExvbmUgcmVzdCBlbGVtZW50IChkaXJlY3QgYmluZGluZykgKHBy
aXZhdGUgY2xhc3MgZXhwcmVzc2lvbiBtZXRob2QpCitlc2lkOiBzZWMtcnVudGltZS1zZW1hbnRp
Y3MtYmluZGluZ2NsYXNzZGVjbGFyYXRpb25ldmFsdWF0aW9uCitmZWF0dXJlczogW2NsYXNzLCBj
bGFzcy1tZXRob2RzLXByaXZhdGUsIGRlc3RydWN0dXJpbmctYmluZGluZ10KK2ZsYWdzOiBbZ2Vu
ZXJhdGVkXQoraW5jbHVkZXM6IFtjb21wYXJlQXJyYXkuanNdCitpbmZvOiB8CisgICAgQ2xhc3NE
ZWNsYXJhdGlvbiA6IGNsYXNzIEJpbmRpbmdJZGVudGlmaWVyIENsYXNzVGFpbAorCisgICAgMS4g
TGV0IGNsYXNzTmFtZSBiZSBTdHJpbmdWYWx1ZSBvZiBCaW5kaW5nSWRlbnRpZmllci4KKyAgICAy
LiBMZXQgdmFsdWUgYmUgdGhlIHJlc3VsdCBvZiBDbGFzc0RlZmluaXRpb25FdmFsdWF0aW9uIG9m
IENsYXNzVGFpbCB3aXRoCisgICAgICAgYXJndW1lbnQgY2xhc3NOYW1lLgorICAgIFsuLi5dCisK
KyAgICAxNC41LjE0IFJ1bnRpbWUgU2VtYW50aWNzOiBDbGFzc0RlZmluaXRpb25FdmFsdWF0aW9u
CisKKyAgICAyMS4gRm9yIGVhY2ggQ2xhc3NFbGVtZW50IG0gaW4gb3JkZXIgZnJvbSBtZXRob2Rz
CisgICAgICAgIGEuIElmIElzU3RhdGljIG9mIG0gaXMgZmFsc2UsIHRoZW4KKyAgICAgICAgICAg
aS4gTGV0IHN0YXR1cyBiZSB0aGUgcmVzdWx0IG9mIHBlcmZvcm1pbmcKKyAgICAgICAgICAgICAg
UHJvcGVydHlEZWZpbml0aW9uRXZhbHVhdGlvbiBmb3IgbSB3aXRoIGFyZ3VtZW50cyBwcm90byBh
bmQKKyAgICAgICAgICAgICAgZmFsc2UuCisgICAgICAgIFsuLi5dCisKKyAgICAxNC4zLjggUnVu
dGltZSBTZW1hbnRpY3M6IERlZmluZU1ldGhvZAorCisgICAgTWV0aG9kRGVmaW5pdGlvbiA6IFBy
b3BlcnR5TmFtZSAoIFN0cmljdEZvcm1hbFBhcmFtZXRlcnMgKSB7IEZ1bmN0aW9uQm9keSB9CisK
KyAgICBbLi4uXQorICAgIDYuIExldCBjbG9zdXJlIGJlIEZ1bmN0aW9uQ3JlYXRlKGtpbmQsIFN0
cmljdEZvcm1hbFBhcmFtZXRlcnMsIEZ1bmN0aW9uQm9keSwKKyAgICAgICBzY29wZSwgc3RyaWN0
KS4gSWYgZnVuY3Rpb25Qcm90b3R5cGUgd2FzIHBhc3NlZCBhcyBhIHBhcmFtZXRlciB0aGVuIHBh
c3MgaXRzCisgICAgICAgdmFsdWUgYXMgdGhlIGZ1bmN0aW9uUHJvdG90eXBlIG9wdGlvbmFsIGFy
Z3VtZW50IG9mIEZ1bmN0aW9uQ3JlYXRlLgorICAgIFsuLi5dCisKKyAgICA5LjIuMSBbW0NhbGxd
XSAoIHRoaXNBcmd1bWVudCwgYXJndW1lbnRzTGlzdCkKKworICAgIFsuLi5dCisgICAgNy4gTGV0
IHJlc3VsdCBiZSBPcmRpbmFyeUNhbGxFdmFsdWF0ZUJvZHkoRiwgYXJndW1lbnRzTGlzdCkuCisg
ICAgWy4uLl0KKworICAgIDkuMi4xLjMgT3JkaW5hcnlDYWxsRXZhbHVhdGVCb2R5ICggRiwgYXJn
dW1lbnRzTGlzdCApCisKKyAgICAxLiBMZXQgc3RhdHVzIGJlIEZ1bmN0aW9uRGVjbGFyYXRpb25J
bnN0YW50aWF0aW9uKEYsIGFyZ3VtZW50c0xpc3QpLgorICAgIFsuLi5dCisKKyAgICA5LjIuMTIg
RnVuY3Rpb25EZWNsYXJhdGlvbkluc3RhbnRpYXRpb24oZnVuYywgYXJndW1lbnRzTGlzdCkKKwor
ICAgIFsuLi5dCisgICAgMjMuIExldCBpdGVyYXRvclJlY29yZCBiZSBSZWNvcmQge1tbaXRlcmF0
b3JdXToKKyAgICAgICAgQ3JlYXRlTGlzdEl0ZXJhdG9yKGFyZ3VtZW50c0xpc3QpLCBbW2RvbmVd
XTogZmFsc2V9LgorICAgIDI0LiBJZiBoYXNEdXBsaWNhdGVzIGlzIHRydWUsIHRoZW4KKyAgICAg
ICAgWy4uLl0KKyAgICAyNS4gRWxzZSwKKyAgICAgICAgYi4gTGV0IGZvcm1hbFN0YXR1cyBiZSBJ
dGVyYXRvckJpbmRpbmdJbml0aWFsaXphdGlvbiBmb3IgZm9ybWFscyB3aXRoCisgICAgICAgICAg
IGl0ZXJhdG9yUmVjb3JkIGFuZCBlbnYgYXMgYXJndW1lbnRzLgorICAgIFsuLi5dCisKKyAgICBS
dW50aW1lIFNlbWFudGljczogSXRlcmF0b3JCaW5kaW5nSW5pdGlhbGl6YXRpb24KKworICAgIEJp
bmRpbmdSZXN0RWxlbWVudCA6IC4uLiBCaW5kaW5nSWRlbnRpZmllcgorCisgICAgWy4uLl0KKyAg
ICAyLiBMZXQgQSBiZSAhIEFycmF5Q3JlYXRlKDApLgorICAgIDMuIExldCBuIGJlIDAuCisgICAg
NC4gUmVwZWF0LAorICAgICAgICBbLi4uXQorICAgICAgICBmLiBQZXJmb3JtICEgQ3JlYXRlRGF0
YVByb3BlcnR5T3JUaHJvdyhBLCAhIFRvU3RyaW5nKG4pLCBuZXh0VmFsdWUpLgorICAgICAgICBn
LiBTZXQgbiB0byBuICsgMS4KKworLS0tKi8KKwordmFyIGNhbGxDb3VudCA9IDA7CitjbGFzcyBD
IHsKKyAgI21ldGhvZChbLi4ueF0pIHsKKyAgICBhc3NlcnQoQXJyYXkuaXNBcnJheSh4KSk7Cisg
ICAgYXNzZXJ0LmNvbXBhcmVBcnJheSh4LCBbMV0pOworICAgIGNhbGxDb3VudCA9IGNhbGxDb3Vu
dCArIDE7CisgIH0KKworICBnZXQgbWV0aG9kKCkgeworICAgIHJldHVybiB0aGlzLiNtZXRob2Q7
CisgIH0KK307CisKK25ldyBDKCkubWV0aG9kKFsxXSk7Cithc3NlcnQuc2FtZVZhbHVlKGNhbGxD
b3VudCwgMSwgJ21ldGhvZCBpbnZva2VkIGV4YWN0bHkgb25jZScpOwpkaWZmIC0tZ2l0IGEvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9kc3RyL3ByaXZhdGUt
bWV0aC1kZmx0LWFyeS1wdHJuLWVsZW0taWQtaXRlci12YWwtYXJyYXktcHJvdG90eXBlLmpzIGIv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9kc3RyL3ByaXZh
dGUtbWV0aC1kZmx0LWFyeS1wdHJuLWVsZW0taWQtaXRlci12YWwtYXJyYXktcHJvdG90eXBlLmpz
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjRhMGFkYTY5NTliNjlkM2ZhZGVlZmExMmY5NzBiZDIzNWNhYTZhNDgKLS0t
IC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRz
L2NsYXNzL2RzdHIvcHJpdmF0ZS1tZXRoLWRmbHQtYXJ5LXB0cm4tZWxlbS1pZC1pdGVyLXZhbC1h
cnJheS1wcm90b3R5cGUuanMKQEAgLTAsMCArMSwxMDUgQEAKKy8vIFRoaXMgZmlsZSB3YXMgcHJv
Y2VkdXJhbGx5IGdlbmVyYXRlZCBmcm9tIHRoZSBmb2xsb3dpbmcgc291cmNlczoKKy8vIC0gc3Jj
L2RzdHItYmluZGluZy9hcnktcHRybi1lbGVtLWlkLWl0ZXItdmFsLWFycmF5LXByb3RvdHlwZS5j
YXNlCisvLyAtIHNyYy9kc3RyLWJpbmRpbmcvZGVmYXVsdC9jbHMtZGVjbC1wcml2YXRlLW1ldGgt
ZGZsdC50ZW1wbGF0ZQorLyotLS0KK2Rlc2NyaXB0aW9uOiBBcnJheSBkZXN0cnVjdHVyaW5nIHVz
ZXMgb3ZlcnJpZGVuIEFycmF5LnByb3RvdHlwZVtTeW1ib2wuaXRlcmF0b3JdIChwcml2YXRlIGNs
YXNzIGV4cHJlc3Npb24gbWV0aG9kIChkZWZhdWx0IHBhcmFtZXRlcikpCitlc2lkOiBzZWMtcnVu
dGltZS1zZW1hbnRpY3MtYmluZGluZ2NsYXNzZGVjbGFyYXRpb25ldmFsdWF0aW9uCitmZWF0dXJl
czogW1N5bWJvbC5pdGVyYXRvciwgZ2VuZXJhdG9ycywgY2xhc3MsIGNsYXNzLW1ldGhvZHMtcHJp
dmF0ZSwgZGVzdHJ1Y3R1cmluZy1iaW5kaW5nLCBkZWZhdWx0LXBhcmFtZXRlcnNdCitmbGFnczog
W2dlbmVyYXRlZF0KK2luZm86IHwKKyAgICBDbGFzc0RlY2xhcmF0aW9uIDogY2xhc3MgQmluZGlu
Z0lkZW50aWZpZXIgQ2xhc3NUYWlsCisKKyAgICAxLiBMZXQgY2xhc3NOYW1lIGJlIFN0cmluZ1Zh
bHVlIG9mIEJpbmRpbmdJZGVudGlmaWVyLgorICAgIDIuIExldCB2YWx1ZSBiZSB0aGUgcmVzdWx0
IG9mIENsYXNzRGVmaW5pdGlvbkV2YWx1YXRpb24gb2YgQ2xhc3NUYWlsIHdpdGgKKyAgICAgICBh
cmd1bWVudCBjbGFzc05hbWUuCisgICAgWy4uLl0KKworICAgIDE0LjUuMTQgUnVudGltZSBTZW1h
bnRpY3M6IENsYXNzRGVmaW5pdGlvbkV2YWx1YXRpb24KKworICAgIDIxLiBGb3IgZWFjaCBDbGFz
c0VsZW1lbnQgbSBpbiBvcmRlciBmcm9tIG1ldGhvZHMKKyAgICAgICAgYS4gSWYgSXNTdGF0aWMg
b2YgbSBpcyBmYWxzZSwgdGhlbgorICAgICAgICAgICBpLiBMZXQgc3RhdHVzIGJlIHRoZSByZXN1
bHQgb2YgcGVyZm9ybWluZworICAgICAgICAgICAgICBQcm9wZXJ0eURlZmluaXRpb25FdmFsdWF0
aW9uIGZvciBtIHdpdGggYXJndW1lbnRzIHByb3RvIGFuZAorICAgICAgICAgICAgICBmYWxzZS4K
KyAgICAgICAgWy4uLl0KKworICAgIDE0LjMuOCBSdW50aW1lIFNlbWFudGljczogRGVmaW5lTWV0
aG9kCisKKyAgICBNZXRob2REZWZpbml0aW9uIDogUHJvcGVydHlOYW1lICggU3RyaWN0Rm9ybWFs
UGFyYW1ldGVycyApIHsgRnVuY3Rpb25Cb2R5IH0KKworICAgIFsuLi5dCisgICAgNi4gTGV0IGNs
b3N1cmUgYmUgRnVuY3Rpb25DcmVhdGUoa2luZCwgU3RyaWN0Rm9ybWFsUGFyYW1ldGVycywgRnVu
Y3Rpb25Cb2R5LAorICAgICAgIHNjb3BlLCBzdHJpY3QpLiBJZiBmdW5jdGlvblByb3RvdHlwZSB3
YXMgcGFzc2VkIGFzIGEgcGFyYW1ldGVyIHRoZW4gcGFzcyBpdHMKKyAgICAgICB2YWx1ZSBhcyB0
aGUgZnVuY3Rpb25Qcm90b3R5cGUgb3B0aW9uYWwgYXJndW1lbnQgb2YgRnVuY3Rpb25DcmVhdGUu
CisgICAgWy4uLl0KKworICAgIDkuMi4xIFtbQ2FsbF1dICggdGhpc0FyZ3VtZW50LCBhcmd1bWVu
dHNMaXN0KQorCisgICAgWy4uLl0KKyAgICA3LiBMZXQgcmVzdWx0IGJlIE9yZGluYXJ5Q2FsbEV2
YWx1YXRlQm9keShGLCBhcmd1bWVudHNMaXN0KS4KKyAgICBbLi4uXQorCisgICAgOS4yLjEuMyBP
cmRpbmFyeUNhbGxFdmFsdWF0ZUJvZHkgKCBGLCBhcmd1bWVudHNMaXN0ICkKKworICAgIDEuIExl
dCBzdGF0dXMgYmUgRnVuY3Rpb25EZWNsYXJhdGlvbkluc3RhbnRpYXRpb24oRiwgYXJndW1lbnRz
TGlzdCkuCisgICAgWy4uLl0KKworICAgIDkuMi4xMiBGdW5jdGlvbkRlY2xhcmF0aW9uSW5zdGFu
dGlhdGlvbihmdW5jLCBhcmd1bWVudHNMaXN0KQorCisgICAgWy4uLl0KKyAgICAyMy4gTGV0IGl0
ZXJhdG9yUmVjb3JkIGJlIFJlY29yZCB7W1tpdGVyYXRvcl1dOgorICAgICAgICBDcmVhdGVMaXN0
SXRlcmF0b3IoYXJndW1lbnRzTGlzdCksIFtbZG9uZV1dOiBmYWxzZX0uCisgICAgMjQuIElmIGhh
c0R1cGxpY2F0ZXMgaXMgdHJ1ZSwgdGhlbgorICAgICAgICBbLi4uXQorICAgIDI1LiBFbHNlLAor
ICAgICAgICBiLiBMZXQgZm9ybWFsU3RhdHVzIGJlIEl0ZXJhdG9yQmluZGluZ0luaXRpYWxpemF0
aW9uIGZvciBmb3JtYWxzIHdpdGgKKyAgICAgICAgICAgaXRlcmF0b3JSZWNvcmQgYW5kIGVudiBh
cyBhcmd1bWVudHMuCisgICAgWy4uLl0KKworICAgIFJ1bnRpbWUgU2VtYW50aWNzOiBJdGVyYXRv
ckJpbmRpbmdJbml0aWFsaXphdGlvbgorCisgICAgU2luZ2xlTmFtZUJpbmRpbmcgOiBCaW5kaW5n
SWRlbnRpZmllciBJbml0aWFsaXplcl9vcHQKKworICAgIDEuIExldCBiaW5kaW5nSWQgYmUgU3Ry
aW5nVmFsdWUgb2YgQmluZGluZ0lkZW50aWZpZXIuCisgICAgMi4gTGV0IGxocyBiZSA/IFJlc29s
dmVCaW5kaW5nKGJpbmRpbmdJZCwgZW52aXJvbm1lbnQpLgorICAgIDMuIElmIGl0ZXJhdG9yUmVj
b3JkLltbRG9uZV1dIGlzIGZhbHNlLCB0aGVuCisgICAgICAgIGEuIExldCBuZXh0IGJlIEl0ZXJh
dG9yU3RlcChpdGVyYXRvclJlY29yZCkuCisgICAgICAgIGIuIElmIG5leHQgaXMgYW4gYWJydXB0
IGNvbXBsZXRpb24sIHNldCBpdGVyYXRvclJlY29yZC5bW0RvbmVdXSB0byB0cnVlLgorICAgICAg
ICBjLiBSZXR1cm5JZkFicnVwdChuZXh0KS4KKyAgICAgICAgZC4gSWYgbmV4dCBpcyBmYWxzZSwg
c2V0IGl0ZXJhdG9yUmVjb3JkLltbRG9uZV1dIHRvIHRydWUuCisgICAgICAgIGUuIEVsc2UsCisg
ICAgICAgICAgICBpLiBMZXQgdiBiZSBJdGVyYXRvclZhbHVlKG5leHQpLgorICAgICAgICAgICAg
aWkuIElmIHYgaXMgYW4gYWJydXB0IGNvbXBsZXRpb24sIHNldCBpdGVyYXRvclJlY29yZC5bW0Rv
bmVdXSB0byB0cnVlLgorICAgICAgICAgICAgaWlpLiBSZXR1cm5JZkFicnVwdCh2KS4KKyAgICBb
Li4uXQorICAgIDcuIFJldHVybiBJbml0aWFsaXplUmVmZXJlbmNlZEJpbmRpbmcobGhzLCB2KS4K
KworLS0tKi8KK0FycmF5LnByb3RvdHlwZVtTeW1ib2wuaXRlcmF0b3JdID0gZnVuY3Rpb24qICgp
IHsKKyAgICBpZiAodGhpcy5sZW5ndGggPiAwKSB7CisgICAgICAgIHlpZWxkIHRoaXNbMF07Cisg
ICAgfQorICAgIGlmICh0aGlzLmxlbmd0aCA+IDEpIHsKKyAgICAgICAgeWllbGQgdGhpc1sxXTsK
KyAgICB9CisgICAgaWYgKHRoaXMubGVuZ3RoID4gMikgeworICAgICAgICB5aWVsZCA0MjsKKyAg
ICB9Cit9OworCit2YXIgY2FsbENvdW50ID0gMDsKK2NsYXNzIEMgeworICAjbWV0aG9kKFt4LCB5
LCB6XSA9IFsxLCAyLCAzXSkgeworICAgIGFzc2VydC5zYW1lVmFsdWUoeCwgMSk7CisgICAgYXNz
ZXJ0LnNhbWVWYWx1ZSh5LCAyKTsKKyAgICBhc3NlcnQuc2FtZVZhbHVlKHosIDQyKTsKKyAgICBj
YWxsQ291bnQgPSBjYWxsQ291bnQgKyAxOworICB9CisKKyAgZ2V0IG1ldGhvZCgpIHsKKyAgICBy
ZXR1cm4gdGhpcy4jbWV0aG9kOworICB9Cit9OworCituZXcgQygpLm1ldGhvZCgpOworYXNzZXJ0
LnNhbWVWYWx1ZShjYWxsQ291bnQsIDEsICdtZXRob2QgaW52b2tlZCBleGFjdGx5IG9uY2UnKTsK
ZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xh
c3MvZHN0ci9wcml2YXRlLW1ldGgtZGZsdC1hcnktcHRybi1yZXN0LWlkLWRpcmVjdC5qcyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZHN0ci9wcml2YXRl
LW1ldGgtZGZsdC1hcnktcHRybi1yZXN0LWlkLWRpcmVjdC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kYjU3ZDE5
Y2I0OWU0MDEyZGE3YmMxYzc2MGE0M2JjNDI1MTc4MzljCi0tLSAvZGV2L251bGwKKysrIGIvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9kc3RyL3ByaXZhdGUt
bWV0aC1kZmx0LWFyeS1wdHJuLXJlc3QtaWQtZGlyZWN0LmpzCkBAIC0wLDAgKzEsODggQEAKKy8v
IFRoaXMgZmlsZSB3YXMgcHJvY2VkdXJhbGx5IGdlbmVyYXRlZCBmcm9tIHRoZSBmb2xsb3dpbmcg
c291cmNlczoKKy8vIC0gc3JjL2RzdHItYmluZGluZy9hcnktcHRybi1yZXN0LWlkLWRpcmVjdC5j
YXNlCisvLyAtIHNyYy9kc3RyLWJpbmRpbmcvZGVmYXVsdC9jbHMtZGVjbC1wcml2YXRlLW1ldGgt
ZGZsdC50ZW1wbGF0ZQorLyotLS0KK2Rlc2NyaXB0aW9uOiBMb25lIHJlc3QgZWxlbWVudCAoZGly
ZWN0IGJpbmRpbmcpIChwcml2YXRlIGNsYXNzIGV4cHJlc3Npb24gbWV0aG9kIChkZWZhdWx0IHBh
cmFtZXRlcikpCitlc2lkOiBzZWMtcnVudGltZS1zZW1hbnRpY3MtYmluZGluZ2NsYXNzZGVjbGFy
YXRpb25ldmFsdWF0aW9uCitmZWF0dXJlczogW2NsYXNzLCBjbGFzcy1tZXRob2RzLXByaXZhdGUs
IGRlc3RydWN0dXJpbmctYmluZGluZywgZGVmYXVsdC1wYXJhbWV0ZXJzXQorZmxhZ3M6IFtnZW5l
cmF0ZWRdCitpbmNsdWRlczogW2NvbXBhcmVBcnJheS5qc10KK2luZm86IHwKKyAgICBDbGFzc0Rl
Y2xhcmF0aW9uIDogY2xhc3MgQmluZGluZ0lkZW50aWZpZXIgQ2xhc3NUYWlsCisKKyAgICAxLiBM
ZXQgY2xhc3NOYW1lIGJlIFN0cmluZ1ZhbHVlIG9mIEJpbmRpbmdJZGVudGlmaWVyLgorICAgIDIu
IExldCB2YWx1ZSBiZSB0aGUgcmVzdWx0IG9mIENsYXNzRGVmaW5pdGlvbkV2YWx1YXRpb24gb2Yg
Q2xhc3NUYWlsIHdpdGgKKyAgICAgICBhcmd1bWVudCBjbGFzc05hbWUuCisgICAgWy4uLl0KKwor
ICAgIDE0LjUuMTQgUnVudGltZSBTZW1hbnRpY3M6IENsYXNzRGVmaW5pdGlvbkV2YWx1YXRpb24K
KworICAgIDIxLiBGb3IgZWFjaCBDbGFzc0VsZW1lbnQgbSBpbiBvcmRlciBmcm9tIG1ldGhvZHMK
KyAgICAgICAgYS4gSWYgSXNTdGF0aWMgb2YgbSBpcyBmYWxzZSwgdGhlbgorICAgICAgICAgICBp
LiBMZXQgc3RhdHVzIGJlIHRoZSByZXN1bHQgb2YgcGVyZm9ybWluZworICAgICAgICAgICAgICBQ
cm9wZXJ0eURlZmluaXRpb25FdmFsdWF0aW9uIGZvciBtIHdpdGggYXJndW1lbnRzIHByb3RvIGFu
ZAorICAgICAgICAgICAgICBmYWxzZS4KKyAgICAgICAgWy4uLl0KKworICAgIDE0LjMuOCBSdW50
aW1lIFNlbWFudGljczogRGVmaW5lTWV0aG9kCisKKyAgICBNZXRob2REZWZpbml0aW9uIDogUHJv
cGVydHlOYW1lICggU3RyaWN0Rm9ybWFsUGFyYW1ldGVycyApIHsgRnVuY3Rpb25Cb2R5IH0KKwor
ICAgIFsuLi5dCisgICAgNi4gTGV0IGNsb3N1cmUgYmUgRnVuY3Rpb25DcmVhdGUoa2luZCwgU3Ry
aWN0Rm9ybWFsUGFyYW1ldGVycywgRnVuY3Rpb25Cb2R5LAorICAgICAgIHNjb3BlLCBzdHJpY3Qp
LiBJZiBmdW5jdGlvblByb3RvdHlwZSB3YXMgcGFzc2VkIGFzIGEgcGFyYW1ldGVyIHRoZW4gcGFz
cyBpdHMKKyAgICAgICB2YWx1ZSBhcyB0aGUgZnVuY3Rpb25Qcm90b3R5cGUgb3B0aW9uYWwgYXJn
dW1lbnQgb2YgRnVuY3Rpb25DcmVhdGUuCisgICAgWy4uLl0KKworICAgIDkuMi4xIFtbQ2FsbF1d
ICggdGhpc0FyZ3VtZW50LCBhcmd1bWVudHNMaXN0KQorCisgICAgWy4uLl0KKyAgICA3LiBMZXQg
cmVzdWx0IGJlIE9yZGluYXJ5Q2FsbEV2YWx1YXRlQm9keShGLCBhcmd1bWVudHNMaXN0KS4KKyAg
ICBbLi4uXQorCisgICAgOS4yLjEuMyBPcmRpbmFyeUNhbGxFdmFsdWF0ZUJvZHkgKCBGLCBhcmd1
bWVudHNMaXN0ICkKKworICAgIDEuIExldCBzdGF0dXMgYmUgRnVuY3Rpb25EZWNsYXJhdGlvbklu
c3RhbnRpYXRpb24oRiwgYXJndW1lbnRzTGlzdCkuCisgICAgWy4uLl0KKworICAgIDkuMi4xMiBG
dW5jdGlvbkRlY2xhcmF0aW9uSW5zdGFudGlhdGlvbihmdW5jLCBhcmd1bWVudHNMaXN0KQorCisg
ICAgWy4uLl0KKyAgICAyMy4gTGV0IGl0ZXJhdG9yUmVjb3JkIGJlIFJlY29yZCB7W1tpdGVyYXRv
cl1dOgorICAgICAgICBDcmVhdGVMaXN0SXRlcmF0b3IoYXJndW1lbnRzTGlzdCksIFtbZG9uZV1d
OiBmYWxzZX0uCisgICAgMjQuIElmIGhhc0R1cGxpY2F0ZXMgaXMgdHJ1ZSwgdGhlbgorICAgICAg
ICBbLi4uXQorICAgIDI1LiBFbHNlLAorICAgICAgICBiLiBMZXQgZm9ybWFsU3RhdHVzIGJlIEl0
ZXJhdG9yQmluZGluZ0luaXRpYWxpemF0aW9uIGZvciBmb3JtYWxzIHdpdGgKKyAgICAgICAgICAg
aXRlcmF0b3JSZWNvcmQgYW5kIGVudiBhcyBhcmd1bWVudHMuCisgICAgWy4uLl0KKworICAgIFJ1
bnRpbWUgU2VtYW50aWNzOiBJdGVyYXRvckJpbmRpbmdJbml0aWFsaXphdGlvbgorCisgICAgQmlu
ZGluZ1Jlc3RFbGVtZW50IDogLi4uIEJpbmRpbmdJZGVudGlmaWVyCisKKyAgICBbLi4uXQorICAg
IDIuIExldCBBIGJlICEgQXJyYXlDcmVhdGUoMCkuCisgICAgMy4gTGV0IG4gYmUgMC4KKyAgICA0
LiBSZXBlYXQsCisgICAgICAgIFsuLi5dCisgICAgICAgIGYuIFBlcmZvcm0gISBDcmVhdGVEYXRh
UHJvcGVydHlPclRocm93KEEsICEgVG9TdHJpbmcobiksIG5leHRWYWx1ZSkuCisgICAgICAgIGcu
IFNldCBuIHRvIG4gKyAxLgorCistLS0qLworCit2YXIgY2FsbENvdW50ID0gMDsKK2NsYXNzIEMg
eworICAjbWV0aG9kKFsuLi54XSA9IFsxXSkgeworICAgIGFzc2VydChBcnJheS5pc0FycmF5KHgp
KTsKKyAgICBhc3NlcnQuY29tcGFyZUFycmF5KHgsIFsxXSk7CisgICAgY2FsbENvdW50ID0gY2Fs
bENvdW50ICsgMTsKKyAgfQorCisgIGdldCBtZXRob2QoKSB7CisgICAgcmV0dXJuIHRoaXMuI21l
dGhvZDsKKyAgfQorfTsKKworbmV3IEMoKS5tZXRob2QoKTsKK2Fzc2VydC5zYW1lVmFsdWUoY2Fs
bENvdW50LCAxLCAnbWV0aG9kIGludm9rZWQgZXhhY3RseSBvbmNlJyk7CmRpZmYgLS1naXQgYS9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2RzdHIvcHJpdmF0
ZS1tZXRoLXN0YXRpYy1hcnktcHRybi1lbGVtLWlkLWl0ZXItdmFsLWFycmF5LXByb3RvdHlwZS5q
cyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZHN0ci9w
cml2YXRlLW1ldGgtc3RhdGljLWFyeS1wdHJuLWVsZW0taWQtaXRlci12YWwtYXJyYXktcHJvdG90
eXBlLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmNkYzdlZTE0MmY3NjcyNGU5MWYzMWEyZTc0YTE1NTI3MjkwYTgy
YmIKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0
ZW1lbnRzL2NsYXNzL2RzdHIvcHJpdmF0ZS1tZXRoLXN0YXRpYy1hcnktcHRybi1lbGVtLWlkLWl0
ZXItdmFsLWFycmF5LXByb3RvdHlwZS5qcwpAQCAtMCwwICsxLDEwNSBAQAorLy8gVGhpcyBmaWxl
IHdhcyBwcm9jZWR1cmFsbHkgZ2VuZXJhdGVkIGZyb20gdGhlIGZvbGxvd2luZyBzb3VyY2VzOgor
Ly8gLSBzcmMvZHN0ci1iaW5kaW5nL2FyeS1wdHJuLWVsZW0taWQtaXRlci12YWwtYXJyYXktcHJv
dG90eXBlLmNhc2UKKy8vIC0gc3JjL2RzdHItYmluZGluZy9kZWZhdWx0L2Nscy1kZWNsLXByaXZh
dGUtbWV0aC1zdGF0aWMudGVtcGxhdGUKKy8qLS0tCitkZXNjcmlwdGlvbjogQXJyYXkgZGVzdHJ1
Y3R1cmluZyB1c2VzIG92ZXJyaWRlbiBBcnJheS5wcm90b3R5cGVbU3ltYm9sLml0ZXJhdG9yXSAo
cHJpdmF0ZSBzdGF0aWMgY2xhc3MgZXhwcmVzc2lvbiBtZXRob2QpCitlc2lkOiBzZWMtcnVudGlt
ZS1zZW1hbnRpY3MtYmluZGluZ2NsYXNzZGVjbGFyYXRpb25ldmFsdWF0aW9uCitmZWF0dXJlczog
W1N5bWJvbC5pdGVyYXRvciwgZ2VuZXJhdG9ycywgY2xhc3MsIGNsYXNzLXN0YXRpYy1tZXRob2Rz
LXByaXZhdGUsIGRlc3RydWN0dXJpbmctYmluZGluZ10KK2ZsYWdzOiBbZ2VuZXJhdGVkXQoraW5m
bzogfAorICAgIENsYXNzRGVjbGFyYXRpb24gOiBjbGFzcyBCaW5kaW5nSWRlbnRpZmllciBDbGFz
c1RhaWwKKworICAgIDEuIExldCBjbGFzc05hbWUgYmUgU3RyaW5nVmFsdWUgb2YgQmluZGluZ0lk
ZW50aWZpZXIuCisgICAgMi4gTGV0IHZhbHVlIGJlIHRoZSByZXN1bHQgb2YgQ2xhc3NEZWZpbml0
aW9uRXZhbHVhdGlvbiBvZiBDbGFzc1RhaWwgd2l0aAorICAgICAgIGFyZ3VtZW50IGNsYXNzTmFt
ZS4KKyAgICBbLi4uXQorCisgICAgMTQuNS4xNCBSdW50aW1lIFNlbWFudGljczogQ2xhc3NEZWZp
bml0aW9uRXZhbHVhdGlvbgorCisgICAgMjEuIEZvciBlYWNoIENsYXNzRWxlbWVudCBtIGluIG9y
ZGVyIGZyb20gbWV0aG9kcworICAgICAgICBhLiBJZiBJc1N0YXRpYyBvZiBtIGlzIGZhbHNlLCB0
aGVuCisgICAgICAgIGIuIEVsc2UsCisgICAgICAgICAgIExldCBzdGF0dXMgYmUgdGhlIHJlc3Vs
dCBvZiBwZXJmb3JtaW5nIFByb3BlcnR5RGVmaW5pdGlvbkV2YWx1YXRpb24gZm9yCisgICAgICAg
ICAgIG0gd2l0aCBhcmd1bWVudHMgRiBhbmQgZmFsc2UuCisgICAgWy4uLl0KKworICAgIDE0LjMu
OCBSdW50aW1lIFNlbWFudGljczogRGVmaW5lTWV0aG9kCisKKyAgICBNZXRob2REZWZpbml0aW9u
IDogUHJvcGVydHlOYW1lICggU3RyaWN0Rm9ybWFsUGFyYW1ldGVycyApIHsgRnVuY3Rpb25Cb2R5
IH0KKworICAgIFsuLi5dCisgICAgNi4gTGV0IGNsb3N1cmUgYmUgRnVuY3Rpb25DcmVhdGUoa2lu
ZCwgU3RyaWN0Rm9ybWFsUGFyYW1ldGVycywgRnVuY3Rpb25Cb2R5LAorICAgICAgIHNjb3BlLCBz
dHJpY3QpLiBJZiBmdW5jdGlvblByb3RvdHlwZSB3YXMgcGFzc2VkIGFzIGEgcGFyYW1ldGVyIHRo
ZW4gcGFzcyBpdHMKKyAgICAgICB2YWx1ZSBhcyB0aGUgZnVuY3Rpb25Qcm90b3R5cGUgb3B0aW9u
YWwgYXJndW1lbnQgb2YgRnVuY3Rpb25DcmVhdGUuCisgICAgWy4uLl0KKworICAgIDkuMi4xIFtb
Q2FsbF1dICggdGhpc0FyZ3VtZW50LCBhcmd1bWVudHNMaXN0KQorCisgICAgWy4uLl0KKyAgICA3
LiBMZXQgcmVzdWx0IGJlIE9yZGluYXJ5Q2FsbEV2YWx1YXRlQm9keShGLCBhcmd1bWVudHNMaXN0
KS4KKyAgICBbLi4uXQorCisgICAgOS4yLjEuMyBPcmRpbmFyeUNhbGxFdmFsdWF0ZUJvZHkgKCBG
LCBhcmd1bWVudHNMaXN0ICkKKworICAgIDEuIExldCBzdGF0dXMgYmUgRnVuY3Rpb25EZWNsYXJh
dGlvbkluc3RhbnRpYXRpb24oRiwgYXJndW1lbnRzTGlzdCkuCisgICAgWy4uLl0KKworICAgIDku
Mi4xMiBGdW5jdGlvbkRlY2xhcmF0aW9uSW5zdGFudGlhdGlvbihmdW5jLCBhcmd1bWVudHNMaXN0
KQorCisgICAgWy4uLl0KKyAgICAyMy4gTGV0IGl0ZXJhdG9yUmVjb3JkIGJlIFJlY29yZCB7W1tp
dGVyYXRvcl1dOgorICAgICAgICBDcmVhdGVMaXN0SXRlcmF0b3IoYXJndW1lbnRzTGlzdCksIFtb
ZG9uZV1dOiBmYWxzZX0uCisgICAgMjQuIElmIGhhc0R1cGxpY2F0ZXMgaXMgdHJ1ZSwgdGhlbgor
ICAgICAgICBbLi4uXQorICAgIDI1LiBFbHNlLAorICAgICAgICBiLiBMZXQgZm9ybWFsU3RhdHVz
IGJlIEl0ZXJhdG9yQmluZGluZ0luaXRpYWxpemF0aW9uIGZvciBmb3JtYWxzIHdpdGgKKyAgICAg
ICAgICAgaXRlcmF0b3JSZWNvcmQgYW5kIGVudiBhcyBhcmd1bWVudHMuCisgICAgWy4uLl0KKwor
ICAgIFJ1bnRpbWUgU2VtYW50aWNzOiBJdGVyYXRvckJpbmRpbmdJbml0aWFsaXphdGlvbgorCisg
ICAgU2luZ2xlTmFtZUJpbmRpbmcgOiBCaW5kaW5nSWRlbnRpZmllciBJbml0aWFsaXplcl9vcHQK
KworICAgIDEuIExldCBiaW5kaW5nSWQgYmUgU3RyaW5nVmFsdWUgb2YgQmluZGluZ0lkZW50aWZp
ZXIuCisgICAgMi4gTGV0IGxocyBiZSA/IFJlc29sdmVCaW5kaW5nKGJpbmRpbmdJZCwgZW52aXJv
bm1lbnQpLgorICAgIDMuIElmIGl0ZXJhdG9yUmVjb3JkLltbRG9uZV1dIGlzIGZhbHNlLCB0aGVu
CisgICAgICAgIGEuIExldCBuZXh0IGJlIEl0ZXJhdG9yU3RlcChpdGVyYXRvclJlY29yZCkuCisg
ICAgICAgIGIuIElmIG5leHQgaXMgYW4gYWJydXB0IGNvbXBsZXRpb24sIHNldCBpdGVyYXRvclJl
Y29yZC5bW0RvbmVdXSB0byB0cnVlLgorICAgICAgICBjLiBSZXR1cm5JZkFicnVwdChuZXh0KS4K
KyAgICAgICAgZC4gSWYgbmV4dCBpcyBmYWxzZSwgc2V0IGl0ZXJhdG9yUmVjb3JkLltbRG9uZV1d
IHRvIHRydWUuCisgICAgICAgIGUuIEVsc2UsCisgICAgICAgICAgICBpLiBMZXQgdiBiZSBJdGVy
YXRvclZhbHVlKG5leHQpLgorICAgICAgICAgICAgaWkuIElmIHYgaXMgYW4gYWJydXB0IGNvbXBs
ZXRpb24sIHNldCBpdGVyYXRvclJlY29yZC5bW0RvbmVdXSB0byB0cnVlLgorICAgICAgICAgICAg
aWlpLiBSZXR1cm5JZkFicnVwdCh2KS4KKyAgICBbLi4uXQorICAgIDcuIFJldHVybiBJbml0aWFs
aXplUmVmZXJlbmNlZEJpbmRpbmcobGhzLCB2KS4KKworLS0tKi8KK0FycmF5LnByb3RvdHlwZVtT
eW1ib2wuaXRlcmF0b3JdID0gZnVuY3Rpb24qICgpIHsKKyAgICBpZiAodGhpcy5sZW5ndGggPiAw
KSB7CisgICAgICAgIHlpZWxkIHRoaXNbMF07CisgICAgfQorICAgIGlmICh0aGlzLmxlbmd0aCA+
IDEpIHsKKyAgICAgICAgeWllbGQgdGhpc1sxXTsKKyAgICB9CisgICAgaWYgKHRoaXMubGVuZ3Ro
ID4gMikgeworICAgICAgICB5aWVsZCA0MjsKKyAgICB9Cit9OworCit2YXIgY2FsbENvdW50ID0g
MDsKK2NsYXNzIEMgeworICBzdGF0aWMgI21ldGhvZChbeCwgeSwgel0pIHsKKyAgICBhc3NlcnQu
c2FtZVZhbHVlKHgsIDEpOworICAgIGFzc2VydC5zYW1lVmFsdWUoeSwgMik7CisgICAgYXNzZXJ0
LnNhbWVWYWx1ZSh6LCA0Mik7CisgICAgY2FsbENvdW50ID0gY2FsbENvdW50ICsgMTsKKyAgfQor
CisgIHN0YXRpYyBnZXQgbWV0aG9kKCkgeworICAgIHJldHVybiB0aGlzLiNtZXRob2Q7CisgIH0K
K307CisKK0MubWV0aG9kKFsxLCAyLCAzXSk7Cithc3NlcnQuc2FtZVZhbHVlKGNhbGxDb3VudCwg
MSwgJ21ldGhvZCBpbnZva2VkIGV4YWN0bHkgb25jZScpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9kc3RyL3ByaXZhdGUtbWV0aC1z
dGF0aWMtYXJ5LXB0cm4tcmVzdC1pZC1kaXJlY3QuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9s
YW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2RzdHIvcHJpdmF0ZS1tZXRoLXN0YXRpYy1hcnktcHRy
bi1yZXN0LWlkLWRpcmVjdC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42NzUzMzM5ZWQ5ZTY4MjI3ZmRjNjkwY2Nk
ZjBjNjIyYzU0ZTQzNzVmCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
bGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9kc3RyL3ByaXZhdGUtbWV0aC1zdGF0aWMtYXJ5LXB0
cm4tcmVzdC1pZC1kaXJlY3QuanMKQEAgLTAsMCArMSw4OCBAQAorLy8gVGhpcyBmaWxlIHdhcyBw
cm9jZWR1cmFsbHkgZ2VuZXJhdGVkIGZyb20gdGhlIGZvbGxvd2luZyBzb3VyY2VzOgorLy8gLSBz
cmMvZHN0ci1iaW5kaW5nL2FyeS1wdHJuLXJlc3QtaWQtZGlyZWN0LmNhc2UKKy8vIC0gc3JjL2Rz
dHItYmluZGluZy9kZWZhdWx0L2Nscy1kZWNsLXByaXZhdGUtbWV0aC1zdGF0aWMudGVtcGxhdGUK
Ky8qLS0tCitkZXNjcmlwdGlvbjogTG9uZSByZXN0IGVsZW1lbnQgKGRpcmVjdCBiaW5kaW5nKSAo
cHJpdmF0ZSBzdGF0aWMgY2xhc3MgZXhwcmVzc2lvbiBtZXRob2QpCitlc2lkOiBzZWMtcnVudGlt
ZS1zZW1hbnRpY3MtYmluZGluZ2NsYXNzZGVjbGFyYXRpb25ldmFsdWF0aW9uCitmZWF0dXJlczog
W2NsYXNzLCBjbGFzcy1zdGF0aWMtbWV0aG9kcy1wcml2YXRlLCBkZXN0cnVjdHVyaW5nLWJpbmRp
bmddCitmbGFnczogW2dlbmVyYXRlZF0KK2luY2x1ZGVzOiBbY29tcGFyZUFycmF5LmpzXQoraW5m
bzogfAorICAgIENsYXNzRGVjbGFyYXRpb24gOiBjbGFzcyBCaW5kaW5nSWRlbnRpZmllciBDbGFz
c1RhaWwKKworICAgIDEuIExldCBjbGFzc05hbWUgYmUgU3RyaW5nVmFsdWUgb2YgQmluZGluZ0lk
ZW50aWZpZXIuCisgICAgMi4gTGV0IHZhbHVlIGJlIHRoZSByZXN1bHQgb2YgQ2xhc3NEZWZpbml0
aW9uRXZhbHVhdGlvbiBvZiBDbGFzc1RhaWwgd2l0aAorICAgICAgIGFyZ3VtZW50IGNsYXNzTmFt
ZS4KKyAgICBbLi4uXQorCisgICAgMTQuNS4xNCBSdW50aW1lIFNlbWFudGljczogQ2xhc3NEZWZp
bml0aW9uRXZhbHVhdGlvbgorCisgICAgMjEuIEZvciBlYWNoIENsYXNzRWxlbWVudCBtIGluIG9y
ZGVyIGZyb20gbWV0aG9kcworICAgICAgICBhLiBJZiBJc1N0YXRpYyBvZiBtIGlzIGZhbHNlLCB0
aGVuCisgICAgICAgIGIuIEVsc2UsCisgICAgICAgICAgIExldCBzdGF0dXMgYmUgdGhlIHJlc3Vs
dCBvZiBwZXJmb3JtaW5nIFByb3BlcnR5RGVmaW5pdGlvbkV2YWx1YXRpb24gZm9yCisgICAgICAg
ICAgIG0gd2l0aCBhcmd1bWVudHMgRiBhbmQgZmFsc2UuCisgICAgWy4uLl0KKworICAgIDE0LjMu
OCBSdW50aW1lIFNlbWFudGljczogRGVmaW5lTWV0aG9kCisKKyAgICBNZXRob2REZWZpbml0aW9u
IDogUHJvcGVydHlOYW1lICggU3RyaWN0Rm9ybWFsUGFyYW1ldGVycyApIHsgRnVuY3Rpb25Cb2R5
IH0KKworICAgIFsuLi5dCisgICAgNi4gTGV0IGNsb3N1cmUgYmUgRnVuY3Rpb25DcmVhdGUoa2lu
ZCwgU3RyaWN0Rm9ybWFsUGFyYW1ldGVycywgRnVuY3Rpb25Cb2R5LAorICAgICAgIHNjb3BlLCBz
dHJpY3QpLiBJZiBmdW5jdGlvblByb3RvdHlwZSB3YXMgcGFzc2VkIGFzIGEgcGFyYW1ldGVyIHRo
ZW4gcGFzcyBpdHMKKyAgICAgICB2YWx1ZSBhcyB0aGUgZnVuY3Rpb25Qcm90b3R5cGUgb3B0aW9u
YWwgYXJndW1lbnQgb2YgRnVuY3Rpb25DcmVhdGUuCisgICAgWy4uLl0KKworICAgIDkuMi4xIFtb
Q2FsbF1dICggdGhpc0FyZ3VtZW50LCBhcmd1bWVudHNMaXN0KQorCisgICAgWy4uLl0KKyAgICA3
LiBMZXQgcmVzdWx0IGJlIE9yZGluYXJ5Q2FsbEV2YWx1YXRlQm9keShGLCBhcmd1bWVudHNMaXN0
KS4KKyAgICBbLi4uXQorCisgICAgOS4yLjEuMyBPcmRpbmFyeUNhbGxFdmFsdWF0ZUJvZHkgKCBG
LCBhcmd1bWVudHNMaXN0ICkKKworICAgIDEuIExldCBzdGF0dXMgYmUgRnVuY3Rpb25EZWNsYXJh
dGlvbkluc3RhbnRpYXRpb24oRiwgYXJndW1lbnRzTGlzdCkuCisgICAgWy4uLl0KKworICAgIDku
Mi4xMiBGdW5jdGlvbkRlY2xhcmF0aW9uSW5zdGFudGlhdGlvbihmdW5jLCBhcmd1bWVudHNMaXN0
KQorCisgICAgWy4uLl0KKyAgICAyMy4gTGV0IGl0ZXJhdG9yUmVjb3JkIGJlIFJlY29yZCB7W1tp
dGVyYXRvcl1dOgorICAgICAgICBDcmVhdGVMaXN0SXRlcmF0b3IoYXJndW1lbnRzTGlzdCksIFtb
ZG9uZV1dOiBmYWxzZX0uCisgICAgMjQuIElmIGhhc0R1cGxpY2F0ZXMgaXMgdHJ1ZSwgdGhlbgor
ICAgICAgICBbLi4uXQorICAgIDI1LiBFbHNlLAorICAgICAgICBiLiBMZXQgZm9ybWFsU3RhdHVz
IGJlIEl0ZXJhdG9yQmluZGluZ0luaXRpYWxpemF0aW9uIGZvciBmb3JtYWxzIHdpdGgKKyAgICAg
ICAgICAgaXRlcmF0b3JSZWNvcmQgYW5kIGVudiBhcyBhcmd1bWVudHMuCisgICAgWy4uLl0KKwor
ICAgIFJ1bnRpbWUgU2VtYW50aWNzOiBJdGVyYXRvckJpbmRpbmdJbml0aWFsaXphdGlvbgorCisg
ICAgQmluZGluZ1Jlc3RFbGVtZW50IDogLi4uIEJpbmRpbmdJZGVudGlmaWVyCisKKyAgICBbLi4u
XQorICAgIDIuIExldCBBIGJlICEgQXJyYXlDcmVhdGUoMCkuCisgICAgMy4gTGV0IG4gYmUgMC4K
KyAgICA0LiBSZXBlYXQsCisgICAgICAgIFsuLi5dCisgICAgICAgIGYuIFBlcmZvcm0gISBDcmVh
dGVEYXRhUHJvcGVydHlPclRocm93KEEsICEgVG9TdHJpbmcobiksIG5leHRWYWx1ZSkuCisgICAg
ICAgIGcuIFNldCBuIHRvIG4gKyAxLgorCistLS0qLworCit2YXIgY2FsbENvdW50ID0gMDsKK2Ns
YXNzIEMgeworICBzdGF0aWMgI21ldGhvZChbLi4ueF0pIHsKKyAgICBhc3NlcnQoQXJyYXkuaXNB
cnJheSh4KSk7CisgICAgYXNzZXJ0LmNvbXBhcmVBcnJheSh4LCBbMV0pOworICAgIGNhbGxDb3Vu
dCA9IGNhbGxDb3VudCArIDE7CisgIH0KKworICBzdGF0aWMgZ2V0IG1ldGhvZCgpIHsKKyAgICBy
ZXR1cm4gdGhpcy4jbWV0aG9kOworICB9Cit9OworCitDLm1ldGhvZChbMV0pOworYXNzZXJ0LnNh
bWVWYWx1ZShjYWxsQ291bnQsIDEsICdtZXRob2QgaW52b2tlZCBleGFjdGx5IG9uY2UnKTsKZGlm
ZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3Mv
ZHN0ci9wcml2YXRlLW1ldGgtc3RhdGljLWRmbHQtYXJ5LXB0cm4tZWxlbS1pZC1pdGVyLXZhbC1h
cnJheS1wcm90b3R5cGUuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1l
bnRzL2NsYXNzL2RzdHIvcHJpdmF0ZS1tZXRoLXN0YXRpYy1kZmx0LWFyeS1wdHJuLWVsZW0taWQt
aXRlci12YWwtYXJyYXktcHJvdG90eXBlLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmUyZTk5Y2ViYWJlMzgwODVj
MjRmYTc4ZDE2ZGZjMTY1MjI0NDVjYWQKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2RzdHIvcHJpdmF0ZS1tZXRoLXN0YXRp
Yy1kZmx0LWFyeS1wdHJuLWVsZW0taWQtaXRlci12YWwtYXJyYXktcHJvdG90eXBlLmpzCkBAIC0w
LDAgKzEsMTA1IEBACisvLyBUaGlzIGZpbGUgd2FzIHByb2NlZHVyYWxseSBnZW5lcmF0ZWQgZnJv
bSB0aGUgZm9sbG93aW5nIHNvdXJjZXM6CisvLyAtIHNyYy9kc3RyLWJpbmRpbmcvYXJ5LXB0cm4t
ZWxlbS1pZC1pdGVyLXZhbC1hcnJheS1wcm90b3R5cGUuY2FzZQorLy8gLSBzcmMvZHN0ci1iaW5k
aW5nL2RlZmF1bHQvY2xzLWRlY2wtcHJpdmF0ZS1tZXRoLXN0YXRpYy1kZmx0LnRlbXBsYXRlCisv
Ki0tLQorZGVzY3JpcHRpb246IEFycmF5IGRlc3RydWN0dXJpbmcgdXNlcyBvdmVycmlkZW4gQXJy
YXkucHJvdG90eXBlW1N5bWJvbC5pdGVyYXRvcl0gKHByaXZhdGUgc3RhdGljIGNsYXNzIGV4cHJl
c3Npb24gbWV0aG9kIChkZWZhdWx0IHBhcmFtZXRlcikpCitlc2lkOiBzZWMtcnVudGltZS1zZW1h
bnRpY3MtYmluZGluZ2NsYXNzZGVjbGFyYXRpb25ldmFsdWF0aW9uCitmZWF0dXJlczogW1N5bWJv
bC5pdGVyYXRvciwgZ2VuZXJhdG9ycywgY2xhc3MsIGNsYXNzLXN0YXRpYy1tZXRob2RzLXByaXZh
dGUsIGRlc3RydWN0dXJpbmctYmluZGluZywgZGVmYXVsdC1wYXJhbWV0ZXJzXQorZmxhZ3M6IFtn
ZW5lcmF0ZWRdCitpbmZvOiB8CisgICAgQ2xhc3NEZWNsYXJhdGlvbiA6IGNsYXNzIEJpbmRpbmdJ
ZGVudGlmaWVyIENsYXNzVGFpbAorCisgICAgMS4gTGV0IGNsYXNzTmFtZSBiZSBTdHJpbmdWYWx1
ZSBvZiBCaW5kaW5nSWRlbnRpZmllci4KKyAgICAyLiBMZXQgdmFsdWUgYmUgdGhlIHJlc3VsdCBv
ZiBDbGFzc0RlZmluaXRpb25FdmFsdWF0aW9uIG9mIENsYXNzVGFpbCB3aXRoCisgICAgICAgYXJn
dW1lbnQgY2xhc3NOYW1lLgorICAgIFsuLi5dCisKKyAgICAxNC41LjE0IFJ1bnRpbWUgU2VtYW50
aWNzOiBDbGFzc0RlZmluaXRpb25FdmFsdWF0aW9uCisKKyAgICAyMS4gRm9yIGVhY2ggQ2xhc3NF
bGVtZW50IG0gaW4gb3JkZXIgZnJvbSBtZXRob2RzCisgICAgICAgIGEuIElmIElzU3RhdGljIG9m
IG0gaXMgZmFsc2UsIHRoZW4KKyAgICAgICAgYi4gRWxzZSwKKyAgICAgICAgICAgTGV0IHN0YXR1
cyBiZSB0aGUgcmVzdWx0IG9mIHBlcmZvcm1pbmcgUHJvcGVydHlEZWZpbml0aW9uRXZhbHVhdGlv
biBmb3IKKyAgICAgICAgICAgbSB3aXRoIGFyZ3VtZW50cyBGIGFuZCBmYWxzZS4KKyAgICBbLi4u
XQorCisgICAgMTQuMy44IFJ1bnRpbWUgU2VtYW50aWNzOiBEZWZpbmVNZXRob2QKKworICAgIE1l
dGhvZERlZmluaXRpb24gOiBQcm9wZXJ0eU5hbWUgKCBTdHJpY3RGb3JtYWxQYXJhbWV0ZXJzICkg
eyBGdW5jdGlvbkJvZHkgfQorCisgICAgWy4uLl0KKyAgICA2LiBMZXQgY2xvc3VyZSBiZSBGdW5j
dGlvbkNyZWF0ZShraW5kLCBTdHJpY3RGb3JtYWxQYXJhbWV0ZXJzLCBGdW5jdGlvbkJvZHksCisg
ICAgICAgc2NvcGUsIHN0cmljdCkuIElmIGZ1bmN0aW9uUHJvdG90eXBlIHdhcyBwYXNzZWQgYXMg
YSBwYXJhbWV0ZXIgdGhlbiBwYXNzIGl0cworICAgICAgIHZhbHVlIGFzIHRoZSBmdW5jdGlvblBy
b3RvdHlwZSBvcHRpb25hbCBhcmd1bWVudCBvZiBGdW5jdGlvbkNyZWF0ZS4KKyAgICBbLi4uXQor
CisgICAgOS4yLjEgW1tDYWxsXV0gKCB0aGlzQXJndW1lbnQsIGFyZ3VtZW50c0xpc3QpCisKKyAg
ICBbLi4uXQorICAgIDcuIExldCByZXN1bHQgYmUgT3JkaW5hcnlDYWxsRXZhbHVhdGVCb2R5KEYs
IGFyZ3VtZW50c0xpc3QpLgorICAgIFsuLi5dCisKKyAgICA5LjIuMS4zIE9yZGluYXJ5Q2FsbEV2
YWx1YXRlQm9keSAoIEYsIGFyZ3VtZW50c0xpc3QgKQorCisgICAgMS4gTGV0IHN0YXR1cyBiZSBG
dW5jdGlvbkRlY2xhcmF0aW9uSW5zdGFudGlhdGlvbihGLCBhcmd1bWVudHNMaXN0KS4KKyAgICBb
Li4uXQorCisgICAgOS4yLjEyIEZ1bmN0aW9uRGVjbGFyYXRpb25JbnN0YW50aWF0aW9uKGZ1bmMs
IGFyZ3VtZW50c0xpc3QpCisKKyAgICBbLi4uXQorICAgIDIzLiBMZXQgaXRlcmF0b3JSZWNvcmQg
YmUgUmVjb3JkIHtbW2l0ZXJhdG9yXV06CisgICAgICAgIENyZWF0ZUxpc3RJdGVyYXRvcihhcmd1
bWVudHNMaXN0KSwgW1tkb25lXV06IGZhbHNlfS4KKyAgICAyNC4gSWYgaGFzRHVwbGljYXRlcyBp
cyB0cnVlLCB0aGVuCisgICAgICAgIFsuLi5dCisgICAgMjUuIEVsc2UsCisgICAgICAgIGIuIExl
dCBmb3JtYWxTdGF0dXMgYmUgSXRlcmF0b3JCaW5kaW5nSW5pdGlhbGl6YXRpb24gZm9yIGZvcm1h
bHMgd2l0aAorICAgICAgICAgICBpdGVyYXRvclJlY29yZCBhbmQgZW52IGFzIGFyZ3VtZW50cy4K
KyAgICBbLi4uXQorCisgICAgUnVudGltZSBTZW1hbnRpY3M6IEl0ZXJhdG9yQmluZGluZ0luaXRp
YWxpemF0aW9uCisKKyAgICBTaW5nbGVOYW1lQmluZGluZyA6IEJpbmRpbmdJZGVudGlmaWVyIElu
aXRpYWxpemVyX29wdAorCisgICAgMS4gTGV0IGJpbmRpbmdJZCBiZSBTdHJpbmdWYWx1ZSBvZiBC
aW5kaW5nSWRlbnRpZmllci4KKyAgICAyLiBMZXQgbGhzIGJlID8gUmVzb2x2ZUJpbmRpbmcoYmlu
ZGluZ0lkLCBlbnZpcm9ubWVudCkuCisgICAgMy4gSWYgaXRlcmF0b3JSZWNvcmQuW1tEb25lXV0g
aXMgZmFsc2UsIHRoZW4KKyAgICAgICAgYS4gTGV0IG5leHQgYmUgSXRlcmF0b3JTdGVwKGl0ZXJh
dG9yUmVjb3JkKS4KKyAgICAgICAgYi4gSWYgbmV4dCBpcyBhbiBhYnJ1cHQgY29tcGxldGlvbiwg
c2V0IGl0ZXJhdG9yUmVjb3JkLltbRG9uZV1dIHRvIHRydWUuCisgICAgICAgIGMuIFJldHVybklm
QWJydXB0KG5leHQpLgorICAgICAgICBkLiBJZiBuZXh0IGlzIGZhbHNlLCBzZXQgaXRlcmF0b3JS
ZWNvcmQuW1tEb25lXV0gdG8gdHJ1ZS4KKyAgICAgICAgZS4gRWxzZSwKKyAgICAgICAgICAgIGku
IExldCB2IGJlIEl0ZXJhdG9yVmFsdWUobmV4dCkuCisgICAgICAgICAgICBpaS4gSWYgdiBpcyBh
biBhYnJ1cHQgY29tcGxldGlvbiwgc2V0IGl0ZXJhdG9yUmVjb3JkLltbRG9uZV1dIHRvIHRydWUu
CisgICAgICAgICAgICBpaWkuIFJldHVybklmQWJydXB0KHYpLgorICAgIFsuLi5dCisgICAgNy4g
UmV0dXJuIEluaXRpYWxpemVSZWZlcmVuY2VkQmluZGluZyhsaHMsIHYpLgorCistLS0qLworQXJy
YXkucHJvdG90eXBlW1N5bWJvbC5pdGVyYXRvcl0gPSBmdW5jdGlvbiogKCkgeworICAgIGlmICh0
aGlzLmxlbmd0aCA+IDApIHsKKyAgICAgICAgeWllbGQgdGhpc1swXTsKKyAgICB9CisgICAgaWYg
KHRoaXMubGVuZ3RoID4gMSkgeworICAgICAgICB5aWVsZCB0aGlzWzFdOworICAgIH0KKyAgICBp
ZiAodGhpcy5sZW5ndGggPiAyKSB7CisgICAgICAgIHlpZWxkIDQyOworICAgIH0KK307CisKK3Zh
ciBjYWxsQ291bnQgPSAwOworY2xhc3MgQyB7CisgIHN0YXRpYyAjbWV0aG9kKFt4LCB5LCB6XSA9
IFsxLCAyLCAzXSkgeworICAgIGFzc2VydC5zYW1lVmFsdWUoeCwgMSk7CisgICAgYXNzZXJ0LnNh
bWVWYWx1ZSh5LCAyKTsKKyAgICBhc3NlcnQuc2FtZVZhbHVlKHosIDQyKTsKKyAgICBjYWxsQ291
bnQgPSBjYWxsQ291bnQgKyAxOworICB9CisKKyAgc3RhdGljIGdldCBtZXRob2QoKSB7CisgICAg
cmV0dXJuIHRoaXMuI21ldGhvZDsKKyAgfQorfTsKKworQy5tZXRob2QoKTsKK2Fzc2VydC5zYW1l
VmFsdWUoY2FsbENvdW50LCAxLCAnbWV0aG9kIGludm9rZWQgZXhhY3RseSBvbmNlJyk7CmRpZmYg
LS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Rz
dHIvcHJpdmF0ZS1tZXRoLXN0YXRpYy1kZmx0LWFyeS1wdHJuLXJlc3QtaWQtZGlyZWN0LmpzIGIv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9kc3RyL3ByaXZh
dGUtbWV0aC1zdGF0aWMtZGZsdC1hcnktcHRybi1yZXN0LWlkLWRpcmVjdC5qcwpuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5iOGFjNjgzNGQzMTkzNjZiM2FlNTQ2ZGIxY2E0ZTQ0MmE4NTk4YWNjCi0tLSAvZGV2L251bGwK
KysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9kc3Ry
L3ByaXZhdGUtbWV0aC1zdGF0aWMtZGZsdC1hcnktcHRybi1yZXN0LWlkLWRpcmVjdC5qcwpAQCAt
MCwwICsxLDg4IEBACisvLyBUaGlzIGZpbGUgd2FzIHByb2NlZHVyYWxseSBnZW5lcmF0ZWQgZnJv
bSB0aGUgZm9sbG93aW5nIHNvdXJjZXM6CisvLyAtIHNyYy9kc3RyLWJpbmRpbmcvYXJ5LXB0cm4t
cmVzdC1pZC1kaXJlY3QuY2FzZQorLy8gLSBzcmMvZHN0ci1iaW5kaW5nL2RlZmF1bHQvY2xzLWRl
Y2wtcHJpdmF0ZS1tZXRoLXN0YXRpYy1kZmx0LnRlbXBsYXRlCisvKi0tLQorZGVzY3JpcHRpb246
IExvbmUgcmVzdCBlbGVtZW50IChkaXJlY3QgYmluZGluZykgKHByaXZhdGUgc3RhdGljIGNsYXNz
IGV4cHJlc3Npb24gbWV0aG9kIChkZWZhdWx0IHBhcmFtZXRlcikpCitlc2lkOiBzZWMtcnVudGlt
ZS1zZW1hbnRpY3MtYmluZGluZ2NsYXNzZGVjbGFyYXRpb25ldmFsdWF0aW9uCitmZWF0dXJlczog
W2NsYXNzLCBjbGFzcy1zdGF0aWMtbWV0aG9kcy1wcml2YXRlLCBkZXN0cnVjdHVyaW5nLWJpbmRp
bmcsIGRlZmF1bHQtcGFyYW1ldGVyc10KK2ZsYWdzOiBbZ2VuZXJhdGVkXQoraW5jbHVkZXM6IFtj
b21wYXJlQXJyYXkuanNdCitpbmZvOiB8CisgICAgQ2xhc3NEZWNsYXJhdGlvbiA6IGNsYXNzIEJp
bmRpbmdJZGVudGlmaWVyIENsYXNzVGFpbAorCisgICAgMS4gTGV0IGNsYXNzTmFtZSBiZSBTdHJp
bmdWYWx1ZSBvZiBCaW5kaW5nSWRlbnRpZmllci4KKyAgICAyLiBMZXQgdmFsdWUgYmUgdGhlIHJl
c3VsdCBvZiBDbGFzc0RlZmluaXRpb25FdmFsdWF0aW9uIG9mIENsYXNzVGFpbCB3aXRoCisgICAg
ICAgYXJndW1lbnQgY2xhc3NOYW1lLgorICAgIFsuLi5dCisKKyAgICAxNC41LjE0IFJ1bnRpbWUg
U2VtYW50aWNzOiBDbGFzc0RlZmluaXRpb25FdmFsdWF0aW9uCisKKyAgICAyMS4gRm9yIGVhY2gg
Q2xhc3NFbGVtZW50IG0gaW4gb3JkZXIgZnJvbSBtZXRob2RzCisgICAgICAgIGEuIElmIElzU3Rh
dGljIG9mIG0gaXMgZmFsc2UsIHRoZW4KKyAgICAgICAgYi4gRWxzZSwKKyAgICAgICAgICAgTGV0
IHN0YXR1cyBiZSB0aGUgcmVzdWx0IG9mIHBlcmZvcm1pbmcgUHJvcGVydHlEZWZpbml0aW9uRXZh
bHVhdGlvbiBmb3IKKyAgICAgICAgICAgbSB3aXRoIGFyZ3VtZW50cyBGIGFuZCBmYWxzZS4KKyAg
ICBbLi4uXQorCisgICAgMTQuMy44IFJ1bnRpbWUgU2VtYW50aWNzOiBEZWZpbmVNZXRob2QKKwor
ICAgIE1ldGhvZERlZmluaXRpb24gOiBQcm9wZXJ0eU5hbWUgKCBTdHJpY3RGb3JtYWxQYXJhbWV0
ZXJzICkgeyBGdW5jdGlvbkJvZHkgfQorCisgICAgWy4uLl0KKyAgICA2LiBMZXQgY2xvc3VyZSBi
ZSBGdW5jdGlvbkNyZWF0ZShraW5kLCBTdHJpY3RGb3JtYWxQYXJhbWV0ZXJzLCBGdW5jdGlvbkJv
ZHksCisgICAgICAgc2NvcGUsIHN0cmljdCkuIElmIGZ1bmN0aW9uUHJvdG90eXBlIHdhcyBwYXNz
ZWQgYXMgYSBwYXJhbWV0ZXIgdGhlbiBwYXNzIGl0cworICAgICAgIHZhbHVlIGFzIHRoZSBmdW5j
dGlvblByb3RvdHlwZSBvcHRpb25hbCBhcmd1bWVudCBvZiBGdW5jdGlvbkNyZWF0ZS4KKyAgICBb
Li4uXQorCisgICAgOS4yLjEgW1tDYWxsXV0gKCB0aGlzQXJndW1lbnQsIGFyZ3VtZW50c0xpc3Qp
CisKKyAgICBbLi4uXQorICAgIDcuIExldCByZXN1bHQgYmUgT3JkaW5hcnlDYWxsRXZhbHVhdGVC
b2R5KEYsIGFyZ3VtZW50c0xpc3QpLgorICAgIFsuLi5dCisKKyAgICA5LjIuMS4zIE9yZGluYXJ5
Q2FsbEV2YWx1YXRlQm9keSAoIEYsIGFyZ3VtZW50c0xpc3QgKQorCisgICAgMS4gTGV0IHN0YXR1
cyBiZSBGdW5jdGlvbkRlY2xhcmF0aW9uSW5zdGFudGlhdGlvbihGLCBhcmd1bWVudHNMaXN0KS4K
KyAgICBbLi4uXQorCisgICAgOS4yLjEyIEZ1bmN0aW9uRGVjbGFyYXRpb25JbnN0YW50aWF0aW9u
KGZ1bmMsIGFyZ3VtZW50c0xpc3QpCisKKyAgICBbLi4uXQorICAgIDIzLiBMZXQgaXRlcmF0b3JS
ZWNvcmQgYmUgUmVjb3JkIHtbW2l0ZXJhdG9yXV06CisgICAgICAgIENyZWF0ZUxpc3RJdGVyYXRv
cihhcmd1bWVudHNMaXN0KSwgW1tkb25lXV06IGZhbHNlfS4KKyAgICAyNC4gSWYgaGFzRHVwbGlj
YXRlcyBpcyB0cnVlLCB0aGVuCisgICAgICAgIFsuLi5dCisgICAgMjUuIEVsc2UsCisgICAgICAg
IGIuIExldCBmb3JtYWxTdGF0dXMgYmUgSXRlcmF0b3JCaW5kaW5nSW5pdGlhbGl6YXRpb24gZm9y
IGZvcm1hbHMgd2l0aAorICAgICAgICAgICBpdGVyYXRvclJlY29yZCBhbmQgZW52IGFzIGFyZ3Vt
ZW50cy4KKyAgICBbLi4uXQorCisgICAgUnVudGltZSBTZW1hbnRpY3M6IEl0ZXJhdG9yQmluZGlu
Z0luaXRpYWxpemF0aW9uCisKKyAgICBCaW5kaW5nUmVzdEVsZW1lbnQgOiAuLi4gQmluZGluZ0lk
ZW50aWZpZXIKKworICAgIFsuLi5dCisgICAgMi4gTGV0IEEgYmUgISBBcnJheUNyZWF0ZSgwKS4K
KyAgICAzLiBMZXQgbiBiZSAwLgorICAgIDQuIFJlcGVhdCwKKyAgICAgICAgWy4uLl0KKyAgICAg
ICAgZi4gUGVyZm9ybSAhIENyZWF0ZURhdGFQcm9wZXJ0eU9yVGhyb3coQSwgISBUb1N0cmluZyhu
KSwgbmV4dFZhbHVlKS4KKyAgICAgICAgZy4gU2V0IG4gdG8gbiArIDEuCisKKy0tLSovCisKK3Zh
ciBjYWxsQ291bnQgPSAwOworY2xhc3MgQyB7CisgIHN0YXRpYyAjbWV0aG9kKFsuLi54XSA9IFsx
XSkgeworICAgIGFzc2VydChBcnJheS5pc0FycmF5KHgpKTsKKyAgICBhc3NlcnQuY29tcGFyZUFy
cmF5KHgsIFsxXSk7CisgICAgY2FsbENvdW50ID0gY2FsbENvdW50ICsgMTsKKyAgfQorCisgIHN0
YXRpYyBnZXQgbWV0aG9kKCkgeworICAgIHJldHVybiB0aGlzLiNtZXRob2Q7CisgIH0KK307CisK
K0MubWV0aG9kKCk7Cithc3NlcnQuc2FtZVZhbHVlKGNhbGxDb3VudCwgMSwgJ21ldGhvZCBpbnZv
a2VkIGV4YWN0bHkgb25jZScpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFu
Z3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9lbGVtZW50cy9zeW50YXgvdmFsaWQvZ3JhbW1hci1zcGVj
aWFsLXByb3RvdHlwZS1hY2Nlc3Nvci1tZXRoLXZhbGlkLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9lbGVtZW50cy9zeW50YXgvdmFsaWQvZ3JhbW1h
ci1zcGVjaWFsLXByb3RvdHlwZS1hY2Nlc3Nvci1tZXRoLXZhbGlkLmpzCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE5
MTM0OTBiZjU5OTBkMTY4MzE3NzYwZTEwY2EwNDY2NWFlN2FhYTYKLS0tIC9kZXYvbnVsbAorKysg
Yi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2VsZW1lbnRz
L3N5bnRheC92YWxpZC9ncmFtbWFyLXNwZWNpYWwtcHJvdG90eXBlLWFjY2Vzc29yLW1ldGgtdmFs
aWQuanMKQEAgLTAsMCArMSw1NiBAQAorLy8gVGhpcyBmaWxlIHdhcyBwcm9jZWR1cmFsbHkgZ2Vu
ZXJhdGVkIGZyb20gdGhlIGZvbGxvd2luZyBzb3VyY2VzOgorLy8gLSBzcmMvY2xhc3MtZWxlbWVu
dHMvZ3JhbW1hci1zcGVjaWFsLXByb3RvdHlwZS1hY2Nlc3Nvci1tZXRoLXZhbGlkLmNhc2UKKy8v
IC0gc3JjL2NsYXNzLWVsZW1lbnRzL3N5bnRheC92YWxpZC9jbHMtZGVjbC1lbGVtZW50cy12YWxp
ZC1zeW50YXgudGVtcGxhdGUKKy8qLS0tCitkZXNjcmlwdGlvbjogQWNjZXNzb3IgTWV0aG9kcyBj
YW4gYmUgbmFtZWQgInByb3RvdHlwZSIgKGNsYXNzIGRlY2xhcmF0aW9uKQorZXNpZDogcHJvZC1D
bGFzc0VsZW1lbnQKK2ZlYXR1cmVzOiBbY2xhc3NdCitmbGFnczogW2dlbmVyYXRlZF0KK2luY2x1
ZGVzOiBbcHJvcGVydHlIZWxwZXIuanNdCitpbmZvOiB8CisgICAgUnVudGltZSBTZW1hbnRpY3M6
IENsYXNzRGVmaW5pdGlvbkV2YWx1YXRpb24KKworICAgIENsYXNzVGFpbCA6IENsYXNzSGVyaXRh
Z2Vfb3B0IHsgQ2xhc3NCb2R5X29wdCB9CisKKyAgICBbLi4uXQorICAgIDYuIExldCBwcm90byBi
ZSBPcmRpbmFyeU9iamVjdENyZWF0ZShwcm90b1BhcmVudCkuCisgICAgWy4uLl0KKyAgICAxNC4g
UGVyZm9ybSBNYWtlQ29uc3RydWN0b3IoRiwgZmFsc2UsIHByb3RvKS4KKyAgICBbLi4uXQorICAg
IDIwLiBGb3IgZWFjaCBDbGFzc0VsZW1lbnQgbSBpbiBvcmRlciBmcm9tIG1ldGhvZHMsIGRvCisg
ICAgICAgIGEuIElmIElzU3RhdGljIG9mIG0gaXMgZmFsc2UsIHRoZW4KKyAgICAgICAgICAgIGku
IExldCBzdGF0dXMgYmUgUHJvcGVydHlEZWZpbml0aW9uRXZhbHVhdGlvbiBvZiBtIHdpdGggYXJn
dW1lbnRzIHByb3RvIGFuZCBmYWxzZS4KKyAgICBbLi4uXQorCisgICAgUnVudGltZSBTZW1hbnRp
Y3M6IFByb3BlcnR5RGVmaW5pdGlvbkV2YWx1YXRpb24KKworICAgIFdpdGggcGFyYW1ldGVycyBv
YmplY3QgYW5kIGVudW1lcmFibGUuCisKKyAgICBNZXRob2REZWZpbml0aW9uIDogZ2V0IFByb3Bl
cnR5TmFtZSAoICkgeyBGdW5jdGlvbkJvZHkgfQorCisgICAgWy4uLl0KKyAgICA5LiBMZXQgZGVz
YyBiZSB0aGUgUHJvcGVydHlEZXNjcmlwdG9yIHsgW1tHZXRdXTogY2xvc3VyZSwgW1tFbnVtZXJh
YmxlXV06IGVudW1lcmFibGUsIFtbQ29uZmlndXJhYmxlXV06IHRydWUgfS4KKyAgICAxMC4gUmV0
dXJuID8gRGVmaW5lUHJvcGVydHlPclRocm93KG9iamVjdCwgcHJvcEtleSwgZGVzYykuCisKKyAg
ICBNZXRob2REZWZpbml0aW9uIDogc2V0IFByb3BlcnR5TmFtZSAoIFByb3BlcnR5U2V0UGFyYW1l
dGVyTGlzdCApIHsgRnVuY3Rpb25Cb2R5IH0KKworICAgIFsuLi5dCisgICAgOC4gTGV0IGRlc2Mg
YmUgdGhlIFByb3BlcnR5RGVzY3JpcHRvciB7IFtbU2V0XV06IGNsb3N1cmUsIFtbRW51bWVyYWJs
ZV1dOiBlbnVtZXJhYmxlLCBbW0NvbmZpZ3VyYWJsZV1dOiB0cnVlIH0uCisgICAgOS4gUmV0dXJu
ID8gRGVmaW5lUHJvcGVydHlPclRocm93KG9iamVjdCwgcHJvcEtleSwgZGVzYykuCisKKy0tLSov
CisKKworY2xhc3MgQyB7CisgIGdldCBwcm90b3R5cGUoKSB7IHJldHVybiAxMzsgfQorICBzZXQg
cHJvdG90eXBlKF8pIHt9Cit9CisKK2Fzc2VydChDLmhhc093blByb3BlcnR5KCdwcm90b3R5cGUn
KSk7Cithc3NlcnQoQy5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoJ3Byb3RvdHlwZScpKTsKK2Fz
c2VydC5ub3RTYW1lVmFsdWUoQy5wcm90b3R5cGUucHJvdG90eXBlLCBDLnByb3RvdHlwZSk7Cith
c3NlcnQuc2FtZVZhbHVlKEMucHJvdG90eXBlLnByb3RvdHlwZSwgMTMpOwordmVyaWZ5UHJvcGVy
dHkoQy5wcm90b3R5cGUsICdwcm90b3R5cGUnLCB7CisgICAgZW51bWVyYWJsZTogZmFsc2UsCisg
ICAgY29uZmlndXJhYmxlOiB0cnVlLAorfSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2VsZW1lbnRzL3N5bnRheC92YWxpZC9ncmFt
bWFyLXNwZWNpYWwtcHJvdG90eXBlLWFzeW5jLWdlbi1tZXRoLXZhbGlkLmpzIGIvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9lbGVtZW50cy9zeW50YXgvdmFs
aWQvZ3JhbW1hci1zcGVjaWFsLXByb3RvdHlwZS1hc3luYy1nZW4tbWV0aC12YWxpZC5qcwpuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4zMWNkNjczZTBlYjg4MTViYTNmNGIxMzNjOGFlODE2YWIyNDY5NjY3Ci0tLSAvZGV2
L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFz
cy9lbGVtZW50cy9zeW50YXgvdmFsaWQvZ3JhbW1hci1zcGVjaWFsLXByb3RvdHlwZS1hc3luYy1n
ZW4tbWV0aC12YWxpZC5qcwpAQCAtMCwwICsxLDQ5IEBACisvLyBUaGlzIGZpbGUgd2FzIHByb2Nl
ZHVyYWxseSBnZW5lcmF0ZWQgZnJvbSB0aGUgZm9sbG93aW5nIHNvdXJjZXM6CisvLyAtIHNyYy9j
bGFzcy1lbGVtZW50cy9ncmFtbWFyLXNwZWNpYWwtcHJvdG90eXBlLWFzeW5jLWdlbi1tZXRoLXZh
bGlkLmNhc2UKKy8vIC0gc3JjL2NsYXNzLWVsZW1lbnRzL3N5bnRheC92YWxpZC9jbHMtZGVjbC1l
bGVtZW50cy12YWxpZC1zeW50YXgudGVtcGxhdGUKKy8qLS0tCitkZXNjcmlwdGlvbjogQXN5bmMg
R2VuZXJhdG9yIE1ldGhvZHMgY2FuIGJlIG5hbWVkICJwcm90b3R5cGUiIChjbGFzcyBkZWNsYXJh
dGlvbikKK2VzaWQ6IHByb2QtQ2xhc3NFbGVtZW50CitmZWF0dXJlczogW2FzeW5jLWl0ZXJhdGlv
biwgY2xhc3NdCitmbGFnczogW2dlbmVyYXRlZF0KK2luY2x1ZGVzOiBbcHJvcGVydHlIZWxwZXIu
anNdCitpbmZvOiB8CisgICAgUnVudGltZSBTZW1hbnRpY3M6IENsYXNzRGVmaW5pdGlvbkV2YWx1
YXRpb24KKworICAgIENsYXNzVGFpbCA6IENsYXNzSGVyaXRhZ2Vfb3B0IHsgQ2xhc3NCb2R5X29w
dCB9CisKKyAgICBbLi4uXQorICAgIDYuIExldCBwcm90byBiZSBPcmRpbmFyeU9iamVjdENyZWF0
ZShwcm90b1BhcmVudCkuCisgICAgWy4uLl0KKyAgICAxNC4gUGVyZm9ybSBNYWtlQ29uc3RydWN0
b3IoRiwgZmFsc2UsIHByb3RvKS4KKyAgICBbLi4uXQorICAgIDIwLiBGb3IgZWFjaCBDbGFzc0Vs
ZW1lbnQgbSBpbiBvcmRlciBmcm9tIG1ldGhvZHMsIGRvCisgICAgICAgIGEuIElmIElzU3RhdGlj
IG9mIG0gaXMgZmFsc2UsIHRoZW4KKyAgICAgICAgICAgIGkuIExldCBzdGF0dXMgYmUgUHJvcGVy
dHlEZWZpbml0aW9uRXZhbHVhdGlvbiBvZiBtIHdpdGggYXJndW1lbnRzIHByb3RvIGFuZCBmYWxz
ZS4KKyAgICBbLi4uXQorCisgICAgUnVudGltZSBTZW1hbnRpY3M6IFByb3BlcnR5RGVmaW5pdGlv
bkV2YWx1YXRpb24KKworICAgIFdpdGggcGFyYW1ldGVycyBvYmplY3QgYW5kIGVudW1lcmFibGUu
CisKKyAgICBBc3luY0dlbmVyYXRvck1ldGhvZCA6IGFzeW5jICogUHJvcGVydHlOYW1lICggVW5p
cXVlRm9ybWFsUGFyYW1ldGVycyApIHsgQXN5bmNHZW5lcmF0b3JCb2R5IH0KKworICAgIFsuLi5d
CisgICAgMTAuIExldCBkZXNjIGJlIFByb3BlcnR5RGVzY3JpcHRvciB7IFtbVmFsdWVdXTogY2xv
c3VyZSwgW1tXcml0YWJsZV1dOiB0cnVlLCBbW0VudW1lcmFibGVdXTogZW51bWVyYWJsZSwgW1tD
b25maWd1cmFibGVdXTogdHJ1ZSB9LgorICAgIDExLiBSZXR1cm4gPyBEZWZpbmVQcm9wZXJ0eU9y
VGhyb3cob2JqZWN0LCBwcm9wS2V5LCBkZXNjKS4KKworLS0tKi8KKworCitjbGFzcyBDIHsKKyAg
YXN5bmMgKiBwcm90b3R5cGUoKSB7fQorfQorCithc3NlcnQoQy5oYXNPd25Qcm9wZXJ0eSgncHJv
dG90eXBlJykpOworYXNzZXJ0KEMucHJvdG90eXBlLmhhc093blByb3BlcnR5KCdwcm90b3R5cGUn
KSk7Cithc3NlcnQubm90U2FtZVZhbHVlKEMucHJvdG90eXBlLnByb3RvdHlwZSwgQy5wcm90b3R5
cGUpOwordmVyaWZ5UHJvcGVydHkoQy5wcm90b3R5cGUsICdwcm90b3R5cGUnLCB7CisgICAgd3Jp
dGFibGU6IHRydWUsCisgICAgZW51bWVyYWJsZTogZmFsc2UsCisgICAgY29uZmlndXJhYmxlOiB0
cnVlLAorfSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0
ZW1lbnRzL2NsYXNzL2VsZW1lbnRzL3N5bnRheC92YWxpZC9ncmFtbWFyLXNwZWNpYWwtcHJvdG90
eXBlLWFzeW5jLW1ldGgtdmFsaWQuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9z
dGF0ZW1lbnRzL2NsYXNzL2VsZW1lbnRzL3N5bnRheC92YWxpZC9ncmFtbWFyLXNwZWNpYWwtcHJv
dG90eXBlLWFzeW5jLW1ldGgtdmFsaWQuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjZjNzk3MzNkNTZlYjEzMjQx
ZTJjOWJhMmM1YjcyYTViZjllYjJhYwotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZWxlbWVudHMvc3ludGF4L3ZhbGlkL2dy
YW1tYXItc3BlY2lhbC1wcm90b3R5cGUtYXN5bmMtbWV0aC12YWxpZC5qcwpAQCAtMCwwICsxLDQ5
IEBACisvLyBUaGlzIGZpbGUgd2FzIHByb2NlZHVyYWxseSBnZW5lcmF0ZWQgZnJvbSB0aGUgZm9s
bG93aW5nIHNvdXJjZXM6CisvLyAtIHNyYy9jbGFzcy1lbGVtZW50cy9ncmFtbWFyLXNwZWNpYWwt
cHJvdG90eXBlLWFzeW5jLW1ldGgtdmFsaWQuY2FzZQorLy8gLSBzcmMvY2xhc3MtZWxlbWVudHMv
c3ludGF4L3ZhbGlkL2Nscy1kZWNsLWVsZW1lbnRzLXZhbGlkLXN5bnRheC50ZW1wbGF0ZQorLyot
LS0KK2Rlc2NyaXB0aW9uOiBBc3luYyBNZXRob2RzIGNhbiBiZSBuYW1lZCAicHJvdG90eXBlIiAo
Y2xhc3MgZGVjbGFyYXRpb24pCitlc2lkOiBwcm9kLUNsYXNzRWxlbWVudAorZmVhdHVyZXM6IFth
c3luYy1mdW5jdGlvbnMsIGNsYXNzXQorZmxhZ3M6IFtnZW5lcmF0ZWRdCitpbmNsdWRlczogW3By
b3BlcnR5SGVscGVyLmpzXQoraW5mbzogfAorICAgIFJ1bnRpbWUgU2VtYW50aWNzOiBDbGFzc0Rl
ZmluaXRpb25FdmFsdWF0aW9uCisKKyAgICBDbGFzc1RhaWwgOiBDbGFzc0hlcml0YWdlX29wdCB7
IENsYXNzQm9keV9vcHQgfQorCisgICAgWy4uLl0KKyAgICA2LiBMZXQgcHJvdG8gYmUgT3JkaW5h
cnlPYmplY3RDcmVhdGUocHJvdG9QYXJlbnQpLgorICAgIFsuLi5dCisgICAgMTQuIFBlcmZvcm0g
TWFrZUNvbnN0cnVjdG9yKEYsIGZhbHNlLCBwcm90bykuCisgICAgWy4uLl0KKyAgICAyMC4gRm9y
IGVhY2ggQ2xhc3NFbGVtZW50IG0gaW4gb3JkZXIgZnJvbSBtZXRob2RzLCBkbworICAgICAgICBh
LiBJZiBJc1N0YXRpYyBvZiBtIGlzIGZhbHNlLCB0aGVuCisgICAgICAgICAgICBpLiBMZXQgc3Rh
dHVzIGJlIFByb3BlcnR5RGVmaW5pdGlvbkV2YWx1YXRpb24gb2YgbSB3aXRoIGFyZ3VtZW50cyBw
cm90byBhbmQgZmFsc2UuCisgICAgWy4uLl0KKworICAgIFJ1bnRpbWUgU2VtYW50aWNzOiBQcm9w
ZXJ0eURlZmluaXRpb25FdmFsdWF0aW9uCisKKyAgICBXaXRoIHBhcmFtZXRlcnMgb2JqZWN0IGFu
ZCBlbnVtZXJhYmxlLgorCisgICAgQXN5bmNNZXRob2QgOiBhc3luYyBQcm9wZXJ0eU5hbWUgKCBV
bmlxdWVGb3JtYWxQYXJhbWV0ZXJzICkgeyBBc3luY0Z1bmN0aW9uQm9keSB9CisKKyAgICBbLi4u
XQorICAgIDguIExldCBkZXNjIGJlIHRoZSBQcm9wZXJ0eURlc2NyaXB0b3IgeyBbW1ZhbHVlXV06
IGNsb3N1cmUsIFtbV3JpdGFibGVdXTogdHJ1ZSwgW1tFbnVtZXJhYmxlXV06IGVudW1lcmFibGUs
IFtbQ29uZmlndXJhYmxlXV06IHRydWUgfS4KKyAgICA5LiBSZXR1cm4gPyBEZWZpbmVQcm9wZXJ0
eU9yVGhyb3cob2JqZWN0LCBwcm9wS2V5LCBkZXNjKS4KKworLS0tKi8KKworCitjbGFzcyBDIHsK
KyAgYXN5bmMgcHJvdG90eXBlKCkge30KK30KKworYXNzZXJ0KEMuaGFzT3duUHJvcGVydHkoJ3By
b3RvdHlwZScpKTsKK2Fzc2VydChDLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgncHJvdG90eXBl
JykpOworYXNzZXJ0Lm5vdFNhbWVWYWx1ZShDLnByb3RvdHlwZS5wcm90b3R5cGUsIEMucHJvdG90
eXBlKTsKK3ZlcmlmeVByb3BlcnR5KEMucHJvdG90eXBlLCAncHJvdG90eXBlJywgeworICAgIHdy
aXRhYmxlOiB0cnVlLAorICAgIGVudW1lcmFibGU6IGZhbHNlLAorICAgIGNvbmZpZ3VyYWJsZTog
dHJ1ZSwKK30pOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3Rh
dGVtZW50cy9jbGFzcy9lbGVtZW50cy9zeW50YXgvdmFsaWQvZ3JhbW1hci1zcGVjaWFsLXByb3Rv
dHlwZS1nZW4tbWV0aC12YWxpZC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0
YXRlbWVudHMvY2xhc3MvZWxlbWVudHMvc3ludGF4L3ZhbGlkL2dyYW1tYXItc3BlY2lhbC1wcm90
b3R5cGUtZ2VuLW1ldGgtdmFsaWQuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZThhYzM5YzI5OTVkZTQwZjUzMThm
YjM4Mzc1NGQyNTk5OGIyZjVjYwotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZWxlbWVudHMvc3ludGF4L3ZhbGlkL2dyYW1t
YXItc3BlY2lhbC1wcm90b3R5cGUtZ2VuLW1ldGgtdmFsaWQuanMKQEAgLTAsMCArMSw0OSBAQAor
Ly8gVGhpcyBmaWxlIHdhcyBwcm9jZWR1cmFsbHkgZ2VuZXJhdGVkIGZyb20gdGhlIGZvbGxvd2lu
ZyBzb3VyY2VzOgorLy8gLSBzcmMvY2xhc3MtZWxlbWVudHMvZ3JhbW1hci1zcGVjaWFsLXByb3Rv
dHlwZS1nZW4tbWV0aC12YWxpZC5jYXNlCisvLyAtIHNyYy9jbGFzcy1lbGVtZW50cy9zeW50YXgv
dmFsaWQvY2xzLWRlY2wtZWxlbWVudHMtdmFsaWQtc3ludGF4LnRlbXBsYXRlCisvKi0tLQorZGVz
Y3JpcHRpb246IEdlbmVyYXRvciBNZXRob2RzIGNhbiBiZSBuYW1lZCAicHJvdG90eXBlIiAoY2xh
c3MgZGVjbGFyYXRpb24pCitlc2lkOiBwcm9kLUNsYXNzRWxlbWVudAorZmVhdHVyZXM6IFtnZW5l
cmF0b3JzLCBjbGFzc10KK2ZsYWdzOiBbZ2VuZXJhdGVkXQoraW5jbHVkZXM6IFtwcm9wZXJ0eUhl
bHBlci5qc10KK2luZm86IHwKKyAgICBSdW50aW1lIFNlbWFudGljczogQ2xhc3NEZWZpbml0aW9u
RXZhbHVhdGlvbgorCisgICAgQ2xhc3NUYWlsIDogQ2xhc3NIZXJpdGFnZV9vcHQgeyBDbGFzc0Jv
ZHlfb3B0IH0KKworICAgIFsuLi5dCisgICAgNi4gTGV0IHByb3RvIGJlIE9yZGluYXJ5T2JqZWN0
Q3JlYXRlKHByb3RvUGFyZW50KS4KKyAgICBbLi4uXQorICAgIDE0LiBQZXJmb3JtIE1ha2VDb25z
dHJ1Y3RvcihGLCBmYWxzZSwgcHJvdG8pLgorICAgIFsuLi5dCisgICAgMjAuIEZvciBlYWNoIENs
YXNzRWxlbWVudCBtIGluIG9yZGVyIGZyb20gbWV0aG9kcywgZG8KKyAgICAgICAgYS4gSWYgSXNT
dGF0aWMgb2YgbSBpcyBmYWxzZSwgdGhlbgorICAgICAgICAgICAgaS4gTGV0IHN0YXR1cyBiZSBQ
cm9wZXJ0eURlZmluaXRpb25FdmFsdWF0aW9uIG9mIG0gd2l0aCBhcmd1bWVudHMgcHJvdG8gYW5k
IGZhbHNlLgorICAgIFsuLi5dCisKKyAgICBSdW50aW1lIFNlbWFudGljczogUHJvcGVydHlEZWZp
bml0aW9uRXZhbHVhdGlvbgorCisgICAgV2l0aCBwYXJhbWV0ZXJzIG9iamVjdCBhbmQgZW51bWVy
YWJsZS4KKworICAgIEdlbmVyYXRvck1ldGhvZCA6ICogUHJvcGVydHlOYW1lICggVW5pcXVlRm9y
bWFsUGFyYW1ldGVycyApIHsgR2VuZXJhdG9yQm9keSB9CisKKyAgICBbLi4uXQorICAgIDEwLiBM
ZXQgZGVzYyBiZSB0aGUgUHJvcGVydHlEZXNjcmlwdG9yIHsgW1tWYWx1ZV1dOiBjbG9zdXJlLCBb
W1dyaXRhYmxlXV06IHRydWUsIFtbRW51bWVyYWJsZV1dOiBlbnVtZXJhYmxlLCBbW0NvbmZpZ3Vy
YWJsZV1dOiB0cnVlIH0uCisgICAgMTEuIFJldHVybiA/IERlZmluZVByb3BlcnR5T3JUaHJvdyhv
YmplY3QsIHByb3BLZXksIGRlc2MpLgorCistLS0qLworCisKK2NsYXNzIEMgeworICAqIHByb3Rv
dHlwZSgpIHt9Cit9CisKK2Fzc2VydChDLmhhc093blByb3BlcnR5KCdwcm90b3R5cGUnKSk7Cith
c3NlcnQoQy5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoJ3Byb3RvdHlwZScpKTsKK2Fzc2VydC5u
b3RTYW1lVmFsdWUoQy5wcm90b3R5cGUucHJvdG90eXBlLCBDLnByb3RvdHlwZSk7Cit2ZXJpZnlQ
cm9wZXJ0eShDLnByb3RvdHlwZSwgJ3Byb3RvdHlwZScsIHsKKyAgICB3cml0YWJsZTogdHJ1ZSwK
KyAgICBlbnVtZXJhYmxlOiBmYWxzZSwKKyAgICBjb25maWd1cmFibGU6IHRydWUsCit9KTsKZGlm
ZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3Mv
ZWxlbWVudHMvc3ludGF4L3ZhbGlkL2dyYW1tYXItc3BlY2lhbC1wcm90b3R5cGUtbWV0aC12YWxp
ZC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZWxl
bWVudHMvc3ludGF4L3ZhbGlkL2dyYW1tYXItc3BlY2lhbC1wcm90b3R5cGUtbWV0aC12YWxpZC5q
cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4zZDMwNTAxNTE2OGJhN2Y1ODI0OTU2YzBiMjA3MjNhZmI5NGJhMTdlCi0t
LSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50
cy9jbGFzcy9lbGVtZW50cy9zeW50YXgvdmFsaWQvZ3JhbW1hci1zcGVjaWFsLXByb3RvdHlwZS1t
ZXRoLXZhbGlkLmpzCkBAIC0wLDAgKzEsNDkgQEAKKy8vIFRoaXMgZmlsZSB3YXMgcHJvY2VkdXJh
bGx5IGdlbmVyYXRlZCBmcm9tIHRoZSBmb2xsb3dpbmcgc291cmNlczoKKy8vIC0gc3JjL2NsYXNz
LWVsZW1lbnRzL2dyYW1tYXItc3BlY2lhbC1wcm90b3R5cGUtbWV0aC12YWxpZC5jYXNlCisvLyAt
IHNyYy9jbGFzcy1lbGVtZW50cy9zeW50YXgvdmFsaWQvY2xzLWRlY2wtZWxlbWVudHMtdmFsaWQt
c3ludGF4LnRlbXBsYXRlCisvKi0tLQorZGVzY3JpcHRpb246IE1ldGhvZHMgY2FuIGJlIG5hbWVk
ICJwcm90b3R5cGUiIChjbGFzcyBkZWNsYXJhdGlvbikKK2VzaWQ6IHByb2QtQ2xhc3NFbGVtZW50
CitmZWF0dXJlczogW2NsYXNzXQorZmxhZ3M6IFtnZW5lcmF0ZWRdCitpbmNsdWRlczogW3Byb3Bl
cnR5SGVscGVyLmpzXQoraW5mbzogfAorICAgIFJ1bnRpbWUgU2VtYW50aWNzOiBDbGFzc0RlZmlu
aXRpb25FdmFsdWF0aW9uCisKKyAgICBDbGFzc1RhaWwgOiBDbGFzc0hlcml0YWdlX29wdCB7IENs
YXNzQm9keV9vcHQgfSAKKworICAgIFsuLi5dCisgICAgNi4gTGV0IHByb3RvIGJlIE9yZGluYXJ5
T2JqZWN0Q3JlYXRlKHByb3RvUGFyZW50KS4KKyAgICBbLi4uXQorICAgIDE0LiBQZXJmb3JtIE1h
a2VDb25zdHJ1Y3RvcihGLCBmYWxzZSwgcHJvdG8pLgorICAgIFsuLi5dCisgICAgMjAuIEZvciBl
YWNoIENsYXNzRWxlbWVudCBtIGluIG9yZGVyIGZyb20gbWV0aG9kcywgZG8KKyAgICAgICAgYS4g
SWYgSXNTdGF0aWMgb2YgbSBpcyBmYWxzZSwgdGhlbgorICAgICAgICAgICAgaS4gTGV0IHN0YXR1
cyBiZSBQcm9wZXJ0eURlZmluaXRpb25FdmFsdWF0aW9uIG9mIG0gd2l0aCBhcmd1bWVudHMgcHJv
dG8gYW5kIGZhbHNlLgorICAgIFsuLi5dCisKKyAgICBSdW50aW1lIFNlbWFudGljczogUHJvcGVy
dHlEZWZpbml0aW9uRXZhbHVhdGlvbgorCisgICAgV2l0aCBwYXJhbWV0ZXJzIG9iamVjdCBhbmQg
ZW51bWVyYWJsZS4KKworICAgIE1ldGhvZERlZmluaXRpb24gOiBQcm9wZXJ0eU5hbWUgKCBVbmlx
dWVGb3JtYWxQYXJhbWV0ZXJzICkgeyBGdW5jdGlvbkJvZHkgfQorCisgICAgWy4uLl0KKyAgICAz
LiBMZXQgZGVzYyBiZSB0aGUgUHJvcGVydHlEZXNjcmlwdG9yIHsgW1tWYWx1ZV1dOiBtZXRob2RE
ZWYuW1tDbG9zdXJlXV0sIFtbV3JpdGFibGVdXTogdHJ1ZSwgW1tFbnVtZXJhYmxlXV06IGVudW1l
cmFibGUsIFtbQ29uZmlndXJhYmxlXV06IHRydWUgfS4KKyAgICA0LiBSZXR1cm4gPyBEZWZpbmVQ
cm9wZXJ0eU9yVGhyb3cob2JqZWN0LCBtZXRob2REZWYuW1tLZXldXSwgZGVzYykuCisKKy0tLSov
CisKKworY2xhc3MgQyB7CisgIHByb3RvdHlwZSgpIHt9Cit9CisKK2Fzc2VydChDLmhhc093blBy
b3BlcnR5KCdwcm90b3R5cGUnKSk7Cithc3NlcnQoQy5wcm90b3R5cGUuaGFzT3duUHJvcGVydHko
J3Byb3RvdHlwZScpKTsKK2Fzc2VydC5ub3RTYW1lVmFsdWUoQy5wcm90b3R5cGUucHJvdG90eXBl
LCBDLnByb3RvdHlwZSk7Cit2ZXJpZnlQcm9wZXJ0eShDLnByb3RvdHlwZSwgJ3Byb3RvdHlwZScs
IHsKKyAgICB3cml0YWJsZTogdHJ1ZSwKKyAgICBlbnVtZXJhYmxlOiBmYWxzZSwKKyAgICBjb25m
aWd1cmFibGU6IHRydWUsCit9KTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xh
bmd1YWdlL3N0YXRlbWVudHMvY29uc3QvZHN0ci9hcnktaW5pdC1pdGVyLWdldC1lcnItYXJyYXkt
cHJvdG90eXBlLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9j
b25zdC9kc3RyL2FyeS1pbml0LWl0ZXItZ2V0LWVyci1hcnJheS1wcm90b3R5cGUuanMKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNzE3ZDZiODQzMGJmYjFkNWZhNjM5NDgyODA5OGZmMWJkYjZkOTFmYwotLS0gL2Rldi9u
dWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY29uc3Qv
ZHN0ci9hcnktaW5pdC1pdGVyLWdldC1lcnItYXJyYXktcHJvdG90eXBlLmpzCkBAIC0wLDAgKzEs
NDAgQEAKKy8vIFRoaXMgZmlsZSB3YXMgcHJvY2VkdXJhbGx5IGdlbmVyYXRlZCBmcm9tIHRoZSBm
b2xsb3dpbmcgc291cmNlczoKKy8vIC0gc3JjL2RzdHItYmluZGluZy9hcnktaW5pdC1pdGVyLWdl
dC1lcnItYXJyYXktcHJvdG90eXBlLmNhc2UKKy8vIC0gc3JjL2RzdHItYmluZGluZy9lcnJvci9j
b25zdC1zdG10LnRlbXBsYXRlCisvKi0tLQorZGVzY3JpcHRpb246IEFicnVwdCBjb21wbGV0aW9u
IHJldHVybmVkIGJ5IEdldEl0ZXJhdG9yIChgY29uc3RgIHN0YXRlbWVudCkKK2VzaWQ6IHNlYy1s
ZXQtYW5kLWNvbnN0LWRlY2xhcmF0aW9ucy1ydW50aW1lLXNlbWFudGljcy1ldmFsdWF0aW9uCitm
ZWF0dXJlczogW1N5bWJvbC5pdGVyYXRvciwgZGVzdHJ1Y3R1cmluZy1iaW5kaW5nXQorZmxhZ3M6
IFtnZW5lcmF0ZWRdCitpbmZvOiB8CisgICAgTGV4aWNhbEJpbmRpbmcgOiBCaW5kaW5nUGF0dGVy
biBJbml0aWFsaXplcgorCisgICAgMS4gTGV0IHJocyBiZSB0aGUgcmVzdWx0IG9mIGV2YWx1YXRp
bmcgSW5pdGlhbGl6ZXIuCisgICAgMi4gTGV0IHZhbHVlIGJlIEdldFZhbHVlKHJocykuCisgICAg
My4gUmV0dXJuSWZBYnJ1cHQodmFsdWUpLgorICAgIDQuIExldCBlbnYgYmUgdGhlIHJ1bm5pbmcg
ZXhlY3V0aW9uIGNvbnRleHQncyBMZXhpY2FsRW52aXJvbm1lbnQuCisgICAgNS4gUmV0dXJuIHRo
ZSByZXN1bHQgb2YgcGVyZm9ybWluZyBCaW5kaW5nSW5pdGlhbGl6YXRpb24gZm9yIEJpbmRpbmdQ
YXR0ZXJuCisgICAgICAgdXNpbmcgdmFsdWUgYW5kIGVudiBhcyB0aGUgYXJndW1lbnRzLgorCisg
ICAgUnVudGltZSBTZW1hbnRpY3M6IEJpbmRpbmdJbml0aWFsaXphdGlvbgorCisgICAgQmluZGlu
Z1BhdHRlcm4gOiBBcnJheUJpbmRpbmdQYXR0ZXJuCisKKyAgICAxLiBMZXQgaXRlcmF0b3JSZWNv
cmQgYmUgPyBHZXRJdGVyYXRvcih2YWx1ZSkuCisKKyAgICBHZXRJdGVyYXRvciAoIG9iaiBbICwg
aGludCBbICwgbWV0aG9kIF0gXSApCisKKyAgICBbLi4uXQorICAgIDQuIExldCBpdGVyYXRvciBi
ZSA/IENhbGwobWV0aG9kLCBvYmopLgorCisgICAgQ2FsbCAoIEYsIFYgWyAsIGFyZ3VtZW50c0xp
c3QgXSApCisKKyAgICBbLi4uXQorICAgIDIuIElmIElzQ2FsbGFibGUoRikgaXMgZmFsc2UsIHRo
cm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KKworLS0tKi8KK2RlbGV0ZSBBcnJheS5wcm90b3R5
cGVbU3ltYm9sLml0ZXJhdG9yXTsKKworYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsIGZ1bmN0aW9u
KCkgeworICBjb25zdCBbeCwgeSwgel0gPSBbMSwgMiwgM107Cit9KTsKZGlmZiAtLWdpdCBhL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY29uc3QvZHN0ci9hcnktcHRy
bi1lbGVtLWlkLWl0ZXItdmFsLWFycmF5LXByb3RvdHlwZS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY29uc3QvZHN0ci9hcnktcHRybi1lbGVtLWlkLWl0ZXIt
dmFsLWFycmF5LXByb3RvdHlwZS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43NGQxNmNmYjMzNzk3YmQ3Yzc4ZGYw
Nzc3YTE5Yzk1NTI4NzRlOGU4Ci0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jb25zdC9kc3RyL2FyeS1wdHJuLWVsZW0taWQtaXRlci12
YWwtYXJyYXktcHJvdG90eXBlLmpzCkBAIC0wLDAgKzEsNTQgQEAKKy8vIFRoaXMgZmlsZSB3YXMg
cHJvY2VkdXJhbGx5IGdlbmVyYXRlZCBmcm9tIHRoZSBmb2xsb3dpbmcgc291cmNlczoKKy8vIC0g
c3JjL2RzdHItYmluZGluZy9hcnktcHRybi1lbGVtLWlkLWl0ZXItdmFsLWFycmF5LXByb3RvdHlw
ZS5jYXNlCisvLyAtIHNyYy9kc3RyLWJpbmRpbmcvZGVmYXVsdC9jb25zdC1zdG10LnRlbXBsYXRl
CisvKi0tLQorZGVzY3JpcHRpb246IEFycmF5IGRlc3RydWN0dXJpbmcgdXNlcyBvdmVycmlkZW4g
QXJyYXkucHJvdG90eXBlW1N5bWJvbC5pdGVyYXRvcl0gKGBjb25zdGAgc3RhdGVtZW50KQorZXNp
ZDogc2VjLWxldC1hbmQtY29uc3QtZGVjbGFyYXRpb25zLXJ1bnRpbWUtc2VtYW50aWNzLWV2YWx1
YXRpb24KK2ZlYXR1cmVzOiBbU3ltYm9sLml0ZXJhdG9yLCBnZW5lcmF0b3JzLCBkZXN0cnVjdHVy
aW5nLWJpbmRpbmddCitmbGFnczogW2dlbmVyYXRlZF0KK2luZm86IHwKKyAgICBMZXhpY2FsQmlu
ZGluZyA6IEJpbmRpbmdQYXR0ZXJuIEluaXRpYWxpemVyCisKKyAgICAxLiBMZXQgcmhzIGJlIHRo
ZSByZXN1bHQgb2YgZXZhbHVhdGluZyBJbml0aWFsaXplci4KKyAgICAyLiBMZXQgdmFsdWUgYmUg
R2V0VmFsdWUocmhzKS4KKyAgICAzLiBSZXR1cm5JZkFicnVwdCh2YWx1ZSkuCisgICAgNC4gTGV0
IGVudiBiZSB0aGUgcnVubmluZyBleGVjdXRpb24gY29udGV4dCdzIExleGljYWxFbnZpcm9ubWVu
dC4KKyAgICA1LiBSZXR1cm4gdGhlIHJlc3VsdCBvZiBwZXJmb3JtaW5nIEJpbmRpbmdJbml0aWFs
aXphdGlvbiBmb3IgQmluZGluZ1BhdHRlcm4KKyAgICAgICB1c2luZyB2YWx1ZSBhbmQgZW52IGFz
IHRoZSBhcmd1bWVudHMuCisKKyAgICBSdW50aW1lIFNlbWFudGljczogSXRlcmF0b3JCaW5kaW5n
SW5pdGlhbGl6YXRpb24KKworICAgIFNpbmdsZU5hbWVCaW5kaW5nIDogQmluZGluZ0lkZW50aWZp
ZXIgSW5pdGlhbGl6ZXJfb3B0CisKKyAgICAxLiBMZXQgYmluZGluZ0lkIGJlIFN0cmluZ1ZhbHVl
IG9mIEJpbmRpbmdJZGVudGlmaWVyLgorICAgIDIuIExldCBsaHMgYmUgPyBSZXNvbHZlQmluZGlu
ZyhiaW5kaW5nSWQsIGVudmlyb25tZW50KS4KKyAgICAzLiBJZiBpdGVyYXRvclJlY29yZC5bW0Rv
bmVdXSBpcyBmYWxzZSwgdGhlbgorICAgICAgICBhLiBMZXQgbmV4dCBiZSBJdGVyYXRvclN0ZXAo
aXRlcmF0b3JSZWNvcmQpLgorICAgICAgICBiLiBJZiBuZXh0IGlzIGFuIGFicnVwdCBjb21wbGV0
aW9uLCBzZXQgaXRlcmF0b3JSZWNvcmQuW1tEb25lXV0gdG8gdHJ1ZS4KKyAgICAgICAgYy4gUmV0
dXJuSWZBYnJ1cHQobmV4dCkuCisgICAgICAgIGQuIElmIG5leHQgaXMgZmFsc2UsIHNldCBpdGVy
YXRvclJlY29yZC5bW0RvbmVdXSB0byB0cnVlLgorICAgICAgICBlLiBFbHNlLAorICAgICAgICAg
ICAgaS4gTGV0IHYgYmUgSXRlcmF0b3JWYWx1ZShuZXh0KS4KKyAgICAgICAgICAgIGlpLiBJZiB2
IGlzIGFuIGFicnVwdCBjb21wbGV0aW9uLCBzZXQgaXRlcmF0b3JSZWNvcmQuW1tEb25lXV0gdG8g
dHJ1ZS4KKyAgICAgICAgICAgIGlpaS4gUmV0dXJuSWZBYnJ1cHQodikuCisgICAgWy4uLl0KKyAg
ICA3LiBSZXR1cm4gSW5pdGlhbGl6ZVJlZmVyZW5jZWRCaW5kaW5nKGxocywgdikuCisKKy0tLSov
CitBcnJheS5wcm90b3R5cGVbU3ltYm9sLml0ZXJhdG9yXSA9IGZ1bmN0aW9uKiAoKSB7CisgICAg
aWYgKHRoaXMubGVuZ3RoID4gMCkgeworICAgICAgICB5aWVsZCB0aGlzWzBdOworICAgIH0KKyAg
ICBpZiAodGhpcy5sZW5ndGggPiAxKSB7CisgICAgICAgIHlpZWxkIHRoaXNbMV07CisgICAgfQor
ICAgIGlmICh0aGlzLmxlbmd0aCA+IDIpIHsKKyAgICAgICAgeWllbGQgNDI7CisgICAgfQorfTsK
KworY29uc3QgW3gsIHksIHpdID0gWzEsIDIsIDNdOworCithc3NlcnQuc2FtZVZhbHVlKHgsIDEp
OworYXNzZXJ0LnNhbWVWYWx1ZSh5LCAyKTsKK2Fzc2VydC5zYW1lVmFsdWUoeiwgNDIpOwpkaWZm
IC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jb25zdC9k
c3RyL2FyeS1wdHJuLXJlc3QtaWQtZGlyZWN0LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFu
Z3VhZ2Uvc3RhdGVtZW50cy9jb25zdC9kc3RyL2FyeS1wdHJuLXJlc3QtaWQtZGlyZWN0LmpzCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjg3YWNhMGFiNmI3NDZmMWM4M2RiYTMxNzk0YzgwYjNhNjg4YWRlM2YKLS0tIC9k
ZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2Nv
bnN0L2RzdHIvYXJ5LXB0cm4tcmVzdC1pZC1kaXJlY3QuanMKQEAgLTAsMCArMSwzNyBAQAorLy8g
VGhpcyBmaWxlIHdhcyBwcm9jZWR1cmFsbHkgZ2VuZXJhdGVkIGZyb20gdGhlIGZvbGxvd2luZyBz
b3VyY2VzOgorLy8gLSBzcmMvZHN0ci1iaW5kaW5nL2FyeS1wdHJuLXJlc3QtaWQtZGlyZWN0LmNh
c2UKKy8vIC0gc3JjL2RzdHItYmluZGluZy9kZWZhdWx0L2NvbnN0LXN0bXQudGVtcGxhdGUKKy8q
LS0tCitkZXNjcmlwdGlvbjogTG9uZSByZXN0IGVsZW1lbnQgKGRpcmVjdCBiaW5kaW5nKSAoYGNv
bnN0YCBzdGF0ZW1lbnQpCitlc2lkOiBzZWMtbGV0LWFuZC1jb25zdC1kZWNsYXJhdGlvbnMtcnVu
dGltZS1zZW1hbnRpY3MtZXZhbHVhdGlvbgorZmVhdHVyZXM6IFtkZXN0cnVjdHVyaW5nLWJpbmRp
bmddCitmbGFnczogW2dlbmVyYXRlZF0KK2luY2x1ZGVzOiBbY29tcGFyZUFycmF5LmpzXQoraW5m
bzogfAorICAgIExleGljYWxCaW5kaW5nIDogQmluZGluZ1BhdHRlcm4gSW5pdGlhbGl6ZXIKKwor
ICAgIDEuIExldCByaHMgYmUgdGhlIHJlc3VsdCBvZiBldmFsdWF0aW5nIEluaXRpYWxpemVyLgor
ICAgIDIuIExldCB2YWx1ZSBiZSBHZXRWYWx1ZShyaHMpLgorICAgIDMuIFJldHVybklmQWJydXB0
KHZhbHVlKS4KKyAgICA0LiBMZXQgZW52IGJlIHRoZSBydW5uaW5nIGV4ZWN1dGlvbiBjb250ZXh0
J3MgTGV4aWNhbEVudmlyb25tZW50LgorICAgIDUuIFJldHVybiB0aGUgcmVzdWx0IG9mIHBlcmZv
cm1pbmcgQmluZGluZ0luaXRpYWxpemF0aW9uIGZvciBCaW5kaW5nUGF0dGVybgorICAgICAgIHVz
aW5nIHZhbHVlIGFuZCBlbnYgYXMgdGhlIGFyZ3VtZW50cy4KKworICAgIFJ1bnRpbWUgU2VtYW50
aWNzOiBJdGVyYXRvckJpbmRpbmdJbml0aWFsaXphdGlvbgorCisgICAgQmluZGluZ1Jlc3RFbGVt
ZW50IDogLi4uIEJpbmRpbmdJZGVudGlmaWVyCisKKyAgICBbLi4uXQorICAgIDIuIExldCBBIGJl
ICEgQXJyYXlDcmVhdGUoMCkuCisgICAgMy4gTGV0IG4gYmUgMC4KKyAgICA0LiBSZXBlYXQsCisg
ICAgICAgIFsuLi5dCisgICAgICAgIGYuIFBlcmZvcm0gISBDcmVhdGVEYXRhUHJvcGVydHlPclRo
cm93KEEsICEgVG9TdHJpbmcobiksIG5leHRWYWx1ZSkuCisgICAgICAgIGcuIFNldCBuIHRvIG4g
KyAxLgorCistLS0qLworCitjb25zdCBbLi4ueF0gPSBbMV07CisKK2Fzc2VydChBcnJheS5pc0Fy
cmF5KHgpKTsKK2Fzc2VydC5jb21wYXJlQXJyYXkoeCwgWzFdKTsKZGlmZiAtLWdpdCBhL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvZm9yLW9mL2RzdHIvY29uc3QtYXJ5
LWluaXQtaXRlci1nZXQtZXJyLWFycmF5LXByb3RvdHlwZS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvZm9yLW9mL2RzdHIvY29uc3QtYXJ5LWluaXQtaXRlci1n
ZXQtZXJyLWFycmF5LXByb3RvdHlwZS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iMzMwZDMwNTNjYjA3ZGVlMGU1
MzUzNWJmZTFkZTYzOTljZGI2MzZjCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9mb3Itb2YvZHN0ci9jb25zdC1hcnktaW5pdC1pdGVy
LWdldC1lcnItYXJyYXktcHJvdG90eXBlLmpzCkBAIC0wLDAgKzEsNjEgQEAKKy8vIFRoaXMgZmls
ZSB3YXMgcHJvY2VkdXJhbGx5IGdlbmVyYXRlZCBmcm9tIHRoZSBmb2xsb3dpbmcgc291cmNlczoK
Ky8vIC0gc3JjL2RzdHItYmluZGluZy9hcnktaW5pdC1pdGVyLWdldC1lcnItYXJyYXktcHJvdG90
eXBlLmNhc2UKKy8vIC0gc3JjL2RzdHItYmluZGluZy9lcnJvci9mb3Itb2YtY29uc3QudGVtcGxh
dGUKKy8qLS0tCitkZXNjcmlwdGlvbjogQWJydXB0IGNvbXBsZXRpb24gcmV0dXJuZWQgYnkgR2V0
SXRlcmF0b3IgKGZvci1vZiBzdGF0ZW1lbnQpCitlc2lkOiBzZWMtZm9yLWluLWFuZC1mb3Itb2Yt
c3RhdGVtZW50cy1ydW50aW1lLXNlbWFudGljcy1sYWJlbGxlZGV2YWx1YXRpb24KK2ZlYXR1cmVz
OiBbU3ltYm9sLml0ZXJhdG9yLCBkZXN0cnVjdHVyaW5nLWJpbmRpbmddCitmbGFnczogW2dlbmVy
YXRlZF0KK2luZm86IHwKKyAgICBJdGVyYXRpb25TdGF0ZW1lbnQgOgorICAgICAgICBmb3IgKCBG
b3JEZWNsYXJhdGlvbiBvZiBBc3NpZ25tZW50RXhwcmVzc2lvbiApIFN0YXRlbWVudAorCisgICAg
Wy4uLl0KKyAgICAzLiBSZXR1cm4gRm9ySW4vT2ZCb2R5RXZhbHVhdGlvbihGb3JEZWNsYXJhdGlv
biwgU3RhdGVtZW50LCBrZXlSZXN1bHQsCisgICAgICAgbGV4aWNhbEJpbmRpbmcsIGxhYmVsU2V0
KS4KKworICAgIDEzLjcuNS4xMyBSdW50aW1lIFNlbWFudGljczogRm9ySW4vT2ZCb2R5RXZhbHVh
dGlvbgorCisgICAgWy4uLl0KKyAgICAzLiBMZXQgZGVzdHJ1Y3R1cmluZyBiZSBJc0Rlc3RydWN0
dXJpbmcgb2YgbGhzLgorICAgIFsuLi5dCisgICAgNS4gUmVwZWF0CisgICAgICAgWy4uLl0KKyAg
ICAgICBoLiBJZiBkZXN0cnVjdHVyaW5nIGlzIGZhbHNlLCB0aGVuCisgICAgICAgICAgWy4uLl0K
KyAgICAgICBpLiBFbHNlCisgICAgICAgICAgaS4gSWYgbGhzS2luZCBpcyBhc3NpZ25tZW50LCB0
aGVuCisgICAgICAgICAgICAgWy4uLl0KKyAgICAgICAgICBpaS4gRWxzZSBpZiBsaHNLaW5kIGlz
IHZhckJpbmRpbmcsIHRoZW4KKyAgICAgICAgICAgICAgWy4uLl0KKyAgICAgICAgICBpaWkuIEVs
c2UsCisgICAgICAgICAgICAgICAxLiBBc3NlcnQ6IGxoc0tpbmQgaXMgbGV4aWNhbEJpbmRpbmcu
CisgICAgICAgICAgICAgICAyLiBBc3NlcnQ6IGxocyBpcyBhIEZvckRlY2xhcmF0aW9uLgorICAg
ICAgICAgICAgICAgMy4gTGV0IHN0YXR1cyBiZSB0aGUgcmVzdWx0IG9mIHBlcmZvcm1pbmcgQmlu
ZGluZ0luaXRpYWxpemF0aW9uCisgICAgICAgICAgICAgICAgICBmb3IgbGhzIHBhc3NpbmcgbmV4
dFZhbHVlIGFuZCBpdGVyYXRpb25FbnYgYXMgYXJndW1lbnRzLgorICAgICAgICAgIFsuLi5dCisK
KyAgICBSdW50aW1lIFNlbWFudGljczogQmluZGluZ0luaXRpYWxpemF0aW9uCisKKyAgICBCaW5k
aW5nUGF0dGVybiA6IEFycmF5QmluZGluZ1BhdHRlcm4KKworICAgIDEuIExldCBpdGVyYXRvclJl
Y29yZCBiZSA/IEdldEl0ZXJhdG9yKHZhbHVlKS4KKworICAgIEdldEl0ZXJhdG9yICggb2JqIFsg
LCBoaW50IFsgLCBtZXRob2QgXSBdICkKKworICAgIFsuLi5dCisgICAgNC4gTGV0IGl0ZXJhdG9y
IGJlID8gQ2FsbChtZXRob2QsIG9iaikuCisKKyAgICBDYWxsICggRiwgViBbICwgYXJndW1lbnRz
TGlzdCBdICkKKworICAgIFsuLi5dCisgICAgMi4gSWYgSXNDYWxsYWJsZShGKSBpcyBmYWxzZSwg
dGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgorCistLS0qLworZGVsZXRlIEFycmF5LnByb3Rv
dHlwZVtTeW1ib2wuaXRlcmF0b3JdOworCithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgZnVuY3Rp
b24oKSB7CisgIGZvciAoY29uc3QgW3gsIHksIHpdIG9mIFtbMSwgMiwgM11dKSB7CisgICAgcmV0
dXJuOworICB9Cit9KTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdl
L3N0YXRlbWVudHMvZm9yLW9mL2RzdHIvY29uc3QtYXJ5LXB0cm4tZWxlbS1pZC1pdGVyLXZhbC1h
cnJheS1wcm90b3R5cGUuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1l
bnRzL2Zvci1vZi9kc3RyL2NvbnN0LWFyeS1wdHJuLWVsZW0taWQtaXRlci12YWwtYXJyYXktcHJv
dG90eXBlLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjlhZjUxODVkNjJmNjk5MDU0YmFhODY5OTY3OGM3ZjA3MGEz
ZTUwMTIKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9z
dGF0ZW1lbnRzL2Zvci1vZi9kc3RyL2NvbnN0LWFyeS1wdHJuLWVsZW0taWQtaXRlci12YWwtYXJy
YXktcHJvdG90eXBlLmpzCkBAIC0wLDAgKzEsNzkgQEAKKy8vIFRoaXMgZmlsZSB3YXMgcHJvY2Vk
dXJhbGx5IGdlbmVyYXRlZCBmcm9tIHRoZSBmb2xsb3dpbmcgc291cmNlczoKKy8vIC0gc3JjL2Rz
dHItYmluZGluZy9hcnktcHRybi1lbGVtLWlkLWl0ZXItdmFsLWFycmF5LXByb3RvdHlwZS5jYXNl
CisvLyAtIHNyYy9kc3RyLWJpbmRpbmcvZGVmYXVsdC9mb3Itb2YtY29uc3QudGVtcGxhdGUKKy8q
LS0tCitkZXNjcmlwdGlvbjogQXJyYXkgZGVzdHJ1Y3R1cmluZyB1c2VzIG92ZXJyaWRlbiBBcnJh
eS5wcm90b3R5cGVbU3ltYm9sLml0ZXJhdG9yXSAoZm9yLW9mIHN0YXRlbWVudCkKK2VzaWQ6IHNl
Yy1mb3ItaW4tYW5kLWZvci1vZi1zdGF0ZW1lbnRzLXJ1bnRpbWUtc2VtYW50aWNzLWxhYmVsbGVk
ZXZhbHVhdGlvbgorZmVhdHVyZXM6IFtTeW1ib2wuaXRlcmF0b3IsIGdlbmVyYXRvcnMsIGRlc3Ry
dWN0dXJpbmctYmluZGluZ10KK2ZsYWdzOiBbZ2VuZXJhdGVkXQoraW5mbzogfAorICAgIEl0ZXJh
dGlvblN0YXRlbWVudCA6CisgICAgICAgIGZvciAoIEZvckRlY2xhcmF0aW9uIG9mIEFzc2lnbm1l
bnRFeHByZXNzaW9uICkgU3RhdGVtZW50CisKKyAgICBbLi4uXQorICAgIDMuIFJldHVybiBGb3JJ
bi9PZkJvZHlFdmFsdWF0aW9uKEZvckRlY2xhcmF0aW9uLCBTdGF0ZW1lbnQsIGtleVJlc3VsdCwK
KyAgICAgICBsZXhpY2FsQmluZGluZywgbGFiZWxTZXQpLgorCisgICAgMTMuNy41LjEzIFJ1bnRp
bWUgU2VtYW50aWNzOiBGb3JJbi9PZkJvZHlFdmFsdWF0aW9uCisKKyAgICBbLi4uXQorICAgIDMu
IExldCBkZXN0cnVjdHVyaW5nIGJlIElzRGVzdHJ1Y3R1cmluZyBvZiBsaHMuCisgICAgWy4uLl0K
KyAgICA1LiBSZXBlYXQKKyAgICAgICBbLi4uXQorICAgICAgIGguIElmIGRlc3RydWN0dXJpbmcg
aXMgZmFsc2UsIHRoZW4KKyAgICAgICAgICBbLi4uXQorICAgICAgIGkuIEVsc2UKKyAgICAgICAg
ICBpLiBJZiBsaHNLaW5kIGlzIGFzc2lnbm1lbnQsIHRoZW4KKyAgICAgICAgICAgICBbLi4uXQor
ICAgICAgICAgIGlpLiBFbHNlIGlmIGxoc0tpbmQgaXMgdmFyQmluZGluZywgdGhlbgorICAgICAg
ICAgICAgICBbLi4uXQorICAgICAgICAgIGlpaS4gRWxzZSwKKyAgICAgICAgICAgICAgIDEuIEFz
c2VydDogbGhzS2luZCBpcyBsZXhpY2FsQmluZGluZy4KKyAgICAgICAgICAgICAgIDIuIEFzc2Vy
dDogbGhzIGlzIGEgRm9yRGVjbGFyYXRpb24uCisgICAgICAgICAgICAgICAzLiBMZXQgc3RhdHVz
IGJlIHRoZSByZXN1bHQgb2YgcGVyZm9ybWluZyBCaW5kaW5nSW5pdGlhbGl6YXRpb24KKyAgICAg
ICAgICAgICAgICAgIGZvciBsaHMgcGFzc2luZyBuZXh0VmFsdWUgYW5kIGl0ZXJhdGlvbkVudiBh
cyBhcmd1bWVudHMuCisgICAgICAgICAgWy4uLl0KKworICAgIFJ1bnRpbWUgU2VtYW50aWNzOiBJ
dGVyYXRvckJpbmRpbmdJbml0aWFsaXphdGlvbgorCisgICAgU2luZ2xlTmFtZUJpbmRpbmcgOiBC
aW5kaW5nSWRlbnRpZmllciBJbml0aWFsaXplcl9vcHQKKworICAgIDEuIExldCBiaW5kaW5nSWQg
YmUgU3RyaW5nVmFsdWUgb2YgQmluZGluZ0lkZW50aWZpZXIuCisgICAgMi4gTGV0IGxocyBiZSA/
IFJlc29sdmVCaW5kaW5nKGJpbmRpbmdJZCwgZW52aXJvbm1lbnQpLgorICAgIDMuIElmIGl0ZXJh
dG9yUmVjb3JkLltbRG9uZV1dIGlzIGZhbHNlLCB0aGVuCisgICAgICAgIGEuIExldCBuZXh0IGJl
IEl0ZXJhdG9yU3RlcChpdGVyYXRvclJlY29yZCkuCisgICAgICAgIGIuIElmIG5leHQgaXMgYW4g
YWJydXB0IGNvbXBsZXRpb24sIHNldCBpdGVyYXRvclJlY29yZC5bW0RvbmVdXSB0byB0cnVlLgor
ICAgICAgICBjLiBSZXR1cm5JZkFicnVwdChuZXh0KS4KKyAgICAgICAgZC4gSWYgbmV4dCBpcyBm
YWxzZSwgc2V0IGl0ZXJhdG9yUmVjb3JkLltbRG9uZV1dIHRvIHRydWUuCisgICAgICAgIGUuIEVs
c2UsCisgICAgICAgICAgICBpLiBMZXQgdiBiZSBJdGVyYXRvclZhbHVlKG5leHQpLgorICAgICAg
ICAgICAgaWkuIElmIHYgaXMgYW4gYWJydXB0IGNvbXBsZXRpb24sIHNldCBpdGVyYXRvclJlY29y
ZC5bW0RvbmVdXSB0byB0cnVlLgorICAgICAgICAgICAgaWlpLiBSZXR1cm5JZkFicnVwdCh2KS4K
KyAgICBbLi4uXQorICAgIDcuIFJldHVybiBJbml0aWFsaXplUmVmZXJlbmNlZEJpbmRpbmcobGhz
LCB2KS4KKworLS0tKi8KK0FycmF5LnByb3RvdHlwZVtTeW1ib2wuaXRlcmF0b3JdID0gZnVuY3Rp
b24qICgpIHsKKyAgICBpZiAodGhpcy5sZW5ndGggPiAwKSB7CisgICAgICAgIHlpZWxkIHRoaXNb
MF07CisgICAgfQorICAgIGlmICh0aGlzLmxlbmd0aCA+IDEpIHsKKyAgICAgICAgeWllbGQgdGhp
c1sxXTsKKyAgICB9CisgICAgaWYgKHRoaXMubGVuZ3RoID4gMikgeworICAgICAgICB5aWVsZCA0
MjsKKyAgICB9Cit9OworCit2YXIgaXRlckNvdW50ID0gMDsKKworZm9yIChjb25zdCBbeCwgeSwg
el0gb2YgW1sxLCAyLCAzXV0pIHsKKyAgYXNzZXJ0LnNhbWVWYWx1ZSh4LCAxKTsKKyAgYXNzZXJ0
LnNhbWVWYWx1ZSh5LCAyKTsKKyAgYXNzZXJ0LnNhbWVWYWx1ZSh6LCA0Mik7CisKKyAgaXRlckNv
dW50ICs9IDE7Cit9CisKK2Fzc2VydC5zYW1lVmFsdWUoaXRlckNvdW50LCAxLCAnaXRlcmF0aW9u
IG9jY3VycmVkIGFzIGV4cGVjdGVkJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2Zvci1vZi9kc3RyL2NvbnN0LWFyeS1wdHJuLXJlc3QtaWQt
ZGlyZWN0LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9mb3It
b2YvZHN0ci9jb25zdC1hcnktcHRybi1yZXN0LWlkLWRpcmVjdC5qcwpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hOWEy
YmM3ZTk3NWJhMTFiZDE5YjBiODE0ZDhlZTEzZDIzZTdmYWQ2Ci0tLSAvZGV2L251bGwKKysrIGIv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9mb3Itb2YvZHN0ci9jb25z
dC1hcnktcHRybi1yZXN0LWlkLWRpcmVjdC5qcwpAQCAtMCwwICsxLDYyIEBACisvLyBUaGlzIGZp
bGUgd2FzIHByb2NlZHVyYWxseSBnZW5lcmF0ZWQgZnJvbSB0aGUgZm9sbG93aW5nIHNvdXJjZXM6
CisvLyAtIHNyYy9kc3RyLWJpbmRpbmcvYXJ5LXB0cm4tcmVzdC1pZC1kaXJlY3QuY2FzZQorLy8g
LSBzcmMvZHN0ci1iaW5kaW5nL2RlZmF1bHQvZm9yLW9mLWNvbnN0LnRlbXBsYXRlCisvKi0tLQor
ZGVzY3JpcHRpb246IExvbmUgcmVzdCBlbGVtZW50IChkaXJlY3QgYmluZGluZykgKGZvci1vZiBz
dGF0ZW1lbnQpCitlc2lkOiBzZWMtZm9yLWluLWFuZC1mb3Itb2Ytc3RhdGVtZW50cy1ydW50aW1l
LXNlbWFudGljcy1sYWJlbGxlZGV2YWx1YXRpb24KK2ZlYXR1cmVzOiBbZGVzdHJ1Y3R1cmluZy1i
aW5kaW5nXQorZmxhZ3M6IFtnZW5lcmF0ZWRdCitpbmNsdWRlczogW2NvbXBhcmVBcnJheS5qc10K
K2luZm86IHwKKyAgICBJdGVyYXRpb25TdGF0ZW1lbnQgOgorICAgICAgICBmb3IgKCBGb3JEZWNs
YXJhdGlvbiBvZiBBc3NpZ25tZW50RXhwcmVzc2lvbiApIFN0YXRlbWVudAorCisgICAgWy4uLl0K
KyAgICAzLiBSZXR1cm4gRm9ySW4vT2ZCb2R5RXZhbHVhdGlvbihGb3JEZWNsYXJhdGlvbiwgU3Rh
dGVtZW50LCBrZXlSZXN1bHQsCisgICAgICAgbGV4aWNhbEJpbmRpbmcsIGxhYmVsU2V0KS4KKwor
ICAgIDEzLjcuNS4xMyBSdW50aW1lIFNlbWFudGljczogRm9ySW4vT2ZCb2R5RXZhbHVhdGlvbgor
CisgICAgWy4uLl0KKyAgICAzLiBMZXQgZGVzdHJ1Y3R1cmluZyBiZSBJc0Rlc3RydWN0dXJpbmcg
b2YgbGhzLgorICAgIFsuLi5dCisgICAgNS4gUmVwZWF0CisgICAgICAgWy4uLl0KKyAgICAgICBo
LiBJZiBkZXN0cnVjdHVyaW5nIGlzIGZhbHNlLCB0aGVuCisgICAgICAgICAgWy4uLl0KKyAgICAg
ICBpLiBFbHNlCisgICAgICAgICAgaS4gSWYgbGhzS2luZCBpcyBhc3NpZ25tZW50LCB0aGVuCisg
ICAgICAgICAgICAgWy4uLl0KKyAgICAgICAgICBpaS4gRWxzZSBpZiBsaHNLaW5kIGlzIHZhckJp
bmRpbmcsIHRoZW4KKyAgICAgICAgICAgICAgWy4uLl0KKyAgICAgICAgICBpaWkuIEVsc2UsCisg
ICAgICAgICAgICAgICAxLiBBc3NlcnQ6IGxoc0tpbmQgaXMgbGV4aWNhbEJpbmRpbmcuCisgICAg
ICAgICAgICAgICAyLiBBc3NlcnQ6IGxocyBpcyBhIEZvckRlY2xhcmF0aW9uLgorICAgICAgICAg
ICAgICAgMy4gTGV0IHN0YXR1cyBiZSB0aGUgcmVzdWx0IG9mIHBlcmZvcm1pbmcgQmluZGluZ0lu
aXRpYWxpemF0aW9uCisgICAgICAgICAgICAgICAgICBmb3IgbGhzIHBhc3NpbmcgbmV4dFZhbHVl
IGFuZCBpdGVyYXRpb25FbnYgYXMgYXJndW1lbnRzLgorICAgICAgICAgIFsuLi5dCisKKyAgICBS
dW50aW1lIFNlbWFudGljczogSXRlcmF0b3JCaW5kaW5nSW5pdGlhbGl6YXRpb24KKworICAgIEJp
bmRpbmdSZXN0RWxlbWVudCA6IC4uLiBCaW5kaW5nSWRlbnRpZmllcgorCisgICAgWy4uLl0KKyAg
ICAyLiBMZXQgQSBiZSAhIEFycmF5Q3JlYXRlKDApLgorICAgIDMuIExldCBuIGJlIDAuCisgICAg
NC4gUmVwZWF0LAorICAgICAgICBbLi4uXQorICAgICAgICBmLiBQZXJmb3JtICEgQ3JlYXRlRGF0
YVByb3BlcnR5T3JUaHJvdyhBLCAhIFRvU3RyaW5nKG4pLCBuZXh0VmFsdWUpLgorICAgICAgICBn
LiBTZXQgbiB0byBuICsgMS4KKworLS0tKi8KKwordmFyIGl0ZXJDb3VudCA9IDA7CisKK2ZvciAo
Y29uc3QgWy4uLnhdIG9mIFtbMV1dKSB7CisgIGFzc2VydChBcnJheS5pc0FycmF5KHgpKTsKKyAg
YXNzZXJ0LmNvbXBhcmVBcnJheSh4LCBbMV0pOworCisgIGl0ZXJDb3VudCArPSAxOworfQorCith
c3NlcnQuc2FtZVZhbHVlKGl0ZXJDb3VudCwgMSwgJ2l0ZXJhdGlvbiBvY2N1cnJlZCBhcyBleHBl
Y3RlZCcpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVt
ZW50cy9mb3Itb2YvZHN0ci9sZXQtYXJ5LWluaXQtaXRlci1nZXQtZXJyLWFycmF5LXByb3RvdHlw
ZS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvZm9yLW9mL2Rz
dHIvbGV0LWFyeS1pbml0LWl0ZXItZ2V0LWVyci1hcnJheS1wcm90b3R5cGUuanMKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZWM2ZGQwODhhMTQ0MDJlOTE1MzYzYmU1OWFhZWE4YjUxMzJjZmU5NgotLS0gL2Rldi9udWxs
CisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvZm9yLW9mL2Rz
dHIvbGV0LWFyeS1pbml0LWl0ZXItZ2V0LWVyci1hcnJheS1wcm90b3R5cGUuanMKQEAgLTAsMCAr
MSw2MSBAQAorLy8gVGhpcyBmaWxlIHdhcyBwcm9jZWR1cmFsbHkgZ2VuZXJhdGVkIGZyb20gdGhl
IGZvbGxvd2luZyBzb3VyY2VzOgorLy8gLSBzcmMvZHN0ci1iaW5kaW5nL2FyeS1pbml0LWl0ZXIt
Z2V0LWVyci1hcnJheS1wcm90b3R5cGUuY2FzZQorLy8gLSBzcmMvZHN0ci1iaW5kaW5nL2Vycm9y
L2Zvci1vZi1sZXQudGVtcGxhdGUKKy8qLS0tCitkZXNjcmlwdGlvbjogQWJydXB0IGNvbXBsZXRp
b24gcmV0dXJuZWQgYnkgR2V0SXRlcmF0b3IgKGZvci1vZiBzdGF0ZW1lbnQpCitlc2lkOiBzZWMt
Zm9yLWluLWFuZC1mb3Itb2Ytc3RhdGVtZW50cy1ydW50aW1lLXNlbWFudGljcy1sYWJlbGxlZGV2
YWx1YXRpb24KK2ZlYXR1cmVzOiBbU3ltYm9sLml0ZXJhdG9yLCBkZXN0cnVjdHVyaW5nLWJpbmRp
bmddCitmbGFnczogW2dlbmVyYXRlZF0KK2luZm86IHwKKyAgICBJdGVyYXRpb25TdGF0ZW1lbnQg
OgorICAgICAgICBmb3IgKCBGb3JEZWNsYXJhdGlvbiBvZiBBc3NpZ25tZW50RXhwcmVzc2lvbiAp
IFN0YXRlbWVudAorCisgICAgWy4uLl0KKyAgICAzLiBSZXR1cm4gRm9ySW4vT2ZCb2R5RXZhbHVh
dGlvbihGb3JEZWNsYXJhdGlvbiwgU3RhdGVtZW50LCBrZXlSZXN1bHQsCisgICAgICAgbGV4aWNh
bEJpbmRpbmcsIGxhYmVsU2V0KS4KKworICAgIDEzLjcuNS4xMyBSdW50aW1lIFNlbWFudGljczog
Rm9ySW4vT2ZCb2R5RXZhbHVhdGlvbgorCisgICAgWy4uLl0KKyAgICAzLiBMZXQgZGVzdHJ1Y3R1
cmluZyBiZSBJc0Rlc3RydWN0dXJpbmcgb2YgbGhzLgorICAgIFsuLi5dCisgICAgNS4gUmVwZWF0
CisgICAgICAgWy4uLl0KKyAgICAgICBoLiBJZiBkZXN0cnVjdHVyaW5nIGlzIGZhbHNlLCB0aGVu
CisgICAgICAgICAgWy4uLl0KKyAgICAgICBpLiBFbHNlCisgICAgICAgICAgaS4gSWYgbGhzS2lu
ZCBpcyBhc3NpZ25tZW50LCB0aGVuCisgICAgICAgICAgICAgWy4uLl0KKyAgICAgICAgICBpaS4g
RWxzZSBpZiBsaHNLaW5kIGlzIHZhckJpbmRpbmcsIHRoZW4KKyAgICAgICAgICAgICAgWy4uLl0K
KyAgICAgICAgICBpaWkuIEVsc2UsCisgICAgICAgICAgICAgICAxLiBBc3NlcnQ6IGxoc0tpbmQg
aXMgbGV4aWNhbEJpbmRpbmcuCisgICAgICAgICAgICAgICAyLiBBc3NlcnQ6IGxocyBpcyBhIEZv
ckRlY2xhcmF0aW9uLgorICAgICAgICAgICAgICAgMy4gTGV0IHN0YXR1cyBiZSB0aGUgcmVzdWx0
IG9mIHBlcmZvcm1pbmcgQmluZGluZ0luaXRpYWxpemF0aW9uCisgICAgICAgICAgICAgICAgICBm
b3IgbGhzIHBhc3NpbmcgbmV4dFZhbHVlIGFuZCBpdGVyYXRpb25FbnYgYXMgYXJndW1lbnRzLgor
ICAgICAgICAgIFsuLi5dCisKKyAgICBSdW50aW1lIFNlbWFudGljczogQmluZGluZ0luaXRpYWxp
emF0aW9uCisKKyAgICBCaW5kaW5nUGF0dGVybiA6IEFycmF5QmluZGluZ1BhdHRlcm4KKworICAg
IDEuIExldCBpdGVyYXRvclJlY29yZCBiZSA/IEdldEl0ZXJhdG9yKHZhbHVlKS4KKworICAgIEdl
dEl0ZXJhdG9yICggb2JqIFsgLCBoaW50IFsgLCBtZXRob2QgXSBdICkKKworICAgIFsuLi5dCisg
ICAgNC4gTGV0IGl0ZXJhdG9yIGJlID8gQ2FsbChtZXRob2QsIG9iaikuCisKKyAgICBDYWxsICgg
RiwgViBbICwgYXJndW1lbnRzTGlzdCBdICkKKworICAgIFsuLi5dCisgICAgMi4gSWYgSXNDYWxs
YWJsZShGKSBpcyBmYWxzZSwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgorCistLS0qLwor
ZGVsZXRlIEFycmF5LnByb3RvdHlwZVtTeW1ib2wuaXRlcmF0b3JdOworCithc3NlcnQudGhyb3dz
KFR5cGVFcnJvciwgZnVuY3Rpb24oKSB7CisgIGZvciAobGV0IFt4LCB5LCB6XSBvZiBbWzEsIDIs
IDNdXSkgeworICAgIHJldHVybjsKKyAgfQorfSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2Zvci1vZi9kc3RyL2xldC1hcnktcHRybi1lbGVt
LWlkLWl0ZXItdmFsLWFycmF5LXByb3RvdHlwZS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xh
bmd1YWdlL3N0YXRlbWVudHMvZm9yLW9mL2RzdHIvbGV0LWFyeS1wdHJuLWVsZW0taWQtaXRlci12
YWwtYXJyYXktcHJvdG90eXBlLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU4NTcyZmQzZTUzMzg1MzlmMWQ1MjI0
M2IxYThlYzJiZWRiMzQ5NzIKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2Zvci1vZi9kc3RyL2xldC1hcnktcHRybi1lbGVtLWlkLWl0
ZXItdmFsLWFycmF5LXByb3RvdHlwZS5qcwpAQCAtMCwwICsxLDc5IEBACisvLyBUaGlzIGZpbGUg
d2FzIHByb2NlZHVyYWxseSBnZW5lcmF0ZWQgZnJvbSB0aGUgZm9sbG93aW5nIHNvdXJjZXM6Cisv
LyAtIHNyYy9kc3RyLWJpbmRpbmcvYXJ5LXB0cm4tZWxlbS1pZC1pdGVyLXZhbC1hcnJheS1wcm90
b3R5cGUuY2FzZQorLy8gLSBzcmMvZHN0ci1iaW5kaW5nL2RlZmF1bHQvZm9yLW9mLWxldC50ZW1w
bGF0ZQorLyotLS0KK2Rlc2NyaXB0aW9uOiBBcnJheSBkZXN0cnVjdHVyaW5nIHVzZXMgb3ZlcnJp
ZGVuIEFycmF5LnByb3RvdHlwZVtTeW1ib2wuaXRlcmF0b3JdIChmb3Itb2Ygc3RhdGVtZW50KQor
ZXNpZDogc2VjLWZvci1pbi1hbmQtZm9yLW9mLXN0YXRlbWVudHMtcnVudGltZS1zZW1hbnRpY3Mt
bGFiZWxsZWRldmFsdWF0aW9uCitmZWF0dXJlczogW1N5bWJvbC5pdGVyYXRvciwgZ2VuZXJhdG9y
cywgZGVzdHJ1Y3R1cmluZy1iaW5kaW5nXQorZmxhZ3M6IFtnZW5lcmF0ZWRdCitpbmZvOiB8Cisg
ICAgSXRlcmF0aW9uU3RhdGVtZW50IDoKKyAgICAgICAgZm9yICggRm9yRGVjbGFyYXRpb24gb2Yg
QXNzaWdubWVudEV4cHJlc3Npb24gKSBTdGF0ZW1lbnQKKworICAgIFsuLi5dCisgICAgMy4gUmV0
dXJuIEZvckluL09mQm9keUV2YWx1YXRpb24oRm9yRGVjbGFyYXRpb24sIFN0YXRlbWVudCwga2V5
UmVzdWx0LAorICAgICAgIGxleGljYWxCaW5kaW5nLCBsYWJlbFNldCkuCisKKyAgICAxMy43LjUu
MTMgUnVudGltZSBTZW1hbnRpY3M6IEZvckluL09mQm9keUV2YWx1YXRpb24KKworICAgIFsuLi5d
CisgICAgMy4gTGV0IGRlc3RydWN0dXJpbmcgYmUgSXNEZXN0cnVjdHVyaW5nIG9mIGxocy4KKyAg
ICBbLi4uXQorICAgIDUuIFJlcGVhdAorICAgICAgIFsuLi5dCisgICAgICAgaC4gSWYgZGVzdHJ1
Y3R1cmluZyBpcyBmYWxzZSwgdGhlbgorICAgICAgICAgIFsuLi5dCisgICAgICAgaS4gRWxzZQor
ICAgICAgICAgIGkuIElmIGxoc0tpbmQgaXMgYXNzaWdubWVudCwgdGhlbgorICAgICAgICAgICAg
IFsuLi5dCisgICAgICAgICAgaWkuIEVsc2UgaWYgbGhzS2luZCBpcyB2YXJCaW5kaW5nLCB0aGVu
CisgICAgICAgICAgICAgIFsuLi5dCisgICAgICAgICAgaWlpLiBFbHNlLAorICAgICAgICAgICAg
ICAgMS4gQXNzZXJ0OiBsaHNLaW5kIGlzIGxleGljYWxCaW5kaW5nLgorICAgICAgICAgICAgICAg
Mi4gQXNzZXJ0OiBsaHMgaXMgYSBGb3JEZWNsYXJhdGlvbi4KKyAgICAgICAgICAgICAgIDMuIExl
dCBzdGF0dXMgYmUgdGhlIHJlc3VsdCBvZiBwZXJmb3JtaW5nIEJpbmRpbmdJbml0aWFsaXphdGlv
bgorICAgICAgICAgICAgICAgICAgZm9yIGxocyBwYXNzaW5nIG5leHRWYWx1ZSBhbmQgaXRlcmF0
aW9uRW52IGFzIGFyZ3VtZW50cy4KKyAgICAgICAgICBbLi4uXQorCisgICAgUnVudGltZSBTZW1h
bnRpY3M6IEl0ZXJhdG9yQmluZGluZ0luaXRpYWxpemF0aW9uCisKKyAgICBTaW5nbGVOYW1lQmlu
ZGluZyA6IEJpbmRpbmdJZGVudGlmaWVyIEluaXRpYWxpemVyX29wdAorCisgICAgMS4gTGV0IGJp
bmRpbmdJZCBiZSBTdHJpbmdWYWx1ZSBvZiBCaW5kaW5nSWRlbnRpZmllci4KKyAgICAyLiBMZXQg
bGhzIGJlID8gUmVzb2x2ZUJpbmRpbmcoYmluZGluZ0lkLCBlbnZpcm9ubWVudCkuCisgICAgMy4g
SWYgaXRlcmF0b3JSZWNvcmQuW1tEb25lXV0gaXMgZmFsc2UsIHRoZW4KKyAgICAgICAgYS4gTGV0
IG5leHQgYmUgSXRlcmF0b3JTdGVwKGl0ZXJhdG9yUmVjb3JkKS4KKyAgICAgICAgYi4gSWYgbmV4
dCBpcyBhbiBhYnJ1cHQgY29tcGxldGlvbiwgc2V0IGl0ZXJhdG9yUmVjb3JkLltbRG9uZV1dIHRv
IHRydWUuCisgICAgICAgIGMuIFJldHVybklmQWJydXB0KG5leHQpLgorICAgICAgICBkLiBJZiBu
ZXh0IGlzIGZhbHNlLCBzZXQgaXRlcmF0b3JSZWNvcmQuW1tEb25lXV0gdG8gdHJ1ZS4KKyAgICAg
ICAgZS4gRWxzZSwKKyAgICAgICAgICAgIGkuIExldCB2IGJlIEl0ZXJhdG9yVmFsdWUobmV4dCku
CisgICAgICAgICAgICBpaS4gSWYgdiBpcyBhbiBhYnJ1cHQgY29tcGxldGlvbiwgc2V0IGl0ZXJh
dG9yUmVjb3JkLltbRG9uZV1dIHRvIHRydWUuCisgICAgICAgICAgICBpaWkuIFJldHVybklmQWJy
dXB0KHYpLgorICAgIFsuLi5dCisgICAgNy4gUmV0dXJuIEluaXRpYWxpemVSZWZlcmVuY2VkQmlu
ZGluZyhsaHMsIHYpLgorCistLS0qLworQXJyYXkucHJvdG90eXBlW1N5bWJvbC5pdGVyYXRvcl0g
PSBmdW5jdGlvbiogKCkgeworICAgIGlmICh0aGlzLmxlbmd0aCA+IDApIHsKKyAgICAgICAgeWll
bGQgdGhpc1swXTsKKyAgICB9CisgICAgaWYgKHRoaXMubGVuZ3RoID4gMSkgeworICAgICAgICB5
aWVsZCB0aGlzWzFdOworICAgIH0KKyAgICBpZiAodGhpcy5sZW5ndGggPiAyKSB7CisgICAgICAg
IHlpZWxkIDQyOworICAgIH0KK307CisKK3ZhciBpdGVyQ291bnQgPSAwOworCitmb3IgKGxldCBb
eCwgeSwgel0gb2YgW1sxLCAyLCAzXV0pIHsKKyAgYXNzZXJ0LnNhbWVWYWx1ZSh4LCAxKTsKKyAg
YXNzZXJ0LnNhbWVWYWx1ZSh5LCAyKTsKKyAgYXNzZXJ0LnNhbWVWYWx1ZSh6LCA0Mik7CisKKyAg
aXRlckNvdW50ICs9IDE7Cit9CisKK2Fzc2VydC5zYW1lVmFsdWUoaXRlckNvdW50LCAxLCAnSXRl
cmF0aW9uIG9jY3VycmVkIGFzIGV4cGVjdGVkJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2Zvci1vZi9kc3RyL2xldC1hcnktcHRybi1yZXN0
LWlkLWRpcmVjdC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMv
Zm9yLW9mL2RzdHIvbGV0LWFyeS1wdHJuLXJlc3QtaWQtZGlyZWN0LmpzCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYx
ZDcyNzIwMjk0NTM1ZGViYjE4NjMzN2M0OTM4OTY5YzA4ODI4MmUKLS0tIC9kZXYvbnVsbAorKysg
Yi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2Zvci1vZi9kc3RyL2xl
dC1hcnktcHRybi1yZXN0LWlkLWRpcmVjdC5qcwpAQCAtMCwwICsxLDYyIEBACisvLyBUaGlzIGZp
bGUgd2FzIHByb2NlZHVyYWxseSBnZW5lcmF0ZWQgZnJvbSB0aGUgZm9sbG93aW5nIHNvdXJjZXM6
CisvLyAtIHNyYy9kc3RyLWJpbmRpbmcvYXJ5LXB0cm4tcmVzdC1pZC1kaXJlY3QuY2FzZQorLy8g
LSBzcmMvZHN0ci1iaW5kaW5nL2RlZmF1bHQvZm9yLW9mLWxldC50ZW1wbGF0ZQorLyotLS0KK2Rl
c2NyaXB0aW9uOiBMb25lIHJlc3QgZWxlbWVudCAoZGlyZWN0IGJpbmRpbmcpIChmb3Itb2Ygc3Rh
dGVtZW50KQorZXNpZDogc2VjLWZvci1pbi1hbmQtZm9yLW9mLXN0YXRlbWVudHMtcnVudGltZS1z
ZW1hbnRpY3MtbGFiZWxsZWRldmFsdWF0aW9uCitmZWF0dXJlczogW2Rlc3RydWN0dXJpbmctYmlu
ZGluZ10KK2ZsYWdzOiBbZ2VuZXJhdGVkXQoraW5jbHVkZXM6IFtjb21wYXJlQXJyYXkuanNdCitp
bmZvOiB8CisgICAgSXRlcmF0aW9uU3RhdGVtZW50IDoKKyAgICAgICAgZm9yICggRm9yRGVjbGFy
YXRpb24gb2YgQXNzaWdubWVudEV4cHJlc3Npb24gKSBTdGF0ZW1lbnQKKworICAgIFsuLi5dCisg
ICAgMy4gUmV0dXJuIEZvckluL09mQm9keUV2YWx1YXRpb24oRm9yRGVjbGFyYXRpb24sIFN0YXRl
bWVudCwga2V5UmVzdWx0LAorICAgICAgIGxleGljYWxCaW5kaW5nLCBsYWJlbFNldCkuCisKKyAg
ICAxMy43LjUuMTMgUnVudGltZSBTZW1hbnRpY3M6IEZvckluL09mQm9keUV2YWx1YXRpb24KKwor
ICAgIFsuLi5dCisgICAgMy4gTGV0IGRlc3RydWN0dXJpbmcgYmUgSXNEZXN0cnVjdHVyaW5nIG9m
IGxocy4KKyAgICBbLi4uXQorICAgIDUuIFJlcGVhdAorICAgICAgIFsuLi5dCisgICAgICAgaC4g
SWYgZGVzdHJ1Y3R1cmluZyBpcyBmYWxzZSwgdGhlbgorICAgICAgICAgIFsuLi5dCisgICAgICAg
aS4gRWxzZQorICAgICAgICAgIGkuIElmIGxoc0tpbmQgaXMgYXNzaWdubWVudCwgdGhlbgorICAg
ICAgICAgICAgIFsuLi5dCisgICAgICAgICAgaWkuIEVsc2UgaWYgbGhzS2luZCBpcyB2YXJCaW5k
aW5nLCB0aGVuCisgICAgICAgICAgICAgIFsuLi5dCisgICAgICAgICAgaWlpLiBFbHNlLAorICAg
ICAgICAgICAgICAgMS4gQXNzZXJ0OiBsaHNLaW5kIGlzIGxleGljYWxCaW5kaW5nLgorICAgICAg
ICAgICAgICAgMi4gQXNzZXJ0OiBsaHMgaXMgYSBGb3JEZWNsYXJhdGlvbi4KKyAgICAgICAgICAg
ICAgIDMuIExldCBzdGF0dXMgYmUgdGhlIHJlc3VsdCBvZiBwZXJmb3JtaW5nIEJpbmRpbmdJbml0
aWFsaXphdGlvbgorICAgICAgICAgICAgICAgICAgZm9yIGxocyBwYXNzaW5nIG5leHRWYWx1ZSBh
bmQgaXRlcmF0aW9uRW52IGFzIGFyZ3VtZW50cy4KKyAgICAgICAgICBbLi4uXQorCisgICAgUnVu
dGltZSBTZW1hbnRpY3M6IEl0ZXJhdG9yQmluZGluZ0luaXRpYWxpemF0aW9uCisKKyAgICBCaW5k
aW5nUmVzdEVsZW1lbnQgOiAuLi4gQmluZGluZ0lkZW50aWZpZXIKKworICAgIFsuLi5dCisgICAg
Mi4gTGV0IEEgYmUgISBBcnJheUNyZWF0ZSgwKS4KKyAgICAzLiBMZXQgbiBiZSAwLgorICAgIDQu
IFJlcGVhdCwKKyAgICAgICAgWy4uLl0KKyAgICAgICAgZi4gUGVyZm9ybSAhIENyZWF0ZURhdGFQ
cm9wZXJ0eU9yVGhyb3coQSwgISBUb1N0cmluZyhuKSwgbmV4dFZhbHVlKS4KKyAgICAgICAgZy4g
U2V0IG4gdG8gbiArIDEuCisKKy0tLSovCisKK3ZhciBpdGVyQ291bnQgPSAwOworCitmb3IgKGxl
dCBbLi4ueF0gb2YgW1sxXV0pIHsKKyAgYXNzZXJ0KEFycmF5LmlzQXJyYXkoeCkpOworICBhc3Nl
cnQuY29tcGFyZUFycmF5KHgsIFsxXSk7CisKKyAgaXRlckNvdW50ICs9IDE7Cit9CisKK2Fzc2Vy
dC5zYW1lVmFsdWUoaXRlckNvdW50LCAxLCAnSXRlcmF0aW9uIG9jY3VycmVkIGFzIGV4cGVjdGVk
Jyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRz
L2Zvci1vZi9kc3RyL3Zhci1hcnktaW5pdC1pdGVyLWdldC1lcnItYXJyYXktcHJvdG90eXBlLmpz
IGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9mb3Itb2YvZHN0ci92
YXItYXJ5LWluaXQtaXRlci1nZXQtZXJyLWFycmF5LXByb3RvdHlwZS5qcwpuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4z
ZjAyOWQ2ODhjNDU3NmM4MWZjYzA2YjI2Y2Q2N2MzNzJhOGYxYmM5Ci0tLSAvZGV2L251bGwKKysr
IGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9mb3Itb2YvZHN0ci92
YXItYXJ5LWluaXQtaXRlci1nZXQtZXJyLWFycmF5LXByb3RvdHlwZS5qcwpAQCAtMCwwICsxLDU4
IEBACisvLyBUaGlzIGZpbGUgd2FzIHByb2NlZHVyYWxseSBnZW5lcmF0ZWQgZnJvbSB0aGUgZm9s
bG93aW5nIHNvdXJjZXM6CisvLyAtIHNyYy9kc3RyLWJpbmRpbmcvYXJ5LWluaXQtaXRlci1nZXQt
ZXJyLWFycmF5LXByb3RvdHlwZS5jYXNlCisvLyAtIHNyYy9kc3RyLWJpbmRpbmcvZXJyb3IvZm9y
LW9mLXZhci50ZW1wbGF0ZQorLyotLS0KK2Rlc2NyaXB0aW9uOiBBYnJ1cHQgY29tcGxldGlvbiBy
ZXR1cm5lZCBieSBHZXRJdGVyYXRvciAoZm9yLW9mIHN0YXRlbWVudCkKK2VzaWQ6IHNlYy1mb3It
aW4tYW5kLWZvci1vZi1zdGF0ZW1lbnRzLXJ1bnRpbWUtc2VtYW50aWNzLWxhYmVsbGVkZXZhbHVh
dGlvbgorZmVhdHVyZXM6IFtTeW1ib2wuaXRlcmF0b3IsIGRlc3RydWN0dXJpbmctYmluZGluZ10K
K2ZsYWdzOiBbZ2VuZXJhdGVkXQoraW5mbzogfAorICAgIEl0ZXJhdGlvblN0YXRlbWVudCA6Cisg
ICAgICAgIGZvciAoIHZhciBGb3JCaW5kaW5nIG9mIEFzc2lnbm1lbnRFeHByZXNzaW9uICkgU3Rh
dGVtZW50CisKKyAgICBbLi4uXQorICAgIDMuIFJldHVybiBGb3JJbi9PZkJvZHlFdmFsdWF0aW9u
KEZvckJpbmRpbmcsIFN0YXRlbWVudCwga2V5UmVzdWx0LAorICAgICAgIHZhckJpbmRpbmcsIGxh
YmVsU2V0KS4KKworICAgIDEzLjcuNS4xMyBSdW50aW1lIFNlbWFudGljczogRm9ySW4vT2ZCb2R5
RXZhbHVhdGlvbgorCisgICAgWy4uLl0KKyAgICAzLiBMZXQgZGVzdHJ1Y3R1cmluZyBiZSBJc0Rl
c3RydWN0dXJpbmcgb2YgbGhzLgorICAgIFsuLi5dCisgICAgNS4gUmVwZWF0CisgICAgICAgWy4u
Ll0KKyAgICAgICBoLiBJZiBkZXN0cnVjdHVyaW5nIGlzIGZhbHNlLCB0aGVuCisgICAgICAgICAg
Wy4uLl0KKyAgICAgICBpLiBFbHNlCisgICAgICAgICAgaS4gSWYgbGhzS2luZCBpcyBhc3NpZ25t
ZW50LCB0aGVuCisgICAgICAgICAgICAgWy4uLl0KKyAgICAgICAgICBpaS4gRWxzZSBpZiBsaHNL
aW5kIGlzIHZhckJpbmRpbmcsIHRoZW4KKyAgICAgICAgICAgICAgMS4gQXNzZXJ0OiBsaHMgaXMg
YSBGb3JCaW5kaW5nLgorICAgICAgICAgICAgICAyLiBMZXQgc3RhdHVzIGJlIHRoZSByZXN1bHQg
b2YgcGVyZm9ybWluZyBCaW5kaW5nSW5pdGlhbGl6YXRpb24KKyAgICAgICAgICAgICAgICAgZm9y
IGxocyBwYXNzaW5nIG5leHRWYWx1ZSBhbmQgdW5kZWZpbmVkIGFzIHRoZSBhcmd1bWVudHMuCisg
ICAgICAgICAgWy4uLl0KKworICAgIFJ1bnRpbWUgU2VtYW50aWNzOiBCaW5kaW5nSW5pdGlhbGl6
YXRpb24KKworICAgIEJpbmRpbmdQYXR0ZXJuIDogQXJyYXlCaW5kaW5nUGF0dGVybgorCisgICAg
MS4gTGV0IGl0ZXJhdG9yUmVjb3JkIGJlID8gR2V0SXRlcmF0b3IodmFsdWUpLgorCisgICAgR2V0
SXRlcmF0b3IgKCBvYmogWyAsIGhpbnQgWyAsIG1ldGhvZCBdIF0gKQorCisgICAgWy4uLl0KKyAg
ICA0LiBMZXQgaXRlcmF0b3IgYmUgPyBDYWxsKG1ldGhvZCwgb2JqKS4KKworICAgIENhbGwgKCBG
LCBWIFsgLCBhcmd1bWVudHNMaXN0IF0gKQorCisgICAgWy4uLl0KKyAgICAyLiBJZiBJc0NhbGxh
YmxlKEYpIGlzIGZhbHNlLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24uCisKKy0tLSovCitk
ZWxldGUgQXJyYXkucHJvdG90eXBlW1N5bWJvbC5pdGVyYXRvcl07CisKK2Fzc2VydC50aHJvd3Mo
VHlwZUVycm9yLCBmdW5jdGlvbigpIHsKKyAgZm9yICh2YXIgW3gsIHksIHpdIG9mIFtbMSwgMiwg
M11dKSB7CisgICAgcmV0dXJuOworICB9Cit9KTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvZm9yLW9mL2RzdHIvdmFyLWFyeS1wdHJuLWVsZW0t
aWQtaXRlci12YWwtYXJyYXktcHJvdG90eXBlLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFu
Z3VhZ2Uvc3RhdGVtZW50cy9mb3Itb2YvZHN0ci92YXItYXJ5LXB0cm4tZWxlbS1pZC1pdGVyLXZh
bC1hcnJheS1wcm90b3R5cGUuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGM1NTliNjA1NjgwNjAyYmVhODk4YzEz
ZmU0MjlkZmY5NzU5OTFiYQotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2xhbmd1YWdlL3N0YXRlbWVudHMvZm9yLW9mL2RzdHIvdmFyLWFyeS1wdHJuLWVsZW0taWQtaXRl
ci12YWwtYXJyYXktcHJvdG90eXBlLmpzCkBAIC0wLDAgKzEsNzYgQEAKKy8vIFRoaXMgZmlsZSB3
YXMgcHJvY2VkdXJhbGx5IGdlbmVyYXRlZCBmcm9tIHRoZSBmb2xsb3dpbmcgc291cmNlczoKKy8v
IC0gc3JjL2RzdHItYmluZGluZy9hcnktcHRybi1lbGVtLWlkLWl0ZXItdmFsLWFycmF5LXByb3Rv
dHlwZS5jYXNlCisvLyAtIHNyYy9kc3RyLWJpbmRpbmcvZGVmYXVsdC9mb3Itb2YtdmFyLnRlbXBs
YXRlCisvKi0tLQorZGVzY3JpcHRpb246IEFycmF5IGRlc3RydWN0dXJpbmcgdXNlcyBvdmVycmlk
ZW4gQXJyYXkucHJvdG90eXBlW1N5bWJvbC5pdGVyYXRvcl0gKGZvci1vZiBzdGF0ZW1lbnQpCitl
c2lkOiBzZWMtZm9yLWluLWFuZC1mb3Itb2Ytc3RhdGVtZW50cy1ydW50aW1lLXNlbWFudGljcy1s
YWJlbGxlZGV2YWx1YXRpb24KK2ZlYXR1cmVzOiBbU3ltYm9sLml0ZXJhdG9yLCBnZW5lcmF0b3Jz
LCBkZXN0cnVjdHVyaW5nLWJpbmRpbmddCitmbGFnczogW2dlbmVyYXRlZF0KK2luZm86IHwKKyAg
ICBJdGVyYXRpb25TdGF0ZW1lbnQgOgorICAgICAgICBmb3IgKCB2YXIgRm9yQmluZGluZyBvZiBB
c3NpZ25tZW50RXhwcmVzc2lvbiApIFN0YXRlbWVudAorCisgICAgWy4uLl0KKyAgICAzLiBSZXR1
cm4gRm9ySW4vT2ZCb2R5RXZhbHVhdGlvbihGb3JCaW5kaW5nLCBTdGF0ZW1lbnQsIGtleVJlc3Vs
dCwKKyAgICAgICB2YXJCaW5kaW5nLCBsYWJlbFNldCkuCisKKyAgICAxMy43LjUuMTMgUnVudGlt
ZSBTZW1hbnRpY3M6IEZvckluL09mQm9keUV2YWx1YXRpb24KKworICAgIFsuLi5dCisgICAgMy4g
TGV0IGRlc3RydWN0dXJpbmcgYmUgSXNEZXN0cnVjdHVyaW5nIG9mIGxocy4KKyAgICBbLi4uXQor
ICAgIDUuIFJlcGVhdAorICAgICAgIFsuLi5dCisgICAgICAgaC4gSWYgZGVzdHJ1Y3R1cmluZyBp
cyBmYWxzZSwgdGhlbgorICAgICAgICAgIFsuLi5dCisgICAgICAgaS4gRWxzZQorICAgICAgICAg
IGkuIElmIGxoc0tpbmQgaXMgYXNzaWdubWVudCwgdGhlbgorICAgICAgICAgICAgIFsuLi5dCisg
ICAgICAgICAgaWkuIEVsc2UgaWYgbGhzS2luZCBpcyB2YXJCaW5kaW5nLCB0aGVuCisgICAgICAg
ICAgICAgIDEuIEFzc2VydDogbGhzIGlzIGEgRm9yQmluZGluZy4KKyAgICAgICAgICAgICAgMi4g
TGV0IHN0YXR1cyBiZSB0aGUgcmVzdWx0IG9mIHBlcmZvcm1pbmcgQmluZGluZ0luaXRpYWxpemF0
aW9uCisgICAgICAgICAgICAgICAgIGZvciBsaHMgcGFzc2luZyBuZXh0VmFsdWUgYW5kIHVuZGVm
aW5lZCBhcyB0aGUgYXJndW1lbnRzLgorICAgICAgICAgIFsuLi5dCisKKyAgICBSdW50aW1lIFNl
bWFudGljczogSXRlcmF0b3JCaW5kaW5nSW5pdGlhbGl6YXRpb24KKworICAgIFNpbmdsZU5hbWVC
aW5kaW5nIDogQmluZGluZ0lkZW50aWZpZXIgSW5pdGlhbGl6ZXJfb3B0CisKKyAgICAxLiBMZXQg
YmluZGluZ0lkIGJlIFN0cmluZ1ZhbHVlIG9mIEJpbmRpbmdJZGVudGlmaWVyLgorICAgIDIuIExl
dCBsaHMgYmUgPyBSZXNvbHZlQmluZGluZyhiaW5kaW5nSWQsIGVudmlyb25tZW50KS4KKyAgICAz
LiBJZiBpdGVyYXRvclJlY29yZC5bW0RvbmVdXSBpcyBmYWxzZSwgdGhlbgorICAgICAgICBhLiBM
ZXQgbmV4dCBiZSBJdGVyYXRvclN0ZXAoaXRlcmF0b3JSZWNvcmQpLgorICAgICAgICBiLiBJZiBu
ZXh0IGlzIGFuIGFicnVwdCBjb21wbGV0aW9uLCBzZXQgaXRlcmF0b3JSZWNvcmQuW1tEb25lXV0g
dG8gdHJ1ZS4KKyAgICAgICAgYy4gUmV0dXJuSWZBYnJ1cHQobmV4dCkuCisgICAgICAgIGQuIElm
IG5leHQgaXMgZmFsc2UsIHNldCBpdGVyYXRvclJlY29yZC5bW0RvbmVdXSB0byB0cnVlLgorICAg
ICAgICBlLiBFbHNlLAorICAgICAgICAgICAgaS4gTGV0IHYgYmUgSXRlcmF0b3JWYWx1ZShuZXh0
KS4KKyAgICAgICAgICAgIGlpLiBJZiB2IGlzIGFuIGFicnVwdCBjb21wbGV0aW9uLCBzZXQgaXRl
cmF0b3JSZWNvcmQuW1tEb25lXV0gdG8gdHJ1ZS4KKyAgICAgICAgICAgIGlpaS4gUmV0dXJuSWZB
YnJ1cHQodikuCisgICAgWy4uLl0KKyAgICA3LiBSZXR1cm4gSW5pdGlhbGl6ZVJlZmVyZW5jZWRC
aW5kaW5nKGxocywgdikuCisKKy0tLSovCitBcnJheS5wcm90b3R5cGVbU3ltYm9sLml0ZXJhdG9y
XSA9IGZ1bmN0aW9uKiAoKSB7CisgICAgaWYgKHRoaXMubGVuZ3RoID4gMCkgeworICAgICAgICB5
aWVsZCB0aGlzWzBdOworICAgIH0KKyAgICBpZiAodGhpcy5sZW5ndGggPiAxKSB7CisgICAgICAg
IHlpZWxkIHRoaXNbMV07CisgICAgfQorICAgIGlmICh0aGlzLmxlbmd0aCA+IDIpIHsKKyAgICAg
ICAgeWllbGQgNDI7CisgICAgfQorfTsKKwordmFyIGl0ZXJDb3VudCA9IDA7CisKK2ZvciAodmFy
IFt4LCB5LCB6XSBvZiBbWzEsIDIsIDNdXSkgeworICBhc3NlcnQuc2FtZVZhbHVlKHgsIDEpOwor
ICBhc3NlcnQuc2FtZVZhbHVlKHksIDIpOworICBhc3NlcnQuc2FtZVZhbHVlKHosIDQyKTsKKwor
ICBpdGVyQ291bnQgKz0gMTsKK30KKworYXNzZXJ0LnNhbWVWYWx1ZShpdGVyQ291bnQsIDEsICdJ
dGVyYXRpb24gb2NjdXJyZWQgYXMgZXhwZWN0ZWQnKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvZm9yLW9mL2RzdHIvdmFyLWFyeS1wdHJuLXJl
c3QtaWQtZGlyZWN0LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50
cy9mb3Itb2YvZHN0ci92YXItYXJ5LXB0cm4tcmVzdC1pZC1kaXJlY3QuanMKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
YzNjYjcxY2Q1N2I0MWMyYWIyYzlkYTc2ZDE4MTA0MWYxYmNhMWY0MAotLS0gL2Rldi9udWxsCisr
KyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvZm9yLW9mL2RzdHIv
dmFyLWFyeS1wdHJuLXJlc3QtaWQtZGlyZWN0LmpzCkBAIC0wLDAgKzEsNTkgQEAKKy8vIFRoaXMg
ZmlsZSB3YXMgcHJvY2VkdXJhbGx5IGdlbmVyYXRlZCBmcm9tIHRoZSBmb2xsb3dpbmcgc291cmNl
czoKKy8vIC0gc3JjL2RzdHItYmluZGluZy9hcnktcHRybi1yZXN0LWlkLWRpcmVjdC5jYXNlCisv
LyAtIHNyYy9kc3RyLWJpbmRpbmcvZGVmYXVsdC9mb3Itb2YtdmFyLnRlbXBsYXRlCisvKi0tLQor
ZGVzY3JpcHRpb246IExvbmUgcmVzdCBlbGVtZW50IChkaXJlY3QgYmluZGluZykgKGZvci1vZiBz
dGF0ZW1lbnQpCitlc2lkOiBzZWMtZm9yLWluLWFuZC1mb3Itb2Ytc3RhdGVtZW50cy1ydW50aW1l
LXNlbWFudGljcy1sYWJlbGxlZGV2YWx1YXRpb24KK2ZlYXR1cmVzOiBbZGVzdHJ1Y3R1cmluZy1i
aW5kaW5nXQorZmxhZ3M6IFtnZW5lcmF0ZWRdCitpbmNsdWRlczogW2NvbXBhcmVBcnJheS5qc10K
K2luZm86IHwKKyAgICBJdGVyYXRpb25TdGF0ZW1lbnQgOgorICAgICAgICBmb3IgKCB2YXIgRm9y
QmluZGluZyBvZiBBc3NpZ25tZW50RXhwcmVzc2lvbiApIFN0YXRlbWVudAorCisgICAgWy4uLl0K
KyAgICAzLiBSZXR1cm4gRm9ySW4vT2ZCb2R5RXZhbHVhdGlvbihGb3JCaW5kaW5nLCBTdGF0ZW1l
bnQsIGtleVJlc3VsdCwKKyAgICAgICB2YXJCaW5kaW5nLCBsYWJlbFNldCkuCisKKyAgICAxMy43
LjUuMTMgUnVudGltZSBTZW1hbnRpY3M6IEZvckluL09mQm9keUV2YWx1YXRpb24KKworICAgIFsu
Li5dCisgICAgMy4gTGV0IGRlc3RydWN0dXJpbmcgYmUgSXNEZXN0cnVjdHVyaW5nIG9mIGxocy4K
KyAgICBbLi4uXQorICAgIDUuIFJlcGVhdAorICAgICAgIFsuLi5dCisgICAgICAgaC4gSWYgZGVz
dHJ1Y3R1cmluZyBpcyBmYWxzZSwgdGhlbgorICAgICAgICAgIFsuLi5dCisgICAgICAgaS4gRWxz
ZQorICAgICAgICAgIGkuIElmIGxoc0tpbmQgaXMgYXNzaWdubWVudCwgdGhlbgorICAgICAgICAg
ICAgIFsuLi5dCisgICAgICAgICAgaWkuIEVsc2UgaWYgbGhzS2luZCBpcyB2YXJCaW5kaW5nLCB0
aGVuCisgICAgICAgICAgICAgIDEuIEFzc2VydDogbGhzIGlzIGEgRm9yQmluZGluZy4KKyAgICAg
ICAgICAgICAgMi4gTGV0IHN0YXR1cyBiZSB0aGUgcmVzdWx0IG9mIHBlcmZvcm1pbmcgQmluZGlu
Z0luaXRpYWxpemF0aW9uCisgICAgICAgICAgICAgICAgIGZvciBsaHMgcGFzc2luZyBuZXh0VmFs
dWUgYW5kIHVuZGVmaW5lZCBhcyB0aGUgYXJndW1lbnRzLgorICAgICAgICAgIFsuLi5dCisKKyAg
ICBSdW50aW1lIFNlbWFudGljczogSXRlcmF0b3JCaW5kaW5nSW5pdGlhbGl6YXRpb24KKworICAg
IEJpbmRpbmdSZXN0RWxlbWVudCA6IC4uLiBCaW5kaW5nSWRlbnRpZmllcgorCisgICAgWy4uLl0K
KyAgICAyLiBMZXQgQSBiZSAhIEFycmF5Q3JlYXRlKDApLgorICAgIDMuIExldCBuIGJlIDAuCisg
ICAgNC4gUmVwZWF0LAorICAgICAgICBbLi4uXQorICAgICAgICBmLiBQZXJmb3JtICEgQ3JlYXRl
RGF0YVByb3BlcnR5T3JUaHJvdyhBLCAhIFRvU3RyaW5nKG4pLCBuZXh0VmFsdWUpLgorICAgICAg
ICBnLiBTZXQgbiB0byBuICsgMS4KKworLS0tKi8KKwordmFyIGl0ZXJDb3VudCA9IDA7CisKK2Zv
ciAodmFyIFsuLi54XSBvZiBbWzFdXSkgeworICBhc3NlcnQoQXJyYXkuaXNBcnJheSh4KSk7Cisg
IGFzc2VydC5jb21wYXJlQXJyYXkoeCwgWzFdKTsKKworICBpdGVyQ291bnQgKz0gMTsKK30KKwor
YXNzZXJ0LnNhbWVWYWx1ZShpdGVyQ291bnQsIDEsICdJdGVyYXRpb24gb2NjdXJyZWQgYXMgZXhw
ZWN0ZWQnKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRl
bWVudHMvZm9yL2RzdHIvY29uc3QtYXJ5LWluaXQtaXRlci1nZXQtZXJyLWFycmF5LXByb3RvdHlw
ZS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvZm9yL2RzdHIv
Y29uc3QtYXJ5LWluaXQtaXRlci1nZXQtZXJyLWFycmF5LXByb3RvdHlwZS5qcwpuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yMjNkZTQ3Zjc4MmQ3N2QwNzFkNDM2NmIyN2MwYzQyNWI3NDg4ZDg5Ci0tLSAvZGV2L251bGwK
KysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9mb3IvZHN0ci9j
b25zdC1hcnktaW5pdC1pdGVyLWdldC1lcnItYXJyYXktcHJvdG90eXBlLmpzCkBAIC0wLDAgKzEs
NjEgQEAKKy8vIFRoaXMgZmlsZSB3YXMgcHJvY2VkdXJhbGx5IGdlbmVyYXRlZCBmcm9tIHRoZSBm
b2xsb3dpbmcgc291cmNlczoKKy8vIC0gc3JjL2RzdHItYmluZGluZy9hcnktaW5pdC1pdGVyLWdl
dC1lcnItYXJyYXktcHJvdG90eXBlLmNhc2UKKy8vIC0gc3JjL2RzdHItYmluZGluZy9lcnJvci9m
b3ItY29uc3QudGVtcGxhdGUKKy8qLS0tCitkZXNjcmlwdGlvbjogQWJydXB0IGNvbXBsZXRpb24g
cmV0dXJuZWQgYnkgR2V0SXRlcmF0b3IgKGZvciBzdGF0ZW1lbnQpCitlc2lkOiBzZWMtZm9yLXN0
YXRlbWVudC1ydW50aW1lLXNlbWFudGljcy1sYWJlbGxlZGV2YWx1YXRpb24KK2ZlYXR1cmVzOiBb
U3ltYm9sLml0ZXJhdG9yLCBkZXN0cnVjdHVyaW5nLWJpbmRpbmddCitmbGFnczogW2dlbmVyYXRl
ZF0KK2luZm86IHwKKyAgICBJdGVyYXRpb25TdGF0ZW1lbnQgOgorICAgICAgICBmb3IgKCBMZXhp
Y2FsRGVjbGFyYXRpb24gRXhwcmVzc2lvbm9wdCA7IEV4cHJlc3Npb25vcHQgKSBTdGF0ZW1lbnQK
KworICAgIFsuLi5dCisgICAgNy4gTGV0IGZvckRjbCBiZSB0aGUgcmVzdWx0IG9mIGV2YWx1YXRp
bmcgTGV4aWNhbERlY2xhcmF0aW9uLgorICAgIFsuLi5dCisKKyAgICBMZXhpY2FsRGVjbGFyYXRp
b24gOiBMZXRPckNvbnN0IEJpbmRpbmdMaXN0IDsKKworICAgIDEuIExldCBuZXh0IGJlIHRoZSBy
ZXN1bHQgb2YgZXZhbHVhdGluZyBCaW5kaW5nTGlzdC4KKyAgICAyLiBSZXR1cm5JZkFicnVwdChu
ZXh0KS4KKyAgICAzLiBSZXR1cm4gTm9ybWFsQ29tcGxldGlvbihlbXB0eSkuCisKKyAgICBCaW5k
aW5nTGlzdCA6IEJpbmRpbmdMaXN0ICwgTGV4aWNhbEJpbmRpbmcKKworICAgIDEuIExldCBuZXh0
IGJlIHRoZSByZXN1bHQgb2YgZXZhbHVhdGluZyBCaW5kaW5nTGlzdC4KKyAgICAyLiBSZXR1cm5J
ZkFicnVwdChuZXh0KS4KKyAgICAzLiBSZXR1cm4gdGhlIHJlc3VsdCBvZiBldmFsdWF0aW5nIExl
eGljYWxCaW5kaW5nLgorCisgICAgTGV4aWNhbEJpbmRpbmcgOiBCaW5kaW5nUGF0dGVybiBJbml0
aWFsaXplcgorCisgICAgMS4gTGV0IHJocyBiZSB0aGUgcmVzdWx0IG9mIGV2YWx1YXRpbmcgSW5p
dGlhbGl6ZXIuCisgICAgMi4gTGV0IHZhbHVlIGJlIEdldFZhbHVlKHJocykuCisgICAgMy4gUmV0
dXJuSWZBYnJ1cHQodmFsdWUpLgorICAgIDQuIExldCBlbnYgYmUgdGhlIHJ1bm5pbmcgZXhlY3V0
aW9uIGNvbnRleHTigJlzIExleGljYWxFbnZpcm9ubWVudC4KKyAgICA1LiBSZXR1cm4gdGhlIHJl
c3VsdCBvZiBwZXJmb3JtaW5nIEJpbmRpbmdJbml0aWFsaXphdGlvbiBmb3IgQmluZGluZ1BhdHRl
cm4KKyAgICAgICB1c2luZyB2YWx1ZSBhbmQgZW52IGFzIHRoZSBhcmd1bWVudHMuCisKKyAgICBS
dW50aW1lIFNlbWFudGljczogQmluZGluZ0luaXRpYWxpemF0aW9uCisKKyAgICBCaW5kaW5nUGF0
dGVybiA6IEFycmF5QmluZGluZ1BhdHRlcm4KKworICAgIDEuIExldCBpdGVyYXRvclJlY29yZCBi
ZSA/IEdldEl0ZXJhdG9yKHZhbHVlKS4KKworICAgIEdldEl0ZXJhdG9yICggb2JqIFsgLCBoaW50
IFsgLCBtZXRob2QgXSBdICkKKworICAgIFsuLi5dCisgICAgNC4gTGV0IGl0ZXJhdG9yIGJlID8g
Q2FsbChtZXRob2QsIG9iaikuCisKKyAgICBDYWxsICggRiwgViBbICwgYXJndW1lbnRzTGlzdCBd
ICkKKworICAgIFsuLi5dCisgICAgMi4gSWYgSXNDYWxsYWJsZShGKSBpcyBmYWxzZSwgdGhyb3cg
YSBUeXBlRXJyb3IgZXhjZXB0aW9uLgorCistLS0qLworZGVsZXRlIEFycmF5LnByb3RvdHlwZVtT
eW1ib2wuaXRlcmF0b3JdOworCithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgZnVuY3Rpb24oKSB7
CisgIGZvciAoY29uc3QgW3gsIHksIHpdID0gWzEsIDIsIDNdOyA7ICkgeworICAgIHJldHVybjsK
KyAgfQorfSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0
ZW1lbnRzL2Zvci9kc3RyL2NvbnN0LWFyeS1wdHJuLWVsZW0taWQtaXRlci12YWwtYXJyYXktcHJv
dG90eXBlLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9mb3Iv
ZHN0ci9jb25zdC1hcnktcHRybi1lbGVtLWlkLWl0ZXItdmFsLWFycmF5LXByb3RvdHlwZS5qcwpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5iMjE0ODlhNjE3YTU2MzFjYTBjMzc4ZmQzNDg0ZGFiM2FiYmY1YzEyCi0tLSAv
ZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9m
b3IvZHN0ci9jb25zdC1hcnktcHRybi1lbGVtLWlkLWl0ZXItdmFsLWFycmF5LXByb3RvdHlwZS5q
cwpAQCAtMCwwICsxLDc5IEBACisvLyBUaGlzIGZpbGUgd2FzIHByb2NlZHVyYWxseSBnZW5lcmF0
ZWQgZnJvbSB0aGUgZm9sbG93aW5nIHNvdXJjZXM6CisvLyAtIHNyYy9kc3RyLWJpbmRpbmcvYXJ5
LXB0cm4tZWxlbS1pZC1pdGVyLXZhbC1hcnJheS1wcm90b3R5cGUuY2FzZQorLy8gLSBzcmMvZHN0
ci1iaW5kaW5nL2RlZmF1bHQvZm9yLWNvbnN0LnRlbXBsYXRlCisvKi0tLQorZGVzY3JpcHRpb246
IEFycmF5IGRlc3RydWN0dXJpbmcgdXNlcyBvdmVycmlkZW4gQXJyYXkucHJvdG90eXBlW1N5bWJv
bC5pdGVyYXRvcl0gKGZvciBzdGF0ZW1lbnQpCitlc2lkOiBzZWMtZm9yLXN0YXRlbWVudC1ydW50
aW1lLXNlbWFudGljcy1sYWJlbGxlZGV2YWx1YXRpb24KK2ZlYXR1cmVzOiBbU3ltYm9sLml0ZXJh
dG9yLCBnZW5lcmF0b3JzLCBkZXN0cnVjdHVyaW5nLWJpbmRpbmddCitmbGFnczogW2dlbmVyYXRl
ZF0KK2luZm86IHwKKyAgICBJdGVyYXRpb25TdGF0ZW1lbnQgOgorICAgICAgICBmb3IgKCBMZXhp
Y2FsRGVjbGFyYXRpb24gRXhwcmVzc2lvbm9wdCA7IEV4cHJlc3Npb25vcHQgKSBTdGF0ZW1lbnQK
KworICAgIFsuLi5dCisgICAgNy4gTGV0IGZvckRjbCBiZSB0aGUgcmVzdWx0IG9mIGV2YWx1YXRp
bmcgTGV4aWNhbERlY2xhcmF0aW9uLgorICAgIFsuLi5dCisKKyAgICBMZXhpY2FsRGVjbGFyYXRp
b24gOiBMZXRPckNvbnN0IEJpbmRpbmdMaXN0IDsKKworICAgIDEuIExldCBuZXh0IGJlIHRoZSBy
ZXN1bHQgb2YgZXZhbHVhdGluZyBCaW5kaW5nTGlzdC4KKyAgICAyLiBSZXR1cm5JZkFicnVwdChu
ZXh0KS4KKyAgICAzLiBSZXR1cm4gTm9ybWFsQ29tcGxldGlvbihlbXB0eSkuCisKKyAgICBCaW5k
aW5nTGlzdCA6IEJpbmRpbmdMaXN0ICwgTGV4aWNhbEJpbmRpbmcKKworICAgIDEuIExldCBuZXh0
IGJlIHRoZSByZXN1bHQgb2YgZXZhbHVhdGluZyBCaW5kaW5nTGlzdC4KKyAgICAyLiBSZXR1cm5J
ZkFicnVwdChuZXh0KS4KKyAgICAzLiBSZXR1cm4gdGhlIHJlc3VsdCBvZiBldmFsdWF0aW5nIExl
eGljYWxCaW5kaW5nLgorCisgICAgTGV4aWNhbEJpbmRpbmcgOiBCaW5kaW5nUGF0dGVybiBJbml0
aWFsaXplcgorCisgICAgMS4gTGV0IHJocyBiZSB0aGUgcmVzdWx0IG9mIGV2YWx1YXRpbmcgSW5p
dGlhbGl6ZXIuCisgICAgMi4gTGV0IHZhbHVlIGJlIEdldFZhbHVlKHJocykuCisgICAgMy4gUmV0
dXJuSWZBYnJ1cHQodmFsdWUpLgorICAgIDQuIExldCBlbnYgYmUgdGhlIHJ1bm5pbmcgZXhlY3V0
aW9uIGNvbnRleHTigJlzIExleGljYWxFbnZpcm9ubWVudC4KKyAgICA1LiBSZXR1cm4gdGhlIHJl
c3VsdCBvZiBwZXJmb3JtaW5nIEJpbmRpbmdJbml0aWFsaXphdGlvbiBmb3IgQmluZGluZ1BhdHRl
cm4KKyAgICAgICB1c2luZyB2YWx1ZSBhbmQgZW52IGFzIHRoZSBhcmd1bWVudHMuCisKKyAgICBS
dW50aW1lIFNlbWFudGljczogSXRlcmF0b3JCaW5kaW5nSW5pdGlhbGl6YXRpb24KKworICAgIFNp
bmdsZU5hbWVCaW5kaW5nIDogQmluZGluZ0lkZW50aWZpZXIgSW5pdGlhbGl6ZXJfb3B0CisKKyAg
ICAxLiBMZXQgYmluZGluZ0lkIGJlIFN0cmluZ1ZhbHVlIG9mIEJpbmRpbmdJZGVudGlmaWVyLgor
ICAgIDIuIExldCBsaHMgYmUgPyBSZXNvbHZlQmluZGluZyhiaW5kaW5nSWQsIGVudmlyb25tZW50
KS4KKyAgICAzLiBJZiBpdGVyYXRvclJlY29yZC5bW0RvbmVdXSBpcyBmYWxzZSwgdGhlbgorICAg
ICAgICBhLiBMZXQgbmV4dCBiZSBJdGVyYXRvclN0ZXAoaXRlcmF0b3JSZWNvcmQpLgorICAgICAg
ICBiLiBJZiBuZXh0IGlzIGFuIGFicnVwdCBjb21wbGV0aW9uLCBzZXQgaXRlcmF0b3JSZWNvcmQu
W1tEb25lXV0gdG8gdHJ1ZS4KKyAgICAgICAgYy4gUmV0dXJuSWZBYnJ1cHQobmV4dCkuCisgICAg
ICAgIGQuIElmIG5leHQgaXMgZmFsc2UsIHNldCBpdGVyYXRvclJlY29yZC5bW0RvbmVdXSB0byB0
cnVlLgorICAgICAgICBlLiBFbHNlLAorICAgICAgICAgICAgaS4gTGV0IHYgYmUgSXRlcmF0b3JW
YWx1ZShuZXh0KS4KKyAgICAgICAgICAgIGlpLiBJZiB2IGlzIGFuIGFicnVwdCBjb21wbGV0aW9u
LCBzZXQgaXRlcmF0b3JSZWNvcmQuW1tEb25lXV0gdG8gdHJ1ZS4KKyAgICAgICAgICAgIGlpaS4g
UmV0dXJuSWZBYnJ1cHQodikuCisgICAgWy4uLl0KKyAgICA3LiBSZXR1cm4gSW5pdGlhbGl6ZVJl
ZmVyZW5jZWRCaW5kaW5nKGxocywgdikuCisKKy0tLSovCitBcnJheS5wcm90b3R5cGVbU3ltYm9s
Lml0ZXJhdG9yXSA9IGZ1bmN0aW9uKiAoKSB7CisgICAgaWYgKHRoaXMubGVuZ3RoID4gMCkgewor
ICAgICAgICB5aWVsZCB0aGlzWzBdOworICAgIH0KKyAgICBpZiAodGhpcy5sZW5ndGggPiAxKSB7
CisgICAgICAgIHlpZWxkIHRoaXNbMV07CisgICAgfQorICAgIGlmICh0aGlzLmxlbmd0aCA+IDIp
IHsKKyAgICAgICAgeWllbGQgNDI7CisgICAgfQorfTsKKwordmFyIGl0ZXJDb3VudCA9IDA7CisK
K2ZvciAoY29uc3QgW3gsIHksIHpdID0gWzEsIDIsIDNdOyBpdGVyQ291bnQgPCAxOyApIHsKKyAg
YXNzZXJ0LnNhbWVWYWx1ZSh4LCAxKTsKKyAgYXNzZXJ0LnNhbWVWYWx1ZSh5LCAyKTsKKyAgYXNz
ZXJ0LnNhbWVWYWx1ZSh6LCA0Mik7CisKKyAgaXRlckNvdW50ICs9IDE7Cit9CisKK2Fzc2VydC5z
YW1lVmFsdWUoaXRlckNvdW50LCAxLCAnSXRlcmF0aW9uIG9jY3VycmVkIGFzIGV4cGVjdGVkJyk7
CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2Zv
ci9kc3RyL2NvbnN0LWFyeS1wdHJuLXJlc3QtaWQtZGlyZWN0LmpzIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9mb3IvZHN0ci9jb25zdC1hcnktcHRybi1yZXN0LWlk
LWRpcmVjdC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wMTNiZWRkNWQ4ODk0YTNhNmZiNGIyNWIyY2E4OWRiZTUx
NGFmMzdmCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uv
c3RhdGVtZW50cy9mb3IvZHN0ci9jb25zdC1hcnktcHRybi1yZXN0LWlkLWRpcmVjdC5qcwpAQCAt
MCwwICsxLDYyIEBACisvLyBUaGlzIGZpbGUgd2FzIHByb2NlZHVyYWxseSBnZW5lcmF0ZWQgZnJv
bSB0aGUgZm9sbG93aW5nIHNvdXJjZXM6CisvLyAtIHNyYy9kc3RyLWJpbmRpbmcvYXJ5LXB0cm4t
cmVzdC1pZC1kaXJlY3QuY2FzZQorLy8gLSBzcmMvZHN0ci1iaW5kaW5nL2RlZmF1bHQvZm9yLWNv
bnN0LnRlbXBsYXRlCisvKi0tLQorZGVzY3JpcHRpb246IExvbmUgcmVzdCBlbGVtZW50IChkaXJl
Y3QgYmluZGluZykgKGZvciBzdGF0ZW1lbnQpCitlc2lkOiBzZWMtZm9yLXN0YXRlbWVudC1ydW50
aW1lLXNlbWFudGljcy1sYWJlbGxlZGV2YWx1YXRpb24KK2ZlYXR1cmVzOiBbZGVzdHJ1Y3R1cmlu
Zy1iaW5kaW5nXQorZmxhZ3M6IFtnZW5lcmF0ZWRdCitpbmNsdWRlczogW2NvbXBhcmVBcnJheS5q
c10KK2luZm86IHwKKyAgICBJdGVyYXRpb25TdGF0ZW1lbnQgOgorICAgICAgICBmb3IgKCBMZXhp
Y2FsRGVjbGFyYXRpb24gRXhwcmVzc2lvbm9wdCA7IEV4cHJlc3Npb25vcHQgKSBTdGF0ZW1lbnQK
KworICAgIFsuLi5dCisgICAgNy4gTGV0IGZvckRjbCBiZSB0aGUgcmVzdWx0IG9mIGV2YWx1YXRp
bmcgTGV4aWNhbERlY2xhcmF0aW9uLgorICAgIFsuLi5dCisKKyAgICBMZXhpY2FsRGVjbGFyYXRp
b24gOiBMZXRPckNvbnN0IEJpbmRpbmdMaXN0IDsKKworICAgIDEuIExldCBuZXh0IGJlIHRoZSBy
ZXN1bHQgb2YgZXZhbHVhdGluZyBCaW5kaW5nTGlzdC4KKyAgICAyLiBSZXR1cm5JZkFicnVwdChu
ZXh0KS4KKyAgICAzLiBSZXR1cm4gTm9ybWFsQ29tcGxldGlvbihlbXB0eSkuCisKKyAgICBCaW5k
aW5nTGlzdCA6IEJpbmRpbmdMaXN0ICwgTGV4aWNhbEJpbmRpbmcKKworICAgIDEuIExldCBuZXh0
IGJlIHRoZSByZXN1bHQgb2YgZXZhbHVhdGluZyBCaW5kaW5nTGlzdC4KKyAgICAyLiBSZXR1cm5J
ZkFicnVwdChuZXh0KS4KKyAgICAzLiBSZXR1cm4gdGhlIHJlc3VsdCBvZiBldmFsdWF0aW5nIExl
eGljYWxCaW5kaW5nLgorCisgICAgTGV4aWNhbEJpbmRpbmcgOiBCaW5kaW5nUGF0dGVybiBJbml0
aWFsaXplcgorCisgICAgMS4gTGV0IHJocyBiZSB0aGUgcmVzdWx0IG9mIGV2YWx1YXRpbmcgSW5p
dGlhbGl6ZXIuCisgICAgMi4gTGV0IHZhbHVlIGJlIEdldFZhbHVlKHJocykuCisgICAgMy4gUmV0
dXJuSWZBYnJ1cHQodmFsdWUpLgorICAgIDQuIExldCBlbnYgYmUgdGhlIHJ1bm5pbmcgZXhlY3V0
aW9uIGNvbnRleHTigJlzIExleGljYWxFbnZpcm9ubWVudC4KKyAgICA1LiBSZXR1cm4gdGhlIHJl
c3VsdCBvZiBwZXJmb3JtaW5nIEJpbmRpbmdJbml0aWFsaXphdGlvbiBmb3IgQmluZGluZ1BhdHRl
cm4KKyAgICAgICB1c2luZyB2YWx1ZSBhbmQgZW52IGFzIHRoZSBhcmd1bWVudHMuCisKKyAgICBS
dW50aW1lIFNlbWFudGljczogSXRlcmF0b3JCaW5kaW5nSW5pdGlhbGl6YXRpb24KKworICAgIEJp
bmRpbmdSZXN0RWxlbWVudCA6IC4uLiBCaW5kaW5nSWRlbnRpZmllcgorCisgICAgWy4uLl0KKyAg
ICAyLiBMZXQgQSBiZSAhIEFycmF5Q3JlYXRlKDApLgorICAgIDMuIExldCBuIGJlIDAuCisgICAg
NC4gUmVwZWF0LAorICAgICAgICBbLi4uXQorICAgICAgICBmLiBQZXJmb3JtICEgQ3JlYXRlRGF0
YVByb3BlcnR5T3JUaHJvdyhBLCAhIFRvU3RyaW5nKG4pLCBuZXh0VmFsdWUpLgorICAgICAgICBn
LiBTZXQgbiB0byBuICsgMS4KKworLS0tKi8KKwordmFyIGl0ZXJDb3VudCA9IDA7CisKK2ZvciAo
Y29uc3QgWy4uLnhdID0gWzFdOyBpdGVyQ291bnQgPCAxOyApIHsKKyAgYXNzZXJ0KEFycmF5Lmlz
QXJyYXkoeCkpOworICBhc3NlcnQuY29tcGFyZUFycmF5KHgsIFsxXSk7CisKKyAgaXRlckNvdW50
ICs9IDE7Cit9CisKK2Fzc2VydC5zYW1lVmFsdWUoaXRlckNvdW50LCAxLCAnSXRlcmF0aW9uIG9j
Y3VycmVkIGFzIGV4cGVjdGVkJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9s
YW5ndWFnZS9zdGF0ZW1lbnRzL2Zvci9kc3RyL2xldC1hcnktaW5pdC1pdGVyLWdldC1lcnItYXJy
YXktcHJvdG90eXBlLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50
cy9mb3IvZHN0ci9sZXQtYXJ5LWluaXQtaXRlci1nZXQtZXJyLWFycmF5LXByb3RvdHlwZS5qcwpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5kYzgyMzg4NWJkYTZiNDM1YzM5NGI1ZDc2NjkzMDRiMjZiMjc3OWE2Ci0tLSAv
ZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9m
b3IvZHN0ci9sZXQtYXJ5LWluaXQtaXRlci1nZXQtZXJyLWFycmF5LXByb3RvdHlwZS5qcwpAQCAt
MCwwICsxLDYxIEBACisvLyBUaGlzIGZpbGUgd2FzIHByb2NlZHVyYWxseSBnZW5lcmF0ZWQgZnJv
bSB0aGUgZm9sbG93aW5nIHNvdXJjZXM6CisvLyAtIHNyYy9kc3RyLWJpbmRpbmcvYXJ5LWluaXQt
aXRlci1nZXQtZXJyLWFycmF5LXByb3RvdHlwZS5jYXNlCisvLyAtIHNyYy9kc3RyLWJpbmRpbmcv
ZXJyb3IvZm9yLWxldC50ZW1wbGF0ZQorLyotLS0KK2Rlc2NyaXB0aW9uOiBBYnJ1cHQgY29tcGxl
dGlvbiByZXR1cm5lZCBieSBHZXRJdGVyYXRvciAoZm9yIHN0YXRlbWVudCkKK2VzaWQ6IHNlYy1m
b3Itc3RhdGVtZW50LXJ1bnRpbWUtc2VtYW50aWNzLWxhYmVsbGVkZXZhbHVhdGlvbgorZmVhdHVy
ZXM6IFtTeW1ib2wuaXRlcmF0b3IsIGRlc3RydWN0dXJpbmctYmluZGluZ10KK2ZsYWdzOiBbZ2Vu
ZXJhdGVkXQoraW5mbzogfAorICAgIEl0ZXJhdGlvblN0YXRlbWVudCA6CisgICAgICAgIGZvciAo
IExleGljYWxEZWNsYXJhdGlvbiBFeHByZXNzaW9ub3B0IDsgRXhwcmVzc2lvbm9wdCApIFN0YXRl
bWVudAorCisgICAgWy4uLl0KKyAgICA3LiBMZXQgZm9yRGNsIGJlIHRoZSByZXN1bHQgb2YgZXZh
bHVhdGluZyBMZXhpY2FsRGVjbGFyYXRpb24uCisgICAgWy4uLl0KKworICAgIExleGljYWxEZWNs
YXJhdGlvbiA6IExldE9yQ29uc3QgQmluZGluZ0xpc3QgOworCisgICAgMS4gTGV0IG5leHQgYmUg
dGhlIHJlc3VsdCBvZiBldmFsdWF0aW5nIEJpbmRpbmdMaXN0LgorICAgIDIuIFJldHVybklmQWJy
dXB0KG5leHQpLgorICAgIDMuIFJldHVybiBOb3JtYWxDb21wbGV0aW9uKGVtcHR5KS4KKworICAg
IEJpbmRpbmdMaXN0IDogQmluZGluZ0xpc3QgLCBMZXhpY2FsQmluZGluZworCisgICAgMS4gTGV0
IG5leHQgYmUgdGhlIHJlc3VsdCBvZiBldmFsdWF0aW5nIEJpbmRpbmdMaXN0LgorICAgIDIuIFJl
dHVybklmQWJydXB0KG5leHQpLgorICAgIDMuIFJldHVybiB0aGUgcmVzdWx0IG9mIGV2YWx1YXRp
bmcgTGV4aWNhbEJpbmRpbmcuCisKKyAgICBMZXhpY2FsQmluZGluZyA6IEJpbmRpbmdQYXR0ZXJu
IEluaXRpYWxpemVyCisKKyAgICAxLiBMZXQgcmhzIGJlIHRoZSByZXN1bHQgb2YgZXZhbHVhdGlu
ZyBJbml0aWFsaXplci4KKyAgICAyLiBMZXQgdmFsdWUgYmUgR2V0VmFsdWUocmhzKS4KKyAgICAz
LiBSZXR1cm5JZkFicnVwdCh2YWx1ZSkuCisgICAgNC4gTGV0IGVudiBiZSB0aGUgcnVubmluZyBl
eGVjdXRpb24gY29udGV4dOKAmXMgTGV4aWNhbEVudmlyb25tZW50LgorICAgIDUuIFJldHVybiB0
aGUgcmVzdWx0IG9mIHBlcmZvcm1pbmcgQmluZGluZ0luaXRpYWxpemF0aW9uIGZvciBCaW5kaW5n
UGF0dGVybgorICAgICAgIHVzaW5nIHZhbHVlIGFuZCBlbnYgYXMgdGhlIGFyZ3VtZW50cy4KKwor
ICAgIFJ1bnRpbWUgU2VtYW50aWNzOiBCaW5kaW5nSW5pdGlhbGl6YXRpb24KKworICAgIEJpbmRp
bmdQYXR0ZXJuIDogQXJyYXlCaW5kaW5nUGF0dGVybgorCisgICAgMS4gTGV0IGl0ZXJhdG9yUmVj
b3JkIGJlID8gR2V0SXRlcmF0b3IodmFsdWUpLgorCisgICAgR2V0SXRlcmF0b3IgKCBvYmogWyAs
IGhpbnQgWyAsIG1ldGhvZCBdIF0gKQorCisgICAgWy4uLl0KKyAgICA0LiBMZXQgaXRlcmF0b3Ig
YmUgPyBDYWxsKG1ldGhvZCwgb2JqKS4KKworICAgIENhbGwgKCBGLCBWIFsgLCBhcmd1bWVudHNM
aXN0IF0gKQorCisgICAgWy4uLl0KKyAgICAyLiBJZiBJc0NhbGxhYmxlKEYpIGlzIGZhbHNlLCB0
aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24uCisKKy0tLSovCitkZWxldGUgQXJyYXkucHJvdG90
eXBlW1N5bWJvbC5pdGVyYXRvcl07CisKK2Fzc2VydC50aHJvd3MoVHlwZUVycm9yLCBmdW5jdGlv
bigpIHsKKyAgZm9yIChsZXQgW3gsIHksIHpdID0gWzEsIDIsIDNdOyA7ICkgeworICAgIHJldHVy
bjsKKyAgfQorfSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9z
dGF0ZW1lbnRzL2Zvci9kc3RyL2xldC1hcnktcHRybi1lbGVtLWlkLWl0ZXItdmFsLWFycmF5LXBy
b3RvdHlwZS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvZm9y
L2RzdHIvbGV0LWFyeS1wdHJuLWVsZW0taWQtaXRlci12YWwtYXJyYXktcHJvdG90eXBlLmpzCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjZhNjEyZDlkMTM4ZGNmMjZmNTZlMjMwMzVkYmNiYTBmNThkZjA0NTgKLS0tIC9k
ZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2Zv
ci9kc3RyL2xldC1hcnktcHRybi1lbGVtLWlkLWl0ZXItdmFsLWFycmF5LXByb3RvdHlwZS5qcwpA
QCAtMCwwICsxLDc5IEBACisvLyBUaGlzIGZpbGUgd2FzIHByb2NlZHVyYWxseSBnZW5lcmF0ZWQg
ZnJvbSB0aGUgZm9sbG93aW5nIHNvdXJjZXM6CisvLyAtIHNyYy9kc3RyLWJpbmRpbmcvYXJ5LXB0
cm4tZWxlbS1pZC1pdGVyLXZhbC1hcnJheS1wcm90b3R5cGUuY2FzZQorLy8gLSBzcmMvZHN0ci1i
aW5kaW5nL2RlZmF1bHQvZm9yLWxldC50ZW1wbGF0ZQorLyotLS0KK2Rlc2NyaXB0aW9uOiBBcnJh
eSBkZXN0cnVjdHVyaW5nIHVzZXMgb3ZlcnJpZGVuIEFycmF5LnByb3RvdHlwZVtTeW1ib2wuaXRl
cmF0b3JdIChmb3Igc3RhdGVtZW50KQorZXNpZDogc2VjLWZvci1zdGF0ZW1lbnQtcnVudGltZS1z
ZW1hbnRpY3MtbGFiZWxsZWRldmFsdWF0aW9uCitmZWF0dXJlczogW1N5bWJvbC5pdGVyYXRvciwg
Z2VuZXJhdG9ycywgZGVzdHJ1Y3R1cmluZy1iaW5kaW5nXQorZmxhZ3M6IFtnZW5lcmF0ZWRdCitp
bmZvOiB8CisgICAgSXRlcmF0aW9uU3RhdGVtZW50IDoKKyAgICAgICAgZm9yICggTGV4aWNhbERl
Y2xhcmF0aW9uIEV4cHJlc3Npb25vcHQgOyBFeHByZXNzaW9ub3B0ICkgU3RhdGVtZW50CisKKyAg
ICBbLi4uXQorICAgIDcuIExldCBmb3JEY2wgYmUgdGhlIHJlc3VsdCBvZiBldmFsdWF0aW5nIExl
eGljYWxEZWNsYXJhdGlvbi4KKyAgICBbLi4uXQorCisgICAgTGV4aWNhbERlY2xhcmF0aW9uIDog
TGV0T3JDb25zdCBCaW5kaW5nTGlzdCA7CisKKyAgICAxLiBMZXQgbmV4dCBiZSB0aGUgcmVzdWx0
IG9mIGV2YWx1YXRpbmcgQmluZGluZ0xpc3QuCisgICAgMi4gUmV0dXJuSWZBYnJ1cHQobmV4dCku
CisgICAgMy4gUmV0dXJuIE5vcm1hbENvbXBsZXRpb24oZW1wdHkpLgorCisgICAgQmluZGluZ0xp
c3QgOiBCaW5kaW5nTGlzdCAsIExleGljYWxCaW5kaW5nCisKKyAgICAxLiBMZXQgbmV4dCBiZSB0
aGUgcmVzdWx0IG9mIGV2YWx1YXRpbmcgQmluZGluZ0xpc3QuCisgICAgMi4gUmV0dXJuSWZBYnJ1
cHQobmV4dCkuCisgICAgMy4gUmV0dXJuIHRoZSByZXN1bHQgb2YgZXZhbHVhdGluZyBMZXhpY2Fs
QmluZGluZy4KKworICAgIExleGljYWxCaW5kaW5nIDogQmluZGluZ1BhdHRlcm4gSW5pdGlhbGl6
ZXIKKworICAgIDEuIExldCByaHMgYmUgdGhlIHJlc3VsdCBvZiBldmFsdWF0aW5nIEluaXRpYWxp
emVyLgorICAgIDIuIExldCB2YWx1ZSBiZSBHZXRWYWx1ZShyaHMpLgorICAgIDMuIFJldHVybklm
QWJydXB0KHZhbHVlKS4KKyAgICA0LiBMZXQgZW52IGJlIHRoZSBydW5uaW5nIGV4ZWN1dGlvbiBj
b250ZXh04oCZcyBMZXhpY2FsRW52aXJvbm1lbnQuCisgICAgNS4gUmV0dXJuIHRoZSByZXN1bHQg
b2YgcGVyZm9ybWluZyBCaW5kaW5nSW5pdGlhbGl6YXRpb24gZm9yIEJpbmRpbmdQYXR0ZXJuCisg
ICAgICAgdXNpbmcgdmFsdWUgYW5kIGVudiBhcyB0aGUgYXJndW1lbnRzLgorCisgICAgUnVudGlt
ZSBTZW1hbnRpY3M6IEl0ZXJhdG9yQmluZGluZ0luaXRpYWxpemF0aW9uCisKKyAgICBTaW5nbGVO
YW1lQmluZGluZyA6IEJpbmRpbmdJZGVudGlmaWVyIEluaXRpYWxpemVyX29wdAorCisgICAgMS4g
TGV0IGJpbmRpbmdJZCBiZSBTdHJpbmdWYWx1ZSBvZiBCaW5kaW5nSWRlbnRpZmllci4KKyAgICAy
LiBMZXQgbGhzIGJlID8gUmVzb2x2ZUJpbmRpbmcoYmluZGluZ0lkLCBlbnZpcm9ubWVudCkuCisg
ICAgMy4gSWYgaXRlcmF0b3JSZWNvcmQuW1tEb25lXV0gaXMgZmFsc2UsIHRoZW4KKyAgICAgICAg
YS4gTGV0IG5leHQgYmUgSXRlcmF0b3JTdGVwKGl0ZXJhdG9yUmVjb3JkKS4KKyAgICAgICAgYi4g
SWYgbmV4dCBpcyBhbiBhYnJ1cHQgY29tcGxldGlvbiwgc2V0IGl0ZXJhdG9yUmVjb3JkLltbRG9u
ZV1dIHRvIHRydWUuCisgICAgICAgIGMuIFJldHVybklmQWJydXB0KG5leHQpLgorICAgICAgICBk
LiBJZiBuZXh0IGlzIGZhbHNlLCBzZXQgaXRlcmF0b3JSZWNvcmQuW1tEb25lXV0gdG8gdHJ1ZS4K
KyAgICAgICAgZS4gRWxzZSwKKyAgICAgICAgICAgIGkuIExldCB2IGJlIEl0ZXJhdG9yVmFsdWUo
bmV4dCkuCisgICAgICAgICAgICBpaS4gSWYgdiBpcyBhbiBhYnJ1cHQgY29tcGxldGlvbiwgc2V0
IGl0ZXJhdG9yUmVjb3JkLltbRG9uZV1dIHRvIHRydWUuCisgICAgICAgICAgICBpaWkuIFJldHVy
bklmQWJydXB0KHYpLgorICAgIFsuLi5dCisgICAgNy4gUmV0dXJuIEluaXRpYWxpemVSZWZlcmVu
Y2VkQmluZGluZyhsaHMsIHYpLgorCistLS0qLworQXJyYXkucHJvdG90eXBlW1N5bWJvbC5pdGVy
YXRvcl0gPSBmdW5jdGlvbiogKCkgeworICAgIGlmICh0aGlzLmxlbmd0aCA+IDApIHsKKyAgICAg
ICAgeWllbGQgdGhpc1swXTsKKyAgICB9CisgICAgaWYgKHRoaXMubGVuZ3RoID4gMSkgeworICAg
ICAgICB5aWVsZCB0aGlzWzFdOworICAgIH0KKyAgICBpZiAodGhpcy5sZW5ndGggPiAyKSB7Cisg
ICAgICAgIHlpZWxkIDQyOworICAgIH0KK307CisKK3ZhciBpdGVyQ291bnQgPSAwOworCitmb3Ig
KGxldCBbeCwgeSwgel0gPSBbMSwgMiwgM107IGl0ZXJDb3VudCA8IDE7ICkgeworICBhc3NlcnQu
c2FtZVZhbHVlKHgsIDEpOworICBhc3NlcnQuc2FtZVZhbHVlKHksIDIpOworICBhc3NlcnQuc2Ft
ZVZhbHVlKHosIDQyKTsKKworICBpdGVyQ291bnQgKz0gMTsKK30KKworYXNzZXJ0LnNhbWVWYWx1
ZShpdGVyQ291bnQsIDEsICdJdGVyYXRpb24gb2NjdXJyZWQgYXMgZXhwZWN0ZWQnKTsKZGlmZiAt
LWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvZm9yL2RzdHIv
bGV0LWFyeS1wdHJuLXJlc3QtaWQtZGlyZWN0LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFu
Z3VhZ2Uvc3RhdGVtZW50cy9mb3IvZHN0ci9sZXQtYXJ5LXB0cm4tcmVzdC1pZC1kaXJlY3QuanMK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uYjhkNzgwMGM3ZmJlYjgyNjZmZmRmMzBmMmYzYjBlNzE5ZjY5ZjBmNQotLS0g
L2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMv
Zm9yL2RzdHIvbGV0LWFyeS1wdHJuLXJlc3QtaWQtZGlyZWN0LmpzCkBAIC0wLDAgKzEsNjIgQEAK
Ky8vIFRoaXMgZmlsZSB3YXMgcHJvY2VkdXJhbGx5IGdlbmVyYXRlZCBmcm9tIHRoZSBmb2xsb3dp
bmcgc291cmNlczoKKy8vIC0gc3JjL2RzdHItYmluZGluZy9hcnktcHRybi1yZXN0LWlkLWRpcmVj
dC5jYXNlCisvLyAtIHNyYy9kc3RyLWJpbmRpbmcvZGVmYXVsdC9mb3ItbGV0LnRlbXBsYXRlCisv
Ki0tLQorZGVzY3JpcHRpb246IExvbmUgcmVzdCBlbGVtZW50IChkaXJlY3QgYmluZGluZykgKGZv
ciBzdGF0ZW1lbnQpCitlc2lkOiBzZWMtZm9yLXN0YXRlbWVudC1ydW50aW1lLXNlbWFudGljcy1s
YWJlbGxlZGV2YWx1YXRpb24KK2ZlYXR1cmVzOiBbZGVzdHJ1Y3R1cmluZy1iaW5kaW5nXQorZmxh
Z3M6IFtnZW5lcmF0ZWRdCitpbmNsdWRlczogW2NvbXBhcmVBcnJheS5qc10KK2luZm86IHwKKyAg
ICBJdGVyYXRpb25TdGF0ZW1lbnQgOgorICAgICAgICBmb3IgKCBMZXhpY2FsRGVjbGFyYXRpb24g
RXhwcmVzc2lvbm9wdCA7IEV4cHJlc3Npb25vcHQgKSBTdGF0ZW1lbnQKKworICAgIFsuLi5dCisg
ICAgNy4gTGV0IGZvckRjbCBiZSB0aGUgcmVzdWx0IG9mIGV2YWx1YXRpbmcgTGV4aWNhbERlY2xh
cmF0aW9uLgorICAgIFsuLi5dCisKKyAgICBMZXhpY2FsRGVjbGFyYXRpb24gOiBMZXRPckNvbnN0
IEJpbmRpbmdMaXN0IDsKKworICAgIDEuIExldCBuZXh0IGJlIHRoZSByZXN1bHQgb2YgZXZhbHVh
dGluZyBCaW5kaW5nTGlzdC4KKyAgICAyLiBSZXR1cm5JZkFicnVwdChuZXh0KS4KKyAgICAzLiBS
ZXR1cm4gTm9ybWFsQ29tcGxldGlvbihlbXB0eSkuCisKKyAgICBCaW5kaW5nTGlzdCA6IEJpbmRp
bmdMaXN0ICwgTGV4aWNhbEJpbmRpbmcKKworICAgIDEuIExldCBuZXh0IGJlIHRoZSByZXN1bHQg
b2YgZXZhbHVhdGluZyBCaW5kaW5nTGlzdC4KKyAgICAyLiBSZXR1cm5JZkFicnVwdChuZXh0KS4K
KyAgICAzLiBSZXR1cm4gdGhlIHJlc3VsdCBvZiBldmFsdWF0aW5nIExleGljYWxCaW5kaW5nLgor
CisgICAgTGV4aWNhbEJpbmRpbmcgOiBCaW5kaW5nUGF0dGVybiBJbml0aWFsaXplcgorCisgICAg
MS4gTGV0IHJocyBiZSB0aGUgcmVzdWx0IG9mIGV2YWx1YXRpbmcgSW5pdGlhbGl6ZXIuCisgICAg
Mi4gTGV0IHZhbHVlIGJlIEdldFZhbHVlKHJocykuCisgICAgMy4gUmV0dXJuSWZBYnJ1cHQodmFs
dWUpLgorICAgIDQuIExldCBlbnYgYmUgdGhlIHJ1bm5pbmcgZXhlY3V0aW9uIGNvbnRleHTigJlz
IExleGljYWxFbnZpcm9ubWVudC4KKyAgICA1LiBSZXR1cm4gdGhlIHJlc3VsdCBvZiBwZXJmb3Jt
aW5nIEJpbmRpbmdJbml0aWFsaXphdGlvbiBmb3IgQmluZGluZ1BhdHRlcm4KKyAgICAgICB1c2lu
ZyB2YWx1ZSBhbmQgZW52IGFzIHRoZSBhcmd1bWVudHMuCisKKyAgICBSdW50aW1lIFNlbWFudGlj
czogSXRlcmF0b3JCaW5kaW5nSW5pdGlhbGl6YXRpb24KKworICAgIEJpbmRpbmdSZXN0RWxlbWVu
dCA6IC4uLiBCaW5kaW5nSWRlbnRpZmllcgorCisgICAgWy4uLl0KKyAgICAyLiBMZXQgQSBiZSAh
IEFycmF5Q3JlYXRlKDApLgorICAgIDMuIExldCBuIGJlIDAuCisgICAgNC4gUmVwZWF0LAorICAg
ICAgICBbLi4uXQorICAgICAgICBmLiBQZXJmb3JtICEgQ3JlYXRlRGF0YVByb3BlcnR5T3JUaHJv
dyhBLCAhIFRvU3RyaW5nKG4pLCBuZXh0VmFsdWUpLgorICAgICAgICBnLiBTZXQgbiB0byBuICsg
MS4KKworLS0tKi8KKwordmFyIGl0ZXJDb3VudCA9IDA7CisKK2ZvciAobGV0IFsuLi54XSA9IFsx
XTsgaXRlckNvdW50IDwgMTsgKSB7CisgIGFzc2VydChBcnJheS5pc0FycmF5KHgpKTsKKyAgYXNz
ZXJ0LmNvbXBhcmVBcnJheSh4LCBbMV0pOworCisgIGl0ZXJDb3VudCArPSAxOworfQorCithc3Nl
cnQuc2FtZVZhbHVlKGl0ZXJDb3VudCwgMSwgJ0l0ZXJhdGlvbiBvY2N1cnJlZCBhcyBleHBlY3Rl
ZCcpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50
cy9mb3IvZHN0ci92YXItYXJ5LWluaXQtaXRlci1nZXQtZXJyLWFycmF5LXByb3RvdHlwZS5qcyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvZm9yL2RzdHIvdmFyLWFy
eS1pbml0LWl0ZXItZ2V0LWVyci1hcnJheS1wcm90b3R5cGUuanMKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDhlMDMw
MmJlYWExZjg5YTUzZWUwZjFiYzA4YmI1MTZiNmVlZWQyMAotLS0gL2Rldi9udWxsCisrKyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvZm9yL2RzdHIvdmFyLWFyeS1p
bml0LWl0ZXItZ2V0LWVyci1hcnJheS1wcm90b3R5cGUuanMKQEAgLTAsMCArMSw1NSBAQAorLy8g
VGhpcyBmaWxlIHdhcyBwcm9jZWR1cmFsbHkgZ2VuZXJhdGVkIGZyb20gdGhlIGZvbGxvd2luZyBz
b3VyY2VzOgorLy8gLSBzcmMvZHN0ci1iaW5kaW5nL2FyeS1pbml0LWl0ZXItZ2V0LWVyci1hcnJh
eS1wcm90b3R5cGUuY2FzZQorLy8gLSBzcmMvZHN0ci1iaW5kaW5nL2Vycm9yL2Zvci12YXIudGVt
cGxhdGUKKy8qLS0tCitkZXNjcmlwdGlvbjogQWJydXB0IGNvbXBsZXRpb24gcmV0dXJuZWQgYnkg
R2V0SXRlcmF0b3IgKGZvciBzdGF0ZW1lbnQpCitlc2lkOiBzZWMtZm9yLXN0YXRlbWVudC1ydW50
aW1lLXNlbWFudGljcy1sYWJlbGxlZGV2YWx1YXRpb24KK2ZlYXR1cmVzOiBbU3ltYm9sLml0ZXJh
dG9yLCBkZXN0cnVjdHVyaW5nLWJpbmRpbmddCitmbGFnczogW2dlbmVyYXRlZF0KK2luZm86IHwK
KyAgICBJdGVyYXRpb25TdGF0ZW1lbnQgOgorICAgICAgICBmb3IgKCB2YXIgVmFyaWFibGVEZWNs
YXJhdGlvbkxpc3QgOyBFeHByZXNzaW9ub3B0IDsgRXhwcmVzc2lvbm9wdCApIFN0YXRlbWVudAor
CisgICAgMS4gTGV0IHZhckRjbCBiZSB0aGUgcmVzdWx0IG9mIGV2YWx1YXRpbmcgVmFyaWFibGVE
ZWNsYXJhdGlvbkxpc3QuCisgICAgWy4uLl0KKworICAgIDEzLjMuMi40IFJ1bnRpbWUgU2VtYW50
aWNzOiBFdmFsdWF0aW9uCisKKyAgICBWYXJpYWJsZURlY2xhcmF0aW9uTGlzdCA6IFZhcmlhYmxl
RGVjbGFyYXRpb25MaXN0ICwgVmFyaWFibGVEZWNsYXJhdGlvbgorCisgICAgMS4gTGV0IG5leHQg
YmUgdGhlIHJlc3VsdCBvZiBldmFsdWF0aW5nIFZhcmlhYmxlRGVjbGFyYXRpb25MaXN0LgorICAg
IDIuIFJldHVybklmQWJydXB0KG5leHQpLgorICAgIDMuIFJldHVybiB0aGUgcmVzdWx0IG9mIGV2
YWx1YXRpbmcgVmFyaWFibGVEZWNsYXJhdGlvbi4KKworICAgIFZhcmlhYmxlRGVjbGFyYXRpb24g
OiBCaW5kaW5nUGF0dGVybiBJbml0aWFsaXplcgorCisgICAgMS4gTGV0IHJocyBiZSB0aGUgcmVz
dWx0IG9mIGV2YWx1YXRpbmcgSW5pdGlhbGl6ZXIuCisgICAgMi4gTGV0IHJ2YWwgYmUgR2V0VmFs
dWUocmhzKS4KKyAgICAzLiBSZXR1cm5JZkFicnVwdChydmFsKS4KKyAgICA0LiBSZXR1cm4gdGhl
IHJlc3VsdCBvZiBwZXJmb3JtaW5nIEJpbmRpbmdJbml0aWFsaXphdGlvbiBmb3IgQmluZGluZ1Bh
dHRlcm4KKyAgICAgICBwYXNzaW5nIHJ2YWwgYW5kIHVuZGVmaW5lZCBhcyBhcmd1bWVudHMuCisK
KyAgICBSdW50aW1lIFNlbWFudGljczogQmluZGluZ0luaXRpYWxpemF0aW9uCisKKyAgICBCaW5k
aW5nUGF0dGVybiA6IEFycmF5QmluZGluZ1BhdHRlcm4KKworICAgIDEuIExldCBpdGVyYXRvclJl
Y29yZCBiZSA/IEdldEl0ZXJhdG9yKHZhbHVlKS4KKworICAgIEdldEl0ZXJhdG9yICggb2JqIFsg
LCBoaW50IFsgLCBtZXRob2QgXSBdICkKKworICAgIFsuLi5dCisgICAgNC4gTGV0IGl0ZXJhdG9y
IGJlID8gQ2FsbChtZXRob2QsIG9iaikuCisKKyAgICBDYWxsICggRiwgViBbICwgYXJndW1lbnRz
TGlzdCBdICkKKworICAgIFsuLi5dCisgICAgMi4gSWYgSXNDYWxsYWJsZShGKSBpcyBmYWxzZSwg
dGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgorCistLS0qLworZGVsZXRlIEFycmF5LnByb3Rv
dHlwZVtTeW1ib2wuaXRlcmF0b3JdOworCithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgZnVuY3Rp
b24oKSB7CisgIGZvciAodmFyIFt4LCB5LCB6XSA9IFsxLCAyLCAzXTsgaXRlckNvdW50IDwgMTsg
KSB7CisgICAgcmV0dXJuOworICB9Cit9KTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvZm9yL2RzdHIvdmFyLWFyeS1wdHJuLWVsZW0taWQtaXRl
ci12YWwtYXJyYXktcHJvdG90eXBlLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uv
c3RhdGVtZW50cy9mb3IvZHN0ci92YXItYXJ5LXB0cm4tZWxlbS1pZC1pdGVyLXZhbC1hcnJheS1w
cm90b3R5cGUuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGRjOWE2OGU2YmFlZmJhNWYwM2Q2N2YwOGM3NzZjNTZi
OTFkZTAwNwotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdl
L3N0YXRlbWVudHMvZm9yL2RzdHIvdmFyLWFyeS1wdHJuLWVsZW0taWQtaXRlci12YWwtYXJyYXkt
cHJvdG90eXBlLmpzCkBAIC0wLDAgKzEsNzIgQEAKKy8vIFRoaXMgZmlsZSB3YXMgcHJvY2VkdXJh
bGx5IGdlbmVyYXRlZCBmcm9tIHRoZSBmb2xsb3dpbmcgc291cmNlczoKKy8vIC0gc3JjL2RzdHIt
YmluZGluZy9hcnktcHRybi1lbGVtLWlkLWl0ZXItdmFsLWFycmF5LXByb3RvdHlwZS5jYXNlCisv
LyAtIHNyYy9kc3RyLWJpbmRpbmcvZGVmYXVsdC9mb3ItdmFyLnRlbXBsYXRlCisvKi0tLQorZGVz
Y3JpcHRpb246IEFycmF5IGRlc3RydWN0dXJpbmcgdXNlcyBvdmVycmlkZW4gQXJyYXkucHJvdG90
eXBlW1N5bWJvbC5pdGVyYXRvcl0gKGZvciBzdGF0ZW1lbnQpCitlc2lkOiBzZWMtZm9yLXN0YXRl
bWVudC1ydW50aW1lLXNlbWFudGljcy1sYWJlbGxlZGV2YWx1YXRpb24KK2ZlYXR1cmVzOiBbU3lt
Ym9sLml0ZXJhdG9yLCBnZW5lcmF0b3JzLCBkZXN0cnVjdHVyaW5nLWJpbmRpbmddCitmbGFnczog
W2dlbmVyYXRlZF0KK2luZm86IHwKKyAgICBJdGVyYXRpb25TdGF0ZW1lbnQgOgorICAgICAgICBm
b3IgKCB2YXIgVmFyaWFibGVEZWNsYXJhdGlvbkxpc3QgOyBFeHByZXNzaW9ub3B0IDsgRXhwcmVz
c2lvbm9wdCApIFN0YXRlbWVudAorCisgICAgMS4gTGV0IHZhckRjbCBiZSB0aGUgcmVzdWx0IG9m
IGV2YWx1YXRpbmcgVmFyaWFibGVEZWNsYXJhdGlvbkxpc3QuCisgICAgWy4uLl0KKworICAgIDEz
LjMuMi40IFJ1bnRpbWUgU2VtYW50aWNzOiBFdmFsdWF0aW9uCisKKyAgICBWYXJpYWJsZURlY2xh
cmF0aW9uTGlzdCA6IFZhcmlhYmxlRGVjbGFyYXRpb25MaXN0ICwgVmFyaWFibGVEZWNsYXJhdGlv
bgorCisgICAgMS4gTGV0IG5leHQgYmUgdGhlIHJlc3VsdCBvZiBldmFsdWF0aW5nIFZhcmlhYmxl
RGVjbGFyYXRpb25MaXN0LgorICAgIDIuIFJldHVybklmQWJydXB0KG5leHQpLgorICAgIDMuIFJl
dHVybiB0aGUgcmVzdWx0IG9mIGV2YWx1YXRpbmcgVmFyaWFibGVEZWNsYXJhdGlvbi4KKworICAg
IFZhcmlhYmxlRGVjbGFyYXRpb24gOiBCaW5kaW5nUGF0dGVybiBJbml0aWFsaXplcgorCisgICAg
MS4gTGV0IHJocyBiZSB0aGUgcmVzdWx0IG9mIGV2YWx1YXRpbmcgSW5pdGlhbGl6ZXIuCisgICAg
Mi4gTGV0IHJ2YWwgYmUgR2V0VmFsdWUocmhzKS4KKyAgICAzLiBSZXR1cm5JZkFicnVwdChydmFs
KS4KKyAgICA0LiBSZXR1cm4gdGhlIHJlc3VsdCBvZiBwZXJmb3JtaW5nIEJpbmRpbmdJbml0aWFs
aXphdGlvbiBmb3IgQmluZGluZ1BhdHRlcm4KKyAgICAgICBwYXNzaW5nIHJ2YWwgYW5kIHVuZGVm
aW5lZCBhcyBhcmd1bWVudHMuCisKKyAgICBSdW50aW1lIFNlbWFudGljczogSXRlcmF0b3JCaW5k
aW5nSW5pdGlhbGl6YXRpb24KKworICAgIFNpbmdsZU5hbWVCaW5kaW5nIDogQmluZGluZ0lkZW50
aWZpZXIgSW5pdGlhbGl6ZXJfb3B0CisKKyAgICAxLiBMZXQgYmluZGluZ0lkIGJlIFN0cmluZ1Zh
bHVlIG9mIEJpbmRpbmdJZGVudGlmaWVyLgorICAgIDIuIExldCBsaHMgYmUgPyBSZXNvbHZlQmlu
ZGluZyhiaW5kaW5nSWQsIGVudmlyb25tZW50KS4KKyAgICAzLiBJZiBpdGVyYXRvclJlY29yZC5b
W0RvbmVdXSBpcyBmYWxzZSwgdGhlbgorICAgICAgICBhLiBMZXQgbmV4dCBiZSBJdGVyYXRvclN0
ZXAoaXRlcmF0b3JSZWNvcmQpLgorICAgICAgICBiLiBJZiBuZXh0IGlzIGFuIGFicnVwdCBjb21w
bGV0aW9uLCBzZXQgaXRlcmF0b3JSZWNvcmQuW1tEb25lXV0gdG8gdHJ1ZS4KKyAgICAgICAgYy4g
UmV0dXJuSWZBYnJ1cHQobmV4dCkuCisgICAgICAgIGQuIElmIG5leHQgaXMgZmFsc2UsIHNldCBp
dGVyYXRvclJlY29yZC5bW0RvbmVdXSB0byB0cnVlLgorICAgICAgICBlLiBFbHNlLAorICAgICAg
ICAgICAgaS4gTGV0IHYgYmUgSXRlcmF0b3JWYWx1ZShuZXh0KS4KKyAgICAgICAgICAgIGlpLiBJ
ZiB2IGlzIGFuIGFicnVwdCBjb21wbGV0aW9uLCBzZXQgaXRlcmF0b3JSZWNvcmQuW1tEb25lXV0g
dG8gdHJ1ZS4KKyAgICAgICAgICAgIGlpaS4gUmV0dXJuSWZBYnJ1cHQodikuCisgICAgWy4uLl0K
KyAgICA3LiBSZXR1cm4gSW5pdGlhbGl6ZVJlZmVyZW5jZWRCaW5kaW5nKGxocywgdikuCisKKy0t
LSovCitBcnJheS5wcm90b3R5cGVbU3ltYm9sLml0ZXJhdG9yXSA9IGZ1bmN0aW9uKiAoKSB7Cisg
ICAgaWYgKHRoaXMubGVuZ3RoID4gMCkgeworICAgICAgICB5aWVsZCB0aGlzWzBdOworICAgIH0K
KyAgICBpZiAodGhpcy5sZW5ndGggPiAxKSB7CisgICAgICAgIHlpZWxkIHRoaXNbMV07CisgICAg
fQorICAgIGlmICh0aGlzLmxlbmd0aCA+IDIpIHsKKyAgICAgICAgeWllbGQgNDI7CisgICAgfQor
fTsKKwordmFyIGl0ZXJDb3VudCA9IDA7CisKK2ZvciAodmFyIFt4LCB5LCB6XSA9IFsxLCAyLCAz
XTsgaXRlckNvdW50IDwgMTsgKSB7CisgIGFzc2VydC5zYW1lVmFsdWUoeCwgMSk7CisgIGFzc2Vy
dC5zYW1lVmFsdWUoeSwgMik7CisgIGFzc2VydC5zYW1lVmFsdWUoeiwgNDIpOworICBpdGVyQ291
bnQgKz0gMTsKK30KKworYXNzZXJ0LnNhbWVWYWx1ZShpdGVyQ291bnQsIDEsICdJdGVyYXRpb24g
b2NjdXJyZWQgYXMgZXhwZWN0ZWQnKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2xhbmd1YWdlL3N0YXRlbWVudHMvZm9yL2RzdHIvdmFyLWFyeS1wdHJuLXJlc3QtaWQtZGlyZWN0
LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9mb3IvZHN0ci92
YXItYXJ5LXB0cm4tcmVzdC1pZC1kaXJlY3QuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTc4YWE2NzVlNzdiZTNh
ZTJlMzJlMGJmMmQxMDFkZGZiZjQ0OWMyMQotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvZm9yL2RzdHIvdmFyLWFyeS1wdHJuLXJlc3Qt
aWQtZGlyZWN0LmpzCkBAIC0wLDAgKzEsNTUgQEAKKy8vIFRoaXMgZmlsZSB3YXMgcHJvY2VkdXJh
bGx5IGdlbmVyYXRlZCBmcm9tIHRoZSBmb2xsb3dpbmcgc291cmNlczoKKy8vIC0gc3JjL2RzdHIt
YmluZGluZy9hcnktcHRybi1yZXN0LWlkLWRpcmVjdC5jYXNlCisvLyAtIHNyYy9kc3RyLWJpbmRp
bmcvZGVmYXVsdC9mb3ItdmFyLnRlbXBsYXRlCisvKi0tLQorZGVzY3JpcHRpb246IExvbmUgcmVz
dCBlbGVtZW50IChkaXJlY3QgYmluZGluZykgKGZvciBzdGF0ZW1lbnQpCitlc2lkOiBzZWMtZm9y
LXN0YXRlbWVudC1ydW50aW1lLXNlbWFudGljcy1sYWJlbGxlZGV2YWx1YXRpb24KK2ZlYXR1cmVz
OiBbZGVzdHJ1Y3R1cmluZy1iaW5kaW5nXQorZmxhZ3M6IFtnZW5lcmF0ZWRdCitpbmNsdWRlczog
W2NvbXBhcmVBcnJheS5qc10KK2luZm86IHwKKyAgICBJdGVyYXRpb25TdGF0ZW1lbnQgOgorICAg
ICAgICBmb3IgKCB2YXIgVmFyaWFibGVEZWNsYXJhdGlvbkxpc3QgOyBFeHByZXNzaW9ub3B0IDsg
RXhwcmVzc2lvbm9wdCApIFN0YXRlbWVudAorCisgICAgMS4gTGV0IHZhckRjbCBiZSB0aGUgcmVz
dWx0IG9mIGV2YWx1YXRpbmcgVmFyaWFibGVEZWNsYXJhdGlvbkxpc3QuCisgICAgWy4uLl0KKwor
ICAgIDEzLjMuMi40IFJ1bnRpbWUgU2VtYW50aWNzOiBFdmFsdWF0aW9uCisKKyAgICBWYXJpYWJs
ZURlY2xhcmF0aW9uTGlzdCA6IFZhcmlhYmxlRGVjbGFyYXRpb25MaXN0ICwgVmFyaWFibGVEZWNs
YXJhdGlvbgorCisgICAgMS4gTGV0IG5leHQgYmUgdGhlIHJlc3VsdCBvZiBldmFsdWF0aW5nIFZh
cmlhYmxlRGVjbGFyYXRpb25MaXN0LgorICAgIDIuIFJldHVybklmQWJydXB0KG5leHQpLgorICAg
IDMuIFJldHVybiB0aGUgcmVzdWx0IG9mIGV2YWx1YXRpbmcgVmFyaWFibGVEZWNsYXJhdGlvbi4K
KworICAgIFZhcmlhYmxlRGVjbGFyYXRpb24gOiBCaW5kaW5nUGF0dGVybiBJbml0aWFsaXplcgor
CisgICAgMS4gTGV0IHJocyBiZSB0aGUgcmVzdWx0IG9mIGV2YWx1YXRpbmcgSW5pdGlhbGl6ZXIu
CisgICAgMi4gTGV0IHJ2YWwgYmUgR2V0VmFsdWUocmhzKS4KKyAgICAzLiBSZXR1cm5JZkFicnVw
dChydmFsKS4KKyAgICA0LiBSZXR1cm4gdGhlIHJlc3VsdCBvZiBwZXJmb3JtaW5nIEJpbmRpbmdJ
bml0aWFsaXphdGlvbiBmb3IgQmluZGluZ1BhdHRlcm4KKyAgICAgICBwYXNzaW5nIHJ2YWwgYW5k
IHVuZGVmaW5lZCBhcyBhcmd1bWVudHMuCisKKyAgICBSdW50aW1lIFNlbWFudGljczogSXRlcmF0
b3JCaW5kaW5nSW5pdGlhbGl6YXRpb24KKworICAgIEJpbmRpbmdSZXN0RWxlbWVudCA6IC4uLiBC
aW5kaW5nSWRlbnRpZmllcgorCisgICAgWy4uLl0KKyAgICAyLiBMZXQgQSBiZSAhIEFycmF5Q3Jl
YXRlKDApLgorICAgIDMuIExldCBuIGJlIDAuCisgICAgNC4gUmVwZWF0LAorICAgICAgICBbLi4u
XQorICAgICAgICBmLiBQZXJmb3JtICEgQ3JlYXRlRGF0YVByb3BlcnR5T3JUaHJvdyhBLCAhIFRv
U3RyaW5nKG4pLCBuZXh0VmFsdWUpLgorICAgICAgICBnLiBTZXQgbiB0byBuICsgMS4KKworLS0t
Ki8KKwordmFyIGl0ZXJDb3VudCA9IDA7CisKK2ZvciAodmFyIFsuLi54XSA9IFsxXTsgaXRlckNv
dW50IDwgMTsgKSB7CisgIGFzc2VydChBcnJheS5pc0FycmF5KHgpKTsKKyAgYXNzZXJ0LmNvbXBh
cmVBcnJheSh4LCBbMV0pOworICBpdGVyQ291bnQgKz0gMTsKK30KKworYXNzZXJ0LnNhbWVWYWx1
ZShpdGVyQ291bnQsIDEsICdJdGVyYXRpb24gb2NjdXJyZWQgYXMgZXhwZWN0ZWQnKTsKZGlmZiAt
LWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvZnVuY3Rpb24v
ZHN0ci9hcnktaW5pdC1pdGVyLWdldC1lcnItYXJyYXktcHJvdG90eXBlLmpzIGIvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9mdW5jdGlvbi9kc3RyL2FyeS1pbml0LWl0
ZXItZ2V0LWVyci1hcnJheS1wcm90b3R5cGUuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzI1YTc5Y2Y1ZjczMWZl
NDI0N2ViMTY0M2MyMGMwMGQyOGJlNDRhOQotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvZnVuY3Rpb24vZHN0ci9hcnktaW5pdC1pdGVy
LWdldC1lcnItYXJyYXktcHJvdG90eXBlLmpzCkBAIC0wLDAgKzEsNjQgQEAKKy8vIFRoaXMgZmls
ZSB3YXMgcHJvY2VkdXJhbGx5IGdlbmVyYXRlZCBmcm9tIHRoZSBmb2xsb3dpbmcgc291cmNlczoK
Ky8vIC0gc3JjL2RzdHItYmluZGluZy9hcnktaW5pdC1pdGVyLWdldC1lcnItYXJyYXktcHJvdG90
eXBlLmNhc2UKKy8vIC0gc3JjL2RzdHItYmluZGluZy9lcnJvci9mdW5jLWRlY2wudGVtcGxhdGUK
Ky8qLS0tCitkZXNjcmlwdGlvbjogQWJydXB0IGNvbXBsZXRpb24gcmV0dXJuZWQgYnkgR2V0SXRl
cmF0b3IgKGZ1bmN0aW9uIGRlY2xhcmF0aW9uKQorZXNpZDogc2VjLWZ1bmN0aW9uLWRlZmluaXRp
b25zLXJ1bnRpbWUtc2VtYW50aWNzLWluc3RhbnRpYXRlZnVuY3Rpb25vYmplY3QKK2ZlYXR1cmVz
OiBbU3ltYm9sLml0ZXJhdG9yLCBkZXN0cnVjdHVyaW5nLWJpbmRpbmddCitmbGFnczogW2dlbmVy
YXRlZF0KK2luZm86IHwKKyAgICBGdW5jdGlvbkRlY2xhcmF0aW9uIDoKKyAgICAgICAgZnVuY3Rp
b24gQmluZGluZ0lkZW50aWZpZXIgKCBGb3JtYWxQYXJhbWV0ZXJzICkgeyBGdW5jdGlvbkJvZHkg
fQorCisgICAgICAgIFsuLi5dCisgICAgICAgIDMuIExldCBGIGJlIEZ1bmN0aW9uQ3JlYXRlKE5v
cm1hbCwgRm9ybWFsUGFyYW1ldGVycywgRnVuY3Rpb25Cb2R5LAorICAgICAgICAgICBzY29wZSwg
c3RyaWN0KS4KKyAgICAgICAgWy4uLl0KKworICAgIDkuMi4xIFtbQ2FsbF1dICggdGhpc0FyZ3Vt
ZW50LCBhcmd1bWVudHNMaXN0KQorCisgICAgWy4uLl0KKyAgICA3LiBMZXQgcmVzdWx0IGJlIE9y
ZGluYXJ5Q2FsbEV2YWx1YXRlQm9keShGLCBhcmd1bWVudHNMaXN0KS4KKyAgICBbLi4uXQorCisg
ICAgOS4yLjEuMyBPcmRpbmFyeUNhbGxFdmFsdWF0ZUJvZHkgKCBGLCBhcmd1bWVudHNMaXN0ICkK
KworICAgIDEuIExldCBzdGF0dXMgYmUgRnVuY3Rpb25EZWNsYXJhdGlvbkluc3RhbnRpYXRpb24o
RiwgYXJndW1lbnRzTGlzdCkuCisgICAgWy4uLl0KKworICAgIDkuMi4xMiBGdW5jdGlvbkRlY2xh
cmF0aW9uSW5zdGFudGlhdGlvbihmdW5jLCBhcmd1bWVudHNMaXN0KQorCisgICAgWy4uLl0KKyAg
ICAyMy4gTGV0IGl0ZXJhdG9yUmVjb3JkIGJlIFJlY29yZCB7W1tpdGVyYXRvcl1dOgorICAgICAg
ICBDcmVhdGVMaXN0SXRlcmF0b3IoYXJndW1lbnRzTGlzdCksIFtbZG9uZV1dOiBmYWxzZX0uCisg
ICAgMjQuIElmIGhhc0R1cGxpY2F0ZXMgaXMgdHJ1ZSwgdGhlbgorICAgICAgICBbLi4uXQorICAg
IDI1LiBFbHNlLAorICAgICAgICBiLiBMZXQgZm9ybWFsU3RhdHVzIGJlIEl0ZXJhdG9yQmluZGlu
Z0luaXRpYWxpemF0aW9uIGZvciBmb3JtYWxzIHdpdGgKKyAgICAgICAgICAgaXRlcmF0b3JSZWNv
cmQgYW5kIGVudiBhcyBhcmd1bWVudHMuCisgICAgWy4uLl0KKworICAgIFJ1bnRpbWUgU2VtYW50
aWNzOiBCaW5kaW5nSW5pdGlhbGl6YXRpb24KKworICAgIEJpbmRpbmdQYXR0ZXJuIDogQXJyYXlC
aW5kaW5nUGF0dGVybgorCisgICAgMS4gTGV0IGl0ZXJhdG9yUmVjb3JkIGJlID8gR2V0SXRlcmF0
b3IodmFsdWUpLgorCisgICAgR2V0SXRlcmF0b3IgKCBvYmogWyAsIGhpbnQgWyAsIG1ldGhvZCBd
IF0gKQorCisgICAgWy4uLl0KKyAgICA0LiBMZXQgaXRlcmF0b3IgYmUgPyBDYWxsKG1ldGhvZCwg
b2JqKS4KKworICAgIENhbGwgKCBGLCBWIFsgLCBhcmd1bWVudHNMaXN0IF0gKQorCisgICAgWy4u
Ll0KKyAgICAyLiBJZiBJc0NhbGxhYmxlKEYpIGlzIGZhbHNlLCB0aHJvdyBhIFR5cGVFcnJvciBl
eGNlcHRpb24uCisKKy0tLSovCitkZWxldGUgQXJyYXkucHJvdG90eXBlW1N5bWJvbC5pdGVyYXRv
cl07CisKK2Z1bmN0aW9uIGYoW3gsIHksIHpdKSB7fQorCithc3NlcnQudGhyb3dzKFR5cGVFcnJv
ciwgZnVuY3Rpb24oKSB7CisgIGYoWzEsIDIsIDNdKTsKK30pOwpkaWZmIC0tZ2l0IGEvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9mdW5jdGlvbi9kc3RyL2FyeS1wdHJu
LWVsZW0taWQtaXRlci12YWwtYXJyYXktcHJvdG90eXBlLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9mdW5jdGlvbi9kc3RyL2FyeS1wdHJuLWVsZW0taWQtaXRl
ci12YWwtYXJyYXktcHJvdG90eXBlLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE3ZjJhZmJjNTU4NWNkN2Q4OTdk
YzFlYjgwYmU4YmRmZDA2ZjA5M2UKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2Z1bmN0aW9uL2RzdHIvYXJ5LXB0cm4tZWxlbS1pZC1p
dGVyLXZhbC1hcnJheS1wcm90b3R5cGUuanMKQEAgLTAsMCArMSw4MCBAQAorLy8gVGhpcyBmaWxl
IHdhcyBwcm9jZWR1cmFsbHkgZ2VuZXJhdGVkIGZyb20gdGhlIGZvbGxvd2luZyBzb3VyY2VzOgor
Ly8gLSBzcmMvZHN0ci1iaW5kaW5nL2FyeS1wdHJuLWVsZW0taWQtaXRlci12YWwtYXJyYXktcHJv
dG90eXBlLmNhc2UKKy8vIC0gc3JjL2RzdHItYmluZGluZy9kZWZhdWx0L2Z1bmMtZGVjbC50ZW1w
bGF0ZQorLyotLS0KK2Rlc2NyaXB0aW9uOiBBcnJheSBkZXN0cnVjdHVyaW5nIHVzZXMgb3ZlcnJp
ZGVuIEFycmF5LnByb3RvdHlwZVtTeW1ib2wuaXRlcmF0b3JdIChmdW5jdGlvbiBkZWNsYXJhdGlv
bikKK2VzaWQ6IHNlYy1mdW5jdGlvbi1kZWZpbml0aW9ucy1ydW50aW1lLXNlbWFudGljcy1pbnN0
YW50aWF0ZWZ1bmN0aW9ub2JqZWN0CitmZWF0dXJlczogW1N5bWJvbC5pdGVyYXRvciwgZ2VuZXJh
dG9ycywgZGVzdHJ1Y3R1cmluZy1iaW5kaW5nXQorZmxhZ3M6IFtnZW5lcmF0ZWRdCitpbmZvOiB8
CisgICAgRnVuY3Rpb25EZWNsYXJhdGlvbiA6CisgICAgICAgIGZ1bmN0aW9uIEJpbmRpbmdJZGVu
dGlmaWVyICggRm9ybWFsUGFyYW1ldGVycyApIHsgRnVuY3Rpb25Cb2R5IH0KKworICAgICAgICBb
Li4uXQorICAgICAgICAzLiBMZXQgRiBiZSBGdW5jdGlvbkNyZWF0ZShOb3JtYWwsIEZvcm1hbFBh
cmFtZXRlcnMsIEZ1bmN0aW9uQm9keSwKKyAgICAgICAgICAgc2NvcGUsIHN0cmljdCkuCisgICAg
ICAgIFsuLi5dCisKKyAgICA5LjIuMSBbW0NhbGxdXSAoIHRoaXNBcmd1bWVudCwgYXJndW1lbnRz
TGlzdCkKKworICAgIFsuLi5dCisgICAgNy4gTGV0IHJlc3VsdCBiZSBPcmRpbmFyeUNhbGxFdmFs
dWF0ZUJvZHkoRiwgYXJndW1lbnRzTGlzdCkuCisgICAgWy4uLl0KKworICAgIDkuMi4xLjMgT3Jk
aW5hcnlDYWxsRXZhbHVhdGVCb2R5ICggRiwgYXJndW1lbnRzTGlzdCApCisKKyAgICAxLiBMZXQg
c3RhdHVzIGJlIEZ1bmN0aW9uRGVjbGFyYXRpb25JbnN0YW50aWF0aW9uKEYsIGFyZ3VtZW50c0xp
c3QpLgorICAgIFsuLi5dCisKKyAgICA5LjIuMTIgRnVuY3Rpb25EZWNsYXJhdGlvbkluc3RhbnRp
YXRpb24oZnVuYywgYXJndW1lbnRzTGlzdCkKKworICAgIFsuLi5dCisgICAgMjMuIExldCBpdGVy
YXRvclJlY29yZCBiZSBSZWNvcmQge1tbaXRlcmF0b3JdXToKKyAgICAgICAgQ3JlYXRlTGlzdEl0
ZXJhdG9yKGFyZ3VtZW50c0xpc3QpLCBbW2RvbmVdXTogZmFsc2V9LgorICAgIDI0LiBJZiBoYXNE
dXBsaWNhdGVzIGlzIHRydWUsIHRoZW4KKyAgICAgICAgWy4uLl0KKyAgICAyNS4gRWxzZSwKKyAg
ICAgICAgYi4gTGV0IGZvcm1hbFN0YXR1cyBiZSBJdGVyYXRvckJpbmRpbmdJbml0aWFsaXphdGlv
biBmb3IgZm9ybWFscyB3aXRoCisgICAgICAgICAgIGl0ZXJhdG9yUmVjb3JkIGFuZCBlbnYgYXMg
YXJndW1lbnRzLgorICAgIFsuLi5dCisKKyAgICBSdW50aW1lIFNlbWFudGljczogSXRlcmF0b3JC
aW5kaW5nSW5pdGlhbGl6YXRpb24KKworICAgIFNpbmdsZU5hbWVCaW5kaW5nIDogQmluZGluZ0lk
ZW50aWZpZXIgSW5pdGlhbGl6ZXJfb3B0CisKKyAgICAxLiBMZXQgYmluZGluZ0lkIGJlIFN0cmlu
Z1ZhbHVlIG9mIEJpbmRpbmdJZGVudGlmaWVyLgorICAgIDIuIExldCBsaHMgYmUgPyBSZXNvbHZl
QmluZGluZyhiaW5kaW5nSWQsIGVudmlyb25tZW50KS4KKyAgICAzLiBJZiBpdGVyYXRvclJlY29y
ZC5bW0RvbmVdXSBpcyBmYWxzZSwgdGhlbgorICAgICAgICBhLiBMZXQgbmV4dCBiZSBJdGVyYXRv
clN0ZXAoaXRlcmF0b3JSZWNvcmQpLgorICAgICAgICBiLiBJZiBuZXh0IGlzIGFuIGFicnVwdCBj
b21wbGV0aW9uLCBzZXQgaXRlcmF0b3JSZWNvcmQuW1tEb25lXV0gdG8gdHJ1ZS4KKyAgICAgICAg
Yy4gUmV0dXJuSWZBYnJ1cHQobmV4dCkuCisgICAgICAgIGQuIElmIG5leHQgaXMgZmFsc2UsIHNl
dCBpdGVyYXRvclJlY29yZC5bW0RvbmVdXSB0byB0cnVlLgorICAgICAgICBlLiBFbHNlLAorICAg
ICAgICAgICAgaS4gTGV0IHYgYmUgSXRlcmF0b3JWYWx1ZShuZXh0KS4KKyAgICAgICAgICAgIGlp
LiBJZiB2IGlzIGFuIGFicnVwdCBjb21wbGV0aW9uLCBzZXQgaXRlcmF0b3JSZWNvcmQuW1tEb25l
XV0gdG8gdHJ1ZS4KKyAgICAgICAgICAgIGlpaS4gUmV0dXJuSWZBYnJ1cHQodikuCisgICAgWy4u
Ll0KKyAgICA3LiBSZXR1cm4gSW5pdGlhbGl6ZVJlZmVyZW5jZWRCaW5kaW5nKGxocywgdikuCisK
Ky0tLSovCitBcnJheS5wcm90b3R5cGVbU3ltYm9sLml0ZXJhdG9yXSA9IGZ1bmN0aW9uKiAoKSB7
CisgICAgaWYgKHRoaXMubGVuZ3RoID4gMCkgeworICAgICAgICB5aWVsZCB0aGlzWzBdOworICAg
IH0KKyAgICBpZiAodGhpcy5sZW5ndGggPiAxKSB7CisgICAgICAgIHlpZWxkIHRoaXNbMV07Cisg
ICAgfQorICAgIGlmICh0aGlzLmxlbmd0aCA+IDIpIHsKKyAgICAgICAgeWllbGQgNDI7CisgICAg
fQorfTsKKwordmFyIGNhbGxDb3VudCA9IDA7CitmdW5jdGlvbiBmKFt4LCB5LCB6XSkgeworICBh
c3NlcnQuc2FtZVZhbHVlKHgsIDEpOworICBhc3NlcnQuc2FtZVZhbHVlKHksIDIpOworICBhc3Nl
cnQuc2FtZVZhbHVlKHosIDQyKTsKKyAgY2FsbENvdW50ID0gY2FsbENvdW50ICsgMTsKK307Citm
KFsxLCAyLCAzXSk7Cithc3NlcnQuc2FtZVZhbHVlKGNhbGxDb3VudCwgMSwgJ2Z1bmN0aW9uIGlu
dm9rZWQgZXhhY3RseSBvbmNlJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9s
YW5ndWFnZS9zdGF0ZW1lbnRzL2Z1bmN0aW9uL2RzdHIvYXJ5LXB0cm4tcmVzdC1pZC1kaXJlY3Qu
anMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2Z1bmN0aW9uL2Rz
dHIvYXJ5LXB0cm4tcmVzdC1pZC1kaXJlY3QuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzY3YzA0NWU0NzY1MDE5
MDYxNmUzZTNmZGMzYTBjYjAzYTJmMjQwOAotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvZnVuY3Rpb24vZHN0ci9hcnktcHRybi1yZXN0
LWlkLWRpcmVjdC5qcwpAQCAtMCwwICsxLDYzIEBACisvLyBUaGlzIGZpbGUgd2FzIHByb2NlZHVy
YWxseSBnZW5lcmF0ZWQgZnJvbSB0aGUgZm9sbG93aW5nIHNvdXJjZXM6CisvLyAtIHNyYy9kc3Ry
LWJpbmRpbmcvYXJ5LXB0cm4tcmVzdC1pZC1kaXJlY3QuY2FzZQorLy8gLSBzcmMvZHN0ci1iaW5k
aW5nL2RlZmF1bHQvZnVuYy1kZWNsLnRlbXBsYXRlCisvKi0tLQorZGVzY3JpcHRpb246IExvbmUg
cmVzdCBlbGVtZW50IChkaXJlY3QgYmluZGluZykgKGZ1bmN0aW9uIGRlY2xhcmF0aW9uKQorZXNp
ZDogc2VjLWZ1bmN0aW9uLWRlZmluaXRpb25zLXJ1bnRpbWUtc2VtYW50aWNzLWluc3RhbnRpYXRl
ZnVuY3Rpb25vYmplY3QKK2ZlYXR1cmVzOiBbZGVzdHJ1Y3R1cmluZy1iaW5kaW5nXQorZmxhZ3M6
IFtnZW5lcmF0ZWRdCitpbmNsdWRlczogW2NvbXBhcmVBcnJheS5qc10KK2luZm86IHwKKyAgICBG
dW5jdGlvbkRlY2xhcmF0aW9uIDoKKyAgICAgICAgZnVuY3Rpb24gQmluZGluZ0lkZW50aWZpZXIg
KCBGb3JtYWxQYXJhbWV0ZXJzICkgeyBGdW5jdGlvbkJvZHkgfQorCisgICAgICAgIFsuLi5dCisg
ICAgICAgIDMuIExldCBGIGJlIEZ1bmN0aW9uQ3JlYXRlKE5vcm1hbCwgRm9ybWFsUGFyYW1ldGVy
cywgRnVuY3Rpb25Cb2R5LAorICAgICAgICAgICBzY29wZSwgc3RyaWN0KS4KKyAgICAgICAgWy4u
Ll0KKworICAgIDkuMi4xIFtbQ2FsbF1dICggdGhpc0FyZ3VtZW50LCBhcmd1bWVudHNMaXN0KQor
CisgICAgWy4uLl0KKyAgICA3LiBMZXQgcmVzdWx0IGJlIE9yZGluYXJ5Q2FsbEV2YWx1YXRlQm9k
eShGLCBhcmd1bWVudHNMaXN0KS4KKyAgICBbLi4uXQorCisgICAgOS4yLjEuMyBPcmRpbmFyeUNh
bGxFdmFsdWF0ZUJvZHkgKCBGLCBhcmd1bWVudHNMaXN0ICkKKworICAgIDEuIExldCBzdGF0dXMg
YmUgRnVuY3Rpb25EZWNsYXJhdGlvbkluc3RhbnRpYXRpb24oRiwgYXJndW1lbnRzTGlzdCkuCisg
ICAgWy4uLl0KKworICAgIDkuMi4xMiBGdW5jdGlvbkRlY2xhcmF0aW9uSW5zdGFudGlhdGlvbihm
dW5jLCBhcmd1bWVudHNMaXN0KQorCisgICAgWy4uLl0KKyAgICAyMy4gTGV0IGl0ZXJhdG9yUmVj
b3JkIGJlIFJlY29yZCB7W1tpdGVyYXRvcl1dOgorICAgICAgICBDcmVhdGVMaXN0SXRlcmF0b3Io
YXJndW1lbnRzTGlzdCksIFtbZG9uZV1dOiBmYWxzZX0uCisgICAgMjQuIElmIGhhc0R1cGxpY2F0
ZXMgaXMgdHJ1ZSwgdGhlbgorICAgICAgICBbLi4uXQorICAgIDI1LiBFbHNlLAorICAgICAgICBi
LiBMZXQgZm9ybWFsU3RhdHVzIGJlIEl0ZXJhdG9yQmluZGluZ0luaXRpYWxpemF0aW9uIGZvciBm
b3JtYWxzIHdpdGgKKyAgICAgICAgICAgaXRlcmF0b3JSZWNvcmQgYW5kIGVudiBhcyBhcmd1bWVu
dHMuCisgICAgWy4uLl0KKworICAgIFJ1bnRpbWUgU2VtYW50aWNzOiBJdGVyYXRvckJpbmRpbmdJ
bml0aWFsaXphdGlvbgorCisgICAgQmluZGluZ1Jlc3RFbGVtZW50IDogLi4uIEJpbmRpbmdJZGVu
dGlmaWVyCisKKyAgICBbLi4uXQorICAgIDIuIExldCBBIGJlICEgQXJyYXlDcmVhdGUoMCkuCisg
ICAgMy4gTGV0IG4gYmUgMC4KKyAgICA0LiBSZXBlYXQsCisgICAgICAgIFsuLi5dCisgICAgICAg
IGYuIFBlcmZvcm0gISBDcmVhdGVEYXRhUHJvcGVydHlPclRocm93KEEsICEgVG9TdHJpbmcobiks
IG5leHRWYWx1ZSkuCisgICAgICAgIGcuIFNldCBuIHRvIG4gKyAxLgorCistLS0qLworCit2YXIg
Y2FsbENvdW50ID0gMDsKK2Z1bmN0aW9uIGYoWy4uLnhdKSB7CisgIGFzc2VydChBcnJheS5pc0Fy
cmF5KHgpKTsKKyAgYXNzZXJ0LmNvbXBhcmVBcnJheSh4LCBbMV0pOworICBjYWxsQ291bnQgPSBj
YWxsQ291bnQgKyAxOworfTsKK2YoWzFdKTsKK2Fzc2VydC5zYW1lVmFsdWUoY2FsbENvdW50LCAx
LCAnZnVuY3Rpb24gaW52b2tlZCBleGFjdGx5IG9uY2UnKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvZnVuY3Rpb24vZHN0ci9kZmx0LWFyeS1p
bml0LWl0ZXItZ2V0LWVyci1hcnJheS1wcm90b3R5cGUuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2Z1bmN0aW9uL2RzdHIvZGZsdC1hcnktaW5pdC1pdGVyLWdl
dC1lcnItYXJyYXktcHJvdG90eXBlLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2NTg1NWM2ODE3OWM0Y2RjMWMz
YzYxMjIyYzA4NmFmNDQ2MTIyMWEKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2Z1bmN0aW9uL2RzdHIvZGZsdC1hcnktaW5pdC1pdGVy
LWdldC1lcnItYXJyYXktcHJvdG90eXBlLmpzCkBAIC0wLDAgKzEsNjQgQEAKKy8vIFRoaXMgZmls
ZSB3YXMgcHJvY2VkdXJhbGx5IGdlbmVyYXRlZCBmcm9tIHRoZSBmb2xsb3dpbmcgc291cmNlczoK
Ky8vIC0gc3JjL2RzdHItYmluZGluZy9hcnktaW5pdC1pdGVyLWdldC1lcnItYXJyYXktcHJvdG90
eXBlLmNhc2UKKy8vIC0gc3JjL2RzdHItYmluZGluZy9lcnJvci9mdW5jLWRlY2wtZGZsdC50ZW1w
bGF0ZQorLyotLS0KK2Rlc2NyaXB0aW9uOiBBYnJ1cHQgY29tcGxldGlvbiByZXR1cm5lZCBieSBH
ZXRJdGVyYXRvciAoZnVuY3Rpb24gZGVjbGFyYXRpb24gKGRlZmF1bHQgcGFyYW1ldGVyKSkKK2Vz
aWQ6IHNlYy1mdW5jdGlvbi1kZWZpbml0aW9ucy1ydW50aW1lLXNlbWFudGljcy1pbnN0YW50aWF0
ZWZ1bmN0aW9ub2JqZWN0CitmZWF0dXJlczogW1N5bWJvbC5pdGVyYXRvciwgZGVzdHJ1Y3R1cmlu
Zy1iaW5kaW5nLCBkZWZhdWx0LXBhcmFtZXRlcnNdCitmbGFnczogW2dlbmVyYXRlZF0KK2luZm86
IHwKKyAgICBGdW5jdGlvbkRlY2xhcmF0aW9uIDoKKyAgICAgICAgZnVuY3Rpb24gQmluZGluZ0lk
ZW50aWZpZXIgKCBGb3JtYWxQYXJhbWV0ZXJzICkgeyBGdW5jdGlvbkJvZHkgfQorCisgICAgICAg
IFsuLi5dCisgICAgICAgIDMuIExldCBGIGJlIEZ1bmN0aW9uQ3JlYXRlKE5vcm1hbCwgRm9ybWFs
UGFyYW1ldGVycywgRnVuY3Rpb25Cb2R5LAorICAgICAgICAgICBzY29wZSwgc3RyaWN0KS4KKyAg
ICAgICAgWy4uLl0KKworICAgIDkuMi4xIFtbQ2FsbF1dICggdGhpc0FyZ3VtZW50LCBhcmd1bWVu
dHNMaXN0KQorCisgICAgWy4uLl0KKyAgICA3LiBMZXQgcmVzdWx0IGJlIE9yZGluYXJ5Q2FsbEV2
YWx1YXRlQm9keShGLCBhcmd1bWVudHNMaXN0KS4KKyAgICBbLi4uXQorCisgICAgOS4yLjEuMyBP
cmRpbmFyeUNhbGxFdmFsdWF0ZUJvZHkgKCBGLCBhcmd1bWVudHNMaXN0ICkKKworICAgIDEuIExl
dCBzdGF0dXMgYmUgRnVuY3Rpb25EZWNsYXJhdGlvbkluc3RhbnRpYXRpb24oRiwgYXJndW1lbnRz
TGlzdCkuCisgICAgWy4uLl0KKworICAgIDkuMi4xMiBGdW5jdGlvbkRlY2xhcmF0aW9uSW5zdGFu
dGlhdGlvbihmdW5jLCBhcmd1bWVudHNMaXN0KQorCisgICAgWy4uLl0KKyAgICAyMy4gTGV0IGl0
ZXJhdG9yUmVjb3JkIGJlIFJlY29yZCB7W1tpdGVyYXRvcl1dOgorICAgICAgICBDcmVhdGVMaXN0
SXRlcmF0b3IoYXJndW1lbnRzTGlzdCksIFtbZG9uZV1dOiBmYWxzZX0uCisgICAgMjQuIElmIGhh
c0R1cGxpY2F0ZXMgaXMgdHJ1ZSwgdGhlbgorICAgICAgICBbLi4uXQorICAgIDI1LiBFbHNlLAor
ICAgICAgICBiLiBMZXQgZm9ybWFsU3RhdHVzIGJlIEl0ZXJhdG9yQmluZGluZ0luaXRpYWxpemF0
aW9uIGZvciBmb3JtYWxzIHdpdGgKKyAgICAgICAgICAgaXRlcmF0b3JSZWNvcmQgYW5kIGVudiBh
cyBhcmd1bWVudHMuCisgICAgWy4uLl0KKworICAgIFJ1bnRpbWUgU2VtYW50aWNzOiBCaW5kaW5n
SW5pdGlhbGl6YXRpb24KKworICAgIEJpbmRpbmdQYXR0ZXJuIDogQXJyYXlCaW5kaW5nUGF0dGVy
bgorCisgICAgMS4gTGV0IGl0ZXJhdG9yUmVjb3JkIGJlID8gR2V0SXRlcmF0b3IodmFsdWUpLgor
CisgICAgR2V0SXRlcmF0b3IgKCBvYmogWyAsIGhpbnQgWyAsIG1ldGhvZCBdIF0gKQorCisgICAg
Wy4uLl0KKyAgICA0LiBMZXQgaXRlcmF0b3IgYmUgPyBDYWxsKG1ldGhvZCwgb2JqKS4KKworICAg
IENhbGwgKCBGLCBWIFsgLCBhcmd1bWVudHNMaXN0IF0gKQorCisgICAgWy4uLl0KKyAgICAyLiBJ
ZiBJc0NhbGxhYmxlKEYpIGlzIGZhbHNlLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24uCisK
Ky0tLSovCitkZWxldGUgQXJyYXkucHJvdG90eXBlW1N5bWJvbC5pdGVyYXRvcl07CisKK2Z1bmN0
aW9uIGYoW3gsIHksIHpdID0gWzEsIDIsIDNdKSB7fQorCithc3NlcnQudGhyb3dzKFR5cGVFcnJv
ciwgZnVuY3Rpb24oKSB7CisgIGYoKTsKK30pOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9mdW5jdGlvbi9kc3RyL2RmbHQtYXJ5LXB0cm4tZWxl
bS1pZC1pdGVyLXZhbC1hcnJheS1wcm90b3R5cGUuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9s
YW5ndWFnZS9zdGF0ZW1lbnRzL2Z1bmN0aW9uL2RzdHIvZGZsdC1hcnktcHRybi1lbGVtLWlkLWl0
ZXItdmFsLWFycmF5LXByb3RvdHlwZS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lMzYzNmNiNjU0Nzg3NmNhZDU0
NWRjNDRlNmMyNmRhN2Q1NTJiNTU4Ci0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9mdW5jdGlvbi9kc3RyL2RmbHQtYXJ5LXB0cm4tZWxl
bS1pZC1pdGVyLXZhbC1hcnJheS1wcm90b3R5cGUuanMKQEAgLTAsMCArMSw4MCBAQAorLy8gVGhp
cyBmaWxlIHdhcyBwcm9jZWR1cmFsbHkgZ2VuZXJhdGVkIGZyb20gdGhlIGZvbGxvd2luZyBzb3Vy
Y2VzOgorLy8gLSBzcmMvZHN0ci1iaW5kaW5nL2FyeS1wdHJuLWVsZW0taWQtaXRlci12YWwtYXJy
YXktcHJvdG90eXBlLmNhc2UKKy8vIC0gc3JjL2RzdHItYmluZGluZy9kZWZhdWx0L2Z1bmMtZGVj
bC1kZmx0LnRlbXBsYXRlCisvKi0tLQorZGVzY3JpcHRpb246IEFycmF5IGRlc3RydWN0dXJpbmcg
dXNlcyBvdmVycmlkZW4gQXJyYXkucHJvdG90eXBlW1N5bWJvbC5pdGVyYXRvcl0gKGZ1bmN0aW9u
IGRlY2xhcmF0aW9uIChkZWZhdWx0IHBhcmFtZXRlcikpCitlc2lkOiBzZWMtZnVuY3Rpb24tZGVm
aW5pdGlvbnMtcnVudGltZS1zZW1hbnRpY3MtaW5zdGFudGlhdGVmdW5jdGlvbm9iamVjdAorZmVh
dHVyZXM6IFtTeW1ib2wuaXRlcmF0b3IsIGdlbmVyYXRvcnMsIGRlc3RydWN0dXJpbmctYmluZGlu
ZywgZGVmYXVsdC1wYXJhbWV0ZXJzXQorZmxhZ3M6IFtnZW5lcmF0ZWRdCitpbmZvOiB8CisgICAg
RnVuY3Rpb25EZWNsYXJhdGlvbiA6CisgICAgICAgIGZ1bmN0aW9uIEJpbmRpbmdJZGVudGlmaWVy
ICggRm9ybWFsUGFyYW1ldGVycyApIHsgRnVuY3Rpb25Cb2R5IH0KKworICAgICAgICBbLi4uXQor
ICAgICAgICAzLiBMZXQgRiBiZSBGdW5jdGlvbkNyZWF0ZShOb3JtYWwsIEZvcm1hbFBhcmFtZXRl
cnMsIEZ1bmN0aW9uQm9keSwKKyAgICAgICAgICAgc2NvcGUsIHN0cmljdCkuCisgICAgICAgIFsu
Li5dCisKKyAgICA5LjIuMSBbW0NhbGxdXSAoIHRoaXNBcmd1bWVudCwgYXJndW1lbnRzTGlzdCkK
KworICAgIFsuLi5dCisgICAgNy4gTGV0IHJlc3VsdCBiZSBPcmRpbmFyeUNhbGxFdmFsdWF0ZUJv
ZHkoRiwgYXJndW1lbnRzTGlzdCkuCisgICAgWy4uLl0KKworICAgIDkuMi4xLjMgT3JkaW5hcnlD
YWxsRXZhbHVhdGVCb2R5ICggRiwgYXJndW1lbnRzTGlzdCApCisKKyAgICAxLiBMZXQgc3RhdHVz
IGJlIEZ1bmN0aW9uRGVjbGFyYXRpb25JbnN0YW50aWF0aW9uKEYsIGFyZ3VtZW50c0xpc3QpLgor
ICAgIFsuLi5dCisKKyAgICA5LjIuMTIgRnVuY3Rpb25EZWNsYXJhdGlvbkluc3RhbnRpYXRpb24o
ZnVuYywgYXJndW1lbnRzTGlzdCkKKworICAgIFsuLi5dCisgICAgMjMuIExldCBpdGVyYXRvclJl
Y29yZCBiZSBSZWNvcmQge1tbaXRlcmF0b3JdXToKKyAgICAgICAgQ3JlYXRlTGlzdEl0ZXJhdG9y
KGFyZ3VtZW50c0xpc3QpLCBbW2RvbmVdXTogZmFsc2V9LgorICAgIDI0LiBJZiBoYXNEdXBsaWNh
dGVzIGlzIHRydWUsIHRoZW4KKyAgICAgICAgWy4uLl0KKyAgICAyNS4gRWxzZSwKKyAgICAgICAg
Yi4gTGV0IGZvcm1hbFN0YXR1cyBiZSBJdGVyYXRvckJpbmRpbmdJbml0aWFsaXphdGlvbiBmb3Ig
Zm9ybWFscyB3aXRoCisgICAgICAgICAgIGl0ZXJhdG9yUmVjb3JkIGFuZCBlbnYgYXMgYXJndW1l
bnRzLgorICAgIFsuLi5dCisKKyAgICBSdW50aW1lIFNlbWFudGljczogSXRlcmF0b3JCaW5kaW5n
SW5pdGlhbGl6YXRpb24KKworICAgIFNpbmdsZU5hbWVCaW5kaW5nIDogQmluZGluZ0lkZW50aWZp
ZXIgSW5pdGlhbGl6ZXJfb3B0CisKKyAgICAxLiBMZXQgYmluZGluZ0lkIGJlIFN0cmluZ1ZhbHVl
IG9mIEJpbmRpbmdJZGVudGlmaWVyLgorICAgIDIuIExldCBsaHMgYmUgPyBSZXNvbHZlQmluZGlu
ZyhiaW5kaW5nSWQsIGVudmlyb25tZW50KS4KKyAgICAzLiBJZiBpdGVyYXRvclJlY29yZC5bW0Rv
bmVdXSBpcyBmYWxzZSwgdGhlbgorICAgICAgICBhLiBMZXQgbmV4dCBiZSBJdGVyYXRvclN0ZXAo
aXRlcmF0b3JSZWNvcmQpLgorICAgICAgICBiLiBJZiBuZXh0IGlzIGFuIGFicnVwdCBjb21wbGV0
aW9uLCBzZXQgaXRlcmF0b3JSZWNvcmQuW1tEb25lXV0gdG8gdHJ1ZS4KKyAgICAgICAgYy4gUmV0
dXJuSWZBYnJ1cHQobmV4dCkuCisgICAgICAgIGQuIElmIG5leHQgaXMgZmFsc2UsIHNldCBpdGVy
YXRvclJlY29yZC5bW0RvbmVdXSB0byB0cnVlLgorICAgICAgICBlLiBFbHNlLAorICAgICAgICAg
ICAgaS4gTGV0IHYgYmUgSXRlcmF0b3JWYWx1ZShuZXh0KS4KKyAgICAgICAgICAgIGlpLiBJZiB2
IGlzIGFuIGFicnVwdCBjb21wbGV0aW9uLCBzZXQgaXRlcmF0b3JSZWNvcmQuW1tEb25lXV0gdG8g
dHJ1ZS4KKyAgICAgICAgICAgIGlpaS4gUmV0dXJuSWZBYnJ1cHQodikuCisgICAgWy4uLl0KKyAg
ICA3LiBSZXR1cm4gSW5pdGlhbGl6ZVJlZmVyZW5jZWRCaW5kaW5nKGxocywgdikuCisKKy0tLSov
CitBcnJheS5wcm90b3R5cGVbU3ltYm9sLml0ZXJhdG9yXSA9IGZ1bmN0aW9uKiAoKSB7CisgICAg
aWYgKHRoaXMubGVuZ3RoID4gMCkgeworICAgICAgICB5aWVsZCB0aGlzWzBdOworICAgIH0KKyAg
ICBpZiAodGhpcy5sZW5ndGggPiAxKSB7CisgICAgICAgIHlpZWxkIHRoaXNbMV07CisgICAgfQor
ICAgIGlmICh0aGlzLmxlbmd0aCA+IDIpIHsKKyAgICAgICAgeWllbGQgNDI7CisgICAgfQorfTsK
KwordmFyIGNhbGxDb3VudCA9IDA7CitmdW5jdGlvbiBmKFt4LCB5LCB6XSA9IFsxLCAyLCAzXSkg
eworICBhc3NlcnQuc2FtZVZhbHVlKHgsIDEpOworICBhc3NlcnQuc2FtZVZhbHVlKHksIDIpOwor
ICBhc3NlcnQuc2FtZVZhbHVlKHosIDQyKTsKKyAgY2FsbENvdW50ID0gY2FsbENvdW50ICsgMTsK
K307CitmKCk7Cithc3NlcnQuc2FtZVZhbHVlKGNhbGxDb3VudCwgMSwgJ2Z1bmN0aW9uIGludm9r
ZWQgZXhhY3RseSBvbmNlJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5n
dWFnZS9zdGF0ZW1lbnRzL2Z1bmN0aW9uL2RzdHIvZGZsdC1hcnktcHRybi1yZXN0LWlkLWRpcmVj
dC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvZnVuY3Rpb24v
ZHN0ci9kZmx0LWFyeS1wdHJuLXJlc3QtaWQtZGlyZWN0LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU4YTZkMjk4
NDlmODAyMDRhNTQzN2ZkYmM5YTVhNTc1ZTkyMzRmMTMKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2Z1bmN0aW9uL2RzdHIvZGZsdC1h
cnktcHRybi1yZXN0LWlkLWRpcmVjdC5qcwpAQCAtMCwwICsxLDYzIEBACisvLyBUaGlzIGZpbGUg
d2FzIHByb2NlZHVyYWxseSBnZW5lcmF0ZWQgZnJvbSB0aGUgZm9sbG93aW5nIHNvdXJjZXM6Cisv
LyAtIHNyYy9kc3RyLWJpbmRpbmcvYXJ5LXB0cm4tcmVzdC1pZC1kaXJlY3QuY2FzZQorLy8gLSBz
cmMvZHN0ci1iaW5kaW5nL2RlZmF1bHQvZnVuYy1kZWNsLWRmbHQudGVtcGxhdGUKKy8qLS0tCitk
ZXNjcmlwdGlvbjogTG9uZSByZXN0IGVsZW1lbnQgKGRpcmVjdCBiaW5kaW5nKSAoZnVuY3Rpb24g
ZGVjbGFyYXRpb24gKGRlZmF1bHQgcGFyYW1ldGVyKSkKK2VzaWQ6IHNlYy1mdW5jdGlvbi1kZWZp
bml0aW9ucy1ydW50aW1lLXNlbWFudGljcy1pbnN0YW50aWF0ZWZ1bmN0aW9ub2JqZWN0CitmZWF0
dXJlczogW2Rlc3RydWN0dXJpbmctYmluZGluZywgZGVmYXVsdC1wYXJhbWV0ZXJzXQorZmxhZ3M6
IFtnZW5lcmF0ZWRdCitpbmNsdWRlczogW2NvbXBhcmVBcnJheS5qc10KK2luZm86IHwKKyAgICBG
dW5jdGlvbkRlY2xhcmF0aW9uIDoKKyAgICAgICAgZnVuY3Rpb24gQmluZGluZ0lkZW50aWZpZXIg
KCBGb3JtYWxQYXJhbWV0ZXJzICkgeyBGdW5jdGlvbkJvZHkgfQorCisgICAgICAgIFsuLi5dCisg
ICAgICAgIDMuIExldCBGIGJlIEZ1bmN0aW9uQ3JlYXRlKE5vcm1hbCwgRm9ybWFsUGFyYW1ldGVy
cywgRnVuY3Rpb25Cb2R5LAorICAgICAgICAgICBzY29wZSwgc3RyaWN0KS4KKyAgICAgICAgWy4u
Ll0KKworICAgIDkuMi4xIFtbQ2FsbF1dICggdGhpc0FyZ3VtZW50LCBhcmd1bWVudHNMaXN0KQor
CisgICAgWy4uLl0KKyAgICA3LiBMZXQgcmVzdWx0IGJlIE9yZGluYXJ5Q2FsbEV2YWx1YXRlQm9k
eShGLCBhcmd1bWVudHNMaXN0KS4KKyAgICBbLi4uXQorCisgICAgOS4yLjEuMyBPcmRpbmFyeUNh
bGxFdmFsdWF0ZUJvZHkgKCBGLCBhcmd1bWVudHNMaXN0ICkKKworICAgIDEuIExldCBzdGF0dXMg
YmUgRnVuY3Rpb25EZWNsYXJhdGlvbkluc3RhbnRpYXRpb24oRiwgYXJndW1lbnRzTGlzdCkuCisg
ICAgWy4uLl0KKworICAgIDkuMi4xMiBGdW5jdGlvbkRlY2xhcmF0aW9uSW5zdGFudGlhdGlvbihm
dW5jLCBhcmd1bWVudHNMaXN0KQorCisgICAgWy4uLl0KKyAgICAyMy4gTGV0IGl0ZXJhdG9yUmVj
b3JkIGJlIFJlY29yZCB7W1tpdGVyYXRvcl1dOgorICAgICAgICBDcmVhdGVMaXN0SXRlcmF0b3Io
YXJndW1lbnRzTGlzdCksIFtbZG9uZV1dOiBmYWxzZX0uCisgICAgMjQuIElmIGhhc0R1cGxpY2F0
ZXMgaXMgdHJ1ZSwgdGhlbgorICAgICAgICBbLi4uXQorICAgIDI1LiBFbHNlLAorICAgICAgICBi
LiBMZXQgZm9ybWFsU3RhdHVzIGJlIEl0ZXJhdG9yQmluZGluZ0luaXRpYWxpemF0aW9uIGZvciBm
b3JtYWxzIHdpdGgKKyAgICAgICAgICAgaXRlcmF0b3JSZWNvcmQgYW5kIGVudiBhcyBhcmd1bWVu
dHMuCisgICAgWy4uLl0KKworICAgIFJ1bnRpbWUgU2VtYW50aWNzOiBJdGVyYXRvckJpbmRpbmdJ
bml0aWFsaXphdGlvbgorCisgICAgQmluZGluZ1Jlc3RFbGVtZW50IDogLi4uIEJpbmRpbmdJZGVu
dGlmaWVyCisKKyAgICBbLi4uXQorICAgIDIuIExldCBBIGJlICEgQXJyYXlDcmVhdGUoMCkuCisg
ICAgMy4gTGV0IG4gYmUgMC4KKyAgICA0LiBSZXBlYXQsCisgICAgICAgIFsuLi5dCisgICAgICAg
IGYuIFBlcmZvcm0gISBDcmVhdGVEYXRhUHJvcGVydHlPclRocm93KEEsICEgVG9TdHJpbmcobiks
IG5leHRWYWx1ZSkuCisgICAgICAgIGcuIFNldCBuIHRvIG4gKyAxLgorCistLS0qLworCit2YXIg
Y2FsbENvdW50ID0gMDsKK2Z1bmN0aW9uIGYoWy4uLnhdID0gWzFdKSB7CisgIGFzc2VydChBcnJh
eS5pc0FycmF5KHgpKTsKKyAgYXNzZXJ0LmNvbXBhcmVBcnJheSh4LCBbMV0pOworICBjYWxsQ291
bnQgPSBjYWxsQ291bnQgKyAxOworfTsKK2YoKTsKK2Fzc2VydC5zYW1lVmFsdWUoY2FsbENvdW50
LCAxLCAnZnVuY3Rpb24gaW52b2tlZCBleGFjdGx5IG9uY2UnKTsKZGlmZiAtLWdpdCBhL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvZ2VuZXJhdG9ycy9kc3RyL2FyeS1p
bml0LWl0ZXItZ2V0LWVyci1hcnJheS1wcm90b3R5cGUuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2dlbmVyYXRvcnMvZHN0ci9hcnktaW5pdC1pdGVyLWdldC1l
cnItYXJyYXktcHJvdG90eXBlLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVjMjQxZTI3MzdkY2Q2YjM1MTU4ZTM3
MzA4YzM3YTJjOTFhY2E2NjMKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2dlbmVyYXRvcnMvZHN0ci9hcnktaW5pdC1pdGVyLWdldC1l
cnItYXJyYXktcHJvdG90eXBlLmpzCkBAIC0wLDAgKzEsNjMgQEAKKy8vIFRoaXMgZmlsZSB3YXMg
cHJvY2VkdXJhbGx5IGdlbmVyYXRlZCBmcm9tIHRoZSBmb2xsb3dpbmcgc291cmNlczoKKy8vIC0g
c3JjL2RzdHItYmluZGluZy9hcnktaW5pdC1pdGVyLWdldC1lcnItYXJyYXktcHJvdG90eXBlLmNh
c2UKKy8vIC0gc3JjL2RzdHItYmluZGluZy9lcnJvci9nZW4tZnVuYy1kZWNsLnRlbXBsYXRlCisv
Ki0tLQorZGVzY3JpcHRpb246IEFicnVwdCBjb21wbGV0aW9uIHJldHVybmVkIGJ5IEdldEl0ZXJh
dG9yIChnZW5lcmF0b3IgZnVuY3Rpb24gZGVjbGFyYXRpb24pCitlc2lkOiBzZWMtZ2VuZXJhdG9y
LWZ1bmN0aW9uLWRlZmluaXRpb25zLXJ1bnRpbWUtc2VtYW50aWNzLWluc3RhbnRpYXRlZnVuY3Rp
b25vYmplY3QKK2ZlYXR1cmVzOiBbU3ltYm9sLml0ZXJhdG9yLCBnZW5lcmF0b3JzLCBkZXN0cnVj
dHVyaW5nLWJpbmRpbmddCitmbGFnczogW2dlbmVyYXRlZF0KK2luZm86IHwKKyAgICBHZW5lcmF0
b3JEZWNsYXJhdGlvbiA6IGZ1bmN0aW9uICogKCBGb3JtYWxQYXJhbWV0ZXJzICkgeyBHZW5lcmF0
b3JCb2R5IH0KKworICAgICAgICBbLi4uXQorICAgICAgICAyLiBMZXQgRiBiZSBHZW5lcmF0b3JG
dW5jdGlvbkNyZWF0ZShOb3JtYWwsIEZvcm1hbFBhcmFtZXRlcnMsCisgICAgICAgICAgIEdlbmVy
YXRvckJvZHksIHNjb3BlLCBzdHJpY3QpLgorICAgICAgICBbLi4uXQorCisgICAgOS4yLjEgW1tD
YWxsXV0gKCB0aGlzQXJndW1lbnQsIGFyZ3VtZW50c0xpc3QpCisKKyAgICBbLi4uXQorICAgIDcu
IExldCByZXN1bHQgYmUgT3JkaW5hcnlDYWxsRXZhbHVhdGVCb2R5KEYsIGFyZ3VtZW50c0xpc3Qp
LgorICAgIFsuLi5dCisKKyAgICA5LjIuMS4zIE9yZGluYXJ5Q2FsbEV2YWx1YXRlQm9keSAoIEYs
IGFyZ3VtZW50c0xpc3QgKQorCisgICAgMS4gTGV0IHN0YXR1cyBiZSBGdW5jdGlvbkRlY2xhcmF0
aW9uSW5zdGFudGlhdGlvbihGLCBhcmd1bWVudHNMaXN0KS4KKyAgICBbLi4uXQorCisgICAgOS4y
LjEyIEZ1bmN0aW9uRGVjbGFyYXRpb25JbnN0YW50aWF0aW9uKGZ1bmMsIGFyZ3VtZW50c0xpc3Qp
CisKKyAgICBbLi4uXQorICAgIDIzLiBMZXQgaXRlcmF0b3JSZWNvcmQgYmUgUmVjb3JkIHtbW2l0
ZXJhdG9yXV06CisgICAgICAgIENyZWF0ZUxpc3RJdGVyYXRvcihhcmd1bWVudHNMaXN0KSwgW1tk
b25lXV06IGZhbHNlfS4KKyAgICAyNC4gSWYgaGFzRHVwbGljYXRlcyBpcyB0cnVlLCB0aGVuCisg
ICAgICAgIFsuLi5dCisgICAgMjUuIEVsc2UsCisgICAgICAgIGIuIExldCBmb3JtYWxTdGF0dXMg
YmUgSXRlcmF0b3JCaW5kaW5nSW5pdGlhbGl6YXRpb24gZm9yIGZvcm1hbHMgd2l0aAorICAgICAg
ICAgICBpdGVyYXRvclJlY29yZCBhbmQgZW52IGFzIGFyZ3VtZW50cy4KKyAgICBbLi4uXQorCisg
ICAgUnVudGltZSBTZW1hbnRpY3M6IEJpbmRpbmdJbml0aWFsaXphdGlvbgorCisgICAgQmluZGlu
Z1BhdHRlcm4gOiBBcnJheUJpbmRpbmdQYXR0ZXJuCisKKyAgICAxLiBMZXQgaXRlcmF0b3JSZWNv
cmQgYmUgPyBHZXRJdGVyYXRvcih2YWx1ZSkuCisKKyAgICBHZXRJdGVyYXRvciAoIG9iaiBbICwg
aGludCBbICwgbWV0aG9kIF0gXSApCisKKyAgICBbLi4uXQorICAgIDQuIExldCBpdGVyYXRvciBi
ZSA/IENhbGwobWV0aG9kLCBvYmopLgorCisgICAgQ2FsbCAoIEYsIFYgWyAsIGFyZ3VtZW50c0xp
c3QgXSApCisKKyAgICBbLi4uXQorICAgIDIuIElmIElzQ2FsbGFibGUoRikgaXMgZmFsc2UsIHRo
cm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KKworLS0tKi8KK2RlbGV0ZSBBcnJheS5wcm90b3R5
cGVbU3ltYm9sLml0ZXJhdG9yXTsKKworZnVuY3Rpb24qIGYoW3gsIHksIHpdKSB7fQorCithc3Nl
cnQudGhyb3dzKFR5cGVFcnJvciwgZnVuY3Rpb24oKSB7CisgIGYoWzEsIDIsIDNdKTsKK30pOwpk
aWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9nZW5l
cmF0b3JzL2RzdHIvYXJ5LXB0cm4tZWxlbS1pZC1pdGVyLXZhbC1hcnJheS1wcm90b3R5cGUuanMg
Yi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2dlbmVyYXRvcnMvZHN0
ci9hcnktcHRybi1lbGVtLWlkLWl0ZXItdmFsLWFycmF5LXByb3RvdHlwZS5qcwpuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43OTE1NDhlNzk2ZWQxMmNmMmRmYTlkNjA5NWZhMjczNmQxYzc3OGQ4Ci0tLSAvZGV2L251bGwK
KysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9nZW5lcmF0b3Jz
L2RzdHIvYXJ5LXB0cm4tZWxlbS1pZC1pdGVyLXZhbC1hcnJheS1wcm90b3R5cGUuanMKQEAgLTAs
MCArMSw3OSBAQAorLy8gVGhpcyBmaWxlIHdhcyBwcm9jZWR1cmFsbHkgZ2VuZXJhdGVkIGZyb20g
dGhlIGZvbGxvd2luZyBzb3VyY2VzOgorLy8gLSBzcmMvZHN0ci1iaW5kaW5nL2FyeS1wdHJuLWVs
ZW0taWQtaXRlci12YWwtYXJyYXktcHJvdG90eXBlLmNhc2UKKy8vIC0gc3JjL2RzdHItYmluZGlu
Zy9kZWZhdWx0L2dlbi1mdW5jLWRlY2wudGVtcGxhdGUKKy8qLS0tCitkZXNjcmlwdGlvbjogQXJy
YXkgZGVzdHJ1Y3R1cmluZyB1c2VzIG92ZXJyaWRlbiBBcnJheS5wcm90b3R5cGVbU3ltYm9sLml0
ZXJhdG9yXSAoZ2VuZXJhdG9yIGZ1bmN0aW9uIGRlY2xhcmF0aW9uKQorZXNpZDogc2VjLWdlbmVy
YXRvci1mdW5jdGlvbi1kZWZpbml0aW9ucy1ydW50aW1lLXNlbWFudGljcy1pbnN0YW50aWF0ZWZ1
bmN0aW9ub2JqZWN0CitmZWF0dXJlczogW1N5bWJvbC5pdGVyYXRvciwgZ2VuZXJhdG9ycywgZGVz
dHJ1Y3R1cmluZy1iaW5kaW5nXQorZmxhZ3M6IFtnZW5lcmF0ZWRdCitpbmZvOiB8CisgICAgR2Vu
ZXJhdG9yRGVjbGFyYXRpb24gOiBmdW5jdGlvbiAqICggRm9ybWFsUGFyYW1ldGVycyApIHsgR2Vu
ZXJhdG9yQm9keSB9CisKKyAgICAgICAgWy4uLl0KKyAgICAgICAgMi4gTGV0IEYgYmUgR2VuZXJh
dG9yRnVuY3Rpb25DcmVhdGUoTm9ybWFsLCBGb3JtYWxQYXJhbWV0ZXJzLAorICAgICAgICAgICBH
ZW5lcmF0b3JCb2R5LCBzY29wZSwgc3RyaWN0KS4KKyAgICAgICAgWy4uLl0KKworICAgIDkuMi4x
IFtbQ2FsbF1dICggdGhpc0FyZ3VtZW50LCBhcmd1bWVudHNMaXN0KQorCisgICAgWy4uLl0KKyAg
ICA3LiBMZXQgcmVzdWx0IGJlIE9yZGluYXJ5Q2FsbEV2YWx1YXRlQm9keShGLCBhcmd1bWVudHNM
aXN0KS4KKyAgICBbLi4uXQorCisgICAgOS4yLjEuMyBPcmRpbmFyeUNhbGxFdmFsdWF0ZUJvZHkg
KCBGLCBhcmd1bWVudHNMaXN0ICkKKworICAgIDEuIExldCBzdGF0dXMgYmUgRnVuY3Rpb25EZWNs
YXJhdGlvbkluc3RhbnRpYXRpb24oRiwgYXJndW1lbnRzTGlzdCkuCisgICAgWy4uLl0KKworICAg
IDkuMi4xMiBGdW5jdGlvbkRlY2xhcmF0aW9uSW5zdGFudGlhdGlvbihmdW5jLCBhcmd1bWVudHNM
aXN0KQorCisgICAgWy4uLl0KKyAgICAyMy4gTGV0IGl0ZXJhdG9yUmVjb3JkIGJlIFJlY29yZCB7
W1tpdGVyYXRvcl1dOgorICAgICAgICBDcmVhdGVMaXN0SXRlcmF0b3IoYXJndW1lbnRzTGlzdCks
IFtbZG9uZV1dOiBmYWxzZX0uCisgICAgMjQuIElmIGhhc0R1cGxpY2F0ZXMgaXMgdHJ1ZSwgdGhl
bgorICAgICAgICBbLi4uXQorICAgIDI1LiBFbHNlLAorICAgICAgICBiLiBMZXQgZm9ybWFsU3Rh
dHVzIGJlIEl0ZXJhdG9yQmluZGluZ0luaXRpYWxpemF0aW9uIGZvciBmb3JtYWxzIHdpdGgKKyAg
ICAgICAgICAgaXRlcmF0b3JSZWNvcmQgYW5kIGVudiBhcyBhcmd1bWVudHMuCisgICAgWy4uLl0K
KworICAgIFJ1bnRpbWUgU2VtYW50aWNzOiBJdGVyYXRvckJpbmRpbmdJbml0aWFsaXphdGlvbgor
CisgICAgU2luZ2xlTmFtZUJpbmRpbmcgOiBCaW5kaW5nSWRlbnRpZmllciBJbml0aWFsaXplcl9v
cHQKKworICAgIDEuIExldCBiaW5kaW5nSWQgYmUgU3RyaW5nVmFsdWUgb2YgQmluZGluZ0lkZW50
aWZpZXIuCisgICAgMi4gTGV0IGxocyBiZSA/IFJlc29sdmVCaW5kaW5nKGJpbmRpbmdJZCwgZW52
aXJvbm1lbnQpLgorICAgIDMuIElmIGl0ZXJhdG9yUmVjb3JkLltbRG9uZV1dIGlzIGZhbHNlLCB0
aGVuCisgICAgICAgIGEuIExldCBuZXh0IGJlIEl0ZXJhdG9yU3RlcChpdGVyYXRvclJlY29yZCku
CisgICAgICAgIGIuIElmIG5leHQgaXMgYW4gYWJydXB0IGNvbXBsZXRpb24sIHNldCBpdGVyYXRv
clJlY29yZC5bW0RvbmVdXSB0byB0cnVlLgorICAgICAgICBjLiBSZXR1cm5JZkFicnVwdChuZXh0
KS4KKyAgICAgICAgZC4gSWYgbmV4dCBpcyBmYWxzZSwgc2V0IGl0ZXJhdG9yUmVjb3JkLltbRG9u
ZV1dIHRvIHRydWUuCisgICAgICAgIGUuIEVsc2UsCisgICAgICAgICAgICBpLiBMZXQgdiBiZSBJ
dGVyYXRvclZhbHVlKG5leHQpLgorICAgICAgICAgICAgaWkuIElmIHYgaXMgYW4gYWJydXB0IGNv
bXBsZXRpb24sIHNldCBpdGVyYXRvclJlY29yZC5bW0RvbmVdXSB0byB0cnVlLgorICAgICAgICAg
ICAgaWlpLiBSZXR1cm5JZkFicnVwdCh2KS4KKyAgICBbLi4uXQorICAgIDcuIFJldHVybiBJbml0
aWFsaXplUmVmZXJlbmNlZEJpbmRpbmcobGhzLCB2KS4KKworLS0tKi8KK0FycmF5LnByb3RvdHlw
ZVtTeW1ib2wuaXRlcmF0b3JdID0gZnVuY3Rpb24qICgpIHsKKyAgICBpZiAodGhpcy5sZW5ndGgg
PiAwKSB7CisgICAgICAgIHlpZWxkIHRoaXNbMF07CisgICAgfQorICAgIGlmICh0aGlzLmxlbmd0
aCA+IDEpIHsKKyAgICAgICAgeWllbGQgdGhpc1sxXTsKKyAgICB9CisgICAgaWYgKHRoaXMubGVu
Z3RoID4gMikgeworICAgICAgICB5aWVsZCA0MjsKKyAgICB9Cit9OworCit2YXIgY2FsbENvdW50
ID0gMDsKK2Z1bmN0aW9uKiBmKFt4LCB5LCB6XSkgeworICBhc3NlcnQuc2FtZVZhbHVlKHgsIDEp
OworICBhc3NlcnQuc2FtZVZhbHVlKHksIDIpOworICBhc3NlcnQuc2FtZVZhbHVlKHosIDQyKTsK
KyAgY2FsbENvdW50ID0gY2FsbENvdW50ICsgMTsKK307CitmKFsxLCAyLCAzXSkubmV4dCgpOwor
YXNzZXJ0LnNhbWVWYWx1ZShjYWxsQ291bnQsIDEsICdnZW5lcmF0b3IgZnVuY3Rpb24gaW52b2tl
ZCBleGFjdGx5IG9uY2UnKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1
YWdlL3N0YXRlbWVudHMvZ2VuZXJhdG9ycy9kc3RyL2FyeS1wdHJuLXJlc3QtaWQtZGlyZWN0Lmpz
IGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9nZW5lcmF0b3JzL2Rz
dHIvYXJ5LXB0cm4tcmVzdC1pZC1kaXJlY3QuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjYxYTFjYmNmYmNkYzA0
MGNiY2YwMjk3MjhkYTQ4ZTY0ZGFjM2Q3YgotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvZ2VuZXJhdG9ycy9kc3RyL2FyeS1wdHJuLXJl
c3QtaWQtZGlyZWN0LmpzCkBAIC0wLDAgKzEsNjIgQEAKKy8vIFRoaXMgZmlsZSB3YXMgcHJvY2Vk
dXJhbGx5IGdlbmVyYXRlZCBmcm9tIHRoZSBmb2xsb3dpbmcgc291cmNlczoKKy8vIC0gc3JjL2Rz
dHItYmluZGluZy9hcnktcHRybi1yZXN0LWlkLWRpcmVjdC5jYXNlCisvLyAtIHNyYy9kc3RyLWJp
bmRpbmcvZGVmYXVsdC9nZW4tZnVuYy1kZWNsLnRlbXBsYXRlCisvKi0tLQorZGVzY3JpcHRpb246
IExvbmUgcmVzdCBlbGVtZW50IChkaXJlY3QgYmluZGluZykgKGdlbmVyYXRvciBmdW5jdGlvbiBk
ZWNsYXJhdGlvbikKK2VzaWQ6IHNlYy1nZW5lcmF0b3ItZnVuY3Rpb24tZGVmaW5pdGlvbnMtcnVu
dGltZS1zZW1hbnRpY3MtaW5zdGFudGlhdGVmdW5jdGlvbm9iamVjdAorZmVhdHVyZXM6IFtnZW5l
cmF0b3JzLCBkZXN0cnVjdHVyaW5nLWJpbmRpbmddCitmbGFnczogW2dlbmVyYXRlZF0KK2luY2x1
ZGVzOiBbY29tcGFyZUFycmF5LmpzXQoraW5mbzogfAorICAgIEdlbmVyYXRvckRlY2xhcmF0aW9u
IDogZnVuY3Rpb24gKiAoIEZvcm1hbFBhcmFtZXRlcnMgKSB7IEdlbmVyYXRvckJvZHkgfQorCisg
ICAgICAgIFsuLi5dCisgICAgICAgIDIuIExldCBGIGJlIEdlbmVyYXRvckZ1bmN0aW9uQ3JlYXRl
KE5vcm1hbCwgRm9ybWFsUGFyYW1ldGVycywKKyAgICAgICAgICAgR2VuZXJhdG9yQm9keSwgc2Nv
cGUsIHN0cmljdCkuCisgICAgICAgIFsuLi5dCisKKyAgICA5LjIuMSBbW0NhbGxdXSAoIHRoaXNB
cmd1bWVudCwgYXJndW1lbnRzTGlzdCkKKworICAgIFsuLi5dCisgICAgNy4gTGV0IHJlc3VsdCBi
ZSBPcmRpbmFyeUNhbGxFdmFsdWF0ZUJvZHkoRiwgYXJndW1lbnRzTGlzdCkuCisgICAgWy4uLl0K
KworICAgIDkuMi4xLjMgT3JkaW5hcnlDYWxsRXZhbHVhdGVCb2R5ICggRiwgYXJndW1lbnRzTGlz
dCApCisKKyAgICAxLiBMZXQgc3RhdHVzIGJlIEZ1bmN0aW9uRGVjbGFyYXRpb25JbnN0YW50aWF0
aW9uKEYsIGFyZ3VtZW50c0xpc3QpLgorICAgIFsuLi5dCisKKyAgICA5LjIuMTIgRnVuY3Rpb25E
ZWNsYXJhdGlvbkluc3RhbnRpYXRpb24oZnVuYywgYXJndW1lbnRzTGlzdCkKKworICAgIFsuLi5d
CisgICAgMjMuIExldCBpdGVyYXRvclJlY29yZCBiZSBSZWNvcmQge1tbaXRlcmF0b3JdXToKKyAg
ICAgICAgQ3JlYXRlTGlzdEl0ZXJhdG9yKGFyZ3VtZW50c0xpc3QpLCBbW2RvbmVdXTogZmFsc2V9
LgorICAgIDI0LiBJZiBoYXNEdXBsaWNhdGVzIGlzIHRydWUsIHRoZW4KKyAgICAgICAgWy4uLl0K
KyAgICAyNS4gRWxzZSwKKyAgICAgICAgYi4gTGV0IGZvcm1hbFN0YXR1cyBiZSBJdGVyYXRvckJp
bmRpbmdJbml0aWFsaXphdGlvbiBmb3IgZm9ybWFscyB3aXRoCisgICAgICAgICAgIGl0ZXJhdG9y
UmVjb3JkIGFuZCBlbnYgYXMgYXJndW1lbnRzLgorICAgIFsuLi5dCisKKyAgICBSdW50aW1lIFNl
bWFudGljczogSXRlcmF0b3JCaW5kaW5nSW5pdGlhbGl6YXRpb24KKworICAgIEJpbmRpbmdSZXN0
RWxlbWVudCA6IC4uLiBCaW5kaW5nSWRlbnRpZmllcgorCisgICAgWy4uLl0KKyAgICAyLiBMZXQg
QSBiZSAhIEFycmF5Q3JlYXRlKDApLgorICAgIDMuIExldCBuIGJlIDAuCisgICAgNC4gUmVwZWF0
LAorICAgICAgICBbLi4uXQorICAgICAgICBmLiBQZXJmb3JtICEgQ3JlYXRlRGF0YVByb3BlcnR5
T3JUaHJvdyhBLCAhIFRvU3RyaW5nKG4pLCBuZXh0VmFsdWUpLgorICAgICAgICBnLiBTZXQgbiB0
byBuICsgMS4KKworLS0tKi8KKwordmFyIGNhbGxDb3VudCA9IDA7CitmdW5jdGlvbiogZihbLi4u
eF0pIHsKKyAgYXNzZXJ0KEFycmF5LmlzQXJyYXkoeCkpOworICBhc3NlcnQuY29tcGFyZUFycmF5
KHgsIFsxXSk7CisgIGNhbGxDb3VudCA9IGNhbGxDb3VudCArIDE7Cit9OworZihbMV0pLm5leHQo
KTsKK2Fzc2VydC5zYW1lVmFsdWUoY2FsbENvdW50LCAxLCAnZ2VuZXJhdG9yIGZ1bmN0aW9uIGlu
dm9rZWQgZXhhY3RseSBvbmNlJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9s
YW5ndWFnZS9zdGF0ZW1lbnRzL2dlbmVyYXRvcnMvZHN0ci9kZmx0LWFyeS1pbml0LWl0ZXItZ2V0
LWVyci1hcnJheS1wcm90b3R5cGUuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9z
dGF0ZW1lbnRzL2dlbmVyYXRvcnMvZHN0ci9kZmx0LWFyeS1pbml0LWl0ZXItZ2V0LWVyci1hcnJh
eS1wcm90b3R5cGUuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjVhOTNhMjhkNmY5YTQyYWE0ZTRmMzY4MTc5NDFl
ZDdjNjU5MDhmNQotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1
YWdlL3N0YXRlbWVudHMvZ2VuZXJhdG9ycy9kc3RyL2RmbHQtYXJ5LWluaXQtaXRlci1nZXQtZXJy
LWFycmF5LXByb3RvdHlwZS5qcwpAQCAtMCwwICsxLDYzIEBACisvLyBUaGlzIGZpbGUgd2FzIHBy
b2NlZHVyYWxseSBnZW5lcmF0ZWQgZnJvbSB0aGUgZm9sbG93aW5nIHNvdXJjZXM6CisvLyAtIHNy
Yy9kc3RyLWJpbmRpbmcvYXJ5LWluaXQtaXRlci1nZXQtZXJyLWFycmF5LXByb3RvdHlwZS5jYXNl
CisvLyAtIHNyYy9kc3RyLWJpbmRpbmcvZXJyb3IvZ2VuLWZ1bmMtZGVjbC1kZmx0LnRlbXBsYXRl
CisvKi0tLQorZGVzY3JpcHRpb246IEFicnVwdCBjb21wbGV0aW9uIHJldHVybmVkIGJ5IEdldEl0
ZXJhdG9yIChnZW5lcmF0b3IgZnVuY3Rpb24gZGVjbGFyYXRpb24gKGRlZmF1bHQgcGFyYW1ldGVy
KSkKK2VzaWQ6IHNlYy1nZW5lcmF0b3ItZnVuY3Rpb24tZGVmaW5pdGlvbnMtcnVudGltZS1zZW1h
bnRpY3MtaW5zdGFudGlhdGVmdW5jdGlvbm9iamVjdAorZmVhdHVyZXM6IFtTeW1ib2wuaXRlcmF0
b3IsIGdlbmVyYXRvcnMsIGRlc3RydWN0dXJpbmctYmluZGluZywgZGVmYXVsdC1wYXJhbWV0ZXJz
XQorZmxhZ3M6IFtnZW5lcmF0ZWRdCitpbmZvOiB8CisgICAgR2VuZXJhdG9yRGVjbGFyYXRpb24g
OiBmdW5jdGlvbiAqICggRm9ybWFsUGFyYW1ldGVycyApIHsgR2VuZXJhdG9yQm9keSB9CisKKyAg
ICAgICAgWy4uLl0KKyAgICAgICAgMi4gTGV0IEYgYmUgR2VuZXJhdG9yRnVuY3Rpb25DcmVhdGUo
Tm9ybWFsLCBGb3JtYWxQYXJhbWV0ZXJzLAorICAgICAgICAgICBHZW5lcmF0b3JCb2R5LCBzY29w
ZSwgc3RyaWN0KS4KKyAgICAgICAgWy4uLl0KKworICAgIDkuMi4xIFtbQ2FsbF1dICggdGhpc0Fy
Z3VtZW50LCBhcmd1bWVudHNMaXN0KQorCisgICAgWy4uLl0KKyAgICA3LiBMZXQgcmVzdWx0IGJl
IE9yZGluYXJ5Q2FsbEV2YWx1YXRlQm9keShGLCBhcmd1bWVudHNMaXN0KS4KKyAgICBbLi4uXQor
CisgICAgOS4yLjEuMyBPcmRpbmFyeUNhbGxFdmFsdWF0ZUJvZHkgKCBGLCBhcmd1bWVudHNMaXN0
ICkKKworICAgIDEuIExldCBzdGF0dXMgYmUgRnVuY3Rpb25EZWNsYXJhdGlvbkluc3RhbnRpYXRp
b24oRiwgYXJndW1lbnRzTGlzdCkuCisgICAgWy4uLl0KKworICAgIDkuMi4xMiBGdW5jdGlvbkRl
Y2xhcmF0aW9uSW5zdGFudGlhdGlvbihmdW5jLCBhcmd1bWVudHNMaXN0KQorCisgICAgWy4uLl0K
KyAgICAyMy4gTGV0IGl0ZXJhdG9yUmVjb3JkIGJlIFJlY29yZCB7W1tpdGVyYXRvcl1dOgorICAg
ICAgICBDcmVhdGVMaXN0SXRlcmF0b3IoYXJndW1lbnRzTGlzdCksIFtbZG9uZV1dOiBmYWxzZX0u
CisgICAgMjQuIElmIGhhc0R1cGxpY2F0ZXMgaXMgdHJ1ZSwgdGhlbgorICAgICAgICBbLi4uXQor
ICAgIDI1LiBFbHNlLAorICAgICAgICBiLiBMZXQgZm9ybWFsU3RhdHVzIGJlIEl0ZXJhdG9yQmlu
ZGluZ0luaXRpYWxpemF0aW9uIGZvciBmb3JtYWxzIHdpdGgKKyAgICAgICAgICAgaXRlcmF0b3JS
ZWNvcmQgYW5kIGVudiBhcyBhcmd1bWVudHMuCisgICAgWy4uLl0KKworICAgIFJ1bnRpbWUgU2Vt
YW50aWNzOiBCaW5kaW5nSW5pdGlhbGl6YXRpb24KKworICAgIEJpbmRpbmdQYXR0ZXJuIDogQXJy
YXlCaW5kaW5nUGF0dGVybgorCisgICAgMS4gTGV0IGl0ZXJhdG9yUmVjb3JkIGJlID8gR2V0SXRl
cmF0b3IodmFsdWUpLgorCisgICAgR2V0SXRlcmF0b3IgKCBvYmogWyAsIGhpbnQgWyAsIG1ldGhv
ZCBdIF0gKQorCisgICAgWy4uLl0KKyAgICA0LiBMZXQgaXRlcmF0b3IgYmUgPyBDYWxsKG1ldGhv
ZCwgb2JqKS4KKworICAgIENhbGwgKCBGLCBWIFsgLCBhcmd1bWVudHNMaXN0IF0gKQorCisgICAg
Wy4uLl0KKyAgICAyLiBJZiBJc0NhbGxhYmxlKEYpIGlzIGZhbHNlLCB0aHJvdyBhIFR5cGVFcnJv
ciBleGNlcHRpb24uCisKKy0tLSovCitkZWxldGUgQXJyYXkucHJvdG90eXBlW1N5bWJvbC5pdGVy
YXRvcl07CisKK2Z1bmN0aW9uKiBmKFt4LCB5LCB6XSA9IFsxLCAyLCAzXSkge30KKworYXNzZXJ0
LnRocm93cyhUeXBlRXJyb3IsIGZ1bmN0aW9uKCkgeworICBmKCk7Cit9KTsKZGlmZiAtLWdpdCBh
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvZ2VuZXJhdG9ycy9kc3Ry
L2RmbHQtYXJ5LXB0cm4tZWxlbS1pZC1pdGVyLXZhbC1hcnJheS1wcm90b3R5cGUuanMgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2dlbmVyYXRvcnMvZHN0ci9kZmx0
LWFyeS1wdHJuLWVsZW0taWQtaXRlci12YWwtYXJyYXktcHJvdG90eXBlLmpzCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmI4NWFlNDhhMTY1YzllMTM2ZGIxZTUyYTA1NmMxNDNiYTA1NjZiNjAKLS0tIC9kZXYvbnVsbAor
KysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2dlbmVyYXRvcnMv
ZHN0ci9kZmx0LWFyeS1wdHJuLWVsZW0taWQtaXRlci12YWwtYXJyYXktcHJvdG90eXBlLmpzCkBA
IC0wLDAgKzEsNzkgQEAKKy8vIFRoaXMgZmlsZSB3YXMgcHJvY2VkdXJhbGx5IGdlbmVyYXRlZCBm
cm9tIHRoZSBmb2xsb3dpbmcgc291cmNlczoKKy8vIC0gc3JjL2RzdHItYmluZGluZy9hcnktcHRy
bi1lbGVtLWlkLWl0ZXItdmFsLWFycmF5LXByb3RvdHlwZS5jYXNlCisvLyAtIHNyYy9kc3RyLWJp
bmRpbmcvZGVmYXVsdC9nZW4tZnVuYy1kZWNsLWRmbHQudGVtcGxhdGUKKy8qLS0tCitkZXNjcmlw
dGlvbjogQXJyYXkgZGVzdHJ1Y3R1cmluZyB1c2VzIG92ZXJyaWRlbiBBcnJheS5wcm90b3R5cGVb
U3ltYm9sLml0ZXJhdG9yXSAoZ2VuZXJhdG9yIGZ1bmN0aW9uIGRlY2xhcmF0aW9uIChkZWZhdWx0
IHBhcmFtZXRlcikpCitlc2lkOiBzZWMtZ2VuZXJhdG9yLWZ1bmN0aW9uLWRlZmluaXRpb25zLXJ1
bnRpbWUtc2VtYW50aWNzLWluc3RhbnRpYXRlZnVuY3Rpb25vYmplY3QKK2ZlYXR1cmVzOiBbU3lt
Ym9sLml0ZXJhdG9yLCBnZW5lcmF0b3JzLCBkZXN0cnVjdHVyaW5nLWJpbmRpbmcsIGRlZmF1bHQt
cGFyYW1ldGVyc10KK2ZsYWdzOiBbZ2VuZXJhdGVkXQoraW5mbzogfAorICAgIEdlbmVyYXRvckRl
Y2xhcmF0aW9uIDogZnVuY3Rpb24gKiAoIEZvcm1hbFBhcmFtZXRlcnMgKSB7IEdlbmVyYXRvckJv
ZHkgfQorCisgICAgICAgIFsuLi5dCisgICAgICAgIDIuIExldCBGIGJlIEdlbmVyYXRvckZ1bmN0
aW9uQ3JlYXRlKE5vcm1hbCwgRm9ybWFsUGFyYW1ldGVycywKKyAgICAgICAgICAgR2VuZXJhdG9y
Qm9keSwgc2NvcGUsIHN0cmljdCkuCisgICAgICAgIFsuLi5dCisKKyAgICA5LjIuMSBbW0NhbGxd
XSAoIHRoaXNBcmd1bWVudCwgYXJndW1lbnRzTGlzdCkKKworICAgIFsuLi5dCisgICAgNy4gTGV0
IHJlc3VsdCBiZSBPcmRpbmFyeUNhbGxFdmFsdWF0ZUJvZHkoRiwgYXJndW1lbnRzTGlzdCkuCisg
ICAgWy4uLl0KKworICAgIDkuMi4xLjMgT3JkaW5hcnlDYWxsRXZhbHVhdGVCb2R5ICggRiwgYXJn
dW1lbnRzTGlzdCApCisKKyAgICAxLiBMZXQgc3RhdHVzIGJlIEZ1bmN0aW9uRGVjbGFyYXRpb25J
bnN0YW50aWF0aW9uKEYsIGFyZ3VtZW50c0xpc3QpLgorICAgIFsuLi5dCisKKyAgICA5LjIuMTIg
RnVuY3Rpb25EZWNsYXJhdGlvbkluc3RhbnRpYXRpb24oZnVuYywgYXJndW1lbnRzTGlzdCkKKwor
ICAgIFsuLi5dCisgICAgMjMuIExldCBpdGVyYXRvclJlY29yZCBiZSBSZWNvcmQge1tbaXRlcmF0
b3JdXToKKyAgICAgICAgQ3JlYXRlTGlzdEl0ZXJhdG9yKGFyZ3VtZW50c0xpc3QpLCBbW2RvbmVd
XTogZmFsc2V9LgorICAgIDI0LiBJZiBoYXNEdXBsaWNhdGVzIGlzIHRydWUsIHRoZW4KKyAgICAg
ICAgWy4uLl0KKyAgICAyNS4gRWxzZSwKKyAgICAgICAgYi4gTGV0IGZvcm1hbFN0YXR1cyBiZSBJ
dGVyYXRvckJpbmRpbmdJbml0aWFsaXphdGlvbiBmb3IgZm9ybWFscyB3aXRoCisgICAgICAgICAg
IGl0ZXJhdG9yUmVjb3JkIGFuZCBlbnYgYXMgYXJndW1lbnRzLgorICAgIFsuLi5dCisKKyAgICBS
dW50aW1lIFNlbWFudGljczogSXRlcmF0b3JCaW5kaW5nSW5pdGlhbGl6YXRpb24KKworICAgIFNp
bmdsZU5hbWVCaW5kaW5nIDogQmluZGluZ0lkZW50aWZpZXIgSW5pdGlhbGl6ZXJfb3B0CisKKyAg
ICAxLiBMZXQgYmluZGluZ0lkIGJlIFN0cmluZ1ZhbHVlIG9mIEJpbmRpbmdJZGVudGlmaWVyLgor
ICAgIDIuIExldCBsaHMgYmUgPyBSZXNvbHZlQmluZGluZyhiaW5kaW5nSWQsIGVudmlyb25tZW50
KS4KKyAgICAzLiBJZiBpdGVyYXRvclJlY29yZC5bW0RvbmVdXSBpcyBmYWxzZSwgdGhlbgorICAg
ICAgICBhLiBMZXQgbmV4dCBiZSBJdGVyYXRvclN0ZXAoaXRlcmF0b3JSZWNvcmQpLgorICAgICAg
ICBiLiBJZiBuZXh0IGlzIGFuIGFicnVwdCBjb21wbGV0aW9uLCBzZXQgaXRlcmF0b3JSZWNvcmQu
W1tEb25lXV0gdG8gdHJ1ZS4KKyAgICAgICAgYy4gUmV0dXJuSWZBYnJ1cHQobmV4dCkuCisgICAg
ICAgIGQuIElmIG5leHQgaXMgZmFsc2UsIHNldCBpdGVyYXRvclJlY29yZC5bW0RvbmVdXSB0byB0
cnVlLgorICAgICAgICBlLiBFbHNlLAorICAgICAgICAgICAgaS4gTGV0IHYgYmUgSXRlcmF0b3JW
YWx1ZShuZXh0KS4KKyAgICAgICAgICAgIGlpLiBJZiB2IGlzIGFuIGFicnVwdCBjb21wbGV0aW9u
LCBzZXQgaXRlcmF0b3JSZWNvcmQuW1tEb25lXV0gdG8gdHJ1ZS4KKyAgICAgICAgICAgIGlpaS4g
UmV0dXJuSWZBYnJ1cHQodikuCisgICAgWy4uLl0KKyAgICA3LiBSZXR1cm4gSW5pdGlhbGl6ZVJl
ZmVyZW5jZWRCaW5kaW5nKGxocywgdikuCisKKy0tLSovCitBcnJheS5wcm90b3R5cGVbU3ltYm9s
Lml0ZXJhdG9yXSA9IGZ1bmN0aW9uKiAoKSB7CisgICAgaWYgKHRoaXMubGVuZ3RoID4gMCkgewor
ICAgICAgICB5aWVsZCB0aGlzWzBdOworICAgIH0KKyAgICBpZiAodGhpcy5sZW5ndGggPiAxKSB7
CisgICAgICAgIHlpZWxkIHRoaXNbMV07CisgICAgfQorICAgIGlmICh0aGlzLmxlbmd0aCA+IDIp
IHsKKyAgICAgICAgeWllbGQgNDI7CisgICAgfQorfTsKKwordmFyIGNhbGxDb3VudCA9IDA7Citm
dW5jdGlvbiogZihbeCwgeSwgel0gPSBbMSwgMiwgM10pIHsKKyAgYXNzZXJ0LnNhbWVWYWx1ZSh4
LCAxKTsKKyAgYXNzZXJ0LnNhbWVWYWx1ZSh5LCAyKTsKKyAgYXNzZXJ0LnNhbWVWYWx1ZSh6LCA0
Mik7CisgIGNhbGxDb3VudCA9IGNhbGxDb3VudCArIDE7Cit9OworZigpLm5leHQoKTsKK2Fzc2Vy
dC5zYW1lVmFsdWUoY2FsbENvdW50LCAxLCAnZ2VuZXJhdG9yIGZ1bmN0aW9uIGludm9rZWQgZXhh
Y3RseSBvbmNlJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9z
dGF0ZW1lbnRzL2dlbmVyYXRvcnMvZHN0ci9kZmx0LWFyeS1wdHJuLXJlc3QtaWQtZGlyZWN0Lmpz
IGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9nZW5lcmF0b3JzL2Rz
dHIvZGZsdC1hcnktcHRybi1yZXN0LWlkLWRpcmVjdC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hMDNmN2UwMjI2
MTk1NDIzNTA3ZWM5NDRiYWU4ZmFmMmE1NTU2OTlkCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9nZW5lcmF0b3JzL2RzdHIvZGZsdC1h
cnktcHRybi1yZXN0LWlkLWRpcmVjdC5qcwpAQCAtMCwwICsxLDYyIEBACisvLyBUaGlzIGZpbGUg
d2FzIHByb2NlZHVyYWxseSBnZW5lcmF0ZWQgZnJvbSB0aGUgZm9sbG93aW5nIHNvdXJjZXM6Cisv
LyAtIHNyYy9kc3RyLWJpbmRpbmcvYXJ5LXB0cm4tcmVzdC1pZC1kaXJlY3QuY2FzZQorLy8gLSBz
cmMvZHN0ci1iaW5kaW5nL2RlZmF1bHQvZ2VuLWZ1bmMtZGVjbC1kZmx0LnRlbXBsYXRlCisvKi0t
LQorZGVzY3JpcHRpb246IExvbmUgcmVzdCBlbGVtZW50IChkaXJlY3QgYmluZGluZykgKGdlbmVy
YXRvciBmdW5jdGlvbiBkZWNsYXJhdGlvbiAoZGVmYXVsdCBwYXJhbWV0ZXIpKQorZXNpZDogc2Vj
LWdlbmVyYXRvci1mdW5jdGlvbi1kZWZpbml0aW9ucy1ydW50aW1lLXNlbWFudGljcy1pbnN0YW50
aWF0ZWZ1bmN0aW9ub2JqZWN0CitmZWF0dXJlczogW2dlbmVyYXRvcnMsIGRlc3RydWN0dXJpbmct
YmluZGluZywgZGVmYXVsdC1wYXJhbWV0ZXJzXQorZmxhZ3M6IFtnZW5lcmF0ZWRdCitpbmNsdWRl
czogW2NvbXBhcmVBcnJheS5qc10KK2luZm86IHwKKyAgICBHZW5lcmF0b3JEZWNsYXJhdGlvbiA6
IGZ1bmN0aW9uICogKCBGb3JtYWxQYXJhbWV0ZXJzICkgeyBHZW5lcmF0b3JCb2R5IH0KKworICAg
ICAgICBbLi4uXQorICAgICAgICAyLiBMZXQgRiBiZSBHZW5lcmF0b3JGdW5jdGlvbkNyZWF0ZShO
b3JtYWwsIEZvcm1hbFBhcmFtZXRlcnMsCisgICAgICAgICAgIEdlbmVyYXRvckJvZHksIHNjb3Bl
LCBzdHJpY3QpLgorICAgICAgICBbLi4uXQorCisgICAgOS4yLjEgW1tDYWxsXV0gKCB0aGlzQXJn
dW1lbnQsIGFyZ3VtZW50c0xpc3QpCisKKyAgICBbLi4uXQorICAgIDcuIExldCByZXN1bHQgYmUg
T3JkaW5hcnlDYWxsRXZhbHVhdGVCb2R5KEYsIGFyZ3VtZW50c0xpc3QpLgorICAgIFsuLi5dCisK
KyAgICA5LjIuMS4zIE9yZGluYXJ5Q2FsbEV2YWx1YXRlQm9keSAoIEYsIGFyZ3VtZW50c0xpc3Qg
KQorCisgICAgMS4gTGV0IHN0YXR1cyBiZSBGdW5jdGlvbkRlY2xhcmF0aW9uSW5zdGFudGlhdGlv
bihGLCBhcmd1bWVudHNMaXN0KS4KKyAgICBbLi4uXQorCisgICAgOS4yLjEyIEZ1bmN0aW9uRGVj
bGFyYXRpb25JbnN0YW50aWF0aW9uKGZ1bmMsIGFyZ3VtZW50c0xpc3QpCisKKyAgICBbLi4uXQor
ICAgIDIzLiBMZXQgaXRlcmF0b3JSZWNvcmQgYmUgUmVjb3JkIHtbW2l0ZXJhdG9yXV06CisgICAg
ICAgIENyZWF0ZUxpc3RJdGVyYXRvcihhcmd1bWVudHNMaXN0KSwgW1tkb25lXV06IGZhbHNlfS4K
KyAgICAyNC4gSWYgaGFzRHVwbGljYXRlcyBpcyB0cnVlLCB0aGVuCisgICAgICAgIFsuLi5dCisg
ICAgMjUuIEVsc2UsCisgICAgICAgIGIuIExldCBmb3JtYWxTdGF0dXMgYmUgSXRlcmF0b3JCaW5k
aW5nSW5pdGlhbGl6YXRpb24gZm9yIGZvcm1hbHMgd2l0aAorICAgICAgICAgICBpdGVyYXRvclJl
Y29yZCBhbmQgZW52IGFzIGFyZ3VtZW50cy4KKyAgICBbLi4uXQorCisgICAgUnVudGltZSBTZW1h
bnRpY3M6IEl0ZXJhdG9yQmluZGluZ0luaXRpYWxpemF0aW9uCisKKyAgICBCaW5kaW5nUmVzdEVs
ZW1lbnQgOiAuLi4gQmluZGluZ0lkZW50aWZpZXIKKworICAgIFsuLi5dCisgICAgMi4gTGV0IEEg
YmUgISBBcnJheUNyZWF0ZSgwKS4KKyAgICAzLiBMZXQgbiBiZSAwLgorICAgIDQuIFJlcGVhdCwK
KyAgICAgICAgWy4uLl0KKyAgICAgICAgZi4gUGVyZm9ybSAhIENyZWF0ZURhdGFQcm9wZXJ0eU9y
VGhyb3coQSwgISBUb1N0cmluZyhuKSwgbmV4dFZhbHVlKS4KKyAgICAgICAgZy4gU2V0IG4gdG8g
biArIDEuCisKKy0tLSovCisKK3ZhciBjYWxsQ291bnQgPSAwOworZnVuY3Rpb24qIGYoWy4uLnhd
ID0gWzFdKSB7CisgIGFzc2VydChBcnJheS5pc0FycmF5KHgpKTsKKyAgYXNzZXJ0LmNvbXBhcmVB
cnJheSh4LCBbMV0pOworICBjYWxsQ291bnQgPSBjYWxsQ291bnQgKyAxOworfTsKK2YoKS5uZXh0
KCk7Cithc3NlcnQuc2FtZVZhbHVlKGNhbGxDb3VudCwgMSwgJ2dlbmVyYXRvciBmdW5jdGlvbiBp
bnZva2VkIGV4YWN0bHkgb25jZScpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
bGFuZ3VhZ2Uvc3RhdGVtZW50cy9sZXQvZHN0ci9hcnktaW5pdC1pdGVyLWdldC1lcnItYXJyYXkt
cHJvdG90eXBlLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9s
ZXQvZHN0ci9hcnktaW5pdC1pdGVyLWdldC1lcnItYXJyYXktcHJvdG90eXBlLmpzCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmJjNTM5MjQwMTY1Mzc2NDk3NDlhMmVkMzZlMjllY2NlYjhkZjA2ZTkKLS0tIC9kZXYvbnVs
bAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2xldC9kc3Ry
L2FyeS1pbml0LWl0ZXItZ2V0LWVyci1hcnJheS1wcm90b3R5cGUuanMKQEAgLTAsMCArMSw0MCBA
QAorLy8gVGhpcyBmaWxlIHdhcyBwcm9jZWR1cmFsbHkgZ2VuZXJhdGVkIGZyb20gdGhlIGZvbGxv
d2luZyBzb3VyY2VzOgorLy8gLSBzcmMvZHN0ci1iaW5kaW5nL2FyeS1pbml0LWl0ZXItZ2V0LWVy
ci1hcnJheS1wcm90b3R5cGUuY2FzZQorLy8gLSBzcmMvZHN0ci1iaW5kaW5nL2Vycm9yL2xldC1z
dG10LnRlbXBsYXRlCisvKi0tLQorZGVzY3JpcHRpb246IEFicnVwdCBjb21wbGV0aW9uIHJldHVy
bmVkIGJ5IEdldEl0ZXJhdG9yIChgbGV0YCBzdGF0ZW1lbnQpCitlc2lkOiBzZWMtbGV0LWFuZC1j
b25zdC1kZWNsYXJhdGlvbnMtcnVudGltZS1zZW1hbnRpY3MtZXZhbHVhdGlvbgorZmVhdHVyZXM6
IFtTeW1ib2wuaXRlcmF0b3IsIGRlc3RydWN0dXJpbmctYmluZGluZ10KK2ZsYWdzOiBbZ2VuZXJh
dGVkXQoraW5mbzogfAorICAgIExleGljYWxCaW5kaW5nIDogQmluZGluZ1BhdHRlcm4gSW5pdGlh
bGl6ZXIKKworICAgIDEuIExldCByaHMgYmUgdGhlIHJlc3VsdCBvZiBldmFsdWF0aW5nIEluaXRp
YWxpemVyLgorICAgIDIuIExldCB2YWx1ZSBiZSBHZXRWYWx1ZShyaHMpLgorICAgIDMuIFJldHVy
bklmQWJydXB0KHZhbHVlKS4KKyAgICA0LiBMZXQgZW52IGJlIHRoZSBydW5uaW5nIGV4ZWN1dGlv
biBjb250ZXh0J3MgTGV4aWNhbEVudmlyb25tZW50LgorICAgIDUuIFJldHVybiB0aGUgcmVzdWx0
IG9mIHBlcmZvcm1pbmcgQmluZGluZ0luaXRpYWxpemF0aW9uIGZvciBCaW5kaW5nUGF0dGVybgor
ICAgICAgIHVzaW5nIHZhbHVlIGFuZCBlbnYgYXMgdGhlIGFyZ3VtZW50cy4KKworICAgIFJ1bnRp
bWUgU2VtYW50aWNzOiBCaW5kaW5nSW5pdGlhbGl6YXRpb24KKworICAgIEJpbmRpbmdQYXR0ZXJu
IDogQXJyYXlCaW5kaW5nUGF0dGVybgorCisgICAgMS4gTGV0IGl0ZXJhdG9yUmVjb3JkIGJlID8g
R2V0SXRlcmF0b3IodmFsdWUpLgorCisgICAgR2V0SXRlcmF0b3IgKCBvYmogWyAsIGhpbnQgWyAs
IG1ldGhvZCBdIF0gKQorCisgICAgWy4uLl0KKyAgICA0LiBMZXQgaXRlcmF0b3IgYmUgPyBDYWxs
KG1ldGhvZCwgb2JqKS4KKworICAgIENhbGwgKCBGLCBWIFsgLCBhcmd1bWVudHNMaXN0IF0gKQor
CisgICAgWy4uLl0KKyAgICAyLiBJZiBJc0NhbGxhYmxlKEYpIGlzIGZhbHNlLCB0aHJvdyBhIFR5
cGVFcnJvciBleGNlcHRpb24uCisKKy0tLSovCitkZWxldGUgQXJyYXkucHJvdG90eXBlW1N5bWJv
bC5pdGVyYXRvcl07CisKK2Fzc2VydC50aHJvd3MoVHlwZUVycm9yLCBmdW5jdGlvbigpIHsKKyAg
bGV0IFt4LCB5LCB6XSA9IFsxLCAyLCAzXTsKK30pOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9sZXQvZHN0ci9hcnktcHRybi1lbGVtLWlkLWl0
ZXItdmFsLWFycmF5LXByb3RvdHlwZS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdl
L3N0YXRlbWVudHMvbGV0L2RzdHIvYXJ5LXB0cm4tZWxlbS1pZC1pdGVyLXZhbC1hcnJheS1wcm90
b3R5cGUuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNDUzMDI2YWE1MWY2MWVkZWNlMGZlNzYyNmE1NmQxYTM0NTVm
ZTFjMAotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0
YXRlbWVudHMvbGV0L2RzdHIvYXJ5LXB0cm4tZWxlbS1pZC1pdGVyLXZhbC1hcnJheS1wcm90b3R5
cGUuanMKQEAgLTAsMCArMSw1NCBAQAorLy8gVGhpcyBmaWxlIHdhcyBwcm9jZWR1cmFsbHkgZ2Vu
ZXJhdGVkIGZyb20gdGhlIGZvbGxvd2luZyBzb3VyY2VzOgorLy8gLSBzcmMvZHN0ci1iaW5kaW5n
L2FyeS1wdHJuLWVsZW0taWQtaXRlci12YWwtYXJyYXktcHJvdG90eXBlLmNhc2UKKy8vIC0gc3Jj
L2RzdHItYmluZGluZy9kZWZhdWx0L2xldC1zdG10LnRlbXBsYXRlCisvKi0tLQorZGVzY3JpcHRp
b246IEFycmF5IGRlc3RydWN0dXJpbmcgdXNlcyBvdmVycmlkZW4gQXJyYXkucHJvdG90eXBlW1N5
bWJvbC5pdGVyYXRvcl0gKGBsZXRgIHN0YXRlbWVudCkKK2VzaWQ6IHNlYy1sZXQtYW5kLWNvbnN0
LWRlY2xhcmF0aW9ucy1ydW50aW1lLXNlbWFudGljcy1ldmFsdWF0aW9uCitmZWF0dXJlczogW1N5
bWJvbC5pdGVyYXRvciwgZ2VuZXJhdG9ycywgZGVzdHJ1Y3R1cmluZy1iaW5kaW5nXQorZmxhZ3M6
IFtnZW5lcmF0ZWRdCitpbmZvOiB8CisgICAgTGV4aWNhbEJpbmRpbmcgOiBCaW5kaW5nUGF0dGVy
biBJbml0aWFsaXplcgorCisgICAgMS4gTGV0IHJocyBiZSB0aGUgcmVzdWx0IG9mIGV2YWx1YXRp
bmcgSW5pdGlhbGl6ZXIuCisgICAgMi4gTGV0IHZhbHVlIGJlIEdldFZhbHVlKHJocykuCisgICAg
My4gUmV0dXJuSWZBYnJ1cHQodmFsdWUpLgorICAgIDQuIExldCBlbnYgYmUgdGhlIHJ1bm5pbmcg
ZXhlY3V0aW9uIGNvbnRleHQncyBMZXhpY2FsRW52aXJvbm1lbnQuCisgICAgNS4gUmV0dXJuIHRo
ZSByZXN1bHQgb2YgcGVyZm9ybWluZyBCaW5kaW5nSW5pdGlhbGl6YXRpb24gZm9yIEJpbmRpbmdQ
YXR0ZXJuCisgICAgICAgdXNpbmcgdmFsdWUgYW5kIGVudiBhcyB0aGUgYXJndW1lbnRzLgorCisg
ICAgUnVudGltZSBTZW1hbnRpY3M6IEl0ZXJhdG9yQmluZGluZ0luaXRpYWxpemF0aW9uCisKKyAg
ICBTaW5nbGVOYW1lQmluZGluZyA6IEJpbmRpbmdJZGVudGlmaWVyIEluaXRpYWxpemVyX29wdAor
CisgICAgMS4gTGV0IGJpbmRpbmdJZCBiZSBTdHJpbmdWYWx1ZSBvZiBCaW5kaW5nSWRlbnRpZmll
ci4KKyAgICAyLiBMZXQgbGhzIGJlID8gUmVzb2x2ZUJpbmRpbmcoYmluZGluZ0lkLCBlbnZpcm9u
bWVudCkuCisgICAgMy4gSWYgaXRlcmF0b3JSZWNvcmQuW1tEb25lXV0gaXMgZmFsc2UsIHRoZW4K
KyAgICAgICAgYS4gTGV0IG5leHQgYmUgSXRlcmF0b3JTdGVwKGl0ZXJhdG9yUmVjb3JkKS4KKyAg
ICAgICAgYi4gSWYgbmV4dCBpcyBhbiBhYnJ1cHQgY29tcGxldGlvbiwgc2V0IGl0ZXJhdG9yUmVj
b3JkLltbRG9uZV1dIHRvIHRydWUuCisgICAgICAgIGMuIFJldHVybklmQWJydXB0KG5leHQpLgor
ICAgICAgICBkLiBJZiBuZXh0IGlzIGZhbHNlLCBzZXQgaXRlcmF0b3JSZWNvcmQuW1tEb25lXV0g
dG8gdHJ1ZS4KKyAgICAgICAgZS4gRWxzZSwKKyAgICAgICAgICAgIGkuIExldCB2IGJlIEl0ZXJh
dG9yVmFsdWUobmV4dCkuCisgICAgICAgICAgICBpaS4gSWYgdiBpcyBhbiBhYnJ1cHQgY29tcGxl
dGlvbiwgc2V0IGl0ZXJhdG9yUmVjb3JkLltbRG9uZV1dIHRvIHRydWUuCisgICAgICAgICAgICBp
aWkuIFJldHVybklmQWJydXB0KHYpLgorICAgIFsuLi5dCisgICAgNy4gUmV0dXJuIEluaXRpYWxp
emVSZWZlcmVuY2VkQmluZGluZyhsaHMsIHYpLgorCistLS0qLworQXJyYXkucHJvdG90eXBlW1N5
bWJvbC5pdGVyYXRvcl0gPSBmdW5jdGlvbiogKCkgeworICAgIGlmICh0aGlzLmxlbmd0aCA+IDAp
IHsKKyAgICAgICAgeWllbGQgdGhpc1swXTsKKyAgICB9CisgICAgaWYgKHRoaXMubGVuZ3RoID4g
MSkgeworICAgICAgICB5aWVsZCB0aGlzWzFdOworICAgIH0KKyAgICBpZiAodGhpcy5sZW5ndGgg
PiAyKSB7CisgICAgICAgIHlpZWxkIDQyOworICAgIH0KK307CisKK2xldCBbeCwgeSwgel0gPSBb
MSwgMiwgM107CisKK2Fzc2VydC5zYW1lVmFsdWUoeCwgMSk7Cithc3NlcnQuc2FtZVZhbHVlKHks
IDIpOworYXNzZXJ0LnNhbWVWYWx1ZSh6LCA0Mik7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2xldC9kc3RyL2FyeS1wdHJuLXJlc3QtaWQtZGly
ZWN0LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9sZXQvZHN0
ci9hcnktcHRybi1yZXN0LWlkLWRpcmVjdC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wY2Q2MDkwMWM1ODBhOWE2
Zjg0MWFjMzk0NjY1NDVlZTJiMzY3OGNlCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9sZXQvZHN0ci9hcnktcHRybi1yZXN0LWlkLWRp
cmVjdC5qcwpAQCAtMCwwICsxLDM3IEBACisvLyBUaGlzIGZpbGUgd2FzIHByb2NlZHVyYWxseSBn
ZW5lcmF0ZWQgZnJvbSB0aGUgZm9sbG93aW5nIHNvdXJjZXM6CisvLyAtIHNyYy9kc3RyLWJpbmRp
bmcvYXJ5LXB0cm4tcmVzdC1pZC1kaXJlY3QuY2FzZQorLy8gLSBzcmMvZHN0ci1iaW5kaW5nL2Rl
ZmF1bHQvbGV0LXN0bXQudGVtcGxhdGUKKy8qLS0tCitkZXNjcmlwdGlvbjogTG9uZSByZXN0IGVs
ZW1lbnQgKGRpcmVjdCBiaW5kaW5nKSAoYGxldGAgc3RhdGVtZW50KQorZXNpZDogc2VjLWxldC1h
bmQtY29uc3QtZGVjbGFyYXRpb25zLXJ1bnRpbWUtc2VtYW50aWNzLWV2YWx1YXRpb24KK2ZlYXR1
cmVzOiBbZGVzdHJ1Y3R1cmluZy1iaW5kaW5nXQorZmxhZ3M6IFtnZW5lcmF0ZWRdCitpbmNsdWRl
czogW2NvbXBhcmVBcnJheS5qc10KK2luZm86IHwKKyAgICBMZXhpY2FsQmluZGluZyA6IEJpbmRp
bmdQYXR0ZXJuIEluaXRpYWxpemVyCisKKyAgICAxLiBMZXQgcmhzIGJlIHRoZSByZXN1bHQgb2Yg
ZXZhbHVhdGluZyBJbml0aWFsaXplci4KKyAgICAyLiBMZXQgdmFsdWUgYmUgR2V0VmFsdWUocmhz
KS4KKyAgICAzLiBSZXR1cm5JZkFicnVwdCh2YWx1ZSkuCisgICAgNC4gTGV0IGVudiBiZSB0aGUg
cnVubmluZyBleGVjdXRpb24gY29udGV4dCdzIExleGljYWxFbnZpcm9ubWVudC4KKyAgICA1LiBS
ZXR1cm4gdGhlIHJlc3VsdCBvZiBwZXJmb3JtaW5nIEJpbmRpbmdJbml0aWFsaXphdGlvbiBmb3Ig
QmluZGluZ1BhdHRlcm4KKyAgICAgICB1c2luZyB2YWx1ZSBhbmQgZW52IGFzIHRoZSBhcmd1bWVu
dHMuCisKKyAgICBSdW50aW1lIFNlbWFudGljczogSXRlcmF0b3JCaW5kaW5nSW5pdGlhbGl6YXRp
b24KKworICAgIEJpbmRpbmdSZXN0RWxlbWVudCA6IC4uLiBCaW5kaW5nSWRlbnRpZmllcgorCisg
ICAgWy4uLl0KKyAgICAyLiBMZXQgQSBiZSAhIEFycmF5Q3JlYXRlKDApLgorICAgIDMuIExldCBu
IGJlIDAuCisgICAgNC4gUmVwZWF0LAorICAgICAgICBbLi4uXQorICAgICAgICBmLiBQZXJmb3Jt
ICEgQ3JlYXRlRGF0YVByb3BlcnR5T3JUaHJvdyhBLCAhIFRvU3RyaW5nKG4pLCBuZXh0VmFsdWUp
LgorICAgICAgICBnLiBTZXQgbiB0byBuICsgMS4KKworLS0tKi8KKworbGV0IFsuLi54XSA9IFsx
XTsKKworYXNzZXJ0KEFycmF5LmlzQXJyYXkoeCkpOworYXNzZXJ0LmNvbXBhcmVBcnJheSh4LCBb
MV0pOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50
cy90cnkvZHN0ci9hcnktaW5pdC1pdGVyLWdldC1lcnItYXJyYXktcHJvdG90eXBlLmpzIGIvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy90cnkvZHN0ci9hcnktaW5pdC1p
dGVyLWdldC1lcnItYXJyYXktcHJvdG90eXBlLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM1NjZjNWE5ZTZiZDM5
NzUwMDA1ZGIwNTYyODRhMGY5NzQxZGQ4ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL3RyeS9kc3RyL2FyeS1pbml0LWl0ZXItZ2V0
LWVyci1hcnJheS1wcm90b3R5cGUuanMKQEAgLTAsMCArMSw0MCBAQAorLy8gVGhpcyBmaWxlIHdh
cyBwcm9jZWR1cmFsbHkgZ2VuZXJhdGVkIGZyb20gdGhlIGZvbGxvd2luZyBzb3VyY2VzOgorLy8g
LSBzcmMvZHN0ci1iaW5kaW5nL2FyeS1pbml0LWl0ZXItZ2V0LWVyci1hcnJheS1wcm90b3R5cGUu
Y2FzZQorLy8gLSBzcmMvZHN0ci1iaW5kaW5nL2Vycm9yL3RyeS50ZW1wbGF0ZQorLyotLS0KK2Rl
c2NyaXB0aW9uOiBBYnJ1cHQgY29tcGxldGlvbiByZXR1cm5lZCBieSBHZXRJdGVyYXRvciAodHJ5
IHN0YXRlbWVudCkKK2VzaWQ6IHNlYy1ydW50aW1lLXNlbWFudGljcy1jYXRjaGNsYXVzZWV2YWx1
YXRpb24KK2ZlYXR1cmVzOiBbU3ltYm9sLml0ZXJhdG9yLCBkZXN0cnVjdHVyaW5nLWJpbmRpbmdd
CitmbGFnczogW2dlbmVyYXRlZF0KK2luZm86IHwKKyAgICBDYXRjaCA6IGNhdGNoICggQ2F0Y2hQ
YXJhbWV0ZXIgKSBCbG9jaworCisgICAgWy4uLl0KKyAgICA1LiBMZXQgc3RhdHVzIGJlIHRoZSBy
ZXN1bHQgb2YgcGVyZm9ybWluZyBCaW5kaW5nSW5pdGlhbGl6YXRpb24gZm9yCisgICAgICAgQ2F0
Y2hQYXJhbWV0ZXIgcGFzc2luZyB0aHJvd25WYWx1ZSBhbmQgY2F0Y2hFbnYgYXMgYXJndW1lbnRz
LgorICAgIFsuLi5dCisKKyAgICBSdW50aW1lIFNlbWFudGljczogQmluZGluZ0luaXRpYWxpemF0
aW9uCisKKyAgICBCaW5kaW5nUGF0dGVybiA6IEFycmF5QmluZGluZ1BhdHRlcm4KKworICAgIDEu
IExldCBpdGVyYXRvclJlY29yZCBiZSA/IEdldEl0ZXJhdG9yKHZhbHVlKS4KKworICAgIEdldEl0
ZXJhdG9yICggb2JqIFsgLCBoaW50IFsgLCBtZXRob2QgXSBdICkKKworICAgIFsuLi5dCisgICAg
NC4gTGV0IGl0ZXJhdG9yIGJlID8gQ2FsbChtZXRob2QsIG9iaikuCisKKyAgICBDYWxsICggRiwg
ViBbICwgYXJndW1lbnRzTGlzdCBdICkKKworICAgIFsuLi5dCisgICAgMi4gSWYgSXNDYWxsYWJs
ZShGKSBpcyBmYWxzZSwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgorCistLS0qLworZGVs
ZXRlIEFycmF5LnByb3RvdHlwZVtTeW1ib2wuaXRlcmF0b3JdOworCithc3NlcnQudGhyb3dzKFR5
cGVFcnJvciwgZnVuY3Rpb24oKSB7CisgIHRyeSB7CisgICAgdGhyb3cgWzEsIDIsIDNdOworICB9
IGNhdGNoIChbeCwgeSwgel0pIHt9Cit9KTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvdHJ5L2RzdHIvYXJ5LXB0cm4tZWxlbS1pZC1pdGVyLXZh
bC1hcnJheS1wcm90b3R5cGUuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0
ZW1lbnRzL3RyeS9kc3RyL2FyeS1wdHJuLWVsZW0taWQtaXRlci12YWwtYXJyYXktcHJvdG90eXBl
LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmYyZGRhYTM2MGYyNzAwMjQxNjM2ZWJiNjk0YjM5MjJhZThiOTJjNmMK
LS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1l
bnRzL3RyeS9kc3RyL2FyeS1wdHJuLWVsZW0taWQtaXRlci12YWwtYXJyYXktcHJvdG90eXBlLmpz
CkBAIC0wLDAgKzEsNTkgQEAKKy8vIFRoaXMgZmlsZSB3YXMgcHJvY2VkdXJhbGx5IGdlbmVyYXRl
ZCBmcm9tIHRoZSBmb2xsb3dpbmcgc291cmNlczoKKy8vIC0gc3JjL2RzdHItYmluZGluZy9hcnkt
cHRybi1lbGVtLWlkLWl0ZXItdmFsLWFycmF5LXByb3RvdHlwZS5jYXNlCisvLyAtIHNyYy9kc3Ry
LWJpbmRpbmcvZGVmYXVsdC90cnkudGVtcGxhdGUKKy8qLS0tCitkZXNjcmlwdGlvbjogQXJyYXkg
ZGVzdHJ1Y3R1cmluZyB1c2VzIG92ZXJyaWRlbiBBcnJheS5wcm90b3R5cGVbU3ltYm9sLml0ZXJh
dG9yXSAodHJ5IHN0YXRlbWVudCkKK2VzaWQ6IHNlYy1ydW50aW1lLXNlbWFudGljcy1jYXRjaGNs
YXVzZWV2YWx1YXRpb24KK2ZlYXR1cmVzOiBbU3ltYm9sLml0ZXJhdG9yLCBnZW5lcmF0b3JzLCBk
ZXN0cnVjdHVyaW5nLWJpbmRpbmddCitmbGFnczogW2dlbmVyYXRlZF0KK2luZm86IHwKKyAgICBD
YXRjaCA6IGNhdGNoICggQ2F0Y2hQYXJhbWV0ZXIgKSBCbG9jaworCisgICAgWy4uLl0KKyAgICA1
LiBMZXQgc3RhdHVzIGJlIHRoZSByZXN1bHQgb2YgcGVyZm9ybWluZyBCaW5kaW5nSW5pdGlhbGl6
YXRpb24gZm9yCisgICAgICAgQ2F0Y2hQYXJhbWV0ZXIgcGFzc2luZyB0aHJvd25WYWx1ZSBhbmQg
Y2F0Y2hFbnYgYXMgYXJndW1lbnRzLgorICAgIFsuLi5dCisKKyAgICBSdW50aW1lIFNlbWFudGlj
czogSXRlcmF0b3JCaW5kaW5nSW5pdGlhbGl6YXRpb24KKworICAgIFNpbmdsZU5hbWVCaW5kaW5n
IDogQmluZGluZ0lkZW50aWZpZXIgSW5pdGlhbGl6ZXJfb3B0CisKKyAgICAxLiBMZXQgYmluZGlu
Z0lkIGJlIFN0cmluZ1ZhbHVlIG9mIEJpbmRpbmdJZGVudGlmaWVyLgorICAgIDIuIExldCBsaHMg
YmUgPyBSZXNvbHZlQmluZGluZyhiaW5kaW5nSWQsIGVudmlyb25tZW50KS4KKyAgICAzLiBJZiBp
dGVyYXRvclJlY29yZC5bW0RvbmVdXSBpcyBmYWxzZSwgdGhlbgorICAgICAgICBhLiBMZXQgbmV4
dCBiZSBJdGVyYXRvclN0ZXAoaXRlcmF0b3JSZWNvcmQpLgorICAgICAgICBiLiBJZiBuZXh0IGlz
IGFuIGFicnVwdCBjb21wbGV0aW9uLCBzZXQgaXRlcmF0b3JSZWNvcmQuW1tEb25lXV0gdG8gdHJ1
ZS4KKyAgICAgICAgYy4gUmV0dXJuSWZBYnJ1cHQobmV4dCkuCisgICAgICAgIGQuIElmIG5leHQg
aXMgZmFsc2UsIHNldCBpdGVyYXRvclJlY29yZC5bW0RvbmVdXSB0byB0cnVlLgorICAgICAgICBl
LiBFbHNlLAorICAgICAgICAgICAgaS4gTGV0IHYgYmUgSXRlcmF0b3JWYWx1ZShuZXh0KS4KKyAg
ICAgICAgICAgIGlpLiBJZiB2IGlzIGFuIGFicnVwdCBjb21wbGV0aW9uLCBzZXQgaXRlcmF0b3JS
ZWNvcmQuW1tEb25lXV0gdG8gdHJ1ZS4KKyAgICAgICAgICAgIGlpaS4gUmV0dXJuSWZBYnJ1cHQo
dikuCisgICAgWy4uLl0KKyAgICA3LiBSZXR1cm4gSW5pdGlhbGl6ZVJlZmVyZW5jZWRCaW5kaW5n
KGxocywgdikuCisKKy0tLSovCitBcnJheS5wcm90b3R5cGVbU3ltYm9sLml0ZXJhdG9yXSA9IGZ1
bmN0aW9uKiAoKSB7CisgICAgaWYgKHRoaXMubGVuZ3RoID4gMCkgeworICAgICAgICB5aWVsZCB0
aGlzWzBdOworICAgIH0KKyAgICBpZiAodGhpcy5sZW5ndGggPiAxKSB7CisgICAgICAgIHlpZWxk
IHRoaXNbMV07CisgICAgfQorICAgIGlmICh0aGlzLmxlbmd0aCA+IDIpIHsKKyAgICAgICAgeWll
bGQgNDI7CisgICAgfQorfTsKKwordmFyIHJhbkNhdGNoID0gZmFsc2U7CisKK3RyeSB7CisgIHRo
cm93IFsxLCAyLCAzXTsKK30gY2F0Y2ggKFt4LCB5LCB6XSkgeworICBhc3NlcnQuc2FtZVZhbHVl
KHgsIDEpOworICBhc3NlcnQuc2FtZVZhbHVlKHksIDIpOworICBhc3NlcnQuc2FtZVZhbHVlKHos
IDQyKTsKKyAgcmFuQ2F0Y2ggPSB0cnVlOworfQorCithc3NlcnQocmFuQ2F0Y2gsICdleGVjdXRl
ZCBgY2F0Y2hgIGJsb2NrJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5n
dWFnZS9zdGF0ZW1lbnRzL3RyeS9kc3RyL2FyeS1wdHJuLXJlc3QtaWQtZGlyZWN0LmpzIGIvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy90cnkvZHN0ci9hcnktcHRybi1y
ZXN0LWlkLWRpcmVjdC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43MDMwZTcxNzBlZWNhYmU4ZDMyMGJlMjE5NGU4
NjdkNWU0NWMyZTJhCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFu
Z3VhZ2Uvc3RhdGVtZW50cy90cnkvZHN0ci9hcnktcHRybi1yZXN0LWlkLWRpcmVjdC5qcwpAQCAt
MCwwICsxLDQyIEBACisvLyBUaGlzIGZpbGUgd2FzIHByb2NlZHVyYWxseSBnZW5lcmF0ZWQgZnJv
bSB0aGUgZm9sbG93aW5nIHNvdXJjZXM6CisvLyAtIHNyYy9kc3RyLWJpbmRpbmcvYXJ5LXB0cm4t
cmVzdC1pZC1kaXJlY3QuY2FzZQorLy8gLSBzcmMvZHN0ci1iaW5kaW5nL2RlZmF1bHQvdHJ5LnRl
bXBsYXRlCisvKi0tLQorZGVzY3JpcHRpb246IExvbmUgcmVzdCBlbGVtZW50IChkaXJlY3QgYmlu
ZGluZykgKHRyeSBzdGF0ZW1lbnQpCitlc2lkOiBzZWMtcnVudGltZS1zZW1hbnRpY3MtY2F0Y2hj
bGF1c2VldmFsdWF0aW9uCitmZWF0dXJlczogW2Rlc3RydWN0dXJpbmctYmluZGluZ10KK2ZsYWdz
OiBbZ2VuZXJhdGVkXQoraW5jbHVkZXM6IFtjb21wYXJlQXJyYXkuanNdCitpbmZvOiB8CisgICAg
Q2F0Y2ggOiBjYXRjaCAoIENhdGNoUGFyYW1ldGVyICkgQmxvY2sKKworICAgIFsuLi5dCisgICAg
NS4gTGV0IHN0YXR1cyBiZSB0aGUgcmVzdWx0IG9mIHBlcmZvcm1pbmcgQmluZGluZ0luaXRpYWxp
emF0aW9uIGZvcgorICAgICAgIENhdGNoUGFyYW1ldGVyIHBhc3NpbmcgdGhyb3duVmFsdWUgYW5k
IGNhdGNoRW52IGFzIGFyZ3VtZW50cy4KKyAgICBbLi4uXQorCisgICAgUnVudGltZSBTZW1hbnRp
Y3M6IEl0ZXJhdG9yQmluZGluZ0luaXRpYWxpemF0aW9uCisKKyAgICBCaW5kaW5nUmVzdEVsZW1l
bnQgOiAuLi4gQmluZGluZ0lkZW50aWZpZXIKKworICAgIFsuLi5dCisgICAgMi4gTGV0IEEgYmUg
ISBBcnJheUNyZWF0ZSgwKS4KKyAgICAzLiBMZXQgbiBiZSAwLgorICAgIDQuIFJlcGVhdCwKKyAg
ICAgICAgWy4uLl0KKyAgICAgICAgZi4gUGVyZm9ybSAhIENyZWF0ZURhdGFQcm9wZXJ0eU9yVGhy
b3coQSwgISBUb1N0cmluZyhuKSwgbmV4dFZhbHVlKS4KKyAgICAgICAgZy4gU2V0IG4gdG8gbiAr
IDEuCisKKy0tLSovCisKK3ZhciByYW5DYXRjaCA9IGZhbHNlOworCit0cnkgeworICB0aHJvdyBb
MV07Cit9IGNhdGNoIChbLi4ueF0pIHsKKyAgYXNzZXJ0KEFycmF5LmlzQXJyYXkoeCkpOworICBh
c3NlcnQuY29tcGFyZUFycmF5KHgsIFsxXSk7CisgIHJhbkNhdGNoID0gdHJ1ZTsKK30KKworYXNz
ZXJ0KHJhbkNhdGNoLCAnZXhlY3V0ZWQgYGNhdGNoYCBibG9jaycpOwpkaWZmIC0tZ2l0IGEvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy92YXJpYWJsZS9kc3RyL2FyeS1p
bml0LWl0ZXItZ2V0LWVyci1hcnJheS1wcm90b3R5cGUuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9sYW5ndWFnZS9zdGF0ZW1lbnRzL3ZhcmlhYmxlL2RzdHIvYXJ5LWluaXQtaXRlci1nZXQtZXJy
LWFycmF5LXByb3RvdHlwZS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xZWM2NDllYTAwZmUzYTQ5MzMyMTk5OGEz
NDY5MjJjNTgyZmZkMzRhCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
bGFuZ3VhZ2Uvc3RhdGVtZW50cy92YXJpYWJsZS9kc3RyL2FyeS1pbml0LWl0ZXItZ2V0LWVyci1h
cnJheS1wcm90b3R5cGUuanMKQEAgLTAsMCArMSwzOSBAQAorLy8gVGhpcyBmaWxlIHdhcyBwcm9j
ZWR1cmFsbHkgZ2VuZXJhdGVkIGZyb20gdGhlIGZvbGxvd2luZyBzb3VyY2VzOgorLy8gLSBzcmMv
ZHN0ci1iaW5kaW5nL2FyeS1pbml0LWl0ZXItZ2V0LWVyci1hcnJheS1wcm90b3R5cGUuY2FzZQor
Ly8gLSBzcmMvZHN0ci1iaW5kaW5nL2Vycm9yL3Zhci1zdG10LnRlbXBsYXRlCisvKi0tLQorZGVz
Y3JpcHRpb246IEFicnVwdCBjb21wbGV0aW9uIHJldHVybmVkIGJ5IEdldEl0ZXJhdG9yIChgdmFy
YCBzdGF0ZW1lbnQpCitlc2lkOiBzZWMtdmFyaWFibGUtc3RhdGVtZW50LXJ1bnRpbWUtc2VtYW50
aWNzLWV2YWx1YXRpb24KK2ZlYXR1cmVzOiBbU3ltYm9sLml0ZXJhdG9yLCBkZXN0cnVjdHVyaW5n
LWJpbmRpbmddCitmbGFnczogW2dlbmVyYXRlZF0KK2luZm86IHwKKyAgICBWYXJpYWJsZURlY2xh
cmF0aW9uIDogQmluZGluZ1BhdHRlcm4gSW5pdGlhbGl6ZXIKKworICAgIDEuIExldCByaHMgYmUg
dGhlIHJlc3VsdCBvZiBldmFsdWF0aW5nIEluaXRpYWxpemVyLgorICAgIDIuIExldCBydmFsIGJl
IEdldFZhbHVlKHJocykuCisgICAgMy4gUmV0dXJuSWZBYnJ1cHQocnZhbCkuCisgICAgNC4gUmV0
dXJuIHRoZSByZXN1bHQgb2YgcGVyZm9ybWluZyBCaW5kaW5nSW5pdGlhbGl6YXRpb24gZm9yCisg
ICAgICAgQmluZGluZ1BhdHRlcm4gcGFzc2luZyBydmFsIGFuZCB1bmRlZmluZWQgYXMgYXJndW1l
bnRzLgorCisgICAgUnVudGltZSBTZW1hbnRpY3M6IEJpbmRpbmdJbml0aWFsaXphdGlvbgorCisg
ICAgQmluZGluZ1BhdHRlcm4gOiBBcnJheUJpbmRpbmdQYXR0ZXJuCisKKyAgICAxLiBMZXQgaXRl
cmF0b3JSZWNvcmQgYmUgPyBHZXRJdGVyYXRvcih2YWx1ZSkuCisKKyAgICBHZXRJdGVyYXRvciAo
IG9iaiBbICwgaGludCBbICwgbWV0aG9kIF0gXSApCisKKyAgICBbLi4uXQorICAgIDQuIExldCBp
dGVyYXRvciBiZSA/IENhbGwobWV0aG9kLCBvYmopLgorCisgICAgQ2FsbCAoIEYsIFYgWyAsIGFy
Z3VtZW50c0xpc3QgXSApCisKKyAgICBbLi4uXQorICAgIDIuIElmIElzQ2FsbGFibGUoRikgaXMg
ZmFsc2UsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KKworLS0tKi8KK2RlbGV0ZSBBcnJh
eS5wcm90b3R5cGVbU3ltYm9sLml0ZXJhdG9yXTsKKworYXNzZXJ0LnRocm93cyhUeXBlRXJyb3Is
IGZ1bmN0aW9uKCkgeworICB2YXIgW3gsIHksIHpdID0gWzEsIDIsIDNdOworfSk7CmRpZmYgLS1n
aXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL3ZhcmlhYmxlL2Rz
dHIvYXJ5LXB0cm4tZWxlbS1pZC1pdGVyLXZhbC1hcnJheS1wcm90b3R5cGUuanMgYi9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL3ZhcmlhYmxlL2RzdHIvYXJ5LXB0cm4t
ZWxlbS1pZC1pdGVyLXZhbC1hcnJheS1wcm90b3R5cGUuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2VlMTgzNmNj
OTk1ZTkwNzQ3ZGUzMGNlMWNhZmZjZjI4MDViZWUyNwotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvdmFyaWFibGUvZHN0ci9hcnktcHRy
bi1lbGVtLWlkLWl0ZXItdmFsLWFycmF5LXByb3RvdHlwZS5qcwpAQCAtMCwwICsxLDUzIEBACisv
LyBUaGlzIGZpbGUgd2FzIHByb2NlZHVyYWxseSBnZW5lcmF0ZWQgZnJvbSB0aGUgZm9sbG93aW5n
IHNvdXJjZXM6CisvLyAtIHNyYy9kc3RyLWJpbmRpbmcvYXJ5LXB0cm4tZWxlbS1pZC1pdGVyLXZh
bC1hcnJheS1wcm90b3R5cGUuY2FzZQorLy8gLSBzcmMvZHN0ci1iaW5kaW5nL2RlZmF1bHQvdmFy
LXN0bXQudGVtcGxhdGUKKy8qLS0tCitkZXNjcmlwdGlvbjogQXJyYXkgZGVzdHJ1Y3R1cmluZyB1
c2VzIG92ZXJyaWRlbiBBcnJheS5wcm90b3R5cGVbU3ltYm9sLml0ZXJhdG9yXSAoYHZhcmAgc3Rh
dGVtZW50KQorZXNpZDogc2VjLXZhcmlhYmxlLXN0YXRlbWVudC1ydW50aW1lLXNlbWFudGljcy1l
dmFsdWF0aW9uCitmZWF0dXJlczogW1N5bWJvbC5pdGVyYXRvciwgZ2VuZXJhdG9ycywgZGVzdHJ1
Y3R1cmluZy1iaW5kaW5nXQorZmxhZ3M6IFtnZW5lcmF0ZWRdCitpbmZvOiB8CisgICAgVmFyaWFi
bGVEZWNsYXJhdGlvbiA6IEJpbmRpbmdQYXR0ZXJuIEluaXRpYWxpemVyCisKKyAgICAxLiBMZXQg
cmhzIGJlIHRoZSByZXN1bHQgb2YgZXZhbHVhdGluZyBJbml0aWFsaXplci4KKyAgICAyLiBMZXQg
cnZhbCBiZSBHZXRWYWx1ZShyaHMpLgorICAgIDMuIFJldHVybklmQWJydXB0KHJ2YWwpLgorICAg
IDQuIFJldHVybiB0aGUgcmVzdWx0IG9mIHBlcmZvcm1pbmcgQmluZGluZ0luaXRpYWxpemF0aW9u
IGZvcgorICAgICAgIEJpbmRpbmdQYXR0ZXJuIHBhc3NpbmcgcnZhbCBhbmQgdW5kZWZpbmVkIGFz
IGFyZ3VtZW50cy4KKworICAgIFJ1bnRpbWUgU2VtYW50aWNzOiBJdGVyYXRvckJpbmRpbmdJbml0
aWFsaXphdGlvbgorCisgICAgU2luZ2xlTmFtZUJpbmRpbmcgOiBCaW5kaW5nSWRlbnRpZmllciBJ
bml0aWFsaXplcl9vcHQKKworICAgIDEuIExldCBiaW5kaW5nSWQgYmUgU3RyaW5nVmFsdWUgb2Yg
QmluZGluZ0lkZW50aWZpZXIuCisgICAgMi4gTGV0IGxocyBiZSA/IFJlc29sdmVCaW5kaW5nKGJp
bmRpbmdJZCwgZW52aXJvbm1lbnQpLgorICAgIDMuIElmIGl0ZXJhdG9yUmVjb3JkLltbRG9uZV1d
IGlzIGZhbHNlLCB0aGVuCisgICAgICAgIGEuIExldCBuZXh0IGJlIEl0ZXJhdG9yU3RlcChpdGVy
YXRvclJlY29yZCkuCisgICAgICAgIGIuIElmIG5leHQgaXMgYW4gYWJydXB0IGNvbXBsZXRpb24s
IHNldCBpdGVyYXRvclJlY29yZC5bW0RvbmVdXSB0byB0cnVlLgorICAgICAgICBjLiBSZXR1cm5J
ZkFicnVwdChuZXh0KS4KKyAgICAgICAgZC4gSWYgbmV4dCBpcyBmYWxzZSwgc2V0IGl0ZXJhdG9y
UmVjb3JkLltbRG9uZV1dIHRvIHRydWUuCisgICAgICAgIGUuIEVsc2UsCisgICAgICAgICAgICBp
LiBMZXQgdiBiZSBJdGVyYXRvclZhbHVlKG5leHQpLgorICAgICAgICAgICAgaWkuIElmIHYgaXMg
YW4gYWJydXB0IGNvbXBsZXRpb24sIHNldCBpdGVyYXRvclJlY29yZC5bW0RvbmVdXSB0byB0cnVl
LgorICAgICAgICAgICAgaWlpLiBSZXR1cm5JZkFicnVwdCh2KS4KKyAgICBbLi4uXQorICAgIDcu
IFJldHVybiBJbml0aWFsaXplUmVmZXJlbmNlZEJpbmRpbmcobGhzLCB2KS4KKworLS0tKi8KK0Fy
cmF5LnByb3RvdHlwZVtTeW1ib2wuaXRlcmF0b3JdID0gZnVuY3Rpb24qICgpIHsKKyAgICBpZiAo
dGhpcy5sZW5ndGggPiAwKSB7CisgICAgICAgIHlpZWxkIHRoaXNbMF07CisgICAgfQorICAgIGlm
ICh0aGlzLmxlbmd0aCA+IDEpIHsKKyAgICAgICAgeWllbGQgdGhpc1sxXTsKKyAgICB9CisgICAg
aWYgKHRoaXMubGVuZ3RoID4gMikgeworICAgICAgICB5aWVsZCA0MjsKKyAgICB9Cit9OworCit2
YXIgW3gsIHksIHpdID0gWzEsIDIsIDNdOworCithc3NlcnQuc2FtZVZhbHVlKHgsIDEpOworYXNz
ZXJ0LnNhbWVWYWx1ZSh5LCAyKTsKK2Fzc2VydC5zYW1lVmFsdWUoeiwgNDIpOwpkaWZmIC0tZ2l0
IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy92YXJpYWJsZS9kc3Ry
L2FyeS1wdHJuLXJlc3QtaWQtZGlyZWN0LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3Vh
Z2Uvc3RhdGVtZW50cy92YXJpYWJsZS9kc3RyL2FyeS1wdHJuLXJlc3QtaWQtZGlyZWN0LmpzCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5YmFhMWNiZTYxNmM1YTZiYzVjMzNjYjAwNTdlMmRlMGEyNzU1MzkKLS0tIC9k
ZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL3Zh
cmlhYmxlL2RzdHIvYXJ5LXB0cm4tcmVzdC1pZC1kaXJlY3QuanMKQEAgLTAsMCArMSwzNiBAQAor
Ly8gVGhpcyBmaWxlIHdhcyBwcm9jZWR1cmFsbHkgZ2VuZXJhdGVkIGZyb20gdGhlIGZvbGxvd2lu
ZyBzb3VyY2VzOgorLy8gLSBzcmMvZHN0ci1iaW5kaW5nL2FyeS1wdHJuLXJlc3QtaWQtZGlyZWN0
LmNhc2UKKy8vIC0gc3JjL2RzdHItYmluZGluZy9kZWZhdWx0L3Zhci1zdG10LnRlbXBsYXRlCisv
Ki0tLQorZGVzY3JpcHRpb246IExvbmUgcmVzdCBlbGVtZW50IChkaXJlY3QgYmluZGluZykgKGB2
YXJgIHN0YXRlbWVudCkKK2VzaWQ6IHNlYy12YXJpYWJsZS1zdGF0ZW1lbnQtcnVudGltZS1zZW1h
bnRpY3MtZXZhbHVhdGlvbgorZmVhdHVyZXM6IFtkZXN0cnVjdHVyaW5nLWJpbmRpbmddCitmbGFn
czogW2dlbmVyYXRlZF0KK2luY2x1ZGVzOiBbY29tcGFyZUFycmF5LmpzXQoraW5mbzogfAorICAg
IFZhcmlhYmxlRGVjbGFyYXRpb24gOiBCaW5kaW5nUGF0dGVybiBJbml0aWFsaXplcgorCisgICAg
MS4gTGV0IHJocyBiZSB0aGUgcmVzdWx0IG9mIGV2YWx1YXRpbmcgSW5pdGlhbGl6ZXIuCisgICAg
Mi4gTGV0IHJ2YWwgYmUgR2V0VmFsdWUocmhzKS4KKyAgICAzLiBSZXR1cm5JZkFicnVwdChydmFs
KS4KKyAgICA0LiBSZXR1cm4gdGhlIHJlc3VsdCBvZiBwZXJmb3JtaW5nIEJpbmRpbmdJbml0aWFs
aXphdGlvbiBmb3IKKyAgICAgICBCaW5kaW5nUGF0dGVybiBwYXNzaW5nIHJ2YWwgYW5kIHVuZGVm
aW5lZCBhcyBhcmd1bWVudHMuCisKKyAgICBSdW50aW1lIFNlbWFudGljczogSXRlcmF0b3JCaW5k
aW5nSW5pdGlhbGl6YXRpb24KKworICAgIEJpbmRpbmdSZXN0RWxlbWVudCA6IC4uLiBCaW5kaW5n
SWRlbnRpZmllcgorCisgICAgWy4uLl0KKyAgICAyLiBMZXQgQSBiZSAhIEFycmF5Q3JlYXRlKDAp
LgorICAgIDMuIExldCBuIGJlIDAuCisgICAgNC4gUmVwZWF0LAorICAgICAgICBbLi4uXQorICAg
ICAgICBmLiBQZXJmb3JtICEgQ3JlYXRlRGF0YVByb3BlcnR5T3JUaHJvdyhBLCAhIFRvU3RyaW5n
KG4pLCBuZXh0VmFsdWUpLgorICAgICAgICBnLiBTZXQgbiB0byBuICsgMS4KKworLS0tKi8KKwor
dmFyIFsuLi54XSA9IFsxXTsKKworYXNzZXJ0KEFycmF5LmlzQXJyYXkoeCkpOworYXNzZXJ0LmNv
bXBhcmVBcnJheSh4LCBbMV0pOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QyNjIt
UmV2aXNpb24udHh0IGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QyNjItUmV2aXNpb24udHh0CmluZGV4
IDRmMGI5YmMyZmMxZDE5NjE4NmNjMTQ4OGZhYzBmZWU3MjA5NGU0NDcuLjdkYmQyMmQxZTg1Yjlk
MDdjNDI5YzZlOGMyMzMyNWJkNmVlNTUxN2QgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0MjYyLVJldmlzaW9uLnR4dAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdDI2Mi1SZXZpc2lv
bi50eHQKQEAgLTEsMiArMSwyIEBACiB0ZXN0MjYyIHJlbW90ZSB1cmw6IGdpdEBnaXRodWIuY29t
OnRjMzkvdGVzdDI2Mi5naXQKLXRlc3QyNjIgcmV2aXNpb246IGY2YTk4NDdjNzMwMDQxYzJkMWJk
MmFjYzAzY2FlYjkyMzcwZTZiZDkKK3Rlc3QyNjIgcmV2aXNpb246IGUwYTY1ZWU3NWVmODM3Mjc2
NjY0Y2NmNjUzNThlYmU0Y2NlYmE0YzAK
</data>

          </attachment>
      

    </bug>

</bugzilla>