<?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>108731</bug_id>
          
          <creation_ts>2013-02-01 17:35:06 -0800</creation_ts>
          <short_desc>Add Support Files for WebGL Conformance Tests</short_desc>
          <delta_ts>2013-02-05 10:24:26 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebGL</component>
          <version>528+ (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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>94643</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Gregg Tavares">gman</reporter>
          <assigned_to name="Gregg Tavares">gman</assigned_to>
          <cc>cmarrin</cc>
    
    <cc>dino</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>feature-media-reviews</cc>
    
    <cc>kbr</cc>
    
    <cc>rtakacs</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>823459</commentid>
    <comment_count>0</comment_count>
    <who name="Gregg Tavares">gman</who>
    <bug_when>2013-02-01 17:35:06 -0800</bug_when>
    <thetext>Add Support Files for WebGL Conformance Tests</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>823462</commentid>
    <comment_count>1</comment_count>
      <attachid>186195</attachid>
    <who name="Gregg Tavares">gman</who>
    <bug_when>2013-02-01 17:38:25 -0800</bug_when>
    <thetext>Created attachment 186195
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>823463</commentid>
    <comment_count>2</comment_count>
    <who name="Gregg Tavares">gman</who>
    <bug_when>2013-02-01 17:39:51 -0800</bug_when>
    <thetext>Hey Ken, Here&apos;s the resource files for the WebGL Conformance Tests</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>823710</commentid>
    <comment_count>3</comment_count>
      <attachid>186195</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2013-02-02 14:24:24 -0800</bug_when>
    <thetext>Comment on attachment 186195
Patch

Let&apos;s get these checked in. It&apos;s been a plan for a while to incorporate this entire test suite as layout tests. r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>824601</commentid>
    <comment_count>4</comment_count>
      <attachid>186195</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-04 11:27:24 -0800</bug_when>
    <thetext>Comment on attachment 186195
Patch

Rejecting attachment 186195 from commit-queue.

Failed to run &quot;[&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;--bot-id=gce-cq-03&apos;, &apos;land-attachment&apos;, &apos;--force-clean&apos;, &apos;--non-interactive&apos;, &apos;--parent-command=commit-queue&apos;, 186195, &apos;--port=chromium-xvfb&apos;]&quot; exit_code: 2 cwd: /mnt/git/webkit-commit-queue

Last 500 characters of output:
hromium/testing/gtest --revision 629 --non-interactive --force --accept theirs-conflict --ignore-externals returned non-zero exit status 1 in /mnt/git/webkit-commit-queue/Source/WebKit/chromium
Error: &apos;depot_tools/gclient sync --force --reset --delete_unversioned_trees&apos; failed 3 tries and returned 256 at Tools/Scripts/update-webkit-chromium line 103.
Re-trying &apos;depot_tools/gclient sync --force --reset --delete_unversioned_trees&apos;
No such file or directory at Tools/Scripts/update-webkit line 107.

Full output: http://queues.webkit.org/results/16377209</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>824612</commentid>
    <comment_count>5</comment_count>
      <attachid>186424</attachid>
    <who name="Gregg Tavares">gman</who>
    <bug_when>2013-02-04 11:38:57 -0800</bug_when>
    <thetext>Created attachment 186424
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>825596</commentid>
    <comment_count>6</comment_count>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2013-02-05 10:24:26 -0800</bug_when>
    <thetext>I gave Gregg the wrong instructions for committing this by hand. It looks like this landed in:

http://trac.webkit.org/changeset/141855

Closing as fixed.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>186195</attachid>
            <date>2013-02-01 17:38:25 -0800</date>
            <delta_ts>2013-02-04 11:38:55 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-108731-20130201173458.patch</filename>
            <type>text/plain</type>
            <size>414701</size>
            <attacher name="Gregg Tavares">gman</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQxNTc5CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMTBlNDkxODRiOWFiNjIwZTY2YzZk
MjliM2E5NDk3Yzk3YjI1MDc0Yi4uNTYwZmRkOWJhMzM3ZmY0YzExYTczNWEzYmM4YTRlNmYwYWRj
OTY0MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5MiBAQAorMjAxMy0wMi0wMSAgR3JlZ2cgVGF2YXJlcyAg
PGdtYW5AZ29vZ2xlLmNvbT4KKworICAgICAgICBBZGQgU3VwcG9ydCBGaWxlcyBmb3IgV2ViR0wg
Q29uZm9ybWFuY2UgVGVzdHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTEwODczMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFRoZXNlIGFyZSB0aGUgJ3Jlc291cmNlJyBmaWxlcyBmb3IgdGhlIFdlYkdMCisg
ICAgICAgIENvbmZvcm1hbmNlIFRlc3RzLiBPdGhlciBDTHMgd2lsbCBhZGQgdGhlCisgICAgICAg
IGFjdHVhbCB0ZXN0cy4KKworICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2Zp
bGVzL2NvbmZvcm1hbmNlL3Jlc291cmNlcy8zeDMucG5nOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJn
bC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZXNvdXJjZXMvYmx1ZS0x
eDEuanBnOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxl
cy9jb25mb3JtYW5jZS9yZXNvdXJjZXMvYm9vbFVuaWZvcm1TaGFkZXIudmVydDogQWRkZWQuCisg
ICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVz
b3VyY2VzL2J1Zy0zMjg4OC10ZXh0dXJlLnBuZzogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVz
b3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVzb3VyY2VzL2Zsb2F0VW5pZm9y
bVNoYWRlci52ZXJ0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9jb25mb3JtYW5jZS9yZXNvdXJjZXMvZnJhZ21lbnRTaGFkZXIuZnJhZzogQWRkZWQu
CisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uv
cmVzb3VyY2VzL2dsc2wtY29uZm9ybWFuY2UtdGVzdC5qczogQWRkZWQuCisgICAgICAgIChHTFNM
Q29uZm9ybWFuY2VUZXN0ZXIpOgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL3Jlc291cmNlcy9nbHNsLWZlYXR1cmUtdGVzdHMuY3NzOiBBZGRl
ZC4KKyAgICAgICAgKGNhbnZhcyk6CisgICAgICAgICguc2hhZGVyLXNvdXJjZSk6CisgICAgICAg
ICguc2hhZGVyLXNvdXJjZSBsaTpudGgtY2hpbGQob2RkKSk6CisgICAgICAgICguc2hhZGVyLXNv
dXJjZSBsaTpudGgtY2hpbGQoZXZlbikpOgorICAgICAgICAoLnRlc3RpbWFnZXMpOgorICAgICAg
ICAoLnRlc3RpbWFnZXMgYnIpOgorICAgICAgICAoLnRlc3RpbWFnZXMgPiBkaXYpOgorICAgICAg
ICAoSU1HKToKKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS9yZXNvdXJjZXMvZ2xzbC1nZW5lcmF0b3IuanM6IEFkZGVkLgorICAgICAgICAoR0xT
TEdlbmVyYXRvci4pOgorICAgICAgICAoR0xTTEdlbmVyYXRvcik6CisgICAgICAgICogd2ViZ2wv
cmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVzb3VyY2VzL2dyYXktcmFt
cC0yNTYtd2l0aC0xMjgtYWxwaGEucG5nOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJj
ZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZXNvdXJjZXMvZ3JheS1yYW1wLTI1Ni5w
bmc6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2Nv
bmZvcm1hbmNlL3Jlc291cmNlcy9ncmF5LXJhbXAtZGVmYXVsdC1nYW1tYS5wbmc6IEFkZGVkLgor
ICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3Jl
c291cmNlcy9ncmF5LXJhbXAtZ2FtbWEwLjEucG5nOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9y
ZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZXNvdXJjZXMvZ3JheS1yYW1w
LWdhbW1hMS4wLnBuZzogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rl
c3RfZmlsZXMvY29uZm9ybWFuY2UvcmVzb3VyY2VzL2dyYXktcmFtcC1nYW1tYTIuMC5wbmc6IEFk
ZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1h
bmNlL3Jlc291cmNlcy9ncmF5LXJhbXAtZ2FtbWE0LjAucG5nOiBBZGRlZC4KKyAgICAgICAgKiB3
ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZXNvdXJjZXMvZ3Jh
eS1yYW1wLWdhbW1hOS4wLnBuZzogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVzb3VyY2VzL2dyYXktcmFtcC5wbmc6IEFkZGVk
LgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNl
L3Jlc291cmNlcy9ncmVlbi0yeDItMTZiaXQucG5nOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9y
ZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZXNvdXJjZXMvaW50QXJyYXlV
bmlmb3JtU2hhZGVyLnZlcnQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJn
bF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3Jlc291cmNlcy9pbnRVbmlmb3JtU2hhZGVyLnZlcnQ6
IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZv
cm1hbmNlL3Jlc291cmNlcy9tYXRVbmlmb3JtU2hhZGVyLnZlcnQ6IEFkZGVkLgorICAgICAgICAq
IHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3Jlc291cmNlcy9u
b29wVW5pZm9ybVNoYWRlci5mcmFnOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMv
d2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZXNvdXJjZXMvbm9vcFVuaWZvcm1TaGFkZXIu
dmVydDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMv
Y29uZm9ybWFuY2UvcmVzb3VyY2VzL25wb3QtdmlkZW8ubXA0OiBBZGRlZC4KKyAgICAgICAgKiB3
ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZXNvdXJjZXMvbnBv
dC12aWRlby50aGVvcmEub2d2OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2Vi
Z2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZXNvdXJjZXMvbnBvdC12aWRlby53ZWJtdnA4Lndl
Ym06IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2Nv
bmZvcm1hbmNlL3Jlc291cmNlcy9vZ2xlcy10ZXN0cy5jc3M6IEFkZGVkLgorICAgICAgICAoY2Fu
dmFzKToKKyAgICAgICAgKC5zaGFkZXItc291cmNlKToKKyAgICAgICAgKC5zaGFkZXItc291cmNl
IGxpOm50aC1jaGlsZChvZGQpKToKKyAgICAgICAgKC5zaGFkZXItc291cmNlIGxpOm50aC1jaGls
ZChldmVuKSk6CisgICAgICAgICgudGVzdGltYWdlcyk6CisgICAgICAgICgudGVzdGltYWdlcyBi
cik6CisgICAgICAgICgudGVzdGltYWdlcyA+IGRpdik6CisgICAgICAgIChJTUcpOgorICAgICAg
ICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3Jlc291cmNl
cy9wbmdsaWIuanM6IEFkZGVkLgorICAgICAgICAoLik6CisgICAgICAgICogd2ViZ2wvcmVzb3Vy
Y2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVzb3VyY2VzL3JlZC1ncmVlbi5tcDQ6
IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZv
cm1hbmNlL3Jlc291cmNlcy9yZWQtZ3JlZW4ucG5nOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9y
ZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZXNvdXJjZXMvcmVkLWdyZWVu
LnRoZW9yYS5vZ3Y6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL3Jlc291cmNlcy9yZWQtZ3JlZW4ud2VibXZwOC53ZWJtOiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5j
ZS9yZXNvdXJjZXMvcmVkLWluZGV4ZWQucG5nOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNv
dXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZXNvdXJjZXMvc2FtcGxlclVuaWZv
cm1TaGFkZXIuZnJhZzogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rl
c3RfZmlsZXMvY29uZm9ybWFuY2UvcmVzb3VyY2VzL3NtYWxsLXNxdWFyZS13aXRoLWNpZS1yZ2It
cHJvZmlsZS5wbmc6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL3Jlc291cmNlcy9zbWFsbC1zcXVhcmUtd2l0aC1jb2xvcm1hdGNo
LXByb2ZpbGUucG5nOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9jb25mb3JtYW5jZS9yZXNvdXJjZXMvc21hbGwtc3F1YXJlLXdpdGgtY29sb3JzcGlu
LXByb2ZpbGUuanBnOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9jb25mb3JtYW5jZS9yZXNvdXJjZXMvc21hbGwtc3F1YXJlLXdpdGgtY29sb3JzcGlu
LXByb2ZpbGUucG5nOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9jb25mb3JtYW5jZS9yZXNvdXJjZXMvc21hbGwtc3F1YXJlLXdpdGgtZS1zcmdiLXBy
b2ZpbGUucG5nOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9m
aWxlcy9jb25mb3JtYW5jZS9yZXNvdXJjZXMvc21hbGwtc3F1YXJlLXdpdGgtc21wdGUtYy1wcm9m
aWxlLnBuZzogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmls
ZXMvY29uZm9ybWFuY2UvcmVzb3VyY2VzL3NtYWxsLXNxdWFyZS13aXRoLXNyZ2ItaWVjNjE5NjYt
Mi4xLXByb2ZpbGUucG5nOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xf
dGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZXNvdXJjZXMvc3RydWN0VW5pZm9ybVNoYWRlci52ZXJ0
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS9yZXNvdXJjZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMu
anM6IEFkZGVkLgorICAgICAgICAoLmluaXQpOgorICAgICAgICAoLnNldENhbnZhc1RvUmVkR3Jl
ZW4pOgorICAgICAgICAoLmRyYXdUZXh0SW5DYW52YXMpOgorICAgICAgICAoLnNldENhbnZhc1Rv
MjU3eDI1Nyk6CisgICAgICAgICguc2V0Q2FudmFzVG8xeDIpOgorICAgICAgICAoLmVsc2UpOgor
ICAgICAgICAoLnJ1bk9uZUl0ZXJhdGlvbik6CisgICAgICAgICgucnVuVGVzdC5ydW5OZXh0VGVz
dCk6CisgICAgICAgICgucnVuVGVzdCk6CisgICAgICAgIChnZW5lcmF0ZVRlc3QpOgorICAgICAg
ICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3Jlc291cmNl
cy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLWRhdGEuanM6IEFkZGVkLgor
ICAgICAgICAoLmluaXQpOgorICAgICAgICAoLnJ1bk9uZUl0ZXJhdGlvbik6CisgICAgICAgICgu
cnVuVGVzdCk6CisgICAgICAgIChnZW5lcmF0ZVRlc3QpOgorICAgICAgICAqIHdlYmdsL3Jlc291
cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3Jlc291cmNlcy90ZXgtaW1hZ2UtYW5k
LXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLmpzOiBBZGRlZC4KKyAgICAgICAgKC5pbml0KToKKyAg
ICAgICAgKC5ydW5PbmVJdGVyYXRpb24pOgorICAgICAgICAoLnJ1blRlc3RPbkltYWdlKToKKyAg
ICAgICAgKC5ydW5UZXN0Lm5ld0ltYWdlLm9ubG9hZCk6CisgICAgICAgICgucnVuVGVzdCk6Cisg
ICAgICAgICgucnVuVGVzdDIubmV3SW1hZ2Uub25sb2FkKToKKyAgICAgICAgKC5ydW5UZXN0Mik6
CisgICAgICAgICgucnVuVGVzdDMpOgorICAgICAgICAoZ2VuZXJhdGVUZXN0KToKKyAgICAgICAg
KiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZXNvdXJjZXMv
dGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC12aWRlby5qczogQWRkZWQuCisgICAgICAg
IChkZWJ1Zyk6CisgICAgICAgICguaW5pdCk6CisgICAgICAgICgucnVuT25lSXRlcmF0aW9uKToK
KyAgICAgICAgKC5ydW5UZXN0KToKKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9jb25mb3JtYW5jZS9yZXNvdXJjZXMvdmVydGV4U2hhZGVyLnZlcnQ6IEFkZGVkLgor
ICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3Jl
c291cmNlcy93ZWJnbC10ZXN0LXV0aWxzLmpzOiBBZGRlZC4KKyAgICAgICAgKFdlYkdMVGVzdFV0
aWxzKToKKyAgICAgICAgKFdlYkdMVGVzdFV0aWxzLik6CisgICAgICAgICogd2ViZ2wvcmVzb3Vy
Y2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVzb3VyY2VzL3dlYmdsLXRlc3QuanM6
IEFkZGVkLgorICAgICAgICAod2ViZ2xUZXN0TG9nKToKKyAgICAgICAgKGdldEdMRXJyb3JBc1N0
cmluZyk6CisgICAgICAgIChzaG91bGRHZW5lcmF0ZUdMRXJyb3IpOgorICAgICAgICAoZ2xFcnJv
clNob3VsZEJlKToKKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9j
b25mb3JtYW5jZS9yZXNvdXJjZXMvemVyby1hbHBoYS5wbmc6IEFkZGVkLgorICAgICAgICAqIHdl
YmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL3Jlc291cmNlcy9kZXNrdG9wLWdsLWNvbnN0
YW50cy5qczogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmls
ZXMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qczogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVz
b3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzOiBBZGRlZC4K
KyAgICAgICAgKC4pOgorICAgICAgICAocmVwb3J0VGVzdFJlc3VsdHNUb0hhcm5lc3MpOgorICAg
ICAgICAobm90aWZ5RmluaXNoZWRUb0hhcm5lc3MpOgorICAgICAgICAoZGVzY3JpcHRpb24pOgor
ICAgICAgICAoZGVidWcpOgorICAgICAgICAoZXNjYXBlSFRNTCk6CisgICAgICAgICh0ZXN0UGFz
c2VkKToKKyAgICAgICAgKHRlc3RGYWlsZWQpOgorICAgICAgICAoYXJlQXJyYXlzRXF1YWwpOgor
ICAgICAgICAoaXNNaW51c1plcm8pOgorICAgICAgICAoaXNSZXN1bHRDb3JyZWN0KToKKyAgICAg
ICAgKHN0cmluZ2lmeSk6CisgICAgICAgIChldmFsQW5kTG9nKToKKyAgICAgICAgKHNob3VsZEJl
KToKKyAgICAgICAgKHNob3VsZE5vdEJlKToKKyAgICAgICAgKHNob3VsZEJlVHJ1ZSk6CisgICAg
ICAgIChzaG91bGRCZUZhbHNlKToKKyAgICAgICAgKHNob3VsZEJlTmFOKToKKyAgICAgICAgKHNo
b3VsZEJlTnVsbCk6CisgICAgICAgIChzaG91bGRCZUVxdWFsVG9TdHJpbmcpOgorICAgICAgICAo
c2hvdWxkRXZhbHVhdGVUbyk6CisgICAgICAgIChzaG91bGRCZU5vblplcm8pOgorICAgICAgICAo
c2hvdWxkQmVOb25OdWxsKToKKyAgICAgICAgKHNob3VsZEJlVW5kZWZpbmVkKToKKyAgICAgICAg
KHNob3VsZEJlRGVmaW5lZCk6CisgICAgICAgIChzaG91bGRCZUdyZWF0ZXJUaGFuT3JFcXVhbCk6
CisgICAgICAgIChleHBlY3RUcnVlKToKKyAgICAgICAgKHNob3VsZFRocm93KToKKyAgICAgICAg
KGFzc2VydE1zZyk6CisgICAgICAgIChnYy5nY1JlYyk6CisgICAgICAgIChnYyk6CisgICAgICAg
IChmaW5pc2hUZXN0LmVwaWxvZ3VlLm9ubG9hZCk6CisgICAgICAgIChmaW5pc2hUZXN0KToKKyAg
ICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9yZXNvdXJjZXMvanMtdGVz
dC1zdHlsZS5jc3M6IEFkZGVkLgorICAgICAgICAoLnBhc3MpOgorICAgICAgICAoLmZhaWwpOgor
ICAgICAgICAoI2NvbnNvbGUpOgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL3Jlc291cmNlcy90ZXN0LWV2YWwuanM6IEFkZGVkLgorICAgICAgICAoVGVzdEV2YWwp
OgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL3Jlc291cmNlcy93
ZWJnbC1sb2dvLnBuZzogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rl
c3RfZmlsZXMvcmVzb3VyY2VzL3dlYmdsLXRlc3QtaGFybmVzcy5qczogQWRkZWQuCisgICAgICAg
IChXZWJHTFRlc3RIYXJuZXNzTW9kdWxlLmxvZyk6CisgICAgICAgIChXZWJHTFRlc3RIYXJuZXNz
TW9kdWxlLnRyeS5yZXF1ZXN0Lm9ucmVhZHlzdGF0ZWNoYW5nZSk6CisgICAgICAgIChXZWJHTFRl
c3RIYXJuZXNzTW9kdWxlLmxvYWRUZXh0RmlsZUFzeW5jaHJvbm91cyk6CisgICAgICAgIChXZWJH
TFRlc3RIYXJuZXNzTW9kdWxlLmdyZWF0ZXJUaGFuT3JFcXVhbFRvVmVyc2lvbik6CisgICAgICAg
IChXZWJHTFRlc3RIYXJuZXNzTW9kdWxlLmNvcHlPYmplY3QpOgorICAgICAgICAoV2ViR0xUZXN0
SGFybmVzc01vZHVsZS50b0NhbWVsQ2FzZSk6CisgICAgICAgIChXZWJHTFRlc3RIYXJuZXNzTW9k
dWxlLik6CisgICAgICAgIChXZWJHTFRlc3RIYXJuZXNzTW9kdWxlLmdldEZpbGVMaXN0SW1wbCk6
CisgICAgICAgIChXZWJHTFRlc3RIYXJuZXNzTW9kdWxlLnZhcik6CisgICAgICAgIChXZWJHTFRl
c3RIYXJuZXNzTW9kdWxlLmdldEZpbGVMaXN0KToKKyAgICAgICAgKFdlYkdMVGVzdEhhcm5lc3NN
b2R1bGUuRmlsdGVyVVJMKToKKyAgICAgICAgKFdlYkdMVGVzdEhhcm5lc3NNb2R1bGUuVGVzdEZp
bGUpOgorICAgICAgICAoV2ViR0xUZXN0SGFybmVzc01vZHVsZS5UZXN0KToKKyAgICAgICAgKFdl
YkdMVGVzdEhhcm5lc3NNb2R1bGUuVGVzdEhhcm5lc3MpOgorICAgICAgICAoV2ViR0xUZXN0SGFy
bmVzc01vZHVsZS5UZXN0SGFybmVzcy5wcm90b3R5cGUuYWRkRmlsZXNfKToKKyAgICAgICAgKFdl
YkdMVGVzdEhhcm5lc3NNb2R1bGUuVGVzdEhhcm5lc3MucHJvdG90eXBlLnJ1blRlc3RzKToKKyAg
ICAgICAgKFdlYkdMVGVzdEhhcm5lc3NNb2R1bGUuVGVzdEhhcm5lc3MucHJvdG90eXBlLnNldFRp
bWVvdXQpOgorICAgICAgICAoV2ViR0xUZXN0SGFybmVzc01vZHVsZS5UZXN0SGFybmVzcy5wcm90
b3R5cGUuY2xlYXJUaW1lb3V0KToKKyAgICAgICAgKFdlYkdMVGVzdEhhcm5lc3NNb2R1bGUuVGVz
dEhhcm5lc3MucHJvdG90eXBlLnN0YXJ0TmV4dFRlc3QpOgorICAgICAgICAoV2ViR0xUZXN0SGFy
bmVzc01vZHVsZS5UZXN0SGFybmVzcy5wcm90b3R5cGUuc3RhcnRUZXN0KToKKyAgICAgICAgKFdl
YkdMVGVzdEhhcm5lc3NNb2R1bGUuVGVzdEhhcm5lc3MucHJvdG90eXBlLmdldFRlc3QpOgorICAg
ICAgICAoV2ViR0xUZXN0SGFybmVzc01vZHVsZS5UZXN0SGFybmVzcy5wcm90b3R5cGUucmVwb3J0
UmVzdWx0cyk6CisgICAgICAgIChXZWJHTFRlc3RIYXJuZXNzTW9kdWxlLlRlc3RIYXJuZXNzLnBy
b3RvdHlwZS5kZXF1ZVRlc3QpOgorICAgICAgICAoV2ViR0xUZXN0SGFybmVzc01vZHVsZS5UZXN0
SGFybmVzcy5wcm90b3R5cGUubm90aWZ5RmluaXNoZWQpOgorICAgICAgICAoV2ViR0xUZXN0SGFy
bmVzc01vZHVsZS5UZXN0SGFybmVzcy5wcm90b3R5cGUudGltZW91dCk6CisgICAgICAgIChXZWJH
TFRlc3RIYXJuZXNzTW9kdWxlLlRlc3RIYXJuZXNzLnByb3RvdHlwZS5zZXRUaW1lb3V0RGVsYXkp
OgorICAgICAgICAoV2ViR0xUZXN0SGFybmVzc01vZHVsZSk6CisgICAgICAgICogd2ViZ2wvcmVz
b3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanM6IEFkZGVkLgorICAgICAgICAoLik6
CisKIDIwMTMtMDItMDEgIEFsZXhpcyBNZW5hcmQgIDxhbGV4aXNAd2Via2l0Lm9yZz4KIAogICAg
ICAgICBFbmFibGUgdW5wcmVmaXhlZCBDU1MgdHJhbnNpdGlvbnMgYnkgZGVmYXVsdC4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZv
cm1hbmNlL3Jlc291cmNlcy8zeDMucG5nIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVzb3VyY2VzLzN4My5wbmcKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NmNmMWU3NDQ3YTNhOWFjYTQwYTgwMzgzYjc1NTAwMTc4OTk0MWU2ZApHSVQgYmluYXJ5IHBhdGNo
CmxpdGVyYWwgMjgwNgp6Y21WPFMzSkxYelApPGg7M0t8TGswMDBlMU5KTFRxMDAwOTMwMDA5QjBz
c0kyKi05ZWwwMDAwOWE3YkJtMDAwWFUKejAwMFhVMFJXbnU3eXRrWVBpYUYjUCo3LVpiWj5LTFoq
VSs8THFpfk5hJkttN1ktSW9kYy1veSlYSC0rXjdDcmFnCnpeZz5JQmZSc3liUVdYZHdRYkxQPjZw
PHo+QXFmeWxoI3tmYjY7Wih2TU1WU34kZUBTPWoqZnRnNjtVaDxpVkR+Vgp6PFJQTXRnUUpMdyVL
UERhcWlmY0BfdlgkMXdid3I5dG47MC0mai1LPTQzPGJVUThqPUpzWGB0UjtEZzcrI15LfkgKeksh
Rk0qWn56YnB2dCVLMntVWlNZXzxsUypEPFolTHo1b0d1KCtkYXl6KWhSTEZkVD5mNTkmZ2hUbWdX
RDBsOypUCnpJNzxrQzZhWVlhanpYcFlLdD0oOG90UCQ1MEg2Y19WOVI0LTt7WkBDMEFNRzc9RjxS
eG8lb3IxMFJVVCtBciUzagp6a3BMaFFXciMhb1hnZElgJnNLXj4wOVlecDZsUDFySVJNeCMwNUN+
Y1c9SF9BdypiSi01RFQmWjJuK3gpUUhYXnAKejAwZXNnVjh8bVFjbVJaJTAyRF5AUzNMMTZ0YE8l
YzAwNE5Jdk9LdllJWW9oNjJyWTMzUzY0MGBEOSVZMkQtPD9pCnowJTRqIUYyWkA0ODhVJTE1OCg2
NjAwNXdvNiVwV3JeWmpfdjR6QUE1SGpjSXFVb0dtdDJMQj5yViZuZWgmI1ExaQp6MDA3fjFlJG9D
Y0ZTOG5lSXxoSmx7LVAhQjFaWjlocG1xMClYMGlgSndFJj4kK0U/PiVfPGxTKk1XSytuKzFjZ2YK
ejxrKDhZTFIoP1ZTQUc2eCFlNzh3e2NRUHVKcEF8ZDtKKUd7ZmloaXpNK0VyYiFwIXRjcjV3K2Ez
NH4oWT04czRHCnp3K3NMTDluJkpqTm4qS0pEaXFeVTVeO2AxbnZDLUByNlAkIWt9MVV7KCpJPVEt
ekB0QktIb0l9dXhkVTVkeXlAdQp6VTFKMEdPRDdPbWJpbV5HMDA4cDRaXjZfazJtXnA8Z1c9RDJ8
TDtIak4xIUREZk0hWE9hUjJ+Ykw/a1gkJUNrU20KejJtazs/cG4pb3xLXnllSjclYWRCOUtpK0wh
MytGZ0hpU1lYI0tKLWxMSkRNbjlDQmJPdGIjJSloUnZgWURxdF92CnpLcGl4fFFEfXlmYTFKaVFS
ayNqNGExWiluMiVmPHh5bnpWPkxDNlJiVklrVXgwYitfK0JhUjNjblQ3WnYhQUp4Vwp6aXpGYilo
IWp5R09PWjg1RjthP0RBWFB7bUA7ITBfSWZxPEV4eyo3YDA1WEY3aFArMkhsITNCUUo9NkBmTCVG
Q28KejhpWW9vMygjYkFGYEFEU3BxdFFndj5IOChIbGdSeHQ3czN9azNLYGtGdT4+LTJRJFFNRmZQ
VyFMYXtoMzM2bz5YCnp1X0NNdHRIdjZ6UjsmWk5pUz1YOHYzQ1IjZmtuVXhIVXhKPEFZbVJzTkxX
bCpQU3tBT0FSSHQjNSF3a2kyP0s7dAp6IVkzaz1zN3RnYXgpSiVyNy1CTHBoZ2U3fkJpMGcrNkU2
XlpoKHA5VEJvY3szR0FGcl4wIWd1P1JNSGFDTSQmRmwKekJrMyV1bj4wdW9CYV9NNldOV2VxSWd+
NlFFNjljOW8jZXloR3ZwaU9BQFctYW9uazw3cjEoP2ZDe29JNU4qVSE0Cno8dXY2Nld0Y0tTUmlt
MHgtS2UyZDVqQnJtTGFteztRbTt7bXMxcjFHbm1Oc2I3RC1FYHQpaTlGOGZYYDJfaTMtXwp6Ymg7
N1VsXiN4KSZ7eHZTPXx8fDc9bVllMzM9TWBBZ1U1KHhDPmZnPTJOLTc9Y05uampPcnt5cml5Nm1N
RmdHI2wKem5DRj1mblF2OENEeisrbzZfTHNjbH1lUStsXlpIQVJIPj9fc0B8IyNScjZLTFJGQTEl
USs9KlJSV25vTHNSYDdVCnp0NXZGPFEwcjQwUSlqNj1zRTRYJnNCY3QxcTwmZmJpM1ZCMk92NnRA
cSowKTtVKm8qU0FQWnZ8dnZAMmFZWW5UMAp6YiU4YStDYjctZ2UwRDBrbkVmNVFpI0A4VHAqY2V7
Tjs2bHBRdUNCJUtMX0tPYXJtNWNQNl84SXI8ZTE3aXJ5Nk8KekRkSCZgclpofnNGPWJxOXMrTzBR
U2dTfkBRTDlKbXkqOTR4cj02eX5NWX4hMWZldH4oTisoPD1NYHdARDEpYitwCnoqO0MhODNhMXVM
SnYjTlNFfjt5Izg9PD5JY2ZXM0A/d0Zwd1VWeHJWWj5RZFF6MzJLSWVKfWt+e2NaWkVeK3lhPwp6
MkQxeiMySE9uSTcoQiVfYWM/e3dGVVE7UVFBMXRCS3RyV3JtMF8zUmdwcys/SmZxYntqWWJjUVh+
dGFSQjsjJHkKelpOe1N9MXx9Z1VPSEp4Yz93VjNmeHV6K21KNGAhRiRJWjttcVJyTnNISmQjIypE
fmp1PWJQNz8tP3Z+fGN2PnZCCnpzSjZJZU53Vlp4cmRqVGB5bCNiQklhI0d4UmEjeE1NeTtLI0NE
eXlHeVFkTVN4bFdUI3REZT9wIT81d1QkK29HdAp6OEw7S3AySFVRLVpNSj0zWEpRdjt4NWNpKj92
dVRmZVkkOyh7WEdXX2h1SUZSOWE8ZkpiRl58NEkjeFF+biREYz0KektZaGpZbWd6NU5Ta0RtOCpm
Wm17NlUhO1lYYE5HPig/QDMpWFNzOE9eTjVSeU9NPVRUbXAoMz04Xit6cHoycilDCnpePkpPe2Rl
WmZzbzNvcTM/V28oWT9sJGdlP3VYbzslcnVgVm8+Pzw8KDhJXz47OEVxI0tNUzlnRmwqbmVlb3NT
Qgp6Zm9IWW5CUUlrd2t5b3dQdSh6ZG1zYHB7PDdlNGtyYS1aV3E8MipPc0dUdkVWJXMwVGQkaFhU
KyEqOEJuaDJLTWUKekJtWlJvZGpIVj9yK181Xlg5SjBXTDRqS1dgfWxmJUEtfDQ0SUBATFR2ZjFy
SGpHKHplNit3QEp0JUJ2anRzIVgwCno/MnhTP192ZV8tazxNdWpnOzBMeiozYnVHPTMkRyZlaGVw
dGhsTiokS2FPeVNTUV5uV21vPDBNKyhVRVVNRVhSUQp6TUJiWmNGOzYrS0VsTT5pS0JfS2lKbFok
OUdgY149RUBvTkcpbVdXYU5vLTNUSVc4KSRIZzBVYi1+OD9LaHZKPiQKejMqJm5pbUBtaihhQ3hF
NSF0e2x3N081XjBFSU83ek9vJmM2bDwrfGlEeVNCV0NHcnpAQzV7U3QhWDNoQUF9YFQ0CnooVExi
WFRxKyg7QDw9TDhkWG5zc3lmdHx3I1dTVFc8KyszPnNnUyUoNE5UcGVJLVZBcWJ8N3NzSnZ6Tkhn
T1pWdQp6YVlDdmdPX1Ixfj5TeUw9Y0ZVfH5nfGh5fFppfX1zOStkfmxZcU9CNzF6OVokd25DPXBS
OVl6NERoSU0+V21qZ3UKeiY1Nm82bWFDcEMmRiMjeSVHOzFQb2JSOWk/R25OZztnWXRjaEQlcDE5
YSFlUXRaRiYzSmFLdjMzZ1o8OER+NDdFCnp0VVMxaXdrbURhUHBqPSRtIyUpakNWRVk0Zm5MR05n
MkEtYFl3SFZEM2d2fTs+KWhBdlR+QW1xUz5McmBgaTdrdwp6Sns1X0l0YHlyQm1sYzI1REJPN0U4
OzVWb3puUj5XdzVoQWF4biQyfihxYCVBLVl1UzY0d2tCeT05ZG1gNGNYZVgKejRjfUlAP2UrRlcr
YkBeUkRCSFYod25NcTJ6ZFgzU1d2OXVgJXt4Qy1xKlV9JmBjeVhWKCVyUlQqWjZNSD9pK2kmCnpf
QjhDKCtnclQle1hXVVErZkBOb1AxUj1BVyYyNnt2LWR4KWlLXi1ObWl1ajh0eGohbT9aKlNzMU57
ZGg0en0wMQp6KVlUbypKeWNTVSkrXzVyNCN5dzl7KztpNEVlJHBlUmdJais7djtaR2RGMUskM0Ul
ZX40TGFJKGpDLXUlMmgkJlIKejljTFhjWUNAWHdubnMmYm4pX1F+VGU/cm9LR0R8ZC1nXjg7K2FD
e3tHKDFeKE83bTM3WTEtKzYpMDFjTiZ5MWF3CnpvcWN7VGBQXlhKcVBCYklXNnN9ZDR7el9mNU9t
P3ZNZ05RRUpHP3YyVD1LWWReME0zSTZJWnhibnkpJXZaUiZMRAp6SnBQbEBQc2g4UXlQQkBLVHgr
QFJkY0MhS1g3fWtFbztTfGpedTJsVTdYUX1PbztmfDt6NExsK19yPkAxLXhsM3wKemF3cS1IJWUm
Y2tDK0BBaFByUDZCSzx6PTxMKjBrZktVQENYKnplcWJZUVQ0KF5VPlQjX1hkVDcmO0Y3MWp9Sm95
CnprQ342bGg3RUA2bztXQF5JcFJOWntwdEx0TChnUS1DWX40bXFXO1VTN1p4dm1ffEB5eiZlNTNC
cF9sVFBsZlB8egp6clR5eF8+bHZAeCM9XiFQelI3cXFGPCRnbWB8WkpaKzs8KUNxdSZvdDxhezgx
REYwfnJ2R3I1WHJ+OHVgbGF2MWgKejFETnl0Vj4yej0wMDAwV1ZAT2c+MDA0Uj0wMDRsNDAwODtf
MDA0bUwwMDRDYDAwOFA+MDAyNmUwMDArbmwzJkZ9CnowMDAwWE5rbDxaYy1rei11PmstODIqVil5
fEl1LWdqZkVLTDFCd0Z4MFJSNjMwRFJSNGB7UGFJTDt3SCkwNypxbwpJTTZOPCRmK2t4dWlVMHJy
CgpsaXRlcmFsIDAKSGNtVj9kMDAwMDEKCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9y
ZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZXNvdXJjZXMvYmx1ZS0xeDEu
anBnIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9y
bWFuY2UvcmVzb3VyY2VzL2JsdWUtMXgxLmpwZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hNzBiYmIwMjE5ZGI5MTAz
NWQ4ZTM3ZDU2YTY1NDk4YzEwODUxYjZiCkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCAzMTkKemNt
ZXg9PE5wSCYwV1VYQ0h3SCNWTWd8V2NXY2RHJkxCX2MjSEwpWiRNV0g7aUJ0eWE3KD5Gak5LVGpj
MSE4YkFhCnp8N2B8bWtYbmlXJFBrSlEwQlFiemZJKk9oZnN1aWNuTmYqPk5zeTZRa24jVCEyMnI1
bjcqR0toUCpfOSZVNmNXJgptNy0kVHRTYE0mY0t7UWNkcHhrMk1WUCp0YyF6ez5QJihLI097eX1e
SHxDPDFaQl8rTjkKCmxpdGVyYWwgMApIY21WP2QwMDAwMQoKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3Jlc291cmNl
cy9ib29sVW5pZm9ybVNoYWRlci52ZXJ0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVzb3VyY2VzL2Jvb2xVbmlmb3JtU2hhZGVyLnZl
cnQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uOTIyNmIzYjVjMGZhNzdkYzk2NjM4YWViNGIzM2QxZDE2MjhkODE3OAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL3Jlc291cmNlcy9ib29sVW5pZm9ybVNoYWRlci52ZXJ0CkBAIC0w
LDAgKzEsNDMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKGMpIDIwMDkgVGhlIENocm9taXVtIEF1dGhv
cnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMg
YXJlCisgKiBtZXQ6CisgKgorICogICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAqIE5laXRoZXIgdGhl
IG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9y
cyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9t
CisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNz
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBI
T0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqIEFTIElTIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhF
IENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwK
KyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorKi8KKwordW5pZm9ybSBib29sIGJ2YWw7Cit1bmlmb3JtIGJ2ZWMyIGJ2YWwyOwor
dW5pZm9ybSBidmVjMyBidmFsMzsKK3VuaWZvcm0gYnZlYzQgYnZhbDQ7CisKK3ZvaWQgbWFpbigp
Cit7CisgICAgYm9vbCBhbGxTZXQgPSBidmFsCisgICAgICAgICAgICAmJiBidmFsMlswXSAmJiBi
dmFsMlsxXQorICAgICAgICAgICAgJiYgYnZhbDNbMF0gJiYgYnZhbDNbMV0gJiYgYnZhbDNbMl0K
KyAgICAgICAgICAgICYmIGJ2YWw0WzBdICYmIGJ2YWw0WzFdICYmIGJ2YWw0WzJdICYmIGJ2YWw0
WzNdOworICAgIGdsX1Bvc2l0aW9uID0gdmVjNCgoYWxsU2V0ID8gMS4wIDogLTEuMCksIDAuMCwg
MC4wLCAxLjApOworfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVzb3VyY2VzL2J1Zy0zMjg4OC10ZXh0dXJlLnBu
ZyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1h
bmNlL3Jlc291cmNlcy9idWctMzI4ODgtdGV4dHVyZS5wbmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTc4Y2ZlNzk5
NzliODUyMDJiZWMxOWI4YTQ1NGU2NjkzNjFlZThjYQpHSVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwg
MTAwNTAKemNtWEF2Y1JaV2wrczdrVD9BVXZjcUgzNDRSJX1JV1V1dGghZCkzfjFRPT01SXMjY0JL
ZGxwckBDfjhIaTYoZVpHCnpfTjJlKGszMEFJRTNmLXAqRSFldVQ8XzBHKDl1I1FBIUh4fjAwMU59
KVJnbzkwNCZUOXp5YHZAe043YzQrUXk2bAp6Rk89akJ7MG9qa2cwanBFM3k8NVRwWlFqNl8wKTdx
dD9nXzUkT2JFPHJ+QlpAPDBAaFUmciYwY0EhPUxCNkJBeTwKelFefW5eeCN7JXYjWnhgdVdwLWNs
VVUqT2BKQm8pKEU2K3RCMj91PD5XbERFUi01dTllPmxeTmRUeHtMemhBNUN7CnomYUF6ej5sRUJE
WHtxa0tvP3BLP3tNRzBGYURsISNHRkpqY18jc0t4Mk9mJmpAMFVwWUBsVzgpeDJNSW9VbEBfMwp6
X3ROYXFZJVRUOTQ/Tk5Gd2xhTkRheCQ4VWZMNTFmdVp2R0ZeUVNFUExoc0olPmdybmNzPEhfMHtS
VkpwVTBqQDwKejV1RkZzSEtCSXtXVEQ4c2VmSTtZT01RN09XUHh7cjIjP3JeLUJicnhHK1EqN3tS
UEUpYEA5JEx6REE4MnlucnNFCnplMmsyWVJfeF43WWdNM0hUVSthQDxed3BHVUl3PkpNfXV7UGlv
IV8wc2A4WCN4aHl5U0lXKDtLdVF2NGRiaEk4Mgp6S0JweGBeNW5AQVA+ZSF4KSp3MkIzRX19TEQ9
Un12bGZBYkx5YHJvIXM8LWdIU2F4Jnw9I3BaJFoxa0ZUbSs/PjkKejc0d0lZamheZWlQck5WLW50
a1V4WGEzJG9lOHB2TWxLTzBmVikxa3trY3h1NihwaytWWF8jfE8ldjV3djdYQylKCnpAb3Y+PSpw
PX5WSCNZI2pBe2V8ZispZSlfV200PiZgS0ZxMm09cHJQSTt6bEhQKjxIPXozT2EhZTVLRD1WakB8
KQp6WVdzI2JPU0llQj9mZ0BkUj8lV3JidX0kdiV4eVJean0ob014cHYheCttcUlVUDdzanRmcC1o
fiNyUHsoWmAxViUKenFnKHN0WmY1VVRuVTM/YFlVXiZKeDtAX2xOPHZyI1FqU3hpUXkpTHRIdHk/
ZGo8dn1nR09objVZQnU5dTt2aXVFCno0Slc5MkxUcE96SDw9fUNtQW5DS3ZnbyhPUXB1QCYtJk4x
NjkzMTR8SWM+fHBXJjhJcylGfj5iVzc/cTxOd2grRQp6ZlVJJSpyQjsmWmI5ZXhZPTNJMGchdkNt
YzVxWFdNan1uTztXZUdhYHR8OFIoX3d9b3NXZG9fclRCTGlRfEVaQ1gKejheWGZQbjNWcSRaallW
Szx8PSltVHhaa1A7Q14qa3oyOWZzPjhYM2VtQG4jNlhnWXkkVyRWd3RJZ2V1SHA+JXRLCnptfk5+
VXVkZSF6YF8lPG4lVT1JQXA5Sz1ZM2NkejJCTj1IdSFfemdVS2czenkhWHVtWEppJFpKYn4pZ3RH
dmolPgp6bGtVcVgrUnR2VTNzO15NcVZPeDloQSNSSkopcE1GKFM2LUZHYnUxX1liaDMmKFV7bEU/
WTlNZkFyQ3ZfKD5HZXUKekVScX08QG56TjM2fSpJbmh2K2BId2EoTyZgQGczeE1WRyhVKGgxbmUm
dkpeWStLSWQzbz03aXRWNFl2YyYzOU4yCnojYno/I04zOyQzKyRzRTh4azxBVD0rbElkTXNGJFR1
b2hEZHFXWWZAV3U0MjBVVWEjP3J4Z3FxWitCR0l0clFxUAp6YlVMeChAYyZFdSZ9LWVeKkgpLWNE
aHZieUolQWlzO247OC1zfDlyQVZsO1U7X1ViTSM4OHo3Yit1UXA7PSlUWloKelM7IWBaKXAqVm1O
NldYJV9TJXpxVikmTDEqTmZ6WUYqPD97IWFwbFlySGxJPz53aTtYYHhwYnc2N2d0YVA1ODwjCnpF
LTZ7bypULTZQfEZffntZd1NfYz9hV3tkNSZCIT4jSFcwYU1QT34pKjIzRHxjKnlybmVaMSppNDtq
Kjt2d2RDYAp6ZkNzV1hxVTgkYXJQfEtIRjNYQDB1IUoyZV5HJVY7bGI+XnFMY1pIVnY1YXtMeG8m
ZzMrIXkzcXlJeTdLdkRUS2UKel9NOTJ6RX1kKDZhfFoxI2Bgc1pOTypIUGVzbChjT3FOc3goM0RL
YjxiQktxPjM9Skl4e2soNiFxZz1FSUsrdFBjCnpFTWdOOXZrVHc5bHArbHxTT2BVXkM/VktgMj9l
akwtcipPbUBDTDxHQ2srej0pWlRyaVJ4VE1odmw4e2FgMWBrYwp6PFJFYGptLUdxT0tzaSYrSDJq
aUQ2RU9Pcj5zbXdiP1MmeSEpNmU4TSZzKkAtNFo3YW0pPmhKYzFAQjJWb1IrWm8Kems3KUQ+X1NR
IShYfGlVJEpZflBgKX1KentkQ1ErNndfQV4mekhBIVdZK3lfdXU8S3p7cC08TU11UkRWM1U9NERF
CnpRPiFLVyVkMWJ0ZldwdWpQbHtweTloTnR9STtWMkgoc3MwT0t8MHtTVDlYISZJcX4zcTRORCtj
I3MxUERgS1ktOAp6OVclS1VoPHZ7e0ApaXMoa2xNb2JNOzljQ25DOWNJYmQlcGEtb1Z7dVFkQ3JZ
aUMqPWR7QCEpY2QoLUx4SVJ1NmEKempKeG5oWjh+KmRuck0lUClySHlEQkp8czNWLVVKYXElbTdw
JGRJPzklQiV4OXZ+TkVMcVclO3oqS0wqNUpBemkpCnpqKSZMUjteNXdsV3whJmxrQExOUTAlcWM1
VSlwMH5LTDhebWcjTzVsPyRrQkF1NnJgU0pDeTRxe2ZBV2ZeSjdAIQp6M2kqSDNTP3hxflhrOUFf
Oz9ZUiFTTHdKPjZaOGZOPzRQUXd4Tncoa0YyfDsmN0RMT1FGNk1weilMQnVeSVdqPCgKekRLbzgp
Q1ptfSk/XzJDKTlIUjtNXmhrP3s8RXVQfjslOENzcjQqdGAlRUxAU2dAZ1BONktQazgmYkswJGtp
eD5rCnpxalNMclgpfUpFMkk8QDA0UVEyPDt3QUFZJUIlejYkIThicGw/az1GKSQmOEhtRmwkOSF8
Kkt4MWArIWFMNl5kMwp6KkBWMmlAd3xqS0MxNjFEPypPX00wVilnc08tXz5LITsyMURHaTBVYGhi
fT01U2V7a1c9YTVKY3sjLSZ9Mm5XNFAKelVpSnY2bnExXlRGR3s3UlJDUWtqajBFPVg1MG5aOWh1
V0F6MXBtTGhrRnRpe0NTb2NmUilQMUAmQDtOT2socnh1CnpNYFdkK29KO3BXISpxJnRSMHlaZyoy
ISlORFRSalpPZ20xJUVmfjZ4ZzRvK0xaZ1pMflcmWkdLeHc8K3E7KmxgNQp6YWNXVmgtUFYrJGMy
OSNKdz5AIylENztoRnJSfmphc3tSNiY3RVI4ZFBoa3hnWkdLQ3dhcUh7NEVeRjclZDZ7dWAKemxf
JkQlbU9fcU5qT3JnTDRjbiZtdjxBO2omNit0UWg+NWNhMndNcis/Tig3ZW1pNjVNIUBsVSZSdGFE
Ml4zWU0qCno0aVRjcWBXY3tUMSlYOSs3dHI0UEBOTCU1MEZ9QmctYj0jWCtLMD1GPFZGaGRQNlU7
bkJuQUckUmRKM3xlcXBCdgp6WTJFMExBbGA2ckIraUpPdkFBfVNodWpWOFErPWBvcUhxRlVtYmdQ
dkhOaHg1ZWdCV0RIM3N8JTJLPEkrQSN6e28KekdNJEg7NT15KGVxfW5QeVgpM2BHVi1HOWhFTkdr
dCplM1k1JSplYSZaeHF8PCNDYjBaMFlMWHJLYE8hT3pvP0sxCnpGfXlhTkBMcVM7aT0qYHY4QlJ7
TiR3e0hIKi1BayZRV3p0KUM8VkspM3xYaF41Sz1sRnBZXnNZUDA7TDt4WkkkTQp6U3sxVypEUDgw
MnZxVkl0YXByc21MYV5jd1RyNU5DMDxwK25ETjlvKzgpIWheYVk2QmQoKl8lI1dTTFZvKipeTGkK
emxkMXY4bXZEV34zaD9TK2BtQklBK2JnPWRBcmx3MSZnbXxDNF5YVl4td3kjMlE2X0V2ZlJOZzwk
OX08d1d7PlMrCnpMZTJPJkRzbjB9bk82OGVhcW5xMjhKfV49e0VOQHh1MG9TQjBER283Izg5KExa
bVpQJjtRKSRmYiMhelhJa05lTwp6YnhEKm1KQ3lRQ0RwcmFwUT5pYEk5UX5iTnk+emQ1cDRJXlhz
cj4tfDlPfD9AV05PV15PR3JqdG03R3s8bTdHP0oKej8hWjIodCRtNjNyMXVhJSl8ZE4oZ0Rudzlm
JXt1M21JZyljYDxGaVZFNlVAa3BaOW17PVQ+X0EwIz8+dUpSIyt0CnoxKnRRKSQzYHMlYiteYE5j
aGF1QSt6dXhgSk85RlJRUlpRKyFDTVdtMmVNRz1QPzQ1O0twbiFydmU2NTt5dDBALQp6bXdxYUlV
cXR+T0tZUnVVZzI2aF5AVHVyK3lOWTYrbE1DUlBJQnhjSW1OKHlAa1pHY05wWTdeeCZYbFp9dDhi
ZHAKentMTFVnSlVKUyE7cDdDaHdCQTJvVSVqblh0czEwRUZmWWYobXAlSTZRMD9AQSpNIURwOFhM
PGRLTWRXKXhaeVgoCnpPOyVsZnVzflEhJCY5V2o0N2s4UCl6cSlwKWRkTXdZcF9IZFAoVDVWQUVF
ak5ZNmMoTT9rPE0yQk1KUm07fVJfZgp6RG9aI0VeT3NSWjhARCU8ZzM0KGMwS3tVdzxAJTJ3eihy
czdNMmU0VlUwfihfMDshcD4/R08zeHk7cHQyTC03dj4Kek10I0A5MEdFJlc0WmwrUTc0ZUFETjA2
N2srT2sqTWFkak8jQTU/K05ZJnZSPmVoPmhWVH1Hcm4hNiVOPl8wJFNiCno1WXwtOWJlMVBYRnZk
RGFTYiolKXBIaUVTXnA3dm5USUJrTFU9TVAlKGs/UmJpN0YtRFdPISZTYHBkbkYtVWRQOAp6UHs1
Mkh4eSkoWGI/NH4pJjhRI01oKVBCcGpXdllvbFpOTWtse29fNlY/RkNZSk5nUnlPVCVBfV49elRh
VTZXdHoKelYtbUVYJEFoMEheNl5tYkArUXFpZUM2ITthSzF5TndLaj1aXiRldTs8RHM+Q2p3YExM
dVImO25yLTZZeTI4Tz8/Cnp6e3RHdEV1IWQ8UkpDWiVveSE/QlVmNkNgbVkjaWVRPCRUcDw0dSp1
TXgzISk+PnV4TkVPSjFKRzJLZXJKK2JBaAp6dE1gNWRkKmAqYXZ9aGs2cFU/UlJBKlImbFMrbXg9
KnBaSkxkP0hLYUJrej17ViskNlZzXighezlSKkJBSCZxaGUKel9jUnRGaiFNQnpLaUVuPmErajlu
WCp6dENlWlMpSCFDfUkpS24rZ2RJYVF2SmRlXmlPSHJ2X3MkWVg4RGBRQkMkCnpMTE9tUSsyMlQj
e090SjtaXm98c01RcFNNb3lKSlQ0d2xQbWApTVNtKT9nSWQjM0NPPlBnbm04NXdyVjUtTGd3Nwp6
STY8aVplKTNZNno5TzIpTHg3UXBlQXMqSTxZY0FvV0lrQmR2STMod0tqUytxNTN+KlR0NXEjRG58
b00xNFZCZngKej43Q3dlVXMmJDVTPm54PzBCdTQ3JmhjZnZoYThXNHt4Kjl7OTN6aDE3STBPfEtV
U2RNeDtsNUVLNTU/JWVFdTxJCnp2cD1qd2F9an4lQjB8P0htTUUoPTMpZUs/YFF9dDIyJmtPZikm
Zjh7U0s9OVdwNTcxbXJYOT1ONCEzXkA3bD9zLQp6bEE3d1k0LVVOPjdHczVae3FiK3crbDZTXklx
S2Q8KSQ8NWQ4RGE2QHY7KSpiQFVPWHhfe1p7eTc/fUMzdTdKSkgKejNPQCspNG5ESU0qVk5Sd3s7
VyFaZn51V2UyUjZyWDt6Z3BaNSZ0YGI0WW9lfWh7SkdiYHdATCVTVnU9a2deJk9ICnpaMHMjcyhp
aUBoRmx3MFN2NGRmSiVedEJXSCF3KlZ0bVQwSmF4T1ZXZm5BUG5UMkNgbiFsWFZVeUA9M3JpZCRM
Tgp6TmpqcmFjd3s+cTJZWlhgQVhrdCpjdm5OSG99Yz5jaD5mWXZSbClCJlFjPmFJN3JPVXF2clJN
PDQjNm8jMVV+bjcKeldmWml6MX5JNmhPSzQqXzdyN2BCNjFPMWFGWHMrMTwrKU1kYWtmXilyYUR5
eClvMjVOTTczXm1fdVNYaykpdGtaCnpSSTEwd0BXRHlkcEdBNHRWP2RXMUZvSGBuUUZZUkpie2op
Pko5bnFPITh+IUJFVUxEaHQxPEx+diYmIUM9PFI3fgp6K1hRczhIRk40QGI8SjkzYUlhMGtNfSlQ
akoqXlJMKzx1NzdzTktzUTdIXzFnIUVCb3wqSTUkT1VSRDkkRFNibD4KeiMlWjBseHtgSH1jdzxp
NmNhcjYrfEshMUd4Tm4yMT9OYFFpSGMzWUhuSU1pMTNuU2ZyO0YoO0poMG1tOHk7XngwCno1Jntw
alNpbnZCbWFEWE1wUyFvZXxKdjBGbWcxcU5rVVh4JldsO0hxWno8YSVjJD10WiZkOT0+PGFZdjxH
IUk7ZAp6YmFaIz17YD5pbldna043PSR+K1NZKmczbkkxcV4mUkd9d250MF4oXnh1Zn4zeWJQOEpq
KyhPYXltbjt1TTV+aT4KelJubyVmdTdnJjlIVj4+MjN1dyl0IW1kM1UkVXBuVHhseTMkU0FyV3Fk
dyY5eW1DPCRPXmhjN1BhVz0oN1ZgYChtCnp7QT9BeCklfFgrUj9OaVZ0QGcpY1RNQjQ7MEglZHVm
NXJkJUtQPGl2czxeNT1MMEBlfEdRa2ArVXZnZz04TkVrSwp6M3ReSFYwPTk8T2VvWCVDU2otfWxK
YjxHXk9ecll4TSlqJTtfJU87UlN0T3Y4QzB2entjcFBnQkQyQVkxMy1qRnkKenNGQ3dKJXxsPmhi
O1gpNkd1PGNiPjJvJHB0T1QmOzVUVFdnJExrTD0/YXFwaUAxUCYzd2RDY3JaTDwwWik4MSF7CnpQ
YWVvM0JKQiZeUmFAZC0yOUUwX3cyWDMqa2JIbz9YY3VOQyEmSSZSb1pzRlYyP244RyNJZSFhSFg9
R1YteUljaAp6SXAtfnFZO356YjFBP2JMRWthJDZJM29reTZjdjc+VWlVaSFWTWx9ZCFHRWlXTjdF
QntWKldNTD1rQ2BXOz50aTwKenB4OFRXTkN4LT1qZXhUR3Akc29rYWI7SUpjY2hiQXROXih7RiM1
KUdyU0Z+JD04d2RHZUI4MGl2ZyRkPz5eRzRzCnp2Wlo3KkFUc2RtSnQ2MTElXmJsMW5tYm48c1BS
PzRUJTFZdHpjPD96SiReOCtrdnhKQGAzUy1VdXJPYXRgK00yQQp6dkBGNCM5cU1Da3VJM1ZkWCpa
PVotTnpWdENAPFNUaFdlaVc8Kkg0KXpCY1FPbXMmK3ZNMTYpQ2B9fT0oJjNPOykKejZIfmNhUTd0
Kz1BOUxFP0VqR0xOPFBqPDBfMEBaZnl5VkZvXld2cENxZ0l2fHBvei16QWxIUzZQYil0KUVnQFdL
CnpaN0V3K3EobExOems2N2l5ND8tJCFtZzMxX3ViP2hJfFcwe1g2LVAxMHppaGFEQChzPWd2ZntX
RjJEMkdGSl9pMgp6bHxQZjFHdXxUXkpGJjQ5bD56LW49biE4TXMhUTd2eklSWD56UTZJSlRyOXZj
PkxyT2R1MVopK094Smo4cmsyd3wKem1VeV95PzZnK19QdExAPkRDWmFmVHJIQ1I9ZmsjSz07NW1v
VmAtTDBEOTsjKTV4fUErVG9qK2h1USlDYG1sVzZACnpmYTF0PE4hJTxZR0hNJTtqdmFgTTlgSXoy
U0hucjxSfiZiOFFqYVY3WmtTezhfUmJPY18xOG5zP15MUGR7dCl5VQp6Kzk8UDFRcTZ0KyNKfGN+
V203RGMhZl84QElqPXFhdihFfSFpVVZtcGcoeGh9S3MzQD02UEYhRiNYeDAhcTRFMG8KenVoRGVV
WCZDSThuNWVQeVo0MVpjNz5hYkokSSk/Z1g3Z0MwP0JrSGNWX19MYT5jdjZGYF9NbGhON2Vga2Bw
PjE/CnpRP1p2OSpgbm1EUFoxej80dkdaR218ZGVaWSYlP3kzcklucG8mZG0tPmw5ZE1iKUVFR0wp
c31TVDMla198SHEwNQp6OEZ9V2k2MlYwUDI3PEFgM2hOaDdRdGN+TlRWSFFAR3ZhQVA/Y2U+bV5Z
M2BEWElmdX55SXJDeTIxdUl3JjI/JUIKel81PT9LTldiZC1BQHlWWiE/KGRRQ2MrR0dIdWN2bVZT
KVR8KjEkamctJnRMUSVlUSpfK1ZfU3xFRnBjfnFKUXY0CnpQSHNaS3dZcmpnKiZhSGJWSF9hP15v
OTdgNGdJK193aUtZVCNjYzhSPlh9TDtuK1BMP0FHPGYxWGhuM1k1YSp7LQp6K2BVZk5NWHM4dTkj
c3JHX0MtOXdHIWlhRkhMOzc3cCZZKSZgbHxPQHllSlM0NjdIcEBAVnBLUGh6R2Etd0dFNE0Kei17
XkUxZSYyV2QkOT5uVTw5T15aKX49YzhsZWpEcnFUY0NycCotRmspblohR3AleDgjNHdTczFaTT4z
THtJRndqCnpOZVFYJUdCMWM3blRObVBqaHI5KHVgdmI5e3Z7YXdqa1A4PGxPMWM/X2ViQngtLSkj
eC1BRyRUV0c/PT1jZig7Swp6UyM1c011Z0RrV1dxc1VPa1dge0hBZEBIK2N3WD8+enpgKz12VDQq
WHFfVWIyTlR2eTFWdUw/anl6WFRebGgjSXMKeiRTTHN8TW93fk9jQjNVRHloIz1PZUpAekdza3p+
fkd9SzdReDNyNztMJlRjNVUkc2x3cyN5RlU/NT1YZi1yQX15CnpmIU5TPDRhSTdUSzV9MV5kaCNs
S1I4Zy1TO3IqKF5gOUo8ZFg2KXZ1SzxUKTZvSUh3bDZQekFBP1hhYG5tY0h3Pwp6I2w4an50Kngo
VDtNOS1ac2FeTmZgaiomSVZTJHFtVShRP0JeOEgtYnUxJlpvUEI5JWFNI0tMXmhRaXZlSD1vbDsK
ems0QnNYZEhsNW9taCR6VSF+cS1ZJkNoeGs7RVRSOHdaanl+VkpDJTd1b2ojfHJzM29ye2dRN0t0
PSZrbCNkPHI8CnpOemxvMTthVnB3Xno9b2BrQHYmeGlKRyF2ZTRJVTxWOWJIWUgjNGkqNCVWO05E
OCYxRXZ5TDteKms3U3R2KzgwNgp6cEROJmNWZDVrVCFmd3tpSFM4TWNOUGxDJmk2V18hNyk9I15u
IzFwV0glWWM5TGl7T2UhJXlpTmlPbCk+VFVFO1gKemZ8aFVnUF57e3FhdjVwe3BQVlBLYCU0ITZl
NmxwSW5xOUx1WiVFQnsyMSoxNGRrPzw5aD9DSikxRWc7Q3ptdVdzCnoxcmprUnEoX3xjMEAjJiE2
QlBeJVE2clIwOzFtXmtDajM8Vj9LQmYlOXJmKH4lTClkRD1MfFRJLWBRJHhZflRnZAp6IS1eNmhj
KWI3RHluR01tWXJCQ2lYQFJTSEZ3RG82d34zYitIaSomMWw1UmI+SWYkUDxHQShAKHJvWCZjTmlC
cmwKeiVwWnFydyt6T3p1KHYzYDBMM3puUiNGYjlDO1RuVHc9fXQ1RyFpTzghZ21XYUZkPT5HOUBj
OStQSzJuKCRITGhLCnpNLUhMSilNbiFeRCZJSzRoI2VAam5CfT0hSCMxbjNtfSk+T150QFp9PGZ2
I3lRODdtJDZZPEpSKVJAeDVPUDxVPgp6WUZ4aUgjbV9Sd3w4JXg+VSNfbT12LXJidnJseUxUN21x
PF5VdT1keXUhZj0rSURzM2taRUo3UWIrb0omMGg1ek8KemFVQTRvST94YXpMVlBXYEVoZC1NJWZH
bXA/QlVeezFiWDE/UDxsdmdkWSR9SkVed3YtRHpCeHY3TTBoaj1fMF5sCnpsdFExVTt+cEhYKCp3
M3AzOHNGQjg/OFpNd2wtUTwyU1hwNm18dGMoaU5DPnBKckUlYm5Zfn5sM1Rvfjd0MmA8Sgp6NTFg
PmkhKiQ1Mj10PFRieUttTUNHb0spR2FYanY/Y0hNeWheRl4kflFDez10ej5neDd4JlY2c3Z8UjU2
UDhTVCoKeksjYmFtYThWRl5ePF5HMVA/UV93VTVKbXhrbE1RZlokN0ptZUgrRWRIJW4+WlAhMCta
YEpDSXM+aU9KbyVDc3ZvCnpEVWgrdldsM2dAWnV5YzxBfUh1ZihHOTMmPlkoPzhtTXB+b199I0VP
IW1aeXtLMER6YV9WYTVHT3lsUCNQR2FTcAp6TEUpRHJFKX5mNilUMmVNU1VfYVVMJj0pWnF6di1y
NWdRfjFQRnhVWkhENHFqdlJrJHdlOEBOcG41dWIoUmUpe0EKemNEYSRhUikycXtzU3V1NGNleUJK
aGhWX04ySWV8Wjd6QDVmU2hUIVpJUVlreUB6JDRVUkBjfHBVaj9uVEVMeitrCnpUYGhZO3sjM3w1
LX55bSg0aDxsekUjZD94VjMwRzEzMXRqOGFeajc7JWtoISNSMUFRRjlYQ1VWantJcTJ0V1dFcwp6
a0taZ0JheGo+Q143VVluRUB4TFY3YFZabTkhPDh4Tk8jRFpVcFQjc0Q0bmdPUFZZQzZSS2NaVio+
ZS14PVheSFoKeilaYW1kaHFzN0Vac3hvN2AwQFc/JklDez9tc0E7NForRSY/bitiMER2VThTOUNe
MGBOJT5mOUVDaiRITD97MFJCCnp7TUd+RlJtdipRaHh8JEQ0e1B8ZTRHcSk0OUd9TWJIb15oeXI2
V2pYTCtvND9ZOGApeiZhO1ZGNSskSil6RTxxIwp6cUomP3I0NzEycyFwRzxaWj9fLSlHKFJucmEh
PmxHPVlJM3c+UXRAaXVhKTwod1NkMWpScTtSOHZTI3x9Z3R0ZCQKejVmJEw0YGEwQ2tnWjdKYzUy
a1l0eWpfKHpLKjlrVGtFc0ZOe3cybmRzU3kmR05PLURUQnMkOCNUbWdgc0Q+NVlmCno4XmRIO09y
eH50YjFJNUx1WVd2c3tgbmJ7WT1IcyhxUysmWlZwQ3NWWTAlVUBHZyVAVSF9MHdCWDJZUk1EQ1F6
Pgp6SC1QNS1tZXY0fkgqdDc5eXRYR1JBWDtKPjE8ZVlCcn4xaV5RWTtKJmc7PiVVRzU7RzRfVXZT
Y3ZranpzT01rKEAKej9mKnhfcWI2TFRCPmcyOU1ZaGxMVDcydkNGKW5ROGx6WjQ+ZVIoZypoIzUj
JmNuYlAjeFlWeWA7YVQ9c1k4UT8lCnojPmk7dXlHUGE2emglUEQ3ZkZPTGNvS2V4NU1sZktOO21y
PDtSNjghRERSeiMwWnNXQzhHJWgpdH1sI2JzXjY8Pwp6WVIwdUlmREdZUVcrOzV0TS1rUEpnYlNC
JGU+QzsrTHQtUT55Pnh1ZV9rPnZiLUgzfUZYXj87MVNOI3glaXleXmwKeiZIcTdDaShJQXIoTWR0
Klg2OUEyJCthWFNpPnN7KGp5VGhSR3kyd1FLa3RlQWBpODRzUDl7Z1ZpZTIqemdqZz5QCnopWVFQ
bT1kMGJeK21GSldGai1vOTBYdD9gSmEhJis1dVJBai1FT21oJHFBQz1TbWdsdy18QDhKcDFeZGp7
Xkl7dQp6Z19IZGBHQWVQZFNsdChMez44ZmU+XmVXa0BkdiR0TmpGYEIwWWZyVHVIYX0zWkk5cFpi
bENtKjZ4KmBuYE9mNjcKemZXP3A0Y0spR1ZWQiEjejJgfEJgeVo0VHA9fTRyVEkjVDQ5QFNfV2cw
JHREKV8lfkh2THdKX3ZwaDFHbDtBK2F+CnptZGYrT3BPZ3RvJUdyYTxmbDxZS3p1QGFeI09LMk5K
OGFUQj9iKyh3KV5zWVh0KiVkSTZuVy1nV3dWUHQmZCpUSAp6cGt3VWwwWX0tIWwkNXBGaWh9M2RD
K0Y9cjRaJkF1czVJSEB5IztePUlBfHVFJGw2dlNyIT9CPUd6Y1JeclRAKy0Kek4mPXpZLWVNLUVy
bjhxZnEwLSlKQEJsU0I9JjlQUDR6cyRPeSpYPkdvdmQ2RkZ5TmlSK1QpajhLIXhoR3tlSE57CnpQ
PnNTMCEtYGBBZVM/YUNsez4rOUtod3dTc2UhQUNsRTxCRzwqNERWKjNYRnghXkojYGEyRChna2V3
bWtJYl4kRwp6ejZwTF4jbDc5MF5+c01rd1Y1cEM0fCZvZkhpe1FXVn5QI2A5WjVlcXBZZEFOM3Qp
UzRnPHNCUkwtTUU1KEh5b3MKelgkcmoxVC19MD00fHhWMGRnKWE+Rn44SEJYK1dlUCgod082ZzU8
SCg3RCU5bVZYU09zO29wRTFzPWtrNG03JE5LCnowZ2FrYXpJb192VklfVnAjX2R3ajlweUdNT0tB
fDBlK1A7TlB8O3VobEklXlg1OGdsRF98KzRILXRWbGRTZ2JRfAp6XkJOK21oWjIjNHdFSEpsO0hf
ejNQOzJrQz5GM1Y3aXA7Nl9FVXR2biMjeEkxaTRCdU9NcEh0MXcoNGpEZnooKFgKejJSOUtqTz1Y
U0A3KUkyOClUYDF7OEN5TFJWV3FaSUUlRkI0c1IoYFZQM0AlalJqZm5BSXVEO0AmaHx+SGl4flk+
CnpefiFuPGo+TCtMQEp0az01anJZUjU5bFdWIU1vMz1mQEorJjtuZHgrYFpfOHk0ej9sKFVzejRk
MzJTUj4peW5tWgp6OD8zUDJfQjRgQXhvPDVJTjBgJF5pMWl1KCFncUZkQkF+Kj0oWiNQJWFudSRy
eGo3NnxTaHdSNTBnYiM9ezJnSWUKeiE8PkhwRVc+K0YxbUA9V0dhR1VeP0EzKXJwKGt3X3dSLXRu
KyMtSSpGNTs0b0I/dW1+TVNPTX5QUnszMygldWZjCnpsIzV8T1lYJTI+WiNFQVg8VSlUVUt5aHxv
RGYhcWthZXckT1N4RWVueVQ4PHJ0MjFxT0dGS3VrQTIkJDQ4KylVYgp6e1ZYXy1nWCYjfCZRTmFs
I0dkMT4yQGlFNXY0YjNxb2J6fSpXZz87ekNROGlkdTxXKmt1OX4zM1dFLUNpTEsqR0oKeilBSCU4
IWtKdSVSSW9afDBnRV8/Z09naXNFbmt6MXpmbig0ViVZPHBOZDVTeW5jcDE9Xld3JU9Fc344YkVy
Xk8tCnpkNCF3UkdHMDBEanQ2flNiaTA+MmxDISpZZEw3RTh8SnErT3lpKyFyb2w9eD9zbUQ9bFhV
Z0BVO1A4dThPVjxUVwp6TDRIQCpVak9tYVdVKipGVG9Ydjc0PHpCTHN6V2wtLSE3RCs7TlMoUFhF
cENEJEFjKEVJIUhKMzhuJT0hRlBTX0sKelJLeGthJlpHeWkkTjd+ZkRXZ1Izc05lPVpmZXBmcjJo
Y0sreXdxUnVCckZJQT5gV0srSnYwXkY5Zz5BejR6WSZQCnowOH4hSkFuayshNkd9dk4oVnFVMmMr
R0FHQDk/QF5hUntYMUR5KWpoZFcye0VKe0g2ZihIXzVrXk0tLSZ0cjlNbQp6RmYkOHUwbHB5fF89
M2FHLUhMJEBlKV9QQzlQVH5wNX11S2E+PmF4RWN0IUJSZ1BufkgyY0x+QzEzYyhxJV9RcEMKekFj
XnhgK0MjcF5sVkZwNXVwKUhsamt6WW1CNlIwQT1xRCt3YW4tT2JUTlNhSUljS3ZidnI0Y1d4K3lC
fDckUmRECnpIYG5BRkE0e3o+ckNUZ1dUcl5sdHdZeilaS0J3P0srQmV9Pmd3VWdubWEjXn0xdlM2
b09XZ215Rn5HP0VtPnlBbAp6dCM/TCkjMjFHMVpBRjl4PkVmakNUfm1vKTQ4PVZyNWZYUXYjQlEy
RD9Ec0VTaVlFSUMqKTh5dnVuYndDY0RfRmsKeitBdSMmJGR8PWVkQippaExBOzcxZ1Y2VEF5UUJT
JSloSHNwZGNENnJ7NnYpYVNnP1ByMygxVHY3bDsmR01JOXxUCnpeUUBkaUclI2EpK3F7YTImPVQy
LXlIPnheKUZnOTJaIU5VTWxqe1dvc2BPWjNBLVR8PTImK3F7fEZ+RHlNYUJhVgp6UVpAdTRYRVFZ
TmdSSk4qOFVednNqRDVtSVRuJXRYPk92YiVVNXYxJT14SmFiS0h2RnZOMTAxNyRKZm5LK3J2MyQK
em56Uj5rYShOMj96YE9mKjdobj5KXnh5Oy1BZjFnTilZY08hT2kzQmQ4YHh0c2JrUFl0T0dObF9A
Kj1VbmkySEdnCnpYYnVleDdtfTFYdj5OYVY0cUx4YiU1eFlsX0VscGcyVnAlajxxYVFUSDYySF5P
PGBISF5BPlBTTChJQVp1NG9rSwp6Xztsa1MoQCt+eCZBSzZLaU83dCsmNGtRMUx6WkY0KHZgRX1q
SzR5YnA+Pk10PCF0dGQ1KzFSMTFOeUIwXm93aygKekJifClwaGZqNGJXYzsoWFIoSFBFUnlkUilj
dVh6WCs+fGstcGltMjswSFIxeWN7MUt1aVhvfjQ2VnlzWG5zZG9qCnpvKHUyR3NPKjl0ZGNlU3Bf
RmU4NWpSb3JFPlheUWpEUVMyREJYXj99KnV6UlV1RClrS0tJdTUwbDRgTk1MdSleOwp6PnBtPj0y
cUVwLT5yYWtOY2JmcXgjMS0+V091UzFQWWB8Rk8zM31AaDJzJmZtLTZ4a3pGSWp1TnRNZW5kVWlg
K0cKelNjfkc1N0orfVZIK2NWP1p3XldNIUtQIU5kX302QmJ+dndKRGpNZig+TGY7WihjZ0BZMnBk
I0V2NUw3VlZtZ3YmCnpXTjVkP208bWF5UUswXmEpPClTI14keXwjJiFycik2OyR5c2crNUkmcnE+
WDJuNGstfCs+RVI1KzQ8bmlMUWhZaAp6aFhvK012OWYwNkRIWnlrbS18I3dsSSROVWBJYmJBSHxQ
VX5kaGphTUJFcV8oSUMhRloqTXBDez5nJVJFZntBNHgKel93UkJHVGVJSFNnbzJfQ3heJnx1aXhr
cyR6R1N8XjJpJEl7JURye0lESFVWQXBTQHROM0N1UCZoMHcoRGxTa1ZGCnohMzQzPloxN1VNWFly
SWlnM2VsWHUqfkdRVENLMnRZfHktR0ByUSMjT2VoQ191QTJab20+eXheN0RZei1qKFdBXwp6MCFa
bTg3byowcnt9amIjTylNP3Rhd1oqIUZiSS1EMzUleVhSMHZhflB5V0BkJiMjKkJFVXpjR24yWVh7
dlUzK1oKeiFLdWdXVmVMU1AmX2wqXlQpSjlWTSpIVG48P2psXyR4d3l0JjZyZiopdWVsPFlod3RR
alpGY0FKMkFIMnRIN2d7CnpoZS1lS3B2Nnh3alomelJfQUx3XnU/WFNfWXtiMisqJDVKK0A/ellY
VChPWSFKQy1tcz82R1Q5an51d2U9TXJBPAp6Pn5wO04pT3JrSyZ3NERGRCtDUn1vM19zdF5McW5p
Xk4zV0drN2BKTntvelprWGA1Z1ZxT1BtPWRSfH1LVHB+bGsKenlUaT1TKVlRflNVdz0qcTxNSn53
R1I4U2ghJFNQMDNaQ2A2ZUVDdV9QeEJLVVc7dGM8NjlhZSs1QzVpeWd0KmNACnowdStCQkVKJHt+
cmEjWkdTbXBja0Veb2NwSDdxfmUoKWA1cyZGTSM8PWpCMmNVTCh6YUBSRkNiPks0NkxOS0pvSQp6
Qm1mOHVtR3d4PEVKJDMocXFwa30pYj9SLW1SbS1IQG43WGZfKjJgUjtWJEFHaGhhSiExOWUtK1k/
T15nbTY+YFYKenRiIyVUQ3UyVXNyX354Z2Z3QT0mODVtVHNETGA+VSQ5Ql9eZmJnND56NldvTntD
WHVLNGYpdiQma19Ac1lYY1Y7CnojZ1JBeSY3fnhfcGxDTzx1cCFsLXdaPm07Q1pGdlZHekM9TzBT
dHo5cnEyeTlpaDA7WkxgKzxLZXR1KFBMbHBCQwp6cElNUmVeWVFTfDt4Mk4+b2I/KnZJKW0xYXA0
ekhkTE5hKFUwT0IzeV99fXY2JSU3ekJrZWBxNUYhXkMmYWVpSnIKejN6UGoqfDVlYzc/QFpVbGZn
YlpDKm1WQ2dxYSY5Rjh6a2coVUxtflN3MUFONVYrPXpxYDd7UHN8QVY+ekpmWXNPCnpoeEBBKmJ8
QGZNQ2dAQF9IYTIjKSErViRJJkZrMHVffkJNSDl7Jj1kcGBqNz4/PWQkd20oQTE2aTVkYElpMHpC
bwp6U0FfeHhJRThQXmFKI01ZOCEqWWxhOU1nciN1Xk19SU89cXh0MzBOdiNwcV45YXEobWEoTDlA
NGQ9RjcpYDA/P3YKeip9cSNxdCokRk1eUyFMTUpqJX10Vkw0e1dSJWIrTmJ2bkZ1c3d5ZkQjQUla
V0c9d29PUlItIUViJlJyc1g/QF5HCnolPjlCVzhCcjdwV3QpPGNHVzc1SEg8bi1UWiUlO0VnO1A+
TSFMKUJOOCQ8QVk9MDZIUUcmR2JWdVdHPWI5bFpzfgp6RDVlQz9jZlB+OENwcyR4bjNqcXZNV3VH
Xkd5Y1pGZ0FgTSgwam93Mm5TJmFKUW1VN348SVBzKiEoPGA/QTR+YDMKeiYqc09DbEokNmFWQ3Be
cFJSOXxHPGNQS1k+VDltT2R3JGk0blB5ZWIySFBtQnp3Skk0dmxjT2F6O31uSG45azE1CnorZ1VF
aTAjfFZ4d21ZQng7PHx3X0JaZ0lBJGMjcTAtdUs0T1BPZyFQd2MrbkhkQiFve2w4I0Ikem9uY3Vu
JlJoaAp6Rlh5VmM5VlphITFUQUw3NmlHUXVxbSFrX3l+T0YmZTJMbiV4JFMyfSpZT2dQWG10fUZp
IXIyX1ZDRz09ITlpZVkKemBUTWk/azxEO1NWYTU0aTFQdmN4aGxIdCVoNWRfI3Q1YW53Q3MwQUhW
bEo+NGpLOGZAIX1We21VfSgjYEZ9dGcyCnpQYWMyI1FCXkRPS3RHd0RTO1dDZCUqQi0zVSZzeUN1
QWE9e1M9KSFiZ2hgQlBDNEI1bXp5eyZib0QoO2w2WXNpKwp6KTRpdTZ1dV9tQ3E0fUg7KjswaEBL
YF5DMWJ4WXxEKihHM3xFZ3FeJiFxVn4jJnxmcnFAfkowa3RMeUBlPHQhUDEKendJQmtmKD9NUU9x
aSpXZmMkamFRT3lKazdnfSlmVFVTcHBUZmptMFRFWT9ZSEVubG1ON3xWTH5zcjxWbF9kOzFxCktz
WlBOdl44V3gofDYxayUKCmxpdGVyYWwgMApIY21WP2QwMDAwMQoKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3Jlc291
cmNlcy9mbG9hdFVuaWZvcm1TaGFkZXIudmVydCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNl
cy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3Jlc291cmNlcy9mbG9hdFVuaWZvcm1TaGFk
ZXIudmVydApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi41ODk5MWI0NzQxNjRmM2NlOTdjZGZkZDAyNTliYjc2YTA2NjRl
ZTdlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVzb3VyY2VzL2Zsb2F0VW5pZm9ybVNoYWRlci52ZXJ0
CkBAIC0wLDAgKzEsNDMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKGMpIDIwMDkgVGhlIENocm9taXVt
IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisg
KiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAqIE5laXRo
ZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRy
aWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZl
ZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBw
ZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlS
SUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqIEFTIElTIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywg
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
CisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisg
KiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorKi8KKwordW5pZm9ybSBmbG9hdCBmdmFsOwordW5pZm9ybSB2ZWMyIGZ2
YWwyOwordW5pZm9ybSB2ZWMzIGZ2YWwzOwordW5pZm9ybSB2ZWM0IGZ2YWw0OworCit2b2lkIG1h
aW4oKQoreworICAgIGZsb2F0IHN1bSA9IGZ2YWwKKyAgICAgICAgICAgICsgZnZhbDJbMF0gKyBm
dmFsMlsxXQorICAgICAgICAgICAgKyBmdmFsM1swXSArIGZ2YWwzWzFdICsgZnZhbDNbMl0KKyAg
ICAgICAgICAgICsgZnZhbDRbMF0gKyBmdmFsNFsxXSArIGZ2YWw0WzJdICsgZnZhbDRbM107Cisg
ICAgZ2xfUG9zaXRpb24gPSB2ZWM0KHN1bSwgMC4wLCAwLjAsIDEuMCk7Cit9CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5j
ZS9yZXNvdXJjZXMvZnJhZ21lbnRTaGFkZXIuZnJhZyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291
cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3Jlc291cmNlcy9mcmFnbWVudFNoYWRl
ci5mcmFnCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjA4NTk2ZWQ1ZGIxMjIwNmQxYzgxNDZjMDU2YjIyODNiZGVjYjdj
ZDgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xf
dGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZXNvdXJjZXMvZnJhZ21lbnRTaGFkZXIuZnJhZwpAQCAt
MCwwICsxLDMyIEBACisvKgorQ29weXJpZ2h0IChDKSAyMDA5IEFwcGxlIENvbXB1dGVyLCBJbmMu
ICBBbGwgcmlnaHRzIHJlc2VydmVkLgorCitSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKK21vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworYXJlIG1ldDoK
KzEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKworVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBDT01QVVRFUiwgSU5D
LiBBUyBJUyBBTkQgQU5ZCitFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCitQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKK0NPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLAorRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAorUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCitQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCitPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyhJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RQorT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyovCisKKy8vIFdvcmthcm91bmQgZm9yIG5vbi1jb21wbGlhbnQgV2Vi
R0wgaW1wbGVtZW50YXRpb25zIChGSVhNRSkKK3ZhcnlpbmcgbWVkaXVtcCB2ZWMzIHZfbm9ybWFs
OworCit2b2lkIG1haW4oKQoreworICAgIGdsX0ZyYWdDb2xvciA9IHZlYzQodl9ub3JtYWwvMi4w
K3ZlYzMoMC41KSwgMSk7Cit9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJj
ZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZXNvdXJjZXMvZ2xzbC1jb25mb3JtYW5j
ZS10ZXN0LmpzIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMv
Y29uZm9ybWFuY2UvcmVzb3VyY2VzL2dsc2wtY29uZm9ybWFuY2UtdGVzdC5qcwpuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43N2VjZThlZDNjMzU3ZGFlNjM3ZGViYTkxZjEzNjMzNDZmOTM4YjMxCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9y
bWFuY2UvcmVzb3VyY2VzL2dsc2wtY29uZm9ybWFuY2UtdGVzdC5qcwpAQCAtMCwwICsxLDM1MCBA
QAorLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgor
KiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBw
ZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2Np
YXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBp
biB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91
dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJs
aXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRo
ZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJp
YWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBw
ZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBz
dWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklB
TFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisq
KiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdB
UlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBB
VVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwg
REFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRS
QUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENP
Tk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJ
TkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworR0xTTENvbmZvcm1hbmNlVGVzdGVyID0gKGZ1bmN0
aW9uKCl7CisKK3ZhciB3dHUgPSBXZWJHTFRlc3RVdGlsczsKK3ZhciBkZWZhdWx0VmVydGV4U2hh
ZGVyID0gWworICAiYXR0cmlidXRlIHZlYzQgdlBvc2l0aW9uOyIsCisgICJ2b2lkIG1haW4oKSIs
CisgICJ7IiwKKyAgIiAgICBnbF9Qb3NpdGlvbiA9IHZQb3NpdGlvbjsiLAorICAifSIKK10uam9p
bignXG4nKTsKKwordmFyIGRlZmF1bHRGcmFnbWVudFNoYWRlciA9IFsKKyAgInByZWNpc2lvbiBt
ZWRpdW1wIGZsb2F0OyIsCisgICJ2b2lkIG1haW4oKSIsCisgICJ7IiwKKyAgIiAgICBnbF9GcmFn
Q29sb3IgPSB2ZWM0KDEuMCwwLjAsMC4wLDEuMCk7IiwKKyAgIn0iCitdLmpvaW4oJ1xuJyk7CisK
K2Z1bmN0aW9uIGxvZyhtc2cpIHsKKyAgaWYgKHdpbmRvdy5jb25zb2xlICYmIHdpbmRvdy5jb25z
b2xlLmxvZykgeworICAgIHdpbmRvdy5jb25zb2xlLmxvZyhtc2cpOworICB9Cit9CisKK3ZhciB2
U2hhZGVyREIgPSB7fTsKK3ZhciBmU2hhZGVyREIgPSB7fTsKKworLyoqCisgKiB2U2hhZGVyU291
cmNlOiB0aGUgc291cmNlIGNvZGUgZm9yIHZlcnRleCBzaGFkZXIKKyAqIHZTaGFkZXJTdWNjZXNz
OiB0cnVlIGlmIHZlcnRleCBzaGFkZXIgY29tcGlsaWF0aW9uIHNob3VsZAorICogICBzdWNjZWVk
LgorICogZlNoYWRlclNvdXJjZTogdGhlIHNvdXJjZSBjb2RlIGZvciBmcmFnbWVudCBzaGFkZXIK
KyAqIGZTaGFkZXJTdWNjZXNzOiB0cnVlIGlmIGZyYWdtZW50IHNoYWRlciBjb21waWxpYXRpb24g
c2hvdWxkCisgKiAgIHN1Y2NlZWQuCisgKiBsaW5rU3VjY2VzczogdHJ1ZSBvZiBsaW5rIHNob3Vs
ZCBzdWNjZWVkCisgKiBwYXNzTXNnOiBtc2cgdG8gZGVzY3JpYmUgc3VjY2VzcyBjb25kaXRpb24u
CisgKiByZW5kZXI6IGlmIHRydWUgcmVuZGVyIHRvIHVuaXQgcXVhZC4gR3JlZW4gPSBzdWNjZXNz
CisgKgorICovCitmdW5jdGlvbiBydW5PbmVUZXN0KGdsLCBpbmZvKSB7CisgIHZhciBwYXNzTXNn
ID0gaW5mby5wYXNzTXNnCisgIGRlYnVnKCIiKTsKKyAgZGVidWcoInRlc3Q6ICIgKyBwYXNzTXNn
KTsKKworICB2YXIgY29uc29sZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb25zb2xlIik7
CisKKyAgaWYgKGluZm8udlNoYWRlclNvdXJjZSA9PT0gdW5kZWZpbmVkKSB7CisgICAgaWYgKGlu
Zm8udlNoYWRlcklkKSB7CisgICAgICBpbmZvLnZTaGFkZXJTb3VyY2UgPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZChpbmZvLnZTaGFkZXJJZCkudGV4dDsKKyAgICB9IGVsc2UgeworICAgICAgaW5m
by52U2hhZGVyID0gJ2RlZmF1bHRWZXJ0ZXhTaGFkZXInOworICAgICAgaW5mby52U2hhZGVyU291
cmNlID0gZGVmYXVsdFZlcnRleFNoYWRlcjsKKyAgICB9CisgIH0KKyAgaWYgKGluZm8uZlNoYWRl
clNvdXJjZSA9PT0gdW5kZWZpbmVkKSB7CisgICAgaWYgKGluZm8uZlNoYWRlcklkKSB7CisgICAg
ICBpbmZvLmZTaGFkZXJTb3VyY2UgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpbmZvLmZTaGFk
ZXJJZCkudGV4dDsKKyAgICB9IGVsc2UgeworICAgICAgaW5mby5mU2hhZGVyID0gJ2RlZmF1bHRG
cmFnbWVudFNoYWRlcic7CisgICAgICBpbmZvLmZTaGFkZXJTb3VyY2UgPSBkZWZhdWx0RnJhZ21l
bnRTaGFkZXI7CisgICAgfQorICB9CisKKyAgdmFyIHZMYWJlbCA9IChpbmZvLnZTaGFkZXJTb3Vy
Y2UgPT0gZGVmYXVsdFZlcnRleFNoYWRlciA/ICJkZWZhdWx0IiA6ICJ0ZXN0IikgKyAiIHZlcnRl
eCBzaGFkZXIiOworICB2YXIgZkxhYmVsID0gKGluZm8uZlNoYWRlclNvdXJjZSA9PSBkZWZhdWx0
RnJhZ21lbnRTaGFkZXIgPyAiZGVmYXVsdCIgOiAidGVzdCIpICsgIiBmcmFnbWVudCBzaGFkZXIi
OworCisgIHZhciB2U291cmNlID0gaW5mby52U2hhZGVyUHJlcCA/IGluZm8udlNoYWRlclByZXAo
aW5mby52U2hhZGVyU291cmNlKSA6CisgICAgaW5mby52U2hhZGVyU291cmNlOworCisgIHd0dS5h
ZGRTaGFkZXJTb3VyY2UoY29uc29sZSwgdkxhYmVsLCB2U291cmNlKTsKKworICAvLyBSZXVzZSBp
ZGVudGljYWwgc2hhZGVycyBzbyB3ZSB0ZXN0IHNoYXJlZCBzaGFkZXIuCisgIHZhciB2U2hhZGVy
ID0gdlNoYWRlckRCW3ZTb3VyY2VdOworICBpZiAoIXZTaGFkZXIpIHsKKyAgICB2U2hhZGVyID0g
d3R1LmxvYWRTaGFkZXIoZ2wsIHZTb3VyY2UsIGdsLlZFUlRFWF9TSEFERVIpOworICAgIGlmIChp
bmZvLnZTaGFkZXJUZXN0KSB7CisgICAgICBpZiAoIWluZm8udlNoYWRlclRlc3QodlNoYWRlcikp
IHsKKyAgICAgICAgdGVzdEZhaWxlZCgiW3ZlcnRleCBzaGFkZXIgdGVzdF0gIiArIHBhc3NNc2cp
OworICAgICAgICByZXR1cm47CisgICAgICB9CisgICAgfQorICAgIC8vIEFzIHBlciBHTFNMIDEu
MC4xNyAxMC4yNyB3ZSBjYW4gb25seSBjaGVjayBmb3Igc3VjY2VzcyBvbgorICAgIC8vIGNvbXBp
bGVTaGFkZXIsIG5vdCBmYWlsdXJlLgorICAgIGlmIChpbmZvLnZTaGFkZXJTdWNjZXNzICYmICF2
U2hhZGVyKSB7CisgICAgICB0ZXN0RmFpbGVkKCJbdW5leHBlY3RlZCB2ZXJ0ZXggc2hhZGVyIGNv
bXBpbGUgc3RhdHVzXSAoZXhwZWN0ZWQ6ICIgKworICAgICAgICAgICAgICAgICBpbmZvLnZTaGFk
ZXJTdWNjZXNzICsgIikgIiArIHBhc3NNc2cpOworICAgIH0KKyAgICAvLyBTYXZlIHRoZSBzaGFk
ZXJzIHNvIHdlIHRlc3Qgc2hhcmVkIHNoYWRlci4KKyAgICBpZiAodlNoYWRlcikgeworICAgICAg
dlNoYWRlckRCW3ZTb3VyY2VdID0gdlNoYWRlcjsKKyAgICB9CisgIH0KKworICB2YXIgZlNvdXJj
ZSA9IGluZm8uZlNoYWRlclByZXAgPyBpbmZvLmZTaGFkZXJQcmVwKGluZm8uZlNoYWRlclNvdXJj
ZSkgOgorICAgIGluZm8uZlNoYWRlclNvdXJjZTsKKworICB3dHUuYWRkU2hhZGVyU291cmNlKGNv
bnNvbGUsIGZMYWJlbCwgZlNvdXJjZSk7CisKKyAgLy8gUmV1c2UgaWRlbnRpY2FsIHNoYWRlcnMg
c28gd2UgdGVzdCBzaGFyZWQgc2hhZGVyLgorICB2YXIgZlNoYWRlciA9IGZTaGFkZXJEQltmU291
cmNlXTsKKyAgaWYgKCFmU2hhZGVyKSB7CisgICAgZlNoYWRlciA9IHd0dS5sb2FkU2hhZGVyKGds
LCBmU291cmNlLCBnbC5GUkFHTUVOVF9TSEFERVIpOworICAgIGlmIChpbmZvLmZTaGFkZXJUZXN0
KSB7CisgICAgICBpZiAoIWluZm8uZlNoYWRlclRlc3QoZlNoYWRlcikpIHsKKyAgICAgICAgdGVz
dEZhaWxlZCgiW2ZyYWdtZW50IHNoZGFlciB0ZXN0XSAiICsgcGFzc01zZyk7CisgICAgICAgIHJl
dHVybjsKKyAgICAgIH0KKyAgICB9CisgICAgLy9kZWJ1ZyhmU2hhZGVyID09IG51bGwgPyAiZmFp
bCIgOiAic3VjY2VlZCIpOworICAgIC8vIEFzIHBlciBHTFNMIDEuMC4xNyAxMC4yNyB3ZSBjYW4g
b25seSBjaGVjayBmb3Igc3VjY2VzcyBvbgorICAgIC8vIGNvbXBpbGVTaGFkZXIsIG5vdCBmYWls
dXJlLgorICAgIGlmIChpbmZvLmZTaGFkZXJTdWNjZXNzICYmICFmU2hhZGVyKSB7CisgICAgICB0
ZXN0RmFpbGVkKCJbdW5leHBlY3RlZCBmcmFnbWVudCBzaGFkZXIgY29tcGlsZSBzdGF0dXNdIChl
eHBlY3RlZDogIiArCisgICAgICAgICAgICAgICAgaW5mby5mU2hhZGVyU3VjY2VzcyArICIpICIg
KyBwYXNzTXNnKTsKKyAgICAgIHJldHVybjsKKyAgICB9CisgICAgLy8gU2FmZSB0aGUgc2hhZGVy
cyBzbyB3ZSB0ZXN0IHNoYXJlZCBzaGFkZXIuCisgICAgaWYgKGZTaGFkZXIpIHsKKyAgICAgIGZT
aGFkZXJEQltmU291cmNlXSA9IGZTaGFkZXI7CisgICAgfQorICB9CisKKyAgaWYgKHZTaGFkZXIg
JiYgZlNoYWRlcikgeworICAgIHZhciBwcm9ncmFtID0gZ2wuY3JlYXRlUHJvZ3JhbSgpOworICAg
IGdsLmF0dGFjaFNoYWRlcihwcm9ncmFtLCB2U2hhZGVyKTsKKyAgICBnbC5hdHRhY2hTaGFkZXIo
cHJvZ3JhbSwgZlNoYWRlcik7CisKKyAgICBpZiAodlNvdXJjZS5pbmRleE9mKCJ2UG9zaXRpb24i
KSA+PSAwKSB7CisgICAgICBnbC5iaW5kQXR0cmliTG9jYXRpb24ocHJvZ3JhbSwgMCwgInZQb3Np
dGlvbiIpOworICAgIH0KKyAgICBpZiAodlNvdXJjZS5pbmRleE9mKCJ0ZXhDb29yZDAiKSA+PSAw
KSB7CisgICAgICBnbC5iaW5kQXR0cmliTG9jYXRpb24ocHJvZ3JhbSwgMSwgInRleENvb3JkMCIp
OworICAgIH0KKyAgICBnbC5saW5rUHJvZ3JhbShwcm9ncmFtKTsKKyAgICB2YXIgbGlua2VkID0g
KGdsLmdldFByb2dyYW1QYXJhbWV0ZXIocHJvZ3JhbSwgZ2wuTElOS19TVEFUVVMpICE9IDApOwor
ICAgIGlmICghbGlua2VkKSB7CisgICAgICB2YXIgZXJyb3IgPSBnbC5nZXRQcm9ncmFtSW5mb0xv
Zyhwcm9ncmFtKTsKKyAgICAgIGxvZygiKioqIEVycm9yIGxpbmtpbmcgcHJvZ3JhbSAnIitwcm9n
cmFtKyInOiIrZXJyb3IpOworICAgIH0KKyAgICBpZiAobGlua2VkICE9IGluZm8ubGlua1N1Y2Nl
c3MpIHsKKyAgICAgIHRlc3RGYWlsZWQoIlt1bmV4cGVjdGVkIGxpbmsgc3RhdHVzXSAiICsgcGFz
c01zZyk7CisgICAgICByZXR1cm47CisgICAgfQorICB9IGVsc2UgeworICAgIGlmIChpbmZvLmxp
bmtTdWNjZXNzKSB7CisgICAgICB0ZXN0RmFpbGVkKCJbbGluayBmYWlsZWRdICIgKyBwYXNzTXNn
KTsKKyAgICAgIHJldHVybjsKKyAgICB9CisgIH0KKworICBpZiAoIWluZm8ucmVuZGVyKSB7Cisg
ICAgdGVzdFBhc3NlZChwYXNzTXNnKTsKKyAgICByZXR1cm47CisgIH0KKworICBnbC51c2VQcm9n
cmFtKHByb2dyYW0pOworICB3dHUuc2V0dXBVbml0UXVhZChnbCk7CisgIHd0dS5kcmF3UXVhZChn
bCk7CisKKyAgdmFyIGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOworICBkaXYu
Y2xhc3NOYW1lID0gInRlc3RpbWFnZXMiOworICB3dHUuaW5zZXJ0SW1hZ2UoZGl2LCAicmVzdWx0
Iiwgd3R1Lm1ha2VJbWFnZShnbC5jYW52YXMpKTsKKyAgZGl2LmFwcGVuZENoaWxkKGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoJ2JyJykpOworICBjb25zb2xlLmFwcGVuZENoaWxkKGRpdik7CisgIHd0
dS5jaGVja0NhbnZhcyhnbCwgWzAsIDI1NSwgMCwgMjU1XSwgInNob3VsZCBiZSBncmVlbiIsIDAp
OworfQorCitmdW5jdGlvbiBydW5UZXN0cyhzaGFkZXJJbmZvcykgeworICB2YXIgd3R1ID0gV2Vi
R0xUZXN0VXRpbHM7CisgIHZhciBjYW52YXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjYW52
YXMnKTsKKyAgY2FudmFzLndpZHRoID0gMzI7CisgIGNhbnZhcy5oZWlnaHQgPSAzMjsKKyAgdmFy
IGdsID0gd3R1LmNyZWF0ZTNEQ29udGV4dChjYW52YXMpOworICBpZiAoIWdsKSB7CisgICAgdGVz
dEZhaWxlZCgiY29udGV4dCBkb2VzIG5vdCBleGlzdCIpOworICAgIGZpbmlzaFRlc3QoKTsKKyAg
ICByZXR1cm47CisgIH0KKworICBmb3IgKHZhciBpaSA9IDA7IGlpIDwgc2hhZGVySW5mb3MubGVu
Z3RoOyArK2lpKSB7CisgICAgcnVuT25lVGVzdChnbCwgc2hhZGVySW5mb3NbaWldKTsKKyAgfQor
CisgIGZpbmlzaFRlc3QoKTsKK307CisKK2Z1bmN0aW9uIGxvYWRFeHRlcm5hbFNoYWRlcnMoZmls
ZW5hbWUsIHBhc3NNc2cpIHsKKyAgdmFyIHNoYWRlckluZm9zID0gW107CisgIHZhciBsaW5lcyA9
IHd0dS5yZWFkRmlsZUxpc3QoZmlsZW5hbWUpOworICBmb3IgKHZhciBpaSA9IDA7IGlpIDwgbGlu
ZXMubGVuZ3RoOyArK2lpKSB7CisgICAgdmFyIGluZm8gPSB7CisgICAgICB2U2hhZGVyU291cmNl
OiAgZGVmYXVsdFZlcnRleFNoYWRlciwKKyAgICAgIHZTaGFkZXJTdWNjZXNzOiB0cnVlLAorICAg
ICAgZlNoYWRlclNvdXJjZTogIGRlZmF1bHRGcmFnbWVudFNoYWRlciwKKyAgICAgIGZTaGFkZXJT
dWNjZXNzOiB0cnVlLAorICAgICAgbGlua1N1Y2Nlc3M6ICAgIHRydWUsCisgICAgfTsKKworICAg
IHZhciBsaW5lID0gbGluZXNbaWldOworICAgIHZhciBmaWxlcyA9IGxpbmUuc3BsaXQoLyArLyk7
CisgICAgdmFyIHBhc3NNc2cgPSAiIjsKKyAgICBmb3IgKHZhciBqaiA9IDA7IGpqIDwgZmlsZXMu
bGVuZ3RoOyArK2pqKSB7CisgICAgICB2YXIgZmlsZSA9IGZpbGVzW2pqXTsKKyAgICAgIHZhciBz
aGFkZXJTb3VyY2UgPSB3dHUucmVhZEZpbGUoZmlsZSk7CisgICAgICB2YXIgZmlyc3RMaW5lID0g
c2hhZGVyU291cmNlLnNwbGl0KCJcbiIpWzBdOworICAgICAgdmFyIHN1Y2Nlc3MgPSB1bmRlZmlu
ZWQ7CisgICAgICBpZiAoZmlyc3RMaW5lLmluZGV4T2YoImZhaWwiKSA+PSAwKSB7CisgICAgICAg
IHN1Y2Nlc3MgPSBmYWxzZTsKKyAgICAgIH0gZWxzZSBpZiAoZmlyc3RMaW5lLmluZGV4T2YoInN1
Y2NlZWQiKSA+PSAwKSB7CisgICAgICAgIHN1Y2Nlc3MgPSB0cnVlOworICAgICAgfQorICAgICAg
aWYgKHN1Y2Nlc3MgPT09IHVuZGVmaW5lZCkgeworICAgICAgICB0ZXN0RmFpbGVkKCJiYWQgZmly
c3QgbGluZSBpbiAiICsgZmlsZSArICI6IiArIGZpcnN0TGluZSk7CisgICAgICAgIGNvbnRpbnVl
OworICAgICAgfQorICAgICAgaWYgKCF3dHUuc3RhcnRzV2l0aChmaXJzdExpbmUsICIvLyAiKSkg
eworICAgICAgICB0ZXN0RmFpbGVkKCJiYWQgZmlyc3QgbGluZSBpbiAiICsgZmlsZSArICI6IiAr
IGZpcnN0TGluZSk7CisgICAgICAgIGNvbnRpbnVlOworICAgICAgfQorICAgICAgcGFzc01zZyA9
IHBhc3NNc2cgKyAocGFzc01zZy5sZW5ndGggPyAiLCAiIDogIiIpICsgZmlyc3RMaW5lLnN1YnN0
cigzKTsKKyAgICAgIGlmICh3dHUuZW5kc1dpdGgoZmlsZSwgIi52ZXJ0IikpIHsKKyAgICAgICAg
aW5mby52U2hhZGVyU291cmNlID0gc2hhZGVyU291cmNlOworICAgICAgICBpbmZvLnZTaGFkZXJT
dWNjZXNzID0gc3VjY2VzczsKKyAgICAgIH0gZWxzZSBpZiAod3R1LmVuZHNXaXRoKGZpbGUsICIu
ZnJhZyIpKSB7CisgICAgICAgIGluZm8uZlNoYWRlclNvdXJjZSA9IHNoYWRlclNvdXJjZTsKKyAg
ICAgICAgaW5mby5mU2hhZGVyU3VjY2VzcyA9IHN1Y2Nlc3M7CisgICAgICB9CisgICAgfQorICAg
IGluZm8ubGlua1N1Y2Nlc3MgPSBpbmZvLnZTaGFkZXJTdWNjZXNzICYmIGluZm8uZlNoYWRlclN1
Y2Nlc3M7CisgICAgaW5mby5wYXNzTXNnID0gcGFzc01zZzsKKyAgICBzaGFkZXJJbmZvcy5wdXNo
KGluZm8pOworICB9CisgIHJldHVybiBzaGFkZXJJbmZvczsKK30KKworZnVuY3Rpb24gZ2V0U291
cmNlKGVsZW0pIHsKKyAgdmFyIHN0ciA9IGVsZW0udGV4dDsKKyAgcmV0dXJuIHN0ci5yZXBsYWNl
KC9eXHMqLywgJycpLnJlcGxhY2UoL1xzKiQvLCAnJyk7Cit9CisKK2Z1bmN0aW9uIGdldFBhc3NN
ZXNzYWdlKHNvdXJjZSkgeworICB2YXIgbGluZXMgPSBzb3VyY2Uuc3BsaXQoJ1xuJyk7CisgIHJl
dHVybiBsaW5lc1swXS5zdWJzdHJpbmcoMyk7Cit9CisKK2Z1bmN0aW9uIGdldFN1Y2Nlc3MobXNn
KSB7CisgIGlmIChtc2cuaW5kZXhPZigiZmFpbCIpID49IDApIHsKKyAgICByZXR1cm4gZmFsc2U7
CisgIH0KKyAgaWYgKG1zZy5pbmRleE9mKCJzdWNjZWVkIikgPj0gMCkgeworICAgIHJldHVybiB0
cnVlOworICB9CisgIHRlc3RGYWlsZWQoImJhZCB0ZXN0IGRlc2NyaXB0aW9uLiBNdXN0IGhhdmUg
J2ZhaWwnIG9yICdzdWNjZXNzJyIpOworfQorCitmdW5jdGlvbiBzZXR1cFRlc3QoKSB7CisgIHZh
ciB2U2hhZGVyRWxlbSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd2ZXJ0ZXhTaGFkZXInKTsK
KyAgdmFyIHZTaGFkZXJTb3VyY2UgPSBkZWZhdWx0VmVydGV4U2hhZGVyOworICB2YXIgdlNoYWRl
clN1Y2Nlc3MgPSB0cnVlOworCisgIHZhciBmU2hhZGVyRWxlbSA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCdmcmFnbWVudFNoYWRlcicpOworICB2YXIgZlNoYWRlclNvdXJjZSA9IGRlZmF1bHRG
cmFnbWVudFNoYWRlcjsKKyAgdmFyIGZTaGFkZXJTdWNjZXNzID0gdHJ1ZTsKKworICB2YXIgcGFz
c01zZyA9IHVuZGVmaW5lZDsKKworICBpZiAodlNoYWRlckVsZW0pIHsKKyAgICB2U2hhZGVyU291
cmNlID0gZ2V0U291cmNlKHZTaGFkZXJFbGVtKTsKKyAgICBwYXNzTXNnID0gZ2V0UGFzc01lc3Nh
Z2UodlNoYWRlclNvdXJjZSk7CisgICAgdlNoYWRlclN1Y2Nlc3MgPSBnZXRTdWNjZXNzKHBhc3NN
c2cpOworICB9CisKKyAgaWYgKGZTaGFkZXJFbGVtKSB7CisgICAgZlNoYWRlclNvdXJjZSA9IGdl
dFNvdXJjZShmU2hhZGVyRWxlbSk7CisgICAgcGFzc01zZyA9IGdldFBhc3NNZXNzYWdlKGZTaGFk
ZXJTb3VyY2UpOworICAgIGZTaGFkZXJTdWNjZXNzID0gZ2V0U3VjY2VzcyhwYXNzTXNnKTsKKyAg
fQorCisgIHZhciBsaW5rU3VjY2VzcyA9IHZTaGFkZXJTdWNjZXNzICYmIGZTaGFkZXJTdWNjZXNz
OworCisgIGlmIChwYXNzTXNnID09PSB1bmRlZmluZWQpIHsKKyAgICB0ZXN0RmFpbGVkKCJubyB0
ZXN0IHNoYWRlciBmb3VuZC4iKTsKKyAgICBmaW5pc2hUZXN0KCk7CisgICAgcmV0dXJuOworICB9
CisKKyAgdmFyIGluZm8gPSB7CisgICAgdlNoYWRlclNvdXJjZTogdlNoYWRlclNvdXJjZSwKKyAg
ICB2U2hhZGVyU3VjY2VzczogdlNoYWRlclN1Y2Nlc3MsCisgICAgZlNoYWRlclNvdXJjZTogZlNo
YWRlclNvdXJjZSwKKyAgICBmU2hhZGVyU3VjY2VzczogZlNoYWRlclN1Y2Nlc3MsCisgICAgbGlu
a1N1Y2Nlc3M6IGxpbmtTdWNjZXNzLAorICAgIHBhc3NNc2c6IHBhc3NNc2cKKyAgfTsKKworICBy
ZXR1cm4gaW5mbzsKK30KKworZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgdmFyIGluZm8gPSBzZXR1
cFRlc3QoKTsKKyAgZGVzY3JpcHRpb24oaW5mby5wYXNzTXNnKTsKKyAgcnVuVGVzdHMoW2luZm9d
KTsKK30KKworZnVuY3Rpb24gcnVuUmVuZGVyVGVzdHModGVzdHMpIHsKKyAgZm9yICh2YXIgaWkg
PSAwOyBpaSA8IHRlc3RzLmxlbmd0aDsgKytpaSkgeworICAgIHRlc3RzW2lpXS5yZW5kZXIgPSB0
cnVlCisgIH0KKyAgcnVuVGVzdHModGVzdHMpOworfQorCitmdW5jdGlvbiBydW5SZW5kZXJUZXN0
KCkgeworICB2YXIgaW5mbyA9IHNldHVwVGVzdCgpOworICBkZXNjcmlwdGlvbihpbmZvLnBhc3NN
c2cpOworICBydW5SZW5kZXJUZXN0cyhbaW5mb10pOworfQorCityZXR1cm4geworICBydW5UZXN0
OiBydW5UZXN0LAorICBydW5UZXN0czogcnVuVGVzdHMsCisgIHJ1blJlbmRlclRlc3Q6IHJ1blJl
bmRlclRlc3QsCisgIHJ1blJlbmRlclRlc3RzOiBydW5SZW5kZXJUZXN0cywKKyAgbG9hZEV4dGVy
bmFsU2hhZGVyczogbG9hZEV4dGVybmFsU2hhZGVycywKKworICBub25lOiBmYWxzZSwKK307Cit9
KCkpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2UvcmVzb3VyY2VzL2dsc2wtZmVhdHVyZS10ZXN0cy5jc3MgYi9MYXlv
dXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZXNv
dXJjZXMvZ2xzbC1mZWF0dXJlLXRlc3RzLmNzcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jODA2M2Q5MmIyYTU5MWRm
Mzc5NDA5NDRjZTAzZjM5ZmVlZjhkYzUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
d2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVzb3VyY2VzL2ds
c2wtZmVhdHVyZS10ZXN0cy5jc3MKQEAgLTAsMCArMSwyOSBAQAorY2FudmFzIHsKKyAgYmFja2dy
b3VuZC1jb2xvcjogd2hpdGU7CisgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgw
LCByZ2JhKDIwMCwgMjAwLCAyMDAsIC41KSA1MCUsIHRyYW5zcGFyZW50IDUwJSksIGxpbmVhci1n
cmFkaWVudChyZ2JhKDIwMCwgMjAwLCAyMDAsIC41KSA1MCUsIHRyYW5zcGFyZW50IDUwJSk7Cisg
IGJhY2tncm91bmQtc2l6ZTogOHB4IDhweDsKK30KKworLnNoYWRlci1zb3VyY2UgeworICBib3Jk
ZXI6IDFweCBkYXNoZWQgYmxhY2s7CisgIHBhZGRpbmc6IDFlbTsKK30KKworLnNoYWRlci1zb3Vy
Y2UgbGk6bnRoLWNoaWxkKG9kZCkgeyBiYWNrZ3JvdW5kOiAjZjhmOGY4OyB9Cisuc2hhZGVyLXNv
dXJjZSBsaTpudGgtY2hpbGQoZXZlbikgeyBiYWNrZ3JvdW5kOiAjZjBmMGYwOyB9CisKKy50ZXN0
aW1hZ2VzIHsKK30KKworLnRlc3RpbWFnZXMgYnIgeworICBjbGVhcjogYm90aDsKK30KKworLnRl
c3RpbWFnZXMgPiBkaXYgeworICBmbG9hdDogbGVmdDsKKyAgbWFyZ2luOiAxZW07Cit9CisKK0lN
RyB7CisgIGJvcmRlcjogMXB4IHNvbGlkIGJsYWNrOworfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVzb3VyY2Vz
L2dsc2wtZ2VuZXJhdG9yLmpzIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rl
c3RfZmlsZXMvY29uZm9ybWFuY2UvcmVzb3VyY2VzL2dsc2wtZ2VuZXJhdG9yLmpzCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmI1ODcyMzJhNjA0NDZlY2JlMGM5YjEwOTk5ZDNlYWZmMWExNjNlZjQKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS9yZXNvdXJjZXMvZ2xzbC1nZW5lcmF0b3IuanMKQEAgLTAsMCArMSwxMTY3IEBACisv
KgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQ
ZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNv
biBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVk
IGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRo
ZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxp
bWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gs
CisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1h
dGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMg
YXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1p
c3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0
YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBB
UkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVY
UFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFO
VElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhP
UlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1B
R0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1Qs
CisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVD
VElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1Mg
SU4gVEhFIE1BVEVSSUFMUy4KKyovCitHTFNMR2VuZXJhdG9yID0gKGZ1bmN0aW9uKCkgeworCit2
YXIgdmVydGV4U2hhZGVyVGVtcGxhdGUgPSBbCisgICJhdHRyaWJ1dGUgdmVjNCBhUG9zaXRpb247
IiwKKyAgIiIsCisgICJ2YXJ5aW5nIHZlYzQgdkNvbG9yOyIsCisgICIiLAorICAiJChleHRyYSki
LAorICAiJChlbXUpIiwKKyAgIiIsCisgICJ2b2lkIG1haW4oKSIsCisgICJ7IiwKKyAgIiAgIGds
X1Bvc2l0aW9uID0gYVBvc2l0aW9uOyIsCisgICIgICB2ZWMyIHRleGNvb3JkID0gdmVjMihhUG9z
aXRpb24ueHkgKiAwLjUgKyB2ZWMyKDAuNSwgMC41KSk7IiwKKyAgIiAgIHZlYzQgY29sb3IgPSB2
ZWM0KCIsCisgICIgICAgICAgdGV4Y29vcmQsIiwKKyAgIiAgICAgICB0ZXhjb29yZC54ICogdGV4
Y29vcmQueSwiLAorICAiICAgICAgICgxLjAgLSB0ZXhjb29yZC54KSAqIHRleGNvb3JkLnkgKiAw
LjUgKyAwLjUpOyIsCisgICIgICAkKHRlc3QpIiwKKyAgIn0iCitdLmpvaW4oIlxuIik7CisKK3Zh
ciBmcmFnbWVudFNoYWRlclRlbXBsYXRlID0gWworICAiI2lmIGRlZmluZWQoR0xfRVMpIiwKKyAg
InByZWNpc2lvbiBtZWRpdW1wIGZsb2F0OyIsCisgICIjZW5kaWYiLAorICAiIiwKKyAgInZhcnlp
bmcgdmVjNCB2Q29sb3I7IiwKKyAgIiIsCisgICIkKGV4dHJhKSIsCisgICIkKGVtdSkiLAorICAi
IiwKKyAgInZvaWQgbWFpbigpIiwKKyAgInsiLAorICAiICAgJCh0ZXN0KSIsCisgICJ9IgorXS5q
b2luKCJcbiIpOworCit2YXIgYmFzZVZlcnRleFNoYWRlciA9IFsKKyAgImF0dHJpYnV0ZSB2ZWM0
IGFQb3NpdGlvbjsiLAorICAiIiwKKyAgInZhcnlpbmcgdmVjNCB2Q29sb3I7IiwKKyAgIiIsCisg
ICJ2b2lkIG1haW4oKSIsCisgICJ7IiwKKyAgIiAgIGdsX1Bvc2l0aW9uID0gYVBvc2l0aW9uOyIs
CisgICIgICB2ZWMyIHRleGNvb3JkID0gdmVjMihhUG9zaXRpb24ueHkgKiAwLjUgKyB2ZWMyKDAu
NSwgMC41KSk7IiwKKyAgIiAgIHZDb2xvciA9IHZlYzQoIiwKKyAgIiAgICAgICB0ZXhjb29yZCwi
LAorICAiICAgICAgIHRleGNvb3JkLnggKiB0ZXhjb29yZC55LCIsCisgICIgICAgICAgKDEuMCAt
IHRleGNvb3JkLngpICogdGV4Y29vcmQueSAqIDAuNSArIDAuNSk7IiwKKyAgIn0iCitdLmpvaW4o
IlxuIik7CisKK3ZhciBiYXNlRnJhZ21lbnRTaGFkZXIgPSBbCisgICIjaWYgZGVmaW5lZChHTF9F
UykiLAorICAicHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7IiwKKyAgIiNlbmRpZiIsCisgICJ2YXJ5
aW5nIHZlYzQgdkNvbG9yOyIsCisgICIiLAorICAidm9pZCBtYWluKCkiLAorICAieyIsCisgICIg
ICBnbF9GcmFnQ29sb3IgPSB2Q29sb3I7IiwKKyAgIn0iCitdLmpvaW4oIlxuIik7CisKK3ZhciB0
eXBlcyA9IFsKKyAgeyB0eXBlOiAiZmxvYXQiLAorICAgIGNvZGU6IFsKKyAgICAgICJmbG9hdCAk
KGZ1bmMpX2VtdSgkKGFyZ3MpKSB7IiwKKyAgICAgICIgIHJldHVybiAkKGZ1bmMpX2Jhc2UoJChi
YXNlQXJncykpOyIsCisgICAgICAifSJdLmpvaW4oIlxuIikKKyAgfSwKKyAgeyB0eXBlOiAidmVj
MiIsCisgICAgY29kZTogWworICAgICAgInZlYzIgJChmdW5jKV9lbXUoJChhcmdzKSkgeyIsCisg
ICAgICAiICByZXR1cm4gdmVjMigiLAorICAgICAgIiAgICAgICQoZnVuYylfYmFzZSgkKGJhc2VB
cmdzWCkpLCIsCisgICAgICAiICAgICAgJChmdW5jKV9iYXNlKCQoYmFzZUFyZ3NZKSkpOyIsCisg
ICAgICAifSJdLmpvaW4oIlxuIikKKyAgfSwKKyAgeyB0eXBlOiAidmVjMyIsCisgICAgY29kZTog
WworICAgICAgInZlYzMgJChmdW5jKV9lbXUoJChhcmdzKSkgeyIsCisgICAgICAiICByZXR1cm4g
dmVjMygiLAorICAgICAgIiAgICAgICQoZnVuYylfYmFzZSgkKGJhc2VBcmdzWCkpLCIsCisgICAg
ICAiICAgICAgJChmdW5jKV9iYXNlKCQoYmFzZUFyZ3NZKSksIiwKKyAgICAgICIgICAgICAkKGZ1
bmMpX2Jhc2UoJChiYXNlQXJnc1opKSk7IiwKKyAgICAgICJ9Il0uam9pbigiXG4iKQorICB9LAor
ICB7IHR5cGU6ICJ2ZWM0IiwKKyAgICBjb2RlOiBbCisgICAgICAidmVjNCAkKGZ1bmMpX2VtdSgk
KGFyZ3MpKSB7IiwKKyAgICAgICIgIHJldHVybiB2ZWM0KCIsCisgICAgICAiICAgICAgJChmdW5j
KV9iYXNlKCQoYmFzZUFyZ3NYKSksIiwKKyAgICAgICIgICAgICAkKGZ1bmMpX2Jhc2UoJChiYXNl
QXJnc1kpKSwiLAorICAgICAgIiAgICAgICQoZnVuYylfYmFzZSgkKGJhc2VBcmdzWikpLCIsCisg
ICAgICAiICAgICAgJChmdW5jKV9iYXNlKCQoYmFzZUFyZ3NXKSkpOyIsCisgICAgICAifSJdLmpv
aW4oIlxuIikKKyAgfQorXTsKKwordmFyIGJ2ZWNUeXBlcyA9IFsKKyAgeyB0eXBlOiAiYnZlYzIi
LAorICAgIGNvZGU6IFsKKyAgICAgICJidmVjMiAkKGZ1bmMpX2VtdSgkKGFyZ3MpKSB7IiwKKyAg
ICAgICIgIHJldHVybiBidmVjMigiLAorICAgICAgIiAgICAgICQoZnVuYylfYmFzZSgkKGJhc2VB
cmdzWCkpLCIsCisgICAgICAiICAgICAgJChmdW5jKV9iYXNlKCQoYmFzZUFyZ3NZKSkpOyIsCisg
ICAgICAifSJdLmpvaW4oIlxuIikKKyAgfSwKKyAgeyB0eXBlOiAiYnZlYzMiLAorICAgIGNvZGU6
IFsKKyAgICAgICJidmVjMyAkKGZ1bmMpX2VtdSgkKGFyZ3MpKSB7IiwKKyAgICAgICIgIHJldHVy
biBidmVjMygiLAorICAgICAgIiAgICAgICQoZnVuYylfYmFzZSgkKGJhc2VBcmdzWCkpLCIsCisg
ICAgICAiICAgICAgJChmdW5jKV9iYXNlKCQoYmFzZUFyZ3NZKSksIiwKKyAgICAgICIgICAgICAk
KGZ1bmMpX2Jhc2UoJChiYXNlQXJnc1opKSk7IiwKKyAgICAgICJ9Il0uam9pbigiXG4iKQorICB9
LAorICB7IHR5cGU6ICJidmVjNCIsCisgICAgY29kZTogWworICAgICAgInZlYzQgJChmdW5jKV9l
bXUoJChhcmdzKSkgeyIsCisgICAgICAiICByZXR1cm4gYnZlYzQoIiwKKyAgICAgICIgICAgICAk
KGZ1bmMpX2Jhc2UoJChiYXNlQXJnc1gpKSwiLAorICAgICAgIiAgICAgICQoZnVuYylfYmFzZSgk
KGJhc2VBcmdzWSkpLCIsCisgICAgICAiICAgICAgJChmdW5jKV9iYXNlKCQoYmFzZUFyZ3NaKSks
IiwKKyAgICAgICIgICAgICAkKGZ1bmMpX2Jhc2UoJChiYXNlQXJnc1cpKSk7IiwKKyAgICAgICJ9
Il0uam9pbigiXG4iKQorICB9CitdOworCit2YXIgcmVwbGFjZVJFID0gL1wkXCgoXHcrKVwpL2c7
CisKK3ZhciByZXBsYWNlUGFyYW1zID0gZnVuY3Rpb24oc3RyKSB7CisgIHZhciBhcmdzID0gYXJn
dW1lbnRzOworICByZXR1cm4gc3RyLnJlcGxhY2UocmVwbGFjZVJFLCBmdW5jdGlvbihzdHIsIHAx
LCBvZmZzZXQsIHMpIHsKKyAgICBmb3IgKHZhciBpaSA9IDE7IGlpIDwgYXJncy5sZW5ndGg7ICsr
aWkpIHsKKyAgICAgIGlmIChhcmdzW2lpXVtwMV0gIT09IHVuZGVmaW5lZCkgeworICAgICAgICBy
ZXR1cm4gYXJnc1tpaV1bcDFdOworICAgICAgfQorICAgIH0KKyAgICB0aHJvdyAidW5rbm93biBz
dHJpbmcgcGFyYW0gJyIgKyBwMSArICInIjsKKyAgfSk7Cit9OworCit2YXIgZ2VuZXJhdGVSZWZl
cmVuY2VTaGFkZXIgPSBmdW5jdGlvbigKKyAgICBzaGFkZXJJbmZvLCB0ZW1wbGF0ZSwgcGFyYW1z
LCB0eXBlSW5mbywgdGVzdCkgeworICB2YXIgaW5wdXQgPSBzaGFkZXJJbmZvLmlucHV0OworICB2
YXIgb3V0cHV0ID0gc2hhZGVySW5mby5vdXRwdXQ7CisgIHZhciBmZWF0dXJlID0gcGFyYW1zLmZl
YXR1cmU7CisgIHZhciB0ZXN0RnVuYyA9IHBhcmFtcy50ZXN0RnVuYzsKKyAgdmFyIGVtdUZ1bmMg
PSBwYXJhbXMuZW11RnVuYyB8fCAiIjsKKyAgdmFyIGV4dHJhID0gcGFyYW1zLmV4dHJhIHx8ICcn
OworICB2YXIgYXJncyA9IHBhcmFtcy5hcmdzIHx8ICIkKHR5cGUpIHZhbHVlIjsKKyAgdmFyIHR5
cGUgPSB0eXBlSW5mby50eXBlOworICB2YXIgdHlwZUNvZGUgPSB0eXBlSW5mby5jb2RlOworCisg
IHZhciBiYXNlQXJncyA9IHBhcmFtcy5iYXNlQXJncyB8fCAidmFsdWUkKGZpZWxkKSI7CisgIHZh
ciBiYXNlQXJnc1ggPSByZXBsYWNlUGFyYW1zKGJhc2VBcmdzLCB7ZmllbGQ6ICIueCJ9KTsKKyAg
dmFyIGJhc2VBcmdzWSA9IHJlcGxhY2VQYXJhbXMoYmFzZUFyZ3MsIHtmaWVsZDogIi55In0pOwor
ICB2YXIgYmFzZUFyZ3NaID0gcmVwbGFjZVBhcmFtcyhiYXNlQXJncywge2ZpZWxkOiAiLnoifSk7
CisgIHZhciBiYXNlQXJnc1cgPSByZXBsYWNlUGFyYW1zKGJhc2VBcmdzLCB7ZmllbGQ6ICIudyJ9
KTsKKyAgdmFyIGJhc2VBcmdzID0gcmVwbGFjZVBhcmFtcyhiYXNlQXJncywge2ZpZWxkOiAiIn0p
OworCisgIHRlc3QgPSByZXBsYWNlUGFyYW1zKHRlc3QsIHsKKyAgICBpbnB1dDogaW5wdXQsCisg
ICAgb3V0cHV0OiBvdXRwdXQsCisgICAgZnVuYzogZmVhdHVyZSArICJfZW11IgorICB9KTsKKyAg
ZW11RnVuYyA9IHJlcGxhY2VQYXJhbXMoZW11RnVuYywgeworICAgIGZ1bmM6IGZlYXR1cmUKKyAg
fSk7CisgIGFyZ3MgPSByZXBsYWNlUGFyYW1zKGFyZ3MsIHsKKyAgICB0eXBlOiB0eXBlCisgIH0p
OworICB0eXBlQ29kZSA9IHJlcGxhY2VQYXJhbXModHlwZUNvZGUsIHsKKyAgICBmdW5jOiBmZWF0
dXJlLAorICAgIHR5cGU6IHR5cGUsCisgICAgYXJnczogYXJncywKKyAgICBiYXNlQXJnczogYmFz
ZUFyZ3MsCisgICAgYmFzZUFyZ3NYOiBiYXNlQXJnc1gsCisgICAgYmFzZUFyZ3NZOiBiYXNlQXJn
c1ksCisgICAgYmFzZUFyZ3NaOiBiYXNlQXJnc1osCisgICAgYmFzZUFyZ3NXOiBiYXNlQXJnc1cK
KyAgfSk7CisgIHZhciBzaGFkZXIgPSByZXBsYWNlUGFyYW1zKHRlbXBsYXRlLCB7CisgICAgZXh0
cmE6IGV4dHJhLAorICAgIGVtdTogZW11RnVuYyArICJcblxuIiArIHR5cGVDb2RlLAorICAgIHRl
c3Q6IHRlc3QKKyAgfSk7CisgIHJldHVybiBzaGFkZXI7Cit9OworCit2YXIgZ2VuZXJhdGVUZXN0
U2hhZGVyID0gZnVuY3Rpb24oCisgICAgc2hhZGVySW5mbywgdGVtcGxhdGUsIHBhcmFtcywgdGVz
dCkgeworICB2YXIgaW5wdXQgPSBzaGFkZXJJbmZvLmlucHV0OworICB2YXIgb3V0cHV0ID0gc2hh
ZGVySW5mby5vdXRwdXQ7CisgIHZhciBmZWF0dXJlID0gcGFyYW1zLmZlYXR1cmU7CisgIHZhciB0
ZXN0RnVuYyA9IHBhcmFtcy50ZXN0RnVuYzsKKyAgdmFyIGV4dHJhID0gcGFyYW1zLmV4dHJhIHx8
ICcnOworCisgIHRlc3QgPSByZXBsYWNlUGFyYW1zKHRlc3QsIHsKKyAgICBpbnB1dDogaW5wdXQs
CisgICAgb3V0cHV0OiBvdXRwdXQsCisgICAgZnVuYzogZmVhdHVyZQorICB9KTsKKyAgdmFyIHNo
YWRlciA9IHJlcGxhY2VQYXJhbXModGVtcGxhdGUsIHsKKyAgICBleHRyYTogZXh0cmEsCisgICAg
ZW11OiAnJywKKyAgICB0ZXN0OiB0ZXN0CisgIH0pOworICByZXR1cm4gc2hhZGVyOworfTsKKwor
dmFyIHJ1bkZlYXR1cmVUZXN0ID0gZnVuY3Rpb24ocGFyYW1zKSB7CisgIHZhciB3dHUgPSBXZWJH
TFRlc3RVdGlsczsKKyAgdmFyIGdyaWRSZXMgPSBwYXJhbXMuZ3JpZFJlczsKKyAgdmFyIHZlcnRl
eFRvbGVyYW5jZSA9IHBhcmFtcy50b2xlcmFuY2UgfHwgMDsKKyAgdmFyIGZyYWdtZW50VG9sZXJh
bmNlID0gdmVydGV4VG9sZXJhbmNlOworICBpZiAoJ2ZyYWdtZW50VG9sZXJhbmNlJyBpbiBwYXJh
bXMpCisgICAgZnJhZ21lbnRUb2xlcmFuY2UgPSBwYXJhbXMuZnJhZ21lbnRUb2xlcmFuY2UgfHwg
MDsKKworICBkZXNjcmlwdGlvbigiVGVzdGluZyBHTFNMIGZlYXR1cmU6ICIgKyBwYXJhbXMuZmVh
dHVyZSk7CisKKyAgdmFyIHdpZHRoID0gMzI7CisgIHZhciBoZWlnaHQgPSAzMjsKKworICB2YXIg
Y29uc29sZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb25zb2xlIik7CisgIHZhciBjYW52
YXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjYW52YXMnKTsKKyAgY2FudmFzLndpZHRoID0g
d2lkdGg7CisgIGNhbnZhcy5oZWlnaHQgPSBoZWlnaHQ7CisgIHZhciBnbCA9IHd0dS5jcmVhdGUz
RENvbnRleHQoY2FudmFzKTsKKyAgaWYgKCFnbCkgeworICAgIHRlc3RGYWlsZWQoImNvbnRleHQg
ZG9lcyBub3QgZXhpc3QiKTsKKyAgICBmaW5pc2hUZXN0KCk7CisgICAgcmV0dXJuOworICB9CisK
KyAgdmFyIGNhbnZhczJkID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnY2FudmFzJyk7CisgIGNh
bnZhczJkLndpZHRoID0gd2lkdGg7CisgIGNhbnZhczJkLmhlaWdodCA9IGhlaWdodDsKKyAgdmFy
IGN0eCA9IGNhbnZhczJkLmdldENvbnRleHQoIjJkIik7CisgIHZhciBpbWdEYXRhID0gY3R4Lmdl
dEltYWdlRGF0YSgwLCAwLCB3aWR0aCwgaGVpZ2h0KTsKKworICB2YXIgc2hhZGVySW5mb3MgPSBb
CisgICAgeyB0eXBlOiAidmVydGV4IiwKKyAgICAgIGlucHV0OiAiY29sb3IiLAorICAgICAgb3V0
cHV0OiAidkNvbG9yIiwKKyAgICAgIHZlcnRleFNoYWRlclRlbXBsYXRlOiB2ZXJ0ZXhTaGFkZXJU
ZW1wbGF0ZSwKKyAgICAgIGZyYWdtZW50U2hhZGVyVGVtcGxhdGU6IGJhc2VGcmFnbWVudFNoYWRl
ciwKKyAgICAgIHRvbGVyYW5jZTogdmVydGV4VG9sZXJhbmNlCisgICAgfSwKKyAgICB7IHR5cGU6
ICJmcmFnbWVudCIsCisgICAgICBpbnB1dDogInZDb2xvciIsCisgICAgICBvdXRwdXQ6ICJnbF9G
cmFnQ29sb3IiLAorICAgICAgdmVydGV4U2hhZGVyVGVtcGxhdGU6IGJhc2VWZXJ0ZXhTaGFkZXIs
CisgICAgICBmcmFnbWVudFNoYWRlclRlbXBsYXRlOiBmcmFnbWVudFNoYWRlclRlbXBsYXRlLAor
ICAgICAgdG9sZXJhbmNlOiBmcmFnbWVudFRvbGVyYW5jZQorICAgIH0KKyAgXTsKKyAgZm9yICh2
YXIgc3MgPSAwOyBzcyA8IHNoYWRlckluZm9zLmxlbmd0aDsgKytzcykgeworICAgIHZhciBzaGFk
ZXJJbmZvID0gc2hhZGVySW5mb3Nbc3NdOworICAgIHZhciB0ZXN0cyA9IHBhcmFtcy50ZXN0czsK
KyAgICB2YXIgdGVzdFR5cGVzID0gcGFyYW1zLmVtdUZ1bmNzIHx8IChwYXJhbXMuYnZlY1Rlc3Qg
PyBidmVjVHlwZXMgOiB0eXBlcyk7CisgICAgLy8gVGVzdCB2ZXJ0ZXggc2hhZGVycworICAgIGZv
ciAodmFyIGlpID0gMDsgaWkgPCB0ZXN0cy5sZW5ndGg7ICsraWkpIHsKKyAgICAgIHZhciB0eXBl
ID0gdGVzdFR5cGVzW2lpXTsKKyAgICAgIGlmIChwYXJhbXMuc2ltcGxlRW11KSB7CisgICAgICAg
IHR5cGUgPSB7CisgICAgICAgICAgdHlwZTogdHlwZS50eXBlLAorICAgICAgICAgIGNvZGU6IHBh
cmFtcy5zaW1wbGVFbXUKKyAgICAgICAgfTsKKyAgICAgIH0KKyAgICAgIGRlYnVnKCIiKTsKKyAg
ICAgIHZhciBzdHIgPSByZXBsYWNlUGFyYW1zKHBhcmFtcy50ZXN0RnVuYywgeworICAgICAgICBm
dW5jOiBwYXJhbXMuZmVhdHVyZSwKKyAgICAgICAgdHlwZTogdHlwZS50eXBlLAorICAgICAgICBh
cmcwOiB0eXBlLnR5cGUKKyAgICAgIH0pOworICAgICAgZGVidWcoIlRlc3Rpbmc6ICIgKyBzdHIg
KyAiIGluICIgKyBzaGFkZXJJbmZvLnR5cGUgKyAiIHNoYWRlciIpOworCisgICAgICB2YXIgcmVm
ZXJlbmNlVmVydGV4U2hhZGVyU291cmNlID0gZ2VuZXJhdGVSZWZlcmVuY2VTaGFkZXIoCisgICAg
ICAgICAgc2hhZGVySW5mbywKKyAgICAgICAgICBzaGFkZXJJbmZvLnZlcnRleFNoYWRlclRlbXBs
YXRlLAorICAgICAgICAgIHBhcmFtcywKKyAgICAgICAgICB0eXBlLAorICAgICAgICAgIHRlc3Rz
W2lpXSk7CisgICAgICB2YXIgcmVmZXJlbmNlRnJhZ21lbnRTaGFkZXJTb3VyY2UgPSBnZW5lcmF0
ZVJlZmVyZW5jZVNoYWRlcigKKyAgICAgICAgICBzaGFkZXJJbmZvLAorICAgICAgICAgIHNoYWRl
ckluZm8uZnJhZ21lbnRTaGFkZXJUZW1wbGF0ZSwKKyAgICAgICAgICBwYXJhbXMsCisgICAgICAg
ICAgdHlwZSwKKyAgICAgICAgICB0ZXN0c1tpaV0pOworICAgICAgdmFyIHRlc3RWZXJ0ZXhTaGFk
ZXJTb3VyY2UgPSBnZW5lcmF0ZVRlc3RTaGFkZXIoCisgICAgICAgICAgc2hhZGVySW5mbywKKyAg
ICAgICAgICBzaGFkZXJJbmZvLnZlcnRleFNoYWRlclRlbXBsYXRlLAorICAgICAgICAgIHBhcmFt
cywKKyAgICAgICAgICB0ZXN0c1tpaV0pOworICAgICAgdmFyIHRlc3RGcmFnbWVudFNoYWRlclNv
dXJjZSA9IGdlbmVyYXRlVGVzdFNoYWRlcigKKyAgICAgICAgICBzaGFkZXJJbmZvLAorICAgICAg
ICAgIHNoYWRlckluZm8uZnJhZ21lbnRTaGFkZXJUZW1wbGF0ZSwKKyAgICAgICAgICBwYXJhbXMs
CisgICAgICAgICAgdGVzdHNbaWldKTsKKworICAgICAgZGVidWcoIiIpOworICAgICAgd3R1LmFk
ZFNoYWRlclNvdXJjZSgKKyAgICAgICAgICBjb25zb2xlLCAicmVmZXJlbmNlIHZlcnRleCBzaGFk
ZXIiLCByZWZlcmVuY2VWZXJ0ZXhTaGFkZXJTb3VyY2UpOworICAgICAgd3R1LmFkZFNoYWRlclNv
dXJjZSgKKyAgICAgICAgICBjb25zb2xlLCAicmVmZXJlbmNlIGZyYWdtZW50IHNoYWRlciIsIHJl
ZmVyZW5jZUZyYWdtZW50U2hhZGVyU291cmNlKTsKKyAgICAgIHd0dS5hZGRTaGFkZXJTb3VyY2Uo
CisgICAgICAgICAgY29uc29sZSwgInRlc3QgdmVydGV4IHNoYWRlciIsIHRlc3RWZXJ0ZXhTaGFk
ZXJTb3VyY2UpOworICAgICAgd3R1LmFkZFNoYWRlclNvdXJjZSgKKyAgICAgICAgICBjb25zb2xl
LCAidGVzdCBmcmFnbWVudCBzaGFkZXIiLCB0ZXN0RnJhZ21lbnRTaGFkZXJTb3VyY2UpOworICAg
ICAgZGVidWcoIiIpOworCisgICAgICB2YXIgcmVmRGF0YSA9IGRyYXcoCisgICAgICAgICAgY2Fu
dmFzLCByZWZlcmVuY2VWZXJ0ZXhTaGFkZXJTb3VyY2UsIHJlZmVyZW5jZUZyYWdtZW50U2hhZGVy
U291cmNlKTsKKyAgICAgIHZhciByZWZJbWcgPSB3dHUubWFrZUltYWdlKGNhbnZhcyk7CisgICAg
ICBpZiAoc3MgPT0gMCkgeworICAgICAgICB2YXIgdGVzdERhdGEgPSBkcmF3KAorICAgICAgICAg
ICAgY2FudmFzLCB0ZXN0VmVydGV4U2hhZGVyU291cmNlLCByZWZlcmVuY2VGcmFnbWVudFNoYWRl
clNvdXJjZSk7CisgICAgICB9IGVsc2UgeworICAgICAgICB2YXIgdGVzdERhdGEgPSBkcmF3KAor
ICAgICAgICAgICAgY2FudmFzLCByZWZlcmVuY2VWZXJ0ZXhTaGFkZXJTb3VyY2UsIHRlc3RGcmFn
bWVudFNoYWRlclNvdXJjZSk7CisgICAgICB9CisgICAgICB2YXIgdGVzdEltZyA9IHd0dS5tYWtl
SW1hZ2UoY2FudmFzKTsKKworICAgICAgcmVwb3J0UmVzdWx0cyhyZWZEYXRhLCByZWZJbWcsIHRl
c3REYXRhLCB0ZXN0SW1nLCBzaGFkZXJJbmZvLnRvbGVyYW5jZSk7CisgICAgfQorICB9CisKKyAg
ZmluaXNoVGVzdCgpOworCisgIGZ1bmN0aW9uIHJlcG9ydFJlc3VsdHMocmVmRGF0YSwgcmVmSW1h
Z2UsIHRlc3REYXRhLCB0ZXN0SW1hZ2UsIHRvbGVyYW5jZSkgeworICAgIHZhciBzYW1lID0gdHJ1
ZTsKKyAgICBmb3IgKHZhciB5eSA9IDA7IHl5IDwgaGVpZ2h0OyArK3l5KSB7CisgICAgICBmb3Ig
KHZhciB4eCA9IDA7IHh4IDwgd2lkdGg7ICsreHgpIHsKKyAgICAgICAgdmFyIG9mZnNldCA9ICh5
eSAqIHdpZHRoICsgeHgpICogNDsKKyAgICAgICAgdmFyIGltZ09mZnNldCA9ICgoaGVpZ2h0IC0g
eXkgLSAxKSAqIHdpZHRoICsgeHgpICogNDsKKyAgICAgICAgaW1nRGF0YS5kYXRhW2ltZ09mZnNl
dCArIDBdID0gMDsKKyAgICAgICAgaW1nRGF0YS5kYXRhW2ltZ09mZnNldCArIDFdID0gMDsKKyAg
ICAgICAgaW1nRGF0YS5kYXRhW2ltZ09mZnNldCArIDJdID0gMDsKKyAgICAgICAgaW1nRGF0YS5k
YXRhW2ltZ09mZnNldCArIDNdID0gMjU1OworICAgICAgICBpZiAoTWF0aC5hYnMocmVmRGF0YVtv
ZmZzZXQgKyAwXSAtIHRlc3REYXRhW29mZnNldCArIDBdKSA+IHRvbGVyYW5jZSB8fAorICAgICAg
ICAgICAgTWF0aC5hYnMocmVmRGF0YVtvZmZzZXQgKyAxXSAtIHRlc3REYXRhW29mZnNldCArIDFd
KSA+IHRvbGVyYW5jZSB8fAorICAgICAgICAgICAgTWF0aC5hYnMocmVmRGF0YVtvZmZzZXQgKyAy
XSAtIHRlc3REYXRhW29mZnNldCArIDJdKSA+IHRvbGVyYW5jZSB8fAorICAgICAgICAgICAgTWF0
aC5hYnMocmVmRGF0YVtvZmZzZXQgKyAzXSAtIHRlc3REYXRhW29mZnNldCArIDNdKSA+IHRvbGVy
YW5jZSkgeworICAgICAgICAgIGltZ0RhdGEuZGF0YVtpbWdPZmZzZXRdID0gMjU1OworICAgICAg
ICAgIHNhbWUgPSBmYWxzZTsKKyAgICAgICAgfQorICAgICAgfQorICAgIH0KKworICAgIHZhciBk
aWZmSW1nID0gbnVsbDsKKyAgICBpZiAoIXNhbWUpIHsKKyAgICAgIGN0eC5wdXRJbWFnZURhdGEo
aW1nRGF0YSwgMCwgMCk7CisgICAgICBkaWZmSW1nID0gd3R1Lm1ha2VJbWFnZShjYW52YXMyZCk7
CisgICAgfQorCisgICAgdmFyIGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwor
ICAgIGRpdi5jbGFzc05hbWUgPSAidGVzdGltYWdlcyI7CisgICAgd3R1Lmluc2VydEltYWdlKGRp
diwgInJlZiIsIHJlZkltZyk7CisgICAgd3R1Lmluc2VydEltYWdlKGRpdiwgInRlc3QiLCB0ZXN0
SW1nKTsKKyAgICBpZiAoZGlmZkltZykgeworICAgICAgd3R1Lmluc2VydEltYWdlKGRpdiwgImRp
ZmYiLCBkaWZmSW1nKTsKKyAgICB9CisgICAgZGl2LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoJ2JyJykpOworCisKKyAgICBjb25zb2xlLmFwcGVuZENoaWxkKGRpdik7CisKKyAg
ICBpZiAoIXNhbWUpIHsKKyAgICAgIHRlc3RGYWlsZWQoImltYWdlcyBhcmUgZGlmZmVyZW50Iik7
CisgICAgfSBlbHNlIHsKKyAgICAgIHRlc3RQYXNzZWQoImltYWdlcyBhcmUgdGhlIHNhbWUiKTsK
KyAgICB9CisKKyAgICBjb25zb2xlLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
J2hyJykpOworICB9CisKKyAgZnVuY3Rpb24gZHJhdyhjYW52YXMsIHZzU291cmNlLCBmc1NvdXJj
ZSkgeworICAgIHZhciBwcm9ncmFtID0gd3R1LmxvYWRQcm9ncmFtKGdsLCB2c1NvdXJjZSwgZnNT
b3VyY2UsIHRlc3RGYWlsZWQpOworCisgICAgdmFyIHBvc0xvYyA9IGdsLmdldEF0dHJpYkxvY2F0
aW9uKHByb2dyYW0sICJhUG9zaXRpb24iKTsKKyAgICBXZWJHTFRlc3RVdGlscy5zZXR1cFF1YWQo
Z2wsIGdyaWRSZXMsIHBvc0xvYyk7CisKKyAgICBnbC51c2VQcm9ncmFtKHByb2dyYW0pOworICAg
IGdsLmNsZWFyQ29sb3IoMCwgMCwgMSwgMSk7CisgICAgZ2wuY2xlYXIoZ2wuQ09MT1JfQlVGRkVS
X0JJVCB8IGdsLkRFUFRIX0JVRkZFUl9CSVQpOworICAgIGdsLmRyYXdFbGVtZW50cyhnbC5UUklB
TkdMRVMsIGdyaWRSZXMgKiBncmlkUmVzICogNiwgZ2wuVU5TSUdORURfU0hPUlQsIDApOworICAg
IHd0dS5nbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SLCAibm8gZXJyb3JzIGZyb20gZHJh
dyIpOworCisgICAgdmFyIGltZyA9IG5ldyBVaW50OEFycmF5KHdpZHRoICogaGVpZ2h0ICogNCk7
CisgICAgZ2wucmVhZFBpeGVscygwLCAwLCB3aWR0aCwgaGVpZ2h0LCBnbC5SR0JBLCBnbC5VTlNJ
R05FRF9CWVRFLCBpbWcpOworICAgIHJldHVybiBpbWc7CisgIH0KKworfTsKKwordmFyIHJ1bkJh
c2ljVGVzdCA9IGZ1bmN0aW9uKHBhcmFtcykgeworICB2YXIgd3R1ID0gV2ViR0xUZXN0VXRpbHM7
CisgIHZhciBncmlkUmVzID0gcGFyYW1zLmdyaWRSZXM7CisgIHZhciB2ZXJ0ZXhUb2xlcmFuY2Ug
PSBwYXJhbXMudG9sZXJhbmNlIHx8IDA7CisgIHZhciBmcmFnbWVudFRvbGVyYW5jZSA9IHZlcnRl
eFRvbGVyYW5jZTsKKyAgaWYgKCdmcmFnbWVudFRvbGVyYW5jZScgaW4gcGFyYW1zKQorICAgIGZy
YWdtZW50VG9sZXJhbmNlID0gcGFyYW1zLmZyYWdtZW50VG9sZXJhbmNlIHx8IDA7CisKKyAgZGVz
Y3JpcHRpb24oIlRlc3RpbmcgOiAiICsgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInRp
dGxlIilbMF0uaW5uZXJUZXh0KTsKKworICB2YXIgd2lkdGggPSAzMjsKKyAgdmFyIGhlaWdodCA9
IDMyOworCisgIHZhciBjb25zb2xlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnNvbGUi
KTsKKyAgdmFyIGNhbnZhcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycpOworICBj
YW52YXMud2lkdGggPSB3aWR0aDsKKyAgY2FudmFzLmhlaWdodCA9IGhlaWdodDsKKyAgdmFyIGds
ID0gd3R1LmNyZWF0ZTNEQ29udGV4dChjYW52YXMpOworICBpZiAoIWdsKSB7CisgICAgdGVzdEZh
aWxlZCgiY29udGV4dCBkb2VzIG5vdCBleGlzdCIpOworICAgIGZpbmlzaFRlc3QoKTsKKyAgICBy
ZXR1cm47CisgIH0KKworICB2YXIgY2FudmFzMmQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdj
YW52YXMnKTsKKyAgY2FudmFzMmQud2lkdGggPSB3aWR0aDsKKyAgY2FudmFzMmQuaGVpZ2h0ID0g
aGVpZ2h0OworICB2YXIgY3R4ID0gY2FudmFzMmQuZ2V0Q29udGV4dCgiMmQiKTsKKyAgdmFyIGlt
Z0RhdGEgPSBjdHguZ2V0SW1hZ2VEYXRhKDAsIDAsIHdpZHRoLCBoZWlnaHQpOworCisgIHZhciBz
aGFkZXJJbmZvcyA9IFsKKyAgICB7IHR5cGU6ICJ2ZXJ0ZXgiLAorICAgICAgaW5wdXQ6ICJjb2xv
ciIsCisgICAgICBvdXRwdXQ6ICJ2Q29sb3IiLAorICAgICAgdmVydGV4U2hhZGVyVGVtcGxhdGU6
IHZlcnRleFNoYWRlclRlbXBsYXRlLAorICAgICAgZnJhZ21lbnRTaGFkZXJUZW1wbGF0ZTogYmFz
ZUZyYWdtZW50U2hhZGVyLAorICAgICAgdG9sZXJhbmNlOiB2ZXJ0ZXhUb2xlcmFuY2UKKyAgICB9
LAorICAgIHsgdHlwZTogImZyYWdtZW50IiwKKyAgICAgIGlucHV0OiAidkNvbG9yIiwKKyAgICAg
IG91dHB1dDogImdsX0ZyYWdDb2xvciIsCisgICAgICB2ZXJ0ZXhTaGFkZXJUZW1wbGF0ZTogYmFz
ZVZlcnRleFNoYWRlciwKKyAgICAgIGZyYWdtZW50U2hhZGVyVGVtcGxhdGU6IGZyYWdtZW50U2hh
ZGVyVGVtcGxhdGUsCisgICAgICB0b2xlcmFuY2U6IGZyYWdtZW50VG9sZXJhbmNlCisgICAgfQor
ICBdOworICBmb3IgKHZhciBzcyA9IDA7IHNzIDwgc2hhZGVySW5mb3MubGVuZ3RoOyArK3NzKSB7
CisgICAgdmFyIHNoYWRlckluZm8gPSBzaGFkZXJJbmZvc1tzc107CisgICAgdmFyIHRlc3RzID0g
cGFyYW1zLnRlc3RzOworLy8gICAgdmFyIHRlc3RUeXBlcyA9IHBhcmFtcy5lbXVGdW5jcyB8fCAo
cGFyYW1zLmJ2ZWNUZXN0ID8gYnZlY1R5cGVzIDogdHlwZXMpOworICAgIC8vIFRlc3QgdmVydGV4
IHNoYWRlcnMKKyAgICBmb3IgKHZhciBpaSA9IDA7IGlpIDwgdGVzdHMubGVuZ3RoOyArK2lpKSB7
CisgICAgICB2YXIgdGVzdCA9IHRlc3RzW2lpXTsKKyAgICAgIGRlYnVnKCIiKTsKKyAgICAgIGRl
YnVnKCJUZXN0aW5nOiAiICsgdGVzdC5uYW1lICsgIiBpbiAiICsgc2hhZGVySW5mby50eXBlICsg
IiBzaGFkZXIiKTsKKworICAgICAgZnVuY3Rpb24gZ2VuU2hhZGVyKHNoYWRlckluZm8sIHRlbXBs
YXRlLCBzaGFkZXIsIHN1YnMpIHsKKyAgICAgICAgc2hhZGVyID0gcmVwbGFjZVBhcmFtcyhzaGFk
ZXIsIHN1YnMsIHsKKyAgICAgICAgICAgIGlucHV0OiBzaGFkZXJJbmZvLmlucHV0LAorICAgICAg
ICAgICAgb3V0cHV0OiBzaGFkZXJJbmZvLm91dHB1dAorICAgICAgICAgIH0pOworICAgICAgICBz
aGFkZXIgPSByZXBsYWNlUGFyYW1zKHRlbXBsYXRlLCBzdWJzLCB7CisgICAgICAgICAgICB0ZXN0
OiBzaGFkZXIsCisgICAgICAgICAgICBlbXU6ICIiLAorICAgICAgICAgICAgZXh0cmE6ICIiCisg
ICAgICAgICAgfSk7CisgICAgICAgIHJldHVybiBzaGFkZXI7CisgICAgICB9CisKKyAgICAgIHZh
ciByZWZlcmVuY2VWZXJ0ZXhTaGFkZXJTb3VyY2UgPSBnZW5TaGFkZXIoCisgICAgICAgICAgc2hh
ZGVySW5mbywKKyAgICAgICAgICBzaGFkZXJJbmZvLnZlcnRleFNoYWRlclRlbXBsYXRlLAorICAg
ICAgICAgIHRlc3QucmVmZXJlbmNlLnNoYWRlciwKKyAgICAgICAgICB0ZXN0LnJlZmVyZW5jZS5z
dWJzKTsKKyAgICAgIHZhciByZWZlcmVuY2VGcmFnbWVudFNoYWRlclNvdXJjZSA9IGdlblNoYWRl
cigKKyAgICAgICAgICBzaGFkZXJJbmZvLAorICAgICAgICAgIHNoYWRlckluZm8uZnJhZ21lbnRT
aGFkZXJUZW1wbGF0ZSwKKyAgICAgICAgICB0ZXN0LnJlZmVyZW5jZS5zaGFkZXIsCisgICAgICAg
ICAgdGVzdC5yZWZlcmVuY2Uuc3Vicyk7CisgICAgICB2YXIgdGVzdFZlcnRleFNoYWRlclNvdXJj
ZSA9IGdlblNoYWRlcigKKyAgICAgICAgICBzaGFkZXJJbmZvLAorICAgICAgICAgIHNoYWRlcklu
Zm8udmVydGV4U2hhZGVyVGVtcGxhdGUsCisgICAgICAgICAgdGVzdC50ZXN0LnNoYWRlciwKKyAg
ICAgICAgICB0ZXN0LnRlc3Quc3Vicyk7CisgICAgICB2YXIgdGVzdEZyYWdtZW50U2hhZGVyU291
cmNlID0gZ2VuU2hhZGVyKAorICAgICAgICAgIHNoYWRlckluZm8sCisgICAgICAgICAgc2hhZGVy
SW5mby5mcmFnbWVudFNoYWRlclRlbXBsYXRlLAorICAgICAgICAgIHRlc3QudGVzdC5zaGFkZXIs
CisgICAgICAgICAgdGVzdC50ZXN0LnN1YnMpOworCisgICAgICBkZWJ1ZygiIik7CisgICAgICB3
dHUuYWRkU2hhZGVyU291cmNlKAorICAgICAgICAgIGNvbnNvbGUsICJyZWZlcmVuY2UgdmVydGV4
IHNoYWRlciIsIHJlZmVyZW5jZVZlcnRleFNoYWRlclNvdXJjZSk7CisgICAgICB3dHUuYWRkU2hh
ZGVyU291cmNlKAorICAgICAgICAgIGNvbnNvbGUsICJyZWZlcmVuY2UgZnJhZ21lbnQgc2hhZGVy
IiwgcmVmZXJlbmNlRnJhZ21lbnRTaGFkZXJTb3VyY2UpOworICAgICAgd3R1LmFkZFNoYWRlclNv
dXJjZSgKKyAgICAgICAgICBjb25zb2xlLCAidGVzdCB2ZXJ0ZXggc2hhZGVyIiwgdGVzdFZlcnRl
eFNoYWRlclNvdXJjZSk7CisgICAgICB3dHUuYWRkU2hhZGVyU291cmNlKAorICAgICAgICAgIGNv
bnNvbGUsICJ0ZXN0IGZyYWdtZW50IHNoYWRlciIsIHRlc3RGcmFnbWVudFNoYWRlclNvdXJjZSk7
CisgICAgICBkZWJ1ZygiIik7CisKKyAgICAgIHZhciByZWZEYXRhID0gZHJhdygKKyAgICAgICAg
ICBjYW52YXMsIHJlZmVyZW5jZVZlcnRleFNoYWRlclNvdXJjZSwgcmVmZXJlbmNlRnJhZ21lbnRT
aGFkZXJTb3VyY2UpOworICAgICAgdmFyIHJlZkltZyA9IHd0dS5tYWtlSW1hZ2UoY2FudmFzKTsK
KyAgICAgIGlmIChzcyA9PSAwKSB7CisgICAgICAgIHZhciB0ZXN0RGF0YSA9IGRyYXcoCisgICAg
ICAgICAgICBjYW52YXMsIHRlc3RWZXJ0ZXhTaGFkZXJTb3VyY2UsIHJlZmVyZW5jZUZyYWdtZW50
U2hhZGVyU291cmNlKTsKKyAgICAgIH0gZWxzZSB7CisgICAgICAgIHZhciB0ZXN0RGF0YSA9IGRy
YXcoCisgICAgICAgICAgICBjYW52YXMsIHJlZmVyZW5jZVZlcnRleFNoYWRlclNvdXJjZSwgdGVz
dEZyYWdtZW50U2hhZGVyU291cmNlKTsKKyAgICAgIH0KKyAgICAgIHZhciB0ZXN0SW1nID0gd3R1
Lm1ha2VJbWFnZShjYW52YXMpOworCisgICAgICByZXBvcnRSZXN1bHRzKHJlZkRhdGEsIHJlZklt
ZywgdGVzdERhdGEsIHRlc3RJbWcsIHNoYWRlckluZm8udG9sZXJhbmNlKTsKKyAgICB9CisgIH0K
KworICBmaW5pc2hUZXN0KCk7CisKKyAgZnVuY3Rpb24gcmVwb3J0UmVzdWx0cyhyZWZEYXRhLCBy
ZWZJbWFnZSwgdGVzdERhdGEsIHRlc3RJbWFnZSwgdG9sZXJhbmNlKSB7CisgICAgdmFyIHNhbWUg
PSB0cnVlOworICAgIGZvciAodmFyIHl5ID0gMDsgeXkgPCBoZWlnaHQ7ICsreXkpIHsKKyAgICAg
IGZvciAodmFyIHh4ID0gMDsgeHggPCB3aWR0aDsgKyt4eCkgeworICAgICAgICB2YXIgb2Zmc2V0
ID0gKHl5ICogd2lkdGggKyB4eCkgKiA0OworICAgICAgICB2YXIgaW1nT2Zmc2V0ID0gKChoZWln
aHQgLSB5eSAtIDEpICogd2lkdGggKyB4eCkgKiA0OworICAgICAgICBpbWdEYXRhLmRhdGFbaW1n
T2Zmc2V0ICsgMF0gPSAwOworICAgICAgICBpbWdEYXRhLmRhdGFbaW1nT2Zmc2V0ICsgMV0gPSAw
OworICAgICAgICBpbWdEYXRhLmRhdGFbaW1nT2Zmc2V0ICsgMl0gPSAwOworICAgICAgICBpbWdE
YXRhLmRhdGFbaW1nT2Zmc2V0ICsgM10gPSAyNTU7CisgICAgICAgIGlmIChNYXRoLmFicyhyZWZE
YXRhW29mZnNldCArIDBdIC0gdGVzdERhdGFbb2Zmc2V0ICsgMF0pID4gdG9sZXJhbmNlIHx8Cisg
ICAgICAgICAgICBNYXRoLmFicyhyZWZEYXRhW29mZnNldCArIDFdIC0gdGVzdERhdGFbb2Zmc2V0
ICsgMV0pID4gdG9sZXJhbmNlIHx8CisgICAgICAgICAgICBNYXRoLmFicyhyZWZEYXRhW29mZnNl
dCArIDJdIC0gdGVzdERhdGFbb2Zmc2V0ICsgMl0pID4gdG9sZXJhbmNlIHx8CisgICAgICAgICAg
ICBNYXRoLmFicyhyZWZEYXRhW29mZnNldCArIDNdIC0gdGVzdERhdGFbb2Zmc2V0ICsgM10pID4g
dG9sZXJhbmNlKSB7CisgICAgICAgICAgaW1nRGF0YS5kYXRhW2ltZ09mZnNldF0gPSAyNTU7Cisg
ICAgICAgICAgc2FtZSA9IGZhbHNlOworICAgICAgICB9CisgICAgICB9CisgICAgfQorCisgICAg
dmFyIGRpZmZJbWcgPSBudWxsOworICAgIGlmICghc2FtZSkgeworICAgICAgY3R4LnB1dEltYWdl
RGF0YShpbWdEYXRhLCAwLCAwKTsKKyAgICAgIGRpZmZJbWcgPSB3dHUubWFrZUltYWdlKGNhbnZh
czJkKTsKKyAgICB9CisKKyAgICB2YXIgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2
Iik7CisgICAgZGl2LmNsYXNzTmFtZSA9ICJ0ZXN0aW1hZ2VzIjsKKyAgICB3dHUuaW5zZXJ0SW1h
Z2UoZGl2LCAicmVmIiwgcmVmSW1nKTsKKyAgICB3dHUuaW5zZXJ0SW1hZ2UoZGl2LCAidGVzdCIs
IHRlc3RJbWcpOworICAgIGlmIChkaWZmSW1nKSB7CisgICAgICB3dHUuaW5zZXJ0SW1hZ2UoZGl2
LCAiZGlmZiIsIGRpZmZJbWcpOworICAgIH0KKyAgICBkaXYuYXBwZW5kQ2hpbGQoZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgnYnInKSk7CisKKyAgICBjb25zb2xlLmFwcGVuZENoaWxkKGRpdik7CisK
KyAgICBpZiAoIXNhbWUpIHsKKyAgICAgIHRlc3RGYWlsZWQoImltYWdlcyBhcmUgZGlmZmVyZW50
Iik7CisgICAgfSBlbHNlIHsKKyAgICAgIHRlc3RQYXNzZWQoImltYWdlcyBhcmUgdGhlIHNhbWUi
KTsKKyAgICB9CisKKyAgICBjb25zb2xlLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoJ2hyJykpOworICB9CisKKyAgZnVuY3Rpb24gZHJhdyhjYW52YXMsIHZzU291cmNlLCBmc1Nv
dXJjZSkgeworICAgIHZhciBwcm9ncmFtID0gd3R1LmxvYWRQcm9ncmFtKGdsLCB2c1NvdXJjZSwg
ZnNTb3VyY2UsIHRlc3RGYWlsZWQpOworCisgICAgdmFyIHBvc0xvYyA9IGdsLmdldEF0dHJpYkxv
Y2F0aW9uKHByb2dyYW0sICJhUG9zaXRpb24iKTsKKyAgICBXZWJHTFRlc3RVdGlscy5zZXR1cFF1
YWQoZ2wsIGdyaWRSZXMsIHBvc0xvYyk7CisKKyAgICBnbC51c2VQcm9ncmFtKHByb2dyYW0pOwor
ICAgIGdsLmNsZWFyQ29sb3IoMCwgMCwgMSwgMSk7CisgICAgZ2wuY2xlYXIoZ2wuQ09MT1JfQlVG
RkVSX0JJVCB8IGdsLkRFUFRIX0JVRkZFUl9CSVQpOworICAgIGdsLmRyYXdFbGVtZW50cyhnbC5U
UklBTkdMRVMsIGdyaWRSZXMgKiBncmlkUmVzICogNiwgZ2wuVU5TSUdORURfU0hPUlQsIDApOwor
ICAgIHd0dS5nbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SLCAibm8gZXJyb3JzIGZyb20g
ZHJhdyIpOworCisgICAgdmFyIGltZyA9IG5ldyBVaW50OEFycmF5KHdpZHRoICogaGVpZ2h0ICog
NCk7CisgICAgZ2wucmVhZFBpeGVscygwLCAwLCB3aWR0aCwgaGVpZ2h0LCBnbC5SR0JBLCBnbC5V
TlNJR05FRF9CWVRFLCBpbWcpOworICAgIHJldHVybiBpbWc7CisgIH0KKworfTsKKwordmFyIHJ1
blJlZmVyZW5jZUltYWdlVGVzdCA9IGZ1bmN0aW9uKHBhcmFtcykgeworICB2YXIgd3R1ID0gV2Vi
R0xUZXN0VXRpbHM7CisgIHZhciBncmlkUmVzID0gcGFyYW1zLmdyaWRSZXM7CisgIHZhciB2ZXJ0
ZXhUb2xlcmFuY2UgPSBwYXJhbXMudG9sZXJhbmNlIHx8IDA7CisgIHZhciBmcmFnbWVudFRvbGVy
YW5jZSA9IHZlcnRleFRvbGVyYW5jZTsKKyAgaWYgKCdmcmFnbWVudFRvbGVyYW5jZScgaW4gcGFy
YW1zKQorICAgIGZyYWdtZW50VG9sZXJhbmNlID0gcGFyYW1zLmZyYWdtZW50VG9sZXJhbmNlIHx8
IDA7CisKKyAgZGVzY3JpcHRpb24oIlRlc3RpbmcgR0xTTCBmZWF0dXJlOiAiICsgcGFyYW1zLmZl
YXR1cmUpOworCisgIHZhciB3aWR0aCA9IDMyOworICB2YXIgaGVpZ2h0ID0gMzI7CisKKyAgdmFy
IGNvbnNvbGUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29uc29sZSIpOworICB2YXIgY2Fu
dmFzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnY2FudmFzJyk7CisgIGNhbnZhcy53aWR0aCA9
IHdpZHRoOworICBjYW52YXMuaGVpZ2h0ID0gaGVpZ2h0OworICB2YXIgZ2wgPSB3dHUuY3JlYXRl
M0RDb250ZXh0KGNhbnZhcywgeyBhbnRpYWxpYXM6IGZhbHNlIH0pOworICBpZiAoIWdsKSB7Cisg
ICAgdGVzdEZhaWxlZCgiY29udGV4dCBkb2VzIG5vdCBleGlzdCIpOworICAgIGZpbmlzaFRlc3Qo
KTsKKyAgICByZXR1cm47CisgIH0KKworICB2YXIgY2FudmFzMmQgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCdjYW52YXMnKTsKKyAgY2FudmFzMmQud2lkdGggPSB3aWR0aDsKKyAgY2FudmFzMmQu
aGVpZ2h0ID0gaGVpZ2h0OworICB2YXIgY3R4ID0gY2FudmFzMmQuZ2V0Q29udGV4dCgiMmQiKTsK
KyAgdmFyIGltZ0RhdGEgPSBjdHguZ2V0SW1hZ2VEYXRhKDAsIDAsIHdpZHRoLCBoZWlnaHQpOwor
CisgIHZhciBzaGFkZXJJbmZvcyA9IFsKKyAgICB7IHR5cGU6ICJ2ZXJ0ZXgiLAorICAgICAgaW5w
dXQ6ICJjb2xvciIsCisgICAgICBvdXRwdXQ6ICJ2Q29sb3IiLAorICAgICAgdmVydGV4U2hhZGVy
VGVtcGxhdGU6IHZlcnRleFNoYWRlclRlbXBsYXRlLAorICAgICAgZnJhZ21lbnRTaGFkZXJUZW1w
bGF0ZTogYmFzZUZyYWdtZW50U2hhZGVyLAorICAgICAgdG9sZXJhbmNlOiB2ZXJ0ZXhUb2xlcmFu
Y2UKKyAgICB9LAorICAgIHsgdHlwZTogImZyYWdtZW50IiwKKyAgICAgIGlucHV0OiAidkNvbG9y
IiwKKyAgICAgIG91dHB1dDogImdsX0ZyYWdDb2xvciIsCisgICAgICB2ZXJ0ZXhTaGFkZXJUZW1w
bGF0ZTogYmFzZVZlcnRleFNoYWRlciwKKyAgICAgIGZyYWdtZW50U2hhZGVyVGVtcGxhdGU6IGZy
YWdtZW50U2hhZGVyVGVtcGxhdGUsCisgICAgICB0b2xlcmFuY2U6IGZyYWdtZW50VG9sZXJhbmNl
CisgICAgfQorICBdOworICBmb3IgKHZhciBzcyA9IDA7IHNzIDwgc2hhZGVySW5mb3MubGVuZ3Ro
OyArK3NzKSB7CisgICAgdmFyIHNoYWRlckluZm8gPSBzaGFkZXJJbmZvc1tzc107CisgICAgdmFy
IHRlc3RzID0gcGFyYW1zLnRlc3RzOworICAgIHZhciB0ZXN0VHlwZXMgPSBwYXJhbXMuZW11RnVu
Y3MgfHwgKHBhcmFtcy5idmVjVGVzdCA/IGJ2ZWNUeXBlcyA6IHR5cGVzKTsKKyAgICAvLyBUZXN0
IHZlcnRleCBzaGFkZXJzCisgICAgZm9yICh2YXIgaWkgPSAwOyBpaSA8IHRlc3RzLmxlbmd0aDsg
KytpaSkgeworICAgICAgdmFyIHR5cGUgPSB0ZXN0VHlwZXNbaWldOworICAgICAgdmFyIGlzVmVy
dGV4ID0gKHNzID09IDApOworICAgICAgZGVidWcoIiIpOworICAgICAgdmFyIHN0ciA9IHJlcGxh
Y2VQYXJhbXMocGFyYW1zLnRlc3RGdW5jLCB7CisgICAgICAgIGZ1bmM6IHBhcmFtcy5mZWF0dXJl
LAorICAgICAgICB0eXBlOiB0eXBlLnR5cGUsCisgICAgICAgIGFyZzA6IHR5cGUudHlwZQorICAg
ICAgfSk7CisgICAgICBkZWJ1ZygiVGVzdGluZzogIiArIHN0ciArICIgaW4gIiArIHNoYWRlcklu
Zm8udHlwZSArICIgc2hhZGVyIik7CisKKyAgICAgIHZhciByZWZlcmVuY2VWZXJ0ZXhTaGFkZXJT
b3VyY2UgPSBnZW5lcmF0ZVJlZmVyZW5jZVNoYWRlcigKKyAgICAgICAgICBzaGFkZXJJbmZvLAor
ICAgICAgICAgIHNoYWRlckluZm8udmVydGV4U2hhZGVyVGVtcGxhdGUsCisgICAgICAgICAgcGFy
YW1zLAorICAgICAgICAgIHR5cGUsCisgICAgICAgICAgdGVzdHNbaWldLnNvdXJjZSk7CisgICAg
ICB2YXIgcmVmZXJlbmNlRnJhZ21lbnRTaGFkZXJTb3VyY2UgPSBnZW5lcmF0ZVJlZmVyZW5jZVNo
YWRlcigKKyAgICAgICAgICBzaGFkZXJJbmZvLAorICAgICAgICAgIHNoYWRlckluZm8uZnJhZ21l
bnRTaGFkZXJUZW1wbGF0ZSwKKyAgICAgICAgICBwYXJhbXMsCisgICAgICAgICAgdHlwZSwKKyAg
ICAgICAgICB0ZXN0c1tpaV0uc291cmNlKTsKKyAgICAgIHZhciB0ZXN0VmVydGV4U2hhZGVyU291
cmNlID0gZ2VuZXJhdGVUZXN0U2hhZGVyKAorICAgICAgICAgIHNoYWRlckluZm8sCisgICAgICAg
ICAgc2hhZGVySW5mby52ZXJ0ZXhTaGFkZXJUZW1wbGF0ZSwKKyAgICAgICAgICBwYXJhbXMsCisg
ICAgICAgICAgdGVzdHNbaWldLnNvdXJjZSk7CisgICAgICB2YXIgdGVzdEZyYWdtZW50U2hhZGVy
U291cmNlID0gZ2VuZXJhdGVUZXN0U2hhZGVyKAorICAgICAgICAgIHNoYWRlckluZm8sCisgICAg
ICAgICAgc2hhZGVySW5mby5mcmFnbWVudFNoYWRlclRlbXBsYXRlLAorICAgICAgICAgIHBhcmFt
cywKKyAgICAgICAgICB0ZXN0c1tpaV0uc291cmNlKTsKKyAgICAgIHZhciByZWZlcmVuY2VUZXh0
dXJlID0gZ2VuZXJhdGVSZWZlcmVuY2VUZXh0dXJlKAorICAgICAgICAgIGdsLAorICAgICAgICAg
IHRlc3RzW2lpXS5nZW5lcmF0b3IsCisgICAgICAgICAgaXNWZXJ0ZXggPyBncmlkUmVzIDogd2lk
dGgsCisgICAgICAgICAgaXNWZXJ0ZXggPyBncmlkUmVzIDogaGVpZ2h0LAorICAgICAgICAgIGlz
VmVydGV4KTsKKworICAgICAgZGVidWcoIiIpOworICAgICAgd3R1LmFkZFNoYWRlclNvdXJjZSgK
KyAgICAgICAgICBjb25zb2xlLCAidGVzdCB2ZXJ0ZXggc2hhZGVyIiwgdGVzdFZlcnRleFNoYWRl
clNvdXJjZSk7CisgICAgICB3dHUuYWRkU2hhZGVyU291cmNlKAorICAgICAgICAgIGNvbnNvbGUs
ICJ0ZXN0IGZyYWdtZW50IHNoYWRlciIsIHRlc3RGcmFnbWVudFNoYWRlclNvdXJjZSk7CisgICAg
ICBkZWJ1ZygiIik7CisgICAgICB2YXIgcmVmRGF0YSA9IGRyYXdSZWZlcmVuY2VJbWFnZShjYW52
YXMsIHJlZmVyZW5jZVRleHR1cmUsIGlzVmVydGV4KTsKKyAgICAgIHZhciByZWZJbWcgPSB3dHUu
bWFrZUltYWdlKGNhbnZhcyk7CisgICAgICBpZiAoaXNWZXJ0ZXgpIHsKKyAgICAgICAgdmFyIHRl
c3REYXRhID0gZHJhdygKKyAgICAgICAgICAgIGNhbnZhcywgdGVzdFZlcnRleFNoYWRlclNvdXJj
ZSwgcmVmZXJlbmNlRnJhZ21lbnRTaGFkZXJTb3VyY2UpOworICAgICAgfSBlbHNlIHsKKyAgICAg
ICAgdmFyIHRlc3REYXRhID0gZHJhdygKKyAgICAgICAgICAgIGNhbnZhcywgcmVmZXJlbmNlVmVy
dGV4U2hhZGVyU291cmNlLCB0ZXN0RnJhZ21lbnRTaGFkZXJTb3VyY2UpOworICAgICAgfQorICAg
ICAgdmFyIHRlc3RJbWcgPSB3dHUubWFrZUltYWdlKGNhbnZhcyk7CisgICAgICB2YXIgdGVzdFRv
bGVyYW5jZSA9IHNoYWRlckluZm8udG9sZXJhbmNlOworICAgICAgLy8gUHJvdmlkZSBwZXItdGVz
dCB0b2xlcmFuY2Ugc28gdGhhdCB3ZSBjYW4gaW5jcmVhc2UgaXQgb25seSBmb3IgdGhvc2UgZGVz
aXJlZC4KKyAgICAgIGlmICgndG9sZXJhbmNlJyBpbiB0ZXN0c1tpaV0pCisgICAgICAgIHRlc3RU
b2xlcmFuY2UgPSB0ZXN0c1tpaV0udG9sZXJhbmNlIHx8IDA7CisgICAgICByZXBvcnRSZXN1bHRz
KHJlZkRhdGEsIHJlZkltZywgdGVzdERhdGEsIHRlc3RJbWcsIHRlc3RUb2xlcmFuY2UpOworICAg
IH0KKyAgfQorCisgIGZpbmlzaFRlc3QoKTsKKworICBmdW5jdGlvbiByZXBvcnRSZXN1bHRzKHJl
ZkRhdGEsIHJlZkltYWdlLCB0ZXN0RGF0YSwgdGVzdEltYWdlLCB0b2xlcmFuY2UpIHsKKyAgICB2
YXIgc2FtZSA9IHRydWU7CisgICAgZm9yICh2YXIgeXkgPSAwOyB5eSA8IGhlaWdodDsgKyt5eSkg
eworICAgICAgZm9yICh2YXIgeHggPSAwOyB4eCA8IHdpZHRoOyArK3h4KSB7CisgICAgICAgIHZh
ciBvZmZzZXQgPSAoeXkgKiB3aWR0aCArIHh4KSAqIDQ7CisgICAgICAgIHZhciBpbWdPZmZzZXQg
PSAoKGhlaWdodCAtIHl5IC0gMSkgKiB3aWR0aCArIHh4KSAqIDQ7CisgICAgICAgIGltZ0RhdGEu
ZGF0YVtpbWdPZmZzZXQgKyAwXSA9IDA7CisgICAgICAgIGltZ0RhdGEuZGF0YVtpbWdPZmZzZXQg
KyAxXSA9IDA7CisgICAgICAgIGltZ0RhdGEuZGF0YVtpbWdPZmZzZXQgKyAyXSA9IDA7CisgICAg
ICAgIGltZ0RhdGEuZGF0YVtpbWdPZmZzZXQgKyAzXSA9IDI1NTsKKyAgICAgICAgaWYgKE1hdGgu
YWJzKHJlZkRhdGFbb2Zmc2V0ICsgMF0gLSB0ZXN0RGF0YVtvZmZzZXQgKyAwXSkgPiB0b2xlcmFu
Y2UgfHwKKyAgICAgICAgICAgIE1hdGguYWJzKHJlZkRhdGFbb2Zmc2V0ICsgMV0gLSB0ZXN0RGF0
YVtvZmZzZXQgKyAxXSkgPiB0b2xlcmFuY2UgfHwKKyAgICAgICAgICAgIE1hdGguYWJzKHJlZkRh
dGFbb2Zmc2V0ICsgMl0gLSB0ZXN0RGF0YVtvZmZzZXQgKyAyXSkgPiB0b2xlcmFuY2UgfHwKKyAg
ICAgICAgICAgIE1hdGguYWJzKHJlZkRhdGFbb2Zmc2V0ICsgM10gLSB0ZXN0RGF0YVtvZmZzZXQg
KyAzXSkgPiB0b2xlcmFuY2UpIHsKKyAgICAgICAgICBjb25zb2xlLmFwcGVuZENoaWxkKGRvY3Vt
ZW50LmNyZWF0ZVRleHROb2RlKCdhdCAoJyArIHh4ICsgJywnICsgeXkgKyAnKTogcmVmPSgnICsK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJl
ZkRhdGFbb2Zmc2V0ICsgMF0gKyAnLCcgKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgcmVmRGF0YVtvZmZzZXQgKyAxXSArICcsJyArCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWZEYXRh
W29mZnNldCArIDJdICsgJywnICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHJlZkRhdGFbb2Zmc2V0ICsgM10gKyAnKSAgdGVzdD0oJyArCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0
RGF0YVtvZmZzZXQgKyAwXSArICcsJyArCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB0ZXN0RGF0YVtvZmZzZXQgKyAxXSArICcsJyArCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0RGF0
YVtvZmZzZXQgKyAyXSArICcsJyArCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB0ZXN0RGF0YVtvZmZzZXQgKyAzXSArICcpJykpOworICAgICAg
ICAgIGNvbnNvbGUuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYnInKSk7ICAg
ICAgICAgIAorCisKKworICAgICAgICAgIGltZ0RhdGEuZGF0YVtpbWdPZmZzZXRdID0gMjU1Owor
ICAgICAgICAgIHNhbWUgPSBmYWxzZTsKKyAgICAgICAgfQorICAgICAgfQorICAgIH0KKworICAg
IHZhciBkaWZmSW1nID0gbnVsbDsKKyAgICBpZiAoIXNhbWUpIHsKKyAgICAgIGN0eC5wdXRJbWFn
ZURhdGEoaW1nRGF0YSwgMCwgMCk7CisgICAgICBkaWZmSW1nID0gd3R1Lm1ha2VJbWFnZShjYW52
YXMyZCk7CisgICAgfQorCisgICAgdmFyIGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRp
diIpOworICAgIGRpdi5jbGFzc05hbWUgPSAidGVzdGltYWdlcyI7CisgICAgd3R1Lmluc2VydElt
YWdlKGRpdiwgInJlZiIsIHJlZkltZyk7CisgICAgd3R1Lmluc2VydEltYWdlKGRpdiwgInRlc3Qi
LCB0ZXN0SW1nKTsKKyAgICBpZiAoZGlmZkltZykgeworICAgICAgd3R1Lmluc2VydEltYWdlKGRp
diwgImRpZmYiLCBkaWZmSW1nKTsKKyAgICB9CisgICAgZGl2LmFwcGVuZENoaWxkKGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoJ2JyJykpOworCisgICAgY29uc29sZS5hcHBlbmRDaGlsZChkaXYpOwor
CisgICAgaWYgKCFzYW1lKSB7CisgICAgICB0ZXN0RmFpbGVkKCJpbWFnZXMgYXJlIGRpZmZlcmVu
dCIpOworICAgIH0gZWxzZSB7CisgICAgICB0ZXN0UGFzc2VkKCJpbWFnZXMgYXJlIHRoZSBzYW1l
Iik7CisgICAgfQorCisgICAgY29uc29sZS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCdocicpKTsKKyAgfQorCisgIGZ1bmN0aW9uIGRyYXcoY2FudmFzLCB2c1NvdXJjZSwgZnNT
b3VyY2UpIHsKKyAgICB2YXIgcHJvZ3JhbSA9IHd0dS5sb2FkUHJvZ3JhbShnbCwgdnNTb3VyY2Us
IGZzU291cmNlLCB0ZXN0RmFpbGVkKTsKKworICAgIHZhciBwb3NMb2MgPSBnbC5nZXRBdHRyaWJM
b2NhdGlvbihwcm9ncmFtLCAiYVBvc2l0aW9uIik7CisgICAgV2ViR0xUZXN0VXRpbHMuc2V0dXBR
dWFkKGdsLCBncmlkUmVzLCBwb3NMb2MpOworCisgICAgZ2wudXNlUHJvZ3JhbShwcm9ncmFtKTsK
KyAgICBnbC5jbGVhckNvbG9yKDAsIDAsIDEsIDEpOworICAgIGdsLmNsZWFyKGdsLkNPTE9SX0JV
RkZFUl9CSVQgfCBnbC5ERVBUSF9CVUZGRVJfQklUKTsKKyAgICBnbC5kcmF3RWxlbWVudHMoZ2wu
VFJJQU5HTEVTLCBncmlkUmVzICogZ3JpZFJlcyAqIDYsIGdsLlVOU0lHTkVEX1NIT1JULCAwKTsK
KyAgICB3dHUuZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUiwgIm5vIGVycm9ycyBmcm9t
IGRyYXciKTsKKworICAgIHZhciBpbWcgPSBuZXcgVWludDhBcnJheSh3aWR0aCAqIGhlaWdodCAq
IDQpOworICAgIGdsLnJlYWRQaXhlbHMoMCwgMCwgd2lkdGgsIGhlaWdodCwgZ2wuUkdCQSwgZ2wu
VU5TSUdORURfQllURSwgaW1nKTsKKyAgICByZXR1cm4gaW1nOworICB9CisKKyAgZnVuY3Rpb24g
ZHJhd1JlZmVyZW5jZUltYWdlKGNhbnZhcywgdGV4dHVyZSwgaXNWZXJ0ZXgpIHsKKyAgICB2YXIg
cHJvZ3JhbTsKKyAgICBpZiAoaXNWZXJ0ZXgpIHsKKyAgICAgIHZhciBoYWxmVGV4ZWwgPSAwLjUg
LyAoMS4wICsgZ3JpZFJlcyk7CisgICAgICBwcm9ncmFtID0gV2ViR0xUZXN0VXRpbHMuc2V0dXBU
ZXh0dXJlZFF1YWRXaXRoVGV4Q29vcmRzKAorICAgICAgICBnbCwgW2hhbGZUZXhlbCwgaGFsZlRl
eGVsXSwgWzEuMCAtIGhhbGZUZXhlbCwgMS4wIC0gaGFsZlRleGVsXSk7CisgICAgfSBlbHNlIHsK
KyAgICAgIHByb2dyYW0gPSBXZWJHTFRlc3RVdGlscy5zZXR1cFRleHR1cmVkUXVhZChnbCk7Cisg
ICAgfQorCisgICAgZ2wuYWN0aXZlVGV4dHVyZShnbC5URVhUVVJFMCk7CisgICAgZ2wuYmluZFRl
eHR1cmUoZ2wuVEVYVFVSRV8yRCwgdGV4dHVyZSk7CisgICAgdmFyIHRleExvYyA9IGdsLmdldFVu
aWZvcm1Mb2NhdGlvbihwcm9ncmFtLCAidGV4Iik7CisgICAgZ2wudW5pZm9ybTFpKHRleExvYywg
MCk7CisgICAgd3R1LmRyYXdRdWFkKGdsKTsKKyAgICB3dHUuZ2xFcnJvclNob3VsZEJlKGdsLCBn
bC5OT19FUlJPUiwgIm5vIGVycm9ycyBmcm9tIGRyYXciKTsKKworICAgIHZhciBpbWcgPSBuZXcg
VWludDhBcnJheSh3aWR0aCAqIGhlaWdodCAqIDQpOworICAgIGdsLnJlYWRQaXhlbHMoMCwgMCwg
d2lkdGgsIGhlaWdodCwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgaW1nKTsKKyAgICByZXR1
cm4gaW1nOworICB9CisKKyAgLyoqCisgICAqIENyZWF0ZXMgYW5kIHJldHVybnMgYSB0ZXh0dXJl
IGNvbnRhaW5pbmcgdGhlIHJlZmVyZW5jZSBpbWFnZSBmb3IKKyAgICogdGhlIGZ1bmN0aW9uIGJl
aW5nIHRlc3RlZC4gRXhhY3RseSBob3cgdGhlIGZ1bmN0aW9uIGlzIGV2YWx1YXRlZCwKKyAgICog
YW5kIHRoZSBzaXplIG9mIHRoZSByZXR1cm5lZCB0ZXh0dXJlLCBkZXBlbmRzIG9uIHdoZXRoZXIg
d2UgYXJlCisgICAqIHRlc3RpbmcgYSB2ZXJ0ZXggb3IgZnJhZ21lbnQgc2hhZGVyLiBJZiBhIGZy
YWdtZW50IHNoYWRlciwgdGhlCisgICAqIGZ1bmN0aW9uIGlzIGV2YWx1YXRlZCBhdCB0aGUgcGl4
ZWwgY2VudGVycy4gSWYgYSB2ZXJ0ZXggc2hhZGVyLAorICAgKiB0aGUgZnVuY3Rpb24gaXMgZXZh
bHVhdGVkIGF0IHRoZSB0cmlhbmdsZSdzIHZlcnRpY2VzLCBhbmQgdGhlCisgICAqIHJlc3VsdGlu
ZyB0ZXh0dXJlIG11c3QgYmUgb2Zmc2V0IGJ5IGhhbGYgYSB0ZXhlbCBkdXJpbmcKKyAgICogcmVu
ZGVyaW5nLgorICAgKgorICAgKiBAcGFyYW0geyFXZWJHTFJlbmRlcmluZ0NvbnRleHR9IGdsIFRo
ZSBXZWJHTFJlbmRlcmluZ0NvbnRleHQgdG8gdXNlIHRvIGdlbmVyYXRlIHRleHR1cmUgb2JqZWN0
cy4KKyAgICogQHBhcmFtIHshZnVuY3Rpb24obnVtYmVyLG51bWJlcixudW1iZXIsbnVtYmVyKTog
IUFycmF5LjxudW1iZXI+fSBnZW5lcmF0b3IgVGhlIHJlZmVyZW5jZSBpbWFnZSBnZW5lcmF0b3Ig
ZnVuY3Rpb24uCisgICAqIEBwYXJhbSB7bnVtYmVyfSB3aWR0aCBUaGUgd2lkdGggb2YgdGhlIHRl
eHR1cmUgdG8gZ2VuZXJhdGUgaWYgdGVzdGluZyBhIGZyYWdtZW50IHNoYWRlcjsgdGhlIGdyaWQg
cmVzb2x1dGlvbiBpZiB0ZXN0aW5nIGEgdmVydGV4IHNoYWRlci4KKyAgICogQHBhcmFtIHtudW1i
ZXJ9IGhlaWdodCBUaGUgaGVpZ2h0IG9mIHRoZSB0ZXh0dXJlIHRvIGdlbmVyYXRlIGlmIHRlc3Rp
bmcgYSBmcmFnbWVudCBzaGFkZXI7IHRoZSBncmlkIHJlc29sdXRpb24gaWYgdGVzdGluZyBhIHZl
cnRleCBzaGFkZXIuCisgICAqIEBwYXJhbSB7Ym9vbGVhbn0gaXNWZXJ0ZXggVHJ1ZSBpZiBnZW5l
cmF0aW5nIGEgcmVmZXJlbmNlIGltYWdlIGZvciBhIHZlcnRleCBzaGFkZXI7IGZhbHNlIGlmIGZv
ciBhIGZyYWdtZW50IHNoYWRlci4KKyAgICogQHJldHVybiB7IVdlYkdMVGV4dHVyZX0gVGhlIHRl
eHR1cmUgb2JqZWN0IHRoYXQgd2FzIGdlbmVyYXRlZC4KKyAgICovCisgIGZ1bmN0aW9uIGdlbmVy
YXRlUmVmZXJlbmNlVGV4dHVyZSgKKyAgICBnbCwKKyAgICBnZW5lcmF0b3IsCisgICAgd2lkdGgs
CisgICAgaGVpZ2h0LAorICAgIGlzVmVydGV4KSB7CisKKyAgICAvLyBOb3RlOiB0aGUgbWF0aCBp
biB0aGlzIGZ1bmN0aW9uIG11c3QgbWF0Y2ggdGhhdCBpbiB0aGUgdmVydGV4IGFuZAorICAgIC8v
IGZyYWdtZW50IHNoYWRlciB0ZW1wbGF0ZXMgYWJvdmUuCisgICAgZnVuY3Rpb24gY29tcHV0ZVRl
eENvb3JkKHgpIHsKKyAgICAgIHJldHVybiB4ICogMC41ICsgMC41OworICAgIH0KKworICAgIGZ1
bmN0aW9uIGNvbXB1dGVDb2xvcih0ZXhDb29yZFgsIHRleENvb3JkWSkgeworICAgICAgcmV0dXJu
IFsgdGV4Q29vcmRYLAorICAgICAgICAgICAgICAgdGV4Q29vcmRZLAorICAgICAgICAgICAgICAg
dGV4Q29vcmRYICogdGV4Q29vcmRZLAorICAgICAgICAgICAgICAgKDEuMCAtIHRleENvb3JkWCkg
KiB0ZXhDb29yZFkgKiAwLjUgKyAwLjUgXTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBjbGFtcCh2
YWx1ZSwgbWluVmFsLCBtYXhWYWwpIHsKKyAgICAgIHJldHVybiBNYXRoLm1heChtaW5WYWwsIE1h
dGgubWluKHZhbHVlLCBtYXhWYWwpKTsKKyAgICB9CisKKyAgICAvLyBFdmFsdWF0ZXMgdGhlIGZ1
bmN0aW9uIGF0IGNsaXAgY29vcmRpbmF0ZXMgKHB4LHB5KSwgc3RvcmluZyB0aGUKKyAgICAvLyBy
ZXN1bHQgaW4gdGhlIGFycmF5ICJwaXhlbCIuIEVhY2ggY2hhbm5lbCdzIHJlc3VsdCBpcyBjbGFt
cGVkCisgICAgLy8gYmV0d2VlbiAwIGFuZCAyNTUuCisgICAgZnVuY3Rpb24gZXZhbHVhdGVBdENs
aXBDb29yZHMocHgsIHB5LCBwaXhlbCkgeworICAgICAgdmFyIHRjeCA9IGNvbXB1dGVUZXhDb29y
ZChweCk7CisgICAgICB2YXIgdGN5ID0gY29tcHV0ZVRleENvb3JkKHB5KTsKKworICAgICAgdmFy
IGNvbG9yID0gY29tcHV0ZUNvbG9yKHRjeCwgdGN5KTsKKworICAgICAgdmFyIG91dHB1dCA9IGdl
bmVyYXRvcihjb2xvclswXSwgY29sb3JbMV0sIGNvbG9yWzJdLCBjb2xvclszXSk7CisKKyAgICAg
IC8vIE11bHRpcGx5IGJ5IDI1NiB0byBnZXQgZXZlbiBkaXN0cmlidXRpb24gZm9yIGFsbCB2YWx1
ZXMgYmV0d2VlbiAwIGFuZCAxLgorICAgICAgLy8gVXNlIHJvdW5kaW5nIHJhdGhlciB0aGFuIHRy
dW5jYXRpb24gdG8gbW9yZSBjbG9zZWx5IG1hdGNoIHRoZSBHUFUncyBiZWhhdmlvci4KKyAgICAg
IHBpeGVsWzBdID0gY2xhbXAoTWF0aC5yb3VuZCgyNTYgKiBvdXRwdXRbMF0pLCAwLCAyNTUpOwor
ICAgICAgcGl4ZWxbMV0gPSBjbGFtcChNYXRoLnJvdW5kKDI1NiAqIG91dHB1dFsxXSksIDAsIDI1
NSk7CisgICAgICBwaXhlbFsyXSA9IGNsYW1wKE1hdGgucm91bmQoMjU2ICogb3V0cHV0WzJdKSwg
MCwgMjU1KTsKKyAgICAgIHBpeGVsWzNdID0gY2xhbXAoTWF0aC5yb3VuZCgyNTYgKiBvdXRwdXRb
M10pLCAwLCAyNTUpOworICAgIH0KKworICAgIGZ1bmN0aW9uIGZpbGxGcmFnbWVudFJlZmVyZW5j
ZSgpIHsKKyAgICAgIHZhciBkYXRhID0gbmV3IFVpbnQ4QXJyYXkoNCAqIHdpZHRoICogaGVpZ2h0
KTsKKworICAgICAgdmFyIGhvcml6VGV4ZWwgPSAxLjAgLyB3aWR0aDsKKyAgICAgIHZhciB2ZXJ0
VGV4ZWwgPSAxLjAgLyBoZWlnaHQ7CisgICAgICB2YXIgaGFsZkhvcml6VGV4ZWwgPSAwLjUgKiBo
b3JpelRleGVsOworICAgICAgdmFyIGhhbGZWZXJ0VGV4ZWwgPSAwLjUgKiB2ZXJ0VGV4ZWw7CisK
KyAgICAgIHZhciBwaXhlbCA9IG5ldyBBcnJheSg0KTsKKworICAgICAgZm9yICh2YXIgeWkgPSAw
OyB5aSA8IGhlaWdodDsgKyt5aSkgeworICAgICAgICBmb3IgKHZhciB4aSA9IDA7IHhpIDwgd2lk
dGg7ICsreGkpIHsKKyAgICAgICAgICAvLyBUaGUgZnVuY3Rpb24gbXVzdCBiZSBldmFsdWF0ZWQg
YXQgcGl4ZWwgY2VudGVycy4KKworICAgICAgICAgIC8vIENvbXB1dGUgZGVzaXJlZCBwb3NpdGlv
biBpbiBjbGlwIHNwYWNlCisgICAgICAgICAgdmFyIHB4ID0gLTEuMCArIDIuMCAqIChoYWxmSG9y
aXpUZXhlbCArIHhpICogaG9yaXpUZXhlbCk7CisgICAgICAgICAgdmFyIHB5ID0gLTEuMCArIDIu
MCAqIChoYWxmVmVydFRleGVsICsgeWkgKiB2ZXJ0VGV4ZWwpOworCisgICAgICAgICAgZXZhbHVh
dGVBdENsaXBDb29yZHMocHgsIHB5LCBwaXhlbCk7CisgICAgICAgICAgdmFyIGluZGV4ID0gNCAq
ICh3aWR0aCAqIHlpICsgeGkpOworICAgICAgICAgIGRhdGFbaW5kZXggKyAwXSA9IHBpeGVsWzBd
OworICAgICAgICAgIGRhdGFbaW5kZXggKyAxXSA9IHBpeGVsWzFdOworICAgICAgICAgIGRhdGFb
aW5kZXggKyAyXSA9IHBpeGVsWzJdOworICAgICAgICAgIGRhdGFbaW5kZXggKyAzXSA9IHBpeGVs
WzNdOworICAgICAgICB9CisgICAgICB9CisKKyAgICAgIGdsLnRleEltYWdlMkQoZ2wuVEVYVFVS
RV8yRCwgMCwgZ2wuUkdCQSwgd2lkdGgsIGhlaWdodCwgMCwKKyAgICAgICAgICAgICAgICAgICAg
Z2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgZGF0YSk7CisgICAgfQorCisgICAgZnVuY3Rpb24g
ZmlsbFZlcnRleFJlZmVyZW5jZSgpIHsKKyAgICAgIC8vIFdlIGdlbmVyYXRlIGEgdGV4dHVyZSB3
aGljaCBjb250YWlucyB0aGUgZXZhbHVhdGlvbiBvZiB0aGUKKyAgICAgIC8vIGZ1bmN0aW9uIGF0
IHRoZSB2ZXJ0aWNlcyBvZiB0aGUgdHJpYW5nbGUgbWVzaC4gSXQgaXMgZXhwZWN0ZWQKKyAgICAg
IC8vIHRoYXQgdGhlIHdpZHRoIGFuZCB0aGUgaGVpZ2h0IGFyZSBpZGVudGljYWwsIGFuZCBlcXVp
dmFsZW50CisgICAgICAvLyB0byB0aGUgZ3JpZCByZXNvbHV0aW9uLgorICAgICAgaWYgKHdpZHRo
ICE9IGhlaWdodCkgeworICAgICAgICB0aHJvdyAid2lkdGggYW5kIGhlaWdodCBtdXN0IGJlIGVx
dWFsIjsKKyAgICAgIH0KKworICAgICAgdmFyIHRleFNpemUgPSAxICsgd2lkdGg7CisgICAgICB2
YXIgZGF0YSA9IG5ldyBVaW50OEFycmF5KDQgKiB0ZXhTaXplICogdGV4U2l6ZSk7CisKKyAgICAg
IHZhciBzdGVwID0gMi4wIC8gd2lkdGg7CisKKyAgICAgIHZhciBwaXhlbCA9IG5ldyBBcnJheSg0
KTsKKworICAgICAgZm9yICh2YXIgeWkgPSAwOyB5aSA8IHRleFNpemU7ICsreWkpIHsKKyAgICAg
ICAgZm9yICh2YXIgeGkgPSAwOyB4aSA8IHRleFNpemU7ICsreGkpIHsKKyAgICAgICAgICAvLyBU
aGUgZnVuY3Rpb24gaXMgZXZhbHVhdGVkIGF0IHRoZSB0cmlhbmdsZXMnIHZlcnRpY2VzLgorCisg
ICAgICAgICAgLy8gQ29tcHV0ZSBkZXNpcmVkIHBvc2l0aW9uIGluIGNsaXAgc3BhY2UKKyAgICAg
ICAgICB2YXIgcHggPSAtMS4wICsgKHhpICogc3RlcCk7CisgICAgICAgICAgdmFyIHB5ID0gLTEu
MCArICh5aSAqIHN0ZXApOworCisgICAgICAgICAgZXZhbHVhdGVBdENsaXBDb29yZHMocHgsIHB5
LCBwaXhlbCk7CisgICAgICAgICAgdmFyIGluZGV4ID0gNCAqICh0ZXhTaXplICogeWkgKyB4aSk7
CisgICAgICAgICAgZGF0YVtpbmRleCArIDBdID0gcGl4ZWxbMF07CisgICAgICAgICAgZGF0YVtp
bmRleCArIDFdID0gcGl4ZWxbMV07CisgICAgICAgICAgZGF0YVtpbmRleCArIDJdID0gcGl4ZWxb
Ml07CisgICAgICAgICAgZGF0YVtpbmRleCArIDNdID0gcGl4ZWxbM107CisgICAgICAgIH0KKyAg
ICAgIH0KKworICAgICAgZ2wudGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBnbC5SR0JBLCB0
ZXhTaXplLCB0ZXhTaXplLCAwLAorICAgICAgICAgICAgICAgICAgICBnbC5SR0JBLCBnbC5VTlNJ
R05FRF9CWVRFLCBkYXRhKTsKKyAgICB9CisKKyAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgICAvLyBC
b2R5IG9mIGdlbmVyYXRlUmVmZXJlbmNlVGV4dHVyZQorICAgIC8vCisKKyAgICB2YXIgdGV4dHVy
ZSA9IGdsLmNyZWF0ZVRleHR1cmUoKTsKKyAgICBnbC5iaW5kVGV4dHVyZShnbC5URVhUVVJFXzJE
LCB0ZXh0dXJlKTsKKyAgICBnbC50ZXhQYXJhbWV0ZXJpKGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRV
UkVfTUlOX0ZJTFRFUiwgZ2wuTElORUFSKTsKKyAgICBnbC50ZXhQYXJhbWV0ZXJpKGdsLlRFWFRV
UkVfMkQsIGdsLlRFWFRVUkVfTUFHX0ZJTFRFUiwgZ2wuTElORUFSKTsKKyAgICBnbC50ZXhQYXJh
bWV0ZXJpKGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRVUkVfV1JBUF9TLCBnbC5DTEFNUF9UT19FREdF
KTsKKyAgICBnbC50ZXhQYXJhbWV0ZXJpKGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRVUkVfV1JBUF9U
LCBnbC5DTEFNUF9UT19FREdFKTsKKworICAgIGlmIChpc1ZlcnRleCkgeworICAgICAgZmlsbFZl
cnRleFJlZmVyZW5jZSgpOworICAgIH0gZWxzZSB7CisgICAgICBmaWxsRnJhZ21lbnRSZWZlcmVu
Y2UoKTsKKyAgICB9CisKKyAgICByZXR1cm4gdGV4dHVyZTsKKyAgfQorfTsKKworcmV0dXJuIHsK
KyAgLyoqCisgICAqIHJ1bnMgYSBidW5jaCBvZiBHTFNMIHRlc3RzIHVzaW5nIHRoZSBwYXNzZWQg
aW4gcGFyYW1ldGVycworICAgKiBUaGUgcGFyYW1ldGVycyBhcmU6CisgICAqCisgICAqIGZlYXR1
cmU6CisgICAqICAgIHRoZSBuYW1lIG9mIHRoZSBmdW5jdGlvbiBiZWluZyB0ZXN0ZWQgKGVnLCBz
aW4sIGRvdCwKKyAgICogICAgbm9ybWFsaXplKQorICAgKgorICAgKiB0ZXN0RnVuYzoKKyAgICog
ICAgVGhlIHByb3RvdHlwZSBvZiBmdW5jdGlvbiB0byBiZSB0ZXN0ZWQgbm90IGluY2x1ZGluZyB0
aGUKKyAgICogICAgcmV0dXJuIHR5cGUuCisgICAqCisgICAqIGVtdUZ1bmM6CisgICAqICAgIEEg
YmFzZSBmdW5jdGlvbiB0aGF0IGNhbiBiZSB1c2VkIHRvIGdlbmVyYXRlIGVtdWxhdGlvbgorICAg
KiAgICBmdW5jdGlvbnMuIEV4YW1wbGUgZm9yICdjZWlsJworICAgKgorICAgKiAgICAgIGZsb2F0
ICQoZnVuYylfYmFzZShmbG9hdCB2YWx1ZSkgeworICAgKiAgICAgICAgZmxvYXQgbSA9IG1vZCh2
YWx1ZSwgMS4wKTsKKyAgICogICAgICAgIHJldHVybiBtICE9IDAuMCA/ICh2YWx1ZSArIDEuMCAt
IG0pIDogdmFsdWU7CisgICAqICAgICAgfQorICAgKgorICAgKiBhcmdzOgorICAgKiAgICBUaGUg
YXJndW1lbnRzIHRvIHRoZSBmdW5jdGlvbgorICAgKgorICAgKiBiYXNlQXJnczogKG9wdGlvbmFs
KQorICAgKiAgICBUaGUgYXJndW1lbnRzIHdoZW4gYSBiYXNlIGZ1bmN0aW9uIGlzIHVzZWQgdG8g
Y3JlYXRlIGFuCisgICAqICAgIGVtdWxhdGlvbiBmdW5jdGlvbi4gRm9yIGV4YW1wbGUgJ2Zsb2F0
IHNpZ25fYmFzZShmbG9hdCB2KScKKyAgICogICAgaXMgdXNlZCB0byBpbXBsZW1lbmVudCB2ZWMy
IHNpZ25fZW11KHZlYzIgdikuCisgICAqCisgICAqIHNpbXBsZUVtdToKKyAgICogICAgaWYgc3Vw
cGxpZWQsIHRoZSBjb2RlIHRoYXQgY2FuIGJlIHVzZWQgdG8gZ2VuZXJhdGUgYWxsCisgICAqICAg
IGZ1bmN0aW9ucyBmb3IgYWxsIHR5cGVzLgorICAgKgorICAgKiAgICBFeGFtcGxlIGZvciAnbm9y
bWFsaXplJzoKKyAgICoKKyAgICogICAgICAgICQodHlwZSkgJChmdW5jKV9lbXUoJChhcmdzKSkg
eworICAgKiAgICAgICAgICAgcmV0dXJuIHZhbHVlIC8gbGVuZ3RoKHZhbHVlKTsKKyAgICogICAg
ICAgIH0KKyAgICoKKyAgICogZ3JpZFJlczogKG9wdGlvbmFsKQorICAgKiAgICBUaGUgcmVzb2x1
dGlvbiBvZiB0aGUgbWVzaCB0byBnZW5lcmF0ZS4gVGhlIGRlZmF1bHQgaXMgYQorICAgKiAgICAx
eDEgZ3JpZCBidXQgbWFueSB2ZXJ0ZXggc2hhZGVycyBuZWVkIGEgaGlnaGVyIHJlc29sdXRpb24K
KyAgICogICAgb3RoZXJ3aXNlIHRoZSBvbmx5IHZhbHVlcyBwYXNzZWQgaW4gYXJlIHRoZSA0IGNv
cm5lcnMKKyAgICogICAgd2hpY2ggb2Z0ZW4gaGF2ZSB0aGUgc2FtZSB2YWx1ZS4KKyAgICoKKyAg
ICogdGVzdHM6CisgICAqICAgIFRoZSBjb2RlIGZvciBlYWNoIHRlc3QuIEl0IGlzIGFzc3VtZWQg
dGhlIHRlc3RzIGFyZSBmb3IKKyAgICogICAgZmxvYXQsIHZlYzIsIHZlYzMsIHZlYzQgaW4gdGhh
dCBvcmRlci4KKyAgICoKKyAgICogdG9sZXJhbmNlOiAob3B0aW9uYWwpCisgICAqICAgIEFsbG93
IHNvbWUgdG9sZXJhbmNlIGluIHRoZSBjb21wYXJpc29ucy4gVGhlIHRvbGVyYW5jZSBpcyBhcHBs
aWVkIHRvIAorICAgKiAgICBib3RoIHZlcnRleCBhbmQgZnJhZ21lbnQgc2hhZGVycy4gVGhlIGRl
ZmF1bHQgdG9sZXJhbmNlIGlzIDAsIG1lYW5pbmcgCisgICAqICAgIHRoZSB2YWx1ZXMgaGF2ZSB0
byBiZSBpZGVudGljYWwuCisgICAqCisgICAqIGZyYWdtZW50VG9sZXJhbmNlOiAob3B0aW9uYWwp
CisgICAqICAgIFNwZWNpZnkgYSB0b2xlcmFuY2Ugd2hpY2ggb25seSBhcHBsaWVzIHRvIGZyYWdt
ZW50IHNoYWRlcnMuIFRoZSAKKyAgICogICAgZnJhZ21lbnQtb25seSB0b2xlcmFuY2Ugd2lsbCBv
dmVycmlkZSB0aGUgc2hhcmVkIHRvbGVyYW5jZSBmb3IgCisgICAqICAgIGZyYWdtZW50IHNoYWRl
cnMgaWYgYm90aCBhcmUgc3BlY2lmaWVkLiBGcmFnbWVudCBzaGFkZXJzIHVzdWFsbHkKKyAgICog
ICAgdXNlIG1lZGl1bXAgZmxvYXQgcHJlY2lzaW9uIHNvIHRoZXkgc29tZXRpbWVzIHJlcXVpcmUg
aGlnaGVyIHRvbGVyYW5jZQorICAgKiAgICB0aGFuIHZlcnRleCBzaGFkZXJzIHdoaWNoIHVzZSBo
aWdocCBieSBkZWZhdWx0LgorICAgKi8KKyAgcnVuRmVhdHVyZVRlc3Q6IHJ1bkZlYXR1cmVUZXN0
LAorCisgIC8qCisgICAqIFJ1bnMgYSBidW5jaCBvZiBHTFNMIHRlc3RzIHVzaW5nIHRoZSBwYXNz
ZWQgaW4gcGFyYW1ldGVycworICAgKgorICAgKiBUaGUgcGFyYW1ldGVycyBhcmU6CisgICAqCisg
ICAqIHRlc3RzOgorICAgKiAgICBBcnJheSBvZiB0ZXN0cy4gRm9yIGVhY2ggdGVzdCB0aGUgZm9s
bG93aW5nIHBhcmFtZXRlcnMgYXJlIGV4cGVjdGVkCisgICAqCisgICAqICAgIG5hbWU6CisgICAq
ICAgICAgIHNvbWUgZGVzY3JpcHRpb24gb2YgdGhlIHRlc3QKKyAgICogICAgcmVmZXJlbmNlOgor
ICAgKiAgICAgICBwYXJhbWV0ZXJzIGZvciB0aGUgcmVmZXJlbmNlIHNoYWRlciAoc2VlIGJlbG93
KQorICAgKiAgICB0ZXN0OgorICAgKiAgICAgICBwYXJhbWV0ZXJzIGZvciB0aGUgdGVzdCBzaGFk
ZXIgKHNlZSBiZWxvdykKKyAgICoKKyAgICogICAgVGhlIHBhcmFtZXRlciBmb3IgdGhlIHJlZmVy
ZW5jZSBhbmQgdGVzdCBzaGFkZXJzIGFyZQorICAgKgorICAgKiAgICBzaGFkZXI6IHRoZSBHTFNM
IGZvciB0aGUgc2hhZGVyCisgICAqICAgIHN1YnM6IGFueSBzdWJzdGl0dXRpb25zIHlvdSB3aXNo
IHRvIGRlZmluZSBmb3IgdGhlIHNoYWRlci4KKyAgICoKKyAgICogICAgRWFjaCBzaGFkZXIgaXMg
Y3JlYXRlZCBmcm9tIGEgYmFzaWMgdGVtcGxhdGUgdGhhdAorICAgKiAgICBkZWZpbmVzIGFuIGlu
cHV0IGFuZCBhbiBvdXRwdXQuIFlvdSBjYW4gc2VlIHRoZQorICAgKiAgICB0ZW1wbGF0ZXMgYXQg
dGhlIHRvcCBvZiB0aGlzIGZpbGUuIFRoZSBpbnB1dCBhbmQgb3V0cHV0CisgICAqICAgIGNoYW5n
ZSBkZXBlbmRpbmcgb24gd2hldGhlciBvciBub3Qgd2UgYXJlIGdlbmVyYXRpbmcKKyAgICogICAg
YSB2ZXJ0ZXggb3IgZnJhZ21lbnQgc2hhZGVyLgorICAgKgorICAgKiAgICBBbGwgdGhpcyBjb2Rl
IGZ1bmN0aW9uIGRvZXMgaXMgYSBidW5jaCBvZiBzdHJpbmcgc3Vic3RpdHV0aW9ucy4KKyAgICog
ICAgQSBzdWJzdGl0dXRpb24gaXMgZGVmaW5lZCBieSAkKG5hbWUpLiBJZiBuYW1lIGlzIGZvdW5k
IGluCisgICAqICAgIHRoZSAnc3VicycgcGFyYW1ldGVyIGl0IGlzIHJlcGxhY2VkLiA0IHNwZWNp
YWwgbmFtZXMgZXhpc3QuCisgICAqCisgICAqICAgICdpbnB1dCcgdGhlIGlucHV0IHRvIHlvdXIg
R0xTTC4gQWx3YXlzIGEgdmVjNC4gQWxsIGNoYW5nZQorICAgKiAgICBmcm9tIDAgdG8gMSBvdmVy
IHRoZSBxdWFkIHRvIGJlIGRyYXduLgorICAgKgorICAgKiAgICAnb3V0cHV0JyB0aGUgb3V0cHV0
IGNvbG9yLiBBbHNvIGEgdmVjNAorICAgKgorICAgKiAgICAnZW11JyBhIHBsYWNlIHRvIGluc2Vy
dCBleHRyYSBzdHVmZgorICAgKiAgICAnZXh0cmEnIGEgcGxhY2UgdG8gaW5zZXJ0IGV4dHJhIHN0
dWZmLgorICAgKgorICAgKiAgICBZb3UgY2FuIHRoaW5rIG9mIHRoZSB0ZW1wbGF0ZXMgbGlrZSB0
aGlzCisgICAqCisgICAqICAgICAgICQoZXh0cmEpCisgICAqICAgICAgICQoZW11KQorICAgKgor
ICAgKiAgICAgICB2b2lkIG1haW4oKSB7CisgICAqICAgICAgICAgIC8vIGRvIG1hdGggdG8gY2Fs
Y3VsYXRlIGlucHV0CisgICAqICAgICAgICAgIC4uLgorICAgKgorICAgKiAgICAgICAgICAkKHNo
YWRlcikKKyAgICogICAgICAgfQorICAgKgorICAgKiAgICBZb3VyIHNoYWRlciBmaXJzdCBoYXMg
YW55IHN1YnMgeW91IHByb3ZpZGVkIGFwcGxpZWQgYXMgd2VsbAorICAgKiAgICBhcyAnaW5wdXQn
IGFuZCAnb3V0cHV0JworICAgKgorICAgKiAgICBJdCBpcyB0aGVuIGluc2VydGVkIGludG8gdGhl
IHRlbXBsYXRlIHdoaWNoIGlzIGFsc28gcHJvdmlkZWQKKyAgICogICAgd2l0aCB5b3VyIHN1YnMu
CisgICAqCisgICAqIGdyaWRSZXM6IChvcHRpb25hbCkKKyAgICogICAgVGhlIHJlc29sdXRpb24g
b2YgdGhlIG1lc2ggdG8gZ2VuZXJhdGUuIFRoZSBkZWZhdWx0IGlzIGEKKyAgICogICAgMXgxIGdy
aWQgYnV0IG1hbnkgdmVydGV4IHNoYWRlcnMgbmVlZCBhIGhpZ2hlciByZXNvbHV0aW9uCisgICAq
ICAgIG90aGVyd2lzZSB0aGUgb25seSB2YWx1ZXMgcGFzc2VkIGluIGFyZSB0aGUgNCBjb3JuZXJz
CisgICAqICAgIHdoaWNoIG9mdGVuIGhhdmUgdGhlIHNhbWUgdmFsdWUuCisgICAqCisgICAqIHRv
bGVyYW5jZTogKG9wdGlvbmFsKQorICAgKiAgICBBbGxvdyBzb21lIHRvbGVyYW5jZSBpbiB0aGUg
Y29tcGFyaXNvbnMuIFRoZSB0b2xlcmFuY2UgaXMgYXBwbGllZCB0bworICAgKiAgICBib3RoIHZl
cnRleCBhbmQgZnJhZ21lbnQgc2hhZGVycy4gVGhlIGRlZmF1bHQgdG9sZXJhbmNlIGlzIDAsIG1l
YW5pbmcKKyAgICogICAgdGhlIHZhbHVlcyBoYXZlIHRvIGJlIGlkZW50aWNhbC4KKyAgICoKKyAg
ICogZnJhZ21lbnRUb2xlcmFuY2U6IChvcHRpb25hbCkKKyAgICogICAgU3BlY2lmeSBhIHRvbGVy
YW5jZSB3aGljaCBvbmx5IGFwcGxpZXMgdG8gZnJhZ21lbnQgc2hhZGVycy4gVGhlCisgICAqICAg
IGZyYWdtZW50LW9ubHkgdG9sZXJhbmNlIHdpbGwgb3ZlcnJpZGUgdGhlIHNoYXJlZCB0b2xlcmFu
Y2UgZm9yCisgICAqICAgIGZyYWdtZW50IHNoYWRlcnMgaWYgYm90aCBhcmUgc3BlY2lmaWVkLiBG
cmFnbWVudCBzaGFkZXJzIHVzdWFsbHkKKyAgICogICAgdXNlIG1lZGl1bXAgZmxvYXQgcHJlY2lz
aW9uIHNvIHRoZXkgc29tZXRpbWVzIHJlcXVpcmUgaGlnaGVyIHRvbGVyYW5jZQorICAgKiAgICB0
aGFuIHZlcnRleCBzaGFkZXJzIHdoaWNoIHVzZSBoaWdocC4KKyAgICovCisgIHJ1bkJhc2ljVGVz
dDogcnVuQmFzaWNUZXN0LAorCisgIC8qKgorICAgKiBSdW5zIGEgYnVuY2ggb2YgR0xTTCB0ZXN0
cyB1c2luZyB0aGUgcGFzc2VkIGluIHBhcmFtZXRlcnMuIFRoZQorICAgKiBleHBlY3RlZCByZXN1
bHRzIGFyZSBjb21wdXRlZCBhcyBhIHJlZmVyZW5jZSBpbWFnZSBpbiBKYXZhU2NyaXB0CisgICAq
IGluc3RlYWQgb2Ygb24gdGhlIEdQVS4gVGhlIHBhcmFtZXRlcnMgYXJlOgorICAgKgorICAgKiBm
ZWF0dXJlOgorICAgKiAgICB0aGUgbmFtZSBvZiB0aGUgZnVuY3Rpb24gYmVpbmcgdGVzdGVkIChl
Zywgc2luLCBkb3QsCisgICAqICAgIG5vcm1hbGl6ZSkKKyAgICoKKyAgICogdGVzdEZ1bmM6Cisg
ICAqICAgIFRoZSBwcm90b3R5cGUgb2YgZnVuY3Rpb24gdG8gYmUgdGVzdGVkIG5vdCBpbmNsdWRp
bmcgdGhlCisgICAqICAgIHJldHVybiB0eXBlLgorICAgKgorICAgKiBhcmdzOgorICAgKiAgICBU
aGUgYXJndW1lbnRzIHRvIHRoZSBmdW5jdGlvbgorICAgKgorICAgKiBncmlkUmVzOiAob3B0aW9u
YWwpCisgICAqICAgIFRoZSByZXNvbHV0aW9uIG9mIHRoZSBtZXNoIHRvIGdlbmVyYXRlLiBUaGUg
ZGVmYXVsdCBpcyBhCisgICAqICAgIDF4MSBncmlkIGJ1dCBtYW55IHZlcnRleCBzaGFkZXJzIG5l
ZWQgYSBoaWdoZXIgcmVzb2x1dGlvbgorICAgKiAgICBvdGhlcndpc2UgdGhlIG9ubHkgdmFsdWVz
IHBhc3NlZCBpbiBhcmUgdGhlIDQgY29ybmVycworICAgKiAgICB3aGljaCBvZnRlbiBoYXZlIHRo
ZSBzYW1lIHZhbHVlLgorICAgKgorICAgKiB0ZXN0czoKKyAgICogICAgQXJyYXkgb2YgdGVzdHMu
IEl0IGlzIGFzc3VtZWQgdGhlIHRlc3RzIGFyZSBmb3IgZmxvYXQsIHZlYzIsCisgICAqICAgIHZl
YzMsIHZlYzQgaW4gdGhhdCBvcmRlci4gRm9yIGVhY2ggdGVzdCB0aGUgZm9sbG93aW5nCisgICAq
ICAgIHBhcmFtZXRlcnMgYXJlIGV4cGVjdGVkOgorICAgKgorICAgKiAgICAgICBzb3VyY2U6IHRo
ZSBHTFNMIHNvdXJjZSBjb2RlIGZvciB0aGUgdGVzdHMKKyAgICoKKyAgICogICAgICAgZ2VuZXJh
dG9yOiBhIEphdmFTY3JpcHQgZnVuY3Rpb24gdGFraW5nIGZvdXIgcGFyYW1ldGVycworICAgKiAg
ICAgICB3aGljaCBldmFsdWF0ZXMgdGhlIHNhbWUgZnVuY3Rpb24gYXMgdGhlIEdMU0wgc291cmNl
LAorICAgKiAgICAgICByZXR1cm5pbmcgaXRzIHJlc3VsdCBhcyBhIG5ld2x5IGFsbG9jYXRlZCBh
cnJheS4KKyAgICoKKyAgICogICAgICAgdG9sZXJhbmNlOiAob3B0aW9uYWwpIGEgcGVyLXRlc3Qg
dG9sZXJhbmNlLgorICAgKgorICAgKiBleHRyYTogKG9wdGlvbmFsKQorICAgKiAgICBFeHRyYSBH
TFNMIGNvZGUgaW5zZXJ0ZWQgYXQgdGhlIHRvcCBvZiBlYWNoIHRlc3QncyBzaGFkZXIuCisgICAq
IAorICAgKiB0b2xlcmFuY2U6IChvcHRpb25hbCkKKyAgICogICAgQWxsb3cgc29tZSB0b2xlcmFu
Y2UgaW4gdGhlIGNvbXBhcmlzb25zLiBUaGUgdG9sZXJhbmNlIGlzIGFwcGxpZWQgdG8gCisgICAq
ICAgIGJvdGggdmVydGV4IGFuZCBmcmFnbWVudCBzaGFkZXJzLiBUaGUgZGVmYXVsdCB0b2xlcmFu
Y2UgaXMgMCwgbWVhbmluZyAKKyAgICogICAgdGhlIHZhbHVlcyBoYXZlIHRvIGJlIGlkZW50aWNh
bC4KKyAgICoKKyAgICogZnJhZ21lbnRUb2xlcmFuY2U6IChvcHRpb25hbCkKKyAgICogICAgU3Bl
Y2lmeSBhIHRvbGVyYW5jZSB3aGljaCBvbmx5IGFwcGxpZXMgdG8gZnJhZ21lbnQgc2hhZGVycy4g
VGhlIAorICAgKiAgICBmcmFnbWVudC1vbmx5IHRvbGVyYW5jZSB3aWxsIG92ZXJyaWRlIHRoZSBz
aGFyZWQgdG9sZXJhbmNlIGZvciAKKyAgICogICAgZnJhZ21lbnQgc2hhZGVycyBpZiBib3RoIGFy
ZSBzcGVjaWZpZWQuIEZyYWdtZW50IHNoYWRlcnMgdXN1YWxseQorICAgKiAgICB1c2UgbWVkaXVt
cCBmbG9hdCBwcmVjaXNpb24gc28gdGhleSBzb21ldGltZXMgcmVxdWlyZSBoaWdoZXIgdG9sZXJh
bmNlCisgICAqICAgIHRoYW4gdmVydGV4IHNoYWRlcnMgd2hpY2ggdXNlIGhpZ2hwLgorICAgKi8K
KyAgcnVuUmVmZXJlbmNlSW1hZ2VUZXN0OiBydW5SZWZlcmVuY2VJbWFnZVRlc3QsCisKKyAgbm9u
ZTogZmFsc2UKK307CisKK30oKSk7CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jl
c291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3Jlc291cmNlcy9ncmF5LXJhbXAt
MjU2LXdpdGgtMTI4LWFscGhhLnBuZyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJn
bF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3Jlc291cmNlcy9ncmF5LXJhbXAtMjU2LXdpdGgtMTI4
LWFscGhhLnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xODNlNTVkZTIxOTBiYjYyNjEyNTEzYzNlNmRkZTY3NGRm
MDAyYjc5CkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCA4MQp6Y21lQVNATj8ob2xIeWB1VkJxIWlh
MHl+eVU8NUs1NyYrTDBxK3cpMUlncGFAYmE0IV49dUoqWk5YU1M/TmxCNDcKZXkwfTg1LS1kX2I/
PnB4RFZDbWJBQVJWNXJlbEZ7cjV9RSpvZ0E9NnkKCmxpdGVyYWwgMApIY21WP2QwMDAwMQoKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2Nv
bmZvcm1hbmNlL3Jlc291cmNlcy9ncmF5LXJhbXAtMjU2LnBuZyBiL0xheW91dFRlc3RzL3dlYmds
L3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3Jlc291cmNlcy9ncmF5LXJh
bXAtMjU2LnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wMWU0ODZiNWE5MmU0MDUxNThjZjM4ZjZkZmJiNDQ0NDBm
ZGZiZDZkCkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCA3OAp6Y21lQVNATj8ob2xIeWB1VkJxIWlh
MHl+eVU8NUs1NyYrTDBxK3cpMUlnaz9kYmE0IV49dUoqWjAwSjQtI1IoIWsKYjl0O2U+M1lxX1hP
biVTP1JLVmNyPmdUZX5EV000ZktTZEo4CgpsaXRlcmFsIDAKSGNtVj9kMDAwMDEKCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3Jt
YW5jZS9yZXNvdXJjZXMvZ3JheS1yYW1wLWRlZmF1bHQtZ2FtbWEucG5nIGIvTGF5b3V0VGVzdHMv
d2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVzb3VyY2VzL2dy
YXktcmFtcC1kZWZhdWx0LWdhbW1hLnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hNWE4OWJlYjcwOWI0ZjBjODc4
NzcyNjZkYWYyODQxNjViMjFlYTFlCkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCAxMjMKemNtZUFT
QE4/KG9sSHlgdVZCcSFpYTB5fnlVPDVLNTcmK0wwcSt3KTFJZ29QbGJhNCErbjNKNTYwMGIjMURK
bXwpCnpMZUE7SmhtV2hlXn5sJlYzSW9CO1BkQT5kJn4oZVMrazBrN05STmJOKHZ6MzA5PV58KUpX
KTtodFlLISFATSQ5UgpVS2pWdW0mcD44LXk4NX1TYjRxOWUwRDdiKT8qSVMqCgpsaXRlcmFsIDAK
SGNtVj9kMDAwMDEKCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2Vi
Z2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZXNvdXJjZXMvZ3JheS1yYW1wLWdhbW1hMC4xLnBu
ZyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1h
bmNlL3Jlc291cmNlcy9ncmF5LXJhbXAtZ2FtbWEwLjEucG5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYzN2M3OTJk
YTAzYmE2MzNiNzA4YTNhODA4NjAxN2ZlOTFlMWViNDMKR0lUIGJpbmFyeSBwYXRjaApsaXRlcmFs
IDEzMwp6Y21lQVNATj8ob2xIeWB1VkJxIWlhMHl+eVU8NUs1NyYrTDBxK3cpMUlnbnlXY2wzMitV
e0R3RTJ8d2ZtPGxBXzwKeklFR2w5UEVLSzlhI0spbjVmKll6N2UwSmspdlpVeW1RaCQ+Zl9BQGUt
PmpyNyZufTwjQGpBTGYoRUpPX2w0WnB+CmdwTSpBNmlwLVdfXyV4Q0UtLTs8dUxGT2BleTg1fVNi
NHE5ZTBKU2tEQ2piQmQKCmxpdGVyYWwgMApIY21WP2QwMDAwMQoKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3Jlc291
cmNlcy9ncmF5LXJhbXAtZ2FtbWExLjAucG5nIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2Vz
L3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVzb3VyY2VzL2dyYXktcmFtcC1nYW1tYTEu
MC5wbmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNDBjZWViMDQ2NTE2OGQxYWUzMjE5MDcyMGZkODQ0YjNhMWJkOWIw
YgpHSVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwgMTMzCnpjbWVBU0BOPyhvbEh5YHVWQnEhaWEweX55
VTw1SzU3JitMMHErdykxSWdueVdjbDMyK1V+RjRwXytuWi1rWjxHWgp6O3V2Q2FJeXJAYiR4VDdR
TU9lcj1VSEleRVJrdDEpVFNqNGwzRUtVPmVZMjlUSmlDMF8kTHJfe0xHdiN4T09fUH0KZ2VHPU1P
REtjQXo7blBJc2U9RFh1MSkwbT4+RlZkUSZNQmJAMDRTRnliTn5QVgoKbGl0ZXJhbCAwCkhjbVY/
ZDAwMDAxCgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rl
c3RfZmlsZXMvY29uZm9ybWFuY2UvcmVzb3VyY2VzL2dyYXktcmFtcC1nYW1tYTIuMC5wbmcgYi9M
YXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9y
ZXNvdXJjZXMvZ3JheS1yYW1wLWdhbW1hMi4wLnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43M2ZjZjdiNDFiNmI0
M2QyNzM1NDlmNmIxMDMwMDJkYWEyMjZlNGU2CkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCAxMzMK
emNtZUFTQE4/KG9sSHlgdVZCcSFpYTB5fnlVPDVLNTcmK0wwcSt3KTFJZ255V2NsMzIrVkNIcjM1
YDFfUCRoWXh5CnphU1g5SW90KG5KPGZmcURBfXIqYkVgMGQ3cyN9a1lFdSpsJjFucXZgekZBM0Vv
P1NsZTw4XmR9cCFwWTtDQ2lGfgpnSl8mOEM2cXpsPEBNJDlSelpGeFNnM00qYGJvRnl0PWFrUnsw
TkZuI2xtR3cjCgpsaXRlcmFsIDAKSGNtVj9kMDAwMDEKCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZXNvdXJjZXMv
Z3JheS1yYW1wLWdhbW1hNC4wLnBuZyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJn
bF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3Jlc291cmNlcy9ncmF5LXJhbXAtZ2FtbWE0LjAucG5n
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmQ4NzhmMWU5NjdkYzRkZDI2ZDhlM2UyYjVkNmNkOWUzYmQyZWYwMGYKR0lU
IGJpbmFyeSBwYXRjaApsaXRlcmFsIDEzMwp6Y21lQVNATj8ob2xIeWB1VkJxIWlhMHl+eVU8NUs1
NyYrTDBxK3cpMUlnbnlXY2wzMitWM1RVTldTaHpZPGxBXzwKeklFR2w5UEVLSzlhI0spbjVmKll6
N2UwSmspdlpVeW1RaCQ+Zl9BQGUtPmpyNyZufTwjQGpBTGYoRUpPX2w0WnB+CmdwTSpBNmlwLVdf
XyV4Q0UtLTs8dUxGT2BleTg1fVNiNHE5ZTBMUjU5UnsjSjIKCmxpdGVyYWwgMApIY21WP2QwMDAw
MQoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2Zp
bGVzL2NvbmZvcm1hbmNlL3Jlc291cmNlcy9ncmF5LXJhbXAtZ2FtbWE5LjAucG5nIGIvTGF5b3V0
VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVzb3Vy
Y2VzL2dyYXktcmFtcC1nYW1tYTkuMC5wbmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGE2OWVkMWYzZDMxNjhjZTM0
NjJkMTkzMjM0ZWMzMDlkNzZlMDdjMQpHSVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwgMTMzCnpjbWVB
U0BOPyhvbEh5YHVWQnEhaWEweX55VTw1SzU3JitMMHErdykxSWdueVdjbDMyKztOODYtTkpfbUck
aFl4eQp6YVNYOUlvdChuSjxmZnFEQX1yKmJFYDBkN3MjfWtZRXUqbCYxbnF2YHpGQTNFbz9TbGU8
OF5kfXAhcFk7Q0NpRn4KZ0pfJjhDNnF6bDxATSQ5UnpaRnhTZzNNKmBib0Z5dD1ha1J7MFBHa2h6
V0BMTAoKbGl0ZXJhbCAwCkhjbVY/ZDAwMDAxCgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2Vi
Z2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVzb3VyY2VzL2dyYXkt
cmFtcC5wbmcgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9j
b25mb3JtYW5jZS9yZXNvdXJjZXMvZ3JheS1yYW1wLnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hNWE4OWJlYjcw
OWI0ZjBjODc4NzcyNjZkYWYyODQxNjViMjFlYTFlCkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCAx
MjMKemNtZUFTQE4/KG9sSHlgdVZCcSFpYTB5fnlVPDVLNTcmK0wwcSt3KTFJZ29QbGJhNCErbjNK
NTYwMGIjMURKbXwpCnpMZUE7SmhtV2hlXn5sJlYzSW9CO1BkQT5kJn4oZVMrazBrN05STmJOKHZ6
MzA5PV58KUpXKTtodFlLISFATSQ5UgpVS2pWdW0mcD44LXk4NX1TYjRxOWUwRDdiKT8qSVMqCgps
aXRlcmFsIDAKSGNtVj9kMDAwMDEKCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNv
dXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZXNvdXJjZXMvZ3JlZW4tMngyLTE2
Yml0LnBuZyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2Nv
bmZvcm1hbmNlL3Jlc291cmNlcy9ncmVlbi0yeDItMTZiaXQucG5nCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdmY2I5
Njk2MGUxNDJjY2NhNDlmNDQ3NTVkNjI5NDM1MmNhZjBlNDIKR0lUIGJpbmFyeSBwYXRjaApsaXRl
cmFsIDEzNAp6Y21lQVNATj8ob2xIeWB1VkJxIWlhMHZwXk9kdT0oQkc8YU84Mn5CSDAqfWFJQW5n
SWhaWVEodEshUmxqal9FKWUKenRlUFE5cj4rNldRVEI5azRCQHoqezZ1OE0tUXghaWUzPD1eb3Rh
dHFiWWg9QjReS3s2ZVZzQVR4SlZ7O2NtOUdEClFEV0d4JlBnZyZlYnhzTFEwR1VEX0YjckduCgps
aXRlcmFsIDAKSGNtVj9kMDAwMDEKCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNv
dXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZXNvdXJjZXMvaW50QXJyYXlVbmlm
b3JtU2hhZGVyLnZlcnQgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9m
aWxlcy9jb25mb3JtYW5jZS9yZXNvdXJjZXMvaW50QXJyYXlVbmlmb3JtU2hhZGVyLnZlcnQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZDgyMDc0ZTQ3MzcwMTFlMzgyMDJhNjNjNGFjOTY2YzIzMTBlYTAwYwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL3Jlc291cmNlcy9pbnRBcnJheVVuaWZvcm1TaGFkZXIudmVydApAQCAtMCww
ICsxLDggQEAKK3VuaWZvcm0gaW50IGl2YWw7Cit1bmlmb3JtIGludCBpdmFsMlsyXTsKKwordm9p
ZCBtYWluKCkKK3sKKyAgICBpbnQgc3VtID0gaXZhbCArIGl2YWwyWzBdICsgaXZhbDJbMV07Cisg
ICAgZ2xfUG9zaXRpb24gPSB2ZWM0KHN1bSwgMC4wLCAwLjAsIDEuMCk7Cit9CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5j
ZS9yZXNvdXJjZXMvaW50VW5pZm9ybVNoYWRlci52ZXJ0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVz
b3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVzb3VyY2VzL2ludFVuaWZvcm1T
aGFkZXIudmVydApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wNTFjMDVlMmI4NTgxMDQwZDIzZWMwYWVkYzY4MzJkYzEz
OTg2NzVhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVzb3VyY2VzL2ludFVuaWZvcm1TaGFkZXIudmVy
dApAQCAtMCwwICsxLDQzIEBACisvKgorICogQ29weXJpZ2h0IChjKSAyMDA5IFRoZSBDaHJvbWl1
bSBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICog
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQor
ICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgKiBOZWl0
aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250
cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2
ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4g
cGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZ
UklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiBBUyBJUyBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8s
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQor
ICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyovCisKK3VuaWZvcm0gaW50IGl2YWw7Cit1bmlmb3JtIGl2ZWMyIGl2
YWwyOwordW5pZm9ybSBpdmVjMyBpdmFsMzsKK3VuaWZvcm0gaXZlYzQgaXZhbDQ7CisKK3ZvaWQg
bWFpbigpCit7CisgICAgaW50IHN1bSA9IGl2YWwKKyAgICAgICAgICAgICsgaXZhbDJbMF0gKyBp
dmFsMlsxXQorICAgICAgICAgICAgKyBpdmFsM1swXSArIGl2YWwzWzFdICsgaXZhbDNbMl0KKyAg
ICAgICAgICAgICsgaXZhbDRbMF0gKyBpdmFsNFsxXSArIGl2YWw0WzJdICsgaXZhbDRbM107Cisg
ICAgZ2xfUG9zaXRpb24gPSB2ZWM0KHN1bSwgMC4wLCAwLjAsIDEuMCk7Cit9CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5j
ZS9yZXNvdXJjZXMvbWF0VW5pZm9ybVNoYWRlci52ZXJ0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVz
b3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVzb3VyY2VzL21hdFVuaWZvcm1T
aGFkZXIudmVydApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMjNhNGJlMDNiYzgwNTgzMjg4OWQ3NGZlZTFmZGU3OTcx
ODQxNzMxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVzb3VyY2VzL21hdFVuaWZvcm1TaGFkZXIudmVy
dApAQCAtMCwwICsxLDQwIEBACisvKgorICogQ29weXJpZ2h0IChjKSAyMDA5IFRoZSBDaHJvbWl1
bSBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICog
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQor
ICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgKiBOZWl0
aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250
cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2
ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4g
cGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZ
UklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiBBUyBJUyBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8s
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQor
ICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCit1bmlmb3JtIG1hdDIgbXZhbDI7Cit1bmlmb3JtIG1hdDMg
bXZhbDM7Cit1bmlmb3JtIG1hdDQgbXZhbDQ7CisKK3ZvaWQgbWFpbigpCit7CisgICAgZ2xfUG9z
aXRpb24gPSB2ZWM0KG12YWwyICogdmVjMigxLjAsIDIuMCksIDAuMCwgMC4wKQorICAgICAgICAg
ICAgKyB2ZWM0KG12YWwzICogdmVjMygxLjAsIDIuMCwgMy4wKSwgMC4wKQorICAgICAgICAgICAg
KyBtdmFsNCAqIHZlYzQoMS4wLCAyLjAsIDMuMCwgNC4wKTsKK30KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3Jlc291
cmNlcy9ub29wVW5pZm9ybVNoYWRlci5mcmFnIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2Vz
L3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVzb3VyY2VzL25vb3BVbmlmb3JtU2hhZGVy
LmZyYWcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uYjJkZmM5ZjFkNGVkODM3NGMxMzA1MDFhNTJhYjI1OTlhMzc5ZjUy
ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90
ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3Jlc291cmNlcy9ub29wVW5pZm9ybVNoYWRlci5mcmFnCkBA
IC0wLDAgKzEsMzQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKGMpIDIwMDkgVGhlIENocm9taXVtIEF1
dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgKiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAqIE5laXRoZXIg
dGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1
dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBm
cm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJt
aXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdI
VCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqIEFTIElTIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisg
KiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
VEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorKi8KKwordm9pZCBtYWluKCkKK3sKKyAgICBnbF9GcmFnQ29sb3IgPSB2ZWM0
KDAuMCwgMC4wLCAwLjAsIDEuMCk7Cit9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9y
ZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZXNvdXJjZXMvbm9vcFVuaWZv
cm1TaGFkZXIudmVydCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2Zp
bGVzL2NvbmZvcm1hbmNlL3Jlc291cmNlcy9ub29wVW5pZm9ybVNoYWRlci52ZXJ0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyMWU0NDBkNGMyNjM3NDQ0YWZlM2NiNTg3YWEzYjhiZGZiYWMwY2QKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS9yZXNvdXJjZXMvbm9vcFVuaWZvcm1TaGFkZXIudmVydApAQCAtMCwwICsxLDQgQEAK
K3ZvaWQgbWFpbigpCit7CisgICAgZ2xfUG9zaXRpb24gPSB2ZWM0KDAuMCwgMC4wLCAwLjAsIDEu
MCk7Cit9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9jb25mb3JtYW5jZS9yZXNvdXJjZXMvbnBvdC12aWRlby5tcDQgYi9MYXlvdXRUZXN0
cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZXNvdXJjZXMv
bnBvdC12aWRlby5tcDQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTlmNWY3NzRhNzgzYjQ1OTM4NTQ1MWI0YzVkZjIz
ODAwMWNiOWYxZApHSVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwgMzgyMTUKemNtZUk1ZVEqQHo5bWxg
QmNZI1g/YTB3QSZOTzNPPjVIWlN1dV82T3heV3FFZExDflVOQSY+eCh5cVA8cTtAZ0huCno1VVZw
LTk2TH1iIUQlVjklRTBKUWJoSkg8UmRDU3koeTZ4UGszJX0wUi1HfGdNYDxWWmBoOUw9dmJYTkVO
cmNSKAp6emkwQng/KDttbSZ2WDBpXkxjKkg/fDF2JDA/MXQqeWAjQ0l4biF5fjR2Vz5jRjRFS2hB
aDVjbndpYW1uTHFrbjwKejZ3cWhaLWZ4KiQqVkkqZFlKV1M1QmMxdjFQWHg+KkBFP2p7VWZyZWxM
bXZsKGVpZWomMFpANkgmJSh3fDFnXkVQCnpkSHUwdzFiK1o2cVlBOy1vQFR9LW1WY3stdChVMGAz
KStZPHZMK2x8Yy0kNHYtMX5WKGQ+UjReRUxpKUlVSlkjagp6PChpTHhpV2lhQXt1cj9KNyY0MkBJ
RT4jdyZ1Sz8hUGg8cjJWUjN9IUt0S1BwRndabkNZe15BbmBeZ1NnOG43IyEKemBSYV5hdUNST05T
eGhTSkR2ZHY+I2JCTzZJfD4lKHlrO09VblQ/VFNCS3VXbjdpSUU4YFQ/VTZkZk05fDklc1FuCnpv
U1NGPCU4WEc0M2k2Pn1kXnQxOVl2OFoyYU9KKyFIJFJhWTR1JXQ1PWYmN3xyNkB3KzVuJUpBSDdg
S1pPJDZfVAp6Iz0/V2cweFQ0bWB3c2wkVndrJjApb0l2dWVpbWtubHx2dUcmR0x3azRISDlQMy1I
NCRQcTQtMjByeGl9QFlKJW0KelRzUHpSQHdXej82bGFHQEZXYWY3U3VlZGF5dlVDRCk2RlNJZH5A
dWBrbGAhM0JOPTVvMTZmOTlnWX45bVhKekRRCno0O3sqQHZMbChmaj53MzdNPGklQ0JINHdHTktU
Tz5HUD45aSRxaFJxY19vZld7eG5CcSt6ZHk9RmRkUENOPUt5ZAp6OGJAVHBKViZJYyRgUDVnIzFT
Yzg+V0V5anRVSUY1QjVWZm97Km9BWj05VkgxJWtMVHJFakA8ZGRDLWMoNz9uNWcKelUwe29heiU0
SUE4KVlIdUoyQnFOWEtlXn13fikqKzdSbiFpfEkmamRYI2prQnt0NlYjUzIrZ3BjQFh+RDJTPEl9
Cnpre2EmMEFoR2VOPlZvWXNDUDgwbnFWVDtQVUY9ZEhMMGVtN3BgWm82ajNCIVJKTSg/KWM1NCg9
OF8oRT8tK2g4LQp6MWBVSz5mP2xZNFNWJXsqKHVJK1E2V3c5cSotVDteNilPfkdCfmtkRDhpek9w
ODI1MTtkZVgkNDR4ZmNLNG1WQEQKek5zZERYRyM/TVlCc21UcHZ3UXgwSDRnMjc3S3xnUz8mI2E9
VDthamVMfFFaM1plJVAyYGdrRHB6PlpEfTx+SH4qCnpGaXs1aHJ8Syt9Y3orNlE9cGtnRVFndzIp
UUZZI31weUMrVWJgKmd6Q3UzfXdGIVdGaTEjaFVxWTd9aFQkQ1NBNQp6TW9hWFFmaExgP1NyT1Zl
PG4pIWN1K1prRmJmT29nTFI7I2YqJUI0bmRldzdaWGoybyhBY2g9Q2JiT3hvMFE4cWoKekhPX1JK
O1pITCRIeHZHc3dva0pWaWJLeWsldm9ke3s7UWpuJTdMd05tVGlIUzdEdz5zJkAkaU8jdGY1K0Zx
YWNOCnpsQFp7KT1RT25KYihefGVeU2VEOzY3aHBSJlVGNWNLISR9IWdHaXNnP19PJCU4NzZNYjtR
Vlp0ZyV7S3VzZHdeNwp6NzFBQFNSQStLSFMyTmFgWUI9d2lSU3RNVSlWQ0FhTThtPkw/XnNJak9p
QH4yPkR5MnhydmF9Y2Alc0pAKHpHWFgKekghSSFGMX41OztLUDsqQnJgbEBmRXRONkJNQ0NPMloq
MDhtJiNyS0tXYTlae29MJUBqYnpZcmB6ey03aDgzLTBxCnprLWQoZiQhNH53PjBYRWJJU1hZVXo8
PDxhb2pzRkJ3cGoxMWtgMj17ZEYqaF5EJG5NMGR6UHJTcDFFKmVWYXBOTgp6K0BfM3xCX3B1ODJG
PXw5VG1MbSV1RH5YK3JHVjUmLTslKUFmN3RRYEhpMW9HPmprSWE5UXE+eig0UDJoWEpZZVgKejc3
cVZqSW94KFopMmZpJjBkMzA5bCNseSV4fWhJOGt1P29rKT02YmMjY1c1c0BeUDJsNCohS0ZEeUF6
UmNNIUlsCnpQLVQ/VWRwMGVHJUFLYzUtVHNHRGk4QntqYWZHSHIqVnszRTZaOGNLX1IhJXVHS2tS
fD5FKVlmQWlVUy1iVjFTcgp6Pkc0ZypjeEkwYVFkTWVuYHpGdChyX0lBZm0qYEF2SmZSRyN4SDcy
YkV2N1pBNDlVUEVVflVRZ2tFP0diKlpAZykKenBmWHhAOG0qVWVsZUF7JVMrP3syQnMwPnRBIWBK
KihMWl5wXis7K3MrTDdxfHpRJTcxeTNtZS1EKEpaZl9SIXMqCno0d1FXWUtNU3VnWHVfMzFvNGYr
U0pFMntvb1ZHbkskUFc0PGR3aTJAbT53NlRhQHpMekNlTm1hKSlKJHdVcStrcQp6ey0rQ1ZFPVFa
RUx0SlFja0QzZEd3cUFZTTdaLWA1RWtrRyUrRVBqS2B0cmo9REdGYDxyKWArZkNiUzd7andlNlAK
enJRTWIodjxZb08rYVM/NFR4Yio4Z3RrR1Zqczd3NU52ODdWXzFLX3pObTdaTkk4blNMNG5xNnRC
XmZFU3JMeHV7CnpLMW1Pa2gpMHJtTiY0PzQ7VktTVVpJa2xsP2s9eEtEUCo8SG1tVUYjTHNyey12
MCRqTHkzSD9aK2ZySEVDQTlWSgp6QSNJXjswSl9aKi1SOG5nYmVtZ2BkOUY3Vis2RipkT2xUOUBR
dDxMeDBPNnRUZ3RxP0VtTF8oYTNwU1phZFo2V3oKekIoeDJISG5IMTt3aU1Pb0ljKmYkXyopMkh7
V25SeyNCTE1YZ2ZfPV9YWG88Q3R1KFJRZ2ZealZrWjJuc2NBTDs5Cnp2PCgoKlZ6JnV4TGZjQGBD
VSU/OUNiU0l9WkRPfHhaOT5+MShLYn08SGxhO3U4IVh6eVpXRyNzdyF4eEo+XjdsSQp6WGQ1aXIj
QkxNWGd0a0dUdCgzcEgjVURQRDd1PFlsVTkhakdOcU9hbFl0Xm0xYT5JZFdVbHpDfWFTSUE9WnJi
RHgKekh5XnZ1QD82al5aQEI1LWJJRDJFPG4/VkhzPn54dnczYGItKFFYNkxadTAmJTU0SnAjMVVK
RiR0RX5lX1lCeTZSCnpsUU5sMUNDVGZEJDJ7SlRBZHxAZk9lVSlZSF5FSkNiNCgxKyl3LUxjYzNV
QzEzMnhzXitfVmZKYH44TmRyZDl5Owp6NFh0Wnl4V3l9RmtBe14lVGZQayEmWiZZMV8xN0N4QjIw
RzAmRTZ4dV9VUCkqekFmNVB5XmZqN3FVKH0lNCgrTSkKemlfJW9SPyU9QSZ0Nm5ZNGxNVz9NRVVj
fUdNITEoPlRPV3liN297YnlON2EhbUU5PTlDbiEwTXs4NFdlQVlYYDt3Cnp6Umw7b29JSkIrWkIy
YmtjTnU3e3RFdjVCVXV+fnZ5dmRrZiVjNntIc3ZCJFNZdF5BeStaKlp7UzkyJCl3SU54eQp6XlYx
akIqbT9PaUV3JDx4Njt5dWFgaiZkYi1wXlZiaUxSe1l7Kk5Ra05iPGhlPkRXQDt4QHJwZFJkQU1S
Q3htKFIKeipLaypmM1IqX2xeJVhgJTZEd1J9cj9+JjtDSzYxViFjckA9QF8wXy02IU8tVFRSRCN8
KT5uUzI/YDAjWFQ2fnpYCnpkdkV6Wk9NYCN5QG0xSUlneHA5cCp9U1NhYi0tcU9pYC1TLT1fUzAz
UnE5e3tBNFByaVZjbERIMzl1X0Ioe0FlQwp6R0ppeGQmKUw5dWNUamNjV3NENFckT3k7MkdrdCpq
ZGJ6OC11VXEtJnhfellsKWMpdHtYSjdtTl5MNms0XjcqQkkKenh8bUdTN3lsPHVfO3UrJlM5P2tP
TmM7NE1DLTw/XmY0PEBVcl4wbzhYTTZyRTxeT059eyV2ZEB7PnF8dVMwdVdzCnppRzVFNldrVkx4
UntWZ2JXK08wVTAlYnBjMjdOaUBVN0RJU3ItelRGP0I/czFtcih1KWpDem9rYGJmJmR6ISkwTwp6
Vl94QUNpRVk0R3tfXzQ8K01WTk9RRFEpZEZTWlctOHo/KnNqNHo9YVZPNlo3czF2eTg3ZU1oTyVI
ek9mKS1tflMKenp8QH10bW0wdWpadilARWsjWjhhO3Reb19Ya2Y7eHopWlMxWDEpb1M1QWNQfW5T
NUxHaSRMWDd6KllZTnVDezIkCno+JWczNl9gMnZCITJFdiMzK1NwQHpeX2RmKGFDWWBSQTkrX3o7
KlMmKChoOUMwWE9pdlo7STJpdkp6TitLNGxsTQp6ZzA3NX15djl7YWZ6PzZFa0FTK19sb1AtJDN4
RWMkbnJxayFHfUU/Z1g4cElhe3NeNHtRQ3xPVCg8I3BhOHxYc1cKekBFTElEOWwkLVRfbnhQS0hy
Q3RyQSVPan4pMEx9NWckV2RtIW4mY3s2cyFsOzZyS21SRWU9cWdyfkhaWDVmNHFMCnpnZVhAfjdF
JFViWkltNjkhPDZIY1E8USk0ZXI4Y0Z3MCF7ajRjeSpKKi1GXzxkN0FQRDxzWkR+OHMmVi02dn1L
JAp6SFJUVDB3fDQjZHh8O2IqRHdqT2ArQEBjYkV+P3puY3pQK0A5JH1fayNaTnJ9N2VsQVpONWYo
P3BePXw/S0tIODcKZWY7elBGRHgkQypLWll1VU1+em07VSZqe1hqUlM5WkdXLXxBRjkmRz0KCmxp
dGVyYWwgMApIY21WP2QwMDAwMQoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291
cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3Jlc291cmNlcy9ucG90LXZpZGVvLnRo
ZW9yYS5vZ3YgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9j
b25mb3JtYW5jZS9yZXNvdXJjZXMvbnBvdC12aWRlby50aGVvcmEub2d2Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ0
NTg2NzhmYmZkODE5OTdlZTVlZmY1NGY4YjVlN2ZiZDg1NTI2NGEKR0lUIGJpbmFyeSBwYXRjaAps
aXRlcmFsIDI0NjMwCnpjbWVJNGN8NFJ8fEhsb28laChsUm42ZWd3RUpiI00oOUJwdXB9fDx2RnFT
TSljRys1cCtAZlNqUXJzeS1DPT88fgp6VDJ4WXp0eH1Ya2NQWT1nVz5uTXQrPmMocj1sU2RSYSgh
UnB5UGZrbnU5LXtrKkV5RzB3dDBHNUdjWW5OK0ZFe0UKejsldVNqZ1Y2S3Y0KWhgcy01SHBeNH08
dVV6VzlmbFpZc21KVSlFTjNxbThYJiR0Xnw1TStKRzJgfnJ3ZmowZ3NQCnoyMktXcUc2VGEhPmJO
LVkyeD48NHc7SExkKDRAZGFSfHBOVHpNazwlO0pfOFNgdVVPPTZoUX1DQUckYmIwbXh7Sgp6KERM
dHwxdGYta3pDazQ0cCFHSWs2dylUaVV+aE1scEF6azJ4SCozUFVlSm9yRCU7ayFQcF56IXB0R2FW
Rz0lfmYKendmQ2xZWlAqc3pEWT9obm1EWktTWWB7cFdDQFg2ellwU1M3JUchQUM0Zkd9TGFWTj9f
cFIrWGhHUFd8QFdASnB6CnpAJGV2MU5TLVAqKXEzUihEKFZWPiFNKyVFRWZxRUJVMDgza0JeVm1K
WV9tNGl3PkgoJEJCXk0peG9jYCpHX30tLQp6bml8OXluKFNKYT58QVleazRWKXlHam44TT9pZVBP
a1dxd1UhPSQ8Kjw0fG1SVT5UYjZsRk98PCh7SWgmQHkmOzcKej9idElXfEl6RWJqViErJCs3YkNK
T2VeUCpoYyRjWEMwbl47TiQ4a1dZIVRYUDR6bT5NTjdkV08zJFFjMHFDaTg4CnpEfWt7fEZIdXVh
c0REJkZPen10eVFLPkM5diUxXiRQckt3UWdKX2o+PDl3ZCtXNyMhKkI7fkE+d1M7V1ZiV195UAp6
Z0V5S1U0ZW5NRztjUml1KkU/ej1nIz9ZcFRlfW5tKmtZc2dGMjRJO3QrRFl2Tj8jdiQ9Z3RyPjNY
aih0OTBWbUUKemp+aGJwVm5EPHJjcDtDK3FvQEBnUHBoYWNzJCohWks8S0FjR3kqKmUtXyYkKnVv
c2p+T15yaGM0NiZsT3d9fUA2CnpzLWRBP3twZ0NPVUohdT8wVktlbno7SDFpNWZpST1yP0dKZVEm
QE98MGB4Smw4UC11bHl1XkRPX2M5SGtUJjtedAp6YGh0MzZSRClJczlUZERGeiZzaXBsOWdaKy0h
ZCExVmlKdGBVayEhQXJ7eDFmPUBYJWxrMCg7Z2U0M31XbVVPJSoKejs8U04qZmomdzxNaGMzPTco
TmdUXnJ4WmZfb21OX2lrVmVjU0k0MDZNZUNwI1U2PXJaeTI9Ynh7b1hKP0A1RnpYCnpwfStePUFE
dmRRN0BCQlJRIWxqJT9pRGwhTGhvVzJxRSRtZilGIXhyeXU3Xm57YHQpYVQzfCNgREBHfGkpTVMo
Kgp6O0F3JD9yJmFfKThxXzJaKGhDK3RKXzNRems4V20rcmlJd1d6KVdxJUdCWUU8N3pvUz1UM30o
TVJ4RTZiZnNHLTsKemQxdWdtPVljbzZPNjM8PGQmb3FAaSM5I3I0LWU9eHpJc0ByQHhVbWJRQTFO
amBzVzcod2EpVUVNeyhAOG4lPUlsCnokbSU5bW8jIyQxQ0RlWmo7YzRIVD0kLUE5UW8qZDBoRHx0
Kyt2OHE7QVlqc1VKR0xAUmhKRFZ+UjZsdl85MD12RAp6RnsmQU5XQmF1eVlFZ3xIZVF0aWF5Mjxi
QWA5NTVrbXN3TFItYUFlKFlHcilnPVY2V1d4d2RMTzNPZ0lVUHZDdDsKelhQdmEoQnJZNiNHOVpU
PmEmaHwjYEJiKVI9IUYjSDNqc1ZlTXdAZTdDUTtzXlRySFdXSExUMT5hQzNmfShtJmN7Cnp2Vkc5
QiVEbkpzZ0dNczFRKj0+dWAtXzhoZCFIfTN3QHlFalc0K3YxSWtFWSRxTWFMMFJMNWJITHE+UG9z
fX1CYAp6c2VMU0ZBMFoqYmU3QyhhYnA0Pn0+ejZgeSUjTHBEbmF+aD5uUnh2aG1peHZGT3BwSEIm
dDRuJT1KU3FTV3Q0VHQKekVyVkpSVl4ma1ByY3ZtSjY5V3hhPiN9eHBjVjh5Ki1QaG4kO01RI3Mj
fnpAUnJmMDBeSj9WYjQmP1A9SXJNPi0zCnpLbFdyekFvOEk5PFF8RHZXTWYmamEhU2pEZ0tfMiZ3
OUF0YWw9fVZzZjI3e1gqWnU1WHkqZTJ1OXB+VjFefX0xVQp6dT48e2FNenQ0VEk9YXRVYXNLZnN0
IUord0xHZ2wlP0VhfiF7LWxNNiNpMXJyTUBjc1gyS3FOX3o4QVdTYkhicXsKej5iMUNOI01PSyZn
Jm41P2YpaSZsanFZT3FEbUxMQzZZZWY9Sm93P1BLUkoyKTQjI2U5RlVxS2hyOXdhWSFfSEtWCnom
ZWdSRXYmUytZd0dLKUBuUGNeNV5zTCt9YkpGSWxzPzQ0QiMyVEs+Pkt5QjQ5aSk3Py07T0peYzxk
VXp6dDZwOQp6O1lqajEkN1k3bHYmI0c8MTN2djVhKz8qKTB1ZShCdTFPOClJLUN5SWhpcyo/WnUp
SldLaVRTfkNeK3ltWVBTVSQKemQjUm5ARCNieDd1SnY9Z089fDY/WnZKYFNtQXI4KysqUHdxbj03
MShNNjxnMiFofEgpPE93RUlvUUFWPCtHVERACnpaNXMqPDExWClXYVpnLTR2Sn0xdilhMUgkNmA8
WVk/IUdOKyg+VkVNQGJpUHJtXyo4Z2UtX1MwekckLS1gPFpAQQp6dWQkKEFqbTltTl5CPXtXP0Ny
d2gtZ1pfRDV+T2g0I2FSdyZAc1V7OCtSKH15KlJYdkc3KkJ+Ml9ETWdTZ09obSgKemA9bTU7UzU9
bW9OXzxufndVek8haFdlaSR3czhIMXUkN1VyX2BffDRXcz05V2FfX1dvVX02V05gbSo8aWtuKm8y
CnoqSFRsdmhQKGgpbzxpe3JVckM8RSk0P09lTF5iay0jfnA+VEBpdGN3SVZTejFzYU4qMUdhWmI3
QlZoUnt4eTVfKQp6Q2RiKkpoKHZrOTs2OUEjPylLcyFWcX55cnpGbjJoT3xQcnNUUDFUQVlGVCtV
S0doa01MMGd0MnU8VDhkdnJQKiQKekpXRXUmNmZRQ1QkV2EzTSpBM0NtRTRySnBmMnlWXj9EVHF0
VCRrbW9RXjxIQ2IrRlIkOHE+Sk1tMFdIQ0tFQ1E0CnpteCQmO3RaPkFyMUlnVX1AP04leCtaP3RN
Un0mQ3s7LVk7SC1sMlRPPE8/VVRjYH1FNGJxWGstVSl6ZFo7KVl0TQp6VEVEI3VQQko7TGhTPmFz
VzY7LSk+amk3aVUpSCFQdUhubzVFTio1d0s4bzMhdTNjKCpDTUdoTnRrWEtPUChIZkMKelNraGhu
ZnZVeDV7XjIhT2xQfSVXNl8/Z1lwQSROQ3IlYnFIbTBJVk1vJVdXeFVWQExUYVZmKit2P1M4TTFv
PiRTCno1O2szcjh4eHR7UWkmP09ldXR9PHJONzg+TCl6I282NnUrKitgeHpVPmopdi1RJCl3UnFt
fk5mcGwpcjZJeVpmaQp6YF8jUz8hWTVaI14jPS1PbXBjLTcpYS1xRWZWZiY9ZSozUHglPTJ+bnhN
eWRTUyR6cnl1YmgzQnhWND9EdElHV0QKem88RHtiNCQ5cCh4bTN8JGooZipEZ0xaQzhLfjxrUztp
PmVrUU9vTFQlPTdjMTZ+YjtFd3doPXFeRzVReWo0c3ZJCnprPWFDaUFqOE0kQllrIXpRKU8rTGF6
YkNGXkd1TiFFfkUre1F9TkRXQkt5flVEX0M9T0ReQGhJK3UmNzc9UEZuNAp6OUoxR3kkQVdyPE9f
TUYmVyglTDxaKDdhXjkzaVJ8bWFzcGZMfXVMeFBqJmQ8dSo9QlF5cjFrZ2ItVkFyZHtORXEKej54
fDBLOCN8X0U8TVFzbiM2dkVPZWwwb3FSIz5qQnNmbnEldzw8WlhVYH47T2BZOyZXcTRaWSNXOXk2
WDMpPmt1CnpGeE99MTg7a1JJUGF6fmI/fFNzI0tGJXZXKjw3aSNQeEZnXj9WWCRMbXx9OE9yVXw8
ZXcmTyUxJnoxYHBeUjhTRwp6ZEtXMW0/WFI3dW0xSyklK1pJYFFzcDJgbGhKJVVocHc9VkF1WEtF
aFdxNCpIOHB4Rk1rODU8SHk7ZzFgZWRhNFEKeitQMSFvXzxTY0RwSnFtVWBAXnIzd3FfKUVnVFNI
Y1FXNTh4K2R8bzJSQnlZbkk9P3FSK1pQaUItSEQ9Wj9KKDR9Cno1dVQ/UE55eG4wZnxHTFJtPTVC
T0BLMlhGeH56Rz05PUZTTXR2OUIrYn5NJVVTPjMhZlpmZX1GUUFhdUBHeEw8TQp6IUYrPT5pIV88
RSZpbUFNe0B6OWgyVnZafjY2dUpWZFg/PHJmSjBTbj58JGpGT2tLfjhqODg9IT5jSE9uVCQqPE0K
ekNeOTMydzxXb0c8YX0jKF81RWZLYHZwSiFkZ3F2ajNuNlhzbks4Q0U2ZGdVdHI1P2dQU2gtRC1T
ZExQMmRge2hLCnpETXFaMlZDYERZVnEpWWwqYG1UYnVTMk0zPSo+biFMUjZ9UXtxVFlJb2s8eTE8
bnMjJl9MWkdpYC1ESGY7JWBTRwp6d1d9PWt4d3w3fWwrcGEpJEpaZ0N0JlVAa0wpdGo5ZChGTzsq
UjQjc3REc0EpWCNQQGEmRzVkYklrOVlAcU9HKWgKeklMO2MrYkVmezJvPUhBUjdXYDBIdFJvJG9e
T2N4dU5wQW5QN2lvZXh6RnJtbEJqS0ZQbnBwX0FSSkQ7VUJJK3JoCnp1fX1rTHFUKkclIU0ocD9z
VFYmYy0xRj9FeWo8dnU9OGVBVF5ZSD8pcTN4KXxEOVI9LWlmN3VNaUFqcjM1M3llWQp6M2FAV2Yy
JExeMGQ3b35gJVA8JXVHVDA7YV9+QWhJYHw9flJxdTJ3LT9XUyNRNGheRmRxITVpU0YtQG44RmFL
R3EKeklfeEN6dyZVPHUjaj1zb2JBa2opVUl+S2xveTkjPkdPNUV2KTleKHtPWn5NT3Jeam1+Q09P
Pl8mTTU3P2UlZkl0CnpZZmdNU21xPT17Y1hzdXE9ZW4kc1FaSVNOJDIpOGxGRyUycCVaQnRRcnBf
N1FPYDJ1OSNYbHxGYW1UQC08S2V3ZQp6Q1BPbWh1YVg4cTJRcmtpazFLU2tsRlJOSjYmRD00NitK
VChKZSs0eENtclJ4VVUheDJKcnhoKDlHez5ER2owUWMKelpGYnd1aTxyWDE1ITBrT3Q0ZzIzdWM7
S3pqUVRvQ1ZhWTlJQSk0S3w/X3p6bihmRUdkJm4+JjJZfVc9X292K2h0CnpaOERkKmQoYHQxXlk8
ZUxiVCkmSUlBTDI2VkY9cGtrSEt6bjVJUmRpVj90YSQkMz54JiljZnpNVSElJXtIIWs1Kgp6YD09
Vl91RlhDQl44QkF1e3dheFltKFZaJFUpcXxwPVpeZW96VUJRYXc/cnRrcTh7dFlleCEyKFhWRkk0
aUhxRj4KentFdnhEcCUlV2lEKCs9dWIzPy02STxBUjJNYWNsVyNmRmd0I2RwfWE7XypZYDBMODcx
TUpMeFNSJExTRlc+YCQqCnplYlcoN2stQGdaVDtaQitFWlAqZSRFfSl9O2FLcipPdyRvRGt5LSE0
VCVtKClFOFdXaW9MQVEwY3tmXit5anIkZwp6WktxZDRPfE8zO0RVTiZXO0htb0Z1ITBZVUomdjta
MTxBdzR0JSpLfGdqY0tFPnBrLWRvOUdmZ3BgQG4kdV5eZH4KeitMTlVBYylJI2VPR141Yj9xXjto
TStqaUtvYnItd1JsciVuelRFOWp4ZTheUDwjbjNkOXNRa3hEZG0rZnVISCkoCnpMNyROJWJ3b3ZI
WmkhQ2Q1QDlHYHg2P3ZUUHA+QjFBRzBOOSNtTWRVdFliPitCekljV2A+UlN5ZFVvZUomb3NQKgp6
KyQmR2NYSVR5V0RabldYaDJOYmtAQ1dXcHVGXml8ODdyIzh4TXUmazRrKTZjUGxBO2Q/VzFyWll1
Znl1aDk/QUEKellqJiVxcEtTOVYyeXFfRCZGRUg1OVhUNk51KT5IVlFPU3FWVDF6aFhiaEpMQkVo
cSglQHskY0wlPE1LdVN4S0I7CnpDWjNUdCRzZGR8YkZje0AqVl5jbk05YXI4bSRHZHtvd3FCfUBP
QGZHNWEzd0JCeGF0RUVBYyZ6KG1UQmNCJDI0RQp6VSpge0EwWDhrTGQhd2tCZDcwaCRhUXg5aWU0
Z0VUK3BHVHZpe311SyNwTjZQRjBeNGYxSTdPQ0c7RypxYDdvVigKejhPQG45SyEhdH5IcSVSd1Vp
K1dSeSRfd2hFM3laJm1JWW5Odj9DVTZ3OylIbkt8YnolaUgkc3p5P3RfSiYqUkc7CnppKHo2JWAy
SE5sSCpiTngwcm9TI2M+flYjOzgzcEAmMWpVZ0dNYlMmaTRTZD5DZEpII0w+bmRYeHdqdmNHRD1j
JAp6WiVHa1N3NkFkZVVISSQ2Y3UoR3pofkk9PmE0TXFPcyFvJUArO09lJD9AcEtjYH4lY15RMWhy
aEdaTVY7I3NZWEYKejBwUlZQa2dMQjtVOERJOUg4c0NGSCNiOUlab3F5PEhfd3BaJHRlX0B4cGoj
RlVxPHk0YV4qY3NiP3x5WlI9YTBlCnp7Z3t4UFZOLUJNUTErYSR4amc+QUZSKHhGcmVjU093TXVx
SVhFNiE7R2dYeiN3KW9OaT1PWGp4YF97VTU3UUMhWgp6WlZHeHVBSHdTKHQ3KmxneGB7eGEoSko3
XkplOzBWemw7UzN7OTZSQFNne304emJGazJ5Xl8lQj5CZVg/R2J1fE8KeiM+R2NsPFY2QzBlfUdq
UXZUYVFHUzFTSWZYYi01MmtoQkoqZmFxSHBeVSs9TyREQUxANTZyPylnYG87Vl4qZFopCnpzUXgj
RXtlSzQ0OWR3OVgwZj1aXlRJc2tuUjBIU34oQy1RNG9SdHR1RTZnTm1zRCZgaDNldTZURlkzUXlf
eT5XaAp6NkpaUik3PXwkblZ8Vz91WkZrV2prX3x2bWV6JTk7KG9oWWRRP0xXWTEkRTU4KGg0aE9G
Yng9bFZHYTxyWVlIOEkKelZFOSk4UXxHfUxoQXw5ZDd7PjUyIVozKnJrKD5hNkNGZlE/U3NKUGxi
UDZ0QDcrQSVEVFV1ZVFOMk16aiFgdllLCnpfP0M9QEYjSGIkcmNRKTAzfVlDXkZwU300Z3lHJEtS
UHM+fnhlfXg9MSlCQ080T007SVBYIU4xZ0tGPWF7TWcmbAp6aDg4Xnl2b0tVKXNLUVclcH1MSHFZ
RU9xcUIhRlNSe354SktMKURLPyEzenstdlpmb0JSKyNMZlE1SmZ7eno1UWUKelJfeCpiaEdEdm1F
e3RJcSEhVStuM0A7LUxKSkJIJGBkPnRLLUNHWVc0Yj5uemcjYntiZyFyNlhUQ3RTXnJVOFI2CnpF
Q31MQTAoeW9YISptM3UmVnctd1Y7SUlUak54VTNWT0tndDNJUGJOZXttc3ZYe2QoTERXSTkzPnMy
T35SXlh6agp6YmZzY2cxZj1HTCpZXz1BYDBvVSFQSn1UR1Y7SUlUak54VTNWTldfbHReeUY7VCli
T29Ye2E4Y1E+K0ZHe3Y4a2MKem1SOHN2MT1Efip5SX1+d0pMY25+TUV+UWorWlkmTjQ4c19QRiRg
bVA4RFYlMjlVe2Q1QkRXXnRQYj57cCFfIzBJCnpGYkp3XktzP3pzZ2B8SlBLcGgwYGAkaVhyRGh5
UV5zeFZaUzVtWCZkKDt4XlQ2OGJZbXFOTEpDT0dETTRQOVhzbAp6aTdMcTc+fV5kaXtgPy0yQWY1
ZGRuZWpJYWU8dl8/QjgqYGUhIVUrbjNAOy1MeVUteUwxdDYlIzdUJiF5aEopITgKelFiMXVwS2JY
MCshbV5Qe1NMJHc5OGw7V2VWQHJReF8hazBHQyZDenBGJGBsRSNfJSUydXNhPGgoRXgoISltfV9Y
CnpMcDdYRXVAKSVDVSN0dlNUMHl1MnJVOFI/LTBNSk8rfGtvUyNxaHJxbV51JX1GcE9hcyEhVS1J
NXIpMCM1R2V5Nwp6SUpfVDJTc0pRKGdIJT5ocCgrY35UJTxNTSYlR15lWXwmRk8zcXV1I0RoeVFe
cz49dGUldG5KVzA3Q210SWdteSYKTHkwVEZKK1QqX2Y1KlU4bwoKbGl0ZXJhbCAwCkhjbVY/ZDAw
MDAxCgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2UvcmVzb3VyY2VzL25wb3QtdmlkZW8ud2VibXZwOC53ZWJtIGIvTGF5
b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVz
b3VyY2VzL25wb3QtdmlkZW8ud2VibXZwOC53ZWJtCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ3Mjc3YmRhYWMxZjQ3
ZjgwM2JiZTY5NjkxM2E1M2ZhMjg1NDhmNTkKR0lUIGJpbmFyeSBwYXRjaApsaXRlcmFsIDUxMjQw
CnpjbWVJNTROdyY0OE9Me3psTE1wU3BsVUVtTERaMmQ1dFI1PHNUPiVwQ0xseUtBVnQ5X2Vud15k
MChDNjYyZEZpZQp6KDl4c3tofVUzWmpIcmhNbDByITZoaFV2KEBUMXlCNGZxdXJLUzVDYE1YdE49
RjAkfEJlY3kya2JlWWNNT3JybiEKenh0eTs1SWN8VD9iOSptXyo1dmFYYHIjUn1TPlF0K2l+cnBo
XmRTIWZyd35oZWFeam9JTCQoT0lrUEpjUjklV3U2Cnp8SkpHbypZS1Aqcml0TllaJH0rVz8+cF9s
IWwoa0ZDY0c/RE8jTm1hVUtVa2c7ZUYqZUZzZSs3ZjJ4K0ZiZXRIZwp6T3QrTj5lTlRTdVp1V29h
dWNaNnxnTkkpek9taGhfZ2AzfEZvNDBQXm45KEUwanZ3aEM5anMyUF9obFVvSnV+akQKemJHayFB
XksodkJje1gycDx1X1lSbSY0RnNPRkFSVTdZallDezM3c3p6Xl5fZ0BWTnIjVTdWWWl4TUk9Zmo1
cCVuCnpoI2EzTEBQbl9WclNtUDtTKyZhVkhRRnFeZjJtLWJEZzhXQ3tEdFNfbEM/NTNLMzZBamBO
OG81JEM8Ty14anA9Rgp6ZjhORyUyQihhU3RyX1dDSW0+e1djZG1VTFJGVFQ5XkckSzdiLUNGaUNk
bGg2eko+cUplcmpOPUx6Nj9jTHlNdXcKenJRVU84PnlaY045NHtGZl8rUl8zSkpoaENHQ0F0JkZY
cnlKY3gkWnYyZVdtfCl5N2pkKlN7Qi08aTVVaVFeZT9vCno0VTQ4JG5jWUx6P29LSFdEOXhAcD0j
dCprRllOQ0EtNl9kSzFnPig7MUhUdE9OfWomMElkQWVRT1glaSpUO2J7Xwp6T2RTJWx7UWM0b21V
IyQrUFgmeEYtRTsyenFYOGFnQ20jNUl1SFVSQXg0PiV3Qk13fVMqY1pEbEk7dTE7QG9NdlIKenVH
TVpZOXVAejZuWjJmQFg0VURQKk1fVih2fWVUQm0oTShHSzNrbXFaSih5Q1c+Y3p0dUhGOUs8Q1V3
MVJvd2dZCnpAeXlAYlVpJDBHKnMxPU4pXzElZmFMKFNsJVYqdmA4OXdyRiRCdn03OUA4KDU4ZytC
XjY/ZUI/Q3dyOX4kVDBYKwp6cDhzZ2NeK1Qxcj9UPTI+XkZPYmZKTEM0OHRDUStXYE5DS0UhWGYq
b1JQVT8hcXd9TXAtPGBDLXtfWlg9VTtKa3AKeiNRaiNzSVR8bDw/d29zIVVuQSNhKjJobitFanF5
PUkrO2xxRmxtTk5FNjg3WXpmNTxMPjJhQl5BPTRqWnNfJkQpCnolfWU7SW4pQnZkSHgwSVk8QWVV
cHtCdHNtQk9jNTklRzUtcjtXRzZoKTBIdzYmKHgzM21EcDgyMyVjNStVRjhkPAp6XlVvUWIyPEph
bjtMcGxiUG98QTVzX1Y8NzxDcnZ0TiFLZnMqaX5IKV5WbHojXmZIcyQ9flYyaGdCTnRRT1N8ZTIK
ek9oNW0qZzJRfCFPPXI+JW5ZNDtZfEgtMHlYTjN+R3N2cDVUSGpHSl5Hd0hpQER0MStHZ1JYWElT
TXtncT1SYTRfCnpLVlo9d2VWQjklbFNWVVgzWHw/dUQ2eStPJTl6SnFWJHZycD5nWStRVnBrbmEo
QTYmT3NeZEtSYE9nJmApMGxLMAp6bE9BS3pJdTxvSkczbjB+TzY7b1BIUmlFekczajxESndtNXFS
fUl6QiloX0wtcEBEdz5hfE5mTEZ6TCVvSSpVbkAKem5SRk1Fe3owTHt0fnk8MDleMW1BJktedH1N
NVFWJSg1dWVrb0ImP25mOTNAXkJsJjhJTHRjUE5rciR2KzxPUWV7CnpjPnlYI1VWdXVHN1o1NDJ5
UnNMYzlWPmVRRG4odl5OfDZeSlF9S0JneWcoTl90VHJ6fD9rYWN6d2I5ZG83dHF3Vgp6ZilgTT9R
NGUwQThfeCM3MyNoeD0xSDM+dD9rYWN6YnlwNEcxLWZ4cCEzKEluKzZpOTN3Vy1lSFJzbWlCeVp+
fGIKeiVSUGVeO0VtJm4kSTQhU058Nl8hUXNmMjVHJmwlKGZxcVlTVGVjez5FZTtsNDxIQyQ0bSNh
dFNIYUlqMUdoQn1RCnpSaXFrJiU9aGVkb1NpP3h3fkN1Qjd3aVhIQ0lwXiRje0kjRD98eTNqKCY0
IW14WT52SmpXT1NESk11bnYmaWQxQgp6KTJ+SVc0PzB+YGRFZTlXXzRiY0hgQiNFUiteZXctZVl3
WHdvKHphY0Z+e20yNiZDbDZfdkhAKy1PJjQ4RHNMPkEKenw3SDBjeDd2JFVuPkt2djxra088SCMp
dyFfdzJnXihjengxKT94aWt6cW9GbnFUZDt9PGxlQzZ1Xi0kcXg3dTQ5CnpyazNCY0trU3tuKV8m
aTI9OzIjNmB7T15xLSl+Rm4jP1pzckhSbig0JGd8dmZ2WmJ9Ynskek9DPDx5cCgmQ3pFUAp6O3xl
eHBBNj5rRVFNNnkpKmBpTkFafmJAYnhVXlF6ejJePTBRS00kfjI0fmtxKm5oUWxSYFptK2BMP3Nt
PEVJLXUKemI4RTU9VStJNzE/RExNbyFfVUlAU2AmbSFGTCRmN29nIWNOPnVDUlNYZGkkfChMUjlB
NylibkFtLWhqdjZ6djAwCnpEY1QzMVFuVX1DcWN8I2dBQW91Kys2U09ndj0yYX49KD9YdyNWJCh3
ME1Od19iV3kmcEMhZ1E4Y3xWbitjfFZuKwp6Y3xWbitjfFZuK2N8VlFIXkx8PHY8I3w4I1NUeWdh
UWdtSFVyRCl6eXJlWVZSY3xVWnExNmBEXytzV3MqWkp3XykKemxENjEjMSRtdz9jN3BpNCphT1k7
c1Q5cmdzVDlyZ3NUOXJnTU1gd3tAO3NrPEVTbCQyRFl8Wl9RRikkRXJlWVZSCnpjfExUcDE2YERf
JWdOYHJaQysyTVhrSmdIWGtKZ0hYa0pnRl4xUGwoKFkjKXkjNGdKN2RnYCVnVVFlYXl4fH5ZVQp6
eXEtK09FPXUheT13YilEQ3xgR3omdWBtMm89Vlg/bz1WWD9vPVZYP289Vlg/bz1WWD9VWmxoPiVK
WD5ZdjFsR28KenF3O2sobTc7ayhuVGxPPlBKa3xVPS1TMHVrb0Z6Tz1RbWV5JlMlb1VGekYyej9Q
KnxBQTEwbHFQK31LKkVAS3s+CnokKXR5dl5jeU58LXdrcDdkITVDQG1NP1p3ZGR+PHZQaj12V1Fo
cllldCgpQGgyYkg0VDQ9UDJ3QTVAQlZLZDJQIwp6ZW8hZkxKUiY3X1F7TWZjOVY8SD9EbipXbU58
RUNzUT9aTkU/Z3c8UzE2XiEkSm1sKlVkQUVhbl9DLUlXSTNEdGAKelpIfFhSNn57eE5pc1Bac1hM
M0IwVi0/M2twXkQ/N1B7cnwoc010a3RKUlM2blpIfFhAZSVsPW5nKHtBUkxLVmtECnpwXkQ/N1B7
cnwoPjlhVz0lQ1U7JHAteyF+UF5qV35OTDFgMUlHenI2dkNaKzImVHFUcEF5YVRYP2VqO21pe04t
Vgp6KmhPJFc/UzBBPjxsUEl9WVozIUVvLVVtVWc1eXpsNWdkPH1eSiNFQT5Ncil8OUxNOGgxO142
fnlBJEFlKVpPSTQKekBwT1lkOWBlLStJMzlJVjxAZks5VXROT1o+RykwPUkzOUp8PG9EOzArYV84
RGE2RGFsRWQhMjYtOWBFUkg/JUlvCno5IzdacStKZlV6Y00lK3FtZTx3YmMrXzE0JEQ/SHohU1Nm
TypoIThqQVBYRTFJM0RWflUxX2ZZVlVNVCN6Z0coIQp6a016enA5cWpSRj1vYFdEc0p+fX08SShj
PEJSQyMpN3Myc3AqK3A8WD5NbnhnKFh4eCtjK18xNCREP0h6IVNTZk8KeipoITlPa3tLS2lJMzkz
M3xBK1ZFMG1sUTVOOSVoLWYjWHFzJmohYiU8P0JhcUpuQWxqPEklRTw7Q1IkczFqbk9nCno3czJ0
VXk5a2EpJVB4WkJRRnBQRTlNN35RYTZJNjYhMH58Tmt3MkxtPyNKYD12KEAzZlRKVD0yQUFmZHor
ZFlAYgp6MjJ+SUQ8QkBKPC0hMVAmNH58RnVgVmt6RG1lKEBpYytfMTQkRD9IeiFTU2ZPMiMhYX5F
YHNBeGNkP1RrJnJJPzIKenhaJDQ1OXNWcE14RjMoWW4+XmYpTjVsOFd6Jik0TVU0LXspWTU2QEhf
SVQ3P2dncVdEeTlrYSktOT5PYlQ2UGZ9CnprR2hOQ2MobSp5STM5SHUhU1FJPk1RfVhvRV9SYVJp
SGApdzFBOUVNI3srdmp1KlZiUSpUXn13S2dZcno1QTU7NAp6OT95Vj82bXpXWlFESmY0Y3doY04m
PCh4Y3JTaXMtYENwZExhalUmcHdRMGtyUEcwQCpjd2RXSEE5VDk3X3cyZ14KenlZR0Y8ITExJnt3
fjN6eTUxKlpgO1QjNFdrR2hOQ2MobEIoMkZJaUJBfityYHk5a2EpLU5qQ0ZKV0VhQmMpOzwxCno7
e25HNWp0M2wxT1V+eCNHbF84cDg/dWlzLW9MMDVvKT0re05CdW47X0lSez57Um9hbi05Pk9iVDZQ
Zn1rR2hOQwp6YyhtKnlJMzlIdSFTUUk+TVF9WG9GODxlIVhKQXk+R008eHU9b2dlXzc3NSZFVE9K
RjFnTjVIenchTyYwWEpPSTcKejN5WFJpNzlDQWtHKm5+SklZRWk4SkVnRE92bVQ0UiV2Z05oaCgj
QUc3RzM/Wj12SllgSz9UeFI/aH1je3pPYDY8CnpBcWs4OUlWYEBJZ35mcWhTb0UrZEZ+QkIwa2Yj
WllVZSNGaVBRYz5lZE1wayNWe3c9ZmkjfUUqaE41I2QrI2ljMAp6RHpOeGNCbzteM1YkbllkaT0j
TyMyNHBFUUl6ez4kanEkP2JTUXsze28zSj5jOGpCTVh1b3pnNiNZdHUqRXtUJksKeiRZakp+dW9h
N3d7anZCOzFyfm85aU56X2tTZSV4bSNFbUJEZm5NWFY3P3k+Xz4wVmZqdXduNmE2QmNKd1Z7dkFK
Cno2MU5ZTDkleG9RN05nQnJvTmRIbnRRQ3VLeyNjdy1meU1ZcENHS15TOXc/eX1pKkZgamFSRzxM
IzRJYz5eMXxYYAp6OHkxKEVseFZ2eEo8emdoRUd8I0w7KTs0S0NZaUNnJTgxMykpfkNAbUpaRnZr
ZThZVmhVWH5la0Z4Xyk8JD1hdl8KcUBkKmN1dH47P2ZyfnIhckhZfHFYemQxU3VxZjZxanhZMn5n
P0wpQSoqOW5XWit5NFFxSFE8XjYKCmxpdGVyYWwgMApIY21WP2QwMDAwMQoKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNl
L3Jlc291cmNlcy9vZ2xlcy10ZXN0cy5jc3MgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMv
d2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZXNvdXJjZXMvb2dsZXMtdGVzdHMuY3NzCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjQyMjY5YzhiNjA0MTk5MzIwZGI0YTBlMTY1OWY3MTkyZjQ1YzcxNTgKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxl
cy9jb25mb3JtYW5jZS9yZXNvdXJjZXMvb2dsZXMtdGVzdHMuY3NzCkBAIC0wLDAgKzEsMzAgQEAK
K2NhbnZhcyB7CisgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlOworICBiYWNrZ3JvdW5kLXNpemU6
IDhweCA4cHg7Cit9CisKKy5zaGFkZXItc291cmNlIHsKKyAgYm9yZGVyOiAxcHggZGFzaGVkIGJs
YWNrOworICBwYWRkaW5nOiAxZW07Cit9CisKKy5zaGFkZXItc291cmNlIGxpOm50aC1jaGlsZChv
ZGQpIHsgYmFja2dyb3VuZDogI2Y4ZjhmODsgfQorLnNoYWRlci1zb3VyY2UgbGk6bnRoLWNoaWxk
KGV2ZW4pIHsgYmFja2dyb3VuZDogI2YwZjBmMDsgfQorCisudGVzdGltYWdlcyB7Cit9CisKKy50
ZXN0aW1hZ2VzIGJyIHsKKyAgY2xlYXI6IGJvdGg7Cit9CisKKy50ZXN0aW1hZ2VzID4gZGl2IHsK
KyAgZmxvYXQ6IGxlZnQ7CisgIG1hcmdpbjogMWVtOworfQorCitJTUcgeworICBib3JkZXI6IDFw
eCBzb2xpZCBibGFjazsKKyAgd2lkdGg6IDI1MHB4OworICBoZWlnaHQ6IDI1MHB4OworfQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29u
Zm9ybWFuY2UvcmVzb3VyY2VzL3BuZ2xpYi5qcyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNl
cy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3Jlc291cmNlcy9wbmdsaWIuanMKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZDJhOWI5OWUwODVjYTk4MDMyYjU2NWJlYjc4ZDVlNmNhOGY2ZWMxMgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2Nv
bmZvcm1hbmNlL3Jlc291cmNlcy9wbmdsaWIuanMKQEAgLTAsMCArMSwyMDcgQEAKKy8qKgorKiBB
IGhhbmR5IGNsYXNzIHRvIGNhbGN1bGF0ZSBjb2xvciB2YWx1ZXMuCisqCisqIEB2ZXJzaW9uIDEu
MAorKiBAYXV0aG9yIFJvYmVydCBFaXNlbGUgPHJvYmVydEB4YXJnLm9yZz4KKyogQGNvcHlyaWdo
dCBDb3B5cmlnaHQgKGMpIDIwMTAsIFJvYmVydCBFaXNlbGUKKyogQGxpbmsgaHR0cDovL3d3dy54
YXJnLm9yZy8yMDEwLzAzL2dlbmVyYXRlLWNsaWVudC1zaWRlLXBuZy1maWxlcy11c2luZy1qYXZh
c2NyaXB0LworKiBAbGljZW5zZSBodHRwOi8vd3d3Lm9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL2Jz
ZC1saWNlbnNlLnBocCBCU0QgTGljZW5zZQorKgorKi8KKworKGZ1bmN0aW9uKCkgeworCisgICAg
Ly8gaGVscGVyIGZ1bmN0aW9ucyBmb3IgdGhhdCBjdHgKKyAgICBmdW5jdGlvbiB3cml0ZShidWZm
ZXIsIG9mZnMpIHsKKyAgICAgICAgZm9yICh2YXIgaSA9IDI7IGkgPCBhcmd1bWVudHMubGVuZ3Ro
OyBpKyspIHsKKyAgICAgICAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgYXJndW1lbnRzW2ldLmxl
bmd0aDsgaisrKSB7CisgICAgICAgICAgICAgICAgYnVmZmVyW29mZnMrK10gPSBhcmd1bWVudHNb
aV0uY2hhckF0KGopOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfQorCisgICAgZnVu
Y3Rpb24gYnl0ZTIodykgeworICAgICAgICByZXR1cm4gU3RyaW5nLmZyb21DaGFyQ29kZSgodyA+
PiA4KSAmIDI1NSwgdyAmIDI1NSk7CisgICAgfQorCisgICAgZnVuY3Rpb24gYnl0ZTQodykgewor
ICAgICAgICByZXR1cm4gU3RyaW5nLmZyb21DaGFyQ29kZSgodyA+PiAyNCkgJiAyNTUsICh3ID4+
IDE2KSAmIDI1NSwgKHcgPj4gOCkgJiAyNTUsIHcgJiAyNTUpOworICAgIH0KKworICAgIGZ1bmN0
aW9uIGJ5dGUybHNiKHcpIHsKKyAgICAgICAgcmV0dXJuIFN0cmluZy5mcm9tQ2hhckNvZGUodyAm
IDI1NSwgKHcgPj4gOCkgJiAyNTUpOworICAgIH0KKworICAgIHdpbmRvdy5QTkdsaWIgPSBmdW5j
dGlvbih3aWR0aCxoZWlnaHQsZGVwdGgpIHsKKworICAgICAgICB0aGlzLndpZHRoICAgPSB3aWR0
aDsKKyAgICAgICAgdGhpcy5oZWlnaHQgID0gaGVpZ2h0OworICAgICAgICB0aGlzLmRlcHRoICAg
PSBkZXB0aDsKKworICAgICAgICAvLyBwaXhlbCBkYXRhIGFuZCByb3cgZmlsdGVyIGlkZW50aWZp
ZXIgc2l6ZQorICAgICAgICB0aGlzLnBpeF9zaXplID0gaGVpZ2h0ICogKHdpZHRoICsgMSk7CisK
KyAgICAgICAgLy8gZGVmbGF0ZSBoZWFkZXIsIHBpeF9zaXplLCBibG9jayBoZWFkZXJzLCBhZGxl
cjMyIGNoZWNrc3VtCisgICAgICAgIHRoaXMuZGF0YV9zaXplID0gMiArIHRoaXMucGl4X3NpemUg
KyA1ICogTWF0aC5mbG9vcigoMHhmZmZlICsgdGhpcy5waXhfc2l6ZSkgLyAweGZmZmYpICsgNDsK
KworICAgICAgICAvLyBvZmZzZXRzIGFuZCBzaXplcyBvZiBQbmcgY2h1bmtzCisgICAgICAgIHRo
aXMuaWhkcl9vZmZzID0gMDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBJ
SERSIG9mZnNldCBhbmQgc2l6ZQorICAgICAgICB0aGlzLmloZHJfc2l6ZSA9IDQgKyA0ICsgMTMg
KyA0OworICAgICAgICB0aGlzLnBsdGVfb2ZmcyA9IHRoaXMuaWhkcl9vZmZzICsgdGhpcy5paGRy
X3NpemU7ICAgIC8vIFBMVEUgb2Zmc2V0IGFuZCBzaXplCisgICAgICAgIHRoaXMucGx0ZV9zaXpl
ID0gNCArIDQgKyAzICogZGVwdGggKyA0OworICAgICAgICB0aGlzLnRybnNfb2ZmcyA9IHRoaXMu
cGx0ZV9vZmZzICsgdGhpcy5wbHRlX3NpemU7ICAgIC8vIHRSTlMgb2Zmc2V0IGFuZCBzaXplCisg
ICAgICAgIHRoaXMudHJuc19zaXplID0gNCArIDQgKyBkZXB0aCArIDQ7CisgICAgICAgIHRoaXMu
aWRhdF9vZmZzID0gdGhpcy50cm5zX29mZnMgKyB0aGlzLnRybnNfc2l6ZTsgICAgLy8gSURBVCBv
ZmZzZXQgYW5kIHNpemUKKyAgICAgICAgdGhpcy5pZGF0X3NpemUgPSA0ICsgNCArIHRoaXMuZGF0
YV9zaXplICsgNDsKKyAgICAgICAgdGhpcy5pZW5kX29mZnMgPSB0aGlzLmlkYXRfb2ZmcyArIHRo
aXMuaWRhdF9zaXplOyAgICAvLyBJRU5EIG9mZnNldCBhbmQgc2l6ZQorICAgICAgICB0aGlzLmll
bmRfc2l6ZSA9IDQgKyA0ICsgNDsKKyAgICAgICAgdGhpcy5idWZmZXJfc2l6ZSAgPSB0aGlzLmll
bmRfb2ZmcyArIHRoaXMuaWVuZF9zaXplOyAgICAvLyB0b3RhbCBQTkcgc2l6ZQorCisgICAgICAg
IHRoaXMuYnVmZmVyICA9IG5ldyBBcnJheSgpOworICAgICAgICB0aGlzLnBhbGV0dGUgPSBuZXcg
T2JqZWN0KCk7CisgICAgICAgIHRoaXMucGluZGV4ICA9IDA7CisKKyAgICAgICAgdmFyIF9jcmMz
MiA9IG5ldyBBcnJheSgpOworCisgICAgICAgIC8vIGluaXRpYWxpemUgYnVmZmVyIHdpdGggemVy
byBieXRlcworICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMuYnVmZmVyX3NpemU7IGkr
KykgeworICAgICAgICAgICAgdGhpcy5idWZmZXJbaV0gPSAiXHgwMCI7CisgICAgICAgIH0KKwor
ICAgICAgICAvLyBpbml0aWFsaXplIG5vbi16ZXJvIGVsZW1lbnRzCisgICAgICAgIHdyaXRlKHRo
aXMuYnVmZmVyLCB0aGlzLmloZHJfb2ZmcywgYnl0ZTQodGhpcy5paGRyX3NpemUgLSAxMiksICdJ
SERSJywgYnl0ZTQod2lkdGgpLCBieXRlNChoZWlnaHQpLCAiXHgwOFx4MDMiKTsKKyAgICAgICAg
d3JpdGUodGhpcy5idWZmZXIsIHRoaXMucGx0ZV9vZmZzLCBieXRlNCh0aGlzLnBsdGVfc2l6ZSAt
IDEyKSwgJ1BMVEUnKTsKKyAgICAgICAgd3JpdGUodGhpcy5idWZmZXIsIHRoaXMudHJuc19vZmZz
LCBieXRlNCh0aGlzLnRybnNfc2l6ZSAtIDEyKSwgJ3RSTlMnKTsKKyAgICAgICAgd3JpdGUodGhp
cy5idWZmZXIsIHRoaXMuaWRhdF9vZmZzLCBieXRlNCh0aGlzLmlkYXRfc2l6ZSAtIDEyKSwgJ0lE
QVQnKTsKKyAgICAgICAgd3JpdGUodGhpcy5idWZmZXIsIHRoaXMuaWVuZF9vZmZzLCBieXRlNCh0
aGlzLmllbmRfc2l6ZSAtIDEyKSwgJ0lFTkQnKTsKKworICAgICAgICAvLyBpbml0aWFsaXplIGRl
ZmxhdGUgaGVhZGVyCisgICAgICAgIHZhciBoZWFkZXIgPSAoKDggKyAoNyA8PCA0KSkgPDwgOCkg
fCAoMyA8PCA2KTsKKyAgICAgICAgaGVhZGVyKz0gMzEgLSAoaGVhZGVyICUgMzEpOworCisgICAg
ICAgIHdyaXRlKHRoaXMuYnVmZmVyLCB0aGlzLmlkYXRfb2ZmcyArIDgsIGJ5dGUyKGhlYWRlcikp
OworCisgICAgICAgIC8vIGluaXRpYWxpemUgZGVmbGF0ZSBibG9jayBoZWFkZXJzCisgICAgICAg
IGZvciAodmFyIGkgPSAwOyAoaSA8PCAxNikgLSAxIDwgdGhpcy5waXhfc2l6ZTsgaSsrKSB7Cisg
ICAgICAgICAgICB2YXIgc2l6ZSwgYml0czsKKyAgICAgICAgICAgIGlmIChpICsgMHhmZmZmIDwg
dGhpcy5waXhfc2l6ZSkgeworICAgICAgICAgICAgICAgIHNpemUgPSAweGZmZmY7CisgICAgICAg
ICAgICAgICAgYml0cyA9ICJceDAwIjsKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAg
ICAgICAgc2l6ZSA9IHRoaXMucGl4X3NpemUgLSAoaSA8PCAxNikgLSBpOworICAgICAgICAgICAg
ICAgIGJpdHMgPSAiXHgwMSI7CisgICAgICAgICAgICB9CisgICAgICAgICAgICB3cml0ZSh0aGlz
LmJ1ZmZlciwgdGhpcy5pZGF0X29mZnMgKyA4ICsgMiArIChpIDw8IDE2KSArIChpIDw8IDIpLCBi
aXRzLCBieXRlMmxzYihzaXplKSwgYnl0ZTJsc2IofnNpemUpKTsKKyAgICAgICAgfQorCisgICAg
ICAgIC8qIENyZWF0ZSBjcmMzMiBsb29rdXAgdGFibGUgKi8KKyAgICAgICAgZm9yICh2YXIgaSA9
IDA7IGkgPCAyNTY7IGkrKykgeworICAgICAgICAgICAgdmFyIGMgPSBpOworICAgICAgICAgICAg
Zm9yICh2YXIgaiA9IDA7IGogPCA4OyBqKyspIHsKKyAgICAgICAgICAgICAgICBpZiAoYyAmIDEp
IHsKKyAgICAgICAgICAgICAgICAgICAgYyA9IC0zMDY2NzQ5MTIgXiAoKGMgPj4gMSkgJiAweDdm
ZmZmZmZmKTsKKyAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAgICBj
ID0gKGMgPj4gMSkgJiAweDdmZmZmZmZmOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIF9jcmMzMltpXSA9IGM7CisgICAgICAgIH0KKworICAgICAgICAvLyBj
b21wdXRlIHRoZSBpbmRleCBpbnRvIGEgcG5nIGZvciBhIGdpdmVuIHBpeGVsCisgICAgICAgIHRo
aXMuaW5kZXggPSBmdW5jdGlvbih4LHkpIHsKKyAgICAgICAgICAgIHZhciBpID0geSAqICh0aGlz
LndpZHRoICsgMSkgKyB4ICsgMTsKKyAgICAgICAgICAgIHZhciBqID0gdGhpcy5pZGF0X29mZnMg
KyA4ICsgMiArIDUgKiBNYXRoLmZsb29yKChpIC8gMHhmZmZmKSArIDEpICsgaTsKKyAgICAgICAg
ICAgIHJldHVybiBqOworICAgICAgICB9CisKKyAgICAgICAgLy8gY29udmVydCBhIGNvbG9yIGFu
ZCBidWlsZCB1cCB0aGUgcGFsZXR0ZQorICAgICAgICB0aGlzLmNvbG9yID0gZnVuY3Rpb24ocmVk
LCBncmVlbiwgYmx1ZSwgYWxwaGEpIHsKKworICAgICAgICAgICAgYWxwaGEgPSBhbHBoYSA+PSAw
ID8gYWxwaGEgOiAyNTU7CisgICAgICAgICAgICB2YXIgY29sb3IgPSAoKCgoKGFscGhhIDw8IDgp
IHwgcmVkKSA8PCA4KSB8IGdyZWVuKSA8PCA4KSB8IGJsdWU7CisKKyAgICAgICAgICAgIGlmICh0
eXBlb2YgdGhpcy5wYWxldHRlW2NvbG9yXSA9PSAidW5kZWZpbmVkIikgeworICAgICAgICAgICAg
ICAgIGlmICh0aGlzLnBpbmRleCA9PSB0aGlzLmRlcHRoKSByZXR1cm4gIlx4MDAiOworCisgICAg
ICAgICAgICAgICAgdmFyIG5keCA9IHRoaXMucGx0ZV9vZmZzICsgOCArIDMgKiB0aGlzLnBpbmRl
eDsKKworICAgICAgICAgICAgICAgIHRoaXMuYnVmZmVyW25keCArIDBdID0gU3RyaW5nLmZyb21D
aGFyQ29kZShyZWQpOworICAgICAgICAgICAgICAgIHRoaXMuYnVmZmVyW25keCArIDFdID0gU3Ry
aW5nLmZyb21DaGFyQ29kZShncmVlbik7CisgICAgICAgICAgICAgICAgdGhpcy5idWZmZXJbbmR4
ICsgMl0gPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGJsdWUpOworICAgICAgICAgICAgICAgIHRoaXMu
YnVmZmVyW3RoaXMudHJuc19vZmZzKzgrdGhpcy5waW5kZXhdID0gU3RyaW5nLmZyb21DaGFyQ29k
ZShhbHBoYSk7CisKKyAgICAgICAgICAgICAgICB0aGlzLnBhbGV0dGVbY29sb3JdID0gU3RyaW5n
LmZyb21DaGFyQ29kZSh0aGlzLnBpbmRleCsrKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IHJldHVybiB0aGlzLnBhbGV0dGVbY29sb3JdOworICAgICAgICB9CisKKyAgICAgICAgLy8gb3V0
cHV0IGEgUE5HIHN0cmluZywgQmFzZTY0IGVuY29kZWQKKyAgICAgICAgdGhpcy5nZXRCYXNlNjQg
PSBmdW5jdGlvbigpIHsKKworICAgICAgICAgICAgdmFyIHMgPSB0aGlzLmdldER1bXAoKTsKKwor
ICAgICAgICAgICAgdmFyIGNoID0gIkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hp
amtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5Ky89IjsKKyAgICAgICAgICAgIHZhciBjMSwgYzIs
IGMzLCBlMSwgZTIsIGUzLCBlNDsKKyAgICAgICAgICAgIHZhciBsID0gcy5sZW5ndGg7CisgICAg
ICAgICAgICB2YXIgaSA9IDA7CisgICAgICAgICAgICB2YXIgciA9ICIiOworCisgICAgICAgICAg
ICBkbyB7CisgICAgICAgICAgICAgICAgYzEgPSBzLmNoYXJDb2RlQXQoaSk7CisgICAgICAgICAg
ICAgICAgZTEgPSBjMSA+PiAyOworICAgICAgICAgICAgICAgIGMyID0gcy5jaGFyQ29kZUF0KGkr
MSk7CisgICAgICAgICAgICAgICAgZTIgPSAoKGMxICYgMykgPDwgNCkgfCAoYzIgPj4gNCk7Cisg
ICAgICAgICAgICAgICAgYzMgPSBzLmNoYXJDb2RlQXQoaSsyKTsKKyAgICAgICAgICAgICAgICBp
ZiAobCA8IGkrMikgeyBlMyA9IDY0OyB9IGVsc2UgeyBlMyA9ICgoYzIgJiAweGYpIDw8IDIpIHwg
KGMzID4+IDYpOyB9CisgICAgICAgICAgICAgICAgaWYgKGwgPCBpKzMpIHsgZTQgPSA2NDsgfSBl
bHNlIHsgZTQgPSBjMyAmIDB4M2Y7IH0KKyAgICAgICAgICAgICAgICByKz0gY2guY2hhckF0KGUx
KSArIGNoLmNoYXJBdChlMikgKyBjaC5jaGFyQXQoZTMpICsgY2guY2hhckF0KGU0KTsKKyAgICAg
ICAgICAgIH0gd2hpbGUgKChpKz0gMykgPCBsKTsKKyAgICAgICAgICAgIHJldHVybiByOworICAg
ICAgICB9CisKKyAgICAgICAgLy8gb3V0cHV0IGEgUE5HIHN0cmluZworICAgICAgICB0aGlzLmdl
dER1bXAgPSBmdW5jdGlvbigpIHsKKworICAgICAgICAgICAgLy8gY29tcHV0ZSBhZGxlcjMyIG9m
IG91dHB1dCBwaXhlbHMgKyByb3cgZmlsdGVyIGJ5dGVzCisgICAgICAgICAgICB2YXIgQkFTRSA9
IDY1NTIxOyAvKiBsYXJnZXN0IHByaW1lIHNtYWxsZXIgdGhhbiA2NTUzNiAqLworICAgICAgICAg
ICAgdmFyIE5NQVggPSA1NTUyOyAgLyogTk1BWCBpcyB0aGUgbGFyZ2VzdCBuIHN1Y2ggdGhhdCAy
NTVuKG4rMSkvMiArIChuKzEpKEJBU0UtMSkgPD0gMl4zMi0xICovCisgICAgICAgICAgICB2YXIg
czEgPSAxOworICAgICAgICAgICAgdmFyIHMyID0gMDsKKyAgICAgICAgICAgIHZhciBuID0gTk1B
WDsKKworICAgICAgICAgICAgZm9yICh2YXIgeSA9IDA7IHkgPCB0aGlzLmhlaWdodDsgeSsrKSB7
CisgICAgICAgICAgICAgICAgZm9yICh2YXIgeCA9IC0xOyB4IDwgdGhpcy53aWR0aDsgeCsrKSB7
CisgICAgICAgICAgICAgICAgICAgIHMxKz0gdGhpcy5idWZmZXJbdGhpcy5pbmRleCh4LCB5KV0u
Y2hhckNvZGVBdCgwKTsKKyAgICAgICAgICAgICAgICAgICAgczIrPSBzMTsKKyAgICAgICAgICAg
ICAgICAgICAgaWYgKChuLT0gMSkgPT0gMCkgeworICAgICAgICAgICAgICAgICAgICAgICAgczEl
PSBCQVNFOworICAgICAgICAgICAgICAgICAgICAgICAgczIlPSBCQVNFOworICAgICAgICAgICAg
ICAgICAgICAgICAgbiA9IE5NQVg7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
ICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgICAgICBzMSU9IEJBU0U7CisgICAgICAgICAg
ICBzMiU9IEJBU0U7CisgICAgICAgICAgICB3cml0ZSh0aGlzLmJ1ZmZlciwgdGhpcy5pZGF0X29m
ZnMgKyB0aGlzLmlkYXRfc2l6ZSAtIDgsIGJ5dGU0KChzMiA8PCAxNikgfCBzMSkpOworCisgICAg
ICAgICAgICAvLyBjb21wdXRlIGNyYzMyIG9mIHRoZSBQTkcgY2h1bmtzCisgICAgICAgICAgICBm
dW5jdGlvbiBjcmMzMihwbmcsIG9mZnMsIHNpemUpIHsKKyAgICAgICAgICAgICAgICB2YXIgY3Jj
ID0gLTE7CisgICAgICAgICAgICAgICAgZm9yICh2YXIgaSA9IDQ7IGkgPCBzaXplLTQ7IGkgKz0g
MSkgeworICAgICAgICAgICAgICAgICAgICBjcmMgPSBfY3JjMzJbKGNyYyBeIHBuZ1tvZmZzK2ld
LmNoYXJDb2RlQXQoMCkpICYgMHhmZl0gXiAoKGNyYyA+PiA4KSAmIDB4MDBmZmZmZmYpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB3cml0ZShwbmcsIG9mZnMrc2l6ZS00LCBi
eXRlNChjcmMgXiAtMSkpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBjcmMzMih0aGlz
LmJ1ZmZlciwgdGhpcy5paGRyX29mZnMsIHRoaXMuaWhkcl9zaXplKTsKKyAgICAgICAgICAgIGNy
YzMyKHRoaXMuYnVmZmVyLCB0aGlzLnBsdGVfb2ZmcywgdGhpcy5wbHRlX3NpemUpOworICAgICAg
ICAgICAgY3JjMzIodGhpcy5idWZmZXIsIHRoaXMudHJuc19vZmZzLCB0aGlzLnRybnNfc2l6ZSk7
CisgICAgICAgICAgICBjcmMzMih0aGlzLmJ1ZmZlciwgdGhpcy5pZGF0X29mZnMsIHRoaXMuaWRh
dF9zaXplKTsKKyAgICAgICAgICAgIGNyYzMyKHRoaXMuYnVmZmVyLCB0aGlzLmllbmRfb2Zmcywg
dGhpcy5pZW5kX3NpemUpOworCisgICAgICAgICAgICAvLyBjb252ZXJ0IFBORyB0byBzdHJpbmcK
KyAgICAgICAgICAgIHJldHVybiAiXDIxMVBOR1xyXG5cMDMyXG4iK3RoaXMuYnVmZmVyLmpvaW4o
JycpOworICAgICAgICB9CisgICAgfQorCit9KSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
d2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVzb3VyY2VzL3Jl
ZC1ncmVlbi5tcDQgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxl
cy9jb25mb3JtYW5jZS9yZXNvdXJjZXMvcmVkLWdyZWVuLm1wNApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40YmQ2ZDU5
NjU4OTA2ZDIzNTY2ZjFhYTE0NDQzYzNkYzFlYWI0NjEwCkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJh
bCA5MjIyNQp6Y21lSTUzdj85SzhPUUpKR3lCTFVLO0QyUkFjN1c0dzIlfUw1YGtKdTNBTHM/dFYp
UyZCOXclWFl6UGtwRT1VIVEKelIxcz5TMHBIWEl3bG9ve2N1P3lSRDZQZTRLQDI0fEs5V1lrOSp+
MVBpPT1tdyg5TH1GV3FhcWBQRVhKMnd9KHdPCnp8TG58dnp1KFJgY2ppQWczdTcjO3EteD5admJq
VUEpMj9RUGB1QUNwQC1vSSlUdUVoZEcxRzNweC00OCZDNFA0Sgp6NjI7ZWU1QSF2JkZxVjlkRiY3
cz8kZk5uaGxkcVZgbjNITGBRYTR+RlBhSlcrdXp2NkRJamFqc0V4dGVIanNYdU8KentDNCN7aT9s
LW5VRWVzSihmcm8ybXNhZzlkSDxGIzd1PiZVUm10RmNQbj47YT1aZTdVPTkxSG94NlBoLXhPd3hp
Cnp5bD8kXih1YFkhd1k/X314JTxSN1ohTFhje2cmc0NvKmQ+cV41LTNJVHQwUWUpaENDWmAxLXJg
O3xLSEJAQVp1egp6Sj82Y0lwNE1sYVF8fGlCKVE+TEMlNWgjKmRVP3FRSWcxWTZ8THJkYFd8c31t
SjNzQzRyKkZCPkI8PyEyPzVrbF8Kenh3clRHUyNDPURybm1BfWpRdzVDbVcqZTJoIV5lZlduVV5M
emlUbT5TdjlPPiNLcU95OHokXm5TZV9Cc3VzemIpCnpsc0txbT1pbEI9VXdFU1Y/SnRiV0B+K0VY
bz5pbTglQEBuPXQ4Z352dzRPVSQmeFlzczghX0A9O2t0JVg3WH5qZAp6RjhUJnNiZnhUfm5nUEZY
Yng2QnZoR08rYTx5flF8UEkqXll0NWUkNTBjJitoeUU8VTR1MmA7RmlFajJwQDN1RkAKem4/JCF4
MD1YTzFQJUkqLVdgTWFIeExMSEslcDxDMVQma1B1VCFLbmElPi07dnNRK3olJUJjVHNwc0VVV0cz
YHslCno/fX5FJlJ9KW8/cyMmdzVSMSNEKEY0Z3t6NUw2NSpIO1l5akl7cnMhKFdaKChRSSVBb0V9
e042elhpKFVLY3k7Vwp6c0xJRnheSiFCeFEmc0slTVBpbEZweHByaldWZHtqM2o8XyN0U0h5dT5W
eUhaTjd+ZzExN3dmOUUzRE5rPytSPTYKek8xcnZYdCNRKD5FPzhAdnllcThMQytgWXRefkd8ZjdS
NmVXbj8pLU1qVjFeISlnMiM9Q05AQV9LPmNyfnMoZHNfCnpYXzZWTF4zZiFucTd6aHZmRE12enw1
SFlYeWVxMlhLa1phKWZPPEVMfDdOUG57WkIpYzhMSU81UGJYRDJLd1Vgdgp6Wj5DRTlaKVQjZHNF
Kz9NbiskbW1SSDBJK2Y8b25wWUMpPEgmeThtRVprUW5ackwkWiZPcHlKdHZSdERwT3BwV2UKenR9
c0NrTlZ8R3F0d0N2NTUzRHNQPytSOzttdkBEPSMhSV87VlhZeClTMSt0SjZ3OCZ5WG1qdFc/KWRI
QHNRLURXCnpibHppVEQkYVgycUZSdD5qN0RJb19DRXo1SGI3bFVKNUA3UDxeSEZrJF8hT0dPYF5I
VUhiQUJFQUJEO2gpcStHPAp6bE1xO3s8M0NOS3dFLSRjXmU5eDBzMV92WmUqfjZsfEk8bTg0TiZQ
dzZAfChYKXEqciVKVTV5cWR0dWdAQWZHekkKenRUUTIyPlMlQ3tnSVE7eXZ9K3Y5SXVxcXhWWFp5
blUxNjt+cStOWm0pfUdSP0szSG97Y35AOSNGTF9zM1lwKzxZCnpiZEdOQko9TXtLdTElVm1EeGFi
Z1IxXypsUjB8UnZxYSgwWGA9OFFlOD16N3xoZUc5dVlDKW9EdjxOS0t7LTxlbAp6SGJBQWJOZmF0
YVIwfFN+e3xHR1ZlKn11RXF6YVlCZjgtcmR6TTVQYD1sXkRgcyslZkpkQHdVcktMNGthRGlrVjUK
elIwfFRORGhNcHF7JERLQzhJOT11RmhFWHtqJmw3bEt1KEdrPHItYUtmU2ZHdjNJcFYxWTFhVShI
QVVKcjBCY1E9CnpjWklkNCVEY2leUT45Jmx1K310YipDNERsRXRWP3soZEhnaVpCZUA1WWk2b0dI
PD9CZ2xxdz14a213S3tmdS05Mgp6XnRzNj5SRjA/P0J1Yk1KU2dNO1VMQTMhWVA1NEJpYXp3UXQo
TlByd09TUylMc0ltYm5eKjspZ0JkUF83PHxaU3MKelJRc1AhcyUoSHRUUGd+YkJkUF83X05vWGgp
JjhnMUJzTV5laDs+RklgWENJRCk4KFVGNyRCI3xpZ0ZGRUBpMEtuCnprYW1yUzBkamBDRTNDRCp5
ZXE3PXgzcF5yKjRqdGZIM1Z6ekJrdX1wP0pNc0pZd2E3JGxfR2pgazFFZWlweTB5ewp6UnJ4WUg5
WmxLKm05fHRBRG8wY2M1KE9VIUVZK2gpbm5wYGQ1ZHQ8eSVId3xwOWFXaiU3Uztaelg+P3wkJF9H
XzYKejtTK18qNSFIZjNYJVlmVXdmfH1TdyplfGBzVkcjQXMxX3N8c3R7UEp7WkhyckhiN2s8KjZI
dmlpbSZrPT00KXRTCnpFY3FOYEUtcitTTkFvM2c0TGBOaTBWe2Myc09AfVZ7b2RsO3h0WGBzcDhm
MnBHYk1XLSR+bTNXenZhTkg/NXhMWQp6OCFucXQ8Kk0jb0BiYm9fXiojNXpTJDFVMmxEeVIxeHl2
ZHhse1JmSFNoez9GJGE4ZV4hXj1LUit4bDg0QT4rYUYKenRzQkdCd2chZVlZRm08em9nY0M4elYo
Q0JjZk40cnlUPH5kITVJaFoqS0shaS1kPE99WlN9c1o3OTZfbnZCUmFPCnpZQ21mSiEtdVV+cnRo
cHdzJT5qS14rO1JXeFYqTlBLNVNkTl5zQ2MlQTZ0N2RAI0RQeW84TnRPLTBQcCo7QHk0Mgp6N3wq
MklRTHxHPW90JT1uSH1KJnluZSpKPVVtYVg/PllYSj8mKmwlPDkyb3o0KF4zQ3I4PUF0dWAwQ0tu
Un1RezYKel5pU0khc25oT1V2SHY/K1M/NndDKj9STjFwUy08eCYjOT9IRTtLaEBgfDJOU0hxMDEz
WWdxUkY8I3w4OT18e2kqCnpScXAhRj4lLVM/Tj1zVFFVX30jb1coYS16WFZ0S2w1ZkBrMkV6Zz07
UCtobGNAKyR1ZWhkKCpjPGErV0tocXRYOAp6OE9pP01ieHA+XzRaJnxsUipqfHl6amNFflByY1Q4
QDdsVT1vPitZOXdhVDlKJno/MGRXeXBOPnJTIzFBLXp9d2UKemVScjh5JHwyKlc4NEE+d2xKYkll
SWk8V3tUfX5NPDJkdjhfPEs9Kkx4d2BTOWxSTDVQZnQmSXZHWXklNXNRI25zCnprVnpBO1pHY01R
RSgoPCtzcylNdU5FKDVxK1cjfkchdj81eSU4V3dnaC15S2kzRF5pTSkmOGViVyplWj1OUUZZPgp6
aC15S2lpM2tXUikmNV5Wcj5iVkVzIShZSHd3YkI9QTdJbkBLU351NUVsOUxlTVBSQStLYUt3PVJG
MD8/QjsmTXAKejJUWTZJUVZBfGhpezBITXhaLXQxMUE4WS1pIzstNFBNOCpacWBZOFZVTVZrRm1z
aUhpMT8hNUZAcDhlczstdEpfCnpUfE94PFNlTElHRkZLNGRjYXJMRWpPTTdCbkpOZUZsbnRYJElp
Z3lTPSVaY3tTZ1FSYCpebXVUWC1oPythendRdAp6UVIwcmtRdGZ+R0tRMyo2TipDTndzMm91KE5Z
d3ViRVk8I31AdD5kfjFaPEYkPVo0WHlpbzdlVHtaQkViNE4mUVYKejh3ITtwc3MpTHo0SSF8VWAo
TGF4OGlLb0ZTblFWeGFOUkkwX0lESEQ4b2dqeDlGWCNZVlIxbWwlTEQ1USU2TkhUCnpUfHBAP1NY
YUUxN3B5QkAjPiklcTNkd2tSVk9ebmF5ZU0hdGNic2EmKEZgeztRfXVaUmJjcXxLaWlqMkBJXmFm
Tgp6c3JFbW03JHtWWnMxX3U7OyljTGQtQmM7WXY7aXZwRiRNfmlCZFBfNyZiU2Qrc3tLIWdzeTBC
U1lyYG0xajtJelMKeitFZnUoc3tLI2R1bmthWXEoWSVgTTcxRSVVS04zKitXIT98b3paT0Ezdjxs
YHNqTHlebmhEKXhqUnZuY219QDQ9CnpjKlZoN0dmflA1KjQwREczKWE7YCM+KXJtPk03JnBnTFU8
a0BgODJzbEpiSWVfM0ZscHZTRCtfc1d1ITl4TXJzNgp6KilWLSNBVzlWeEVsM24mQWgxO1hwOHxJ
akRvMGNjNjIrSlpFWShld2NCKGMmckheNG9wPmptRUFrbjZaeio2bWgKemBudiVlcGkrdjdMZ2sy
Ukw4NUYzZnUtOTJ3NWkkdm1DcFpCczJvdShOUityRXV2R2g+Y0IoYyZIM3NmfTcjMWhWCnoxaHs/
fTdBSktSO0VMQkQ0ZnAqcEVLWmo0Zj87djhqOF8yR2xfS0w2Zk9WeHZkQk02O3JNekhXc1dNKGNT
WFl7aQp6Un1qe2Ype1BlaD8mZ2tEeytsdXlhbWBTYkttTFNIeE5VJCtmamJKN0JkUF83NV9iZmE+
YWlnTz9sd1RCb2hrfkkKekJkUF83NV9iZmFZWDgld1k2RGFYKyk9MDtRN3VUNjRJIXtwYD05PDgl
TGI/dnhUOD14cUZSdlh0T3xqcCtXJk0/CnpXZGxfRF5iLV4rTV5wPF53Um1uYzFyTmZzSTkpMmln
PXVrbUh3bXU2RDt9b0I4OFRrK0ZmR29JQGA4MnNtaHlzaQp6Xl9LQXAhTWdnJGMhZ2tIZVdiaSNV
NDVtelV8b0g/QHVJfXQrKHxTeG4zKlVtcyEoWmNLOzhvN1llUkl6alojSEsKejNsaHk2S3d6byVL
Vj9IR1JGMD8/QnN6XmpWNXg0WjFsMHpwKWMrX3tqO0l6UytFZnUoc3tLI2R1bmtiQCgrXlJvCno5
OG9QdUcmYy1eclB9fVctPV45Q21CeFAqRG8wY2NRcGYqQW5KQVdzX2Jee1czdURSVzc7fHdVZ2ds
eHIhNFB5Rgp6OG5CV0ZMdjd+Xj4tUUcjJmR0MjdfVXZhKm9oak0jUHxvUmB7dylWcVdvSkVKK2k9
O0dEcHomeWZ8b1pZdD8jKyMKeiY5V25GbWdKQDgmUnRmcXNrRXU/PGkrPE57cTVkeUtWSV57UShK
IWpWKjIhKVAxRFlOR1dXJjVPY15xJUBMPW5ZCno2QW5DRyFBSTNAbkFBRzRYOHB7JjJCaFJpMjBu
UC1sVWVXSWFCdCshe0p2bElEfHYzdF5lMktYQyNVfS09ZzdBQQp6Y1ZEMFAjRFIlZEpldXt1YjVE
KCNGbnN5d2cyY3Zte3lLOEBSYlBNZVZmUDB8cj01THUlYCRmN18qYnF1UW9PNXIKel9fbXBFPCZE
amJvY3NPcFVST1dkYyYwOU5lODxaWm11IytsWX5TK2RrQk1yZDBYWnxvdzhPSiVTaiZpdXRHNzJ5
Cnoqcy11WUJkfXE2cV9IVjZgPXZYRXtjemFFam1KTF57O0h0KGlecDFAekNMc0dHSm56RVV1NWpn
KFg3VmBFbiVyfgp6ckdeeXVoTzhQKlBqUj5KdDhnfnZ3NE9VJCZ4WXNzOH1XRWpXYUstKU9tdDde
bSQmT0x7Z2R1VklzUm4qZiZBdHsKekFNOTxeX0klTCV3WW4/Y2N5aHBlPDlaRF9AOHgyPmRkPl5o
Sk12KVJ4YHRDMTF9YHV5c3V8dX12OFYlaU4hPWBKCnpLJV80IT9gaS1jN0luKEkhZGppdXRgMW5N
T1dNQHxZandxUHI4ciR8VzhrSmJvWUpRVzFFQmhrcyElRFRNNEBzLQp6d0lFVFBqPS1XIzZAajhF
NW1aJXokbnRiSzRTfUw4c2N4ej9lLShLUFJIMEl3aEM9MHRZQylvcTApZUh2c1M7RWgKenBpKU1P
TGdrMlJMODg0WDAheXwzWTM3Iz1QLSYtJUxnazJSTDg0UnpmdS05MjMmbEY0QHdAe0QkWnEqNDdZ
NH1nCnpTVyZMUSlkPlMra0Y9ezMyRk08SFM2SGk4LVdBc0JtM0RRKFRIflokVTlpP1RjfkBBZ1B1
PjtRPldrJHs1eHUhYgp6UmE9eHM2RWpvdzR8Uyk+U3R3T1J2PjtKTGtIQXZ4e3xlZnZueUQoTSRA
Q2MkV35qOytLNTN9MzBWP2ZPUUslZUkKekVsM282QWgxLTJEKjd9ZTg9JXJpZytrP3NZQylwTyok
NkR2ey1eUVoyQj5zMzM1Q2lMKXErRzU5fSFycHtsN0A4CnpHbnl2NVZiPHhGUDk1RGE+LTVKOzln
VklxPmtQPWQhbUtrTz9kcE5HMkJscCt1LTJmd0UzN3FNLVdBcHdGWVc0dQp6d1Q3ZiF5fEM2JEVM
UkZYJXNyfndxQk5TQW5YMEdCYmRIV3ZNTU1oe28la1RJUlFzUXtSMV8qbFIwfFNhTytzTCkKelpt
STs7MkI8V1AyOEdISSlxK0g2RzZHQXJ8MCR4ZzBWPlUrTVdKIzt3SUk+UUtxSWhKYD01XmdaR2NN
U0tNSXYyCnpzcylNcUFBek9YfENOamQ5eDV2QCpGUiZzdzUpbiZTb2lxRDt2V3Z4P0Bhc0E4c188
TUV6XzkoRk0yY2xBWXx9IQp6ZSlPNXhCUFV+P3VUQG5SJUApN0J5PXIjNXJ9dGw7bSk3UUtHJVZZ
MDBldD9BPy1qLTJEKmZ8ZWBWXk4mc3liSnUKenV9a1oxVXpodm92aGJgVEB3PzJqRnNQbUY8am5h
VE9XeGJRPGp8U25RbypYQDdBYz1NPWg5PlNkIWhJX29MTnZUCnpSK1R4ZlhpbTdhU2J3VmYraHch
bmwheW4zaytQMDs+KDNScEU1YVJtcEt4V2R7KEpxVnpuYjhAJUZAaF4kTD5JKwp6PmRzUX1fX2p6
QHIyUmVWKEFqcyg8X15fZ3VZUE48cCM3MTk+N1JoM3poZUQxdXM5T2Q+dEBiJEB4fDM2S2JkKk4K
enYlaFM9eUIkNSZjcj1Jak1PdmgpOWdxR0BlTnspcmJNP243aDI7JFdmdz1qX1VIX2ZGZGl9ZTI+
c1VoUFdCdGpPCnpiZ30rXz5FMTU3dVp5bSk+KGNYc1VHKEBhZE1LKHBVbHAlSXp1MGw8Q1NJUjVO
ISV4UWV5N0pCSmN0OHZfI2ZLXwp6Km5+KmNqUGxPTDc1ZldrMjRma29GP0wtTVc4OzNxKnp7VyVu
fTNTMmhYeWhCT2J1aE4yTi0qQUFZLTN6VjRCbTwKencyV0pzY0leZUdqVDxsYU5uZ1ltRClqeEI3
KWBfdzEja01ec19QQj5vVWl9eFdedzJHMUo9ekBwfDk2QHErPl94CnpuJVZ0T0YpeTFyI0B+a3g3
MWd1QyNxQUVBVW5ZeTYlU31VdEU3Jjx5QnZwM3w2PHVHZyNCa3g8KkV3OGwyRSliQQp6aW1HUV4r
aUJmKG9nTEU2cVdXPi1wPz1xSW4qWVloVj1+OC1pfUM1TTRoNFFxWWlrcUlENiFUdFQwdVQqYDxN
K0oKelNkYnJsdn5LSktTSDZ5bDlpNHVDdyk/TStXNkt9O1hgMTdoSHZoKSl5U0RkO1RlQylFdTBj
bTElb0l6KmFwJmpsCnpqRDxlS0kzOFduYCphelBeY3dWZz1lWG4kMUd7MDI1WC1QOGFsYipfTkJu
PT53WHZla0phTnpZfEZ+O3pRSyM3Nwp6djhtJHotK1loM0s4PVplUzZWcV4qfVdMTXNmZSpAOyZe
REB2eTQzO19HX0QkaD1afT9qT2BjdXdJbGI0RSVxNEcKelFwSjk0JFgyRig+dzxYUWBabkV1aCRi
SEUkNWk/QEp5UDhES05YeGdae0RuTSE0Sm0lO05qTyt5cXgjX3Y1ViQzCnpQdSh4e1lAeXZHb19R
c15oQj9IKE1xYERub1hydS02b15NUnZyMENMUmtJPmkjWDl5bG5mZn0hdnJfY3VQdWVZeApNRlUz
bTI7OyFIUjM2VGdSOFVPJFEKCmxpdGVyYWwgMApIY21WP2QwMDAwMQoKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3Jl
c291cmNlcy9yZWQtZ3JlZW4ucG5nIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVzb3VyY2VzL3JlZC1ncmVlbi5wbmcKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNjA1YWM5YmExYmI4NDQ0YjA0OTViMzQ2NTRmMGViNGJkNDNiNWE0NApHSVQgYmluYXJ5IHBh
dGNoCmxpdGVyYWwgMTQ0CnpjbWVBU0BOPyhvbEh5YHVWQnEhaWEwdnBeajZscjkhMn40NTl4RTFy
MWQ0OylvZnlgZ2xYKGZgdSV0V3NJeDtZOQp6P0MxV0kkT19+dUJ6cHc7R0I4eEJGKSVjPUZmalpB
M05eZjdVPz8/VVYwZXxseitnM2xma0NgciZhT1prcGFoPyUKbGkoYG1IYz1DXykzQHJhODg5NHFr
e3hgZHtMSU5ubTtPWGs7dmQkQD8yPj8lcEI1ZVF3CgpsaXRlcmFsIDAKSGNtVj9kMDAwMDEKCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9j
b25mb3JtYW5jZS9yZXNvdXJjZXMvcmVkLWdyZWVuLnRoZW9yYS5vZ3YgYi9MYXlvdXRUZXN0cy93
ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZXNvdXJjZXMvcmVk
LWdyZWVuLnRoZW9yYS5vZ3YKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTU0MzkxNWExMDgwYzhiYWM1ZGVkOGIxNjU1
NGJhZWMyOTBkMWM4MQpHSVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwgMTAyOTIKemNtZUc/Y3w2bz5f
dXNMT0hPdHQ9M3sjQXkzQFhISk94N3RIIT5DY0ohTmlifkxBaDtYNE17Y0dzcUFJS2pTI0p0Cnpp
fGprNGpTN2BnbSYmfkAqWUVreD13OTlUe0AoWmZedUItbktFTHlNSm0pIypKa0w0TEluVndibnx5
cztBcHZMcwp6c2B1fjx6WjVpRk0tWC1+UyQrKDw0PHpfaTREaj5DI05XYDFzelJILShKayVFbXlP
bGp4UUViVmh4anF9MkdhIXYKejVSZnAwZ2RqMm12MC1fcjVkO2FvO01HSnhraHZiPkZJdioqSlE8
WGReXiQ8bEshb2lMX0Z9U05tSF8pWTFrRDQwCnotWFZDbjJFbnQ+dU1UcTlIPXEoS0ZCczRqQWRg
Vn1VVkhhMkFPcGFIeTlXRFo2YmRvYEZhRntyJW1hT2QqNi1hRAp6IXFeakg9b1RLdHV0MHx+ZUhl
UkpeOEp0IVUjdClBQiYtN041KTgxfSNxYyVXLXxDfT5gWWB2ZDxhO0N+eyV6O3MKejk+UTgpSTZC
Tm9ONU83Pmc7TnB5OV9Sejw3R3t2JmljUGAzPS1vXiZKe09IJmZrenR+OEpRY0k4NV5UQC1UWHBY
CnpkbDxXWT1zMzZ3K1RoUkRkSHA2RVRaK31MVTRjT2lVdEBrTkwhJVlPdE15cjdkK0A4eGpaSE5g
SFA9bTQlNmkpIQp6bl9Mfk5UXisyPFNEVHV6R1JGSERuZlJFfipCQmN8QHwpZjIpU2F2QzN7Yjhy
YnxsSEx2TTJDfmw7aT5vNX0pV0wKejZPQk88ZkVxcj8yOX4re2FfKVJ+bS1+RmNlQ3pIQno0dn5Y
KztydH1TUHotcyFfQmkhPn5hLTVQKGo2PWlOezgmCnpBUC1xQ08lbG5zWDVWbnZMeH5BX1ZFe3Yy
R0ZHNlQ1TkQ+S0k1TklFK344eXJlUHY1ak5fQ2dsUHdvai0jMFg9Swp6WlNJb0VHWns1UTQ1UEg7
JVAxTFU5MCR5KVZ+ekU5TkJ2RWVDN1FmKTM4KEN8V0J7WT8mUTFkcUdBZT5fYFIjdVMKemIjPWRC
dGdYcENKITcmTTdaPHxsQz9IKjIkWVRndUppc21wU3ZZcmIhU0U7LTdlMipmQGlNNWM5QVNPQnli
aVItCnp4WVhCUTlfPEJXZVNPXiswIzdnUj9YOCFeMThRdW4qRSp1U3o4N0dTMHxXe0hVPDYmeE1N
T3JLXndpYWo7cSZ0dwp6Z0Z5U3BzQU8wNm1AS2AyUmpBKz8jPj0oOVpZWlFUKGotSiFAdDhzKk5A
elQ2ZV9FX3RPdyRKKTV4WCRfZStuM2sKeiVqc01JNzs4Rj1hJFY+PUdNQXQ4U3BQSlcjbjVNbk00
fm11SSNMVjleaGh+P2h9SlZPXns+SE43OENobF8zRzdsCnpqNyEwQzcpUnZDMDxfeHI5WmRhZSEy
ZFpDLSZld2IwUEtyNlVBfTxvYEJaJWBqfHMqS21JMmhlZlg0WEwqY2d1cQp6MjJmVTMpX1B4VjFB
Pm5QRmchez8lTFFmJVhpOzRGaH5tUGREM3NHTWxTMUwtRXVkVGswJTBBfEFQflZ2UTQyX2oKeiRC
WXNaTEk0PitMSV4kKjUjVWlHJE9WTGk0c0c4U2EoTWZMU0w7QG1Ufl4odGIwfGl3ZW8rMmthRUkt
K3EmME8lCnojXnIybyl8WWNXNHBLfXolOWAjKmlgfVZ6eT53JCo3cnA5fFIzZXZoPEowfm50IXZ8
JDhKQD8+Zzt0KW5rRyh8Ugp6P1FgUXVAVSspdmBeczx+dXtvLVBiOzNrM0t4Tkk1Q2Rxd0tCYkhP
T243WHpoQDRlYVU2NWlnQm80eHYzWEs5Zn0Kej88Qj5oUz5XWitFPzA4RUVmcXRJe2ZDR2pRTk5V
VFQtUFF7bE1tWFQ0YkJTT2V8Zlg4VUx4YHFjSyowK04kYD55CnpvMyZYeHJaRyU0JCk9UT9IT3sx
RzxoaXtUb2NDQGkkWFBTemwjO3RFKStFUyFNaWZNfUp+PyhoXnpwbjteVVBoRwp6PSN7JDRza0tR
ND8lcXEtWkFvP35aMkRUTzxfOExFQDJQSiZxXlRwKypJSWVOYU1hfUdiNDdPezVBVzYjU1JfYGUK
emFwUlQ5ZmJHMkMtUU56MilrZVNpeE9IYn4oREdFTGtTNF4wXkJieEk4I19HcDtITEJQRz1IaENE
fEVTbUg0XiQjCno+elh2fGp8NmMhJC09IzdlU1hnMDV0RE1md1k2fT57JWozUD1HZWFKLUlefX5a
RlB9bEt9fU9NK213Xm85cnlRUgp6UnUzRmJQaSlMeF90Qj9YSEchLWhPYH4wI2VlRjFMV0YqP0Ff
VlJOTnBFK2xWXmp9WVJoYm1BRU5fT1pUZSMwSiMKenBDMndkVjVmRDgoVEk5NXZTTXhqZnQ/YWx3
MlNQUThmdTVHPHZRemNKcl43bl9iJGJ6JjtHWH1KTlhIdnVDbHNnCnp2bHNSU0NRU0ItYCFvSDUj
KzlBKU4zZ1RvNjQhTDcqMmFEfmxYQUN0UlF2diU9c3A0OCRfK1lhLTdjOHVeY2QxPgp6bWFKVlp6
V2Y3Q0Q/c1k/cTwrKGBvI08qUGBxYSN5T2VwcWZmSWZhT2w3SUZmVX1ReWhnRnpfXkZ7YllvZjBK
VisKekxBeU9oKWteeiRAN205Mm9CYSRGOXoxMEdadyQxclhxOSg5UEJWe2d7dXR3eVNabVFHfDlP
d0pZOz09VSlkJGJECno8KD5zPFg8YyZSaWtlNzBpcnBLRF4mZkRTclFZIV5FQXJOfWY7dj5tX2ps
fHspQmhiK2xrTEAraHhMaT5kdEtWSAp6PUlwMUBrQW8/WmFZNklAKCNVUmwxI0E3cDNQK3MkQ2RS
VlkpY3NLVGBNdFg1N1dlU3oqQiN9ZjZmTHE7UTV3eE8Kej1CVH1CP1NhYjFUbFBjeGN3ZnpEViQq
eGNHKjhsZ3YxeDZnJlo7eT08Q3l4UngxP2lLI3pyMHxaUz92YkxEa1hQCnpuQ3xeZFdPfDhMVyQy
NiZFM09TdWVUQkpWZjd1cz83dVVpND1Ke2FKQ0hXZEZ6QSRga1hUcU0qPDRnbGY/elFGWAp6Izwq
UVlXWjh8M0N0ZmApQ1VgOTc3MFQoP2dlSy0lM3klKldodk1gb3FkKCUrezlCN2M9dHNsVWFeMCh9
ZSloWWoKenU+cVltVW57eX4pa0NXWjlqdyNFU2RxfTxJTz1LRWBVYFpeaWk0VnljUmUmXmVycl9n
eFZtbnd7WkEmeF58JCVHCnprWGZGX3c4fElBT2RQSEJ4RnRCTGN7TilLQl9+JiV3Y305M3NKK3Nt
YVQ8ZlA8d197PlBgZngpXkk5eHxySiopTgp6VjsrenozTXxSQUtkK1AyWW4yIURAZy1IZ0xKRFNg
WXlTT2hTaUllbHJTeWpUOy1oPUtDNyswUHxLPmBybDYtbikKek04dy1NRTVJUGI7I05ofEJYI0Fg
MWdxdn1eSlV9MHdySFEjZ0MtbHRiQ1pAe09RYHNIb3JibSpYSE19JVBwUSZICno3MU5JVStxTzha
XkhhRiVOPFJMeSpqJHRJRFAqc2kwPiRFWF5ufil2NTAja3crZFkhS0F8bk0oRF44RVVVQCN1LQp6
ITlBRmJ4czZhSEtTWj4+Sj57ZXk3fTh+X2RFTUtaO3EmSWxpPERvejk5OXFOSjY+c3YrZ2NPKXsw
TG9EfE1UWFoKej1UazBTdzxiUi1HIWhOUzhAK25yUVFVQEIkPDhXTC18cUNXYEQzXk55TmRGZ0I9
VEY/Y2k4UnEkMSZCI25aN0gzCnp1UVBZUDdXdyRuZnBSNzlIbVZ0UkM4O2ozSUp3aUxgUHFqITda
JnQ+PUghc08tSjg7dTZyQUUwP2VoKllCXylZVQp6WE47THlmYFIrNHxETHo+IVVsVl94R3YoMDt+
Z3FxJSZiN2F0TT9RTDZwUUk1cnNNcHRGK1YkZk14Q1VhPTNmLU0KejgrMF9TQG45bHRtYlROemZp
eDI2e2ljMHJLKEM7dHtrREorP0FSR293O2dZZk9idHVvdCFvMWw/dTJKazlxYiVQCnpPcGAhWC1r
ZD1ZV19DMkpaUktsP19zdmZabVRaUV5Ad2VaN3R9RHYqZX1oMUdeejltSFBuRmY0Wm0zLU9xdUhs
QAp6d0xMJCM7KT8+U1F0WlQ1K1A3dUtFJX5BM143KlMqNzJoNjNZNDVXPFp5cnlAQX56a2F0U0Vv
JVFYPylITkhndEwKemx3WDxwTSYjK2NzUis9X0Nedk9ZQylRN1Q2WFQ7QypKaEpwRGdFJl9xP31v
RE96WkhNWHtzWmBoc1lZTTx8PVFtCnpYOztrbldZWD59eThSY0BnYHIzYEpRNCs2bWZASU4mejN5
QSUjYjxYdH11LSY3Q2M1aURMKyRJd2AxdkpMLUowQwp6V2xWZl4/UmNXb3F3QWt0JCF7ano+I1Zl
b3I9KjxRTDtRU0dUU1BtTXY3QzhzdndVd0lqaXk4e3pObWV1PTd3PWIKelFTZ2JYN0JUaEdKaSpS
S0NudypxUHFmK2hmOD9JTmVNJTtJemlkLU4hP1IxeDhQeCp+eVNCe2x3WjVARWEoSTQhCnpPSDR7
NndiOCgxUzBIem5RbngrTTAmT3FPQ0FubD5mMmsjNHVjJVBGT3JuVD5ebDlNNmFfMEZxI3FQMEpz
fXZ+Zwp6TUIwfDhNX1JZVkNwIW1UbnZkTzUqPlA9MT5IUTEmUipafmdtNk5xcCpISWxLdFVRPiR3
QlZOTzsmYkJLd253e2AKent3UkloKitIcmI/cVlldkMkMX4+T0xzJEQ+NFdrWFpyOVVqU0M9SilI
LTA3OTx6alRmcX1hSGVhYmorZD0zRy1rCno+K2hqNWM4RjklNlI9MW1ycWtaZDJVaz9CTExPcDJs
KFNYNTg4bFY/cUx0WUhUTkpQSjZINDhXcDZsVGJKWlZfOQp6aHgwaUc2P0xFJDZVUHAra1BQeFl5
P2JoVTxGQ1decE12dm1aX3AzZDxKJGVnU3VZRVhoQTVBQVl1eWB1a251fnwKeiRxKGM5TV5mRXFz
QlJ+b1ZxPilzYjxncWo9V01WMVJCUTZvUX1jQ08oaWVsJFhXVXsxTzM/WD4yKVZaI2AlTUJGCnpa
Rlhrc3BSX2dJeGJARVMtY3JxSjNHZGojbURfSVQoNikoWSNrNUspQ2wpYT9zdypDXjZGc1crZTk3
Y3c4YFlwaAp6KD96THRqMWM2b0pzQ0xabkJnN3NGbj88Z2puKzJZfEV0fVlQVCZfYkcyfT9IUUFW
bk1yJTdQeGZLNUB9bkw4MmgKei1pMTlxUHJSPHAtZWI1PCNqRD9WbXJfPGgkVzJFbkI1SVRTVz5T
Ryp4Q1VafEczUSh2a3BDcXkkVCNgTV5gUUtWCnpjVnpPaFZ6eHQ8WilEZ145JHhwY1kzS2RUbVl9
V0dtemlhNURnUntqeklgdmpGRUlHTVJGMm5TJTclUz9EfUJYKwp6ezcyU09QK3s/dCQoe0ZATF82
e3lPbHlxSHxFckhBZ2ZRUEtqPTBfKDBZNHwlU3tzI3JYN2ArO0xYWnB1PCY+O1IKekokVUVsK0Bw
Z0w3d3U2ODxLV1dNNjhvTVg8N3o9XmBzTX1JZ1lBSUZMWXcrMUsjJmxgI3Z3QzxNfk4/USZTfEpq
CnokaHhUTndaTnNBYyV4Kk03Xns+S2sxNVFWMmdIfEZsTnZ9Vm5sSj5PX3lpOy04Ynh1eSNDKitn
aDNRQGl4VDE4Zwp6SHJ4ZXVSdExUWDlWS24/eXg8SShEMjZLX2xrfCFVa3xgdl5BcklFe1AwQCN9
SGBjJFJxaCpMZCQ9OGhNMk85SlIKekZueEdUU1RrUUEtel94JVA0OVJiKW4yYU4qe2swOWkrWj4w
RzhlZ0p5fmMrOWx2Uz1LUiNaM0pLe3g3VnM7QjR2Cnp6YD9NPCFQTE5FY1Y1OWdrWDlYZHxKJWZL
OWdUbzt3OVByJUlGMSZNXlZFelo2ZGhZNDBRdFpuJDxhLUNZTEBpTwp6QSEhK3R2bnhFK0gkTC1Y
TSZ8UzRiSzwtelVfSj0oLWsrbGY1KylCTWBHI3xOZEZCT1hYM0BXITIhNDA7QU9lVkcKeiVSWTV9
dkpifEpAKjtjKHt6TzJhVXxXST4+eytIUUVLQjxrbzBnRGB0O3VlIVJvZilLNGcmbFkwZkdxZjJE
WXgyCnpFb1VzZDx5VXEwbnw4YE94dEtjant+TzVfNn5VVj96IUEqWlU4KCtUcXslNWRGRHpgSlJ5
aH5CVVhwSktSRVchYwp6aFIqRUNvYjVFMSZLJUR2TXJITmEkR2NfZSlFMXtfdkFXREJ2dityP0pr
NGZ4O28zNXFheCFge1N6VjVqblQ3bVAKenhMbFRLWD5sTG1zWjNAfEg+PVA9SiFXNX5YenslKnBl
P05AYksrdHgzWTZsTHZ2akl6LVQzLT1OP0JkUytxMWpzCnomQnM4Q18+cnVEU317KmhgcHFZTXg+
RjQxMGxOI0M3O3BMenpfYCl4RG1SfnZMPzJFUEBqX3ZXRmxSSkVQRC1FMgp6IVFhNlpYcS1zMEJO
YSFIREpuWEpBKDFASyhHVjBadnY/TGBWd0p0KEZjLTNlI3F9OzBhMSEqfGJneSg2dztSQSYKek5u
QEFBKWE2RSpeXio5P0s5YSR6TDNpJkhSVEprfVcjJGU2ZztoZnlgaHtTRTt8bHBKM0pmYVI9YWpY
RzNVN1ZICnpyVSEjbmtyT0d0YztNYip5SmVVNUU9dHxNc0RzSk9wVT1GPk94K3c3Tkp8VTdlPktN
UVpzX0NUITtnbmc+YDtuagp6JntEcmllQWpefDVXSmp0JVE0dzI1I04jPjx4Q1hnNUFlZHV2RVBT
a0lqIUQkOG9Rd2E+KHBuXkliKnRNKjBmak4KejdFQmpjMTx6aUUoMClhUj51UyZiUmc4V3JWPSM8
eXViUSMtPlMwPi07bTMxfShzMWJGbD4/VEltVStAc2hpX0wtCnooaTV7SlpBVDg0IyN6bz1JbUg/
MFVLSHAzVyMjMWZDMHN+UHhEYn54OEpEQ1JwVVJCUzxrc2Z4WlkhSSpfQWs+UAp6RCtlcVhrWmRW
ZitpekEqOWJTRHNTVWVSNVBQMlI7dCRNLWs1TXJ5ZWNtTj0lP3YmJlBjcV9yV1B6KG50c3xHMkMK
elI1dlQ/emspJHtYQFM2fEsjJlJxSEM4X0IzK19JVjxEaDM+SE48ZmwkMk9efUNnZW9BdiFvUEU7
fmJBO3l1PmxmCnpAdXxgbE1jRChZdH5lRXo4KjRZbEV6VktPcUtKWU1GK19yU2ktZEFqQW42dGF3
cHs/YjtwP3xUJDl8fUQ3SFhkYgp6IXdMaFQmJE1wRmxyVT9fQzt6aD8+bStFfTRXfFYpenxiWlgw
d2d8TkgpQn5SWiZmRjZgPTQzaXdec2opRSNNSV8KeilHZmJZM3dRKCF7Zy1WMEh+UmJrSXtyXmIw
OEJmQ0gyNn5fPTM/eygqayVhbTd9bEREY0krYF9gX090IXtadSF+CnpxaUtxIVFrZiRDe05vKnQy
NE15V09yYFJXciVhYippYTE1LWUqTk1PTDEtb3JXUXc+NUlseko8PiN1N0Z3Q2RSPwp6cE5EamJX
KHJ2TE45eiglXnZ1NXhFRXxIQDJ2TFgpJCtyPnk9dV9Tbk1GPXdFYysoKGcpUXJQR0t4X3NyNTFq
VT8Kemg0RVR7dWpiJDl7PjMxSXRxVmNOZldhWDNjN1leczhpOFhWdjZCWE0zaV8hTVB6Ym9QME5n
dEAoYEFhSHh+NHdNCnpBUUBxM2wjRldjR2oofXBtUmlXbnlLfnhMTCUrPncxfllScVc0VVNQPl8q
d1YkP3podj9wZmVCR2EtKkYwRkQ8Qgp6YzQwV3x0TmxtQChxejlvQm5YWCM+Yy00YyRIVmlVaHYp
ZmFhQCtQOXc5bmVPcHF5TigpUmQ9d3Nndjx9eHx1fj4KenR7eVBkJXshdX5SOFBPbTFAXlRTbWZa
YHJKKGJRKWhVZSlmNmN1eUpCd1NGbztOay18QExeJH42dEs4MnVNdUQjCnpWMGtMVkBsfT5oMmBw
NGZAbmtjKFRyTjBvMWwmTXs7WlROMzQmMDxuemExSjVeJkMhTiZfcVVvdzU8YUN0fXxNUAp6Zlk1
YkZpYEkpM05Id1JMdy04RlRMSk51bWIwTHZWIVdUKzwlTXJ6TT1eS2QtNyN8OG40XzdFbylMV0s5
djM0amQKenBjcz0zM3NXaD1tPXE0RjcrcFoyO0RqT2VRWncrazFzTX10QV9VRVYrbnpVa1hpczhe
Qj5ZNCtPQWJAMDN+bn5YCnpDfng/VmxnejxgaTtncXRNTE9XPTYjOEBrLVdpR29lRUQoMjZeNEsr
O0JITlB0e3d2SkE3QCQ4TDxCX09NPn1EKwp6dnlxJHxGV2RASC02JVg8PVg0VF5uMnd5SEBOPCoj
TU89U1EwZ3FHNntVZV5SZkVUQT0meEwzJVl0UXE4IV5AUmAKekZPX2M4O1RaVVclakhmclJLc0Il
NHlFNCpLP0c1JTEwZSQ7eWFPTksxYC1nb0RGfWt9RjRJRyEmKllXWWZyQ3h9CnpKfTt5M05GMkN4
LTlaPH41Rkt6YXJAbyMzMih9d3ckT00jdjNzciFXSF5ATHFabjZYPmRBJEU+PF9AOTVWZyYxKQp6
cW9wb3NYUU5JQ0UyPnQ9S31iPEJxU2tUdj1VOHhgaTs/bH1hZGFyR1FyM0BGanZ8dnRyQiYmY2xq
X2tGNH1aaHYKelhYY2FXZiZxXzJ7UEpQb05ueHRqQCR3bylxOF9lbCRnOEFQSWZkZUhTZ2pvSnk2
SXZ2WCM+N2xJbCFvUzA8SnZkCnphVTVAUFJjPUVmelMkI013eil+c3lRRkdaRF5hJGhzbjRVZE8y
aip7eXRlQURlYGw/LWM0Qz1mbTN1Jl5GcUNkLQp6MWAoRnNIRVNnRyhaPjlPeiVHR2NLTEMjfkZp
RWBPeGQ0VjdTeGlZWjJPUj9zcmAlKTtnKlNWXlpJRGRGNiY1N28KekN3S3oqZSMqbyNJP1ExS3hU
ei1oUUtxdDRwYXQqWnh+eTtqX2A/QGFORittYE4qQWJ0PnckY3MxdDV6SGxOVlptCnpXYEteNzBY
QkhgM1g7RnhmZFQxZ1Nkfm9DPHFNS0k5ellGRzcwN0BnM1RaKD1BI0RLcVU+aUlzRkx6cllhZkpo
TAp6R3JyVSMwMGZ3IyRGRW04OzFLfVNeWG9CN2ZndXR1Z3w4bEx5QWdzQWZpMFYmPXlnRzV2cXBy
cnhYU1Z6LXJWem4KekFqJGs+aWxkPXpxKmtHRktgTD5YMCpnI1omfUIoZU57V2VIPW1+NX0wek51
OSVGUzNiaDA8WHlqJHYlWGlJaz0mCnpUUXNOVnJ+QipXZFB7O20pKjZCJFBLZ1BMPWhQOElBYXlq
PjBSaERiJDRiajs1ZlRMaXBGWmdtZnpaZylEcTZEVAp6JUdsKkBnMEBXfChCKyFDUSVmS2ZSVyt1
UFFWKVlJYWpqO0dmVjQmdVdzVkUjcTdrQXg1OG5RKWJ9bEdOSnx1eSgKemw9cSReMnR3ZU5oZ0Jv
aypxRX1ebXVoSURGPFJRI1d4T3ZFMyU0YytnMTw8PnI7cWBYSUVBb1d1RVJmKWM4V2xuCno1YWNL
PkJQLWpmWmh4I3IpRkpLOyhsTmVPajA4Pzl1JDJRcXE5TzM+NHFSZng4R2A/X3doJnh+MHNkSlYq
OEJjcAp6UXtLWGw8KTlLeiNRUit2bVcyenc9b0Zsdj9fRFAjRn0laW5QaktWNUAhSXcpJWpYUUl3
KiktNlN7dWtwb2l0ZTAKenNoP2R2ZVEhOHFZMHZ4VnRxKDRUelNlKEdVNmE0aFBXOCEmQ2dsVjVR
Nmo0az81c2NEd2tEYldsa092enN3VEFyCnpxaFp0QC1CK3pRXjI2O15YSEpaKEhMUXU9QCNiTjtw
fCFSMTklUmpIaWdNVVJCdlNSfFMrbnVSUH43SChtOGV8PQp6IVpQPU97Z280QWNJdCt+K28jVCUz
SkZPYj0pWTk5Zjd8cWlpT3pJXjUwOGwhSmRrXzB6MFhhKmtYKGBMTnhWUSoKeihDNTxKJThIIWA5
I24rQ3o8fV9oQ3BsSHR7Kmk7aTdiOGV7IVp6WnUrb01CNV53P0MwaSpWSHxlI2dCcXhRVG9JCnpX
KW4oVzdlJl8xRzNsN0s/Qi09dFEmVTtzQDI4KjJqQDxlS3VCNEVJYkg9Uzc5ek57NWF0OXgxMUVF
WHBVRXN7Xgp6b1E4Jit2Y0V2R3UmJWgjXnxnRyF6SXlkNHkmaHl7S1o0RyMzZiRwN1NRKTVrKlBI
MyM7anNsaz08OT5xaGVCU2oKemI/I2QpWTE5WihxOFVpLVgpNmV8IU90WXBSJjEqYzl7LW01R198
OUBRNWhmZ0hRaiFFX3stSnAhJk1WS3F0ZWpWCnpCKF5gP0l3QiVNbT9tREs7Rz1oa2RnPkMhb21n
Xj1oaXlEfiRhWDkpTFVKQGhLdUVWWS18bm5NJFQqSX4ke3FwVAp6UXJvKDl0Sj9raF9lVEo8ck1n
dVY0KHJoPFpFMEpJODVgZ04ldDxrVGlMSGUmcWVwPjlFSilyOTIpcFRXO3tRbVcKekpIRmlDeF47
aXgwemUyb2wmKFdAJXRrJUJ0OVpJd0x5Pn0hdFBmNDtsWSRaOEo9QyY0eVlDck40Ozt+I3hOUXxC
CnptJFp9Mm8rUmpVWXBIRXopYzBHc1A0MFJsQzQ7Knp0KWcqWFp9emBWZU1KNHVvJV9Sc1lnQUZe
ZnUrdmclRlh4Xwp6NT1teSQ3aVV2R3l5KEJXQyokREkpdGRuYWB3azlOPTx4cUQxUn1XZUNwKX5y
O1AoK3soQ2RzNlNUVFBHa2h0e1UKejBzcV9LbDB+WnFSdXRMTFY3RWt5dWwjRiViU0IoY1EkWFhg
VyRocVNHYHxfNGYtaSphIT5pSVBSNTBqJnY7VEwtCnowZ3RhcGR5IyF1aypeemg0KXhYV1YhVThp
bnFNRWIzcUo1Y2JCYHBnelJSeFJCRD03biYraSk9I3M5UiZ4Myo/Ywp6QkByTXpHS1Y/IzUwJHs+
b0NvbEt0QUh+WmBqUlc3YCpsd3VgMTZIdWNWUHYtSW8weyEpbWAmTk0mUnZONnFedDMKelBZVz89
ez9pRURmbStrZWpQRWtDVlVaQ3JwZVU/MSZfeGJ7V0k9SDtmYSMhak9YVD9JUkVfS0BIV2ErYDBL
WGc1CnpNWGxpPSp+UWwxfEElMEtrSDk+RGc5V1okUDtrc1orOD0mcyFQXz9mKDEza2hEYjFtTW1t
aXhLOEclcDMtSnVnTgp6fDFmZ29QYjA5OHozeW9UenNtQDdrcjg7a3RXMk5LMWl8XyVATUZWVFIy
ZSlscHl+YjJzREZxSlZkVCVRITl2eEwKejJLc2soRW83MGtCfHk9T0oxUiYyQFA5U2BhfCUybztR
YHBQdz5SOy1qMnY1SjFib1NkZH1fenYlTDZQOFloNDdxCnoqJl82VnVWKH5HTXdKWEdeRnpBZiZ5
N1NFSGo+a2UpVzgkJTtiKzRge30+dDBwUGh5V2x3fEtlX2RUNSE7dy1XVApmNTd4VSs1XzFjWTVy
UFctR3kpSWs0eSZpRGduOWNaWnYqPXVQN3x0eAoKbGl0ZXJhbCAwCkhjbVY/ZDAwMDAxCgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29u
Zm9ybWFuY2UvcmVzb3VyY2VzL3JlZC1ncmVlbi53ZWJtdnA4LndlYm0gYi9MYXlvdXRUZXN0cy93
ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZXNvdXJjZXMvcmVk
LWdyZWVuLndlYm12cDgud2VibQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mZGU1OWExOGI0ZGRlOWExM2YzN2MzZjQ2
MmFmODhhZDRiMGYzYzNhCkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCAxMDk3OQp6Y21lSE4zc2Up
PSk7Xk59TmRTP2pmPHtkYzNXPnBNRmlAYVNoYWVTQHBhZ3Q/UXArUkMheHRkNXdBWV5tMHQ1PCgK
ejd5LWtoeW49I0E2LTdtQk1Pcnw/MlokRWkrS1FyfVpNe3tvU0ZPTH5LUWpxZEZtdD45encyTT95
NElhRjhEXmpGCno/MHNfZktIcj1AbzZQWE9RRyk+ZG44Vk1NQXA5cnJeR0txQEFDKnd+WTA/aXg1
dTVsfjUpd1p7TGI0MUpaJX10LQp6SDx9MWF4MXNMe1BKU0ErVXV4bDd6ZG9vQGF6aykzN2ZSRURv
OHAyUigtNGtZcXo5ZUVNQWl8dGkwTUkqbyVWfW4KeihCMH4+fElNITBsciYkXmxSYT1LZUpVUm5o
KEdsWVBoUmlqSU4jWjJ7KEBEV3VTJHV2MSohQG81NFMxMVgxLUlgCnorLWRQdWU4Sip1OEc1KTBw
QkNtM3dLMD1Wbmx4NzMxfCYjZ2hYZzU7MFBCe3Jia1hKd25IZWtCdHo3UHNFPHhyRgp6ckF2Xykp
O1dXa3pENVRuJVRHd2UhU0dLb3tIcmx4XjB4c0EzN1IwaVZuWEoqWnNqcnwtIX57LUxifEVaSHUr
M0sKellMVEhNVGstRF81aFhFPnRYQDchbmpNSEZaJUslVk55TTUtOyokV1YtfnItRV99fTlRUyZn
ekd4O2tjU14hI05CCno4eUZqN0IzOXgkM30xJWgwYDd0WjNtdSZwX1RJXiZncD8xWE1GfURuSGwh
SytoJkQlVmk0ckF2SyEtJl9oclBYVQp6e3NLZi1aSUgkSFQ4UktFPzhObkZiY2xOa1JzZGlPenl+
JWdxaDBITFN4Un04ZU0qVmsyZk9RN2tYPDZyP3khdV4KejwjdnU9N2AhTTgwQ2ElWm98YSFUPj5H
UjBiJVVpe2VuTz5kT259UT8xfD10TygzUkh5K2dwKkY+eUZnTFpOQTh8CnpyQWBVYWclYnAqND5R
QURoK1FJTiV1R3ZvJClZRW1XJHJDWSZ9WitmT3cpSGYlU2lXa3lqUXlgITBxMD9udFpwUAp6PzJx
KkY0SUdZS19WZWRuVF5aU1FOLXltMWk1RmMqJH18QG1KYFY9YEVfXishQ31UYnFHY1JNK2xfV3FA
PlMtfjYKejcpfSFgKj1nPjMkaF93ZXtYKEQzdlBZYWlHcER8Vi1hKX5GNzRTJDNUYV8jdE5LUDZe
LVgybnR2Rjc7cGttREleCnp1NFJOaCRxMlgxKVNPU1otKnwkWl98ekUpc0dSRnNHe21hNW8+Nl92
d1ZFdT1ZJFNtdyVxMHczcCo1P3AjPHk7TAp6WSpTMz4oZGhrMEh9eTFnZFlUUktFJnpkRHUlanxZ
UVROKXBLQlAkVz1PLUZ7bUpMd28lZFU4T1NHPGs0KDU1U2EKekwlfV9LN1FtUklMUVkybFolSERy
RTcyWEVPU1VhT0MtPVliKm5qR0g1VXtXVmZPNj5fQCRfQGg4JHlUdjFnQk1yCno5c2BNajBxNj9N
Qm1lcjQ7T2hsV2dqdjQ2Q3t8MmVTUCtpOE1HVmJhUiNDa1MpZyE/VXZafnQqTVh6Rz9mfiUzQAp6
UEchQSRZNSRxKjs4TUhSYGpTI1NmKlVWZDRaJkVseTd6UWM/Jih6fFVpMzlvREFqaTxybHBodl5f
TzlyKWt2OTkKenImVCFZN2pzIWJzc0RDMClEN3VYNERWfC1oai1jWFFvRU1jVjZ7RVh2WiNOKj9C
V15NbkB9VkJ5VkFIO1N7U14wCno3Rkc2LTNwQXs0XjcyN3ArYF9MfWM5eTN4dyYmfGJtXjE1YHlK
bTBPVllJN35kek11QEoxX3F8enh3cCRMTXVEdgp6d2xzWF4zOz85WV8kblUxOzdlSihpZmFwVip4
bU1yJnBZO1R1dUoxdDd1fGs3Xz81QWpBczRQPGp1VHdQY2BkXmcKemlBfUNQYW10byZMZ3kqdkxP
KyZMJV90YURNcFN7UG8pdTEjJSN3c3wpP1VicFJ8RUlKPTkwOyp6RXtwbTU5eHVYCnp3KCN0OGJP
PjdMdV9BY0lzXm09fSNZeHtFJUx1IWNiWW8hcWplKSMlKD0jVjh0ZTRDSWtUZz05bGskak1aZFh9
KQp6MEgzQX5ASGxoZyZBV0VlJitXOFgrSDUxWiUoP0swd2BgUXhYWFlLcTY5aWQ9XjtzbktQWkk/
Pmh4SSMmYGQ1Z3EKekNYMnAzRHEzQEZkJnA0QFZicnZfRl84Mk1iMTtmbnlYRnUxNnpjckpvSiN4
clRRMiE/ZUc2P3UzZzFkOCtLe2NOCnotJjFqfnpGTDEwYkUwJGhtZ01ZfTwmNFBrP1ghend2SzAt
ailmPkI7ZW0/UTE9UyRgK053OSRAV1I3PSYlYDQxbAp6PEk9cSNvMD5VLVFTfUA+YGsrSSVjfjVe
ZTAwNldWNyVzKTFCWXtHUHQzcyElTFdkUT45ey12IzVXVUoxXnopISYKejtafHp9ITBwPClEPDJ6
fk1palZhZHF6YHp6b3ZKcmItUHpxdm88JVlWRDVYcV9uQVRHamRmWnxkVk1wQHVpT2ZhCnpvc301
O1kySlktQTVWdilva0hmRmVIOGZFcWs8fGNWQU9AczEhVmVDR0dyY2hgMVMqVklkWntGditLMD1A
bFoxbAp6KVhaQ3J7PFNMe2ghPn4+UG1MS2tQK3VfOCRKMn1qTWA+SD1qcT4xNV40QVk3VitBQFAl
VSY0XjxxNlBXIUN4UWcKektOa011Zmp7KkNUO2hsa3s3bUNsRzNTeFFFKHBqUExKSndiNHx3OXBr
TyVHYCZHMHVIVHNfVHdzKUV1IyZKTVcyCnpLSF9+ZStrSSpzdCQ7VlJmXnNRNmhWKmhBTWhYTmZV
fXFsOzcmJFkodTM/Nzx7JF9Rd0s0fm47eTxaeUImSUBtTgp6c1dqbjY0MWdHKzA1TEdATXFoclg4
WHI+dFRuZUs/VjFENktDXztjKDZqREl9cGlxPURkeEd9PUw2fGZrQkRNITAKenQ5dGRjdEBJdkpl
cTt6KiRUOWRKMVBJNjwlfE9pJnRUUEd3Yn5BYWwoPHRgNUN8aDh4M2tKOEVfZ3YtJC1nWVRjCnoj
I0VuOz1QZDFDeWkpe3xwbG9YJXlmdnY5TnZXZTw4aW4oPSYjOF9mIVItYVFUXkRuXmJGPzRGWG5G
S21LZnRnNwp6Wjh1JHQ/eGEtUD1mTTFfcCp4PF9HckJtP1RvQU0odGF4YTMoTVdjK3lgcncrI0Mk
bD1DNDdzNSR6OFBLV2l3QTsKejR4aHNDWCZnM1BGYFNLQVhsUTZNZklhKHAwQCFtdnc+bng7U0tr
MTQ1KXwpdkg3UlZtM35PdEV5OSl7SHY/NlJeCnp3QDRmVl4tZVQjJGlac2FzPE5Uc3J4USl7ZEhf
dEl6VEdWZihIcTMxVykxKkBaM3RrclFRZ2slWW9eVz05RGV9Sgp6WEVhKl84QyhtdztlSzREVldj
VHZ6YmYzSEA1Nzd8M2ZVfkJLQSZ5N1RqPVNkdFE5KT9JVmcqU3kzRX4kZSlXdTYKenBeJjh1I0lz
IUJYRWlrPXZyens7ZzR0ZkFKbVMzVGh6O001SjZ4NyUlMlpteV5ycWZDNjNjUHFnPE9+PzJsJDtV
CnpmbypvbURBPSFUbShVSGk4TnF+Tzh8K2RtN3hNM3hDQnBvcDlDa3Fmc2BocnkjKClLOyFNTTlF
Sy0oWXx0X25Obwp6WnJ7U1hsbk9oVHg1Z0lNcyNfSDltbyhsX3NuR2ExQXErK1hiQ2hpbDdOaCF4
MjdNXj9McX15YGBFRW5RJitTSnMKent8X1hFZX4mcjs9TSF6dj9AMSE3PEprN2lGI3VwMGRgRHMq
M3tSNW9zeUBeUEgjIW93VXJNPUQ3UjxUeW42PGB5CnpBNjc9ZSNPMDVPcF5uJkNeTT5NXzg/TCNG
Kk1JZWA8JlhFNXxJZlE/cD5ZUlZSc3plNThEdW0+bnp5amdycmFXNQp6Wn5CYThRJFZHYHNDJnd8
Y1d2Wl9ldHM3R1R2dlBCLTlAMX0ybHo1QlJhdHVfYlImMSNDMDl5U3R2b2JgYkBVYnQKejVOdn19
MzAtVHpSTFZtP2J2U0JTeHsoUV43NjtvUjd5N2xwSGFMfHlqJGJRbUpKZXdybSo7ST94Jn1rejRt
aCN5CnpCclpMNEg4aXJaPCpsMEJMYWVRXjxyezBjKDZRNHoyO00yQTNwJEB6TW1CT3NMVSk8QUti
Oy1xMDZXTFF3SjxqLQp6dWY4KUJFKnpSREhfemQhSm5eQ35Lc3tVbFlIUjZmWFNISGxjbnhqKFkl
dn5+UmA/REhtdEg1ZiFteEVFdGhHI3AKeiVad3EjLW8kRkRJTiVBPk9CZ2UmJFo/PWJTfTUjPjhX
O2VGdnNHU0VZdUlDJXV3VlU0S3E7M0NhYX01JkJFd2Z2CnpFS0Bhd1lnYUNXZEtxdkdiP3l1dXE3
VFF3MFlDVzRZUjsjcjBlSzxwcl89eSZBWlQ5JHo9NUN7d0ZiUHdRdDtoYQp6VStmMEkpPzteMlJB
MUdBNSlLMyMpbEp3eVB9SkROMmEqZmZZN3N0dSQ9SzZ4RjVCVmpmUTMhJnEkVEUje3dVNV8Kel89
YVhvSWR0VGsoRVlneS1NK3BEeXh5QkpUdj5hfm0lP21XeTtRe1Q/RHE5NVBvdUsqPk45ZkwlOTM0
MHtHSmtfCnpWWj1Qe3dwe0tLKkVfLWRFPSYwQVA2TDIhOyVHKVNNPG8oTjtEWSlUa2J1NXs7akZL
YFFGSzFEcm1iP1R6bCZZRAp6R1hTMmxeVHllLTRoRllzaENSRUVFYmg/Rns1dj8/ZChHJE1hcSlj
ZStUTTtaM1pLZTFQRnFiITV0QHQzJX1sIT0KekE0cTRHUlIjdEJndS16RXBvMm05YDElJURUVVlO
SHk4R1pNcHFXQFBTekszNzZDOEYxUFhYYHxpZTw5c1ZIWT58CnpjVHhXMF9rOF5QMUQzPGI4LW5r
SUNfdCFHXiRSQl5RPms7amp3WSF5TXF7QFRpQn1FVUQjNTVyMUxYKk5JckpIegp6UCV8PVE4QiFU
WUJmcHp1QE8weytRT1RVUElsV2R9PjVNc3BAN3tQNGQlOU9nd0BKM1I9WnlDJD9EWDh9XldEN3sK
emQtbk5BU0IxWm1hRHVlS0lMfnFAOGpQdmhLMnhjVlchXjhoWUk4fSo2c3lvSkQlSXdtP3swOSNp
NlNFPm1Gb0JyCnopdEd5I1lUR0srU29HY1kxKnU8NzxKeCEzdDJxN1o2MDFhfmQ4eXJwPyoxZXhH
MWptOUY2cl5RaG4lPXljRSZ5TAp6SjhRSGk9ZUI+RG83M1lqUEUkY211Pj4lfExqO2hGUnw4OTZ4
JXpMOTBhZi0/ajAxYyU7UWtzQXIzUCRYMTJXV3IKemBEPyZsSDkmbjBJSTlNOVVJWHJGMFBfeihf
eT96WmYlVio1MFEqKm0wZjdkPkFwIShNeiF0M2wrQUtpfDIqUFA9CnppLSlzZzJsQyZAMyMxcm5O
NTt0YVJtdUJiZk9uajdfcXx7N3tOQzEyJTZBQlZAYVB+LUokKm1KPT0lQT9XZiE7YQp6MnpxIXVX
eDtxamxeLWRWbXBRc0dgWE5XOXk4bXNBcCFOWTxYTHB3Qk1hTiMlIXkobzQ+ZUgmeENFbzNJOV50
b14Kei1hbkNhPDRIfCF0ME1Oe3NoWCUkcS1TIXxAMmhVbz1INm5uSmJ6MClNSGs7V3pSIVI5IUE9
eCZPZnhuY1ZFbWRaCnprJHhpSkYjJGxETWcrVn4xZ3Nfa0tHcHp9PDQ3dGMoKWZaMV8+bC11WCQ0
PiQkOz53fGolMXY2VEg7OEspSD07Iwp6Ml5wdUlIak8kV2pWPllwcj0xcDRJe0YlbyQjSyt+TV9A
X15yPTIhYW5+NXxFdjtyYFdJKX5vOElPPCYxSS02cE4KejRpVzhpRWVKR3BvcndTPCtVY2VjWF5o
aXVhdlhKdVhzNyFGa3R5eDhFMCpYbnZ9KFhPPlVxOS1hbnZLQ290eytkCnpHfnhWfUw7dy0oXnpJ
VTlQe3dJRGQ0SHNnKHs2R2NEZ0gjSmgtZ1JJTDhOZ3xEfWM2M0QzYD94dzVCX1AqVX13bAp6XnpH
a01wQzZ6ZUpOUVU4eWVLQzU5U2lxKnVpelZYSiMkTzg9X1g0N0ZkLVo2YVFZJkMoWE9xVTRLaSF5
Znh7PX0Kej9FQ3MqWUx5KktmN1p7O2U+QkUkQDk7bVpkUzA1UDh0UEkjQGxJNkA9Zyo0Q3wxI09a
dmc+TzVGTjtwbTYmfkJHCnpjYnh2TUc1T0tEQXA0PmpNeSlAT0p4JX5BJCtDZ3o3Q0xMX3ImNCV6
e25rYGtuJnx5NyoxJVhCKyVHQWtUNHpAKgp6cF8mcmBMXlB6WEJHTXFEQXlxLTdhWiY/Smp3X1hq
aFNWX3ZRP3hsbWZUdmFmSnQzaCpoP2lAUHRHNnptX3c0KXAKem1Bb2c0b1ZyKWxURzRNTF5QMGNw
bGpWO2NOPlckbEpSfjM5K01Uc0lDSUVuYHJjX1RzQiVkPlRKZHc9O3ZBZyQ2CnoyWXlOWSZPQGQ4
e3hEIzZnPn57TUQlSUhWUDFWemZzdXo5aFJMXlJ9aztlKnUte2I4Tjl5ays1RiM1TkRXfjtgVQp6
TSQwZCkye1I3dGpOMTkpP3JyZXN6RFlJOUYwc3FgITdxS2F3JXprPTRxfU5SamZqcGtCMEFES3dm
WF4/QkJHLXsKempYKj02TyQzYjdhZEpITUh4WCYlNjlMLWtTUy09KykyYWRFc1h6TVcjP3lkXmg2
WVlyciZ9eUJBZmxuY00/QE5YCnpoPTZlI1BKWnFoVC1SdCFqO0Z5MzAjay1XRyZEcXNHJE9QREZy
SjMjWipEdmRZcWlkKlNZayotTCZGZ1FqVlYragp6ZlFXYHVtSihAPCh7T1M7cng0TF8lSThGO3c5
fkx5R1Vic3JqWCRhZ2RZX01eOExnfj1AcjdsQ0h9PzRwdGhMUCYKektBMz9RNXJFZWJ3N2VtSk9k
PGB1ai1YQkI5RmZMUDhlbnBLKXBaMGRyVnN9TFElQz8yZlklWFRHbGdFM0FVZ0AtCnpkN1pNUW9T
LW9EVXdSaUZBTzNvMCMraCRNKlJ7WDxWRDk2ciZ3Z3pAeDI9fCheIX1jWFVVcTVicz48PDFpNVdM
Rwp6O3claVhOaipARUJ9Jll8RlRJXzYwPlZ8UWU+Zn5zP1U8d2IhOXR9e3hIKyFxYHRWKG5yPS0p
VDw7QzVoYFJmfmgKemVPM15fQGJqUjFIbl5YanYxNXlBPWErLU9wWitsKU99TV93ZFA3X009Vzch
I1VYWlZ2KXdZSzFvSVM5VFR6KmFBCnpkITU3U2F4byZ8MSheU1JvIzhoRSN9VV5WVCE9SjZoeWNQ
bUxtODNBREkkUVYmSCg+SXQqeWQ+cDJYQDVUZWFwKgp6Wlk+MSRCMnhRey1lST0kYFBPcm5tQX1x
QTt+fFNKUmk1QVV7OXxjc2JSNmVPOEN7MVZyYXY3fG9IQjJfQCl0QEUKenh2I3RIaTxPTDBOSy1q
TyN6Rmc0VzRIUVdDUWVHfnYhSGQkWjFkSmwhJjJZKTspUWAlJmRKSjlgTnVCbGlfV2YlCnpfNHZa
dW8yeyNRUWQyLWJXPGtzUnA/WX1KaX0jcn1TVXx9e3szSHxjbGVwa08jN3tDXz1YO0dKYUIjd2Mx
NzdFWQp6OGszMnVnVipgQW0/QURYWHkrJDw2REtHKm9Sc0peenJnfDNBdTlNMFMwMEU4ZSE1eDxl
JU1iailkZ19TZWxxdjQKeiNPcWtyNkFBSiMmR2hpZXl1KWNve3spZDdIOV4jUUpWRGZ4UDd0WFU2
R1dQRmZAdDc4S3tWYH5BUjRYSWh9T0ByCm91UTdGR2ZAdCNMMWtzSDhRcEEycXMrckFmXj4waER0
cmBCZCliI0tLKGZabHswM3E5QHgmUXpHCgpsaXRlcmFsIDAKSGNtVj9kMDAwMDEKCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3Jt
YW5jZS9yZXNvdXJjZXMvcmVkLWluZGV4ZWQucG5nIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3Vy
Y2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVzb3VyY2VzL3JlZC1pbmRleGVkLnBu
ZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4zMTg4ZDJkNzViNDcwZGI4ZjczODYxY2E3MTU5ZjdmNGQ4ZTgyMTIxCkdJ
VCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCAxNjgKemNtZUFTQE4/KG9sSHlgdVZCcSFpYTB2cF5qM0NV
JjM/eC09aG4pZ2ElbUY/anVLeVZyQnAtMl8xRyRfOTkrQVppCno0Qld5WCUqWmZuanMjRnBzbCt2
KyM1cTRWSCNNKD4hTVB8a3VfUUdgcCoqdUJMJjRxQ0gkV2pqUGEjcGtIIS08PQp6TVklSWpIRzdH
dHVQZ2cpTWowX0goWmpKeC05UkJPUFohNCFqX2IoQEtzRk50PDBIakEjeX1RPnI+bWRLSTtWc3QK
RTBGWDUle1F2Kn0KCmxpdGVyYWwgMApIY21WP2QwMDAwMQoKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3Jlc291cmNl
cy9zYW1wbGVyVW5pZm9ybVNoYWRlci5mcmFnIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2Vz
L3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVzb3VyY2VzL3NhbXBsZXJVbmlmb3JtU2hh
ZGVyLmZyYWcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMTFjYmExMjc0NjBmNjA4ODZiNmJiODYwNzY0ZDg5OGViYTlh
MDY3ZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJn
bF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3Jlc291cmNlcy9zYW1wbGVyVW5pZm9ybVNoYWRlci5m
cmFnCkBAIC0wLDAgKzEsOCBAQAorcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7Cit1bmlmb3JtIHNh
bXBsZXIyRCBzMkQ7Cit1bmlmb3JtIHNhbXBsZXJDdWJlIHNDdWJlOwordm9pZCBtYWluKCkKK3sK
KyAgICBnbF9GcmFnQ29sb3IgPSB0ZXh0dXJlMkQoczJELCB2ZWMyKDAuNSwgMC41KSkgKworICAg
ICAgICAgICAgICAgICAgIHRleHR1cmVDdWJlKHNDdWJlLCB2ZWMzKDAuNSwgMC41LCAwLjUpKTsK
K30KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2Zp
bGVzL2NvbmZvcm1hbmNlL3Jlc291cmNlcy9zbWFsbC1zcXVhcmUtd2l0aC1jaWUtcmdiLXByb2Zp
bGUucG5nIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29u
Zm9ybWFuY2UvcmVzb3VyY2VzL3NtYWxsLXNxdWFyZS13aXRoLWNpZS1yZ2ItcHJvZmlsZS5wbmcK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uYWE4YmYzNzcxNzllYjlhYmI0NDM1MTRjNzNlMWMxZmIwMmVjNzFlNQpHSVQg
YmluYXJ5IHBhdGNoCmxpdGVyYWwgODY4CnpjbVYtcTFEcEpiUCk8aDszS3xMazAwMGUxTkpMVHEw
MDFpaDAwMUhnMHNzSTJOaWVyeDAwMDA5YTdiQm0wMDFyewp6MDAxcnswZUdjOWJecmhZR0hGOVlQ
KjctWmJaPktMWipVKzxMcWl+TmEmS203WS1Jb2RjLXBPenplPllVNm88YlgKejFkQm91eWJvfWZm
fWxkRVpjYSZDTjxwTVZoYV84KmhBN2VgKys2PEBkPEBeZiNsX1hoKi0yMCtJUWE8OVBDXn1HCnp0
eGg4TiFHWjdtaFFyfDt1LTJUbStwJCgpbG97PUhVRjhSJVQ3MDYkR09LS31HbDxLPT5HeVg1dk9H
KXBpR2E2Zgp6MWkpbXxYfWNaJSMhXzVwMUgxI3hWTiU4KlkjPSVfZyNtRjEkbXFCKkFnJSRhNTQ7
d0xKRHtGY3tzN2RZJTNweEcKel9KYV9fRDxEJXAyKkNvN1FSTmJsQ09KMCV0LUtpUHF4OF9JcmZ1
OEc4UmspPF9RJDEzTXkyWHlhanVKODRAQCF5Cnpze0hfe3dSIz1wYnpTfSZLTTIrQXZZI2N0dlR3
dkVgZ0hhS1l3UCFaS0k3c0ZIZzJjVz5DSFViOF5OUmozKmtJbAp6elh1eGQqIVRkKyppTmt0e3JD
PzYwMDFDa05LI0R6MEQ+XzkwRD5fOTBVc095MEIzXiQwQlo7VTBUPmVpMDZ7d2QKejAwVkBGPHJg
N30wMEZFP0xfdCh8K08kX2ttYz1qI2xYJXxFe2pZMXkwdy19eGFyeGUpeWNqU05mez1kI0FmWj8+
Cnp5QjdkWnhJVDtOZmlmdXFKaWpHQ2w3fUBDQ0lLTW1qe3hMdk5EfX1VTXdYaShuWk50OEBqUmdG
dnlNY3R2ZSQhWAp6LTIoXz9Scz0qaEx1XnslRFBgMz9SNSZKN2VeM0UqITk/Z1RnMTFaKEFmUExN
ZyU1VUpqeEZuWj9KfV5UNjV8RkcKej4+VUxpQnNCSnpwJnZ4aHFDZyZYbjVBOE5tfXNBPjc/JnQq
VSpSUEliOzViY0xhIUVuZldqTF9kdXBMMzZaPzlUCnpvRnpXV04mM3ZoNkY2bD9lM187K3YyYCMz
IVZ4cndCaFYlJHJkKD5BMmkoKk9CPDB2R0Y7UUdnISlrWnRXRyhvWAp6TkMqLVhoRVB6YEhZWmcx
b1JOSFJURlFaOEc2d3w7PlFoWDhDUiNCYT12NUNJIXF+Q0p1Mzh2NkwpXm99Y352SH0Kel9RKlhn
YSFRZTZPcmFCYEVzaDlOaXNVVGJCdjRAIzE7MzxZWXJ+OCpnQFV3KWdjUzt9ZzxWdm0zIT9UI0Ba
P0B1Cno7WUUqd0szNj5GJTZqcT1pRmBRdGg1YCM7XjNocCtIQXNzNEowQGwpOytOazQ8QGF7REpN
K3NTWk5QOT9yXyRNRwp1JmRNQ0ImflY/MEAyMyhLenAjfWdORSZLM3t7c01gbClIdGQ9QFh5OzAw
MDA8TU5VTW5MU1RZJSlOcD9RCgpsaXRlcmFsIDAKSGNtVj9kMDAwMDEKCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9y
ZXNvdXJjZXMvc21hbGwtc3F1YXJlLXdpdGgtY29sb3JtYXRjaC1wcm9maWxlLnBuZyBiL0xheW91
dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3Jlc291
cmNlcy9zbWFsbC1zcXVhcmUtd2l0aC1jb2xvcm1hdGNoLXByb2ZpbGUucG5nCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjYzNDU0ZWMwZGQ3Y2VkODhkODJjODJhZTdhNzJjODY5OTNkYTQzNDIKR0lUIGJpbmFyeSBwYXRj
aApsaXRlcmFsIDg3MQp6Y21WLXQxRE8xWVApPGg7M0t8TGswMDBlMU5KTFRxMDAxaWgwMDFIZzBz
c0kyTmllcngwMDAwOWE3YkJtMDAxcnsKejAwMXJ7MGVHYzliXnJoWUhFQmFiUCo3LVpiWj5LTFoq
VSs8THFpfk5hJkttN1ktSW9kYy1wT3p6ZT5ZVTZvPGNDCnpwXjhJUCRmbTxaYVRLYjlQYDlNNVJa
dTk9QTw1UkhwKUl3ITtwWTBNdEl5I0JJTztwTmlpNHR5cW1Mays5Mn13cQp6Q2xVT25AQkRfdDty
eVVkYkREMGV2SXloVVhzXylgS00zWFExNjVgS3BkMDZ6KTlELWxxJCpBTGlHYi1kMF5vN08Kelh9
VEBgIyhiUDwxQUc4bXkoRXU4KVBVaSskcWF9cXo+WT9sMGRXSl5gcSpvTHhDNSt5O1pKfVM3NSla
VCs3Q2h5Cno/fHxMK2dBZ2luZkVeWFMwQHg8R0ZhUW1lUDR1dW9GbWtoQXVTPSg9cUNfNHxhKzhk
Nnh1Mz5MWEcoV1goZ1RZNwp6MDlhX0s2UXZLa0NMVHp5P2VnI1ZLYDBCR3pKQzM4cl80Jj9RK0BX
YGd9REVIRV9ZbXhVXmo7OWNBMHI9YTZOKEwKem1vaSkzZ1FhITJtN2h2UVFiWXM5ZFN3NnIwM2Mm
WFFjVkI9aFlBMXlqMHlrJV83KHNEZ3dGcn5iMnxWND57OT4kCnpJK3ArZDlaVU4yV3RSV3wwang8
eEt+Izkhdnt5JSMjVmBueWM7M3padVdRVyRDdmkpMGBRRF93NyUmb29rYmVSbwp6cDskNHk3WFZQ
V0s4eHZyR0FSTil6YT5ERGhjeXg9MFUrcCkwT1c1LTY5NT1TbVlYMSV6eCVUQkpmUH5janpxQXMK
eipNbiU/MHw7WVExVmxHT1krQihkV3p7YFlJM2Bxb1B5dXdvTUNkTXB3QGVac3BldWljNHxaTFNF
JGUmakdPKGMlCno7fDNKJDlSKGRFSDE/UkdBNEpmaUtwdTZOckNvY05YckhQV21uZHl0O1V4aWUh
ZzxMO3VOSG9RIVclfD1ZTX58Kgp6YCtBZHtCfGdlWWBwbT09SUF1bkJuV2krY2J1YTxLNWoyTSom
P1k5UFR4eSZMK3wmdnI8PThEVFFDdiZJWUlvKmoKekUlPXM1Mm9lO0FQKkJyMENzZ15JayRpQWsl
N0l9cjJMJWYxUSVycChTfWA1eVJTejElKnM7Wn5Te09QKit7NDZxCnpSVks2YyRVUUFgTnw5bnJw
JWJKbmp0RW5WPFNnREtQKz00V3pvY1ZwITtDYkFnMHpRKDYkLUN+VH53bkJxVmA0Ygp6PFgmMGZN
VVI2JVMzS3YrZGgheTlkXnFAcTB0O1hBKE9HPnBOUShQQUNUMXQlbSlgJjdfamI1RF5VRVBeejtJ
Wm4KeCglRUx0JHtlY0RhTm1qVnJ4RiN2dSQzZjg4ZnJIRzB8MjZ3eU0/Q2Q2UUJTOTAwMm92UERI
TGtWMWdXfGM4Q0F+CgpsaXRlcmFsIDAKSGNtVj9kMDAwMDEKCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZXNvdXJj
ZXMvc21hbGwtc3F1YXJlLXdpdGgtY29sb3JzcGluLXByb2ZpbGUuanBnIGIvTGF5b3V0VGVzdHMv
d2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVzb3VyY2VzL3Nt
YWxsLXNxdWFyZS13aXRoLWNvbG9yc3Bpbi1wcm9maWxlLmpwZwpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hOTE4Njk2
OGZiZDAzMzg1ZmRlM2QyNzhjYTgwYTViMWQ4MTY2YWMzCkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJh
bCA5MTQ1CnpjbWVHPllqeyZ0dyktUylsMElrJkVtRktRT2JwTUZ3OD1TblhRdExQTnVmJWhxfit5
UmQtRkkrUTxJIURJY1pEUAp6S0BiKDRgRDZmPChRJjg8c1BLKVNqfWNNdDlYa3JybmZZZSEyb3c8
Z3lhK21DO2NAfTdTVyE1ND9TMW05cVZVYlYKekdrPk4jLShGfCF3Ym92SD9YfWxfV04rYWU7Ujdg
R2hLOXhsTGBmKTBMdW44YWohMih5YiUlb3B4IXZlbWdwZE5zCnpzY31kTzd6SUI+VTV5Rn1qKnlT
fm1uX34rJX1DMmdLISEjRChmMSVIRDJDdmJmSW9PJjchez1KWmllc01zQ3hIbgp6MnUmWkdgUHVg
Vms1eDZiYVhnbzc8S2lrdXZxN35lOTFDej1OeU8tQW9zRmgjdnteK1BZPGl1fFhhcDVWYFVFQW0K
ekQrbVpaQTw2MldgR2hvIXRGYSY/ODZ7MklEOWk1JEg3VkIqWUZkNmpCdmVLUlJVXnNqbWI4b04m
fXtnRU41cnA/Cno/QExTcnU1YzJTbDBMT00rPXZxWDJiR1okM2Z6VGozaCR3bnM4cGQpNmUmdUpp
YnxDdyNVO3d8PCl4K048RXR0dgp6IyNkQlNETjlMOGY1Z0pxQXZMQz9XSzd3WnYxTWdyRTZkOHRE
bHNVbDZzc3QmTTFrLS1xKk5kXm5rbDghTlRRXnEKek49a1NpeC1BdVVRRlVOdEF3PzF4akZTYHNy
Snp0SVJ9PllPS3NiektRYjsxckZ2bFhRZlJhaUlCIXpPQnFFSzNACnoyY31ZNWFMcVduJl8zVD1x
MyY0RCRTVCl0ZTQmMndsPH1UN2Uwb0QtI1U2KXo+ZX1ZaE42ej9AIztjeHVAJFBCUAp6YnU5dGNv
MTF2a2d1TSVudlktQkQ8PDVQbjU2P0RDZWB4YlBGRm18IztHQHNCWT0zTTJVeHlZM0pNVnF1c2g0
KmoKemAxcVc4KX1tMD9lZTBqeihTUHZSPVNuMXpmVkJuMENiX0s4TktDa2Y5IztTc2JmX3h8bmRO
SUx1PzI1PF9NRnlGCnpAZn1JNVNuRnNXP0B0PWVPcUYyKzxrTzZBP2diK0BPJGZMYW4wV1NSKWBW
fWpWMHo5MztheVpKQzJjQkU5WGpTfAp6b2NkdHZUdTxZYSREWD09Png+NjAqWSFNbVR0TEZ4YDMk
I2JlKjBRKCFFYWxJSjt5dlpgKT5UKz55TXZuSlhwMjEKemVaJjUzSD9DP2xafkwkM2doUnFmZylj
V3BeZmZ3VXNjJj1fT2VGJn1tY1RyS2REND8ya0Q0aFEhbX5LQENIMUJlCnpVUmtiNi1DYW8zSUVL
KmhqR2FVekN5cCNqJnlzUXhmZEQ4ezN1Wkc7I2JqbitPaFBPZSFZSXJNWjc+TCYydGImRgp6a2Y9
MGU8RC12ZERHWl9DMVRaNm1yI2drSWF9PVU7N3xJQzZWViskd05rNzV0T1J8TGozeT02aGZwc0k/
UzZCZmcKeipOWnZyd0BFLW5XYVNZM2NyYDljWndEYXUyTnd9Y0lmUTBIb3tXK3hpbzdUU3ppUGxj
UHpwKjMjNnFiSGclT1kxCnowUGBhYl8jRHVhKEJtK1EwV0EoQzRoNWtVMGNtMGh6Pnh7QlBubT5V
JWRDWU44YURxTURjdm5oa0VKM0pffjdNUwp6PUhwVmFLeXNlMS00Q1U3SiYmS0twQGY0M3daTWBj
O2JJfC08MX5qMl43LVhAb3tPZi0jMCpjVUV5S3NBJCYhKDwKenBHX2B8JXQ9Q3Q4cXJRNjtRQEla
V0h+N2BJYGVlUExrVFZ3QTM+NkZpRXQ8IVZgSGYoKUcyaX1XOXs8QDRhI0dACnpEVzAzZiNAS3xI
WDlHWSRFbGNCVVREVnZnI3VVdEhqRH1TM2BGcjxZbm8yfWtUI0grdnNrQyNrXkc4ekwkcStrJgp6
QkopUTA3SD88LXQ8Mjl0SitfLX5Pd01qYCYrJjB3MVM/Y3okUm1WeytQRmxJSnJXTE9KWEoxc2Vz
K2NvSFJTO3wKej11Smc8SyNNeHIxYiskZmcmRmNsQGUqSWkhOX09NG9eekY9e2B5JjIyMj8/Rnhm
dTMhNXpvY3ZyVDhTOTJASzNECnpqekEhTmdJZW4yY25HTCgmYFYmNStyQlBOPUlqaXQ0MyRFYilT
VmB7STZ2eyhMPTBoeSRZQlgyeGZjTC1UVn5kKgp6TGBiO2A9PFRRcV9VX1QkZXNzNzBffW84V3c8
aSZLNFVSfigwNVhMYHZLLWtfMEc1NnFFYytfZDFSRGVnK1hNJCYKejFJQSFPTD1+NWpQJDM2dU1o
MmA8b0NEJntCIXw7SlgrdD1veXJZZmg8MkoxfW1hT3NPYjlzJVFpKXk+UWFWPWU9CnopMW57T2I7
ckhfK2dNKVpWX311OFJpRkN6S0Q4PHdzOHVnQXheP2NqZ0taMVg/biR1Q0ojJDw5Si03TC0wZD9K
Vgp6c3ZtZFR4fSkoWiVYP01iKE1UKzU+I2tLMzx1PEBFUyp1bk41JnBKWEg5MEcqN1EzNU40bGNv
fTNeaHkqUXw7SDgKel5lVXNpTXNIK0hqNnRKZmJVS1N4WFYmVTwpd0lQJUdkOXx5TismaDZtazAh
SDklbjxrSDdNMXApN3xSbz5aPDl8CnoqS21vRG1iT34wU3s8V2htfS0heVBBLWt7LXRPdkhhJmt0
NGxURz4pO1chYFdWaylmQjNwKmlTc3xIKWVQREpCYgp6d1VfaShNbGomZCVFZSleQ3lmWEVTfmtL
KSolK1MkJihoY2RMfUAocEZEUDRPZ3o3QXQzYGVGQ0lNP21JYmNNe3cKek1XZmohbER3LUV5NzY3
KG9XdSphKjI1O2JSS219P0k+RjR6bmEyMlZGejN6QCMkbkN+eUlBLWBkRmg1UUNvM0FhCnpJVEVh
d2h3VEVrdFZ7c3BqPUZoJjJlQSFsWTFSb2xjJiFAJEtkaCRkWVREZEY+dXBBPiYwd2gzUyFfQztE
Qypfewp6O28jRDVpbCtaY2p1M0A3NDB3NihXcllLTlRhWmdjejJMKWUpRWk+OD9RdTR3UiVNNkFN
c18lODhPK24/KDtGUioKenJVVnhaTX1SP09uJmFVWnZENTlnSE83Kj5IfEEjPm93YUp7V0tCMzZ1
c014N3YmbXYqdGZtSVcqK0EzdmNHX1Z2CnoqITMyandWdHUtS3sqK0RvMElkV2E0MlEhMjU/PSZt
RExyR00mOEtaclVNVlQ0T0JxbVVPWjF+KXdFaGdoPkxPYgp6THtjSj1mdklNLThubTx5UWQoZmk8
cGdzNDErZyRWbkBMeGszb1VpQiZUeG9MVnllLWtWVEArVDdSWGkmdFBkSy0Kelk9OF9qaSRQPTU+
bWJ2QjFLcHo2ZkhPNkU5aigjUjdSWGtPayU2cGRmQ2hUWkk+O2J2IyRfWSRBP3BvIz0wYGVMCnp6
MjBFM247NkRtdktwTl9saTUpM2F4dHtzPWB1Sj9HPmltfVhqQGFibn5mfVhoRzgoMCMyYmJZb0Yj
YzJ5Jit2RQp6OVNMNFBNMXsjeylFbT9Faz1AanJFR0MxLXB0RzhFMVZSVlFHJFRUV1AoLUspeHso
JVQzPnNYXk9keGE/SXN6MWMKektydlgxSXMmMWlmSX5Me2ZAOTJqYTJ0am81NzNJQzF0YkNEdylF
Z2Mzfj8pWmE0dj5XN2EqdyV0fkptRzs5Pn5ZCnowdSg3YGY/RmBPZn1IP35qTVdJWm5aYX4zMzxF
JElFQ1ghP29melZ9UnR2NmN3T3w+bTE8UDJpTTgtLUo5Qlo9QAp6WjRoNHNDdn53VXVyISE3RnJY
UjswKnkmeSk+dCVGNFktRDtIOGk4NF4lfmxzZmRLe34rTl48U1VfY2dQMVZSTCYKeiN8VkswYVI0
QyRrPzxwbi1DV09EPnk1UENXSHZrWF4tYyFEIXxyZ14rWl9obFZZVDJMTCE2NFUhJTB9a21adFpo
CnpYMHtgWk1aemt3PyVLUzVhWjMye2xFKChyWD4jfmQpQm16bFNYOX43Iz1ed1FVa1NncXlvcTgt
RjM1THo2UmJUMQp6di1QYHxTPyN4NCZCZ0ZQZnQ9bE9aXjg+WklHYWU7cylHcUdzdUd2UGNyMnZp
eHBhWjdrS2R7Pz5GdnleeVFDV34Kenk5KWxqKz5qbXtmMTVXSlYmUk9WUnBWWjBAbVc5fFM/JCpj
byQmSWA0SDxEYmo5QGYtNCFTT0xTe2VQMGRTS0s4CnpxYUdPYnpeRGdDSkA4TkRmIXN8QjgtdEBv
N3U9SHdOMiVsUkFGO0tgR3EwZz5qKkRGU1ExN34lOChKaUFINk0tZgp6M0QyeTApIzQ+THNwUnxO
ckRZdHZMJXsyIypQbzJybzB7Z3A0R3hObCpRcHJJQilCKl9jUjsqWi1seEkzR0s/JHkKejdXdn18
ZDteU2NQTnhPbk1nJVUzc3NJbWtAb31KMmNLfXxRMEhYbF5JbVNhR3o4VHtfNXIyaXF3MEltS15D
IVR8CnpMVjM2XjU5aV9iOHUtWTsjZ34lJVR6dGBFUkx5MiVpTGdKRlJKcHlPU1BHc0FMXzRxfkQk
ZjNzQ2RMMGhmYy0zTAp6SkxANi1xcHRjPmpePG1CKDJufk1zeWRYVFAxeWk8Ylp9cSVeM0VLTStY
JH5pQENxalZ4aiZXWU9qfTEkZjZqWHEKeno4PExKdEZaWHlkUFB1QE9WVnUwdEJLITBDMFdMbUI2
K1hFQFFqKiE2XyZ4UEBSTU1zT2FkPlAqKDZ1VTNKWiMpCnojcWVHWnVmaitzaDQhO2RVYGdjPzF5
ektLT0NVfXVEWkMzeXV8KlBEUUhwe1dWYGJxdSope1NDSEIhKShjNHFTVQp6cVdTZSNkOGc8bmNz
aUM+YFBOS3pZPCVKTEcoKTB6O3YwTDYofm1UcFItOVM7cV9aWElZQjEwOCZzZVo8KGJYQCQKengl
Y1ImZnhHIzJFNz91SSp9M24tQTZrTkVRYGNIO3ZtMCohX2xNZlQ/VlZsU09NQzlRX3I2djRLayg0
UWtGNVgyCnpxbU9PZ14zPkRNWX5BK0tfTHEwT142RzI1LXJDKiZgIz0wflZFPSlHPztMdmZxclpO
OT8zMk9jcEFEVitlRTVzPQp6KDAlLWxUXzd6aUNAN0gwM1pyMU02NWc+M1gmRippKnlxYWBaKUp5
fmUpOzR6PDJAVUZTTHVzaG5EV0xSTjg8RV4KekJQJEg+b0wlTDJvX1hAY1h+dX55Q1JicDNhcXtr
VTRMcjdZMGg/TkFVVT81T2AwTmpfZXJXU2NfKEEoJkBrTSphCnp0VkthZl9FOV9jcUNJPFlUbGNE
OEpvQyEkLX16K04rUEVhVl4hYFY7eldScWxnSWA+MHlXeXR4byhDUz1fU3pyYwp6SiRgPVYhfUd3
Y15HK14lUnpTKkFyfCFBcXdWaThycjZrU1Y9TFpFOyhRJEZkX0wrTzFgUmFWQWNTSEFpMHFxZGIK
enpoM0N1OV5TZEI+T2NDfC18Um9IOXF0fGU8KzVHM3ppQFVpYSZ4KUliJn42VXglfXlkK2plZjlH
Xys0WnBVR1E9Cnp3K0MrZFYqa1oyMlNJdHErfiteKV9gWkdKXjhSNH50PT9ZSnpoKFpKVEsmOFdi
KypfMFA2fXchZiQzI0deS0lTdwp6PjRedktvTiFeO2FCdF8oVX1RPFo9Yj44I153VlgjYD9taHo7
Q29+R0h5TXV7U2teUFJhQ1BzKUhldGBlRXlMOXAKemB3dCZoU21lTDlPbmthMmFETGhBMCh4THxg
LUlndWUwY09IfE19P2d5MUwjKTFCPjR+YWdvQHE9PSt1SmdJPD9fCnpTfSN0MnwzWGh8eCRAamxi
PX4xKkpFVUxUYEYhXz1wQUchbSZAYlFiUytIM142VnsoIS03NCVJMi09NzA0aFpPIQp6XnpkUUg9
QFZsUHA4bzljXm5EbGx6Qzg3cD9LQXRnYlUrNk5IZ3dsNXRoPWwzeGVzbiV7SjRlcEU4ZCFTXlc7
fWMKemBxNzFEQEFQKEZjYz1GNVJiVGN6QF82cyhoZ1ghcGJuTzA1X1NEdyl7UTE9VEdmeFFuMkhO
S2hLaUJ1JHB8ZEIoCnpeaSV1elVURjglY1clNDJjSU43JWdCIVUwVXRFfHFJUH0kcCtHcG99Zjh0
eGU4YEBwaGZBSCooZk5wdWNANTU3fQppemlmSF9qdkVKRnghQ3ZMPHpGNXFkTShlcmNjQXFyZ1JR
Tj9xNWxPS1ViWWJjCgpsaXRlcmFsIDAKSGNtVj9kMDAwMDEKCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZXNvdXJj
ZXMvc21hbGwtc3F1YXJlLXdpdGgtY29sb3JzcGluLXByb2ZpbGUucG5nIGIvTGF5b3V0VGVzdHMv
d2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVzb3VyY2VzL3Nt
YWxsLXNxdWFyZS13aXRoLWNvbG9yc3Bpbi1wcm9maWxlLnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41OTIyNjI3
Mzc2OGU1MDk1ZjIzMGEzOWRjYmMzNWRmOTczYmRlYzFhCkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJh
bCA4NDEKemNtVi1QMUdmQiRQKTxoOzNLfExrMDAwZTFOSkxUcTAwMWloMDAxSGcwc3NJMk5pZXJ4
MDAwMDlhN2JCbTAwMXJ7CnowMDFyezBlR2M5Yl5yaFk3aW1MN1AqNy1aYlo+S0xaKlUrPExxaX5O
YSZLbTdZLUlvZGMtcE96eS1MR1MwN2xRUAp6ZzRqV2UxbkdET2FkSWV2O0hyVkBWNHglIWw1OTtI
Vm5DQntiSz8mPDNhO0pVMWlAIWVjaEA/SmY8QT5ISXkoZU8KejlSPCZISU1XOW9oJlJqV3lSOGwh
Vz9JPWgrdFR2YElybUpQQnw1YTI5WSRyYkg1bHZ4V08pfHo4diRRMDIhTitHCnolanZ1UGpycGlo
OGg4ZypNe3lafT1tTWktVTEkKHpmVDI3OzA1SnhQcjFsJVkyeTRGdzRDVUc7aHpZUWVPbkVydgp6
SXpHXz1XP3IxQ0d9K2czejFRMjJ5SyR6e3M0QXMzT3RQd2tkSXRiKUdlNXxjUT19Ukhpe31Uando
dFF0aH4tSnMKeiFiYFpqZmJNSjRSPDI8MjlCdjwpbVM0bD5DKE1rYU4qKD10QXxBZzFLJndaYFVB
LVhpMDAwMFdWQE9nPjAwNFI9CnowMDRsNDAwNENgMDA4UD0wMDI2ZDAwMCtuMDA4O3swMDRtS3Bs
fTkqMDAwNTNOa2w8WmMtcGpBTjAhQWYyJE9pOwp6JkhiLXklPnBOSk9MNigkcWBWan41YHZJXzB3
QUdTRn1vSzRQYEV5ZT40N3BTMHpBSlpLJDM/dzUrKHM0PSNLIzgKelolN2pXNylGK3hBZXExV3Zo
aDVpPmEmaFN1KEg+S1h4IyR7Vl4jITJIJCFZJTtWRVUrSnliWCpSRFZ6YmJpcVhFCnpFYHFtQTUr
SS19ZX14WnJVNStqNWQram8/cCVVVzs2em0tWjlWOWdObjR1cDsoNHMmZGIocDFIZHpmZ1NzdS02
agp6WkN+TGYwZD5OOCR3SUZkZXReT29NdGY/WkNLTE81bGJqXyElMVFkbiMxbEFXTXRxczNHX2lG
czBtMmI5aGE9RD8KekNaPTMhb0NuPDAzTUEjJkVpcUFDT1QlaCs9NDM3U21QaU5eNm95YngoPjVu
bWBKOW5fYTlZWk5WS041PTNoR2wjCnplSXtCbDlxM2dMOHA3REkjamFXeUl6IXlVI0NjVUZ2LVpl
NkVwa2VjVm9hZUVxJURwSlE7T3MpLVh1X0E2YX5NZQp6Vns1flZHPStrK2hsQ1hodVozTXlxWUkr
O01leVdhUz5aKkdnRmFWMD1nTkJXNXtZfmBfPVctdFUtSHBlZUtrbW0KemAjVUNQQypxZ2h8Szt+
fnhJNlI5QSNLMkxTZnxxMlgzb2tTcz9jIVhpU01UcDZ+Q35SQnVFLStIdmE8dnFMak9aClRycykl
KTAwMDAwTmt2WFh1MG1qZjJkRzskCgpsaXRlcmFsIDAKSGNtVj9kMDAwMDEKCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5j
ZS9yZXNvdXJjZXMvc21hbGwtc3F1YXJlLXdpdGgtZS1zcmdiLXByb2ZpbGUucG5nIGIvTGF5b3V0
VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVzb3Vy
Y2VzL3NtYWxsLXNxdWFyZS13aXRoLWUtc3JnYi1wcm9maWxlLnBuZwpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yNzky
YjBhYzU3MDNmMzA2ODU2ZDIyOGYxMzVmNGFjOTJmZjk3MzcxCkdJVCBiaW5hcnkgcGF0Y2gKbGl0
ZXJhbCAxOTg1CnpjbVY7eTJSYF9UUCk8aDszS3xMazAwMGUxTkpMVHEwMDFpaDAwMUhnMHNzSTJO
aWVyeDAwMDA5YTdiQm0wMDFyewp6MDAxcnswZUdjOWJecmhjazcrfGdQKjctWmJaPktMWipVKzxM
cWl+TmEmS203WS1Jb2RjLXJtUFljIU8zOTAmMDQKejdgS1dqbWxDJGdCfUl4TW1vWFI1RnNOaUJR
TD9vUlFWaTN+TlZabTZDI1RENWxQPXFCQmhyUG9pKT18Mz40dVVNCnpIa0dWUHYyMDNHUkhGYUI9
PEpicCt3RGM/WSVpWVF0S2FgUSYrfmlFXkV7dlB8REZkaEhseTV5QjRxJVE3PV9Idwp6UV49WTxD
eTFxMWlOVmtVMDNidnhtcl5ya2M7bGFvMGQhWWAwUlVDamwpRiZtbSU2MVhQfDBgTHozWm11d1I0
NnkKejtvb2JCU1NuS2g0MFFsOFZjfkt5eipxYGtUKWFaNjAydHsyYlZILTAzVkBMWkt2eF9ZNShZ
M3owOEY2UkxLfWViCno5OGxkKHY0IWsrZFJzc304QnBDV1dLJVlQbUttVDFBKTh7cSk3dHwyV2BH
KGIoUSlHYj1ZZDllJSZlSUpgflZvaQp6NFk4MFMwV3ZKYTB6XlVxN1RCPFg0Y0s2VExLdEVaaWcy
KG42QTYkKmZwQUQ1Mk1iZFcxMkpNRGdBfW9sQXB7RDkKekJNY3c5cDlUT1VndUB6Z19gd3N4Kj5p
JGVaJV54ZyROazVjYFQpfW9QfShQdHV3JWNTclhjYFNZNipFWjdFbnQ4CnpgY2VzYnlfYi1fNDFp
ZStUdiNsamdlKEFIRzY0V0EwUFgtM2V8LT5mb05VUXxefXNqZks9Y3d8b0h4TVY1MHBMegp6aFVv
eXpoayMpcVBedj5uO1o4ISVPKHZ3SXJUPHo2MDdqSGpyTHZ0JGlmWEdtWFZCV2c2Jm1gUXZ4Y1Q8
VUQ1NnkKelptS2c/U0U4NCFwRWFVajxhTEFGcXZ7TUJqcH5pPmVvO1FVa2Qtckx2cWAqWmZTSWtp
eF9RbW1nQkclSlBVQ3ZVCnpwUiR4JWprVVR4VllSaWpiPiYzKUI8KUdySFVnVXAraitMRj49XmJf
SkU+aXBlVy1vKVdSSi13OUU9PVJJVyMlQwp6SXFxQG5jQURuJmxUKHxzZ0w5KHVDNXwlM2prQUsy
JnVNb1Y8S3BYKj15SiVWIWxqI1F6OykmWmElSjNQWlUqLWgKengwSEwyK3MqQFRJTTBtZCExTGst
QHVHUSZ5ajAjSFVKPFhCX2xqQDhjajM/SHVpK28oKjlrTlEwKWF3c1NrVTVYCno/aSU1bT9iPUNr
c2RaRzFhSDIzdCp4PCVAT0xKRnRrOU5OIUApOHd6Km1+cjZqYHomPXZoZ31TTUtxOyk+WXsxUAp6
WD0mYTk/KzRTcl9pXi1UYEV1NmBlX3c2aW58QG5vJmh4a09AMChRX2E1IS1OWXs/d3xBaT47OCFL
UG1zJWA9IWsKej5UNmJyUlZZWDc2U2czSGI7U00hV3N4cnlTd3NhI1o8U1FWPlB6UD4mWE0maFgy
dTxmQUclYllQYDdPUUB9Zmt9CnppdXskX1JoTCkkQntpKkN6UnFDJW5kSHpQdl5ITVk2dTtTaU9W
X3J1K3Q9PDQrSEpjPkdwJjhedDt+eUFjP1dWMQp6OW44dThJcm5KY0B5Wml6Q2tOJFE3WCtNNUkp
RDFZdnJCZVk1e2ZUaCg8X1RFRlI4R3NPMEM4bk1hfD5pQj13IzUKenppbDRjbEohdmRzT2lhdVBW
ViFMN2RidUFlUVpLIzMkejg9MCZVQGEzIWYmSjVee200V3E/SUh6fUV2eDM7XnZtCnpmWX1IYmpz
JUorTFctc25he2QofCpNZXoodl9FPDtxQWshQ1hiVF9BQl9ae3BULXB3eF9NPnUxaUJVNCh1VUNt
dAp6e05CMlI1TW9MUUYoUVB4ZWF1V0hDOGRFUTA3UF58YlZQTGN5b310R15XJXRAbXNpZmMwOS1Y
cWswaXY9Vm9fWUgKem5wNFM5cXZMOEBeNT1fb1hsKUQxZF5GSmNYSW0yKWptJGtONW8oLTRoQz5F
eHMlejtGYklANittcGY4LVJFbnxYCno9b1hWUV5aTX50NlZCTUEramx1UDI/eygte04mTEFPST1w
bk5YbFJUJVNONWUqdFReP15YfFUxPThTej0pUGNmbQp6bGYjbEQ4T0pXPVJeP1RtRVh2TztTYkEx
P2p1ZjZLM2NsRVRkQ09KUDtfT24oWW5mJHdIJiZNYWUkJTVPeXxVfDkKeihYRVp1KXB0aFJeez80
Kj9fJXc8SSMmSVpoUzxoVV9tNGQmWWllJXBZMCsjb3s9QFIyZUgtQD9fMUxaNXtSITI8CnpkK058
Pntta1VLWmtJfmVeWGBUaCpJKHduK1NUKmpZakxsciYtQE1aTyM/WVlLQzdaRiY9elA1dzF4TlUp
OHdDTwp6IW9hWmxgPGpzNjIxMHItNjRLe1M9TzY4eS10JVkrdjwyRzJ8NlA5cStpN0lDTUkjaXkw
MDAwV1ZAT2c+MDA0Uj8KejAwNGw2MDAwMDAwMDRabjAwMDNfMDBEKGowMDAwMDAwMDBBUzA8aXMw
MDA1M05rbDxaYy1wakFOMCFBZjIkT2k7CnomSGIteSU+cE5KT0w2KCRxYFZqfjVgdklfMHdBR1NG
fW9LNFBgRXllPjQ3cFMwekFKWkskMz93NSsoczQ9I0sjOAp6WiU3alc3KUYreEFlcTFXdmhoNWk+
YSZoU3UoSD5LWHgjJHtWXiMhMkgkIVklO1ZFVStKeWJYKlJEVnpiYmlxWEUKekVgcW1BNStJLX1l
fXhaclU1K2o1ZCtqbz9wJVVXOzZ6bS1aOVY5Z05uNHVwOyg0cyZkYihwMUhkemZnU3N1LTZqCnpa
Q35MZjBkPk44JHdJRmRldF5Pb010Zj9aQ0tMTzVsYmpfISUxUWRuIzFsQVdNdHFzM0dfaUZzMG0y
YjloYT1EPwp6Q1o9MyFvQ248MDNNQSMmRWlxQUNPVCVoKz00MzdTbVBpTl42b3lieCg+NW5tYEo5
bl9hOVlaTlZLTjU9M2hHbCMKemVJe0JsOXEzZ0w4cDdESSNqYVd5SXoheVUjQ2NVRnYtWmU2RXBr
ZWNWb2FlRXElRHBKUTtPcyktWHVfQTZhfk1lCnpWezV+Vkc9K2sraGxDWGh1WjNNeXFZSSs7TWV5
V2FTPloqR2dGYVYwPWdOQlc1e1l+YF89Vy10VS1IcGVlS2ttbQp6YCNVQ1BDKnFnaHxLO35+eEk2
UjlBI0syTFNmfHEyWDNva1NzP2MhWGlTTVRwNn5DflJCdUUtK0h2YTx2cUxqT1oKVHJzKSUpMDAw
MDBOa3ZYWHUwbWpmY2V8cF8KCmxpdGVyYWwgMApIY21WP2QwMDAwMQoKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3Jl
c291cmNlcy9zbWFsbC1zcXVhcmUtd2l0aC1zbXB0ZS1jLXByb2ZpbGUucG5nIGIvTGF5b3V0VGVz
dHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVzb3VyY2Vz
L3NtYWxsLXNxdWFyZS13aXRoLXNtcHRlLWMtcHJvZmlsZS5wbmcKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjkwNGU4
OTUyMzVjODg1YTJmZGFhYjI0Njk3NTFlODczYTlkZjI0MwpHSVQgYmluYXJ5IHBhdGNoCmxpdGVy
YWwgODcxCnpjbVYtdDFETzFZUCk8aDszS3xMazAwMGUxTkpMVHEwMDFpaDAwMUhnMHNzSTJOaWVy
eDAwMDA5YTdiQm0wMDFyewp6MDAxcnswZUdjOWJecmhZSEVCYWJQKjctWmJaPktMWipVKzxMcWl+
TmEmS203WS1Jb2RjLXBPeko0P2YwNmhPfXgKejJUTyRASDBiKG14KWVmezsrajRYTDhaMUdsNUVY
YGBrK2JwXjctaH1BMGNsMzBvQCVPOVEqK3QxaXtJbDszaGFaCnpJME9rIUI2eX5BJnYzYkwhQn1A
WHQqKV5RbFNIZmpjMXlhUkZCaE12dXRiZH1vMS13I29MK0FpQVc0JiRwOXVKUAp6Sz4kNDBvbGRM
RS0+OE99KCFlTHNofmhqMVZGU1VyJk5QVEN6elIrPjRkTW97KVVlK01AY0B8UCFzbWIpNiNmZEIK
eiVKcUJAWi02eStKcyU3SkQ9NkZvRUZFOEhmT2VXcSl6U0QrJVo2PisodXZYX21WO0BvPDRHPWVr
fXk/U3N6eTRGCnpmWnsjP0R1Y2I9dXY+NVEtPypNSDN3dTk2MEFnaWN3dnpCdm9xaGtuKiFYPWVj
Tnx+QikqfiM7JGA7K2lUQF9ZRwp6V21+KDNTYCtUfnpXe2w3UDNobTxTZXBPPDAzYyZYUWNWQj1k
TDtrPWZQKC00XzgwJkZnd1gmMWNeTG96PXhoSzAKekpjfEdUOCg2ek1pazwpZjBqeDx4S34jOSF2
e3klIyNWYG55Yzszelp1V1FXJEN2aSkwYFFEX3c3JSZvb2tiZVJvCnpwOyQ0eTdYVlBXSzh4dnJH
QVJOKXphPkREaGN5eD0wVStwKTBPVzUtNjk1PVNtWVgxJXp4JVRCSmZQfmNqenFBcwp6Kk1uJT8w
fDtZUTFWbEdPWStCKGRXentgWUkzYHFvUHl1d29NQ2RNcHdAZVpzcGV1aWM0fFpMU0UkZSZqR08o
YyUKejt8M0okOVIoZEVIMT9SR0E0SmZpS3B1Nk5yQ29jTlhySFBXbW5keXQ7VXhpZSFnPEw7dU5I
b1EhVyV8PVlNfnwqCnpgK0Fke0J8Z2VZYHBtPT1JQXVuQm5XaStjYnVhPEs1ajJNKiY/WTlQVHh5
JkwrfCZ2cjw9OERUUUN2JklZSW8qagp6RSU9czUyb2U7QVAqQnIwQ3NnXklrJGlBayU3SX1yMkwl
ZjFRJXJwKFN9YDV5UlN6MSUqcztaflN7T1AqK3s0NnEKelJWSzZjJFVRQWBOfDlucnAlYkpuanRF
blY8U2dES1ArPTRXem9jVnAhO0NiQWcwelEoNiQtQ35UfnduQnFWYDRiCno8WCYwZk1VUjYlUzNL
ditkaCF5OWRecUBxMHQ7WEEoT0c+cE5RKFBBQ1QxdCVtKWAmN19qYjVEXlVFUF56O0labgp4KCVF
THQke2VjRGFObWpWcnhGI3Z1JDNmODhmckhHMHwyNnd5TT9DZDZRQlM5MDAyb3ZQREhMa1YxZz9S
Wn5fMVQKCmxpdGVyYWwgMApIY21WP2QwMDAwMQoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dl
YmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3Jlc291cmNlcy9zbWFs
bC1zcXVhcmUtd2l0aC1zcmdiLWllYzYxOTY2LTIuMS1wcm9maWxlLnBuZyBiL0xheW91dFRlc3Rz
L3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3Jlc291cmNlcy9z
bWFsbC1zcXVhcmUtd2l0aC1zcmdiLWllYzYxOTY2LTIuMS1wcm9maWxlLnBuZwpuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5hMDIwMWYxMTNmZGM4ZTk3MWZhYTE3ZGJmZjg5NTQxOTJlYTg2NmZkCkdJVCBiaW5hcnkgcGF0
Y2gKbGl0ZXJhbCAzMjAxCnpjbVYtezQxVio4UCk8aDszS3xMazAwMGUxTkpMVHEwMDFpaDAwMUhn
MHNzSTJOaWVyeDAwMDA5YTdiQm0wMDFyewp6MDAxcnswZUdjOWJecmhoUGlhRiNQKjctWmJaPktM
WipVKzxMcWl+TmEmS203WS1Jb2RjLW95KVhILSteN0NyYWcKel5nPklCZlJzeWJRV1hkd1FiTFA+
NnA8ej5BcWZ5bGgje2ZiNjtaKHZNTVZTfiRlQFM9aipmdGc2O1VoPGlWRH5WCno8UlBNdGdRSkx3
JUtQRGFxaWZjQF92WCQxd2J3cjl0bjswLSZqLUs9NDM8YlVROGo9SnNYYHRSO0RnNysjXkt+SAp6
SyFGTSpafnpicHZ0JUsye1VaU1lfPGxTKkQ8WiVMejVvR3UoK2RheXopaFJMRmRUPmY1OSZnaFRt
Z1dEMGw7KlQKekk3PGtDNmFZWWFqelhwWUt0PSg4b3RQJDUwSDZjX1Y5UjQtO3taQEMwQU1HNz1G
PFJ4byVvcjEwUlVUK0FyJTNqCnprcExoUVdyIyFvWGdkSWAmc0tePjA5WV5wNmxQMXJJUk14IzA1
Q35jVz1IX0F3KmJKLTVEVCZaMm4reClRSFhecAp6MDBlc2dWOHxtUWNtUlolMDJEXkBTM0wxNnRg
TyVjMDA0Tkl2T0t2WUlZb2g2MnJZMzNTNjQwYEQ5JVkyRC08P2kKejAlNGohRjJaQDQ4OFUlMTU4
KDY2MDA1d282JXBXcl5aal92NHpBQTVIamNJcVVvR210MkxCPnJWJm5laCYjUTFpCnowMDd+MWUk
b0NjRlM4bmVJfGhKbHstUCFCMVpaOWhwbXEwKVgwaWBKd0UmPiQrRT8+JV88bFMqTVdLK24rMWNn
Zgp6PGsoOFlMUig/VlNBRzZ4IWU3OHd7Y1FQdUpwQXxkO0opR3tmaWhpek0rRXJiIXAhdGNyNXcr
YTM0fihZPThzNEcKencrc0xMOW4mSmpObipLSkRpcV5VNV47YDFudkMtQHI2UCQha30xVXsoKkk9
US16QHRCS0hvSX11eGRVNWR5eUB1CnpVMUowR09EN09tYmltXkcwMDhwNFpeNl9rMm1ecDxnVz1E
MnxMO0hqTjEhRERmTSFYT2FSMn5iTD9rWCQlQ2tTbQp6Mm1rOz9wbilvfEteeWVKNyVhZEI5S2kr
TCEzK0ZnSGlTWVgjS0otbExKRE1uOUNCYk90YiMlKWhSdmBZRHF0X3YKektwaXh8UUR9eWZhMUpp
UVJrI2o0YTFaKW4yJWY8eHluelY+TEM2UmJWSWtVeDBiK18rQmFSM2NuVDdadiFBSnhXCnppekZi
KWghanlHT09aODVGO2E/REFYUHttQDshMF9JZnE8RXh7KjdgMDVYRjdoUCsySGwhM0JRSj02QGZM
JUZDbwp6OGlZb28zKCNiQUZgQURTcHF0UWd2Pkg4KEhsZ1J4dDdzM31rM0tga0Z1Pj4tMlEkUU1G
ZlBXIUxhe2gzMzZvPlgKenVfQ010dEh2NnpSOyZaTmlTPVg4djNDUiNma25VeEhVeEo8QVltUnNO
TFdsKlBTe0FPQVJIdCM1IXdraTI/Szt0CnohWTNrPXM3dGdheClKJXI3LUJMcGhnZTd+QmkwZys2
RTZeWmgocDlUQm9jezNHQUZyXjAhZ3U/Uk1IYUNNJCZGbAp6QmszJXVuPjB1b0JhX002V05XZXFJ
Z342UUU2OWM5byNleWhHdnBpT0FAVy1hb25rPDdyMSg/ZkN7b0k1TipVITQKejx1djY2V3RjS1NS
aW0weC1LZTJkNWpCcm1MYW17O1FtO3ttczFyMUdubU5zYjdELUVgdClpOUY4ZlhgMl9pMy1fCnpi
aDs3VWxeI3gpJnt4dlM9fHx8Nz1tWWUzMz1NYEFnVTUoeEM+Zmc9Mk4tNz1jTm5qak9ye3lyaXk2
bU1GZ0cjbAp6bkNGPWZuUXY4Q0R6KytvNl9Mc2NsfWVRK2xeWkhBUkg+P19zQHwjI1JyNktMUkZB
MSVRKz0qUlJXbm9Mc1JgN1UKenQ1dkY8UTByNDBRKWo2PXNFNFgmc0JjdDFxPCZmYmkzVkIyT3Y2
dEBxKjApO1UqbypTQVBadnx2dkAyYVlZblQwCnpiJThhK0NiNy1nZTBEMGtuRWY1UWkjQDhUcCpj
ZXtOOzZscFF1Q0IlS0xfS09hcm01Y1A2XzhJcjxlMTdpcnk2Twp6RGRIJmByWmh+c0Y9YnE5cytP
MFFTZ1N+QFFMOUpteSo5NHhyPTZ5fk1ZfiExZmV0fihOKyg8PU1gd0BEMSliK3AKeio7QyE4M2Ex
dUxKdiNOU0V+O3kjOD08PkljZlczQD93RnB3VVZ4clZaPlFkUXozMktJZUp9a357Y1paRV4reWE/
CnoyRDF6IzJIT25JNyhCJV9hYz97d0ZVUTtRUUExdEJLdHJXcm0wXzNSZ3BzKz9KZnFie2pZYmNR
WH50YVJCOyMkeQp6Wk57U30xfH1nVU9ISnhjP3dWM2Z4dXorbUo0YCFGJElaO21xUnJOc0hKZCMj
KkR+anU9YlA3Py0/dn58Y3Y+dkIKenNKNkllTndWWnhyZGpUYHlsI2JCSWEjR3hSYSN4TU15O0sj
Q0R5eUd5UWRNU3hsV1QjdERlP3AhPzV3VCQrb0d0Cno4TDtLcDJIVVEtWk1KPTNYSlF2O3g1Y2kq
P3Z1VGZlWSQ7KHtYR1dfaHVJRlI5YTxmSmJGXnw0SSN4UX5uJERjPQp6S1loalltZ3o1TlNrRG04
KmZabXs2VSE7WVhgTkc+KD9AMylYU3M4T15ONVJ5T009VFRtcCgzPTheK3pwejJyKUMKel4+Sk97
ZGVaZnNvM29xMz9XbyhZP2wkZ2U/dVhvOyVydWBWbz4/PDwoOElfPjs4RXEjS01TOWdGbCpuZWVv
c1NCCnpmb0hZbkJRSWt3a3lvd1B1KHpkbXNgcHs8N2U0a3JhLVpXcTwyKk9zR1R2RVYlczBUZCRo
WFQrISo4Qm5oMktNZQp6Qm1aUm9kakhWP3IrXzVeWDlKMFdMNGpLV2B9bGYlQS18NDRJQEBMVHZm
MXJIakcoemU2K3dASnQlQnZqdHMhWDAKej8yeFM/X3ZlXy1rPE11amc7MEx6KjNidUc9MyRHJmVo
ZXB0aGxOKiRLYU95U1NRXm5XbW88ME0rKFVFVU1FWFJRCnpNQmJaY0Y7NitLRWxNPmlLQl9LaUps
WiQ5R2BjXj1FQG9ORyltV1dhTm8tM1RJVzgpJEhnMFViLX44P0todko+JAp6MyombmltQG1qKGFD
eEU1IXR7bHc3TzVeMEVJTzd6T28mYzZsPCt8aUR5U0JXQ0dyekBDNXtTdCFYM2hBQX1gVDQKeihU
TGJYVHErKDtAPD1MOGRYbnNzeWZ0fHcjV1NUVzwrKzM+c2dTJSg0TlRwZUktVkFxYnw3c3NKdnpO
SGdPWlZ1CnphWUN2Z09fUjF+PlN5TD1jRlV8fmd8aHl8Wml9fXM5K2R+bFlxT0I3MXo5WiR3bkM9
cFI5WXo0RGhJTT5XbWpndQp6JjU2bzZtYUNwQyZGIyN5JUc7MVBvYlI5aT9Hbk5nO2dZdGNoRCVw
MTlhIWVRdFpGJjNKYUt2MzNnWjw4RH40N0UKenRVUzFpd2ttRGFQcGo9JG0jJSlqQ1ZFWTRmbkxH
TmcyQS1gWXdIVkQzZ3Z9Oz4paEF2VH5BbXFTPkxyYGBpN2t3CnpKezVfSXRgeXJCbWxjMjVEQk83
RTg7NVZvem5SPld3NWhBYXhuJDJ+KHFgJUEtWXVTNjR3a0J5PTlkbWA0Y1hlWAp6NGN9SUA/ZStG
VytiQF5SREJIVih3bk1xMnpkWDNTV3Y5dWAle3hDLXEqVX0mYGN5WFYoJXJSVCpaNk1IP2kraSYK
el9COEMoK2dyVCV7WFdVUStmQE5vUDFSPUFXJjI2e3YtZHgpaUteLU5taXVqOHR4aiFtP1oqU3Mx
TntkaDR6fTAxCnopWVRvKkp5Y1NVKStfNXI0I3l3OXsrO2k0RWUkcGVSZ0lqKzt2O1pHZEYxSyQz
RSVlfjRMYUkoakMtdSUyaCQmUgp6OWNMWGNZQ0BYd25ucyZibilfUX5UZT9yb0tHRHxkLWdeODsr
YUN7e0coMV4oTzdtMzdZMS0rNikwMWNOJnkxYXcKem9xY3tUYFBeWEpxUEJiSVc2c31kNHt6X2Y1
T20/dk1nTlFFSkc/djJUPUtZZF4wTTNJNklaeGJueSkldlpSJkxECnpKcFBsQFBzaDhReVBCQEtU
eCtAUmRjQyFLWDd9a0VvO1N8al51MmxVN1hRfU9vO2Z8O3o0TGwrX3I+QDEteGwzfAp6YXdxLUgl
ZSZja0MrQEFoUHJQNkJLPHo9PEwqMGtmS1VAQ1gqemVxYllRVDQoXlU+VCNfWGRUNyY7Rjcxan1K
b3kKemtDfjZsaDdFQDZvO1dAXklwUk5ae3B0THRMKGdRLUNZfjRtcVc7VVM3Wnh2bV98QHl6JmU1
M0JwX2xUUGxmUHx6CnpyVHl4Xz5sdkB4Iz1eIVB6UjdxcUY8JGdtYHxaSlorOzwpQ3F1Jm90PGF7
ODFERjB+cnZHcjVYcn44dWBsYXYxaAp6MUROeXRWPjJ6PTAwMDBXVkBPZz4wMDRSPTAwNGw0MDA4
O18wMDRtTDAwNENgMDA4UD4wMDI2ZTAwMCtubDMmRn0KejAwMDUzTmtsPFpjLXBqQU4wIUFmMiRP
aTsmSGIteSU+cE5KT0w2KCRxYFZqfjVgdklfMHdBR1NGfW9LNFBgRXllCno+NDdwUzB6QUpaSyQz
P3c1KyhzND0jSyM4WiU3alc3KUYreEFlcTFXdmhoNWk+YSZoU3UoSD5LWHgjJHtWXiMhMgp6SCQh
WSU7VkVVK0p5YlgqUkRWemJiaXFYRUVgcW1BNStJLX1lfXhaclU1K2o1ZCtqbz9wJVVXOzZ6bS1a
OVY5Z04Kem40dXA7KDRzJmRiKHAxSGR6ZmdTc3UtNmpaQ35MZjBkPk44JHdJRmRldF5Pb010Zj9a
Q0tMTzVsYmpfISUxUWRuCnojMWxBV010cXMzR19pRnMwbTJiOWhhPUQ/Q1o9MyFvQ248MDNNQSMm
RWlxQUNPVCVoKz00MzdTbVBpTl42b3lieAp6KD41bm1gSjluX2E5WVpOVktONT0zaEdsI2VJe0Js
OXEzZ0w4cDdESSNqYVd5SXoheVUjQ2NVRnYtWmU2RXBrZWMKelZvYWVFcSVEcEpRO09zKS1YdV9B
NmF+TWVWezV+Vkc9K2sraGxDWGh1WjNNeXFZSSs7TWV5V2FTPloqR2dGYVYwCno9Z05CVzV7WX5g
Xz1XLXRVLUhwZWVLa21tYCNVQ1BDKnFnaHxLO35+eEk2UjlBI0syTFNmfHEyWDNva1NzP2MhWApu
aVNNVHA2fkN+UkJ1RS0rSHZhPHZxTGpPWnJzKSUpMDAwMDBOa3ZYWHUwbWpmPkQlWWIKCmxpdGVy
YWwgMApIY21WP2QwMDAwMQoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNl
cy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3Jlc291cmNlcy9zdHJ1Y3RVbmlmb3JtU2hh
ZGVyLnZlcnQgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9j
b25mb3JtYW5jZS9yZXNvdXJjZXMvc3RydWN0VW5pZm9ybVNoYWRlci52ZXJ0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjU5YzcxOWEwMDE0YTA0NTVlMDcxNDEwM2FjMmE2NzBlZDQwMGYwOTIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3Jt
YW5jZS9yZXNvdXJjZXMvc3RydWN0VW5pZm9ybVNoYWRlci52ZXJ0CkBAIC0wLDAgKzEsNTMgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKGMpIDIwMDkgVGhlIENocm9taXVtIEF1dGhvcnMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6
CisgKgorICogICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisg
KiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29v
Z2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNl
ZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNv
ZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBD
T05UUklCVVRPUlMKKyAqIEFTIElTIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAor
ICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKK2F0dHJpYnV0ZSB2ZWM0IGFfdmVydGV4OworYXR0cmlidXRlIHZlYzMgYV9ub3JtYWw7CisK
K3VuaWZvcm0gbWF0NCB1X21vZGVsVmlld1Byb2pNYXRyaXg7CisKK3N0cnVjdCBNeVN0cnVjdAor
eworICBpbnQgeDsKKyAgaW50IHk7Cit9OworCit1bmlmb3JtIE15U3RydWN0IHVfc3RydWN0Owor
dW5pZm9ybSBmbG9hdCB1X2FycmF5WzRdOworCit2YXJ5aW5nIHZlYzMgdl9ub3JtYWw7CisKK3Zv
aWQgbWFpbigpCit7IAorICAgIHZfbm9ybWFsID0gYV9ub3JtYWw7CisgICAgZ2xfUG9zaXRpb24g
PSB1X21vZGVsVmlld1Byb2pNYXRyaXggKiBhX3ZlcnRleCArCisgICAgICAgIHZlYzQodV9zdHJ1
Y3QueCwgdV9zdHJ1Y3QueSwgMCwgMSkgKworICAgICAgICB2ZWM0KHVfYXJyYXlbMF0sIHVfYXJy
YXlbMV0sIHVfYXJyYXlbMl0sIHVfYXJyYXlbM10pOworfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVzb3VyY2Vz
L3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFzLmpzIGIvTGF5b3V0VGVzdHMv
d2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVzb3VyY2VzL3Rl
eC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFzLmpzCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY3Yzc5
Zjg0OGQ5NmY5NGU5Zjc3MTdlYTY5ZDNjZjIzNTdjNWI4OWUKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9y
ZXNvdXJjZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMuanMKQEAgLTAs
MCArMSwyMjEgQEAKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAg
SW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdl
LCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5k
L29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiks
IHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcK
KyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBt
ZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNv
cGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20g
dGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2Ug
YW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBj
b3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBU
SEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFO
WSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVE
IFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBT
SEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQor
KiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElP
TiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBP
RiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBP
VEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworZnVuY3Rpb24gZ2VuZXJhdGVU
ZXN0KHBpeGVsRm9ybWF0LCBwaXhlbFR5cGUsIHByb2xvZ3VlKSB7CisgICAgdmFyIHd0dSA9IFdl
YkdMVGVzdFV0aWxzOworICAgIHZhciBnbCA9IG51bGw7CisgICAgdmFyIHN1Y2Nlc3NmdWxseVBh
cnNlZCA9IGZhbHNlOworCisgICAgdmFyIGluaXQgPSBmdW5jdGlvbigpCisgICAgeworICAgICAg
ICBpbml0VGVzdGluZ0hhcm5lc3NXYWl0VW50aWxEb25lKCk7CisKKyAgICAgICAgZGVzY3JpcHRp
b24oJ1ZlcmlmeSB0ZXhJbWFnZTJEIGFuZCB0ZXhTdWJJbWFnZTJEIGNvZGUgcGF0aHMgdGFraW5n
IGNhbnZhcyBlbGVtZW50cyAoJyArIHBpeGVsRm9ybWF0ICsgJy8nICsgcGl4ZWxUeXBlICsgJykn
KTsKKworICAgICAgICBnbCA9IHd0dS5jcmVhdGUzRENvbnRleHQoImV4YW1wbGUiKTsKKworICAg
ICAgICBpZiAoIXByb2xvZ3VlKGdsKSkgeworICAgICAgICAgICAgZmluaXNoVGVzdCgpOworICAg
ICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisKKyAgICAgICAgdmFyIHByb2dyYW0gPSB3dHUu
c2V0dXBUZXh0dXJlZFF1YWQoZ2wpOworCisgICAgICAgIGdsLmNsZWFyQ29sb3IoMCwwLDAsMSk7
CisgICAgICAgIGdsLmNsZWFyRGVwdGgoMSk7CisKKyAgICAgICAgdmFyIHRlc3RDYW52YXMgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCdjYW52YXMnKTsKKyAgICAgICAgcnVuVGVzdCh0ZXN0Q2Fu
dmFzKTsKKyAgICAgICAgLy9kb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHRlc3RDYW52YXMpOwor
ICAgIH0KKworICAgIGZ1bmN0aW9uIHNldENhbnZhc1RvUmVkR3JlZW4oY3R4KSB7CisgICAgICB2
YXIgd2lkdGggPSBjdHguY2FudmFzLndpZHRoOworICAgICAgdmFyIGhlaWdodCA9IGN0eC5jYW52
YXMuaGVpZ2h0OworICAgICAgdmFyIGhhbGZIZWlnaHQgPSBNYXRoLmZsb29yKGhlaWdodCAvIDIp
OworICAgICAgY3R4LmZpbGxTdHlsZSA9ICIjZmYwMDAwIjsKKyAgICAgIGN0eC5maWxsUmVjdCgw
LCAwLCB3aWR0aCwgaGFsZkhlaWdodCk7CisgICAgICBjdHguZmlsbFN0eWxlID0gIiMwMGZmMDAi
OworICAgICAgY3R4LmZpbGxSZWN0KDAsIGhhbGZIZWlnaHQsIHdpZHRoLCBoZWlnaHQgLSBoYWxm
SGVpZ2h0KTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBkcmF3VGV4dEluQ2FudmFzKGN0eCkgewor
ICAgICAgdmFyIHdpZHRoID0gY3R4LmNhbnZhcy53aWR0aDsKKyAgICAgIHZhciBoZWlnaHQgPSBj
dHguY2FudmFzLmhlaWdodDsKKyAgICAgIGN0eC5maWxsU3R5bGUgPSAiI2ZmZmZmZiI7CisgICAg
ICBjdHguZmlsbFJlY3QoMCwgMCwgd2lkdGgsIGhlaWdodCk7CisgICAgICBjdHguZm9udCA9ICcy
MHB0IEFyaWFsJzsKKyAgICAgIGN0eC5maWxsU3R5bGUgPSAnYmxhY2snOworICAgICAgY3R4LnRl
eHRBbGlnbiA9ICJjZW50ZXIiOworICAgICAgY3R4LnRleHRCYXNlbGluZSA9ICJtaWRkbGUiOwor
ICAgICAgY3R4LmZpbGxUZXh0KCIxMjM0NTY3ODkwIiwgd2lkdGggLyAyLCBoZWlnaHQgLyA0KTsK
KyAgICB9CisKKyAgICBmdW5jdGlvbiBzZXRDYW52YXNUbzI1N3gyNTcoY3R4KSB7CisgICAgICBj
dHguY2FudmFzLndpZHRoID0gMjU3OworICAgICAgY3R4LmNhbnZhcy5oZWlnaHQgPSAyNTc7Cisg
ICAgICBzZXRDYW52YXNUb1JlZEdyZWVuKGN0eCk7CisgICAgfQorCisgICAgZnVuY3Rpb24gc2V0
Q2FudmFzVG8xeDIoY3R4KSB7CisgICAgICBjdHguY2FudmFzLndpZHRoID0gMTsKKyAgICAgIGN0
eC5jYW52YXMuaGVpZ2h0ID0gMjsKKyAgICAgIHNldENhbnZhc1RvUmVkR3JlZW4oY3R4KTsKKyAg
ICB9CisKKyAgICBmdW5jdGlvbiBydW5PbmVJdGVyYXRpb24oY2FudmFzLCB1c2VUZXhTdWJJbWFn
ZTJELCBmbGlwWSwgdG9wQ29sb3IsIGJvdHRvbUNvbG9yLCBvcHRfdGV4dHVyZSwgb3B0X2ZvbnRU
ZXN0KQorICAgIHsKKyAgICAgICAgZGVidWcoJ1Rlc3RpbmcgJyArICh1c2VUZXhTdWJJbWFnZTJE
ID8gJ3RleFN1YkltYWdlMkQnIDogJ3RleEltYWdlMkQnKSArCisgICAgICAgICAgICAgICcgd2l0
aCBmbGlwWT0nICsgZmxpcFkgKyAnIGNhbnZhcyBzaXplOiAnICsgY2FudmFzLndpZHRoICsgJ3gn
ICsgY2FudmFzLmhlaWdodCArCisgICAgICAgICAgICAgIChvcHRfZm9udFRlc3QgPyAiIHdpdGgg
Zm9udHMiIDogIiB3aXRoIHJlZC1ncmVlbiIpKTsKKyAgICAgICAgZ2wuY2xlYXIoZ2wuQ09MT1Jf
QlVGRkVSX0JJVCB8IGdsLkRFUFRIX0JVRkZFUl9CSVQpOworICAgICAgICAvLyBEaXNhYmxlIGFu
eSB3cml0ZXMgdG8gdGhlIGFscGhhIGNoYW5uZWwKKyAgICAgICAgLy8gTm8gaWRlYSB3aHkgdGhp
cyB3YXMgaGVyZS4gSWYgaXQncyBpbXBvcnRhbnQgcHV0IGl0IGJhY2sgYW5kIGxlYXZlIGEgY29t
bWVudCBhcyB0byB3aHkKKy8vICAgICAgICBnbC5jb2xvck1hc2soMSwgMSwgMSwgMCk7CisgICAg
ICAgIGlmICghb3B0X3RleHR1cmUpIHsKKyAgICAgICAgICAgIHZhciB0ZXh0dXJlID0gZ2wuY3Jl
YXRlVGV4dHVyZSgpOworICAgICAgICAgICAgLy8gQmluZCB0aGUgdGV4dHVyZSB0byB0ZXh0dXJl
IHVuaXQgMAorICAgICAgICAgICAgZ2wuYmluZFRleHR1cmUoZ2wuVEVYVFVSRV8yRCwgdGV4dHVy
ZSk7CisgICAgICAgICAgICAvLyBTZXQgdXAgdGV4dHVyZSBwYXJhbWV0ZXJzCisgICAgICAgICAg
ICBnbC50ZXhQYXJhbWV0ZXJpKGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRVUkVfTUlOX0ZJTFRFUiwg
Z2wuTkVBUkVTVCk7CisgICAgICAgICAgICBnbC50ZXhQYXJhbWV0ZXJpKGdsLlRFWFRVUkVfMkQs
IGdsLlRFWFRVUkVfTUFHX0ZJTFRFUiwgZ2wuTkVBUkVTVCk7CisgICAgICAgICAgICBnbC50ZXhQ
YXJhbWV0ZXJpKGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRVUkVfV1JBUF9TLCBnbC5DTEFNUF9UT19F
REdFKTsKKyAgICAgICAgICAgIGdsLnRleFBhcmFtZXRlcmkoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVY
VFVSRV9XUkFQX1QsIGdsLkNMQU1QX1RPX0VER0UpOworICAgICAgICB9IGVsc2UgeworICAgICAg
ICAgICAgdmFyIHRleHR1cmUgPSBvcHRfdGV4dHVyZTsKKyAgICAgICAgfQorICAgICAgICAvLyBT
ZXQgdXAgcGl4ZWwgc3RvcmUgcGFyYW1ldGVycworICAgICAgICBnbC5waXhlbFN0b3JlaShnbC5V
TlBBQ0tfRkxJUF9ZX1dFQkdMLCBmbGlwWSk7CisgICAgICAgIGdsLnBpeGVsU3RvcmVpKGdsLlVO
UEFDS19QUkVNVUxUSVBMWV9BTFBIQV9XRUJHTCwgZmFsc2UpOworICAgICAgICBnbC5waXhlbFN0
b3JlaShnbC5VTlBBQ0tfQ09MT1JTUEFDRV9DT05WRVJTSU9OX1dFQkdMLCBnbC5OT05FKTsKKyAg
ICAgICAgLy8gVXBsb2FkIHRoZSBpbWFnZSBpbnRvIHRoZSB0ZXh0dXJlCisgICAgICAgIGlmICh1
c2VUZXhTdWJJbWFnZTJEKSB7CisgICAgICAgICAgICAvLyBJbml0aWFsaXplIHRoZSB0ZXh0dXJl
IHRvIGJsYWNrIGZpcnN0CisgICAgICAgICAgICBnbC50ZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQs
IDAsIGdsW3BpeGVsRm9ybWF0XSwgY2FudmFzLndpZHRoLCBjYW52YXMuaGVpZ2h0LCAwLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICBnbFtwaXhlbEZvcm1hdF0sIGdsW3BpeGVsVHlwZV0sIG51
bGwpOworICAgICAgICAgICAgZ2wudGV4U3ViSW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCAwLCAw
LCBnbFtwaXhlbEZvcm1hdF0sIGdsW3BpeGVsVHlwZV0sIGNhbnZhcyk7CisgICAgICAgIH0gZWxz
ZSB7CisgICAgICAgICAgICBnbC50ZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsW3BpeGVs
Rm9ybWF0XSwgZ2xbcGl4ZWxGb3JtYXRdLCBnbFtwaXhlbFR5cGVdLCBjYW52YXMpOworICAgICAg
ICB9CisKKyAgICAgICAgLy8gRHJhdyB0aGUgdHJpYW5nbGVzCisgICAgICAgIHd0dS5kcmF3UXVh
ZChnbCwgWzAsIDI1NSwgMCwgMjU1XSk7CisKKyAgICAgICAgaWYgKG9wdF9mb250VGVzdCkgewor
ICAgICAgICAgICAgdmFyIHdpZHRoID0gZ2wuY2FudmFzLndpZHRoOworICAgICAgICAgICAgdmFy
IGhlaWdodCA9IGdsLmNhbnZhcy5oZWlnaHQ7CisgICAgICAgICAgICB2YXIgaGFsZkhlaWdodCA9
IE1hdGguZmxvb3IoaGVpZ2h0IC8gMik7CisgICAgICAgICAgICB2YXIgdG9wID0gZmxpcFkgPyAw
IDogKGhlaWdodCAtIGhhbGZIZWlnaHQpOworICAgICAgICAgICAgdmFyIGJvdHRvbSA9IGZsaXBZ
ID8gKGhlaWdodCAtIGhhbGZIZWlnaHQpIDogMDsKKyAgICAgICAgICAgIC8vIGNoZWNrIGhhbGYg
aXMgYSBzb2xpZCBjb2xvci4KKyAgICAgICAgICAgIHd0dS5jaGVja0NhbnZhc1JlY3QoCisgICAg
ICAgICAgICAgICAgICBnbCwgMCwgdG9wLCB3aWR0aCwgaGFsZkhlaWdodCwKKyAgICAgICAgICAg
ICAgICAgIFsyNTUsIDI1NSwgMjU1LCAyNTVdLAorICAgICAgICAgICAgICAgICAgInNob3VsZCBi
ZSB3aGl0ZSIpOworICAgICAgICAgICAgLy8gY2hlY2sgb3RoZXIgaGFsZiBpcyBub3QgYSBzb2xp
ZCBjb2xvci4KKyAgICAgICAgICAgIHd0dS5jaGVja0NhbnZhc1JlY3RDb2xvcigKKyAgICAgICAg
ICAgICAgICAgIGdsLCAwLCBib3R0b20sIHdpZHRoLCBoYWxmSGVpZ2h0LAorICAgICAgICAgICAg
ICAgICAgWzI1NSwgMjU1LCAyNTUsIDI1NV0sIDAsCisgICAgICAgICAgICAgICAgICBmdW5jdGlv
bigpIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiZm9udCBtaXNzaW5nIik7Cisg
ICAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICAgZnVuY3Rpb24oKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQoImZvbnQgcmVuZGVyZXJlZCIpOworICAgICAgICAg
ICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICAgIGRlYnVnKTsKKyAgICAgICAgfSBlbHNlIHsK
KyAgICAgICAgICAgIC8vIENoZWNrIGEgZmV3IHBpeGVscyBuZWFyIHRoZSB0b3AgYW5kIGJvdHRv
bSBhbmQgbWFrZSBzdXJlIHRoZXkgaGF2ZQorICAgICAgICAgICAgLy8gdGhlIHJpZ2h0IGNvbG9y
LgorICAgICAgICAgICAgdmFyIHdpZHRoID0gZ2wuY2FudmFzLndpZHRoOworICAgICAgICAgICAg
dmFyIGhlaWdodCA9IGdsLmNhbnZhcy5oZWlnaHQ7CisgICAgICAgICAgICB2YXIgaGFsZkhlaWdo
dCA9IE1hdGguZmxvb3IoaGVpZ2h0IC8gMik7CisgICAgICAgICAgICBkZWJ1ZygiQ2hlY2tpbmcg
Ym90dG9tIik7CisgICAgICAgICAgICB3dHUuY2hlY2tDYW52YXNSZWN0KGdsLCAwLCAwLCB3aWR0
aCwgaGFsZkhlaWdodCwgYm90dG9tQ29sb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJzaG91bGRCZSAiICsgYm90dG9tQ29sb3IpOworICAgICAgICAgICAgZGVidWcoIkNoZWNr
aW5nIHRvcCIpOworICAgICAgICAgICAgd3R1LmNoZWNrQ2FudmFzUmVjdChnbCwgMCwgaGVpZ2h0
IC0gaGFsZkhlaWdodCwgd2lkdGgsIGhhbGZIZWlnaHQsIHRvcENvbG9yLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAic2hvdWxkQmUgIiArIHRvcENvbG9yKTsKKyAgICAgICAgfQor
CisgICAgICAgIGlmIChmYWxzZSkgeworICAgICAgICAgIHZhciBtID0gbmV3IEltYWdlKCk7Cisg
ICAgICAgICAgbS5zcmMgPSBnbC5jYW52YXMudG9EYXRhVVJMKCk7CisgICAgICAgICAgZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnNvbGUiKS5hcHBlbmRDaGlsZChtKTsKKyAgICAgICAgICBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29uc29sZSIpLmFwcGVuZENoaWxkKGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoImhyIikpOworICAgICAgICB9CisKKyAgICAgICAgcmV0dXJuIHRleHR1cmU7
CisgICAgfQorCisgICAgZnVuY3Rpb24gcnVuVGVzdChjYW52YXMpCisgICAgeworICAgICAgICB2
YXIgY3R4ID0gY2FudmFzLmdldENvbnRleHQoIjJkIik7CisgICAgICAgIHZhciByZWQgPSBbMjU1
LCAwLCAwXTsKKyAgICAgICAgdmFyIGdyZWVuID0gWzAsIDI1NSwgMF07CisKKyAgICAgICAgdmFy
IGNvdW50ID0gNDsKKyAgICAgICAgdmFyIGNhc2VOZHggPSAwOworCisgICAgICAgIHZhciBjYXNl
cyA9IFsKKyAgICAgICAgICAgIHsgc3ViOiBmYWxzZSwgZmxpcFk6IHRydWUsICB0b3A6IHJlZCwg
ICBib3R0b206IGdyZWVuLCBmb250OiBmYWxzZSwgaW5pdDogc2V0Q2FudmFzVG8xeDIgfSwKKyAg
ICAgICAgICAgIHsgc3ViOiBmYWxzZSwgZmxpcFk6IGZhbHNlLCB0b3A6IGdyZWVuLCBib3R0b206
IHJlZCwgICBmb250OiBmYWxzZSB9LAorICAgICAgICAgICAgeyBzdWI6IHRydWUsICBmbGlwWTog
dHJ1ZSwgIHRvcDogcmVkLCAgIGJvdHRvbTogZ3JlZW4sIGZvbnQ6IGZhbHNlIH0sCisgICAgICAg
ICAgICB7IHN1YjogdHJ1ZSwgIGZsaXBZOiBmYWxzZSwgdG9wOiBncmVlbiwgYm90dG9tOiByZWQs
ICAgZm9udDogZmFsc2UgfSwKKyAgICAgICAgICAgIHsgc3ViOiBmYWxzZSwgZmxpcFk6IHRydWUs
ICB0b3A6IHJlZCwgICBib3R0b206IGdyZWVuLCBmb250OiBmYWxzZSwgaW5pdDogc2V0Q2FudmFz
VG8yNTd4MjU3IH0sCisgICAgICAgICAgICB7IHN1YjogZmFsc2UsIGZsaXBZOiBmYWxzZSwgdG9w
OiBncmVlbiwgYm90dG9tOiByZWQsICAgZm9udDogZmFsc2UgfSwKKyAgICAgICAgICAgIHsgc3Vi
OiB0cnVlLCAgZmxpcFk6IHRydWUsICB0b3A6IHJlZCwgICBib3R0b206IGdyZWVuLCBmb250OiBm
YWxzZSB9LAorICAgICAgICAgICAgeyBzdWI6IHRydWUsICBmbGlwWTogZmFsc2UsIHRvcDogZ3Jl
ZW4sIGJvdHRvbTogcmVkLCAgIGZvbnQ6IGZhbHNlIH0sCisgICAgICAgICAgICB7IHN1YjogZmFs
c2UsIGZsaXBZOiB0cnVlLCAgdG9wOiByZWQsICAgYm90dG9tOiBncmVlbiwgZm9udDogdHJ1ZSwg
aW5pdDogZHJhd1RleHRJbkNhbnZhcyB9LAorICAgICAgICAgICAgeyBzdWI6IGZhbHNlLCBmbGlw
WTogZmFsc2UsIHRvcDogZ3JlZW4sIGJvdHRvbTogcmVkLCAgIGZvbnQ6IHRydWUgfSwKKyAgICAg
ICAgICAgIHsgc3ViOiB0cnVlLCAgZmxpcFk6IHRydWUsICB0b3A6IHJlZCwgICBib3R0b206IGdy
ZWVuLCBmb250OiB0cnVlIH0sCisgICAgICAgICAgICB7IHN1YjogdHJ1ZSwgIGZsaXBZOiBmYWxz
ZSwgdG9wOiBncmVlbiwgYm90dG9tOiByZWQsICAgZm9udDogdHJ1ZSB9LAorICAgICAgICBdOwor
CisgICAgICAgIHZhciB0ZXh0dXJlOworICAgICAgICBmdW5jdGlvbiBydW5OZXh0VGVzdCgpIHsK
KyAgICAgICAgICAgIHZhciBjID0gY2FzZXNbY2FzZU5keF07CisgICAgICAgICAgICBpZiAoYy5p
bml0KSB7CisgICAgICAgICAgICAgIGMuaW5pdChjdHgpOworICAgICAgICAgICAgfQorICAgICAg
ICAgICAgdGV4dHVyZSA9IHJ1bk9uZUl0ZXJhdGlvbihjYW52YXMsIGMuc3ViLCBjLmZsaXBZLCBj
LnRvcCwgYy5ib3R0b20sIHRleHR1cmUsIGMuZm9udCk7CisgICAgICAgICAgICAvLyBmb3IgdGhl
IGZpcnN0IDIgaXRlcmF0aW9ucyBhbHdheXMgbWFrZSBhIG5ldyB0ZXh0dXJlLgorICAgICAgICAg
ICAgaWYgKGNvdW50ID4gMikgeworICAgICAgICAgICAgICB0ZXh0dXJlID0gdW5kZWZpbmVkOwor
ICAgICAgICAgICAgfQorICAgICAgICAgICAgKytjYXNlTmR4OworICAgICAgICAgICAgaWYgKGNh
c2VOZHggPT0gY2FzZXMubGVuZ3RoKSB7CisgICAgICAgICAgICAgICAgY2FzZU5keCA9IDA7Cisg
ICAgICAgICAgICAgICAgLS1jb3VudDsKKyAgICAgICAgICAgICAgICBpZiAoIWNvdW50KSB7Cisg
ICAgICAgICAgICAgICAgICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IsICJzaG91
bGQgYmUgbm8gZXJyb3JzIik7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaFRlc3QoKTsKKyAg
ICAgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIHd0dS53YWl0Rm9yQ29tcG9zaXRlKGdsLCBydW5OZXh0VGVzdCk7Cisg
ICAgICAgIH0KKyAgICAgICAgcnVuTmV4dFRlc3QoKTsKKyAgICB9CisKKyAgICByZXR1cm4gaW5p
dDsKK30KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL3Jlc291cmNlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13
aXRoLWltYWdlLWRhdGEuanMgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9jb25mb3JtYW5jZS9yZXNvdXJjZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQt
d2l0aC1pbWFnZS1kYXRhLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhmOTZhOTIyMmM2NTczODQwZGQ3MDIwZjhm
Y2IyZWIwMTI5Nzg1MmQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNv
dXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZXNvdXJjZXMvdGV4LWltYWdlLWFu
ZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS1kYXRhLmpzCkBAIC0wLDAgKzEsMTM1IEBACisvKgor
KiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJt
aXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBv
YnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRv
Y3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBN
YXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0
YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisq
KiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVy
aWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJl
IGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Np
b24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50
aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUg
UFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJF
U1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElF
UyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMg
T1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VT
IE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisq
KiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElP
TiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4g
VEhFIE1BVEVSSUFMUy4KKyovCisKK2Z1bmN0aW9uIGdlbmVyYXRlVGVzdChwaXhlbEZvcm1hdCwg
cGl4ZWxUeXBlLCBwcm9sb2d1ZSkgeworICAgIHZhciB3dHUgPSBXZWJHTFRlc3RVdGlsczsKKyAg
ICB2YXIgZ2wgPSBudWxsOworICAgIHZhciB0ZXh0dXJlTG9jID0gbnVsbDsKKyAgICB2YXIgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkID0gZmFsc2U7CisgICAgdmFyIGltYWdlRGF0YSA9IG51bGw7CisKKyAg
ICB2YXIgaW5pdCA9IGZ1bmN0aW9uKCkKKyAgICB7CisgICAgICAgIGluaXRUZXN0aW5nSGFybmVz
c1dhaXRVbnRpbERvbmUoKTsKKworICAgICAgICBkZXNjcmlwdGlvbignVmVyaWZ5IHRleEltYWdl
MkQgYW5kIHRleFN1YkltYWdlMkQgY29kZSBwYXRocyB0YWtpbmcgSW1hZ2VEYXRhICgnICsgcGl4
ZWxGb3JtYXQgKyAnLycgKyBwaXhlbFR5cGUgKyAnKScpOworCisgICAgICAgIGdsID0gd3R1LmNy
ZWF0ZTNEQ29udGV4dCgiZXhhbXBsZSIpOworCisgICAgICAgIGlmICghcHJvbG9ndWUoZ2wpKSB7
CisgICAgICAgICAgICBmaW5pc2hUZXN0KCk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAg
IH0KKworICAgICAgICB2YXIgcHJvZ3JhbSA9IHd0dS5zZXR1cFRleHR1cmVkUXVhZChnbCk7Cisg
ICAgICAgIGdsLmNsZWFyQ29sb3IoMCwwLDAsMSk7CisgICAgICAgIGdsLmNsZWFyRGVwdGgoMSk7
CisgICAgICAgIGdsLmRpc2FibGUoZ2wuQkxFTkQpOworCisgICAgICAgIHRleHR1cmVMb2MgPSBn
bC5nZXRVbmlmb3JtTG9jYXRpb24ocHJvZ3JhbSwgInRleCIpOworCisgICAgICAgIHZhciBjYW52
YXMyZCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXhjYW52YXMiKTsKKyAgICAgICAgdmFy
IGNvbnRleHQyZCA9IGNhbnZhczJkLmdldENvbnRleHQoIjJkIik7CisgICAgICAgIGltYWdlRGF0
YSA9IGNvbnRleHQyZC5jcmVhdGVJbWFnZURhdGEoMSwgMik7CisgICAgICAgIHZhciBkYXRhID0g
aW1hZ2VEYXRhLmRhdGE7CisgICAgICAgIGRhdGFbMF0gPSAyNTU7CisgICAgICAgIGRhdGFbMV0g
PSAwOworICAgICAgICBkYXRhWzJdID0gMDsKKyAgICAgICAgZGF0YVszXSA9IDI1NTsKKyAgICAg
ICAgZGF0YVs0XSA9IDA7CisgICAgICAgIGRhdGFbNV0gPSAyNTU7CisgICAgICAgIGRhdGFbNl0g
PSAwOworICAgICAgICBkYXRhWzddID0gMDsKKworICAgICAgICBydW5UZXN0KCk7CisgICAgfQor
CisgICAgZnVuY3Rpb24gcnVuT25lSXRlcmF0aW9uKHVzZVRleFN1YkltYWdlMkQsIGZsaXBZLCBw
cmVtdWx0aXBseUFscGhhLCB0b3BDb2xvciwgYm90dG9tQ29sb3IpCisgICAgeworICAgICAgICBk
ZWJ1ZygnVGVzdGluZyAnICsgKHVzZVRleFN1YkltYWdlMkQgPyAndGV4U3ViSW1hZ2UyRCcgOiAn
dGV4SW1hZ2UyRCcpICsKKyAgICAgICAgICAgICAgJyB3aXRoIGZsaXBZPScgKyBmbGlwWSArICcg
YW5kIHByZW11bHRpcGx5QWxwaGE9JyArIHByZW11bHRpcGx5QWxwaGEpOworICAgICAgICBnbC5j
bGVhcihnbC5DT0xPUl9CVUZGRVJfQklUIHwgZ2wuREVQVEhfQlVGRkVSX0JJVCk7CisgICAgICAg
IC8vIEVuYWJsZSB3cml0ZXMgdG8gdGhlIFJHQkEgY2hhbm5lbHMKKyAgICAgICAgZ2wuY29sb3JN
YXNrKDEsIDEsIDEsIDApOworICAgICAgICB2YXIgdGV4dHVyZSA9IGdsLmNyZWF0ZVRleHR1cmUo
KTsKKyAgICAgICAgLy8gQmluZCB0aGUgdGV4dHVyZSB0byB0ZXh0dXJlIHVuaXQgMAorICAgICAg
ICBnbC5iaW5kVGV4dHVyZShnbC5URVhUVVJFXzJELCB0ZXh0dXJlKTsKKyAgICAgICAgLy8gU2V0
IHVwIHRleHR1cmUgcGFyYW1ldGVycworICAgICAgICBnbC50ZXhQYXJhbWV0ZXJpKGdsLlRFWFRV
UkVfMkQsIGdsLlRFWFRVUkVfTUlOX0ZJTFRFUiwgZ2wuTkVBUkVTVCk7CisgICAgICAgIGdsLnRl
eFBhcmFtZXRlcmkoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9NQUdfRklMVEVSLCBnbC5ORUFS
RVNUKTsKKyAgICAgICAgLy8gU2V0IHVwIHBpeGVsIHN0b3JlIHBhcmFtZXRlcnMKKyAgICAgICAg
Z2wucGl4ZWxTdG9yZWkoZ2wuVU5QQUNLX0ZMSVBfWV9XRUJHTCwgZmxpcFkpOworICAgICAgICBn
bC5waXhlbFN0b3JlaShnbC5VTlBBQ0tfUFJFTVVMVElQTFlfQUxQSEFfV0VCR0wsIHByZW11bHRp
cGx5QWxwaGEpOworICAgICAgICAvLyBVcGxvYWQgdGhlIGltYWdlIGludG8gdGhlIHRleHR1cmUK
KyAgICAgICAgaWYgKHVzZVRleFN1YkltYWdlMkQpIHsKKyAgICAgICAgICAgIC8vIEluaXRpYWxp
emUgdGhlIHRleHR1cmUgdG8gYmxhY2sgZmlyc3QKKyAgICAgICAgICAgIGdsLnRleEltYWdlMkQo
Z2wuVEVYVFVSRV8yRCwgMCwgZ2xbcGl4ZWxGb3JtYXRdLCAxLCAyLCAwLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICBnbFtwaXhlbEZvcm1hdF0sIGdsW3BpeGVsVHlwZV0sIG51bGwpOworICAg
ICAgICAgICAgZ2wudGV4U3ViSW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCAwLCAwLCBnbFtwaXhl
bEZvcm1hdF0sIGdsW3BpeGVsVHlwZV0sIGltYWdlRGF0YSk7CisgICAgICAgIH0gZWxzZSB7Cisg
ICAgICAgICAgICBnbC50ZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsW3BpeGVsRm9ybWF0
XSwgZ2xbcGl4ZWxGb3JtYXRdLCBnbFtwaXhlbFR5cGVdLCBpbWFnZURhdGEpOworICAgICAgICB9
CisKKyAgICAgICAgLy8gUG9pbnQgdGhlIHVuaWZvcm0gc2FtcGxlciB0byB0ZXh0dXJlIHVuaXQg
MAorICAgICAgICBnbC51bmlmb3JtMWkodGV4dHVyZUxvYywgMCk7CisgICAgICAgIC8vIERyYXcg
dGhlIHRyaWFuZ2xlcworICAgICAgICB3dHUuZHJhd1F1YWQoZ2wsIFswLCAwLCAwLCAyNTVdKTsK
KworICAgICAgICAvLyBDaGVjayB0aGUgdG9wIHBpeGVsIGFuZCBib3R0b20gcGl4ZWwgYW5kIG1h
a2Ugc3VyZSB0aGV5IGhhdmUKKyAgICAgICAgLy8gdGhlIHJpZ2h0IGNvbG9yLgorICAgICAgICBk
ZWJ1ZygiQ2hlY2tpbmcgYm90dG9tIHBpeGVsIik7CisgICAgICAgIHd0dS5jaGVja0NhbnZhc1Jl
Y3QoZ2wsIDAsIDAsIDEsIDEsIGJvdHRvbUNvbG9yLCAic2hvdWxkQmUgIiArIGJvdHRvbUNvbG9y
KTsKKyAgICAgICAgZGVidWcoIkNoZWNraW5nIHRvcCBwaXhlbCIpOworICAgICAgICB3dHUuY2hl
Y2tDYW52YXNSZWN0KGdsLCAwLCAxLCAxLCAxLCB0b3BDb2xvciwgInNob3VsZEJlICIgKyB0b3BD
b2xvcik7CisgICAgfQorCisgICAgZnVuY3Rpb24gcnVuVGVzdCgpCisgICAgeworICAgICAgICB2
YXIgcmVkID0gWzI1NSwgMCwgMCwgMjU1XTsKKyAgICAgICAgdmFyIGdyZWVuID0gWzAsIDI1NSwg
MCwgMjU1XTsKKyAgICAgICAgdmFyIHJlZFByZW11bHRpcGx5QWxwaGEgPSBbMjU1LCAwLCAwLCAy
NTVdOworICAgICAgICB2YXIgZ3JlZW5QcmVtdWx0aXBseUFscGhhID0gWzAsIDAsIDAsIDI1NV07
CisKKyAgICAgICAgcnVuT25lSXRlcmF0aW9uKGZhbHNlLCB0cnVlLCBmYWxzZSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgIHJlZCwgZ3JlZW4pOworICAgICAgICBydW5PbmVJdGVyYXRpb24oZmFs
c2UsIGZhbHNlLCBmYWxzZSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGdyZWVuLCByZWQpOwor
ICAgICAgICBydW5PbmVJdGVyYXRpb24oZmFsc2UsIHRydWUsIHRydWUsCisgICAgICAgICAgICAg
ICAgICAgICAgICByZWRQcmVtdWx0aXBseUFscGhhLCBncmVlblByZW11bHRpcGx5QWxwaGEpOwor
ICAgICAgICBydW5PbmVJdGVyYXRpb24oZmFsc2UsIGZhbHNlLCB0cnVlLAorICAgICAgICAgICAg
ICAgICAgICAgICAgZ3JlZW5QcmVtdWx0aXBseUFscGhhLCByZWRQcmVtdWx0aXBseUFscGhhKTsK
KyAgICAgICAgcnVuT25lSXRlcmF0aW9uKHRydWUsIHRydWUsIGZhbHNlLAorICAgICAgICAgICAg
ICAgICAgICAgICAgcmVkLCBncmVlbik7CisgICAgICAgIHJ1bk9uZUl0ZXJhdGlvbih0cnVlLCBm
YWxzZSwgZmFsc2UsCisgICAgICAgICAgICAgICAgICAgICAgICBncmVlbiwgcmVkKTsKKyAgICAg
ICAgcnVuT25lSXRlcmF0aW9uKHRydWUsIHRydWUsIHRydWUsCisgICAgICAgICAgICAgICAgICAg
ICAgICByZWRQcmVtdWx0aXBseUFscGhhLCBncmVlblByZW11bHRpcGx5QWxwaGEpOworICAgICAg
ICBydW5PbmVJdGVyYXRpb24odHJ1ZSwgZmFsc2UsIHRydWUsCisgICAgICAgICAgICAgICAgICAg
ICAgICBncmVlblByZW11bHRpcGx5QWxwaGEsIHJlZFByZW11bHRpcGx5QWxwaGEpOworCisgICAg
ICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IsICJzaG91bGQgYmUgbm8gZXJyb3Jz
Iik7CisgICAgICAgIGZpbmlzaFRlc3QoKTsKKyAgICB9CisKKyAgICByZXR1cm4gaW5pdDsKK30K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL3Jlc291cmNlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWlt
YWdlLmpzIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29u
Zm9ybWFuY2UvcmVzb3VyY2VzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2Uu
anMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMDE0ODhmMzZiZGU1ZTgwNjhlM2EwMmVlNDQzN2IzODFlY2Q3YTFlMQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL3Jlc291cmNlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13
aXRoLWltYWdlLmpzCkBAIC0wLDAgKzEsMTQ5IEBACisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEy
IFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFu
dGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBv
ZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRo
ZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0
cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1
c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNl
bnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJt
aXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywg
c3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92
ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGlu
Y2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBN
YXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lU
SE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVE
SU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklM
SVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5U
LgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMg
QkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwg
QVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJ
QUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisK
K2Z1bmN0aW9uIGdlbmVyYXRlVGVzdChwaXhlbEZvcm1hdCwgcGl4ZWxUeXBlLCBwYXRoVG9UZXN0
Um9vdCwgcHJvbG9ndWUpIHsKKyAgICB2YXIgd3R1ID0gV2ViR0xUZXN0VXRpbHM7CisgICAgdmFy
IGdsID0gbnVsbDsKKyAgICB2YXIgdGV4dHVyZUxvYyA9IG51bGw7CisgICAgdmFyIHN1Y2Nlc3Nm
dWxseVBhcnNlZCA9IGZhbHNlOworICAgIHZhciBpbWdDYW52YXM7CisgICAgdmFyIHJlZCA9IFsy
NTUsIDAsIDBdOworICAgIHZhciBncmVlbiA9IFswLCAyNTUsIDBdOworCisgICAgdmFyIGluaXQg
PSBmdW5jdGlvbigpCisgICAgeworICAgICAgICBpbml0VGVzdGluZ0hhcm5lc3NXYWl0VW50aWxE
b25lKCk7CisKKyAgICAgICAgZGVzY3JpcHRpb24oJ1ZlcmlmeSB0ZXhJbWFnZTJEIGFuZCB0ZXhT
dWJJbWFnZTJEIGNvZGUgcGF0aHMgdGFraW5nIGltYWdlIGVsZW1lbnRzICgnICsgcGl4ZWxGb3Jt
YXQgKyAnLycgKyBwaXhlbFR5cGUgKyAnKScpOworCisgICAgICAgIGdsID0gd3R1LmNyZWF0ZTNE
Q29udGV4dCgiZXhhbXBsZSIpOworCisgICAgICAgIGlmICghcHJvbG9ndWUoZ2wpKSB7CisgICAg
ICAgICAgICBmaW5pc2hUZXN0KCk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKwor
ICAgICAgICB2YXIgcHJvZ3JhbSA9IHd0dS5zZXR1cFRleHR1cmVkUXVhZChnbCk7CisKKyAgICAg
ICAgZ2wuY2xlYXJDb2xvcigwLDAsMCwxKTsKKyAgICAgICAgZ2wuY2xlYXJEZXB0aCgxKTsKKwor
ICAgICAgICB0ZXh0dXJlTG9jID0gZ2wuZ2V0VW5pZm9ybUxvY2F0aW9uKHByb2dyYW0sICJ0ZXgi
KTsKKworICAgICAgICB3dHUubG9hZFRleHR1cmUoZ2wsIHBhdGhUb1Rlc3RSb290ICsgIi9yZXNv
dXJjZXMvcmVkLWdyZWVuLnBuZyIsIHJ1blRlc3QpOworICAgIH0KKworICAgIGZ1bmN0aW9uIHJ1
bk9uZUl0ZXJhdGlvbihpbWFnZSwgdXNlVGV4U3ViSW1hZ2UyRCwgZmxpcFksIHRvcENvbG9yLCBi
b3R0b21Db2xvcikKKyAgICB7CisgICAgICAgIGRlYnVnKCdUZXN0aW5nICcgKyAodXNlVGV4U3Vi
SW1hZ2UyRCA/ICd0ZXhTdWJJbWFnZTJEJyA6ICd0ZXhJbWFnZTJEJykgKworICAgICAgICAgICAg
ICAnIHdpdGggZmxpcFk9JyArIGZsaXBZKTsKKyAgICAgICAgZ2wuY2xlYXIoZ2wuQ09MT1JfQlVG
RkVSX0JJVCB8IGdsLkRFUFRIX0JVRkZFUl9CSVQpOworICAgICAgICAvLyBEaXNhYmxlIGFueSB3
cml0ZXMgdG8gdGhlIGFscGhhIGNoYW5uZWwKKyAgICAgICAgZ2wuY29sb3JNYXNrKDEsIDEsIDEs
IDApOworICAgICAgICB2YXIgdGV4dHVyZSA9IGdsLmNyZWF0ZVRleHR1cmUoKTsKKyAgICAgICAg
Ly8gQmluZCB0aGUgdGV4dHVyZSB0byB0ZXh0dXJlIHVuaXQgMAorICAgICAgICBnbC5iaW5kVGV4
dHVyZShnbC5URVhUVVJFXzJELCB0ZXh0dXJlKTsKKyAgICAgICAgLy8gU2V0IHVwIHRleHR1cmUg
cGFyYW1ldGVycworICAgICAgICBnbC50ZXhQYXJhbWV0ZXJpKGdsLlRFWFRVUkVfMkQsIGdsLlRF
WFRVUkVfTUlOX0ZJTFRFUiwgZ2wuTkVBUkVTVCk7CisgICAgICAgIGdsLnRleFBhcmFtZXRlcmko
Z2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9NQUdfRklMVEVSLCBnbC5ORUFSRVNUKTsKKyAgICAg
ICAgLy8gU2V0IHVwIHBpeGVsIHN0b3JlIHBhcmFtZXRlcnMKKyAgICAgICAgZ2wucGl4ZWxTdG9y
ZWkoZ2wuVU5QQUNLX0ZMSVBfWV9XRUJHTCwgZmxpcFkpOworICAgICAgICBnbC5waXhlbFN0b3Jl
aShnbC5VTlBBQ0tfUFJFTVVMVElQTFlfQUxQSEFfV0VCR0wsIGZhbHNlKTsKKyAgICAgICAgZ2wu
cGl4ZWxTdG9yZWkoZ2wuVU5QQUNLX0NPTE9SU1BBQ0VfQ09OVkVSU0lPTl9XRUJHTCwgZ2wuTk9O
RSk7CisgICAgICAgIC8vIFVwbG9hZCB0aGUgaW1hZ2UgaW50byB0aGUgdGV4dHVyZQorICAgICAg
ICBpZiAodXNlVGV4U3ViSW1hZ2UyRCkgeworICAgICAgICAgICAgLy8gSW5pdGlhbGl6ZSB0aGUg
dGV4dHVyZSB0byBibGFjayBmaXJzdAorICAgICAgICAgICAgZ2wudGV4SW1hZ2UyRChnbC5URVhU
VVJFXzJELCAwLCBnbFtwaXhlbEZvcm1hdF0sIGltYWdlLndpZHRoLCBpbWFnZS5oZWlnaHQsIDAs
CisgICAgICAgICAgICAgICAgICAgICAgICAgIGdsW3BpeGVsRm9ybWF0XSwgZ2xbcGl4ZWxUeXBl
XSwgbnVsbCk7CisgICAgICAgICAgICBnbC50ZXhTdWJJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAs
IDAsIDAsIGdsW3BpeGVsRm9ybWF0XSwgZ2xbcGl4ZWxUeXBlXSwgaW1hZ2UpOworICAgICAgICB9
IGVsc2UgeworICAgICAgICAgICAgZ2wudGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBnbFtw
aXhlbEZvcm1hdF0sIGdsW3BpeGVsRm9ybWF0XSwgZ2xbcGl4ZWxUeXBlXSwgaW1hZ2UpOworICAg
ICAgICB9CisKKyAgICAgICAgLy8gUG9pbnQgdGhlIHVuaWZvcm0gc2FtcGxlciB0byB0ZXh0dXJl
IHVuaXQgMAorICAgICAgICBnbC51bmlmb3JtMWkodGV4dHVyZUxvYywgMCk7CisgICAgICAgIC8v
IERyYXcgdGhlIHRyaWFuZ2xlcworICAgICAgICB3dHUuZHJhd1F1YWQoZ2wsIFswLCAwLCAwLCAy
NTVdKTsKKyAgICAgICAgLy8gQ2hlY2sgYSBmZXcgcGl4ZWxzIG5lYXIgdGhlIHRvcCBhbmQgYm90
dG9tIGFuZCBtYWtlIHN1cmUgdGhleSBoYXZlCisgICAgICAgIC8vIHRoZSByaWdodCBjb2xvci4K
KyAgICAgICAgZGVidWcoIkNoZWNraW5nIGxvd2VyIGxlZnQgY29ybmVyIik7CisgICAgICAgIHd0
dS5jaGVja0NhbnZhc1JlY3QoZ2wsIDQsIDQsIDIsIDIsIGJvdHRvbUNvbG9yLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICJzaG91bGRCZSAiICsgYm90dG9tQ29sb3IpOworICAgICAgICBk
ZWJ1ZygiQ2hlY2tpbmcgdXBwZXIgbGVmdCBjb3JuZXIiKTsKKyAgICAgICAgd3R1LmNoZWNrQ2Fu
dmFzUmVjdChnbCwgNCwgZ2wuY2FudmFzLmhlaWdodCAtIDgsIDIsIDIsIHRvcENvbG9yLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICJzaG91bGRCZSAiICsgdG9wQ29sb3IpOworICAgIH0K
KworICAgIGZ1bmN0aW9uIHJ1blRlc3RPbkltYWdlKGltYWdlKSB7CisgICAgICAgIHJ1bk9uZUl0
ZXJhdGlvbihpbWFnZSwgZmFsc2UsIHRydWUsIHJlZCwgZ3JlZW4pOworICAgICAgICBydW5PbmVJ
dGVyYXRpb24oaW1hZ2UsIGZhbHNlLCBmYWxzZSwgZ3JlZW4sIHJlZCk7CisgICAgICAgIHJ1bk9u
ZUl0ZXJhdGlvbihpbWFnZSwgdHJ1ZSwgdHJ1ZSwgcmVkLCBncmVlbik7CisgICAgICAgIHJ1bk9u
ZUl0ZXJhdGlvbihpbWFnZSwgdHJ1ZSwgZmFsc2UsIGdyZWVuLCByZWQpOworICAgIH0KKworICAg
IGZ1bmN0aW9uIHJ1blRlc3QoaW1hZ2UpCisgICAgeworICAgICAgICBydW5UZXN0T25JbWFnZShp
bWFnZSk7CisKKyAgICAgICAgaW1nQ2FudmFzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiY2Fu
dmFzIik7CisgICAgICAgIGltZ0NhbnZhcy53aWR0aCA9IDE7CisgICAgICAgIGltZ0NhbnZhcy5o
ZWlnaHQgPSAyOworICAgICAgICB2YXIgaW1nQ3R4ID0gaW1nQ2FudmFzLmdldENvbnRleHQoIjJk
Iik7CisgICAgICAgIHZhciBpbWdEYXRhID0gaW1nQ3R4LmNyZWF0ZUltYWdlRGF0YSgxLCAyKTsK
KyAgICAgICAgaW1nRGF0YS5kYXRhWzBdID0gcmVkWzBdOworICAgICAgICBpbWdEYXRhLmRhdGFb
MV0gPSByZWRbMV07CisgICAgICAgIGltZ0RhdGEuZGF0YVsyXSA9IHJlZFsyXTsKKyAgICAgICAg
aW1nRGF0YS5kYXRhWzNdID0gMjU1OworICAgICAgICBpbWdEYXRhLmRhdGFbNF0gPSBncmVlblsw
XTsKKyAgICAgICAgaW1nRGF0YS5kYXRhWzVdID0gZ3JlZW5bMV07CisgICAgICAgIGltZ0RhdGEu
ZGF0YVs2XSA9IGdyZWVuWzJdOworICAgICAgICBpbWdEYXRhLmRhdGFbN10gPSAyNTU7CisgICAg
ICAgIGltZ0N0eC5wdXRJbWFnZURhdGEoaW1nRGF0YSwgMCwgMCk7CisKKyAgICAgICAgLy8gYXBw
YXJlbnRseSBJbWFnZSBpcyBkaWZmZXJlbnQgdGhhbiA8aW1nPi4KKyAgICAgICAgdmFyIG5ld0lt
YWdlID0gIG5ldyBJbWFnZSgpOworICAgICAgICBuZXdJbWFnZS5vbmxvYWQgPSBmdW5jdGlvbigp
IHsKKyAgICAgICAgICAgIHJ1blRlc3QyKG5ld0ltYWdlKTsKKyAgICAgICAgfTsKKyAgICAgICAg
bmV3SW1hZ2Uuc3JjID0gaW1nQ2FudmFzLnRvRGF0YVVSTCgpOworICAgIH0KKworICAgIGZ1bmN0
aW9uIHJ1blRlc3QyKGltYWdlKSB7CisgICAgICAgIHJ1blRlc3RPbkltYWdlKGltYWdlKTsKKwor
ICAgICAgICB2YXIgbmV3SW1hZ2UgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpbWciKTsKKyAg
ICAgICAgbmV3SW1hZ2Uub25sb2FkID0gZnVuY3Rpb24oKSB7CisgICAgICAgICAgICBydW5UZXN0
MyhuZXdJbWFnZSk7CisgICAgICAgIH07CisgICAgICAgIG5ld0ltYWdlLnNyYyA9IGltZ0NhbnZh
cy50b0RhdGFVUkwoKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBydW5UZXN0MyhpbWFnZSkgewor
ICAgICAgICBydW5UZXN0T25JbWFnZShpbWFnZSk7CisKKyAgICAgICAgZ2xFcnJvclNob3VsZEJl
KGdsLCBnbC5OT19FUlJPUiwgInNob3VsZCBiZSBubyBlcnJvcnMiKTsKKyAgICAgICAgZmluaXNo
VGVzdCgpOworICAgIH0KKworICAgIHJldHVybiBpbml0OworfQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVzb3Vy
Y2VzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8uanMgYi9MYXlvdXRUZXN0
cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZXNvdXJjZXMv
dGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC12aWRlby5qcwpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kZmZi
YTU5NmQyMjE3MGZkZTYyNmNmMjFlYTVlYjQ2ZWM1NzAyNzU3Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uv
cmVzb3VyY2VzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8uanMKQEAgLTAs
MCArMSwxNjkgQEAKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAg
SW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdl
LCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5k
L29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiks
IHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcK
KyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBt
ZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNv
cGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20g
dGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2Ug
YW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBj
b3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBU
SEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFO
WSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVE
IFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBT
SEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQor
KiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElP
TiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBP
RiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBP
VEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLy8gVGhpcyBibG9jayBuZWVk
cyB0byBiZSBvdXRzaWRlIHRoZSBvbmxvYWQgaGFuZGxlciBpbiBvcmRlciBmb3IgdGhpcworLy8g
dGVzdCB0byBydW4gcmVsaWFibHkgaW4gV2ViS2l0J3MgdGVzdCBoYXJuZXNzIChhdCBsZWFzdCB0
aGUKKy8vIENocm9taXVtIHBvcnQpLiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9ODc0NDgKK2luaXRUZXN0aW5nSGFybmVzc1dhaXRVbnRpbERvbmUoKTsKKwordmFyIG9s
ZCA9IGRlYnVnOwordmFyIGRlYnVnID0gZnVuY3Rpb24obXNnKSB7CisgIGNvbnNvbGUubG9nKG1z
Zyk7CisgIG9sZChtc2cpOworfTsKKworZnVuY3Rpb24gZ2VuZXJhdGVUZXN0KHBpeGVsRm9ybWF0
LCBwaXhlbFR5cGUsIHByb2xvZ3VlKSB7CisgICAgdmFyIHd0dSA9IFdlYkdMVGVzdFV0aWxzOwor
ICAgIHZhciBnbCA9IG51bGw7CisgICAgdmFyIHRleHR1cmVMb2MgPSBudWxsOworICAgIHZhciBz
dWNjZXNzZnVsbHlQYXJzZWQgPSBmYWxzZTsKKworICAgIC8vIFRlc3QgZWFjaCBmb3JtYXQgc2Vw
YXJhdGVseSBiZWNhdXNlIG1hbnkgYnJvd3NlcnMgaW1wbGVtZW50IGVhY2gKKyAgICAvLyBkaWZm
ZXJlbnRseS4gU29tZSBtaWdodCBiZSBHUFUgYWNjZWxlcmF0ZWQsIHNvbWUgbWlnaHQgbm90LiBF
dGMuLi4KKyAgICB2YXIgdmlkZW9zID0gWworICAgICAgeyBzcmM6ICIuLi9yZXNvdXJjZXMvcmVk
LWdyZWVuLm1wNCIgICAgICAgICAsIHR5cGU6ICd2aWRlby9tcDQ7IGNvZGVjcz0iYXZjMS40MkUw
MUUsIG1wNGEuNDAuMiInLCB9LAorICAgICAgeyBzcmM6ICIuLi9yZXNvdXJjZXMvcmVkLWdyZWVu
LndlYm12cDgud2VibSIsIHR5cGU6ICd2aWRlby93ZWJtOyBjb2RlY3M9InZwOCwgdm9yYmlzIics
ICAgICAgICAgICB9LAorICAgICAgeyBzcmM6ICIuLi9yZXNvdXJjZXMvcmVkLWdyZWVuLnRoZW9y
YS5vZ3YiLCAgIHR5cGU6ICd2aWRlby9vZ2c7IGNvZGVjcz0idGhlb3JhLCB2b3JiaXMiJywgICAg
ICAgICB9LAorICAgIF07CisKKyAgICB2YXIgdmlkZW9OZHggPSAwOworICAgIHZhciB2aWRlbzsK
KyAgICB2YXIgcnVuTmV4dFZpZGVvID0gZnVuY3Rpb24oKSB7CisgICAgICAgIGlmICh2aWRlb05k
eCA9PSB2aWRlb3MubGVuZ3RoKSB7CisgICAgICAgICAgICB2aWRlby5yZW1vdmVFdmVudExpc3Rl
bmVyKCJwbGF5aW5nIiwgcnVuVGVzdCk7CisgICAgICAgICAgICBmaW5pc2hUZXN0KCk7CisgICAg
ICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICAgICAgdmFyIGluZm8gPSB2aWRlb3Nbdmlk
ZW9OZHgrK107CisgICAgICAgIGRlYnVnKCIiKTsKKyAgICAgICAgZGVidWcoInRlc3Rpbmc6ICIg
KyBpbmZvLnR5cGUpOworICAgICAgICB2aWRlbyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInZp
ZGVvIik7CisgICAgICAgIHZhciBjYW5QbGF5ID0gdHJ1ZTsKKyAgICAgICAgaWYgKCF2aWRlby5j
YW5QbGF5VHlwZSkgeworICAgICAgICAgIHRlc3RGYWlsZWQoInZpZGVvLmNhblBsYXlUeXBlIHJl
cXVpcmVkIG1ldGhvZCBtaXNzaW5nIik7CisgICAgICAgICAgcnVuTmV4dFRlc3QoKTsKKyAgICAg
ICAgICByZXR1cm47CisgICAgICAgIH0KKworICAgICAgICBpZighdmlkZW8uY2FuUGxheVR5cGUo
aW5mby50eXBlKS5yZXBsYWNlKC9uby8sICcnKSkgeworICAgICAgICAgIGRlYnVnKGluZm8udHlw
ZSArICIgdW5zdXBwb3J0ZWQiKTsKKyAgICAgICAgICBydW5OZXh0VmlkZW8oKTsKKyAgICAgICAg
ICByZXR1cm47CisgICAgICAgIH07CisKKyAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGls
ZCh2aWRlbyk7CisgICAgICAgIHZpZGVvLmFkZEV2ZW50TGlzdGVuZXIoCisgICAgICAgICAgICAi
cGxheWluZyIsIGZ1bmN0aW9uKCkgeyBydW5UZXN0KHZpZGVvKTsgfSwgdHJ1ZSk7CisgICAgICAg
IHZpZGVvLnR5cGUgPSBpbmZvLnR5cGU7CisgICAgICAgIHZpZGVvLnNyYyA9IGluZm8uc3JjOwor
ICAgICAgICB2aWRlby5sb29wID0gdHJ1ZTsKKyAgICAgICAgdmlkZW8ucGxheSgpOworICAgIH0K
KworICAgIHZhciBpbml0ID0gZnVuY3Rpb24oKQorICAgIHsKKyAgICAgICAgZGVzY3JpcHRpb24o
J1ZlcmlmeSB0ZXhJbWFnZTJEIGFuZCB0ZXhTdWJJbWFnZTJEIGNvZGUgcGF0aHMgdGFraW5nIHZp
ZGVvIGVsZW1lbnRzICgnICsgcGl4ZWxGb3JtYXQgKyAnLycgKyBwaXhlbFR5cGUgKyAnKScpOwor
CisgICAgICAgIGdsID0gd3R1LmNyZWF0ZTNEQ29udGV4dCgiZXhhbXBsZSIpOworCisgICAgICAg
IGlmICghcHJvbG9ndWUoZ2wpKSB7CisgICAgICAgICAgICBmaW5pc2hUZXN0KCk7CisgICAgICAg
ICAgICByZXR1cm47CisgICAgICAgIH0KKworICAgICAgICB2YXIgcHJvZ3JhbSA9IHd0dS5zZXR1
cFRleHR1cmVkUXVhZChnbCk7CisKKyAgICAgICAgZ2wuY2xlYXJDb2xvcigwLDAsMCwxKTsKKyAg
ICAgICAgZ2wuY2xlYXJEZXB0aCgxKTsKKworICAgICAgICB0ZXh0dXJlTG9jID0gZ2wuZ2V0VW5p
Zm9ybUxvY2F0aW9uKHByb2dyYW0sICJ0ZXgiKTsKKyAgICAgICAgcnVuTmV4dFZpZGVvKCk7Cisg
ICAgfQorCisgICAgZnVuY3Rpb24gcnVuT25lSXRlcmF0aW9uKHZpZGVvRWxlbWVudCwgdXNlVGV4
U3ViSW1hZ2UyRCwgZmxpcFksIHRvcENvbG9yLCBib3R0b21Db2xvcikKKyAgICB7CisgICAgICAg
IGRlYnVnKCdUZXN0aW5nICcgKyAodXNlVGV4U3ViSW1hZ2UyRCA/ICd0ZXhTdWJJbWFnZTJEJyA6
ICd0ZXhJbWFnZTJEJykgKworICAgICAgICAgICAgICAnIHdpdGggZmxpcFk9JyArIGZsaXBZKTsK
KyAgICAgICAgZ2wuY2xlYXIoZ2wuQ09MT1JfQlVGRkVSX0JJVCB8IGdsLkRFUFRIX0JVRkZFUl9C
SVQpOworICAgICAgICAvLyBEaXNhYmxlIGFueSB3cml0ZXMgdG8gdGhlIGFscGhhIGNoYW5uZWwK
KyAgICAgICAgZ2wuY29sb3JNYXNrKDEsIDEsIDEsIDApOworICAgICAgICB2YXIgdGV4dHVyZSA9
IGdsLmNyZWF0ZVRleHR1cmUoKTsKKyAgICAgICAgLy8gQmluZCB0aGUgdGV4dHVyZSB0byB0ZXh0
dXJlIHVuaXQgMAorICAgICAgICBnbC5iaW5kVGV4dHVyZShnbC5URVhUVVJFXzJELCB0ZXh0dXJl
KTsKKyAgICAgICAgLy8gU2V0IHVwIHRleHR1cmUgcGFyYW1ldGVycworICAgICAgICBnbC50ZXhQ
YXJhbWV0ZXJpKGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRVUkVfTUlOX0ZJTFRFUiwgZ2wuTkVBUkVT
VCk7CisgICAgICAgIGdsLnRleFBhcmFtZXRlcmkoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9N
QUdfRklMVEVSLCBnbC5ORUFSRVNUKTsKKyAgICAgICAgZ2wudGV4UGFyYW1ldGVyaShnbC5URVhU
VVJFXzJELCBnbC5URVhUVVJFX1dSQVBfUywgZ2wuQ0xBTVBfVE9fRURHRSk7CisgICAgICAgIGds
LnRleFBhcmFtZXRlcmkoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9XUkFQX1QsIGdsLkNMQU1Q
X1RPX0VER0UpOworICAgICAgICAvLyBTZXQgdXAgcGl4ZWwgc3RvcmUgcGFyYW1ldGVycworICAg
ICAgICBnbC5waXhlbFN0b3JlaShnbC5VTlBBQ0tfRkxJUF9ZX1dFQkdMLCBmbGlwWSk7CisgICAg
ICAgIGdsLnBpeGVsU3RvcmVpKGdsLlVOUEFDS19QUkVNVUxUSVBMWV9BTFBIQV9XRUJHTCwgZmFs
c2UpOworICAgICAgICAvLyBVcGxvYWQgdGhlIHZpZGVvRWxlbWVudCBpbnRvIHRoZSB0ZXh0dXJl
CisgICAgICAgIGlmICh1c2VUZXhTdWJJbWFnZTJEKSB7CisgICAgICAgICAgICAvLyBJbml0aWFs
aXplIHRoZSB0ZXh0dXJlIHRvIGJsYWNrIGZpcnN0CisgICAgICAgICAgICBnbC50ZXhJbWFnZTJE
KGdsLlRFWFRVUkVfMkQsIDAsIGdsW3BpeGVsRm9ybWF0XSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgdmlkZW9FbGVtZW50LnZpZGVvV2lkdGgsIHZpZGVvRWxlbWVudC52aWRlb0hlaWdodCwg
MCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgZ2xbcGl4ZWxGb3JtYXRdLCBnbFtwaXhlbFR5
cGVdLCBudWxsKTsKKyAgICAgICAgICAgIGdsLnRleFN1YkltYWdlMkQoZ2wuVEVYVFVSRV8yRCwg
MCwgMCwgMCwgZ2xbcGl4ZWxGb3JtYXRdLCBnbFtwaXhlbFR5cGVdLCB2aWRlb0VsZW1lbnQpOwor
ICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgZ2wudGV4SW1hZ2UyRChnbC5URVhUVVJFXzJE
LCAwLCBnbFtwaXhlbEZvcm1hdF0sIGdsW3BpeGVsRm9ybWF0XSwgZ2xbcGl4ZWxUeXBlXSwgdmlk
ZW9FbGVtZW50KTsKKyAgICAgICAgfQorCisgICAgICAgIHZhciBjID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgiY2FudmFzIik7CisgICAgICAgIGMud2lkdGggPSAxNjsKKyAgICAgICAgYy5oZWln
aHQgPSAxNjsKKyAgICAgICAgYy5zdHlsZS5ib3JkZXIgPSAiMXB4IHNvbGlkIGJsYWNrIjsKKyAg
ICAgICAgdmFyIGN0eCA9IGMuZ2V0Q29udGV4dCgiMmQiKTsKKyAgICAgICAgY3R4LmRyYXdJbWFn
ZSh2aWRlb0VsZW1lbnQsIDAsIDAsIDE2LCAxNik7CisgICAgICAgIGRvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQoYyk7CisKKyAgICAgICAgLy8gUG9pbnQgdGhlIHVuaWZvcm0gc2FtcGxlciB0byB0
ZXh0dXJlIHVuaXQgMAorICAgICAgICBnbC51bmlmb3JtMWkodGV4dHVyZUxvYywgMCk7CisgICAg
ICAgIC8vIERyYXcgdGhlIHRyaWFuZ2xlcworICAgICAgICB3dHUuZHJhd1F1YWQoZ2wsIFswLCAw
LCAwLCAyNTVdKTsKKyAgICAgICAgLy8gQ2hlY2sgYSBmZXcgcGl4ZWxzIG5lYXIgdGhlIHRvcCBh
bmQgYm90dG9tIGFuZCBtYWtlIHN1cmUgdGhleSBoYXZlCisgICAgICAgIC8vIHRoZSByaWdodCBj
b2xvci4KKyAgICAgICAgZGVidWcoIkNoZWNraW5nIGxvd2VyIGxlZnQgY29ybmVyIik7CisgICAg
ICAgIHd0dS5jaGVja0NhbnZhc1JlY3QoZ2wsIDQsIDQsIDIsIDIsIGJvdHRvbUNvbG9yLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICJzaG91bGRCZSAiICsgYm90dG9tQ29sb3IpOworICAg
ICAgICBkZWJ1ZygiQ2hlY2tpbmcgdXBwZXIgbGVmdCBjb3JuZXIiKTsKKyAgICAgICAgd3R1LmNo
ZWNrQ2FudmFzUmVjdChnbCwgNCwgZ2wuY2FudmFzLmhlaWdodCAtIDgsIDIsIDIsIHRvcENvbG9y
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzaG91bGRCZSAiICsgdG9wQ29sb3IpOwor
ICAgIH0KKworICAgIGZ1bmN0aW9uIHJ1blRlc3QodmlkZW9FbGVtZW50KQorICAgIHsKKyAgICAg
ICAgdmFyIHJlZCA9IFsyNTUsIDAsIDBdOworICAgICAgICB2YXIgZ3JlZW4gPSBbMCwgMjU1LCAw
XTsKKyAgICAgICAgcnVuT25lSXRlcmF0aW9uKHZpZGVvRWxlbWVudCwgZmFsc2UsIHRydWUsIHJl
ZCwgZ3JlZW4pOworICAgICAgICBydW5PbmVJdGVyYXRpb24odmlkZW9FbGVtZW50LCBmYWxzZSwg
ZmFsc2UsIGdyZWVuLCByZWQpOworICAgICAgICBydW5PbmVJdGVyYXRpb24odmlkZW9FbGVtZW50
LCB0cnVlLCB0cnVlLCByZWQsIGdyZWVuKTsKKyAgICAgICAgcnVuT25lSXRlcmF0aW9uKHZpZGVv
RWxlbWVudCwgdHJ1ZSwgZmFsc2UsIGdyZWVuLCByZWQpOworCisgICAgICAgIGdsRXJyb3JTaG91
bGRCZShnbCwgZ2wuTk9fRVJST1IsICJzaG91bGQgYmUgbm8gZXJyb3JzIik7CisKKyAgICAgICAg
cnVuTmV4dFZpZGVvKCk7CisgICAgfQorCisgICAgcmV0dXJuIGluaXQ7Cit9CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5j
ZS9yZXNvdXJjZXMvdmVydGV4U2hhZGVyLnZlcnQgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJj
ZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZXNvdXJjZXMvdmVydGV4U2hhZGVyLnZl
cnQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZmU2NjQwYjc1YmFlYWNiZDMwNDFkM2IyNjk3ZThkMDc3OTUwZGIyMAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL3Jlc291cmNlcy92ZXJ0ZXhTaGFkZXIudmVydApAQCAtMCwwICsx
LDM2IEBACisvKgorQ29weXJpZ2h0IChDKSAyMDA5IEFwcGxlIENvbXB1dGVyLCBJbmMuICBBbGwg
cmlnaHRzIHJlc2VydmVkLgorCitSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKK21vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworYXJlIG1ldDoKKzEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KworVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBDT01QVVRFUiwgSU5DLiBBUyBJ
UyBBTkQgQU5ZCitFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRQorSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCitQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAg
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKK0NPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAor
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SCitQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCitPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyhJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyovCithdHRyaWJ1dGUgdmVjNCBhX3ZlcnRleDsKK2F0dHJpYnV0ZSB2ZWMzIGFf
bm9ybWFsOworCit1bmlmb3JtIG1lZGl1bXAgbWF0NCB1X21vZGVsVmlld1Byb2pNYXRyaXg7CisK
K3ZhcnlpbmcgdmVjMyB2X25vcm1hbDsKKwordm9pZCBtYWluKCkKK3sKKyAgICB2X25vcm1hbCA9
IGFfbm9ybWFsOworICAgIGdsX1Bvc2l0aW9uID0gIHVfbW9kZWxWaWV3UHJvak1hdHJpeCAqIGFf
dmVydGV4OworfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMgYi9M
YXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9y
ZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wNjIxMjJjOTA3Y2RlZTk1
MzQ0NDQ5MTNkMzYxOGZjNzQyNTYwZmJiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
d2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVzb3VyY2VzL3dl
YmdsLXRlc3QtdXRpbHMuanMKQEAgLTAsMCArMSwxOTk4IEBACisvKgorKiogQ29weXJpZ2h0IChj
KSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVi
eSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiog
Y29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmls
ZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91
dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0
cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBz
dWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisq
KiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBk
byBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRo
ZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxs
IGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9m
IHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElT
IiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwg
SU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hB
TlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklO
R0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhP
TERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVS
V0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiog
TUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4K
KyovCit2YXIgV2ViR0xUZXN0VXRpbHMgPSAoZnVuY3Rpb24oKSB7CisidXNlIHN0cmljdCI7CisK
Ky8qKgorICogV3JhcHBlZCBsb2dnaW5nIGZ1bmN0aW9uLgorICogQHBhcmFtIHtzdHJpbmd9IG1z
ZyBUaGUgbWVzc2FnZSB0byBsb2cuCisgKi8KK3ZhciBsb2cgPSBmdW5jdGlvbihtc2cpIHsKKyAg
aWYgKHdpbmRvdy5jb25zb2xlICYmIHdpbmRvdy5jb25zb2xlLmxvZykgeworICAgIHdpbmRvdy5j
b25zb2xlLmxvZyhtc2cpOworICB9Cit9OworCisvKioKKyAqIFdyYXBwZWQgbG9nZ2luZyBmdW5j
dGlvbi4KKyAqIEBwYXJhbSB7c3RyaW5nfSBtc2cgVGhlIG1lc3NhZ2UgdG8gbG9nLgorICovCit2
YXIgZXJyb3IgPSBmdW5jdGlvbihtc2cpIHsKKyAgaWYgKHdpbmRvdy5jb25zb2xlKSB7CisgICAg
aWYgKHdpbmRvdy5jb25zb2xlLmVycm9yKSB7CisgICAgICB3aW5kb3cuY29uc29sZS5lcnJvciht
c2cpOworICAgIH0KKyAgICBlbHNlIGlmICh3aW5kb3cuY29uc29sZS5sb2cpIHsKKyAgICAgIHdp
bmRvdy5jb25zb2xlLmxvZyhtc2cpOworICAgIH0KKyAgfQorfTsKKworLyoqCisgKiBUdXJuIG9m
ZiBhbGwgbG9nZ2luZy4KKyAqLwordmFyIGxvZ2dpbmdPZmYgPSBmdW5jdGlvbigpIHsKKyAgbG9n
ID0gZnVuY3Rpb24oKSB7fTsKKyAgZXJyb3IgPSBmdW5jdGlvbigpIHt9OworfTsKKworLyoqCisg
KiBDb252ZXJ0cyBhIFdlYkdMIGVudW0gdG8gYSBzdHJpbmcKKyAqIEBwYXJhbSB7IVdlYkdMQ29u
dGV4dH0gZ2wgVGhlIFdlYkdMQ29udGV4dCB0byB1c2UuCisgKiBAcGFyYW0ge251bWJlcn0gdmFs
dWUgVGhlIGVudW0gdmFsdWUuCisgKiBAcmV0dXJuIHtzdHJpbmd9IFRoZSBlbnVtIGFzIGEgc3Ry
aW5nLgorICovCit2YXIgZ2xFbnVtVG9TdHJpbmcgPSBmdW5jdGlvbihnbCwgdmFsdWUpIHsKKyAg
Zm9yICh2YXIgcCBpbiBnbCkgeworICAgIGlmIChnbFtwXSA9PSB2YWx1ZSkgeworICAgICAgcmV0
dXJuIHA7CisgICAgfQorICB9CisgIHJldHVybiAiMHgiICsgdmFsdWUudG9TdHJpbmcoMTYpOwor
fTsKKwordmFyIGxhc3RFcnJvciA9ICIiOworCisvKioKKyAqIFJldHVybnMgdGhlIGxhc3QgY29t
cGlsZXIvbGlua2VyIGVycm9yLgorICogQHJldHVybiB7c3RyaW5nfSBUaGUgbGFzdCBjb21waWxl
ci9saW5rZXIgZXJyb3IuCisgKi8KK3ZhciBnZXRMYXN0RXJyb3IgPSBmdW5jdGlvbigpIHsKKyAg
cmV0dXJuIGxhc3RFcnJvcjsKK307CisKKy8qKgorICogV2hldGhlciBhIGhheXN0YWNrIGVuZHMg
d2l0aCBhIG5lZWRsZS4KKyAqIEBwYXJhbSB7c3RyaW5nfSBoYXlzdGFjayBTdHJpbmcgdG8gc2Vh
cmNoCisgKiBAcGFyYW0ge3N0cmluZ30gbmVlZGxlIFN0cmluZyB0byBzZWFyY2ggZm9yLgorICog
QHBhcmFtIHtib29sZWFufSBUcnVlIGlmIGhheXN0YWNrIGVuZHMgd2l0aCBuZWVkbGUuCisgKi8K
K3ZhciBlbmRzV2l0aCA9IGZ1bmN0aW9uKGhheXN0YWNrLCBuZWVkbGUpIHsKKyAgcmV0dXJuIGhh
eXN0YWNrLnN1YnN0cihoYXlzdGFjay5sZW5ndGggLSBuZWVkbGUubGVuZ3RoKSA9PT0gbmVlZGxl
OworfTsKKworLyoqCisgKiBXaGV0aGVyIGEgaGF5c3RhY2sgc3RhcnRzIHdpdGggYSBuZWVkbGUu
CisgKiBAcGFyYW0ge3N0cmluZ30gaGF5c3RhY2sgU3RyaW5nIHRvIHNlYXJjaAorICogQHBhcmFt
IHtzdHJpbmd9IG5lZWRsZSBTdHJpbmcgdG8gc2VhcmNoIGZvci4KKyAqIEBwYXJhbSB7Ym9vbGVh
bn0gVHJ1ZSBpZiBoYXlzdGFjayBzdGFydHMgd2l0aCBuZWVkbGUuCisgKi8KK3ZhciBzdGFydHNX
aXRoID0gZnVuY3Rpb24oaGF5c3RhY2ssIG5lZWRsZSkgeworICByZXR1cm4gaGF5c3RhY2suc3Vi
c3RyKDAsIG5lZWRsZS5sZW5ndGgpID09PSBuZWVkbGU7Cit9OworCisvKioKKyAqIEEgdmVydGV4
IHNoYWRlciBmb3IgYSBzaW5nbGUgdGV4dHVyZS4KKyAqIEB0eXBlIHtzdHJpbmd9CisgKi8KK3Zh
ciBzaW1wbGVUZXh0dXJlVmVydGV4U2hhZGVyID0gWworICAnYXR0cmlidXRlIHZlYzQgdlBvc2l0
aW9uOycsCisgICdhdHRyaWJ1dGUgdmVjMiB0ZXhDb29yZDA7JywKKyAgJ3ZhcnlpbmcgdmVjMiB0
ZXhDb29yZDsnLAorICAndm9pZCBtYWluKCkgeycsCisgICcgICAgZ2xfUG9zaXRpb24gPSB2UG9z
aXRpb247JywKKyAgJyAgICB0ZXhDb29yZCA9IHRleENvb3JkMDsnLAorICAnfSddLmpvaW4oJ1xu
Jyk7CisKKy8qKgorICogQSBmcmFnbWVudCBzaGFkZXIgZm9yIGEgc2luZ2xlIHRleHR1cmUuCisg
KiBAdHlwZSB7c3RyaW5nfQorICovCit2YXIgc2ltcGxlVGV4dHVyZUZyYWdtZW50U2hhZGVyID0g
WworICAncHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7JywKKyAgJ3VuaWZvcm0gc2FtcGxlcjJEIHRl
eDsnLAorICAndmFyeWluZyB2ZWMyIHRleENvb3JkOycsCisgICd2b2lkIG1haW4oKSB7JywKKyAg
JyAgICBnbF9GcmFnRGF0YVswXSA9IHRleHR1cmUyRCh0ZXgsIHRleENvb3JkKTsnLAorICAnfSdd
LmpvaW4oJ1xuJyk7CisKKy8qKgorICogQSB2ZXJ0ZXggc2hhZGVyIGZvciBhIHNpbmdsZSB0ZXh0
dXJlLgorICogQHR5cGUge3N0cmluZ30KKyAqLwordmFyIG5vVGV4Q29vcmRUZXh0dXJlVmVydGV4
U2hhZGVyID0gWworICAnYXR0cmlidXRlIHZlYzQgdlBvc2l0aW9uOycsCisgICd2YXJ5aW5nIHZl
YzIgdGV4Q29vcmQ7JywKKyAgJ3ZvaWQgbWFpbigpIHsnLAorICAnICAgIGdsX1Bvc2l0aW9uID0g
dlBvc2l0aW9uOycsCisgICcgICAgdGV4Q29vcmQgPSB2UG9zaXRpb24ueHkgKiAwLjUgKyAwLjU7
JywKKyAgJ30nXS5qb2luKCdcbicpOworCisvKioKKyAqIEEgdmVydGV4IHNoYWRlciBmb3IgYSB1
bmlmb3JtIGNvbG9yLgorICogQHR5cGUge3N0cmluZ30KKyAqLwordmFyIHNpbXBsZUNvbG9yVmVy
dGV4U2hhZGVyID0gWworICAnYXR0cmlidXRlIHZlYzQgdlBvc2l0aW9uOycsCisgICd2b2lkIG1h
aW4oKSB7JywKKyAgJyAgICBnbF9Qb3NpdGlvbiA9IHZQb3NpdGlvbjsnLAorICAnfSddLmpvaW4o
J1xuJyk7CisKKy8qKgorICogQSBmcmFnbWVudCBzaGFkZXIgZm9yIGEgdW5pZm9ybSBjb2xvci4K
KyAqIEB0eXBlIHtzdHJpbmd9CisgKi8KK3ZhciBzaW1wbGVDb2xvckZyYWdtZW50U2hhZGVyID0g
WworICAncHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7JywKKyAgJ3VuaWZvcm0gdmVjNCB1X2NvbG9y
OycsCisgICd2b2lkIG1haW4oKSB7JywKKyAgJyAgICBnbF9GcmFnRGF0YVswXSA9IHVfY29sb3I7
JywKKyAgJ30nXS5qb2luKCdcbicpOworCisvKioKKyAqIEEgdmVydGV4IHNoYWRlciBmb3IgdmVy
dGV4IGNvbG9ycy4KKyAqIEB0eXBlIHtzdHJpbmd9CisgKi8KK3ZhciBzaW1wbGVWZXJ0ZXhDb2xv
clZlcnRleFNoYWRlciA9IFsKKyAgJ2F0dHJpYnV0ZSB2ZWM0IHZQb3NpdGlvbjsnLAorICAnYXR0
cmlidXRlIHZlYzQgYV9jb2xvcjsnLAorICAndmFyeWluZyB2ZWM0IHZfY29sb3I7JywKKyAgJ3Zv
aWQgbWFpbigpIHsnLAorICAnICAgIGdsX1Bvc2l0aW9uID0gdlBvc2l0aW9uOycsCisgICcgICAg
dl9jb2xvciA9IGFfY29sb3I7JywKKyAgJ30nXS5qb2luKCdcbicpOworCisvKioKKyAqIEEgZnJh
Z21lbnQgc2hhZGVyIGZvciB2ZXJ0ZXggY29sb3JzLgorICogQHR5cGUge3N0cmluZ30KKyAqLwor
dmFyIHNpbXBsZVZlcnRleENvbG9yRnJhZ21lbnRTaGFkZXIgPSBbCisgICdwcmVjaXNpb24gbWVk
aXVtcCBmbG9hdDsnLAorICAndmFyeWluZyB2ZWM0IHZfY29sb3I7JywKKyAgJ3ZvaWQgbWFpbigp
IHsnLAorICAnICAgIGdsX0ZyYWdEYXRhWzBdID0gdl9jb2xvcjsnLAorICAnfSddLmpvaW4oJ1xu
Jyk7CisKKy8qKgorICogQ3JlYXRlcyBhIHNpbXBsZSB0ZXh0dXJlIHZlcnRleCBzaGFkZXIuCisg
KiBAcGFyYW0geyFXZWJHTENvbnRleHR9IGdsIFRoZSBXZWJHTENvbnRleHQgdG8gdXNlLgorICog
QHJldHVybiB7IVdlYkdMU2hhZGVyfQorICovCit2YXIgc2V0dXBTaW1wbGVUZXh0dXJlVmVydGV4
U2hhZGVyID0gZnVuY3Rpb24oZ2wpIHsKKyAgICByZXR1cm4gbG9hZFNoYWRlcihnbCwgc2ltcGxl
VGV4dHVyZVZlcnRleFNoYWRlciwgZ2wuVkVSVEVYX1NIQURFUik7Cit9OworCisvKioKKyAqIENy
ZWF0ZXMgYSBzaW1wbGUgdGV4dHVyZSBmcmFnbWVudCBzaGFkZXIuCisgKiBAcGFyYW0geyFXZWJH
TENvbnRleHR9IGdsIFRoZSBXZWJHTENvbnRleHQgdG8gdXNlLgorICogQHJldHVybiB7IVdlYkdM
U2hhZGVyfQorICovCit2YXIgc2V0dXBTaW1wbGVUZXh0dXJlRnJhZ21lbnRTaGFkZXIgPSBmdW5j
dGlvbihnbCkgeworICAgIHJldHVybiBsb2FkU2hhZGVyKAorICAgICAgICBnbCwgc2ltcGxlVGV4
dHVyZUZyYWdtZW50U2hhZGVyLCBnbC5GUkFHTUVOVF9TSEFERVIpOworfTsKKworLyoqCisgKiBD
cmVhdGVzIGEgdGV4dHVyZSB2ZXJ0ZXggc2hhZGVyIHRoYXQgZG9lc24ndCBuZWVkIHRleGNvb3Jk
cy4KKyAqIEBwYXJhbSB7IVdlYkdMQ29udGV4dH0gZ2wgVGhlIFdlYkdMQ29udGV4dCB0byB1c2Uu
CisgKiBAcmV0dXJuIHshV2ViR0xTaGFkZXJ9CisgKi8KK3ZhciBzZXR1cE5vVGV4Q29vcmRUZXh0
dXJlVmVydGV4U2hhZGVyID0gZnVuY3Rpb24oZ2wpIHsKKyAgICByZXR1cm4gbG9hZFNoYWRlcihn
bCwgbm9UZXhDb29yZFRleHR1cmVWZXJ0ZXhTaGFkZXIsIGdsLlZFUlRFWF9TSEFERVIpOworfTsK
KworLyoqCisgKiBDcmVhdGVzIGEgc2ltcGxlIHZlcnRleCBjb2xvciB2ZXJ0ZXggc2hhZGVyLgor
ICogQHBhcmFtIHshV2ViR0xDb250ZXh0fSBnbCBUaGUgV2ViR0xDb250ZXh0IHRvIHVzZS4KKyAq
IEByZXR1cm4geyFXZWJHTFNoYWRlcn0KKyAqLwordmFyIHNldHVwU2ltcGxlVmVydGV4Q29sb3JW
ZXJ0ZXhTaGFkZXIgPSBmdW5jdGlvbihnbCkgeworICAgIHJldHVybiBsb2FkU2hhZGVyKGdsLCBz
aW1wbGVWZXJ0ZXhDb2xvclZlcnRleFNoYWRlciwgZ2wuVkVSVEVYX1NIQURFUik7Cit9OworCisv
KioKKyAqIENyZWF0ZXMgYSBzaW1wbGUgdmVydGV4IGNvbG9yIGZyYWdtZW50IHNoYWRlci4KKyAq
IEBwYXJhbSB7IVdlYkdMQ29udGV4dH0gZ2wgVGhlIFdlYkdMQ29udGV4dCB0byB1c2UuCisgKiBA
cmV0dXJuIHshV2ViR0xTaGFkZXJ9CisgKi8KK3ZhciBzZXR1cFNpbXBsZVZlcnRleENvbG9yRnJh
Z21lbnRTaGFkZXIgPSBmdW5jdGlvbihnbCkgeworICAgIHJldHVybiBsb2FkU2hhZGVyKAorICAg
ICAgICBnbCwgc2ltcGxlVmVydGV4Q29sb3JGcmFnbWVudFNoYWRlciwgZ2wuRlJBR01FTlRfU0hB
REVSKTsKK307CisKKy8qKgorICogQ3JlYXRlcyBhIHNpbXBsZSBjb2xvciB2ZXJ0ZXggc2hhZGVy
LgorICogQHBhcmFtIHshV2ViR0xDb250ZXh0fSBnbCBUaGUgV2ViR0xDb250ZXh0IHRvIHVzZS4K
KyAqIEByZXR1cm4geyFXZWJHTFNoYWRlcn0KKyAqLwordmFyIHNldHVwU2ltcGxlQ29sb3JWZXJ0
ZXhTaGFkZXIgPSBmdW5jdGlvbihnbCkgeworICAgIHJldHVybiBsb2FkU2hhZGVyKGdsLCBzaW1w
bGVDb2xvclZlcnRleFNoYWRlciwgZ2wuVkVSVEVYX1NIQURFUik7Cit9OworCisvKioKKyAqIENy
ZWF0ZXMgYSBzaW1wbGUgY29sb3IgZnJhZ21lbnQgc2hhZGVyLgorICogQHBhcmFtIHshV2ViR0xD
b250ZXh0fSBnbCBUaGUgV2ViR0xDb250ZXh0IHRvIHVzZS4KKyAqIEByZXR1cm4geyFXZWJHTFNo
YWRlcn0KKyAqLwordmFyIHNldHVwU2ltcGxlQ29sb3JGcmFnbWVudFNoYWRlciA9IGZ1bmN0aW9u
KGdsKSB7CisgICAgcmV0dXJuIGxvYWRTaGFkZXIoCisgICAgICAgIGdsLCBzaW1wbGVDb2xvckZy
YWdtZW50U2hhZGVyLCBnbC5GUkFHTUVOVF9TSEFERVIpOworfTsKKworLyoqCisgKiBDcmVhdGVz
IGEgcHJvZ3JhbSwgYXR0YWNoZXMgc2hhZGVycywgYmluZHMgYXR0cmliIGxvY2F0aW9ucywgbGlu
a3MgdGhlCisgKiBwcm9ncmFtIGFuZCBjYWxscyB1c2VQcm9ncmFtLgorICogQHBhcmFtIHshQXJy
YXkuPCFXZWJHTFNoYWRlcnxzdHJpbmc+fSBzaGFkZXJzIFRoZSBzaGFkZXJzIHRvCisgKiAgICAg
ICAgYXR0YWNoLCBvciB0aGUgc291cmNlLCBvciB0aGUgaWQgb2YgYSBzY3JpcHQgdG8gZ2V0Cisg
KiAgICAgICAgdGhlIHNvdXJjZSBmcm9tLgorICogQHBhcmFtIHshQXJyYXkuPHN0cmluZz59IG9w
dF9hdHRyaWJzIFRoZSBhdHRyaWJzIG5hbWVzLgorICogQHBhcmFtIHshQXJyYXkuPG51bWJlcj59
IG9wdF9sb2NhdGlvbnMgVGhlIGxvY2F0aW9ucyBmb3IgdGhlIGF0dHJpYnMuCisgKi8KK3ZhciBz
ZXR1cFByb2dyYW0gPSBmdW5jdGlvbihnbCwgc2hhZGVycywgb3B0X2F0dHJpYnMsIG9wdF9sb2Nh
dGlvbnMpIHsKKyAgdmFyIHJlYWxTaGFkZXJzID0gW107CisgIHZhciBwcm9ncmFtID0gZ2wuY3Jl
YXRlUHJvZ3JhbSgpOworICB2YXIgc2hhZGVyVHlwZSA9IHVuZGVmaW5lZDsKKyAgZm9yICh2YXIg
aWkgPSAwOyBpaSA8IHNoYWRlcnMubGVuZ3RoOyArK2lpKSB7CisgICAgdmFyIHNoYWRlciA9IHNo
YWRlcnNbaWldOworICAgIGlmICh0eXBlb2Ygc2hhZGVyID09ICdzdHJpbmcnKSB7CisgICAgICB2
YXIgZWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHNoYWRlcik7CisgICAgICBpZiAo
ZWxlbWVudCkgeworICAgICAgICBpZiAoZWxlbWVudC50eXBlICE9ICJ4LXNoYWRlci94LXZlcnRl
eCIgJiYgZWxlbWVudC50eXBlICE9ICJ4LXNoYWRlci94LWZyYWdtZW50IikKKyAgICAgICAgICBz
aGFkZXJUeXBlID0gaWkgPyBnbC5GUkFHTUVOVF9TSEFERVIgOiBnbC5WRVJURVhfU0hBREVSOwor
ICAgICAgICBzaGFkZXIgPSBsb2FkU2hhZGVyRnJvbVNjcmlwdChnbCwgc2hhZGVyLCBzaGFkZXJU
eXBlKTsKKyAgICAgIH0gZWxzZSBpZiAoZW5kc1dpdGgoc2hhZGVyLCAiLnZlcnQiKSkgeworICAg
ICAgICBzaGFkZXIgPSBsb2FkU2hhZGVyRnJvbUZpbGUoZ2wsIHNoYWRlciwgZ2wuVkVSVEVYX1NI
QURFUik7CisgICAgICB9IGVsc2UgaWYgKGVuZHNXaXRoKHNoYWRlciwgIi5mcmFnIikpIHsKKyAg
ICAgICAgc2hhZGVyID0gbG9hZFNoYWRlckZyb21GaWxlKGdsLCBzaGFkZXIsIGdsLkZSQUdNRU5U
X1NIQURFUik7CisgICAgICB9IGVsc2UgeworICAgICAgICBzaGFkZXIgPSBsb2FkU2hhZGVyKGds
LCBzaGFkZXIsIGlpID8gZ2wuRlJBR01FTlRfU0hBREVSIDogZ2wuVkVSVEVYX1NIQURFUik7Cisg
ICAgICB9CisgICAgfQorICAgIGdsLmF0dGFjaFNoYWRlcihwcm9ncmFtLCBzaGFkZXIpOworICB9
CisgIGlmIChvcHRfYXR0cmlicykgeworICAgIGZvciAodmFyIGlpID0gMDsgaWkgPCBvcHRfYXR0
cmlicy5sZW5ndGg7ICsraWkpIHsKKyAgICAgIGdsLmJpbmRBdHRyaWJMb2NhdGlvbigKKyAgICAg
ICAgICBwcm9ncmFtLAorICAgICAgICAgIG9wdF9sb2NhdGlvbnMgPyBvcHRfbG9jYXRpb25zW2lp
XSA6IGlpLAorICAgICAgICAgIG9wdF9hdHRyaWJzW2lpXSk7CisgICAgfQorICB9CisgIGdsLmxp
bmtQcm9ncmFtKHByb2dyYW0pOworCisgIC8vIENoZWNrIHRoZSBsaW5rIHN0YXR1cworICB2YXIg
bGlua2VkID0gZ2wuZ2V0UHJvZ3JhbVBhcmFtZXRlcihwcm9ncmFtLCBnbC5MSU5LX1NUQVRVUyk7
CisgIGlmICghbGlua2VkKSB7CisgICAgICAvLyBzb21ldGhpbmcgd2VudCB3cm9uZyB3aXRoIHRo
ZSBsaW5rCisgICAgICBsYXN0RXJyb3IgPSBnbC5nZXRQcm9ncmFtSW5mb0xvZyAocHJvZ3JhbSk7
CisgICAgICBlcnJvcigiRXJyb3IgaW4gcHJvZ3JhbSBsaW5raW5nOiIgKyBsYXN0RXJyb3IpOwor
CisgICAgICBnbC5kZWxldGVQcm9ncmFtKHByb2dyYW0pOworICAgICAgcmV0dXJuIG51bGw7Cisg
IH0KKworICBnbC51c2VQcm9ncmFtKHByb2dyYW0pOworICByZXR1cm4gcHJvZ3JhbTsKK307CisK
Ky8qKgorICogQ3JlYXRlcyBhIHNpbXBsZSB0ZXh0dXJlIHByb2dyYW0uCisgKiBAcGFyYW0geyFX
ZWJHTENvbnRleHR9IGdsIFRoZSBXZWJHTENvbnRleHQgdG8gdXNlLgorICogQHBhcmFtIHtudW1i
ZXJ9IG9wdF9wb3NpdGlvbkxvY2F0aW9uIFRoZSBhdHRyaWIgbG9jYXRpb24gZm9yIHBvc2l0aW9u
LgorICogQHBhcmFtIHtudW1iZXJ9IG9wdF90ZXhjb29yZExvY2F0aW9uIFRoZSBhdHRyaWIgbG9j
YXRpb24gZm9yIHRleHR1cmUgY29vcmRzLgorICogQHJldHVybiB7V2ViR0xQcm9ncmFtfQorICov
Cit2YXIgc2V0dXBTaW1wbGVUZXh0dXJlUHJvZ3JhbSA9IGZ1bmN0aW9uKAorICAgIGdsLCBvcHRf
cG9zaXRpb25Mb2NhdGlvbiwgb3B0X3RleGNvb3JkTG9jYXRpb24pIHsKKyAgb3B0X3Bvc2l0aW9u
TG9jYXRpb24gPSBvcHRfcG9zaXRpb25Mb2NhdGlvbiB8fCAwOworICBvcHRfdGV4Y29vcmRMb2Nh
dGlvbiA9IG9wdF90ZXhjb29yZExvY2F0aW9uIHx8IDE7CisgIHZhciB2cyA9IHNldHVwU2ltcGxl
VGV4dHVyZVZlcnRleFNoYWRlcihnbCk7CisgIHZhciBmcyA9IHNldHVwU2ltcGxlVGV4dHVyZUZy
YWdtZW50U2hhZGVyKGdsKTsKKyAgaWYgKCF2cyB8fCAhZnMpIHsKKyAgICByZXR1cm4gbnVsbDsK
KyAgfQorICB2YXIgcHJvZ3JhbSA9IHNldHVwUHJvZ3JhbSgKKyAgICAgIGdsLAorICAgICAgW3Zz
LCBmc10sCisgICAgICBbJ3ZQb3NpdGlvbicsICd0ZXhDb29yZDAnXSwKKyAgICAgIFtvcHRfcG9z
aXRpb25Mb2NhdGlvbiwgb3B0X3RleGNvb3JkTG9jYXRpb25dKTsKKyAgaWYgKCFwcm9ncmFtKSB7
CisgICAgZ2wuZGVsZXRlU2hhZGVyKGZzKTsKKyAgICBnbC5kZWxldGVTaGFkZXIodnMpOworICB9
CisgIGdsLnVzZVByb2dyYW0ocHJvZ3JhbSk7CisgIHJldHVybiBwcm9ncmFtOworfTsKKworLyoq
CisgKiBDcmVhdGVzIGEgc2ltcGxlIHRleHR1cmUgcHJvZ3JhbS4KKyAqIEBwYXJhbSB7IVdlYkdM
Q29udGV4dH0gZ2wgVGhlIFdlYkdMQ29udGV4dCB0byB1c2UuCisgKiBAcmV0dXJuIHtXZWJHTFBy
b2dyYW19CisgKi8KK3ZhciBzZXR1cE5vVGV4Q29vcmRUZXh0dXJlUHJvZ3JhbSA9IGZ1bmN0aW9u
KGdsKSB7CisgIHZhciB2cyA9IHNldHVwTm9UZXhDb29yZFRleHR1cmVWZXJ0ZXhTaGFkZXIoZ2wp
OworICB2YXIgZnMgPSBzZXR1cFNpbXBsZVRleHR1cmVGcmFnbWVudFNoYWRlcihnbCk7CisgIGlm
ICghdnMgfHwgIWZzKSB7CisgICAgcmV0dXJuIG51bGw7CisgIH0KKyAgdmFyIHByb2dyYW0gPSBz
ZXR1cFByb2dyYW0oCisgICAgICBnbCwKKyAgICAgIFt2cywgZnNdLAorICAgICAgWyd2UG9zaXRp
b24nXSwKKyAgICAgIFswXSk7CisgIGlmICghcHJvZ3JhbSkgeworICAgIGdsLmRlbGV0ZVNoYWRl
cihmcyk7CisgICAgZ2wuZGVsZXRlU2hhZGVyKHZzKTsKKyAgfQorICBnbC51c2VQcm9ncmFtKHBy
b2dyYW0pOworICByZXR1cm4gcHJvZ3JhbTsKK307CisKKy8qKgorICogQ3JlYXRlcyBhIHNpbXBs
ZSB0ZXh0dXJlIHByb2dyYW0uCisgKiBAcGFyYW0geyFXZWJHTENvbnRleHR9IGdsIFRoZSBXZWJH
TENvbnRleHQgdG8gdXNlLgorICogQHBhcmFtIHtudW1iZXJ9IG9wdF9wb3NpdGlvbkxvY2F0aW9u
IFRoZSBhdHRyaWIgbG9jYXRpb24gZm9yIHBvc2l0aW9uLgorICogQHBhcmFtIHtudW1iZXJ9IG9w
dF90ZXhjb29yZExvY2F0aW9uIFRoZSBhdHRyaWIgbG9jYXRpb24gZm9yIHRleHR1cmUgY29vcmRz
LgorICogQHJldHVybiB7V2ViR0xQcm9ncmFtfQorICovCit2YXIgc2V0dXBTaW1wbGVUZXh0dXJl
UHJvZ3JhbSA9IGZ1bmN0aW9uKAorICAgIGdsLCBvcHRfcG9zaXRpb25Mb2NhdGlvbiwgb3B0X3Rl
eGNvb3JkTG9jYXRpb24pIHsKKyAgb3B0X3Bvc2l0aW9uTG9jYXRpb24gPSBvcHRfcG9zaXRpb25M
b2NhdGlvbiB8fCAwOworICBvcHRfdGV4Y29vcmRMb2NhdGlvbiA9IG9wdF90ZXhjb29yZExvY2F0
aW9uIHx8IDE7CisgIHZhciB2cyA9IHNldHVwU2ltcGxlVGV4dHVyZVZlcnRleFNoYWRlcihnbCk7
CisgIHZhciBmcyA9IHNldHVwU2ltcGxlVGV4dHVyZUZyYWdtZW50U2hhZGVyKGdsKTsKKyAgaWYg
KCF2cyB8fCAhZnMpIHsKKyAgICByZXR1cm4gbnVsbDsKKyAgfQorICB2YXIgcHJvZ3JhbSA9IHNl
dHVwUHJvZ3JhbSgKKyAgICAgIGdsLAorICAgICAgW3ZzLCBmc10sCisgICAgICBbJ3ZQb3NpdGlv
bicsICd0ZXhDb29yZDAnXSwKKyAgICAgIFtvcHRfcG9zaXRpb25Mb2NhdGlvbiwgb3B0X3RleGNv
b3JkTG9jYXRpb25dKTsKKyAgaWYgKCFwcm9ncmFtKSB7CisgICAgZ2wuZGVsZXRlU2hhZGVyKGZz
KTsKKyAgICBnbC5kZWxldGVTaGFkZXIodnMpOworICB9CisgIGdsLnVzZVByb2dyYW0ocHJvZ3Jh
bSk7CisgIHJldHVybiBwcm9ncmFtOworfTsKKworLyoqCisgKiBDcmVhdGVzIGEgc2ltcGxlIHZl
cnRleCBjb2xvciBwcm9ncmFtLgorICogQHBhcmFtIHshV2ViR0xDb250ZXh0fSBnbCBUaGUgV2Vi
R0xDb250ZXh0IHRvIHVzZS4KKyAqIEBwYXJhbSB7bnVtYmVyfSBvcHRfcG9zaXRpb25Mb2NhdGlv
biBUaGUgYXR0cmliIGxvY2F0aW9uIGZvciBwb3NpdGlvbi4KKyAqIEBwYXJhbSB7bnVtYmVyfSBv
cHRfdmVydGV4Q29sb3JMb2NhdGlvbiBUaGUgYXR0cmliIGxvY2F0aW9uCisgKiAgICAgICAgZm9y
IHZlcnRleCBjb2xvcnMuCisgKiBAcmV0dXJuIHtXZWJHTFByb2dyYW19CisgKi8KK3ZhciBzZXR1
cFNpbXBsZVZlcnRleENvbG9yUHJvZ3JhbSA9IGZ1bmN0aW9uKAorICAgIGdsLCBvcHRfcG9zaXRp
b25Mb2NhdGlvbiwgb3B0X3ZlcnRleENvbG9yTG9jYXRpb24pIHsKKyAgb3B0X3Bvc2l0aW9uTG9j
YXRpb24gPSBvcHRfcG9zaXRpb25Mb2NhdGlvbiB8fCAwOworICBvcHRfdmVydGV4Q29sb3JMb2Nh
dGlvbiA9IG9wdF92ZXJ0ZXhDb2xvckxvY2F0aW9uIHx8IDE7CisgIHZhciB2cyA9IHNldHVwU2lt
cGxlVmVydGV4Q29sb3JWZXJ0ZXhTaGFkZXIoZ2wpOworICB2YXIgZnMgPSBzZXR1cFNpbXBsZVZl
cnRleENvbG9yRnJhZ21lbnRTaGFkZXIoZ2wpOworICBpZiAoIXZzIHx8ICFmcykgeworICAgIHJl
dHVybiBudWxsOworICB9CisgIHZhciBwcm9ncmFtID0gc2V0dXBQcm9ncmFtKAorICAgICAgZ2ws
CisgICAgICBbdnMsIGZzXSwKKyAgICAgIFsndlBvc2l0aW9uJywgJ2FfY29sb3InXSwKKyAgICAg
IFtvcHRfcG9zaXRpb25Mb2NhdGlvbiwgb3B0X3ZlcnRleENvbG9yTG9jYXRpb25dKTsKKyAgaWYg
KCFwcm9ncmFtKSB7CisgICAgZ2wuZGVsZXRlU2hhZGVyKGZzKTsKKyAgICBnbC5kZWxldGVTaGFk
ZXIodnMpOworICB9CisgIGdsLnVzZVByb2dyYW0ocHJvZ3JhbSk7CisgIHJldHVybiBwcm9ncmFt
OworfTsKKworLyoqCisgKiBDcmVhdGVzIGEgc2ltcGxlIGNvbG9yIHByb2dyYW0uCisgKiBAcGFy
YW0geyFXZWJHTENvbnRleHR9IGdsIFRoZSBXZWJHTENvbnRleHQgdG8gdXNlLgorICogQHBhcmFt
IHtudW1iZXJ9IG9wdF9wb3NpdGlvbkxvY2F0aW9uIFRoZSBhdHRyaWIgbG9jYXRpb24gZm9yIHBv
c2l0aW9uLgorICogQHJldHVybiB7V2ViR0xQcm9ncmFtfQorICovCit2YXIgc2V0dXBTaW1wbGVD
b2xvclByb2dyYW0gPSBmdW5jdGlvbihnbCwgb3B0X3Bvc2l0aW9uTG9jYXRpb24pIHsKKyAgb3B0
X3Bvc2l0aW9uTG9jYXRpb24gPSBvcHRfcG9zaXRpb25Mb2NhdGlvbiB8fCAwOworICB2YXIgdnMg
PSBzZXR1cFNpbXBsZUNvbG9yVmVydGV4U2hhZGVyKGdsKTsKKyAgdmFyIGZzID0gc2V0dXBTaW1w
bGVDb2xvckZyYWdtZW50U2hhZGVyKGdsKTsKKyAgaWYgKCF2cyB8fCAhZnMpIHsKKyAgICByZXR1
cm4gbnVsbDsKKyAgfQorICB2YXIgcHJvZ3JhbSA9IHNldHVwUHJvZ3JhbSgKKyAgICAgIGdsLAor
ICAgICAgW3ZzLCBmc10sCisgICAgICBbJ3ZQb3NpdGlvbiddLAorICAgICAgW29wdF9wb3NpdGlv
bkxvY2F0aW9uXSk7CisgIGlmICghcHJvZ3JhbSkgeworICAgIGdsLmRlbGV0ZVNoYWRlcihmcyk7
CisgICAgZ2wuZGVsZXRlU2hhZGVyKHZzKTsKKyAgfQorICBnbC51c2VQcm9ncmFtKHByb2dyYW0p
OworICByZXR1cm4gcHJvZ3JhbTsKK307CisKKy8qKgorICogQ3JlYXRlcyBidWZmZXJzIGZvciBh
IHRleHR1cmVkIHVuaXQgcXVhZCBhbmQgYXR0YWNoZXMgdGhlbSB0byB2ZXJ0ZXggYXR0cmlicy4K
KyAqIEBwYXJhbSB7IVdlYkdMQ29udGV4dH0gZ2wgVGhlIFdlYkdMQ29udGV4dCB0byB1c2UuCisg
KiBAcGFyYW0ge251bWJlcn0gb3B0X3Bvc2l0aW9uTG9jYXRpb24gVGhlIGF0dHJpYiBsb2NhdGlv
biBmb3IgcG9zaXRpb24uCisgKiBAcGFyYW0ge251bWJlcn0gb3B0X3RleGNvb3JkTG9jYXRpb24g
VGhlIGF0dHJpYiBsb2NhdGlvbiBmb3IgdGV4dHVyZSBjb29yZHMuCisgKiBAcmV0dXJuIHshQXJy
YXkuPFdlYkdMQnVmZmVyPn0gVGhlIGJ1ZmZlciBvYmplY3RzIHRoYXQgd2VyZQorICogICAgICBj
cmVhdGVkLgorICovCit2YXIgc2V0dXBVbml0UXVhZCA9IGZ1bmN0aW9uKGdsLCBvcHRfcG9zaXRp
b25Mb2NhdGlvbiwgb3B0X3RleGNvb3JkTG9jYXRpb24pIHsKKyAgcmV0dXJuIHNldHVwVW5pdFF1
YWRXaXRoVGV4Q29vcmRzKGdsLCBbIDAuMCwgMC4wIF0sIFsgMS4wLCAxLjAgXSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdF9wb3NpdGlvbkxvY2F0aW9uLCBvcHRfdGV4
Y29vcmRMb2NhdGlvbik7Cit9OworCisvKioKKyAqIENyZWF0ZXMgYnVmZmVycyBmb3IgYSB0ZXh0
dXJlZCB1bml0IHF1YWQgd2l0aCBzcGVjaWZpZWQgbG93ZXIgbGVmdAorICogYW5kIHVwcGVyIHJp
Z2h0IHRleHR1cmUgY29vcmRpbmF0ZXMsIGFuZCBhdHRhY2hlcyB0aGVtIHRvIHZlcnRleAorICog
YXR0cmlicy4KKyAqIEBwYXJhbSB7IVdlYkdMQ29udGV4dH0gZ2wgVGhlIFdlYkdMQ29udGV4dCB0
byB1c2UuCisgKiBAcGFyYW0geyFBcnJheS48bnVtYmVyPn0gbG93ZXJMZWZ0VGV4Q29vcmRzIFRo
ZSB0ZXh0dXJlIGNvb3JkaW5hdGVzIGZvciB0aGUgbG93ZXIgbGVmdCBjb3JuZXIuCisgKiBAcGFy
YW0geyFBcnJheS48bnVtYmVyPn0gdXBwZXJSaWdodFRleENvb3JkcyBUaGUgdGV4dHVyZSBjb29y
ZGluYXRlcyBmb3IgdGhlIHVwcGVyIHJpZ2h0IGNvcm5lci4KKyAqIEBwYXJhbSB7bnVtYmVyfSBv
cHRfcG9zaXRpb25Mb2NhdGlvbiBUaGUgYXR0cmliIGxvY2F0aW9uIGZvciBwb3NpdGlvbi4KKyAq
IEBwYXJhbSB7bnVtYmVyfSBvcHRfdGV4Y29vcmRMb2NhdGlvbiBUaGUgYXR0cmliIGxvY2F0aW9u
IGZvciB0ZXh0dXJlIGNvb3Jkcy4KKyAqIEByZXR1cm4geyFBcnJheS48V2ViR0xCdWZmZXI+fSBU
aGUgYnVmZmVyIG9iamVjdHMgdGhhdCB3ZXJlCisgKiAgICAgIGNyZWF0ZWQuCisgKi8KK3ZhciBz
ZXR1cFVuaXRRdWFkV2l0aFRleENvb3JkcyA9IGZ1bmN0aW9uKAorICAgIGdsLCBsb3dlckxlZnRU
ZXhDb29yZHMsIHVwcGVyUmlnaHRUZXhDb29yZHMsCisgICAgb3B0X3Bvc2l0aW9uTG9jYXRpb24s
IG9wdF90ZXhjb29yZExvY2F0aW9uKSB7CisgIG9wdF9wb3NpdGlvbkxvY2F0aW9uID0gb3B0X3Bv
c2l0aW9uTG9jYXRpb24gfHwgMDsKKyAgb3B0X3RleGNvb3JkTG9jYXRpb24gPSBvcHRfdGV4Y29v
cmRMb2NhdGlvbiB8fCAxOworICB2YXIgb2JqZWN0cyA9IFtdOworCisgIHZhciB2ZXJ0ZXhPYmpl
Y3QgPSBnbC5jcmVhdGVCdWZmZXIoKTsKKyAgZ2wuYmluZEJ1ZmZlcihnbC5BUlJBWV9CVUZGRVIs
IHZlcnRleE9iamVjdCk7CisgIGdsLmJ1ZmZlckRhdGEoZ2wuQVJSQVlfQlVGRkVSLCBuZXcgRmxv
YXQzMkFycmF5KFsKKyAgICAgICAxLjAsICAxLjAsIDAuMCwKKyAgICAgIC0xLjAsICAxLjAsIDAu
MCwKKyAgICAgIC0xLjAsIC0xLjAsIDAuMCwKKyAgICAgICAxLjAsICAxLjAsIDAuMCwKKyAgICAg
IC0xLjAsIC0xLjAsIDAuMCwKKyAgICAgICAxLjAsIC0xLjAsIDAuMF0pLCBnbC5TVEFUSUNfRFJB
Vyk7CisgIGdsLmVuYWJsZVZlcnRleEF0dHJpYkFycmF5KG9wdF9wb3NpdGlvbkxvY2F0aW9uKTsK
KyAgZ2wudmVydGV4QXR0cmliUG9pbnRlcihvcHRfcG9zaXRpb25Mb2NhdGlvbiwgMywgZ2wuRkxP
QVQsIGZhbHNlLCAwLCAwKTsKKyAgb2JqZWN0cy5wdXNoKHZlcnRleE9iamVjdCk7CisKKyAgdmFy
IGxseCA9IGxvd2VyTGVmdFRleENvb3Jkc1swXTsKKyAgdmFyIGxseSA9IGxvd2VyTGVmdFRleENv
b3Jkc1sxXTsKKyAgdmFyIHVyeCA9IHVwcGVyUmlnaHRUZXhDb29yZHNbMF07CisgIHZhciB1cnkg
PSB1cHBlclJpZ2h0VGV4Q29vcmRzWzFdOworCisgIHZhciB2ZXJ0ZXhPYmplY3QgPSBnbC5jcmVh
dGVCdWZmZXIoKTsKKyAgZ2wuYmluZEJ1ZmZlcihnbC5BUlJBWV9CVUZGRVIsIHZlcnRleE9iamVj
dCk7CisgIGdsLmJ1ZmZlckRhdGEoZ2wuQVJSQVlfQlVGRkVSLCBuZXcgRmxvYXQzMkFycmF5KFsK
KyAgICAgIHVyeCwgdXJ5LAorICAgICAgbGx4LCB1cnksCisgICAgICBsbHgsIGxseSwKKyAgICAg
IHVyeCwgdXJ5LAorICAgICAgbGx4LCBsbHksCisgICAgICB1cngsIGxseV0pLCBnbC5TVEFUSUNf
RFJBVyk7CisgIGdsLmVuYWJsZVZlcnRleEF0dHJpYkFycmF5KG9wdF90ZXhjb29yZExvY2F0aW9u
KTsKKyAgZ2wudmVydGV4QXR0cmliUG9pbnRlcihvcHRfdGV4Y29vcmRMb2NhdGlvbiwgMiwgZ2wu
RkxPQVQsIGZhbHNlLCAwLCAwKTsKKyAgb2JqZWN0cy5wdXNoKHZlcnRleE9iamVjdCk7CisgIHJl
dHVybiBvYmplY3RzOworfTsKKworLyoqCisgKiBDcmVhdGVzIGEgcHJvZ3JhbSBhbmQgYnVmZmVy
cyBmb3IgcmVuZGVyaW5nIGEgdGV4dHVyZWQgcXVhZC4KKyAqIEBwYXJhbSB7IVdlYkdMQ29udGV4
dH0gZ2wgVGhlIFdlYkdMQ29udGV4dCB0byB1c2UuCisgKiBAcGFyYW0ge251bWJlcn0gb3B0X3Bv
c2l0aW9uTG9jYXRpb24gVGhlIGF0dHJpYiBsb2NhdGlvbiBmb3IKKyAqICAgICAgICBwb3NpdGlv
bi4gRGVmYXVsdCA9IDAuCisgKiBAcGFyYW0ge251bWJlcn0gb3B0X3RleGNvb3JkTG9jYXRpb24g
VGhlIGF0dHJpYiBsb2NhdGlvbiBmb3IKKyAqICAgICAgICB0ZXh0dXJlIGNvb3Jkcy4gRGVmYXVs
dCA9IDAuCisgKiBAcmV0dXJuIHshV2ViR0xQcm9ncmFtfQorICovCit2YXIgc2V0dXBUZXh0dXJl
ZFF1YWQgPSBmdW5jdGlvbigKKyAgICBnbCwgb3B0X3Bvc2l0aW9uTG9jYXRpb24sIG9wdF90ZXhj
b29yZExvY2F0aW9uKSB7CisgIHZhciBwcm9ncmFtID0gc2V0dXBTaW1wbGVUZXh0dXJlUHJvZ3Jh
bSgKKyAgICAgIGdsLCBvcHRfcG9zaXRpb25Mb2NhdGlvbiwgb3B0X3RleGNvb3JkTG9jYXRpb24p
OworICBzZXR1cFVuaXRRdWFkKGdsLCBvcHRfcG9zaXRpb25Mb2NhdGlvbiwgb3B0X3RleGNvb3Jk
TG9jYXRpb24pOworICByZXR1cm4gcHJvZ3JhbTsKK307CisKKy8qKgorICogQ3JlYXRlcyBhIHBy
b2dyYW0gYW5kIGJ1ZmZlcnMgZm9yIHJlbmRlcmluZyBhIGNvbG9yIHF1YWQuCisgKiBAcGFyYW0g
eyFXZWJHTENvbnRleHR9IGdsIFRoZSBXZWJHTENvbnRleHQgdG8gdXNlLgorICogQHBhcmFtIHtu
dW1iZXJ9IG9wdF9wb3NpdGlvbkxvY2F0aW9uIFRoZSBhdHRyaWIgbG9jYXRpb24gZm9yIHBvc2l0
aW9uLgorICogQHJldHVybiB7IVdlYkdMUHJvZ3JhbX0KKyAqLwordmFyIHNldHVwQ29sb3JRdWFk
ID0gZnVuY3Rpb24oZ2wsIG9wdF9wb3NpdGlvbkxvY2F0aW9uKSB7CisgIG9wdF9wb3NpdGlvbkxv
Y2F0aW9uID0gb3B0X3Bvc2l0aW9uTG9jYXRpb24gfHwgMDsKKyAgdmFyIHByb2dyYW0gPSBzZXR1
cFNpbXBsZUNvbG9yUHJvZ3JhbShnbCk7CisgIHNldHVwVW5pdFF1YWQoZ2wsIG9wdF9wb3NpdGlv
bkxvY2F0aW9uKTsKKyAgcmV0dXJuIHByb2dyYW07Cit9OworCisvKioKKyAqIENyZWF0ZXMgYSBw
cm9ncmFtIGFuZCBidWZmZXJzIGZvciByZW5kZXJpbmcgYSB0ZXh0dXJlZCBxdWFkIHdpdGgKKyAq
IHNwZWNpZmllZCBsb3dlciBsZWZ0IGFuZCB1cHBlciByaWdodCB0ZXh0dXJlIGNvb3JkaW5hdGVz
LgorICogQHBhcmFtIHshV2ViR0xDb250ZXh0fSBnbCBUaGUgV2ViR0xDb250ZXh0IHRvIHVzZS4K
KyAqIEBwYXJhbSB7IUFycmF5LjxudW1iZXI+fSBsb3dlckxlZnRUZXhDb29yZHMgVGhlIHRleHR1
cmUgY29vcmRpbmF0ZXMgZm9yIHRoZSBsb3dlciBsZWZ0IGNvcm5lci4KKyAqIEBwYXJhbSB7IUFy
cmF5LjxudW1iZXI+fSB1cHBlclJpZ2h0VGV4Q29vcmRzIFRoZSB0ZXh0dXJlIGNvb3JkaW5hdGVz
IGZvciB0aGUgdXBwZXIgcmlnaHQgY29ybmVyLgorICogQHBhcmFtIHtudW1iZXJ9IG9wdF9wb3Np
dGlvbkxvY2F0aW9uIFRoZSBhdHRyaWIgbG9jYXRpb24gZm9yIHBvc2l0aW9uLgorICogQHBhcmFt
IHtudW1iZXJ9IG9wdF90ZXhjb29yZExvY2F0aW9uIFRoZSBhdHRyaWIgbG9jYXRpb24gZm9yIHRl
eHR1cmUgY29vcmRzLgorICogQHJldHVybiB7IVdlYkdMUHJvZ3JhbX0KKyAqLwordmFyIHNldHVw
VGV4dHVyZWRRdWFkV2l0aFRleENvb3JkcyA9IGZ1bmN0aW9uKAorICAgIGdsLCBsb3dlckxlZnRU
ZXhDb29yZHMsIHVwcGVyUmlnaHRUZXhDb29yZHMsCisgICAgb3B0X3Bvc2l0aW9uTG9jYXRpb24s
IG9wdF90ZXhjb29yZExvY2F0aW9uKSB7CisgIHZhciBwcm9ncmFtID0gc2V0dXBTaW1wbGVUZXh0
dXJlUHJvZ3JhbSgKKyAgICAgIGdsLCBvcHRfcG9zaXRpb25Mb2NhdGlvbiwgb3B0X3RleGNvb3Jk
TG9jYXRpb24pOworICBzZXR1cFVuaXRRdWFkV2l0aFRleENvb3JkcyhnbCwgbG93ZXJMZWZ0VGV4
Q29vcmRzLCB1cHBlclJpZ2h0VGV4Q29vcmRzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBvcHRfcG9zaXRpb25Mb2NhdGlvbiwgb3B0X3RleGNvb3JkTG9jYXRpb24pOworICByZXR1cm4g
cHJvZ3JhbTsKK307CisKKy8qKgorICogQ3JlYXRlcyBhIHVuaXQgcXVhZCB3aXRoIG9ubHkgcG9z
aXRpb25zIG9mIGEgZ2l2ZW4gcmVzb2x1dGlvbi4KKyAqIEBwYXJhbSB7IVdlYkdMQ29udGV4dH0g
Z2wgVGhlIFdlYkdMQ29udGV4dCB0byB1c2UuCisgKiBAcGFyYW0ge251bWJlcn0gZ3JpZFJlcyBU
aGUgcmVzb2x1dGlvbiBvZiB0aGUgbWVzaCBncmlkLAorICogICAgIGV4cHJlc3NlZCBpbiB0aGUg
bnVtYmVyIG9mIHF1YWRzIGFjcm9zcyBhbmQgZG93bi4KKyAqIEBwYXJhbSB7bnVtYmVyfSBvcHRf
cG9zaXRpb25Mb2NhdGlvbiBUaGUgYXR0cmliIGxvY2F0aW9uIGZvciBwb3NpdGlvbi4KKyAqLwor
dmFyIHNldHVwUXVhZCA9IGZ1bmN0aW9uICgKKyAgICBnbCwgZ3JpZFJlcywgb3B0X3Bvc2l0aW9u
TG9jYXRpb24sIG9wdF9mbGlwT2RkVHJpYW5nbGVzKSB7CisgIHJldHVybiBzZXR1cFF1YWRXaXRo
T3B0aW9ucyhnbCwKKyAgICB7IGdyaWRSZXM6IGdyaWRSZXMsCisgICAgICBwb3NpdGlvbkxvY2F0
aW9uOiBvcHRfcG9zaXRpb25Mb2NhdGlvbiwKKyAgICAgIGZsaXBPZGRUcmlhbmdsZXM6IG9wdF9m
bGlwT2RkVHJpYW5nbGVzCisgICAgfSk7Cit9OworCisvKioKKyAqIENyZWF0ZXMgYSBxdWFkIHdp
dGggdmFyaW91cyBvcHRpb25zLgorICogQHBhcmFtIHshV2ViR0xDb250ZXh0fSBnbCBUaGUgV2Vi
R0xDb250ZXh0IHRvIHVzZS4KKyAqIEBwYXJhbSB7IU9iamVjdCkgb3B0aW9ucyBUaGUgb3B0aW9u
cy4gU2VlIGJlbG93LgorICogQHJldHVybiB7IUFycmF5LjxXZWJHTEJ1ZmZlcj59IFRoZSBjcmVh
dGVkIGJ1ZmZlcnMuCisgKiAgICAgW3Bvc2l0aW9ucywgPGNvbG9ycz4sIGluZGljZXNdCisgKgor
ICogT3B0aW9uczoKKyAqICAgZ3JpZFJlczogbnVtYmVyIG9mIHF1YWRzIGFjcm9zcyBhbmQgZG93
biBncmlkLgorICogICBwb3NpdGlvbkxvY2F0aW9uOiBhdHRyaWIgbG9jYXRpb24gZm9yIHBvc2l0
aW9uCisgKiAgIGZsaXBPZGRUcmlhbmdsZXM6IHJldmVyc2Ugb3JkZXIgb2YgdmVydGljZXMgb2Yg
ZXZlcnkgb3RoZXIKKyAqICAgICAgIHRyaWFuZ2xlCisgKiAgIHBvc2l0aW9uT2Zmc2V0OiBvZmZz
ZXQgYWRkZWQgdG8gZWFjaCB2ZXJ0ZXgKKyAqICAgcG9zaXRpb25NdWx0OiBtdWx0aXBpZXIgZm9y
IGVhY2ggdmVydGV4CisgKiAgIGNvbG9yTG9jYXRpb246IGF0dHJpYiBsb2NhdGlvbiBmb3IgdmVy
dGV4IGNvbG9ycy4gSWYKKyAqICAgICAgdW5kZWZpbmVkIG5vIHZlcnRleCBjb2xvcnMgd2lsbCBi
ZSBjcmVhdGVkLgorICovCit2YXIgc2V0dXBRdWFkV2l0aE9wdGlvbnMgPSBmdW5jdGlvbiAoZ2ws
IG9wdGlvbnMpIHsKKyAgdmFyIHBvc2l0aW9uTG9jYXRpb24gPSBvcHRpb25zLnBvc2l0aW9uTG9j
YXRpb24gfHwgMDsKKyAgdmFyIG9iamVjdHMgPSBbXTsKKworICB2YXIgZ3JpZFJlcyA9IG9wdGlv
bnMuZ3JpZFJlcyB8fCAxOworICB2YXIgcG9zaXRpb25PZmZzZXQgPSBvcHRpb25zLnBvc2l0aW9u
T2Zmc2V0IHx8IDA7CisgIHZhciBwb3NpdGlvbk11bHQgPSBvcHRpb25zLnBvc2l0aW9uTXVsdCB8
fCAxOworICB2YXIgdmVydHNBY3Jvc3MgPSBncmlkUmVzICsgMTsKKyAgdmFyIG51bVZlcnRzID0g
dmVydHNBY3Jvc3MgKiB2ZXJ0c0Fjcm9zczsKKyAgdmFyIHBvc2l0aW9ucyA9IG5ldyBGbG9hdDMy
QXJyYXkobnVtVmVydHMgKiAzKTsKKyAgdmFyIGluZGljZXMgPSBuZXcgVWludDE2QXJyYXkoNiAq
IGdyaWRSZXMgKiBncmlkUmVzKTsKKyAgdmFyIHBvZmZzZXQgPSAwOworCisgIGZvciAodmFyIHl5
ID0gMDsgeXkgPD0gZ3JpZFJlczsgKyt5eSkgeworICAgIGZvciAodmFyIHh4ID0gMDsgeHggPD0g
Z3JpZFJlczsgKyt4eCkgeworICAgICAgcG9zaXRpb25zW3BvZmZzZXQgKyAwXSA9ICgtMSArIDIg
KiB4eCAvIGdyaWRSZXMpICogcG9zaXRpb25NdWx0ICsgcG9zaXRpb25PZmZzZXQ7CisgICAgICBw
b3NpdGlvbnNbcG9mZnNldCArIDFdID0gKC0xICsgMiAqIHl5IC8gZ3JpZFJlcykgKiBwb3NpdGlv
bk11bHQgKyBwb3NpdGlvbk9mZnNldDsKKyAgICAgIHBvc2l0aW9uc1twb2Zmc2V0ICsgMl0gPSAw
OworCisgICAgICBwb2Zmc2V0ICs9IDM7CisgICAgfQorICB9CisKKyAgdmFyIGJ1ZiA9IGdsLmNy
ZWF0ZUJ1ZmZlcigpOworICBnbC5iaW5kQnVmZmVyKGdsLkFSUkFZX0JVRkZFUiwgYnVmKTsKKyAg
Z2wuYnVmZmVyRGF0YShnbC5BUlJBWV9CVUZGRVIsIHBvc2l0aW9ucywgZ2wuU1RBVElDX0RSQVcp
OworICBnbC5lbmFibGVWZXJ0ZXhBdHRyaWJBcnJheShwb3NpdGlvbkxvY2F0aW9uKTsKKyAgZ2wu
dmVydGV4QXR0cmliUG9pbnRlcihwb3NpdGlvbkxvY2F0aW9uLCAzLCBnbC5GTE9BVCwgZmFsc2Us
IDAsIDApOworICBvYmplY3RzLnB1c2goYnVmKTsKKworICBpZiAob3B0aW9ucy5jb2xvckxvY2F0
aW9uICE9PSB1bmRlZmluZWQpIHsKKyAgICB2YXIgY29sb3JzID0gbmV3IEZsb2F0MzJBcnJheShu
dW1WZXJ0cyAqIDQpOworICAgIGZvciAodmFyIHl5ID0gMDsgeXkgPD0gZ3JpZFJlczsgKyt5eSkg
eworICAgICAgZm9yICh2YXIgeHggPSAwOyB4eCA8PSBncmlkUmVzOyArK3h4KSB7CisgICAgICAg
IGlmIChvcHRpb25zLmNvbG9yICE9PSB1bmRlZmluZWQpIHsKKyAgICAgICAgICBjb2xvcnNbcG9m
ZnNldCArIDBdID0gb3B0aW9ucy5jb2xvclswXTsKKyAgICAgICAgICBjb2xvcnNbcG9mZnNldCAr
IDFdID0gb3B0aW9ucy5jb2xvclsxXTsKKyAgICAgICAgICBjb2xvcnNbcG9mZnNldCArIDJdID0g
b3B0aW9ucy5jb2xvclsyXTsKKyAgICAgICAgICBjb2xvcnNbcG9mZnNldCArIDNdID0gb3B0aW9u
cy5jb2xvclszXTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICBjb2xvcnNbcG9mZnNldCAr
IDBdID0geHggLyBncmlkUmVzOworICAgICAgICAgIGNvbG9yc1twb2Zmc2V0ICsgMV0gPSB5eSAv
IGdyaWRSZXM7CisgICAgICAgICAgY29sb3JzW3BvZmZzZXQgKyAyXSA9ICh4eCAvIGdyaWRSZXMp
ICogKHl5IC8gZ3JpZFJlcyk7CisgICAgICAgICAgY29sb3JzW3BvZmZzZXQgKyAzXSA9ICh5eSAl
IDIpICogMC41ICsgMC41OworICAgICAgICB9CisgICAgICAgIHBvZmZzZXQgKz0gNDsKKyAgICAg
IH0KKyAgICB9CisKKyAgICB2YXIgYnVmID0gZ2wuY3JlYXRlQnVmZmVyKCk7CisgICAgZ2wuYmlu
ZEJ1ZmZlcihnbC5BUlJBWV9CVUZGRVIsIGJ1Zik7CisgICAgZ2wuYnVmZmVyRGF0YShnbC5BUlJB
WV9CVUZGRVIsIGNvbG9ycywgZ2wuU1RBVElDX0RSQVcpOworICAgIGdsLmVuYWJsZVZlcnRleEF0
dHJpYkFycmF5KG9wdGlvbnMuY29sb3JMb2NhdGlvbik7CisgICAgZ2wudmVydGV4QXR0cmliUG9p
bnRlcihvcHRpb25zLmNvbG9yTG9jYXRpb24sIDQsIGdsLkZMT0FULCBmYWxzZSwgMCwgMCk7Cisg
ICAgb2JqZWN0cy5wdXNoKGJ1Zik7CisgIH0KKworICB2YXIgdGJhc2UgPSAwOworICBmb3IgKHZh
ciB5eSA9IDA7IHl5IDwgZ3JpZFJlczsgKyt5eSkgeworICAgIHZhciBpbmRleCA9IHl5ICogdmVy
dHNBY3Jvc3M7CisgICAgZm9yICh2YXIgeHggPSAwOyB4eCA8IGdyaWRSZXM7ICsreHgpIHsKKyAg
ICAgIGluZGljZXNbdGJhc2UgKyAwXSA9IGluZGV4ICsgMDsKKyAgICAgIGluZGljZXNbdGJhc2Ug
KyAxXSA9IGluZGV4ICsgMTsKKyAgICAgIGluZGljZXNbdGJhc2UgKyAyXSA9IGluZGV4ICsgdmVy
dHNBY3Jvc3M7CisgICAgICBpbmRpY2VzW3RiYXNlICsgM10gPSBpbmRleCArIHZlcnRzQWNyb3Nz
OworICAgICAgaW5kaWNlc1t0YmFzZSArIDRdID0gaW5kZXggKyAxOworICAgICAgaW5kaWNlc1t0
YmFzZSArIDVdID0gaW5kZXggKyB2ZXJ0c0Fjcm9zcyArIDE7CisKKyAgICAgIGlmIChvcHRpb25z
LmZsaXBPZGRUcmlhbmdsZXMpIHsKKyAgICAgICAgaW5kaWNlc1t0YmFzZSArIDRdID0gaW5kZXgg
KyB2ZXJ0c0Fjcm9zcyArIDE7CisgICAgICAgIGluZGljZXNbdGJhc2UgKyA1XSA9IGluZGV4ICsg
MTsKKyAgICAgIH0KKworICAgICAgaW5kZXggKz0gMTsKKyAgICAgIHRiYXNlICs9IDY7CisgICAg
fQorICB9CisKKyAgdmFyIGJ1ZiA9IGdsLmNyZWF0ZUJ1ZmZlcigpOworICBnbC5iaW5kQnVmZmVy
KGdsLkVMRU1FTlRfQVJSQVlfQlVGRkVSLCBidWYpOworICBnbC5idWZmZXJEYXRhKGdsLkVMRU1F
TlRfQVJSQVlfQlVGRkVSLCBpbmRpY2VzLCBnbC5TVEFUSUNfRFJBVyk7CisgIG9iamVjdHMucHVz
aChidWYpOworCisgIHJldHVybiBvYmplY3RzOworfTsKKworLyoqCisgKiBGaWxscyB0aGUgZ2l2
ZW4gdGV4dHVyZSB3aXRoIGEgc29saWQgY29sb3IKKyAqIEBwYXJhbSB7IVdlYkdMQ29udGV4dH0g
Z2wgVGhlIFdlYkdMQ29udGV4dCB0byB1c2UuCisgKiBAcGFyYW0geyFXZWJHTFRleHR1cmV9IHRl
eCBUaGUgdGV4dHVyZSB0byBmaWxsLgorICogQHBhcmFtIHtudW1iZXJ9IHdpZHRoIFRoZSB3aWR0
aCBvZiB0aGUgdGV4dHVyZSB0byBjcmVhdGUuCisgKiBAcGFyYW0ge251bWJlcn0gaGVpZ2h0IFRo
ZSBoZWlnaHQgb2YgdGhlIHRleHR1cmUgdG8gY3JlYXRlLgorICogQHBhcmFtIHshQXJyYXkuPG51
bWJlcj59IGNvbG9yIFRoZSBjb2xvciB0byBmaWxsIHdpdGguIEEgNCBlbGVtZW50IGFycmF5Cisg
KiAgICAgICAgd2hlcmUgZWFjaCBlbGVtZW50IGlzIGluIHRoZSByYW5nZSAwIHRvIDI1NS4KKyAq
IEBwYXJhbSB7bnVtYmVyfSBvcHRfbGV2ZWwgVGhlIGxldmVsIG9mIHRoZSB0ZXh0dXJlIHRvIGZp
bGwuIERlZmF1bHQgPSAwLgorICovCit2YXIgZmlsbFRleHR1cmUgPSBmdW5jdGlvbihnbCwgdGV4
LCB3aWR0aCwgaGVpZ2h0LCBjb2xvciwgb3B0X2xldmVsKSB7CisgIG9wdF9sZXZlbCA9IG9wdF9s
ZXZlbCB8fCAwOworICB2YXIgbnVtUGl4ZWxzID0gd2lkdGggKiBoZWlnaHQ7CisgIHZhciBzaXpl
ID0gbnVtUGl4ZWxzICogNDsKKyAgdmFyIGJ1ZiA9IG5ldyBVaW50OEFycmF5KHNpemUpOworICBm
b3IgKHZhciBpaSA9IDA7IGlpIDwgbnVtUGl4ZWxzOyArK2lpKSB7CisgICAgdmFyIG9mZiA9IGlp
ICogNDsKKyAgICBidWZbb2ZmICsgMF0gPSBjb2xvclswXTsKKyAgICBidWZbb2ZmICsgMV0gPSBj
b2xvclsxXTsKKyAgICBidWZbb2ZmICsgMl0gPSBjb2xvclsyXTsKKyAgICBidWZbb2ZmICsgM10g
PSBjb2xvclszXTsKKyAgfQorICBnbC5iaW5kVGV4dHVyZShnbC5URVhUVVJFXzJELCB0ZXgpOwor
ICBnbC50ZXhJbWFnZTJEKAorICAgICAgZ2wuVEVYVFVSRV8yRCwgb3B0X2xldmVsLCBnbC5SR0JB
LCB3aWR0aCwgaGVpZ2h0LCAwLAorICAgICAgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgYnVm
KTsKKyAgfTsKKworLyoqCisgKiBDcmVhdGVzIGEgdGV4dHVyZXMgYW5kIGZpbGxzIGl0IHdpdGgg
YSBzb2xpZCBjb2xvcgorICogQHBhcmFtIHshV2ViR0xDb250ZXh0fSBnbCBUaGUgV2ViR0xDb250
ZXh0IHRvIHVzZS4KKyAqIEBwYXJhbSB7bnVtYmVyfSB3aWR0aCBUaGUgd2lkdGggb2YgdGhlIHRl
eHR1cmUgdG8gY3JlYXRlLgorICogQHBhcmFtIHtudW1iZXJ9IGhlaWdodCBUaGUgaGVpZ2h0IG9m
IHRoZSB0ZXh0dXJlIHRvIGNyZWF0ZS4KKyAqIEBwYXJhbSB7IUFycmF5LjxudW1iZXI+fSBjb2xv
ciBUaGUgY29sb3IgdG8gZmlsbCB3aXRoLiBBIDQgZWxlbWVudCBhcnJheQorICogICAgICAgIHdo
ZXJlIGVhY2ggZWxlbWVudCBpcyBpbiB0aGUgcmFuZ2UgMCB0byAyNTUuCisgKiBAcmV0dXJuIHsh
V2ViR0xUZXh0dXJlfQorICovCit2YXIgY3JlYXRlQ29sb3JlZFRleHR1cmUgPSBmdW5jdGlvbihn
bCwgd2lkdGgsIGhlaWdodCwgY29sb3IpIHsKKyAgdmFyIHRleCA9IGdsLmNyZWF0ZVRleHR1cmUo
KTsKKyAgZmlsbFRleHR1cmUoZ2wsIHRleCwgd2lkdGgsIGhlaWdodCwgY29sb3IpOworICByZXR1
cm4gdGV4OworfTsKKwordmFyIHVieXRlVG9GbG9hdCA9IGZ1bmN0aW9uKGMpIHsKKyAgcmV0dXJu
IGMgLyAyNTU7Cit9OworCit2YXIgdWJ5dGVDb2xvclRvRmxvYXRDb2xvciA9IGZ1bmN0aW9uKGNv
bG9yKSB7CisgIHZhciBmbG9hdENvbG9yID0gW107CisgIGZvciAodmFyIGlpID0gMDsgaWkgPCBj
b2xvci5sZW5ndGg7ICsraWkpIHsKKyAgICBmbG9hdENvbG9yW2lpXSA9IHVieXRlVG9GbG9hdChj
b2xvcltpaV0pOworICB9CisgIHJldHVybiBmbG9hdENvbG9yOworfTsKKworLyoqCisgKiBTZXRz
IHRoZSAidV9jb2xvciIgdW5pZm9ybSBvZiB0aGUgY3VycmVudCBwcm9ncmFtIHRvIGNvbG9yLgor
ICogQHBhcmFtIHshV2ViR0xDb250ZXh0fSBnbCBUaGUgV2ViR0xDb250ZXh0IHRvIHVzZS4KKyAq
IEBwYXJhbSB7IUFycmF5LjxudW1iZXI+IGNvbG9yIDQgZWxlbWVudCBhcnJheSBvZiAwLTEgY29s
b3IKKyAqICAgICAgY29tcG9uZW50cy4KKyAqLwordmFyIHNldEZsb2F0RHJhd0NvbG9yID0gZnVu
Y3Rpb24oZ2wsIGNvbG9yKSB7CisgIHZhciBwcm9ncmFtID0gZ2wuZ2V0UGFyYW1ldGVyKGdsLkNV
UlJFTlRfUFJPR1JBTSk7CisgIHZhciBjb2xvckxvY2F0aW9uID0gZ2wuZ2V0VW5pZm9ybUxvY2F0
aW9uKHByb2dyYW0sICJ1X2NvbG9yIik7CisgIGdsLnVuaWZvcm00ZnYoY29sb3JMb2NhdGlvbiwg
Y29sb3IpOworfTsKKworLyoqCisgKiBTZXRzIHRoZSAidV9jb2xvciIgdW5pZm9ybSBvZiB0aGUg
Y3VycmVudCBwcm9ncmFtIHRvIGNvbG9yLgorICogQHBhcmFtIHshV2ViR0xDb250ZXh0fSBnbCBU
aGUgV2ViR0xDb250ZXh0IHRvIHVzZS4KKyAqIEBwYXJhbSB7IUFycmF5LjxudW1iZXI+IGNvbG9y
IDQgZWxlbWVudCBhcnJheSBvZiAwLTI1NSBjb2xvcgorICogICAgICBjb21wb25lbnRzLgorICov
Cit2YXIgc2V0VUJ5dGVEcmF3Q29sb3IgPSBmdW5jdGlvbihnbCwgY29sb3IpIHsKKyAgc2V0Rmxv
YXREcmF3Q29sb3IoZ2wsIHVieXRlQ29sb3JUb0Zsb2F0Q29sb3IoY29sb3IpKTsKK307CisKKy8q
KgorICogRHJhd3MgYSBwcmV2aW91c2x5IHNldHVwIHF1YWQgaW4gdGhlIGdpdmVuIGNvbG9yLgor
ICogQHBhcmFtIHshV2ViR0xDb250ZXh0fSBnbCBUaGUgV2ViR0xDb250ZXh0IHRvIHVzZS4KKyAq
IEBwYXJhbSB7IUFycmF5LjxudW1iZXI+fSBjb2xvciBUaGUgY29sb3IgdG8gZHJhdyB3aXRoLiBB
IDQKKyAqICAgICAgICBlbGVtZW50IGFycmF5IHdoZXJlIGVhY2ggZWxlbWVudCBpcyBpbiB0aGUg
cmFuZ2UgMCB0bworICogICAgICAgIDEuCisgKi8KK3ZhciBkcmF3RmxvYXRDb2xvclF1YWQgPSBm
dW5jdGlvbihnbCwgY29sb3IpIHsKKyAgdmFyIHByb2dyYW0gPSBnbC5nZXRQYXJhbWV0ZXIoZ2wu
Q1VSUkVOVF9QUk9HUkFNKTsKKyAgdmFyIGNvbG9yTG9jYXRpb24gPSBnbC5nZXRVbmlmb3JtTG9j
YXRpb24ocHJvZ3JhbSwgInVfY29sb3IiKTsKKyAgZ2wudW5pZm9ybTRmdihjb2xvckxvY2F0aW9u
LCBjb2xvcik7CisgIGdsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCAwLCA2KTsKK307CisKKwor
LyoqCisgKiBEcmF3cyBhIHByZXZpb3VzbHkgc2V0dXAgcXVhZCBpbiB0aGUgZ2l2ZW4gY29sb3Iu
CisgKiBAcGFyYW0geyFXZWJHTENvbnRleHR9IGdsIFRoZSBXZWJHTENvbnRleHQgdG8gdXNlLgor
ICogQHBhcmFtIHshQXJyYXkuPG51bWJlcj59IGNvbG9yIFRoZSBjb2xvciB0byBkcmF3IHdpdGgu
IEEgNAorICogICAgICAgIGVsZW1lbnQgYXJyYXkgd2hlcmUgZWFjaCBlbGVtZW50IGlzIGluIHRo
ZSByYW5nZSAwIHRvCisgKiAgICAgICAgMjU1LgorICovCit2YXIgZHJhd1VCeXRlQ29sb3JRdWFk
ID0gZnVuY3Rpb24oZ2wsIGNvbG9yKSB7CisgIGRyYXdGbG9hdENvbG9yUXVhZChnbCwgdWJ5dGVD
b2xvclRvRmxvYXRDb2xvcihjb2xvcikpOworfTsKKworLyoqCisgKiBEcmF3cyBhIHByZXZpb3Vz
bHkgc2V0dXAgcXVhZC4KKyAqIEBwYXJhbSB7IVdlYkdMQ29udGV4dH0gZ2wgVGhlIFdlYkdMQ29u
dGV4dCB0byB1c2UuCisgKiBAcGFyYW0geyFBcnJheS48bnVtYmVyPn0gb3B0X2NvbG9yIFRoZSBj
b2xvciB0byBmaWxsIGNsZWFyIHdpdGggYmVmb3JlCisgKiAgICAgICAgZHJhd2luZy4gQSA0IGVs
ZW1lbnQgYXJyYXkgd2hlcmUgZWFjaCBlbGVtZW50IGlzIGluIHRoZSByYW5nZSAwIHRvCisgKiAg
ICAgICAgMjU1LiBEZWZhdWx0IFsyNTUsIDI1NSwgMjU1LCAyNTVdCisgKi8KK3ZhciBkcmF3UXVh
ZCA9IGZ1bmN0aW9uKGdsLCBvcHRfY29sb3IpIHsKKyAgb3B0X2NvbG9yID0gb3B0X2NvbG9yIHx8
IFsyNTUsIDI1NSwgMjU1LCAyNTVdOworICBnbC5jbGVhckNvbG9yKAorICAgICAgb3B0X2NvbG9y
WzBdIC8gMjU1LAorICAgICAgb3B0X2NvbG9yWzFdIC8gMjU1LAorICAgICAgb3B0X2NvbG9yWzJd
IC8gMjU1LAorICAgICAgb3B0X2NvbG9yWzNdIC8gMjU1KTsKKyAgZ2wuY2xlYXIoZ2wuQ09MT1Jf
QlVGRkVSX0JJVCB8IGdsLkRFUFRIX0JVRkZFUl9CSVQpOworICBnbC5kcmF3QXJyYXlzKGdsLlRS
SUFOR0xFUywgMCwgNik7Cit9OworCisvKioKKyAqIERyYXdzIGEgcHJldmlvdXNseSBzZXR1cCBx
dWFkLgorICogQHBhcmFtIHshV2ViR0xDb250ZXh0fSBnbCBUaGUgV2ViR0xDb250ZXh0IHRvIHVz
ZS4KKyAqIEBwYXJhbSB7bnVtYmVyfSBncmlkUmVzIFJlc29sdXRpb24gb2YgZ3JpZC4KKyAqIEBw
YXJhbSB7IUFycmF5LjxudW1iZXI+fSBvcHRfY29sb3IgVGhlIGNvbG9yIHRvIGZpbGwgY2xlYXIg
d2l0aCBiZWZvcmUKKyAqICAgICAgICBkcmF3aW5nLiBBIDQgZWxlbWVudCBhcnJheSB3aGVyZSBl
YWNoIGVsZW1lbnQgaXMgaW4gdGhlIHJhbmdlIDAgdG8KKyAqICAgICAgICAyNTUuIERlZmF1bHQg
WzI1NSwgMjU1LCAyNTUsIDI1NV0KKyAqLwordmFyIGRyYXdJbmRleGVkUXVhZCA9IGZ1bmN0aW9u
KGdsLCBncmlkUmVzLCBvcHRfY29sb3IpIHsKKyAgb3B0X2NvbG9yID0gb3B0X2NvbG9yIHx8IFsy
NTUsIDI1NSwgMjU1LCAyNTVdOworICBnbC5jbGVhckNvbG9yKAorICAgICAgb3B0X2NvbG9yWzBd
IC8gMjU1LAorICAgICAgb3B0X2NvbG9yWzFdIC8gMjU1LAorICAgICAgb3B0X2NvbG9yWzJdIC8g
MjU1LAorICAgICAgb3B0X2NvbG9yWzNdIC8gMjU1KTsKKyAgZ2wuY2xlYXIoZ2wuQ09MT1JfQlVG
RkVSX0JJVCB8IGdsLkRFUFRIX0JVRkZFUl9CSVQpOworICBnbC5kcmF3RWxlbWVudHMoZ2wuVFJJ
QU5HTEVTLCBncmlkUmVzICogNiwgZ2wuVU5TSUdORURfU0hPUlQsIDApOworfTsKKworLyoqCisg
KiBDaGVja3MgdGhhdCBhIHBvcnRpb24gb2YgYSBjYW52YXMgaXMgMSBjb2xvci4KKyAqIEBwYXJh
bSB7IVdlYkdMQ29udGV4dH0gZ2wgVGhlIFdlYkdMQ29udGV4dCB0byB1c2UuCisgKiBAcGFyYW0g
e251bWJlcn0geCBsZWZ0IGNvcm5lciBvZiByZWdpb24gdG8gY2hlY2suCisgKiBAcGFyYW0ge251
bWJlcn0geSBib3R0b20gY29ybmVyIG9mIHJlZ2lvbiB0byBjaGVjay4KKyAqIEBwYXJhbSB7bnVt
YmVyfSB3aWR0aCB3aWR0aCBvZiByZWdpb24gdG8gY2hlY2suCisgKiBAcGFyYW0ge251bWJlcn0g
aGVpZ2h0IHdpZHRoIG9mIHJlZ2lvbiB0byBjaGVjay4KKyAqIEBwYXJhbSB7IUFycmF5LjxudW1i
ZXI+fSBjb2xvciBUaGUgY29sb3IgdG8gZmlsbCBjbGVhciB3aXRoIGJlZm9yZSBkcmF3aW5nLiBB
CisgKiAgICAgICAgNCBlbGVtZW50IGFycmF5IHdoZXJlIGVhY2ggZWxlbWVudCBpcyBpbiB0aGUg
cmFuZ2UgMCB0byAyNTUuCisgKiBAcGFyYW0ge251bWJlcn0gb3B0X2Vycm9yUmFuZ2UgT3B0aW9u
YWwuIEFjY2VwdGFibGUgZXJyb3IgaW4KKyAqICAgICAgICBjb2xvciBjaGVja2luZy4gMCBieSBk
ZWZhdWx0LgorICogQHBhcmFtIHshZnVuY3Rpb24oKX0gc2FtZUZuIEZ1bmN0aW9uIHRvIGNhbGwg
aWYgYWxsIHBpeGVscworICogICAgICAgIGFyZSB0aGUgc2FtZSBhcyBjb2xvci4KKyAqIEBwYXJh
bSB7IWZ1bmN0aW9uKCl9IGRpZmZlcmVudEZuIEZ1bmN0aW9uIHRvIGNhbGwgaWYgYSBwaXhlbAor
ICogICAgICAgIGlzIGRpZmZlcmVudCB0aGFuIGNvbG9yCisgKiBAcGFyYW0geyFmdW5jdGlvbigp
fSBsb2dGbiBGdW5jdGlvbiB0byBjYWxsIGZvciBsb2dnaW5nLgorICovCit2YXIgY2hlY2tDYW52
YXNSZWN0Q29sb3IgPSBmdW5jdGlvbihnbCwgeCwgeSwgd2lkdGgsIGhlaWdodCwgY29sb3IsIG9w
dF9lcnJvclJhbmdlLCBzYW1lRm4sIGRpZmZlcmVudEZuLCBsb2dGbikgeworICB2YXIgZXJyb3JS
YW5nZSA9IG9wdF9lcnJvclJhbmdlIHx8IDA7CisgIGlmICghZXJyb3JSYW5nZS5sZW5ndGgpIHsK
KyAgICBlcnJvclJhbmdlID0gW2Vycm9yUmFuZ2UsIGVycm9yUmFuZ2UsIGVycm9yUmFuZ2UsIGVy
cm9yUmFuZ2VdCisgIH0KKyAgdmFyIGJ1ZjsKKyAgaWYgKGdsIGluc3RhbmNlb2YgV2ViR0xSZW5k
ZXJpbmdDb250ZXh0KSB7CisgICAgYnVmID0gbmV3IFVpbnQ4QXJyYXkod2lkdGggKiBoZWlnaHQg
KiA0KTsKKyAgICBnbC5yZWFkUGl4ZWxzKHgsIHksIHdpZHRoLCBoZWlnaHQsIGdsLlJHQkEsIGds
LlVOU0lHTkVEX0JZVEUsIGJ1Zik7CisgIH0gZWxzZSB7CisgICAgYnVmID0gZ2wuZ2V0SW1hZ2VE
YXRhKHgsIHksIHdpZHRoLCBoZWlnaHQpLmRhdGE7CisgIH0KKyAgZm9yICh2YXIgaSA9IDA7IGkg
PCB3aWR0aCAqIGhlaWdodDsgKytpKSB7CisgICAgdmFyIG9mZnNldCA9IGkgKiA0OworICAgIGZv
ciAodmFyIGogPSAwOyBqIDwgY29sb3IubGVuZ3RoOyArK2opIHsKKyAgICAgIGlmIChNYXRoLmFi
cyhidWZbb2Zmc2V0ICsgal0gLSBjb2xvcltqXSkgPiBlcnJvclJhbmdlW2pdKSB7CisgICAgICAg
IGRpZmZlcmVudEZuKCk7CisgICAgICAgIHZhciB3YXMgPSBidWZbb2Zmc2V0ICsgMF0udG9TdHJp
bmcoKTsKKyAgICAgICAgZm9yIChqID0gMTsgaiA8IGNvbG9yLmxlbmd0aDsgKytqKSB7CisgICAg
ICAgICAgd2FzICs9ICIsIiArIGJ1ZltvZmZzZXQgKyBqXTsKKyAgICAgICAgfQorICAgICAgICBs
b2dGbignYXQgKCcgKyAoaSAlIHdpZHRoKSArICcsICcgKyBNYXRoLmZsb29yKGkgLyB3aWR0aCkg
KworICAgICAgICAgICAgICAnKSBleHBlY3RlZDogJyArIGNvbG9yICsgJyB3YXMgJyArIHdhcyk7
CisgICAgICAgIHJldHVybjsKKyAgICAgIH0KKyAgICB9CisgIH0KKyAgc2FtZUZuKCk7Cit9Owor
CisvKioKKyAqIENoZWNrcyB0aGF0IGEgcG9ydGlvbiBvZiBhIGNhbnZhcyBpcyAxIGNvbG9yLgor
ICogQHBhcmFtIHshV2ViR0xDb250ZXh0fSBnbCBUaGUgV2ViR0xDb250ZXh0IHRvIHVzZS4KKyAq
IEBwYXJhbSB7bnVtYmVyfSB4IGxlZnQgY29ybmVyIG9mIHJlZ2lvbiB0byBjaGVjay4KKyAqIEBw
YXJhbSB7bnVtYmVyfSB5IGJvdHRvbSBjb3JuZXIgb2YgcmVnaW9uIHRvIGNoZWNrLgorICogQHBh
cmFtIHtudW1iZXJ9IHdpZHRoIHdpZHRoIG9mIHJlZ2lvbiB0byBjaGVjay4KKyAqIEBwYXJhbSB7
bnVtYmVyfSBoZWlnaHQgd2lkdGggb2YgcmVnaW9uIHRvIGNoZWNrLgorICogQHBhcmFtIHshQXJy
YXkuPG51bWJlcj59IGNvbG9yIFRoZSBjb2xvciB0byBmaWxsIGNsZWFyIHdpdGggYmVmb3JlIGRy
YXdpbmcuIEEKKyAqICAgICAgICA0IGVsZW1lbnQgYXJyYXkgd2hlcmUgZWFjaCBlbGVtZW50IGlz
IGluIHRoZSByYW5nZSAwIHRvIDI1NS4KKyAqIEBwYXJhbSB7c3RyaW5nfSBvcHRfbXNnIE1lc3Nh
Z2UgdG8gYXNzb2NpYXRlIHdpdGggc3VjY2Vzcy4gRWcKKyAqICAgICAgICAoInNob3VsZCBiZSBy
ZWQiKS4KKyAqIEBwYXJhbSB7bnVtYmVyfSBvcHRfZXJyb3JSYW5nZSBPcHRpb25hbC4gQWNjZXB0
YWJsZSBlcnJvciBpbgorICogICAgICAgIGNvbG9yIGNoZWNraW5nLiAwIGJ5IGRlZmF1bHQuCisg
Ki8KK3ZhciBjaGVja0NhbnZhc1JlY3QgPSBmdW5jdGlvbihnbCwgeCwgeSwgd2lkdGgsIGhlaWdo
dCwgY29sb3IsIG9wdF9tc2csIG9wdF9lcnJvclJhbmdlKSB7CisgIHZhciBtc2cgPSBvcHRfbXNn
OworICBpZiAobXNnID09PSB1bmRlZmluZWQpIHsKKyAgICBtc2cgPSAic2hvdWxkIGJlICIgKyBj
b2xvci50b1N0cmluZygpOworICB9CisgIGNoZWNrQ2FudmFzUmVjdENvbG9yKAorICAgICAgZ2ws
IHgsIHksIHdpZHRoLCBoZWlnaHQsIGNvbG9yLCBvcHRfZXJyb3JSYW5nZSwKKyAgICAgIGZ1bmN0
aW9uKCkgeworICAgICAgICB0ZXN0UGFzc2VkKG1zZyk7CisgICAgICB9LAorICAgICAgZnVuY3Rp
b24oKSB7CisgICAgICAgIHRlc3RGYWlsZWQobXNnKTsKKyAgICAgIH0sCisgICAgICBkZWJ1Zyk7
Cit9OworCisvKioKKyAqIENoZWNrcyB0aGF0IGFuIGVudGlyZSBjYW52YXMgaXMgMSBjb2xvci4K
KyAqIEBwYXJhbSB7IVdlYkdMQ29udGV4dH0gZ2wgVGhlIFdlYkdMQ29udGV4dCB0byB1c2UuCisg
KiBAcGFyYW0geyFBcnJheS48bnVtYmVyPn0gY29sb3IgVGhlIGNvbG9yIHRvIGZpbGwgY2xlYXIg
d2l0aCBiZWZvcmUgZHJhd2luZy4gQQorICogICAgICAgIDQgZWxlbWVudCBhcnJheSB3aGVyZSBl
YWNoIGVsZW1lbnQgaXMgaW4gdGhlIHJhbmdlIDAgdG8gMjU1LgorICogQHBhcmFtIHtzdHJpbmd9
IG1zZyBNZXNzYWdlIHRvIGFzc29jaWF0ZSB3aXRoIHN1Y2Nlc3MuIEVnICgic2hvdWxkIGJlIHJl
ZCIpLgorICogQHBhcmFtIHtudW1iZXJ9IGVycm9yUmFuZ2UgT3B0aW9uYWwuIEFjY2VwdGFibGUg
ZXJyb3IgaW4KKyAqICAgICAgICBjb2xvciBjaGVja2luZy4gMCBieSBkZWZhdWx0LgorICovCit2
YXIgY2hlY2tDYW52YXMgPSBmdW5jdGlvbihnbCwgY29sb3IsIG1zZywgZXJyb3JSYW5nZSkgewor
ICBjaGVja0NhbnZhc1JlY3QoZ2wsIDAsIDAsIGdsLmNhbnZhcy53aWR0aCwgZ2wuY2FudmFzLmhl
aWdodCwgY29sb3IsIG1zZywgZXJyb3JSYW5nZSk7Cit9OworCisvKioKKyAqIExvYWRzIGEgdGV4
dHVyZSwgY2FsbHMgY2FsbGJhY2sgd2hlbiBmaW5pc2hlZC4KKyAqIEBwYXJhbSB7IVdlYkdMQ29u
dGV4dH0gZ2wgVGhlIFdlYkdMQ29udGV4dCB0byB1c2UuCisgKiBAcGFyYW0ge3N0cmluZ30gdXJs
IFVSTCBvZiBpbWFnZSB0byBsb2FkCisgKiBAcGFyYW0ge2Z1bmN0aW9uKCFJbWFnZSk6IHZvaWR9
IGNhbGxiYWNrIEZ1bmN0aW9uIHRoYXQgZ2V0cyBjYWxsZWQgYWZ0ZXIKKyAqICAgICAgICBpbWFn
ZSBoYXMgbG9hZGVkCisgKiBAcmV0dXJuIHshV2ViR0xUZXh0dXJlfSBUaGUgY3JlYXRlZCB0ZXh0
dXJlLgorICovCit2YXIgbG9hZFRleHR1cmUgPSBmdW5jdGlvbihnbCwgdXJsLCBjYWxsYmFjaykg
eworICAgIHZhciB0ZXh0dXJlID0gZ2wuY3JlYXRlVGV4dHVyZSgpOworICAgIGdsLmJpbmRUZXh0
dXJlKGdsLlRFWFRVUkVfMkQsIHRleHR1cmUpOworICAgIGdsLnRleFBhcmFtZXRlcmkoZ2wuVEVY
VFVSRV8yRCwgZ2wuVEVYVFVSRV9NSU5fRklMVEVSLCBnbC5ORUFSRVNUKTsKKyAgICBnbC50ZXhQ
YXJhbWV0ZXJpKGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRVUkVfTUFHX0ZJTFRFUiwgZ2wuTkVBUkVT
VCk7CisgICAgdmFyIGltYWdlID0gbmV3IEltYWdlKCk7CisgICAgaW1hZ2Uub25sb2FkID0gZnVu
Y3Rpb24oKSB7CisgICAgICAgIGdsLmJpbmRUZXh0dXJlKGdsLlRFWFRVUkVfMkQsIHRleHR1cmUp
OworICAgICAgICBnbC5waXhlbFN0b3JlaShnbC5VTlBBQ0tfRkxJUF9ZX1dFQkdMLCB0cnVlKTsK
KyAgICAgICAgZ2wudGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBnbC5SR0JBLCBnbC5SR0JB
LCBnbC5VTlNJR05FRF9CWVRFLCBpbWFnZSk7CisgICAgICAgIGNhbGxiYWNrKGltYWdlKTsKKyAg
ICB9OworICAgIGltYWdlLnNyYyA9IHVybDsKKyAgICByZXR1cm4gdGV4dHVyZTsKK307CisKKy8q
KgorICogTWFrZXMgYSBzaGFsbG93IGNvcHkgb2YgYW4gb2JqZWN0LgorICogQHBhcmFtIHshT2Jq
ZWN0KSBzcmMgT2JqZWN0IHRvIGNvcHkKKyAqIEByZXR1cm4geyFPYmplY3R9IFRoZSBjb3B5IG9m
IHNyYy4KKyAqLwordmFyIHNoYWxsb3dDb3B5T2JqZWN0ID0gZnVuY3Rpb24oc3JjKSB7CisgIHZh
ciBkc3QgPSB7fTsKKyAgZm9yICh2YXIgYXR0ciBpbiBzcmMpIHsKKyAgICBpZiAoc3JjLmhhc093
blByb3BlcnR5KGF0dHIpKSB7CisgICAgICBkc3RbYXR0cl0gPSBzcmNbYXR0cl07CisgICAgfQor
ICB9CisgIHJldHVybiBkc3Q7Cit9OworCisvKioKKyAqIENoZWNrcyBpZiBhbiBhdHRyaWJ1dGUg
ZXhpc3RzIG9uIGFuIG9iamVjdCBjYXNlIGluc2Vuc2l0aXZlLgorICogQHBhcmFtIHshT2JqZWN0
KSBvYmogT2JqZWN0IHRvIGNoZWNrCisgKiBAcGFyYW0ge3N0cmluZ30gYXR0ciBOYW1lIG9mIGF0
dHJpYnV0ZSB0byBsb29rIGZvci4KKyAqIEByZXR1cm4ge3N0cmluZz99IFRoZSBuYW1lIG9mIHRo
ZSBhdHRyaWJ1dGUgaWYgaXQgZXhpc3RzLAorICogICAgICAgICB1bmRlZmluZWQgaWYgbm90Lgor
ICovCit2YXIgaGFzQXR0cmlidXRlQ2FzZUluc2Vuc2l0aXZlID0gZnVuY3Rpb24ob2JqLCBhdHRy
KSB7CisgIHZhciBsb3dlciA9IGF0dHIudG9Mb3dlckNhc2UoKTsKKyAgZm9yICh2YXIga2V5IGlu
IG9iaikgeworICAgIGlmIChvYmouaGFzT3duUHJvcGVydHkoa2V5KSAmJiBrZXkudG9Mb3dlckNh
c2UoKSA9PSBsb3dlcikgeworICAgICAgcmV0dXJuIGtleTsKKyAgICB9CisgIH0KK307CisKKy8q
KgorICogQ3JlYXRlcyBhIHdlYmdsIGNvbnRleHQuCisgKiBAcGFyYW0geyFDYW52YXN8c3RyaW5n
fSBvcHRfY2FudmFzIFRoZSBjYW52YXMgdGFnIHRvIGdldAorICogICAgIGNvbnRleHQgZnJvbS4g
SWYgb25lIGlzIG5vdCBwYXNzZWQgaW4gb25lIHdpbGwgYmUKKyAqICAgICBjcmVhdGVkLiBJZiBp
dCdzIGEgc3RyaW5nIGl0J3MgYXNzdW1lZCB0byBiZSB0aGUgaWQgb2YgYQorICogICAgIGNhbnZh
cy4KKyAqIEByZXR1cm4geyFXZWJHTENvbnRleHR9IFRoZSBjcmVhdGVkIGNvbnRleHQuCisgKi8K
K3ZhciBjcmVhdGUzRENvbnRleHQgPSBmdW5jdGlvbihvcHRfY2FudmFzLCBvcHRfYXR0cmlidXRl
cykgeworICBpZiAod2luZG93LmluaXRUZXN0aW5nSGFybmVzcykgeworICAgIHdpbmRvdy5pbml0
VGVzdGluZ0hhcm5lc3MoKTsKKyAgfQorICB2YXIgYXR0cmlidXRlcyA9IHNoYWxsb3dDb3B5T2Jq
ZWN0KG9wdF9hdHRyaWJ1dGVzIHx8IHt9KTsKKyAgaWYgKCFoYXNBdHRyaWJ1dGVDYXNlSW5zZW5z
aXRpdmUoYXR0cmlidXRlcywgImFudGlhbGlhcyIpKSB7CisgICAgYXR0cmlidXRlcy5hbnRpYWxp
YXMgPSBmYWxzZTsKKyAgfQorCisgIG9wdF9jYW52YXMgPSBvcHRfY2FudmFzIHx8IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoImNhbnZhcyIpOworICBpZiAodHlwZW9mIG9wdF9jYW52YXMgPT0gJ3N0
cmluZycpIHsKKyAgICBvcHRfY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQob3B0X2Nh
bnZhcyk7CisgIH0KKyAgdmFyIGNvbnRleHQgPSBudWxsOworICB2YXIgbmFtZXMgPSBbIndlYmds
IiwgImV4cGVyaW1lbnRhbC13ZWJnbCJdOworICBmb3IgKHZhciBpID0gMDsgaSA8IG5hbWVzLmxl
bmd0aDsgKytpKSB7CisgICAgdHJ5IHsKKyAgICAgIGNvbnRleHQgPSBvcHRfY2FudmFzLmdldENv
bnRleHQobmFtZXNbaV0sIGF0dHJpYnV0ZXMpOworICAgIH0gY2F0Y2ggKGUpIHsKKyAgICB9Cisg
ICAgaWYgKGNvbnRleHQpIHsKKyAgICAgIGJyZWFrOworICAgIH0KKyAgfQorICBpZiAoIWNvbnRl
eHQpIHsKKyAgICB0ZXN0RmFpbGVkKCJVbmFibGUgdG8gZmV0Y2ggV2ViR0wgcmVuZGVyaW5nIGNv
bnRleHQgZm9yIENhbnZhcyIpOworICB9CisgIHJldHVybiBjb250ZXh0OworfQorCisvKioKKyAq
IEdldHMgYSBHTEVycm9yIHZhbHVlIGFzIGEgc3RyaW5nLgorICogQHBhcmFtIHshV2ViR0xDb250
ZXh0fSBnbCBUaGUgV2ViR0xDb250ZXh0IHRvIHVzZS4KKyAqIEBwYXJhbSB7bnVtYmVyfSBlcnIg
VGhlIHdlYmdsIGVycm9yIGFzIHJldHJpZXZlZCBmcm9tIGdsLmdldEVycm9yKCkuCisgKiBAcmV0
dXJuIHtzdHJpbmd9IHRoZSBlcnJvciBhcyBhIHN0cmluZy4KKyAqLwordmFyIGdldEdMRXJyb3JB
c1N0cmluZyA9IGZ1bmN0aW9uKGdsLCBlcnIpIHsKKyAgaWYgKGVyciA9PT0gZ2wuTk9fRVJST1Ip
IHsKKyAgICByZXR1cm4gIk5PX0VSUk9SIjsKKyAgfQorICBmb3IgKHZhciBuYW1lIGluIGdsKSB7
CisgICAgaWYgKGdsW25hbWVdID09PSBlcnIpIHsKKyAgICAgIHJldHVybiBuYW1lOworICAgIH0K
KyAgfQorICByZXR1cm4gZXJyLnRvU3RyaW5nKCk7Cit9OworCisvKioKKyAqIFdyYXBzIGEgV2Vi
R0wgZnVuY3Rpb24gd2l0aCBhIGZ1bmN0aW9uIHRoYXQgdGhyb3dzIGFuIGV4Y2VwdGlvbiBpZiB0
aGVyZSBpcworICogYW4gZXJyb3IuCisgKiBAcGFyYW0geyFXZWJHTENvbnRleHR9IGdsIFRoZSBX
ZWJHTENvbnRleHQgdG8gdXNlLgorICogQHBhcmFtIHtzdHJpbmd9IGZuYW1lIE5hbWUgb2YgZnVu
Y3Rpb24gdG8gd3JhcC4KKyAqIEByZXR1cm4ge2Z1bmN0aW9ufSBUaGUgd3JhcHBlZCBmdW5jdGlv
bi4KKyAqLwordmFyIGNyZWF0ZUdMRXJyb3JXcmFwcGVyID0gZnVuY3Rpb24oY29udGV4dCwgZm5h
bWUpIHsKKyAgcmV0dXJuIGZ1bmN0aW9uKCkgeworICAgIHZhciBydiA9IGNvbnRleHRbZm5hbWVd
LmFwcGx5KGNvbnRleHQsIGFyZ3VtZW50cyk7CisgICAgdmFyIGVyciA9IGNvbnRleHQuZ2V0RXJy
b3IoKTsKKyAgICBpZiAoZXJyICE9IGNvbnRleHQuTk9fRVJST1IpCisgICAgICB0aHJvdyAiR0wg
ZXJyb3IgIiArIGdldEdMRXJyb3JBc1N0cmluZyhjb250ZXh0LCBlcnIpICsgIiBpbiAiICsgZm5h
bWU7CisgICAgcmV0dXJuIHJ2OworICB9OworfTsKKworLyoqCisgKiBDcmVhdGVzIGEgV2ViR0wg
Y29udGV4dCB3aGVyZSBhbGwgZnVuY3Rpb25zIGFyZSB3cmFwcGVkIHRvIHRocm93IGFuIGV4Y2Vw
dGlvbgorICogaWYgdGhlcmUgaXMgYW4gZXJyb3IuCisgKiBAcGFyYW0geyFDYW52YXN9IGNhbnZh
cyBUaGUgSFRNTCBjYW52YXMgdG8gZ2V0IGEgY29udGV4dCBmcm9tLgorICogQHJldHVybiB7IU9i
amVjdH0gVGhlIHdyYXBwZWQgY29udGV4dC4KKyAqLworZnVuY3Rpb24gY3JlYXRlM0RDb250ZXh0
V2l0aFdyYXBwZXJUaGF0VGhyb3dzT25HTEVycm9yKGNhbnZhcykgeworICB2YXIgY29udGV4dCA9
IGNyZWF0ZTNEQ29udGV4dChjYW52YXMpOworICB2YXIgd3JhcCA9IHt9OworICBmb3IgKHZhciBp
IGluIGNvbnRleHQpIHsKKyAgICB0cnkgeworICAgICAgaWYgKHR5cGVvZiBjb250ZXh0W2ldID09
ICdmdW5jdGlvbicpIHsKKyAgICAgICAgd3JhcFtpXSA9IGNyZWF0ZUdMRXJyb3JXcmFwcGVyKGNv
bnRleHQsIGkpOworICAgICAgfSBlbHNlIHsKKyAgICAgICAgd3JhcFtpXSA9IGNvbnRleHRbaV07
CisgICAgICB9CisgICAgfSBjYXRjaCAoZSkgeworICAgICAgZXJyb3IoImNyZWF0ZUNvbnRleHRX
cmFwcGVyVGhhdFRocm93c09uR0xFcnJvcjogRXJyb3IgYWNjZXNzaW5nICIgKyBpKTsKKyAgICB9
CisgIH0KKyAgd3JhcC5nZXRFcnJvciA9IGZ1bmN0aW9uKCkgeworICAgICAgcmV0dXJuIGNvbnRl
eHQuZ2V0RXJyb3IoKTsKKyAgfTsKKyAgcmV0dXJuIHdyYXA7Cit9OworCisvKioKKyAqIFRlc3Rz
IHRoYXQgYW4gZXZhbHVhdGVkIGV4cHJlc3Npb24gZ2VuZXJhdGVzIGEgc3BlY2lmaWMgR0wgZXJy
b3IuCisgKiBAcGFyYW0geyFXZWJHTENvbnRleHR9IGdsIFRoZSBXZWJHTENvbnRleHQgdG8gdXNl
LgorICogQHBhcmFtIHtudW1iZXJ9IGdsRXJyb3IgVGhlIGV4cGVjdGVkIGdsIGVycm9yLgorICog
QHBhcmFtIHtzdHJpbmd9IGV2YWxTVHIgVGhlIHN0cmluZyB0byBldmFsdWF0ZS4KKyAqLwordmFy
IHNob3VsZEdlbmVyYXRlR0xFcnJvciA9IGZ1bmN0aW9uKGdsLCBnbEVycm9yLCBldmFsU3RyKSB7
CisgIHZhciBleGNlcHRpb247CisgIHRyeSB7CisgICAgZXZhbChldmFsU3RyKTsKKyAgfSBjYXRj
aCAoZSkgeworICAgIGV4Y2VwdGlvbiA9IGU7CisgIH0KKyAgaWYgKGV4Y2VwdGlvbikgeworICAg
IHRlc3RGYWlsZWQoZXZhbFN0ciArICIgdGhyZXcgZXhjZXB0aW9uICIgKyBleGNlcHRpb24pOwor
ICB9IGVsc2UgeworICAgIHZhciBlcnIgPSBnbC5nZXRFcnJvcigpOworICAgIGlmIChlcnIgIT0g
Z2xFcnJvcikgeworICAgICAgdGVzdEZhaWxlZChldmFsU3RyICsgIiBleHBlY3RlZDogIiArIGdl
dEdMRXJyb3JBc1N0cmluZyhnbCwgZ2xFcnJvcikgKyAiLiBXYXMgIiArIGdldEdMRXJyb3JBc1N0
cmluZyhnbCwgZXJyKSArICIuIik7CisgICAgfSBlbHNlIHsKKyAgICAgIHRlc3RQYXNzZWQoZXZh
bFN0ciArICIgd2FzIGV4cGVjdGVkIHZhbHVlOiAiICsgZ2V0R0xFcnJvckFzU3RyaW5nKGdsLCBn
bEVycm9yKSArICIuIik7CisgICAgfQorICB9Cit9OworCisvKioKKyAqIFRlc3RzIHRoYXQgdGhl
IGZpcnN0IGVycm9yIEdMIHJldHVybnMgaXMgdGhlIHNwZWNpZmllZCBlcnJvci4KKyAqIEBwYXJh
bSB7IVdlYkdMQ29udGV4dH0gZ2wgVGhlIFdlYkdMQ29udGV4dCB0byB1c2UuCisgKiBAcGFyYW0g
e251bWJlcn0gZ2xFcnJvciBUaGUgZXhwZWN0ZWQgZ2wgZXJyb3IuCisgKiBAcGFyYW0ge3N0cmlu
Z30gb3B0X21zZworICovCit2YXIgZ2xFcnJvclNob3VsZEJlID0gZnVuY3Rpb24oZ2wsIGdsRXJy
b3IsIG9wdF9tc2cpIHsKKyAgb3B0X21zZyA9IG9wdF9tc2cgfHwgIiI7CisgIHZhciBlcnIgPSBn
bC5nZXRFcnJvcigpOworICBpZiAoZXJyICE9IGdsRXJyb3IpIHsKKyAgICB0ZXN0RmFpbGVkKCJn
ZXRFcnJvciBleHBlY3RlZDogIiArIGdldEdMRXJyb3JBc1N0cmluZyhnbCwgZ2xFcnJvcikgKwor
ICAgICAgICAgICAgICAgIi4gV2FzICIgKyBnZXRHTEVycm9yQXNTdHJpbmcoZ2wsIGVycikgKyAi
IDogIiArIG9wdF9tc2cpOworICB9IGVsc2UgeworICAgIHRlc3RQYXNzZWQoImdldEVycm9yIHdh
cyBleHBlY3RlZCB2YWx1ZTogIiArCisgICAgICAgICAgICAgICAgZ2V0R0xFcnJvckFzU3RyaW5n
KGdsLCBnbEVycm9yKSArICIgOiAiICsgb3B0X21zZyk7CisgIH0KK307CisKKy8qKgorICogTGlu
a3MgYSBXZWJHTCBwcm9ncmFtLCB0aHJvd3MgaWYgdGhlcmUgYXJlIGVycm9ycy4KKyAqIEBwYXJh
bSB7IVdlYkdMQ29udGV4dH0gZ2wgVGhlIFdlYkdMQ29udGV4dCB0byB1c2UuCisgKiBAcGFyYW0g
eyFXZWJHTFByb2dyYW19IHByb2dyYW0gVGhlIFdlYkdMUHJvZ3JhbSB0byBsaW5rLgorICogQHBh
cmFtIHtmdW5jdGlvbihzdHJpbmcpOiB2b2lkKSBvcHRfZXJyb3JDYWxsYmFjayBjYWxsYmFjayBm
b3IgZXJyb3JzLiAKKyAqLwordmFyIGxpbmtQcm9ncmFtID0gZnVuY3Rpb24oZ2wsIHByb2dyYW0s
IG9wdF9lcnJvckNhbGxiYWNrKSB7CisgIHZhciBlcnJGbiA9IG9wdF9lcnJvckNhbGxiYWNrIHx8
IHRlc3RGYWlsZWQ7CisgIC8vIExpbmsgdGhlIHByb2dyYW0KKyAgZ2wubGlua1Byb2dyYW0ocHJv
Z3JhbSk7CisKKyAgLy8gQ2hlY2sgdGhlIGxpbmsgc3RhdHVzCisgIHZhciBsaW5rZWQgPSBnbC5n
ZXRQcm9ncmFtUGFyYW1ldGVyKHByb2dyYW0sIGdsLkxJTktfU1RBVFVTKTsKKyAgaWYgKCFsaW5r
ZWQpIHsKKyAgICAvLyBzb21ldGhpbmcgd2VudCB3cm9uZyB3aXRoIHRoZSBsaW5rCisgICAgdmFy
IGVycm9yID0gZ2wuZ2V0UHJvZ3JhbUluZm9Mb2cgKHByb2dyYW0pOworCisgICAgZXJyRm4oIkVy
cm9yIGluIHByb2dyYW0gbGlua2luZzoiICsgZXJyb3IpOworCisgICAgZ2wuZGVsZXRlUHJvZ3Jh
bShwcm9ncmFtKTsKKyAgfQorfTsKKworLyoqCisgKiBMb2FkcyB0ZXh0IGZyb20gYW4gZXh0ZXJu
YWwgZmlsZS4gVGhpcyBmdW5jdGlvbiBpcyBzeW5jaHJvbm91cy4KKyAqIEBwYXJhbSB7c3RyaW5n
fSB1cmwgVGhlIHVybCBvZiB0aGUgZXh0ZXJuYWwgZmlsZS4KKyAqIEBwYXJhbSB7IWZ1bmN0aW9u
KGJvb2wsIHN0cmluZyk6IHZvaWR9IGNhbGxiYWNrIHRoYXQgaXMgc2VudCBhIGJvb2wgZm9yCisg
KiAgICAgc3VjY2VzcyBhbmQgdGhlIHN0cmluZy4KKyAqLwordmFyIGxvYWRUZXh0RmlsZUFzeW5j
ID0gZnVuY3Rpb24odXJsLCBjYWxsYmFjaykgeworICBsb2cgKCJsb2FkaW5nOiAiICsgdXJsKTsK
KyAgdmFyIGVycm9yID0gJ2xvYWRUZXh0RmlsZVN5bmNocm9ub3VzIGZhaWxlZCB0byBsb2FkIHVy
bCAiJyArIHVybCArICciJzsKKyAgdmFyIHJlcXVlc3Q7CisgIGlmICh3aW5kb3cuWE1MSHR0cFJl
cXVlc3QpIHsKKyAgICByZXF1ZXN0ID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CisgICAgaWYgKHJl
cXVlc3Qub3ZlcnJpZGVNaW1lVHlwZSkgeworICAgICAgcmVxdWVzdC5vdmVycmlkZU1pbWVUeXBl
KCd0ZXh0L3BsYWluJyk7CisgICAgfQorICB9IGVsc2UgeworICAgIHRocm93ICdYTUxIdHRwUmVx
dWVzdCBpcyBkaXNhYmxlZCc7CisgIH0KKyAgdHJ5IHsKKyAgICByZXF1ZXN0Lm9wZW4oJ0dFVCcs
IHVybCwgdHJ1ZSk7CisgICAgcmVxdWVzdC5vbnJlYWR5c3RhdGVjaGFuZ2UgPSBmdW5jdGlvbigp
IHsKKyAgICAgIGlmIChyZXF1ZXN0LnJlYWR5U3RhdGUgPT0gNCkgeworICAgICAgICB2YXIgdGV4
dCA9ICcnOworICAgICAgICAvLyBIVFRQIHJlcG9ydHMgc3VjY2VzcyB3aXRoIGEgMjAwIHN0YXR1
cy4gVGhlIGZpbGUgcHJvdG9jb2wgcmVwb3J0cworICAgICAgICAvLyBzdWNjZXNzIHdpdGggemVy
by4gSFRUUCBkb2VzIG5vdCB1c2UgemVybyBhcyBhIHN0YXR1cyBjb2RlICh0aGV5CisgICAgICAg
IC8vIHN0YXJ0IGF0IDEwMCkuCisgICAgICAgIC8vIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEu
b3JnL0VuL1VzaW5nX1hNTEh0dHBSZXF1ZXN0CisgICAgICAgIHZhciBzdWNjZXNzID0gcmVxdWVz
dC5zdGF0dXMgPT0gMjAwIHx8IHJlcXVlc3Quc3RhdHVzID09IDA7CisgICAgICAgIGlmIChzdWNj
ZXNzKSB7CisgICAgICAgICAgdGV4dCA9IHJlcXVlc3QucmVzcG9uc2VUZXh0OworICAgICAgICB9
CisgICAgICAgIGxvZygibG9hZGVkOiAiICsgdXJsKTsKKyAgICAgICAgY2FsbGJhY2soc3VjY2Vz
cywgdGV4dCk7CisgICAgICB9CisgICAgfTsKKyAgICByZXF1ZXN0LnNlbmQobnVsbCk7CisgIH0g
Y2F0Y2ggKGUpIHsKKyAgICBsb2coImZhaWxlZCB0byBsb2FkOiAiICsgdXJsKTsKKyAgICBjYWxs
YmFjayhmYWxzZSwgJycpOworICB9Cit9OworCisvKioKKyAqIFJlY3Vyc2l2ZWx5IGxvYWRzIGEg
ZmlsZSBhcyBhIGxpc3QuIEVhY2ggbGluZSBpcyBwYXJzZWQgZm9yIGEgcmVsYXRpdmUKKyAqIHBh
dGguIElmIHRoZSBmaWxlIGVuZHMgaW4gLnR4dCB0aGUgY29udGVudHMgb2YgdGhhdCBmaWxlIGlz
IGluc2VydGVkIGluCisgKiB0aGUgbGlzdC4KKyAqCisgKiBAcGFyYW0ge3N0cmluZ30gdXJsIFRo
ZSB1cmwgb2YgdGhlIGV4dGVybmFsIGZpbGUuCisgKiBAcGFyYW0geyFmdW5jdGlvbihib29sLCBB
cnJheTxzdHJpbmc+KTogdm9pZH0gY2FsbGJhY2sgdGhhdCBpcyBzZW50IGEgYm9vbAorICogICAg
IGZvciBzdWNjZXNzIGFuZCB0aGUgYXJyYXkgb2Ygc3RyaW5ncy4KKyAqLwordmFyIGdldEZpbGVM
aXN0QXN5bmMgPSBmdW5jdGlvbih1cmwsIGNhbGxiYWNrKSB7CisgIHZhciBmaWxlcyA9IFtdOwor
CisgIHZhciBnZXRGaWxlTGlzdEltcGwgPSBmdW5jdGlvbih1cmwsIGNhbGxiYWNrKSB7CisgICAg
dmFyIGZpbGVzID0gW107CisgICAgaWYgKHVybC5zdWJzdHIodXJsLmxlbmd0aCAtIDQpID09ICcu
dHh0JykgeworICAgICAgbG9hZFRleHRGaWxlQXN5bmModXJsLCBmdW5jdGlvbigpIHsKKyAgICAg
ICAgcmV0dXJuIGZ1bmN0aW9uKHN1Y2Nlc3MsIHRleHQpIHsKKyAgICAgICAgICBpZiAoIXN1Y2Nl
c3MpIHsKKyAgICAgICAgICAgIGNhbGxiYWNrKGZhbHNlLCAnJyk7CisgICAgICAgICAgICByZXR1
cm47CisgICAgICAgICAgfQorICAgICAgICAgIHZhciBsaW5lcyA9IHRleHQuc3BsaXQoJ1xuJyk7
CisgICAgICAgICAgdmFyIHByZWZpeCA9ICcnOworICAgICAgICAgIHZhciBsYXN0U2xhc2ggPSB1
cmwubGFzdEluZGV4T2YoJy8nKTsKKyAgICAgICAgICBpZiAobGFzdFNsYXNoID49IDApIHsKKyAg
ICAgICAgICAgIHByZWZpeCA9IHVybC5zdWJzdHIoMCwgbGFzdFNsYXNoICsgMSk7CisgICAgICAg
ICAgfQorICAgICAgICAgIHZhciBmYWlsID0gZmFsc2U7CisgICAgICAgICAgdmFyIGNvdW50ID0g
MTsKKyAgICAgICAgICB2YXIgaW5kZXggPSAwOworICAgICAgICAgIGZvciAodmFyIGlpID0gMDsg
aWkgPCBsaW5lcy5sZW5ndGg7ICsraWkpIHsKKyAgICAgICAgICAgIHZhciBzdHIgPSBsaW5lc1tp
aV0ucmVwbGFjZSgvXlxzXHMqLywgJycpLnJlcGxhY2UoL1xzXHMqJC8sICcnKTsKKyAgICAgICAg
ICAgIGlmIChzdHIubGVuZ3RoID4gNCAmJgorICAgICAgICAgICAgICAgIHN0clswXSAhPSAnIycg
JiYKKyAgICAgICAgICAgICAgICBzdHJbMF0gIT0gIjsiICYmCisgICAgICAgICAgICAgICAgc3Ry
LnN1YnN0cigwLCAyKSAhPSAiLy8iKSB7CisgICAgICAgICAgICAgIHZhciBuYW1lcyA9IHN0ci5z
cGxpdCgvICsvKTsKKyAgICAgICAgICAgICAgbmV3X3VybCA9IHByZWZpeCArIHN0cjsKKyAgICAg
ICAgICAgICAgaWYgKG5hbWVzLmxlbmd0aCA9PSAxKSB7CisgICAgICAgICAgICAgICAgbmV3X3Vy
bCA9IHByZWZpeCArIHN0cjsKKyAgICAgICAgICAgICAgICArK2NvdW50OworICAgICAgICAgICAg
ICAgIGdldEZpbGVMaXN0SW1wbChuZXdfdXJsLCBmdW5jdGlvbihpbmRleCkgeworICAgICAgICAg
ICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uKHN1Y2Nlc3MsIG5ld19maWxlcykgeworICAgICAgICAg
ICAgICAgICAgICBsb2coImdvdCBmaWxlczogIiArIG5ld19maWxlcy5sZW5ndGgpOworICAgICAg
ICAgICAgICAgICAgICBpZiAoc3VjY2VzcykgeworICAgICAgICAgICAgICAgICAgICAgIGZpbGVz
W2luZGV4XSA9IG5ld19maWxlczsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
ICAgICAgICBmaW5pc2goc3VjY2Vzcyk7CisgICAgICAgICAgICAgICAgICB9OworICAgICAgICAg
ICAgICAgIH0oaW5kZXgrKykpOworICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAg
ICAgIHZhciBzID0gIiI7CisgICAgICAgICAgICAgICAgdmFyIHAgPSAiIjsKKyAgICAgICAgICAg
ICAgICBmb3IgKHZhciBqaiA9IDA7IGpqIDwgbmFtZXMubGVuZ3RoOyArK2pqKSB7CisgICAgICAg
ICAgICAgICAgICBzICs9IHAgKyBwcmVmaXggKyBuYW1lc1tqal07CisgICAgICAgICAgICAgICAg
ICBwID0gIiAiOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBmaWxlc1tpbmRl
eCsrXSA9IHM7CisgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgICB9Cisg
ICAgICAgICAgZmluaXNoKHRydWUpOworCisgICAgICAgICAgZnVuY3Rpb24gZmluaXNoKHN1Y2Nl
c3MpIHsKKyAgICAgICAgICAgIGlmICghc3VjY2VzcykgeworICAgICAgICAgICAgICBmYWlsID0g
dHJ1ZTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIC0tY291bnQ7CisgICAgICAgICAgICBs
b2coImNvdW50OiAiICsgY291bnQpOworICAgICAgICAgICAgaWYgKCFjb3VudCkgeworICAgICAg
ICAgICAgICBjYWxsYmFjayghZmFpbCwgZmlsZXMpOworICAgICAgICAgICAgfQorICAgICAgICAg
IH0KKyAgICAgICAgfQorICAgICAgfSgpKTsKKworICAgIH0gZWxzZSB7CisgICAgICBmaWxlcy5w
dXNoKHVybCk7CisgICAgICBjYWxsYmFjayh0cnVlLCBmaWxlcyk7CisgICAgfQorICB9OworCisg
IGdldEZpbGVMaXN0SW1wbCh1cmwsIGZ1bmN0aW9uKHN1Y2Nlc3MsIGZpbGVzKSB7CisgICAgLy8g
ZmxhdHRlbgorICAgIHZhciBmbGF0ID0gW107CisgICAgZmxhdHRlbihmaWxlcyk7CisgICAgZnVu
Y3Rpb24gZmxhdHRlbihmaWxlcykgeworICAgICAgZm9yICh2YXIgaWkgPSAwOyBpaSA8IGZpbGVz
Lmxlbmd0aDsgKytpaSkgeworICAgICAgICB2YXIgdmFsdWUgPSBmaWxlc1tpaV07CisgICAgICAg
IGlmICh0eXBlb2YodmFsdWUpID09ICJzdHJpbmciKSB7CisgICAgICAgICAgZmxhdC5wdXNoKHZh
bHVlKTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICBmbGF0dGVuKHZhbHVlKTsKKyAgICAg
ICAgfQorICAgICAgfQorICAgIH0KKyAgICBjYWxsYmFjayhzdWNjZXNzLCBmbGF0KTsKKyAgfSk7
Cit9OworCisvKioKKyAqIEdldHMgYSBmaWxlIGZyb20gYSBmaWxlL1VSTAorICogQHBhcmFtIHtz
dHJpbmd9IGZpbGUgdGhlIFVSTCBvZiB0aGUgZmlsZSB0byBnZXQuCisgKiBAcmV0dXJuIHtzdHJp
bmd9IFRoZSBjb250ZW50cyBvZiB0aGUgZmlsZS4KKyAqLwordmFyIHJlYWRGaWxlID0gZnVuY3Rp
b24oZmlsZSkgeworICB2YXIgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CisgIHhoci5vcGVu
KCJHRVQiLCBmaWxlLCBmYWxzZSk7CisgIHhoci5zZW5kKCk7CisgIHJldHVybiB4aHIucmVzcG9u
c2VUZXh0LnJlcGxhY2UoL1xyL2csICIiKTsKK307CisKK3ZhciByZWFkRmlsZUxpc3QgPSBmdW5j
dGlvbih1cmwpIHsKKyAgdmFyIGZpbGVzID0gW107CisgIGlmICh1cmwuc3Vic3RyKHVybC5sZW5n
dGggLSA0KSA9PSAnLnR4dCcpIHsKKyAgICB2YXIgbGluZXMgPSByZWFkRmlsZSh1cmwpLnNwbGl0
KCdcbicpOworICAgIHZhciBwcmVmaXggPSAnJzsKKyAgICB2YXIgbGFzdFNsYXNoID0gdXJsLmxh
c3RJbmRleE9mKCcvJyk7CisgICAgaWYgKGxhc3RTbGFzaCA+PSAwKSB7CisgICAgICBwcmVmaXgg
PSB1cmwuc3Vic3RyKDAsIGxhc3RTbGFzaCArIDEpOworICAgIH0KKyAgICBmb3IgKHZhciBpaSA9
IDA7IGlpIDwgbGluZXMubGVuZ3RoOyArK2lpKSB7CisgICAgICB2YXIgc3RyID0gbGluZXNbaWld
LnJlcGxhY2UoL15cc1xzKi8sICcnKS5yZXBsYWNlKC9cc1xzKiQvLCAnJyk7CisgICAgICBpZiAo
c3RyLmxlbmd0aCA+IDQgJiYKKyAgICAgICAgICBzdHJbMF0gIT0gJyMnICYmCisgICAgICAgICAg
c3RyWzBdICE9ICI7IiAmJgorICAgICAgICAgIHN0ci5zdWJzdHIoMCwgMikgIT0gIi8vIikgewor
ICAgICAgICB2YXIgbmFtZXMgPSBzdHIuc3BsaXQoLyArLyk7CisgICAgICAgIGlmIChuYW1lcy5s
ZW5ndGggPT0gMSkgeworICAgICAgICAgIG5ld191cmwgPSBwcmVmaXggKyBzdHI7CisgICAgICAg
ICAgZmlsZXMgPSBmaWxlcy5jb25jYXQocmVhZEZpbGVMaXN0KG5ld191cmwpKTsKKyAgICAgICAg
fSBlbHNlIHsKKyAgICAgICAgICB2YXIgcyA9ICIiOworICAgICAgICAgIHZhciBwID0gIiI7Cisg
ICAgICAgICAgZm9yICh2YXIgamogPSAwOyBqaiA8IG5hbWVzLmxlbmd0aDsgKytqaikgeworICAg
ICAgICAgICAgcyArPSBwICsgcHJlZml4ICsgbmFtZXNbampdOworICAgICAgICAgICAgcCA9ICIg
IjsKKyAgICAgICAgICB9CisgICAgICAgICAgZmlsZXMucHVzaChzKTsKKyAgICAgICAgfQorICAg
ICAgfQorICAgIH0KKyAgfSBlbHNlIHsKKyAgICBmaWxlcy5wdXNoKHVybCk7CisgIH0KKyAgcmV0
dXJuIGZpbGVzOworfTsKKworLyoqCisgKiBMb2FkcyBhIHNoYWRlci4KKyAqIEBwYXJhbSB7IVdl
YkdMQ29udGV4dH0gZ2wgVGhlIFdlYkdMQ29udGV4dCB0byB1c2UuCisgKiBAcGFyYW0ge3N0cmlu
Z30gc2hhZGVyU291cmNlIFRoZSBzaGFkZXIgc291cmNlLgorICogQHBhcmFtIHtudW1iZXJ9IHNo
YWRlclR5cGUgVGhlIHR5cGUgb2Ygc2hhZGVyLiAKKyAqIEBwYXJhbSB7ZnVuY3Rpb24oc3RyaW5n
KTogdm9pZCkgb3B0X2Vycm9yQ2FsbGJhY2sgY2FsbGJhY2sgZm9yIGVycm9ycy4gCisgKiBAcmV0
dXJuIHshV2ViR0xTaGFkZXJ9IFRoZSBjcmVhdGVkIHNoYWRlci4KKyAqLwordmFyIGxvYWRTaGFk
ZXIgPSBmdW5jdGlvbihnbCwgc2hhZGVyU291cmNlLCBzaGFkZXJUeXBlLCBvcHRfZXJyb3JDYWxs
YmFjaykgeworICB2YXIgZXJyRm4gPSBvcHRfZXJyb3JDYWxsYmFjayB8fCBlcnJvcjsKKyAgLy8g
Q3JlYXRlIHRoZSBzaGFkZXIgb2JqZWN0CisgIHZhciBzaGFkZXIgPSBnbC5jcmVhdGVTaGFkZXIo
c2hhZGVyVHlwZSk7CisgIGlmIChzaGFkZXIgPT0gbnVsbCkgeworICAgIGVyckZuKCIqKiogRXJy
b3I6IHVuYWJsZSB0byBjcmVhdGUgc2hhZGVyICciK3NoYWRlclNvdXJjZSsiJyIpOworICAgIHJl
dHVybiBudWxsOworICB9CisKKyAgLy8gTG9hZCB0aGUgc2hhZGVyIHNvdXJjZQorICBnbC5zaGFk
ZXJTb3VyY2Uoc2hhZGVyLCBzaGFkZXJTb3VyY2UpOworICB2YXIgZXJyID0gZ2wuZ2V0RXJyb3Io
KTsKKyAgaWYgKGVyciAhPSBnbC5OT19FUlJPUikgeworICAgIGVyckZuKCIqKiogRXJyb3IgbG9h
ZGluZyBzaGFkZXIgJyIgKyBzaGFkZXIgKyAiJzoiICsgZ2xFbnVtVG9TdHJpbmcoZ2wsIGVycikp
OworICAgIHJldHVybiBudWxsOworICB9CisKKyAgLy8gQ29tcGlsZSB0aGUgc2hhZGVyCisgIGds
LmNvbXBpbGVTaGFkZXIoc2hhZGVyKTsKKworICAvLyBDaGVjayB0aGUgY29tcGlsZSBzdGF0dXMK
KyAgdmFyIGNvbXBpbGVkID0gZ2wuZ2V0U2hhZGVyUGFyYW1ldGVyKHNoYWRlciwgZ2wuQ09NUElM
RV9TVEFUVVMpOworICBpZiAoIWNvbXBpbGVkKSB7CisgICAgLy8gU29tZXRoaW5nIHdlbnQgd3Jv
bmcgZHVyaW5nIGNvbXBpbGF0aW9uOyBnZXQgdGhlIGVycm9yCisgICAgbGFzdEVycm9yID0gZ2wu
Z2V0U2hhZGVySW5mb0xvZyhzaGFkZXIpOworICAgIGVyckZuKCIqKiogRXJyb3IgY29tcGlsaW5n
ICIgKyBnbEVudW1Ub1N0cmluZyhnbCwgc2hhZGVyVHlwZSkgKyAiICciICsgc2hhZGVyICsgIic6
IiArIGxhc3RFcnJvcik7CisgICAgZ2wuZGVsZXRlU2hhZGVyKHNoYWRlcik7CisgICAgcmV0dXJu
IG51bGw7CisgIH0KKworICByZXR1cm4gc2hhZGVyOworfQorCisvKioKKyAqIExvYWRzIGEgc2hh
ZGVyIGZyb20gYSBVUkwuCisgKiBAcGFyYW0geyFXZWJHTENvbnRleHR9IGdsIFRoZSBXZWJHTENv
bnRleHQgdG8gdXNlLgorICogQHBhcmFtIHtmaWxlfSBmaWxlIFRoZSBVUkwgb2YgdGhlIHNoYWRl
ciBzb3VyY2UuCisgKiBAcGFyYW0ge251bWJlcn0gdHlwZSBUaGUgdHlwZSBvZiBzaGFkZXIuCisg
KiBAcGFyYW0ge2Z1bmN0aW9uKHN0cmluZyk6IHZvaWQpIG9wdF9lcnJvckNhbGxiYWNrIGNhbGxi
YWNrIGZvciBlcnJvcnMuIAorICogQHJldHVybiB7IVdlYkdMU2hhZGVyfSBUaGUgY3JlYXRlZCBz
aGFkZXIuCisgKi8KK3ZhciBsb2FkU2hhZGVyRnJvbUZpbGUgPSBmdW5jdGlvbihnbCwgZmlsZSwg
dHlwZSwgb3B0X2Vycm9yQ2FsbGJhY2spIHsKKyAgdmFyIHNoYWRlclNvdXJjZSA9IHJlYWRGaWxl
KGZpbGUpOworICByZXR1cm4gbG9hZFNoYWRlcihnbCwgc2hhZGVyU291cmNlLCB0eXBlLCBvcHRf
ZXJyb3JDYWxsYmFjayk7Cit9OworCisvKioKKyAqIEdldHMgdGhlIGNvbnRlbnQgb2Ygc2NyaXB0
LgorICovCit2YXIgZ2V0U2NyaXB0ID0gZnVuY3Rpb24oc2NyaXB0SWQpIHsKKyAgdmFyIHNoYWRl
clNjcmlwdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHNjcmlwdElkKTsKKyAgaWYgKCFzaGFk
ZXJTY3JpcHQpIHsKKyAgICB0aHJvdygiKioqIEVycm9yOiB1bmtub3duIHNjcmlwdCBlbGVtZW50
IiArIHNjcmlwdElkKTsKKyAgfQorICByZXR1cm4gc2hhZGVyU2NyaXB0LnRleHQ7Cit9OworCisv
KioKKyAqIExvYWRzIGEgc2hhZGVyIGZyb20gYSBzY3JpcHQgdGFnLgorICogQHBhcmFtIHshV2Vi
R0xDb250ZXh0fSBnbCBUaGUgV2ViR0xDb250ZXh0IHRvIHVzZS4KKyAqIEBwYXJhbSB7c3RyaW5n
fSBzY3JpcHRJZCBUaGUgaWQgb2YgdGhlIHNjcmlwdCB0YWcuCisgKiBAcGFyYW0ge251bWJlcn0g
b3B0X3NoYWRlclR5cGUgVGhlIHR5cGUgb2Ygc2hhZGVyLiBJZiBub3QgcGFzc2VkIGluIGl0IHdp
bGwKKyAqICAgICBiZSBkZXJpdmVkIGZyb20gdGhlIHR5cGUgb2YgdGhlIHNjcmlwdCB0YWcuCisg
KiBAcGFyYW0ge2Z1bmN0aW9uKHN0cmluZyk6IHZvaWQpIG9wdF9lcnJvckNhbGxiYWNrIGNhbGxi
YWNrIGZvciBlcnJvcnMuIAorICogQHJldHVybiB7IVdlYkdMU2hhZGVyfSBUaGUgY3JlYXRlZCBz
aGFkZXIuCisgKi8KK3ZhciBsb2FkU2hhZGVyRnJvbVNjcmlwdCA9IGZ1bmN0aW9uKAorICAgIGds
LCBzY3JpcHRJZCwgb3B0X3NoYWRlclR5cGUsIG9wdF9lcnJvckNhbGxiYWNrKSB7CisgIHZhciBz
aGFkZXJTb3VyY2UgPSAiIjsKKyAgdmFyIHNoYWRlclR5cGU7CisgIHZhciBzaGFkZXJTY3JpcHQg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChzY3JpcHRJZCk7CisgIGlmICghc2hhZGVyU2NyaXB0
KSB7CisgICAgdGhyb3coIioqKiBFcnJvcjogdW5rbm93biBzY3JpcHQgZWxlbWVudCAiICsgc2Ny
aXB0SWQpOworICB9CisgIHNoYWRlclNvdXJjZSA9IHNoYWRlclNjcmlwdC50ZXh0OworCisgIGlm
ICghb3B0X3NoYWRlclR5cGUpIHsKKyAgICBpZiAoc2hhZGVyU2NyaXB0LnR5cGUgPT0gIngtc2hh
ZGVyL3gtdmVydGV4IikgeworICAgICAgc2hhZGVyVHlwZSA9IGdsLlZFUlRFWF9TSEFERVI7Cisg
ICAgfSBlbHNlIGlmIChzaGFkZXJTY3JpcHQudHlwZSA9PSAieC1zaGFkZXIveC1mcmFnbWVudCIp
IHsKKyAgICAgIHNoYWRlclR5cGUgPSBnbC5GUkFHTUVOVF9TSEFERVI7CisgICAgfSBlbHNlIGlm
IChzaGFkZXJUeXBlICE9IGdsLlZFUlRFWF9TSEFERVIgJiYgc2hhZGVyVHlwZSAhPSBnbC5GUkFH
TUVOVF9TSEFERVIpIHsKKyAgICAgIHRocm93KCIqKiogRXJyb3I6IHVua25vd24gc2hhZGVyIHR5
cGUiKTsKKyAgICAgIHJldHVybiBudWxsOworICAgIH0KKyAgfQorCisgIHJldHVybiBsb2FkU2hh
ZGVyKAorICAgICAgZ2wsIHNoYWRlclNvdXJjZSwgb3B0X3NoYWRlclR5cGUgPyBvcHRfc2hhZGVy
VHlwZSA6IHNoYWRlclR5cGUsCisgICAgICBvcHRfZXJyb3JDYWxsYmFjayk7Cit9OworCit2YXIg
bG9hZFN0YW5kYXJkUHJvZ3JhbSA9IGZ1bmN0aW9uKGdsKSB7CisgIHZhciBwcm9ncmFtID0gZ2wu
Y3JlYXRlUHJvZ3JhbSgpOworICBnbC5hdHRhY2hTaGFkZXIocHJvZ3JhbSwgbG9hZFN0YW5kYXJk
VmVydGV4U2hhZGVyKGdsKSk7CisgIGdsLmF0dGFjaFNoYWRlcihwcm9ncmFtLCBsb2FkU3RhbmRh
cmRGcmFnbWVudFNoYWRlcihnbCkpOworICBsaW5rUHJvZ3JhbShnbCwgcHJvZ3JhbSk7CisgIHJl
dHVybiBwcm9ncmFtOworfTsKKworLyoqCisgKiBMb2FkcyBzaGFkZXJzIGZyb20gZmlsZXMsIGNy
ZWF0ZXMgYSBwcm9ncmFtLCBhdHRhY2hlcyB0aGUgc2hhZGVycyBhbmQgbGlua3MuCisgKiBAcGFy
YW0geyFXZWJHTENvbnRleHR9IGdsIFRoZSBXZWJHTENvbnRleHQgdG8gdXNlLgorICogQHBhcmFt
IHtzdHJpbmd9IHZlcnRleFNoYWRlclBhdGggVGhlIFVSTCBvZiB0aGUgdmVydGV4IHNoYWRlci4K
KyAqIEBwYXJhbSB7c3RyaW5nfSBmcmFnbWVudFNoYWRlclBhdGggVGhlIFVSTCBvZiB0aGUgZnJh
Z21lbnQgc2hhZGVyLgorICogQHBhcmFtIHtmdW5jdGlvbihzdHJpbmcpOiB2b2lkKSBvcHRfZXJy
b3JDYWxsYmFjayBjYWxsYmFjayBmb3IgZXJyb3JzLiAKKyAqIEByZXR1cm4geyFXZWJHTFByb2dy
YW19IFRoZSBjcmVhdGVkIHByb2dyYW0uCisgKi8KK3ZhciBsb2FkUHJvZ3JhbUZyb21GaWxlID0g
ZnVuY3Rpb24oCisgICAgZ2wsIHZlcnRleFNoYWRlclBhdGgsIGZyYWdtZW50U2hhZGVyUGF0aCwg
b3B0X2Vycm9yQ2FsbGJhY2spIHsKKyAgdmFyIHByb2dyYW0gPSBnbC5jcmVhdGVQcm9ncmFtKCk7
CisgIHZhciB2cyA9IGxvYWRTaGFkZXJGcm9tRmlsZSgKKyAgICAgIGdsLCB2ZXJ0ZXhTaGFkZXJQ
YXRoLCBnbC5WRVJURVhfU0hBREVSLCBvcHRfZXJyb3JDYWxsYmFjayk7CisgIHZhciBmcyA9IGxv
YWRTaGFkZXJGcm9tRmlsZSgKKyAgICAgIGdsLCBmcmFnbWVudFNoYWRlclBhdGgsIGdsLkZSQUdN
RU5UX1NIQURFUiwgb3B0X2Vycm9yQ2FsbGJhY2spOworICBpZiAodnMgJiYgZnMpIHsKKyAgICBn
bC5hdHRhY2hTaGFkZXIocHJvZ3JhbSwgdnMpOworICAgIGdsLmF0dGFjaFNoYWRlcihwcm9ncmFt
LCBmcyk7CisgICAgbGlua1Byb2dyYW0oZ2wsIHByb2dyYW0sIG9wdF9lcnJvckNhbGxiYWNrKTsK
KyAgfQorICBpZiAodnMpIHsKKyAgICBnbC5kZWxldGVTaGFkZXIodnMpOworICB9CisgIGlmIChm
cykgeworICAgIGdsLmRlbGV0ZVNoYWRlcihmcyk7CisgIH0KKyAgcmV0dXJuIHByb2dyYW07Cit9
OworCisvKioKKyAqIExvYWRzIHNoYWRlcnMgZnJvbSBzY3JpcHQgdGFncywgY3JlYXRlcyBhIHBy
b2dyYW0sIGF0dGFjaGVzIHRoZSBzaGFkZXJzIGFuZAorICogbGlua3MuCisgKiBAcGFyYW0geyFX
ZWJHTENvbnRleHR9IGdsIFRoZSBXZWJHTENvbnRleHQgdG8gdXNlLgorICogQHBhcmFtIHtzdHJp
bmd9IHZlcnRleFNjcmlwdElkIFRoZSBpZCBvZiB0aGUgc2NyaXB0IHRhZyB0aGF0IGNvbnRhaW5z
IHRoZQorICogICAgICAgIHZlcnRleCBzaGFkZXIuCisgKiBAcGFyYW0ge3N0cmluZ30gZnJhZ21l
bnRTY3JpcHRJZCBUaGUgaWQgb2YgdGhlIHNjcmlwdCB0YWcgdGhhdCBjb250YWlucyB0aGUKKyAq
ICAgICAgICBmcmFnbWVudCBzaGFkZXIuCisgKiBAcGFyYW0ge2Z1bmN0aW9uKHN0cmluZyk6IHZv
aWQpIG9wdF9lcnJvckNhbGxiYWNrIGNhbGxiYWNrIGZvciBlcnJvcnMuIAorICogQHJldHVybiB7
IVdlYkdMUHJvZ3JhbX0gVGhlIGNyZWF0ZWQgcHJvZ3JhbS4KKyAqLwordmFyIGxvYWRQcm9ncmFt
RnJvbVNjcmlwdCA9IGZ1bmN0aW9uIGxvYWRQcm9ncmFtRnJvbVNjcmlwdCgKKyAgICBnbCwgdmVy
dGV4U2NyaXB0SWQsIGZyYWdtZW50U2NyaXB0SWQsIG9wdF9lcnJvckNhbGxiYWNrKSB7CisgIHZh
ciBwcm9ncmFtID0gZ2wuY3JlYXRlUHJvZ3JhbSgpOworICBnbC5hdHRhY2hTaGFkZXIoCisgICAg
ICBwcm9ncmFtLAorICAgICAgbG9hZFNoYWRlckZyb21TY3JpcHQoCisgICAgICAgICAgZ2wsIHZl
cnRleFNjcmlwdElkLCBnbC5WRVJURVhfU0hBREVSLCBvcHRfZXJyb3JDYWxsYmFjaykpOworICBn
bC5hdHRhY2hTaGFkZXIoCisgICAgICBwcm9ncmFtLAorICAgICAgbG9hZFNoYWRlckZyb21TY3Jp
cHQoCisgICAgICAgICAgZ2wsIGZyYWdtZW50U2NyaXB0SWQsICBnbC5GUkFHTUVOVF9TSEFERVIs
IG9wdF9lcnJvckNhbGxiYWNrKSk7CisgIGxpbmtQcm9ncmFtKGdsLCBwcm9ncmFtLCBvcHRfZXJy
b3JDYWxsYmFjayk7CisgIHJldHVybiBwcm9ncmFtOworfTsKKworLyoqCisgKiBMb2FkcyBzaGFk
ZXJzIGZyb20gc291cmNlLCBjcmVhdGVzIGEgcHJvZ3JhbSwgYXR0YWNoZXMgdGhlIHNoYWRlcnMg
YW5kCisgKiBsaW5rcy4KKyAqIEBwYXJhbSB7IVdlYkdMQ29udGV4dH0gZ2wgVGhlIFdlYkdMQ29u
dGV4dCB0byB1c2UuCisgKiBAcGFyYW0geyFXZWJHTFNoYWRlcn0gdmVydGV4U2hhZGVyIFRoZSB2
ZXJ0ZXggc2hhZGVyLgorICogQHBhcmFtIHshV2ViR0xTaGFkZXJ9IGZyYWdtZW50U2hhZGVyIFRo
ZSBmcmFnbWVudCBzaGFkZXIuCisgKiBAcGFyYW0ge2Z1bmN0aW9uKHN0cmluZyk6IHZvaWQpIG9w
dF9lcnJvckNhbGxiYWNrIGNhbGxiYWNrIGZvciBlcnJvcnMuCisgKiBAcmV0dXJuIHshV2ViR0xQ
cm9ncmFtfSBUaGUgY3JlYXRlZCBwcm9ncmFtLgorICovCit2YXIgY3JlYXRlUHJvZ3JhbSA9IGZ1
bmN0aW9uKGdsLCB2ZXJ0ZXhTaGFkZXIsIGZyYWdtZW50U2hhZGVyLCBvcHRfZXJyb3JDYWxsYmFj
aykgeworICB2YXIgcHJvZ3JhbSA9IGdsLmNyZWF0ZVByb2dyYW0oKTsKKyAgZ2wuYXR0YWNoU2hh
ZGVyKHByb2dyYW0sIHZlcnRleFNoYWRlcik7CisgIGdsLmF0dGFjaFNoYWRlcihwcm9ncmFtLCBm
cmFnbWVudFNoYWRlcik7CisgIGxpbmtQcm9ncmFtKGdsLCBwcm9ncmFtLCBvcHRfZXJyb3JDYWxs
YmFjayk7CisgIHJldHVybiBwcm9ncmFtOworfTsKKworLyoqCisgKiBMb2FkcyBzaGFkZXJzIGZy
b20gc291cmNlLCBjcmVhdGVzIGEgcHJvZ3JhbSwgYXR0YWNoZXMgdGhlIHNoYWRlcnMgYW5kCisg
KiBsaW5rcy4KKyAqIEBwYXJhbSB7IVdlYkdMQ29udGV4dH0gZ2wgVGhlIFdlYkdMQ29udGV4dCB0
byB1c2UuCisgKiBAcGFyYW0ge3N0cmluZ30gdmVydGV4U2hhZGVyIFRoZSB2ZXJ0ZXggc2hhZGVy
IHNvdXJjZS4KKyAqIEBwYXJhbSB7c3RyaW5nfSBmcmFnbWVudFNoYWRlciBUaGUgZnJhZ21lbnQg
c2hhZGVyIHNvdXJjZS4KKyAqIEBwYXJhbSB7ZnVuY3Rpb24oc3RyaW5nKTogdm9pZCkgb3B0X2Vy
cm9yQ2FsbGJhY2sgY2FsbGJhY2sgZm9yIGVycm9ycy4gCisgKiBAcmV0dXJuIHshV2ViR0xQcm9n
cmFtfSBUaGUgY3JlYXRlZCBwcm9ncmFtLgorICovCit2YXIgbG9hZFByb2dyYW0gPSBmdW5jdGlv
bigKKyAgICBnbCwgdmVydGV4U2hhZGVyLCBmcmFnbWVudFNoYWRlciwgb3B0X2Vycm9yQ2FsbGJh
Y2spIHsKKyAgdmFyIHByb2dyYW07CisgIHZhciB2cyA9IGxvYWRTaGFkZXIoCisgICAgICBnbCwg
dmVydGV4U2hhZGVyLCBnbC5WRVJURVhfU0hBREVSLCBvcHRfZXJyb3JDYWxsYmFjayk7CisgIHZh
ciBmcyA9IGxvYWRTaGFkZXIoCisgICAgICBnbCwgZnJhZ21lbnRTaGFkZXIsIGdsLkZSQUdNRU5U
X1NIQURFUiwgb3B0X2Vycm9yQ2FsbGJhY2spOworICBpZiAodnMgJiYgZnMpIHsKKyAgICBwcm9n
cmFtID0gY3JlYXRlUHJvZ3JhbShnbCwgdnMsIGZzLCBvcHRfZXJyb3JDYWxsYmFjaykKKyAgfQor
ICBpZiAodnMpIHsKKyAgICBnbC5kZWxldGVTaGFkZXIodnMpOworICB9CisgIGlmIChmcykgewor
ICAgIGdsLmRlbGV0ZVNoYWRlcihmcyk7CisgIH0KKyAgcmV0dXJuIHByb2dyYW07Cit9OworCisv
KioKKyAqIExvYWRzIHNoYWRlcnMgZnJvbSBzb3VyY2UsIGNyZWF0ZXMgYSBwcm9ncmFtLCBhdHRh
Y2hlcyB0aGUgc2hhZGVycyBhbmQKKyAqIGxpbmtzIGJ1dCBleHBlY3RzIGVycm9yLgorICoKKyAq
IEdMU0wgMS4wLjE3IDEwLjI3IGVmZmVjdGl2ZWx5IHNheXMgdGhhdCBjb21waWxlU2hhZGVyIGNh
bgorICogYWx3YXlzIHN1Y2NlZWQgYXMgbG9uZyBhcyBsaW5rUHJvZ3JhbSBmYWlscyBzbyB3ZSBj
YW4ndAorICogcmVseSBvbiBjb21waWxlU2hhZGVyIGZhaWxpbmcuIFRoaXMgZnVuY3Rpb24gZXhw
ZWN0cworICogb25lIG9mIHRoZSBzaGFkZXIgdG8gZmFpbCBPUiBsaW5raW5nIHRvIGZhaWwuCisg
KgorICogQHBhcmFtIHshV2ViR0xDb250ZXh0fSBnbCBUaGUgV2ViR0xDb250ZXh0IHRvIHVzZS4K
KyAqIEBwYXJhbSB7c3RyaW5nfSB2ZXJ0ZXhTaGFkZXJTY3JpcHRJZCBUaGUgdmVydGV4IHNoYWRl
ci4KKyAqIEBwYXJhbSB7c3RyaW5nfSBmcmFnbWVudFNoYWRlclNjcmlwdElkIFRoZSBmcmFnbWVu
dCBzaGFkZXIuCisgKiBAcmV0dXJuIHtXZWJHTFByb2dyYW19IFRoZSBjcmVhdGVkIHByb2dyYW0u
CisgKi8KK3ZhciBsb2FkUHJvZ3JhbUZyb21TY3JpcHRFeHBlY3RFcnJvciA9IGZ1bmN0aW9uKAor
ICAgIGdsLCB2ZXJ0ZXhTaGFkZXJTY3JpcHRJZCwgZnJhZ21lbnRTaGFkZXJTY3JpcHRJZCkgewor
ICB2YXIgdmVydGV4U2hhZGVyID0gbG9hZFNoYWRlckZyb21TY3JpcHQoZ2wsIHZlcnRleFNoYWRl
clNjcmlwdElkKTsKKyAgaWYgKCF2ZXJ0ZXhTaGFkZXIpIHsKKyAgICByZXR1cm4gbnVsbDsKKyAg
fQorICB2YXIgZnJhZ21lbnRTaGFkZXIgPSBsb2FkU2hhZGVyRnJvbVNjcmlwdChnbCwgZnJhZ21l
bnRTaGFkZXJTY3JpcHRJZCk7CisgIGlmICghZnJhZ21lbnRTaGFkZXIpIHsKKyAgICByZXR1cm4g
bnVsbDsKKyAgfQorICB2YXIgbGlua1N1Y2Nlc3MgPSB0cnVlOworICB2YXIgcHJvZ3JhbSA9IGds
LmNyZWF0ZVByb2dyYW0oKTsKKyAgZ2wuYXR0YWNoU2hhZGVyKHByb2dyYW0sIHZlcnRleFNoYWRl
cik7CisgIGdsLmF0dGFjaFNoYWRlcihwcm9ncmFtLCBmcmFnbWVudFNoYWRlcik7CisgIGxpbmtT
dWNjZXNzID0gdHJ1ZTsKKyAgbGlua1Byb2dyYW0oZ2wsIHByb2dyYW0sIGZ1bmN0aW9uKCkgewor
ICAgICAgbGlua1N1Y2Nlc3MgPSBmYWxzZTsKKyAgICB9KTsKKyAgcmV0dXJuIGxpbmtTdWNjZXNz
ID8gcHJvZ3JhbSA6IG51bGw7Cit9OworCisKK3ZhciBnZXRBY3RpdmVNYXAgPSBmdW5jdGlvbihn
bCwgcHJvZ3JhbSwgdHlwZUluZm8pIHsKKyAgdmFyIG51bVZhcmlhYmxlcyA9IGdsLmdldFByb2dy
YW1QYXJhbWV0ZXIocHJvZ3JhbSwgZ2xbdHlwZUluZm8ucGFyYW1dKTsKKyAgdmFyIHZhcmlhYmxl
cyA9IHt9OworICBmb3IgKHZhciBpaSA9IDA7IGlpIDwgbnVtVmFyaWFibGVzOyArK2lpKSB7Cisg
ICAgdmFyIGluZm8gPSBnbFt0eXBlSW5mby5hY3RpdmVGbl0ocHJvZ3JhbSwgaWkpOworICAgIHZh
cmlhYmxlc1tpbmZvLm5hbWVdID0geworICAgICAgbmFtZTogaW5mby5uYW1lLAorICAgICAgc2l6
ZTogaW5mby5zaXplLAorICAgICAgdHlwZTogaW5mby50eXBlLAorICAgICAgbG9jYXRpb246IGds
W3R5cGVJbmZvLmxvY0ZuXShwcm9ncmFtLCBpbmZvLm5hbWUpCisgICAgfTsKKyAgfQorICByZXR1
cm4gdmFyaWFibGVzOworfTsKKworLyoqCisgKiBSZXR1cm5zIGEgbWFwIG9mIGF0dHJpYiBuYW1l
cyB0byBpbmZvIGFib3V0IHRob3NlCisgKiBhdHRyaWJzCisgKgorICogZWc6CisgKiAgICB7ICJh
dHRyaWIxTmFtZSI6CisgKiAgICAgIHsKKyAqICAgICAgICBuYW1lOiAiYXR0cmliMU5hbWUiLAor
ICogICAgICAgIHNpemU6IDEsCisgKiAgICAgICAgdHlwZTogZ2wuRkxPQVRfTUFUMiwKKyAqICAg
ICAgICBsb2NhdGlvbjogMAorICogICAgICB9LAorICogICAgICAiYXR0cmliMk5hbWVbMF0iOgor
ICogICAgICB7CisgKiAgICAgICAgIG5hbWU6ICJhdHRyaWIyTmFtZVswXSIsCisgKiAgICAgICAg
IHNpemU6IDQsCisgKiAgICAgICAgIHR5cGU6IGdsLkZMT0FULAorICogICAgICAgICBsb2NhdGlv
bjogMQorICogICAgICB9LAorICogICAgfQorICoKKyAqIEBwYXJhbSB7IVdlYkdMQ29udGV4dH0g
Z2wgVGhlIFdlYkdMQ29udGV4dCB0byB1c2UuCisgKiBAcGFyYW0ge1dlYkdMUHJvZ3JhbX0gVGhl
IHByb2dyYW0gdG8gcXVlcnkgZm9yIGF0dHJpYnMuCisgKiBAcmV0dXJuIHRoZSBtYXAuCisgKi8K
K3ZhciBnZXRBdHRyaWJNYXAgPSBmdW5jdGlvbihnbCwgcHJvZ3JhbSkgeworICByZXR1cm4gZ2V0
QWN0aXZlTWFwKGdsLCBwcm9ncmFtLCB7CisgICAgICBwYXJhbTogIkFDVElWRV9BVFRSSUJTIiwK
KyAgICAgIGFjdGl2ZUZuOiAiZ2V0QWN0aXZlQXR0cmliIiwKKyAgICAgIGxvY0ZuOiAiZ2V0QXR0
cmliTG9jYXRpb24iCisgIH0pOworfTsKKworLyoqCisgKiBSZXR1cm5zIGEgbWFwIG9mIHVuaWZv
cm0gbmFtZXMgdG8gaW5mbyBhYm91dCB0aG9zZSB1bmlmb3JtCisgKgorICogZWc6CisgKiAgICB7
ICJ1bmlmb3JtMU5hbWUiOgorICogICAgICB7CisgKiAgICAgICAgbmFtZTogInVuaWZvcm0xTmFt
ZSIsCisgKiAgICAgICAgc2l6ZTogMSwKKyAqICAgICAgICB0eXBlOiBnbC5GTE9BVF9NQVQyLAor
ICogICAgICAgIGxvY2F0aW9uOiBXZWJHTFVuaWZvcm1Mb2NhdGlvbgorICogICAgICB9LAorICog
ICAgICAidW5pZm9ybTJOYW1lWzBdIjoKKyAqICAgICAgeworICogICAgICAgICBuYW1lOiAidW5p
Zm9ybTJOYW1lWzBdIiwKKyAqICAgICAgICAgc2l6ZTogNCwKKyAqICAgICAgICAgdHlwZTogZ2wu
RkxPQVQsCisgKiAgICAgICAgIGxvY2F0aW9uOiBXZWJHTFVuaWZvcm1Mb2NhdGlvbgorICogICAg
ICB9LAorICogICAgfQorICoKKyAqIEBwYXJhbSB7IVdlYkdMQ29udGV4dH0gZ2wgVGhlIFdlYkdM
Q29udGV4dCB0byB1c2UuCisgKiBAcGFyYW0ge1dlYkdMUHJvZ3JhbX0gVGhlIHByb2dyYW0gdG8g
cXVlcnkgZm9yIHVuaWZvcm1zLgorICogQHJldHVybiB0aGUgbWFwLgorICovCit2YXIgZ2V0VW5p
Zm9ybU1hcCA9IGZ1bmN0aW9uKGdsLCBwcm9ncmFtKSB7CisgIHJldHVybiBnZXRBY3RpdmVNYXAo
Z2wsIHByb2dyYW0sIHsKKyAgICAgIHBhcmFtOiAiQUNUSVZFX1VOSUZPUk1TIiwKKyAgICAgIGFj
dGl2ZUZuOiAiZ2V0QWN0aXZlVW5pZm9ybSIsCisgICAgICBsb2NGbjogImdldFVuaWZvcm1Mb2Nh
dGlvbiIKKyAgfSk7Cit9OworCit2YXIgYmFzZVBhdGg7Cit2YXIgZ2V0QmFzZVBhdGggPSBmdW5j
dGlvbigpIHsKKyAgaWYgKCFiYXNlUGF0aCkgeworICAgIHZhciBleHBlY3RlZEJhc2UgPSAid2Vi
Z2wtdGVzdC11dGlscy5qcyI7CisgICAgdmFyIHNjcmlwdHMgPSBkb2N1bWVudC5nZXRFbGVtZW50
c0J5VGFnTmFtZSgnc2NyaXB0Jyk7CisgICAgZm9yICh2YXIgc2NyaXB0LCBpID0gMDsgc2NyaXB0
ID0gc2NyaXB0c1tpXTsgaSsrKSB7CisgICAgICB2YXIgc3JjID0gc2NyaXB0LnNyYzsKKyAgICAg
IHZhciBsID0gc3JjLmxlbmd0aDsKKyAgICAgIGlmIChzcmMuc3Vic3RyKGwgLSBleHBlY3RlZEJh
c2UubGVuZ3RoKSA9PSBleHBlY3RlZEJhc2UpIHsKKyAgICAgICAgYmFzZVBhdGggPSBzcmMuc3Vi
c3RyKDAsIGwgLSBleHBlY3RlZEJhc2UubGVuZ3RoKTsKKyAgICAgIH0KKyAgICB9CisgIH0KKyAg
cmV0dXJuIGJhc2VQYXRoOworfTsKKwordmFyIGxvYWRTdGFuZGFyZFZlcnRleFNoYWRlciA9IGZ1
bmN0aW9uKGdsKSB7CisgIHJldHVybiBsb2FkU2hhZGVyRnJvbUZpbGUoCisgICAgICBnbCwgZ2V0
QmFzZVBhdGgoKSArICJ2ZXJ0ZXhTaGFkZXIudmVydCIsIGdsLlZFUlRFWF9TSEFERVIpOworfTsK
KwordmFyIGxvYWRTdGFuZGFyZEZyYWdtZW50U2hhZGVyID0gZnVuY3Rpb24oZ2wpIHsKKyAgcmV0
dXJuIGxvYWRTaGFkZXJGcm9tRmlsZSgKKyAgICAgIGdsLCBnZXRCYXNlUGF0aCgpICsgImZyYWdt
ZW50U2hhZGVyLmZyYWciLCBnbC5GUkFHTUVOVF9TSEFERVIpOworfTsKKworLyoqCisgKiBMb2Fk
cyBhbiBpbWFnZSBhc3luY2hyb25vdXNseS4KKyAqIEBwYXJhbSB7c3RyaW5nfSB1cmwgVVJMIG9m
IGltYWdlIHRvIGxvYWQuCisgKiBAcGFyYW0geyFmdW5jdGlvbighRWxlbWVudCk6IHZvaWR9IGNh
bGxiYWNrIEZ1bmN0aW9uIHRvIGNhbGwKKyAqICAgICB3aXRoIGxvYWRlZCBpbWFnZS4KKyAqLwor
dmFyIGxvYWRJbWFnZUFzeW5jID0gZnVuY3Rpb24odXJsLCBjYWxsYmFjaykgeworICB2YXIgaW1n
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW1nJyk7CisgIGltZy5vbmxvYWQgPSBmdW5jdGlv
bigpIHsKKyAgICBjYWxsYmFjayhpbWcpOworICB9OworICBpbWcuc3JjID0gdXJsOworfTsKKwor
LyoqCisgKiBMb2FkcyBhbiBhcnJheSBvZiBpbWFnZXMuCisgKiBAcGFyYW0geyFBcnJheS48c3Ry
aW5nPn0gdXJscyBVUkxzIG9mIGltYWdlcyB0byBsb2FkLgorICogQHBhcmFtIHshZnVuY3Rpb24o
IXtzdHJpbmcsIGltZ30pOiB2b2lkfSBjYWxsYmFjay4gQ2FsbGJhY2sKKyAqICAgICB0aGF0IGdl
dHMgcGFzc2VkIG1hcCBvZiB1cmxzIHRvIGltZyB0YWdzLgorICovCit2YXIgbG9hZEltYWdlc0Fz
eW5jID0gZnVuY3Rpb24odXJscywgY2FsbGJhY2spIHsKKyAgdmFyIGNvdW50ID0gMTsKKyAgdmFy
IGltYWdlcyA9IHsgfTsKKyAgZnVuY3Rpb24gY291bnREb3duKCkgeworICAgIC0tY291bnQ7Cisg
ICAgaWYgKGNvdW50ID09IDApIHsKKyAgICAgIGNhbGxiYWNrKGltYWdlcyk7CisgICAgfQorICB9
CisgIGZ1bmN0aW9uIGltYWdlTG9hZGVkKHVybCkgeworICAgIHJldHVybiBmdW5jdGlvbihpbWcp
IHsKKyAgICAgIGltYWdlc1t1cmxdID0gaW1nOworICAgICAgY291bnREb3duKCk7CisgICAgfQor
ICB9CisgIGZvciAodmFyIGlpID0gMDsgaWkgPCB1cmxzLmxlbmd0aDsgKytpaSkgeworICAgICsr
Y291bnQ7CisgICAgbG9hZEltYWdlQXN5bmModXJsc1tpaV0sIGltYWdlTG9hZGVkKHVybHNbaWld
KSk7CisgIH0KKyAgY291bnREb3duKCk7Cit9OworCit2YXIgZ2V0VXJsQXJndW1lbnRzID0gZnVu
Y3Rpb24oKSB7CisgIHZhciBhcmdzID0ge307CisgIHRyeSB7CisgICAgdmFyIHMgPSB3aW5kb3cu
bG9jYXRpb24uaHJlZjsKKyAgICB2YXIgcSA9IHMuaW5kZXhPZigiPyIpOworICAgIHZhciBlID0g
cy5pbmRleE9mKCIjIik7CisgICAgaWYgKGUgPCAwKSB7CisgICAgICBlID0gcy5sZW5ndGg7Cisg
ICAgfQorICAgIHZhciBxdWVyeSA9IHMuc3Vic3RyaW5nKHEgKyAxLCBlKTsKKyAgICB2YXIgcGFp
cnMgPSBxdWVyeS5zcGxpdCgiJiIpOworICAgIGZvciAodmFyIGlpID0gMDsgaWkgPCBwYWlycy5s
ZW5ndGg7ICsraWkpIHsKKyAgICAgIHZhciBrZXlWYWx1ZSA9IHBhaXJzW2lpXS5zcGxpdCgiPSIp
OworICAgICAgdmFyIGtleSA9IGtleVZhbHVlWzBdOworICAgICAgdmFyIHZhbHVlID0gZGVjb2Rl
VVJJQ29tcG9uZW50KGtleVZhbHVlWzFdKTsKKyAgICAgIGFyZ3Nba2V5XSA9IHZhbHVlOworICAg
IH0KKyAgfSBjYXRjaCAoZSkgeworICAgIHRocm93ICJjb3VsZCBub3QgcGFyc2UgdXJsIjsKKyAg
fQorICByZXR1cm4gYXJnczsKK307CisKK3ZhciBtYWtlSW1hZ2UgPSBmdW5jdGlvbihjYW52YXMp
IHsKKyAgdmFyIGltZyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2ltZycpOworICBpbWcuc3Jj
ID0gY2FudmFzLnRvRGF0YVVSTCgpOworICByZXR1cm4gaW1nOworfTsKKwordmFyIGluc2VydElt
YWdlID0gZnVuY3Rpb24oZWxlbWVudCwgY2FwdGlvbiwgaW1nKSB7CisgIHZhciBkaXYgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKKyAgZGl2LmFwcGVuZENoaWxkKGltZyk7CisgIHZh
ciBsYWJlbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOworICBsYWJlbC5hcHBlbmRD
aGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShjYXB0aW9uKSk7CisgIGRpdi5hcHBlbmRDaGls
ZChsYWJlbCk7CisgICBlbGVtZW50LmFwcGVuZENoaWxkKGRpdik7Cit9OworCit2YXIgYWRkU2hh
ZGVyU291cmNlID0gZnVuY3Rpb24oZWxlbWVudCwgbGFiZWwsIHNvdXJjZSwgb3B0X3VybCkgewor
ICB2YXIgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CisgIHZhciBzID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgicHJlIik7CisgIHMuY2xhc3NOYW1lID0gInNoYWRlci1zb3Vy
Y2UiOworICBzLnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisgIHZhciBvbCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoIm9sIik7CisgIC8vcy5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0
Tm9kZShzb3VyY2UpKTsKKyAgdmFyIGxpbmVzID0gc291cmNlLnNwbGl0KCJcbiIpOworICBmb3Ig
KHZhciBpaSA9IDA7IGlpIDwgbGluZXMubGVuZ3RoOyArK2lpKSB7CisgICAgdmFyIGxpbmUgPSBs
aW5lc1tpaV07CisgICAgdmFyIGxpID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibGkiKTsKKyAg
ICBsaS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShsaW5lKSk7CisgICAgb2wu
YXBwZW5kQ2hpbGQobGkpOworICB9CisgIHMuYXBwZW5kQ2hpbGQob2wpOworICB2YXIgbCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoImEiKTsKKyAgbC5ocmVmID0gInNob3ctc2hhZGVyLXNvdXJj
ZSI7CisgIGwuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUobGFiZWwpKTsKKyAg
bC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGZ1bmN0aW9uKGV2ZW50KSB7CisgICAgICBpZiAo
ZXZlbnQucHJldmVudERlZmF1bHQpIHsKKyAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTsK
KyAgICAgIH0KKyAgICAgIHMuc3R5bGUuZGlzcGxheSA9IChzLnN0eWxlLmRpc3BsYXkgPT0gJ25v
bmUnKSA/ICdibG9jaycgOiAnbm9uZSc7CisgICAgICByZXR1cm4gZmFsc2U7CisgICAgfSwgZmFs
c2UpOworICBkaXYuYXBwZW5kQ2hpbGQobCk7CisgIGlmIChvcHRfdXJsKSB7CisgICAgdmFyIHUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJhIik7CisgICAgdS5ocmVmID0gb3B0X3VybDsKKyAg
ICBkaXYuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoIiAiKSk7CisgICAgdS5h
cHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgiKCIgKyBvcHRfdXJsICsgIikiKSk7
CisgICAgZGl2LmFwcGVuZENoaWxkKHUpOworICB9CisgIGRpdi5hcHBlbmRDaGlsZChzKTsKKyAg
ZWxlbWVudC5hcHBlbmRDaGlsZChkaXYpOworfTsKKworLy8gQWRkIHlvdXIgcHJlZml4IGhlcmUu
Cit2YXIgYnJvd3NlclByZWZpeGVzID0gWworICAiIiwKKyAgIk1PWl8iLAorICAiT1BfIiwKKyAg
IldFQktJVF8iCitdOworCisvKioKKyAqIEdpdmVuIGFuIGV4dGVuc2lvbiBuYW1lIGxpa2UgV0VC
R0xfY29tcHJlc3NlZF90ZXh0dXJlX3MzdGMKKyAqIHJldHVybnMgdGhlIG5hbWUgb2YgdGhlIHN1
cHBvcnRlZCB2ZXJzaW9uIGV4dGVuc2lvbiwgbGlrZQorICogV0VCS0lUX1dFQkdMX2NvbXByZXNz
ZWRfdGV0dXJlX3MzdGMKKyAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lIE5hbWUgb2YgZXh0ZW5zaW9u
IHRvIGxvb2sgZm9yCisgKiBAcmV0dXJuIHtzdHJpbmd9IG5hbWUgb2YgZXh0ZW5zaW9uIGZvdW5k
IG9yIHVuZGVmaW5lZCBpZiBub3QKKyAqICAgICBmb3VuZC4KKyAqLwordmFyIGdldFN1cHBvcnRl
ZEV4dGVuc2lvbldpdGhLbm93blByZWZpeGVzID0gZnVuY3Rpb24oZ2wsIG5hbWUpIHsKKyAgdmFy
IHN1cHBvcnRlZCA9IGdsLmdldFN1cHBvcnRlZEV4dGVuc2lvbnMoKTsKKyAgZm9yICh2YXIgaWkg
PSAwOyBpaSA8IGJyb3dzZXJQcmVmaXhlcy5sZW5ndGg7ICsraWkpIHsKKyAgICB2YXIgcHJlZml4
ZWROYW1lID0gYnJvd3NlclByZWZpeGVzW2lpXSArIG5hbWU7CisgICAgaWYgKHN1cHBvcnRlZC5p
bmRleE9mKHByZWZpeGVkTmFtZSkgPj0gMCkgeworICAgICAgcmV0dXJuIHByZWZpeGVkTmFtZTsK
KyAgICB9CisgIH0KK307CisKKy8qKgorICogR2l2ZW4gYW4gZXh0ZW5zaW9uIG5hbWUgbGlrZSBX
RUJHTF9jb21wcmVzc2VkX3RleHR1cmVfczN0YworICogcmV0dXJucyB0aGUgc3VwcG9ydGVkIHZl
cnNpb24gZXh0ZW5zaW9uLCBsaWtlCisgKiBXRUJLSVRfV0VCR0xfY29tcHJlc3NlZF90ZXR1cmVf
czN0YworICogQHBhcmFtIHtzdHJpbmd9IG5hbWUgTmFtZSBvZiBleHRlbnNpb24gdG8gbG9vayBm
b3IKKyAqIEByZXR1cm4ge1dlYkdMRXh0ZW5zaW9ufSBUaGUgZXh0ZW5zaW9uIG9yIHVuZGVmaW5l
ZCBpZiBub3QKKyAqICAgICBmb3VuZC4KKyAqLwordmFyIGdldEV4dGVuc2lvbldpdGhLbm93blBy
ZWZpeGVzID0gZnVuY3Rpb24oZ2wsIG5hbWUpIHsKKyAgZm9yICh2YXIgaWkgPSAwOyBpaSA8IGJy
b3dzZXJQcmVmaXhlcy5sZW5ndGg7ICsraWkpIHsKKyAgICB2YXIgcHJlZml4ZWROYW1lID0gYnJv
d3NlclByZWZpeGVzW2lpXSArIG5hbWU7CisgICAgdmFyIGV4dCA9IGdsLmdldEV4dGVuc2lvbihw
cmVmaXhlZE5hbWUpOworICAgIGlmIChleHQpIHsKKyAgICAgIHJldHVybiBleHQ7CisgICAgfQor
ICB9Cit9OworCisKK3ZhciByZXBsYWNlUkUgPSAvXCRcKChcdyspXCkvZzsKKworLyoqCisgKiBS
ZXBsYWNlcyBzdHJpbmdzIHdpdGggcHJvcGVydHkgdmFsdWVzLgorICogR2l2ZW4gYSBzdHJpbmcg
bGlrZSAiaGVsbG8gJChmaXJzdCkgJChsYXN0KSIgYW5kIGFuIG9iamVjdAorICogbGlrZSB7Zmly
c3Q6IkpvaG4iLCBsYXN0OiJTbWl0aCJ9IHdpbGwgcmV0dXJuCisgKiAiaGVsbG8gSm9obiBTbWl0
aCIuCisgKiBAcGFyYW0ge3N0cmluZ30gc3RyIFN0cmluZyB0byBkbyByZXBsYWNlbWVudHMgaW4K
KyAqIEBwYXJhbSB7Li4ufSAxIG9yIG1vcmUgb2JqZWN0cyBjb25haW5pbmcgcHJvcGVydGllcy4K
KyAqLwordmFyIHJlcGxhY2VQYXJhbXMgPSBmdW5jdGlvbihzdHIpIHsKKyAgdmFyIGFyZ3MgPSBh
cmd1bWVudHM7CisgIHJldHVybiBzdHIucmVwbGFjZShyZXBsYWNlUkUsIGZ1bmN0aW9uKHN0ciwg
cDEsIG9mZnNldCwgcykgeworICAgIGZvciAodmFyIGlpID0gMTsgaWkgPCBhcmdzLmxlbmd0aDsg
KytpaSkgeworICAgICAgaWYgKGFyZ3NbaWldW3AxXSAhPT0gdW5kZWZpbmVkKSB7CisgICAgICAg
IHJldHVybiBhcmdzW2lpXVtwMV07CisgICAgICB9CisgICAgfQorICAgIHRocm93ICJ1bmtub3du
IHN0cmluZyBwYXJhbSAnIiArIHAxICsgIiciOworICB9KTsKK307CisKKworLyoqCisgKiBQcm92
aWRlcyByZXF1ZXN0QW5pbWF0aW9uRnJhbWUgaW4gYSBjcm9zcyBicm93c2VyIHdheS4KKyAqLwor
dmFyIHJlcXVlc3RBbmltRnJhbWVJbXBsXzsKKwordmFyIHJlcXVlc3RBbmltRnJhbWUgPSBmdW5j
dGlvbihjYWxsYmFjaywgZWxlbWVudCkgeworICBpZiAoIXJlcXVlc3RBbmltRnJhbWVJbXBsXykg
eworICAgIHJlcXVlc3RBbmltRnJhbWVJbXBsXyA9IGZ1bmN0aW9uKCkgeworICAgICAgdmFyIGZ1
bmN0aW9uTmFtZXMgPSBbCisgICAgICAgICJyZXF1ZXN0QW5pbWF0aW9uRnJhbWUiLAorICAgICAg
ICAid2Via2l0UmVxdWVzdEFuaW1hdGlvbkZyYW1lIiwKKyAgICAgICAgIm1velJlcXVlc3RBbmlt
YXRpb25GcmFtZSIsCisgICAgICAgICJvUmVxdWVzdEFuaW1hdGlvbkZyYW1lIiwKKyAgICAgICAg
Im1zUmVxdWVzdEFuaW1hdGlvbkZyYW1lIgorICAgICAgXTsKKyAgICAgIGZvciAodmFyIGpqID0g
MDsgamogPCBmdW5jdGlvbk5hbWVzLmxlbmd0aDsgKytqaikgeworICAgICAgICB2YXIgZnVuY3Rp
b25OYW1lID0gZnVuY3Rpb25OYW1lc1tqal07CisgICAgICAgIGlmICh3aW5kb3dbZnVuY3Rpb25O
YW1lXSkgeworICAgICAgICAgIHJldHVybiBmdW5jdGlvbihuYW1lKSB7CisgICAgICAgICAgICBy
ZXR1cm4gZnVuY3Rpb24oY2FsbGJhY2ssIGVsZW1lbnQpIHsKKyAgICAgICAgICAgICAgcmV0dXJu
IHdpbmRvd1tuYW1lXS5jYWxsKHdpbmRvdywgY2FsbGJhY2ssIGVsZW1lbnQpOworICAgICAgICAg
ICAgfTsKKyAgICAgICAgICB9KGZ1bmN0aW9uTmFtZSk7CisgICAgICAgIH0KKyAgICAgIH0KKyAg
ICAgIHJldHVybiBmdW5jdGlvbihjYWxsYmFjaywgZWxlbWVudCkgeworICAgICAgICAgICByZXR1
cm4gd2luZG93LnNldFRpbWVvdXQoY2FsbGJhY2ssIDEwMDAgLyA3MCk7CisgICAgICAgIH07Cisg
ICAgfSgpOworICB9CisKKyAgcmV0dXJuIHJlcXVlc3RBbmltRnJhbWVJbXBsXyhjYWxsYmFjaywg
ZWxlbWVudCk7Cit9OworCisvKioKKyAqIFByb3ZpZGVzIGNhbmNlbEFuaW1hdGlvbkZyYW1lIGlu
IGEgY3Jvc3MgYnJvd3NlciB3YXkuCisgKi8KK3ZhciBjYW5jZWxBbmltRnJhbWUgPSAoZnVuY3Rp
b24oKSB7CisgIHJldHVybiB3aW5kb3cuY2FuY2VsQW5pbWF0aW9uRnJhbWUgfHwKKyAgICAgICAg
IHdpbmRvdy53ZWJraXRDYW5jZWxBbmltYXRpb25GcmFtZSB8fAorICAgICAgICAgd2luZG93Lm1v
ekNhbmNlbEFuaW1hdGlvbkZyYW1lIHx8CisgICAgICAgICB3aW5kb3cub0NhbmNlbEFuaW1hdGlv
bkZyYW1lIHx8CisgICAgICAgICB3aW5kb3cubXNDYW5jZWxBbmltYXRpb25GcmFtZSB8fAorICAg
ICAgICAgd2luZG93LmNsZWFyVGltZW91dDsKK30pKCk7CisKKy8qKgorICogV2FpdHMgZm9yIHRo
ZSBicm93c2VyIHRvIGNvbXBvc2l0ZSB0aGUgY2FudmFzIGFzc29jaWF0ZWQgd2l0aAorICogdGhl
IFdlYkdMIGNvbnRleHQgcGFzc2VkIGluLgorICovCit2YXIgd2FpdEZvckNvbXBvc2l0ZSA9IGZ1
bmN0aW9uKGdsLCBjYWxsYmFjaykgeworICB2YXIgZnJhbWVzID0gNTsKKyAgdmFyIGNvdW50RG93
biA9IGZ1bmN0aW9uKCkgeworICAgIGlmIChmcmFtZXMgPT0gMCkgeworICAgICAgY2FsbGJhY2so
KTsKKyAgICB9IGVsc2UgeworICAgICAgLS1mcmFtZXM7CisgICAgICByZXF1ZXN0QW5pbUZyYW1l
KGNvdW50RG93bik7CisgICAgfQorICB9OworICBjb3VudERvd24oKTsKK307CisKK3JldHVybiB7
CisgIGFkZFNoYWRlclNvdXJjZTogYWRkU2hhZGVyU291cmNlLAorICBjYW5jZWxBbmltRnJhbWU6
IGNhbmNlbEFuaW1GcmFtZSwKKyAgY3JlYXRlM0RDb250ZXh0OiBjcmVhdGUzRENvbnRleHQsCisg
IGNyZWF0ZTNEQ29udGV4dFdpdGhXcmFwcGVyVGhhdFRocm93c09uR0xFcnJvcjoKKyAgICAgIGNy
ZWF0ZTNEQ29udGV4dFdpdGhXcmFwcGVyVGhhdFRocm93c09uR0xFcnJvciwKKyAgY2hlY2tDYW52
YXM6IGNoZWNrQ2FudmFzLAorICBjaGVja0NhbnZhc1JlY3Q6IGNoZWNrQ2FudmFzUmVjdCwKKyAg
Y2hlY2tDYW52YXNSZWN0Q29sb3I6IGNoZWNrQ2FudmFzUmVjdENvbG9yLAorICBjcmVhdGVDb2xv
cmVkVGV4dHVyZTogY3JlYXRlQ29sb3JlZFRleHR1cmUsCisgIGNyZWF0ZVByb2dyYW06IGNyZWF0
ZVByb2dyYW0sCisgIGRyYXdRdWFkOiBkcmF3UXVhZCwKKyAgZHJhd0luZGV4ZWRRdWFkOiBkcmF3
SW5kZXhlZFF1YWQsCisgIGRyYXdVQnl0ZUNvbG9yUXVhZDogZHJhd1VCeXRlQ29sb3JRdWFkLAor
ICBkcmF3RmxvYXRDb2xvclF1YWQ6IGRyYXdGbG9hdENvbG9yUXVhZCwKKyAgZW5kc1dpdGg6IGVu
ZHNXaXRoLAorICBmaWxsVGV4dHVyZTogZmlsbFRleHR1cmUsCisgIGdldEV4dGVuc2lvbldpdGhL
bm93blByZWZpeGVzOiBnZXRFeHRlbnNpb25XaXRoS25vd25QcmVmaXhlcywKKyAgZ2V0RmlsZUxp
c3RBc3luYzogZ2V0RmlsZUxpc3RBc3luYywKKyAgZ2V0TGFzdEVycm9yOiBnZXRMYXN0RXJyb3Is
CisgIGdldFNjcmlwdDogZ2V0U2NyaXB0LAorICBnZXRTdXBwb3J0ZWRFeHRlbnNpb25XaXRoS25v
d25QcmVmaXhlczogZ2V0U3VwcG9ydGVkRXh0ZW5zaW9uV2l0aEtub3duUHJlZml4ZXMsCisgIGdl
dFVybEFyZ3VtZW50czogZ2V0VXJsQXJndW1lbnRzLAorICBnZXRBdHRyaWJNYXA6IGdldEF0dHJp
Yk1hcCwKKyAgZ2V0VW5pZm9ybU1hcDogZ2V0VW5pZm9ybU1hcCwKKyAgZ2xFbnVtVG9TdHJpbmc6
IGdsRW51bVRvU3RyaW5nLAorICBnbEVycm9yU2hvdWxkQmU6IGdsRXJyb3JTaG91bGRCZSwKKyAg
aGFzQXR0cmlidXRlQ2FzZUluc2Vuc2l0aXZlOiBoYXNBdHRyaWJ1dGVDYXNlSW5zZW5zaXRpdmUs
CisgIGluc2VydEltYWdlOiBpbnNlcnRJbWFnZSwKKyAgbG9hZEltYWdlQXN5bmM6IGxvYWRJbWFn
ZUFzeW5jLAorICBsb2FkSW1hZ2VzQXN5bmM6IGxvYWRJbWFnZXNBc3luYywKKyAgbG9hZFByb2dy
YW06IGxvYWRQcm9ncmFtLAorICBsb2FkUHJvZ3JhbUZyb21GaWxlOiBsb2FkUHJvZ3JhbUZyb21G
aWxlLAorICBsb2FkUHJvZ3JhbUZyb21TY3JpcHQ6IGxvYWRQcm9ncmFtRnJvbVNjcmlwdCwKKyAg
bG9hZFByb2dyYW1Gcm9tU2NyaXB0RXhwZWN0RXJyb3I6IGxvYWRQcm9ncmFtRnJvbVNjcmlwdEV4
cGVjdEVycm9yLAorICBsb2FkU2hhZGVyOiBsb2FkU2hhZGVyLAorICBsb2FkU2hhZGVyRnJvbUZp
bGU6IGxvYWRTaGFkZXJGcm9tRmlsZSwKKyAgbG9hZFNoYWRlckZyb21TY3JpcHQ6IGxvYWRTaGFk
ZXJGcm9tU2NyaXB0LAorICBsb2FkU3RhbmRhcmRQcm9ncmFtOiBsb2FkU3RhbmRhcmRQcm9ncmFt
LAorICBsb2FkU3RhbmRhcmRWZXJ0ZXhTaGFkZXI6IGxvYWRTdGFuZGFyZFZlcnRleFNoYWRlciwK
KyAgbG9hZFN0YW5kYXJkRnJhZ21lbnRTaGFkZXI6IGxvYWRTdGFuZGFyZEZyYWdtZW50U2hhZGVy
LAorICBsb2FkVGV4dEZpbGVBc3luYzogbG9hZFRleHRGaWxlQXN5bmMsCisgIGxvYWRUZXh0dXJl
OiBsb2FkVGV4dHVyZSwKKyAgbG9nOiBsb2csCisgIGxvZ2dpbmdPZmY6IGxvZ2dpbmdPZmYsCisg
IG1ha2VJbWFnZTogbWFrZUltYWdlLAorICBlcnJvcjogZXJyb3IsCisgIHNoYWxsb3dDb3B5T2Jq
ZWN0OiBzaGFsbG93Q29weU9iamVjdCwKKyAgc2V0dXBDb2xvclF1YWQ6IHNldHVwQ29sb3JRdWFk
LAorICBzZXR1cFByb2dyYW06IHNldHVwUHJvZ3JhbSwKKyAgc2V0dXBRdWFkOiBzZXR1cFF1YWQs
CisgIHNldHVwUXVhZFdpdGhPcHRpb25zOiBzZXR1cFF1YWRXaXRoT3B0aW9ucywKKyAgc2V0dXBT
aW1wbGVDb2xvckZyYWdtZW50U2hhZGVyOiBzZXR1cFNpbXBsZUNvbG9yRnJhZ21lbnRTaGFkZXIs
CisgIHNldHVwU2ltcGxlQ29sb3JWZXJ0ZXhTaGFkZXI6IHNldHVwU2ltcGxlQ29sb3JWZXJ0ZXhT
aGFkZXIsCisgIHNldHVwU2ltcGxlQ29sb3JQcm9ncmFtOiBzZXR1cFNpbXBsZUNvbG9yUHJvZ3Jh
bSwKKyAgc2V0dXBTaW1wbGVUZXh0dXJlRnJhZ21lbnRTaGFkZXI6IHNldHVwU2ltcGxlVGV4dHVy
ZUZyYWdtZW50U2hhZGVyLAorICBzZXR1cFNpbXBsZVRleHR1cmVQcm9ncmFtOiBzZXR1cFNpbXBs
ZVRleHR1cmVQcm9ncmFtLAorICBzZXR1cFNpbXBsZVRleHR1cmVWZXJ0ZXhTaGFkZXI6IHNldHVw
U2ltcGxlVGV4dHVyZVZlcnRleFNoYWRlciwKKyAgc2V0dXBTaW1wbGVWZXJ0ZXhDb2xvckZyYWdt
ZW50U2hhZGVyOiBzZXR1cFNpbXBsZVZlcnRleENvbG9yRnJhZ21lbnRTaGFkZXIsCisgIHNldHVw
U2ltcGxlVmVydGV4Q29sb3JQcm9ncmFtOiBzZXR1cFNpbXBsZVZlcnRleENvbG9yUHJvZ3JhbSwK
KyAgc2V0dXBTaW1wbGVWZXJ0ZXhDb2xvclZlcnRleFNoYWRlcjogc2V0dXBTaW1wbGVWZXJ0ZXhD
b2xvclZlcnRleFNoYWRlciwKKyAgc2V0dXBOb1RleENvb3JkVGV4dHVyZVByb2dyYW06IHNldHVw
Tm9UZXhDb29yZFRleHR1cmVQcm9ncmFtLAorICBzZXR1cE5vVGV4Q29vcmRUZXh0dXJlVmVydGV4
U2hhZGVyOiBzZXR1cE5vVGV4Q29vcmRUZXh0dXJlVmVydGV4U2hhZGVyLAorICBzZXR1cFRleHR1
cmVkUXVhZDogc2V0dXBUZXh0dXJlZFF1YWQsCisgIHNldHVwVGV4dHVyZWRRdWFkV2l0aFRleENv
b3Jkczogc2V0dXBUZXh0dXJlZFF1YWRXaXRoVGV4Q29vcmRzLAorICBzZXR1cFVuaXRRdWFkOiBz
ZXR1cFVuaXRRdWFkLAorICBzZXR1cFVuaXRRdWFkV2l0aFRleENvb3Jkczogc2V0dXBVbml0UXVh
ZFdpdGhUZXhDb29yZHMsCisgIHNldEZsb2F0RHJhd0NvbG9yOiBzZXRGbG9hdERyYXdDb2xvciwK
KyAgc2V0VUJ5dGVEcmF3Q29sb3I6IHNldFVCeXRlRHJhd0NvbG9yLAorICBzdGFydHNXaXRoOiBz
dGFydHNXaXRoLAorICBzaG91bGRHZW5lcmF0ZUdMRXJyb3I6IHNob3VsZEdlbmVyYXRlR0xFcnJv
ciwKKyAgcmVhZEZpbGU6IHJlYWRGaWxlLAorICByZWFkRmlsZUxpc3Q6IHJlYWRGaWxlTGlzdCwK
KyAgcmVwbGFjZVBhcmFtczogcmVwbGFjZVBhcmFtcywKKyAgcmVxdWVzdEFuaW1GcmFtZTogcmVx
dWVzdEFuaW1GcmFtZSwKKyAgd2FpdEZvckNvbXBvc2l0ZTogd2FpdEZvckNvbXBvc2l0ZSwKKwor
ICBub25lOiBmYWxzZQorfTsKKworfSgpKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmds
L3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3Jlc291cmNlcy93ZWJnbC10
ZXN0LmpzIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29u
Zm9ybWFuY2UvcmVzb3VyY2VzL3dlYmdsLXRlc3QuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTE2MjQ0ZTM5NWYy
NzdlY2IwZjc1Mjc1N2MzODBjMTEyODI2Mjk1YQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3Jlc291cmNl
cy93ZWJnbC10ZXN0LmpzCkBAIC0wLDAgKzEsMTA2IEBACisvKgorKiogQ29weXJpZ2h0IChjKSAy
MDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBn
cmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29w
eSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMg
KHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCBy
ZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0
byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJs
aWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBw
ZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBz
bywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBh
Ym92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJl
IGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRo
ZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwg
V0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5D
TFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRB
QklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VN
RU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERF
UlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lT
RSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFU
RVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyov
CisKK2Z1bmN0aW9uIHdlYmdsVGVzdExvZyhtc2cpIHsKKyAgaWYgKHdpbmRvdy5jb25zb2xlICYm
IHdpbmRvdy5jb25zb2xlLmxvZykgeworICAgIHdpbmRvdy5jb25zb2xlLmxvZyhtc2cpOworICB9
CisgIGlmIChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29uc29sZSIpKSB7CisgICAgdmFyIGxv
ZyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb25zb2xlIik7CisgICAgbG9nLmlubmVySFRN
TCArPSBtc2cgKyAiPGJyPiI7CisgIH0KK30KKworZnVuY3Rpb24gZ2V0R0xFcnJvckFzU3RyaW5n
KGN0eCwgZXJyKSB7CisgIGlmIChlcnIgPT09IGN0eC5OT19FUlJPUikgeworICAgIHJldHVybiAi
Tk9fRVJST1IiOworICB9CisgIGZvciAodmFyIG5hbWUgaW4gY3R4KSB7CisgICAgaWYgKGN0eFtu
YW1lXSA9PT0gZXJyKSB7CisgICAgICByZXR1cm4gbmFtZTsKKyAgICB9CisgIH0KKyAgcmV0dXJu
ICIweCIgKyBlcnIudG9TdHJpbmcoMTYpOworfQorCisvLyBQYXNzIHVuZGVmaW5lZCBmb3IgZ2xF
cnJvciB0byB0ZXN0IHRoYXQgaXQgYXQgbGVhc3QgdGhyb3dzIHNvbWUgZXJyb3IKK2Z1bmN0aW9u
IHNob3VsZEdlbmVyYXRlR0xFcnJvcihjdHgsIGdsRXJyb3JzLCBldmFsU3RyKSB7CisgIGlmICgh
Z2xFcnJvcnMubGVuZ3RoKSB7CisgICAgZ2xFcnJvcnMgPSBbZ2xFcnJvcnNdOworICB9CisgIHZh
ciBleGNlcHRpb247CisgIHRyeSB7CisgICAgZXZhbChldmFsU3RyKTsKKyAgfSBjYXRjaCAoZSkg
eworICAgIGV4Y2VwdGlvbiA9IGU7CisgIH0KKyAgaWYgKGV4Y2VwdGlvbikgeworICAgIHRlc3RG
YWlsZWQoZXZhbFN0ciArICIgdGhyZXcgZXhjZXB0aW9uICIgKyBleGNlcHRpb24pOworICB9IGVs
c2UgeworICAgIHZhciBlcnIgPSBjdHguZ2V0RXJyb3IoKTsKKyAgICB2YXIgZXJyU3RycyA9IFtd
OworICAgIGZvciAodmFyIGlpID0gMDsgaWkgPCBnbEVycm9ycy5sZW5ndGg7ICsraWkpIHsKKyAg
ICAgIGVyclN0cnMucHVzaChnZXRHTEVycm9yQXNTdHJpbmcoY3R4LCBnbEVycm9yc1tpaV0pKTsK
KyAgICB9CisgICAgdmFyIGV4cGVjdGVkID0gZXJyU3Rycy5qb2luKCIgb3IgIik7CisgICAgaWYg
KGdsRXJyb3JzLmluZGV4T2YoZXJyKSA8IDApIHsKKyAgICAgIHRlc3RGYWlsZWQoZXZhbFN0ciAr
ICIgZXhwZWN0ZWQ6ICIgKyBleHBlY3RlZCArICIuIFdhcyAiICsgZ2V0R0xFcnJvckFzU3RyaW5n
KGN0eCwgZXJyKSArICIuIik7CisgICAgfSBlbHNlIHsKKyAgICAgIHZhciBtc2cgPSAoZ2xFcnJv
cnMubGVuZ3RoID09IDEpID8gIiBnZW5lcmF0ZWQgZXhwZWN0ZWQgR0wgZXJyb3I6ICIgOgorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiIGdlbmVyYXRlZCBvbmUgb2Yg
ZXhwZWN0ZWQgR0wgZXJyb3JzOiAiOworICAgICAgdGVzdFBhc3NlZChldmFsU3RyICsgbXNnICsg
ZXhwZWN0ZWQgKyAiLiIpOworICAgIH0KKyAgfQorfQorCisvKioKKyAqIFRlc3RzIHRoYXQgdGhl
IGZpcnN0IGVycm9yIEdMIHJldHVybnMgaXMgdGhlIHNwZWNpZmllZCBlcnJvci4KKyAqIEBwYXJh
bSB7IVdlYkdMQ29udGV4dH0gZ2wgVGhlIFdlYkdMQ29udGV4dCB0byB1c2UuCisgKiBAcGFyYW0g
e251bWJlcnwhQXJyYXkuPG51bWJlcj59IGdsRXJyb3IgVGhlIGV4cGVjdGVkIGdsCisgKiAgICAg
ICAgZXJyb3IuIE11bHRpcGxlIGVycm9ycyBjYW4gYmUgcGFzc2VkIGluIHVzaW5nIGFuCisgKiAg
ICAgICAgYXJyYXkuCisgKiBAcGFyYW0ge3N0cmluZ30gb3B0X21zZyBPcHRpb25hbCBhZGRpdGlv
bmFsIG1lc3NhZ2UuCisgKi8KK2Z1bmN0aW9uIGdsRXJyb3JTaG91bGRCZShnbCwgZ2xFcnJvcnMs
IG9wdF9tc2cpIHsKKyAgaWYgKCFnbEVycm9ycy5sZW5ndGgpIHsKKyAgICBnbEVycm9ycyA9IFtn
bEVycm9yc107CisgIH0KKyAgb3B0X21zZyA9IG9wdF9tc2cgfHwgIiI7CisgIHZhciBlcnIgPSBn
bC5nZXRFcnJvcigpOworICB2YXIgbmR4ID0gZ2xFcnJvcnMuaW5kZXhPZihlcnIpOworICB2YXIg
ZXJyU3RycyA9IFtdOworICBmb3IgKHZhciBpaSA9IDA7IGlpIDwgZ2xFcnJvcnMubGVuZ3RoOyAr
K2lpKSB7CisgICAgZXJyU3Rycy5wdXNoKGdldEdMRXJyb3JBc1N0cmluZyhnbCwgZ2xFcnJvcnNb
aWldKSk7CisgIH0KKyAgdmFyIGV4cGVjdGVkID0gZXJyU3Rycy5qb2luKCIgb3IgIik7CisgIGlm
IChuZHggPCAwKSB7CisgICAgdmFyIG1zZyA9ICJnZXRFcnJvciBleHBlY3RlZCIgKyAoKGdsRXJy
b3JzLmxlbmd0aCA+IDEpID8gIiBvbmUgb2Y6ICIgOiAiOiAiKTsKKyAgICB0ZXN0RmFpbGVkKG1z
ZyArIGV4cGVjdGVkICsgICIuIFdhcyAiICsgZ2V0R0xFcnJvckFzU3RyaW5nKGdsLCBlcnIpICsg
IiA6ICIgKyBvcHRfbXNnKTsKKyAgfSBlbHNlIHsKKyAgICB2YXIgbXNnID0gImdldEVycm9yIHdh
cyAiICsgKChnbEVycm9ycy5sZW5ndGggPiAxKSA/ICJvbmUgb2Y6ICIgOiAiZXhwZWN0ZWQgdmFs
dWU6ICIpOworICAgIHRlc3RQYXNzZWQobXNnICsgZXhwZWN0ZWQgKyAiIDogIiArIG9wdF9tc2cp
OworICB9Cit9OworCisKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2Vz
L3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVzb3VyY2VzL3plcm8tYWxwaGEucG5nIGIv
TGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uv
cmVzb3VyY2VzL3plcm8tYWxwaGEucG5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU1NTYzMGMxMTYwMzhmOTBlZjcy
Y2RkMDJiNjY0ZjhmMGRhYTA2ZTMKR0lUIGJpbmFyeSBwYXRjaApsaXRlcmFsIDg5CnpjbWVBU0BO
PyhvbEh5YHVWQnEhaWEwdnBeJXBsQ2MxfC04WXcoYld+M1o1PkdBcio1fVBqMkw4RnlMU3x4UDFF
SQptcjsteUhsfXcycl4wb159OWM3PkV6KT4kKWFCM0cmRXJYfTRwVVhPQGdlQ3htJmxzdXoKCmxp
dGVyYWwgMApIY21WP2QwMDAwMQoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291
cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL3Jlc291cmNlcy9kZXNrdG9wLWdsLWNvbnN0YW50cy5qcyBi
L0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL3Jlc291cmNlcy9k
ZXNrdG9wLWdsLWNvbnN0YW50cy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42YmVhMGFjYjRlNGZhODhmYTE2ODM0
ZDI0YzQwYjA5YzI3ZTQ3NGM2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wv
cmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvcmVzb3VyY2VzL2Rlc2t0b3AtZ2wtY29uc3RhbnRz
LmpzCkBAIC0wLDAgKzEsMjY0NSBAQAorLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hy
b25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJl
ZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBz
b2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJN
YXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24s
IGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5
LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5k
L29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNv
bnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3Qg
dG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJp
Z2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAor
KiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxz
LgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FS
UkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQg
Tk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElO
IE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJM
RSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcg
RlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBU
SEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCisvLyBEZWZp
bmVzIGEgYnVuY2ggb2YgRGVza3RvcEdMIGNvbnN0YW50cyBzbyB3ZSBjYW4gbWFrZSBzdXJlIFdl
YkdMCisvLyBpbXBsZW1lbnRhdGlvbnMgZGlzYWxsb3cgdGhlbS4KKwordmFyIGRlc2t0b3BHTCA9
IHsKKyAgJ01JTic6IDB4ODAwNywKKyAgJ01BWCc6IDB4ODAwOCwKKyAgJ1FVQURTJzogMHgwMDA3
LAorICAnUVVBRF9TVFJJUCc6IDB4MDAwOCwKKyAgJ1BPTFlHT04nOiAweDAwMDksCisgICcxJzog
MHgwMDAxLAorICAnMic6IDB4MDAwMiwKKyAgJzMnOiAweDAwMDMsCisgICc0JzogMHgwMDA0LAor
ICAnU1RBVElDX1JFQUQnOiAweDg4RTUsCisgICdDTElQX1BMQU5FMCc6IDB4MzAwMCwKKyAgJ1BF
UlNQRUNUSVZFX0NPUlJFQ1RJT05fSElOVCc6IDB4MEM1MCwKKyAgJ0FDQ1VNX0JVRkZFUl9CSVQn
OiAweDAyMDAsCisgICdSR0I0JzogMHg4MDRGLAorICAnUkdCNSc6IDB4ODA1MCwKKyAgJ1JHQjgn
OiAweDgwNTEsCisgICdSR0IxMCc6IDB4ODA1MiwKKyAgJ1JHQjEyJzogMHg4MDUzLAorICAnUkdC
MTYnOiAweDgwNTQsCisgICdSR0JBMic6IDB4ODA1NSwKKyAgJ1JHQkE0JzogMHg4MDU2LAorICAn
UkdCNV9BMSc6IDB4ODA1NywKKyAgJ1JHQkE4JzogMHg4MDU4LAorICAnUkdCMTBfQTInOiAweDgw
NTksCisgICdSR0JBMTInOiAweDgwNUEsCisgICdSR0JBMTYnOiAweDgwNUIsCisgICdTTU9PVEhf
UE9JTlRfU0laRV9SQU5HRSc6IDB4MEIxMiwKKyAgJ1NNT09USF9QT0lOVF9TSVpFX0dSQU5VTEFS
SVRZJzogMHgwQjEzLAorICAnU01PT1RIX0xJTkVfV0lEVEhfUkFOR0UnOiAweDBCMjIsCisgICdT
TU9PVEhfTElORV9XSURUSF9HUkFOVUxBUklUWSc6IDB4MEIyMywKKyAgJ1VOU0lHTkVEX0JZVEVf
M18zXzInOiAweDgwMzIsCisgICdVTlNJR05FRF9TSE9SVF80XzRfNF80JzogMHg4MDMzLAorICAn
VU5TSUdORURfU0hPUlRfNV81XzVfMSc6IDB4ODAzNCwKKyAgJ1VOU0lHTkVEX0lOVF84XzhfOF84
JzogMHg4MDM1LAorICAnVU5TSUdORURfSU5UXzEwXzEwXzEwXzInOiAweDgwMzYsCisgICdSRVND
QUxFX05PUk1BTCc6IDB4ODAzQSwKKyAgJ1RFWFRVUkVfQklORElOR18zRCc6IDB4ODA2QSwKKyAg
J1BBQ0tfU0tJUF9JTUFHRVMnOiAweDgwNkIsCisgICdQQUNLX0lNQUdFX0hFSUdIVCc6IDB4ODA2
QywKKyAgJ1VOUEFDS19TS0lQX0lNQUdFUyc6IDB4ODA2RCwKKyAgJ1VOUEFDS19JTUFHRV9IRUlH
SFQnOiAweDgwNkUsCisgICdURVhUVVJFXzNEJzogMHg4MDZGLAorICAnUFJPWFlfVEVYVFVSRV8z
RCc6IDB4ODA3MCwKKyAgJ1RFWFRVUkVfREVQVEgnOiAweDgwNzEsCisgICdURVhUVVJFX1dSQVBf
Uic6IDB4ODA3MiwKKyAgJ01BWF8zRF9URVhUVVJFX1NJWkUnOiAweDgwNzMsCisgICdCR1InOiAw
eDgwRTAsCisgICdCR1JBJzogMHg4MEUxLAorICAnTUFYX0VMRU1FTlRTX1ZFUlRJQ0VTJzogMHg4
MEU4LAorICAnTUFYX0VMRU1FTlRTX0lORElDRVMnOiAweDgwRTksCisgICdDTEFNUF9UT19FREdF
JzogMHg4MTJGLAorICAnVEVYVFVSRV9NSU5fTE9EJzogMHg4MTNBLAorICAnVEVYVFVSRV9NQVhf
TE9EJzogMHg4MTNCLAorICAnVEVYVFVSRV9CQVNFX0xFVkVMJzogMHg4MTNDLAorICAnVEVYVFVS
RV9NQVhfTEVWRUwnOiAweDgxM0QsCisgICdMSUdIVF9NT0RFTF9DT0xPUl9DT05UUk9MJzogMHg4
MUY4LAorICAnU0lOR0xFX0NPTE9SJzogMHg4MUY5LAorICAnU0VQQVJBVEVfU1BFQ1VMQVJfQ09M
T1InOiAweDgxRkEsCisgICdVTlNJR05FRF9CWVRFXzJfM18zX1JFVic6IDB4ODM2MiwKKyAgJ1VO
U0lHTkVEX1NIT1JUXzVfNl81JzogMHg4MzYzLAorICAnVU5TSUdORURfU0hPUlRfNV82XzVfUkVW
JzogMHg4MzY0LAorICAnVU5TSUdORURfU0hPUlRfNF80XzRfNF9SRVYnOiAweDgzNjUsCisgICdV
TlNJR05FRF9TSE9SVF8xXzVfNV81X1JFVic6IDB4ODM2NiwKKyAgJ1VOU0lHTkVEX0lOVF84Xzhf
OF84X1JFVic6IDB4ODM2NywKKyAgJ1VOU0lHTkVEX0lOVF8yXzEwXzEwXzEwX1JFVic6IDB4ODM2
OCwKKyAgJ0FMSUFTRURfUE9JTlRfU0laRV9SQU5HRSc6IDB4ODQ2RCwKKyAgJ0FMSUFTRURfTElO
RV9XSURUSF9SQU5HRSc6IDB4ODQ2RSwKKyAgJ01VTFRJU0FNUExFJzogMHg4MDlELAorICAnU0FN
UExFX0FMUEhBX1RPX0NPVkVSQUdFJzogMHg4MDlFLAorICAnU0FNUExFX0FMUEhBX1RPX09ORSc6
IDB4ODA5RiwKKyAgJ1NBTVBMRV9DT1ZFUkFHRSc6IDB4ODBBMCwKKyAgJ1NBTVBMRV9CVUZGRVJT
JzogMHg4MEE4LAorICAnU0FNUExFUyc6IDB4ODBBOSwKKyAgJ1NBTVBMRV9DT1ZFUkFHRV9WQUxV
RSc6IDB4ODBBQSwKKyAgJ1NBTVBMRV9DT1ZFUkFHRV9JTlZFUlQnOiAweDgwQUIsCisgICdDTEFN
UF9UT19CT1JERVInOiAweDgxMkQsCisgICdURVhUVVJFMCc6IDB4ODRDMCwKKyAgJ1RFWFRVUkUx
JzogMHg4NEMxLAorICAnVEVYVFVSRTInOiAweDg0QzIsCisgICdURVhUVVJFMyc6IDB4ODRDMywK
KyAgJ1RFWFRVUkU0JzogMHg4NEM0LAorICAnVEVYVFVSRTUnOiAweDg0QzUsCisgICdURVhUVVJF
Nic6IDB4ODRDNiwKKyAgJ1RFWFRVUkU3JzogMHg4NEM3LAorICAnVEVYVFVSRTgnOiAweDg0Qzgs
CisgICdURVhUVVJFOSc6IDB4ODRDOSwKKyAgJ1RFWFRVUkUxMCc6IDB4ODRDQSwKKyAgJ1RFWFRV
UkUxMSc6IDB4ODRDQiwKKyAgJ1RFWFRVUkUxMic6IDB4ODRDQywKKyAgJ1RFWFRVUkUxMyc6IDB4
ODRDRCwKKyAgJ1RFWFRVUkUxNCc6IDB4ODRDRSwKKyAgJ1RFWFRVUkUxNSc6IDB4ODRDRiwKKyAg
J1RFWFRVUkUxNic6IDB4ODREMCwKKyAgJ1RFWFRVUkUxNyc6IDB4ODREMSwKKyAgJ1RFWFRVUkUx
OCc6IDB4ODREMiwKKyAgJ1RFWFRVUkUxOSc6IDB4ODREMywKKyAgJ1RFWFRVUkUyMCc6IDB4ODRE
NCwKKyAgJ1RFWFRVUkUyMSc6IDB4ODRENSwKKyAgJ1RFWFRVUkUyMic6IDB4ODRENiwKKyAgJ1RF
WFRVUkUyMyc6IDB4ODRENywKKyAgJ1RFWFRVUkUyNCc6IDB4ODREOCwKKyAgJ1RFWFRVUkUyNSc6
IDB4ODREOSwKKyAgJ1RFWFRVUkUyNic6IDB4ODREQSwKKyAgJ1RFWFRVUkUyNyc6IDB4ODREQiwK
KyAgJ1RFWFRVUkUyOCc6IDB4ODREQywKKyAgJ1RFWFRVUkUyOSc6IDB4ODRERCwKKyAgJ1RFWFRV
UkUzMCc6IDB4ODRERSwKKyAgJ1RFWFRVUkUzMSc6IDB4ODRERiwKKyAgJ0FDVElWRV9URVhUVVJF
JzogMHg4NEUwLAorICAnQ0xJRU5UX0FDVElWRV9URVhUVVJFJzogMHg4NEUxLAorICAnTUFYX1RF
WFRVUkVfVU5JVFMnOiAweDg0RTIsCisgICdUUkFOU1BPU0VfTU9ERUxWSUVXX01BVFJJWCc6IDB4
ODRFMywKKyAgJ1RSQU5TUE9TRV9QUk9KRUNUSU9OX01BVFJJWCc6IDB4ODRFNCwKKyAgJ1RSQU5T
UE9TRV9URVhUVVJFX01BVFJJWCc6IDB4ODRFNSwKKyAgJ1RSQU5TUE9TRV9DT0xPUl9NQVRSSVgn
OiAweDg0RTYsCisgICdTVUJUUkFDVCc6IDB4ODRFNywKKyAgJ0NPTVBSRVNTRURfQUxQSEEnOiAw
eDg0RTksCisgICdDT01QUkVTU0VEX0xVTUlOQU5DRSc6IDB4ODRFQSwKKyAgJ0NPTVBSRVNTRURf
TFVNSU5BTkNFX0FMUEhBJzogMHg4NEVCLAorICAnQ09NUFJFU1NFRF9JTlRFTlNJVFknOiAweDg0
RUMsCisgICdDT01QUkVTU0VEX1JHQic6IDB4ODRFRCwKKyAgJ0NPTVBSRVNTRURfUkdCQSc6IDB4
ODRFRSwKKyAgJ1RFWFRVUkVfQ09NUFJFU1NJT05fSElOVCc6IDB4ODRFRiwKKyAgJ05PUk1BTF9N
QVAnOiAweDg1MTEsCisgICdSRUZMRUNUSU9OX01BUCc6IDB4ODUxMiwKKyAgJ1RFWFRVUkVfQ1VC
RV9NQVAnOiAweDg1MTMsCisgICdURVhUVVJFX0JJTkRJTkdfQ1VCRV9NQVAnOiAweDg1MTQsCisg
ICdURVhUVVJFX0NVQkVfTUFQX1BPU0lUSVZFX1gnOiAweDg1MTUsCisgICdURVhUVVJFX0NVQkVf
TUFQX05FR0FUSVZFX1gnOiAweDg1MTYsCisgICdURVhUVVJFX0NVQkVfTUFQX1BPU0lUSVZFX1kn
OiAweDg1MTcsCisgICdURVhUVVJFX0NVQkVfTUFQX05FR0FUSVZFX1knOiAweDg1MTgsCisgICdU
RVhUVVJFX0NVQkVfTUFQX1BPU0lUSVZFX1onOiAweDg1MTksCisgICdURVhUVVJFX0NVQkVfTUFQ
X05FR0FUSVZFX1onOiAweDg1MUEsCisgICdQUk9YWV9URVhUVVJFX0NVQkVfTUFQJzogMHg4NTFC
LAorICAnTUFYX0NVQkVfTUFQX1RFWFRVUkVfU0laRSc6IDB4ODUxQywKKyAgJ0NPTUJJTkUnOiAw
eDg1NzAsCisgICdDT01CSU5FX1JHQic6IDB4ODU3MSwKKyAgJ0NPTUJJTkVfQUxQSEEnOiAweDg1
NzIsCisgICdSR0JfU0NBTEUnOiAweDg1NzMsCisgICdBRERfU0lHTkVEJzogMHg4NTc0LAorICAn
SU5URVJQT0xBVEUnOiAweDg1NzUsCisgICdDT05TVEFOVCc6IDB4ODU3NiwKKyAgJ1BSSU1BUllf
Q09MT1InOiAweDg1NzcsCisgICdQUkVWSU9VUyc6IDB4ODU3OCwKKyAgJ1NPVVJDRTBfUkdCJzog
MHg4NTgwLAorICAnU09VUkNFMV9SR0InOiAweDg1ODEsCisgICdTT1VSQ0UyX1JHQic6IDB4ODU4
MiwKKyAgJ1NPVVJDRTBfQUxQSEEnOiAweDg1ODgsCisgICdTT1VSQ0UxX0FMUEhBJzogMHg4NTg5
LAorICAnU09VUkNFMl9BTFBIQSc6IDB4ODU4QSwKKyAgJ09QRVJBTkQwX1JHQic6IDB4ODU5MCwK
KyAgJ09QRVJBTkQxX1JHQic6IDB4ODU5MSwKKyAgJ09QRVJBTkQyX1JHQic6IDB4ODU5MiwKKyAg
J09QRVJBTkQwX0FMUEhBJzogMHg4NTk4LAorICAnT1BFUkFORDFfQUxQSEEnOiAweDg1OTksCisg
ICdPUEVSQU5EMl9BTFBIQSc6IDB4ODU5QSwKKyAgJ1RFWFRVUkVfQ09NUFJFU1NFRF9JTUFHRV9T
SVpFJzogMHg4NkEwLAorICAnVEVYVFVSRV9DT01QUkVTU0VEJzogMHg4NkExLAorICAnTlVNX0NP
TVBSRVNTRURfVEVYVFVSRV9GT1JNQVRTJzogMHg4NkEyLAorICAnQ09NUFJFU1NFRF9URVhUVVJF
X0ZPUk1BVFMnOiAweDg2QTMsCisgICdET1QzX1JHQic6IDB4ODZBRSwKKyAgJ0RPVDNfUkdCQSc6
IDB4ODZBRiwKKyAgJ01VTFRJU0FNUExFX0JJVCc6IDB4MjAwMDAwMDAsCisgICdCTEVORF9EU1Rf
UkdCJzogMHg4MEM4LAorICAnQkxFTkRfU1JDX1JHQic6IDB4ODBDOSwKKyAgJ0JMRU5EX0RTVF9B
TFBIQSc6IDB4ODBDQSwKKyAgJ0JMRU5EX1NSQ19BTFBIQSc6IDB4ODBDQiwKKyAgJ1BPSU5UX1NJ
WkVfTUlOJzogMHg4MTI2LAorICAnUE9JTlRfU0laRV9NQVgnOiAweDgxMjcsCisgICdQT0lOVF9G
QURFX1RIUkVTSE9MRF9TSVpFJzogMHg4MTI4LAorICAnUE9JTlRfRElTVEFOQ0VfQVRURU5VQVRJ
T04nOiAweDgxMjksCisgICdHRU5FUkFURV9NSVBNQVAnOiAweDgxOTEsCisgICdHRU5FUkFURV9N
SVBNQVBfSElOVCc6IDB4ODE5MiwKKyAgJ0RFUFRIX0NPTVBPTkVOVDE2JzogMHg4MUE1LAorICAn
REVQVEhfQ09NUE9ORU5UMjQnOiAweDgxQTYsCisgICdERVBUSF9DT01QT05FTlQzMic6IDB4ODFB
NywKKyAgJ01JUlJPUkVEX1JFUEVBVCc6IDB4ODM3MCwKKyAgJ0ZPR19DT09SRElOQVRFX1NPVVJD
RSc6IDB4ODQ1MCwKKyAgJ0ZPR19DT09SRElOQVRFJzogMHg4NDUxLAorICAnRlJBR01FTlRfREVQ
VEgnOiAweDg0NTIsCisgICdDVVJSRU5UX0ZPR19DT09SRElOQVRFJzogMHg4NDUzLAorICAnRk9H
X0NPT1JESU5BVEVfQVJSQVlfVFlQRSc6IDB4ODQ1NCwKKyAgJ0ZPR19DT09SRElOQVRFX0FSUkFZ
X1NUUklERSc6IDB4ODQ1NSwKKyAgJ0ZPR19DT09SRElOQVRFX0FSUkFZX1BPSU5URVInOiAweDg0
NTYsCisgICdGT0dfQ09PUkRJTkFURV9BUlJBWSc6IDB4ODQ1NywKKyAgJ0NPTE9SX1NVTSc6IDB4
ODQ1OCwKKyAgJ0NVUlJFTlRfU0VDT05EQVJZX0NPTE9SJzogMHg4NDU5LAorICAnU0VDT05EQVJZ
X0NPTE9SX0FSUkFZX1NJWkUnOiAweDg0NUEsCisgICdTRUNPTkRBUllfQ09MT1JfQVJSQVlfVFlQ
RSc6IDB4ODQ1QiwKKyAgJ1NFQ09OREFSWV9DT0xPUl9BUlJBWV9TVFJJREUnOiAweDg0NUMsCisg
ICdTRUNPTkRBUllfQ09MT1JfQVJSQVlfUE9JTlRFUic6IDB4ODQ1RCwKKyAgJ1NFQ09OREFSWV9D
T0xPUl9BUlJBWSc6IDB4ODQ1RSwKKyAgJ01BWF9URVhUVVJFX0xPRF9CSUFTJzogMHg4NEZELAor
ICAnVEVYVFVSRV9GSUxURVJfQ09OVFJPTCc6IDB4ODUwMCwKKyAgJ1RFWFRVUkVfTE9EX0JJQVMn
OiAweDg1MDEsCisgICdJTkNSX1dSQVAnOiAweDg1MDcsCisgICdERUNSX1dSQVAnOiAweDg1MDgs
CisgICdURVhUVVJFX0RFUFRIX1NJWkUnOiAweDg4NEEsCisgICdERVBUSF9URVhUVVJFX01PREUn
OiAweDg4NEIsCisgICdURVhUVVJFX0NPTVBBUkVfTU9ERSc6IDB4ODg0QywKKyAgJ1RFWFRVUkVf
Q09NUEFSRV9GVU5DJzogMHg4ODRELAorICAnQ09NUEFSRV9SX1RPX1RFWFRVUkUnOiAweDg4NEUs
CisgICdCVUZGRVJfU0laRSc6IDB4ODc2NCwKKyAgJ0JVRkZFUl9VU0FHRSc6IDB4ODc2NSwKKyAg
J1FVRVJZX0NPVU5URVJfQklUUyc6IDB4ODg2NCwKKyAgJ0NVUlJFTlRfUVVFUlknOiAweDg4NjUs
CisgICdRVUVSWV9SRVNVTFQnOiAweDg4NjYsCisgICdRVUVSWV9SRVNVTFRfQVZBSUxBQkxFJzog
MHg4ODY3LAorICAnQVJSQVlfQlVGRkVSJzogMHg4ODkyLAorICAnRUxFTUVOVF9BUlJBWV9CVUZG
RVInOiAweDg4OTMsCisgICdBUlJBWV9CVUZGRVJfQklORElORyc6IDB4ODg5NCwKKyAgJ0VMRU1F
TlRfQVJSQVlfQlVGRkVSX0JJTkRJTkcnOiAweDg4OTUsCisgICdWRVJURVhfQVJSQVlfQlVGRkVS
X0JJTkRJTkcnOiAweDg4OTYsCisgICdOT1JNQUxfQVJSQVlfQlVGRkVSX0JJTkRJTkcnOiAweDg4
OTcsCisgICdDT0xPUl9BUlJBWV9CVUZGRVJfQklORElORyc6IDB4ODg5OCwKKyAgJ0lOREVYX0FS
UkFZX0JVRkZFUl9CSU5ESU5HJzogMHg4ODk5LAorICAnVEVYVFVSRV9DT09SRF9BUlJBWV9CVUZG
RVJfQklORElORyc6IDB4ODg5QSwKKyAgJ0VER0VfRkxBR19BUlJBWV9CVUZGRVJfQklORElORyc6
IDB4ODg5QiwKKyAgJ1NFQ09OREFSWV9DT0xPUl9BUlJBWV9CVUZGRVJfQklORElORyc6IDB4ODg5
QywKKyAgJ0ZPR19DT09SRElOQVRFX0FSUkFZX0JVRkZFUl9CSU5ESU5HJzogMHg4ODlELAorICAn
V0VJR0hUX0FSUkFZX0JVRkZFUl9CSU5ESU5HJzogMHg4ODlFLAorICAnVkVSVEVYX0FUVFJJQl9B
UlJBWV9CVUZGRVJfQklORElORyc6IDB4ODg5RiwKKyAgJ1JFQURfT05MWSc6IDB4ODhCOCwKKyAg
J1dSSVRFX09OTFknOiAweDg4QjksCisgICdSRUFEX1dSSVRFJzogMHg4OEJBLAorICAnQlVGRkVS
X0FDQ0VTUyc6IDB4ODhCQiwKKyAgJ0JVRkZFUl9NQVBQRUQnOiAweDg4QkMsCisgICdCVUZGRVJf
TUFQX1BPSU5URVInOiAweDg4QkQsCisgICdTVFJFQU1fRFJBVyc6IDB4ODhFMCwKKyAgJ1NUUkVB
TV9SRUFEJzogMHg4OEUxLAorICAnU1RSRUFNX0NPUFknOiAweDg4RTIsCisgICdTVEFUSUNfRFJB
Vyc6IDB4ODhFNCwKKyAgJ1NUQVRJQ19SRUFEJzogMHg4OEU1LAorICAnU1RBVElDX0NPUFknOiAw
eDg4RTYsCisgICdEWU5BTUlDX0RSQVcnOiAweDg4RTgsCisgICdEWU5BTUlDX1JFQUQnOiAweDg4
RTksCisgICdEWU5BTUlDX0NPUFknOiAweDg4RUEsCisgICdTQU1QTEVTX1BBU1NFRCc6IDB4ODkx
NCwKKyAgJ1ZFUlRFWF9BVFRSSUJfQVJSQVlfRU5BQkxFRCc6IDB4ODYyMiwKKyAgJ1ZFUlRFWF9B
VFRSSUJfQVJSQVlfU0laRSc6IDB4ODYyMywKKyAgJ1ZFUlRFWF9BVFRSSUJfQVJSQVlfU1RSSURF
JzogMHg4NjI0LAorICAnVkVSVEVYX0FUVFJJQl9BUlJBWV9UWVBFJzogMHg4NjI1LAorICAnQ1VS
UkVOVF9WRVJURVhfQVRUUklCJzogMHg4NjI2LAorICAnVkVSVEVYX1BST0dSQU1fUE9JTlRfU0la
RSc6IDB4ODY0MiwKKyAgJ1ZFUlRFWF9QUk9HUkFNX1RXT19TSURFJzogMHg4NjQzLAorICAnVkVS
VEVYX0FUVFJJQl9BUlJBWV9QT0lOVEVSJzogMHg4NjQ1LAorICAnU1RFTkNJTF9CQUNLX0ZVTkMn
OiAweDg4MDAsCisgICdTVEVOQ0lMX0JBQ0tfRkFJTCc6IDB4ODgwMSwKKyAgJ1NURU5DSUxfQkFD
S19QQVNTX0RFUFRIX0ZBSUwnOiAweDg4MDIsCisgICdTVEVOQ0lMX0JBQ0tfUEFTU19ERVBUSF9Q
QVNTJzogMHg4ODAzLAorICAnTUFYX0RSQVdfQlVGRkVSUyc6IDB4ODgyNCwKKyAgJ0RSQVdfQlVG
RkVSMCc6IDB4ODgyNSwKKyAgJ0RSQVdfQlVGRkVSMSc6IDB4ODgyNiwKKyAgJ0RSQVdfQlVGRkVS
Mic6IDB4ODgyNywKKyAgJ0RSQVdfQlVGRkVSMyc6IDB4ODgyOCwKKyAgJ0RSQVdfQlVGRkVSNCc6
IDB4ODgyOSwKKyAgJ0RSQVdfQlVGRkVSNSc6IDB4ODgyQSwKKyAgJ0RSQVdfQlVGRkVSNic6IDB4
ODgyQiwKKyAgJ0RSQVdfQlVGRkVSNyc6IDB4ODgyQywKKyAgJ0RSQVdfQlVGRkVSOCc6IDB4ODgy
RCwKKyAgJ0RSQVdfQlVGRkVSOSc6IDB4ODgyRSwKKyAgJ0RSQVdfQlVGRkVSMTAnOiAweDg4MkYs
CisgICdEUkFXX0JVRkZFUjExJzogMHg4ODMwLAorICAnRFJBV19CVUZGRVIxMic6IDB4ODgzMSwK
KyAgJ0RSQVdfQlVGRkVSMTMnOiAweDg4MzIsCisgICdEUkFXX0JVRkZFUjE0JzogMHg4ODMzLAor
ICAnRFJBV19CVUZGRVIxNSc6IDB4ODgzNCwKKyAgJ0JMRU5EX0VRVUFUSU9OX0FMUEhBJzogMHg4
ODNELAorICAnUE9JTlRfU1BSSVRFJzogMHg4ODYxLAorICAnQ09PUkRfUkVQTEFDRSc6IDB4ODg2
MiwKKyAgJ01BWF9WRVJURVhfQVRUUklCUyc6IDB4ODg2OSwKKyAgJ1ZFUlRFWF9BVFRSSUJfQVJS
QVlfTk9STUFMSVpFRCc6IDB4ODg2QSwKKyAgJ01BWF9URVhUVVJFX0NPT1JEUyc6IDB4ODg3MSwK
KyAgJ01BWF9URVhUVVJFX0lNQUdFX1VOSVRTJzogMHg4ODcyLAorICAnRlJBR01FTlRfU0hBREVS
JzogMHg4QjMwLAorICAnVkVSVEVYX1NIQURFUic6IDB4OEIzMSwKKyAgJ01BWF9GUkFHTUVOVF9V
TklGT1JNX0NPTVBPTkVOVFMnOiAweDhCNDksCisgICdNQVhfVkVSVEVYX1VOSUZPUk1fQ09NUE9O
RU5UUyc6IDB4OEI0QSwKKyAgJ01BWF9WQVJZSU5HX0ZMT0FUUyc6IDB4OEI0QiwKKyAgJ01BWF9W
RVJURVhfVEVYVFVSRV9JTUFHRV9VTklUUyc6IDB4OEI0QywKKyAgJ01BWF9DT01CSU5FRF9URVhU
VVJFX0lNQUdFX1VOSVRTJzogMHg4QjRELAorICAnU0hBREVSX1RZUEUnOiAweDhCNEYsCisgICdG
TE9BVF9WRUMyJzogMHg4QjUwLAorICAnRkxPQVRfVkVDMyc6IDB4OEI1MSwKKyAgJ0ZMT0FUX1ZF
QzQnOiAweDhCNTIsCisgICdJTlRfVkVDMic6IDB4OEI1MywKKyAgJ0lOVF9WRUMzJzogMHg4QjU0
LAorICAnSU5UX1ZFQzQnOiAweDhCNTUsCisgICdCT09MJzogMHg4QjU2LAorICAnQk9PTF9WRUMy
JzogMHg4QjU3LAorICAnQk9PTF9WRUMzJzogMHg4QjU4LAorICAnQk9PTF9WRUM0JzogMHg4QjU5
LAorICAnRkxPQVRfTUFUMic6IDB4OEI1QSwKKyAgJ0ZMT0FUX01BVDMnOiAweDhCNUIsCisgICdG
TE9BVF9NQVQ0JzogMHg4QjVDLAorICAnU0FNUExFUl8xRCc6IDB4OEI1RCwKKyAgJ1NBTVBMRVJf
MkQnOiAweDhCNUUsCisgICdTQU1QTEVSXzNEJzogMHg4QjVGLAorICAnU0FNUExFUl9DVUJFJzog
MHg4QjYwLAorICAnU0FNUExFUl8xRF9TSEFET1cnOiAweDhCNjEsCisgICdTQU1QTEVSXzJEX1NI
QURPVyc6IDB4OEI2MiwKKyAgJ0RFTEVURV9TVEFUVVMnOiAweDhCODAsCisgICdDT01QSUxFX1NU
QVRVUyc6IDB4OEI4MSwKKyAgJ0xJTktfU1RBVFVTJzogMHg4QjgyLAorICAnVkFMSURBVEVfU1RB
VFVTJzogMHg4QjgzLAorICAnSU5GT19MT0dfTEVOR1RIJzogMHg4Qjg0LAorICAnQVRUQUNIRURf
U0hBREVSUyc6IDB4OEI4NSwKKyAgJ0FDVElWRV9VTklGT1JNUyc6IDB4OEI4NiwKKyAgJ0FDVElW
RV9VTklGT1JNX01BWF9MRU5HVEgnOiAweDhCODcsCisgICdTSEFERVJfU09VUkNFX0xFTkdUSCc6
IDB4OEI4OCwKKyAgJ0FDVElWRV9BVFRSSUJVVEVTJzogMHg4Qjg5LAorICAnQUNUSVZFX0FUVFJJ
QlVURV9NQVhfTEVOR1RIJzogMHg4QjhBLAorICAnRlJBR01FTlRfU0hBREVSX0RFUklWQVRJVkVf
SElOVCc6IDB4OEI4QiwKKyAgJ1NIQURJTkdfTEFOR1VBR0VfVkVSU0lPTic6IDB4OEI4QywKKyAg
J0NVUlJFTlRfUFJPR1JBTSc6IDB4OEI4RCwKKyAgJ1BPSU5UX1NQUklURV9DT09SRF9PUklHSU4n
OiAweDhDQTAsCisgICdMT1dFUl9MRUZUJzogMHg4Q0ExLAorICAnVVBQRVJfTEVGVCc6IDB4OENB
MiwKKyAgJ1NURU5DSUxfQkFDS19SRUYnOiAweDhDQTMsCisgICdTVEVOQ0lMX0JBQ0tfVkFMVUVf
TUFTSyc6IDB4OENBNCwKKyAgJ1NURU5DSUxfQkFDS19XUklURU1BU0snOiAweDhDQTUsCisgICdD
VVJSRU5UX1JBU1RFUl9TRUNPTkRBUllfQ09MT1InOiAweDg0NUYsCisgICdQSVhFTF9QQUNLX0JV
RkZFUic6IDB4ODhFQiwKKyAgJ1BJWEVMX1VOUEFDS19CVUZGRVInOiAweDg4RUMsCisgICdQSVhF
TF9QQUNLX0JVRkZFUl9CSU5ESU5HJzogMHg4OEVELAorICAnUElYRUxfVU5QQUNLX0JVRkZFUl9C
SU5ESU5HJzogMHg4OEVGLAorICAnRkxPQVRfTUFUMngzJzogMHg4QjY1LAorICAnRkxPQVRfTUFU
Mng0JzogMHg4QjY2LAorICAnRkxPQVRfTUFUM3gyJzogMHg4QjY3LAorICAnRkxPQVRfTUFUM3g0
JzogMHg4QjY4LAorICAnRkxPQVRfTUFUNHgyJzogMHg4QjY5LAorICAnRkxPQVRfTUFUNHgzJzog
MHg4QjZBLAorICAnU1JHQic6IDB4OEM0MCwKKyAgJ1NSR0I4JzogMHg4QzQxLAorICAnU1JHQl9B
TFBIQSc6IDB4OEM0MiwKKyAgJ1NSR0I4X0FMUEhBOCc6IDB4OEM0MywKKyAgJ1NMVU1JTkFOQ0Vf
QUxQSEEnOiAweDhDNDQsCisgICdTTFVNSU5BTkNFOF9BTFBIQTgnOiAweDhDNDUsCisgICdTTFVN
SU5BTkNFJzogMHg4QzQ2LAorICAnU0xVTUlOQU5DRTgnOiAweDhDNDcsCisgICdDT01QUkVTU0VE
X1NSR0InOiAweDhDNDgsCisgICdDT01QUkVTU0VEX1NSR0JfQUxQSEEnOiAweDhDNDksCisgICdD
T01QUkVTU0VEX1NMVU1JTkFOQ0UnOiAweDhDNEEsCisgICdDT01QUkVTU0VEX1NMVU1JTkFOQ0Vf
QUxQSEEnOiAweDhDNEIsCisgICdDT05URVhUX0ZMQUdfRk9SV0FSRF9DT01QQVRJQkxFX0JJVCc6
IDB4MDAwMSwKKyAgJ01BSk9SX1ZFUlNJT04nOiAweDgyMUIsCisgICdNSU5PUl9WRVJTSU9OJzog
MHg4MjFDLAorICAnTlVNX0VYVEVOU0lPTlMnOiAweDgyMUQsCisgICdDT05URVhUX0ZMQUdTJzog
MHg4MjFFLAorICAnREVQVEhfQlVGRkVSJzogMHg4MjIzLAorICAnU1RFTkNJTF9CVUZGRVInOiAw
eDgyMjQsCisgICdDT01QUkVTU0VEX1JFRCc6IDB4ODIyNSwKKyAgJ0NPTVBSRVNTRURfUkcnOiAw
eDgyMjYsCisgICdSR0JBMzJGJzogMHg4ODE0LAorICAnUkdCMzJGJzogMHg4ODE1LAorICAnUkdC
QTE2Ric6IDB4ODgxQSwKKyAgJ1JHQjE2Ric6IDB4ODgxQiwKKyAgJ1ZFUlRFWF9BVFRSSUJfQVJS
QVlfSU5URUdFUic6IDB4ODhGRCwKKyAgJ01BWF9BUlJBWV9URVhUVVJFX0xBWUVSUyc6IDB4ODhG
RiwKKyAgJ01JTl9QUk9HUkFNX1RFWEVMX09GRlNFVCc6IDB4ODkwNCwKKyAgJ01BWF9QUk9HUkFN
X1RFWEVMX09GRlNFVCc6IDB4ODkwNSwKKyAgJ0NMQU1QX1ZFUlRFWF9DT0xPUic6IDB4ODkxQSwK
KyAgJ0NMQU1QX0ZSQUdNRU5UX0NPTE9SJzogMHg4OTFCLAorICAnQ0xBTVBfUkVBRF9DT0xPUic6
IDB4ODkxQywKKyAgJ0ZJWEVEX09OTFknOiAweDg5MUQsCisgICdURVhUVVJFX1JFRF9UWVBFJzog
MHg4QzEwLAorICAnVEVYVFVSRV9HUkVFTl9UWVBFJzogMHg4QzExLAorICAnVEVYVFVSRV9CTFVF
X1RZUEUnOiAweDhDMTIsCisgICdURVhUVVJFX0FMUEhBX1RZUEUnOiAweDhDMTMsCisgICdURVhU
VVJFX0xVTUlOQU5DRV9UWVBFJzogMHg4QzE0LAorICAnVEVYVFVSRV9JTlRFTlNJVFlfVFlQRSc6
IDB4OEMxNSwKKyAgJ1RFWFRVUkVfREVQVEhfVFlQRSc6IDB4OEMxNiwKKyAgJ1VOU0lHTkVEX05P
Uk1BTElaRUQnOiAweDhDMTcsCisgICdURVhUVVJFXzFEX0FSUkFZJzogMHg4QzE4LAorICAnUFJP
WFlfVEVYVFVSRV8xRF9BUlJBWSc6IDB4OEMxOSwKKyAgJ1RFWFRVUkVfMkRfQVJSQVknOiAweDhD
MUEsCisgICdQUk9YWV9URVhUVVJFXzJEX0FSUkFZJzogMHg4QzFCLAorICAnVEVYVFVSRV9CSU5E
SU5HXzFEX0FSUkFZJzogMHg4QzFDLAorICAnVEVYVFVSRV9CSU5ESU5HXzJEX0FSUkFZJzogMHg4
QzFELAorICAnUjExRl9HMTFGX0IxMEYnOiAweDhDM0EsCisgICdVTlNJR05FRF9JTlRfMTBGXzEx
Rl8xMUZfUkVWJzogMHg4QzNCLAorICAnUkdCOV9FNSc6IDB4OEMzRCwKKyAgJ1VOU0lHTkVEX0lO
VF81XzlfOV85X1JFVic6IDB4OEMzRSwKKyAgJ1RFWFRVUkVfU0hBUkVEX1NJWkUnOiAweDhDM0Ys
CisgICdUUkFOU0ZPUk1fRkVFREJBQ0tfVkFSWUlOR19NQVhfTEVOR1RIJzogMHg4Qzc2LAorICAn
VFJBTlNGT1JNX0ZFRURCQUNLX0JVRkZFUl9NT0RFJzogMHg4QzdGLAorICAnTUFYX1RSQU5TRk9S
TV9GRUVEQkFDS19TRVBBUkFURV9DT01QT05FTlRTJzogMHg4QzgwLAorICAnVFJBTlNGT1JNX0ZF
RURCQUNLX1ZBUllJTkdTJzogMHg4QzgzLAorICAnVFJBTlNGT1JNX0ZFRURCQUNLX0JVRkZFUl9T
VEFSVCc6IDB4OEM4NCwKKyAgJ1RSQU5TRk9STV9GRUVEQkFDS19CVUZGRVJfU0laRSc6IDB4OEM4
NSwKKyAgJ1BSSU1JVElWRVNfR0VORVJBVEVEJzogMHg4Qzg3LAorICAnVFJBTlNGT1JNX0ZFRURC
QUNLX1BSSU1JVElWRVNfV1JJVFRFTic6IDB4OEM4OCwKKyAgJ1JBU1RFUklaRVJfRElTQ0FSRCc6
IDB4OEM4OSwKKyAgJ01BWF9UUkFOU0ZPUk1fRkVFREJBQ0tfSU5URVJMRUFWRURfQ09NUE9ORU5U
Uyc6IDB4OEM4QSwKKyAgJ01BWF9UUkFOU0ZPUk1fRkVFREJBQ0tfU0VQQVJBVEVfQVRUUklCUyc6
IDB4OEM4QiwKKyAgJ0lOVEVSTEVBVkVEX0FUVFJJQlMnOiAweDhDOEMsCisgICdTRVBBUkFURV9B
VFRSSUJTJzogMHg4QzhELAorICAnVFJBTlNGT1JNX0ZFRURCQUNLX0JVRkZFUic6IDB4OEM4RSwK
KyAgJ1RSQU5TRk9STV9GRUVEQkFDS19CVUZGRVJfQklORElORyc6IDB4OEM4RiwKKyAgJ1JHQkEz
MlVJJzogMHg4RDcwLAorICAnUkdCMzJVSSc6IDB4OEQ3MSwKKyAgJ1JHQkExNlVJJzogMHg4RDc2
LAorICAnUkdCMTZVSSc6IDB4OEQ3NywKKyAgJ1JHQkE4VUknOiAweDhEN0MsCisgICdSR0I4VUkn
OiAweDhEN0QsCisgICdSR0JBMzJJJzogMHg4RDgyLAorICAnUkdCMzJJJzogMHg4RDgzLAorICAn
UkdCQTE2SSc6IDB4OEQ4OCwKKyAgJ1JHQjE2SSc6IDB4OEQ4OSwKKyAgJ1JHQkE4SSc6IDB4OEQ4
RSwKKyAgJ1JHQjhJJzogMHg4RDhGLAorICAnUkVEX0lOVEVHRVInOiAweDhEOTQsCisgICdHUkVF
Tl9JTlRFR0VSJzogMHg4RDk1LAorICAnQkxVRV9JTlRFR0VSJzogMHg4RDk2LAorICAnQUxQSEFf
SU5URUdFUic6IDB4OEQ5NywKKyAgJ1JHQl9JTlRFR0VSJzogMHg4RDk4LAorICAnUkdCQV9JTlRF
R0VSJzogMHg4RDk5LAorICAnQkdSX0lOVEVHRVInOiAweDhEOUEsCisgICdCR1JBX0lOVEVHRVIn
OiAweDhEOUIsCisgICdTQU1QTEVSXzFEX0FSUkFZJzogMHg4REMwLAorICAnU0FNUExFUl8yRF9B
UlJBWSc6IDB4OERDMSwKKyAgJ1NBTVBMRVJfMURfQVJSQVlfU0hBRE9XJzogMHg4REMzLAorICAn
U0FNUExFUl8yRF9BUlJBWV9TSEFET1cnOiAweDhEQzQsCisgICdTQU1QTEVSX0NVQkVfU0hBRE9X
JzogMHg4REM1LAorICAnVU5TSUdORURfSU5UX1ZFQzInOiAweDhEQzYsCisgICdVTlNJR05FRF9J
TlRfVkVDMyc6IDB4OERDNywKKyAgJ1VOU0lHTkVEX0lOVF9WRUM0JzogMHg4REM4LAorICAnSU5U
X1NBTVBMRVJfMUQnOiAweDhEQzksCisgICdJTlRfU0FNUExFUl8yRCc6IDB4OERDQSwKKyAgJ0lO
VF9TQU1QTEVSXzNEJzogMHg4RENCLAorICAnSU5UX1NBTVBMRVJfQ1VCRSc6IDB4OERDQywKKyAg
J0lOVF9TQU1QTEVSXzFEX0FSUkFZJzogMHg4RENFLAorICAnSU5UX1NBTVBMRVJfMkRfQVJSQVkn
OiAweDhEQ0YsCisgICdVTlNJR05FRF9JTlRfU0FNUExFUl8xRCc6IDB4OEREMSwKKyAgJ1VOU0lH
TkVEX0lOVF9TQU1QTEVSXzJEJzogMHg4REQyLAorICAnVU5TSUdORURfSU5UX1NBTVBMRVJfM0Qn
OiAweDhERDMsCisgICdVTlNJR05FRF9JTlRfU0FNUExFUl9DVUJFJzogMHg4REQ0LAorICAnVU5T
SUdORURfSU5UX1NBTVBMRVJfMURfQVJSQVknOiAweDhERDYsCisgICdVTlNJR05FRF9JTlRfU0FN
UExFUl8yRF9BUlJBWSc6IDB4OERENywKKyAgJ1FVRVJZX1dBSVQnOiAweDhFMTMsCisgICdRVUVS
WV9OT19XQUlUJzogMHg4RTE0LAorICAnUVVFUllfQllfUkVHSU9OX1dBSVQnOiAweDhFMTUsCisg
ICdRVUVSWV9CWV9SRUdJT05fTk9fV0FJVCc6IDB4OEUxNiwKKyAgJ01VTFRJU0FNUExFXzNERlgn
OiAweDg2QjIsCisgICdTQU1QTEVfQlVGRkVSU18zREZYJzogMHg4NkIzLAorICAnU0FNUExFU18z
REZYJzogMHg4NkI0LAorICAnTVVMVElTQU1QTEVfQklUXzNERlgnOiAweDIwMDAwMDAwLAorICAn
Q09NUFJFU1NFRF9SR0JfRlhUMV8zREZYJzogMHg4NkIwLAorICAnQ09NUFJFU1NFRF9SR0JBX0ZY
VDFfM0RGWCc6IDB4ODZCMSwKKyAgJ1VOUEFDS19DTElFTlRfU1RPUkFHRV9BUFBMRSc6IDB4ODVC
MiwKKyAgJ0VMRU1FTlRfQVJSQVlfQVBQTEUnOiAweDg3NjgsCisgICdFTEVNRU5UX0FSUkFZX1RZ
UEVfQVBQTEUnOiAweDg3NjksCisgICdFTEVNRU5UX0FSUkFZX1BPSU5URVJfQVBQTEUnOiAweDg3
NkEsCisgICdIQUxGX0FQUExFJzogMHgxNDBCLAorICAnUkdCQV9GTE9BVDMyX0FQUExFJzogMHg4
ODE0LAorICAnUkdCX0ZMT0FUMzJfQVBQTEUnOiAweDg4MTUsCisgICdBTFBIQV9GTE9BVDMyX0FQ
UExFJzogMHg4ODE2LAorICAnSU5URU5TSVRZX0ZMT0FUMzJfQVBQTEUnOiAweDg4MTcsCisgICdM
VU1JTkFOQ0VfRkxPQVQzMl9BUFBMRSc6IDB4ODgxOCwKKyAgJ0xVTUlOQU5DRV9BTFBIQV9GTE9B
VDMyX0FQUExFJzogMHg4ODE5LAorICAnUkdCQV9GTE9BVDE2X0FQUExFJzogMHg4ODFBLAorICAn
UkdCX0ZMT0FUMTZfQVBQTEUnOiAweDg4MUIsCisgICdBTFBIQV9GTE9BVDE2X0FQUExFJzogMHg4
ODFDLAorICAnSU5URU5TSVRZX0ZMT0FUMTZfQVBQTEUnOiAweDg4MUQsCisgICdMVU1JTkFOQ0Vf
RkxPQVQxNl9BUFBMRSc6IDB4ODgxRSwKKyAgJ0xVTUlOQU5DRV9BTFBIQV9GTE9BVDE2X0FQUExF
JzogMHg4ODFGLAorICAnQ09MT1JfRkxPQVRfQVBQTEUnOiAweDhBMEYsCisgICdCVUZGRVJfU0VS
SUFMSVpFRF9NT0RJRllfQVBQTEUnOiAweDhBMTIsCisgICdCVUZGRVJfRkxVU0hJTkdfVU5NQVBf
QVBQTEUnOiAweDhBMTMsCisgICdNSU5fUEJVRkZFUl9WSUVXUE9SVF9ESU1TX0FQUExFJzogMHg4
QTEwLAorICAnTElHSFRfTU9ERUxfU1BFQ1VMQVJfVkVDVE9SX0FQUExFJzogMHg4NUIwLAorICAn
VEVYVFVSRV9SQU5HRV9MRU5HVEhfQVBQTEUnOiAweDg1QjcsCisgICdURVhUVVJFX1JBTkdFX1BP
SU5URVJfQVBQTEUnOiAweDg1QjgsCisgICdURVhUVVJFX1NUT1JBR0VfSElOVF9BUFBMRSc6IDB4
ODVCQywKKyAgJ1NUT1JBR0VfUFJJVkFURV9BUFBMRSc6IDB4ODVCRCwKKyAgJ1NUT1JBR0VfQ0FD
SEVEX0FQUExFJzogMHg4NUJFLAorICAnU1RPUkFHRV9TSEFSRURfQVBQTEUnOiAweDg1QkYsCisg
ICdUUkFOU0ZPUk1fSElOVF9BUFBMRSc6IDB4ODVCMSwKKyAgJ1ZFUlRFWF9BUlJBWV9CSU5ESU5H
X0FQUExFJzogMHg4NUI1LAorICAnVkVSVEVYX0FSUkFZX1JBTkdFX0FQUExFJzogMHg4NTFELAor
ICAnVkVSVEVYX0FSUkFZX1JBTkdFX0xFTkdUSF9BUFBMRSc6IDB4ODUxRSwKKyAgJ1ZFUlRFWF9B
UlJBWV9TVE9SQUdFX0hJTlRfQVBQTEUnOiAweDg1MUYsCisgICdNQVhfVkVSVEVYX0FSUkFZX1JB
TkdFX0VMRU1FTlRfQVBQTEUnOiAweDg1MjAsCisgICdWRVJURVhfQVJSQVlfUkFOR0VfUE9JTlRF
Ul9BUFBMRSc6IDB4ODUyMSwKKyAgJ1NUT1JBR0VfQ0FDSEVEX0FQUExFJzogMHg4NUJFLAorICAn
U1RPUkFHRV9TSEFSRURfQVBQTEUnOiAweDg1QkYsCisgICdZQ0JDUl80MjJfQVBQTEUnOiAweDg1
QjksCisgICdVTlNJR05FRF9TSE9SVF84XzhfQVBQTEUnOiAweDg1QkEsCisgICdVTlNJR05FRF9T
SE9SVF84XzhfUkVWX0FQUExFJzogMHg4NUJCLAorICAnUkdCQV9GTE9BVF9NT0RFX0FSQic6IDB4
ODgyMCwKKyAgJ0NMQU1QX1ZFUlRFWF9DT0xPUl9BUkInOiAweDg5MUEsCisgICdDTEFNUF9GUkFH
TUVOVF9DT0xPUl9BUkInOiAweDg5MUIsCisgICdDTEFNUF9SRUFEX0NPTE9SX0FSQic6IDB4ODkx
QywKKyAgJ0ZJWEVEX09OTFlfQVJCJzogMHg4OTFELAorICAnREVQVEhfQ09NUE9ORU5UMzJGJzog
MHg4Q0FDLAorICAnREVQVEgzMkZfU1RFTkNJTDgnOiAweDhDQUQsCisgICdGTE9BVF8zMl9VTlNJ
R05FRF9JTlRfMjRfOF9SRVYnOiAweDhEQUQsCisgICdERVBUSF9DT01QT05FTlQxNl9BUkInOiAw
eDgxQTUsCisgICdERVBUSF9DT01QT05FTlQyNF9BUkInOiAweDgxQTYsCisgICdERVBUSF9DT01Q
T05FTlQzMl9BUkInOiAweDgxQTcsCisgICdURVhUVVJFX0RFUFRIX1NJWkVfQVJCJzogMHg4ODRB
LAorICAnREVQVEhfVEVYVFVSRV9NT0RFX0FSQic6IDB4ODg0QiwKKyAgJ01BWF9EUkFXX0JVRkZF
UlNfQVJCJzogMHg4ODI0LAorICAnRFJBV19CVUZGRVIwX0FSQic6IDB4ODgyNSwKKyAgJ0RSQVdf
QlVGRkVSMV9BUkInOiAweDg4MjYsCisgICdEUkFXX0JVRkZFUjJfQVJCJzogMHg4ODI3LAorICAn
RFJBV19CVUZGRVIzX0FSQic6IDB4ODgyOCwKKyAgJ0RSQVdfQlVGRkVSNF9BUkInOiAweDg4Mjks
CisgICdEUkFXX0JVRkZFUjVfQVJCJzogMHg4ODJBLAorICAnRFJBV19CVUZGRVI2X0FSQic6IDB4
ODgyQiwKKyAgJ0RSQVdfQlVGRkVSN19BUkInOiAweDg4MkMsCisgICdEUkFXX0JVRkZFUjhfQVJC
JzogMHg4ODJELAorICAnRFJBV19CVUZGRVI5X0FSQic6IDB4ODgyRSwKKyAgJ0RSQVdfQlVGRkVS
MTBfQVJCJzogMHg4ODJGLAorICAnRFJBV19CVUZGRVIxMV9BUkInOiAweDg4MzAsCisgICdEUkFX
X0JVRkZFUjEyX0FSQic6IDB4ODgzMSwKKyAgJ0RSQVdfQlVGRkVSMTNfQVJCJzogMHg4ODMyLAor
ICAnRFJBV19CVUZGRVIxNF9BUkInOiAweDg4MzMsCisgICdEUkFXX0JVRkZFUjE1X0FSQic6IDB4
ODgzNCwKKyAgJ0ZSQUdNRU5UX1BST0dSQU1fQVJCJzogMHg4ODA0LAorICAnUFJPR1JBTV9BTFVf
SU5TVFJVQ1RJT05TX0FSQic6IDB4ODgwNSwKKyAgJ1BST0dSQU1fVEVYX0lOU1RSVUNUSU9OU19B
UkInOiAweDg4MDYsCisgICdQUk9HUkFNX1RFWF9JTkRJUkVDVElPTlNfQVJCJzogMHg4ODA3LAor
ICAnUFJPR1JBTV9OQVRJVkVfQUxVX0lOU1RSVUNUSU9OU19BUkInOiAweDg4MDgsCisgICdQUk9H
UkFNX05BVElWRV9URVhfSU5TVFJVQ1RJT05TX0FSQic6IDB4ODgwOSwKKyAgJ1BST0dSQU1fTkFU
SVZFX1RFWF9JTkRJUkVDVElPTlNfQVJCJzogMHg4ODBBLAorICAnTUFYX1BST0dSQU1fQUxVX0lO
U1RSVUNUSU9OU19BUkInOiAweDg4MEIsCisgICdNQVhfUFJPR1JBTV9URVhfSU5TVFJVQ1RJT05T
X0FSQic6IDB4ODgwQywKKyAgJ01BWF9QUk9HUkFNX1RFWF9JTkRJUkVDVElPTlNfQVJCJzogMHg4
ODBELAorICAnTUFYX1BST0dSQU1fTkFUSVZFX0FMVV9JTlNUUlVDVElPTlNfQVJCJzogMHg4ODBF
LAorICAnTUFYX1BST0dSQU1fTkFUSVZFX1RFWF9JTlNUUlVDVElPTlNfQVJCJzogMHg4ODBGLAor
ICAnTUFYX1BST0dSQU1fTkFUSVZFX1RFWF9JTkRJUkVDVElPTlNfQVJCJzogMHg4ODEwLAorICAn
TUFYX1RFWFRVUkVfQ09PUkRTX0FSQic6IDB4ODg3MSwKKyAgJ01BWF9URVhUVVJFX0lNQUdFX1VO
SVRTX0FSQic6IDB4ODg3MiwKKyAgJ0ZSQUdNRU5UX1NIQURFUl9BUkInOiAweDhCMzAsCisgICdN
QVhfRlJBR01FTlRfVU5JRk9STV9DT01QT05FTlRTX0FSQic6IDB4OEI0OSwKKyAgJ0ZSQUdNRU5U
X1NIQURFUl9ERVJJVkFUSVZFX0hJTlRfQVJCJzogMHg4QjhCLAorICAnSU5WQUxJRF9GUkFNRUJV
RkZFUl9PUEVSQVRJT04nOiAweDA1MDYsCisgICdGUkFNRUJVRkZFUl9BVFRBQ0hNRU5UX0NPTE9S
X0VOQ09ESU5HJzogMHg4MjEwLAorICAnRlJBTUVCVUZGRVJfQVRUQUNITUVOVF9DT01QT05FTlRf
VFlQRSc6IDB4ODIxMSwKKyAgJ0ZSQU1FQlVGRkVSX0FUVEFDSE1FTlRfUkVEX1NJWkUnOiAweDgy
MTIsCisgICdGUkFNRUJVRkZFUl9BVFRBQ0hNRU5UX0dSRUVOX1NJWkUnOiAweDgyMTMsCisgICdG
UkFNRUJVRkZFUl9BVFRBQ0hNRU5UX0JMVUVfU0laRSc6IDB4ODIxNCwKKyAgJ0ZSQU1FQlVGRkVS
X0FUVEFDSE1FTlRfQUxQSEFfU0laRSc6IDB4ODIxNSwKKyAgJ0ZSQU1FQlVGRkVSX0FUVEFDSE1F
TlRfREVQVEhfU0laRSc6IDB4ODIxNiwKKyAgJ0ZSQU1FQlVGRkVSX0FUVEFDSE1FTlRfU1RFTkNJ
TF9TSVpFJzogMHg4MjE3LAorICAnRlJBTUVCVUZGRVJfREVGQVVMVCc6IDB4ODIxOCwKKyAgJ0ZS
QU1FQlVGRkVSX1VOREVGSU5FRCc6IDB4ODIxOSwKKyAgJ0RFUFRIX1NURU5DSUxfQVRUQUNITUVO
VCc6IDB4ODIxQSwKKyAgJ0lOREVYJzogMHg4MjIyLAorICAnTUFYX1JFTkRFUkJVRkZFUl9TSVpF
JzogMHg4NEU4LAorICAnREVQVEhfU1RFTkNJTCc6IDB4ODRGOSwKKyAgJ1VOU0lHTkVEX0lOVF8y
NF84JzogMHg4NEZBLAorICAnREVQVEgyNF9TVEVOQ0lMOCc6IDB4ODhGMCwKKyAgJ1RFWFRVUkVf
U1RFTkNJTF9TSVpFJzogMHg4OEYxLAorICAnVU5TSUdORURfTk9STUFMSVpFRCc6IDB4OEMxNywK
KyAgJ1NSR0InOiAweDhDNDAsCisgICdEUkFXX0ZSQU1FQlVGRkVSX0JJTkRJTkcnOiAweDhDQTYs
CisgICdGUkFNRUJVRkZFUl9CSU5ESU5HJzogMHg4Q0E2LAorICAnUkVOREVSQlVGRkVSX0JJTkRJ
TkcnOiAweDhDQTcsCisgICdSRUFEX0ZSQU1FQlVGRkVSJzogMHg4Q0E4LAorICAnRFJBV19GUkFN
RUJVRkZFUic6IDB4OENBOSwKKyAgJ1JFQURfRlJBTUVCVUZGRVJfQklORElORyc6IDB4OENBQSwK
KyAgJ1JFTkRFUkJVRkZFUl9TQU1QTEVTJzogMHg4Q0FCLAorICAnRlJBTUVCVUZGRVJfQVRUQUNI
TUVOVF9PQkpFQ1RfVFlQRSc6IDB4OENEMCwKKyAgJ0ZSQU1FQlVGRkVSX0FUVEFDSE1FTlRfT0JK
RUNUX05BTUUnOiAweDhDRDEsCisgICdGUkFNRUJVRkZFUl9BVFRBQ0hNRU5UX1RFWFRVUkVfTEVW
RUwnOiAweDhDRDIsCisgICdGUkFNRUJVRkZFUl9BVFRBQ0hNRU5UX1RFWFRVUkVfQ1VCRV9NQVBf
RkFDRSc6IDB4OENEMywKKyAgJ0ZSQU1FQlVGRkVSX0FUVEFDSE1FTlRfVEVYVFVSRV9MQVlFUic6
IDB4OENENCwKKyAgJ0ZSQU1FQlVGRkVSX0NPTVBMRVRFJzogMHg4Q0Q1LAorICAnRlJBTUVCVUZG
RVJfSU5DT01QTEVURV9BVFRBQ0hNRU5UJzogMHg4Q0Q2LAorICAnRlJBTUVCVUZGRVJfSU5DT01Q
TEVURV9NSVNTSU5HX0FUVEFDSE1FTlQnOiAweDhDRDcsCisgICdGUkFNRUJVRkZFUl9JTkNPTVBM
RVRFX0RSQVdfQlVGRkVSJzogMHg4Q0RCLAorICAnRlJBTUVCVUZGRVJfSU5DT01QTEVURV9SRUFE
X0JVRkZFUic6IDB4OENEQywKKyAgJ0ZSQU1FQlVGRkVSX1VOU1VQUE9SVEVEJzogMHg4Q0RELAor
ICAnTUFYX0NPTE9SX0FUVEFDSE1FTlRTJzogMHg4Q0RGLAorICAnQ09MT1JfQVRUQUNITUVOVDAn
OiAweDhDRTAsCisgICdDT0xPUl9BVFRBQ0hNRU5UMSc6IDB4OENFMSwKKyAgJ0NPTE9SX0FUVEFD
SE1FTlQyJzogMHg4Q0UyLAorICAnQ09MT1JfQVRUQUNITUVOVDMnOiAweDhDRTMsCisgICdDT0xP
Ul9BVFRBQ0hNRU5UNCc6IDB4OENFNCwKKyAgJ0NPTE9SX0FUVEFDSE1FTlQ1JzogMHg4Q0U1LAor
ICAnQ09MT1JfQVRUQUNITUVOVDYnOiAweDhDRTYsCisgICdDT0xPUl9BVFRBQ0hNRU5UNyc6IDB4
OENFNywKKyAgJ0NPTE9SX0FUVEFDSE1FTlQ4JzogMHg4Q0U4LAorICAnQ09MT1JfQVRUQUNITUVO
VDknOiAweDhDRTksCisgICdDT0xPUl9BVFRBQ0hNRU5UMTAnOiAweDhDRUEsCisgICdDT0xPUl9B
VFRBQ0hNRU5UMTEnOiAweDhDRUIsCisgICdDT0xPUl9BVFRBQ0hNRU5UMTInOiAweDhDRUMsCisg
ICdDT0xPUl9BVFRBQ0hNRU5UMTMnOiAweDhDRUQsCisgICdDT0xPUl9BVFRBQ0hNRU5UMTQnOiAw
eDhDRUUsCisgICdDT0xPUl9BVFRBQ0hNRU5UMTUnOiAweDhDRUYsCisgICdERVBUSF9BVFRBQ0hN
RU5UJzogMHg4RDAwLAorICAnU1RFTkNJTF9BVFRBQ0hNRU5UJzogMHg4RDIwLAorICAnRlJBTUVC
VUZGRVInOiAweDhENDAsCisgICdSRU5ERVJCVUZGRVInOiAweDhENDEsCisgICdSRU5ERVJCVUZG
RVJfV0lEVEgnOiAweDhENDIsCisgICdSRU5ERVJCVUZGRVJfSEVJR0hUJzogMHg4RDQzLAorICAn
UkVOREVSQlVGRkVSX0lOVEVSTkFMX0ZPUk1BVCc6IDB4OEQ0NCwKKyAgJ1NURU5DSUxfSU5ERVgx
JzogMHg4RDQ2LAorICAnU1RFTkNJTF9JTkRFWDQnOiAweDhENDcsCisgICdTVEVOQ0lMX0lOREVY
OCc6IDB4OEQ0OCwKKyAgJ1NURU5DSUxfSU5ERVgxNic6IDB4OEQ0OSwKKyAgJ1JFTkRFUkJVRkZF
Ul9SRURfU0laRSc6IDB4OEQ1MCwKKyAgJ1JFTkRFUkJVRkZFUl9HUkVFTl9TSVpFJzogMHg4RDUx
LAorICAnUkVOREVSQlVGRkVSX0JMVUVfU0laRSc6IDB4OEQ1MiwKKyAgJ1JFTkRFUkJVRkZFUl9B
TFBIQV9TSVpFJzogMHg4RDUzLAorICAnUkVOREVSQlVGRkVSX0RFUFRIX1NJWkUnOiAweDhENTQs
CisgICdSRU5ERVJCVUZGRVJfU1RFTkNJTF9TSVpFJzogMHg4RDU1LAorICAnRlJBTUVCVUZGRVJf
SU5DT01QTEVURV9NVUxUSVNBTVBMRSc6IDB4OEQ1NiwKKyAgJ01BWF9TQU1QTEVTJzogMHg4RDU3
LAorICAnRlJBTUVCVUZGRVJfU1JHQic6IDB4OERCOSwKKyAgJ0xJTkVTX0FESkFDRU5DWV9BUkIn
OiAweEEsCisgICdMSU5FX1NUUklQX0FESkFDRU5DWV9BUkInOiAweEIsCisgICdUUklBTkdMRVNf
QURKQUNFTkNZX0FSQic6IDB4QywKKyAgJ1RSSUFOR0xFX1NUUklQX0FESkFDRU5DWV9BUkInOiAw
eEQsCisgICdQUk9HUkFNX1BPSU5UX1NJWkVfQVJCJzogMHg4NjQyLAorICAnTUFYX0dFT01FVFJZ
X1RFWFRVUkVfSU1BR0VfVU5JVFNfQVJCJzogMHg4QzI5LAorICAnRlJBTUVCVUZGRVJfQVRUQUNI
TUVOVF9URVhUVVJFX0xBWUVSJzogMHg4Q0Q0LAorICAnRlJBTUVCVUZGRVJfQVRUQUNITUVOVF9M
QVlFUkVEX0FSQic6IDB4OERBNywKKyAgJ0ZSQU1FQlVGRkVSX0lOQ09NUExFVEVfTEFZRVJfVEFS
R0VUU19BUkInOiAweDhEQTgsCisgICdGUkFNRUJVRkZFUl9JTkNPTVBMRVRFX0xBWUVSX0NPVU5U
X0FSQic6IDB4OERBOSwKKyAgJ0dFT01FVFJZX1NIQURFUl9BUkInOiAweDhERDksCisgICdHRU9N
RVRSWV9WRVJUSUNFU19PVVRfQVJCJzogMHg4RERBLAorICAnR0VPTUVUUllfSU5QVVRfVFlQRV9B
UkInOiAweDhEREIsCisgICdHRU9NRVRSWV9PVVRQVVRfVFlQRV9BUkInOiAweDhEREMsCisgICdN
QVhfR0VPTUVUUllfVkFSWUlOR19DT01QT05FTlRTX0FSQic6IDB4OERERCwKKyAgJ01BWF9WRVJU
RVhfVkFSWUlOR19DT01QT05FTlRTX0FSQic6IDB4OERERSwKKyAgJ01BWF9HRU9NRVRSWV9VTklG
T1JNX0NPTVBPTkVOVFNfQVJCJzogMHg4RERGLAorICAnTUFYX0dFT01FVFJZX09VVFBVVF9WRVJU
SUNFU19BUkInOiAweDhERTAsCisgICdNQVhfR0VPTUVUUllfVE9UQUxfT1VUUFVUX0NPTVBPTkVO
VFNfQVJCJzogMHg4REUxLAorICAnSEFMRl9GTE9BVF9BUkInOiAweDE0MEIsCisgICdIQUxGX0ZM
T0FUJzogMHgxNDBCLAorICAnQ09OU1RBTlRfQ09MT1InOiAweDgwMDEsCisgICdPTkVfTUlOVVNf
Q09OU1RBTlRfQ09MT1InOiAweDgwMDIsCisgICdDT05TVEFOVF9BTFBIQSc6IDB4ODAwMywKKyAg
J09ORV9NSU5VU19DT05TVEFOVF9BTFBIQSc6IDB4ODAwNCwKKyAgJ0JMRU5EX0NPTE9SJzogMHg4
MDA1LAorICAnRlVOQ19BREQnOiAweDgwMDYsCisgICdNSU4nOiAweDgwMDcsCisgICdNQVgnOiAw
eDgwMDgsCisgICdCTEVORF9FUVVBVElPTic6IDB4ODAwOSwKKyAgJ0ZVTkNfU1VCVFJBQ1QnOiAw
eDgwMEEsCisgICdGVU5DX1JFVkVSU0VfU1VCVFJBQ1QnOiAweDgwMEIsCisgICdDT05WT0xVVElP
Tl8xRCc6IDB4ODAxMCwKKyAgJ0NPTlZPTFVUSU9OXzJEJzogMHg4MDExLAorICAnU0VQQVJBQkxF
XzJEJzogMHg4MDEyLAorICAnQ09OVk9MVVRJT05fQk9SREVSX01PREUnOiAweDgwMTMsCisgICdD
T05WT0xVVElPTl9GSUxURVJfU0NBTEUnOiAweDgwMTQsCisgICdDT05WT0xVVElPTl9GSUxURVJf
QklBUyc6IDB4ODAxNSwKKyAgJ1JFRFVDRSc6IDB4ODAxNiwKKyAgJ0NPTlZPTFVUSU9OX0ZPUk1B
VCc6IDB4ODAxNywKKyAgJ0NPTlZPTFVUSU9OX1dJRFRIJzogMHg4MDE4LAorICAnQ09OVk9MVVRJ
T05fSEVJR0hUJzogMHg4MDE5LAorICAnTUFYX0NPTlZPTFVUSU9OX1dJRFRIJzogMHg4MDFBLAor
ICAnTUFYX0NPTlZPTFVUSU9OX0hFSUdIVCc6IDB4ODAxQiwKKyAgJ1BPU1RfQ09OVk9MVVRJT05f
UkVEX1NDQUxFJzogMHg4MDFDLAorICAnUE9TVF9DT05WT0xVVElPTl9HUkVFTl9TQ0FMRSc6IDB4
ODAxRCwKKyAgJ1BPU1RfQ09OVk9MVVRJT05fQkxVRV9TQ0FMRSc6IDB4ODAxRSwKKyAgJ1BPU1Rf
Q09OVk9MVVRJT05fQUxQSEFfU0NBTEUnOiAweDgwMUYsCisgICdQT1NUX0NPTlZPTFVUSU9OX1JF
RF9CSUFTJzogMHg4MDIwLAorICAnUE9TVF9DT05WT0xVVElPTl9HUkVFTl9CSUFTJzogMHg4MDIx
LAorICAnUE9TVF9DT05WT0xVVElPTl9CTFVFX0JJQVMnOiAweDgwMjIsCisgICdQT1NUX0NPTlZP
TFVUSU9OX0FMUEhBX0JJQVMnOiAweDgwMjMsCisgICdISVNUT0dSQU0nOiAweDgwMjQsCisgICdQ
Uk9YWV9ISVNUT0dSQU0nOiAweDgwMjUsCisgICdISVNUT0dSQU1fV0lEVEgnOiAweDgwMjYsCisg
ICdISVNUT0dSQU1fRk9STUFUJzogMHg4MDI3LAorICAnSElTVE9HUkFNX1JFRF9TSVpFJzogMHg4
MDI4LAorICAnSElTVE9HUkFNX0dSRUVOX1NJWkUnOiAweDgwMjksCisgICdISVNUT0dSQU1fQkxV
RV9TSVpFJzogMHg4MDJBLAorICAnSElTVE9HUkFNX0FMUEhBX1NJWkUnOiAweDgwMkIsCisgICdI
SVNUT0dSQU1fTFVNSU5BTkNFX1NJWkUnOiAweDgwMkMsCisgICdISVNUT0dSQU1fU0lOSyc6IDB4
ODAyRCwKKyAgJ01JTk1BWCc6IDB4ODAyRSwKKyAgJ01JTk1BWF9GT1JNQVQnOiAweDgwMkYsCisg
ICdNSU5NQVhfU0lOSyc6IDB4ODAzMCwKKyAgJ1RBQkxFX1RPT19MQVJHRSc6IDB4ODAzMSwKKyAg
J0NPTE9SX01BVFJJWCc6IDB4ODBCMSwKKyAgJ0NPTE9SX01BVFJJWF9TVEFDS19ERVBUSCc6IDB4
ODBCMiwKKyAgJ01BWF9DT0xPUl9NQVRSSVhfU1RBQ0tfREVQVEgnOiAweDgwQjMsCisgICdQT1NU
X0NPTE9SX01BVFJJWF9SRURfU0NBTEUnOiAweDgwQjQsCisgICdQT1NUX0NPTE9SX01BVFJJWF9H
UkVFTl9TQ0FMRSc6IDB4ODBCNSwKKyAgJ1BPU1RfQ09MT1JfTUFUUklYX0JMVUVfU0NBTEUnOiAw
eDgwQjYsCisgICdQT1NUX0NPTE9SX01BVFJJWF9BTFBIQV9TQ0FMRSc6IDB4ODBCNywKKyAgJ1BP
U1RfQ09MT1JfTUFUUklYX1JFRF9CSUFTJzogMHg4MEI4LAorICAnUE9TVF9DT0xPUl9NQVRSSVhf
R1JFRU5fQklBUyc6IDB4ODBCOSwKKyAgJ1BPU1RfQ09MT1JfTUFUUklYX0JMVUVfQklBUyc6IDB4
ODBCQSwKKyAgJ1BPU1RfQ09MT1JfTUFUUklYX0FMUEhBX0JJQVMnOiAweDgwQkIsCisgICdDT0xP
Ul9UQUJMRSc6IDB4ODBEMCwKKyAgJ1BPU1RfQ09OVk9MVVRJT05fQ09MT1JfVEFCTEUnOiAweDgw
RDEsCisgICdQT1NUX0NPTE9SX01BVFJJWF9DT0xPUl9UQUJMRSc6IDB4ODBEMiwKKyAgJ1BST1hZ
X0NPTE9SX1RBQkxFJzogMHg4MEQzLAorICAnUFJPWFlfUE9TVF9DT05WT0xVVElPTl9DT0xPUl9U
QUJMRSc6IDB4ODBENCwKKyAgJ1BST1hZX1BPU1RfQ09MT1JfTUFUUklYX0NPTE9SX1RBQkxFJzog
MHg4MEQ1LAorICAnQ09MT1JfVEFCTEVfU0NBTEUnOiAweDgwRDYsCisgICdDT0xPUl9UQUJMRV9C
SUFTJzogMHg4MEQ3LAorICAnQ09MT1JfVEFCTEVfRk9STUFUJzogMHg4MEQ4LAorICAnQ09MT1Jf
VEFCTEVfV0lEVEgnOiAweDgwRDksCisgICdDT0xPUl9UQUJMRV9SRURfU0laRSc6IDB4ODBEQSwK
KyAgJ0NPTE9SX1RBQkxFX0dSRUVOX1NJWkUnOiAweDgwREIsCisgICdDT0xPUl9UQUJMRV9CTFVF
X1NJWkUnOiAweDgwREMsCisgICdDT0xPUl9UQUJMRV9BTFBIQV9TSVpFJzogMHg4MERELAorICAn
Q09MT1JfVEFCTEVfTFVNSU5BTkNFX1NJWkUnOiAweDgwREUsCisgICdDT0xPUl9UQUJMRV9JTlRF
TlNJVFlfU0laRSc6IDB4ODBERiwKKyAgJ0lHTk9SRV9CT1JERVInOiAweDgxNTAsCisgICdDT05T
VEFOVF9CT1JERVInOiAweDgxNTEsCisgICdXUkFQX0JPUkRFUic6IDB4ODE1MiwKKyAgJ1JFUExJ
Q0FURV9CT1JERVInOiAweDgxNTMsCisgICdDT05WT0xVVElPTl9CT1JERVJfQ09MT1InOiAweDgx
NTQsCisgICdWRVJURVhfQVRUUklCX0FSUkFZX0RJVklTT1JfQVJCJzogMHg4OEZFLAorICAnTUFQ
X1JFQURfQklUJzogMHgwMDAxLAorICAnTUFQX1dSSVRFX0JJVCc6IDB4MDAwMiwKKyAgJ01BUF9J
TlZBTElEQVRFX1JBTkdFX0JJVCc6IDB4MDAwNCwKKyAgJ01BUF9JTlZBTElEQVRFX0JVRkZFUl9C
SVQnOiAweDAwMDgsCisgICdNQVBfRkxVU0hfRVhQTElDSVRfQklUJzogMHgwMDEwLAorICAnTUFQ
X1VOU1lOQ0hST05JWkVEX0JJVCc6IDB4MDAyMCwKKyAgJ01BVFJJWF9QQUxFVFRFX0FSQic6IDB4
ODg0MCwKKyAgJ01BWF9NQVRSSVhfUEFMRVRURV9TVEFDS19ERVBUSF9BUkInOiAweDg4NDEsCisg
ICdNQVhfUEFMRVRURV9NQVRSSUNFU19BUkInOiAweDg4NDIsCisgICdDVVJSRU5UX1BBTEVUVEVf
TUFUUklYX0FSQic6IDB4ODg0MywKKyAgJ01BVFJJWF9JTkRFWF9BUlJBWV9BUkInOiAweDg4NDQs
CisgICdDVVJSRU5UX01BVFJJWF9JTkRFWF9BUkInOiAweDg4NDUsCisgICdNQVRSSVhfSU5ERVhf
QVJSQVlfU0laRV9BUkInOiAweDg4NDYsCisgICdNQVRSSVhfSU5ERVhfQVJSQVlfVFlQRV9BUkIn
OiAweDg4NDcsCisgICdNQVRSSVhfSU5ERVhfQVJSQVlfU1RSSURFX0FSQic6IDB4ODg0OCwKKyAg
J01BVFJJWF9JTkRFWF9BUlJBWV9QT0lOVEVSX0FSQic6IDB4ODg0OSwKKyAgJ01VTFRJU0FNUExF
X0FSQic6IDB4ODA5RCwKKyAgJ1NBTVBMRV9BTFBIQV9UT19DT1ZFUkFHRV9BUkInOiAweDgwOUUs
CisgICdTQU1QTEVfQUxQSEFfVE9fT05FX0FSQic6IDB4ODA5RiwKKyAgJ1NBTVBMRV9DT1ZFUkFH
RV9BUkInOiAweDgwQTAsCisgICdTQU1QTEVfQlVGRkVSU19BUkInOiAweDgwQTgsCisgICdTQU1Q
TEVTX0FSQic6IDB4ODBBOSwKKyAgJ1NBTVBMRV9DT1ZFUkFHRV9WQUxVRV9BUkInOiAweDgwQUEs
CisgICdTQU1QTEVfQ09WRVJBR0VfSU5WRVJUX0FSQic6IDB4ODBBQiwKKyAgJ01VTFRJU0FNUExF
X0JJVF9BUkInOiAweDIwMDAwMDAwLAorICAnVEVYVFVSRTBfQVJCJzogMHg4NEMwLAorICAnVEVY
VFVSRTFfQVJCJzogMHg4NEMxLAorICAnVEVYVFVSRTJfQVJCJzogMHg4NEMyLAorICAnVEVYVFVS
RTNfQVJCJzogMHg4NEMzLAorICAnVEVYVFVSRTRfQVJCJzogMHg4NEM0LAorICAnVEVYVFVSRTVf
QVJCJzogMHg4NEM1LAorICAnVEVYVFVSRTZfQVJCJzogMHg4NEM2LAorICAnVEVYVFVSRTdfQVJC
JzogMHg4NEM3LAorICAnVEVYVFVSRThfQVJCJzogMHg4NEM4LAorICAnVEVYVFVSRTlfQVJCJzog
MHg4NEM5LAorICAnVEVYVFVSRTEwX0FSQic6IDB4ODRDQSwKKyAgJ1RFWFRVUkUxMV9BUkInOiAw
eDg0Q0IsCisgICdURVhUVVJFMTJfQVJCJzogMHg4NENDLAorICAnVEVYVFVSRTEzX0FSQic6IDB4
ODRDRCwKKyAgJ1RFWFRVUkUxNF9BUkInOiAweDg0Q0UsCisgICdURVhUVVJFMTVfQVJCJzogMHg4
NENGLAorICAnVEVYVFVSRTE2X0FSQic6IDB4ODREMCwKKyAgJ1RFWFRVUkUxN19BUkInOiAweDg0
RDEsCisgICdURVhUVVJFMThfQVJCJzogMHg4NEQyLAorICAnVEVYVFVSRTE5X0FSQic6IDB4ODRE
MywKKyAgJ1RFWFRVUkUyMF9BUkInOiAweDg0RDQsCisgICdURVhUVVJFMjFfQVJCJzogMHg4NEQ1
LAorICAnVEVYVFVSRTIyX0FSQic6IDB4ODRENiwKKyAgJ1RFWFRVUkUyM19BUkInOiAweDg0RDcs
CisgICdURVhUVVJFMjRfQVJCJzogMHg4NEQ4LAorICAnVEVYVFVSRTI1X0FSQic6IDB4ODREOSwK
KyAgJ1RFWFRVUkUyNl9BUkInOiAweDg0REEsCisgICdURVhUVVJFMjdfQVJCJzogMHg4NERCLAor
ICAnVEVYVFVSRTI4X0FSQic6IDB4ODREQywKKyAgJ1RFWFRVUkUyOV9BUkInOiAweDg0REQsCisg
ICdURVhUVVJFMzBfQVJCJzogMHg4NERFLAorICAnVEVYVFVSRTMxX0FSQic6IDB4ODRERiwKKyAg
J0FDVElWRV9URVhUVVJFX0FSQic6IDB4ODRFMCwKKyAgJ0NMSUVOVF9BQ1RJVkVfVEVYVFVSRV9B
UkInOiAweDg0RTEsCisgICdNQVhfVEVYVFVSRV9VTklUU19BUkInOiAweDg0RTIsCisgICdRVUVS
WV9DT1VOVEVSX0JJVFNfQVJCJzogMHg4ODY0LAorICAnQ1VSUkVOVF9RVUVSWV9BUkInOiAweDg4
NjUsCisgICdRVUVSWV9SRVNVTFRfQVJCJzogMHg4ODY2LAorICAnUVVFUllfUkVTVUxUX0FWQUlM
QUJMRV9BUkInOiAweDg4NjcsCisgICdTQU1QTEVTX1BBU1NFRF9BUkInOiAweDg5MTQsCisgICdQ
SVhFTF9QQUNLX0JVRkZFUl9BUkInOiAweDg4RUIsCisgICdQSVhFTF9VTlBBQ0tfQlVGRkVSX0FS
Qic6IDB4ODhFQywKKyAgJ1BJWEVMX1BBQ0tfQlVGRkVSX0JJTkRJTkdfQVJCJzogMHg4OEVELAor
ICAnUElYRUxfVU5QQUNLX0JVRkZFUl9CSU5ESU5HX0FSQic6IDB4ODhFRiwKKyAgJ1BPSU5UX1NJ
WkVfTUlOX0FSQic6IDB4ODEyNiwKKyAgJ1BPSU5UX1NJWkVfTUFYX0FSQic6IDB4ODEyNywKKyAg
J1BPSU5UX0ZBREVfVEhSRVNIT0xEX1NJWkVfQVJCJzogMHg4MTI4LAorICAnUE9JTlRfRElTVEFO
Q0VfQVRURU5VQVRJT05fQVJCJzogMHg4MTI5LAorICAnUE9JTlRfU1BSSVRFX0FSQic6IDB4ODg2
MSwKKyAgJ0NPT1JEX1JFUExBQ0VfQVJCJzogMHg4ODYyLAorICAnUFJPR1JBTV9PQkpFQ1RfQVJC
JzogMHg4QjQwLAorICAnU0hBREVSX09CSkVDVF9BUkInOiAweDhCNDgsCisgICdPQkpFQ1RfVFlQ
RV9BUkInOiAweDhCNEUsCisgICdPQkpFQ1RfU1VCVFlQRV9BUkInOiAweDhCNEYsCisgICdGTE9B
VF9WRUMyX0FSQic6IDB4OEI1MCwKKyAgJ0ZMT0FUX1ZFQzNfQVJCJzogMHg4QjUxLAorICAnRkxP
QVRfVkVDNF9BUkInOiAweDhCNTIsCisgICdJTlRfVkVDMl9BUkInOiAweDhCNTMsCisgICdJTlRf
VkVDM19BUkInOiAweDhCNTQsCisgICdJTlRfVkVDNF9BUkInOiAweDhCNTUsCisgICdCT09MX0FS
Qic6IDB4OEI1NiwKKyAgJ0JPT0xfVkVDMl9BUkInOiAweDhCNTcsCisgICdCT09MX1ZFQzNfQVJC
JzogMHg4QjU4LAorICAnQk9PTF9WRUM0X0FSQic6IDB4OEI1OSwKKyAgJ0ZMT0FUX01BVDJfQVJC
JzogMHg4QjVBLAorICAnRkxPQVRfTUFUM19BUkInOiAweDhCNUIsCisgICdGTE9BVF9NQVQ0X0FS
Qic6IDB4OEI1QywKKyAgJ1NBTVBMRVJfMURfQVJCJzogMHg4QjVELAorICAnU0FNUExFUl8yRF9B
UkInOiAweDhCNUUsCisgICdTQU1QTEVSXzNEX0FSQic6IDB4OEI1RiwKKyAgJ1NBTVBMRVJfQ1VC
RV9BUkInOiAweDhCNjAsCisgICdTQU1QTEVSXzFEX1NIQURPV19BUkInOiAweDhCNjEsCisgICdT
QU1QTEVSXzJEX1NIQURPV19BUkInOiAweDhCNjIsCisgICdTQU1QTEVSXzJEX1JFQ1RfQVJCJzog
MHg4QjYzLAorICAnU0FNUExFUl8yRF9SRUNUX1NIQURPV19BUkInOiAweDhCNjQsCisgICdPQkpF
Q1RfREVMRVRFX1NUQVRVU19BUkInOiAweDhCODAsCisgICdPQkpFQ1RfQ09NUElMRV9TVEFUVVNf
QVJCJzogMHg4QjgxLAorICAnT0JKRUNUX0xJTktfU1RBVFVTX0FSQic6IDB4OEI4MiwKKyAgJ09C
SkVDVF9WQUxJREFURV9TVEFUVVNfQVJCJzogMHg4QjgzLAorICAnT0JKRUNUX0lORk9fTE9HX0xF
TkdUSF9BUkInOiAweDhCODQsCisgICdPQkpFQ1RfQVRUQUNIRURfT0JKRUNUU19BUkInOiAweDhC
ODUsCisgICdPQkpFQ1RfQUNUSVZFX1VOSUZPUk1TX0FSQic6IDB4OEI4NiwKKyAgJ09CSkVDVF9B
Q1RJVkVfVU5JRk9STV9NQVhfTEVOR1RIX0FSQic6IDB4OEI4NywKKyAgJ09CSkVDVF9TSEFERVJf
U09VUkNFX0xFTkdUSF9BUkInOiAweDhCODgsCisgICdTSEFESU5HX0xBTkdVQUdFX1ZFUlNJT05f
QVJCJzogMHg4QjhDLAorICAnVEVYVFVSRV9DT01QQVJFX01PREVfQVJCJzogMHg4ODRDLAorICAn
VEVYVFVSRV9DT01QQVJFX0ZVTkNfQVJCJzogMHg4ODRELAorICAnQ09NUEFSRV9SX1RPX1RFWFRV
UkVfQVJCJzogMHg4ODRFLAorICAnVEVYVFVSRV9DT01QQVJFX0ZBSUxfVkFMVUVfQVJCJzogMHg4
MEJGLAorICAnQ0xBTVBfVE9fQk9SREVSX0FSQic6IDB4ODEyRCwKKyAgJ1RFWFRVUkVfQlVGRkVS
X0FSQic6IDB4OEMyQSwKKyAgJ01BWF9URVhUVVJFX0JVRkZFUl9TSVpFX0FSQic6IDB4OEMyQiwK
KyAgJ1RFWFRVUkVfQklORElOR19CVUZGRVJfQVJCJzogMHg4QzJDLAorICAnVEVYVFVSRV9CVUZG
RVJfREFUQV9TVE9SRV9CSU5ESU5HX0FSQic6IDB4OEMyRCwKKyAgJ1RFWFRVUkVfQlVGRkVSX0ZP
Uk1BVF9BUkInOiAweDhDMkUsCisgICdDT01QUkVTU0VEX0FMUEhBX0FSQic6IDB4ODRFOSwKKyAg
J0NPTVBSRVNTRURfTFVNSU5BTkNFX0FSQic6IDB4ODRFQSwKKyAgJ0NPTVBSRVNTRURfTFVNSU5B
TkNFX0FMUEhBX0FSQic6IDB4ODRFQiwKKyAgJ0NPTVBSRVNTRURfSU5URU5TSVRZX0FSQic6IDB4
ODRFQywKKyAgJ0NPTVBSRVNTRURfUkdCX0FSQic6IDB4ODRFRCwKKyAgJ0NPTVBSRVNTRURfUkdC
QV9BUkInOiAweDg0RUUsCisgICdURVhUVVJFX0NPTVBSRVNTSU9OX0hJTlRfQVJCJzogMHg4NEVG
LAorICAnVEVYVFVSRV9DT01QUkVTU0VEX0lNQUdFX1NJWkVfQVJCJzogMHg4NkEwLAorICAnVEVY
VFVSRV9DT01QUkVTU0VEX0FSQic6IDB4ODZBMSwKKyAgJ05VTV9DT01QUkVTU0VEX1RFWFRVUkVf
Rk9STUFUU19BUkInOiAweDg2QTIsCisgICdDT01QUkVTU0VEX1RFWFRVUkVfRk9STUFUU19BUkIn
OiAweDg2QTMsCisgICdDT01QUkVTU0VEX1JFRF9SR1RDMSc6IDB4OERCQiwKKyAgJ0NPTVBSRVNT
RURfU0lHTkVEX1JFRF9SR1RDMSc6IDB4OERCQywKKyAgJ0NPTVBSRVNTRURfUkdfUkdUQzInOiAw
eDhEQkQsCisgICdDT01QUkVTU0VEX1NJR05FRF9SR19SR1RDMic6IDB4OERCRSwKKyAgJ05PUk1B
TF9NQVBfQVJCJzogMHg4NTExLAorICAnUkVGTEVDVElPTl9NQVBfQVJCJzogMHg4NTEyLAorICAn
VEVYVFVSRV9DVUJFX01BUF9BUkInOiAweDg1MTMsCisgICdURVhUVVJFX0JJTkRJTkdfQ1VCRV9N
QVBfQVJCJzogMHg4NTE0LAorICAnVEVYVFVSRV9DVUJFX01BUF9QT1NJVElWRV9YX0FSQic6IDB4
ODUxNSwKKyAgJ1RFWFRVUkVfQ1VCRV9NQVBfTkVHQVRJVkVfWF9BUkInOiAweDg1MTYsCisgICdU
RVhUVVJFX0NVQkVfTUFQX1BPU0lUSVZFX1lfQVJCJzogMHg4NTE3LAorICAnVEVYVFVSRV9DVUJF
X01BUF9ORUdBVElWRV9ZX0FSQic6IDB4ODUxOCwKKyAgJ1RFWFRVUkVfQ1VCRV9NQVBfUE9TSVRJ
VkVfWl9BUkInOiAweDg1MTksCisgICdURVhUVVJFX0NVQkVfTUFQX05FR0FUSVZFX1pfQVJCJzog
MHg4NTFBLAorICAnUFJPWFlfVEVYVFVSRV9DVUJFX01BUF9BUkInOiAweDg1MUIsCisgICdNQVhf
Q1VCRV9NQVBfVEVYVFVSRV9TSVpFX0FSQic6IDB4ODUxQywKKyAgJ1NVQlRSQUNUX0FSQic6IDB4
ODRFNywKKyAgJ0NPTUJJTkVfQVJCJzogMHg4NTcwLAorICAnQ09NQklORV9SR0JfQVJCJzogMHg4
NTcxLAorICAnQ09NQklORV9BTFBIQV9BUkInOiAweDg1NzIsCisgICdSR0JfU0NBTEVfQVJCJzog
MHg4NTczLAorICAnQUREX1NJR05FRF9BUkInOiAweDg1NzQsCisgICdJTlRFUlBPTEFURV9BUkIn
OiAweDg1NzUsCisgICdDT05TVEFOVF9BUkInOiAweDg1NzYsCisgICdQUklNQVJZX0NPTE9SX0FS
Qic6IDB4ODU3NywKKyAgJ1BSRVZJT1VTX0FSQic6IDB4ODU3OCwKKyAgJ1NPVVJDRTBfUkdCX0FS
Qic6IDB4ODU4MCwKKyAgJ1NPVVJDRTFfUkdCX0FSQic6IDB4ODU4MSwKKyAgJ1NPVVJDRTJfUkdC
X0FSQic6IDB4ODU4MiwKKyAgJ1NPVVJDRTBfQUxQSEFfQVJCJzogMHg4NTg4LAorICAnU09VUkNF
MV9BTFBIQV9BUkInOiAweDg1ODksCisgICdTT1VSQ0UyX0FMUEhBX0FSQic6IDB4ODU4QSwKKyAg
J09QRVJBTkQwX1JHQl9BUkInOiAweDg1OTAsCisgICdPUEVSQU5EMV9SR0JfQVJCJzogMHg4NTkx
LAorICAnT1BFUkFORDJfUkdCX0FSQic6IDB4ODU5MiwKKyAgJ09QRVJBTkQwX0FMUEhBX0FSQic6
IDB4ODU5OCwKKyAgJ09QRVJBTkQxX0FMUEhBX0FSQic6IDB4ODU5OSwKKyAgJ09QRVJBTkQyX0FM
UEhBX0FSQic6IDB4ODU5QSwKKyAgJ0RPVDNfUkdCX0FSQic6IDB4ODZBRSwKKyAgJ0RPVDNfUkdC
QV9BUkInOiAweDg2QUYsCisgICdSR0JBMzJGX0FSQic6IDB4ODgxNCwKKyAgJ1JHQjMyRl9BUkIn
OiAweDg4MTUsCisgICdBTFBIQTMyRl9BUkInOiAweDg4MTYsCisgICdJTlRFTlNJVFkzMkZfQVJC
JzogMHg4ODE3LAorICAnTFVNSU5BTkNFMzJGX0FSQic6IDB4ODgxOCwKKyAgJ0xVTUlOQU5DRV9B
TFBIQTMyRl9BUkInOiAweDg4MTksCisgICdSR0JBMTZGX0FSQic6IDB4ODgxQSwKKyAgJ1JHQjE2
Rl9BUkInOiAweDg4MUIsCisgICdBTFBIQTE2Rl9BUkInOiAweDg4MUMsCisgICdJTlRFTlNJVFkx
NkZfQVJCJzogMHg4ODFELAorICAnTFVNSU5BTkNFMTZGX0FSQic6IDB4ODgxRSwKKyAgJ0xVTUlO
QU5DRV9BTFBIQTE2Rl9BUkInOiAweDg4MUYsCisgICdURVhUVVJFX1JFRF9UWVBFX0FSQic6IDB4
OEMxMCwKKyAgJ1RFWFRVUkVfR1JFRU5fVFlQRV9BUkInOiAweDhDMTEsCisgICdURVhUVVJFX0JM
VUVfVFlQRV9BUkInOiAweDhDMTIsCisgICdURVhUVVJFX0FMUEhBX1RZUEVfQVJCJzogMHg4QzEz
LAorICAnVEVYVFVSRV9MVU1JTkFOQ0VfVFlQRV9BUkInOiAweDhDMTQsCisgICdURVhUVVJFX0lO
VEVOU0lUWV9UWVBFX0FSQic6IDB4OEMxNSwKKyAgJ1RFWFRVUkVfREVQVEhfVFlQRV9BUkInOiAw
eDhDMTYsCisgICdVTlNJR05FRF9OT1JNQUxJWkVEX0FSQic6IDB4OEMxNywKKyAgJ01JUlJPUkVE
X1JFUEVBVF9BUkInOiAweDgzNzAsCisgICdURVhUVVJFX1JFQ1RBTkdMRV9BUkInOiAweDg0RjUs
CisgICdURVhUVVJFX0JJTkRJTkdfUkVDVEFOR0xFX0FSQic6IDB4ODRGNiwKKyAgJ1BST1hZX1RF
WFRVUkVfUkVDVEFOR0xFX0FSQic6IDB4ODRGNywKKyAgJ01BWF9SRUNUQU5HTEVfVEVYVFVSRV9T
SVpFX0FSQic6IDB4ODRGOCwKKyAgJ1NBTVBMRVJfMkRfUkVDVF9BUkInOiAweDhCNjMsCisgICdT
QU1QTEVSXzJEX1JFQ1RfU0hBRE9XX0FSQic6IDB4OEI2NCwKKyAgJ1JFRCc6IDB4MTkwMywKKyAg
J1JHJzogMHg4MjI3LAorICAnUkdfSU5URUdFUic6IDB4ODIyOCwKKyAgJ1I4JzogMHg4MjI5LAor
ICAnUjE2JzogMHg4MjJBLAorICAnUkc4JzogMHg4MjJCLAorICAnUkcxNic6IDB4ODIyQywKKyAg
J1IxNkYnOiAweDgyMkQsCisgICdSMzJGJzogMHg4MjJFLAorICAnUkcxNkYnOiAweDgyMkYsCisg
ICdSRzMyRic6IDB4ODIzMCwKKyAgJ1I4SSc6IDB4ODIzMSwKKyAgJ1I4VUknOiAweDgyMzIsCisg
ICdSMTZJJzogMHg4MjMzLAorICAnUjE2VUknOiAweDgyMzQsCisgICdSMzJJJzogMHg4MjM1LAor
ICAnUjMyVUknOiAweDgyMzYsCisgICdSRzhJJzogMHg4MjM3LAorICAnUkc4VUknOiAweDgyMzgs
CisgICdSRzE2SSc6IDB4ODIzOSwKKyAgJ1JHMTZVSSc6IDB4ODIzQSwKKyAgJ1JHMzJJJzogMHg4
MjNCLAorICAnUkczMlVJJzogMHg4MjNDLAorICAnVFJBTlNQT1NFX01PREVMVklFV19NQVRSSVhf
QVJCJzogMHg4NEUzLAorICAnVFJBTlNQT1NFX1BST0pFQ1RJT05fTUFUUklYX0FSQic6IDB4ODRF
NCwKKyAgJ1RSQU5TUE9TRV9URVhUVVJFX01BVFJJWF9BUkInOiAweDg0RTUsCisgICdUUkFOU1BP
U0VfQ09MT1JfTUFUUklYX0FSQic6IDB4ODRFNiwKKyAgJ1ZFUlRFWF9BUlJBWV9CSU5ESU5HJzog
MHg4NUI1LAorICAnTU9ERUxWSUVXMF9BUkInOiAweDE3MDAsCisgICdNT0RFTFZJRVcxX0FSQic6
IDB4ODUwQSwKKyAgJ01BWF9WRVJURVhfVU5JVFNfQVJCJzogMHg4NkE0LAorICAnQUNUSVZFX1ZF
UlRFWF9VTklUU19BUkInOiAweDg2QTUsCisgICdXRUlHSFRfU1VNX1VOSVRZX0FSQic6IDB4ODZB
NiwKKyAgJ1ZFUlRFWF9CTEVORF9BUkInOiAweDg2QTcsCisgICdDVVJSRU5UX1dFSUdIVF9BUkIn
OiAweDg2QTgsCisgICdXRUlHSFRfQVJSQVlfVFlQRV9BUkInOiAweDg2QTksCisgICdXRUlHSFRf
QVJSQVlfU1RSSURFX0FSQic6IDB4ODZBQSwKKyAgJ1dFSUdIVF9BUlJBWV9TSVpFX0FSQic6IDB4
ODZBQiwKKyAgJ1dFSUdIVF9BUlJBWV9QT0lOVEVSX0FSQic6IDB4ODZBQywKKyAgJ1dFSUdIVF9B
UlJBWV9BUkInOiAweDg2QUQsCisgICdNT0RFTFZJRVcyX0FSQic6IDB4ODcyMiwKKyAgJ01PREVM
VklFVzNfQVJCJzogMHg4NzIzLAorICAnTU9ERUxWSUVXNF9BUkInOiAweDg3MjQsCisgICdNT0RF
TFZJRVc1X0FSQic6IDB4ODcyNSwKKyAgJ01PREVMVklFVzZfQVJCJzogMHg4NzI2LAorICAnTU9E
RUxWSUVXN19BUkInOiAweDg3MjcsCisgICdNT0RFTFZJRVc4X0FSQic6IDB4ODcyOCwKKyAgJ01P
REVMVklFVzlfQVJCJzogMHg4NzI5LAorICAnTU9ERUxWSUVXMTBfQVJCJzogMHg4NzJBLAorICAn
TU9ERUxWSUVXMTFfQVJCJzogMHg4NzJCLAorICAnTU9ERUxWSUVXMTJfQVJCJzogMHg4NzJDLAor
ICAnTU9ERUxWSUVXMTNfQVJCJzogMHg4NzJELAorICAnTU9ERUxWSUVXMTRfQVJCJzogMHg4NzJF
LAorICAnTU9ERUxWSUVXMTVfQVJCJzogMHg4NzJGLAorICAnTU9ERUxWSUVXMTZfQVJCJzogMHg4
NzMwLAorICAnTU9ERUxWSUVXMTdfQVJCJzogMHg4NzMxLAorICAnTU9ERUxWSUVXMThfQVJCJzog
MHg4NzMyLAorICAnTU9ERUxWSUVXMTlfQVJCJzogMHg4NzMzLAorICAnTU9ERUxWSUVXMjBfQVJC
JzogMHg4NzM0LAorICAnTU9ERUxWSUVXMjFfQVJCJzogMHg4NzM1LAorICAnTU9ERUxWSUVXMjJf
QVJCJzogMHg4NzM2LAorICAnTU9ERUxWSUVXMjNfQVJCJzogMHg4NzM3LAorICAnTU9ERUxWSUVX
MjRfQVJCJzogMHg4NzM4LAorICAnTU9ERUxWSUVXMjVfQVJCJzogMHg4NzM5LAorICAnTU9ERUxW
SUVXMjZfQVJCJzogMHg4NzNBLAorICAnTU9ERUxWSUVXMjdfQVJCJzogMHg4NzNCLAorICAnTU9E
RUxWSUVXMjhfQVJCJzogMHg4NzNDLAorICAnTU9ERUxWSUVXMjlfQVJCJzogMHg4NzNELAorICAn
TU9ERUxWSUVXMzBfQVJCJzogMHg4NzNFLAorICAnTU9ERUxWSUVXMzFfQVJCJzogMHg4NzNGLAor
ICAnQlVGRkVSX1NJWkVfQVJCJzogMHg4NzY0LAorICAnQlVGRkVSX1VTQUdFX0FSQic6IDB4ODc2
NSwKKyAgJ0FSUkFZX0JVRkZFUl9BUkInOiAweDg4OTIsCisgICdFTEVNRU5UX0FSUkFZX0JVRkZF
Ul9BUkInOiAweDg4OTMsCisgICdBUlJBWV9CVUZGRVJfQklORElOR19BUkInOiAweDg4OTQsCisg
ICdFTEVNRU5UX0FSUkFZX0JVRkZFUl9CSU5ESU5HX0FSQic6IDB4ODg5NSwKKyAgJ1ZFUlRFWF9B
UlJBWV9CVUZGRVJfQklORElOR19BUkInOiAweDg4OTYsCisgICdOT1JNQUxfQVJSQVlfQlVGRkVS
X0JJTkRJTkdfQVJCJzogMHg4ODk3LAorICAnQ09MT1JfQVJSQVlfQlVGRkVSX0JJTkRJTkdfQVJC
JzogMHg4ODk4LAorICAnSU5ERVhfQVJSQVlfQlVGRkVSX0JJTkRJTkdfQVJCJzogMHg4ODk5LAor
ICAnVEVYVFVSRV9DT09SRF9BUlJBWV9CVUZGRVJfQklORElOR19BUkInOiAweDg4OUEsCisgICdF
REdFX0ZMQUdfQVJSQVlfQlVGRkVSX0JJTkRJTkdfQVJCJzogMHg4ODlCLAorICAnU0VDT05EQVJZ
X0NPTE9SX0FSUkFZX0JVRkZFUl9CSU5ESU5HX0FSQic6IDB4ODg5QywKKyAgJ0ZPR19DT09SRElO
QVRFX0FSUkFZX0JVRkZFUl9CSU5ESU5HX0FSQic6IDB4ODg5RCwKKyAgJ1dFSUdIVF9BUlJBWV9C
VUZGRVJfQklORElOR19BUkInOiAweDg4OUUsCisgICdWRVJURVhfQVRUUklCX0FSUkFZX0JVRkZF
Ul9CSU5ESU5HX0FSQic6IDB4ODg5RiwKKyAgJ1JFQURfT05MWV9BUkInOiAweDg4QjgsCisgICdX
UklURV9PTkxZX0FSQic6IDB4ODhCOSwKKyAgJ1JFQURfV1JJVEVfQVJCJzogMHg4OEJBLAorICAn
QlVGRkVSX0FDQ0VTU19BUkInOiAweDg4QkIsCisgICdCVUZGRVJfTUFQUEVEX0FSQic6IDB4ODhC
QywKKyAgJ0JVRkZFUl9NQVBfUE9JTlRFUl9BUkInOiAweDg4QkQsCisgICdTVFJFQU1fRFJBV19B
UkInOiAweDg4RTAsCisgICdTVFJFQU1fUkVBRF9BUkInOiAweDg4RTEsCisgICdTVFJFQU1fQ09Q
WV9BUkInOiAweDg4RTIsCisgICdTVEFUSUNfRFJBV19BUkInOiAweDg4RTQsCisgICdTVEFUSUNf
UkVBRF9BUkInOiAweDg4RTUsCisgICdTVEFUSUNfQ09QWV9BUkInOiAweDg4RTYsCisgICdEWU5B
TUlDX0RSQVdfQVJCJzogMHg4OEU4LAorICAnRFlOQU1JQ19SRUFEX0FSQic6IDB4ODhFOSwKKyAg
J0RZTkFNSUNfQ09QWV9BUkInOiAweDg4RUEsCisgICdDT0xPUl9TVU1fQVJCJzogMHg4NDU4LAor
ICAnVkVSVEVYX1BST0dSQU1fQVJCJzogMHg4NjIwLAorICAnVkVSVEVYX0FUVFJJQl9BUlJBWV9F
TkFCTEVEX0FSQic6IDB4ODYyMiwKKyAgJ1ZFUlRFWF9BVFRSSUJfQVJSQVlfU0laRV9BUkInOiAw
eDg2MjMsCisgICdWRVJURVhfQVRUUklCX0FSUkFZX1NUUklERV9BUkInOiAweDg2MjQsCisgICdW
RVJURVhfQVRUUklCX0FSUkFZX1RZUEVfQVJCJzogMHg4NjI1LAorICAnQ1VSUkVOVF9WRVJURVhf
QVRUUklCX0FSQic6IDB4ODYyNiwKKyAgJ1BST0dSQU1fTEVOR1RIX0FSQic6IDB4ODYyNywKKyAg
J1BST0dSQU1fU1RSSU5HX0FSQic6IDB4ODYyOCwKKyAgJ01BWF9QUk9HUkFNX01BVFJJWF9TVEFD
S19ERVBUSF9BUkInOiAweDg2MkUsCisgICdNQVhfUFJPR1JBTV9NQVRSSUNFU19BUkInOiAweDg2
MkYsCisgICdDVVJSRU5UX01BVFJJWF9TVEFDS19ERVBUSF9BUkInOiAweDg2NDAsCisgICdDVVJS
RU5UX01BVFJJWF9BUkInOiAweDg2NDEsCisgICdWRVJURVhfUFJPR1JBTV9QT0lOVF9TSVpFX0FS
Qic6IDB4ODY0MiwKKyAgJ1ZFUlRFWF9QUk9HUkFNX1RXT19TSURFX0FSQic6IDB4ODY0MywKKyAg
J1ZFUlRFWF9BVFRSSUJfQVJSQVlfUE9JTlRFUl9BUkInOiAweDg2NDUsCisgICdQUk9HUkFNX0VS
Uk9SX1BPU0lUSU9OX0FSQic6IDB4ODY0QiwKKyAgJ1BST0dSQU1fQklORElOR19BUkInOiAweDg2
NzcsCisgICdNQVhfVkVSVEVYX0FUVFJJQlNfQVJCJzogMHg4ODY5LAorICAnVkVSVEVYX0FUVFJJ
Ql9BUlJBWV9OT1JNQUxJWkVEX0FSQic6IDB4ODg2QSwKKyAgJ1BST0dSQU1fRVJST1JfU1RSSU5H
X0FSQic6IDB4ODg3NCwKKyAgJ1BST0dSQU1fRk9STUFUX0FTQ0lJX0FSQic6IDB4ODg3NSwKKyAg
J1BST0dSQU1fRk9STUFUX0FSQic6IDB4ODg3NiwKKyAgJ1BST0dSQU1fSU5TVFJVQ1RJT05TX0FS
Qic6IDB4ODhBMCwKKyAgJ01BWF9QUk9HUkFNX0lOU1RSVUNUSU9OU19BUkInOiAweDg4QTEsCisg
ICdQUk9HUkFNX05BVElWRV9JTlNUUlVDVElPTlNfQVJCJzogMHg4OEEyLAorICAnTUFYX1BST0dS
QU1fTkFUSVZFX0lOU1RSVUNUSU9OU19BUkInOiAweDg4QTMsCisgICdQUk9HUkFNX1RFTVBPUkFS
SUVTX0FSQic6IDB4ODhBNCwKKyAgJ01BWF9QUk9HUkFNX1RFTVBPUkFSSUVTX0FSQic6IDB4ODhB
NSwKKyAgJ1BST0dSQU1fTkFUSVZFX1RFTVBPUkFSSUVTX0FSQic6IDB4ODhBNiwKKyAgJ01BWF9Q
Uk9HUkFNX05BVElWRV9URU1QT1JBUklFU19BUkInOiAweDg4QTcsCisgICdQUk9HUkFNX1BBUkFN
RVRFUlNfQVJCJzogMHg4OEE4LAorICAnTUFYX1BST0dSQU1fUEFSQU1FVEVSU19BUkInOiAweDg4
QTksCisgICdQUk9HUkFNX05BVElWRV9QQVJBTUVURVJTX0FSQic6IDB4ODhBQSwKKyAgJ01BWF9Q
Uk9HUkFNX05BVElWRV9QQVJBTUVURVJTX0FSQic6IDB4ODhBQiwKKyAgJ1BST0dSQU1fQVRUUklC
U19BUkInOiAweDg4QUMsCisgICdNQVhfUFJPR1JBTV9BVFRSSUJTX0FSQic6IDB4ODhBRCwKKyAg
J1BST0dSQU1fTkFUSVZFX0FUVFJJQlNfQVJCJzogMHg4OEFFLAorICAnTUFYX1BST0dSQU1fTkFU
SVZFX0FUVFJJQlNfQVJCJzogMHg4OEFGLAorICAnUFJPR1JBTV9BRERSRVNTX1JFR0lTVEVSU19B
UkInOiAweDg4QjAsCisgICdNQVhfUFJPR1JBTV9BRERSRVNTX1JFR0lTVEVSU19BUkInOiAweDg4
QjEsCisgICdQUk9HUkFNX05BVElWRV9BRERSRVNTX1JFR0lTVEVSU19BUkInOiAweDg4QjIsCisg
ICdNQVhfUFJPR1JBTV9OQVRJVkVfQUREUkVTU19SRUdJU1RFUlNfQVJCJzogMHg4OEIzLAorICAn
TUFYX1BST0dSQU1fTE9DQUxfUEFSQU1FVEVSU19BUkInOiAweDg4QjQsCisgICdNQVhfUFJPR1JB
TV9FTlZfUEFSQU1FVEVSU19BUkInOiAweDg4QjUsCisgICdQUk9HUkFNX1VOREVSX05BVElWRV9M
SU1JVFNfQVJCJzogMHg4OEI2LAorICAnVFJBTlNQT1NFX0NVUlJFTlRfTUFUUklYX0FSQic6IDB4
ODhCNywKKyAgJ01BVFJJWDBfQVJCJzogMHg4OEMwLAorICAnTUFUUklYMV9BUkInOiAweDg4QzEs
CisgICdNQVRSSVgyX0FSQic6IDB4ODhDMiwKKyAgJ01BVFJJWDNfQVJCJzogMHg4OEMzLAorICAn
TUFUUklYNF9BUkInOiAweDg4QzQsCisgICdNQVRSSVg1X0FSQic6IDB4ODhDNSwKKyAgJ01BVFJJ
WDZfQVJCJzogMHg4OEM2LAorICAnTUFUUklYN19BUkInOiAweDg4QzcsCisgICdNQVRSSVg4X0FS
Qic6IDB4ODhDOCwKKyAgJ01BVFJJWDlfQVJCJzogMHg4OEM5LAorICAnTUFUUklYMTBfQVJCJzog
MHg4OENBLAorICAnTUFUUklYMTFfQVJCJzogMHg4OENCLAorICAnTUFUUklYMTJfQVJCJzogMHg4
OENDLAorICAnTUFUUklYMTNfQVJCJzogMHg4OENELAorICAnTUFUUklYMTRfQVJCJzogMHg4OENF
LAorICAnTUFUUklYMTVfQVJCJzogMHg4OENGLAorICAnTUFUUklYMTZfQVJCJzogMHg4OEQwLAor
ICAnTUFUUklYMTdfQVJCJzogMHg4OEQxLAorICAnTUFUUklYMThfQVJCJzogMHg4OEQyLAorICAn
TUFUUklYMTlfQVJCJzogMHg4OEQzLAorICAnTUFUUklYMjBfQVJCJzogMHg4OEQ0LAorICAnTUFU
UklYMjFfQVJCJzogMHg4OEQ1LAorICAnTUFUUklYMjJfQVJCJzogMHg4OEQ2LAorICAnTUFUUklY
MjNfQVJCJzogMHg4OEQ3LAorICAnTUFUUklYMjRfQVJCJzogMHg4OEQ4LAorICAnTUFUUklYMjVf
QVJCJzogMHg4OEQ5LAorICAnTUFUUklYMjZfQVJCJzogMHg4OERBLAorICAnTUFUUklYMjdfQVJC
JzogMHg4OERCLAorICAnTUFUUklYMjhfQVJCJzogMHg4OERDLAorICAnTUFUUklYMjlfQVJCJzog
MHg4OERELAorICAnTUFUUklYMzBfQVJCJzogMHg4OERFLAorICAnTUFUUklYMzFfQVJCJzogMHg4
OERGLAorICAnVkVSVEVYX1NIQURFUl9BUkInOiAweDhCMzEsCisgICdNQVhfVkVSVEVYX1VOSUZP
Uk1fQ09NUE9ORU5UU19BUkInOiAweDhCNEEsCisgICdNQVhfVkFSWUlOR19GTE9BVFNfQVJCJzog
MHg4QjRCLAorICAnTUFYX1ZFUlRFWF9URVhUVVJFX0lNQUdFX1VOSVRTX0FSQic6IDB4OEI0QywK
KyAgJ01BWF9DT01CSU5FRF9URVhUVVJFX0lNQUdFX1VOSVRTX0FSQic6IDB4OEI0RCwKKyAgJ09C
SkVDVF9BQ1RJVkVfQVRUUklCVVRFU19BUkInOiAweDhCODksCisgICdPQkpFQ1RfQUNUSVZFX0FU
VFJJQlVURV9NQVhfTEVOR1RIX0FSQic6IDB4OEI4QSwKKyAgJ1RFWFRVUkVfUE9JTlRfTU9ERV9B
VElYJzogMHg2MEIwLAorICAnVEVYVFVSRV9QT0lOVF9PTkVfQ09PUkRfQVRJWCc6IDB4NjBCMSwK
KyAgJ1RFWFRVUkVfUE9JTlRfU1BSSVRFX0FUSVgnOiAweDYwQjIsCisgICdQT0lOVF9TUFJJVEVf
Q1VMTF9NT0RFX0FUSVgnOiAweDYwQjMsCisgICdQT0lOVF9TUFJJVEVfQ1VMTF9DRU5URVJfQVRJ
WCc6IDB4NjBCNCwKKyAgJ1BPSU5UX1NQUklURV9DVUxMX0NMSVBfQVRJWCc6IDB4NjBCNSwKKyAg
J01PRFVMQVRFX0FERF9BVElYJzogMHg4NzQ0LAorICAnTU9EVUxBVEVfU0lHTkVEX0FERF9BVElY
JzogMHg4NzQ1LAorICAnTU9EVUxBVEVfU1VCVFJBQ1RfQVRJWCc6IDB4ODc0NiwKKyAgJ1NFQ09O
REFSWV9DT0xPUl9BVElYJzogMHg4NzQ3LAorICAnVEVYVFVSRV9PVVRQVVRfUkdCX0FUSVgnOiAw
eDg3NDgsCisgICdURVhUVVJFX09VVFBVVF9BTFBIQV9BVElYJzogMHg4NzQ5LAorICAnT1VUUFVU
X1BPSU5UX1NJWkVfQVRJWCc6IDB4NjEwRSwKKyAgJ01BWF9EUkFXX0JVRkZFUlNfQVRJJzogMHg4
ODI0LAorICAnRFJBV19CVUZGRVIwX0FUSSc6IDB4ODgyNSwKKyAgJ0RSQVdfQlVGRkVSMV9BVEkn
OiAweDg4MjYsCisgICdEUkFXX0JVRkZFUjJfQVRJJzogMHg4ODI3LAorICAnRFJBV19CVUZGRVIz
X0FUSSc6IDB4ODgyOCwKKyAgJ0RSQVdfQlVGRkVSNF9BVEknOiAweDg4MjksCisgICdEUkFXX0JV
RkZFUjVfQVRJJzogMHg4ODJBLAorICAnRFJBV19CVUZGRVI2X0FUSSc6IDB4ODgyQiwKKyAgJ0RS
QVdfQlVGRkVSN19BVEknOiAweDg4MkMsCisgICdEUkFXX0JVRkZFUjhfQVRJJzogMHg4ODJELAor
ICAnRFJBV19CVUZGRVI5X0FUSSc6IDB4ODgyRSwKKyAgJ0RSQVdfQlVGRkVSMTBfQVRJJzogMHg4
ODJGLAorICAnRFJBV19CVUZGRVIxMV9BVEknOiAweDg4MzAsCisgICdEUkFXX0JVRkZFUjEyX0FU
SSc6IDB4ODgzMSwKKyAgJ0RSQVdfQlVGRkVSMTNfQVRJJzogMHg4ODMyLAorICAnRFJBV19CVUZG
RVIxNF9BVEknOiAweDg4MzMsCisgICdEUkFXX0JVRkZFUjE1X0FUSSc6IDB4ODgzNCwKKyAgJ0VM
RU1FTlRfQVJSQVlfQVRJJzogMHg4NzY4LAorICAnRUxFTUVOVF9BUlJBWV9UWVBFX0FUSSc6IDB4
ODc2OSwKKyAgJ0VMRU1FTlRfQVJSQVlfUE9JTlRFUl9BVEknOiAweDg3NkEsCisgICdCVU1QX1JP
VF9NQVRSSVhfQVRJJzogMHg4Nzc1LAorICAnQlVNUF9ST1RfTUFUUklYX1NJWkVfQVRJJzogMHg4
Nzc2LAorICAnQlVNUF9OVU1fVEVYX1VOSVRTX0FUSSc6IDB4ODc3NywKKyAgJ0JVTVBfVEVYX1VO
SVRTX0FUSSc6IDB4ODc3OCwKKyAgJ0RVRFZfQVRJJzogMHg4Nzc5LAorICAnRFU4RFY4X0FUSSc6
IDB4ODc3QSwKKyAgJ0JVTVBfRU5WTUFQX0FUSSc6IDB4ODc3QiwKKyAgJ0JVTVBfVEFSR0VUX0FU
SSc6IDB4ODc3QywKKyAgJ1JFRF9CSVRfQVRJJzogMHgwMDAwMDAwMSwKKyAgJzJYX0JJVF9BVEkn
OiAweDAwMDAwMDAxLAorICAnNFhfQklUX0FUSSc6IDB4MDAwMDAwMDIsCisgICdHUkVFTl9CSVRf
QVRJJzogMHgwMDAwMDAwMiwKKyAgJ0NPTVBfQklUX0FUSSc6IDB4MDAwMDAwMDIsCisgICdCTFVF
X0JJVF9BVEknOiAweDAwMDAwMDA0LAorICAnOFhfQklUX0FUSSc6IDB4MDAwMDAwMDQsCisgICdO
RUdBVEVfQklUX0FUSSc6IDB4MDAwMDAwMDQsCisgICdCSUFTX0JJVF9BVEknOiAweDAwMDAwMDA4
LAorICAnSEFMRl9CSVRfQVRJJzogMHgwMDAwMDAwOCwKKyAgJ1FVQVJURVJfQklUX0FUSSc6IDB4
MDAwMDAwMTAsCisgICdFSUdIVEhfQklUX0FUSSc6IDB4MDAwMDAwMjAsCisgICdTQVRVUkFURV9C
SVRfQVRJJzogMHgwMDAwMDA0MCwKKyAgJ0ZSQUdNRU5UX1NIQURFUl9BVEknOiAweDg5MjAsCisg
ICdSRUdfMF9BVEknOiAweDg5MjEsCisgICdSRUdfMV9BVEknOiAweDg5MjIsCisgICdSRUdfMl9B
VEknOiAweDg5MjMsCisgICdSRUdfM19BVEknOiAweDg5MjQsCisgICdSRUdfNF9BVEknOiAweDg5
MjUsCisgICdSRUdfNV9BVEknOiAweDg5MjYsCisgICdDT05fMF9BVEknOiAweDg5NDEsCisgICdD
T05fMV9BVEknOiAweDg5NDIsCisgICdDT05fMl9BVEknOiAweDg5NDMsCisgICdDT05fM19BVEkn
OiAweDg5NDQsCisgICdDT05fNF9BVEknOiAweDg5NDUsCisgICdDT05fNV9BVEknOiAweDg5NDYs
CisgICdDT05fNl9BVEknOiAweDg5NDcsCisgICdDT05fN19BVEknOiAweDg5NDgsCisgICdNT1Zf
QVRJJzogMHg4OTYxLAorICAnQUREX0FUSSc6IDB4ODk2MywKKyAgJ01VTF9BVEknOiAweDg5NjQs
CisgICdTVUJfQVRJJzogMHg4OTY1LAorICAnRE9UM19BVEknOiAweDg5NjYsCisgICdET1Q0X0FU
SSc6IDB4ODk2NywKKyAgJ01BRF9BVEknOiAweDg5NjgsCisgICdMRVJQX0FUSSc6IDB4ODk2OSwK
KyAgJ0NORF9BVEknOiAweDg5NkEsCisgICdDTkQwX0FUSSc6IDB4ODk2QiwKKyAgJ0RPVDJfQURE
X0FUSSc6IDB4ODk2QywKKyAgJ1NFQ09OREFSWV9JTlRFUlBPTEFUT1JfQVRJJzogMHg4OTZELAor
ICAnTlVNX0ZSQUdNRU5UX1JFR0lTVEVSU19BVEknOiAweDg5NkUsCisgICdOVU1fRlJBR01FTlRf
Q09OU1RBTlRTX0FUSSc6IDB4ODk2RiwKKyAgJ05VTV9QQVNTRVNfQVRJJzogMHg4OTcwLAorICAn
TlVNX0lOU1RSVUNUSU9OU19QRVJfUEFTU19BVEknOiAweDg5NzEsCisgICdOVU1fSU5TVFJVQ1RJ
T05TX1RPVEFMX0FUSSc6IDB4ODk3MiwKKyAgJ05VTV9JTlBVVF9JTlRFUlBPTEFUT1JfQ09NUE9O
RU5UU19BVEknOiAweDg5NzMsCisgICdOVU1fTE9PUEJBQ0tfQ09NUE9ORU5UU19BVEknOiAweDg5
NzQsCisgICdDT0xPUl9BTFBIQV9QQUlSSU5HX0FUSSc6IDB4ODk3NSwKKyAgJ1NXSVpaTEVfU1RS
X0FUSSc6IDB4ODk3NiwKKyAgJ1NXSVpaTEVfU1RRX0FUSSc6IDB4ODk3NywKKyAgJ1NXSVpaTEVf
U1RSX0RSX0FUSSc6IDB4ODk3OCwKKyAgJ1NXSVpaTEVfU1RRX0RRX0FUSSc6IDB4ODk3OSwKKyAg
J1NXSVpaTEVfU1RSUV9BVEknOiAweDg5N0EsCisgICdTV0laWkxFX1NUUlFfRFFfQVRJJzogMHg4
OTdCLAorICAnUE5fVFJJQU5HTEVTX0FUSSc6IDB4ODdGMCwKKyAgJ01BWF9QTl9UUklBTkdMRVNf
VEVTU0VMQVRJT05fTEVWRUxfQVRJJzogMHg4N0YxLAorICAnUE5fVFJJQU5HTEVTX1BPSU5UX01P
REVfQVRJJzogMHg4N0YyLAorICAnUE5fVFJJQU5HTEVTX05PUk1BTF9NT0RFX0FUSSc6IDB4ODdG
MywKKyAgJ1BOX1RSSUFOR0xFU19URVNTRUxBVElPTl9MRVZFTF9BVEknOiAweDg3RjQsCisgICdQ
Tl9UUklBTkdMRVNfUE9JTlRfTU9ERV9MSU5FQVJfQVRJJzogMHg4N0Y1LAorICAnUE5fVFJJQU5H
TEVTX1BPSU5UX01PREVfQ1VCSUNfQVRJJzogMHg4N0Y2LAorICAnUE5fVFJJQU5HTEVTX05PUk1B
TF9NT0RFX0xJTkVBUl9BVEknOiAweDg3RjcsCisgICdQTl9UUklBTkdMRVNfTk9STUFMX01PREVf
UVVBRFJBVElDX0FUSSc6IDB4ODdGOCwKKyAgJ1NURU5DSUxfQkFDS19GVU5DX0FUSSc6IDB4ODgw
MCwKKyAgJ1NURU5DSUxfQkFDS19GQUlMX0FUSSc6IDB4ODgwMSwKKyAgJ1NURU5DSUxfQkFDS19Q
QVNTX0RFUFRIX0ZBSUxfQVRJJzogMHg4ODAyLAorICAnU1RFTkNJTF9CQUNLX1BBU1NfREVQVEhf
UEFTU19BVEknOiAweDg4MDMsCisgICdURVhUX0ZSQUdNRU5UX1NIQURFUl9BVEknOiAweDgyMDAs
CisgICdDT01QUkVTU0VEX0xVTUlOQU5DRV9BTFBIQV8zRENfQVRJJzogMHg4ODM3LAorICAnTU9E
VUxBVEVfQUREX0FUSSc6IDB4ODc0NCwKKyAgJ01PRFVMQVRFX1NJR05FRF9BRERfQVRJJzogMHg4
NzQ1LAorICAnTU9EVUxBVEVfU1VCVFJBQ1RfQVRJJzogMHg4NzQ2LAorICAnUkdCQV9GTE9BVDMy
X0FUSSc6IDB4ODgxNCwKKyAgJ1JHQl9GTE9BVDMyX0FUSSc6IDB4ODgxNSwKKyAgJ0FMUEhBX0ZM
T0FUMzJfQVRJJzogMHg4ODE2LAorICAnSU5URU5TSVRZX0ZMT0FUMzJfQVRJJzogMHg4ODE3LAor
ICAnTFVNSU5BTkNFX0ZMT0FUMzJfQVRJJzogMHg4ODE4LAorICAnTFVNSU5BTkNFX0FMUEhBX0ZM
T0FUMzJfQVRJJzogMHg4ODE5LAorICAnUkdCQV9GTE9BVDE2X0FUSSc6IDB4ODgxQSwKKyAgJ1JH
Ql9GTE9BVDE2X0FUSSc6IDB4ODgxQiwKKyAgJ0FMUEhBX0ZMT0FUMTZfQVRJJzogMHg4ODFDLAor
ICAnSU5URU5TSVRZX0ZMT0FUMTZfQVRJJzogMHg4ODFELAorICAnTFVNSU5BTkNFX0ZMT0FUMTZf
QVRJJzogMHg4ODFFLAorICAnTFVNSU5BTkNFX0FMUEhBX0ZMT0FUMTZfQVRJJzogMHg4ODFGLAor
ICAnTUlSUk9SX0NMQU1QX0FUSSc6IDB4ODc0MiwKKyAgJ01JUlJPUl9DTEFNUF9UT19FREdFX0FU
SSc6IDB4ODc0MywKKyAgJ1NUQVRJQ19BVEknOiAweDg3NjAsCisgICdEWU5BTUlDX0FUSSc6IDB4
ODc2MSwKKyAgJ1BSRVNFUlZFX0FUSSc6IDB4ODc2MiwKKyAgJ0RJU0NBUkRfQVRJJzogMHg4NzYz
LAorICAnT0JKRUNUX0JVRkZFUl9TSVpFX0FUSSc6IDB4ODc2NCwKKyAgJ09CSkVDVF9CVUZGRVJf
VVNBR0VfQVRJJzogMHg4NzY1LAorICAnQVJSQVlfT0JKRUNUX0JVRkZFUl9BVEknOiAweDg3NjYs
CisgICdBUlJBWV9PQkpFQ1RfT0ZGU0VUX0FUSSc6IDB4ODc2NywKKyAgJ01BWF9WRVJURVhfU1RS
RUFNU19BVEknOiAweDg3NkIsCisgICdWRVJURVhfU09VUkNFX0FUSSc6IDB4ODc2QywKKyAgJ1ZF
UlRFWF9TVFJFQU0wX0FUSSc6IDB4ODc2RCwKKyAgJ1ZFUlRFWF9TVFJFQU0xX0FUSSc6IDB4ODc2
RSwKKyAgJ1ZFUlRFWF9TVFJFQU0yX0FUSSc6IDB4ODc2RiwKKyAgJ1ZFUlRFWF9TVFJFQU0zX0FU
SSc6IDB4ODc3MCwKKyAgJ1ZFUlRFWF9TVFJFQU00X0FUSSc6IDB4ODc3MSwKKyAgJ1ZFUlRFWF9T
VFJFQU01X0FUSSc6IDB4ODc3MiwKKyAgJ1ZFUlRFWF9TVFJFQU02X0FUSSc6IDB4ODc3MywKKyAg
J1ZFUlRFWF9TVFJFQU03X0FUSSc6IDB4ODc3NCwKKyAgJzQyMl9FWFQnOiAweDgwQ0MsCisgICc0
MjJfUkVWX0VYVCc6IDB4ODBDRCwKKyAgJzQyMl9BVkVSQUdFX0VYVCc6IDB4ODBDRSwKKyAgJzQy
Ml9SRVZfQVZFUkFHRV9FWFQnOiAweDgwQ0YsCisgICdDR19WRVJURVhfU0hBREVSX0VYVCc6IDB4
ODkwRSwKKyAgJ0NHX0ZSQUdNRU5UX1NIQURFUl9FWFQnOiAweDg5MEYsCisgICdBQkdSX0VYVCc6
IDB4ODAwMCwKKyAgJ0JHUl9FWFQnOiAweDgwRTAsCisgICdCR1JBX0VYVCc6IDB4ODBFMSwKKyAg
J01BWF9WRVJURVhfQklOREFCTEVfVU5JRk9STVNfRVhUJzogMHg4REUyLAorICAnTUFYX0ZSQUdN
RU5UX0JJTkRBQkxFX1VOSUZPUk1TX0VYVCc6IDB4OERFMywKKyAgJ01BWF9HRU9NRVRSWV9CSU5E
QUJMRV9VTklGT1JNU19FWFQnOiAweDhERTQsCisgICdNQVhfQklOREFCTEVfVU5JRk9STV9TSVpF
X0VYVCc6IDB4OERFRCwKKyAgJ1VOSUZPUk1fQlVGRkVSX0VYVCc6IDB4OERFRSwKKyAgJ1VOSUZP
Uk1fQlVGRkVSX0JJTkRJTkdfRVhUJzogMHg4REVGLAorICAnQ09OU1RBTlRfQ09MT1JfRVhUJzog
MHg4MDAxLAorICAnT05FX01JTlVTX0NPTlNUQU5UX0NPTE9SX0VYVCc6IDB4ODAwMiwKKyAgJ0NP
TlNUQU5UX0FMUEhBX0VYVCc6IDB4ODAwMywKKyAgJ09ORV9NSU5VU19DT05TVEFOVF9BTFBIQV9F
WFQnOiAweDgwMDQsCisgICdCTEVORF9DT0xPUl9FWFQnOiAweDgwMDUsCisgICdCTEVORF9FUVVB
VElPTl9SR0JfRVhUJzogMHg4MDA5LAorICAnQkxFTkRfRVFVQVRJT05fQUxQSEFfRVhUJzogMHg4
ODNELAorICAnQkxFTkRfRFNUX1JHQl9FWFQnOiAweDgwQzgsCisgICdCTEVORF9TUkNfUkdCX0VY
VCc6IDB4ODBDOSwKKyAgJ0JMRU5EX0RTVF9BTFBIQV9FWFQnOiAweDgwQ0EsCisgICdCTEVORF9T
UkNfQUxQSEFfRVhUJzogMHg4MENCLAorICAnRlVOQ19BRERfRVhUJzogMHg4MDA2LAorICAnTUlO
X0VYVCc6IDB4ODAwNywKKyAgJ01BWF9FWFQnOiAweDgwMDgsCisgICdCTEVORF9FUVVBVElPTl9F
WFQnOiAweDgwMDksCisgICdGVU5DX1NVQlRSQUNUX0VYVCc6IDB4ODAwQSwKKyAgJ0ZVTkNfUkVW
RVJTRV9TVUJUUkFDVF9FWFQnOiAweDgwMEIsCisgICdDTElQX1ZPTFVNRV9DTElQUElOR19ISU5U
X0VYVCc6IDB4ODBGMCwKKyAgJ0NNWUtfRVhUJzogMHg4MDBDLAorICAnQ01ZS0FfRVhUJzogMHg4
MDBELAorICAnUEFDS19DTVlLX0hJTlRfRVhUJzogMHg4MDBFLAorICAnVU5QQUNLX0NNWUtfSElO
VF9FWFQnOiAweDgwMEYsCisgICdBUlJBWV9FTEVNRU5UX0xPQ0tfRklSU1RfRVhUJzogMHg4MUE4
LAorICAnQVJSQVlfRUxFTUVOVF9MT0NLX0NPVU5UX0VYVCc6IDB4ODFBOSwKKyAgJ0NPTlZPTFVU
SU9OXzFEX0VYVCc6IDB4ODAxMCwKKyAgJ0NPTlZPTFVUSU9OXzJEX0VYVCc6IDB4ODAxMSwKKyAg
J1NFUEFSQUJMRV8yRF9FWFQnOiAweDgwMTIsCisgICdDT05WT0xVVElPTl9CT1JERVJfTU9ERV9F
WFQnOiAweDgwMTMsCisgICdDT05WT0xVVElPTl9GSUxURVJfU0NBTEVfRVhUJzogMHg4MDE0LAor
ICAnQ09OVk9MVVRJT05fRklMVEVSX0JJQVNfRVhUJzogMHg4MDE1LAorICAnUkVEVUNFX0VYVCc6
IDB4ODAxNiwKKyAgJ0NPTlZPTFVUSU9OX0ZPUk1BVF9FWFQnOiAweDgwMTcsCisgICdDT05WT0xV
VElPTl9XSURUSF9FWFQnOiAweDgwMTgsCisgICdDT05WT0xVVElPTl9IRUlHSFRfRVhUJzogMHg4
MDE5LAorICAnTUFYX0NPTlZPTFVUSU9OX1dJRFRIX0VYVCc6IDB4ODAxQSwKKyAgJ01BWF9DT05W
T0xVVElPTl9IRUlHSFRfRVhUJzogMHg4MDFCLAorICAnUE9TVF9DT05WT0xVVElPTl9SRURfU0NB
TEVfRVhUJzogMHg4MDFDLAorICAnUE9TVF9DT05WT0xVVElPTl9HUkVFTl9TQ0FMRV9FWFQnOiAw
eDgwMUQsCisgICdQT1NUX0NPTlZPTFVUSU9OX0JMVUVfU0NBTEVfRVhUJzogMHg4MDFFLAorICAn
UE9TVF9DT05WT0xVVElPTl9BTFBIQV9TQ0FMRV9FWFQnOiAweDgwMUYsCisgICdQT1NUX0NPTlZP
TFVUSU9OX1JFRF9CSUFTX0VYVCc6IDB4ODAyMCwKKyAgJ1BPU1RfQ09OVk9MVVRJT05fR1JFRU5f
QklBU19FWFQnOiAweDgwMjEsCisgICdQT1NUX0NPTlZPTFVUSU9OX0JMVUVfQklBU19FWFQnOiAw
eDgwMjIsCisgICdQT1NUX0NPTlZPTFVUSU9OX0FMUEhBX0JJQVNfRVhUJzogMHg4MDIzLAorICAn
VEFOR0VOVF9BUlJBWV9FWFQnOiAweDg0MzksCisgICdCSU5PUk1BTF9BUlJBWV9FWFQnOiAweDg0
M0EsCisgICdDVVJSRU5UX1RBTkdFTlRfRVhUJzogMHg4NDNCLAorICAnQ1VSUkVOVF9CSU5PUk1B
TF9FWFQnOiAweDg0M0MsCisgICdUQU5HRU5UX0FSUkFZX1RZUEVfRVhUJzogMHg4NDNFLAorICAn
VEFOR0VOVF9BUlJBWV9TVFJJREVfRVhUJzogMHg4NDNGLAorICAnQklOT1JNQUxfQVJSQVlfVFlQ
RV9FWFQnOiAweDg0NDAsCisgICdCSU5PUk1BTF9BUlJBWV9TVFJJREVfRVhUJzogMHg4NDQxLAor
ICAnVEFOR0VOVF9BUlJBWV9QT0lOVEVSX0VYVCc6IDB4ODQ0MiwKKyAgJ0JJTk9STUFMX0FSUkFZ
X1BPSU5URVJfRVhUJzogMHg4NDQzLAorICAnTUFQMV9UQU5HRU5UX0VYVCc6IDB4ODQ0NCwKKyAg
J01BUDJfVEFOR0VOVF9FWFQnOiAweDg0NDUsCisgICdNQVAxX0JJTk9STUFMX0VYVCc6IDB4ODQ0
NiwKKyAgJ01BUDJfQklOT1JNQUxfRVhUJzogMHg4NDQ3LAorICAnREVQVEhfQk9VTkRTX1RFU1Rf
RVhUJzogMHg4ODkwLAorICAnREVQVEhfQk9VTkRTX0VYVCc6IDB4ODg5MSwKKyAgJ1BST0dSQU1f
TUFUUklYX0VYVCc6IDB4OEUyRCwKKyAgJ1RSQU5TUE9TRV9QUk9HUkFNX01BVFJJWF9FWFQnOiAw
eDhFMkUsCisgICdQUk9HUkFNX01BVFJJWF9TVEFDS19ERVBUSF9FWFQnOiAweDhFMkYsCisgICdN
QVhfRUxFTUVOVFNfVkVSVElDRVMnOiAweDgwRTgsCisgICdNQVhfRUxFTUVOVFNfSU5ESUNFUyc6
IDB4ODBFOSwKKyAgJ0ZPR19DT09SRElOQVRFX1NPVVJDRV9FWFQnOiAweDg0NTAsCisgICdGT0df
Q09PUkRJTkFURV9FWFQnOiAweDg0NTEsCisgICdGUkFHTUVOVF9ERVBUSF9FWFQnOiAweDg0NTIs
CisgICdDVVJSRU5UX0ZPR19DT09SRElOQVRFX0VYVCc6IDB4ODQ1MywKKyAgJ0ZPR19DT09SRElO
QVRFX0FSUkFZX1RZUEVfRVhUJzogMHg4NDU0LAorICAnRk9HX0NPT1JESU5BVEVfQVJSQVlfU1RS
SURFX0VYVCc6IDB4ODQ1NSwKKyAgJ0ZPR19DT09SRElOQVRFX0FSUkFZX1BPSU5URVJfRVhUJzog
MHg4NDU2LAorICAnRk9HX0NPT1JESU5BVEVfQVJSQVlfRVhUJzogMHg4NDU3LAorICAnRlJBR01F
TlRfTElHSFRJTkdfRVhUJzogMHg4NDAwLAorICAnRlJBR01FTlRfQ09MT1JfTUFURVJJQUxfRVhU
JzogMHg4NDAxLAorICAnRlJBR01FTlRfQ09MT1JfTUFURVJJQUxfRkFDRV9FWFQnOiAweDg0MDIs
CisgICdGUkFHTUVOVF9DT0xPUl9NQVRFUklBTF9QQVJBTUVURVJfRVhUJzogMHg4NDAzLAorICAn
TUFYX0ZSQUdNRU5UX0xJR0hUU19FWFQnOiAweDg0MDQsCisgICdNQVhfQUNUSVZFX0xJR0hUU19F
WFQnOiAweDg0MDUsCisgICdDVVJSRU5UX1JBU1RFUl9OT1JNQUxfRVhUJzogMHg4NDA2LAorICAn
TElHSFRfRU5WX01PREVfRVhUJzogMHg4NDA3LAorICAnRlJBR01FTlRfTElHSFRfTU9ERUxfTE9D
QUxfVklFV0VSX0VYVCc6IDB4ODQwOCwKKyAgJ0ZSQUdNRU5UX0xJR0hUX01PREVMX1RXT19TSURF
X0VYVCc6IDB4ODQwOSwKKyAgJ0ZSQUdNRU5UX0xJR0hUX01PREVMX0FNQklFTlRfRVhUJzogMHg4
NDBBLAorICAnRlJBR01FTlRfTElHSFRfTU9ERUxfTk9STUFMX0lOVEVSUE9MQVRJT05fRVhUJzog
MHg4NDBCLAorICAnRlJBR01FTlRfTElHSFQwX0VYVCc6IDB4ODQwQywKKyAgJ0ZSQUdNRU5UX0xJ
R0hUN19FWFQnOiAweDg0MTMsCisgICdEUkFXX0ZSQU1FQlVGRkVSX0JJTkRJTkdfRVhUJzogMHg4
Q0E2LAorICAnUkVBRF9GUkFNRUJVRkZFUl9FWFQnOiAweDhDQTgsCisgICdEUkFXX0ZSQU1FQlVG
RkVSX0VYVCc6IDB4OENBOSwKKyAgJ1JFQURfRlJBTUVCVUZGRVJfQklORElOR19FWFQnOiAweDhD
QUEsCisgICdSRU5ERVJCVUZGRVJfU0FNUExFU19FWFQnOiAweDhDQUIsCisgICdGUkFNRUJVRkZF
Ul9JTkNPTVBMRVRFX01VTFRJU0FNUExFX0VYVCc6IDB4OEQ1NiwKKyAgJ01BWF9TQU1QTEVTX0VY
VCc6IDB4OEQ1NywKKyAgJ0lOVkFMSURfRlJBTUVCVUZGRVJfT1BFUkFUSU9OX0VYVCc6IDB4MDUw
NiwKKyAgJ01BWF9SRU5ERVJCVUZGRVJfU0laRV9FWFQnOiAweDg0RTgsCisgICdGUkFNRUJVRkZF
Ul9CSU5ESU5HX0VYVCc6IDB4OENBNiwKKyAgJ1JFTkRFUkJVRkZFUl9CSU5ESU5HX0VYVCc6IDB4
OENBNywKKyAgJ0ZSQU1FQlVGRkVSX0FUVEFDSE1FTlRfT0JKRUNUX1RZUEVfRVhUJzogMHg4Q0Qw
LAorICAnRlJBTUVCVUZGRVJfQVRUQUNITUVOVF9PQkpFQ1RfTkFNRV9FWFQnOiAweDhDRDEsCisg
ICdGUkFNRUJVRkZFUl9BVFRBQ0hNRU5UX1RFWFRVUkVfTEVWRUxfRVhUJzogMHg4Q0QyLAorICAn
RlJBTUVCVUZGRVJfQVRUQUNITUVOVF9URVhUVVJFX0NVQkVfTUFQX0ZBQ0VfRVhUJzogMHg4Q0Qz
LAorICAnRlJBTUVCVUZGRVJfQVRUQUNITUVOVF9URVhUVVJFXzNEX1pPRkZTRVRfRVhUJzogMHg4
Q0Q0LAorICAnRlJBTUVCVUZGRVJfQ09NUExFVEVfRVhUJzogMHg4Q0Q1LAorICAnRlJBTUVCVUZG
RVJfSU5DT01QTEVURV9BVFRBQ0hNRU5UX0VYVCc6IDB4OENENiwKKyAgJ0ZSQU1FQlVGRkVSX0lO
Q09NUExFVEVfTUlTU0lOR19BVFRBQ0hNRU5UX0VYVCc6IDB4OENENywKKyAgJ0ZSQU1FQlVGRkVS
X0lOQ09NUExFVEVfRElNRU5TSU9OU19FWFQnOiAweDhDRDksCisgICdGUkFNRUJVRkZFUl9JTkNP
TVBMRVRFX0ZPUk1BVFNfRVhUJzogMHg4Q0RBLAorICAnRlJBTUVCVUZGRVJfSU5DT01QTEVURV9E
UkFXX0JVRkZFUl9FWFQnOiAweDhDREIsCisgICdGUkFNRUJVRkZFUl9JTkNPTVBMRVRFX1JFQURf
QlVGRkVSX0VYVCc6IDB4OENEQywKKyAgJ0ZSQU1FQlVGRkVSX1VOU1VQUE9SVEVEX0VYVCc6IDB4
OENERCwKKyAgJ01BWF9DT0xPUl9BVFRBQ0hNRU5UU19FWFQnOiAweDhDREYsCisgICdDT0xPUl9B
VFRBQ0hNRU5UMF9FWFQnOiAweDhDRTAsCisgICdDT0xPUl9BVFRBQ0hNRU5UMV9FWFQnOiAweDhD
RTEsCisgICdDT0xPUl9BVFRBQ0hNRU5UMl9FWFQnOiAweDhDRTIsCisgICdDT0xPUl9BVFRBQ0hN
RU5UM19FWFQnOiAweDhDRTMsCisgICdDT0xPUl9BVFRBQ0hNRU5UNF9FWFQnOiAweDhDRTQsCisg
ICdDT0xPUl9BVFRBQ0hNRU5UNV9FWFQnOiAweDhDRTUsCisgICdDT0xPUl9BVFRBQ0hNRU5UNl9F
WFQnOiAweDhDRTYsCisgICdDT0xPUl9BVFRBQ0hNRU5UN19FWFQnOiAweDhDRTcsCisgICdDT0xP
Ul9BVFRBQ0hNRU5UOF9FWFQnOiAweDhDRTgsCisgICdDT0xPUl9BVFRBQ0hNRU5UOV9FWFQnOiAw
eDhDRTksCisgICdDT0xPUl9BVFRBQ0hNRU5UMTBfRVhUJzogMHg4Q0VBLAorICAnQ09MT1JfQVRU
QUNITUVOVDExX0VYVCc6IDB4OENFQiwKKyAgJ0NPTE9SX0FUVEFDSE1FTlQxMl9FWFQnOiAweDhD
RUMsCisgICdDT0xPUl9BVFRBQ0hNRU5UMTNfRVhUJzogMHg4Q0VELAorICAnQ09MT1JfQVRUQUNI
TUVOVDE0X0VYVCc6IDB4OENFRSwKKyAgJ0NPTE9SX0FUVEFDSE1FTlQxNV9FWFQnOiAweDhDRUYs
CisgICdERVBUSF9BVFRBQ0hNRU5UX0VYVCc6IDB4OEQwMCwKKyAgJ1NURU5DSUxfQVRUQUNITUVO
VF9FWFQnOiAweDhEMjAsCisgICdGUkFNRUJVRkZFUl9FWFQnOiAweDhENDAsCisgICdSRU5ERVJC
VUZGRVJfRVhUJzogMHg4RDQxLAorICAnUkVOREVSQlVGRkVSX1dJRFRIX0VYVCc6IDB4OEQ0MiwK
KyAgJ1JFTkRFUkJVRkZFUl9IRUlHSFRfRVhUJzogMHg4RDQzLAorICAnUkVOREVSQlVGRkVSX0lO
VEVSTkFMX0ZPUk1BVF9FWFQnOiAweDhENDQsCisgICdTVEVOQ0lMX0lOREVYMV9FWFQnOiAweDhE
NDYsCisgICdTVEVOQ0lMX0lOREVYNF9FWFQnOiAweDhENDcsCisgICdTVEVOQ0lMX0lOREVYOF9F
WFQnOiAweDhENDgsCisgICdTVEVOQ0lMX0lOREVYMTZfRVhUJzogMHg4RDQ5LAorICAnUkVOREVS
QlVGRkVSX1JFRF9TSVpFX0VYVCc6IDB4OEQ1MCwKKyAgJ1JFTkRFUkJVRkZFUl9HUkVFTl9TSVpF
X0VYVCc6IDB4OEQ1MSwKKyAgJ1JFTkRFUkJVRkZFUl9CTFVFX1NJWkVfRVhUJzogMHg4RDUyLAor
ICAnUkVOREVSQlVGRkVSX0FMUEhBX1NJWkVfRVhUJzogMHg4RDUzLAorICAnUkVOREVSQlVGRkVS
X0RFUFRIX1NJWkVfRVhUJzogMHg4RDU0LAorICAnUkVOREVSQlVGRkVSX1NURU5DSUxfU0laRV9F
WFQnOiAweDhENTUsCisgICdGUkFNRUJVRkZFUl9TUkdCX0VYVCc6IDB4OERCOSwKKyAgJ0ZSQU1F
QlVGRkVSX1NSR0JfQ0FQQUJMRV9FWFQnOiAweDhEQkEsCisgICdMSU5FU19BREpBQ0VOQ1lfRVhU
JzogMHhBLAorICAnTElORV9TVFJJUF9BREpBQ0VOQ1lfRVhUJzogMHhCLAorICAnVFJJQU5HTEVT
X0FESkFDRU5DWV9FWFQnOiAweEMsCisgICdUUklBTkdMRV9TVFJJUF9BREpBQ0VOQ1lfRVhUJzog
MHhELAorICAnUFJPR1JBTV9QT0lOVF9TSVpFX0VYVCc6IDB4ODY0MiwKKyAgJ01BWF9WQVJZSU5H
X0NPTVBPTkVOVFNfRVhUJzogMHg4QjRCLAorICAnTUFYX0dFT01FVFJZX1RFWFRVUkVfSU1BR0Vf
VU5JVFNfRVhUJzogMHg4QzI5LAorICAnRlJBTUVCVUZGRVJfQVRUQUNITUVOVF9URVhUVVJFX0xB
WUVSX0VYVCc6IDB4OENENCwKKyAgJ0ZSQU1FQlVGRkVSX0FUVEFDSE1FTlRfTEFZRVJFRF9FWFQn
OiAweDhEQTcsCisgICdGUkFNRUJVRkZFUl9JTkNPTVBMRVRFX0xBWUVSX1RBUkdFVFNfRVhUJzog
MHg4REE4LAorICAnRlJBTUVCVUZGRVJfSU5DT01QTEVURV9MQVlFUl9DT1VOVF9FWFQnOiAweDhE
QTksCisgICdHRU9NRVRSWV9TSEFERVJfRVhUJzogMHg4REQ5LAorICAnR0VPTUVUUllfVkVSVElD
RVNfT1VUX0VYVCc6IDB4OEREQSwKKyAgJ0dFT01FVFJZX0lOUFVUX1RZUEVfRVhUJzogMHg4RERC
LAorICAnR0VPTUVUUllfT1VUUFVUX1RZUEVfRVhUJzogMHg4RERDLAorICAnTUFYX0dFT01FVFJZ
X1ZBUllJTkdfQ09NUE9ORU5UU19FWFQnOiAweDhEREQsCisgICdNQVhfVkVSVEVYX1ZBUllJTkdf
Q09NUE9ORU5UU19FWFQnOiAweDhEREUsCisgICdNQVhfR0VPTUVUUllfVU5JRk9STV9DT01QT05F
TlRTX0VYVCc6IDB4OERERiwKKyAgJ01BWF9HRU9NRVRSWV9PVVRQVVRfVkVSVElDRVNfRVhUJzog
MHg4REUwLAorICAnTUFYX0dFT01FVFJZX1RPVEFMX09VVFBVVF9DT01QT05FTlRTX0VYVCc6IDB4
OERFMSwKKyAgJ1ZFUlRFWF9BVFRSSUJfQVJSQVlfSU5URUdFUl9FWFQnOiAweDg4RkQsCisgICdT
QU1QTEVSXzFEX0FSUkFZX0VYVCc6IDB4OERDMCwKKyAgJ1NBTVBMRVJfMkRfQVJSQVlfRVhUJzog
MHg4REMxLAorICAnU0FNUExFUl9CVUZGRVJfRVhUJzogMHg4REMyLAorICAnU0FNUExFUl8xRF9B
UlJBWV9TSEFET1dfRVhUJzogMHg4REMzLAorICAnU0FNUExFUl8yRF9BUlJBWV9TSEFET1dfRVhU
JzogMHg4REM0LAorICAnU0FNUExFUl9DVUJFX1NIQURPV19FWFQnOiAweDhEQzUsCisgICdVTlNJ
R05FRF9JTlRfVkVDMl9FWFQnOiAweDhEQzYsCisgICdVTlNJR05FRF9JTlRfVkVDM19FWFQnOiAw
eDhEQzcsCisgICdVTlNJR05FRF9JTlRfVkVDNF9FWFQnOiAweDhEQzgsCisgICdJTlRfU0FNUExF
Ul8xRF9FWFQnOiAweDhEQzksCisgICdJTlRfU0FNUExFUl8yRF9FWFQnOiAweDhEQ0EsCisgICdJ
TlRfU0FNUExFUl8zRF9FWFQnOiAweDhEQ0IsCisgICdJTlRfU0FNUExFUl9DVUJFX0VYVCc6IDB4
OERDQywKKyAgJ0lOVF9TQU1QTEVSXzJEX1JFQ1RfRVhUJzogMHg4RENELAorICAnSU5UX1NBTVBM
RVJfMURfQVJSQVlfRVhUJzogMHg4RENFLAorICAnSU5UX1NBTVBMRVJfMkRfQVJSQVlfRVhUJzog
MHg4RENGLAorICAnSU5UX1NBTVBMRVJfQlVGRkVSX0VYVCc6IDB4OEREMCwKKyAgJ1VOU0lHTkVE
X0lOVF9TQU1QTEVSXzFEX0VYVCc6IDB4OEREMSwKKyAgJ1VOU0lHTkVEX0lOVF9TQU1QTEVSXzJE
X0VYVCc6IDB4OEREMiwKKyAgJ1VOU0lHTkVEX0lOVF9TQU1QTEVSXzNEX0VYVCc6IDB4OEREMywK
KyAgJ1VOU0lHTkVEX0lOVF9TQU1QTEVSX0NVQkVfRVhUJzogMHg4REQ0LAorICAnVU5TSUdORURf
SU5UX1NBTVBMRVJfMkRfUkVDVF9FWFQnOiAweDhERDUsCisgICdVTlNJR05FRF9JTlRfU0FNUExF
Ul8xRF9BUlJBWV9FWFQnOiAweDhERDYsCisgICdVTlNJR05FRF9JTlRfU0FNUExFUl8yRF9BUlJB
WV9FWFQnOiAweDhERDcsCisgICdVTlNJR05FRF9JTlRfU0FNUExFUl9CVUZGRVJfRVhUJzogMHg4
REQ4LAorICAnSElTVE9HUkFNX0VYVCc6IDB4ODAyNCwKKyAgJ1BST1hZX0hJU1RPR1JBTV9FWFQn
OiAweDgwMjUsCisgICdISVNUT0dSQU1fV0lEVEhfRVhUJzogMHg4MDI2LAorICAnSElTVE9HUkFN
X0ZPUk1BVF9FWFQnOiAweDgwMjcsCisgICdISVNUT0dSQU1fUkVEX1NJWkVfRVhUJzogMHg4MDI4
LAorICAnSElTVE9HUkFNX0dSRUVOX1NJWkVfRVhUJzogMHg4MDI5LAorICAnSElTVE9HUkFNX0JM
VUVfU0laRV9FWFQnOiAweDgwMkEsCisgICdISVNUT0dSQU1fQUxQSEFfU0laRV9FWFQnOiAweDgw
MkIsCisgICdISVNUT0dSQU1fTFVNSU5BTkNFX1NJWkVfRVhUJzogMHg4MDJDLAorICAnSElTVE9H
UkFNX1NJTktfRVhUJzogMHg4MDJELAorICAnTUlOTUFYX0VYVCc6IDB4ODAyRSwKKyAgJ01JTk1B
WF9GT1JNQVRfRVhUJzogMHg4MDJGLAorICAnTUlOTUFYX1NJTktfRVhUJzogMHg4MDMwLAorICAn
RlJBR01FTlRfTUFURVJJQUxfRVhUJzogMHg4MzQ5LAorICAnRlJBR01FTlRfTk9STUFMX0VYVCc6
IDB4ODM0QSwKKyAgJ0ZSQUdNRU5UX0NPTE9SX0VYVCc6IDB4ODM0QywKKyAgJ0FUVEVOVUFUSU9O
X0VYVCc6IDB4ODM0RCwKKyAgJ1NIQURPV19BVFRFTlVBVElPTl9FWFQnOiAweDgzNEUsCisgICdU
RVhUVVJFX0FQUExJQ0FUSU9OX01PREVfRVhUJzogMHg4MzRGLAorICAnVEVYVFVSRV9MSUdIVF9F
WFQnOiAweDgzNTAsCisgICdURVhUVVJFX01BVEVSSUFMX0ZBQ0VfRVhUJzogMHg4MzUxLAorICAn
VEVYVFVSRV9NQVRFUklBTF9QQVJBTUVURVJfRVhUJzogMHg4MzUyLAorICAnRlJBR01FTlRfREVQ
VEhfRVhUJzogMHg4NDUyLAorICAnTVVMVElTQU1QTEVfRVhUJzogMHg4MDlELAorICAnU0FNUExF
X0FMUEhBX1RPX01BU0tfRVhUJzogMHg4MDlFLAorICAnU0FNUExFX0FMUEhBX1RPX09ORV9FWFQn
OiAweDgwOUYsCisgICdTQU1QTEVfTUFTS19FWFQnOiAweDgwQTAsCisgICcxUEFTU19FWFQnOiAw
eDgwQTEsCisgICcyUEFTU18wX0VYVCc6IDB4ODBBMiwKKyAgJzJQQVNTXzFfRVhUJzogMHg4MEEz
LAorICAnNFBBU1NfMF9FWFQnOiAweDgwQTQsCisgICc0UEFTU18xX0VYVCc6IDB4ODBBNSwKKyAg
JzRQQVNTXzJfRVhUJzogMHg4MEE2LAorICAnNFBBU1NfM19FWFQnOiAweDgwQTcsCisgICdTQU1Q
TEVfQlVGRkVSU19FWFQnOiAweDgwQTgsCisgICdTQU1QTEVTX0VYVCc6IDB4ODBBOSwKKyAgJ1NB
TVBMRV9NQVNLX1ZBTFVFX0VYVCc6IDB4ODBBQSwKKyAgJ1NBTVBMRV9NQVNLX0lOVkVSVF9FWFQn
OiAweDgwQUIsCisgICdTQU1QTEVfUEFUVEVSTl9FWFQnOiAweDgwQUMsCisgICdNVUxUSVNBTVBM
RV9CSVRfRVhUJzogMHgyMDAwMDAwMCwKKyAgJ0RFUFRIX1NURU5DSUxfRVhUJzogMHg4NEY5LAor
ICAnVU5TSUdORURfSU5UXzI0XzhfRVhUJzogMHg4NEZBLAorICAnREVQVEgyNF9TVEVOQ0lMOF9F
WFQnOiAweDg4RjAsCisgICdURVhUVVJFX1NURU5DSUxfU0laRV9FWFQnOiAweDg4RjEsCisgICdS
MTFGX0cxMUZfQjEwRl9FWFQnOiAweDhDM0EsCisgICdVTlNJR05FRF9JTlRfMTBGXzExRl8xMUZf
UkVWX0VYVCc6IDB4OEMzQiwKKyAgJ1JHQkFfU0lHTkVEX0NPTVBPTkVOVFNfRVhUJzogMHg4QzND
LAorICAnVU5TSUdORURfQllURV8zXzNfMl9FWFQnOiAweDgwMzIsCisgICdVTlNJR05FRF9TSE9S
VF80XzRfNF80X0VYVCc6IDB4ODAzMywKKyAgJ1VOU0lHTkVEX1NIT1JUXzVfNV81XzFfRVhUJzog
MHg4MDM0LAorICAnVU5TSUdORURfSU5UXzhfOF84XzhfRVhUJzogMHg4MDM1LAorICAnVU5TSUdO
RURfSU5UXzEwXzEwXzEwXzJfRVhUJzogMHg4MDM2LAorICAnVEVYVFVSRV8xRCc6IDB4MERFMCwK
KyAgJ1RFWFRVUkVfMkQnOiAweDBERTEsCisgICdQUk9YWV9URVhUVVJFXzFEJzogMHg4MDYzLAor
ICAnUFJPWFlfVEVYVFVSRV8yRCc6IDB4ODA2NCwKKyAgJ1RFWFRVUkVfM0RfRVhUJzogMHg4MDZG
LAorICAnUFJPWFlfVEVYVFVSRV8zRF9FWFQnOiAweDgwNzAsCisgICdDT0xPUl9UQUJMRV9GT1JN
QVRfRVhUJzogMHg4MEQ4LAorICAnQ09MT1JfVEFCTEVfV0lEVEhfRVhUJzogMHg4MEQ5LAorICAn
Q09MT1JfVEFCTEVfUkVEX1NJWkVfRVhUJzogMHg4MERBLAorICAnQ09MT1JfVEFCTEVfR1JFRU5f
U0laRV9FWFQnOiAweDgwREIsCisgICdDT0xPUl9UQUJMRV9CTFVFX1NJWkVfRVhUJzogMHg4MERD
LAorICAnQ09MT1JfVEFCTEVfQUxQSEFfU0laRV9FWFQnOiAweDgwREQsCisgICdDT0xPUl9UQUJM
RV9MVU1JTkFOQ0VfU0laRV9FWFQnOiAweDgwREUsCisgICdDT0xPUl9UQUJMRV9JTlRFTlNJVFlf
U0laRV9FWFQnOiAweDgwREYsCisgICdDT0xPUl9JTkRFWDFfRVhUJzogMHg4MEUyLAorICAnQ09M
T1JfSU5ERVgyX0VYVCc6IDB4ODBFMywKKyAgJ0NPTE9SX0lOREVYNF9FWFQnOiAweDgwRTQsCisg
ICdDT0xPUl9JTkRFWDhfRVhUJzogMHg4MEU1LAorICAnQ09MT1JfSU5ERVgxMl9FWFQnOiAweDgw
RTYsCisgICdDT0xPUl9JTkRFWDE2X0VYVCc6IDB4ODBFNywKKyAgJ1RFWFRVUkVfSU5ERVhfU0la
RV9FWFQnOiAweDgwRUQsCisgICdURVhUVVJFX0NVQkVfTUFQX0FSQic6IDB4ODUxMywKKyAgJ1BS
T1hZX1RFWFRVUkVfQ1VCRV9NQVBfQVJCJzogMHg4NTFCLAorICAnUElYRUxfUEFDS19CVUZGRVJf
RVhUJzogMHg4OEVCLAorICAnUElYRUxfVU5QQUNLX0JVRkZFUl9FWFQnOiAweDg4RUMsCisgICdQ
SVhFTF9QQUNLX0JVRkZFUl9CSU5ESU5HX0VYVCc6IDB4ODhFRCwKKyAgJ1BJWEVMX1VOUEFDS19C
VUZGRVJfQklORElOR19FWFQnOiAweDg4RUYsCisgICdQSVhFTF9UUkFOU0ZPUk1fMkRfRVhUJzog
MHg4MzMwLAorICAnUElYRUxfTUFHX0ZJTFRFUl9FWFQnOiAweDgzMzEsCisgICdQSVhFTF9NSU5f
RklMVEVSX0VYVCc6IDB4ODMzMiwKKyAgJ1BJWEVMX0NVQklDX1dFSUdIVF9FWFQnOiAweDgzMzMs
CisgICdDVUJJQ19FWFQnOiAweDgzMzQsCisgICdBVkVSQUdFX0VYVCc6IDB4ODMzNSwKKyAgJ1BJ
WEVMX1RSQU5TRk9STV8yRF9TVEFDS19ERVBUSF9FWFQnOiAweDgzMzYsCisgICdNQVhfUElYRUxf
VFJBTlNGT1JNXzJEX1NUQUNLX0RFUFRIX0VYVCc6IDB4ODMzNywKKyAgJ1BJWEVMX1RSQU5TRk9S
TV8yRF9NQVRSSVhfRVhUJzogMHg4MzM4LAorICAnUE9JTlRfU0laRV9NSU5fRVhUJzogMHg4MTI2
LAorICAnUE9JTlRfU0laRV9NQVhfRVhUJzogMHg4MTI3LAorICAnUE9JTlRfRkFERV9USFJFU0hP
TERfU0laRV9FWFQnOiAweDgxMjgsCisgICdESVNUQU5DRV9BVFRFTlVBVElPTl9FWFQnOiAweDgx
MjksCisgICdQT0xZR09OX09GRlNFVF9FWFQnOiAweDgwMzcsCisgICdQT0xZR09OX09GRlNFVF9G
QUNUT1JfRVhUJzogMHg4MDM4LAorICAnUE9MWUdPTl9PRkZTRVRfQklBU19FWFQnOiAweDgwMzks
CisgICdSRVNDQUxFX05PUk1BTF9FWFQnOiAweDgwM0EsCisgICdDT0xPUl9TVU1fRVhUJzogMHg4
NDU4LAorICAnQ1VSUkVOVF9TRUNPTkRBUllfQ09MT1JfRVhUJzogMHg4NDU5LAorICAnU0VDT05E
QVJZX0NPTE9SX0FSUkFZX1NJWkVfRVhUJzogMHg4NDVBLAorICAnU0VDT05EQVJZX0NPTE9SX0FS
UkFZX1RZUEVfRVhUJzogMHg4NDVCLAorICAnU0VDT05EQVJZX0NPTE9SX0FSUkFZX1NUUklERV9F
WFQnOiAweDg0NUMsCisgICdTRUNPTkRBUllfQ09MT1JfQVJSQVlfUE9JTlRFUl9FWFQnOiAweDg0
NUQsCisgICdTRUNPTkRBUllfQ09MT1JfQVJSQVlfRVhUJzogMHg4NDVFLAorICAnTElHSFRfTU9E
RUxfQ09MT1JfQ09OVFJPTF9FWFQnOiAweDgxRjgsCisgICdTSU5HTEVfQ09MT1JfRVhUJzogMHg4
MUY5LAorICAnU0VQQVJBVEVfU1BFQ1VMQVJfQ09MT1JfRVhUJzogMHg4MUZBLAorICAnU0hBUkVE
X1RFWFRVUkVfUEFMRVRURV9FWFQnOiAweDgxRkIsCisgICdTVEVOQ0lMX1RBR19CSVRTX0VYVCc6
IDB4ODhGMiwKKyAgJ1NURU5DSUxfQ0xFQVJfVEFHX1ZBTFVFX0VYVCc6IDB4ODhGMywKKyAgJ1NU
RU5DSUxfVEVTVF9UV09fU0lERV9FWFQnOiAweDg5MTAsCisgICdBQ1RJVkVfU1RFTkNJTF9GQUNF
X0VYVCc6IDB4ODkxMSwKKyAgJ0lOQ1JfV1JBUF9FWFQnOiAweDg1MDcsCisgICdERUNSX1dSQVBf
RVhUJzogMHg4NTA4LAorICAnQUxQSEE0X0VYVCc6IDB4ODAzQiwKKyAgJ0FMUEhBOF9FWFQnOiAw
eDgwM0MsCisgICdBTFBIQTEyX0VYVCc6IDB4ODAzRCwKKyAgJ0FMUEhBMTZfRVhUJzogMHg4MDNF
LAorICAnTFVNSU5BTkNFNF9FWFQnOiAweDgwM0YsCisgICdMVU1JTkFOQ0U4X0VYVCc6IDB4ODA0
MCwKKyAgJ0xVTUlOQU5DRTEyX0VYVCc6IDB4ODA0MSwKKyAgJ0xVTUlOQU5DRTE2X0VYVCc6IDB4
ODA0MiwKKyAgJ0xVTUlOQU5DRTRfQUxQSEE0X0VYVCc6IDB4ODA0MywKKyAgJ0xVTUlOQU5DRTZf
QUxQSEEyX0VYVCc6IDB4ODA0NCwKKyAgJ0xVTUlOQU5DRThfQUxQSEE4X0VYVCc6IDB4ODA0NSwK
KyAgJ0xVTUlOQU5DRTEyX0FMUEhBNF9FWFQnOiAweDgwNDYsCisgICdMVU1JTkFOQ0UxMl9BTFBI
QTEyX0VYVCc6IDB4ODA0NywKKyAgJ0xVTUlOQU5DRTE2X0FMUEhBMTZfRVhUJzogMHg4MDQ4LAor
ICAnSU5URU5TSVRZX0VYVCc6IDB4ODA0OSwKKyAgJ0lOVEVOU0lUWTRfRVhUJzogMHg4MDRBLAor
ICAnSU5URU5TSVRZOF9FWFQnOiAweDgwNEIsCisgICdJTlRFTlNJVFkxMl9FWFQnOiAweDgwNEMs
CisgICdJTlRFTlNJVFkxNl9FWFQnOiAweDgwNEQsCisgICdSR0IyX0VYVCc6IDB4ODA0RSwKKyAg
J1JHQjRfRVhUJzogMHg4MDRGLAorICAnUkdCNV9FWFQnOiAweDgwNTAsCisgICdSR0I4X0VYVCc6
IDB4ODA1MSwKKyAgJ1JHQjEwX0VYVCc6IDB4ODA1MiwKKyAgJ1JHQjEyX0VYVCc6IDB4ODA1MywK
KyAgJ1JHQjE2X0VYVCc6IDB4ODA1NCwKKyAgJ1JHQkEyX0VYVCc6IDB4ODA1NSwKKyAgJ1JHQkE0
X0VYVCc6IDB4ODA1NiwKKyAgJ1JHQjVfQTFfRVhUJzogMHg4MDU3LAorICAnUkdCQThfRVhUJzog
MHg4MDU4LAorICAnUkdCMTBfQTJfRVhUJzogMHg4MDU5LAorICAnUkdCQTEyX0VYVCc6IDB4ODA1
QSwKKyAgJ1JHQkExNl9FWFQnOiAweDgwNUIsCisgICdURVhUVVJFX1JFRF9TSVpFX0VYVCc6IDB4
ODA1QywKKyAgJ1RFWFRVUkVfR1JFRU5fU0laRV9FWFQnOiAweDgwNUQsCisgICdURVhUVVJFX0JM
VUVfU0laRV9FWFQnOiAweDgwNUUsCisgICdURVhUVVJFX0FMUEhBX1NJWkVfRVhUJzogMHg4MDVG
LAorICAnVEVYVFVSRV9MVU1JTkFOQ0VfU0laRV9FWFQnOiAweDgwNjAsCisgICdURVhUVVJFX0lO
VEVOU0lUWV9TSVpFX0VYVCc6IDB4ODA2MSwKKyAgJ1JFUExBQ0VfRVhUJzogMHg4MDYyLAorICAn
UFJPWFlfVEVYVFVSRV8xRF9FWFQnOiAweDgwNjMsCisgICdQUk9YWV9URVhUVVJFXzJEX0VYVCc6
IDB4ODA2NCwKKyAgJ1BBQ0tfU0tJUF9JTUFHRVNfRVhUJzogMHg4MDZCLAorICAnUEFDS19JTUFH
RV9IRUlHSFRfRVhUJzogMHg4MDZDLAorICAnVU5QQUNLX1NLSVBfSU1BR0VTX0VYVCc6IDB4ODA2
RCwKKyAgJ1VOUEFDS19JTUFHRV9IRUlHSFRfRVhUJzogMHg4MDZFLAorICAnVEVYVFVSRV8zRF9F
WFQnOiAweDgwNkYsCisgICdQUk9YWV9URVhUVVJFXzNEX0VYVCc6IDB4ODA3MCwKKyAgJ1RFWFRV
UkVfREVQVEhfRVhUJzogMHg4MDcxLAorICAnVEVYVFVSRV9XUkFQX1JfRVhUJzogMHg4MDcyLAor
ICAnTUFYXzNEX1RFWFRVUkVfU0laRV9FWFQnOiAweDgwNzMsCisgICdDT01QQVJFX1JFRl9ERVBU
SF9UT19URVhUVVJFX0VYVCc6IDB4ODg0RSwKKyAgJ01BWF9BUlJBWV9URVhUVVJFX0xBWUVSU19F
WFQnOiAweDg4RkYsCisgICdURVhUVVJFXzFEX0FSUkFZX0VYVCc6IDB4OEMxOCwKKyAgJ1BST1hZ
X1RFWFRVUkVfMURfQVJSQVlfRVhUJzogMHg4QzE5LAorICAnVEVYVFVSRV8yRF9BUlJBWV9FWFQn
OiAweDhDMUEsCisgICdQUk9YWV9URVhUVVJFXzJEX0FSUkFZX0VYVCc6IDB4OEMxQiwKKyAgJ1RF
WFRVUkVfQklORElOR18xRF9BUlJBWV9FWFQnOiAweDhDMUMsCisgICdURVhUVVJFX0JJTkRJTkdf
MkRfQVJSQVlfRVhUJzogMHg4QzFELAorICAnVEVYVFVSRV9CVUZGRVJfRVhUJzogMHg4QzJBLAor
ICAnTUFYX1RFWFRVUkVfQlVGRkVSX1NJWkVfRVhUJzogMHg4QzJCLAorICAnVEVYVFVSRV9CSU5E
SU5HX0JVRkZFUl9FWFQnOiAweDhDMkMsCisgICdURVhUVVJFX0JVRkZFUl9EQVRBX1NUT1JFX0JJ
TkRJTkdfRVhUJzogMHg4QzJELAorICAnVEVYVFVSRV9CVUZGRVJfRk9STUFUX0VYVCc6IDB4OEMy
RSwKKyAgJ0NPTVBSRVNTRURfUkdCX1MzVENfRFhUMV9FWFQnOiAweDgzRjAsCisgICdDT01QUkVT
U0VEX1JHQkFfUzNUQ19EWFQxX0VYVCc6IDB4ODNGMSwKKyAgJ0NPTVBSRVNTRURfTFVNSU5BTkNF
X0xBVEMxX0VYVCc6IDB4OEM3MCwKKyAgJ0NPTVBSRVNTRURfU0lHTkVEX0xVTUlOQU5DRV9MQVRD
MV9FWFQnOiAweDhDNzEsCisgICdDT01QUkVTU0VEX0xVTUlOQU5DRV9BTFBIQV9MQVRDMl9FWFQn
OiAweDhDNzIsCisgICdDT01QUkVTU0VEX1NJR05FRF9MVU1JTkFOQ0VfQUxQSEFfTEFUQzJfRVhU
JzogMHg4QzczLAorICAnQ09NUFJFU1NFRF9SRURfUkdUQzFfRVhUJzogMHg4REJCLAorICAnQ09N
UFJFU1NFRF9TSUdORURfUkVEX1JHVEMxX0VYVCc6IDB4OERCQywKKyAgJ0NPTVBSRVNTRURfUkVE
X0dSRUVOX1JHVEMyX0VYVCc6IDB4OERCRCwKKyAgJ0NPTVBSRVNTRURfU0lHTkVEX1JFRF9HUkVF
Tl9SR1RDMl9FWFQnOiAweDhEQkUsCisgICdDT01QUkVTU0VEX1JHQl9TM1RDX0RYVDFfRVhUJzog
MHg4M0YwLAorICAnQ09NUFJFU1NFRF9SR0JBX1MzVENfRFhUMV9FWFQnOiAweDgzRjEsCisgICdD
T01QUkVTU0VEX1JHQkFfUzNUQ19EWFQzX0VYVCc6IDB4ODNGMiwKKyAgJ0NPTVBSRVNTRURfUkdC
QV9TM1RDX0RYVDVfRVhUJzogMHg4M0YzLAorICAnTk9STUFMX01BUF9FWFQnOiAweDg1MTEsCisg
ICdSRUZMRUNUSU9OX01BUF9FWFQnOiAweDg1MTIsCisgICdURVhUVVJFX0NVQkVfTUFQX0VYVCc6
IDB4ODUxMywKKyAgJ1RFWFRVUkVfQklORElOR19DVUJFX01BUF9FWFQnOiAweDg1MTQsCisgICdU
RVhUVVJFX0NVQkVfTUFQX1BPU0lUSVZFX1hfRVhUJzogMHg4NTE1LAorICAnVEVYVFVSRV9DVUJF
X01BUF9ORUdBVElWRV9YX0VYVCc6IDB4ODUxNiwKKyAgJ1RFWFRVUkVfQ1VCRV9NQVBfUE9TSVRJ
VkVfWV9FWFQnOiAweDg1MTcsCisgICdURVhUVVJFX0NVQkVfTUFQX05FR0FUSVZFX1lfRVhUJzog
MHg4NTE4LAorICAnVEVYVFVSRV9DVUJFX01BUF9QT1NJVElWRV9aX0VYVCc6IDB4ODUxOSwKKyAg
J1RFWFRVUkVfQ1VCRV9NQVBfTkVHQVRJVkVfWl9FWFQnOiAweDg1MUEsCisgICdQUk9YWV9URVhU
VVJFX0NVQkVfTUFQX0VYVCc6IDB4ODUxQiwKKyAgJ01BWF9DVUJFX01BUF9URVhUVVJFX1NJWkVf
RVhUJzogMHg4NTFDLAorICAnQ0xBTVBfVE9fRURHRV9FWFQnOiAweDgxMkYsCisgICdDT01CSU5F
X0VYVCc6IDB4ODU3MCwKKyAgJ0NPTUJJTkVfUkdCX0VYVCc6IDB4ODU3MSwKKyAgJ0NPTUJJTkVf
QUxQSEFfRVhUJzogMHg4NTcyLAorICAnUkdCX1NDQUxFX0VYVCc6IDB4ODU3MywKKyAgJ0FERF9T
SUdORURfRVhUJzogMHg4NTc0LAorICAnSU5URVJQT0xBVEVfRVhUJzogMHg4NTc1LAorICAnQ09O
U1RBTlRfRVhUJzogMHg4NTc2LAorICAnUFJJTUFSWV9DT0xPUl9FWFQnOiAweDg1NzcsCisgICdQ
UkVWSU9VU19FWFQnOiAweDg1NzgsCisgICdTT1VSQ0UwX1JHQl9FWFQnOiAweDg1ODAsCisgICdT
T1VSQ0UxX1JHQl9FWFQnOiAweDg1ODEsCisgICdTT1VSQ0UyX1JHQl9FWFQnOiAweDg1ODIsCisg
ICdTT1VSQ0UwX0FMUEhBX0VYVCc6IDB4ODU4OCwKKyAgJ1NPVVJDRTFfQUxQSEFfRVhUJzogMHg4
NTg5LAorICAnU09VUkNFMl9BTFBIQV9FWFQnOiAweDg1OEEsCisgICdPUEVSQU5EMF9SR0JfRVhU
JzogMHg4NTkwLAorICAnT1BFUkFORDFfUkdCX0VYVCc6IDB4ODU5MSwKKyAgJ09QRVJBTkQyX1JH
Ql9FWFQnOiAweDg1OTIsCisgICdPUEVSQU5EMF9BTFBIQV9FWFQnOiAweDg1OTgsCisgICdPUEVS
QU5EMV9BTFBIQV9FWFQnOiAweDg1OTksCisgICdPUEVSQU5EMl9BTFBIQV9FWFQnOiAweDg1OUEs
CisgICdET1QzX1JHQl9FWFQnOiAweDg3NDAsCisgICdET1QzX1JHQkFfRVhUJzogMHg4NzQxLAor
ICAnVEVYVFVSRV9NQVhfQU5JU09UUk9QWV9FWFQnOiAweDg0RkUsCisgICdNQVhfVEVYVFVSRV9N
QVhfQU5JU09UUk9QWV9FWFQnOiAweDg0RkYsCisgICdSR0JBMzJVSV9FWFQnOiAweDhENzAsCisg
ICdSR0IzMlVJX0VYVCc6IDB4OEQ3MSwKKyAgJ0FMUEhBMzJVSV9FWFQnOiAweDhENzIsCisgICdJ
TlRFTlNJVFkzMlVJX0VYVCc6IDB4OEQ3MywKKyAgJ0xVTUlOQU5DRTMyVUlfRVhUJzogMHg4RDc0
LAorICAnTFVNSU5BTkNFX0FMUEhBMzJVSV9FWFQnOiAweDhENzUsCisgICdSR0JBMTZVSV9FWFQn
OiAweDhENzYsCisgICdSR0IxNlVJX0VYVCc6IDB4OEQ3NywKKyAgJ0FMUEhBMTZVSV9FWFQnOiAw
eDhENzgsCisgICdJTlRFTlNJVFkxNlVJX0VYVCc6IDB4OEQ3OSwKKyAgJ0xVTUlOQU5DRTE2VUlf
RVhUJzogMHg4RDdBLAorICAnTFVNSU5BTkNFX0FMUEhBMTZVSV9FWFQnOiAweDhEN0IsCisgICdS
R0JBOFVJX0VYVCc6IDB4OEQ3QywKKyAgJ1JHQjhVSV9FWFQnOiAweDhEN0QsCisgICdBTFBIQThV
SV9FWFQnOiAweDhEN0UsCisgICdJTlRFTlNJVFk4VUlfRVhUJzogMHg4RDdGLAorICAnTFVNSU5B
TkNFOFVJX0VYVCc6IDB4OEQ4MCwKKyAgJ0xVTUlOQU5DRV9BTFBIQThVSV9FWFQnOiAweDhEODEs
CisgICdSR0JBMzJJX0VYVCc6IDB4OEQ4MiwKKyAgJ1JHQjMySV9FWFQnOiAweDhEODMsCisgICdB
TFBIQTMySV9FWFQnOiAweDhEODQsCisgICdJTlRFTlNJVFkzMklfRVhUJzogMHg4RDg1LAorICAn
TFVNSU5BTkNFMzJJX0VYVCc6IDB4OEQ4NiwKKyAgJ0xVTUlOQU5DRV9BTFBIQTMySV9FWFQnOiAw
eDhEODcsCisgICdSR0JBMTZJX0VYVCc6IDB4OEQ4OCwKKyAgJ1JHQjE2SV9FWFQnOiAweDhEODks
CisgICdBTFBIQTE2SV9FWFQnOiAweDhEOEEsCisgICdJTlRFTlNJVFkxNklfRVhUJzogMHg4RDhC
LAorICAnTFVNSU5BTkNFMTZJX0VYVCc6IDB4OEQ4QywKKyAgJ0xVTUlOQU5DRV9BTFBIQTE2SV9F
WFQnOiAweDhEOEQsCisgICdSR0JBOElfRVhUJzogMHg4RDhFLAorICAnUkdCOElfRVhUJzogMHg4
RDhGLAorICAnQUxQSEE4SV9FWFQnOiAweDhEOTAsCisgICdJTlRFTlNJVFk4SV9FWFQnOiAweDhE
OTEsCisgICdMVU1JTkFOQ0U4SV9FWFQnOiAweDhEOTIsCisgICdMVU1JTkFOQ0VfQUxQSEE4SV9F
WFQnOiAweDhEOTMsCisgICdSRURfSU5URUdFUl9FWFQnOiAweDhEOTQsCisgICdHUkVFTl9JTlRF
R0VSX0VYVCc6IDB4OEQ5NSwKKyAgJ0JMVUVfSU5URUdFUl9FWFQnOiAweDhEOTYsCisgICdBTFBI
QV9JTlRFR0VSX0VYVCc6IDB4OEQ5NywKKyAgJ1JHQl9JTlRFR0VSX0VYVCc6IDB4OEQ5OCwKKyAg
J1JHQkFfSU5URUdFUl9FWFQnOiAweDhEOTksCisgICdCR1JfSU5URUdFUl9FWFQnOiAweDhEOUEs
CisgICdCR1JBX0lOVEVHRVJfRVhUJzogMHg4RDlCLAorICAnTFVNSU5BTkNFX0lOVEVHRVJfRVhU
JzogMHg4RDlDLAorICAnTFVNSU5BTkNFX0FMUEhBX0lOVEVHRVJfRVhUJzogMHg4RDlELAorICAn
UkdCQV9JTlRFR0VSX01PREVfRVhUJzogMHg4RDlFLAorICAnTUFYX1RFWFRVUkVfTE9EX0JJQVNf
RVhUJzogMHg4NEZELAorICAnVEVYVFVSRV9GSUxURVJfQ09OVFJPTF9FWFQnOiAweDg1MDAsCisg
ICdURVhUVVJFX0xPRF9CSUFTX0VYVCc6IDB4ODUwMSwKKyAgJ01JUlJPUl9DTEFNUF9FWFQnOiAw
eDg3NDIsCisgICdNSVJST1JfQ0xBTVBfVE9fRURHRV9FWFQnOiAweDg3NDMsCisgICdNSVJST1Jf
Q0xBTVBfVE9fQk9SREVSX0VYVCc6IDB4ODkxMiwKKyAgJ1RFWFRVUkVfUFJJT1JJVFlfRVhUJzog
MHg4MDY2LAorICAnVEVYVFVSRV9SRVNJREVOVF9FWFQnOiAweDgwNjcsCisgICdURVhUVVJFXzFE
X0JJTkRJTkdfRVhUJzogMHg4MDY4LAorICAnVEVYVFVSRV8yRF9CSU5ESU5HX0VYVCc6IDB4ODA2
OSwKKyAgJ1RFWFRVUkVfM0RfQklORElOR19FWFQnOiAweDgwNkEsCisgICdQRVJUVVJCX0VYVCc6
IDB4ODVBRSwKKyAgJ1RFWFRVUkVfTk9STUFMX0VYVCc6IDB4ODVBRiwKKyAgJ1RFWFRVUkVfUkVD
VEFOR0xFX0VYVCc6IDB4ODRGNSwKKyAgJ1RFWFRVUkVfQklORElOR19SRUNUQU5HTEVfRVhUJzog
MHg4NEY2LAorICAnUFJPWFlfVEVYVFVSRV9SRUNUQU5HTEVfRVhUJzogMHg4NEY3LAorICAnTUFY
X1JFQ1RBTkdMRV9URVhUVVJFX1NJWkVfRVhUJzogMHg4NEY4LAorICAnU1JHQl9FWFQnOiAweDhD
NDAsCisgICdTUkdCOF9FWFQnOiAweDhDNDEsCisgICdTUkdCX0FMUEhBX0VYVCc6IDB4OEM0MiwK
KyAgJ1NSR0I4X0FMUEhBOF9FWFQnOiAweDhDNDMsCisgICdTTFVNSU5BTkNFX0FMUEhBX0VYVCc6
IDB4OEM0NCwKKyAgJ1NMVU1JTkFOQ0U4X0FMUEhBOF9FWFQnOiAweDhDNDUsCisgICdTTFVNSU5B
TkNFX0VYVCc6IDB4OEM0NiwKKyAgJ1NMVU1JTkFOQ0U4X0VYVCc6IDB4OEM0NywKKyAgJ0NPTVBS
RVNTRURfU1JHQl9FWFQnOiAweDhDNDgsCisgICdDT01QUkVTU0VEX1NSR0JfQUxQSEFfRVhUJzog
MHg4QzQ5LAorICAnQ09NUFJFU1NFRF9TTFVNSU5BTkNFX0VYVCc6IDB4OEM0QSwKKyAgJ0NPTVBS
RVNTRURfU0xVTUlOQU5DRV9BTFBIQV9FWFQnOiAweDhDNEIsCisgICdDT01QUkVTU0VEX1NSR0Jf
UzNUQ19EWFQxX0VYVCc6IDB4OEM0QywKKyAgJ0NPTVBSRVNTRURfU1JHQl9BTFBIQV9TM1RDX0RY
VDFfRVhUJzogMHg4QzRELAorICAnQ09NUFJFU1NFRF9TUkdCX0FMUEhBX1MzVENfRFhUM19FWFQn
OiAweDhDNEUsCisgICdDT01QUkVTU0VEX1NSR0JfQUxQSEFfUzNUQ19EWFQ1X0VYVCc6IDB4OEM0
RiwKKyAgJ1JHQjlfRTVfRVhUJzogMHg4QzNELAorICAnVU5TSUdORURfSU5UXzVfOV85XzlfUkVW
X0VYVCc6IDB4OEMzRSwKKyAgJ1RFWFRVUkVfU0hBUkVEX1NJWkVfRVhUJzogMHg4QzNGLAorICAn
VEVYVFVSRV9TV0laWkxFX1JfRVhUJzogMHg4RTQyLAorICAnVEVYVFVSRV9TV0laWkxFX0dfRVhU
JzogMHg4RTQzLAorICAnVEVYVFVSRV9TV0laWkxFX0JfRVhUJzogMHg4RTQ0LAorICAnVEVYVFVS
RV9TV0laWkxFX0FfRVhUJzogMHg4RTQ1LAorICAnVEVYVFVSRV9TV0laWkxFX1JHQkFfRVhUJzog
MHg4RTQ2LAorICAnVElNRV9FTEFQU0VEX0VYVCc6IDB4ODhCRiwKKyAgJ1RSQU5TRk9STV9GRUVE
QkFDS19WQVJZSU5HX01BWF9MRU5HVEhfRVhUJzogMHg4Qzc2LAorICAnVFJBTlNGT1JNX0ZFRURC
QUNLX0JVRkZFUl9NT0RFX0VYVCc6IDB4OEM3RiwKKyAgJ01BWF9UUkFOU0ZPUk1fRkVFREJBQ0tf
U0VQQVJBVEVfQ09NUE9ORU5UU19FWFQnOiAweDhDODAsCisgICdUUkFOU0ZPUk1fRkVFREJBQ0tf
VkFSWUlOR1NfRVhUJzogMHg4QzgzLAorICAnVFJBTlNGT1JNX0ZFRURCQUNLX0JVRkZFUl9TVEFS
VF9FWFQnOiAweDhDODQsCisgICdUUkFOU0ZPUk1fRkVFREJBQ0tfQlVGRkVSX1NJWkVfRVhUJzog
MHg4Qzg1LAorICAnUFJJTUlUSVZFU19HRU5FUkFURURfRVhUJzogMHg4Qzg3LAorICAnVFJBTlNG
T1JNX0ZFRURCQUNLX1BSSU1JVElWRVNfV1JJVFRFTl9FWFQnOiAweDhDODgsCisgICdSQVNURVJJ
WkVSX0RJU0NBUkRfRVhUJzogMHg4Qzg5LAorICAnTUFYX1RSQU5TRk9STV9GRUVEQkFDS19JTlRF
UkxFQVZFRF9DT01QT05FTlRTX0VYVCc6IDB4OEM4QSwKKyAgJ01BWF9UUkFOU0ZPUk1fRkVFREJB
Q0tfU0VQQVJBVEVfQVRUUklCU19FWFQnOiAweDhDOEIsCisgICdJTlRFUkxFQVZFRF9BVFRSSUJT
X0VYVCc6IDB4OEM4QywKKyAgJ1NFUEFSQVRFX0FUVFJJQlNfRVhUJzogMHg4QzhELAorICAnVFJB
TlNGT1JNX0ZFRURCQUNLX0JVRkZFUl9FWFQnOiAweDhDOEUsCisgICdUUkFOU0ZPUk1fRkVFREJB
Q0tfQlVGRkVSX0JJTkRJTkdfRVhUJzogMHg4QzhGLAorICAnRE9VQkxFX0VYVCc6IDB4MTQwQSwK
KyAgJ1ZFUlRFWF9BUlJBWV9FWFQnOiAweDgwNzQsCisgICdOT1JNQUxfQVJSQVlfRVhUJzogMHg4
MDc1LAorICAnQ09MT1JfQVJSQVlfRVhUJzogMHg4MDc2LAorICAnSU5ERVhfQVJSQVlfRVhUJzog
MHg4MDc3LAorICAnVEVYVFVSRV9DT09SRF9BUlJBWV9FWFQnOiAweDgwNzgsCisgICdFREdFX0ZM
QUdfQVJSQVlfRVhUJzogMHg4MDc5LAorICAnVkVSVEVYX0FSUkFZX1NJWkVfRVhUJzogMHg4MDdB
LAorICAnVkVSVEVYX0FSUkFZX1RZUEVfRVhUJzogMHg4MDdCLAorICAnVkVSVEVYX0FSUkFZX1NU
UklERV9FWFQnOiAweDgwN0MsCisgICdWRVJURVhfQVJSQVlfQ09VTlRfRVhUJzogMHg4MDdELAor
ICAnTk9STUFMX0FSUkFZX1RZUEVfRVhUJzogMHg4MDdFLAorICAnTk9STUFMX0FSUkFZX1NUUklE
RV9FWFQnOiAweDgwN0YsCisgICdOT1JNQUxfQVJSQVlfQ09VTlRfRVhUJzogMHg4MDgwLAorICAn
Q09MT1JfQVJSQVlfU0laRV9FWFQnOiAweDgwODEsCisgICdDT0xPUl9BUlJBWV9UWVBFX0VYVCc6
IDB4ODA4MiwKKyAgJ0NPTE9SX0FSUkFZX1NUUklERV9FWFQnOiAweDgwODMsCisgICdDT0xPUl9B
UlJBWV9DT1VOVF9FWFQnOiAweDgwODQsCisgICdJTkRFWF9BUlJBWV9UWVBFX0VYVCc6IDB4ODA4
NSwKKyAgJ0lOREVYX0FSUkFZX1NUUklERV9FWFQnOiAweDgwODYsCisgICdJTkRFWF9BUlJBWV9D
T1VOVF9FWFQnOiAweDgwODcsCisgICdURVhUVVJFX0NPT1JEX0FSUkFZX1NJWkVfRVhUJzogMHg4
MDg4LAorICAnVEVYVFVSRV9DT09SRF9BUlJBWV9UWVBFX0VYVCc6IDB4ODA4OSwKKyAgJ1RFWFRV
UkVfQ09PUkRfQVJSQVlfU1RSSURFX0VYVCc6IDB4ODA4QSwKKyAgJ1RFWFRVUkVfQ09PUkRfQVJS
QVlfQ09VTlRfRVhUJzogMHg4MDhCLAorICAnRURHRV9GTEFHX0FSUkFZX1NUUklERV9FWFQnOiAw
eDgwOEMsCisgICdFREdFX0ZMQUdfQVJSQVlfQ09VTlRfRVhUJzogMHg4MDhELAorICAnVkVSVEVY
X0FSUkFZX1BPSU5URVJfRVhUJzogMHg4MDhFLAorICAnTk9STUFMX0FSUkFZX1BPSU5URVJfRVhU
JzogMHg4MDhGLAorICAnQ09MT1JfQVJSQVlfUE9JTlRFUl9FWFQnOiAweDgwOTAsCisgICdJTkRF
WF9BUlJBWV9QT0lOVEVSX0VYVCc6IDB4ODA5MSwKKyAgJ1RFWFRVUkVfQ09PUkRfQVJSQVlfUE9J
TlRFUl9FWFQnOiAweDgwOTIsCisgICdFREdFX0ZMQUdfQVJSQVlfUE9JTlRFUl9FWFQnOiAweDgw
OTMsCisgICdCR1JBJzogMHg4MEUxLAorICAnVkVSVEVYX1NIQURFUl9FWFQnOiAweDg3ODAsCisg
ICdWRVJURVhfU0hBREVSX0JJTkRJTkdfRVhUJzogMHg4NzgxLAorICAnT1BfSU5ERVhfRVhUJzog
MHg4NzgyLAorICAnT1BfTkVHQVRFX0VYVCc6IDB4ODc4MywKKyAgJ09QX0RPVDNfRVhUJzogMHg4
Nzg0LAorICAnT1BfRE9UNF9FWFQnOiAweDg3ODUsCisgICdPUF9NVUxfRVhUJzogMHg4Nzg2LAor
ICAnT1BfQUREX0VYVCc6IDB4ODc4NywKKyAgJ09QX01BRERfRVhUJzogMHg4Nzg4LAorICAnT1Bf
RlJBQ19FWFQnOiAweDg3ODksCisgICdPUF9NQVhfRVhUJzogMHg4NzhBLAorICAnT1BfTUlOX0VY
VCc6IDB4ODc4QiwKKyAgJ09QX1NFVF9HRV9FWFQnOiAweDg3OEMsCisgICdPUF9TRVRfTFRfRVhU
JzogMHg4NzhELAorICAnT1BfQ0xBTVBfRVhUJzogMHg4NzhFLAorICAnT1BfRkxPT1JfRVhUJzog
MHg4NzhGLAorICAnT1BfUk9VTkRfRVhUJzogMHg4NzkwLAorICAnT1BfRVhQX0JBU0VfMl9FWFQn
OiAweDg3OTEsCisgICdPUF9MT0dfQkFTRV8yX0VYVCc6IDB4ODc5MiwKKyAgJ09QX1BPV0VSX0VY
VCc6IDB4ODc5MywKKyAgJ09QX1JFQ0lQX0VYVCc6IDB4ODc5NCwKKyAgJ09QX1JFQ0lQX1NRUlRf
RVhUJzogMHg4Nzk1LAorICAnT1BfU1VCX0VYVCc6IDB4ODc5NiwKKyAgJ09QX0NST1NTX1BST0RV
Q1RfRVhUJzogMHg4Nzk3LAorICAnT1BfTVVMVElQTFlfTUFUUklYX0VYVCc6IDB4ODc5OCwKKyAg
J09QX01PVl9FWFQnOiAweDg3OTksCisgICdPVVRQVVRfVkVSVEVYX0VYVCc6IDB4ODc5QSwKKyAg
J09VVFBVVF9DT0xPUjBfRVhUJzogMHg4NzlCLAorICAnT1VUUFVUX0NPTE9SMV9FWFQnOiAweDg3
OUMsCisgICdPVVRQVVRfVEVYVFVSRV9DT09SRDBfRVhUJzogMHg4NzlELAorICAnT1VUUFVUX1RF
WFRVUkVfQ09PUkQxX0VYVCc6IDB4ODc5RSwKKyAgJ09VVFBVVF9URVhUVVJFX0NPT1JEMl9FWFQn
OiAweDg3OUYsCisgICdPVVRQVVRfVEVYVFVSRV9DT09SRDNfRVhUJzogMHg4N0EwLAorICAnT1VU
UFVUX1RFWFRVUkVfQ09PUkQ0X0VYVCc6IDB4ODdBMSwKKyAgJ09VVFBVVF9URVhUVVJFX0NPT1JE
NV9FWFQnOiAweDg3QTIsCisgICdPVVRQVVRfVEVYVFVSRV9DT09SRDZfRVhUJzogMHg4N0EzLAor
ICAnT1VUUFVUX1RFWFRVUkVfQ09PUkQ3X0VYVCc6IDB4ODdBNCwKKyAgJ09VVFBVVF9URVhUVVJF
X0NPT1JEOF9FWFQnOiAweDg3QTUsCisgICdPVVRQVVRfVEVYVFVSRV9DT09SRDlfRVhUJzogMHg4
N0E2LAorICAnT1VUUFVUX1RFWFRVUkVfQ09PUkQxMF9FWFQnOiAweDg3QTcsCisgICdPVVRQVVRf
VEVYVFVSRV9DT09SRDExX0VYVCc6IDB4ODdBOCwKKyAgJ09VVFBVVF9URVhUVVJFX0NPT1JEMTJf
RVhUJzogMHg4N0E5LAorICAnT1VUUFVUX1RFWFRVUkVfQ09PUkQxM19FWFQnOiAweDg3QUEsCisg
ICdPVVRQVVRfVEVYVFVSRV9DT09SRDE0X0VYVCc6IDB4ODdBQiwKKyAgJ09VVFBVVF9URVhUVVJF
X0NPT1JEMTVfRVhUJzogMHg4N0FDLAorICAnT1VUUFVUX1RFWFRVUkVfQ09PUkQxNl9FWFQnOiAw
eDg3QUQsCisgICdPVVRQVVRfVEVYVFVSRV9DT09SRDE3X0VYVCc6IDB4ODdBRSwKKyAgJ09VVFBV
VF9URVhUVVJFX0NPT1JEMThfRVhUJzogMHg4N0FGLAorICAnT1VUUFVUX1RFWFRVUkVfQ09PUkQx
OV9FWFQnOiAweDg3QjAsCisgICdPVVRQVVRfVEVYVFVSRV9DT09SRDIwX0VYVCc6IDB4ODdCMSwK
KyAgJ09VVFBVVF9URVhUVVJFX0NPT1JEMjFfRVhUJzogMHg4N0IyLAorICAnT1VUUFVUX1RFWFRV
UkVfQ09PUkQyMl9FWFQnOiAweDg3QjMsCisgICdPVVRQVVRfVEVYVFVSRV9DT09SRDIzX0VYVCc6
IDB4ODdCNCwKKyAgJ09VVFBVVF9URVhUVVJFX0NPT1JEMjRfRVhUJzogMHg4N0I1LAorICAnT1VU
UFVUX1RFWFRVUkVfQ09PUkQyNV9FWFQnOiAweDg3QjYsCisgICdPVVRQVVRfVEVYVFVSRV9DT09S
RDI2X0VYVCc6IDB4ODdCNywKKyAgJ09VVFBVVF9URVhUVVJFX0NPT1JEMjdfRVhUJzogMHg4N0I4
LAorICAnT1VUUFVUX1RFWFRVUkVfQ09PUkQyOF9FWFQnOiAweDg3QjksCisgICdPVVRQVVRfVEVY
VFVSRV9DT09SRDI5X0VYVCc6IDB4ODdCQSwKKyAgJ09VVFBVVF9URVhUVVJFX0NPT1JEMzBfRVhU
JzogMHg4N0JCLAorICAnT1VUUFVUX1RFWFRVUkVfQ09PUkQzMV9FWFQnOiAweDg3QkMsCisgICdP
VVRQVVRfRk9HX0VYVCc6IDB4ODdCRCwKKyAgJ1NDQUxBUl9FWFQnOiAweDg3QkUsCisgICdWRUNU
T1JfRVhUJzogMHg4N0JGLAorICAnTUFUUklYX0VYVCc6IDB4ODdDMCwKKyAgJ1ZBUklBTlRfRVhU
JzogMHg4N0MxLAorICAnSU5WQVJJQU5UX0VYVCc6IDB4ODdDMiwKKyAgJ0xPQ0FMX0NPTlNUQU5U
X0VYVCc6IDB4ODdDMywKKyAgJ0xPQ0FMX0VYVCc6IDB4ODdDNCwKKyAgJ01BWF9WRVJURVhfU0hB
REVSX0lOU1RSVUNUSU9OU19FWFQnOiAweDg3QzUsCisgICdNQVhfVkVSVEVYX1NIQURFUl9WQVJJ
QU5UU19FWFQnOiAweDg3QzYsCisgICdNQVhfVkVSVEVYX1NIQURFUl9JTlZBUklBTlRTX0VYVCc6
IDB4ODdDNywKKyAgJ01BWF9WRVJURVhfU0hBREVSX0xPQ0FMX0NPTlNUQU5UU19FWFQnOiAweDg3
QzgsCisgICdNQVhfVkVSVEVYX1NIQURFUl9MT0NBTFNfRVhUJzogMHg4N0M5LAorICAnTUFYX09Q
VElNSVpFRF9WRVJURVhfU0hBREVSX0lOU1RSVUNUSU9OU19FWFQnOiAweDg3Q0EsCisgICdNQVhf
T1BUSU1JWkVEX1ZFUlRFWF9TSEFERVJfVkFSSUFOVFNfRVhUJzogMHg4N0NCLAorICAnTUFYX09Q
VElNSVpFRF9WRVJURVhfU0hBREVSX0lOVkFSSUFOVFNfRVhUJzogMHg4N0NDLAorICAnTUFYX09Q
VElNSVpFRF9WRVJURVhfU0hBREVSX0xPQ0FMX0NPTlNUQU5UU19FWFQnOiAweDg3Q0QsCisgICdN
QVhfT1BUSU1JWkVEX1ZFUlRFWF9TSEFERVJfTE9DQUxTX0VYVCc6IDB4ODdDRSwKKyAgJ1ZFUlRF
WF9TSEFERVJfSU5TVFJVQ1RJT05TX0VYVCc6IDB4ODdDRiwKKyAgJ1ZFUlRFWF9TSEFERVJfVkFS
SUFOVFNfRVhUJzogMHg4N0QwLAorICAnVkVSVEVYX1NIQURFUl9JTlZBUklBTlRTX0VYVCc6IDB4
ODdEMSwKKyAgJ1ZFUlRFWF9TSEFERVJfTE9DQUxfQ09OU1RBTlRTX0VYVCc6IDB4ODdEMiwKKyAg
J1ZFUlRFWF9TSEFERVJfTE9DQUxTX0VYVCc6IDB4ODdEMywKKyAgJ1ZFUlRFWF9TSEFERVJfT1BU
SU1JWkVEX0VYVCc6IDB4ODdENCwKKyAgJ1hfRVhUJzogMHg4N0Q1LAorICAnWV9FWFQnOiAweDg3
RDYsCisgICdaX0VYVCc6IDB4ODdENywKKyAgJ1dfRVhUJzogMHg4N0Q4LAorICAnTkVHQVRJVkVf
WF9FWFQnOiAweDg3RDksCisgICdORUdBVElWRV9ZX0VYVCc6IDB4ODdEQSwKKyAgJ05FR0FUSVZF
X1pfRVhUJzogMHg4N0RCLAorICAnTkVHQVRJVkVfV19FWFQnOiAweDg3REMsCisgICdaRVJPX0VY
VCc6IDB4ODdERCwKKyAgJ09ORV9FWFQnOiAweDg3REUsCisgICdORUdBVElWRV9PTkVfRVhUJzog
MHg4N0RGLAorICAnTk9STUFMSVpFRF9SQU5HRV9FWFQnOiAweDg3RTAsCisgICdGVUxMX1JBTkdF
X0VYVCc6IDB4ODdFMSwKKyAgJ0NVUlJFTlRfVkVSVEVYX0VYVCc6IDB4ODdFMiwKKyAgJ01WUF9N
QVRSSVhfRVhUJzogMHg4N0UzLAorICAnVkFSSUFOVF9WQUxVRV9FWFQnOiAweDg3RTQsCisgICdW
QVJJQU5UX0RBVEFUWVBFX0VYVCc6IDB4ODdFNSwKKyAgJ1ZBUklBTlRfQVJSQVlfU1RSSURFX0VY
VCc6IDB4ODdFNiwKKyAgJ1ZBUklBTlRfQVJSQVlfVFlQRV9FWFQnOiAweDg3RTcsCisgICdWQVJJ
QU5UX0FSUkFZX0VYVCc6IDB4ODdFOCwKKyAgJ1ZBUklBTlRfQVJSQVlfUE9JTlRFUl9FWFQnOiAw
eDg3RTksCisgICdJTlZBUklBTlRfVkFMVUVfRVhUJzogMHg4N0VBLAorICAnSU5WQVJJQU5UX0RB
VEFUWVBFX0VYVCc6IDB4ODdFQiwKKyAgJ0xPQ0FMX0NPTlNUQU5UX1ZBTFVFX0VYVCc6IDB4ODdF
QywKKyAgJ0xPQ0FMX0NPTlNUQU5UX0RBVEFUWVBFX0VYVCc6IDB4ODdFRCwKKyAgJ01PREVMVklF
VzBfU1RBQ0tfREVQVEhfRVhUJzogMHgwQkEzLAorICAnTU9ERUxWSUVXMF9NQVRSSVhfRVhUJzog
MHgwQkE2LAorICAnTU9ERUxWSUVXMF9FWFQnOiAweDE3MDAsCisgICdNT0RFTFZJRVcxX1NUQUNL
X0RFUFRIX0VYVCc6IDB4ODUwMiwKKyAgJ01PREVMVklFVzFfTUFUUklYX0VYVCc6IDB4ODUwNiwK
KyAgJ1ZFUlRFWF9XRUlHSFRJTkdfRVhUJzogMHg4NTA5LAorICAnTU9ERUxWSUVXMV9FWFQnOiAw
eDg1MEEsCisgICdDVVJSRU5UX1ZFUlRFWF9XRUlHSFRfRVhUJzogMHg4NTBCLAorICAnVkVSVEVY
X1dFSUdIVF9BUlJBWV9FWFQnOiAweDg1MEMsCisgICdWRVJURVhfV0VJR0hUX0FSUkFZX1NJWkVf
RVhUJzogMHg4NTBELAorICAnVkVSVEVYX1dFSUdIVF9BUlJBWV9UWVBFX0VYVCc6IDB4ODUwRSwK
KyAgJ1ZFUlRFWF9XRUlHSFRfQVJSQVlfU1RSSURFX0VYVCc6IDB4ODUwRiwKKyAgJ1ZFUlRFWF9X
RUlHSFRfQVJSQVlfUE9JTlRFUl9FWFQnOiAweDg1MTAsCisgICdPQ0NMVVNJT05fVEVTVF9IUCc6
IDB4ODE2NSwKKyAgJ09DQ0xVU0lPTl9URVNUX1JFU1VMVF9IUCc6IDB4ODE2NiwKKyAgJ01JUlJP
UkVEX1JFUEVBVF9JQk0nOiAweDgzNzAsCisgICdSRURfTUlOX0NMQU1QX0lOR1InOiAweDg1NjAs
CisgICdHUkVFTl9NSU5fQ0xBTVBfSU5HUic6IDB4ODU2MSwKKyAgJ0JMVUVfTUlOX0NMQU1QX0lO
R1InOiAweDg1NjIsCisgICdBTFBIQV9NSU5fQ0xBTVBfSU5HUic6IDB4ODU2MywKKyAgJ1JFRF9N
QVhfQ0xBTVBfSU5HUic6IDB4ODU2NCwKKyAgJ0dSRUVOX01BWF9DTEFNUF9JTkdSJzogMHg4NTY1
LAorICAnQkxVRV9NQVhfQ0xBTVBfSU5HUic6IDB4ODU2NiwKKyAgJ0FMUEhBX01BWF9DTEFNUF9J
TkdSJzogMHg4NTY3LAorICAnSU5URVJMQUNFX1JFQURfSU5HUic6IDB4ODU2OCwKKyAgJ1BBUkFM
TEVMX0FSUkFZU19JTlRFTCc6IDB4ODNGNCwKKyAgJ1ZFUlRFWF9BUlJBWV9QQVJBTExFTF9QT0lO
VEVSU19JTlRFTCc6IDB4ODNGNSwKKyAgJ05PUk1BTF9BUlJBWV9QQVJBTExFTF9QT0lOVEVSU19J
TlRFTCc6IDB4ODNGNiwKKyAgJ0NPTE9SX0FSUkFZX1BBUkFMTEVMX1BPSU5URVJTX0lOVEVMJzog
MHg4M0Y3LAorICAnVEVYVFVSRV9DT09SRF9BUlJBWV9QQVJBTExFTF9QT0lOVEVSU19JTlRFTCc6
IDB4ODNGOCwKKyAgJ0tUWF9GUk9OVF9SRUdJT04nOiAweDAsCisgICdLVFhfQkFDS19SRUdJT04n
OiAweDEsCisgICdLVFhfWl9SRUdJT04nOiAweDIsCisgICdLVFhfU1RFTkNJTF9SRUdJT04nOiAw
eDMsCisgICdURVhUVVJFXzFEX1NUQUNLX01FU0FYJzogMHg4NzU5LAorICAnVEVYVFVSRV8yRF9T
VEFDS19NRVNBWCc6IDB4ODc1QSwKKyAgJ1BST1hZX1RFWFRVUkVfMURfU1RBQ0tfTUVTQVgnOiAw
eDg3NUIsCisgICdQUk9YWV9URVhUVVJFXzJEX1NUQUNLX01FU0FYJzogMHg4NzVDLAorICAnVEVY
VFVSRV8xRF9TVEFDS19CSU5ESU5HX01FU0FYJzogMHg4NzVELAorICAnVEVYVFVSRV8yRF9TVEFD
S19CSU5ESU5HX01FU0FYJzogMHg4NzVFLAorICAnUEFDS19JTlZFUlRfTUVTQSc6IDB4ODc1OCwK
KyAgJ1VOU0lHTkVEX1NIT1JUXzhfOF9NRVNBJzogMHg4NUJBLAorICAnVU5TSUdORURfU0hPUlRf
OF84X1JFVl9NRVNBJzogMHg4NUJCLAorICAnWUNCQ1JfTUVTQSc6IDB4ODc1NywKKyAgJ1FVRVJZ
X1dBSVRfTlYnOiAweDhFMTMsCisgICdRVUVSWV9OT19XQUlUX05WJzogMHg4RTE0LAorICAnUVVF
UllfQllfUkVHSU9OX1dBSVRfTlYnOiAweDhFMTUsCisgICdRVUVSWV9CWV9SRUdJT05fTk9fV0FJ
VF9OVic6IDB4OEUxNiwKKyAgJ0RFUFRIX1NURU5DSUxfVE9fUkdCQV9OVic6IDB4ODg2RSwKKyAg
J0RFUFRIX1NURU5DSUxfVE9fQkdSQV9OVic6IDB4ODg2RiwKKyAgJ0RFUFRIX0NPTVBPTkVOVDMy
Rl9OVic6IDB4OERBQiwKKyAgJ0RFUFRIMzJGX1NURU5DSUw4X05WJzogMHg4REFDLAorICAnRkxP
QVRfMzJfVU5TSUdORURfSU5UXzI0XzhfUkVWX05WJzogMHg4REFELAorICAnREVQVEhfQlVGRkVS
X0ZMT0FUX01PREVfTlYnOiAweDhEQUYsCisgICdERVBUSF9DTEFNUF9OVic6IDB4ODY0RiwKKyAg
J1NBTVBMRV9DT1VOVF9CSVRTX05WJzogMHg4ODY0LAorICAnQ1VSUkVOVF9TQU1QTEVfQ09VTlRf
UVVFUllfTlYnOiAweDg4NjUsCisgICdRVUVSWV9SRVNVTFRfTlYnOiAweDg4NjYsCisgICdRVUVS
WV9SRVNVTFRfQVZBSUxBQkxFX05WJzogMHg4ODY3LAorICAnU0FNUExFX0NPVU5UX05WJzogMHg4
OTE0LAorICAnRVZBTF8yRF9OVic6IDB4ODZDMCwKKyAgJ0VWQUxfVFJJQU5HVUxBUl8yRF9OVic6
IDB4ODZDMSwKKyAgJ01BUF9URVNTRUxMQVRJT05fTlYnOiAweDg2QzIsCisgICdNQVBfQVRUUklC
X1VfT1JERVJfTlYnOiAweDg2QzMsCisgICdNQVBfQVRUUklCX1ZfT1JERVJfTlYnOiAweDg2QzQs
CisgICdFVkFMX0ZSQUNUSU9OQUxfVEVTU0VMTEFUSU9OX05WJzogMHg4NkM1LAorICAnRVZBTF9W
RVJURVhfQVRUUklCMF9OVic6IDB4ODZDNiwKKyAgJ0VWQUxfVkVSVEVYX0FUVFJJQjFfTlYnOiAw
eDg2QzcsCisgICdFVkFMX1ZFUlRFWF9BVFRSSUIyX05WJzogMHg4NkM4LAorICAnRVZBTF9WRVJU
RVhfQVRUUklCM19OVic6IDB4ODZDOSwKKyAgJ0VWQUxfVkVSVEVYX0FUVFJJQjRfTlYnOiAweDg2
Q0EsCisgICdFVkFMX1ZFUlRFWF9BVFRSSUI1X05WJzogMHg4NkNCLAorICAnRVZBTF9WRVJURVhf
QVRUUklCNl9OVic6IDB4ODZDQywKKyAgJ0VWQUxfVkVSVEVYX0FUVFJJQjdfTlYnOiAweDg2Q0Qs
CisgICdFVkFMX1ZFUlRFWF9BVFRSSUI4X05WJzogMHg4NkNFLAorICAnRVZBTF9WRVJURVhfQVRU
UklCOV9OVic6IDB4ODZDRiwKKyAgJ0VWQUxfVkVSVEVYX0FUVFJJQjEwX05WJzogMHg4NkQwLAor
ICAnRVZBTF9WRVJURVhfQVRUUklCMTFfTlYnOiAweDg2RDEsCisgICdFVkFMX1ZFUlRFWF9BVFRS
SUIxMl9OVic6IDB4ODZEMiwKKyAgJ0VWQUxfVkVSVEVYX0FUVFJJQjEzX05WJzogMHg4NkQzLAor
ICAnRVZBTF9WRVJURVhfQVRUUklCMTRfTlYnOiAweDg2RDQsCisgICdFVkFMX1ZFUlRFWF9BVFRS
SUIxNV9OVic6IDB4ODZENSwKKyAgJ01BWF9NQVBfVEVTU0VMTEFUSU9OX05WJzogMHg4NkQ2LAor
ICAnTUFYX1JBVElPTkFMX0VWQUxfT1JERVJfTlYnOiAweDg2RDcsCisgICdTQU1QTEVfUE9TSVRJ
T05fTlYnOiAweDhFNTAsCisgICdTQU1QTEVfTUFTS19OVic6IDB4OEU1MSwKKyAgJ1NBTVBMRV9N
QVNLX1ZBTFVFX05WJzogMHg4RTUyLAorICAnVEVYVFVSRV9CSU5ESU5HX1JFTkRFUkJVRkZFUl9O
Vic6IDB4OEU1MywKKyAgJ1RFWFRVUkVfUkVOREVSQlVGRkVSX0RBVEFfU1RPUkVfQklORElOR19O
Vic6IDB4OEU1NCwKKyAgJ1RFWFRVUkVfUkVOREVSQlVGRkVSX05WJzogMHg4RTU1LAorICAnU0FN
UExFUl9SRU5ERVJCVUZGRVJfTlYnOiAweDhFNTYsCisgICdJTlRfU0FNUExFUl9SRU5ERVJCVUZG
RVJfTlYnOiAweDhFNTcsCisgICdVTlNJR05FRF9JTlRfU0FNUExFUl9SRU5ERVJCVUZGRVJfTlYn
OiAweDhFNTgsCisgICdNQVhfU0FNUExFX01BU0tfV09SRFNfTlYnOiAweDhFNTksCisgICdBTExf
Q09NUExFVEVEX05WJzogMHg4NEYyLAorICAnRkVOQ0VfU1RBVFVTX05WJzogMHg4NEYzLAorICAn
RkVOQ0VfQ09ORElUSU9OX05WJzogMHg4NEY0LAorICAnRkxPQVRfUl9OVic6IDB4ODg4MCwKKyAg
J0ZMT0FUX1JHX05WJzogMHg4ODgxLAorICAnRkxPQVRfUkdCX05WJzogMHg4ODgyLAorICAnRkxP
QVRfUkdCQV9OVic6IDB4ODg4MywKKyAgJ0ZMT0FUX1IxNl9OVic6IDB4ODg4NCwKKyAgJ0ZMT0FU
X1IzMl9OVic6IDB4ODg4NSwKKyAgJ0ZMT0FUX1JHMTZfTlYnOiAweDg4ODYsCisgICdGTE9BVF9S
RzMyX05WJzogMHg4ODg3LAorICAnRkxPQVRfUkdCMTZfTlYnOiAweDg4ODgsCisgICdGTE9BVF9S
R0IzMl9OVic6IDB4ODg4OSwKKyAgJ0ZMT0FUX1JHQkExNl9OVic6IDB4ODg4QSwKKyAgJ0ZMT0FU
X1JHQkEzMl9OVic6IDB4ODg4QiwKKyAgJ1RFWFRVUkVfRkxPQVRfQ09NUE9ORU5UU19OVic6IDB4
ODg4QywKKyAgJ0ZMT0FUX0NMRUFSX0NPTE9SX1ZBTFVFX05WJzogMHg4ODhELAorICAnRkxPQVRf
UkdCQV9NT0RFX05WJzogMHg4ODhFLAorICAnRk9HX0RJU1RBTkNFX01PREVfTlYnOiAweDg1NUEs
CisgICdFWUVfUkFESUFMX05WJzogMHg4NTVCLAorICAnRVlFX1BMQU5FX0FCU09MVVRFX05WJzog
MHg4NTVDLAorICAnTUFYX0ZSQUdNRU5UX1BST0dSQU1fTE9DQUxfUEFSQU1FVEVSU19OVic6IDB4
ODg2OCwKKyAgJ0ZSQUdNRU5UX1BST0dSQU1fTlYnOiAweDg4NzAsCisgICdNQVhfVEVYVFVSRV9D
T09SRFNfTlYnOiAweDg4NzEsCisgICdNQVhfVEVYVFVSRV9JTUFHRV9VTklUU19OVic6IDB4ODg3
MiwKKyAgJ0ZSQUdNRU5UX1BST0dSQU1fQklORElOR19OVic6IDB4ODg3MywKKyAgJ1BST0dSQU1f
RVJST1JfU1RSSU5HX05WJzogMHg4ODc0LAorICAnTUFYX1BST0dSQU1fRVhFQ19JTlNUUlVDVElP
TlNfTlYnOiAweDg4RjQsCisgICdNQVhfUFJPR1JBTV9DQUxMX0RFUFRIX05WJzogMHg4OEY1LAor
ICAnTUFYX1BST0dSQU1fSUZfREVQVEhfTlYnOiAweDg4RjYsCisgICdNQVhfUFJPR1JBTV9MT09Q
X0RFUFRIX05WJzogMHg4OEY3LAorICAnTUFYX1BST0dSQU1fTE9PUF9DT1VOVF9OVic6IDB4ODhG
OCwKKyAgJ1JFTkRFUkJVRkZFUl9DT1ZFUkFHRV9TQU1QTEVTX05WJzogMHg4Q0FCLAorICAnUkVO
REVSQlVGRkVSX0NPTE9SX1NBTVBMRVNfTlYnOiAweDhFMTAsCisgICdNQVhfTVVMVElTQU1QTEVf
Q09WRVJBR0VfTU9ERVNfTlYnOiAweDhFMTEsCisgICdNVUxUSVNBTVBMRV9DT1ZFUkFHRV9NT0RF
U19OVic6IDB4OEUxMiwKKyAgJ0dFT01FVFJZX1BST0dSQU1fTlYnOiAweDhDMjYsCisgICdNQVhf
UFJPR1JBTV9PVVRQVVRfVkVSVElDRVNfTlYnOiAweDhDMjcsCisgICdNQVhfUFJPR1JBTV9UT1RB
TF9PVVRQVVRfQ09NUE9ORU5UU19OVic6IDB4OEMyOCwKKyAgJ01JTl9QUk9HUkFNX1RFWEVMX09G
RlNFVF9OVic6IDB4ODkwNCwKKyAgJ01BWF9QUk9HUkFNX1RFWEVMX09GRlNFVF9OVic6IDB4ODkw
NSwKKyAgJ1BST0dSQU1fQVRUUklCX0NPTVBPTkVOVFNfTlYnOiAweDg5MDYsCisgICdQUk9HUkFN
X1JFU1VMVF9DT01QT05FTlRTX05WJzogMHg4OTA3LAorICAnTUFYX1BST0dSQU1fQVRUUklCX0NP
TVBPTkVOVFNfTlYnOiAweDg5MDgsCisgICdNQVhfUFJPR1JBTV9SRVNVTFRfQ09NUE9ORU5UU19O
Vic6IDB4ODkwOSwKKyAgJ01BWF9QUk9HUkFNX0dFTkVSSUNfQVRUUklCU19OVic6IDB4OERBNSwK
KyAgJ01BWF9QUk9HUkFNX0dFTkVSSUNfUkVTVUxUU19OVic6IDB4OERBNiwKKyAgJ0hBTEZfRkxP
QVRfTlYnOiAweDE0MEIsCisgICdNQVhfU0hJTklORVNTX05WJzogMHg4NTA0LAorICAnTUFYX1NQ
T1RfRVhQT05FTlRfTlYnOiAweDg1MDUsCisgICdNVUxUSVNBTVBMRV9GSUxURVJfSElOVF9OVic6
IDB4ODUzNCwKKyAgJ1BJWEVMX0NPVU5URVJfQklUU19OVic6IDB4ODg2NCwKKyAgJ0NVUlJFTlRf
T0NDTFVTSU9OX1FVRVJZX0lEX05WJzogMHg4ODY1LAorICAnUElYRUxfQ09VTlRfTlYnOiAweDg4
NjYsCisgICdQSVhFTF9DT1VOVF9BVkFJTEFCTEVfTlYnOiAweDg4NjcsCisgICdERVBUSF9TVEVO
Q0lMX05WJzogMHg4NEY5LAorICAnVU5TSUdORURfSU5UXzI0XzhfTlYnOiAweDg0RkEsCisgICdN
QVhfUFJPR1JBTV9QQVJBTUVURVJfQlVGRkVSX0JJTkRJTkdTX05WJzogMHg4REEwLAorICAnTUFY
X1BST0dSQU1fUEFSQU1FVEVSX0JVRkZFUl9TSVpFX05WJzogMHg4REExLAorICAnVkVSVEVYX1BS
T0dSQU1fUEFSQU1FVEVSX0JVRkZFUl9OVic6IDB4OERBMiwKKyAgJ0dFT01FVFJZX1BST0dSQU1f
UEFSQU1FVEVSX0JVRkZFUl9OVic6IDB4OERBMywKKyAgJ0ZSQUdNRU5UX1BST0dSQU1fUEFSQU1F
VEVSX0JVRkZFUl9OVic6IDB4OERBNCwKKyAgJ1dSSVRFX1BJWEVMX0RBVEFfUkFOR0VfTlYnOiAw
eDg4NzgsCisgICdSRUFEX1BJWEVMX0RBVEFfUkFOR0VfTlYnOiAweDg4NzksCisgICdXUklURV9Q
SVhFTF9EQVRBX1JBTkdFX0xFTkdUSF9OVic6IDB4ODg3QSwKKyAgJ1JFQURfUElYRUxfREFUQV9S
QU5HRV9MRU5HVEhfTlYnOiAweDg4N0IsCisgICdXUklURV9QSVhFTF9EQVRBX1JBTkdFX1BPSU5U
RVJfTlYnOiAweDg4N0MsCisgICdSRUFEX1BJWEVMX0RBVEFfUkFOR0VfUE9JTlRFUl9OVic6IDB4
ODg3RCwKKyAgJ1BPSU5UX1NQUklURV9OVic6IDB4ODg2MSwKKyAgJ0NPT1JEX1JFUExBQ0VfTlYn
OiAweDg4NjIsCisgICdQT0lOVF9TUFJJVEVfUl9NT0RFX05WJzogMHg4ODYzLAorICAnRlJBTUVf
TlYnOiAweDhFMjYsCisgICdGSUVMRFNfTlYnOiAweDhFMjcsCisgICdDVVJSRU5UX1RJTUVfTlYn
OiAweDhFMjgsCisgICdOVU1fRklMTF9TVFJFQU1TX05WJzogMHg4RTI5LAorICAnUFJFU0VOVF9U
SU1FX05WJzogMHg4RTJBLAorICAnUFJFU0VOVF9EVVJBVElPTl9OVic6IDB4OEUyQiwKKyAgJ1BS
SU1JVElWRV9SRVNUQVJUX05WJzogMHg4NTU4LAorICAnUFJJTUlUSVZFX1JFU1RBUlRfSU5ERVhf
TlYnOiAweDg1NTksCisgICdSRUdJU1RFUl9DT01CSU5FUlNfTlYnOiAweDg1MjIsCisgICdWQVJJ
QUJMRV9BX05WJzogMHg4NTIzLAorICAnVkFSSUFCTEVfQl9OVic6IDB4ODUyNCwKKyAgJ1ZBUklB
QkxFX0NfTlYnOiAweDg1MjUsCisgICdWQVJJQUJMRV9EX05WJzogMHg4NTI2LAorICAnVkFSSUFC
TEVfRV9OVic6IDB4ODUyNywKKyAgJ1ZBUklBQkxFX0ZfTlYnOiAweDg1MjgsCisgICdWQVJJQUJM
RV9HX05WJzogMHg4NTI5LAorICAnQ09OU1RBTlRfQ09MT1IwX05WJzogMHg4NTJBLAorICAnQ09O
U1RBTlRfQ09MT1IxX05WJzogMHg4NTJCLAorICAnUFJJTUFSWV9DT0xPUl9OVic6IDB4ODUyQywK
KyAgJ1NFQ09OREFSWV9DT0xPUl9OVic6IDB4ODUyRCwKKyAgJ1NQQVJFMF9OVic6IDB4ODUyRSwK
KyAgJ1NQQVJFMV9OVic6IDB4ODUyRiwKKyAgJ0RJU0NBUkRfTlYnOiAweDg1MzAsCisgICdFX1RJ
TUVTX0ZfTlYnOiAweDg1MzEsCisgICdTUEFSRTBfUExVU19TRUNPTkRBUllfQ09MT1JfTlYnOiAw
eDg1MzIsCisgICdVTlNJR05FRF9JREVOVElUWV9OVic6IDB4ODUzNiwKKyAgJ1VOU0lHTkVEX0lO
VkVSVF9OVic6IDB4ODUzNywKKyAgJ0VYUEFORF9OT1JNQUxfTlYnOiAweDg1MzgsCisgICdFWFBB
TkRfTkVHQVRFX05WJzogMHg4NTM5LAorICAnSEFMRl9CSUFTX05PUk1BTF9OVic6IDB4ODUzQSwK
KyAgJ0hBTEZfQklBU19ORUdBVEVfTlYnOiAweDg1M0IsCisgICdTSUdORURfSURFTlRJVFlfTlYn
OiAweDg1M0MsCisgICdTSUdORURfTkVHQVRFX05WJzogMHg4NTNELAorICAnU0NBTEVfQllfVFdP
X05WJzogMHg4NTNFLAorICAnU0NBTEVfQllfRk9VUl9OVic6IDB4ODUzRiwKKyAgJ1NDQUxFX0JZ
X09ORV9IQUxGX05WJzogMHg4NTQwLAorICAnQklBU19CWV9ORUdBVElWRV9PTkVfSEFMRl9OVic6
IDB4ODU0MSwKKyAgJ0NPTUJJTkVSX0lOUFVUX05WJzogMHg4NTQyLAorICAnQ09NQklORVJfTUFQ
UElOR19OVic6IDB4ODU0MywKKyAgJ0NPTUJJTkVSX0NPTVBPTkVOVF9VU0FHRV9OVic6IDB4ODU0
NCwKKyAgJ0NPTUJJTkVSX0FCX0RPVF9QUk9EVUNUX05WJzogMHg4NTQ1LAorICAnQ09NQklORVJf
Q0RfRE9UX1BST0RVQ1RfTlYnOiAweDg1NDYsCisgICdDT01CSU5FUl9NVVhfU1VNX05WJzogMHg4
NTQ3LAorICAnQ09NQklORVJfU0NBTEVfTlYnOiAweDg1NDgsCisgICdDT01CSU5FUl9CSUFTX05W
JzogMHg4NTQ5LAorICAnQ09NQklORVJfQUJfT1VUUFVUX05WJzogMHg4NTRBLAorICAnQ09NQklO
RVJfQ0RfT1VUUFVUX05WJzogMHg4NTRCLAorICAnQ09NQklORVJfU1VNX09VVFBVVF9OVic6IDB4
ODU0QywKKyAgJ01BWF9HRU5FUkFMX0NPTUJJTkVSU19OVic6IDB4ODU0RCwKKyAgJ05VTV9HRU5F
UkFMX0NPTUJJTkVSU19OVic6IDB4ODU0RSwKKyAgJ0NPTE9SX1NVTV9DTEFNUF9OVic6IDB4ODU0
RiwKKyAgJ0NPTUJJTkVSMF9OVic6IDB4ODU1MCwKKyAgJ0NPTUJJTkVSMV9OVic6IDB4ODU1MSwK
KyAgJ0NPTUJJTkVSMl9OVic6IDB4ODU1MiwKKyAgJ0NPTUJJTkVSM19OVic6IDB4ODU1MywKKyAg
J0NPTUJJTkVSNF9OVic6IDB4ODU1NCwKKyAgJ0NPTUJJTkVSNV9OVic6IDB4ODU1NSwKKyAgJ0NP
TUJJTkVSNl9OVic6IDB4ODU1NiwKKyAgJ0NPTUJJTkVSN19OVic6IDB4ODU1NywKKyAgJ1BFUl9T
VEFHRV9DT05TVEFOVFNfTlYnOiAweDg1MzUsCisgICdFTUJPU1NfTElHSFRfTlYnOiAweDg1NUQs
CisgICdFTUJPU1NfQ09OU1RBTlRfTlYnOiAweDg1NUUsCisgICdFTUJPU1NfTUFQX05WJzogMHg4
NTVGLAorICAnTk9STUFMX01BUF9OVic6IDB4ODUxMSwKKyAgJ1JFRkxFQ1RJT05fTUFQX05WJzog
MHg4NTEyLAorICAnQ09NQklORTRfTlYnOiAweDg1MDMsCisgICdTT1VSQ0UzX1JHQl9OVic6IDB4
ODU4MywKKyAgJ1NPVVJDRTNfQUxQSEFfTlYnOiAweDg1OEIsCisgICdPUEVSQU5EM19SR0JfTlYn
OiAweDg1OTMsCisgICdPUEVSQU5EM19BTFBIQV9OVic6IDB4ODU5QiwKKyAgJ1RFWFRVUkVfVU5T
SUdORURfUkVNQVBfTU9ERV9OVic6IDB4ODg4RiwKKyAgJ1RFWFRVUkVfUkVDVEFOR0xFX05WJzog
MHg4NEY1LAorICAnVEVYVFVSRV9CSU5ESU5HX1JFQ1RBTkdMRV9OVic6IDB4ODRGNiwKKyAgJ1BS
T1hZX1RFWFRVUkVfUkVDVEFOR0xFX05WJzogMHg4NEY3LAorICAnTUFYX1JFQ1RBTkdMRV9URVhU
VVJFX1NJWkVfTlYnOiAweDg0RjgsCisgICdPRkZTRVRfVEVYVFVSRV9SRUNUQU5HTEVfTlYnOiAw
eDg2NEMsCisgICdPRkZTRVRfVEVYVFVSRV9SRUNUQU5HTEVfU0NBTEVfTlYnOiAweDg2NEQsCisg
ICdET1RfUFJPRFVDVF9URVhUVVJFX1JFQ1RBTkdMRV9OVic6IDB4ODY0RSwKKyAgJ1JHQkFfVU5T
SUdORURfRE9UX1BST0RVQ1RfTUFQUElOR19OVic6IDB4ODZEOSwKKyAgJ1VOU0lHTkVEX0lOVF9T
OF9TOF84XzhfTlYnOiAweDg2REEsCisgICdVTlNJR05FRF9JTlRfOF84X1M4X1M4X1JFVl9OVic6
IDB4ODZEQiwKKyAgJ0RTRFRfTUFHX0lOVEVOU0lUWV9OVic6IDB4ODZEQywKKyAgJ1NIQURFUl9D
T05TSVNURU5UX05WJzogMHg4NkRELAorICAnVEVYVFVSRV9TSEFERVJfTlYnOiAweDg2REUsCisg
ICdTSEFERVJfT1BFUkFUSU9OX05WJzogMHg4NkRGLAorICAnQ1VMTF9NT0RFU19OVic6IDB4ODZF
MCwKKyAgJ09GRlNFVF9URVhUVVJFXzJEX01BVFJJWF9OVic6IDB4ODZFMSwKKyAgJ09GRlNFVF9U
RVhUVVJFX01BVFJJWF9OVic6IDB4ODZFMSwKKyAgJ09GRlNFVF9URVhUVVJFXzJEX1NDQUxFX05W
JzogMHg4NkUyLAorICAnT0ZGU0VUX1RFWFRVUkVfU0NBTEVfTlYnOiAweDg2RTIsCisgICdPRkZT
RVRfVEVYVFVSRV9CSUFTX05WJzogMHg4NkUzLAorICAnT0ZGU0VUX1RFWFRVUkVfMkRfQklBU19O
Vic6IDB4ODZFMywKKyAgJ1BSRVZJT1VTX1RFWFRVUkVfSU5QVVRfTlYnOiAweDg2RTQsCisgICdD
T05TVF9FWUVfTlYnOiAweDg2RTUsCisgICdQQVNTX1RIUk9VR0hfTlYnOiAweDg2RTYsCisgICdD
VUxMX0ZSQUdNRU5UX05WJzogMHg4NkU3LAorICAnT0ZGU0VUX1RFWFRVUkVfMkRfTlYnOiAweDg2
RTgsCisgICdERVBFTkRFTlRfQVJfVEVYVFVSRV8yRF9OVic6IDB4ODZFOSwKKyAgJ0RFUEVOREVO
VF9HQl9URVhUVVJFXzJEX05WJzogMHg4NkVBLAorICAnRE9UX1BST0RVQ1RfTlYnOiAweDg2RUMs
CisgICdET1RfUFJPRFVDVF9ERVBUSF9SRVBMQUNFX05WJzogMHg4NkVELAorICAnRE9UX1BST0RV
Q1RfVEVYVFVSRV8yRF9OVic6IDB4ODZFRSwKKyAgJ0RPVF9QUk9EVUNUX1RFWFRVUkVfQ1VCRV9N
QVBfTlYnOiAweDg2RjAsCisgICdET1RfUFJPRFVDVF9ESUZGVVNFX0NVQkVfTUFQX05WJzogMHg4
NkYxLAorICAnRE9UX1BST0RVQ1RfUkVGTEVDVF9DVUJFX01BUF9OVic6IDB4ODZGMiwKKyAgJ0RP
VF9QUk9EVUNUX0NPTlNUX0VZRV9SRUZMRUNUX0NVQkVfTUFQX05WJzogMHg4NkYzLAorICAnSElM
T19OVic6IDB4ODZGNCwKKyAgJ0RTRFRfTlYnOiAweDg2RjUsCisgICdEU0RUX01BR19OVic6IDB4
ODZGNiwKKyAgJ0RTRFRfTUFHX1ZJQl9OVic6IDB4ODZGNywKKyAgJ0hJTE8xNl9OVic6IDB4ODZG
OCwKKyAgJ1NJR05FRF9ISUxPX05WJzogMHg4NkY5LAorICAnU0lHTkVEX0hJTE8xNl9OVic6IDB4
ODZGQSwKKyAgJ1NJR05FRF9SR0JBX05WJzogMHg4NkZCLAorICAnU0lHTkVEX1JHQkE4X05WJzog
MHg4NkZDLAorICAnU0lHTkVEX1JHQl9OVic6IDB4ODZGRSwKKyAgJ1NJR05FRF9SR0I4X05WJzog
MHg4NkZGLAorICAnU0lHTkVEX0xVTUlOQU5DRV9OVic6IDB4ODcwMSwKKyAgJ1NJR05FRF9MVU1J
TkFOQ0U4X05WJzogMHg4NzAyLAorICAnU0lHTkVEX0xVTUlOQU5DRV9BTFBIQV9OVic6IDB4ODcw
MywKKyAgJ1NJR05FRF9MVU1JTkFOQ0U4X0FMUEhBOF9OVic6IDB4ODcwNCwKKyAgJ1NJR05FRF9B
TFBIQV9OVic6IDB4ODcwNSwKKyAgJ1NJR05FRF9BTFBIQThfTlYnOiAweDg3MDYsCisgICdTSUdO
RURfSU5URU5TSVRZX05WJzogMHg4NzA3LAorICAnU0lHTkVEX0lOVEVOU0lUWThfTlYnOiAweDg3
MDgsCisgICdEU0RUOF9OVic6IDB4ODcwOSwKKyAgJ0RTRFQ4X01BRzhfTlYnOiAweDg3MEEsCisg
ICdEU0RUOF9NQUc4X0lOVEVOU0lUWThfTlYnOiAweDg3MEIsCisgICdTSUdORURfUkdCX1VOU0lH
TkVEX0FMUEhBX05WJzogMHg4NzBDLAorICAnU0lHTkVEX1JHQjhfVU5TSUdORURfQUxQSEE4X05W
JzogMHg4NzBELAorICAnSElfU0NBTEVfTlYnOiAweDg3MEUsCisgICdMT19TQ0FMRV9OVic6IDB4
ODcwRiwKKyAgJ0RTX1NDQUxFX05WJzogMHg4NzEwLAorICAnRFRfU0NBTEVfTlYnOiAweDg3MTEs
CisgICdNQUdOSVRVREVfU0NBTEVfTlYnOiAweDg3MTIsCisgICdWSUJSQU5DRV9TQ0FMRV9OVic6
IDB4ODcxMywKKyAgJ0hJX0JJQVNfTlYnOiAweDg3MTQsCisgICdMT19CSUFTX05WJzogMHg4NzE1
LAorICAnRFNfQklBU19OVic6IDB4ODcxNiwKKyAgJ0RUX0JJQVNfTlYnOiAweDg3MTcsCisgICdN
QUdOSVRVREVfQklBU19OVic6IDB4ODcxOCwKKyAgJ1ZJQlJBTkNFX0JJQVNfTlYnOiAweDg3MTks
CisgICdURVhUVVJFX0JPUkRFUl9WQUxVRVNfTlYnOiAweDg3MUEsCisgICdURVhUVVJFX0hJX1NJ
WkVfTlYnOiAweDg3MUIsCisgICdURVhUVVJFX0xPX1NJWkVfTlYnOiAweDg3MUMsCisgICdURVhU
VVJFX0RTX1NJWkVfTlYnOiAweDg3MUQsCisgICdURVhUVVJFX0RUX1NJWkVfTlYnOiAweDg3MUUs
CisgICdURVhUVVJFX01BR19TSVpFX05WJzogMHg4NzFGLAorICAnVU5TSUdORURfSU5UX1M4X1M4
XzhfOF9OVic6IDB4ODZEQSwKKyAgJ1VOU0lHTkVEX0lOVF84XzhfUzhfUzhfUkVWX05WJzogMHg4
NkRCLAorICAnRFNEVF9NQUdfSU5URU5TSVRZX05WJzogMHg4NkRDLAorICAnRE9UX1BST0RVQ1Rf
VEVYVFVSRV8zRF9OVic6IDB4ODZFRiwKKyAgJ0hJTE9fTlYnOiAweDg2RjQsCisgICdEU0RUX05W
JzogMHg4NkY1LAorICAnRFNEVF9NQUdfTlYnOiAweDg2RjYsCisgICdEU0RUX01BR19WSUJfTlYn
OiAweDg2RjcsCisgICdISUxPMTZfTlYnOiAweDg2RjgsCisgICdTSUdORURfSElMT19OVic6IDB4
ODZGOSwKKyAgJ1NJR05FRF9ISUxPMTZfTlYnOiAweDg2RkEsCisgICdTSUdORURfUkdCQV9OVic6
IDB4ODZGQiwKKyAgJ1NJR05FRF9SR0JBOF9OVic6IDB4ODZGQywKKyAgJ1NJR05FRF9SR0JfTlYn
OiAweDg2RkUsCisgICdTSUdORURfUkdCOF9OVic6IDB4ODZGRiwKKyAgJ1NJR05FRF9MVU1JTkFO
Q0VfTlYnOiAweDg3MDEsCisgICdTSUdORURfTFVNSU5BTkNFOF9OVic6IDB4ODcwMiwKKyAgJ1NJ
R05FRF9MVU1JTkFOQ0VfQUxQSEFfTlYnOiAweDg3MDMsCisgICdTSUdORURfTFVNSU5BTkNFOF9B
TFBIQThfTlYnOiAweDg3MDQsCisgICdTSUdORURfQUxQSEFfTlYnOiAweDg3MDUsCisgICdTSUdO
RURfQUxQSEE4X05WJzogMHg4NzA2LAorICAnU0lHTkVEX0lOVEVOU0lUWV9OVic6IDB4ODcwNywK
KyAgJ1NJR05FRF9JTlRFTlNJVFk4X05WJzogMHg4NzA4LAorICAnRFNEVDhfTlYnOiAweDg3MDks
CisgICdEU0RUOF9NQUc4X05WJzogMHg4NzBBLAorICAnRFNEVDhfTUFHOF9JTlRFTlNJVFk4X05W
JzogMHg4NzBCLAorICAnU0lHTkVEX1JHQl9VTlNJR05FRF9BTFBIQV9OVic6IDB4ODcwQywKKyAg
J1NJR05FRF9SR0I4X1VOU0lHTkVEX0FMUEhBOF9OVic6IDB4ODcwRCwKKyAgJ09GRlNFVF9QUk9K
RUNUSVZFX1RFWFRVUkVfMkRfTlYnOiAweDg4NTAsCisgICdPRkZTRVRfUFJPSkVDVElWRV9URVhU
VVJFXzJEX1NDQUxFX05WJzogMHg4ODUxLAorICAnT0ZGU0VUX1BST0pFQ1RJVkVfVEVYVFVSRV9S
RUNUQU5HTEVfTlYnOiAweDg4NTIsCisgICdPRkZTRVRfUFJPSkVDVElWRV9URVhUVVJFX1JFQ1RB
TkdMRV9TQ0FMRV9OVic6IDB4ODg1MywKKyAgJ09GRlNFVF9ISUxPX1RFWFRVUkVfMkRfTlYnOiAw
eDg4NTQsCisgICdPRkZTRVRfSElMT19URVhUVVJFX1JFQ1RBTkdMRV9OVic6IDB4ODg1NSwKKyAg
J09GRlNFVF9ISUxPX1BST0pFQ1RJVkVfVEVYVFVSRV8yRF9OVic6IDB4ODg1NiwKKyAgJ09GRlNF
VF9ISUxPX1BST0pFQ1RJVkVfVEVYVFVSRV9SRUNUQU5HTEVfTlYnOiAweDg4NTcsCisgICdERVBF
TkRFTlRfSElMT19URVhUVVJFXzJEX05WJzogMHg4ODU4LAorICAnREVQRU5ERU5UX1JHQl9URVhU
VVJFXzNEX05WJzogMHg4ODU5LAorICAnREVQRU5ERU5UX1JHQl9URVhUVVJFX0NVQkVfTUFQX05W
JzogMHg4ODVBLAorICAnRE9UX1BST0RVQ1RfUEFTU19USFJPVUdIX05WJzogMHg4ODVCLAorICAn
RE9UX1BST0RVQ1RfVEVYVFVSRV8xRF9OVic6IDB4ODg1QywKKyAgJ0RPVF9QUk9EVUNUX0FGRklO
RV9ERVBUSF9SRVBMQUNFX05WJzogMHg4ODVELAorICAnSElMTzhfTlYnOiAweDg4NUUsCisgICdT
SUdORURfSElMTzhfTlYnOiAweDg4NUYsCisgICdGT1JDRV9CTFVFX1RPX09ORV9OVic6IDB4ODg2
MCwKKyAgJ0JBQ0tfUFJJTUFSWV9DT0xPUl9OVic6IDB4OEM3NywKKyAgJ0JBQ0tfU0VDT05EQVJZ
X0NPTE9SX05WJzogMHg4Qzc4LAorICAnVEVYVFVSRV9DT09SRF9OVic6IDB4OEM3OSwKKyAgJ0NM
SVBfRElTVEFOQ0VfTlYnOiAweDhDN0EsCisgICdWRVJURVhfSURfTlYnOiAweDhDN0IsCisgICdQ
UklNSVRJVkVfSURfTlYnOiAweDhDN0MsCisgICdHRU5FUklDX0FUVFJJQl9OVic6IDB4OEM3RCwK
KyAgJ1RSQU5TRk9STV9GRUVEQkFDS19BVFRSSUJTX05WJzogMHg4QzdFLAorICAnVFJBTlNGT1JN
X0ZFRURCQUNLX0JVRkZFUl9NT0RFX05WJzogMHg4QzdGLAorICAnTUFYX1RSQU5TRk9STV9GRUVE
QkFDS19TRVBBUkFURV9DT01QT05FTlRTX05WJzogMHg4QzgwLAorICAnQUNUSVZFX1ZBUllJTkdT
X05WJzogMHg4QzgxLAorICAnQUNUSVZFX1ZBUllJTkdfTUFYX0xFTkdUSF9OVic6IDB4OEM4MiwK
KyAgJ1RSQU5TRk9STV9GRUVEQkFDS19WQVJZSU5HU19OVic6IDB4OEM4MywKKyAgJ1RSQU5TRk9S
TV9GRUVEQkFDS19CVUZGRVJfU1RBUlRfTlYnOiAweDhDODQsCisgICdUUkFOU0ZPUk1fRkVFREJB
Q0tfQlVGRkVSX1NJWkVfTlYnOiAweDhDODUsCisgICdUUkFOU0ZPUk1fRkVFREJBQ0tfUkVDT1JE
X05WJzogMHg4Qzg2LAorICAnUFJJTUlUSVZFU19HRU5FUkFURURfTlYnOiAweDhDODcsCisgICdU
UkFOU0ZPUk1fRkVFREJBQ0tfUFJJTUlUSVZFU19XUklUVEVOX05WJzogMHg4Qzg4LAorICAnUkFT
VEVSSVpFUl9ESVNDQVJEX05WJzogMHg4Qzg5LAorICAnTUFYX1RSQU5TRk9STV9GRUVEQkFDS19J
TlRFUkxFQVZFRF9DT01QT05FTlRTX05WJzogMHg4QzhBLAorICAnTUFYX1RSQU5TRk9STV9GRUVE
QkFDS19TRVBBUkFURV9BVFRSSUJTX05WJzogMHg4QzhCLAorICAnSU5URVJMRUFWRURfQVRUUklC
U19OVic6IDB4OEM4QywKKyAgJ1NFUEFSQVRFX0FUVFJJQlNfTlYnOiAweDhDOEQsCisgICdUUkFO
U0ZPUk1fRkVFREJBQ0tfQlVGRkVSX05WJzogMHg4QzhFLAorICAnVFJBTlNGT1JNX0ZFRURCQUNL
X0JVRkZFUl9CSU5ESU5HX05WJzogMHg4QzhGLAorICAnVkVSVEVYX0FSUkFZX1JBTkdFX05WJzog
MHg4NTFELAorICAnVkVSVEVYX0FSUkFZX1JBTkdFX0xFTkdUSF9OVic6IDB4ODUxRSwKKyAgJ1ZF
UlRFWF9BUlJBWV9SQU5HRV9WQUxJRF9OVic6IDB4ODUxRiwKKyAgJ01BWF9WRVJURVhfQVJSQVlf
UkFOR0VfRUxFTUVOVF9OVic6IDB4ODUyMCwKKyAgJ1ZFUlRFWF9BUlJBWV9SQU5HRV9QT0lOVEVS
X05WJzogMHg4NTIxLAorICAnVkVSVEVYX0FSUkFZX1JBTkdFX1dJVEhPVVRfRkxVU0hfTlYnOiAw
eDg1MzMsCisgICdWRVJURVhfUFJPR1JBTV9OVic6IDB4ODYyMCwKKyAgJ1ZFUlRFWF9TVEFURV9Q
Uk9HUkFNX05WJzogMHg4NjIxLAorICAnQVRUUklCX0FSUkFZX1NJWkVfTlYnOiAweDg2MjMsCisg
ICdBVFRSSUJfQVJSQVlfU1RSSURFX05WJzogMHg4NjI0LAorICAnQVRUUklCX0FSUkFZX1RZUEVf
TlYnOiAweDg2MjUsCisgICdDVVJSRU5UX0FUVFJJQl9OVic6IDB4ODYyNiwKKyAgJ1BST0dSQU1f
TEVOR1RIX05WJzogMHg4NjI3LAorICAnUFJPR1JBTV9TVFJJTkdfTlYnOiAweDg2MjgsCisgICdN
T0RFTFZJRVdfUFJPSkVDVElPTl9OVic6IDB4ODYyOSwKKyAgJ0lERU5USVRZX05WJzogMHg4NjJB
LAorICAnSU5WRVJTRV9OVic6IDB4ODYyQiwKKyAgJ1RSQU5TUE9TRV9OVic6IDB4ODYyQywKKyAg
J0lOVkVSU0VfVFJBTlNQT1NFX05WJzogMHg4NjJELAorICAnTUFYX1RSQUNLX01BVFJJWF9TVEFD
S19ERVBUSF9OVic6IDB4ODYyRSwKKyAgJ01BWF9UUkFDS19NQVRSSUNFU19OVic6IDB4ODYyRiwK
KyAgJ01BVFJJWDBfTlYnOiAweDg2MzAsCisgICdNQVRSSVgxX05WJzogMHg4NjMxLAorICAnTUFU
UklYMl9OVic6IDB4ODYzMiwKKyAgJ01BVFJJWDNfTlYnOiAweDg2MzMsCisgICdNQVRSSVg0X05W
JzogMHg4NjM0LAorICAnTUFUUklYNV9OVic6IDB4ODYzNSwKKyAgJ01BVFJJWDZfTlYnOiAweDg2
MzYsCisgICdNQVRSSVg3X05WJzogMHg4NjM3LAorICAnQ1VSUkVOVF9NQVRSSVhfU1RBQ0tfREVQ
VEhfTlYnOiAweDg2NDAsCisgICdDVVJSRU5UX01BVFJJWF9OVic6IDB4ODY0MSwKKyAgJ1ZFUlRF
WF9QUk9HUkFNX1BPSU5UX1NJWkVfTlYnOiAweDg2NDIsCisgICdWRVJURVhfUFJPR1JBTV9UV09f
U0lERV9OVic6IDB4ODY0MywKKyAgJ1BST0dSQU1fUEFSQU1FVEVSX05WJzogMHg4NjQ0LAorICAn
QVRUUklCX0FSUkFZX1BPSU5URVJfTlYnOiAweDg2NDUsCisgICdQUk9HUkFNX1RBUkdFVF9OVic6
IDB4ODY0NiwKKyAgJ1BST0dSQU1fUkVTSURFTlRfTlYnOiAweDg2NDcsCisgICdUUkFDS19NQVRS
SVhfTlYnOiAweDg2NDgsCisgICdUUkFDS19NQVRSSVhfVFJBTlNGT1JNX05WJzogMHg4NjQ5LAor
ICAnVkVSVEVYX1BST0dSQU1fQklORElOR19OVic6IDB4ODY0QSwKKyAgJ1BST0dSQU1fRVJST1Jf
UE9TSVRJT05fTlYnOiAweDg2NEIsCisgICdWRVJURVhfQVRUUklCX0FSUkFZMF9OVic6IDB4ODY1
MCwKKyAgJ1ZFUlRFWF9BVFRSSUJfQVJSQVkxX05WJzogMHg4NjUxLAorICAnVkVSVEVYX0FUVFJJ
Ql9BUlJBWTJfTlYnOiAweDg2NTIsCisgICdWRVJURVhfQVRUUklCX0FSUkFZM19OVic6IDB4ODY1
MywKKyAgJ1ZFUlRFWF9BVFRSSUJfQVJSQVk0X05WJzogMHg4NjU0LAorICAnVkVSVEVYX0FUVFJJ
Ql9BUlJBWTVfTlYnOiAweDg2NTUsCisgICdWRVJURVhfQVRUUklCX0FSUkFZNl9OVic6IDB4ODY1
NiwKKyAgJ1ZFUlRFWF9BVFRSSUJfQVJSQVk3X05WJzogMHg4NjU3LAorICAnVkVSVEVYX0FUVFJJ
Ql9BUlJBWThfTlYnOiAweDg2NTgsCisgICdWRVJURVhfQVRUUklCX0FSUkFZOV9OVic6IDB4ODY1
OSwKKyAgJ1ZFUlRFWF9BVFRSSUJfQVJSQVkxMF9OVic6IDB4ODY1QSwKKyAgJ1ZFUlRFWF9BVFRS
SUJfQVJSQVkxMV9OVic6IDB4ODY1QiwKKyAgJ1ZFUlRFWF9BVFRSSUJfQVJSQVkxMl9OVic6IDB4
ODY1QywKKyAgJ1ZFUlRFWF9BVFRSSUJfQVJSQVkxM19OVic6IDB4ODY1RCwKKyAgJ1ZFUlRFWF9B
VFRSSUJfQVJSQVkxNF9OVic6IDB4ODY1RSwKKyAgJ1ZFUlRFWF9BVFRSSUJfQVJSQVkxNV9OVic6
IDB4ODY1RiwKKyAgJ01BUDFfVkVSVEVYX0FUVFJJQjBfNF9OVic6IDB4ODY2MCwKKyAgJ01BUDFf
VkVSVEVYX0FUVFJJQjFfNF9OVic6IDB4ODY2MSwKKyAgJ01BUDFfVkVSVEVYX0FUVFJJQjJfNF9O
Vic6IDB4ODY2MiwKKyAgJ01BUDFfVkVSVEVYX0FUVFJJQjNfNF9OVic6IDB4ODY2MywKKyAgJ01B
UDFfVkVSVEVYX0FUVFJJQjRfNF9OVic6IDB4ODY2NCwKKyAgJ01BUDFfVkVSVEVYX0FUVFJJQjVf
NF9OVic6IDB4ODY2NSwKKyAgJ01BUDFfVkVSVEVYX0FUVFJJQjZfNF9OVic6IDB4ODY2NiwKKyAg
J01BUDFfVkVSVEVYX0FUVFJJQjdfNF9OVic6IDB4ODY2NywKKyAgJ01BUDFfVkVSVEVYX0FUVFJJ
QjhfNF9OVic6IDB4ODY2OCwKKyAgJ01BUDFfVkVSVEVYX0FUVFJJQjlfNF9OVic6IDB4ODY2OSwK
KyAgJ01BUDFfVkVSVEVYX0FUVFJJQjEwXzRfTlYnOiAweDg2NkEsCisgICdNQVAxX1ZFUlRFWF9B
VFRSSUIxMV80X05WJzogMHg4NjZCLAorICAnTUFQMV9WRVJURVhfQVRUUklCMTJfNF9OVic6IDB4
ODY2QywKKyAgJ01BUDFfVkVSVEVYX0FUVFJJQjEzXzRfTlYnOiAweDg2NkQsCisgICdNQVAxX1ZF
UlRFWF9BVFRSSUIxNF80X05WJzogMHg4NjZFLAorICAnTUFQMV9WRVJURVhfQVRUUklCMTVfNF9O
Vic6IDB4ODY2RiwKKyAgJ01BUDJfVkVSVEVYX0FUVFJJQjBfNF9OVic6IDB4ODY3MCwKKyAgJ01B
UDJfVkVSVEVYX0FUVFJJQjFfNF9OVic6IDB4ODY3MSwKKyAgJ01BUDJfVkVSVEVYX0FUVFJJQjJf
NF9OVic6IDB4ODY3MiwKKyAgJ01BUDJfVkVSVEVYX0FUVFJJQjNfNF9OVic6IDB4ODY3MywKKyAg
J01BUDJfVkVSVEVYX0FUVFJJQjRfNF9OVic6IDB4ODY3NCwKKyAgJ01BUDJfVkVSVEVYX0FUVFJJ
QjVfNF9OVic6IDB4ODY3NSwKKyAgJ01BUDJfVkVSVEVYX0FUVFJJQjZfNF9OVic6IDB4ODY3NiwK
KyAgJ01BUDJfVkVSVEVYX0FUVFJJQjdfNF9OVic6IDB4ODY3NywKKyAgJ01BUDJfVkVSVEVYX0FU
VFJJQjhfNF9OVic6IDB4ODY3OCwKKyAgJ01BUDJfVkVSVEVYX0FUVFJJQjlfNF9OVic6IDB4ODY3
OSwKKyAgJ01BUDJfVkVSVEVYX0FUVFJJQjEwXzRfTlYnOiAweDg2N0EsCisgICdNQVAyX1ZFUlRF
WF9BVFRSSUIxMV80X05WJzogMHg4NjdCLAorICAnTUFQMl9WRVJURVhfQVRUUklCMTJfNF9OVic6
IDB4ODY3QywKKyAgJ01BUDJfVkVSVEVYX0FUVFJJQjEzXzRfTlYnOiAweDg2N0QsCisgICdNQVAy
X1ZFUlRFWF9BVFRSSUIxNF80X05WJzogMHg4NjdFLAorICAnTUFQMl9WRVJURVhfQVRUUklCMTVf
NF9OVic6IDB4ODY3RiwKKyAgJ01BWF9QUk9HUkFNX0VYRUNfSU5TVFJVQ1RJT05TX05WJzogMHg4
OEY0LAorICAnTUFYX1BST0dSQU1fQ0FMTF9ERVBUSF9OVic6IDB4ODhGNSwKKyAgJ01BWF9WRVJU
RVhfVEVYVFVSRV9JTUFHRV9VTklUU19BUkInOiAweDhCNEMsCisgICdCWVRFJzogMHgxNDAwLAor
ICAnUEFMRVRURTRfUkdCOF9PRVMnOiAweDhCOTAsCisgICdQQUxFVFRFNF9SR0JBOF9PRVMnOiAw
eDhCOTEsCisgICdQQUxFVFRFNF9SNV9HNl9CNV9PRVMnOiAweDhCOTIsCisgICdQQUxFVFRFNF9S
R0JBNF9PRVMnOiAweDhCOTMsCisgICdQQUxFVFRFNF9SR0I1X0ExX09FUyc6IDB4OEI5NCwKKyAg
J1BBTEVUVEU4X1JHQjhfT0VTJzogMHg4Qjk1LAorICAnUEFMRVRURThfUkdCQThfT0VTJzogMHg4
Qjk2LAorICAnUEFMRVRURThfUjVfRzZfQjVfT0VTJzogMHg4Qjk3LAorICAnUEFMRVRURThfUkdC
QTRfT0VTJzogMHg4Qjk4LAorICAnUEFMRVRURThfUkdCNV9BMV9PRVMnOiAweDhCOTksCisgICdJ
TVBMRU1FTlRBVElPTl9DT0xPUl9SRUFEX1RZUEVfT0VTJzogMHg4QjlBLAorICAnSU1QTEVNRU5U
QVRJT05fQ09MT1JfUkVBRF9GT1JNQVRfT0VTJzogMHg4QjlCLAorICAnSU5URVJMQUNFX09NTCc6
IDB4ODk4MCwKKyAgJ0lOVEVSTEFDRV9SRUFEX09NTCc6IDB4ODk4MSwKKyAgJ1BBQ0tfUkVTQU1Q
TEVfT01MJzogMHg4OTg0LAorICAnVU5QQUNLX1JFU0FNUExFX09NTCc6IDB4ODk4NSwKKyAgJ1JF
U0FNUExFX1JFUExJQ0FURV9PTUwnOiAweDg5ODYsCisgICdSRVNBTVBMRV9aRVJPX0ZJTExfT01M
JzogMHg4OTg3LAorICAnUkVTQU1QTEVfQVZFUkFHRV9PTUwnOiAweDg5ODgsCisgICdSRVNBTVBM
RV9ERUNJTUFURV9PTUwnOiAweDg5ODksCisgICdGT1JNQVRfU1VCU0FNUExFXzI0XzI0X09NTCc6
IDB4ODk4MiwKKyAgJ0ZPUk1BVF9TVUJTQU1QTEVfMjQ0XzI0NF9PTUwnOiAweDg5ODMsCisgICdW
RVJURVgyM19CSVRfUEdJJzogMHgwMDAwMDAwNCwKKyAgJ1ZFUlRFWDRfQklUX1BHSSc6IDB4MDAw
MDAwMDgsCisgICdDT0xPUjNfQklUX1BHSSc6IDB4MDAwMTAwMDAsCisgICdDT0xPUjRfQklUX1BH
SSc6IDB4MDAwMjAwMDAsCisgICdFREdFRkxBR19CSVRfUEdJJzogMHgwMDA0MDAwMCwKKyAgJ0lO
REVYX0JJVF9QR0knOiAweDAwMDgwMDAwLAorICAnTUFUX0FNQklFTlRfQklUX1BHSSc6IDB4MDAx
MDAwMDAsCisgICdNQVRfQU1CSUVOVF9BTkRfRElGRlVTRV9CSVRfUEdJJzogMHgwMDIwMDAwMCwK
KyAgJ01BVF9ESUZGVVNFX0JJVF9QR0knOiAweDAwNDAwMDAwLAorICAnTUFUX0VNSVNTSU9OX0JJ
VF9QR0knOiAweDAwODAwMDAwLAorICAnTUFUX0NPTE9SX0lOREVYRVNfQklUX1BHSSc6IDB4MDEw
MDAwMDAsCisgICdNQVRfU0hJTklORVNTX0JJVF9QR0knOiAweDAyMDAwMDAwLAorICAnTUFUX1NQ
RUNVTEFSX0JJVF9QR0knOiAweDA0MDAwMDAwLAorICAnTk9STUFMX0JJVF9QR0knOiAweDA4MDAw
MDAwLAorICAnVEVYQ09PUkQxX0JJVF9QR0knOiAweDEwMDAwMDAwLAorICAnVEVYQ09PUkQyX0JJ
VF9QR0knOiAweDIwMDAwMDAwLAorICAnVEVYQ09PUkQzX0JJVF9QR0knOiAweDQwMDAwMDAwLAor
ICAnVEVYQ09PUkQ0X0JJVF9QR0knOiAweDgwMDAwMDAwLAorICAnU0NSRUVOX0NPT1JESU5BVEVT
X1JFTkQnOiAweDg0OTAsCisgICdJTlZFUlRFRF9TQ1JFRU5fV19SRU5EJzogMHg4NDkxLAorICAn
UkdCX1MzVEMnOiAweDgzQTAsCisgICdSR0I0X1MzVEMnOiAweDgzQTEsCisgICdSR0JBX1MzVEMn
OiAweDgzQTIsCisgICdSR0JBNF9TM1RDJzogMHg4M0EzLAorICAnUkdCQV9EWFQ1X1MzVEMnOiAw
eDgzQTQsCisgICdSR0JBNF9EWFQ1X1MzVEMnOiAweDgzQTUsCisgICdFWFRFTkRFRF9SQU5HRV9T
R0lTJzogMHg4NUE1LAorICAnTUlOX1JFRF9TR0lTJzogMHg4NUE2LAorICAnTUFYX1JFRF9TR0lT
JzogMHg4NUE3LAorICAnTUlOX0dSRUVOX1NHSVMnOiAweDg1QTgsCisgICdNQVhfR1JFRU5fU0dJ
Uyc6IDB4ODVBOSwKKyAgJ01JTl9CTFVFX1NHSVMnOiAweDg1QUEsCisgICdNQVhfQkxVRV9TR0lT
JzogMHg4NUFCLAorICAnTUlOX0FMUEhBX1NHSVMnOiAweDg1QUMsCisgICdNQVhfQUxQSEFfU0dJ
Uyc6IDB4ODVBRCwKKyAgJ0dFTkVSQVRFX01JUE1BUF9TR0lTJzogMHg4MTkxLAorICAnR0VORVJB
VEVfTUlQTUFQX0hJTlRfU0dJUyc6IDB4ODE5MiwKKyAgJ01VTFRJU0FNUExFX1NHSVMnOiAweDgw
OUQsCisgICdTQU1QTEVfQUxQSEFfVE9fTUFTS19TR0lTJzogMHg4MDlFLAorICAnU0FNUExFX0FM
UEhBX1RPX09ORV9TR0lTJzogMHg4MDlGLAorICAnU0FNUExFX01BU0tfU0dJUyc6IDB4ODBBMCwK
KyAgJzFQQVNTX1NHSVMnOiAweDgwQTEsCisgICcyUEFTU18wX1NHSVMnOiAweDgwQTIsCisgICcy
UEFTU18xX1NHSVMnOiAweDgwQTMsCisgICc0UEFTU18wX1NHSVMnOiAweDgwQTQsCisgICc0UEFT
U18xX1NHSVMnOiAweDgwQTUsCisgICc0UEFTU18yX1NHSVMnOiAweDgwQTYsCisgICc0UEFTU18z
X1NHSVMnOiAweDgwQTcsCisgICdTQU1QTEVfQlVGRkVSU19TR0lTJzogMHg4MEE4LAorICAnU0FN
UExFU19TR0lTJzogMHg4MEE5LAorICAnU0FNUExFX01BU0tfVkFMVUVfU0dJUyc6IDB4ODBBQSwK
KyAgJ1NBTVBMRV9NQVNLX0lOVkVSVF9TR0lTJzogMHg4MEFCLAorICAnU0FNUExFX1BBVFRFUk5f
U0dJUyc6IDB4ODBBQywKKyAgJ01VTFRJU0FNUExFX0JJVF9FWFQnOiAweDIwMDAwMDAwLAorICAn
RVlFX0RJU1RBTkNFX1RPX1BPSU5UX1NHSVMnOiAweDgxRjAsCisgICdPQkpFQ1RfRElTVEFOQ0Vf
VE9fUE9JTlRfU0dJUyc6IDB4ODFGMSwKKyAgJ0VZRV9ESVNUQU5DRV9UT19MSU5FX1NHSVMnOiAw
eDgxRjIsCisgICdPQkpFQ1RfRElTVEFOQ0VfVE9fTElORV9TR0lTJzogMHg4MUYzLAorICAnRVlF
X1BPSU5UX1NHSVMnOiAweDgxRjQsCisgICdPQkpFQ1RfUE9JTlRfU0dJUyc6IDB4ODFGNSwKKyAg
J0VZRV9MSU5FX1NHSVMnOiAweDgxRjYsCisgICdPQkpFQ1RfTElORV9TR0lTJzogMHg4MUY3LAor
ICAnQ0xBTVBfVE9fQk9SREVSX1NHSVMnOiAweDgxMkQsCisgICdDTEFNUF9UT19FREdFX1NHSVMn
OiAweDgxMkYsCisgICdURVhUVVJFX01JTl9MT0RfU0dJUyc6IDB4ODEzQSwKKyAgJ1RFWFRVUkVf
TUFYX0xPRF9TR0lTJzogMHg4MTNCLAorICAnVEVYVFVSRV9CQVNFX0xFVkVMX1NHSVMnOiAweDgx
M0MsCisgICdURVhUVVJFX01BWF9MRVZFTF9TR0lTJzogMHg4MTNELAorICAnQVNZTkNfTUFSS0VS
X1NHSVgnOiAweDgzMjksCisgICdBU1lOQ19ISVNUT0dSQU1fU0dJWCc6IDB4ODMyQywKKyAgJ01B
WF9BU1lOQ19ISVNUT0dSQU1fU0dJWCc6IDB4ODMyRCwKKyAgJ0FTWU5DX1RFWF9JTUFHRV9TR0lY
JzogMHg4MzVDLAorICAnQVNZTkNfRFJBV19QSVhFTFNfU0dJWCc6IDB4ODM1RCwKKyAgJ0FTWU5D
X1JFQURfUElYRUxTX1NHSVgnOiAweDgzNUUsCisgICdNQVhfQVNZTkNfVEVYX0lNQUdFX1NHSVgn
OiAweDgzNUYsCisgICdNQVhfQVNZTkNfRFJBV19QSVhFTFNfU0dJWCc6IDB4ODM2MCwKKyAgJ01B
WF9BU1lOQ19SRUFEX1BJWEVMU19TR0lYJzogMHg4MzYxLAorICAnQUxQSEFfTUlOX1NHSVgnOiAw
eDgzMjAsCisgICdBTFBIQV9NQVhfU0dJWCc6IDB4ODMyMSwKKyAgJ0NPTlZPTFVUSU9OX0hJTlRf
U0dJWCc6IDB4ODMxNiwKKyAgJ0RFUFRIX0NPTVBPTkVOVDE2X1NHSVgnOiAweDgxQTUsCisgICdE
RVBUSF9DT01QT05FTlQyNF9TR0lYJzogMHg4MUE2LAorICAnREVQVEhfQ09NUE9ORU5UMzJfU0dJ
WCc6IDB4ODFBNywKKyAgJ0ZPR19PRkZTRVRfU0dJWCc6IDB4ODE5OCwKKyAgJ0ZPR19PRkZTRVRf
VkFMVUVfU0dJWCc6IDB4ODE5OSwKKyAgJ0lOVEVSTEFDRV9TR0lYJzogMHg4MDk0LAorICAnUEFD
S19SRVNBTVBMRV9TR0lYJzogMHg4NDJFLAorICAnVU5QQUNLX1JFU0FNUExFX1NHSVgnOiAweDg0
MkYsCisgICdSRVNBTVBMRV9ERUNJTUFURV9TR0lYJzogMHg4NDMwLAorICAnUkVTQU1QTEVfUkVQ
TElDQVRFX1NHSVgnOiAweDg0MzMsCisgICdSRVNBTVBMRV9aRVJPX0ZJTExfU0dJWCc6IDB4ODQz
NCwKKyAgJ1RFWFRVUkVfQ09NUEFSRV9TR0lYJzogMHg4MTlBLAorICAnVEVYVFVSRV9DT01QQVJF
X09QRVJBVE9SX1NHSVgnOiAweDgxOUIsCisgICdURVhUVVJFX0xFUVVBTF9SX1NHSVgnOiAweDgx
OUMsCisgICdURVhUVVJFX0dFUVVBTF9SX1NHSVgnOiAweDgxOUQsCisgICdTSEFET1dfQU1CSUVO
VF9TR0lYJzogMHg4MEJGLAorICAnVEVYVFVSRV9NQVhfQ0xBTVBfU19TR0lYJzogMHg4MzY5LAor
ICAnVEVYVFVSRV9NQVhfQ0xBTVBfVF9TR0lYJzogMHg4MzZBLAorICAnVEVYVFVSRV9NQVhfQ0xB
TVBfUl9TR0lYJzogMHg4MzZCLAorICAnVEVYVFVSRV9NVUxUSV9CVUZGRVJfSElOVF9TR0lYJzog
MHg4MTJFLAorICAnUkdCX1NJR05FRF9TR0lYJzogMHg4NUUwLAorICAnUkdCQV9TSUdORURfU0dJ
WCc6IDB4ODVFMSwKKyAgJ0FMUEhBX1NJR05FRF9TR0lYJzogMHg4NUUyLAorICAnTFVNSU5BTkNF
X1NJR05FRF9TR0lYJzogMHg4NUUzLAorICAnSU5URU5TSVRZX1NJR05FRF9TR0lYJzogMHg4NUU0
LAorICAnTFVNSU5BTkNFX0FMUEhBX1NJR05FRF9TR0lYJzogMHg4NUU1LAorICAnUkdCMTZfU0lH
TkVEX1NHSVgnOiAweDg1RTYsCisgICdSR0JBMTZfU0lHTkVEX1NHSVgnOiAweDg1RTcsCisgICdB
TFBIQTE2X1NJR05FRF9TR0lYJzogMHg4NUU4LAorICAnTFVNSU5BTkNFMTZfU0lHTkVEX1NHSVgn
OiAweDg1RTksCisgICdJTlRFTlNJVFkxNl9TSUdORURfU0dJWCc6IDB4ODVFQSwKKyAgJ0xVTUlO
QU5DRTE2X0FMUEhBMTZfU0lHTkVEX1NHSVgnOiAweDg1RUIsCisgICdSR0JfRVhURU5ERURfUkFO
R0VfU0dJWCc6IDB4ODVFQywKKyAgJ1JHQkFfRVhURU5ERURfUkFOR0VfU0dJWCc6IDB4ODVFRCwK
KyAgJ0FMUEhBX0VYVEVOREVEX1JBTkdFX1NHSVgnOiAweDg1RUUsCisgICdMVU1JTkFOQ0VfRVhU
RU5ERURfUkFOR0VfU0dJWCc6IDB4ODVFRiwKKyAgJ0lOVEVOU0lUWV9FWFRFTkRFRF9SQU5HRV9T
R0lYJzogMHg4NUYwLAorICAnTFVNSU5BTkNFX0FMUEhBX0VYVEVOREVEX1JBTkdFX1NHSVgnOiAw
eDg1RjEsCisgICdSR0IxNl9FWFRFTkRFRF9SQU5HRV9TR0lYJzogMHg4NUYyLAorICAnUkdCQTE2
X0VYVEVOREVEX1JBTkdFX1NHSVgnOiAweDg1RjMsCisgICdBTFBIQTE2X0VYVEVOREVEX1JBTkdF
X1NHSVgnOiAweDg1RjQsCisgICdMVU1JTkFOQ0UxNl9FWFRFTkRFRF9SQU5HRV9TR0lYJzogMHg4
NUY1LAorICAnSU5URU5TSVRZMTZfRVhURU5ERURfUkFOR0VfU0dJWCc6IDB4ODVGNiwKKyAgJ0xV
TUlOQU5DRTE2X0FMUEhBMTZfRVhURU5ERURfUkFOR0VfU0dJWCc6IDB4ODVGNywKKyAgJ01JTl9M
VU1JTkFOQ0VfU0dJUyc6IDB4ODVGOCwKKyAgJ01BWF9MVU1JTkFOQ0VfU0dJUyc6IDB4ODVGOSwK
KyAgJ01JTl9JTlRFTlNJVFlfU0dJUyc6IDB4ODVGQSwKKyAgJ01BWF9JTlRFTlNJVFlfU0dJUyc6
IDB4ODVGQiwKKyAgJ1BPU1RfVEVYVFVSRV9GSUxURVJfQklBU19TR0lYJzogMHg4MTc5LAorICAn
UE9TVF9URVhUVVJFX0ZJTFRFUl9TQ0FMRV9TR0lYJzogMHg4MTdBLAorICAnUE9TVF9URVhUVVJF
X0ZJTFRFUl9CSUFTX1JBTkdFX1NHSVgnOiAweDgxN0IsCisgICdQT1NUX1RFWFRVUkVfRklMVEVS
X1NDQUxFX1JBTkdFX1NHSVgnOiAweDgxN0MsCisgICdWRVJURVhfUFJFQ0xJUF9TR0lYJzogMHg4
M0VFLAorICAnVkVSVEVYX1BSRUNMSVBfSElOVF9TR0lYJzogMHg4M0VGLAorICAnVkVSVEVYX1BS
RUNMSVBfU0dJWCc6IDB4ODNFRSwKKyAgJ1ZFUlRFWF9QUkVDTElQX0hJTlRfU0dJWCc6IDB4ODNF
RiwKKyAgJ0NPTE9SX01BVFJJWF9TR0knOiAweDgwQjEsCisgICdDT0xPUl9NQVRSSVhfU1RBQ0tf
REVQVEhfU0dJJzogMHg4MEIyLAorICAnTUFYX0NPTE9SX01BVFJJWF9TVEFDS19ERVBUSF9TR0kn
OiAweDgwQjMsCisgICdQT1NUX0NPTE9SX01BVFJJWF9SRURfU0NBTEVfU0dJJzogMHg4MEI0LAor
ICAnUE9TVF9DT0xPUl9NQVRSSVhfR1JFRU5fU0NBTEVfU0dJJzogMHg4MEI1LAorICAnUE9TVF9D
T0xPUl9NQVRSSVhfQkxVRV9TQ0FMRV9TR0knOiAweDgwQjYsCisgICdQT1NUX0NPTE9SX01BVFJJ
WF9BTFBIQV9TQ0FMRV9TR0knOiAweDgwQjcsCisgICdQT1NUX0NPTE9SX01BVFJJWF9SRURfQklB
U19TR0knOiAweDgwQjgsCisgICdQT1NUX0NPTE9SX01BVFJJWF9HUkVFTl9CSUFTX1NHSSc6IDB4
ODBCOSwKKyAgJ1BPU1RfQ09MT1JfTUFUUklYX0JMVUVfQklBU19TR0knOiAweDgwQkEsCisgICdQ
T1NUX0NPTE9SX01BVFJJWF9BTFBIQV9CSUFTX1NHSSc6IDB4ODBCQiwKKyAgJ0NPTE9SX1RBQkxF
X1NHSSc6IDB4ODBEMCwKKyAgJ1BPU1RfQ09OVk9MVVRJT05fQ09MT1JfVEFCTEVfU0dJJzogMHg4
MEQxLAorICAnUE9TVF9DT0xPUl9NQVRSSVhfQ09MT1JfVEFCTEVfU0dJJzogMHg4MEQyLAorICAn
UFJPWFlfQ09MT1JfVEFCTEVfU0dJJzogMHg4MEQzLAorICAnUFJPWFlfUE9TVF9DT05WT0xVVElP
Tl9DT0xPUl9UQUJMRV9TR0knOiAweDgwRDQsCisgICdQUk9YWV9QT1NUX0NPTE9SX01BVFJJWF9D
T0xPUl9UQUJMRV9TR0knOiAweDgwRDUsCisgICdDT0xPUl9UQUJMRV9TQ0FMRV9TR0knOiAweDgw
RDYsCisgICdDT0xPUl9UQUJMRV9CSUFTX1NHSSc6IDB4ODBENywKKyAgJ0NPTE9SX1RBQkxFX0ZP
Uk1BVF9TR0knOiAweDgwRDgsCisgICdDT0xPUl9UQUJMRV9XSURUSF9TR0knOiAweDgwRDksCisg
ICdDT0xPUl9UQUJMRV9SRURfU0laRV9TR0knOiAweDgwREEsCisgICdDT0xPUl9UQUJMRV9HUkVF
Tl9TSVpFX1NHSSc6IDB4ODBEQiwKKyAgJ0NPTE9SX1RBQkxFX0JMVUVfU0laRV9TR0knOiAweDgw
REMsCisgICdDT0xPUl9UQUJMRV9BTFBIQV9TSVpFX1NHSSc6IDB4ODBERCwKKyAgJ0NPTE9SX1RB
QkxFX0xVTUlOQU5DRV9TSVpFX1NHSSc6IDB4ODBERSwKKyAgJ0NPTE9SX1RBQkxFX0lOVEVOU0lU
WV9TSVpFX1NHSSc6IDB4ODBERiwKKyAgJ1RFWFRVUkVfQ09MT1JfVEFCTEVfU0dJJzogMHg4MEJD
LAorICAnUFJPWFlfVEVYVFVSRV9DT0xPUl9UQUJMRV9TR0knOiAweDgwQkQsCisgICdVTlBBQ0tf
Q09OU1RBTlRfREFUQV9TVU5YJzogMHg4MUQ1LAorICAnVEVYVFVSRV9DT05TVEFOVF9EQVRBX1NV
TlgnOiAweDgxRDYsCisgICdXUkFQX0JPUkRFUl9TVU4nOiAweDgxRDQsCisgICdHTE9CQUxfQUxQ
SEFfU1VOJzogMHg4MUQ5LAorICAnR0xPQkFMX0FMUEhBX0ZBQ1RPUl9TVU4nOiAweDgxREEsCisg
ICdRVUFEX01FU0hfU1VOJzogMHg4NjE0LAorICAnVFJJQU5HTEVfTUVTSF9TVU4nOiAweDg2MTUs
CisgICdTTElDRV9BQ0NVTV9TVU4nOiAweDg1Q0MsCisgICdSRVNUQVJUX1NVTic6IDB4MDEsCisg
ICdSRVBMQUNFX01JRERMRV9TVU4nOiAweDAyLAorICAnUkVQTEFDRV9PTERFU1RfU1VOJzogMHgw
MywKKyAgJ1RSSUFOR0xFX0xJU1RfU1VOJzogMHg4MUQ3LAorICAnUkVQTEFDRU1FTlRfQ09ERV9T
VU4nOiAweDgxRDgsCisgICdSRVBMQUNFTUVOVF9DT0RFX0FSUkFZX1NVTic6IDB4ODVDMCwKKyAg
J1JFUExBQ0VNRU5UX0NPREVfQVJSQVlfVFlQRV9TVU4nOiAweDg1QzEsCisgICdSRVBMQUNFTUVO
VF9DT0RFX0FSUkFZX1NUUklERV9TVU4nOiAweDg1QzIsCisgICdSRVBMQUNFTUVOVF9DT0RFX0FS
UkFZX1BPSU5URVJfU1VOJzogMHg4NUMzLAorICAnUjFVSV9WM0ZfU1VOJzogMHg4NUM0LAorICAn
UjFVSV9DNFVCX1YzRl9TVU4nOiAweDg1QzUsCisgICdSMVVJX0MzRl9WM0ZfU1VOJzogMHg4NUM2
LAorICAnUjFVSV9OM0ZfVjNGX1NVTic6IDB4ODVDNywKKyAgJ1IxVUlfQzRGX04zRl9WM0ZfU1VO
JzogMHg4NUM4LAorICAnUjFVSV9UMkZfVjNGX1NVTic6IDB4ODVDOSwKKyAgJ1IxVUlfVDJGX04z
Rl9WM0ZfU1VOJzogMHg4NUNBLAorICAnUjFVSV9UMkZfQzRGX04zRl9WM0ZfU1VOJzogMHg4NUNC
LAorICAnUEhPTkdfV0lOJzogMHg4MEVBLAorICAnUEhPTkdfSElOVF9XSU4nOiAweDgwRUIsCisg
ICdGT0dfU1BFQ1VMQVJfVEVYVFVSRV9XSU4nOiAweDgwRUMKK307CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9yZXNvdXJjZXMvanMtdGVz
dC1wb3N0LmpzIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMv
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mZDVhNDBmZTJmYjY3MzljYzFl
NDJiOGU0ZDA5ZDEyYmE3ZmU5Mjc4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2Vi
Z2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcwpA
QCAtMCwwICsxLDI2IEBACisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdy
b3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNo
YXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJl
IGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFs
cyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVk
aW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlm
eSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2Vs
bCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3
aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiog
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90
aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBh
bGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgor
KiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBP
RiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElN
SVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZF
TlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBB
TlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBB
Q1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBP
VVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0Ug
T1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKK3Nob3VsZEJlVHJ1ZSgi
c3VjY2Vzc2Z1bGx5UGFyc2VkIik7CitkZWJ1ZygnPGJyIC8+PHNwYW4gY2xhc3M9InBhc3MiPlRF
U1QgQ09NUExFVEU8L3NwYW4+Jyk7Citub3RpZnlGaW5pc2hlZFRvSGFybmVzcygpCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTEzNDFmYmFiMjVj
OGFjYjNkMDk0ZDU0NjlmNjQzMjFkNzRkYWRkZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL3Jlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcwpAQCAtMCwwICsxLDQ4OCBAQAorLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hy
b25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJl
ZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBz
b2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJN
YXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24s
IGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5
LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5k
L29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNv
bnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3Qg
dG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJp
Z2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAor
KiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxz
LgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FS
UkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQg
Tk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElO
IE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJM
RSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcg
RlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBU
SEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCisoZnVuY3Rp
b24oKSB7CisgIHZhciB0ZXN0SGFybmVzc0luaXRpYWxpemVkID0gZmFsc2U7CisKKyAgdmFyIGlu
aXROb25LaHJvbm9zRnJhbWV3b3JrID0gZnVuY3Rpb24od2FpdFVudGlsRG9uZSkgeworICAgIGlm
ICh0ZXN0SGFybmVzc0luaXRpYWxpemVkKSB7CisgICAgICByZXR1cm47CisgICAgfQorICAgIHRl
c3RIYXJuZXNzSW5pdGlhbGl6ZWQgPSB0cnVlOworCisgICAgLyogLS0gcGxhZm9ybSBzcGVjaWZp
YyBjb2RlIC0tICovCisKKyAgICAvLyBXZWJLaXQgU3BlY2lmaWMgY29kZS4gQWRkIHlvdXIgY29k
ZSBoZXJlLgorICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lciAmJiAhd2luZG93LmxheW91dFRlc3RD
b250cm9sbGVyKSB7CisgICAgICB3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIgPSB3aW5kb3cu
dGVzdFJ1bm5lcjsKKyAgICB9CisKKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVy
KSB7CisgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktp
dFdlYkdMRW5hYmxlZCIsICIxIik7CisgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNU
ZXh0KCk7CisgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7CisgICAg
fQorICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgICAvLyBUaGUgV2ViS2l0IHRlc3Rp
bmcgc3lzdGVtIGNvbXBhcmVzIGNvbnNvbGUgb3V0cHV0LgorICAgICAgLy8gQmVjYXVzZSB0aGUg
b3V0cHV0IG9mIHRoZSBXZWJHTCBUZXN0cyBpcyBHUFUgZGVwZW5kZW50CisgICAgICAvLyB3ZSB0
dXJuIG9mZiBjb25zb2xlIG1lc3NhZ2VzLgorICAgICAgd2luZG93LmNvbnNvbGUubG9nID0gZnVu
Y3Rpb24oKSB7IH07CisgICAgICB3aW5kb3cuY29uc29sZS5lcnJvciA9IGZ1bmN0aW9uKCkgeyB9
OworICAgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRXZWJHTEVycm9yc1RvQ29uc29s
ZUVuYWJsZWQoZmFsc2UpOworCisgICAgICAvLyBSQUYgZG9lc24ndCB3b3JrIGluIExheW91dFRl
c3RzLiBEaXNhYmxlIGl0IHNvIHRoZSB0ZXN0cyB3aWxsCisgICAgICAvLyB1c2Ugc2V0VGltZW91
dCBpbnN0ZWFkLgorICAgICAgd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZSA9IHVuZGVmaW5l
ZDsKKyAgICAgIHdpbmRvdy53ZWJraXRSZXF1ZXN0QW5pbWF0aW9uRnJhbWUgPSB1bmRlZmluZWQ7
CisgICAgfQorCisgICAgLyogLS0gZW5kIHBsYXRmb3JtIHNwZWNpZmljIGNvZGUgLS0qLworICB9
CisKKyAgdGhpcy5pbml0VGVzdGluZ0hhcm5lc3NXYWl0VW50aWxEb25lID0gZnVuY3Rpb24oKSB7
CisgICAgaW5pdE5vbktocm9ub3NGcmFtZXdvcmsodHJ1ZSk7CisgIH0KKworICB0aGlzLmluaXRU
ZXN0aW5nSGFybmVzcyA9IGZ1bmN0aW9uKCkgeworICAgIGluaXROb25LaHJvbm9zRnJhbWV3b3Jr
KGZhbHNlKTsKKyAgfQorfSgpKTsKKworZnVuY3Rpb24gbm9uS2hyb25vc0ZyYW1ld29ya05vdGlm
eURvbmUoKSB7CisgIC8vIFdlYktpdCBTcGVjaWZpYyBjb2RlLiBBZGQgeW91ciBjb2RlIGhlcmUu
CisgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICBsYXlvdXRUZXN0Q29u
dHJvbGxlci5ub3RpZnlEb25lKCk7CisgIH0KK30KKworZnVuY3Rpb24gcmVwb3J0VGVzdFJlc3Vs
dHNUb0hhcm5lc3Moc3VjY2VzcywgbXNnKSB7CisgIGlmICh3aW5kb3cucGFyZW50LndlYmdsVGVz
dEhhcm5lc3MpIHsKKyAgICB3aW5kb3cucGFyZW50LndlYmdsVGVzdEhhcm5lc3MucmVwb3J0UmVz
dWx0cyh3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUsIHN1Y2Nlc3MsIG1zZyk7CisgIH0KK30KKwor
ZnVuY3Rpb24gbm90aWZ5RmluaXNoZWRUb0hhcm5lc3MoKSB7CisgIGlmICh3aW5kb3cucGFyZW50
LndlYmdsVGVzdEhhcm5lc3MpIHsKKyAgICB3aW5kb3cucGFyZW50LndlYmdsVGVzdEhhcm5lc3Mu
bm90aWZ5RmluaXNoZWQod2luZG93LmxvY2F0aW9uLnBhdGhuYW1lKTsKKyAgfQorfQorCitmdW5j
dGlvbiBkZXNjcmlwdGlvbihtc2cpCit7CisgICAgaW5pdFRlc3RpbmdIYXJuZXNzKCk7CisgICAg
aWYgKG1zZyA9PT0gdW5kZWZpbmVkKSB7CisgICAgICBtc2cgPSBkb2N1bWVudC50aXRsZTsKKyAg
ICB9CisgICAgLy8gRm9yIE1TSUUgNiBjb21wYXRpYmlsaXR5CisgICAgdmFyIHNwYW4gPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIik7CisgICAgc3Bhbi5pbm5lckhUTUwgPSAnPHA+JyAr
IG1zZyArICc8L3A+PHA+T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICI8c3Bh
biBjbGFzcz0icGFzcyI+UEFTUzwvc3Bhbj4iIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiPHNwYW4g
Y2xhc3M9InBhc3MiPlRFU1QgQ09NUExFVEU8L3NwYW4+Ii48L3A+JzsKKyAgICB2YXIgZGVzY3Jp
cHRpb24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZGVzY3JpcHRpb24iKTsKKyAgICBpZiAo
ZGVzY3JpcHRpb24uZmlyc3RDaGlsZCkKKyAgICAgICAgZGVzY3JpcHRpb24ucmVwbGFjZUNoaWxk
KHNwYW4sIGRlc2NyaXB0aW9uLmZpcnN0Q2hpbGQpOworICAgIGVsc2UKKyAgICAgICAgZGVzY3Jp
cHRpb24uYXBwZW5kQ2hpbGQoc3Bhbik7Cit9CisKK2Z1bmN0aW9uIGRlYnVnKG1zZykKK3sKKyAg
ICB2YXIgc3BhbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTsKKyAgICBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29uc29sZSIpLmFwcGVuZENoaWxkKHNwYW4pOyAvLyBpbnNlcnQg
aXQgZmlyc3Qgc28gWEhUTUwga25vd3MgdGhlIG5hbWVzcGFjZQorICAgIHNwYW4uaW5uZXJIVE1M
ID0gbXNnICsgJzxiciAvPic7Cit9CisKK2Z1bmN0aW9uIGVzY2FwZUhUTUwodGV4dCkKK3sKKyAg
ICByZXR1cm4gdGV4dC5yZXBsYWNlKC8mL2csICImYW1wOyIpLnJlcGxhY2UoLzwvZywgIiZsdDsi
KTsKK30KKworZnVuY3Rpb24gdGVzdFBhc3NlZChtc2cpCit7CisgICAgcmVwb3J0VGVzdFJlc3Vs
dHNUb0hhcm5lc3ModHJ1ZSwgbXNnKTsKKyAgICBkZWJ1ZygnPHNwYW4+PHNwYW4gY2xhc3M9InBh
c3MiPlBBU1M8L3NwYW4+ICcgKyBlc2NhcGVIVE1MKG1zZykgKyAnPC9zcGFuPicpOworfQorCitm
dW5jdGlvbiB0ZXN0RmFpbGVkKG1zZykKK3sKKyAgICByZXBvcnRUZXN0UmVzdWx0c1RvSGFybmVz
cyhmYWxzZSwgbXNnKTsKKyAgICBkZWJ1ZygnPHNwYW4+PHNwYW4gY2xhc3M9ImZhaWwiPkZBSUw8
L3NwYW4+ICcgKyBlc2NhcGVIVE1MKG1zZykgKyAnPC9zcGFuPicpOworfQorCitmdW5jdGlvbiBh
cmVBcnJheXNFcXVhbChfYSwgX2IpCit7CisgICAgdHJ5IHsKKyAgICAgICAgaWYgKF9hLmxlbmd0
aCAhPT0gX2IubGVuZ3RoKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICBmb3Ig
KHZhciBpID0gMDsgaSA8IF9hLmxlbmd0aDsgaSsrKQorICAgICAgICAgICAgaWYgKF9hW2ldICE9
PSBfYltpXSkKKyAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfSBjYXRjaCAoZXgp
IHsKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKyAgICByZXR1cm4gdHJ1ZTsKK30KKwor
ZnVuY3Rpb24gaXNNaW51c1plcm8obikKK3sKKyAgICAvLyB0aGUgb25seSB3YXkgdG8gdGVsbCAw
IGZyb20gLTAgaW4gSlMgaXMgdGhlIGZhY3QgdGhhdCAxLy0wIGlzCisgICAgLy8gLUluZmluaXR5
IGluc3RlYWQgb2YgSW5maW5pdHkKKyAgICByZXR1cm4gbiA9PT0gMCAmJiAxL24gPCAwOworfQor
CitmdW5jdGlvbiBpc1Jlc3VsdENvcnJlY3QoX2FjdHVhbCwgX2V4cGVjdGVkKQoreworICAgIGlm
IChfZXhwZWN0ZWQgPT09IDApCisgICAgICAgIHJldHVybiBfYWN0dWFsID09PSBfZXhwZWN0ZWQg
JiYgKDEvX2FjdHVhbCkgPT09ICgxL19leHBlY3RlZCk7CisgICAgaWYgKF9hY3R1YWwgPT09IF9l
eHBlY3RlZCkKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgaWYgKHR5cGVvZihfZXhwZWN0ZWQp
ID09ICJudW1iZXIiICYmIGlzTmFOKF9leHBlY3RlZCkpCisgICAgICAgIHJldHVybiB0eXBlb2Yo
X2FjdHVhbCkgPT0gIm51bWJlciIgJiYgaXNOYU4oX2FjdHVhbCk7CisgICAgaWYgKE9iamVjdC5w
cm90b3R5cGUudG9TdHJpbmcuY2FsbChfZXhwZWN0ZWQpID09IE9iamVjdC5wcm90b3R5cGUudG9T
dHJpbmcuY2FsbChbXSkpCisgICAgICAgIHJldHVybiBhcmVBcnJheXNFcXVhbChfYWN0dWFsLCBf
ZXhwZWN0ZWQpOworICAgIHJldHVybiBmYWxzZTsKK30KKworZnVuY3Rpb24gc3RyaW5naWZ5KHYp
Cit7CisgICAgaWYgKHYgPT09IDAgJiYgMS92IDwgMCkKKyAgICAgICAgcmV0dXJuICItMCI7Cisg
ICAgZWxzZSByZXR1cm4gIiIgKyB2OworfQorCitmdW5jdGlvbiBldmFsQW5kTG9nKF9hKQorewor
ICBpZiAodHlwZW9mIF9hICE9ICJzdHJpbmciKQorICAgIGRlYnVnKCJXQVJOOiB0cnlBbmRMb2co
KSBleHBlY3RzIGEgc3RyaW5nIGFyZ3VtZW50Iik7CisKKyAgLy8gTG9nIGZpcnN0IGluIGNhc2Ug
dGhpbmdzIGdvIGhvcnJpYmx5IHdyb25nIG9yIHRoaXMgY2F1c2VzIGEgc3luYyBldmVudC4KKyAg
ZGVidWcoX2EpOworCisgIHZhciBfYXY7CisgIHRyeSB7CisgICAgIF9hdiA9IGV2YWwoX2EpOwor
ICB9IGNhdGNoIChlKSB7CisgICAgdGVzdEZhaWxlZChfYSArICIgdGhyZXcgZXhjZXB0aW9uICIg
KyBlKTsKKyAgfQorICByZXR1cm4gX2F2OworfQorCitmdW5jdGlvbiBzaG91bGRCZShfYSwgX2Is
IHF1aWV0KQoreworICAgIGlmICh0eXBlb2YgX2EgIT0gInN0cmluZyIgfHwgdHlwZW9mIF9iICE9
ICJzdHJpbmciKQorICAgICAgICBkZWJ1ZygiV0FSTjogc2hvdWxkQmUoKSBleHBlY3RzIHN0cmlu
ZyBhcmd1bWVudHMiKTsKKyAgICB2YXIgZXhjZXB0aW9uOworICAgIHZhciBfYXY7CisgICAgdHJ5
IHsKKyAgICAgICAgX2F2ID0gZXZhbChfYSk7CisgICAgfSBjYXRjaCAoZSkgeworICAgICAgICBl
eGNlcHRpb24gPSBlOworICAgIH0KKyAgICB2YXIgX2J2ID0gZXZhbChfYik7CisKKyAgICBpZiAo
ZXhjZXB0aW9uKQorICAgICAgICB0ZXN0RmFpbGVkKF9hICsgIiBzaG91bGQgYmUgIiArIF9idiAr
ICIuIFRocmV3IGV4Y2VwdGlvbiAiICsgZXhjZXB0aW9uKTsKKyAgICBlbHNlIGlmIChpc1Jlc3Vs
dENvcnJlY3QoX2F2LCBfYnYpKSB7CisgICAgICAgIGlmICghcXVpZXQpIHsKKyAgICAgICAgICAg
IHRlc3RQYXNzZWQoX2EgKyAiIGlzICIgKyBfYik7CisgICAgICAgIH0KKyAgICB9IGVsc2UgaWYg
KHR5cGVvZihfYXYpID09IHR5cGVvZihfYnYpKQorICAgICAgICB0ZXN0RmFpbGVkKF9hICsgIiBz
aG91bGQgYmUgIiArIF9idiArICIuIFdhcyAiICsgc3RyaW5naWZ5KF9hdikgKyAiLiIpOworICAg
IGVsc2UKKyAgICAgICAgdGVzdEZhaWxlZChfYSArICIgc2hvdWxkIGJlICIgKyBfYnYgKyAiIChv
ZiB0eXBlICIgKyB0eXBlb2YgX2J2ICsgIikuIFdhcyAiICsgX2F2ICsgIiAob2YgdHlwZSAiICsg
dHlwZW9mIF9hdiArICIpLiIpOworfQorCitmdW5jdGlvbiBzaG91bGROb3RCZShfYSwgX2IsIHF1
aWV0KQoreworICAgIGlmICh0eXBlb2YgX2EgIT0gInN0cmluZyIgfHwgdHlwZW9mIF9iICE9ICJz
dHJpbmciKQorICAgICAgICBkZWJ1ZygiV0FSTjogc2hvdWxkTm90QmUoKSBleHBlY3RzIHN0cmlu
ZyBhcmd1bWVudHMiKTsKKyAgICB2YXIgZXhjZXB0aW9uOworICAgIHZhciBfYXY7CisgICAgdHJ5
IHsKKyAgICAgICAgX2F2ID0gZXZhbChfYSk7CisgICAgfSBjYXRjaCAoZSkgeworICAgICAgICBl
eGNlcHRpb24gPSBlOworICAgIH0KKyAgICB2YXIgX2J2ID0gZXZhbChfYik7CisKKyAgICBpZiAo
ZXhjZXB0aW9uKQorICAgICAgICB0ZXN0RmFpbGVkKF9hICsgIiBzaG91bGQgbm90IGJlICIgKyBf
YnYgKyAiLiBUaHJldyBleGNlcHRpb24gIiArIGV4Y2VwdGlvbik7CisgICAgZWxzZSBpZiAoIWlz
UmVzdWx0Q29ycmVjdChfYXYsIF9idikpIHsKKyAgICAgICAgaWYgKCFxdWlldCkgeworICAgICAg
ICAgICAgdGVzdFBhc3NlZChfYSArICIgaXMgbm90ICIgKyBfYik7CisgICAgICAgIH0KKyAgICB9
IGVsc2UKKyAgICAgICAgdGVzdEZhaWxlZChfYSArICIgc2hvdWxkIG5vdCBiZSAiICsgX2J2ICsg
Ii4iKTsKK30KKworZnVuY3Rpb24gc2hvdWxkQmVUcnVlKF9hKSB7IHNob3VsZEJlKF9hLCAidHJ1
ZSIpOyB9CitmdW5jdGlvbiBzaG91bGRCZUZhbHNlKF9hKSB7IHNob3VsZEJlKF9hLCAiZmFsc2Ui
KTsgfQorZnVuY3Rpb24gc2hvdWxkQmVOYU4oX2EpIHsgc2hvdWxkQmUoX2EsICJOYU4iKTsgfQor
ZnVuY3Rpb24gc2hvdWxkQmVOdWxsKF9hKSB7IHNob3VsZEJlKF9hLCAibnVsbCIpOyB9CisKK2Z1
bmN0aW9uIHNob3VsZEJlRXF1YWxUb1N0cmluZyhhLCBiKQoreworICB2YXIgdW5ldmFsZWRTdHJp
bmcgPSAnIicgKyBiLnJlcGxhY2UoLyIvZywgIlwiIikgKyAnIic7CisgIHNob3VsZEJlKGEsIHVu
ZXZhbGVkU3RyaW5nKTsKK30KKworZnVuY3Rpb24gc2hvdWxkRXZhbHVhdGVUbyhhY3R1YWwsIGV4
cGVjdGVkKSB7CisgIC8vIEEgZ2VuZXJhbC1wdXJwb3NlIGNvbXBhcmF0b3IuICAnYWN0dWFsJyBz
aG91bGQgYmUgYSBzdHJpbmcgdG8gYmUKKyAgLy8gZXZhbHVhdGVkLCBhcyBmb3Igc2hvdWxkQmUo
KS4gJ2V4cGVjdGVkJyBtYXkgYmUgYW55IHR5cGUgYW5kIHdpbGwgYmUKKyAgLy8gdXNlZCB3aXRo
b3V0IGJlaW5nIGV2YWwnZWQuCisgIGlmIChleHBlY3RlZCA9PSBudWxsKSB7CisgICAgLy8gRG8g
dGhpcyBiZWZvcmUgdGhlIG9iamVjdCB0ZXN0LCBzaW5jZSBudWxsIGlzIG9mIHR5cGUgJ29iamVj
dCcuCisgICAgc2hvdWxkQmVOdWxsKGFjdHVhbCk7CisgIH0gZWxzZSBpZiAodHlwZW9mIGV4cGVj
dGVkID09ICJ1bmRlZmluZWQiKSB7CisgICAgc2hvdWxkQmVVbmRlZmluZWQoYWN0dWFsKTsKKyAg
fSBlbHNlIGlmICh0eXBlb2YgZXhwZWN0ZWQgPT0gImZ1bmN0aW9uIikgeworICAgIC8vIEFsbCB0
aGlzIGZ1c3MgaXMgdG8gYXZvaWQgdGhlIHN0cmluZy1hcmcgd2FybmluZyBmcm9tIHNob3VsZEJl
KCkuCisgICAgdHJ5IHsKKyAgICAgIGFjdHVhbFZhbHVlID0gZXZhbChhY3R1YWwpOworICAgIH0g
Y2F0Y2ggKGUpIHsKKyAgICAgIHRlc3RGYWlsZWQoIkV2YWx1YXRpbmcgIiArIGFjdHVhbCArICI6
IFRocmV3IGV4Y2VwdGlvbiAiICsgZSk7CisgICAgICByZXR1cm47CisgICAgfQorICAgIHNob3Vs
ZEJlKCInIiArIGFjdHVhbFZhbHVlLnRvU3RyaW5nKCkucmVwbGFjZSgvXG4vZywgIiIpICsgIici
LAorICAgICAgICAgICAgICInIiArIGV4cGVjdGVkLnRvU3RyaW5nKCkucmVwbGFjZSgvXG4vZywg
IiIpICsgIiciKTsKKyAgfSBlbHNlIGlmICh0eXBlb2YgZXhwZWN0ZWQgPT0gIm9iamVjdCIpIHsK
KyAgICBzaG91bGRCZVRydWUoYWN0dWFsICsgIiA9PSAnIiArIGV4cGVjdGVkICsgIiciKTsKKyAg
fSBlbHNlIGlmICh0eXBlb2YgZXhwZWN0ZWQgPT0gInN0cmluZyIpIHsKKyAgICBzaG91bGRCZShh
Y3R1YWwsIGV4cGVjdGVkKTsKKyAgfSBlbHNlIGlmICh0eXBlb2YgZXhwZWN0ZWQgPT0gImJvb2xl
YW4iKSB7CisgICAgc2hvdWxkQmUoInR5cGVvZiAiICsgYWN0dWFsLCAiJ2Jvb2xlYW4nIik7Cisg
ICAgaWYgKGV4cGVjdGVkKQorICAgICAgc2hvdWxkQmVUcnVlKGFjdHVhbCk7CisgICAgZWxzZQor
ICAgICAgc2hvdWxkQmVGYWxzZShhY3R1YWwpOworICB9IGVsc2UgaWYgKHR5cGVvZiBleHBlY3Rl
ZCA9PSAibnVtYmVyIikgeworICAgIHNob3VsZEJlKGFjdHVhbCwgc3RyaW5naWZ5KGV4cGVjdGVk
KSk7CisgIH0gZWxzZSB7CisgICAgZGVidWcoZXhwZWN0ZWQgKyAiIGlzIHVua25vd24gdHlwZSAi
ICsgdHlwZW9mIGV4cGVjdGVkKTsKKyAgICBzaG91bGRCZVRydWUoYWN0dWFsLCAiJyIgICtleHBl
Y3RlZC50b1N0cmluZygpICsgIiciKTsKKyAgfQorfQorCitmdW5jdGlvbiBzaG91bGRCZU5vblpl
cm8oX2EpCit7CisgIHZhciBleGNlcHRpb247CisgIHZhciBfYXY7CisgIHRyeSB7CisgICAgIF9h
diA9IGV2YWwoX2EpOworICB9IGNhdGNoIChlKSB7CisgICAgIGV4Y2VwdGlvbiA9IGU7CisgIH0K
KworICBpZiAoZXhjZXB0aW9uKQorICAgIHRlc3RGYWlsZWQoX2EgKyAiIHNob3VsZCBiZSBub24t
emVyby4gVGhyZXcgZXhjZXB0aW9uICIgKyBleGNlcHRpb24pOworICBlbHNlIGlmIChfYXYgIT0g
MCkKKyAgICB0ZXN0UGFzc2VkKF9hICsgIiBpcyBub24temVyby4iKTsKKyAgZWxzZQorICAgIHRl
c3RGYWlsZWQoX2EgKyAiIHNob3VsZCBiZSBub24temVyby4gV2FzICIgKyBfYXYpOworfQorCitm
dW5jdGlvbiBzaG91bGRCZU5vbk51bGwoX2EpCit7CisgIHZhciBleGNlcHRpb247CisgIHZhciBf
YXY7CisgIHRyeSB7CisgICAgIF9hdiA9IGV2YWwoX2EpOworICB9IGNhdGNoIChlKSB7CisgICAg
IGV4Y2VwdGlvbiA9IGU7CisgIH0KKworICBpZiAoZXhjZXB0aW9uKQorICAgIHRlc3RGYWlsZWQo
X2EgKyAiIHNob3VsZCBiZSBub24tbnVsbC4gVGhyZXcgZXhjZXB0aW9uICIgKyBleGNlcHRpb24p
OworICBlbHNlIGlmIChfYXYgIT0gbnVsbCkKKyAgICB0ZXN0UGFzc2VkKF9hICsgIiBpcyBub24t
bnVsbC4iKTsKKyAgZWxzZQorICAgIHRlc3RGYWlsZWQoX2EgKyAiIHNob3VsZCBiZSBub24tbnVs
bC4gV2FzICIgKyBfYXYpOworfQorCitmdW5jdGlvbiBzaG91bGRCZVVuZGVmaW5lZChfYSkKK3sK
KyAgdmFyIGV4Y2VwdGlvbjsKKyAgdmFyIF9hdjsKKyAgdHJ5IHsKKyAgICAgX2F2ID0gZXZhbChf
YSk7CisgIH0gY2F0Y2ggKGUpIHsKKyAgICAgZXhjZXB0aW9uID0gZTsKKyAgfQorCisgIGlmIChl
eGNlcHRpb24pCisgICAgdGVzdEZhaWxlZChfYSArICIgc2hvdWxkIGJlIHVuZGVmaW5lZC4gVGhy
ZXcgZXhjZXB0aW9uICIgKyBleGNlcHRpb24pOworICBlbHNlIGlmICh0eXBlb2YgX2F2ID09ICJ1
bmRlZmluZWQiKQorICAgIHRlc3RQYXNzZWQoX2EgKyAiIGlzIHVuZGVmaW5lZC4iKTsKKyAgZWxz
ZQorICAgIHRlc3RGYWlsZWQoX2EgKyAiIHNob3VsZCBiZSB1bmRlZmluZWQuIFdhcyAiICsgX2F2
KTsKK30KKworZnVuY3Rpb24gc2hvdWxkQmVEZWZpbmVkKF9hKQoreworICB2YXIgZXhjZXB0aW9u
OworICB2YXIgX2F2OworICB0cnkgeworICAgICBfYXYgPSBldmFsKF9hKTsKKyAgfSBjYXRjaCAo
ZSkgeworICAgICBleGNlcHRpb24gPSBlOworICB9CisKKyAgaWYgKGV4Y2VwdGlvbikKKyAgICB0
ZXN0RmFpbGVkKF9hICsgIiBzaG91bGQgYmUgZGVmaW5lZC4gVGhyZXcgZXhjZXB0aW9uICIgKyBl
eGNlcHRpb24pOworICBlbHNlIGlmIChfYXYgIT09IHVuZGVmaW5lZCkKKyAgICB0ZXN0UGFzc2Vk
KF9hICsgIiBpcyBkZWZpbmVkLiIpOworICBlbHNlCisgICAgdGVzdEZhaWxlZChfYSArICIgc2hv
dWxkIGJlIGRlZmluZWQuIFdhcyAiICsgX2F2KTsKK30KKworZnVuY3Rpb24gc2hvdWxkQmVHcmVh
dGVyVGhhbk9yRXF1YWwoX2EsIF9iKSB7CisgICAgaWYgKHR5cGVvZiBfYSAhPSAic3RyaW5nIiB8
fCB0eXBlb2YgX2IgIT0gInN0cmluZyIpCisgICAgICAgIGRlYnVnKCJXQVJOOiBzaG91bGRCZUdy
ZWF0ZXJUaGFuT3JFcXVhbCBleHBlY3RzIHN0cmluZyBhcmd1bWVudHMiKTsKKworICAgIHZhciBl
eGNlcHRpb247CisgICAgdmFyIF9hdjsKKyAgICB0cnkgeworICAgICAgICBfYXYgPSBldmFsKF9h
KTsKKyAgICB9IGNhdGNoIChlKSB7CisgICAgICAgIGV4Y2VwdGlvbiA9IGU7CisgICAgfQorICAg
IHZhciBfYnYgPSBldmFsKF9iKTsKKworICAgIGlmIChleGNlcHRpb24pCisgICAgICAgIHRlc3RG
YWlsZWQoX2EgKyAiIHNob3VsZCBiZSA+PSAiICsgX2IgKyAiLiBUaHJldyBleGNlcHRpb24gIiAr
IGV4Y2VwdGlvbik7CisgICAgZWxzZSBpZiAodHlwZW9mIF9hdiA9PSAidW5kZWZpbmVkIiB8fCBf
YXYgPCBfYnYpCisgICAgICAgIHRlc3RGYWlsZWQoX2EgKyAiIHNob3VsZCBiZSA+PSAiICsgX2Ig
KyAiLiBXYXMgIiArIF9hdiArICIgKG9mIHR5cGUgIiArIHR5cGVvZiBfYXYgKyAiKS4iKTsKKyAg
ICBlbHNlCisgICAgICAgIHRlc3RQYXNzZWQoX2EgKyAiIGlzID49ICIgKyBfYik7Cit9CisKK2Z1
bmN0aW9uIGV4cGVjdFRydWUodiwgbXNnKSB7CisgIGlmICh2KSB7CisgICAgdGVzdFBhc3NlZCht
c2cpOworICB9IGVsc2UgeworICAgIHRlc3RGYWlsZWQobXNnKTsKKyAgfQorfQorCitmdW5jdGlv
biBzaG91bGRUaHJvdyhfYSwgX2UpCit7CisgIHZhciBleGNlcHRpb247CisgIHZhciBfYXY7Cisg
IHRyeSB7CisgICAgIF9hdiA9IGV2YWwoX2EpOworICB9IGNhdGNoIChlKSB7CisgICAgIGV4Y2Vw
dGlvbiA9IGU7CisgIH0KKworICB2YXIgX2V2OworICBpZiAoX2UpCisgICAgICBfZXYgPSAgZXZh
bChfZSk7CisKKyAgaWYgKGV4Y2VwdGlvbikgeworICAgIGlmICh0eXBlb2YgX2UgPT0gInVuZGVm
aW5lZCIgfHwgZXhjZXB0aW9uID09IF9ldikKKyAgICAgIHRlc3RQYXNzZWQoX2EgKyAiIHRocmV3
IGV4Y2VwdGlvbiAiICsgZXhjZXB0aW9uICsgIi4iKTsKKyAgICBlbHNlCisgICAgICB0ZXN0RmFp
bGVkKF9hICsgIiBzaG91bGQgdGhyb3cgIiArICh0eXBlb2YgX2UgPT0gInVuZGVmaW5lZCIgPyAi
YW4gZXhjZXB0aW9uIiA6IF9ldikgKyAiLiBUaHJldyBleGNlcHRpb24gIiArIGV4Y2VwdGlvbiAr
ICIuIik7CisgIH0gZWxzZSBpZiAodHlwZW9mIF9hdiA9PSAidW5kZWZpbmVkIikKKyAgICB0ZXN0
RmFpbGVkKF9hICsgIiBzaG91bGQgdGhyb3cgIiArICh0eXBlb2YgX2UgPT0gInVuZGVmaW5lZCIg
PyAiYW4gZXhjZXB0aW9uIiA6IF9ldikgKyAiLiBXYXMgdW5kZWZpbmVkLiIpOworICBlbHNlCisg
ICAgdGVzdEZhaWxlZChfYSArICIgc2hvdWxkIHRocm93ICIgKyAodHlwZW9mIF9lID09ICJ1bmRl
ZmluZWQiID8gImFuIGV4Y2VwdGlvbiIgOiBfZXYpICsgIi4gV2FzICIgKyBfYXYgKyAiLiIpOwor
fQorCitmdW5jdGlvbiBzaG91bGRCZVR5cGUoX2EsIF90eXBlKSB7CisJdmFyIGV4Y2VwdGlvbjsK
Kwl2YXIgX2F2OworCXRyeSB7CisJCV9hdiA9IGV2YWwoX2EpOworCX0gY2F0Y2ggKGUpIHsKKwkJ
ZXhjZXB0aW9uID0gZTsKKwl9CisKKwl2YXIgX3R5cGV2ID0gZXZhbChfdHlwZSk7CisKKwlpZiAo
X2F2IGluc3RhbmNlb2YgX3R5cGV2KSB7CisJCXRlc3RQYXNzZWQoX2EgKyAiIGlzIGFuIGluc3Rh
bmNlIG9mICIgKyBfdHlwZSk7CisJfSBlbHNlIHsKKwkJdGVzdEZhaWxlZChfYSArICIgaXMgbm90
IGFuIGluc3RhbmNlIG9mICIgKyBfdHlwZSk7CisJfQorfQorCitmdW5jdGlvbiBhc3NlcnRNc2co
YXNzZXJ0aW9uLCBtc2cpIHsKKyAgICBpZiAoYXNzZXJ0aW9uKSB7CisgICAgICAgIHRlc3RQYXNz
ZWQobXNnKTsKKyAgICB9IGVsc2UgeworICAgICAgICB0ZXN0RmFpbGVkKG1zZyk7CisgICAgfQor
fQorCitmdW5jdGlvbiBnYygpIHsKKyAgICBpZiAod2luZG93LkdDQ29udHJvbGxlcikgeworICAg
ICAgICB3aW5kb3cuR0NDb250cm9sbGVyLmNvbGxlY3QoKTsKKyAgICAgICAgcmV0dXJuOworICAg
IH0KKworICAgIGlmICh3aW5kb3cub3BlcmEgJiYgd2luZG93Lm9wZXJhLmNvbGxlY3QpIHsKKyAg
ICAgICAgd2luZG93Lm9wZXJhLmNvbGxlY3QoKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwor
ICAgIHRyeSB7CisgICAgICAgIHdpbmRvdy5RdWVyeUludGVyZmFjZShDb21wb25lbnRzLmludGVy
ZmFjZXMubnNJSW50ZXJmYWNlUmVxdWVzdG9yKQorICAgICAgICAgICAgICAuZ2V0SW50ZXJmYWNl
KENvbXBvbmVudHMuaW50ZXJmYWNlcy5uc0lET01XaW5kb3dVdGlscykKKyAgICAgICAgICAgICAg
LmdhcmJhZ2VDb2xsZWN0KCk7CisgICAgICAgIHJldHVybjsKKyAgICB9IGNhdGNoKGUpIHt9CisK
KyAgICBmdW5jdGlvbiBnY1JlYyhuKSB7CisgICAgICAgIGlmIChuIDwgMSkKKyAgICAgICAgICAg
IHJldHVybiB7fTsKKyAgICAgICAgdmFyIHRlbXAgPSB7aTogImFiIiArIGkgKyAoaSAvIDEwMDAw
MCl9OworICAgICAgICB0ZW1wICs9ICJmb28iOworICAgICAgICBnY1JlYyhuLTEpOworICAgIH0K
KyAgICBmb3IgKHZhciBpID0gMDsgaSA8IDEwMDA7IGkrKykKKyAgICAgICAgZ2NSZWMoMTApOwor
fQorCitmdW5jdGlvbiBmaW5pc2hUZXN0KCkgeworICBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVl
OworICB2YXIgZXBpbG9ndWUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTsKKyAg
ZXBpbG9ndWUub25sb2FkID0gZnVuY3Rpb24oKSB7CisgICAgaWYgKHdpbmRvdy5ub25LaHJvbm9z
RnJhbWV3b3JrTm90aWZ5RG9uZSkgeworICAgICAgd2luZG93Lm5vbktocm9ub3NGcmFtZXdvcmtO
b3RpZnlEb25lKCk7CisgICAgfQorICB9OworCisgIHZhciBiYXNlUGF0aCA9ICIiOworICB2YXIg
ZXhwZWN0ZWRCYXNlID0gImpzLXRlc3QtcHJlLmpzIjsKKyAgdmFyIHNjcmlwdHMgPSBkb2N1bWVu
dC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnc2NyaXB0Jyk7CisgIGZvciAodmFyIHNjcmlwdCwgaSA9
IDA7IHNjcmlwdCA9IHNjcmlwdHNbaV07IGkrKykgeworICAgIHZhciBzcmMgPSBzY3JpcHQuc3Jj
OworICAgIHZhciBsID0gc3JjLmxlbmd0aDsKKyAgICBpZiAoc3JjLnN1YnN0cihsIC0gZXhwZWN0
ZWRCYXNlLmxlbmd0aCkgPT0gZXhwZWN0ZWRCYXNlKSB7CisgICAgICBiYXNlUGF0aCA9IHNyYy5z
dWJzdHIoMCwgbCAtIGV4cGVjdGVkQmFzZS5sZW5ndGgpOworICAgICAgYnJlYWs7CisgICAgfQor
ICB9CisgIGVwaWxvZ3VlLnNyYyA9IGJhc2VQYXRoICsgImpzLXRlc3QtcG9zdC5qcyI7CisgIGRv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZXBpbG9ndWUpOworfQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9yZXNvdXJjZXMvanMtdGVz
dC1zdHlsZS5jc3MgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxl
cy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjEyMTQ3Y2E0MzI4OTU0
NjhhYTI3NDllNGNhNDQzNmNjZWVlODVhYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxl
LmNzcwpAQCAtMCwwICsxLDEyIEBACisucGFzcyB7CisgICAgZm9udC13ZWlnaHQ6IGJvbGQ7Cisg
ICAgY29sb3I6IGdyZWVuOworfQorLmZhaWwgeworICAgIGZvbnQtd2VpZ2h0OiBib2xkOworICAg
IGNvbG9yOiByZWQ7Cit9CisjY29uc29sZSB7CisgICAgd2hpdGUtc3BhY2U6IHByZS13cmFwOwor
ICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7Cit9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93
ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9yZXNvdXJjZXMvdGVzdC1ldmFsLmpzIGIv
TGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvcmVzb3VyY2VzL3Rl
c3QtZXZhbC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yZDg2MzIzOWU5MjdlYTUyN2QxYzY5ZjhhNTIyNzJmN2E5
ZDY2YjQwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvcmVzb3VyY2VzL3Rlc3QtZXZhbC5qcwpAQCAtMCwwICsxLDMyIEBACisv
KgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQ
ZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNv
biBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVk
IGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRo
ZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxp
bWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gs
CisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1h
dGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMg
YXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1p
c3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0
YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBB
UkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVY
UFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFO
VElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhP
UlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1B
R0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1Qs
CisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVD
VElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1Mg
SU4gVEhFIE1BVEVSSUFMUy4KKyovCisvKioKKyAqIENhbGxzIGV2YWwuCisgKgorICogVGhpcyBp
cyBoZXJlIHNvIG90aGVyIG1vZHVsZXMgY2FuIHVzZSAidXNlIHN0cmljdCI6CisgKi8KK1Rlc3RF
dmFsID0gZnVuY3Rpb24oc3RyKSB7CisgIHJldHVybiBldmFsKHN0cik7Cit9OworCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL3Jlc291
cmNlcy93ZWJnbC1sb2dvLnBuZyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90
ZXN0X2ZpbGVzL3Jlc291cmNlcy93ZWJnbC1sb2dvLnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yZmJhMGY3NjBm
MTNlM2MzODlkOTVhOTdhMTY3YzJmNmUzYjgzYzA0CkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCAx
MTAyMAp6Y21jKGw8eUlVRGtjMDtZOEdMWEVGMk9DaExrUjh4MjZ1T3Q7Tz4/TGcxYS1nNGVsMCN5
OVJmYztJPztQVilzWSkKel9YMmZKbyRqaD1SYj8zcilETmZ0MDAyV3lSI05SaGhXemg8a3A5fi1L
PUE4LUFhPEExYzJ7P0Bib1ZsR3dFJW9KCnpjUVVvMGx5ZmsjdlFWPXlHNTI7RXVARDlUbjV5TEBL
V2x0aklyVD9MQmh+VWE/YCgjKWBDS2VwYWtvcClTV0NCQwp6JFBMd1pZJDJLbjhBc0xDIVFvUGRV
QkhiSCFoMWcmVVEwWkQzbnNrJkUmVnwwTy1uMVJoJTxjZ2BJSEVxbFpjJVkKel9IbEtecyVZOTtk
WnNkPyVDe3UtXyNFMUhgISkrPFo1cFo8YEklfjVkZF8hJGw1Pyk+YDFkQik/YWw0SC0xZUx3Cnpe
Q29qNk9ianZMQ1V9I04wYHp8bFVwRjJJMjc8ZzN8M1BKT2V6Mz5GTFZjVGN2USs1amx4N3kqeTRz
JElrYGlzVQp6UklfRnlQdlhfVVc0dn58ZWs5TH0tcTYjQjJtYU1JUSQqajY/JWNuMTRrUmFfJG1L
Nz9pNEEpWSRaNDx0Xk82ej8KekFFJVExb3p1NSY7I0clPkwqclJEd15QeTZfTzdiPHM+JXY4NjZZ
Pnx7KFlkb3pkaUJXYUkzZEpaSitISXMrMWBZCnpheERrfUs/cU57I0xIV008Wnt4TkZBQGwkT2M9
ezlxKF53RGNWfjhzZS0hbGV2WH1qR1Nrby1hY1JJT1pLZEJUPgp6VDV1fFZTaUV8Pkp4UHheSWFa
LXQ/ajRjNEU2Klg8KVdDeWJuZlctSGhXSjt1WFU1fjlvP2d7YEB8P1doSXxiWjUKekJDYzwmRXN4
fDMrJjRFaSlARmF9dGdpZDwzZUkmWkZFPmR2I2EjSmhecTEmPnJsRWwpVmlCPEsmWVEkSVpZTWp0
CnpHYHctZ1RWaDV8SShDcHtRb0hyJj9QK1pwRj5ZcDAqME54PjQqTkpCTXBgIUFRMDBFQWhhMjFh
Szh2X1JCeWdKQgp6TjV0T1BJbnopLV9idns7YzlwQDYwZT1tQExIYjlSUiZIXnEpYVVZbj5nPmI2
MFNRcngmWj40SHp1Xm9YcyhCYXAKejIpUTN8JVBCaX10fGpTUUZAcjJISiNpSjI0ZFE8JjtlclFB
aG8jZTImWVpLRXYjJDU2ZmRLR3QzPX5Taz45OGAwCnp6KHF2ZiFkfWR2JDA3YE54NHlveEt0NkZt
MHcwMEJLWlM+OyVNfFFLcVUlVCl0MDw5SzxqX3Q9JD92OVc/VCNWWAp6aUUyJXchPUhibTdgIWh1
ckJNTX07QkAhcldnSiopdV58Xy1BY31PRU0qYjhMME5CQkU+IW9eYzI7SzFqaFZXSU8KekJHZXAx
R2VGSz10KlJgQkU7e1A3Y2xXJjltNUR7T3c+VHdAJmY1czF7VGMrdSpSQzghcDVmZW89eW9oSlpN
eD1LCno2KT1wfHIlNzwzRTE9V3taJDA2T1dYWGBkZ359MFMyS28wWig8fEB6SS1eNjApODFCUChe
VHJhcnVUK20zNGJ6eAp6RG8laGw8Yi1VcyVoRjdKY0hGQ1RoZkhodVVfVD52NlExfkNVeFJuRldV
Xm9UKFFkJHlGZl82I0JVRVl4JktYbVgKemdnNzU5YW41IW4xdHdgYWlvd0heYH1fN0UzJVlCVVJp
bys+RzByd05zVHA4Vk99eUVVUWF8a3U4NHdoPCVgZGJ0CnpLaV8lKGc+VV5+VnJvRnIhUk91KTJC
O1Y0bHMpYFlhbWhZR1pFX1JpKHQqUkQ2ezdgUXBoY2I7bikteCZeKCVrTQp6Z1hIKzZyb0Z2ekNw
SHFfQjZWV3Ypa0pESlQ4U1FuPVZaWnIxcX44YyNPdVF2ZilCUWNOeG1AM0trMl5mJmQ2K14Kem9m
SHxpPzUjJF8/Xjk9IXMySl4zYF5JfkskKm5KO01BbmgmakU/Q2NtcksrM3toej9sJDQqJlUjQHIx
VHstTkpuCnpOYz9PV3YrdT1QK3BMbm11TDNgdStyVmltaDxNMGZBVHFFeSp0VlVZPWoyPXNXOSU1
Z01PfCFoXyFFNnUtQHl8Rgp6Y1F8dHFwJnwlc1grZDZ9Tn5fej83eXRHNHU4ZnJDVEZRdUBLMWhN
TyloPWduYE5KR1l2UX5BZFBVRkNYY24zRSgKejVAUkkteHJYOSstI3glb29HREQ0dTx1QDNFWXpT
NWVtV2BLIStOe357KTctU0NkeUpEQGhFVmtGbzhKPndxKyUxCnp1I1VyPSVrZyVDZGdrfX5sMFBu
eypvXmJGJHVUQkdGK304PSljeVZBN3Yoa1lYSWAqSXppcEomRS1AJj5NJklRZgp6OUMqMztYTHlT
LXJFdig0cU5sblNXUytpallXMTBNWno+O3BCfH5sXnBtS1JFMTxLN3BKUFN3c0clSnpUMEpUK2cK
ejYlfVAxeFNHd3Y4azYlRFg1R19QeyRwZFEheClBXm9MMU58e0JSfiF4IzVqQ3h4SX15amFKQmsy
UVoxamskVFhACnp7aEQwRHE7eWlZPDBxQjA8SWRpMlIqa2drRDY2UHEyYnJDSEBgeFN+KGM8SVZj
dldaWUNRKG5XNXdjPCgycWRTSgp6VUJzOWgpVk1YY099VU12NyU+LUFgNVBGQjAmb1lQWkhIWiRf
c289MUp6enR+IzI1Izx1bz5AXzZ9JWFvR1UleDsKemJ3SHooYlZqXipSdmlkOzdCejNkK2ViNT5T
WWxeYDJ8MmprX3dXbzd6K1ZBSGFFdDgpSSpXV1RwXjBMJF5zJVEyCno4a3lzb0QoS1Uxe1BfNWI9
VXxmO1omQ3R5blkxI1pSWHJrNW1MMVFRdnJ7SEM7SHZ1UiR0ekwjQU5XS2p1RXFjWAp6VXxjZyZs
OTI/PjVVR2F0MTBfeGNzcklUN1hOQSMmNj4pbTQqd21YaCNFdGFqelIqQExCN29jdSlvdFFWN3xn
XjMKem5Jeit3PCRiP1UpX1BtOGRFSXtPP19YVGtoMV9tNV5ZVSRZOFpxNV5wRlZKJVdfcGpwIX5L
a15mfGgkUFRLVntOCnpLfkktdy1MMWQxJmAkTHIhVUlIZUtaYktlS3NAZzlweXpfcmQ7TX49WXJ3
NH1VU2o7ZHotNTkzWmZXeWM8NCUqVwp6KzNLI0opZ31aRU9PPFdfWXhBIXY8K2ZWQk9kaHc4cWtq
ZXptQyZhPHZ5QHhiJWdGQWEpaHIoX1NMOW9LYW4laWMKeiU9WlBFO0ZtZ05hJH5tfns3blVmcGky
TTt0S18qWENDNk98Nz5sZn42OFRMM29JfXlJdCM2cFV3WD5sI0dKQz4mCnppNEFaKTR8QXNNO2Ze
NSZ1bUVZQlRlITdvNndMVT5VIUFGdEZZdmM+TmxIcEwwP2ZGZHJqNSQwVVhMZHBBSEBjRgp6V2pn
SDRvS2lPV1JnSSlFUWt0TzBzZzc9MGlLTVN2U1BJOEpgST9tRjQzXiF7MW1ReDRfWFI3UmQjP1VH
bHN+fn4Kej43U0x7V0doJmBPJX1TWFNCdX1FdTdCfD93PiRWTTRhYmVvKGczeGRjZWl6K0FQVi0m
LSNFd19JWHx6dmVBVWFkCnpSV253Mz1OOHNtMHxWYVB4Nyl2JT9AX25DbTJoQWtEYDx4ZFN5SGBT
bXVNVSheIXdmPWh4dChEUTtPNTVsLWImKgp6Uj0+TTlUZkR+cTh0dlNDZUVYUilDc1N5ejtNPmxi
QXdSRDtGKiFfeUMkaj1tQnQkSV8qJXxCM3ZJKkNWYFdWdWkKejVuLSlTeWZeSFpaKFBjMXJeIVpA
TUZZNSQkfTFAUE5oeipyZHA+QzY7PndXdjlHVU1JVkJ4e05HUXotKDV3MntzCnp4O259TiZ2eEwl
TXJrWnpyXnxnN2R5JHNROXhTZD96KzVLMFgreT1pcCo3ITRIZz9jR1dHQDc8ZHxnKkZsTEslcQp6
K3BvQCNydVpMMCpWanBBbW4obXk9a2leTWMlQ310RzdAeV9HT0RpUlhpMmgjbl9sSSMza3IoZl5i
U2NJR19jJHIKejNANG0qSjZZfnlfMXh0S3tAQVFANTxuWWFSfDdZMHNFenlEPXJPdTFLaHt9WHdO
eXpfUShJK1ZtIUQ4WXk1VlI0Cnp1MUM/e2gzakF1WEVsbj4+TT9jST84MFJLM0phNHd0Xm1Td2Ix
aCppSkdWUSRPSytWMlJZMitgN1R4VUJEcT5sQQp6ZDt6VTE9UU5PVXw2RXdJUTQtQV5ePkVeZiVW
Zm1EMkhja28tPUM9JnpPJEhaXnkyNVJVRXFkT0I9JmRVZmM2I0QKejRRS2ArPEZCdkcxYSRRMnAq
ISZfY2s1JWBPS21ZMWVaNz5VKTJNVzcwSX19OWlsNTBjY155ZjFVcFpyR0BSY0FzCnpjcD44ZGRk
OCVKdzkobns3ZDdNRUpleSVGJkcmYl9AM1N8UFA3Yj8lYzc1RGg7aVJQeiRKcTl4ODgkZkVoa2hJ
Xwp6ekI5MTxwd3VrTyphYT83azkjSy0jNmdFVihhRnN8NlRJV1JzI3l7PCRRYWFSWihgKDIzQXBW
TGBPJmdoYz1iU20KekB2PSo9cCFabnU4ekRvMjl+SXdkdnllJmc1X08xO3RpPGtgai1WcT9xYlQz
aF5lVlZhWXJaTXA5JWVoa3B9IXJtCno5QG1YdlItdWtCNGw/TiQxb1JIbj9jfVRLI2FyLTxfbXxH
ZkAxZklLZ09mc2I7JmFALSNgSnlJeHgjdD55P2V0Rgp6V3d1blVDdmNGbDlydWN2Jj5UJHw+KGs+
eEp8d2ZASWczSUxhd1prTCRqOzZfP1koa2dAPz5sVXVMNlMjeHxTTE8Kej8xdk5YWGJLQ3glNUg4
Yjkkb2NUS2NFR1RDbmoodiNtTHB4TkYociZUODZnP2RVRXt1XzdyP3s8ZkklZE51b3dLCnpkTHdz
WjQmYmlYeHc3a1NeU1NrRVhsVkYyQ0IqLVojaEdyXkhNbXNNd0oqLV9KUHdzRHh8I2peKkdReigm
MSZRYQp6YF5SMllMamJqP3YmMVk/SDRgNCZtZkFMRlN7cGsycHE1ODFsWHt+UExlY3tLKjNeSyFS
UWRWTHQmJU85bVcxNCsKemV0Y1hMPzxXfCFfX3FTVDFWKF94QUsrK1BNOHEkUUNGemlAUkRIMFM4
enI5cSohK0hkTSpXanlmd3tNfU8odTUqCnpHbVopRmtgLUslVVJ+UD1wVXdpU297UzlORGpKJS1T
NnhleF9kX1p0XyV7eXNmVD14QjlAcGp7a2ZjRmNnK05EYwp6ZV9lSj1STF87N3I8S3o5a2hiVyVS
WDE2emZ5fmpKKzQ4QnQoSEt7Qk9sI31SISh2IX1zK1VZKllNe31kP2wlKioKemRvang4cVp1RG1Z
LWB2MnJORWNnZ0MjI3M5aGZvOCRWN1ZtQXx9WE9sIyNOPHUwTFchaUJ4bj1BWiVvb1o0OzBiCnpW
PTchXnZxOTJhOE9nM2I5fmhUek5rJkI+Vkd1ITZeWlFGbTw2bUtmUGh3fSlwSjdeJXJtQlY4Xzs5
Jkp3PFlxfQp6Tj1we0ZpZHlYYWFKSUZObl9QWHhCYVJxSVQzWmpKRUtDfEUjbjdLezBGJkFkOVU1
NSVNZGY4SkV1MWtOYzFEekgKemAtIV5nd1o2WDdyOHkwbz9TXlZTPVJaYURiPGh8QSQhbiZ5OzYw
UXRaN0NPNzlOZ0hidypkaHMzbH1gTXdeYnRpCnorIXtDbUoqJHk4KUBoTlphO3dCPighJUU9S3Eq
aWBIeV9jOTV+Smg7OUhTVThIZmY/QzxIejByKFp+S2VAOV43Twp6JSpQQzVZOT1LS2Y3PCRVQiZv
LXghX0NjfmBPPF9MKmI8QHlBWXNvaz9IQm56U2QpNk5jd2xVU3pLejY8dCtCVFcKent6OHc0dSkk
cXZhVi1ZIVlTOVVeWnFlemR2SygrXmEySDgtKX1xdkpreHZWO3BXSFdYayomS2E+MWQteWV5NWRL
CnpoWHxvcUhzckdtekU8dkhCQGhUVmk8XypfdiR3fklBYVpxQm5UOHhhMWxGUEgzSHdUWFpJUVNg
digoZjApQFJKewp6dVJmTjVIeUZDeiFoQyM7PDVpYDUrY2VaNHhybTkwbD9vOFEwV0p8QGY1OVkr
ZD04O1lvUUJtfWxic04pIztnWnAKeiRJUHRvRCF6R1MxcC1pTz8+V3BpSGpfbUkzayM5TGpRK0lx
SVhzMlVaJjF7eDVZZVNYWjwjMk90YmczZzRJUE5uCnomWFAleFlxZT96WXQyQiFgRjI9cV94cDN1
OEVCU0o3cig+TEkpKEVAZVRZeWRFLXM4Q0JZYEJwWC07Z0EpbURQOwp6ailIaU8kWm1wRShQSE5s
VU0mP0gkZGlAXkpMa3VCdGNRd0Qyck87ZGI2X3lGYH4lQElSUVJELUhCQCZfcGNRckcKelByNCoj
O1hzNjVvQjhfQXdoV34kQjFGQFpDR3JeOGZjKWdZQFU3R2E/PitrKCQ0YGEkbHRqb2E2eX5TVEFk
OVp4Cnp6LU4qQkpAS1Zwa3ZJY2FYMHlPYzxzbkI2NW9UUF50aihyNGY0cSVBcXFmQD1DbCt2P1Qp
WkNzbz01fWI3bGtUSgp6Q0tQeCFsaGxIanl0TDZYSEdLZl9teFA4NUshI2o8a1NFeiYqWUtYWHk9
VnxoTUcxJSEmLU1ydmZ6NCU7VVhCRTsKeml3O0I9JVJUVig/RjljMldLMT5ianRCSUdhPVMzeSV9
JWRVfE0+TSM0VXpDfDV0PVVDI0Y2PW9qKXFxbnMoKy1qCnpkYWk4PFkxMDJ5e31JWk5rTil6T1Qh
M3k7cDlteVB2SXkpVjA8RmI2RFd6RkdQTGx9PFFjd15iZGQzWCRtV2skUwp6TEtOZU8ySHlKamdr
P3VrWkZTU1B3N1A0YGtHUFR5bGNuNkVUJGFWbVBofGtUN3d1bX09JFNaNyMmZGVeWjx2WW8KelQy
Vkc5ekNBYmZ3ZzY1U2x7eE5Jb0xaIWBIPHJGeHhaNlNsZj8yQitEPzEjV159azlkWDYoTntARVBn
MGVvKylZCno7ZVZ4Yzx7QXd2cWR5Q152JVZSNzM4cm00QkBVYDt1ZGM+R3V4V3FgTDVlakY3NV9J
V2AjOUdFMjNHSzJBbFBiTAp6aFRUUmJMaTYzKz1zenpnbSZ+NTd6K2pHbTs/QWdARyZWNkpNS2wp
ezBPMXJ+SmdpMkVfRlV1Vmh8bVJVQiVlJiEKekNndXl2Y3RBYldfSENyS21CSXBKJDRPPUJQV2Bl
czE7JjcwXmJReyE8T2IxTkpUcmR3QH5mYDkkYEdlMzFUJjVnCnpuTkQ7bT96aVRNWndpJk5vYHx9
aEEoWShTLVdFVWhVM3FmPHI7JVpVZHg+Rko8OD5LTnVEakdSZ0l+aEg1R0wocgp6NE4pVnlmTDle
blhKNzVfRHhuOW1eRXx9VD12aSlrXz02PDZGOXBAeyEhO345IW1ZYlMqYmI+WFlyK040Y0MhQSUK
emlrQXVKRVNJdXp3Q3RFYCVyczMrRyF5dShQU3QyMi1WN0QjaiM5P0xzPEY9YXpeMnV2RytkYkl6
eVl2NyFSXnZACnohZkRRNlRwTEJBMmA4Z29EQyFrXyFifSMkWCZRayYqKW90MilyJD5xdTROPDhk
bUZodT40dTVxY0pwYH5mLX5pZAp6PHJedkJmQUJ9aElfR0BUcUlTX3JFcGQxK3U/aEhhQGFVcSRw
VE1gOGVBWlM2XkwjRVRETT1LTk54YTcwQm0kPWIKenNqaTVtMik4YTVadTYlVzB5Kk14dGNhaDV3
Xzt0PCV5bSpec1FKPUxSZFB8OT52QjZNNFdmbExZKERGNSF0JmhoCno/RWBXdzAyeTIxaC1kXm14
b3thdEd0NFBfKXVZKilqdkFfZF5EYGV1bitNRihQOykhemErVFIlbW4zbG5DYk0wJAp6e19ATH15
YnUlcjNFMyReYShJNGgyNz1hWlE2Uk9iYnxidHErc2dqakFCP2NrOVQmZ14jTU56YV5hfFg7JVlf
TVUKeiMpZVZVdlgrMm5jVTdXalhKYXBzQz0hWClDcHMjaEQyZ2N5SUFRUDhifEw3PW1lSXgwPDFG
aldQQlp6JTJAVWh0CnpBVENqUCtNbzRhdzspd3MhSEtwTTRKYSkwQ1NqSDZkOFhNIWFvP3F5bGFN
N2NzRGRrPCQxRzd+RDV3OVB8QUdwewp6alJNeFZINFZAX2EyPShnZ242TXwqXnY0WTc0NG9SQ2RV
OEJPUm4ocztVIXZzeGwjKVRIZiR8O2BaN2F7Y2ZsK0sKemRLK15aOEtHaDtiKWdzbHtgWjY1Kndo
c0xMPGJ6flhjJn5HcSQ2PF9veVEqeEYlZy1yM1g5Plg5Q2IkUikyNTUqCno2NFRKYUItSC13e0t7
MWFxdnF6NHErQ0IxNzJzX3gwO3peaylPVWt3LTIxdUZxVWJWdzBTS3xAUyswLTBVP29YTAp6cWZM
R3BzPG1EcERJSW1ZKSVoaS1vJHM7aTRGYVR3cEk+QEhJOWRwSztuOSZENGVQZTZKc0tNTGwoNWpK
dGRMJkwKenZGPSlTRDxAfSU3fWgmMzlFU3ExJXhzcCZtTGQkfFVYUmBRM0dvWTQ1WEhPdkc1aEBS
X01jM0stdVRiPEttRCQ/Cnp7KGNDPDs9QnslR2N8JkdCYUEkPVhySFF9Vz5HeylNR1l1NWo2bD02
KElHbW1fWF4zQ20/KGtqWmReS1doJj5MdQp6fDdqM2h6U1EwMVZZa2Q2dW9wJSRkaG0jZ2pMRzhY
PG10SHlYXmx8QnJ8WnQrIUcmOyoqTEhsREJGTzY1VTVnTTwKemZmVSh9OWBQZnUleV98blgjRV5A
aX07LSUpUUI1YUdmJU1uRXd0TEpRTkFfQkYqbnBgP0JeKEBxZzA1ajs2IXhOCnpsMjxtXmooUTB6
MXhufng7N3l3P3h7Ukd6UT99VTFKSVchQ2ZEMmtITUZeZCtselBQWHV4QW0zPEdVZDtPTjIpLQp6
bDh7fDBeLSZuNVAySV9Remh6ZiF6fjZhYilzRVdxOENwa2lkcjh6RzNAVlEyQ1FPIUV4fmNnYl4/
dUYtVGppTEQKenElZFkjNz03R3U4SUpaYVI7LUhhXmF1TmFCcndaVUBSe3QkeXIjOGsqSXhKMTUj
aDhzNGdQJDApWDl6Y21fKShPCnojKTROaTFeWmQzK0tjJW0lNnsqTEw7ZmBNIUc2RXM4aiVuVm8t
ZmZqZ1Yydk5vSGBWQlVudiN1aWE/cXA9OyQrfQp6KEdvZigxREp1WDgjQUVJUEkpJD1JYjREU2No
RDRKTVA9VX5ocnBQOTlQU0x1U1NjNGxNU1JaMXdgVUohYlplKm0KekBfal44TnNvKyl6fDVPN247
I2Vrc31jQk5aVHJXKGprSlpCYlU0Vzg0UytrUENCRnFkN1R7VitKZnkzRFVRfT8hCno/SyF8WWRC
YisjTEcoLXcwblV1VEA5UFoqPThUPDRVWUNVPCMrUTs+YEx6al5lWGNgbkslI0MkMERxZDg0eHtT
NAp6UWJsZldQKjJsQiVUYCR3VVRwbTYpNitKKnU9Rj1eaEV4KzJyPnt6MFN1aSFTeV4xO24hWT40
RkNGIy1BYUJPKk8KemwjMEspcGN4RVc0bkwpYlpTbns5UHx5SDw+bWtzOUd8XkhJPGgwdmcjdCRt
aDVxZ14tNSkzV2lhSj9nKE8jMFVtCnpsIXRTajJganp1R0tVYW1LJE1ScUZ0e2BtLT1hOFZCPjl8
KTtCV01sUzlBZSlJQ3xsRiZwfShrWm5kcmJUMnsyQQp6SX1ZQTE0TzhWV1k+ZGR2ekk0U31lJT5M
ZGdBaDkzZl51LWs0bVM1X3sxdjh4N1RQMnFjNnokJTtTJHJUVldfTWAKenh5eVpgakBvfDFwZWR9
eF50enYpRWh2Uzl4anNXPz47NmF8TF53VzYjOXBpJCZiUDVQTipMUVA7SVJlSzM1a3ZXCnpVfEYx
SGpjd31TZitCdiZvaWtYQiZkVnImUHMmfSleMUg2I0lySG5WS3A2NCh5Yz5BfXpjU3ZCRkRoel9p
PU80agp6Q0dkNVlzajVGSEM8QDZ5WnpqNTFwJStOdjM1X1QmUW9vVn49e2ljOE5WfCM+Pk5KT2VA
UXBWX0xHSHFJZCR4bzEKeilCOyh9TilTN0M2YS1QP3FHdktmMUxTKV4jKCswIyVsRVIoUWA+KT5K
QHU4cDBEQ3FeKmN+QGJBdGw5bDVSVlJ6CnoxZGJCbnUoS3JmQElHMWt7WTM5VVBDeCh2VjVubypU
N1crKWY+ISl+OFVsVT4tQGMlfkZzT1hSXz9FbGBnXzNCPgp6RXZGMj48Iz1wNmFmOVQ9aVAtUWtk
bHdCU1E/IUJGeTVmRDN8MlNac0RwNTUrcUo/YyElKE54a0Q1ZzY7Rz8hTSgKelJhNlZxaFBEN21y
dnYrQmgmRyhLbl8wQ1VnT1ZUUHZTaXF9aSpoZ31JWn1MRSRael9XQ25qZDE0b25IQmBkJSNiCnpS
MGVWeXp6P1ZXbDtZJEVMfFZWP2YjfUxUK1pPKUdHI2h1a2lyRVRGaHtrJHE+Nz17WGpiWGpHb0dO
XkBDWktaewp6bXlBSFgyPz4yQ3l4QW97LVBfUl5kalFFOSlST1M3RztKOz1eNXJjcmBKVVlUXnha
cD8wMGBDZigkUVA+eH1CY3AKei03JjRHSFV4cmBnUWlqXi0/I3JscEh9VW9AN0hHVzg0P1BzbzZj
Q3BQPj5kXysqJiY9ajdhWGZBX2NPOWtuV3VZCnpnMlhkc3MhbDMwdXdgIWFsfUZxNnthcUwwOHdA
cyQzcCgmflM9UmRCeERWKGdfI0EkTEReX1RKU2h1S182YHhXOAp6JSN+WUg1SSNyUV5sYDZGSWJ0
QVpKYnA1RHleS3VpPEtjKXMhRFB7JCUqIS0xTShTSH4zfWpATlc/TGdeZT9uY3AKentsPWs8VmZW
JHhkWWlGZnNZZHF2R1JXZHBtfVZld0BSUDxRMGklPUk+N1A+S2NJP0dSVj9jPVE9WjdALSlVP3NQ
Cnp7UiFHczR2TzJoXzBEYDRqUSQ4OEt9YURoYTZqZHlmJE96Tm1IfnJnaHw2czJsQmZ8QCslZ2Fo
PyRjOWoqISQhQgp6JkBWPHslNj4lcnFhY1duTEVQNDQkPm9sQ082I2ZVJVU5aC16cGpaT3VsdEFJ
K0NBSTUqZ3A8KiNscGY+M15aVEMKelcxYkwpI2hYV2g5T2FYUlImUWs5KUpZVyozM0YlfERDN3Q3
PD07WlU7K0YlfkxSQ0N9MUd8Jj9QZjhWfDt9YSFHCno8I1NQOXBeNyNoXnFYdSpPKD9FXipWIV9g
X3hJeHlER1QlZmB6anRCOW1ke2N2fiZLNUxyI15KVE1TPnJAN0wqTQp6YWMyeWZjdy1qaCRvUDkk
LVRqWUsrLXRpJFJhS3s4Kil0U1VFR3BYQS1mKjNLKWYwIT8rZ3g+KG9IenBPXkFyRkEKemA8OGkx
Mj19bn1eNnd0VDFHKkdjZyNQLVdvYjh1cUZPO2p5IUgrbzdEQDtLbi05eXw/OC0kbyp7T1JNT3d5
aDx2CnpXQUoybzgjMUA+QG1ZKHo9d0hsc2MwTj9DXnkrO210ZF5lMFZGY3QwaFlAPHY3THk4Pkdy
VGZ+OWZtdyZAI0VxYQp6Py0/SiNBTSlRKHBuaEc/KkIwaWE4RjI2MW5lI0IrcDU3U0p4WG4rdDVG
bXA8aVY+XmZFPEAhMFZOX01FMjA5SksKeilHVV9IWDhXbyQ/bzFOMzxFQl9kbThralBifDlWfkdK
ZnkqNHhLMzNxVDZXcTtTdVZ4IXFTX2I1fF8paig8ezw8CnpvTFR8aV4qLWRASkhgfSRuaUx5YkdP
OTdOQyNoNz0rYmwtbEwjZE9CbVZWIU5meE5DSCtua1RmMyNgc2VaTXg0ZAp6KChgaWpSX0ExPHdI
KENncE5rWXkpKmpFVyFrd1Rha3UpelpabEd4SzBGJDh5el4qKHpVKHApVSs7am0hTHpaKWAKejZs
V1BlKjdlY1M+cXAtV2FANDtgemIkZTFhaislclRrNXAheUopfTxwLXZ9SDsmaSFVclNqSWpGNEVZ
VD1iPTJgCnpncF5vTilaSDNGKU4kRnM8YHhnLUs3PE5JNyUkdTM4MyROTntSJDMkajNCMSFWMmFh
N0Q9MmclJXF9e3V7dWNybQp6UVVfaEFDSldgRE1kb2dfKT9TOVAjPmJ6K2E+KCFZMm5+JkdYPWgm
RnM7ZWc+NT1uSWdfKFlaTXd1alhtUUw8VFoKenhvYH5HU15BV01kI3ZzZDtSRGtxJSQzPUtASmVw
SDd1TSRIMD9kVHBIa05LQ0JTIT4jaEFBPzw5PjxBK3NPIzVMCnp6JlFUezxzczIoVSF5NjloZzU9
Q3Q7eiZ4S0ZwOyV1SSNQTEZ1LXlnQSp4NkcmSkdFelh0b01oQ1pTXiY9a1hFUgp6USZ5IWx6d1Ip
N1h2NyF7MnJRUlBXVTReVHN0QkJYWXt0ZVFZZ0N4X0tUPDJOWmlzQ3FJNGVFdXsoTkR3Nih9IW0K
ej5eOFcpRUBON0VAdDFYZ2VqS2U5bURnfEl2Y0Z+RG8jcE5rbmUzcCExRGE4eVJ2b1JNdT1LcDwh
Z3oxUUlJdWQoCnpIPXRZMUt8ZlFTRD5uTjNafCNsWkVBcUYjZUQ0Vl43cGVqY19XVHlSPWI9VXQj
fGh1eTBEPSFNRCZTMz8zWF55fgp6bW9CREM4elVHQWk3JDJqKVozT3tTNCkwKnh3a3JHS0dIezhy
ZS1vclJIPXllZT9NYHxaRyRXeSNZUk9HQnd3fDcKeiZjNTdrKCNGPjx5KFUwJnk3SFR3ZUh5QWE4
dk0rNkd3e1gpaX5xbkNgNCpGJFkxRnJgNn5fNmFiZDtQKTQ+YHRzCnpvMGg7aXI/ZSlUdUJ1elEp
dW1PRmY3YWJKbTFZe3VEPSZUfExLPm94Kmxpfio/UjdyckRPWChvK1Z4b0BBWj4mfQp6R2NmUlE0
e3phNG47KHtzJSl1KHRKPGpVTClVPElFPGMkMjNgejs2blVRNWJVKn12SVghXjdOfCVOJWlNWjZa
b2cKekY2KGh4UG4hJX1pVyM8Jjx+ZFc1UC05YUorRVZ7QDR6bDVPbFRwN3VWRk0/JFlROS1PYjRV
K0JlVXRmYEwlYlo1CnprXk0xby0oSkt1WD87QjNndj5TdT9zRlgpRHdvPil4fnZTOCMjMmpPVFc3
PDZ7T0JYPUhNWUF2e1FBbE43fCRabgp6S0pEXih2cFBVK2c0REVJYnFSUFYyV2xBUz14YVdGQH55
Nn0/czlSb3dEaj8lUmlodnlpT25KPldsMENpbjxTPGgKejh0U3ZlZSRGMXk3RFhRQUBrY2J7WXYj
fS14JkFacGF+Jng3Tyk4JX44YHNqfTVQUmFIOWZAan1tKGVMYjQxYz1nCnppMjleM0I9Zk1nPXV5
Z3BgV2x9X19SKTlKWVU9REliTHZPeyVqaGFkXig+Z3VkeDdVJE1qOUlkKTwldHUoTXd9Pgp6VTt8
VllNNkFHS18+bGBWaHdTKXVlKTNnK1IkQHs/JmcpNHJFclUpKnNVZVZwI2ZyPnFkYFRJe2lwWWM2
Y3syVT8KenB4NCpaQjJ2TWdyTE1HeyVGKHU2UytieiQoZDdFa2dHT1FkemVhRV5ofkp5cSt2fUhr
YyRPPTF6OXZpbVFCWDg5CnpqZ0E1ISgwaEtteVFKYlA2NTlYaEc9VFRlX3VYZFMxQGpEPjwzKldL
aDtNd3shNnF2K1I+TXY9RU44LVY0Ukg7agp6YSZwcVN4fjVmclk9WHF9YjR6NjQoOSVXVW5zRUgo
UXdiIWxzdE9xO0c4fC1ePDdeR1Z6MlRUb2JqYlp1MW5oWmwKem5UN0BhY2RePXM2bGp8aihJKExS
ek5OI1Vje1EqNU10dzVWX21NdUdCaUNLTUNlM1hXcTJsa3FBJVM/N3pUMyllCnowemQjfWdVMCs2
cjBzMihmJm5qcEsxaHpDdyVDZDw+SiRhc05NQTQ9PXVNbVpLNiskJndYOGRnR09EPCp7NGw9OQp6
cEFhdTZZbGNKNFhUWlQ5VGFuWSlAVG9LOGhmJDxsJDRfbGVVSlZ6aT1scjJXJjRRTUtxZkhjezcz
XjtIPmxqWDcKemprb0E0dEdYK1ktJFRQVXxGTCp8b29RZ20hcUMhbGh7a1EkRTdqJCZiQWE3UEdy
cGtQbiRpT1hWXlg+eFpnfFNtCnpibDIxcjhKJDZnJVlUPkVEYVc9aih5IXUxb0ZrVGg1PVkkSlVl
Q1Z3NmdTMEghR1NZZWF1YHI+QzkqPj02SFVwagp6bUdUb2NpSHlAVk88cXp7YSZWQUVXWlU2MGBW
Tyltezk/QCY2NDtvJSEkWDEtTkV8KXpBWFp7fkkkXkQtcXZBRUcKekF2OXwpbXwqIVppS3ZMbyhC
N0pMTyRJO05vMVdVYTd4P3JgWlIlZDZvaHg5dyNfaD4jPnpXdnJsOFAwNCtlQj17Cno3Q3pATXcy
LW5pOW1hVllYYGNBNjlVPyNGU3ElPzBtfEJ3ZWI+PnB0NShubXdnYElZUEEqPVJJckF0d157c3p+
QAp6XyskayZQa2BNRU1ga2BMST0kMkN4cUlEfT8yUnMpVHFaRFVSaGpaRkY0WCViX1VgbjQlI3B8
KXdWZUY4PmxwS0sKekdyb0s/ZHBMbUR2OD0xbGdIN1A/P3pqT1k5UkFtYz4we0ZlYWFyaUVJJWBI
Qy1RSnVFWVdPNlkhSj96ZD1fXiRiCnpSV348Nk58Q353diR0cT5lbVUlcEpxST0xUSE8NzFuUmpl
JHJ8I1JATzBLKzR2SiooJWd6O0Q4OyNfVFRJM2tTWQp6ZzlVUyo0eFR9Z2V3OFp8WVVIeF9kYmNA
VU9CVCRLZGEmRyZSbUU9fDFIckhqMHo2SWlAfWR6SDlnaVYkJVlaXysKeldeMlM3Zjk3VnxaUGl2
Yit9c1NYank2QkE+anp6Q0VySmojO2FmJngrUVJhc1lVRzl0M3E7cEIkOG9YVC1remw/Cnp6cWtM
byFDRUFVamowPDVMKFdkbUxJMDRFN1MmTiR2WSpwKl57YGg7e1I0VFE9al8+K0dyZzJYVj15a2Qk
b1okRQp6eENqVElSPmx9KnIzNjJ6PCFEZCFrPiZUXmhKfiVjU1ZOOU00S0NTeFIpVFd2SiRRbUsx
XztZSVRKOFotVHZJVkwKenJwWVckMjhfUUtkci0wZ3pTV1EkJlgzQ2Y7SjhjYU1wJGImbzJoQ3pk
SDIlPlZ6YkpLa1R5QVBvM1doN1YwWXt3CnpHP3Q+dStSSSFDe0E7WTFJWGNnKSZ9dlkzSGskR2dy
dmlJWHVZZFdKVSptVmQrekcmczhOWD5wMVZzajFGaXFwbAp6WnMld3pfb3VUVElyVXVpYHVnJnBe
KEwlTUZ5aXZOTylabVQqe0xpMzFrVTJkKGRSNDtVY3g+Km1tZUg4O3B3P1UKelkyXmMqPFBzT1Eq
MmJCN3g9VGNyOHFmNj5fSWdAYHpWIU5pSjVkczRFMDIlKVJHTTBQZGhNZCotQ1ZqMWUjaEZKCnol
a0hLb1RqNThGbWZjb30wWEYxcXg4ZHg1VGxoSGc/MjlhUmV1PkZPYT5xflFCcTY9O15+PkNSVmZt
ZDMtaiYrUgp6MD4jISVtfkBSP01FY0czQzY8NFdXT3coIUBiRkJJOVgoQiFJeUA2YlNkYk1YNX1w
dEtZaC1gYHQ0PHRrT0BYeHAKejE4ZVA2ZXQhc05hM0xuMSVNNUUrZXtueld3YGx3ZmNpO3NJWVlA
c2R7WSk3NFpQQ2o2Kz1UbEhiWjxxa1Fjc0g/Cnp5fiVHNWtwU2MrPl97Q1Y7cm5APncwV0Z2and2
Ml9FQzE2ITxsKHFvb3l5SGxXQjVDKnM3Wi1vJERgcyNJcT5tYgp6LXsre3dLPCh8JT92blFGPUlM
cUQ8aXhsP1ZUI0Z4ZilzeEQqeDlkIU90bEhEND9gUXskNEA8fmwkVGMoY3pYczgKemdRbiVzQClp
V0l1WkM5dGQ2XjshMV50PGtoZCpeNDZJcGJKbyNZfng3bUhDQkExKzgoI0JUTGo0SXRHRVc1d1pV
CnpNVF9aRzB1Y2pEd0xDb1FmekVfOU44Q3hWandiWWNVK2pSWmQ3WlNoIV59XmNoR2RrI1Z0PFQh
IXZ6JlpgaFEySAp6VipZYWZTITNyJHgmeE08JGBhPncwWXZFdmE8aSV2ZnNpQSFHRnlZe0c+QE4z
UjRUUHlBWkJ6OE8xbjF8eCM+OXAKej1oTmxvUEh7X2otUUhoRUdPd3E3Nip9dWk8T3hzeyZvJDxJ
Tyg2ZEoqUSRyRndVfHk3U01venVBTjQhYypsWT8oCnpHKWhXIXRiR0xRMVBOQlZrbz9KcWd+Jmpw
TSlUe1VXcy0lK05mTStKdF54TXpGY28rZHEjdCF6X3AwJSFzOCZhRQp6KlRoVT5maGQka0JqWVR0
NnR3Typ7SzBHJlJ9cU05ejheRiNkdG9+UTZHOUVwbURmNX1KKWNaJDI5e0NGY0dLdGsKejhpbjFQ
PDh1dyRMI3ZWOSs8UyRgbnVKamwpS2pJR21xRTApXnFJTyFicyszRC1iSEVFVW1VWDBzUlZIe3Uq
JEhqCnpJMUZBc0p1UkZ4OUZnRSlONlpOSVdJcF4lVyF2N2p3RX4kdzxmWH1tc2tNbyZsWS0oZHRa
aEdKVDNadChORWchWQp6VmBHVFomfHxBQnZkSWJ7a0U+WGZrNEBtXyQoYEAqT2B4ZlFSbSVjNjRu
K1NYSSRCUEpDRCh6P24hS2ZLPGs5TCoKemZxSm1VMFd2RUEpMlk0cmx6QldkUXYzQ2tOakB+NlRg
fXFgRUEqWVlZRXpla3VTNFdMRTsrWmAqTD02UV5GLX13Cnp3ckxGdD9OPn12JUxeWHxsdjE0b1VP
JWpeWWhWMVJMRyEyOGVTOGFYUmcweiQwZjYlSmU4RjRvWlpTV3slV1VoMwp6S3QqTTA0RF55OEA/
QCFyUk56JV9IaT9mQ1IjeG00N3R0YmlAUVQ2YntfdH19YyhvdX5ZVlp7SGVQbTF0RiQlTGgKejN5
VVA9dytwbWkhYDR7bSk0d29IMWBZYjYkXnxzVT9BZHEqNGJNYlRxJnkxRTxZNTBla3h5ZmY2VWpU
TCFBYF94CnpITTFEeUg4UUAlXj48b0VeTFkjcTZzaEdVcmglcHR7JSpecldXNVlsV31MZ1UwQWY0
XmYyNHB0JmtqPXlINlRDVQp6Y2ZuKVFpKWR+JmtBJEtGUnRFWEhvPm09cVFuWjw3anVOJURZKSEp
UXc2Sj5uSntKdjtrJFVrUTA1ZzB4ekViMHQKelI4MkIrbypNcikqMkNDOCpHKmlnRS1CYkZ1cDZ4
TVUofTFzJGFydTFqNTdKcVMpUC0xX1hPTkpyVCNgKyNfJChJCnpMTFhKdHs+MEs9QT1SUEF1R1dF
ZEh7R0Z+eTM+bkZFV3g/VVZVIWE0R3xMRGVGZ3BuengkWmowXjZ4bSp7eCEpKQp6PkdjV3RKekZo
I1hQQUZPaDwyfW1PUmVqQlFhdUdBJV5MJCgjTDB2KlloMFo8eGctSWw0d2BhPCEzdF4rNmZqejMK
eitkR3pLI1FteWtRdXNYfitkbW5xejlyM3VNfHQzRDxaYmU2QCo0c0UtPlhYZS07fGpWUXBDOFht
JFlXRF51PXBwCnpebjFQRCF2YWhXekh7eEZDcmE7UWR3a0BlZ0FpKGY+WU5uK01VLTF0eT4hJk48
JUFhTmU7dD4/OXJybXw5byl6Zwp6QiRIMmJRaSlBRW03Tk1Cd3JtOCNIVChveykjQjRZPkpSfWNQ
SVphNm8qXnVuYiZgKztFSn1IUHIwQ3FCT1pyWUwKekB2YkEzTz9FOHMxUnxuSDhmQSZJQT5xQ3N2
NSRnZSlFeUptaVk8e3t4bipUfU9rRCY1TkZOfnVzQSEweGRNSTtwCnp6M3lRMVolNmFSRkRRUS0y
ZWthcHpCJjlKazJ1ZVlmTH4/OE8lIU09bVJgaVJfZDhAS3U0Z1RnczhSbyVVKm5vNQp6RzV0P25e
WDB7LTd0WXJmTFhqKzJhJDg8MzUxfH03PEViUmA5IyVqPypufkREczRmRj1GI3E5ek1eRkB2aWdV
VyQKempYWGtWOFYoZDZrUmctUk5ndXwqX31ZX2Q8SnU7YkxWUzZYRS1Wci08ZykqbkpWfVolPjBp
dWJRdHwzUCo7VG5pCnokMUNXQDghK2g3KVI8cUhwa1BjUU99IXxnbHswWHMxNVlZTjl9T1BxeUJK
MV9JQlJFSGJNaHwlQH55MFolLSN+Swp6Tn0pWHFUZ0tRTjdZMCtiPVBKdjZCU09qLTk4cVIlQUIz
KlcqbkBieEh9PkFBYXBhSDxLZ3gmeUMhOHMqekk2a0QKYTAzJSpzPzRLUjtjS184fDBkaTh4bEdQ
SCVBXiF1dGVgTmp1CgpsaXRlcmFsIDAKSGNtVj9kMDAwMDEKCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9yZXNvdXJjZXMvd2ViZ2wtdGVz
dC1oYXJuZXNzLmpzIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmls
ZXMvcmVzb3VyY2VzL3dlYmdsLXRlc3QtaGFybmVzcy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zODVmNTNhYzI3
Zjc1MTkxNzlmZDc3MmVkNjliYTNiOGY3N2JlYzdmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvcmVzb3VyY2VzL3dlYmdsLXRl
c3QtaGFybmVzcy5qcwpAQCAtMCwwICsxLDU4MyBAQAorLyoKKyoqIENvcHlyaWdodCAoYykgMjAx
MiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3Jh
bnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkg
b2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0
aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVz
dHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8g
dXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGlj
ZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVy
bWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28s
IHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJv
dmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBp
bmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUg
TWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJ
VEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xV
RElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJ
TElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVO
VC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJT
IEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0Us
IEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVS
SUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLwor
CisvLyBUaGlzIGlzIGEgdGVzdCBoYXJuZXNzIGZvciBydW5uaW5nIGphdmFzY3JpcHQgdGVzdHMg
aW4gdGhlIGJyb3dzZXIuCisvLyBUaGUgb25seSBpZGVudGlmaWVyIGV4cG9zZWQgYnkgdGhpcyBo
YXJuZXNzIGlzIFdlYkdMVGVzdEhhcm5lc3NNb2R1bGUuCisvLworLy8gVG8gdXNlIGl0IG1ha2Ug
YW4gSFRNTCBwYWdlIHdpdGggYW4gaWZyYW1lLiBUaGVuIGNhbGwgdGhlIGhhcm5lc3MgbGlrZSB0
aGlzCisvLworLy8gICAgZnVuY3Rpb24gcmVwb3J0UmVzdWx0cyh0eXBlLCBtc2csIHN1Y2Nlc3Mp
IHsKKy8vICAgICAgLi4uCisvLyAgICAgIHJldHVybiB0cnVlOworLy8gICAgfQorLy8KKy8vICAg
IHZhciBmaWxlTGlzdFVSTCA9ICcwMF90ZXN0X2xpc3QudHh0JzsKKy8vICAgIHZhciB0ZXN0SGFy
bmVzcyA9IG5ldyBXZWJHTFRlc3RIYXJuZXNzTW9kdWxlLlRlc3RIYXJuZXNzKAorLy8gICAgICAg
IGlmcmFtZSwKKy8vICAgICAgICBmaWxlTGlzdFVSTCwKKy8vICAgICAgICByZXBvcnRSZXN1bHRz
LAorLy8gICAgICAgIG9wdGlvbnMpOworLy8KKy8vIFRoZSBoYXJuZXNzIHdpbGwgbG9hZCB0aGUg
ZmlsZUxpc3RVUkwgYW5kIHBhcnNlIGl0IGZvciB0aGUgVVJMcywgb25lIFVSTAorLy8gcGVyIGxp
bmUgcHJlY2VkZWQgYnkgb3B0aW9ucywgc2VlIGJlbG93LiBVUkxzIHNob3VsZCBiZSBvbiB0aGUg
c2FtZSBkb21haW4KKy8vIGFuZCBhdCB0aGUgIHNhbWUgZm9sZGVyIGxldmVsIG9yIGJlbG93IHRo
ZSBtYWluIGh0bWwgZmlsZS4gIElmIGFueSBVUkwgZW5kcworLy8gaW4gLnR4dCBpdCB3aWxsIGJl
IHBhcnNlZCBhcyB3ZWxsIHNvIHlvdSBjYW4gbmVzdCAudHh0IGZpbGVzLiBVUkxzIGluc2lkZSBh
CisvLyAudHh0IGZpbGUgc2hvdWxkIGJlIHJlbGF0aXZlIHRvIHRoYXQgdGV4dCBmaWxlLgorLy8K
Ky8vIER1cmluZyBzdGFydHVwLCBmb3IgZWFjaCBwYWdlIGZvdW5kIHRoZSByZXBvcnRGdW5jdGlv
biB3aWxsIGJlIGNhbGxlZCB3aXRoCisvLyBXZWJHTFRlc3RIYXJuZXNzTW9kdWxlLlRlc3RIYXJu
ZXNzLnJlcG9ydFR5cGUuQUREX1BBR0UgYW5kIG1zZyB3aWxsIGJlCisvLyB0aGUgVVJMIG9mIHRo
ZSB0ZXN0LgorLy8KKy8vIEVhY2ggdGVzdCBpcyByZXF1aXJlZCB0byBjYWxsIHRlc3RIYXJuZXNz
LnJlcG9ydFJlc3VsdHMuIFRoaXMgaXMgbW9zdCBlYXNpbHkKKy8vIGFjY29tcGxpc2hlZCBieSBz
dG9yaW5nIHRoYXQgdmFsdWUgb24gdGhlIG1haW4gd2luZG93IHdpdGgKKy8vCisvLyAgICAgd2lu
ZG93LndlYmdsVGVzdEhhcm5lc3MgPSB0ZXN0SGFybmVzcworLy8KKy8vIGFuZCB0aGVuIGFkZGlu
ZyB0aGVzZSB0byBmdW5jdGlvbnMgdG8geW91ciB0ZXN0cy4KKy8vCisvLyAgICAgZnVuY3Rpb24g
cmVwb3J0VGVzdFJlc3VsdHNUb0hhcm5lc3Moc3VjY2VzcywgbXNnKSB7CisvLyAgICAgICBpZiAo
d2luZG93LnBhcmVudC53ZWJnbFRlc3RIYXJuZXNzKSB7CisvLyAgICAgICAgIHdpbmRvdy5wYXJl
bnQud2ViZ2xUZXN0SGFybmVzcy5yZXBvcnRSZXN1bHRzKHN1Y2Nlc3MsIG1zZyk7CisvLyAgICAg
ICB9CisvLyAgICAgfQorLy8KKy8vICAgICBmdW5jdGlvbiBub3RpZnlGaW5pc2hlZFRvSGFybmVz
cygpIHsKKy8vICAgICAgIGlmICh3aW5kb3cucGFyZW50LndlYmdsVGVzdEhhcm5lc3MpIHsKKy8v
ICAgICAgICAgd2luZG93LnBhcmVudC53ZWJnbFRlc3RIYXJuZXNzLm5vdGlmeUZpbmlzaGVkKCk7
CisvLyAgICAgICB9CisvLyAgICAgfQorLy8KKy8vIFRoaXMgd2F5IHlvdXIgdGVzdHMgd2lsbCBz
dGlsbCBydW4gd2l0aG91dCB0aGUgaGFybmVzcyBhbmQgeW91IGNhbiB1c2UKKy8vIGFueSB0ZXN0
aW5nIGZyYW1ld29yayB5b3Ugd2FudC4KKy8vCisvLyBFYWNoIHRlc3Qgc2hvdWxkIGNhbGwgcmVw
b3J0VGVzdFJlc3VsdHNUb0hhcm5lc3Mgd2l0aCB0cnVlIGZvciBzdWNjZXNzIGlmIGl0CisvLyBz
dWNjZWVkZWQgYW5kIGZhbHNlIGlmIGl0IGZhaWwgZm9sbG93ZWQgYW5kIGFueSBtZXNzYWdlIGl0
IHdhbnRzIHRvCisvLyBhc3NvY2lhdGUgd2l0aCB0aGUgdGVzdC4gSWYgeW91ciB0ZXN0aW5nIGZy
YW1ld29yayBzdXBwb3J0cyBjaGVja2luZyBmb3IKKy8vIHRpbWVvdXQgeW91IGNhbiBjYWxsIGl0
IHdpdGggc3VjY2VzcyBlcXVhbCB0byB1bmRlZmluZWQgaW4gdGhhdCBjYXNlLgorLy8KKy8vIFRv
IHJ1biB0aGUgdGVzdHMsIGNhbGwgdGVzdEhhcm5lc3MucnVuVGVzdHMob3B0aW9ucyk7CisvLwor
Ly8gRm9yIGVhY2ggdGVzdCBydW4sIGJlZm9yZSB0aGUgcGFnZSBpcyBsb2FkZWQgdGhlIHJlcG9y
dEZ1bmN0aW9uIHdpbGwgYmUKKy8vIGNhbGxlZCB3aXRoIFdlYkdMVGVzdEhhcm5lc3NNb2R1bGUu
VGVzdEhhcm5lc3MucmVwb3J0VHlwZS5TVEFSVF9QQUdFIGFuZCBtc2cKKy8vIHdpbGwgYmUgdGhl
IFVSTCBvZiB0aGUgdGVzdC4gWW91IG1heSByZXR1cm4gZmFsc2UgaWYgeW91IHdhbnQgdGhlIHRl
c3QgdG8gYmUKKy8vIHNraXBwZWQuCisvLworLy8gRm9yIGVhY2ggdGVzdCBjb21wbGV0ZWQgdGhl
IHJlcG9ydEZ1bmN0aW9uIHdpbGwgYmUgY2FsbGVkIHdpdGgKKy8vIHdpdGggV2ViR0xUZXN0SGFy
bmVzc01vZHVsZS5UZXN0SGFybmVzcy5yZXBvcnRUeXBlLlRFU1RfUkVTVUxULAorLy8gc3VjY2Vz
cyA9IHRydWUgb24gc3VjY2VzcywgZmFsc2Ugb24gZmFpbHVyZSwgdW5kZWZpbmVkIG9uIHRpbWVv
dXQKKy8vIGFuZCBtc2cgaXMgYW55IG1lc3NhZ2UgdGhlIHRlc3QgY2hvb3NlIHRvIHBhc3Mgb24u
CisvLworLy8gV2hlbiBhbGwgdGhlIHRlc3RzIG9uIHRoZSBwYWdlIGhhdmUgZmluaXNoZWQgeW91
ciBwYWdlIG11c3QgY2FsbAorLy8gbm90aWZ5RmluaXNoZWRUb0hhcm5lc3MuICBJZiBub3RpZnlG
aW5pc2hlZFRvSGFybmVzcyBpcyBub3QgY2FsbGVkCisvLyB0aGUgaGFybmVzcyB3aWxsIGFzc3Vt
ZSB0aGUgdGVzdCB0aW1lZCBvdXQuCisvLworLy8gV2hlbiBhbGwgdGhlIHRlc3RzIG9uIGEgcGFn
ZSBoYXZlIGZpbmlzaGVkIE9SIHRoZSBwYWdlIGFzIHRpbWVkIG91dCB0aGUKKy8vIHJlcG9ydEZ1
bmN0aW9uIHdpbGwgYmUgY2FsbGVkIHdpdGgKKy8vIFdlYkdMVGVzdEhhcm5lc3NNb2R1bGUuVGVz
dEhhcm5lc3MucmVwb3J0VHlwZS5GSU5JU0hfUEFHRQorLy8gd2hlcmUgc3VjY2VzcyA9IHRydWUg
aWYgdGhlIHBhZ2UgaGFzIGNvbXBsZXRlZCBvciB1bmRlZmluZWQgaWYgdGhlIHBhZ2UgdGltZWQK
Ky8vIG91dC4KKy8vCisvLyBGaW5hbGx5LCB3aGVuIGFsbCB0aGUgdGVzdHMgaGF2ZSBjb21wbGV0
ZWQgdGhlIHJlcG9ydEZ1bmN0aW9uIHdpbGwgYmUgY2FsbGVkCisvLyB3aXRoIFdlYkdMVGVzdEhh
cm5lc3NNb2R1bGUuVGVzdEhhcm5lc3MucmVwb3J0VHlwZS5GSU5JU0hFRF9BTExfVEVTVFMuCisv
LworLy8gSGFybmVzcyBPcHRpb25zCisvLworLy8gVGhlc2UgYXJlIHBhc3NlZCBpbiB0byB0aGUg
VGVzdEhhcm5lc3MgYXMgYSBKYXZhU2NyaXB0IG9iamVjdAorLy8KKy8vIHZlcnNpb246IChyZXF1
aXJlZCEpCisvLworLy8gICAgIFNwZWNpZmllcyBhIHZlcnNpb24gdXNlZCB0byBmaWx0ZXIgdGVz
dHMuIFRlc3RzIG1hcmtlZCBhcyByZXF1aXJpbmcKKy8vICAgICBhIHZlcnNpb24gZ3JlYXRlciB0
aGFuIHRoaXMgdmVyc2lvbiB3aWxsIG5vdCBiZSBpbmNsdWRlZC4KKy8vCisvLyAgICAgZXhhbXBs
ZTogbmV3IFRlc3RIYXJuZXNzKC4uLi4sIHt2ZXJzaW9uOiAiMy4xLjIifSk7CisvLworLy8gbWlu
VmVyc2lvbjoKKy8vCisvLyAgICAgU3BlY2lmaWVzIHRoZSBtaW5pbXVtIHZlcnNpb24gYSB0ZXN0
IG11c3QgcmVxdWlyZSB0byBiZSBpbmNsdWRlZC4KKy8vICAgICBUaGlzIGJhc2ljYWxseSBmbGlw
cyB0aGUgZmlsdGVyIHNvIHRoYXQgb25seSB0ZXN0cyBtYXJrZWQgd2l0aAorLy8gICAgIC0tbWlu
LXZlcnNpb24gd2lsbCBiZSBpbmNsdWRlZCBpZiB0aGV5IGFyZSBhdCB0aGlzIG1pblZlcnNpb24g
b3IKKy8vICAgICBncmVhdGVyLgorLy8KKy8vICAgICBleGFtcGxlOiBuZXcgVGVzdEhhcm5lc3Mo
Li4uLiwge21pblZlcnNpb246ICIyLjMuMSJ9KTsKKy8vCisvLyBmYXN0OgorLy8KKy8vICAgICBT
cGVjaWZpZXMgdG8gc2tpcCBhbnkgdGVzdHMgbWFya2VkIGFzIHNsb3cuCisvLworLy8gICAgIGV4
YW1wbGU6IG5ldyBUZXN0SGFybmVzcyguLi4sIHtmYXN0OiB0cnVlfSk7CisvLworLy8gVGVzdCBP
cHRpb25zOgorLy8KKy8vIEFueSB0ZXN0IFVSTCBvciAudHh0IGZpbGUgY2FuIGJlIHByZWZpeGVk
IGJ5IHRoZSBmb2xsb3dpbmcgb3B0aW9ucworLy8KKy8vIG1pbi12ZXJzaW9uOgorLy8KKy8vICAg
ICBTZXRzIHRoZSBtaW5pbXVtIHZlcnNpb24gcmVxdWlyZXMgdG8gaW5jbHVkZSB0aGlzIHRlc3Qu
IEEgdmVyc2lvbiBpcworLy8gICAgIHBhc3NlZCBpbnRvIHRoZSBoYXJuZXNzIG9wdGlvbnMuIEFu
eSB0ZXN0IG1hcmtlZCBhcyByZXF1aXJpbmcgYQorLy8gICAgIG1pbi12ZXJzaW9uIGdyZWF0ZXIg
dGhhbiB0aGUgdmVyc2lvbiBwYXNzZWQgdG8gdGhlIGhhcm5lc3MgaXMgc2tpcHBlZC4KKy8vICAg
ICBUaGlzIGFsbG93cyB5b3UgdG8gYWRkIG5ldyB0ZXN0cyB0byBhIHN1aXRlIG9mIHRlc3RzIGZv
ciBhIGZ1dHVyZQorLy8gICAgIHZlcnNpb24gb2YgdGhlIHN1aXRlIHdpdGhvdXQgaW5jbHVkaW5n
IHRoZSB0ZXN0IGluIHRoZSBjdXJyZW50IHZlcnNpb24uCisvLyAgICAgSWYgbm8gLW1pbi12ZXJz
aW9uIGlzIHNwZWNpZmllZCBpdCBpcyBpbmhlcmlpdGVkIGZyb20gdGhlIC50eHQgZmlsZQorLy8g
ICAgIGluY2x1ZGluZyBpdC4gVGhlIGRlZmF1bHQgaXMgMS4wLjAKKy8vCisvLyAgICAgZXhhbXBs
ZTogIC0tbWluLXZlcnNpb24gMi4xLjMgc29tZXRlc3QuaHRtbAorLy8KKy8vIHNsb3c6CisvLwor
Ly8gICAgIE1hcmtzIGEgdGVzdCBhcyBzbG93LiBTbG93IHRlc3RzIGNhbiBiZSBza2lwcGVkIGJ5
IHBhc3NpbmcgZmFzdE9ubHk6IHRydWUKKy8vICAgICB0byB0aGUgVGVzdEhhcm5lc3MuIE9mIGNv
dXJzZSB5b3UgbmVlZCB0byBwYXNzIGFsbCB0ZXN0cyBidXQgc29tZXRpbWVzCisvLyAgICAgeW91
J2QgbGlrZSB0byB0ZXN0IHF1aWNrbHkgYW5kIHJ1biBvbmx5IHRoZSBmYXN0IHN1YnNldCBvZiB0
ZXN0cy4KKy8vCisvLyAgICAgZXhhbXBsZTogIC0tc2xvdyBzb21lLXRlc3QtdGhhdC10YWtlcy0y
LW1pbnMuaHRtbAorLy8KKworV2ViR0xUZXN0SGFybmVzc01vZHVsZSA9IGZ1bmN0aW9uKCkgewor
CisvKioKKyAqIFdyYXBwZWQgbG9nZ2luZyBmdW5jdGlvbi4KKyAqLwordmFyIGxvZyA9IGZ1bmN0
aW9uKG1zZykgeworICBpZiAod2luZG93LmNvbnNvbGUgJiYgd2luZG93LmNvbnNvbGUubG9nKSB7
CisgICAgd2luZG93LmNvbnNvbGUubG9nKG1zZyk7CisgIH0KK307CisKKy8qKgorICogTG9hZHMg
dGV4dCBmcm9tIGFuIGV4dGVybmFsIGZpbGUuIFRoaXMgZnVuY3Rpb24gaXMgc3luY2hyb25vdXMu
CisgKiBAcGFyYW0ge3N0cmluZ30gdXJsIFRoZSB1cmwgb2YgdGhlIGV4dGVybmFsIGZpbGUuCisg
KiBAcGFyYW0geyFmdW5jdGlvbihib29sLCBzdHJpbmcpOiB2b2lkfSBjYWxsYmFjayB0aGF0IGlz
IHNlbnQgYSBib29sIGZvcgorICogICAgIHN1Y2Nlc3MgYW5kIHRoZSBzdHJpbmcuCisgKi8KK3Zh
ciBsb2FkVGV4dEZpbGVBc3luY2hyb25vdXMgPSBmdW5jdGlvbih1cmwsIGNhbGxiYWNrKSB7Cisg
IGxvZyAoImxvYWRpbmc6ICIgKyB1cmwpOworICB2YXIgZXJyb3IgPSAnbG9hZFRleHRGaWxlU3lu
Y2hyb25vdXMgZmFpbGVkIHRvIGxvYWQgdXJsICInICsgdXJsICsgJyInOworICB2YXIgcmVxdWVz
dDsKKyAgaWYgKHdpbmRvdy5YTUxIdHRwUmVxdWVzdCkgeworICAgIHJlcXVlc3QgPSBuZXcgWE1M
SHR0cFJlcXVlc3QoKTsKKyAgICBpZiAocmVxdWVzdC5vdmVycmlkZU1pbWVUeXBlKSB7CisgICAg
ICByZXF1ZXN0Lm92ZXJyaWRlTWltZVR5cGUoJ3RleHQvcGxhaW4nKTsKKyAgICB9CisgIH0gZWxz
ZSB7CisgICAgdGhyb3cgJ1hNTEh0dHBSZXF1ZXN0IGlzIGRpc2FibGVkJzsKKyAgfQorICB0cnkg
eworICAgIHJlcXVlc3Qub3BlbignR0VUJywgdXJsLCB0cnVlKTsKKyAgICByZXF1ZXN0Lm9ucmVh
ZHlzdGF0ZWNoYW5nZSA9IGZ1bmN0aW9uKCkgeworICAgICAgaWYgKHJlcXVlc3QucmVhZHlTdGF0
ZSA9PSA0KSB7CisgICAgICAgIHZhciB0ZXh0ID0gJyc7CisgICAgICAgIC8vIEhUVFAgcmVwb3J0
cyBzdWNjZXNzIHdpdGggYSAyMDAgc3RhdHVzLiBUaGUgZmlsZSBwcm90b2NvbCByZXBvcnRzCisg
ICAgICAgIC8vIHN1Y2Nlc3Mgd2l0aCB6ZXJvLiBIVFRQIGRvZXMgbm90IHVzZSB6ZXJvIGFzIGEg
c3RhdHVzIGNvZGUgKHRoZXkKKyAgICAgICAgLy8gc3RhcnQgYXQgMTAwKS4KKyAgICAgICAgLy8g
aHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvRW4vVXNpbmdfWE1MSHR0cFJlcXVlc3QKKyAg
ICAgICAgdmFyIHN1Y2Nlc3MgPSByZXF1ZXN0LnN0YXR1cyA9PSAyMDAgfHwgcmVxdWVzdC5zdGF0
dXMgPT0gMDsKKyAgICAgICAgaWYgKHN1Y2Nlc3MpIHsKKyAgICAgICAgICB0ZXh0ID0gcmVxdWVz
dC5yZXNwb25zZVRleHQ7CisgICAgICAgIH0KKyAgICAgICAgbG9nKCJsb2FkZWQ6ICIgKyB1cmwp
OworICAgICAgICBjYWxsYmFjayhzdWNjZXNzLCB0ZXh0KTsKKyAgICAgIH0KKyAgICB9OworICAg
IHJlcXVlc3Quc2VuZChudWxsKTsKKyAgfSBjYXRjaCAoZSkgeworICAgIGxvZygiZmFpbGVkIHRv
IGxvYWQ6ICIgKyB1cmwpOworICAgIGNhbGxiYWNrKGZhbHNlLCAnJyk7CisgIH0KK307CisKKy8q
KgorICogQ29tcGFyZSB2ZXJzaW9uIHN0cmluZ3MuCisgKi8KK3ZhciBncmVhdGVyVGhhbk9yRXF1
YWxUb1ZlcnNpb24gPSBmdW5jdGlvbihoYXZlLCB3YW50KSB7CisgIGhhdmUgPSBoYXZlLnNwbGl0
KCIgIilbMF0uc3BsaXQoIi4iKTsKKyAgd2FudCA9IHdhbnQuc3BsaXQoIiAiKVswXS5zcGxpdCgi
LiIpOworCisgIC8vaGF2ZSAxLjIuMyAgIHdhbnQgIDEuMQorICAvL2hhdmUgMS4xLjEgICB3YW50
ICAxLjEKKyAgLy9oYXZlIDEuMC45ICAgd2FudCAgMS4xCisgIC8vaGF2ZSAxLjEgICAgIHdhbnQg
IDEuMS4xCisKKyAgZm9yICh2YXIgaWkgPSAwOyBpaSA8IHdhbnQubGVuZ3RoOyArK2lpKSB7Cisg
ICAgdmFyIHdhbnROdW0gPSBwYXJzZUludCh3YW50W2lpXSk7CisgICAgdmFyIGhhdmVOdW0gPSBo
YXZlW2lpXSA/IHBhcnNlSW50KGhhdmVbaWldKSA6IDAKKyAgICBpZiAoaGF2ZU51bSA8IHdhbnRO
dW0pIHsKKyAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisgIH0KKyAgcmV0dXJuIHRydWU7Cit9
OworCisvKioKKyAqIFJlYWRzIGEgZmlsZSwgcmVjdXJzaXZlbHkgYWRkaW5nIGZpbGVzIHJlZmVy
ZW5jZWQgaW5zaWRlLgorICoKKyAqIEVhY2ggbGluZSBvZiBVUkwgaXMgcGFyc2VkLCBjb21tZW50
cyBzdGFydGluZyB3aXRoICcjJyBvciAnOycKKyAqIG9yICcvLycgYXJlIHN0cmlwcGVkLgorICoK
KyAqIGFyZ3VtZW50cyBiZWdpbm5pbmcgd2l0aCAtLSBhcmUgZXh0cmFjdGVkCisgKgorICogbGlu
ZXMgdGhhdCBlbmQgaW4gLnR4dCBhcmUgcmVjdXJzaXZlbHkgc2Nhbm5lZCBmb3IgbW9yZSBmaWxl
cworICogb3RoZXIgbGluZXMgYXJlIGFkZGVkIHRvIHRoZSBsaXN0IG9mIGZpbGVzLgorICoKKyAq
IEBwYXJhbSB7c3RyaW5nfSB1cmwgVGhlIHVybCBvZiB0aGUgZmlsZSB0byByZWFkLgorICogQHBh
cmFtIHt2b2lkIGZ1bmN0aW9uKGJvb2xlYW4sICFBcnJheS48c3RyaW5nPil9IGNhbGxiYWNrLgor
ICogICAgICBDYWxsYmFjayB0aGF0IGlzIGNhbGxlZCB3aXRoIHRydWUgZm9yIHN1Y2Nlc3MgYW5k
IGFuCisgKiAgICAgIGFycmF5IG9mIGZpbGVuYW1lcy4KKyAqIEBwYXJhbSB7T2JqZWN0fSBvcHRp
b25zLiBPcHRpb25hbCBvcHRpb25zCisgKgorICogT3B0aW9uczoKKyAqICAgIHZlcnNpb246IHtz
dHJpbmd9IFRoZSB2ZXJzaW9uIG9mIHRoZSBjb25mb3JtYW5jZSB0ZXN0LgorICogICAgVGVzdHMg
d2l0aCB0aGUgYXJndW1lbnQgLS1taW4tdmVyc2lvbiA8dmVyc2lvbj4gd2lsbAorICogICAgYmUg
aWdub3JlZCB2ZXJzaW9uIGlzIGxlc3MgdGhlbiA8dmVyc2lvbj4KKyAqCisgKi8KK3ZhciBnZXRG
aWxlTGlzdCA9IGZ1bmN0aW9uKHVybCwgY2FsbGJhY2ssIG9wdGlvbnMpIHsKKyAgdmFyIGZpbGVz
ID0gW107CisKKyAgdmFyIGNvcHlPYmplY3QgPSBmdW5jdGlvbihvYmopIHsKKyAgICByZXR1cm4g
SlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShvYmopKTsKKyAgfTsKKworICB2YXIgdG9DYW1lbENh
c2UgPSBmdW5jdGlvbihzdHIpIHsKKyAgICByZXR1cm4gc3RyLnJlcGxhY2UoLy0oW2Etel0pL2cs
IGZ1bmN0aW9uIChnKSB7IHJldHVybiBnWzFdLnRvVXBwZXJDYXNlKCkgfSk7CisgIH07CisKKyAg
dmFyIGdsb2JhbE9wdGlvbnMgPSBjb3B5T2JqZWN0KG9wdGlvbnMpOworICBnbG9iYWxPcHRpb25z
LmRlZmF1bHRWZXJzaW9uID0gIjEuMCI7CisKKyAgdmFyIGdldEZpbGVMaXN0SW1wbCA9IGZ1bmN0
aW9uKHByZWZpeCwgbGluZSwgbGluZU51bSwgaGllcmFyY2hpY2FsT3B0aW9ucywgY2FsbGJhY2sp
IHsKKyAgICB2YXIgZmlsZXMgPSBbXTsKKworICAgIHZhciBhcmdzID0gbGluZS5zcGxpdCgvXHMr
Lyk7CisgICAgdmFyIG5vbk9wdGlvbnMgPSBbXTsKKyAgICB2YXIgdXNlVGVzdCA9IHRydWU7Cisg
ICAgdmFyIHRlc3RPcHRpb25zID0ge307CisgICAgZm9yICh2YXIgamogPSAwOyBqaiA8IGFyZ3Mu
bGVuZ3RoOyArK2pqKSB7CisgICAgICB2YXIgYXJnID0gYXJnc1tqal07CisgICAgICBpZiAoYXJn
WzBdID09ICctJykgeworICAgICAgICBpZiAoYXJnWzFdICE9ICctJykgeworICAgICAgICAgIHRo
cm93ICgiYmFkIG9wdGlvbiBhdCBpbiAiICsgdXJsICsgIjoiICsgbGluZU51bSArICI6ICIgKyBh
cmcpOworICAgICAgICB9CisgICAgICAgIHZhciBvcHRpb24gPSBhcmcuc3Vic3RyaW5nKDIpOwor
ICAgICAgICBzd2l0Y2ggKG9wdGlvbikgeworICAgICAgICAgIC8vIG5vIGFyZ3VtZW50IG9wdGlv
bnMuCisgICAgICAgICAgY2FzZSAnc2xvdyc6CisgICAgICAgICAgICB0ZXN0T3B0aW9uc1t0b0Nh
bWVsQ2FzZShvcHRpb24pXSA9IHRydWU7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAv
LyBvbmUgYXJndW1lbnQgb3B0aW9ucy4KKyAgICAgICAgICBjYXNlICdtaW4tdmVyc2lvbic6Cisg
ICAgICAgICAgICArK2pqOworICAgICAgICAgICAgdGVzdE9wdGlvbnNbdG9DYW1lbENhc2Uob3B0
aW9uKV0gPSBhcmdzW2pqXTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgIGRlZmF1bHQ6
CisgICAgICAgICAgICB0aHJvdyAoImJhZCB1bmtub3duIG9wdGlvbiAnIiArIG9wdGlvbiArICIn
IGF0IGluICIgKyB1cmwgKyAiOiIgKyBsaW5lTnVtICsgIjogIiArIGFyZyk7CisgICAgICAgIH0K
KyAgICAgIH0gZWxzZSB7CisgICAgICAgIG5vbk9wdGlvbnMucHVzaChhcmcpOworICAgICAgfQor
ICAgIH0KKyAgICB2YXIgdXJsID0gcHJlZml4ICsgbm9uT3B0aW9ucy5qb2luKCIgIik7CisKKyAg
ICBpZiAodXJsLnN1YnN0cih1cmwubGVuZ3RoIC0gNCkgIT0gJy50eHQnKSB7CisgICAgICB2YXIg
bWluVmVyc2lvbiA9IHRlc3RPcHRpb25zLm1pblZlcnNpb247CisgICAgICBpZiAoIW1pblZlcnNp
b24pIHsKKyAgICAgICAgbWluVmVyc2lvbiA9IGhpZXJhcmNoaWNhbE9wdGlvbnMuZGVmYXVsdFZl
cnNpb247CisgICAgICB9CisgICAgICB2YXIgc2xvdyA9IHRlc3RPcHRpb25zLnNsb3c7CisgICAg
ICBpZiAoIXNsb3cpIHsKKyAgICAgICAgc2xvdyA9IGhpZXJhcmNoaWNhbE9wdGlvbnMuZGVmYXVs
dFNsb3c7CisgICAgICB9CisKKyAgICAgIGlmIChnbG9iYWxPcHRpb25zLmZhc3QgJiYgc2xvdykg
eworICAgICAgICB1c2VUZXN0ID0gZmFsc2U7CisgICAgICB9IGVsc2UgaWYgKGdsb2JhbE9wdGlv
bnMubWluVmVyc2lvbikgeworICAgICAgICB1c2VUZXN0ID0gZ3JlYXRlclRoYW5PckVxdWFsVG9W
ZXJzaW9uKG1pblZlcnNpb24sIGdsb2JhbE9wdGlvbnMubWluVmVyc2lvbik7CisgICAgICB9IGVs
c2UgeworICAgICAgICB1c2VUZXN0ID0gZ3JlYXRlclRoYW5PckVxdWFsVG9WZXJzaW9uKGdsb2Jh
bE9wdGlvbnMudmVyc2lvbiwgbWluVmVyc2lvbik7CisgICAgICB9CisgICAgfQorCisgICAgaWYg
KCF1c2VUZXN0KSB7CisgICAgICBjYWxsYmFjayh0cnVlLCBbXSk7CisgICAgICByZXR1cm47Cisg
ICAgfQorCisgICAgaWYgKHVybC5zdWJzdHIodXJsLmxlbmd0aCAtIDQpID09ICcudHh0Jykgewor
ICAgICAgLy8gSWYgYSB2ZXJzaW9uIHdhcyBleHBsaWNpdHkgc3BlY2lmaWVkIHBhc3MgaXQgZG93
bi4KKyAgICAgIGlmICh0ZXN0T3B0aW9ucy5taW5WZXJzaW9uKSB7CisgICAgICAgIGhpZXJhcmNo
aWNhbE9wdGlvbnMuZGVmYXVsdFZlcnNpb24gPSB0ZXN0T3B0aW9ucy5taW5WZXJzaW9uOworICAg
ICAgfQorICAgICAgaWYgKHRlc3RPcHRpb25zLnNsb3cpIHsKKyAgICAgICAgaGllcmFyY2hpY2Fs
T3B0aW9ucy5kZWZhdWx0U2xvdyA9IHRlc3RPcHRpb25zLnNsb3c7CisgICAgICB9CisgICAgICBs
b2FkVGV4dEZpbGVBc3luY2hyb25vdXModXJsLCBmdW5jdGlvbigpIHsKKyAgICAgICAgcmV0dXJu
IGZ1bmN0aW9uKHN1Y2Nlc3MsIHRleHQpIHsKKyAgICAgICAgICBpZiAoIXN1Y2Nlc3MpIHsKKyAg
ICAgICAgICAgIGNhbGxiYWNrKGZhbHNlLCAnJyk7CisgICAgICAgICAgICByZXR1cm47CisgICAg
ICAgICAgfQorICAgICAgICAgIHZhciBsaW5lcyA9IHRleHQuc3BsaXQoJ1xuJyk7CisgICAgICAg
ICAgdmFyIHByZWZpeCA9ICcnOworICAgICAgICAgIHZhciBsYXN0U2xhc2ggPSB1cmwubGFzdElu
ZGV4T2YoJy8nKTsKKyAgICAgICAgICBpZiAobGFzdFNsYXNoID49IDApIHsKKyAgICAgICAgICAg
IHByZWZpeCA9IHVybC5zdWJzdHIoMCwgbGFzdFNsYXNoICsgMSk7CisgICAgICAgICAgfQorICAg
ICAgICAgIHZhciBmYWlsID0gZmFsc2U7CisgICAgICAgICAgdmFyIGNvdW50ID0gMTsKKyAgICAg
ICAgICB2YXIgaW5kZXggPSAwOworICAgICAgICAgIGZvciAodmFyIGlpID0gMDsgaWkgPCBsaW5l
cy5sZW5ndGg7ICsraWkpIHsKKyAgICAgICAgICAgIHZhciBzdHIgPSBsaW5lc1tpaV0ucmVwbGFj
ZSgvXlxzXHMqLywgJycpLnJlcGxhY2UoL1xzXHMqJC8sICcnKTsKKyAgICAgICAgICAgIGlmIChz
dHIubGVuZ3RoID4gNCAmJgorICAgICAgICAgICAgICAgIHN0clswXSAhPSAnIycgJiYKKyAgICAg
ICAgICAgICAgICBzdHJbMF0gIT0gIjsiICYmCisgICAgICAgICAgICAgICAgc3RyLnN1YnN0cigw
LCAyKSAhPSAiLy8iKSB7CisgICAgICAgICAgICAgICsrY291bnQ7CisgICAgICAgICAgICAgIGdl
dEZpbGVMaXN0SW1wbChwcmVmaXgsIHN0ciwgaWkgKyAxLCBjb3B5T2JqZWN0KGhpZXJhcmNoaWNh
bE9wdGlvbnMpLCBmdW5jdGlvbihpbmRleCkgeworICAgICAgICAgICAgICAgIHJldHVybiBmdW5j
dGlvbihzdWNjZXNzLCBuZXdfZmlsZXMpIHsKKyAgICAgICAgICAgICAgICAgIC8vbG9nKCJnb3Qg
ZmlsZXM6ICIgKyBuZXdfZmlsZXMubGVuZ3RoKTsKKyAgICAgICAgICAgICAgICAgIGlmIChzdWNj
ZXNzKSB7CisgICAgICAgICAgICAgICAgICAgIGZpbGVzW2luZGV4XSA9IG5ld19maWxlczsKKyAg
ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgIGZpbmlzaChzdWNjZXNzKTsKKyAg
ICAgICAgICAgICAgICB9OworICAgICAgICAgICAgICB9KGluZGV4KyspKTsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgICB9CisgICAgICAgICAgZmluaXNoKHRydWUpOworCisgICAgICAgICAgZnVu
Y3Rpb24gZmluaXNoKHN1Y2Nlc3MpIHsKKyAgICAgICAgICAgIGlmICghc3VjY2VzcykgeworICAg
ICAgICAgICAgICBmYWlsID0gdHJ1ZTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIC0tY291
bnQ7CisgICAgICAgICAgICAvL2xvZygiY291bnQ6ICIgKyBjb3VudCk7CisgICAgICAgICAgICBp
ZiAoIWNvdW50KSB7CisgICAgICAgICAgICAgIGNhbGxiYWNrKCFmYWlsLCBmaWxlcyk7CisgICAg
ICAgICAgICB9CisgICAgICAgICAgfQorICAgICAgICB9CisgICAgICB9KCkpOworICAgIH0gZWxz
ZSB7CisgICAgICBmaWxlcy5wdXNoKHVybCk7CisgICAgICBjYWxsYmFjayh0cnVlLCBmaWxlcyk7
CisgICAgfQorICB9OworCisgIGdldEZpbGVMaXN0SW1wbCgnJywgdXJsLCAxLCBnbG9iYWxPcHRp
b25zLCBmdW5jdGlvbihzdWNjZXNzLCBmaWxlcykgeworICAgIC8vIGZsYXR0ZW4KKyAgICB2YXIg
ZmxhdCA9IFtdOworICAgIGZsYXR0ZW4oZmlsZXMpOworICAgIGZ1bmN0aW9uIGZsYXR0ZW4oZmls
ZXMpIHsKKyAgICAgIGZvciAodmFyIGlpID0gMDsgaWkgPCBmaWxlcy5sZW5ndGg7ICsraWkpIHsK
KyAgICAgICAgdmFyIHZhbHVlID0gZmlsZXNbaWldOworICAgICAgICBpZiAodHlwZW9mKHZhbHVl
KSA9PSAic3RyaW5nIikgeworICAgICAgICAgIGZsYXQucHVzaCh2YWx1ZSk7CisgICAgICAgIH0g
ZWxzZSB7CisgICAgICAgICAgZmxhdHRlbih2YWx1ZSk7CisgICAgICAgIH0KKyAgICAgIH0KKyAg
ICB9CisgICAgY2FsbGJhY2soc3VjY2VzcywgZmxhdCk7CisgIH0pOworfTsKKwordmFyIEZpbHRl
clVSTCA9IChmdW5jdGlvbigpIHsKKyAgdmFyIHByZWZpeCA9IHdpbmRvdy5sb2NhdGlvbi5wYXRo
bmFtZTsKKyAgcHJlZml4ID0gcHJlZml4LnN1YnN0cmluZygwLCBwcmVmaXgubGFzdEluZGV4T2Yo
Ii8iKSArIDEpOworICByZXR1cm4gZnVuY3Rpb24odXJsKSB7CisgICAgaWYgKHVybC5zdWJzdHJp
bmcoMCwgcHJlZml4Lmxlbmd0aCkgPT0gcHJlZml4KSB7CisgICAgICB1cmwgPSB1cmwuc3Vic3Ry
aW5nKHByZWZpeC5sZW5ndGgpOworICAgIH0KKyAgICByZXR1cm4gdXJsOworICB9OworfSgpKTsK
KwordmFyIFRlc3RGaWxlID0gZnVuY3Rpb24odXJsKSB7CisgIHRoaXMudXJsID0gdXJsOworfTsK
KwordmFyIFRlc3QgPSBmdW5jdGlvbihmaWxlKSB7CisgIHRoaXMuZmlsZSA9IGZpbGU7Cit9Owor
Cit2YXIgVGVzdEhhcm5lc3MgPSBmdW5jdGlvbihpZnJhbWUsIGZpbGVsaXN0VXJsLCByZXBvcnRG
dW5jLCBvcHRpb25zKSB7CisgIHRoaXMud2luZG93ID0gd2luZG93OworICB0aGlzLmlmcmFtZXMg
PSBpZnJhbWUubGVuZ3RoID8gaWZyYW1lIDogW2lmcmFtZV07CisgIHRoaXMucmVwb3J0RnVuYyA9
IHJlcG9ydEZ1bmM7CisgIHRoaXMudGltZW91dERlbGF5ID0gMjAwMDA7CisgIHRoaXMuZmlsZXMg
PSBbXTsKKworICB2YXIgdGhhdCA9IHRoaXM7CisgIGdldEZpbGVMaXN0KGZpbGVsaXN0VXJsLCBm
dW5jdGlvbigpIHsKKyAgICByZXR1cm4gZnVuY3Rpb24oc3VjY2VzcywgZmlsZXMpIHsKKyAgICAg
IHRoYXQuYWRkRmlsZXNfKHN1Y2Nlc3MsIGZpbGVzKTsKKyAgICB9OworICB9KCksIG9wdGlvbnMp
OworCit9OworCitUZXN0SGFybmVzcy5yZXBvcnRUeXBlID0geworICBBRERfUEFHRTogMSwKKyAg
UkVBRFk6IDIsCisgIFNUQVJUX1BBR0U6IDMsCisgIFRFU1RfUkVTVUxUOiA0LAorICBGSU5JU0hf
UEFHRTogNSwKKyAgRklOSVNIRURfQUxMX1RFU1RTOiA2Cit9OworCitUZXN0SGFybmVzcy5wcm90
b3R5cGUuYWRkRmlsZXNfID0gZnVuY3Rpb24oc3VjY2VzcywgZmlsZXMpIHsKKyAgaWYgKCFzdWNj
ZXNzKSB7CisgICAgdGhpcy5yZXBvcnRGdW5jKAorICAgICAgICBUZXN0SGFybmVzcy5yZXBvcnRU
eXBlLkZJTklTSEVEX0FMTF9URVNUUywKKyAgICAgICAgJycsCisgICAgICAgICdVbmFibGUgdG8g
bG9hZCB0ZXN0cy4gQXJlIHlvdSBydW5uaW5nIGxvY2FsbHk/XG4nICsKKyAgICAgICAgJ1lvdSBu
ZWVkIHRvIHJ1biBmcm9tIGEgc2VydmVyIG9yIGNvbmZpZ3VyZSB5b3VyXG4nICsKKyAgICAgICAg
J2Jyb3dzZXIgdG8gYWxsb3cgYWNjZXNzIHRvIGxvY2FsIGZpbGVzIChub3QgcmVjb21tZW5kZWQp
LlxuXG4nICsKKyAgICAgICAgJ05vdGU6IEFuIGVhc3kgd2F5IHRvIHJ1biBmcm9tIGEgc2VydmVy
OlxuXG4nICsKKyAgICAgICAgJ1x0Y2QgcGF0aF90b190ZXN0c1xuJyArCisgICAgICAgICdcdHB5
dGhvbiAtbSBTaW1wbGVIVFRQU2VydmVyXG5cbicgKworICAgICAgICAndGhlbiBwb2ludCB5b3Vy
IGJyb3dzZXIgdG8gJyArCisgICAgICAgICAgJzxhIGhyZWY9Imh0dHA6Ly9sb2NhbGhvc3Q6ODAw
MC93ZWJnbC1jb25mb3JtYW5jZS10ZXN0cy5odG1sIj4nICsKKyAgICAgICAgICAnaHR0cDovL2xv
Y2FsaG9zdDo4MDAwL3dlYmdsLWNvbmZvcm1hbmNlLXRlc3RzLmh0bWw8L2E+JywKKyAgICAgICAg
ZmFsc2UpCisgICAgcmV0dXJuOworICB9CisgIGxvZygidG90YWwgZmlsZXM6ICIgKyBmaWxlcy5s
ZW5ndGgpOworICBmb3IgKHZhciBpaSA9IDA7IGlpIDwgZmlsZXMubGVuZ3RoOyArK2lpKSB7Cisg
ICAgbG9nKCIiICsgaWkgKyAiOiAiICsgZmlsZXNbaWldKTsKKyAgICB0aGlzLmZpbGVzLnB1c2go
bmV3IFRlc3RGaWxlKGZpbGVzW2lpXSkpOworICAgIHRoaXMucmVwb3J0RnVuYyhUZXN0SGFybmVz
cy5yZXBvcnRUeXBlLkFERF9QQUdFLCAnJywgZmlsZXNbaWldLCB1bmRlZmluZWQpOworICB9Cisg
IHRoaXMucmVwb3J0RnVuYyhUZXN0SGFybmVzcy5yZXBvcnRUeXBlLlJFQURZLCAnJywgdW5kZWZp
bmVkLCB1bmRlZmluZWQpOworfQorCitUZXN0SGFybmVzcy5wcm90b3R5cGUucnVuVGVzdHMgPSBm
dW5jdGlvbihvcHRfb3B0aW9ucykgeworICB2YXIgb3B0aW9ucyA9IG9wdF9vcHRpb25zIHx8IHsg
fTsKKyAgb3B0aW9ucy5zdGFydCA9IG9wdGlvbnMuc3RhcnQgfHwgMDsKKyAgb3B0aW9ucy5jb3Vu
dCA9IG9wdGlvbnMuY291bnQgfHwgdGhpcy5maWxlcy5sZW5ndGg7CisKKyAgdGhpcy5pZGxlSUZy
YW1lcyA9IHRoaXMuaWZyYW1lcy5zbGljZSgwKTsKKyAgdGhpcy5ydW5uaW5nVGVzdHMgPSB7fTsK
KyAgdmFyIHRlc3RzVG9SdW4gPSBbXTsKKyAgZm9yICh2YXIgaWkgPSAwOyBpaSA8IG9wdGlvbnMu
Y291bnQ7ICsraWkpIHsKKyAgICB0ZXN0c1RvUnVuLnB1c2goaWkgKyBvcHRpb25zLnN0YXJ0KTsK
KyAgfQorICB0aGlzLm51bVRlc3RzUmVtYWluaW5nID0gb3B0aW9ucy5jb3VudDsKKyAgdGhpcy50
ZXN0c1RvUnVuID0gdGVzdHNUb1J1bjsKKyAgdGhpcy5zdGFydE5leHRUZXN0KCk7Cit9OworCitU
ZXN0SGFybmVzcy5wcm90b3R5cGUuc2V0VGltZW91dCA9IGZ1bmN0aW9uKHRlc3QpIHsKKyAgdmFy
IHRoYXQgPSB0aGlzOworICB0ZXN0LnRpbWVvdXRJZCA9IHRoaXMud2luZG93LnNldFRpbWVvdXQo
ZnVuY3Rpb24oKSB7CisgICAgICB0aGF0LnRpbWVvdXQodGVzdCk7CisgICAgfSwgdGhpcy50aW1l
b3V0RGVsYXkpOworfTsKKworVGVzdEhhcm5lc3MucHJvdG90eXBlLmNsZWFyVGltZW91dCA9IGZ1
bmN0aW9uKHRlc3QpIHsKKyAgdGhpcy53aW5kb3cuY2xlYXJUaW1lb3V0KHRlc3QudGltZW91dElk
KTsKK307CisKK1Rlc3RIYXJuZXNzLnByb3RvdHlwZS5zdGFydE5leHRUZXN0ID0gZnVuY3Rpb24o
KSB7CisgIGlmICh0aGlzLm51bVRlc3RzUmVtYWluaW5nID09IDApIHsKKyAgICBsb2coImRvbmUi
KTsKKyAgICB0aGlzLnJlcG9ydEZ1bmMoVGVzdEhhcm5lc3MucmVwb3J0VHlwZS5GSU5JU0hFRF9B
TExfVEVTVFMsCisgICAgICAgICAgICAgICAgICAgICcnLCAnJywgdHJ1ZSk7CisgIH0gZWxzZSB7
CisgICAgd2hpbGUgKHRoaXMudGVzdHNUb1J1bi5sZW5ndGggPiAwICYmIHRoaXMuaWRsZUlGcmFt
ZXMubGVuZ3RoID4gMCkgeworICAgICAgdmFyIHRlc3RJZCA9IHRoaXMudGVzdHNUb1J1bi5zaGlm
dCgpOworICAgICAgdmFyIGlmcmFtZSA9IHRoaXMuaWRsZUlGcmFtZXMuc2hpZnQoKTsKKyAgICAg
IHRoaXMuc3RhcnRUZXN0KGlmcmFtZSwgdGhpcy5maWxlc1t0ZXN0SWRdKTsKKyAgICB9CisgIH0K
K307CisKK1Rlc3RIYXJuZXNzLnByb3RvdHlwZS5zdGFydFRlc3QgPSBmdW5jdGlvbihpZnJhbWUs
IHRlc3RGaWxlKSB7CisgIHZhciB0ZXN0ID0geworICAgIGlmcmFtZTogaWZyYW1lLAorICAgIHRl
c3RGaWxlOiB0ZXN0RmlsZQorICB9OworICB2YXIgdXJsID0gdGVzdEZpbGUudXJsOworICB0aGlz
LnJ1bm5pbmdUZXN0c1t1cmxdID0gdGVzdDsKKyAgbG9nKCJsb2FkaW5nOiAiICsgdXJsKTsKKyAg
aWYgKHRoaXMucmVwb3J0RnVuYyhUZXN0SGFybmVzcy5yZXBvcnRUeXBlLlNUQVJUX1BBR0UsIHVy
bCwgdXJsLCB1bmRlZmluZWQpKSB7CisgICAgaWZyYW1lLnNyYyA9IHVybDsKKyAgICB0aGlzLnNl
dFRpbWVvdXQodGVzdCk7CisgIH0gZWxzZSB7CisgICAgdGhpcy5yZXBvcnRSZXN1bHRzKHVybCwg
ZmFsc2UsICJza2lwcGVkIik7CisgICAgdGhpcy5ub3RpZnlGaW5pc2hlZCh1cmwpOworICB9Cit9
OworCitUZXN0SGFybmVzcy5wcm90b3R5cGUuZ2V0VGVzdCA9IGZ1bmN0aW9uKHVybCkgeworICB2
YXIgdGVzdCA9IHRoaXMucnVubmluZ1Rlc3RzW0ZpbHRlclVSTCh1cmwpXTsKKyAgaWYgKCF0ZXN0
KSB7CisgICAgdGhyb3coInVua25vd24gdGVzdDoiICsgdXJsKTsKKyAgfQorICByZXR1cm4gdGVz
dDsKK307CisKK1Rlc3RIYXJuZXNzLnByb3RvdHlwZS5yZXBvcnRSZXN1bHRzID0gZnVuY3Rpb24o
dXJsLCBzdWNjZXNzLCBtc2cpIHsKKyAgdXJsID0gRmlsdGVyVVJMKHVybCk7CisgIHZhciB0ZXN0
ID0gdGhpcy5nZXRUZXN0KHVybCk7CisgIHRoaXMuY2xlYXJUaW1lb3V0KHRlc3QpOworICBsb2co
c3VjY2VzcyA/ICJQQVNTIiA6ICJGQUlMIiwgbXNnKTsKKyAgdGhpcy5yZXBvcnRGdW5jKFRlc3RI
YXJuZXNzLnJlcG9ydFR5cGUuVEVTVF9SRVNVTFQsIHVybCwgbXNnLCBzdWNjZXNzKTsKKyAgLy8g
Rm9yIGVhY2ggcmVzdWx0IHdlIGdldCwgcmVzZXQgdGhlIHRpbWVvdXQKKyAgdGhpcy5zZXRUaW1l
b3V0KHRlc3QpOworfTsKKworVGVzdEhhcm5lc3MucHJvdG90eXBlLmRlcXVlVGVzdCA9IGZ1bmN0
aW9uKHRlc3QpIHsKKyAgdGhpcy5jbGVhclRpbWVvdXQodGVzdCk7CisgIHRoaXMuaWRsZUlGcmFt
ZXMucHVzaCh0ZXN0LmlmcmFtZSk7CisgIGRlbGV0ZSB0aGlzLnJ1bm5pbmdUZXN0c1t0ZXN0LnRl
c3RGaWxlLnVybF07CisgIC0tdGhpcy5udW1UZXN0c1JlbWFpbmluZzsKK30KKworVGVzdEhhcm5l
c3MucHJvdG90eXBlLm5vdGlmeUZpbmlzaGVkID0gZnVuY3Rpb24odXJsKSB7CisgIHVybCA9IEZp
bHRlclVSTCh1cmwpOworICB2YXIgdGVzdCA9IHRoaXMuZ2V0VGVzdCh1cmwpOworICBsb2codXJs
ICsgIjogZmluaXNoZWQiKTsKKyAgdGhpcy5kZXF1ZVRlc3QodGVzdCk7CisgIHRoaXMucmVwb3J0
RnVuYyhUZXN0SGFybmVzcy5yZXBvcnRUeXBlLkZJTklTSF9QQUdFLCB1cmwsIHVybCwgdHJ1ZSk7
CisgIHRoaXMuc3RhcnROZXh0VGVzdCgpOworfTsKKworVGVzdEhhcm5lc3MucHJvdG90eXBlLnRp
bWVvdXQgPSBmdW5jdGlvbih0ZXN0KSB7CisgIHRoaXMuZGVxdWVUZXN0KHRlc3QpOworICB2YXIg
dXJsID0gdGVzdC50ZXN0RmlsZS51cmw7CisgIGxvZyh1cmwgKyAiOiB0aW1lb3V0Iik7CisgIHRo
aXMucmVwb3J0RnVuYyhUZXN0SGFybmVzcy5yZXBvcnRUeXBlLkZJTklTSF9QQUdFLCB1cmwsIHVy
bCwgdW5kZWZpbmVkKTsKKyAgdGhpcy5zdGFydE5leHRUZXN0KCk7Cit9OworCitUZXN0SGFybmVz
cy5wcm90b3R5cGUuc2V0VGltZW91dERlbGF5ID0gZnVuY3Rpb24oeCkgeworICB0aGlzLnRpbWVv
dXREZWxheSA9IHg7Cit9OworCityZXR1cm4geworICAgICdUZXN0SGFybmVzcyc6IFRlc3RIYXJu
ZXNzCisgIH07CisKK30oKTsKKworCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jl
c291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIGIvTGF5b3V0VGVzdHMvd2ViZ2wv
cmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2E4M2Y3
YWIwMzA4ZTczZjkxNDU5MzczNDNkYzdlOTA3YWFjMjY1YQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzCkBA
IC0wLDAgKzEsNTYgQEAKKyJ1c2Ugc3RyaWN0IjsKKyhmdW5jdGlvbigpIHsKKyAgdmFyIG51bUZh
aWx1cmVzID0gMDsKKworICBpZiAod2luZG93LnRlc3RSdW5uZXIgJiYgIXdpbmRvdy5sYXlvdXRU
ZXN0Q29udHJvbGxlcikgeworICAgIHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlciA9IHdpbmRv
dy50ZXN0UnVubmVyOworICB9CisKKyAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikg
eworICAgIGxheW91dFRlc3RDb250cm9sbGVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0V2Vi
R0xFbmFibGVkIiwgIjEiKTsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7
CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworCisgICAgLy8gVHVy
biBvZmYgY29uc29sZSBtZXNzYWdlcyBiZWNhdXNlIGZvciB0aGUgV2ViR0wgdGVzdHMgdGhleSBh
cmUKKyAgICAvLyBHUFUgY2FwYWJpbGl0eSBkZXBlbmRlbnQuCisgICAgd2luZG93LmNvbnNvbGUu
bG9nID0gZnVuY3Rpb24oKSB7IH07CisgICAgd2luZG93LmNvbnNvbGUuZXJyb3IgPSBmdW5jdGlv
bigpIHsgfTsKKyAgfQorCisKKyAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICB3aW5kb3cu
aW50ZXJuYWxzLnNldHRpbmdzLnNldFdlYkdMRXJyb3JzVG9Db25zb2xlRW5hYmxlZChmYWxzZSk7
CisgIH0KKworICB2YXIgbG9nID0gZnVuY3Rpb24obXNnLCBjb2xvcikgeworICAgIHZhciBkaXYg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKKyAgICBkaXYuYXBwZW5kQ2hpbGQoZG9j
dW1lbnQuY3JlYXRlVGV4dE5vZGUobXNnKSk7CisgICAgaWYgKGNvbG9yKSB7CisgICAgICBkaXYu
c3R5bGUuY29sb3IgPSBjb2xvcjsKKyAgICB9CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InJlc3VsdCIpLmFwcGVuZENoaWxkKGRpdik7CisgIH07CisKKyAgd2luZG93LndlYmdsVGVzdEhh
cm5lc3MgPSB7CisgICAgcmVwb3J0UmVzdWx0czogZnVuY3Rpb24odXJsLCBzdWNjZXNzLCBtc2cp
IHsKKyAgICAgIGlmICghc3VjY2VzcykgeworICAgICAgICArK251bUZhaWx1cmVzOworICAgICAg
fQorICAgIH0sCisKKyAgICBub3RpZnlGaW5pc2hlZDogZnVuY3Rpb24odXJsKSB7CisgICAgICB2
YXIgaWZyYW1lID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlmcmFtZSIpOworICAgICAgaWZy
YW1lLmlubmVySFRNTCA9ICIiOworICAgICAgaWYgKG51bUZhaWx1cmVzID4gMCkgeworICAgICAg
ICBsb2coIkZBSUwiLCAicmVkIik7CisgICAgICB9IGVsc2UgeworICAgICAgICBsb2coIlBBU1Mi
LCAiZ3JlZW4iKTsKKyAgICAgIH0KKworICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJv
bGxlcikgeworICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7CisgICAg
ICB9CisgICAgfSwKKyAgfQorfSgpKTsKKwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>186424</attachid>
            <date>2013-02-04 11:38:57 -0800</date>
            <delta_ts>2013-02-05 10:23:36 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-108731-20130204113536.patch</filename>
            <type>text/plain</type>
            <size>414712</size>
            <attacher name="Gregg Tavares">gman</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQxNzg5CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYjQ4NzgzOGFhZjQwMWM2ZWFjOTFl
MTAzNzljOWU3ZTNjNWYzYTA5ZC4uODNkMzAyZTc1N2UwNWQwOWVmMWU0NmE3NDg1MWE3YzY5ZjMw
Yzc2YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5MiBAQAorMjAxMy0wMi0wNCAgR3JlZ2cgVGF2YXJlcyAg
PGdtYW5AZ29vZ2xlLmNvbT4KKworICAgICAgICBBZGQgU3VwcG9ydCBGaWxlcyBmb3IgV2ViR0wg
Q29uZm9ybWFuY2UgVGVzdHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTEwODczMQorCisgICAgICAgIFJldmlld2VkIGJ5IEtlbm5ldGggUnVzc2VsbC4K
KworICAgICAgICBUaGVzZSBhcmUgdGhlICdyZXNvdXJjZScgZmlsZXMgZm9yIHRoZSBXZWJHTAor
ICAgICAgICBDb25mb3JtYW5jZSBUZXN0cy4gT3RoZXIgQ0xzIHdpbGwgYWRkIHRoZQorICAgICAg
ICBhY3R1YWwgdGVzdHMuCisKKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9m
aWxlcy9jb25mb3JtYW5jZS9yZXNvdXJjZXMvM3gzLnBuZzogQWRkZWQuCisgICAgICAgICogd2Vi
Z2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVzb3VyY2VzL2JsdWUt
MXgxLmpwZzogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmls
ZXMvY29uZm9ybWFuY2UvcmVzb3VyY2VzL2Jvb2xVbmlmb3JtU2hhZGVyLnZlcnQ6IEFkZGVkLgor
ICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3Jl
c291cmNlcy9idWctMzI4ODgtdGV4dHVyZS5wbmc6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jl
c291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3Jlc291cmNlcy9mbG9hdFVuaWZv
cm1TaGFkZXIudmVydDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rl
c3RfZmlsZXMvY29uZm9ybWFuY2UvcmVzb3VyY2VzL2ZyYWdtZW50U2hhZGVyLmZyYWc6IEFkZGVk
LgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNl
L3Jlc291cmNlcy9nbHNsLWNvbmZvcm1hbmNlLXRlc3QuanM6IEFkZGVkLgorICAgICAgICAoR0xT
TENvbmZvcm1hbmNlVGVzdGVyKToKKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9jb25mb3JtYW5jZS9yZXNvdXJjZXMvZ2xzbC1mZWF0dXJlLXRlc3RzLmNzczogQWRk
ZWQuCisgICAgICAgIChjYW52YXMpOgorICAgICAgICAoLnNoYWRlci1zb3VyY2UpOgorICAgICAg
ICAoLnNoYWRlci1zb3VyY2UgbGk6bnRoLWNoaWxkKG9kZCkpOgorICAgICAgICAoLnNoYWRlci1z
b3VyY2UgbGk6bnRoLWNoaWxkKGV2ZW4pKToKKyAgICAgICAgKC50ZXN0aW1hZ2VzKToKKyAgICAg
ICAgKC50ZXN0aW1hZ2VzIGJyKToKKyAgICAgICAgKC50ZXN0aW1hZ2VzID4gZGl2KToKKyAgICAg
ICAgKElNRyk6CisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29u
Zm9ybWFuY2UvcmVzb3VyY2VzL2dsc2wtZ2VuZXJhdG9yLmpzOiBBZGRlZC4KKyAgICAgICAgKEdM
U0xHZW5lcmF0b3IuKToKKyAgICAgICAgKEdMU0xHZW5lcmF0b3IpOgorICAgICAgICAqIHdlYmds
L3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3Jlc291cmNlcy9ncmF5LXJh
bXAtMjU2LXdpdGgtMTI4LWFscGhhLnBuZzogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3Vy
Y2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVzb3VyY2VzL2dyYXktcmFtcC0yNTYu
cG5nOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9j
b25mb3JtYW5jZS9yZXNvdXJjZXMvZ3JheS1yYW1wLWRlZmF1bHQtZ2FtbWEucG5nOiBBZGRlZC4K
KyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9y
ZXNvdXJjZXMvZ3JheS1yYW1wLWdhbW1hMC4xLnBuZzogQWRkZWQuCisgICAgICAgICogd2ViZ2wv
cmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVzb3VyY2VzL2dyYXktcmFt
cC1nYW1tYTEuMC5wbmc6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90
ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3Jlc291cmNlcy9ncmF5LXJhbXAtZ2FtbWEyLjAucG5nOiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3Jt
YW5jZS9yZXNvdXJjZXMvZ3JheS1yYW1wLWdhbW1hNC4wLnBuZzogQWRkZWQuCisgICAgICAgICog
d2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVzb3VyY2VzL2dy
YXktcmFtcC1nYW1tYTkuMC5wbmc6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93
ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3Jlc291cmNlcy9ncmF5LXJhbXAucG5nOiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5j
ZS9yZXNvdXJjZXMvZ3JlZW4tMngyLTE2Yml0LnBuZzogQWRkZWQuCisgICAgICAgICogd2ViZ2wv
cmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVzb3VyY2VzL2ludEFycmF5
VW5pZm9ybVNoYWRlci52ZXJ0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2Vi
Z2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZXNvdXJjZXMvaW50VW5pZm9ybVNoYWRlci52ZXJ0
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS9yZXNvdXJjZXMvbWF0VW5pZm9ybVNoYWRlci52ZXJ0OiBBZGRlZC4KKyAgICAgICAg
KiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZXNvdXJjZXMv
bm9vcFVuaWZvcm1TaGFkZXIuZnJhZzogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2Vz
L3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVzb3VyY2VzL25vb3BVbmlmb3JtU2hhZGVy
LnZlcnQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL3Jlc291cmNlcy9ucG90LXZpZGVvLm1wNDogQWRkZWQuCisgICAgICAgICog
d2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVzb3VyY2VzL25w
b3QtdmlkZW8udGhlb3JhLm9ndjogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVzb3VyY2VzL25wb3QtdmlkZW8ud2VibXZwOC53
ZWJtOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9j
b25mb3JtYW5jZS9yZXNvdXJjZXMvb2dsZXMtdGVzdHMuY3NzOiBBZGRlZC4KKyAgICAgICAgKGNh
bnZhcyk6CisgICAgICAgICguc2hhZGVyLXNvdXJjZSk6CisgICAgICAgICguc2hhZGVyLXNvdXJj
ZSBsaTpudGgtY2hpbGQob2RkKSk6CisgICAgICAgICguc2hhZGVyLXNvdXJjZSBsaTpudGgtY2hp
bGQoZXZlbikpOgorICAgICAgICAoLnRlc3RpbWFnZXMpOgorICAgICAgICAoLnRlc3RpbWFnZXMg
YnIpOgorICAgICAgICAoLnRlc3RpbWFnZXMgPiBkaXYpOgorICAgICAgICAoSU1HKToKKyAgICAg
ICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZXNvdXJj
ZXMvcG5nbGliLmpzOiBBZGRlZC4KKyAgICAgICAgKC4pOgorICAgICAgICAqIHdlYmdsL3Jlc291
cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3Jlc291cmNlcy9yZWQtZ3JlZW4ubXA0
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS9yZXNvdXJjZXMvcmVkLWdyZWVuLnBuZzogQWRkZWQuCisgICAgICAgICogd2ViZ2wv
cmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVzb3VyY2VzL3JlZC1ncmVl
bi50aGVvcmEub2d2OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9jb25mb3JtYW5jZS9yZXNvdXJjZXMvcmVkLWdyZWVuLndlYm12cDgud2VibTogQWRk
ZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFu
Y2UvcmVzb3VyY2VzL3JlZC1pbmRleGVkLnBuZzogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVz
b3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVzb3VyY2VzL3NhbXBsZXJVbmlm
b3JtU2hhZGVyLmZyYWc6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90
ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3Jlc291cmNlcy9zbWFsbC1zcXVhcmUtd2l0aC1jaWUtcmdi
LXByb2ZpbGUucG5nOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9jb25mb3JtYW5jZS9yZXNvdXJjZXMvc21hbGwtc3F1YXJlLXdpdGgtY29sb3JtYXRj
aC1wcm9maWxlLnBuZzogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rl
c3RfZmlsZXMvY29uZm9ybWFuY2UvcmVzb3VyY2VzL3NtYWxsLXNxdWFyZS13aXRoLWNvbG9yc3Bp
bi1wcm9maWxlLmpwZzogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rl
c3RfZmlsZXMvY29uZm9ybWFuY2UvcmVzb3VyY2VzL3NtYWxsLXNxdWFyZS13aXRoLWNvbG9yc3Bp
bi1wcm9maWxlLnBuZzogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rl
c3RfZmlsZXMvY29uZm9ybWFuY2UvcmVzb3VyY2VzL3NtYWxsLXNxdWFyZS13aXRoLWUtc3JnYi1w
cm9maWxlLnBuZzogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2UvcmVzb3VyY2VzL3NtYWxsLXNxdWFyZS13aXRoLXNtcHRlLWMtcHJv
ZmlsZS5wbmc6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2Zp
bGVzL2NvbmZvcm1hbmNlL3Jlc291cmNlcy9zbWFsbC1zcXVhcmUtd2l0aC1zcmdiLWllYzYxOTY2
LTIuMS1wcm9maWxlLnBuZzogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVzb3VyY2VzL3N0cnVjdFVuaWZvcm1TaGFkZXIudmVy
dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29u
Zm9ybWFuY2UvcmVzb3VyY2VzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFz
LmpzOiBBZGRlZC4KKyAgICAgICAgKC5pbml0KToKKyAgICAgICAgKC5zZXRDYW52YXNUb1JlZEdy
ZWVuKToKKyAgICAgICAgKC5kcmF3VGV4dEluQ2FudmFzKToKKyAgICAgICAgKC5zZXRDYW52YXNU
bzI1N3gyNTcpOgorICAgICAgICAoLnNldENhbnZhc1RvMXgyKToKKyAgICAgICAgKC5lbHNlKToK
KyAgICAgICAgKC5ydW5PbmVJdGVyYXRpb24pOgorICAgICAgICAoLnJ1blRlc3QucnVuTmV4dFRl
c3QpOgorICAgICAgICAoLnJ1blRlc3QpOgorICAgICAgICAoZ2VuZXJhdGVUZXN0KToKKyAgICAg
ICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZXNvdXJj
ZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS1kYXRhLmpzOiBBZGRlZC4K
KyAgICAgICAgKC5pbml0KToKKyAgICAgICAgKC5ydW5PbmVJdGVyYXRpb24pOgorICAgICAgICAo
LnJ1blRlc3QpOgorICAgICAgICAoZ2VuZXJhdGVUZXN0KToKKyAgICAgICAgKiB3ZWJnbC9yZXNv
dXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZXNvdXJjZXMvdGV4LWltYWdlLWFu
ZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS5qczogQWRkZWQuCisgICAgICAgICguaW5pdCk6Cisg
ICAgICAgICgucnVuT25lSXRlcmF0aW9uKToKKyAgICAgICAgKC5ydW5UZXN0T25JbWFnZSk6Cisg
ICAgICAgICgucnVuVGVzdC5uZXdJbWFnZS5vbmxvYWQpOgorICAgICAgICAoLnJ1blRlc3QpOgor
ICAgICAgICAoLnJ1blRlc3QyLm5ld0ltYWdlLm9ubG9hZCk6CisgICAgICAgICgucnVuVGVzdDIp
OgorICAgICAgICAoLnJ1blRlc3QzKToKKyAgICAgICAgKGdlbmVyYXRlVGVzdCk6CisgICAgICAg
ICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVzb3VyY2Vz
L3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8uanM6IEFkZGVkLgorICAgICAg
ICAoZGVidWcpOgorICAgICAgICAoLmluaXQpOgorICAgICAgICAoLnJ1bk9uZUl0ZXJhdGlvbik6
CisgICAgICAgICgucnVuVGVzdCk6CisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rl
c3RfZmlsZXMvY29uZm9ybWFuY2UvcmVzb3VyY2VzL3ZlcnRleFNoYWRlci52ZXJ0OiBBZGRlZC4K
KyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9y
ZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qczogQWRkZWQuCisgICAgICAgIChXZWJHTFRlc3RV
dGlscyk6CisgICAgICAgIChXZWJHTFRlc3RVdGlscy4pOgorICAgICAgICAqIHdlYmdsL3Jlc291
cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3Jlc291cmNlcy93ZWJnbC10ZXN0Lmpz
OiBBZGRlZC4KKyAgICAgICAgKHdlYmdsVGVzdExvZyk6CisgICAgICAgIChnZXRHTEVycm9yQXNT
dHJpbmcpOgorICAgICAgICAoc2hvdWxkR2VuZXJhdGVHTEVycm9yKToKKyAgICAgICAgKGdsRXJy
b3JTaG91bGRCZSk6CisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMv
Y29uZm9ybWFuY2UvcmVzb3VyY2VzL3plcm8tYWxwaGEucG5nOiBBZGRlZC4KKyAgICAgICAgKiB3
ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9yZXNvdXJjZXMvZGVza3RvcC1nbC1jb25z
dGFudHMuanM6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2Zp
bGVzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanM6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jl
c291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qczogQWRkZWQu
CisgICAgICAgICguKToKKyAgICAgICAgKHJlcG9ydFRlc3RSZXN1bHRzVG9IYXJuZXNzKToKKyAg
ICAgICAgKG5vdGlmeUZpbmlzaGVkVG9IYXJuZXNzKToKKyAgICAgICAgKGRlc2NyaXB0aW9uKToK
KyAgICAgICAgKGRlYnVnKToKKyAgICAgICAgKGVzY2FwZUhUTUwpOgorICAgICAgICAodGVzdFBh
c3NlZCk6CisgICAgICAgICh0ZXN0RmFpbGVkKToKKyAgICAgICAgKGFyZUFycmF5c0VxdWFsKToK
KyAgICAgICAgKGlzTWludXNaZXJvKToKKyAgICAgICAgKGlzUmVzdWx0Q29ycmVjdCk6CisgICAg
ICAgIChzdHJpbmdpZnkpOgorICAgICAgICAoZXZhbEFuZExvZyk6CisgICAgICAgIChzaG91bGRC
ZSk6CisgICAgICAgIChzaG91bGROb3RCZSk6CisgICAgICAgIChzaG91bGRCZVRydWUpOgorICAg
ICAgICAoc2hvdWxkQmVGYWxzZSk6CisgICAgICAgIChzaG91bGRCZU5hTik6CisgICAgICAgIChz
aG91bGRCZU51bGwpOgorICAgICAgICAoc2hvdWxkQmVFcXVhbFRvU3RyaW5nKToKKyAgICAgICAg
KHNob3VsZEV2YWx1YXRlVG8pOgorICAgICAgICAoc2hvdWxkQmVOb25aZXJvKToKKyAgICAgICAg
KHNob3VsZEJlTm9uTnVsbCk6CisgICAgICAgIChzaG91bGRCZVVuZGVmaW5lZCk6CisgICAgICAg
IChzaG91bGRCZURlZmluZWQpOgorICAgICAgICAoc2hvdWxkQmVHcmVhdGVyVGhhbk9yRXF1YWwp
OgorICAgICAgICAoZXhwZWN0VHJ1ZSk6CisgICAgICAgIChzaG91bGRUaHJvdyk6CisgICAgICAg
IChhc3NlcnRNc2cpOgorICAgICAgICAoZ2MuZ2NSZWMpOgorICAgICAgICAoZ2MpOgorICAgICAg
ICAoZmluaXNoVGVzdC5lcGlsb2d1ZS5vbmxvYWQpOgorICAgICAgICAoZmluaXNoVGVzdCk6Cisg
ICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvcmVzb3VyY2VzL2pzLXRl
c3Qtc3R5bGUuY3NzOiBBZGRlZC4KKyAgICAgICAgKC5wYXNzKToKKyAgICAgICAgKC5mYWlsKToK
KyAgICAgICAgKCNjb25zb2xlKToKKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9yZXNvdXJjZXMvdGVzdC1ldmFsLmpzOiBBZGRlZC4KKyAgICAgICAgKFRlc3RFdmFs
KToKKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9yZXNvdXJjZXMv
d2ViZ2wtbG9nby5wbmc6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90
ZXN0X2ZpbGVzL3Jlc291cmNlcy93ZWJnbC10ZXN0LWhhcm5lc3MuanM6IEFkZGVkLgorICAgICAg
ICAoV2ViR0xUZXN0SGFybmVzc01vZHVsZS5sb2cpOgorICAgICAgICAoV2ViR0xUZXN0SGFybmVz
c01vZHVsZS50cnkucmVxdWVzdC5vbnJlYWR5c3RhdGVjaGFuZ2UpOgorICAgICAgICAoV2ViR0xU
ZXN0SGFybmVzc01vZHVsZS5sb2FkVGV4dEZpbGVBc3luY2hyb25vdXMpOgorICAgICAgICAoV2Vi
R0xUZXN0SGFybmVzc01vZHVsZS5ncmVhdGVyVGhhbk9yRXF1YWxUb1ZlcnNpb24pOgorICAgICAg
ICAoV2ViR0xUZXN0SGFybmVzc01vZHVsZS5jb3B5T2JqZWN0KToKKyAgICAgICAgKFdlYkdMVGVz
dEhhcm5lc3NNb2R1bGUudG9DYW1lbENhc2UpOgorICAgICAgICAoV2ViR0xUZXN0SGFybmVzc01v
ZHVsZS4pOgorICAgICAgICAoV2ViR0xUZXN0SGFybmVzc01vZHVsZS5nZXRGaWxlTGlzdEltcGwp
OgorICAgICAgICAoV2ViR0xUZXN0SGFybmVzc01vZHVsZS52YXIpOgorICAgICAgICAoV2ViR0xU
ZXN0SGFybmVzc01vZHVsZS5nZXRGaWxlTGlzdCk6CisgICAgICAgIChXZWJHTFRlc3RIYXJuZXNz
TW9kdWxlLkZpbHRlclVSTCk6CisgICAgICAgIChXZWJHTFRlc3RIYXJuZXNzTW9kdWxlLlRlc3RG
aWxlKToKKyAgICAgICAgKFdlYkdMVGVzdEhhcm5lc3NNb2R1bGUuVGVzdCk6CisgICAgICAgIChX
ZWJHTFRlc3RIYXJuZXNzTW9kdWxlLlRlc3RIYXJuZXNzKToKKyAgICAgICAgKFdlYkdMVGVzdEhh
cm5lc3NNb2R1bGUuVGVzdEhhcm5lc3MucHJvdG90eXBlLmFkZEZpbGVzXyk6CisgICAgICAgIChX
ZWJHTFRlc3RIYXJuZXNzTW9kdWxlLlRlc3RIYXJuZXNzLnByb3RvdHlwZS5ydW5UZXN0cyk6Cisg
ICAgICAgIChXZWJHTFRlc3RIYXJuZXNzTW9kdWxlLlRlc3RIYXJuZXNzLnByb3RvdHlwZS5zZXRU
aW1lb3V0KToKKyAgICAgICAgKFdlYkdMVGVzdEhhcm5lc3NNb2R1bGUuVGVzdEhhcm5lc3MucHJv
dG90eXBlLmNsZWFyVGltZW91dCk6CisgICAgICAgIChXZWJHTFRlc3RIYXJuZXNzTW9kdWxlLlRl
c3RIYXJuZXNzLnByb3RvdHlwZS5zdGFydE5leHRUZXN0KToKKyAgICAgICAgKFdlYkdMVGVzdEhh
cm5lc3NNb2R1bGUuVGVzdEhhcm5lc3MucHJvdG90eXBlLnN0YXJ0VGVzdCk6CisgICAgICAgIChX
ZWJHTFRlc3RIYXJuZXNzTW9kdWxlLlRlc3RIYXJuZXNzLnByb3RvdHlwZS5nZXRUZXN0KToKKyAg
ICAgICAgKFdlYkdMVGVzdEhhcm5lc3NNb2R1bGUuVGVzdEhhcm5lc3MucHJvdG90eXBlLnJlcG9y
dFJlc3VsdHMpOgorICAgICAgICAoV2ViR0xUZXN0SGFybmVzc01vZHVsZS5UZXN0SGFybmVzcy5w
cm90b3R5cGUuZGVxdWVUZXN0KToKKyAgICAgICAgKFdlYkdMVGVzdEhhcm5lc3NNb2R1bGUuVGVz
dEhhcm5lc3MucHJvdG90eXBlLm5vdGlmeUZpbmlzaGVkKToKKyAgICAgICAgKFdlYkdMVGVzdEhh
cm5lc3NNb2R1bGUuVGVzdEhhcm5lc3MucHJvdG90eXBlLnRpbWVvdXQpOgorICAgICAgICAoV2Vi
R0xUZXN0SGFybmVzc01vZHVsZS5UZXN0SGFybmVzcy5wcm90b3R5cGUuc2V0VGltZW91dERlbGF5
KToKKyAgICAgICAgKFdlYkdMVGVzdEhhcm5lc3NNb2R1bGUpOgorICAgICAgICAqIHdlYmdsL3Jl
c291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzOiBBZGRlZC4KKyAgICAgICAgKC4p
OgorCiAyMDEzLTAyLTA0ICBKdWxpZW4gQ2hhZmZyYWl4ICA8amNoYWZmcmFpeEB3ZWJraXQub3Jn
PgogCiAgICAgICAgIFtDU1MgR3JpZCBMYXlvdXRdIEFkZCBwYXJzaW5nIGZvciBncmlkLWF1dG8t
ZmxvdwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2UvcmVzb3VyY2VzLzN4My5wbmcgYi9MYXlvdXRUZXN0cy93ZWJnbC9y
ZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZXNvdXJjZXMvM3gzLnBuZwpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi42Y2YxZTc0NDdhM2E5YWNhNDBhODAzODNiNzU1MDAxNzg5OTQxZTZkCkdJVCBi
aW5hcnkgcGF0Y2gKbGl0ZXJhbCAyODA2CnpjbVY8UzNKTFh6UCk8aDszS3xMazAwMGUxTkpMVHEw
MDA5MzAwMDlCMHNzSTIqLTllbDAwMDA5YTdiQm0wMDBYVQp6MDAwWFUwUldudTd5dGtZUGlhRiNQ
KjctWmJaPktMWipVKzxMcWl+TmEmS203WS1Jb2RjLW95KVhILSteN0NyYWcKel5nPklCZlJzeWJR
V1hkd1FiTFA+NnA8ej5BcWZ5bGgje2ZiNjtaKHZNTVZTfiRlQFM9aipmdGc2O1VoPGlWRH5WCno8
UlBNdGdRSkx3JUtQRGFxaWZjQF92WCQxd2J3cjl0bjswLSZqLUs9NDM8YlVROGo9SnNYYHRSO0Rn
NysjXkt+SAp6SyFGTSpafnpicHZ0JUsye1VaU1lfPGxTKkQ8WiVMejVvR3UoK2RheXopaFJMRmRU
PmY1OSZnaFRtZ1dEMGw7KlQKekk3PGtDNmFZWWFqelhwWUt0PSg4b3RQJDUwSDZjX1Y5UjQtO3ta
QEMwQU1HNz1GPFJ4byVvcjEwUlVUK0FyJTNqCnprcExoUVdyIyFvWGdkSWAmc0tePjA5WV5wNmxQ
MXJJUk14IzA1Q35jVz1IX0F3KmJKLTVEVCZaMm4reClRSFhecAp6MDBlc2dWOHxtUWNtUlolMDJE
XkBTM0wxNnRgTyVjMDA0Tkl2T0t2WUlZb2g2MnJZMzNTNjQwYEQ5JVkyRC08P2kKejAlNGohRjJa
QDQ4OFUlMTU4KDY2MDA1d282JXBXcl5aal92NHpBQTVIamNJcVVvR210MkxCPnJWJm5laCYjUTFp
CnowMDd+MWUkb0NjRlM4bmVJfGhKbHstUCFCMVpaOWhwbXEwKVgwaWBKd0UmPiQrRT8+JV88bFMq
TVdLK24rMWNnZgp6PGsoOFlMUig/VlNBRzZ4IWU3OHd7Y1FQdUpwQXxkO0opR3tmaWhpek0rRXJi
IXAhdGNyNXcrYTM0fihZPThzNEcKencrc0xMOW4mSmpObipLSkRpcV5VNV47YDFudkMtQHI2UCQh
a30xVXsoKkk9US16QHRCS0hvSX11eGRVNWR5eUB1CnpVMUowR09EN09tYmltXkcwMDhwNFpeNl9r
Mm1ecDxnVz1EMnxMO0hqTjEhRERmTSFYT2FSMn5iTD9rWCQlQ2tTbQp6Mm1rOz9wbilvfEteeWVK
NyVhZEI5S2krTCEzK0ZnSGlTWVgjS0otbExKRE1uOUNCYk90YiMlKWhSdmBZRHF0X3YKektwaXh8
UUR9eWZhMUppUVJrI2o0YTFaKW4yJWY8eHluelY+TEM2UmJWSWtVeDBiK18rQmFSM2NuVDdadiFB
SnhXCnppekZiKWghanlHT09aODVGO2E/REFYUHttQDshMF9JZnE8RXh7KjdgMDVYRjdoUCsySGwh
M0JRSj02QGZMJUZDbwp6OGlZb28zKCNiQUZgQURTcHF0UWd2Pkg4KEhsZ1J4dDdzM31rM0tga0Z1
Pj4tMlEkUU1GZlBXIUxhe2gzMzZvPlgKenVfQ010dEh2NnpSOyZaTmlTPVg4djNDUiNma25VeEhV
eEo8QVltUnNOTFdsKlBTe0FPQVJIdCM1IXdraTI/Szt0CnohWTNrPXM3dGdheClKJXI3LUJMcGhn
ZTd+QmkwZys2RTZeWmgocDlUQm9jezNHQUZyXjAhZ3U/Uk1IYUNNJCZGbAp6QmszJXVuPjB1b0Jh
X002V05XZXFJZ342UUU2OWM5byNleWhHdnBpT0FAVy1hb25rPDdyMSg/ZkN7b0k1TipVITQKejx1
djY2V3RjS1NSaW0weC1LZTJkNWpCcm1MYW17O1FtO3ttczFyMUdubU5zYjdELUVgdClpOUY4Zlhg
Ml9pMy1fCnpiaDs3VWxeI3gpJnt4dlM9fHx8Nz1tWWUzMz1NYEFnVTUoeEM+Zmc9Mk4tNz1jTm5q
ak9ye3lyaXk2bU1GZ0cjbAp6bkNGPWZuUXY4Q0R6KytvNl9Mc2NsfWVRK2xeWkhBUkg+P19zQHwj
I1JyNktMUkZBMSVRKz0qUlJXbm9Mc1JgN1UKenQ1dkY8UTByNDBRKWo2PXNFNFgmc0JjdDFxPCZm
YmkzVkIyT3Y2dEBxKjApO1UqbypTQVBadnx2dkAyYVlZblQwCnpiJThhK0NiNy1nZTBEMGtuRWY1
UWkjQDhUcCpjZXtOOzZscFF1Q0IlS0xfS09hcm01Y1A2XzhJcjxlMTdpcnk2Twp6RGRIJmByWmh+
c0Y9YnE5cytPMFFTZ1N+QFFMOUpteSo5NHhyPTZ5fk1ZfiExZmV0fihOKyg8PU1gd0BEMSliK3AK
eio7QyE4M2ExdUxKdiNOU0V+O3kjOD08PkljZlczQD93RnB3VVZ4clZaPlFkUXozMktJZUp9a357
Y1paRV4reWE/CnoyRDF6IzJIT25JNyhCJV9hYz97d0ZVUTtRUUExdEJLdHJXcm0wXzNSZ3BzKz9K
ZnFie2pZYmNRWH50YVJCOyMkeQp6Wk57U30xfH1nVU9ISnhjP3dWM2Z4dXorbUo0YCFGJElaO21x
UnJOc0hKZCMjKkR+anU9YlA3Py0/dn58Y3Y+dkIKenNKNkllTndWWnhyZGpUYHlsI2JCSWEjR3hS
YSN4TU15O0sjQ0R5eUd5UWRNU3hsV1QjdERlP3AhPzV3VCQrb0d0Cno4TDtLcDJIVVEtWk1KPTNY
SlF2O3g1Y2kqP3Z1VGZlWSQ7KHtYR1dfaHVJRlI5YTxmSmJGXnw0SSN4UX5uJERjPQp6S1loallt
Z3o1TlNrRG04KmZabXs2VSE7WVhgTkc+KD9AMylYU3M4T15ONVJ5T009VFRtcCgzPTheK3pwejJy
KUMKel4+Sk97ZGVaZnNvM29xMz9XbyhZP2wkZ2U/dVhvOyVydWBWbz4/PDwoOElfPjs4RXEjS01T
OWdGbCpuZWVvc1NCCnpmb0hZbkJRSWt3a3lvd1B1KHpkbXNgcHs8N2U0a3JhLVpXcTwyKk9zR1R2
RVYlczBUZCRoWFQrISo4Qm5oMktNZQp6Qm1aUm9kakhWP3IrXzVeWDlKMFdMNGpLV2B9bGYlQS18
NDRJQEBMVHZmMXJIakcoemU2K3dASnQlQnZqdHMhWDAKej8yeFM/X3ZlXy1rPE11amc7MEx6KjNi
dUc9MyRHJmVoZXB0aGxOKiRLYU95U1NRXm5XbW88ME0rKFVFVU1FWFJRCnpNQmJaY0Y7NitLRWxN
PmlLQl9LaUpsWiQ5R2BjXj1FQG9ORyltV1dhTm8tM1RJVzgpJEhnMFViLX44P0todko+JAp6Myom
bmltQG1qKGFDeEU1IXR7bHc3TzVeMEVJTzd6T28mYzZsPCt8aUR5U0JXQ0dyekBDNXtTdCFYM2hB
QX1gVDQKeihUTGJYVHErKDtAPD1MOGRYbnNzeWZ0fHcjV1NUVzwrKzM+c2dTJSg0TlRwZUktVkFx
Ynw3c3NKdnpOSGdPWlZ1CnphWUN2Z09fUjF+PlN5TD1jRlV8fmd8aHl8Wml9fXM5K2R+bFlxT0I3
MXo5WiR3bkM9cFI5WXo0RGhJTT5XbWpndQp6JjU2bzZtYUNwQyZGIyN5JUc7MVBvYlI5aT9Hbk5n
O2dZdGNoRCVwMTlhIWVRdFpGJjNKYUt2MzNnWjw4RH40N0UKenRVUzFpd2ttRGFQcGo9JG0jJSlq
Q1ZFWTRmbkxHTmcyQS1gWXdIVkQzZ3Z9Oz4paEF2VH5BbXFTPkxyYGBpN2t3CnpKezVfSXRgeXJC
bWxjMjVEQk83RTg7NVZvem5SPld3NWhBYXhuJDJ+KHFgJUEtWXVTNjR3a0J5PTlkbWA0Y1hlWAp6
NGN9SUA/ZStGVytiQF5SREJIVih3bk1xMnpkWDNTV3Y5dWAle3hDLXEqVX0mYGN5WFYoJXJSVCpa
Nk1IP2kraSYKel9COEMoK2dyVCV7WFdVUStmQE5vUDFSPUFXJjI2e3YtZHgpaUteLU5taXVqOHR4
aiFtP1oqU3MxTntkaDR6fTAxCnopWVRvKkp5Y1NVKStfNXI0I3l3OXsrO2k0RWUkcGVSZ0lqKzt2
O1pHZEYxSyQzRSVlfjRMYUkoakMtdSUyaCQmUgp6OWNMWGNZQ0BYd25ucyZibilfUX5UZT9yb0tH
RHxkLWdeODsrYUN7e0coMV4oTzdtMzdZMS0rNikwMWNOJnkxYXcKem9xY3tUYFBeWEpxUEJiSVc2
c31kNHt6X2Y1T20/dk1nTlFFSkc/djJUPUtZZF4wTTNJNklaeGJueSkldlpSJkxECnpKcFBsQFBz
aDhReVBCQEtUeCtAUmRjQyFLWDd9a0VvO1N8al51MmxVN1hRfU9vO2Z8O3o0TGwrX3I+QDEteGwz
fAp6YXdxLUglZSZja0MrQEFoUHJQNkJLPHo9PEwqMGtmS1VAQ1gqemVxYllRVDQoXlU+VCNfWGRU
NyY7Rjcxan1Kb3kKemtDfjZsaDdFQDZvO1dAXklwUk5ae3B0THRMKGdRLUNZfjRtcVc7VVM3Wnh2
bV98QHl6JmU1M0JwX2xUUGxmUHx6CnpyVHl4Xz5sdkB4Iz1eIVB6UjdxcUY8JGdtYHxaSlorOzwp
Q3F1Jm90PGF7ODFERjB+cnZHcjVYcn44dWBsYXYxaAp6MUROeXRWPjJ6PTAwMDBXVkBPZz4wMDRS
PTAwNGw0MDA4O18wMDRtTDAwNENgMDA4UD4wMDI2ZTAwMCtubDMmRn0KejAwMDBYTmtsPFpjLWt6
LXU+ay04MipWKXl8SXUtZ2pmRUtMMUJ3RngwUlI2MzBEUlI0YHtQYUlMO3dIKTA3KnFvCklNNk48
JGYra3h1aVUwcnIKCmxpdGVyYWwgMApIY21WP2QwMDAwMQoKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3Jlc291cmNl
cy9ibHVlLTF4MS5qcGcgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9m
aWxlcy9jb25mb3JtYW5jZS9yZXNvdXJjZXMvYmx1ZS0xeDEuanBnCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE3MGJi
YjAyMTlkYjkxMDM1ZDhlMzdkNTZhNjU0OThjMTA4NTFiNmIKR0lUIGJpbmFyeSBwYXRjaApsaXRl
cmFsIDMxOQp6Y21leD08TnBIJjBXVVhDSHdII1ZNZ3xXY1djZEcmTEJfYyNITClaJE1XSDtpQnR5
YTcoPkZqTktUamMxIThiQWEKenw3YHxta1huaVckUGtKUTBCUWJ6ZkkqT2hmc3VpY25OZio+TnN5
NlFrbiNUITIycjVuNypHS2hQKl85JlU2Y1cmCm03LSRUdFNgTSZjS3tRY2RweGsyTVZQKnRjIXp7
PlAmKEsjT3t5fV5IfEM8MVpCXytOOQoKbGl0ZXJhbCAwCkhjbVY/ZDAwMDAxCgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFu
Y2UvcmVzb3VyY2VzL2Jvb2xVbmlmb3JtU2hhZGVyLnZlcnQgYi9MYXlvdXRUZXN0cy93ZWJnbC9y
ZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZXNvdXJjZXMvYm9vbFVuaWZv
cm1TaGFkZXIudmVydApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45MjI2YjNiNWMwZmE3N2RjOTY2MzhhZWI0YjMzZDFk
MTYyOGQ4MTc4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2Vz
L3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVzb3VyY2VzL2Jvb2xVbmlmb3JtU2hhZGVy
LnZlcnQKQEAgLTAsMCArMSw0MyBAQAorLyoKKyAqIENvcHlyaWdodCAoYykgMjAwOSBUaGUgQ2hy
b21pdW0gQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICog
TmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICog
Y29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBk
ZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0
dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUg
Q09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogQVMgSVMgQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisqLworCit1bmlmb3JtIGJvb2wgYnZhbDsKK3VuaWZvcm0gYnZl
YzIgYnZhbDI7Cit1bmlmb3JtIGJ2ZWMzIGJ2YWwzOwordW5pZm9ybSBidmVjNCBidmFsNDsKKwor
dm9pZCBtYWluKCkKK3sKKyAgICBib29sIGFsbFNldCA9IGJ2YWwKKyAgICAgICAgICAgICYmIGJ2
YWwyWzBdICYmIGJ2YWwyWzFdCisgICAgICAgICAgICAmJiBidmFsM1swXSAmJiBidmFsM1sxXSAm
JiBidmFsM1syXQorICAgICAgICAgICAgJiYgYnZhbDRbMF0gJiYgYnZhbDRbMV0gJiYgYnZhbDRb
Ml0gJiYgYnZhbDRbM107CisgICAgZ2xfUG9zaXRpb24gPSB2ZWM0KChhbGxTZXQgPyAxLjAgOiAt
MS4wKSwgMC4wLCAwLjAsIDEuMCk7Cit9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9y
ZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZXNvdXJjZXMvYnVnLTMyODg4
LXRleHR1cmUucG5nIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmls
ZXMvY29uZm9ybWFuY2UvcmVzb3VyY2VzL2J1Zy0zMjg4OC10ZXh0dXJlLnBuZwpuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5lNzhjZmU3OTk3OWI4NTIwMmJlYzE5YjhhNDU0ZTY2OTM2MWVlOGNhCkdJVCBiaW5hcnkgcGF0
Y2gKbGl0ZXJhbCAxMDA1MAp6Y21YQXZjUlpXbCtzN2tUP0FVdmNxSDM0NFIlfUlXVXV0aCFkKTN+
MVE9PTVJcyNjQktkbHByQEN+OEhpNihlWkcKel9OMmUoazMwQUlFM2YtcCpFIWV1VDxfMEcoOXUj
UUEhSHh+MDAxTn0pUmdvOTA0JlQ5enlgdkB7TjdjNCtReTZsCnpGTz1qQnswb2prZzBqcEUzeTw1
VHBaUWo2XzApN3F0P2dfNSRPYkU8cn5CWkA8MEBoVSZyJjBjQSE9TEI2QkF5PAp6UV59bl54I3sl
diNaeGB1V3AtY2xVVSpPYEpCbykoRTYrdEIyP3U8PldsREVSLTV1OWU+bF5OZFR4e0x6aEE1Q3sK
eiZhQXp6PmxFQkRYe3FrS28/cEs/e01HMEZhRGwhI0dGSmpjXyNzS3gyT2YmakAwVXBZQGxXOCl4
Mk1Jb1VsQF8zCnpfdE5hcVklVFQ5ND9OTkZ3bGFORGF4JDhVZkw1MWZ1WnZHRl5RU0VQTGhzSiU+
Z3JuY3M8SF8we1JWSnBVMGpAPAp6NXVGRnNIS0JJe1dURDhzZWZJO1lPTVE3T1dQeHtyMiM/cl4t
QmJyeEcrUSo3e1JQRSlgQDkkTHpEQTgyeW5yc0UKemUyazJZUl94XjdZZ00zSFRVK2FAPF53cEdV
SXc+Sk19dXtQaW8hXzBzYDhYI3hoeXlTSVcoO0t1UXY0ZGJoSTgyCnpLQnB4YF41bkBBUD5lIXgp
KncyQjNFfX1MRD1SfXZsZkFiTHlgcm8hczwtZ0hTYXgmfD0jcFokWjFrRlRtKz8+OQp6NzR3SVlq
aF5laVByTlYtbnRrVXhYYTMkb2U4cHZNbEtPMGZWKTFre2tjeHU2KHBrK1ZYXyN8TyV2NXd2N1hD
KUoKekBvdj49KnA9flZII1kjakF7ZXxmKyllKV9XbTQ+JmBLRnEybT1wclBJO3psSFAqPEg9ejNP
YSFlNUtEPVZqQHwpCnpZV3MjYk9TSWVCP2ZnQGRSPyVXcmJ1fSR2JXh5Ul5qfShvTXhwdiF4K21x
SVVQN3NqdGZwLWh+I3JQeyhaYDFWJQp6cWcoc3RaZjVVVG5VMz9gWVVeJkp4O0BfbE48dnIjUWpT
eGlReSlMdEh0eT9kajx2fWdHT2huNVlCdTl1O3ZpdUUKejRKVzkyTFRwT3pIPD19Q21BbkNLdmdv
KE9RcHVAJi0mTjE2OTMxNHxJYz58cFcmOElzKUZ+PmJXNz9xPE53aCtFCnpmVUklKnJCOyZaYjll
eFk9M0kwZyF2Q21jNXFYV01qfW5PO1dlR2FgdHw4Uihfd31vc1dkb19yVEJMaVF8RVpDWAp6OF5Y
ZlBuM1ZxJFpqWVZLPHw9KW1UeFprUDtDXiprejI5ZnM+OFgzZW1AbiM2WGdZeSRXJFZ3dElnZXVI
cD4ldEsKem1+Tn5VdWRlIXpgXyU8biVVPUlBcDlLPVkzY2R6MkJOPUh1IV96Z1VLZzN6eSFYdW1Y
SmkkWkpifilndEd2aiU+Cnpsa1VxWCtSdHZVM3M7Xk1xVk94OWhBI1JKSilwTUYoUzYtRkdidTFf
WWJoMyYoVXtsRT9ZOU1mQXJDdl8oPkdldQp6RVJxfTxAbnpOMzZ9KkluaHYrYEh3YShPJmBAZzN4
TVZHKFUoaDFuZSZ2Sl5ZK0tJZDNvPTdpdFY0WXZjJjM5TjIKeiNiej8jTjM7JDMrJHNFOHhrPEFU
PStsSWRNc0YkVHVvaERkcVdZZkBXdTQyMFVVYSM/cnhncXFaK0JHSXRyUXFQCnpiVUx4KEBjJkV1
Jn0tZV4qSCktY0RodmJ5SiVBaXM7bjs4LXN8OXJBVmw7VTtfVWJNIzg4ejdiK3VRcDs9KVRaWgp6
UzshYFopcCpWbU42V1glX1MlenFWKSZMMSpOZnpZRio8P3shYXBsWXJIbEk/PndpO1hgeHBidzY3
Z3RhUDU4PCMKekUtNntvKlQtNlB8Rl9+e1l3U19jP2FXe2Q1JkIhPiNIVzBhTVBPfikqMjNEfGMq
eXJuZVoxKmk0O2oqO3Z3ZENgCnpmQ3NXWHFVOCRhclB8S0hGM1hAMHUhSjJlXkclVjtsYj5ecUxj
WkhWdjVhe0x4byZnMysheTNxeUl5N0t2RFRLZQp6X005MnpFfWQoNmF8WjEjYGBzWk5PKkhQZXNs
KGNPcU5zeCgzREtiPGJCS3E+Mz1KSXh7ayg2IXFnPUVJSyt0UGMKekVNZ045dmtUdzlscCtsfFNP
YFVeQz9WS2AyP2VqTC1yKk9tQENMPEdDayt6PSlaVHJpUnhUTWh2bDh7YWAxYGtjCno8UkVgam0t
R3FPS3NpJitIMmppRDZFT09yPnNtd2I/UyZ5ISk2ZThNJnMqQC00WjdhbSk+aEpjMUBCMlZvUita
bwp6azcpRD5fU1EhKFh8aVUkSll+UGApfUp6e2RDUSs2d19BXiZ6SEEhV1kreV91dTxLentwLTxN
TXVSRFYzVT00REUKelE+IUtXJWQxYnRmV3B1alBse3B5OWhOdH1JO1YySChzczBPS3wwe1NUOVgh
JklxfjNxNE5EK2MjczFQRGBLWS04Cno5VyVLVWg8dnt7QClpcyhrbE1vYk07OWNDbkM5Y0liZCVw
YS1vVnt1UWRDcllpQyo9ZHtAISljZCgtTHhJUnU2YQp6akp4bmhaOH4qZG5yTSVQKXJIeURCSnxz
M1YtVUphcSVtN3AkZEk/OSVCJXg5dn5ORUxxVyU7eipLTCo1SkF6aSkKemopJkxSO141d2xXfCEm
bGtATE5RMCVxYzVVKXAwfktMOF5tZyNPNWw/JGtCQXU2cmBTSkN5NHF7ZkFXZl5KN0AhCnozaSpI
M1M/eHF+WGs5QV87P1lSIVNMd0o+Nlo4Zk4/NFBRd3hOdyhrRjJ8OyY3RExPUUY2TXB6KUxCdV5J
V2o8KAp6REtvOClDWm19KT9fMkMpOUhSO01eaGs/ezxFdVB+OyU4Q3NyNCp0YCVFTEBTZ0BnUE42
S1BrOCZiSzAka2l4PmsKenFqU0xyWCl9SkUySTxAMDRRUTI8O3dBQVklQiV6NiQhOGJwbD9rPUYp
JCY4SG1GbCQ5IXwqS3gxYCshYUw2XmQzCnoqQFYyaUB3fGpLQzE2MUQ/Kk9fTTBWKWdzTy1fPksh
OzIxREdpMFVgaGJ9PTVTZXtrVz1hNUpjeyMtJn0yblc0UAp6VWlKdjZucTFeVEZHezdSUkNRa2pq
MEU9WDUwblo5aHVXQXoxcG1MaGtGdGl7Q1NvY2ZSKVAxQCZAO05PayhyeHUKek1gV2Qrb0o7cFch
KnEmdFIweVpnKjIhKU5EVFJqWk9nbTElRWZ+NnhnNG8rTFpnWkx+VyZaR0t4dzwrcTsqbGA1Cnph
Y1dWaC1QViskYzI5I0p3PkAjKUQ3O2hGclJ+amFze1I2JjdFUjhkUGhreGdaR0tDd2FxSHs0RV5G
NyVkNnt1YAp6bF8mRCVtT19xTmpPcmdMNGNuJm12PEE7aiY2K3RRaD41Y2Eyd01yKz9OKDdlbWk2
NU0hQGxVJlJ0YUQyXjNZTSoKejRpVGNxYFdje1QxKVg5Kzd0cjRQQE5MJTUwRn1CZy1iPSNYK0sw
PUY8VkZoZFA2VTtuQm5BRyRSZEozfGVxcEJ2CnpZMkUwTEFsYDZyQitpSk92QUF9U2h1alY4USs9
YG9xSHFGVW1iZ1B2SE5oeDVlZ0JXREgzc3wlMks8SStBI3p7bwp6R00kSDs1PXkoZXF9blB5WCkz
YEdWLUc5aEVOR2t0KmUzWTUlKmVhJlp4cXw8I0NiMFowWUxYcktgTyFPem8/SzEKekZ9eWFOQExx
UztpPSpgdjhCUntOJHd7SEgqLUFrJlFXenQpQzxWSykzfFhoXjVLPWxGcFlec1lQMDtMO3haSSRN
CnpTezFXKkRQODAydnFWSXRhcHJzbUxhXmN3VHI1TkMwPHArbkROOW8rOCkhaF5hWTZCZCgqXyUj
V1NMVm8qKl5MaQp6bGQxdjhtdkRXfjNoP1MrYG1CSUErYmc9ZEFybHcxJmdtfEM0XlhWXi13eSMy
UTZfRXZmUk5nPCQ5fTx3V3s+UysKekxlMk8mRHNuMH1uTzY4ZWFxbnEyOEp9Xj17RU5AeHUwb1NC
MERHbzcjODkoTFptWlAmO1EpJGZiIyF6WElrTmVPCnpieEQqbUpDeVFDRHByYXBRPmlgSTlRfmJO
eT56ZDVwNEleWHNyPi18OU98P0BXTk9XXk9Hcmp0bTdHezxtN0c/Sgp6PyFaMih0JG02M3IxdWEl
KXxkTihnRG53OWYle3UzbUlnKWNgPEZpVkU2VUBrcFo5bXs9VD5fQTAjPz51SlIjK3QKejEqdFEp
JDNgcyViK15gTmNoYXVBK3p1eGBKTzlGUlFSWlErIUNNV20yZU1HPVA/NDU7S3BuIXJ2ZTY1O3l0
MEAtCnptd3FhSVVxdH5PS1lSdVVnMjZoXkBUdXIreU5ZNitsTUNSUElCeGNJbU4oeUBrWkdjTnBZ
N154JlhsWn10OGJkcAp6e0xMVWdKVUpTITtwN0Nod0JBMm9VJWpuWHRzMTBFRmZZZihtcCVJNlEw
P0BBKk0hRHA4WEw8ZEtNZFcpeFp5WCgKek87JWxmdXN+USEkJjlXajQ3azhQKXpxKXApZGRNd1lw
X0hkUChUNVZBRUVqTlk2YyhNP2s8TTJCTUpSbTt9Ul9mCnpEb1ojRV5Pc1JaOEBEJTxnMzQoYzBL
e1V3PEAlMnd6KHJzN00yZTRWVTB+KF8wOyFwPj9HTzN4eTtwdDJMLTd2Pgp6TXQjQDkwR0UmVzRa
bCtRNzRlQUROMDY3aytPaypNYWRqTyNBNT8rTlkmdlI+ZWg+aFZUfUdybiE2JU4+XzAkU2IKejVZ
fC05YmUxUFhGdmREYVNiKiUpcEhpRVNecDd2blRJQmtMVT1NUCUoaz9SYmk3Ri1EV08hJlNgcGRu
Ri1VZFA4CnpQezUySHh5KShYYj80fikmOFEjTWgpUEJwald2WW9sWk5Na2x7b182Vj9GQ1lKTmdS
eU9UJUF9Xj16VGFVNld0egp6Vi1tRVgkQWgwSF42Xm1iQCtRcWllQzYhO2FLMXlOd0tqPVpeJGV1
OzxEcz5DandgTEx1UiY7bnItNll5MjhPPz8Kenp7dEd0RXUhZDxSSkNaJW95IT9CVWY2Q2BtWSNp
ZVE8JFRwPDR1KnVNeDMhKT4+dXhORU9KMUpHMktlckorYkFoCnp0TWA1ZGQqYCphdn1oazZwVT9S
UkEqUiZsUytteD0qcFpKTGQ/SEthQmt6PXtWKyQ2VnNeKCF7OVIqQkFIJnFoZQp6X2NSdEZqIU1C
ektpRW4+YStqOW5YKnp0Q2VaUylIIUN9SSlLbitnZElhUXZKZGVeaU9IcnZfcyRZWDhEYFFCQyQK
ekxMT21RKzIyVCN7T3RKO1peb3xzTVFwU01veUpKVDR3bFBtYClNU20pP2dJZCMzQ08+UGdubTg1
d3JWNS1MZ3c3CnpJNjxpWmUpM1k2ejlPMilMeDdRcGVBcypJPFljQW9XSWtCZHZJMyh3S2pTK3E1
M34qVHQ1cSNEbnxvTTE0VkJmeAp6PjdDd2VVcyYkNVM+bng/MEJ1NDcmaGNmdmhhOFc0e3gqOXs5
M3poMTdJME98S1VTZE14O2w1RUs1NT8lZUV1PEkKenZwPWp3YX1qfiVCMHw/SG1NRSg9MyllSz9g
UX10MjIma09mKSZmOHtTSz05V3A1NzFtclg5PU40ITNeQDdsP3MtCnpsQTd3WTQtVU4+N0dzNVp7
cWIrdytsNlNeSXFLZDwpJDw1ZDhEYTZAdjspKmJAVU9YeF97Wnt5Nz99QzN1N0pKSAp6M09AKyk0
bkRJTSpWTlJ3eztXIVpmfnVXZTJSNnJYO3pncFo1JnRgYjRZb2V9aHtKR2Jgd0BMJVNWdT1rZ14m
T0gKelowcyNzKGlpQGhGbHcwU3Y0ZGZKJV50QldIIXcqVnRtVDBKYXhPVldmbkFQblQyQ2BuIWxY
VlV5QD0zcmlkJExOCnpOampyYWN3ez5xMllaWGBBWGt0KmN2bk5Ib31jPmNoPmZZdlJsKUImUWM+
YUk3ck9VcXZyUk08NCM2byMxVX5uNwp6V2ZaaXoxfkk2aE9LNCpfN3I3YEI2MU8xYUZYcysxPCsp
TWRha2ZeKXJhRHl4KW8yNU5NNzNebV91U1hrKSl0a1oKelJJMTB3QFdEeWRwR0E0dFY/ZFcxRm9I
YG5RRllSSmJ7aik+SjlucU8hOH4hQkVVTERodDE8TH52JiYhQz08Ujd+CnorWFFzOEhGTjRAYjxK
OTNhSWEwa019KVBqSipeUkwrPHU3N3NOS3NRN0hfMWchRUJvfCpJNSRPVVJEOSREU2JsPgp6IyVa
MGx4e2BIfWN3PGk2Y2FyNit8SyExR3hObjIxP05gUWlIYzNZSG5JTWkxM25TZnI7Rig7SmgwbW04
eTteeDAKejUme3BqU2ludkJtYURYTXBTIW9lfEp2MEZtZzFxTmtVWHgmV2w7SHFaejxhJWMkPXRa
JmQ5PT48YVl2PEchSTtkCnpiYVojPXtgPmluV2drTjc9JH4rU1kqZzNuSTFxXiZSR313bnQwXihe
eHVmfjN5YlA4SmorKE9heW1uO3VNNX5pPgp6Um5vJWZ1N2cmOUhWPj4yM3V3KXQhbWQzVSRVcG5U
eGx5MyRTQXJXcWR3Jjl5bUM8JE9eaGM3UGFXPSg3VmBgKG0KentBP0F4KSV8WCtSP05pVnRAZylj
VE1CNDswSCVkdWY1cmQlS1A8aXZzPF41PUwwQGV8R1FrYCtVdmdnPThORWtLCnozdF5IVjA9OTxP
ZW9YJUNTai19bEpiPEdeT15yWXhNKWolO18lTztSU3RPdjhDMHZ6e2NwUGdCRDJBWTEzLWpGeQp6
c0ZDd0olfGw+aGI7WCk2R3U8Y2I+Mm8kcHRPVCY7NVRUV2ckTGtMPT9hcXBpQDFQJjN3ZENjclpM
PDBaKTgxIXsKelBhZW8zQkpCJl5SYUBkLTI5RTBfdzJYMyprYkhvP1hjdU5DISZJJlJvWnNGVjI/
bjhHI0llIWFIWD1HVi15SWNoCnpJcC1+cVk7fnpiMUE/YkxFa2EkNkkzb2t5NmN2Nz5VaVVpIVZN
bH1kIUdFaVdON0VCe1YqV01MPWtDYFc7PnRpPAp6cHg4VFdOQ3gtPWpleFRHcCRzb2thYjtJSmNj
aGJBdE5eKHtGIzUpR3JTRn4kPTh3ZEdlQjgwaXZnJGQ/Pl5HNHMKenZaWjcqQVRzZG1KdDYxMSVe
Ymwxbm1ibjxzUFI/NFQlMVl0emM8P3pKJF44K2t2eEpAYDNTLVV1ck9hdGArTTJBCnp2QEY0Izlx
TUNrdUkzVmRYKlo9Wi1OelZ0Q0A8U1RoV2VpVzwqSDQpekJjUU9tcyYrdk0xNilDYH19PSgmM087
KQp6Nkh+Y2FRN3QrPUE5TEU/RWpHTE48UGo8MF8wQFpmeXlWRm9eV3ZwQ3FnSXZ8cG96LXpBbEhT
NlBiKXQpRWdAV0sKelo3RXcrcShsTE56azY3aXk0Py0kIW1nMzFfdWI/aEl8VzB7WDYtUDEwemlo
YURAKHM9Z3Zme1dGMkQyR0ZKX2kyCnpsfFBmMUd1fFReSkYmNDlsPnotbj1uIThNcyFRN3Z6SVJY
PnpRNklKVHI5dmM+THJPZHUxWikrT3hKajhyazJ3fAp6bVV5X3k/NmcrX1B0TEA+RENaYWZUckhD
Uj1mayNLPTs1bW9WYC1MMEQ5OyMpNXh9QStUb2oraHVRKUNgbWxXNkAKemZhMXQ8TiElPFlHSE0l
O2p2YWBNOWBJejJTSG5yPFJ+JmI4UWphVjdaa1N7OF9SYk9jXzE4bnM/XkxQZHt0KXlVCnorOTxQ
MVFxNnQrI0p8Y35XbTdEYyFmXzhASWo9cWF2KEV9IWlVVm1wZyh4aH1LczNAPTZQRiFGI1h4MCFx
NEUwbwp6dWhEZVVYJkNJOG41ZVB5WjQxWmM3PmFiSiRJKT9nWDdnQzA/QmtIY1ZfX0xhPmN2NkZg
X01saE43ZWBrYHA+MT8KelE/WnY5KmBubURQWjF6PzR2R1pHbXxkZVpZJiU/eTNySW5wbyZkbS0+
bDlkTWIpRUVHTClzfVNUMyVrX3xIcTA1Cno4Rn1XaTYyVjBQMjc8QWAzaE5oN1F0Y35OVFZIUUBH
dmFBUD9jZT5tXlkzYERYSWZ1fnlJckN5MjF1SXcmMj8lQgp6XzU9P0tOV2JkLUFAeVZaIT8oZFFD
YytHR0h1Y3ZtVlMpVHwqMSRqZy0mdExRJWVRKl8rVl9TfEVGcGN+cUpRdjQKelBIc1pLd1lyamcq
JmFIYlZIX2E/Xm85N2A0Z0krX3dpS1lUI2NjOFI+WH1MO24rUEw/QUc8ZjFYaG4zWTVhKnstCnor
YFVmTk1Yczh1OSNzckdfQy05d0chaWFGSEw7NzdwJlkpJmBsfE9AeWVKUzQ2N0hwQEBWcEtQaHpH
YS13R0U0TQp6LXteRTFlJjJXZCQ5Pm5VPDlPXlopfj1jOGxlakRycVRjQ3JwKi1GayluWiFHcCV4
OCM0d1NzMVpNPjNMe0lGd2oKek5lUVglR0IxYzduVE5tUGpocjkodWB2Yjl7dnthd2prUDg8bE8x
Yz9fZWJCeC0tKSN4LUFHJFRXRz89PWNmKDtLCnpTIzVzTXVnRGtXV3FzVU9rV2B7SEFkQEgrY3dY
Pz56emArPXZUNCpYcV9VYjJOVHZ5MVZ1TD9qeXpYVF5saCNJcwp6JFNMc3xNb3d+T2NCM1VEeWgj
PU9lSkB6R3Nren5+R31LN1F4M3I3O0wmVGM1VSRzbHdzI3lGVT81PVhmLXJBfXkKemYhTlM8NGFJ
N1RLNX0xXmRoI2xLUjhnLVM7ciooXmA5SjxkWDYpdnVLPFQpNm9JSHdsNlB6QUE/WGFgbm1jSHc/
CnojbDhqfnQqeChUO005LVpzYV5OZmBqKiZJVlMkcW1VKFE/Ql44SC1idTEmWm9QQjklYU0jS0xe
aFFpdmVIPW9sOwp6azRCc1hkSGw1b21oJHpVIX5xLVkmQ2h4aztFVFI4d1pqeX5WSkMlN3VvaiN8
cnMzb3J7Z1E3S3Q9JmtsI2Q8cjwKek56bG8xO2FWcHdeej1vYGtAdiZ4aUpHIXZlNElVPFY5YkhZ
SCM0aSo0JVY7TkQ4JjFFdnlMO14qazdTdHYrODA2CnpwRE4mY1ZkNWtUIWZ3e2lIUzhNY05QbEMm
aTZXXyE3KT0jXm4jMXBXSCVZYzlMaXtPZSEleWlOaU9sKT5UVUU7WAp6ZnxoVWdQXnt7cWF2NXB7
cFBWUEtgJTQhNmU2bHBJbnE5THVaJUVCezIxKjE0ZGs/PDloP0NKKTFFZztDem11V3MKejFyamtS
cShffGMwQCMmITZCUF4lUTZyUjA7MW1ea0NqMzxWP0tCZiU5cmYofiVMKWREPUx8VEktYFEkeFl+
VGdkCnohLV42aGMpYjdEeW5HTW1ZckJDaVhAUlNIRndEbzZ3fjNiK0hpKiYxbDVSYj5JZiRQPEdB
KEAocm9YJmNOaUJybAp6JXBacXJ3K3pPenUodjNgMEwzem5SI0ZiOUM7VG5Udz19dDVHIWlPOCFn
bVdhRmQ9Pkc5QGM5K1BLMm4oJEhMaEsKek0tSExKKU1uIV5EJklLNGgjZUBqbkJ9PSFIIzFuM219
KT5PXnRAWn08ZnYjeVE4N20kNlk8SlIpUkB4NU9QPFU+CnpZRnhpSCNtX1J3fDgleD5VI19tPXYt
cmJ2cmx5TFQ3bXE8XlV1PWR5dSFmPStJRHMza1pFSjdRYitvSiYwaDV6Twp6YVVBNG9JP3hhekxW
UFdgRWhkLU0lZkdtcD9CVV57MWJYMT9QPGx2Z2RZJH1KRV53di1EekJ4djdNMGhqPV8wXmwKemx0
UTFVO35wSFgoKnczcDM4c0ZCOD84Wk13bC1RPDJTWHA2bXx0YyhpTkM+cEpyRSVibll+fmwzVG9+
N3QyYDxKCno1MWA+aSEqJDUyPXQ8VGJ5S21NQ0dvSylHYVhqdj9jSE15aF5GXiR+UUN7PXR6Pmd4
N3gmVjZzdnxSNTZQOFNUKgp6SyNiYW1hOFZGXl48XkcxUD9RX3dVNUpteGtsTVFmWiQ3Sm1lSCtF
ZEglbj5aUCEwK1pgSkNJcz5pT0pvJUNzdm8KekRVaCt2V2wzZ0BadXljPEF9SHVmKEc5MyY+WSg/
OG1NcH5vX30jRU8hbVp5e0swRHphX1ZhNUdPeWxQI1BHYVNwCnpMRSlEckUpfmY2KVQyZU1TVV9h
VUwmPSlacXp2LXI1Z1F+MVBGeFVaSEQ0cWp2Umskd2U4QE5wbjV1YihSZSl7QQp6Y0RhJGFSKTJx
e3NTdXU0Y2V5QkpoaFZfTjJJZXxaN3pANWZTaFQhWklRWWt5QHokNFVSQGN8cFVqP25URUx6K2sK
elRgaFk7eyMzfDUtfnltKDRoPGx6RSNkP3hWMzBHMTMxdGo4YV5qNzsla2ghI1IxQVFGOVhDVVZq
e0lxMnRXV0VzCnprS1pnQmF4aj5DXjdVWW5FQHhMVjdgVlptOSE8OHhOTyNEWlVwVCNzRDRuZ09Q
VllDNlJLY1pWKj5lLXg9WF5IWgp6KVphbWRocXM3RVpzeG83YDBAVz8mSUN7P21zQTs0WitFJj9u
K2IwRHZVOFM5Q14wYE4lPmY5RUNqJEhMP3swUkIKentNR35GUm12KlFoeHwkRDR7UHxlNEdxKTQ5
R31NYkhvXmh5cjZXalhMK280P1k4YCl6JmE7VkY1KyRKKXpFPHEjCnpxSiY/cjQ3MTJzIXBHPFpa
P18tKUcoUm5yYSE+bEc9WUkzdz5RdEBpdWEpPCh3U2QxalJxO1I4dlMjfH1ndHRkJAp6NWYkTDRg
YTBDa2daN0pjNTJrWXR5al8oeksqOWtUa0VzRk57dzJuZHNTeSZHTk8tRFRCcyQ4I1RtZ2BzRD41
WWYKejheZEg7T3J4fnRiMUk1THVZV3Zze2BuYntZPUhzKHFTKyZaVnBDc1ZZMCVVQEdnJUBVIX0w
d0JYMllSTURDUXo+CnpILVA1LW1ldjR+SCp0Nzl5dFhHUkFYO0o+MTxlWUJyfjFpXlFZO0omZzs+
JVVHNTtHNF9VdlNjdmtqenNPTWsoQAp6P2YqeF9xYjZMVEI+ZzI5TVlobExUNzJ2Q0YpblE4bHpa
ND5lUihnKmgjNSMmY25iUCN4WVZ5YDthVD1zWThRPyUKeiM+aTt1eUdQYTZ6aCVQRDdmRk9MY29L
ZXg1TWxmS047bXI8O1I2OCFERFJ6IzBac1dDOEclaCl0fWwjYnNeNjw/CnpZUjB1SWZER1lRVys7
NXRNLWtQSmdiU0IkZT5DOytMdC1RPnk+eHVlX2s+dmItSDN9RlhePzsxU04jeCVpeV5ebAp6Jkhx
N0NpKElBcihNZHQqWDY5QTIkK2FYU2k+c3soanlUaFJHeTJ3UUtrdGVBYGk4NHNQOXtnVmllMip6
Z2pnPlAKeilZUVBtPWQwYl4rbUZKV0ZqLW85MFh0P2BKYSEmKzV1UkFqLUVPbWgkcUFDPVNtZ2x3
LXxAOEpwMV5kanteSXt1CnpnX0hkYEdBZVBkU2x0KEx7PjhmZT5eZVdrQGR2JHROakZgQjBZZnJU
dUhhfTNaSTlwWmJsQ20qNngqYG5gT2Y2Nwp6Zlc/cDRjSylHVlZCISN6MmB8QmB5WjRUcD19NHJU
SSNUNDlAU19XZzAkdEQpXyV+SHZMd0pfdnBoMUdsO0ErYX4Kem1kZitPcE9ndG8lR3JhPGZsPFlL
enVAYV4jT0syTko4YVRCP2IrKHcpXnNZWHQqJWRJNm5XLWdXd1ZQdCZkKlRICnpwa3dVbDBZfS0h
bCQ1cEZpaH0zZEMrRj1yNFomQXVzNUlIQHkjO149SUF8dUUkbDZ2U3IhP0I9R3pjUl5yVEArLQp6
TiY9elktZU0tRXJuOHFmcTAtKUpAQmxTQj0mOVBQNHpzJE95Klg+R292ZDZGRnlOaVIrVClqOEsh
eGhHe2VITnsKelA+c1MwIS1gYEFlUz9hQ2x7Pis5S2h3d1NzZSFBQ2xFPEJHPCo0RFYqM1hGeCFe
SiNgYTJEKGdrZXdta0liXiRHCnp6NnBMXiNsNzkwXn5zTWt3VjVwQzR8Jm9mSGl7UVdWflAjYDla
NWVxcFlkQU4zdClTNGc8c0JSTC1NRTUoSHlvcwp6WCRyajFULX0wPTR8eFYwZGcpYT5GfjhIQlgr
V2VQKCh3TzZnNTxIKDdEJTltVlhTT3M7b3BFMXM9a2s0bTckTksKejBnYWtheklvX3ZWSV9WcCNf
ZHdqOXB5R01PS0F8MGUrUDtOUHw7dWhsSSVeWDU4Z2xEX3wrNEgtdFZsZFNnYlF8CnpeQk4rbWha
MiM0d0VISmw7SF96M1A7MmtDPkYzVjdpcDs2X0VVdHZuIyN4STFpNEJ1T01wSHQxdyg0akRmeigo
WAp6MlI5S2pPPVhTQDcpSTI4KVRgMXs4Q3lMUlZXcVpJRSVGQjRzUihgVlAzQCVqUmpmbkFJdUQ7
QCZofH5IaXh+WT4Kel5+IW48aj5MK0xASnRrPTVqcllSNTlsV1YhTW8zPWZASismO25keCtgWl84
eTR6P2woVXN6NGQzMlNSPil5bm1aCno4PzNQMl9CNGBBeG88NUlOMGAkXmkxaXUoIWdxRmRCQX4q
PShaI1AlYW51JHJ4ajc2fFNod1I1MGdiIz17MmdJZQp6ITw+SHBFVz4rRjFtQD1XR2FHVV4/QTMp
cnAoa3dfd1ItdG4rIy1JKkY1OzRvQj91bX5NU09NflBSezMzKCV1ZmMKemwjNXxPWVglMj5aI0VB
WDxVKVRVS3lofG9EZiFxa2FldyRPU3hFZW55VDg8cnQyMXFPR0ZLdWtBMiQkNDgrKVViCnp7Vlhf
LWdYJiN8JlFOYWwjR2QxPjJAaUU1djRiM3FvYnp9KldnPzt6Q1E4aWR1PFcqa3U5fjMzV0UtQ2lM
SypHSgp6KUFIJTgha0p1JVJJb1p8MGdFXz9nT2dpc0Vua3oxemZuKDRWJVk8cE5kNVN5bmNwMT1e
V3clT0VzfjhiRXJeTy0KemQ0IXdSR0cwMERqdDZ+U2JpMD4ybEMhKllkTDdFOHxKcStPeWkrIXJv
bD14P3NtRD1sWFVnQFU7UDh1OE9WPFRXCnpMNEhAKlVqT21hV1UqKkZUb1h2NzQ8ekJMc3pXbC0t
ITdEKztOUyhQWEVwQ0QkQWMoRUkhSEozOG4lPSFGUFNfSwp6Ukt4a2EmWkd5aSRON35mRFdnUjNz
TmU9WmZlcGZyMmhjSyt5d3FSdUJyRklBPmBXSytKdjBeRjlnPkF6NHpZJlAKejA4fiFKQW5rKyE2
R312TihWcVUyYytHQUdAOT9AXmFSe1gxRHkpamhkVzJ7RUp7SDZmKEhfNWteTS0tJnRyOU1tCnpG
ZiQ4dTBscHl8Xz0zYUctSEwkQGUpX1BDOVBUfnA1fXVLYT4+YXhFY3QhQlJnUG5+SDJjTH5DMTNj
KHElX1FwQwp6QWNeeGArQyNwXmxWRnA1dXApSGxqa3pZbUI2UjBBPXFEK3dhbi1PYlROU2FJSWNL
dmJ2cjRjV3greUJ8NyRSZEQKekhgbkFGQTR7ej5yQ1RnV1RyXmx0d1l6KVpLQnc/SytCZX0+Z3dV
Z25tYSNefTF2UzZvT1dnbXlGfkc/RW0+eUFsCnp0Iz9MKSMyMUcxWkFGOXg+RWZqQ1R+bW8pNDg9
VnI1ZlhRdiNCUTJEP0RzRVNpWUVJQyopOHl2dW5id0NjRF9Gawp6K0F1IyYkZHw9ZWRCKmloTEE7
NzFnVjZUQXlRQlMlKWhIc3BkY0Q2cns2dilhU2c/UHIzKDFUdjdsOyZHTUk5fFQKel5RQGRpRyUj
YSkrcXthMiY9VDIteUg+eF4pRmc5MlohTlVNbGp7V29zYE9aM0EtVHw9MiYrcXt8Rn5EeU1hQmFW
CnpRWkB1NFhFUVlOZ1JKTio4VV52c2pENW1JVG4ldFg+T3ZiJVU1djElPXhKYWJLSHZGdk4xMDE3
JEpmbksrcnYzJAp6bnpSPmthKE4yP3pgT2YqN2huPkpeeHk7LUFmMWdOKVljTyFPaTNCZDhgeHRz
YmtQWXRPR05sX0AqPVVuaTJIR2cKelhidWV4N219MVh2Pk5hVjRxTHhiJTV4WWxfRWxwZzJWcCVq
PHFhUVRINjJIXk88YEhIXkE+UFNMKElBWnU0b2tLCnpfO2xrUyhAK354JkFLNktpTzd0KyY0a1Ex
THpaRjQodmBFfWpLNHlicD4+TXQ8IXR0ZDUrMVIxMU55QjBeb3drKAp6QmJ8KXBoZmo0YldjOyhY
UihIUEVSeWRSKWN1WHpYKz58ay1waW0yOzBIUjF5Y3sxS3VpWG9+NDZWeXNYbnNkb2oKem8odTJH
c08qOXRkY2VTcF9GZTg1alJvckU+WF5RakRRUzJEQlheP30qdXpSVXVEKWtLS0l1NTBsNGBOTUx1
KV47Cno+cG0+PTJxRXAtPnJha05jYmZxeCMxLT5XT3VTMVBZYHxGTzMzfUBoMnMmZm0tNnhrekZJ
anVOdE1lbmRVaWArRwp6U2N+RzU3Sit9VkgrY1Y/WndeV00hS1AhTmRffTZCYn52d0pEak1mKD5M
ZjtaKGNnQFkycGQjRXY1TDdWVm1ndiYKeldONWQ/bTxtYXlRSzBeYSk8KVMjXiR5fCMmIXJyKTY7
JHlzZys1SSZycT5YMm40ay18Kz5FUjUrNDxuaUxRaFloCnpoWG8rTXY5ZjA2REhaeWttLXwjd2xJ
JE5VYEliYkFIfFBVfmRoamFNQkVxXyhJQyFGWipNcEN7PmclUkVme0E0eAp6X3dSQkdUZUlIU2dv
Ml9DeF4mfHVpeGtzJHpHU3xeMmkkSXslRHJ7SURIVVZBcFNAdE4zQ3VQJmgwdyhEbFNrVkYKeiEz
NDM+WjE3VU1YWXJJaWczZWxYdSp+R1FUQ0sydFl8eS1HQHJRIyNPZWhDX3VBMlpvbT55eF43RFl6
LWooV0FfCnowIVptODdvKjBye31qYiNPKU0/dGF3WiohRmJJLUQzNSV5WFIwdmF+UHlXQGQmIyMq
QkVVemNHbjJZWHt2VTMrWgp6IUt1Z1dWZUxTUCZfbCpeVClKOVZNKkhUbjw/amxfJHh3eXQmNnJm
Kil1ZWw8WWh3dFFqWkZjQUoyQUgydEg3Z3sKemhlLWVLcHY2eHdqWiZ6Ul9BTHdedT9YU19Ze2Iy
KyokNUorQD96WVhUKE9ZIUpDLW1zPzZHVDlqfnV3ZT1NckE8Cno+fnA7TilPcmtLJnc0REZEK0NS
fW8zX3N0XkxxbmleTjNXR2s3YEpOe296WmtYYDVnVnFPUG09ZFJ8fUtUcH5sawp6eVRpPVMpWVF+
U1V3PSpxPE1KfndHUjhTaCEkU1AwM1pDYDZlRUN1X1B4QktVVzt0Yzw2OWFlKzVDNWl5Z3QqY0AK
ejB1K0JCRUoke35yYSNaR1NtcGNrRV5vY3BIN3F+ZSgpYDVzJkZNIzw9akIyY1VMKHphQFJGQ2I+
SzQ2TE5LSm9JCnpCbWY4dW1Hd3g8RUokMyhxcXBrfSliP1ItbVJtLUhAbjdYZl8qMmBSO1YkQUdo
aGFKITE5ZS0rWT9PXmdtNj5gVgp6dGIjJVRDdTJVc3JffnhnZndBPSY4NW1Uc0RMYD5VJDlCX15m
Ymc0Pno2V29Oe0NYdUs0Zil2JCZrX0BzWVhjVjsKeiNnUkF5Jjd+eF9wbENPPHVwIWwtd1o+bTtD
WkZ2Vkd6Qz1PMFN0ejlycTJ5OWloMDtaTGArPEtldHUoUExscEJDCnpwSU1SZV5ZUVN8O3gyTj5v
Yj8qdkkpbTFhcDR6SGRMTmEoVTBPQjN5X319djYlJTd6QmtlYHE1RiFeQyZhZWlKcgp6M3pQaip8
NWVjNz9AWlVsZmdiWkMqbVZDZ3FhJjlGOHprZyhVTG1+U3cxQU41Vis9enFgN3tQc3xBVj56SmZZ
c08Kemh4QEEqYnxAZk1DZ0BAX0hhMiMpIStWJEkmRmswdV9+Qk1IOXsmPWRwYGo3Pj89ZCR3bShB
MTZpNWRgSWkwekJvCnpTQV94eElFOFBeYUojTVk4ISpZbGE5TWdyI3VeTX1JTz1xeHQzME52I3Bx
XjlhcShtYShMOUA0ZD1GNylgMD8/dgp6Kn1xI3F0KiRGTV5TIUxNSmolfXRWTDR7V1IlYitOYnZu
RnVzd3lmRCNBSVpXRz13b09SUi0hRWImUnJzWD9AXkcKeiU+OUJXOEJyN3BXdCk8Y0dXNzVISDxu
LVRaJSU7RWc7UD5NIUwpQk44JDxBWT0wNkhRRyZHYlZ1V0c9YjlsWnN+CnpENWVDP2NmUH44Q3Bz
JHhuM2pxdk1XdUdeR3ljWkZnQWBNKDBqb3cyblMmYUpRbVU3fjxJUHMqISg8YD9BNH5gMwp6Jipz
T0NsSiQ2YVZDcF5wUlI5fEc8Y1BLWT5UOW1PZHckaTRuUHllYjJIUG1CendKSTR2bGNPYXo7fW5I
bjlrMTUKeitnVUVpMCN8Vnh3bVlCeDs8fHdfQlpnSUEkYyNxMC11SzRPUE9nIVB3YytuSGRCIW97
bDgjQiR6b25jdW4mUmhoCnpGWHlWYzlWWmEhMVRBTDc2aUdRdXFtIWtfeX5PRiZlMkxuJXgkUzJ9
KllPZ1BYbXR9RmkhcjJfVkNHPT0hOWllWQp6YFRNaT9rPEQ7U1ZhNTRpMVB2Y3hobEh0JWg1ZF8j
dDVhbndDczBBSFZsSj40aks4ZkAhfVZ7bVV9KCNgRn10ZzIKelBhYzIjUUJeRE9LdEd3RFM7V0Nk
JSpCLTNVJnN5Q3VBYT17Uz0pIWJnaGBCUEM0QjVtenl7JmJvRCg7bDZZc2krCnopNGl1NnV1X21D
cTR9SDsqOzBoQEtgXkMxYnhZfEQqKEczfEVncV4mIXFWfiMmfGZycUB+SjBrdEx5QGU8dCFQMQp6
d0lCa2YoP01RT3FpKldmYyRqYVFPeUprN2d9KWZUVVNwcFRmam0wVEVZP1lIRW5sbU43fFZMfnNy
PFZsX2Q7MXEKS3NaUE52XjhXeCh8NjFrJQoKbGl0ZXJhbCAwCkhjbVY/ZDAwMDAxCgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9y
bWFuY2UvcmVzb3VyY2VzL2Zsb2F0VW5pZm9ybVNoYWRlci52ZXJ0IGIvTGF5b3V0VGVzdHMvd2Vi
Z2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVzb3VyY2VzL2Zsb2F0
VW5pZm9ybVNoYWRlci52ZXJ0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU4OTkxYjQ3NDE2NGYzY2U5N2NkZmRkMDI1
OWJiNzZhMDY2NGVlN2UKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNv
dXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZXNvdXJjZXMvZmxvYXRVbmlmb3Jt
U2hhZGVyLnZlcnQKQEAgLTAsMCArMSw0MyBAQAorLyoKKyAqIENvcHlyaWdodCAoYykgMjAwOSBU
aGUgQ2hyb21pdW0gQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAqIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAq
ICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0
cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9k
dWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlv
ciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogQVMgSVMgQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QK
KyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisqLworCit1bmlmb3JtIGZsb2F0IGZ2YWw7Cit1bmlm
b3JtIHZlYzIgZnZhbDI7Cit1bmlmb3JtIHZlYzMgZnZhbDM7Cit1bmlmb3JtIHZlYzQgZnZhbDQ7
CisKK3ZvaWQgbWFpbigpCit7CisgICAgZmxvYXQgc3VtID0gZnZhbAorICAgICAgICAgICAgKyBm
dmFsMlswXSArIGZ2YWwyWzFdCisgICAgICAgICAgICArIGZ2YWwzWzBdICsgZnZhbDNbMV0gKyBm
dmFsM1syXQorICAgICAgICAgICAgKyBmdmFsNFswXSArIGZ2YWw0WzFdICsgZnZhbDRbMl0gKyBm
dmFsNFszXTsKKyAgICBnbF9Qb3NpdGlvbiA9IHZlYzQoc3VtLCAwLjAsIDAuMCwgMS4wKTsKK30K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL3Jlc291cmNlcy9mcmFnbWVudFNoYWRlci5mcmFnIGIvTGF5b3V0VGVzdHMv
d2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVzb3VyY2VzL2Zy
YWdtZW50U2hhZGVyLmZyYWcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDg1OTZlZDVkYjEyMjA2ZDFjODE0NmMwNTZi
MjI4M2JkZWNiN2NkOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291
cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3Jlc291cmNlcy9mcmFnbWVudFNoYWRl
ci5mcmFnCkBAIC0wLDAgKzEsMzIgQEAKKy8qCitDb3B5cmlnaHQgKEMpIDIwMDkgQXBwbGUgQ29t
cHV0ZXIsIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisKK1JlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CithcmUgbWV0OgorMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKzIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorCitUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIENP
TVBVVEVSLCBJTkMuIEFTIElTIEFORCBBTlkKK0VYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCitJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKK1BVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5DLiBP
UgorQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsCitFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCitQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKK1BST0ZJVFM7IE9SIEJVU0lO
RVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKK09GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAor
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFCitPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorKi8KKworLy8gV29ya2Fyb3VuZCBmb3Igbm9uLWNv
bXBsaWFudCBXZWJHTCBpbXBsZW1lbnRhdGlvbnMgKEZJWE1FKQordmFyeWluZyBtZWRpdW1wIHZl
YzMgdl9ub3JtYWw7CisKK3ZvaWQgbWFpbigpCit7CisgICAgZ2xfRnJhZ0NvbG9yID0gdmVjNCh2
X25vcm1hbC8yLjArdmVjMygwLjUpLCAxKTsKK30KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dl
YmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3Jlc291cmNlcy9nbHNs
LWNvbmZvcm1hbmNlLXRlc3QuanMgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xf
dGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZXNvdXJjZXMvZ2xzbC1jb25mb3JtYW5jZS10ZXN0Lmpz
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjc3ZWNlOGVkM2MzNTdkYWU2MzdkZWJhOTFmMTM2MzM0NmY5MzhiMzEKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9m
aWxlcy9jb25mb3JtYW5jZS9yZXNvdXJjZXMvZ2xzbC1jb25mb3JtYW5jZS10ZXN0LmpzCkBAIC0w
LDAgKzEsMzUwIEBACisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3Vw
IEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJn
ZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFu
ZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIp
LCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5n
CisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwg
bWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBj
b3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9t
IHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNl
IGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwg
Y29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiog
VEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBB
TlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRF
RCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQg
U0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkK
KyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJ
T04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQg
T0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1Ig
T1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCitHTFNMQ29uZm9ybWFuY2VUZXN0
ZXIgPSAoZnVuY3Rpb24oKXsKKwordmFyIHd0dSA9IFdlYkdMVGVzdFV0aWxzOwordmFyIGRlZmF1
bHRWZXJ0ZXhTaGFkZXIgPSBbCisgICJhdHRyaWJ1dGUgdmVjNCB2UG9zaXRpb247IiwKKyAgInZv
aWQgbWFpbigpIiwKKyAgInsiLAorICAiICAgIGdsX1Bvc2l0aW9uID0gdlBvc2l0aW9uOyIsCisg
ICJ9IgorXS5qb2luKCdcbicpOworCit2YXIgZGVmYXVsdEZyYWdtZW50U2hhZGVyID0gWworICAi
cHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7IiwKKyAgInZvaWQgbWFpbigpIiwKKyAgInsiLAorICAi
ICAgIGdsX0ZyYWdDb2xvciA9IHZlYzQoMS4wLDAuMCwwLjAsMS4wKTsiLAorICAifSIKK10uam9p
bignXG4nKTsKKworZnVuY3Rpb24gbG9nKG1zZykgeworICBpZiAod2luZG93LmNvbnNvbGUgJiYg
d2luZG93LmNvbnNvbGUubG9nKSB7CisgICAgd2luZG93LmNvbnNvbGUubG9nKG1zZyk7CisgIH0K
K30KKwordmFyIHZTaGFkZXJEQiA9IHt9OwordmFyIGZTaGFkZXJEQiA9IHt9OworCisvKioKKyAq
IHZTaGFkZXJTb3VyY2U6IHRoZSBzb3VyY2UgY29kZSBmb3IgdmVydGV4IHNoYWRlcgorICogdlNo
YWRlclN1Y2Nlc3M6IHRydWUgaWYgdmVydGV4IHNoYWRlciBjb21waWxpYXRpb24gc2hvdWxkCisg
KiAgIHN1Y2NlZWQuCisgKiBmU2hhZGVyU291cmNlOiB0aGUgc291cmNlIGNvZGUgZm9yIGZyYWdt
ZW50IHNoYWRlcgorICogZlNoYWRlclN1Y2Nlc3M6IHRydWUgaWYgZnJhZ21lbnQgc2hhZGVyIGNv
bXBpbGlhdGlvbiBzaG91bGQKKyAqICAgc3VjY2VlZC4KKyAqIGxpbmtTdWNjZXNzOiB0cnVlIG9m
IGxpbmsgc2hvdWxkIHN1Y2NlZWQKKyAqIHBhc3NNc2c6IG1zZyB0byBkZXNjcmliZSBzdWNjZXNz
IGNvbmRpdGlvbi4KKyAqIHJlbmRlcjogaWYgdHJ1ZSByZW5kZXIgdG8gdW5pdCBxdWFkLiBHcmVl
biA9IHN1Y2Nlc3MKKyAqCisgKi8KK2Z1bmN0aW9uIHJ1bk9uZVRlc3QoZ2wsIGluZm8pIHsKKyAg
dmFyIHBhc3NNc2cgPSBpbmZvLnBhc3NNc2cKKyAgZGVidWcoIiIpOworICBkZWJ1ZygidGVzdDog
IiArIHBhc3NNc2cpOworCisgIHZhciBjb25zb2xlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnNvbGUiKTsKKworICBpZiAoaW5mby52U2hhZGVyU291cmNlID09PSB1bmRlZmluZWQpIHsK
KyAgICBpZiAoaW5mby52U2hhZGVySWQpIHsKKyAgICAgIGluZm8udlNoYWRlclNvdXJjZSA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKGluZm8udlNoYWRlcklkKS50ZXh0OworICAgIH0gZWxzZSB7
CisgICAgICBpbmZvLnZTaGFkZXIgPSAnZGVmYXVsdFZlcnRleFNoYWRlcic7CisgICAgICBpbmZv
LnZTaGFkZXJTb3VyY2UgPSBkZWZhdWx0VmVydGV4U2hhZGVyOworICAgIH0KKyAgfQorICBpZiAo
aW5mby5mU2hhZGVyU291cmNlID09PSB1bmRlZmluZWQpIHsKKyAgICBpZiAoaW5mby5mU2hhZGVy
SWQpIHsKKyAgICAgIGluZm8uZlNoYWRlclNvdXJjZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KGluZm8uZlNoYWRlcklkKS50ZXh0OworICAgIH0gZWxzZSB7CisgICAgICBpbmZvLmZTaGFkZXIg
PSAnZGVmYXVsdEZyYWdtZW50U2hhZGVyJzsKKyAgICAgIGluZm8uZlNoYWRlclNvdXJjZSA9IGRl
ZmF1bHRGcmFnbWVudFNoYWRlcjsKKyAgICB9CisgIH0KKworICB2YXIgdkxhYmVsID0gKGluZm8u
dlNoYWRlclNvdXJjZSA9PSBkZWZhdWx0VmVydGV4U2hhZGVyID8gImRlZmF1bHQiIDogInRlc3Qi
KSArICIgdmVydGV4IHNoYWRlciI7CisgIHZhciBmTGFiZWwgPSAoaW5mby5mU2hhZGVyU291cmNl
ID09IGRlZmF1bHRGcmFnbWVudFNoYWRlciA/ICJkZWZhdWx0IiA6ICJ0ZXN0IikgKyAiIGZyYWdt
ZW50IHNoYWRlciI7CisKKyAgdmFyIHZTb3VyY2UgPSBpbmZvLnZTaGFkZXJQcmVwID8gaW5mby52
U2hhZGVyUHJlcChpbmZvLnZTaGFkZXJTb3VyY2UpIDoKKyAgICBpbmZvLnZTaGFkZXJTb3VyY2U7
CisKKyAgd3R1LmFkZFNoYWRlclNvdXJjZShjb25zb2xlLCB2TGFiZWwsIHZTb3VyY2UpOworCisg
IC8vIFJldXNlIGlkZW50aWNhbCBzaGFkZXJzIHNvIHdlIHRlc3Qgc2hhcmVkIHNoYWRlci4KKyAg
dmFyIHZTaGFkZXIgPSB2U2hhZGVyREJbdlNvdXJjZV07CisgIGlmICghdlNoYWRlcikgeworICAg
IHZTaGFkZXIgPSB3dHUubG9hZFNoYWRlcihnbCwgdlNvdXJjZSwgZ2wuVkVSVEVYX1NIQURFUik7
CisgICAgaWYgKGluZm8udlNoYWRlclRlc3QpIHsKKyAgICAgIGlmICghaW5mby52U2hhZGVyVGVz
dCh2U2hhZGVyKSkgeworICAgICAgICB0ZXN0RmFpbGVkKCJbdmVydGV4IHNoYWRlciB0ZXN0XSAi
ICsgcGFzc01zZyk7CisgICAgICAgIHJldHVybjsKKyAgICAgIH0KKyAgICB9CisgICAgLy8gQXMg
cGVyIEdMU0wgMS4wLjE3IDEwLjI3IHdlIGNhbiBvbmx5IGNoZWNrIGZvciBzdWNjZXNzIG9uCisg
ICAgLy8gY29tcGlsZVNoYWRlciwgbm90IGZhaWx1cmUuCisgICAgaWYgKGluZm8udlNoYWRlclN1
Y2Nlc3MgJiYgIXZTaGFkZXIpIHsKKyAgICAgIHRlc3RGYWlsZWQoIlt1bmV4cGVjdGVkIHZlcnRl
eCBzaGFkZXIgY29tcGlsZSBzdGF0dXNdIChleHBlY3RlZDogIiArCisgICAgICAgICAgICAgICAg
IGluZm8udlNoYWRlclN1Y2Nlc3MgKyAiKSAiICsgcGFzc01zZyk7CisgICAgfQorICAgIC8vIFNh
dmUgdGhlIHNoYWRlcnMgc28gd2UgdGVzdCBzaGFyZWQgc2hhZGVyLgorICAgIGlmICh2U2hhZGVy
KSB7CisgICAgICB2U2hhZGVyREJbdlNvdXJjZV0gPSB2U2hhZGVyOworICAgIH0KKyAgfQorCisg
IHZhciBmU291cmNlID0gaW5mby5mU2hhZGVyUHJlcCA/IGluZm8uZlNoYWRlclByZXAoaW5mby5m
U2hhZGVyU291cmNlKSA6CisgICAgaW5mby5mU2hhZGVyU291cmNlOworCisgIHd0dS5hZGRTaGFk
ZXJTb3VyY2UoY29uc29sZSwgZkxhYmVsLCBmU291cmNlKTsKKworICAvLyBSZXVzZSBpZGVudGlj
YWwgc2hhZGVycyBzbyB3ZSB0ZXN0IHNoYXJlZCBzaGFkZXIuCisgIHZhciBmU2hhZGVyID0gZlNo
YWRlckRCW2ZTb3VyY2VdOworICBpZiAoIWZTaGFkZXIpIHsKKyAgICBmU2hhZGVyID0gd3R1Lmxv
YWRTaGFkZXIoZ2wsIGZTb3VyY2UsIGdsLkZSQUdNRU5UX1NIQURFUik7CisgICAgaWYgKGluZm8u
ZlNoYWRlclRlc3QpIHsKKyAgICAgIGlmICghaW5mby5mU2hhZGVyVGVzdChmU2hhZGVyKSkgewor
ICAgICAgICB0ZXN0RmFpbGVkKCJbZnJhZ21lbnQgc2hkYWVyIHRlc3RdICIgKyBwYXNzTXNnKTsK
KyAgICAgICAgcmV0dXJuOworICAgICAgfQorICAgIH0KKyAgICAvL2RlYnVnKGZTaGFkZXIgPT0g
bnVsbCA/ICJmYWlsIiA6ICJzdWNjZWVkIik7CisgICAgLy8gQXMgcGVyIEdMU0wgMS4wLjE3IDEw
LjI3IHdlIGNhbiBvbmx5IGNoZWNrIGZvciBzdWNjZXNzIG9uCisgICAgLy8gY29tcGlsZVNoYWRl
ciwgbm90IGZhaWx1cmUuCisgICAgaWYgKGluZm8uZlNoYWRlclN1Y2Nlc3MgJiYgIWZTaGFkZXIp
IHsKKyAgICAgIHRlc3RGYWlsZWQoIlt1bmV4cGVjdGVkIGZyYWdtZW50IHNoYWRlciBjb21waWxl
IHN0YXR1c10gKGV4cGVjdGVkOiAiICsKKyAgICAgICAgICAgICAgICBpbmZvLmZTaGFkZXJTdWNj
ZXNzICsgIikgIiArIHBhc3NNc2cpOworICAgICAgcmV0dXJuOworICAgIH0KKyAgICAvLyBTYWZl
IHRoZSBzaGFkZXJzIHNvIHdlIHRlc3Qgc2hhcmVkIHNoYWRlci4KKyAgICBpZiAoZlNoYWRlcikg
eworICAgICAgZlNoYWRlckRCW2ZTb3VyY2VdID0gZlNoYWRlcjsKKyAgICB9CisgIH0KKworICBp
ZiAodlNoYWRlciAmJiBmU2hhZGVyKSB7CisgICAgdmFyIHByb2dyYW0gPSBnbC5jcmVhdGVQcm9n
cmFtKCk7CisgICAgZ2wuYXR0YWNoU2hhZGVyKHByb2dyYW0sIHZTaGFkZXIpOworICAgIGdsLmF0
dGFjaFNoYWRlcihwcm9ncmFtLCBmU2hhZGVyKTsKKworICAgIGlmICh2U291cmNlLmluZGV4T2Yo
InZQb3NpdGlvbiIpID49IDApIHsKKyAgICAgIGdsLmJpbmRBdHRyaWJMb2NhdGlvbihwcm9ncmFt
LCAwLCAidlBvc2l0aW9uIik7CisgICAgfQorICAgIGlmICh2U291cmNlLmluZGV4T2YoInRleENv
b3JkMCIpID49IDApIHsKKyAgICAgIGdsLmJpbmRBdHRyaWJMb2NhdGlvbihwcm9ncmFtLCAxLCAi
dGV4Q29vcmQwIik7CisgICAgfQorICAgIGdsLmxpbmtQcm9ncmFtKHByb2dyYW0pOworICAgIHZh
ciBsaW5rZWQgPSAoZ2wuZ2V0UHJvZ3JhbVBhcmFtZXRlcihwcm9ncmFtLCBnbC5MSU5LX1NUQVRV
UykgIT0gMCk7CisgICAgaWYgKCFsaW5rZWQpIHsKKyAgICAgIHZhciBlcnJvciA9IGdsLmdldFBy
b2dyYW1JbmZvTG9nKHByb2dyYW0pOworICAgICAgbG9nKCIqKiogRXJyb3IgbGlua2luZyBwcm9n
cmFtICciK3Byb2dyYW0rIic6IitlcnJvcik7CisgICAgfQorICAgIGlmIChsaW5rZWQgIT0gaW5m
by5saW5rU3VjY2VzcykgeworICAgICAgdGVzdEZhaWxlZCgiW3VuZXhwZWN0ZWQgbGluayBzdGF0
dXNdICIgKyBwYXNzTXNnKTsKKyAgICAgIHJldHVybjsKKyAgICB9CisgIH0gZWxzZSB7CisgICAg
aWYgKGluZm8ubGlua1N1Y2Nlc3MpIHsKKyAgICAgIHRlc3RGYWlsZWQoIltsaW5rIGZhaWxlZF0g
IiArIHBhc3NNc2cpOworICAgICAgcmV0dXJuOworICAgIH0KKyAgfQorCisgIGlmICghaW5mby5y
ZW5kZXIpIHsKKyAgICB0ZXN0UGFzc2VkKHBhc3NNc2cpOworICAgIHJldHVybjsKKyAgfQorCisg
IGdsLnVzZVByb2dyYW0ocHJvZ3JhbSk7CisgIHd0dS5zZXR1cFVuaXRRdWFkKGdsKTsKKyAgd3R1
LmRyYXdRdWFkKGdsKTsKKworICB2YXIgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2
Iik7CisgIGRpdi5jbGFzc05hbWUgPSAidGVzdGltYWdlcyI7CisgIHd0dS5pbnNlcnRJbWFnZShk
aXYsICJyZXN1bHQiLCB3dHUubWFrZUltYWdlKGdsLmNhbnZhcykpOworICBkaXYuYXBwZW5kQ2hp
bGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYnInKSk7CisgIGNvbnNvbGUuYXBwZW5kQ2hpbGQo
ZGl2KTsKKyAgd3R1LmNoZWNrQ2FudmFzKGdsLCBbMCwgMjU1LCAwLCAyNTVdLCAic2hvdWxkIGJl
IGdyZWVuIiwgMCk7Cit9CisKK2Z1bmN0aW9uIHJ1blRlc3RzKHNoYWRlckluZm9zKSB7CisgIHZh
ciB3dHUgPSBXZWJHTFRlc3RVdGlsczsKKyAgdmFyIGNhbnZhcyA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoJ2NhbnZhcycpOworICBjYW52YXMud2lkdGggPSAzMjsKKyAgY2FudmFzLmhlaWdodCA9
IDMyOworICB2YXIgZ2wgPSB3dHUuY3JlYXRlM0RDb250ZXh0KGNhbnZhcyk7CisgIGlmICghZ2wp
IHsKKyAgICB0ZXN0RmFpbGVkKCJjb250ZXh0IGRvZXMgbm90IGV4aXN0Iik7CisgICAgZmluaXNo
VGVzdCgpOworICAgIHJldHVybjsKKyAgfQorCisgIGZvciAodmFyIGlpID0gMDsgaWkgPCBzaGFk
ZXJJbmZvcy5sZW5ndGg7ICsraWkpIHsKKyAgICBydW5PbmVUZXN0KGdsLCBzaGFkZXJJbmZvc1tp
aV0pOworICB9CisKKyAgZmluaXNoVGVzdCgpOworfTsKKworZnVuY3Rpb24gbG9hZEV4dGVybmFs
U2hhZGVycyhmaWxlbmFtZSwgcGFzc01zZykgeworICB2YXIgc2hhZGVySW5mb3MgPSBbXTsKKyAg
dmFyIGxpbmVzID0gd3R1LnJlYWRGaWxlTGlzdChmaWxlbmFtZSk7CisgIGZvciAodmFyIGlpID0g
MDsgaWkgPCBsaW5lcy5sZW5ndGg7ICsraWkpIHsKKyAgICB2YXIgaW5mbyA9IHsKKyAgICAgIHZT
aGFkZXJTb3VyY2U6ICBkZWZhdWx0VmVydGV4U2hhZGVyLAorICAgICAgdlNoYWRlclN1Y2Nlc3M6
IHRydWUsCisgICAgICBmU2hhZGVyU291cmNlOiAgZGVmYXVsdEZyYWdtZW50U2hhZGVyLAorICAg
ICAgZlNoYWRlclN1Y2Nlc3M6IHRydWUsCisgICAgICBsaW5rU3VjY2VzczogICAgdHJ1ZSwKKyAg
ICB9OworCisgICAgdmFyIGxpbmUgPSBsaW5lc1tpaV07CisgICAgdmFyIGZpbGVzID0gbGluZS5z
cGxpdCgvICsvKTsKKyAgICB2YXIgcGFzc01zZyA9ICIiOworICAgIGZvciAodmFyIGpqID0gMDsg
amogPCBmaWxlcy5sZW5ndGg7ICsramopIHsKKyAgICAgIHZhciBmaWxlID0gZmlsZXNbampdOwor
ICAgICAgdmFyIHNoYWRlclNvdXJjZSA9IHd0dS5yZWFkRmlsZShmaWxlKTsKKyAgICAgIHZhciBm
aXJzdExpbmUgPSBzaGFkZXJTb3VyY2Uuc3BsaXQoIlxuIilbMF07CisgICAgICB2YXIgc3VjY2Vz
cyA9IHVuZGVmaW5lZDsKKyAgICAgIGlmIChmaXJzdExpbmUuaW5kZXhPZigiZmFpbCIpID49IDAp
IHsKKyAgICAgICAgc3VjY2VzcyA9IGZhbHNlOworICAgICAgfSBlbHNlIGlmIChmaXJzdExpbmUu
aW5kZXhPZigic3VjY2VlZCIpID49IDApIHsKKyAgICAgICAgc3VjY2VzcyA9IHRydWU7CisgICAg
ICB9CisgICAgICBpZiAoc3VjY2VzcyA9PT0gdW5kZWZpbmVkKSB7CisgICAgICAgIHRlc3RGYWls
ZWQoImJhZCBmaXJzdCBsaW5lIGluICIgKyBmaWxlICsgIjoiICsgZmlyc3RMaW5lKTsKKyAgICAg
ICAgY29udGludWU7CisgICAgICB9CisgICAgICBpZiAoIXd0dS5zdGFydHNXaXRoKGZpcnN0TGlu
ZSwgIi8vICIpKSB7CisgICAgICAgIHRlc3RGYWlsZWQoImJhZCBmaXJzdCBsaW5lIGluICIgKyBm
aWxlICsgIjoiICsgZmlyc3RMaW5lKTsKKyAgICAgICAgY29udGludWU7CisgICAgICB9CisgICAg
ICBwYXNzTXNnID0gcGFzc01zZyArIChwYXNzTXNnLmxlbmd0aCA/ICIsICIgOiAiIikgKyBmaXJz
dExpbmUuc3Vic3RyKDMpOworICAgICAgaWYgKHd0dS5lbmRzV2l0aChmaWxlLCAiLnZlcnQiKSkg
eworICAgICAgICBpbmZvLnZTaGFkZXJTb3VyY2UgPSBzaGFkZXJTb3VyY2U7CisgICAgICAgIGlu
Zm8udlNoYWRlclN1Y2Nlc3MgPSBzdWNjZXNzOworICAgICAgfSBlbHNlIGlmICh3dHUuZW5kc1dp
dGgoZmlsZSwgIi5mcmFnIikpIHsKKyAgICAgICAgaW5mby5mU2hhZGVyU291cmNlID0gc2hhZGVy
U291cmNlOworICAgICAgICBpbmZvLmZTaGFkZXJTdWNjZXNzID0gc3VjY2VzczsKKyAgICAgIH0K
KyAgICB9CisgICAgaW5mby5saW5rU3VjY2VzcyA9IGluZm8udlNoYWRlclN1Y2Nlc3MgJiYgaW5m
by5mU2hhZGVyU3VjY2VzczsKKyAgICBpbmZvLnBhc3NNc2cgPSBwYXNzTXNnOworICAgIHNoYWRl
ckluZm9zLnB1c2goaW5mbyk7CisgIH0KKyAgcmV0dXJuIHNoYWRlckluZm9zOworfQorCitmdW5j
dGlvbiBnZXRTb3VyY2UoZWxlbSkgeworICB2YXIgc3RyID0gZWxlbS50ZXh0OworICByZXR1cm4g
c3RyLnJlcGxhY2UoL15ccyovLCAnJykucmVwbGFjZSgvXHMqJC8sICcnKTsKK30KKworZnVuY3Rp
b24gZ2V0UGFzc01lc3NhZ2Uoc291cmNlKSB7CisgIHZhciBsaW5lcyA9IHNvdXJjZS5zcGxpdCgn
XG4nKTsKKyAgcmV0dXJuIGxpbmVzWzBdLnN1YnN0cmluZygzKTsKK30KKworZnVuY3Rpb24gZ2V0
U3VjY2Vzcyhtc2cpIHsKKyAgaWYgKG1zZy5pbmRleE9mKCJmYWlsIikgPj0gMCkgeworICAgIHJl
dHVybiBmYWxzZTsKKyAgfQorICBpZiAobXNnLmluZGV4T2YoInN1Y2NlZWQiKSA+PSAwKSB7Cisg
ICAgcmV0dXJuIHRydWU7CisgIH0KKyAgdGVzdEZhaWxlZCgiYmFkIHRlc3QgZGVzY3JpcHRpb24u
IE11c3QgaGF2ZSAnZmFpbCcgb3IgJ3N1Y2Nlc3MnIik7Cit9CisKK2Z1bmN0aW9uIHNldHVwVGVz
dCgpIHsKKyAgdmFyIHZTaGFkZXJFbGVtID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3ZlcnRl
eFNoYWRlcicpOworICB2YXIgdlNoYWRlclNvdXJjZSA9IGRlZmF1bHRWZXJ0ZXhTaGFkZXI7Cisg
IHZhciB2U2hhZGVyU3VjY2VzcyA9IHRydWU7CisKKyAgdmFyIGZTaGFkZXJFbGVtID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoJ2ZyYWdtZW50U2hhZGVyJyk7CisgIHZhciBmU2hhZGVyU291cmNl
ID0gZGVmYXVsdEZyYWdtZW50U2hhZGVyOworICB2YXIgZlNoYWRlclN1Y2Nlc3MgPSB0cnVlOwor
CisgIHZhciBwYXNzTXNnID0gdW5kZWZpbmVkOworCisgIGlmICh2U2hhZGVyRWxlbSkgeworICAg
IHZTaGFkZXJTb3VyY2UgPSBnZXRTb3VyY2UodlNoYWRlckVsZW0pOworICAgIHBhc3NNc2cgPSBn
ZXRQYXNzTWVzc2FnZSh2U2hhZGVyU291cmNlKTsKKyAgICB2U2hhZGVyU3VjY2VzcyA9IGdldFN1
Y2Nlc3MocGFzc01zZyk7CisgIH0KKworICBpZiAoZlNoYWRlckVsZW0pIHsKKyAgICBmU2hhZGVy
U291cmNlID0gZ2V0U291cmNlKGZTaGFkZXJFbGVtKTsKKyAgICBwYXNzTXNnID0gZ2V0UGFzc01l
c3NhZ2UoZlNoYWRlclNvdXJjZSk7CisgICAgZlNoYWRlclN1Y2Nlc3MgPSBnZXRTdWNjZXNzKHBh
c3NNc2cpOworICB9CisKKyAgdmFyIGxpbmtTdWNjZXNzID0gdlNoYWRlclN1Y2Nlc3MgJiYgZlNo
YWRlclN1Y2Nlc3M7CisKKyAgaWYgKHBhc3NNc2cgPT09IHVuZGVmaW5lZCkgeworICAgIHRlc3RG
YWlsZWQoIm5vIHRlc3Qgc2hhZGVyIGZvdW5kLiIpOworICAgIGZpbmlzaFRlc3QoKTsKKyAgICBy
ZXR1cm47CisgIH0KKworICB2YXIgaW5mbyA9IHsKKyAgICB2U2hhZGVyU291cmNlOiB2U2hhZGVy
U291cmNlLAorICAgIHZTaGFkZXJTdWNjZXNzOiB2U2hhZGVyU3VjY2VzcywKKyAgICBmU2hhZGVy
U291cmNlOiBmU2hhZGVyU291cmNlLAorICAgIGZTaGFkZXJTdWNjZXNzOiBmU2hhZGVyU3VjY2Vz
cywKKyAgICBsaW5rU3VjY2VzczogbGlua1N1Y2Nlc3MsCisgICAgcGFzc01zZzogcGFzc01zZwor
ICB9OworCisgIHJldHVybiBpbmZvOworfQorCitmdW5jdGlvbiBydW5UZXN0KCkgeworICB2YXIg
aW5mbyA9IHNldHVwVGVzdCgpOworICBkZXNjcmlwdGlvbihpbmZvLnBhc3NNc2cpOworICBydW5U
ZXN0cyhbaW5mb10pOworfQorCitmdW5jdGlvbiBydW5SZW5kZXJUZXN0cyh0ZXN0cykgeworICBm
b3IgKHZhciBpaSA9IDA7IGlpIDwgdGVzdHMubGVuZ3RoOyArK2lpKSB7CisgICAgdGVzdHNbaWld
LnJlbmRlciA9IHRydWUKKyAgfQorICBydW5UZXN0cyh0ZXN0cyk7Cit9CisKK2Z1bmN0aW9uIHJ1
blJlbmRlclRlc3QoKSB7CisgIHZhciBpbmZvID0gc2V0dXBUZXN0KCk7CisgIGRlc2NyaXB0aW9u
KGluZm8ucGFzc01zZyk7CisgIHJ1blJlbmRlclRlc3RzKFtpbmZvXSk7Cit9CisKK3JldHVybiB7
CisgIHJ1blRlc3Q6IHJ1blRlc3QsCisgIHJ1blRlc3RzOiBydW5UZXN0cywKKyAgcnVuUmVuZGVy
VGVzdDogcnVuUmVuZGVyVGVzdCwKKyAgcnVuUmVuZGVyVGVzdHM6IHJ1blJlbmRlclRlc3RzLAor
ICBsb2FkRXh0ZXJuYWxTaGFkZXJzOiBsb2FkRXh0ZXJuYWxTaGFkZXJzLAorCisgIG5vbmU6IGZh
bHNlLAorfTsKK30oKSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMv
d2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZXNvdXJjZXMvZ2xzbC1mZWF0dXJlLXRlc3Rz
LmNzcyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZv
cm1hbmNlL3Jlc291cmNlcy9nbHNsLWZlYXR1cmUtdGVzdHMuY3NzCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM4MDYz
ZDkyYjJhNTkxZGYzNzk0MDk0NGNlMDNmMzlmZWVmOGRjNTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9y
ZXNvdXJjZXMvZ2xzbC1mZWF0dXJlLXRlc3RzLmNzcwpAQCAtMCwwICsxLDI5IEBACitjYW52YXMg
eworICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsKKyAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFy
LWdyYWRpZW50KDAsIHJnYmEoMjAwLCAyMDAsIDIwMCwgLjUpIDUwJSwgdHJhbnNwYXJlbnQgNTAl
KSwgbGluZWFyLWdyYWRpZW50KHJnYmEoMjAwLCAyMDAsIDIwMCwgLjUpIDUwJSwgdHJhbnNwYXJl
bnQgNTAlKTsKKyAgYmFja2dyb3VuZC1zaXplOiA4cHggOHB4OworfQorCisuc2hhZGVyLXNvdXJj
ZSB7CisgIGJvcmRlcjogMXB4IGRhc2hlZCBibGFjazsKKyAgcGFkZGluZzogMWVtOworfQorCisu
c2hhZGVyLXNvdXJjZSBsaTpudGgtY2hpbGQob2RkKSB7IGJhY2tncm91bmQ6ICNmOGY4Zjg7IH0K
Ky5zaGFkZXItc291cmNlIGxpOm50aC1jaGlsZChldmVuKSB7IGJhY2tncm91bmQ6ICNmMGYwZjA7
IH0KKworLnRlc3RpbWFnZXMgeworfQorCisudGVzdGltYWdlcyBiciB7CisgIGNsZWFyOiBib3Ro
OworfQorCisudGVzdGltYWdlcyA+IGRpdiB7CisgIGZsb2F0OiBsZWZ0OworICBtYXJnaW46IDFl
bTsKK30KKworSU1HIHsKKyAgYm9yZGVyOiAxcHggc29saWQgYmxhY2s7Cit9CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5j
ZS9yZXNvdXJjZXMvZ2xzbC1nZW5lcmF0b3IuanMgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJj
ZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZXNvdXJjZXMvZ2xzbC1nZW5lcmF0b3Iu
anMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uYjU4NzIzMmE2MDQ0NmVjYmUwYzliMTA5OTlkM2VhZmYxYTE2M2VmNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL3Jlc291cmNlcy9nbHNsLWdlbmVyYXRvci5qcwpAQCAtMCwwICsx
LDExNjcgQEAKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5j
LgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0
byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29y
IGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRv
IGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoq
IHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJn
ZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGll
cyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhl
IE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5k
IHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3Bp
ZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUg
TUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBL
SU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRP
IFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFM
TCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiog
Q0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBP
RiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBP
UiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhF
UiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KK0dMU0xHZW5lcmF0b3IgPSAoZnVuY3Rp
b24oKSB7CisKK3ZhciB2ZXJ0ZXhTaGFkZXJUZW1wbGF0ZSA9IFsKKyAgImF0dHJpYnV0ZSB2ZWM0
IGFQb3NpdGlvbjsiLAorICAiIiwKKyAgInZhcnlpbmcgdmVjNCB2Q29sb3I7IiwKKyAgIiIsCisg
ICIkKGV4dHJhKSIsCisgICIkKGVtdSkiLAorICAiIiwKKyAgInZvaWQgbWFpbigpIiwKKyAgInsi
LAorICAiICAgZ2xfUG9zaXRpb24gPSBhUG9zaXRpb247IiwKKyAgIiAgIHZlYzIgdGV4Y29vcmQg
PSB2ZWMyKGFQb3NpdGlvbi54eSAqIDAuNSArIHZlYzIoMC41LCAwLjUpKTsiLAorICAiICAgdmVj
NCBjb2xvciA9IHZlYzQoIiwKKyAgIiAgICAgICB0ZXhjb29yZCwiLAorICAiICAgICAgIHRleGNv
b3JkLnggKiB0ZXhjb29yZC55LCIsCisgICIgICAgICAgKDEuMCAtIHRleGNvb3JkLngpICogdGV4
Y29vcmQueSAqIDAuNSArIDAuNSk7IiwKKyAgIiAgICQodGVzdCkiLAorICAifSIKK10uam9pbigi
XG4iKTsKKwordmFyIGZyYWdtZW50U2hhZGVyVGVtcGxhdGUgPSBbCisgICIjaWYgZGVmaW5lZChH
TF9FUykiLAorICAicHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7IiwKKyAgIiNlbmRpZiIsCisgICIi
LAorICAidmFyeWluZyB2ZWM0IHZDb2xvcjsiLAorICAiIiwKKyAgIiQoZXh0cmEpIiwKKyAgIiQo
ZW11KSIsCisgICIiLAorICAidm9pZCBtYWluKCkiLAorICAieyIsCisgICIgICAkKHRlc3QpIiwK
KyAgIn0iCitdLmpvaW4oIlxuIik7CisKK3ZhciBiYXNlVmVydGV4U2hhZGVyID0gWworICAiYXR0
cmlidXRlIHZlYzQgYVBvc2l0aW9uOyIsCisgICIiLAorICAidmFyeWluZyB2ZWM0IHZDb2xvcjsi
LAorICAiIiwKKyAgInZvaWQgbWFpbigpIiwKKyAgInsiLAorICAiICAgZ2xfUG9zaXRpb24gPSBh
UG9zaXRpb247IiwKKyAgIiAgIHZlYzIgdGV4Y29vcmQgPSB2ZWMyKGFQb3NpdGlvbi54eSAqIDAu
NSArIHZlYzIoMC41LCAwLjUpKTsiLAorICAiICAgdkNvbG9yID0gdmVjNCgiLAorICAiICAgICAg
IHRleGNvb3JkLCIsCisgICIgICAgICAgdGV4Y29vcmQueCAqIHRleGNvb3JkLnksIiwKKyAgIiAg
ICAgICAoMS4wIC0gdGV4Y29vcmQueCkgKiB0ZXhjb29yZC55ICogMC41ICsgMC41KTsiLAorICAi
fSIKK10uam9pbigiXG4iKTsKKwordmFyIGJhc2VGcmFnbWVudFNoYWRlciA9IFsKKyAgIiNpZiBk
ZWZpbmVkKEdMX0VTKSIsCisgICJwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDsiLAorICAiI2VuZGlm
IiwKKyAgInZhcnlpbmcgdmVjNCB2Q29sb3I7IiwKKyAgIiIsCisgICJ2b2lkIG1haW4oKSIsCisg
ICJ7IiwKKyAgIiAgIGdsX0ZyYWdDb2xvciA9IHZDb2xvcjsiLAorICAifSIKK10uam9pbigiXG4i
KTsKKwordmFyIHR5cGVzID0gWworICB7IHR5cGU6ICJmbG9hdCIsCisgICAgY29kZTogWworICAg
ICAgImZsb2F0ICQoZnVuYylfZW11KCQoYXJncykpIHsiLAorICAgICAgIiAgcmV0dXJuICQoZnVu
YylfYmFzZSgkKGJhc2VBcmdzKSk7IiwKKyAgICAgICJ9Il0uam9pbigiXG4iKQorICB9LAorICB7
IHR5cGU6ICJ2ZWMyIiwKKyAgICBjb2RlOiBbCisgICAgICAidmVjMiAkKGZ1bmMpX2VtdSgkKGFy
Z3MpKSB7IiwKKyAgICAgICIgIHJldHVybiB2ZWMyKCIsCisgICAgICAiICAgICAgJChmdW5jKV9i
YXNlKCQoYmFzZUFyZ3NYKSksIiwKKyAgICAgICIgICAgICAkKGZ1bmMpX2Jhc2UoJChiYXNlQXJn
c1kpKSk7IiwKKyAgICAgICJ9Il0uam9pbigiXG4iKQorICB9LAorICB7IHR5cGU6ICJ2ZWMzIiwK
KyAgICBjb2RlOiBbCisgICAgICAidmVjMyAkKGZ1bmMpX2VtdSgkKGFyZ3MpKSB7IiwKKyAgICAg
ICIgIHJldHVybiB2ZWMzKCIsCisgICAgICAiICAgICAgJChmdW5jKV9iYXNlKCQoYmFzZUFyZ3NY
KSksIiwKKyAgICAgICIgICAgICAkKGZ1bmMpX2Jhc2UoJChiYXNlQXJnc1kpKSwiLAorICAgICAg
IiAgICAgICQoZnVuYylfYmFzZSgkKGJhc2VBcmdzWikpKTsiLAorICAgICAgIn0iXS5qb2luKCJc
biIpCisgIH0sCisgIHsgdHlwZTogInZlYzQiLAorICAgIGNvZGU6IFsKKyAgICAgICJ2ZWM0ICQo
ZnVuYylfZW11KCQoYXJncykpIHsiLAorICAgICAgIiAgcmV0dXJuIHZlYzQoIiwKKyAgICAgICIg
ICAgICAkKGZ1bmMpX2Jhc2UoJChiYXNlQXJnc1gpKSwiLAorICAgICAgIiAgICAgICQoZnVuYylf
YmFzZSgkKGJhc2VBcmdzWSkpLCIsCisgICAgICAiICAgICAgJChmdW5jKV9iYXNlKCQoYmFzZUFy
Z3NaKSksIiwKKyAgICAgICIgICAgICAkKGZ1bmMpX2Jhc2UoJChiYXNlQXJnc1cpKSk7IiwKKyAg
ICAgICJ9Il0uam9pbigiXG4iKQorICB9CitdOworCit2YXIgYnZlY1R5cGVzID0gWworICB7IHR5
cGU6ICJidmVjMiIsCisgICAgY29kZTogWworICAgICAgImJ2ZWMyICQoZnVuYylfZW11KCQoYXJn
cykpIHsiLAorICAgICAgIiAgcmV0dXJuIGJ2ZWMyKCIsCisgICAgICAiICAgICAgJChmdW5jKV9i
YXNlKCQoYmFzZUFyZ3NYKSksIiwKKyAgICAgICIgICAgICAkKGZ1bmMpX2Jhc2UoJChiYXNlQXJn
c1kpKSk7IiwKKyAgICAgICJ9Il0uam9pbigiXG4iKQorICB9LAorICB7IHR5cGU6ICJidmVjMyIs
CisgICAgY29kZTogWworICAgICAgImJ2ZWMzICQoZnVuYylfZW11KCQoYXJncykpIHsiLAorICAg
ICAgIiAgcmV0dXJuIGJ2ZWMzKCIsCisgICAgICAiICAgICAgJChmdW5jKV9iYXNlKCQoYmFzZUFy
Z3NYKSksIiwKKyAgICAgICIgICAgICAkKGZ1bmMpX2Jhc2UoJChiYXNlQXJnc1kpKSwiLAorICAg
ICAgIiAgICAgICQoZnVuYylfYmFzZSgkKGJhc2VBcmdzWikpKTsiLAorICAgICAgIn0iXS5qb2lu
KCJcbiIpCisgIH0sCisgIHsgdHlwZTogImJ2ZWM0IiwKKyAgICBjb2RlOiBbCisgICAgICAidmVj
NCAkKGZ1bmMpX2VtdSgkKGFyZ3MpKSB7IiwKKyAgICAgICIgIHJldHVybiBidmVjNCgiLAorICAg
ICAgIiAgICAgICQoZnVuYylfYmFzZSgkKGJhc2VBcmdzWCkpLCIsCisgICAgICAiICAgICAgJChm
dW5jKV9iYXNlKCQoYmFzZUFyZ3NZKSksIiwKKyAgICAgICIgICAgICAkKGZ1bmMpX2Jhc2UoJChi
YXNlQXJnc1opKSwiLAorICAgICAgIiAgICAgICQoZnVuYylfYmFzZSgkKGJhc2VBcmdzVykpKTsi
LAorICAgICAgIn0iXS5qb2luKCJcbiIpCisgIH0KK107CisKK3ZhciByZXBsYWNlUkUgPSAvXCRc
KChcdyspXCkvZzsKKwordmFyIHJlcGxhY2VQYXJhbXMgPSBmdW5jdGlvbihzdHIpIHsKKyAgdmFy
IGFyZ3MgPSBhcmd1bWVudHM7CisgIHJldHVybiBzdHIucmVwbGFjZShyZXBsYWNlUkUsIGZ1bmN0
aW9uKHN0ciwgcDEsIG9mZnNldCwgcykgeworICAgIGZvciAodmFyIGlpID0gMTsgaWkgPCBhcmdz
Lmxlbmd0aDsgKytpaSkgeworICAgICAgaWYgKGFyZ3NbaWldW3AxXSAhPT0gdW5kZWZpbmVkKSB7
CisgICAgICAgIHJldHVybiBhcmdzW2lpXVtwMV07CisgICAgICB9CisgICAgfQorICAgIHRocm93
ICJ1bmtub3duIHN0cmluZyBwYXJhbSAnIiArIHAxICsgIiciOworICB9KTsKK307CisKK3ZhciBn
ZW5lcmF0ZVJlZmVyZW5jZVNoYWRlciA9IGZ1bmN0aW9uKAorICAgIHNoYWRlckluZm8sIHRlbXBs
YXRlLCBwYXJhbXMsIHR5cGVJbmZvLCB0ZXN0KSB7CisgIHZhciBpbnB1dCA9IHNoYWRlckluZm8u
aW5wdXQ7CisgIHZhciBvdXRwdXQgPSBzaGFkZXJJbmZvLm91dHB1dDsKKyAgdmFyIGZlYXR1cmUg
PSBwYXJhbXMuZmVhdHVyZTsKKyAgdmFyIHRlc3RGdW5jID0gcGFyYW1zLnRlc3RGdW5jOworICB2
YXIgZW11RnVuYyA9IHBhcmFtcy5lbXVGdW5jIHx8ICIiOworICB2YXIgZXh0cmEgPSBwYXJhbXMu
ZXh0cmEgfHwgJyc7CisgIHZhciBhcmdzID0gcGFyYW1zLmFyZ3MgfHwgIiQodHlwZSkgdmFsdWUi
OworICB2YXIgdHlwZSA9IHR5cGVJbmZvLnR5cGU7CisgIHZhciB0eXBlQ29kZSA9IHR5cGVJbmZv
LmNvZGU7CisKKyAgdmFyIGJhc2VBcmdzID0gcGFyYW1zLmJhc2VBcmdzIHx8ICJ2YWx1ZSQoZmll
bGQpIjsKKyAgdmFyIGJhc2VBcmdzWCA9IHJlcGxhY2VQYXJhbXMoYmFzZUFyZ3MsIHtmaWVsZDog
Ii54In0pOworICB2YXIgYmFzZUFyZ3NZID0gcmVwbGFjZVBhcmFtcyhiYXNlQXJncywge2ZpZWxk
OiAiLnkifSk7CisgIHZhciBiYXNlQXJnc1ogPSByZXBsYWNlUGFyYW1zKGJhc2VBcmdzLCB7Zmll
bGQ6ICIueiJ9KTsKKyAgdmFyIGJhc2VBcmdzVyA9IHJlcGxhY2VQYXJhbXMoYmFzZUFyZ3MsIHtm
aWVsZDogIi53In0pOworICB2YXIgYmFzZUFyZ3MgPSByZXBsYWNlUGFyYW1zKGJhc2VBcmdzLCB7
ZmllbGQ6ICIifSk7CisKKyAgdGVzdCA9IHJlcGxhY2VQYXJhbXModGVzdCwgeworICAgIGlucHV0
OiBpbnB1dCwKKyAgICBvdXRwdXQ6IG91dHB1dCwKKyAgICBmdW5jOiBmZWF0dXJlICsgIl9lbXUi
CisgIH0pOworICBlbXVGdW5jID0gcmVwbGFjZVBhcmFtcyhlbXVGdW5jLCB7CisgICAgZnVuYzog
ZmVhdHVyZQorICB9KTsKKyAgYXJncyA9IHJlcGxhY2VQYXJhbXMoYXJncywgeworICAgIHR5cGU6
IHR5cGUKKyAgfSk7CisgIHR5cGVDb2RlID0gcmVwbGFjZVBhcmFtcyh0eXBlQ29kZSwgeworICAg
IGZ1bmM6IGZlYXR1cmUsCisgICAgdHlwZTogdHlwZSwKKyAgICBhcmdzOiBhcmdzLAorICAgIGJh
c2VBcmdzOiBiYXNlQXJncywKKyAgICBiYXNlQXJnc1g6IGJhc2VBcmdzWCwKKyAgICBiYXNlQXJn
c1k6IGJhc2VBcmdzWSwKKyAgICBiYXNlQXJnc1o6IGJhc2VBcmdzWiwKKyAgICBiYXNlQXJnc1c6
IGJhc2VBcmdzVworICB9KTsKKyAgdmFyIHNoYWRlciA9IHJlcGxhY2VQYXJhbXModGVtcGxhdGUs
IHsKKyAgICBleHRyYTogZXh0cmEsCisgICAgZW11OiBlbXVGdW5jICsgIlxuXG4iICsgdHlwZUNv
ZGUsCisgICAgdGVzdDogdGVzdAorICB9KTsKKyAgcmV0dXJuIHNoYWRlcjsKK307CisKK3ZhciBn
ZW5lcmF0ZVRlc3RTaGFkZXIgPSBmdW5jdGlvbigKKyAgICBzaGFkZXJJbmZvLCB0ZW1wbGF0ZSwg
cGFyYW1zLCB0ZXN0KSB7CisgIHZhciBpbnB1dCA9IHNoYWRlckluZm8uaW5wdXQ7CisgIHZhciBv
dXRwdXQgPSBzaGFkZXJJbmZvLm91dHB1dDsKKyAgdmFyIGZlYXR1cmUgPSBwYXJhbXMuZmVhdHVy
ZTsKKyAgdmFyIHRlc3RGdW5jID0gcGFyYW1zLnRlc3RGdW5jOworICB2YXIgZXh0cmEgPSBwYXJh
bXMuZXh0cmEgfHwgJyc7CisKKyAgdGVzdCA9IHJlcGxhY2VQYXJhbXModGVzdCwgeworICAgIGlu
cHV0OiBpbnB1dCwKKyAgICBvdXRwdXQ6IG91dHB1dCwKKyAgICBmdW5jOiBmZWF0dXJlCisgIH0p
OworICB2YXIgc2hhZGVyID0gcmVwbGFjZVBhcmFtcyh0ZW1wbGF0ZSwgeworICAgIGV4dHJhOiBl
eHRyYSwKKyAgICBlbXU6ICcnLAorICAgIHRlc3Q6IHRlc3QKKyAgfSk7CisgIHJldHVybiBzaGFk
ZXI7Cit9OworCit2YXIgcnVuRmVhdHVyZVRlc3QgPSBmdW5jdGlvbihwYXJhbXMpIHsKKyAgdmFy
IHd0dSA9IFdlYkdMVGVzdFV0aWxzOworICB2YXIgZ3JpZFJlcyA9IHBhcmFtcy5ncmlkUmVzOwor
ICB2YXIgdmVydGV4VG9sZXJhbmNlID0gcGFyYW1zLnRvbGVyYW5jZSB8fCAwOworICB2YXIgZnJh
Z21lbnRUb2xlcmFuY2UgPSB2ZXJ0ZXhUb2xlcmFuY2U7CisgIGlmICgnZnJhZ21lbnRUb2xlcmFu
Y2UnIGluIHBhcmFtcykKKyAgICBmcmFnbWVudFRvbGVyYW5jZSA9IHBhcmFtcy5mcmFnbWVudFRv
bGVyYW5jZSB8fCAwOworCisgIGRlc2NyaXB0aW9uKCJUZXN0aW5nIEdMU0wgZmVhdHVyZTogIiAr
IHBhcmFtcy5mZWF0dXJlKTsKKworICB2YXIgd2lkdGggPSAzMjsKKyAgdmFyIGhlaWdodCA9IDMy
OworCisgIHZhciBjb25zb2xlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnNvbGUiKTsK
KyAgdmFyIGNhbnZhcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycpOworICBjYW52
YXMud2lkdGggPSB3aWR0aDsKKyAgY2FudmFzLmhlaWdodCA9IGhlaWdodDsKKyAgdmFyIGdsID0g
d3R1LmNyZWF0ZTNEQ29udGV4dChjYW52YXMpOworICBpZiAoIWdsKSB7CisgICAgdGVzdEZhaWxl
ZCgiY29udGV4dCBkb2VzIG5vdCBleGlzdCIpOworICAgIGZpbmlzaFRlc3QoKTsKKyAgICByZXR1
cm47CisgIH0KKworICB2YXIgY2FudmFzMmQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjYW52
YXMnKTsKKyAgY2FudmFzMmQud2lkdGggPSB3aWR0aDsKKyAgY2FudmFzMmQuaGVpZ2h0ID0gaGVp
Z2h0OworICB2YXIgY3R4ID0gY2FudmFzMmQuZ2V0Q29udGV4dCgiMmQiKTsKKyAgdmFyIGltZ0Rh
dGEgPSBjdHguZ2V0SW1hZ2VEYXRhKDAsIDAsIHdpZHRoLCBoZWlnaHQpOworCisgIHZhciBzaGFk
ZXJJbmZvcyA9IFsKKyAgICB7IHR5cGU6ICJ2ZXJ0ZXgiLAorICAgICAgaW5wdXQ6ICJjb2xvciIs
CisgICAgICBvdXRwdXQ6ICJ2Q29sb3IiLAorICAgICAgdmVydGV4U2hhZGVyVGVtcGxhdGU6IHZl
cnRleFNoYWRlclRlbXBsYXRlLAorICAgICAgZnJhZ21lbnRTaGFkZXJUZW1wbGF0ZTogYmFzZUZy
YWdtZW50U2hhZGVyLAorICAgICAgdG9sZXJhbmNlOiB2ZXJ0ZXhUb2xlcmFuY2UKKyAgICB9LAor
ICAgIHsgdHlwZTogImZyYWdtZW50IiwKKyAgICAgIGlucHV0OiAidkNvbG9yIiwKKyAgICAgIG91
dHB1dDogImdsX0ZyYWdDb2xvciIsCisgICAgICB2ZXJ0ZXhTaGFkZXJUZW1wbGF0ZTogYmFzZVZl
cnRleFNoYWRlciwKKyAgICAgIGZyYWdtZW50U2hhZGVyVGVtcGxhdGU6IGZyYWdtZW50U2hhZGVy
VGVtcGxhdGUsCisgICAgICB0b2xlcmFuY2U6IGZyYWdtZW50VG9sZXJhbmNlCisgICAgfQorICBd
OworICBmb3IgKHZhciBzcyA9IDA7IHNzIDwgc2hhZGVySW5mb3MubGVuZ3RoOyArK3NzKSB7Cisg
ICAgdmFyIHNoYWRlckluZm8gPSBzaGFkZXJJbmZvc1tzc107CisgICAgdmFyIHRlc3RzID0gcGFy
YW1zLnRlc3RzOworICAgIHZhciB0ZXN0VHlwZXMgPSBwYXJhbXMuZW11RnVuY3MgfHwgKHBhcmFt
cy5idmVjVGVzdCA/IGJ2ZWNUeXBlcyA6IHR5cGVzKTsKKyAgICAvLyBUZXN0IHZlcnRleCBzaGFk
ZXJzCisgICAgZm9yICh2YXIgaWkgPSAwOyBpaSA8IHRlc3RzLmxlbmd0aDsgKytpaSkgeworICAg
ICAgdmFyIHR5cGUgPSB0ZXN0VHlwZXNbaWldOworICAgICAgaWYgKHBhcmFtcy5zaW1wbGVFbXUp
IHsKKyAgICAgICAgdHlwZSA9IHsKKyAgICAgICAgICB0eXBlOiB0eXBlLnR5cGUsCisgICAgICAg
ICAgY29kZTogcGFyYW1zLnNpbXBsZUVtdQorICAgICAgICB9OworICAgICAgfQorICAgICAgZGVi
dWcoIiIpOworICAgICAgdmFyIHN0ciA9IHJlcGxhY2VQYXJhbXMocGFyYW1zLnRlc3RGdW5jLCB7
CisgICAgICAgIGZ1bmM6IHBhcmFtcy5mZWF0dXJlLAorICAgICAgICB0eXBlOiB0eXBlLnR5cGUs
CisgICAgICAgIGFyZzA6IHR5cGUudHlwZQorICAgICAgfSk7CisgICAgICBkZWJ1ZygiVGVzdGlu
ZzogIiArIHN0ciArICIgaW4gIiArIHNoYWRlckluZm8udHlwZSArICIgc2hhZGVyIik7CisKKyAg
ICAgIHZhciByZWZlcmVuY2VWZXJ0ZXhTaGFkZXJTb3VyY2UgPSBnZW5lcmF0ZVJlZmVyZW5jZVNo
YWRlcigKKyAgICAgICAgICBzaGFkZXJJbmZvLAorICAgICAgICAgIHNoYWRlckluZm8udmVydGV4
U2hhZGVyVGVtcGxhdGUsCisgICAgICAgICAgcGFyYW1zLAorICAgICAgICAgIHR5cGUsCisgICAg
ICAgICAgdGVzdHNbaWldKTsKKyAgICAgIHZhciByZWZlcmVuY2VGcmFnbWVudFNoYWRlclNvdXJj
ZSA9IGdlbmVyYXRlUmVmZXJlbmNlU2hhZGVyKAorICAgICAgICAgIHNoYWRlckluZm8sCisgICAg
ICAgICAgc2hhZGVySW5mby5mcmFnbWVudFNoYWRlclRlbXBsYXRlLAorICAgICAgICAgIHBhcmFt
cywKKyAgICAgICAgICB0eXBlLAorICAgICAgICAgIHRlc3RzW2lpXSk7CisgICAgICB2YXIgdGVz
dFZlcnRleFNoYWRlclNvdXJjZSA9IGdlbmVyYXRlVGVzdFNoYWRlcigKKyAgICAgICAgICBzaGFk
ZXJJbmZvLAorICAgICAgICAgIHNoYWRlckluZm8udmVydGV4U2hhZGVyVGVtcGxhdGUsCisgICAg
ICAgICAgcGFyYW1zLAorICAgICAgICAgIHRlc3RzW2lpXSk7CisgICAgICB2YXIgdGVzdEZyYWdt
ZW50U2hhZGVyU291cmNlID0gZ2VuZXJhdGVUZXN0U2hhZGVyKAorICAgICAgICAgIHNoYWRlcklu
Zm8sCisgICAgICAgICAgc2hhZGVySW5mby5mcmFnbWVudFNoYWRlclRlbXBsYXRlLAorICAgICAg
ICAgIHBhcmFtcywKKyAgICAgICAgICB0ZXN0c1tpaV0pOworCisgICAgICBkZWJ1ZygiIik7Cisg
ICAgICB3dHUuYWRkU2hhZGVyU291cmNlKAorICAgICAgICAgIGNvbnNvbGUsICJyZWZlcmVuY2Ug
dmVydGV4IHNoYWRlciIsIHJlZmVyZW5jZVZlcnRleFNoYWRlclNvdXJjZSk7CisgICAgICB3dHUu
YWRkU2hhZGVyU291cmNlKAorICAgICAgICAgIGNvbnNvbGUsICJyZWZlcmVuY2UgZnJhZ21lbnQg
c2hhZGVyIiwgcmVmZXJlbmNlRnJhZ21lbnRTaGFkZXJTb3VyY2UpOworICAgICAgd3R1LmFkZFNo
YWRlclNvdXJjZSgKKyAgICAgICAgICBjb25zb2xlLCAidGVzdCB2ZXJ0ZXggc2hhZGVyIiwgdGVz
dFZlcnRleFNoYWRlclNvdXJjZSk7CisgICAgICB3dHUuYWRkU2hhZGVyU291cmNlKAorICAgICAg
ICAgIGNvbnNvbGUsICJ0ZXN0IGZyYWdtZW50IHNoYWRlciIsIHRlc3RGcmFnbWVudFNoYWRlclNv
dXJjZSk7CisgICAgICBkZWJ1ZygiIik7CisKKyAgICAgIHZhciByZWZEYXRhID0gZHJhdygKKyAg
ICAgICAgICBjYW52YXMsIHJlZmVyZW5jZVZlcnRleFNoYWRlclNvdXJjZSwgcmVmZXJlbmNlRnJh
Z21lbnRTaGFkZXJTb3VyY2UpOworICAgICAgdmFyIHJlZkltZyA9IHd0dS5tYWtlSW1hZ2UoY2Fu
dmFzKTsKKyAgICAgIGlmIChzcyA9PSAwKSB7CisgICAgICAgIHZhciB0ZXN0RGF0YSA9IGRyYXco
CisgICAgICAgICAgICBjYW52YXMsIHRlc3RWZXJ0ZXhTaGFkZXJTb3VyY2UsIHJlZmVyZW5jZUZy
YWdtZW50U2hhZGVyU291cmNlKTsKKyAgICAgIH0gZWxzZSB7CisgICAgICAgIHZhciB0ZXN0RGF0
YSA9IGRyYXcoCisgICAgICAgICAgICBjYW52YXMsIHJlZmVyZW5jZVZlcnRleFNoYWRlclNvdXJj
ZSwgdGVzdEZyYWdtZW50U2hhZGVyU291cmNlKTsKKyAgICAgIH0KKyAgICAgIHZhciB0ZXN0SW1n
ID0gd3R1Lm1ha2VJbWFnZShjYW52YXMpOworCisgICAgICByZXBvcnRSZXN1bHRzKHJlZkRhdGEs
IHJlZkltZywgdGVzdERhdGEsIHRlc3RJbWcsIHNoYWRlckluZm8udG9sZXJhbmNlKTsKKyAgICB9
CisgIH0KKworICBmaW5pc2hUZXN0KCk7CisKKyAgZnVuY3Rpb24gcmVwb3J0UmVzdWx0cyhyZWZE
YXRhLCByZWZJbWFnZSwgdGVzdERhdGEsIHRlc3RJbWFnZSwgdG9sZXJhbmNlKSB7CisgICAgdmFy
IHNhbWUgPSB0cnVlOworICAgIGZvciAodmFyIHl5ID0gMDsgeXkgPCBoZWlnaHQ7ICsreXkpIHsK
KyAgICAgIGZvciAodmFyIHh4ID0gMDsgeHggPCB3aWR0aDsgKyt4eCkgeworICAgICAgICB2YXIg
b2Zmc2V0ID0gKHl5ICogd2lkdGggKyB4eCkgKiA0OworICAgICAgICB2YXIgaW1nT2Zmc2V0ID0g
KChoZWlnaHQgLSB5eSAtIDEpICogd2lkdGggKyB4eCkgKiA0OworICAgICAgICBpbWdEYXRhLmRh
dGFbaW1nT2Zmc2V0ICsgMF0gPSAwOworICAgICAgICBpbWdEYXRhLmRhdGFbaW1nT2Zmc2V0ICsg
MV0gPSAwOworICAgICAgICBpbWdEYXRhLmRhdGFbaW1nT2Zmc2V0ICsgMl0gPSAwOworICAgICAg
ICBpbWdEYXRhLmRhdGFbaW1nT2Zmc2V0ICsgM10gPSAyNTU7CisgICAgICAgIGlmIChNYXRoLmFi
cyhyZWZEYXRhW29mZnNldCArIDBdIC0gdGVzdERhdGFbb2Zmc2V0ICsgMF0pID4gdG9sZXJhbmNl
IHx8CisgICAgICAgICAgICBNYXRoLmFicyhyZWZEYXRhW29mZnNldCArIDFdIC0gdGVzdERhdGFb
b2Zmc2V0ICsgMV0pID4gdG9sZXJhbmNlIHx8CisgICAgICAgICAgICBNYXRoLmFicyhyZWZEYXRh
W29mZnNldCArIDJdIC0gdGVzdERhdGFbb2Zmc2V0ICsgMl0pID4gdG9sZXJhbmNlIHx8CisgICAg
ICAgICAgICBNYXRoLmFicyhyZWZEYXRhW29mZnNldCArIDNdIC0gdGVzdERhdGFbb2Zmc2V0ICsg
M10pID4gdG9sZXJhbmNlKSB7CisgICAgICAgICAgaW1nRGF0YS5kYXRhW2ltZ09mZnNldF0gPSAy
NTU7CisgICAgICAgICAgc2FtZSA9IGZhbHNlOworICAgICAgICB9CisgICAgICB9CisgICAgfQor
CisgICAgdmFyIGRpZmZJbWcgPSBudWxsOworICAgIGlmICghc2FtZSkgeworICAgICAgY3R4LnB1
dEltYWdlRGF0YShpbWdEYXRhLCAwLCAwKTsKKyAgICAgIGRpZmZJbWcgPSB3dHUubWFrZUltYWdl
KGNhbnZhczJkKTsKKyAgICB9CisKKyAgICB2YXIgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgiZGl2Iik7CisgICAgZGl2LmNsYXNzTmFtZSA9ICJ0ZXN0aW1hZ2VzIjsKKyAgICB3dHUuaW5z
ZXJ0SW1hZ2UoZGl2LCAicmVmIiwgcmVmSW1nKTsKKyAgICB3dHUuaW5zZXJ0SW1hZ2UoZGl2LCAi
dGVzdCIsIHRlc3RJbWcpOworICAgIGlmIChkaWZmSW1nKSB7CisgICAgICB3dHUuaW5zZXJ0SW1h
Z2UoZGl2LCAiZGlmZiIsIGRpZmZJbWcpOworICAgIH0KKyAgICBkaXYuYXBwZW5kQ2hpbGQoZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgnYnInKSk7CisKKworICAgIGNvbnNvbGUuYXBwZW5kQ2hpbGQo
ZGl2KTsKKworICAgIGlmICghc2FtZSkgeworICAgICAgdGVzdEZhaWxlZCgiaW1hZ2VzIGFyZSBk
aWZmZXJlbnQiKTsKKyAgICB9IGVsc2UgeworICAgICAgdGVzdFBhc3NlZCgiaW1hZ2VzIGFyZSB0
aGUgc2FtZSIpOworICAgIH0KKworICAgIGNvbnNvbGUuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgnaHInKSk7CisgIH0KKworICBmdW5jdGlvbiBkcmF3KGNhbnZhcywgdnNTb3Vy
Y2UsIGZzU291cmNlKSB7CisgICAgdmFyIHByb2dyYW0gPSB3dHUubG9hZFByb2dyYW0oZ2wsIHZz
U291cmNlLCBmc1NvdXJjZSwgdGVzdEZhaWxlZCk7CisKKyAgICB2YXIgcG9zTG9jID0gZ2wuZ2V0
QXR0cmliTG9jYXRpb24ocHJvZ3JhbSwgImFQb3NpdGlvbiIpOworICAgIFdlYkdMVGVzdFV0aWxz
LnNldHVwUXVhZChnbCwgZ3JpZFJlcywgcG9zTG9jKTsKKworICAgIGdsLnVzZVByb2dyYW0ocHJv
Z3JhbSk7CisgICAgZ2wuY2xlYXJDb2xvcigwLCAwLCAxLCAxKTsKKyAgICBnbC5jbGVhcihnbC5D
T0xPUl9CVUZGRVJfQklUIHwgZ2wuREVQVEhfQlVGRkVSX0JJVCk7CisgICAgZ2wuZHJhd0VsZW1l
bnRzKGdsLlRSSUFOR0xFUywgZ3JpZFJlcyAqIGdyaWRSZXMgKiA2LCBnbC5VTlNJR05FRF9TSE9S
VCwgMCk7CisgICAgd3R1LmdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IsICJubyBlcnJv
cnMgZnJvbSBkcmF3Iik7CisKKyAgICB2YXIgaW1nID0gbmV3IFVpbnQ4QXJyYXkod2lkdGggKiBo
ZWlnaHQgKiA0KTsKKyAgICBnbC5yZWFkUGl4ZWxzKDAsIDAsIHdpZHRoLCBoZWlnaHQsIGdsLlJH
QkEsIGdsLlVOU0lHTkVEX0JZVEUsIGltZyk7CisgICAgcmV0dXJuIGltZzsKKyAgfQorCit9Owor
Cit2YXIgcnVuQmFzaWNUZXN0ID0gZnVuY3Rpb24ocGFyYW1zKSB7CisgIHZhciB3dHUgPSBXZWJH
TFRlc3RVdGlsczsKKyAgdmFyIGdyaWRSZXMgPSBwYXJhbXMuZ3JpZFJlczsKKyAgdmFyIHZlcnRl
eFRvbGVyYW5jZSA9IHBhcmFtcy50b2xlcmFuY2UgfHwgMDsKKyAgdmFyIGZyYWdtZW50VG9sZXJh
bmNlID0gdmVydGV4VG9sZXJhbmNlOworICBpZiAoJ2ZyYWdtZW50VG9sZXJhbmNlJyBpbiBwYXJh
bXMpCisgICAgZnJhZ21lbnRUb2xlcmFuY2UgPSBwYXJhbXMuZnJhZ21lbnRUb2xlcmFuY2UgfHwg
MDsKKworICBkZXNjcmlwdGlvbigiVGVzdGluZyA6ICIgKyBkb2N1bWVudC5nZXRFbGVtZW50c0J5
VGFnTmFtZSgidGl0bGUiKVswXS5pbm5lclRleHQpOworCisgIHZhciB3aWR0aCA9IDMyOworICB2
YXIgaGVpZ2h0ID0gMzI7CisKKyAgdmFyIGNvbnNvbGUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29uc29sZSIpOworICB2YXIgY2FudmFzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnY2Fu
dmFzJyk7CisgIGNhbnZhcy53aWR0aCA9IHdpZHRoOworICBjYW52YXMuaGVpZ2h0ID0gaGVpZ2h0
OworICB2YXIgZ2wgPSB3dHUuY3JlYXRlM0RDb250ZXh0KGNhbnZhcyk7CisgIGlmICghZ2wpIHsK
KyAgICB0ZXN0RmFpbGVkKCJjb250ZXh0IGRvZXMgbm90IGV4aXN0Iik7CisgICAgZmluaXNoVGVz
dCgpOworICAgIHJldHVybjsKKyAgfQorCisgIHZhciBjYW52YXMyZCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoJ2NhbnZhcycpOworICBjYW52YXMyZC53aWR0aCA9IHdpZHRoOworICBjYW52YXMy
ZC5oZWlnaHQgPSBoZWlnaHQ7CisgIHZhciBjdHggPSBjYW52YXMyZC5nZXRDb250ZXh0KCIyZCIp
OworICB2YXIgaW1nRGF0YSA9IGN0eC5nZXRJbWFnZURhdGEoMCwgMCwgd2lkdGgsIGhlaWdodCk7
CisKKyAgdmFyIHNoYWRlckluZm9zID0gWworICAgIHsgdHlwZTogInZlcnRleCIsCisgICAgICBp
bnB1dDogImNvbG9yIiwKKyAgICAgIG91dHB1dDogInZDb2xvciIsCisgICAgICB2ZXJ0ZXhTaGFk
ZXJUZW1wbGF0ZTogdmVydGV4U2hhZGVyVGVtcGxhdGUsCisgICAgICBmcmFnbWVudFNoYWRlclRl
bXBsYXRlOiBiYXNlRnJhZ21lbnRTaGFkZXIsCisgICAgICB0b2xlcmFuY2U6IHZlcnRleFRvbGVy
YW5jZQorICAgIH0sCisgICAgeyB0eXBlOiAiZnJhZ21lbnQiLAorICAgICAgaW5wdXQ6ICJ2Q29s
b3IiLAorICAgICAgb3V0cHV0OiAiZ2xfRnJhZ0NvbG9yIiwKKyAgICAgIHZlcnRleFNoYWRlclRl
bXBsYXRlOiBiYXNlVmVydGV4U2hhZGVyLAorICAgICAgZnJhZ21lbnRTaGFkZXJUZW1wbGF0ZTog
ZnJhZ21lbnRTaGFkZXJUZW1wbGF0ZSwKKyAgICAgIHRvbGVyYW5jZTogZnJhZ21lbnRUb2xlcmFu
Y2UKKyAgICB9CisgIF07CisgIGZvciAodmFyIHNzID0gMDsgc3MgPCBzaGFkZXJJbmZvcy5sZW5n
dGg7ICsrc3MpIHsKKyAgICB2YXIgc2hhZGVySW5mbyA9IHNoYWRlckluZm9zW3NzXTsKKyAgICB2
YXIgdGVzdHMgPSBwYXJhbXMudGVzdHM7CisvLyAgICB2YXIgdGVzdFR5cGVzID0gcGFyYW1zLmVt
dUZ1bmNzIHx8IChwYXJhbXMuYnZlY1Rlc3QgPyBidmVjVHlwZXMgOiB0eXBlcyk7CisgICAgLy8g
VGVzdCB2ZXJ0ZXggc2hhZGVycworICAgIGZvciAodmFyIGlpID0gMDsgaWkgPCB0ZXN0cy5sZW5n
dGg7ICsraWkpIHsKKyAgICAgIHZhciB0ZXN0ID0gdGVzdHNbaWldOworICAgICAgZGVidWcoIiIp
OworICAgICAgZGVidWcoIlRlc3Rpbmc6ICIgKyB0ZXN0Lm5hbWUgKyAiIGluICIgKyBzaGFkZXJJ
bmZvLnR5cGUgKyAiIHNoYWRlciIpOworCisgICAgICBmdW5jdGlvbiBnZW5TaGFkZXIoc2hhZGVy
SW5mbywgdGVtcGxhdGUsIHNoYWRlciwgc3VicykgeworICAgICAgICBzaGFkZXIgPSByZXBsYWNl
UGFyYW1zKHNoYWRlciwgc3VicywgeworICAgICAgICAgICAgaW5wdXQ6IHNoYWRlckluZm8uaW5w
dXQsCisgICAgICAgICAgICBvdXRwdXQ6IHNoYWRlckluZm8ub3V0cHV0CisgICAgICAgICAgfSk7
CisgICAgICAgIHNoYWRlciA9IHJlcGxhY2VQYXJhbXModGVtcGxhdGUsIHN1YnMsIHsKKyAgICAg
ICAgICAgIHRlc3Q6IHNoYWRlciwKKyAgICAgICAgICAgIGVtdTogIiIsCisgICAgICAgICAgICBl
eHRyYTogIiIKKyAgICAgICAgICB9KTsKKyAgICAgICAgcmV0dXJuIHNoYWRlcjsKKyAgICAgIH0K
KworICAgICAgdmFyIHJlZmVyZW5jZVZlcnRleFNoYWRlclNvdXJjZSA9IGdlblNoYWRlcigKKyAg
ICAgICAgICBzaGFkZXJJbmZvLAorICAgICAgICAgIHNoYWRlckluZm8udmVydGV4U2hhZGVyVGVt
cGxhdGUsCisgICAgICAgICAgdGVzdC5yZWZlcmVuY2Uuc2hhZGVyLAorICAgICAgICAgIHRlc3Qu
cmVmZXJlbmNlLnN1YnMpOworICAgICAgdmFyIHJlZmVyZW5jZUZyYWdtZW50U2hhZGVyU291cmNl
ID0gZ2VuU2hhZGVyKAorICAgICAgICAgIHNoYWRlckluZm8sCisgICAgICAgICAgc2hhZGVySW5m
by5mcmFnbWVudFNoYWRlclRlbXBsYXRlLAorICAgICAgICAgIHRlc3QucmVmZXJlbmNlLnNoYWRl
ciwKKyAgICAgICAgICB0ZXN0LnJlZmVyZW5jZS5zdWJzKTsKKyAgICAgIHZhciB0ZXN0VmVydGV4
U2hhZGVyU291cmNlID0gZ2VuU2hhZGVyKAorICAgICAgICAgIHNoYWRlckluZm8sCisgICAgICAg
ICAgc2hhZGVySW5mby52ZXJ0ZXhTaGFkZXJUZW1wbGF0ZSwKKyAgICAgICAgICB0ZXN0LnRlc3Qu
c2hhZGVyLAorICAgICAgICAgIHRlc3QudGVzdC5zdWJzKTsKKyAgICAgIHZhciB0ZXN0RnJhZ21l
bnRTaGFkZXJTb3VyY2UgPSBnZW5TaGFkZXIoCisgICAgICAgICAgc2hhZGVySW5mbywKKyAgICAg
ICAgICBzaGFkZXJJbmZvLmZyYWdtZW50U2hhZGVyVGVtcGxhdGUsCisgICAgICAgICAgdGVzdC50
ZXN0LnNoYWRlciwKKyAgICAgICAgICB0ZXN0LnRlc3Quc3Vicyk7CisKKyAgICAgIGRlYnVnKCIi
KTsKKyAgICAgIHd0dS5hZGRTaGFkZXJTb3VyY2UoCisgICAgICAgICAgY29uc29sZSwgInJlZmVy
ZW5jZSB2ZXJ0ZXggc2hhZGVyIiwgcmVmZXJlbmNlVmVydGV4U2hhZGVyU291cmNlKTsKKyAgICAg
IHd0dS5hZGRTaGFkZXJTb3VyY2UoCisgICAgICAgICAgY29uc29sZSwgInJlZmVyZW5jZSBmcmFn
bWVudCBzaGFkZXIiLCByZWZlcmVuY2VGcmFnbWVudFNoYWRlclNvdXJjZSk7CisgICAgICB3dHUu
YWRkU2hhZGVyU291cmNlKAorICAgICAgICAgIGNvbnNvbGUsICJ0ZXN0IHZlcnRleCBzaGFkZXIi
LCB0ZXN0VmVydGV4U2hhZGVyU291cmNlKTsKKyAgICAgIHd0dS5hZGRTaGFkZXJTb3VyY2UoCisg
ICAgICAgICAgY29uc29sZSwgInRlc3QgZnJhZ21lbnQgc2hhZGVyIiwgdGVzdEZyYWdtZW50U2hh
ZGVyU291cmNlKTsKKyAgICAgIGRlYnVnKCIiKTsKKworICAgICAgdmFyIHJlZkRhdGEgPSBkcmF3
KAorICAgICAgICAgIGNhbnZhcywgcmVmZXJlbmNlVmVydGV4U2hhZGVyU291cmNlLCByZWZlcmVu
Y2VGcmFnbWVudFNoYWRlclNvdXJjZSk7CisgICAgICB2YXIgcmVmSW1nID0gd3R1Lm1ha2VJbWFn
ZShjYW52YXMpOworICAgICAgaWYgKHNzID09IDApIHsKKyAgICAgICAgdmFyIHRlc3REYXRhID0g
ZHJhdygKKyAgICAgICAgICAgIGNhbnZhcywgdGVzdFZlcnRleFNoYWRlclNvdXJjZSwgcmVmZXJl
bmNlRnJhZ21lbnRTaGFkZXJTb3VyY2UpOworICAgICAgfSBlbHNlIHsKKyAgICAgICAgdmFyIHRl
c3REYXRhID0gZHJhdygKKyAgICAgICAgICAgIGNhbnZhcywgcmVmZXJlbmNlVmVydGV4U2hhZGVy
U291cmNlLCB0ZXN0RnJhZ21lbnRTaGFkZXJTb3VyY2UpOworICAgICAgfQorICAgICAgdmFyIHRl
c3RJbWcgPSB3dHUubWFrZUltYWdlKGNhbnZhcyk7CisKKyAgICAgIHJlcG9ydFJlc3VsdHMocmVm
RGF0YSwgcmVmSW1nLCB0ZXN0RGF0YSwgdGVzdEltZywgc2hhZGVySW5mby50b2xlcmFuY2UpOwor
ICAgIH0KKyAgfQorCisgIGZpbmlzaFRlc3QoKTsKKworICBmdW5jdGlvbiByZXBvcnRSZXN1bHRz
KHJlZkRhdGEsIHJlZkltYWdlLCB0ZXN0RGF0YSwgdGVzdEltYWdlLCB0b2xlcmFuY2UpIHsKKyAg
ICB2YXIgc2FtZSA9IHRydWU7CisgICAgZm9yICh2YXIgeXkgPSAwOyB5eSA8IGhlaWdodDsgKyt5
eSkgeworICAgICAgZm9yICh2YXIgeHggPSAwOyB4eCA8IHdpZHRoOyArK3h4KSB7CisgICAgICAg
IHZhciBvZmZzZXQgPSAoeXkgKiB3aWR0aCArIHh4KSAqIDQ7CisgICAgICAgIHZhciBpbWdPZmZz
ZXQgPSAoKGhlaWdodCAtIHl5IC0gMSkgKiB3aWR0aCArIHh4KSAqIDQ7CisgICAgICAgIGltZ0Rh
dGEuZGF0YVtpbWdPZmZzZXQgKyAwXSA9IDA7CisgICAgICAgIGltZ0RhdGEuZGF0YVtpbWdPZmZz
ZXQgKyAxXSA9IDA7CisgICAgICAgIGltZ0RhdGEuZGF0YVtpbWdPZmZzZXQgKyAyXSA9IDA7Cisg
ICAgICAgIGltZ0RhdGEuZGF0YVtpbWdPZmZzZXQgKyAzXSA9IDI1NTsKKyAgICAgICAgaWYgKE1h
dGguYWJzKHJlZkRhdGFbb2Zmc2V0ICsgMF0gLSB0ZXN0RGF0YVtvZmZzZXQgKyAwXSkgPiB0b2xl
cmFuY2UgfHwKKyAgICAgICAgICAgIE1hdGguYWJzKHJlZkRhdGFbb2Zmc2V0ICsgMV0gLSB0ZXN0
RGF0YVtvZmZzZXQgKyAxXSkgPiB0b2xlcmFuY2UgfHwKKyAgICAgICAgICAgIE1hdGguYWJzKHJl
ZkRhdGFbb2Zmc2V0ICsgMl0gLSB0ZXN0RGF0YVtvZmZzZXQgKyAyXSkgPiB0b2xlcmFuY2UgfHwK
KyAgICAgICAgICAgIE1hdGguYWJzKHJlZkRhdGFbb2Zmc2V0ICsgM10gLSB0ZXN0RGF0YVtvZmZz
ZXQgKyAzXSkgPiB0b2xlcmFuY2UpIHsKKyAgICAgICAgICBpbWdEYXRhLmRhdGFbaW1nT2Zmc2V0
XSA9IDI1NTsKKyAgICAgICAgICBzYW1lID0gZmFsc2U7CisgICAgICAgIH0KKyAgICAgIH0KKyAg
ICB9CisKKyAgICB2YXIgZGlmZkltZyA9IG51bGw7CisgICAgaWYgKCFzYW1lKSB7CisgICAgICBj
dHgucHV0SW1hZ2VEYXRhKGltZ0RhdGEsIDAsIDApOworICAgICAgZGlmZkltZyA9IHd0dS5tYWtl
SW1hZ2UoY2FudmFzMmQpOworICAgIH0KKworICAgIHZhciBkaXYgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJkaXYiKTsKKyAgICBkaXYuY2xhc3NOYW1lID0gInRlc3RpbWFnZXMiOworICAgIHd0
dS5pbnNlcnRJbWFnZShkaXYsICJyZWYiLCByZWZJbWcpOworICAgIHd0dS5pbnNlcnRJbWFnZShk
aXYsICJ0ZXN0IiwgdGVzdEltZyk7CisgICAgaWYgKGRpZmZJbWcpIHsKKyAgICAgIHd0dS5pbnNl
cnRJbWFnZShkaXYsICJkaWZmIiwgZGlmZkltZyk7CisgICAgfQorICAgIGRpdi5hcHBlbmRDaGls
ZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdicicpKTsKKworICAgIGNvbnNvbGUuYXBwZW5kQ2hp
bGQoZGl2KTsKKworICAgIGlmICghc2FtZSkgeworICAgICAgdGVzdEZhaWxlZCgiaW1hZ2VzIGFy
ZSBkaWZmZXJlbnQiKTsKKyAgICB9IGVsc2UgeworICAgICAgdGVzdFBhc3NlZCgiaW1hZ2VzIGFy
ZSB0aGUgc2FtZSIpOworICAgIH0KKworICAgIGNvbnNvbGUuYXBwZW5kQ2hpbGQoZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgnaHInKSk7CisgIH0KKworICBmdW5jdGlvbiBkcmF3KGNhbnZhcywgdnNT
b3VyY2UsIGZzU291cmNlKSB7CisgICAgdmFyIHByb2dyYW0gPSB3dHUubG9hZFByb2dyYW0oZ2ws
IHZzU291cmNlLCBmc1NvdXJjZSwgdGVzdEZhaWxlZCk7CisKKyAgICB2YXIgcG9zTG9jID0gZ2wu
Z2V0QXR0cmliTG9jYXRpb24ocHJvZ3JhbSwgImFQb3NpdGlvbiIpOworICAgIFdlYkdMVGVzdFV0
aWxzLnNldHVwUXVhZChnbCwgZ3JpZFJlcywgcG9zTG9jKTsKKworICAgIGdsLnVzZVByb2dyYW0o
cHJvZ3JhbSk7CisgICAgZ2wuY2xlYXJDb2xvcigwLCAwLCAxLCAxKTsKKyAgICBnbC5jbGVhcihn
bC5DT0xPUl9CVUZGRVJfQklUIHwgZ2wuREVQVEhfQlVGRkVSX0JJVCk7CisgICAgZ2wuZHJhd0Vs
ZW1lbnRzKGdsLlRSSUFOR0xFUywgZ3JpZFJlcyAqIGdyaWRSZXMgKiA2LCBnbC5VTlNJR05FRF9T
SE9SVCwgMCk7CisgICAgd3R1LmdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IsICJubyBl
cnJvcnMgZnJvbSBkcmF3Iik7CisKKyAgICB2YXIgaW1nID0gbmV3IFVpbnQ4QXJyYXkod2lkdGgg
KiBoZWlnaHQgKiA0KTsKKyAgICBnbC5yZWFkUGl4ZWxzKDAsIDAsIHdpZHRoLCBoZWlnaHQsIGds
LlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIGltZyk7CisgICAgcmV0dXJuIGltZzsKKyAgfQorCit9
OworCit2YXIgcnVuUmVmZXJlbmNlSW1hZ2VUZXN0ID0gZnVuY3Rpb24ocGFyYW1zKSB7CisgIHZh
ciB3dHUgPSBXZWJHTFRlc3RVdGlsczsKKyAgdmFyIGdyaWRSZXMgPSBwYXJhbXMuZ3JpZFJlczsK
KyAgdmFyIHZlcnRleFRvbGVyYW5jZSA9IHBhcmFtcy50b2xlcmFuY2UgfHwgMDsKKyAgdmFyIGZy
YWdtZW50VG9sZXJhbmNlID0gdmVydGV4VG9sZXJhbmNlOworICBpZiAoJ2ZyYWdtZW50VG9sZXJh
bmNlJyBpbiBwYXJhbXMpCisgICAgZnJhZ21lbnRUb2xlcmFuY2UgPSBwYXJhbXMuZnJhZ21lbnRU
b2xlcmFuY2UgfHwgMDsKKworICBkZXNjcmlwdGlvbigiVGVzdGluZyBHTFNMIGZlYXR1cmU6ICIg
KyBwYXJhbXMuZmVhdHVyZSk7CisKKyAgdmFyIHdpZHRoID0gMzI7CisgIHZhciBoZWlnaHQgPSAz
MjsKKworICB2YXIgY29uc29sZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb25zb2xlIik7
CisgIHZhciBjYW52YXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjYW52YXMnKTsKKyAgY2Fu
dmFzLndpZHRoID0gd2lkdGg7CisgIGNhbnZhcy5oZWlnaHQgPSBoZWlnaHQ7CisgIHZhciBnbCA9
IHd0dS5jcmVhdGUzRENvbnRleHQoY2FudmFzLCB7IGFudGlhbGlhczogZmFsc2UgfSk7CisgIGlm
ICghZ2wpIHsKKyAgICB0ZXN0RmFpbGVkKCJjb250ZXh0IGRvZXMgbm90IGV4aXN0Iik7CisgICAg
ZmluaXNoVGVzdCgpOworICAgIHJldHVybjsKKyAgfQorCisgIHZhciBjYW52YXMyZCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycpOworICBjYW52YXMyZC53aWR0aCA9IHdpZHRoOwor
ICBjYW52YXMyZC5oZWlnaHQgPSBoZWlnaHQ7CisgIHZhciBjdHggPSBjYW52YXMyZC5nZXRDb250
ZXh0KCIyZCIpOworICB2YXIgaW1nRGF0YSA9IGN0eC5nZXRJbWFnZURhdGEoMCwgMCwgd2lkdGgs
IGhlaWdodCk7CisKKyAgdmFyIHNoYWRlckluZm9zID0gWworICAgIHsgdHlwZTogInZlcnRleCIs
CisgICAgICBpbnB1dDogImNvbG9yIiwKKyAgICAgIG91dHB1dDogInZDb2xvciIsCisgICAgICB2
ZXJ0ZXhTaGFkZXJUZW1wbGF0ZTogdmVydGV4U2hhZGVyVGVtcGxhdGUsCisgICAgICBmcmFnbWVu
dFNoYWRlclRlbXBsYXRlOiBiYXNlRnJhZ21lbnRTaGFkZXIsCisgICAgICB0b2xlcmFuY2U6IHZl
cnRleFRvbGVyYW5jZQorICAgIH0sCisgICAgeyB0eXBlOiAiZnJhZ21lbnQiLAorICAgICAgaW5w
dXQ6ICJ2Q29sb3IiLAorICAgICAgb3V0cHV0OiAiZ2xfRnJhZ0NvbG9yIiwKKyAgICAgIHZlcnRl
eFNoYWRlclRlbXBsYXRlOiBiYXNlVmVydGV4U2hhZGVyLAorICAgICAgZnJhZ21lbnRTaGFkZXJU
ZW1wbGF0ZTogZnJhZ21lbnRTaGFkZXJUZW1wbGF0ZSwKKyAgICAgIHRvbGVyYW5jZTogZnJhZ21l
bnRUb2xlcmFuY2UKKyAgICB9CisgIF07CisgIGZvciAodmFyIHNzID0gMDsgc3MgPCBzaGFkZXJJ
bmZvcy5sZW5ndGg7ICsrc3MpIHsKKyAgICB2YXIgc2hhZGVySW5mbyA9IHNoYWRlckluZm9zW3Nz
XTsKKyAgICB2YXIgdGVzdHMgPSBwYXJhbXMudGVzdHM7CisgICAgdmFyIHRlc3RUeXBlcyA9IHBh
cmFtcy5lbXVGdW5jcyB8fCAocGFyYW1zLmJ2ZWNUZXN0ID8gYnZlY1R5cGVzIDogdHlwZXMpOwor
ICAgIC8vIFRlc3QgdmVydGV4IHNoYWRlcnMKKyAgICBmb3IgKHZhciBpaSA9IDA7IGlpIDwgdGVz
dHMubGVuZ3RoOyArK2lpKSB7CisgICAgICB2YXIgdHlwZSA9IHRlc3RUeXBlc1tpaV07CisgICAg
ICB2YXIgaXNWZXJ0ZXggPSAoc3MgPT0gMCk7CisgICAgICBkZWJ1ZygiIik7CisgICAgICB2YXIg
c3RyID0gcmVwbGFjZVBhcmFtcyhwYXJhbXMudGVzdEZ1bmMsIHsKKyAgICAgICAgZnVuYzogcGFy
YW1zLmZlYXR1cmUsCisgICAgICAgIHR5cGU6IHR5cGUudHlwZSwKKyAgICAgICAgYXJnMDogdHlw
ZS50eXBlCisgICAgICB9KTsKKyAgICAgIGRlYnVnKCJUZXN0aW5nOiAiICsgc3RyICsgIiBpbiAi
ICsgc2hhZGVySW5mby50eXBlICsgIiBzaGFkZXIiKTsKKworICAgICAgdmFyIHJlZmVyZW5jZVZl
cnRleFNoYWRlclNvdXJjZSA9IGdlbmVyYXRlUmVmZXJlbmNlU2hhZGVyKAorICAgICAgICAgIHNo
YWRlckluZm8sCisgICAgICAgICAgc2hhZGVySW5mby52ZXJ0ZXhTaGFkZXJUZW1wbGF0ZSwKKyAg
ICAgICAgICBwYXJhbXMsCisgICAgICAgICAgdHlwZSwKKyAgICAgICAgICB0ZXN0c1tpaV0uc291
cmNlKTsKKyAgICAgIHZhciByZWZlcmVuY2VGcmFnbWVudFNoYWRlclNvdXJjZSA9IGdlbmVyYXRl
UmVmZXJlbmNlU2hhZGVyKAorICAgICAgICAgIHNoYWRlckluZm8sCisgICAgICAgICAgc2hhZGVy
SW5mby5mcmFnbWVudFNoYWRlclRlbXBsYXRlLAorICAgICAgICAgIHBhcmFtcywKKyAgICAgICAg
ICB0eXBlLAorICAgICAgICAgIHRlc3RzW2lpXS5zb3VyY2UpOworICAgICAgdmFyIHRlc3RWZXJ0
ZXhTaGFkZXJTb3VyY2UgPSBnZW5lcmF0ZVRlc3RTaGFkZXIoCisgICAgICAgICAgc2hhZGVySW5m
bywKKyAgICAgICAgICBzaGFkZXJJbmZvLnZlcnRleFNoYWRlclRlbXBsYXRlLAorICAgICAgICAg
IHBhcmFtcywKKyAgICAgICAgICB0ZXN0c1tpaV0uc291cmNlKTsKKyAgICAgIHZhciB0ZXN0RnJh
Z21lbnRTaGFkZXJTb3VyY2UgPSBnZW5lcmF0ZVRlc3RTaGFkZXIoCisgICAgICAgICAgc2hhZGVy
SW5mbywKKyAgICAgICAgICBzaGFkZXJJbmZvLmZyYWdtZW50U2hhZGVyVGVtcGxhdGUsCisgICAg
ICAgICAgcGFyYW1zLAorICAgICAgICAgIHRlc3RzW2lpXS5zb3VyY2UpOworICAgICAgdmFyIHJl
ZmVyZW5jZVRleHR1cmUgPSBnZW5lcmF0ZVJlZmVyZW5jZVRleHR1cmUoCisgICAgICAgICAgZ2ws
CisgICAgICAgICAgdGVzdHNbaWldLmdlbmVyYXRvciwKKyAgICAgICAgICBpc1ZlcnRleCA/IGdy
aWRSZXMgOiB3aWR0aCwKKyAgICAgICAgICBpc1ZlcnRleCA/IGdyaWRSZXMgOiBoZWlnaHQsCisg
ICAgICAgICAgaXNWZXJ0ZXgpOworCisgICAgICBkZWJ1ZygiIik7CisgICAgICB3dHUuYWRkU2hh
ZGVyU291cmNlKAorICAgICAgICAgIGNvbnNvbGUsICJ0ZXN0IHZlcnRleCBzaGFkZXIiLCB0ZXN0
VmVydGV4U2hhZGVyU291cmNlKTsKKyAgICAgIHd0dS5hZGRTaGFkZXJTb3VyY2UoCisgICAgICAg
ICAgY29uc29sZSwgInRlc3QgZnJhZ21lbnQgc2hhZGVyIiwgdGVzdEZyYWdtZW50U2hhZGVyU291
cmNlKTsKKyAgICAgIGRlYnVnKCIiKTsKKyAgICAgIHZhciByZWZEYXRhID0gZHJhd1JlZmVyZW5j
ZUltYWdlKGNhbnZhcywgcmVmZXJlbmNlVGV4dHVyZSwgaXNWZXJ0ZXgpOworICAgICAgdmFyIHJl
ZkltZyA9IHd0dS5tYWtlSW1hZ2UoY2FudmFzKTsKKyAgICAgIGlmIChpc1ZlcnRleCkgeworICAg
ICAgICB2YXIgdGVzdERhdGEgPSBkcmF3KAorICAgICAgICAgICAgY2FudmFzLCB0ZXN0VmVydGV4
U2hhZGVyU291cmNlLCByZWZlcmVuY2VGcmFnbWVudFNoYWRlclNvdXJjZSk7CisgICAgICB9IGVs
c2UgeworICAgICAgICB2YXIgdGVzdERhdGEgPSBkcmF3KAorICAgICAgICAgICAgY2FudmFzLCBy
ZWZlcmVuY2VWZXJ0ZXhTaGFkZXJTb3VyY2UsIHRlc3RGcmFnbWVudFNoYWRlclNvdXJjZSk7Cisg
ICAgICB9CisgICAgICB2YXIgdGVzdEltZyA9IHd0dS5tYWtlSW1hZ2UoY2FudmFzKTsKKyAgICAg
IHZhciB0ZXN0VG9sZXJhbmNlID0gc2hhZGVySW5mby50b2xlcmFuY2U7CisgICAgICAvLyBQcm92
aWRlIHBlci10ZXN0IHRvbGVyYW5jZSBzbyB0aGF0IHdlIGNhbiBpbmNyZWFzZSBpdCBvbmx5IGZv
ciB0aG9zZSBkZXNpcmVkLgorICAgICAgaWYgKCd0b2xlcmFuY2UnIGluIHRlc3RzW2lpXSkKKyAg
ICAgICAgdGVzdFRvbGVyYW5jZSA9IHRlc3RzW2lpXS50b2xlcmFuY2UgfHwgMDsKKyAgICAgIHJl
cG9ydFJlc3VsdHMocmVmRGF0YSwgcmVmSW1nLCB0ZXN0RGF0YSwgdGVzdEltZywgdGVzdFRvbGVy
YW5jZSk7CisgICAgfQorICB9CisKKyAgZmluaXNoVGVzdCgpOworCisgIGZ1bmN0aW9uIHJlcG9y
dFJlc3VsdHMocmVmRGF0YSwgcmVmSW1hZ2UsIHRlc3REYXRhLCB0ZXN0SW1hZ2UsIHRvbGVyYW5j
ZSkgeworICAgIHZhciBzYW1lID0gdHJ1ZTsKKyAgICBmb3IgKHZhciB5eSA9IDA7IHl5IDwgaGVp
Z2h0OyArK3l5KSB7CisgICAgICBmb3IgKHZhciB4eCA9IDA7IHh4IDwgd2lkdGg7ICsreHgpIHsK
KyAgICAgICAgdmFyIG9mZnNldCA9ICh5eSAqIHdpZHRoICsgeHgpICogNDsKKyAgICAgICAgdmFy
IGltZ09mZnNldCA9ICgoaGVpZ2h0IC0geXkgLSAxKSAqIHdpZHRoICsgeHgpICogNDsKKyAgICAg
ICAgaW1nRGF0YS5kYXRhW2ltZ09mZnNldCArIDBdID0gMDsKKyAgICAgICAgaW1nRGF0YS5kYXRh
W2ltZ09mZnNldCArIDFdID0gMDsKKyAgICAgICAgaW1nRGF0YS5kYXRhW2ltZ09mZnNldCArIDJd
ID0gMDsKKyAgICAgICAgaW1nRGF0YS5kYXRhW2ltZ09mZnNldCArIDNdID0gMjU1OworICAgICAg
ICBpZiAoTWF0aC5hYnMocmVmRGF0YVtvZmZzZXQgKyAwXSAtIHRlc3REYXRhW29mZnNldCArIDBd
KSA+IHRvbGVyYW5jZSB8fAorICAgICAgICAgICAgTWF0aC5hYnMocmVmRGF0YVtvZmZzZXQgKyAx
XSAtIHRlc3REYXRhW29mZnNldCArIDFdKSA+IHRvbGVyYW5jZSB8fAorICAgICAgICAgICAgTWF0
aC5hYnMocmVmRGF0YVtvZmZzZXQgKyAyXSAtIHRlc3REYXRhW29mZnNldCArIDJdKSA+IHRvbGVy
YW5jZSB8fAorICAgICAgICAgICAgTWF0aC5hYnMocmVmRGF0YVtvZmZzZXQgKyAzXSAtIHRlc3RE
YXRhW29mZnNldCArIDNdKSA+IHRvbGVyYW5jZSkgeworICAgICAgICAgIGNvbnNvbGUuYXBwZW5k
Q2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoJ2F0ICgnICsgeHggKyAnLCcgKyB5eSArICcp
OiByZWY9KCcgKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgcmVmRGF0YVtvZmZzZXQgKyAwXSArICcsJyArCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWZEYXRhW29mZnNldCArIDFdICsg
JywnICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHJlZkRhdGFbb2Zmc2V0ICsgMl0gKyAnLCcgKworICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmRGF0YVtvZmZzZXQgKyAzXSArICcpICB0
ZXN0PSgnICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHRlc3REYXRhW29mZnNldCArIDBdICsgJywnICsKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3REYXRhW29mZnNldCArIDFdICsg
JywnICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHRlc3REYXRhW29mZnNldCArIDJdICsgJywnICsKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3REYXRhW29mZnNldCArIDNdICsgJykn
KSk7CisgICAgICAgICAgY29uc29sZS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCdicicpKTsgICAgICAgICAgCisKKworCisgICAgICAgICAgaW1nRGF0YS5kYXRhW2ltZ09mZnNl
dF0gPSAyNTU7CisgICAgICAgICAgc2FtZSA9IGZhbHNlOworICAgICAgICB9CisgICAgICB9Cisg
ICAgfQorCisgICAgdmFyIGRpZmZJbWcgPSBudWxsOworICAgIGlmICghc2FtZSkgeworICAgICAg
Y3R4LnB1dEltYWdlRGF0YShpbWdEYXRhLCAwLCAwKTsKKyAgICAgIGRpZmZJbWcgPSB3dHUubWFr
ZUltYWdlKGNhbnZhczJkKTsKKyAgICB9CisKKyAgICB2YXIgZGl2ID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgiZGl2Iik7CisgICAgZGl2LmNsYXNzTmFtZSA9ICJ0ZXN0aW1hZ2VzIjsKKyAgICB3
dHUuaW5zZXJ0SW1hZ2UoZGl2LCAicmVmIiwgcmVmSW1nKTsKKyAgICB3dHUuaW5zZXJ0SW1hZ2Uo
ZGl2LCAidGVzdCIsIHRlc3RJbWcpOworICAgIGlmIChkaWZmSW1nKSB7CisgICAgICB3dHUuaW5z
ZXJ0SW1hZ2UoZGl2LCAiZGlmZiIsIGRpZmZJbWcpOworICAgIH0KKyAgICBkaXYuYXBwZW5kQ2hp
bGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYnInKSk7CisKKyAgICBjb25zb2xlLmFwcGVuZENo
aWxkKGRpdik7CisKKyAgICBpZiAoIXNhbWUpIHsKKyAgICAgIHRlc3RGYWlsZWQoImltYWdlcyBh
cmUgZGlmZmVyZW50Iik7CisgICAgfSBlbHNlIHsKKyAgICAgIHRlc3RQYXNzZWQoImltYWdlcyBh
cmUgdGhlIHNhbWUiKTsKKyAgICB9CisKKyAgICBjb25zb2xlLmFwcGVuZENoaWxkKGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoJ2hyJykpOworICB9CisKKyAgZnVuY3Rpb24gZHJhdyhjYW52YXMsIHZz
U291cmNlLCBmc1NvdXJjZSkgeworICAgIHZhciBwcm9ncmFtID0gd3R1LmxvYWRQcm9ncmFtKGds
LCB2c1NvdXJjZSwgZnNTb3VyY2UsIHRlc3RGYWlsZWQpOworCisgICAgdmFyIHBvc0xvYyA9IGds
LmdldEF0dHJpYkxvY2F0aW9uKHByb2dyYW0sICJhUG9zaXRpb24iKTsKKyAgICBXZWJHTFRlc3RV
dGlscy5zZXR1cFF1YWQoZ2wsIGdyaWRSZXMsIHBvc0xvYyk7CisKKyAgICBnbC51c2VQcm9ncmFt
KHByb2dyYW0pOworICAgIGdsLmNsZWFyQ29sb3IoMCwgMCwgMSwgMSk7CisgICAgZ2wuY2xlYXIo
Z2wuQ09MT1JfQlVGRkVSX0JJVCB8IGdsLkRFUFRIX0JVRkZFUl9CSVQpOworICAgIGdsLmRyYXdF
bGVtZW50cyhnbC5UUklBTkdMRVMsIGdyaWRSZXMgKiBncmlkUmVzICogNiwgZ2wuVU5TSUdORURf
U0hPUlQsIDApOworICAgIHd0dS5nbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SLCAibm8g
ZXJyb3JzIGZyb20gZHJhdyIpOworCisgICAgdmFyIGltZyA9IG5ldyBVaW50OEFycmF5KHdpZHRo
ICogaGVpZ2h0ICogNCk7CisgICAgZ2wucmVhZFBpeGVscygwLCAwLCB3aWR0aCwgaGVpZ2h0LCBn
bC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCBpbWcpOworICAgIHJldHVybiBpbWc7CisgIH0KKwor
ICBmdW5jdGlvbiBkcmF3UmVmZXJlbmNlSW1hZ2UoY2FudmFzLCB0ZXh0dXJlLCBpc1ZlcnRleCkg
eworICAgIHZhciBwcm9ncmFtOworICAgIGlmIChpc1ZlcnRleCkgeworICAgICAgdmFyIGhhbGZU
ZXhlbCA9IDAuNSAvICgxLjAgKyBncmlkUmVzKTsKKyAgICAgIHByb2dyYW0gPSBXZWJHTFRlc3RV
dGlscy5zZXR1cFRleHR1cmVkUXVhZFdpdGhUZXhDb29yZHMoCisgICAgICAgIGdsLCBbaGFsZlRl
eGVsLCBoYWxmVGV4ZWxdLCBbMS4wIC0gaGFsZlRleGVsLCAxLjAgLSBoYWxmVGV4ZWxdKTsKKyAg
ICB9IGVsc2UgeworICAgICAgcHJvZ3JhbSA9IFdlYkdMVGVzdFV0aWxzLnNldHVwVGV4dHVyZWRR
dWFkKGdsKTsKKyAgICB9CisKKyAgICBnbC5hY3RpdmVUZXh0dXJlKGdsLlRFWFRVUkUwKTsKKyAg
ICBnbC5iaW5kVGV4dHVyZShnbC5URVhUVVJFXzJELCB0ZXh0dXJlKTsKKyAgICB2YXIgdGV4TG9j
ID0gZ2wuZ2V0VW5pZm9ybUxvY2F0aW9uKHByb2dyYW0sICJ0ZXgiKTsKKyAgICBnbC51bmlmb3Jt
MWkodGV4TG9jLCAwKTsKKyAgICB3dHUuZHJhd1F1YWQoZ2wpOworICAgIHd0dS5nbEVycm9yU2hv
dWxkQmUoZ2wsIGdsLk5PX0VSUk9SLCAibm8gZXJyb3JzIGZyb20gZHJhdyIpOworCisgICAgdmFy
IGltZyA9IG5ldyBVaW50OEFycmF5KHdpZHRoICogaGVpZ2h0ICogNCk7CisgICAgZ2wucmVhZFBp
eGVscygwLCAwLCB3aWR0aCwgaGVpZ2h0LCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCBpbWcp
OworICAgIHJldHVybiBpbWc7CisgIH0KKworICAvKioKKyAgICogQ3JlYXRlcyBhbmQgcmV0dXJu
cyBhIHRleHR1cmUgY29udGFpbmluZyB0aGUgcmVmZXJlbmNlIGltYWdlIGZvcgorICAgKiB0aGUg
ZnVuY3Rpb24gYmVpbmcgdGVzdGVkLiBFeGFjdGx5IGhvdyB0aGUgZnVuY3Rpb24gaXMgZXZhbHVh
dGVkLAorICAgKiBhbmQgdGhlIHNpemUgb2YgdGhlIHJldHVybmVkIHRleHR1cmUsIGRlcGVuZHMg
b24gd2hldGhlciB3ZSBhcmUKKyAgICogdGVzdGluZyBhIHZlcnRleCBvciBmcmFnbWVudCBzaGFk
ZXIuIElmIGEgZnJhZ21lbnQgc2hhZGVyLCB0aGUKKyAgICogZnVuY3Rpb24gaXMgZXZhbHVhdGVk
IGF0IHRoZSBwaXhlbCBjZW50ZXJzLiBJZiBhIHZlcnRleCBzaGFkZXIsCisgICAqIHRoZSBmdW5j
dGlvbiBpcyBldmFsdWF0ZWQgYXQgdGhlIHRyaWFuZ2xlJ3MgdmVydGljZXMsIGFuZCB0aGUKKyAg
ICogcmVzdWx0aW5nIHRleHR1cmUgbXVzdCBiZSBvZmZzZXQgYnkgaGFsZiBhIHRleGVsIGR1cmlu
ZworICAgKiByZW5kZXJpbmcuCisgICAqCisgICAqIEBwYXJhbSB7IVdlYkdMUmVuZGVyaW5nQ29u
dGV4dH0gZ2wgVGhlIFdlYkdMUmVuZGVyaW5nQ29udGV4dCB0byB1c2UgdG8gZ2VuZXJhdGUgdGV4
dHVyZSBvYmplY3RzLgorICAgKiBAcGFyYW0geyFmdW5jdGlvbihudW1iZXIsbnVtYmVyLG51bWJl
cixudW1iZXIpOiAhQXJyYXkuPG51bWJlcj59IGdlbmVyYXRvciBUaGUgcmVmZXJlbmNlIGltYWdl
IGdlbmVyYXRvciBmdW5jdGlvbi4KKyAgICogQHBhcmFtIHtudW1iZXJ9IHdpZHRoIFRoZSB3aWR0
aCBvZiB0aGUgdGV4dHVyZSB0byBnZW5lcmF0ZSBpZiB0ZXN0aW5nIGEgZnJhZ21lbnQgc2hhZGVy
OyB0aGUgZ3JpZCByZXNvbHV0aW9uIGlmIHRlc3RpbmcgYSB2ZXJ0ZXggc2hhZGVyLgorICAgKiBA
cGFyYW0ge251bWJlcn0gaGVpZ2h0IFRoZSBoZWlnaHQgb2YgdGhlIHRleHR1cmUgdG8gZ2VuZXJh
dGUgaWYgdGVzdGluZyBhIGZyYWdtZW50IHNoYWRlcjsgdGhlIGdyaWQgcmVzb2x1dGlvbiBpZiB0
ZXN0aW5nIGEgdmVydGV4IHNoYWRlci4KKyAgICogQHBhcmFtIHtib29sZWFufSBpc1ZlcnRleCBU
cnVlIGlmIGdlbmVyYXRpbmcgYSByZWZlcmVuY2UgaW1hZ2UgZm9yIGEgdmVydGV4IHNoYWRlcjsg
ZmFsc2UgaWYgZm9yIGEgZnJhZ21lbnQgc2hhZGVyLgorICAgKiBAcmV0dXJuIHshV2ViR0xUZXh0
dXJlfSBUaGUgdGV4dHVyZSBvYmplY3QgdGhhdCB3YXMgZ2VuZXJhdGVkLgorICAgKi8KKyAgZnVu
Y3Rpb24gZ2VuZXJhdGVSZWZlcmVuY2VUZXh0dXJlKAorICAgIGdsLAorICAgIGdlbmVyYXRvciwK
KyAgICB3aWR0aCwKKyAgICBoZWlnaHQsCisgICAgaXNWZXJ0ZXgpIHsKKworICAgIC8vIE5vdGU6
IHRoZSBtYXRoIGluIHRoaXMgZnVuY3Rpb24gbXVzdCBtYXRjaCB0aGF0IGluIHRoZSB2ZXJ0ZXgg
YW5kCisgICAgLy8gZnJhZ21lbnQgc2hhZGVyIHRlbXBsYXRlcyBhYm92ZS4KKyAgICBmdW5jdGlv
biBjb21wdXRlVGV4Q29vcmQoeCkgeworICAgICAgcmV0dXJuIHggKiAwLjUgKyAwLjU7CisgICAg
fQorCisgICAgZnVuY3Rpb24gY29tcHV0ZUNvbG9yKHRleENvb3JkWCwgdGV4Q29vcmRZKSB7Cisg
ICAgICByZXR1cm4gWyB0ZXhDb29yZFgsCisgICAgICAgICAgICAgICB0ZXhDb29yZFksCisgICAg
ICAgICAgICAgICB0ZXhDb29yZFggKiB0ZXhDb29yZFksCisgICAgICAgICAgICAgICAoMS4wIC0g
dGV4Q29vcmRYKSAqIHRleENvb3JkWSAqIDAuNSArIDAuNSBdOworICAgIH0KKworICAgIGZ1bmN0
aW9uIGNsYW1wKHZhbHVlLCBtaW5WYWwsIG1heFZhbCkgeworICAgICAgcmV0dXJuIE1hdGgubWF4
KG1pblZhbCwgTWF0aC5taW4odmFsdWUsIG1heFZhbCkpOworICAgIH0KKworICAgIC8vIEV2YWx1
YXRlcyB0aGUgZnVuY3Rpb24gYXQgY2xpcCBjb29yZGluYXRlcyAocHgscHkpLCBzdG9yaW5nIHRo
ZQorICAgIC8vIHJlc3VsdCBpbiB0aGUgYXJyYXkgInBpeGVsIi4gRWFjaCBjaGFubmVsJ3MgcmVz
dWx0IGlzIGNsYW1wZWQKKyAgICAvLyBiZXR3ZWVuIDAgYW5kIDI1NS4KKyAgICBmdW5jdGlvbiBl
dmFsdWF0ZUF0Q2xpcENvb3JkcyhweCwgcHksIHBpeGVsKSB7CisgICAgICB2YXIgdGN4ID0gY29t
cHV0ZVRleENvb3JkKHB4KTsKKyAgICAgIHZhciB0Y3kgPSBjb21wdXRlVGV4Q29vcmQocHkpOwor
CisgICAgICB2YXIgY29sb3IgPSBjb21wdXRlQ29sb3IodGN4LCB0Y3kpOworCisgICAgICB2YXIg
b3V0cHV0ID0gZ2VuZXJhdG9yKGNvbG9yWzBdLCBjb2xvclsxXSwgY29sb3JbMl0sIGNvbG9yWzNd
KTsKKworICAgICAgLy8gTXVsdGlwbHkgYnkgMjU2IHRvIGdldCBldmVuIGRpc3RyaWJ1dGlvbiBm
b3IgYWxsIHZhbHVlcyBiZXR3ZWVuIDAgYW5kIDEuCisgICAgICAvLyBVc2Ugcm91bmRpbmcgcmF0
aGVyIHRoYW4gdHJ1bmNhdGlvbiB0byBtb3JlIGNsb3NlbHkgbWF0Y2ggdGhlIEdQVSdzIGJlaGF2
aW9yLgorICAgICAgcGl4ZWxbMF0gPSBjbGFtcChNYXRoLnJvdW5kKDI1NiAqIG91dHB1dFswXSks
IDAsIDI1NSk7CisgICAgICBwaXhlbFsxXSA9IGNsYW1wKE1hdGgucm91bmQoMjU2ICogb3V0cHV0
WzFdKSwgMCwgMjU1KTsKKyAgICAgIHBpeGVsWzJdID0gY2xhbXAoTWF0aC5yb3VuZCgyNTYgKiBv
dXRwdXRbMl0pLCAwLCAyNTUpOworICAgICAgcGl4ZWxbM10gPSBjbGFtcChNYXRoLnJvdW5kKDI1
NiAqIG91dHB1dFszXSksIDAsIDI1NSk7CisgICAgfQorCisgICAgZnVuY3Rpb24gZmlsbEZyYWdt
ZW50UmVmZXJlbmNlKCkgeworICAgICAgdmFyIGRhdGEgPSBuZXcgVWludDhBcnJheSg0ICogd2lk
dGggKiBoZWlnaHQpOworCisgICAgICB2YXIgaG9yaXpUZXhlbCA9IDEuMCAvIHdpZHRoOworICAg
ICAgdmFyIHZlcnRUZXhlbCA9IDEuMCAvIGhlaWdodDsKKyAgICAgIHZhciBoYWxmSG9yaXpUZXhl
bCA9IDAuNSAqIGhvcml6VGV4ZWw7CisgICAgICB2YXIgaGFsZlZlcnRUZXhlbCA9IDAuNSAqIHZl
cnRUZXhlbDsKKworICAgICAgdmFyIHBpeGVsID0gbmV3IEFycmF5KDQpOworCisgICAgICBmb3Ig
KHZhciB5aSA9IDA7IHlpIDwgaGVpZ2h0OyArK3lpKSB7CisgICAgICAgIGZvciAodmFyIHhpID0g
MDsgeGkgPCB3aWR0aDsgKyt4aSkgeworICAgICAgICAgIC8vIFRoZSBmdW5jdGlvbiBtdXN0IGJl
IGV2YWx1YXRlZCBhdCBwaXhlbCBjZW50ZXJzLgorCisgICAgICAgICAgLy8gQ29tcHV0ZSBkZXNp
cmVkIHBvc2l0aW9uIGluIGNsaXAgc3BhY2UKKyAgICAgICAgICB2YXIgcHggPSAtMS4wICsgMi4w
ICogKGhhbGZIb3JpelRleGVsICsgeGkgKiBob3JpelRleGVsKTsKKyAgICAgICAgICB2YXIgcHkg
PSAtMS4wICsgMi4wICogKGhhbGZWZXJ0VGV4ZWwgKyB5aSAqIHZlcnRUZXhlbCk7CisKKyAgICAg
ICAgICBldmFsdWF0ZUF0Q2xpcENvb3JkcyhweCwgcHksIHBpeGVsKTsKKyAgICAgICAgICB2YXIg
aW5kZXggPSA0ICogKHdpZHRoICogeWkgKyB4aSk7CisgICAgICAgICAgZGF0YVtpbmRleCArIDBd
ID0gcGl4ZWxbMF07CisgICAgICAgICAgZGF0YVtpbmRleCArIDFdID0gcGl4ZWxbMV07CisgICAg
ICAgICAgZGF0YVtpbmRleCArIDJdID0gcGl4ZWxbMl07CisgICAgICAgICAgZGF0YVtpbmRleCAr
IDNdID0gcGl4ZWxbM107CisgICAgICAgIH0KKyAgICAgIH0KKworICAgICAgZ2wudGV4SW1hZ2Uy
RChnbC5URVhUVVJFXzJELCAwLCBnbC5SR0JBLCB3aWR0aCwgaGVpZ2h0LCAwLAorICAgICAgICAg
ICAgICAgICAgICBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCBkYXRhKTsKKyAgICB9CisKKyAg
ICBmdW5jdGlvbiBmaWxsVmVydGV4UmVmZXJlbmNlKCkgeworICAgICAgLy8gV2UgZ2VuZXJhdGUg
YSB0ZXh0dXJlIHdoaWNoIGNvbnRhaW5zIHRoZSBldmFsdWF0aW9uIG9mIHRoZQorICAgICAgLy8g
ZnVuY3Rpb24gYXQgdGhlIHZlcnRpY2VzIG9mIHRoZSB0cmlhbmdsZSBtZXNoLiBJdCBpcyBleHBl
Y3RlZAorICAgICAgLy8gdGhhdCB0aGUgd2lkdGggYW5kIHRoZSBoZWlnaHQgYXJlIGlkZW50aWNh
bCwgYW5kIGVxdWl2YWxlbnQKKyAgICAgIC8vIHRvIHRoZSBncmlkIHJlc29sdXRpb24uCisgICAg
ICBpZiAod2lkdGggIT0gaGVpZ2h0KSB7CisgICAgICAgIHRocm93ICJ3aWR0aCBhbmQgaGVpZ2h0
IG11c3QgYmUgZXF1YWwiOworICAgICAgfQorCisgICAgICB2YXIgdGV4U2l6ZSA9IDEgKyB3aWR0
aDsKKyAgICAgIHZhciBkYXRhID0gbmV3IFVpbnQ4QXJyYXkoNCAqIHRleFNpemUgKiB0ZXhTaXpl
KTsKKworICAgICAgdmFyIHN0ZXAgPSAyLjAgLyB3aWR0aDsKKworICAgICAgdmFyIHBpeGVsID0g
bmV3IEFycmF5KDQpOworCisgICAgICBmb3IgKHZhciB5aSA9IDA7IHlpIDwgdGV4U2l6ZTsgKyt5
aSkgeworICAgICAgICBmb3IgKHZhciB4aSA9IDA7IHhpIDwgdGV4U2l6ZTsgKyt4aSkgeworICAg
ICAgICAgIC8vIFRoZSBmdW5jdGlvbiBpcyBldmFsdWF0ZWQgYXQgdGhlIHRyaWFuZ2xlcycgdmVy
dGljZXMuCisKKyAgICAgICAgICAvLyBDb21wdXRlIGRlc2lyZWQgcG9zaXRpb24gaW4gY2xpcCBz
cGFjZQorICAgICAgICAgIHZhciBweCA9IC0xLjAgKyAoeGkgKiBzdGVwKTsKKyAgICAgICAgICB2
YXIgcHkgPSAtMS4wICsgKHlpICogc3RlcCk7CisKKyAgICAgICAgICBldmFsdWF0ZUF0Q2xpcENv
b3JkcyhweCwgcHksIHBpeGVsKTsKKyAgICAgICAgICB2YXIgaW5kZXggPSA0ICogKHRleFNpemUg
KiB5aSArIHhpKTsKKyAgICAgICAgICBkYXRhW2luZGV4ICsgMF0gPSBwaXhlbFswXTsKKyAgICAg
ICAgICBkYXRhW2luZGV4ICsgMV0gPSBwaXhlbFsxXTsKKyAgICAgICAgICBkYXRhW2luZGV4ICsg
Ml0gPSBwaXhlbFsyXTsKKyAgICAgICAgICBkYXRhW2luZGV4ICsgM10gPSBwaXhlbFszXTsKKyAg
ICAgICAgfQorICAgICAgfQorCisgICAgICBnbC50ZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAs
IGdsLlJHQkEsIHRleFNpemUsIHRleFNpemUsIDAsCisgICAgICAgICAgICAgICAgICAgIGdsLlJH
QkEsIGdsLlVOU0lHTkVEX0JZVEUsIGRhdGEpOworICAgIH0KKworICAgIC8vLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LQorICAgIC8vIEJvZHkgb2YgZ2VuZXJhdGVSZWZlcmVuY2VUZXh0dXJlCisgICAgLy8KKworICAg
IHZhciB0ZXh0dXJlID0gZ2wuY3JlYXRlVGV4dHVyZSgpOworICAgIGdsLmJpbmRUZXh0dXJlKGds
LlRFWFRVUkVfMkQsIHRleHR1cmUpOworICAgIGdsLnRleFBhcmFtZXRlcmkoZ2wuVEVYVFVSRV8y
RCwgZ2wuVEVYVFVSRV9NSU5fRklMVEVSLCBnbC5MSU5FQVIpOworICAgIGdsLnRleFBhcmFtZXRl
cmkoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9NQUdfRklMVEVSLCBnbC5MSU5FQVIpOworICAg
IGdsLnRleFBhcmFtZXRlcmkoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9XUkFQX1MsIGdsLkNM
QU1QX1RPX0VER0UpOworICAgIGdsLnRleFBhcmFtZXRlcmkoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVY
VFVSRV9XUkFQX1QsIGdsLkNMQU1QX1RPX0VER0UpOworCisgICAgaWYgKGlzVmVydGV4KSB7Cisg
ICAgICBmaWxsVmVydGV4UmVmZXJlbmNlKCk7CisgICAgfSBlbHNlIHsKKyAgICAgIGZpbGxGcmFn
bWVudFJlZmVyZW5jZSgpOworICAgIH0KKworICAgIHJldHVybiB0ZXh0dXJlOworICB9Cit9Owor
CityZXR1cm4geworICAvKioKKyAgICogcnVucyBhIGJ1bmNoIG9mIEdMU0wgdGVzdHMgdXNpbmcg
dGhlIHBhc3NlZCBpbiBwYXJhbWV0ZXJzCisgICAqIFRoZSBwYXJhbWV0ZXJzIGFyZToKKyAgICoK
KyAgICogZmVhdHVyZToKKyAgICogICAgdGhlIG5hbWUgb2YgdGhlIGZ1bmN0aW9uIGJlaW5nIHRl
c3RlZCAoZWcsIHNpbiwgZG90LAorICAgKiAgICBub3JtYWxpemUpCisgICAqCisgICAqIHRlc3RG
dW5jOgorICAgKiAgICBUaGUgcHJvdG90eXBlIG9mIGZ1bmN0aW9uIHRvIGJlIHRlc3RlZCBub3Qg
aW5jbHVkaW5nIHRoZQorICAgKiAgICByZXR1cm4gdHlwZS4KKyAgICoKKyAgICogZW11RnVuYzoK
KyAgICogICAgQSBiYXNlIGZ1bmN0aW9uIHRoYXQgY2FuIGJlIHVzZWQgdG8gZ2VuZXJhdGUgZW11
bGF0aW9uCisgICAqICAgIGZ1bmN0aW9ucy4gRXhhbXBsZSBmb3IgJ2NlaWwnCisgICAqCisgICAq
ICAgICAgZmxvYXQgJChmdW5jKV9iYXNlKGZsb2F0IHZhbHVlKSB7CisgICAqICAgICAgICBmbG9h
dCBtID0gbW9kKHZhbHVlLCAxLjApOworICAgKiAgICAgICAgcmV0dXJuIG0gIT0gMC4wID8gKHZh
bHVlICsgMS4wIC0gbSkgOiB2YWx1ZTsKKyAgICogICAgICB9CisgICAqCisgICAqIGFyZ3M6Cisg
ICAqICAgIFRoZSBhcmd1bWVudHMgdG8gdGhlIGZ1bmN0aW9uCisgICAqCisgICAqIGJhc2VBcmdz
OiAob3B0aW9uYWwpCisgICAqICAgIFRoZSBhcmd1bWVudHMgd2hlbiBhIGJhc2UgZnVuY3Rpb24g
aXMgdXNlZCB0byBjcmVhdGUgYW4KKyAgICogICAgZW11bGF0aW9uIGZ1bmN0aW9uLiBGb3IgZXhh
bXBsZSAnZmxvYXQgc2lnbl9iYXNlKGZsb2F0IHYpJworICAgKiAgICBpcyB1c2VkIHRvIGltcGxl
bWVuZW50IHZlYzIgc2lnbl9lbXUodmVjMiB2KS4KKyAgICoKKyAgICogc2ltcGxlRW11OgorICAg
KiAgICBpZiBzdXBwbGllZCwgdGhlIGNvZGUgdGhhdCBjYW4gYmUgdXNlZCB0byBnZW5lcmF0ZSBh
bGwKKyAgICogICAgZnVuY3Rpb25zIGZvciBhbGwgdHlwZXMuCisgICAqCisgICAqICAgIEV4YW1w
bGUgZm9yICdub3JtYWxpemUnOgorICAgKgorICAgKiAgICAgICAgJCh0eXBlKSAkKGZ1bmMpX2Vt
dSgkKGFyZ3MpKSB7CisgICAqICAgICAgICAgICByZXR1cm4gdmFsdWUgLyBsZW5ndGgodmFsdWUp
OworICAgKiAgICAgICAgfQorICAgKgorICAgKiBncmlkUmVzOiAob3B0aW9uYWwpCisgICAqICAg
IFRoZSByZXNvbHV0aW9uIG9mIHRoZSBtZXNoIHRvIGdlbmVyYXRlLiBUaGUgZGVmYXVsdCBpcyBh
CisgICAqICAgIDF4MSBncmlkIGJ1dCBtYW55IHZlcnRleCBzaGFkZXJzIG5lZWQgYSBoaWdoZXIg
cmVzb2x1dGlvbgorICAgKiAgICBvdGhlcndpc2UgdGhlIG9ubHkgdmFsdWVzIHBhc3NlZCBpbiBh
cmUgdGhlIDQgY29ybmVycworICAgKiAgICB3aGljaCBvZnRlbiBoYXZlIHRoZSBzYW1lIHZhbHVl
LgorICAgKgorICAgKiB0ZXN0czoKKyAgICogICAgVGhlIGNvZGUgZm9yIGVhY2ggdGVzdC4gSXQg
aXMgYXNzdW1lZCB0aGUgdGVzdHMgYXJlIGZvcgorICAgKiAgICBmbG9hdCwgdmVjMiwgdmVjMywg
dmVjNCBpbiB0aGF0IG9yZGVyLgorICAgKgorICAgKiB0b2xlcmFuY2U6IChvcHRpb25hbCkKKyAg
ICogICAgQWxsb3cgc29tZSB0b2xlcmFuY2UgaW4gdGhlIGNvbXBhcmlzb25zLiBUaGUgdG9sZXJh
bmNlIGlzIGFwcGxpZWQgdG8gCisgICAqICAgIGJvdGggdmVydGV4IGFuZCBmcmFnbWVudCBzaGFk
ZXJzLiBUaGUgZGVmYXVsdCB0b2xlcmFuY2UgaXMgMCwgbWVhbmluZyAKKyAgICogICAgdGhlIHZh
bHVlcyBoYXZlIHRvIGJlIGlkZW50aWNhbC4KKyAgICoKKyAgICogZnJhZ21lbnRUb2xlcmFuY2U6
IChvcHRpb25hbCkKKyAgICogICAgU3BlY2lmeSBhIHRvbGVyYW5jZSB3aGljaCBvbmx5IGFwcGxp
ZXMgdG8gZnJhZ21lbnQgc2hhZGVycy4gVGhlIAorICAgKiAgICBmcmFnbWVudC1vbmx5IHRvbGVy
YW5jZSB3aWxsIG92ZXJyaWRlIHRoZSBzaGFyZWQgdG9sZXJhbmNlIGZvciAKKyAgICogICAgZnJh
Z21lbnQgc2hhZGVycyBpZiBib3RoIGFyZSBzcGVjaWZpZWQuIEZyYWdtZW50IHNoYWRlcnMgdXN1
YWxseQorICAgKiAgICB1c2UgbWVkaXVtcCBmbG9hdCBwcmVjaXNpb24gc28gdGhleSBzb21ldGlt
ZXMgcmVxdWlyZSBoaWdoZXIgdG9sZXJhbmNlCisgICAqICAgIHRoYW4gdmVydGV4IHNoYWRlcnMg
d2hpY2ggdXNlIGhpZ2hwIGJ5IGRlZmF1bHQuCisgICAqLworICBydW5GZWF0dXJlVGVzdDogcnVu
RmVhdHVyZVRlc3QsCisKKyAgLyoKKyAgICogUnVucyBhIGJ1bmNoIG9mIEdMU0wgdGVzdHMgdXNp
bmcgdGhlIHBhc3NlZCBpbiBwYXJhbWV0ZXJzCisgICAqCisgICAqIFRoZSBwYXJhbWV0ZXJzIGFy
ZToKKyAgICoKKyAgICogdGVzdHM6CisgICAqICAgIEFycmF5IG9mIHRlc3RzLiBGb3IgZWFjaCB0
ZXN0IHRoZSBmb2xsb3dpbmcgcGFyYW1ldGVycyBhcmUgZXhwZWN0ZWQKKyAgICoKKyAgICogICAg
bmFtZToKKyAgICogICAgICAgc29tZSBkZXNjcmlwdGlvbiBvZiB0aGUgdGVzdAorICAgKiAgICBy
ZWZlcmVuY2U6CisgICAqICAgICAgIHBhcmFtZXRlcnMgZm9yIHRoZSByZWZlcmVuY2Ugc2hhZGVy
IChzZWUgYmVsb3cpCisgICAqICAgIHRlc3Q6CisgICAqICAgICAgIHBhcmFtZXRlcnMgZm9yIHRo
ZSB0ZXN0IHNoYWRlciAoc2VlIGJlbG93KQorICAgKgorICAgKiAgICBUaGUgcGFyYW1ldGVyIGZv
ciB0aGUgcmVmZXJlbmNlIGFuZCB0ZXN0IHNoYWRlcnMgYXJlCisgICAqCisgICAqICAgIHNoYWRl
cjogdGhlIEdMU0wgZm9yIHRoZSBzaGFkZXIKKyAgICogICAgc3ViczogYW55IHN1YnN0aXR1dGlv
bnMgeW91IHdpc2ggdG8gZGVmaW5lIGZvciB0aGUgc2hhZGVyLgorICAgKgorICAgKiAgICBFYWNo
IHNoYWRlciBpcyBjcmVhdGVkIGZyb20gYSBiYXNpYyB0ZW1wbGF0ZSB0aGF0CisgICAqICAgIGRl
ZmluZXMgYW4gaW5wdXQgYW5kIGFuIG91dHB1dC4gWW91IGNhbiBzZWUgdGhlCisgICAqICAgIHRl
bXBsYXRlcyBhdCB0aGUgdG9wIG9mIHRoaXMgZmlsZS4gVGhlIGlucHV0IGFuZCBvdXRwdXQKKyAg
ICogICAgY2hhbmdlIGRlcGVuZGluZyBvbiB3aGV0aGVyIG9yIG5vdCB3ZSBhcmUgZ2VuZXJhdGlu
ZworICAgKiAgICBhIHZlcnRleCBvciBmcmFnbWVudCBzaGFkZXIuCisgICAqCisgICAqICAgIEFs
bCB0aGlzIGNvZGUgZnVuY3Rpb24gZG9lcyBpcyBhIGJ1bmNoIG9mIHN0cmluZyBzdWJzdGl0dXRp
b25zLgorICAgKiAgICBBIHN1YnN0aXR1dGlvbiBpcyBkZWZpbmVkIGJ5ICQobmFtZSkuIElmIG5h
bWUgaXMgZm91bmQgaW4KKyAgICogICAgdGhlICdzdWJzJyBwYXJhbWV0ZXIgaXQgaXMgcmVwbGFj
ZWQuIDQgc3BlY2lhbCBuYW1lcyBleGlzdC4KKyAgICoKKyAgICogICAgJ2lucHV0JyB0aGUgaW5w
dXQgdG8geW91ciBHTFNMLiBBbHdheXMgYSB2ZWM0LiBBbGwgY2hhbmdlCisgICAqICAgIGZyb20g
MCB0byAxIG92ZXIgdGhlIHF1YWQgdG8gYmUgZHJhd24uCisgICAqCisgICAqICAgICdvdXRwdXQn
IHRoZSBvdXRwdXQgY29sb3IuIEFsc28gYSB2ZWM0CisgICAqCisgICAqICAgICdlbXUnIGEgcGxh
Y2UgdG8gaW5zZXJ0IGV4dHJhIHN0dWZmCisgICAqICAgICdleHRyYScgYSBwbGFjZSB0byBpbnNl
cnQgZXh0cmEgc3R1ZmYuCisgICAqCisgICAqICAgIFlvdSBjYW4gdGhpbmsgb2YgdGhlIHRlbXBs
YXRlcyBsaWtlIHRoaXMKKyAgICoKKyAgICogICAgICAgJChleHRyYSkKKyAgICogICAgICAgJChl
bXUpCisgICAqCisgICAqICAgICAgIHZvaWQgbWFpbigpIHsKKyAgICogICAgICAgICAgLy8gZG8g
bWF0aCB0byBjYWxjdWxhdGUgaW5wdXQKKyAgICogICAgICAgICAgLi4uCisgICAqCisgICAqICAg
ICAgICAgICQoc2hhZGVyKQorICAgKiAgICAgICB9CisgICAqCisgICAqICAgIFlvdXIgc2hhZGVy
IGZpcnN0IGhhcyBhbnkgc3VicyB5b3UgcHJvdmlkZWQgYXBwbGllZCBhcyB3ZWxsCisgICAqICAg
IGFzICdpbnB1dCcgYW5kICdvdXRwdXQnCisgICAqCisgICAqICAgIEl0IGlzIHRoZW4gaW5zZXJ0
ZWQgaW50byB0aGUgdGVtcGxhdGUgd2hpY2ggaXMgYWxzbyBwcm92aWRlZAorICAgKiAgICB3aXRo
IHlvdXIgc3Vicy4KKyAgICoKKyAgICogZ3JpZFJlczogKG9wdGlvbmFsKQorICAgKiAgICBUaGUg
cmVzb2x1dGlvbiBvZiB0aGUgbWVzaCB0byBnZW5lcmF0ZS4gVGhlIGRlZmF1bHQgaXMgYQorICAg
KiAgICAxeDEgZ3JpZCBidXQgbWFueSB2ZXJ0ZXggc2hhZGVycyBuZWVkIGEgaGlnaGVyIHJlc29s
dXRpb24KKyAgICogICAgb3RoZXJ3aXNlIHRoZSBvbmx5IHZhbHVlcyBwYXNzZWQgaW4gYXJlIHRo
ZSA0IGNvcm5lcnMKKyAgICogICAgd2hpY2ggb2Z0ZW4gaGF2ZSB0aGUgc2FtZSB2YWx1ZS4KKyAg
ICoKKyAgICogdG9sZXJhbmNlOiAob3B0aW9uYWwpCisgICAqICAgIEFsbG93IHNvbWUgdG9sZXJh
bmNlIGluIHRoZSBjb21wYXJpc29ucy4gVGhlIHRvbGVyYW5jZSBpcyBhcHBsaWVkIHRvCisgICAq
ICAgIGJvdGggdmVydGV4IGFuZCBmcmFnbWVudCBzaGFkZXJzLiBUaGUgZGVmYXVsdCB0b2xlcmFu
Y2UgaXMgMCwgbWVhbmluZworICAgKiAgICB0aGUgdmFsdWVzIGhhdmUgdG8gYmUgaWRlbnRpY2Fs
LgorICAgKgorICAgKiBmcmFnbWVudFRvbGVyYW5jZTogKG9wdGlvbmFsKQorICAgKiAgICBTcGVj
aWZ5IGEgdG9sZXJhbmNlIHdoaWNoIG9ubHkgYXBwbGllcyB0byBmcmFnbWVudCBzaGFkZXJzLiBU
aGUKKyAgICogICAgZnJhZ21lbnQtb25seSB0b2xlcmFuY2Ugd2lsbCBvdmVycmlkZSB0aGUgc2hh
cmVkIHRvbGVyYW5jZSBmb3IKKyAgICogICAgZnJhZ21lbnQgc2hhZGVycyBpZiBib3RoIGFyZSBz
cGVjaWZpZWQuIEZyYWdtZW50IHNoYWRlcnMgdXN1YWxseQorICAgKiAgICB1c2UgbWVkaXVtcCBm
bG9hdCBwcmVjaXNpb24gc28gdGhleSBzb21ldGltZXMgcmVxdWlyZSBoaWdoZXIgdG9sZXJhbmNl
CisgICAqICAgIHRoYW4gdmVydGV4IHNoYWRlcnMgd2hpY2ggdXNlIGhpZ2hwLgorICAgKi8KKyAg
cnVuQmFzaWNUZXN0OiBydW5CYXNpY1Rlc3QsCisKKyAgLyoqCisgICAqIFJ1bnMgYSBidW5jaCBv
ZiBHTFNMIHRlc3RzIHVzaW5nIHRoZSBwYXNzZWQgaW4gcGFyYW1ldGVycy4gVGhlCisgICAqIGV4
cGVjdGVkIHJlc3VsdHMgYXJlIGNvbXB1dGVkIGFzIGEgcmVmZXJlbmNlIGltYWdlIGluIEphdmFT
Y3JpcHQKKyAgICogaW5zdGVhZCBvZiBvbiB0aGUgR1BVLiBUaGUgcGFyYW1ldGVycyBhcmU6Cisg
ICAqCisgICAqIGZlYXR1cmU6CisgICAqICAgIHRoZSBuYW1lIG9mIHRoZSBmdW5jdGlvbiBiZWlu
ZyB0ZXN0ZWQgKGVnLCBzaW4sIGRvdCwKKyAgICogICAgbm9ybWFsaXplKQorICAgKgorICAgKiB0
ZXN0RnVuYzoKKyAgICogICAgVGhlIHByb3RvdHlwZSBvZiBmdW5jdGlvbiB0byBiZSB0ZXN0ZWQg
bm90IGluY2x1ZGluZyB0aGUKKyAgICogICAgcmV0dXJuIHR5cGUuCisgICAqCisgICAqIGFyZ3M6
CisgICAqICAgIFRoZSBhcmd1bWVudHMgdG8gdGhlIGZ1bmN0aW9uCisgICAqCisgICAqIGdyaWRS
ZXM6IChvcHRpb25hbCkKKyAgICogICAgVGhlIHJlc29sdXRpb24gb2YgdGhlIG1lc2ggdG8gZ2Vu
ZXJhdGUuIFRoZSBkZWZhdWx0IGlzIGEKKyAgICogICAgMXgxIGdyaWQgYnV0IG1hbnkgdmVydGV4
IHNoYWRlcnMgbmVlZCBhIGhpZ2hlciByZXNvbHV0aW9uCisgICAqICAgIG90aGVyd2lzZSB0aGUg
b25seSB2YWx1ZXMgcGFzc2VkIGluIGFyZSB0aGUgNCBjb3JuZXJzCisgICAqICAgIHdoaWNoIG9m
dGVuIGhhdmUgdGhlIHNhbWUgdmFsdWUuCisgICAqCisgICAqIHRlc3RzOgorICAgKiAgICBBcnJh
eSBvZiB0ZXN0cy4gSXQgaXMgYXNzdW1lZCB0aGUgdGVzdHMgYXJlIGZvciBmbG9hdCwgdmVjMiwK
KyAgICogICAgdmVjMywgdmVjNCBpbiB0aGF0IG9yZGVyLiBGb3IgZWFjaCB0ZXN0IHRoZSBmb2xs
b3dpbmcKKyAgICogICAgcGFyYW1ldGVycyBhcmUgZXhwZWN0ZWQ6CisgICAqCisgICAqICAgICAg
IHNvdXJjZTogdGhlIEdMU0wgc291cmNlIGNvZGUgZm9yIHRoZSB0ZXN0cworICAgKgorICAgKiAg
ICAgICBnZW5lcmF0b3I6IGEgSmF2YVNjcmlwdCBmdW5jdGlvbiB0YWtpbmcgZm91ciBwYXJhbWV0
ZXJzCisgICAqICAgICAgIHdoaWNoIGV2YWx1YXRlcyB0aGUgc2FtZSBmdW5jdGlvbiBhcyB0aGUg
R0xTTCBzb3VyY2UsCisgICAqICAgICAgIHJldHVybmluZyBpdHMgcmVzdWx0IGFzIGEgbmV3bHkg
YWxsb2NhdGVkIGFycmF5LgorICAgKgorICAgKiAgICAgICB0b2xlcmFuY2U6IChvcHRpb25hbCkg
YSBwZXItdGVzdCB0b2xlcmFuY2UuCisgICAqCisgICAqIGV4dHJhOiAob3B0aW9uYWwpCisgICAq
ICAgIEV4dHJhIEdMU0wgY29kZSBpbnNlcnRlZCBhdCB0aGUgdG9wIG9mIGVhY2ggdGVzdCdzIHNo
YWRlci4KKyAgICogCisgICAqIHRvbGVyYW5jZTogKG9wdGlvbmFsKQorICAgKiAgICBBbGxvdyBz
b21lIHRvbGVyYW5jZSBpbiB0aGUgY29tcGFyaXNvbnMuIFRoZSB0b2xlcmFuY2UgaXMgYXBwbGll
ZCB0byAKKyAgICogICAgYm90aCB2ZXJ0ZXggYW5kIGZyYWdtZW50IHNoYWRlcnMuIFRoZSBkZWZh
dWx0IHRvbGVyYW5jZSBpcyAwLCBtZWFuaW5nIAorICAgKiAgICB0aGUgdmFsdWVzIGhhdmUgdG8g
YmUgaWRlbnRpY2FsLgorICAgKgorICAgKiBmcmFnbWVudFRvbGVyYW5jZTogKG9wdGlvbmFsKQor
ICAgKiAgICBTcGVjaWZ5IGEgdG9sZXJhbmNlIHdoaWNoIG9ubHkgYXBwbGllcyB0byBmcmFnbWVu
dCBzaGFkZXJzLiBUaGUgCisgICAqICAgIGZyYWdtZW50LW9ubHkgdG9sZXJhbmNlIHdpbGwgb3Zl
cnJpZGUgdGhlIHNoYXJlZCB0b2xlcmFuY2UgZm9yIAorICAgKiAgICBmcmFnbWVudCBzaGFkZXJz
IGlmIGJvdGggYXJlIHNwZWNpZmllZC4gRnJhZ21lbnQgc2hhZGVycyB1c3VhbGx5CisgICAqICAg
IHVzZSBtZWRpdW1wIGZsb2F0IHByZWNpc2lvbiBzbyB0aGV5IHNvbWV0aW1lcyByZXF1aXJlIGhp
Z2hlciB0b2xlcmFuY2UKKyAgICogICAgdGhhbiB2ZXJ0ZXggc2hhZGVycyB3aGljaCB1c2UgaGln
aHAuCisgICAqLworICBydW5SZWZlcmVuY2VJbWFnZVRlc3Q6IHJ1blJlZmVyZW5jZUltYWdlVGVz
dCwKKworICBub25lOiBmYWxzZQorfTsKKworfSgpKTsKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVzb3VyY2Vz
L2dyYXktcmFtcC0yNTYtd2l0aC0xMjgtYWxwaGEucG5nIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVz
b3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVzb3VyY2VzL2dyYXktcmFtcC0y
NTYtd2l0aC0xMjgtYWxwaGEucG5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE4M2U1NWRlMjE5MGJiNjI2MTI1MTNj
M2U2ZGRlNjc0ZGYwMDJiNzkKR0lUIGJpbmFyeSBwYXRjaApsaXRlcmFsIDgxCnpjbWVBU0BOPyhv
bEh5YHVWQnEhaWEweX55VTw1SzU3JitMMHErdykxSWdwYUBiYTQhXj11SipaTlhTUz9ObEI0Nwpl
eTB9ODUtLWRfYj8+cHhEVkNtYkFBUlY1cmVsRntyNX1FKm9nQT02eQoKbGl0ZXJhbCAwCkhjbVY/
ZDAwMDAxCgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rl
c3RfZmlsZXMvY29uZm9ybWFuY2UvcmVzb3VyY2VzL2dyYXktcmFtcC0yNTYucG5nIGIvTGF5b3V0
VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVzb3Vy
Y2VzL2dyYXktcmFtcC0yNTYucG5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjAxZTQ4NmI1YTkyZTQwNTE1OGNmMzhm
NmRmYmI0NDQ0MGZkZmJkNmQKR0lUIGJpbmFyeSBwYXRjaApsaXRlcmFsIDc4CnpjbWVBU0BOPyhv
bEh5YHVWQnEhaWEweX55VTw1SzU3JitMMHErdykxSWdrP2RiYTQhXj11SipaMDBKNC0jUighawpi
OXQ7ZT4zWXFfWE9uJVM/UktWY3I+Z1RlfkRXTTRmS1NkSjgKCmxpdGVyYWwgMApIY21WP2QwMDAw
MQoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2Zp
bGVzL2NvbmZvcm1hbmNlL3Jlc291cmNlcy9ncmF5LXJhbXAtZGVmYXVsdC1nYW1tYS5wbmcgYi9M
YXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9y
ZXNvdXJjZXMvZ3JheS1yYW1wLWRlZmF1bHQtZ2FtbWEucG5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE1YTg5YmVi
NzA5YjRmMGM4Nzg3NzI2NmRhZjI4NDE2NWIyMWVhMWUKR0lUIGJpbmFyeSBwYXRjaApsaXRlcmFs
IDEyMwp6Y21lQVNATj8ob2xIeWB1VkJxIWlhMHl+eVU8NUs1NyYrTDBxK3cpMUlnb1BsYmE0IStu
M0o1NjAwYiMxREptfCkKekxlQTtKaG1XaGVefmwmVjNJb0I7UGRBPmQmfihlUytrMGs3TlJOYk4o
dnozMDk9XnwpSlcpO2h0WUshIUBNJDlSClVLalZ1bSZwPjgteTg1fVNiNHE5ZTBEN2IpPypJUyoK
CmxpdGVyYWwgMApIY21WP2QwMDAwMQoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jl
c291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3Jlc291cmNlcy9ncmF5LXJhbXAt
Z2FtbWEwLjEucG5nIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmls
ZXMvY29uZm9ybWFuY2UvcmVzb3VyY2VzL2dyYXktcmFtcC1nYW1tYTAuMS5wbmcKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNjM3Yzc5MmRhMDNiYTYzM2I3MDhhM2E4MDg2MDE3ZmU5MWUxZWI0MwpHSVQgYmluYXJ5IHBh
dGNoCmxpdGVyYWwgMTMzCnpjbWVBU0BOPyhvbEh5YHVWQnEhaWEweX55VTw1SzU3JitMMHErdykx
SWdueVdjbDMyK1V7RHdFMnx3Zm08bEFfPAp6SUVHbDlQRUtLOWEjSyluNWYqWXo3ZTBKayl2WlV5
bVFoJD5mX0FAZS0+anI3Jm59PCNAakFMZihFSk9fbDRacH4KZ3BNKkE2aXAtV19fJXhDRS0tOzx1
TEZPYGV5ODV9U2I0cTllMEpTa0RDamJCZAoKbGl0ZXJhbCAwCkhjbVY/ZDAwMDAxCgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9y
bWFuY2UvcmVzb3VyY2VzL2dyYXktcmFtcC1nYW1tYTEuMC5wbmcgYi9MYXlvdXRUZXN0cy93ZWJn
bC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZXNvdXJjZXMvZ3JheS1y
YW1wLWdhbW1hMS4wLnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40MGNlZWIwNDY1MTY4ZDFhZTMyMTkwNzIwZmQ4
NDRiM2ExYmQ5YjBiCkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCAxMzMKemNtZUFTQE4/KG9sSHlg
dVZCcSFpYTB5fnlVPDVLNTcmK0wwcSt3KTFJZ255V2NsMzIrVX5GNHBfK25aLWtaPEdaCno7dXZD
YUl5ckBiJHhUN1FNT2VyPVVISV5FUmt0MSlUU2o0bDNFS1U+ZVkyOVRKaUMwXyRMcl97TEd2I3hP
T19QfQpnZUc9TU9ES2NBejtuUElzZT1EWHUxKTBtPj5GVmRRJk1CYkAwNFNGeWJOflBWCgpsaXRl
cmFsIDAKSGNtVj9kMDAwMDEKCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJj
ZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZXNvdXJjZXMvZ3JheS1yYW1wLWdhbW1h
Mi4wLnBuZyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2Nv
bmZvcm1hbmNlL3Jlc291cmNlcy9ncmF5LXJhbXAtZ2FtbWEyLjAucG5nCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjcz
ZmNmN2I0MWI2YjQzZDI3MzU0OWY2YjEwMzAwMmRhYTIyNmU0ZTYKR0lUIGJpbmFyeSBwYXRjaAps
aXRlcmFsIDEzMwp6Y21lQVNATj8ob2xIeWB1VkJxIWlhMHl+eVU8NUs1NyYrTDBxK3cpMUlnbnlX
Y2wzMitWQ0hyMzVgMV9QJGhZeHkKemFTWDlJb3Qobko8ZmZxREF9cipiRWAwZDdzI31rWUV1Kmwm
MW5xdmB6RkEzRW8/U2xlPDheZH1wIXBZO0NDaUZ+CmdKXyY4QzZxemw8QE0kOVJ6WkZ4U2czTSpg
Ym9GeXQ9YWtSezBORm4jbG1HdyMKCmxpdGVyYWwgMApIY21WP2QwMDAwMQoKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNl
L3Jlc291cmNlcy9ncmF5LXJhbXAtZ2FtbWE0LjAucG5nIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVz
b3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVzb3VyY2VzL2dyYXktcmFtcC1n
YW1tYTQuMC5wbmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDg3OGYxZTk2N2RjNGRkMjZkOGUzZTJiNWQ2Y2Q5ZTNi
ZDJlZjAwZgpHSVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwgMTMzCnpjbWVBU0BOPyhvbEh5YHVWQnEh
aWEweX55VTw1SzU3JitMMHErdykxSWdueVdjbDMyK1YzVFVOV1Noelk8bEFfPAp6SUVHbDlQRUtL
OWEjSyluNWYqWXo3ZTBKayl2WlV5bVFoJD5mX0FAZS0+anI3Jm59PCNAakFMZihFSk9fbDRacH4K
Z3BNKkE2aXAtV19fJXhDRS0tOzx1TEZPYGV5ODV9U2I0cTllMExSNTlSeyNKMgoKbGl0ZXJhbCAw
CkhjbVY/ZDAwMDAxCgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVzb3VyY2VzL2dyYXktcmFtcC1nYW1tYTkuMC5w
bmcgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3Jt
YW5jZS9yZXNvdXJjZXMvZ3JheS1yYW1wLWdhbW1hOS4wLnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44YTY5ZWQx
ZjNkMzE2OGNlMzQ2MmQxOTMyMzRlYzMwOWQ3NmUwN2MxCkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJh
bCAxMzMKemNtZUFTQE4/KG9sSHlgdVZCcSFpYTB5fnlVPDVLNTcmK0wwcSt3KTFJZ255V2NsMzIr
O044Ni1OSl9tRyRoWXh5CnphU1g5SW90KG5KPGZmcURBfXIqYkVgMGQ3cyN9a1lFdSpsJjFucXZg
ekZBM0VvP1NsZTw4XmR9cCFwWTtDQ2lGfgpnSl8mOEM2cXpsPEBNJDlSelpGeFNnM00qYGJvRnl0
PWFrUnswUEdraHpXQExMCgpsaXRlcmFsIDAKSGNtVj9kMDAwMDEKCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZXNv
dXJjZXMvZ3JheS1yYW1wLnBuZyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90
ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3Jlc291cmNlcy9ncmF5LXJhbXAucG5nCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmE1YTg5YmViNzA5YjRmMGM4Nzg3NzI2NmRhZjI4NDE2NWIyMWVhMWUKR0lUIGJpbmFyeSBwYXRj
aApsaXRlcmFsIDEyMwp6Y21lQVNATj8ob2xIeWB1VkJxIWlhMHl+eVU8NUs1NyYrTDBxK3cpMUln
b1BsYmE0IStuM0o1NjAwYiMxREptfCkKekxlQTtKaG1XaGVefmwmVjNJb0I7UGRBPmQmfihlUytr
MGs3TlJOYk4odnozMDk9XnwpSlcpO2h0WUshIUBNJDlSClVLalZ1bSZwPjgteTg1fVNiNHE5ZTBE
N2IpPypJUyoKCmxpdGVyYWwgMApIY21WP2QwMDAwMQoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3Jlc291cmNlcy9n
cmVlbi0yeDItMTZiaXQucG5nIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rl
c3RfZmlsZXMvY29uZm9ybWFuY2UvcmVzb3VyY2VzL2dyZWVuLTJ4Mi0xNmJpdC5wbmcKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2ZjYjk2OTYwZTE0MmNjY2E0OWY0NDc1NWQ2Mjk0MzUyY2FmMGU0MgpHSVQgYmluYXJ5
IHBhdGNoCmxpdGVyYWwgMTM0CnpjbWVBU0BOPyhvbEh5YHVWQnEhaWEwdnBeT2R1PShCRzxhTzgy
fkJIMCp9YUlBbmdJaFpZUSh0SyFSbGpqX0UpZQp6dGVQUTlyPis2V1FUQjlrNEJAeip7NnU4TS1R
eCFpZTM8PV5vdGF0cWJZaD1CNF5LezZlVnNBVHhKVns7Y205R0QKUURXR3gmUGdnJmVieHNMUTBH
VURfRiNyR24KCmxpdGVyYWwgMApIY21WP2QwMDAwMQoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3Jlc291cmNlcy9p
bnRBcnJheVVuaWZvcm1TaGFkZXIudmVydCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93
ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3Jlc291cmNlcy9pbnRBcnJheVVuaWZvcm1TaGFk
ZXIudmVydApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5kODIwNzRlNDczNzAxMWUzODIwMmE2M2M0YWM5NjZjMjMxMGVh
MDBjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVzb3VyY2VzL2ludEFycmF5VW5pZm9ybVNoYWRlci52
ZXJ0CkBAIC0wLDAgKzEsOCBAQAordW5pZm9ybSBpbnQgaXZhbDsKK3VuaWZvcm0gaW50IGl2YWwy
WzJdOworCit2b2lkIG1haW4oKQoreworICAgIGludCBzdW0gPSBpdmFsICsgaXZhbDJbMF0gKyBp
dmFsMlsxXTsKKyAgICBnbF9Qb3NpdGlvbiA9IHZlYzQoc3VtLCAwLjAsIDAuMCwgMS4wKTsKK30K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL3Jlc291cmNlcy9pbnRVbmlmb3JtU2hhZGVyLnZlcnQgYi9MYXlvdXRUZXN0
cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZXNvdXJjZXMv
aW50VW5pZm9ybVNoYWRlci52ZXJ0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA1MWMwNWUyYjg1ODEwNDBkMjNlYzBh
ZWRjNjgzMmRjMTM5ODY3NWEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9y
ZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZXNvdXJjZXMvaW50VW5pZm9y
bVNoYWRlci52ZXJ0CkBAIC0wLDAgKzEsNDMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKGMpIDIwMDkg
VGhlIENocm9taXVtIEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgKiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisg
KiAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBp
dHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJv
ZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJp
b3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqIEFTIElTIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICog
TElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFM
LCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
CisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorKi8KKwordW5pZm9ybSBpbnQgaXZhbDsKK3VuaWZv
cm0gaXZlYzIgaXZhbDI7Cit1bmlmb3JtIGl2ZWMzIGl2YWwzOwordW5pZm9ybSBpdmVjNCBpdmFs
NDsKKwordm9pZCBtYWluKCkKK3sKKyAgICBpbnQgc3VtID0gaXZhbAorICAgICAgICAgICAgKyBp
dmFsMlswXSArIGl2YWwyWzFdCisgICAgICAgICAgICArIGl2YWwzWzBdICsgaXZhbDNbMV0gKyBp
dmFsM1syXQorICAgICAgICAgICAgKyBpdmFsNFswXSArIGl2YWw0WzFdICsgaXZhbDRbMl0gKyBp
dmFsNFszXTsKKyAgICBnbF9Qb3NpdGlvbiA9IHZlYzQoc3VtLCAwLjAsIDAuMCwgMS4wKTsKK30K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL3Jlc291cmNlcy9tYXRVbmlmb3JtU2hhZGVyLnZlcnQgYi9MYXlvdXRUZXN0
cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZXNvdXJjZXMv
bWF0VW5pZm9ybVNoYWRlci52ZXJ0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEyM2E0YmUwM2JjODA1ODMyODg5ZDc0
ZmVlMWZkZTc5NzE4NDE3MzEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9y
ZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZXNvdXJjZXMvbWF0VW5pZm9y
bVNoYWRlci52ZXJ0CkBAIC0wLDAgKzEsNDAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKGMpIDIwMDkg
VGhlIENocm9taXVtIEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgKiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisg
KiAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBp
dHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJv
ZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJp
b3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqIEFTIElTIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICog
TElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFM
LCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
CisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK3VuaWZvcm0gbWF0MiBtdmFsMjsKK3Vu
aWZvcm0gbWF0MyBtdmFsMzsKK3VuaWZvcm0gbWF0NCBtdmFsNDsKKwordm9pZCBtYWluKCkKK3sK
KyAgICBnbF9Qb3NpdGlvbiA9IHZlYzQobXZhbDIgKiB2ZWMyKDEuMCwgMi4wKSwgMC4wLCAwLjAp
CisgICAgICAgICAgICArIHZlYzQobXZhbDMgKiB2ZWMzKDEuMCwgMi4wLCAzLjApLCAwLjApCisg
ICAgICAgICAgICArIG12YWw0ICogdmVjNCgxLjAsIDIuMCwgMy4wLCA0LjApOworfQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9y
bWFuY2UvcmVzb3VyY2VzL25vb3BVbmlmb3JtU2hhZGVyLmZyYWcgYi9MYXlvdXRUZXN0cy93ZWJn
bC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZXNvdXJjZXMvbm9vcFVu
aWZvcm1TaGFkZXIuZnJhZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iMmRmYzlmMWQ0ZWQ4Mzc0YzEzMDUwMWE1MmFi
MjU5OWEzNzlmNTJkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3Vy
Y2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVzb3VyY2VzL25vb3BVbmlmb3JtU2hh
ZGVyLmZyYWcKQEAgLTAsMCArMSwzNCBAQAorLyoKKyAqIENvcHlyaWdodCAoYykgMjAwOSBUaGUg
Q2hyb21pdW0gQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAqIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAg
ICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwor
ICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0
cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3
cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBU
SEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogQVMgSVMgQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAq
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisqLworCit2b2lkIG1haW4oKQoreworICAgIGdsX0ZyYWdD
b2xvciA9IHZlYzQoMC4wLCAwLjAsIDAuMCwgMS4wKTsKK30KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3Jlc291cmNl
cy9ub29wVW5pZm9ybVNoYWRlci52ZXJ0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVzb3VyY2VzL25vb3BVbmlmb3JtU2hhZGVyLnZl
cnQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODIxZTQ0MGQ0YzI2Mzc0NDRhZmUzY2I1ODdhYTNiOGJkZmJhYzBjZAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL3Jlc291cmNlcy9ub29wVW5pZm9ybVNoYWRlci52ZXJ0CkBAIC0w
LDAgKzEsNCBAQAordm9pZCBtYWluKCkKK3sKKyAgICBnbF9Qb3NpdGlvbiA9IHZlYzQoMC4wLCAw
LjAsIDAuMCwgMS4wKTsKK30KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNl
cy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3Jlc291cmNlcy9ucG90LXZpZGVvLm1wNCBi
L0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNl
L3Jlc291cmNlcy9ucG90LXZpZGVvLm1wNApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41OWY1Zjc3NGE3ODNiNDU5Mzg1
NDUxYjRjNWRmMjM4MDAxY2I5ZjFkCkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCAzODIxNQp6Y21l
STVlUSpAejltbGBCY1kjWD9hMHdBJk5PM08+NUhaU3V1XzZPeF5XcUVkTEN+VU5BJj54KHlxUDxx
O0BnSG4KejVVVnAtOTZMfWIhRCVWOSVFMEpRYmhKSDxSZENTeSh5NnhQazMlfTBSLUd8Z01gPFZa
YGg5TD12YlhORU5yY1IoCnp6aTBCeD8oO21tJnZYMGleTGMqSD98MXYkMD8xdCp5YCNDSXhuIXl+
NHZXPmNGNEVLaEFoNWNud2lhbW5McWtuPAp6NndxaFotZngqJCpWSSpkWUpXUzVCYzF2MVBYeD4q
QEU/antVZnJlbExtdmwoZWllaiYwWkA2SCYlKHd8MWdeRVAKemRIdTB3MWIrWjZxWUE7LW9AVH0t
bVZjey10KFUwYDMpK1k8dkwrbHxjLSQ0di0xflYoZD5SNF5FTGkpSVVKWSNqCno8KGlMeGlXaWFB
e3VyP0o3JjQyQElFPiN3JnVLPyFQaDxyMlZSM30hS3RLUHBGd1puQ1l7XkFuYF5nU2c4bjcjIQp6
YFJhXmF1Q1JPTlN4aFNKRHZkdj4jYkJPNkl8PiUoeWs7T1VuVD9UU0JLdVduN2lJRThgVD9VNmRm
TTl8OSVzUW4Kem9TU0Y8JThYRzQzaTY+fWRedDE5WXY4WjJhT0orIUgkUmFZNHUldDU9ZiY3fHI2
QHcrNW4lSkFIN2BLWk8kNl9UCnojPT9XZzB4VDRtYHdzbCRWd2smMClvSXZ1ZWlta25sfHZ1RyZH
THdrNEhIOVAzLUg0JFBxNC0yMHJ4aX1AWUolbQp6VHNQelJAd1d6PzZsYUdARldhZjdTdWVkYXl2
VUNEKTZGU0lkfkB1YGtsYCEzQk49NW8xNmY5OWdZfjltWEp6RFEKejQ7eypAdkxsKGZqPnczN008
aSVDQkg0d0dOS1RPPkdQPjlpJHFoUnFjX29mV3t4bkJxK3pkeT1GZGRQQ049S3lkCno4YkBUcEpW
JkljJGBQNWcjMVNjOD5XRXlqdFVJRjVCNVZmb3sqb0FaPTlWSDEla0xUckVqQDxkZEMtYyg3P241
Zwp6VTB7b2F6JTRJQTgpWUh1SjJCcU5YS2VefXd+KSorN1JuIWl8SSZqZFgjamtCe3Q2ViNTMitn
cGNAWH5EMlM8SX0Kemt7YSYwQWhHZU4+Vm9Zc0NQODBucVZUO1BVRj1kSEwwZW03cGBabzZqM0Ih
UkpNKD8pYzU0KD04XyhFPy0raDgtCnoxYFVLPmY/bFk0U1YleyoodUkrUTZXdzlxKi1UO142KU9+
R0J+a2REOGl6T3A4MjUxO2RlWCQ0NHhmY0s0bVZARAp6TnNkRFhHIz9NWUJzbVRwdndReDBINGcy
NzdLfGdTPyYjYT1UO2FqZUx8UVozWmUlUDJgZ2tEcHo+WkR9PH5IfioKekZpezVocnxLK31jeis2
UT1wa2dFUWd3MilRRlkjfXB5QytVYmAqZ3pDdTN9d0YhV0ZpMSNoVXFZN31oVCRDU0E1CnpNb2FY
UWZoTGA/U3JPVmU8bikhY3UrWmtGYmZPb2dMUjsjZiolQjRuZGV3N1pYajJvKEFjaD1DYmJPeG8w
UThxagp6SE9fUko7WkhMJEh4dkdzd29rSlZpYkt5ayV2b2R7eztRam4lN0x3Tm1UaUhTN0R3PnMm
QCRpTyN0ZjUrRnFhY04KemxAWnspPVFPbkpiKF58ZV5TZUQ7NjdocFImVUY1Y0shJH0hZ0dpc2c/
X08kJTg3Nk1iO1FWWnRnJXtLdXNkd143Cno3MUFAU1JBK0tIUzJOYWBZQj13aVJTdE1VKVZDQWFN
OG0+TD9ec0lqT2lAfjI+RHkyeHJ2YX1jYCVzSkAoekdYWAp6SCFJIUYxfjU7O0tQOypCcmBsQGZF
dE42Qk1DQ08yWiowOG0mI3JLS1dhOVp7b0wlQGpiellyYHp7LTdoODMtMHEKemstZChmJCE0fnc+
MFhFYklTWFlVejw8PGFvanNGQndwajExa2AyPXtkRipoXkQkbk0wZHpQclNwMUUqZVZhcE5OCnor
QF8zfEJfcHU4MkY9fDlUbUxtJXVEflgrckdWNSYtOyUpQWY3dFFgSGkxb0c+amtJYTlRcT56KDRQ
MmhYSlllWAp6NzdxVmpJb3goWikyZmkmMGQzMDlsI2x5JXh9aEk4a3U/b2spPTZiYyNjVzVzQF5Q
Mmw0KiFLRkR5QXpSY00hSWwKelAtVD9VZHAwZUclQUtjNS1Uc0dEaThCe2phZkdIcipWezNFNlo4
Y0tfUiEldUdLa1J8PkUpWWZBaVVTLWJWMVNyCno+RzRnKmN4STBhUWRNZW5gekZ0KHJfSUFmbSpg
QXZKZlJHI3hINzJiRXY3WkE0OVVQRVV+VVFna0U/R2IqWkBnKQp6cGZYeEA4bSpVZWxlQXslUys/
ezJCczA+dEEhYEoqKExaXnBeKzsrcytMN3F8elElNzF5M21lLUQoSlpmX1IhcyoKejR3UVdZS01T
dWdYdV8zMW80ZitTSkUye29vVkduSyRQVzQ8ZHdpMkBtPnc2VGFAekx6Q2VObWEpKUokd1VxK2tx
Cnp7LStDVkU9UVpFTHRKUWNrRDNkR3dxQVlNN1otYDVFa2tHJStFUGpLYHRyaj1ER0ZgPHIpYCtm
Q2JTN3tqd2U2UAp6clFNYih2PFlvTythUz80VHhiKjhndGtHVmpzN3c1TnY4N1ZfMUtfek5tN1pO
SThuU0w0bnE2dEJeZkVTckx4dXsKeksxbU9raCkwcm1OJjQ/NDtWS1NVWklrbGw/az14S0RQKjxI
bW1VRiNMc3J7LXYwJGpMeTNIP1orZnJIRUNBOVZKCnpBI0leOzBKX1oqLVI4bmdiZW1nYGQ5RjdW
KzZGKmRPbFQ5QFF0PEx4ME82dFRndHE/RW1MXyhhM3BTWmFkWjZXegp6Qih4MkhIbkgxO3dpTU9v
SWMqZiRfKikySHtXblJ7I0JMTVhnZl89X1hYbzxDdHUoUlFnZl5qVmtaMm5zY0FMOzkKenY8KCgq
VnomdXhMZmNAYENVJT85Q2JTSX1aRE98eFo5Pn4xKEtifTxIbGE7dTghWHp5WldHI3N3IXh4Sj5e
N2xJCnpYZDVpciNCTE1YZ3RrR1R0KDNwSCNVRFBEN3U8WWxVOSFqR05xT2FsWXRebTFhPklkV1Vs
ekN9YVNJQT1acmJEeAp6SHlednVAPzZqXlpAQjUtYklEMkU8bj9WSHM+fnh2dzNgYi0oUVg2TFp1
MCYlNTRKcCMxVUpGJHRFfmVfWUJ5NlIKemxRTmwxQ0NUZkQkMntKVEFkfEBmT2VVKVlIXkVKQ2I0
KDErKXctTGNjM1VDMTMyeHNeK19WZkpgfjhOZHJkOXk7Cno0WHRaeXhXeX1Ga0F7XiVUZlBrISZa
JlkxXzE3Q3hCMjBHMCZFNnh1X1VQKSp6QWY1UHleZmo3cVUofSU0KCtNKQp6aV8lb1I/JT1BJnQ2
blk0bE1XP01FVWN9R00hMSg+VE9XeWI3b3tieU43YSFtRTk9OUNuITBNezg0V2VBWVhgO3cKenpS
bDtvb0lKQitaQjJia2NOdTd7dEV2NUJVdX5+dnl2ZGtmJWM2e0hzdkIkU1l0XkF5K1oqWntTOTIk
KXdJTnh5CnpeVjFqQiptP09pRXckPHg2O3l1YWBqJmRiLXBeVmJpTFJ7WXsqTlFrTmI8aGU+RFdA
O3hAcnBkUmRBTVJDeG0oUgp6KktrKmYzUipfbF4lWGAlNkR3Un1yP34mO0NLNjFWIWNyQD1AXzBf
LTYhTy1UVFJEI3wpPm5TMj9gMCNYVDZ+elgKemR2RXpaT01gI3lAbTFJSWd4cDlwKn1TU2FiLS1x
T2lgLVMtPV9TMDNScTl7e0E0UHJpVmNsREgzOXVfQih7QWVDCnpHSml4ZCYpTDl1Y1RqY2NXc0Q0
VyRPeTsyR2t0KmpkYno4LXVVcS0meF96WWwpYyl0e1hKN21OXkw2azReNypCSQp6eHxtR1M3eWw8
dV87dSsmUzk/a09OYzs0TUMtPD9eZjQ8QFVyXjBvOFhNNnJFPF5PTn17JXZkQHs+cXx1UzB1V3MK
emlHNUU2V2tWTHhSe1ZnYlcrTzBVMCVicGMyN05pQFU3RElTci16VEY/Qj9zMW1yKHUpakN6b2tg
YmYmZHohKTBPCnpWX3hBQ2lFWTRHe19fNDwrTVZOT1FEUSlkRlNaVy04ej8qc2o0ej1hVk82Wjdz
MXZ5ODdlTWhPJUh6T2YpLW1+Uwp6enxAfXRtbTB1alp2KUBFayNaOGE7dF5vX1hrZjt4eilaUzFY
MSlvUzVBY1B9blM1TEdpJExYN3oqWVlOdUN7MiQKej4lZzM2X2AydkIhMkV2IzMrU3BAel5fZGYo
YUNZYFJBOStfejsqUyYoKGg5QzBYT2l2WjtJMml2SnpOK0s0bGxNCnpnMDc1fXl2OXthZno/NkVr
QVMrX2xvUC0kM3hFYyRucnFrIUd9RT9nWDhwSWF7c140e1FDfE9UKDwjcGE4fFhzVwp6QEVMSUQ5
bCQtVF9ueFBLSHJDdHJBJU9qfikwTH01ZyRXZG0hbiZjezZzIWw7NnJLbVJFZT1xZ3J+SFpYNWY0
cUwKemdlWEB+N0UkVWJaSW02OSE8NkhjUTxRKTRlcjhjRncwIXtqNGN5KkoqLUZfPGQ3QVBEPHNa
RH44cyZWLTZ2fUskCnpIUlRUMHd8NCNkeHw7YipEd2pPYCtAQGNiRX4/em5jelArQDkkfV9rI1pO
cn03ZWxBWk41Zig/cF49fD9LS0g4NwplZjt6UEZEeCRDKktaWXVVTX56bTtVJmp7WGpSUzlaR1ct
fEFGOSZHPQoKbGl0ZXJhbCAwCkhjbVY/ZDAwMDAxCgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
d2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVzb3VyY2VzL25w
b3QtdmlkZW8udGhlb3JhLm9ndiBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90
ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3Jlc291cmNlcy9ucG90LXZpZGVvLnRoZW9yYS5vZ3YKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNDQ1ODY3OGZiZmQ4MTk5N2VlNWVmZjU0ZjhiNWU3ZmJkODU1MjY0YQpHSVQgYmlu
YXJ5IHBhdGNoCmxpdGVyYWwgMjQ2MzAKemNtZUk0Y3w0Unx8SGxvbyVoKGxSbjZlZ3dFSmIjTSg5
QnB1cH18PHZGcVNNKWNHKzVwK0BmU2pRcnN5LUM9Pzx+CnpUMnhZenR4fVhrY1BZPWdXPm5NdCs+
YyhyPWxTZFJhKCFScHlQZmtudTkte2sqRXlHMHd0MEc1R2NZbk4rRkV7RQp6OyV1U2pnVjZLdjQp
aGBzLTVIcF40fTx1VXpXOWZsWllzbUpVKUVOM3FtOFgmJHRefDVNK0pHMmB+cndmajBnc1AKejIy
S1dxRzZUYSE+Yk4tWTJ4Pjw0dztITGQoNEBkYVJ8cE5Uek1rPCU7Sl84U2B1VU89NmhRfUNBRyRi
YjBteHtKCnooREx0fDF0Zi1rekNrNDRwIUdJazZ3KVRpVX5oTWxwQXprMnhIKjNQVWVKb3JEJTtr
IVBwXnohcHRHYVZHPSV+Zgp6d2ZDbFlaUCpzekRZP2hubURaS1NZYHtwV0NAWDZ6WXBTUzclRyFB
QzRmR31MYVZOP19wUitYaEdQV3xAV0BKcHoKekAkZXYxTlMtUCopcTNSKEQoVlY+IU0rJUVFZnFF
QlUwODNrQl5WbUpZX200aXc+SCgkQkJeTSl4b2NgKkdffS0tCnpuaXw5eW4oU0phPnxBWV5rNFYp
eUdqbjhNP2llUE9rV3F3VSE9JDwqPDR8bVJVPlRiNmxGT3w8KHtJaCZAeSY7Nwp6P2J0SVd8SXpF
YmpWISskKzdiQ0pPZV5QKmhjJGNYQzBuXjtOJDhrV1khVFhQNHptPk1ON2RXTzMkUWMwcUNpODgK
ekR9a3t8Rkh1dWFzREQmRk96fXR5UUs+Qzl2JTFeJFByS3dRZ0pfaj48OXdkK1c3IyEqQjt+QT53
UztXVmJXX3lQCnpnRXlLVTRlbk1HO2NSaXUqRT96PWcjP1lwVGV9bm0qa1lzZ0YyNEk7dCtEWXZO
PyN2JD1ndHI+M1hqKHQ5MFZtRQp6an5oYnBWbkQ8cmNwO0MrcW9AQGdQcGhhY3MkKiFaSzxLQWNH
eSoqZS1fJiQqdW9zan5PXnJoYzQ2JmxPd319QDYKenMtZEE/e3BnQ09VSiF1PzBWS2VuejtIMWk1
ZmlJPXI/R0plUSZAT3wwYHhKbDhQLXVseXVeRE9fYzlIa1QmO150CnpgaHQzNlJEKUlzOVRkREZ6
JnNpcGw5Z1orLSFkITFWaUp0YFVrISFBcnt4MWY9QFglbGswKDtnZTQzfVdtVU8lKgp6OzxTTipm
aiZ3PE1oYzM9NyhOZ1RecnhaZl9vbU5faWtWZWNTSTQwNk1lQ3AjVTY9clp5Mj1ieHtvWEo/QDVG
elgKenB9K149QUR2ZFE3QEJCUlEhbGolP2lEbCFMaG9XMnFFJG1mKUYheHJ5dTdebntgdClhVDN8
I2BEQEd8aSlNUygqCno7QXckP3ImYV8pOHFfMlooaEMrdEpfM1F6azhXbStyaUl3V3opV3ElR0JZ
RTw3em9TPVQzfShNUnhFNmJmc0ctOwp6ZDF1Z209WWNvNk82Mzw8ZCZvcUBpIzkjcjQtZT14eklz
QHJAeFVtYlFBMU5qYHNXNyh3YSlVRU17KEA4biU9SWwKeiRtJTltbyMjJDFDRGVaajtjNEhUPSQt
QTlRbypkMGhEfHQrK3Y4cTtBWWpzVUpHTEBSaEpEVn5SNmx2XzkwPXZECnpGeyZBTldCYXV5WUVn
fEhlUXRpYXkyPGJBYDk1NWttc3dMUi1hQWUoWUdyKWc9VjZXV3h3ZExPM09nSVVQdkN0Owp6WFB2
YShCclk2I0c5WlQ+YSZofCNgQmIpUj0hRiNIM2pzVmVNd0BlN0NRO3NeVHJIV1dITFQxPmFDM2Z9
KG0mY3sKenZWRzlCJURuSnNnR01zMVEqPT51YC1fOGhkIUh9M3dAeUVqVzQrdjFJa0VZJHFNYUww
Ukw1YkhMcT5Qb3N9fUJgCnpzZUxTRkEwWipiZTdDKGFicDQ+fT56NmB5JSNMcERuYX5oPm5SeHZo
bWl4dkZPcHBIQiZ0NG4lPUpTcVNXdDRUdAp6RXJWSlJWXiZrUHJjdm1KNjlXeGE+I314cGNWOHkq
LVBobiQ7TVEjcyN+ekBScmYwMF5KP1ZiNCY/UD1Jck0+LTMKektsV3J6QW84STk8UXxEdldNZiZq
YSFTakRnS18yJnc5QXRhbD19VnNmMjd7WCpadTVYeSplMnU5cH5WMV59fTFVCnp1Pjx7YU16dDRU
ST1hdFVhc0tmc3QhSit3TEdnbCU/RWF+IXstbE02I2kxcnJNQGNzWDJLcU5fejhBV1NiSGJxewp6
PmIxQ04jTU9LJmcmbjU/ZilpJmxqcVlPcURtTExDNlllZj1Kb3c/UEtSSjIpNCMjZTlGVXFLaHI5
d2FZIV9IS1YKeiZlZ1JFdiZTK1l3R0spQG5QY141XnNMK31iSkZJbHM/NDRCIzJUSz4+S3lCNDlp
KTc/LTtPSl5jPGRVenp0NnA5Cno7WWpqMSQ3WTdsdiYjRzwxM3Z2NWErPyopMHVlKEJ1MU84KUkt
Q3lJaGlzKj9adSlKV0tpVFN+Q14reW1ZUFNVJAp6ZCNSbkBEI2J4N3VKdj1nTz18Nj9adkpgU21B
cjgrKypQd3FuPTcxKE02PGcyIWh8SCk8T3dFSW9RQVY8K0dUREAKelo1cyo8MTFYKVdhWmctNHZK
fTF2KWExSCQ2YDxZWT8hR04rKD5WRU1AYmlQcm1fKjhnZS1fUzB6RyQtLWA8WkBBCnp1ZCQoQWpt
OW1OXkI9e1c/Q3J3aC1nWl9ENX5PaDQjYVJ3JkBzVXs4K1IofXkqUlh2RzcqQn4yX0RNZ1NnT2ht
KAp6YD1tNTtTNT1tb05fPG5+d1V6TyFoV2VpJHdzOEgxdSQ3VXJfYF98NFdzPTlXYV9fV29VfTZX
TmBtKjxpa24qbzIKeipIVGx2aFAoaClvPGl7clVyQzxFKTQ/T2VMXmJrLSN+cD5UQGl0Y3dJVlN6
MXNhTioxR2FaYjdCVmhSe3h5NV8pCnpDZGIqSmgodms5OzY5QSM/KUtzIVZxfnlyekZuMmhPfFBy
c1RQMVRBWUZUK1VLR2hrTUwwZ3QydTxUOGR2clAqJAp6SldFdSY2ZlFDVCRXYTNNKkEzQ21FNHJK
cGYyeVZeP0RUcXRUJGttb1FePEhDYitGUiQ4cT5KTW0wV0hDS0VDUTQKem14JCY7dFo+QXIxSWdV
fUA/TiV4K1o/dE1SfSZDezstWTtILWwyVE88Tz9VVGNgfUU0YnFYay1VKXpkWjspWXRNCnpURUQj
dVBCSjtMaFM+YXNXNjstKT5qaTdpVSlIIVB1SG5vNUVOKjV3SzhvMyF1M2MoKkNNR2hOdGtYS09Q
KEhmQwp6U2toaG5mdlV4NXteMiFPbFB9JVc2Xz9nWXBBJE5DciVicUhtMElWTW8lV1d4VVZATFRh
VmYqK3Y/UzhNMW8+JFMKejU7azNyOHh4dHtRaSY/T2V1dH08ck43OD5MKXojbzY2dSsqK2B4elU+
ail2LVEkKXdScW1+TmZwbClyNkl5WmZpCnpgXyNTPyFZNVojXiM9LU9tcGMtNylhLXFFZlZmJj1l
KjNQeCU9Mn5ueE15ZFNTJHpyeXViaDNCeFY0P0R0SUdXRAp6bzxEe2I0JDlwKHhtM3wkaihmKkRn
TFpDOEt+PGtTO2k+ZWtRT29MVCU9N2MxNn5iO0V3d2g9cV5HNVF5ajRzdkkKems9YUNpQWo4TSRC
WWshelEpTytMYXpiQ0ZeR3VOIUV+RSt7UX1ORFdCS3l+VURfQz1PRF5AaEkrdSY3Nz1QRm40Cno5
SjFHeSRBV3I8T19NRiZXKCVMPFooN2FeOTNpUnxtYXNwZkx9dUx4UGomZDx1Kj1CUXlyMWtnYi1W
QXJke05FcQp6Pnh8MEs4I3xfRTxNUXNuIzZ2RU9lbDBvcVIjPmpCc2ZucSV3PDxaWFVgfjtPYFk7
JldxNFpZI1c5eTZYMyk+a3UKekZ4T30xODtrUklQYXp+Yj98U3MjS0YldlcqPDdpI1B4RmdeP1ZY
JExtfH04T3JVfDxldyZPJTEmejFgcF5SOFNHCnpkS1cxbT9YUjd1bTFLKSUrWklgUXNwMmBsaEol
VWhwdz1WQXVYS0VoV3E0Kkg4cHhGTWs4NTxIeTtnMWBlZGE0UQp6K1AxIW9fPFNjRHBKcW1VYEBe
cjN3cV8pRWdUU0hjUVc1OHgrZHxvMlJCeVluST0/cVIrWlBpQi1IRD1aP0ooNH0KejV1VD9QTnl4
bjBmfEdMUm09NUJPQEsyWEZ4fnpHPTk9RlNNdHY5Qitifk0lVVM+MyFmWmZlfUZRQWF1QEd4TDxN
CnohRis9PmkhXzxFJmltQU17QHo5aDJWdlp+NjZ1SlZkWD88cmZKMFNuPnwkakZPa0t+OGo4OD0h
PmNIT25UJCo8TQp6Q145MzJ3PFdvRzxhfSMoXzVFZktgdnBKIWRncXZqM242WHNuSzhDRTZkZ1V0
cjU/Z1BTaC1ELVNkTFAyZGB7aEsKekRNcVoyVkNgRFlWcSlZbCpgbVRidVMyTTM9Kj5uIUxSNn1R
e3FUWUlvazx5MTxucyMmX0xaR2lgLURIZjslYFNHCnp3V309a3h3fDd9bCtwYSkkSlpnQ3QmVUBr
TCl0ajlkKEZPOypSNCNzdERzQSlYI1BAYSZHNWRiSWs5WUBxT0cpaAp6SUw7YytiRWZ7Mm89SEFS
N1dgMEh0Um8kb15PY3h1TnBBblA3aW9leHpGcm1sQmpLRlBucHBfQVJKRDtVQkkrcmgKenV9fWtM
cVQqRyUhTShwP3NUViZjLTFGP0V5ajx2dT04ZUFUXllIPylxM3gpfEQ5Uj0taWY3dU1pQWpyMzUz
eWVZCnozYUBXZjIkTF4wZDdvfmAlUDwldUdUMDthX35BaElgfD1+UnF1MnctP1dTI1E0aF5GZHEh
NWlTRi1AbjhGYUtHcQp6SV94Q3p3JlU8dSNqPXNvYkFrailVSX5LbG95OSM+R081RXYpOV4oe09a
fk1Pcl5qbX5DT08+XyZNNTc/ZSVmSXQKellmZ01TbXE9PXtjWHN1cT1lbiRzUVpJU04kMik4bEZH
JTJwJVpCdFFycF83UU9gMnU5I1hsfEZhbVRALTxLZXdlCnpDUE9taHVhWDhxMlFya2lrMUtTa2xG
Uk5KNiZEPTQ2K0pUKEplKzR4Q21yUnhVVSF4MkpyeGgoOUd7PkRHajBRYwp6WkZid3VpPHJYMTUh
MGtPdDRnMjN1YztLempRVG9DVmFZOUlBKTRLfD9fenpuKGZFR2Qmbj4mMll9Vz1fb3YraHQKelo4
RGQqZChgdDFeWTxlTGJUKSZJSUFMMjZWRj1wa2tIS3puNUlSZGlWP3RhJCQzPngmKWNmek1VISUl
e0ghazUqCnpgPT1WX3VGWENCXjhCQXV7d2F4WW0oVlokVSlxfHA9Wl5lb3pVQlFhdz9ydGtxOHt0
WWV4ITIoWFZGSTRpSHFGPgp6e0V2eERwJSVXaUQoKz11YjM/LTZJPEFSMk1hY2xXI2ZGZ3QjZHB9
YTtfKllgMEw4NzFNSkx4U1IkTFNGVz5gJCoKemViVyg3ay1AZ1pUO1pCK0VaUCplJEV9KX07YUty
Kk93JG9Ea3ktITRUJW0oKUU4V1dpb0xBUTBje2ZeK3lqciRnCnpaS3FkNE98TzM7RFVOJlc7SG1v
RnUhMFlVSiZ2O1oxPEF3NHQlKkt8Z2pjS0U+cGstZG85R2ZncGBAbiR1Xl5kfgp6K0xOVUFjKUkj
ZU9HXjViP3FeO2hNK2ppS29ici13UmxyJW56VEU5anhlOF5QPCNuM2Q5c1FreERkbStmdUhIKSgK
ekw3JE4lYndvdkhaaSFDZDVAOUdgeDY/dlRQcD5CMUFHME45I21NZFV0WWI+K0J6SWNXYD5SU3lk
VW9lSiZvc1AqCnorJCZHY1hJVHlXRFpuV1hoMk5ia0BDV1dwdUZeaXw4N3IjOHhNdSZrNGspNmNQ
bEE7ZD9XMXJaWXVmeXVoOT9BQQp6WWomJXFwS1M5VjJ5cV9EJkZFSDU5WFQ2TnUpPkhWUU9TcVZU
MXpoWGJoSkxCRWhxKCVAeyRjTCU8TUt1U3hLQjsKekNaM1R0JHNkZHxiRmN7QCpWXmNuTTlhcjht
JEdke293cUJ9QE9AZkc1YTN3QkJ4YXRFRUFjJnoobVRCY0IkMjRFCnpVKmB7QTBYOGtMZCF3a0Jk
NzBoJGFReDlpZTRnRVQrcEdUdml7fXVLI3BONlBGMF40ZjFJN09DRztHKnFgN29WKAp6OE9AbjlL
ISF0fkhxJVJ3VWkrV1J5JF93aEUzeVombUlZbk52P0NVNnc7KUhuS3xieiVpSCRzenk/dF9KJipS
RzsKemkoejYlYDJITmxIKmJOeDByb1MjYz5+ViM7ODNwQCYxalVnR01iUyZpNFNkPkNkSkgjTD5u
ZFh4d2p2Y0dEPWMkCnpaJUdrU3c2QWRlVUhJJDZjdShHemh+ST0+YTRNcU9zIW8lQCs7T2UkP0Bw
S2NgfiVjXlExaHJoR1pNVjsjc1lYRgp6MHBSVlBrZ0xCO1U4REk5SDhzQ0ZII2I5SVpvcXk8SF93
cFokdGVfQHhwaiNGVXE8eTRhXipjc2I/fHlaUj1hMGUKentne3hQVk4tQk1RMSthJHhqZz5BRlIo
eEZyZWNTT3dNdXFJWEU2ITtHZ1h6I3cpb05pPU9YanhgX3tVNTdRQyFaCnpaVkd4dUFId1ModDcq
bGd4YHt4YShKSjdeSmU7MFZ6bDtTM3s5NlJAU2d7fTh6YkZrMnleXyVCPkJlWD9HYnV8Twp6Iz5H
Y2w8VjZDMGV9R2pRdlRhUUdTMVNJZlhiLTUya2hCSipmYXFIcF5VKz1PJERBTEA1NnI/KWdgbztW
XipkWikKenNReCNFe2VLNDQ5ZHc5WDBmPVpeVElza25SMEhTfihDLVE0b1J0dHVFNmdObXNEJmBo
M2V1NlRGWTNReV95PldoCno2SlpSKTc9fCRuVnxXP3VaRmtXamtffHZtZXolOTsob2hZZFE/TFdZ
MSRFNTgoaDRoT0ZieD1sVkdhPHJZWUg4SQp6VkU5KThRfEd9TGhBfDlkN3s+NTIhWjMqcmsoPmE2
Q0ZmUT9Tc0pQbGJQNnRANytBJURUVXVlUU4yTXpqIWB2WUsKel8/Qz1ARiNIYiRyY1EpMDN9WUNe
RnBTfTRneUckS1JQcz5+eGV9eD0xKUJDTzRPTTtJUFghTjFnS0Y9YXtNZyZsCnpoODheeXZvS1Up
c0tRVyVwfUxIcVlFT3FxQiFGU1J7fnhKS0wpREs/ITN6ey12WmZvQlIrI0xmUTVKZnt6ejVRZQp6
Ul94KmJoR0R2bUV7dElxISFVK24zQDstTEpKQkgkYGQ+dEstQ0dZVzRiPm56ZyNie2JnIXI2WFRD
dFNeclU4UjYKekVDfUxBMCh5b1ghKm0zdSZWdy13VjtJSVRqTnhVM1ZPS2d0M0lQYk5le21zdlh7
ZChMRFdJOTM+czJPflJeWHpqCnpiZnNjZzFmPUdMKllfPUFgMG9VIVBKfVRHVjtJSVRqTnhVM1ZO
V19sdF55RjtUKWJPb1h7YThjUT4rRkd7djhrYwp6bVI4c3YxPUR+KnlJfX53Skxjbn5NRX5Raita
WSZONDhzX1BGJGBtUDhEViUyOVV7ZDVCRFdedFBiPntwIV8jMEkKekZiSndeS3M/enNnYHxKUEtw
aDBgYCRpWHJEaHlRXnN4VlpTNW1YJmQoO3heVDY4YlltcU5MSkNPR0RNNFA5WHNsCnppN0xxNz59
XmRpe2A/LTJBZjVkZG5laklhZTx2Xz9COCpgZSEhVStuM0A7LUx5VS15TDF0NiUjN1QmIXloSikh
OAp6UWIxdXBLYlgwKyFtXlB7U0wkdzk4bDtXZVZAclF4XyFrMEdDJkN6cEYkYGxFI18lJTJ1c2E8
aChFeCghKW19X1gKekxwN1hFdUApJUNVI3R2U1QweXUyclU4Uj8tME1KTyt8a29TI3FocnFtXnUl
fUZwT2FzISFVLUk1cikwIzVHZXk3CnpJSl9UMlNzSlEoZ0glPmhwKCtjflQlPE1NJiVHXmVZfCZG
TzNxdXUjRGh5UV5zPj10ZSV0bkpXMDdDbXRJZ215JgpMeTBURkorVCpfZjUqVThvCgpsaXRlcmFs
IDAKSGNtVj9kMDAwMDEKCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMv
d2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZXNvdXJjZXMvbnBvdC12aWRlby53ZWJtdnA4
LndlYm0gYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS9yZXNvdXJjZXMvbnBvdC12aWRlby53ZWJtdnA4LndlYm0KbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDcy
NzdiZGFhYzFmNDdmODAzYmJlNjk2OTEzYTUzZmEyODU0OGY1OQpHSVQgYmluYXJ5IHBhdGNoCmxp
dGVyYWwgNTEyNDAKemNtZUk1NE53JjQ4T0x7emxMTXBTcGxVRW1MRFoyZDV0UjU8c1Q+JXBDTGx5
S0FWdDlfZW53XmQwKEM2NjJkRmllCnooOXhze2h9VTNaakhyaE1sMHIhNmhoVXYoQFQxeUI0ZnF1
cktTNUNgTVh0Tj1GMCR8QmVjeTJrYmVZY01PcnJuIQp6eHR5OzVJY3xUP2I5Km1fKjV2YVhgciNS
fVM+UXQraX5ycGheZFMhZnJ3fmhlYV5qb0lMJChPSWtQSmNSOSVXdTYKenxKSkdvKllLUCpyaXRO
WVokfStXPz5wX2whbChrRkNjRz9ETyNObWFVS1VrZztlRiplRnNlKzdmMngrRmJldEhnCnpPdCtO
PmVOVFN1WnVXb2F1Y1o2fGdOSSl6T21oaF9nYDN8Rm80MFBebjkoRTBqdndoQzlqczJQX2hsVW9K
dX5qRAp6YkdrIUFeSyh2QmN7WDJwPHVfWVJtJjRGc09GQVJVN1lqWUN7MzdzenpeXl9nQFZOciNV
N1ZZaXhNST1majVwJW4KemgjYTNMQFBuX1ZyU21QO1MrJmFWSFFGcV5mMm0tYkRnOFdDe0R0U19s
Qz81M0szNkFqYE44bzUkQzxPLXhqcD1GCnpmOE5HJTJCKGFTdHJfV0NJbT57V2NkbVVMUkZUVDle
RyRLN2ItQ0ZpQ2RsaDZ6Sj5xSmVyak49THo2P2NMeU11dwp6clFVTzg+eVpjTjk0e0ZmXytSXzNK
SmhoQ0dDQXQmRlhyeUpjeCRadjJlV218KXk3amQqU3tCLTxpNVVpUV5lP28KejRVNDgkbmNZTHo/
b0tIV0Q5eEBwPSN0KmtGWU5DQS02X2RLMWc+KDsxSFR0T059aiYwSWRBZVFPWCVpKlQ7YntfCnpP
ZFMlbHtRYzRvbVUjJCtQWCZ4Ri1FOzJ6cVg4YWdDbSM1SXVIVVJBeDQ+JXdCTXd9UypjWkRsSTt1
MTtAb012Ugp6dUdNWlk5dUB6Nm5aMmZAWDRVRFAqTV9WKHZ9ZVRCbShNKEdLM2ttcVpKKHlDVz5j
enR1SEY5SzxDVXcxUm93Z1kKekB5eUBiVWkkMEcqczE9TilfMSVmYUwoU2wlVip2YDg5d3JGJEJ2
fTc5QDgoNThnK0JeNj9lQj9Dd3I5fiRUMFgrCnpwOHNnY14rVDFyP1Q9Mj5eRk9iZkpMQzQ4dENR
K1dgTkNLRSFYZipvUlBVPyFxd31NcC08YEMte19aWD1VO0prcAp6I1FqI3NJVHxsPD93b3MhVW5B
I2EqMmhuK0VqcXk9SSs7bHFGbG1OTkU2ODdZemY1PEw+MmFCXkE9NGpac18mRCkKeiV9ZTtJbilC
dmRIeDBJWTxBZVVwe0J0c21CT2M1OSVHNS1yO1dHNmgpMEh3NiYoeDMzbURwODIzJWM1K1VGOGQ8
CnpeVW9RYjI8SmFuO0xwbGJQb3xBNXNfVjw3PENydnROIUtmcyppfkgpXlZseiNeZkhzJD1+VjJo
Z0JOdFFPU3xlMgp6T2g1bSpnMlF8IU89cj4lblk0O1l8SC0weVhOM35Hc3ZwNVRIakdKXkd3SGlA
RHQxK0dnUlhYSVNNe2dxPVJhNF8KektWWj13ZVZCOSVsU1ZVWDNYfD91RDZ5K08lOXpKcVYkdnJw
PmdZK1FWcGtuYShBNiZPc15kS1JgT2cmYCkwbEswCnpsT0FLekl1PG9KRzNuMH5PNjtvUEhSaUV6
RzNqPERKd201cVJ9SXpCKWhfTC1wQER3PmF8TmZMRnpMJW9JKlVuQAp6blJGTUV7ejBMe3R+eTww
OV4xbUEmS150fU01UVYlKDV1ZWtvQiY/bmY5M0BeQmwmOElMdGNQTmtyJHYrPE9RZXsKemM+eVgj
VVZ1dUc3WjU0MnlSc0xjOVY+ZVFEbih2Xk58Nl5KUX1LQmd5ZyhOX3RUcnp8P2thY3p3Yjlkbzd0
cXdWCnpmKWBNP1E0ZTBBOF94IzczI2h4PTFIMz50P2thY3pieXA0RzEtZnhwITMoSW4rNmk5M3dX
LWVIUnNtaUJ5Wn58Ygp6JVJQZV47RW0mbiRJNCFTTnw2XyFRc2YyNUcmbCUoZnFxWVNUZWN7PkVl
O2w0PEhDJDRtI2F0U0hhSWoxR2hCfVEKelJpcWsmJT1oZWRvU2k/eHd+Q3VCN3dpWEhDSXBeJGN7
SSNEP3x5M2ooJjQhbXhZPnZKaldPU0RKTXVudiZpZDFCCnopMn5JVzQ/MH5gZEVlOVdfNGJjSGBC
I0VSK15ldy1lWXdYd28oemFjRn57bTI2JkNsNl92SEArLU8mNDhEc0w+QQp6fDdIMGN4N3YkVW4+
S3Z2PGtrTzxIIyl3IV93MmdeKGN6eDEpP3hpa3pxb0ZucVRkO308bGVDNnVeLSRxeDd1NDkKenJr
M0JjS2tTe24pXyZpMj07MiM2YHtPXnEtKX5GbiM/WnNySFJuKDQkZ3x2ZnZaYn1ieyR6T0M8PHlw
KCZDekVQCno7fGV4cEE2PmtFUU02eSkqYGlOQVp+YkBieFVeUXp6Ml49MFFLTSR+MjR+a3EqbmhR
bFJgWm0rYEw/c208RUktdQp6YjhFNT1VK0k3MT9ETE1vIV9VSUBTYCZtIUZMJGY3b2chY04+dUNS
U1hkaSR8KExSOUE3KWJuQW0taGp2Nnp2MDAKekRjVDMxUW5VfUNxY3wjZ0FBb3UrKzZTT2d2PTJh
fj0oP1h3I1YkKHcwTU53X2JXeSZwQyFnUThjfFZuK2N8Vm4rCnpjfFZuK2N8Vm4rY3xWUUheTHw8
djwjfDgjU1R5Z2FRZ21IVXJEKXp5cmVZVlJjfFVacTE2YERfK3NXcypaSndfKQp6bEQ2MSMxJG13
P2M3cGk0KmFPWTtzVDlyZ3NUOXJnc1Q5cmdNTWB3e0A7c2s8RVNsJDJEWXxaX1FGKSRFcmVZVlIK
emN8TFRwMTZgRF8lZ05gclpDKzJNWGtKZ0hYa0pnSFhrSmdGXjFQbCgoWSMpeSM0Z0o3ZGdgJWdV
UWVheXh8fllVCnp5cS0rT0U9dSF5PXdiKURDfGBHeiZ1YG0ybz1WWD9vPVZYP289Vlg/bz1WWD9v
PVZYP1VabGg+JUpYPll2MWxHbwp6cXc7ayhtNztrKG5UbE8+UEprfFU9LVMwdWtvRnpPPVFtZXkm
UyVvVUZ6RjJ6P1AqfEFBMTBscVArfUsqRUBLez4KeiQpdHl2XmN5Tnwtd2twN2QhNUNAbU0/Wndk
ZH48dlBqPXZXUWhyWWV0KClAaDJiSDRUND1QMndBNUBCVktkMlAjCnplbyFmTEpSJjdfUXtNZmM5
VjxIP0RuKldtTnxFQ3NRP1pORT9ndzxTMTZeISRKbWwqVWRBRWFuX0MtSVdJM0R0YAp6Wkh8WFI2
fnt4TmlzUFpzWEwzQjBWLT8za3BeRD83UHtyfChzTXRrdEpSUzZuWkh8WEBlJWw9bmcoe0FSTEtW
a0QKenBeRD83UHtyfCg+OWFXPSVDVTskcC17IX5QXmpXfk5MMWAxSUd6cjZ2Q1orMiZUcVRwQXlh
VFg/ZWo7bWl7Ti1WCnoqaE8kVz9TMEE+PGxQSX1ZWjMhRW8tVW1VZzV5emw1Z2Q8fV5KI0VBPk1y
KXw5TE04aDE7XjZ+eUEkQWUpWk9JNAp6QHBPWWQ5YGUtK0kzOUlWPEBmSzlVdE5PWj5HKTA9STM5
Snw8b0Q7MCthXzhEYTZEYWxFZCEyNi05YEVSSD8lSW8KejkjN1pxK0pmVXpjTSUrcW1lPHdiYytf
MTQkRD9IeiFTU2ZPKmghOGpBUFhFMUkzRFZ+VTFfZllWVU1UI3pnRyghCnprTXp6cDlxalJGPW9g
V0RzSn59fTxJKGM8QlJDIyk3czJzcCorcDxYPk1ueGcoWHh4K2MrXzE0JEQ/SHohU1NmTwp6Kmgh
OU9re0tLaUkzOTMzfEErVkUwbWxRNU45JWgtZiNYcXMmaiFiJTw/QmFxSm5BbGo8SSVFPDtDUiRz
MWpuT2cKejdzMnRVeTlrYSklUHhaQlFGcFBFOU03flFhNkk2NiEwfnxOa3cyTG0/I0pgPXYoQDNm
VEpUPTJBQWZkeitkWUBiCnoyMn5JRDxCQEo8LSExUCY0fnxGdWBWa3pEbWUoQGljK18xNCREP0h6
IVNTZk8yIyFhfkVgc0F4Y2Q/VGsmckk/Mgp6eFokNDU5c1ZwTXhGMyhZbj5eZilONWw4V3omKTRN
VTQteylZNTZASF9JVDc/Z2dxV0R5OWthKS05Pk9iVDZQZn0KemtHaE5DYyhtKnlJMzlIdSFTUUk+
TVF9WG9FX1JhUmlIYCl3MUE5RU0jeyt2anUqVmJRKlRefXdLZ1lyejVBNTs0Cno5P3lWPzZtelda
UURKZjRjd2hjTiY8KHhjclNpcy1gQ3BkTGFqVSZwd1Ewa3JQRzBAKmN3ZFdIQTlUOTdfdzJnXgp6
eVlHRjwhMTEme3d+M3p5NTEqWmA7VCM0V2tHaE5DYyhsQigyRklpQkF+K3JgeTlrYSktTmpDRkpX
RWFCYyk7PDEKejt7bkc1anQzbDFPVX54I0dsXzhwOD91aXMtb0wwNW8pPSt7TkJ1bjtfSVJ7PntS
b2FuLTk+T2JUNlBmfWtHaE5DCnpjKG0qeUkzOUh1IVNRST5NUX1Yb0Y4PGUhWEpBeT5HTTx4dT1v
Z2VfNzc1JkVUT0pGMWdONUh6dyFPJjBYSk9JNwp6M3lYUmk3OUNBa0cqbn5KSVlFaThKRWdET3Zt
VDRSJXZnTmhoKCNBRzdHMz9aPXZKWWBLP1R4Uj9ofWN7ek9gNjwKekFxazg5SVZgQElnfmZxaFNv
RStkRn5CQjBrZiNaWVVlI0ZpUFFjPmVkTXBrI1Z7dz1maSN9RSpoTjUjZCsjaWMwCnpEek54Y0Jv
O14zViRuWWRpPSNPIzI0cEVRSXp7PiRqcSQ/YlNRezN7bzNKPmM4akJNWHVvemc2I1l0dSpFe1Qm
Swp6JFlqSn51b2E3d3tqdkI7MXJ+bzlpTnpfa1NlJXhtI0VtQkRmbk1YVjc/eT5fPjBWZmp1d242
YTZCY0p3Vnt2QUoKejYxTllMOSV4b1E3TmdCcm9OZEhudFFDdUt7I2N3LWZ5TVlwQ0dLXlM5dz95
fWkqRmBqYVJHPEwjNEljPl4xfFhgCno4eTEoRWx4VnZ4Sjx6Z2hFR3wjTDspOzRLQ1lpQ2clODEz
KSl+Q0BtSlpGdmtlOFlWaFVYfmVrRnhfKTwkPWF2XwpxQGQqY3V0fjs/ZnJ+ciFySFl8cVh6ZDFT
dXFmNnFqeFkyfmc/TClBKio5bldaK3k0UXFIUTxeNgoKbGl0ZXJhbCAwCkhjbVY/ZDAwMDAxCgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMv
Y29uZm9ybWFuY2UvcmVzb3VyY2VzL29nbGVzLXRlc3RzLmNzcyBiL0xheW91dFRlc3RzL3dlYmds
L3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3Jlc291cmNlcy9vZ2xlcy10
ZXN0cy5jc3MKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNDIyNjljOGI2MDQxOTkzMjBkYjRhMGUxNjU5ZjcxOTJmNDVj
NzE1OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJn
bF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3Jlc291cmNlcy9vZ2xlcy10ZXN0cy5jc3MKQEAgLTAs
MCArMSwzMCBAQAorY2FudmFzIHsKKyAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7CisgIGJhY2tn
cm91bmQtc2l6ZTogOHB4IDhweDsKK30KKworLnNoYWRlci1zb3VyY2UgeworICBib3JkZXI6IDFw
eCBkYXNoZWQgYmxhY2s7CisgIHBhZGRpbmc6IDFlbTsKK30KKworLnNoYWRlci1zb3VyY2UgbGk6
bnRoLWNoaWxkKG9kZCkgeyBiYWNrZ3JvdW5kOiAjZjhmOGY4OyB9Cisuc2hhZGVyLXNvdXJjZSBs
aTpudGgtY2hpbGQoZXZlbikgeyBiYWNrZ3JvdW5kOiAjZjBmMGYwOyB9CisKKy50ZXN0aW1hZ2Vz
IHsKK30KKworLnRlc3RpbWFnZXMgYnIgeworICBjbGVhcjogYm90aDsKK30KKworLnRlc3RpbWFn
ZXMgPiBkaXYgeworICBmbG9hdDogbGVmdDsKKyAgbWFyZ2luOiAxZW07Cit9CisKK0lNRyB7Cisg
IGJvcmRlcjogMXB4IHNvbGlkIGJsYWNrOworICB3aWR0aDogMjUwcHg7CisgIGhlaWdodDogMjUw
cHg7Cit9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9jb25mb3JtYW5jZS9yZXNvdXJjZXMvcG5nbGliLmpzIGIvTGF5b3V0VGVzdHMvd2Vi
Z2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVzb3VyY2VzL3BuZ2xp
Yi5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5kMmE5Yjk5ZTA4NWNhOTgwMzJiNTY1YmViNzhkNWU2Y2E4ZjZlYzEy
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rl
c3RfZmlsZXMvY29uZm9ybWFuY2UvcmVzb3VyY2VzL3BuZ2xpYi5qcwpAQCAtMCwwICsxLDIwNyBA
QAorLyoqCisqIEEgaGFuZHkgY2xhc3MgdG8gY2FsY3VsYXRlIGNvbG9yIHZhbHVlcy4KKyoKKyog
QHZlcnNpb24gMS4wCisqIEBhdXRob3IgUm9iZXJ0IEVpc2VsZSA8cm9iZXJ0QHhhcmcub3JnPgor
KiBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAxMCwgUm9iZXJ0IEVpc2VsZQorKiBAbGluayBo
dHRwOi8vd3d3Lnhhcmcub3JnLzIwMTAvMDMvZ2VuZXJhdGUtY2xpZW50LXNpZGUtcG5nLWZpbGVz
LXVzaW5nLWphdmFzY3JpcHQvCisqIEBsaWNlbnNlIGh0dHA6Ly93d3cub3BlbnNvdXJjZS5vcmcv
bGljZW5zZXMvYnNkLWxpY2Vuc2UucGhwIEJTRCBMaWNlbnNlCisqCisqLworCisoZnVuY3Rpb24o
KSB7CisKKyAgICAvLyBoZWxwZXIgZnVuY3Rpb25zIGZvciB0aGF0IGN0eAorICAgIGZ1bmN0aW9u
IHdyaXRlKGJ1ZmZlciwgb2ZmcykgeworICAgICAgICBmb3IgKHZhciBpID0gMjsgaSA8IGFyZ3Vt
ZW50cy5sZW5ndGg7IGkrKykgeworICAgICAgICAgICAgZm9yICh2YXIgaiA9IDA7IGogPCBhcmd1
bWVudHNbaV0ubGVuZ3RoOyBqKyspIHsKKyAgICAgICAgICAgICAgICBidWZmZXJbb2ZmcysrXSA9
IGFyZ3VtZW50c1tpXS5jaGFyQXQoaik7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9
CisKKyAgICBmdW5jdGlvbiBieXRlMih3KSB7CisgICAgICAgIHJldHVybiBTdHJpbmcuZnJvbUNo
YXJDb2RlKCh3ID4+IDgpICYgMjU1LCB3ICYgMjU1KTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBi
eXRlNCh3KSB7CisgICAgICAgIHJldHVybiBTdHJpbmcuZnJvbUNoYXJDb2RlKCh3ID4+IDI0KSAm
IDI1NSwgKHcgPj4gMTYpICYgMjU1LCAodyA+PiA4KSAmIDI1NSwgdyAmIDI1NSk7CisgICAgfQor
CisgICAgZnVuY3Rpb24gYnl0ZTJsc2IodykgeworICAgICAgICByZXR1cm4gU3RyaW5nLmZyb21D
aGFyQ29kZSh3ICYgMjU1LCAodyA+PiA4KSAmIDI1NSk7CisgICAgfQorCisgICAgd2luZG93LlBO
R2xpYiA9IGZ1bmN0aW9uKHdpZHRoLGhlaWdodCxkZXB0aCkgeworCisgICAgICAgIHRoaXMud2lk
dGggICA9IHdpZHRoOworICAgICAgICB0aGlzLmhlaWdodCAgPSBoZWlnaHQ7CisgICAgICAgIHRo
aXMuZGVwdGggICA9IGRlcHRoOworCisgICAgICAgIC8vIHBpeGVsIGRhdGEgYW5kIHJvdyBmaWx0
ZXIgaWRlbnRpZmllciBzaXplCisgICAgICAgIHRoaXMucGl4X3NpemUgPSBoZWlnaHQgKiAod2lk
dGggKyAxKTsKKworICAgICAgICAvLyBkZWZsYXRlIGhlYWRlciwgcGl4X3NpemUsIGJsb2NrIGhl
YWRlcnMsIGFkbGVyMzIgY2hlY2tzdW0KKyAgICAgICAgdGhpcy5kYXRhX3NpemUgPSAyICsgdGhp
cy5waXhfc2l6ZSArIDUgKiBNYXRoLmZsb29yKCgweGZmZmUgKyB0aGlzLnBpeF9zaXplKSAvIDB4
ZmZmZikgKyA0OworCisgICAgICAgIC8vIG9mZnNldHMgYW5kIHNpemVzIG9mIFBuZyBjaHVua3MK
KyAgICAgICAgdGhpcy5paGRyX29mZnMgPSAwOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIElIRFIgb2Zmc2V0IGFuZCBzaXplCisgICAgICAgIHRoaXMuaWhkcl9zaXplID0g
NCArIDQgKyAxMyArIDQ7CisgICAgICAgIHRoaXMucGx0ZV9vZmZzID0gdGhpcy5paGRyX29mZnMg
KyB0aGlzLmloZHJfc2l6ZTsgICAgLy8gUExURSBvZmZzZXQgYW5kIHNpemUKKyAgICAgICAgdGhp
cy5wbHRlX3NpemUgPSA0ICsgNCArIDMgKiBkZXB0aCArIDQ7CisgICAgICAgIHRoaXMudHJuc19v
ZmZzID0gdGhpcy5wbHRlX29mZnMgKyB0aGlzLnBsdGVfc2l6ZTsgICAgLy8gdFJOUyBvZmZzZXQg
YW5kIHNpemUKKyAgICAgICAgdGhpcy50cm5zX3NpemUgPSA0ICsgNCArIGRlcHRoICsgNDsKKyAg
ICAgICAgdGhpcy5pZGF0X29mZnMgPSB0aGlzLnRybnNfb2ZmcyArIHRoaXMudHJuc19zaXplOyAg
ICAvLyBJREFUIG9mZnNldCBhbmQgc2l6ZQorICAgICAgICB0aGlzLmlkYXRfc2l6ZSA9IDQgKyA0
ICsgdGhpcy5kYXRhX3NpemUgKyA0OworICAgICAgICB0aGlzLmllbmRfb2ZmcyA9IHRoaXMuaWRh
dF9vZmZzICsgdGhpcy5pZGF0X3NpemU7ICAgIC8vIElFTkQgb2Zmc2V0IGFuZCBzaXplCisgICAg
ICAgIHRoaXMuaWVuZF9zaXplID0gNCArIDQgKyA0OworICAgICAgICB0aGlzLmJ1ZmZlcl9zaXpl
ICA9IHRoaXMuaWVuZF9vZmZzICsgdGhpcy5pZW5kX3NpemU7ICAgIC8vIHRvdGFsIFBORyBzaXpl
CisKKyAgICAgICAgdGhpcy5idWZmZXIgID0gbmV3IEFycmF5KCk7CisgICAgICAgIHRoaXMucGFs
ZXR0ZSA9IG5ldyBPYmplY3QoKTsKKyAgICAgICAgdGhpcy5waW5kZXggID0gMDsKKworICAgICAg
ICB2YXIgX2NyYzMyID0gbmV3IEFycmF5KCk7CisKKyAgICAgICAgLy8gaW5pdGlhbGl6ZSBidWZm
ZXIgd2l0aCB6ZXJvIGJ5dGVzCisgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5idWZm
ZXJfc2l6ZTsgaSsrKSB7CisgICAgICAgICAgICB0aGlzLmJ1ZmZlcltpXSA9ICJceDAwIjsKKyAg
ICAgICAgfQorCisgICAgICAgIC8vIGluaXRpYWxpemUgbm9uLXplcm8gZWxlbWVudHMKKyAgICAg
ICAgd3JpdGUodGhpcy5idWZmZXIsIHRoaXMuaWhkcl9vZmZzLCBieXRlNCh0aGlzLmloZHJfc2l6
ZSAtIDEyKSwgJ0lIRFInLCBieXRlNCh3aWR0aCksIGJ5dGU0KGhlaWdodCksICJceDA4XHgwMyIp
OworICAgICAgICB3cml0ZSh0aGlzLmJ1ZmZlciwgdGhpcy5wbHRlX29mZnMsIGJ5dGU0KHRoaXMu
cGx0ZV9zaXplIC0gMTIpLCAnUExURScpOworICAgICAgICB3cml0ZSh0aGlzLmJ1ZmZlciwgdGhp
cy50cm5zX29mZnMsIGJ5dGU0KHRoaXMudHJuc19zaXplIC0gMTIpLCAndFJOUycpOworICAgICAg
ICB3cml0ZSh0aGlzLmJ1ZmZlciwgdGhpcy5pZGF0X29mZnMsIGJ5dGU0KHRoaXMuaWRhdF9zaXpl
IC0gMTIpLCAnSURBVCcpOworICAgICAgICB3cml0ZSh0aGlzLmJ1ZmZlciwgdGhpcy5pZW5kX29m
ZnMsIGJ5dGU0KHRoaXMuaWVuZF9zaXplIC0gMTIpLCAnSUVORCcpOworCisgICAgICAgIC8vIGlu
aXRpYWxpemUgZGVmbGF0ZSBoZWFkZXIKKyAgICAgICAgdmFyIGhlYWRlciA9ICgoOCArICg3IDw8
IDQpKSA8PCA4KSB8ICgzIDw8IDYpOworICAgICAgICBoZWFkZXIrPSAzMSAtIChoZWFkZXIgJSAz
MSk7CisKKyAgICAgICAgd3JpdGUodGhpcy5idWZmZXIsIHRoaXMuaWRhdF9vZmZzICsgOCwgYnl0
ZTIoaGVhZGVyKSk7CisKKyAgICAgICAgLy8gaW5pdGlhbGl6ZSBkZWZsYXRlIGJsb2NrIGhlYWRl
cnMKKyAgICAgICAgZm9yICh2YXIgaSA9IDA7IChpIDw8IDE2KSAtIDEgPCB0aGlzLnBpeF9zaXpl
OyBpKyspIHsKKyAgICAgICAgICAgIHZhciBzaXplLCBiaXRzOworICAgICAgICAgICAgaWYgKGkg
KyAweGZmZmYgPCB0aGlzLnBpeF9zaXplKSB7CisgICAgICAgICAgICAgICAgc2l6ZSA9IDB4ZmZm
ZjsKKyAgICAgICAgICAgICAgICBiaXRzID0gIlx4MDAiOworICAgICAgICAgICAgfSBlbHNlIHsK
KyAgICAgICAgICAgICAgICBzaXplID0gdGhpcy5waXhfc2l6ZSAtIChpIDw8IDE2KSAtIGk7Cisg
ICAgICAgICAgICAgICAgYml0cyA9ICJceDAxIjsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IHdyaXRlKHRoaXMuYnVmZmVyLCB0aGlzLmlkYXRfb2ZmcyArIDggKyAyICsgKGkgPDwgMTYpICsg
KGkgPDwgMiksIGJpdHMsIGJ5dGUybHNiKHNpemUpLCBieXRlMmxzYih+c2l6ZSkpOworICAgICAg
ICB9CisKKyAgICAgICAgLyogQ3JlYXRlIGNyYzMyIGxvb2t1cCB0YWJsZSAqLworICAgICAgICBm
b3IgKHZhciBpID0gMDsgaSA8IDI1NjsgaSsrKSB7CisgICAgICAgICAgICB2YXIgYyA9IGk7Cisg
ICAgICAgICAgICBmb3IgKHZhciBqID0gMDsgaiA8IDg7IGorKykgeworICAgICAgICAgICAgICAg
IGlmIChjICYgMSkgeworICAgICAgICAgICAgICAgICAgICBjID0gLTMwNjY3NDkxMiBeICgoYyA+
PiAxKSAmIDB4N2ZmZmZmZmYpOworICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAg
ICAgICAgICAgIGMgPSAoYyA+PiAxKSAmIDB4N2ZmZmZmZmY7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgfQorICAgICAgICAgICAgX2NyYzMyW2ldID0gYzsKKyAgICAgICAgfQorCisg
ICAgICAgIC8vIGNvbXB1dGUgdGhlIGluZGV4IGludG8gYSBwbmcgZm9yIGEgZ2l2ZW4gcGl4ZWwK
KyAgICAgICAgdGhpcy5pbmRleCA9IGZ1bmN0aW9uKHgseSkgeworICAgICAgICAgICAgdmFyIGkg
PSB5ICogKHRoaXMud2lkdGggKyAxKSArIHggKyAxOworICAgICAgICAgICAgdmFyIGogPSB0aGlz
LmlkYXRfb2ZmcyArIDggKyAyICsgNSAqIE1hdGguZmxvb3IoKGkgLyAweGZmZmYpICsgMSkgKyBp
OworICAgICAgICAgICAgcmV0dXJuIGo7CisgICAgICAgIH0KKworICAgICAgICAvLyBjb252ZXJ0
IGEgY29sb3IgYW5kIGJ1aWxkIHVwIHRoZSBwYWxldHRlCisgICAgICAgIHRoaXMuY29sb3IgPSBm
dW5jdGlvbihyZWQsIGdyZWVuLCBibHVlLCBhbHBoYSkgeworCisgICAgICAgICAgICBhbHBoYSA9
IGFscGhhID49IDAgPyBhbHBoYSA6IDI1NTsKKyAgICAgICAgICAgIHZhciBjb2xvciA9ICgoKCgo
YWxwaGEgPDwgOCkgfCByZWQpIDw8IDgpIHwgZ3JlZW4pIDw8IDgpIHwgYmx1ZTsKKworICAgICAg
ICAgICAgaWYgKHR5cGVvZiB0aGlzLnBhbGV0dGVbY29sb3JdID09ICJ1bmRlZmluZWQiKSB7Cisg
ICAgICAgICAgICAgICAgaWYgKHRoaXMucGluZGV4ID09IHRoaXMuZGVwdGgpIHJldHVybiAiXHgw
MCI7CisKKyAgICAgICAgICAgICAgICB2YXIgbmR4ID0gdGhpcy5wbHRlX29mZnMgKyA4ICsgMyAq
IHRoaXMucGluZGV4OworCisgICAgICAgICAgICAgICAgdGhpcy5idWZmZXJbbmR4ICsgMF0gPSBT
dHJpbmcuZnJvbUNoYXJDb2RlKHJlZCk7CisgICAgICAgICAgICAgICAgdGhpcy5idWZmZXJbbmR4
ICsgMV0gPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGdyZWVuKTsKKyAgICAgICAgICAgICAgICB0aGlz
LmJ1ZmZlcltuZHggKyAyXSA9IFN0cmluZy5mcm9tQ2hhckNvZGUoYmx1ZSk7CisgICAgICAgICAg
ICAgICAgdGhpcy5idWZmZXJbdGhpcy50cm5zX29mZnMrOCt0aGlzLnBpbmRleF0gPSBTdHJpbmcu
ZnJvbUNoYXJDb2RlKGFscGhhKTsKKworICAgICAgICAgICAgICAgIHRoaXMucGFsZXR0ZVtjb2xv
cl0gPSBTdHJpbmcuZnJvbUNoYXJDb2RlKHRoaXMucGluZGV4KyspOworICAgICAgICAgICAgfQor
ICAgICAgICAgICAgcmV0dXJuIHRoaXMucGFsZXR0ZVtjb2xvcl07CisgICAgICAgIH0KKworICAg
ICAgICAvLyBvdXRwdXQgYSBQTkcgc3RyaW5nLCBCYXNlNjQgZW5jb2RlZAorICAgICAgICB0aGlz
LmdldEJhc2U2NCA9IGZ1bmN0aW9uKCkgeworCisgICAgICAgICAgICB2YXIgcyA9IHRoaXMuZ2V0
RHVtcCgpOworCisgICAgICAgICAgICB2YXIgY2ggPSAiQUJDREVGR0hJSktMTU5PUFFSU1RVVldY
WVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLz0iOworICAgICAgICAgICAg
dmFyIGMxLCBjMiwgYzMsIGUxLCBlMiwgZTMsIGU0OworICAgICAgICAgICAgdmFyIGwgPSBzLmxl
bmd0aDsKKyAgICAgICAgICAgIHZhciBpID0gMDsKKyAgICAgICAgICAgIHZhciByID0gIiI7CisK
KyAgICAgICAgICAgIGRvIHsKKyAgICAgICAgICAgICAgICBjMSA9IHMuY2hhckNvZGVBdChpKTsK
KyAgICAgICAgICAgICAgICBlMSA9IGMxID4+IDI7CisgICAgICAgICAgICAgICAgYzIgPSBzLmNo
YXJDb2RlQXQoaSsxKTsKKyAgICAgICAgICAgICAgICBlMiA9ICgoYzEgJiAzKSA8PCA0KSB8IChj
MiA+PiA0KTsKKyAgICAgICAgICAgICAgICBjMyA9IHMuY2hhckNvZGVBdChpKzIpOworICAgICAg
ICAgICAgICAgIGlmIChsIDwgaSsyKSB7IGUzID0gNjQ7IH0gZWxzZSB7IGUzID0gKChjMiAmIDB4
ZikgPDwgMikgfCAoYzMgPj4gNik7IH0KKyAgICAgICAgICAgICAgICBpZiAobCA8IGkrMykgeyBl
NCA9IDY0OyB9IGVsc2UgeyBlNCA9IGMzICYgMHgzZjsgfQorICAgICAgICAgICAgICAgIHIrPSBj
aC5jaGFyQXQoZTEpICsgY2guY2hhckF0KGUyKSArIGNoLmNoYXJBdChlMykgKyBjaC5jaGFyQXQo
ZTQpOworICAgICAgICAgICAgfSB3aGlsZSAoKGkrPSAzKSA8IGwpOworICAgICAgICAgICAgcmV0
dXJuIHI7CisgICAgICAgIH0KKworICAgICAgICAvLyBvdXRwdXQgYSBQTkcgc3RyaW5nCisgICAg
ICAgIHRoaXMuZ2V0RHVtcCA9IGZ1bmN0aW9uKCkgeworCisgICAgICAgICAgICAvLyBjb21wdXRl
IGFkbGVyMzIgb2Ygb3V0cHV0IHBpeGVscyArIHJvdyBmaWx0ZXIgYnl0ZXMKKyAgICAgICAgICAg
IHZhciBCQVNFID0gNjU1MjE7IC8qIGxhcmdlc3QgcHJpbWUgc21hbGxlciB0aGFuIDY1NTM2ICov
CisgICAgICAgICAgICB2YXIgTk1BWCA9IDU1NTI7ICAvKiBOTUFYIGlzIHRoZSBsYXJnZXN0IG4g
c3VjaCB0aGF0IDI1NW4obisxKS8yICsgKG4rMSkoQkFTRS0xKSA8PSAyXjMyLTEgKi8KKyAgICAg
ICAgICAgIHZhciBzMSA9IDE7CisgICAgICAgICAgICB2YXIgczIgPSAwOworICAgICAgICAgICAg
dmFyIG4gPSBOTUFYOworCisgICAgICAgICAgICBmb3IgKHZhciB5ID0gMDsgeSA8IHRoaXMuaGVp
Z2h0OyB5KyspIHsKKyAgICAgICAgICAgICAgICBmb3IgKHZhciB4ID0gLTE7IHggPCB0aGlzLndp
ZHRoOyB4KyspIHsKKyAgICAgICAgICAgICAgICAgICAgczErPSB0aGlzLmJ1ZmZlclt0aGlzLmlu
ZGV4KHgsIHkpXS5jaGFyQ29kZUF0KDApOworICAgICAgICAgICAgICAgICAgICBzMis9IHMxOwor
ICAgICAgICAgICAgICAgICAgICBpZiAoKG4tPSAxKSA9PSAwKSB7CisgICAgICAgICAgICAgICAg
ICAgICAgICBzMSU9IEJBU0U7CisgICAgICAgICAgICAgICAgICAgICAgICBzMiU9IEJBU0U7Cisg
ICAgICAgICAgICAgICAgICAgICAgICBuID0gTk1BWDsKKyAgICAgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHMxJT0gQkFTRTsK
KyAgICAgICAgICAgIHMyJT0gQkFTRTsKKyAgICAgICAgICAgIHdyaXRlKHRoaXMuYnVmZmVyLCB0
aGlzLmlkYXRfb2ZmcyArIHRoaXMuaWRhdF9zaXplIC0gOCwgYnl0ZTQoKHMyIDw8IDE2KSB8IHMx
KSk7CisKKyAgICAgICAgICAgIC8vIGNvbXB1dGUgY3JjMzIgb2YgdGhlIFBORyBjaHVua3MKKyAg
ICAgICAgICAgIGZ1bmN0aW9uIGNyYzMyKHBuZywgb2Zmcywgc2l6ZSkgeworICAgICAgICAgICAg
ICAgIHZhciBjcmMgPSAtMTsKKyAgICAgICAgICAgICAgICBmb3IgKHZhciBpID0gNDsgaSA8IHNp
emUtNDsgaSArPSAxKSB7CisgICAgICAgICAgICAgICAgICAgIGNyYyA9IF9jcmMzMlsoY3JjIF4g
cG5nW29mZnMraV0uY2hhckNvZGVBdCgwKSkgJiAweGZmXSBeICgoY3JjID4+IDgpICYgMHgwMGZm
ZmZmZik7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIHdyaXRlKHBuZywgb2Zm
cytzaXplLTQsIGJ5dGU0KGNyYyBeIC0xKSk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAg
IGNyYzMyKHRoaXMuYnVmZmVyLCB0aGlzLmloZHJfb2ZmcywgdGhpcy5paGRyX3NpemUpOworICAg
ICAgICAgICAgY3JjMzIodGhpcy5idWZmZXIsIHRoaXMucGx0ZV9vZmZzLCB0aGlzLnBsdGVfc2l6
ZSk7CisgICAgICAgICAgICBjcmMzMih0aGlzLmJ1ZmZlciwgdGhpcy50cm5zX29mZnMsIHRoaXMu
dHJuc19zaXplKTsKKyAgICAgICAgICAgIGNyYzMyKHRoaXMuYnVmZmVyLCB0aGlzLmlkYXRfb2Zm
cywgdGhpcy5pZGF0X3NpemUpOworICAgICAgICAgICAgY3JjMzIodGhpcy5idWZmZXIsIHRoaXMu
aWVuZF9vZmZzLCB0aGlzLmllbmRfc2l6ZSk7CisKKyAgICAgICAgICAgIC8vIGNvbnZlcnQgUE5H
IHRvIHN0cmluZworICAgICAgICAgICAgcmV0dXJuICJcMjExUE5HXHJcblwwMzJcbiIrdGhpcy5i
dWZmZXIuam9pbignJyk7CisgICAgICAgIH0KKyAgICB9CisKK30pKCk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9y
ZXNvdXJjZXMvcmVkLWdyZWVuLm1wNCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJn
bF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3Jlc291cmNlcy9yZWQtZ3JlZW4ubXA0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjRiZDZkNTk2NTg5MDZkMjM1NjZmMWFhMTQ0NDNjM2RjMWVhYjQ2MTAKR0lUIGJpbmFyeSBw
YXRjaApsaXRlcmFsIDkyMjI1CnpjbWVJNTN2PzlLOE9RSkpHeUJMVUs7RDJSQWM3VzR3MiV9TDVg
a0p1M0FMcz90VilTJkI5dyVYWXpQa3BFPVUhUQp6UjFzPlMwcEhYSXdsb297Y3U/eVJENlBlNEtA
MjR8SzlXWWs5Kn4xUGk9PW13KDlMfUZXcWFxYFBFWEoyd30od08KenxMbnx2enUoUmBjamlBZzN1
NyM7cS14Plp2YmpVQSkyP1FQYHVBQ3BALW9JKVR1RWhkRzFHM3B4LTQ4JkM0UDRKCno2MjtlZTVB
IXYmRnFWOWRGJjdzPyRmTm5obGRxVmBuM0hMYFFhNH5GUGFKVyt1enY2RElqYWpzRXh0ZUhqc1h1
Twp6e0M0I3tpP2wtblVFZXNKKGZybzJtc2FnOWRIPEYjN3U+JlVSbXRGY1BuPjthPVplN1U9OTFI
b3g2UGgteE93eGkKenlsPyReKHVgWSF3WT9ffXglPFI3WiFMWGN7ZyZzQ28qZD5xXjUtM0lUdDBR
ZSloQ0NaYDEtcmA7fEtIQkBBWnV6CnpKPzZjSXA0TWxhUXx8aUIpUT5MQyU1aCMqZFU/cVFJZzFZ
NnxMcmRgV3xzfW1KM3NDNHIqRkI+Qjw/ITI/NWtsXwp6eHdyVEdTI0M9RHJubUF9alF3NUNtVypl
MmghXmVmV25VXkx6aVRtPlN2OU8+I0txT3k4eiReblNlX0JzdXN6YikKemxzS3FtPWlsQj1Vd0VT
Vj9KdGJXQH4rRVhvPmltOCVAQG49dDhnfnZ3NE9VJCZ4WXNzOCFfQD07a3QlWDdYfmpkCnpGOFQm
c2JmeFR+bmdQRlhieDZCdmhHTythPHl+UXxQSSpeWXQ1ZSQ1MGMmK2h5RTxVNHUyYDtGaUVqMnBA
M3VGQAp6bj8kIXgwPVhPMVAlSSotV2BNYUh4TExISyVwPEMxVCZrUHVUIUtuYSU+LTt2c1EreiUl
QmNUc3BzRVVXRzNgeyUKej99fkUmUn0pbz9zIyZ3NVIxI0QoRjRne3o1TDY1Kkg7WXlqSXtycyEo
V1ooKFFJJUFvRX17TjZ6WGkoVUtjeTtXCnpzTElGeF5KIUJ4USZzSyVNUGlsRnB4cHJqV1Zke2oz
ajxfI3RTSHl1PlZ5SFpON35nMTE3d2Y5RTNETms/K1I9Ngp6TzFydlh0I1EoPkU/OEB2eWVxOExD
K2BZdF5+R3xmN1I2ZVduPyktTWpWMV4hKWcyIz1DTkBBX0s+Y3J+cyhkc18KelhfNlZMXjNmIW5x
N3podmZETXZ6fDVIWVh5ZXEyWEtrWmEpZk88RUx8N05QbntaQiljOExJTzVQYlhEMkt3VWB2Cnpa
PkNFOVopVCNkc0UrP01uKyRtbVJIMEkrZjxvbnBZQyk8SCZ5OG1FWmtRblpyTCRaJk9weUp0dlJ0
RHBPcHBXZQp6dH1zQ2tOVnxHcXR3Q3Y1NTNEc1A/K1I7O212QEQ9IyFJXztWWFl4KVMxK3RKNnc4
JnlYbWp0Vz8pZEhAc1EtRFcKemJsemlURCRhWDJxRlJ0Pmo3RElvX0NFejVIYjdsVUo1QDdQPF5I
RmskXyFPR09gXkhVSGJBQkVBQkQ7aClxK0c8CnpsTXE7ezwzQ05Ld0UtJGNeZTl4MHMxX3ZaZSp+
Nmx8STxtODROJlB3NkB8KFgpcSpyJUpVNXlxZHR1Z0BBZkd6SQp6dFRRMjI+UyVDe2dJUTt5dn0r
djlJdXFxeFZYWnluVTE2O35xK05abSl9R1I/SzNIb3tjfkA5I0ZMX3MzWXArPFkKemJkR05CSj1N
e0t1MSVWbUR4YWJnUjFfKmxSMHxSdnFhKDBYYD04UWU4PXo3fGhlRzl1WUMpb0R2PE5LS3stPGVs
CnpIYkFBYk5mYXRhUjB8U357fEdHVmUqfXVFcXphWUJmOC1yZHpNNVBgPWxeRGBzKyVmSmRAd1Vy
S0w0a2FEaWtWNQp6UjB8VE5EaE1wcXskREtDOEk5PXVGaEVYe2ombDdsS3UoR2s8ci1hS2ZTZkd2
M0lwVjFZMWFVKEhBVUpyMEJjUT0KemNaSWQ0JURjaV5RPjkmbHUrfXRiKkM0RGxFdFY/eyhkSGdp
WkJlQDVZaTZvR0g8P0JnbHF3PXhrbXdLe2Z1LTkyCnpedHM2PlJGMD8/QnViTUpTZ007VUxBMyFZ
UDU0QmlhendRdChOUHJ3T1NTKUxzSW1ibl4qOylnQmRQXzc8fFpTcwp6UlFzUCFzJShIdFRQZ35i
QmRQXzdfTm9YaCkmOGcxQnNNXmVoOz5GSWBYQ0lEKTgoVUY3JEIjfGlnRkZFQGkwS24KemthbXJT
MGRqYENFM0NEKnllcTc9eDNwXnIqNGp0ZkgzVnp6Qmt1fXA/Sk1zSll3YTckbF9HamBrMUVlaXB5
MHl7CnpScnhZSDlabEsqbTl8dEFEbzBjYzUoT1UhRVkraClubnBgZDVkdDx5JUh3fHA5YVdqJTdT
O1p6WD4/fCQkX0dfNgp6O1MrXyo1IUhmM1glWWZVd2Z8fVN3KmV8YHNWRyNBczFfc3xzdHtQSnta
SHJySGI3azwqNkh2aWltJms9PTQpdFMKekVjcU5gRS1yK1NOQW8zZzRMYE5pMFZ7YzJzT0B9Vntv
ZGw7eHRYYHNwOGYycEdiTVctJH5tM1d6dmFOSD81eExZCno4IW5xdDwqTSNvQGJib19eKiM1elMk
MVUybER5UjF4eXZkeGx7UmZIU2h7P0YkYThlXiFePUtSK3hsODRBPithRgp6dHNCR0J3ZyFlWVlG
bTx6b2djQzh6VihDQmNmTjRyeVQ8fmQhNUloWipLSyFpLWQ8T31aU31zWjc5Nl9udkJSYU8KellD
bWZKIS11VX5ydGhwd3MlPmpLXis7Uld4VipOUEs1U2ROXnNDYyVBNnQ3ZEAjRFB5bzhOdE8tMFBw
KjtAeTQyCno3fCoySVFMfEc9b3QlPW5IfUomeW5lKko9VW1hWD8+WVhKPyYqbCU8OTJvejQoXjND
cjg9QXR1YDBDS25SfVF7Ngp6XmlTSSFzbmhPVXZIdj8rUz82d0MqP1JOMXBTLTx4JiM5P0hFO0to
QGB8Mk5TSHEwMTNZZ3FSRjwjfDg5PXx7aSoKelJxcCFGPiUtUz9OPXNUUVVffSNvVyhhLXpYVnRL
bDVmQGsyRXpnPTtQK2hsY0ArJHVlaGQoKmM8YStXS2hxdFg4Cno4T2k/TWJ4cD5fNFomfGxSKmp8
eXpqY0V+UHJjVDhAN2xVPW8+K1k5d2FUOUomej8wZFd5cE4+clMjMUEten13ZQp6ZVJyOHkkfDIq
Vzg0QT53bEpiSWVJaTxXe1R9fk08MmR2OF88Sz0qTHh3YFM5bFJMNVBmdCZJdkdZeSU1c1EjbnMK
emtWekE7WkdjTVFFKCg8K3NzKU11TkUoNXErVyN+RyF2PzV5JThXd2doLXlLaTNEXmlNKSY4ZWJX
KmVaPU5RRlk+CnpoLXlLaWkza1dSKSY1XlZyPmJWRXMhKFlId3diQj1BN0luQEtTfnU1RWw5TGVN
UFJBK0thS3c9UkYwPz9COyZNcAp6MlRZNklRVkF8aGl7MEhNeFotdDExQThZLWkjOy00UE04Klpx
YFk4VlVNVmtGbXNpSGkxPyE1RkBwOGVzOy10Sl8KelR8T3g8U2VMSUdGRks0ZGNhckxFak9NN0Ju
Sk5lRmxudFgkSWlneVM9JVpje1NnUVJgKl5tdVRYLWg/K2F6d1F0CnpRUjBya1F0Zn5HS1EzKjZO
KkNOd3Myb3UoTll3dWJFWTwjfUB0PmR+MVo8RiQ9WjRYeWlvN2VUe1pCRWI0TiZRVgp6OHchO3Bz
cylMejRJIXxVYChMYXg4aUtvRlNuUVZ4YU5SSTBfSURIRDhvZ2p4OUZYI1lWUjFtbCVMRDVRJTZO
SFQKelR8cEA/U1hhRTE3cHlCQCM+KSVxM2R3a1JWT15uYXllTSF0Y2JzYSYoRmB7O1F9dVpSYmNx
fEtpaWoyQEleYWZOCnpzckVtbTcke1ZaczFfdTs7KWNMZC1CYztZdjtpdnBGJE1+aUJkUF83JmJT
ZCtze0shZ3N5MEJTWXJgbTFqO0l6Uwp6K0VmdShze0sjZHVua2FZcShZJWBNNzFFJVVLTjMqK1ch
P3xvelpPQTN2PGxgc2pMeV5uaEQpeGpSdm5jbX1AND0KemMqVmg3R2Z+UDUqNDBERzMpYTtgIz4p
cm0+TTcmcGdMVTxrQGA4MnNsSmJJZV8zRmxwdlNEK19zV3UhOXhNcnM2CnoqKVYtI0FXOVZ4RWwz
biZBaDE7WHA4fElqRG8wY2M2MitKWkVZKGV3Y0IoYyZySF40b3A+am1FQWtuNlp6KjZtaAp6YG52
JWVwaSt2N0xnazJSTDg1RjNmdS05Mnc1aSR2bUNwWkJzMm91KE5SK3JFdXZHaD5jQihjJkgzc2Z9
NyMxaFYKejFoez99N0FKS1I7RUxCRDRmcCpwRUtaajRmPzt2OGo4XzJHbF9LTDZmT1Z4dmRCTTY7
ck16SFdzV00oY1NYWXtpCnpSfWp7Zil7UGVoPyZna0R7K2x1eWFtYFNiS21MU0h4TlUkK2ZqYko3
QmRQXzc1X2JmYT5haWdPP2x3VEJvaGt+SQp6QmRQXzc1X2JmYVlYOCV3WTZEYVgrKT0wO1E3dVQ2
NEkhe3BgPTk8OCVMYj92eFQ4PXhxRlJ2WHRPfGpwK1cmTT8KeldkbF9EXmItXitNXnA8XndSbW5j
MXJOZnNJOSkyaWc9dWttSHdtdTZEO31vQjg4VGsrRmZHb0lAYDgyc21oeXNpCnpeX0tBcCFNZ2ck
YyFna0hlV2JpI1U0NW16VXxvSD9AdUl9dCsofFN4bjMqVW1zIShaY0s7OG83WWVSSXpqWiNISwp6
M2xoeTZLd3pvJUtWP0hHUkYwPz9Cc3pealY1eDRaMWwwenApYytfe2o7SXpTK0VmdShze0sjZHVu
a2JAKCteUm8Kejk4b1B1RyZjLV5yUH19Vy09XjlDbUJ4UCpEbzBjY1FwZipBbkpBV3NfYl57VzN1
RFJXNzt8d1VnZ2x4ciE0UHlGCno4bkJXRkx2N35ePi1RRyMmZHQyN19VdmEqb2hqTSNQfG9SYHt3
KVZxV29KRUoraT07R0RweiZ5ZnxvWll0PyMrIwp6JjlXbkZtZ0pAOCZSdGZxc2tFdT88aSs8Tntx
NWR5S1ZJXntRKEohalYqMiEpUDFEWU5HV1cmNU9jXnElQEw9blkKejZBbkNHIUFJM0BuQUFHNFg4
cHsmMkJoUmkyMG5QLWxVZVdJYUJ0KyF7SnZsSUR8djN0XmUyS1hDI1V9LT1nN0FBCnpjVkQwUCNE
UiVkSmV1e3ViNUQoI0Zuc3l3ZzJjdm17eUs4QFJiUE1lVmZQMHxyPTVMdSVgJGY3XypicXVRb081
cgp6X19tcEU8JkRqYm9jc09wVVJPV2RjJjA5TmU4PFpabXUjK2xZflMrZGtCTXJkMFhafG93OE9K
JVNqJml1dEc3MnkKeipzLXVZQmR9cTZxX0hWNmA9dlhFe2N6YUVqbUpMXns7SHQoaV5wMUB6Q0xz
R0dKbnpFVXU1amcoWDdWYEVuJXJ+CnpyR155dWhPOFAqUGpSPkp0OGd+dnc0T1UkJnhZc3M4fVdF
aldhSy0pT210N15tJCZPTHtnZHVWSXNSbipmJkF0ewp6QU05PF5fSSVMJXdZbj9jY3locGU8OVpE
X0A4eDI+ZGQ+XmhKTXYpUnhgdEMxMX1gdXlzdXx1fXY4ViVpTiE9YEoKekslXzQhP2BpLWM3SW4o
SSFkaml1dGAxbk1PV01AfFlqd3FQcjhyJHxXOGtKYm9ZSlFXMUVCaGtzISVEVE00QHMtCnp3SUVU
UGo9LVcjNkBqOEU1bVoleiRudGJLNFN9TDhzY3h6P2UtKEtQUkgwSXdoQz0wdFlDKW9xMCllSHZz
UztFaAp6cGkpTU9MZ2syUkw4ODRYMCF5fDNZMzcjPVAtJi0lTGdrMlJMODRSemZ1LTkyMyZsRjRA
d0B7RCRacSo0N1k0fWcKelNXJkxRKWQ+UytrRj17MzJGTTxIUzZIaTgtV0FzQm0zRFEoVEh+WiRV
OWk/VGN+QEFnUHU+O1E+V2skezV4dSFiCnpSYT14czZFam93NHxTKT5TdHdPUnY+O0pMa0hBdnh7
fGVmdm55RChNJEBDYyRXfmo7K0s1M30zMFY/Zk9RSyVlSQp6RWwzbzZBaDEtMkQqN31lOD0lcmln
K2s/c1lDKXBPKiQ2RHZ7LV5RWjJCPnMzMzVDaUwpcStHNTl9IXJwe2w3QDgKekdueXY1VmI8eEZQ
OTVEYT4tNUo7OWdWSXE+a1A9ZCFtS2tPP2RwTkcyQmxwK3UtMmZ3RTM3cU0tV0Fwd0ZZVzR1Cnp3
VDdmIXl8QzYkRUxSRlglc3J+d3FCTlNBblgwR0JiZEhXdk1NTWh7byVrVElSUXNRe1IxXypsUjB8
U2FPK3NMKQp6Wm1JOzsyQjxXUDI4R0hJKXErSDZHNkdBcnwwJHhnMFY+VStNV0ojO3dJST5RS3FJ
aEpgPTVeZ1pHY01TS01JdjIKenNzKU1xQUF6T1h8Q05qZDl4NXZAKkZSJnN3NSluJlNvaXFEO3ZX
dng/QGFzQThzXzxNRXpfOShGTTJjbEFZfH0hCnplKU81eEJQVX4/dVRAblIlQCk3Qnk9ciM1cn10
bDttKTdRS0clVlkwMGV0P0E/LWotMkQqZnxlYFZeTiZzeWJKdQp6dX1rWjFVemh2b3ZoYmBUQHc/
MmpGc1BtRjxqbmFUT1d4YlE8anxTblFvKlhAN0FjPU09aDk+U2QhaElfb0xOdlQKelIrVHhmWGlt
N2FTYndWZitodyFubCF5bjNrK1AwOz4oM1JwRTVhUm1wS3hXZHsoSnFWem5iOEAlRkBoXiRMPkkr
Cno+ZHNRfV9fanpAcjJSZVYoQWpzKDxfXl9ndVlQTjxwIzcxOT43UmgzemhlRDF1czlPZD50QGIk
QHh8MzZLYmQqTgp6diVoUz15QiQ1JmNyPUlqTU92aCk5Z3FHQGVOeylyYk0/bjdoMjskV2Z3PWpf
VUhfZkZkaX1lMj5zVWhQV0J0ak8KemJnfStfPkUxNTd1WnltKT4oY1hzVUcoQGFkTUsocFVscCVJ
enUwbDxDU0lSNU4hJXhRZXk3SkJKY3Q4dl8jZktfCnoqbn4qY2pQbE9MNzVmV2syNGZrb0Y/TC1N
Vzg7M3EqentXJW59M1MyaFh5aEJPYnVoTjJOLSpBQVktM3pWNEJtPAp6dzJXSnNjSV5lR2pUPGxh
Tm5nWW1EKWp4QjcpYF93MSNrTV5zX1BCPm9VaX14V153MkcxSj16QHB8OTZAcSs+X3gKem4lVnRP
Ril5MXIjQH5reDcxZ3VDI3FBRUFVbll5NiVTfVV0RTcmPHlCdnAzfDY8dUdnI0JreDwqRXc4bDJF
KWJBCnppbUdRXitpQmYob2dMRTZxV1c+LXA/PXFJbipZWWhWPX44LWl9QzVNNGg0UXFZaWtxSUQ2
IVR0VDB1VCpgPE0rSgp6U2Ricmx2fktKS1NINnlsOWk0dUN3KT9NK1c2S307WGAxN2hIdmgpKXlT
RGQ7VGVDKUV1MGNtMSVvSXoqYXAmamwKempEPGVLSTM4V25gKmF6UF5jd1ZnPWVYbiQxR3swMjVY
LVA4YWxiKl9OQm49PndYdmVrSmFOell8Rn47elFLIzc3Cnp2OG0kei0rWWgzSzg9WmVTNlZxXip9
V0xNc2ZlKkA7Jl5EQHZ5NDM7X0dfRCRoPVp9P2pPYGN1d0lsYjRFJXE0Rwp6UXBKOTQkWDJGKD53
PFhRYFpuRXVoJGJIRSQ1aT9ASnlQOERLTlh4Z1p7RG5NITRKbSU7TmpPK3lxeCNfdjVWJDMKelB1
KHh7WUB5dkdvX1FzXmhCP0goTXFgRG5vWHJ1LTZvXk1SdnIwQ0xSa0k+aSNYOXlsbmZmfSF2cl9j
dVB1ZVl4Ck1GVTNtMjs7IUhSMzZUZ1I4VU8kUQoKbGl0ZXJhbCAwCkhjbVY/ZDAwMDAxCgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29u
Zm9ybWFuY2UvcmVzb3VyY2VzL3JlZC1ncmVlbi5wbmcgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNv
dXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZXNvdXJjZXMvcmVkLWdyZWVuLnBu
ZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi42MDVhYzliYTFiYjg0NDRiMDQ5NWIzNDY1NGYwZWI0YmQ0M2I1YTQ0CkdJ
VCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCAxNDQKemNtZUFTQE4/KG9sSHlgdVZCcSFpYTB2cF5qNmxy
OSEyfjQ1OXhFMXIxZDQ7KW9meWBnbFgoZmB1JXRXc0l4O1k5Cno/QzFXSSRPX351QnpwdztHQjh4
QkYpJWM9RmZqWkEzTl5mN1U/Pz9VVjBlfGx6K2czbGZrQ2ByJmFPWmtwYWg/JQpsaShgbUhjPUNf
KTNAcmE4ODk0cWt7eGBke0xJTm5tO09Yazt2ZCRAPzI+PyVwQjVlUXcKCmxpdGVyYWwgMApIY21W
P2QwMDAwMQoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90
ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3Jlc291cmNlcy9yZWQtZ3JlZW4udGhlb3JhLm9ndiBiL0xh
eW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3Jl
c291cmNlcy9yZWQtZ3JlZW4udGhlb3JhLm9ndgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xNTQzOTE1YTEwODBjOGJh
YzVkZWQ4YjE2NTU0YmFlYzI5MGQxYzgxCkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCAxMDI5Mgp6
Y21lRz9jfDZvPl91c0xPSE90dD0zeyNBeTNAWEhKT3g3dEghPkNjSiFOaWJ+TEFoO1g0TXtjR3Nx
QUlLalMjSnQKeml8ams0alM3YGdtJiZ+QCpZRWt4PXc5OVR7QChaZl51Qi1uS0VMeU1KbSkjKkpr
TDRMSW5Wd2JufHlzO0FwdkxzCnpzYHV+PHpaNWlGTS1YLX5TJCsoPDQ8el9pNERqPkMjTldgMXN6
UkgtKEprJUVteU9sanhRRWJWaHhqcX0yR2Ehdgp6NVJmcDBnZGoybXYwLV9yNWQ7YW87TUdKeGto
dmI+Rkl2KipKUTxYZF5eJDxsSyFvaUxfRn1TTm1IXylZMWtENDAKei1YVkNuMkVudD51TVRxOUg9
cShLRkJzNGpBZGBWfVVWSGEyQU9wYUh5OVdEWjZiZG9gRmFGe3IlbWFPZCo2LWFECnohcV5qSD1v
VEt0dXQwfH5lSGVSSl44SnQhVSN0KUFCJi03TjUpODF9I3FjJVctfEN9PmBZYHZkPGE7Q357JXo7
cwp6OT5ROClJNkJOb041Tzc+ZztOcHk5X1J6PDdHe3YmaWNQYDM9LW9eJkp7T0gmZmt6dH44SlFj
STg1XlRALVRYcFgKemRsPFdZPXMzNncrVGhSRGRIcDZFVForfUxVNGNPaVV0QGtOTCElWU90TXly
N2QrQDh4alpITmBIUD1tNCU2aSkhCnpuX0x+TlReKzI8U0RUdXpHUkZIRG5mUkV+KkJCY3xAfClm
MilTYXZDM3tiOHJifGxITHZNMkN+bDtpPm81fSlXTAp6Nk9CTzxmRXFyPzI5fit7YV8pUn5tLX5G
Y2VDekhCejR2flgrO3J0fVNQei1zIV9CaSE+fmEtNVAoajY9aU57OCYKekFQLXFDTyVsbnNYNVZu
dkx4fkFfVkV7djJHRkc2VDVORD5LSTVOSUUrfjh5cmVQdjVqTl9DZ2xQd29qLSMwWD1LCnpaU0lv
RUdaezVRNDVQSDslUDFMVTkwJHkpVn56RTlOQnZFZUM3UWYpMzgoQ3xXQntZPyZRMWRxR0FlPl9g
UiN1Uwp6YiM9ZEJ0Z1hwQ0ohNyZNN1o8fGxDP0gqMiRZVGd1SmlzbXBTdllyYiFTRTstN2UyKmZA
aU01YzlBU09CeWJpUi0KenhZWEJROV88QldlU09eKzAjN2dSP1g4IV4xOFF1bipFKnVTejg3R1Mw
fFd7SFU8NiZ4TU1Pckted2lhajtxJnR3CnpnRnlTcHNBTzA2bUBLYDJSakErPyM+PSg5WllaUVQo
ai1KIUB0OHMqTkB6VDZlX0VfdE93JEopNXhYJF9lK24zawp6JWpzTUk3OzhGPWEkVj49R01BdDhT
cFBKVyNuNU1uTTR+bXVJI0xWOV5oaH4/aH1KVk9eez5ITjc4Q2hsXzNHN2wKemo3ITBDNylSdkMw
PF94cjlaZGFlITJkWkMtJmV3YjBQS3I2VUF9PG9gQlolYGp8cypLbUkyaGVmWDRYTCpjZ3VxCnoy
MmZVMylfUHhWMUE+blBGZyF7PyVMUWYlWGk7NEZofm1QZEQzc0dNbFMxTC1FdWRUazAlMEF8QVB+
VnZRNDJfagp6JEJZc1pMSTQ+K0xJXiQqNSNVaUckT1ZMaTRzRzhTYShNZkxTTDtAbVR+Xih0YjB8
aXdlbysya2FFSS0rcSYwTyUKeiNecjJvKXxZY1c0cEt9eiU5YCMqaWB9Vnp5PnckKjdycDl8UjNl
dmg8SjB+bnQhdnwkOEpAPz5nO3QpbmtHKHxSCno/UWBRdUBVKyl2YF5zPH51e28tUGI7M2szS3hO
STVDZHF3S0JiSE9PbjdYemhANGVhVTY1aWdCbzR4djNYSzlmfQp6PzxCPmhTPldaK0U/MDhFRWZx
dEl7ZkNHalFOTlVUVC1QUXtsTW1YVDRiQlNPZXxmWDhVTHhgcWNLKjArTiRgPnkKem8zJlh4clpH
JTQkKT1RP0hPezFHPGhpe1RvY0NAaSRYUFN6bCM7dEUpK0VTIU1pZk19Sn4/KGheenBuO15VUGhH
Cno9I3skNHNrS1E0PyVxcS1aQW8/floyRFRPPF84TEVAMlBKJnFeVHArKklJZU5hTWF9R2I0N097
NUFXNiNTUl9gZQp6YXBSVDlmYkcyQy1RTnoyKWtlU2l4T0hifihER0VMa1M0XjBeQmJ4STgjX0dw
O0hMQlBHPUhoQ0R8RVNtSDReJCMKej56WHZ8anw2YyEkLT0jN2VTWGcwNXRETWZ3WTZ9PnslajNQ
PUdlYUotSV59flpGUH1sS319T00rbXdebzlyeVFSCnpSdTNGYlBpKUx4X3RCP1hIRyEtaE9gfjAj
ZWVGMUxXRio/QV9WUk5OcEUrbFZean1ZUmhibUFFTl9PWlRlIzBKIwp6cEMyd2RWNWZEOChUSTk1
dlNNeGpmdD9hbHcyU1BROGZ1NUc8dlF6Y0pyXjduX2IkYnomO0dYfUpOWEh2dUNsc2cKenZsc1JT
Q1FTQi1gIW9INSMrOUEpTjNnVG82NCFMNyoyYUR+bFhBQ3RSUXZ2JT1zcDQ4JF8rWWEtN2M4dV5j
ZDE+CnptYUpWWnpXZjdDRD9zWT9xPCsoYG8jTypQYHFhI3lPZXBxZmZJZmFPbDdJRmZVfVF5aGdG
el9eRntiWW9mMEpWKwp6TEF5T2gpa156JEA3bTkyb0JhJEY5ejEwR1p3JDFyWHE5KDlQQlZ7Z3t1
dHd5U1ptUUd8OU93Slk7PT1VKWQkYkQKejwoPnM8WDxjJlJpa2U3MGlycEtEXiZmRFNyUVkhXkVB
ck59Zjt2Pm1famx8eylCaGIrbGtMQCtoeExpPmR0S1ZICno9SXAxQGtBbz9aYVk2SUAoI1VSbDEj
QTdwM1ArcyRDZFJWWSljc0tUYE10WDU3V2VTeipCI31mNmZMcTtRNXd4Twp6PUJUfUI/U2FiMVRs
UGN4Y3dmekRWJCp4Y0cqOGxndjF4NmcmWjt5PTxDeXhSeDE/aUsjenIwfFpTP3ZiTERrWFAKem5D
fF5kV098OExXJDI2JkUzT1N1ZVRCSlZmN3VzPzd1VWk0PUp7YUpDSFdkRnpBJGBrWFRxTSo8NGds
Zj96UUZYCnojPCpRWVdaOHwzQ3RmYClDVWA5NzcwVCg/Z2VLLSUzeSUqV2h2TWBvcWQoJSt7OUI3
Yz10c2xVYV4wKH1lKWhZagp6dT5xWW1Vbnt5filrQ1daOWp3I0VTZHF9PElPPUtFYFVgWl5paTRW
eWNSZSZeZXJyX2d4Vm1ud3taQSZ4XnwkJUcKemtYZkZfdzh8SUFPZFBIQnhGdEJMY3tOKUtCX34m
JXdjfTkzc0orc21hVDxmUDx3X3s+UGBmeCleSTl4fHJKKilOCnpWOyt6ejNNfFJBS2QrUDJZbjIh
REBnLUhnTEpEU2BZeVNPaFNpSWVsclN5alQ7LWg9S0M3KzBQfEs+YHJsNi1uKQp6TTh3LU1FNUlQ
YjsjTmh8QlgjQWAxZ3F2fV5KVX0wd3JIUSNnQy1sdGJDWkB7T1Fgc0hvcmJtKlhITX0lUHBRJkgK
ejcxTklVK3FPOFpeSGFGJU48Ukx5KmokdElEUCpzaTA+JEVYXm5+KXY1MCNrdytkWSFLQXxuTShE
XjhFVVVAI3UtCnohOUFGYnhzNmFIS1NaPj5KPntleTd9OH5fZEVNS1o7cSZJbGk8RG96OTk5cU5K
Nj5zditnY08pezBMb0R8TVRYWgp6PVRrMFN3PGJSLUchaE5TOEArbnJRUVVAQiQ8OFdMLXxxQ1dg
RDNeTnlOZEZnQj1URj9jaThScSQxJkIjblo3SDMKenVRUFlQN1d3JG5mcFI3OUhtVnRSQzg7ajNJ
SndpTGBQcWohN1omdD49SCFzTy1KODt1NnJBRTA/ZWgqWUJfKVlVCnpYTjtMeWZgUis0fERMej4h
VWxWX3hHdigwO35ncXElJmI3YXRNP1FMNnBRSTVyc01wdEYrViRmTXhDVWE9M2YtTQp6OCswX1NA
bjlsdG1iVE56Zml4MjZ7aWMwcksoQzt0e2tESis/QVJHb3c7Z1lmT2J0dW90IW8xbD91MkprOXFi
JVAKek9wYCFYLWtkPVlXX0MySlpSS2w/X3N2ZlptVFpRXkB3ZVo3dH1EdiplfWgxR156OW1IUG5G
ZjRabTMtT3F1SGxACnp3TEwkIzspPz5TUXRaVDUrUDd1S0UlfkEzXjcqUyo3Mmg2M1k0NVc8Wnly
eUBBfnprYXRTRW8lUVg/KUhOSGd0TAp6bHdYPHBNJiMrY3NSKz1fQ152T1lDKVE3VDZYVDtDKkpo
SnBEZ0UmX3E/fW9ET3paSE1Ye3NaYGhzWVlNPHw9UW0Kelg7O2tuV1lYPn15OFJjQGdgcjNgSlE0
KzZtZkBJTiZ6M3lBJSNiPFh0fXUtJjdDYzVpREwrJEl3YDF2SkwtSjBDCnpXbFZmXj9SY1dvcXdB
a3QkIXtqej4jVmVvcj0qPFFMO1FTR1RTUG1NdjdDOHN2d1V3SWppeTh7ek5tZXU9N3c9Ygp6UVNn
Ylg3QlRoR0ppKlJLQ253KnFQcWYraGY4P0lOZU0lO0l6aWQtTiE/UjF4OFB4Kn55U0J7bHdaNUBF
YShJNCEKek9INHs2d2I4KDFTMEh6blFueCtNMCZPcU9DQW5sPmYyayM0dWMlUEZPcm5UPl5sOU02
YV8wRnEjcVAwSnN9dn5nCnpNQjB8OE1fUllWQ3AhbVRudmRPNSo+UD0xPkhRMSZSKlp+Z202TnFw
KkhJbEt0VVE+JHdCVk5POyZiQkt3bnd7YAp6e3dSSWgqK0hyYj9xWWV2QyQxfj5PTHMkRD40V2tY
WnI5VWpTQz1KKUgtMDc5PHpqVGZxfWFIZWFiaitkPTNHLWsKej4raGo1YzhGOSU2Uj0xbXJxa1pk
MlVrP0JMTE9wMmwoU1g1ODhsVj9xTHRZSFROSlBKNkg0OFdwNmxUYkpaVl85CnpoeDBpRzY/TEUk
NlVQcCtrUFB4WXk/YmhVPEZDV15wTXZ2bVpfcDNkPEokZWdTdVlFWGhBNUFBWXV5YHVrbnV+fAp6
JHEoYzlNXmZFcXNCUn5vVnE+KXNiPGdxaj1XTVYxUkJRNm9RfWNDTyhpZWwkWFdVezFPMz9YPjIp
VlojYCVNQkYKelpGWGtzcFJfZ0l4YkBFUy1jcnFKM0dkaiNtRF9JVCg2KShZI2s1SylDbClhP3N3
KkNeNkZzVytlOTdjdzhgWXBoCnooP3pMdGoxYzZvSnNDTFpuQmc3c0ZuPzxnam4rMll8RXR9WVBU
Jl9iRzJ9P0hRQVZuTXIlN1B4Zks1QH1uTDgyaAp6LWkxOXFQclI8cC1lYjU8I2pEP1Ztcl88aCRX
MkVuQjVJVFNXPlNHKnhDVVp8RzNRKHZrcENxeSRUI2BNXmBRS1YKemNWek9oVnp4dDxaKURnXjkk
eHBjWTNLZFRtWX1XR216aWE1RGdSe2p6SWB2akZFSUdNUkYyblMlNyVTP0R9QlgrCnp7NzJTT1Ar
ez90JCh7RkBMXzZ7eU9seXFIfEVySEFnZlFQS2o9MF8oMFk0fCVTe3Mjclg3YCs7TFhacHU8Jj47
Ugp6SiRVRWwrQHBnTDd3dTY4PEtXV002OG9NWDw3ej1eYHNNfUlnWUFJRkxZdysxSyMmbGAjdndD
PE1+Tj9RJlN8SmoKeiRoeFROd1pOc0FjJXgqTTdeez5LazE1UVYyZ0h8RmxOdn1WbmxKPk9feWk7
LThieHV5I0MqK2doM1FAaXhUMThnCnpIcnhldVJ0TFRYOVZLbj95eDxJKEQyNktfbGt8IVVrfGB2
XkFySUV7UDBAI31IYGMkUnFoKkxkJD04aE0yTzlKUgp6Rm54R1RTVGtRQS16X3glUDQ5UmIpbjJh
Tip7azA5aStaPjBHOGVnSnl+Yys5bHZTPUtSI1ozSkt7eDdWcztCNHYKenpgP008IVBMTkVjVjU5
Z2tYOVhkfEolZks5Z1RvO3c5UHIlSUYxJk1eVkV6WjZkaFk0MFF0Wm4kPGEtQ1lMQGlPCnpBISEr
dHZueEUrSCRMLVhNJnxTNGJLPC16VV9KPSgtaytsZjUrKUJNYEcjfE5kRkJPWFgzQFchMiE0MDtB
T2VWRwp6JVJZNX12SmJ8SkAqO2Moe3pPMmFVfFdJPj57K0hRRUtCPGtvMGdEYHQ7dWUhUm9mKUs0
ZyZsWTBmR3FmMkRZeDIKekVvVXNkPHlVcTBufDhgT3h0S2Nqe35PNV82flVWP3ohQSpaVTgoK1Rx
eyU1ZEZEemBKUnlofkJVWHBKS1JFVyFjCnpoUipFQ29iNUUxJkslRHZNckhOYSRHY19lKUUxe192
QVdEQnZ2K3I/Sms0Zng7bzM1cWF4IWB7U3pWNWpuVDdtUAp6eExsVEtYPmxMbXNaM0B8SD49UD1K
IVc1flh6eyUqcGU/TkBiSyt0eDNZNmxMdnZqSXotVDMtPU4/QmRTK3ExanMKeiZCczhDXz5ydURT
fXsqaGBwcVlNeD5GNDEwbE4jQzc7cEx6el9gKXhEbVJ+dkw/MkVQQGpfdldGbFJKRVBELUUyCnoh
UWE2WlhxLXMwQk5hIUhESm5YSkEoMUBLKEdWMFp2dj9MYFZ3SnQoRmMtM2UjcX07MGExISp8Ymd5
KDZ3O1JBJgp6Tm5AQUEpYTZFKl5eKjk/SzlhJHpMM2kmSFJUSmt9VyMkZTZnO2hmeWBoe1NFO3xs
cEozSmZhUj1halhHM1U3VkgKenJVISNua3JPR3RjO01iKnlKZVU1RT10fE1zRHNKT3BVPUY+T3gr
dzdOSnxVN2U+S01RWnNfQ1QhO2duZz5gO25qCnome0RyaWVBal58NVdKanQlUTR3MjUjTiM+PHhD
WGc1QWVkdXZFUFNrSWohRCQ4b1F3YT4ocG5eSWIqdE0qMGZqTgp6N0VCamMxPHppRSgwKWFSPnVT
JmJSZzhXclY9Izx5dWJRIy0+UzA+LTttMzF9KHMxYkZsPj9USW1VK0BzaGlfTC0KeihpNXtKWkFU
ODQjI3pvPUltSD8wVUtIcDNXIyMxZkMwc35QeERifng4SkRDUnBVUkJTPGtzZnhaWSFJKl9Baz5Q
CnpEK2VxWGtaZFZmK2l6QSo5YlNEc1NVZVI1UFAyUjt0JE0tazVNcnllY21OPSU/diYmUGNxX3JX
UHoobnRzfEcyQwp6UjV2VD96aykke1hAUzZ8SyMmUnFIQzhfQjMrX0lWPERoMz5ITjxmbCQyT159
Q2dlb0F2IW9QRTt+YkE7eXU+bGYKekB1fGBsTWNEKFl0fmVFejgqNFlsRXpWS09xS0pZTUYrX3JT
aS1kQWpBbjZ0YXdwez9iO3A/fFQkOXx9RDdIWGRiCnohd0xoVCYkTXBGbHJVP19DO3poPz5tK0V9
NFd8Vil6fGJaWDB3Z3xOSClCflJaJmZGNmA9NDNpd15zailFI01JXwp6KUdmYlkzd1EoIXtnLVYw
SH5SYmtJe3JeYjA4QmZDSDI2fl89Mz97KCprJWFtN31sRERjSStgX2BfT3Qhe1p1IX4KenFpS3Eh
UWtmJEN7Tm8qdDI0TXlXT3JgUldyJWFiKmlhMTUtZSpOTU9MMS1vcldRdz41SWx6Sjw+I3U3RndD
ZFI/CnpwTkRqYlcocnZMTjl6KCVednU1eEVFfEhAMnZMWCkkK3I+eT11X1NuTUY9d0VjKygoZylR
clBHS3hfc3I1MWpVPwp6aDRFVHt1amIkOXs+MzFJdHFWY05mV2FYM2M3WV5zOGk4WFZ2NkJYTTNp
XyFNUHpib1AwTmd0QChgQWFIeH40d00KekFRQHEzbCNGV2NHaih9cG1SaVdueUt+eExMJSs+dzF+
WVJxVzRVU1A+Xyp3ViQ/emh2P3BmZUJHYS0qRjBGRDxCCnpjNDBXfHRObG1AKHF6OW9CblhYIz5j
LTRjJEhWaVVodilmYWFAK1A5dzluZU9wcXlOKClSZD13c2d2PH14fHV+Pgp6dHt5UGQleyF1flI4
UE9tMUBeVFNtZlpgckooYlEpaFVlKWY2Y3V5SkJ3U0ZvO05rLXxATF4kfjZ0SzgydU11RCMKelYw
a0xWQGx9PmgyYHA0ZkBua2MoVHJOMG8xbCZNeztaVE4zNCYwPG56YTFKNV4mQyFOJl9xVW93NTxh
Q3R9fE1QCnpmWTViRmlgSSkzTkh3Ukx3LThGVExKTnVtYjBMdlYhV1QrPCVNcnpNPV5LZC03I3w4
bjRfN0VvKUxXSzl2MzRqZAp6cGNzPTMzc1doPW09cTRGNytwWjI7RGpPZVFadytrMXNNfXRBX1VF
VituelVrWGlzOF5CPlk0K09BYkAwM35uflgKekN+eD9WbGd6PGBpO2dxdE1MT1c9NiM4QGstV2lH
b2VFRCgyNl40Sys7QkhOUHR7d3ZKQTdAJDhMPEJfT00+fUQrCnp2eXEkfEZXZEBILTYlWDw9WDRU
Xm4yd3lIQE48KiNNTz1TUTBncUc2e1VlXlJmRVRBPSZ4TDMlWXRRcTghXkBSYAp6Rk9fYzg7VFpV
VyVqSGZyUktzQiU0eUU0Kks/RzUlMTBlJDt5YU9OSzFgLWdvREZ9a31GNElHISYqWVdZZnJDeH0K
ekp9O3kzTkYyQ3gtOVo8fjVGS3phckBvIzMyKH13dyRPTSN2M3NyIVdIXkBMcVpuNlg+ZEEkRT48
X0A5NVZnJjEpCnpxb3Bvc1hRTklDRTI+dD1LfWI8QnFTa1R2PVU4eGBpOz9sfWFkYXJHUXIzQEZq
dnx2dHJCJiZjbGpfa0Y0fVpodgp6WFhjYVdmJnFfMntQSlBvTm54dGpAJHdvKXE4X2VsJGc4QVBJ
ZmRlSFNnam9KeTZJdnZYIz43bElsIW9TMDxKdmQKemFVNUBQUmM9RWZ6UyQjTXd6KX5zeVFGR1pE
XmEkaHNuNFVkTzJqKnt5dGVBRGVgbD8tYzRDPWZtM3UmXkZxQ2QtCnoxYChGc0hFU2dHKFo+OU96
JUdHY0tMQyN+RmlFYE94ZDRWN1N4aVlaMk9SP3NyYCUpO2cqU1ZeWklEZEY2JjU3bwp6Q3dLeipl
IypvI0k/UTFLeFR6LWhRS3F0NHBhdCpaeH55O2pfYD9AYU5GK21gTipBYnQ+dyRjczF0NXpIbE5W
Wm0KeldgS143MFhCSGAzWDtGeGZkVDFnU2R+b0M8cU1LSTl6WUZHNzA3QGczVFooPUEjREtxVT5p
SXNGTHpyWWFmSmhMCnpHcnJVIzAwZncjJEZFbTg7MUt9U15Yb0I3Zmd1dHVnfDhsTHlBZ3NBZmkw
ViY9eWdHNXZxcHJyeFhTVnotclZ6bgp6QWokaz5pbGQ9enEqa0dGS2BMPlgwKmcjWiZ9QihlTntX
ZUg9bX41fTB6TnU5JUZTM2JoMDxYeWokdiVYaUlrPSYKelRRc05Wcn5CKldkUHs7bSkqNkIkUEtn
UEw9aFA4SUFheWo+MFJoRGIkNGJqOzVmVExpcEZaZ21melpnKURxNkRUCnolR2wqQGcwQFd8KEIr
IUNRJWZLZlJXK3VQUVYpWUlhamo7R2ZWNCZ1V3NWRSNxN2tBeDU4blEpYn1sR05KfHV5KAp6bD1x
JF4ydHdlTmhnQm9rKnFFfV5tdWhJREY8UlEjV3hPdkUzJTRjK2cxPDw+cjtxYFhJRUFvV3VFUmYp
YzhXbG4KejVhY0s+QlAtamZaaHgjcilGSks7KGxOZU9qMDg/OXUkMlFxcTlPMz40cVJmeDhHYD9f
d2gmeH4wc2RKVio4QmNwCnpRe0tYbDwpOUt6I1FSK3ZtVzJ6dz1vRmx2P19EUCNGfSVpblBqS1Y1
QCFJdyklalhRSXcqKS02U3t1a3BvaXRlMAp6c2g/ZHZlUSE4cVkwdnhWdHEoNFR6U2UoR1U2YTRo
UFc4ISZDZ2xWNVE2ajRrPzVzY0R3a0RiV2xrT3Z6c3dUQXIKenFoWnRALUIrelFeMjY7XlhISloo
SExRdT1AI2JOO3B8IVIxOSVSakhpZ01VUkJ2U1J8UytudVJQfjdIKG04ZXw9CnohWlA9T3tnbzRB
Y0l0K34rbyNUJTNKRk9iPSlZOTlmN3xxaWlPekleNTA4bCFKZGtfMHowWGEqa1goYExOeFZRKgp6
KEM1PEolOEghYDkjbitDejx9X2hDcGxIdHsqaTtpN2I4ZXshWnpadStvTUI1Xnc/QzBpKlZIfGUj
Z0JxeFFUb0kKelcpbihXN2UmXzFHM2w3Sz9CLT10USZVO3NAMjgqMmpAPGVLdUI0RUliSD1TNzl6
Tns1YXQ5eDExRUVYcFVFc3teCnpvUTgmK3ZjRXZHdSYlaCNefGdHIXpJeWQ0eSZoeXtLWjRHIzNm
JHA3U1EpNWsqUEgzIztqc2xrPTw5PnFoZUJTagp6Yj8jZClZMTlaKHE4VWktWCk2ZXwhT3RZcFIm
MSpjOXstbTVHX3w5QFE1aGZnSFFqIUVfey1KcCEmTVZLcXRlalYKekIoXmA/SXdCJU1tP21ESztH
PWhrZGc+QyFvbWdePWhpeUR+JGFYOSlMVUpAaEt1RVZZLXxubk0kVCpJfiR7cXBUCnpRcm8oOXRK
P2toX2VUSjxyTWd1VjQocmg8WkUwSkk4NWBnTiV0PGtUaUxIZSZxZXA+OUVKKXI5MilwVFc7e1Ft
Vwp6SkhGaUN4XjtpeDB6ZTJvbCYoV0AldGslQnQ5Wkl3THk+fSF0UGY0O2xZJFo4Sj1DJjR5WUNy
TjQ7O34jeE5RfEIKem0kWn0ybytSalVZcEhFeiljMEdzUDQwUmxDNDsqenQpZypYWn16YFZlTUo0
dW8lX1JzWWdBRl5mdSt2ZyVGWHhfCno1PW15JDdpVXZHeXkoQldDKiRESSl0ZG5hYHdrOU49PHhx
RDFSfVdlQ3ApfnI7UCgreyhDZHM2U1RUUEdraHR7VQp6MHNxX0tsMH5acVJ1dExMVjdFa3l1bCNG
JWJTQihjUSRYWGBXJGhxU0dgfF80Zi1pKmEhPmlJUFI1MGomdjtUTC0KejBndGFwZHkjIXVrKl56
aDQpeFhXViFVOGlucU1FYjNxSjVjYkJgcGd6UlJ4UkJEPTduJitpKT0jczlSJngzKj9jCnpCQHJN
ekdLVj8jNTAkez5vQ29sS3RBSH5aYGpSVzdgKmx3dWAxNkh1Y1ZQdi1JbzB7ISltYCZOTSZSdk42
cV50Mwp6UFlXPz17P2lFRGZtK2tlalBFa0NWVVpDcnBlVT8xJl94YntXST1IO2ZhIyFqT1hUP0lS
RV9LQEhXYStgMEtYZzUKek1YbGk9Kn5RbDF8QSUwS2tIOT5EZzlXWiRQO2tzWis4PSZzIVBfP2Yo
MTNraERiMW1NbW1peEs4RyVwMy1KdWdOCnp8MWZnb1BiMDk4ejN5b1R6c21AN2tyODtrdFcyTksx
aXxfJUBNRlZUUjJlKWxweX5iMnNERnFKVmRUJVEhOXZ4TAp6MktzayhFbzcwa0J8eT1PSjFSJjJA
UDlTYGF8JTJvO1FgcFB3PlI7LWoydjVKMWJvU2RkfV96diVMNlA4WWg0N3EKeiomXzZWdVYofkdN
d0pYR15GekFmJnk3U0VIaj5rZSlXOCQlO2IrNGB7fT50MHBQaHlXbHd8S2VfZFQ1ITt3LVdUCmY1
N3hVKzVfMWNZNXJQVy1HeSlJazR5JmlEZ245Y1padio9dVA3fHR4CgpsaXRlcmFsIDAKSGNtVj9k
MDAwMDEKCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9jb25mb3JtYW5jZS9yZXNvdXJjZXMvcmVkLWdyZWVuLndlYm12cDgud2VibSBiL0xh
eW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3Jl
c291cmNlcy9yZWQtZ3JlZW4ud2VibXZwOC53ZWJtCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZkZTU5YTE4YjRkZGU5
YTEzZjM3YzNmNDYyYWY4OGFkNGIwZjNjM2EKR0lUIGJpbmFyeSBwYXRjaApsaXRlcmFsIDEwOTc5
CnpjbWVITjNzZSk9KTteTn1OZFM/amY8e2RjM1c+cE1GaUBhU2hhZVNAcGFndD9RcCtSQyF4dGQ1
d0FZXm0wdDU8KAp6N3kta2h5bj0jQTYtN21CTU9yfD8yWiRFaStLUXJ9Wk17e29TRk9MfktRanFk
Rm10Pjl6dzJNP3k0SWFGOEReakYKej8wc19mS0hyPUBvNlBYT1FHKT5kbjhWTU1BcDlycl5HS3FA
QUMqd35ZMD9peDV1NWx+NSl3WntMYjQxSlolfXQtCnpIPH0xYXgxc0x7UEpTQStVdXhsN3pkb29A
YXprKTM3ZlJFRG84cDJSKC00a1lxejllRU1BaXx0aTBNSSpvJVZ9bgp6KEIwfj58SU0hMGxyJiRe
bFJhPUtlSlVSbmgoR2xZUGhSaWpJTiNaMnsoQERXdVMkdXYxKiFAbzU0UzExWDEtSWAKeistZFB1
ZThKKnU4RzUpMHBCQ20zd0swPVZubHg3MzF8JiNnaFhnNTswUEJ7cmJrWEp3bkhla0J0ejdQc0U8
eHJGCnpyQXZfKSk7V1drekQ1VG4lVEd3ZSFTR0tve0hybHheMHhzQTM3UjBpVm5YSipac2pyfC0h
fnstTGJ8RVpIdSszSwp6WUxUSE1Uay1EXzVoWEU+dFhANyFuak1IRlolSyVWTnlNNS07KiRXVi1+
ci1FX319OVFTJmd6R3g7a2NTXiEjTkIKejh5Rmo3QjM5eCQzfTElaDBgN3RaM211JnBfVEleJmdw
PzFYTUZ9RG5IbCFLK2gmRCVWaTRyQXZLIS0mX2hyUFhVCnp7c0tmLVpJSCRIVDhSS0U/OE5uRmJj
bE5rUnNkaU96eX4lZ3FoMEhMU3hSfThlTSpWazJmT1E3a1g8NnI/eSF1Xgp6PCN2dT03YCFNODBD
YSVab3xhIVQ+PkdSMGIlVWl7ZW5PPmRPbn1RPzF8PXRPKDNSSHkrZ3AqRj55RmdMWk5BOHwKenJB
YFVhZyVicCo0PlFBRGgrUUlOJXVHdm8kKVlFbVckckNZJn1aK2ZPdylIZiVTaVdreWpReWAhMHEw
P250WnBQCno/MnEqRjRJR1lLX1ZlZG5UXlpTUU4teW0xaTVGYyokfXxAbUpgVj1gRV9eKyFDfVRi
cUdjUk0rbF9XcUA+Uy1+Ngp6Nyl9IWAqPWc+MyRoX3dle1goRDN2UFlhaUdwRHxWLWEpfkY3NFMk
M1RhXyN0TktQNl4tWDJudHZGNztwa21ESV4KenU0Uk5oJHEyWDEpU09TWi0qfCRaX3x6RSlzR1JG
c0d7bWE1bz42X3Z3VkV1PVkkU213JXEwdzNwKjU/cCM8eTtMCnpZKlMzPihkaGswSH15MWdkWVRS
S0UmemREdSVqfFlRVE4pcEtCUCRXPU8tRnttSkx3byVkVThPU0c8azQoNTVTYQp6TCV9X0s3UW1S
SUxRWTJsWiVIRHJFNzJYRU9TVWFPQy09WWIqbmpHSDVVe1dWZk82Pl9AJF9AaDgkeVR2MWdCTXIK
ejlzYE1qMHE2P01CbWVyNDtPaGxXZ2p2NDZDe3wyZVNQK2k4TUdWYmFSI0NrUylnIT9Vdlp+dCpN
WHpHP2Z+JTNACnpQRyFBJFk1JHEqOzhNSFJgalMjU2YqVVZkNFomRWx5N3pRYz8mKHp8VWkzOW9E
QWppPHJscGh2Xl9POXIpa3Y5OQp6ciZUIVk3anMhYnNzREMwKUQ3dVg0RFZ8LWhqLWNYUW9FTWNW
NntFWHZaI04qP0JXXk1uQH1WQnlWQUg7U3tTXjAKejdGRzYtM3BBezReNzI3cCtgX0x9Yzl5M3h3
JiZ8Ym1eMTVgeUptME9WWUk3fmR6TXVASjFfcXx6eHdwJExNdUR2Cnp3bHNYXjM7PzlZXyRuVTE7
N2VKKGlmYXBWKnhtTXImcFk7VHV1SjF0N3V8azdfPzVBakFzNFA8anVUd1BjYGReZwp6aUF9Q1Bh
bXRvJkxneSp2TE8rJkwlX3RhRE1wU3tQbyl1MSMlI3dzfCk/VWJwUnxFSUo9OTA7KnpFe3BtNTl4
dVgKencoI3Q4Yk8+N0x1X0FjSXNebT19I1l4e0UlTHUhY2JZbyFxamUpIyUoPSNWOHRlNENJa1Rn
PTlsayRqTVpkWH0pCnowSDNBfkBIbGhnJkFXRWUmK1c4WCtINTFaJSg/SzB3YGBReFhYWUtxNjlp
ZD1eO3NuS1BaST8+aHhJIyZgZDVncQp6Q1gycDNEcTNARmQmcDRAVmJydl9GXzgyTWIxO2ZueVhG
dTE2emNySm9KI3hyVFEyIT9lRzY/dTNnMWQ4K0t7Y04Kei0mMWp+ekZMMTBiRTAkaG1nTVl9PCY0
UGs/WCF6d3ZLMC1qKWY+QjtlbT9RMT1TJGArTnc5JEBXUjc9JiVgNDFsCno8ST1xI28wPlUtUVN9
QD5gaytJJWN+NV5lMDA2V1Y3JXMpMUJZe0dQdDNzISVMV2RRPjl7LXYjNVdVSjFeeikhJgp6O1p8
en0hMHA8KUQ8Mnp+TWlqVmFkcXpgenpvdkpyYi1QenF2bzwlWVZENVhxX25BVEdqZGZafGRWTXBA
dWlPZmEKem9zfTU7WTJKWS1BNVZ2KW9rSGZGZUg4ZkVxazx8Y1ZBT0BzMSFWZUNHR3JjaGAxUypW
SWRae0Z2K0swPUBsWjFsCnopWFpDcns8U0x7aCE+fj5QbUxLa1ArdV84JEoyfWpNYD5IPWpxPjE1
XjRBWTdWK0FAUCVVJjRePHE2UFchQ3hRZwp6S05rTXVmansqQ1Q7aGxrezdtQ2xHM1N4UUUocGpQ
TEpKd2I0fHc5cGtPJUdgJkcwdUhUc19Ud3MpRXUjJkpNVzIKektIX35lK2tJKnN0JDtWUmZec1E2
aFYqaEFNaFhOZlV9cWw7NyYkWSh1Mz83PHskX1F3SzR+bjt5PFp5QiZJQG1OCnpzV2puNjQxZ0cr
MDVMR0BNcWhyWDhYcj50VG5lSz9WMUQ2S0NfO2MoNmpESX1waXE9RGR4R309TDZ8ZmtCRE0hMAp6
dDl0ZGN0QEl2SmVxO3oqJFQ5ZEoxUEk2PCV8T2kmdFRQR3difkFhbCg8dGA1Q3xoOHgza0o4RV9n
di0kLWdZVGMKeiMjRW47PVBkMUN5aSl7fHBsb1gleWZ2djlOdldlPDhpbig9JiM4X2YhUi1hUVRe
RG5eYkY/NEZYbkZLbUtmdGc3CnpaOHUkdD94YS1QPWZNMV9wKng8X0dyQm0/VG9BTSh0YXhhMyhN
V2MreWBydysjQyRsPUM0N3M1JHo4UEtXaXdBOwp6NHhoc0NYJmczUEZgU0tBWGxRNk1mSWEocDBA
IW12dz5ueDtTS2sxNDUpfCl2SDdSVm0zfk90RXk5KXtIdj82Ul4KendANGZWXi1lVCMkaVpzYXM8
TlRzcnhRKXtkSF90SXpUR1ZmKEhxMzFXKTEqQFozdGtyUVFnayVZb15XPTlEZX1KCnpYRWEqXzhD
KG13O2VLNERWV2NUdnpiZjNIQDU3N3wzZlV+QktBJnk3VGo9U2R0UTkpP0lWZypTeTNFfiRlKVd1
Ngp6cF4mOHUjSXMhQlhFaWs9dnJ6eztnNHRmQUptUzNUaHo7TTVKNng3JSUyWm15XnJxZkM2M2NQ
cWc8T34/MmwkO1UKemZvKm9tREE9IVRtKFVIaThOcX5POHwrZG03eE0zeENCcG9wOUNrcWZzYGhy
eSMoKUs7IU1NOUVLLShZfHRfbk5vCnpacntTWGxuT2hUeDVnSU1zI19IOW1vKGxfc25HYTFBcSsr
WGJDaGlsN05oIXgyN01eP0xxfXlgYEVFblEmK1NKcwp6e3xfWEVlfiZyOz1NIXp2P0AxITc8Sms3
aUYjdXAwZGBEcyoze1I1b3N5QF5QSCMhb3dVck09RDdSPFR5bjY8YHkKekE2Nz1lI08wNU9wXm4m
Q15NPk1fOD9MI0YqTUllYDwmWEU1fElmUT9wPllSVlJzemU1OER1bT5uenlqZ3JyYVc1CnpafkJh
OFEkVkdgc0Mmd3xjV3ZaX2V0czdHVHZ2UEItOUAxfTJsejVCUmF0dV9iUiYxI0MwOXlTdHZvYmBi
QFVidAp6NU52fX0zMC1UelJMVm0/YnZTQlN4eyhRXjc2O29SN3k3bHBIYUx8eWokYlFtSkpld3Jt
KjtJP3gmfWt6NG1oI3kKekJyWkw0SDhpclo8KmwwQkxhZVFePHJ7MGMoNlE0ejI7TTJBM3AkQHpN
bUJPc0xVKTxBS2I7LXEwNldMUXdKPGotCnp1ZjgpQkUqelJESF96ZCFKbl5Dfktze1VsWUhSNmZY
U0hIbGNueGooWSV2fn5SYD9ESG10SDVmIW14RUV0aEcjcAp6JVp3cSMtbyRGRElOJUE+T0JnZSYk
Wj89YlN9NSM+OFc7ZUZ2c0dTRVl1SUMldXdWVTRLcTszQ2FhfTUmQkV3ZnYKekVLQGF3WWdhQ1dk
S3F2R2I/eXV1cTdUUXcwWUNXNFlSOyNyMGVLPHByXz15JkFaVDkkej01Q3t3RmJQd1F0O2hhCnpV
K2YwSSk/O14yUkExR0E1KUszIylsSnd5UH1KRE4yYSpmZlk3c3R1JD1LNnhGNUJWamZRMyEmcSRU
RSN7d1U1Xwp6Xz1hWG9JZHRUayhFWWd5LU0rcER5eHlCSlR2PmF+bSU/bVd5O1F7VD9EcTk1UG91
Syo+TjlmTCU5MzQwe0dKa18KelZaPVB7d3B7S0sqRV8tZEU9JjBBUDZMMiE7JUcpU008byhOO0RZ
KVRrYnU1eztqRktgUUZLMURybWI/VHpsJllECnpHWFMybF5UeWUtNGhGWXNoQ1JFRUViaD9GezV2
Pz9kKEckTWFxKWNlK1RNO1ozWktlMVBGcWIhNXRAdDMlfWwhPQp6QTRxNEdSUiN0Qmd1LXpFcG8y
bTlgMSUlRFRVWU5IeThHWk1wcVdAUFN6SzM3NkM4RjFQWFhgfGllPDlzVkhZPnwKemNUeFcwX2s4
XlAxRDM8YjgtbmtJQ190IUdeJFJCXlE+aztqandZIXlNcXtAVGlCfUVVRCM1NXIxTFgqTklySkh6
CnpQJXw9UThCIVRZQmZwenVATzB7K1FPVFVQSWxXZH0+NU1zcEA3e1A0ZCU5T2d3QEozUj1aeUMk
P0RYOH1eV0Q3ewp6ZC1uTkFTQjFabWFEdWVLSUx+cUA4alB2aEsyeGNWVyFeOGhZSTh9KjZzeW9K
RCVJd20/ezA5I2k2U0U+bUZvQnIKeil0R3kjWVRHSytTb0djWTEqdTw3PEp4ITN0MnE3WjYwMWF+
ZDh5cnA/KjFleEcxam05RjZyXlFobiU9eWNFJnlMCnpKOFFIaT1lQj5EbzczWWpQRSRjbXU+PiV8
TGo7aEZSfDg5Nnglekw5MGFmLT9qMDFjJTtRa3NBcjNQJFgxMldXcgp6YEQ/JmxIOSZuMElJOU05
VUlYckYwUF96KF95P3paZiVWKjUwUSoqbTBmN2Q+QXAhKE16IXQzbCtBS2l8MipQUD0KemktKXNn
MmxDJkAzIzFybk41O3RhUm11QmJmT25qN19xfHs3e05DMTIlNkFCVkBhUH4tSiQqbUo9PSVBP1dm
ITthCnoyenEhdVd4O3FqbF4tZFZtcFFzR2BYTlc5eThtc0FwIU5ZPFhMcHdCTWFOIyUheShvND5l
SCZ4Q0VvM0k5XnRvXgp6LWFuQ2E8NEh8IXQwTU57c2hYJSRxLVMhfEAyaFVvPUg2bm5KYnowKU1I
aztXelIhUjkhQT14Jk9meG5jVkVtZFoKemskeGlKRiMkbERNZytWfjFnc19rS0dwen08NDd0Yygp
ZloxXz5sLXVYJDQ+JCQ7Pnd8aiUxdjZUSDs4SylIPTsjCnoyXnB1SUhqTyRXalY+WXByPTFwNEl7
RiVvJCNLK35NX0BfXnI9MiFhbn41fEV2O3JgV0kpfm84SU88JjFJLTZwTgp6NGlXOGlFZUpHcG9y
d1M8K1VjZWNYXmhpdWF2WEp1WHM3IUZrdHl4OEUwKlhudn0oWE8+VXE5LWFudktDb3R7K2QKekd+
eFZ9TDt3LSheeklVOVB7d0lEZDRIc2coezZHY0RnSCNKaC1nUklMOE5nfER9YzYzRDNgP3h3NUJf
UCpVfXdsCnpeekdrTXBDNnplSk5RVTh5ZUtDNTlTaXEqdWl6VlhKIyRPOD1fWDQ3RmQtWjZhUVkm
QyhYT3FVNEtpIXlmeHs9fQp6P0VDcypZTHkqS2Y3Wns7ZT5CRSRAOTttWmRTMDVQOHRQSSNAbEk2
QD1nKjRDfDEjT1p2Zz5PNUZOO3BtNiZ+QkcKemNieHZNRzVPS0RBcDQ+ak15KUBPSnglfkEkK0Nn
ejdDTExfciY0JXp7bmtga24mfHk3KjElWEIrJUdBa1Q0ekAqCnpwXyZyYExeUHpYQkdNcURBeXEt
N2FaJj9KandfWGpoU1ZfdlE/eGxtZlR2YWZKdDNoKmg/aUBQdEc2em1fdzQpcAp6bUFvZzRvVnIp
bFRHNE1MXlAwY3BsalY7Y04+VyRsSlJ+MzkrTVRzSUNJRW5gcmNfVHNCJWQ+VEpkdz07dkFnJDYK
ejJZeU5ZJk9AZDh7eEQjNmc+fntNRCVJSFZQMVZ6ZnN1ejloUkxeUn1rO2UqdS17YjhOOXlrKzVG
IzVORFd+O2BVCnpNJDBkKTJ7Ujd0ak4xOSk/cnJlc3pEWUk5RjBzcWAhN3FLYXclems9NHF9TlJq
Zmpwa0IwQURLd2ZYXj9CQkctewp6algqPTZPJDNiN2FkSkhNSHhYJiU2OUwta1NTLT0rKTJhZEVz
WHpNVyM/eWReaDZZWXJyJn15QkFmbG5jTT9ATlgKemg9NmUjUEpacWhULVJ0IWo7RnkzMCNrLVdH
JkRxc0ckT1BERnJKMyNaKkR2ZFlxaWQqU1lrKi1MJkZnUWpWVitqCnpmUVdgdW1KKEA8KHtPUzty
eDRMXyVJOEY7dzl+THlHVWJzcmpYJGFnZFlfTV44TGd+PUByN2xDSH0/NHB0aExQJgp6S0EzP1E1
ckVlYnc3ZW1KT2Q8YHVqLVhCQjlGZkxQOGVucEspcFowZHJWc31MUSVDPzJmWSVYVEdsZ0UzQVVn
QC0KemQ3Wk1Rb1Mtb0RVd1JpRkFPM28wIytoJE0qUntYPFZEOTZyJndnekB4Mj18KF4hfWNYVVVx
NWJzPjw8MWk1V0xHCno7dyVpWE5qKkBFQn0mWXxGVElfNjA+VnxRZT5mfnM/VTx3YiE5dH17eEgr
IXFgdFYobnI9LSlUPDtDNWhgUmZ+aAp6ZU8zXl9AYmpSMUhuXlhqdjE1eUE9YSstT3BaK2wpT31N
X3dkUDdfTT1XNyEjVVhaVnYpd1lLMW9JUzlUVHoqYUEKemQhNTdTYXhvJnwxKF5TUm8jOGhFI31V
XlZUIT1KNmh5Y1BtTG04M0FESSRRViZIKD5JdCp5ZD5wMlhANVRlYXAqCnpaWT4xJEIyeFF7LWVJ
PSRgUE9ybm1BfXFBO358U0pSaTVBVXs5fGNzYlI2ZU84Q3sxVnJhdjd8b0hCMl9AKXRARQp6eHYj
dEhpPE9MME5LLWpPI3pGZzRXNEhRV0NRZUd+diFIZCRaMWRKbCEmMlkpOylRYCUmZEpKOWBOdUJs
aV9XZiUKel80dlp1bzJ7I1FRZDItYlc8a3NScD9ZfUppfSNyfVNVfH17ezNIfGNsZXBrTyM3e0Nf
PVg7R0phQiN3YzE3N0VZCno4azMydWdWKmBBbT9BRFhYeSskPDZES0cqb1JzSl56cmd8M0F1OU0w
UzAwRThlITV4PGUlTWJqKWRnX1NlbHF2NAp6I09xa3I2QUFKIyZHaGlleXUpY297eylkN0g5XiNR
SlZEZnhQN3RYVTZHV1BGZkB0NzhLe1ZgfkFSNFhJaH1PQHIKb3VRN0ZHZkB0I0wxa3NIOFFwQTJx
cytyQWZePjBoRHRyYEJkKWIjS0soZlpsezAzcTlAeCZRekcKCmxpdGVyYWwgMApIY21WP2QwMDAw
MQoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2Zp
bGVzL2NvbmZvcm1hbmNlL3Jlc291cmNlcy9yZWQtaW5kZXhlZC5wbmcgYi9MYXlvdXRUZXN0cy93
ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZXNvdXJjZXMvcmVk
LWluZGV4ZWQucG5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjMxODhkMmQ3NWI0NzBkYjhmNzM4NjFjYTcxNTlmN2Y0
ZDhlODIxMjEKR0lUIGJpbmFyeSBwYXRjaApsaXRlcmFsIDE2OAp6Y21lQVNATj8ob2xIeWB1VkJx
IWlhMHZwXmozQ1UmMz94LT1obilnYSVtRj9qdUt5VnJCcC0yXzFHJF85OStBWmkKejRCV3lYJSpa
Zm5qcyNGcHNsK3YrIzVxNFZII00oPiFNUHxrdV9RR2BwKip1QkwmNHFDSCRXampQYSNwa0ghLTw9
CnpNWSVJakhHN0d0dVBnZylNajBfSChaakp4LTlSQk9QWiE0IWpfYihAS3NGTnQ8MEhqQSN5fVE+
cj5tZEtJO1ZzdApFMEZYNSV7UXYqfQoKbGl0ZXJhbCAwCkhjbVY/ZDAwMDAxCgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFu
Y2UvcmVzb3VyY2VzL3NhbXBsZXJVbmlmb3JtU2hhZGVyLmZyYWcgYi9MYXlvdXRUZXN0cy93ZWJn
bC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZXNvdXJjZXMvc2FtcGxl
clVuaWZvcm1TaGFkZXIuZnJhZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMWNiYTEyNzQ2MGY2MDg4NmI2YmI4NjA3
NjRkODk4ZWJhOWEwNjdlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVz
b3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVzb3VyY2VzL3NhbXBsZXJVbmlm
b3JtU2hhZGVyLmZyYWcKQEAgLTAsMCArMSw4IEBACitwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDsK
K3VuaWZvcm0gc2FtcGxlcjJEIHMyRDsKK3VuaWZvcm0gc2FtcGxlckN1YmUgc0N1YmU7Cit2b2lk
IG1haW4oKQoreworICAgIGdsX0ZyYWdDb2xvciA9IHRleHR1cmUyRChzMkQsIHZlYzIoMC41LCAw
LjUpKSArCisgICAgICAgICAgICAgICAgICAgdGV4dHVyZUN1YmUoc0N1YmUsIHZlYzMoMC41LCAw
LjUsIDAuNSkpOworfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVzb3VyY2VzL3NtYWxsLXNxdWFyZS13aXRoLWNp
ZS1yZ2ItcHJvZmlsZS5wbmcgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9jb25mb3JtYW5jZS9yZXNvdXJjZXMvc21hbGwtc3F1YXJlLXdpdGgtY2llLXJnYi1w
cm9maWxlLnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hYThiZjM3NzE3OWViOWFiYjQ0MzUxNGM3M2UxYzFmYjAy
ZWM3MWU1CkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCA4NjgKemNtVi1xMURwSmJQKTxoOzNLfExr
MDAwZTFOSkxUcTAwMWloMDAxSGcwc3NJMk5pZXJ4MDAwMDlhN2JCbTAwMXJ7CnowMDFyezBlR2M5
Yl5yaFlHSEY5WVAqNy1aYlo+S0xaKlUrPExxaX5OYSZLbTdZLUlvZGMtcE96emU+WVU2bzxiWAp6
MWRCb3V5Ym99ZmZ9bGRFWmNhJkNOPHBNVmhhXzgqaEE3ZWArKzY8QGQ8QF5mI2xfWGgqLTIwK0lR
YTw5UENefUcKenR4aDhOIUdaN21oUXJ8O3UtMlRtK3AkKClsb3s9SFVGOFIlVDcwNiRHT0tLfUds
PEs9Pkd5WDV2T0cpcGlHYTZmCnoxaSltfFh9Y1olIyFfNXAxSDEjeFZOJTgqWSM9JV9nI21GMSRt
cUIqQWclJGE1NDt3TEpEe0Zje3M3ZFklM3B4Rwp6X0phX19EPEQlcDIqQ283UVJOYmxDT0owJXQt
S2lQcXg4X0lyZnU4RzhSayk8X1EkMTNNeTJYeWFqdUo4NEBAIXkKenN7SF97d1IjPXBielN9JktN
MitBdlkjY3R2VHd2RWBnSGFLWXdQIVpLSTdzRkhnMmNXPkNIVWI4Xk5SajMqa0lsCnp6WHV4ZCoh
VGQrKmlOa3R7ckM/NjAwMUNrTksjRHowRD5fOTBEPl85MFVzT3kwQjNeJDBCWjtVMFQ+ZWkwNnt3
ZAp6MDBWQEY8cmA3fTAwRkU/TF90KHwrTyRfa21jPWojbFglfEV7alkxeTB3LX14YXJ4ZSl5Y2pT
TmZ7PWQjQWZaPz4KenlCN2RaeElUO05maWZ1cUppakdDbDd9QENDSUtNbWp7eEx2TkR9fVVNd1hp
KG5aTnQ4QGpSZ0Z2eU1jdHZlJCFYCnotMihfP1JzPSpoTHVeeyVEUGAzP1I1Jko3ZV4zRSohOT9n
VGcxMVooQWZQTE1nJTVVSmp4Rm5aP0p9XlQ2NXxGRwp6Pj5VTGlCc0JKenAmdnhocUNnJlhuNUE4
Tm19c0E+Nz8mdCpVKlJQSWI7NWJjTGEhRW5mV2pMX2R1cEwzNlo/OVQKem9GeldXTiYzdmg2RjZs
P2UzXzsrdjJgIzMhVnhyd0JoViUkcmQoPkEyaSgqT0I8MHZHRjtRR2chKWtadFdHKG9YCnpOQyot
WGhFUHpgSFlaZzFvUk5IUlRGUVo4RzZ3fDs+UWhYOENSI0JhPXY1Q0khcX5DSnUzOHY2TCleb31j
fnZIfQp6X1EqWGdhIVFlNk9yYUJgRXNoOU5pc1VUYkJ2NEAjMTszPFlZcn44KmdAVXcpZ2NTO31n
PFZ2bTMhP1QjQFo/QHUKejtZRSp3SzM2PkYlNmpxPWlGYFF0aDVgIzteM2hwK0hBc3M0SjBAbCk7
K05rNDxAYXtESk0rc1NaTlA5P3JfJE1HCnUmZE1DQiZ+Vj8wQDIzKEt6cCN9Z05FJksze3tzTWBs
KUh0ZD1AWHk7MDAwMDxNTlVNbkxTVFklKU5wP1EKCmxpdGVyYWwgMApIY21WP2QwMDAwMQoKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2Nv
bmZvcm1hbmNlL3Jlc291cmNlcy9zbWFsbC1zcXVhcmUtd2l0aC1jb2xvcm1hdGNoLXByb2ZpbGUu
cG5nIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9y
bWFuY2UvcmVzb3VyY2VzL3NtYWxsLXNxdWFyZS13aXRoLWNvbG9ybWF0Y2gtcHJvZmlsZS5wbmcK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNjM0NTRlYzBkZDdjZWQ4OGQ4MmM4MmFlN2E3MmM4Njk5M2RhNDM0MgpHSVQg
YmluYXJ5IHBhdGNoCmxpdGVyYWwgODcxCnpjbVYtdDFETzFZUCk8aDszS3xMazAwMGUxTkpMVHEw
MDFpaDAwMUhnMHNzSTJOaWVyeDAwMDA5YTdiQm0wMDFyewp6MDAxcnswZUdjOWJecmhZSEVCYWJQ
KjctWmJaPktMWipVKzxMcWl+TmEmS203WS1Jb2RjLXBPenplPllVNm88Y0MKenBeOElQJGZtPFph
VEtiOVBgOU01Ulp1OT1BPDVSSHApSXchO3BZME10SXkjQklPO3BOaWk0dHlxbUxrKzkyfXdxCnpD
bFVPbkBCRF90O3J5VWRiREQwZXZJeWhVWHNfKWBLTTNYUTE2NWBLcGQwNnopOUQtbHEkKkFMaUdi
LWQwXm83Twp6WH1UQGAjKGJQPDFBRzhteShFdTgpUFVpKyRxYX1xej5ZP2wwZFdKXmBxKm9MeEM1
K3k7Wkp9Uzc1KVpUKzdDaHkKej98fEwrZ0FnaW5mRV5YUzBAeDxHRmFRbWVQNHV1b0Zta2hBdVM9
KD1xQ180fGErOGQ2eHUzPkxYRyhXWChnVFk3CnowOWFfSzZRdktrQ0xUenk/ZWcjVktgMEJHekpD
MzhyXzQmP1ErQFdgZ31ERUhFX1lteFVeajs5Y0Ewcj1hNk4oTAp6bW9pKTNnUWEhMm03aHZRUWJZ
czlkU3c2cjAzYyZYUWNWQj1oWUExeWoweWslXzcoc0Rnd0ZyfmIyfFY0Pns5PiQKekkrcCtkOVpV
TjJXdFJXfDBqeDx4S34jOSF2e3klIyNWYG55Yzszelp1V1FXJEN2aSkwYFFEX3c3JSZvb2tiZVJv
CnpwOyQ0eTdYVlBXSzh4dnJHQVJOKXphPkREaGN5eD0wVStwKTBPVzUtNjk1PVNtWVgxJXp4JVRC
SmZQfmNqenFBcwp6Kk1uJT8wfDtZUTFWbEdPWStCKGRXentgWUkzYHFvUHl1d29NQ2RNcHdAZVpz
cGV1aWM0fFpMU0UkZSZqR08oYyUKejt8M0okOVIoZEVIMT9SR0E0SmZpS3B1Nk5yQ29jTlhySFBX
bW5keXQ7VXhpZSFnPEw7dU5Ib1EhVyV8PVlNfnwqCnpgK0Fke0J8Z2VZYHBtPT1JQXVuQm5XaStj
YnVhPEs1ajJNKiY/WTlQVHh5JkwrfCZ2cjw9OERUUUN2JklZSW8qagp6RSU9czUyb2U7QVAqQnIw
Q3NnXklrJGlBayU3SX1yMkwlZjFRJXJwKFN9YDV5UlN6MSUqcztaflN7T1AqK3s0NnEKelJWSzZj
JFVRQWBOfDlucnAlYkpuanRFblY8U2dES1ArPTRXem9jVnAhO0NiQWcwelEoNiQtQ35UfnduQnFW
YDRiCno8WCYwZk1VUjYlUzNLditkaCF5OWRecUBxMHQ7WEEoT0c+cE5RKFBBQ1QxdCVtKWAmN19q
YjVEXlVFUF56O0labgp4KCVFTHQke2VjRGFObWpWcnhGI3Z1JDNmODhmckhHMHwyNnd5TT9DZDZR
QlM5MDAyb3ZQREhMa1YxZ1d8YzhDQX4KCmxpdGVyYWwgMApIY21WP2QwMDAwMQoKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1h
bmNlL3Jlc291cmNlcy9zbWFsbC1zcXVhcmUtd2l0aC1jb2xvcnNwaW4tcHJvZmlsZS5qcGcgYi9M
YXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9y
ZXNvdXJjZXMvc21hbGwtc3F1YXJlLXdpdGgtY29sb3JzcGluLXByb2ZpbGUuanBnCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmE5MTg2OTY4ZmJkMDMzODVmZGUzZDI3OGNhODBhNWIxZDgxNjZhYzMKR0lUIGJpbmFyeSBw
YXRjaApsaXRlcmFsIDkxNDUKemNtZUc+WWp7JnR3KS1TKWwwSWsmRW1GS1FPYnBNRnc4PVNuWFF0
TFBOdWYlaHF+K3lSZC1GSStRPEkhREljWkRQCnpLQGIoNGBENmY8KFEmODxzUEspU2p9Y010OVhr
cnJuZlllITJvdzxneWErbUM7Y0B9N1NXITU0P1MxbTlxVlViVgp6R2s+TiMtKEZ8IXdib3ZIP1h9
bF9XTithZTtSN2BHaEs5eGxMYGYpMEx1bjhhaiEyKHliJSVvcHghdmVtZ3BkTnMKenNjfWRPN3pJ
Qj5VNXlGfWoqeVN+bW5ffislfUMyZ0shISNEKGYxJUhEMkN2YmZJb08mNyF7PUpaaWVzTXNDeEhu
CnoydSZaR2BQdWBWazV4NmJhWGdvNzxLaWt1dnE3fmU5MUN6PU55Ty1Bb3NGaCN2e14rUFk8aXV8
WGFwNVZgVUVBbQp6RCttWlpBPDYyV2BHaG8hdEZhJj84NnsySUQ5aTUkSDdWQipZRmQ2akJ2ZUtS
UlVec2ptYjhvTiZ9e2dFTjVycD8Kej9ATFNydTVjMlNsMExPTSs9dnFYMmJHWiQzZnpUajNoJHdu
czhwZCk2ZSZ1SmlifEN3I1U7d3w8KXgrTjxFdHR2CnojI2RCU0ROOUw4ZjVnSnFBdkxDP1dLN3da
djFNZ3JFNmQ4dERsc1VsNnNzdCZNMWstLXEqTmRebmtsOCFOVFFecQp6Tj1rU2l4LUF1VVFGVU50
QXc/MXhqRlNgc3JKenRJUn0+WU9Lc2J6S1FiOzFyRnZsWFFmUmFpSUIhek9CcUVLM0AKejJjfVk1
YUxxV24mXzNUPXEzJjREJFNUKXRlNCYyd2w8fVQ3ZTBvRC0jVTYpej5lfVloTjZ6P0AjO2N4dUAk
UEJQCnpidTl0Y28xMXZrZ3VNJW52WS1CRDw8NVBuNTY/RENlYHhiUEZGbXwjO0dAc0JZPTNNMlV4
eVkzSk1WcXVzaDQqagp6YDFxVzgpfW0wP2VlMGp6KFNQdlI9U24xemZWQm4wQ2JfSzhOS0NrZjkj
O1NzYmZfeHxuZE5JTHU/MjU8X01GeUYKekBmfUk1U25Gc1c/QHQ9ZU9xRjIrPGtPNkE/Z2IrQE8k
ZkxhbjBXU1IpYFZ9alYwejkzO2F5WkpDMmNCRTlYalN8CnpvY2R0dlR1PFlhJERYPT0+eD42MCpZ
IU1tVHRMRnhgMyQjYmUqMFEoIUVhbElKO3l2WmApPlQrPnlNdm5KWHAyMQp6ZVomNTNIP0M/bFp+
TCQzZ2hScWZnKWNXcF5mZndVc2MmPV9PZUYmfW1jVHJLZEQ0PzJrRDRoUSFtfktAQ0gxQmUKelVS
a2I2LUNhbzNJRUsqaGpHYVV6Q3lwI2omeXNReGZkRDh7M3VaRzsjYmpuK09oUE9lIVlJck1aNz5M
JjJ0YiZGCnprZj0wZTxELXZkREdaX0MxVFo2bXIjZ2tJYX09VTs3fElDNlZWKyR3Tms3NXRPUnxM
ajN5PTZoZnBzST9TNkJmZwp6Kk5adnJ3QEUtbldhU1kzY3JgOWNad0RhdTJOd31jSWZRMEhve1cr
eGlvN1RTemlQbGNQenAqMyM2cWJIZyVPWTEKejBQYGFiXyNEdWEoQm0rUTBXQShDNGg1a1UwY20w
aHo+eHtCUG5tPlUlZENZTjhhRHFNRGN2bmhrRUozSl9+N01TCno9SHBWYUt5c2UxLTRDVTdKJiZL
S3BAZjQzd1pNYGM7Ykl8LTwxfmoyXjctWEBve09mLSMwKmNVRXlLc0EkJiEoPAp6cEdfYHwldD1D
dDhxclE2O1FASVpXSH43YElgZWVQTGtUVndBMz42RmlFdDwhVmBIZigpRzJpfVc5ezxANGEjR0AK
ekRXMDNmI0BLfEhYOUdZJEVsY0JVVERWdmcjdVV0SGpEfVMzYEZyPFlubzJ9a1QjSCt2c2tDI2te
Rzh6TCRxK2smCnpCSilRMDdIPzwtdDwyOXRKK18tfk93TWpgJismMHcxUz9jeiRSbVZ7K1BGbElK
cldMT0pYSjFzZXMrY29IUlM7fAp6PXVKZzxLI014cjFiKyRmZyZGY2xAZSpJaSE5fT00b156Rj17
YHkmMjIyPz9GeGZ1MyE1em9jdnJUOFM5MkBLM0QKemp6QSFOZ0llbjJjbkdMKCZgViY1K3JCUE49
SWppdDQzJEViKVNWYHtJNnZ7KEw9MGh5JFlCWDJ4ZmNMLVRWfmQqCnpMYGI7YD08VFFxX1VfVCRl
c3M3MF99bzhXdzxpJks0VVJ+KDA1WExgdksta18wRzU2cUVjK19kMVJEZWcrWE0kJgp6MUlBIU9M
PX41alAkMzZ1TWgyYDxvQ0Qme0IhfDtKWCt0PW95cllmaDwySjF9bWFPc09iOXMlUWkpeT5RYVY9
ZT0KeikxbntPYjtySF8rZ00pWlZffXU4UmlGQ3pLRDg8d3M4dWdBeF4/Y2pnS1oxWD9uJHVDSiMk
PDlKLTdMLTBkP0pWCnpzdm1kVHh9KShaJVg/TWIoTVQrNT4ja0szPHU8QEVTKnVuTjUmcEpYSDkw
Ryo3UTM1TjRsY299M15oeSpRfDtIOAp6XmVVc2lNc0grSGo2dEpmYlVLU3hYViZVPCl3SVAlR2Q5
fHlOKyZoNm1rMCFIOSVuPGtIN00xcCk3fFJvPlo8OXwKeipLbW9EbWJPfjBTezxXaG19LSF5UEEt
a3stdE92SGEma3Q0bFRHPik7VyFgV1ZrKWZCM3AqaVNzfEgpZVBESkJiCnp3VV9pKE1saiZkJUVl
KV5DeWZYRVN+a0spKiUrUyQmKGhjZEx9QChwRkRQNE9nejdBdDNgZUZDSU0/bUliY017dwp6TVdm
aiFsRHctRXk3Njcob1d1KmEqMjU7YlJLbX0/ST5GNHpuYTIyVkZ6M3pAIyRuQ355SUEtYGRGaDVR
Q28zQWEKeklURWF3aHdURWt0VntzcGo9RmgmMmVBIWxZMVJvbGMmIUAkS2RoJGRZVERkRj51cEE+
JjB3aDNTIV9DO0RDKl97Cno7byNENWlsK1pjanUzQDc0MHc2KFdyWUtOVGFaZ2N6MkwpZSlFaT44
P1F1NHdSJU02QU1zXyU4OE8rbj8oO0ZSKgp6clVWeFpNfVI/T24mYVVadkQ1OWdITzcqPkh8QSM+
b3dhSntXS0IzNnVzTXg3diZtdip0Zm1JVyorQTN2Y0dfVnYKeiohMzJqd1Z0dS1LeyorRG8wSWRX
YTQyUSEyNT89Jm1ETHJHTSY4S1pyVU1WVDRPQnFtVU9aMX4pd0VoZ2g+TE9iCnpMe2NKPWZ2SU0t
OG5tPHlRZChmaTxwZ3M0MStnJFZuQEx4azNvVWlCJlR4b0xWeWUta1ZUQCtUN1JYaSZ0UGRLLQp6
WT04X2ppJFA9NT5tYnZCMUtwejZmSE82RTlqKCNSN1JYa09rJTZwZGZDaFRaST47YnYjJF9ZJEE/
cG8jPTBgZUwKenoyMEUzbjs2RG12S3BOX2xpNSkzYXh0e3M9YHVKP0c+aW19WGpAYWJufmZ9WGhH
OCgwIzJiYllvRiNjMnkmK3ZFCno5U0w0UE0xeyN7KUVtP0VrPUBqckVHQzEtcHRHOEUxVlJWUUck
VFRXUCgtSyl4eyglVDM+c1heT2R4YT9Jc3oxYwp6S3J2WDFJcyYxaWZJfkx7ZkA5MmphMnRqbzU3
M0lDMXRiQ0R3KUVnYzN+PylaYTR2Plc3YSp3JXR+Sm1HOzk+flkKejB1KDdgZj9GYE9mfUg/fmpN
V0lablphfjMzPEUkSUVDWCE/b2Z6Vn1SdHY2Y3dPfD5tMTxQMmlNOC0tSjlCWj1ACnpaNGg0c0N2
fndVdXIhITdGclhSOzAqeSZ5KT50JUY0WS1EO0g4aTg0XiV+bHNmZEt7fitOXjxTVV9jZ1AxVlJM
Jgp6I3xWSzBhUjRDJGs/PHBuLUNXT0Q+eTVQQ1dIdmtYXi1jIUQhfHJnXitaX2hsVllUMkxMITY0
VSElMH1rbVp0WmgKelgwe2BaTVp6a3c/JUtTNWFaMzJ7bEUoKHJYPiN+ZClCbXpsU1g5fjcjPV53
UVVrU2dxeW9xOC1GMzVMejZSYlQxCnp2LVBgfFM/I3g0JkJnRlBmdD1sT1peOD5aSUdhZTtzKUdx
R3N1R3ZQY3Iydml4cGFaN2tLZHs/PkZ2eV55UUNXfgp6eTkpbGorPmpte2YxNVdKViZST1ZScFZa
MEBtVzl8Uz8kKmNvJCZJYDRIPERiajlAZi00IVNPTFN7ZVAwZFNLSzgKenFhR09iel5EZ0NKQDhO
RGYhc3xCOC10QG83dT1Id04yJWxSQUY7S2BHcTBnPmoqREZTUTE3fiU4KEppQUg2TS1mCnozRDJ5
MCkjND5Mc3BSfE5yRFl0dkwlezIjKlBvMnJvMHtncDRHeE5sKlFwcklCKUIqX2NSOypaLWx4STNH
Sz8keQp6N1d2fXxkO15TY1BOeE9uTWclVTNzc0lta0BvfUoyY0t9fFEwSFhsXkltU2FHejhUe181
cjJpcXcwSW1LXkMhVHwKekxWMzZeNTlpX2I4dS1ZOyNnfiUlVHp0YEVSTHkyJWlMZ0pGUkpweU9T
UEdzQUxfNHF+RCRmM3NDZEwwaGZjLTNMCnpKTEA2LXFwdGM+al48bUIoMm5+TXN5ZFhUUDF5aTxi
Wn1xJV4zRUtNK1gkfmlAQ3FqVnhqJldZT2p9MSRmNmpYcQp6ejg8TEp0RlpYeWRQUHVAT1ZWdTB0
QkshMEMwV0xtQjYrWEVAUWoqITZfJnhQQFJNTXNPYWQ+UCooNnVVM0paIykKeiNxZUdadWZqK3No
NCE7ZFVgZ2M/MXl6S0tPQ1V9dURaQzN5dXwqUERRSHB7V1ZgYnF1Kil7U0NIQiEpKGM0cVNVCnpx
V1NlI2Q4ZzxuY3NpQz5gUE5Lelk8JUpMRygpMHo7djBMNih+bVRwUi05UztxX1pYSVlCMTA4JnNl
WjwoYlhAJAp6eCVjUiZmeEcjMkU3P3VJKn0zbi1BNmtORVFgY0g7dm0wKiFfbE1mVD9WVmxTT01D
OVFfcjZ2NEtrKDRRa0Y1WDIKenFtT09nXjM+RE1ZfkErS19McTBPXjZHMjUtckMqJmAjPTB+VkU9
KUc/O0x2ZnFyWk45PzMyT2NwQURWK2VFNXM9CnooMCUtbFRfN3ppQ0A3SDAzWnIxTTY1Zz4zWCZG
KmkqeXFhYFopSnl+ZSk7NHo8MkBVRlNMdXNobkRXTFJOODxFXgp6QlAkSD5vTCVMMm9fWEBjWH51
fnlDUmJwM2Fxe2tVNExyN1kwaD9OQVVVPzVPYDBOal9lcldTY18oQSgmQGtNKmEKenRWS2FmX0U5
X2NxQ0k8WVRsY0Q4Sm9DISQtfXorTitQRWFWXiFgVjt6V1JxbGdJYD4weVd5dHhvKENTPV9TenJj
CnpKJGA9ViF9R3djXkcrXiVSelMqQXJ8IUFxd1ZpOHJyNmtTVj1MWkU7KFEkRmRfTCtPMWBSYVZB
Y1NIQWkwcXFkYgp6emgzQ3U5XlNkQj5PY0N8LXxSb0g5cXR8ZTwrNUczemlAVWlhJngpSWImfjZV
eCV9eWQramVmOUdfKzRacFVHUT0KencrQytkViprWjIyU0l0cSt+K14pX2BaR0peOFI0fnQ9P1lK
emgoWkpUSyY4V2IrKl8wUDZ9dyFmJDMjR15LSVN3Cno+NF52S29OIV47YUJ0XyhVfVE8Wj1iPjgj
XndWWCNgP21oejtDb35HSHlNdXtTa15QUmFDUHMpSGV0YGVFeUw5cAp6YHd0JmhTbWVMOU9ua2Ey
YURMaEEwKHhMfGAtSWd1ZTBjT0h8TX0/Z3kxTCMpMUI+NH5hZ29AcT09K3VKZ0k8P18KelN9I3Qy
fDNYaHx4JEBqbGI9fjEqSkVVTFRgRiFfPXBBRyFtJkBiUWJTK0gzXjZWeyghLTc0JUkyLT03MDRo
Wk8hCnpeemRRSD1AVmxQcDhvOWNebkRsbHpDODdwP0tBdGdiVSs2Tkhnd2w1dGg9bDN4ZXNuJXtK
NGVwRThkIVNeVzt9Ywp6YHE3MURAQVAoRmNjPUY1UmJUY3pAXzZzKGhnWCFwYm5PMDVfU0R3KXtR
MT1UR2Z4UW4ySE5LaEtpQnUkcHxkQigKel5pJXV6VVRGOCVjVyU0MmNJTjclZ0IhVTBVdEV8cUlQ
fSRwK0dwb31mOHR4ZThgQHBoZkFIKihmTnB1Y0A1NTd9Cml6aWZIX2p2RUpGeCFDdkw8ekY1cWRN
KGVyY2NBcXJnUlFOP3E1bE9LVWJZYmMKCmxpdGVyYWwgMApIY21WP2QwMDAwMQoKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1h
bmNlL3Jlc291cmNlcy9zbWFsbC1zcXVhcmUtd2l0aC1jb2xvcnNwaW4tcHJvZmlsZS5wbmcgYi9M
YXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9y
ZXNvdXJjZXMvc21hbGwtc3F1YXJlLXdpdGgtY29sb3JzcGluLXByb2ZpbGUucG5nCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjU5MjI2MjczNzY4ZTUwOTVmMjMwYTM5ZGNiYzM1ZGY5NzNiZGVjMWEKR0lUIGJpbmFyeSBw
YXRjaApsaXRlcmFsIDg0MQp6Y21WLVAxR2ZCJFApPGg7M0t8TGswMDBlMU5KTFRxMDAxaWgwMDFI
ZzBzc0kyTmllcngwMDAwOWE3YkJtMDAxcnsKejAwMXJ7MGVHYzliXnJoWTdpbUw3UCo3LVpiWj5L
TFoqVSs8THFpfk5hJkttN1ktSW9kYy1wT3p5LUxHUzA3bFFQCnpnNGpXZTFuR0RPYWRJZXY7SHJW
QFY0eCUhbDU5O0hWbkNCe2JLPyY8M2E7SlUxaUAhZWNoQD9KZjxBPkhJeShlTwp6OVI8JkhJTVc5
b2gmUmpXeVI4bCFXP0k9aCt0VHZgSXJtSlBCfDVhMjlZJHJiSDVsdnhXTyl8ejh2JFEwMiFOK0cK
eiVqdnVQanJwaWg4aDhnKk17eVp9PW1NaS1VMSQoemZUMjc7MDVKeFByMWwlWTJ5NEZ3NENVRzto
ellRZU9uRXJ2CnpJekdfPVc/cjFDR30rZzN6MVEyMnlLJHp7czRBczNPdFB3a2RJdGIpR2U1fGNR
PX1SSGl7fVRqd2h0UXRofi1Kcwp6IWJgWmpmYk1KNFI8MjwyOUJ2PCltUzRsPkMoTWthTiooPXRB
fEFnMUsmd1pgVUEtWGkwMDAwV1ZAT2c+MDA0Uj0KejAwNGw0MDA0Q2AwMDhQPTAwMjZkMDAwK24w
MDg7ezAwNG1LcGx9OSowMDA1M05rbDxaYy1wakFOMCFBZjIkT2k7CnomSGIteSU+cE5KT0w2KCRx
YFZqfjVgdklfMHdBR1NGfW9LNFBgRXllPjQ3cFMwekFKWkskMz93NSsoczQ9I0sjOAp6WiU3alc3
KUYreEFlcTFXdmhoNWk+YSZoU3UoSD5LWHgjJHtWXiMhMkgkIVklO1ZFVStKeWJYKlJEVnpiYmlx
WEUKekVgcW1BNStJLX1lfXhaclU1K2o1ZCtqbz9wJVVXOzZ6bS1aOVY5Z05uNHVwOyg0cyZkYihw
MUhkemZnU3N1LTZqCnpaQ35MZjBkPk44JHdJRmRldF5Pb010Zj9aQ0tMTzVsYmpfISUxUWRuIzFs
QVdNdHFzM0dfaUZzMG0yYjloYT1EPwp6Q1o9MyFvQ248MDNNQSMmRWlxQUNPVCVoKz00MzdTbVBp
Tl42b3lieCg+NW5tYEo5bl9hOVlaTlZLTjU9M2hHbCMKemVJe0JsOXEzZ0w4cDdESSNqYVd5SXoh
eVUjQ2NVRnYtWmU2RXBrZWNWb2FlRXElRHBKUTtPcyktWHVfQTZhfk1lCnpWezV+Vkc9K2sraGxD
WGh1WjNNeXFZSSs7TWV5V2FTPloqR2dGYVYwPWdOQlc1e1l+YF89Vy10VS1IcGVlS2ttbQp6YCNV
Q1BDKnFnaHxLO35+eEk2UjlBI0syTFNmfHEyWDNva1NzP2MhWGlTTVRwNn5DflJCdUUtK0h2YTx2
cUxqT1oKVHJzKSUpMDAwMDBOa3ZYWHUwbWpmMmRHOyQKCmxpdGVyYWwgMApIY21WP2QwMDAwMQoK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL3Jlc291cmNlcy9zbWFsbC1zcXVhcmUtd2l0aC1lLXNyZ2ItcHJvZmlsZS5w
bmcgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3Jt
YW5jZS9yZXNvdXJjZXMvc21hbGwtc3F1YXJlLXdpdGgtZS1zcmdiLXByb2ZpbGUucG5nCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjI3OTJiMGFjNTcwM2YzMDY4NTZkMjI4ZjEzNWY0YWM5MmZmOTczNzEKR0lUIGJpbmFy
eSBwYXRjaApsaXRlcmFsIDE5ODUKemNtVjt5MlJgX1RQKTxoOzNLfExrMDAwZTFOSkxUcTAwMWlo
MDAxSGcwc3NJMk5pZXJ4MDAwMDlhN2JCbTAwMXJ7CnowMDFyezBlR2M5Yl5yaGNrNyt8Z1AqNy1a
Ylo+S0xaKlUrPExxaX5OYSZLbTdZLUlvZGMtcm1QWWMhTzM5MCYwNAp6N2BLV2ptbEMkZ0J9SXhN
bW9YUjVGc05pQlFMP29SUVZpM35OVlptNkMjVEQ1bFA9cUJCaHJQb2kpPXwzPjR1VU0KekhrR1ZQ
djIwM0dSSEZhQj08SmJwK3dEYz9ZJWlZUXRLYWBRJit+aUVeRXt2UHxERmRoSGx5NXlCNHElUTc9
X0h3CnpRXj1ZPEN5MXExaU5Wa1UwM2J2eG1yXnJrYztsYW8wZCFZYDBSVUNqbClGJm1tJTYxWFB8
MGBMejNabXV3UjQ2eQp6O29vYkJTU25LaDQwUWw4VmN+S3l6KnFga1QpYVo2MDJ0ezJiVkgtMDNW
QExaS3Z4X1k1KFkzejA4RjZSTEt9ZWIKejk4bGQodjQhaytkUnNzfThCcENXV0slWVBtS21UMUEp
OHtxKTd0fDJXYEcoYihRKUdiPVlkOWUlJmVJSmB+Vm9pCno0WTgwUzBXdkphMHpeVXE3VEI8WDRj
SzZUTEt0RVppZzIobjZBNiQqZnBBRDUyTWJkVzEySk1EZ0F9b2xBcHtEOQp6Qk1jdzlwOVRPVWd1
QHpnX2B3c3gqPmkkZVolXnhnJE5rNWNgVCl9b1B9KFB0dXclY1NyWGNgU1k2KkVaN0VudDgKemBj
ZXNieV9iLV80MWllK1R2I2xqZ2UoQUhHNjRXQTBQWC0zZXwtPmZvTlVRfF59c2pmSz1jd3xvSHhN
VjUwcEx6CnpoVW95emhrIylxUF52Pm47WjghJU8odndJclQ8ejYwN2pIanJMdnQkaWZYR21YVkJX
ZzYmbWBRdnhjVDxVRDU2eQp6Wm1LZz9TRTg0IXBFYVVqPGFMQUZxdntNQmpwfmk+ZW87UVVrZC1y
THZxYCpaZlNJa2l4X1FtbWdCRyVKUFVDdlUKenBSJHglamtVVHhWWVJpamI+JjMpQjwpR3JIVWdV
cCtqK0xGPj1eYl9KRT5pcGVXLW8pV1JKLXc5RT09UklXIyVDCnpJcXFAbmNBRG4mbFQofHNnTDko
dUM1fCUzamtBSzImdU1vVjxLcFgqPXlKJVYhbGojUXo7KSZaYSVKM1BaVSotaAp6eDBITDIrcypA
VElNMG1kITFMay1AdUdRJnlqMCNIVUo8WEJfbGpAOGNqMz9IdWkrbygqOWtOUTApYXdzU2tVNVgK
ej9pJTVtP2I9Q2tzZFpHMWFIMjN0Kng8JUBPTEpGdGs5Tk4hQCk4d3oqbX5yNmpgeiY9dmhnfVNN
S3E7KT5ZezFQCnpYPSZhOT8rNFNyX2leLVRgRXU2YGVfdzZpbnxAbm8maHhrT0AwKFFfYTUhLU5Z
ez93fEFpPjs4IUtQbXMlYD0hawp6PlQ2YnJSVllYNzZTZzNIYjtTTSFXc3hyeVN3c2EjWjxTUVY+
UHpQPiZYTSZoWDJ1PGZBRyViWVBgN09RQH1ma30Keml1eyRfUmhMKSRCe2kqQ3pScUMlbmRIelB2
XkhNWTZ1O1NpT1ZfcnUrdD08NCtISmM+R3AmOF50O355QWM/V1YxCno5bjh1OElybkpjQHlaaXpD
a04kUTdYK001SSlEMVl2ckJlWTV7ZlRoKDxfVEVGUjhHc08wQzhuTWF8PmlCPXcjNQp6emlsNGNs
SiF2ZHNPaWF1UFZWIUw3ZGJ1QWVRWksjMyR6OD0wJlVAYTMhZiZKNV57bTRXcT9JSHp9RXZ4Mzte
dm0KemZZfUhianMlSitMVy1zbmF7ZCh8Kk1leih2X0U8O3FBayFDWGJUX0FCX1p7cFQtcHd4X00+
dTFpQlU0KHVVQ210Cnp7TkIyUjVNb0xRRihRUHhlYXVXSEM4ZEVRMDdQXnxiVlBMY3lvfXRHXlcl
dEBtc2lmYzA5LVhxazBpdj1Wb19ZSAp6bnA0Uzlxdkw4QF41PV9vWGwpRDFkXkZKY1hJbTIpam0k
a041bygtNGhDPkV4cyV6O0ZiSUA2K21wZjgtUkVufFgKej1vWFZRXlpNfnQ2VkJNQStqbHVQMj97
KC17TiZMQU9JPXBuTlhsUlQlU041ZSp0VF4/Xlh8VTE9OFN6PSlQY2ZtCnpsZiNsRDhPSlc9Ul4/
VG1FWHZPO1NiQTE/anVmNkszY2xFVGRDT0pQO19PbihZbmYkd0gmJk1hZSQlNU95fFV8OQp6KFhF
WnUpcHRoUl57PzQqP18ldzxJIyZJWmhTPGhVX200ZCZZaWUlcFkwKyNvez1AUjJlSC1AP18xTFo1
e1IhMjwKemQrTnw+e21rVUtaa0l+ZV5YYFRoKkkod24rU1QqallqTGxyJi1ATVpPIz9ZWUtDN1pG
Jj16UDV3MXhOVSk4d0NPCnohb2FabGA8anM2MjEwci02NEt7Uz1PNjh5LXQlWSt2PDJHMnw2UDlx
K2k3SUNNSSNpeTAwMDBXVkBPZz4wMDRSPwp6MDA0bDYwMDAwMDAwNFpuMDAwM18wMEQoajAwMDAw
MDAwMEFTMDxpczAwMDUzTmtsPFpjLXBqQU4wIUFmMiRPaTsKeiZIYi15JT5wTkpPTDYoJHFgVmp+
NWB2SV8wd0FHU0Z9b0s0UGBFeWU+NDdwUzB6QUpaSyQzP3c1KyhzND0jSyM4CnpaJTdqVzcpRit4
QWVxMVd2aGg1aT5hJmhTdShIPktYeCMke1ZeIyEySCQhWSU7VkVVK0p5YlgqUkRWemJiaXFYRQp6
RWBxbUE1K0ktfWV9eFpyVTUrajVkK2pvP3AlVVc7NnptLVo5VjlnTm40dXA7KDRzJmRiKHAxSGR6
ZmdTc3UtNmoKelpDfkxmMGQ+Tjgkd0lGZGV0Xk9vTXRmP1pDS0xPNWxial8hJTFRZG4jMWxBV010
cXMzR19pRnMwbTJiOWhhPUQ/CnpDWj0zIW9DbjwwM01BIyZFaXFBQ09UJWgrPTQzN1NtUGlOXjZv
eWJ4KD41bm1gSjluX2E5WVpOVktONT0zaEdsIwp6ZUl7Qmw5cTNnTDhwN0RJI2phV3lJeiF5VSND
Y1VGdi1aZTZFcGtlY1ZvYWVFcSVEcEpRO09zKS1YdV9BNmF+TWUKelZ7NX5WRz0raytobENYaHVa
M015cVlJKztNZXlXYVM+WipHZ0ZhVjA9Z05CVzV7WX5gXz1XLXRVLUhwZWVLa21tCnpgI1VDUEMq
cWdofEs7fn54STZSOUEjSzJMU2Z8cTJYM29rU3M/YyFYaVNNVHA2fkN+UkJ1RS0rSHZhPHZxTGpP
WgpUcnMpJSkwMDAwME5rdlhYdTBtamZjZXxwXwoKbGl0ZXJhbCAwCkhjbVY/ZDAwMDAxCgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29u
Zm9ybWFuY2UvcmVzb3VyY2VzL3NtYWxsLXNxdWFyZS13aXRoLXNtcHRlLWMtcHJvZmlsZS5wbmcg
Yi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5j
ZS9yZXNvdXJjZXMvc21hbGwtc3F1YXJlLXdpdGgtc21wdGUtYy1wcm9maWxlLnBuZwpuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4yOTA0ZTg5NTIzNWM4ODVhMmZkYWFiMjQ2OTc1MWU4NzNhOWRmMjQzCkdJVCBiaW5hcnkg
cGF0Y2gKbGl0ZXJhbCA4NzEKemNtVi10MURPMVlQKTxoOzNLfExrMDAwZTFOSkxUcTAwMWloMDAx
SGcwc3NJMk5pZXJ4MDAwMDlhN2JCbTAwMXJ7CnowMDFyezBlR2M5Yl5yaFlIRUJhYlAqNy1aYlo+
S0xaKlUrPExxaX5OYSZLbTdZLUlvZGMtcE96SjQ/ZjA2aE99eAp6MlRPJEBIMGIobXgpZWZ7Oytq
NFhMOFoxR2w1RVhgYGsrYnBeNy1ofUEwY2wzMG9AJU85USordDFpe0lsOzNoYVoKekkwT2shQjZ5
fkEmdjNiTCFCfUBYdCopXlFsU0hmamMxeWFSRkJoTXZ1dGJkfW8xLXcjb0wrQWlBVzQmJHA5dUpQ
CnpLPiQ0MG9sZExFLT44T30oIWVMc2h+aGoxVkZTVXImTlBUQ3p6Uis+NGRNb3spVWUrTUBjQHxQ
IXNtYik2I2ZkQgp6JUpxQkBaLTZ5K0pzJTdKRD02Rm9FRkU4SGZPZVdxKXpTRCslWjY+Kyh1dlhf
bVY7QG88NEc9ZWt9eT9Tc3p5NEYKemZaeyM/RHVjYj11dj41US0/Kk1IM3d1OTYwQWdpY3d2ekJ2
b3Foa24qIVg9ZWNOfH5CKSp+IzskYDsraVRAX1lHCnpXbX4oM1NgK1R+eld7bDdQM2htPFNlcE88
MDNjJlhRY1ZCPWRMO2s9ZlAoLTRfODAmRmd3WCYxY15Mb3o9eGhLMAp6SmN8R1Q4KDZ6TWlrPClm
MGp4PHhLfiM5IXZ7eSUjI1ZgbnljOzN6WnVXUVckQ3ZpKTBgUURfdzclJm9va2JlUm8KenA7JDR5
N1hWUFdLOHh2ckdBUk4pemE+RERoY3l4PTBVK3ApME9XNS02OTU9U21ZWDElenglVEJKZlB+Y2p6
cUFzCnoqTW4lPzB8O1lRMVZsR09ZK0IoZFd6e2BZSTNgcW9QeXV3b01DZE1wd0BlWnNwZXVpYzR8
WkxTRSRlJmpHTyhjJQp6O3wzSiQ5UihkRUgxP1JHQTRKZmlLcHU2TnJDb2NOWHJIUFdtbmR5dDtV
eGllIWc8TDt1TkhvUSFXJXw9WU1+fCoKemArQWR7QnxnZVlgcG09PUlBdW5CbldpK2NidWE8SzVq
Mk0qJj9ZOVBUeHkmTCt8JnZyPD04RFRRQ3YmSVlJbypqCnpFJT1zNTJvZTtBUCpCcjBDc2deSWsk
aUFrJTdJfXIyTCVmMVElcnAoU31gNXlSU3oxJSpzO1p+U3tPUCorezQ2cQp6UlZLNmMkVVFBYE58
OW5ycCViSm5qdEVuVjxTZ0RLUCs9NFd6b2NWcCE7Q2JBZzB6USg2JC1DflR+d25CcVZgNGIKejxY
JjBmTVVSNiVTM0t2K2RoIXk5ZF5xQHEwdDtYQShPRz5wTlEoUEFDVDF0JW0pYCY3X2piNUReVUVQ
Xno7SVpuCngoJUVMdCR7ZWNEYU5talZyeEYjdnUkM2Y4OGZySEcwfDI2d3lNP0NkNlFCUzkwMDJv
dlBESExrVjFnP1Jafl8xVAoKbGl0ZXJhbCAwCkhjbVY/ZDAwMDAxCgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVz
b3VyY2VzL3NtYWxsLXNxdWFyZS13aXRoLXNyZ2ItaWVjNjE5NjYtMi4xLXByb2ZpbGUucG5nIGIv
TGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uv
cmVzb3VyY2VzL3NtYWxsLXNxdWFyZS13aXRoLXNyZ2ItaWVjNjE5NjYtMi4xLXByb2ZpbGUucG5n
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmEwMjAxZjExM2ZkYzhlOTcxZmFhMTdkYmZmODk1NDE5MmVhODY2ZmQKR0lU
IGJpbmFyeSBwYXRjaApsaXRlcmFsIDMyMDEKemNtVi17NDFWKjhQKTxoOzNLfExrMDAwZTFOSkxU
cTAwMWloMDAxSGcwc3NJMk5pZXJ4MDAwMDlhN2JCbTAwMXJ7CnowMDFyezBlR2M5Yl5yaGhQaWFG
I1AqNy1aYlo+S0xaKlUrPExxaX5OYSZLbTdZLUlvZGMtb3kpWEgtK143Q3JhZwp6Xmc+SUJmUnN5
YlFXWGR3UWJMUD42cDx6PkFxZnlsaCN7ZmI2O1oodk1NVlN+JGVAUz1qKmZ0ZzY7VWg8aVZEflYK
ejxSUE10Z1FKTHclS1BEYXFpZmNAX3ZYJDF3YndyOXRuOzAtJmotSz00MzxiVVE4aj1Kc1hgdFI7
RGc3KyNeS35ICnpLIUZNKlp+emJwdnQlSzJ7VVpTWV88bFMqRDxaJUx6NW9HdSgrZGF5eiloUkxG
ZFQ+ZjU5JmdoVG1nV0QwbDsqVAp6STc8a0M2YVlZYWp6WHBZS3Q9KDhvdFAkNTBINmNfVjlSNC07
e1pAQzBBTUc3PUY8UnhvJW9yMTBSVVQrQXIlM2oKemtwTGhRV3IjIW9YZ2RJYCZzS14+MDlZXnA2
bFAxcklSTXgjMDVDfmNXPUhfQXcqYkotNURUJloybit4KVFIWF5wCnowMGVzZ1Y4fG1RY21SWiUw
MkReQFMzTDE2dGBPJWMwMDROSXZPS3ZZSVlvaDYyclkzM1M2NDBgRDklWTJELTw/aQp6MCU0aiFG
MlpANDg4VSUxNTgoNjYwMDV3bzYlcFdyXlpqX3Y0ekFBNUhqY0lxVW9HbXQyTEI+clYmbmVoJiNR
MWkKejAwN34xZSRvQ2NGUzhuZUl8aEpsey1QIUIxWlo5aHBtcTApWDBpYEp3RSY+JCtFPz4lXzxs
UypNV0srbisxY2dmCno8ayg4WUxSKD9WU0FHNnghZTc4d3tjUVB1SnBBfGQ7SilHe2ZpaGl6TStF
cmIhcCF0Y3I1dythMzR+KFk9OHM0Rwp6dytzTEw5biZKak5uKktKRGlxXlU1XjtgMW52Qy1AcjZQ
JCFrfTFVeygqST1RLXpAdEJLSG9JfXV4ZFU1ZHl5QHUKelUxSjBHT0Q3T21iaW1eRzAwOHA0Wl42
X2sybV5wPGdXPUQyfEw7SGpOMSFERGZNIVhPYVIyfmJMP2tYJCVDa1NtCnoybWs7P3BuKW98S155
ZUo3JWFkQjlLaStMITMrRmdIaVNZWCNLSi1sTEpETW45Q0JiT3RiIyUpaFJ2YFlEcXRfdgp6S3Bp
eHxRRH15ZmExSmlRUmsjajRhMVopbjIlZjx4eW56Vj5MQzZSYlZJa1V4MGIrXytCYVIzY25UN1p2
IUFKeFcKeml6RmIpaCFqeUdPT1o4NUY7YT9EQVhQe21AOyEwX0lmcTxFeHsqN2AwNVhGN2hQKzJI
bCEzQlFKPTZAZkwlRkNvCno4aVlvbzMoI2JBRmBBRFNwcXRRZ3Y+SDgoSGxnUnh0N3MzfWszS2Br
RnU+Pi0yUSRRTUZmUFchTGF7aDMzNm8+WAp6dV9DTXR0SHY2elI7JlpOaVM9WDh2M0NSI2ZrblV4
SFV4SjxBWW1Sc05MV2wqUFN7QU9BUkh0IzUhd2tpMj9LO3QKeiFZM2s9czd0Z2F4KUolcjctQkxw
aGdlN35CaTBnKzZFNl5aaChwOVRCb2N7M0dBRnJeMCFndT9STUhhQ00kJkZsCnpCazMldW4+MHVv
QmFfTTZXTldlcUlnfjZRRTY5YzlvI2V5aEd2cGlPQUBXLWFvbms8N3IxKD9mQ3tvSTVOKlUhNAp6
PHV2NjZXdGNLU1JpbTB4LUtlMmQ1akJybUxhbXs7UW07e21zMXIxR25tTnNiN0QtRWB0KWk5Rjhm
WGAyX2kzLV8KemJoOzdVbF4jeCkme3h2Uz18fHw3PW1ZZTMzPU1gQWdVNSh4Qz5mZz0yTi03PWNO
bmpqT3J7eXJpeTZtTUZnRyNsCnpuQ0Y9Zm5RdjhDRHorK282X0xzY2x9ZVErbF5aSEFSSD4/X3NA
fCMjUnI2S0xSRkExJVErPSpSUldub0xzUmA3VQp6dDV2RjxRMHI0MFEpajY9c0U0WCZzQmN0MXE8
JmZiaTNWQjJPdjZ0QHEqMCk7VSpvKlNBUFp2fHZ2QDJhWVluVDAKemIlOGErQ2I3LWdlMEQwa25F
ZjVRaSNAOFRwKmNle047NmxwUXVDQiVLTF9LT2FybTVjUDZfOElyPGUxN2lyeTZPCnpEZEgmYHJa
aH5zRj1icTlzK08wUVNnU35AUUw5Sm15Kjk0eHI9Nnl+TVl+ITFmZXR+KE4rKDw9TWB3QEQxKWIr
cAp6KjtDITgzYTF1TEp2I05TRX47eSM4PTw+SWNmVzNAP3dGcHdVVnhyVlo+UWRRejMyS0llSn1r
fntjWlpFXit5YT8KejJEMXojMkhPbkk3KEIlX2FjP3t3RlVRO1FRQTF0Qkt0cldybTBfM1JncHMr
P0pmcWJ7alliY1FYfnRhUkI7IyR5CnpaTntTfTF8fWdVT0hKeGM/d1YzZnh1eittSjRgIUYkSVo7
bXFSck5zSEpkIyMqRH5qdT1iUDc/LT92fnxjdj52Qgp6c0o2SWVOd1ZaeHJkalRgeWwjYkJJYSNH
eFJhI3hNTXk7SyNDRHl5R3lRZE1TeGxXVCN0RGU/cCE/NXdUJCtvR3QKejhMO0twMkhVUS1aTUo9
M1hKUXY7eDVjaSo/dnVUZmVZJDsoe1hHV19odUlGUjlhPGZKYkZefDRJI3hRfm4kRGM9CnpLWWhq
WW1nejVOU2tEbTgqZlptezZVITtZWGBORz4oP0AzKVhTczhPXk41UnlPTT1UVG1wKDM9OF4renB6
MnIpQwp6Xj5KT3tkZVpmc28zb3EzP1dvKFk/bCRnZT91WG87JXJ1YFZvPj88PCg4SV8+OzhFcSNL
TVM5Z0ZsKm5lZW9zU0IKemZvSFluQlFJa3dreW93UHUoemRtc2Bwezw3ZTRrcmEtWldxPDIqT3NH
VHZFViVzMFRkJGhYVCshKjhCbmgyS01lCnpCbVpSb2RqSFY/citfNV5YOUowV0w0aktXYH1sZiVB
LXw0NElAQExUdmYxckhqRyh6ZTYrd0BKdCVCdmp0cyFYMAp6PzJ4Uz9fdmVfLWs8TXVqZzswTHoq
M2J1Rz0zJEcmZWhlcHRobE4qJEthT3lTU1FebldtbzwwTSsoVUVVTUVYUlEKek1CYlpjRjs2K0tF
bE0+aUtCX0tpSmxaJDlHYGNePUVAb05HKW1XV2FOby0zVElXOCkkSGcwVWItfjg/S2h2Sj4kCnoz
KiZuaW1AbWooYUN4RTUhdHtsdzdPNV4wRUlPN3pPbyZjNmw8K3xpRHlTQldDR3J6QEM1e1N0IVgz
aEFBfWBUNAp6KFRMYlhUcSsoO0A8PUw4ZFhuc3N5ZnR8dyNXU1RXPCsrMz5zZ1MlKDROVHBlSS1W
QXFifDdzc0p2ek5IZ09aVnUKemFZQ3ZnT19SMX4+U3lMPWNGVXx+Z3xoeXxaaX19czkrZH5sWXFP
QjcxejlaJHduQz1wUjlZejREaElNPldtamd1CnomNTZvNm1hQ3BDJkYjI3klRzsxUG9iUjlpP0du
Tmc7Z1l0Y2hEJXAxOWEhZVF0WkYmM0phS3YzM2daPDhEfjQ3RQp6dFVTMWl3a21EYVBwaj0kbSMl
KWpDVkVZNGZuTEdOZzJBLWBZd0hWRDNndn07PiloQXZUfkFtcVM+THJgYGk3a3cKekp7NV9JdGB5
ckJtbGMyNURCTzdFODs1Vm96blI+V3c1aEFheG4kMn4ocWAlQS1ZdVM2NHdrQnk9OWRtYDRjWGVY
Cno0Y31JQD9lK0ZXK2JAXlJEQkhWKHduTXEyemRYM1NXdjl1YCV7eEMtcSpVfSZgY3lYViglclJU
Klo2TUg/aStpJgp6X0I4QygrZ3JUJXtYV1VRK2ZATm9QMVI9QVcmMjZ7di1keClpS14tTm1pdWo4
dHhqIW0/WipTczFOe2RoNHp9MDEKeilZVG8qSnljU1UpK181cjQjeXc5eys7aTRFZSRwZVJnSWor
O3Y7WkdkRjFLJDNFJWV+NExhSShqQy11JTJoJCZSCno5Y0xYY1lDQFh3bm5zJmJuKV9RflRlP3Jv
S0dEfGQtZ144OythQ3t7RygxXihPN20zN1kxLSs2KTAxY04meTFhdwp6b3Fje1RgUF5YSnFQQmJJ
VzZzfWQ0e3pfZjVPbT92TWdOUUVKRz92MlQ9S1lkXjBNM0k2SVp4Ym55KSV2WlImTEQKekpwUGxA
UHNoOFF5UEJAS1R4K0BSZGNDIUtYN31rRW87U3xqXnUybFU3WFF9T287Znw7ejRMbCtfcj5AMS14
bDN8Cnphd3EtSCVlJmNrQytAQWhQclA2Qks8ej08TCowa2ZLVUBDWCp6ZXFiWVFUNCheVT5UI19Y
ZFQ3JjtGNzFqfUpveQp6a0N+NmxoN0VANm87V0BeSXBSTlp7cHRMdEwoZ1EtQ1l+NG1xVztVUzda
eHZtX3xAeXomZTUzQnBfbFRQbGZQfHoKenJUeXhfPmx2QHgjPV4hUHpSN3FxRjwkZ21gfFpKWis7
PClDcXUmb3Q8YXs4MURGMH5ydkdyNVhyfjh1YGxhdjFoCnoxRE55dFY+Mno9MDAwMFdWQE9nPjAw
NFI9MDA0bDQwMDg7XzAwNG1MMDA0Q2AwMDhQPjAwMjZlMDAwK25sMyZGfQp6MDAwNTNOa2w8WmMt
cGpBTjAhQWYyJE9pOyZIYi15JT5wTkpPTDYoJHFgVmp+NWB2SV8wd0FHU0Z9b0s0UGBFeWUKej40
N3BTMHpBSlpLJDM/dzUrKHM0PSNLIzhaJTdqVzcpRit4QWVxMVd2aGg1aT5hJmhTdShIPktYeCMk
e1ZeIyEyCnpIJCFZJTtWRVUrSnliWCpSRFZ6YmJpcVhFRWBxbUE1K0ktfWV9eFpyVTUrajVkK2pv
P3AlVVc7NnptLVo5VjlnTgp6bjR1cDsoNHMmZGIocDFIZHpmZ1NzdS02alpDfkxmMGQ+Tjgkd0lG
ZGV0Xk9vTXRmP1pDS0xPNWxial8hJTFRZG4KeiMxbEFXTXRxczNHX2lGczBtMmI5aGE9RD9DWj0z
IW9DbjwwM01BIyZFaXFBQ09UJWgrPTQzN1NtUGlOXjZveWJ4CnooPjVubWBKOW5fYTlZWk5WS041
PTNoR2wjZUl7Qmw5cTNnTDhwN0RJI2phV3lJeiF5VSNDY1VGdi1aZTZFcGtlYwp6Vm9hZUVxJURw
SlE7T3MpLVh1X0E2YX5NZVZ7NX5WRz0raytobENYaHVaM015cVlJKztNZXlXYVM+WipHZ0ZhVjAK
ej1nTkJXNXtZfmBfPVctdFUtSHBlZUtrbW1gI1VDUEMqcWdofEs7fn54STZSOUEjSzJMU2Z8cTJY
M29rU3M/YyFYCm5pU01UcDZ+Q35SQnVFLStIdmE8dnFMak9acnMpJSkwMDAwME5rdlhYdTBtamY+
RCVZYgoKbGl0ZXJhbCAwCkhjbVY/ZDAwMDAxCgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2Vi
Z2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVzb3VyY2VzL3N0cnVj
dFVuaWZvcm1TaGFkZXIudmVydCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90
ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3Jlc291cmNlcy9zdHJ1Y3RVbmlmb3JtU2hhZGVyLnZlcnQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNTljNzE5YTAwMTRhMDQ1NWUwNzE0MTAzYWMyYTY3MGVkNDAwZjA5MgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2Zp
bGVzL2NvbmZvcm1hbmNlL3Jlc291cmNlcy9zdHJ1Y3RVbmlmb3JtU2hhZGVyLnZlcnQKQEAgLTAs
MCArMSw1MyBAQAorLyoKKyAqIENvcHlyaWdodCAoYykgMjAwOSBUaGUgQ2hyb21pdW0gQXV0aG9y
cy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBh
cmUKKyAqIG1ldDoKKyAqCisgKiAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAqIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICogTmVpdGhlciB0aGUg
bmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3Jz
IG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20K
KyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Np
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhP
TERFUlMgQU5EIENPTlRSSUJVVE9SUworICogQVMgSVMgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUg
Q09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAor
ICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworYXR0cmlidXRlIHZlYzQgYV92ZXJ0ZXg7CithdHRyaWJ1dGUgdmVjMyBh
X25vcm1hbDsKKwordW5pZm9ybSBtYXQ0IHVfbW9kZWxWaWV3UHJvak1hdHJpeDsKKworc3RydWN0
IE15U3RydWN0Cit7CisgIGludCB4OworICBpbnQgeTsKK307CisKK3VuaWZvcm0gTXlTdHJ1Y3Qg
dV9zdHJ1Y3Q7Cit1bmlmb3JtIGZsb2F0IHVfYXJyYXlbNF07CisKK3ZhcnlpbmcgdmVjMyB2X25v
cm1hbDsKKwordm9pZCBtYWluKCkKK3sgCisgICAgdl9ub3JtYWwgPSBhX25vcm1hbDsKKyAgICBn
bF9Qb3NpdGlvbiA9IHVfbW9kZWxWaWV3UHJvak1hdHJpeCAqIGFfdmVydGV4ICsKKyAgICAgICAg
dmVjNCh1X3N0cnVjdC54LCB1X3N0cnVjdC55LCAwLCAxKSArCisgICAgICAgIHZlYzQodV9hcnJh
eVswXSwgdV9hcnJheVsxXSwgdV9hcnJheVsyXSwgdV9hcnJheVszXSk7Cit9CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5j
ZS9yZXNvdXJjZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMuanMgYi9M
YXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9y
ZXNvdXJjZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMuanMKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNjdjNzlmODQ4ZDk2Zjk0ZTlmNzcxN2VhNjlkM2NmMjM1N2M1Yjg5ZQotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2Nv
bmZvcm1hbmNlL3Jlc291cmNlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZh
cy5qcwpAQCAtMCwwICsxLDIyMSBAQAorLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hy
b25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJl
ZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBz
b2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJN
YXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24s
IGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5
LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5k
L29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNv
bnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3Qg
dG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJp
Z2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAor
KiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxz
LgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FS
UkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQg
Tk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElO
IE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJM
RSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcg
RlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBU
SEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCitmdW5jdGlv
biBnZW5lcmF0ZVRlc3QocGl4ZWxGb3JtYXQsIHBpeGVsVHlwZSwgcHJvbG9ndWUpIHsKKyAgICB2
YXIgd3R1ID0gV2ViR0xUZXN0VXRpbHM7CisgICAgdmFyIGdsID0gbnVsbDsKKyAgICB2YXIgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkID0gZmFsc2U7CisKKyAgICB2YXIgaW5pdCA9IGZ1bmN0aW9uKCkKKyAg
ICB7CisgICAgICAgIGluaXRUZXN0aW5nSGFybmVzc1dhaXRVbnRpbERvbmUoKTsKKworICAgICAg
ICBkZXNjcmlwdGlvbignVmVyaWZ5IHRleEltYWdlMkQgYW5kIHRleFN1YkltYWdlMkQgY29kZSBw
YXRocyB0YWtpbmcgY2FudmFzIGVsZW1lbnRzICgnICsgcGl4ZWxGb3JtYXQgKyAnLycgKyBwaXhl
bFR5cGUgKyAnKScpOworCisgICAgICAgIGdsID0gd3R1LmNyZWF0ZTNEQ29udGV4dCgiZXhhbXBs
ZSIpOworCisgICAgICAgIGlmICghcHJvbG9ndWUoZ2wpKSB7CisgICAgICAgICAgICBmaW5pc2hU
ZXN0KCk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKworICAgICAgICB2YXIgcHJv
Z3JhbSA9IHd0dS5zZXR1cFRleHR1cmVkUXVhZChnbCk7CisKKyAgICAgICAgZ2wuY2xlYXJDb2xv
cigwLDAsMCwxKTsKKyAgICAgICAgZ2wuY2xlYXJEZXB0aCgxKTsKKworICAgICAgICB2YXIgdGVz
dENhbnZhcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycpOworICAgICAgICBydW5U
ZXN0KHRlc3RDYW52YXMpOworICAgICAgICAvL2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodGVz
dENhbnZhcyk7CisgICAgfQorCisgICAgZnVuY3Rpb24gc2V0Q2FudmFzVG9SZWRHcmVlbihjdHgp
IHsKKyAgICAgIHZhciB3aWR0aCA9IGN0eC5jYW52YXMud2lkdGg7CisgICAgICB2YXIgaGVpZ2h0
ID0gY3R4LmNhbnZhcy5oZWlnaHQ7CisgICAgICB2YXIgaGFsZkhlaWdodCA9IE1hdGguZmxvb3Io
aGVpZ2h0IC8gMik7CisgICAgICBjdHguZmlsbFN0eWxlID0gIiNmZjAwMDAiOworICAgICAgY3R4
LmZpbGxSZWN0KDAsIDAsIHdpZHRoLCBoYWxmSGVpZ2h0KTsKKyAgICAgIGN0eC5maWxsU3R5bGUg
PSAiIzAwZmYwMCI7CisgICAgICBjdHguZmlsbFJlY3QoMCwgaGFsZkhlaWdodCwgd2lkdGgsIGhl
aWdodCAtIGhhbGZIZWlnaHQpOworICAgIH0KKworICAgIGZ1bmN0aW9uIGRyYXdUZXh0SW5DYW52
YXMoY3R4KSB7CisgICAgICB2YXIgd2lkdGggPSBjdHguY2FudmFzLndpZHRoOworICAgICAgdmFy
IGhlaWdodCA9IGN0eC5jYW52YXMuaGVpZ2h0OworICAgICAgY3R4LmZpbGxTdHlsZSA9ICIjZmZm
ZmZmIjsKKyAgICAgIGN0eC5maWxsUmVjdCgwLCAwLCB3aWR0aCwgaGVpZ2h0KTsKKyAgICAgIGN0
eC5mb250ID0gJzIwcHQgQXJpYWwnOworICAgICAgY3R4LmZpbGxTdHlsZSA9ICdibGFjayc7Cisg
ICAgICBjdHgudGV4dEFsaWduID0gImNlbnRlciI7CisgICAgICBjdHgudGV4dEJhc2VsaW5lID0g
Im1pZGRsZSI7CisgICAgICBjdHguZmlsbFRleHQoIjEyMzQ1Njc4OTAiLCB3aWR0aCAvIDIsIGhl
aWdodCAvIDQpOworICAgIH0KKworICAgIGZ1bmN0aW9uIHNldENhbnZhc1RvMjU3eDI1NyhjdHgp
IHsKKyAgICAgIGN0eC5jYW52YXMud2lkdGggPSAyNTc7CisgICAgICBjdHguY2FudmFzLmhlaWdo
dCA9IDI1NzsKKyAgICAgIHNldENhbnZhc1RvUmVkR3JlZW4oY3R4KTsKKyAgICB9CisKKyAgICBm
dW5jdGlvbiBzZXRDYW52YXNUbzF4MihjdHgpIHsKKyAgICAgIGN0eC5jYW52YXMud2lkdGggPSAx
OworICAgICAgY3R4LmNhbnZhcy5oZWlnaHQgPSAyOworICAgICAgc2V0Q2FudmFzVG9SZWRHcmVl
bihjdHgpOworICAgIH0KKworICAgIGZ1bmN0aW9uIHJ1bk9uZUl0ZXJhdGlvbihjYW52YXMsIHVz
ZVRleFN1YkltYWdlMkQsIGZsaXBZLCB0b3BDb2xvciwgYm90dG9tQ29sb3IsIG9wdF90ZXh0dXJl
LCBvcHRfZm9udFRlc3QpCisgICAgeworICAgICAgICBkZWJ1ZygnVGVzdGluZyAnICsgKHVzZVRl
eFN1YkltYWdlMkQgPyAndGV4U3ViSW1hZ2UyRCcgOiAndGV4SW1hZ2UyRCcpICsKKyAgICAgICAg
ICAgICAgJyB3aXRoIGZsaXBZPScgKyBmbGlwWSArICcgY2FudmFzIHNpemU6ICcgKyBjYW52YXMu
d2lkdGggKyAneCcgKyBjYW52YXMuaGVpZ2h0ICsKKyAgICAgICAgICAgICAgKG9wdF9mb250VGVz
dCA/ICIgd2l0aCBmb250cyIgOiAiIHdpdGggcmVkLWdyZWVuIikpOworICAgICAgICBnbC5jbGVh
cihnbC5DT0xPUl9CVUZGRVJfQklUIHwgZ2wuREVQVEhfQlVGRkVSX0JJVCk7CisgICAgICAgIC8v
IERpc2FibGUgYW55IHdyaXRlcyB0byB0aGUgYWxwaGEgY2hhbm5lbAorICAgICAgICAvLyBObyBp
ZGVhIHdoeSB0aGlzIHdhcyBoZXJlLiBJZiBpdCdzIGltcG9ydGFudCBwdXQgaXQgYmFjayBhbmQg
bGVhdmUgYSBjb21tZW50IGFzIHRvIHdoeQorLy8gICAgICAgIGdsLmNvbG9yTWFzaygxLCAxLCAx
LCAwKTsKKyAgICAgICAgaWYgKCFvcHRfdGV4dHVyZSkgeworICAgICAgICAgICAgdmFyIHRleHR1
cmUgPSBnbC5jcmVhdGVUZXh0dXJlKCk7CisgICAgICAgICAgICAvLyBCaW5kIHRoZSB0ZXh0dXJl
IHRvIHRleHR1cmUgdW5pdCAwCisgICAgICAgICAgICBnbC5iaW5kVGV4dHVyZShnbC5URVhUVVJF
XzJELCB0ZXh0dXJlKTsKKyAgICAgICAgICAgIC8vIFNldCB1cCB0ZXh0dXJlIHBhcmFtZXRlcnMK
KyAgICAgICAgICAgIGdsLnRleFBhcmFtZXRlcmkoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9N
SU5fRklMVEVSLCBnbC5ORUFSRVNUKTsKKyAgICAgICAgICAgIGdsLnRleFBhcmFtZXRlcmkoZ2wu
VEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9NQUdfRklMVEVSLCBnbC5ORUFSRVNUKTsKKyAgICAgICAg
ICAgIGdsLnRleFBhcmFtZXRlcmkoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9XUkFQX1MsIGds
LkNMQU1QX1RPX0VER0UpOworICAgICAgICAgICAgZ2wudGV4UGFyYW1ldGVyaShnbC5URVhUVVJF
XzJELCBnbC5URVhUVVJFX1dSQVBfVCwgZ2wuQ0xBTVBfVE9fRURHRSk7CisgICAgICAgIH0gZWxz
ZSB7CisgICAgICAgICAgICB2YXIgdGV4dHVyZSA9IG9wdF90ZXh0dXJlOworICAgICAgICB9Cisg
ICAgICAgIC8vIFNldCB1cCBwaXhlbCBzdG9yZSBwYXJhbWV0ZXJzCisgICAgICAgIGdsLnBpeGVs
U3RvcmVpKGdsLlVOUEFDS19GTElQX1lfV0VCR0wsIGZsaXBZKTsKKyAgICAgICAgZ2wucGl4ZWxT
dG9yZWkoZ2wuVU5QQUNLX1BSRU1VTFRJUExZX0FMUEhBX1dFQkdMLCBmYWxzZSk7CisgICAgICAg
IGdsLnBpeGVsU3RvcmVpKGdsLlVOUEFDS19DT0xPUlNQQUNFX0NPTlZFUlNJT05fV0VCR0wsIGds
Lk5PTkUpOworICAgICAgICAvLyBVcGxvYWQgdGhlIGltYWdlIGludG8gdGhlIHRleHR1cmUKKyAg
ICAgICAgaWYgKHVzZVRleFN1YkltYWdlMkQpIHsKKyAgICAgICAgICAgIC8vIEluaXRpYWxpemUg
dGhlIHRleHR1cmUgdG8gYmxhY2sgZmlyc3QKKyAgICAgICAgICAgIGdsLnRleEltYWdlMkQoZ2wu
VEVYVFVSRV8yRCwgMCwgZ2xbcGl4ZWxGb3JtYXRdLCBjYW52YXMud2lkdGgsIGNhbnZhcy5oZWln
aHQsIDAsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGdsW3BpeGVsRm9ybWF0XSwgZ2xbcGl4
ZWxUeXBlXSwgbnVsbCk7CisgICAgICAgICAgICBnbC50ZXhTdWJJbWFnZTJEKGdsLlRFWFRVUkVf
MkQsIDAsIDAsIDAsIGdsW3BpeGVsRm9ybWF0XSwgZ2xbcGl4ZWxUeXBlXSwgY2FudmFzKTsKKyAg
ICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIGdsLnRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwg
MCwgZ2xbcGl4ZWxGb3JtYXRdLCBnbFtwaXhlbEZvcm1hdF0sIGdsW3BpeGVsVHlwZV0sIGNhbnZh
cyk7CisgICAgICAgIH0KKworICAgICAgICAvLyBEcmF3IHRoZSB0cmlhbmdsZXMKKyAgICAgICAg
d3R1LmRyYXdRdWFkKGdsLCBbMCwgMjU1LCAwLCAyNTVdKTsKKworICAgICAgICBpZiAob3B0X2Zv
bnRUZXN0KSB7CisgICAgICAgICAgICB2YXIgd2lkdGggPSBnbC5jYW52YXMud2lkdGg7CisgICAg
ICAgICAgICB2YXIgaGVpZ2h0ID0gZ2wuY2FudmFzLmhlaWdodDsKKyAgICAgICAgICAgIHZhciBo
YWxmSGVpZ2h0ID0gTWF0aC5mbG9vcihoZWlnaHQgLyAyKTsKKyAgICAgICAgICAgIHZhciB0b3Ag
PSBmbGlwWSA/IDAgOiAoaGVpZ2h0IC0gaGFsZkhlaWdodCk7CisgICAgICAgICAgICB2YXIgYm90
dG9tID0gZmxpcFkgPyAoaGVpZ2h0IC0gaGFsZkhlaWdodCkgOiAwOworICAgICAgICAgICAgLy8g
Y2hlY2sgaGFsZiBpcyBhIHNvbGlkIGNvbG9yLgorICAgICAgICAgICAgd3R1LmNoZWNrQ2FudmFz
UmVjdCgKKyAgICAgICAgICAgICAgICAgIGdsLCAwLCB0b3AsIHdpZHRoLCBoYWxmSGVpZ2h0LAor
ICAgICAgICAgICAgICAgICAgWzI1NSwgMjU1LCAyNTUsIDI1NV0sCisgICAgICAgICAgICAgICAg
ICAic2hvdWxkIGJlIHdoaXRlIik7CisgICAgICAgICAgICAvLyBjaGVjayBvdGhlciBoYWxmIGlz
IG5vdCBhIHNvbGlkIGNvbG9yLgorICAgICAgICAgICAgd3R1LmNoZWNrQ2FudmFzUmVjdENvbG9y
KAorICAgICAgICAgICAgICAgICAgZ2wsIDAsIGJvdHRvbSwgd2lkdGgsIGhhbGZIZWlnaHQsCisg
ICAgICAgICAgICAgICAgICBbMjU1LCAyNTUsIDI1NSwgMjU1XSwgMCwKKyAgICAgICAgICAgICAg
ICAgIGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJmb250IG1p
c3NpbmciKTsKKyAgICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgICBmdW5jdGlv
bigpIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdFBhc3NlZCgiZm9udCByZW5kZXJlcmVkIik7
CisgICAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICAgZGVidWcpOworICAgICAg
ICB9IGVsc2UgeworICAgICAgICAgICAgLy8gQ2hlY2sgYSBmZXcgcGl4ZWxzIG5lYXIgdGhlIHRv
cCBhbmQgYm90dG9tIGFuZCBtYWtlIHN1cmUgdGhleSBoYXZlCisgICAgICAgICAgICAvLyB0aGUg
cmlnaHQgY29sb3IuCisgICAgICAgICAgICB2YXIgd2lkdGggPSBnbC5jYW52YXMud2lkdGg7Cisg
ICAgICAgICAgICB2YXIgaGVpZ2h0ID0gZ2wuY2FudmFzLmhlaWdodDsKKyAgICAgICAgICAgIHZh
ciBoYWxmSGVpZ2h0ID0gTWF0aC5mbG9vcihoZWlnaHQgLyAyKTsKKyAgICAgICAgICAgIGRlYnVn
KCJDaGVja2luZyBib3R0b20iKTsKKyAgICAgICAgICAgIHd0dS5jaGVja0NhbnZhc1JlY3QoZ2ws
IDAsIDAsIHdpZHRoLCBoYWxmSGVpZ2h0LCBib3R0b21Db2xvciwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgInNob3VsZEJlICIgKyBib3R0b21Db2xvcik7CisgICAgICAgICAgICBk
ZWJ1ZygiQ2hlY2tpbmcgdG9wIik7CisgICAgICAgICAgICB3dHUuY2hlY2tDYW52YXNSZWN0KGds
LCAwLCBoZWlnaHQgLSBoYWxmSGVpZ2h0LCB3aWR0aCwgaGFsZkhlaWdodCwgdG9wQ29sb3IsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzaG91bGRCZSAiICsgdG9wQ29sb3IpOwor
ICAgICAgICB9CisKKyAgICAgICAgaWYgKGZhbHNlKSB7CisgICAgICAgICAgdmFyIG0gPSBuZXcg
SW1hZ2UoKTsKKyAgICAgICAgICBtLnNyYyA9IGdsLmNhbnZhcy50b0RhdGFVUkwoKTsKKyAgICAg
ICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29uc29sZSIpLmFwcGVuZENoaWxkKG0pOwor
ICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb25zb2xlIikuYXBwZW5kQ2hpbGQo
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaHIiKSk7CisgICAgICAgIH0KKworICAgICAgICByZXR1
cm4gdGV4dHVyZTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBydW5UZXN0KGNhbnZhcykKKyAgICB7
CisgICAgICAgIHZhciBjdHggPSBjYW52YXMuZ2V0Q29udGV4dCgiMmQiKTsKKyAgICAgICAgdmFy
IHJlZCA9IFsyNTUsIDAsIDBdOworICAgICAgICB2YXIgZ3JlZW4gPSBbMCwgMjU1LCAwXTsKKwor
ICAgICAgICB2YXIgY291bnQgPSA0OworICAgICAgICB2YXIgY2FzZU5keCA9IDA7CisKKyAgICAg
ICAgdmFyIGNhc2VzID0gWworICAgICAgICAgICAgeyBzdWI6IGZhbHNlLCBmbGlwWTogdHJ1ZSwg
IHRvcDogcmVkLCAgIGJvdHRvbTogZ3JlZW4sIGZvbnQ6IGZhbHNlLCBpbml0OiBzZXRDYW52YXNU
bzF4MiB9LAorICAgICAgICAgICAgeyBzdWI6IGZhbHNlLCBmbGlwWTogZmFsc2UsIHRvcDogZ3Jl
ZW4sIGJvdHRvbTogcmVkLCAgIGZvbnQ6IGZhbHNlIH0sCisgICAgICAgICAgICB7IHN1YjogdHJ1
ZSwgIGZsaXBZOiB0cnVlLCAgdG9wOiByZWQsICAgYm90dG9tOiBncmVlbiwgZm9udDogZmFsc2Ug
fSwKKyAgICAgICAgICAgIHsgc3ViOiB0cnVlLCAgZmxpcFk6IGZhbHNlLCB0b3A6IGdyZWVuLCBi
b3R0b206IHJlZCwgICBmb250OiBmYWxzZSB9LAorICAgICAgICAgICAgeyBzdWI6IGZhbHNlLCBm
bGlwWTogdHJ1ZSwgIHRvcDogcmVkLCAgIGJvdHRvbTogZ3JlZW4sIGZvbnQ6IGZhbHNlLCBpbml0
OiBzZXRDYW52YXNUbzI1N3gyNTcgfSwKKyAgICAgICAgICAgIHsgc3ViOiBmYWxzZSwgZmxpcFk6
IGZhbHNlLCB0b3A6IGdyZWVuLCBib3R0b206IHJlZCwgICBmb250OiBmYWxzZSB9LAorICAgICAg
ICAgICAgeyBzdWI6IHRydWUsICBmbGlwWTogdHJ1ZSwgIHRvcDogcmVkLCAgIGJvdHRvbTogZ3Jl
ZW4sIGZvbnQ6IGZhbHNlIH0sCisgICAgICAgICAgICB7IHN1YjogdHJ1ZSwgIGZsaXBZOiBmYWxz
ZSwgdG9wOiBncmVlbiwgYm90dG9tOiByZWQsICAgZm9udDogZmFsc2UgfSwKKyAgICAgICAgICAg
IHsgc3ViOiBmYWxzZSwgZmxpcFk6IHRydWUsICB0b3A6IHJlZCwgICBib3R0b206IGdyZWVuLCBm
b250OiB0cnVlLCBpbml0OiBkcmF3VGV4dEluQ2FudmFzIH0sCisgICAgICAgICAgICB7IHN1Yjog
ZmFsc2UsIGZsaXBZOiBmYWxzZSwgdG9wOiBncmVlbiwgYm90dG9tOiByZWQsICAgZm9udDogdHJ1
ZSB9LAorICAgICAgICAgICAgeyBzdWI6IHRydWUsICBmbGlwWTogdHJ1ZSwgIHRvcDogcmVkLCAg
IGJvdHRvbTogZ3JlZW4sIGZvbnQ6IHRydWUgfSwKKyAgICAgICAgICAgIHsgc3ViOiB0cnVlLCAg
ZmxpcFk6IGZhbHNlLCB0b3A6IGdyZWVuLCBib3R0b206IHJlZCwgICBmb250OiB0cnVlIH0sCisg
ICAgICAgIF07CisKKyAgICAgICAgdmFyIHRleHR1cmU7CisgICAgICAgIGZ1bmN0aW9uIHJ1bk5l
eHRUZXN0KCkgeworICAgICAgICAgICAgdmFyIGMgPSBjYXNlc1tjYXNlTmR4XTsKKyAgICAgICAg
ICAgIGlmIChjLmluaXQpIHsKKyAgICAgICAgICAgICAgYy5pbml0KGN0eCk7CisgICAgICAgICAg
ICB9CisgICAgICAgICAgICB0ZXh0dXJlID0gcnVuT25lSXRlcmF0aW9uKGNhbnZhcywgYy5zdWIs
IGMuZmxpcFksIGMudG9wLCBjLmJvdHRvbSwgdGV4dHVyZSwgYy5mb250KTsKKyAgICAgICAgICAg
IC8vIGZvciB0aGUgZmlyc3QgMiBpdGVyYXRpb25zIGFsd2F5cyBtYWtlIGEgbmV3IHRleHR1cmUu
CisgICAgICAgICAgICBpZiAoY291bnQgPiAyKSB7CisgICAgICAgICAgICAgIHRleHR1cmUgPSB1
bmRlZmluZWQ7CisgICAgICAgICAgICB9CisgICAgICAgICAgICArK2Nhc2VOZHg7CisgICAgICAg
ICAgICBpZiAoY2FzZU5keCA9PSBjYXNlcy5sZW5ndGgpIHsKKyAgICAgICAgICAgICAgICBjYXNl
TmR4ID0gMDsKKyAgICAgICAgICAgICAgICAtLWNvdW50OworICAgICAgICAgICAgICAgIGlmICgh
Y291bnQpIHsKKyAgICAgICAgICAgICAgICAgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19F
UlJPUiwgInNob3VsZCBiZSBubyBlcnJvcnMiKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNo
VGVzdCgpOworICAgICAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgfQorICAgICAgICAgICAgd3R1LndhaXRGb3JDb21wb3NpdGUoZ2wsIHJ1bk5l
eHRUZXN0KTsKKyAgICAgICAgfQorICAgICAgICBydW5OZXh0VGVzdCgpOworICAgIH0KKworICAg
IHJldHVybiBpbml0OworfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2Vz
L3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVzb3VyY2VzL3RleC1pbWFnZS1hbmQtc3Vi
LWltYWdlLTJkLXdpdGgtaW1hZ2UtZGF0YS5qcyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNl
cy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3Jlc291cmNlcy90ZXgtaW1hZ2UtYW5kLXN1
Yi1pbWFnZS0yZC13aXRoLWltYWdlLWRhdGEuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGY5NmE5MjIyYzY1NzM4
NDBkZDcwMjBmOGZjYjJlYjAxMjk3ODUyZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3Jlc291cmNlcy90
ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLWRhdGEuanMKQEAgLTAsMCArMSwx
MzUgQEAKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgor
KioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBh
bnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFz
c29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRl
YWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdp
dGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwg
cHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBv
ZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1h
dGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRo
aXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMg
b3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFU
RVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5E
LAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRI
RSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBU
SEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xB
SU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBD
T05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJ
TiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBE
RUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworZnVuY3Rpb24gZ2VuZXJhdGVUZXN0KHBp
eGVsRm9ybWF0LCBwaXhlbFR5cGUsIHByb2xvZ3VlKSB7CisgICAgdmFyIHd0dSA9IFdlYkdMVGVz
dFV0aWxzOworICAgIHZhciBnbCA9IG51bGw7CisgICAgdmFyIHRleHR1cmVMb2MgPSBudWxsOwor
ICAgIHZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSBmYWxzZTsKKyAgICB2YXIgaW1hZ2VEYXRhID0g
bnVsbDsKKworICAgIHZhciBpbml0ID0gZnVuY3Rpb24oKQorICAgIHsKKyAgICAgICAgaW5pdFRl
c3RpbmdIYXJuZXNzV2FpdFVudGlsRG9uZSgpOworCisgICAgICAgIGRlc2NyaXB0aW9uKCdWZXJp
ZnkgdGV4SW1hZ2UyRCBhbmQgdGV4U3ViSW1hZ2UyRCBjb2RlIHBhdGhzIHRha2luZyBJbWFnZURh
dGEgKCcgKyBwaXhlbEZvcm1hdCArICcvJyArIHBpeGVsVHlwZSArICcpJyk7CisKKyAgICAgICAg
Z2wgPSB3dHUuY3JlYXRlM0RDb250ZXh0KCJleGFtcGxlIik7CisKKyAgICAgICAgaWYgKCFwcm9s
b2d1ZShnbCkpIHsKKyAgICAgICAgICAgIGZpbmlzaFRlc3QoKTsKKyAgICAgICAgICAgIHJldHVy
bjsKKyAgICAgICAgfQorCisgICAgICAgIHZhciBwcm9ncmFtID0gd3R1LnNldHVwVGV4dHVyZWRR
dWFkKGdsKTsKKyAgICAgICAgZ2wuY2xlYXJDb2xvcigwLDAsMCwxKTsKKyAgICAgICAgZ2wuY2xl
YXJEZXB0aCgxKTsKKyAgICAgICAgZ2wuZGlzYWJsZShnbC5CTEVORCk7CisKKyAgICAgICAgdGV4
dHVyZUxvYyA9IGdsLmdldFVuaWZvcm1Mb2NhdGlvbihwcm9ncmFtLCAidGV4Iik7CisKKyAgICAg
ICAgdmFyIGNhbnZhczJkID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRleGNhbnZhcyIpOwor
ICAgICAgICB2YXIgY29udGV4dDJkID0gY2FudmFzMmQuZ2V0Q29udGV4dCgiMmQiKTsKKyAgICAg
ICAgaW1hZ2VEYXRhID0gY29udGV4dDJkLmNyZWF0ZUltYWdlRGF0YSgxLCAyKTsKKyAgICAgICAg
dmFyIGRhdGEgPSBpbWFnZURhdGEuZGF0YTsKKyAgICAgICAgZGF0YVswXSA9IDI1NTsKKyAgICAg
ICAgZGF0YVsxXSA9IDA7CisgICAgICAgIGRhdGFbMl0gPSAwOworICAgICAgICBkYXRhWzNdID0g
MjU1OworICAgICAgICBkYXRhWzRdID0gMDsKKyAgICAgICAgZGF0YVs1XSA9IDI1NTsKKyAgICAg
ICAgZGF0YVs2XSA9IDA7CisgICAgICAgIGRhdGFbN10gPSAwOworCisgICAgICAgIHJ1blRlc3Qo
KTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBydW5PbmVJdGVyYXRpb24odXNlVGV4U3ViSW1hZ2Uy
RCwgZmxpcFksIHByZW11bHRpcGx5QWxwaGEsIHRvcENvbG9yLCBib3R0b21Db2xvcikKKyAgICB7
CisgICAgICAgIGRlYnVnKCdUZXN0aW5nICcgKyAodXNlVGV4U3ViSW1hZ2UyRCA/ICd0ZXhTdWJJ
bWFnZTJEJyA6ICd0ZXhJbWFnZTJEJykgKworICAgICAgICAgICAgICAnIHdpdGggZmxpcFk9JyAr
IGZsaXBZICsgJyBhbmQgcHJlbXVsdGlwbHlBbHBoYT0nICsgcHJlbXVsdGlwbHlBbHBoYSk7Cisg
ICAgICAgIGdsLmNsZWFyKGdsLkNPTE9SX0JVRkZFUl9CSVQgfCBnbC5ERVBUSF9CVUZGRVJfQklU
KTsKKyAgICAgICAgLy8gRW5hYmxlIHdyaXRlcyB0byB0aGUgUkdCQSBjaGFubmVscworICAgICAg
ICBnbC5jb2xvck1hc2soMSwgMSwgMSwgMCk7CisgICAgICAgIHZhciB0ZXh0dXJlID0gZ2wuY3Jl
YXRlVGV4dHVyZSgpOworICAgICAgICAvLyBCaW5kIHRoZSB0ZXh0dXJlIHRvIHRleHR1cmUgdW5p
dCAwCisgICAgICAgIGdsLmJpbmRUZXh0dXJlKGdsLlRFWFRVUkVfMkQsIHRleHR1cmUpOworICAg
ICAgICAvLyBTZXQgdXAgdGV4dHVyZSBwYXJhbWV0ZXJzCisgICAgICAgIGdsLnRleFBhcmFtZXRl
cmkoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9NSU5fRklMVEVSLCBnbC5ORUFSRVNUKTsKKyAg
ICAgICAgZ2wudGV4UGFyYW1ldGVyaShnbC5URVhUVVJFXzJELCBnbC5URVhUVVJFX01BR19GSUxU
RVIsIGdsLk5FQVJFU1QpOworICAgICAgICAvLyBTZXQgdXAgcGl4ZWwgc3RvcmUgcGFyYW1ldGVy
cworICAgICAgICBnbC5waXhlbFN0b3JlaShnbC5VTlBBQ0tfRkxJUF9ZX1dFQkdMLCBmbGlwWSk7
CisgICAgICAgIGdsLnBpeGVsU3RvcmVpKGdsLlVOUEFDS19QUkVNVUxUSVBMWV9BTFBIQV9XRUJH
TCwgcHJlbXVsdGlwbHlBbHBoYSk7CisgICAgICAgIC8vIFVwbG9hZCB0aGUgaW1hZ2UgaW50byB0
aGUgdGV4dHVyZQorICAgICAgICBpZiAodXNlVGV4U3ViSW1hZ2UyRCkgeworICAgICAgICAgICAg
Ly8gSW5pdGlhbGl6ZSB0aGUgdGV4dHVyZSB0byBibGFjayBmaXJzdAorICAgICAgICAgICAgZ2wu
dGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBnbFtwaXhlbEZvcm1hdF0sIDEsIDIsIDAsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgIGdsW3BpeGVsRm9ybWF0XSwgZ2xbcGl4ZWxUeXBlXSwg
bnVsbCk7CisgICAgICAgICAgICBnbC50ZXhTdWJJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIDAs
IDAsIGdsW3BpeGVsRm9ybWF0XSwgZ2xbcGl4ZWxUeXBlXSwgaW1hZ2VEYXRhKTsKKyAgICAgICAg
fSBlbHNlIHsKKyAgICAgICAgICAgIGdsLnRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2xb
cGl4ZWxGb3JtYXRdLCBnbFtwaXhlbEZvcm1hdF0sIGdsW3BpeGVsVHlwZV0sIGltYWdlRGF0YSk7
CisgICAgICAgIH0KKworICAgICAgICAvLyBQb2ludCB0aGUgdW5pZm9ybSBzYW1wbGVyIHRvIHRl
eHR1cmUgdW5pdCAwCisgICAgICAgIGdsLnVuaWZvcm0xaSh0ZXh0dXJlTG9jLCAwKTsKKyAgICAg
ICAgLy8gRHJhdyB0aGUgdHJpYW5nbGVzCisgICAgICAgIHd0dS5kcmF3UXVhZChnbCwgWzAsIDAs
IDAsIDI1NV0pOworCisgICAgICAgIC8vIENoZWNrIHRoZSB0b3AgcGl4ZWwgYW5kIGJvdHRvbSBw
aXhlbCBhbmQgbWFrZSBzdXJlIHRoZXkgaGF2ZQorICAgICAgICAvLyB0aGUgcmlnaHQgY29sb3Iu
CisgICAgICAgIGRlYnVnKCJDaGVja2luZyBib3R0b20gcGl4ZWwiKTsKKyAgICAgICAgd3R1LmNo
ZWNrQ2FudmFzUmVjdChnbCwgMCwgMCwgMSwgMSwgYm90dG9tQ29sb3IsICJzaG91bGRCZSAiICsg
Ym90dG9tQ29sb3IpOworICAgICAgICBkZWJ1ZygiQ2hlY2tpbmcgdG9wIHBpeGVsIik7CisgICAg
ICAgIHd0dS5jaGVja0NhbnZhc1JlY3QoZ2wsIDAsIDEsIDEsIDEsIHRvcENvbG9yLCAic2hvdWxk
QmUgIiArIHRvcENvbG9yKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBydW5UZXN0KCkKKyAgICB7
CisgICAgICAgIHZhciByZWQgPSBbMjU1LCAwLCAwLCAyNTVdOworICAgICAgICB2YXIgZ3JlZW4g
PSBbMCwgMjU1LCAwLCAyNTVdOworICAgICAgICB2YXIgcmVkUHJlbXVsdGlwbHlBbHBoYSA9IFsy
NTUsIDAsIDAsIDI1NV07CisgICAgICAgIHZhciBncmVlblByZW11bHRpcGx5QWxwaGEgPSBbMCwg
MCwgMCwgMjU1XTsKKworICAgICAgICBydW5PbmVJdGVyYXRpb24oZmFsc2UsIHRydWUsIGZhbHNl
LAorICAgICAgICAgICAgICAgICAgICAgICAgcmVkLCBncmVlbik7CisgICAgICAgIHJ1bk9uZUl0
ZXJhdGlvbihmYWxzZSwgZmFsc2UsIGZhbHNlLAorICAgICAgICAgICAgICAgICAgICAgICAgZ3Jl
ZW4sIHJlZCk7CisgICAgICAgIHJ1bk9uZUl0ZXJhdGlvbihmYWxzZSwgdHJ1ZSwgdHJ1ZSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgIHJlZFByZW11bHRpcGx5QWxwaGEsIGdyZWVuUHJlbXVsdGlw
bHlBbHBoYSk7CisgICAgICAgIHJ1bk9uZUl0ZXJhdGlvbihmYWxzZSwgZmFsc2UsIHRydWUsCisg
ICAgICAgICAgICAgICAgICAgICAgICBncmVlblByZW11bHRpcGx5QWxwaGEsIHJlZFByZW11bHRp
cGx5QWxwaGEpOworICAgICAgICBydW5PbmVJdGVyYXRpb24odHJ1ZSwgdHJ1ZSwgZmFsc2UsCisg
ICAgICAgICAgICAgICAgICAgICAgICByZWQsIGdyZWVuKTsKKyAgICAgICAgcnVuT25lSXRlcmF0
aW9uKHRydWUsIGZhbHNlLCBmYWxzZSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGdyZWVuLCBy
ZWQpOworICAgICAgICBydW5PbmVJdGVyYXRpb24odHJ1ZSwgdHJ1ZSwgdHJ1ZSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgIHJlZFByZW11bHRpcGx5QWxwaGEsIGdyZWVuUHJlbXVsdGlwbHlBbHBo
YSk7CisgICAgICAgIHJ1bk9uZUl0ZXJhdGlvbih0cnVlLCBmYWxzZSwgdHJ1ZSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgIGdyZWVuUHJlbXVsdGlwbHlBbHBoYSwgcmVkUHJlbXVsdGlwbHlBbHBo
YSk7CisKKyAgICAgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUiwgInNob3VsZCBi
ZSBubyBlcnJvcnMiKTsKKyAgICAgICAgZmluaXNoVGVzdCgpOworICAgIH0KKworICAgIHJldHVy
biBpbml0OworfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVzb3VyY2VzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdl
LTJkLXdpdGgtaW1hZ2UuanMgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9jb25mb3JtYW5jZS9yZXNvdXJjZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQt
d2l0aC1pbWFnZS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wMTQ4OGYzNmJkZTVlODA2OGUzYTAyZWU0NDM3YjM4
MWVjZDdhMWUxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2Vz
L3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVzb3VyY2VzL3RleC1pbWFnZS1hbmQtc3Vi
LWltYWdlLTJkLXdpdGgtaW1hZ2UuanMKQEAgLTAsMCArMSwxNDkgQEAKKy8qCisqKiBDb3B5cmln
aHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMg
aGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBh
CisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlv
biBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3
aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUg
cmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1
dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQg
dG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVk
IHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgor
KiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ug
c2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlv
bnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAi
QVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBM
SUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBN
RVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05J
TkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklH
SFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIg
TElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1Ig
T1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhF
CisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJ
QUxTLgorKi8KKworZnVuY3Rpb24gZ2VuZXJhdGVUZXN0KHBpeGVsRm9ybWF0LCBwaXhlbFR5cGUs
IHBhdGhUb1Rlc3RSb290LCBwcm9sb2d1ZSkgeworICAgIHZhciB3dHUgPSBXZWJHTFRlc3RVdGls
czsKKyAgICB2YXIgZ2wgPSBudWxsOworICAgIHZhciB0ZXh0dXJlTG9jID0gbnVsbDsKKyAgICB2
YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gZmFsc2U7CisgICAgdmFyIGltZ0NhbnZhczsKKyAgICB2
YXIgcmVkID0gWzI1NSwgMCwgMF07CisgICAgdmFyIGdyZWVuID0gWzAsIDI1NSwgMF07CisKKyAg
ICB2YXIgaW5pdCA9IGZ1bmN0aW9uKCkKKyAgICB7CisgICAgICAgIGluaXRUZXN0aW5nSGFybmVz
c1dhaXRVbnRpbERvbmUoKTsKKworICAgICAgICBkZXNjcmlwdGlvbignVmVyaWZ5IHRleEltYWdl
MkQgYW5kIHRleFN1YkltYWdlMkQgY29kZSBwYXRocyB0YWtpbmcgaW1hZ2UgZWxlbWVudHMgKCcg
KyBwaXhlbEZvcm1hdCArICcvJyArIHBpeGVsVHlwZSArICcpJyk7CisKKyAgICAgICAgZ2wgPSB3
dHUuY3JlYXRlM0RDb250ZXh0KCJleGFtcGxlIik7CisKKyAgICAgICAgaWYgKCFwcm9sb2d1ZShn
bCkpIHsKKyAgICAgICAgICAgIGZpbmlzaFRlc3QoKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAg
ICAgICAgfQorCisgICAgICAgIHZhciBwcm9ncmFtID0gd3R1LnNldHVwVGV4dHVyZWRRdWFkKGds
KTsKKworICAgICAgICBnbC5jbGVhckNvbG9yKDAsMCwwLDEpOworICAgICAgICBnbC5jbGVhckRl
cHRoKDEpOworCisgICAgICAgIHRleHR1cmVMb2MgPSBnbC5nZXRVbmlmb3JtTG9jYXRpb24ocHJv
Z3JhbSwgInRleCIpOworCisgICAgICAgIHd0dS5sb2FkVGV4dHVyZShnbCwgcGF0aFRvVGVzdFJv
b3QgKyAiL3Jlc291cmNlcy9yZWQtZ3JlZW4ucG5nIiwgcnVuVGVzdCk7CisgICAgfQorCisgICAg
ZnVuY3Rpb24gcnVuT25lSXRlcmF0aW9uKGltYWdlLCB1c2VUZXhTdWJJbWFnZTJELCBmbGlwWSwg
dG9wQ29sb3IsIGJvdHRvbUNvbG9yKQorICAgIHsKKyAgICAgICAgZGVidWcoJ1Rlc3RpbmcgJyAr
ICh1c2VUZXhTdWJJbWFnZTJEID8gJ3RleFN1YkltYWdlMkQnIDogJ3RleEltYWdlMkQnKSArCisg
ICAgICAgICAgICAgICcgd2l0aCBmbGlwWT0nICsgZmxpcFkpOworICAgICAgICBnbC5jbGVhcihn
bC5DT0xPUl9CVUZGRVJfQklUIHwgZ2wuREVQVEhfQlVGRkVSX0JJVCk7CisgICAgICAgIC8vIERp
c2FibGUgYW55IHdyaXRlcyB0byB0aGUgYWxwaGEgY2hhbm5lbAorICAgICAgICBnbC5jb2xvck1h
c2soMSwgMSwgMSwgMCk7CisgICAgICAgIHZhciB0ZXh0dXJlID0gZ2wuY3JlYXRlVGV4dHVyZSgp
OworICAgICAgICAvLyBCaW5kIHRoZSB0ZXh0dXJlIHRvIHRleHR1cmUgdW5pdCAwCisgICAgICAg
IGdsLmJpbmRUZXh0dXJlKGdsLlRFWFRVUkVfMkQsIHRleHR1cmUpOworICAgICAgICAvLyBTZXQg
dXAgdGV4dHVyZSBwYXJhbWV0ZXJzCisgICAgICAgIGdsLnRleFBhcmFtZXRlcmkoZ2wuVEVYVFVS
RV8yRCwgZ2wuVEVYVFVSRV9NSU5fRklMVEVSLCBnbC5ORUFSRVNUKTsKKyAgICAgICAgZ2wudGV4
UGFyYW1ldGVyaShnbC5URVhUVVJFXzJELCBnbC5URVhUVVJFX01BR19GSUxURVIsIGdsLk5FQVJF
U1QpOworICAgICAgICAvLyBTZXQgdXAgcGl4ZWwgc3RvcmUgcGFyYW1ldGVycworICAgICAgICBn
bC5waXhlbFN0b3JlaShnbC5VTlBBQ0tfRkxJUF9ZX1dFQkdMLCBmbGlwWSk7CisgICAgICAgIGds
LnBpeGVsU3RvcmVpKGdsLlVOUEFDS19QUkVNVUxUSVBMWV9BTFBIQV9XRUJHTCwgZmFsc2UpOwor
ICAgICAgICBnbC5waXhlbFN0b3JlaShnbC5VTlBBQ0tfQ09MT1JTUEFDRV9DT05WRVJTSU9OX1dF
QkdMLCBnbC5OT05FKTsKKyAgICAgICAgLy8gVXBsb2FkIHRoZSBpbWFnZSBpbnRvIHRoZSB0ZXh0
dXJlCisgICAgICAgIGlmICh1c2VUZXhTdWJJbWFnZTJEKSB7CisgICAgICAgICAgICAvLyBJbml0
aWFsaXplIHRoZSB0ZXh0dXJlIHRvIGJsYWNrIGZpcnN0CisgICAgICAgICAgICBnbC50ZXhJbWFn
ZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsW3BpeGVsRm9ybWF0XSwgaW1hZ2Uud2lkdGgsIGltYWdl
LmhlaWdodCwgMCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgZ2xbcGl4ZWxGb3JtYXRdLCBn
bFtwaXhlbFR5cGVdLCBudWxsKTsKKyAgICAgICAgICAgIGdsLnRleFN1YkltYWdlMkQoZ2wuVEVY
VFVSRV8yRCwgMCwgMCwgMCwgZ2xbcGl4ZWxGb3JtYXRdLCBnbFtwaXhlbFR5cGVdLCBpbWFnZSk7
CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBnbC50ZXhJbWFnZTJEKGdsLlRFWFRVUkVf
MkQsIDAsIGdsW3BpeGVsRm9ybWF0XSwgZ2xbcGl4ZWxGb3JtYXRdLCBnbFtwaXhlbFR5cGVdLCBp
bWFnZSk7CisgICAgICAgIH0KKworICAgICAgICAvLyBQb2ludCB0aGUgdW5pZm9ybSBzYW1wbGVy
IHRvIHRleHR1cmUgdW5pdCAwCisgICAgICAgIGdsLnVuaWZvcm0xaSh0ZXh0dXJlTG9jLCAwKTsK
KyAgICAgICAgLy8gRHJhdyB0aGUgdHJpYW5nbGVzCisgICAgICAgIHd0dS5kcmF3UXVhZChnbCwg
WzAsIDAsIDAsIDI1NV0pOworICAgICAgICAvLyBDaGVjayBhIGZldyBwaXhlbHMgbmVhciB0aGUg
dG9wIGFuZCBib3R0b20gYW5kIG1ha2Ugc3VyZSB0aGV5IGhhdmUKKyAgICAgICAgLy8gdGhlIHJp
Z2h0IGNvbG9yLgorICAgICAgICBkZWJ1ZygiQ2hlY2tpbmcgbG93ZXIgbGVmdCBjb3JuZXIiKTsK
KyAgICAgICAgd3R1LmNoZWNrQ2FudmFzUmVjdChnbCwgNCwgNCwgMiwgMiwgYm90dG9tQ29sb3Is
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNob3VsZEJlICIgKyBib3R0b21Db2xvcik7
CisgICAgICAgIGRlYnVnKCJDaGVja2luZyB1cHBlciBsZWZ0IGNvcm5lciIpOworICAgICAgICB3
dHUuY2hlY2tDYW52YXNSZWN0KGdsLCA0LCBnbC5jYW52YXMuaGVpZ2h0IC0gOCwgMiwgMiwgdG9w
Q29sb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNob3VsZEJlICIgKyB0b3BDb2xv
cik7CisgICAgfQorCisgICAgZnVuY3Rpb24gcnVuVGVzdE9uSW1hZ2UoaW1hZ2UpIHsKKyAgICAg
ICAgcnVuT25lSXRlcmF0aW9uKGltYWdlLCBmYWxzZSwgdHJ1ZSwgcmVkLCBncmVlbik7CisgICAg
ICAgIHJ1bk9uZUl0ZXJhdGlvbihpbWFnZSwgZmFsc2UsIGZhbHNlLCBncmVlbiwgcmVkKTsKKyAg
ICAgICAgcnVuT25lSXRlcmF0aW9uKGltYWdlLCB0cnVlLCB0cnVlLCByZWQsIGdyZWVuKTsKKyAg
ICAgICAgcnVuT25lSXRlcmF0aW9uKGltYWdlLCB0cnVlLCBmYWxzZSwgZ3JlZW4sIHJlZCk7Cisg
ICAgfQorCisgICAgZnVuY3Rpb24gcnVuVGVzdChpbWFnZSkKKyAgICB7CisgICAgICAgIHJ1blRl
c3RPbkltYWdlKGltYWdlKTsKKworICAgICAgICBpbWdDYW52YXMgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJjYW52YXMiKTsKKyAgICAgICAgaW1nQ2FudmFzLndpZHRoID0gMTsKKyAgICAgICAg
aW1nQ2FudmFzLmhlaWdodCA9IDI7CisgICAgICAgIHZhciBpbWdDdHggPSBpbWdDYW52YXMuZ2V0
Q29udGV4dCgiMmQiKTsKKyAgICAgICAgdmFyIGltZ0RhdGEgPSBpbWdDdHguY3JlYXRlSW1hZ2VE
YXRhKDEsIDIpOworICAgICAgICBpbWdEYXRhLmRhdGFbMF0gPSByZWRbMF07CisgICAgICAgIGlt
Z0RhdGEuZGF0YVsxXSA9IHJlZFsxXTsKKyAgICAgICAgaW1nRGF0YS5kYXRhWzJdID0gcmVkWzJd
OworICAgICAgICBpbWdEYXRhLmRhdGFbM10gPSAyNTU7CisgICAgICAgIGltZ0RhdGEuZGF0YVs0
XSA9IGdyZWVuWzBdOworICAgICAgICBpbWdEYXRhLmRhdGFbNV0gPSBncmVlblsxXTsKKyAgICAg
ICAgaW1nRGF0YS5kYXRhWzZdID0gZ3JlZW5bMl07CisgICAgICAgIGltZ0RhdGEuZGF0YVs3XSA9
IDI1NTsKKyAgICAgICAgaW1nQ3R4LnB1dEltYWdlRGF0YShpbWdEYXRhLCAwLCAwKTsKKworICAg
ICAgICAvLyBhcHBhcmVudGx5IEltYWdlIGlzIGRpZmZlcmVudCB0aGFuIDxpbWc+LgorICAgICAg
ICB2YXIgbmV3SW1hZ2UgPSAgbmV3IEltYWdlKCk7CisgICAgICAgIG5ld0ltYWdlLm9ubG9hZCA9
IGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgcnVuVGVzdDIobmV3SW1hZ2UpOworICAgICAgICB9
OworICAgICAgICBuZXdJbWFnZS5zcmMgPSBpbWdDYW52YXMudG9EYXRhVVJMKCk7CisgICAgfQor
CisgICAgZnVuY3Rpb24gcnVuVGVzdDIoaW1hZ2UpIHsKKyAgICAgICAgcnVuVGVzdE9uSW1hZ2Uo
aW1hZ2UpOworCisgICAgICAgIHZhciBuZXdJbWFnZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
ImltZyIpOworICAgICAgICBuZXdJbWFnZS5vbmxvYWQgPSBmdW5jdGlvbigpIHsKKyAgICAgICAg
ICAgIHJ1blRlc3QzKG5ld0ltYWdlKTsKKyAgICAgICAgfTsKKyAgICAgICAgbmV3SW1hZ2Uuc3Jj
ID0gaW1nQ2FudmFzLnRvRGF0YVVSTCgpOworICAgIH0KKworICAgIGZ1bmN0aW9uIHJ1blRlc3Qz
KGltYWdlKSB7CisgICAgICAgIHJ1blRlc3RPbkltYWdlKGltYWdlKTsKKworICAgICAgICBnbEVy
cm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SLCAic2hvdWxkIGJlIG5vIGVycm9ycyIpOworICAg
ICAgICBmaW5pc2hUZXN0KCk7CisgICAgfQorCisgICAgcmV0dXJuIGluaXQ7Cit9CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3Jt
YW5jZS9yZXNvdXJjZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC12aWRlby5qcyBi
L0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNl
L3Jlc291cmNlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLmpzCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmRmZmJhNTk2ZDIyMTcwZmRlNjI2Y2YyMWVhNWViNDZlYzU3MDI3NTcKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9j
b25mb3JtYW5jZS9yZXNvdXJjZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC12aWRl
by5qcwpAQCAtMCwwICsxLDE2OSBAQAorLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hy
b25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJl
ZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBz
b2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJN
YXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24s
IGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5
LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5k
L29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNv
bnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3Qg
dG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJp
Z2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAor
KiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxz
LgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FS
UkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQg
Tk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElO
IE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJM
RSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcg
RlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBU
SEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCisvLyBUaGlz
IGJsb2NrIG5lZWRzIHRvIGJlIG91dHNpZGUgdGhlIG9ubG9hZCBoYW5kbGVyIGluIG9yZGVyIGZv
ciB0aGlzCisvLyB0ZXN0IHRvIHJ1biByZWxpYWJseSBpbiBXZWJLaXQncyB0ZXN0IGhhcm5lc3Mg
KGF0IGxlYXN0IHRoZQorLy8gQ2hyb21pdW0gcG9ydCkuIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD04NzQ0OAoraW5pdFRlc3RpbmdIYXJuZXNzV2FpdFVudGlsRG9uZSgp
OworCit2YXIgb2xkID0gZGVidWc7Cit2YXIgZGVidWcgPSBmdW5jdGlvbihtc2cpIHsKKyAgY29u
c29sZS5sb2cobXNnKTsKKyAgb2xkKG1zZyk7Cit9OworCitmdW5jdGlvbiBnZW5lcmF0ZVRlc3Qo
cGl4ZWxGb3JtYXQsIHBpeGVsVHlwZSwgcHJvbG9ndWUpIHsKKyAgICB2YXIgd3R1ID0gV2ViR0xU
ZXN0VXRpbHM7CisgICAgdmFyIGdsID0gbnVsbDsKKyAgICB2YXIgdGV4dHVyZUxvYyA9IG51bGw7
CisgICAgdmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IGZhbHNlOworCisgICAgLy8gVGVzdCBlYWNo
IGZvcm1hdCBzZXBhcmF0ZWx5IGJlY2F1c2UgbWFueSBicm93c2VycyBpbXBsZW1lbnQgZWFjaAor
ICAgIC8vIGRpZmZlcmVudGx5LiBTb21lIG1pZ2h0IGJlIEdQVSBhY2NlbGVyYXRlZCwgc29tZSBt
aWdodCBub3QuIEV0Yy4uLgorICAgIHZhciB2aWRlb3MgPSBbCisgICAgICB7IHNyYzogIi4uL3Jl
c291cmNlcy9yZWQtZ3JlZW4ubXA0IiAgICAgICAgICwgdHlwZTogJ3ZpZGVvL21wNDsgY29kZWNz
PSJhdmMxLjQyRTAxRSwgbXA0YS40MC4yIicsIH0sCisgICAgICB7IHNyYzogIi4uL3Jlc291cmNl
cy9yZWQtZ3JlZW4ud2VibXZwOC53ZWJtIiwgdHlwZTogJ3ZpZGVvL3dlYm07IGNvZGVjcz0idnA4
LCB2b3JiaXMiJywgICAgICAgICAgIH0sCisgICAgICB7IHNyYzogIi4uL3Jlc291cmNlcy9yZWQt
Z3JlZW4udGhlb3JhLm9ndiIsICAgdHlwZTogJ3ZpZGVvL29nZzsgY29kZWNzPSJ0aGVvcmEsIHZv
cmJpcyInLCAgICAgICAgIH0sCisgICAgXTsKKworICAgIHZhciB2aWRlb05keCA9IDA7CisgICAg
dmFyIHZpZGVvOworICAgIHZhciBydW5OZXh0VmlkZW8gPSBmdW5jdGlvbigpIHsKKyAgICAgICAg
aWYgKHZpZGVvTmR4ID09IHZpZGVvcy5sZW5ndGgpIHsKKyAgICAgICAgICAgIHZpZGVvLnJlbW92
ZUV2ZW50TGlzdGVuZXIoInBsYXlpbmciLCBydW5UZXN0KTsKKyAgICAgICAgICAgIGZpbmlzaFRl
c3QoKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAgICAgICB2YXIgaW5mbyA9
IHZpZGVvc1t2aWRlb05keCsrXTsKKyAgICAgICAgZGVidWcoIiIpOworICAgICAgICBkZWJ1Zygi
dGVzdGluZzogIiArIGluZm8udHlwZSk7CisgICAgICAgIHZpZGVvID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgidmlkZW8iKTsKKyAgICAgICAgdmFyIGNhblBsYXkgPSB0cnVlOworICAgICAgICBp
ZiAoIXZpZGVvLmNhblBsYXlUeXBlKSB7CisgICAgICAgICAgdGVzdEZhaWxlZCgidmlkZW8uY2Fu
UGxheVR5cGUgcmVxdWlyZWQgbWV0aG9kIG1pc3NpbmciKTsKKyAgICAgICAgICBydW5OZXh0VGVz
dCgpOworICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorCisgICAgICAgIGlmKCF2aWRlby5j
YW5QbGF5VHlwZShpbmZvLnR5cGUpLnJlcGxhY2UoL25vLywgJycpKSB7CisgICAgICAgICAgZGVi
dWcoaW5mby50eXBlICsgIiB1bnN1cHBvcnRlZCIpOworICAgICAgICAgIHJ1bk5leHRWaWRlbygp
OworICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfTsKKworICAgICAgICBkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHZpZGVvKTsKKyAgICAgICAgdmlkZW8uYWRkRXZlbnRMaXN0ZW5lcigKKyAg
ICAgICAgICAgICJwbGF5aW5nIiwgZnVuY3Rpb24oKSB7IHJ1blRlc3QodmlkZW8pOyB9LCB0cnVl
KTsKKyAgICAgICAgdmlkZW8udHlwZSA9IGluZm8udHlwZTsKKyAgICAgICAgdmlkZW8uc3JjID0g
aW5mby5zcmM7CisgICAgICAgIHZpZGVvLmxvb3AgPSB0cnVlOworICAgICAgICB2aWRlby5wbGF5
KCk7CisgICAgfQorCisgICAgdmFyIGluaXQgPSBmdW5jdGlvbigpCisgICAgeworICAgICAgICBk
ZXNjcmlwdGlvbignVmVyaWZ5IHRleEltYWdlMkQgYW5kIHRleFN1YkltYWdlMkQgY29kZSBwYXRo
cyB0YWtpbmcgdmlkZW8gZWxlbWVudHMgKCcgKyBwaXhlbEZvcm1hdCArICcvJyArIHBpeGVsVHlw
ZSArICcpJyk7CisKKyAgICAgICAgZ2wgPSB3dHUuY3JlYXRlM0RDb250ZXh0KCJleGFtcGxlIik7
CisKKyAgICAgICAgaWYgKCFwcm9sb2d1ZShnbCkpIHsKKyAgICAgICAgICAgIGZpbmlzaFRlc3Qo
KTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorCisgICAgICAgIHZhciBwcm9ncmFt
ID0gd3R1LnNldHVwVGV4dHVyZWRRdWFkKGdsKTsKKworICAgICAgICBnbC5jbGVhckNvbG9yKDAs
MCwwLDEpOworICAgICAgICBnbC5jbGVhckRlcHRoKDEpOworCisgICAgICAgIHRleHR1cmVMb2Mg
PSBnbC5nZXRVbmlmb3JtTG9jYXRpb24ocHJvZ3JhbSwgInRleCIpOworICAgICAgICBydW5OZXh0
VmlkZW8oKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBydW5PbmVJdGVyYXRpb24odmlkZW9FbGVt
ZW50LCB1c2VUZXhTdWJJbWFnZTJELCBmbGlwWSwgdG9wQ29sb3IsIGJvdHRvbUNvbG9yKQorICAg
IHsKKyAgICAgICAgZGVidWcoJ1Rlc3RpbmcgJyArICh1c2VUZXhTdWJJbWFnZTJEID8gJ3RleFN1
YkltYWdlMkQnIDogJ3RleEltYWdlMkQnKSArCisgICAgICAgICAgICAgICcgd2l0aCBmbGlwWT0n
ICsgZmxpcFkpOworICAgICAgICBnbC5jbGVhcihnbC5DT0xPUl9CVUZGRVJfQklUIHwgZ2wuREVQ
VEhfQlVGRkVSX0JJVCk7CisgICAgICAgIC8vIERpc2FibGUgYW55IHdyaXRlcyB0byB0aGUgYWxw
aGEgY2hhbm5lbAorICAgICAgICBnbC5jb2xvck1hc2soMSwgMSwgMSwgMCk7CisgICAgICAgIHZh
ciB0ZXh0dXJlID0gZ2wuY3JlYXRlVGV4dHVyZSgpOworICAgICAgICAvLyBCaW5kIHRoZSB0ZXh0
dXJlIHRvIHRleHR1cmUgdW5pdCAwCisgICAgICAgIGdsLmJpbmRUZXh0dXJlKGdsLlRFWFRVUkVf
MkQsIHRleHR1cmUpOworICAgICAgICAvLyBTZXQgdXAgdGV4dHVyZSBwYXJhbWV0ZXJzCisgICAg
ICAgIGdsLnRleFBhcmFtZXRlcmkoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9NSU5fRklMVEVS
LCBnbC5ORUFSRVNUKTsKKyAgICAgICAgZ2wudGV4UGFyYW1ldGVyaShnbC5URVhUVVJFXzJELCBn
bC5URVhUVVJFX01BR19GSUxURVIsIGdsLk5FQVJFU1QpOworICAgICAgICBnbC50ZXhQYXJhbWV0
ZXJpKGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRVUkVfV1JBUF9TLCBnbC5DTEFNUF9UT19FREdFKTsK
KyAgICAgICAgZ2wudGV4UGFyYW1ldGVyaShnbC5URVhUVVJFXzJELCBnbC5URVhUVVJFX1dSQVBf
VCwgZ2wuQ0xBTVBfVE9fRURHRSk7CisgICAgICAgIC8vIFNldCB1cCBwaXhlbCBzdG9yZSBwYXJh
bWV0ZXJzCisgICAgICAgIGdsLnBpeGVsU3RvcmVpKGdsLlVOUEFDS19GTElQX1lfV0VCR0wsIGZs
aXBZKTsKKyAgICAgICAgZ2wucGl4ZWxTdG9yZWkoZ2wuVU5QQUNLX1BSRU1VTFRJUExZX0FMUEhB
X1dFQkdMLCBmYWxzZSk7CisgICAgICAgIC8vIFVwbG9hZCB0aGUgdmlkZW9FbGVtZW50IGludG8g
dGhlIHRleHR1cmUKKyAgICAgICAgaWYgKHVzZVRleFN1YkltYWdlMkQpIHsKKyAgICAgICAgICAg
IC8vIEluaXRpYWxpemUgdGhlIHRleHR1cmUgdG8gYmxhY2sgZmlyc3QKKyAgICAgICAgICAgIGds
LnRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2xbcGl4ZWxGb3JtYXRdLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICB2aWRlb0VsZW1lbnQudmlkZW9XaWR0aCwgdmlkZW9FbGVtZW50LnZp
ZGVvSGVpZ2h0LCAwLAorICAgICAgICAgICAgICAgICAgICAgICAgICBnbFtwaXhlbEZvcm1hdF0s
IGdsW3BpeGVsVHlwZV0sIG51bGwpOworICAgICAgICAgICAgZ2wudGV4U3ViSW1hZ2UyRChnbC5U
RVhUVVJFXzJELCAwLCAwLCAwLCBnbFtwaXhlbEZvcm1hdF0sIGdsW3BpeGVsVHlwZV0sIHZpZGVv
RWxlbWVudCk7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBnbC50ZXhJbWFnZTJEKGds
LlRFWFRVUkVfMkQsIDAsIGdsW3BpeGVsRm9ybWF0XSwgZ2xbcGl4ZWxGb3JtYXRdLCBnbFtwaXhl
bFR5cGVdLCB2aWRlb0VsZW1lbnQpOworICAgICAgICB9CisKKyAgICAgICAgdmFyIGMgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJjYW52YXMiKTsKKyAgICAgICAgYy53aWR0aCA9IDE2OworICAg
ICAgICBjLmhlaWdodCA9IDE2OworICAgICAgICBjLnN0eWxlLmJvcmRlciA9ICIxcHggc29saWQg
YmxhY2siOworICAgICAgICB2YXIgY3R4ID0gYy5nZXRDb250ZXh0KCIyZCIpOworICAgICAgICBj
dHguZHJhd0ltYWdlKHZpZGVvRWxlbWVudCwgMCwgMCwgMTYsIDE2KTsKKyAgICAgICAgZG9jdW1l
bnQuYm9keS5hcHBlbmRDaGlsZChjKTsKKworICAgICAgICAvLyBQb2ludCB0aGUgdW5pZm9ybSBz
YW1wbGVyIHRvIHRleHR1cmUgdW5pdCAwCisgICAgICAgIGdsLnVuaWZvcm0xaSh0ZXh0dXJlTG9j
LCAwKTsKKyAgICAgICAgLy8gRHJhdyB0aGUgdHJpYW5nbGVzCisgICAgICAgIHd0dS5kcmF3UXVh
ZChnbCwgWzAsIDAsIDAsIDI1NV0pOworICAgICAgICAvLyBDaGVjayBhIGZldyBwaXhlbHMgbmVh
ciB0aGUgdG9wIGFuZCBib3R0b20gYW5kIG1ha2Ugc3VyZSB0aGV5IGhhdmUKKyAgICAgICAgLy8g
dGhlIHJpZ2h0IGNvbG9yLgorICAgICAgICBkZWJ1ZygiQ2hlY2tpbmcgbG93ZXIgbGVmdCBjb3Ju
ZXIiKTsKKyAgICAgICAgd3R1LmNoZWNrQ2FudmFzUmVjdChnbCwgNCwgNCwgMiwgMiwgYm90dG9t
Q29sb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNob3VsZEJlICIgKyBib3R0b21D
b2xvcik7CisgICAgICAgIGRlYnVnKCJDaGVja2luZyB1cHBlciBsZWZ0IGNvcm5lciIpOworICAg
ICAgICB3dHUuY2hlY2tDYW52YXNSZWN0KGdsLCA0LCBnbC5jYW52YXMuaGVpZ2h0IC0gOCwgMiwg
MiwgdG9wQ29sb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNob3VsZEJlICIgKyB0
b3BDb2xvcik7CisgICAgfQorCisgICAgZnVuY3Rpb24gcnVuVGVzdCh2aWRlb0VsZW1lbnQpCisg
ICAgeworICAgICAgICB2YXIgcmVkID0gWzI1NSwgMCwgMF07CisgICAgICAgIHZhciBncmVlbiA9
IFswLCAyNTUsIDBdOworICAgICAgICBydW5PbmVJdGVyYXRpb24odmlkZW9FbGVtZW50LCBmYWxz
ZSwgdHJ1ZSwgcmVkLCBncmVlbik7CisgICAgICAgIHJ1bk9uZUl0ZXJhdGlvbih2aWRlb0VsZW1l
bnQsIGZhbHNlLCBmYWxzZSwgZ3JlZW4sIHJlZCk7CisgICAgICAgIHJ1bk9uZUl0ZXJhdGlvbih2
aWRlb0VsZW1lbnQsIHRydWUsIHRydWUsIHJlZCwgZ3JlZW4pOworICAgICAgICBydW5PbmVJdGVy
YXRpb24odmlkZW9FbGVtZW50LCB0cnVlLCBmYWxzZSwgZ3JlZW4sIHJlZCk7CisKKyAgICAgICAg
Z2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUiwgInNob3VsZCBiZSBubyBlcnJvcnMiKTsK
KworICAgICAgICBydW5OZXh0VmlkZW8oKTsKKyAgICB9CisKKyAgICByZXR1cm4gaW5pdDsKK30K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL3Jlc291cmNlcy92ZXJ0ZXhTaGFkZXIudmVydCBiL0xheW91dFRlc3RzL3dl
YmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3Jlc291cmNlcy92ZXJ0
ZXhTaGFkZXIudmVydApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mZTY2NDBiNzViYWVhY2JkMzA0MWQzYjI2OTdlOGQw
Nzc5NTBkYjIwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2Vz
L3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVzb3VyY2VzL3ZlcnRleFNoYWRlci52ZXJ0
CkBAIC0wLDAgKzEsMzYgQEAKKy8qCitDb3B5cmlnaHQgKEMpIDIwMDkgQXBwbGUgQ29tcHV0ZXIs
IEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisKK1JlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCithcmUg
bWV0OgorMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKzIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorCitUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIENPTVBVVEVS
LCBJTkMuIEFTIElTIEFORCBBTlkKK0VYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCitJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKK1BVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5DLiBPUgorQ09O
VFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsCitFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCitQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKK1BST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKK09GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFCitPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorKi8KK2F0dHJpYnV0ZSB2ZWM0IGFfdmVydGV4OworYXR0cmli
dXRlIHZlYzMgYV9ub3JtYWw7CisKK3VuaWZvcm0gbWVkaXVtcCBtYXQ0IHVfbW9kZWxWaWV3UHJv
ak1hdHJpeDsKKwordmFyeWluZyB2ZWMzIHZfbm9ybWFsOworCit2b2lkIG1haW4oKQoreworICAg
IHZfbm9ybWFsID0gYV9ub3JtYWw7CisgICAgZ2xfUG9zaXRpb24gPSAgdV9tb2RlbFZpZXdQcm9q
TWF0cml4ICogYV92ZXJ0ZXg7Cit9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNv
dXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZXNvdXJjZXMvd2ViZ2wtdGVzdC11
dGlscy5qcyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2Nv
bmZvcm1hbmNlL3Jlc291cmNlcy93ZWJnbC10ZXN0LXV0aWxzLmpzCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA2MjEy
MmM5MDdjZGVlOTUzNDQ0NDkxM2QzNjE4ZmM3NDI1NjBmYmIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9y
ZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcwpAQCAtMCwwICsxLDE5OTggQEAKKy8qCisqKiBD
b3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Np
b24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFp
bmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1l
bnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVy
aWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlv
biB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRp
c3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxz
LCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVy
bmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6
CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBu
b3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwg
cG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9W
SURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBP
UiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9G
CisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFO
RCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBD
T1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1Ig
T1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRP
UlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJ
VEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUg
TUFURVJJQUxTLgorKi8KK3ZhciBXZWJHTFRlc3RVdGlscyA9IChmdW5jdGlvbigpIHsKKyJ1c2Ug
c3RyaWN0IjsKKworLyoqCisgKiBXcmFwcGVkIGxvZ2dpbmcgZnVuY3Rpb24uCisgKiBAcGFyYW0g
e3N0cmluZ30gbXNnIFRoZSBtZXNzYWdlIHRvIGxvZy4KKyAqLwordmFyIGxvZyA9IGZ1bmN0aW9u
KG1zZykgeworICBpZiAod2luZG93LmNvbnNvbGUgJiYgd2luZG93LmNvbnNvbGUubG9nKSB7Cisg
ICAgd2luZG93LmNvbnNvbGUubG9nKG1zZyk7CisgIH0KK307CisKKy8qKgorICogV3JhcHBlZCBs
b2dnaW5nIGZ1bmN0aW9uLgorICogQHBhcmFtIHtzdHJpbmd9IG1zZyBUaGUgbWVzc2FnZSB0byBs
b2cuCisgKi8KK3ZhciBlcnJvciA9IGZ1bmN0aW9uKG1zZykgeworICBpZiAod2luZG93LmNvbnNv
bGUpIHsKKyAgICBpZiAod2luZG93LmNvbnNvbGUuZXJyb3IpIHsKKyAgICAgIHdpbmRvdy5jb25z
b2xlLmVycm9yKG1zZyk7CisgICAgfQorICAgIGVsc2UgaWYgKHdpbmRvdy5jb25zb2xlLmxvZykg
eworICAgICAgd2luZG93LmNvbnNvbGUubG9nKG1zZyk7CisgICAgfQorICB9Cit9OworCisvKioK
KyAqIFR1cm4gb2ZmIGFsbCBsb2dnaW5nLgorICovCit2YXIgbG9nZ2luZ09mZiA9IGZ1bmN0aW9u
KCkgeworICBsb2cgPSBmdW5jdGlvbigpIHt9OworICBlcnJvciA9IGZ1bmN0aW9uKCkge307Cit9
OworCisvKioKKyAqIENvbnZlcnRzIGEgV2ViR0wgZW51bSB0byBhIHN0cmluZworICogQHBhcmFt
IHshV2ViR0xDb250ZXh0fSBnbCBUaGUgV2ViR0xDb250ZXh0IHRvIHVzZS4KKyAqIEBwYXJhbSB7
bnVtYmVyfSB2YWx1ZSBUaGUgZW51bSB2YWx1ZS4KKyAqIEByZXR1cm4ge3N0cmluZ30gVGhlIGVu
dW0gYXMgYSBzdHJpbmcuCisgKi8KK3ZhciBnbEVudW1Ub1N0cmluZyA9IGZ1bmN0aW9uKGdsLCB2
YWx1ZSkgeworICBmb3IgKHZhciBwIGluIGdsKSB7CisgICAgaWYgKGdsW3BdID09IHZhbHVlKSB7
CisgICAgICByZXR1cm4gcDsKKyAgICB9CisgIH0KKyAgcmV0dXJuICIweCIgKyB2YWx1ZS50b1N0
cmluZygxNik7Cit9OworCit2YXIgbGFzdEVycm9yID0gIiI7CisKKy8qKgorICogUmV0dXJucyB0
aGUgbGFzdCBjb21waWxlci9saW5rZXIgZXJyb3IuCisgKiBAcmV0dXJuIHtzdHJpbmd9IFRoZSBs
YXN0IGNvbXBpbGVyL2xpbmtlciBlcnJvci4KKyAqLwordmFyIGdldExhc3RFcnJvciA9IGZ1bmN0
aW9uKCkgeworICByZXR1cm4gbGFzdEVycm9yOworfTsKKworLyoqCisgKiBXaGV0aGVyIGEgaGF5
c3RhY2sgZW5kcyB3aXRoIGEgbmVlZGxlLgorICogQHBhcmFtIHtzdHJpbmd9IGhheXN0YWNrIFN0
cmluZyB0byBzZWFyY2gKKyAqIEBwYXJhbSB7c3RyaW5nfSBuZWVkbGUgU3RyaW5nIHRvIHNlYXJj
aCBmb3IuCisgKiBAcGFyYW0ge2Jvb2xlYW59IFRydWUgaWYgaGF5c3RhY2sgZW5kcyB3aXRoIG5l
ZWRsZS4KKyAqLwordmFyIGVuZHNXaXRoID0gZnVuY3Rpb24oaGF5c3RhY2ssIG5lZWRsZSkgewor
ICByZXR1cm4gaGF5c3RhY2suc3Vic3RyKGhheXN0YWNrLmxlbmd0aCAtIG5lZWRsZS5sZW5ndGgp
ID09PSBuZWVkbGU7Cit9OworCisvKioKKyAqIFdoZXRoZXIgYSBoYXlzdGFjayBzdGFydHMgd2l0
aCBhIG5lZWRsZS4KKyAqIEBwYXJhbSB7c3RyaW5nfSBoYXlzdGFjayBTdHJpbmcgdG8gc2VhcmNo
CisgKiBAcGFyYW0ge3N0cmluZ30gbmVlZGxlIFN0cmluZyB0byBzZWFyY2ggZm9yLgorICogQHBh
cmFtIHtib29sZWFufSBUcnVlIGlmIGhheXN0YWNrIHN0YXJ0cyB3aXRoIG5lZWRsZS4KKyAqLwor
dmFyIHN0YXJ0c1dpdGggPSBmdW5jdGlvbihoYXlzdGFjaywgbmVlZGxlKSB7CisgIHJldHVybiBo
YXlzdGFjay5zdWJzdHIoMCwgbmVlZGxlLmxlbmd0aCkgPT09IG5lZWRsZTsKK307CisKKy8qKgor
ICogQSB2ZXJ0ZXggc2hhZGVyIGZvciBhIHNpbmdsZSB0ZXh0dXJlLgorICogQHR5cGUge3N0cmlu
Z30KKyAqLwordmFyIHNpbXBsZVRleHR1cmVWZXJ0ZXhTaGFkZXIgPSBbCisgICdhdHRyaWJ1dGUg
dmVjNCB2UG9zaXRpb247JywKKyAgJ2F0dHJpYnV0ZSB2ZWMyIHRleENvb3JkMDsnLAorICAndmFy
eWluZyB2ZWMyIHRleENvb3JkOycsCisgICd2b2lkIG1haW4oKSB7JywKKyAgJyAgICBnbF9Qb3Np
dGlvbiA9IHZQb3NpdGlvbjsnLAorICAnICAgIHRleENvb3JkID0gdGV4Q29vcmQwOycsCisgICd9
J10uam9pbignXG4nKTsKKworLyoqCisgKiBBIGZyYWdtZW50IHNoYWRlciBmb3IgYSBzaW5nbGUg
dGV4dHVyZS4KKyAqIEB0eXBlIHtzdHJpbmd9CisgKi8KK3ZhciBzaW1wbGVUZXh0dXJlRnJhZ21l
bnRTaGFkZXIgPSBbCisgICdwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDsnLAorICAndW5pZm9ybSBz
YW1wbGVyMkQgdGV4OycsCisgICd2YXJ5aW5nIHZlYzIgdGV4Q29vcmQ7JywKKyAgJ3ZvaWQgbWFp
bigpIHsnLAorICAnICAgIGdsX0ZyYWdEYXRhWzBdID0gdGV4dHVyZTJEKHRleCwgdGV4Q29vcmQp
OycsCisgICd9J10uam9pbignXG4nKTsKKworLyoqCisgKiBBIHZlcnRleCBzaGFkZXIgZm9yIGEg
c2luZ2xlIHRleHR1cmUuCisgKiBAdHlwZSB7c3RyaW5nfQorICovCit2YXIgbm9UZXhDb29yZFRl
eHR1cmVWZXJ0ZXhTaGFkZXIgPSBbCisgICdhdHRyaWJ1dGUgdmVjNCB2UG9zaXRpb247JywKKyAg
J3ZhcnlpbmcgdmVjMiB0ZXhDb29yZDsnLAorICAndm9pZCBtYWluKCkgeycsCisgICcgICAgZ2xf
UG9zaXRpb24gPSB2UG9zaXRpb247JywKKyAgJyAgICB0ZXhDb29yZCA9IHZQb3NpdGlvbi54eSAq
IDAuNSArIDAuNTsnLAorICAnfSddLmpvaW4oJ1xuJyk7CisKKy8qKgorICogQSB2ZXJ0ZXggc2hh
ZGVyIGZvciBhIHVuaWZvcm0gY29sb3IuCisgKiBAdHlwZSB7c3RyaW5nfQorICovCit2YXIgc2lt
cGxlQ29sb3JWZXJ0ZXhTaGFkZXIgPSBbCisgICdhdHRyaWJ1dGUgdmVjNCB2UG9zaXRpb247JywK
KyAgJ3ZvaWQgbWFpbigpIHsnLAorICAnICAgIGdsX1Bvc2l0aW9uID0gdlBvc2l0aW9uOycsCisg
ICd9J10uam9pbignXG4nKTsKKworLyoqCisgKiBBIGZyYWdtZW50IHNoYWRlciBmb3IgYSB1bmlm
b3JtIGNvbG9yLgorICogQHR5cGUge3N0cmluZ30KKyAqLwordmFyIHNpbXBsZUNvbG9yRnJhZ21l
bnRTaGFkZXIgPSBbCisgICdwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDsnLAorICAndW5pZm9ybSB2
ZWM0IHVfY29sb3I7JywKKyAgJ3ZvaWQgbWFpbigpIHsnLAorICAnICAgIGdsX0ZyYWdEYXRhWzBd
ID0gdV9jb2xvcjsnLAorICAnfSddLmpvaW4oJ1xuJyk7CisKKy8qKgorICogQSB2ZXJ0ZXggc2hh
ZGVyIGZvciB2ZXJ0ZXggY29sb3JzLgorICogQHR5cGUge3N0cmluZ30KKyAqLwordmFyIHNpbXBs
ZVZlcnRleENvbG9yVmVydGV4U2hhZGVyID0gWworICAnYXR0cmlidXRlIHZlYzQgdlBvc2l0aW9u
OycsCisgICdhdHRyaWJ1dGUgdmVjNCBhX2NvbG9yOycsCisgICd2YXJ5aW5nIHZlYzQgdl9jb2xv
cjsnLAorICAndm9pZCBtYWluKCkgeycsCisgICcgICAgZ2xfUG9zaXRpb24gPSB2UG9zaXRpb247
JywKKyAgJyAgICB2X2NvbG9yID0gYV9jb2xvcjsnLAorICAnfSddLmpvaW4oJ1xuJyk7CisKKy8q
KgorICogQSBmcmFnbWVudCBzaGFkZXIgZm9yIHZlcnRleCBjb2xvcnMuCisgKiBAdHlwZSB7c3Ry
aW5nfQorICovCit2YXIgc2ltcGxlVmVydGV4Q29sb3JGcmFnbWVudFNoYWRlciA9IFsKKyAgJ3By
ZWNpc2lvbiBtZWRpdW1wIGZsb2F0OycsCisgICd2YXJ5aW5nIHZlYzQgdl9jb2xvcjsnLAorICAn
dm9pZCBtYWluKCkgeycsCisgICcgICAgZ2xfRnJhZ0RhdGFbMF0gPSB2X2NvbG9yOycsCisgICd9
J10uam9pbignXG4nKTsKKworLyoqCisgKiBDcmVhdGVzIGEgc2ltcGxlIHRleHR1cmUgdmVydGV4
IHNoYWRlci4KKyAqIEBwYXJhbSB7IVdlYkdMQ29udGV4dH0gZ2wgVGhlIFdlYkdMQ29udGV4dCB0
byB1c2UuCisgKiBAcmV0dXJuIHshV2ViR0xTaGFkZXJ9CisgKi8KK3ZhciBzZXR1cFNpbXBsZVRl
eHR1cmVWZXJ0ZXhTaGFkZXIgPSBmdW5jdGlvbihnbCkgeworICAgIHJldHVybiBsb2FkU2hhZGVy
KGdsLCBzaW1wbGVUZXh0dXJlVmVydGV4U2hhZGVyLCBnbC5WRVJURVhfU0hBREVSKTsKK307CisK
Ky8qKgorICogQ3JlYXRlcyBhIHNpbXBsZSB0ZXh0dXJlIGZyYWdtZW50IHNoYWRlci4KKyAqIEBw
YXJhbSB7IVdlYkdMQ29udGV4dH0gZ2wgVGhlIFdlYkdMQ29udGV4dCB0byB1c2UuCisgKiBAcmV0
dXJuIHshV2ViR0xTaGFkZXJ9CisgKi8KK3ZhciBzZXR1cFNpbXBsZVRleHR1cmVGcmFnbWVudFNo
YWRlciA9IGZ1bmN0aW9uKGdsKSB7CisgICAgcmV0dXJuIGxvYWRTaGFkZXIoCisgICAgICAgIGds
LCBzaW1wbGVUZXh0dXJlRnJhZ21lbnRTaGFkZXIsIGdsLkZSQUdNRU5UX1NIQURFUik7Cit9Owor
CisvKioKKyAqIENyZWF0ZXMgYSB0ZXh0dXJlIHZlcnRleCBzaGFkZXIgdGhhdCBkb2Vzbid0IG5l
ZWQgdGV4Y29vcmRzLgorICogQHBhcmFtIHshV2ViR0xDb250ZXh0fSBnbCBUaGUgV2ViR0xDb250
ZXh0IHRvIHVzZS4KKyAqIEByZXR1cm4geyFXZWJHTFNoYWRlcn0KKyAqLwordmFyIHNldHVwTm9U
ZXhDb29yZFRleHR1cmVWZXJ0ZXhTaGFkZXIgPSBmdW5jdGlvbihnbCkgeworICAgIHJldHVybiBs
b2FkU2hhZGVyKGdsLCBub1RleENvb3JkVGV4dHVyZVZlcnRleFNoYWRlciwgZ2wuVkVSVEVYX1NI
QURFUik7Cit9OworCisvKioKKyAqIENyZWF0ZXMgYSBzaW1wbGUgdmVydGV4IGNvbG9yIHZlcnRl
eCBzaGFkZXIuCisgKiBAcGFyYW0geyFXZWJHTENvbnRleHR9IGdsIFRoZSBXZWJHTENvbnRleHQg
dG8gdXNlLgorICogQHJldHVybiB7IVdlYkdMU2hhZGVyfQorICovCit2YXIgc2V0dXBTaW1wbGVW
ZXJ0ZXhDb2xvclZlcnRleFNoYWRlciA9IGZ1bmN0aW9uKGdsKSB7CisgICAgcmV0dXJuIGxvYWRT
aGFkZXIoZ2wsIHNpbXBsZVZlcnRleENvbG9yVmVydGV4U2hhZGVyLCBnbC5WRVJURVhfU0hBREVS
KTsKK307CisKKy8qKgorICogQ3JlYXRlcyBhIHNpbXBsZSB2ZXJ0ZXggY29sb3IgZnJhZ21lbnQg
c2hhZGVyLgorICogQHBhcmFtIHshV2ViR0xDb250ZXh0fSBnbCBUaGUgV2ViR0xDb250ZXh0IHRv
IHVzZS4KKyAqIEByZXR1cm4geyFXZWJHTFNoYWRlcn0KKyAqLwordmFyIHNldHVwU2ltcGxlVmVy
dGV4Q29sb3JGcmFnbWVudFNoYWRlciA9IGZ1bmN0aW9uKGdsKSB7CisgICAgcmV0dXJuIGxvYWRT
aGFkZXIoCisgICAgICAgIGdsLCBzaW1wbGVWZXJ0ZXhDb2xvckZyYWdtZW50U2hhZGVyLCBnbC5G
UkFHTUVOVF9TSEFERVIpOworfTsKKworLyoqCisgKiBDcmVhdGVzIGEgc2ltcGxlIGNvbG9yIHZl
cnRleCBzaGFkZXIuCisgKiBAcGFyYW0geyFXZWJHTENvbnRleHR9IGdsIFRoZSBXZWJHTENvbnRl
eHQgdG8gdXNlLgorICogQHJldHVybiB7IVdlYkdMU2hhZGVyfQorICovCit2YXIgc2V0dXBTaW1w
bGVDb2xvclZlcnRleFNoYWRlciA9IGZ1bmN0aW9uKGdsKSB7CisgICAgcmV0dXJuIGxvYWRTaGFk
ZXIoZ2wsIHNpbXBsZUNvbG9yVmVydGV4U2hhZGVyLCBnbC5WRVJURVhfU0hBREVSKTsKK307CisK
Ky8qKgorICogQ3JlYXRlcyBhIHNpbXBsZSBjb2xvciBmcmFnbWVudCBzaGFkZXIuCisgKiBAcGFy
YW0geyFXZWJHTENvbnRleHR9IGdsIFRoZSBXZWJHTENvbnRleHQgdG8gdXNlLgorICogQHJldHVy
biB7IVdlYkdMU2hhZGVyfQorICovCit2YXIgc2V0dXBTaW1wbGVDb2xvckZyYWdtZW50U2hhZGVy
ID0gZnVuY3Rpb24oZ2wpIHsKKyAgICByZXR1cm4gbG9hZFNoYWRlcigKKyAgICAgICAgZ2wsIHNp
bXBsZUNvbG9yRnJhZ21lbnRTaGFkZXIsIGdsLkZSQUdNRU5UX1NIQURFUik7Cit9OworCisvKioK
KyAqIENyZWF0ZXMgYSBwcm9ncmFtLCBhdHRhY2hlcyBzaGFkZXJzLCBiaW5kcyBhdHRyaWIgbG9j
YXRpb25zLCBsaW5rcyB0aGUKKyAqIHByb2dyYW0gYW5kIGNhbGxzIHVzZVByb2dyYW0uCisgKiBA
cGFyYW0geyFBcnJheS48IVdlYkdMU2hhZGVyfHN0cmluZz59IHNoYWRlcnMgVGhlIHNoYWRlcnMg
dG8KKyAqICAgICAgICBhdHRhY2gsIG9yIHRoZSBzb3VyY2UsIG9yIHRoZSBpZCBvZiBhIHNjcmlw
dCB0byBnZXQKKyAqICAgICAgICB0aGUgc291cmNlIGZyb20uCisgKiBAcGFyYW0geyFBcnJheS48
c3RyaW5nPn0gb3B0X2F0dHJpYnMgVGhlIGF0dHJpYnMgbmFtZXMuCisgKiBAcGFyYW0geyFBcnJh
eS48bnVtYmVyPn0gb3B0X2xvY2F0aW9ucyBUaGUgbG9jYXRpb25zIGZvciB0aGUgYXR0cmlicy4K
KyAqLwordmFyIHNldHVwUHJvZ3JhbSA9IGZ1bmN0aW9uKGdsLCBzaGFkZXJzLCBvcHRfYXR0cmli
cywgb3B0X2xvY2F0aW9ucykgeworICB2YXIgcmVhbFNoYWRlcnMgPSBbXTsKKyAgdmFyIHByb2dy
YW0gPSBnbC5jcmVhdGVQcm9ncmFtKCk7CisgIHZhciBzaGFkZXJUeXBlID0gdW5kZWZpbmVkOwor
ICBmb3IgKHZhciBpaSA9IDA7IGlpIDwgc2hhZGVycy5sZW5ndGg7ICsraWkpIHsKKyAgICB2YXIg
c2hhZGVyID0gc2hhZGVyc1tpaV07CisgICAgaWYgKHR5cGVvZiBzaGFkZXIgPT0gJ3N0cmluZycp
IHsKKyAgICAgIHZhciBlbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoc2hhZGVyKTsK
KyAgICAgIGlmIChlbGVtZW50KSB7CisgICAgICAgIGlmIChlbGVtZW50LnR5cGUgIT0gIngtc2hh
ZGVyL3gtdmVydGV4IiAmJiBlbGVtZW50LnR5cGUgIT0gIngtc2hhZGVyL3gtZnJhZ21lbnQiKQor
ICAgICAgICAgIHNoYWRlclR5cGUgPSBpaSA/IGdsLkZSQUdNRU5UX1NIQURFUiA6IGdsLlZFUlRF
WF9TSEFERVI7CisgICAgICAgIHNoYWRlciA9IGxvYWRTaGFkZXJGcm9tU2NyaXB0KGdsLCBzaGFk
ZXIsIHNoYWRlclR5cGUpOworICAgICAgfSBlbHNlIGlmIChlbmRzV2l0aChzaGFkZXIsICIudmVy
dCIpKSB7CisgICAgICAgIHNoYWRlciA9IGxvYWRTaGFkZXJGcm9tRmlsZShnbCwgc2hhZGVyLCBn
bC5WRVJURVhfU0hBREVSKTsKKyAgICAgIH0gZWxzZSBpZiAoZW5kc1dpdGgoc2hhZGVyLCAiLmZy
YWciKSkgeworICAgICAgICBzaGFkZXIgPSBsb2FkU2hhZGVyRnJvbUZpbGUoZ2wsIHNoYWRlciwg
Z2wuRlJBR01FTlRfU0hBREVSKTsKKyAgICAgIH0gZWxzZSB7CisgICAgICAgIHNoYWRlciA9IGxv
YWRTaGFkZXIoZ2wsIHNoYWRlciwgaWkgPyBnbC5GUkFHTUVOVF9TSEFERVIgOiBnbC5WRVJURVhf
U0hBREVSKTsKKyAgICAgIH0KKyAgICB9CisgICAgZ2wuYXR0YWNoU2hhZGVyKHByb2dyYW0sIHNo
YWRlcik7CisgIH0KKyAgaWYgKG9wdF9hdHRyaWJzKSB7CisgICAgZm9yICh2YXIgaWkgPSAwOyBp
aSA8IG9wdF9hdHRyaWJzLmxlbmd0aDsgKytpaSkgeworICAgICAgZ2wuYmluZEF0dHJpYkxvY2F0
aW9uKAorICAgICAgICAgIHByb2dyYW0sCisgICAgICAgICAgb3B0X2xvY2F0aW9ucyA/IG9wdF9s
b2NhdGlvbnNbaWldIDogaWksCisgICAgICAgICAgb3B0X2F0dHJpYnNbaWldKTsKKyAgICB9Cisg
IH0KKyAgZ2wubGlua1Byb2dyYW0ocHJvZ3JhbSk7CisKKyAgLy8gQ2hlY2sgdGhlIGxpbmsgc3Rh
dHVzCisgIHZhciBsaW5rZWQgPSBnbC5nZXRQcm9ncmFtUGFyYW1ldGVyKHByb2dyYW0sIGdsLkxJ
TktfU1RBVFVTKTsKKyAgaWYgKCFsaW5rZWQpIHsKKyAgICAgIC8vIHNvbWV0aGluZyB3ZW50IHdy
b25nIHdpdGggdGhlIGxpbmsKKyAgICAgIGxhc3RFcnJvciA9IGdsLmdldFByb2dyYW1JbmZvTG9n
IChwcm9ncmFtKTsKKyAgICAgIGVycm9yKCJFcnJvciBpbiBwcm9ncmFtIGxpbmtpbmc6IiArIGxh
c3RFcnJvcik7CisKKyAgICAgIGdsLmRlbGV0ZVByb2dyYW0ocHJvZ3JhbSk7CisgICAgICByZXR1
cm4gbnVsbDsKKyAgfQorCisgIGdsLnVzZVByb2dyYW0ocHJvZ3JhbSk7CisgIHJldHVybiBwcm9n
cmFtOworfTsKKworLyoqCisgKiBDcmVhdGVzIGEgc2ltcGxlIHRleHR1cmUgcHJvZ3JhbS4KKyAq
IEBwYXJhbSB7IVdlYkdMQ29udGV4dH0gZ2wgVGhlIFdlYkdMQ29udGV4dCB0byB1c2UuCisgKiBA
cGFyYW0ge251bWJlcn0gb3B0X3Bvc2l0aW9uTG9jYXRpb24gVGhlIGF0dHJpYiBsb2NhdGlvbiBm
b3IgcG9zaXRpb24uCisgKiBAcGFyYW0ge251bWJlcn0gb3B0X3RleGNvb3JkTG9jYXRpb24gVGhl
IGF0dHJpYiBsb2NhdGlvbiBmb3IgdGV4dHVyZSBjb29yZHMuCisgKiBAcmV0dXJuIHtXZWJHTFBy
b2dyYW19CisgKi8KK3ZhciBzZXR1cFNpbXBsZVRleHR1cmVQcm9ncmFtID0gZnVuY3Rpb24oCisg
ICAgZ2wsIG9wdF9wb3NpdGlvbkxvY2F0aW9uLCBvcHRfdGV4Y29vcmRMb2NhdGlvbikgeworICBv
cHRfcG9zaXRpb25Mb2NhdGlvbiA9IG9wdF9wb3NpdGlvbkxvY2F0aW9uIHx8IDA7CisgIG9wdF90
ZXhjb29yZExvY2F0aW9uID0gb3B0X3RleGNvb3JkTG9jYXRpb24gfHwgMTsKKyAgdmFyIHZzID0g
c2V0dXBTaW1wbGVUZXh0dXJlVmVydGV4U2hhZGVyKGdsKTsKKyAgdmFyIGZzID0gc2V0dXBTaW1w
bGVUZXh0dXJlRnJhZ21lbnRTaGFkZXIoZ2wpOworICBpZiAoIXZzIHx8ICFmcykgeworICAgIHJl
dHVybiBudWxsOworICB9CisgIHZhciBwcm9ncmFtID0gc2V0dXBQcm9ncmFtKAorICAgICAgZ2ws
CisgICAgICBbdnMsIGZzXSwKKyAgICAgIFsndlBvc2l0aW9uJywgJ3RleENvb3JkMCddLAorICAg
ICAgW29wdF9wb3NpdGlvbkxvY2F0aW9uLCBvcHRfdGV4Y29vcmRMb2NhdGlvbl0pOworICBpZiAo
IXByb2dyYW0pIHsKKyAgICBnbC5kZWxldGVTaGFkZXIoZnMpOworICAgIGdsLmRlbGV0ZVNoYWRl
cih2cyk7CisgIH0KKyAgZ2wudXNlUHJvZ3JhbShwcm9ncmFtKTsKKyAgcmV0dXJuIHByb2dyYW07
Cit9OworCisvKioKKyAqIENyZWF0ZXMgYSBzaW1wbGUgdGV4dHVyZSBwcm9ncmFtLgorICogQHBh
cmFtIHshV2ViR0xDb250ZXh0fSBnbCBUaGUgV2ViR0xDb250ZXh0IHRvIHVzZS4KKyAqIEByZXR1
cm4ge1dlYkdMUHJvZ3JhbX0KKyAqLwordmFyIHNldHVwTm9UZXhDb29yZFRleHR1cmVQcm9ncmFt
ID0gZnVuY3Rpb24oZ2wpIHsKKyAgdmFyIHZzID0gc2V0dXBOb1RleENvb3JkVGV4dHVyZVZlcnRl
eFNoYWRlcihnbCk7CisgIHZhciBmcyA9IHNldHVwU2ltcGxlVGV4dHVyZUZyYWdtZW50U2hhZGVy
KGdsKTsKKyAgaWYgKCF2cyB8fCAhZnMpIHsKKyAgICByZXR1cm4gbnVsbDsKKyAgfQorICB2YXIg
cHJvZ3JhbSA9IHNldHVwUHJvZ3JhbSgKKyAgICAgIGdsLAorICAgICAgW3ZzLCBmc10sCisgICAg
ICBbJ3ZQb3NpdGlvbiddLAorICAgICAgWzBdKTsKKyAgaWYgKCFwcm9ncmFtKSB7CisgICAgZ2wu
ZGVsZXRlU2hhZGVyKGZzKTsKKyAgICBnbC5kZWxldGVTaGFkZXIodnMpOworICB9CisgIGdsLnVz
ZVByb2dyYW0ocHJvZ3JhbSk7CisgIHJldHVybiBwcm9ncmFtOworfTsKKworLyoqCisgKiBDcmVh
dGVzIGEgc2ltcGxlIHRleHR1cmUgcHJvZ3JhbS4KKyAqIEBwYXJhbSB7IVdlYkdMQ29udGV4dH0g
Z2wgVGhlIFdlYkdMQ29udGV4dCB0byB1c2UuCisgKiBAcGFyYW0ge251bWJlcn0gb3B0X3Bvc2l0
aW9uTG9jYXRpb24gVGhlIGF0dHJpYiBsb2NhdGlvbiBmb3IgcG9zaXRpb24uCisgKiBAcGFyYW0g
e251bWJlcn0gb3B0X3RleGNvb3JkTG9jYXRpb24gVGhlIGF0dHJpYiBsb2NhdGlvbiBmb3IgdGV4
dHVyZSBjb29yZHMuCisgKiBAcmV0dXJuIHtXZWJHTFByb2dyYW19CisgKi8KK3ZhciBzZXR1cFNp
bXBsZVRleHR1cmVQcm9ncmFtID0gZnVuY3Rpb24oCisgICAgZ2wsIG9wdF9wb3NpdGlvbkxvY2F0
aW9uLCBvcHRfdGV4Y29vcmRMb2NhdGlvbikgeworICBvcHRfcG9zaXRpb25Mb2NhdGlvbiA9IG9w
dF9wb3NpdGlvbkxvY2F0aW9uIHx8IDA7CisgIG9wdF90ZXhjb29yZExvY2F0aW9uID0gb3B0X3Rl
eGNvb3JkTG9jYXRpb24gfHwgMTsKKyAgdmFyIHZzID0gc2V0dXBTaW1wbGVUZXh0dXJlVmVydGV4
U2hhZGVyKGdsKTsKKyAgdmFyIGZzID0gc2V0dXBTaW1wbGVUZXh0dXJlRnJhZ21lbnRTaGFkZXIo
Z2wpOworICBpZiAoIXZzIHx8ICFmcykgeworICAgIHJldHVybiBudWxsOworICB9CisgIHZhciBw
cm9ncmFtID0gc2V0dXBQcm9ncmFtKAorICAgICAgZ2wsCisgICAgICBbdnMsIGZzXSwKKyAgICAg
IFsndlBvc2l0aW9uJywgJ3RleENvb3JkMCddLAorICAgICAgW29wdF9wb3NpdGlvbkxvY2F0aW9u
LCBvcHRfdGV4Y29vcmRMb2NhdGlvbl0pOworICBpZiAoIXByb2dyYW0pIHsKKyAgICBnbC5kZWxl
dGVTaGFkZXIoZnMpOworICAgIGdsLmRlbGV0ZVNoYWRlcih2cyk7CisgIH0KKyAgZ2wudXNlUHJv
Z3JhbShwcm9ncmFtKTsKKyAgcmV0dXJuIHByb2dyYW07Cit9OworCisvKioKKyAqIENyZWF0ZXMg
YSBzaW1wbGUgdmVydGV4IGNvbG9yIHByb2dyYW0uCisgKiBAcGFyYW0geyFXZWJHTENvbnRleHR9
IGdsIFRoZSBXZWJHTENvbnRleHQgdG8gdXNlLgorICogQHBhcmFtIHtudW1iZXJ9IG9wdF9wb3Np
dGlvbkxvY2F0aW9uIFRoZSBhdHRyaWIgbG9jYXRpb24gZm9yIHBvc2l0aW9uLgorICogQHBhcmFt
IHtudW1iZXJ9IG9wdF92ZXJ0ZXhDb2xvckxvY2F0aW9uIFRoZSBhdHRyaWIgbG9jYXRpb24KKyAq
ICAgICAgICBmb3IgdmVydGV4IGNvbG9ycy4KKyAqIEByZXR1cm4ge1dlYkdMUHJvZ3JhbX0KKyAq
LwordmFyIHNldHVwU2ltcGxlVmVydGV4Q29sb3JQcm9ncmFtID0gZnVuY3Rpb24oCisgICAgZ2ws
IG9wdF9wb3NpdGlvbkxvY2F0aW9uLCBvcHRfdmVydGV4Q29sb3JMb2NhdGlvbikgeworICBvcHRf
cG9zaXRpb25Mb2NhdGlvbiA9IG9wdF9wb3NpdGlvbkxvY2F0aW9uIHx8IDA7CisgIG9wdF92ZXJ0
ZXhDb2xvckxvY2F0aW9uID0gb3B0X3ZlcnRleENvbG9yTG9jYXRpb24gfHwgMTsKKyAgdmFyIHZz
ID0gc2V0dXBTaW1wbGVWZXJ0ZXhDb2xvclZlcnRleFNoYWRlcihnbCk7CisgIHZhciBmcyA9IHNl
dHVwU2ltcGxlVmVydGV4Q29sb3JGcmFnbWVudFNoYWRlcihnbCk7CisgIGlmICghdnMgfHwgIWZz
KSB7CisgICAgcmV0dXJuIG51bGw7CisgIH0KKyAgdmFyIHByb2dyYW0gPSBzZXR1cFByb2dyYW0o
CisgICAgICBnbCwKKyAgICAgIFt2cywgZnNdLAorICAgICAgWyd2UG9zaXRpb24nLCAnYV9jb2xv
ciddLAorICAgICAgW29wdF9wb3NpdGlvbkxvY2F0aW9uLCBvcHRfdmVydGV4Q29sb3JMb2NhdGlv
bl0pOworICBpZiAoIXByb2dyYW0pIHsKKyAgICBnbC5kZWxldGVTaGFkZXIoZnMpOworICAgIGds
LmRlbGV0ZVNoYWRlcih2cyk7CisgIH0KKyAgZ2wudXNlUHJvZ3JhbShwcm9ncmFtKTsKKyAgcmV0
dXJuIHByb2dyYW07Cit9OworCisvKioKKyAqIENyZWF0ZXMgYSBzaW1wbGUgY29sb3IgcHJvZ3Jh
bS4KKyAqIEBwYXJhbSB7IVdlYkdMQ29udGV4dH0gZ2wgVGhlIFdlYkdMQ29udGV4dCB0byB1c2Uu
CisgKiBAcGFyYW0ge251bWJlcn0gb3B0X3Bvc2l0aW9uTG9jYXRpb24gVGhlIGF0dHJpYiBsb2Nh
dGlvbiBmb3IgcG9zaXRpb24uCisgKiBAcmV0dXJuIHtXZWJHTFByb2dyYW19CisgKi8KK3ZhciBz
ZXR1cFNpbXBsZUNvbG9yUHJvZ3JhbSA9IGZ1bmN0aW9uKGdsLCBvcHRfcG9zaXRpb25Mb2NhdGlv
bikgeworICBvcHRfcG9zaXRpb25Mb2NhdGlvbiA9IG9wdF9wb3NpdGlvbkxvY2F0aW9uIHx8IDA7
CisgIHZhciB2cyA9IHNldHVwU2ltcGxlQ29sb3JWZXJ0ZXhTaGFkZXIoZ2wpOworICB2YXIgZnMg
PSBzZXR1cFNpbXBsZUNvbG9yRnJhZ21lbnRTaGFkZXIoZ2wpOworICBpZiAoIXZzIHx8ICFmcykg
eworICAgIHJldHVybiBudWxsOworICB9CisgIHZhciBwcm9ncmFtID0gc2V0dXBQcm9ncmFtKAor
ICAgICAgZ2wsCisgICAgICBbdnMsIGZzXSwKKyAgICAgIFsndlBvc2l0aW9uJ10sCisgICAgICBb
b3B0X3Bvc2l0aW9uTG9jYXRpb25dKTsKKyAgaWYgKCFwcm9ncmFtKSB7CisgICAgZ2wuZGVsZXRl
U2hhZGVyKGZzKTsKKyAgICBnbC5kZWxldGVTaGFkZXIodnMpOworICB9CisgIGdsLnVzZVByb2dy
YW0ocHJvZ3JhbSk7CisgIHJldHVybiBwcm9ncmFtOworfTsKKworLyoqCisgKiBDcmVhdGVzIGJ1
ZmZlcnMgZm9yIGEgdGV4dHVyZWQgdW5pdCBxdWFkIGFuZCBhdHRhY2hlcyB0aGVtIHRvIHZlcnRl
eCBhdHRyaWJzLgorICogQHBhcmFtIHshV2ViR0xDb250ZXh0fSBnbCBUaGUgV2ViR0xDb250ZXh0
IHRvIHVzZS4KKyAqIEBwYXJhbSB7bnVtYmVyfSBvcHRfcG9zaXRpb25Mb2NhdGlvbiBUaGUgYXR0
cmliIGxvY2F0aW9uIGZvciBwb3NpdGlvbi4KKyAqIEBwYXJhbSB7bnVtYmVyfSBvcHRfdGV4Y29v
cmRMb2NhdGlvbiBUaGUgYXR0cmliIGxvY2F0aW9uIGZvciB0ZXh0dXJlIGNvb3Jkcy4KKyAqIEBy
ZXR1cm4geyFBcnJheS48V2ViR0xCdWZmZXI+fSBUaGUgYnVmZmVyIG9iamVjdHMgdGhhdCB3ZXJl
CisgKiAgICAgIGNyZWF0ZWQuCisgKi8KK3ZhciBzZXR1cFVuaXRRdWFkID0gZnVuY3Rpb24oZ2ws
IG9wdF9wb3NpdGlvbkxvY2F0aW9uLCBvcHRfdGV4Y29vcmRMb2NhdGlvbikgeworICByZXR1cm4g
c2V0dXBVbml0UXVhZFdpdGhUZXhDb29yZHMoZ2wsIFsgMC4wLCAwLjAgXSwgWyAxLjAsIDEuMCBd
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0X3Bvc2l0aW9uTG9jYXRp
b24sIG9wdF90ZXhjb29yZExvY2F0aW9uKTsKK307CisKKy8qKgorICogQ3JlYXRlcyBidWZmZXJz
IGZvciBhIHRleHR1cmVkIHVuaXQgcXVhZCB3aXRoIHNwZWNpZmllZCBsb3dlciBsZWZ0CisgKiBh
bmQgdXBwZXIgcmlnaHQgdGV4dHVyZSBjb29yZGluYXRlcywgYW5kIGF0dGFjaGVzIHRoZW0gdG8g
dmVydGV4CisgKiBhdHRyaWJzLgorICogQHBhcmFtIHshV2ViR0xDb250ZXh0fSBnbCBUaGUgV2Vi
R0xDb250ZXh0IHRvIHVzZS4KKyAqIEBwYXJhbSB7IUFycmF5LjxudW1iZXI+fSBsb3dlckxlZnRU
ZXhDb29yZHMgVGhlIHRleHR1cmUgY29vcmRpbmF0ZXMgZm9yIHRoZSBsb3dlciBsZWZ0IGNvcm5l
ci4KKyAqIEBwYXJhbSB7IUFycmF5LjxudW1iZXI+fSB1cHBlclJpZ2h0VGV4Q29vcmRzIFRoZSB0
ZXh0dXJlIGNvb3JkaW5hdGVzIGZvciB0aGUgdXBwZXIgcmlnaHQgY29ybmVyLgorICogQHBhcmFt
IHtudW1iZXJ9IG9wdF9wb3NpdGlvbkxvY2F0aW9uIFRoZSBhdHRyaWIgbG9jYXRpb24gZm9yIHBv
c2l0aW9uLgorICogQHBhcmFtIHtudW1iZXJ9IG9wdF90ZXhjb29yZExvY2F0aW9uIFRoZSBhdHRy
aWIgbG9jYXRpb24gZm9yIHRleHR1cmUgY29vcmRzLgorICogQHJldHVybiB7IUFycmF5LjxXZWJH
TEJ1ZmZlcj59IFRoZSBidWZmZXIgb2JqZWN0cyB0aGF0IHdlcmUKKyAqICAgICAgY3JlYXRlZC4K
KyAqLwordmFyIHNldHVwVW5pdFF1YWRXaXRoVGV4Q29vcmRzID0gZnVuY3Rpb24oCisgICAgZ2ws
IGxvd2VyTGVmdFRleENvb3JkcywgdXBwZXJSaWdodFRleENvb3JkcywKKyAgICBvcHRfcG9zaXRp
b25Mb2NhdGlvbiwgb3B0X3RleGNvb3JkTG9jYXRpb24pIHsKKyAgb3B0X3Bvc2l0aW9uTG9jYXRp
b24gPSBvcHRfcG9zaXRpb25Mb2NhdGlvbiB8fCAwOworICBvcHRfdGV4Y29vcmRMb2NhdGlvbiA9
IG9wdF90ZXhjb29yZExvY2F0aW9uIHx8IDE7CisgIHZhciBvYmplY3RzID0gW107CisKKyAgdmFy
IHZlcnRleE9iamVjdCA9IGdsLmNyZWF0ZUJ1ZmZlcigpOworICBnbC5iaW5kQnVmZmVyKGdsLkFS
UkFZX0JVRkZFUiwgdmVydGV4T2JqZWN0KTsKKyAgZ2wuYnVmZmVyRGF0YShnbC5BUlJBWV9CVUZG
RVIsIG5ldyBGbG9hdDMyQXJyYXkoWworICAgICAgIDEuMCwgIDEuMCwgMC4wLAorICAgICAgLTEu
MCwgIDEuMCwgMC4wLAorICAgICAgLTEuMCwgLTEuMCwgMC4wLAorICAgICAgIDEuMCwgIDEuMCwg
MC4wLAorICAgICAgLTEuMCwgLTEuMCwgMC4wLAorICAgICAgIDEuMCwgLTEuMCwgMC4wXSksIGds
LlNUQVRJQ19EUkFXKTsKKyAgZ2wuZW5hYmxlVmVydGV4QXR0cmliQXJyYXkob3B0X3Bvc2l0aW9u
TG9jYXRpb24pOworICBnbC52ZXJ0ZXhBdHRyaWJQb2ludGVyKG9wdF9wb3NpdGlvbkxvY2F0aW9u
LCAzLCBnbC5GTE9BVCwgZmFsc2UsIDAsIDApOworICBvYmplY3RzLnB1c2godmVydGV4T2JqZWN0
KTsKKworICB2YXIgbGx4ID0gbG93ZXJMZWZ0VGV4Q29vcmRzWzBdOworICB2YXIgbGx5ID0gbG93
ZXJMZWZ0VGV4Q29vcmRzWzFdOworICB2YXIgdXJ4ID0gdXBwZXJSaWdodFRleENvb3Jkc1swXTsK
KyAgdmFyIHVyeSA9IHVwcGVyUmlnaHRUZXhDb29yZHNbMV07CisKKyAgdmFyIHZlcnRleE9iamVj
dCA9IGdsLmNyZWF0ZUJ1ZmZlcigpOworICBnbC5iaW5kQnVmZmVyKGdsLkFSUkFZX0JVRkZFUiwg
dmVydGV4T2JqZWN0KTsKKyAgZ2wuYnVmZmVyRGF0YShnbC5BUlJBWV9CVUZGRVIsIG5ldyBGbG9h
dDMyQXJyYXkoWworICAgICAgdXJ4LCB1cnksCisgICAgICBsbHgsIHVyeSwKKyAgICAgIGxseCwg
bGx5LAorICAgICAgdXJ4LCB1cnksCisgICAgICBsbHgsIGxseSwKKyAgICAgIHVyeCwgbGx5XSks
IGdsLlNUQVRJQ19EUkFXKTsKKyAgZ2wuZW5hYmxlVmVydGV4QXR0cmliQXJyYXkob3B0X3RleGNv
b3JkTG9jYXRpb24pOworICBnbC52ZXJ0ZXhBdHRyaWJQb2ludGVyKG9wdF90ZXhjb29yZExvY2F0
aW9uLCAyLCBnbC5GTE9BVCwgZmFsc2UsIDAsIDApOworICBvYmplY3RzLnB1c2godmVydGV4T2Jq
ZWN0KTsKKyAgcmV0dXJuIG9iamVjdHM7Cit9OworCisvKioKKyAqIENyZWF0ZXMgYSBwcm9ncmFt
IGFuZCBidWZmZXJzIGZvciByZW5kZXJpbmcgYSB0ZXh0dXJlZCBxdWFkLgorICogQHBhcmFtIHsh
V2ViR0xDb250ZXh0fSBnbCBUaGUgV2ViR0xDb250ZXh0IHRvIHVzZS4KKyAqIEBwYXJhbSB7bnVt
YmVyfSBvcHRfcG9zaXRpb25Mb2NhdGlvbiBUaGUgYXR0cmliIGxvY2F0aW9uIGZvcgorICogICAg
ICAgIHBvc2l0aW9uLiBEZWZhdWx0ID0gMC4KKyAqIEBwYXJhbSB7bnVtYmVyfSBvcHRfdGV4Y29v
cmRMb2NhdGlvbiBUaGUgYXR0cmliIGxvY2F0aW9uIGZvcgorICogICAgICAgIHRleHR1cmUgY29v
cmRzLiBEZWZhdWx0ID0gMC4KKyAqIEByZXR1cm4geyFXZWJHTFByb2dyYW19CisgKi8KK3ZhciBz
ZXR1cFRleHR1cmVkUXVhZCA9IGZ1bmN0aW9uKAorICAgIGdsLCBvcHRfcG9zaXRpb25Mb2NhdGlv
biwgb3B0X3RleGNvb3JkTG9jYXRpb24pIHsKKyAgdmFyIHByb2dyYW0gPSBzZXR1cFNpbXBsZVRl
eHR1cmVQcm9ncmFtKAorICAgICAgZ2wsIG9wdF9wb3NpdGlvbkxvY2F0aW9uLCBvcHRfdGV4Y29v
cmRMb2NhdGlvbik7CisgIHNldHVwVW5pdFF1YWQoZ2wsIG9wdF9wb3NpdGlvbkxvY2F0aW9uLCBv
cHRfdGV4Y29vcmRMb2NhdGlvbik7CisgIHJldHVybiBwcm9ncmFtOworfTsKKworLyoqCisgKiBD
cmVhdGVzIGEgcHJvZ3JhbSBhbmQgYnVmZmVycyBmb3IgcmVuZGVyaW5nIGEgY29sb3IgcXVhZC4K
KyAqIEBwYXJhbSB7IVdlYkdMQ29udGV4dH0gZ2wgVGhlIFdlYkdMQ29udGV4dCB0byB1c2UuCisg
KiBAcGFyYW0ge251bWJlcn0gb3B0X3Bvc2l0aW9uTG9jYXRpb24gVGhlIGF0dHJpYiBsb2NhdGlv
biBmb3IgcG9zaXRpb24uCisgKiBAcmV0dXJuIHshV2ViR0xQcm9ncmFtfQorICovCit2YXIgc2V0
dXBDb2xvclF1YWQgPSBmdW5jdGlvbihnbCwgb3B0X3Bvc2l0aW9uTG9jYXRpb24pIHsKKyAgb3B0
X3Bvc2l0aW9uTG9jYXRpb24gPSBvcHRfcG9zaXRpb25Mb2NhdGlvbiB8fCAwOworICB2YXIgcHJv
Z3JhbSA9IHNldHVwU2ltcGxlQ29sb3JQcm9ncmFtKGdsKTsKKyAgc2V0dXBVbml0UXVhZChnbCwg
b3B0X3Bvc2l0aW9uTG9jYXRpb24pOworICByZXR1cm4gcHJvZ3JhbTsKK307CisKKy8qKgorICog
Q3JlYXRlcyBhIHByb2dyYW0gYW5kIGJ1ZmZlcnMgZm9yIHJlbmRlcmluZyBhIHRleHR1cmVkIHF1
YWQgd2l0aAorICogc3BlY2lmaWVkIGxvd2VyIGxlZnQgYW5kIHVwcGVyIHJpZ2h0IHRleHR1cmUg
Y29vcmRpbmF0ZXMuCisgKiBAcGFyYW0geyFXZWJHTENvbnRleHR9IGdsIFRoZSBXZWJHTENvbnRl
eHQgdG8gdXNlLgorICogQHBhcmFtIHshQXJyYXkuPG51bWJlcj59IGxvd2VyTGVmdFRleENvb3Jk
cyBUaGUgdGV4dHVyZSBjb29yZGluYXRlcyBmb3IgdGhlIGxvd2VyIGxlZnQgY29ybmVyLgorICog
QHBhcmFtIHshQXJyYXkuPG51bWJlcj59IHVwcGVyUmlnaHRUZXhDb29yZHMgVGhlIHRleHR1cmUg
Y29vcmRpbmF0ZXMgZm9yIHRoZSB1cHBlciByaWdodCBjb3JuZXIuCisgKiBAcGFyYW0ge251bWJl
cn0gb3B0X3Bvc2l0aW9uTG9jYXRpb24gVGhlIGF0dHJpYiBsb2NhdGlvbiBmb3IgcG9zaXRpb24u
CisgKiBAcGFyYW0ge251bWJlcn0gb3B0X3RleGNvb3JkTG9jYXRpb24gVGhlIGF0dHJpYiBsb2Nh
dGlvbiBmb3IgdGV4dHVyZSBjb29yZHMuCisgKiBAcmV0dXJuIHshV2ViR0xQcm9ncmFtfQorICov
Cit2YXIgc2V0dXBUZXh0dXJlZFF1YWRXaXRoVGV4Q29vcmRzID0gZnVuY3Rpb24oCisgICAgZ2ws
IGxvd2VyTGVmdFRleENvb3JkcywgdXBwZXJSaWdodFRleENvb3JkcywKKyAgICBvcHRfcG9zaXRp
b25Mb2NhdGlvbiwgb3B0X3RleGNvb3JkTG9jYXRpb24pIHsKKyAgdmFyIHByb2dyYW0gPSBzZXR1
cFNpbXBsZVRleHR1cmVQcm9ncmFtKAorICAgICAgZ2wsIG9wdF9wb3NpdGlvbkxvY2F0aW9uLCBv
cHRfdGV4Y29vcmRMb2NhdGlvbik7CisgIHNldHVwVW5pdFF1YWRXaXRoVGV4Q29vcmRzKGdsLCBs
b3dlckxlZnRUZXhDb29yZHMsIHVwcGVyUmlnaHRUZXhDb29yZHMsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIG9wdF9wb3NpdGlvbkxvY2F0aW9uLCBvcHRfdGV4Y29vcmRMb2NhdGlvbik7
CisgIHJldHVybiBwcm9ncmFtOworfTsKKworLyoqCisgKiBDcmVhdGVzIGEgdW5pdCBxdWFkIHdp
dGggb25seSBwb3NpdGlvbnMgb2YgYSBnaXZlbiByZXNvbHV0aW9uLgorICogQHBhcmFtIHshV2Vi
R0xDb250ZXh0fSBnbCBUaGUgV2ViR0xDb250ZXh0IHRvIHVzZS4KKyAqIEBwYXJhbSB7bnVtYmVy
fSBncmlkUmVzIFRoZSByZXNvbHV0aW9uIG9mIHRoZSBtZXNoIGdyaWQsCisgKiAgICAgZXhwcmVz
c2VkIGluIHRoZSBudW1iZXIgb2YgcXVhZHMgYWNyb3NzIGFuZCBkb3duLgorICogQHBhcmFtIHtu
dW1iZXJ9IG9wdF9wb3NpdGlvbkxvY2F0aW9uIFRoZSBhdHRyaWIgbG9jYXRpb24gZm9yIHBvc2l0
aW9uLgorICovCit2YXIgc2V0dXBRdWFkID0gZnVuY3Rpb24gKAorICAgIGdsLCBncmlkUmVzLCBv
cHRfcG9zaXRpb25Mb2NhdGlvbiwgb3B0X2ZsaXBPZGRUcmlhbmdsZXMpIHsKKyAgcmV0dXJuIHNl
dHVwUXVhZFdpdGhPcHRpb25zKGdsLAorICAgIHsgZ3JpZFJlczogZ3JpZFJlcywKKyAgICAgIHBv
c2l0aW9uTG9jYXRpb246IG9wdF9wb3NpdGlvbkxvY2F0aW9uLAorICAgICAgZmxpcE9kZFRyaWFu
Z2xlczogb3B0X2ZsaXBPZGRUcmlhbmdsZXMKKyAgICB9KTsKK307CisKKy8qKgorICogQ3JlYXRl
cyBhIHF1YWQgd2l0aCB2YXJpb3VzIG9wdGlvbnMuCisgKiBAcGFyYW0geyFXZWJHTENvbnRleHR9
IGdsIFRoZSBXZWJHTENvbnRleHQgdG8gdXNlLgorICogQHBhcmFtIHshT2JqZWN0KSBvcHRpb25z
IFRoZSBvcHRpb25zLiBTZWUgYmVsb3cuCisgKiBAcmV0dXJuIHshQXJyYXkuPFdlYkdMQnVmZmVy
Pn0gVGhlIGNyZWF0ZWQgYnVmZmVycy4KKyAqICAgICBbcG9zaXRpb25zLCA8Y29sb3JzPiwgaW5k
aWNlc10KKyAqCisgKiBPcHRpb25zOgorICogICBncmlkUmVzOiBudW1iZXIgb2YgcXVhZHMgYWNy
b3NzIGFuZCBkb3duIGdyaWQuCisgKiAgIHBvc2l0aW9uTG9jYXRpb246IGF0dHJpYiBsb2NhdGlv
biBmb3IgcG9zaXRpb24KKyAqICAgZmxpcE9kZFRyaWFuZ2xlczogcmV2ZXJzZSBvcmRlciBvZiB2
ZXJ0aWNlcyBvZiBldmVyeSBvdGhlcgorICogICAgICAgdHJpYW5nbGUKKyAqICAgcG9zaXRpb25P
ZmZzZXQ6IG9mZnNldCBhZGRlZCB0byBlYWNoIHZlcnRleAorICogICBwb3NpdGlvbk11bHQ6IG11
bHRpcGllciBmb3IgZWFjaCB2ZXJ0ZXgKKyAqICAgY29sb3JMb2NhdGlvbjogYXR0cmliIGxvY2F0
aW9uIGZvciB2ZXJ0ZXggY29sb3JzLiBJZgorICogICAgICB1bmRlZmluZWQgbm8gdmVydGV4IGNv
bG9ycyB3aWxsIGJlIGNyZWF0ZWQuCisgKi8KK3ZhciBzZXR1cFF1YWRXaXRoT3B0aW9ucyA9IGZ1
bmN0aW9uIChnbCwgb3B0aW9ucykgeworICB2YXIgcG9zaXRpb25Mb2NhdGlvbiA9IG9wdGlvbnMu
cG9zaXRpb25Mb2NhdGlvbiB8fCAwOworICB2YXIgb2JqZWN0cyA9IFtdOworCisgIHZhciBncmlk
UmVzID0gb3B0aW9ucy5ncmlkUmVzIHx8IDE7CisgIHZhciBwb3NpdGlvbk9mZnNldCA9IG9wdGlv
bnMucG9zaXRpb25PZmZzZXQgfHwgMDsKKyAgdmFyIHBvc2l0aW9uTXVsdCA9IG9wdGlvbnMucG9z
aXRpb25NdWx0IHx8IDE7CisgIHZhciB2ZXJ0c0Fjcm9zcyA9IGdyaWRSZXMgKyAxOworICB2YXIg
bnVtVmVydHMgPSB2ZXJ0c0Fjcm9zcyAqIHZlcnRzQWNyb3NzOworICB2YXIgcG9zaXRpb25zID0g
bmV3IEZsb2F0MzJBcnJheShudW1WZXJ0cyAqIDMpOworICB2YXIgaW5kaWNlcyA9IG5ldyBVaW50
MTZBcnJheSg2ICogZ3JpZFJlcyAqIGdyaWRSZXMpOworICB2YXIgcG9mZnNldCA9IDA7CisKKyAg
Zm9yICh2YXIgeXkgPSAwOyB5eSA8PSBncmlkUmVzOyArK3l5KSB7CisgICAgZm9yICh2YXIgeHgg
PSAwOyB4eCA8PSBncmlkUmVzOyArK3h4KSB7CisgICAgICBwb3NpdGlvbnNbcG9mZnNldCArIDBd
ID0gKC0xICsgMiAqIHh4IC8gZ3JpZFJlcykgKiBwb3NpdGlvbk11bHQgKyBwb3NpdGlvbk9mZnNl
dDsKKyAgICAgIHBvc2l0aW9uc1twb2Zmc2V0ICsgMV0gPSAoLTEgKyAyICogeXkgLyBncmlkUmVz
KSAqIHBvc2l0aW9uTXVsdCArIHBvc2l0aW9uT2Zmc2V0OworICAgICAgcG9zaXRpb25zW3BvZmZz
ZXQgKyAyXSA9IDA7CisKKyAgICAgIHBvZmZzZXQgKz0gMzsKKyAgICB9CisgIH0KKworICB2YXIg
YnVmID0gZ2wuY3JlYXRlQnVmZmVyKCk7CisgIGdsLmJpbmRCdWZmZXIoZ2wuQVJSQVlfQlVGRkVS
LCBidWYpOworICBnbC5idWZmZXJEYXRhKGdsLkFSUkFZX0JVRkZFUiwgcG9zaXRpb25zLCBnbC5T
VEFUSUNfRFJBVyk7CisgIGdsLmVuYWJsZVZlcnRleEF0dHJpYkFycmF5KHBvc2l0aW9uTG9jYXRp
b24pOworICBnbC52ZXJ0ZXhBdHRyaWJQb2ludGVyKHBvc2l0aW9uTG9jYXRpb24sIDMsIGdsLkZM
T0FULCBmYWxzZSwgMCwgMCk7CisgIG9iamVjdHMucHVzaChidWYpOworCisgIGlmIChvcHRpb25z
LmNvbG9yTG9jYXRpb24gIT09IHVuZGVmaW5lZCkgeworICAgIHZhciBjb2xvcnMgPSBuZXcgRmxv
YXQzMkFycmF5KG51bVZlcnRzICogNCk7CisgICAgZm9yICh2YXIgeXkgPSAwOyB5eSA8PSBncmlk
UmVzOyArK3l5KSB7CisgICAgICBmb3IgKHZhciB4eCA9IDA7IHh4IDw9IGdyaWRSZXM7ICsreHgp
IHsKKyAgICAgICAgaWYgKG9wdGlvbnMuY29sb3IgIT09IHVuZGVmaW5lZCkgeworICAgICAgICAg
IGNvbG9yc1twb2Zmc2V0ICsgMF0gPSBvcHRpb25zLmNvbG9yWzBdOworICAgICAgICAgIGNvbG9y
c1twb2Zmc2V0ICsgMV0gPSBvcHRpb25zLmNvbG9yWzFdOworICAgICAgICAgIGNvbG9yc1twb2Zm
c2V0ICsgMl0gPSBvcHRpb25zLmNvbG9yWzJdOworICAgICAgICAgIGNvbG9yc1twb2Zmc2V0ICsg
M10gPSBvcHRpb25zLmNvbG9yWzNdOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgIGNvbG9y
c1twb2Zmc2V0ICsgMF0gPSB4eCAvIGdyaWRSZXM7CisgICAgICAgICAgY29sb3JzW3BvZmZzZXQg
KyAxXSA9IHl5IC8gZ3JpZFJlczsKKyAgICAgICAgICBjb2xvcnNbcG9mZnNldCArIDJdID0gKHh4
IC8gZ3JpZFJlcykgKiAoeXkgLyBncmlkUmVzKTsKKyAgICAgICAgICBjb2xvcnNbcG9mZnNldCAr
IDNdID0gKHl5ICUgMikgKiAwLjUgKyAwLjU7CisgICAgICAgIH0KKyAgICAgICAgcG9mZnNldCAr
PSA0OworICAgICAgfQorICAgIH0KKworICAgIHZhciBidWYgPSBnbC5jcmVhdGVCdWZmZXIoKTsK
KyAgICBnbC5iaW5kQnVmZmVyKGdsLkFSUkFZX0JVRkZFUiwgYnVmKTsKKyAgICBnbC5idWZmZXJE
YXRhKGdsLkFSUkFZX0JVRkZFUiwgY29sb3JzLCBnbC5TVEFUSUNfRFJBVyk7CisgICAgZ2wuZW5h
YmxlVmVydGV4QXR0cmliQXJyYXkob3B0aW9ucy5jb2xvckxvY2F0aW9uKTsKKyAgICBnbC52ZXJ0
ZXhBdHRyaWJQb2ludGVyKG9wdGlvbnMuY29sb3JMb2NhdGlvbiwgNCwgZ2wuRkxPQVQsIGZhbHNl
LCAwLCAwKTsKKyAgICBvYmplY3RzLnB1c2goYnVmKTsKKyAgfQorCisgIHZhciB0YmFzZSA9IDA7
CisgIGZvciAodmFyIHl5ID0gMDsgeXkgPCBncmlkUmVzOyArK3l5KSB7CisgICAgdmFyIGluZGV4
ID0geXkgKiB2ZXJ0c0Fjcm9zczsKKyAgICBmb3IgKHZhciB4eCA9IDA7IHh4IDwgZ3JpZFJlczsg
Kyt4eCkgeworICAgICAgaW5kaWNlc1t0YmFzZSArIDBdID0gaW5kZXggKyAwOworICAgICAgaW5k
aWNlc1t0YmFzZSArIDFdID0gaW5kZXggKyAxOworICAgICAgaW5kaWNlc1t0YmFzZSArIDJdID0g
aW5kZXggKyB2ZXJ0c0Fjcm9zczsKKyAgICAgIGluZGljZXNbdGJhc2UgKyAzXSA9IGluZGV4ICsg
dmVydHNBY3Jvc3M7CisgICAgICBpbmRpY2VzW3RiYXNlICsgNF0gPSBpbmRleCArIDE7CisgICAg
ICBpbmRpY2VzW3RiYXNlICsgNV0gPSBpbmRleCArIHZlcnRzQWNyb3NzICsgMTsKKworICAgICAg
aWYgKG9wdGlvbnMuZmxpcE9kZFRyaWFuZ2xlcykgeworICAgICAgICBpbmRpY2VzW3RiYXNlICsg
NF0gPSBpbmRleCArIHZlcnRzQWNyb3NzICsgMTsKKyAgICAgICAgaW5kaWNlc1t0YmFzZSArIDVd
ID0gaW5kZXggKyAxOworICAgICAgfQorCisgICAgICBpbmRleCArPSAxOworICAgICAgdGJhc2Ug
Kz0gNjsKKyAgICB9CisgIH0KKworICB2YXIgYnVmID0gZ2wuY3JlYXRlQnVmZmVyKCk7CisgIGds
LmJpbmRCdWZmZXIoZ2wuRUxFTUVOVF9BUlJBWV9CVUZGRVIsIGJ1Zik7CisgIGdsLmJ1ZmZlckRh
dGEoZ2wuRUxFTUVOVF9BUlJBWV9CVUZGRVIsIGluZGljZXMsIGdsLlNUQVRJQ19EUkFXKTsKKyAg
b2JqZWN0cy5wdXNoKGJ1Zik7CisKKyAgcmV0dXJuIG9iamVjdHM7Cit9OworCisvKioKKyAqIEZp
bGxzIHRoZSBnaXZlbiB0ZXh0dXJlIHdpdGggYSBzb2xpZCBjb2xvcgorICogQHBhcmFtIHshV2Vi
R0xDb250ZXh0fSBnbCBUaGUgV2ViR0xDb250ZXh0IHRvIHVzZS4KKyAqIEBwYXJhbSB7IVdlYkdM
VGV4dHVyZX0gdGV4IFRoZSB0ZXh0dXJlIHRvIGZpbGwuCisgKiBAcGFyYW0ge251bWJlcn0gd2lk
dGggVGhlIHdpZHRoIG9mIHRoZSB0ZXh0dXJlIHRvIGNyZWF0ZS4KKyAqIEBwYXJhbSB7bnVtYmVy
fSBoZWlnaHQgVGhlIGhlaWdodCBvZiB0aGUgdGV4dHVyZSB0byBjcmVhdGUuCisgKiBAcGFyYW0g
eyFBcnJheS48bnVtYmVyPn0gY29sb3IgVGhlIGNvbG9yIHRvIGZpbGwgd2l0aC4gQSA0IGVsZW1l
bnQgYXJyYXkKKyAqICAgICAgICB3aGVyZSBlYWNoIGVsZW1lbnQgaXMgaW4gdGhlIHJhbmdlIDAg
dG8gMjU1LgorICogQHBhcmFtIHtudW1iZXJ9IG9wdF9sZXZlbCBUaGUgbGV2ZWwgb2YgdGhlIHRl
eHR1cmUgdG8gZmlsbC4gRGVmYXVsdCA9IDAuCisgKi8KK3ZhciBmaWxsVGV4dHVyZSA9IGZ1bmN0
aW9uKGdsLCB0ZXgsIHdpZHRoLCBoZWlnaHQsIGNvbG9yLCBvcHRfbGV2ZWwpIHsKKyAgb3B0X2xl
dmVsID0gb3B0X2xldmVsIHx8IDA7CisgIHZhciBudW1QaXhlbHMgPSB3aWR0aCAqIGhlaWdodDsK
KyAgdmFyIHNpemUgPSBudW1QaXhlbHMgKiA0OworICB2YXIgYnVmID0gbmV3IFVpbnQ4QXJyYXko
c2l6ZSk7CisgIGZvciAodmFyIGlpID0gMDsgaWkgPCBudW1QaXhlbHM7ICsraWkpIHsKKyAgICB2
YXIgb2ZmID0gaWkgKiA0OworICAgIGJ1ZltvZmYgKyAwXSA9IGNvbG9yWzBdOworICAgIGJ1Zltv
ZmYgKyAxXSA9IGNvbG9yWzFdOworICAgIGJ1ZltvZmYgKyAyXSA9IGNvbG9yWzJdOworICAgIGJ1
ZltvZmYgKyAzXSA9IGNvbG9yWzNdOworICB9CisgIGdsLmJpbmRUZXh0dXJlKGdsLlRFWFRVUkVf
MkQsIHRleCk7CisgIGdsLnRleEltYWdlMkQoCisgICAgICBnbC5URVhUVVJFXzJELCBvcHRfbGV2
ZWwsIGdsLlJHQkEsIHdpZHRoLCBoZWlnaHQsIDAsCisgICAgICBnbC5SR0JBLCBnbC5VTlNJR05F
RF9CWVRFLCBidWYpOworICB9OworCisvKioKKyAqIENyZWF0ZXMgYSB0ZXh0dXJlcyBhbmQgZmls
bHMgaXQgd2l0aCBhIHNvbGlkIGNvbG9yCisgKiBAcGFyYW0geyFXZWJHTENvbnRleHR9IGdsIFRo
ZSBXZWJHTENvbnRleHQgdG8gdXNlLgorICogQHBhcmFtIHtudW1iZXJ9IHdpZHRoIFRoZSB3aWR0
aCBvZiB0aGUgdGV4dHVyZSB0byBjcmVhdGUuCisgKiBAcGFyYW0ge251bWJlcn0gaGVpZ2h0IFRo
ZSBoZWlnaHQgb2YgdGhlIHRleHR1cmUgdG8gY3JlYXRlLgorICogQHBhcmFtIHshQXJyYXkuPG51
bWJlcj59IGNvbG9yIFRoZSBjb2xvciB0byBmaWxsIHdpdGguIEEgNCBlbGVtZW50IGFycmF5Cisg
KiAgICAgICAgd2hlcmUgZWFjaCBlbGVtZW50IGlzIGluIHRoZSByYW5nZSAwIHRvIDI1NS4KKyAq
IEByZXR1cm4geyFXZWJHTFRleHR1cmV9CisgKi8KK3ZhciBjcmVhdGVDb2xvcmVkVGV4dHVyZSA9
IGZ1bmN0aW9uKGdsLCB3aWR0aCwgaGVpZ2h0LCBjb2xvcikgeworICB2YXIgdGV4ID0gZ2wuY3Jl
YXRlVGV4dHVyZSgpOworICBmaWxsVGV4dHVyZShnbCwgdGV4LCB3aWR0aCwgaGVpZ2h0LCBjb2xv
cik7CisgIHJldHVybiB0ZXg7Cit9OworCit2YXIgdWJ5dGVUb0Zsb2F0ID0gZnVuY3Rpb24oYykg
eworICByZXR1cm4gYyAvIDI1NTsKK307CisKK3ZhciB1Ynl0ZUNvbG9yVG9GbG9hdENvbG9yID0g
ZnVuY3Rpb24oY29sb3IpIHsKKyAgdmFyIGZsb2F0Q29sb3IgPSBbXTsKKyAgZm9yICh2YXIgaWkg
PSAwOyBpaSA8IGNvbG9yLmxlbmd0aDsgKytpaSkgeworICAgIGZsb2F0Q29sb3JbaWldID0gdWJ5
dGVUb0Zsb2F0KGNvbG9yW2lpXSk7CisgIH0KKyAgcmV0dXJuIGZsb2F0Q29sb3I7Cit9OworCisv
KioKKyAqIFNldHMgdGhlICJ1X2NvbG9yIiB1bmlmb3JtIG9mIHRoZSBjdXJyZW50IHByb2dyYW0g
dG8gY29sb3IuCisgKiBAcGFyYW0geyFXZWJHTENvbnRleHR9IGdsIFRoZSBXZWJHTENvbnRleHQg
dG8gdXNlLgorICogQHBhcmFtIHshQXJyYXkuPG51bWJlcj4gY29sb3IgNCBlbGVtZW50IGFycmF5
IG9mIDAtMSBjb2xvcgorICogICAgICBjb21wb25lbnRzLgorICovCit2YXIgc2V0RmxvYXREcmF3
Q29sb3IgPSBmdW5jdGlvbihnbCwgY29sb3IpIHsKKyAgdmFyIHByb2dyYW0gPSBnbC5nZXRQYXJh
bWV0ZXIoZ2wuQ1VSUkVOVF9QUk9HUkFNKTsKKyAgdmFyIGNvbG9yTG9jYXRpb24gPSBnbC5nZXRV
bmlmb3JtTG9jYXRpb24ocHJvZ3JhbSwgInVfY29sb3IiKTsKKyAgZ2wudW5pZm9ybTRmdihjb2xv
ckxvY2F0aW9uLCBjb2xvcik7Cit9OworCisvKioKKyAqIFNldHMgdGhlICJ1X2NvbG9yIiB1bmlm
b3JtIG9mIHRoZSBjdXJyZW50IHByb2dyYW0gdG8gY29sb3IuCisgKiBAcGFyYW0geyFXZWJHTENv
bnRleHR9IGdsIFRoZSBXZWJHTENvbnRleHQgdG8gdXNlLgorICogQHBhcmFtIHshQXJyYXkuPG51
bWJlcj4gY29sb3IgNCBlbGVtZW50IGFycmF5IG9mIDAtMjU1IGNvbG9yCisgKiAgICAgIGNvbXBv
bmVudHMuCisgKi8KK3ZhciBzZXRVQnl0ZURyYXdDb2xvciA9IGZ1bmN0aW9uKGdsLCBjb2xvcikg
eworICBzZXRGbG9hdERyYXdDb2xvcihnbCwgdWJ5dGVDb2xvclRvRmxvYXRDb2xvcihjb2xvcikp
OworfTsKKworLyoqCisgKiBEcmF3cyBhIHByZXZpb3VzbHkgc2V0dXAgcXVhZCBpbiB0aGUgZ2l2
ZW4gY29sb3IuCisgKiBAcGFyYW0geyFXZWJHTENvbnRleHR9IGdsIFRoZSBXZWJHTENvbnRleHQg
dG8gdXNlLgorICogQHBhcmFtIHshQXJyYXkuPG51bWJlcj59IGNvbG9yIFRoZSBjb2xvciB0byBk
cmF3IHdpdGguIEEgNAorICogICAgICAgIGVsZW1lbnQgYXJyYXkgd2hlcmUgZWFjaCBlbGVtZW50
IGlzIGluIHRoZSByYW5nZSAwIHRvCisgKiAgICAgICAgMS4KKyAqLwordmFyIGRyYXdGbG9hdENv
bG9yUXVhZCA9IGZ1bmN0aW9uKGdsLCBjb2xvcikgeworICB2YXIgcHJvZ3JhbSA9IGdsLmdldFBh
cmFtZXRlcihnbC5DVVJSRU5UX1BST0dSQU0pOworICB2YXIgY29sb3JMb2NhdGlvbiA9IGdsLmdl
dFVuaWZvcm1Mb2NhdGlvbihwcm9ncmFtLCAidV9jb2xvciIpOworICBnbC51bmlmb3JtNGZ2KGNv
bG9yTG9jYXRpb24sIGNvbG9yKTsKKyAgZ2wuZHJhd0FycmF5cyhnbC5UUklBTkdMRVMsIDAsIDYp
OworfTsKKworCisvKioKKyAqIERyYXdzIGEgcHJldmlvdXNseSBzZXR1cCBxdWFkIGluIHRoZSBn
aXZlbiBjb2xvci4KKyAqIEBwYXJhbSB7IVdlYkdMQ29udGV4dH0gZ2wgVGhlIFdlYkdMQ29udGV4
dCB0byB1c2UuCisgKiBAcGFyYW0geyFBcnJheS48bnVtYmVyPn0gY29sb3IgVGhlIGNvbG9yIHRv
IGRyYXcgd2l0aC4gQSA0CisgKiAgICAgICAgZWxlbWVudCBhcnJheSB3aGVyZSBlYWNoIGVsZW1l
bnQgaXMgaW4gdGhlIHJhbmdlIDAgdG8KKyAqICAgICAgICAyNTUuCisgKi8KK3ZhciBkcmF3VUJ5
dGVDb2xvclF1YWQgPSBmdW5jdGlvbihnbCwgY29sb3IpIHsKKyAgZHJhd0Zsb2F0Q29sb3JRdWFk
KGdsLCB1Ynl0ZUNvbG9yVG9GbG9hdENvbG9yKGNvbG9yKSk7Cit9OworCisvKioKKyAqIERyYXdz
IGEgcHJldmlvdXNseSBzZXR1cCBxdWFkLgorICogQHBhcmFtIHshV2ViR0xDb250ZXh0fSBnbCBU
aGUgV2ViR0xDb250ZXh0IHRvIHVzZS4KKyAqIEBwYXJhbSB7IUFycmF5LjxudW1iZXI+fSBvcHRf
Y29sb3IgVGhlIGNvbG9yIHRvIGZpbGwgY2xlYXIgd2l0aCBiZWZvcmUKKyAqICAgICAgICBkcmF3
aW5nLiBBIDQgZWxlbWVudCBhcnJheSB3aGVyZSBlYWNoIGVsZW1lbnQgaXMgaW4gdGhlIHJhbmdl
IDAgdG8KKyAqICAgICAgICAyNTUuIERlZmF1bHQgWzI1NSwgMjU1LCAyNTUsIDI1NV0KKyAqLwor
dmFyIGRyYXdRdWFkID0gZnVuY3Rpb24oZ2wsIG9wdF9jb2xvcikgeworICBvcHRfY29sb3IgPSBv
cHRfY29sb3IgfHwgWzI1NSwgMjU1LCAyNTUsIDI1NV07CisgIGdsLmNsZWFyQ29sb3IoCisgICAg
ICBvcHRfY29sb3JbMF0gLyAyNTUsCisgICAgICBvcHRfY29sb3JbMV0gLyAyNTUsCisgICAgICBv
cHRfY29sb3JbMl0gLyAyNTUsCisgICAgICBvcHRfY29sb3JbM10gLyAyNTUpOworICBnbC5jbGVh
cihnbC5DT0xPUl9CVUZGRVJfQklUIHwgZ2wuREVQVEhfQlVGRkVSX0JJVCk7CisgIGdsLmRyYXdB
cnJheXMoZ2wuVFJJQU5HTEVTLCAwLCA2KTsKK307CisKKy8qKgorICogRHJhd3MgYSBwcmV2aW91
c2x5IHNldHVwIHF1YWQuCisgKiBAcGFyYW0geyFXZWJHTENvbnRleHR9IGdsIFRoZSBXZWJHTENv
bnRleHQgdG8gdXNlLgorICogQHBhcmFtIHtudW1iZXJ9IGdyaWRSZXMgUmVzb2x1dGlvbiBvZiBn
cmlkLgorICogQHBhcmFtIHshQXJyYXkuPG51bWJlcj59IG9wdF9jb2xvciBUaGUgY29sb3IgdG8g
ZmlsbCBjbGVhciB3aXRoIGJlZm9yZQorICogICAgICAgIGRyYXdpbmcuIEEgNCBlbGVtZW50IGFy
cmF5IHdoZXJlIGVhY2ggZWxlbWVudCBpcyBpbiB0aGUgcmFuZ2UgMCB0bworICogICAgICAgIDI1
NS4gRGVmYXVsdCBbMjU1LCAyNTUsIDI1NSwgMjU1XQorICovCit2YXIgZHJhd0luZGV4ZWRRdWFk
ID0gZnVuY3Rpb24oZ2wsIGdyaWRSZXMsIG9wdF9jb2xvcikgeworICBvcHRfY29sb3IgPSBvcHRf
Y29sb3IgfHwgWzI1NSwgMjU1LCAyNTUsIDI1NV07CisgIGdsLmNsZWFyQ29sb3IoCisgICAgICBv
cHRfY29sb3JbMF0gLyAyNTUsCisgICAgICBvcHRfY29sb3JbMV0gLyAyNTUsCisgICAgICBvcHRf
Y29sb3JbMl0gLyAyNTUsCisgICAgICBvcHRfY29sb3JbM10gLyAyNTUpOworICBnbC5jbGVhcihn
bC5DT0xPUl9CVUZGRVJfQklUIHwgZ2wuREVQVEhfQlVGRkVSX0JJVCk7CisgIGdsLmRyYXdFbGVt
ZW50cyhnbC5UUklBTkdMRVMsIGdyaWRSZXMgKiA2LCBnbC5VTlNJR05FRF9TSE9SVCwgMCk7Cit9
OworCisvKioKKyAqIENoZWNrcyB0aGF0IGEgcG9ydGlvbiBvZiBhIGNhbnZhcyBpcyAxIGNvbG9y
LgorICogQHBhcmFtIHshV2ViR0xDb250ZXh0fSBnbCBUaGUgV2ViR0xDb250ZXh0IHRvIHVzZS4K
KyAqIEBwYXJhbSB7bnVtYmVyfSB4IGxlZnQgY29ybmVyIG9mIHJlZ2lvbiB0byBjaGVjay4KKyAq
IEBwYXJhbSB7bnVtYmVyfSB5IGJvdHRvbSBjb3JuZXIgb2YgcmVnaW9uIHRvIGNoZWNrLgorICog
QHBhcmFtIHtudW1iZXJ9IHdpZHRoIHdpZHRoIG9mIHJlZ2lvbiB0byBjaGVjay4KKyAqIEBwYXJh
bSB7bnVtYmVyfSBoZWlnaHQgd2lkdGggb2YgcmVnaW9uIHRvIGNoZWNrLgorICogQHBhcmFtIHsh
QXJyYXkuPG51bWJlcj59IGNvbG9yIFRoZSBjb2xvciB0byBmaWxsIGNsZWFyIHdpdGggYmVmb3Jl
IGRyYXdpbmcuIEEKKyAqICAgICAgICA0IGVsZW1lbnQgYXJyYXkgd2hlcmUgZWFjaCBlbGVtZW50
IGlzIGluIHRoZSByYW5nZSAwIHRvIDI1NS4KKyAqIEBwYXJhbSB7bnVtYmVyfSBvcHRfZXJyb3JS
YW5nZSBPcHRpb25hbC4gQWNjZXB0YWJsZSBlcnJvciBpbgorICogICAgICAgIGNvbG9yIGNoZWNr
aW5nLiAwIGJ5IGRlZmF1bHQuCisgKiBAcGFyYW0geyFmdW5jdGlvbigpfSBzYW1lRm4gRnVuY3Rp
b24gdG8gY2FsbCBpZiBhbGwgcGl4ZWxzCisgKiAgICAgICAgYXJlIHRoZSBzYW1lIGFzIGNvbG9y
LgorICogQHBhcmFtIHshZnVuY3Rpb24oKX0gZGlmZmVyZW50Rm4gRnVuY3Rpb24gdG8gY2FsbCBp
ZiBhIHBpeGVsCisgKiAgICAgICAgaXMgZGlmZmVyZW50IHRoYW4gY29sb3IKKyAqIEBwYXJhbSB7
IWZ1bmN0aW9uKCl9IGxvZ0ZuIEZ1bmN0aW9uIHRvIGNhbGwgZm9yIGxvZ2dpbmcuCisgKi8KK3Zh
ciBjaGVja0NhbnZhc1JlY3RDb2xvciA9IGZ1bmN0aW9uKGdsLCB4LCB5LCB3aWR0aCwgaGVpZ2h0
LCBjb2xvciwgb3B0X2Vycm9yUmFuZ2UsIHNhbWVGbiwgZGlmZmVyZW50Rm4sIGxvZ0ZuKSB7Cisg
IHZhciBlcnJvclJhbmdlID0gb3B0X2Vycm9yUmFuZ2UgfHwgMDsKKyAgaWYgKCFlcnJvclJhbmdl
Lmxlbmd0aCkgeworICAgIGVycm9yUmFuZ2UgPSBbZXJyb3JSYW5nZSwgZXJyb3JSYW5nZSwgZXJy
b3JSYW5nZSwgZXJyb3JSYW5nZV0KKyAgfQorICB2YXIgYnVmOworICBpZiAoZ2wgaW5zdGFuY2Vv
ZiBXZWJHTFJlbmRlcmluZ0NvbnRleHQpIHsKKyAgICBidWYgPSBuZXcgVWludDhBcnJheSh3aWR0
aCAqIGhlaWdodCAqIDQpOworICAgIGdsLnJlYWRQaXhlbHMoeCwgeSwgd2lkdGgsIGhlaWdodCwg
Z2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgYnVmKTsKKyAgfSBlbHNlIHsKKyAgICBidWYgPSBn
bC5nZXRJbWFnZURhdGEoeCwgeSwgd2lkdGgsIGhlaWdodCkuZGF0YTsKKyAgfQorICBmb3IgKHZh
ciBpID0gMDsgaSA8IHdpZHRoICogaGVpZ2h0OyArK2kpIHsKKyAgICB2YXIgb2Zmc2V0ID0gaSAq
IDQ7CisgICAgZm9yICh2YXIgaiA9IDA7IGogPCBjb2xvci5sZW5ndGg7ICsraikgeworICAgICAg
aWYgKE1hdGguYWJzKGJ1ZltvZmZzZXQgKyBqXSAtIGNvbG9yW2pdKSA+IGVycm9yUmFuZ2Vbal0p
IHsKKyAgICAgICAgZGlmZmVyZW50Rm4oKTsKKyAgICAgICAgdmFyIHdhcyA9IGJ1ZltvZmZzZXQg
KyAwXS50b1N0cmluZygpOworICAgICAgICBmb3IgKGogPSAxOyBqIDwgY29sb3IubGVuZ3RoOyAr
K2opIHsKKyAgICAgICAgICB3YXMgKz0gIiwiICsgYnVmW29mZnNldCArIGpdOworICAgICAgICB9
CisgICAgICAgIGxvZ0ZuKCdhdCAoJyArIChpICUgd2lkdGgpICsgJywgJyArIE1hdGguZmxvb3Io
aSAvIHdpZHRoKSArCisgICAgICAgICAgICAgICcpIGV4cGVjdGVkOiAnICsgY29sb3IgKyAnIHdh
cyAnICsgd2FzKTsKKyAgICAgICAgcmV0dXJuOworICAgICAgfQorICAgIH0KKyAgfQorICBzYW1l
Rm4oKTsKK307CisKKy8qKgorICogQ2hlY2tzIHRoYXQgYSBwb3J0aW9uIG9mIGEgY2FudmFzIGlz
IDEgY29sb3IuCisgKiBAcGFyYW0geyFXZWJHTENvbnRleHR9IGdsIFRoZSBXZWJHTENvbnRleHQg
dG8gdXNlLgorICogQHBhcmFtIHtudW1iZXJ9IHggbGVmdCBjb3JuZXIgb2YgcmVnaW9uIHRvIGNo
ZWNrLgorICogQHBhcmFtIHtudW1iZXJ9IHkgYm90dG9tIGNvcm5lciBvZiByZWdpb24gdG8gY2hl
Y2suCisgKiBAcGFyYW0ge251bWJlcn0gd2lkdGggd2lkdGggb2YgcmVnaW9uIHRvIGNoZWNrLgor
ICogQHBhcmFtIHtudW1iZXJ9IGhlaWdodCB3aWR0aCBvZiByZWdpb24gdG8gY2hlY2suCisgKiBA
cGFyYW0geyFBcnJheS48bnVtYmVyPn0gY29sb3IgVGhlIGNvbG9yIHRvIGZpbGwgY2xlYXIgd2l0
aCBiZWZvcmUgZHJhd2luZy4gQQorICogICAgICAgIDQgZWxlbWVudCBhcnJheSB3aGVyZSBlYWNo
IGVsZW1lbnQgaXMgaW4gdGhlIHJhbmdlIDAgdG8gMjU1LgorICogQHBhcmFtIHtzdHJpbmd9IG9w
dF9tc2cgTWVzc2FnZSB0byBhc3NvY2lhdGUgd2l0aCBzdWNjZXNzLiBFZworICogICAgICAgICgi
c2hvdWxkIGJlIHJlZCIpLgorICogQHBhcmFtIHtudW1iZXJ9IG9wdF9lcnJvclJhbmdlIE9wdGlv
bmFsLiBBY2NlcHRhYmxlIGVycm9yIGluCisgKiAgICAgICAgY29sb3IgY2hlY2tpbmcuIDAgYnkg
ZGVmYXVsdC4KKyAqLwordmFyIGNoZWNrQ2FudmFzUmVjdCA9IGZ1bmN0aW9uKGdsLCB4LCB5LCB3
aWR0aCwgaGVpZ2h0LCBjb2xvciwgb3B0X21zZywgb3B0X2Vycm9yUmFuZ2UpIHsKKyAgdmFyIG1z
ZyA9IG9wdF9tc2c7CisgIGlmIChtc2cgPT09IHVuZGVmaW5lZCkgeworICAgIG1zZyA9ICJzaG91
bGQgYmUgIiArIGNvbG9yLnRvU3RyaW5nKCk7CisgIH0KKyAgY2hlY2tDYW52YXNSZWN0Q29sb3Io
CisgICAgICBnbCwgeCwgeSwgd2lkdGgsIGhlaWdodCwgY29sb3IsIG9wdF9lcnJvclJhbmdlLAor
ICAgICAgZnVuY3Rpb24oKSB7CisgICAgICAgIHRlc3RQYXNzZWQobXNnKTsKKyAgICAgIH0sCisg
ICAgICBmdW5jdGlvbigpIHsKKyAgICAgICAgdGVzdEZhaWxlZChtc2cpOworICAgICAgfSwKKyAg
ICAgIGRlYnVnKTsKK307CisKKy8qKgorICogQ2hlY2tzIHRoYXQgYW4gZW50aXJlIGNhbnZhcyBp
cyAxIGNvbG9yLgorICogQHBhcmFtIHshV2ViR0xDb250ZXh0fSBnbCBUaGUgV2ViR0xDb250ZXh0
IHRvIHVzZS4KKyAqIEBwYXJhbSB7IUFycmF5LjxudW1iZXI+fSBjb2xvciBUaGUgY29sb3IgdG8g
ZmlsbCBjbGVhciB3aXRoIGJlZm9yZSBkcmF3aW5nLiBBCisgKiAgICAgICAgNCBlbGVtZW50IGFy
cmF5IHdoZXJlIGVhY2ggZWxlbWVudCBpcyBpbiB0aGUgcmFuZ2UgMCB0byAyNTUuCisgKiBAcGFy
YW0ge3N0cmluZ30gbXNnIE1lc3NhZ2UgdG8gYXNzb2NpYXRlIHdpdGggc3VjY2Vzcy4gRWcgKCJz
aG91bGQgYmUgcmVkIikuCisgKiBAcGFyYW0ge251bWJlcn0gZXJyb3JSYW5nZSBPcHRpb25hbC4g
QWNjZXB0YWJsZSBlcnJvciBpbgorICogICAgICAgIGNvbG9yIGNoZWNraW5nLiAwIGJ5IGRlZmF1
bHQuCisgKi8KK3ZhciBjaGVja0NhbnZhcyA9IGZ1bmN0aW9uKGdsLCBjb2xvciwgbXNnLCBlcnJv
clJhbmdlKSB7CisgIGNoZWNrQ2FudmFzUmVjdChnbCwgMCwgMCwgZ2wuY2FudmFzLndpZHRoLCBn
bC5jYW52YXMuaGVpZ2h0LCBjb2xvciwgbXNnLCBlcnJvclJhbmdlKTsKK307CisKKy8qKgorICog
TG9hZHMgYSB0ZXh0dXJlLCBjYWxscyBjYWxsYmFjayB3aGVuIGZpbmlzaGVkLgorICogQHBhcmFt
IHshV2ViR0xDb250ZXh0fSBnbCBUaGUgV2ViR0xDb250ZXh0IHRvIHVzZS4KKyAqIEBwYXJhbSB7
c3RyaW5nfSB1cmwgVVJMIG9mIGltYWdlIHRvIGxvYWQKKyAqIEBwYXJhbSB7ZnVuY3Rpb24oIUlt
YWdlKTogdm9pZH0gY2FsbGJhY2sgRnVuY3Rpb24gdGhhdCBnZXRzIGNhbGxlZCBhZnRlcgorICog
ICAgICAgIGltYWdlIGhhcyBsb2FkZWQKKyAqIEByZXR1cm4geyFXZWJHTFRleHR1cmV9IFRoZSBj
cmVhdGVkIHRleHR1cmUuCisgKi8KK3ZhciBsb2FkVGV4dHVyZSA9IGZ1bmN0aW9uKGdsLCB1cmws
IGNhbGxiYWNrKSB7CisgICAgdmFyIHRleHR1cmUgPSBnbC5jcmVhdGVUZXh0dXJlKCk7CisgICAg
Z2wuYmluZFRleHR1cmUoZ2wuVEVYVFVSRV8yRCwgdGV4dHVyZSk7CisgICAgZ2wudGV4UGFyYW1l
dGVyaShnbC5URVhUVVJFXzJELCBnbC5URVhUVVJFX01JTl9GSUxURVIsIGdsLk5FQVJFU1QpOwor
ICAgIGdsLnRleFBhcmFtZXRlcmkoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9NQUdfRklMVEVS
LCBnbC5ORUFSRVNUKTsKKyAgICB2YXIgaW1hZ2UgPSBuZXcgSW1hZ2UoKTsKKyAgICBpbWFnZS5v
bmxvYWQgPSBmdW5jdGlvbigpIHsKKyAgICAgICAgZ2wuYmluZFRleHR1cmUoZ2wuVEVYVFVSRV8y
RCwgdGV4dHVyZSk7CisgICAgICAgIGdsLnBpeGVsU3RvcmVpKGdsLlVOUEFDS19GTElQX1lfV0VC
R0wsIHRydWUpOworICAgICAgICBnbC50ZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJH
QkEsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIGltYWdlKTsKKyAgICAgICAgY2FsbGJhY2so
aW1hZ2UpOworICAgIH07CisgICAgaW1hZ2Uuc3JjID0gdXJsOworICAgIHJldHVybiB0ZXh0dXJl
OworfTsKKworLyoqCisgKiBNYWtlcyBhIHNoYWxsb3cgY29weSBvZiBhbiBvYmplY3QuCisgKiBA
cGFyYW0geyFPYmplY3QpIHNyYyBPYmplY3QgdG8gY29weQorICogQHJldHVybiB7IU9iamVjdH0g
VGhlIGNvcHkgb2Ygc3JjLgorICovCit2YXIgc2hhbGxvd0NvcHlPYmplY3QgPSBmdW5jdGlvbihz
cmMpIHsKKyAgdmFyIGRzdCA9IHt9OworICBmb3IgKHZhciBhdHRyIGluIHNyYykgeworICAgIGlm
IChzcmMuaGFzT3duUHJvcGVydHkoYXR0cikpIHsKKyAgICAgIGRzdFthdHRyXSA9IHNyY1thdHRy
XTsKKyAgICB9CisgIH0KKyAgcmV0dXJuIGRzdDsKK307CisKKy8qKgorICogQ2hlY2tzIGlmIGFu
IGF0dHJpYnV0ZSBleGlzdHMgb24gYW4gb2JqZWN0IGNhc2UgaW5zZW5zaXRpdmUuCisgKiBAcGFy
YW0geyFPYmplY3QpIG9iaiBPYmplY3QgdG8gY2hlY2sKKyAqIEBwYXJhbSB7c3RyaW5nfSBhdHRy
IE5hbWUgb2YgYXR0cmlidXRlIHRvIGxvb2sgZm9yLgorICogQHJldHVybiB7c3RyaW5nP30gVGhl
IG5hbWUgb2YgdGhlIGF0dHJpYnV0ZSBpZiBpdCBleGlzdHMsCisgKiAgICAgICAgIHVuZGVmaW5l
ZCBpZiBub3QuCisgKi8KK3ZhciBoYXNBdHRyaWJ1dGVDYXNlSW5zZW5zaXRpdmUgPSBmdW5jdGlv
bihvYmosIGF0dHIpIHsKKyAgdmFyIGxvd2VyID0gYXR0ci50b0xvd2VyQ2FzZSgpOworICBmb3Ig
KHZhciBrZXkgaW4gb2JqKSB7CisgICAgaWYgKG9iai5oYXNPd25Qcm9wZXJ0eShrZXkpICYmIGtl
eS50b0xvd2VyQ2FzZSgpID09IGxvd2VyKSB7CisgICAgICByZXR1cm4ga2V5OworICAgIH0KKyAg
fQorfTsKKworLyoqCisgKiBDcmVhdGVzIGEgd2ViZ2wgY29udGV4dC4KKyAqIEBwYXJhbSB7IUNh
bnZhc3xzdHJpbmd9IG9wdF9jYW52YXMgVGhlIGNhbnZhcyB0YWcgdG8gZ2V0CisgKiAgICAgY29u
dGV4dCBmcm9tLiBJZiBvbmUgaXMgbm90IHBhc3NlZCBpbiBvbmUgd2lsbCBiZQorICogICAgIGNy
ZWF0ZWQuIElmIGl0J3MgYSBzdHJpbmcgaXQncyBhc3N1bWVkIHRvIGJlIHRoZSBpZCBvZiBhCisg
KiAgICAgY2FudmFzLgorICogQHJldHVybiB7IVdlYkdMQ29udGV4dH0gVGhlIGNyZWF0ZWQgY29u
dGV4dC4KKyAqLwordmFyIGNyZWF0ZTNEQ29udGV4dCA9IGZ1bmN0aW9uKG9wdF9jYW52YXMsIG9w
dF9hdHRyaWJ1dGVzKSB7CisgIGlmICh3aW5kb3cuaW5pdFRlc3RpbmdIYXJuZXNzKSB7CisgICAg
d2luZG93LmluaXRUZXN0aW5nSGFybmVzcygpOworICB9CisgIHZhciBhdHRyaWJ1dGVzID0gc2hh
bGxvd0NvcHlPYmplY3Qob3B0X2F0dHJpYnV0ZXMgfHwge30pOworICBpZiAoIWhhc0F0dHJpYnV0
ZUNhc2VJbnNlbnNpdGl2ZShhdHRyaWJ1dGVzLCAiYW50aWFsaWFzIikpIHsKKyAgICBhdHRyaWJ1
dGVzLmFudGlhbGlhcyA9IGZhbHNlOworICB9CisKKyAgb3B0X2NhbnZhcyA9IG9wdF9jYW52YXMg
fHwgZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiY2FudmFzIik7CisgIGlmICh0eXBlb2Ygb3B0X2Nh
bnZhcyA9PSAnc3RyaW5nJykgeworICAgIG9wdF9jYW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZChvcHRfY2FudmFzKTsKKyAgfQorICB2YXIgY29udGV4dCA9IG51bGw7CisgIHZhciBuYW1l
cyA9IFsid2ViZ2wiLCAiZXhwZXJpbWVudGFsLXdlYmdsIl07CisgIGZvciAodmFyIGkgPSAwOyBp
IDwgbmFtZXMubGVuZ3RoOyArK2kpIHsKKyAgICB0cnkgeworICAgICAgY29udGV4dCA9IG9wdF9j
YW52YXMuZ2V0Q29udGV4dChuYW1lc1tpXSwgYXR0cmlidXRlcyk7CisgICAgfSBjYXRjaCAoZSkg
eworICAgIH0KKyAgICBpZiAoY29udGV4dCkgeworICAgICAgYnJlYWs7CisgICAgfQorICB9Cisg
IGlmICghY29udGV4dCkgeworICAgIHRlc3RGYWlsZWQoIlVuYWJsZSB0byBmZXRjaCBXZWJHTCBy
ZW5kZXJpbmcgY29udGV4dCBmb3IgQ2FudmFzIik7CisgIH0KKyAgcmV0dXJuIGNvbnRleHQ7Cit9
CisKKy8qKgorICogR2V0cyBhIEdMRXJyb3IgdmFsdWUgYXMgYSBzdHJpbmcuCisgKiBAcGFyYW0g
eyFXZWJHTENvbnRleHR9IGdsIFRoZSBXZWJHTENvbnRleHQgdG8gdXNlLgorICogQHBhcmFtIHtu
dW1iZXJ9IGVyciBUaGUgd2ViZ2wgZXJyb3IgYXMgcmV0cmlldmVkIGZyb20gZ2wuZ2V0RXJyb3Io
KS4KKyAqIEByZXR1cm4ge3N0cmluZ30gdGhlIGVycm9yIGFzIGEgc3RyaW5nLgorICovCit2YXIg
Z2V0R0xFcnJvckFzU3RyaW5nID0gZnVuY3Rpb24oZ2wsIGVycikgeworICBpZiAoZXJyID09PSBn
bC5OT19FUlJPUikgeworICAgIHJldHVybiAiTk9fRVJST1IiOworICB9CisgIGZvciAodmFyIG5h
bWUgaW4gZ2wpIHsKKyAgICBpZiAoZ2xbbmFtZV0gPT09IGVycikgeworICAgICAgcmV0dXJuIG5h
bWU7CisgICAgfQorICB9CisgIHJldHVybiBlcnIudG9TdHJpbmcoKTsKK307CisKKy8qKgorICog
V3JhcHMgYSBXZWJHTCBmdW5jdGlvbiB3aXRoIGEgZnVuY3Rpb24gdGhhdCB0aHJvd3MgYW4gZXhj
ZXB0aW9uIGlmIHRoZXJlIGlzCisgKiBhbiBlcnJvci4KKyAqIEBwYXJhbSB7IVdlYkdMQ29udGV4
dH0gZ2wgVGhlIFdlYkdMQ29udGV4dCB0byB1c2UuCisgKiBAcGFyYW0ge3N0cmluZ30gZm5hbWUg
TmFtZSBvZiBmdW5jdGlvbiB0byB3cmFwLgorICogQHJldHVybiB7ZnVuY3Rpb259IFRoZSB3cmFw
cGVkIGZ1bmN0aW9uLgorICovCit2YXIgY3JlYXRlR0xFcnJvcldyYXBwZXIgPSBmdW5jdGlvbihj
b250ZXh0LCBmbmFtZSkgeworICByZXR1cm4gZnVuY3Rpb24oKSB7CisgICAgdmFyIHJ2ID0gY29u
dGV4dFtmbmFtZV0uYXBwbHkoY29udGV4dCwgYXJndW1lbnRzKTsKKyAgICB2YXIgZXJyID0gY29u
dGV4dC5nZXRFcnJvcigpOworICAgIGlmIChlcnIgIT0gY29udGV4dC5OT19FUlJPUikKKyAgICAg
IHRocm93ICJHTCBlcnJvciAiICsgZ2V0R0xFcnJvckFzU3RyaW5nKGNvbnRleHQsIGVycikgKyAi
IGluICIgKyBmbmFtZTsKKyAgICByZXR1cm4gcnY7CisgIH07Cit9OworCisvKioKKyAqIENyZWF0
ZXMgYSBXZWJHTCBjb250ZXh0IHdoZXJlIGFsbCBmdW5jdGlvbnMgYXJlIHdyYXBwZWQgdG8gdGhy
b3cgYW4gZXhjZXB0aW9uCisgKiBpZiB0aGVyZSBpcyBhbiBlcnJvci4KKyAqIEBwYXJhbSB7IUNh
bnZhc30gY2FudmFzIFRoZSBIVE1MIGNhbnZhcyB0byBnZXQgYSBjb250ZXh0IGZyb20uCisgKiBA
cmV0dXJuIHshT2JqZWN0fSBUaGUgd3JhcHBlZCBjb250ZXh0LgorICovCitmdW5jdGlvbiBjcmVh
dGUzRENvbnRleHRXaXRoV3JhcHBlclRoYXRUaHJvd3NPbkdMRXJyb3IoY2FudmFzKSB7CisgIHZh
ciBjb250ZXh0ID0gY3JlYXRlM0RDb250ZXh0KGNhbnZhcyk7CisgIHZhciB3cmFwID0ge307Cisg
IGZvciAodmFyIGkgaW4gY29udGV4dCkgeworICAgIHRyeSB7CisgICAgICBpZiAodHlwZW9mIGNv
bnRleHRbaV0gPT0gJ2Z1bmN0aW9uJykgeworICAgICAgICB3cmFwW2ldID0gY3JlYXRlR0xFcnJv
cldyYXBwZXIoY29udGV4dCwgaSk7CisgICAgICB9IGVsc2UgeworICAgICAgICB3cmFwW2ldID0g
Y29udGV4dFtpXTsKKyAgICAgIH0KKyAgICB9IGNhdGNoIChlKSB7CisgICAgICBlcnJvcigiY3Jl
YXRlQ29udGV4dFdyYXBwZXJUaGF0VGhyb3dzT25HTEVycm9yOiBFcnJvciBhY2Nlc3NpbmcgIiAr
IGkpOworICAgIH0KKyAgfQorICB3cmFwLmdldEVycm9yID0gZnVuY3Rpb24oKSB7CisgICAgICBy
ZXR1cm4gY29udGV4dC5nZXRFcnJvcigpOworICB9OworICByZXR1cm4gd3JhcDsKK307CisKKy8q
KgorICogVGVzdHMgdGhhdCBhbiBldmFsdWF0ZWQgZXhwcmVzc2lvbiBnZW5lcmF0ZXMgYSBzcGVj
aWZpYyBHTCBlcnJvci4KKyAqIEBwYXJhbSB7IVdlYkdMQ29udGV4dH0gZ2wgVGhlIFdlYkdMQ29u
dGV4dCB0byB1c2UuCisgKiBAcGFyYW0ge251bWJlcn0gZ2xFcnJvciBUaGUgZXhwZWN0ZWQgZ2wg
ZXJyb3IuCisgKiBAcGFyYW0ge3N0cmluZ30gZXZhbFNUciBUaGUgc3RyaW5nIHRvIGV2YWx1YXRl
LgorICovCit2YXIgc2hvdWxkR2VuZXJhdGVHTEVycm9yID0gZnVuY3Rpb24oZ2wsIGdsRXJyb3Is
IGV2YWxTdHIpIHsKKyAgdmFyIGV4Y2VwdGlvbjsKKyAgdHJ5IHsKKyAgICBldmFsKGV2YWxTdHIp
OworICB9IGNhdGNoIChlKSB7CisgICAgZXhjZXB0aW9uID0gZTsKKyAgfQorICBpZiAoZXhjZXB0
aW9uKSB7CisgICAgdGVzdEZhaWxlZChldmFsU3RyICsgIiB0aHJldyBleGNlcHRpb24gIiArIGV4
Y2VwdGlvbik7CisgIH0gZWxzZSB7CisgICAgdmFyIGVyciA9IGdsLmdldEVycm9yKCk7CisgICAg
aWYgKGVyciAhPSBnbEVycm9yKSB7CisgICAgICB0ZXN0RmFpbGVkKGV2YWxTdHIgKyAiIGV4cGVj
dGVkOiAiICsgZ2V0R0xFcnJvckFzU3RyaW5nKGdsLCBnbEVycm9yKSArICIuIFdhcyAiICsgZ2V0
R0xFcnJvckFzU3RyaW5nKGdsLCBlcnIpICsgIi4iKTsKKyAgICB9IGVsc2UgeworICAgICAgdGVz
dFBhc3NlZChldmFsU3RyICsgIiB3YXMgZXhwZWN0ZWQgdmFsdWU6ICIgKyBnZXRHTEVycm9yQXNT
dHJpbmcoZ2wsIGdsRXJyb3IpICsgIi4iKTsKKyAgICB9CisgIH0KK307CisKKy8qKgorICogVGVz
dHMgdGhhdCB0aGUgZmlyc3QgZXJyb3IgR0wgcmV0dXJucyBpcyB0aGUgc3BlY2lmaWVkIGVycm9y
LgorICogQHBhcmFtIHshV2ViR0xDb250ZXh0fSBnbCBUaGUgV2ViR0xDb250ZXh0IHRvIHVzZS4K
KyAqIEBwYXJhbSB7bnVtYmVyfSBnbEVycm9yIFRoZSBleHBlY3RlZCBnbCBlcnJvci4KKyAqIEBw
YXJhbSB7c3RyaW5nfSBvcHRfbXNnCisgKi8KK3ZhciBnbEVycm9yU2hvdWxkQmUgPSBmdW5jdGlv
bihnbCwgZ2xFcnJvciwgb3B0X21zZykgeworICBvcHRfbXNnID0gb3B0X21zZyB8fCAiIjsKKyAg
dmFyIGVyciA9IGdsLmdldEVycm9yKCk7CisgIGlmIChlcnIgIT0gZ2xFcnJvcikgeworICAgIHRl
c3RGYWlsZWQoImdldEVycm9yIGV4cGVjdGVkOiAiICsgZ2V0R0xFcnJvckFzU3RyaW5nKGdsLCBn
bEVycm9yKSArCisgICAgICAgICAgICAgICAiLiBXYXMgIiArIGdldEdMRXJyb3JBc1N0cmluZyhn
bCwgZXJyKSArICIgOiAiICsgb3B0X21zZyk7CisgIH0gZWxzZSB7CisgICAgdGVzdFBhc3NlZCgi
Z2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiAiICsKKyAgICAgICAgICAgICAgICBnZXRHTEVy
cm9yQXNTdHJpbmcoZ2wsIGdsRXJyb3IpICsgIiA6ICIgKyBvcHRfbXNnKTsKKyAgfQorfTsKKwor
LyoqCisgKiBMaW5rcyBhIFdlYkdMIHByb2dyYW0sIHRocm93cyBpZiB0aGVyZSBhcmUgZXJyb3Jz
LgorICogQHBhcmFtIHshV2ViR0xDb250ZXh0fSBnbCBUaGUgV2ViR0xDb250ZXh0IHRvIHVzZS4K
KyAqIEBwYXJhbSB7IVdlYkdMUHJvZ3JhbX0gcHJvZ3JhbSBUaGUgV2ViR0xQcm9ncmFtIHRvIGxp
bmsuCisgKiBAcGFyYW0ge2Z1bmN0aW9uKHN0cmluZyk6IHZvaWQpIG9wdF9lcnJvckNhbGxiYWNr
IGNhbGxiYWNrIGZvciBlcnJvcnMuIAorICovCit2YXIgbGlua1Byb2dyYW0gPSBmdW5jdGlvbihn
bCwgcHJvZ3JhbSwgb3B0X2Vycm9yQ2FsbGJhY2spIHsKKyAgdmFyIGVyckZuID0gb3B0X2Vycm9y
Q2FsbGJhY2sgfHwgdGVzdEZhaWxlZDsKKyAgLy8gTGluayB0aGUgcHJvZ3JhbQorICBnbC5saW5r
UHJvZ3JhbShwcm9ncmFtKTsKKworICAvLyBDaGVjayB0aGUgbGluayBzdGF0dXMKKyAgdmFyIGxp
bmtlZCA9IGdsLmdldFByb2dyYW1QYXJhbWV0ZXIocHJvZ3JhbSwgZ2wuTElOS19TVEFUVVMpOwor
ICBpZiAoIWxpbmtlZCkgeworICAgIC8vIHNvbWV0aGluZyB3ZW50IHdyb25nIHdpdGggdGhlIGxp
bmsKKyAgICB2YXIgZXJyb3IgPSBnbC5nZXRQcm9ncmFtSW5mb0xvZyAocHJvZ3JhbSk7CisKKyAg
ICBlcnJGbigiRXJyb3IgaW4gcHJvZ3JhbSBsaW5raW5nOiIgKyBlcnJvcik7CisKKyAgICBnbC5k
ZWxldGVQcm9ncmFtKHByb2dyYW0pOworICB9Cit9OworCisvKioKKyAqIExvYWRzIHRleHQgZnJv
bSBhbiBleHRlcm5hbCBmaWxlLiBUaGlzIGZ1bmN0aW9uIGlzIHN5bmNocm9ub3VzLgorICogQHBh
cmFtIHtzdHJpbmd9IHVybCBUaGUgdXJsIG9mIHRoZSBleHRlcm5hbCBmaWxlLgorICogQHBhcmFt
IHshZnVuY3Rpb24oYm9vbCwgc3RyaW5nKTogdm9pZH0gY2FsbGJhY2sgdGhhdCBpcyBzZW50IGEg
Ym9vbCBmb3IKKyAqICAgICBzdWNjZXNzIGFuZCB0aGUgc3RyaW5nLgorICovCit2YXIgbG9hZFRl
eHRGaWxlQXN5bmMgPSBmdW5jdGlvbih1cmwsIGNhbGxiYWNrKSB7CisgIGxvZyAoImxvYWRpbmc6
ICIgKyB1cmwpOworICB2YXIgZXJyb3IgPSAnbG9hZFRleHRGaWxlU3luY2hyb25vdXMgZmFpbGVk
IHRvIGxvYWQgdXJsICInICsgdXJsICsgJyInOworICB2YXIgcmVxdWVzdDsKKyAgaWYgKHdpbmRv
dy5YTUxIdHRwUmVxdWVzdCkgeworICAgIHJlcXVlc3QgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTsK
KyAgICBpZiAocmVxdWVzdC5vdmVycmlkZU1pbWVUeXBlKSB7CisgICAgICByZXF1ZXN0Lm92ZXJy
aWRlTWltZVR5cGUoJ3RleHQvcGxhaW4nKTsKKyAgICB9CisgIH0gZWxzZSB7CisgICAgdGhyb3cg
J1hNTEh0dHBSZXF1ZXN0IGlzIGRpc2FibGVkJzsKKyAgfQorICB0cnkgeworICAgIHJlcXVlc3Qu
b3BlbignR0VUJywgdXJsLCB0cnVlKTsKKyAgICByZXF1ZXN0Lm9ucmVhZHlzdGF0ZWNoYW5nZSA9
IGZ1bmN0aW9uKCkgeworICAgICAgaWYgKHJlcXVlc3QucmVhZHlTdGF0ZSA9PSA0KSB7CisgICAg
ICAgIHZhciB0ZXh0ID0gJyc7CisgICAgICAgIC8vIEhUVFAgcmVwb3J0cyBzdWNjZXNzIHdpdGgg
YSAyMDAgc3RhdHVzLiBUaGUgZmlsZSBwcm90b2NvbCByZXBvcnRzCisgICAgICAgIC8vIHN1Y2Nl
c3Mgd2l0aCB6ZXJvLiBIVFRQIGRvZXMgbm90IHVzZSB6ZXJvIGFzIGEgc3RhdHVzIGNvZGUgKHRo
ZXkKKyAgICAgICAgLy8gc3RhcnQgYXQgMTAwKS4KKyAgICAgICAgLy8gaHR0cHM6Ly9kZXZlbG9w
ZXIubW96aWxsYS5vcmcvRW4vVXNpbmdfWE1MSHR0cFJlcXVlc3QKKyAgICAgICAgdmFyIHN1Y2Nl
c3MgPSByZXF1ZXN0LnN0YXR1cyA9PSAyMDAgfHwgcmVxdWVzdC5zdGF0dXMgPT0gMDsKKyAgICAg
ICAgaWYgKHN1Y2Nlc3MpIHsKKyAgICAgICAgICB0ZXh0ID0gcmVxdWVzdC5yZXNwb25zZVRleHQ7
CisgICAgICAgIH0KKyAgICAgICAgbG9nKCJsb2FkZWQ6ICIgKyB1cmwpOworICAgICAgICBjYWxs
YmFjayhzdWNjZXNzLCB0ZXh0KTsKKyAgICAgIH0KKyAgICB9OworICAgIHJlcXVlc3Quc2VuZChu
dWxsKTsKKyAgfSBjYXRjaCAoZSkgeworICAgIGxvZygiZmFpbGVkIHRvIGxvYWQ6ICIgKyB1cmwp
OworICAgIGNhbGxiYWNrKGZhbHNlLCAnJyk7CisgIH0KK307CisKKy8qKgorICogUmVjdXJzaXZl
bHkgbG9hZHMgYSBmaWxlIGFzIGEgbGlzdC4gRWFjaCBsaW5lIGlzIHBhcnNlZCBmb3IgYSByZWxh
dGl2ZQorICogcGF0aC4gSWYgdGhlIGZpbGUgZW5kcyBpbiAudHh0IHRoZSBjb250ZW50cyBvZiB0
aGF0IGZpbGUgaXMgaW5zZXJ0ZWQgaW4KKyAqIHRoZSBsaXN0LgorICoKKyAqIEBwYXJhbSB7c3Ry
aW5nfSB1cmwgVGhlIHVybCBvZiB0aGUgZXh0ZXJuYWwgZmlsZS4KKyAqIEBwYXJhbSB7IWZ1bmN0
aW9uKGJvb2wsIEFycmF5PHN0cmluZz4pOiB2b2lkfSBjYWxsYmFjayB0aGF0IGlzIHNlbnQgYSBi
b29sCisgKiAgICAgZm9yIHN1Y2Nlc3MgYW5kIHRoZSBhcnJheSBvZiBzdHJpbmdzLgorICovCit2
YXIgZ2V0RmlsZUxpc3RBc3luYyA9IGZ1bmN0aW9uKHVybCwgY2FsbGJhY2spIHsKKyAgdmFyIGZp
bGVzID0gW107CisKKyAgdmFyIGdldEZpbGVMaXN0SW1wbCA9IGZ1bmN0aW9uKHVybCwgY2FsbGJh
Y2spIHsKKyAgICB2YXIgZmlsZXMgPSBbXTsKKyAgICBpZiAodXJsLnN1YnN0cih1cmwubGVuZ3Ro
IC0gNCkgPT0gJy50eHQnKSB7CisgICAgICBsb2FkVGV4dEZpbGVBc3luYyh1cmwsIGZ1bmN0aW9u
KCkgeworICAgICAgICByZXR1cm4gZnVuY3Rpb24oc3VjY2VzcywgdGV4dCkgeworICAgICAgICAg
IGlmICghc3VjY2VzcykgeworICAgICAgICAgICAgY2FsbGJhY2soZmFsc2UsICcnKTsKKyAgICAg
ICAgICAgIHJldHVybjsKKyAgICAgICAgICB9CisgICAgICAgICAgdmFyIGxpbmVzID0gdGV4dC5z
cGxpdCgnXG4nKTsKKyAgICAgICAgICB2YXIgcHJlZml4ID0gJyc7CisgICAgICAgICAgdmFyIGxh
c3RTbGFzaCA9IHVybC5sYXN0SW5kZXhPZignLycpOworICAgICAgICAgIGlmIChsYXN0U2xhc2gg
Pj0gMCkgeworICAgICAgICAgICAgcHJlZml4ID0gdXJsLnN1YnN0cigwLCBsYXN0U2xhc2ggKyAx
KTsKKyAgICAgICAgICB9CisgICAgICAgICAgdmFyIGZhaWwgPSBmYWxzZTsKKyAgICAgICAgICB2
YXIgY291bnQgPSAxOworICAgICAgICAgIHZhciBpbmRleCA9IDA7CisgICAgICAgICAgZm9yICh2
YXIgaWkgPSAwOyBpaSA8IGxpbmVzLmxlbmd0aDsgKytpaSkgeworICAgICAgICAgICAgdmFyIHN0
ciA9IGxpbmVzW2lpXS5yZXBsYWNlKC9eXHNccyovLCAnJykucmVwbGFjZSgvXHNccyokLywgJycp
OworICAgICAgICAgICAgaWYgKHN0ci5sZW5ndGggPiA0ICYmCisgICAgICAgICAgICAgICAgc3Ry
WzBdICE9ICcjJyAmJgorICAgICAgICAgICAgICAgIHN0clswXSAhPSAiOyIgJiYKKyAgICAgICAg
ICAgICAgICBzdHIuc3Vic3RyKDAsIDIpICE9ICIvLyIpIHsKKyAgICAgICAgICAgICAgdmFyIG5h
bWVzID0gc3RyLnNwbGl0KC8gKy8pOworICAgICAgICAgICAgICBuZXdfdXJsID0gcHJlZml4ICsg
c3RyOworICAgICAgICAgICAgICBpZiAobmFtZXMubGVuZ3RoID09IDEpIHsKKyAgICAgICAgICAg
ICAgICBuZXdfdXJsID0gcHJlZml4ICsgc3RyOworICAgICAgICAgICAgICAgICsrY291bnQ7Cisg
ICAgICAgICAgICAgICAgZ2V0RmlsZUxpc3RJbXBsKG5ld191cmwsIGZ1bmN0aW9uKGluZGV4KSB7
CisgICAgICAgICAgICAgICAgICByZXR1cm4gZnVuY3Rpb24oc3VjY2VzcywgbmV3X2ZpbGVzKSB7
CisgICAgICAgICAgICAgICAgICAgIGxvZygiZ290IGZpbGVzOiAiICsgbmV3X2ZpbGVzLmxlbmd0
aCk7CisgICAgICAgICAgICAgICAgICAgIGlmIChzdWNjZXNzKSB7CisgICAgICAgICAgICAgICAg
ICAgICAgZmlsZXNbaW5kZXhdID0gbmV3X2ZpbGVzOworICAgICAgICAgICAgICAgICAgICB9Cisg
ICAgICAgICAgICAgICAgICAgIGZpbmlzaChzdWNjZXNzKTsKKyAgICAgICAgICAgICAgICAgIH07
CisgICAgICAgICAgICAgICAgfShpbmRleCsrKSk7CisgICAgICAgICAgICAgIH0gZWxzZSB7Cisg
ICAgICAgICAgICAgICAgdmFyIHMgPSAiIjsKKyAgICAgICAgICAgICAgICB2YXIgcCA9ICIiOwor
ICAgICAgICAgICAgICAgIGZvciAodmFyIGpqID0gMDsgamogPCBuYW1lcy5sZW5ndGg7ICsramop
IHsKKyAgICAgICAgICAgICAgICAgIHMgKz0gcCArIHByZWZpeCArIG5hbWVzW2pqXTsKKyAgICAg
ICAgICAgICAgICAgIHAgPSAiICI7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAg
IGZpbGVzW2luZGV4KytdID0gczsKKyAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAg
ICAgICAgIH0KKyAgICAgICAgICBmaW5pc2godHJ1ZSk7CisKKyAgICAgICAgICBmdW5jdGlvbiBm
aW5pc2goc3VjY2VzcykgeworICAgICAgICAgICAgaWYgKCFzdWNjZXNzKSB7CisgICAgICAgICAg
ICAgIGZhaWwgPSB0cnVlOworICAgICAgICAgICAgfQorICAgICAgICAgICAgLS1jb3VudDsKKyAg
ICAgICAgICAgIGxvZygiY291bnQ6ICIgKyBjb3VudCk7CisgICAgICAgICAgICBpZiAoIWNvdW50
KSB7CisgICAgICAgICAgICAgIGNhbGxiYWNrKCFmYWlsLCBmaWxlcyk7CisgICAgICAgICAgICB9
CisgICAgICAgICAgfQorICAgICAgICB9CisgICAgICB9KCkpOworCisgICAgfSBlbHNlIHsKKyAg
ICAgIGZpbGVzLnB1c2godXJsKTsKKyAgICAgIGNhbGxiYWNrKHRydWUsIGZpbGVzKTsKKyAgICB9
CisgIH07CisKKyAgZ2V0RmlsZUxpc3RJbXBsKHVybCwgZnVuY3Rpb24oc3VjY2VzcywgZmlsZXMp
IHsKKyAgICAvLyBmbGF0dGVuCisgICAgdmFyIGZsYXQgPSBbXTsKKyAgICBmbGF0dGVuKGZpbGVz
KTsKKyAgICBmdW5jdGlvbiBmbGF0dGVuKGZpbGVzKSB7CisgICAgICBmb3IgKHZhciBpaSA9IDA7
IGlpIDwgZmlsZXMubGVuZ3RoOyArK2lpKSB7CisgICAgICAgIHZhciB2YWx1ZSA9IGZpbGVzW2lp
XTsKKyAgICAgICAgaWYgKHR5cGVvZih2YWx1ZSkgPT0gInN0cmluZyIpIHsKKyAgICAgICAgICBm
bGF0LnB1c2godmFsdWUpOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgIGZsYXR0ZW4odmFs
dWUpOworICAgICAgICB9CisgICAgICB9CisgICAgfQorICAgIGNhbGxiYWNrKHN1Y2Nlc3MsIGZs
YXQpOworICB9KTsKK307CisKKy8qKgorICogR2V0cyBhIGZpbGUgZnJvbSBhIGZpbGUvVVJMCisg
KiBAcGFyYW0ge3N0cmluZ30gZmlsZSB0aGUgVVJMIG9mIHRoZSBmaWxlIHRvIGdldC4KKyAqIEBy
ZXR1cm4ge3N0cmluZ30gVGhlIGNvbnRlbnRzIG9mIHRoZSBmaWxlLgorICovCit2YXIgcmVhZEZp
bGUgPSBmdW5jdGlvbihmaWxlKSB7CisgIHZhciB4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTsK
KyAgeGhyLm9wZW4oIkdFVCIsIGZpbGUsIGZhbHNlKTsKKyAgeGhyLnNlbmQoKTsKKyAgcmV0dXJu
IHhoci5yZXNwb25zZVRleHQucmVwbGFjZSgvXHIvZywgIiIpOworfTsKKwordmFyIHJlYWRGaWxl
TGlzdCA9IGZ1bmN0aW9uKHVybCkgeworICB2YXIgZmlsZXMgPSBbXTsKKyAgaWYgKHVybC5zdWJz
dHIodXJsLmxlbmd0aCAtIDQpID09ICcudHh0JykgeworICAgIHZhciBsaW5lcyA9IHJlYWRGaWxl
KHVybCkuc3BsaXQoJ1xuJyk7CisgICAgdmFyIHByZWZpeCA9ICcnOworICAgIHZhciBsYXN0U2xh
c2ggPSB1cmwubGFzdEluZGV4T2YoJy8nKTsKKyAgICBpZiAobGFzdFNsYXNoID49IDApIHsKKyAg
ICAgIHByZWZpeCA9IHVybC5zdWJzdHIoMCwgbGFzdFNsYXNoICsgMSk7CisgICAgfQorICAgIGZv
ciAodmFyIGlpID0gMDsgaWkgPCBsaW5lcy5sZW5ndGg7ICsraWkpIHsKKyAgICAgIHZhciBzdHIg
PSBsaW5lc1tpaV0ucmVwbGFjZSgvXlxzXHMqLywgJycpLnJlcGxhY2UoL1xzXHMqJC8sICcnKTsK
KyAgICAgIGlmIChzdHIubGVuZ3RoID4gNCAmJgorICAgICAgICAgIHN0clswXSAhPSAnIycgJiYK
KyAgICAgICAgICBzdHJbMF0gIT0gIjsiICYmCisgICAgICAgICAgc3RyLnN1YnN0cigwLCAyKSAh
PSAiLy8iKSB7CisgICAgICAgIHZhciBuYW1lcyA9IHN0ci5zcGxpdCgvICsvKTsKKyAgICAgICAg
aWYgKG5hbWVzLmxlbmd0aCA9PSAxKSB7CisgICAgICAgICAgbmV3X3VybCA9IHByZWZpeCArIHN0
cjsKKyAgICAgICAgICBmaWxlcyA9IGZpbGVzLmNvbmNhdChyZWFkRmlsZUxpc3QobmV3X3VybCkp
OworICAgICAgICB9IGVsc2UgeworICAgICAgICAgIHZhciBzID0gIiI7CisgICAgICAgICAgdmFy
IHAgPSAiIjsKKyAgICAgICAgICBmb3IgKHZhciBqaiA9IDA7IGpqIDwgbmFtZXMubGVuZ3RoOyAr
K2pqKSB7CisgICAgICAgICAgICBzICs9IHAgKyBwcmVmaXggKyBuYW1lc1tqal07CisgICAgICAg
ICAgICBwID0gIiAiOworICAgICAgICAgIH0KKyAgICAgICAgICBmaWxlcy5wdXNoKHMpOworICAg
ICAgICB9CisgICAgICB9CisgICAgfQorICB9IGVsc2UgeworICAgIGZpbGVzLnB1c2godXJsKTsK
KyAgfQorICByZXR1cm4gZmlsZXM7Cit9OworCisvKioKKyAqIExvYWRzIGEgc2hhZGVyLgorICog
QHBhcmFtIHshV2ViR0xDb250ZXh0fSBnbCBUaGUgV2ViR0xDb250ZXh0IHRvIHVzZS4KKyAqIEBw
YXJhbSB7c3RyaW5nfSBzaGFkZXJTb3VyY2UgVGhlIHNoYWRlciBzb3VyY2UuCisgKiBAcGFyYW0g
e251bWJlcn0gc2hhZGVyVHlwZSBUaGUgdHlwZSBvZiBzaGFkZXIuIAorICogQHBhcmFtIHtmdW5j
dGlvbihzdHJpbmcpOiB2b2lkKSBvcHRfZXJyb3JDYWxsYmFjayBjYWxsYmFjayBmb3IgZXJyb3Jz
LiAKKyAqIEByZXR1cm4geyFXZWJHTFNoYWRlcn0gVGhlIGNyZWF0ZWQgc2hhZGVyLgorICovCit2
YXIgbG9hZFNoYWRlciA9IGZ1bmN0aW9uKGdsLCBzaGFkZXJTb3VyY2UsIHNoYWRlclR5cGUsIG9w
dF9lcnJvckNhbGxiYWNrKSB7CisgIHZhciBlcnJGbiA9IG9wdF9lcnJvckNhbGxiYWNrIHx8IGVy
cm9yOworICAvLyBDcmVhdGUgdGhlIHNoYWRlciBvYmplY3QKKyAgdmFyIHNoYWRlciA9IGdsLmNy
ZWF0ZVNoYWRlcihzaGFkZXJUeXBlKTsKKyAgaWYgKHNoYWRlciA9PSBudWxsKSB7CisgICAgZXJy
Rm4oIioqKiBFcnJvcjogdW5hYmxlIHRvIGNyZWF0ZSBzaGFkZXIgJyIrc2hhZGVyU291cmNlKyIn
Iik7CisgICAgcmV0dXJuIG51bGw7CisgIH0KKworICAvLyBMb2FkIHRoZSBzaGFkZXIgc291cmNl
CisgIGdsLnNoYWRlclNvdXJjZShzaGFkZXIsIHNoYWRlclNvdXJjZSk7CisgIHZhciBlcnIgPSBn
bC5nZXRFcnJvcigpOworICBpZiAoZXJyICE9IGdsLk5PX0VSUk9SKSB7CisgICAgZXJyRm4oIioq
KiBFcnJvciBsb2FkaW5nIHNoYWRlciAnIiArIHNoYWRlciArICInOiIgKyBnbEVudW1Ub1N0cmlu
ZyhnbCwgZXJyKSk7CisgICAgcmV0dXJuIG51bGw7CisgIH0KKworICAvLyBDb21waWxlIHRoZSBz
aGFkZXIKKyAgZ2wuY29tcGlsZVNoYWRlcihzaGFkZXIpOworCisgIC8vIENoZWNrIHRoZSBjb21w
aWxlIHN0YXR1cworICB2YXIgY29tcGlsZWQgPSBnbC5nZXRTaGFkZXJQYXJhbWV0ZXIoc2hhZGVy
LCBnbC5DT01QSUxFX1NUQVRVUyk7CisgIGlmICghY29tcGlsZWQpIHsKKyAgICAvLyBTb21ldGhp
bmcgd2VudCB3cm9uZyBkdXJpbmcgY29tcGlsYXRpb247IGdldCB0aGUgZXJyb3IKKyAgICBsYXN0
RXJyb3IgPSBnbC5nZXRTaGFkZXJJbmZvTG9nKHNoYWRlcik7CisgICAgZXJyRm4oIioqKiBFcnJv
ciBjb21waWxpbmcgIiArIGdsRW51bVRvU3RyaW5nKGdsLCBzaGFkZXJUeXBlKSArICIgJyIgKyBz
aGFkZXIgKyAiJzoiICsgbGFzdEVycm9yKTsKKyAgICBnbC5kZWxldGVTaGFkZXIoc2hhZGVyKTsK
KyAgICByZXR1cm4gbnVsbDsKKyAgfQorCisgIHJldHVybiBzaGFkZXI7Cit9CisKKy8qKgorICog
TG9hZHMgYSBzaGFkZXIgZnJvbSBhIFVSTC4KKyAqIEBwYXJhbSB7IVdlYkdMQ29udGV4dH0gZ2wg
VGhlIFdlYkdMQ29udGV4dCB0byB1c2UuCisgKiBAcGFyYW0ge2ZpbGV9IGZpbGUgVGhlIFVSTCBv
ZiB0aGUgc2hhZGVyIHNvdXJjZS4KKyAqIEBwYXJhbSB7bnVtYmVyfSB0eXBlIFRoZSB0eXBlIG9m
IHNoYWRlci4KKyAqIEBwYXJhbSB7ZnVuY3Rpb24oc3RyaW5nKTogdm9pZCkgb3B0X2Vycm9yQ2Fs
bGJhY2sgY2FsbGJhY2sgZm9yIGVycm9ycy4gCisgKiBAcmV0dXJuIHshV2ViR0xTaGFkZXJ9IFRo
ZSBjcmVhdGVkIHNoYWRlci4KKyAqLwordmFyIGxvYWRTaGFkZXJGcm9tRmlsZSA9IGZ1bmN0aW9u
KGdsLCBmaWxlLCB0eXBlLCBvcHRfZXJyb3JDYWxsYmFjaykgeworICB2YXIgc2hhZGVyU291cmNl
ID0gcmVhZEZpbGUoZmlsZSk7CisgIHJldHVybiBsb2FkU2hhZGVyKGdsLCBzaGFkZXJTb3VyY2Us
IHR5cGUsIG9wdF9lcnJvckNhbGxiYWNrKTsKK307CisKKy8qKgorICogR2V0cyB0aGUgY29udGVu
dCBvZiBzY3JpcHQuCisgKi8KK3ZhciBnZXRTY3JpcHQgPSBmdW5jdGlvbihzY3JpcHRJZCkgewor
ICB2YXIgc2hhZGVyU2NyaXB0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoc2NyaXB0SWQpOwor
ICBpZiAoIXNoYWRlclNjcmlwdCkgeworICAgIHRocm93KCIqKiogRXJyb3I6IHVua25vd24gc2Ny
aXB0IGVsZW1lbnQiICsgc2NyaXB0SWQpOworICB9CisgIHJldHVybiBzaGFkZXJTY3JpcHQudGV4
dDsKK307CisKKy8qKgorICogTG9hZHMgYSBzaGFkZXIgZnJvbSBhIHNjcmlwdCB0YWcuCisgKiBA
cGFyYW0geyFXZWJHTENvbnRleHR9IGdsIFRoZSBXZWJHTENvbnRleHQgdG8gdXNlLgorICogQHBh
cmFtIHtzdHJpbmd9IHNjcmlwdElkIFRoZSBpZCBvZiB0aGUgc2NyaXB0IHRhZy4KKyAqIEBwYXJh
bSB7bnVtYmVyfSBvcHRfc2hhZGVyVHlwZSBUaGUgdHlwZSBvZiBzaGFkZXIuIElmIG5vdCBwYXNz
ZWQgaW4gaXQgd2lsbAorICogICAgIGJlIGRlcml2ZWQgZnJvbSB0aGUgdHlwZSBvZiB0aGUgc2Ny
aXB0IHRhZy4KKyAqIEBwYXJhbSB7ZnVuY3Rpb24oc3RyaW5nKTogdm9pZCkgb3B0X2Vycm9yQ2Fs
bGJhY2sgY2FsbGJhY2sgZm9yIGVycm9ycy4gCisgKiBAcmV0dXJuIHshV2ViR0xTaGFkZXJ9IFRo
ZSBjcmVhdGVkIHNoYWRlci4KKyAqLwordmFyIGxvYWRTaGFkZXJGcm9tU2NyaXB0ID0gZnVuY3Rp
b24oCisgICAgZ2wsIHNjcmlwdElkLCBvcHRfc2hhZGVyVHlwZSwgb3B0X2Vycm9yQ2FsbGJhY2sp
IHsKKyAgdmFyIHNoYWRlclNvdXJjZSA9ICIiOworICB2YXIgc2hhZGVyVHlwZTsKKyAgdmFyIHNo
YWRlclNjcmlwdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHNjcmlwdElkKTsKKyAgaWYgKCFz
aGFkZXJTY3JpcHQpIHsKKyAgICB0aHJvdygiKioqIEVycm9yOiB1bmtub3duIHNjcmlwdCBlbGVt
ZW50ICIgKyBzY3JpcHRJZCk7CisgIH0KKyAgc2hhZGVyU291cmNlID0gc2hhZGVyU2NyaXB0LnRl
eHQ7CisKKyAgaWYgKCFvcHRfc2hhZGVyVHlwZSkgeworICAgIGlmIChzaGFkZXJTY3JpcHQudHlw
ZSA9PSAieC1zaGFkZXIveC12ZXJ0ZXgiKSB7CisgICAgICBzaGFkZXJUeXBlID0gZ2wuVkVSVEVY
X1NIQURFUjsKKyAgICB9IGVsc2UgaWYgKHNoYWRlclNjcmlwdC50eXBlID09ICJ4LXNoYWRlci94
LWZyYWdtZW50IikgeworICAgICAgc2hhZGVyVHlwZSA9IGdsLkZSQUdNRU5UX1NIQURFUjsKKyAg
ICB9IGVsc2UgaWYgKHNoYWRlclR5cGUgIT0gZ2wuVkVSVEVYX1NIQURFUiAmJiBzaGFkZXJUeXBl
ICE9IGdsLkZSQUdNRU5UX1NIQURFUikgeworICAgICAgdGhyb3coIioqKiBFcnJvcjogdW5rbm93
biBzaGFkZXIgdHlwZSIpOworICAgICAgcmV0dXJuIG51bGw7CisgICAgfQorICB9CisKKyAgcmV0
dXJuIGxvYWRTaGFkZXIoCisgICAgICBnbCwgc2hhZGVyU291cmNlLCBvcHRfc2hhZGVyVHlwZSA/
IG9wdF9zaGFkZXJUeXBlIDogc2hhZGVyVHlwZSwKKyAgICAgIG9wdF9lcnJvckNhbGxiYWNrKTsK
K307CisKK3ZhciBsb2FkU3RhbmRhcmRQcm9ncmFtID0gZnVuY3Rpb24oZ2wpIHsKKyAgdmFyIHBy
b2dyYW0gPSBnbC5jcmVhdGVQcm9ncmFtKCk7CisgIGdsLmF0dGFjaFNoYWRlcihwcm9ncmFtLCBs
b2FkU3RhbmRhcmRWZXJ0ZXhTaGFkZXIoZ2wpKTsKKyAgZ2wuYXR0YWNoU2hhZGVyKHByb2dyYW0s
IGxvYWRTdGFuZGFyZEZyYWdtZW50U2hhZGVyKGdsKSk7CisgIGxpbmtQcm9ncmFtKGdsLCBwcm9n
cmFtKTsKKyAgcmV0dXJuIHByb2dyYW07Cit9OworCisvKioKKyAqIExvYWRzIHNoYWRlcnMgZnJv
bSBmaWxlcywgY3JlYXRlcyBhIHByb2dyYW0sIGF0dGFjaGVzIHRoZSBzaGFkZXJzIGFuZCBsaW5r
cy4KKyAqIEBwYXJhbSB7IVdlYkdMQ29udGV4dH0gZ2wgVGhlIFdlYkdMQ29udGV4dCB0byB1c2Uu
CisgKiBAcGFyYW0ge3N0cmluZ30gdmVydGV4U2hhZGVyUGF0aCBUaGUgVVJMIG9mIHRoZSB2ZXJ0
ZXggc2hhZGVyLgorICogQHBhcmFtIHtzdHJpbmd9IGZyYWdtZW50U2hhZGVyUGF0aCBUaGUgVVJM
IG9mIHRoZSBmcmFnbWVudCBzaGFkZXIuCisgKiBAcGFyYW0ge2Z1bmN0aW9uKHN0cmluZyk6IHZv
aWQpIG9wdF9lcnJvckNhbGxiYWNrIGNhbGxiYWNrIGZvciBlcnJvcnMuIAorICogQHJldHVybiB7
IVdlYkdMUHJvZ3JhbX0gVGhlIGNyZWF0ZWQgcHJvZ3JhbS4KKyAqLwordmFyIGxvYWRQcm9ncmFt
RnJvbUZpbGUgPSBmdW5jdGlvbigKKyAgICBnbCwgdmVydGV4U2hhZGVyUGF0aCwgZnJhZ21lbnRT
aGFkZXJQYXRoLCBvcHRfZXJyb3JDYWxsYmFjaykgeworICB2YXIgcHJvZ3JhbSA9IGdsLmNyZWF0
ZVByb2dyYW0oKTsKKyAgdmFyIHZzID0gbG9hZFNoYWRlckZyb21GaWxlKAorICAgICAgZ2wsIHZl
cnRleFNoYWRlclBhdGgsIGdsLlZFUlRFWF9TSEFERVIsIG9wdF9lcnJvckNhbGxiYWNrKTsKKyAg
dmFyIGZzID0gbG9hZFNoYWRlckZyb21GaWxlKAorICAgICAgZ2wsIGZyYWdtZW50U2hhZGVyUGF0
aCwgZ2wuRlJBR01FTlRfU0hBREVSLCBvcHRfZXJyb3JDYWxsYmFjayk7CisgIGlmICh2cyAmJiBm
cykgeworICAgIGdsLmF0dGFjaFNoYWRlcihwcm9ncmFtLCB2cyk7CisgICAgZ2wuYXR0YWNoU2hh
ZGVyKHByb2dyYW0sIGZzKTsKKyAgICBsaW5rUHJvZ3JhbShnbCwgcHJvZ3JhbSwgb3B0X2Vycm9y
Q2FsbGJhY2spOworICB9CisgIGlmICh2cykgeworICAgIGdsLmRlbGV0ZVNoYWRlcih2cyk7Cisg
IH0KKyAgaWYgKGZzKSB7CisgICAgZ2wuZGVsZXRlU2hhZGVyKGZzKTsKKyAgfQorICByZXR1cm4g
cHJvZ3JhbTsKK307CisKKy8qKgorICogTG9hZHMgc2hhZGVycyBmcm9tIHNjcmlwdCB0YWdzLCBj
cmVhdGVzIGEgcHJvZ3JhbSwgYXR0YWNoZXMgdGhlIHNoYWRlcnMgYW5kCisgKiBsaW5rcy4KKyAq
IEBwYXJhbSB7IVdlYkdMQ29udGV4dH0gZ2wgVGhlIFdlYkdMQ29udGV4dCB0byB1c2UuCisgKiBA
cGFyYW0ge3N0cmluZ30gdmVydGV4U2NyaXB0SWQgVGhlIGlkIG9mIHRoZSBzY3JpcHQgdGFnIHRo
YXQgY29udGFpbnMgdGhlCisgKiAgICAgICAgdmVydGV4IHNoYWRlci4KKyAqIEBwYXJhbSB7c3Ry
aW5nfSBmcmFnbWVudFNjcmlwdElkIFRoZSBpZCBvZiB0aGUgc2NyaXB0IHRhZyB0aGF0IGNvbnRh
aW5zIHRoZQorICogICAgICAgIGZyYWdtZW50IHNoYWRlci4KKyAqIEBwYXJhbSB7ZnVuY3Rpb24o
c3RyaW5nKTogdm9pZCkgb3B0X2Vycm9yQ2FsbGJhY2sgY2FsbGJhY2sgZm9yIGVycm9ycy4gCisg
KiBAcmV0dXJuIHshV2ViR0xQcm9ncmFtfSBUaGUgY3JlYXRlZCBwcm9ncmFtLgorICovCit2YXIg
bG9hZFByb2dyYW1Gcm9tU2NyaXB0ID0gZnVuY3Rpb24gbG9hZFByb2dyYW1Gcm9tU2NyaXB0KAor
ICAgIGdsLCB2ZXJ0ZXhTY3JpcHRJZCwgZnJhZ21lbnRTY3JpcHRJZCwgb3B0X2Vycm9yQ2FsbGJh
Y2spIHsKKyAgdmFyIHByb2dyYW0gPSBnbC5jcmVhdGVQcm9ncmFtKCk7CisgIGdsLmF0dGFjaFNo
YWRlcigKKyAgICAgIHByb2dyYW0sCisgICAgICBsb2FkU2hhZGVyRnJvbVNjcmlwdCgKKyAgICAg
ICAgICBnbCwgdmVydGV4U2NyaXB0SWQsIGdsLlZFUlRFWF9TSEFERVIsIG9wdF9lcnJvckNhbGxi
YWNrKSk7CisgIGdsLmF0dGFjaFNoYWRlcigKKyAgICAgIHByb2dyYW0sCisgICAgICBsb2FkU2hh
ZGVyRnJvbVNjcmlwdCgKKyAgICAgICAgICBnbCwgZnJhZ21lbnRTY3JpcHRJZCwgIGdsLkZSQUdN
RU5UX1NIQURFUiwgb3B0X2Vycm9yQ2FsbGJhY2spKTsKKyAgbGlua1Byb2dyYW0oZ2wsIHByb2dy
YW0sIG9wdF9lcnJvckNhbGxiYWNrKTsKKyAgcmV0dXJuIHByb2dyYW07Cit9OworCisvKioKKyAq
IExvYWRzIHNoYWRlcnMgZnJvbSBzb3VyY2UsIGNyZWF0ZXMgYSBwcm9ncmFtLCBhdHRhY2hlcyB0
aGUgc2hhZGVycyBhbmQKKyAqIGxpbmtzLgorICogQHBhcmFtIHshV2ViR0xDb250ZXh0fSBnbCBU
aGUgV2ViR0xDb250ZXh0IHRvIHVzZS4KKyAqIEBwYXJhbSB7IVdlYkdMU2hhZGVyfSB2ZXJ0ZXhT
aGFkZXIgVGhlIHZlcnRleCBzaGFkZXIuCisgKiBAcGFyYW0geyFXZWJHTFNoYWRlcn0gZnJhZ21l
bnRTaGFkZXIgVGhlIGZyYWdtZW50IHNoYWRlci4KKyAqIEBwYXJhbSB7ZnVuY3Rpb24oc3RyaW5n
KTogdm9pZCkgb3B0X2Vycm9yQ2FsbGJhY2sgY2FsbGJhY2sgZm9yIGVycm9ycy4KKyAqIEByZXR1
cm4geyFXZWJHTFByb2dyYW19IFRoZSBjcmVhdGVkIHByb2dyYW0uCisgKi8KK3ZhciBjcmVhdGVQ
cm9ncmFtID0gZnVuY3Rpb24oZ2wsIHZlcnRleFNoYWRlciwgZnJhZ21lbnRTaGFkZXIsIG9wdF9l
cnJvckNhbGxiYWNrKSB7CisgIHZhciBwcm9ncmFtID0gZ2wuY3JlYXRlUHJvZ3JhbSgpOworICBn
bC5hdHRhY2hTaGFkZXIocHJvZ3JhbSwgdmVydGV4U2hhZGVyKTsKKyAgZ2wuYXR0YWNoU2hhZGVy
KHByb2dyYW0sIGZyYWdtZW50U2hhZGVyKTsKKyAgbGlua1Byb2dyYW0oZ2wsIHByb2dyYW0sIG9w
dF9lcnJvckNhbGxiYWNrKTsKKyAgcmV0dXJuIHByb2dyYW07Cit9OworCisvKioKKyAqIExvYWRz
IHNoYWRlcnMgZnJvbSBzb3VyY2UsIGNyZWF0ZXMgYSBwcm9ncmFtLCBhdHRhY2hlcyB0aGUgc2hh
ZGVycyBhbmQKKyAqIGxpbmtzLgorICogQHBhcmFtIHshV2ViR0xDb250ZXh0fSBnbCBUaGUgV2Vi
R0xDb250ZXh0IHRvIHVzZS4KKyAqIEBwYXJhbSB7c3RyaW5nfSB2ZXJ0ZXhTaGFkZXIgVGhlIHZl
cnRleCBzaGFkZXIgc291cmNlLgorICogQHBhcmFtIHtzdHJpbmd9IGZyYWdtZW50U2hhZGVyIFRo
ZSBmcmFnbWVudCBzaGFkZXIgc291cmNlLgorICogQHBhcmFtIHtmdW5jdGlvbihzdHJpbmcpOiB2
b2lkKSBvcHRfZXJyb3JDYWxsYmFjayBjYWxsYmFjayBmb3IgZXJyb3JzLiAKKyAqIEByZXR1cm4g
eyFXZWJHTFByb2dyYW19IFRoZSBjcmVhdGVkIHByb2dyYW0uCisgKi8KK3ZhciBsb2FkUHJvZ3Jh
bSA9IGZ1bmN0aW9uKAorICAgIGdsLCB2ZXJ0ZXhTaGFkZXIsIGZyYWdtZW50U2hhZGVyLCBvcHRf
ZXJyb3JDYWxsYmFjaykgeworICB2YXIgcHJvZ3JhbTsKKyAgdmFyIHZzID0gbG9hZFNoYWRlcigK
KyAgICAgIGdsLCB2ZXJ0ZXhTaGFkZXIsIGdsLlZFUlRFWF9TSEFERVIsIG9wdF9lcnJvckNhbGxi
YWNrKTsKKyAgdmFyIGZzID0gbG9hZFNoYWRlcigKKyAgICAgIGdsLCBmcmFnbWVudFNoYWRlciwg
Z2wuRlJBR01FTlRfU0hBREVSLCBvcHRfZXJyb3JDYWxsYmFjayk7CisgIGlmICh2cyAmJiBmcykg
eworICAgIHByb2dyYW0gPSBjcmVhdGVQcm9ncmFtKGdsLCB2cywgZnMsIG9wdF9lcnJvckNhbGxi
YWNrKQorICB9CisgIGlmICh2cykgeworICAgIGdsLmRlbGV0ZVNoYWRlcih2cyk7CisgIH0KKyAg
aWYgKGZzKSB7CisgICAgZ2wuZGVsZXRlU2hhZGVyKGZzKTsKKyAgfQorICByZXR1cm4gcHJvZ3Jh
bTsKK307CisKKy8qKgorICogTG9hZHMgc2hhZGVycyBmcm9tIHNvdXJjZSwgY3JlYXRlcyBhIHBy
b2dyYW0sIGF0dGFjaGVzIHRoZSBzaGFkZXJzIGFuZAorICogbGlua3MgYnV0IGV4cGVjdHMgZXJy
b3IuCisgKgorICogR0xTTCAxLjAuMTcgMTAuMjcgZWZmZWN0aXZlbHkgc2F5cyB0aGF0IGNvbXBp
bGVTaGFkZXIgY2FuCisgKiBhbHdheXMgc3VjY2VlZCBhcyBsb25nIGFzIGxpbmtQcm9ncmFtIGZh
aWxzIHNvIHdlIGNhbid0CisgKiByZWx5IG9uIGNvbXBpbGVTaGFkZXIgZmFpbGluZy4gVGhpcyBm
dW5jdGlvbiBleHBlY3RzCisgKiBvbmUgb2YgdGhlIHNoYWRlciB0byBmYWlsIE9SIGxpbmtpbmcg
dG8gZmFpbC4KKyAqCisgKiBAcGFyYW0geyFXZWJHTENvbnRleHR9IGdsIFRoZSBXZWJHTENvbnRl
eHQgdG8gdXNlLgorICogQHBhcmFtIHtzdHJpbmd9IHZlcnRleFNoYWRlclNjcmlwdElkIFRoZSB2
ZXJ0ZXggc2hhZGVyLgorICogQHBhcmFtIHtzdHJpbmd9IGZyYWdtZW50U2hhZGVyU2NyaXB0SWQg
VGhlIGZyYWdtZW50IHNoYWRlci4KKyAqIEByZXR1cm4ge1dlYkdMUHJvZ3JhbX0gVGhlIGNyZWF0
ZWQgcHJvZ3JhbS4KKyAqLwordmFyIGxvYWRQcm9ncmFtRnJvbVNjcmlwdEV4cGVjdEVycm9yID0g
ZnVuY3Rpb24oCisgICAgZ2wsIHZlcnRleFNoYWRlclNjcmlwdElkLCBmcmFnbWVudFNoYWRlclNj
cmlwdElkKSB7CisgIHZhciB2ZXJ0ZXhTaGFkZXIgPSBsb2FkU2hhZGVyRnJvbVNjcmlwdChnbCwg
dmVydGV4U2hhZGVyU2NyaXB0SWQpOworICBpZiAoIXZlcnRleFNoYWRlcikgeworICAgIHJldHVy
biBudWxsOworICB9CisgIHZhciBmcmFnbWVudFNoYWRlciA9IGxvYWRTaGFkZXJGcm9tU2NyaXB0
KGdsLCBmcmFnbWVudFNoYWRlclNjcmlwdElkKTsKKyAgaWYgKCFmcmFnbWVudFNoYWRlcikgewor
ICAgIHJldHVybiBudWxsOworICB9CisgIHZhciBsaW5rU3VjY2VzcyA9IHRydWU7CisgIHZhciBw
cm9ncmFtID0gZ2wuY3JlYXRlUHJvZ3JhbSgpOworICBnbC5hdHRhY2hTaGFkZXIocHJvZ3JhbSwg
dmVydGV4U2hhZGVyKTsKKyAgZ2wuYXR0YWNoU2hhZGVyKHByb2dyYW0sIGZyYWdtZW50U2hhZGVy
KTsKKyAgbGlua1N1Y2Nlc3MgPSB0cnVlOworICBsaW5rUHJvZ3JhbShnbCwgcHJvZ3JhbSwgZnVu
Y3Rpb24oKSB7CisgICAgICBsaW5rU3VjY2VzcyA9IGZhbHNlOworICAgIH0pOworICByZXR1cm4g
bGlua1N1Y2Nlc3MgPyBwcm9ncmFtIDogbnVsbDsKK307CisKKwordmFyIGdldEFjdGl2ZU1hcCA9
IGZ1bmN0aW9uKGdsLCBwcm9ncmFtLCB0eXBlSW5mbykgeworICB2YXIgbnVtVmFyaWFibGVzID0g
Z2wuZ2V0UHJvZ3JhbVBhcmFtZXRlcihwcm9ncmFtLCBnbFt0eXBlSW5mby5wYXJhbV0pOworICB2
YXIgdmFyaWFibGVzID0ge307CisgIGZvciAodmFyIGlpID0gMDsgaWkgPCBudW1WYXJpYWJsZXM7
ICsraWkpIHsKKyAgICB2YXIgaW5mbyA9IGdsW3R5cGVJbmZvLmFjdGl2ZUZuXShwcm9ncmFtLCBp
aSk7CisgICAgdmFyaWFibGVzW2luZm8ubmFtZV0gPSB7CisgICAgICBuYW1lOiBpbmZvLm5hbWUs
CisgICAgICBzaXplOiBpbmZvLnNpemUsCisgICAgICB0eXBlOiBpbmZvLnR5cGUsCisgICAgICBs
b2NhdGlvbjogZ2xbdHlwZUluZm8ubG9jRm5dKHByb2dyYW0sIGluZm8ubmFtZSkKKyAgICB9Owor
ICB9CisgIHJldHVybiB2YXJpYWJsZXM7Cit9OworCisvKioKKyAqIFJldHVybnMgYSBtYXAgb2Yg
YXR0cmliIG5hbWVzIHRvIGluZm8gYWJvdXQgdGhvc2UKKyAqIGF0dHJpYnMKKyAqCisgKiBlZzoK
KyAqICAgIHsgImF0dHJpYjFOYW1lIjoKKyAqICAgICAgeworICogICAgICAgIG5hbWU6ICJhdHRy
aWIxTmFtZSIsCisgKiAgICAgICAgc2l6ZTogMSwKKyAqICAgICAgICB0eXBlOiBnbC5GTE9BVF9N
QVQyLAorICogICAgICAgIGxvY2F0aW9uOiAwCisgKiAgICAgIH0sCisgKiAgICAgICJhdHRyaWIy
TmFtZVswXSI6CisgKiAgICAgIHsKKyAqICAgICAgICAgbmFtZTogImF0dHJpYjJOYW1lWzBdIiwK
KyAqICAgICAgICAgc2l6ZTogNCwKKyAqICAgICAgICAgdHlwZTogZ2wuRkxPQVQsCisgKiAgICAg
ICAgIGxvY2F0aW9uOiAxCisgKiAgICAgIH0sCisgKiAgICB9CisgKgorICogQHBhcmFtIHshV2Vi
R0xDb250ZXh0fSBnbCBUaGUgV2ViR0xDb250ZXh0IHRvIHVzZS4KKyAqIEBwYXJhbSB7V2ViR0xQ
cm9ncmFtfSBUaGUgcHJvZ3JhbSB0byBxdWVyeSBmb3IgYXR0cmlicy4KKyAqIEByZXR1cm4gdGhl
IG1hcC4KKyAqLwordmFyIGdldEF0dHJpYk1hcCA9IGZ1bmN0aW9uKGdsLCBwcm9ncmFtKSB7Cisg
IHJldHVybiBnZXRBY3RpdmVNYXAoZ2wsIHByb2dyYW0sIHsKKyAgICAgIHBhcmFtOiAiQUNUSVZF
X0FUVFJJQlMiLAorICAgICAgYWN0aXZlRm46ICJnZXRBY3RpdmVBdHRyaWIiLAorICAgICAgbG9j
Rm46ICJnZXRBdHRyaWJMb2NhdGlvbiIKKyAgfSk7Cit9OworCisvKioKKyAqIFJldHVybnMgYSBt
YXAgb2YgdW5pZm9ybSBuYW1lcyB0byBpbmZvIGFib3V0IHRob3NlIHVuaWZvcm0KKyAqCisgKiBl
ZzoKKyAqICAgIHsgInVuaWZvcm0xTmFtZSI6CisgKiAgICAgIHsKKyAqICAgICAgICBuYW1lOiAi
dW5pZm9ybTFOYW1lIiwKKyAqICAgICAgICBzaXplOiAxLAorICogICAgICAgIHR5cGU6IGdsLkZM
T0FUX01BVDIsCisgKiAgICAgICAgbG9jYXRpb246IFdlYkdMVW5pZm9ybUxvY2F0aW9uCisgKiAg
ICAgIH0sCisgKiAgICAgICJ1bmlmb3JtMk5hbWVbMF0iOgorICogICAgICB7CisgKiAgICAgICAg
IG5hbWU6ICJ1bmlmb3JtMk5hbWVbMF0iLAorICogICAgICAgICBzaXplOiA0LAorICogICAgICAg
ICB0eXBlOiBnbC5GTE9BVCwKKyAqICAgICAgICAgbG9jYXRpb246IFdlYkdMVW5pZm9ybUxvY2F0
aW9uCisgKiAgICAgIH0sCisgKiAgICB9CisgKgorICogQHBhcmFtIHshV2ViR0xDb250ZXh0fSBn
bCBUaGUgV2ViR0xDb250ZXh0IHRvIHVzZS4KKyAqIEBwYXJhbSB7V2ViR0xQcm9ncmFtfSBUaGUg
cHJvZ3JhbSB0byBxdWVyeSBmb3IgdW5pZm9ybXMuCisgKiBAcmV0dXJuIHRoZSBtYXAuCisgKi8K
K3ZhciBnZXRVbmlmb3JtTWFwID0gZnVuY3Rpb24oZ2wsIHByb2dyYW0pIHsKKyAgcmV0dXJuIGdl
dEFjdGl2ZU1hcChnbCwgcHJvZ3JhbSwgeworICAgICAgcGFyYW06ICJBQ1RJVkVfVU5JRk9STVMi
LAorICAgICAgYWN0aXZlRm46ICJnZXRBY3RpdmVVbmlmb3JtIiwKKyAgICAgIGxvY0ZuOiAiZ2V0
VW5pZm9ybUxvY2F0aW9uIgorICB9KTsKK307CisKK3ZhciBiYXNlUGF0aDsKK3ZhciBnZXRCYXNl
UGF0aCA9IGZ1bmN0aW9uKCkgeworICBpZiAoIWJhc2VQYXRoKSB7CisgICAgdmFyIGV4cGVjdGVk
QmFzZSA9ICJ3ZWJnbC10ZXN0LXV0aWxzLmpzIjsKKyAgICB2YXIgc2NyaXB0cyA9IGRvY3VtZW50
LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdzY3JpcHQnKTsKKyAgICBmb3IgKHZhciBzY3JpcHQsIGkg
PSAwOyBzY3JpcHQgPSBzY3JpcHRzW2ldOyBpKyspIHsKKyAgICAgIHZhciBzcmMgPSBzY3JpcHQu
c3JjOworICAgICAgdmFyIGwgPSBzcmMubGVuZ3RoOworICAgICAgaWYgKHNyYy5zdWJzdHIobCAt
IGV4cGVjdGVkQmFzZS5sZW5ndGgpID09IGV4cGVjdGVkQmFzZSkgeworICAgICAgICBiYXNlUGF0
aCA9IHNyYy5zdWJzdHIoMCwgbCAtIGV4cGVjdGVkQmFzZS5sZW5ndGgpOworICAgICAgfQorICAg
IH0KKyAgfQorICByZXR1cm4gYmFzZVBhdGg7Cit9OworCit2YXIgbG9hZFN0YW5kYXJkVmVydGV4
U2hhZGVyID0gZnVuY3Rpb24oZ2wpIHsKKyAgcmV0dXJuIGxvYWRTaGFkZXJGcm9tRmlsZSgKKyAg
ICAgIGdsLCBnZXRCYXNlUGF0aCgpICsgInZlcnRleFNoYWRlci52ZXJ0IiwgZ2wuVkVSVEVYX1NI
QURFUik7Cit9OworCit2YXIgbG9hZFN0YW5kYXJkRnJhZ21lbnRTaGFkZXIgPSBmdW5jdGlvbihn
bCkgeworICByZXR1cm4gbG9hZFNoYWRlckZyb21GaWxlKAorICAgICAgZ2wsIGdldEJhc2VQYXRo
KCkgKyAiZnJhZ21lbnRTaGFkZXIuZnJhZyIsIGdsLkZSQUdNRU5UX1NIQURFUik7Cit9OworCisv
KioKKyAqIExvYWRzIGFuIGltYWdlIGFzeW5jaHJvbm91c2x5LgorICogQHBhcmFtIHtzdHJpbmd9
IHVybCBVUkwgb2YgaW1hZ2UgdG8gbG9hZC4KKyAqIEBwYXJhbSB7IWZ1bmN0aW9uKCFFbGVtZW50
KTogdm9pZH0gY2FsbGJhY2sgRnVuY3Rpb24gdG8gY2FsbAorICogICAgIHdpdGggbG9hZGVkIGlt
YWdlLgorICovCit2YXIgbG9hZEltYWdlQXN5bmMgPSBmdW5jdGlvbih1cmwsIGNhbGxiYWNrKSB7
CisgIHZhciBpbWcgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbWcnKTsKKyAgaW1nLm9ubG9h
ZCA9IGZ1bmN0aW9uKCkgeworICAgIGNhbGxiYWNrKGltZyk7CisgIH07CisgIGltZy5zcmMgPSB1
cmw7Cit9OworCisvKioKKyAqIExvYWRzIGFuIGFycmF5IG9mIGltYWdlcy4KKyAqIEBwYXJhbSB7
IUFycmF5LjxzdHJpbmc+fSB1cmxzIFVSTHMgb2YgaW1hZ2VzIHRvIGxvYWQuCisgKiBAcGFyYW0g
eyFmdW5jdGlvbighe3N0cmluZywgaW1nfSk6IHZvaWR9IGNhbGxiYWNrLiBDYWxsYmFjaworICog
ICAgIHRoYXQgZ2V0cyBwYXNzZWQgbWFwIG9mIHVybHMgdG8gaW1nIHRhZ3MuCisgKi8KK3ZhciBs
b2FkSW1hZ2VzQXN5bmMgPSBmdW5jdGlvbih1cmxzLCBjYWxsYmFjaykgeworICB2YXIgY291bnQg
PSAxOworICB2YXIgaW1hZ2VzID0geyB9OworICBmdW5jdGlvbiBjb3VudERvd24oKSB7CisgICAg
LS1jb3VudDsKKyAgICBpZiAoY291bnQgPT0gMCkgeworICAgICAgY2FsbGJhY2soaW1hZ2VzKTsK
KyAgICB9CisgIH0KKyAgZnVuY3Rpb24gaW1hZ2VMb2FkZWQodXJsKSB7CisgICAgcmV0dXJuIGZ1
bmN0aW9uKGltZykgeworICAgICAgaW1hZ2VzW3VybF0gPSBpbWc7CisgICAgICBjb3VudERvd24o
KTsKKyAgICB9CisgIH0KKyAgZm9yICh2YXIgaWkgPSAwOyBpaSA8IHVybHMubGVuZ3RoOyArK2lp
KSB7CisgICAgKytjb3VudDsKKyAgICBsb2FkSW1hZ2VBc3luYyh1cmxzW2lpXSwgaW1hZ2VMb2Fk
ZWQodXJsc1tpaV0pKTsKKyAgfQorICBjb3VudERvd24oKTsKK307CisKK3ZhciBnZXRVcmxBcmd1
bWVudHMgPSBmdW5jdGlvbigpIHsKKyAgdmFyIGFyZ3MgPSB7fTsKKyAgdHJ5IHsKKyAgICB2YXIg
cyA9IHdpbmRvdy5sb2NhdGlvbi5ocmVmOworICAgIHZhciBxID0gcy5pbmRleE9mKCI/Iik7Cisg
ICAgdmFyIGUgPSBzLmluZGV4T2YoIiMiKTsKKyAgICBpZiAoZSA8IDApIHsKKyAgICAgIGUgPSBz
Lmxlbmd0aDsKKyAgICB9CisgICAgdmFyIHF1ZXJ5ID0gcy5zdWJzdHJpbmcocSArIDEsIGUpOwor
ICAgIHZhciBwYWlycyA9IHF1ZXJ5LnNwbGl0KCImIik7CisgICAgZm9yICh2YXIgaWkgPSAwOyBp
aSA8IHBhaXJzLmxlbmd0aDsgKytpaSkgeworICAgICAgdmFyIGtleVZhbHVlID0gcGFpcnNbaWld
LnNwbGl0KCI9Iik7CisgICAgICB2YXIga2V5ID0ga2V5VmFsdWVbMF07CisgICAgICB2YXIgdmFs
dWUgPSBkZWNvZGVVUklDb21wb25lbnQoa2V5VmFsdWVbMV0pOworICAgICAgYXJnc1trZXldID0g
dmFsdWU7CisgICAgfQorICB9IGNhdGNoIChlKSB7CisgICAgdGhyb3cgImNvdWxkIG5vdCBwYXJz
ZSB1cmwiOworICB9CisgIHJldHVybiBhcmdzOworfTsKKwordmFyIG1ha2VJbWFnZSA9IGZ1bmN0
aW9uKGNhbnZhcykgeworICB2YXIgaW1nID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW1nJyk7
CisgIGltZy5zcmMgPSBjYW52YXMudG9EYXRhVVJMKCk7CisgIHJldHVybiBpbWc7Cit9OworCit2
YXIgaW5zZXJ0SW1hZ2UgPSBmdW5jdGlvbihlbGVtZW50LCBjYXB0aW9uLCBpbWcpIHsKKyAgdmFy
IGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOworICBkaXYuYXBwZW5kQ2hpbGQo
aW1nKTsKKyAgdmFyIGxhYmVsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CisgIGxh
YmVsLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKGNhcHRpb24pKTsKKyAgZGl2
LmFwcGVuZENoaWxkKGxhYmVsKTsKKyAgIGVsZW1lbnQuYXBwZW5kQ2hpbGQoZGl2KTsKK307CisK
K3ZhciBhZGRTaGFkZXJTb3VyY2UgPSBmdW5jdGlvbihlbGVtZW50LCBsYWJlbCwgc291cmNlLCBv
cHRfdXJsKSB7CisgIHZhciBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKKyAg
dmFyIHMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJwcmUiKTsKKyAgcy5jbGFzc05hbWUgPSAi
c2hhZGVyLXNvdXJjZSI7CisgIHMuc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKyAgdmFyIG9sID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgib2wiKTsKKyAgLy9zLmFwcGVuZENoaWxkKGRvY3VtZW50
LmNyZWF0ZVRleHROb2RlKHNvdXJjZSkpOworICB2YXIgbGluZXMgPSBzb3VyY2Uuc3BsaXQoIlxu
Iik7CisgIGZvciAodmFyIGlpID0gMDsgaWkgPCBsaW5lcy5sZW5ndGg7ICsraWkpIHsKKyAgICB2
YXIgbGluZSA9IGxpbmVzW2lpXTsKKyAgICB2YXIgbGkgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJsaSIpOworICAgIGxpLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKGxpbmUp
KTsKKyAgICBvbC5hcHBlbmRDaGlsZChsaSk7CisgIH0KKyAgcy5hcHBlbmRDaGlsZChvbCk7Cisg
IHZhciBsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYSIpOworICBsLmhyZWYgPSAic2hvdy1z
aGFkZXItc291cmNlIjsKKyAgbC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShs
YWJlbCkpOworICBsLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oZXZlbnQpIHsK
KyAgICAgIGlmIChldmVudC5wcmV2ZW50RGVmYXVsdCkgeworICAgICAgICBldmVudC5wcmV2ZW50
RGVmYXVsdCgpOworICAgICAgfQorICAgICAgcy5zdHlsZS5kaXNwbGF5ID0gKHMuc3R5bGUuZGlz
cGxheSA9PSAnbm9uZScpID8gJ2Jsb2NrJyA6ICdub25lJzsKKyAgICAgIHJldHVybiBmYWxzZTsK
KyAgICB9LCBmYWxzZSk7CisgIGRpdi5hcHBlbmRDaGlsZChsKTsKKyAgaWYgKG9wdF91cmwpIHsK
KyAgICB2YXIgdSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImEiKTsKKyAgICB1LmhyZWYgPSBv
cHRfdXJsOworICAgIGRpdi5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgiICIp
KTsKKyAgICB1LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCIoIiArIG9wdF91
cmwgKyAiKSIpKTsKKyAgICBkaXYuYXBwZW5kQ2hpbGQodSk7CisgIH0KKyAgZGl2LmFwcGVuZENo
aWxkKHMpOworICBlbGVtZW50LmFwcGVuZENoaWxkKGRpdik7Cit9OworCisvLyBBZGQgeW91ciBw
cmVmaXggaGVyZS4KK3ZhciBicm93c2VyUHJlZml4ZXMgPSBbCisgICIiLAorICAiTU9aXyIsCisg
ICJPUF8iLAorICAiV0VCS0lUXyIKK107CisKKy8qKgorICogR2l2ZW4gYW4gZXh0ZW5zaW9uIG5h
bWUgbGlrZSBXRUJHTF9jb21wcmVzc2VkX3RleHR1cmVfczN0YworICogcmV0dXJucyB0aGUgbmFt
ZSBvZiB0aGUgc3VwcG9ydGVkIHZlcnNpb24gZXh0ZW5zaW9uLCBsaWtlCisgKiBXRUJLSVRfV0VC
R0xfY29tcHJlc3NlZF90ZXR1cmVfczN0YworICogQHBhcmFtIHtzdHJpbmd9IG5hbWUgTmFtZSBv
ZiBleHRlbnNpb24gdG8gbG9vayBmb3IKKyAqIEByZXR1cm4ge3N0cmluZ30gbmFtZSBvZiBleHRl
bnNpb24gZm91bmQgb3IgdW5kZWZpbmVkIGlmIG5vdAorICogICAgIGZvdW5kLgorICovCit2YXIg
Z2V0U3VwcG9ydGVkRXh0ZW5zaW9uV2l0aEtub3duUHJlZml4ZXMgPSBmdW5jdGlvbihnbCwgbmFt
ZSkgeworICB2YXIgc3VwcG9ydGVkID0gZ2wuZ2V0U3VwcG9ydGVkRXh0ZW5zaW9ucygpOworICBm
b3IgKHZhciBpaSA9IDA7IGlpIDwgYnJvd3NlclByZWZpeGVzLmxlbmd0aDsgKytpaSkgeworICAg
IHZhciBwcmVmaXhlZE5hbWUgPSBicm93c2VyUHJlZml4ZXNbaWldICsgbmFtZTsKKyAgICBpZiAo
c3VwcG9ydGVkLmluZGV4T2YocHJlZml4ZWROYW1lKSA+PSAwKSB7CisgICAgICByZXR1cm4gcHJl
Zml4ZWROYW1lOworICAgIH0KKyAgfQorfTsKKworLyoqCisgKiBHaXZlbiBhbiBleHRlbnNpb24g
bmFtZSBsaWtlIFdFQkdMX2NvbXByZXNzZWRfdGV4dHVyZV9zM3RjCisgKiByZXR1cm5zIHRoZSBz
dXBwb3J0ZWQgdmVyc2lvbiBleHRlbnNpb24sIGxpa2UKKyAqIFdFQktJVF9XRUJHTF9jb21wcmVz
c2VkX3RldHVyZV9zM3RjCisgKiBAcGFyYW0ge3N0cmluZ30gbmFtZSBOYW1lIG9mIGV4dGVuc2lv
biB0byBsb29rIGZvcgorICogQHJldHVybiB7V2ViR0xFeHRlbnNpb259IFRoZSBleHRlbnNpb24g
b3IgdW5kZWZpbmVkIGlmIG5vdAorICogICAgIGZvdW5kLgorICovCit2YXIgZ2V0RXh0ZW5zaW9u
V2l0aEtub3duUHJlZml4ZXMgPSBmdW5jdGlvbihnbCwgbmFtZSkgeworICBmb3IgKHZhciBpaSA9
IDA7IGlpIDwgYnJvd3NlclByZWZpeGVzLmxlbmd0aDsgKytpaSkgeworICAgIHZhciBwcmVmaXhl
ZE5hbWUgPSBicm93c2VyUHJlZml4ZXNbaWldICsgbmFtZTsKKyAgICB2YXIgZXh0ID0gZ2wuZ2V0
RXh0ZW5zaW9uKHByZWZpeGVkTmFtZSk7CisgICAgaWYgKGV4dCkgeworICAgICAgcmV0dXJuIGV4
dDsKKyAgICB9CisgIH0KK307CisKKwordmFyIHJlcGxhY2VSRSA9IC9cJFwoKFx3KylcKS9nOwor
CisvKioKKyAqIFJlcGxhY2VzIHN0cmluZ3Mgd2l0aCBwcm9wZXJ0eSB2YWx1ZXMuCisgKiBHaXZl
biBhIHN0cmluZyBsaWtlICJoZWxsbyAkKGZpcnN0KSAkKGxhc3QpIiBhbmQgYW4gb2JqZWN0Cisg
KiBsaWtlIHtmaXJzdDoiSm9obiIsIGxhc3Q6IlNtaXRoIn0gd2lsbCByZXR1cm4KKyAqICJoZWxs
byBKb2huIFNtaXRoIi4KKyAqIEBwYXJhbSB7c3RyaW5nfSBzdHIgU3RyaW5nIHRvIGRvIHJlcGxh
Y2VtZW50cyBpbgorICogQHBhcmFtIHsuLi59IDEgb3IgbW9yZSBvYmplY3RzIGNvbmFpbmluZyBw
cm9wZXJ0aWVzLgorICovCit2YXIgcmVwbGFjZVBhcmFtcyA9IGZ1bmN0aW9uKHN0cikgeworICB2
YXIgYXJncyA9IGFyZ3VtZW50czsKKyAgcmV0dXJuIHN0ci5yZXBsYWNlKHJlcGxhY2VSRSwgZnVu
Y3Rpb24oc3RyLCBwMSwgb2Zmc2V0LCBzKSB7CisgICAgZm9yICh2YXIgaWkgPSAxOyBpaSA8IGFy
Z3MubGVuZ3RoOyArK2lpKSB7CisgICAgICBpZiAoYXJnc1tpaV1bcDFdICE9PSB1bmRlZmluZWQp
IHsKKyAgICAgICAgcmV0dXJuIGFyZ3NbaWldW3AxXTsKKyAgICAgIH0KKyAgICB9CisgICAgdGhy
b3cgInVua25vd24gc3RyaW5nIHBhcmFtICciICsgcDEgKyAiJyI7CisgIH0pOworfTsKKworCisv
KioKKyAqIFByb3ZpZGVzIHJlcXVlc3RBbmltYXRpb25GcmFtZSBpbiBhIGNyb3NzIGJyb3dzZXIg
d2F5LgorICovCit2YXIgcmVxdWVzdEFuaW1GcmFtZUltcGxfOworCit2YXIgcmVxdWVzdEFuaW1G
cmFtZSA9IGZ1bmN0aW9uKGNhbGxiYWNrLCBlbGVtZW50KSB7CisgIGlmICghcmVxdWVzdEFuaW1G
cmFtZUltcGxfKSB7CisgICAgcmVxdWVzdEFuaW1GcmFtZUltcGxfID0gZnVuY3Rpb24oKSB7Cisg
ICAgICB2YXIgZnVuY3Rpb25OYW1lcyA9IFsKKyAgICAgICAgInJlcXVlc3RBbmltYXRpb25GcmFt
ZSIsCisgICAgICAgICJ3ZWJraXRSZXF1ZXN0QW5pbWF0aW9uRnJhbWUiLAorICAgICAgICAibW96
UmVxdWVzdEFuaW1hdGlvbkZyYW1lIiwKKyAgICAgICAgIm9SZXF1ZXN0QW5pbWF0aW9uRnJhbWUi
LAorICAgICAgICAibXNSZXF1ZXN0QW5pbWF0aW9uRnJhbWUiCisgICAgICBdOworICAgICAgZm9y
ICh2YXIgamogPSAwOyBqaiA8IGZ1bmN0aW9uTmFtZXMubGVuZ3RoOyArK2pqKSB7CisgICAgICAg
IHZhciBmdW5jdGlvbk5hbWUgPSBmdW5jdGlvbk5hbWVzW2pqXTsKKyAgICAgICAgaWYgKHdpbmRv
d1tmdW5jdGlvbk5hbWVdKSB7CisgICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uKG5hbWUpIHsKKyAg
ICAgICAgICAgIHJldHVybiBmdW5jdGlvbihjYWxsYmFjaywgZWxlbWVudCkgeworICAgICAgICAg
ICAgICByZXR1cm4gd2luZG93W25hbWVdLmNhbGwod2luZG93LCBjYWxsYmFjaywgZWxlbWVudCk7
CisgICAgICAgICAgICB9OworICAgICAgICAgIH0oZnVuY3Rpb25OYW1lKTsKKyAgICAgICAgfQor
ICAgICAgfQorICAgICAgcmV0dXJuIGZ1bmN0aW9uKGNhbGxiYWNrLCBlbGVtZW50KSB7CisgICAg
ICAgICAgIHJldHVybiB3aW5kb3cuc2V0VGltZW91dChjYWxsYmFjaywgMTAwMCAvIDcwKTsKKyAg
ICAgICAgfTsKKyAgICB9KCk7CisgIH0KKworICByZXR1cm4gcmVxdWVzdEFuaW1GcmFtZUltcGxf
KGNhbGxiYWNrLCBlbGVtZW50KTsKK307CisKKy8qKgorICogUHJvdmlkZXMgY2FuY2VsQW5pbWF0
aW9uRnJhbWUgaW4gYSBjcm9zcyBicm93c2VyIHdheS4KKyAqLwordmFyIGNhbmNlbEFuaW1GcmFt
ZSA9IChmdW5jdGlvbigpIHsKKyAgcmV0dXJuIHdpbmRvdy5jYW5jZWxBbmltYXRpb25GcmFtZSB8
fAorICAgICAgICAgd2luZG93LndlYmtpdENhbmNlbEFuaW1hdGlvbkZyYW1lIHx8CisgICAgICAg
ICB3aW5kb3cubW96Q2FuY2VsQW5pbWF0aW9uRnJhbWUgfHwKKyAgICAgICAgIHdpbmRvdy5vQ2Fu
Y2VsQW5pbWF0aW9uRnJhbWUgfHwKKyAgICAgICAgIHdpbmRvdy5tc0NhbmNlbEFuaW1hdGlvbkZy
YW1lIHx8CisgICAgICAgICB3aW5kb3cuY2xlYXJUaW1lb3V0OworfSkoKTsKKworLyoqCisgKiBX
YWl0cyBmb3IgdGhlIGJyb3dzZXIgdG8gY29tcG9zaXRlIHRoZSBjYW52YXMgYXNzb2NpYXRlZCB3
aXRoCisgKiB0aGUgV2ViR0wgY29udGV4dCBwYXNzZWQgaW4uCisgKi8KK3ZhciB3YWl0Rm9yQ29t
cG9zaXRlID0gZnVuY3Rpb24oZ2wsIGNhbGxiYWNrKSB7CisgIHZhciBmcmFtZXMgPSA1OworICB2
YXIgY291bnREb3duID0gZnVuY3Rpb24oKSB7CisgICAgaWYgKGZyYW1lcyA9PSAwKSB7CisgICAg
ICBjYWxsYmFjaygpOworICAgIH0gZWxzZSB7CisgICAgICAtLWZyYW1lczsKKyAgICAgIHJlcXVl
c3RBbmltRnJhbWUoY291bnREb3duKTsKKyAgICB9CisgIH07CisgIGNvdW50RG93bigpOworfTsK
KworcmV0dXJuIHsKKyAgYWRkU2hhZGVyU291cmNlOiBhZGRTaGFkZXJTb3VyY2UsCisgIGNhbmNl
bEFuaW1GcmFtZTogY2FuY2VsQW5pbUZyYW1lLAorICBjcmVhdGUzRENvbnRleHQ6IGNyZWF0ZTNE
Q29udGV4dCwKKyAgY3JlYXRlM0RDb250ZXh0V2l0aFdyYXBwZXJUaGF0VGhyb3dzT25HTEVycm9y
OgorICAgICAgY3JlYXRlM0RDb250ZXh0V2l0aFdyYXBwZXJUaGF0VGhyb3dzT25HTEVycm9yLAor
ICBjaGVja0NhbnZhczogY2hlY2tDYW52YXMsCisgIGNoZWNrQ2FudmFzUmVjdDogY2hlY2tDYW52
YXNSZWN0LAorICBjaGVja0NhbnZhc1JlY3RDb2xvcjogY2hlY2tDYW52YXNSZWN0Q29sb3IsCisg
IGNyZWF0ZUNvbG9yZWRUZXh0dXJlOiBjcmVhdGVDb2xvcmVkVGV4dHVyZSwKKyAgY3JlYXRlUHJv
Z3JhbTogY3JlYXRlUHJvZ3JhbSwKKyAgZHJhd1F1YWQ6IGRyYXdRdWFkLAorICBkcmF3SW5kZXhl
ZFF1YWQ6IGRyYXdJbmRleGVkUXVhZCwKKyAgZHJhd1VCeXRlQ29sb3JRdWFkOiBkcmF3VUJ5dGVD
b2xvclF1YWQsCisgIGRyYXdGbG9hdENvbG9yUXVhZDogZHJhd0Zsb2F0Q29sb3JRdWFkLAorICBl
bmRzV2l0aDogZW5kc1dpdGgsCisgIGZpbGxUZXh0dXJlOiBmaWxsVGV4dHVyZSwKKyAgZ2V0RXh0
ZW5zaW9uV2l0aEtub3duUHJlZml4ZXM6IGdldEV4dGVuc2lvbldpdGhLbm93blByZWZpeGVzLAor
ICBnZXRGaWxlTGlzdEFzeW5jOiBnZXRGaWxlTGlzdEFzeW5jLAorICBnZXRMYXN0RXJyb3I6IGdl
dExhc3RFcnJvciwKKyAgZ2V0U2NyaXB0OiBnZXRTY3JpcHQsCisgIGdldFN1cHBvcnRlZEV4dGVu
c2lvbldpdGhLbm93blByZWZpeGVzOiBnZXRTdXBwb3J0ZWRFeHRlbnNpb25XaXRoS25vd25QcmVm
aXhlcywKKyAgZ2V0VXJsQXJndW1lbnRzOiBnZXRVcmxBcmd1bWVudHMsCisgIGdldEF0dHJpYk1h
cDogZ2V0QXR0cmliTWFwLAorICBnZXRVbmlmb3JtTWFwOiBnZXRVbmlmb3JtTWFwLAorICBnbEVu
dW1Ub1N0cmluZzogZ2xFbnVtVG9TdHJpbmcsCisgIGdsRXJyb3JTaG91bGRCZTogZ2xFcnJvclNo
b3VsZEJlLAorICBoYXNBdHRyaWJ1dGVDYXNlSW5zZW5zaXRpdmU6IGhhc0F0dHJpYnV0ZUNhc2VJ
bnNlbnNpdGl2ZSwKKyAgaW5zZXJ0SW1hZ2U6IGluc2VydEltYWdlLAorICBsb2FkSW1hZ2VBc3lu
YzogbG9hZEltYWdlQXN5bmMsCisgIGxvYWRJbWFnZXNBc3luYzogbG9hZEltYWdlc0FzeW5jLAor
ICBsb2FkUHJvZ3JhbTogbG9hZFByb2dyYW0sCisgIGxvYWRQcm9ncmFtRnJvbUZpbGU6IGxvYWRQ
cm9ncmFtRnJvbUZpbGUsCisgIGxvYWRQcm9ncmFtRnJvbVNjcmlwdDogbG9hZFByb2dyYW1Gcm9t
U2NyaXB0LAorICBsb2FkUHJvZ3JhbUZyb21TY3JpcHRFeHBlY3RFcnJvcjogbG9hZFByb2dyYW1G
cm9tU2NyaXB0RXhwZWN0RXJyb3IsCisgIGxvYWRTaGFkZXI6IGxvYWRTaGFkZXIsCisgIGxvYWRT
aGFkZXJGcm9tRmlsZTogbG9hZFNoYWRlckZyb21GaWxlLAorICBsb2FkU2hhZGVyRnJvbVNjcmlw
dDogbG9hZFNoYWRlckZyb21TY3JpcHQsCisgIGxvYWRTdGFuZGFyZFByb2dyYW06IGxvYWRTdGFu
ZGFyZFByb2dyYW0sCisgIGxvYWRTdGFuZGFyZFZlcnRleFNoYWRlcjogbG9hZFN0YW5kYXJkVmVy
dGV4U2hhZGVyLAorICBsb2FkU3RhbmRhcmRGcmFnbWVudFNoYWRlcjogbG9hZFN0YW5kYXJkRnJh
Z21lbnRTaGFkZXIsCisgIGxvYWRUZXh0RmlsZUFzeW5jOiBsb2FkVGV4dEZpbGVBc3luYywKKyAg
bG9hZFRleHR1cmU6IGxvYWRUZXh0dXJlLAorICBsb2c6IGxvZywKKyAgbG9nZ2luZ09mZjogbG9n
Z2luZ09mZiwKKyAgbWFrZUltYWdlOiBtYWtlSW1hZ2UsCisgIGVycm9yOiBlcnJvciwKKyAgc2hh
bGxvd0NvcHlPYmplY3Q6IHNoYWxsb3dDb3B5T2JqZWN0LAorICBzZXR1cENvbG9yUXVhZDogc2V0
dXBDb2xvclF1YWQsCisgIHNldHVwUHJvZ3JhbTogc2V0dXBQcm9ncmFtLAorICBzZXR1cFF1YWQ6
IHNldHVwUXVhZCwKKyAgc2V0dXBRdWFkV2l0aE9wdGlvbnM6IHNldHVwUXVhZFdpdGhPcHRpb25z
LAorICBzZXR1cFNpbXBsZUNvbG9yRnJhZ21lbnRTaGFkZXI6IHNldHVwU2ltcGxlQ29sb3JGcmFn
bWVudFNoYWRlciwKKyAgc2V0dXBTaW1wbGVDb2xvclZlcnRleFNoYWRlcjogc2V0dXBTaW1wbGVD
b2xvclZlcnRleFNoYWRlciwKKyAgc2V0dXBTaW1wbGVDb2xvclByb2dyYW06IHNldHVwU2ltcGxl
Q29sb3JQcm9ncmFtLAorICBzZXR1cFNpbXBsZVRleHR1cmVGcmFnbWVudFNoYWRlcjogc2V0dXBT
aW1wbGVUZXh0dXJlRnJhZ21lbnRTaGFkZXIsCisgIHNldHVwU2ltcGxlVGV4dHVyZVByb2dyYW06
IHNldHVwU2ltcGxlVGV4dHVyZVByb2dyYW0sCisgIHNldHVwU2ltcGxlVGV4dHVyZVZlcnRleFNo
YWRlcjogc2V0dXBTaW1wbGVUZXh0dXJlVmVydGV4U2hhZGVyLAorICBzZXR1cFNpbXBsZVZlcnRl
eENvbG9yRnJhZ21lbnRTaGFkZXI6IHNldHVwU2ltcGxlVmVydGV4Q29sb3JGcmFnbWVudFNoYWRl
ciwKKyAgc2V0dXBTaW1wbGVWZXJ0ZXhDb2xvclByb2dyYW06IHNldHVwU2ltcGxlVmVydGV4Q29s
b3JQcm9ncmFtLAorICBzZXR1cFNpbXBsZVZlcnRleENvbG9yVmVydGV4U2hhZGVyOiBzZXR1cFNp
bXBsZVZlcnRleENvbG9yVmVydGV4U2hhZGVyLAorICBzZXR1cE5vVGV4Q29vcmRUZXh0dXJlUHJv
Z3JhbTogc2V0dXBOb1RleENvb3JkVGV4dHVyZVByb2dyYW0sCisgIHNldHVwTm9UZXhDb29yZFRl
eHR1cmVWZXJ0ZXhTaGFkZXI6IHNldHVwTm9UZXhDb29yZFRleHR1cmVWZXJ0ZXhTaGFkZXIsCisg
IHNldHVwVGV4dHVyZWRRdWFkOiBzZXR1cFRleHR1cmVkUXVhZCwKKyAgc2V0dXBUZXh0dXJlZFF1
YWRXaXRoVGV4Q29vcmRzOiBzZXR1cFRleHR1cmVkUXVhZFdpdGhUZXhDb29yZHMsCisgIHNldHVw
VW5pdFF1YWQ6IHNldHVwVW5pdFF1YWQsCisgIHNldHVwVW5pdFF1YWRXaXRoVGV4Q29vcmRzOiBz
ZXR1cFVuaXRRdWFkV2l0aFRleENvb3JkcywKKyAgc2V0RmxvYXREcmF3Q29sb3I6IHNldEZsb2F0
RHJhd0NvbG9yLAorICBzZXRVQnl0ZURyYXdDb2xvcjogc2V0VUJ5dGVEcmF3Q29sb3IsCisgIHN0
YXJ0c1dpdGg6IHN0YXJ0c1dpdGgsCisgIHNob3VsZEdlbmVyYXRlR0xFcnJvcjogc2hvdWxkR2Vu
ZXJhdGVHTEVycm9yLAorICByZWFkRmlsZTogcmVhZEZpbGUsCisgIHJlYWRGaWxlTGlzdDogcmVh
ZEZpbGVMaXN0LAorICByZXBsYWNlUGFyYW1zOiByZXBsYWNlUGFyYW1zLAorICByZXF1ZXN0QW5p
bUZyYW1lOiByZXF1ZXN0QW5pbUZyYW1lLAorICB3YWl0Rm9yQ29tcG9zaXRlOiB3YWl0Rm9yQ29t
cG9zaXRlLAorCisgIG5vbmU6IGZhbHNlCit9OworCit9KCkpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVzb3Vy
Y2VzL3dlYmdsLXRlc3QuanMgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9jb25mb3JtYW5jZS9yZXNvdXJjZXMvd2ViZ2wtdGVzdC5qcwpuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41
MTYyNDRlMzk1ZjI3N2VjYjBmNzUyNzU3YzM4MGMxMTI4MjYyOTVhCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFu
Y2UvcmVzb3VyY2VzL3dlYmdsLXRlc3QuanMKQEAgLTAsMCArMSwxMDYgQEAKKy8qCisqKiBDb3B5
cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24g
aXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmlu
ZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRh
dGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFs
cyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0
aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3Ry
aWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBh
bmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlz
aGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6Cisq
KgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3Rp
Y2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9y
dGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURF
RCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJ
TVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisq
KiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBO
T05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZ
UklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RI
RVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQg
T1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEgg
VEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFU
RVJJQUxTLgorKi8KKworZnVuY3Rpb24gd2ViZ2xUZXN0TG9nKG1zZykgeworICBpZiAod2luZG93
LmNvbnNvbGUgJiYgd2luZG93LmNvbnNvbGUubG9nKSB7CisgICAgd2luZG93LmNvbnNvbGUubG9n
KG1zZyk7CisgIH0KKyAgaWYgKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb25zb2xlIikpIHsK
KyAgICB2YXIgbG9nID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnNvbGUiKTsKKyAgICBs
b2cuaW5uZXJIVE1MICs9IG1zZyArICI8YnI+IjsKKyAgfQorfQorCitmdW5jdGlvbiBnZXRHTEVy
cm9yQXNTdHJpbmcoY3R4LCBlcnIpIHsKKyAgaWYgKGVyciA9PT0gY3R4Lk5PX0VSUk9SKSB7Cisg
ICAgcmV0dXJuICJOT19FUlJPUiI7CisgIH0KKyAgZm9yICh2YXIgbmFtZSBpbiBjdHgpIHsKKyAg
ICBpZiAoY3R4W25hbWVdID09PSBlcnIpIHsKKyAgICAgIHJldHVybiBuYW1lOworICAgIH0KKyAg
fQorICByZXR1cm4gIjB4IiArIGVyci50b1N0cmluZygxNik7Cit9CisKKy8vIFBhc3MgdW5kZWZp
bmVkIGZvciBnbEVycm9yIHRvIHRlc3QgdGhhdCBpdCBhdCBsZWFzdCB0aHJvd3Mgc29tZSBlcnJv
cgorZnVuY3Rpb24gc2hvdWxkR2VuZXJhdGVHTEVycm9yKGN0eCwgZ2xFcnJvcnMsIGV2YWxTdHIp
IHsKKyAgaWYgKCFnbEVycm9ycy5sZW5ndGgpIHsKKyAgICBnbEVycm9ycyA9IFtnbEVycm9yc107
CisgIH0KKyAgdmFyIGV4Y2VwdGlvbjsKKyAgdHJ5IHsKKyAgICBldmFsKGV2YWxTdHIpOworICB9
IGNhdGNoIChlKSB7CisgICAgZXhjZXB0aW9uID0gZTsKKyAgfQorICBpZiAoZXhjZXB0aW9uKSB7
CisgICAgdGVzdEZhaWxlZChldmFsU3RyICsgIiB0aHJldyBleGNlcHRpb24gIiArIGV4Y2VwdGlv
bik7CisgIH0gZWxzZSB7CisgICAgdmFyIGVyciA9IGN0eC5nZXRFcnJvcigpOworICAgIHZhciBl
cnJTdHJzID0gW107CisgICAgZm9yICh2YXIgaWkgPSAwOyBpaSA8IGdsRXJyb3JzLmxlbmd0aDsg
KytpaSkgeworICAgICAgZXJyU3Rycy5wdXNoKGdldEdMRXJyb3JBc1N0cmluZyhjdHgsIGdsRXJy
b3JzW2lpXSkpOworICAgIH0KKyAgICB2YXIgZXhwZWN0ZWQgPSBlcnJTdHJzLmpvaW4oIiBvciAi
KTsKKyAgICBpZiAoZ2xFcnJvcnMuaW5kZXhPZihlcnIpIDwgMCkgeworICAgICAgdGVzdEZhaWxl
ZChldmFsU3RyICsgIiBleHBlY3RlZDogIiArIGV4cGVjdGVkICsgIi4gV2FzICIgKyBnZXRHTEVy
cm9yQXNTdHJpbmcoY3R4LCBlcnIpICsgIi4iKTsKKyAgICB9IGVsc2UgeworICAgICAgdmFyIG1z
ZyA9IChnbEVycm9ycy5sZW5ndGggPT0gMSkgPyAiIGdlbmVyYXRlZCBleHBlY3RlZCBHTCBlcnJv
cjogIiA6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIgZ2VuZXJh
dGVkIG9uZSBvZiBleHBlY3RlZCBHTCBlcnJvcnM6ICI7CisgICAgICB0ZXN0UGFzc2VkKGV2YWxT
dHIgKyBtc2cgKyBleHBlY3RlZCArICIuIik7CisgICAgfQorICB9Cit9CisKKy8qKgorICogVGVz
dHMgdGhhdCB0aGUgZmlyc3QgZXJyb3IgR0wgcmV0dXJucyBpcyB0aGUgc3BlY2lmaWVkIGVycm9y
LgorICogQHBhcmFtIHshV2ViR0xDb250ZXh0fSBnbCBUaGUgV2ViR0xDb250ZXh0IHRvIHVzZS4K
KyAqIEBwYXJhbSB7bnVtYmVyfCFBcnJheS48bnVtYmVyPn0gZ2xFcnJvciBUaGUgZXhwZWN0ZWQg
Z2wKKyAqICAgICAgICBlcnJvci4gTXVsdGlwbGUgZXJyb3JzIGNhbiBiZSBwYXNzZWQgaW4gdXNp
bmcgYW4KKyAqICAgICAgICBhcnJheS4KKyAqIEBwYXJhbSB7c3RyaW5nfSBvcHRfbXNnIE9wdGlv
bmFsIGFkZGl0aW9uYWwgbWVzc2FnZS4KKyAqLworZnVuY3Rpb24gZ2xFcnJvclNob3VsZEJlKGds
LCBnbEVycm9ycywgb3B0X21zZykgeworICBpZiAoIWdsRXJyb3JzLmxlbmd0aCkgeworICAgIGds
RXJyb3JzID0gW2dsRXJyb3JzXTsKKyAgfQorICBvcHRfbXNnID0gb3B0X21zZyB8fCAiIjsKKyAg
dmFyIGVyciA9IGdsLmdldEVycm9yKCk7CisgIHZhciBuZHggPSBnbEVycm9ycy5pbmRleE9mKGVy
cik7CisgIHZhciBlcnJTdHJzID0gW107CisgIGZvciAodmFyIGlpID0gMDsgaWkgPCBnbEVycm9y
cy5sZW5ndGg7ICsraWkpIHsKKyAgICBlcnJTdHJzLnB1c2goZ2V0R0xFcnJvckFzU3RyaW5nKGds
LCBnbEVycm9yc1tpaV0pKTsKKyAgfQorICB2YXIgZXhwZWN0ZWQgPSBlcnJTdHJzLmpvaW4oIiBv
ciAiKTsKKyAgaWYgKG5keCA8IDApIHsKKyAgICB2YXIgbXNnID0gImdldEVycm9yIGV4cGVjdGVk
IiArICgoZ2xFcnJvcnMubGVuZ3RoID4gMSkgPyAiIG9uZSBvZjogIiA6ICI6ICIpOworICAgIHRl
c3RGYWlsZWQobXNnICsgZXhwZWN0ZWQgKyAgIi4gV2FzICIgKyBnZXRHTEVycm9yQXNTdHJpbmco
Z2wsIGVycikgKyAiIDogIiArIG9wdF9tc2cpOworICB9IGVsc2UgeworICAgIHZhciBtc2cgPSAi
Z2V0RXJyb3Igd2FzICIgKyAoKGdsRXJyb3JzLmxlbmd0aCA+IDEpID8gIm9uZSBvZjogIiA6ICJl
eHBlY3RlZCB2YWx1ZTogIik7CisgICAgdGVzdFBhc3NlZChtc2cgKyBleHBlY3RlZCArICIgOiAi
ICsgb3B0X21zZyk7CisgIH0KK307CisKKworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJn
bC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZXNvdXJjZXMvemVyby1h
bHBoYS5wbmcgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9j
b25mb3JtYW5jZS9yZXNvdXJjZXMvemVyby1hbHBoYS5wbmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTU1NjMwYzEx
NjAzOGY5MGVmNzJjZGQwMmI2NjRmOGYwZGFhMDZlMwpHSVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwg
ODkKemNtZUFTQE4/KG9sSHlgdVZCcSFpYTB2cF4lcGxDYzF8LThZdyhiV34zWjU+R0FyKjV9UGoy
TDhGeUxTfHhQMUVJCm1yOy15SGx9dzJyXjBvXn05Yzc+RXopPiQpYUIzRyZFclh9NHBVWE9AZ2VD
eG0mbHN1egoKbGl0ZXJhbCAwCkhjbVY/ZDAwMDAxCgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
d2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvcmVzb3VyY2VzL2Rlc2t0b3AtZ2wtY29u
c3RhbnRzLmpzIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMv
cmVzb3VyY2VzL2Rlc2t0b3AtZ2wtY29uc3RhbnRzLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZiZWEwYWNiNGU0
ZmE4OGZhMTY4MzRkMjRjNDBiMDljMjdlNDc0YzYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9yZXNvdXJjZXMvZGVza3RvcC1n
bC1jb25zdGFudHMuanMKQEAgLTAsMCArMSwyNjQ1IEBACisvKgorKiogQ29weXJpZ2h0IChjKSAy
MDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBn
cmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29w
eSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMg
KHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCBy
ZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0
byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJs
aWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBw
ZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBz
bywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBh
Ym92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJl
IGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRo
ZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwg
V0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5D
TFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRB
QklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VN
RU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERF
UlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lT
RSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFU
RVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyov
CisKKy8vIERlZmluZXMgYSBidW5jaCBvZiBEZXNrdG9wR0wgY29uc3RhbnRzIHNvIHdlIGNhbiBt
YWtlIHN1cmUgV2ViR0wKKy8vIGltcGxlbWVudGF0aW9ucyBkaXNhbGxvdyB0aGVtLgorCit2YXIg
ZGVza3RvcEdMID0geworICAnTUlOJzogMHg4MDA3LAorICAnTUFYJzogMHg4MDA4LAorICAnUVVB
RFMnOiAweDAwMDcsCisgICdRVUFEX1NUUklQJzogMHgwMDA4LAorICAnUE9MWUdPTic6IDB4MDAw
OSwKKyAgJzEnOiAweDAwMDEsCisgICcyJzogMHgwMDAyLAorICAnMyc6IDB4MDAwMywKKyAgJzQn
OiAweDAwMDQsCisgICdTVEFUSUNfUkVBRCc6IDB4ODhFNSwKKyAgJ0NMSVBfUExBTkUwJzogMHgz
MDAwLAorICAnUEVSU1BFQ1RJVkVfQ09SUkVDVElPTl9ISU5UJzogMHgwQzUwLAorICAnQUNDVU1f
QlVGRkVSX0JJVCc6IDB4MDIwMCwKKyAgJ1JHQjQnOiAweDgwNEYsCisgICdSR0I1JzogMHg4MDUw
LAorICAnUkdCOCc6IDB4ODA1MSwKKyAgJ1JHQjEwJzogMHg4MDUyLAorICAnUkdCMTInOiAweDgw
NTMsCisgICdSR0IxNic6IDB4ODA1NCwKKyAgJ1JHQkEyJzogMHg4MDU1LAorICAnUkdCQTQnOiAw
eDgwNTYsCisgICdSR0I1X0ExJzogMHg4MDU3LAorICAnUkdCQTgnOiAweDgwNTgsCisgICdSR0Ix
MF9BMic6IDB4ODA1OSwKKyAgJ1JHQkExMic6IDB4ODA1QSwKKyAgJ1JHQkExNic6IDB4ODA1QiwK
KyAgJ1NNT09USF9QT0lOVF9TSVpFX1JBTkdFJzogMHgwQjEyLAorICAnU01PT1RIX1BPSU5UX1NJ
WkVfR1JBTlVMQVJJVFknOiAweDBCMTMsCisgICdTTU9PVEhfTElORV9XSURUSF9SQU5HRSc6IDB4
MEIyMiwKKyAgJ1NNT09USF9MSU5FX1dJRFRIX0dSQU5VTEFSSVRZJzogMHgwQjIzLAorICAnVU5T
SUdORURfQllURV8zXzNfMic6IDB4ODAzMiwKKyAgJ1VOU0lHTkVEX1NIT1JUXzRfNF80XzQnOiAw
eDgwMzMsCisgICdVTlNJR05FRF9TSE9SVF81XzVfNV8xJzogMHg4MDM0LAorICAnVU5TSUdORURf
SU5UXzhfOF84XzgnOiAweDgwMzUsCisgICdVTlNJR05FRF9JTlRfMTBfMTBfMTBfMic6IDB4ODAz
NiwKKyAgJ1JFU0NBTEVfTk9STUFMJzogMHg4MDNBLAorICAnVEVYVFVSRV9CSU5ESU5HXzNEJzog
MHg4MDZBLAorICAnUEFDS19TS0lQX0lNQUdFUyc6IDB4ODA2QiwKKyAgJ1BBQ0tfSU1BR0VfSEVJ
R0hUJzogMHg4MDZDLAorICAnVU5QQUNLX1NLSVBfSU1BR0VTJzogMHg4MDZELAorICAnVU5QQUNL
X0lNQUdFX0hFSUdIVCc6IDB4ODA2RSwKKyAgJ1RFWFRVUkVfM0QnOiAweDgwNkYsCisgICdQUk9Y
WV9URVhUVVJFXzNEJzogMHg4MDcwLAorICAnVEVYVFVSRV9ERVBUSCc6IDB4ODA3MSwKKyAgJ1RF
WFRVUkVfV1JBUF9SJzogMHg4MDcyLAorICAnTUFYXzNEX1RFWFRVUkVfU0laRSc6IDB4ODA3MywK
KyAgJ0JHUic6IDB4ODBFMCwKKyAgJ0JHUkEnOiAweDgwRTEsCisgICdNQVhfRUxFTUVOVFNfVkVS
VElDRVMnOiAweDgwRTgsCisgICdNQVhfRUxFTUVOVFNfSU5ESUNFUyc6IDB4ODBFOSwKKyAgJ0NM
QU1QX1RPX0VER0UnOiAweDgxMkYsCisgICdURVhUVVJFX01JTl9MT0QnOiAweDgxM0EsCisgICdU
RVhUVVJFX01BWF9MT0QnOiAweDgxM0IsCisgICdURVhUVVJFX0JBU0VfTEVWRUwnOiAweDgxM0Ms
CisgICdURVhUVVJFX01BWF9MRVZFTCc6IDB4ODEzRCwKKyAgJ0xJR0hUX01PREVMX0NPTE9SX0NP
TlRST0wnOiAweDgxRjgsCisgICdTSU5HTEVfQ09MT1InOiAweDgxRjksCisgICdTRVBBUkFURV9T
UEVDVUxBUl9DT0xPUic6IDB4ODFGQSwKKyAgJ1VOU0lHTkVEX0JZVEVfMl8zXzNfUkVWJzogMHg4
MzYyLAorICAnVU5TSUdORURfU0hPUlRfNV82XzUnOiAweDgzNjMsCisgICdVTlNJR05FRF9TSE9S
VF81XzZfNV9SRVYnOiAweDgzNjQsCisgICdVTlNJR05FRF9TSE9SVF80XzRfNF80X1JFVic6IDB4
ODM2NSwKKyAgJ1VOU0lHTkVEX1NIT1JUXzFfNV81XzVfUkVWJzogMHg4MzY2LAorICAnVU5TSUdO
RURfSU5UXzhfOF84XzhfUkVWJzogMHg4MzY3LAorICAnVU5TSUdORURfSU5UXzJfMTBfMTBfMTBf
UkVWJzogMHg4MzY4LAorICAnQUxJQVNFRF9QT0lOVF9TSVpFX1JBTkdFJzogMHg4NDZELAorICAn
QUxJQVNFRF9MSU5FX1dJRFRIX1JBTkdFJzogMHg4NDZFLAorICAnTVVMVElTQU1QTEUnOiAweDgw
OUQsCisgICdTQU1QTEVfQUxQSEFfVE9fQ09WRVJBR0UnOiAweDgwOUUsCisgICdTQU1QTEVfQUxQ
SEFfVE9fT05FJzogMHg4MDlGLAorICAnU0FNUExFX0NPVkVSQUdFJzogMHg4MEEwLAorICAnU0FN
UExFX0JVRkZFUlMnOiAweDgwQTgsCisgICdTQU1QTEVTJzogMHg4MEE5LAorICAnU0FNUExFX0NP
VkVSQUdFX1ZBTFVFJzogMHg4MEFBLAorICAnU0FNUExFX0NPVkVSQUdFX0lOVkVSVCc6IDB4ODBB
QiwKKyAgJ0NMQU1QX1RPX0JPUkRFUic6IDB4ODEyRCwKKyAgJ1RFWFRVUkUwJzogMHg4NEMwLAor
ICAnVEVYVFVSRTEnOiAweDg0QzEsCisgICdURVhUVVJFMic6IDB4ODRDMiwKKyAgJ1RFWFRVUkUz
JzogMHg4NEMzLAorICAnVEVYVFVSRTQnOiAweDg0QzQsCisgICdURVhUVVJFNSc6IDB4ODRDNSwK
KyAgJ1RFWFRVUkU2JzogMHg4NEM2LAorICAnVEVYVFVSRTcnOiAweDg0QzcsCisgICdURVhUVVJF
OCc6IDB4ODRDOCwKKyAgJ1RFWFRVUkU5JzogMHg4NEM5LAorICAnVEVYVFVSRTEwJzogMHg4NENB
LAorICAnVEVYVFVSRTExJzogMHg4NENCLAorICAnVEVYVFVSRTEyJzogMHg4NENDLAorICAnVEVY
VFVSRTEzJzogMHg4NENELAorICAnVEVYVFVSRTE0JzogMHg4NENFLAorICAnVEVYVFVSRTE1Jzog
MHg4NENGLAorICAnVEVYVFVSRTE2JzogMHg4NEQwLAorICAnVEVYVFVSRTE3JzogMHg4NEQxLAor
ICAnVEVYVFVSRTE4JzogMHg4NEQyLAorICAnVEVYVFVSRTE5JzogMHg4NEQzLAorICAnVEVYVFVS
RTIwJzogMHg4NEQ0LAorICAnVEVYVFVSRTIxJzogMHg4NEQ1LAorICAnVEVYVFVSRTIyJzogMHg4
NEQ2LAorICAnVEVYVFVSRTIzJzogMHg4NEQ3LAorICAnVEVYVFVSRTI0JzogMHg4NEQ4LAorICAn
VEVYVFVSRTI1JzogMHg4NEQ5LAorICAnVEVYVFVSRTI2JzogMHg4NERBLAorICAnVEVYVFVSRTI3
JzogMHg4NERCLAorICAnVEVYVFVSRTI4JzogMHg4NERDLAorICAnVEVYVFVSRTI5JzogMHg4NERE
LAorICAnVEVYVFVSRTMwJzogMHg4NERFLAorICAnVEVYVFVSRTMxJzogMHg4NERGLAorICAnQUNU
SVZFX1RFWFRVUkUnOiAweDg0RTAsCisgICdDTElFTlRfQUNUSVZFX1RFWFRVUkUnOiAweDg0RTEs
CisgICdNQVhfVEVYVFVSRV9VTklUUyc6IDB4ODRFMiwKKyAgJ1RSQU5TUE9TRV9NT0RFTFZJRVdf
TUFUUklYJzogMHg4NEUzLAorICAnVFJBTlNQT1NFX1BST0pFQ1RJT05fTUFUUklYJzogMHg4NEU0
LAorICAnVFJBTlNQT1NFX1RFWFRVUkVfTUFUUklYJzogMHg4NEU1LAorICAnVFJBTlNQT1NFX0NP
TE9SX01BVFJJWCc6IDB4ODRFNiwKKyAgJ1NVQlRSQUNUJzogMHg4NEU3LAorICAnQ09NUFJFU1NF
RF9BTFBIQSc6IDB4ODRFOSwKKyAgJ0NPTVBSRVNTRURfTFVNSU5BTkNFJzogMHg4NEVBLAorICAn
Q09NUFJFU1NFRF9MVU1JTkFOQ0VfQUxQSEEnOiAweDg0RUIsCisgICdDT01QUkVTU0VEX0lOVEVO
U0lUWSc6IDB4ODRFQywKKyAgJ0NPTVBSRVNTRURfUkdCJzogMHg4NEVELAorICAnQ09NUFJFU1NF
RF9SR0JBJzogMHg4NEVFLAorICAnVEVYVFVSRV9DT01QUkVTU0lPTl9ISU5UJzogMHg4NEVGLAor
ICAnTk9STUFMX01BUCc6IDB4ODUxMSwKKyAgJ1JFRkxFQ1RJT05fTUFQJzogMHg4NTEyLAorICAn
VEVYVFVSRV9DVUJFX01BUCc6IDB4ODUxMywKKyAgJ1RFWFRVUkVfQklORElOR19DVUJFX01BUCc6
IDB4ODUxNCwKKyAgJ1RFWFRVUkVfQ1VCRV9NQVBfUE9TSVRJVkVfWCc6IDB4ODUxNSwKKyAgJ1RF
WFRVUkVfQ1VCRV9NQVBfTkVHQVRJVkVfWCc6IDB4ODUxNiwKKyAgJ1RFWFRVUkVfQ1VCRV9NQVBf
UE9TSVRJVkVfWSc6IDB4ODUxNywKKyAgJ1RFWFRVUkVfQ1VCRV9NQVBfTkVHQVRJVkVfWSc6IDB4
ODUxOCwKKyAgJ1RFWFRVUkVfQ1VCRV9NQVBfUE9TSVRJVkVfWic6IDB4ODUxOSwKKyAgJ1RFWFRV
UkVfQ1VCRV9NQVBfTkVHQVRJVkVfWic6IDB4ODUxQSwKKyAgJ1BST1hZX1RFWFRVUkVfQ1VCRV9N
QVAnOiAweDg1MUIsCisgICdNQVhfQ1VCRV9NQVBfVEVYVFVSRV9TSVpFJzogMHg4NTFDLAorICAn
Q09NQklORSc6IDB4ODU3MCwKKyAgJ0NPTUJJTkVfUkdCJzogMHg4NTcxLAorICAnQ09NQklORV9B
TFBIQSc6IDB4ODU3MiwKKyAgJ1JHQl9TQ0FMRSc6IDB4ODU3MywKKyAgJ0FERF9TSUdORUQnOiAw
eDg1NzQsCisgICdJTlRFUlBPTEFURSc6IDB4ODU3NSwKKyAgJ0NPTlNUQU5UJzogMHg4NTc2LAor
ICAnUFJJTUFSWV9DT0xPUic6IDB4ODU3NywKKyAgJ1BSRVZJT1VTJzogMHg4NTc4LAorICAnU09V
UkNFMF9SR0InOiAweDg1ODAsCisgICdTT1VSQ0UxX1JHQic6IDB4ODU4MSwKKyAgJ1NPVVJDRTJf
UkdCJzogMHg4NTgyLAorICAnU09VUkNFMF9BTFBIQSc6IDB4ODU4OCwKKyAgJ1NPVVJDRTFfQUxQ
SEEnOiAweDg1ODksCisgICdTT1VSQ0UyX0FMUEhBJzogMHg4NThBLAorICAnT1BFUkFORDBfUkdC
JzogMHg4NTkwLAorICAnT1BFUkFORDFfUkdCJzogMHg4NTkxLAorICAnT1BFUkFORDJfUkdCJzog
MHg4NTkyLAorICAnT1BFUkFORDBfQUxQSEEnOiAweDg1OTgsCisgICdPUEVSQU5EMV9BTFBIQSc6
IDB4ODU5OSwKKyAgJ09QRVJBTkQyX0FMUEhBJzogMHg4NTlBLAorICAnVEVYVFVSRV9DT01QUkVT
U0VEX0lNQUdFX1NJWkUnOiAweDg2QTAsCisgICdURVhUVVJFX0NPTVBSRVNTRUQnOiAweDg2QTEs
CisgICdOVU1fQ09NUFJFU1NFRF9URVhUVVJFX0ZPUk1BVFMnOiAweDg2QTIsCisgICdDT01QUkVT
U0VEX1RFWFRVUkVfRk9STUFUUyc6IDB4ODZBMywKKyAgJ0RPVDNfUkdCJzogMHg4NkFFLAorICAn
RE9UM19SR0JBJzogMHg4NkFGLAorICAnTVVMVElTQU1QTEVfQklUJzogMHgyMDAwMDAwMCwKKyAg
J0JMRU5EX0RTVF9SR0InOiAweDgwQzgsCisgICdCTEVORF9TUkNfUkdCJzogMHg4MEM5LAorICAn
QkxFTkRfRFNUX0FMUEhBJzogMHg4MENBLAorICAnQkxFTkRfU1JDX0FMUEhBJzogMHg4MENCLAor
ICAnUE9JTlRfU0laRV9NSU4nOiAweDgxMjYsCisgICdQT0lOVF9TSVpFX01BWCc6IDB4ODEyNywK
KyAgJ1BPSU5UX0ZBREVfVEhSRVNIT0xEX1NJWkUnOiAweDgxMjgsCisgICdQT0lOVF9ESVNUQU5D
RV9BVFRFTlVBVElPTic6IDB4ODEyOSwKKyAgJ0dFTkVSQVRFX01JUE1BUCc6IDB4ODE5MSwKKyAg
J0dFTkVSQVRFX01JUE1BUF9ISU5UJzogMHg4MTkyLAorICAnREVQVEhfQ09NUE9ORU5UMTYnOiAw
eDgxQTUsCisgICdERVBUSF9DT01QT05FTlQyNCc6IDB4ODFBNiwKKyAgJ0RFUFRIX0NPTVBPTkVO
VDMyJzogMHg4MUE3LAorICAnTUlSUk9SRURfUkVQRUFUJzogMHg4MzcwLAorICAnRk9HX0NPT1JE
SU5BVEVfU09VUkNFJzogMHg4NDUwLAorICAnRk9HX0NPT1JESU5BVEUnOiAweDg0NTEsCisgICdG
UkFHTUVOVF9ERVBUSCc6IDB4ODQ1MiwKKyAgJ0NVUlJFTlRfRk9HX0NPT1JESU5BVEUnOiAweDg0
NTMsCisgICdGT0dfQ09PUkRJTkFURV9BUlJBWV9UWVBFJzogMHg4NDU0LAorICAnRk9HX0NPT1JE
SU5BVEVfQVJSQVlfU1RSSURFJzogMHg4NDU1LAorICAnRk9HX0NPT1JESU5BVEVfQVJSQVlfUE9J
TlRFUic6IDB4ODQ1NiwKKyAgJ0ZPR19DT09SRElOQVRFX0FSUkFZJzogMHg4NDU3LAorICAnQ09M
T1JfU1VNJzogMHg4NDU4LAorICAnQ1VSUkVOVF9TRUNPTkRBUllfQ09MT1InOiAweDg0NTksCisg
ICdTRUNPTkRBUllfQ09MT1JfQVJSQVlfU0laRSc6IDB4ODQ1QSwKKyAgJ1NFQ09OREFSWV9DT0xP
Ul9BUlJBWV9UWVBFJzogMHg4NDVCLAorICAnU0VDT05EQVJZX0NPTE9SX0FSUkFZX1NUUklERSc6
IDB4ODQ1QywKKyAgJ1NFQ09OREFSWV9DT0xPUl9BUlJBWV9QT0lOVEVSJzogMHg4NDVELAorICAn
U0VDT05EQVJZX0NPTE9SX0FSUkFZJzogMHg4NDVFLAorICAnTUFYX1RFWFRVUkVfTE9EX0JJQVMn
OiAweDg0RkQsCisgICdURVhUVVJFX0ZJTFRFUl9DT05UUk9MJzogMHg4NTAwLAorICAnVEVYVFVS
RV9MT0RfQklBUyc6IDB4ODUwMSwKKyAgJ0lOQ1JfV1JBUCc6IDB4ODUwNywKKyAgJ0RFQ1JfV1JB
UCc6IDB4ODUwOCwKKyAgJ1RFWFRVUkVfREVQVEhfU0laRSc6IDB4ODg0QSwKKyAgJ0RFUFRIX1RF
WFRVUkVfTU9ERSc6IDB4ODg0QiwKKyAgJ1RFWFRVUkVfQ09NUEFSRV9NT0RFJzogMHg4ODRDLAor
ICAnVEVYVFVSRV9DT01QQVJFX0ZVTkMnOiAweDg4NEQsCisgICdDT01QQVJFX1JfVE9fVEVYVFVS
RSc6IDB4ODg0RSwKKyAgJ0JVRkZFUl9TSVpFJzogMHg4NzY0LAorICAnQlVGRkVSX1VTQUdFJzog
MHg4NzY1LAorICAnUVVFUllfQ09VTlRFUl9CSVRTJzogMHg4ODY0LAorICAnQ1VSUkVOVF9RVUVS
WSc6IDB4ODg2NSwKKyAgJ1FVRVJZX1JFU1VMVCc6IDB4ODg2NiwKKyAgJ1FVRVJZX1JFU1VMVF9B
VkFJTEFCTEUnOiAweDg4NjcsCisgICdBUlJBWV9CVUZGRVInOiAweDg4OTIsCisgICdFTEVNRU5U
X0FSUkFZX0JVRkZFUic6IDB4ODg5MywKKyAgJ0FSUkFZX0JVRkZFUl9CSU5ESU5HJzogMHg4ODk0
LAorICAnRUxFTUVOVF9BUlJBWV9CVUZGRVJfQklORElORyc6IDB4ODg5NSwKKyAgJ1ZFUlRFWF9B
UlJBWV9CVUZGRVJfQklORElORyc6IDB4ODg5NiwKKyAgJ05PUk1BTF9BUlJBWV9CVUZGRVJfQklO
RElORyc6IDB4ODg5NywKKyAgJ0NPTE9SX0FSUkFZX0JVRkZFUl9CSU5ESU5HJzogMHg4ODk4LAor
ICAnSU5ERVhfQVJSQVlfQlVGRkVSX0JJTkRJTkcnOiAweDg4OTksCisgICdURVhUVVJFX0NPT1JE
X0FSUkFZX0JVRkZFUl9CSU5ESU5HJzogMHg4ODlBLAorICAnRURHRV9GTEFHX0FSUkFZX0JVRkZF
Ul9CSU5ESU5HJzogMHg4ODlCLAorICAnU0VDT05EQVJZX0NPTE9SX0FSUkFZX0JVRkZFUl9CSU5E
SU5HJzogMHg4ODlDLAorICAnRk9HX0NPT1JESU5BVEVfQVJSQVlfQlVGRkVSX0JJTkRJTkcnOiAw
eDg4OUQsCisgICdXRUlHSFRfQVJSQVlfQlVGRkVSX0JJTkRJTkcnOiAweDg4OUUsCisgICdWRVJU
RVhfQVRUUklCX0FSUkFZX0JVRkZFUl9CSU5ESU5HJzogMHg4ODlGLAorICAnUkVBRF9PTkxZJzog
MHg4OEI4LAorICAnV1JJVEVfT05MWSc6IDB4ODhCOSwKKyAgJ1JFQURfV1JJVEUnOiAweDg4QkEs
CisgICdCVUZGRVJfQUNDRVNTJzogMHg4OEJCLAorICAnQlVGRkVSX01BUFBFRCc6IDB4ODhCQywK
KyAgJ0JVRkZFUl9NQVBfUE9JTlRFUic6IDB4ODhCRCwKKyAgJ1NUUkVBTV9EUkFXJzogMHg4OEUw
LAorICAnU1RSRUFNX1JFQUQnOiAweDg4RTEsCisgICdTVFJFQU1fQ09QWSc6IDB4ODhFMiwKKyAg
J1NUQVRJQ19EUkFXJzogMHg4OEU0LAorICAnU1RBVElDX1JFQUQnOiAweDg4RTUsCisgICdTVEFU
SUNfQ09QWSc6IDB4ODhFNiwKKyAgJ0RZTkFNSUNfRFJBVyc6IDB4ODhFOCwKKyAgJ0RZTkFNSUNf
UkVBRCc6IDB4ODhFOSwKKyAgJ0RZTkFNSUNfQ09QWSc6IDB4ODhFQSwKKyAgJ1NBTVBMRVNfUEFT
U0VEJzogMHg4OTE0LAorICAnVkVSVEVYX0FUVFJJQl9BUlJBWV9FTkFCTEVEJzogMHg4NjIyLAor
ICAnVkVSVEVYX0FUVFJJQl9BUlJBWV9TSVpFJzogMHg4NjIzLAorICAnVkVSVEVYX0FUVFJJQl9B
UlJBWV9TVFJJREUnOiAweDg2MjQsCisgICdWRVJURVhfQVRUUklCX0FSUkFZX1RZUEUnOiAweDg2
MjUsCisgICdDVVJSRU5UX1ZFUlRFWF9BVFRSSUInOiAweDg2MjYsCisgICdWRVJURVhfUFJPR1JB
TV9QT0lOVF9TSVpFJzogMHg4NjQyLAorICAnVkVSVEVYX1BST0dSQU1fVFdPX1NJREUnOiAweDg2
NDMsCisgICdWRVJURVhfQVRUUklCX0FSUkFZX1BPSU5URVInOiAweDg2NDUsCisgICdTVEVOQ0lM
X0JBQ0tfRlVOQyc6IDB4ODgwMCwKKyAgJ1NURU5DSUxfQkFDS19GQUlMJzogMHg4ODAxLAorICAn
U1RFTkNJTF9CQUNLX1BBU1NfREVQVEhfRkFJTCc6IDB4ODgwMiwKKyAgJ1NURU5DSUxfQkFDS19Q
QVNTX0RFUFRIX1BBU1MnOiAweDg4MDMsCisgICdNQVhfRFJBV19CVUZGRVJTJzogMHg4ODI0LAor
ICAnRFJBV19CVUZGRVIwJzogMHg4ODI1LAorICAnRFJBV19CVUZGRVIxJzogMHg4ODI2LAorICAn
RFJBV19CVUZGRVIyJzogMHg4ODI3LAorICAnRFJBV19CVUZGRVIzJzogMHg4ODI4LAorICAnRFJB
V19CVUZGRVI0JzogMHg4ODI5LAorICAnRFJBV19CVUZGRVI1JzogMHg4ODJBLAorICAnRFJBV19C
VUZGRVI2JzogMHg4ODJCLAorICAnRFJBV19CVUZGRVI3JzogMHg4ODJDLAorICAnRFJBV19CVUZG
RVI4JzogMHg4ODJELAorICAnRFJBV19CVUZGRVI5JzogMHg4ODJFLAorICAnRFJBV19CVUZGRVIx
MCc6IDB4ODgyRiwKKyAgJ0RSQVdfQlVGRkVSMTEnOiAweDg4MzAsCisgICdEUkFXX0JVRkZFUjEy
JzogMHg4ODMxLAorICAnRFJBV19CVUZGRVIxMyc6IDB4ODgzMiwKKyAgJ0RSQVdfQlVGRkVSMTQn
OiAweDg4MzMsCisgICdEUkFXX0JVRkZFUjE1JzogMHg4ODM0LAorICAnQkxFTkRfRVFVQVRJT05f
QUxQSEEnOiAweDg4M0QsCisgICdQT0lOVF9TUFJJVEUnOiAweDg4NjEsCisgICdDT09SRF9SRVBM
QUNFJzogMHg4ODYyLAorICAnTUFYX1ZFUlRFWF9BVFRSSUJTJzogMHg4ODY5LAorICAnVkVSVEVY
X0FUVFJJQl9BUlJBWV9OT1JNQUxJWkVEJzogMHg4ODZBLAorICAnTUFYX1RFWFRVUkVfQ09PUkRT
JzogMHg4ODcxLAorICAnTUFYX1RFWFRVUkVfSU1BR0VfVU5JVFMnOiAweDg4NzIsCisgICdGUkFH
TUVOVF9TSEFERVInOiAweDhCMzAsCisgICdWRVJURVhfU0hBREVSJzogMHg4QjMxLAorICAnTUFY
X0ZSQUdNRU5UX1VOSUZPUk1fQ09NUE9ORU5UUyc6IDB4OEI0OSwKKyAgJ01BWF9WRVJURVhfVU5J
Rk9STV9DT01QT05FTlRTJzogMHg4QjRBLAorICAnTUFYX1ZBUllJTkdfRkxPQVRTJzogMHg4QjRC
LAorICAnTUFYX1ZFUlRFWF9URVhUVVJFX0lNQUdFX1VOSVRTJzogMHg4QjRDLAorICAnTUFYX0NP
TUJJTkVEX1RFWFRVUkVfSU1BR0VfVU5JVFMnOiAweDhCNEQsCisgICdTSEFERVJfVFlQRSc6IDB4
OEI0RiwKKyAgJ0ZMT0FUX1ZFQzInOiAweDhCNTAsCisgICdGTE9BVF9WRUMzJzogMHg4QjUxLAor
ICAnRkxPQVRfVkVDNCc6IDB4OEI1MiwKKyAgJ0lOVF9WRUMyJzogMHg4QjUzLAorICAnSU5UX1ZF
QzMnOiAweDhCNTQsCisgICdJTlRfVkVDNCc6IDB4OEI1NSwKKyAgJ0JPT0wnOiAweDhCNTYsCisg
ICdCT09MX1ZFQzInOiAweDhCNTcsCisgICdCT09MX1ZFQzMnOiAweDhCNTgsCisgICdCT09MX1ZF
QzQnOiAweDhCNTksCisgICdGTE9BVF9NQVQyJzogMHg4QjVBLAorICAnRkxPQVRfTUFUMyc6IDB4
OEI1QiwKKyAgJ0ZMT0FUX01BVDQnOiAweDhCNUMsCisgICdTQU1QTEVSXzFEJzogMHg4QjVELAor
ICAnU0FNUExFUl8yRCc6IDB4OEI1RSwKKyAgJ1NBTVBMRVJfM0QnOiAweDhCNUYsCisgICdTQU1Q
TEVSX0NVQkUnOiAweDhCNjAsCisgICdTQU1QTEVSXzFEX1NIQURPVyc6IDB4OEI2MSwKKyAgJ1NB
TVBMRVJfMkRfU0hBRE9XJzogMHg4QjYyLAorICAnREVMRVRFX1NUQVRVUyc6IDB4OEI4MCwKKyAg
J0NPTVBJTEVfU1RBVFVTJzogMHg4QjgxLAorICAnTElOS19TVEFUVVMnOiAweDhCODIsCisgICdW
QUxJREFURV9TVEFUVVMnOiAweDhCODMsCisgICdJTkZPX0xPR19MRU5HVEgnOiAweDhCODQsCisg
ICdBVFRBQ0hFRF9TSEFERVJTJzogMHg4Qjg1LAorICAnQUNUSVZFX1VOSUZPUk1TJzogMHg4Qjg2
LAorICAnQUNUSVZFX1VOSUZPUk1fTUFYX0xFTkdUSCc6IDB4OEI4NywKKyAgJ1NIQURFUl9TT1VS
Q0VfTEVOR1RIJzogMHg4Qjg4LAorICAnQUNUSVZFX0FUVFJJQlVURVMnOiAweDhCODksCisgICdB
Q1RJVkVfQVRUUklCVVRFX01BWF9MRU5HVEgnOiAweDhCOEEsCisgICdGUkFHTUVOVF9TSEFERVJf
REVSSVZBVElWRV9ISU5UJzogMHg4QjhCLAorICAnU0hBRElOR19MQU5HVUFHRV9WRVJTSU9OJzog
MHg4QjhDLAorICAnQ1VSUkVOVF9QUk9HUkFNJzogMHg4QjhELAorICAnUE9JTlRfU1BSSVRFX0NP
T1JEX09SSUdJTic6IDB4OENBMCwKKyAgJ0xPV0VSX0xFRlQnOiAweDhDQTEsCisgICdVUFBFUl9M
RUZUJzogMHg4Q0EyLAorICAnU1RFTkNJTF9CQUNLX1JFRic6IDB4OENBMywKKyAgJ1NURU5DSUxf
QkFDS19WQUxVRV9NQVNLJzogMHg4Q0E0LAorICAnU1RFTkNJTF9CQUNLX1dSSVRFTUFTSyc6IDB4
OENBNSwKKyAgJ0NVUlJFTlRfUkFTVEVSX1NFQ09OREFSWV9DT0xPUic6IDB4ODQ1RiwKKyAgJ1BJ
WEVMX1BBQ0tfQlVGRkVSJzogMHg4OEVCLAorICAnUElYRUxfVU5QQUNLX0JVRkZFUic6IDB4ODhF
QywKKyAgJ1BJWEVMX1BBQ0tfQlVGRkVSX0JJTkRJTkcnOiAweDg4RUQsCisgICdQSVhFTF9VTlBB
Q0tfQlVGRkVSX0JJTkRJTkcnOiAweDg4RUYsCisgICdGTE9BVF9NQVQyeDMnOiAweDhCNjUsCisg
ICdGTE9BVF9NQVQyeDQnOiAweDhCNjYsCisgICdGTE9BVF9NQVQzeDInOiAweDhCNjcsCisgICdG
TE9BVF9NQVQzeDQnOiAweDhCNjgsCisgICdGTE9BVF9NQVQ0eDInOiAweDhCNjksCisgICdGTE9B
VF9NQVQ0eDMnOiAweDhCNkEsCisgICdTUkdCJzogMHg4QzQwLAorICAnU1JHQjgnOiAweDhDNDEs
CisgICdTUkdCX0FMUEhBJzogMHg4QzQyLAorICAnU1JHQjhfQUxQSEE4JzogMHg4QzQzLAorICAn
U0xVTUlOQU5DRV9BTFBIQSc6IDB4OEM0NCwKKyAgJ1NMVU1JTkFOQ0U4X0FMUEhBOCc6IDB4OEM0
NSwKKyAgJ1NMVU1JTkFOQ0UnOiAweDhDNDYsCisgICdTTFVNSU5BTkNFOCc6IDB4OEM0NywKKyAg
J0NPTVBSRVNTRURfU1JHQic6IDB4OEM0OCwKKyAgJ0NPTVBSRVNTRURfU1JHQl9BTFBIQSc6IDB4
OEM0OSwKKyAgJ0NPTVBSRVNTRURfU0xVTUlOQU5DRSc6IDB4OEM0QSwKKyAgJ0NPTVBSRVNTRURf
U0xVTUlOQU5DRV9BTFBIQSc6IDB4OEM0QiwKKyAgJ0NPTlRFWFRfRkxBR19GT1JXQVJEX0NPTVBB
VElCTEVfQklUJzogMHgwMDAxLAorICAnTUFKT1JfVkVSU0lPTic6IDB4ODIxQiwKKyAgJ01JTk9S
X1ZFUlNJT04nOiAweDgyMUMsCisgICdOVU1fRVhURU5TSU9OUyc6IDB4ODIxRCwKKyAgJ0NPTlRF
WFRfRkxBR1MnOiAweDgyMUUsCisgICdERVBUSF9CVUZGRVInOiAweDgyMjMsCisgICdTVEVOQ0lM
X0JVRkZFUic6IDB4ODIyNCwKKyAgJ0NPTVBSRVNTRURfUkVEJzogMHg4MjI1LAorICAnQ09NUFJF
U1NFRF9SRyc6IDB4ODIyNiwKKyAgJ1JHQkEzMkYnOiAweDg4MTQsCisgICdSR0IzMkYnOiAweDg4
MTUsCisgICdSR0JBMTZGJzogMHg4ODFBLAorICAnUkdCMTZGJzogMHg4ODFCLAorICAnVkVSVEVY
X0FUVFJJQl9BUlJBWV9JTlRFR0VSJzogMHg4OEZELAorICAnTUFYX0FSUkFZX1RFWFRVUkVfTEFZ
RVJTJzogMHg4OEZGLAorICAnTUlOX1BST0dSQU1fVEVYRUxfT0ZGU0VUJzogMHg4OTA0LAorICAn
TUFYX1BST0dSQU1fVEVYRUxfT0ZGU0VUJzogMHg4OTA1LAorICAnQ0xBTVBfVkVSVEVYX0NPTE9S
JzogMHg4OTFBLAorICAnQ0xBTVBfRlJBR01FTlRfQ09MT1InOiAweDg5MUIsCisgICdDTEFNUF9S
RUFEX0NPTE9SJzogMHg4OTFDLAorICAnRklYRURfT05MWSc6IDB4ODkxRCwKKyAgJ1RFWFRVUkVf
UkVEX1RZUEUnOiAweDhDMTAsCisgICdURVhUVVJFX0dSRUVOX1RZUEUnOiAweDhDMTEsCisgICdU
RVhUVVJFX0JMVUVfVFlQRSc6IDB4OEMxMiwKKyAgJ1RFWFRVUkVfQUxQSEFfVFlQRSc6IDB4OEMx
MywKKyAgJ1RFWFRVUkVfTFVNSU5BTkNFX1RZUEUnOiAweDhDMTQsCisgICdURVhUVVJFX0lOVEVO
U0lUWV9UWVBFJzogMHg4QzE1LAorICAnVEVYVFVSRV9ERVBUSF9UWVBFJzogMHg4QzE2LAorICAn
VU5TSUdORURfTk9STUFMSVpFRCc6IDB4OEMxNywKKyAgJ1RFWFRVUkVfMURfQVJSQVknOiAweDhD
MTgsCisgICdQUk9YWV9URVhUVVJFXzFEX0FSUkFZJzogMHg4QzE5LAorICAnVEVYVFVSRV8yRF9B
UlJBWSc6IDB4OEMxQSwKKyAgJ1BST1hZX1RFWFRVUkVfMkRfQVJSQVknOiAweDhDMUIsCisgICdU
RVhUVVJFX0JJTkRJTkdfMURfQVJSQVknOiAweDhDMUMsCisgICdURVhUVVJFX0JJTkRJTkdfMkRf
QVJSQVknOiAweDhDMUQsCisgICdSMTFGX0cxMUZfQjEwRic6IDB4OEMzQSwKKyAgJ1VOU0lHTkVE
X0lOVF8xMEZfMTFGXzExRl9SRVYnOiAweDhDM0IsCisgICdSR0I5X0U1JzogMHg4QzNELAorICAn
VU5TSUdORURfSU5UXzVfOV85XzlfUkVWJzogMHg4QzNFLAorICAnVEVYVFVSRV9TSEFSRURfU0la
RSc6IDB4OEMzRiwKKyAgJ1RSQU5TRk9STV9GRUVEQkFDS19WQVJZSU5HX01BWF9MRU5HVEgnOiAw
eDhDNzYsCisgICdUUkFOU0ZPUk1fRkVFREJBQ0tfQlVGRkVSX01PREUnOiAweDhDN0YsCisgICdN
QVhfVFJBTlNGT1JNX0ZFRURCQUNLX1NFUEFSQVRFX0NPTVBPTkVOVFMnOiAweDhDODAsCisgICdU
UkFOU0ZPUk1fRkVFREJBQ0tfVkFSWUlOR1MnOiAweDhDODMsCisgICdUUkFOU0ZPUk1fRkVFREJB
Q0tfQlVGRkVSX1NUQVJUJzogMHg4Qzg0LAorICAnVFJBTlNGT1JNX0ZFRURCQUNLX0JVRkZFUl9T
SVpFJzogMHg4Qzg1LAorICAnUFJJTUlUSVZFU19HRU5FUkFURUQnOiAweDhDODcsCisgICdUUkFO
U0ZPUk1fRkVFREJBQ0tfUFJJTUlUSVZFU19XUklUVEVOJzogMHg4Qzg4LAorICAnUkFTVEVSSVpF
Ul9ESVNDQVJEJzogMHg4Qzg5LAorICAnTUFYX1RSQU5TRk9STV9GRUVEQkFDS19JTlRFUkxFQVZF
RF9DT01QT05FTlRTJzogMHg4QzhBLAorICAnTUFYX1RSQU5TRk9STV9GRUVEQkFDS19TRVBBUkFU
RV9BVFRSSUJTJzogMHg4QzhCLAorICAnSU5URVJMRUFWRURfQVRUUklCUyc6IDB4OEM4QywKKyAg
J1NFUEFSQVRFX0FUVFJJQlMnOiAweDhDOEQsCisgICdUUkFOU0ZPUk1fRkVFREJBQ0tfQlVGRkVS
JzogMHg4QzhFLAorICAnVFJBTlNGT1JNX0ZFRURCQUNLX0JVRkZFUl9CSU5ESU5HJzogMHg4QzhG
LAorICAnUkdCQTMyVUknOiAweDhENzAsCisgICdSR0IzMlVJJzogMHg4RDcxLAorICAnUkdCQTE2
VUknOiAweDhENzYsCisgICdSR0IxNlVJJzogMHg4RDc3LAorICAnUkdCQThVSSc6IDB4OEQ3QywK
KyAgJ1JHQjhVSSc6IDB4OEQ3RCwKKyAgJ1JHQkEzMkknOiAweDhEODIsCisgICdSR0IzMkknOiAw
eDhEODMsCisgICdSR0JBMTZJJzogMHg4RDg4LAorICAnUkdCMTZJJzogMHg4RDg5LAorICAnUkdC
QThJJzogMHg4RDhFLAorICAnUkdCOEknOiAweDhEOEYsCisgICdSRURfSU5URUdFUic6IDB4OEQ5
NCwKKyAgJ0dSRUVOX0lOVEVHRVInOiAweDhEOTUsCisgICdCTFVFX0lOVEVHRVInOiAweDhEOTYs
CisgICdBTFBIQV9JTlRFR0VSJzogMHg4RDk3LAorICAnUkdCX0lOVEVHRVInOiAweDhEOTgsCisg
ICdSR0JBX0lOVEVHRVInOiAweDhEOTksCisgICdCR1JfSU5URUdFUic6IDB4OEQ5QSwKKyAgJ0JH
UkFfSU5URUdFUic6IDB4OEQ5QiwKKyAgJ1NBTVBMRVJfMURfQVJSQVknOiAweDhEQzAsCisgICdT
QU1QTEVSXzJEX0FSUkFZJzogMHg4REMxLAorICAnU0FNUExFUl8xRF9BUlJBWV9TSEFET1cnOiAw
eDhEQzMsCisgICdTQU1QTEVSXzJEX0FSUkFZX1NIQURPVyc6IDB4OERDNCwKKyAgJ1NBTVBMRVJf
Q1VCRV9TSEFET1cnOiAweDhEQzUsCisgICdVTlNJR05FRF9JTlRfVkVDMic6IDB4OERDNiwKKyAg
J1VOU0lHTkVEX0lOVF9WRUMzJzogMHg4REM3LAorICAnVU5TSUdORURfSU5UX1ZFQzQnOiAweDhE
QzgsCisgICdJTlRfU0FNUExFUl8xRCc6IDB4OERDOSwKKyAgJ0lOVF9TQU1QTEVSXzJEJzogMHg4
RENBLAorICAnSU5UX1NBTVBMRVJfM0QnOiAweDhEQ0IsCisgICdJTlRfU0FNUExFUl9DVUJFJzog
MHg4RENDLAorICAnSU5UX1NBTVBMRVJfMURfQVJSQVknOiAweDhEQ0UsCisgICdJTlRfU0FNUExF
Ul8yRF9BUlJBWSc6IDB4OERDRiwKKyAgJ1VOU0lHTkVEX0lOVF9TQU1QTEVSXzFEJzogMHg4REQx
LAorICAnVU5TSUdORURfSU5UX1NBTVBMRVJfMkQnOiAweDhERDIsCisgICdVTlNJR05FRF9JTlRf
U0FNUExFUl8zRCc6IDB4OEREMywKKyAgJ1VOU0lHTkVEX0lOVF9TQU1QTEVSX0NVQkUnOiAweDhE
RDQsCisgICdVTlNJR05FRF9JTlRfU0FNUExFUl8xRF9BUlJBWSc6IDB4OERENiwKKyAgJ1VOU0lH
TkVEX0lOVF9TQU1QTEVSXzJEX0FSUkFZJzogMHg4REQ3LAorICAnUVVFUllfV0FJVCc6IDB4OEUx
MywKKyAgJ1FVRVJZX05PX1dBSVQnOiAweDhFMTQsCisgICdRVUVSWV9CWV9SRUdJT05fV0FJVCc6
IDB4OEUxNSwKKyAgJ1FVRVJZX0JZX1JFR0lPTl9OT19XQUlUJzogMHg4RTE2LAorICAnTVVMVElT
QU1QTEVfM0RGWCc6IDB4ODZCMiwKKyAgJ1NBTVBMRV9CVUZGRVJTXzNERlgnOiAweDg2QjMsCisg
ICdTQU1QTEVTXzNERlgnOiAweDg2QjQsCisgICdNVUxUSVNBTVBMRV9CSVRfM0RGWCc6IDB4MjAw
MDAwMDAsCisgICdDT01QUkVTU0VEX1JHQl9GWFQxXzNERlgnOiAweDg2QjAsCisgICdDT01QUkVT
U0VEX1JHQkFfRlhUMV8zREZYJzogMHg4NkIxLAorICAnVU5QQUNLX0NMSUVOVF9TVE9SQUdFX0FQ
UExFJzogMHg4NUIyLAorICAnRUxFTUVOVF9BUlJBWV9BUFBMRSc6IDB4ODc2OCwKKyAgJ0VMRU1F
TlRfQVJSQVlfVFlQRV9BUFBMRSc6IDB4ODc2OSwKKyAgJ0VMRU1FTlRfQVJSQVlfUE9JTlRFUl9B
UFBMRSc6IDB4ODc2QSwKKyAgJ0hBTEZfQVBQTEUnOiAweDE0MEIsCisgICdSR0JBX0ZMT0FUMzJf
QVBQTEUnOiAweDg4MTQsCisgICdSR0JfRkxPQVQzMl9BUFBMRSc6IDB4ODgxNSwKKyAgJ0FMUEhB
X0ZMT0FUMzJfQVBQTEUnOiAweDg4MTYsCisgICdJTlRFTlNJVFlfRkxPQVQzMl9BUFBMRSc6IDB4
ODgxNywKKyAgJ0xVTUlOQU5DRV9GTE9BVDMyX0FQUExFJzogMHg4ODE4LAorICAnTFVNSU5BTkNF
X0FMUEhBX0ZMT0FUMzJfQVBQTEUnOiAweDg4MTksCisgICdSR0JBX0ZMT0FUMTZfQVBQTEUnOiAw
eDg4MUEsCisgICdSR0JfRkxPQVQxNl9BUFBMRSc6IDB4ODgxQiwKKyAgJ0FMUEhBX0ZMT0FUMTZf
QVBQTEUnOiAweDg4MUMsCisgICdJTlRFTlNJVFlfRkxPQVQxNl9BUFBMRSc6IDB4ODgxRCwKKyAg
J0xVTUlOQU5DRV9GTE9BVDE2X0FQUExFJzogMHg4ODFFLAorICAnTFVNSU5BTkNFX0FMUEhBX0ZM
T0FUMTZfQVBQTEUnOiAweDg4MUYsCisgICdDT0xPUl9GTE9BVF9BUFBMRSc6IDB4OEEwRiwKKyAg
J0JVRkZFUl9TRVJJQUxJWkVEX01PRElGWV9BUFBMRSc6IDB4OEExMiwKKyAgJ0JVRkZFUl9GTFVT
SElOR19VTk1BUF9BUFBMRSc6IDB4OEExMywKKyAgJ01JTl9QQlVGRkVSX1ZJRVdQT1JUX0RJTVNf
QVBQTEUnOiAweDhBMTAsCisgICdMSUdIVF9NT0RFTF9TUEVDVUxBUl9WRUNUT1JfQVBQTEUnOiAw
eDg1QjAsCisgICdURVhUVVJFX1JBTkdFX0xFTkdUSF9BUFBMRSc6IDB4ODVCNywKKyAgJ1RFWFRV
UkVfUkFOR0VfUE9JTlRFUl9BUFBMRSc6IDB4ODVCOCwKKyAgJ1RFWFRVUkVfU1RPUkFHRV9ISU5U
X0FQUExFJzogMHg4NUJDLAorICAnU1RPUkFHRV9QUklWQVRFX0FQUExFJzogMHg4NUJELAorICAn
U1RPUkFHRV9DQUNIRURfQVBQTEUnOiAweDg1QkUsCisgICdTVE9SQUdFX1NIQVJFRF9BUFBMRSc6
IDB4ODVCRiwKKyAgJ1RSQU5TRk9STV9ISU5UX0FQUExFJzogMHg4NUIxLAorICAnVkVSVEVYX0FS
UkFZX0JJTkRJTkdfQVBQTEUnOiAweDg1QjUsCisgICdWRVJURVhfQVJSQVlfUkFOR0VfQVBQTEUn
OiAweDg1MUQsCisgICdWRVJURVhfQVJSQVlfUkFOR0VfTEVOR1RIX0FQUExFJzogMHg4NTFFLAor
ICAnVkVSVEVYX0FSUkFZX1NUT1JBR0VfSElOVF9BUFBMRSc6IDB4ODUxRiwKKyAgJ01BWF9WRVJU
RVhfQVJSQVlfUkFOR0VfRUxFTUVOVF9BUFBMRSc6IDB4ODUyMCwKKyAgJ1ZFUlRFWF9BUlJBWV9S
QU5HRV9QT0lOVEVSX0FQUExFJzogMHg4NTIxLAorICAnU1RPUkFHRV9DQUNIRURfQVBQTEUnOiAw
eDg1QkUsCisgICdTVE9SQUdFX1NIQVJFRF9BUFBMRSc6IDB4ODVCRiwKKyAgJ1lDQkNSXzQyMl9B
UFBMRSc6IDB4ODVCOSwKKyAgJ1VOU0lHTkVEX1NIT1JUXzhfOF9BUFBMRSc6IDB4ODVCQSwKKyAg
J1VOU0lHTkVEX1NIT1JUXzhfOF9SRVZfQVBQTEUnOiAweDg1QkIsCisgICdSR0JBX0ZMT0FUX01P
REVfQVJCJzogMHg4ODIwLAorICAnQ0xBTVBfVkVSVEVYX0NPTE9SX0FSQic6IDB4ODkxQSwKKyAg
J0NMQU1QX0ZSQUdNRU5UX0NPTE9SX0FSQic6IDB4ODkxQiwKKyAgJ0NMQU1QX1JFQURfQ09MT1Jf
QVJCJzogMHg4OTFDLAorICAnRklYRURfT05MWV9BUkInOiAweDg5MUQsCisgICdERVBUSF9DT01Q
T05FTlQzMkYnOiAweDhDQUMsCisgICdERVBUSDMyRl9TVEVOQ0lMOCc6IDB4OENBRCwKKyAgJ0ZM
T0FUXzMyX1VOU0lHTkVEX0lOVF8yNF84X1JFVic6IDB4OERBRCwKKyAgJ0RFUFRIX0NPTVBPTkVO
VDE2X0FSQic6IDB4ODFBNSwKKyAgJ0RFUFRIX0NPTVBPTkVOVDI0X0FSQic6IDB4ODFBNiwKKyAg
J0RFUFRIX0NPTVBPTkVOVDMyX0FSQic6IDB4ODFBNywKKyAgJ1RFWFRVUkVfREVQVEhfU0laRV9B
UkInOiAweDg4NEEsCisgICdERVBUSF9URVhUVVJFX01PREVfQVJCJzogMHg4ODRCLAorICAnTUFY
X0RSQVdfQlVGRkVSU19BUkInOiAweDg4MjQsCisgICdEUkFXX0JVRkZFUjBfQVJCJzogMHg4ODI1
LAorICAnRFJBV19CVUZGRVIxX0FSQic6IDB4ODgyNiwKKyAgJ0RSQVdfQlVGRkVSMl9BUkInOiAw
eDg4MjcsCisgICdEUkFXX0JVRkZFUjNfQVJCJzogMHg4ODI4LAorICAnRFJBV19CVUZGRVI0X0FS
Qic6IDB4ODgyOSwKKyAgJ0RSQVdfQlVGRkVSNV9BUkInOiAweDg4MkEsCisgICdEUkFXX0JVRkZF
UjZfQVJCJzogMHg4ODJCLAorICAnRFJBV19CVUZGRVI3X0FSQic6IDB4ODgyQywKKyAgJ0RSQVdf
QlVGRkVSOF9BUkInOiAweDg4MkQsCisgICdEUkFXX0JVRkZFUjlfQVJCJzogMHg4ODJFLAorICAn
RFJBV19CVUZGRVIxMF9BUkInOiAweDg4MkYsCisgICdEUkFXX0JVRkZFUjExX0FSQic6IDB4ODgz
MCwKKyAgJ0RSQVdfQlVGRkVSMTJfQVJCJzogMHg4ODMxLAorICAnRFJBV19CVUZGRVIxM19BUkIn
OiAweDg4MzIsCisgICdEUkFXX0JVRkZFUjE0X0FSQic6IDB4ODgzMywKKyAgJ0RSQVdfQlVGRkVS
MTVfQVJCJzogMHg4ODM0LAorICAnRlJBR01FTlRfUFJPR1JBTV9BUkInOiAweDg4MDQsCisgICdQ
Uk9HUkFNX0FMVV9JTlNUUlVDVElPTlNfQVJCJzogMHg4ODA1LAorICAnUFJPR1JBTV9URVhfSU5T
VFJVQ1RJT05TX0FSQic6IDB4ODgwNiwKKyAgJ1BST0dSQU1fVEVYX0lORElSRUNUSU9OU19BUkIn
OiAweDg4MDcsCisgICdQUk9HUkFNX05BVElWRV9BTFVfSU5TVFJVQ1RJT05TX0FSQic6IDB4ODgw
OCwKKyAgJ1BST0dSQU1fTkFUSVZFX1RFWF9JTlNUUlVDVElPTlNfQVJCJzogMHg4ODA5LAorICAn
UFJPR1JBTV9OQVRJVkVfVEVYX0lORElSRUNUSU9OU19BUkInOiAweDg4MEEsCisgICdNQVhfUFJP
R1JBTV9BTFVfSU5TVFJVQ1RJT05TX0FSQic6IDB4ODgwQiwKKyAgJ01BWF9QUk9HUkFNX1RFWF9J
TlNUUlVDVElPTlNfQVJCJzogMHg4ODBDLAorICAnTUFYX1BST0dSQU1fVEVYX0lORElSRUNUSU9O
U19BUkInOiAweDg4MEQsCisgICdNQVhfUFJPR1JBTV9OQVRJVkVfQUxVX0lOU1RSVUNUSU9OU19B
UkInOiAweDg4MEUsCisgICdNQVhfUFJPR1JBTV9OQVRJVkVfVEVYX0lOU1RSVUNUSU9OU19BUkIn
OiAweDg4MEYsCisgICdNQVhfUFJPR1JBTV9OQVRJVkVfVEVYX0lORElSRUNUSU9OU19BUkInOiAw
eDg4MTAsCisgICdNQVhfVEVYVFVSRV9DT09SRFNfQVJCJzogMHg4ODcxLAorICAnTUFYX1RFWFRV
UkVfSU1BR0VfVU5JVFNfQVJCJzogMHg4ODcyLAorICAnRlJBR01FTlRfU0hBREVSX0FSQic6IDB4
OEIzMCwKKyAgJ01BWF9GUkFHTUVOVF9VTklGT1JNX0NPTVBPTkVOVFNfQVJCJzogMHg4QjQ5LAor
ICAnRlJBR01FTlRfU0hBREVSX0RFUklWQVRJVkVfSElOVF9BUkInOiAweDhCOEIsCisgICdJTlZB
TElEX0ZSQU1FQlVGRkVSX09QRVJBVElPTic6IDB4MDUwNiwKKyAgJ0ZSQU1FQlVGRkVSX0FUVEFD
SE1FTlRfQ09MT1JfRU5DT0RJTkcnOiAweDgyMTAsCisgICdGUkFNRUJVRkZFUl9BVFRBQ0hNRU5U
X0NPTVBPTkVOVF9UWVBFJzogMHg4MjExLAorICAnRlJBTUVCVUZGRVJfQVRUQUNITUVOVF9SRURf
U0laRSc6IDB4ODIxMiwKKyAgJ0ZSQU1FQlVGRkVSX0FUVEFDSE1FTlRfR1JFRU5fU0laRSc6IDB4
ODIxMywKKyAgJ0ZSQU1FQlVGRkVSX0FUVEFDSE1FTlRfQkxVRV9TSVpFJzogMHg4MjE0LAorICAn
RlJBTUVCVUZGRVJfQVRUQUNITUVOVF9BTFBIQV9TSVpFJzogMHg4MjE1LAorICAnRlJBTUVCVUZG
RVJfQVRUQUNITUVOVF9ERVBUSF9TSVpFJzogMHg4MjE2LAorICAnRlJBTUVCVUZGRVJfQVRUQUNI
TUVOVF9TVEVOQ0lMX1NJWkUnOiAweDgyMTcsCisgICdGUkFNRUJVRkZFUl9ERUZBVUxUJzogMHg4
MjE4LAorICAnRlJBTUVCVUZGRVJfVU5ERUZJTkVEJzogMHg4MjE5LAorICAnREVQVEhfU1RFTkNJ
TF9BVFRBQ0hNRU5UJzogMHg4MjFBLAorICAnSU5ERVgnOiAweDgyMjIsCisgICdNQVhfUkVOREVS
QlVGRkVSX1NJWkUnOiAweDg0RTgsCisgICdERVBUSF9TVEVOQ0lMJzogMHg4NEY5LAorICAnVU5T
SUdORURfSU5UXzI0XzgnOiAweDg0RkEsCisgICdERVBUSDI0X1NURU5DSUw4JzogMHg4OEYwLAor
ICAnVEVYVFVSRV9TVEVOQ0lMX1NJWkUnOiAweDg4RjEsCisgICdVTlNJR05FRF9OT1JNQUxJWkVE
JzogMHg4QzE3LAorICAnU1JHQic6IDB4OEM0MCwKKyAgJ0RSQVdfRlJBTUVCVUZGRVJfQklORElO
Ryc6IDB4OENBNiwKKyAgJ0ZSQU1FQlVGRkVSX0JJTkRJTkcnOiAweDhDQTYsCisgICdSRU5ERVJC
VUZGRVJfQklORElORyc6IDB4OENBNywKKyAgJ1JFQURfRlJBTUVCVUZGRVInOiAweDhDQTgsCisg
ICdEUkFXX0ZSQU1FQlVGRkVSJzogMHg4Q0E5LAorICAnUkVBRF9GUkFNRUJVRkZFUl9CSU5ESU5H
JzogMHg4Q0FBLAorICAnUkVOREVSQlVGRkVSX1NBTVBMRVMnOiAweDhDQUIsCisgICdGUkFNRUJV
RkZFUl9BVFRBQ0hNRU5UX09CSkVDVF9UWVBFJzogMHg4Q0QwLAorICAnRlJBTUVCVUZGRVJfQVRU
QUNITUVOVF9PQkpFQ1RfTkFNRSc6IDB4OENEMSwKKyAgJ0ZSQU1FQlVGRkVSX0FUVEFDSE1FTlRf
VEVYVFVSRV9MRVZFTCc6IDB4OENEMiwKKyAgJ0ZSQU1FQlVGRkVSX0FUVEFDSE1FTlRfVEVYVFVS
RV9DVUJFX01BUF9GQUNFJzogMHg4Q0QzLAorICAnRlJBTUVCVUZGRVJfQVRUQUNITUVOVF9URVhU
VVJFX0xBWUVSJzogMHg4Q0Q0LAorICAnRlJBTUVCVUZGRVJfQ09NUExFVEUnOiAweDhDRDUsCisg
ICdGUkFNRUJVRkZFUl9JTkNPTVBMRVRFX0FUVEFDSE1FTlQnOiAweDhDRDYsCisgICdGUkFNRUJV
RkZFUl9JTkNPTVBMRVRFX01JU1NJTkdfQVRUQUNITUVOVCc6IDB4OENENywKKyAgJ0ZSQU1FQlVG
RkVSX0lOQ09NUExFVEVfRFJBV19CVUZGRVInOiAweDhDREIsCisgICdGUkFNRUJVRkZFUl9JTkNP
TVBMRVRFX1JFQURfQlVGRkVSJzogMHg4Q0RDLAorICAnRlJBTUVCVUZGRVJfVU5TVVBQT1JURUQn
OiAweDhDREQsCisgICdNQVhfQ09MT1JfQVRUQUNITUVOVFMnOiAweDhDREYsCisgICdDT0xPUl9B
VFRBQ0hNRU5UMCc6IDB4OENFMCwKKyAgJ0NPTE9SX0FUVEFDSE1FTlQxJzogMHg4Q0UxLAorICAn
Q09MT1JfQVRUQUNITUVOVDInOiAweDhDRTIsCisgICdDT0xPUl9BVFRBQ0hNRU5UMyc6IDB4OENF
MywKKyAgJ0NPTE9SX0FUVEFDSE1FTlQ0JzogMHg4Q0U0LAorICAnQ09MT1JfQVRUQUNITUVOVDUn
OiAweDhDRTUsCisgICdDT0xPUl9BVFRBQ0hNRU5UNic6IDB4OENFNiwKKyAgJ0NPTE9SX0FUVEFD
SE1FTlQ3JzogMHg4Q0U3LAorICAnQ09MT1JfQVRUQUNITUVOVDgnOiAweDhDRTgsCisgICdDT0xP
Ul9BVFRBQ0hNRU5UOSc6IDB4OENFOSwKKyAgJ0NPTE9SX0FUVEFDSE1FTlQxMCc6IDB4OENFQSwK
KyAgJ0NPTE9SX0FUVEFDSE1FTlQxMSc6IDB4OENFQiwKKyAgJ0NPTE9SX0FUVEFDSE1FTlQxMic6
IDB4OENFQywKKyAgJ0NPTE9SX0FUVEFDSE1FTlQxMyc6IDB4OENFRCwKKyAgJ0NPTE9SX0FUVEFD
SE1FTlQxNCc6IDB4OENFRSwKKyAgJ0NPTE9SX0FUVEFDSE1FTlQxNSc6IDB4OENFRiwKKyAgJ0RF
UFRIX0FUVEFDSE1FTlQnOiAweDhEMDAsCisgICdTVEVOQ0lMX0FUVEFDSE1FTlQnOiAweDhEMjAs
CisgICdGUkFNRUJVRkZFUic6IDB4OEQ0MCwKKyAgJ1JFTkRFUkJVRkZFUic6IDB4OEQ0MSwKKyAg
J1JFTkRFUkJVRkZFUl9XSURUSCc6IDB4OEQ0MiwKKyAgJ1JFTkRFUkJVRkZFUl9IRUlHSFQnOiAw
eDhENDMsCisgICdSRU5ERVJCVUZGRVJfSU5URVJOQUxfRk9STUFUJzogMHg4RDQ0LAorICAnU1RF
TkNJTF9JTkRFWDEnOiAweDhENDYsCisgICdTVEVOQ0lMX0lOREVYNCc6IDB4OEQ0NywKKyAgJ1NU
RU5DSUxfSU5ERVg4JzogMHg4RDQ4LAorICAnU1RFTkNJTF9JTkRFWDE2JzogMHg4RDQ5LAorICAn
UkVOREVSQlVGRkVSX1JFRF9TSVpFJzogMHg4RDUwLAorICAnUkVOREVSQlVGRkVSX0dSRUVOX1NJ
WkUnOiAweDhENTEsCisgICdSRU5ERVJCVUZGRVJfQkxVRV9TSVpFJzogMHg4RDUyLAorICAnUkVO
REVSQlVGRkVSX0FMUEhBX1NJWkUnOiAweDhENTMsCisgICdSRU5ERVJCVUZGRVJfREVQVEhfU0la
RSc6IDB4OEQ1NCwKKyAgJ1JFTkRFUkJVRkZFUl9TVEVOQ0lMX1NJWkUnOiAweDhENTUsCisgICdG
UkFNRUJVRkZFUl9JTkNPTVBMRVRFX01VTFRJU0FNUExFJzogMHg4RDU2LAorICAnTUFYX1NBTVBM
RVMnOiAweDhENTcsCisgICdGUkFNRUJVRkZFUl9TUkdCJzogMHg4REI5LAorICAnTElORVNfQURK
QUNFTkNZX0FSQic6IDB4QSwKKyAgJ0xJTkVfU1RSSVBfQURKQUNFTkNZX0FSQic6IDB4QiwKKyAg
J1RSSUFOR0xFU19BREpBQ0VOQ1lfQVJCJzogMHhDLAorICAnVFJJQU5HTEVfU1RSSVBfQURKQUNF
TkNZX0FSQic6IDB4RCwKKyAgJ1BST0dSQU1fUE9JTlRfU0laRV9BUkInOiAweDg2NDIsCisgICdN
QVhfR0VPTUVUUllfVEVYVFVSRV9JTUFHRV9VTklUU19BUkInOiAweDhDMjksCisgICdGUkFNRUJV
RkZFUl9BVFRBQ0hNRU5UX1RFWFRVUkVfTEFZRVInOiAweDhDRDQsCisgICdGUkFNRUJVRkZFUl9B
VFRBQ0hNRU5UX0xBWUVSRURfQVJCJzogMHg4REE3LAorICAnRlJBTUVCVUZGRVJfSU5DT01QTEVU
RV9MQVlFUl9UQVJHRVRTX0FSQic6IDB4OERBOCwKKyAgJ0ZSQU1FQlVGRkVSX0lOQ09NUExFVEVf
TEFZRVJfQ09VTlRfQVJCJzogMHg4REE5LAorICAnR0VPTUVUUllfU0hBREVSX0FSQic6IDB4OERE
OSwKKyAgJ0dFT01FVFJZX1ZFUlRJQ0VTX09VVF9BUkInOiAweDhEREEsCisgICdHRU9NRVRSWV9J
TlBVVF9UWVBFX0FSQic6IDB4OEREQiwKKyAgJ0dFT01FVFJZX09VVFBVVF9UWVBFX0FSQic6IDB4
OEREQywKKyAgJ01BWF9HRU9NRVRSWV9WQVJZSU5HX0NPTVBPTkVOVFNfQVJCJzogMHg4RERELAor
ICAnTUFYX1ZFUlRFWF9WQVJZSU5HX0NPTVBPTkVOVFNfQVJCJzogMHg4RERFLAorICAnTUFYX0dF
T01FVFJZX1VOSUZPUk1fQ09NUE9ORU5UU19BUkInOiAweDhEREYsCisgICdNQVhfR0VPTUVUUllf
T1VUUFVUX1ZFUlRJQ0VTX0FSQic6IDB4OERFMCwKKyAgJ01BWF9HRU9NRVRSWV9UT1RBTF9PVVRQ
VVRfQ09NUE9ORU5UU19BUkInOiAweDhERTEsCisgICdIQUxGX0ZMT0FUX0FSQic6IDB4MTQwQiwK
KyAgJ0hBTEZfRkxPQVQnOiAweDE0MEIsCisgICdDT05TVEFOVF9DT0xPUic6IDB4ODAwMSwKKyAg
J09ORV9NSU5VU19DT05TVEFOVF9DT0xPUic6IDB4ODAwMiwKKyAgJ0NPTlNUQU5UX0FMUEhBJzog
MHg4MDAzLAorICAnT05FX01JTlVTX0NPTlNUQU5UX0FMUEhBJzogMHg4MDA0LAorICAnQkxFTkRf
Q09MT1InOiAweDgwMDUsCisgICdGVU5DX0FERCc6IDB4ODAwNiwKKyAgJ01JTic6IDB4ODAwNywK
KyAgJ01BWCc6IDB4ODAwOCwKKyAgJ0JMRU5EX0VRVUFUSU9OJzogMHg4MDA5LAorICAnRlVOQ19T
VUJUUkFDVCc6IDB4ODAwQSwKKyAgJ0ZVTkNfUkVWRVJTRV9TVUJUUkFDVCc6IDB4ODAwQiwKKyAg
J0NPTlZPTFVUSU9OXzFEJzogMHg4MDEwLAorICAnQ09OVk9MVVRJT05fMkQnOiAweDgwMTEsCisg
ICdTRVBBUkFCTEVfMkQnOiAweDgwMTIsCisgICdDT05WT0xVVElPTl9CT1JERVJfTU9ERSc6IDB4
ODAxMywKKyAgJ0NPTlZPTFVUSU9OX0ZJTFRFUl9TQ0FMRSc6IDB4ODAxNCwKKyAgJ0NPTlZPTFVU
SU9OX0ZJTFRFUl9CSUFTJzogMHg4MDE1LAorICAnUkVEVUNFJzogMHg4MDE2LAorICAnQ09OVk9M
VVRJT05fRk9STUFUJzogMHg4MDE3LAorICAnQ09OVk9MVVRJT05fV0lEVEgnOiAweDgwMTgsCisg
ICdDT05WT0xVVElPTl9IRUlHSFQnOiAweDgwMTksCisgICdNQVhfQ09OVk9MVVRJT05fV0lEVEgn
OiAweDgwMUEsCisgICdNQVhfQ09OVk9MVVRJT05fSEVJR0hUJzogMHg4MDFCLAorICAnUE9TVF9D
T05WT0xVVElPTl9SRURfU0NBTEUnOiAweDgwMUMsCisgICdQT1NUX0NPTlZPTFVUSU9OX0dSRUVO
X1NDQUxFJzogMHg4MDFELAorICAnUE9TVF9DT05WT0xVVElPTl9CTFVFX1NDQUxFJzogMHg4MDFF
LAorICAnUE9TVF9DT05WT0xVVElPTl9BTFBIQV9TQ0FMRSc6IDB4ODAxRiwKKyAgJ1BPU1RfQ09O
Vk9MVVRJT05fUkVEX0JJQVMnOiAweDgwMjAsCisgICdQT1NUX0NPTlZPTFVUSU9OX0dSRUVOX0JJ
QVMnOiAweDgwMjEsCisgICdQT1NUX0NPTlZPTFVUSU9OX0JMVUVfQklBUyc6IDB4ODAyMiwKKyAg
J1BPU1RfQ09OVk9MVVRJT05fQUxQSEFfQklBUyc6IDB4ODAyMywKKyAgJ0hJU1RPR1JBTSc6IDB4
ODAyNCwKKyAgJ1BST1hZX0hJU1RPR1JBTSc6IDB4ODAyNSwKKyAgJ0hJU1RPR1JBTV9XSURUSCc6
IDB4ODAyNiwKKyAgJ0hJU1RPR1JBTV9GT1JNQVQnOiAweDgwMjcsCisgICdISVNUT0dSQU1fUkVE
X1NJWkUnOiAweDgwMjgsCisgICdISVNUT0dSQU1fR1JFRU5fU0laRSc6IDB4ODAyOSwKKyAgJ0hJ
U1RPR1JBTV9CTFVFX1NJWkUnOiAweDgwMkEsCisgICdISVNUT0dSQU1fQUxQSEFfU0laRSc6IDB4
ODAyQiwKKyAgJ0hJU1RPR1JBTV9MVU1JTkFOQ0VfU0laRSc6IDB4ODAyQywKKyAgJ0hJU1RPR1JB
TV9TSU5LJzogMHg4MDJELAorICAnTUlOTUFYJzogMHg4MDJFLAorICAnTUlOTUFYX0ZPUk1BVCc6
IDB4ODAyRiwKKyAgJ01JTk1BWF9TSU5LJzogMHg4MDMwLAorICAnVEFCTEVfVE9PX0xBUkdFJzog
MHg4MDMxLAorICAnQ09MT1JfTUFUUklYJzogMHg4MEIxLAorICAnQ09MT1JfTUFUUklYX1NUQUNL
X0RFUFRIJzogMHg4MEIyLAorICAnTUFYX0NPTE9SX01BVFJJWF9TVEFDS19ERVBUSCc6IDB4ODBC
MywKKyAgJ1BPU1RfQ09MT1JfTUFUUklYX1JFRF9TQ0FMRSc6IDB4ODBCNCwKKyAgJ1BPU1RfQ09M
T1JfTUFUUklYX0dSRUVOX1NDQUxFJzogMHg4MEI1LAorICAnUE9TVF9DT0xPUl9NQVRSSVhfQkxV
RV9TQ0FMRSc6IDB4ODBCNiwKKyAgJ1BPU1RfQ09MT1JfTUFUUklYX0FMUEhBX1NDQUxFJzogMHg4
MEI3LAorICAnUE9TVF9DT0xPUl9NQVRSSVhfUkVEX0JJQVMnOiAweDgwQjgsCisgICdQT1NUX0NP
TE9SX01BVFJJWF9HUkVFTl9CSUFTJzogMHg4MEI5LAorICAnUE9TVF9DT0xPUl9NQVRSSVhfQkxV
RV9CSUFTJzogMHg4MEJBLAorICAnUE9TVF9DT0xPUl9NQVRSSVhfQUxQSEFfQklBUyc6IDB4ODBC
QiwKKyAgJ0NPTE9SX1RBQkxFJzogMHg4MEQwLAorICAnUE9TVF9DT05WT0xVVElPTl9DT0xPUl9U
QUJMRSc6IDB4ODBEMSwKKyAgJ1BPU1RfQ09MT1JfTUFUUklYX0NPTE9SX1RBQkxFJzogMHg4MEQy
LAorICAnUFJPWFlfQ09MT1JfVEFCTEUnOiAweDgwRDMsCisgICdQUk9YWV9QT1NUX0NPTlZPTFVU
SU9OX0NPTE9SX1RBQkxFJzogMHg4MEQ0LAorICAnUFJPWFlfUE9TVF9DT0xPUl9NQVRSSVhfQ09M
T1JfVEFCTEUnOiAweDgwRDUsCisgICdDT0xPUl9UQUJMRV9TQ0FMRSc6IDB4ODBENiwKKyAgJ0NP
TE9SX1RBQkxFX0JJQVMnOiAweDgwRDcsCisgICdDT0xPUl9UQUJMRV9GT1JNQVQnOiAweDgwRDgs
CisgICdDT0xPUl9UQUJMRV9XSURUSCc6IDB4ODBEOSwKKyAgJ0NPTE9SX1RBQkxFX1JFRF9TSVpF
JzogMHg4MERBLAorICAnQ09MT1JfVEFCTEVfR1JFRU5fU0laRSc6IDB4ODBEQiwKKyAgJ0NPTE9S
X1RBQkxFX0JMVUVfU0laRSc6IDB4ODBEQywKKyAgJ0NPTE9SX1RBQkxFX0FMUEhBX1NJWkUnOiAw
eDgwREQsCisgICdDT0xPUl9UQUJMRV9MVU1JTkFOQ0VfU0laRSc6IDB4ODBERSwKKyAgJ0NPTE9S
X1RBQkxFX0lOVEVOU0lUWV9TSVpFJzogMHg4MERGLAorICAnSUdOT1JFX0JPUkRFUic6IDB4ODE1
MCwKKyAgJ0NPTlNUQU5UX0JPUkRFUic6IDB4ODE1MSwKKyAgJ1dSQVBfQk9SREVSJzogMHg4MTUy
LAorICAnUkVQTElDQVRFX0JPUkRFUic6IDB4ODE1MywKKyAgJ0NPTlZPTFVUSU9OX0JPUkRFUl9D
T0xPUic6IDB4ODE1NCwKKyAgJ1ZFUlRFWF9BVFRSSUJfQVJSQVlfRElWSVNPUl9BUkInOiAweDg4
RkUsCisgICdNQVBfUkVBRF9CSVQnOiAweDAwMDEsCisgICdNQVBfV1JJVEVfQklUJzogMHgwMDAy
LAorICAnTUFQX0lOVkFMSURBVEVfUkFOR0VfQklUJzogMHgwMDA0LAorICAnTUFQX0lOVkFMSURB
VEVfQlVGRkVSX0JJVCc6IDB4MDAwOCwKKyAgJ01BUF9GTFVTSF9FWFBMSUNJVF9CSVQnOiAweDAw
MTAsCisgICdNQVBfVU5TWU5DSFJPTklaRURfQklUJzogMHgwMDIwLAorICAnTUFUUklYX1BBTEVU
VEVfQVJCJzogMHg4ODQwLAorICAnTUFYX01BVFJJWF9QQUxFVFRFX1NUQUNLX0RFUFRIX0FSQic6
IDB4ODg0MSwKKyAgJ01BWF9QQUxFVFRFX01BVFJJQ0VTX0FSQic6IDB4ODg0MiwKKyAgJ0NVUlJF
TlRfUEFMRVRURV9NQVRSSVhfQVJCJzogMHg4ODQzLAorICAnTUFUUklYX0lOREVYX0FSUkFZX0FS
Qic6IDB4ODg0NCwKKyAgJ0NVUlJFTlRfTUFUUklYX0lOREVYX0FSQic6IDB4ODg0NSwKKyAgJ01B
VFJJWF9JTkRFWF9BUlJBWV9TSVpFX0FSQic6IDB4ODg0NiwKKyAgJ01BVFJJWF9JTkRFWF9BUlJB
WV9UWVBFX0FSQic6IDB4ODg0NywKKyAgJ01BVFJJWF9JTkRFWF9BUlJBWV9TVFJJREVfQVJCJzog
MHg4ODQ4LAorICAnTUFUUklYX0lOREVYX0FSUkFZX1BPSU5URVJfQVJCJzogMHg4ODQ5LAorICAn
TVVMVElTQU1QTEVfQVJCJzogMHg4MDlELAorICAnU0FNUExFX0FMUEhBX1RPX0NPVkVSQUdFX0FS
Qic6IDB4ODA5RSwKKyAgJ1NBTVBMRV9BTFBIQV9UT19PTkVfQVJCJzogMHg4MDlGLAorICAnU0FN
UExFX0NPVkVSQUdFX0FSQic6IDB4ODBBMCwKKyAgJ1NBTVBMRV9CVUZGRVJTX0FSQic6IDB4ODBB
OCwKKyAgJ1NBTVBMRVNfQVJCJzogMHg4MEE5LAorICAnU0FNUExFX0NPVkVSQUdFX1ZBTFVFX0FS
Qic6IDB4ODBBQSwKKyAgJ1NBTVBMRV9DT1ZFUkFHRV9JTlZFUlRfQVJCJzogMHg4MEFCLAorICAn
TVVMVElTQU1QTEVfQklUX0FSQic6IDB4MjAwMDAwMDAsCisgICdURVhUVVJFMF9BUkInOiAweDg0
QzAsCisgICdURVhUVVJFMV9BUkInOiAweDg0QzEsCisgICdURVhUVVJFMl9BUkInOiAweDg0QzIs
CisgICdURVhUVVJFM19BUkInOiAweDg0QzMsCisgICdURVhUVVJFNF9BUkInOiAweDg0QzQsCisg
ICdURVhUVVJFNV9BUkInOiAweDg0QzUsCisgICdURVhUVVJFNl9BUkInOiAweDg0QzYsCisgICdU
RVhUVVJFN19BUkInOiAweDg0QzcsCisgICdURVhUVVJFOF9BUkInOiAweDg0QzgsCisgICdURVhU
VVJFOV9BUkInOiAweDg0QzksCisgICdURVhUVVJFMTBfQVJCJzogMHg4NENBLAorICAnVEVYVFVS
RTExX0FSQic6IDB4ODRDQiwKKyAgJ1RFWFRVUkUxMl9BUkInOiAweDg0Q0MsCisgICdURVhUVVJF
MTNfQVJCJzogMHg4NENELAorICAnVEVYVFVSRTE0X0FSQic6IDB4ODRDRSwKKyAgJ1RFWFRVUkUx
NV9BUkInOiAweDg0Q0YsCisgICdURVhUVVJFMTZfQVJCJzogMHg4NEQwLAorICAnVEVYVFVSRTE3
X0FSQic6IDB4ODREMSwKKyAgJ1RFWFRVUkUxOF9BUkInOiAweDg0RDIsCisgICdURVhUVVJFMTlf
QVJCJzogMHg4NEQzLAorICAnVEVYVFVSRTIwX0FSQic6IDB4ODRENCwKKyAgJ1RFWFRVUkUyMV9B
UkInOiAweDg0RDUsCisgICdURVhUVVJFMjJfQVJCJzogMHg4NEQ2LAorICAnVEVYVFVSRTIzX0FS
Qic6IDB4ODRENywKKyAgJ1RFWFRVUkUyNF9BUkInOiAweDg0RDgsCisgICdURVhUVVJFMjVfQVJC
JzogMHg4NEQ5LAorICAnVEVYVFVSRTI2X0FSQic6IDB4ODREQSwKKyAgJ1RFWFRVUkUyN19BUkIn
OiAweDg0REIsCisgICdURVhUVVJFMjhfQVJCJzogMHg4NERDLAorICAnVEVYVFVSRTI5X0FSQic6
IDB4ODRERCwKKyAgJ1RFWFRVUkUzMF9BUkInOiAweDg0REUsCisgICdURVhUVVJFMzFfQVJCJzog
MHg4NERGLAorICAnQUNUSVZFX1RFWFRVUkVfQVJCJzogMHg4NEUwLAorICAnQ0xJRU5UX0FDVElW
RV9URVhUVVJFX0FSQic6IDB4ODRFMSwKKyAgJ01BWF9URVhUVVJFX1VOSVRTX0FSQic6IDB4ODRF
MiwKKyAgJ1FVRVJZX0NPVU5URVJfQklUU19BUkInOiAweDg4NjQsCisgICdDVVJSRU5UX1FVRVJZ
X0FSQic6IDB4ODg2NSwKKyAgJ1FVRVJZX1JFU1VMVF9BUkInOiAweDg4NjYsCisgICdRVUVSWV9S
RVNVTFRfQVZBSUxBQkxFX0FSQic6IDB4ODg2NywKKyAgJ1NBTVBMRVNfUEFTU0VEX0FSQic6IDB4
ODkxNCwKKyAgJ1BJWEVMX1BBQ0tfQlVGRkVSX0FSQic6IDB4ODhFQiwKKyAgJ1BJWEVMX1VOUEFD
S19CVUZGRVJfQVJCJzogMHg4OEVDLAorICAnUElYRUxfUEFDS19CVUZGRVJfQklORElOR19BUkIn
OiAweDg4RUQsCisgICdQSVhFTF9VTlBBQ0tfQlVGRkVSX0JJTkRJTkdfQVJCJzogMHg4OEVGLAor
ICAnUE9JTlRfU0laRV9NSU5fQVJCJzogMHg4MTI2LAorICAnUE9JTlRfU0laRV9NQVhfQVJCJzog
MHg4MTI3LAorICAnUE9JTlRfRkFERV9USFJFU0hPTERfU0laRV9BUkInOiAweDgxMjgsCisgICdQ
T0lOVF9ESVNUQU5DRV9BVFRFTlVBVElPTl9BUkInOiAweDgxMjksCisgICdQT0lOVF9TUFJJVEVf
QVJCJzogMHg4ODYxLAorICAnQ09PUkRfUkVQTEFDRV9BUkInOiAweDg4NjIsCisgICdQUk9HUkFN
X09CSkVDVF9BUkInOiAweDhCNDAsCisgICdTSEFERVJfT0JKRUNUX0FSQic6IDB4OEI0OCwKKyAg
J09CSkVDVF9UWVBFX0FSQic6IDB4OEI0RSwKKyAgJ09CSkVDVF9TVUJUWVBFX0FSQic6IDB4OEI0
RiwKKyAgJ0ZMT0FUX1ZFQzJfQVJCJzogMHg4QjUwLAorICAnRkxPQVRfVkVDM19BUkInOiAweDhC
NTEsCisgICdGTE9BVF9WRUM0X0FSQic6IDB4OEI1MiwKKyAgJ0lOVF9WRUMyX0FSQic6IDB4OEI1
MywKKyAgJ0lOVF9WRUMzX0FSQic6IDB4OEI1NCwKKyAgJ0lOVF9WRUM0X0FSQic6IDB4OEI1NSwK
KyAgJ0JPT0xfQVJCJzogMHg4QjU2LAorICAnQk9PTF9WRUMyX0FSQic6IDB4OEI1NywKKyAgJ0JP
T0xfVkVDM19BUkInOiAweDhCNTgsCisgICdCT09MX1ZFQzRfQVJCJzogMHg4QjU5LAorICAnRkxP
QVRfTUFUMl9BUkInOiAweDhCNUEsCisgICdGTE9BVF9NQVQzX0FSQic6IDB4OEI1QiwKKyAgJ0ZM
T0FUX01BVDRfQVJCJzogMHg4QjVDLAorICAnU0FNUExFUl8xRF9BUkInOiAweDhCNUQsCisgICdT
QU1QTEVSXzJEX0FSQic6IDB4OEI1RSwKKyAgJ1NBTVBMRVJfM0RfQVJCJzogMHg4QjVGLAorICAn
U0FNUExFUl9DVUJFX0FSQic6IDB4OEI2MCwKKyAgJ1NBTVBMRVJfMURfU0hBRE9XX0FSQic6IDB4
OEI2MSwKKyAgJ1NBTVBMRVJfMkRfU0hBRE9XX0FSQic6IDB4OEI2MiwKKyAgJ1NBTVBMRVJfMkRf
UkVDVF9BUkInOiAweDhCNjMsCisgICdTQU1QTEVSXzJEX1JFQ1RfU0hBRE9XX0FSQic6IDB4OEI2
NCwKKyAgJ09CSkVDVF9ERUxFVEVfU1RBVFVTX0FSQic6IDB4OEI4MCwKKyAgJ09CSkVDVF9DT01Q
SUxFX1NUQVRVU19BUkInOiAweDhCODEsCisgICdPQkpFQ1RfTElOS19TVEFUVVNfQVJCJzogMHg4
QjgyLAorICAnT0JKRUNUX1ZBTElEQVRFX1NUQVRVU19BUkInOiAweDhCODMsCisgICdPQkpFQ1Rf
SU5GT19MT0dfTEVOR1RIX0FSQic6IDB4OEI4NCwKKyAgJ09CSkVDVF9BVFRBQ0hFRF9PQkpFQ1RT
X0FSQic6IDB4OEI4NSwKKyAgJ09CSkVDVF9BQ1RJVkVfVU5JRk9STVNfQVJCJzogMHg4Qjg2LAor
ICAnT0JKRUNUX0FDVElWRV9VTklGT1JNX01BWF9MRU5HVEhfQVJCJzogMHg4Qjg3LAorICAnT0JK
RUNUX1NIQURFUl9TT1VSQ0VfTEVOR1RIX0FSQic6IDB4OEI4OCwKKyAgJ1NIQURJTkdfTEFOR1VB
R0VfVkVSU0lPTl9BUkInOiAweDhCOEMsCisgICdURVhUVVJFX0NPTVBBUkVfTU9ERV9BUkInOiAw
eDg4NEMsCisgICdURVhUVVJFX0NPTVBBUkVfRlVOQ19BUkInOiAweDg4NEQsCisgICdDT01QQVJF
X1JfVE9fVEVYVFVSRV9BUkInOiAweDg4NEUsCisgICdURVhUVVJFX0NPTVBBUkVfRkFJTF9WQUxV
RV9BUkInOiAweDgwQkYsCisgICdDTEFNUF9UT19CT1JERVJfQVJCJzogMHg4MTJELAorICAnVEVY
VFVSRV9CVUZGRVJfQVJCJzogMHg4QzJBLAorICAnTUFYX1RFWFRVUkVfQlVGRkVSX1NJWkVfQVJC
JzogMHg4QzJCLAorICAnVEVYVFVSRV9CSU5ESU5HX0JVRkZFUl9BUkInOiAweDhDMkMsCisgICdU
RVhUVVJFX0JVRkZFUl9EQVRBX1NUT1JFX0JJTkRJTkdfQVJCJzogMHg4QzJELAorICAnVEVYVFVS
RV9CVUZGRVJfRk9STUFUX0FSQic6IDB4OEMyRSwKKyAgJ0NPTVBSRVNTRURfQUxQSEFfQVJCJzog
MHg4NEU5LAorICAnQ09NUFJFU1NFRF9MVU1JTkFOQ0VfQVJCJzogMHg4NEVBLAorICAnQ09NUFJF
U1NFRF9MVU1JTkFOQ0VfQUxQSEFfQVJCJzogMHg4NEVCLAorICAnQ09NUFJFU1NFRF9JTlRFTlNJ
VFlfQVJCJzogMHg4NEVDLAorICAnQ09NUFJFU1NFRF9SR0JfQVJCJzogMHg4NEVELAorICAnQ09N
UFJFU1NFRF9SR0JBX0FSQic6IDB4ODRFRSwKKyAgJ1RFWFRVUkVfQ09NUFJFU1NJT05fSElOVF9B
UkInOiAweDg0RUYsCisgICdURVhUVVJFX0NPTVBSRVNTRURfSU1BR0VfU0laRV9BUkInOiAweDg2
QTAsCisgICdURVhUVVJFX0NPTVBSRVNTRURfQVJCJzogMHg4NkExLAorICAnTlVNX0NPTVBSRVNT
RURfVEVYVFVSRV9GT1JNQVRTX0FSQic6IDB4ODZBMiwKKyAgJ0NPTVBSRVNTRURfVEVYVFVSRV9G
T1JNQVRTX0FSQic6IDB4ODZBMywKKyAgJ0NPTVBSRVNTRURfUkVEX1JHVEMxJzogMHg4REJCLAor
ICAnQ09NUFJFU1NFRF9TSUdORURfUkVEX1JHVEMxJzogMHg4REJDLAorICAnQ09NUFJFU1NFRF9S
R19SR1RDMic6IDB4OERCRCwKKyAgJ0NPTVBSRVNTRURfU0lHTkVEX1JHX1JHVEMyJzogMHg4REJF
LAorICAnTk9STUFMX01BUF9BUkInOiAweDg1MTEsCisgICdSRUZMRUNUSU9OX01BUF9BUkInOiAw
eDg1MTIsCisgICdURVhUVVJFX0NVQkVfTUFQX0FSQic6IDB4ODUxMywKKyAgJ1RFWFRVUkVfQklO
RElOR19DVUJFX01BUF9BUkInOiAweDg1MTQsCisgICdURVhUVVJFX0NVQkVfTUFQX1BPU0lUSVZF
X1hfQVJCJzogMHg4NTE1LAorICAnVEVYVFVSRV9DVUJFX01BUF9ORUdBVElWRV9YX0FSQic6IDB4
ODUxNiwKKyAgJ1RFWFRVUkVfQ1VCRV9NQVBfUE9TSVRJVkVfWV9BUkInOiAweDg1MTcsCisgICdU
RVhUVVJFX0NVQkVfTUFQX05FR0FUSVZFX1lfQVJCJzogMHg4NTE4LAorICAnVEVYVFVSRV9DVUJF
X01BUF9QT1NJVElWRV9aX0FSQic6IDB4ODUxOSwKKyAgJ1RFWFRVUkVfQ1VCRV9NQVBfTkVHQVRJ
VkVfWl9BUkInOiAweDg1MUEsCisgICdQUk9YWV9URVhUVVJFX0NVQkVfTUFQX0FSQic6IDB4ODUx
QiwKKyAgJ01BWF9DVUJFX01BUF9URVhUVVJFX1NJWkVfQVJCJzogMHg4NTFDLAorICAnU1VCVFJB
Q1RfQVJCJzogMHg4NEU3LAorICAnQ09NQklORV9BUkInOiAweDg1NzAsCisgICdDT01CSU5FX1JH
Ql9BUkInOiAweDg1NzEsCisgICdDT01CSU5FX0FMUEhBX0FSQic6IDB4ODU3MiwKKyAgJ1JHQl9T
Q0FMRV9BUkInOiAweDg1NzMsCisgICdBRERfU0lHTkVEX0FSQic6IDB4ODU3NCwKKyAgJ0lOVEVS
UE9MQVRFX0FSQic6IDB4ODU3NSwKKyAgJ0NPTlNUQU5UX0FSQic6IDB4ODU3NiwKKyAgJ1BSSU1B
UllfQ09MT1JfQVJCJzogMHg4NTc3LAorICAnUFJFVklPVVNfQVJCJzogMHg4NTc4LAorICAnU09V
UkNFMF9SR0JfQVJCJzogMHg4NTgwLAorICAnU09VUkNFMV9SR0JfQVJCJzogMHg4NTgxLAorICAn
U09VUkNFMl9SR0JfQVJCJzogMHg4NTgyLAorICAnU09VUkNFMF9BTFBIQV9BUkInOiAweDg1ODgs
CisgICdTT1VSQ0UxX0FMUEhBX0FSQic6IDB4ODU4OSwKKyAgJ1NPVVJDRTJfQUxQSEFfQVJCJzog
MHg4NThBLAorICAnT1BFUkFORDBfUkdCX0FSQic6IDB4ODU5MCwKKyAgJ09QRVJBTkQxX1JHQl9B
UkInOiAweDg1OTEsCisgICdPUEVSQU5EMl9SR0JfQVJCJzogMHg4NTkyLAorICAnT1BFUkFORDBf
QUxQSEFfQVJCJzogMHg4NTk4LAorICAnT1BFUkFORDFfQUxQSEFfQVJCJzogMHg4NTk5LAorICAn
T1BFUkFORDJfQUxQSEFfQVJCJzogMHg4NTlBLAorICAnRE9UM19SR0JfQVJCJzogMHg4NkFFLAor
ICAnRE9UM19SR0JBX0FSQic6IDB4ODZBRiwKKyAgJ1JHQkEzMkZfQVJCJzogMHg4ODE0LAorICAn
UkdCMzJGX0FSQic6IDB4ODgxNSwKKyAgJ0FMUEhBMzJGX0FSQic6IDB4ODgxNiwKKyAgJ0lOVEVO
U0lUWTMyRl9BUkInOiAweDg4MTcsCisgICdMVU1JTkFOQ0UzMkZfQVJCJzogMHg4ODE4LAorICAn
TFVNSU5BTkNFX0FMUEhBMzJGX0FSQic6IDB4ODgxOSwKKyAgJ1JHQkExNkZfQVJCJzogMHg4ODFB
LAorICAnUkdCMTZGX0FSQic6IDB4ODgxQiwKKyAgJ0FMUEhBMTZGX0FSQic6IDB4ODgxQywKKyAg
J0lOVEVOU0lUWTE2Rl9BUkInOiAweDg4MUQsCisgICdMVU1JTkFOQ0UxNkZfQVJCJzogMHg4ODFF
LAorICAnTFVNSU5BTkNFX0FMUEhBMTZGX0FSQic6IDB4ODgxRiwKKyAgJ1RFWFRVUkVfUkVEX1RZ
UEVfQVJCJzogMHg4QzEwLAorICAnVEVYVFVSRV9HUkVFTl9UWVBFX0FSQic6IDB4OEMxMSwKKyAg
J1RFWFRVUkVfQkxVRV9UWVBFX0FSQic6IDB4OEMxMiwKKyAgJ1RFWFRVUkVfQUxQSEFfVFlQRV9B
UkInOiAweDhDMTMsCisgICdURVhUVVJFX0xVTUlOQU5DRV9UWVBFX0FSQic6IDB4OEMxNCwKKyAg
J1RFWFRVUkVfSU5URU5TSVRZX1RZUEVfQVJCJzogMHg4QzE1LAorICAnVEVYVFVSRV9ERVBUSF9U
WVBFX0FSQic6IDB4OEMxNiwKKyAgJ1VOU0lHTkVEX05PUk1BTElaRURfQVJCJzogMHg4QzE3LAor
ICAnTUlSUk9SRURfUkVQRUFUX0FSQic6IDB4ODM3MCwKKyAgJ1RFWFRVUkVfUkVDVEFOR0xFX0FS
Qic6IDB4ODRGNSwKKyAgJ1RFWFRVUkVfQklORElOR19SRUNUQU5HTEVfQVJCJzogMHg4NEY2LAor
ICAnUFJPWFlfVEVYVFVSRV9SRUNUQU5HTEVfQVJCJzogMHg4NEY3LAorICAnTUFYX1JFQ1RBTkdM
RV9URVhUVVJFX1NJWkVfQVJCJzogMHg4NEY4LAorICAnU0FNUExFUl8yRF9SRUNUX0FSQic6IDB4
OEI2MywKKyAgJ1NBTVBMRVJfMkRfUkVDVF9TSEFET1dfQVJCJzogMHg4QjY0LAorICAnUkVEJzog
MHgxOTAzLAorICAnUkcnOiAweDgyMjcsCisgICdSR19JTlRFR0VSJzogMHg4MjI4LAorICAnUjgn
OiAweDgyMjksCisgICdSMTYnOiAweDgyMkEsCisgICdSRzgnOiAweDgyMkIsCisgICdSRzE2Jzog
MHg4MjJDLAorICAnUjE2Ric6IDB4ODIyRCwKKyAgJ1IzMkYnOiAweDgyMkUsCisgICdSRzE2Ric6
IDB4ODIyRiwKKyAgJ1JHMzJGJzogMHg4MjMwLAorICAnUjhJJzogMHg4MjMxLAorICAnUjhVSSc6
IDB4ODIzMiwKKyAgJ1IxNkknOiAweDgyMzMsCisgICdSMTZVSSc6IDB4ODIzNCwKKyAgJ1IzMkkn
OiAweDgyMzUsCisgICdSMzJVSSc6IDB4ODIzNiwKKyAgJ1JHOEknOiAweDgyMzcsCisgICdSRzhV
SSc6IDB4ODIzOCwKKyAgJ1JHMTZJJzogMHg4MjM5LAorICAnUkcxNlVJJzogMHg4MjNBLAorICAn
UkczMkknOiAweDgyM0IsCisgICdSRzMyVUknOiAweDgyM0MsCisgICdUUkFOU1BPU0VfTU9ERUxW
SUVXX01BVFJJWF9BUkInOiAweDg0RTMsCisgICdUUkFOU1BPU0VfUFJPSkVDVElPTl9NQVRSSVhf
QVJCJzogMHg4NEU0LAorICAnVFJBTlNQT1NFX1RFWFRVUkVfTUFUUklYX0FSQic6IDB4ODRFNSwK
KyAgJ1RSQU5TUE9TRV9DT0xPUl9NQVRSSVhfQVJCJzogMHg4NEU2LAorICAnVkVSVEVYX0FSUkFZ
X0JJTkRJTkcnOiAweDg1QjUsCisgICdNT0RFTFZJRVcwX0FSQic6IDB4MTcwMCwKKyAgJ01PREVM
VklFVzFfQVJCJzogMHg4NTBBLAorICAnTUFYX1ZFUlRFWF9VTklUU19BUkInOiAweDg2QTQsCisg
ICdBQ1RJVkVfVkVSVEVYX1VOSVRTX0FSQic6IDB4ODZBNSwKKyAgJ1dFSUdIVF9TVU1fVU5JVFlf
QVJCJzogMHg4NkE2LAorICAnVkVSVEVYX0JMRU5EX0FSQic6IDB4ODZBNywKKyAgJ0NVUlJFTlRf
V0VJR0hUX0FSQic6IDB4ODZBOCwKKyAgJ1dFSUdIVF9BUlJBWV9UWVBFX0FSQic6IDB4ODZBOSwK
KyAgJ1dFSUdIVF9BUlJBWV9TVFJJREVfQVJCJzogMHg4NkFBLAorICAnV0VJR0hUX0FSUkFZX1NJ
WkVfQVJCJzogMHg4NkFCLAorICAnV0VJR0hUX0FSUkFZX1BPSU5URVJfQVJCJzogMHg4NkFDLAor
ICAnV0VJR0hUX0FSUkFZX0FSQic6IDB4ODZBRCwKKyAgJ01PREVMVklFVzJfQVJCJzogMHg4NzIy
LAorICAnTU9ERUxWSUVXM19BUkInOiAweDg3MjMsCisgICdNT0RFTFZJRVc0X0FSQic6IDB4ODcy
NCwKKyAgJ01PREVMVklFVzVfQVJCJzogMHg4NzI1LAorICAnTU9ERUxWSUVXNl9BUkInOiAweDg3
MjYsCisgICdNT0RFTFZJRVc3X0FSQic6IDB4ODcyNywKKyAgJ01PREVMVklFVzhfQVJCJzogMHg4
NzI4LAorICAnTU9ERUxWSUVXOV9BUkInOiAweDg3MjksCisgICdNT0RFTFZJRVcxMF9BUkInOiAw
eDg3MkEsCisgICdNT0RFTFZJRVcxMV9BUkInOiAweDg3MkIsCisgICdNT0RFTFZJRVcxMl9BUkIn
OiAweDg3MkMsCisgICdNT0RFTFZJRVcxM19BUkInOiAweDg3MkQsCisgICdNT0RFTFZJRVcxNF9B
UkInOiAweDg3MkUsCisgICdNT0RFTFZJRVcxNV9BUkInOiAweDg3MkYsCisgICdNT0RFTFZJRVcx
Nl9BUkInOiAweDg3MzAsCisgICdNT0RFTFZJRVcxN19BUkInOiAweDg3MzEsCisgICdNT0RFTFZJ
RVcxOF9BUkInOiAweDg3MzIsCisgICdNT0RFTFZJRVcxOV9BUkInOiAweDg3MzMsCisgICdNT0RF
TFZJRVcyMF9BUkInOiAweDg3MzQsCisgICdNT0RFTFZJRVcyMV9BUkInOiAweDg3MzUsCisgICdN
T0RFTFZJRVcyMl9BUkInOiAweDg3MzYsCisgICdNT0RFTFZJRVcyM19BUkInOiAweDg3MzcsCisg
ICdNT0RFTFZJRVcyNF9BUkInOiAweDg3MzgsCisgICdNT0RFTFZJRVcyNV9BUkInOiAweDg3Mzks
CisgICdNT0RFTFZJRVcyNl9BUkInOiAweDg3M0EsCisgICdNT0RFTFZJRVcyN19BUkInOiAweDg3
M0IsCisgICdNT0RFTFZJRVcyOF9BUkInOiAweDg3M0MsCisgICdNT0RFTFZJRVcyOV9BUkInOiAw
eDg3M0QsCisgICdNT0RFTFZJRVczMF9BUkInOiAweDg3M0UsCisgICdNT0RFTFZJRVczMV9BUkIn
OiAweDg3M0YsCisgICdCVUZGRVJfU0laRV9BUkInOiAweDg3NjQsCisgICdCVUZGRVJfVVNBR0Vf
QVJCJzogMHg4NzY1LAorICAnQVJSQVlfQlVGRkVSX0FSQic6IDB4ODg5MiwKKyAgJ0VMRU1FTlRf
QVJSQVlfQlVGRkVSX0FSQic6IDB4ODg5MywKKyAgJ0FSUkFZX0JVRkZFUl9CSU5ESU5HX0FSQic6
IDB4ODg5NCwKKyAgJ0VMRU1FTlRfQVJSQVlfQlVGRkVSX0JJTkRJTkdfQVJCJzogMHg4ODk1LAor
ICAnVkVSVEVYX0FSUkFZX0JVRkZFUl9CSU5ESU5HX0FSQic6IDB4ODg5NiwKKyAgJ05PUk1BTF9B
UlJBWV9CVUZGRVJfQklORElOR19BUkInOiAweDg4OTcsCisgICdDT0xPUl9BUlJBWV9CVUZGRVJf
QklORElOR19BUkInOiAweDg4OTgsCisgICdJTkRFWF9BUlJBWV9CVUZGRVJfQklORElOR19BUkIn
OiAweDg4OTksCisgICdURVhUVVJFX0NPT1JEX0FSUkFZX0JVRkZFUl9CSU5ESU5HX0FSQic6IDB4
ODg5QSwKKyAgJ0VER0VfRkxBR19BUlJBWV9CVUZGRVJfQklORElOR19BUkInOiAweDg4OUIsCisg
ICdTRUNPTkRBUllfQ09MT1JfQVJSQVlfQlVGRkVSX0JJTkRJTkdfQVJCJzogMHg4ODlDLAorICAn
Rk9HX0NPT1JESU5BVEVfQVJSQVlfQlVGRkVSX0JJTkRJTkdfQVJCJzogMHg4ODlELAorICAnV0VJ
R0hUX0FSUkFZX0JVRkZFUl9CSU5ESU5HX0FSQic6IDB4ODg5RSwKKyAgJ1ZFUlRFWF9BVFRSSUJf
QVJSQVlfQlVGRkVSX0JJTkRJTkdfQVJCJzogMHg4ODlGLAorICAnUkVBRF9PTkxZX0FSQic6IDB4
ODhCOCwKKyAgJ1dSSVRFX09OTFlfQVJCJzogMHg4OEI5LAorICAnUkVBRF9XUklURV9BUkInOiAw
eDg4QkEsCisgICdCVUZGRVJfQUNDRVNTX0FSQic6IDB4ODhCQiwKKyAgJ0JVRkZFUl9NQVBQRURf
QVJCJzogMHg4OEJDLAorICAnQlVGRkVSX01BUF9QT0lOVEVSX0FSQic6IDB4ODhCRCwKKyAgJ1NU
UkVBTV9EUkFXX0FSQic6IDB4ODhFMCwKKyAgJ1NUUkVBTV9SRUFEX0FSQic6IDB4ODhFMSwKKyAg
J1NUUkVBTV9DT1BZX0FSQic6IDB4ODhFMiwKKyAgJ1NUQVRJQ19EUkFXX0FSQic6IDB4ODhFNCwK
KyAgJ1NUQVRJQ19SRUFEX0FSQic6IDB4ODhFNSwKKyAgJ1NUQVRJQ19DT1BZX0FSQic6IDB4ODhF
NiwKKyAgJ0RZTkFNSUNfRFJBV19BUkInOiAweDg4RTgsCisgICdEWU5BTUlDX1JFQURfQVJCJzog
MHg4OEU5LAorICAnRFlOQU1JQ19DT1BZX0FSQic6IDB4ODhFQSwKKyAgJ0NPTE9SX1NVTV9BUkIn
OiAweDg0NTgsCisgICdWRVJURVhfUFJPR1JBTV9BUkInOiAweDg2MjAsCisgICdWRVJURVhfQVRU
UklCX0FSUkFZX0VOQUJMRURfQVJCJzogMHg4NjIyLAorICAnVkVSVEVYX0FUVFJJQl9BUlJBWV9T
SVpFX0FSQic6IDB4ODYyMywKKyAgJ1ZFUlRFWF9BVFRSSUJfQVJSQVlfU1RSSURFX0FSQic6IDB4
ODYyNCwKKyAgJ1ZFUlRFWF9BVFRSSUJfQVJSQVlfVFlQRV9BUkInOiAweDg2MjUsCisgICdDVVJS
RU5UX1ZFUlRFWF9BVFRSSUJfQVJCJzogMHg4NjI2LAorICAnUFJPR1JBTV9MRU5HVEhfQVJCJzog
MHg4NjI3LAorICAnUFJPR1JBTV9TVFJJTkdfQVJCJzogMHg4NjI4LAorICAnTUFYX1BST0dSQU1f
TUFUUklYX1NUQUNLX0RFUFRIX0FSQic6IDB4ODYyRSwKKyAgJ01BWF9QUk9HUkFNX01BVFJJQ0VT
X0FSQic6IDB4ODYyRiwKKyAgJ0NVUlJFTlRfTUFUUklYX1NUQUNLX0RFUFRIX0FSQic6IDB4ODY0
MCwKKyAgJ0NVUlJFTlRfTUFUUklYX0FSQic6IDB4ODY0MSwKKyAgJ1ZFUlRFWF9QUk9HUkFNX1BP
SU5UX1NJWkVfQVJCJzogMHg4NjQyLAorICAnVkVSVEVYX1BST0dSQU1fVFdPX1NJREVfQVJCJzog
MHg4NjQzLAorICAnVkVSVEVYX0FUVFJJQl9BUlJBWV9QT0lOVEVSX0FSQic6IDB4ODY0NSwKKyAg
J1BST0dSQU1fRVJST1JfUE9TSVRJT05fQVJCJzogMHg4NjRCLAorICAnUFJPR1JBTV9CSU5ESU5H
X0FSQic6IDB4ODY3NywKKyAgJ01BWF9WRVJURVhfQVRUUklCU19BUkInOiAweDg4NjksCisgICdW
RVJURVhfQVRUUklCX0FSUkFZX05PUk1BTElaRURfQVJCJzogMHg4ODZBLAorICAnUFJPR1JBTV9F
UlJPUl9TVFJJTkdfQVJCJzogMHg4ODc0LAorICAnUFJPR1JBTV9GT1JNQVRfQVNDSUlfQVJCJzog
MHg4ODc1LAorICAnUFJPR1JBTV9GT1JNQVRfQVJCJzogMHg4ODc2LAorICAnUFJPR1JBTV9JTlNU
UlVDVElPTlNfQVJCJzogMHg4OEEwLAorICAnTUFYX1BST0dSQU1fSU5TVFJVQ1RJT05TX0FSQic6
IDB4ODhBMSwKKyAgJ1BST0dSQU1fTkFUSVZFX0lOU1RSVUNUSU9OU19BUkInOiAweDg4QTIsCisg
ICdNQVhfUFJPR1JBTV9OQVRJVkVfSU5TVFJVQ1RJT05TX0FSQic6IDB4ODhBMywKKyAgJ1BST0dS
QU1fVEVNUE9SQVJJRVNfQVJCJzogMHg4OEE0LAorICAnTUFYX1BST0dSQU1fVEVNUE9SQVJJRVNf
QVJCJzogMHg4OEE1LAorICAnUFJPR1JBTV9OQVRJVkVfVEVNUE9SQVJJRVNfQVJCJzogMHg4OEE2
LAorICAnTUFYX1BST0dSQU1fTkFUSVZFX1RFTVBPUkFSSUVTX0FSQic6IDB4ODhBNywKKyAgJ1BS
T0dSQU1fUEFSQU1FVEVSU19BUkInOiAweDg4QTgsCisgICdNQVhfUFJPR1JBTV9QQVJBTUVURVJT
X0FSQic6IDB4ODhBOSwKKyAgJ1BST0dSQU1fTkFUSVZFX1BBUkFNRVRFUlNfQVJCJzogMHg4OEFB
LAorICAnTUFYX1BST0dSQU1fTkFUSVZFX1BBUkFNRVRFUlNfQVJCJzogMHg4OEFCLAorICAnUFJP
R1JBTV9BVFRSSUJTX0FSQic6IDB4ODhBQywKKyAgJ01BWF9QUk9HUkFNX0FUVFJJQlNfQVJCJzog
MHg4OEFELAorICAnUFJPR1JBTV9OQVRJVkVfQVRUUklCU19BUkInOiAweDg4QUUsCisgICdNQVhf
UFJPR1JBTV9OQVRJVkVfQVRUUklCU19BUkInOiAweDg4QUYsCisgICdQUk9HUkFNX0FERFJFU1Nf
UkVHSVNURVJTX0FSQic6IDB4ODhCMCwKKyAgJ01BWF9QUk9HUkFNX0FERFJFU1NfUkVHSVNURVJT
X0FSQic6IDB4ODhCMSwKKyAgJ1BST0dSQU1fTkFUSVZFX0FERFJFU1NfUkVHSVNURVJTX0FSQic6
IDB4ODhCMiwKKyAgJ01BWF9QUk9HUkFNX05BVElWRV9BRERSRVNTX1JFR0lTVEVSU19BUkInOiAw
eDg4QjMsCisgICdNQVhfUFJPR1JBTV9MT0NBTF9QQVJBTUVURVJTX0FSQic6IDB4ODhCNCwKKyAg
J01BWF9QUk9HUkFNX0VOVl9QQVJBTUVURVJTX0FSQic6IDB4ODhCNSwKKyAgJ1BST0dSQU1fVU5E
RVJfTkFUSVZFX0xJTUlUU19BUkInOiAweDg4QjYsCisgICdUUkFOU1BPU0VfQ1VSUkVOVF9NQVRS
SVhfQVJCJzogMHg4OEI3LAorICAnTUFUUklYMF9BUkInOiAweDg4QzAsCisgICdNQVRSSVgxX0FS
Qic6IDB4ODhDMSwKKyAgJ01BVFJJWDJfQVJCJzogMHg4OEMyLAorICAnTUFUUklYM19BUkInOiAw
eDg4QzMsCisgICdNQVRSSVg0X0FSQic6IDB4ODhDNCwKKyAgJ01BVFJJWDVfQVJCJzogMHg4OEM1
LAorICAnTUFUUklYNl9BUkInOiAweDg4QzYsCisgICdNQVRSSVg3X0FSQic6IDB4ODhDNywKKyAg
J01BVFJJWDhfQVJCJzogMHg4OEM4LAorICAnTUFUUklYOV9BUkInOiAweDg4QzksCisgICdNQVRS
SVgxMF9BUkInOiAweDg4Q0EsCisgICdNQVRSSVgxMV9BUkInOiAweDg4Q0IsCisgICdNQVRSSVgx
Ml9BUkInOiAweDg4Q0MsCisgICdNQVRSSVgxM19BUkInOiAweDg4Q0QsCisgICdNQVRSSVgxNF9B
UkInOiAweDg4Q0UsCisgICdNQVRSSVgxNV9BUkInOiAweDg4Q0YsCisgICdNQVRSSVgxNl9BUkIn
OiAweDg4RDAsCisgICdNQVRSSVgxN19BUkInOiAweDg4RDEsCisgICdNQVRSSVgxOF9BUkInOiAw
eDg4RDIsCisgICdNQVRSSVgxOV9BUkInOiAweDg4RDMsCisgICdNQVRSSVgyMF9BUkInOiAweDg4
RDQsCisgICdNQVRSSVgyMV9BUkInOiAweDg4RDUsCisgICdNQVRSSVgyMl9BUkInOiAweDg4RDYs
CisgICdNQVRSSVgyM19BUkInOiAweDg4RDcsCisgICdNQVRSSVgyNF9BUkInOiAweDg4RDgsCisg
ICdNQVRSSVgyNV9BUkInOiAweDg4RDksCisgICdNQVRSSVgyNl9BUkInOiAweDg4REEsCisgICdN
QVRSSVgyN19BUkInOiAweDg4REIsCisgICdNQVRSSVgyOF9BUkInOiAweDg4REMsCisgICdNQVRS
SVgyOV9BUkInOiAweDg4REQsCisgICdNQVRSSVgzMF9BUkInOiAweDg4REUsCisgICdNQVRSSVgz
MV9BUkInOiAweDg4REYsCisgICdWRVJURVhfU0hBREVSX0FSQic6IDB4OEIzMSwKKyAgJ01BWF9W
RVJURVhfVU5JRk9STV9DT01QT05FTlRTX0FSQic6IDB4OEI0QSwKKyAgJ01BWF9WQVJZSU5HX0ZM
T0FUU19BUkInOiAweDhCNEIsCisgICdNQVhfVkVSVEVYX1RFWFRVUkVfSU1BR0VfVU5JVFNfQVJC
JzogMHg4QjRDLAorICAnTUFYX0NPTUJJTkVEX1RFWFRVUkVfSU1BR0VfVU5JVFNfQVJCJzogMHg4
QjRELAorICAnT0JKRUNUX0FDVElWRV9BVFRSSUJVVEVTX0FSQic6IDB4OEI4OSwKKyAgJ09CSkVD
VF9BQ1RJVkVfQVRUUklCVVRFX01BWF9MRU5HVEhfQVJCJzogMHg4QjhBLAorICAnVEVYVFVSRV9Q
T0lOVF9NT0RFX0FUSVgnOiAweDYwQjAsCisgICdURVhUVVJFX1BPSU5UX09ORV9DT09SRF9BVElY
JzogMHg2MEIxLAorICAnVEVYVFVSRV9QT0lOVF9TUFJJVEVfQVRJWCc6IDB4NjBCMiwKKyAgJ1BP
SU5UX1NQUklURV9DVUxMX01PREVfQVRJWCc6IDB4NjBCMywKKyAgJ1BPSU5UX1NQUklURV9DVUxM
X0NFTlRFUl9BVElYJzogMHg2MEI0LAorICAnUE9JTlRfU1BSSVRFX0NVTExfQ0xJUF9BVElYJzog
MHg2MEI1LAorICAnTU9EVUxBVEVfQUREX0FUSVgnOiAweDg3NDQsCisgICdNT0RVTEFURV9TSUdO
RURfQUREX0FUSVgnOiAweDg3NDUsCisgICdNT0RVTEFURV9TVUJUUkFDVF9BVElYJzogMHg4NzQ2
LAorICAnU0VDT05EQVJZX0NPTE9SX0FUSVgnOiAweDg3NDcsCisgICdURVhUVVJFX09VVFBVVF9S
R0JfQVRJWCc6IDB4ODc0OCwKKyAgJ1RFWFRVUkVfT1VUUFVUX0FMUEhBX0FUSVgnOiAweDg3NDks
CisgICdPVVRQVVRfUE9JTlRfU0laRV9BVElYJzogMHg2MTBFLAorICAnTUFYX0RSQVdfQlVGRkVS
U19BVEknOiAweDg4MjQsCisgICdEUkFXX0JVRkZFUjBfQVRJJzogMHg4ODI1LAorICAnRFJBV19C
VUZGRVIxX0FUSSc6IDB4ODgyNiwKKyAgJ0RSQVdfQlVGRkVSMl9BVEknOiAweDg4MjcsCisgICdE
UkFXX0JVRkZFUjNfQVRJJzogMHg4ODI4LAorICAnRFJBV19CVUZGRVI0X0FUSSc6IDB4ODgyOSwK
KyAgJ0RSQVdfQlVGRkVSNV9BVEknOiAweDg4MkEsCisgICdEUkFXX0JVRkZFUjZfQVRJJzogMHg4
ODJCLAorICAnRFJBV19CVUZGRVI3X0FUSSc6IDB4ODgyQywKKyAgJ0RSQVdfQlVGRkVSOF9BVEkn
OiAweDg4MkQsCisgICdEUkFXX0JVRkZFUjlfQVRJJzogMHg4ODJFLAorICAnRFJBV19CVUZGRVIx
MF9BVEknOiAweDg4MkYsCisgICdEUkFXX0JVRkZFUjExX0FUSSc6IDB4ODgzMCwKKyAgJ0RSQVdf
QlVGRkVSMTJfQVRJJzogMHg4ODMxLAorICAnRFJBV19CVUZGRVIxM19BVEknOiAweDg4MzIsCisg
ICdEUkFXX0JVRkZFUjE0X0FUSSc6IDB4ODgzMywKKyAgJ0RSQVdfQlVGRkVSMTVfQVRJJzogMHg4
ODM0LAorICAnRUxFTUVOVF9BUlJBWV9BVEknOiAweDg3NjgsCisgICdFTEVNRU5UX0FSUkFZX1RZ
UEVfQVRJJzogMHg4NzY5LAorICAnRUxFTUVOVF9BUlJBWV9QT0lOVEVSX0FUSSc6IDB4ODc2QSwK
KyAgJ0JVTVBfUk9UX01BVFJJWF9BVEknOiAweDg3NzUsCisgICdCVU1QX1JPVF9NQVRSSVhfU0la
RV9BVEknOiAweDg3NzYsCisgICdCVU1QX05VTV9URVhfVU5JVFNfQVRJJzogMHg4Nzc3LAorICAn
QlVNUF9URVhfVU5JVFNfQVRJJzogMHg4Nzc4LAorICAnRFVEVl9BVEknOiAweDg3NzksCisgICdE
VThEVjhfQVRJJzogMHg4NzdBLAorICAnQlVNUF9FTlZNQVBfQVRJJzogMHg4NzdCLAorICAnQlVN
UF9UQVJHRVRfQVRJJzogMHg4NzdDLAorICAnUkVEX0JJVF9BVEknOiAweDAwMDAwMDAxLAorICAn
MlhfQklUX0FUSSc6IDB4MDAwMDAwMDEsCisgICc0WF9CSVRfQVRJJzogMHgwMDAwMDAwMiwKKyAg
J0dSRUVOX0JJVF9BVEknOiAweDAwMDAwMDAyLAorICAnQ09NUF9CSVRfQVRJJzogMHgwMDAwMDAw
MiwKKyAgJ0JMVUVfQklUX0FUSSc6IDB4MDAwMDAwMDQsCisgICc4WF9CSVRfQVRJJzogMHgwMDAw
MDAwNCwKKyAgJ05FR0FURV9CSVRfQVRJJzogMHgwMDAwMDAwNCwKKyAgJ0JJQVNfQklUX0FUSSc6
IDB4MDAwMDAwMDgsCisgICdIQUxGX0JJVF9BVEknOiAweDAwMDAwMDA4LAorICAnUVVBUlRFUl9C
SVRfQVRJJzogMHgwMDAwMDAxMCwKKyAgJ0VJR0hUSF9CSVRfQVRJJzogMHgwMDAwMDAyMCwKKyAg
J1NBVFVSQVRFX0JJVF9BVEknOiAweDAwMDAwMDQwLAorICAnRlJBR01FTlRfU0hBREVSX0FUSSc6
IDB4ODkyMCwKKyAgJ1JFR18wX0FUSSc6IDB4ODkyMSwKKyAgJ1JFR18xX0FUSSc6IDB4ODkyMiwK
KyAgJ1JFR18yX0FUSSc6IDB4ODkyMywKKyAgJ1JFR18zX0FUSSc6IDB4ODkyNCwKKyAgJ1JFR180
X0FUSSc6IDB4ODkyNSwKKyAgJ1JFR181X0FUSSc6IDB4ODkyNiwKKyAgJ0NPTl8wX0FUSSc6IDB4
ODk0MSwKKyAgJ0NPTl8xX0FUSSc6IDB4ODk0MiwKKyAgJ0NPTl8yX0FUSSc6IDB4ODk0MywKKyAg
J0NPTl8zX0FUSSc6IDB4ODk0NCwKKyAgJ0NPTl80X0FUSSc6IDB4ODk0NSwKKyAgJ0NPTl81X0FU
SSc6IDB4ODk0NiwKKyAgJ0NPTl82X0FUSSc6IDB4ODk0NywKKyAgJ0NPTl83X0FUSSc6IDB4ODk0
OCwKKyAgJ01PVl9BVEknOiAweDg5NjEsCisgICdBRERfQVRJJzogMHg4OTYzLAorICAnTVVMX0FU
SSc6IDB4ODk2NCwKKyAgJ1NVQl9BVEknOiAweDg5NjUsCisgICdET1QzX0FUSSc6IDB4ODk2NiwK
KyAgJ0RPVDRfQVRJJzogMHg4OTY3LAorICAnTUFEX0FUSSc6IDB4ODk2OCwKKyAgJ0xFUlBfQVRJ
JzogMHg4OTY5LAorICAnQ05EX0FUSSc6IDB4ODk2QSwKKyAgJ0NORDBfQVRJJzogMHg4OTZCLAor
ICAnRE9UMl9BRERfQVRJJzogMHg4OTZDLAorICAnU0VDT05EQVJZX0lOVEVSUE9MQVRPUl9BVEkn
OiAweDg5NkQsCisgICdOVU1fRlJBR01FTlRfUkVHSVNURVJTX0FUSSc6IDB4ODk2RSwKKyAgJ05V
TV9GUkFHTUVOVF9DT05TVEFOVFNfQVRJJzogMHg4OTZGLAorICAnTlVNX1BBU1NFU19BVEknOiAw
eDg5NzAsCisgICdOVU1fSU5TVFJVQ1RJT05TX1BFUl9QQVNTX0FUSSc6IDB4ODk3MSwKKyAgJ05V
TV9JTlNUUlVDVElPTlNfVE9UQUxfQVRJJzogMHg4OTcyLAorICAnTlVNX0lOUFVUX0lOVEVSUE9M
QVRPUl9DT01QT05FTlRTX0FUSSc6IDB4ODk3MywKKyAgJ05VTV9MT09QQkFDS19DT01QT05FTlRT
X0FUSSc6IDB4ODk3NCwKKyAgJ0NPTE9SX0FMUEhBX1BBSVJJTkdfQVRJJzogMHg4OTc1LAorICAn
U1dJWlpMRV9TVFJfQVRJJzogMHg4OTc2LAorICAnU1dJWlpMRV9TVFFfQVRJJzogMHg4OTc3LAor
ICAnU1dJWlpMRV9TVFJfRFJfQVRJJzogMHg4OTc4LAorICAnU1dJWlpMRV9TVFFfRFFfQVRJJzog
MHg4OTc5LAorICAnU1dJWlpMRV9TVFJRX0FUSSc6IDB4ODk3QSwKKyAgJ1NXSVpaTEVfU1RSUV9E
UV9BVEknOiAweDg5N0IsCisgICdQTl9UUklBTkdMRVNfQVRJJzogMHg4N0YwLAorICAnTUFYX1BO
X1RSSUFOR0xFU19URVNTRUxBVElPTl9MRVZFTF9BVEknOiAweDg3RjEsCisgICdQTl9UUklBTkdM
RVNfUE9JTlRfTU9ERV9BVEknOiAweDg3RjIsCisgICdQTl9UUklBTkdMRVNfTk9STUFMX01PREVf
QVRJJzogMHg4N0YzLAorICAnUE5fVFJJQU5HTEVTX1RFU1NFTEFUSU9OX0xFVkVMX0FUSSc6IDB4
ODdGNCwKKyAgJ1BOX1RSSUFOR0xFU19QT0lOVF9NT0RFX0xJTkVBUl9BVEknOiAweDg3RjUsCisg
ICdQTl9UUklBTkdMRVNfUE9JTlRfTU9ERV9DVUJJQ19BVEknOiAweDg3RjYsCisgICdQTl9UUklB
TkdMRVNfTk9STUFMX01PREVfTElORUFSX0FUSSc6IDB4ODdGNywKKyAgJ1BOX1RSSUFOR0xFU19O
T1JNQUxfTU9ERV9RVUFEUkFUSUNfQVRJJzogMHg4N0Y4LAorICAnU1RFTkNJTF9CQUNLX0ZVTkNf
QVRJJzogMHg4ODAwLAorICAnU1RFTkNJTF9CQUNLX0ZBSUxfQVRJJzogMHg4ODAxLAorICAnU1RF
TkNJTF9CQUNLX1BBU1NfREVQVEhfRkFJTF9BVEknOiAweDg4MDIsCisgICdTVEVOQ0lMX0JBQ0tf
UEFTU19ERVBUSF9QQVNTX0FUSSc6IDB4ODgwMywKKyAgJ1RFWFRfRlJBR01FTlRfU0hBREVSX0FU
SSc6IDB4ODIwMCwKKyAgJ0NPTVBSRVNTRURfTFVNSU5BTkNFX0FMUEhBXzNEQ19BVEknOiAweDg4
MzcsCisgICdNT0RVTEFURV9BRERfQVRJJzogMHg4NzQ0LAorICAnTU9EVUxBVEVfU0lHTkVEX0FE
RF9BVEknOiAweDg3NDUsCisgICdNT0RVTEFURV9TVUJUUkFDVF9BVEknOiAweDg3NDYsCisgICdS
R0JBX0ZMT0FUMzJfQVRJJzogMHg4ODE0LAorICAnUkdCX0ZMT0FUMzJfQVRJJzogMHg4ODE1LAor
ICAnQUxQSEFfRkxPQVQzMl9BVEknOiAweDg4MTYsCisgICdJTlRFTlNJVFlfRkxPQVQzMl9BVEkn
OiAweDg4MTcsCisgICdMVU1JTkFOQ0VfRkxPQVQzMl9BVEknOiAweDg4MTgsCisgICdMVU1JTkFO
Q0VfQUxQSEFfRkxPQVQzMl9BVEknOiAweDg4MTksCisgICdSR0JBX0ZMT0FUMTZfQVRJJzogMHg4
ODFBLAorICAnUkdCX0ZMT0FUMTZfQVRJJzogMHg4ODFCLAorICAnQUxQSEFfRkxPQVQxNl9BVEkn
OiAweDg4MUMsCisgICdJTlRFTlNJVFlfRkxPQVQxNl9BVEknOiAweDg4MUQsCisgICdMVU1JTkFO
Q0VfRkxPQVQxNl9BVEknOiAweDg4MUUsCisgICdMVU1JTkFOQ0VfQUxQSEFfRkxPQVQxNl9BVEkn
OiAweDg4MUYsCisgICdNSVJST1JfQ0xBTVBfQVRJJzogMHg4NzQyLAorICAnTUlSUk9SX0NMQU1Q
X1RPX0VER0VfQVRJJzogMHg4NzQzLAorICAnU1RBVElDX0FUSSc6IDB4ODc2MCwKKyAgJ0RZTkFN
SUNfQVRJJzogMHg4NzYxLAorICAnUFJFU0VSVkVfQVRJJzogMHg4NzYyLAorICAnRElTQ0FSRF9B
VEknOiAweDg3NjMsCisgICdPQkpFQ1RfQlVGRkVSX1NJWkVfQVRJJzogMHg4NzY0LAorICAnT0JK
RUNUX0JVRkZFUl9VU0FHRV9BVEknOiAweDg3NjUsCisgICdBUlJBWV9PQkpFQ1RfQlVGRkVSX0FU
SSc6IDB4ODc2NiwKKyAgJ0FSUkFZX09CSkVDVF9PRkZTRVRfQVRJJzogMHg4NzY3LAorICAnTUFY
X1ZFUlRFWF9TVFJFQU1TX0FUSSc6IDB4ODc2QiwKKyAgJ1ZFUlRFWF9TT1VSQ0VfQVRJJzogMHg4
NzZDLAorICAnVkVSVEVYX1NUUkVBTTBfQVRJJzogMHg4NzZELAorICAnVkVSVEVYX1NUUkVBTTFf
QVRJJzogMHg4NzZFLAorICAnVkVSVEVYX1NUUkVBTTJfQVRJJzogMHg4NzZGLAorICAnVkVSVEVY
X1NUUkVBTTNfQVRJJzogMHg4NzcwLAorICAnVkVSVEVYX1NUUkVBTTRfQVRJJzogMHg4NzcxLAor
ICAnVkVSVEVYX1NUUkVBTTVfQVRJJzogMHg4NzcyLAorICAnVkVSVEVYX1NUUkVBTTZfQVRJJzog
MHg4NzczLAorICAnVkVSVEVYX1NUUkVBTTdfQVRJJzogMHg4Nzc0LAorICAnNDIyX0VYVCc6IDB4
ODBDQywKKyAgJzQyMl9SRVZfRVhUJzogMHg4MENELAorICAnNDIyX0FWRVJBR0VfRVhUJzogMHg4
MENFLAorICAnNDIyX1JFVl9BVkVSQUdFX0VYVCc6IDB4ODBDRiwKKyAgJ0NHX1ZFUlRFWF9TSEFE
RVJfRVhUJzogMHg4OTBFLAorICAnQ0dfRlJBR01FTlRfU0hBREVSX0VYVCc6IDB4ODkwRiwKKyAg
J0FCR1JfRVhUJzogMHg4MDAwLAorICAnQkdSX0VYVCc6IDB4ODBFMCwKKyAgJ0JHUkFfRVhUJzog
MHg4MEUxLAorICAnTUFYX1ZFUlRFWF9CSU5EQUJMRV9VTklGT1JNU19FWFQnOiAweDhERTIsCisg
ICdNQVhfRlJBR01FTlRfQklOREFCTEVfVU5JRk9STVNfRVhUJzogMHg4REUzLAorICAnTUFYX0dF
T01FVFJZX0JJTkRBQkxFX1VOSUZPUk1TX0VYVCc6IDB4OERFNCwKKyAgJ01BWF9CSU5EQUJMRV9V
TklGT1JNX1NJWkVfRVhUJzogMHg4REVELAorICAnVU5JRk9STV9CVUZGRVJfRVhUJzogMHg4REVF
LAorICAnVU5JRk9STV9CVUZGRVJfQklORElOR19FWFQnOiAweDhERUYsCisgICdDT05TVEFOVF9D
T0xPUl9FWFQnOiAweDgwMDEsCisgICdPTkVfTUlOVVNfQ09OU1RBTlRfQ09MT1JfRVhUJzogMHg4
MDAyLAorICAnQ09OU1RBTlRfQUxQSEFfRVhUJzogMHg4MDAzLAorICAnT05FX01JTlVTX0NPTlNU
QU5UX0FMUEhBX0VYVCc6IDB4ODAwNCwKKyAgJ0JMRU5EX0NPTE9SX0VYVCc6IDB4ODAwNSwKKyAg
J0JMRU5EX0VRVUFUSU9OX1JHQl9FWFQnOiAweDgwMDksCisgICdCTEVORF9FUVVBVElPTl9BTFBI
QV9FWFQnOiAweDg4M0QsCisgICdCTEVORF9EU1RfUkdCX0VYVCc6IDB4ODBDOCwKKyAgJ0JMRU5E
X1NSQ19SR0JfRVhUJzogMHg4MEM5LAorICAnQkxFTkRfRFNUX0FMUEhBX0VYVCc6IDB4ODBDQSwK
KyAgJ0JMRU5EX1NSQ19BTFBIQV9FWFQnOiAweDgwQ0IsCisgICdGVU5DX0FERF9FWFQnOiAweDgw
MDYsCisgICdNSU5fRVhUJzogMHg4MDA3LAorICAnTUFYX0VYVCc6IDB4ODAwOCwKKyAgJ0JMRU5E
X0VRVUFUSU9OX0VYVCc6IDB4ODAwOSwKKyAgJ0ZVTkNfU1VCVFJBQ1RfRVhUJzogMHg4MDBBLAor
ICAnRlVOQ19SRVZFUlNFX1NVQlRSQUNUX0VYVCc6IDB4ODAwQiwKKyAgJ0NMSVBfVk9MVU1FX0NM
SVBQSU5HX0hJTlRfRVhUJzogMHg4MEYwLAorICAnQ01ZS19FWFQnOiAweDgwMEMsCisgICdDTVlL
QV9FWFQnOiAweDgwMEQsCisgICdQQUNLX0NNWUtfSElOVF9FWFQnOiAweDgwMEUsCisgICdVTlBB
Q0tfQ01ZS19ISU5UX0VYVCc6IDB4ODAwRiwKKyAgJ0FSUkFZX0VMRU1FTlRfTE9DS19GSVJTVF9F
WFQnOiAweDgxQTgsCisgICdBUlJBWV9FTEVNRU5UX0xPQ0tfQ09VTlRfRVhUJzogMHg4MUE5LAor
ICAnQ09OVk9MVVRJT05fMURfRVhUJzogMHg4MDEwLAorICAnQ09OVk9MVVRJT05fMkRfRVhUJzog
MHg4MDExLAorICAnU0VQQVJBQkxFXzJEX0VYVCc6IDB4ODAxMiwKKyAgJ0NPTlZPTFVUSU9OX0JP
UkRFUl9NT0RFX0VYVCc6IDB4ODAxMywKKyAgJ0NPTlZPTFVUSU9OX0ZJTFRFUl9TQ0FMRV9FWFQn
OiAweDgwMTQsCisgICdDT05WT0xVVElPTl9GSUxURVJfQklBU19FWFQnOiAweDgwMTUsCisgICdS
RURVQ0VfRVhUJzogMHg4MDE2LAorICAnQ09OVk9MVVRJT05fRk9STUFUX0VYVCc6IDB4ODAxNywK
KyAgJ0NPTlZPTFVUSU9OX1dJRFRIX0VYVCc6IDB4ODAxOCwKKyAgJ0NPTlZPTFVUSU9OX0hFSUdI
VF9FWFQnOiAweDgwMTksCisgICdNQVhfQ09OVk9MVVRJT05fV0lEVEhfRVhUJzogMHg4MDFBLAor
ICAnTUFYX0NPTlZPTFVUSU9OX0hFSUdIVF9FWFQnOiAweDgwMUIsCisgICdQT1NUX0NPTlZPTFVU
SU9OX1JFRF9TQ0FMRV9FWFQnOiAweDgwMUMsCisgICdQT1NUX0NPTlZPTFVUSU9OX0dSRUVOX1ND
QUxFX0VYVCc6IDB4ODAxRCwKKyAgJ1BPU1RfQ09OVk9MVVRJT05fQkxVRV9TQ0FMRV9FWFQnOiAw
eDgwMUUsCisgICdQT1NUX0NPTlZPTFVUSU9OX0FMUEhBX1NDQUxFX0VYVCc6IDB4ODAxRiwKKyAg
J1BPU1RfQ09OVk9MVVRJT05fUkVEX0JJQVNfRVhUJzogMHg4MDIwLAorICAnUE9TVF9DT05WT0xV
VElPTl9HUkVFTl9CSUFTX0VYVCc6IDB4ODAyMSwKKyAgJ1BPU1RfQ09OVk9MVVRJT05fQkxVRV9C
SUFTX0VYVCc6IDB4ODAyMiwKKyAgJ1BPU1RfQ09OVk9MVVRJT05fQUxQSEFfQklBU19FWFQnOiAw
eDgwMjMsCisgICdUQU5HRU5UX0FSUkFZX0VYVCc6IDB4ODQzOSwKKyAgJ0JJTk9STUFMX0FSUkFZ
X0VYVCc6IDB4ODQzQSwKKyAgJ0NVUlJFTlRfVEFOR0VOVF9FWFQnOiAweDg0M0IsCisgICdDVVJS
RU5UX0JJTk9STUFMX0VYVCc6IDB4ODQzQywKKyAgJ1RBTkdFTlRfQVJSQVlfVFlQRV9FWFQnOiAw
eDg0M0UsCisgICdUQU5HRU5UX0FSUkFZX1NUUklERV9FWFQnOiAweDg0M0YsCisgICdCSU5PUk1B
TF9BUlJBWV9UWVBFX0VYVCc6IDB4ODQ0MCwKKyAgJ0JJTk9STUFMX0FSUkFZX1NUUklERV9FWFQn
OiAweDg0NDEsCisgICdUQU5HRU5UX0FSUkFZX1BPSU5URVJfRVhUJzogMHg4NDQyLAorICAnQklO
T1JNQUxfQVJSQVlfUE9JTlRFUl9FWFQnOiAweDg0NDMsCisgICdNQVAxX1RBTkdFTlRfRVhUJzog
MHg4NDQ0LAorICAnTUFQMl9UQU5HRU5UX0VYVCc6IDB4ODQ0NSwKKyAgJ01BUDFfQklOT1JNQUxf
RVhUJzogMHg4NDQ2LAorICAnTUFQMl9CSU5PUk1BTF9FWFQnOiAweDg0NDcsCisgICdERVBUSF9C
T1VORFNfVEVTVF9FWFQnOiAweDg4OTAsCisgICdERVBUSF9CT1VORFNfRVhUJzogMHg4ODkxLAor
ICAnUFJPR1JBTV9NQVRSSVhfRVhUJzogMHg4RTJELAorICAnVFJBTlNQT1NFX1BST0dSQU1fTUFU
UklYX0VYVCc6IDB4OEUyRSwKKyAgJ1BST0dSQU1fTUFUUklYX1NUQUNLX0RFUFRIX0VYVCc6IDB4
OEUyRiwKKyAgJ01BWF9FTEVNRU5UU19WRVJUSUNFUyc6IDB4ODBFOCwKKyAgJ01BWF9FTEVNRU5U
U19JTkRJQ0VTJzogMHg4MEU5LAorICAnRk9HX0NPT1JESU5BVEVfU09VUkNFX0VYVCc6IDB4ODQ1
MCwKKyAgJ0ZPR19DT09SRElOQVRFX0VYVCc6IDB4ODQ1MSwKKyAgJ0ZSQUdNRU5UX0RFUFRIX0VY
VCc6IDB4ODQ1MiwKKyAgJ0NVUlJFTlRfRk9HX0NPT1JESU5BVEVfRVhUJzogMHg4NDUzLAorICAn
Rk9HX0NPT1JESU5BVEVfQVJSQVlfVFlQRV9FWFQnOiAweDg0NTQsCisgICdGT0dfQ09PUkRJTkFU
RV9BUlJBWV9TVFJJREVfRVhUJzogMHg4NDU1LAorICAnRk9HX0NPT1JESU5BVEVfQVJSQVlfUE9J
TlRFUl9FWFQnOiAweDg0NTYsCisgICdGT0dfQ09PUkRJTkFURV9BUlJBWV9FWFQnOiAweDg0NTcs
CisgICdGUkFHTUVOVF9MSUdIVElOR19FWFQnOiAweDg0MDAsCisgICdGUkFHTUVOVF9DT0xPUl9N
QVRFUklBTF9FWFQnOiAweDg0MDEsCisgICdGUkFHTUVOVF9DT0xPUl9NQVRFUklBTF9GQUNFX0VY
VCc6IDB4ODQwMiwKKyAgJ0ZSQUdNRU5UX0NPTE9SX01BVEVSSUFMX1BBUkFNRVRFUl9FWFQnOiAw
eDg0MDMsCisgICdNQVhfRlJBR01FTlRfTElHSFRTX0VYVCc6IDB4ODQwNCwKKyAgJ01BWF9BQ1RJ
VkVfTElHSFRTX0VYVCc6IDB4ODQwNSwKKyAgJ0NVUlJFTlRfUkFTVEVSX05PUk1BTF9FWFQnOiAw
eDg0MDYsCisgICdMSUdIVF9FTlZfTU9ERV9FWFQnOiAweDg0MDcsCisgICdGUkFHTUVOVF9MSUdI
VF9NT0RFTF9MT0NBTF9WSUVXRVJfRVhUJzogMHg4NDA4LAorICAnRlJBR01FTlRfTElHSFRfTU9E
RUxfVFdPX1NJREVfRVhUJzogMHg4NDA5LAorICAnRlJBR01FTlRfTElHSFRfTU9ERUxfQU1CSUVO
VF9FWFQnOiAweDg0MEEsCisgICdGUkFHTUVOVF9MSUdIVF9NT0RFTF9OT1JNQUxfSU5URVJQT0xB
VElPTl9FWFQnOiAweDg0MEIsCisgICdGUkFHTUVOVF9MSUdIVDBfRVhUJzogMHg4NDBDLAorICAn
RlJBR01FTlRfTElHSFQ3X0VYVCc6IDB4ODQxMywKKyAgJ0RSQVdfRlJBTUVCVUZGRVJfQklORElO
R19FWFQnOiAweDhDQTYsCisgICdSRUFEX0ZSQU1FQlVGRkVSX0VYVCc6IDB4OENBOCwKKyAgJ0RS
QVdfRlJBTUVCVUZGRVJfRVhUJzogMHg4Q0E5LAorICAnUkVBRF9GUkFNRUJVRkZFUl9CSU5ESU5H
X0VYVCc6IDB4OENBQSwKKyAgJ1JFTkRFUkJVRkZFUl9TQU1QTEVTX0VYVCc6IDB4OENBQiwKKyAg
J0ZSQU1FQlVGRkVSX0lOQ09NUExFVEVfTVVMVElTQU1QTEVfRVhUJzogMHg4RDU2LAorICAnTUFY
X1NBTVBMRVNfRVhUJzogMHg4RDU3LAorICAnSU5WQUxJRF9GUkFNRUJVRkZFUl9PUEVSQVRJT05f
RVhUJzogMHgwNTA2LAorICAnTUFYX1JFTkRFUkJVRkZFUl9TSVpFX0VYVCc6IDB4ODRFOCwKKyAg
J0ZSQU1FQlVGRkVSX0JJTkRJTkdfRVhUJzogMHg4Q0E2LAorICAnUkVOREVSQlVGRkVSX0JJTkRJ
TkdfRVhUJzogMHg4Q0E3LAorICAnRlJBTUVCVUZGRVJfQVRUQUNITUVOVF9PQkpFQ1RfVFlQRV9F
WFQnOiAweDhDRDAsCisgICdGUkFNRUJVRkZFUl9BVFRBQ0hNRU5UX09CSkVDVF9OQU1FX0VYVCc6
IDB4OENEMSwKKyAgJ0ZSQU1FQlVGRkVSX0FUVEFDSE1FTlRfVEVYVFVSRV9MRVZFTF9FWFQnOiAw
eDhDRDIsCisgICdGUkFNRUJVRkZFUl9BVFRBQ0hNRU5UX1RFWFRVUkVfQ1VCRV9NQVBfRkFDRV9F
WFQnOiAweDhDRDMsCisgICdGUkFNRUJVRkZFUl9BVFRBQ0hNRU5UX1RFWFRVUkVfM0RfWk9GRlNF
VF9FWFQnOiAweDhDRDQsCisgICdGUkFNRUJVRkZFUl9DT01QTEVURV9FWFQnOiAweDhDRDUsCisg
ICdGUkFNRUJVRkZFUl9JTkNPTVBMRVRFX0FUVEFDSE1FTlRfRVhUJzogMHg4Q0Q2LAorICAnRlJB
TUVCVUZGRVJfSU5DT01QTEVURV9NSVNTSU5HX0FUVEFDSE1FTlRfRVhUJzogMHg4Q0Q3LAorICAn
RlJBTUVCVUZGRVJfSU5DT01QTEVURV9ESU1FTlNJT05TX0VYVCc6IDB4OENEOSwKKyAgJ0ZSQU1F
QlVGRkVSX0lOQ09NUExFVEVfRk9STUFUU19FWFQnOiAweDhDREEsCisgICdGUkFNRUJVRkZFUl9J
TkNPTVBMRVRFX0RSQVdfQlVGRkVSX0VYVCc6IDB4OENEQiwKKyAgJ0ZSQU1FQlVGRkVSX0lOQ09N
UExFVEVfUkVBRF9CVUZGRVJfRVhUJzogMHg4Q0RDLAorICAnRlJBTUVCVUZGRVJfVU5TVVBQT1JU
RURfRVhUJzogMHg4Q0RELAorICAnTUFYX0NPTE9SX0FUVEFDSE1FTlRTX0VYVCc6IDB4OENERiwK
KyAgJ0NPTE9SX0FUVEFDSE1FTlQwX0VYVCc6IDB4OENFMCwKKyAgJ0NPTE9SX0FUVEFDSE1FTlQx
X0VYVCc6IDB4OENFMSwKKyAgJ0NPTE9SX0FUVEFDSE1FTlQyX0VYVCc6IDB4OENFMiwKKyAgJ0NP
TE9SX0FUVEFDSE1FTlQzX0VYVCc6IDB4OENFMywKKyAgJ0NPTE9SX0FUVEFDSE1FTlQ0X0VYVCc6
IDB4OENFNCwKKyAgJ0NPTE9SX0FUVEFDSE1FTlQ1X0VYVCc6IDB4OENFNSwKKyAgJ0NPTE9SX0FU
VEFDSE1FTlQ2X0VYVCc6IDB4OENFNiwKKyAgJ0NPTE9SX0FUVEFDSE1FTlQ3X0VYVCc6IDB4OENF
NywKKyAgJ0NPTE9SX0FUVEFDSE1FTlQ4X0VYVCc6IDB4OENFOCwKKyAgJ0NPTE9SX0FUVEFDSE1F
TlQ5X0VYVCc6IDB4OENFOSwKKyAgJ0NPTE9SX0FUVEFDSE1FTlQxMF9FWFQnOiAweDhDRUEsCisg
ICdDT0xPUl9BVFRBQ0hNRU5UMTFfRVhUJzogMHg4Q0VCLAorICAnQ09MT1JfQVRUQUNITUVOVDEy
X0VYVCc6IDB4OENFQywKKyAgJ0NPTE9SX0FUVEFDSE1FTlQxM19FWFQnOiAweDhDRUQsCisgICdD
T0xPUl9BVFRBQ0hNRU5UMTRfRVhUJzogMHg4Q0VFLAorICAnQ09MT1JfQVRUQUNITUVOVDE1X0VY
VCc6IDB4OENFRiwKKyAgJ0RFUFRIX0FUVEFDSE1FTlRfRVhUJzogMHg4RDAwLAorICAnU1RFTkNJ
TF9BVFRBQ0hNRU5UX0VYVCc6IDB4OEQyMCwKKyAgJ0ZSQU1FQlVGRkVSX0VYVCc6IDB4OEQ0MCwK
KyAgJ1JFTkRFUkJVRkZFUl9FWFQnOiAweDhENDEsCisgICdSRU5ERVJCVUZGRVJfV0lEVEhfRVhU
JzogMHg4RDQyLAorICAnUkVOREVSQlVGRkVSX0hFSUdIVF9FWFQnOiAweDhENDMsCisgICdSRU5E
RVJCVUZGRVJfSU5URVJOQUxfRk9STUFUX0VYVCc6IDB4OEQ0NCwKKyAgJ1NURU5DSUxfSU5ERVgx
X0VYVCc6IDB4OEQ0NiwKKyAgJ1NURU5DSUxfSU5ERVg0X0VYVCc6IDB4OEQ0NywKKyAgJ1NURU5D
SUxfSU5ERVg4X0VYVCc6IDB4OEQ0OCwKKyAgJ1NURU5DSUxfSU5ERVgxNl9FWFQnOiAweDhENDks
CisgICdSRU5ERVJCVUZGRVJfUkVEX1NJWkVfRVhUJzogMHg4RDUwLAorICAnUkVOREVSQlVGRkVS
X0dSRUVOX1NJWkVfRVhUJzogMHg4RDUxLAorICAnUkVOREVSQlVGRkVSX0JMVUVfU0laRV9FWFQn
OiAweDhENTIsCisgICdSRU5ERVJCVUZGRVJfQUxQSEFfU0laRV9FWFQnOiAweDhENTMsCisgICdS
RU5ERVJCVUZGRVJfREVQVEhfU0laRV9FWFQnOiAweDhENTQsCisgICdSRU5ERVJCVUZGRVJfU1RF
TkNJTF9TSVpFX0VYVCc6IDB4OEQ1NSwKKyAgJ0ZSQU1FQlVGRkVSX1NSR0JfRVhUJzogMHg4REI5
LAorICAnRlJBTUVCVUZGRVJfU1JHQl9DQVBBQkxFX0VYVCc6IDB4OERCQSwKKyAgJ0xJTkVTX0FE
SkFDRU5DWV9FWFQnOiAweEEsCisgICdMSU5FX1NUUklQX0FESkFDRU5DWV9FWFQnOiAweEIsCisg
ICdUUklBTkdMRVNfQURKQUNFTkNZX0VYVCc6IDB4QywKKyAgJ1RSSUFOR0xFX1NUUklQX0FESkFD
RU5DWV9FWFQnOiAweEQsCisgICdQUk9HUkFNX1BPSU5UX1NJWkVfRVhUJzogMHg4NjQyLAorICAn
TUFYX1ZBUllJTkdfQ09NUE9ORU5UU19FWFQnOiAweDhCNEIsCisgICdNQVhfR0VPTUVUUllfVEVY
VFVSRV9JTUFHRV9VTklUU19FWFQnOiAweDhDMjksCisgICdGUkFNRUJVRkZFUl9BVFRBQ0hNRU5U
X1RFWFRVUkVfTEFZRVJfRVhUJzogMHg4Q0Q0LAorICAnRlJBTUVCVUZGRVJfQVRUQUNITUVOVF9M
QVlFUkVEX0VYVCc6IDB4OERBNywKKyAgJ0ZSQU1FQlVGRkVSX0lOQ09NUExFVEVfTEFZRVJfVEFS
R0VUU19FWFQnOiAweDhEQTgsCisgICdGUkFNRUJVRkZFUl9JTkNPTVBMRVRFX0xBWUVSX0NPVU5U
X0VYVCc6IDB4OERBOSwKKyAgJ0dFT01FVFJZX1NIQURFUl9FWFQnOiAweDhERDksCisgICdHRU9N
RVRSWV9WRVJUSUNFU19PVVRfRVhUJzogMHg4RERBLAorICAnR0VPTUVUUllfSU5QVVRfVFlQRV9F
WFQnOiAweDhEREIsCisgICdHRU9NRVRSWV9PVVRQVVRfVFlQRV9FWFQnOiAweDhEREMsCisgICdN
QVhfR0VPTUVUUllfVkFSWUlOR19DT01QT05FTlRTX0VYVCc6IDB4OERERCwKKyAgJ01BWF9WRVJU
RVhfVkFSWUlOR19DT01QT05FTlRTX0VYVCc6IDB4OERERSwKKyAgJ01BWF9HRU9NRVRSWV9VTklG
T1JNX0NPTVBPTkVOVFNfRVhUJzogMHg4RERGLAorICAnTUFYX0dFT01FVFJZX09VVFBVVF9WRVJU
SUNFU19FWFQnOiAweDhERTAsCisgICdNQVhfR0VPTUVUUllfVE9UQUxfT1VUUFVUX0NPTVBPTkVO
VFNfRVhUJzogMHg4REUxLAorICAnVkVSVEVYX0FUVFJJQl9BUlJBWV9JTlRFR0VSX0VYVCc6IDB4
ODhGRCwKKyAgJ1NBTVBMRVJfMURfQVJSQVlfRVhUJzogMHg4REMwLAorICAnU0FNUExFUl8yRF9B
UlJBWV9FWFQnOiAweDhEQzEsCisgICdTQU1QTEVSX0JVRkZFUl9FWFQnOiAweDhEQzIsCisgICdT
QU1QTEVSXzFEX0FSUkFZX1NIQURPV19FWFQnOiAweDhEQzMsCisgICdTQU1QTEVSXzJEX0FSUkFZ
X1NIQURPV19FWFQnOiAweDhEQzQsCisgICdTQU1QTEVSX0NVQkVfU0hBRE9XX0VYVCc6IDB4OERD
NSwKKyAgJ1VOU0lHTkVEX0lOVF9WRUMyX0VYVCc6IDB4OERDNiwKKyAgJ1VOU0lHTkVEX0lOVF9W
RUMzX0VYVCc6IDB4OERDNywKKyAgJ1VOU0lHTkVEX0lOVF9WRUM0X0VYVCc6IDB4OERDOCwKKyAg
J0lOVF9TQU1QTEVSXzFEX0VYVCc6IDB4OERDOSwKKyAgJ0lOVF9TQU1QTEVSXzJEX0VYVCc6IDB4
OERDQSwKKyAgJ0lOVF9TQU1QTEVSXzNEX0VYVCc6IDB4OERDQiwKKyAgJ0lOVF9TQU1QTEVSX0NV
QkVfRVhUJzogMHg4RENDLAorICAnSU5UX1NBTVBMRVJfMkRfUkVDVF9FWFQnOiAweDhEQ0QsCisg
ICdJTlRfU0FNUExFUl8xRF9BUlJBWV9FWFQnOiAweDhEQ0UsCisgICdJTlRfU0FNUExFUl8yRF9B
UlJBWV9FWFQnOiAweDhEQ0YsCisgICdJTlRfU0FNUExFUl9CVUZGRVJfRVhUJzogMHg4REQwLAor
ICAnVU5TSUdORURfSU5UX1NBTVBMRVJfMURfRVhUJzogMHg4REQxLAorICAnVU5TSUdORURfSU5U
X1NBTVBMRVJfMkRfRVhUJzogMHg4REQyLAorICAnVU5TSUdORURfSU5UX1NBTVBMRVJfM0RfRVhU
JzogMHg4REQzLAorICAnVU5TSUdORURfSU5UX1NBTVBMRVJfQ1VCRV9FWFQnOiAweDhERDQsCisg
ICdVTlNJR05FRF9JTlRfU0FNUExFUl8yRF9SRUNUX0VYVCc6IDB4OERENSwKKyAgJ1VOU0lHTkVE
X0lOVF9TQU1QTEVSXzFEX0FSUkFZX0VYVCc6IDB4OERENiwKKyAgJ1VOU0lHTkVEX0lOVF9TQU1Q
TEVSXzJEX0FSUkFZX0VYVCc6IDB4OERENywKKyAgJ1VOU0lHTkVEX0lOVF9TQU1QTEVSX0JVRkZF
Ul9FWFQnOiAweDhERDgsCisgICdISVNUT0dSQU1fRVhUJzogMHg4MDI0LAorICAnUFJPWFlfSElT
VE9HUkFNX0VYVCc6IDB4ODAyNSwKKyAgJ0hJU1RPR1JBTV9XSURUSF9FWFQnOiAweDgwMjYsCisg
ICdISVNUT0dSQU1fRk9STUFUX0VYVCc6IDB4ODAyNywKKyAgJ0hJU1RPR1JBTV9SRURfU0laRV9F
WFQnOiAweDgwMjgsCisgICdISVNUT0dSQU1fR1JFRU5fU0laRV9FWFQnOiAweDgwMjksCisgICdI
SVNUT0dSQU1fQkxVRV9TSVpFX0VYVCc6IDB4ODAyQSwKKyAgJ0hJU1RPR1JBTV9BTFBIQV9TSVpF
X0VYVCc6IDB4ODAyQiwKKyAgJ0hJU1RPR1JBTV9MVU1JTkFOQ0VfU0laRV9FWFQnOiAweDgwMkMs
CisgICdISVNUT0dSQU1fU0lOS19FWFQnOiAweDgwMkQsCisgICdNSU5NQVhfRVhUJzogMHg4MDJF
LAorICAnTUlOTUFYX0ZPUk1BVF9FWFQnOiAweDgwMkYsCisgICdNSU5NQVhfU0lOS19FWFQnOiAw
eDgwMzAsCisgICdGUkFHTUVOVF9NQVRFUklBTF9FWFQnOiAweDgzNDksCisgICdGUkFHTUVOVF9O
T1JNQUxfRVhUJzogMHg4MzRBLAorICAnRlJBR01FTlRfQ09MT1JfRVhUJzogMHg4MzRDLAorICAn
QVRURU5VQVRJT05fRVhUJzogMHg4MzRELAorICAnU0hBRE9XX0FUVEVOVUFUSU9OX0VYVCc6IDB4
ODM0RSwKKyAgJ1RFWFRVUkVfQVBQTElDQVRJT05fTU9ERV9FWFQnOiAweDgzNEYsCisgICdURVhU
VVJFX0xJR0hUX0VYVCc6IDB4ODM1MCwKKyAgJ1RFWFRVUkVfTUFURVJJQUxfRkFDRV9FWFQnOiAw
eDgzNTEsCisgICdURVhUVVJFX01BVEVSSUFMX1BBUkFNRVRFUl9FWFQnOiAweDgzNTIsCisgICdG
UkFHTUVOVF9ERVBUSF9FWFQnOiAweDg0NTIsCisgICdNVUxUSVNBTVBMRV9FWFQnOiAweDgwOUQs
CisgICdTQU1QTEVfQUxQSEFfVE9fTUFTS19FWFQnOiAweDgwOUUsCisgICdTQU1QTEVfQUxQSEFf
VE9fT05FX0VYVCc6IDB4ODA5RiwKKyAgJ1NBTVBMRV9NQVNLX0VYVCc6IDB4ODBBMCwKKyAgJzFQ
QVNTX0VYVCc6IDB4ODBBMSwKKyAgJzJQQVNTXzBfRVhUJzogMHg4MEEyLAorICAnMlBBU1NfMV9F
WFQnOiAweDgwQTMsCisgICc0UEFTU18wX0VYVCc6IDB4ODBBNCwKKyAgJzRQQVNTXzFfRVhUJzog
MHg4MEE1LAorICAnNFBBU1NfMl9FWFQnOiAweDgwQTYsCisgICc0UEFTU18zX0VYVCc6IDB4ODBB
NywKKyAgJ1NBTVBMRV9CVUZGRVJTX0VYVCc6IDB4ODBBOCwKKyAgJ1NBTVBMRVNfRVhUJzogMHg4
MEE5LAorICAnU0FNUExFX01BU0tfVkFMVUVfRVhUJzogMHg4MEFBLAorICAnU0FNUExFX01BU0tf
SU5WRVJUX0VYVCc6IDB4ODBBQiwKKyAgJ1NBTVBMRV9QQVRURVJOX0VYVCc6IDB4ODBBQywKKyAg
J01VTFRJU0FNUExFX0JJVF9FWFQnOiAweDIwMDAwMDAwLAorICAnREVQVEhfU1RFTkNJTF9FWFQn
OiAweDg0RjksCisgICdVTlNJR05FRF9JTlRfMjRfOF9FWFQnOiAweDg0RkEsCisgICdERVBUSDI0
X1NURU5DSUw4X0VYVCc6IDB4ODhGMCwKKyAgJ1RFWFRVUkVfU1RFTkNJTF9TSVpFX0VYVCc6IDB4
ODhGMSwKKyAgJ1IxMUZfRzExRl9CMTBGX0VYVCc6IDB4OEMzQSwKKyAgJ1VOU0lHTkVEX0lOVF8x
MEZfMTFGXzExRl9SRVZfRVhUJzogMHg4QzNCLAorICAnUkdCQV9TSUdORURfQ09NUE9ORU5UU19F
WFQnOiAweDhDM0MsCisgICdVTlNJR05FRF9CWVRFXzNfM18yX0VYVCc6IDB4ODAzMiwKKyAgJ1VO
U0lHTkVEX1NIT1JUXzRfNF80XzRfRVhUJzogMHg4MDMzLAorICAnVU5TSUdORURfU0hPUlRfNV81
XzVfMV9FWFQnOiAweDgwMzQsCisgICdVTlNJR05FRF9JTlRfOF84XzhfOF9FWFQnOiAweDgwMzUs
CisgICdVTlNJR05FRF9JTlRfMTBfMTBfMTBfMl9FWFQnOiAweDgwMzYsCisgICdURVhUVVJFXzFE
JzogMHgwREUwLAorICAnVEVYVFVSRV8yRCc6IDB4MERFMSwKKyAgJ1BST1hZX1RFWFRVUkVfMUQn
OiAweDgwNjMsCisgICdQUk9YWV9URVhUVVJFXzJEJzogMHg4MDY0LAorICAnVEVYVFVSRV8zRF9F
WFQnOiAweDgwNkYsCisgICdQUk9YWV9URVhUVVJFXzNEX0VYVCc6IDB4ODA3MCwKKyAgJ0NPTE9S
X1RBQkxFX0ZPUk1BVF9FWFQnOiAweDgwRDgsCisgICdDT0xPUl9UQUJMRV9XSURUSF9FWFQnOiAw
eDgwRDksCisgICdDT0xPUl9UQUJMRV9SRURfU0laRV9FWFQnOiAweDgwREEsCisgICdDT0xPUl9U
QUJMRV9HUkVFTl9TSVpFX0VYVCc6IDB4ODBEQiwKKyAgJ0NPTE9SX1RBQkxFX0JMVUVfU0laRV9F
WFQnOiAweDgwREMsCisgICdDT0xPUl9UQUJMRV9BTFBIQV9TSVpFX0VYVCc6IDB4ODBERCwKKyAg
J0NPTE9SX1RBQkxFX0xVTUlOQU5DRV9TSVpFX0VYVCc6IDB4ODBERSwKKyAgJ0NPTE9SX1RBQkxF
X0lOVEVOU0lUWV9TSVpFX0VYVCc6IDB4ODBERiwKKyAgJ0NPTE9SX0lOREVYMV9FWFQnOiAweDgw
RTIsCisgICdDT0xPUl9JTkRFWDJfRVhUJzogMHg4MEUzLAorICAnQ09MT1JfSU5ERVg0X0VYVCc6
IDB4ODBFNCwKKyAgJ0NPTE9SX0lOREVYOF9FWFQnOiAweDgwRTUsCisgICdDT0xPUl9JTkRFWDEy
X0VYVCc6IDB4ODBFNiwKKyAgJ0NPTE9SX0lOREVYMTZfRVhUJzogMHg4MEU3LAorICAnVEVYVFVS
RV9JTkRFWF9TSVpFX0VYVCc6IDB4ODBFRCwKKyAgJ1RFWFRVUkVfQ1VCRV9NQVBfQVJCJzogMHg4
NTEzLAorICAnUFJPWFlfVEVYVFVSRV9DVUJFX01BUF9BUkInOiAweDg1MUIsCisgICdQSVhFTF9Q
QUNLX0JVRkZFUl9FWFQnOiAweDg4RUIsCisgICdQSVhFTF9VTlBBQ0tfQlVGRkVSX0VYVCc6IDB4
ODhFQywKKyAgJ1BJWEVMX1BBQ0tfQlVGRkVSX0JJTkRJTkdfRVhUJzogMHg4OEVELAorICAnUElY
RUxfVU5QQUNLX0JVRkZFUl9CSU5ESU5HX0VYVCc6IDB4ODhFRiwKKyAgJ1BJWEVMX1RSQU5TRk9S
TV8yRF9FWFQnOiAweDgzMzAsCisgICdQSVhFTF9NQUdfRklMVEVSX0VYVCc6IDB4ODMzMSwKKyAg
J1BJWEVMX01JTl9GSUxURVJfRVhUJzogMHg4MzMyLAorICAnUElYRUxfQ1VCSUNfV0VJR0hUX0VY
VCc6IDB4ODMzMywKKyAgJ0NVQklDX0VYVCc6IDB4ODMzNCwKKyAgJ0FWRVJBR0VfRVhUJzogMHg4
MzM1LAorICAnUElYRUxfVFJBTlNGT1JNXzJEX1NUQUNLX0RFUFRIX0VYVCc6IDB4ODMzNiwKKyAg
J01BWF9QSVhFTF9UUkFOU0ZPUk1fMkRfU1RBQ0tfREVQVEhfRVhUJzogMHg4MzM3LAorICAnUElY
RUxfVFJBTlNGT1JNXzJEX01BVFJJWF9FWFQnOiAweDgzMzgsCisgICdQT0lOVF9TSVpFX01JTl9F
WFQnOiAweDgxMjYsCisgICdQT0lOVF9TSVpFX01BWF9FWFQnOiAweDgxMjcsCisgICdQT0lOVF9G
QURFX1RIUkVTSE9MRF9TSVpFX0VYVCc6IDB4ODEyOCwKKyAgJ0RJU1RBTkNFX0FUVEVOVUFUSU9O
X0VYVCc6IDB4ODEyOSwKKyAgJ1BPTFlHT05fT0ZGU0VUX0VYVCc6IDB4ODAzNywKKyAgJ1BPTFlH
T05fT0ZGU0VUX0ZBQ1RPUl9FWFQnOiAweDgwMzgsCisgICdQT0xZR09OX09GRlNFVF9CSUFTX0VY
VCc6IDB4ODAzOSwKKyAgJ1JFU0NBTEVfTk9STUFMX0VYVCc6IDB4ODAzQSwKKyAgJ0NPTE9SX1NV
TV9FWFQnOiAweDg0NTgsCisgICdDVVJSRU5UX1NFQ09OREFSWV9DT0xPUl9FWFQnOiAweDg0NTks
CisgICdTRUNPTkRBUllfQ09MT1JfQVJSQVlfU0laRV9FWFQnOiAweDg0NUEsCisgICdTRUNPTkRB
UllfQ09MT1JfQVJSQVlfVFlQRV9FWFQnOiAweDg0NUIsCisgICdTRUNPTkRBUllfQ09MT1JfQVJS
QVlfU1RSSURFX0VYVCc6IDB4ODQ1QywKKyAgJ1NFQ09OREFSWV9DT0xPUl9BUlJBWV9QT0lOVEVS
X0VYVCc6IDB4ODQ1RCwKKyAgJ1NFQ09OREFSWV9DT0xPUl9BUlJBWV9FWFQnOiAweDg0NUUsCisg
ICdMSUdIVF9NT0RFTF9DT0xPUl9DT05UUk9MX0VYVCc6IDB4ODFGOCwKKyAgJ1NJTkdMRV9DT0xP
Ul9FWFQnOiAweDgxRjksCisgICdTRVBBUkFURV9TUEVDVUxBUl9DT0xPUl9FWFQnOiAweDgxRkEs
CisgICdTSEFSRURfVEVYVFVSRV9QQUxFVFRFX0VYVCc6IDB4ODFGQiwKKyAgJ1NURU5DSUxfVEFH
X0JJVFNfRVhUJzogMHg4OEYyLAorICAnU1RFTkNJTF9DTEVBUl9UQUdfVkFMVUVfRVhUJzogMHg4
OEYzLAorICAnU1RFTkNJTF9URVNUX1RXT19TSURFX0VYVCc6IDB4ODkxMCwKKyAgJ0FDVElWRV9T
VEVOQ0lMX0ZBQ0VfRVhUJzogMHg4OTExLAorICAnSU5DUl9XUkFQX0VYVCc6IDB4ODUwNywKKyAg
J0RFQ1JfV1JBUF9FWFQnOiAweDg1MDgsCisgICdBTFBIQTRfRVhUJzogMHg4MDNCLAorICAnQUxQ
SEE4X0VYVCc6IDB4ODAzQywKKyAgJ0FMUEhBMTJfRVhUJzogMHg4MDNELAorICAnQUxQSEExNl9F
WFQnOiAweDgwM0UsCisgICdMVU1JTkFOQ0U0X0VYVCc6IDB4ODAzRiwKKyAgJ0xVTUlOQU5DRThf
RVhUJzogMHg4MDQwLAorICAnTFVNSU5BTkNFMTJfRVhUJzogMHg4MDQxLAorICAnTFVNSU5BTkNF
MTZfRVhUJzogMHg4MDQyLAorICAnTFVNSU5BTkNFNF9BTFBIQTRfRVhUJzogMHg4MDQzLAorICAn
TFVNSU5BTkNFNl9BTFBIQTJfRVhUJzogMHg4MDQ0LAorICAnTFVNSU5BTkNFOF9BTFBIQThfRVhU
JzogMHg4MDQ1LAorICAnTFVNSU5BTkNFMTJfQUxQSEE0X0VYVCc6IDB4ODA0NiwKKyAgJ0xVTUlO
QU5DRTEyX0FMUEhBMTJfRVhUJzogMHg4MDQ3LAorICAnTFVNSU5BTkNFMTZfQUxQSEExNl9FWFQn
OiAweDgwNDgsCisgICdJTlRFTlNJVFlfRVhUJzogMHg4MDQ5LAorICAnSU5URU5TSVRZNF9FWFQn
OiAweDgwNEEsCisgICdJTlRFTlNJVFk4X0VYVCc6IDB4ODA0QiwKKyAgJ0lOVEVOU0lUWTEyX0VY
VCc6IDB4ODA0QywKKyAgJ0lOVEVOU0lUWTE2X0VYVCc6IDB4ODA0RCwKKyAgJ1JHQjJfRVhUJzog
MHg4MDRFLAorICAnUkdCNF9FWFQnOiAweDgwNEYsCisgICdSR0I1X0VYVCc6IDB4ODA1MCwKKyAg
J1JHQjhfRVhUJzogMHg4MDUxLAorICAnUkdCMTBfRVhUJzogMHg4MDUyLAorICAnUkdCMTJfRVhU
JzogMHg4MDUzLAorICAnUkdCMTZfRVhUJzogMHg4MDU0LAorICAnUkdCQTJfRVhUJzogMHg4MDU1
LAorICAnUkdCQTRfRVhUJzogMHg4MDU2LAorICAnUkdCNV9BMV9FWFQnOiAweDgwNTcsCisgICdS
R0JBOF9FWFQnOiAweDgwNTgsCisgICdSR0IxMF9BMl9FWFQnOiAweDgwNTksCisgICdSR0JBMTJf
RVhUJzogMHg4MDVBLAorICAnUkdCQTE2X0VYVCc6IDB4ODA1QiwKKyAgJ1RFWFRVUkVfUkVEX1NJ
WkVfRVhUJzogMHg4MDVDLAorICAnVEVYVFVSRV9HUkVFTl9TSVpFX0VYVCc6IDB4ODA1RCwKKyAg
J1RFWFRVUkVfQkxVRV9TSVpFX0VYVCc6IDB4ODA1RSwKKyAgJ1RFWFRVUkVfQUxQSEFfU0laRV9F
WFQnOiAweDgwNUYsCisgICdURVhUVVJFX0xVTUlOQU5DRV9TSVpFX0VYVCc6IDB4ODA2MCwKKyAg
J1RFWFRVUkVfSU5URU5TSVRZX1NJWkVfRVhUJzogMHg4MDYxLAorICAnUkVQTEFDRV9FWFQnOiAw
eDgwNjIsCisgICdQUk9YWV9URVhUVVJFXzFEX0VYVCc6IDB4ODA2MywKKyAgJ1BST1hZX1RFWFRV
UkVfMkRfRVhUJzogMHg4MDY0LAorICAnUEFDS19TS0lQX0lNQUdFU19FWFQnOiAweDgwNkIsCisg
ICdQQUNLX0lNQUdFX0hFSUdIVF9FWFQnOiAweDgwNkMsCisgICdVTlBBQ0tfU0tJUF9JTUFHRVNf
RVhUJzogMHg4MDZELAorICAnVU5QQUNLX0lNQUdFX0hFSUdIVF9FWFQnOiAweDgwNkUsCisgICdU
RVhUVVJFXzNEX0VYVCc6IDB4ODA2RiwKKyAgJ1BST1hZX1RFWFRVUkVfM0RfRVhUJzogMHg4MDcw
LAorICAnVEVYVFVSRV9ERVBUSF9FWFQnOiAweDgwNzEsCisgICdURVhUVVJFX1dSQVBfUl9FWFQn
OiAweDgwNzIsCisgICdNQVhfM0RfVEVYVFVSRV9TSVpFX0VYVCc6IDB4ODA3MywKKyAgJ0NPTVBB
UkVfUkVGX0RFUFRIX1RPX1RFWFRVUkVfRVhUJzogMHg4ODRFLAorICAnTUFYX0FSUkFZX1RFWFRV
UkVfTEFZRVJTX0VYVCc6IDB4ODhGRiwKKyAgJ1RFWFRVUkVfMURfQVJSQVlfRVhUJzogMHg4QzE4
LAorICAnUFJPWFlfVEVYVFVSRV8xRF9BUlJBWV9FWFQnOiAweDhDMTksCisgICdURVhUVVJFXzJE
X0FSUkFZX0VYVCc6IDB4OEMxQSwKKyAgJ1BST1hZX1RFWFRVUkVfMkRfQVJSQVlfRVhUJzogMHg4
QzFCLAorICAnVEVYVFVSRV9CSU5ESU5HXzFEX0FSUkFZX0VYVCc6IDB4OEMxQywKKyAgJ1RFWFRV
UkVfQklORElOR18yRF9BUlJBWV9FWFQnOiAweDhDMUQsCisgICdURVhUVVJFX0JVRkZFUl9FWFQn
OiAweDhDMkEsCisgICdNQVhfVEVYVFVSRV9CVUZGRVJfU0laRV9FWFQnOiAweDhDMkIsCisgICdU
RVhUVVJFX0JJTkRJTkdfQlVGRkVSX0VYVCc6IDB4OEMyQywKKyAgJ1RFWFRVUkVfQlVGRkVSX0RB
VEFfU1RPUkVfQklORElOR19FWFQnOiAweDhDMkQsCisgICdURVhUVVJFX0JVRkZFUl9GT1JNQVRf
RVhUJzogMHg4QzJFLAorICAnQ09NUFJFU1NFRF9SR0JfUzNUQ19EWFQxX0VYVCc6IDB4ODNGMCwK
KyAgJ0NPTVBSRVNTRURfUkdCQV9TM1RDX0RYVDFfRVhUJzogMHg4M0YxLAorICAnQ09NUFJFU1NF
RF9MVU1JTkFOQ0VfTEFUQzFfRVhUJzogMHg4QzcwLAorICAnQ09NUFJFU1NFRF9TSUdORURfTFVN
SU5BTkNFX0xBVEMxX0VYVCc6IDB4OEM3MSwKKyAgJ0NPTVBSRVNTRURfTFVNSU5BTkNFX0FMUEhB
X0xBVEMyX0VYVCc6IDB4OEM3MiwKKyAgJ0NPTVBSRVNTRURfU0lHTkVEX0xVTUlOQU5DRV9BTFBI
QV9MQVRDMl9FWFQnOiAweDhDNzMsCisgICdDT01QUkVTU0VEX1JFRF9SR1RDMV9FWFQnOiAweDhE
QkIsCisgICdDT01QUkVTU0VEX1NJR05FRF9SRURfUkdUQzFfRVhUJzogMHg4REJDLAorICAnQ09N
UFJFU1NFRF9SRURfR1JFRU5fUkdUQzJfRVhUJzogMHg4REJELAorICAnQ09NUFJFU1NFRF9TSUdO
RURfUkVEX0dSRUVOX1JHVEMyX0VYVCc6IDB4OERCRSwKKyAgJ0NPTVBSRVNTRURfUkdCX1MzVENf
RFhUMV9FWFQnOiAweDgzRjAsCisgICdDT01QUkVTU0VEX1JHQkFfUzNUQ19EWFQxX0VYVCc6IDB4
ODNGMSwKKyAgJ0NPTVBSRVNTRURfUkdCQV9TM1RDX0RYVDNfRVhUJzogMHg4M0YyLAorICAnQ09N
UFJFU1NFRF9SR0JBX1MzVENfRFhUNV9FWFQnOiAweDgzRjMsCisgICdOT1JNQUxfTUFQX0VYVCc6
IDB4ODUxMSwKKyAgJ1JFRkxFQ1RJT05fTUFQX0VYVCc6IDB4ODUxMiwKKyAgJ1RFWFRVUkVfQ1VC
RV9NQVBfRVhUJzogMHg4NTEzLAorICAnVEVYVFVSRV9CSU5ESU5HX0NVQkVfTUFQX0VYVCc6IDB4
ODUxNCwKKyAgJ1RFWFRVUkVfQ1VCRV9NQVBfUE9TSVRJVkVfWF9FWFQnOiAweDg1MTUsCisgICdU
RVhUVVJFX0NVQkVfTUFQX05FR0FUSVZFX1hfRVhUJzogMHg4NTE2LAorICAnVEVYVFVSRV9DVUJF
X01BUF9QT1NJVElWRV9ZX0VYVCc6IDB4ODUxNywKKyAgJ1RFWFRVUkVfQ1VCRV9NQVBfTkVHQVRJ
VkVfWV9FWFQnOiAweDg1MTgsCisgICdURVhUVVJFX0NVQkVfTUFQX1BPU0lUSVZFX1pfRVhUJzog
MHg4NTE5LAorICAnVEVYVFVSRV9DVUJFX01BUF9ORUdBVElWRV9aX0VYVCc6IDB4ODUxQSwKKyAg
J1BST1hZX1RFWFRVUkVfQ1VCRV9NQVBfRVhUJzogMHg4NTFCLAorICAnTUFYX0NVQkVfTUFQX1RF
WFRVUkVfU0laRV9FWFQnOiAweDg1MUMsCisgICdDTEFNUF9UT19FREdFX0VYVCc6IDB4ODEyRiwK
KyAgJ0NPTUJJTkVfRVhUJzogMHg4NTcwLAorICAnQ09NQklORV9SR0JfRVhUJzogMHg4NTcxLAor
ICAnQ09NQklORV9BTFBIQV9FWFQnOiAweDg1NzIsCisgICdSR0JfU0NBTEVfRVhUJzogMHg4NTcz
LAorICAnQUREX1NJR05FRF9FWFQnOiAweDg1NzQsCisgICdJTlRFUlBPTEFURV9FWFQnOiAweDg1
NzUsCisgICdDT05TVEFOVF9FWFQnOiAweDg1NzYsCisgICdQUklNQVJZX0NPTE9SX0VYVCc6IDB4
ODU3NywKKyAgJ1BSRVZJT1VTX0VYVCc6IDB4ODU3OCwKKyAgJ1NPVVJDRTBfUkdCX0VYVCc6IDB4
ODU4MCwKKyAgJ1NPVVJDRTFfUkdCX0VYVCc6IDB4ODU4MSwKKyAgJ1NPVVJDRTJfUkdCX0VYVCc6
IDB4ODU4MiwKKyAgJ1NPVVJDRTBfQUxQSEFfRVhUJzogMHg4NTg4LAorICAnU09VUkNFMV9BTFBI
QV9FWFQnOiAweDg1ODksCisgICdTT1VSQ0UyX0FMUEhBX0VYVCc6IDB4ODU4QSwKKyAgJ09QRVJB
TkQwX1JHQl9FWFQnOiAweDg1OTAsCisgICdPUEVSQU5EMV9SR0JfRVhUJzogMHg4NTkxLAorICAn
T1BFUkFORDJfUkdCX0VYVCc6IDB4ODU5MiwKKyAgJ09QRVJBTkQwX0FMUEhBX0VYVCc6IDB4ODU5
OCwKKyAgJ09QRVJBTkQxX0FMUEhBX0VYVCc6IDB4ODU5OSwKKyAgJ09QRVJBTkQyX0FMUEhBX0VY
VCc6IDB4ODU5QSwKKyAgJ0RPVDNfUkdCX0VYVCc6IDB4ODc0MCwKKyAgJ0RPVDNfUkdCQV9FWFQn
OiAweDg3NDEsCisgICdURVhUVVJFX01BWF9BTklTT1RST1BZX0VYVCc6IDB4ODRGRSwKKyAgJ01B
WF9URVhUVVJFX01BWF9BTklTT1RST1BZX0VYVCc6IDB4ODRGRiwKKyAgJ1JHQkEzMlVJX0VYVCc6
IDB4OEQ3MCwKKyAgJ1JHQjMyVUlfRVhUJzogMHg4RDcxLAorICAnQUxQSEEzMlVJX0VYVCc6IDB4
OEQ3MiwKKyAgJ0lOVEVOU0lUWTMyVUlfRVhUJzogMHg4RDczLAorICAnTFVNSU5BTkNFMzJVSV9F
WFQnOiAweDhENzQsCisgICdMVU1JTkFOQ0VfQUxQSEEzMlVJX0VYVCc6IDB4OEQ3NSwKKyAgJ1JH
QkExNlVJX0VYVCc6IDB4OEQ3NiwKKyAgJ1JHQjE2VUlfRVhUJzogMHg4RDc3LAorICAnQUxQSEEx
NlVJX0VYVCc6IDB4OEQ3OCwKKyAgJ0lOVEVOU0lUWTE2VUlfRVhUJzogMHg4RDc5LAorICAnTFVN
SU5BTkNFMTZVSV9FWFQnOiAweDhEN0EsCisgICdMVU1JTkFOQ0VfQUxQSEExNlVJX0VYVCc6IDB4
OEQ3QiwKKyAgJ1JHQkE4VUlfRVhUJzogMHg4RDdDLAorICAnUkdCOFVJX0VYVCc6IDB4OEQ3RCwK
KyAgJ0FMUEhBOFVJX0VYVCc6IDB4OEQ3RSwKKyAgJ0lOVEVOU0lUWThVSV9FWFQnOiAweDhEN0Ys
CisgICdMVU1JTkFOQ0U4VUlfRVhUJzogMHg4RDgwLAorICAnTFVNSU5BTkNFX0FMUEhBOFVJX0VY
VCc6IDB4OEQ4MSwKKyAgJ1JHQkEzMklfRVhUJzogMHg4RDgyLAorICAnUkdCMzJJX0VYVCc6IDB4
OEQ4MywKKyAgJ0FMUEhBMzJJX0VYVCc6IDB4OEQ4NCwKKyAgJ0lOVEVOU0lUWTMySV9FWFQnOiAw
eDhEODUsCisgICdMVU1JTkFOQ0UzMklfRVhUJzogMHg4RDg2LAorICAnTFVNSU5BTkNFX0FMUEhB
MzJJX0VYVCc6IDB4OEQ4NywKKyAgJ1JHQkExNklfRVhUJzogMHg4RDg4LAorICAnUkdCMTZJX0VY
VCc6IDB4OEQ4OSwKKyAgJ0FMUEhBMTZJX0VYVCc6IDB4OEQ4QSwKKyAgJ0lOVEVOU0lUWTE2SV9F
WFQnOiAweDhEOEIsCisgICdMVU1JTkFOQ0UxNklfRVhUJzogMHg4RDhDLAorICAnTFVNSU5BTkNF
X0FMUEhBMTZJX0VYVCc6IDB4OEQ4RCwKKyAgJ1JHQkE4SV9FWFQnOiAweDhEOEUsCisgICdSR0I4
SV9FWFQnOiAweDhEOEYsCisgICdBTFBIQThJX0VYVCc6IDB4OEQ5MCwKKyAgJ0lOVEVOU0lUWThJ
X0VYVCc6IDB4OEQ5MSwKKyAgJ0xVTUlOQU5DRThJX0VYVCc6IDB4OEQ5MiwKKyAgJ0xVTUlOQU5D
RV9BTFBIQThJX0VYVCc6IDB4OEQ5MywKKyAgJ1JFRF9JTlRFR0VSX0VYVCc6IDB4OEQ5NCwKKyAg
J0dSRUVOX0lOVEVHRVJfRVhUJzogMHg4RDk1LAorICAnQkxVRV9JTlRFR0VSX0VYVCc6IDB4OEQ5
NiwKKyAgJ0FMUEhBX0lOVEVHRVJfRVhUJzogMHg4RDk3LAorICAnUkdCX0lOVEVHRVJfRVhUJzog
MHg4RDk4LAorICAnUkdCQV9JTlRFR0VSX0VYVCc6IDB4OEQ5OSwKKyAgJ0JHUl9JTlRFR0VSX0VY
VCc6IDB4OEQ5QSwKKyAgJ0JHUkFfSU5URUdFUl9FWFQnOiAweDhEOUIsCisgICdMVU1JTkFOQ0Vf
SU5URUdFUl9FWFQnOiAweDhEOUMsCisgICdMVU1JTkFOQ0VfQUxQSEFfSU5URUdFUl9FWFQnOiAw
eDhEOUQsCisgICdSR0JBX0lOVEVHRVJfTU9ERV9FWFQnOiAweDhEOUUsCisgICdNQVhfVEVYVFVS
RV9MT0RfQklBU19FWFQnOiAweDg0RkQsCisgICdURVhUVVJFX0ZJTFRFUl9DT05UUk9MX0VYVCc6
IDB4ODUwMCwKKyAgJ1RFWFRVUkVfTE9EX0JJQVNfRVhUJzogMHg4NTAxLAorICAnTUlSUk9SX0NM
QU1QX0VYVCc6IDB4ODc0MiwKKyAgJ01JUlJPUl9DTEFNUF9UT19FREdFX0VYVCc6IDB4ODc0MywK
KyAgJ01JUlJPUl9DTEFNUF9UT19CT1JERVJfRVhUJzogMHg4OTEyLAorICAnVEVYVFVSRV9QUklP
UklUWV9FWFQnOiAweDgwNjYsCisgICdURVhUVVJFX1JFU0lERU5UX0VYVCc6IDB4ODA2NywKKyAg
J1RFWFRVUkVfMURfQklORElOR19FWFQnOiAweDgwNjgsCisgICdURVhUVVJFXzJEX0JJTkRJTkdf
RVhUJzogMHg4MDY5LAorICAnVEVYVFVSRV8zRF9CSU5ESU5HX0VYVCc6IDB4ODA2QSwKKyAgJ1BF
UlRVUkJfRVhUJzogMHg4NUFFLAorICAnVEVYVFVSRV9OT1JNQUxfRVhUJzogMHg4NUFGLAorICAn
VEVYVFVSRV9SRUNUQU5HTEVfRVhUJzogMHg4NEY1LAorICAnVEVYVFVSRV9CSU5ESU5HX1JFQ1RB
TkdMRV9FWFQnOiAweDg0RjYsCisgICdQUk9YWV9URVhUVVJFX1JFQ1RBTkdMRV9FWFQnOiAweDg0
RjcsCisgICdNQVhfUkVDVEFOR0xFX1RFWFRVUkVfU0laRV9FWFQnOiAweDg0RjgsCisgICdTUkdC
X0VYVCc6IDB4OEM0MCwKKyAgJ1NSR0I4X0VYVCc6IDB4OEM0MSwKKyAgJ1NSR0JfQUxQSEFfRVhU
JzogMHg4QzQyLAorICAnU1JHQjhfQUxQSEE4X0VYVCc6IDB4OEM0MywKKyAgJ1NMVU1JTkFOQ0Vf
QUxQSEFfRVhUJzogMHg4QzQ0LAorICAnU0xVTUlOQU5DRThfQUxQSEE4X0VYVCc6IDB4OEM0NSwK
KyAgJ1NMVU1JTkFOQ0VfRVhUJzogMHg4QzQ2LAorICAnU0xVTUlOQU5DRThfRVhUJzogMHg4QzQ3
LAorICAnQ09NUFJFU1NFRF9TUkdCX0VYVCc6IDB4OEM0OCwKKyAgJ0NPTVBSRVNTRURfU1JHQl9B
TFBIQV9FWFQnOiAweDhDNDksCisgICdDT01QUkVTU0VEX1NMVU1JTkFOQ0VfRVhUJzogMHg4QzRB
LAorICAnQ09NUFJFU1NFRF9TTFVNSU5BTkNFX0FMUEhBX0VYVCc6IDB4OEM0QiwKKyAgJ0NPTVBS
RVNTRURfU1JHQl9TM1RDX0RYVDFfRVhUJzogMHg4QzRDLAorICAnQ09NUFJFU1NFRF9TUkdCX0FM
UEhBX1MzVENfRFhUMV9FWFQnOiAweDhDNEQsCisgICdDT01QUkVTU0VEX1NSR0JfQUxQSEFfUzNU
Q19EWFQzX0VYVCc6IDB4OEM0RSwKKyAgJ0NPTVBSRVNTRURfU1JHQl9BTFBIQV9TM1RDX0RYVDVf
RVhUJzogMHg4QzRGLAorICAnUkdCOV9FNV9FWFQnOiAweDhDM0QsCisgICdVTlNJR05FRF9JTlRf
NV85XzlfOV9SRVZfRVhUJzogMHg4QzNFLAorICAnVEVYVFVSRV9TSEFSRURfU0laRV9FWFQnOiAw
eDhDM0YsCisgICdURVhUVVJFX1NXSVpaTEVfUl9FWFQnOiAweDhFNDIsCisgICdURVhUVVJFX1NX
SVpaTEVfR19FWFQnOiAweDhFNDMsCisgICdURVhUVVJFX1NXSVpaTEVfQl9FWFQnOiAweDhFNDQs
CisgICdURVhUVVJFX1NXSVpaTEVfQV9FWFQnOiAweDhFNDUsCisgICdURVhUVVJFX1NXSVpaTEVf
UkdCQV9FWFQnOiAweDhFNDYsCisgICdUSU1FX0VMQVBTRURfRVhUJzogMHg4OEJGLAorICAnVFJB
TlNGT1JNX0ZFRURCQUNLX1ZBUllJTkdfTUFYX0xFTkdUSF9FWFQnOiAweDhDNzYsCisgICdUUkFO
U0ZPUk1fRkVFREJBQ0tfQlVGRkVSX01PREVfRVhUJzogMHg4QzdGLAorICAnTUFYX1RSQU5TRk9S
TV9GRUVEQkFDS19TRVBBUkFURV9DT01QT05FTlRTX0VYVCc6IDB4OEM4MCwKKyAgJ1RSQU5TRk9S
TV9GRUVEQkFDS19WQVJZSU5HU19FWFQnOiAweDhDODMsCisgICdUUkFOU0ZPUk1fRkVFREJBQ0tf
QlVGRkVSX1NUQVJUX0VYVCc6IDB4OEM4NCwKKyAgJ1RSQU5TRk9STV9GRUVEQkFDS19CVUZGRVJf
U0laRV9FWFQnOiAweDhDODUsCisgICdQUklNSVRJVkVTX0dFTkVSQVRFRF9FWFQnOiAweDhDODcs
CisgICdUUkFOU0ZPUk1fRkVFREJBQ0tfUFJJTUlUSVZFU19XUklUVEVOX0VYVCc6IDB4OEM4OCwK
KyAgJ1JBU1RFUklaRVJfRElTQ0FSRF9FWFQnOiAweDhDODksCisgICdNQVhfVFJBTlNGT1JNX0ZF
RURCQUNLX0lOVEVSTEVBVkVEX0NPTVBPTkVOVFNfRVhUJzogMHg4QzhBLAorICAnTUFYX1RSQU5T
Rk9STV9GRUVEQkFDS19TRVBBUkFURV9BVFRSSUJTX0VYVCc6IDB4OEM4QiwKKyAgJ0lOVEVSTEVB
VkVEX0FUVFJJQlNfRVhUJzogMHg4QzhDLAorICAnU0VQQVJBVEVfQVRUUklCU19FWFQnOiAweDhD
OEQsCisgICdUUkFOU0ZPUk1fRkVFREJBQ0tfQlVGRkVSX0VYVCc6IDB4OEM4RSwKKyAgJ1RSQU5T
Rk9STV9GRUVEQkFDS19CVUZGRVJfQklORElOR19FWFQnOiAweDhDOEYsCisgICdET1VCTEVfRVhU
JzogMHgxNDBBLAorICAnVkVSVEVYX0FSUkFZX0VYVCc6IDB4ODA3NCwKKyAgJ05PUk1BTF9BUlJB
WV9FWFQnOiAweDgwNzUsCisgICdDT0xPUl9BUlJBWV9FWFQnOiAweDgwNzYsCisgICdJTkRFWF9B
UlJBWV9FWFQnOiAweDgwNzcsCisgICdURVhUVVJFX0NPT1JEX0FSUkFZX0VYVCc6IDB4ODA3OCwK
KyAgJ0VER0VfRkxBR19BUlJBWV9FWFQnOiAweDgwNzksCisgICdWRVJURVhfQVJSQVlfU0laRV9F
WFQnOiAweDgwN0EsCisgICdWRVJURVhfQVJSQVlfVFlQRV9FWFQnOiAweDgwN0IsCisgICdWRVJU
RVhfQVJSQVlfU1RSSURFX0VYVCc6IDB4ODA3QywKKyAgJ1ZFUlRFWF9BUlJBWV9DT1VOVF9FWFQn
OiAweDgwN0QsCisgICdOT1JNQUxfQVJSQVlfVFlQRV9FWFQnOiAweDgwN0UsCisgICdOT1JNQUxf
QVJSQVlfU1RSSURFX0VYVCc6IDB4ODA3RiwKKyAgJ05PUk1BTF9BUlJBWV9DT1VOVF9FWFQnOiAw
eDgwODAsCisgICdDT0xPUl9BUlJBWV9TSVpFX0VYVCc6IDB4ODA4MSwKKyAgJ0NPTE9SX0FSUkFZ
X1RZUEVfRVhUJzogMHg4MDgyLAorICAnQ09MT1JfQVJSQVlfU1RSSURFX0VYVCc6IDB4ODA4MywK
KyAgJ0NPTE9SX0FSUkFZX0NPVU5UX0VYVCc6IDB4ODA4NCwKKyAgJ0lOREVYX0FSUkFZX1RZUEVf
RVhUJzogMHg4MDg1LAorICAnSU5ERVhfQVJSQVlfU1RSSURFX0VYVCc6IDB4ODA4NiwKKyAgJ0lO
REVYX0FSUkFZX0NPVU5UX0VYVCc6IDB4ODA4NywKKyAgJ1RFWFRVUkVfQ09PUkRfQVJSQVlfU0la
RV9FWFQnOiAweDgwODgsCisgICdURVhUVVJFX0NPT1JEX0FSUkFZX1RZUEVfRVhUJzogMHg4MDg5
LAorICAnVEVYVFVSRV9DT09SRF9BUlJBWV9TVFJJREVfRVhUJzogMHg4MDhBLAorICAnVEVYVFVS
RV9DT09SRF9BUlJBWV9DT1VOVF9FWFQnOiAweDgwOEIsCisgICdFREdFX0ZMQUdfQVJSQVlfU1RS
SURFX0VYVCc6IDB4ODA4QywKKyAgJ0VER0VfRkxBR19BUlJBWV9DT1VOVF9FWFQnOiAweDgwOEQs
CisgICdWRVJURVhfQVJSQVlfUE9JTlRFUl9FWFQnOiAweDgwOEUsCisgICdOT1JNQUxfQVJSQVlf
UE9JTlRFUl9FWFQnOiAweDgwOEYsCisgICdDT0xPUl9BUlJBWV9QT0lOVEVSX0VYVCc6IDB4ODA5
MCwKKyAgJ0lOREVYX0FSUkFZX1BPSU5URVJfRVhUJzogMHg4MDkxLAorICAnVEVYVFVSRV9DT09S
RF9BUlJBWV9QT0lOVEVSX0VYVCc6IDB4ODA5MiwKKyAgJ0VER0VfRkxBR19BUlJBWV9QT0lOVEVS
X0VYVCc6IDB4ODA5MywKKyAgJ0JHUkEnOiAweDgwRTEsCisgICdWRVJURVhfU0hBREVSX0VYVCc6
IDB4ODc4MCwKKyAgJ1ZFUlRFWF9TSEFERVJfQklORElOR19FWFQnOiAweDg3ODEsCisgICdPUF9J
TkRFWF9FWFQnOiAweDg3ODIsCisgICdPUF9ORUdBVEVfRVhUJzogMHg4NzgzLAorICAnT1BfRE9U
M19FWFQnOiAweDg3ODQsCisgICdPUF9ET1Q0X0VYVCc6IDB4ODc4NSwKKyAgJ09QX01VTF9FWFQn
OiAweDg3ODYsCisgICdPUF9BRERfRVhUJzogMHg4Nzg3LAorICAnT1BfTUFERF9FWFQnOiAweDg3
ODgsCisgICdPUF9GUkFDX0VYVCc6IDB4ODc4OSwKKyAgJ09QX01BWF9FWFQnOiAweDg3OEEsCisg
ICdPUF9NSU5fRVhUJzogMHg4NzhCLAorICAnT1BfU0VUX0dFX0VYVCc6IDB4ODc4QywKKyAgJ09Q
X1NFVF9MVF9FWFQnOiAweDg3OEQsCisgICdPUF9DTEFNUF9FWFQnOiAweDg3OEUsCisgICdPUF9G
TE9PUl9FWFQnOiAweDg3OEYsCisgICdPUF9ST1VORF9FWFQnOiAweDg3OTAsCisgICdPUF9FWFBf
QkFTRV8yX0VYVCc6IDB4ODc5MSwKKyAgJ09QX0xPR19CQVNFXzJfRVhUJzogMHg4NzkyLAorICAn
T1BfUE9XRVJfRVhUJzogMHg4NzkzLAorICAnT1BfUkVDSVBfRVhUJzogMHg4Nzk0LAorICAnT1Bf
UkVDSVBfU1FSVF9FWFQnOiAweDg3OTUsCisgICdPUF9TVUJfRVhUJzogMHg4Nzk2LAorICAnT1Bf
Q1JPU1NfUFJPRFVDVF9FWFQnOiAweDg3OTcsCisgICdPUF9NVUxUSVBMWV9NQVRSSVhfRVhUJzog
MHg4Nzk4LAorICAnT1BfTU9WX0VYVCc6IDB4ODc5OSwKKyAgJ09VVFBVVF9WRVJURVhfRVhUJzog
MHg4NzlBLAorICAnT1VUUFVUX0NPTE9SMF9FWFQnOiAweDg3OUIsCisgICdPVVRQVVRfQ09MT1Ix
X0VYVCc6IDB4ODc5QywKKyAgJ09VVFBVVF9URVhUVVJFX0NPT1JEMF9FWFQnOiAweDg3OUQsCisg
ICdPVVRQVVRfVEVYVFVSRV9DT09SRDFfRVhUJzogMHg4NzlFLAorICAnT1VUUFVUX1RFWFRVUkVf
Q09PUkQyX0VYVCc6IDB4ODc5RiwKKyAgJ09VVFBVVF9URVhUVVJFX0NPT1JEM19FWFQnOiAweDg3
QTAsCisgICdPVVRQVVRfVEVYVFVSRV9DT09SRDRfRVhUJzogMHg4N0ExLAorICAnT1VUUFVUX1RF
WFRVUkVfQ09PUkQ1X0VYVCc6IDB4ODdBMiwKKyAgJ09VVFBVVF9URVhUVVJFX0NPT1JENl9FWFQn
OiAweDg3QTMsCisgICdPVVRQVVRfVEVYVFVSRV9DT09SRDdfRVhUJzogMHg4N0E0LAorICAnT1VU
UFVUX1RFWFRVUkVfQ09PUkQ4X0VYVCc6IDB4ODdBNSwKKyAgJ09VVFBVVF9URVhUVVJFX0NPT1JE
OV9FWFQnOiAweDg3QTYsCisgICdPVVRQVVRfVEVYVFVSRV9DT09SRDEwX0VYVCc6IDB4ODdBNywK
KyAgJ09VVFBVVF9URVhUVVJFX0NPT1JEMTFfRVhUJzogMHg4N0E4LAorICAnT1VUUFVUX1RFWFRV
UkVfQ09PUkQxMl9FWFQnOiAweDg3QTksCisgICdPVVRQVVRfVEVYVFVSRV9DT09SRDEzX0VYVCc6
IDB4ODdBQSwKKyAgJ09VVFBVVF9URVhUVVJFX0NPT1JEMTRfRVhUJzogMHg4N0FCLAorICAnT1VU
UFVUX1RFWFRVUkVfQ09PUkQxNV9FWFQnOiAweDg3QUMsCisgICdPVVRQVVRfVEVYVFVSRV9DT09S
RDE2X0VYVCc6IDB4ODdBRCwKKyAgJ09VVFBVVF9URVhUVVJFX0NPT1JEMTdfRVhUJzogMHg4N0FF
LAorICAnT1VUUFVUX1RFWFRVUkVfQ09PUkQxOF9FWFQnOiAweDg3QUYsCisgICdPVVRQVVRfVEVY
VFVSRV9DT09SRDE5X0VYVCc6IDB4ODdCMCwKKyAgJ09VVFBVVF9URVhUVVJFX0NPT1JEMjBfRVhU
JzogMHg4N0IxLAorICAnT1VUUFVUX1RFWFRVUkVfQ09PUkQyMV9FWFQnOiAweDg3QjIsCisgICdP
VVRQVVRfVEVYVFVSRV9DT09SRDIyX0VYVCc6IDB4ODdCMywKKyAgJ09VVFBVVF9URVhUVVJFX0NP
T1JEMjNfRVhUJzogMHg4N0I0LAorICAnT1VUUFVUX1RFWFRVUkVfQ09PUkQyNF9FWFQnOiAweDg3
QjUsCisgICdPVVRQVVRfVEVYVFVSRV9DT09SRDI1X0VYVCc6IDB4ODdCNiwKKyAgJ09VVFBVVF9U
RVhUVVJFX0NPT1JEMjZfRVhUJzogMHg4N0I3LAorICAnT1VUUFVUX1RFWFRVUkVfQ09PUkQyN19F
WFQnOiAweDg3QjgsCisgICdPVVRQVVRfVEVYVFVSRV9DT09SRDI4X0VYVCc6IDB4ODdCOSwKKyAg
J09VVFBVVF9URVhUVVJFX0NPT1JEMjlfRVhUJzogMHg4N0JBLAorICAnT1VUUFVUX1RFWFRVUkVf
Q09PUkQzMF9FWFQnOiAweDg3QkIsCisgICdPVVRQVVRfVEVYVFVSRV9DT09SRDMxX0VYVCc6IDB4
ODdCQywKKyAgJ09VVFBVVF9GT0dfRVhUJzogMHg4N0JELAorICAnU0NBTEFSX0VYVCc6IDB4ODdC
RSwKKyAgJ1ZFQ1RPUl9FWFQnOiAweDg3QkYsCisgICdNQVRSSVhfRVhUJzogMHg4N0MwLAorICAn
VkFSSUFOVF9FWFQnOiAweDg3QzEsCisgICdJTlZBUklBTlRfRVhUJzogMHg4N0MyLAorICAnTE9D
QUxfQ09OU1RBTlRfRVhUJzogMHg4N0MzLAorICAnTE9DQUxfRVhUJzogMHg4N0M0LAorICAnTUFY
X1ZFUlRFWF9TSEFERVJfSU5TVFJVQ1RJT05TX0VYVCc6IDB4ODdDNSwKKyAgJ01BWF9WRVJURVhf
U0hBREVSX1ZBUklBTlRTX0VYVCc6IDB4ODdDNiwKKyAgJ01BWF9WRVJURVhfU0hBREVSX0lOVkFS
SUFOVFNfRVhUJzogMHg4N0M3LAorICAnTUFYX1ZFUlRFWF9TSEFERVJfTE9DQUxfQ09OU1RBTlRT
X0VYVCc6IDB4ODdDOCwKKyAgJ01BWF9WRVJURVhfU0hBREVSX0xPQ0FMU19FWFQnOiAweDg3Qzks
CisgICdNQVhfT1BUSU1JWkVEX1ZFUlRFWF9TSEFERVJfSU5TVFJVQ1RJT05TX0VYVCc6IDB4ODdD
QSwKKyAgJ01BWF9PUFRJTUlaRURfVkVSVEVYX1NIQURFUl9WQVJJQU5UU19FWFQnOiAweDg3Q0Is
CisgICdNQVhfT1BUSU1JWkVEX1ZFUlRFWF9TSEFERVJfSU5WQVJJQU5UU19FWFQnOiAweDg3Q0Ms
CisgICdNQVhfT1BUSU1JWkVEX1ZFUlRFWF9TSEFERVJfTE9DQUxfQ09OU1RBTlRTX0VYVCc6IDB4
ODdDRCwKKyAgJ01BWF9PUFRJTUlaRURfVkVSVEVYX1NIQURFUl9MT0NBTFNfRVhUJzogMHg4N0NF
LAorICAnVkVSVEVYX1NIQURFUl9JTlNUUlVDVElPTlNfRVhUJzogMHg4N0NGLAorICAnVkVSVEVY
X1NIQURFUl9WQVJJQU5UU19FWFQnOiAweDg3RDAsCisgICdWRVJURVhfU0hBREVSX0lOVkFSSUFO
VFNfRVhUJzogMHg4N0QxLAorICAnVkVSVEVYX1NIQURFUl9MT0NBTF9DT05TVEFOVFNfRVhUJzog
MHg4N0QyLAorICAnVkVSVEVYX1NIQURFUl9MT0NBTFNfRVhUJzogMHg4N0QzLAorICAnVkVSVEVY
X1NIQURFUl9PUFRJTUlaRURfRVhUJzogMHg4N0Q0LAorICAnWF9FWFQnOiAweDg3RDUsCisgICdZ
X0VYVCc6IDB4ODdENiwKKyAgJ1pfRVhUJzogMHg4N0Q3LAorICAnV19FWFQnOiAweDg3RDgsCisg
ICdORUdBVElWRV9YX0VYVCc6IDB4ODdEOSwKKyAgJ05FR0FUSVZFX1lfRVhUJzogMHg4N0RBLAor
ICAnTkVHQVRJVkVfWl9FWFQnOiAweDg3REIsCisgICdORUdBVElWRV9XX0VYVCc6IDB4ODdEQywK
KyAgJ1pFUk9fRVhUJzogMHg4N0RELAorICAnT05FX0VYVCc6IDB4ODdERSwKKyAgJ05FR0FUSVZF
X09ORV9FWFQnOiAweDg3REYsCisgICdOT1JNQUxJWkVEX1JBTkdFX0VYVCc6IDB4ODdFMCwKKyAg
J0ZVTExfUkFOR0VfRVhUJzogMHg4N0UxLAorICAnQ1VSUkVOVF9WRVJURVhfRVhUJzogMHg4N0Uy
LAorICAnTVZQX01BVFJJWF9FWFQnOiAweDg3RTMsCisgICdWQVJJQU5UX1ZBTFVFX0VYVCc6IDB4
ODdFNCwKKyAgJ1ZBUklBTlRfREFUQVRZUEVfRVhUJzogMHg4N0U1LAorICAnVkFSSUFOVF9BUlJB
WV9TVFJJREVfRVhUJzogMHg4N0U2LAorICAnVkFSSUFOVF9BUlJBWV9UWVBFX0VYVCc6IDB4ODdF
NywKKyAgJ1ZBUklBTlRfQVJSQVlfRVhUJzogMHg4N0U4LAorICAnVkFSSUFOVF9BUlJBWV9QT0lO
VEVSX0VYVCc6IDB4ODdFOSwKKyAgJ0lOVkFSSUFOVF9WQUxVRV9FWFQnOiAweDg3RUEsCisgICdJ
TlZBUklBTlRfREFUQVRZUEVfRVhUJzogMHg4N0VCLAorICAnTE9DQUxfQ09OU1RBTlRfVkFMVUVf
RVhUJzogMHg4N0VDLAorICAnTE9DQUxfQ09OU1RBTlRfREFUQVRZUEVfRVhUJzogMHg4N0VELAor
ICAnTU9ERUxWSUVXMF9TVEFDS19ERVBUSF9FWFQnOiAweDBCQTMsCisgICdNT0RFTFZJRVcwX01B
VFJJWF9FWFQnOiAweDBCQTYsCisgICdNT0RFTFZJRVcwX0VYVCc6IDB4MTcwMCwKKyAgJ01PREVM
VklFVzFfU1RBQ0tfREVQVEhfRVhUJzogMHg4NTAyLAorICAnTU9ERUxWSUVXMV9NQVRSSVhfRVhU
JzogMHg4NTA2LAorICAnVkVSVEVYX1dFSUdIVElOR19FWFQnOiAweDg1MDksCisgICdNT0RFTFZJ
RVcxX0VYVCc6IDB4ODUwQSwKKyAgJ0NVUlJFTlRfVkVSVEVYX1dFSUdIVF9FWFQnOiAweDg1MEIs
CisgICdWRVJURVhfV0VJR0hUX0FSUkFZX0VYVCc6IDB4ODUwQywKKyAgJ1ZFUlRFWF9XRUlHSFRf
QVJSQVlfU0laRV9FWFQnOiAweDg1MEQsCisgICdWRVJURVhfV0VJR0hUX0FSUkFZX1RZUEVfRVhU
JzogMHg4NTBFLAorICAnVkVSVEVYX1dFSUdIVF9BUlJBWV9TVFJJREVfRVhUJzogMHg4NTBGLAor
ICAnVkVSVEVYX1dFSUdIVF9BUlJBWV9QT0lOVEVSX0VYVCc6IDB4ODUxMCwKKyAgJ09DQ0xVU0lP
Tl9URVNUX0hQJzogMHg4MTY1LAorICAnT0NDTFVTSU9OX1RFU1RfUkVTVUxUX0hQJzogMHg4MTY2
LAorICAnTUlSUk9SRURfUkVQRUFUX0lCTSc6IDB4ODM3MCwKKyAgJ1JFRF9NSU5fQ0xBTVBfSU5H
Uic6IDB4ODU2MCwKKyAgJ0dSRUVOX01JTl9DTEFNUF9JTkdSJzogMHg4NTYxLAorICAnQkxVRV9N
SU5fQ0xBTVBfSU5HUic6IDB4ODU2MiwKKyAgJ0FMUEhBX01JTl9DTEFNUF9JTkdSJzogMHg4NTYz
LAorICAnUkVEX01BWF9DTEFNUF9JTkdSJzogMHg4NTY0LAorICAnR1JFRU5fTUFYX0NMQU1QX0lO
R1InOiAweDg1NjUsCisgICdCTFVFX01BWF9DTEFNUF9JTkdSJzogMHg4NTY2LAorICAnQUxQSEFf
TUFYX0NMQU1QX0lOR1InOiAweDg1NjcsCisgICdJTlRFUkxBQ0VfUkVBRF9JTkdSJzogMHg4NTY4
LAorICAnUEFSQUxMRUxfQVJSQVlTX0lOVEVMJzogMHg4M0Y0LAorICAnVkVSVEVYX0FSUkFZX1BB
UkFMTEVMX1BPSU5URVJTX0lOVEVMJzogMHg4M0Y1LAorICAnTk9STUFMX0FSUkFZX1BBUkFMTEVM
X1BPSU5URVJTX0lOVEVMJzogMHg4M0Y2LAorICAnQ09MT1JfQVJSQVlfUEFSQUxMRUxfUE9JTlRF
UlNfSU5URUwnOiAweDgzRjcsCisgICdURVhUVVJFX0NPT1JEX0FSUkFZX1BBUkFMTEVMX1BPSU5U
RVJTX0lOVEVMJzogMHg4M0Y4LAorICAnS1RYX0ZST05UX1JFR0lPTic6IDB4MCwKKyAgJ0tUWF9C
QUNLX1JFR0lPTic6IDB4MSwKKyAgJ0tUWF9aX1JFR0lPTic6IDB4MiwKKyAgJ0tUWF9TVEVOQ0lM
X1JFR0lPTic6IDB4MywKKyAgJ1RFWFRVUkVfMURfU1RBQ0tfTUVTQVgnOiAweDg3NTksCisgICdU
RVhUVVJFXzJEX1NUQUNLX01FU0FYJzogMHg4NzVBLAorICAnUFJPWFlfVEVYVFVSRV8xRF9TVEFD
S19NRVNBWCc6IDB4ODc1QiwKKyAgJ1BST1hZX1RFWFRVUkVfMkRfU1RBQ0tfTUVTQVgnOiAweDg3
NUMsCisgICdURVhUVVJFXzFEX1NUQUNLX0JJTkRJTkdfTUVTQVgnOiAweDg3NUQsCisgICdURVhU
VVJFXzJEX1NUQUNLX0JJTkRJTkdfTUVTQVgnOiAweDg3NUUsCisgICdQQUNLX0lOVkVSVF9NRVNB
JzogMHg4NzU4LAorICAnVU5TSUdORURfU0hPUlRfOF84X01FU0EnOiAweDg1QkEsCisgICdVTlNJ
R05FRF9TSE9SVF84XzhfUkVWX01FU0EnOiAweDg1QkIsCisgICdZQ0JDUl9NRVNBJzogMHg4NzU3
LAorICAnUVVFUllfV0FJVF9OVic6IDB4OEUxMywKKyAgJ1FVRVJZX05PX1dBSVRfTlYnOiAweDhF
MTQsCisgICdRVUVSWV9CWV9SRUdJT05fV0FJVF9OVic6IDB4OEUxNSwKKyAgJ1FVRVJZX0JZX1JF
R0lPTl9OT19XQUlUX05WJzogMHg4RTE2LAorICAnREVQVEhfU1RFTkNJTF9UT19SR0JBX05WJzog
MHg4ODZFLAorICAnREVQVEhfU1RFTkNJTF9UT19CR1JBX05WJzogMHg4ODZGLAorICAnREVQVEhf
Q09NUE9ORU5UMzJGX05WJzogMHg4REFCLAorICAnREVQVEgzMkZfU1RFTkNJTDhfTlYnOiAweDhE
QUMsCisgICdGTE9BVF8zMl9VTlNJR05FRF9JTlRfMjRfOF9SRVZfTlYnOiAweDhEQUQsCisgICdE
RVBUSF9CVUZGRVJfRkxPQVRfTU9ERV9OVic6IDB4OERBRiwKKyAgJ0RFUFRIX0NMQU1QX05WJzog
MHg4NjRGLAorICAnU0FNUExFX0NPVU5UX0JJVFNfTlYnOiAweDg4NjQsCisgICdDVVJSRU5UX1NB
TVBMRV9DT1VOVF9RVUVSWV9OVic6IDB4ODg2NSwKKyAgJ1FVRVJZX1JFU1VMVF9OVic6IDB4ODg2
NiwKKyAgJ1FVRVJZX1JFU1VMVF9BVkFJTEFCTEVfTlYnOiAweDg4NjcsCisgICdTQU1QTEVfQ09V
TlRfTlYnOiAweDg5MTQsCisgICdFVkFMXzJEX05WJzogMHg4NkMwLAorICAnRVZBTF9UUklBTkdV
TEFSXzJEX05WJzogMHg4NkMxLAorICAnTUFQX1RFU1NFTExBVElPTl9OVic6IDB4ODZDMiwKKyAg
J01BUF9BVFRSSUJfVV9PUkRFUl9OVic6IDB4ODZDMywKKyAgJ01BUF9BVFRSSUJfVl9PUkRFUl9O
Vic6IDB4ODZDNCwKKyAgJ0VWQUxfRlJBQ1RJT05BTF9URVNTRUxMQVRJT05fTlYnOiAweDg2QzUs
CisgICdFVkFMX1ZFUlRFWF9BVFRSSUIwX05WJzogMHg4NkM2LAorICAnRVZBTF9WRVJURVhfQVRU
UklCMV9OVic6IDB4ODZDNywKKyAgJ0VWQUxfVkVSVEVYX0FUVFJJQjJfTlYnOiAweDg2QzgsCisg
ICdFVkFMX1ZFUlRFWF9BVFRSSUIzX05WJzogMHg4NkM5LAorICAnRVZBTF9WRVJURVhfQVRUUklC
NF9OVic6IDB4ODZDQSwKKyAgJ0VWQUxfVkVSVEVYX0FUVFJJQjVfTlYnOiAweDg2Q0IsCisgICdF
VkFMX1ZFUlRFWF9BVFRSSUI2X05WJzogMHg4NkNDLAorICAnRVZBTF9WRVJURVhfQVRUUklCN19O
Vic6IDB4ODZDRCwKKyAgJ0VWQUxfVkVSVEVYX0FUVFJJQjhfTlYnOiAweDg2Q0UsCisgICdFVkFM
X1ZFUlRFWF9BVFRSSUI5X05WJzogMHg4NkNGLAorICAnRVZBTF9WRVJURVhfQVRUUklCMTBfTlYn
OiAweDg2RDAsCisgICdFVkFMX1ZFUlRFWF9BVFRSSUIxMV9OVic6IDB4ODZEMSwKKyAgJ0VWQUxf
VkVSVEVYX0FUVFJJQjEyX05WJzogMHg4NkQyLAorICAnRVZBTF9WRVJURVhfQVRUUklCMTNfTlYn
OiAweDg2RDMsCisgICdFVkFMX1ZFUlRFWF9BVFRSSUIxNF9OVic6IDB4ODZENCwKKyAgJ0VWQUxf
VkVSVEVYX0FUVFJJQjE1X05WJzogMHg4NkQ1LAorICAnTUFYX01BUF9URVNTRUxMQVRJT05fTlYn
OiAweDg2RDYsCisgICdNQVhfUkFUSU9OQUxfRVZBTF9PUkRFUl9OVic6IDB4ODZENywKKyAgJ1NB
TVBMRV9QT1NJVElPTl9OVic6IDB4OEU1MCwKKyAgJ1NBTVBMRV9NQVNLX05WJzogMHg4RTUxLAor
ICAnU0FNUExFX01BU0tfVkFMVUVfTlYnOiAweDhFNTIsCisgICdURVhUVVJFX0JJTkRJTkdfUkVO
REVSQlVGRkVSX05WJzogMHg4RTUzLAorICAnVEVYVFVSRV9SRU5ERVJCVUZGRVJfREFUQV9TVE9S
RV9CSU5ESU5HX05WJzogMHg4RTU0LAorICAnVEVYVFVSRV9SRU5ERVJCVUZGRVJfTlYnOiAweDhF
NTUsCisgICdTQU1QTEVSX1JFTkRFUkJVRkZFUl9OVic6IDB4OEU1NiwKKyAgJ0lOVF9TQU1QTEVS
X1JFTkRFUkJVRkZFUl9OVic6IDB4OEU1NywKKyAgJ1VOU0lHTkVEX0lOVF9TQU1QTEVSX1JFTkRF
UkJVRkZFUl9OVic6IDB4OEU1OCwKKyAgJ01BWF9TQU1QTEVfTUFTS19XT1JEU19OVic6IDB4OEU1
OSwKKyAgJ0FMTF9DT01QTEVURURfTlYnOiAweDg0RjIsCisgICdGRU5DRV9TVEFUVVNfTlYnOiAw
eDg0RjMsCisgICdGRU5DRV9DT05ESVRJT05fTlYnOiAweDg0RjQsCisgICdGTE9BVF9SX05WJzog
MHg4ODgwLAorICAnRkxPQVRfUkdfTlYnOiAweDg4ODEsCisgICdGTE9BVF9SR0JfTlYnOiAweDg4
ODIsCisgICdGTE9BVF9SR0JBX05WJzogMHg4ODgzLAorICAnRkxPQVRfUjE2X05WJzogMHg4ODg0
LAorICAnRkxPQVRfUjMyX05WJzogMHg4ODg1LAorICAnRkxPQVRfUkcxNl9OVic6IDB4ODg4NiwK
KyAgJ0ZMT0FUX1JHMzJfTlYnOiAweDg4ODcsCisgICdGTE9BVF9SR0IxNl9OVic6IDB4ODg4OCwK
KyAgJ0ZMT0FUX1JHQjMyX05WJzogMHg4ODg5LAorICAnRkxPQVRfUkdCQTE2X05WJzogMHg4ODhB
LAorICAnRkxPQVRfUkdCQTMyX05WJzogMHg4ODhCLAorICAnVEVYVFVSRV9GTE9BVF9DT01QT05F
TlRTX05WJzogMHg4ODhDLAorICAnRkxPQVRfQ0xFQVJfQ09MT1JfVkFMVUVfTlYnOiAweDg4OEQs
CisgICdGTE9BVF9SR0JBX01PREVfTlYnOiAweDg4OEUsCisgICdGT0dfRElTVEFOQ0VfTU9ERV9O
Vic6IDB4ODU1QSwKKyAgJ0VZRV9SQURJQUxfTlYnOiAweDg1NUIsCisgICdFWUVfUExBTkVfQUJT
T0xVVEVfTlYnOiAweDg1NUMsCisgICdNQVhfRlJBR01FTlRfUFJPR1JBTV9MT0NBTF9QQVJBTUVU
RVJTX05WJzogMHg4ODY4LAorICAnRlJBR01FTlRfUFJPR1JBTV9OVic6IDB4ODg3MCwKKyAgJ01B
WF9URVhUVVJFX0NPT1JEU19OVic6IDB4ODg3MSwKKyAgJ01BWF9URVhUVVJFX0lNQUdFX1VOSVRT
X05WJzogMHg4ODcyLAorICAnRlJBR01FTlRfUFJPR1JBTV9CSU5ESU5HX05WJzogMHg4ODczLAor
ICAnUFJPR1JBTV9FUlJPUl9TVFJJTkdfTlYnOiAweDg4NzQsCisgICdNQVhfUFJPR1JBTV9FWEVD
X0lOU1RSVUNUSU9OU19OVic6IDB4ODhGNCwKKyAgJ01BWF9QUk9HUkFNX0NBTExfREVQVEhfTlYn
OiAweDg4RjUsCisgICdNQVhfUFJPR1JBTV9JRl9ERVBUSF9OVic6IDB4ODhGNiwKKyAgJ01BWF9Q
Uk9HUkFNX0xPT1BfREVQVEhfTlYnOiAweDg4RjcsCisgICdNQVhfUFJPR1JBTV9MT09QX0NPVU5U
X05WJzogMHg4OEY4LAorICAnUkVOREVSQlVGRkVSX0NPVkVSQUdFX1NBTVBMRVNfTlYnOiAweDhD
QUIsCisgICdSRU5ERVJCVUZGRVJfQ09MT1JfU0FNUExFU19OVic6IDB4OEUxMCwKKyAgJ01BWF9N
VUxUSVNBTVBMRV9DT1ZFUkFHRV9NT0RFU19OVic6IDB4OEUxMSwKKyAgJ01VTFRJU0FNUExFX0NP
VkVSQUdFX01PREVTX05WJzogMHg4RTEyLAorICAnR0VPTUVUUllfUFJPR1JBTV9OVic6IDB4OEMy
NiwKKyAgJ01BWF9QUk9HUkFNX09VVFBVVF9WRVJUSUNFU19OVic6IDB4OEMyNywKKyAgJ01BWF9Q
Uk9HUkFNX1RPVEFMX09VVFBVVF9DT01QT05FTlRTX05WJzogMHg4QzI4LAorICAnTUlOX1BST0dS
QU1fVEVYRUxfT0ZGU0VUX05WJzogMHg4OTA0LAorICAnTUFYX1BST0dSQU1fVEVYRUxfT0ZGU0VU
X05WJzogMHg4OTA1LAorICAnUFJPR1JBTV9BVFRSSUJfQ09NUE9ORU5UU19OVic6IDB4ODkwNiwK
KyAgJ1BST0dSQU1fUkVTVUxUX0NPTVBPTkVOVFNfTlYnOiAweDg5MDcsCisgICdNQVhfUFJPR1JB
TV9BVFRSSUJfQ09NUE9ORU5UU19OVic6IDB4ODkwOCwKKyAgJ01BWF9QUk9HUkFNX1JFU1VMVF9D
T01QT05FTlRTX05WJzogMHg4OTA5LAorICAnTUFYX1BST0dSQU1fR0VORVJJQ19BVFRSSUJTX05W
JzogMHg4REE1LAorICAnTUFYX1BST0dSQU1fR0VORVJJQ19SRVNVTFRTX05WJzogMHg4REE2LAor
ICAnSEFMRl9GTE9BVF9OVic6IDB4MTQwQiwKKyAgJ01BWF9TSElOSU5FU1NfTlYnOiAweDg1MDQs
CisgICdNQVhfU1BPVF9FWFBPTkVOVF9OVic6IDB4ODUwNSwKKyAgJ01VTFRJU0FNUExFX0ZJTFRF
Ul9ISU5UX05WJzogMHg4NTM0LAorICAnUElYRUxfQ09VTlRFUl9CSVRTX05WJzogMHg4ODY0LAor
ICAnQ1VSUkVOVF9PQ0NMVVNJT05fUVVFUllfSURfTlYnOiAweDg4NjUsCisgICdQSVhFTF9DT1VO
VF9OVic6IDB4ODg2NiwKKyAgJ1BJWEVMX0NPVU5UX0FWQUlMQUJMRV9OVic6IDB4ODg2NywKKyAg
J0RFUFRIX1NURU5DSUxfTlYnOiAweDg0RjksCisgICdVTlNJR05FRF9JTlRfMjRfOF9OVic6IDB4
ODRGQSwKKyAgJ01BWF9QUk9HUkFNX1BBUkFNRVRFUl9CVUZGRVJfQklORElOR1NfTlYnOiAweDhE
QTAsCisgICdNQVhfUFJPR1JBTV9QQVJBTUVURVJfQlVGRkVSX1NJWkVfTlYnOiAweDhEQTEsCisg
ICdWRVJURVhfUFJPR1JBTV9QQVJBTUVURVJfQlVGRkVSX05WJzogMHg4REEyLAorICAnR0VPTUVU
UllfUFJPR1JBTV9QQVJBTUVURVJfQlVGRkVSX05WJzogMHg4REEzLAorICAnRlJBR01FTlRfUFJP
R1JBTV9QQVJBTUVURVJfQlVGRkVSX05WJzogMHg4REE0LAorICAnV1JJVEVfUElYRUxfREFUQV9S
QU5HRV9OVic6IDB4ODg3OCwKKyAgJ1JFQURfUElYRUxfREFUQV9SQU5HRV9OVic6IDB4ODg3OSwK
KyAgJ1dSSVRFX1BJWEVMX0RBVEFfUkFOR0VfTEVOR1RIX05WJzogMHg4ODdBLAorICAnUkVBRF9Q
SVhFTF9EQVRBX1JBTkdFX0xFTkdUSF9OVic6IDB4ODg3QiwKKyAgJ1dSSVRFX1BJWEVMX0RBVEFf
UkFOR0VfUE9JTlRFUl9OVic6IDB4ODg3QywKKyAgJ1JFQURfUElYRUxfREFUQV9SQU5HRV9QT0lO
VEVSX05WJzogMHg4ODdELAorICAnUE9JTlRfU1BSSVRFX05WJzogMHg4ODYxLAorICAnQ09PUkRf
UkVQTEFDRV9OVic6IDB4ODg2MiwKKyAgJ1BPSU5UX1NQUklURV9SX01PREVfTlYnOiAweDg4NjMs
CisgICdGUkFNRV9OVic6IDB4OEUyNiwKKyAgJ0ZJRUxEU19OVic6IDB4OEUyNywKKyAgJ0NVUlJF
TlRfVElNRV9OVic6IDB4OEUyOCwKKyAgJ05VTV9GSUxMX1NUUkVBTVNfTlYnOiAweDhFMjksCisg
ICdQUkVTRU5UX1RJTUVfTlYnOiAweDhFMkEsCisgICdQUkVTRU5UX0RVUkFUSU9OX05WJzogMHg4
RTJCLAorICAnUFJJTUlUSVZFX1JFU1RBUlRfTlYnOiAweDg1NTgsCisgICdQUklNSVRJVkVfUkVT
VEFSVF9JTkRFWF9OVic6IDB4ODU1OSwKKyAgJ1JFR0lTVEVSX0NPTUJJTkVSU19OVic6IDB4ODUy
MiwKKyAgJ1ZBUklBQkxFX0FfTlYnOiAweDg1MjMsCisgICdWQVJJQUJMRV9CX05WJzogMHg4NTI0
LAorICAnVkFSSUFCTEVfQ19OVic6IDB4ODUyNSwKKyAgJ1ZBUklBQkxFX0RfTlYnOiAweDg1MjYs
CisgICdWQVJJQUJMRV9FX05WJzogMHg4NTI3LAorICAnVkFSSUFCTEVfRl9OVic6IDB4ODUyOCwK
KyAgJ1ZBUklBQkxFX0dfTlYnOiAweDg1MjksCisgICdDT05TVEFOVF9DT0xPUjBfTlYnOiAweDg1
MkEsCisgICdDT05TVEFOVF9DT0xPUjFfTlYnOiAweDg1MkIsCisgICdQUklNQVJZX0NPTE9SX05W
JzogMHg4NTJDLAorICAnU0VDT05EQVJZX0NPTE9SX05WJzogMHg4NTJELAorICAnU1BBUkUwX05W
JzogMHg4NTJFLAorICAnU1BBUkUxX05WJzogMHg4NTJGLAorICAnRElTQ0FSRF9OVic6IDB4ODUz
MCwKKyAgJ0VfVElNRVNfRl9OVic6IDB4ODUzMSwKKyAgJ1NQQVJFMF9QTFVTX1NFQ09OREFSWV9D
T0xPUl9OVic6IDB4ODUzMiwKKyAgJ1VOU0lHTkVEX0lERU5USVRZX05WJzogMHg4NTM2LAorICAn
VU5TSUdORURfSU5WRVJUX05WJzogMHg4NTM3LAorICAnRVhQQU5EX05PUk1BTF9OVic6IDB4ODUz
OCwKKyAgJ0VYUEFORF9ORUdBVEVfTlYnOiAweDg1MzksCisgICdIQUxGX0JJQVNfTk9STUFMX05W
JzogMHg4NTNBLAorICAnSEFMRl9CSUFTX05FR0FURV9OVic6IDB4ODUzQiwKKyAgJ1NJR05FRF9J
REVOVElUWV9OVic6IDB4ODUzQywKKyAgJ1NJR05FRF9ORUdBVEVfTlYnOiAweDg1M0QsCisgICdT
Q0FMRV9CWV9UV09fTlYnOiAweDg1M0UsCisgICdTQ0FMRV9CWV9GT1VSX05WJzogMHg4NTNGLAor
ICAnU0NBTEVfQllfT05FX0hBTEZfTlYnOiAweDg1NDAsCisgICdCSUFTX0JZX05FR0FUSVZFX09O
RV9IQUxGX05WJzogMHg4NTQxLAorICAnQ09NQklORVJfSU5QVVRfTlYnOiAweDg1NDIsCisgICdD
T01CSU5FUl9NQVBQSU5HX05WJzogMHg4NTQzLAorICAnQ09NQklORVJfQ09NUE9ORU5UX1VTQUdF
X05WJzogMHg4NTQ0LAorICAnQ09NQklORVJfQUJfRE9UX1BST0RVQ1RfTlYnOiAweDg1NDUsCisg
ICdDT01CSU5FUl9DRF9ET1RfUFJPRFVDVF9OVic6IDB4ODU0NiwKKyAgJ0NPTUJJTkVSX01VWF9T
VU1fTlYnOiAweDg1NDcsCisgICdDT01CSU5FUl9TQ0FMRV9OVic6IDB4ODU0OCwKKyAgJ0NPTUJJ
TkVSX0JJQVNfTlYnOiAweDg1NDksCisgICdDT01CSU5FUl9BQl9PVVRQVVRfTlYnOiAweDg1NEEs
CisgICdDT01CSU5FUl9DRF9PVVRQVVRfTlYnOiAweDg1NEIsCisgICdDT01CSU5FUl9TVU1fT1VU
UFVUX05WJzogMHg4NTRDLAorICAnTUFYX0dFTkVSQUxfQ09NQklORVJTX05WJzogMHg4NTRELAor
ICAnTlVNX0dFTkVSQUxfQ09NQklORVJTX05WJzogMHg4NTRFLAorICAnQ09MT1JfU1VNX0NMQU1Q
X05WJzogMHg4NTRGLAorICAnQ09NQklORVIwX05WJzogMHg4NTUwLAorICAnQ09NQklORVIxX05W
JzogMHg4NTUxLAorICAnQ09NQklORVIyX05WJzogMHg4NTUyLAorICAnQ09NQklORVIzX05WJzog
MHg4NTUzLAorICAnQ09NQklORVI0X05WJzogMHg4NTU0LAorICAnQ09NQklORVI1X05WJzogMHg4
NTU1LAorICAnQ09NQklORVI2X05WJzogMHg4NTU2LAorICAnQ09NQklORVI3X05WJzogMHg4NTU3
LAorICAnUEVSX1NUQUdFX0NPTlNUQU5UU19OVic6IDB4ODUzNSwKKyAgJ0VNQk9TU19MSUdIVF9O
Vic6IDB4ODU1RCwKKyAgJ0VNQk9TU19DT05TVEFOVF9OVic6IDB4ODU1RSwKKyAgJ0VNQk9TU19N
QVBfTlYnOiAweDg1NUYsCisgICdOT1JNQUxfTUFQX05WJzogMHg4NTExLAorICAnUkVGTEVDVElP
Tl9NQVBfTlYnOiAweDg1MTIsCisgICdDT01CSU5FNF9OVic6IDB4ODUwMywKKyAgJ1NPVVJDRTNf
UkdCX05WJzogMHg4NTgzLAorICAnU09VUkNFM19BTFBIQV9OVic6IDB4ODU4QiwKKyAgJ09QRVJB
TkQzX1JHQl9OVic6IDB4ODU5MywKKyAgJ09QRVJBTkQzX0FMUEhBX05WJzogMHg4NTlCLAorICAn
VEVYVFVSRV9VTlNJR05FRF9SRU1BUF9NT0RFX05WJzogMHg4ODhGLAorICAnVEVYVFVSRV9SRUNU
QU5HTEVfTlYnOiAweDg0RjUsCisgICdURVhUVVJFX0JJTkRJTkdfUkVDVEFOR0xFX05WJzogMHg4
NEY2LAorICAnUFJPWFlfVEVYVFVSRV9SRUNUQU5HTEVfTlYnOiAweDg0RjcsCisgICdNQVhfUkVD
VEFOR0xFX1RFWFRVUkVfU0laRV9OVic6IDB4ODRGOCwKKyAgJ09GRlNFVF9URVhUVVJFX1JFQ1RB
TkdMRV9OVic6IDB4ODY0QywKKyAgJ09GRlNFVF9URVhUVVJFX1JFQ1RBTkdMRV9TQ0FMRV9OVic6
IDB4ODY0RCwKKyAgJ0RPVF9QUk9EVUNUX1RFWFRVUkVfUkVDVEFOR0xFX05WJzogMHg4NjRFLAor
ICAnUkdCQV9VTlNJR05FRF9ET1RfUFJPRFVDVF9NQVBQSU5HX05WJzogMHg4NkQ5LAorICAnVU5T
SUdORURfSU5UX1M4X1M4XzhfOF9OVic6IDB4ODZEQSwKKyAgJ1VOU0lHTkVEX0lOVF84XzhfUzhf
UzhfUkVWX05WJzogMHg4NkRCLAorICAnRFNEVF9NQUdfSU5URU5TSVRZX05WJzogMHg4NkRDLAor
ICAnU0hBREVSX0NPTlNJU1RFTlRfTlYnOiAweDg2REQsCisgICdURVhUVVJFX1NIQURFUl9OVic6
IDB4ODZERSwKKyAgJ1NIQURFUl9PUEVSQVRJT05fTlYnOiAweDg2REYsCisgICdDVUxMX01PREVT
X05WJzogMHg4NkUwLAorICAnT0ZGU0VUX1RFWFRVUkVfMkRfTUFUUklYX05WJzogMHg4NkUxLAor
ICAnT0ZGU0VUX1RFWFRVUkVfTUFUUklYX05WJzogMHg4NkUxLAorICAnT0ZGU0VUX1RFWFRVUkVf
MkRfU0NBTEVfTlYnOiAweDg2RTIsCisgICdPRkZTRVRfVEVYVFVSRV9TQ0FMRV9OVic6IDB4ODZF
MiwKKyAgJ09GRlNFVF9URVhUVVJFX0JJQVNfTlYnOiAweDg2RTMsCisgICdPRkZTRVRfVEVYVFVS
RV8yRF9CSUFTX05WJzogMHg4NkUzLAorICAnUFJFVklPVVNfVEVYVFVSRV9JTlBVVF9OVic6IDB4
ODZFNCwKKyAgJ0NPTlNUX0VZRV9OVic6IDB4ODZFNSwKKyAgJ1BBU1NfVEhST1VHSF9OVic6IDB4
ODZFNiwKKyAgJ0NVTExfRlJBR01FTlRfTlYnOiAweDg2RTcsCisgICdPRkZTRVRfVEVYVFVSRV8y
RF9OVic6IDB4ODZFOCwKKyAgJ0RFUEVOREVOVF9BUl9URVhUVVJFXzJEX05WJzogMHg4NkU5LAor
ICAnREVQRU5ERU5UX0dCX1RFWFRVUkVfMkRfTlYnOiAweDg2RUEsCisgICdET1RfUFJPRFVDVF9O
Vic6IDB4ODZFQywKKyAgJ0RPVF9QUk9EVUNUX0RFUFRIX1JFUExBQ0VfTlYnOiAweDg2RUQsCisg
ICdET1RfUFJPRFVDVF9URVhUVVJFXzJEX05WJzogMHg4NkVFLAorICAnRE9UX1BST0RVQ1RfVEVY
VFVSRV9DVUJFX01BUF9OVic6IDB4ODZGMCwKKyAgJ0RPVF9QUk9EVUNUX0RJRkZVU0VfQ1VCRV9N
QVBfTlYnOiAweDg2RjEsCisgICdET1RfUFJPRFVDVF9SRUZMRUNUX0NVQkVfTUFQX05WJzogMHg4
NkYyLAorICAnRE9UX1BST0RVQ1RfQ09OU1RfRVlFX1JFRkxFQ1RfQ1VCRV9NQVBfTlYnOiAweDg2
RjMsCisgICdISUxPX05WJzogMHg4NkY0LAorICAnRFNEVF9OVic6IDB4ODZGNSwKKyAgJ0RTRFRf
TUFHX05WJzogMHg4NkY2LAorICAnRFNEVF9NQUdfVklCX05WJzogMHg4NkY3LAorICAnSElMTzE2
X05WJzogMHg4NkY4LAorICAnU0lHTkVEX0hJTE9fTlYnOiAweDg2RjksCisgICdTSUdORURfSElM
TzE2X05WJzogMHg4NkZBLAorICAnU0lHTkVEX1JHQkFfTlYnOiAweDg2RkIsCisgICdTSUdORURf
UkdCQThfTlYnOiAweDg2RkMsCisgICdTSUdORURfUkdCX05WJzogMHg4NkZFLAorICAnU0lHTkVE
X1JHQjhfTlYnOiAweDg2RkYsCisgICdTSUdORURfTFVNSU5BTkNFX05WJzogMHg4NzAxLAorICAn
U0lHTkVEX0xVTUlOQU5DRThfTlYnOiAweDg3MDIsCisgICdTSUdORURfTFVNSU5BTkNFX0FMUEhB
X05WJzogMHg4NzAzLAorICAnU0lHTkVEX0xVTUlOQU5DRThfQUxQSEE4X05WJzogMHg4NzA0LAor
ICAnU0lHTkVEX0FMUEhBX05WJzogMHg4NzA1LAorICAnU0lHTkVEX0FMUEhBOF9OVic6IDB4ODcw
NiwKKyAgJ1NJR05FRF9JTlRFTlNJVFlfTlYnOiAweDg3MDcsCisgICdTSUdORURfSU5URU5TSVRZ
OF9OVic6IDB4ODcwOCwKKyAgJ0RTRFQ4X05WJzogMHg4NzA5LAorICAnRFNEVDhfTUFHOF9OVic6
IDB4ODcwQSwKKyAgJ0RTRFQ4X01BRzhfSU5URU5TSVRZOF9OVic6IDB4ODcwQiwKKyAgJ1NJR05F
RF9SR0JfVU5TSUdORURfQUxQSEFfTlYnOiAweDg3MEMsCisgICdTSUdORURfUkdCOF9VTlNJR05F
RF9BTFBIQThfTlYnOiAweDg3MEQsCisgICdISV9TQ0FMRV9OVic6IDB4ODcwRSwKKyAgJ0xPX1ND
QUxFX05WJzogMHg4NzBGLAorICAnRFNfU0NBTEVfTlYnOiAweDg3MTAsCisgICdEVF9TQ0FMRV9O
Vic6IDB4ODcxMSwKKyAgJ01BR05JVFVERV9TQ0FMRV9OVic6IDB4ODcxMiwKKyAgJ1ZJQlJBTkNF
X1NDQUxFX05WJzogMHg4NzEzLAorICAnSElfQklBU19OVic6IDB4ODcxNCwKKyAgJ0xPX0JJQVNf
TlYnOiAweDg3MTUsCisgICdEU19CSUFTX05WJzogMHg4NzE2LAorICAnRFRfQklBU19OVic6IDB4
ODcxNywKKyAgJ01BR05JVFVERV9CSUFTX05WJzogMHg4NzE4LAorICAnVklCUkFOQ0VfQklBU19O
Vic6IDB4ODcxOSwKKyAgJ1RFWFRVUkVfQk9SREVSX1ZBTFVFU19OVic6IDB4ODcxQSwKKyAgJ1RF
WFRVUkVfSElfU0laRV9OVic6IDB4ODcxQiwKKyAgJ1RFWFRVUkVfTE9fU0laRV9OVic6IDB4ODcx
QywKKyAgJ1RFWFRVUkVfRFNfU0laRV9OVic6IDB4ODcxRCwKKyAgJ1RFWFRVUkVfRFRfU0laRV9O
Vic6IDB4ODcxRSwKKyAgJ1RFWFRVUkVfTUFHX1NJWkVfTlYnOiAweDg3MUYsCisgICdVTlNJR05F
RF9JTlRfUzhfUzhfOF84X05WJzogMHg4NkRBLAorICAnVU5TSUdORURfSU5UXzhfOF9TOF9TOF9S
RVZfTlYnOiAweDg2REIsCisgICdEU0RUX01BR19JTlRFTlNJVFlfTlYnOiAweDg2REMsCisgICdE
T1RfUFJPRFVDVF9URVhUVVJFXzNEX05WJzogMHg4NkVGLAorICAnSElMT19OVic6IDB4ODZGNCwK
KyAgJ0RTRFRfTlYnOiAweDg2RjUsCisgICdEU0RUX01BR19OVic6IDB4ODZGNiwKKyAgJ0RTRFRf
TUFHX1ZJQl9OVic6IDB4ODZGNywKKyAgJ0hJTE8xNl9OVic6IDB4ODZGOCwKKyAgJ1NJR05FRF9I
SUxPX05WJzogMHg4NkY5LAorICAnU0lHTkVEX0hJTE8xNl9OVic6IDB4ODZGQSwKKyAgJ1NJR05F
RF9SR0JBX05WJzogMHg4NkZCLAorICAnU0lHTkVEX1JHQkE4X05WJzogMHg4NkZDLAorICAnU0lH
TkVEX1JHQl9OVic6IDB4ODZGRSwKKyAgJ1NJR05FRF9SR0I4X05WJzogMHg4NkZGLAorICAnU0lH
TkVEX0xVTUlOQU5DRV9OVic6IDB4ODcwMSwKKyAgJ1NJR05FRF9MVU1JTkFOQ0U4X05WJzogMHg4
NzAyLAorICAnU0lHTkVEX0xVTUlOQU5DRV9BTFBIQV9OVic6IDB4ODcwMywKKyAgJ1NJR05FRF9M
VU1JTkFOQ0U4X0FMUEhBOF9OVic6IDB4ODcwNCwKKyAgJ1NJR05FRF9BTFBIQV9OVic6IDB4ODcw
NSwKKyAgJ1NJR05FRF9BTFBIQThfTlYnOiAweDg3MDYsCisgICdTSUdORURfSU5URU5TSVRZX05W
JzogMHg4NzA3LAorICAnU0lHTkVEX0lOVEVOU0lUWThfTlYnOiAweDg3MDgsCisgICdEU0RUOF9O
Vic6IDB4ODcwOSwKKyAgJ0RTRFQ4X01BRzhfTlYnOiAweDg3MEEsCisgICdEU0RUOF9NQUc4X0lO
VEVOU0lUWThfTlYnOiAweDg3MEIsCisgICdTSUdORURfUkdCX1VOU0lHTkVEX0FMUEhBX05WJzog
MHg4NzBDLAorICAnU0lHTkVEX1JHQjhfVU5TSUdORURfQUxQSEE4X05WJzogMHg4NzBELAorICAn
T0ZGU0VUX1BST0pFQ1RJVkVfVEVYVFVSRV8yRF9OVic6IDB4ODg1MCwKKyAgJ09GRlNFVF9QUk9K
RUNUSVZFX1RFWFRVUkVfMkRfU0NBTEVfTlYnOiAweDg4NTEsCisgICdPRkZTRVRfUFJPSkVDVElW
RV9URVhUVVJFX1JFQ1RBTkdMRV9OVic6IDB4ODg1MiwKKyAgJ09GRlNFVF9QUk9KRUNUSVZFX1RF
WFRVUkVfUkVDVEFOR0xFX1NDQUxFX05WJzogMHg4ODUzLAorICAnT0ZGU0VUX0hJTE9fVEVYVFVS
RV8yRF9OVic6IDB4ODg1NCwKKyAgJ09GRlNFVF9ISUxPX1RFWFRVUkVfUkVDVEFOR0xFX05WJzog
MHg4ODU1LAorICAnT0ZGU0VUX0hJTE9fUFJPSkVDVElWRV9URVhUVVJFXzJEX05WJzogMHg4ODU2
LAorICAnT0ZGU0VUX0hJTE9fUFJPSkVDVElWRV9URVhUVVJFX1JFQ1RBTkdMRV9OVic6IDB4ODg1
NywKKyAgJ0RFUEVOREVOVF9ISUxPX1RFWFRVUkVfMkRfTlYnOiAweDg4NTgsCisgICdERVBFTkRF
TlRfUkdCX1RFWFRVUkVfM0RfTlYnOiAweDg4NTksCisgICdERVBFTkRFTlRfUkdCX1RFWFRVUkVf
Q1VCRV9NQVBfTlYnOiAweDg4NUEsCisgICdET1RfUFJPRFVDVF9QQVNTX1RIUk9VR0hfTlYnOiAw
eDg4NUIsCisgICdET1RfUFJPRFVDVF9URVhUVVJFXzFEX05WJzogMHg4ODVDLAorICAnRE9UX1BS
T0RVQ1RfQUZGSU5FX0RFUFRIX1JFUExBQ0VfTlYnOiAweDg4NUQsCisgICdISUxPOF9OVic6IDB4
ODg1RSwKKyAgJ1NJR05FRF9ISUxPOF9OVic6IDB4ODg1RiwKKyAgJ0ZPUkNFX0JMVUVfVE9fT05F
X05WJzogMHg4ODYwLAorICAnQkFDS19QUklNQVJZX0NPTE9SX05WJzogMHg4Qzc3LAorICAnQkFD
S19TRUNPTkRBUllfQ09MT1JfTlYnOiAweDhDNzgsCisgICdURVhUVVJFX0NPT1JEX05WJzogMHg4
Qzc5LAorICAnQ0xJUF9ESVNUQU5DRV9OVic6IDB4OEM3QSwKKyAgJ1ZFUlRFWF9JRF9OVic6IDB4
OEM3QiwKKyAgJ1BSSU1JVElWRV9JRF9OVic6IDB4OEM3QywKKyAgJ0dFTkVSSUNfQVRUUklCX05W
JzogMHg4QzdELAorICAnVFJBTlNGT1JNX0ZFRURCQUNLX0FUVFJJQlNfTlYnOiAweDhDN0UsCisg
ICdUUkFOU0ZPUk1fRkVFREJBQ0tfQlVGRkVSX01PREVfTlYnOiAweDhDN0YsCisgICdNQVhfVFJB
TlNGT1JNX0ZFRURCQUNLX1NFUEFSQVRFX0NPTVBPTkVOVFNfTlYnOiAweDhDODAsCisgICdBQ1RJ
VkVfVkFSWUlOR1NfTlYnOiAweDhDODEsCisgICdBQ1RJVkVfVkFSWUlOR19NQVhfTEVOR1RIX05W
JzogMHg4QzgyLAorICAnVFJBTlNGT1JNX0ZFRURCQUNLX1ZBUllJTkdTX05WJzogMHg4QzgzLAor
ICAnVFJBTlNGT1JNX0ZFRURCQUNLX0JVRkZFUl9TVEFSVF9OVic6IDB4OEM4NCwKKyAgJ1RSQU5T
Rk9STV9GRUVEQkFDS19CVUZGRVJfU0laRV9OVic6IDB4OEM4NSwKKyAgJ1RSQU5TRk9STV9GRUVE
QkFDS19SRUNPUkRfTlYnOiAweDhDODYsCisgICdQUklNSVRJVkVTX0dFTkVSQVRFRF9OVic6IDB4
OEM4NywKKyAgJ1RSQU5TRk9STV9GRUVEQkFDS19QUklNSVRJVkVTX1dSSVRURU5fTlYnOiAweDhD
ODgsCisgICdSQVNURVJJWkVSX0RJU0NBUkRfTlYnOiAweDhDODksCisgICdNQVhfVFJBTlNGT1JN
X0ZFRURCQUNLX0lOVEVSTEVBVkVEX0NPTVBPTkVOVFNfTlYnOiAweDhDOEEsCisgICdNQVhfVFJB
TlNGT1JNX0ZFRURCQUNLX1NFUEFSQVRFX0FUVFJJQlNfTlYnOiAweDhDOEIsCisgICdJTlRFUkxF
QVZFRF9BVFRSSUJTX05WJzogMHg4QzhDLAorICAnU0VQQVJBVEVfQVRUUklCU19OVic6IDB4OEM4
RCwKKyAgJ1RSQU5TRk9STV9GRUVEQkFDS19CVUZGRVJfTlYnOiAweDhDOEUsCisgICdUUkFOU0ZP
Uk1fRkVFREJBQ0tfQlVGRkVSX0JJTkRJTkdfTlYnOiAweDhDOEYsCisgICdWRVJURVhfQVJSQVlf
UkFOR0VfTlYnOiAweDg1MUQsCisgICdWRVJURVhfQVJSQVlfUkFOR0VfTEVOR1RIX05WJzogMHg4
NTFFLAorICAnVkVSVEVYX0FSUkFZX1JBTkdFX1ZBTElEX05WJzogMHg4NTFGLAorICAnTUFYX1ZF
UlRFWF9BUlJBWV9SQU5HRV9FTEVNRU5UX05WJzogMHg4NTIwLAorICAnVkVSVEVYX0FSUkFZX1JB
TkdFX1BPSU5URVJfTlYnOiAweDg1MjEsCisgICdWRVJURVhfQVJSQVlfUkFOR0VfV0lUSE9VVF9G
TFVTSF9OVic6IDB4ODUzMywKKyAgJ1ZFUlRFWF9QUk9HUkFNX05WJzogMHg4NjIwLAorICAnVkVS
VEVYX1NUQVRFX1BST0dSQU1fTlYnOiAweDg2MjEsCisgICdBVFRSSUJfQVJSQVlfU0laRV9OVic6
IDB4ODYyMywKKyAgJ0FUVFJJQl9BUlJBWV9TVFJJREVfTlYnOiAweDg2MjQsCisgICdBVFRSSUJf
QVJSQVlfVFlQRV9OVic6IDB4ODYyNSwKKyAgJ0NVUlJFTlRfQVRUUklCX05WJzogMHg4NjI2LAor
ICAnUFJPR1JBTV9MRU5HVEhfTlYnOiAweDg2MjcsCisgICdQUk9HUkFNX1NUUklOR19OVic6IDB4
ODYyOCwKKyAgJ01PREVMVklFV19QUk9KRUNUSU9OX05WJzogMHg4NjI5LAorICAnSURFTlRJVFlf
TlYnOiAweDg2MkEsCisgICdJTlZFUlNFX05WJzogMHg4NjJCLAorICAnVFJBTlNQT1NFX05WJzog
MHg4NjJDLAorICAnSU5WRVJTRV9UUkFOU1BPU0VfTlYnOiAweDg2MkQsCisgICdNQVhfVFJBQ0tf
TUFUUklYX1NUQUNLX0RFUFRIX05WJzogMHg4NjJFLAorICAnTUFYX1RSQUNLX01BVFJJQ0VTX05W
JzogMHg4NjJGLAorICAnTUFUUklYMF9OVic6IDB4ODYzMCwKKyAgJ01BVFJJWDFfTlYnOiAweDg2
MzEsCisgICdNQVRSSVgyX05WJzogMHg4NjMyLAorICAnTUFUUklYM19OVic6IDB4ODYzMywKKyAg
J01BVFJJWDRfTlYnOiAweDg2MzQsCisgICdNQVRSSVg1X05WJzogMHg4NjM1LAorICAnTUFUUklY
Nl9OVic6IDB4ODYzNiwKKyAgJ01BVFJJWDdfTlYnOiAweDg2MzcsCisgICdDVVJSRU5UX01BVFJJ
WF9TVEFDS19ERVBUSF9OVic6IDB4ODY0MCwKKyAgJ0NVUlJFTlRfTUFUUklYX05WJzogMHg4NjQx
LAorICAnVkVSVEVYX1BST0dSQU1fUE9JTlRfU0laRV9OVic6IDB4ODY0MiwKKyAgJ1ZFUlRFWF9Q
Uk9HUkFNX1RXT19TSURFX05WJzogMHg4NjQzLAorICAnUFJPR1JBTV9QQVJBTUVURVJfTlYnOiAw
eDg2NDQsCisgICdBVFRSSUJfQVJSQVlfUE9JTlRFUl9OVic6IDB4ODY0NSwKKyAgJ1BST0dSQU1f
VEFSR0VUX05WJzogMHg4NjQ2LAorICAnUFJPR1JBTV9SRVNJREVOVF9OVic6IDB4ODY0NywKKyAg
J1RSQUNLX01BVFJJWF9OVic6IDB4ODY0OCwKKyAgJ1RSQUNLX01BVFJJWF9UUkFOU0ZPUk1fTlYn
OiAweDg2NDksCisgICdWRVJURVhfUFJPR1JBTV9CSU5ESU5HX05WJzogMHg4NjRBLAorICAnUFJP
R1JBTV9FUlJPUl9QT1NJVElPTl9OVic6IDB4ODY0QiwKKyAgJ1ZFUlRFWF9BVFRSSUJfQVJSQVkw
X05WJzogMHg4NjUwLAorICAnVkVSVEVYX0FUVFJJQl9BUlJBWTFfTlYnOiAweDg2NTEsCisgICdW
RVJURVhfQVRUUklCX0FSUkFZMl9OVic6IDB4ODY1MiwKKyAgJ1ZFUlRFWF9BVFRSSUJfQVJSQVkz
X05WJzogMHg4NjUzLAorICAnVkVSVEVYX0FUVFJJQl9BUlJBWTRfTlYnOiAweDg2NTQsCisgICdW
RVJURVhfQVRUUklCX0FSUkFZNV9OVic6IDB4ODY1NSwKKyAgJ1ZFUlRFWF9BVFRSSUJfQVJSQVk2
X05WJzogMHg4NjU2LAorICAnVkVSVEVYX0FUVFJJQl9BUlJBWTdfTlYnOiAweDg2NTcsCisgICdW
RVJURVhfQVRUUklCX0FSUkFZOF9OVic6IDB4ODY1OCwKKyAgJ1ZFUlRFWF9BVFRSSUJfQVJSQVk5
X05WJzogMHg4NjU5LAorICAnVkVSVEVYX0FUVFJJQl9BUlJBWTEwX05WJzogMHg4NjVBLAorICAn
VkVSVEVYX0FUVFJJQl9BUlJBWTExX05WJzogMHg4NjVCLAorICAnVkVSVEVYX0FUVFJJQl9BUlJB
WTEyX05WJzogMHg4NjVDLAorICAnVkVSVEVYX0FUVFJJQl9BUlJBWTEzX05WJzogMHg4NjVELAor
ICAnVkVSVEVYX0FUVFJJQl9BUlJBWTE0X05WJzogMHg4NjVFLAorICAnVkVSVEVYX0FUVFJJQl9B
UlJBWTE1X05WJzogMHg4NjVGLAorICAnTUFQMV9WRVJURVhfQVRUUklCMF80X05WJzogMHg4NjYw
LAorICAnTUFQMV9WRVJURVhfQVRUUklCMV80X05WJzogMHg4NjYxLAorICAnTUFQMV9WRVJURVhf
QVRUUklCMl80X05WJzogMHg4NjYyLAorICAnTUFQMV9WRVJURVhfQVRUUklCM180X05WJzogMHg4
NjYzLAorICAnTUFQMV9WRVJURVhfQVRUUklCNF80X05WJzogMHg4NjY0LAorICAnTUFQMV9WRVJU
RVhfQVRUUklCNV80X05WJzogMHg4NjY1LAorICAnTUFQMV9WRVJURVhfQVRUUklCNl80X05WJzog
MHg4NjY2LAorICAnTUFQMV9WRVJURVhfQVRUUklCN180X05WJzogMHg4NjY3LAorICAnTUFQMV9W
RVJURVhfQVRUUklCOF80X05WJzogMHg4NjY4LAorICAnTUFQMV9WRVJURVhfQVRUUklCOV80X05W
JzogMHg4NjY5LAorICAnTUFQMV9WRVJURVhfQVRUUklCMTBfNF9OVic6IDB4ODY2QSwKKyAgJ01B
UDFfVkVSVEVYX0FUVFJJQjExXzRfTlYnOiAweDg2NkIsCisgICdNQVAxX1ZFUlRFWF9BVFRSSUIx
Ml80X05WJzogMHg4NjZDLAorICAnTUFQMV9WRVJURVhfQVRUUklCMTNfNF9OVic6IDB4ODY2RCwK
KyAgJ01BUDFfVkVSVEVYX0FUVFJJQjE0XzRfTlYnOiAweDg2NkUsCisgICdNQVAxX1ZFUlRFWF9B
VFRSSUIxNV80X05WJzogMHg4NjZGLAorICAnTUFQMl9WRVJURVhfQVRUUklCMF80X05WJzogMHg4
NjcwLAorICAnTUFQMl9WRVJURVhfQVRUUklCMV80X05WJzogMHg4NjcxLAorICAnTUFQMl9WRVJU
RVhfQVRUUklCMl80X05WJzogMHg4NjcyLAorICAnTUFQMl9WRVJURVhfQVRUUklCM180X05WJzog
MHg4NjczLAorICAnTUFQMl9WRVJURVhfQVRUUklCNF80X05WJzogMHg4Njc0LAorICAnTUFQMl9W
RVJURVhfQVRUUklCNV80X05WJzogMHg4Njc1LAorICAnTUFQMl9WRVJURVhfQVRUUklCNl80X05W
JzogMHg4Njc2LAorICAnTUFQMl9WRVJURVhfQVRUUklCN180X05WJzogMHg4Njc3LAorICAnTUFQ
Ml9WRVJURVhfQVRUUklCOF80X05WJzogMHg4Njc4LAorICAnTUFQMl9WRVJURVhfQVRUUklCOV80
X05WJzogMHg4Njc5LAorICAnTUFQMl9WRVJURVhfQVRUUklCMTBfNF9OVic6IDB4ODY3QSwKKyAg
J01BUDJfVkVSVEVYX0FUVFJJQjExXzRfTlYnOiAweDg2N0IsCisgICdNQVAyX1ZFUlRFWF9BVFRS
SUIxMl80X05WJzogMHg4NjdDLAorICAnTUFQMl9WRVJURVhfQVRUUklCMTNfNF9OVic6IDB4ODY3
RCwKKyAgJ01BUDJfVkVSVEVYX0FUVFJJQjE0XzRfTlYnOiAweDg2N0UsCisgICdNQVAyX1ZFUlRF
WF9BVFRSSUIxNV80X05WJzogMHg4NjdGLAorICAnTUFYX1BST0dSQU1fRVhFQ19JTlNUUlVDVElP
TlNfTlYnOiAweDg4RjQsCisgICdNQVhfUFJPR1JBTV9DQUxMX0RFUFRIX05WJzogMHg4OEY1LAor
ICAnTUFYX1ZFUlRFWF9URVhUVVJFX0lNQUdFX1VOSVRTX0FSQic6IDB4OEI0QywKKyAgJ0JZVEUn
OiAweDE0MDAsCisgICdQQUxFVFRFNF9SR0I4X09FUyc6IDB4OEI5MCwKKyAgJ1BBTEVUVEU0X1JH
QkE4X09FUyc6IDB4OEI5MSwKKyAgJ1BBTEVUVEU0X1I1X0c2X0I1X09FUyc6IDB4OEI5MiwKKyAg
J1BBTEVUVEU0X1JHQkE0X09FUyc6IDB4OEI5MywKKyAgJ1BBTEVUVEU0X1JHQjVfQTFfT0VTJzog
MHg4Qjk0LAorICAnUEFMRVRURThfUkdCOF9PRVMnOiAweDhCOTUsCisgICdQQUxFVFRFOF9SR0JB
OF9PRVMnOiAweDhCOTYsCisgICdQQUxFVFRFOF9SNV9HNl9CNV9PRVMnOiAweDhCOTcsCisgICdQ
QUxFVFRFOF9SR0JBNF9PRVMnOiAweDhCOTgsCisgICdQQUxFVFRFOF9SR0I1X0ExX09FUyc6IDB4
OEI5OSwKKyAgJ0lNUExFTUVOVEFUSU9OX0NPTE9SX1JFQURfVFlQRV9PRVMnOiAweDhCOUEsCisg
ICdJTVBMRU1FTlRBVElPTl9DT0xPUl9SRUFEX0ZPUk1BVF9PRVMnOiAweDhCOUIsCisgICdJTlRF
UkxBQ0VfT01MJzogMHg4OTgwLAorICAnSU5URVJMQUNFX1JFQURfT01MJzogMHg4OTgxLAorICAn
UEFDS19SRVNBTVBMRV9PTUwnOiAweDg5ODQsCisgICdVTlBBQ0tfUkVTQU1QTEVfT01MJzogMHg4
OTg1LAorICAnUkVTQU1QTEVfUkVQTElDQVRFX09NTCc6IDB4ODk4NiwKKyAgJ1JFU0FNUExFX1pF
Uk9fRklMTF9PTUwnOiAweDg5ODcsCisgICdSRVNBTVBMRV9BVkVSQUdFX09NTCc6IDB4ODk4OCwK
KyAgJ1JFU0FNUExFX0RFQ0lNQVRFX09NTCc6IDB4ODk4OSwKKyAgJ0ZPUk1BVF9TVUJTQU1QTEVf
MjRfMjRfT01MJzogMHg4OTgyLAorICAnRk9STUFUX1NVQlNBTVBMRV8yNDRfMjQ0X09NTCc6IDB4
ODk4MywKKyAgJ1ZFUlRFWDIzX0JJVF9QR0knOiAweDAwMDAwMDA0LAorICAnVkVSVEVYNF9CSVRf
UEdJJzogMHgwMDAwMDAwOCwKKyAgJ0NPTE9SM19CSVRfUEdJJzogMHgwMDAxMDAwMCwKKyAgJ0NP
TE9SNF9CSVRfUEdJJzogMHgwMDAyMDAwMCwKKyAgJ0VER0VGTEFHX0JJVF9QR0knOiAweDAwMDQw
MDAwLAorICAnSU5ERVhfQklUX1BHSSc6IDB4MDAwODAwMDAsCisgICdNQVRfQU1CSUVOVF9CSVRf
UEdJJzogMHgwMDEwMDAwMCwKKyAgJ01BVF9BTUJJRU5UX0FORF9ESUZGVVNFX0JJVF9QR0knOiAw
eDAwMjAwMDAwLAorICAnTUFUX0RJRkZVU0VfQklUX1BHSSc6IDB4MDA0MDAwMDAsCisgICdNQVRf
RU1JU1NJT05fQklUX1BHSSc6IDB4MDA4MDAwMDAsCisgICdNQVRfQ09MT1JfSU5ERVhFU19CSVRf
UEdJJzogMHgwMTAwMDAwMCwKKyAgJ01BVF9TSElOSU5FU1NfQklUX1BHSSc6IDB4MDIwMDAwMDAs
CisgICdNQVRfU1BFQ1VMQVJfQklUX1BHSSc6IDB4MDQwMDAwMDAsCisgICdOT1JNQUxfQklUX1BH
SSc6IDB4MDgwMDAwMDAsCisgICdURVhDT09SRDFfQklUX1BHSSc6IDB4MTAwMDAwMDAsCisgICdU
RVhDT09SRDJfQklUX1BHSSc6IDB4MjAwMDAwMDAsCisgICdURVhDT09SRDNfQklUX1BHSSc6IDB4
NDAwMDAwMDAsCisgICdURVhDT09SRDRfQklUX1BHSSc6IDB4ODAwMDAwMDAsCisgICdTQ1JFRU5f
Q09PUkRJTkFURVNfUkVORCc6IDB4ODQ5MCwKKyAgJ0lOVkVSVEVEX1NDUkVFTl9XX1JFTkQnOiAw
eDg0OTEsCisgICdSR0JfUzNUQyc6IDB4ODNBMCwKKyAgJ1JHQjRfUzNUQyc6IDB4ODNBMSwKKyAg
J1JHQkFfUzNUQyc6IDB4ODNBMiwKKyAgJ1JHQkE0X1MzVEMnOiAweDgzQTMsCisgICdSR0JBX0RY
VDVfUzNUQyc6IDB4ODNBNCwKKyAgJ1JHQkE0X0RYVDVfUzNUQyc6IDB4ODNBNSwKKyAgJ0VYVEVO
REVEX1JBTkdFX1NHSVMnOiAweDg1QTUsCisgICdNSU5fUkVEX1NHSVMnOiAweDg1QTYsCisgICdN
QVhfUkVEX1NHSVMnOiAweDg1QTcsCisgICdNSU5fR1JFRU5fU0dJUyc6IDB4ODVBOCwKKyAgJ01B
WF9HUkVFTl9TR0lTJzogMHg4NUE5LAorICAnTUlOX0JMVUVfU0dJUyc6IDB4ODVBQSwKKyAgJ01B
WF9CTFVFX1NHSVMnOiAweDg1QUIsCisgICdNSU5fQUxQSEFfU0dJUyc6IDB4ODVBQywKKyAgJ01B
WF9BTFBIQV9TR0lTJzogMHg4NUFELAorICAnR0VORVJBVEVfTUlQTUFQX1NHSVMnOiAweDgxOTEs
CisgICdHRU5FUkFURV9NSVBNQVBfSElOVF9TR0lTJzogMHg4MTkyLAorICAnTVVMVElTQU1QTEVf
U0dJUyc6IDB4ODA5RCwKKyAgJ1NBTVBMRV9BTFBIQV9UT19NQVNLX1NHSVMnOiAweDgwOUUsCisg
ICdTQU1QTEVfQUxQSEFfVE9fT05FX1NHSVMnOiAweDgwOUYsCisgICdTQU1QTEVfTUFTS19TR0lT
JzogMHg4MEEwLAorICAnMVBBU1NfU0dJUyc6IDB4ODBBMSwKKyAgJzJQQVNTXzBfU0dJUyc6IDB4
ODBBMiwKKyAgJzJQQVNTXzFfU0dJUyc6IDB4ODBBMywKKyAgJzRQQVNTXzBfU0dJUyc6IDB4ODBB
NCwKKyAgJzRQQVNTXzFfU0dJUyc6IDB4ODBBNSwKKyAgJzRQQVNTXzJfU0dJUyc6IDB4ODBBNiwK
KyAgJzRQQVNTXzNfU0dJUyc6IDB4ODBBNywKKyAgJ1NBTVBMRV9CVUZGRVJTX1NHSVMnOiAweDgw
QTgsCisgICdTQU1QTEVTX1NHSVMnOiAweDgwQTksCisgICdTQU1QTEVfTUFTS19WQUxVRV9TR0lT
JzogMHg4MEFBLAorICAnU0FNUExFX01BU0tfSU5WRVJUX1NHSVMnOiAweDgwQUIsCisgICdTQU1Q
TEVfUEFUVEVSTl9TR0lTJzogMHg4MEFDLAorICAnTVVMVElTQU1QTEVfQklUX0VYVCc6IDB4MjAw
MDAwMDAsCisgICdFWUVfRElTVEFOQ0VfVE9fUE9JTlRfU0dJUyc6IDB4ODFGMCwKKyAgJ09CSkVD
VF9ESVNUQU5DRV9UT19QT0lOVF9TR0lTJzogMHg4MUYxLAorICAnRVlFX0RJU1RBTkNFX1RPX0xJ
TkVfU0dJUyc6IDB4ODFGMiwKKyAgJ09CSkVDVF9ESVNUQU5DRV9UT19MSU5FX1NHSVMnOiAweDgx
RjMsCisgICdFWUVfUE9JTlRfU0dJUyc6IDB4ODFGNCwKKyAgJ09CSkVDVF9QT0lOVF9TR0lTJzog
MHg4MUY1LAorICAnRVlFX0xJTkVfU0dJUyc6IDB4ODFGNiwKKyAgJ09CSkVDVF9MSU5FX1NHSVMn
OiAweDgxRjcsCisgICdDTEFNUF9UT19CT1JERVJfU0dJUyc6IDB4ODEyRCwKKyAgJ0NMQU1QX1RP
X0VER0VfU0dJUyc6IDB4ODEyRiwKKyAgJ1RFWFRVUkVfTUlOX0xPRF9TR0lTJzogMHg4MTNBLAor
ICAnVEVYVFVSRV9NQVhfTE9EX1NHSVMnOiAweDgxM0IsCisgICdURVhUVVJFX0JBU0VfTEVWRUxf
U0dJUyc6IDB4ODEzQywKKyAgJ1RFWFRVUkVfTUFYX0xFVkVMX1NHSVMnOiAweDgxM0QsCisgICdB
U1lOQ19NQVJLRVJfU0dJWCc6IDB4ODMyOSwKKyAgJ0FTWU5DX0hJU1RPR1JBTV9TR0lYJzogMHg4
MzJDLAorICAnTUFYX0FTWU5DX0hJU1RPR1JBTV9TR0lYJzogMHg4MzJELAorICAnQVNZTkNfVEVY
X0lNQUdFX1NHSVgnOiAweDgzNUMsCisgICdBU1lOQ19EUkFXX1BJWEVMU19TR0lYJzogMHg4MzVE
LAorICAnQVNZTkNfUkVBRF9QSVhFTFNfU0dJWCc6IDB4ODM1RSwKKyAgJ01BWF9BU1lOQ19URVhf
SU1BR0VfU0dJWCc6IDB4ODM1RiwKKyAgJ01BWF9BU1lOQ19EUkFXX1BJWEVMU19TR0lYJzogMHg4
MzYwLAorICAnTUFYX0FTWU5DX1JFQURfUElYRUxTX1NHSVgnOiAweDgzNjEsCisgICdBTFBIQV9N
SU5fU0dJWCc6IDB4ODMyMCwKKyAgJ0FMUEhBX01BWF9TR0lYJzogMHg4MzIxLAorICAnQ09OVk9M
VVRJT05fSElOVF9TR0lYJzogMHg4MzE2LAorICAnREVQVEhfQ09NUE9ORU5UMTZfU0dJWCc6IDB4
ODFBNSwKKyAgJ0RFUFRIX0NPTVBPTkVOVDI0X1NHSVgnOiAweDgxQTYsCisgICdERVBUSF9DT01Q
T05FTlQzMl9TR0lYJzogMHg4MUE3LAorICAnRk9HX09GRlNFVF9TR0lYJzogMHg4MTk4LAorICAn
Rk9HX09GRlNFVF9WQUxVRV9TR0lYJzogMHg4MTk5LAorICAnSU5URVJMQUNFX1NHSVgnOiAweDgw
OTQsCisgICdQQUNLX1JFU0FNUExFX1NHSVgnOiAweDg0MkUsCisgICdVTlBBQ0tfUkVTQU1QTEVf
U0dJWCc6IDB4ODQyRiwKKyAgJ1JFU0FNUExFX0RFQ0lNQVRFX1NHSVgnOiAweDg0MzAsCisgICdS
RVNBTVBMRV9SRVBMSUNBVEVfU0dJWCc6IDB4ODQzMywKKyAgJ1JFU0FNUExFX1pFUk9fRklMTF9T
R0lYJzogMHg4NDM0LAorICAnVEVYVFVSRV9DT01QQVJFX1NHSVgnOiAweDgxOUEsCisgICdURVhU
VVJFX0NPTVBBUkVfT1BFUkFUT1JfU0dJWCc6IDB4ODE5QiwKKyAgJ1RFWFRVUkVfTEVRVUFMX1Jf
U0dJWCc6IDB4ODE5QywKKyAgJ1RFWFRVUkVfR0VRVUFMX1JfU0dJWCc6IDB4ODE5RCwKKyAgJ1NI
QURPV19BTUJJRU5UX1NHSVgnOiAweDgwQkYsCisgICdURVhUVVJFX01BWF9DTEFNUF9TX1NHSVgn
OiAweDgzNjksCisgICdURVhUVVJFX01BWF9DTEFNUF9UX1NHSVgnOiAweDgzNkEsCisgICdURVhU
VVJFX01BWF9DTEFNUF9SX1NHSVgnOiAweDgzNkIsCisgICdURVhUVVJFX01VTFRJX0JVRkZFUl9I
SU5UX1NHSVgnOiAweDgxMkUsCisgICdSR0JfU0lHTkVEX1NHSVgnOiAweDg1RTAsCisgICdSR0JB
X1NJR05FRF9TR0lYJzogMHg4NUUxLAorICAnQUxQSEFfU0lHTkVEX1NHSVgnOiAweDg1RTIsCisg
ICdMVU1JTkFOQ0VfU0lHTkVEX1NHSVgnOiAweDg1RTMsCisgICdJTlRFTlNJVFlfU0lHTkVEX1NH
SVgnOiAweDg1RTQsCisgICdMVU1JTkFOQ0VfQUxQSEFfU0lHTkVEX1NHSVgnOiAweDg1RTUsCisg
ICdSR0IxNl9TSUdORURfU0dJWCc6IDB4ODVFNiwKKyAgJ1JHQkExNl9TSUdORURfU0dJWCc6IDB4
ODVFNywKKyAgJ0FMUEhBMTZfU0lHTkVEX1NHSVgnOiAweDg1RTgsCisgICdMVU1JTkFOQ0UxNl9T
SUdORURfU0dJWCc6IDB4ODVFOSwKKyAgJ0lOVEVOU0lUWTE2X1NJR05FRF9TR0lYJzogMHg4NUVB
LAorICAnTFVNSU5BTkNFMTZfQUxQSEExNl9TSUdORURfU0dJWCc6IDB4ODVFQiwKKyAgJ1JHQl9F
WFRFTkRFRF9SQU5HRV9TR0lYJzogMHg4NUVDLAorICAnUkdCQV9FWFRFTkRFRF9SQU5HRV9TR0lY
JzogMHg4NUVELAorICAnQUxQSEFfRVhURU5ERURfUkFOR0VfU0dJWCc6IDB4ODVFRSwKKyAgJ0xV
TUlOQU5DRV9FWFRFTkRFRF9SQU5HRV9TR0lYJzogMHg4NUVGLAorICAnSU5URU5TSVRZX0VYVEVO
REVEX1JBTkdFX1NHSVgnOiAweDg1RjAsCisgICdMVU1JTkFOQ0VfQUxQSEFfRVhURU5ERURfUkFO
R0VfU0dJWCc6IDB4ODVGMSwKKyAgJ1JHQjE2X0VYVEVOREVEX1JBTkdFX1NHSVgnOiAweDg1RjIs
CisgICdSR0JBMTZfRVhURU5ERURfUkFOR0VfU0dJWCc6IDB4ODVGMywKKyAgJ0FMUEhBMTZfRVhU
RU5ERURfUkFOR0VfU0dJWCc6IDB4ODVGNCwKKyAgJ0xVTUlOQU5DRTE2X0VYVEVOREVEX1JBTkdF
X1NHSVgnOiAweDg1RjUsCisgICdJTlRFTlNJVFkxNl9FWFRFTkRFRF9SQU5HRV9TR0lYJzogMHg4
NUY2LAorICAnTFVNSU5BTkNFMTZfQUxQSEExNl9FWFRFTkRFRF9SQU5HRV9TR0lYJzogMHg4NUY3
LAorICAnTUlOX0xVTUlOQU5DRV9TR0lTJzogMHg4NUY4LAorICAnTUFYX0xVTUlOQU5DRV9TR0lT
JzogMHg4NUY5LAorICAnTUlOX0lOVEVOU0lUWV9TR0lTJzogMHg4NUZBLAorICAnTUFYX0lOVEVO
U0lUWV9TR0lTJzogMHg4NUZCLAorICAnUE9TVF9URVhUVVJFX0ZJTFRFUl9CSUFTX1NHSVgnOiAw
eDgxNzksCisgICdQT1NUX1RFWFRVUkVfRklMVEVSX1NDQUxFX1NHSVgnOiAweDgxN0EsCisgICdQ
T1NUX1RFWFRVUkVfRklMVEVSX0JJQVNfUkFOR0VfU0dJWCc6IDB4ODE3QiwKKyAgJ1BPU1RfVEVY
VFVSRV9GSUxURVJfU0NBTEVfUkFOR0VfU0dJWCc6IDB4ODE3QywKKyAgJ1ZFUlRFWF9QUkVDTElQ
X1NHSVgnOiAweDgzRUUsCisgICdWRVJURVhfUFJFQ0xJUF9ISU5UX1NHSVgnOiAweDgzRUYsCisg
ICdWRVJURVhfUFJFQ0xJUF9TR0lYJzogMHg4M0VFLAorICAnVkVSVEVYX1BSRUNMSVBfSElOVF9T
R0lYJzogMHg4M0VGLAorICAnQ09MT1JfTUFUUklYX1NHSSc6IDB4ODBCMSwKKyAgJ0NPTE9SX01B
VFJJWF9TVEFDS19ERVBUSF9TR0knOiAweDgwQjIsCisgICdNQVhfQ09MT1JfTUFUUklYX1NUQUNL
X0RFUFRIX1NHSSc6IDB4ODBCMywKKyAgJ1BPU1RfQ09MT1JfTUFUUklYX1JFRF9TQ0FMRV9TR0kn
OiAweDgwQjQsCisgICdQT1NUX0NPTE9SX01BVFJJWF9HUkVFTl9TQ0FMRV9TR0knOiAweDgwQjUs
CisgICdQT1NUX0NPTE9SX01BVFJJWF9CTFVFX1NDQUxFX1NHSSc6IDB4ODBCNiwKKyAgJ1BPU1Rf
Q09MT1JfTUFUUklYX0FMUEhBX1NDQUxFX1NHSSc6IDB4ODBCNywKKyAgJ1BPU1RfQ09MT1JfTUFU
UklYX1JFRF9CSUFTX1NHSSc6IDB4ODBCOCwKKyAgJ1BPU1RfQ09MT1JfTUFUUklYX0dSRUVOX0JJ
QVNfU0dJJzogMHg4MEI5LAorICAnUE9TVF9DT0xPUl9NQVRSSVhfQkxVRV9CSUFTX1NHSSc6IDB4
ODBCQSwKKyAgJ1BPU1RfQ09MT1JfTUFUUklYX0FMUEhBX0JJQVNfU0dJJzogMHg4MEJCLAorICAn
Q09MT1JfVEFCTEVfU0dJJzogMHg4MEQwLAorICAnUE9TVF9DT05WT0xVVElPTl9DT0xPUl9UQUJM
RV9TR0knOiAweDgwRDEsCisgICdQT1NUX0NPTE9SX01BVFJJWF9DT0xPUl9UQUJMRV9TR0knOiAw
eDgwRDIsCisgICdQUk9YWV9DT0xPUl9UQUJMRV9TR0knOiAweDgwRDMsCisgICdQUk9YWV9QT1NU
X0NPTlZPTFVUSU9OX0NPTE9SX1RBQkxFX1NHSSc6IDB4ODBENCwKKyAgJ1BST1hZX1BPU1RfQ09M
T1JfTUFUUklYX0NPTE9SX1RBQkxFX1NHSSc6IDB4ODBENSwKKyAgJ0NPTE9SX1RBQkxFX1NDQUxF
X1NHSSc6IDB4ODBENiwKKyAgJ0NPTE9SX1RBQkxFX0JJQVNfU0dJJzogMHg4MEQ3LAorICAnQ09M
T1JfVEFCTEVfRk9STUFUX1NHSSc6IDB4ODBEOCwKKyAgJ0NPTE9SX1RBQkxFX1dJRFRIX1NHSSc6
IDB4ODBEOSwKKyAgJ0NPTE9SX1RBQkxFX1JFRF9TSVpFX1NHSSc6IDB4ODBEQSwKKyAgJ0NPTE9S
X1RBQkxFX0dSRUVOX1NJWkVfU0dJJzogMHg4MERCLAorICAnQ09MT1JfVEFCTEVfQkxVRV9TSVpF
X1NHSSc6IDB4ODBEQywKKyAgJ0NPTE9SX1RBQkxFX0FMUEhBX1NJWkVfU0dJJzogMHg4MERELAor
ICAnQ09MT1JfVEFCTEVfTFVNSU5BTkNFX1NJWkVfU0dJJzogMHg4MERFLAorICAnQ09MT1JfVEFC
TEVfSU5URU5TSVRZX1NJWkVfU0dJJzogMHg4MERGLAorICAnVEVYVFVSRV9DT0xPUl9UQUJMRV9T
R0knOiAweDgwQkMsCisgICdQUk9YWV9URVhUVVJFX0NPTE9SX1RBQkxFX1NHSSc6IDB4ODBCRCwK
KyAgJ1VOUEFDS19DT05TVEFOVF9EQVRBX1NVTlgnOiAweDgxRDUsCisgICdURVhUVVJFX0NPTlNU
QU5UX0RBVEFfU1VOWCc6IDB4ODFENiwKKyAgJ1dSQVBfQk9SREVSX1NVTic6IDB4ODFENCwKKyAg
J0dMT0JBTF9BTFBIQV9TVU4nOiAweDgxRDksCisgICdHTE9CQUxfQUxQSEFfRkFDVE9SX1NVTic6
IDB4ODFEQSwKKyAgJ1FVQURfTUVTSF9TVU4nOiAweDg2MTQsCisgICdUUklBTkdMRV9NRVNIX1NV
Tic6IDB4ODYxNSwKKyAgJ1NMSUNFX0FDQ1VNX1NVTic6IDB4ODVDQywKKyAgJ1JFU1RBUlRfU1VO
JzogMHgwMSwKKyAgJ1JFUExBQ0VfTUlERExFX1NVTic6IDB4MDIsCisgICdSRVBMQUNFX09MREVT
VF9TVU4nOiAweDAzLAorICAnVFJJQU5HTEVfTElTVF9TVU4nOiAweDgxRDcsCisgICdSRVBMQUNF
TUVOVF9DT0RFX1NVTic6IDB4ODFEOCwKKyAgJ1JFUExBQ0VNRU5UX0NPREVfQVJSQVlfU1VOJzog
MHg4NUMwLAorICAnUkVQTEFDRU1FTlRfQ09ERV9BUlJBWV9UWVBFX1NVTic6IDB4ODVDMSwKKyAg
J1JFUExBQ0VNRU5UX0NPREVfQVJSQVlfU1RSSURFX1NVTic6IDB4ODVDMiwKKyAgJ1JFUExBQ0VN
RU5UX0NPREVfQVJSQVlfUE9JTlRFUl9TVU4nOiAweDg1QzMsCisgICdSMVVJX1YzRl9TVU4nOiAw
eDg1QzQsCisgICdSMVVJX0M0VUJfVjNGX1NVTic6IDB4ODVDNSwKKyAgJ1IxVUlfQzNGX1YzRl9T
VU4nOiAweDg1QzYsCisgICdSMVVJX04zRl9WM0ZfU1VOJzogMHg4NUM3LAorICAnUjFVSV9DNEZf
TjNGX1YzRl9TVU4nOiAweDg1QzgsCisgICdSMVVJX1QyRl9WM0ZfU1VOJzogMHg4NUM5LAorICAn
UjFVSV9UMkZfTjNGX1YzRl9TVU4nOiAweDg1Q0EsCisgICdSMVVJX1QyRl9DNEZfTjNGX1YzRl9T
VU4nOiAweDg1Q0IsCisgICdQSE9OR19XSU4nOiAweDgwRUEsCisgICdQSE9OR19ISU5UX1dJTic6
IDB4ODBFQiwKKyAgJ0ZPR19TUEVDVUxBUl9URVhUVVJFX1dJTic6IDB4ODBFQworfTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xf
dGVzdF9maWxlcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZkNWE0MGZl
MmZiNjczOWNjMWU0MmI4ZTRkMDlkMTJiYTdmZTkyNzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9yZXNvdXJjZXMvanMtdGVz
dC1wb3N0LmpzCkBAIC0wLDAgKzEsMjYgQEAKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhl
IEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQs
IGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRo
aXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisq
KiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0
aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwg
Y29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2Us
IGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBw
ZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJq
ZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNv
cHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVk
ZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVy
aWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VU
IFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcg
QlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFks
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisq
KiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBM
SUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVU
SEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklT
SU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMg
T1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworc2hv
dWxkQmVUcnVlKCJzdWNjZXNzZnVsbHlQYXJzZWQiKTsKK2RlYnVnKCc8YnIgLz48c3BhbiBjbGFz
cz0icGFzcyI+VEVTVCBDT01QTEVURTwvc3Bhbj4nKTsKK25vdGlmeUZpbmlzaGVkVG9IYXJuZXNz
KCkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2Zp
bGVzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNl
cy93ZWJnbF90ZXN0X2ZpbGVzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcwpuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5l
MTM0MWZiYWIyNWM4YWNiM2QwOTRkNTQ2OWY2NDMyMWQ3NGRhZGRlCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzCkBAIC0wLDAgKzEsNDg4IEBACisvKgorKiogQ29weXJpZ2h0IChjKSAy
MDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBn
cmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29w
eSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMg
KHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCBy
ZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0
byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJs
aWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBw
ZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBz
bywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBh
Ym92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJl
IGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRo
ZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwg
V0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5D
TFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRB
QklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VN
RU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERF
UlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lT
RSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFU
RVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyov
CisKKyhmdW5jdGlvbigpIHsKKyAgdmFyIHRlc3RIYXJuZXNzSW5pdGlhbGl6ZWQgPSBmYWxzZTsK
KworICB2YXIgaW5pdE5vbktocm9ub3NGcmFtZXdvcmsgPSBmdW5jdGlvbih3YWl0VW50aWxEb25l
KSB7CisgICAgaWYgKHRlc3RIYXJuZXNzSW5pdGlhbGl6ZWQpIHsKKyAgICAgIHJldHVybjsKKyAg
ICB9CisgICAgdGVzdEhhcm5lc3NJbml0aWFsaXplZCA9IHRydWU7CisKKyAgICAvKiAtLSBwbGFm
b3JtIHNwZWNpZmljIGNvZGUgLS0gKi8KKworICAgIC8vIFdlYktpdCBTcGVjaWZpYyBjb2RlLiBB
ZGQgeW91ciBjb2RlIGhlcmUuCisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyICYmICF3aW5kb3cu
bGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICAgIHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxl
ciA9IHdpbmRvdy50ZXN0UnVubmVyOworICAgIH0KKworICAgIGlmICh3aW5kb3cubGF5b3V0VGVz
dENvbnRyb2xsZXIpIHsKKyAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm92ZXJyaWRlUHJlZmVy
ZW5jZSgiV2ViS2l0V2ViR0xFbmFibGVkIiwgIjEiKTsKKyAgICAgIGxheW91dFRlc3RDb250cm9s
bGVyLmR1bXBBc1RleHQoKTsKKyAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERv
bmUoKTsKKyAgICB9CisgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICAgIC8vIFRoZSBX
ZWJLaXQgdGVzdGluZyBzeXN0ZW0gY29tcGFyZXMgY29uc29sZSBvdXRwdXQuCisgICAgICAvLyBC
ZWNhdXNlIHRoZSBvdXRwdXQgb2YgdGhlIFdlYkdMIFRlc3RzIGlzIEdQVSBkZXBlbmRlbnQKKyAg
ICAgIC8vIHdlIHR1cm4gb2ZmIGNvbnNvbGUgbWVzc2FnZXMuCisgICAgICB3aW5kb3cuY29uc29s
ZS5sb2cgPSBmdW5jdGlvbigpIHsgfTsKKyAgICAgIHdpbmRvdy5jb25zb2xlLmVycm9yID0gZnVu
Y3Rpb24oKSB7IH07CisgICAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFdlYkdMRXJy
b3JzVG9Db25zb2xlRW5hYmxlZChmYWxzZSk7CisKKyAgICAgIC8vIFJBRiBkb2Vzbid0IHdvcmsg
aW4gTGF5b3V0VGVzdHMuIERpc2FibGUgaXQgc28gdGhlIHRlc3RzIHdpbGwKKyAgICAgIC8vIHVz
ZSBzZXRUaW1lb3V0IGluc3RlYWQuCisgICAgICB3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1l
ID0gdW5kZWZpbmVkOworICAgICAgd2luZG93LndlYmtpdFJlcXVlc3RBbmltYXRpb25GcmFtZSA9
IHVuZGVmaW5lZDsKKyAgICB9CisKKyAgICAvKiAtLSBlbmQgcGxhdGZvcm0gc3BlY2lmaWMgY29k
ZSAtLSovCisgIH0KKworICB0aGlzLmluaXRUZXN0aW5nSGFybmVzc1dhaXRVbnRpbERvbmUgPSBm
dW5jdGlvbigpIHsKKyAgICBpbml0Tm9uS2hyb25vc0ZyYW1ld29yayh0cnVlKTsKKyAgfQorCisg
IHRoaXMuaW5pdFRlc3RpbmdIYXJuZXNzID0gZnVuY3Rpb24oKSB7CisgICAgaW5pdE5vbktocm9u
b3NGcmFtZXdvcmsoZmFsc2UpOworICB9Cit9KCkpOworCitmdW5jdGlvbiBub25LaHJvbm9zRnJh
bWV3b3JrTm90aWZ5RG9uZSgpIHsKKyAgLy8gV2ViS2l0IFNwZWNpZmljIGNvZGUuIEFkZCB5b3Vy
IGNvZGUgaGVyZS4KKyAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgeworICAgIGxh
eW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKKyAgfQorfQorCitmdW5jdGlvbiByZXBv
cnRUZXN0UmVzdWx0c1RvSGFybmVzcyhzdWNjZXNzLCBtc2cpIHsKKyAgaWYgKHdpbmRvdy5wYXJl
bnQud2ViZ2xUZXN0SGFybmVzcykgeworICAgIHdpbmRvdy5wYXJlbnQud2ViZ2xUZXN0SGFybmVz
cy5yZXBvcnRSZXN1bHRzKHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZSwgc3VjY2VzcywgbXNnKTsK
KyAgfQorfQorCitmdW5jdGlvbiBub3RpZnlGaW5pc2hlZFRvSGFybmVzcygpIHsKKyAgaWYgKHdp
bmRvdy5wYXJlbnQud2ViZ2xUZXN0SGFybmVzcykgeworICAgIHdpbmRvdy5wYXJlbnQud2ViZ2xU
ZXN0SGFybmVzcy5ub3RpZnlGaW5pc2hlZCh3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUpOworICB9
Cit9CisKK2Z1bmN0aW9uIGRlc2NyaXB0aW9uKG1zZykKK3sKKyAgICBpbml0VGVzdGluZ0hhcm5l
c3MoKTsKKyAgICBpZiAobXNnID09PSB1bmRlZmluZWQpIHsKKyAgICAgIG1zZyA9IGRvY3VtZW50
LnRpdGxlOworICAgIH0KKyAgICAvLyBGb3IgTVNJRSA2IGNvbXBhdGliaWxpdHkKKyAgICB2YXIg
c3BhbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTsKKyAgICBzcGFuLmlubmVySFRN
TCA9ICc8cD4nICsgbXNnICsgJzwvcD48cD5PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIjxzcGFuIGNsYXNzPSJwYXNzIj5QQVNTPC9zcGFuPiIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICI8c3BhbiBjbGFzcz0icGFzcyI+VEVTVCBDT01QTEVURTwvc3Bhbj4iLjwvcD4nOworICAg
IHZhciBkZXNjcmlwdGlvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJkZXNjcmlwdGlvbiIp
OworICAgIGlmIChkZXNjcmlwdGlvbi5maXJzdENoaWxkKQorICAgICAgICBkZXNjcmlwdGlvbi5y
ZXBsYWNlQ2hpbGQoc3BhbiwgZGVzY3JpcHRpb24uZmlyc3RDaGlsZCk7CisgICAgZWxzZQorICAg
ICAgICBkZXNjcmlwdGlvbi5hcHBlbmRDaGlsZChzcGFuKTsKK30KKworZnVuY3Rpb24gZGVidWco
bXNnKQoreworICAgIHZhciBzcGFuID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpOwor
ICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb25zb2xlIikuYXBwZW5kQ2hpbGQoc3Bhbik7
IC8vIGluc2VydCBpdCBmaXJzdCBzbyBYSFRNTCBrbm93cyB0aGUgbmFtZXNwYWNlCisgICAgc3Bh
bi5pbm5lckhUTUwgPSBtc2cgKyAnPGJyIC8+JzsKK30KKworZnVuY3Rpb24gZXNjYXBlSFRNTCh0
ZXh0KQoreworICAgIHJldHVybiB0ZXh0LnJlcGxhY2UoLyYvZywgIiZhbXA7IikucmVwbGFjZSgv
PC9nLCAiJmx0OyIpOworfQorCitmdW5jdGlvbiB0ZXN0UGFzc2VkKG1zZykKK3sKKyAgICByZXBv
cnRUZXN0UmVzdWx0c1RvSGFybmVzcyh0cnVlLCBtc2cpOworICAgIGRlYnVnKCc8c3Bhbj48c3Bh
biBjbGFzcz0icGFzcyI+UEFTUzwvc3Bhbj4gJyArIGVzY2FwZUhUTUwobXNnKSArICc8L3NwYW4+
Jyk7Cit9CisKK2Z1bmN0aW9uIHRlc3RGYWlsZWQobXNnKQoreworICAgIHJlcG9ydFRlc3RSZXN1
bHRzVG9IYXJuZXNzKGZhbHNlLCBtc2cpOworICAgIGRlYnVnKCc8c3Bhbj48c3BhbiBjbGFzcz0i
ZmFpbCI+RkFJTDwvc3Bhbj4gJyArIGVzY2FwZUhUTUwobXNnKSArICc8L3NwYW4+Jyk7Cit9CisK
K2Z1bmN0aW9uIGFyZUFycmF5c0VxdWFsKF9hLCBfYikKK3sKKyAgICB0cnkgeworICAgICAgICBp
ZiAoX2EubGVuZ3RoICE9PSBfYi5sZW5ndGgpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7Cisg
ICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgX2EubGVuZ3RoOyBpKyspCisgICAgICAgICAgICBp
ZiAoX2FbaV0gIT09IF9iW2ldKQorICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9
IGNhdGNoIChleCkgeworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorICAgIHJldHVybiB0
cnVlOworfQorCitmdW5jdGlvbiBpc01pbnVzWmVybyhuKQoreworICAgIC8vIHRoZSBvbmx5IHdh
eSB0byB0ZWxsIDAgZnJvbSAtMCBpbiBKUyBpcyB0aGUgZmFjdCB0aGF0IDEvLTAgaXMKKyAgICAv
LyAtSW5maW5pdHkgaW5zdGVhZCBvZiBJbmZpbml0eQorICAgIHJldHVybiBuID09PSAwICYmIDEv
biA8IDA7Cit9CisKK2Z1bmN0aW9uIGlzUmVzdWx0Q29ycmVjdChfYWN0dWFsLCBfZXhwZWN0ZWQp
Cit7CisgICAgaWYgKF9leHBlY3RlZCA9PT0gMCkKKyAgICAgICAgcmV0dXJuIF9hY3R1YWwgPT09
IF9leHBlY3RlZCAmJiAoMS9fYWN0dWFsKSA9PT0gKDEvX2V4cGVjdGVkKTsKKyAgICBpZiAoX2Fj
dHVhbCA9PT0gX2V4cGVjdGVkKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICBpZiAodHlwZW9m
KF9leHBlY3RlZCkgPT0gIm51bWJlciIgJiYgaXNOYU4oX2V4cGVjdGVkKSkKKyAgICAgICAgcmV0
dXJuIHR5cGVvZihfYWN0dWFsKSA9PSAibnVtYmVyIiAmJiBpc05hTihfYWN0dWFsKTsKKyAgICBp
ZiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKF9leHBlY3RlZCkgPT0gT2JqZWN0LnBy
b3RvdHlwZS50b1N0cmluZy5jYWxsKFtdKSkKKyAgICAgICAgcmV0dXJuIGFyZUFycmF5c0VxdWFs
KF9hY3R1YWwsIF9leHBlY3RlZCk7CisgICAgcmV0dXJuIGZhbHNlOworfQorCitmdW5jdGlvbiBz
dHJpbmdpZnkodikKK3sKKyAgICBpZiAodiA9PT0gMCAmJiAxL3YgPCAwKQorICAgICAgICByZXR1
cm4gIi0wIjsKKyAgICBlbHNlIHJldHVybiAiIiArIHY7Cit9CisKK2Z1bmN0aW9uIGV2YWxBbmRM
b2coX2EpCit7CisgIGlmICh0eXBlb2YgX2EgIT0gInN0cmluZyIpCisgICAgZGVidWcoIldBUk46
IHRyeUFuZExvZygpIGV4cGVjdHMgYSBzdHJpbmcgYXJndW1lbnQiKTsKKworICAvLyBMb2cgZmly
c3QgaW4gY2FzZSB0aGluZ3MgZ28gaG9ycmlibHkgd3Jvbmcgb3IgdGhpcyBjYXVzZXMgYSBzeW5j
IGV2ZW50LgorICBkZWJ1ZyhfYSk7CisKKyAgdmFyIF9hdjsKKyAgdHJ5IHsKKyAgICAgX2F2ID0g
ZXZhbChfYSk7CisgIH0gY2F0Y2ggKGUpIHsKKyAgICB0ZXN0RmFpbGVkKF9hICsgIiB0aHJldyBl
eGNlcHRpb24gIiArIGUpOworICB9CisgIHJldHVybiBfYXY7Cit9CisKK2Z1bmN0aW9uIHNob3Vs
ZEJlKF9hLCBfYiwgcXVpZXQpCit7CisgICAgaWYgKHR5cGVvZiBfYSAhPSAic3RyaW5nIiB8fCB0
eXBlb2YgX2IgIT0gInN0cmluZyIpCisgICAgICAgIGRlYnVnKCJXQVJOOiBzaG91bGRCZSgpIGV4
cGVjdHMgc3RyaW5nIGFyZ3VtZW50cyIpOworICAgIHZhciBleGNlcHRpb247CisgICAgdmFyIF9h
djsKKyAgICB0cnkgeworICAgICAgICBfYXYgPSBldmFsKF9hKTsKKyAgICB9IGNhdGNoIChlKSB7
CisgICAgICAgIGV4Y2VwdGlvbiA9IGU7CisgICAgfQorICAgIHZhciBfYnYgPSBldmFsKF9iKTsK
KworICAgIGlmIChleGNlcHRpb24pCisgICAgICAgIHRlc3RGYWlsZWQoX2EgKyAiIHNob3VsZCBi
ZSAiICsgX2J2ICsgIi4gVGhyZXcgZXhjZXB0aW9uICIgKyBleGNlcHRpb24pOworICAgIGVsc2Ug
aWYgKGlzUmVzdWx0Q29ycmVjdChfYXYsIF9idikpIHsKKyAgICAgICAgaWYgKCFxdWlldCkgewor
ICAgICAgICAgICAgdGVzdFBhc3NlZChfYSArICIgaXMgIiArIF9iKTsKKyAgICAgICAgfQorICAg
IH0gZWxzZSBpZiAodHlwZW9mKF9hdikgPT0gdHlwZW9mKF9idikpCisgICAgICAgIHRlc3RGYWls
ZWQoX2EgKyAiIHNob3VsZCBiZSAiICsgX2J2ICsgIi4gV2FzICIgKyBzdHJpbmdpZnkoX2F2KSAr
ICIuIik7CisgICAgZWxzZQorICAgICAgICB0ZXN0RmFpbGVkKF9hICsgIiBzaG91bGQgYmUgIiAr
IF9idiArICIgKG9mIHR5cGUgIiArIHR5cGVvZiBfYnYgKyAiKS4gV2FzICIgKyBfYXYgKyAiIChv
ZiB0eXBlICIgKyB0eXBlb2YgX2F2ICsgIikuIik7Cit9CisKK2Z1bmN0aW9uIHNob3VsZE5vdEJl
KF9hLCBfYiwgcXVpZXQpCit7CisgICAgaWYgKHR5cGVvZiBfYSAhPSAic3RyaW5nIiB8fCB0eXBl
b2YgX2IgIT0gInN0cmluZyIpCisgICAgICAgIGRlYnVnKCJXQVJOOiBzaG91bGROb3RCZSgpIGV4
cGVjdHMgc3RyaW5nIGFyZ3VtZW50cyIpOworICAgIHZhciBleGNlcHRpb247CisgICAgdmFyIF9h
djsKKyAgICB0cnkgeworICAgICAgICBfYXYgPSBldmFsKF9hKTsKKyAgICB9IGNhdGNoIChlKSB7
CisgICAgICAgIGV4Y2VwdGlvbiA9IGU7CisgICAgfQorICAgIHZhciBfYnYgPSBldmFsKF9iKTsK
KworICAgIGlmIChleGNlcHRpb24pCisgICAgICAgIHRlc3RGYWlsZWQoX2EgKyAiIHNob3VsZCBu
b3QgYmUgIiArIF9idiArICIuIFRocmV3IGV4Y2VwdGlvbiAiICsgZXhjZXB0aW9uKTsKKyAgICBl
bHNlIGlmICghaXNSZXN1bHRDb3JyZWN0KF9hdiwgX2J2KSkgeworICAgICAgICBpZiAoIXF1aWV0
KSB7CisgICAgICAgICAgICB0ZXN0UGFzc2VkKF9hICsgIiBpcyBub3QgIiArIF9iKTsKKyAgICAg
ICAgfQorICAgIH0gZWxzZQorICAgICAgICB0ZXN0RmFpbGVkKF9hICsgIiBzaG91bGQgbm90IGJl
ICIgKyBfYnYgKyAiLiIpOworfQorCitmdW5jdGlvbiBzaG91bGRCZVRydWUoX2EpIHsgc2hvdWxk
QmUoX2EsICJ0cnVlIik7IH0KK2Z1bmN0aW9uIHNob3VsZEJlRmFsc2UoX2EpIHsgc2hvdWxkQmUo
X2EsICJmYWxzZSIpOyB9CitmdW5jdGlvbiBzaG91bGRCZU5hTihfYSkgeyBzaG91bGRCZShfYSwg
Ik5hTiIpOyB9CitmdW5jdGlvbiBzaG91bGRCZU51bGwoX2EpIHsgc2hvdWxkQmUoX2EsICJudWxs
Iik7IH0KKworZnVuY3Rpb24gc2hvdWxkQmVFcXVhbFRvU3RyaW5nKGEsIGIpCit7CisgIHZhciB1
bmV2YWxlZFN0cmluZyA9ICciJyArIGIucmVwbGFjZSgvIi9nLCAiXCIiKSArICciJzsKKyAgc2hv
dWxkQmUoYSwgdW5ldmFsZWRTdHJpbmcpOworfQorCitmdW5jdGlvbiBzaG91bGRFdmFsdWF0ZVRv
KGFjdHVhbCwgZXhwZWN0ZWQpIHsKKyAgLy8gQSBnZW5lcmFsLXB1cnBvc2UgY29tcGFyYXRvci4g
ICdhY3R1YWwnIHNob3VsZCBiZSBhIHN0cmluZyB0byBiZQorICAvLyBldmFsdWF0ZWQsIGFzIGZv
ciBzaG91bGRCZSgpLiAnZXhwZWN0ZWQnIG1heSBiZSBhbnkgdHlwZSBhbmQgd2lsbCBiZQorICAv
LyB1c2VkIHdpdGhvdXQgYmVpbmcgZXZhbCdlZC4KKyAgaWYgKGV4cGVjdGVkID09IG51bGwpIHsK
KyAgICAvLyBEbyB0aGlzIGJlZm9yZSB0aGUgb2JqZWN0IHRlc3QsIHNpbmNlIG51bGwgaXMgb2Yg
dHlwZSAnb2JqZWN0Jy4KKyAgICBzaG91bGRCZU51bGwoYWN0dWFsKTsKKyAgfSBlbHNlIGlmICh0
eXBlb2YgZXhwZWN0ZWQgPT0gInVuZGVmaW5lZCIpIHsKKyAgICBzaG91bGRCZVVuZGVmaW5lZChh
Y3R1YWwpOworICB9IGVsc2UgaWYgKHR5cGVvZiBleHBlY3RlZCA9PSAiZnVuY3Rpb24iKSB7Cisg
ICAgLy8gQWxsIHRoaXMgZnVzcyBpcyB0byBhdm9pZCB0aGUgc3RyaW5nLWFyZyB3YXJuaW5nIGZy
b20gc2hvdWxkQmUoKS4KKyAgICB0cnkgeworICAgICAgYWN0dWFsVmFsdWUgPSBldmFsKGFjdHVh
bCk7CisgICAgfSBjYXRjaCAoZSkgeworICAgICAgdGVzdEZhaWxlZCgiRXZhbHVhdGluZyAiICsg
YWN0dWFsICsgIjogVGhyZXcgZXhjZXB0aW9uICIgKyBlKTsKKyAgICAgIHJldHVybjsKKyAgICB9
CisgICAgc2hvdWxkQmUoIiciICsgYWN0dWFsVmFsdWUudG9TdHJpbmcoKS5yZXBsYWNlKC9cbi9n
LCAiIikgKyAiJyIsCisgICAgICAgICAgICAgIiciICsgZXhwZWN0ZWQudG9TdHJpbmcoKS5yZXBs
YWNlKC9cbi9nLCAiIikgKyAiJyIpOworICB9IGVsc2UgaWYgKHR5cGVvZiBleHBlY3RlZCA9PSAi
b2JqZWN0IikgeworICAgIHNob3VsZEJlVHJ1ZShhY3R1YWwgKyAiID09ICciICsgZXhwZWN0ZWQg
KyAiJyIpOworICB9IGVsc2UgaWYgKHR5cGVvZiBleHBlY3RlZCA9PSAic3RyaW5nIikgeworICAg
IHNob3VsZEJlKGFjdHVhbCwgZXhwZWN0ZWQpOworICB9IGVsc2UgaWYgKHR5cGVvZiBleHBlY3Rl
ZCA9PSAiYm9vbGVhbiIpIHsKKyAgICBzaG91bGRCZSgidHlwZW9mICIgKyBhY3R1YWwsICInYm9v
bGVhbiciKTsKKyAgICBpZiAoZXhwZWN0ZWQpCisgICAgICBzaG91bGRCZVRydWUoYWN0dWFsKTsK
KyAgICBlbHNlCisgICAgICBzaG91bGRCZUZhbHNlKGFjdHVhbCk7CisgIH0gZWxzZSBpZiAodHlw
ZW9mIGV4cGVjdGVkID09ICJudW1iZXIiKSB7CisgICAgc2hvdWxkQmUoYWN0dWFsLCBzdHJpbmdp
ZnkoZXhwZWN0ZWQpKTsKKyAgfSBlbHNlIHsKKyAgICBkZWJ1ZyhleHBlY3RlZCArICIgaXMgdW5r
bm93biB0eXBlICIgKyB0eXBlb2YgZXhwZWN0ZWQpOworICAgIHNob3VsZEJlVHJ1ZShhY3R1YWws
ICInIiAgK2V4cGVjdGVkLnRvU3RyaW5nKCkgKyAiJyIpOworICB9Cit9CisKK2Z1bmN0aW9uIHNo
b3VsZEJlTm9uWmVybyhfYSkKK3sKKyAgdmFyIGV4Y2VwdGlvbjsKKyAgdmFyIF9hdjsKKyAgdHJ5
IHsKKyAgICAgX2F2ID0gZXZhbChfYSk7CisgIH0gY2F0Y2ggKGUpIHsKKyAgICAgZXhjZXB0aW9u
ID0gZTsKKyAgfQorCisgIGlmIChleGNlcHRpb24pCisgICAgdGVzdEZhaWxlZChfYSArICIgc2hv
dWxkIGJlIG5vbi16ZXJvLiBUaHJldyBleGNlcHRpb24gIiArIGV4Y2VwdGlvbik7CisgIGVsc2Ug
aWYgKF9hdiAhPSAwKQorICAgIHRlc3RQYXNzZWQoX2EgKyAiIGlzIG5vbi16ZXJvLiIpOworICBl
bHNlCisgICAgdGVzdEZhaWxlZChfYSArICIgc2hvdWxkIGJlIG5vbi16ZXJvLiBXYXMgIiArIF9h
dik7Cit9CisKK2Z1bmN0aW9uIHNob3VsZEJlTm9uTnVsbChfYSkKK3sKKyAgdmFyIGV4Y2VwdGlv
bjsKKyAgdmFyIF9hdjsKKyAgdHJ5IHsKKyAgICAgX2F2ID0gZXZhbChfYSk7CisgIH0gY2F0Y2gg
KGUpIHsKKyAgICAgZXhjZXB0aW9uID0gZTsKKyAgfQorCisgIGlmIChleGNlcHRpb24pCisgICAg
dGVzdEZhaWxlZChfYSArICIgc2hvdWxkIGJlIG5vbi1udWxsLiBUaHJldyBleGNlcHRpb24gIiAr
IGV4Y2VwdGlvbik7CisgIGVsc2UgaWYgKF9hdiAhPSBudWxsKQorICAgIHRlc3RQYXNzZWQoX2Eg
KyAiIGlzIG5vbi1udWxsLiIpOworICBlbHNlCisgICAgdGVzdEZhaWxlZChfYSArICIgc2hvdWxk
IGJlIG5vbi1udWxsLiBXYXMgIiArIF9hdik7Cit9CisKK2Z1bmN0aW9uIHNob3VsZEJlVW5kZWZp
bmVkKF9hKQoreworICB2YXIgZXhjZXB0aW9uOworICB2YXIgX2F2OworICB0cnkgeworICAgICBf
YXYgPSBldmFsKF9hKTsKKyAgfSBjYXRjaCAoZSkgeworICAgICBleGNlcHRpb24gPSBlOworICB9
CisKKyAgaWYgKGV4Y2VwdGlvbikKKyAgICB0ZXN0RmFpbGVkKF9hICsgIiBzaG91bGQgYmUgdW5k
ZWZpbmVkLiBUaHJldyBleGNlcHRpb24gIiArIGV4Y2VwdGlvbik7CisgIGVsc2UgaWYgKHR5cGVv
ZiBfYXYgPT0gInVuZGVmaW5lZCIpCisgICAgdGVzdFBhc3NlZChfYSArICIgaXMgdW5kZWZpbmVk
LiIpOworICBlbHNlCisgICAgdGVzdEZhaWxlZChfYSArICIgc2hvdWxkIGJlIHVuZGVmaW5lZC4g
V2FzICIgKyBfYXYpOworfQorCitmdW5jdGlvbiBzaG91bGRCZURlZmluZWQoX2EpCit7CisgIHZh
ciBleGNlcHRpb247CisgIHZhciBfYXY7CisgIHRyeSB7CisgICAgIF9hdiA9IGV2YWwoX2EpOwor
ICB9IGNhdGNoIChlKSB7CisgICAgIGV4Y2VwdGlvbiA9IGU7CisgIH0KKworICBpZiAoZXhjZXB0
aW9uKQorICAgIHRlc3RGYWlsZWQoX2EgKyAiIHNob3VsZCBiZSBkZWZpbmVkLiBUaHJldyBleGNl
cHRpb24gIiArIGV4Y2VwdGlvbik7CisgIGVsc2UgaWYgKF9hdiAhPT0gdW5kZWZpbmVkKQorICAg
IHRlc3RQYXNzZWQoX2EgKyAiIGlzIGRlZmluZWQuIik7CisgIGVsc2UKKyAgICB0ZXN0RmFpbGVk
KF9hICsgIiBzaG91bGQgYmUgZGVmaW5lZC4gV2FzICIgKyBfYXYpOworfQorCitmdW5jdGlvbiBz
aG91bGRCZUdyZWF0ZXJUaGFuT3JFcXVhbChfYSwgX2IpIHsKKyAgICBpZiAodHlwZW9mIF9hICE9
ICJzdHJpbmciIHx8IHR5cGVvZiBfYiAhPSAic3RyaW5nIikKKyAgICAgICAgZGVidWcoIldBUk46
IHNob3VsZEJlR3JlYXRlclRoYW5PckVxdWFsIGV4cGVjdHMgc3RyaW5nIGFyZ3VtZW50cyIpOwor
CisgICAgdmFyIGV4Y2VwdGlvbjsKKyAgICB2YXIgX2F2OworICAgIHRyeSB7CisgICAgICAgIF9h
diA9IGV2YWwoX2EpOworICAgIH0gY2F0Y2ggKGUpIHsKKyAgICAgICAgZXhjZXB0aW9uID0gZTsK
KyAgICB9CisgICAgdmFyIF9idiA9IGV2YWwoX2IpOworCisgICAgaWYgKGV4Y2VwdGlvbikKKyAg
ICAgICAgdGVzdEZhaWxlZChfYSArICIgc2hvdWxkIGJlID49ICIgKyBfYiArICIuIFRocmV3IGV4
Y2VwdGlvbiAiICsgZXhjZXB0aW9uKTsKKyAgICBlbHNlIGlmICh0eXBlb2YgX2F2ID09ICJ1bmRl
ZmluZWQiIHx8IF9hdiA8IF9idikKKyAgICAgICAgdGVzdEZhaWxlZChfYSArICIgc2hvdWxkIGJl
ID49ICIgKyBfYiArICIuIFdhcyAiICsgX2F2ICsgIiAob2YgdHlwZSAiICsgdHlwZW9mIF9hdiAr
ICIpLiIpOworICAgIGVsc2UKKyAgICAgICAgdGVzdFBhc3NlZChfYSArICIgaXMgPj0gIiArIF9i
KTsKK30KKworZnVuY3Rpb24gZXhwZWN0VHJ1ZSh2LCBtc2cpIHsKKyAgaWYgKHYpIHsKKyAgICB0
ZXN0UGFzc2VkKG1zZyk7CisgIH0gZWxzZSB7CisgICAgdGVzdEZhaWxlZChtc2cpOworICB9Cit9
CisKK2Z1bmN0aW9uIHNob3VsZFRocm93KF9hLCBfZSkKK3sKKyAgdmFyIGV4Y2VwdGlvbjsKKyAg
dmFyIF9hdjsKKyAgdHJ5IHsKKyAgICAgX2F2ID0gZXZhbChfYSk7CisgIH0gY2F0Y2ggKGUpIHsK
KyAgICAgZXhjZXB0aW9uID0gZTsKKyAgfQorCisgIHZhciBfZXY7CisgIGlmIChfZSkKKyAgICAg
IF9ldiA9ICBldmFsKF9lKTsKKworICBpZiAoZXhjZXB0aW9uKSB7CisgICAgaWYgKHR5cGVvZiBf
ZSA9PSAidW5kZWZpbmVkIiB8fCBleGNlcHRpb24gPT0gX2V2KQorICAgICAgdGVzdFBhc3NlZChf
YSArICIgdGhyZXcgZXhjZXB0aW9uICIgKyBleGNlcHRpb24gKyAiLiIpOworICAgIGVsc2UKKyAg
ICAgIHRlc3RGYWlsZWQoX2EgKyAiIHNob3VsZCB0aHJvdyAiICsgKHR5cGVvZiBfZSA9PSAidW5k
ZWZpbmVkIiA/ICJhbiBleGNlcHRpb24iIDogX2V2KSArICIuIFRocmV3IGV4Y2VwdGlvbiAiICsg
ZXhjZXB0aW9uICsgIi4iKTsKKyAgfSBlbHNlIGlmICh0eXBlb2YgX2F2ID09ICJ1bmRlZmluZWQi
KQorICAgIHRlc3RGYWlsZWQoX2EgKyAiIHNob3VsZCB0aHJvdyAiICsgKHR5cGVvZiBfZSA9PSAi
dW5kZWZpbmVkIiA/ICJhbiBleGNlcHRpb24iIDogX2V2KSArICIuIFdhcyB1bmRlZmluZWQuIik7
CisgIGVsc2UKKyAgICB0ZXN0RmFpbGVkKF9hICsgIiBzaG91bGQgdGhyb3cgIiArICh0eXBlb2Yg
X2UgPT0gInVuZGVmaW5lZCIgPyAiYW4gZXhjZXB0aW9uIiA6IF9ldikgKyAiLiBXYXMgIiArIF9h
diArICIuIik7Cit9CisKK2Z1bmN0aW9uIHNob3VsZEJlVHlwZShfYSwgX3R5cGUpIHsKKwl2YXIg
ZXhjZXB0aW9uOworCXZhciBfYXY7CisJdHJ5IHsKKwkJX2F2ID0gZXZhbChfYSk7CisJfSBjYXRj
aCAoZSkgeworCQlleGNlcHRpb24gPSBlOworCX0KKworCXZhciBfdHlwZXYgPSBldmFsKF90eXBl
KTsKKworCWlmIChfYXYgaW5zdGFuY2VvZiBfdHlwZXYpIHsKKwkJdGVzdFBhc3NlZChfYSArICIg
aXMgYW4gaW5zdGFuY2Ugb2YgIiArIF90eXBlKTsKKwl9IGVsc2UgeworCQl0ZXN0RmFpbGVkKF9h
ICsgIiBpcyBub3QgYW4gaW5zdGFuY2Ugb2YgIiArIF90eXBlKTsKKwl9Cit9CisKK2Z1bmN0aW9u
IGFzc2VydE1zZyhhc3NlcnRpb24sIG1zZykgeworICAgIGlmIChhc3NlcnRpb24pIHsKKyAgICAg
ICAgdGVzdFBhc3NlZChtc2cpOworICAgIH0gZWxzZSB7CisgICAgICAgIHRlc3RGYWlsZWQobXNn
KTsKKyAgICB9Cit9CisKK2Z1bmN0aW9uIGdjKCkgeworICAgIGlmICh3aW5kb3cuR0NDb250cm9s
bGVyKSB7CisgICAgICAgIHdpbmRvdy5HQ0NvbnRyb2xsZXIuY29sbGVjdCgpOworICAgICAgICBy
ZXR1cm47CisgICAgfQorCisgICAgaWYgKHdpbmRvdy5vcGVyYSAmJiB3aW5kb3cub3BlcmEuY29s
bGVjdCkgeworICAgICAgICB3aW5kb3cub3BlcmEuY29sbGVjdCgpOworICAgICAgICByZXR1cm47
CisgICAgfQorCisgICAgdHJ5IHsKKyAgICAgICAgd2luZG93LlF1ZXJ5SW50ZXJmYWNlKENvbXBv
bmVudHMuaW50ZXJmYWNlcy5uc0lJbnRlcmZhY2VSZXF1ZXN0b3IpCisgICAgICAgICAgICAgIC5n
ZXRJbnRlcmZhY2UoQ29tcG9uZW50cy5pbnRlcmZhY2VzLm5zSURPTVdpbmRvd1V0aWxzKQorICAg
ICAgICAgICAgICAuZ2FyYmFnZUNvbGxlY3QoKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0gY2F0
Y2goZSkge30KKworICAgIGZ1bmN0aW9uIGdjUmVjKG4pIHsKKyAgICAgICAgaWYgKG4gPCAxKQor
ICAgICAgICAgICAgcmV0dXJuIHt9OworICAgICAgICB2YXIgdGVtcCA9IHtpOiAiYWIiICsgaSAr
IChpIC8gMTAwMDAwKX07CisgICAgICAgIHRlbXAgKz0gImZvbyI7CisgICAgICAgIGdjUmVjKG4t
MSk7CisgICAgfQorICAgIGZvciAodmFyIGkgPSAwOyBpIDwgMTAwMDsgaSsrKQorICAgICAgICBn
Y1JlYygxMCk7Cit9CisKK2Z1bmN0aW9uIGZpbmlzaFRlc3QoKSB7CisgIHN1Y2Nlc3NmdWxseVBh
cnNlZCA9IHRydWU7CisgIHZhciBlcGlsb2d1ZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNj
cmlwdCIpOworICBlcGlsb2d1ZS5vbmxvYWQgPSBmdW5jdGlvbigpIHsKKyAgICBpZiAod2luZG93
Lm5vbktocm9ub3NGcmFtZXdvcmtOb3RpZnlEb25lKSB7CisgICAgICB3aW5kb3cubm9uS2hyb25v
c0ZyYW1ld29ya05vdGlmeURvbmUoKTsKKyAgICB9CisgIH07CisKKyAgdmFyIGJhc2VQYXRoID0g
IiI7CisgIHZhciBleHBlY3RlZEJhc2UgPSAianMtdGVzdC1wcmUuanMiOworICB2YXIgc2NyaXB0
cyA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdzY3JpcHQnKTsKKyAgZm9yICh2YXIg
c2NyaXB0LCBpID0gMDsgc2NyaXB0ID0gc2NyaXB0c1tpXTsgaSsrKSB7CisgICAgdmFyIHNyYyA9
IHNjcmlwdC5zcmM7CisgICAgdmFyIGwgPSBzcmMubGVuZ3RoOworICAgIGlmIChzcmMuc3Vic3Ry
KGwgLSBleHBlY3RlZEJhc2UubGVuZ3RoKSA9PSBleHBlY3RlZEJhc2UpIHsKKyAgICAgIGJhc2VQ
YXRoID0gc3JjLnN1YnN0cigwLCBsIC0gZXhwZWN0ZWRCYXNlLmxlbmd0aCk7CisgICAgICBicmVh
azsKKyAgICB9CisgIH0KKyAgZXBpbG9ndWUuc3JjID0gYmFzZVBhdGggKyAianMtdGVzdC1wb3N0
LmpzIjsKKyAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChlcGlsb2d1ZSk7Cit9CisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL3Jlc291
cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJn
bF90ZXN0X2ZpbGVzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcwpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMTIx
NDdjYTQzMjg5NTQ2OGFhMjc0OWU0Y2E0NDM2Y2NlZWU4NWFiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvcmVzb3VyY2VzL2pz
LXRlc3Qtc3R5bGUuY3NzCkBAIC0wLDAgKzEsMTIgQEAKKy5wYXNzIHsKKyAgICBmb250LXdlaWdo
dDogYm9sZDsKKyAgICBjb2xvcjogZ3JlZW47Cit9CisuZmFpbCB7CisgICAgZm9udC13ZWlnaHQ6
IGJvbGQ7CisgICAgY29sb3I6IHJlZDsKK30KKyNjb25zb2xlIHsKKyAgICB3aGl0ZS1zcGFjZTog
cHJlLXdyYXA7CisgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsKK30KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL3Jlc291cmNlcy90ZXN0
LWV2YWwuanMgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9y
ZXNvdXJjZXMvdGVzdC1ldmFsLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJkODYzMjM5ZTkyN2VhNTI3ZDFjNjlm
OGE1MjI3MmY3YTlkNjZiNDAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9y
ZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9yZXNvdXJjZXMvdGVzdC1ldmFsLmpzCkBAIC0wLDAg
KzEsMzIgQEAKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5j
LgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0
byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29y
IGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRv
IGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoq
IHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJn
ZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGll
cyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhl
IE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5k
IHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3Bp
ZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUg
TUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBL
SU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRP
IFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFM
TCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiog
Q0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBP
RiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBP
UiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhF
UiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKy8qKgorICogQ2FsbHMgZXZhbC4KKyAq
CisgKiBUaGlzIGlzIGhlcmUgc28gb3RoZXIgbW9kdWxlcyBjYW4gdXNlICJ1c2Ugc3RyaWN0IjoK
KyAqLworVGVzdEV2YWwgPSBmdW5jdGlvbihzdHIpIHsKKyAgcmV0dXJuIGV2YWwoc3RyKTsKK307
CisKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvcmVzb3VyY2VzL3dlYmdsLWxvZ28ucG5nIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3Vy
Y2VzL3dlYmdsX3Rlc3RfZmlsZXMvcmVzb3VyY2VzL3dlYmdsLWxvZ28ucG5nCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjJmYmEwZjc2MGYxM2UzYzM4OWQ5NWE5N2ExNjdjMmY2ZTNiODNjMDQKR0lUIGJpbmFyeSBwYXRj
aApsaXRlcmFsIDExMDIwCnpjbWMobDx5SVVEa2MwO1k4R0xYRUYyT0NoTGtSOHgyNnVPdDtPPj9M
ZzFhLWc0ZWwwI3k5UmZjO0k/O1BWKXNZKQp6X1gyZkpvJGpoPVJiPzNyKUROZnQwMDJXeVIjTlJo
aFd6aDxrcDl+LUs9QTgtQWE8QTFjMns/QGJvVmxHd0Ulb0oKemNRVW8wbHlmayN2UVY9eUc1MjtF
dUBEOVRuNXlMQEtXbHRqSXJUP0xCaH5VYT9gKCMpYENLZXBha29wKVNXQ0JDCnokUEx3WlkkMktu
OEFzTEMhUW9QZFVCSGJIIWgxZyZVUTBaRDNuc2smRSZWfDBPLW4xUmglPGNnYElIRXFsWmMlWQp6
X0hsS15zJVk5O2Rac2Q/JUN7dS1fI0UxSGAhKSs8WjVwWjxgSSV+NWRkXyEkbDU/KT5gMWRCKT9h
bDRILTFlTHcKel5Db2o2T2JqdkxDVX0jTjBgenxsVXBGMkkyNzxnM3wzUEpPZXozPkZMVmNUY3ZR
KzVqbHg3eSp5NHMkSWtgaXNVCnpSSV9GeVB2WF9VVzR2fnxlazlMfS1xNiNCMm1hTUlRJCpqNj8l
Y24xNGtSYV8kbUs3P2k0QSlZJFo0PHReTzZ6Pwp6QUUlUTFvenU1JjsjRyU+TCpyUkR3XlB5Nl9P
N2I8cz4ldjg2Nlk+fHsoWWRvemRpQldhSTNkSlpKK0hJcysxYFkKemF4RGt9Sz9xTnsjTEhXTTxa
e3hORkFAbCRPYz17OXEoXndEY1Z+OHNlLSFsZXZYfWpHU2tvLWFjUklPWktkQlQ+CnpUNXV8VlNp
RXw+SnhQeF5JYVotdD9qNGM0RTYqWDwpV0N5Ym5mVy1IaFdKO3VYVTV+OW8/Z3tgQHw/V2hJfGJa
NQp6QkNjPCZFc3h8MysmNEVpKUBGYX10Z2lkPDNlSSZaRkU+ZHYjYSNKaF5xMSY+cmxFbClWaUI8
SyZZUSRJWllNanQKekdgdy1nVFZoNXxJKENwe1FvSHImP1ArWnBGPllwMCowTng+NCpOSkJNcGAh
QVEwMEVBaGEyMWFLOHZfUkJ5Z0pCCnpONXRPUElueiktX2J2eztjOXBANjBlPW1ATEhiOVJSJkhe
cSlhVVluPmc+YjYwU1FyeCZaPjRIenVeb1hzKEJhcAp6MilRM3wlUEJpfXR8alNRRkByMkhKI2lK
MjRkUTwmO2VyUUFobyNlMiZZWktFdiMkNTZmZEtHdDM9flNrPjk4YDAKenoocXZmIWR9ZHYkMDdg
Tng0eW94S3Q2Rm0wdzAwQktaUz47JU18UUtxVSVUKXQwPDlLPGpfdD0kP3Y5Vz9UI1ZYCnppRTIl
dyE9SGJtN2AhaHVyQk1NfTtCQCFyV2dKKil1XnxfLUFjfU9FTSpiOEwwTkJCRT4hb15jMjtLMWpo
VldJTwp6QkdlcDFHZUZLPXQqUmBCRTt7UDdjbFcmOW01RHtPdz5Ud0AmZjVzMXtUYyt1KlJDOCFw
NWZlbz15b2hKWk14PUsKejYpPXB8ciU3PDNFMT1Xe1okMDZPV1hYYGRnfn0wUzJLbzBaKDx8QHpJ
LV42MCk4MUJQKF5UcmFydVQrbTM0Ynp4CnpEbyVobDxiLVVzJWhGN0pjSEZDVGhmSGh1VV9UPnY2
UTF+Q1V4Um5GV1Veb1QoUWQkeUZmXzYjQlVFWXgmS1htWAp6Z2c3NTlhbjUhbjF0d2BhaW93SF5g
fV83RTMlWUJVUmlvKz5HMHJ3TnNUcDhWT315RVVRYXxrdTg0d2g8JWBkYnQKektpXyUoZz5VXn5W
cm9GciFST3UpMkI7VjRscylgWWFtaFlHWkVfUmkodCpSRDZ7N2BRcGhjYjtuKS14Jl4oJWtNCnpn
WEgrNnJvRnZ6Q3BIcV9CNlZXdilrSkRKVDhTUW49VlpacjFxfjhjI091UXZmKUJRY054bUAzS2sy
XmYmZDYrXgp6b2ZIfGk/NSMkXz9eOT0hczJKXjNgXkl+SyQqbko7TUFuaCZqRT9DY21ySysze2h6
P2wkNComVSNAcjFUey1OSm4Kek5jP09Xdit1PVArcExubXVMM2B1K3JWaW1oPE0wZkFUcUV5KnRW
VVk9ajI9c1c5JTVnTU98IWhfIUU2dS1AeXxGCnpjUXx0cXAmfCVzWCtkNn1Ofl96Pzd5dEc0dThm
ckNURlF1QEsxaE1PKWg9Z25gTkpHWXZRfkFkUFVGQ1hjbjNFKAp6NUBSSS14clg5Ky0jeCVvb0dE
RDR1PHVAM0VZelM1ZW1XYEshK057fnspNy1TQ2R5SkRAaEVWa0ZvOEo+d3ErJTEKenUjVXI9JWtn
JUNkZ2t9fmwwUG57Km9eYkYkdVRCR0YrfTg9KWN5VkE3dihrWVhJYCpJemlwSiZFLUAmPk0mSVFm
Cno5QyozO1hMeVMtckV2KDRxTmxuU1dTK2lqWVcxME1aej47cEJ8fmxecG1LUkUxPEs3cEpQU3dz
RyVKelQwSlQrZwp6NiV9UDF4U0d3djhrNiVEWDVHX1B7JHBkUSF4KUFeb0wxTnx7QlJ+IXgjNWpD
eHhJfXlqYUpCazJRWjFqayRUWEAKentoRDBEcTt5aVk8MHFCMDxJZGkyUiprZ2tENjZQcTJickNI
QGB4U34oYzxJVmN2V1pZQ1Eoblc1d2M8KDJxZFNKCnpVQnM5aClWTVhjT31VTXY3JT4tQWA1UEZC
MCZvWVBaSEhaJF9zbz0xSnp6dH4jMjUjPHVvPkBfNn0lYW9HVSV4Owp6YndIeihiVmpeKlJ2aWQ7
N0J6M2QrZWI1PlNZbF5gMnwyamtfd1dvN3orVkFIYUV0OClJKldXVHBeMEwkXnMlUTIKejhreXNv
RChLVTF7UF81Yj1VfGY7WiZDdHluWTEjWlJYcms1bUwxUVF2cntIQztIdnVSJHR6TCNBTldLanVF
cWNYCnpVfGNnJmw5Mj8+NVVHYXQxMF94Y3NySVQ3WE5BIyY2PiltNCp3bVhoI0V0YWp6UipATEI3
b2N1KW90UVY3fGdeMwp6bkl6K3c8JGI/VSlfUG04ZEVJe08/X1hUa2gxX201XllVJFk4WnE1XnBG
VkolV19wanAhfktrXmZ8aCRQVEtWe04Kekt+SS13LUwxZDEmYCRMciFVSUhlS1piS2VLc0BnOXB5
el9yZDtNfj1Zcnc0fVVTajtkei01OTNaZld5Yzw0JSpXCnorM0sjSilnfVpFT088V19ZeEEhdjwr
ZlZCT2Rodzhxa2plem1DJmE8dnlAeGIlZ0ZBYSlocihfU0w5b0thbiVpYwp6JT1aUEU7Rm1nTmEk
fm1+ezduVWZwaTJNO3RLXypYQ0M2T3w3PmxmfjY4VEwzb0l9eUl0IzZwVXdYPmwjR0pDPiYKemk0
QVopNHxBc007Zl41JnVtRVlCVGUhN282d0xVPlUhQUZ0Rll2Yz5ObEhwTDA/ZkZkcmo1JDBVWExk
cEFIQGNGCnpXamdING9LaU9XUmdJKUVRa3RPMHNnNz0waUtNU3ZTUEk4SmBJP21GNDNeIXsxbVF4
NF9YUjdSZCM/VUdsc35+fgp6PjdTTHtXR2gmYE8lfVNYU0J1fUV1N0J8P3c+JFZNNGFiZW8oZzN4
ZGNlaXorQVBWLSYtI0V3X0lYfHp2ZUFVYWQKelJXbnczPU44c20wfFZhUHg3KXYlP0BfbkNtMmhB
a0RgPHhkU3lIYFNtdU1VKF4hd2Y9aHh0KERRO081NWwtYiYqCnpSPT5NOVRmRH5xOHR2U0NlRVhS
KUNzU3l6O00+bGJBd1JEO0YqIV95QyRqPW1CdCRJXyolfEIzdkkqQ1ZgV1Z1aQp6NW4tKVN5Zl5I
WlooUGMxcl4hWkBNRlk1JCR9MUBQTmh6KnJkcD5DNjs+d1d2OUdVTUlWQnh7TkdRei0oNXcye3MK
eng7bn1OJnZ4TCVNcmtaenJefGc3ZHkkc1E5eFNkP3orNUswWCt5PWlwKjchNEhnP2NHV0dANzxk
fGcqRmxMSyVxCnorcG9AI3J1WkwwKlZqcEFtbihteT1raV5NYyVDfXRHN0B5X0dPRGlSWGkyaCNu
X2xJIzNrcihmXmJTY0lHX2Mkcgp6M0A0bSpKNll+eV8xeHRLe0BBUUA1PG5ZYVJ8N1kwc0V6eUQ9
ck91MUtoe31Yd055el9RKEkrVm0hRDhZeTVWUjQKenUxQz97aDNqQXVYRWxuPj5NP2NJPzgwUksz
SmE0d3RebVN3YjFoKmlKR1ZRJE9LK1YyUlkyK2A3VHhVQkRxPmxBCnpkO3pVMT1RTk9VfDZFd0lR
NC1BXl4+RV5mJVZmbUQySGNrby09Qz0mek8kSFpeeTI1UlVFcWRPQj0mZFVmYzYjRAp6NFFLYCs8
RkJ2RzFhJFEycCohJl9jazUlYE9LbVkxZVo3PlUpMk1XNzBJfX05aWw1MGNjXnlmMVVwWnJHQFJj
QXMKemNwPjhkZGQ4JUp3OShuezdkN01FSmV5JUYmRyZiX0AzU3xQUDdiPyVjNzVEaDtpUlB6JEpx
OXg4OCRmRWhraElfCnp6QjkxPHB3dWtPKmFhPzdrOSNLLSM2Z0VWKGFGc3w2VElXUnMjeXs8JFFh
YVJaKGAoMjNBcFZMYE8mZ2hjPWJTbQp6QHY9Kj1wIVpudTh6RG8yOX5Jd2R2eWUmZzVfTzE7dGk8
a2BqLVZxP3FiVDNoXmVWVmFZclpNcDklZWhrcH0hcm0KejlAbVh2Ui11a0I0bD9OJDFvUkhuP2N9
VEsjYXItPF9tfEdmQDFmSUtnT2ZzYjsmYUAtI2BKeUl4eCN0Pnk/ZXRGCnpXd3VuVUN2Y0ZsOXJ1
Y3YmPlQkfD4oaz54Snx3ZkBJZzNJTGF3WmtMJGo7Nl8/WShrZ0A/PmxVdUw2UyN4fFNMTwp6PzF2
TlhYYktDeCU1SDhiOSRvY1RLY0VHVENuaih2I21McHhORihyJlQ4Nmc/ZFVFe3VfN3I/ezxmSSVk
TnVvd0sKemRMd3NaNCZiaVh4dzdrU15TU2tFWGxWRjJDQiotWiNoR3JeSE1tc013SiotX0pQd3NE
eHwjal4qR1F6KCYxJlFhCnpgXlIyWUxqYmo/diYxWT9INGA0Jm1mQUxGU3twazJwcTU4MWxYe35Q
TGVje0sqM15LIVJRZFZMdCYlTzltVzE0Kwp6ZXRjWEw/PFd8IV9fcVNUMVYoX3hBSysrUE04cSRR
Q0Z6aUBSREgwUzh6cjlxKiErSGRNKldqeWZ3e019Tyh1NSoKekdtWilGa2AtSyVVUn5QPXBVd2lT
b3tTOU5EakolLVM2eGV4X2RfWnRfJXt5c2ZUPXhCOUBwantrZmNGY2crTkRjCnplX2VKPVJMXzs3
cjxLejlraGJXJVJYMTZ6Znl+akorNDhCdChIS3tCT2wjfVIhKHYhfXMrVVkqWU17fWQ/bCUqKgp6
ZG9qeDhxWnVEbVktYHYyck5FY2dnQyMjczloZm84JFY3Vm1BfH1YT2wjI048dTBMVyFpQnhuPUFa
JW9vWjQ7MGIKelY9NyFednE5MmE4T2czYjl+aFR6TmsmQj5WR3UhNl5aUUZtPDZtS2ZQaHd9KXBK
N14lcm1CVjhfOzkmSnc8WXF9CnpOPXB7RmlkeVhhYUpJRk5uX1BYeEJhUnFJVDNaakpFS0N8RSNu
N0t7MEYmQWQ5VTU1JU1kZjhKRXUxa05jMUR6SAp6YC0hXmd3WjZYN3I4eTBvP1NeVlM9UlphRGI8
aHxBJCFuJnk7NjBRdFo3Q083OU5nSGJ3KmRoczNsfWBNd15idGkKeishe0NtSiokeTgpQGhOWmE7
d0I+KCElRT1LcSppYEh5X2M5NX5KaDs5SFNVOEhmZj9DPEh6MHIoWn5LZUA5XjdPCnolKlBDNVk5
PUtLZjc8JFVCJm8teCFfQ2N+YE88X0wqYjxAeUFZc29rP0hCbnpTZCk2TmN3bFVTekt6Njx0K0JU
Vwp6e3o4dzR1KSRxdmFWLVkhWVM5VV5acWV6ZHZLKCteYTJIOC0pfXF2Smt4dlY7cFdIV1hrKiZL
YT4xZC15ZXk1ZEsKemhYfG9xSHNyR216RTx2SEJAaFRWaTxfKl92JHd+SUFhWnFCblQ4eGExbEZQ
SDNId1RYWklRU2B2KChmMClAUkp7Cnp1UmZONUh5RkN6IWhDIzs8NWlgNStjZVo0eHJtOTBsP284
UTBXSnxAZjU5WStkPTg7WW9RQm19bGJzTikjO2dacAp6JElQdG9EIXpHUzFwLWlPPz5XcGlIal9t
STNrIzlMalErSXFJWHMyVVomMXt4NVllU1haPCMyT3RiZzNnNElQTm4KeiZYUCV4WXFlP3pZdDJC
IWBGMj1xX3hwM3U4RUJTSjdyKD5MSSkoRUBlVFl5ZEUtczhDQllgQnBYLTtnQSltRFA7CnpqKUhp
TyRabXBFKFBITmxVTSY/SCRkaUBeSkxrdUJ0Y1F3RDJyTztkYjZfeUZgfiVASVJRUkQtSEJAJl9w
Y1FyRwp6UHI0KiM7WHM2NW9COF9Bd2hXfiRCMUZAWkNHcl44ZmMpZ1lAVTdHYT8+K2soJDRgYSRs
dGpvYTZ5flNUQWQ5WngKenotTipCSkBLVnBrdkljYVgweU9jPHNuQjY1b1RQXnRqKHI0ZjRxJUFx
cWZAPUNsK3Y/VClaQ3NvPTV9Yjdsa1RKCnpDS1B4IWxobEhqeXRMNlhIR0tmX214UDg1SyEjajxr
U0V6JipZS1hYeT1WfGhNRzElISYtTXJ2Zno0JTtVWEJFOwp6aXc7Qj0lUlRWKD9GOWMyV0sxPmJq
dEJJR2E9UzN5JX0lZFV8TT5NIzRVekN8NXQ9VUMjRjY9b2opcXFucygrLWoKemRhaTg8WTEwMnl7
fUlaTmtOKXpPVCEzeTtwOW15UHZJeSlWMDxGYjZEV3pGR1BMbH08UWN3XmJkZDNYJG1XayRTCnpM
S05lTzJIeUpqZ2s/dWtaRlNTUHc3UDRga0dQVHlsY242RVQkYVZtUGh8a1Q3d3VtfT0kU1o3IyZk
ZV5aPHZZbwp6VDJWRzl6Q0FiZndnNjVTbHt4TklvTFohYEg8ckZ4eFo2U2xmPzJCK0Q/MSNXXn1r
OWRYNihOe0BFUGcwZW8rKVkKejtlVnhjPHtBd3ZxZHlDXnYlVlI3MzhybTRCQFVgO3VkYz5HdXhX
cWBMNWVqRjc1X0lXYCM5R0UyM0dLMkFsUGJMCnpoVFRSYkxpNjMrPXN6emdtJn41N3orakdtOz9B
Z0BHJlY2Sk1LbCl7ME8xcn5KZ2kyRV9GVXVWaHxtUlVCJWUmIQp6Q2d1eXZjdEFiV19IQ3JLbUJJ
cEokNE89QlBXYGVzMTsmNzBeYlF7ITxPYjFOSlRyZHdAfmZgOSRgR2UzMVQmNWcKem5ORDttP3pp
VE1ad2kmTm9gfH1oQShZKFMtV0VVaFUzcWY8cjslWlVkeD5GSjw4PktOdURqR1JnSX5oSDVHTChy
Cno0TilWeWZMOV5uWEo3NV9EeG45bV5FfH1UPXZpKWtfPTY8NkY5cEB7ISE7fjkhbVliUypiYj5Y
WXIrTjRjQyFBJQp6aWtBdUpFU0l1endDdEVgJXJzMytHIXl1KFBTdDIyLVY3RCNqIzk/THM8Rj1h
el4ydXZHK2RiSXp5WXY3IVJedkAKeiFmRFE2VHBMQkEyYDhnb0RDIWtfIWJ9IyRYJlFrJiopb3Qy
KXIkPnF1NE48OGRtRmh1PjR1NXFjSnBgfmYtfmlkCno8cl52QmZBQn1oSV9HQFRxSVNfckVwZDEr
dT9oSGFAYVVxJHBUTWA4ZUFaUzZeTCNFVERNPUtOTnhhNzBCbSQ9Ygp6c2ppNW0yKThhNVp1NiVX
MHkqTXh0Y2FoNXdfO3Q8JXltKl5zUUo9TFJkUHw5PnZCNk00V2ZsTFkoREY1IXQmaGgKej9FYFd3
MDJ5MjFoLWRebXhve2F0R3Q0UF8pdVkqKWp2QV9kXkRgZXVuK01GKFA7KSF6YStUUiVtbjNsbkNi
TTAkCnp7X0BMfXlidSVyM0UzJF5hKEk0aDI3PWFaUTZST2JifGJ0cStzZ2pqQUI/Y2s5VCZnXiNN
TnphXmF8WDslWV9NVQp6IyllVlV2WCsybmNVN1dqWEphcHNDPSFYKUNwcyNoRDJnY3lJQVFQOGJ8
TDc9bWVJeDA8MUZqV1BCWnolMkBVaHQKekFUQ2pQK01vNGF3Oyl3cyFIS3BNNEphKTBDU2pINmQ4
WE0hYW8/cXlsYU03Y3NEZGs8JDFHN35ENXc5UHxBR3B7CnpqUk14Vkg0VkBfYTI9KGdnbjZNfCpe
djRZNzQ0b1JDZFU4Qk9SbihzO1UhdnN4bCMpVEhmJHw7YFo3YXtjZmwrSwp6ZEsrXlo4S0doO2Ip
Z3Nse2BaNjUqd2hzTEw8Ynp+WGMmfkdxJDY8X295USp4RiVnLXIzWDk+WDlDYiRSKTI1NSoKejY0
VEphQi1ILXd7S3sxYXF2cXo0cStDQjE3MnNfeDA7el5rKU9Va3ctMjF1RnFVYlZ3MFNLfEBTKzAt
MFU/b1hMCnpxZkxHcHM8bURwRElJbVkpJWhpLW8kcztpNEZhVHdwST5ASEk5ZHBLO245JkQ0ZVBl
NkpzS01MbCg1akp0ZEwmTAp6dkY9KVNEPEB9JTd9aCYzOUVTcTEleHNwJm1MZCR8VVhSYFEzR29Z
NDVYSE92RzVoQFJfTWMzSy11VGI8S21EJD8KensoY0M8Oz1CeyVHY3wmR0JhQSQ9WHJIUX1XPkd7
KU1HWXU1ajZsPTYoSUdtbV9YXjNDbT8oa2paZF5LV2gmPkx1Cnp8N2ozaHpTUTAxVllrZDZ1b3Al
JGRobSNnakxHOFg8bXRIeVhebHxCcnxadCshRyY7KipMSGxEQkZPNjVVNWdNPAp6ZmZVKH05YFBm
dSV5X3xuWCNFXkBpfTstJSlRQjVhR2YlTW5Fd3RMSlFOQV9CRipucGA/Ql4oQHFnMDVqOzYheE4K
emwyPG1eaihRMHoxeG5+eDs3eXc/eHtSR3pRP31VMUpJVyFDZkQya0hNRl5kK2x6UFBYdXhBbTM8
R1VkO09OMiktCnpsOHt8MF4tJm41UDJJX1F6aHpmIXp+NmFiKXNFV3E4Q3BraWRyOHpHM0BWUTJD
UU8hRXh+Y2diXj91Ri1UamlMRAp6cSVkWSM3PTdHdThJSlphUjstSGFeYXVOYUJyd1pVQFJ7dCR5
ciM4aypJeEoxNSNoOHM0Z1AkMClYOXpjbV8pKE8KeiMpNE5pMV5aZDMrS2MlbSU2eypMTDtmYE0h
RzZFczhqJW5Wby1mZmpnVjJ2Tm9IYFZCVW52I3VpYT9xcD07JCt9CnooR29mKDFESnVYOCNBRUlQ
SSkkPUliNERTY2hENEpNUD1VfmhycFA5OVBTTHVTU2M0bE1TUloxd2BVSiFiWmUqbQp6QF9qXjhO
c28rKXp8NU83bjsjZWtzfWNCTlpUclcoamtKWkJiVTRXODRTK2tQQ0JGcWQ3VHtWK0pmeTNEVVF9
PyEKej9LIXxZZEJiKyNMRygtdzBuVXVUQDlQWio9OFQ8NFVZQ1U8IytROz5gTHpqXmVYY2BuSyUj
QyQwRHFkODR4e1M0CnpRYmxmV1AqMmxCJVRgJHdVVHBtNik2K0oqdT1GPV5oRXgrMnI+e3owU3Vp
IVN5XjE7biFZPjRGQ0YjLUFhQk8qTwp6bCMwSylwY3hFVzRuTCliWlNuezlQfHlIPD5ta3M5R3xe
SEk8aDB2ZyN0JG1oNXFnXi01KTNXaWFKP2coTyMwVW0KemwhdFNqMmBqenVHS1VhbUskTVJxRnR7
YG0tPWE4VkI+OXwpO0JXTWxTOUFlKUlDfGxGJnB9KGtabmRyYlQyezJBCnpJfVlBMTRPOFZXWT5k
ZHZ6STRTfWUlPkxkZ0FoOTNmXnUtazRtUzVfezF2OHg3VFAycWM2eiQlO1MkclRWV19NYAp6eHl5
WmBqQG98MXBlZH14XnR6dilFaHZTOXhqc1c/Pjs2YXxMXndXNiM5cGkkJmJQNVBOKkxRUDtJUmVL
MzVrdlcKelV8RjFIamN3fVNmK0J2Jm9pa1hCJmRWciZQcyZ9KV4xSDYjSXJIblZLcDY0KHljPkF9
emNTdkJGRGh6X2k9TzRqCnpDR2Q1WXNqNUZIQzxANnlaemo1MXAlK052MzVfVCZRb29Wfj17aWM4
TlZ8Iz4+TkpPZUBRcFZfTEdIcUlkJHhvMQp6KUI7KH1OKVM3QzZhLVA/cUd2S2YxTFMpXiMoKzAj
JWxFUihRYD4pPkpAdThwMERDcV4qY35AYkF0bDlsNVJWUnoKejFkYkJudShLcmZASUcxa3tZMzlV
UEN4KHZWNW5vKlQ3VyspZj4hKX44VWxVPi1AYyV+RnNPWFJfP0VsYGdfM0I+CnpFdkYyPjwjPXA2
YWY5VD1pUC1Ra2Rsd0JTUT8hQkZ5NWZEM3wyU1pzRHA1NStxSj9jISUoTnhrRDVnNjtHPyFNKAp6
UmE2VnFoUEQ3bXJ2ditCaCZHKEtuXzBDVWdPVlRQdlNpcX1pKmhnfUlafUxFJFp6X1dDbmpkMTRv
bkhCYGQlI2IKelIwZVZ5eno/VldsO1kkRUx8VlY/ZiN9TFQrWk8pR0cjaHVraXJFVEZoe2skcT43
PXtYamJYakdvR05eQENaS1p7CnpteUFIWDI/PjJDeXhBb3stUF9SXmRqUUU5KVJPUzdHO0o7PV41
cmNyYEpVWVReeFpwPzAwYENmKCRRUD54fUJjcAp6LTcmNEdIVXhyYGdRaWpeLT8jcmxwSH1Vb0A3
SEdXODQ/UHNvNmNDcFA+PmRfKyomJj1qN2FYZkFfY085a25XdVkKemcyWGRzcyFsMzB1d2AhYWx9
RnE2e2FxTDA4d0BzJDNwKCZ+Uz1SZEJ4RFYoZ18jQSRMRF5fVEpTaHVLXzZgeFc4CnolI35ZSDVJ
I3JRXmxgNkZJYnRBWkpicDVEeV5LdWk8S2MpcyFEUHskJSohLTFNKFNIfjN9akBOVz9MZ15lP25j
cAp6e2w9azxWZlYkeGRZaUZmc1lkcXZHUldkcG19VmV3QFJQPFEwaSU9ST43UD5LY0k/R1JWP2M9
UT1aN0AtKVU/c1AKentSIUdzNHZPMmhfMERgNGpRJDg4S31hRGhhNmpkeWYkT3pObUh+cmdofDZz
MmxCZnxAKyVnYWg/JGM5aiohJCFCCnomQFY8eyU2PiVycWFjV25MRVA0NCQ+b2xDTzYjZlUlVTlo
LXpwalpPdWx0QUkrQ0FJNSpncDwqI2xwZj4zXlpUQwp6VzFiTCkjaFhXaDlPYVhSUiZRazkpSllX
KjMzRiV8REM3dDc8PTtaVTsrRiV+TFJDQ30xR3wmP1BmOFZ8O31hIUcKejwjU1A5cF43I2hecVh1
Kk8oP0VeKlYhX2BfeEl4eURHVCVmYHpqdEI5bWR7Y3Z+Jks1THIjXkpUTVM+ckA3TCpNCnphYzJ5
ZmN3LWpoJG9QOSQtVGpZSystdGkkUmFLezgqKXRTVUVHcFhBLWYqM0spZjAhPytneD4ob0h6cE9e
QXJGQQp6YDw4aTEyPX1ufV42d3RUMUcqR2NnI1AtV29iOHVxRk87ankhSCtvN0RAO0tuLTl5fD84
LSRvKntPUk1Pd3loPHYKeldBSjJvOCMxQD5AbVkoej13SGxzYzBOP0NeeSs7bXRkXmUwVkZjdDBo
WUA8djdMeTg+R3JUZn45Zm13JkAjRXFhCno/LT9KI0FNKVEocG5oRz8qQjBpYThGMjYxbmUjQitw
NTdTSnhYbit0NUZtcDxpVj5eZkU8QCEwVk5fTUUyMDlKSwp6KUdVX0hYOFdvJD9vMU4zPEVCX2Rt
OGtqUGJ8OVZ+R0pmeSo0eEszM3FUNldxO1N1VnghcVNfYjV8XylqKDx7PDwKem9MVHxpXiotZEBK
SGB9JG5pTHliR085N05DI2g3PStibC1sTCNkT0JtVlYhTmZ4TkNIK25rVGYzI2BzZVpNeDRkCnoo
KGBpalJfQTE8d0goQ2dwTmtZeSkqakVXIWt3VGFrdSl6WlpsR3hLMEYkOHl6XiooelUocClVKztq
bSFMelopYAp6NmxXUGUqN2VjUz5xcC1XYUA0O2B6YiRlMWFqKyVyVGs1cCF5Sil9PHAtdn1IOyZp
IVVyU2pJakY0RVlUPWI9MmAKemdwXm9OKVpIM0YpTiRGczxgeGctSzc8Tkk3JSR1MzgzJE5Oe1Ik
MyRqM0IxIVYyYWE3RD0yZyUlcX17dXt1Y3JtCnpRVV9oQUNKV2BETWRvZ18pP1M5UCM+YnorYT4o
IVkybn4mR1g9aCZGcztlZz41PW5JZ18oWVpNd3VqWG1RTDxUWgp6eG9gfkdTXkFXTWQjdnNkO1JE
a3ElJDM9S0BKZXBIN3VNJEgwP2RUcEhrTktDQlMhPiNoQUE/PDk+PEErc08jNUwKenomUVR7PHNz
MihVIXk2OWhnNT1DdDt6JnhLRnA7JXVJI1BMRnUteWdBKng2RyZKR0V6WHRvTWhDWlNeJj1rWEVS
CnpRJnkhbHp3Uik3WHY3IXsyclFSUFdVNF5Uc3RCQlhZe3RlUVlnQ3hfS1Q8Mk5aaXNDcUk0ZUV1
eyhORHc2KH0hbQp6Pl44VylFQE43RUB0MVhnZWpLZTltRGd8SXZjRn5EbyNwTmtuZTNwITFEYTh5
UnZvUk11PUtwPCFnejFRSUl1ZCgKekg9dFkxS3xmUVNEPm5OM1p8I2xaRUFxRiNlRDRWXjdwZWpj
X1dUeVI9Yj1VdCN8aHV5MEQ9IU1EJlMzPzNYXnl+Cnptb0JEQzh6VUdBaTckMmopWjNPe1M0KTAq
eHdrckdLR0h7OHJlLW9yUkg9eWVlP01gfFpHJFd5I1lST0dCd3d8Nwp6JmM1N2soI0Y+PHkoVTAm
eTdIVHdlSHlBYTh2TSs2R3d7WClpfnFuQ2A0KkYkWTFGcmA2fl82YWJkO1ApND5gdHMKem8waDtp
cj9lKVR1QnV6USl1bU9GZjdhYkptMVl7dUQ9JlR8TEs+b3gqbGl+Kj9SN3JyRE9YKG8rVnhvQEFa
PiZ9CnpHY2ZSUTR7emE0bjsoe3MlKXUodEo8alVMKVU8SUU8YyQyM2B6OzZuVVE1YlUqfXZJWCFe
N058JU4laU1aNlpvZwp6RjYoaHhQbiElfWlXIzwmPH5kVzVQLTlhSitFVntANHpsNU9sVHA3dVZG
TT8kWVE5LU9iNFUrQmVVdGZgTCViWjUKemteTTFvLShKS3VYPztCM2d2PlN1P3NGWClEd28+KXh+
dlM4IyMyak9UVzc8NntPQlg9SE1ZQXZ7UUFsTjd8JFpuCnpLSkReKHZwUFUrZzRERUlicVJQVjJX
bEFTPXhhV0ZAfnk2fT9zOVJvd0RqPyVSaWh2eWlPbko+V2wwQ2luPFM8aAp6OHRTdmVlJEYxeTdE
WFFBQGtjYntZdiN9LXgmQVpwYX4meDdPKTglfjhgc2p9NVBSYUg5ZkBqfW0oZUxiNDFjPWcKemky
OV4zQj1mTWc9dXlncGBXbH1fX1IpOUpZVT1ESWJMdk97JWpoYWReKD5ndWR4N1UkTWo5SWQpPCV0
dShNd30+CnpVO3xWWU02QUdLXz5sYFZod1MpdWUpM2crUiRAez8mZyk0ckVyVSkqc1VlVnAjZnI+
cWRgVEl7aXBZYzZjezJVPwp6cHg0KlpCMnZNZ3JMTUd7JUYodTZTK2J6JChkN0VrZ0dPUWR6ZWFF
Xmh+SnlxK3Z9SGtjJE89MXo5dmltUUJYODkKempnQTUhKDBoS215UUpiUDY1OVhoRz1UVGVfdVhk
UzFAakQ+PDMqV0toO013eyE2cXYrUj5Ndj1FTjgtVjRSSDtqCnphJnBxU3h+NWZyWT1YcX1iNHo2
NCg5JVdVbnNFSChRd2IhbHN0T3E7Rzh8LV48N15HVnoyVFRvYmpiWnUxbmhabAp6blQ3QGFjZF49
czZsanxqKEkoTFJ6Tk4jVWN7USo1TXR3NVZfbU11R0JpQ0tNQ2UzWFdxMmxrcUElUz83elQzKWUK
ejB6ZCN9Z1UwKzZyMHMyKGYmbmpwSzFoekN3JUNkPD5KJGFzTk1BND09dU1tWks2KyQmd1g4ZGdH
T0Q8Kns0bD05CnpwQWF1NllsY0o0WFRaVDlUYW5ZKUBUb0s4aGYkPGwkNF9sZVVKVnppPWxyMlcm
NFFNS3FmSGN7NzNeO0g+bGpYNwp6amtvQTR0R1grWS0kVFBVfEZMKnxvb1FnbSFxQyFsaHtrUSRF
N2okJmJBYTdQR3Jwa1BuJGlPWFZeWD54Wmd8U20KemJsMjFyOEokNmclWVQ+RURhVz1qKHkhdTFv
RmtUaDU9WSRKVWVDVnc2Z1MwSCFHU1llYXVgcj5DOSo+PTZIVXBqCnptR1RvY2lIeUBWTzxxenth
JlZBRVdaVTYwYFZPKW17OT9AJjY0O28lISRYMS1ORXwpekFYWnt+SSReRC1xdkFFRwp6QXY5fClt
fCohWmlLdkxvKEI3SkxPJEk7Tm8xV1VhN3g/cmBaUiVkNm9oeDl3I19oPiM+eld2cmw4UDA0K2VC
PXsKejdDekBNdzItbmk5bWFWWVhgY0E2OVU/I0ZTcSU/MG18QndlYj4+cHQ1KG5td2dgSVlQQSo9
UklyQXR3Xntzen5ACnpfKyRrJlBrYE1FTWBrYExJPSQyQ3hxSUR9PzJScylUcVpEVVJoalpGRjRY
JWJfVWBuNCUjcHwpd1ZlRjg+bHBLSwp6R3JvSz9kcExtRHY4PTFsZ0g3UD8/empPWTlSQW1jPjB7
RmVhYXJpRUklYEhDLVFKdUVZV082WSFKP3pkPV9eJGIKelJXfjw2TnxDfnd2JHRxPmVtVSVwSnFJ
PTFRITw3MW5SamUkcnwjUkBPMEsrNHZKKiglZ3o7RDg7I19UVEkza1NZCnpnOVVTKjR4VH1nZXc4
WnxZVUh4X2RiY0BVT0JUJEtkYSZHJlJtRT18MUhySGowejZJaUB9ZHpIOWdpViQlWVpfKwp6V14y
UzdmOTdWfFpQaXZiK31zU1hqeTZCQT5qenpDRXJKaiM7YWYmeCtRUmFzWVVHOXQzcTtwQiQ4b1hU
LWt6bD8Kenpxa0xvIUNFQVVqajA8NUwoV2RtTEkwNEU3UyZOJHZZKnAqXntgaDt7UjRUUT1qXz4r
R3JnMlhWPXlrZCRvWiRFCnp4Q2pUSVI+bH0qcjM2Mno8IURkIWs+JlReaEp+JWNTVk45TTRLQ1N4
UilUV3ZKJFFtSzFfO1lJVEo4Wi1UdklWTAp6cnBZVyQyOF9RS2RyLTBnelNXUSQmWDNDZjtKOGNh
TXAkYiZvMmhDemRIMiU+VnpiSktrVHlBUG8zV2g3VjBZe3cKekc/dD51K1JJIUN7QTtZMUlYY2cp
Jn12WTNIayRHZ3J2aUlYdVlkV0pVKm1WZCt6RyZzOE5YPnAxVnNqMUZpcXBsCnpacyV3el9vdVRU
SXJVdWlgdWcmcF4oTCVNRnlpdk5PKVptVCp7TGkzMWtVMmQoZFI0O1VjeD4qbW1lSDg7cHc/VQp6
WTJeYyo8UHNPUSoyYkI3eD1UY3I4cWY2Pl9JZ0BgelYhTmlKNWRzNEUwMiUpUkdNMFBkaE1kKi1D
VmoxZSNoRkoKeiVrSEtvVGo1OEZtZmNvfTBYRjFxeDhkeDVUbGhIZz8yOWFSZXU+Rk9hPnF+UUJx
Nj07Xn4+Q1JWZm1kMy1qJitSCnowPiMhJW1+QFI/TUVjRzNDNjw0V1dPdyghQGJGQkk5WChCIUl5
QDZiU2RiTVg1fXB0S1loLWBgdDQ8dGtPQFh4cAp6MThlUDZldCFzTmEzTG4xJU01RStle256V3dg
bHdmY2k7c0lZWUBzZHtZKTc0WlBDajYrPVRsSGJaPHFrUWNzSD8Kenl+JUc1a3BTYys+X3tDVjty
bkA+dzBXRnZqd3YyX0VDMTYhPGwocW9veXlIbFdCNUMqczdaLW8kRGBzI0lxPm1iCnoteyt7d0s8
KHwlP3ZuUUY9SUxxRDxpeGw/VlQjRnhmKXN4RCp4OWQhT3RsSEQ0P2BReyQ0QDx+bCRUYyhjelhz
OAp6Z1FuJXNAKWlXSXVaQzl0ZDZeOyExXnQ8a2hkKl40NklwYkpvI1l+eDdtSENCQTErOCgjQlRM
ajRJdEdFVzV3WlUKek1UX1pHMHVjakR3TENvUWZ6RV85TjhDeFZqd2JZY1UralJaZDdaU2ghXn1e
Y2hHZGsjVnQ8VCEhdnomWmBoUTJICnpWKllhZlMhM3IkeCZ4TTwkYGE+dzBZdkV2YTxpJXZmc2lB
IUdGeVl7Rz5ATjNSNFRQeUFaQno4TzFuMXx4Iz45cAp6PWhObG9QSHtfai1RSGhFR093cTc2Kn11
aTxPeHN7Jm8kPElPKDZkSipRJHJGd1V8eTdTTW96dUFONCFjKmxZPygKekcpaFchdGJHTFExUE5C
VmtvP0pxZ34manBNKVR7VVdzLSUrTmZNK0p0XnhNekZjbytkcSN0IXpfcDAlIXM4JmFFCnoqVGhV
PmZoZCRrQmpZVHQ2dHdPKntLMEcmUn1xTTl6OF5GI2R0b35RNkc5RXBtRGY1fUopY1okMjl7Q0Zj
R0t0awp6OGluMVA8OHV3JEwjdlY5KzxTJGBudUpqbClLaklHbXFFMClecUlPIWJzKzNELWJIRUVV
bVVYMHNSVkh7dSokSGoKekkxRkFzSnVSRng5RmdFKU42Wk5JV0lwXiVXIXY3andFfiR3PGZYfW1z
a01vJmxZLShkdFpoR0pUM1p0KE5FZyFZCnpWYEdUWiZ8fEFCdmRJYntrRT5YZms0QG1fJChgQCpP
YHhmUVJtJWM2NG4rU1hJJEJQSkNEKHo/biFLZks8azlMKgp6ZnFKbVUwV3ZFQSkyWTRybHpCV2RR
djNDa05qQH42VGB9cWBFQSpZWVlFemVrdVM0V0xFOytaYCpMPTZRXkYtfXcKendyTEZ0P04+fXYl
TF5YfGx2MTRvVU8lal5ZaFYxUkxHITI4ZVM4YVhSZzB6JDBmNiVKZThGNG9aWlNXeyVXVWgzCnpL
dCpNMDREXnk4QD9AIXJSTnolX0hpP2ZDUiN4bTQ3dHRiaUBRVDZie190fX1jKG91fllWWntIZVBt
MXRGJCVMaAp6M3lVUD13K3BtaSFgNHttKTR3b0gxYFliNiRefHNVP0FkcSo0Yk1iVHEmeTFFPFk1
MGVreHlmZjZValRMIUFgX3gKekhNMUR5SDhRQCVePjxvRV5MWSNxNnNoR1VyaCVwdHslKl5yV1c1
WWxXfUxnVTBBZjReZjI0cHQma2o9eUg2VENVCnpjZm4pUWkpZH4ma0EkS0ZSdEVYSG8+bT1xUW5a
PDdqdU4lRFkpISlRdzZKPm5Ke0p2O2skVWtRMDVnMHh6RWIwdAp6UjgyQitvKk1yKSoyQ0M4Kkcq
aWdFLUJiRnVwNnhNVSh9MXMkYXJ1MWo1N0pxUylQLTFfWE9OSnJUI2ArI18kKEkKekxMWEp0ez4w
Sz1BPVJQQXVHV0VkSHtHRn55Mz5uRkVXeD9VVlUhYTRHfExEZUZncG56eCRaajBeNnhtKnt4ISkp
Cno+R2NXdEp6RmgjWFBBRk9oPDJ9bU9SZWpCUWF1R0ElXkwkKCNMMHYqWWgwWjx4Zy1JbDR3YGE8
ITN0Xis2Zmp6Mwp6K2RHeksjUW15a1F1c1h+K2RtbnF6OXIzdU18dDNEPFpiZTZAKjRzRS0+WFhl
LTt8alZRcEM4WG0kWVdEXnU9cHAKel5uMVBEIXZhaFd6SHt4RkNyYTtRZHdrQGVnQWkoZj5ZTm4r
TVUtMXR5PiEmTjwlQWFOZTt0Pj85cnJtfDlvKXpnCnpCJEgyYlFpKUFFbTdOTUJ3cm04I0hUKG97
KSNCNFk+SlJ9Y1BJWmE2bypedW5iJmArO0VKfUhQcjBDcUJPWnJZTAp6QHZiQTNPP0U4czFSfG5I
OGZBJklBPnFDc3Y1JGdlKUV5Sm1pWTx7e3huKlR9T2tEJjVORk5+dXNBITB4ZE1JO3AKenozeVEx
WiU2YVJGRFFRLTJla2FwekImOUprMnVlWWZMfj84TyUhTT1tUmBpUl9kOEBLdTRnVGdzOFJvJVUq
bm81CnpHNXQ/bl5YMHstN3RZcmZMWGorMmEkODwzNTF8fTc8RWJSYDkjJWo/Km5+RERzNGZGPUYj
cTl6TV5GQHZpZ1VXJAp6alhYa1Y4VihkNmtSZy1STmd1fCpffVlfZDxKdTtiTFZTNlhFLVZyLTxn
KSpuSlZ9WiU+MGl1YlF0fDNQKjtUbmkKeiQxQ1dAOCEraDcpUjxxSHBrUGNRT30hfGdsezBYczE1
WVlOOX1PUHF5QkoxX0lCUkVIYk1ofCVAfnkwWiUtI35LCnpOfSlYcVRnS1FON1kwK2I9UEp2NkJT
T2otOThxUiVBQjMqVypuQGJ4SH0+QUFhcGFIPEtneCZ5QyE4cyp6STZrRAphMDMlKnM/NEtSO2NL
Xzh8MGRpOHhsR1BIJUFeIXV0ZWBOanUKCmxpdGVyYWwgMApIY21WP2QwMDAwMQoKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL3Jlc291cmNl
cy93ZWJnbC10ZXN0LWhhcm5lc3MuanMgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2Vi
Z2xfdGVzdF9maWxlcy9yZXNvdXJjZXMvd2ViZ2wtdGVzdC1oYXJuZXNzLmpzCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjM4NWY1M2FjMjdmNzUxOTE3OWZkNzcyZWQ2OWJhM2I4Zjc3YmVjN2YKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9yZXNvdXJj
ZXMvd2ViZ2wtdGVzdC1oYXJuZXNzLmpzCkBAIC0wLDAgKzEsNTgzIEBACisvKgorKiogQ29weXJp
Z2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlz
IGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcg
YQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRp
b24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMg
d2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhl
IHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmli
dXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5k
IHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hl
ZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioK
KyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNl
IHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRp
b25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQg
IkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1Q
TElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiog
TUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9O
SU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJ
R0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVS
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9S
IE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRI
RQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVS
SUFMUy4KKyovCisKKy8vIFRoaXMgaXMgYSB0ZXN0IGhhcm5lc3MgZm9yIHJ1bm5pbmcgamF2YXNj
cmlwdCB0ZXN0cyBpbiB0aGUgYnJvd3Nlci4KKy8vIFRoZSBvbmx5IGlkZW50aWZpZXIgZXhwb3Nl
ZCBieSB0aGlzIGhhcm5lc3MgaXMgV2ViR0xUZXN0SGFybmVzc01vZHVsZS4KKy8vCisvLyBUbyB1
c2UgaXQgbWFrZSBhbiBIVE1MIHBhZ2Ugd2l0aCBhbiBpZnJhbWUuIFRoZW4gY2FsbCB0aGUgaGFy
bmVzcyBsaWtlIHRoaXMKKy8vCisvLyAgICBmdW5jdGlvbiByZXBvcnRSZXN1bHRzKHR5cGUsIG1z
Zywgc3VjY2VzcykgeworLy8gICAgICAuLi4KKy8vICAgICAgcmV0dXJuIHRydWU7CisvLyAgICB9
CisvLworLy8gICAgdmFyIGZpbGVMaXN0VVJMID0gJzAwX3Rlc3RfbGlzdC50eHQnOworLy8gICAg
dmFyIHRlc3RIYXJuZXNzID0gbmV3IFdlYkdMVGVzdEhhcm5lc3NNb2R1bGUuVGVzdEhhcm5lc3Mo
CisvLyAgICAgICAgaWZyYW1lLAorLy8gICAgICAgIGZpbGVMaXN0VVJMLAorLy8gICAgICAgIHJl
cG9ydFJlc3VsdHMsCisvLyAgICAgICAgb3B0aW9ucyk7CisvLworLy8gVGhlIGhhcm5lc3Mgd2ls
bCBsb2FkIHRoZSBmaWxlTGlzdFVSTCBhbmQgcGFyc2UgaXQgZm9yIHRoZSBVUkxzLCBvbmUgVVJM
CisvLyBwZXIgbGluZSBwcmVjZWRlZCBieSBvcHRpb25zLCBzZWUgYmVsb3cuIFVSTHMgc2hvdWxk
IGJlIG9uIHRoZSBzYW1lIGRvbWFpbgorLy8gYW5kIGF0IHRoZSAgc2FtZSBmb2xkZXIgbGV2ZWwg
b3IgYmVsb3cgdGhlIG1haW4gaHRtbCBmaWxlLiAgSWYgYW55IFVSTCBlbmRzCisvLyBpbiAudHh0
IGl0IHdpbGwgYmUgcGFyc2VkIGFzIHdlbGwgc28geW91IGNhbiBuZXN0IC50eHQgZmlsZXMuIFVS
THMgaW5zaWRlIGEKKy8vIC50eHQgZmlsZSBzaG91bGQgYmUgcmVsYXRpdmUgdG8gdGhhdCB0ZXh0
IGZpbGUuCisvLworLy8gRHVyaW5nIHN0YXJ0dXAsIGZvciBlYWNoIHBhZ2UgZm91bmQgdGhlIHJl
cG9ydEZ1bmN0aW9uIHdpbGwgYmUgY2FsbGVkIHdpdGgKKy8vIFdlYkdMVGVzdEhhcm5lc3NNb2R1
bGUuVGVzdEhhcm5lc3MucmVwb3J0VHlwZS5BRERfUEFHRSBhbmQgbXNnIHdpbGwgYmUKKy8vIHRo
ZSBVUkwgb2YgdGhlIHRlc3QuCisvLworLy8gRWFjaCB0ZXN0IGlzIHJlcXVpcmVkIHRvIGNhbGwg
dGVzdEhhcm5lc3MucmVwb3J0UmVzdWx0cy4gVGhpcyBpcyBtb3N0IGVhc2lseQorLy8gYWNjb21w
bGlzaGVkIGJ5IHN0b3JpbmcgdGhhdCB2YWx1ZSBvbiB0aGUgbWFpbiB3aW5kb3cgd2l0aAorLy8K
Ky8vICAgICB3aW5kb3cud2ViZ2xUZXN0SGFybmVzcyA9IHRlc3RIYXJuZXNzCisvLworLy8gYW5k
IHRoZW4gYWRkaW5nIHRoZXNlIHRvIGZ1bmN0aW9ucyB0byB5b3VyIHRlc3RzLgorLy8KKy8vICAg
ICBmdW5jdGlvbiByZXBvcnRUZXN0UmVzdWx0c1RvSGFybmVzcyhzdWNjZXNzLCBtc2cpIHsKKy8v
ICAgICAgIGlmICh3aW5kb3cucGFyZW50LndlYmdsVGVzdEhhcm5lc3MpIHsKKy8vICAgICAgICAg
d2luZG93LnBhcmVudC53ZWJnbFRlc3RIYXJuZXNzLnJlcG9ydFJlc3VsdHMoc3VjY2VzcywgbXNn
KTsKKy8vICAgICAgIH0KKy8vICAgICB9CisvLworLy8gICAgIGZ1bmN0aW9uIG5vdGlmeUZpbmlz
aGVkVG9IYXJuZXNzKCkgeworLy8gICAgICAgaWYgKHdpbmRvdy5wYXJlbnQud2ViZ2xUZXN0SGFy
bmVzcykgeworLy8gICAgICAgICB3aW5kb3cucGFyZW50LndlYmdsVGVzdEhhcm5lc3Mubm90aWZ5
RmluaXNoZWQoKTsKKy8vICAgICAgIH0KKy8vICAgICB9CisvLworLy8gVGhpcyB3YXkgeW91ciB0
ZXN0cyB3aWxsIHN0aWxsIHJ1biB3aXRob3V0IHRoZSBoYXJuZXNzIGFuZCB5b3UgY2FuIHVzZQor
Ly8gYW55IHRlc3RpbmcgZnJhbWV3b3JrIHlvdSB3YW50LgorLy8KKy8vIEVhY2ggdGVzdCBzaG91
bGQgY2FsbCByZXBvcnRUZXN0UmVzdWx0c1RvSGFybmVzcyB3aXRoIHRydWUgZm9yIHN1Y2Nlc3Mg
aWYgaXQKKy8vIHN1Y2NlZWRlZCBhbmQgZmFsc2UgaWYgaXQgZmFpbCBmb2xsb3dlZCBhbmQgYW55
IG1lc3NhZ2UgaXQgd2FudHMgdG8KKy8vIGFzc29jaWF0ZSB3aXRoIHRoZSB0ZXN0LiBJZiB5b3Vy
IHRlc3RpbmcgZnJhbWV3b3JrIHN1cHBvcnRzIGNoZWNraW5nIGZvcgorLy8gdGltZW91dCB5b3Ug
Y2FuIGNhbGwgaXQgd2l0aCBzdWNjZXNzIGVxdWFsIHRvIHVuZGVmaW5lZCBpbiB0aGF0IGNhc2Uu
CisvLworLy8gVG8gcnVuIHRoZSB0ZXN0cywgY2FsbCB0ZXN0SGFybmVzcy5ydW5UZXN0cyhvcHRp
b25zKTsKKy8vCisvLyBGb3IgZWFjaCB0ZXN0IHJ1biwgYmVmb3JlIHRoZSBwYWdlIGlzIGxvYWRl
ZCB0aGUgcmVwb3J0RnVuY3Rpb24gd2lsbCBiZQorLy8gY2FsbGVkIHdpdGggV2ViR0xUZXN0SGFy
bmVzc01vZHVsZS5UZXN0SGFybmVzcy5yZXBvcnRUeXBlLlNUQVJUX1BBR0UgYW5kIG1zZworLy8g
d2lsbCBiZSB0aGUgVVJMIG9mIHRoZSB0ZXN0LiBZb3UgbWF5IHJldHVybiBmYWxzZSBpZiB5b3Ug
d2FudCB0aGUgdGVzdCB0byBiZQorLy8gc2tpcHBlZC4KKy8vCisvLyBGb3IgZWFjaCB0ZXN0IGNv
bXBsZXRlZCB0aGUgcmVwb3J0RnVuY3Rpb24gd2lsbCBiZSBjYWxsZWQgd2l0aAorLy8gd2l0aCBX
ZWJHTFRlc3RIYXJuZXNzTW9kdWxlLlRlc3RIYXJuZXNzLnJlcG9ydFR5cGUuVEVTVF9SRVNVTFQs
CisvLyBzdWNjZXNzID0gdHJ1ZSBvbiBzdWNjZXNzLCBmYWxzZSBvbiBmYWlsdXJlLCB1bmRlZmlu
ZWQgb24gdGltZW91dAorLy8gYW5kIG1zZyBpcyBhbnkgbWVzc2FnZSB0aGUgdGVzdCBjaG9vc2Ug
dG8gcGFzcyBvbi4KKy8vCisvLyBXaGVuIGFsbCB0aGUgdGVzdHMgb24gdGhlIHBhZ2UgaGF2ZSBm
aW5pc2hlZCB5b3VyIHBhZ2UgbXVzdCBjYWxsCisvLyBub3RpZnlGaW5pc2hlZFRvSGFybmVzcy4g
IElmIG5vdGlmeUZpbmlzaGVkVG9IYXJuZXNzIGlzIG5vdCBjYWxsZWQKKy8vIHRoZSBoYXJuZXNz
IHdpbGwgYXNzdW1lIHRoZSB0ZXN0IHRpbWVkIG91dC4KKy8vCisvLyBXaGVuIGFsbCB0aGUgdGVz
dHMgb24gYSBwYWdlIGhhdmUgZmluaXNoZWQgT1IgdGhlIHBhZ2UgYXMgdGltZWQgb3V0IHRoZQor
Ly8gcmVwb3J0RnVuY3Rpb24gd2lsbCBiZSBjYWxsZWQgd2l0aAorLy8gV2ViR0xUZXN0SGFybmVz
c01vZHVsZS5UZXN0SGFybmVzcy5yZXBvcnRUeXBlLkZJTklTSF9QQUdFCisvLyB3aGVyZSBzdWNj
ZXNzID0gdHJ1ZSBpZiB0aGUgcGFnZSBoYXMgY29tcGxldGVkIG9yIHVuZGVmaW5lZCBpZiB0aGUg
cGFnZSB0aW1lZAorLy8gb3V0LgorLy8KKy8vIEZpbmFsbHksIHdoZW4gYWxsIHRoZSB0ZXN0cyBo
YXZlIGNvbXBsZXRlZCB0aGUgcmVwb3J0RnVuY3Rpb24gd2lsbCBiZSBjYWxsZWQKKy8vIHdpdGgg
V2ViR0xUZXN0SGFybmVzc01vZHVsZS5UZXN0SGFybmVzcy5yZXBvcnRUeXBlLkZJTklTSEVEX0FM
TF9URVNUUy4KKy8vCisvLyBIYXJuZXNzIE9wdGlvbnMKKy8vCisvLyBUaGVzZSBhcmUgcGFzc2Vk
IGluIHRvIHRoZSBUZXN0SGFybmVzcyBhcyBhIEphdmFTY3JpcHQgb2JqZWN0CisvLworLy8gdmVy
c2lvbjogKHJlcXVpcmVkISkKKy8vCisvLyAgICAgU3BlY2lmaWVzIGEgdmVyc2lvbiB1c2VkIHRv
IGZpbHRlciB0ZXN0cy4gVGVzdHMgbWFya2VkIGFzIHJlcXVpcmluZworLy8gICAgIGEgdmVyc2lv
biBncmVhdGVyIHRoYW4gdGhpcyB2ZXJzaW9uIHdpbGwgbm90IGJlIGluY2x1ZGVkLgorLy8KKy8v
ICAgICBleGFtcGxlOiBuZXcgVGVzdEhhcm5lc3MoLi4uLiwge3ZlcnNpb246ICIzLjEuMiJ9KTsK
Ky8vCisvLyBtaW5WZXJzaW9uOgorLy8KKy8vICAgICBTcGVjaWZpZXMgdGhlIG1pbmltdW0gdmVy
c2lvbiBhIHRlc3QgbXVzdCByZXF1aXJlIHRvIGJlIGluY2x1ZGVkLgorLy8gICAgIFRoaXMgYmFz
aWNhbGx5IGZsaXBzIHRoZSBmaWx0ZXIgc28gdGhhdCBvbmx5IHRlc3RzIG1hcmtlZCB3aXRoCisv
LyAgICAgLS1taW4tdmVyc2lvbiB3aWxsIGJlIGluY2x1ZGVkIGlmIHRoZXkgYXJlIGF0IHRoaXMg
bWluVmVyc2lvbiBvcgorLy8gICAgIGdyZWF0ZXIuCisvLworLy8gICAgIGV4YW1wbGU6IG5ldyBU
ZXN0SGFybmVzcyguLi4uLCB7bWluVmVyc2lvbjogIjIuMy4xIn0pOworLy8KKy8vIGZhc3Q6Cisv
LworLy8gICAgIFNwZWNpZmllcyB0byBza2lwIGFueSB0ZXN0cyBtYXJrZWQgYXMgc2xvdy4KKy8v
CisvLyAgICAgZXhhbXBsZTogbmV3IFRlc3RIYXJuZXNzKC4uLiwge2Zhc3Q6IHRydWV9KTsKKy8v
CisvLyBUZXN0IE9wdGlvbnM6CisvLworLy8gQW55IHRlc3QgVVJMIG9yIC50eHQgZmlsZSBjYW4g
YmUgcHJlZml4ZWQgYnkgdGhlIGZvbGxvd2luZyBvcHRpb25zCisvLworLy8gbWluLXZlcnNpb246
CisvLworLy8gICAgIFNldHMgdGhlIG1pbmltdW0gdmVyc2lvbiByZXF1aXJlcyB0byBpbmNsdWRl
IHRoaXMgdGVzdC4gQSB2ZXJzaW9uIGlzCisvLyAgICAgcGFzc2VkIGludG8gdGhlIGhhcm5lc3Mg
b3B0aW9ucy4gQW55IHRlc3QgbWFya2VkIGFzIHJlcXVpcmluZyBhCisvLyAgICAgbWluLXZlcnNp
b24gZ3JlYXRlciB0aGFuIHRoZSB2ZXJzaW9uIHBhc3NlZCB0byB0aGUgaGFybmVzcyBpcyBza2lw
cGVkLgorLy8gICAgIFRoaXMgYWxsb3dzIHlvdSB0byBhZGQgbmV3IHRlc3RzIHRvIGEgc3VpdGUg
b2YgdGVzdHMgZm9yIGEgZnV0dXJlCisvLyAgICAgdmVyc2lvbiBvZiB0aGUgc3VpdGUgd2l0aG91
dCBpbmNsdWRpbmcgdGhlIHRlc3QgaW4gdGhlIGN1cnJlbnQgdmVyc2lvbi4KKy8vICAgICBJZiBu
byAtbWluLXZlcnNpb24gaXMgc3BlY2lmaWVkIGl0IGlzIGluaGVyaWl0ZWQgZnJvbSB0aGUgLnR4
dCBmaWxlCisvLyAgICAgaW5jbHVkaW5nIGl0LiBUaGUgZGVmYXVsdCBpcyAxLjAuMAorLy8KKy8v
ICAgICBleGFtcGxlOiAgLS1taW4tdmVyc2lvbiAyLjEuMyBzb21ldGVzdC5odG1sCisvLworLy8g
c2xvdzoKKy8vCisvLyAgICAgTWFya3MgYSB0ZXN0IGFzIHNsb3cuIFNsb3cgdGVzdHMgY2FuIGJl
IHNraXBwZWQgYnkgcGFzc2luZyBmYXN0T25seTogdHJ1ZQorLy8gICAgIHRvIHRoZSBUZXN0SGFy
bmVzcy4gT2YgY291cnNlIHlvdSBuZWVkIHRvIHBhc3MgYWxsIHRlc3RzIGJ1dCBzb21ldGltZXMK
Ky8vICAgICB5b3UnZCBsaWtlIHRvIHRlc3QgcXVpY2tseSBhbmQgcnVuIG9ubHkgdGhlIGZhc3Qg
c3Vic2V0IG9mIHRlc3RzLgorLy8KKy8vICAgICBleGFtcGxlOiAgLS1zbG93IHNvbWUtdGVzdC10
aGF0LXRha2VzLTItbWlucy5odG1sCisvLworCitXZWJHTFRlc3RIYXJuZXNzTW9kdWxlID0gZnVu
Y3Rpb24oKSB7CisKKy8qKgorICogV3JhcHBlZCBsb2dnaW5nIGZ1bmN0aW9uLgorICovCit2YXIg
bG9nID0gZnVuY3Rpb24obXNnKSB7CisgIGlmICh3aW5kb3cuY29uc29sZSAmJiB3aW5kb3cuY29u
c29sZS5sb2cpIHsKKyAgICB3aW5kb3cuY29uc29sZS5sb2cobXNnKTsKKyAgfQorfTsKKworLyoq
CisgKiBMb2FkcyB0ZXh0IGZyb20gYW4gZXh0ZXJuYWwgZmlsZS4gVGhpcyBmdW5jdGlvbiBpcyBz
eW5jaHJvbm91cy4KKyAqIEBwYXJhbSB7c3RyaW5nfSB1cmwgVGhlIHVybCBvZiB0aGUgZXh0ZXJu
YWwgZmlsZS4KKyAqIEBwYXJhbSB7IWZ1bmN0aW9uKGJvb2wsIHN0cmluZyk6IHZvaWR9IGNhbGxi
YWNrIHRoYXQgaXMgc2VudCBhIGJvb2wgZm9yCisgKiAgICAgc3VjY2VzcyBhbmQgdGhlIHN0cmlu
Zy4KKyAqLwordmFyIGxvYWRUZXh0RmlsZUFzeW5jaHJvbm91cyA9IGZ1bmN0aW9uKHVybCwgY2Fs
bGJhY2spIHsKKyAgbG9nICgibG9hZGluZzogIiArIHVybCk7CisgIHZhciBlcnJvciA9ICdsb2Fk
VGV4dEZpbGVTeW5jaHJvbm91cyBmYWlsZWQgdG8gbG9hZCB1cmwgIicgKyB1cmwgKyAnIic7Cisg
IHZhciByZXF1ZXN0OworICBpZiAod2luZG93LlhNTEh0dHBSZXF1ZXN0KSB7CisgICAgcmVxdWVz
dCA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpOworICAgIGlmIChyZXF1ZXN0Lm92ZXJyaWRlTWltZVR5
cGUpIHsKKyAgICAgIHJlcXVlc3Qub3ZlcnJpZGVNaW1lVHlwZSgndGV4dC9wbGFpbicpOworICAg
IH0KKyAgfSBlbHNlIHsKKyAgICB0aHJvdyAnWE1MSHR0cFJlcXVlc3QgaXMgZGlzYWJsZWQnOwor
ICB9CisgIHRyeSB7CisgICAgcmVxdWVzdC5vcGVuKCdHRVQnLCB1cmwsIHRydWUpOworICAgIHJl
cXVlc3Qub25yZWFkeXN0YXRlY2hhbmdlID0gZnVuY3Rpb24oKSB7CisgICAgICBpZiAocmVxdWVz
dC5yZWFkeVN0YXRlID09IDQpIHsKKyAgICAgICAgdmFyIHRleHQgPSAnJzsKKyAgICAgICAgLy8g
SFRUUCByZXBvcnRzIHN1Y2Nlc3Mgd2l0aCBhIDIwMCBzdGF0dXMuIFRoZSBmaWxlIHByb3RvY29s
IHJlcG9ydHMKKyAgICAgICAgLy8gc3VjY2VzcyB3aXRoIHplcm8uIEhUVFAgZG9lcyBub3QgdXNl
IHplcm8gYXMgYSBzdGF0dXMgY29kZSAodGhleQorICAgICAgICAvLyBzdGFydCBhdCAxMDApLgor
ICAgICAgICAvLyBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9Fbi9Vc2luZ19YTUxIdHRw
UmVxdWVzdAorICAgICAgICB2YXIgc3VjY2VzcyA9IHJlcXVlc3Quc3RhdHVzID09IDIwMCB8fCBy
ZXF1ZXN0LnN0YXR1cyA9PSAwOworICAgICAgICBpZiAoc3VjY2VzcykgeworICAgICAgICAgIHRl
eHQgPSByZXF1ZXN0LnJlc3BvbnNlVGV4dDsKKyAgICAgICAgfQorICAgICAgICBsb2coImxvYWRl
ZDogIiArIHVybCk7CisgICAgICAgIGNhbGxiYWNrKHN1Y2Nlc3MsIHRleHQpOworICAgICAgfQor
ICAgIH07CisgICAgcmVxdWVzdC5zZW5kKG51bGwpOworICB9IGNhdGNoIChlKSB7CisgICAgbG9n
KCJmYWlsZWQgdG8gbG9hZDogIiArIHVybCk7CisgICAgY2FsbGJhY2soZmFsc2UsICcnKTsKKyAg
fQorfTsKKworLyoqCisgKiBDb21wYXJlIHZlcnNpb24gc3RyaW5ncy4KKyAqLwordmFyIGdyZWF0
ZXJUaGFuT3JFcXVhbFRvVmVyc2lvbiA9IGZ1bmN0aW9uKGhhdmUsIHdhbnQpIHsKKyAgaGF2ZSA9
IGhhdmUuc3BsaXQoIiAiKVswXS5zcGxpdCgiLiIpOworICB3YW50ID0gd2FudC5zcGxpdCgiICIp
WzBdLnNwbGl0KCIuIik7CisKKyAgLy9oYXZlIDEuMi4zICAgd2FudCAgMS4xCisgIC8vaGF2ZSAx
LjEuMSAgIHdhbnQgIDEuMQorICAvL2hhdmUgMS4wLjkgICB3YW50ICAxLjEKKyAgLy9oYXZlIDEu
MSAgICAgd2FudCAgMS4xLjEKKworICBmb3IgKHZhciBpaSA9IDA7IGlpIDwgd2FudC5sZW5ndGg7
ICsraWkpIHsKKyAgICB2YXIgd2FudE51bSA9IHBhcnNlSW50KHdhbnRbaWldKTsKKyAgICB2YXIg
aGF2ZU51bSA9IGhhdmVbaWldID8gcGFyc2VJbnQoaGF2ZVtpaV0pIDogMAorICAgIGlmIChoYXZl
TnVtIDwgd2FudE51bSkgeworICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKyAgfQorICByZXR1
cm4gdHJ1ZTsKK307CisKKy8qKgorICogUmVhZHMgYSBmaWxlLCByZWN1cnNpdmVseSBhZGRpbmcg
ZmlsZXMgcmVmZXJlbmNlZCBpbnNpZGUuCisgKgorICogRWFjaCBsaW5lIG9mIFVSTCBpcyBwYXJz
ZWQsIGNvbW1lbnRzIHN0YXJ0aW5nIHdpdGggJyMnIG9yICc7JworICogb3IgJy8vJyBhcmUgc3Ry
aXBwZWQuCisgKgorICogYXJndW1lbnRzIGJlZ2lubmluZyB3aXRoIC0tIGFyZSBleHRyYWN0ZWQK
KyAqCisgKiBsaW5lcyB0aGF0IGVuZCBpbiAudHh0IGFyZSByZWN1cnNpdmVseSBzY2FubmVkIGZv
ciBtb3JlIGZpbGVzCisgKiBvdGhlciBsaW5lcyBhcmUgYWRkZWQgdG8gdGhlIGxpc3Qgb2YgZmls
ZXMuCisgKgorICogQHBhcmFtIHtzdHJpbmd9IHVybCBUaGUgdXJsIG9mIHRoZSBmaWxlIHRvIHJl
YWQuCisgKiBAcGFyYW0ge3ZvaWQgZnVuY3Rpb24oYm9vbGVhbiwgIUFycmF5LjxzdHJpbmc+KX0g
Y2FsbGJhY2suCisgKiAgICAgIENhbGxiYWNrIHRoYXQgaXMgY2FsbGVkIHdpdGggdHJ1ZSBmb3Ig
c3VjY2VzcyBhbmQgYW4KKyAqICAgICAgYXJyYXkgb2YgZmlsZW5hbWVzLgorICogQHBhcmFtIHtP
YmplY3R9IG9wdGlvbnMuIE9wdGlvbmFsIG9wdGlvbnMKKyAqCisgKiBPcHRpb25zOgorICogICAg
dmVyc2lvbjoge3N0cmluZ30gVGhlIHZlcnNpb24gb2YgdGhlIGNvbmZvcm1hbmNlIHRlc3QuCisg
KiAgICBUZXN0cyB3aXRoIHRoZSBhcmd1bWVudCAtLW1pbi12ZXJzaW9uIDx2ZXJzaW9uPiB3aWxs
CisgKiAgICBiZSBpZ25vcmVkIHZlcnNpb24gaXMgbGVzcyB0aGVuIDx2ZXJzaW9uPgorICoKKyAq
LwordmFyIGdldEZpbGVMaXN0ID0gZnVuY3Rpb24odXJsLCBjYWxsYmFjaywgb3B0aW9ucykgewor
ICB2YXIgZmlsZXMgPSBbXTsKKworICB2YXIgY29weU9iamVjdCA9IGZ1bmN0aW9uKG9iaikgewor
ICAgIHJldHVybiBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KG9iaikpOworICB9OworCisgIHZh
ciB0b0NhbWVsQ2FzZSA9IGZ1bmN0aW9uKHN0cikgeworICAgIHJldHVybiBzdHIucmVwbGFjZSgv
LShbYS16XSkvZywgZnVuY3Rpb24gKGcpIHsgcmV0dXJuIGdbMV0udG9VcHBlckNhc2UoKSB9KTsK
KyAgfTsKKworICB2YXIgZ2xvYmFsT3B0aW9ucyA9IGNvcHlPYmplY3Qob3B0aW9ucyk7CisgIGds
b2JhbE9wdGlvbnMuZGVmYXVsdFZlcnNpb24gPSAiMS4wIjsKKworICB2YXIgZ2V0RmlsZUxpc3RJ
bXBsID0gZnVuY3Rpb24ocHJlZml4LCBsaW5lLCBsaW5lTnVtLCBoaWVyYXJjaGljYWxPcHRpb25z
LCBjYWxsYmFjaykgeworICAgIHZhciBmaWxlcyA9IFtdOworCisgICAgdmFyIGFyZ3MgPSBsaW5l
LnNwbGl0KC9ccysvKTsKKyAgICB2YXIgbm9uT3B0aW9ucyA9IFtdOworICAgIHZhciB1c2VUZXN0
ID0gdHJ1ZTsKKyAgICB2YXIgdGVzdE9wdGlvbnMgPSB7fTsKKyAgICBmb3IgKHZhciBqaiA9IDA7
IGpqIDwgYXJncy5sZW5ndGg7ICsramopIHsKKyAgICAgIHZhciBhcmcgPSBhcmdzW2pqXTsKKyAg
ICAgIGlmIChhcmdbMF0gPT0gJy0nKSB7CisgICAgICAgIGlmIChhcmdbMV0gIT0gJy0nKSB7Cisg
ICAgICAgICAgdGhyb3cgKCJiYWQgb3B0aW9uIGF0IGluICIgKyB1cmwgKyAiOiIgKyBsaW5lTnVt
ICsgIjogIiArIGFyZyk7CisgICAgICAgIH0KKyAgICAgICAgdmFyIG9wdGlvbiA9IGFyZy5zdWJz
dHJpbmcoMik7CisgICAgICAgIHN3aXRjaCAob3B0aW9uKSB7CisgICAgICAgICAgLy8gbm8gYXJn
dW1lbnQgb3B0aW9ucy4KKyAgICAgICAgICBjYXNlICdzbG93JzoKKyAgICAgICAgICAgIHRlc3RP
cHRpb25zW3RvQ2FtZWxDYXNlKG9wdGlvbildID0gdHJ1ZTsKKyAgICAgICAgICAgIGJyZWFrOwor
ICAgICAgICAgIC8vIG9uZSBhcmd1bWVudCBvcHRpb25zLgorICAgICAgICAgIGNhc2UgJ21pbi12
ZXJzaW9uJzoKKyAgICAgICAgICAgICsramo7CisgICAgICAgICAgICB0ZXN0T3B0aW9uc1t0b0Nh
bWVsQ2FzZShvcHRpb24pXSA9IGFyZ3NbampdOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAg
ICAgZGVmYXVsdDoKKyAgICAgICAgICAgIHRocm93ICgiYmFkIHVua25vd24gb3B0aW9uICciICsg
b3B0aW9uICsgIicgYXQgaW4gIiArIHVybCArICI6IiArIGxpbmVOdW0gKyAiOiAiICsgYXJnKTsK
KyAgICAgICAgfQorICAgICAgfSBlbHNlIHsKKyAgICAgICAgbm9uT3B0aW9ucy5wdXNoKGFyZyk7
CisgICAgICB9CisgICAgfQorICAgIHZhciB1cmwgPSBwcmVmaXggKyBub25PcHRpb25zLmpvaW4o
IiAiKTsKKworICAgIGlmICh1cmwuc3Vic3RyKHVybC5sZW5ndGggLSA0KSAhPSAnLnR4dCcpIHsK
KyAgICAgIHZhciBtaW5WZXJzaW9uID0gdGVzdE9wdGlvbnMubWluVmVyc2lvbjsKKyAgICAgIGlm
ICghbWluVmVyc2lvbikgeworICAgICAgICBtaW5WZXJzaW9uID0gaGllcmFyY2hpY2FsT3B0aW9u
cy5kZWZhdWx0VmVyc2lvbjsKKyAgICAgIH0KKyAgICAgIHZhciBzbG93ID0gdGVzdE9wdGlvbnMu
c2xvdzsKKyAgICAgIGlmICghc2xvdykgeworICAgICAgICBzbG93ID0gaGllcmFyY2hpY2FsT3B0
aW9ucy5kZWZhdWx0U2xvdzsKKyAgICAgIH0KKworICAgICAgaWYgKGdsb2JhbE9wdGlvbnMuZmFz
dCAmJiBzbG93KSB7CisgICAgICAgIHVzZVRlc3QgPSBmYWxzZTsKKyAgICAgIH0gZWxzZSBpZiAo
Z2xvYmFsT3B0aW9ucy5taW5WZXJzaW9uKSB7CisgICAgICAgIHVzZVRlc3QgPSBncmVhdGVyVGhh
bk9yRXF1YWxUb1ZlcnNpb24obWluVmVyc2lvbiwgZ2xvYmFsT3B0aW9ucy5taW5WZXJzaW9uKTsK
KyAgICAgIH0gZWxzZSB7CisgICAgICAgIHVzZVRlc3QgPSBncmVhdGVyVGhhbk9yRXF1YWxUb1Zl
cnNpb24oZ2xvYmFsT3B0aW9ucy52ZXJzaW9uLCBtaW5WZXJzaW9uKTsKKyAgICAgIH0KKyAgICB9
CisKKyAgICBpZiAoIXVzZVRlc3QpIHsKKyAgICAgIGNhbGxiYWNrKHRydWUsIFtdKTsKKyAgICAg
IHJldHVybjsKKyAgICB9CisKKyAgICBpZiAodXJsLnN1YnN0cih1cmwubGVuZ3RoIC0gNCkgPT0g
Jy50eHQnKSB7CisgICAgICAvLyBJZiBhIHZlcnNpb24gd2FzIGV4cGxpY2l0eSBzcGVjaWZpZWQg
cGFzcyBpdCBkb3duLgorICAgICAgaWYgKHRlc3RPcHRpb25zLm1pblZlcnNpb24pIHsKKyAgICAg
ICAgaGllcmFyY2hpY2FsT3B0aW9ucy5kZWZhdWx0VmVyc2lvbiA9IHRlc3RPcHRpb25zLm1pblZl
cnNpb247CisgICAgICB9CisgICAgICBpZiAodGVzdE9wdGlvbnMuc2xvdykgeworICAgICAgICBo
aWVyYXJjaGljYWxPcHRpb25zLmRlZmF1bHRTbG93ID0gdGVzdE9wdGlvbnMuc2xvdzsKKyAgICAg
IH0KKyAgICAgIGxvYWRUZXh0RmlsZUFzeW5jaHJvbm91cyh1cmwsIGZ1bmN0aW9uKCkgeworICAg
ICAgICByZXR1cm4gZnVuY3Rpb24oc3VjY2VzcywgdGV4dCkgeworICAgICAgICAgIGlmICghc3Vj
Y2VzcykgeworICAgICAgICAgICAgY2FsbGJhY2soZmFsc2UsICcnKTsKKyAgICAgICAgICAgIHJl
dHVybjsKKyAgICAgICAgICB9CisgICAgICAgICAgdmFyIGxpbmVzID0gdGV4dC5zcGxpdCgnXG4n
KTsKKyAgICAgICAgICB2YXIgcHJlZml4ID0gJyc7CisgICAgICAgICAgdmFyIGxhc3RTbGFzaCA9
IHVybC5sYXN0SW5kZXhPZignLycpOworICAgICAgICAgIGlmIChsYXN0U2xhc2ggPj0gMCkgewor
ICAgICAgICAgICAgcHJlZml4ID0gdXJsLnN1YnN0cigwLCBsYXN0U2xhc2ggKyAxKTsKKyAgICAg
ICAgICB9CisgICAgICAgICAgdmFyIGZhaWwgPSBmYWxzZTsKKyAgICAgICAgICB2YXIgY291bnQg
PSAxOworICAgICAgICAgIHZhciBpbmRleCA9IDA7CisgICAgICAgICAgZm9yICh2YXIgaWkgPSAw
OyBpaSA8IGxpbmVzLmxlbmd0aDsgKytpaSkgeworICAgICAgICAgICAgdmFyIHN0ciA9IGxpbmVz
W2lpXS5yZXBsYWNlKC9eXHNccyovLCAnJykucmVwbGFjZSgvXHNccyokLywgJycpOworICAgICAg
ICAgICAgaWYgKHN0ci5sZW5ndGggPiA0ICYmCisgICAgICAgICAgICAgICAgc3RyWzBdICE9ICcj
JyAmJgorICAgICAgICAgICAgICAgIHN0clswXSAhPSAiOyIgJiYKKyAgICAgICAgICAgICAgICBz
dHIuc3Vic3RyKDAsIDIpICE9ICIvLyIpIHsKKyAgICAgICAgICAgICAgKytjb3VudDsKKyAgICAg
ICAgICAgICAgZ2V0RmlsZUxpc3RJbXBsKHByZWZpeCwgc3RyLCBpaSArIDEsIGNvcHlPYmplY3Qo
aGllcmFyY2hpY2FsT3B0aW9ucyksIGZ1bmN0aW9uKGluZGV4KSB7CisgICAgICAgICAgICAgICAg
cmV0dXJuIGZ1bmN0aW9uKHN1Y2Nlc3MsIG5ld19maWxlcykgeworICAgICAgICAgICAgICAgICAg
Ly9sb2coImdvdCBmaWxlczogIiArIG5ld19maWxlcy5sZW5ndGgpOworICAgICAgICAgICAgICAg
ICAgaWYgKHN1Y2Nlc3MpIHsKKyAgICAgICAgICAgICAgICAgICAgZmlsZXNbaW5kZXhdID0gbmV3
X2ZpbGVzOworICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgZmluaXNoKHN1
Y2Nlc3MpOworICAgICAgICAgICAgICAgIH07CisgICAgICAgICAgICAgIH0oaW5kZXgrKykpOwor
ICAgICAgICAgICAgfQorICAgICAgICAgIH0KKyAgICAgICAgICBmaW5pc2godHJ1ZSk7CisKKyAg
ICAgICAgICBmdW5jdGlvbiBmaW5pc2goc3VjY2VzcykgeworICAgICAgICAgICAgaWYgKCFzdWNj
ZXNzKSB7CisgICAgICAgICAgICAgIGZhaWwgPSB0cnVlOworICAgICAgICAgICAgfQorICAgICAg
ICAgICAgLS1jb3VudDsKKyAgICAgICAgICAgIC8vbG9nKCJjb3VudDogIiArIGNvdW50KTsKKyAg
ICAgICAgICAgIGlmICghY291bnQpIHsKKyAgICAgICAgICAgICAgY2FsbGJhY2soIWZhaWwsIGZp
bGVzKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgIH0oKSk7
CisgICAgfSBlbHNlIHsKKyAgICAgIGZpbGVzLnB1c2godXJsKTsKKyAgICAgIGNhbGxiYWNrKHRy
dWUsIGZpbGVzKTsKKyAgICB9CisgIH07CisKKyAgZ2V0RmlsZUxpc3RJbXBsKCcnLCB1cmwsIDEs
IGdsb2JhbE9wdGlvbnMsIGZ1bmN0aW9uKHN1Y2Nlc3MsIGZpbGVzKSB7CisgICAgLy8gZmxhdHRl
bgorICAgIHZhciBmbGF0ID0gW107CisgICAgZmxhdHRlbihmaWxlcyk7CisgICAgZnVuY3Rpb24g
ZmxhdHRlbihmaWxlcykgeworICAgICAgZm9yICh2YXIgaWkgPSAwOyBpaSA8IGZpbGVzLmxlbmd0
aDsgKytpaSkgeworICAgICAgICB2YXIgdmFsdWUgPSBmaWxlc1tpaV07CisgICAgICAgIGlmICh0
eXBlb2YodmFsdWUpID09ICJzdHJpbmciKSB7CisgICAgICAgICAgZmxhdC5wdXNoKHZhbHVlKTsK
KyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICBmbGF0dGVuKHZhbHVlKTsKKyAgICAgICAgfQor
ICAgICAgfQorICAgIH0KKyAgICBjYWxsYmFjayhzdWNjZXNzLCBmbGF0KTsKKyAgfSk7Cit9Owor
Cit2YXIgRmlsdGVyVVJMID0gKGZ1bmN0aW9uKCkgeworICB2YXIgcHJlZml4ID0gd2luZG93Lmxv
Y2F0aW9uLnBhdGhuYW1lOworICBwcmVmaXggPSBwcmVmaXguc3Vic3RyaW5nKDAsIHByZWZpeC5s
YXN0SW5kZXhPZigiLyIpICsgMSk7CisgIHJldHVybiBmdW5jdGlvbih1cmwpIHsKKyAgICBpZiAo
dXJsLnN1YnN0cmluZygwLCBwcmVmaXgubGVuZ3RoKSA9PSBwcmVmaXgpIHsKKyAgICAgIHVybCA9
IHVybC5zdWJzdHJpbmcocHJlZml4Lmxlbmd0aCk7CisgICAgfQorICAgIHJldHVybiB1cmw7Cisg
IH07Cit9KCkpOworCit2YXIgVGVzdEZpbGUgPSBmdW5jdGlvbih1cmwpIHsKKyAgdGhpcy51cmwg
PSB1cmw7Cit9OworCit2YXIgVGVzdCA9IGZ1bmN0aW9uKGZpbGUpIHsKKyAgdGhpcy5maWxlID0g
ZmlsZTsKK307CisKK3ZhciBUZXN0SGFybmVzcyA9IGZ1bmN0aW9uKGlmcmFtZSwgZmlsZWxpc3RV
cmwsIHJlcG9ydEZ1bmMsIG9wdGlvbnMpIHsKKyAgdGhpcy53aW5kb3cgPSB3aW5kb3c7CisgIHRo
aXMuaWZyYW1lcyA9IGlmcmFtZS5sZW5ndGggPyBpZnJhbWUgOiBbaWZyYW1lXTsKKyAgdGhpcy5y
ZXBvcnRGdW5jID0gcmVwb3J0RnVuYzsKKyAgdGhpcy50aW1lb3V0RGVsYXkgPSAyMDAwMDsKKyAg
dGhpcy5maWxlcyA9IFtdOworCisgIHZhciB0aGF0ID0gdGhpczsKKyAgZ2V0RmlsZUxpc3QoZmls
ZWxpc3RVcmwsIGZ1bmN0aW9uKCkgeworICAgIHJldHVybiBmdW5jdGlvbihzdWNjZXNzLCBmaWxl
cykgeworICAgICAgdGhhdC5hZGRGaWxlc18oc3VjY2VzcywgZmlsZXMpOworICAgIH07CisgIH0o
KSwgb3B0aW9ucyk7CisKK307CisKK1Rlc3RIYXJuZXNzLnJlcG9ydFR5cGUgPSB7CisgIEFERF9Q
QUdFOiAxLAorICBSRUFEWTogMiwKKyAgU1RBUlRfUEFHRTogMywKKyAgVEVTVF9SRVNVTFQ6IDQs
CisgIEZJTklTSF9QQUdFOiA1LAorICBGSU5JU0hFRF9BTExfVEVTVFM6IDYKK307CisKK1Rlc3RI
YXJuZXNzLnByb3RvdHlwZS5hZGRGaWxlc18gPSBmdW5jdGlvbihzdWNjZXNzLCBmaWxlcykgewor
ICBpZiAoIXN1Y2Nlc3MpIHsKKyAgICB0aGlzLnJlcG9ydEZ1bmMoCisgICAgICAgIFRlc3RIYXJu
ZXNzLnJlcG9ydFR5cGUuRklOSVNIRURfQUxMX1RFU1RTLAorICAgICAgICAnJywKKyAgICAgICAg
J1VuYWJsZSB0byBsb2FkIHRlc3RzLiBBcmUgeW91IHJ1bm5pbmcgbG9jYWxseT9cbicgKworICAg
ICAgICAnWW91IG5lZWQgdG8gcnVuIGZyb20gYSBzZXJ2ZXIgb3IgY29uZmlndXJlIHlvdXJcbicg
KworICAgICAgICAnYnJvd3NlciB0byBhbGxvdyBhY2Nlc3MgdG8gbG9jYWwgZmlsZXMgKG5vdCBy
ZWNvbW1lbmRlZCkuXG5cbicgKworICAgICAgICAnTm90ZTogQW4gZWFzeSB3YXkgdG8gcnVuIGZy
b20gYSBzZXJ2ZXI6XG5cbicgKworICAgICAgICAnXHRjZCBwYXRoX3RvX3Rlc3RzXG4nICsKKyAg
ICAgICAgJ1x0cHl0aG9uIC1tIFNpbXBsZUhUVFBTZXJ2ZXJcblxuJyArCisgICAgICAgICd0aGVu
IHBvaW50IHlvdXIgYnJvd3NlciB0byAnICsKKyAgICAgICAgICAnPGEgaHJlZj0iaHR0cDovL2xv
Y2FsaG9zdDo4MDAwL3dlYmdsLWNvbmZvcm1hbmNlLXRlc3RzLmh0bWwiPicgKworICAgICAgICAg
ICdodHRwOi8vbG9jYWxob3N0OjgwMDAvd2ViZ2wtY29uZm9ybWFuY2UtdGVzdHMuaHRtbDwvYT4n
LAorICAgICAgICBmYWxzZSkKKyAgICByZXR1cm47CisgIH0KKyAgbG9nKCJ0b3RhbCBmaWxlczog
IiArIGZpbGVzLmxlbmd0aCk7CisgIGZvciAodmFyIGlpID0gMDsgaWkgPCBmaWxlcy5sZW5ndGg7
ICsraWkpIHsKKyAgICBsb2coIiIgKyBpaSArICI6ICIgKyBmaWxlc1tpaV0pOworICAgIHRoaXMu
ZmlsZXMucHVzaChuZXcgVGVzdEZpbGUoZmlsZXNbaWldKSk7CisgICAgdGhpcy5yZXBvcnRGdW5j
KFRlc3RIYXJuZXNzLnJlcG9ydFR5cGUuQUREX1BBR0UsICcnLCBmaWxlc1tpaV0sIHVuZGVmaW5l
ZCk7CisgIH0KKyAgdGhpcy5yZXBvcnRGdW5jKFRlc3RIYXJuZXNzLnJlcG9ydFR5cGUuUkVBRFks
ICcnLCB1bmRlZmluZWQsIHVuZGVmaW5lZCk7Cit9CisKK1Rlc3RIYXJuZXNzLnByb3RvdHlwZS5y
dW5UZXN0cyA9IGZ1bmN0aW9uKG9wdF9vcHRpb25zKSB7CisgIHZhciBvcHRpb25zID0gb3B0X29w
dGlvbnMgfHwgeyB9OworICBvcHRpb25zLnN0YXJ0ID0gb3B0aW9ucy5zdGFydCB8fCAwOworICBv
cHRpb25zLmNvdW50ID0gb3B0aW9ucy5jb3VudCB8fCB0aGlzLmZpbGVzLmxlbmd0aDsKKworICB0
aGlzLmlkbGVJRnJhbWVzID0gdGhpcy5pZnJhbWVzLnNsaWNlKDApOworICB0aGlzLnJ1bm5pbmdU
ZXN0cyA9IHt9OworICB2YXIgdGVzdHNUb1J1biA9IFtdOworICBmb3IgKHZhciBpaSA9IDA7IGlp
IDwgb3B0aW9ucy5jb3VudDsgKytpaSkgeworICAgIHRlc3RzVG9SdW4ucHVzaChpaSArIG9wdGlv
bnMuc3RhcnQpOworICB9CisgIHRoaXMubnVtVGVzdHNSZW1haW5pbmcgPSBvcHRpb25zLmNvdW50
OworICB0aGlzLnRlc3RzVG9SdW4gPSB0ZXN0c1RvUnVuOworICB0aGlzLnN0YXJ0TmV4dFRlc3Qo
KTsKK307CisKK1Rlc3RIYXJuZXNzLnByb3RvdHlwZS5zZXRUaW1lb3V0ID0gZnVuY3Rpb24odGVz
dCkgeworICB2YXIgdGhhdCA9IHRoaXM7CisgIHRlc3QudGltZW91dElkID0gdGhpcy53aW5kb3cu
c2V0VGltZW91dChmdW5jdGlvbigpIHsKKyAgICAgIHRoYXQudGltZW91dCh0ZXN0KTsKKyAgICB9
LCB0aGlzLnRpbWVvdXREZWxheSk7Cit9OworCitUZXN0SGFybmVzcy5wcm90b3R5cGUuY2xlYXJU
aW1lb3V0ID0gZnVuY3Rpb24odGVzdCkgeworICB0aGlzLndpbmRvdy5jbGVhclRpbWVvdXQodGVz
dC50aW1lb3V0SWQpOworfTsKKworVGVzdEhhcm5lc3MucHJvdG90eXBlLnN0YXJ0TmV4dFRlc3Qg
PSBmdW5jdGlvbigpIHsKKyAgaWYgKHRoaXMubnVtVGVzdHNSZW1haW5pbmcgPT0gMCkgeworICAg
IGxvZygiZG9uZSIpOworICAgIHRoaXMucmVwb3J0RnVuYyhUZXN0SGFybmVzcy5yZXBvcnRUeXBl
LkZJTklTSEVEX0FMTF9URVNUUywKKyAgICAgICAgICAgICAgICAgICAgJycsICcnLCB0cnVlKTsK
KyAgfSBlbHNlIHsKKyAgICB3aGlsZSAodGhpcy50ZXN0c1RvUnVuLmxlbmd0aCA+IDAgJiYgdGhp
cy5pZGxlSUZyYW1lcy5sZW5ndGggPiAwKSB7CisgICAgICB2YXIgdGVzdElkID0gdGhpcy50ZXN0
c1RvUnVuLnNoaWZ0KCk7CisgICAgICB2YXIgaWZyYW1lID0gdGhpcy5pZGxlSUZyYW1lcy5zaGlm
dCgpOworICAgICAgdGhpcy5zdGFydFRlc3QoaWZyYW1lLCB0aGlzLmZpbGVzW3Rlc3RJZF0pOwor
ICAgIH0KKyAgfQorfTsKKworVGVzdEhhcm5lc3MucHJvdG90eXBlLnN0YXJ0VGVzdCA9IGZ1bmN0
aW9uKGlmcmFtZSwgdGVzdEZpbGUpIHsKKyAgdmFyIHRlc3QgPSB7CisgICAgaWZyYW1lOiBpZnJh
bWUsCisgICAgdGVzdEZpbGU6IHRlc3RGaWxlCisgIH07CisgIHZhciB1cmwgPSB0ZXN0RmlsZS51
cmw7CisgIHRoaXMucnVubmluZ1Rlc3RzW3VybF0gPSB0ZXN0OworICBsb2coImxvYWRpbmc6ICIg
KyB1cmwpOworICBpZiAodGhpcy5yZXBvcnRGdW5jKFRlc3RIYXJuZXNzLnJlcG9ydFR5cGUuU1RB
UlRfUEFHRSwgdXJsLCB1cmwsIHVuZGVmaW5lZCkpIHsKKyAgICBpZnJhbWUuc3JjID0gdXJsOwor
ICAgIHRoaXMuc2V0VGltZW91dCh0ZXN0KTsKKyAgfSBlbHNlIHsKKyAgICB0aGlzLnJlcG9ydFJl
c3VsdHModXJsLCBmYWxzZSwgInNraXBwZWQiKTsKKyAgICB0aGlzLm5vdGlmeUZpbmlzaGVkKHVy
bCk7CisgIH0KK307CisKK1Rlc3RIYXJuZXNzLnByb3RvdHlwZS5nZXRUZXN0ID0gZnVuY3Rpb24o
dXJsKSB7CisgIHZhciB0ZXN0ID0gdGhpcy5ydW5uaW5nVGVzdHNbRmlsdGVyVVJMKHVybCldOwor
ICBpZiAoIXRlc3QpIHsKKyAgICB0aHJvdygidW5rbm93biB0ZXN0OiIgKyB1cmwpOworICB9Cisg
IHJldHVybiB0ZXN0OworfTsKKworVGVzdEhhcm5lc3MucHJvdG90eXBlLnJlcG9ydFJlc3VsdHMg
PSBmdW5jdGlvbih1cmwsIHN1Y2Nlc3MsIG1zZykgeworICB1cmwgPSBGaWx0ZXJVUkwodXJsKTsK
KyAgdmFyIHRlc3QgPSB0aGlzLmdldFRlc3QodXJsKTsKKyAgdGhpcy5jbGVhclRpbWVvdXQodGVz
dCk7CisgIGxvZyhzdWNjZXNzID8gIlBBU1MiIDogIkZBSUwiLCBtc2cpOworICB0aGlzLnJlcG9y
dEZ1bmMoVGVzdEhhcm5lc3MucmVwb3J0VHlwZS5URVNUX1JFU1VMVCwgdXJsLCBtc2csIHN1Y2Nl
c3MpOworICAvLyBGb3IgZWFjaCByZXN1bHQgd2UgZ2V0LCByZXNldCB0aGUgdGltZW91dAorICB0
aGlzLnNldFRpbWVvdXQodGVzdCk7Cit9OworCitUZXN0SGFybmVzcy5wcm90b3R5cGUuZGVxdWVU
ZXN0ID0gZnVuY3Rpb24odGVzdCkgeworICB0aGlzLmNsZWFyVGltZW91dCh0ZXN0KTsKKyAgdGhp
cy5pZGxlSUZyYW1lcy5wdXNoKHRlc3QuaWZyYW1lKTsKKyAgZGVsZXRlIHRoaXMucnVubmluZ1Rl
c3RzW3Rlc3QudGVzdEZpbGUudXJsXTsKKyAgLS10aGlzLm51bVRlc3RzUmVtYWluaW5nOworfQor
CitUZXN0SGFybmVzcy5wcm90b3R5cGUubm90aWZ5RmluaXNoZWQgPSBmdW5jdGlvbih1cmwpIHsK
KyAgdXJsID0gRmlsdGVyVVJMKHVybCk7CisgIHZhciB0ZXN0ID0gdGhpcy5nZXRUZXN0KHVybCk7
CisgIGxvZyh1cmwgKyAiOiBmaW5pc2hlZCIpOworICB0aGlzLmRlcXVlVGVzdCh0ZXN0KTsKKyAg
dGhpcy5yZXBvcnRGdW5jKFRlc3RIYXJuZXNzLnJlcG9ydFR5cGUuRklOSVNIX1BBR0UsIHVybCwg
dXJsLCB0cnVlKTsKKyAgdGhpcy5zdGFydE5leHRUZXN0KCk7Cit9OworCitUZXN0SGFybmVzcy5w
cm90b3R5cGUudGltZW91dCA9IGZ1bmN0aW9uKHRlc3QpIHsKKyAgdGhpcy5kZXF1ZVRlc3QodGVz
dCk7CisgIHZhciB1cmwgPSB0ZXN0LnRlc3RGaWxlLnVybDsKKyAgbG9nKHVybCArICI6IHRpbWVv
dXQiKTsKKyAgdGhpcy5yZXBvcnRGdW5jKFRlc3RIYXJuZXNzLnJlcG9ydFR5cGUuRklOSVNIX1BB
R0UsIHVybCwgdXJsLCB1bmRlZmluZWQpOworICB0aGlzLnN0YXJ0TmV4dFRlc3QoKTsKK307CisK
K1Rlc3RIYXJuZXNzLnByb3RvdHlwZS5zZXRUaW1lb3V0RGVsYXkgPSBmdW5jdGlvbih4KSB7Cisg
IHRoaXMudGltZW91dERlbGF5ID0geDsKK307CisKK3JldHVybiB7CisgICAgJ1Rlc3RIYXJuZXNz
JzogVGVzdEhhcm5lc3MKKyAgfTsKKworfSgpOworCisKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMgYi9MYXlvdXRU
ZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcwpuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YTgzZjdhYjAzMDhlNzNmOTE0NTkzNzM0M2RjN2U5MDdhYWMyNjVhCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhh
cm5lc3MuanMKQEAgLTAsMCArMSw1NiBAQAorInVzZSBzdHJpY3QiOworKGZ1bmN0aW9uKCkgewor
ICB2YXIgbnVtRmFpbHVyZXMgPSAwOworCisgIGlmICh3aW5kb3cudGVzdFJ1bm5lciAmJiAhd2lu
ZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgd2luZG93LmxheW91dFRlc3RDb250cm9s
bGVyID0gd2luZG93LnRlc3RSdW5uZXI7CisgIH0KKworICBpZiAod2luZG93LmxheW91dFRlc3RD
b250cm9sbGVyKSB7CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIub3ZlcnJpZGVQcmVmZXJlbmNl
KCJXZWJLaXRXZWJHTEVuYWJsZWQiLCAiMSIpOworICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1
bXBBc1RleHQoKTsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7CisK
KyAgICAvLyBUdXJuIG9mZiBjb25zb2xlIG1lc3NhZ2VzIGJlY2F1c2UgZm9yIHRoZSBXZWJHTCB0
ZXN0cyB0aGV5IGFyZQorICAgIC8vIEdQVSBjYXBhYmlsaXR5IGRlcGVuZGVudC4KKyAgICB3aW5k
b3cuY29uc29sZS5sb2cgPSBmdW5jdGlvbigpIHsgfTsKKyAgICB3aW5kb3cuY29uc29sZS5lcnJv
ciA9IGZ1bmN0aW9uKCkgeyB9OworICB9CisKKworICBpZiAod2luZG93LmludGVybmFscykgewor
ICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0V2ViR0xFcnJvcnNUb0NvbnNvbGVFbmFi
bGVkKGZhbHNlKTsKKyAgfQorCisgIHZhciBsb2cgPSBmdW5jdGlvbihtc2csIGNvbG9yKSB7Cisg
ICAgdmFyIGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOworICAgIGRpdi5hcHBl
bmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShtc2cpKTsKKyAgICBpZiAoY29sb3IpIHsK
KyAgICAgIGRpdi5zdHlsZS5jb2xvciA9IGNvbG9yOworICAgIH0KKyAgICBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicmVzdWx0IikuYXBwZW5kQ2hpbGQoZGl2KTsKKyAgfTsKKworICB3aW5kb3cu
d2ViZ2xUZXN0SGFybmVzcyA9IHsKKyAgICByZXBvcnRSZXN1bHRzOiBmdW5jdGlvbih1cmwsIHN1
Y2Nlc3MsIG1zZykgeworICAgICAgaWYgKCFzdWNjZXNzKSB7CisgICAgICAgICsrbnVtRmFpbHVy
ZXM7CisgICAgICB9CisgICAgfSwKKworICAgIG5vdGlmeUZpbmlzaGVkOiBmdW5jdGlvbih1cmwp
IHsKKyAgICAgIHZhciBpZnJhbWUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaWZyYW1lIik7
CisgICAgICBpZnJhbWUuaW5uZXJIVE1MID0gIiI7CisgICAgICBpZiAobnVtRmFpbHVyZXMgPiAw
KSB7CisgICAgICAgIGxvZygiRkFJTCIsICJyZWQiKTsKKyAgICAgIH0gZWxzZSB7CisgICAgICAg
IGxvZygiUEFTUyIsICJncmVlbiIpOworICAgICAgfQorCisgICAgICBpZiAod2luZG93LmxheW91
dFRlc3RDb250cm9sbGVyKSB7CisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURv
bmUoKTsKKyAgICAgIH0KKyAgICB9LAorICB9Cit9KCkpOworCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>