<?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>134060</bug_id>
          
          <creation_ts>2014-06-19 06:53:56 -0700</creation_ts>
          <short_desc>Float denormal issue in JavaScript processor node in Web Audio API</short_desc>
          <delta_ts>2014-06-19 09:49:08 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Audio</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac (Intel)</rep_platform>
          <op_sys>OS X 10.8</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Major</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>letz</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>crogers</cc>
    
    <cc>jer.noble</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1016663</commentid>
    <comment_count>0</comment_count>
    <who name="">letz</who>
    <bug_when>2014-06-19 06:53:56 -0700</bug_when>
    <thetext>We successfully compile our C++ audio processing code with emcripten in asm.js to deploy on the web using the WebAudio API , so running the resulting asm.js code in a ScriptProcessorNode in the Web Audio API. 

Our C++ code uses the following denormalized float number protection code (&quot;protection&quot; is needed since denormalized float number computation is awfully slow and has to be avoided): 

#ifdef __SSE__
   #include &lt;xmmintrin.h&gt;
   #ifdef __SSE2__
       #define AVOIDDENORMALS _mm_setcsr(_mm_getcsr() | 0x8040)
   #else
       #define AVOIDDENORMALS _mm_setcsr(_mm_getcsr() | 0x8000)
   #endif
#else
   #define AVOIDDENORMALS
#endif

Basically we add a call at AVOIDDENORMALS before each audio  block processing. It seems this AVOIDDENORMALS is just removed by the emcripten compiler and so we get asm.js code that seems to produce denormalized floats and the speed issue occurs.

The attached &quot;piano.html&quot; page contains a piano physical model that is compiled in asm.js and run as a Web Audio API ScriptProcessorNode. It you hit the &quot;gate&quot; button a sound is played. After some seconds the CPU use (seen in activity monitor on OSX) raises to 100%.

ScriptProcessorNode node takes a lot of time to execute since float denormal issue happens

ScriptProcessorNode should probably be processes in an context where flush denormals to zero is done automatically.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1016664</commentid>
    <comment_count>1</comment_count>
      <attachid>233358</attachid>
    <who name="">letz</who>
    <bug_when>2014-06-19 06:56:38 -0700</bug_when>
    <thetext>Created attachment 233358
Test file that contains a ScripProcessorNode that shows the problem</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>233358</attachid>
            <date>2014-06-19 06:56:38 -0700</date>
            <delta_ts>2014-06-19 06:56:38 -0700</delta_ts>
            <desc>Test file that contains a ScripProcessorNode that shows the problem</desc>
            <filename>piano.html</filename>
            <type>text/html</type>
            <size>1107516</size>
            <attacher>letz</attacher>
            
              <data encoding="base64">PGh0bWw+CjxoZWFkPgo8bWV0YSBjaGFyc2V0PSJVVEYtOCI+CjxzdHlsZSB0eXBlPSJ0ZXh0L2Nz
cyI+CmJvZHkgewoJYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDsKfQoKLyogV0VCS0lUICovCnRl
eHQgewogIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTsKICAtd2Via2l0LXVzZXItc2VsZWN0
OiBub25lOwogIC1raHRtbC11c2VyLXNlbGVjdDogbm9uZTsKICAtbW96LXVzZXItc2VsZWN0OiBu
b25lOwogIC1tcy11c2VyLXNlbGVjdDogbm9uZTsKICB1c2VyLXNlbGVjdDogbm9uZTsKfQoKLmZh
dXN0LWdyb3VwLWxhYmVsIHsKCWZvbnQtZmFtaWx5OiBBcmlhbCwgVmVyZGFuYSwgSGVsdmV0aWNh
LCBzYW5zOwoJZm9udC1zaXplOiAxM3B4OwoJZmlsbDogcmdiYSgxOTksMTkwLDE2MiwwLjYpOwp9
CgouZmF1c3QtdG9vbHRpcC10ZXh0IHsKCWZvbnQtZmFtaWx5OiBBcmlhbCwgVmVyZGFuYSwgSGVs
dmV0aWNhLCBzYW5zOwoJZm9udC1zaXplOiAxM3B4Owp9CgouZmF1c3QtYnV0dG9uLWxhYmVsIHsK
CWZvbnQtZmFtaWx5OiBBcmlhbCwgVmVyZGFuYSwgSGVsdmV0aWNhLCBzYW5zOwoJZm9udC1zaXpl
OiAxM3B4OwoJZmlsbDogcmdiYSgwLDE4MiwyNTMsMC42KTsKfQoKLmZhdXN0LXRncm91cC1sYWJl
bCB7Cglmb250LWZhbWlseTogQXJpYWwsIFZlcmRhbmEsIEhlbHZldGljYSwgc2FuczsKCWZvbnQt
c2l6ZTogMTNweDsKCWZpbGw6IHJnYmEoMCwxODIsMjUzLDAuNik7Cn0KCi5mYXVzdC1sYWJlbCB7
Cglmb250LWZhbWlseTogQXJpYWwsIFZlcmRhbmEsIEhlbHZldGljYSwgc2FuczsKCWZvbnQtc2l6
ZTogMTNweDsKCWZpbGw6IHJnYmEoMCwxODIsMjUzLDAuNik7Cn0KCi5mYXVzdC12YWx1ZS10ZXh0
IHsKCWZvbnQtZmFtaWx5OiBBcmlhbCwgVmVyZGFuYSwgSGVsdmV0aWNhLCBzYW5zOwoJZm9udC1z
aXplOiAxMXB4OwoJZm9udC13ZWlnaHQ6IGJvbGQ7CglmaWxsOiByZ2IoODIsNzksNzkpOwp9Cgpw
YXRoIHsKICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lOwp9CgpyZWN0IHsKICAtd2Via2l0LXVz
ZXItc2VsZWN0OiBub25lOwogIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7CiAgdXNlci1zZWxlY3Q6
IG5vbmU7Cn0KCn0KCmNpcmNsZSB7CiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsKfQoKdGV4
dDpob3ZlciB7CiAgY3Vyc29yOiBkZWZhdWx0Owp9CgpwYXRoLmZhdXN0LXZib3ggewogIGZpbGwg
OiB3aGl0ZTsKICBzdHJva2UgOiBibGFjazsKfQoKcGF0aC5mYXVzdC1yYnV0dG9uLWdyb292ZSB7
CiAgZmlsbCA6IHJnYigxNTIsMjUxLDE1Mik7CiAgc3Ryb2tlIDogYmxhY2s7Cn0KCnBhdGguZmF1
c3QtcmJ1dHRvbi1oYW5kbGUgewogIGZpbGwgOiBncmV5OwogIHN0cm9rZSA6IGJsYWNrOwp9Cgpy
ZWN0LmZhdXN0LWhzbGlkZXItbWV0ZXIgewogIGZpbGwgOiB1cmwoI2hvcml6b250YWxTbGlkZXJN
ZXRlckdyYWRpZW50KTsKICB3aWR0aCA6IDE3NTsKICBoZWlnaHQgOiA0MDsKfQoKcmVjdC5mYXVz
dC1oc2xpZGVyLWdyb292ZSB7CiAgZmlsbCA6IHJnYmEoMjgsMTI2LDE5MiwwLjY1KTsKICBzdHJv
a2UgOiByZ2JhKDAsMTgyLDI1MywwLjkpOwogIHdpZHRoIDogMTc1OwogIGhlaWdodCA6IDQwOwp9
CgpyZWN0LmZhdXN0LWhzbGlkZXItaGFuZGxlIHsKICBmaWxsIDogdXJsKCNob3Jpem9udGFsU2xp
ZGVySGFuZGxlR3JhZGllbnQpOwogIHN0cm9rZSA6IGJsYWNrOwogIHdpZHRoIDogMzA7CiAgaGVp
Z2h0IDogNDA7Cn0KCnJlY3QuZmF1c3QtdnNsaWRlci1tZXRlciB7CiAgZmlsbCA6IHVybCgjdmVy
dGljYWxTbGlkZXJNZXRlckdyYWRpZW50KTsKICBoZWlnaHQgOiAxNzU7CiAgd2lkdGggOiA0MDsK
fQoKcmVjdC5mYXVzdC12c2xpZGVyLWdyb292ZSB7CiAgZmlsbCA6IHJnYmEoMjgsMTI2LDE5Miwg
MC42NSk7CiAgc3Ryb2tlIDogcmdiYSgwLDE4MiwyNTMsMC45KTsKICB3aWR0aCA6IDQwOwogIGhl
aWdodCA6IDE3NTsKfQoKcmVjdC5mYXVzdC12c2xpZGVyLWhhbmRsZSB7CiAgZmlsbCA6IHVybCgj
dmVydGljYWxTbGlkZXJIYW5kbGVHcmFkaWVudCk7CiAgc3Ryb2tlIDogYmxhY2s7CiAgd2lkdGgg
OiA0MDsKICBoZWlnaHQgOiAzMDsKfQoKcmVjdC5mYXVzdC1oYmFyZ3JhcGgtY3VydGFpbiB7CiAg
ZmlsbCA6IHJnYigyMCwyMCwyMCk7CiAgc3Ryb2tlIDogYmxhY2s7CiAgd2lkdGggOiAyMDA7CiAg
aGVpZ2h0IDogMzA7Cn0KCi8vIGhiYXJncmFwaCBtZXRlcnMgY2Fubm90IGJlIGRlZmluZWQgdmlh
IENTUyBiZWNhdXNlIHRoZWlyIHdpZHRocyBhbmQKLy8gaGVpZ2h0cyBhcmUgZHluYW1pYwoKcmVj
dC5mYXVzdC1oYmFyZ3JhcGgtbWV0ZXIgewogIGZpbGwgOiB1cmwoI2hvcml6b250YWxCYXJHcmFw
aE1ldGVyR3JhZGllbnQpOwogIHN0cm9rZSA6IGJsYWNrOwp9CgpyZWN0LmZhdXN0LXZiYXJncmFw
aC1jdXJ0YWluIHsKICBmaWxsIDogcmdiKDIwLDIwLDIwKTsKICBzdHJva2UgOiBibGFjazsKICB3
aWR0aCA6IDMwOwogIGhlaWdodCA6IDIwMDsKfQoKcmVjdC5mYXVzdC12YmFyZ3JhcGgtbWV0ZXIg
ewogIGZpbGwgOiB1cmwoI3ZlcnRpY2FsQmFyR3JhcGhNZXRlckdyYWRpZW50KTsKICBzdHJva2Ug
OiBibGFjazsKfQoKcmVjdC5mYXVzdC1jaGVja2JveC1ib3ggewogIGZpbGwgOiB3aGl0ZTsKICBz
dHJva2UgOiBibGFjazsKICB3aWR0aCA6IDE5OwogIGhlaWdodCA6IDE5Owp9CgpwYXRoLmZhdXN0
LWNoZWNrYm94LWNoZWNrIHsKICBmaWxsIDogYmxhY2s7CiAgc3Ryb2tlIDogYmxhY2s7Cn0KCnJl
Y3QuZmF1c3QtbmVudHJ5LWJveCB7CiAgZmlsbCA6IHVybCgjbnVtZXJpY2FsRW50cnlVcEdyYWRp
ZW50KTsKICBzdHJva2UgOiBibGFjazsKICB3aWR0aCA6IDYwOwogIGhlaWdodCA6IDIwOwp9Cgpw
YXRoLmZhdXN0LW5lbnRyeS1vcGVyYXRpb24gewogIHN0cm9rZSA6IGJsYWNrOwp9CgpyZWN0LmZh
dXN0LWJ1dHRvbi1ib3ggewogIGZpbGwgOiB1cmwoI2J1dHRvblVwR3JhZGllbnQpOwogIHN0cm9r
ZSA6IGJsYWNrOwogIHdpZHRoIDogODA7CiAgaGVpZ2h0IDogNDA7Cn0KCnJlY3QuZmF1c3QtdGdy
b3VwLWJveCB7CiAgZmlsbCA6IHVybCgjdGFiR3JvdXBVcEdyYWRpZW50KTsKICBzdHJva2UgOiBi
bGFjazsKfQoKY2lyY2xlLmZhdXN0LXJidXR0b24tZ3Jvb3ZlIHsKICBmaWxsIDogdXJsKCNyb3Rh
dGluZ0J1dHRvbkhhbmRsZUdyYWRpZW50KTsKfQoKY2lyY2xlLmZhdXN0LXJidXR0b24tZG90IHsK
ICBmaWxsIDogcGluazsKICBzdHJva2UgOiBibGFjazsKfQoKcGF0aC5mYXVzdC1yYnV0dG9uLW1l
dGVyIHsKICBmaWxsIDogcmdiKDUwLDUwLDUwKTsKfQoKcGF0aC5mYXVzdC1yYnV0dG9uLW1ncm9v
dmUgewogIGZpbGwgOiB1cmwoI3JvdGF0aW5nQnV0dG9uTWV0ZXJHcmFkaWVudCk7Cn0KCi8vIGFz
IGFsbCBvZiB0aGUgYWJvdmUgcmVjdGFuZ2xlcyBjb3VsZCBiZSBpbXBsZW1lbnRlZCBhcyBwYXRo
cywgd2UgZHVwbGljYXRlIHRoZSBkZWZpbml0aW9ucyBmb3IgcGF0aHMKCnBhdGguZmF1c3QtaHNs
aWRlci1ncm9vdmUgewogIGZpbGwgOiByZWQ7CiAgc3Ryb2tlIDogYmxhY2s7Cn0KCnBhdGguZmF1
c3QtaHNsaWRlci1oYW5kbGUgewogIGZpbGwgOiB1cmwoI2hvcml6b250YWxTbGlkZXJIYW5kbGVH
cmFkaWVudCk7CiAgc3Ryb2tlIDogYmxhY2s7Cn0KCnBhdGguZmF1c3QtdnNsaWRlci1ncm9vdmUg
ewogIGZpbGwgOiByZWQ7CiAgc3Ryb2tlIDogYmxhY2s7Cn0KCnBhdGguZmF1c3QtdnNsaWRlci1o
YW5kbGUgewogIGZpbGwgOiB1cmwoI3ZlcnRpY2FsU2xpZGVySGFuZGxlR3JhZGllbnQpOwogIHN0
cm9rZSA6IGJsYWNrOwp9CgpwYXRoLmZhdXN0LWhiYXJncmFwaC1jdXJ0YWluIHsKICBmaWxsIDog
cmdiKDAsMjU1LDI1NSk7CiAgc3Ryb2tlIDogYmxhY2s7Cn0KCnBhdGguZmF1c3QtaGJhcmdyYXBo
LW1ldGVyIHsKICBmaWxsIDogZ3JleTsKICBzdHJva2UgOiBibGFjazsKfQoKcGF0aC5mYXVzdC12
YmFyZ3JhcGgtY3VydGFpbiB7CiAgZmlsbCA6IHJnYigwLDI1NSwyNTUpOwogIHN0cm9rZSA6IGJs
YWNrOwp9CgpwYXRoLmZhdXN0LXZiYXJncmFwaC1tZXRlciB7CiAgZmlsbCA6IGdyZXk7CiAgc3Ry
b2tlIDogYmxhY2s7Cn0KCnBhdGguZmF1c3QtY2hlY2tib3gtYm94IHsKICBmaWxsIDogd2hpdGU7
CiAgc3Ryb2tlIDogYmxhY2s7Cn0KCnBhdGguZmF1c3QtbmVudHJ5LWJveCB7CiAgZmlsbCA6IHVy
bCgjbnVtZXJpY2FsRW50cnlVcEdyYWRpZW50KTsKICBzdHJva2UgOiBibGFjazsKfQoKcGF0aC5m
YXVzdC1idXR0b24tYm94IHsKICBmaWxsIDogI0IwQjBCMDsKICBzdHJva2UgOiBibGFjazsKfQo8
L3N0eWxlPgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Ci8qISBqUXVlcnkgdjEuNy4x
IGpxdWVyeS5jb20gfCBqcXVlcnkub3JnL2xpY2Vuc2UgKi8KKGZ1bmN0aW9uKGEsYil7ZnVuY3Rp
b24gY3koYSl7cmV0dXJuIGYuaXNXaW5kb3coYSk/YTphLm5vZGVUeXBlPT09OT9hLmRlZmF1bHRW
aWV3fHxhLnBhcmVudFdpbmRvdzohMX1mdW5jdGlvbiBjdihhKXtpZighY2tbYV0pe3ZhciBiPWMu
Ym9keSxkPWYoIjwiK2ErIj4iKS5hcHBlbmRUbyhiKSxlPWQuY3NzKCJkaXNwbGF5Iik7ZC5yZW1v
dmUoKTtpZihlPT09Im5vbmUifHxlPT09IiIpe2NsfHwoY2w9Yy5jcmVhdGVFbGVtZW50KCJpZnJh
bWUiKSxjbC5mcmFtZUJvcmRlcj1jbC53aWR0aD1jbC5oZWlnaHQ9MCksYi5hcHBlbmRDaGlsZChj
bCk7aWYoIWNtfHwhY2wuY3JlYXRlRWxlbWVudCljbT0oY2wuY29udGVudFdpbmRvd3x8Y2wuY29u
dGVudERvY3VtZW50KS5kb2N1bWVudCxjbS53cml0ZSgoYy5jb21wYXRNb2RlPT09IkNTUzFDb21w
YXQiPyI8IWRvY3R5cGUgaHRtbD4iOiIiKSsiPGh0bWw+PGJvZHk+IiksY20uY2xvc2UoKTtkPWNt
LmNyZWF0ZUVsZW1lbnQoYSksY20uYm9keS5hcHBlbmRDaGlsZChkKSxlPWYuY3NzKGQsImRpc3Bs
YXkiKSxiLnJlbW92ZUNoaWxkKGNsKX1ja1thXT1lfXJldHVybiBja1thXX1mdW5jdGlvbiBjdShh
LGIpe3ZhciBjPXt9O2YuZWFjaChjcS5jb25jYXQuYXBwbHkoW10sY3Euc2xpY2UoMCxiKSksZnVu
Y3Rpb24oKXtjW3RoaXNdPWF9KTtyZXR1cm4gY31mdW5jdGlvbiBjdCgpe2NyPWJ9ZnVuY3Rpb24g
Y3MoKXtzZXRUaW1lb3V0KGN0LDApO3JldHVybiBjcj1mLm5vdygpfWZ1bmN0aW9uIGNqKCl7dHJ5
e3JldHVybiBuZXcgYS5BY3RpdmVYT2JqZWN0KCJNaWNyb3NvZnQuWE1MSFRUUCIpfWNhdGNoKGIp
e319ZnVuY3Rpb24gY2koKXt0cnl7cmV0dXJuIG5ldyBhLlhNTEh0dHBSZXF1ZXN0fWNhdGNoKGIp
e319ZnVuY3Rpb24gY2MoYSxjKXthLmRhdGFGaWx0ZXImJihjPWEuZGF0YUZpbHRlcihjLGEuZGF0
YVR5cGUpKTt2YXIgZD1hLmRhdGFUeXBlcyxlPXt9LGcsaCxpPWQubGVuZ3RoLGosaz1kWzBdLGws
bSxuLG8scDtmb3IoZz0xO2c8aTtnKyspe2lmKGc9PT0xKWZvcihoIGluIGEuY29udmVydGVycyl0
eXBlb2YgaD09InN0cmluZyImJihlW2gudG9Mb3dlckNhc2UoKV09YS5jb252ZXJ0ZXJzW2hdKTts
PWssaz1kW2ddO2lmKGs9PT0iKiIpaz1sO2Vsc2UgaWYobCE9PSIqIiYmbCE9PWspe209bCsiICIr
ayxuPWVbbV18fGVbIiogIitrXTtpZighbil7cD1iO2ZvcihvIGluIGUpe2o9by5zcGxpdCgiICIp
O2lmKGpbMF09PT1sfHxqWzBdPT09IioiKXtwPWVbalsxXSsiICIra107aWYocCl7bz1lW29dLG89
PT0hMD9uPXA6cD09PSEwJiYobj1vKTticmVha319fX0hbiYmIXAmJmYuZXJyb3IoIk5vIGNvbnZl
cnNpb24gZnJvbSAiK20ucmVwbGFjZSgiICIsIiB0byAiKSksbiE9PSEwJiYoYz1uP24oYyk6cChv
KGMpKSl9fXJldHVybiBjfWZ1bmN0aW9uIGNiKGEsYyxkKXt2YXIgZT1hLmNvbnRlbnRzLGY9YS5k
YXRhVHlwZXMsZz1hLnJlc3BvbnNlRmllbGRzLGgsaSxqLGs7Zm9yKGkgaW4gZylpIGluIGQmJihj
W2dbaV1dPWRbaV0pO3doaWxlKGZbMF09PT0iKiIpZi5zaGlmdCgpLGg9PT1iJiYoaD1hLm1pbWVU
eXBlfHxjLmdldFJlc3BvbnNlSGVhZGVyKCJjb250ZW50LXR5cGUiKSk7aWYoaClmb3IoaSBpbiBl
KWlmKGVbaV0mJmVbaV0udGVzdChoKSl7Zi51bnNoaWZ0KGkpO2JyZWFrfWlmKGZbMF1pbiBkKWo9
ZlswXTtlbHNle2ZvcihpIGluIGQpe2lmKCFmWzBdfHxhLmNvbnZlcnRlcnNbaSsiICIrZlswXV0p
e2o9aTticmVha31rfHwoaz1pKX1qPWp8fGt9aWYoail7aiE9PWZbMF0mJmYudW5zaGlmdChqKTty
ZXR1cm4gZFtqXX19ZnVuY3Rpb24gY2EoYSxiLGMsZCl7aWYoZi5pc0FycmF5KGIpKWYuZWFjaChi
LGZ1bmN0aW9uKGIsZSl7Y3x8YkUudGVzdChhKT9kKGEsZSk6Y2EoYSsiWyIrKHR5cGVvZiBlPT0i
b2JqZWN0Inx8Zi5pc0FycmF5KGUpP2I6IiIpKyJdIixlLGMsZCl9KTtlbHNlIGlmKCFjJiZiIT1u
dWxsJiZ0eXBlb2YgYj09Im9iamVjdCIpZm9yKHZhciBlIGluIGIpY2EoYSsiWyIrZSsiXSIsYltl
XSxjLGQpO2Vsc2UgZChhLGIpfWZ1bmN0aW9uIGJfKGEsYyl7dmFyIGQsZSxnPWYuYWpheFNldHRp
bmdzLmZsYXRPcHRpb25zfHx7fTtmb3IoZCBpbiBjKWNbZF0hPT1iJiYoKGdbZF0/YTplfHwoZT17
fSkpW2RdPWNbZF0pO2UmJmYuZXh0ZW5kKCEwLGEsZSl9ZnVuY3Rpb24gYiQoYSxjLGQsZSxmLGcp
e2Y9Znx8Yy5kYXRhVHlwZXNbMF0sZz1nfHx7fSxnW2ZdPSEwO3ZhciBoPWFbZl0saT0wLGo9aD9o
Lmxlbmd0aDowLGs9YT09PWJULGw7Zm9yKDtpPGomJihrfHwhbCk7aSsrKWw9aFtpXShjLGQsZSks
dHlwZW9mIGw9PSJzdHJpbmciJiYoIWt8fGdbbF0/bD1iOihjLmRhdGFUeXBlcy51bnNoaWZ0KGwp
LGw9YiQoYSxjLGQsZSxsLGcpKSk7KGt8fCFsKSYmIWdbIioiXSYmKGw9YiQoYSxjLGQsZSwiKiIs
ZykpO3JldHVybiBsfWZ1bmN0aW9uIGJaKGEpe3JldHVybiBmdW5jdGlvbihiLGMpe3R5cGVvZiBi
IT0ic3RyaW5nIiYmKGM9YixiPSIqIik7aWYoZi5pc0Z1bmN0aW9uKGMpKXt2YXIgZD1iLnRvTG93
ZXJDYXNlKCkuc3BsaXQoYlApLGU9MCxnPWQubGVuZ3RoLGgsaSxqO2Zvcig7ZTxnO2UrKyloPWRb
ZV0saj0vXlwrLy50ZXN0KGgpLGomJihoPWguc3Vic3RyKDEpfHwiKiIpLGk9YVtoXT1hW2hdfHxb
XSxpW2o/InVuc2hpZnQiOiJwdXNoIl0oYyl9fX1mdW5jdGlvbiBiQyhhLGIsYyl7dmFyIGQ9Yj09
PSJ3aWR0aCI/YS5vZmZzZXRXaWR0aDphLm9mZnNldEhlaWdodCxlPWI9PT0id2lkdGgiP2J4OmJ5
LGc9MCxoPWUubGVuZ3RoO2lmKGQ+MCl7aWYoYyE9PSJib3JkZXIiKWZvcig7ZzxoO2crKyljfHwo
ZC09cGFyc2VGbG9hdChmLmNzcyhhLCJwYWRkaW5nIitlW2ddKSl8fDApLGM9PT0ibWFyZ2luIj9k
Kz1wYXJzZUZsb2F0KGYuY3NzKGEsYytlW2ddKSl8fDA6ZC09cGFyc2VGbG9hdChmLmNzcyhhLCJi
b3JkZXIiK2VbZ10rIldpZHRoIikpfHwwO3JldHVybiBkKyJweCJ9ZD1ieihhLGIsYik7aWYoZDww
fHxkPT1udWxsKWQ9YS5zdHlsZVtiXXx8MDtkPXBhcnNlRmxvYXQoZCl8fDA7aWYoYylmb3IoO2c8
aDtnKyspZCs9cGFyc2VGbG9hdChmLmNzcyhhLCJwYWRkaW5nIitlW2ddKSl8fDAsYyE9PSJwYWRk
aW5nIiYmKGQrPXBhcnNlRmxvYXQoZi5jc3MoYSwiYm9yZGVyIitlW2ddKyJXaWR0aCIpKXx8MCks
Yz09PSJtYXJnaW4iJiYoZCs9cGFyc2VGbG9hdChmLmNzcyhhLGMrZVtnXSkpfHwwKTtyZXR1cm4g
ZCsicHgifWZ1bmN0aW9uIGJwKGEsYil7Yi5zcmM/Zi5hamF4KHt1cmw6Yi5zcmMsYXN5bmM6ITEs
ZGF0YVR5cGU6InNjcmlwdCJ9KTpmLmdsb2JhbEV2YWwoKGIudGV4dHx8Yi50ZXh0Q29udGVudHx8
Yi5pbm5lckhUTUx8fCIiKS5yZXBsYWNlKGJmLCIvKiQwKi8iKSksYi5wYXJlbnROb2RlJiZiLnBh
cmVudE5vZGUucmVtb3ZlQ2hpbGQoYil9ZnVuY3Rpb24gYm8oYSl7dmFyIGI9Yy5jcmVhdGVFbGVt
ZW50KCJkaXYiKTtiaC5hcHBlbmRDaGlsZChiKSxiLmlubmVySFRNTD1hLm91dGVySFRNTDtyZXR1
cm4gYi5maXJzdENoaWxkfWZ1bmN0aW9uIGJuKGEpe3ZhciBiPShhLm5vZGVOYW1lfHwiIikudG9M
b3dlckNhc2UoKTtiPT09ImlucHV0Ij9ibShhKTpiIT09InNjcmlwdCImJnR5cGVvZiBhLmdldEVs
ZW1lbnRzQnlUYWdOYW1lIT0idW5kZWZpbmVkIiYmZi5ncmVwKGEuZ2V0RWxlbWVudHNCeVRhZ05h
bWUoImlucHV0IiksYm0pfWZ1bmN0aW9uIGJtKGEpe2lmKGEudHlwZT09PSJjaGVja2JveCJ8fGEu
dHlwZT09PSJyYWRpbyIpYS5kZWZhdWx0Q2hlY2tlZD1hLmNoZWNrZWR9ZnVuY3Rpb24gYmwoYSl7
cmV0dXJuIHR5cGVvZiBhLmdldEVsZW1lbnRzQnlUYWdOYW1lIT0idW5kZWZpbmVkIj9hLmdldEVs
ZW1lbnRzQnlUYWdOYW1lKCIqIik6dHlwZW9mIGEucXVlcnlTZWxlY3RvckFsbCE9InVuZGVmaW5l
ZCI/YS5xdWVyeVNlbGVjdG9yQWxsKCIqIik6W119ZnVuY3Rpb24gYmsoYSxiKXt2YXIgYztpZihi
Lm5vZGVUeXBlPT09MSl7Yi5jbGVhckF0dHJpYnV0ZXMmJmIuY2xlYXJBdHRyaWJ1dGVzKCksYi5t
ZXJnZUF0dHJpYnV0ZXMmJmIubWVyZ2VBdHRyaWJ1dGVzKGEpLGM9Yi5ub2RlTmFtZS50b0xvd2Vy
Q2FzZSgpO2lmKGM9PT0ib2JqZWN0IiliLm91dGVySFRNTD1hLm91dGVySFRNTDtlbHNlIGlmKGMh
PT0iaW5wdXQifHxhLnR5cGUhPT0iY2hlY2tib3giJiZhLnR5cGUhPT0icmFkaW8iKXtpZihjPT09
Im9wdGlvbiIpYi5zZWxlY3RlZD1hLmRlZmF1bHRTZWxlY3RlZDtlbHNlIGlmKGM9PT0iaW5wdXQi
fHxjPT09InRleHRhcmVhIiliLmRlZmF1bHRWYWx1ZT1hLmRlZmF1bHRWYWx1ZX1lbHNlIGEuY2hl
Y2tlZCYmKGIuZGVmYXVsdENoZWNrZWQ9Yi5jaGVja2VkPWEuY2hlY2tlZCksYi52YWx1ZSE9PWEu
dmFsdWUmJihiLnZhbHVlPWEudmFsdWUpO2IucmVtb3ZlQXR0cmlidXRlKGYuZXhwYW5kbyl9fWZ1
bmN0aW9uIGJqKGEsYil7aWYoYi5ub2RlVHlwZT09PTEmJiEhZi5oYXNEYXRhKGEpKXt2YXIgYyxk
LGUsZz1mLl9kYXRhKGEpLGg9Zi5fZGF0YShiLGcpLGk9Zy5ldmVudHM7aWYoaSl7ZGVsZXRlIGgu
aGFuZGxlLGguZXZlbnRzPXt9O2ZvcihjIGluIGkpZm9yKGQ9MCxlPWlbY10ubGVuZ3RoO2Q8ZTtk
KyspZi5ldmVudC5hZGQoYixjKyhpW2NdW2RdLm5hbWVzcGFjZT8iLiI6IiIpK2lbY11bZF0ubmFt
ZXNwYWNlLGlbY11bZF0saVtjXVtkXS5kYXRhKX1oLmRhdGEmJihoLmRhdGE9Zi5leHRlbmQoe30s
aC5kYXRhKSl9fWZ1bmN0aW9uIGJpKGEsYil7cmV0dXJuIGYubm9kZU5hbWUoYSwidGFibGUiKT9h
LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJ0Ym9keSIpWzBdfHxhLmFwcGVuZENoaWxkKGEub3duZXJE
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0Ym9keSIpKTphfWZ1bmN0aW9uIFUoYSl7dmFyIGI9Vi5z
cGxpdCgifCIpLGM9YS5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCk7aWYoYy5jcmVhdGVFbGVtZW50
KXdoaWxlKGIubGVuZ3RoKWMuY3JlYXRlRWxlbWVudChiLnBvcCgpKTtyZXR1cm4gY31mdW5jdGlv
biBUKGEsYixjKXtiPWJ8fDA7aWYoZi5pc0Z1bmN0aW9uKGIpKXJldHVybiBmLmdyZXAoYSxmdW5j
dGlvbihhLGQpe3ZhciBlPSEhYi5jYWxsKGEsZCxhKTtyZXR1cm4gZT09PWN9KTtpZihiLm5vZGVU
eXBlKXJldHVybiBmLmdyZXAoYSxmdW5jdGlvbihhLGQpe3JldHVybiBhPT09Yj09PWN9KTtpZih0
eXBlb2YgYj09InN0cmluZyIpe3ZhciBkPWYuZ3JlcChhLGZ1bmN0aW9uKGEpe3JldHVybiBhLm5v
ZGVUeXBlPT09MX0pO2lmKE8udGVzdChiKSlyZXR1cm4gZi5maWx0ZXIoYixkLCFjKTtiPWYuZmls
dGVyKGIsZCl9cmV0dXJuIGYuZ3JlcChhLGZ1bmN0aW9uKGEsZCl7cmV0dXJuIGYuaW5BcnJheShh
LGIpPj0wPT09Y30pfWZ1bmN0aW9uIFMoYSl7cmV0dXJuIWF8fCFhLnBhcmVudE5vZGV8fGEucGFy
ZW50Tm9kZS5ub2RlVHlwZT09PTExfWZ1bmN0aW9uIEsoKXtyZXR1cm4hMH1mdW5jdGlvbiBKKCl7
cmV0dXJuITF9ZnVuY3Rpb24gbihhLGIsYyl7dmFyIGQ9YisiZGVmZXIiLGU9YisicXVldWUiLGc9
YisibWFyayIsaD1mLl9kYXRhKGEsZCk7aCYmKGM9PT0icXVldWUifHwhZi5fZGF0YShhLGUpKSYm
KGM9PT0ibWFyayJ8fCFmLl9kYXRhKGEsZykpJiZzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7IWYuX2Rh
dGEoYSxlKSYmIWYuX2RhdGEoYSxnKSYmKGYucmVtb3ZlRGF0YShhLGQsITApLGguZmlyZSgpKX0s
MCl9ZnVuY3Rpb24gbShhKXtmb3IodmFyIGIgaW4gYSl7aWYoYj09PSJkYXRhIiYmZi5pc0VtcHR5
T2JqZWN0KGFbYl0pKWNvbnRpbnVlO2lmKGIhPT0idG9KU09OIilyZXR1cm4hMX1yZXR1cm4hMH1m
dW5jdGlvbiBsKGEsYyxkKXtpZihkPT09YiYmYS5ub2RlVHlwZT09PTEpe3ZhciBlPSJkYXRhLSIr
Yy5yZXBsYWNlKGssIi0kMSIpLnRvTG93ZXJDYXNlKCk7ZD1hLmdldEF0dHJpYnV0ZShlKTtpZih0
eXBlb2YgZD09InN0cmluZyIpe3RyeXtkPWQ9PT0idHJ1ZSI/ITA6ZD09PSJmYWxzZSI/ITE6ZD09
PSJudWxsIj9udWxsOmYuaXNOdW1lcmljKGQpP3BhcnNlRmxvYXQoZCk6ai50ZXN0KGQpP2YucGFy
c2VKU09OKGQpOmR9Y2F0Y2goZyl7fWYuZGF0YShhLGMsZCl9ZWxzZSBkPWJ9cmV0dXJuIGR9ZnVu
Y3Rpb24gaChhKXt2YXIgYj1nW2FdPXt9LGMsZDthPWEuc3BsaXQoL1xzKy8pO2ZvcihjPTAsZD1h
Lmxlbmd0aDtjPGQ7YysrKWJbYVtjXV09ITA7cmV0dXJuIGJ9dmFyIGM9YS5kb2N1bWVudCxkPWEu
bmF2aWdhdG9yLGU9YS5sb2NhdGlvbixmPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gSigpe2lmKCFlLmlz
UmVhZHkpe3RyeXtjLmRvY3VtZW50RWxlbWVudC5kb1Njcm9sbCgibGVmdCIpfWNhdGNoKGEpe3Nl
dFRpbWVvdXQoSiwxKTtyZXR1cm59ZS5yZWFkeSgpfX12YXIgZT1mdW5jdGlvbihhLGIpe3JldHVy
biBuZXcgZS5mbi5pbml0KGEsYixoKX0sZj1hLmpRdWVyeSxnPWEuJCxoLGk9L14oPzpbXiM8XSoo
PFtcd1xXXSs+KVtePl0qJHwjKFtcd1wtXSopJCkvLGo9L1xTLyxrPS9eXHMrLyxsPS9ccyskLyxt
PS9ePChcdyspXHMqXC8/Pig/OjxcL1wxPik/JC8sbj0vXltcXSw6e31cc10qJC8sbz0vXFwoPzpb
IlxcXC9iZm5ydF18dVswLTlhLWZBLUZdezR9KS9nLHA9LyJbXiJcXFxuXHJdKiJ8dHJ1ZXxmYWxz
ZXxudWxsfC0/XGQrKD86XC5cZCopPyg/OltlRV1bK1wtXT9cZCspPy9nLHE9Lyg/Ol58OnwsKSg/
OlxzKlxbKSsvZyxyPS8od2Via2l0KVsgXC9dKFtcdy5dKykvLHM9LyhvcGVyYSkoPzouKnZlcnNp
b24pP1sgXC9dKFtcdy5dKykvLHQ9Lyhtc2llKSAoW1x3Ll0rKS8sdT0vKG1vemlsbGEpKD86Lio/
IHJ2OihbXHcuXSspKT8vLHY9Ly0oW2Etel18WzAtOV0pL2lnLHc9L14tbXMtLyx4PWZ1bmN0aW9u
KGEsYil7cmV0dXJuKGIrIiIpLnRvVXBwZXJDYXNlKCl9LHk9ZC51c2VyQWdlbnQseixBLEIsQz1P
YmplY3QucHJvdG90eXBlLnRvU3RyaW5nLEQ9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0
eSxFPUFycmF5LnByb3RvdHlwZS5wdXNoLEY9QXJyYXkucHJvdG90eXBlLnNsaWNlLEc9U3RyaW5n
LnByb3RvdHlwZS50cmltLEg9QXJyYXkucHJvdG90eXBlLmluZGV4T2YsST17fTtlLmZuPWUucHJv
dG90eXBlPXtjb25zdHJ1Y3RvcjplLGluaXQ6ZnVuY3Rpb24oYSxkLGYpe3ZhciBnLGgsaixrO2lm
KCFhKXJldHVybiB0aGlzO2lmKGEubm9kZVR5cGUpe3RoaXMuY29udGV4dD10aGlzWzBdPWEsdGhp
cy5sZW5ndGg9MTtyZXR1cm4gdGhpc31pZihhPT09ImJvZHkiJiYhZCYmYy5ib2R5KXt0aGlzLmNv
bnRleHQ9Yyx0aGlzWzBdPWMuYm9keSx0aGlzLnNlbGVjdG9yPWEsdGhpcy5sZW5ndGg9MTtyZXR1
cm4gdGhpc31pZih0eXBlb2YgYT09InN0cmluZyIpe2EuY2hhckF0KDApIT09IjwifHxhLmNoYXJB
dChhLmxlbmd0aC0xKSE9PSI+Inx8YS5sZW5ndGg8Mz9nPWkuZXhlYyhhKTpnPVtudWxsLGEsbnVs
bF07aWYoZyYmKGdbMV18fCFkKSl7aWYoZ1sxXSl7ZD1kIGluc3RhbmNlb2YgZT9kWzBdOmQsaz1k
P2Qub3duZXJEb2N1bWVudHx8ZDpjLGo9bS5leGVjKGEpLGo/ZS5pc1BsYWluT2JqZWN0KGQpPyhh
PVtjLmNyZWF0ZUVsZW1lbnQoalsxXSldLGUuZm4uYXR0ci5jYWxsKGEsZCwhMCkpOmE9W2suY3Jl
YXRlRWxlbWVudChqWzFdKV06KGo9ZS5idWlsZEZyYWdtZW50KFtnWzFdXSxba10pLGE9KGouY2Fj
aGVhYmxlP2UuY2xvbmUoai5mcmFnbWVudCk6ai5mcmFnbWVudCkuY2hpbGROb2Rlcyk7cmV0dXJu
IGUubWVyZ2UodGhpcyxhKX1oPWMuZ2V0RWxlbWVudEJ5SWQoZ1syXSk7aWYoaCYmaC5wYXJlbnRO
b2RlKXtpZihoLmlkIT09Z1syXSlyZXR1cm4gZi5maW5kKGEpO3RoaXMubGVuZ3RoPTEsdGhpc1sw
XT1ofXRoaXMuY29udGV4dD1jLHRoaXMuc2VsZWN0b3I9YTtyZXR1cm4gdGhpc31yZXR1cm4hZHx8
ZC5qcXVlcnk/KGR8fGYpLmZpbmQoYSk6dGhpcy5jb25zdHJ1Y3RvcihkKS5maW5kKGEpfWlmKGUu
aXNGdW5jdGlvbihhKSlyZXR1cm4gZi5yZWFkeShhKTthLnNlbGVjdG9yIT09YiYmKHRoaXMuc2Vs
ZWN0b3I9YS5zZWxlY3Rvcix0aGlzLmNvbnRleHQ9YS5jb250ZXh0KTtyZXR1cm4gZS5tYWtlQXJy
YXkoYSx0aGlzKX0sc2VsZWN0b3I6IiIsanF1ZXJ5OiIxLjcuMSIsbGVuZ3RoOjAsc2l6ZTpmdW5j
dGlvbigpe3JldHVybiB0aGlzLmxlbmd0aH0sdG9BcnJheTpmdW5jdGlvbigpe3JldHVybiBGLmNh
bGwodGhpcywwKX0sZ2V0OmZ1bmN0aW9uKGEpe3JldHVybiBhPT1udWxsP3RoaXMudG9BcnJheSgp
OmE8MD90aGlzW3RoaXMubGVuZ3RoK2FdOnRoaXNbYV19LHB1c2hTdGFjazpmdW5jdGlvbihhLGIs
Yyl7dmFyIGQ9dGhpcy5jb25zdHJ1Y3RvcigpO2UuaXNBcnJheShhKT9FLmFwcGx5KGQsYSk6ZS5t
ZXJnZShkLGEpLGQucHJldk9iamVjdD10aGlzLGQuY29udGV4dD10aGlzLmNvbnRleHQsYj09PSJm
aW5kIj9kLnNlbGVjdG9yPXRoaXMuc2VsZWN0b3IrKHRoaXMuc2VsZWN0b3I/IiAiOiIiKStjOmIm
JihkLnNlbGVjdG9yPXRoaXMuc2VsZWN0b3IrIi4iK2IrIigiK2MrIikiKTtyZXR1cm4gZH0sZWFj
aDpmdW5jdGlvbihhLGIpe3JldHVybiBlLmVhY2godGhpcyxhLGIpfSxyZWFkeTpmdW5jdGlvbihh
KXtlLmJpbmRSZWFkeSgpLEEuYWRkKGEpO3JldHVybiB0aGlzfSxlcTpmdW5jdGlvbihhKXthPSth
O3JldHVybiBhPT09LTE/dGhpcy5zbGljZShhKTp0aGlzLnNsaWNlKGEsYSsxKX0sZmlyc3Q6ZnVu
Y3Rpb24oKXtyZXR1cm4gdGhpcy5lcSgwKX0sbGFzdDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmVx
KC0xKX0sc2xpY2U6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5wdXNoU3RhY2soRi5hcHBseSh0aGlz
LGFyZ3VtZW50cyksInNsaWNlIixGLmNhbGwoYXJndW1lbnRzKS5qb2luKCIsIikpfSxtYXA6ZnVu
Y3Rpb24oYSl7cmV0dXJuIHRoaXMucHVzaFN0YWNrKGUubWFwKHRoaXMsZnVuY3Rpb24oYixjKXty
ZXR1cm4gYS5jYWxsKGIsYyxiKX0pKX0sZW5kOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucHJldk9i
amVjdHx8dGhpcy5jb25zdHJ1Y3RvcihudWxsKX0scHVzaDpFLHNvcnQ6W10uc29ydCxzcGxpY2U6
W10uc3BsaWNlfSxlLmZuLmluaXQucHJvdG90eXBlPWUuZm4sZS5leHRlbmQ9ZS5mbi5leHRlbmQ9
ZnVuY3Rpb24oKXt2YXIgYSxjLGQsZixnLGgsaT1hcmd1bWVudHNbMF18fHt9LGo9MSxrPWFyZ3Vt
ZW50cy5sZW5ndGgsbD0hMTt0eXBlb2YgaT09ImJvb2xlYW4iJiYobD1pLGk9YXJndW1lbnRzWzFd
fHx7fSxqPTIpLHR5cGVvZiBpIT0ib2JqZWN0IiYmIWUuaXNGdW5jdGlvbihpKSYmKGk9e30pLGs9
PT1qJiYoaT10aGlzLC0taik7Zm9yKDtqPGs7aisrKWlmKChhPWFyZ3VtZW50c1tqXSkhPW51bGwp
Zm9yKGMgaW4gYSl7ZD1pW2NdLGY9YVtjXTtpZihpPT09Ziljb250aW51ZTtsJiZmJiYoZS5pc1Bs
YWluT2JqZWN0KGYpfHwoZz1lLmlzQXJyYXkoZikpKT8oZz8oZz0hMSxoPWQmJmUuaXNBcnJheShk
KT9kOltdKTpoPWQmJmUuaXNQbGFpbk9iamVjdChkKT9kOnt9LGlbY109ZS5leHRlbmQobCxoLGYp
KTpmIT09YiYmKGlbY109Zil9cmV0dXJuIGl9LGUuZXh0ZW5kKHtub0NvbmZsaWN0OmZ1bmN0aW9u
KGIpe2EuJD09PWUmJihhLiQ9ZyksYiYmYS5qUXVlcnk9PT1lJiYoYS5qUXVlcnk9Zik7cmV0dXJu
IGV9LGlzUmVhZHk6ITEscmVhZHlXYWl0OjEsaG9sZFJlYWR5OmZ1bmN0aW9uKGEpe2E/ZS5yZWFk
eVdhaXQrKzplLnJlYWR5KCEwKX0scmVhZHk6ZnVuY3Rpb24oYSl7aWYoYT09PSEwJiYhLS1lLnJl
YWR5V2FpdHx8YSE9PSEwJiYhZS5pc1JlYWR5KXtpZighYy5ib2R5KXJldHVybiBzZXRUaW1lb3V0
KGUucmVhZHksMSk7ZS5pc1JlYWR5PSEwO2lmKGEhPT0hMCYmLS1lLnJlYWR5V2FpdD4wKXJldHVy
bjtBLmZpcmVXaXRoKGMsW2VdKSxlLmZuLnRyaWdnZXImJmUoYykudHJpZ2dlcigicmVhZHkiKS5v
ZmYoInJlYWR5Iil9fSxiaW5kUmVhZHk6ZnVuY3Rpb24oKXtpZighQSl7QT1lLkNhbGxiYWNrcygi
b25jZSBtZW1vcnkiKTtpZihjLnJlYWR5U3RhdGU9PT0iY29tcGxldGUiKXJldHVybiBzZXRUaW1l
b3V0KGUucmVhZHksMSk7aWYoYy5hZGRFdmVudExpc3RlbmVyKWMuYWRkRXZlbnRMaXN0ZW5lcigi
RE9NQ29udGVudExvYWRlZCIsQiwhMSksYS5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixlLnJlYWR5
LCExKTtlbHNlIGlmKGMuYXR0YWNoRXZlbnQpe2MuYXR0YWNoRXZlbnQoIm9ucmVhZHlzdGF0ZWNo
YW5nZSIsQiksYS5hdHRhY2hFdmVudCgib25sb2FkIixlLnJlYWR5KTt2YXIgYj0hMTt0cnl7Yj1h
LmZyYW1lRWxlbWVudD09bnVsbH1jYXRjaChkKXt9Yy5kb2N1bWVudEVsZW1lbnQuZG9TY3JvbGwm
JmImJkooKX19fSxpc0Z1bmN0aW9uOmZ1bmN0aW9uKGEpe3JldHVybiBlLnR5cGUoYSk9PT0iZnVu
Y3Rpb24ifSxpc0FycmF5OkFycmF5LmlzQXJyYXl8fGZ1bmN0aW9uKGEpe3JldHVybiBlLnR5cGUo
YSk9PT0iYXJyYXkifSxpc1dpbmRvdzpmdW5jdGlvbihhKXtyZXR1cm4gYSYmdHlwZW9mIGE9PSJv
YmplY3QiJiYic2V0SW50ZXJ2YWwiaW4gYX0saXNOdW1lcmljOmZ1bmN0aW9uKGEpe3JldHVybiFp
c05hTihwYXJzZUZsb2F0KGEpKSYmaXNGaW5pdGUoYSl9LHR5cGU6ZnVuY3Rpb24oYSl7cmV0dXJu
IGE9PW51bGw/U3RyaW5nKGEpOklbQy5jYWxsKGEpXXx8Im9iamVjdCJ9LGlzUGxhaW5PYmplY3Q6
ZnVuY3Rpb24oYSl7aWYoIWF8fGUudHlwZShhKSE9PSJvYmplY3QifHxhLm5vZGVUeXBlfHxlLmlz
V2luZG93KGEpKXJldHVybiExO3RyeXtpZihhLmNvbnN0cnVjdG9yJiYhRC5jYWxsKGEsImNvbnN0
cnVjdG9yIikmJiFELmNhbGwoYS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUsImlzUHJvdG90eXBlT2Yi
KSlyZXR1cm4hMX1jYXRjaChjKXtyZXR1cm4hMX12YXIgZDtmb3IoZCBpbiBhKTtyZXR1cm4gZD09
PWJ8fEQuY2FsbChhLGQpfSxpc0VtcHR5T2JqZWN0OmZ1bmN0aW9uKGEpe2Zvcih2YXIgYiBpbiBh
KXJldHVybiExO3JldHVybiEwfSxlcnJvcjpmdW5jdGlvbihhKXt0aHJvdyBuZXcgRXJyb3IoYSl9
LHBhcnNlSlNPTjpmdW5jdGlvbihiKXtpZih0eXBlb2YgYiE9InN0cmluZyJ8fCFiKXJldHVybiBu
dWxsO2I9ZS50cmltKGIpO2lmKGEuSlNPTiYmYS5KU09OLnBhcnNlKXJldHVybiBhLkpTT04ucGFy
c2UoYik7aWYobi50ZXN0KGIucmVwbGFjZShvLCJAIikucmVwbGFjZShwLCJdIikucmVwbGFjZShx
LCIiKSkpcmV0dXJuKG5ldyBGdW5jdGlvbigicmV0dXJuICIrYikpKCk7ZS5lcnJvcigiSW52YWxp
ZCBKU09OOiAiK2IpfSxwYXJzZVhNTDpmdW5jdGlvbihjKXt2YXIgZCxmO3RyeXthLkRPTVBhcnNl
cj8oZj1uZXcgRE9NUGFyc2VyLGQ9Zi5wYXJzZUZyb21TdHJpbmcoYywidGV4dC94bWwiKSk6KGQ9
bmV3IEFjdGl2ZVhPYmplY3QoIk1pY3Jvc29mdC5YTUxET00iKSxkLmFzeW5jPSJmYWxzZSIsZC5s
b2FkWE1MKGMpKX1jYXRjaChnKXtkPWJ9KCFkfHwhZC5kb2N1bWVudEVsZW1lbnR8fGQuZ2V0RWxl
bWVudHNCeVRhZ05hbWUoInBhcnNlcmVycm9yIikubGVuZ3RoKSYmZS5lcnJvcigiSW52YWxpZCBY
TUw6ICIrYyk7cmV0dXJuIGR9LG5vb3A6ZnVuY3Rpb24oKXt9LGdsb2JhbEV2YWw6ZnVuY3Rpb24o
Yil7YiYmai50ZXN0KGIpJiYoYS5leGVjU2NyaXB0fHxmdW5jdGlvbihiKXthLmV2YWwuY2FsbChh
LGIpfSkoYil9LGNhbWVsQ2FzZTpmdW5jdGlvbihhKXtyZXR1cm4gYS5yZXBsYWNlKHcsIm1zLSIp
LnJlcGxhY2Uodix4KX0sbm9kZU5hbWU6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYS5ub2RlTmFtZSYm
YS5ub2RlTmFtZS50b1VwcGVyQ2FzZSgpPT09Yi50b1VwcGVyQ2FzZSgpfSxlYWNoOmZ1bmN0aW9u
KGEsYyxkKXt2YXIgZixnPTAsaD1hLmxlbmd0aCxpPWg9PT1ifHxlLmlzRnVuY3Rpb24oYSk7aWYo
ZCl7aWYoaSl7Zm9yKGYgaW4gYSlpZihjLmFwcGx5KGFbZl0sZCk9PT0hMSlicmVha31lbHNlIGZv
cig7ZzxoOylpZihjLmFwcGx5KGFbZysrXSxkKT09PSExKWJyZWFrfWVsc2UgaWYoaSl7Zm9yKGYg
aW4gYSlpZihjLmNhbGwoYVtmXSxmLGFbZl0pPT09ITEpYnJlYWt9ZWxzZSBmb3IoO2c8aDspaWYo
Yy5jYWxsKGFbZ10sZyxhW2crK10pPT09ITEpYnJlYWs7cmV0dXJuIGF9LHRyaW06Rz9mdW5jdGlv
bihhKXtyZXR1cm4gYT09bnVsbD8iIjpHLmNhbGwoYSl9OmZ1bmN0aW9uKGEpe3JldHVybiBhPT1u
dWxsPyIiOihhKyIiKS5yZXBsYWNlKGssIiIpLnJlcGxhY2UobCwiIil9LG1ha2VBcnJheTpmdW5j
dGlvbihhLGIpe3ZhciBjPWJ8fFtdO2lmKGEhPW51bGwpe3ZhciBkPWUudHlwZShhKTthLmxlbmd0
aD09bnVsbHx8ZD09PSJzdHJpbmcifHxkPT09ImZ1bmN0aW9uInx8ZD09PSJyZWdleHAifHxlLmlz
V2luZG93KGEpP0UuY2FsbChjLGEpOmUubWVyZ2UoYyxhKX1yZXR1cm4gY30saW5BcnJheTpmdW5j
dGlvbihhLGIsYyl7dmFyIGQ7aWYoYil7aWYoSClyZXR1cm4gSC5jYWxsKGIsYSxjKTtkPWIubGVu
Z3RoLGM9Yz9jPDA/TWF0aC5tYXgoMCxkK2MpOmM6MDtmb3IoO2M8ZDtjKyspaWYoYyBpbiBiJiZi
W2NdPT09YSlyZXR1cm4gY31yZXR1cm4tMX0sbWVyZ2U6ZnVuY3Rpb24oYSxjKXt2YXIgZD1hLmxl
bmd0aCxlPTA7aWYodHlwZW9mIGMubGVuZ3RoPT0ibnVtYmVyIilmb3IodmFyIGY9Yy5sZW5ndGg7
ZTxmO2UrKylhW2QrK109Y1tlXTtlbHNlIHdoaWxlKGNbZV0hPT1iKWFbZCsrXT1jW2UrK107YS5s
ZW5ndGg9ZDtyZXR1cm4gYX0sZ3JlcDpmdW5jdGlvbihhLGIsYyl7dmFyIGQ9W10sZTtjPSEhYztm
b3IodmFyIGY9MCxnPWEubGVuZ3RoO2Y8ZztmKyspZT0hIWIoYVtmXSxmKSxjIT09ZSYmZC5wdXNo
KGFbZl0pO3JldHVybiBkfSxtYXA6ZnVuY3Rpb24oYSxjLGQpe3ZhciBmLGcsaD1bXSxpPTAsaj1h
Lmxlbmd0aCxrPWEgaW5zdGFuY2VvZiBlfHxqIT09YiYmdHlwZW9mIGo9PSJudW1iZXIiJiYoaj4w
JiZhWzBdJiZhW2otMV18fGo9PT0wfHxlLmlzQXJyYXkoYSkpO2lmKGspZm9yKDtpPGo7aSsrKWY9
YyhhW2ldLGksZCksZiE9bnVsbCYmKGhbaC5sZW5ndGhdPWYpO2Vsc2UgZm9yKGcgaW4gYSlmPWMo
YVtnXSxnLGQpLGYhPW51bGwmJihoW2gubGVuZ3RoXT1mKTtyZXR1cm4gaC5jb25jYXQuYXBwbHko
W10saCl9LGd1aWQ6MSxwcm94eTpmdW5jdGlvbihhLGMpe2lmKHR5cGVvZiBjPT0ic3RyaW5nIil7
dmFyIGQ9YVtjXTtjPWEsYT1kfWlmKCFlLmlzRnVuY3Rpb24oYSkpcmV0dXJuIGI7dmFyIGY9Ri5j
YWxsKGFyZ3VtZW50cywyKSxnPWZ1bmN0aW9uKCl7cmV0dXJuIGEuYXBwbHkoYyxmLmNvbmNhdChG
LmNhbGwoYXJndW1lbnRzKSkpfTtnLmd1aWQ9YS5ndWlkPWEuZ3VpZHx8Zy5ndWlkfHxlLmd1aWQr
KztyZXR1cm4gZ30sYWNjZXNzOmZ1bmN0aW9uKGEsYyxkLGYsZyxoKXt2YXIgaT1hLmxlbmd0aDtp
Zih0eXBlb2YgYz09Im9iamVjdCIpe2Zvcih2YXIgaiBpbiBjKWUuYWNjZXNzKGEsaixjW2pdLGYs
ZyxkKTtyZXR1cm4gYX1pZihkIT09Yil7Zj0haCYmZiYmZS5pc0Z1bmN0aW9uKGQpO2Zvcih2YXIg
az0wO2s8aTtrKyspZyhhW2tdLGMsZj9kLmNhbGwoYVtrXSxrLGcoYVtrXSxjKSk6ZCxoKTtyZXR1
cm4gYX1yZXR1cm4gaT9nKGFbMF0sYyk6Yn0sbm93OmZ1bmN0aW9uKCl7cmV0dXJuKG5ldyBEYXRl
KS5nZXRUaW1lKCl9LHVhTWF0Y2g6ZnVuY3Rpb24oYSl7YT1hLnRvTG93ZXJDYXNlKCk7dmFyIGI9
ci5leGVjKGEpfHxzLmV4ZWMoYSl8fHQuZXhlYyhhKXx8YS5pbmRleE9mKCJjb21wYXRpYmxlIik8
MCYmdS5leGVjKGEpfHxbXTtyZXR1cm57YnJvd3NlcjpiWzFdfHwiIix2ZXJzaW9uOmJbMl18fCIw
In19LHN1YjpmdW5jdGlvbigpe2Z1bmN0aW9uIGEoYixjKXtyZXR1cm4gbmV3IGEuZm4uaW5pdChi
LGMpfWUuZXh0ZW5kKCEwLGEsdGhpcyksYS5zdXBlcmNsYXNzPXRoaXMsYS5mbj1hLnByb3RvdHlw
ZT10aGlzKCksYS5mbi5jb25zdHJ1Y3Rvcj1hLGEuc3ViPXRoaXMuc3ViLGEuZm4uaW5pdD1mdW5j
dGlvbihkLGYpe2YmJmYgaW5zdGFuY2VvZiBlJiYhKGYgaW5zdGFuY2VvZiBhKSYmKGY9YShmKSk7
cmV0dXJuIGUuZm4uaW5pdC5jYWxsKHRoaXMsZCxmLGIpfSxhLmZuLmluaXQucHJvdG90eXBlPWEu
Zm47dmFyIGI9YShjKTtyZXR1cm4gYX0sYnJvd3Nlcjp7fX0pLGUuZWFjaCgiQm9vbGVhbiBOdW1i
ZXIgU3RyaW5nIEZ1bmN0aW9uIEFycmF5IERhdGUgUmVnRXhwIE9iamVjdCIuc3BsaXQoIiAiKSxm
dW5jdGlvbihhLGIpe0lbIltvYmplY3QgIitiKyJdIl09Yi50b0xvd2VyQ2FzZSgpfSksej1lLnVh
TWF0Y2goeSksei5icm93c2VyJiYoZS5icm93c2VyW3ouYnJvd3Nlcl09ITAsZS5icm93c2VyLnZl
cnNpb249ei52ZXJzaW9uKSxlLmJyb3dzZXIud2Via2l0JiYoZS5icm93c2VyLnNhZmFyaT0hMCks
ai50ZXN0KCLCoCIpJiYoaz0vXltcc1x4QTBdKy8sbD0vW1xzXHhBMF0rJC8pLGg9ZShjKSxjLmFk
ZEV2ZW50TGlzdGVuZXI/Qj1mdW5jdGlvbigpe2MucmVtb3ZlRXZlbnRMaXN0ZW5lcigiRE9NQ29u
dGVudExvYWRlZCIsQiwhMSksZS5yZWFkeSgpfTpjLmF0dGFjaEV2ZW50JiYoQj1mdW5jdGlvbigp
e2MucmVhZHlTdGF0ZT09PSJjb21wbGV0ZSImJihjLmRldGFjaEV2ZW50KCJvbnJlYWR5c3RhdGVj
aGFuZ2UiLEIpLGUucmVhZHkoKSl9KTtyZXR1cm4gZX0oKSxnPXt9O2YuQ2FsbGJhY2tzPWZ1bmN0
aW9uKGEpe2E9YT9nW2FdfHxoKGEpOnt9O3ZhciBjPVtdLGQ9W10sZSxpLGosayxsLG09ZnVuY3Rp
b24oYil7dmFyIGQsZSxnLGgsaTtmb3IoZD0wLGU9Yi5sZW5ndGg7ZDxlO2QrKylnPWJbZF0saD1m
LnR5cGUoZyksaD09PSJhcnJheSI/bShnKTpoPT09ImZ1bmN0aW9uIiYmKCFhLnVuaXF1ZXx8IW8u
aGFzKGcpKSYmYy5wdXNoKGcpfSxuPWZ1bmN0aW9uKGIsZil7Zj1mfHxbXSxlPSFhLm1lbW9yeXx8
W2IsZl0saT0hMCxsPWp8fDAsaj0wLGs9Yy5sZW5ndGg7Zm9yKDtjJiZsPGs7bCsrKWlmKGNbbF0u
YXBwbHkoYixmKT09PSExJiZhLnN0b3BPbkZhbHNlKXtlPSEwO2JyZWFrfWk9ITEsYyYmKGEub25j
ZT9lPT09ITA/by5kaXNhYmxlKCk6Yz1bXTpkJiZkLmxlbmd0aCYmKGU9ZC5zaGlmdCgpLG8uZmly
ZVdpdGgoZVswXSxlWzFdKSkpfSxvPXthZGQ6ZnVuY3Rpb24oKXtpZihjKXt2YXIgYT1jLmxlbmd0
aDttKGFyZ3VtZW50cyksaT9rPWMubGVuZ3RoOmUmJmUhPT0hMCYmKGo9YSxuKGVbMF0sZVsxXSkp
fXJldHVybiB0aGlzfSxyZW1vdmU6ZnVuY3Rpb24oKXtpZihjKXt2YXIgYj1hcmd1bWVudHMsZD0w
LGU9Yi5sZW5ndGg7Zm9yKDtkPGU7ZCsrKWZvcih2YXIgZj0wO2Y8Yy5sZW5ndGg7ZisrKWlmKGJb
ZF09PT1jW2ZdKXtpJiZmPD1rJiYoay0tLGY8PWwmJmwtLSksYy5zcGxpY2UoZi0tLDEpO2lmKGEu
dW5pcXVlKWJyZWFrfX1yZXR1cm4gdGhpc30saGFzOmZ1bmN0aW9uKGEpe2lmKGMpe3ZhciBiPTAs
ZD1jLmxlbmd0aDtmb3IoO2I8ZDtiKyspaWYoYT09PWNbYl0pcmV0dXJuITB9cmV0dXJuITF9LGVt
cHR5OmZ1bmN0aW9uKCl7Yz1bXTtyZXR1cm4gdGhpc30sZGlzYWJsZTpmdW5jdGlvbigpe2M9ZD1l
PWI7cmV0dXJuIHRoaXN9LGRpc2FibGVkOmZ1bmN0aW9uKCl7cmV0dXJuIWN9LGxvY2s6ZnVuY3Rp
b24oKXtkPWIsKCFlfHxlPT09ITApJiZvLmRpc2FibGUoKTtyZXR1cm4gdGhpc30sbG9ja2VkOmZ1
bmN0aW9uKCl7cmV0dXJuIWR9LGZpcmVXaXRoOmZ1bmN0aW9uKGIsYyl7ZCYmKGk/YS5vbmNlfHxk
LnB1c2goW2IsY10pOighYS5vbmNlfHwhZSkmJm4oYixjKSk7cmV0dXJuIHRoaXN9LGZpcmU6ZnVu
Y3Rpb24oKXtvLmZpcmVXaXRoKHRoaXMsYXJndW1lbnRzKTtyZXR1cm4gdGhpc30sZmlyZWQ6ZnVu
Y3Rpb24oKXtyZXR1cm4hIWV9fTtyZXR1cm4gb307dmFyIGk9W10uc2xpY2U7Zi5leHRlbmQoe0Rl
ZmVycmVkOmZ1bmN0aW9uKGEpe3ZhciBiPWYuQ2FsbGJhY2tzKCJvbmNlIG1lbW9yeSIpLGM9Zi5D
YWxsYmFja3MoIm9uY2UgbWVtb3J5IiksZD1mLkNhbGxiYWNrcygibWVtb3J5IiksZT0icGVuZGlu
ZyIsZz17cmVzb2x2ZTpiLHJlamVjdDpjLG5vdGlmeTpkfSxoPXtkb25lOmIuYWRkLGZhaWw6Yy5h
ZGQscHJvZ3Jlc3M6ZC5hZGQsc3RhdGU6ZnVuY3Rpb24oKXtyZXR1cm4gZX0saXNSZXNvbHZlZDpi
LmZpcmVkLGlzUmVqZWN0ZWQ6Yy5maXJlZCx0aGVuOmZ1bmN0aW9uKGEsYixjKXtpLmRvbmUoYSku
ZmFpbChiKS5wcm9ncmVzcyhjKTtyZXR1cm4gdGhpc30sYWx3YXlzOmZ1bmN0aW9uKCl7aS5kb25l
LmFwcGx5KGksYXJndW1lbnRzKS5mYWlsLmFwcGx5KGksYXJndW1lbnRzKTtyZXR1cm4gdGhpc30s
cGlwZTpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIGYuRGVmZXJyZWQoZnVuY3Rpb24oZCl7Zi5lYWNo
KHtkb25lOlthLCJyZXNvbHZlIl0sZmFpbDpbYiwicmVqZWN0Il0scHJvZ3Jlc3M6W2MsIm5vdGlm
eSJdfSxmdW5jdGlvbihhLGIpe3ZhciBjPWJbMF0sZT1iWzFdLGc7Zi5pc0Z1bmN0aW9uKGMpP2lb
YV0oZnVuY3Rpb24oKXtnPWMuYXBwbHkodGhpcyxhcmd1bWVudHMpLGcmJmYuaXNGdW5jdGlvbihn
LnByb21pc2UpP2cucHJvbWlzZSgpLnRoZW4oZC5yZXNvbHZlLGQucmVqZWN0LGQubm90aWZ5KTpk
W2UrIldpdGgiXSh0aGlzPT09aT9kOnRoaXMsW2ddKX0pOmlbYV0oZFtlXSl9KX0pLnByb21pc2Uo
KX0scHJvbWlzZTpmdW5jdGlvbihhKXtpZihhPT1udWxsKWE9aDtlbHNlIGZvcih2YXIgYiBpbiBo
KWFbYl09aFtiXTtyZXR1cm4gYX19LGk9aC5wcm9taXNlKHt9KSxqO2ZvcihqIGluIGcpaVtqXT1n
W2pdLmZpcmUsaVtqKyJXaXRoIl09Z1tqXS5maXJlV2l0aDtpLmRvbmUoZnVuY3Rpb24oKXtlPSJy
ZXNvbHZlZCJ9LGMuZGlzYWJsZSxkLmxvY2spLmZhaWwoZnVuY3Rpb24oKXtlPSJyZWplY3RlZCJ9
LGIuZGlzYWJsZSxkLmxvY2spLGEmJmEuY2FsbChpLGkpO3JldHVybiBpfSx3aGVuOmZ1bmN0aW9u
KGEpe2Z1bmN0aW9uIG0oYSl7cmV0dXJuIGZ1bmN0aW9uKGIpe2VbYV09YXJndW1lbnRzLmxlbmd0
aD4xP2kuY2FsbChhcmd1bWVudHMsMCk6YixqLm5vdGlmeVdpdGgoayxlKX19ZnVuY3Rpb24gbChh
KXtyZXR1cm4gZnVuY3Rpb24oYyl7YlthXT1hcmd1bWVudHMubGVuZ3RoPjE/aS5jYWxsKGFyZ3Vt
ZW50cywwKTpjLC0tZ3x8ai5yZXNvbHZlV2l0aChqLGIpfX12YXIgYj1pLmNhbGwoYXJndW1lbnRz
LDApLGM9MCxkPWIubGVuZ3RoLGU9QXJyYXkoZCksZz1kLGg9ZCxqPWQ8PTEmJmEmJmYuaXNGdW5j
dGlvbihhLnByb21pc2UpP2E6Zi5EZWZlcnJlZCgpLGs9ai5wcm9taXNlKCk7aWYoZD4xKXtmb3Io
O2M8ZDtjKyspYltjXSYmYltjXS5wcm9taXNlJiZmLmlzRnVuY3Rpb24oYltjXS5wcm9taXNlKT9i
W2NdLnByb21pc2UoKS50aGVuKGwoYyksai5yZWplY3QsbShjKSk6LS1nO2d8fGoucmVzb2x2ZVdp
dGgoaixiKX1lbHNlIGohPT1hJiZqLnJlc29sdmVXaXRoKGosZD9bYV06W10pO3JldHVybiBrfX0p
LGYuc3VwcG9ydD1mdW5jdGlvbigpe3ZhciBiLGQsZSxnLGgsaSxqLGssbCxtLG4sbyxwLHE9Yy5j
cmVhdGVFbGVtZW50KCJkaXYiKSxyPWMuZG9jdW1lbnRFbGVtZW50O3Euc2V0QXR0cmlidXRlKCJj
bGFzc05hbWUiLCJ0IikscS5pbm5lckhUTUw9IiAgIDxsaW5rLz48dGFibGU+PC90YWJsZT48YSBo
cmVmPScvYScgc3R5bGU9J3RvcDoxcHg7ZmxvYXQ6bGVmdDtvcGFjaXR5Oi41NTsnPmE8L2E+PGlu
cHV0IHR5cGU9J2NoZWNrYm94Jy8+IixkPXEuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIioiKSxlPXEu
Z2V0RWxlbWVudHNCeVRhZ05hbWUoImEiKVswXTtpZighZHx8IWQubGVuZ3RofHwhZSlyZXR1cm57
fTtnPWMuY3JlYXRlRWxlbWVudCgic2VsZWN0IiksaD1nLmFwcGVuZENoaWxkKGMuY3JlYXRlRWxl
bWVudCgib3B0aW9uIikpLGk9cS5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaW5wdXQiKVswXSxiPXts
ZWFkaW5nV2hpdGVzcGFjZTpxLmZpcnN0Q2hpbGQubm9kZVR5cGU9PT0zLHRib2R5OiFxLmdldEVs
ZW1lbnRzQnlUYWdOYW1lKCJ0Ym9keSIpLmxlbmd0aCxodG1sU2VyaWFsaXplOiEhcS5nZXRFbGVt
ZW50c0J5VGFnTmFtZSgibGluayIpLmxlbmd0aCxzdHlsZTovdG9wLy50ZXN0KGUuZ2V0QXR0cmli
dXRlKCJzdHlsZSIpKSxocmVmTm9ybWFsaXplZDplLmdldEF0dHJpYnV0ZSgiaHJlZiIpPT09Ii9h
IixvcGFjaXR5Oi9eMC41NS8udGVzdChlLnN0eWxlLm9wYWNpdHkpLGNzc0Zsb2F0OiEhZS5zdHls
ZS5jc3NGbG9hdCxjaGVja09uOmkudmFsdWU9PT0ib24iLG9wdFNlbGVjdGVkOmguc2VsZWN0ZWQs
Z2V0U2V0QXR0cmlidXRlOnEuY2xhc3NOYW1lIT09InQiLGVuY3R5cGU6ISFjLmNyZWF0ZUVsZW1l
bnQoImZvcm0iKS5lbmN0eXBlLGh0bWw1Q2xvbmU6Yy5jcmVhdGVFbGVtZW50KCJuYXYiKS5jbG9u
ZU5vZGUoITApLm91dGVySFRNTCE9PSI8Om5hdj48LzpuYXY+IixzdWJtaXRCdWJibGVzOiEwLGNo
YW5nZUJ1YmJsZXM6ITAsZm9jdXNpbkJ1YmJsZXM6ITEsZGVsZXRlRXhwYW5kbzohMCxub0Nsb25l
RXZlbnQ6ITAsaW5saW5lQmxvY2tOZWVkc0xheW91dDohMSxzaHJpbmtXcmFwQmxvY2tzOiExLHJl
bGlhYmxlTWFyZ2luUmlnaHQ6ITB9LGkuY2hlY2tlZD0hMCxiLm5vQ2xvbmVDaGVja2VkPWkuY2xv
bmVOb2RlKCEwKS5jaGVja2VkLGcuZGlzYWJsZWQ9ITAsYi5vcHREaXNhYmxlZD0haC5kaXNhYmxl
ZDt0cnl7ZGVsZXRlIHEudGVzdH1jYXRjaChzKXtiLmRlbGV0ZUV4cGFuZG89ITF9IXEuYWRkRXZl
bnRMaXN0ZW5lciYmcS5hdHRhY2hFdmVudCYmcS5maXJlRXZlbnQmJihxLmF0dGFjaEV2ZW50KCJv
bmNsaWNrIixmdW5jdGlvbigpe2Iubm9DbG9uZUV2ZW50PSExfSkscS5jbG9uZU5vZGUoITApLmZp
cmVFdmVudCgib25jbGljayIpKSxpPWMuY3JlYXRlRWxlbWVudCgiaW5wdXQiKSxpLnZhbHVlPSJ0
IixpLnNldEF0dHJpYnV0ZSgidHlwZSIsInJhZGlvIiksYi5yYWRpb1ZhbHVlPWkudmFsdWU9PT0i
dCIsaS5zZXRBdHRyaWJ1dGUoImNoZWNrZWQiLCJjaGVja2VkIikscS5hcHBlbmRDaGlsZChpKSxr
PWMuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpLGsuYXBwZW5kQ2hpbGQocS5sYXN0Q2hpbGQpLGIu
Y2hlY2tDbG9uZT1rLmNsb25lTm9kZSghMCkuY2xvbmVOb2RlKCEwKS5sYXN0Q2hpbGQuY2hlY2tl
ZCxiLmFwcGVuZENoZWNrZWQ9aS5jaGVja2VkLGsucmVtb3ZlQ2hpbGQoaSksay5hcHBlbmRDaGls
ZChxKSxxLmlubmVySFRNTD0iIixhLmdldENvbXB1dGVkU3R5bGUmJihqPWMuY3JlYXRlRWxlbWVu
dCgiZGl2Iiksai5zdHlsZS53aWR0aD0iMCIsai5zdHlsZS5tYXJnaW5SaWdodD0iMCIscS5zdHls
ZS53aWR0aD0iMnB4IixxLmFwcGVuZENoaWxkKGopLGIucmVsaWFibGVNYXJnaW5SaWdodD0ocGFy
c2VJbnQoKGEuZ2V0Q29tcHV0ZWRTdHlsZShqLG51bGwpfHx7bWFyZ2luUmlnaHQ6MH0pLm1hcmdp
blJpZ2h0LDEwKXx8MCk9PT0wKTtpZihxLmF0dGFjaEV2ZW50KWZvcihvIGlue3N1Ym1pdDoxLGNo
YW5nZToxLGZvY3VzaW46MX0pbj0ib24iK28scD1uIGluIHEscHx8KHEuc2V0QXR0cmlidXRlKG4s
InJldHVybjsiKSxwPXR5cGVvZiBxW25dPT0iZnVuY3Rpb24iKSxiW28rIkJ1YmJsZXMiXT1wO2su
cmVtb3ZlQ2hpbGQocSksaz1nPWg9aj1xPWk9bnVsbCxmKGZ1bmN0aW9uKCl7dmFyIGEsZCxlLGcs
aCxpLGosayxtLG4sbyxyPWMuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImJvZHkiKVswXTshcnx8KGo9
MSxrPSJwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7d2lkdGg6MXB4O2hlaWdodDoxcHg7
bWFyZ2luOjA7IixtPSJ2aXNpYmlsaXR5OmhpZGRlbjtib3JkZXI6MDsiLG49InN0eWxlPSciK2sr
ImJvcmRlcjo1cHggc29saWQgIzAwMDtwYWRkaW5nOjA7JyIsbz0iPGRpdiAiK24rIj48ZGl2Pjwv
ZGl2PjwvZGl2PiIrIjx0YWJsZSAiK24rIiBjZWxscGFkZGluZz0nMCcgY2VsbHNwYWNpbmc9JzAn
PiIrIjx0cj48dGQ+PC90ZD48L3RyPjwvdGFibGU+IixhPWMuY3JlYXRlRWxlbWVudCgiZGl2Iiks
YS5zdHlsZS5jc3NUZXh0PW0rIndpZHRoOjA7aGVpZ2h0OjA7cG9zaXRpb246c3RhdGljO3RvcDow
O21hcmdpbi10b3A6IitqKyJweCIsci5pbnNlcnRCZWZvcmUoYSxyLmZpcnN0Q2hpbGQpLHE9Yy5j
cmVhdGVFbGVtZW50KCJkaXYiKSxhLmFwcGVuZENoaWxkKHEpLHEuaW5uZXJIVE1MPSI8dGFibGU+
PHRyPjx0ZCBzdHlsZT0ncGFkZGluZzowO2JvcmRlcjowO2Rpc3BsYXk6bm9uZSc+PC90ZD48dGQ+
dDwvdGQ+PC90cj48L3RhYmxlPiIsbD1xLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJ0ZCIpLHA9bFsw
XS5vZmZzZXRIZWlnaHQ9PT0wLGxbMF0uc3R5bGUuZGlzcGxheT0iIixsWzFdLnN0eWxlLmRpc3Bs
YXk9Im5vbmUiLGIucmVsaWFibGVIaWRkZW5PZmZzZXRzPXAmJmxbMF0ub2Zmc2V0SGVpZ2h0PT09
MCxxLmlubmVySFRNTD0iIixxLnN0eWxlLndpZHRoPXEuc3R5bGUucGFkZGluZ0xlZnQ9IjFweCIs
Zi5ib3hNb2RlbD1iLmJveE1vZGVsPXEub2Zmc2V0V2lkdGg9PT0yLHR5cGVvZiBxLnN0eWxlLnpv
b20hPSJ1bmRlZmluZWQiJiYocS5zdHlsZS5kaXNwbGF5PSJpbmxpbmUiLHEuc3R5bGUuem9vbT0x
LGIuaW5saW5lQmxvY2tOZWVkc0xheW91dD1xLm9mZnNldFdpZHRoPT09MixxLnN0eWxlLmRpc3Bs
YXk9IiIscS5pbm5lckhUTUw9IjxkaXYgc3R5bGU9J3dpZHRoOjRweDsnPjwvZGl2PiIsYi5zaHJp
bmtXcmFwQmxvY2tzPXEub2Zmc2V0V2lkdGghPT0yKSxxLnN0eWxlLmNzc1RleHQ9ayttLHEuaW5u
ZXJIVE1MPW8sZD1xLmZpcnN0Q2hpbGQsZT1kLmZpcnN0Q2hpbGQsaD1kLm5leHRTaWJsaW5nLmZp
cnN0Q2hpbGQuZmlyc3RDaGlsZCxpPXtkb2VzTm90QWRkQm9yZGVyOmUub2Zmc2V0VG9wIT09NSxk
b2VzQWRkQm9yZGVyRm9yVGFibGVBbmRDZWxsczpoLm9mZnNldFRvcD09PTV9LGUuc3R5bGUucG9z
aXRpb249ImZpeGVkIixlLnN0eWxlLnRvcD0iMjBweCIsaS5maXhlZFBvc2l0aW9uPWUub2Zmc2V0
VG9wPT09MjB8fGUub2Zmc2V0VG9wPT09MTUsZS5zdHlsZS5wb3NpdGlvbj1lLnN0eWxlLnRvcD0i
IixkLnN0eWxlLm92ZXJmbG93PSJoaWRkZW4iLGQuc3R5bGUucG9zaXRpb249InJlbGF0aXZlIixp
LnN1YnRyYWN0c0JvcmRlckZvck92ZXJmbG93Tm90VmlzaWJsZT1lLm9mZnNldFRvcD09PS01LGku
ZG9lc05vdEluY2x1ZGVNYXJnaW5JbkJvZHlPZmZzZXQ9ci5vZmZzZXRUb3AhPT1qLHIucmVtb3Zl
Q2hpbGQoYSkscT1hPW51bGwsZi5leHRlbmQoYixpKSl9KTtyZXR1cm4gYn0oKTt2YXIgaj0vXig/
Olx7LipcfXxcWy4qXF0pJC8saz0vKFtBLVpdKS9nO2YuZXh0ZW5kKHtjYWNoZTp7fSx1dWlkOjAs
ZXhwYW5kbzoialF1ZXJ5IisoZi5mbi5qcXVlcnkrTWF0aC5yYW5kb20oKSkucmVwbGFjZSgvXEQv
ZywiIiksbm9EYXRhOntlbWJlZDohMCxvYmplY3Q6ImNsc2lkOkQyN0NEQjZFLUFFNkQtMTFjZi05
NkI4LTQ0NDU1MzU0MDAwMCIsYXBwbGV0OiEwfSxoYXNEYXRhOmZ1bmN0aW9uKGEpe2E9YS5ub2Rl
VHlwZT9mLmNhY2hlW2FbZi5leHBhbmRvXV06YVtmLmV4cGFuZG9dO3JldHVybiEhYSYmIW0oYSl9
LGRhdGE6ZnVuY3Rpb24oYSxjLGQsZSl7aWYoISFmLmFjY2VwdERhdGEoYSkpe3ZhciBnLGgsaSxq
PWYuZXhwYW5kbyxrPXR5cGVvZiBjPT0ic3RyaW5nIixsPWEubm9kZVR5cGUsbT1sP2YuY2FjaGU6
YSxuPWw/YVtqXTphW2pdJiZqLG89Yz09PSJldmVudHMiO2lmKCghbnx8IW1bbl18fCFvJiYhZSYm
IW1bbl0uZGF0YSkmJmsmJmQ9PT1iKXJldHVybjtufHwobD9hW2pdPW49KytmLnV1aWQ6bj1qKSxt
W25dfHwobVtuXT17fSxsfHwobVtuXS50b0pTT049Zi5ub29wKSk7aWYodHlwZW9mIGM9PSJvYmpl
Y3QifHx0eXBlb2YgYz09ImZ1bmN0aW9uIillP21bbl09Zi5leHRlbmQobVtuXSxjKTptW25dLmRh
dGE9Zi5leHRlbmQobVtuXS5kYXRhLGMpO2c9aD1tW25dLGV8fChoLmRhdGF8fChoLmRhdGE9e30p
LGg9aC5kYXRhKSxkIT09YiYmKGhbZi5jYW1lbENhc2UoYyldPWQpO2lmKG8mJiFoW2NdKXJldHVy
biBnLmV2ZW50cztrPyhpPWhbY10saT09bnVsbCYmKGk9aFtmLmNhbWVsQ2FzZShjKV0pKTppPWg7
cmV0dXJuIGl9fSxyZW1vdmVEYXRhOmZ1bmN0aW9uKGEsYixjKXtpZighIWYuYWNjZXB0RGF0YShh
KSl7dmFyIGQsZSxnLGg9Zi5leHBhbmRvLGk9YS5ub2RlVHlwZSxqPWk/Zi5jYWNoZTphLGs9aT9h
W2hdOmg7aWYoIWpba10pcmV0dXJuO2lmKGIpe2Q9Yz9qW2tdOmpba10uZGF0YTtpZihkKXtmLmlz
QXJyYXkoYil8fChiIGluIGQ/Yj1bYl06KGI9Zi5jYW1lbENhc2UoYiksYiBpbiBkP2I9W2JdOmI9
Yi5zcGxpdCgiICIpKSk7Zm9yKGU9MCxnPWIubGVuZ3RoO2U8ZztlKyspZGVsZXRlIGRbYltlXV07
aWYoIShjP206Zi5pc0VtcHR5T2JqZWN0KShkKSlyZXR1cm59fWlmKCFjKXtkZWxldGUgaltrXS5k
YXRhO2lmKCFtKGpba10pKXJldHVybn1mLnN1cHBvcnQuZGVsZXRlRXhwYW5kb3x8IWouc2V0SW50
ZXJ2YWw/ZGVsZXRlIGpba106altrXT1udWxsLGkmJihmLnN1cHBvcnQuZGVsZXRlRXhwYW5kbz9k
ZWxldGUgYVtoXTphLnJlbW92ZUF0dHJpYnV0ZT9hLnJlbW92ZUF0dHJpYnV0ZShoKTphW2hdPW51
bGwpfX0sX2RhdGE6ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBmLmRhdGEoYSxiLGMsITApfSxhY2Nl
cHREYXRhOmZ1bmN0aW9uKGEpe2lmKGEubm9kZU5hbWUpe3ZhciBiPWYubm9EYXRhW2Eubm9kZU5h
bWUudG9Mb3dlckNhc2UoKV07aWYoYilyZXR1cm4gYiE9PSEwJiZhLmdldEF0dHJpYnV0ZSgiY2xh
c3NpZCIpPT09Yn1yZXR1cm4hMH19KSxmLmZuLmV4dGVuZCh7ZGF0YTpmdW5jdGlvbihhLGMpe3Zh
ciBkLGUsZyxoPW51bGw7aWYodHlwZW9mIGE9PSJ1bmRlZmluZWQiKXtpZih0aGlzLmxlbmd0aCl7
aD1mLmRhdGEodGhpc1swXSk7aWYodGhpc1swXS5ub2RlVHlwZT09PTEmJiFmLl9kYXRhKHRoaXNb
MF0sInBhcnNlZEF0dHJzIikpe2U9dGhpc1swXS5hdHRyaWJ1dGVzO2Zvcih2YXIgaT0wLGo9ZS5s
ZW5ndGg7aTxqO2krKylnPWVbaV0ubmFtZSxnLmluZGV4T2YoImRhdGEtIik9PT0wJiYoZz1mLmNh
bWVsQ2FzZShnLnN1YnN0cmluZyg1KSksbCh0aGlzWzBdLGcsaFtnXSkpO2YuX2RhdGEodGhpc1sw
XSwicGFyc2VkQXR0cnMiLCEwKX19cmV0dXJuIGh9aWYodHlwZW9mIGE9PSJvYmplY3QiKXJldHVy
biB0aGlzLmVhY2goZnVuY3Rpb24oKXtmLmRhdGEodGhpcyxhKX0pO2Q9YS5zcGxpdCgiLiIpLGRb
MV09ZFsxXT8iLiIrZFsxXToiIjtpZihjPT09Yil7aD10aGlzLnRyaWdnZXJIYW5kbGVyKCJnZXRE
YXRhIitkWzFdKyIhIixbZFswXV0pLGg9PT1iJiZ0aGlzLmxlbmd0aCYmKGg9Zi5kYXRhKHRoaXNb
MF0sYSksaD1sKHRoaXNbMF0sYSxoKSk7cmV0dXJuIGg9PT1iJiZkWzFdP3RoaXMuZGF0YShkWzBd
KTpofXJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgYj1mKHRoaXMpLGU9W2RbMF0sY107
Yi50cmlnZ2VySGFuZGxlcigic2V0RGF0YSIrZFsxXSsiISIsZSksZi5kYXRhKHRoaXMsYSxjKSxi
LnRyaWdnZXJIYW5kbGVyKCJjaGFuZ2VEYXRhIitkWzFdKyIhIixlKX0pfSxyZW1vdmVEYXRhOmZ1
bmN0aW9uKGEpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXtmLnJlbW92ZURhdGEodGhpcyxh
KX0pfX0pLGYuZXh0ZW5kKHtfbWFyazpmdW5jdGlvbihhLGIpe2EmJihiPShifHwiZngiKSsibWFy
ayIsZi5fZGF0YShhLGIsKGYuX2RhdGEoYSxiKXx8MCkrMSkpfSxfdW5tYXJrOmZ1bmN0aW9uKGEs
YixjKXthIT09ITAmJihjPWIsYj1hLGE9ITEpO2lmKGIpe2M9Y3x8ImZ4Ijt2YXIgZD1jKyJtYXJr
IixlPWE/MDooZi5fZGF0YShiLGQpfHwxKS0xO2U/Zi5fZGF0YShiLGQsZSk6KGYucmVtb3ZlRGF0
YShiLGQsITApLG4oYixjLCJtYXJrIikpfX0scXVldWU6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkO2lm
KGEpe2I9KGJ8fCJmeCIpKyJxdWV1ZSIsZD1mLl9kYXRhKGEsYiksYyYmKCFkfHxmLmlzQXJyYXko
Yyk/ZD1mLl9kYXRhKGEsYixmLm1ha2VBcnJheShjKSk6ZC5wdXNoKGMpKTtyZXR1cm4gZHx8W119
fSxkZXF1ZXVlOmZ1bmN0aW9uKGEsYil7Yj1ifHwiZngiO3ZhciBjPWYucXVldWUoYSxiKSxkPWMu
c2hpZnQoKSxlPXt9O2Q9PT0iaW5wcm9ncmVzcyImJihkPWMuc2hpZnQoKSksZCYmKGI9PT0iZngi
JiZjLnVuc2hpZnQoImlucHJvZ3Jlc3MiKSxmLl9kYXRhKGEsYisiLnJ1biIsZSksZC5jYWxsKGEs
ZnVuY3Rpb24oKXtmLmRlcXVldWUoYSxiKX0sZSkpLGMubGVuZ3RofHwoZi5yZW1vdmVEYXRhKGEs
YisicXVldWUgIitiKyIucnVuIiwhMCksbihhLGIsInF1ZXVlIikpfX0pLGYuZm4uZXh0ZW5kKHtx
dWV1ZTpmdW5jdGlvbihhLGMpe3R5cGVvZiBhIT0ic3RyaW5nIiYmKGM9YSxhPSJmeCIpO2lmKGM9
PT1iKXJldHVybiBmLnF1ZXVlKHRoaXNbMF0sYSk7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigp
e3ZhciBiPWYucXVldWUodGhpcyxhLGMpO2E9PT0iZngiJiZiWzBdIT09ImlucHJvZ3Jlc3MiJiZm
LmRlcXVldWUodGhpcyxhKX0pfSxkZXF1ZXVlOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmVhY2go
ZnVuY3Rpb24oKXtmLmRlcXVldWUodGhpcyxhKX0pfSxkZWxheTpmdW5jdGlvbihhLGIpe2E9Zi5m
eD9mLmZ4LnNwZWVkc1thXXx8YTphLGI9Ynx8ImZ4IjtyZXR1cm4gdGhpcy5xdWV1ZShiLGZ1bmN0
aW9uKGIsYyl7dmFyIGQ9c2V0VGltZW91dChiLGEpO2Muc3RvcD1mdW5jdGlvbigpe2NsZWFyVGlt
ZW91dChkKX19KX0sY2xlYXJRdWV1ZTpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5xdWV1ZShhfHwi
ZngiLFtdKX0scHJvbWlzZTpmdW5jdGlvbihhLGMpe2Z1bmN0aW9uIG0oKXstLWh8fGQucmVzb2x2
ZVdpdGgoZSxbZV0pfXR5cGVvZiBhIT0ic3RyaW5nIiYmKGM9YSxhPWIpLGE9YXx8ImZ4Ijt2YXIg
ZD1mLkRlZmVycmVkKCksZT10aGlzLGc9ZS5sZW5ndGgsaD0xLGk9YSsiZGVmZXIiLGo9YSsicXVl
dWUiLGs9YSsibWFyayIsbDt3aGlsZShnLS0paWYobD1mLmRhdGEoZVtnXSxpLGIsITApfHwoZi5k
YXRhKGVbZ10saixiLCEwKXx8Zi5kYXRhKGVbZ10sayxiLCEwKSkmJmYuZGF0YShlW2ddLGksZi5D
YWxsYmFja3MoIm9uY2UgbWVtb3J5IiksITApKWgrKyxsLmFkZChtKTttKCk7cmV0dXJuIGQucHJv
bWlzZSgpfX0pO3ZhciBvPS9bXG5cdFxyXS9nLHA9L1xzKy8scT0vXHIvZyxyPS9eKD86YnV0dG9u
fGlucHV0KSQvaSxzPS9eKD86YnV0dG9ufGlucHV0fG9iamVjdHxzZWxlY3R8dGV4dGFyZWEpJC9p
LHQ9L15hKD86cmVhKT8kL2ksdT0vXig/OmF1dG9mb2N1c3xhdXRvcGxheXxhc3luY3xjaGVja2Vk
fGNvbnRyb2xzfGRlZmVyfGRpc2FibGVkfGhpZGRlbnxsb29wfG11bHRpcGxlfG9wZW58cmVhZG9u
bHl8cmVxdWlyZWR8c2NvcGVkfHNlbGVjdGVkKSQvaSx2PWYuc3VwcG9ydC5nZXRTZXRBdHRyaWJ1
dGUsdyx4LHk7Zi5mbi5leHRlbmQoe2F0dHI6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gZi5hY2Nlc3Mo
dGhpcyxhLGIsITAsZi5hdHRyKX0scmVtb3ZlQXR0cjpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5l
YWNoKGZ1bmN0aW9uKCl7Zi5yZW1vdmVBdHRyKHRoaXMsYSl9KX0scHJvcDpmdW5jdGlvbihhLGIp
e3JldHVybiBmLmFjY2Vzcyh0aGlzLGEsYiwhMCxmLnByb3ApfSxyZW1vdmVQcm9wOmZ1bmN0aW9u
KGEpe2E9Zi5wcm9wRml4W2FdfHxhO3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt0cnl7dGhp
c1thXT1iLGRlbGV0ZSB0aGlzW2FdfWNhdGNoKGMpe319KX0sYWRkQ2xhc3M6ZnVuY3Rpb24oYSl7
dmFyIGIsYyxkLGUsZyxoLGk7aWYoZi5pc0Z1bmN0aW9uKGEpKXJldHVybiB0aGlzLmVhY2goZnVu
Y3Rpb24oYil7Zih0aGlzKS5hZGRDbGFzcyhhLmNhbGwodGhpcyxiLHRoaXMuY2xhc3NOYW1lKSl9
KTtpZihhJiZ0eXBlb2YgYT09InN0cmluZyIpe2I9YS5zcGxpdChwKTtmb3IoYz0wLGQ9dGhpcy5s
ZW5ndGg7YzxkO2MrKyl7ZT10aGlzW2NdO2lmKGUubm9kZVR5cGU9PT0xKWlmKCFlLmNsYXNzTmFt
ZSYmYi5sZW5ndGg9PT0xKWUuY2xhc3NOYW1lPWE7ZWxzZXtnPSIgIitlLmNsYXNzTmFtZSsiICI7
Zm9yKGg9MCxpPWIubGVuZ3RoO2g8aTtoKyspfmcuaW5kZXhPZigiICIrYltoXSsiICIpfHwoZys9
YltoXSsiICIpO2UuY2xhc3NOYW1lPWYudHJpbShnKX19fXJldHVybiB0aGlzfSxyZW1vdmVDbGFz
czpmdW5jdGlvbihhKXt2YXIgYyxkLGUsZyxoLGksajtpZihmLmlzRnVuY3Rpb24oYSkpcmV0dXJu
IHRoaXMuZWFjaChmdW5jdGlvbihiKXtmKHRoaXMpLnJlbW92ZUNsYXNzKGEuY2FsbCh0aGlzLGIs
dGhpcy5jbGFzc05hbWUpKX0pO2lmKGEmJnR5cGVvZiBhPT0ic3RyaW5nInx8YT09PWIpe2M9KGF8
fCIiKS5zcGxpdChwKTtmb3IoZD0wLGU9dGhpcy5sZW5ndGg7ZDxlO2QrKyl7Zz10aGlzW2RdO2lm
KGcubm9kZVR5cGU9PT0xJiZnLmNsYXNzTmFtZSlpZihhKXtoPSgiICIrZy5jbGFzc05hbWUrIiAi
KS5yZXBsYWNlKG8sIiAiKTtmb3IoaT0wLGo9Yy5sZW5ndGg7aTxqO2krKyloPWgucmVwbGFjZSgi
ICIrY1tpXSsiICIsIiAiKTtnLmNsYXNzTmFtZT1mLnRyaW0oaCl9ZWxzZSBnLmNsYXNzTmFtZT0i
In19cmV0dXJuIHRoaXN9LHRvZ2dsZUNsYXNzOmZ1bmN0aW9uKGEsYil7dmFyIGM9dHlwZW9mIGEs
ZD10eXBlb2YgYj09ImJvb2xlYW4iO2lmKGYuaXNGdW5jdGlvbihhKSlyZXR1cm4gdGhpcy5lYWNo
KGZ1bmN0aW9uKGMpe2YodGhpcykudG9nZ2xlQ2xhc3MoYS5jYWxsKHRoaXMsYyx0aGlzLmNsYXNz
TmFtZSxiKSxiKX0pO3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXtpZihjPT09InN0cmluZyIp
e3ZhciBlLGc9MCxoPWYodGhpcyksaT1iLGo9YS5zcGxpdChwKTt3aGlsZShlPWpbZysrXSlpPWQ/
aTohaC5oYXNDbGFzcyhlKSxoW2k/ImFkZENsYXNzIjoicmVtb3ZlQ2xhc3MiXShlKX1lbHNlIGlm
KGM9PT0idW5kZWZpbmVkInx8Yz09PSJib29sZWFuIil0aGlzLmNsYXNzTmFtZSYmZi5fZGF0YSh0
aGlzLCJfX2NsYXNzTmFtZV9fIix0aGlzLmNsYXNzTmFtZSksdGhpcy5jbGFzc05hbWU9dGhpcy5j
bGFzc05hbWV8fGE9PT0hMT8iIjpmLl9kYXRhKHRoaXMsIl9fY2xhc3NOYW1lX18iKXx8IiJ9KX0s
aGFzQ2xhc3M6ZnVuY3Rpb24oYSl7dmFyIGI9IiAiK2ErIiAiLGM9MCxkPXRoaXMubGVuZ3RoO2Zv
cig7YzxkO2MrKylpZih0aGlzW2NdLm5vZGVUeXBlPT09MSYmKCIgIit0aGlzW2NdLmNsYXNzTmFt
ZSsiICIpLnJlcGxhY2UobywiICIpLmluZGV4T2YoYik+LTEpcmV0dXJuITA7cmV0dXJuITF9LHZh
bDpmdW5jdGlvbihhKXt2YXIgYyxkLGUsZz10aGlzWzBdO3tpZighIWFyZ3VtZW50cy5sZW5ndGgp
e2U9Zi5pc0Z1bmN0aW9uKGEpO3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oZCl7dmFyIGc9Zih0
aGlzKSxoO2lmKHRoaXMubm9kZVR5cGU9PT0xKXtlP2g9YS5jYWxsKHRoaXMsZCxnLnZhbCgpKTpo
PWEsaD09bnVsbD9oPSIiOnR5cGVvZiBoPT0ibnVtYmVyIj9oKz0iIjpmLmlzQXJyYXkoaCkmJiho
PWYubWFwKGgsZnVuY3Rpb24oYSl7cmV0dXJuIGE9PW51bGw/IiI6YSsiIn0pKSxjPWYudmFsSG9v
a3NbdGhpcy5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpXXx8Zi52YWxIb29rc1t0aGlzLnR5cGVdO2lm
KCFjfHwhKCJzZXQiaW4gYyl8fGMuc2V0KHRoaXMsaCwidmFsdWUiKT09PWIpdGhpcy52YWx1ZT1o
fX0pfWlmKGcpe2M9Zi52YWxIb29rc1tnLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCldfHxmLnZhbEhv
b2tzW2cudHlwZV07aWYoYyYmImdldCJpbiBjJiYoZD1jLmdldChnLCJ2YWx1ZSIpKSE9PWIpcmV0
dXJuIGQ7ZD1nLnZhbHVlO3JldHVybiB0eXBlb2YgZD09InN0cmluZyI/ZC5yZXBsYWNlKHEsIiIp
OmQ9PW51bGw/IiI6ZH19fX0pLGYuZXh0ZW5kKHt2YWxIb29rczp7b3B0aW9uOntnZXQ6ZnVuY3Rp
b24oYSl7dmFyIGI9YS5hdHRyaWJ1dGVzLnZhbHVlO3JldHVybiFifHxiLnNwZWNpZmllZD9hLnZh
bHVlOmEudGV4dH19LHNlbGVjdDp7Z2V0OmZ1bmN0aW9uKGEpe3ZhciBiLGMsZCxlLGc9YS5zZWxl
Y3RlZEluZGV4LGg9W10saT1hLm9wdGlvbnMsaj1hLnR5cGU9PT0ic2VsZWN0LW9uZSI7aWYoZzww
KXJldHVybiBudWxsO2M9aj9nOjAsZD1qP2crMTppLmxlbmd0aDtmb3IoO2M8ZDtjKyspe2U9aVtj
XTtpZihlLnNlbGVjdGVkJiYoZi5zdXBwb3J0Lm9wdERpc2FibGVkPyFlLmRpc2FibGVkOmUuZ2V0
QXR0cmlidXRlKCJkaXNhYmxlZCIpPT09bnVsbCkmJighZS5wYXJlbnROb2RlLmRpc2FibGVkfHwh
Zi5ub2RlTmFtZShlLnBhcmVudE5vZGUsIm9wdGdyb3VwIikpKXtiPWYoZSkudmFsKCk7aWYoaily
ZXR1cm4gYjtoLnB1c2goYil9fWlmKGomJiFoLmxlbmd0aCYmaS5sZW5ndGgpcmV0dXJuIGYoaVtn
XSkudmFsKCk7cmV0dXJuIGh9LHNldDpmdW5jdGlvbihhLGIpe3ZhciBjPWYubWFrZUFycmF5KGIp
O2YoYSkuZmluZCgib3B0aW9uIikuZWFjaChmdW5jdGlvbigpe3RoaXMuc2VsZWN0ZWQ9Zi5pbkFy
cmF5KGYodGhpcykudmFsKCksYyk+PTB9KSxjLmxlbmd0aHx8KGEuc2VsZWN0ZWRJbmRleD0tMSk7
cmV0dXJuIGN9fX0sYXR0ckZuOnt2YWw6ITAsY3NzOiEwLGh0bWw6ITAsdGV4dDohMCxkYXRhOiEw
LHdpZHRoOiEwLGhlaWdodDohMCxvZmZzZXQ6ITB9LGF0dHI6ZnVuY3Rpb24oYSxjLGQsZSl7dmFy
IGcsaCxpLGo9YS5ub2RlVHlwZTtpZighIWEmJmohPT0zJiZqIT09OCYmaiE9PTIpe2lmKGUmJmMg
aW4gZi5hdHRyRm4pcmV0dXJuIGYoYSlbY10oZCk7aWYodHlwZW9mIGEuZ2V0QXR0cmlidXRlPT0i
dW5kZWZpbmVkIilyZXR1cm4gZi5wcm9wKGEsYyxkKTtpPWohPT0xfHwhZi5pc1hNTERvYyhhKSxp
JiYoYz1jLnRvTG93ZXJDYXNlKCksaD1mLmF0dHJIb29rc1tjXXx8KHUudGVzdChjKT94OncpKTtp
ZihkIT09Yil7aWYoZD09PW51bGwpe2YucmVtb3ZlQXR0cihhLGMpO3JldHVybn1pZihoJiYic2V0
ImluIGgmJmkmJihnPWguc2V0KGEsZCxjKSkhPT1iKXJldHVybiBnO2Euc2V0QXR0cmlidXRlKGMs
IiIrZCk7cmV0dXJuIGR9aWYoaCYmImdldCJpbiBoJiZpJiYoZz1oLmdldChhLGMpKSE9PW51bGwp
cmV0dXJuIGc7Zz1hLmdldEF0dHJpYnV0ZShjKTtyZXR1cm4gZz09PW51bGw/YjpnfX0scmVtb3Zl
QXR0cjpmdW5jdGlvbihhLGIpe3ZhciBjLGQsZSxnLGg9MDtpZihiJiZhLm5vZGVUeXBlPT09MSl7
ZD1iLnRvTG93ZXJDYXNlKCkuc3BsaXQocCksZz1kLmxlbmd0aDtmb3IoO2g8ZztoKyspZT1kW2hd
LGUmJihjPWYucHJvcEZpeFtlXXx8ZSxmLmF0dHIoYSxlLCIiKSxhLnJlbW92ZUF0dHJpYnV0ZSh2
P2U6YyksdS50ZXN0KGUpJiZjIGluIGEmJihhW2NdPSExKSl9fSxhdHRySG9va3M6e3R5cGU6e3Nl
dDpmdW5jdGlvbihhLGIpe2lmKHIudGVzdChhLm5vZGVOYW1lKSYmYS5wYXJlbnROb2RlKWYuZXJy
b3IoInR5cGUgcHJvcGVydHkgY2FuJ3QgYmUgY2hhbmdlZCIpO2Vsc2UgaWYoIWYuc3VwcG9ydC5y
YWRpb1ZhbHVlJiZiPT09InJhZGlvIiYmZi5ub2RlTmFtZShhLCJpbnB1dCIpKXt2YXIgYz1hLnZh
bHVlO2Euc2V0QXR0cmlidXRlKCJ0eXBlIixiKSxjJiYoYS52YWx1ZT1jKTtyZXR1cm4gYn19fSx2
YWx1ZTp7Z2V0OmZ1bmN0aW9uKGEsYil7aWYodyYmZi5ub2RlTmFtZShhLCJidXR0b24iKSlyZXR1
cm4gdy5nZXQoYSxiKTtyZXR1cm4gYiBpbiBhP2EudmFsdWU6bnVsbH0sc2V0OmZ1bmN0aW9uKGEs
YixjKXtpZih3JiZmLm5vZGVOYW1lKGEsImJ1dHRvbiIpKXJldHVybiB3LnNldChhLGIsYyk7YS52
YWx1ZT1ifX19LHByb3BGaXg6e3RhYmluZGV4OiJ0YWJJbmRleCIscmVhZG9ubHk6InJlYWRPbmx5
IiwiZm9yIjoiaHRtbEZvciIsImNsYXNzIjoiY2xhc3NOYW1lIixtYXhsZW5ndGg6Im1heExlbmd0
aCIsY2VsbHNwYWNpbmc6ImNlbGxTcGFjaW5nIixjZWxscGFkZGluZzoiY2VsbFBhZGRpbmciLHJv
d3NwYW46InJvd1NwYW4iLGNvbHNwYW46ImNvbFNwYW4iLHVzZW1hcDoidXNlTWFwIixmcmFtZWJv
cmRlcjoiZnJhbWVCb3JkZXIiLGNvbnRlbnRlZGl0YWJsZToiY29udGVudEVkaXRhYmxlIn0scHJv
cDpmdW5jdGlvbihhLGMsZCl7dmFyIGUsZyxoLGk9YS5ub2RlVHlwZTtpZighIWEmJmkhPT0zJiZp
IT09OCYmaSE9PTIpe2g9aSE9PTF8fCFmLmlzWE1MRG9jKGEpLGgmJihjPWYucHJvcEZpeFtjXXx8
YyxnPWYucHJvcEhvb2tzW2NdKTtyZXR1cm4gZCE9PWI/ZyYmInNldCJpbiBnJiYoZT1nLnNldChh
LGQsYykpIT09Yj9lOmFbY109ZDpnJiYiZ2V0ImluIGcmJihlPWcuZ2V0KGEsYykpIT09bnVsbD9l
OmFbY119fSxwcm9wSG9va3M6e3RhYkluZGV4OntnZXQ6ZnVuY3Rpb24oYSl7dmFyIGM9YS5nZXRB
dHRyaWJ1dGVOb2RlKCJ0YWJpbmRleCIpO3JldHVybiBjJiZjLnNwZWNpZmllZD9wYXJzZUludChj
LnZhbHVlLDEwKTpzLnRlc3QoYS5ub2RlTmFtZSl8fHQudGVzdChhLm5vZGVOYW1lKSYmYS5ocmVm
PzA6Yn19fX0pLGYuYXR0ckhvb2tzLnRhYmluZGV4PWYucHJvcEhvb2tzLnRhYkluZGV4LHg9e2dl
dDpmdW5jdGlvbihhLGMpe3ZhciBkLGU9Zi5wcm9wKGEsYyk7cmV0dXJuIGU9PT0hMHx8dHlwZW9m
IGUhPSJib29sZWFuIiYmKGQ9YS5nZXRBdHRyaWJ1dGVOb2RlKGMpKSYmZC5ub2RlVmFsdWUhPT0h
MT9jLnRvTG93ZXJDYXNlKCk6Yn0sc2V0OmZ1bmN0aW9uKGEsYixjKXt2YXIgZDtiPT09ITE/Zi5y
ZW1vdmVBdHRyKGEsYyk6KGQ9Zi5wcm9wRml4W2NdfHxjLGQgaW4gYSYmKGFbZF09ITApLGEuc2V0
QXR0cmlidXRlKGMsYy50b0xvd2VyQ2FzZSgpKSk7cmV0dXJuIGN9fSx2fHwoeT17bmFtZTohMCxp
ZDohMH0sdz1mLnZhbEhvb2tzLmJ1dHRvbj17Z2V0OmZ1bmN0aW9uKGEsYyl7dmFyIGQ7ZD1hLmdl
dEF0dHJpYnV0ZU5vZGUoYyk7cmV0dXJuIGQmJih5W2NdP2Qubm9kZVZhbHVlIT09IiI6ZC5zcGVj
aWZpZWQpP2Qubm9kZVZhbHVlOmJ9LHNldDpmdW5jdGlvbihhLGIsZCl7dmFyIGU9YS5nZXRBdHRy
aWJ1dGVOb2RlKGQpO2V8fChlPWMuY3JlYXRlQXR0cmlidXRlKGQpLGEuc2V0QXR0cmlidXRlTm9k
ZShlKSk7cmV0dXJuIGUubm9kZVZhbHVlPWIrIiJ9fSxmLmF0dHJIb29rcy50YWJpbmRleC5zZXQ9
dy5zZXQsZi5lYWNoKFsid2lkdGgiLCJoZWlnaHQiXSxmdW5jdGlvbihhLGIpe2YuYXR0ckhvb2tz
W2JdPWYuZXh0ZW5kKGYuYXR0ckhvb2tzW2JdLHtzZXQ6ZnVuY3Rpb24oYSxjKXtpZihjPT09IiIp
e2Euc2V0QXR0cmlidXRlKGIsImF1dG8iKTtyZXR1cm4gY319fSl9KSxmLmF0dHJIb29rcy5jb250
ZW50ZWRpdGFibGU9e2dldDp3LmdldCxzZXQ6ZnVuY3Rpb24oYSxiLGMpe2I9PT0iIiYmKGI9ImZh
bHNlIiksdy5zZXQoYSxiLGMpfX0pLGYuc3VwcG9ydC5ocmVmTm9ybWFsaXplZHx8Zi5lYWNoKFsi
aHJlZiIsInNyYyIsIndpZHRoIiwiaGVpZ2h0Il0sZnVuY3Rpb24oYSxjKXtmLmF0dHJIb29rc1tj
XT1mLmV4dGVuZChmLmF0dHJIb29rc1tjXSx7Z2V0OmZ1bmN0aW9uKGEpe3ZhciBkPWEuZ2V0QXR0
cmlidXRlKGMsMik7cmV0dXJuIGQ9PT1udWxsP2I6ZH19KX0pLGYuc3VwcG9ydC5zdHlsZXx8KGYu
YXR0ckhvb2tzLnN0eWxlPXtnZXQ6ZnVuY3Rpb24oYSl7cmV0dXJuIGEuc3R5bGUuY3NzVGV4dC50
b0xvd2VyQ2FzZSgpfHxifSxzZXQ6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYS5zdHlsZS5jc3NUZXh0
PSIiK2J9fSksZi5zdXBwb3J0Lm9wdFNlbGVjdGVkfHwoZi5wcm9wSG9va3Muc2VsZWN0ZWQ9Zi5l
eHRlbmQoZi5wcm9wSG9va3Muc2VsZWN0ZWQse2dldDpmdW5jdGlvbihhKXt2YXIgYj1hLnBhcmVu
dE5vZGU7YiYmKGIuc2VsZWN0ZWRJbmRleCxiLnBhcmVudE5vZGUmJmIucGFyZW50Tm9kZS5zZWxl
Y3RlZEluZGV4KTtyZXR1cm4gbnVsbH19KSksZi5zdXBwb3J0LmVuY3R5cGV8fChmLnByb3BGaXgu
ZW5jdHlwZT0iZW5jb2RpbmciKSxmLnN1cHBvcnQuY2hlY2tPbnx8Zi5lYWNoKFsicmFkaW8iLCJj
aGVja2JveCJdLGZ1bmN0aW9uKCl7Zi52YWxIb29rc1t0aGlzXT17Z2V0OmZ1bmN0aW9uKGEpe3Jl
dHVybiBhLmdldEF0dHJpYnV0ZSgidmFsdWUiKT09PW51bGw/Im9uIjphLnZhbHVlfX19KSxmLmVh
Y2goWyJyYWRpbyIsImNoZWNrYm94Il0sZnVuY3Rpb24oKXtmLnZhbEhvb2tzW3RoaXNdPWYuZXh0
ZW5kKGYudmFsSG9va3NbdGhpc10se3NldDpmdW5jdGlvbihhLGIpe2lmKGYuaXNBcnJheShiKSly
ZXR1cm4gYS5jaGVja2VkPWYuaW5BcnJheShmKGEpLnZhbCgpLGIpPj0wfX0pfSk7dmFyIHo9L14o
Pzp0ZXh0YXJlYXxpbnB1dHxzZWxlY3QpJC9pLEE9L14oW15cLl0qKT8oPzpcLiguKykpPyQvLEI9
L1xiaG92ZXIoXC5cUyspP1xiLyxDPS9ea2V5LyxEPS9eKD86bW91c2V8Y29udGV4dG1lbnUpfGNs
aWNrLyxFPS9eKD86Zm9jdXNpbmZvY3VzfGZvY3Vzb3V0Ymx1cikkLyxGPS9eKFx3KikoPzojKFtc
d1wtXSspKT8oPzpcLihbXHdcLV0rKSk/JC8sRz1mdW5jdGlvbihhKXt2YXIgYj1GLmV4ZWMoYSk7
YiYmKGJbMV09KGJbMV18fCIiKS50b0xvd2VyQ2FzZSgpLGJbM109YlszXSYmbmV3IFJlZ0V4cCgi
KD86XnxcXHMpIitiWzNdKyIoPzpcXHN8JCkiKSk7cmV0dXJuIGJ9LEg9ZnVuY3Rpb24oYSxiKXt2
YXIgYz1hLmF0dHJpYnV0ZXN8fHt9O3JldHVybighYlsxXXx8YS5ub2RlTmFtZS50b0xvd2VyQ2Fz
ZSgpPT09YlsxXSkmJighYlsyXXx8KGMuaWR8fHt9KS52YWx1ZT09PWJbMl0pJiYoIWJbM118fGJb
M10udGVzdCgoY1siY2xhc3MiXXx8e30pLnZhbHVlKSl9LEk9ZnVuY3Rpb24oYSl7cmV0dXJuIGYu
ZXZlbnQuc3BlY2lhbC5ob3Zlcj9hOmEucmVwbGFjZShCLCJtb3VzZWVudGVyJDEgbW91c2VsZWF2
ZSQxIil9OwpmLmV2ZW50PXthZGQ6ZnVuY3Rpb24oYSxjLGQsZSxnKXt2YXIgaCxpLGosayxsLG0s
bixvLHAscSxyLHM7aWYoIShhLm5vZGVUeXBlPT09M3x8YS5ub2RlVHlwZT09PTh8fCFjfHwhZHx8
IShoPWYuX2RhdGEoYSkpKSl7ZC5oYW5kbGVyJiYocD1kLGQ9cC5oYW5kbGVyKSxkLmd1aWR8fChk
Lmd1aWQ9Zi5ndWlkKyspLGo9aC5ldmVudHMsanx8KGguZXZlbnRzPWo9e30pLGk9aC5oYW5kbGUs
aXx8KGguaGFuZGxlPWk9ZnVuY3Rpb24oYSl7cmV0dXJuIHR5cGVvZiBmIT0idW5kZWZpbmVkIiYm
KCFhfHxmLmV2ZW50LnRyaWdnZXJlZCE9PWEudHlwZSk/Zi5ldmVudC5kaXNwYXRjaC5hcHBseShp
LmVsZW0sYXJndW1lbnRzKTpifSxpLmVsZW09YSksYz1mLnRyaW0oSShjKSkuc3BsaXQoIiAiKTtm
b3Ioaz0wO2s8Yy5sZW5ndGg7aysrKXtsPUEuZXhlYyhjW2tdKXx8W10sbT1sWzFdLG49KGxbMl18
fCIiKS5zcGxpdCgiLiIpLnNvcnQoKSxzPWYuZXZlbnQuc3BlY2lhbFttXXx8e30sbT0oZz9zLmRl
bGVnYXRlVHlwZTpzLmJpbmRUeXBlKXx8bSxzPWYuZXZlbnQuc3BlY2lhbFttXXx8e30sbz1mLmV4
dGVuZCh7dHlwZTptLG9yaWdUeXBlOmxbMV0sZGF0YTplLGhhbmRsZXI6ZCxndWlkOmQuZ3VpZCxz
ZWxlY3RvcjpnLHF1aWNrOkcoZyksbmFtZXNwYWNlOm4uam9pbigiLiIpfSxwKSxyPWpbbV07aWYo
IXIpe3I9alttXT1bXSxyLmRlbGVnYXRlQ291bnQ9MDtpZighcy5zZXR1cHx8cy5zZXR1cC5jYWxs
KGEsZSxuLGkpPT09ITEpYS5hZGRFdmVudExpc3RlbmVyP2EuYWRkRXZlbnRMaXN0ZW5lcihtLGks
ITEpOmEuYXR0YWNoRXZlbnQmJmEuYXR0YWNoRXZlbnQoIm9uIittLGkpfXMuYWRkJiYocy5hZGQu
Y2FsbChhLG8pLG8uaGFuZGxlci5ndWlkfHwoby5oYW5kbGVyLmd1aWQ9ZC5ndWlkKSksZz9yLnNw
bGljZShyLmRlbGVnYXRlQ291bnQrKywwLG8pOnIucHVzaChvKSxmLmV2ZW50Lmdsb2JhbFttXT0h
MH1hPW51bGx9fSxnbG9iYWw6e30scmVtb3ZlOmZ1bmN0aW9uKGEsYixjLGQsZSl7dmFyIGc9Zi5o
YXNEYXRhKGEpJiZmLl9kYXRhKGEpLGgsaSxqLGssbCxtLG4sbyxwLHEscixzO2lmKCEhZyYmISEo
bz1nLmV2ZW50cykpe2I9Zi50cmltKEkoYnx8IiIpKS5zcGxpdCgiICIpO2ZvcihoPTA7aDxiLmxl
bmd0aDtoKyspe2k9QS5leGVjKGJbaF0pfHxbXSxqPWs9aVsxXSxsPWlbMl07aWYoIWope2Zvcihq
IGluIG8pZi5ldmVudC5yZW1vdmUoYSxqK2JbaF0sYyxkLCEwKTtjb250aW51ZX1wPWYuZXZlbnQu
c3BlY2lhbFtqXXx8e30saj0oZD9wLmRlbGVnYXRlVHlwZTpwLmJpbmRUeXBlKXx8aixyPW9bal18
fFtdLG09ci5sZW5ndGgsbD1sP25ldyBSZWdFeHAoIihefFxcLikiK2wuc3BsaXQoIi4iKS5zb3J0
KCkuam9pbigiXFwuKD86LipcXC4pPyIpKyIoXFwufCQpIik6bnVsbDtmb3Iobj0wO248ci5sZW5n
dGg7bisrKXM9cltuXSwoZXx8az09PXMub3JpZ1R5cGUpJiYoIWN8fGMuZ3VpZD09PXMuZ3VpZCkm
JighbHx8bC50ZXN0KHMubmFtZXNwYWNlKSkmJighZHx8ZD09PXMuc2VsZWN0b3J8fGQ9PT0iKioi
JiZzLnNlbGVjdG9yKSYmKHIuc3BsaWNlKG4tLSwxKSxzLnNlbGVjdG9yJiZyLmRlbGVnYXRlQ291
bnQtLSxwLnJlbW92ZSYmcC5yZW1vdmUuY2FsbChhLHMpKTtyLmxlbmd0aD09PTAmJm0hPT1yLmxl
bmd0aCYmKCghcC50ZWFyZG93bnx8cC50ZWFyZG93bi5jYWxsKGEsbCk9PT0hMSkmJmYucmVtb3Zl
RXZlbnQoYSxqLGcuaGFuZGxlKSxkZWxldGUgb1tqXSl9Zi5pc0VtcHR5T2JqZWN0KG8pJiYocT1n
LmhhbmRsZSxxJiYocS5lbGVtPW51bGwpLGYucmVtb3ZlRGF0YShhLFsiZXZlbnRzIiwiaGFuZGxl
Il0sITApKX19LGN1c3RvbUV2ZW50OntnZXREYXRhOiEwLHNldERhdGE6ITAsY2hhbmdlRGF0YToh
MH0sdHJpZ2dlcjpmdW5jdGlvbihjLGQsZSxnKXtpZighZXx8ZS5ub2RlVHlwZSE9PTMmJmUubm9k
ZVR5cGUhPT04KXt2YXIgaD1jLnR5cGV8fGMsaT1bXSxqLGssbCxtLG4sbyxwLHEscixzO2lmKEUu
dGVzdChoK2YuZXZlbnQudHJpZ2dlcmVkKSlyZXR1cm47aC5pbmRleE9mKCIhIik+PTAmJihoPWgu
c2xpY2UoMCwtMSksaz0hMCksaC5pbmRleE9mKCIuIik+PTAmJihpPWguc3BsaXQoIi4iKSxoPWku
c2hpZnQoKSxpLnNvcnQoKSk7aWYoKCFlfHxmLmV2ZW50LmN1c3RvbUV2ZW50W2hdKSYmIWYuZXZl
bnQuZ2xvYmFsW2hdKXJldHVybjtjPXR5cGVvZiBjPT0ib2JqZWN0Ij9jW2YuZXhwYW5kb10/Yzpu
ZXcgZi5FdmVudChoLGMpOm5ldyBmLkV2ZW50KGgpLGMudHlwZT1oLGMuaXNUcmlnZ2VyPSEwLGMu
ZXhjbHVzaXZlPWssYy5uYW1lc3BhY2U9aS5qb2luKCIuIiksYy5uYW1lc3BhY2VfcmU9Yy5uYW1l
c3BhY2U/bmV3IFJlZ0V4cCgiKF58XFwuKSIraS5qb2luKCJcXC4oPzouKlxcLik/IikrIihcXC58
JCkiKTpudWxsLG89aC5pbmRleE9mKCI6Iik8MD8ib24iK2g6IiI7aWYoIWUpe2o9Zi5jYWNoZTtm
b3IobCBpbiBqKWpbbF0uZXZlbnRzJiZqW2xdLmV2ZW50c1toXSYmZi5ldmVudC50cmlnZ2VyKGMs
ZCxqW2xdLmhhbmRsZS5lbGVtLCEwKTtyZXR1cm59Yy5yZXN1bHQ9YixjLnRhcmdldHx8KGMudGFy
Z2V0PWUpLGQ9ZCE9bnVsbD9mLm1ha2VBcnJheShkKTpbXSxkLnVuc2hpZnQoYykscD1mLmV2ZW50
LnNwZWNpYWxbaF18fHt9O2lmKHAudHJpZ2dlciYmcC50cmlnZ2VyLmFwcGx5KGUsZCk9PT0hMSly
ZXR1cm47cj1bW2UscC5iaW5kVHlwZXx8aF1dO2lmKCFnJiYhcC5ub0J1YmJsZSYmIWYuaXNXaW5k
b3coZSkpe3M9cC5kZWxlZ2F0ZVR5cGV8fGgsbT1FLnRlc3QocytoKT9lOmUucGFyZW50Tm9kZSxu
PW51bGw7Zm9yKDttO209bS5wYXJlbnROb2RlKXIucHVzaChbbSxzXSksbj1tO24mJm49PT1lLm93
bmVyRG9jdW1lbnQmJnIucHVzaChbbi5kZWZhdWx0Vmlld3x8bi5wYXJlbnRXaW5kb3d8fGEsc10p
fWZvcihsPTA7bDxyLmxlbmd0aCYmIWMuaXNQcm9wYWdhdGlvblN0b3BwZWQoKTtsKyspbT1yW2xd
WzBdLGMudHlwZT1yW2xdWzFdLHE9KGYuX2RhdGEobSwiZXZlbnRzIil8fHt9KVtjLnR5cGVdJiZm
Ll9kYXRhKG0sImhhbmRsZSIpLHEmJnEuYXBwbHkobSxkKSxxPW8mJm1bb10scSYmZi5hY2NlcHRE
YXRhKG0pJiZxLmFwcGx5KG0sZCk9PT0hMSYmYy5wcmV2ZW50RGVmYXVsdCgpO2MudHlwZT1oLCFn
JiYhYy5pc0RlZmF1bHRQcmV2ZW50ZWQoKSYmKCFwLl9kZWZhdWx0fHxwLl9kZWZhdWx0LmFwcGx5
KGUub3duZXJEb2N1bWVudCxkKT09PSExKSYmKGghPT0iY2xpY2sifHwhZi5ub2RlTmFtZShlLCJh
IikpJiZmLmFjY2VwdERhdGEoZSkmJm8mJmVbaF0mJihoIT09ImZvY3VzIiYmaCE9PSJibHVyInx8
Yy50YXJnZXQub2Zmc2V0V2lkdGghPT0wKSYmIWYuaXNXaW5kb3coZSkmJihuPWVbb10sbiYmKGVb
b109bnVsbCksZi5ldmVudC50cmlnZ2VyZWQ9aCxlW2hdKCksZi5ldmVudC50cmlnZ2VyZWQ9Yixu
JiYoZVtvXT1uKSk7cmV0dXJuIGMucmVzdWx0fX0sZGlzcGF0Y2g6ZnVuY3Rpb24oYyl7Yz1mLmV2
ZW50LmZpeChjfHxhLmV2ZW50KTt2YXIgZD0oZi5fZGF0YSh0aGlzLCJldmVudHMiKXx8e30pW2Mu
dHlwZV18fFtdLGU9ZC5kZWxlZ2F0ZUNvdW50LGc9W10uc2xpY2UuY2FsbChhcmd1bWVudHMsMCks
aD0hYy5leGNsdXNpdmUmJiFjLm5hbWVzcGFjZSxpPVtdLGosayxsLG0sbixvLHAscSxyLHMsdDtn
WzBdPWMsYy5kZWxlZ2F0ZVRhcmdldD10aGlzO2lmKGUmJiFjLnRhcmdldC5kaXNhYmxlZCYmKCFj
LmJ1dHRvbnx8Yy50eXBlIT09ImNsaWNrIikpe209Zih0aGlzKSxtLmNvbnRleHQ9dGhpcy5vd25l
ckRvY3VtZW50fHx0aGlzO2ZvcihsPWMudGFyZ2V0O2whPXRoaXM7bD1sLnBhcmVudE5vZGV8fHRo
aXMpe289e30scT1bXSxtWzBdPWw7Zm9yKGo9MDtqPGU7aisrKXI9ZFtqXSxzPXIuc2VsZWN0b3Is
b1tzXT09PWImJihvW3NdPXIucXVpY2s/SChsLHIucXVpY2spOm0uaXMocykpLG9bc10mJnEucHVz
aChyKTtxLmxlbmd0aCYmaS5wdXNoKHtlbGVtOmwsbWF0Y2hlczpxfSl9fWQubGVuZ3RoPmUmJmku
cHVzaCh7ZWxlbTp0aGlzLG1hdGNoZXM6ZC5zbGljZShlKX0pO2ZvcihqPTA7ajxpLmxlbmd0aCYm
IWMuaXNQcm9wYWdhdGlvblN0b3BwZWQoKTtqKyspe3A9aVtqXSxjLmN1cnJlbnRUYXJnZXQ9cC5l
bGVtO2ZvcihrPTA7azxwLm1hdGNoZXMubGVuZ3RoJiYhYy5pc0ltbWVkaWF0ZVByb3BhZ2F0aW9u
U3RvcHBlZCgpO2srKyl7cj1wLm1hdGNoZXNba107aWYoaHx8IWMubmFtZXNwYWNlJiYhci5uYW1l
c3BhY2V8fGMubmFtZXNwYWNlX3JlJiZjLm5hbWVzcGFjZV9yZS50ZXN0KHIubmFtZXNwYWNlKSlj
LmRhdGE9ci5kYXRhLGMuaGFuZGxlT2JqPXIsbj0oKGYuZXZlbnQuc3BlY2lhbFtyLm9yaWdUeXBl
XXx8e30pLmhhbmRsZXx8ci5oYW5kbGVyKS5hcHBseShwLmVsZW0sZyksbiE9PWImJihjLnJlc3Vs
dD1uLG49PT0hMSYmKGMucHJldmVudERlZmF1bHQoKSxjLnN0b3BQcm9wYWdhdGlvbigpKSl9fXJl
dHVybiBjLnJlc3VsdH0scHJvcHM6ImF0dHJDaGFuZ2UgYXR0ck5hbWUgcmVsYXRlZE5vZGUgc3Jj
RWxlbWVudCBhbHRLZXkgYnViYmxlcyBjYW5jZWxhYmxlIGN0cmxLZXkgY3VycmVudFRhcmdldCBl
dmVudFBoYXNlIG1ldGFLZXkgcmVsYXRlZFRhcmdldCBzaGlmdEtleSB0YXJnZXQgdGltZVN0YW1w
IHZpZXcgd2hpY2giLnNwbGl0KCIgIiksZml4SG9va3M6e30sa2V5SG9va3M6e3Byb3BzOiJjaGFy
IGNoYXJDb2RlIGtleSBrZXlDb2RlIi5zcGxpdCgiICIpLGZpbHRlcjpmdW5jdGlvbihhLGIpe2Eu
d2hpY2g9PW51bGwmJihhLndoaWNoPWIuY2hhckNvZGUhPW51bGw/Yi5jaGFyQ29kZTpiLmtleUNv
ZGUpO3JldHVybiBhfX0sbW91c2VIb29rczp7cHJvcHM6ImJ1dHRvbiBidXR0b25zIGNsaWVudFgg
Y2xpZW50WSBmcm9tRWxlbWVudCBvZmZzZXRYIG9mZnNldFkgcGFnZVggcGFnZVkgc2NyZWVuWCBz
Y3JlZW5ZIHRvRWxlbWVudCIuc3BsaXQoIiAiKSxmaWx0ZXI6ZnVuY3Rpb24oYSxkKXt2YXIgZSxm
LGcsaD1kLmJ1dHRvbixpPWQuZnJvbUVsZW1lbnQ7YS5wYWdlWD09bnVsbCYmZC5jbGllbnRYIT1u
dWxsJiYoZT1hLnRhcmdldC5vd25lckRvY3VtZW50fHxjLGY9ZS5kb2N1bWVudEVsZW1lbnQsZz1l
LmJvZHksYS5wYWdlWD1kLmNsaWVudFgrKGYmJmYuc2Nyb2xsTGVmdHx8ZyYmZy5zY3JvbGxMZWZ0
fHwwKS0oZiYmZi5jbGllbnRMZWZ0fHxnJiZnLmNsaWVudExlZnR8fDApLGEucGFnZVk9ZC5jbGll
bnRZKyhmJiZmLnNjcm9sbFRvcHx8ZyYmZy5zY3JvbGxUb3B8fDApLShmJiZmLmNsaWVudFRvcHx8
ZyYmZy5jbGllbnRUb3B8fDApKSwhYS5yZWxhdGVkVGFyZ2V0JiZpJiYoYS5yZWxhdGVkVGFyZ2V0
PWk9PT1hLnRhcmdldD9kLnRvRWxlbWVudDppKSwhYS53aGljaCYmaCE9PWImJihhLndoaWNoPWgm
MT8xOmgmMj8zOmgmND8yOjApO3JldHVybiBhfX0sZml4OmZ1bmN0aW9uKGEpe2lmKGFbZi5leHBh
bmRvXSlyZXR1cm4gYTt2YXIgZCxlLGc9YSxoPWYuZXZlbnQuZml4SG9va3NbYS50eXBlXXx8e30s
aT1oLnByb3BzP3RoaXMucHJvcHMuY29uY2F0KGgucHJvcHMpOnRoaXMucHJvcHM7YT1mLkV2ZW50
KGcpO2ZvcihkPWkubGVuZ3RoO2Q7KWU9aVstLWRdLGFbZV09Z1tlXTthLnRhcmdldHx8KGEudGFy
Z2V0PWcuc3JjRWxlbWVudHx8YyksYS50YXJnZXQubm9kZVR5cGU9PT0zJiYoYS50YXJnZXQ9YS50
YXJnZXQucGFyZW50Tm9kZSksYS5tZXRhS2V5PT09YiYmKGEubWV0YUtleT1hLmN0cmxLZXkpO3Jl
dHVybiBoLmZpbHRlcj9oLmZpbHRlcihhLGcpOmF9LHNwZWNpYWw6e3JlYWR5OntzZXR1cDpmLmJp
bmRSZWFkeX0sbG9hZDp7bm9CdWJibGU6ITB9LGZvY3VzOntkZWxlZ2F0ZVR5cGU6ImZvY3VzaW4i
fSxibHVyOntkZWxlZ2F0ZVR5cGU6ImZvY3Vzb3V0In0sYmVmb3JldW5sb2FkOntzZXR1cDpmdW5j
dGlvbihhLGIsYyl7Zi5pc1dpbmRvdyh0aGlzKSYmKHRoaXMub25iZWZvcmV1bmxvYWQ9Yyl9LHRl
YXJkb3duOmZ1bmN0aW9uKGEsYil7dGhpcy5vbmJlZm9yZXVubG9hZD09PWImJih0aGlzLm9uYmVm
b3JldW5sb2FkPW51bGwpfX19LHNpbXVsYXRlOmZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPWYuZXh0
ZW5kKG5ldyBmLkV2ZW50LGMse3R5cGU6YSxpc1NpbXVsYXRlZDohMCxvcmlnaW5hbEV2ZW50Ont9
fSk7ZD9mLmV2ZW50LnRyaWdnZXIoZSxudWxsLGIpOmYuZXZlbnQuZGlzcGF0Y2guY2FsbChiLGUp
LGUuaXNEZWZhdWx0UHJldmVudGVkKCkmJmMucHJldmVudERlZmF1bHQoKX19LGYuZXZlbnQuaGFu
ZGxlPWYuZXZlbnQuZGlzcGF0Y2gsZi5yZW1vdmVFdmVudD1jLnJlbW92ZUV2ZW50TGlzdGVuZXI/
ZnVuY3Rpb24oYSxiLGMpe2EucmVtb3ZlRXZlbnRMaXN0ZW5lciYmYS5yZW1vdmVFdmVudExpc3Rl
bmVyKGIsYywhMSl9OmZ1bmN0aW9uKGEsYixjKXthLmRldGFjaEV2ZW50JiZhLmRldGFjaEV2ZW50
KCJvbiIrYixjKX0sZi5FdmVudD1mdW5jdGlvbihhLGIpe2lmKCEodGhpcyBpbnN0YW5jZW9mIGYu
RXZlbnQpKXJldHVybiBuZXcgZi5FdmVudChhLGIpO2EmJmEudHlwZT8odGhpcy5vcmlnaW5hbEV2
ZW50PWEsdGhpcy50eXBlPWEudHlwZSx0aGlzLmlzRGVmYXVsdFByZXZlbnRlZD1hLmRlZmF1bHRQ
cmV2ZW50ZWR8fGEucmV0dXJuVmFsdWU9PT0hMXx8YS5nZXRQcmV2ZW50RGVmYXVsdCYmYS5nZXRQ
cmV2ZW50RGVmYXVsdCgpP0s6Sik6dGhpcy50eXBlPWEsYiYmZi5leHRlbmQodGhpcyxiKSx0aGlz
LnRpbWVTdGFtcD1hJiZhLnRpbWVTdGFtcHx8Zi5ub3coKSx0aGlzW2YuZXhwYW5kb109ITB9LGYu
RXZlbnQucHJvdG90eXBlPXtwcmV2ZW50RGVmYXVsdDpmdW5jdGlvbigpe3RoaXMuaXNEZWZhdWx0
UHJldmVudGVkPUs7dmFyIGE9dGhpcy5vcmlnaW5hbEV2ZW50OyFhfHwoYS5wcmV2ZW50RGVmYXVs
dD9hLnByZXZlbnREZWZhdWx0KCk6YS5yZXR1cm5WYWx1ZT0hMSl9LHN0b3BQcm9wYWdhdGlvbjpm
dW5jdGlvbigpe3RoaXMuaXNQcm9wYWdhdGlvblN0b3BwZWQ9Szt2YXIgYT10aGlzLm9yaWdpbmFs
RXZlbnQ7IWF8fChhLnN0b3BQcm9wYWdhdGlvbiYmYS5zdG9wUHJvcGFnYXRpb24oKSxhLmNhbmNl
bEJ1YmJsZT0hMCl9LHN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbjpmdW5jdGlvbigpe3RoaXMuaXNJ
bW1lZGlhdGVQcm9wYWdhdGlvblN0b3BwZWQ9Syx0aGlzLnN0b3BQcm9wYWdhdGlvbigpfSxpc0Rl
ZmF1bHRQcmV2ZW50ZWQ6Sixpc1Byb3BhZ2F0aW9uU3RvcHBlZDpKLGlzSW1tZWRpYXRlUHJvcGFn
YXRpb25TdG9wcGVkOkp9LGYuZWFjaCh7bW91c2VlbnRlcjoibW91c2VvdmVyIixtb3VzZWxlYXZl
OiJtb3VzZW91dCJ9LGZ1bmN0aW9uKGEsYil7Zi5ldmVudC5zcGVjaWFsW2FdPXtkZWxlZ2F0ZVR5
cGU6YixiaW5kVHlwZTpiLGhhbmRsZTpmdW5jdGlvbihhKXt2YXIgYz10aGlzLGQ9YS5yZWxhdGVk
VGFyZ2V0LGU9YS5oYW5kbGVPYmosZz1lLnNlbGVjdG9yLGg7aWYoIWR8fGQhPT1jJiYhZi5jb250
YWlucyhjLGQpKWEudHlwZT1lLm9yaWdUeXBlLGg9ZS5oYW5kbGVyLmFwcGx5KHRoaXMsYXJndW1l
bnRzKSxhLnR5cGU9YjtyZXR1cm4gaH19fSksZi5zdXBwb3J0LnN1Ym1pdEJ1YmJsZXN8fChmLmV2
ZW50LnNwZWNpYWwuc3VibWl0PXtzZXR1cDpmdW5jdGlvbigpe2lmKGYubm9kZU5hbWUodGhpcywi
Zm9ybSIpKXJldHVybiExO2YuZXZlbnQuYWRkKHRoaXMsImNsaWNrLl9zdWJtaXQga2V5cHJlc3Mu
X3N1Ym1pdCIsZnVuY3Rpb24oYSl7dmFyIGM9YS50YXJnZXQsZD1mLm5vZGVOYW1lKGMsImlucHV0
Iil8fGYubm9kZU5hbWUoYywiYnV0dG9uIik/Yy5mb3JtOmI7ZCYmIWQuX3N1Ym1pdF9hdHRhY2hl
ZCYmKGYuZXZlbnQuYWRkKGQsInN1Ym1pdC5fc3VibWl0IixmdW5jdGlvbihhKXt0aGlzLnBhcmVu
dE5vZGUmJiFhLmlzVHJpZ2dlciYmZi5ldmVudC5zaW11bGF0ZSgic3VibWl0Iix0aGlzLnBhcmVu
dE5vZGUsYSwhMCl9KSxkLl9zdWJtaXRfYXR0YWNoZWQ9ITApfSl9LHRlYXJkb3duOmZ1bmN0aW9u
KCl7aWYoZi5ub2RlTmFtZSh0aGlzLCJmb3JtIikpcmV0dXJuITE7Zi5ldmVudC5yZW1vdmUodGhp
cywiLl9zdWJtaXQiKX19KSxmLnN1cHBvcnQuY2hhbmdlQnViYmxlc3x8KGYuZXZlbnQuc3BlY2lh
bC5jaGFuZ2U9e3NldHVwOmZ1bmN0aW9uKCl7aWYoei50ZXN0KHRoaXMubm9kZU5hbWUpKXtpZih0
aGlzLnR5cGU9PT0iY2hlY2tib3gifHx0aGlzLnR5cGU9PT0icmFkaW8iKWYuZXZlbnQuYWRkKHRo
aXMsInByb3BlcnR5Y2hhbmdlLl9jaGFuZ2UiLGZ1bmN0aW9uKGEpe2Eub3JpZ2luYWxFdmVudC5w
cm9wZXJ0eU5hbWU9PT0iY2hlY2tlZCImJih0aGlzLl9qdXN0X2NoYW5nZWQ9ITApfSksZi5ldmVu
dC5hZGQodGhpcywiY2xpY2suX2NoYW5nZSIsZnVuY3Rpb24oYSl7dGhpcy5fanVzdF9jaGFuZ2Vk
JiYhYS5pc1RyaWdnZXImJih0aGlzLl9qdXN0X2NoYW5nZWQ9ITEsZi5ldmVudC5zaW11bGF0ZSgi
Y2hhbmdlIix0aGlzLGEsITApKX0pO3JldHVybiExfWYuZXZlbnQuYWRkKHRoaXMsImJlZm9yZWFj
dGl2YXRlLl9jaGFuZ2UiLGZ1bmN0aW9uKGEpe3ZhciBiPWEudGFyZ2V0O3oudGVzdChiLm5vZGVO
YW1lKSYmIWIuX2NoYW5nZV9hdHRhY2hlZCYmKGYuZXZlbnQuYWRkKGIsImNoYW5nZS5fY2hhbmdl
IixmdW5jdGlvbihhKXt0aGlzLnBhcmVudE5vZGUmJiFhLmlzU2ltdWxhdGVkJiYhYS5pc1RyaWdn
ZXImJmYuZXZlbnQuc2ltdWxhdGUoImNoYW5nZSIsdGhpcy5wYXJlbnROb2RlLGEsITApfSksYi5f
Y2hhbmdlX2F0dGFjaGVkPSEwKX0pfSxoYW5kbGU6ZnVuY3Rpb24oYSl7dmFyIGI9YS50YXJnZXQ7
aWYodGhpcyE9PWJ8fGEuaXNTaW11bGF0ZWR8fGEuaXNUcmlnZ2VyfHxiLnR5cGUhPT0icmFkaW8i
JiZiLnR5cGUhPT0iY2hlY2tib3giKXJldHVybiBhLmhhbmRsZU9iai5oYW5kbGVyLmFwcGx5KHRo
aXMsYXJndW1lbnRzKX0sdGVhcmRvd246ZnVuY3Rpb24oKXtmLmV2ZW50LnJlbW92ZSh0aGlzLCIu
X2NoYW5nZSIpO3JldHVybiB6LnRlc3QodGhpcy5ub2RlTmFtZSl9fSksZi5zdXBwb3J0LmZvY3Vz
aW5CdWJibGVzfHxmLmVhY2goe2ZvY3VzOiJmb2N1c2luIixibHVyOiJmb2N1c291dCJ9LGZ1bmN0
aW9uKGEsYil7dmFyIGQ9MCxlPWZ1bmN0aW9uKGEpe2YuZXZlbnQuc2ltdWxhdGUoYixhLnRhcmdl
dCxmLmV2ZW50LmZpeChhKSwhMCl9O2YuZXZlbnQuc3BlY2lhbFtiXT17c2V0dXA6ZnVuY3Rpb24o
KXtkKys9PT0wJiZjLmFkZEV2ZW50TGlzdGVuZXIoYSxlLCEwKX0sdGVhcmRvd246ZnVuY3Rpb24o
KXstLWQ9PT0wJiZjLnJlbW92ZUV2ZW50TGlzdGVuZXIoYSxlLCEwKX19fSksZi5mbi5leHRlbmQo
e29uOmZ1bmN0aW9uKGEsYyxkLGUsZyl7dmFyIGgsaTtpZih0eXBlb2YgYT09Im9iamVjdCIpe3R5
cGVvZiBjIT0ic3RyaW5nIiYmKGQ9YyxjPWIpO2ZvcihpIGluIGEpdGhpcy5vbihpLGMsZCxhW2ld
LGcpO3JldHVybiB0aGlzfWQ9PW51bGwmJmU9PW51bGw/KGU9YyxkPWM9Yik6ZT09bnVsbCYmKHR5
cGVvZiBjPT0ic3RyaW5nIj8oZT1kLGQ9Yik6KGU9ZCxkPWMsYz1iKSk7aWYoZT09PSExKWU9Sjtl
bHNlIGlmKCFlKXJldHVybiB0aGlzO2c9PT0xJiYoaD1lLGU9ZnVuY3Rpb24oYSl7ZigpLm9mZihh
KTtyZXR1cm4gaC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9LGUuZ3VpZD1oLmd1aWR8fChoLmd1aWQ9
Zi5ndWlkKyspKTtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7Zi5ldmVudC5hZGQodGhpcyxh
LGUsZCxjKX0pfSxvbmU6ZnVuY3Rpb24oYSxiLGMsZCl7cmV0dXJuIHRoaXMub24uY2FsbCh0aGlz
LGEsYixjLGQsMSl9LG9mZjpmdW5jdGlvbihhLGMsZCl7aWYoYSYmYS5wcmV2ZW50RGVmYXVsdCYm
YS5oYW5kbGVPYmope3ZhciBlPWEuaGFuZGxlT2JqO2YoYS5kZWxlZ2F0ZVRhcmdldCkub2ZmKGUu
bmFtZXNwYWNlP2UudHlwZSsiLiIrZS5uYW1lc3BhY2U6ZS50eXBlLGUuc2VsZWN0b3IsZS5oYW5k
bGVyKTtyZXR1cm4gdGhpc31pZih0eXBlb2YgYT09Im9iamVjdCIpe2Zvcih2YXIgZyBpbiBhKXRo
aXMub2ZmKGcsYyxhW2ddKTtyZXR1cm4gdGhpc31pZihjPT09ITF8fHR5cGVvZiBjPT0iZnVuY3Rp
b24iKWQ9YyxjPWI7ZD09PSExJiYoZD1KKTtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7Zi5l
dmVudC5yZW1vdmUodGhpcyxhLGQsYyl9KX0sYmluZDpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIHRo
aXMub24oYSxudWxsLGIsYyl9LHVuYmluZDpmdW5jdGlvbihhLGIpe3JldHVybiB0aGlzLm9mZihh
LG51bGwsYil9LGxpdmU6ZnVuY3Rpb24oYSxiLGMpe2YodGhpcy5jb250ZXh0KS5vbihhLHRoaXMu
c2VsZWN0b3IsYixjKTtyZXR1cm4gdGhpc30sZGllOmZ1bmN0aW9uKGEsYil7Zih0aGlzLmNvbnRl
eHQpLm9mZihhLHRoaXMuc2VsZWN0b3J8fCIqKiIsYik7cmV0dXJuIHRoaXN9LGRlbGVnYXRlOmZ1
bmN0aW9uKGEsYixjLGQpe3JldHVybiB0aGlzLm9uKGIsYSxjLGQpfSx1bmRlbGVnYXRlOmZ1bmN0
aW9uKGEsYixjKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD09MT90aGlzLm9mZihhLCIqKiIpOnRo
aXMub2ZmKGIsYSxjKX0sdHJpZ2dlcjpmdW5jdGlvbihhLGIpe3JldHVybiB0aGlzLmVhY2goZnVu
Y3Rpb24oKXtmLmV2ZW50LnRyaWdnZXIoYSxiLHRoaXMpfSl9LHRyaWdnZXJIYW5kbGVyOmZ1bmN0
aW9uKGEsYil7aWYodGhpc1swXSlyZXR1cm4gZi5ldmVudC50cmlnZ2VyKGEsYix0aGlzWzBdLCEw
KX0sdG9nZ2xlOmZ1bmN0aW9uKGEpe3ZhciBiPWFyZ3VtZW50cyxjPWEuZ3VpZHx8Zi5ndWlkKyss
ZD0wLGU9ZnVuY3Rpb24oYyl7dmFyIGU9KGYuX2RhdGEodGhpcywibGFzdFRvZ2dsZSIrYS5ndWlk
KXx8MCklZDtmLl9kYXRhKHRoaXMsImxhc3RUb2dnbGUiK2EuZ3VpZCxlKzEpLGMucHJldmVudERl
ZmF1bHQoKTtyZXR1cm4gYltlXS5hcHBseSh0aGlzLGFyZ3VtZW50cyl8fCExfTtlLmd1aWQ9Yzt3
aGlsZShkPGIubGVuZ3RoKWJbZCsrXS5ndWlkPWM7cmV0dXJuIHRoaXMuY2xpY2soZSl9LGhvdmVy
OmZ1bmN0aW9uKGEsYil7cmV0dXJuIHRoaXMubW91c2VlbnRlcihhKS5tb3VzZWxlYXZlKGJ8fGEp
fX0pLGYuZWFjaCgiYmx1ciBmb2N1cyBmb2N1c2luIGZvY3Vzb3V0IGxvYWQgcmVzaXplIHNjcm9s
bCB1bmxvYWQgY2xpY2sgZGJsY2xpY2sgbW91c2Vkb3duIG1vdXNldXAgbW91c2Vtb3ZlIG1vdXNl
b3ZlciBtb3VzZW91dCBtb3VzZWVudGVyIG1vdXNlbGVhdmUgY2hhbmdlIHNlbGVjdCBzdWJtaXQg
a2V5ZG93biBrZXlwcmVzcyBrZXl1cCBlcnJvciBjb250ZXh0bWVudSIuc3BsaXQoIiAiKSxmdW5j
dGlvbihhLGIpe2YuZm5bYl09ZnVuY3Rpb24oYSxjKXtjPT1udWxsJiYoYz1hLGE9bnVsbCk7cmV0
dXJuIGFyZ3VtZW50cy5sZW5ndGg+MD90aGlzLm9uKGIsbnVsbCxhLGMpOnRoaXMudHJpZ2dlcihi
KX0sZi5hdHRyRm4mJihmLmF0dHJGbltiXT0hMCksQy50ZXN0KGIpJiYoZi5ldmVudC5maXhIb29r
c1tiXT1mLmV2ZW50LmtleUhvb2tzKSxELnRlc3QoYikmJihmLmV2ZW50LmZpeEhvb2tzW2JdPWYu
ZXZlbnQubW91c2VIb29rcyl9KSxmdW5jdGlvbigpe2Z1bmN0aW9uIHgoYSxiLGMsZSxmLGcpe2Zv
cih2YXIgaD0wLGk9ZS5sZW5ndGg7aDxpO2grKyl7dmFyIGo9ZVtoXTtpZihqKXt2YXIgaz0hMTtq
PWpbYV07d2hpbGUoail7aWYoaltkXT09PWMpe2s9ZVtqLnNpenNldF07YnJlYWt9aWYoai5ub2Rl
VHlwZT09PTEpe2d8fChqW2RdPWMsai5zaXpzZXQ9aCk7aWYodHlwZW9mIGIhPSJzdHJpbmciKXtp
ZihqPT09Yil7az0hMDticmVha319ZWxzZSBpZihtLmZpbHRlcihiLFtqXSkubGVuZ3RoPjApe2s9
ajticmVha319aj1qW2FdfWVbaF09a319fWZ1bmN0aW9uIHcoYSxiLGMsZSxmLGcpe2Zvcih2YXIg
aD0wLGk9ZS5sZW5ndGg7aDxpO2grKyl7dmFyIGo9ZVtoXTtpZihqKXt2YXIgaz0hMTtqPWpbYV07
d2hpbGUoail7aWYoaltkXT09PWMpe2s9ZVtqLnNpenNldF07YnJlYWt9ai5ub2RlVHlwZT09PTEm
JiFnJiYoaltkXT1jLGouc2l6c2V0PWgpO2lmKGoubm9kZU5hbWUudG9Mb3dlckNhc2UoKT09PWIp
e2s9ajticmVha31qPWpbYV19ZVtoXT1rfX19dmFyIGE9LygoPzpcKCg/OlwoW14oKV0rXCl8W14o
KV0rKStcKXxcWyg/OlxbW15cW1xdXSpcXXxbJyJdW14nIl0qWyciXXxbXlxbXF0nIl0rKStcXXxc
XC58W14gPit+LChcW1xcXSspK3xbPit+XSkoXHMqLFxzKik/KCg/Oi58XHJ8XG4pKikvZyxkPSJz
aXpjYWNoZSIrKE1hdGgucmFuZG9tKCkrIiIpLnJlcGxhY2UoIi4iLCIiKSxlPTAsZz1PYmplY3Qu
cHJvdG90eXBlLnRvU3RyaW5nLGg9ITEsaT0hMCxqPS9cXC9nLGs9L1xyXG4vZyxsPS9cVy87WzAs
MF0uc29ydChmdW5jdGlvbigpe2k9ITE7cmV0dXJuIDB9KTt2YXIgbT1mdW5jdGlvbihiLGQsZSxm
KXtlPWV8fFtdLGQ9ZHx8Yzt2YXIgaD1kO2lmKGQubm9kZVR5cGUhPT0xJiZkLm5vZGVUeXBlIT09
OSlyZXR1cm5bXTtpZighYnx8dHlwZW9mIGIhPSJzdHJpbmciKXJldHVybiBlO3ZhciBpLGosayxs
LG4scSxyLHQsdT0hMCx2PW0uaXNYTUwoZCksdz1bXSx4PWI7ZG97YS5leGVjKCIiKSxpPWEuZXhl
Yyh4KTtpZihpKXt4PWlbM10sdy5wdXNoKGlbMV0pO2lmKGlbMl0pe2w9aVszXTticmVha319fXdo
aWxlKGkpO2lmKHcubGVuZ3RoPjEmJnAuZXhlYyhiKSlpZih3Lmxlbmd0aD09PTImJm8ucmVsYXRp
dmVbd1swXV0paj15KHdbMF0rd1sxXSxkLGYpO2Vsc2V7aj1vLnJlbGF0aXZlW3dbMF1dP1tkXTpt
KHcuc2hpZnQoKSxkKTt3aGlsZSh3Lmxlbmd0aCliPXcuc2hpZnQoKSxvLnJlbGF0aXZlW2JdJiYo
Yis9dy5zaGlmdCgpKSxqPXkoYixqLGYpfWVsc2V7IWYmJncubGVuZ3RoPjEmJmQubm9kZVR5cGU9
PT05JiYhdiYmby5tYXRjaC5JRC50ZXN0KHdbMF0pJiYhby5tYXRjaC5JRC50ZXN0KHdbdy5sZW5n
dGgtMV0pJiYobj1tLmZpbmQody5zaGlmdCgpLGQsdiksZD1uLmV4cHI/bS5maWx0ZXIobi5leHBy
LG4uc2V0KVswXTpuLnNldFswXSk7aWYoZCl7bj1mP3tleHByOncucG9wKCksc2V0OnMoZil9Om0u
ZmluZCh3LnBvcCgpLHcubGVuZ3RoPT09MSYmKHdbMF09PT0ifiJ8fHdbMF09PT0iKyIpJiZkLnBh
cmVudE5vZGU/ZC5wYXJlbnROb2RlOmQsdiksaj1uLmV4cHI/bS5maWx0ZXIobi5leHByLG4uc2V0
KTpuLnNldCx3Lmxlbmd0aD4wP2s9cyhqKTp1PSExO3doaWxlKHcubGVuZ3RoKXE9dy5wb3AoKSxy
PXEsby5yZWxhdGl2ZVtxXT9yPXcucG9wKCk6cT0iIixyPT1udWxsJiYocj1kKSxvLnJlbGF0aXZl
W3FdKGsscix2KX1lbHNlIGs9dz1bXX1rfHwoaz1qKSxrfHxtLmVycm9yKHF8fGIpO2lmKGcuY2Fs
bChrKT09PSJbb2JqZWN0IEFycmF5XSIpaWYoIXUpZS5wdXNoLmFwcGx5KGUsayk7ZWxzZSBpZihk
JiZkLm5vZGVUeXBlPT09MSlmb3IodD0wO2tbdF0hPW51bGw7dCsrKWtbdF0mJihrW3RdPT09ITB8
fGtbdF0ubm9kZVR5cGU9PT0xJiZtLmNvbnRhaW5zKGQsa1t0XSkpJiZlLnB1c2goalt0XSk7ZWxz
ZSBmb3IodD0wO2tbdF0hPW51bGw7dCsrKWtbdF0mJmtbdF0ubm9kZVR5cGU9PT0xJiZlLnB1c2go
alt0XSk7ZWxzZSBzKGssZSk7bCYmKG0obCxoLGUsZiksbS51bmlxdWVTb3J0KGUpKTtyZXR1cm4g
ZX07bS51bmlxdWVTb3J0PWZ1bmN0aW9uKGEpe2lmKHUpe2g9aSxhLnNvcnQodSk7aWYoaClmb3Io
dmFyIGI9MTtiPGEubGVuZ3RoO2IrKylhW2JdPT09YVtiLTFdJiZhLnNwbGljZShiLS0sMSl9cmV0
dXJuIGF9LG0ubWF0Y2hlcz1mdW5jdGlvbihhLGIpe3JldHVybiBtKGEsbnVsbCxudWxsLGIpfSxt
Lm1hdGNoZXNTZWxlY3Rvcj1mdW5jdGlvbihhLGIpe3JldHVybiBtKGIsbnVsbCxudWxsLFthXSku
bGVuZ3RoPjB9LG0uZmluZD1mdW5jdGlvbihhLGIsYyl7dmFyIGQsZSxmLGcsaCxpO2lmKCFhKXJl
dHVybltdO2ZvcihlPTAsZj1vLm9yZGVyLmxlbmd0aDtlPGY7ZSsrKXtoPW8ub3JkZXJbZV07aWYo
Zz1vLmxlZnRNYXRjaFtoXS5leGVjKGEpKXtpPWdbMV0sZy5zcGxpY2UoMSwxKTtpZihpLnN1YnN0
cihpLmxlbmd0aC0xKSE9PSJcXCIpe2dbMV09KGdbMV18fCIiKS5yZXBsYWNlKGosIiIpLGQ9by5m
aW5kW2hdKGcsYixjKTtpZihkIT1udWxsKXthPWEucmVwbGFjZShvLm1hdGNoW2hdLCIiKTticmVh
a319fX1kfHwoZD10eXBlb2YgYi5nZXRFbGVtZW50c0J5VGFnTmFtZSE9InVuZGVmaW5lZCI/Yi5n
ZXRFbGVtZW50c0J5VGFnTmFtZSgiKiIpOltdKTtyZXR1cm57c2V0OmQsZXhwcjphfX0sbS5maWx0
ZXI9ZnVuY3Rpb24oYSxjLGQsZSl7dmFyIGYsZyxoLGksaixrLGwsbixwLHE9YSxyPVtdLHM9Yyx0
PWMmJmNbMF0mJm0uaXNYTUwoY1swXSk7d2hpbGUoYSYmYy5sZW5ndGgpe2ZvcihoIGluIG8uZmls
dGVyKWlmKChmPW8ubGVmdE1hdGNoW2hdLmV4ZWMoYSkpIT1udWxsJiZmWzJdKXtrPW8uZmlsdGVy
W2hdLGw9ZlsxXSxnPSExLGYuc3BsaWNlKDEsMSk7aWYobC5zdWJzdHIobC5sZW5ndGgtMSk9PT0i
XFwiKWNvbnRpbnVlO3M9PT1yJiYocj1bXSk7aWYoby5wcmVGaWx0ZXJbaF0pe2Y9by5wcmVGaWx0
ZXJbaF0oZixzLGQscixlLHQpO2lmKCFmKWc9aT0hMDtlbHNlIGlmKGY9PT0hMCljb250aW51ZX1p
ZihmKWZvcihuPTA7KGo9c1tuXSkhPW51bGw7bisrKWomJihpPWsoaixmLG4scykscD1lXmksZCYm
aSE9bnVsbD9wP2c9ITA6c1tuXT0hMTpwJiYoci5wdXNoKGopLGc9ITApKTtpZihpIT09Yil7ZHx8
KHM9ciksYT1hLnJlcGxhY2Uoby5tYXRjaFtoXSwiIik7aWYoIWcpcmV0dXJuW107YnJlYWt9fWlm
KGE9PT1xKWlmKGc9PW51bGwpbS5lcnJvcihhKTtlbHNlIGJyZWFrO3E9YX1yZXR1cm4gc30sbS5l
cnJvcj1mdW5jdGlvbihhKXt0aHJvdyBuZXcgRXJyb3IoIlN5bnRheCBlcnJvciwgdW5yZWNvZ25p
emVkIGV4cHJlc3Npb246ICIrYSl9O3ZhciBuPW0uZ2V0VGV4dD1mdW5jdGlvbihhKXt2YXIgYixj
LGQ9YS5ub2RlVHlwZSxlPSIiO2lmKGQpe2lmKGQ9PT0xfHxkPT09OSl7aWYodHlwZW9mIGEudGV4
dENvbnRlbnQ9PSJzdHJpbmciKXJldHVybiBhLnRleHRDb250ZW50O2lmKHR5cGVvZiBhLmlubmVy
VGV4dD09InN0cmluZyIpcmV0dXJuIGEuaW5uZXJUZXh0LnJlcGxhY2UoaywiIik7Zm9yKGE9YS5m
aXJzdENoaWxkO2E7YT1hLm5leHRTaWJsaW5nKWUrPW4oYSl9ZWxzZSBpZihkPT09M3x8ZD09PTQp
cmV0dXJuIGEubm9kZVZhbHVlfWVsc2UgZm9yKGI9MDtjPWFbYl07YisrKWMubm9kZVR5cGUhPT04
JiYoZSs9bihjKSk7cmV0dXJuIGV9LG89bS5zZWxlY3RvcnM9e29yZGVyOlsiSUQiLCJOQU1FIiwi
VEFHIl0sbWF0Y2g6e0lEOi8jKCg/Oltcd1x1MDBjMC1cdUZGRkZcLV18XFwuKSspLyxDTEFTUzov
XC4oKD86W1x3XHUwMGMwLVx1RkZGRlwtXXxcXC4pKykvLE5BTUU6L1xbbmFtZT1bJyJdKigoPzpb
XHdcdTAwYzAtXHVGRkZGXC1dfFxcLikrKVsnIl0qXF0vLEFUVFI6L1xbXHMqKCg/Oltcd1x1MDBj
MC1cdUZGRkZcLV18XFwuKSspXHMqKD86KFxTPz0pXHMqKD86KFsnIl0pKC4qPylcM3woIz8oPzpb
XHdcdTAwYzAtXHVGRkZGXC1dfFxcLikqKXwpfClccypcXS8sVEFHOi9eKCg/Oltcd1x1MDBjMC1c
dUZGRkZcKlwtXXxcXC4pKykvLENISUxEOi86KG9ubHl8bnRofGxhc3R8Zmlyc3QpLWNoaWxkKD86
XChccyooZXZlbnxvZGR8KD86WytcLV0/XGQrfCg/OlsrXC1dP1xkKik/blxzKig/OlsrXC1dXHMq
XGQrKT8pKVxzKlwpKT8vLFBPUzovOihudGh8ZXF8Z3R8bHR8Zmlyc3R8bGFzdHxldmVufG9kZCko
PzpcKChcZCopXCkpPyg/PVteXC1dfCQpLyxQU0VVRE86LzooKD86W1x3XHUwMGMwLVx1RkZGRlwt
XXxcXC4pKykoPzpcKChbJyJdPykoKD86XChbXlwpXStcKXxbXlwoXCldKikrKVwyXCkpPy99LGxl
ZnRNYXRjaDp7fSxhdHRyTWFwOnsiY2xhc3MiOiJjbGFzc05hbWUiLCJmb3IiOiJodG1sRm9yIn0s
YXR0ckhhbmRsZTp7aHJlZjpmdW5jdGlvbihhKXtyZXR1cm4gYS5nZXRBdHRyaWJ1dGUoImhyZWYi
KX0sdHlwZTpmdW5jdGlvbihhKXtyZXR1cm4gYS5nZXRBdHRyaWJ1dGUoInR5cGUiKX19LHJlbGF0
aXZlOnsiKyI6ZnVuY3Rpb24oYSxiKXt2YXIgYz10eXBlb2YgYj09InN0cmluZyIsZD1jJiYhbC50
ZXN0KGIpLGU9YyYmIWQ7ZCYmKGI9Yi50b0xvd2VyQ2FzZSgpKTtmb3IodmFyIGY9MCxnPWEubGVu
Z3RoLGg7ZjxnO2YrKylpZihoPWFbZl0pe3doaWxlKChoPWgucHJldmlvdXNTaWJsaW5nKSYmaC5u
b2RlVHlwZSE9PTEpO2FbZl09ZXx8aCYmaC5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpPT09Yj9ofHwh
MTpoPT09Yn1lJiZtLmZpbHRlcihiLGEsITApfSwiPiI6ZnVuY3Rpb24oYSxiKXt2YXIgYyxkPXR5
cGVvZiBiPT0ic3RyaW5nIixlPTAsZj1hLmxlbmd0aDtpZihkJiYhbC50ZXN0KGIpKXtiPWIudG9M
b3dlckNhc2UoKTtmb3IoO2U8ZjtlKyspe2M9YVtlXTtpZihjKXt2YXIgZz1jLnBhcmVudE5vZGU7
YVtlXT1nLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9PT1iP2c6ITF9fX1lbHNle2Zvcig7ZTxmO2Ur
KyljPWFbZV0sYyYmKGFbZV09ZD9jLnBhcmVudE5vZGU6Yy5wYXJlbnROb2RlPT09Yik7ZCYmbS5m
aWx0ZXIoYixhLCEwKX19LCIiOmZ1bmN0aW9uKGEsYixjKXt2YXIgZCxmPWUrKyxnPXg7dHlwZW9m
IGI9PSJzdHJpbmciJiYhbC50ZXN0KGIpJiYoYj1iLnRvTG93ZXJDYXNlKCksZD1iLGc9dyksZygi
cGFyZW50Tm9kZSIsYixmLGEsZCxjKX0sIn4iOmZ1bmN0aW9uKGEsYixjKXt2YXIgZCxmPWUrKyxn
PXg7dHlwZW9mIGI9PSJzdHJpbmciJiYhbC50ZXN0KGIpJiYoYj1iLnRvTG93ZXJDYXNlKCksZD1i
LGc9dyksZygicHJldmlvdXNTaWJsaW5nIixiLGYsYSxkLGMpfX0sZmluZDp7SUQ6ZnVuY3Rpb24o
YSxiLGMpe2lmKHR5cGVvZiBiLmdldEVsZW1lbnRCeUlkIT0idW5kZWZpbmVkIiYmIWMpe3ZhciBk
PWIuZ2V0RWxlbWVudEJ5SWQoYVsxXSk7cmV0dXJuIGQmJmQucGFyZW50Tm9kZT9bZF06W119fSxO
QU1FOmZ1bmN0aW9uKGEsYil7aWYodHlwZW9mIGIuZ2V0RWxlbWVudHNCeU5hbWUhPSJ1bmRlZmlu
ZWQiKXt2YXIgYz1bXSxkPWIuZ2V0RWxlbWVudHNCeU5hbWUoYVsxXSk7Zm9yKHZhciBlPTAsZj1k
Lmxlbmd0aDtlPGY7ZSsrKWRbZV0uZ2V0QXR0cmlidXRlKCJuYW1lIik9PT1hWzFdJiZjLnB1c2go
ZFtlXSk7cmV0dXJuIGMubGVuZ3RoPT09MD9udWxsOmN9fSxUQUc6ZnVuY3Rpb24oYSxiKXtpZih0
eXBlb2YgYi5nZXRFbGVtZW50c0J5VGFnTmFtZSE9InVuZGVmaW5lZCIpcmV0dXJuIGIuZ2V0RWxl
bWVudHNCeVRhZ05hbWUoYVsxXSl9fSxwcmVGaWx0ZXI6e0NMQVNTOmZ1bmN0aW9uKGEsYixjLGQs
ZSxmKXthPSIgIithWzFdLnJlcGxhY2UoaiwiIikrIiAiO2lmKGYpcmV0dXJuIGE7Zm9yKHZhciBn
PTAsaDsoaD1iW2ddKSE9bnVsbDtnKyspaCYmKGVeKGguY2xhc3NOYW1lJiYoIiAiK2guY2xhc3NO
YW1lKyIgIikucmVwbGFjZSgvW1x0XG5ccl0vZywiICIpLmluZGV4T2YoYSk+PTApP2N8fGQucHVz
aChoKTpjJiYoYltnXT0hMSkpO3JldHVybiExfSxJRDpmdW5jdGlvbihhKXtyZXR1cm4gYVsxXS5y
ZXBsYWNlKGosIiIpfSxUQUc6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYVsxXS5yZXBsYWNlKGosIiIp
LnRvTG93ZXJDYXNlKCl9LENISUxEOmZ1bmN0aW9uKGEpe2lmKGFbMV09PT0ibnRoIil7YVsyXXx8
bS5lcnJvcihhWzBdKSxhWzJdPWFbMl0ucmVwbGFjZSgvXlwrfFxzKi9nLCIiKTt2YXIgYj0vKC0/
KShcZCopKD86bihbK1wtXT9cZCopKT8vLmV4ZWMoYVsyXT09PSJldmVuIiYmIjJuInx8YVsyXT09
PSJvZGQiJiYiMm4rMSJ8fCEvXEQvLnRlc3QoYVsyXSkmJiIwbisiK2FbMl18fGFbMl0pO2FbMl09
YlsxXSsoYlsyXXx8MSktMCxhWzNdPWJbM10tMH1lbHNlIGFbMl0mJm0uZXJyb3IoYVswXSk7YVsw
XT1lKys7cmV0dXJuIGF9LEFUVFI6ZnVuY3Rpb24oYSxiLGMsZCxlLGYpe3ZhciBnPWFbMV09YVsx
XS5yZXBsYWNlKGosIiIpOyFmJiZvLmF0dHJNYXBbZ10mJihhWzFdPW8uYXR0ck1hcFtnXSksYVs0
XT0oYVs0XXx8YVs1XXx8IiIpLnJlcGxhY2UoaiwiIiksYVsyXT09PSJ+PSImJihhWzRdPSIgIith
WzRdKyIgIik7cmV0dXJuIGF9LFBTRVVETzpmdW5jdGlvbihiLGMsZCxlLGYpe2lmKGJbMV09PT0i
bm90IilpZigoYS5leGVjKGJbM10pfHwiIikubGVuZ3RoPjF8fC9eXHcvLnRlc3QoYlszXSkpYlsz
XT1tKGJbM10sbnVsbCxudWxsLGMpO2Vsc2V7dmFyIGc9bS5maWx0ZXIoYlszXSxjLGQsITBeZik7
ZHx8ZS5wdXNoLmFwcGx5KGUsZyk7cmV0dXJuITF9ZWxzZSBpZihvLm1hdGNoLlBPUy50ZXN0KGJb
MF0pfHxvLm1hdGNoLkNISUxELnRlc3QoYlswXSkpcmV0dXJuITA7cmV0dXJuIGJ9LFBPUzpmdW5j
dGlvbihhKXthLnVuc2hpZnQoITApO3JldHVybiBhfX0sZmlsdGVyczp7ZW5hYmxlZDpmdW5jdGlv
bihhKXtyZXR1cm4gYS5kaXNhYmxlZD09PSExJiZhLnR5cGUhPT0iaGlkZGVuIn0sZGlzYWJsZWQ6
ZnVuY3Rpb24oYSl7cmV0dXJuIGEuZGlzYWJsZWQ9PT0hMH0sY2hlY2tlZDpmdW5jdGlvbihhKXty
ZXR1cm4gYS5jaGVja2VkPT09ITB9LHNlbGVjdGVkOmZ1bmN0aW9uKGEpe2EucGFyZW50Tm9kZSYm
YS5wYXJlbnROb2RlLnNlbGVjdGVkSW5kZXg7cmV0dXJuIGEuc2VsZWN0ZWQ9PT0hMH0scGFyZW50
OmZ1bmN0aW9uKGEpe3JldHVybiEhYS5maXJzdENoaWxkfSxlbXB0eTpmdW5jdGlvbihhKXtyZXR1
cm4hYS5maXJzdENoaWxkfSxoYXM6ZnVuY3Rpb24oYSxiLGMpe3JldHVybiEhbShjWzNdLGEpLmxl
bmd0aH0saGVhZGVyOmZ1bmN0aW9uKGEpe3JldHVybi9oXGQvaS50ZXN0KGEubm9kZU5hbWUpfSx0
ZXh0OmZ1bmN0aW9uKGEpe3ZhciBiPWEuZ2V0QXR0cmlidXRlKCJ0eXBlIiksYz1hLnR5cGU7cmV0
dXJuIGEubm9kZU5hbWUudG9Mb3dlckNhc2UoKT09PSJpbnB1dCImJiJ0ZXh0Ij09PWMmJihiPT09
Y3x8Yj09PW51bGwpfSxyYWRpbzpmdW5jdGlvbihhKXtyZXR1cm4gYS5ub2RlTmFtZS50b0xvd2Vy
Q2FzZSgpPT09ImlucHV0IiYmInJhZGlvIj09PWEudHlwZX0sY2hlY2tib3g6ZnVuY3Rpb24oYSl7
cmV0dXJuIGEubm9kZU5hbWUudG9Mb3dlckNhc2UoKT09PSJpbnB1dCImJiJjaGVja2JveCI9PT1h
LnR5cGV9LGZpbGU6ZnVuY3Rpb24oYSl7cmV0dXJuIGEubm9kZU5hbWUudG9Mb3dlckNhc2UoKT09
PSJpbnB1dCImJiJmaWxlIj09PWEudHlwZX0scGFzc3dvcmQ6ZnVuY3Rpb24oYSl7cmV0dXJuIGEu
bm9kZU5hbWUudG9Mb3dlckNhc2UoKT09PSJpbnB1dCImJiJwYXNzd29yZCI9PT1hLnR5cGV9LHN1
Ym1pdDpmdW5jdGlvbihhKXt2YXIgYj1hLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuKGI9
PT0iaW5wdXQifHxiPT09ImJ1dHRvbiIpJiYic3VibWl0Ij09PWEudHlwZX0saW1hZ2U6ZnVuY3Rp
b24oYSl7cmV0dXJuIGEubm9kZU5hbWUudG9Mb3dlckNhc2UoKT09PSJpbnB1dCImJiJpbWFnZSI9
PT1hLnR5cGV9LHJlc2V0OmZ1bmN0aW9uKGEpe3ZhciBiPWEubm9kZU5hbWUudG9Mb3dlckNhc2Uo
KTtyZXR1cm4oYj09PSJpbnB1dCJ8fGI9PT0iYnV0dG9uIikmJiJyZXNldCI9PT1hLnR5cGV9LGJ1
dHRvbjpmdW5jdGlvbihhKXt2YXIgYj1hLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuIGI9
PT0iaW5wdXQiJiYiYnV0dG9uIj09PWEudHlwZXx8Yj09PSJidXR0b24ifSxpbnB1dDpmdW5jdGlv
bihhKXtyZXR1cm4vaW5wdXR8c2VsZWN0fHRleHRhcmVhfGJ1dHRvbi9pLnRlc3QoYS5ub2RlTmFt
ZSl9LGZvY3VzOmZ1bmN0aW9uKGEpe3JldHVybiBhPT09YS5vd25lckRvY3VtZW50LmFjdGl2ZUVs
ZW1lbnR9fSxzZXRGaWx0ZXJzOntmaXJzdDpmdW5jdGlvbihhLGIpe3JldHVybiBiPT09MH0sbGFz
dDpmdW5jdGlvbihhLGIsYyxkKXtyZXR1cm4gYj09PWQubGVuZ3RoLTF9LGV2ZW46ZnVuY3Rpb24o
YSxiKXtyZXR1cm4gYiUyPT09MH0sb2RkOmZ1bmN0aW9uKGEsYil7cmV0dXJuIGIlMj09PTF9LGx0
OmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gYjxjWzNdLTB9LGd0OmZ1bmN0aW9uKGEsYixjKXtyZXR1
cm4gYj5jWzNdLTB9LG50aDpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIGNbM10tMD09PWJ9LGVxOmZ1
bmN0aW9uKGEsYixjKXtyZXR1cm4gY1szXS0wPT09Yn19LGZpbHRlcjp7UFNFVURPOmZ1bmN0aW9u
KGEsYixjLGQpe3ZhciBlPWJbMV0sZj1vLmZpbHRlcnNbZV07aWYoZilyZXR1cm4gZihhLGMsYixk
KTtpZihlPT09ImNvbnRhaW5zIilyZXR1cm4oYS50ZXh0Q29udGVudHx8YS5pbm5lclRleHR8fG4o
W2FdKXx8IiIpLmluZGV4T2YoYlszXSk+PTA7aWYoZT09PSJub3QiKXt2YXIgZz1iWzNdO2Zvcih2
YXIgaD0wLGk9Zy5sZW5ndGg7aDxpO2grKylpZihnW2hdPT09YSlyZXR1cm4hMTtyZXR1cm4hMH1t
LmVycm9yKGUpfSxDSElMRDpmdW5jdGlvbihhLGIpe3ZhciBjLGUsZixnLGgsaSxqLGs9YlsxXSxs
PWE7c3dpdGNoKGspe2Nhc2Uib25seSI6Y2FzZSJmaXJzdCI6d2hpbGUobD1sLnByZXZpb3VzU2li
bGluZylpZihsLm5vZGVUeXBlPT09MSlyZXR1cm4hMTtpZihrPT09ImZpcnN0IilyZXR1cm4hMDts
PWE7Y2FzZSJsYXN0Ijp3aGlsZShsPWwubmV4dFNpYmxpbmcpaWYobC5ub2RlVHlwZT09PTEpcmV0
dXJuITE7cmV0dXJuITA7Y2FzZSJudGgiOmM9YlsyXSxlPWJbM107aWYoYz09PTEmJmU9PT0wKXJl
dHVybiEwO2Y9YlswXSxnPWEucGFyZW50Tm9kZTtpZihnJiYoZ1tkXSE9PWZ8fCFhLm5vZGVJbmRl
eCkpe2k9MDtmb3IobD1nLmZpcnN0Q2hpbGQ7bDtsPWwubmV4dFNpYmxpbmcpbC5ub2RlVHlwZT09
PTEmJihsLm5vZGVJbmRleD0rK2kpO2dbZF09Zn1qPWEubm9kZUluZGV4LWU7cmV0dXJuIGM9PT0w
P2o9PT0wOmolYz09PTAmJmovYz49MH19LElEOmZ1bmN0aW9uKGEsYil7cmV0dXJuIGEubm9kZVR5
cGU9PT0xJiZhLmdldEF0dHJpYnV0ZSgiaWQiKT09PWJ9LFRBRzpmdW5jdGlvbihhLGIpe3JldHVy
biBiPT09IioiJiZhLm5vZGVUeXBlPT09MXx8ISFhLm5vZGVOYW1lJiZhLm5vZGVOYW1lLnRvTG93
ZXJDYXNlKCk9PT1ifSxDTEFTUzpmdW5jdGlvbihhLGIpe3JldHVybigiICIrKGEuY2xhc3NOYW1l
fHxhLmdldEF0dHJpYnV0ZSgiY2xhc3MiKSkrIiAiKS5pbmRleE9mKGIpPi0xfSxBVFRSOmZ1bmN0
aW9uKGEsYil7dmFyIGM9YlsxXSxkPW0uYXR0cj9tLmF0dHIoYSxjKTpvLmF0dHJIYW5kbGVbY10/
by5hdHRySGFuZGxlW2NdKGEpOmFbY10hPW51bGw/YVtjXTphLmdldEF0dHJpYnV0ZShjKSxlPWQr
IiIsZj1iWzJdLGc9Yls0XTtyZXR1cm4gZD09bnVsbD9mPT09IiE9IjohZiYmbS5hdHRyP2QhPW51
bGw6Zj09PSI9Ij9lPT09ZzpmPT09Iio9Ij9lLmluZGV4T2YoZyk+PTA6Zj09PSJ+PSI/KCIgIitl
KyIgIikuaW5kZXhPZihnKT49MDpnP2Y9PT0iIT0iP2UhPT1nOmY9PT0iXj0iP2UuaW5kZXhPZihn
KT09PTA6Zj09PSIkPSI/ZS5zdWJzdHIoZS5sZW5ndGgtZy5sZW5ndGgpPT09ZzpmPT09Inw9Ij9l
PT09Z3x8ZS5zdWJzdHIoMCxnLmxlbmd0aCsxKT09PWcrIi0iOiExOmUmJmQhPT0hMX0sUE9TOmZ1
bmN0aW9uKGEsYixjLGQpe3ZhciBlPWJbMl0sZj1vLnNldEZpbHRlcnNbZV07aWYoZilyZXR1cm4g
ZihhLGMsYixkKX19fSxwPW8ubWF0Y2guUE9TLHE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4iXFwiKyhi
LTArMSl9O2Zvcih2YXIgciBpbiBvLm1hdGNoKW8ubWF0Y2hbcl09bmV3IFJlZ0V4cChvLm1hdGNo
W3JdLnNvdXJjZSsvKD8hW15cW10qXF0pKD8hW15cKF0qXCkpLy5zb3VyY2UpLG8ubGVmdE1hdGNo
W3JdPW5ldyBSZWdFeHAoLyheKD86LnxccnxcbikqPykvLnNvdXJjZStvLm1hdGNoW3JdLnNvdXJj
ZS5yZXBsYWNlKC9cXChcZCspL2cscSkpO3ZhciBzPWZ1bmN0aW9uKGEsYil7YT1BcnJheS5wcm90
b3R5cGUuc2xpY2UuY2FsbChhLDApO2lmKGIpe2IucHVzaC5hcHBseShiLGEpO3JldHVybiBifXJl
dHVybiBhfTt0cnl7QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYy5kb2N1bWVudEVsZW1lbnQu
Y2hpbGROb2RlcywwKVswXS5ub2RlVHlwZX1jYXRjaCh0KXtzPWZ1bmN0aW9uKGEsYil7dmFyIGM9
MCxkPWJ8fFtdO2lmKGcuY2FsbChhKT09PSJbb2JqZWN0IEFycmF5XSIpQXJyYXkucHJvdG90eXBl
LnB1c2guYXBwbHkoZCxhKTtlbHNlIGlmKHR5cGVvZiBhLmxlbmd0aD09Im51bWJlciIpZm9yKHZh
ciBlPWEubGVuZ3RoO2M8ZTtjKyspZC5wdXNoKGFbY10pO2Vsc2UgZm9yKDthW2NdO2MrKylkLnB1
c2goYVtjXSk7cmV0dXJuIGR9fXZhciB1LHY7Yy5kb2N1bWVudEVsZW1lbnQuY29tcGFyZURvY3Vt
ZW50UG9zaXRpb24/dT1mdW5jdGlvbihhLGIpe2lmKGE9PT1iKXtoPSEwO3JldHVybiAwfWlmKCFh
LmNvbXBhcmVEb2N1bWVudFBvc2l0aW9ufHwhYi5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbilyZXR1
cm4gYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbj8tMToxO3JldHVybiBhLmNvbXBhcmVEb2N1bWVu
dFBvc2l0aW9uKGIpJjQ/LTE6MX06KHU9ZnVuY3Rpb24oYSxiKXtpZihhPT09Yil7aD0hMDtyZXR1
cm4gMH1pZihhLnNvdXJjZUluZGV4JiZiLnNvdXJjZUluZGV4KXJldHVybiBhLnNvdXJjZUluZGV4
LWIuc291cmNlSW5kZXg7dmFyIGMsZCxlPVtdLGY9W10sZz1hLnBhcmVudE5vZGUsaT1iLnBhcmVu
dE5vZGUsaj1nO2lmKGc9PT1pKXJldHVybiB2KGEsYik7aWYoIWcpcmV0dXJuLTE7aWYoIWkpcmV0
dXJuIDE7d2hpbGUoaillLnVuc2hpZnQoaiksaj1qLnBhcmVudE5vZGU7aj1pO3doaWxlKGopZi51
bnNoaWZ0KGopLGo9ai5wYXJlbnROb2RlO2M9ZS5sZW5ndGgsZD1mLmxlbmd0aDtmb3IodmFyIGs9
MDtrPGMmJms8ZDtrKyspaWYoZVtrXSE9PWZba10pcmV0dXJuIHYoZVtrXSxmW2tdKTtyZXR1cm4g
az09PWM/dihhLGZba10sLTEpOnYoZVtrXSxiLDEpfSx2PWZ1bmN0aW9uKGEsYixjKXtpZihhPT09
YilyZXR1cm4gYzt2YXIgZD1hLm5leHRTaWJsaW5nO3doaWxlKGQpe2lmKGQ9PT1iKXJldHVybi0x
O2Q9ZC5uZXh0U2libGluZ31yZXR1cm4gMX0pLGZ1bmN0aW9uKCl7dmFyIGE9Yy5jcmVhdGVFbGVt
ZW50KCJkaXYiKSxkPSJzY3JpcHQiKyhuZXcgRGF0ZSkuZ2V0VGltZSgpLGU9Yy5kb2N1bWVudEVs
ZW1lbnQ7YS5pbm5lckhUTUw9IjxhIG5hbWU9JyIrZCsiJy8+IixlLmluc2VydEJlZm9yZShhLGUu
Zmlyc3RDaGlsZCksYy5nZXRFbGVtZW50QnlJZChkKSYmKG8uZmluZC5JRD1mdW5jdGlvbihhLGMs
ZCl7aWYodHlwZW9mIGMuZ2V0RWxlbWVudEJ5SWQhPSJ1bmRlZmluZWQiJiYhZCl7dmFyIGU9Yy5n
ZXRFbGVtZW50QnlJZChhWzFdKTtyZXR1cm4gZT9lLmlkPT09YVsxXXx8dHlwZW9mIGUuZ2V0QXR0
cmlidXRlTm9kZSE9InVuZGVmaW5lZCImJmUuZ2V0QXR0cmlidXRlTm9kZSgiaWQiKS5ub2RlVmFs
dWU9PT1hWzFdP1tlXTpiOltdfX0sby5maWx0ZXIuSUQ9ZnVuY3Rpb24oYSxiKXt2YXIgYz10eXBl
b2YgYS5nZXRBdHRyaWJ1dGVOb2RlIT0idW5kZWZpbmVkIiYmYS5nZXRBdHRyaWJ1dGVOb2RlKCJp
ZCIpO3JldHVybiBhLm5vZGVUeXBlPT09MSYmYyYmYy5ub2RlVmFsdWU9PT1ifSksZS5yZW1vdmVD
aGlsZChhKSxlPWE9bnVsbH0oKSxmdW5jdGlvbigpe3ZhciBhPWMuY3JlYXRlRWxlbWVudCgiZGl2
Iik7YS5hcHBlbmRDaGlsZChjLmNyZWF0ZUNvbW1lbnQoIiIpKSxhLmdldEVsZW1lbnRzQnlUYWdO
YW1lKCIqIikubGVuZ3RoPjAmJihvLmZpbmQuVEFHPWZ1bmN0aW9uKGEsYil7dmFyIGM9Yi5nZXRF
bGVtZW50c0J5VGFnTmFtZShhWzFdKTtpZihhWzFdPT09IioiKXt2YXIgZD1bXTtmb3IodmFyIGU9
MDtjW2VdO2UrKyljW2VdLm5vZGVUeXBlPT09MSYmZC5wdXNoKGNbZV0pO2M9ZH1yZXR1cm4gY30p
LGEuaW5uZXJIVE1MPSI8YSBocmVmPScjJz48L2E+IixhLmZpcnN0Q2hpbGQmJnR5cGVvZiBhLmZp
cnN0Q2hpbGQuZ2V0QXR0cmlidXRlIT0idW5kZWZpbmVkIiYmYS5maXJzdENoaWxkLmdldEF0dHJp
YnV0ZSgiaHJlZiIpIT09IiMiJiYoby5hdHRySGFuZGxlLmhyZWY9ZnVuY3Rpb24oYSl7cmV0dXJu
IGEuZ2V0QXR0cmlidXRlKCJocmVmIiwyKX0pLGE9bnVsbH0oKSxjLnF1ZXJ5U2VsZWN0b3JBbGwm
JmZ1bmN0aW9uKCl7dmFyIGE9bSxiPWMuY3JlYXRlRWxlbWVudCgiZGl2IiksZD0iX19zaXp6bGVf
XyI7Yi5pbm5lckhUTUw9IjxwIGNsYXNzPSdURVNUJz48L3A+IjtpZighYi5xdWVyeVNlbGVjdG9y
QWxsfHxiLnF1ZXJ5U2VsZWN0b3JBbGwoIi5URVNUIikubGVuZ3RoIT09MCl7bT1mdW5jdGlvbihi
LGUsZixnKXtlPWV8fGM7aWYoIWcmJiFtLmlzWE1MKGUpKXt2YXIgaD0vXihcdyskKXxeXC4oW1x3
XC1dKyQpfF4jKFtcd1wtXSskKS8uZXhlYyhiKTtpZihoJiYoZS5ub2RlVHlwZT09PTF8fGUubm9k
ZVR5cGU9PT05KSl7aWYoaFsxXSlyZXR1cm4gcyhlLmdldEVsZW1lbnRzQnlUYWdOYW1lKGIpLGYp
O2lmKGhbMl0mJm8uZmluZC5DTEFTUyYmZS5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKXJldHVybiBz
KGUuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShoWzJdKSxmKX1pZihlLm5vZGVUeXBlPT09OSl7aWYo
Yj09PSJib2R5IiYmZS5ib2R5KXJldHVybiBzKFtlLmJvZHldLGYpO2lmKGgmJmhbM10pe3ZhciBp
PWUuZ2V0RWxlbWVudEJ5SWQoaFszXSk7aWYoIWl8fCFpLnBhcmVudE5vZGUpcmV0dXJuIHMoW10s
Zik7aWYoaS5pZD09PWhbM10pcmV0dXJuIHMoW2ldLGYpfXRyeXtyZXR1cm4gcyhlLnF1ZXJ5U2Vs
ZWN0b3JBbGwoYiksZil9Y2F0Y2goail7fX1lbHNlIGlmKGUubm9kZVR5cGU9PT0xJiZlLm5vZGVO
YW1lLnRvTG93ZXJDYXNlKCkhPT0ib2JqZWN0Iil7dmFyIGs9ZSxsPWUuZ2V0QXR0cmlidXRlKCJp
ZCIpLG49bHx8ZCxwPWUucGFyZW50Tm9kZSxxPS9eXHMqWyt+XS8udGVzdChiKTtsP249bi5yZXBs
YWNlKC8nL2csIlxcJCYiKTplLnNldEF0dHJpYnV0ZSgiaWQiLG4pLHEmJnAmJihlPWUucGFyZW50
Tm9kZSk7dHJ5e2lmKCFxfHxwKXJldHVybiBzKGUucXVlcnlTZWxlY3RvckFsbCgiW2lkPSciK24r
IiddICIrYiksZil9Y2F0Y2gocil7fWZpbmFsbHl7bHx8ay5yZW1vdmVBdHRyaWJ1dGUoImlkIil9
fX1yZXR1cm4gYShiLGUsZixnKX07Zm9yKHZhciBlIGluIGEpbVtlXT1hW2VdO2I9bnVsbH19KCks
ZnVuY3Rpb24oKXt2YXIgYT1jLmRvY3VtZW50RWxlbWVudCxiPWEubWF0Y2hlc1NlbGVjdG9yfHxh
Lm1vek1hdGNoZXNTZWxlY3Rvcnx8YS53ZWJraXRNYXRjaGVzU2VsZWN0b3J8fGEubXNNYXRjaGVz
U2VsZWN0b3I7aWYoYil7dmFyIGQ9IWIuY2FsbChjLmNyZWF0ZUVsZW1lbnQoImRpdiIpLCJkaXYi
KSxlPSExO3RyeXtiLmNhbGwoYy5kb2N1bWVudEVsZW1lbnQsIlt0ZXN0IT0nJ106c2l6emxlIil9
Y2F0Y2goZil7ZT0hMH1tLm1hdGNoZXNTZWxlY3Rvcj1mdW5jdGlvbihhLGMpe2M9Yy5yZXBsYWNl
KC9cPVxzKihbXiciXF1dKilccypcXS9nLCI9JyQxJ10iKTtpZighbS5pc1hNTChhKSl0cnl7aWYo
ZXx8IW8ubWF0Y2guUFNFVURPLnRlc3QoYykmJiEvIT0vLnRlc3QoYykpe3ZhciBmPWIuY2FsbChh
LGMpO2lmKGZ8fCFkfHxhLmRvY3VtZW50JiZhLmRvY3VtZW50Lm5vZGVUeXBlIT09MTEpcmV0dXJu
IGZ9fWNhdGNoKGcpe31yZXR1cm4gbShjLG51bGwsbnVsbCxbYV0pLmxlbmd0aD4wfX19KCksZnVu
Y3Rpb24oKXt2YXIgYT1jLmNyZWF0ZUVsZW1lbnQoImRpdiIpO2EuaW5uZXJIVE1MPSI8ZGl2IGNs
YXNzPSd0ZXN0IGUnPjwvZGl2PjxkaXYgY2xhc3M9J3Rlc3QnPjwvZGl2PiI7aWYoISFhLmdldEVs
ZW1lbnRzQnlDbGFzc05hbWUmJmEuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgiZSIpLmxlbmd0aCE9
PTApe2EubGFzdENoaWxkLmNsYXNzTmFtZT0iZSI7aWYoYS5nZXRFbGVtZW50c0J5Q2xhc3NOYW1l
KCJlIikubGVuZ3RoPT09MSlyZXR1cm47by5vcmRlci5zcGxpY2UoMSwwLCJDTEFTUyIpLG8uZmlu
ZC5DTEFTUz1mdW5jdGlvbihhLGIsYyl7aWYodHlwZW9mIGIuZ2V0RWxlbWVudHNCeUNsYXNzTmFt
ZSE9InVuZGVmaW5lZCImJiFjKXJldHVybiBiLmdldEVsZW1lbnRzQnlDbGFzc05hbWUoYVsxXSl9
LGE9bnVsbH19KCksYy5kb2N1bWVudEVsZW1lbnQuY29udGFpbnM/bS5jb250YWlucz1mdW5jdGlv
bihhLGIpe3JldHVybiBhIT09YiYmKGEuY29udGFpbnM/YS5jb250YWlucyhiKTohMCl9OmMuZG9j
dW1lbnRFbGVtZW50LmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uP20uY29udGFpbnM9ZnVuY3Rpb24o
YSxiKXtyZXR1cm4hIShhLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGIpJjE2KX06bS5jb250YWlu
cz1mdW5jdGlvbigpe3JldHVybiExfSxtLmlzWE1MPWZ1bmN0aW9uKGEpe3ZhciBiPShhP2Eub3du
ZXJEb2N1bWVudHx8YTowKS5kb2N1bWVudEVsZW1lbnQ7cmV0dXJuIGI/Yi5ub2RlTmFtZSE9PSJI
VE1MIjohMX07dmFyIHk9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkLGU9W10sZj0iIixnPWIubm9kZVR5
cGU/W2JdOmI7d2hpbGUoZD1vLm1hdGNoLlBTRVVETy5leGVjKGEpKWYrPWRbMF0sYT1hLnJlcGxh
Y2Uoby5tYXRjaC5QU0VVRE8sIiIpO2E9by5yZWxhdGl2ZVthXT9hKyIqIjphO2Zvcih2YXIgaD0w
LGk9Zy5sZW5ndGg7aDxpO2grKyltKGEsZ1toXSxlLGMpO3JldHVybiBtLmZpbHRlcihmLGUpfTtt
LmF0dHI9Zi5hdHRyLG0uc2VsZWN0b3JzLmF0dHJNYXA9e30sZi5maW5kPW0sZi5leHByPW0uc2Vs
ZWN0b3JzLGYuZXhwclsiOiJdPWYuZXhwci5maWx0ZXJzLGYudW5pcXVlPW0udW5pcXVlU29ydCxm
LnRleHQ9bS5nZXRUZXh0LGYuaXNYTUxEb2M9bS5pc1hNTCxmLmNvbnRhaW5zPW0uY29udGFpbnN9
KCk7dmFyIEw9L1VudGlsJC8sTT0vXig/OnBhcmVudHN8cHJldlVudGlsfHByZXZBbGwpLyxOPS8s
LyxPPS9eLlteOiNcW1wuLF0qJC8sUD1BcnJheS5wcm90b3R5cGUuc2xpY2UsUT1mLmV4cHIubWF0
Y2guUE9TLFI9e2NoaWxkcmVuOiEwLGNvbnRlbnRzOiEwLG5leHQ6ITAscHJldjohMH07Zi5mbi5l
eHRlbmQoe2ZpbmQ6ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcyxjLGQ7aWYodHlwZW9mIGEhPSJzdHJp
bmciKXJldHVybiBmKGEpLmZpbHRlcihmdW5jdGlvbigpe2ZvcihjPTAsZD1iLmxlbmd0aDtjPGQ7
YysrKWlmKGYuY29udGFpbnMoYltjXSx0aGlzKSlyZXR1cm4hMH0pO3ZhciBlPXRoaXMucHVzaFN0
YWNrKCIiLCJmaW5kIixhKSxnLGgsaTtmb3IoYz0wLGQ9dGhpcy5sZW5ndGg7YzxkO2MrKyl7Zz1l
Lmxlbmd0aCxmLmZpbmQoYSx0aGlzW2NdLGUpO2lmKGM+MClmb3IoaD1nO2g8ZS5sZW5ndGg7aCsr
KWZvcihpPTA7aTxnO2krKylpZihlW2ldPT09ZVtoXSl7ZS5zcGxpY2UoaC0tLDEpO2JyZWFrfX1y
ZXR1cm4gZX0saGFzOmZ1bmN0aW9uKGEpe3ZhciBiPWYoYSk7cmV0dXJuIHRoaXMuZmlsdGVyKGZ1
bmN0aW9uKCl7Zm9yKHZhciBhPTAsYz1iLmxlbmd0aDthPGM7YSsrKWlmKGYuY29udGFpbnModGhp
cyxiW2FdKSlyZXR1cm4hMH0pfSxub3Q6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMucHVzaFN0YWNr
KFQodGhpcyxhLCExKSwibm90IixhKX0sZmlsdGVyOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLnB1
c2hTdGFjayhUKHRoaXMsYSwhMCksImZpbHRlciIsYSl9LGlzOmZ1bmN0aW9uKGEpe3JldHVybiEh
YSYmKHR5cGVvZiBhPT0ic3RyaW5nIj9RLnRlc3QoYSk/ZihhLHRoaXMuY29udGV4dCkuaW5kZXgo
dGhpc1swXSk+PTA6Zi5maWx0ZXIoYSx0aGlzKS5sZW5ndGg+MDp0aGlzLmZpbHRlcihhKS5sZW5n
dGg+MCl9LGNsb3Nlc3Q6ZnVuY3Rpb24oYSxiKXt2YXIgYz1bXSxkLGUsZz10aGlzWzBdO2lmKGYu
aXNBcnJheShhKSl7dmFyIGg9MTt3aGlsZShnJiZnLm93bmVyRG9jdW1lbnQmJmchPT1iKXtmb3Io
ZD0wO2Q8YS5sZW5ndGg7ZCsrKWYoZykuaXMoYVtkXSkmJmMucHVzaCh7c2VsZWN0b3I6YVtkXSxl
bGVtOmcsbGV2ZWw6aH0pO2c9Zy5wYXJlbnROb2RlLGgrK31yZXR1cm4gY312YXIgaT1RLnRlc3Qo
YSl8fHR5cGVvZiBhIT0ic3RyaW5nIj9mKGEsYnx8dGhpcy5jb250ZXh0KTowO2ZvcihkPTAsZT10
aGlzLmxlbmd0aDtkPGU7ZCsrKXtnPXRoaXNbZF07d2hpbGUoZyl7aWYoaT9pLmluZGV4KGcpPi0x
OmYuZmluZC5tYXRjaGVzU2VsZWN0b3IoZyxhKSl7Yy5wdXNoKGcpO2JyZWFrfWc9Zy5wYXJlbnRO
b2RlO2lmKCFnfHwhZy5vd25lckRvY3VtZW50fHxnPT09Ynx8Zy5ub2RlVHlwZT09PTExKWJyZWFr
fX1jPWMubGVuZ3RoPjE/Zi51bmlxdWUoYyk6YztyZXR1cm4gdGhpcy5wdXNoU3RhY2soYywiY2xv
c2VzdCIsYSl9LGluZGV4OmZ1bmN0aW9uKGEpe2lmKCFhKXJldHVybiB0aGlzWzBdJiZ0aGlzWzBd
LnBhcmVudE5vZGU/dGhpcy5wcmV2QWxsKCkubGVuZ3RoOi0xO2lmKHR5cGVvZiBhPT0ic3RyaW5n
IilyZXR1cm4gZi5pbkFycmF5KHRoaXNbMF0sZihhKSk7cmV0dXJuIGYuaW5BcnJheShhLmpxdWVy
eT9hWzBdOmEsdGhpcyl9LGFkZDpmdW5jdGlvbihhLGIpe3ZhciBjPXR5cGVvZiBhPT0ic3RyaW5n
Ij9mKGEsYik6Zi5tYWtlQXJyYXkoYSYmYS5ub2RlVHlwZT9bYV06YSksZD1mLm1lcmdlKHRoaXMu
Z2V0KCksYyk7cmV0dXJuIHRoaXMucHVzaFN0YWNrKFMoY1swXSl8fFMoZFswXSk/ZDpmLnVuaXF1
ZShkKSl9LGFuZFNlbGY6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5hZGQodGhpcy5wcmV2T2JqZWN0
KX19KSxmLmVhY2goe3BhcmVudDpmdW5jdGlvbihhKXt2YXIgYj1hLnBhcmVudE5vZGU7cmV0dXJu
IGImJmIubm9kZVR5cGUhPT0xMT9iOm51bGx9LHBhcmVudHM6ZnVuY3Rpb24oYSl7cmV0dXJuIGYu
ZGlyKGEsInBhcmVudE5vZGUiKX0scGFyZW50c1VudGlsOmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4g
Zi5kaXIoYSwicGFyZW50Tm9kZSIsYyl9LG5leHQ6ZnVuY3Rpb24oYSl7cmV0dXJuIGYubnRoKGEs
MiwibmV4dFNpYmxpbmciKX0scHJldjpmdW5jdGlvbihhKXtyZXR1cm4gZi5udGgoYSwyLCJwcmV2
aW91c1NpYmxpbmciKX0sbmV4dEFsbDpmdW5jdGlvbihhKXtyZXR1cm4gZi5kaXIoYSwibmV4dFNp
YmxpbmciKX0scHJldkFsbDpmdW5jdGlvbihhKXtyZXR1cm4gZi5kaXIoYSwicHJldmlvdXNTaWJs
aW5nIil9LG5leHRVbnRpbDpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIGYuZGlyKGEsIm5leHRTaWJs
aW5nIixjKX0scHJldlVudGlsOmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gZi5kaXIoYSwicHJldmlv
dXNTaWJsaW5nIixjKX0sc2libGluZ3M6ZnVuY3Rpb24oYSl7cmV0dXJuIGYuc2libGluZyhhLnBh
cmVudE5vZGUuZmlyc3RDaGlsZCxhKX0sY2hpbGRyZW46ZnVuY3Rpb24oYSl7cmV0dXJuIGYuc2li
bGluZyhhLmZpcnN0Q2hpbGQpfSxjb250ZW50czpmdW5jdGlvbihhKXtyZXR1cm4gZi5ub2RlTmFt
ZShhLCJpZnJhbWUiKT9hLmNvbnRlbnREb2N1bWVudHx8YS5jb250ZW50V2luZG93LmRvY3VtZW50
OmYubWFrZUFycmF5KGEuY2hpbGROb2Rlcyl9fSxmdW5jdGlvbihhLGIpe2YuZm5bYV09ZnVuY3Rp
b24oYyxkKXt2YXIgZT1mLm1hcCh0aGlzLGIsYyk7TC50ZXN0KGEpfHwoZD1jKSxkJiZ0eXBlb2Yg
ZD09InN0cmluZyImJihlPWYuZmlsdGVyKGQsZSkpLGU9dGhpcy5sZW5ndGg+MSYmIVJbYV0/Zi51
bmlxdWUoZSk6ZSwodGhpcy5sZW5ndGg+MXx8Ti50ZXN0KGQpKSYmTS50ZXN0KGEpJiYoZT1lLnJl
dmVyc2UoKSk7cmV0dXJuIHRoaXMucHVzaFN0YWNrKGUsYSxQLmNhbGwoYXJndW1lbnRzKS5qb2lu
KCIsIikpfX0pLGYuZXh0ZW5kKHtmaWx0ZXI6ZnVuY3Rpb24oYSxiLGMpe2MmJihhPSI6bm90KCIr
YSsiKSIpO3JldHVybiBiLmxlbmd0aD09PTE/Zi5maW5kLm1hdGNoZXNTZWxlY3RvcihiWzBdLGEp
P1tiWzBdXTpbXTpmLmZpbmQubWF0Y2hlcyhhLGIpfSxkaXI6ZnVuY3Rpb24oYSxjLGQpe3ZhciBl
PVtdLGc9YVtjXTt3aGlsZShnJiZnLm5vZGVUeXBlIT09OSYmKGQ9PT1ifHxnLm5vZGVUeXBlIT09
MXx8IWYoZykuaXMoZCkpKWcubm9kZVR5cGU9PT0xJiZlLnB1c2goZyksZz1nW2NdO3JldHVybiBl
fSxudGg6ZnVuY3Rpb24oYSxiLGMsZCl7Yj1ifHwxO3ZhciBlPTA7Zm9yKDthO2E9YVtjXSlpZihh
Lm5vZGVUeXBlPT09MSYmKytlPT09YilicmVhaztyZXR1cm4gYX0sc2libGluZzpmdW5jdGlvbihh
LGIpe3ZhciBjPVtdO2Zvcig7YTthPWEubmV4dFNpYmxpbmcpYS5ub2RlVHlwZT09PTEmJmEhPT1i
JiZjLnB1c2goYSk7cmV0dXJuIGN9fSk7dmFyIFY9ImFiYnJ8YXJ0aWNsZXxhc2lkZXxhdWRpb3xj
YW52YXN8ZGF0YWxpc3R8ZGV0YWlsc3xmaWdjYXB0aW9ufGZpZ3VyZXxmb290ZXJ8aGVhZGVyfGhn
cm91cHxtYXJrfG1ldGVyfG5hdnxvdXRwdXR8cHJvZ3Jlc3N8c2VjdGlvbnxzdW1tYXJ5fHRpbWV8
dmlkZW8iLFc9LyBqUXVlcnlcZCs9Iig/OlxkK3xudWxsKSIvZyxYPS9eXHMrLyxZPS88KD8hYXJl
YXxicnxjb2x8ZW1iZWR8aHJ8aW1nfGlucHV0fGxpbmt8bWV0YXxwYXJhbSkoKFtcdzpdKylbXj5d
KilcLz4vaWcsWj0vPChbXHc6XSspLywkPS88dGJvZHkvaSxfPS88fCYjP1x3KzsvLGJhPS88KD86
c2NyaXB0fHN0eWxlKS9pLGJiPS88KD86c2NyaXB0fG9iamVjdHxlbWJlZHxvcHRpb258c3R5bGUp
L2ksYmM9bmV3IFJlZ0V4cCgiPCg/OiIrVisiKSIsImkiKSxiZD0vY2hlY2tlZFxzKig/OltePV18
PVxzKi5jaGVja2VkLikvaSxiZT0vXC8oamF2YXxlY21hKXNjcmlwdC9pLGJmPS9eXHMqPCEoPzpc
W0NEQVRBXFt8XC1cLSkvLGJnPXtvcHRpb246WzEsIjxzZWxlY3QgbXVsdGlwbGU9J211bHRpcGxl
Jz4iLCI8L3NlbGVjdD4iXSxsZWdlbmQ6WzEsIjxmaWVsZHNldD4iLCI8L2ZpZWxkc2V0PiJdLHRo
ZWFkOlsxLCI8dGFibGU+IiwiPC90YWJsZT4iXSx0cjpbMiwiPHRhYmxlPjx0Ym9keT4iLCI8L3Ri
b2R5PjwvdGFibGU+Il0sdGQ6WzMsIjx0YWJsZT48dGJvZHk+PHRyPiIsIjwvdHI+PC90Ym9keT48
L3RhYmxlPiJdLGNvbDpbMiwiPHRhYmxlPjx0Ym9keT48L3Rib2R5Pjxjb2xncm91cD4iLCI8L2Nv
bGdyb3VwPjwvdGFibGU+Il0sYXJlYTpbMSwiPG1hcD4iLCI8L21hcD4iXSxfZGVmYXVsdDpbMCwi
IiwiIl19LGJoPVUoYyk7Ymcub3B0Z3JvdXA9Ymcub3B0aW9uLGJnLnRib2R5PWJnLnRmb290PWJn
LmNvbGdyb3VwPWJnLmNhcHRpb249YmcudGhlYWQsYmcudGg9YmcudGQsZi5zdXBwb3J0Lmh0bWxT
ZXJpYWxpemV8fChiZy5fZGVmYXVsdD1bMSwiZGl2PGRpdj4iLCI8L2Rpdj4iXSksZi5mbi5leHRl
bmQoe3RleHQ6ZnVuY3Rpb24oYSl7aWYoZi5pc0Z1bmN0aW9uKGEpKXJldHVybiB0aGlzLmVhY2go
ZnVuY3Rpb24oYil7dmFyIGM9Zih0aGlzKTtjLnRleHQoYS5jYWxsKHRoaXMsYixjLnRleHQoKSkp
fSk7aWYodHlwZW9mIGEhPSJvYmplY3QiJiZhIT09YilyZXR1cm4gdGhpcy5lbXB0eSgpLmFwcGVu
ZCgodGhpc1swXSYmdGhpc1swXS5vd25lckRvY3VtZW50fHxjKS5jcmVhdGVUZXh0Tm9kZShhKSk7
cmV0dXJuIGYudGV4dCh0aGlzKX0sd3JhcEFsbDpmdW5jdGlvbihhKXtpZihmLmlzRnVuY3Rpb24o
YSkpcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbihiKXtmKHRoaXMpLndyYXBBbGwoYS5jYWxsKHRo
aXMsYikpfSk7aWYodGhpc1swXSl7dmFyIGI9ZihhLHRoaXNbMF0ub3duZXJEb2N1bWVudCkuZXEo
MCkuY2xvbmUoITApO3RoaXNbMF0ucGFyZW50Tm9kZSYmYi5pbnNlcnRCZWZvcmUodGhpc1swXSks
Yi5tYXAoZnVuY3Rpb24oKXt2YXIgYT10aGlzO3doaWxlKGEuZmlyc3RDaGlsZCYmYS5maXJzdENo
aWxkLm5vZGVUeXBlPT09MSlhPWEuZmlyc3RDaGlsZDtyZXR1cm4gYX0pLmFwcGVuZCh0aGlzKX1y
ZXR1cm4gdGhpc30sd3JhcElubmVyOmZ1bmN0aW9uKGEpe2lmKGYuaXNGdW5jdGlvbihhKSlyZXR1
cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKGIpe2YodGhpcykud3JhcElubmVyKGEuY2FsbCh0aGlzLGIp
KX0pO3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgYj1mKHRoaXMpLGM9Yi5jb250ZW50
cygpO2MubGVuZ3RoP2Mud3JhcEFsbChhKTpiLmFwcGVuZChhKX0pfSx3cmFwOmZ1bmN0aW9uKGEp
e3ZhciBiPWYuaXNGdW5jdGlvbihhKTtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKGMpe2YodGhp
cykud3JhcEFsbChiP2EuY2FsbCh0aGlzLGMpOmEpfSl9LHVud3JhcDpmdW5jdGlvbigpe3JldHVy
biB0aGlzLnBhcmVudCgpLmVhY2goZnVuY3Rpb24oKXtmLm5vZGVOYW1lKHRoaXMsImJvZHkiKXx8
Zih0aGlzKS5yZXBsYWNlV2l0aCh0aGlzLmNoaWxkTm9kZXMpfSkuZW5kKCl9LGFwcGVuZDpmdW5j
dGlvbigpe3JldHVybiB0aGlzLmRvbU1hbmlwKGFyZ3VtZW50cywhMCxmdW5jdGlvbihhKXt0aGlz
Lm5vZGVUeXBlPT09MSYmdGhpcy5hcHBlbmRDaGlsZChhKX0pfSxwcmVwZW5kOmZ1bmN0aW9uKCl7
cmV0dXJuIHRoaXMuZG9tTWFuaXAoYXJndW1lbnRzLCEwLGZ1bmN0aW9uKGEpe3RoaXMubm9kZVR5
cGU9PT0xJiZ0aGlzLmluc2VydEJlZm9yZShhLHRoaXMuZmlyc3RDaGlsZCl9KX0sYmVmb3JlOmZ1
bmN0aW9uKCl7aWYodGhpc1swXSYmdGhpc1swXS5wYXJlbnROb2RlKXJldHVybiB0aGlzLmRvbU1h
bmlwKGFyZ3VtZW50cywhMSxmdW5jdGlvbihhKXt0aGlzLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3Jl
KGEsdGhpcyl9KTtpZihhcmd1bWVudHMubGVuZ3RoKXt2YXIgYT1mLmNsZWFuKGFyZ3VtZW50cyk7
YS5wdXNoLmFwcGx5KGEsdGhpcy50b0FycmF5KCkpO3JldHVybiB0aGlzLnB1c2hTdGFjayhhLCJi
ZWZvcmUiLGFyZ3VtZW50cyl9fSxhZnRlcjpmdW5jdGlvbigpe2lmKHRoaXNbMF0mJnRoaXNbMF0u
cGFyZW50Tm9kZSlyZXR1cm4gdGhpcy5kb21NYW5pcChhcmd1bWVudHMsITEsZnVuY3Rpb24oYSl7
dGhpcy5wYXJlbnROb2RlLmluc2VydEJlZm9yZShhLHRoaXMubmV4dFNpYmxpbmcpfSk7aWYoYXJn
dW1lbnRzLmxlbmd0aCl7dmFyIGE9dGhpcy5wdXNoU3RhY2sodGhpcywiYWZ0ZXIiLGFyZ3VtZW50
cyk7YS5wdXNoLmFwcGx5KGEsZi5jbGVhbihhcmd1bWVudHMpKTtyZXR1cm4gYX19LHJlbW92ZTpm
dW5jdGlvbihhLGIpe2Zvcih2YXIgYz0wLGQ7KGQ9dGhpc1tjXSkhPW51bGw7YysrKWlmKCFhfHxm
LmZpbHRlcihhLFtkXSkubGVuZ3RoKSFiJiZkLm5vZGVUeXBlPT09MSYmKGYuY2xlYW5EYXRhKGQu
Z2V0RWxlbWVudHNCeVRhZ05hbWUoIioiKSksZi5jbGVhbkRhdGEoW2RdKSksZC5wYXJlbnROb2Rl
JiZkLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoZCk7cmV0dXJuIHRoaXN9LGVtcHR5OmZ1bmN0aW9u
KCkKe2Zvcih2YXIgYT0wLGI7KGI9dGhpc1thXSkhPW51bGw7YSsrKXtiLm5vZGVUeXBlPT09MSYm
Zi5jbGVhbkRhdGEoYi5nZXRFbGVtZW50c0J5VGFnTmFtZSgiKiIpKTt3aGlsZShiLmZpcnN0Q2hp
bGQpYi5yZW1vdmVDaGlsZChiLmZpcnN0Q2hpbGQpfXJldHVybiB0aGlzfSxjbG9uZTpmdW5jdGlv
bihhLGIpe2E9YT09bnVsbD8hMTphLGI9Yj09bnVsbD9hOmI7cmV0dXJuIHRoaXMubWFwKGZ1bmN0
aW9uKCl7cmV0dXJuIGYuY2xvbmUodGhpcyxhLGIpfSl9LGh0bWw6ZnVuY3Rpb24oYSl7aWYoYT09
PWIpcmV0dXJuIHRoaXNbMF0mJnRoaXNbMF0ubm9kZVR5cGU9PT0xP3RoaXNbMF0uaW5uZXJIVE1M
LnJlcGxhY2UoVywiIik6bnVsbDtpZih0eXBlb2YgYT09InN0cmluZyImJiFiYS50ZXN0KGEpJiYo
Zi5zdXBwb3J0LmxlYWRpbmdXaGl0ZXNwYWNlfHwhWC50ZXN0KGEpKSYmIWJnWyhaLmV4ZWMoYSl8
fFsiIiwiIl0pWzFdLnRvTG93ZXJDYXNlKCldKXthPWEucmVwbGFjZShZLCI8JDE+PC8kMj4iKTt0
cnl7Zm9yKHZhciBjPTAsZD10aGlzLmxlbmd0aDtjPGQ7YysrKXRoaXNbY10ubm9kZVR5cGU9PT0x
JiYoZi5jbGVhbkRhdGEodGhpc1tjXS5nZXRFbGVtZW50c0J5VGFnTmFtZSgiKiIpKSx0aGlzW2Nd
LmlubmVySFRNTD1hKX1jYXRjaChlKXt0aGlzLmVtcHR5KCkuYXBwZW5kKGEpfX1lbHNlIGYuaXNG
dW5jdGlvbihhKT90aGlzLmVhY2goZnVuY3Rpb24oYil7dmFyIGM9Zih0aGlzKTtjLmh0bWwoYS5j
YWxsKHRoaXMsYixjLmh0bWwoKSkpfSk6dGhpcy5lbXB0eSgpLmFwcGVuZChhKTtyZXR1cm4gdGhp
c30scmVwbGFjZVdpdGg6ZnVuY3Rpb24oYSl7aWYodGhpc1swXSYmdGhpc1swXS5wYXJlbnROb2Rl
KXtpZihmLmlzRnVuY3Rpb24oYSkpcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbihiKXt2YXIgYz1m
KHRoaXMpLGQ9Yy5odG1sKCk7Yy5yZXBsYWNlV2l0aChhLmNhbGwodGhpcyxiLGQpKX0pO3R5cGVv
ZiBhIT0ic3RyaW5nIiYmKGE9ZihhKS5kZXRhY2goKSk7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlv
bigpe3ZhciBiPXRoaXMubmV4dFNpYmxpbmcsYz10aGlzLnBhcmVudE5vZGU7Zih0aGlzKS5yZW1v
dmUoKSxiP2YoYikuYmVmb3JlKGEpOmYoYykuYXBwZW5kKGEpfSl9cmV0dXJuIHRoaXMubGVuZ3Ro
P3RoaXMucHVzaFN0YWNrKGYoZi5pc0Z1bmN0aW9uKGEpP2EoKTphKSwicmVwbGFjZVdpdGgiLGEp
OnRoaXN9LGRldGFjaDpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5yZW1vdmUoYSwhMCl9LGRvbU1h
bmlwOmZ1bmN0aW9uKGEsYyxkKXt2YXIgZSxnLGgsaSxqPWFbMF0saz1bXTtpZighZi5zdXBwb3J0
LmNoZWNrQ2xvbmUmJmFyZ3VtZW50cy5sZW5ndGg9PT0zJiZ0eXBlb2Ygaj09InN0cmluZyImJmJk
LnRlc3QoaikpcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe2YodGhpcykuZG9tTWFuaXAoYSxj
LGQsITApfSk7aWYoZi5pc0Z1bmN0aW9uKGopKXJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oZSl7
dmFyIGc9Zih0aGlzKTthWzBdPWouY2FsbCh0aGlzLGUsYz9nLmh0bWwoKTpiKSxnLmRvbU1hbmlw
KGEsYyxkKX0pO2lmKHRoaXNbMF0pe2k9aiYmai5wYXJlbnROb2RlLGYuc3VwcG9ydC5wYXJlbnRO
b2RlJiZpJiZpLm5vZGVUeXBlPT09MTEmJmkuY2hpbGROb2Rlcy5sZW5ndGg9PT10aGlzLmxlbmd0
aD9lPXtmcmFnbWVudDppfTplPWYuYnVpbGRGcmFnbWVudChhLHRoaXMsayksaD1lLmZyYWdtZW50
LGguY2hpbGROb2Rlcy5sZW5ndGg9PT0xP2c9aD1oLmZpcnN0Q2hpbGQ6Zz1oLmZpcnN0Q2hpbGQ7
aWYoZyl7Yz1jJiZmLm5vZGVOYW1lKGcsInRyIik7Zm9yKHZhciBsPTAsbT10aGlzLmxlbmd0aCxu
PW0tMTtsPG07bCsrKWQuY2FsbChjP2JpKHRoaXNbbF0sZyk6dGhpc1tsXSxlLmNhY2hlYWJsZXx8
bT4xJiZsPG4/Zi5jbG9uZShoLCEwLCEwKTpoKX1rLmxlbmd0aCYmZi5lYWNoKGssYnApfXJldHVy
biB0aGlzfX0pLGYuYnVpbGRGcmFnbWVudD1mdW5jdGlvbihhLGIsZCl7dmFyIGUsZyxoLGksaj1h
WzBdO2ImJmJbMF0mJihpPWJbMF0ub3duZXJEb2N1bWVudHx8YlswXSksaS5jcmVhdGVEb2N1bWVu
dEZyYWdtZW50fHwoaT1jKSxhLmxlbmd0aD09PTEmJnR5cGVvZiBqPT0ic3RyaW5nIiYmai5sZW5n
dGg8NTEyJiZpPT09YyYmai5jaGFyQXQoMCk9PT0iPCImJiFiYi50ZXN0KGopJiYoZi5zdXBwb3J0
LmNoZWNrQ2xvbmV8fCFiZC50ZXN0KGopKSYmKGYuc3VwcG9ydC5odG1sNUNsb25lfHwhYmMudGVz
dChqKSkmJihnPSEwLGg9Zi5mcmFnbWVudHNbal0saCYmaCE9PTEmJihlPWgpKSxlfHwoZT1pLmNy
ZWF0ZURvY3VtZW50RnJhZ21lbnQoKSxmLmNsZWFuKGEsaSxlLGQpKSxnJiYoZi5mcmFnbWVudHNb
al09aD9lOjEpO3JldHVybntmcmFnbWVudDplLGNhY2hlYWJsZTpnfX0sZi5mcmFnbWVudHM9e30s
Zi5lYWNoKHthcHBlbmRUbzoiYXBwZW5kIixwcmVwZW5kVG86InByZXBlbmQiLGluc2VydEJlZm9y
ZToiYmVmb3JlIixpbnNlcnRBZnRlcjoiYWZ0ZXIiLHJlcGxhY2VBbGw6InJlcGxhY2VXaXRoIn0s
ZnVuY3Rpb24oYSxiKXtmLmZuW2FdPWZ1bmN0aW9uKGMpe3ZhciBkPVtdLGU9ZihjKSxnPXRoaXMu
bGVuZ3RoPT09MSYmdGhpc1swXS5wYXJlbnROb2RlO2lmKGcmJmcubm9kZVR5cGU9PT0xMSYmZy5j
aGlsZE5vZGVzLmxlbmd0aD09PTEmJmUubGVuZ3RoPT09MSl7ZVtiXSh0aGlzWzBdKTtyZXR1cm4g
dGhpc31mb3IodmFyIGg9MCxpPWUubGVuZ3RoO2g8aTtoKyspe3ZhciBqPShoPjA/dGhpcy5jbG9u
ZSghMCk6dGhpcykuZ2V0KCk7ZihlW2hdKVtiXShqKSxkPWQuY29uY2F0KGopfXJldHVybiB0aGlz
LnB1c2hTdGFjayhkLGEsZS5zZWxlY3Rvcil9fSksZi5leHRlbmQoe2Nsb25lOmZ1bmN0aW9uKGEs
YixjKXt2YXIgZCxlLGcsaD1mLnN1cHBvcnQuaHRtbDVDbG9uZXx8IWJjLnRlc3QoIjwiK2Eubm9k
ZU5hbWUpP2EuY2xvbmVOb2RlKCEwKTpibyhhKTtpZigoIWYuc3VwcG9ydC5ub0Nsb25lRXZlbnR8
fCFmLnN1cHBvcnQubm9DbG9uZUNoZWNrZWQpJiYoYS5ub2RlVHlwZT09PTF8fGEubm9kZVR5cGU9
PT0xMSkmJiFmLmlzWE1MRG9jKGEpKXtiayhhLGgpLGQ9YmwoYSksZT1ibChoKTtmb3IoZz0wO2Rb
Z107KytnKWVbZ10mJmJrKGRbZ10sZVtnXSl9aWYoYil7YmooYSxoKTtpZihjKXtkPWJsKGEpLGU9
YmwoaCk7Zm9yKGc9MDtkW2ddOysrZyliaihkW2ddLGVbZ10pfX1kPWU9bnVsbDtyZXR1cm4gaH0s
Y2xlYW46ZnVuY3Rpb24oYSxiLGQsZSl7dmFyIGc7Yj1ifHxjLHR5cGVvZiBiLmNyZWF0ZUVsZW1l
bnQ9PSJ1bmRlZmluZWQiJiYoYj1iLm93bmVyRG9jdW1lbnR8fGJbMF0mJmJbMF0ub3duZXJEb2N1
bWVudHx8Yyk7dmFyIGg9W10saTtmb3IodmFyIGo9MCxrOyhrPWFbal0pIT1udWxsO2orKyl7dHlw
ZW9mIGs9PSJudW1iZXIiJiYoays9IiIpO2lmKCFrKWNvbnRpbnVlO2lmKHR5cGVvZiBrPT0ic3Ry
aW5nIilpZighXy50ZXN0KGspKWs9Yi5jcmVhdGVUZXh0Tm9kZShrKTtlbHNle2s9ay5yZXBsYWNl
KFksIjwkMT48LyQyPiIpO3ZhciBsPShaLmV4ZWMoayl8fFsiIiwiIl0pWzFdLnRvTG93ZXJDYXNl
KCksbT1iZ1tsXXx8YmcuX2RlZmF1bHQsbj1tWzBdLG89Yi5jcmVhdGVFbGVtZW50KCJkaXYiKTti
PT09Yz9iaC5hcHBlbmRDaGlsZChvKTpVKGIpLmFwcGVuZENoaWxkKG8pLG8uaW5uZXJIVE1MPW1b
MV0rayttWzJdO3doaWxlKG4tLSlvPW8ubGFzdENoaWxkO2lmKCFmLnN1cHBvcnQudGJvZHkpe3Zh
ciBwPSQudGVzdChrKSxxPWw9PT0idGFibGUiJiYhcD9vLmZpcnN0Q2hpbGQmJm8uZmlyc3RDaGls
ZC5jaGlsZE5vZGVzOm1bMV09PT0iPHRhYmxlPiImJiFwP28uY2hpbGROb2RlczpbXTtmb3IoaT1x
Lmxlbmd0aC0xO2k+PTA7LS1pKWYubm9kZU5hbWUocVtpXSwidGJvZHkiKSYmIXFbaV0uY2hpbGRO
b2Rlcy5sZW5ndGgmJnFbaV0ucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChxW2ldKX0hZi5zdXBwb3J0
LmxlYWRpbmdXaGl0ZXNwYWNlJiZYLnRlc3QoaykmJm8uaW5zZXJ0QmVmb3JlKGIuY3JlYXRlVGV4
dE5vZGUoWC5leGVjKGspWzBdKSxvLmZpcnN0Q2hpbGQpLGs9by5jaGlsZE5vZGVzfXZhciByO2lm
KCFmLnN1cHBvcnQuYXBwZW5kQ2hlY2tlZClpZihrWzBdJiZ0eXBlb2YgKHI9ay5sZW5ndGgpPT0i
bnVtYmVyIilmb3IoaT0wO2k8cjtpKyspYm4oa1tpXSk7ZWxzZSBibihrKTtrLm5vZGVUeXBlP2gu
cHVzaChrKTpoPWYubWVyZ2UoaCxrKX1pZihkKXtnPWZ1bmN0aW9uKGEpe3JldHVybiFhLnR5cGV8
fGJlLnRlc3QoYS50eXBlKX07Zm9yKGo9MDtoW2pdO2orKylpZihlJiZmLm5vZGVOYW1lKGhbal0s
InNjcmlwdCIpJiYoIWhbal0udHlwZXx8aFtqXS50eXBlLnRvTG93ZXJDYXNlKCk9PT0idGV4dC9q
YXZhc2NyaXB0IikpZS5wdXNoKGhbal0ucGFyZW50Tm9kZT9oW2pdLnBhcmVudE5vZGUucmVtb3Zl
Q2hpbGQoaFtqXSk6aFtqXSk7ZWxzZXtpZihoW2pdLm5vZGVUeXBlPT09MSl7dmFyIHM9Zi5ncmVw
KGhbal0uZ2V0RWxlbWVudHNCeVRhZ05hbWUoInNjcmlwdCIpLGcpO2guc3BsaWNlLmFwcGx5KGgs
W2orMSwwXS5jb25jYXQocykpfWQuYXBwZW5kQ2hpbGQoaFtqXSl9fXJldHVybiBofSxjbGVhbkRh
dGE6ZnVuY3Rpb24oYSl7dmFyIGIsYyxkPWYuY2FjaGUsZT1mLmV2ZW50LnNwZWNpYWwsZz1mLnN1
cHBvcnQuZGVsZXRlRXhwYW5kbztmb3IodmFyIGg9MCxpOyhpPWFbaF0pIT1udWxsO2grKyl7aWYo
aS5ub2RlTmFtZSYmZi5ub0RhdGFbaS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpXSljb250aW51ZTtj
PWlbZi5leHBhbmRvXTtpZihjKXtiPWRbY107aWYoYiYmYi5ldmVudHMpe2Zvcih2YXIgaiBpbiBi
LmV2ZW50cyllW2pdP2YuZXZlbnQucmVtb3ZlKGksaik6Zi5yZW1vdmVFdmVudChpLGosYi5oYW5k
bGUpO2IuaGFuZGxlJiYoYi5oYW5kbGUuZWxlbT1udWxsKX1nP2RlbGV0ZSBpW2YuZXhwYW5kb106
aS5yZW1vdmVBdHRyaWJ1dGUmJmkucmVtb3ZlQXR0cmlidXRlKGYuZXhwYW5kbyksZGVsZXRlIGRb
Y119fX19KTt2YXIgYnE9L2FscGhhXChbXildKlwpL2ksYnI9L29wYWNpdHk9KFteKV0qKS8sYnM9
LyhbQS1aXXxebXMpL2csYnQ9L14tP1xkKyg/OnB4KT8kL2ksYnU9L14tP1xkLyxidj0vXihbXC0r
XSk9KFtcLSsuXGRlXSspLyxidz17cG9zaXRpb246ImFic29sdXRlIix2aXNpYmlsaXR5OiJoaWRk
ZW4iLGRpc3BsYXk6ImJsb2NrIn0sYng9WyJMZWZ0IiwiUmlnaHQiXSxieT1bIlRvcCIsIkJvdHRv
bSJdLGJ6LGJBLGJCO2YuZm4uY3NzPWZ1bmN0aW9uKGEsYyl7aWYoYXJndW1lbnRzLmxlbmd0aD09
PTImJmM9PT1iKXJldHVybiB0aGlzO3JldHVybiBmLmFjY2Vzcyh0aGlzLGEsYywhMCxmdW5jdGlv
bihhLGMsZCl7cmV0dXJuIGQhPT1iP2Yuc3R5bGUoYSxjLGQpOmYuY3NzKGEsYyl9KX0sZi5leHRl
bmQoe2Nzc0hvb2tzOntvcGFjaXR5OntnZXQ6ZnVuY3Rpb24oYSxiKXtpZihiKXt2YXIgYz1ieihh
LCJvcGFjaXR5Iiwib3BhY2l0eSIpO3JldHVybiBjPT09IiI/IjEiOmN9cmV0dXJuIGEuc3R5bGUu
b3BhY2l0eX19fSxjc3NOdW1iZXI6e2ZpbGxPcGFjaXR5OiEwLGZvbnRXZWlnaHQ6ITAsbGluZUhl
aWdodDohMCxvcGFjaXR5OiEwLG9ycGhhbnM6ITAsd2lkb3dzOiEwLHpJbmRleDohMCx6b29tOiEw
fSxjc3NQcm9wczp7ImZsb2F0IjpmLnN1cHBvcnQuY3NzRmxvYXQ/ImNzc0Zsb2F0Ijoic3R5bGVG
bG9hdCJ9LHN0eWxlOmZ1bmN0aW9uKGEsYyxkLGUpe2lmKCEhYSYmYS5ub2RlVHlwZSE9PTMmJmEu
bm9kZVR5cGUhPT04JiYhIWEuc3R5bGUpe3ZhciBnLGgsaT1mLmNhbWVsQ2FzZShjKSxqPWEuc3R5
bGUsaz1mLmNzc0hvb2tzW2ldO2M9Zi5jc3NQcm9wc1tpXXx8aTtpZihkPT09Yil7aWYoayYmImdl
dCJpbiBrJiYoZz1rLmdldChhLCExLGUpKSE9PWIpcmV0dXJuIGc7cmV0dXJuIGpbY119aD10eXBl
b2YgZCxoPT09InN0cmluZyImJihnPWJ2LmV4ZWMoZCkpJiYoZD0rKGdbMV0rMSkqK2dbMl0rcGFy
c2VGbG9hdChmLmNzcyhhLGMpKSxoPSJudW1iZXIiKTtpZihkPT1udWxsfHxoPT09Im51bWJlciIm
JmlzTmFOKGQpKXJldHVybjtoPT09Im51bWJlciImJiFmLmNzc051bWJlcltpXSYmKGQrPSJweCIp
O2lmKCFrfHwhKCJzZXQiaW4gayl8fChkPWsuc2V0KGEsZCkpIT09Yil0cnl7altjXT1kfWNhdGNo
KGwpe319fSxjc3M6ZnVuY3Rpb24oYSxjLGQpe3ZhciBlLGc7Yz1mLmNhbWVsQ2FzZShjKSxnPWYu
Y3NzSG9va3NbY10sYz1mLmNzc1Byb3BzW2NdfHxjLGM9PT0iY3NzRmxvYXQiJiYoYz0iZmxvYXQi
KTtpZihnJiYiZ2V0ImluIGcmJihlPWcuZ2V0KGEsITAsZCkpIT09YilyZXR1cm4gZTtpZihieily
ZXR1cm4gYnooYSxjKX0sc3dhcDpmdW5jdGlvbihhLGIsYyl7dmFyIGQ9e307Zm9yKHZhciBlIGlu
IGIpZFtlXT1hLnN0eWxlW2VdLGEuc3R5bGVbZV09YltlXTtjLmNhbGwoYSk7Zm9yKGUgaW4gYilh
LnN0eWxlW2VdPWRbZV19fSksZi5jdXJDU1M9Zi5jc3MsZi5lYWNoKFsiaGVpZ2h0Iiwid2lkdGgi
XSxmdW5jdGlvbihhLGIpe2YuY3NzSG9va3NbYl09e2dldDpmdW5jdGlvbihhLGMsZCl7dmFyIGU7
aWYoYyl7aWYoYS5vZmZzZXRXaWR0aCE9PTApcmV0dXJuIGJDKGEsYixkKTtmLnN3YXAoYSxidyxm
dW5jdGlvbigpe2U9YkMoYSxiLGQpfSk7cmV0dXJuIGV9fSxzZXQ6ZnVuY3Rpb24oYSxiKXtpZigh
YnQudGVzdChiKSlyZXR1cm4gYjtiPXBhcnNlRmxvYXQoYik7aWYoYj49MClyZXR1cm4gYisicHgi
fX19KSxmLnN1cHBvcnQub3BhY2l0eXx8KGYuY3NzSG9va3Mub3BhY2l0eT17Z2V0OmZ1bmN0aW9u
KGEsYil7cmV0dXJuIGJyLnRlc3QoKGImJmEuY3VycmVudFN0eWxlP2EuY3VycmVudFN0eWxlLmZp
bHRlcjphLnN0eWxlLmZpbHRlcil8fCIiKT9wYXJzZUZsb2F0KFJlZ0V4cC4kMSkvMTAwKyIiOmI/
IjEiOiIifSxzZXQ6ZnVuY3Rpb24oYSxiKXt2YXIgYz1hLnN0eWxlLGQ9YS5jdXJyZW50U3R5bGUs
ZT1mLmlzTnVtZXJpYyhiKT8iYWxwaGEob3BhY2l0eT0iK2IqMTAwKyIpIjoiIixnPWQmJmQuZmls
dGVyfHxjLmZpbHRlcnx8IiI7Yy56b29tPTE7aWYoYj49MSYmZi50cmltKGcucmVwbGFjZShicSwi
IikpPT09IiIpe2MucmVtb3ZlQXR0cmlidXRlKCJmaWx0ZXIiKTtpZihkJiYhZC5maWx0ZXIpcmV0
dXJufWMuZmlsdGVyPWJxLnRlc3QoZyk/Zy5yZXBsYWNlKGJxLGUpOmcrIiAiK2V9fSksZihmdW5j
dGlvbigpe2Yuc3VwcG9ydC5yZWxpYWJsZU1hcmdpblJpZ2h0fHwoZi5jc3NIb29rcy5tYXJnaW5S
aWdodD17Z2V0OmZ1bmN0aW9uKGEsYil7dmFyIGM7Zi5zd2FwKGEse2Rpc3BsYXk6ImlubGluZS1i
bG9jayJ9LGZ1bmN0aW9uKCl7Yj9jPWJ6KGEsIm1hcmdpbi1yaWdodCIsIm1hcmdpblJpZ2h0Iik6
Yz1hLnN0eWxlLm1hcmdpblJpZ2h0fSk7cmV0dXJuIGN9fSl9KSxjLmRlZmF1bHRWaWV3JiZjLmRl
ZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUmJihiQT1mdW5jdGlvbihhLGIpe3ZhciBjLGQsZTti
PWIucmVwbGFjZShicywiLSQxIikudG9Mb3dlckNhc2UoKSwoZD1hLm93bmVyRG9jdW1lbnQuZGVm
YXVsdFZpZXcpJiYoZT1kLmdldENvbXB1dGVkU3R5bGUoYSxudWxsKSkmJihjPWUuZ2V0UHJvcGVy
dHlWYWx1ZShiKSxjPT09IiImJiFmLmNvbnRhaW5zKGEub3duZXJEb2N1bWVudC5kb2N1bWVudEVs
ZW1lbnQsYSkmJihjPWYuc3R5bGUoYSxiKSkpO3JldHVybiBjfSksYy5kb2N1bWVudEVsZW1lbnQu
Y3VycmVudFN0eWxlJiYoYkI9ZnVuY3Rpb24oYSxiKXt2YXIgYyxkLGUsZj1hLmN1cnJlbnRTdHls
ZSYmYS5jdXJyZW50U3R5bGVbYl0sZz1hLnN0eWxlO2Y9PT1udWxsJiZnJiYoZT1nW2JdKSYmKGY9
ZSksIWJ0LnRlc3QoZikmJmJ1LnRlc3QoZikmJihjPWcubGVmdCxkPWEucnVudGltZVN0eWxlJiZh
LnJ1bnRpbWVTdHlsZS5sZWZ0LGQmJihhLnJ1bnRpbWVTdHlsZS5sZWZ0PWEuY3VycmVudFN0eWxl
LmxlZnQpLGcubGVmdD1iPT09ImZvbnRTaXplIj8iMWVtIjpmfHwwLGY9Zy5waXhlbExlZnQrInB4
IixnLmxlZnQ9YyxkJiYoYS5ydW50aW1lU3R5bGUubGVmdD1kKSk7cmV0dXJuIGY9PT0iIj8iYXV0
byI6Zn0pLGJ6PWJBfHxiQixmLmV4cHImJmYuZXhwci5maWx0ZXJzJiYoZi5leHByLmZpbHRlcnMu
aGlkZGVuPWZ1bmN0aW9uKGEpe3ZhciBiPWEub2Zmc2V0V2lkdGgsYz1hLm9mZnNldEhlaWdodDty
ZXR1cm4gYj09PTAmJmM9PT0wfHwhZi5zdXBwb3J0LnJlbGlhYmxlSGlkZGVuT2Zmc2V0cyYmKGEu
c3R5bGUmJmEuc3R5bGUuZGlzcGxheXx8Zi5jc3MoYSwiZGlzcGxheSIpKT09PSJub25lIn0sZi5l
eHByLmZpbHRlcnMudmlzaWJsZT1mdW5jdGlvbihhKXtyZXR1cm4hZi5leHByLmZpbHRlcnMuaGlk
ZGVuKGEpfSk7dmFyIGJEPS8lMjAvZyxiRT0vXFtcXSQvLGJGPS9ccj9cbi9nLGJHPS8jLiokLyxi
SD0vXiguKj8pOlsgXHRdKihbXlxyXG5dKilccj8kL21nLGJJPS9eKD86Y29sb3J8ZGF0ZXxkYXRl
dGltZXxkYXRldGltZS1sb2NhbHxlbWFpbHxoaWRkZW58bW9udGh8bnVtYmVyfHBhc3N3b3JkfHJh
bmdlfHNlYXJjaHx0ZWx8dGV4dHx0aW1lfHVybHx3ZWVrKSQvaSxiSj0vXig/OmFib3V0fGFwcHxh
cHBcLXN0b3JhZ2V8LitcLWV4dGVuc2lvbnxmaWxlfHJlc3x3aWRnZXQpOiQvLGJLPS9eKD86R0VU
fEhFQUQpJC8sYkw9L15cL1wvLyxiTT0vXD8vLGJOPS88c2NyaXB0XGJbXjxdKig/Oig/ITxcL3Nj
cmlwdD4pPFtePF0qKSo8XC9zY3JpcHQ+L2dpLGJPPS9eKD86c2VsZWN0fHRleHRhcmVhKS9pLGJQ
PS9ccysvLGJRPS8oWz8mXSlfPVteJl0qLyxiUj0vXihbXHdcK1wuXC1dKzopKD86XC9cLyhbXlwv
PyM6XSopKD86OihcZCspKT8pPy8sYlM9Zi5mbi5sb2FkLGJUPXt9LGJVPXt9LGJWLGJXLGJYPVsi
Ki8iXStbIioiXTt0cnl7YlY9ZS5ocmVmfWNhdGNoKGJZKXtiVj1jLmNyZWF0ZUVsZW1lbnQoImEi
KSxiVi5ocmVmPSIiLGJWPWJWLmhyZWZ9Ylc9YlIuZXhlYyhiVi50b0xvd2VyQ2FzZSgpKXx8W10s
Zi5mbi5leHRlbmQoe2xvYWQ6ZnVuY3Rpb24oYSxjLGQpe2lmKHR5cGVvZiBhIT0ic3RyaW5nIiYm
YlMpcmV0dXJuIGJTLmFwcGx5KHRoaXMsYXJndW1lbnRzKTtpZighdGhpcy5sZW5ndGgpcmV0dXJu
IHRoaXM7dmFyIGU9YS5pbmRleE9mKCIgIik7aWYoZT49MCl7dmFyIGc9YS5zbGljZShlLGEubGVu
Z3RoKTthPWEuc2xpY2UoMCxlKX12YXIgaD0iR0VUIjtjJiYoZi5pc0Z1bmN0aW9uKGMpPyhkPWMs
Yz1iKTp0eXBlb2YgYz09Im9iamVjdCImJihjPWYucGFyYW0oYyxmLmFqYXhTZXR0aW5ncy50cmFk
aXRpb25hbCksaD0iUE9TVCIpKTt2YXIgaT10aGlzO2YuYWpheCh7dXJsOmEsdHlwZTpoLGRhdGFU
eXBlOiJodG1sIixkYXRhOmMsY29tcGxldGU6ZnVuY3Rpb24oYSxiLGMpe2M9YS5yZXNwb25zZVRl
eHQsYS5pc1Jlc29sdmVkKCkmJihhLmRvbmUoZnVuY3Rpb24oYSl7Yz1hfSksaS5odG1sKGc/Zigi
PGRpdj4iKS5hcHBlbmQoYy5yZXBsYWNlKGJOLCIiKSkuZmluZChnKTpjKSksZCYmaS5lYWNoKGQs
W2MsYixhXSl9fSk7cmV0dXJuIHRoaXN9LHNlcmlhbGl6ZTpmdW5jdGlvbigpe3JldHVybiBmLnBh
cmFtKHRoaXMuc2VyaWFsaXplQXJyYXkoKSl9LHNlcmlhbGl6ZUFycmF5OmZ1bmN0aW9uKCl7cmV0
dXJuIHRoaXMubWFwKGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZWxlbWVudHM/Zi5tYWtlQXJyYXko
dGhpcy5lbGVtZW50cyk6dGhpc30pLmZpbHRlcihmdW5jdGlvbigpe3JldHVybiB0aGlzLm5hbWUm
JiF0aGlzLmRpc2FibGVkJiYodGhpcy5jaGVja2VkfHxiTy50ZXN0KHRoaXMubm9kZU5hbWUpfHxi
SS50ZXN0KHRoaXMudHlwZSkpfSkubWFwKGZ1bmN0aW9uKGEsYil7dmFyIGM9Zih0aGlzKS52YWwo
KTtyZXR1cm4gYz09bnVsbD9udWxsOmYuaXNBcnJheShjKT9mLm1hcChjLGZ1bmN0aW9uKGEsYyl7
cmV0dXJue25hbWU6Yi5uYW1lLHZhbHVlOmEucmVwbGFjZShiRiwiXHJcbiIpfX0pOntuYW1lOmIu
bmFtZSx2YWx1ZTpjLnJlcGxhY2UoYkYsIlxyXG4iKX19KS5nZXQoKX19KSxmLmVhY2goImFqYXhT
dGFydCBhamF4U3RvcCBhamF4Q29tcGxldGUgYWpheEVycm9yIGFqYXhTdWNjZXNzIGFqYXhTZW5k
Ii5zcGxpdCgiICIpLGZ1bmN0aW9uKGEsYil7Zi5mbltiXT1mdW5jdGlvbihhKXtyZXR1cm4gdGhp
cy5vbihiLGEpfX0pLGYuZWFjaChbImdldCIsInBvc3QiXSxmdW5jdGlvbihhLGMpe2ZbY109ZnVu
Y3Rpb24oYSxkLGUsZyl7Zi5pc0Z1bmN0aW9uKGQpJiYoZz1nfHxlLGU9ZCxkPWIpO3JldHVybiBm
LmFqYXgoe3R5cGU6Yyx1cmw6YSxkYXRhOmQsc3VjY2VzczplLGRhdGFUeXBlOmd9KX19KSxmLmV4
dGVuZCh7Z2V0U2NyaXB0OmZ1bmN0aW9uKGEsYyl7cmV0dXJuIGYuZ2V0KGEsYixjLCJzY3JpcHQi
KX0sZ2V0SlNPTjpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIGYuZ2V0KGEsYixjLCJqc29uIil9LGFq
YXhTZXR1cDpmdW5jdGlvbihhLGIpe2I/Yl8oYSxmLmFqYXhTZXR0aW5ncyk6KGI9YSxhPWYuYWph
eFNldHRpbmdzKSxiXyhhLGIpO3JldHVybiBhfSxhamF4U2V0dGluZ3M6e3VybDpiVixpc0xvY2Fs
OmJKLnRlc3QoYldbMV0pLGdsb2JhbDohMCx0eXBlOiJHRVQiLGNvbnRlbnRUeXBlOiJhcHBsaWNh
dGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQiLHByb2Nlc3NEYXRhOiEwLGFzeW5jOiEwLGFjY2Vw
dHM6e3htbDoiYXBwbGljYXRpb24veG1sLCB0ZXh0L3htbCIsaHRtbDoidGV4dC9odG1sIix0ZXh0
OiJ0ZXh0L3BsYWluIixqc29uOiJhcHBsaWNhdGlvbi9qc29uLCB0ZXh0L2phdmFzY3JpcHQiLCIq
IjpiWH0sY29udGVudHM6e3htbDoveG1sLyxodG1sOi9odG1sLyxqc29uOi9qc29uL30scmVzcG9u
c2VGaWVsZHM6e3htbDoicmVzcG9uc2VYTUwiLHRleHQ6InJlc3BvbnNlVGV4dCJ9LGNvbnZlcnRl
cnM6eyIqIHRleHQiOmEuU3RyaW5nLCJ0ZXh0IGh0bWwiOiEwLCJ0ZXh0IGpzb24iOmYucGFyc2VK
U09OLCJ0ZXh0IHhtbCI6Zi5wYXJzZVhNTH0sZmxhdE9wdGlvbnM6e2NvbnRleHQ6ITAsdXJsOiEw
fX0sYWpheFByZWZpbHRlcjpiWihiVCksYWpheFRyYW5zcG9ydDpiWihiVSksYWpheDpmdW5jdGlv
bihhLGMpe2Z1bmN0aW9uIHcoYSxjLGwsbSl7aWYocyE9PTIpe3M9MixxJiZjbGVhclRpbWVvdXQo
cSkscD1iLG49bXx8IiIsdi5yZWFkeVN0YXRlPWE+MD80OjA7dmFyIG8scix1LHc9Yyx4PWw/Y2Io
ZCx2LGwpOmIseSx6O2lmKGE+PTIwMCYmYTwzMDB8fGE9PT0zMDQpe2lmKGQuaWZNb2RpZmllZCl7
aWYoeT12LmdldFJlc3BvbnNlSGVhZGVyKCJMYXN0LU1vZGlmaWVkIikpZi5sYXN0TW9kaWZpZWRb
a109eTtpZih6PXYuZ2V0UmVzcG9uc2VIZWFkZXIoIkV0YWciKSlmLmV0YWdba109en1pZihhPT09
MzA0KXc9Im5vdG1vZGlmaWVkIixvPSEwO2Vsc2UgdHJ5e3I9Y2MoZCx4KSx3PSJzdWNjZXNzIixv
PSEwfWNhdGNoKEEpe3c9InBhcnNlcmVycm9yIix1PUF9fWVsc2V7dT13O2lmKCF3fHxhKXc9ImVy
cm9yIixhPDAmJihhPTApfXYuc3RhdHVzPWEsdi5zdGF0dXNUZXh0PSIiKyhjfHx3KSxvP2gucmVz
b2x2ZVdpdGgoZSxbcix3LHZdKTpoLnJlamVjdFdpdGgoZSxbdix3LHVdKSx2LnN0YXR1c0NvZGUo
aiksaj1iLHQmJmcudHJpZ2dlcigiYWpheCIrKG8/IlN1Y2Nlc3MiOiJFcnJvciIpLFt2LGQsbz9y
OnVdKSxpLmZpcmVXaXRoKGUsW3Ysd10pLHQmJihnLnRyaWdnZXIoImFqYXhDb21wbGV0ZSIsW3Ys
ZF0pLC0tZi5hY3RpdmV8fGYuZXZlbnQudHJpZ2dlcigiYWpheFN0b3AiKSl9fXR5cGVvZiBhPT0i
b2JqZWN0IiYmKGM9YSxhPWIpLGM9Y3x8e307dmFyIGQ9Zi5hamF4U2V0dXAoe30sYyksZT1kLmNv
bnRleHR8fGQsZz1lIT09ZCYmKGUubm9kZVR5cGV8fGUgaW5zdGFuY2VvZiBmKT9mKGUpOmYuZXZl
bnQsaD1mLkRlZmVycmVkKCksaT1mLkNhbGxiYWNrcygib25jZSBtZW1vcnkiKSxqPWQuc3RhdHVz
Q29kZXx8e30sayxsPXt9LG09e30sbixvLHAscSxyLHM9MCx0LHUsdj17cmVhZHlTdGF0ZTowLHNl
dFJlcXVlc3RIZWFkZXI6ZnVuY3Rpb24oYSxiKXtpZighcyl7dmFyIGM9YS50b0xvd2VyQ2FzZSgp
O2E9bVtjXT1tW2NdfHxhLGxbYV09Yn1yZXR1cm4gdGhpc30sZ2V0QWxsUmVzcG9uc2VIZWFkZXJz
OmZ1bmN0aW9uKCl7cmV0dXJuIHM9PT0yP246bnVsbH0sZ2V0UmVzcG9uc2VIZWFkZXI6ZnVuY3Rp
b24oYSl7dmFyIGM7aWYocz09PTIpe2lmKCFvKXtvPXt9O3doaWxlKGM9YkguZXhlYyhuKSlvW2Nb
MV0udG9Mb3dlckNhc2UoKV09Y1syXX1jPW9bYS50b0xvd2VyQ2FzZSgpXX1yZXR1cm4gYz09PWI/
bnVsbDpjfSxvdmVycmlkZU1pbWVUeXBlOmZ1bmN0aW9uKGEpe3N8fChkLm1pbWVUeXBlPWEpO3Jl
dHVybiB0aGlzfSxhYm9ydDpmdW5jdGlvbihhKXthPWF8fCJhYm9ydCIscCYmcC5hYm9ydChhKSx3
KDAsYSk7cmV0dXJuIHRoaXN9fTtoLnByb21pc2Uodiksdi5zdWNjZXNzPXYuZG9uZSx2LmVycm9y
PXYuZmFpbCx2LmNvbXBsZXRlPWkuYWRkLHYuc3RhdHVzQ29kZT1mdW5jdGlvbihhKXtpZihhKXt2
YXIgYjtpZihzPDIpZm9yKGIgaW4gYSlqW2JdPVtqW2JdLGFbYl1dO2Vsc2UgYj1hW3Yuc3RhdHVz
XSx2LnRoZW4oYixiKX1yZXR1cm4gdGhpc30sZC51cmw9KChhfHxkLnVybCkrIiIpLnJlcGxhY2Uo
YkcsIiIpLnJlcGxhY2UoYkwsYldbMV0rIi8vIiksZC5kYXRhVHlwZXM9Zi50cmltKGQuZGF0YVR5
cGV8fCIqIikudG9Mb3dlckNhc2UoKS5zcGxpdChiUCksZC5jcm9zc0RvbWFpbj09bnVsbCYmKHI9
YlIuZXhlYyhkLnVybC50b0xvd2VyQ2FzZSgpKSxkLmNyb3NzRG9tYWluPSEoIXJ8fHJbMV09PWJX
WzFdJiZyWzJdPT1iV1syXSYmKHJbM118fChyWzFdPT09Imh0dHA6Ij84MDo0NDMpKT09KGJXWzNd
fHwoYldbMV09PT0iaHR0cDoiPzgwOjQ0MykpKSksZC5kYXRhJiZkLnByb2Nlc3NEYXRhJiZ0eXBl
b2YgZC5kYXRhIT0ic3RyaW5nIiYmKGQuZGF0YT1mLnBhcmFtKGQuZGF0YSxkLnRyYWRpdGlvbmFs
KSksYiQoYlQsZCxjLHYpO2lmKHM9PT0yKXJldHVybiExO3Q9ZC5nbG9iYWwsZC50eXBlPWQudHlw
ZS50b1VwcGVyQ2FzZSgpLGQuaGFzQ29udGVudD0hYksudGVzdChkLnR5cGUpLHQmJmYuYWN0aXZl
Kys9PT0wJiZmLmV2ZW50LnRyaWdnZXIoImFqYXhTdGFydCIpO2lmKCFkLmhhc0NvbnRlbnQpe2Qu
ZGF0YSYmKGQudXJsKz0oYk0udGVzdChkLnVybCk/IiYiOiI/IikrZC5kYXRhLGRlbGV0ZSBkLmRh
dGEpLGs9ZC51cmw7aWYoZC5jYWNoZT09PSExKXt2YXIgeD1mLm5vdygpLHk9ZC51cmwucmVwbGFj
ZShiUSwiJDFfPSIreCk7ZC51cmw9eSsoeT09PWQudXJsPyhiTS50ZXN0KGQudXJsKT8iJiI6Ij8i
KSsiXz0iK3g6IiIpfX0oZC5kYXRhJiZkLmhhc0NvbnRlbnQmJmQuY29udGVudFR5cGUhPT0hMXx8
Yy5jb250ZW50VHlwZSkmJnYuc2V0UmVxdWVzdEhlYWRlcigiQ29udGVudC1UeXBlIixkLmNvbnRl
bnRUeXBlKSxkLmlmTW9kaWZpZWQmJihrPWt8fGQudXJsLGYubGFzdE1vZGlmaWVkW2tdJiZ2LnNl
dFJlcXVlc3RIZWFkZXIoIklmLU1vZGlmaWVkLVNpbmNlIixmLmxhc3RNb2RpZmllZFtrXSksZi5l
dGFnW2tdJiZ2LnNldFJlcXVlc3RIZWFkZXIoIklmLU5vbmUtTWF0Y2giLGYuZXRhZ1trXSkpLHYu
c2V0UmVxdWVzdEhlYWRlcigiQWNjZXB0IixkLmRhdGFUeXBlc1swXSYmZC5hY2NlcHRzW2QuZGF0
YVR5cGVzWzBdXT9kLmFjY2VwdHNbZC5kYXRhVHlwZXNbMF1dKyhkLmRhdGFUeXBlc1swXSE9PSIq
Ij8iLCAiK2JYKyI7IHE9MC4wMSI6IiIpOmQuYWNjZXB0c1siKiJdKTtmb3IodSBpbiBkLmhlYWRl
cnMpdi5zZXRSZXF1ZXN0SGVhZGVyKHUsZC5oZWFkZXJzW3VdKTtpZihkLmJlZm9yZVNlbmQmJihk
LmJlZm9yZVNlbmQuY2FsbChlLHYsZCk9PT0hMXx8cz09PTIpKXt2LmFib3J0KCk7cmV0dXJuITF9
Zm9yKHUgaW57c3VjY2VzczoxLGVycm9yOjEsY29tcGxldGU6MX0pdlt1XShkW3VdKTtwPWIkKGJV
LGQsYyx2KTtpZighcCl3KC0xLCJObyBUcmFuc3BvcnQiKTtlbHNle3YucmVhZHlTdGF0ZT0xLHQm
JmcudHJpZ2dlcigiYWpheFNlbmQiLFt2LGRdKSxkLmFzeW5jJiZkLnRpbWVvdXQ+MCYmKHE9c2V0
VGltZW91dChmdW5jdGlvbigpe3YuYWJvcnQoInRpbWVvdXQiKX0sZC50aW1lb3V0KSk7dHJ5e3M9
MSxwLnNlbmQobCx3KX1jYXRjaCh6KXtpZihzPDIpdygtMSx6KTtlbHNlIHRocm93IHp9fXJldHVy
biB2fSxwYXJhbTpmdW5jdGlvbihhLGMpe3ZhciBkPVtdLGU9ZnVuY3Rpb24oYSxiKXtiPWYuaXNG
dW5jdGlvbihiKT9iKCk6YixkW2QubGVuZ3RoXT1lbmNvZGVVUklDb21wb25lbnQoYSkrIj0iK2Vu
Y29kZVVSSUNvbXBvbmVudChiKX07Yz09PWImJihjPWYuYWpheFNldHRpbmdzLnRyYWRpdGlvbmFs
KTtpZihmLmlzQXJyYXkoYSl8fGEuanF1ZXJ5JiYhZi5pc1BsYWluT2JqZWN0KGEpKWYuZWFjaChh
LGZ1bmN0aW9uKCl7ZSh0aGlzLm5hbWUsdGhpcy52YWx1ZSl9KTtlbHNlIGZvcih2YXIgZyBpbiBh
KWNhKGcsYVtnXSxjLGUpO3JldHVybiBkLmpvaW4oIiYiKS5yZXBsYWNlKGJELCIrIil9fSksZi5l
eHRlbmQoe2FjdGl2ZTowLGxhc3RNb2RpZmllZDp7fSxldGFnOnt9fSk7dmFyIGNkPWYubm93KCks
Y2U9LyhcPSlcPygmfCQpfFw/XD8vaTtmLmFqYXhTZXR1cCh7anNvbnA6ImNhbGxiYWNrIixqc29u
cENhbGxiYWNrOmZ1bmN0aW9uKCl7cmV0dXJuIGYuZXhwYW5kbysiXyIrY2QrK319KSxmLmFqYXhQ
cmVmaWx0ZXIoImpzb24ganNvbnAiLGZ1bmN0aW9uKGIsYyxkKXt2YXIgZT1iLmNvbnRlbnRUeXBl
PT09ImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCImJnR5cGVvZiBiLmRhdGE9PSJz
dHJpbmciO2lmKGIuZGF0YVR5cGVzWzBdPT09Impzb25wInx8Yi5qc29ucCE9PSExJiYoY2UudGVz
dChiLnVybCl8fGUmJmNlLnRlc3QoYi5kYXRhKSkpe3ZhciBnLGg9Yi5qc29ucENhbGxiYWNrPWYu
aXNGdW5jdGlvbihiLmpzb25wQ2FsbGJhY2spP2IuanNvbnBDYWxsYmFjaygpOmIuanNvbnBDYWxs
YmFjayxpPWFbaF0saj1iLnVybCxrPWIuZGF0YSxsPSIkMSIraCsiJDIiO2IuanNvbnAhPT0hMSYm
KGo9ai5yZXBsYWNlKGNlLGwpLGIudXJsPT09aiYmKGUmJihrPWsucmVwbGFjZShjZSxsKSksYi5k
YXRhPT09ayYmKGorPSgvXD8vLnRlc3Qoaik/IiYiOiI/IikrYi5qc29ucCsiPSIraCkpKSxiLnVy
bD1qLGIuZGF0YT1rLGFbaF09ZnVuY3Rpb24oYSl7Zz1bYV19LGQuYWx3YXlzKGZ1bmN0aW9uKCl7
YVtoXT1pLGcmJmYuaXNGdW5jdGlvbihpKSYmYVtoXShnWzBdKX0pLGIuY29udmVydGVyc1sic2Ny
aXB0IGpzb24iXT1mdW5jdGlvbigpe2d8fGYuZXJyb3IoaCsiIHdhcyBub3QgY2FsbGVkIik7cmV0
dXJuIGdbMF19LGIuZGF0YVR5cGVzWzBdPSJqc29uIjtyZXR1cm4ic2NyaXB0In19KSxmLmFqYXhT
ZXR1cCh7YWNjZXB0czp7c2NyaXB0OiJ0ZXh0L2phdmFzY3JpcHQsIGFwcGxpY2F0aW9uL2phdmFz
Y3JpcHQsIGFwcGxpY2F0aW9uL2VjbWFzY3JpcHQsIGFwcGxpY2F0aW9uL3gtZWNtYXNjcmlwdCJ9
LGNvbnRlbnRzOntzY3JpcHQ6L2phdmFzY3JpcHR8ZWNtYXNjcmlwdC99LGNvbnZlcnRlcnM6eyJ0
ZXh0IHNjcmlwdCI6ZnVuY3Rpb24oYSl7Zi5nbG9iYWxFdmFsKGEpO3JldHVybiBhfX19KSxmLmFq
YXhQcmVmaWx0ZXIoInNjcmlwdCIsZnVuY3Rpb24oYSl7YS5jYWNoZT09PWImJihhLmNhY2hlPSEx
KSxhLmNyb3NzRG9tYWluJiYoYS50eXBlPSJHRVQiLGEuZ2xvYmFsPSExKX0pLGYuYWpheFRyYW5z
cG9ydCgic2NyaXB0IixmdW5jdGlvbihhKXtpZihhLmNyb3NzRG9tYWluKXt2YXIgZCxlPWMuaGVh
ZHx8Yy5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaGVhZCIpWzBdfHxjLmRvY3VtZW50RWxlbWVudDty
ZXR1cm57c2VuZDpmdW5jdGlvbihmLGcpe2Q9Yy5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKSxkLmFz
eW5jPSJhc3luYyIsYS5zY3JpcHRDaGFyc2V0JiYoZC5jaGFyc2V0PWEuc2NyaXB0Q2hhcnNldCks
ZC5zcmM9YS51cmwsZC5vbmxvYWQ9ZC5vbnJlYWR5c3RhdGVjaGFuZ2U9ZnVuY3Rpb24oYSxjKXtp
ZihjfHwhZC5yZWFkeVN0YXRlfHwvbG9hZGVkfGNvbXBsZXRlLy50ZXN0KGQucmVhZHlTdGF0ZSkp
ZC5vbmxvYWQ9ZC5vbnJlYWR5c3RhdGVjaGFuZ2U9bnVsbCxlJiZkLnBhcmVudE5vZGUmJmUucmVt
b3ZlQ2hpbGQoZCksZD1iLGN8fGcoMjAwLCJzdWNjZXNzIil9LGUuaW5zZXJ0QmVmb3JlKGQsZS5m
aXJzdENoaWxkKX0sYWJvcnQ6ZnVuY3Rpb24oKXtkJiZkLm9ubG9hZCgwLDEpfX19fSk7dmFyIGNm
PWEuQWN0aXZlWE9iamVjdD9mdW5jdGlvbigpe2Zvcih2YXIgYSBpbiBjaCljaFthXSgwLDEpfToh
MSxjZz0wLGNoO2YuYWpheFNldHRpbmdzLnhocj1hLkFjdGl2ZVhPYmplY3Q/ZnVuY3Rpb24oKXty
ZXR1cm4hdGhpcy5pc0xvY2FsJiZjaSgpfHxjaigpfTpjaSxmdW5jdGlvbihhKXtmLmV4dGVuZChm
LnN1cHBvcnQse2FqYXg6ISFhLGNvcnM6ISFhJiYid2l0aENyZWRlbnRpYWxzImluIGF9KX0oZi5h
amF4U2V0dGluZ3MueGhyKCkpLGYuc3VwcG9ydC5hamF4JiZmLmFqYXhUcmFuc3BvcnQoZnVuY3Rp
b24oYyl7aWYoIWMuY3Jvc3NEb21haW58fGYuc3VwcG9ydC5jb3JzKXt2YXIgZDtyZXR1cm57c2Vu
ZDpmdW5jdGlvbihlLGcpe3ZhciBoPWMueGhyKCksaSxqO2MudXNlcm5hbWU/aC5vcGVuKGMudHlw
ZSxjLnVybCxjLmFzeW5jLGMudXNlcm5hbWUsYy5wYXNzd29yZCk6aC5vcGVuKGMudHlwZSxjLnVy
bCxjLmFzeW5jKTtpZihjLnhockZpZWxkcylmb3IoaiBpbiBjLnhockZpZWxkcyloW2pdPWMueGhy
RmllbGRzW2pdO2MubWltZVR5cGUmJmgub3ZlcnJpZGVNaW1lVHlwZSYmaC5vdmVycmlkZU1pbWVU
eXBlKGMubWltZVR5cGUpLCFjLmNyb3NzRG9tYWluJiYhZVsiWC1SZXF1ZXN0ZWQtV2l0aCJdJiYo
ZVsiWC1SZXF1ZXN0ZWQtV2l0aCJdPSJYTUxIdHRwUmVxdWVzdCIpO3RyeXtmb3IoaiBpbiBlKWgu
c2V0UmVxdWVzdEhlYWRlcihqLGVbal0pfWNhdGNoKGspe31oLnNlbmQoYy5oYXNDb250ZW50JiZj
LmRhdGF8fG51bGwpLGQ9ZnVuY3Rpb24oYSxlKXt2YXIgaixrLGwsbSxuO3RyeXtpZihkJiYoZXx8
aC5yZWFkeVN0YXRlPT09NCkpe2Q9YixpJiYoaC5vbnJlYWR5c3RhdGVjaGFuZ2U9Zi5ub29wLGNm
JiZkZWxldGUgY2hbaV0pO2lmKGUpaC5yZWFkeVN0YXRlIT09NCYmaC5hYm9ydCgpO2Vsc2V7aj1o
LnN0YXR1cyxsPWguZ2V0QWxsUmVzcG9uc2VIZWFkZXJzKCksbT17fSxuPWgucmVzcG9uc2VYTUws
biYmbi5kb2N1bWVudEVsZW1lbnQmJihtLnhtbD1uKSxtLnRleHQ9aC5yZXNwb25zZVRleHQ7dHJ5
e2s9aC5zdGF0dXNUZXh0fWNhdGNoKG8pe2s9IiJ9IWomJmMuaXNMb2NhbCYmIWMuY3Jvc3NEb21h
aW4/aj1tLnRleHQ/MjAwOjQwNDpqPT09MTIyMyYmKGo9MjA0KX19fWNhdGNoKHApe2V8fGcoLTEs
cCl9bSYmZyhqLGssbSxsKX0sIWMuYXN5bmN8fGgucmVhZHlTdGF0ZT09PTQ/ZCgpOihpPSsrY2cs
Y2YmJihjaHx8KGNoPXt9LGYoYSkudW5sb2FkKGNmKSksY2hbaV09ZCksaC5vbnJlYWR5c3RhdGVj
aGFuZ2U9ZCl9LGFib3J0OmZ1bmN0aW9uKCl7ZCYmZCgwLDEpfX19fSk7dmFyIGNrPXt9LGNsLGNt
LGNuPS9eKD86dG9nZ2xlfHNob3d8aGlkZSkkLyxjbz0vXihbK1wtXT0pPyhbXGQrLlwtXSspKFth
LXolXSopJC9pLGNwLGNxPVtbImhlaWdodCIsIm1hcmdpblRvcCIsIm1hcmdpbkJvdHRvbSIsInBh
ZGRpbmdUb3AiLCJwYWRkaW5nQm90dG9tIl0sWyJ3aWR0aCIsIm1hcmdpbkxlZnQiLCJtYXJnaW5S
aWdodCIsInBhZGRpbmdMZWZ0IiwicGFkZGluZ1JpZ2h0Il0sWyJvcGFjaXR5Il1dLGNyO2YuZm4u
ZXh0ZW5kKHtzaG93OmZ1bmN0aW9uKGEsYixjKXt2YXIgZCxlO2lmKGF8fGE9PT0wKXJldHVybiB0
aGlzLmFuaW1hdGUoY3UoInNob3ciLDMpLGEsYixjKTtmb3IodmFyIGc9MCxoPXRoaXMubGVuZ3Ro
O2c8aDtnKyspZD10aGlzW2ddLGQuc3R5bGUmJihlPWQuc3R5bGUuZGlzcGxheSwhZi5fZGF0YShk
LCJvbGRkaXNwbGF5IikmJmU9PT0ibm9uZSImJihlPWQuc3R5bGUuZGlzcGxheT0iIiksZT09PSIi
JiZmLmNzcyhkLCJkaXNwbGF5Iik9PT0ibm9uZSImJmYuX2RhdGEoZCwib2xkZGlzcGxheSIsY3Yo
ZC5ub2RlTmFtZSkpKTtmb3IoZz0wO2c8aDtnKyspe2Q9dGhpc1tnXTtpZihkLnN0eWxlKXtlPWQu
c3R5bGUuZGlzcGxheTtpZihlPT09IiJ8fGU9PT0ibm9uZSIpZC5zdHlsZS5kaXNwbGF5PWYuX2Rh
dGEoZCwib2xkZGlzcGxheSIpfHwiIn19cmV0dXJuIHRoaXN9LGhpZGU6ZnVuY3Rpb24oYSxiLGMp
e2lmKGF8fGE9PT0wKXJldHVybiB0aGlzLmFuaW1hdGUoY3UoImhpZGUiLDMpLGEsYixjKTt2YXIg
ZCxlLGc9MCxoPXRoaXMubGVuZ3RoO2Zvcig7ZzxoO2crKylkPXRoaXNbZ10sZC5zdHlsZSYmKGU9
Zi5jc3MoZCwiZGlzcGxheSIpLGUhPT0ibm9uZSImJiFmLl9kYXRhKGQsIm9sZGRpc3BsYXkiKSYm
Zi5fZGF0YShkLCJvbGRkaXNwbGF5IixlKSk7Zm9yKGc9MDtnPGg7ZysrKXRoaXNbZ10uc3R5bGUm
Jih0aGlzW2ddLnN0eWxlLmRpc3BsYXk9Im5vbmUiKTtyZXR1cm4gdGhpc30sX3RvZ2dsZTpmLmZu
LnRvZ2dsZSx0b2dnbGU6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPXR5cGVvZiBhPT0iYm9vbGVhbiI7
Zi5pc0Z1bmN0aW9uKGEpJiZmLmlzRnVuY3Rpb24oYik/dGhpcy5fdG9nZ2xlLmFwcGx5KHRoaXMs
YXJndW1lbnRzKTphPT1udWxsfHxkP3RoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBiPWQ/YTpmKHRo
aXMpLmlzKCI6aGlkZGVuIik7Zih0aGlzKVtiPyJzaG93IjoiaGlkZSJdKCl9KTp0aGlzLmFuaW1h
dGUoY3UoInRvZ2dsZSIsMyksYSxiLGMpO3JldHVybiB0aGlzfSxmYWRlVG86ZnVuY3Rpb24oYSxi
LGMsZCl7cmV0dXJuIHRoaXMuZmlsdGVyKCI6aGlkZGVuIikuY3NzKCJvcGFjaXR5IiwwKS5zaG93
KCkuZW5kKCkuYW5pbWF0ZSh7b3BhY2l0eTpifSxhLGMsZCl9LGFuaW1hdGU6ZnVuY3Rpb24oYSxi
LGMsZCl7ZnVuY3Rpb24gZygpe2UucXVldWU9PT0hMSYmZi5fbWFyayh0aGlzKTt2YXIgYj1mLmV4
dGVuZCh7fSxlKSxjPXRoaXMubm9kZVR5cGU9PT0xLGQ9YyYmZih0aGlzKS5pcygiOmhpZGRlbiIp
LGcsaCxpLGosayxsLG0sbixvO2IuYW5pbWF0ZWRQcm9wZXJ0aWVzPXt9O2ZvcihpIGluIGEpe2c9
Zi5jYW1lbENhc2UoaSksaSE9PWcmJihhW2ddPWFbaV0sZGVsZXRlIGFbaV0pLGg9YVtnXSxmLmlz
QXJyYXkoaCk/KGIuYW5pbWF0ZWRQcm9wZXJ0aWVzW2ddPWhbMV0saD1hW2ddPWhbMF0pOmIuYW5p
bWF0ZWRQcm9wZXJ0aWVzW2ddPWIuc3BlY2lhbEVhc2luZyYmYi5zcGVjaWFsRWFzaW5nW2ddfHxi
LmVhc2luZ3x8InN3aW5nIjtpZihoPT09ImhpZGUiJiZkfHxoPT09InNob3ciJiYhZClyZXR1cm4g
Yi5jb21wbGV0ZS5jYWxsKHRoaXMpO2MmJihnPT09ImhlaWdodCJ8fGc9PT0id2lkdGgiKSYmKGIu
b3ZlcmZsb3c9W3RoaXMuc3R5bGUub3ZlcmZsb3csdGhpcy5zdHlsZS5vdmVyZmxvd1gsdGhpcy5z
dHlsZS5vdmVyZmxvd1ldLGYuY3NzKHRoaXMsImRpc3BsYXkiKT09PSJpbmxpbmUiJiZmLmNzcyh0
aGlzLCJmbG9hdCIpPT09Im5vbmUiJiYoIWYuc3VwcG9ydC5pbmxpbmVCbG9ja05lZWRzTGF5b3V0
fHxjdih0aGlzLm5vZGVOYW1lKT09PSJpbmxpbmUiP3RoaXMuc3R5bGUuZGlzcGxheT0iaW5saW5l
LWJsb2NrIjp0aGlzLnN0eWxlLnpvb209MSkpfWIub3ZlcmZsb3chPW51bGwmJih0aGlzLnN0eWxl
Lm92ZXJmbG93PSJoaWRkZW4iKTtmb3IoaSBpbiBhKWo9bmV3IGYuZngodGhpcyxiLGkpLGg9YVtp
XSxjbi50ZXN0KGgpPyhvPWYuX2RhdGEodGhpcywidG9nZ2xlIitpKXx8KGg9PT0idG9nZ2xlIj9k
PyJzaG93IjoiaGlkZSI6MCksbz8oZi5fZGF0YSh0aGlzLCJ0b2dnbGUiK2ksbz09PSJzaG93Ij8i
aGlkZSI6InNob3ciKSxqW29dKCkpOmpbaF0oKSk6KGs9Y28uZXhlYyhoKSxsPWouY3VyKCksaz8o
bT1wYXJzZUZsb2F0KGtbMl0pLG49a1szXXx8KGYuY3NzTnVtYmVyW2ldPyIiOiJweCIpLG4hPT0i
cHgiJiYoZi5zdHlsZSh0aGlzLGksKG18fDEpK24pLGw9KG18fDEpL2ouY3VyKCkqbCxmLnN0eWxl
KHRoaXMsaSxsK24pKSxrWzFdJiYobT0oa1sxXT09PSItPSI/LTE6MSkqbStsKSxqLmN1c3RvbShs
LG0sbikpOmouY3VzdG9tKGwsaCwiIikpO3JldHVybiEwfXZhciBlPWYuc3BlZWQoYixjLGQpO2lm
KGYuaXNFbXB0eU9iamVjdChhKSlyZXR1cm4gdGhpcy5lYWNoKGUuY29tcGxldGUsWyExXSk7YT1m
LmV4dGVuZCh7fSxhKTtyZXR1cm4gZS5xdWV1ZT09PSExP3RoaXMuZWFjaChnKTp0aGlzLnF1ZXVl
KGUucXVldWUsZyl9LHN0b3A6ZnVuY3Rpb24oYSxjLGQpe3R5cGVvZiBhIT0ic3RyaW5nIiYmKGQ9
YyxjPWEsYT1iKSxjJiZhIT09ITEmJnRoaXMucXVldWUoYXx8ImZ4IixbXSk7cmV0dXJuIHRoaXMu
ZWFjaChmdW5jdGlvbigpe2Z1bmN0aW9uIGgoYSxiLGMpe3ZhciBlPWJbY107Zi5yZW1vdmVEYXRh
KGEsYywhMCksZS5zdG9wKGQpfXZhciBiLGM9ITEsZT1mLnRpbWVycyxnPWYuX2RhdGEodGhpcyk7
ZHx8Zi5fdW5tYXJrKCEwLHRoaXMpO2lmKGE9PW51bGwpZm9yKGIgaW4gZylnW2JdJiZnW2JdLnN0
b3AmJmIuaW5kZXhPZigiLnJ1biIpPT09Yi5sZW5ndGgtNCYmaCh0aGlzLGcsYik7ZWxzZSBnW2I9
YSsiLnJ1biJdJiZnW2JdLnN0b3AmJmgodGhpcyxnLGIpO2ZvcihiPWUubGVuZ3RoO2ItLTspZVti
XS5lbGVtPT09dGhpcyYmKGE9PW51bGx8fGVbYl0ucXVldWU9PT1hKSYmKGQ/ZVtiXSghMCk6ZVti
XS5zYXZlU3RhdGUoKSxjPSEwLGUuc3BsaWNlKGIsMSkpOyghZHx8IWMpJiZmLmRlcXVldWUodGhp
cyxhKX0pfX0pLGYuZWFjaCh7c2xpZGVEb3duOmN1KCJzaG93IiwxKSxzbGlkZVVwOmN1KCJoaWRl
IiwxKSxzbGlkZVRvZ2dsZTpjdSgidG9nZ2xlIiwxKSxmYWRlSW46e29wYWNpdHk6InNob3cifSxm
YWRlT3V0OntvcGFjaXR5OiJoaWRlIn0sZmFkZVRvZ2dsZTp7b3BhY2l0eToidG9nZ2xlIn19LGZ1
bmN0aW9uKGEsYil7Zi5mblthXT1mdW5jdGlvbihhLGMsZCl7cmV0dXJuIHRoaXMuYW5pbWF0ZShi
LGEsYyxkKX19KSxmLmV4dGVuZCh7c3BlZWQ6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWEmJnR5cGVv
ZiBhPT0ib2JqZWN0Ij9mLmV4dGVuZCh7fSxhKTp7Y29tcGxldGU6Y3x8IWMmJmJ8fGYuaXNGdW5j
dGlvbihhKSYmYSxkdXJhdGlvbjphLGVhc2luZzpjJiZifHxiJiYhZi5pc0Z1bmN0aW9uKGIpJiZi
fTtkLmR1cmF0aW9uPWYuZngub2ZmPzA6dHlwZW9mIGQuZHVyYXRpb249PSJudW1iZXIiP2QuZHVy
YXRpb246ZC5kdXJhdGlvbiBpbiBmLmZ4LnNwZWVkcz9mLmZ4LnNwZWVkc1tkLmR1cmF0aW9uXTpm
LmZ4LnNwZWVkcy5fZGVmYXVsdDtpZihkLnF1ZXVlPT1udWxsfHxkLnF1ZXVlPT09ITApZC5xdWV1
ZT0iZngiO2Qub2xkPWQuY29tcGxldGUsZC5jb21wbGV0ZT1mdW5jdGlvbihhKXtmLmlzRnVuY3Rp
b24oZC5vbGQpJiZkLm9sZC5jYWxsKHRoaXMpLGQucXVldWU/Zi5kZXF1ZXVlKHRoaXMsZC5xdWV1
ZSk6YSE9PSExJiZmLl91bm1hcmsodGhpcyl9O3JldHVybiBkfSxlYXNpbmc6e2xpbmVhcjpmdW5j
dGlvbihhLGIsYyxkKXtyZXR1cm4gYytkKmF9LHN3aW5nOmZ1bmN0aW9uKGEsYixjLGQpe3JldHVy
bigtTWF0aC5jb3MoYSpNYXRoLlBJKS8yKy41KSpkK2N9fSx0aW1lcnM6W10sZng6ZnVuY3Rpb24o
YSxiLGMpe3RoaXMub3B0aW9ucz1iLHRoaXMuZWxlbT1hLHRoaXMucHJvcD1jLGIub3JpZz1iLm9y
aWd8fHt9fX0pLGYuZngucHJvdG90eXBlPXt1cGRhdGU6ZnVuY3Rpb24oKXt0aGlzLm9wdGlvbnMu
c3RlcCYmdGhpcy5vcHRpb25zLnN0ZXAuY2FsbCh0aGlzLmVsZW0sdGhpcy5ub3csdGhpcyksKGYu
Znguc3RlcFt0aGlzLnByb3BdfHxmLmZ4LnN0ZXAuX2RlZmF1bHQpKHRoaXMpfSxjdXI6ZnVuY3Rp
b24oKXtpZih0aGlzLmVsZW1bdGhpcy5wcm9wXSE9bnVsbCYmKCF0aGlzLmVsZW0uc3R5bGV8fHRo
aXMuZWxlbS5zdHlsZVt0aGlzLnByb3BdPT1udWxsKSlyZXR1cm4gdGhpcy5lbGVtW3RoaXMucHJv
cF07dmFyIGEsYj1mLmNzcyh0aGlzLmVsZW0sdGhpcy5wcm9wKTtyZXR1cm4gaXNOYU4oYT1wYXJz
ZUZsb2F0KGIpKT8hYnx8Yj09PSJhdXRvIj8wOmI6YX0sY3VzdG9tOmZ1bmN0aW9uKGEsYyxkKXtm
dW5jdGlvbiBoKGEpe3JldHVybiBlLnN0ZXAoYSl9dmFyIGU9dGhpcyxnPWYuZng7dGhpcy5zdGFy
dFRpbWU9Y3J8fGNzKCksdGhpcy5lbmQ9Yyx0aGlzLm5vdz10aGlzLnN0YXJ0PWEsdGhpcy5wb3M9
dGhpcy5zdGF0ZT0wLHRoaXMudW5pdD1kfHx0aGlzLnVuaXR8fChmLmNzc051bWJlclt0aGlzLnBy
b3BdPyIiOiJweCIpLGgucXVldWU9dGhpcy5vcHRpb25zLnF1ZXVlLGguZWxlbT10aGlzLmVsZW0s
aC5zYXZlU3RhdGU9ZnVuY3Rpb24oKXtlLm9wdGlvbnMuaGlkZSYmZi5fZGF0YShlLmVsZW0sImZ4
c2hvdyIrZS5wcm9wKT09PWImJmYuX2RhdGEoZS5lbGVtLCJmeHNob3ciK2UucHJvcCxlLnN0YXJ0
KX0saCgpJiZmLnRpbWVycy5wdXNoKGgpJiYhY3AmJihjcD1zZXRJbnRlcnZhbChnLnRpY2ssZy5p
bnRlcnZhbCkpfSxzaG93OmZ1bmN0aW9uKCl7dmFyIGE9Zi5fZGF0YSh0aGlzLmVsZW0sImZ4c2hv
dyIrdGhpcy5wcm9wKTt0aGlzLm9wdGlvbnMub3JpZ1t0aGlzLnByb3BdPWF8fGYuc3R5bGUodGhp
cy5lbGVtLHRoaXMucHJvcCksdGhpcy5vcHRpb25zLnNob3c9ITAsYSE9PWI/dGhpcy5jdXN0b20o
dGhpcy5jdXIoKSxhKTp0aGlzLmN1c3RvbSh0aGlzLnByb3A9PT0id2lkdGgifHx0aGlzLnByb3A9
PT0iaGVpZ2h0Ij8xOjAsdGhpcy5jdXIoKSksZih0aGlzLmVsZW0pLnNob3coKX0saGlkZTpmdW5j
dGlvbigpe3RoaXMub3B0aW9ucy5vcmlnW3RoaXMucHJvcF09Zi5fZGF0YSh0aGlzLmVsZW0sImZ4
c2hvdyIrdGhpcy5wcm9wKXx8Zi5zdHlsZSh0aGlzLmVsZW0sdGhpcy5wcm9wKSx0aGlzLm9wdGlv
bnMuaGlkZT0hMCx0aGlzLmN1c3RvbSh0aGlzLmN1cigpLDApfSxzdGVwOmZ1bmN0aW9uKGEpe3Zh
ciBiLGMsZCxlPWNyfHxjcygpLGc9ITAsaD10aGlzLmVsZW0saT10aGlzLm9wdGlvbnM7aWYoYXx8
ZT49aS5kdXJhdGlvbit0aGlzLnN0YXJ0VGltZSl7dGhpcy5ub3c9dGhpcy5lbmQsdGhpcy5wb3M9
dGhpcy5zdGF0ZT0xLHRoaXMudXBkYXRlKCksaS5hbmltYXRlZFByb3BlcnRpZXNbdGhpcy5wcm9w
XT0hMDtmb3IoYiBpbiBpLmFuaW1hdGVkUHJvcGVydGllcylpLmFuaW1hdGVkUHJvcGVydGllc1ti
XSE9PSEwJiYoZz0hMSk7aWYoZyl7aS5vdmVyZmxvdyE9bnVsbCYmIWYuc3VwcG9ydC5zaHJpbmtX
cmFwQmxvY2tzJiZmLmVhY2goWyIiLCJYIiwiWSJdLGZ1bmN0aW9uKGEsYil7aC5zdHlsZVsib3Zl
cmZsb3ciK2JdPWkub3ZlcmZsb3dbYV19KSxpLmhpZGUmJmYoaCkuaGlkZSgpO2lmKGkuaGlkZXx8
aS5zaG93KWZvcihiIGluIGkuYW5pbWF0ZWRQcm9wZXJ0aWVzKWYuc3R5bGUoaCxiLGkub3JpZ1ti
XSksZi5yZW1vdmVEYXRhKGgsImZ4c2hvdyIrYiwhMCksZi5yZW1vdmVEYXRhKGgsInRvZ2dsZSIr
YiwhMCk7ZD1pLmNvbXBsZXRlLGQmJihpLmNvbXBsZXRlPSExLGQuY2FsbChoKSl9cmV0dXJuITF9
aS5kdXJhdGlvbj09SW5maW5pdHk/dGhpcy5ub3c9ZTooYz1lLXRoaXMuc3RhcnRUaW1lLHRoaXMu
c3RhdGU9Yy9pLmR1cmF0aW9uLHRoaXMucG9zPWYuZWFzaW5nW2kuYW5pbWF0ZWRQcm9wZXJ0aWVz
W3RoaXMucHJvcF1dKHRoaXMuc3RhdGUsYywwLDEsaS5kdXJhdGlvbiksdGhpcy5ub3c9dGhpcy5z
dGFydCsodGhpcy5lbmQtdGhpcy5zdGFydCkqdGhpcy5wb3MpLHRoaXMudXBkYXRlKCk7cmV0dXJu
ITB9fSxmLmV4dGVuZChmLmZ4LHt0aWNrOmZ1bmN0aW9uKCl7dmFyIGEsYj1mLnRpbWVycyxjPTA7
Zm9yKDtjPGIubGVuZ3RoO2MrKylhPWJbY10sIWEoKSYmYltjXT09PWEmJmIuc3BsaWNlKGMtLSwx
KTtiLmxlbmd0aHx8Zi5meC5zdG9wKCl9LGludGVydmFsOjEzLHN0b3A6ZnVuY3Rpb24oKXtjbGVh
ckludGVydmFsKGNwKSxjcD1udWxsfSxzcGVlZHM6e3Nsb3c6NjAwLGZhc3Q6MjAwLF9kZWZhdWx0
OjQwMH0sc3RlcDp7b3BhY2l0eTpmdW5jdGlvbihhKXtmLnN0eWxlKGEuZWxlbSwib3BhY2l0eSIs
YS5ub3cpfSxfZGVmYXVsdDpmdW5jdGlvbihhKXthLmVsZW0uc3R5bGUmJmEuZWxlbS5zdHlsZVth
LnByb3BdIT1udWxsP2EuZWxlbS5zdHlsZVthLnByb3BdPWEubm93K2EudW5pdDphLmVsZW1bYS5w
cm9wXT1hLm5vd319fSksZi5lYWNoKFsid2lkdGgiLCJoZWlnaHQiXSxmdW5jdGlvbihhLGIpe2Yu
Znguc3RlcFtiXT1mdW5jdGlvbihhKXtmLnN0eWxlKGEuZWxlbSxiLE1hdGgubWF4KDAsYS5ub3cp
K2EudW5pdCl9fSksZi5leHByJiZmLmV4cHIuZmlsdGVycyYmKGYuZXhwci5maWx0ZXJzLmFuaW1h
dGVkPWZ1bmN0aW9uKGEpe3JldHVybiBmLmdyZXAoZi50aW1lcnMsZnVuY3Rpb24oYil7cmV0dXJu
IGE9PT1iLmVsZW19KS5sZW5ndGh9KTt2YXIgY3c9L150KD86YWJsZXxkfGgpJC9pLGN4PS9eKD86
Ym9keXxodG1sKSQvaTsiZ2V0Qm91bmRpbmdDbGllbnRSZWN0ImluIGMuZG9jdW1lbnRFbGVtZW50
P2YuZm4ub2Zmc2V0PWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXNbMF0sYztpZihhKXJldHVybiB0aGlz
LmVhY2goZnVuY3Rpb24oYil7Zi5vZmZzZXQuc2V0T2Zmc2V0KHRoaXMsYSxiKX0pO2lmKCFifHwh
Yi5vd25lckRvY3VtZW50KXJldHVybiBudWxsO2lmKGI9PT1iLm93bmVyRG9jdW1lbnQuYm9keSly
ZXR1cm4gZi5vZmZzZXQuYm9keU9mZnNldChiKTt0cnl7Yz1iLmdldEJvdW5kaW5nQ2xpZW50UmVj
dCgpfWNhdGNoKGQpe312YXIgZT1iLm93bmVyRG9jdW1lbnQsZz1lLmRvY3VtZW50RWxlbWVudDtp
ZighY3x8IWYuY29udGFpbnMoZyxiKSlyZXR1cm4gYz97dG9wOmMudG9wLGxlZnQ6Yy5sZWZ0fTp7
dG9wOjAsbGVmdDowfTt2YXIgaD1lLmJvZHksaT1jeShlKSxqPWcuY2xpZW50VG9wfHxoLmNsaWVu
dFRvcHx8MCxrPWcuY2xpZW50TGVmdHx8aC5jbGllbnRMZWZ0fHwwLGw9aS5wYWdlWU9mZnNldHx8
Zi5zdXBwb3J0LmJveE1vZGVsJiZnLnNjcm9sbFRvcHx8aC5zY3JvbGxUb3AsbT1pLnBhZ2VYT2Zm
c2V0fHxmLnN1cHBvcnQuYm94TW9kZWwmJmcuc2Nyb2xsTGVmdHx8aC5zY3JvbGxMZWZ0LG49Yy50
b3ArbC1qLG89Yy5sZWZ0K20taztyZXR1cm57dG9wOm4sbGVmdDpvfX06Zi5mbi5vZmZzZXQ9ZnVu
Y3Rpb24oYSl7dmFyIGI9dGhpc1swXTtpZihhKXJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oYil7
Zi5vZmZzZXQuc2V0T2Zmc2V0KHRoaXMsYSxiKX0pO2lmKCFifHwhYi5vd25lckRvY3VtZW50KXJl
dHVybiBudWxsO2lmKGI9PT1iLm93bmVyRG9jdW1lbnQuYm9keSlyZXR1cm4gZi5vZmZzZXQuYm9k
eU9mZnNldChiKTt2YXIgYyxkPWIub2Zmc2V0UGFyZW50LGU9YixnPWIub3duZXJEb2N1bWVudCxo
PWcuZG9jdW1lbnRFbGVtZW50LGk9Zy5ib2R5LGo9Zy5kZWZhdWx0VmlldyxrPWo/ai5nZXRDb21w
dXRlZFN0eWxlKGIsbnVsbCk6Yi5jdXJyZW50U3R5bGUsbD1iLm9mZnNldFRvcCxtPWIub2Zmc2V0
TGVmdDt3aGlsZSgoYj1iLnBhcmVudE5vZGUpJiZiIT09aSYmYiE9PWgpe2lmKGYuc3VwcG9ydC5m
aXhlZFBvc2l0aW9uJiZrLnBvc2l0aW9uPT09ImZpeGVkIilicmVhaztjPWo/ai5nZXRDb21wdXRl
ZFN0eWxlKGIsbnVsbCk6Yi5jdXJyZW50U3R5bGUsbC09Yi5zY3JvbGxUb3AsbS09Yi5zY3JvbGxM
ZWZ0LGI9PT1kJiYobCs9Yi5vZmZzZXRUb3AsbSs9Yi5vZmZzZXRMZWZ0LGYuc3VwcG9ydC5kb2Vz
Tm90QWRkQm9yZGVyJiYoIWYuc3VwcG9ydC5kb2VzQWRkQm9yZGVyRm9yVGFibGVBbmRDZWxsc3x8
IWN3LnRlc3QoYi5ub2RlTmFtZSkpJiYobCs9cGFyc2VGbG9hdChjLmJvcmRlclRvcFdpZHRoKXx8
MCxtKz1wYXJzZUZsb2F0KGMuYm9yZGVyTGVmdFdpZHRoKXx8MCksZT1kLGQ9Yi5vZmZzZXRQYXJl
bnQpLGYuc3VwcG9ydC5zdWJ0cmFjdHNCb3JkZXJGb3JPdmVyZmxvd05vdFZpc2libGUmJmMub3Zl
cmZsb3chPT0idmlzaWJsZSImJihsKz1wYXJzZUZsb2F0KGMuYm9yZGVyVG9wV2lkdGgpfHwwLG0r
PXBhcnNlRmxvYXQoYy5ib3JkZXJMZWZ0V2lkdGgpfHwwKSxrPWN9aWYoay5wb3NpdGlvbj09PSJy
ZWxhdGl2ZSJ8fGsucG9zaXRpb249PT0ic3RhdGljIilsKz1pLm9mZnNldFRvcCxtKz1pLm9mZnNl
dExlZnQ7Zi5zdXBwb3J0LmZpeGVkUG9zaXRpb24mJmsucG9zaXRpb249PT0iZml4ZWQiJiYobCs9
TWF0aC5tYXgoaC5zY3JvbGxUb3AsaS5zY3JvbGxUb3ApLG0rPU1hdGgubWF4KGguc2Nyb2xsTGVm
dCxpLnNjcm9sbExlZnQpKTtyZXR1cm57dG9wOmwsbGVmdDptfX0sZi5vZmZzZXQ9e2JvZHlPZmZz
ZXQ6ZnVuY3Rpb24oYSl7dmFyIGI9YS5vZmZzZXRUb3AsYz1hLm9mZnNldExlZnQ7Zi5zdXBwb3J0
LmRvZXNOb3RJbmNsdWRlTWFyZ2luSW5Cb2R5T2Zmc2V0JiYoYis9cGFyc2VGbG9hdChmLmNzcyhh
LCJtYXJnaW5Ub3AiKSl8fDAsYys9cGFyc2VGbG9hdChmLmNzcyhhLCJtYXJnaW5MZWZ0IikpfHww
KTtyZXR1cm57dG9wOmIsbGVmdDpjfX0sc2V0T2Zmc2V0OmZ1bmN0aW9uKGEsYixjKXt2YXIgZD1m
LmNzcyhhLCJwb3NpdGlvbiIpO2Q9PT0ic3RhdGljIiYmKGEuc3R5bGUucG9zaXRpb249InJlbGF0
aXZlIik7dmFyIGU9ZihhKSxnPWUub2Zmc2V0KCksaD1mLmNzcyhhLCJ0b3AiKSxpPWYuY3NzKGEs
ImxlZnQiKSxqPShkPT09ImFic29sdXRlInx8ZD09PSJmaXhlZCIpJiZmLmluQXJyYXkoImF1dG8i
LFtoLGldKT4tMSxrPXt9LGw9e30sbSxuO2o/KGw9ZS5wb3NpdGlvbigpLG09bC50b3Asbj1sLmxl
ZnQpOihtPXBhcnNlRmxvYXQoaCl8fDAsbj1wYXJzZUZsb2F0KGkpfHwwKSxmLmlzRnVuY3Rpb24o
YikmJihiPWIuY2FsbChhLGMsZykpLGIudG9wIT1udWxsJiYoay50b3A9Yi50b3AtZy50b3ArbSks
Yi5sZWZ0IT1udWxsJiYoay5sZWZ0PWIubGVmdC1nLmxlZnQrbiksInVzaW5nImluIGI/Yi51c2lu
Zy5jYWxsKGEsayk6ZS5jc3Moayl9fSxmLmZuLmV4dGVuZCh7cG9zaXRpb246ZnVuY3Rpb24oKXtp
ZighdGhpc1swXSlyZXR1cm4gbnVsbDt2YXIgYT10aGlzWzBdLGI9dGhpcy5vZmZzZXRQYXJlbnQo
KSxjPXRoaXMub2Zmc2V0KCksZD1jeC50ZXN0KGJbMF0ubm9kZU5hbWUpP3t0b3A6MCxsZWZ0OjB9
OmIub2Zmc2V0KCk7Yy50b3AtPXBhcnNlRmxvYXQoZi5jc3MoYSwibWFyZ2luVG9wIikpfHwwLGMu
bGVmdC09cGFyc2VGbG9hdChmLmNzcyhhLCJtYXJnaW5MZWZ0IikpfHwwLGQudG9wKz1wYXJzZUZs
b2F0KGYuY3NzKGJbMF0sImJvcmRlclRvcFdpZHRoIikpfHwwLGQubGVmdCs9cGFyc2VGbG9hdChm
LmNzcyhiWzBdLCJib3JkZXJMZWZ0V2lkdGgiKSl8fDA7cmV0dXJue3RvcDpjLnRvcC1kLnRvcCxs
ZWZ0OmMubGVmdC1kLmxlZnR9fSxvZmZzZXRQYXJlbnQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5t
YXAoZnVuY3Rpb24oKXt2YXIgYT10aGlzLm9mZnNldFBhcmVudHx8Yy5ib2R5O3doaWxlKGEmJiFj
eC50ZXN0KGEubm9kZU5hbWUpJiZmLmNzcyhhLCJwb3NpdGlvbiIpPT09InN0YXRpYyIpYT1hLm9m
ZnNldFBhcmVudDtyZXR1cm4gYX0pfX0pLGYuZWFjaChbIkxlZnQiLCJUb3AiXSxmdW5jdGlvbihh
LGMpe3ZhciBkPSJzY3JvbGwiK2M7Zi5mbltkXT1mdW5jdGlvbihjKXt2YXIgZSxnO2lmKGM9PT1i
KXtlPXRoaXNbMF07aWYoIWUpcmV0dXJuIG51bGw7Zz1jeShlKTtyZXR1cm4gZz8icGFnZVhPZmZz
ZXQiaW4gZz9nW2E/InBhZ2VZT2Zmc2V0IjoicGFnZVhPZmZzZXQiXTpmLnN1cHBvcnQuYm94TW9k
ZWwmJmcuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50W2RdfHxnLmRvY3VtZW50LmJvZHlbZF06ZVtk
XX1yZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7Zz1jeSh0aGlzKSxnP2cuc2Nyb2xsVG8oYT9m
KGcpLnNjcm9sbExlZnQoKTpjLGE/YzpmKGcpLnNjcm9sbFRvcCgpKTp0aGlzW2RdPWN9KX19KSxm
LmVhY2goWyJIZWlnaHQiLCJXaWR0aCJdLGZ1bmN0aW9uKGEsYyl7dmFyIGQ9Yy50b0xvd2VyQ2Fz
ZSgpO2YuZm5bImlubmVyIitjXT1mdW5jdGlvbigpe3ZhciBhPXRoaXNbMF07cmV0dXJuIGE/YS5z
dHlsZT9wYXJzZUZsb2F0KGYuY3NzKGEsZCwicGFkZGluZyIpKTp0aGlzW2RdKCk6bnVsbH0sZi5m
blsib3V0ZXIiK2NdPWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXNbMF07cmV0dXJuIGI/Yi5zdHlsZT9w
YXJzZUZsb2F0KGYuY3NzKGIsZCxhPyJtYXJnaW4iOiJib3JkZXIiKSk6dGhpc1tkXSgpOm51bGx9
LGYuZm5bZF09ZnVuY3Rpb24oYSl7dmFyIGU9dGhpc1swXTtpZighZSlyZXR1cm4gYT09bnVsbD9u
dWxsOnRoaXM7aWYoZi5pc0Z1bmN0aW9uKGEpKXJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oYil7
dmFyIGM9Zih0aGlzKTtjW2RdKGEuY2FsbCh0aGlzLGIsY1tkXSgpKSl9KTtpZihmLmlzV2luZG93
KGUpKXt2YXIgZz1lLmRvY3VtZW50LmRvY3VtZW50RWxlbWVudFsiY2xpZW50IitjXSxoPWUuZG9j
dW1lbnQuYm9keTtyZXR1cm4gZS5kb2N1bWVudC5jb21wYXRNb2RlPT09IkNTUzFDb21wYXQiJiZn
fHxoJiZoWyJjbGllbnQiK2NdfHxnfWlmKGUubm9kZVR5cGU9PT05KXJldHVybiBNYXRoLm1heChl
LmRvY3VtZW50RWxlbWVudFsiY2xpZW50IitjXSxlLmJvZHlbInNjcm9sbCIrY10sZS5kb2N1bWVu
dEVsZW1lbnRbInNjcm9sbCIrY10sZS5ib2R5WyJvZmZzZXQiK2NdLGUuZG9jdW1lbnRFbGVtZW50
WyJvZmZzZXQiK2NdKTtpZihhPT09Yil7dmFyIGk9Zi5jc3MoZSxkKSxqPXBhcnNlRmxvYXQoaSk7
cmV0dXJuIGYuaXNOdW1lcmljKGopP2o6aX1yZXR1cm4gdGhpcy5jc3MoZCx0eXBlb2YgYT09InN0
cmluZyI/YTphKyJweCIpfX0pLGEualF1ZXJ5PWEuJD1mLHR5cGVvZiBkZWZpbmU9PSJmdW5jdGlv
biImJmRlZmluZS5hbWQmJmRlZmluZS5hbWQualF1ZXJ5JiZkZWZpbmUoImpxdWVyeSIsW10sZnVu
Y3Rpb24oKXtyZXR1cm4gZn0pfSkod2luZG93KTsgCi8qIGh0dHA6Ly9rZWl0aC13b29kLm5hbWUv
c3ZnLmh0bWwKICAgU1ZHIGZvciBqUXVlcnkgdjEuNC41LgogICBXcml0dGVuIGJ5IEtlaXRoIFdv
b2QgKGtid29vZHthdH1paW5ldC5jb20uYXUpIEF1Z3VzdCAyMDA3LgogICBEdWFsIGxpY2Vuc2Vk
IHVuZGVyIHRoZSBHUEwgKGh0dHA6Ly9kZXYuanF1ZXJ5LmNvbS9icm93c2VyL3RydW5rL2pxdWVy
eS9HUEwtTElDRU5TRS50eHQpIGFuZAogICBNSVQgKGh0dHA6Ly9kZXYuanF1ZXJ5LmNvbS9icm93
c2VyL3RydW5rL2pxdWVyeS9NSVQtTElDRU5TRS50eHQpIGxpY2Vuc2VzLgogICBQbGVhc2UgYXR0
cmlidXRlIHRoZSBhdXRob3IgaWYgeW91IHVzZSBpdC4gKi8KKGZ1bmN0aW9uKCQpe2Z1bmN0aW9u
IFNWR01hbmFnZXIoKXt0aGlzLl9zZXR0aW5ncz1bXTt0aGlzLl9leHRlbnNpb25zPVtdO3RoaXMu
cmVnaW9uYWw9W107dGhpcy5yZWdpb25hbFsnJ109e2Vycm9yTG9hZGluZ1RleHQ6J0Vycm9yIGxv
YWRpbmcnLG5vdFN1cHBvcnRlZFRleHQ6J1RoaXMgYnJvd3NlciBkb2VzIG5vdCBzdXBwb3J0IFNW
Ryd9O3RoaXMubG9jYWw9dGhpcy5yZWdpb25hbFsnJ107dGhpcy5fdXVpZD1uZXcgRGF0ZSgpLmdl
dFRpbWUoKTt0aGlzLl9yZW5lc2lzPWRldGVjdEFjdGl2ZVgoJ1JlbmVzaXNYLlJlbmVzaXNDdHJs
Jyl9ZnVuY3Rpb24gZGV0ZWN0QWN0aXZlWChhKXt0cnl7cmV0dXJuISEod2luZG93LkFjdGl2ZVhP
YmplY3QmJm5ldyBBY3RpdmVYT2JqZWN0KGEpKX1jYXRjaChlKXtyZXR1cm4gZmFsc2V9fXZhciBx
PSdzdmd3cmFwcGVyJzskLmV4dGVuZChTVkdNYW5hZ2VyLnByb3RvdHlwZSx7bWFya2VyQ2xhc3NO
YW1lOidoYXNTVkcnLHN2Z05TOidodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycseGxpbmtOUzon
aHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluaycsX3dyYXBwZXJDbGFzczpTVkdXcmFwcGVyLF9h
dHRyTmFtZXM6e2NsYXNzXzonY2xhc3MnLGluXzonaW4nLGFsaWdubWVudEJhc2VsaW5lOidhbGln
bm1lbnQtYmFzZWxpbmUnLGJhc2VsaW5lU2hpZnQ6J2Jhc2VsaW5lLXNoaWZ0JyxjbGlwUGF0aDon
Y2xpcC1wYXRoJyxjbGlwUnVsZTonY2xpcC1ydWxlJyxjb2xvckludGVycG9sYXRpb246J2NvbG9y
LWludGVycG9sYXRpb24nLGNvbG9ySW50ZXJwb2xhdGlvbkZpbHRlcnM6J2NvbG9yLWludGVycG9s
YXRpb24tZmlsdGVycycsY29sb3JSZW5kZXJpbmc6J2NvbG9yLXJlbmRlcmluZycsZG9taW5hbnRC
YXNlbGluZTonZG9taW5hbnQtYmFzZWxpbmUnLGVuYWJsZUJhY2tncm91bmQ6J2VuYWJsZS1iYWNr
Z3JvdW5kJyxmaWxsT3BhY2l0eTonZmlsbC1vcGFjaXR5JyxmaWxsUnVsZTonZmlsbC1ydWxlJyxm
bG9vZENvbG9yOidmbG9vZC1jb2xvcicsZmxvb2RPcGFjaXR5OidmbG9vZC1vcGFjaXR5Jyxmb250
RmFtaWx5Oidmb250LWZhbWlseScsZm9udFNpemU6J2ZvbnQtc2l6ZScsZm9udFNpemVBZGp1c3Q6
J2ZvbnQtc2l6ZS1hZGp1c3QnLGZvbnRTdHJldGNoOidmb250LXN0cmV0Y2gnLGZvbnRTdHlsZTon
Zm9udC1zdHlsZScsZm9udFZhcmlhbnQ6J2ZvbnQtdmFyaWFudCcsZm9udFdlaWdodDonZm9udC13
ZWlnaHQnLGdseXBoT3JpZW50YXRpb25Ib3Jpem9udGFsOidnbHlwaC1vcmllbnRhdGlvbi1ob3Jp
em9udGFsJyxnbHlwaE9yaWVudGF0aW9uVmVydGljYWw6J2dseXBoLW9yaWVudGF0aW9uLXZlcnRp
Y2FsJyxob3JpekFkdlg6J2hvcml6LWFkdi14Jyxob3Jpek9yaWdpblg6J2hvcml6LW9yaWdpbi14
JyxpbWFnZVJlbmRlcmluZzonaW1hZ2UtcmVuZGVyaW5nJyxsZXR0ZXJTcGFjaW5nOidsZXR0ZXIt
c3BhY2luZycsbGlnaHRpbmdDb2xvcjonbGlnaHRpbmctY29sb3InLG1hcmtlckVuZDonbWFya2Vy
LWVuZCcsbWFya2VyTWlkOidtYXJrZXItbWlkJyxtYXJrZXJTdGFydDonbWFya2VyLXN0YXJ0Jyxz
dG9wQ29sb3I6J3N0b3AtY29sb3InLHN0b3BPcGFjaXR5OidzdG9wLW9wYWNpdHknLHN0cmlrZXRo
cm91Z2hQb3NpdGlvbjonc3RyaWtldGhyb3VnaC1wb3NpdGlvbicsc3RyaWtldGhyb3VnaFRoaWNr
bmVzczonc3RyaWtldGhyb3VnaC10aGlja25lc3MnLHN0cm9rZURhc2hBcnJheTonc3Ryb2tlLWRh
c2hhcnJheScsc3Ryb2tlRGFzaE9mZnNldDonc3Ryb2tlLWRhc2hvZmZzZXQnLHN0cm9rZUxpbmVD
YXA6J3N0cm9rZS1saW5lY2FwJyxzdHJva2VMaW5lSm9pbjonc3Ryb2tlLWxpbmVqb2luJyxzdHJv
a2VNaXRlckxpbWl0OidzdHJva2UtbWl0ZXJsaW1pdCcsc3Ryb2tlT3BhY2l0eTonc3Ryb2tlLW9w
YWNpdHknLHN0cm9rZVdpZHRoOidzdHJva2Utd2lkdGgnLHRleHRBbmNob3I6J3RleHQtYW5jaG9y
Jyx0ZXh0RGVjb3JhdGlvbjondGV4dC1kZWNvcmF0aW9uJyx0ZXh0UmVuZGVyaW5nOid0ZXh0LXJl
bmRlcmluZycsdW5kZXJsaW5lUG9zaXRpb246J3VuZGVybGluZS1wb3NpdGlvbicsdW5kZXJsaW5l
VGhpY2tuZXNzOid1bmRlcmxpbmUtdGhpY2tuZXNzJyx2ZXJ0QWR2WTondmVydC1hZHYteScsdmVy
dE9yaWdpblk6J3ZlcnQtb3JpZ2luLXknLHdvcmRTcGFjaW5nOid3b3JkLXNwYWNpbmcnLHdyaXRp
bmdNb2RlOid3cml0aW5nLW1vZGUnfSxfYXR0YWNoU1ZHOmZ1bmN0aW9uKGEsYil7dmFyIGM9KGEu
bmFtZXNwYWNlVVJJPT10aGlzLnN2Z05TP2E6bnVsbCk7dmFyIGE9KGM/bnVsbDphKTtpZigkKGF8
fGMpLmhhc0NsYXNzKHRoaXMubWFya2VyQ2xhc3NOYW1lKSl7cmV0dXJufWlmKHR5cGVvZiBiPT0n
c3RyaW5nJyl7Yj17bG9hZFVSTDpifX1lbHNlIGlmKHR5cGVvZiBiPT0nZnVuY3Rpb24nKXtiPXtv
bkxvYWQ6Yn19JChhfHxjKS5hZGRDbGFzcyh0aGlzLm1hcmtlckNsYXNzTmFtZSk7dHJ5e2lmKCFj
KXtjPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUyh0aGlzLnN2Z05TLCdzdmcnKTtjLnNldEF0dHJp
YnV0ZSgndmVyc2lvbicsJzEuMScpO2lmKGEuY2xpZW50V2lkdGg+MCl7Yy5zZXRBdHRyaWJ1dGUo
J3dpZHRoJyxhLmNsaWVudFdpZHRoKX1pZihhLmNsaWVudEhlaWdodD4wKXtjLnNldEF0dHJpYnV0
ZSgnaGVpZ2h0JyxhLmNsaWVudEhlaWdodCl9YS5hcHBlbmRDaGlsZChjKX10aGlzLl9hZnRlckxv
YWQoYSxjLGJ8fHt9KX1jYXRjaChlKXtpZigkLmJyb3dzZXIubXNpZSl7aWYoIWEuaWQpe2EuaWQ9
J3N2ZycrKHRoaXMuX3V1aWQrKyl9dGhpcy5fc2V0dGluZ3NbYS5pZF09YjthLmlubmVySFRNTD0n
PGVtYmVkIHR5cGU9ImltYWdlL3N2Zyt4bWwiIHdpZHRoPSIxMDAlIiAnKydoZWlnaHQ9IjEwMCUi
IHNyYz0iJysoYi5pbml0UGF0aHx8JycpKydibGFuay5zdmciICcrJ3BsdWdpbnNwYWdlPSJodHRw
Oi8vd3d3LmFkb2JlLmNvbS9zdmcvdmlld2VyL2luc3RhbGwvbWFpbi5odG1sIi8+J31lbHNle2Eu
aW5uZXJIVE1MPSc8cCBjbGFzcz0ic3ZnX2Vycm9yIj4nK3RoaXMubG9jYWwubm90U3VwcG9ydGVk
VGV4dCsnPC9wPid9fX0sX3JlZ2lzdGVyU1ZHOmZ1bmN0aW9uKCl7Zm9yKHZhciBpPTA7aTxkb2N1
bWVudC5lbWJlZHMubGVuZ3RoO2krKyl7dmFyIGE9ZG9jdW1lbnQuZW1iZWRzW2ldLnBhcmVudE5v
ZGU7aWYoISQoYSkuaGFzQ2xhc3MoJC5zdmcubWFya2VyQ2xhc3NOYW1lKXx8JC5kYXRhKGEscSkp
e2NvbnRpbnVlfXZhciBiPW51bGw7dHJ5e2I9ZG9jdW1lbnQuZW1iZWRzW2ldLmdldFNWR0RvY3Vt
ZW50KCl9Y2F0Y2goZSl7c2V0VGltZW91dCgkLnN2Zy5fcmVnaXN0ZXJTVkcsMjUwKTtyZXR1cm59
Yj0oYj9iLmRvY3VtZW50RWxlbWVudDpudWxsKTtpZihiKXskLnN2Zy5fYWZ0ZXJMb2FkKGEsYil9
fX0sX2FmdGVyTG9hZDpmdW5jdGlvbihhLGIsYyl7dmFyIGM9Y3x8dGhpcy5fc2V0dGluZ3NbYS5p
ZF07dGhpcy5fc2V0dGluZ3NbYT9hLmlkOicnXT1udWxsO3ZhciBkPW5ldyB0aGlzLl93cmFwcGVy
Q2xhc3MoYixhKTskLmRhdGEoYXx8YixxLGQpO3RyeXtpZihjLmxvYWRVUkwpe2QubG9hZChjLmxv
YWRVUkwsYyl9aWYoYy5zZXR0aW5ncyl7ZC5jb25maWd1cmUoYy5zZXR0aW5ncyl9aWYoYy5vbkxv
YWQmJiFjLmxvYWRVUkwpe2Mub25Mb2FkLmFwcGx5KGF8fGIsW2RdKX19Y2F0Y2goZSl7YWxlcnQo
ZSl9fSxfZ2V0U1ZHOmZ1bmN0aW9uKGEpe2E9KHR5cGVvZiBhPT0nc3RyaW5nJz8kKGEpWzBdOihh
LmpxdWVyeT9hWzBdOmEpKTtyZXR1cm4gJC5kYXRhKGEscSl9LF9kZXN0cm95U1ZHOmZ1bmN0aW9u
KGEpe3ZhciBiPSQoYSk7aWYoIWIuaGFzQ2xhc3ModGhpcy5tYXJrZXJDbGFzc05hbWUpKXtyZXR1
cm59Yi5yZW1vdmVDbGFzcyh0aGlzLm1hcmtlckNsYXNzTmFtZSk7aWYoYS5uYW1lc3BhY2VVUkkh
PXRoaXMuc3ZnTlMpe2IuZW1wdHkoKX0kLnJlbW92ZURhdGEoYSxxKX0sYWRkRXh0ZW5zaW9uOmZ1
bmN0aW9uKGEsYil7dGhpcy5fZXh0ZW5zaW9ucy5wdXNoKFthLGJdKX0saXNTVkdFbGVtOmZ1bmN0
aW9uKGEpe3JldHVybihhLm5vZGVUeXBlPT0xJiZhLm5hbWVzcGFjZVVSST09JC5zdmcuc3ZnTlMp
fX0pO2Z1bmN0aW9uIFNWR1dyYXBwZXIoYSxiKXt0aGlzLl9zdmc9YTt0aGlzLl9jb250YWluZXI9
Yjtmb3IodmFyIGk9MDtpPCQuc3ZnLl9leHRlbnNpb25zLmxlbmd0aDtpKyspe3ZhciBjPSQuc3Zn
Ll9leHRlbnNpb25zW2ldO3RoaXNbY1swXV09bmV3IGNbMV0odGhpcyl9fSQuZXh0ZW5kKFNWR1dy
YXBwZXIucHJvdG90eXBlLHtfd2lkdGg6ZnVuY3Rpb24oKXtyZXR1cm4odGhpcy5fY29udGFpbmVy
P3RoaXMuX2NvbnRhaW5lci5jbGllbnRXaWR0aDp0aGlzLl9zdmcud2lkdGgpfSxfaGVpZ2h0OmZ1
bmN0aW9uKCl7cmV0dXJuKHRoaXMuX2NvbnRhaW5lcj90aGlzLl9jb250YWluZXIuY2xpZW50SGVp
Z2h0OnRoaXMuX3N2Zy5oZWlnaHQpfSxyb290OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3N2Z30s
Y29uZmlndXJlOmZ1bmN0aW9uKGEsYixjKXtpZighYS5ub2RlTmFtZSl7Yz1iO2I9YTthPXRoaXMu
X3N2Z31pZihjKXtmb3IodmFyIGk9YS5hdHRyaWJ1dGVzLmxlbmd0aC0xO2k+PTA7aS0tKXt2YXIg
ZD1hLmF0dHJpYnV0ZXMuaXRlbShpKTtpZighKGQubm9kZU5hbWU9PSdvbmxvYWQnfHxkLm5vZGVO
YW1lPT0ndmVyc2lvbid8fGQubm9kZU5hbWUuc3Vic3RyaW5nKDAsNSk9PSd4bWxucycpKXthLmF0
dHJpYnV0ZXMucmVtb3ZlTmFtZWRJdGVtKGQubm9kZU5hbWUpfX19Zm9yKHZhciBlIGluIGIpe2Eu
c2V0QXR0cmlidXRlKCQuc3ZnLl9hdHRyTmFtZXNbZV18fGUsYltlXSl9cmV0dXJuIHRoaXN9LGdl
dEVsZW1lbnRCeUlkOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLl9zdmcub3duZXJEb2N1bWVudC5n
ZXRFbGVtZW50QnlJZChhKX0sY2hhbmdlOmZ1bmN0aW9uKGEsYil7aWYoYSl7Zm9yKHZhciBjIGlu
IGIpe2lmKGJbY109PW51bGwpe2EucmVtb3ZlQXR0cmlidXRlKCQuc3ZnLl9hdHRyTmFtZXNbY118
fGMpfWVsc2V7YS5zZXRBdHRyaWJ1dGUoJC5zdmcuX2F0dHJOYW1lc1tjXXx8YyxiW2NdKX19fXJl
dHVybiB0aGlzfSxfYXJnczpmdW5jdGlvbihiLGMsZCl7Yy5zcGxpY2UoMCwwLCdwYXJlbnQnKTtj
LnNwbGljZShjLmxlbmd0aCwwLCdzZXR0aW5ncycpO3ZhciBlPXt9O3ZhciBmPTA7aWYoYlswXSE9
bnVsbCYmYlswXS5qcXVlcnkpe2JbMF09YlswXVswXX1pZihiWzBdIT1udWxsJiYhKHR5cGVvZiBi
WzBdPT0nb2JqZWN0JyYmYlswXS5ub2RlTmFtZSkpe2VbJ3BhcmVudCddPW51bGw7Zj0xfWZvcih2
YXIgaT0wO2k8Yi5sZW5ndGg7aSsrKXtlW2NbaStmXV09YltpXX1pZihkKXskLmVhY2goZCxmdW5j
dGlvbihpLGEpe2lmKHR5cGVvZiBlW2FdPT0nb2JqZWN0Jyl7ZS5zZXR0aW5ncz1lW2FdO2VbYV09
bnVsbH19KX1yZXR1cm4gZX0sLyp0aXRsZTpmdW5jdGlvbihhLGIsYyl7dmFyIGQ9dGhpcy5fYXJn
cyhhcmd1bWVudHMsWyd0ZXh0J10pO3ZhciBlPXRoaXMuX21ha2VOb2RlKGQucGFyZW50LCd0aXRs
ZScsZC5zZXR0aW5nc3x8e30pO2UuYXBwZW5kQ2hpbGQodGhpcy5fc3ZnLm93bmVyRG9jdW1lbnQu
Y3JlYXRlVGV4dE5vZGUoZC50ZXh0KSk7cmV0dXJuIGV9LCovZGVzY3JpYmU6ZnVuY3Rpb24oYSxi
LGMpe3ZhciBkPXRoaXMuX2FyZ3MoYXJndW1lbnRzLFsndGV4dCddKTt2YXIgZT10aGlzLl9tYWtl
Tm9kZShkLnBhcmVudCwnZGVzYycsZC5zZXR0aW5nc3x8e30pO2UuYXBwZW5kQ2hpbGQodGhpcy5f
c3ZnLm93bmVyRG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoZC50ZXh0KSk7cmV0dXJuIGV9LGRlZnM6
ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPXRoaXMuX2FyZ3MoYXJndW1lbnRzLFsnaWQnXSxbJ2lkJ10p
O3JldHVybiB0aGlzLl9tYWtlTm9kZShkLnBhcmVudCwnZGVmcycsJC5leHRlbmQoKGQuaWQ/e2lk
OmQuaWR9Ont9KSxkLnNldHRpbmdzfHx7fSkpfSxzeW1ib2w6ZnVuY3Rpb24oYSxiLGMsZCxlLGYs
Zyl7dmFyIGg9dGhpcy5fYXJncyhhcmd1bWVudHMsWydpZCcsJ3gxJywneTEnLCd3aWR0aCcsJ2hl
aWdodCddKTtyZXR1cm4gdGhpcy5fbWFrZU5vZGUoaC5wYXJlbnQsJ3N5bWJvbCcsJC5leHRlbmQo
e2lkOmguaWQsdmlld0JveDpoLngxKycgJytoLnkxKycgJytoLndpZHRoKycgJytoLmhlaWdodH0s
aC5zZXR0aW5nc3x8e30pKX0sbWFya2VyOmZ1bmN0aW9uKGEsYixjLGQsZSxmLGcsaCl7dmFyIGk9
dGhpcy5fYXJncyhhcmd1bWVudHMsWydpZCcsJ3JlZlgnLCdyZWZZJywnbVdpZHRoJywnbUhlaWdo
dCcsJ29yaWVudCddLFsnb3JpZW50J10pO3JldHVybiB0aGlzLl9tYWtlTm9kZShpLnBhcmVudCwn
bWFya2VyJywkLmV4dGVuZCh7aWQ6aS5pZCxyZWZYOmkucmVmWCxyZWZZOmkucmVmWSxtYXJrZXJX
aWR0aDppLm1XaWR0aCxtYXJrZXJIZWlnaHQ6aS5tSGVpZ2h0LG9yaWVudDppLm9yaWVudHx8J2F1
dG8nfSxpLnNldHRpbmdzfHx7fSkpfSxzdHlsZTpmdW5jdGlvbihhLGIsYyl7dmFyIGQ9dGhpcy5f
YXJncyhhcmd1bWVudHMsWydzdHlsZXMnXSk7dmFyIGU9dGhpcy5fbWFrZU5vZGUoZC5wYXJlbnQs
J3N0eWxlJywkLmV4dGVuZCh7dHlwZTondGV4dC9jc3MnfSxkLnNldHRpbmdzfHx7fSkpO2UuYXBw
ZW5kQ2hpbGQodGhpcy5fc3ZnLm93bmVyRG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoZC5zdHlsZXMp
KTtpZigkLmJyb3dzZXIub3BlcmEpeyQoJ2hlYWQnKS5hcHBlbmQoJzxzdHlsZSB0eXBlPSJ0ZXh0
L2NzcyI+JytkLnN0eWxlcysnPC9zdHlsZT4nKX1yZXR1cm4gZX0sc2NyaXB0OmZ1bmN0aW9uKGEs
YixjLGQpe3ZhciBlPXRoaXMuX2FyZ3MoYXJndW1lbnRzLFsnc2NyaXB0JywndHlwZSddLFsndHlw
ZSddKTt2YXIgZj10aGlzLl9tYWtlTm9kZShlLnBhcmVudCwnc2NyaXB0JywkLmV4dGVuZCh7dHlw
ZTplLnR5cGV8fCd0ZXh0L2phdmFzY3JpcHQnfSxlLnNldHRpbmdzfHx7fSkpO2YuYXBwZW5kQ2hp
bGQodGhpcy5fc3ZnLm93bmVyRG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoZS5zY3JpcHQpKTtpZigh
JC5icm93c2VyLm1vemlsbGEpeyQuZ2xvYmFsRXZhbChlLnNjcmlwdCl9cmV0dXJuIGZ9LGxpbmVh
ckdyYWRpZW50OmZ1bmN0aW9uKGEsYixjLGQsZSxmLGcsaCl7dmFyIGk9dGhpcy5fYXJncyhhcmd1
bWVudHMsWydpZCcsJ3N0b3BzJywneDEnLCd5MScsJ3gyJywneTInXSxbJ3gxJ10pO3ZhciBqPSQu
ZXh0ZW5kKHtpZDppLmlkfSwoaS54MSE9bnVsbD97eDE6aS54MSx5MTppLnkxLHgyOmkueDIseTI6
aS55Mn06e30pKTtyZXR1cm4gdGhpcy5fZ3JhZGllbnQoaS5wYXJlbnQsJ2xpbmVhckdyYWRpZW50
JywkLmV4dGVuZChqLGkuc2V0dGluZ3N8fHt9KSxpLnN0b3BzKX0scmFkaWFsR3JhZGllbnQ6ZnVu
Y3Rpb24oYSxiLGMsZCxlLHIsZixnLGgpe3ZhciBpPXRoaXMuX2FyZ3MoYXJndW1lbnRzLFsnaWQn
LCdzdG9wcycsJ2N4JywnY3knLCdyJywnZngnLCdmeSddLFsnY3gnXSk7dmFyIGo9JC5leHRlbmQo
e2lkOmkuaWR9LChpLmN4IT1udWxsP3tjeDppLmN4LGN5OmkuY3kscjppLnIsZng6aS5meCxmeTpp
LmZ5fTp7fSkpO3JldHVybiB0aGlzLl9ncmFkaWVudChpLnBhcmVudCwncmFkaWFsR3JhZGllbnQn
LCQuZXh0ZW5kKGosaS5zZXR0aW5nc3x8e30pLGkuc3RvcHMpfSxfZ3JhZGllbnQ6ZnVuY3Rpb24o
YSxiLGMsZCl7dmFyIGU9dGhpcy5fbWFrZU5vZGUoYSxiLGMpO2Zvcih2YXIgaT0wO2k8ZC5sZW5n
dGg7aSsrKXt2YXIgZj1kW2ldO3RoaXMuX21ha2VOb2RlKGUsJ3N0b3AnLCQuZXh0ZW5kKHtvZmZz
ZXQ6ZlswXSxzdG9wQ29sb3I6ZlsxXX0sKGZbMl0hPW51bGw/e3N0b3BPcGFjaXR5OmZbMl19Ont9
KSkpfXJldHVybiBlfSxwYXR0ZXJuOmZ1bmN0aW9uKGEsYix4LHksYyxkLGUsZixnLGgsaSl7dmFy
IGo9dGhpcy5fYXJncyhhcmd1bWVudHMsWydpZCcsJ3gnLCd5Jywnd2lkdGgnLCdoZWlnaHQnLCd2
eCcsJ3Z5JywndndpZHRoJywndmhlaWdodCddLFsndngnXSk7dmFyIGs9JC5leHRlbmQoe2lkOmou
aWQseDpqLngseTpqLnksd2lkdGg6ai53aWR0aCxoZWlnaHQ6ai5oZWlnaHR9LChqLnZ4IT1udWxs
P3t2aWV3Qm94OmoudngrJyAnK2oudnkrJyAnK2oudndpZHRoKycgJytqLnZoZWlnaHR9Ont9KSk7
cmV0dXJuIHRoaXMuX21ha2VOb2RlKGoucGFyZW50LCdwYXR0ZXJuJywkLmV4dGVuZChrLGouc2V0
dGluZ3N8fHt9KSl9LGNsaXBQYXRoOmZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPXRoaXMuX2FyZ3Mo
YXJndW1lbnRzLFsnaWQnLCd1bml0cyddKTtlLnVuaXRzPWUudW5pdHN8fCd1c2VyU3BhY2VPblVz
ZSc7cmV0dXJuIHRoaXMuX21ha2VOb2RlKGUucGFyZW50LCdjbGlwUGF0aCcsJC5leHRlbmQoe2lk
OmUuaWQsY2xpcFBhdGhVbml0czplLnVuaXRzfSxlLnNldHRpbmdzfHx7fSkpfSxtYXNrOmZ1bmN0
aW9uKGEsYix4LHksYyxkLGUpe3ZhciBmPXRoaXMuX2FyZ3MoYXJndW1lbnRzLFsnaWQnLCd4Jywn
eScsJ3dpZHRoJywnaGVpZ2h0J10pO3JldHVybiB0aGlzLl9tYWtlTm9kZShmLnBhcmVudCwnbWFz
aycsJC5leHRlbmQoe2lkOmYuaWQseDpmLngseTpmLnksd2lkdGg6Zi53aWR0aCxoZWlnaHQ6Zi5o
ZWlnaHR9LGYuc2V0dGluZ3N8fHt9KSl9LGNyZWF0ZVBhdGg6ZnVuY3Rpb24oKXtyZXR1cm4gbmV3
IFNWR1BhdGgoKX0sY3JlYXRlVGV4dDpmdW5jdGlvbigpe3JldHVybiBuZXcgU1ZHVGV4dCgpfSxz
dmc6ZnVuY3Rpb24oYSx4LHksYixjLGQsZSxmLGcsaCl7dmFyIGk9dGhpcy5fYXJncyhhcmd1bWVu
dHMsWyd4JywneScsJ3dpZHRoJywnaGVpZ2h0JywndngnLCd2eScsJ3Z3aWR0aCcsJ3ZoZWlnaHQn
XSxbJ3Z4J10pO3ZhciBqPSQuZXh0ZW5kKHt4OmkueCx5OmkueSx3aWR0aDppLndpZHRoLGhlaWdo
dDppLmhlaWdodH0sKGkudnghPW51bGw/e3ZpZXdCb3g6aS52eCsnICcraS52eSsnICcraS52d2lk
dGgrJyAnK2kudmhlaWdodH06e30pKTtyZXR1cm4gdGhpcy5fbWFrZU5vZGUoaS5wYXJlbnQsJ3N2
ZycsJC5leHRlbmQoaixpLnNldHRpbmdzfHx7fSkpfSxncm91cDpmdW5jdGlvbihhLGIsYyl7dmFy
IGQ9dGhpcy5fYXJncyhhcmd1bWVudHMsWydpZCddLFsnaWQnXSk7cmV0dXJuIHRoaXMuX21ha2VO
b2RlKGQucGFyZW50LCdnJywkLmV4dGVuZCh7aWQ6ZC5pZH0sZC5zZXR0aW5nc3x8e30pKX0sdXNl
OmZ1bmN0aW9uKGEseCx5LGIsYyxkLGUpe3ZhciBmPXRoaXMuX2FyZ3MoYXJndW1lbnRzLFsneCcs
J3knLCd3aWR0aCcsJ2hlaWdodCcsJ3JlZiddKTtpZih0eXBlb2YgZi54PT0nc3RyaW5nJyl7Zi5y
ZWY9Zi54O2Yuc2V0dGluZ3M9Zi55O2YueD1mLnk9Zi53aWR0aD1mLmhlaWdodD1udWxsfXZhciBn
PXRoaXMuX21ha2VOb2RlKGYucGFyZW50LCd1c2UnLCQuZXh0ZW5kKHt4OmYueCx5OmYueSx3aWR0
aDpmLndpZHRoLGhlaWdodDpmLmhlaWdodH0sZi5zZXR0aW5nc3x8e30pKTtnLnNldEF0dHJpYnV0
ZU5TKCQuc3ZnLnhsaW5rTlMsJ2hyZWYnLGYucmVmKTtyZXR1cm4gZ30sbGluazpmdW5jdGlvbihh
LGIsYyl7dmFyIGQ9dGhpcy5fYXJncyhhcmd1bWVudHMsWydyZWYnXSk7dmFyIGU9dGhpcy5fbWFr
ZU5vZGUoZC5wYXJlbnQsJ2EnLGQuc2V0dGluZ3MpO2Uuc2V0QXR0cmlidXRlTlMoJC5zdmcueGxp
bmtOUywnaHJlZicsZC5yZWYpO3JldHVybiBlfSxpbWFnZTpmdW5jdGlvbihhLHgseSxiLGMsZCxl
KXt2YXIgZj10aGlzLl9hcmdzKGFyZ3VtZW50cyxbJ3gnLCd5Jywnd2lkdGgnLCdoZWlnaHQnLCdy
ZWYnXSk7dmFyIGc9dGhpcy5fbWFrZU5vZGUoZi5wYXJlbnQsJ2ltYWdlJywkLmV4dGVuZCh7eDpm
LngseTpmLnksd2lkdGg6Zi53aWR0aCxoZWlnaHQ6Zi5oZWlnaHR9LGYuc2V0dGluZ3N8fHt9KSk7
Zy5zZXRBdHRyaWJ1dGVOUygkLnN2Zy54bGlua05TLCdocmVmJyxmLnJlZik7cmV0dXJuIGd9LHBh
dGg6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPXRoaXMuX2FyZ3MoYXJndW1lbnRzLFsncGF0aCddKTty
ZXR1cm4gdGhpcy5fbWFrZU5vZGUoZC5wYXJlbnQsJ3BhdGgnLCQuZXh0ZW5kKHtkOihkLnBhdGgu
cGF0aD9kLnBhdGgucGF0aCgpOmQucGF0aCl9LGQuc2V0dGluZ3N8fHt9KSl9LHJlY3Q6ZnVuY3Rp
b24oYSx4LHksYixjLGQsZSxmKXt2YXIgZz10aGlzLl9hcmdzKGFyZ3VtZW50cyxbJ3gnLCd5Jywn
d2lkdGgnLCdoZWlnaHQnLCdyeCcsJ3J5J10sWydyeCddKTtyZXR1cm4gdGhpcy5fbWFrZU5vZGUo
Zy5wYXJlbnQsJ3JlY3QnLCQuZXh0ZW5kKHt4OmcueCx5OmcueSx3aWR0aDpnLndpZHRoLGhlaWdo
dDpnLmhlaWdodH0sKGcucng/e3J4Omcucngscnk6Zy5yeX06e30pLGcuc2V0dGluZ3N8fHt9KSl9
LGNpcmNsZTpmdW5jdGlvbihhLGIsYyxyLGQpe3ZhciBlPXRoaXMuX2FyZ3MoYXJndW1lbnRzLFsn
Y3gnLCdjeScsJ3InXSk7cmV0dXJuIHRoaXMuX21ha2VOb2RlKGUucGFyZW50LCdjaXJjbGUnLCQu
ZXh0ZW5kKHtjeDplLmN4LGN5OmUuY3kscjplLnJ9LGUuc2V0dGluZ3N8fHt9KSl9LGVsbGlwc2U6
ZnVuY3Rpb24oYSxiLGMsZCxlLGYpe3ZhciBnPXRoaXMuX2FyZ3MoYXJndW1lbnRzLFsnY3gnLCdj
eScsJ3J4JywncnknXSk7cmV0dXJuIHRoaXMuX21ha2VOb2RlKGcucGFyZW50LCdlbGxpcHNlJywk
LmV4dGVuZCh7Y3g6Zy5jeCxjeTpnLmN5LHJ4Omcucngscnk6Zy5yeX0sZy5zZXR0aW5nc3x8e30p
KX0sbGluZTpmdW5jdGlvbihhLGIsYyxkLGUsZil7dmFyIGc9dGhpcy5fYXJncyhhcmd1bWVudHMs
Wyd4MScsJ3kxJywneDInLCd5MiddKTtyZXR1cm4gdGhpcy5fbWFrZU5vZGUoZy5wYXJlbnQsJ2xp
bmUnLCQuZXh0ZW5kKHt4MTpnLngxLHkxOmcueTEseDI6Zy54Mix5MjpnLnkyfSxnLnNldHRpbmdz
fHx7fSkpfSxwb2x5bGluZTpmdW5jdGlvbihhLGIsYyl7dmFyIGQ9dGhpcy5fYXJncyhhcmd1bWVu
dHMsWydwb2ludHMnXSk7cmV0dXJuIHRoaXMuX3BvbHkoZC5wYXJlbnQsJ3BvbHlsaW5lJyxkLnBv
aW50cyxkLnNldHRpbmdzKX0scG9seWdvbjpmdW5jdGlvbihhLGIsYyl7dmFyIGQ9dGhpcy5fYXJn
cyhhcmd1bWVudHMsWydwb2ludHMnXSk7cmV0dXJuIHRoaXMuX3BvbHkoZC5wYXJlbnQsJ3BvbHln
b24nLGQucG9pbnRzLGQuc2V0dGluZ3MpfSxfcG9seTpmdW5jdGlvbihhLGIsYyxkKXt2YXIgZT0n
Jztmb3IodmFyIGk9MDtpPGMubGVuZ3RoO2krKyl7ZSs9Y1tpXS5qb2luKCkrJyAnfXJldHVybiB0
aGlzLl9tYWtlTm9kZShhLGIsJC5leHRlbmQoe3BvaW50czokLnRyaW0oZSl9LGR8fHt9KSl9LHRl
eHQ6ZnVuY3Rpb24oYSx4LHksYixjKXt2YXIgZD10aGlzLl9hcmdzKGFyZ3VtZW50cyxbJ3gnLCd5
JywndmFsdWUnXSk7aWYodHlwZW9mIGQueD09J3N0cmluZycmJmFyZ3VtZW50cy5sZW5ndGg8NCl7
ZC52YWx1ZT1kLng7ZC5zZXR0aW5ncz1kLnk7ZC54PWQueT1udWxsfXJldHVybiB0aGlzLl90ZXh0
KGQucGFyZW50LCd0ZXh0JyxkLnZhbHVlLCQuZXh0ZW5kKHt4OihkLngmJmlzQXJyYXkoZC54KT9k
Lnguam9pbignICcpOmQueCkseTooZC55JiZpc0FycmF5KGQueSk/ZC55LmpvaW4oJyAnKTpkLnkp
fSxkLnNldHRpbmdzfHx7fSkpfSx0ZXh0cGF0aDpmdW5jdGlvbihhLGIsYyxkKXt2YXIgZT10aGlz
Ll9hcmdzKGFyZ3VtZW50cyxbJ3BhdGgnLCd2YWx1ZSddKTt2YXIgZj10aGlzLl90ZXh0KGUucGFy
ZW50LCd0ZXh0UGF0aCcsZS52YWx1ZSxlLnNldHRpbmdzfHx7fSk7Zi5zZXRBdHRyaWJ1dGVOUygk
LnN2Zy54bGlua05TLCdocmVmJyxlLnBhdGgpO3JldHVybiBmfSxfdGV4dDpmdW5jdGlvbihhLGIs
YyxkKXt2YXIgZT10aGlzLl9tYWtlTm9kZShhLGIsZCk7aWYodHlwZW9mIGM9PSdzdHJpbmcnKXtl
LmFwcGVuZENoaWxkKGUub3duZXJEb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShjKSl9ZWxzZXtmb3Io
dmFyIGk9MDtpPGMuX3BhcnRzLmxlbmd0aDtpKyspe3ZhciBmPWMuX3BhcnRzW2ldO2lmKGZbMF09
PSd0c3Bhbicpe3ZhciBnPXRoaXMuX21ha2VOb2RlKGUsZlswXSxmWzJdKTtnLmFwcGVuZENoaWxk
KGUub3duZXJEb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShmWzFdKSk7ZS5hcHBlbmRDaGlsZChnKX1l
bHNlIGlmKGZbMF09PSd0cmVmJyl7dmFyIGc9dGhpcy5fbWFrZU5vZGUoZSxmWzBdLGZbMl0pO2cu
c2V0QXR0cmlidXRlTlMoJC5zdmcueGxpbmtOUywnaHJlZicsZlsxXSk7ZS5hcHBlbmRDaGlsZChn
KX1lbHNlIGlmKGZbMF09PSd0ZXh0cGF0aCcpe3ZhciBoPSQuZXh0ZW5kKHt9LGZbMl0pO2guaHJl
Zj1udWxsO3ZhciBnPXRoaXMuX21ha2VOb2RlKGUsZlswXSxoKTtnLnNldEF0dHJpYnV0ZU5TKCQu
c3ZnLnhsaW5rTlMsJ2hyZWYnLGZbMl0uaHJlZik7Zy5hcHBlbmRDaGlsZChlLm93bmVyRG9jdW1l
bnQuY3JlYXRlVGV4dE5vZGUoZlsxXSkpO2UuYXBwZW5kQ2hpbGQoZyl9ZWxzZXtlLmFwcGVuZENo
aWxkKGUub3duZXJEb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShmWzFdKSl9fX1yZXR1cm4gZX0sb3Ro
ZXI6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPXRoaXMuX2FyZ3MoYXJndW1lbnRzLFsnbmFtZSddKTty
ZXR1cm4gdGhpcy5fbWFrZU5vZGUoZC5wYXJlbnQsZC5uYW1lLGQuc2V0dGluZ3N8fHt9KX0sX21h
a2VOb2RlOmZ1bmN0aW9uKGEsYixjKXthPWF8fHRoaXMuX3N2Zzt2YXIgZD10aGlzLl9zdmcub3du
ZXJEb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoJC5zdmcuc3ZnTlMsYik7Zm9yKHZhciBiIGluIGMp
e3ZhciBlPWNbYl07aWYoZSE9bnVsbCYmZSE9bnVsbCYmKHR5cGVvZiBlIT0nc3RyaW5nJ3x8ZSE9
JycpKXtkLnNldEF0dHJpYnV0ZSgkLnN2Zy5fYXR0ck5hbWVzW2JdfHxiLGUpfX1hLmFwcGVuZENo
aWxkKGQpO3JldHVybiBkfSxhZGQ6ZnVuY3Rpb24oYixjKXt2YXIgZD10aGlzLl9hcmdzKChhcmd1
bWVudHMubGVuZ3RoPT0xP1tudWxsLGJdOmFyZ3VtZW50cyksWydub2RlJ10pO3ZhciBmPXRoaXM7
ZC5wYXJlbnQ9ZC5wYXJlbnR8fHRoaXMuX3N2ZztkLm5vZGU9KGQubm9kZS5qcXVlcnk/ZC5ub2Rl
OiQoZC5ub2RlKSk7dHJ5e2lmKCQuc3ZnLl9yZW5lc2lzKXt0aHJvdydGb3JjZSB0cmF2ZXJzYWwn
O31kLnBhcmVudC5hcHBlbmRDaGlsZChkLm5vZGUuY2xvbmVOb2RlKHRydWUpKX1jYXRjaChlKXtk
Lm5vZGUuZWFjaChmdW5jdGlvbigpe3ZhciBhPWYuX2Nsb25lQXNTVkcodGhpcyk7aWYoYSl7ZC5w
YXJlbnQuYXBwZW5kQ2hpbGQoYSl9fSl9cmV0dXJuIHRoaXN9LGNsb25lOmZ1bmN0aW9uKGIsYyl7
dmFyIGQ9dGhpczt2YXIgZT10aGlzLl9hcmdzKChhcmd1bWVudHMubGVuZ3RoPT0xP1tudWxsLGJd
OmFyZ3VtZW50cyksWydub2RlJ10pO2UucGFyZW50PWUucGFyZW50fHx0aGlzLl9zdmc7ZS5ub2Rl
PShlLm5vZGUuanF1ZXJ5P2Uubm9kZTokKGUubm9kZSkpO3ZhciBmPVtdO2Uubm9kZS5lYWNoKGZ1
bmN0aW9uKCl7dmFyIGE9ZC5fY2xvbmVBc1NWRyh0aGlzKTtpZihhKXthLmlkPScnO2UucGFyZW50
LmFwcGVuZENoaWxkKGEpO2YucHVzaChhKX19KTtyZXR1cm4gZn0sX2Nsb25lQXNTVkc6ZnVuY3Rp
b24oYSl7dmFyIGI9bnVsbDtpZihhLm5vZGVUeXBlPT0xKXtiPXRoaXMuX3N2Zy5vd25lckRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnROUygkLnN2Zy5zdmdOUyx0aGlzLl9jaGVja05hbWUoYS5ub2RlTmFt
ZSkpO2Zvcih2YXIgaT0wO2k8YS5hdHRyaWJ1dGVzLmxlbmd0aDtpKyspe3ZhciBjPWEuYXR0cmli
dXRlcy5pdGVtKGkpO2lmKGMubm9kZU5hbWUhPSd4bWxucycmJmMubm9kZVZhbHVlKXtpZihjLnBy
ZWZpeD09J3hsaW5rJyl7Yi5zZXRBdHRyaWJ1dGVOUygkLnN2Zy54bGlua05TLGMubG9jYWxOYW1l
fHxjLmJhc2VOYW1lLGMubm9kZVZhbHVlKX1lbHNle2Iuc2V0QXR0cmlidXRlKHRoaXMuX2NoZWNr
TmFtZShjLm5vZGVOYW1lKSxjLm5vZGVWYWx1ZSl9fX1mb3IodmFyIGk9MDtpPGEuY2hpbGROb2Rl
cy5sZW5ndGg7aSsrKXt2YXIgZD10aGlzLl9jbG9uZUFzU1ZHKGEuY2hpbGROb2Rlc1tpXSk7aWYo
ZCl7Yi5hcHBlbmRDaGlsZChkKX19fWVsc2UgaWYoYS5ub2RlVHlwZT09Myl7aWYoJC50cmltKGEu
bm9kZVZhbHVlKSl7Yj10aGlzLl9zdmcub3duZXJEb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShhLm5v
ZGVWYWx1ZSl9fWVsc2UgaWYoYS5ub2RlVHlwZT09NCl7aWYoJC50cmltKGEubm9kZVZhbHVlKSl7
dHJ5e2I9dGhpcy5fc3ZnLm93bmVyRG9jdW1lbnQuY3JlYXRlQ0RBVEFTZWN0aW9uKGEubm9kZVZh
bHVlKX1jYXRjaChlKXtiPXRoaXMuX3N2Zy5vd25lckRvY3VtZW50LmNyZWF0ZVRleHROb2RlKGEu
bm9kZVZhbHVlLnJlcGxhY2UoLyYvZywnJmFtcDsnKS5yZXBsYWNlKC88L2csJyZsdDsnKS5yZXBs
YWNlKC8+L2csJyZndDsnKSl9fX1yZXR1cm4gYn0sX2NoZWNrTmFtZTpmdW5jdGlvbihhKXthPShh
LnN1YnN0cmluZygwLDEpPj0nQScmJmEuc3Vic3RyaW5nKDAsMSk8PSdaJz9hLnRvTG93ZXJDYXNl
KCk6YSk7cmV0dXJuKGEuc3Vic3RyaW5nKDAsNCk9PSdzdmc6Jz9hLnN1YnN0cmluZyg0KTphKX0s
bG9hZDpmdW5jdGlvbihqLGspe2s9KHR5cGVvZiBrPT0nYm9vbGVhbic/e2FkZFRvOmt9Oih0eXBl
b2Ygaz09J2Z1bmN0aW9uJz97b25Mb2FkOmt9Oih0eXBlb2Ygaz09J3N0cmluZyc/e3BhcmVudDpr
fToodHlwZW9mIGs9PSdvYmplY3QnJiZrLm5vZGVOYW1lP3twYXJlbnQ6a306KHR5cGVvZiBrPT0n
b2JqZWN0JyYmay5qcXVlcnk/e3BhcmVudDprfTprfHx7fSkpKSkpO2lmKCFrLnBhcmVudCYmIWsu
YWRkVG8pe3RoaXMuY2xlYXIoZmFsc2UpfXZhciBsPVt0aGlzLl9zdmcuZ2V0QXR0cmlidXRlKCd3
aWR0aCcpLHRoaXMuX3N2Zy5nZXRBdHRyaWJ1dGUoJ2hlaWdodCcpXTt2YXIgbT10aGlzO3ZhciBu
PWZ1bmN0aW9uKGEpe2E9JC5zdmcubG9jYWwuZXJyb3JMb2FkaW5nVGV4dCsnOiAnK2E7aWYoay5v
bkxvYWQpe2sub25Mb2FkLmFwcGx5KG0uX2NvbnRhaW5lcnx8bS5fc3ZnLFttLGFdKX1lbHNle20u
dGV4dChudWxsLDEwLDIwLGEpfX07dmFyIG89ZnVuY3Rpb24oYSl7dmFyIGI9bmV3IEFjdGl2ZVhP
YmplY3QoJ01pY3Jvc29mdC5YTUxET00nKTtiLnZhbGlkYXRlT25QYXJzZT1mYWxzZTtiLnJlc29s
dmVFeHRlcm5hbHM9ZmFsc2U7Yi5hc3luYz1mYWxzZTtiLmxvYWRYTUwoYSk7aWYoYi5wYXJzZUVy
cm9yLmVycm9yQ29kZSE9MCl7bihiLnBhcnNlRXJyb3IucmVhc29uKTtyZXR1cm4gbnVsbH1yZXR1
cm4gYn07dmFyIHA9ZnVuY3Rpb24oYSl7aWYoIWEpe3JldHVybn1pZihhLmRvY3VtZW50RWxlbWVu
dC5ub2RlTmFtZSE9J3N2Zycpe3ZhciBiPWEuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ3BhcnNlcmVy
cm9yJyk7dmFyIGM9KGIubGVuZ3RoP2JbMF0uZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2RpdicpOltd
KTtuKCFiLmxlbmd0aD8nPz8/JzooYy5sZW5ndGg/Y1swXTpiWzBdKS5maXJzdENoaWxkLm5vZGVW
YWx1ZSk7cmV0dXJufXZhciBkPShrLnBhcmVudD8kKGsucGFyZW50KVswXTptLl9zdmcpO3ZhciBm
PXt9O2Zvcih2YXIgaT0wO2k8YS5kb2N1bWVudEVsZW1lbnQuYXR0cmlidXRlcy5sZW5ndGg7aSsr
KXt2YXIgZz1hLmRvY3VtZW50RWxlbWVudC5hdHRyaWJ1dGVzLml0ZW0oaSk7aWYoIShnLm5vZGVO
YW1lPT0ndmVyc2lvbid8fGcubm9kZU5hbWUuc3Vic3RyaW5nKDAsNSk9PSd4bWxucycpKXtmW2cu
bm9kZU5hbWVdPWcubm9kZVZhbHVlfX1tLmNvbmZpZ3VyZShkLGYsIWsucGFyZW50KTt2YXIgaD1h
LmRvY3VtZW50RWxlbWVudC5jaGlsZE5vZGVzO2Zvcih2YXIgaT0wO2k8aC5sZW5ndGg7aSsrKXt0
cnl7aWYoJC5zdmcuX3JlbmVzaXMpe3Rocm93J0ZvcmNlIHRyYXZlcnNhbCc7fWQuYXBwZW5kQ2hp
bGQobS5fc3ZnLm93bmVyRG9jdW1lbnQuaW1wb3J0Tm9kZShoW2ldLHRydWUpKTtpZihoW2ldLm5v
ZGVOYW1lPT0nc2NyaXB0Jyl7JC5nbG9iYWxFdmFsKGhbaV0udGV4dENvbnRlbnQpfX1jYXRjaChl
KXttLmFkZChkLGhbaV0pfX1pZighay5jaGFuZ2VTaXplKXttLmNvbmZpZ3VyZShkLHt3aWR0aDps
WzBdLGhlaWdodDpsWzFdfSl9aWYoay5vbkxvYWQpe2sub25Mb2FkLmFwcGx5KG0uX2NvbnRhaW5l
cnx8bS5fc3ZnLFttXSl9fTtpZihqLm1hdGNoKCc8c3ZnJykpe3AoJC5icm93c2VyLm1zaWU/byhq
KTpuZXcgRE9NUGFyc2VyKCkucGFyc2VGcm9tU3RyaW5nKGosJ3RleHQveG1sJykpfWVsc2V7JC5h
amF4KHt1cmw6aixkYXRhVHlwZTooJC5icm93c2VyLm1zaWU/J3RleHQnOid4bWwnKSxzdWNjZXNz
OmZ1bmN0aW9uKGEpe3AoJC5icm93c2VyLm1zaWU/byhhKTphKX0sZXJyb3I6ZnVuY3Rpb24oYSxi
LGMpe24oYisoYz8nICcrYy5tZXNzYWdlOicnKSl9fSl9cmV0dXJuIHRoaXN9LHJlbW92ZTpmdW5j
dGlvbihhKXthPShhLmpxdWVyeT9hWzBdOmEpO2EucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChhKTty
ZXR1cm4gdGhpc30sY2xlYXI6ZnVuY3Rpb24oYSl7aWYoYSl7dGhpcy5jb25maWd1cmUoe30sdHJ1
ZSl9d2hpbGUodGhpcy5fc3ZnLmZpcnN0Q2hpbGQpe3RoaXMuX3N2Zy5yZW1vdmVDaGlsZCh0aGlz
Ll9zdmcuZmlyc3RDaGlsZCl9cmV0dXJuIHRoaXN9LHRvU1ZHOmZ1bmN0aW9uKGEpe2E9YXx8dGhp
cy5fc3ZnO3JldHVybih0eXBlb2YgWE1MU2VyaWFsaXplcj09J3VuZGVmaW5lZCc/dGhpcy5fdG9T
VkcoYSk6bmV3IFhNTFNlcmlhbGl6ZXIoKS5zZXJpYWxpemVUb1N0cmluZyhhKSl9LF90b1NWRzpm
dW5jdGlvbihhKXt2YXIgYj0nJztpZighYSl7cmV0dXJuIGJ9aWYoYS5ub2RlVHlwZT09Myl7Yj1h
Lm5vZGVWYWx1ZX1lbHNlIGlmKGEubm9kZVR5cGU9PTQpe2I9JzwhW0NEQVRBWycrYS5ub2RlVmFs
dWUrJ11dPid9ZWxzZXtiPSc8JythLm5vZGVOYW1lO2lmKGEuYXR0cmlidXRlcyl7Zm9yKHZhciBp
PTA7aTxhLmF0dHJpYnV0ZXMubGVuZ3RoO2krKyl7dmFyIGM9YS5hdHRyaWJ1dGVzLml0ZW0oaSk7
aWYoISgkLnRyaW0oYy5ub2RlVmFsdWUpPT0nJ3x8Yy5ub2RlVmFsdWUubWF0Y2goL15cW29iamVj
dC8pfHxjLm5vZGVWYWx1ZS5tYXRjaCgvXmZ1bmN0aW9uLykpKXtiKz0nICcrKGMubmFtZXNwYWNl
VVJJPT0kLnN2Zy54bGlua05TPyd4bGluazonOicnKStjLm5vZGVOYW1lKyc9IicrYy5ub2RlVmFs
dWUrJyInfX19aWYoYS5maXJzdENoaWxkKXtiKz0nPic7dmFyIGQ9YS5maXJzdENoaWxkO3doaWxl
KGQpe2IrPXRoaXMuX3RvU1ZHKGQpO2Q9ZC5uZXh0U2libGluZ31iKz0nPC8nK2Eubm9kZU5hbWUr
Jz4nfWVsc2V7Yis9Jy8+J319cmV0dXJuIGJ9fSk7ZnVuY3Rpb24gU1ZHUGF0aCgpe3RoaXMuX3Bh
dGg9Jyd9JC5leHRlbmQoU1ZHUGF0aC5wcm90b3R5cGUse3Jlc2V0OmZ1bmN0aW9uKCl7dGhpcy5f
cGF0aD0nJztyZXR1cm4gdGhpc30sbW92ZTpmdW5jdGlvbih4LHksYSl7YT0oaXNBcnJheSh4KT95
OmEpO3JldHVybiB0aGlzLl9jb29yZHMoKGE/J20nOidNJykseCx5KX0sbGluZTpmdW5jdGlvbih4
LHksYSl7YT0oaXNBcnJheSh4KT95OmEpO3JldHVybiB0aGlzLl9jb29yZHMoKGE/J2wnOidMJyks
eCx5KX0saG9yaXo6ZnVuY3Rpb24oeCxhKXt0aGlzLl9wYXRoKz0oYT8naCc6J0gnKSsoaXNBcnJh
eSh4KT94LmpvaW4oJyAnKTp4KTtyZXR1cm4gdGhpc30sdmVydDpmdW5jdGlvbih5LGEpe3RoaXMu
X3BhdGgrPShhPyd2JzonVicpKyhpc0FycmF5KHkpP3kuam9pbignICcpOnkpO3JldHVybiB0aGlz
fSxjdXJ2ZUM6ZnVuY3Rpb24oYSxiLGMsZCx4LHksZSl7ZT0oaXNBcnJheShhKT9iOmUpO3JldHVy
biB0aGlzLl9jb29yZHMoKGU/J2MnOidDJyksYSxiLGMsZCx4LHkpfSxzbW9vdGhDOmZ1bmN0aW9u
KGEsYix4LHksYyl7Yz0oaXNBcnJheShhKT9iOmMpO3JldHVybiB0aGlzLl9jb29yZHMoKGM/J3Mn
OidTJyksYSxiLHgseSl9LGN1cnZlUTpmdW5jdGlvbihhLGIseCx5LGMpe2M9KGlzQXJyYXkoYSk/
YjpjKTtyZXR1cm4gdGhpcy5fY29vcmRzKChjPydxJzonUScpLGEsYix4LHkpfSxzbW9vdGhROmZ1
bmN0aW9uKHgseSxhKXthPShpc0FycmF5KHgpP3k6YSk7cmV0dXJuIHRoaXMuX2Nvb3JkcygoYT8n
dCc6J1QnKSx4LHkpfSxfY29vcmRzOmZ1bmN0aW9uKGEsYixjLGQsZSxmLGcpe2lmKGlzQXJyYXko
Yikpe2Zvcih2YXIgaT0wO2k8Yi5sZW5ndGg7aSsrKXt2YXIgaD1iW2ldO3RoaXMuX3BhdGgrPShp
PT0wP2E6JyAnKStoWzBdKycsJytoWzFdKyhoLmxlbmd0aDw0PycnOicgJytoWzJdKycsJytoWzNd
KyhoLmxlbmd0aDw2PycnOicgJytoWzRdKycsJytoWzVdKSl9fWVsc2V7dGhpcy5fcGF0aCs9YSti
KycsJytjKyhkPT1udWxsPycnOicgJytkKycsJytlKyhmPT1udWxsPycnOicgJytmKycsJytnKSl9
cmV0dXJuIHRoaXN9LGFyYzpmdW5jdGlvbihhLGIsYyxkLGUseCx5LGYpe2Y9KGlzQXJyYXkoYSk/
YjpmKTt0aGlzLl9wYXRoKz0oZj8nYSc6J0EnKTtpZihpc0FycmF5KGEpKXtmb3IodmFyIGk9MDtp
PGEubGVuZ3RoO2krKyl7dmFyIGc9YVtpXTt0aGlzLl9wYXRoKz0oaT09MD8nJzonICcpK2dbMF0r
JywnK2dbMV0rJyAnK2dbMl0rJyAnKyhnWzNdPycxJzonMCcpKycsJysoZ1s0XT8nMSc6JzAnKSsn
ICcrZ1s1XSsnLCcrZ1s2XX19ZWxzZXt0aGlzLl9wYXRoKz1hKycsJytiKycgJytjKycgJysoZD8n
MSc6JzAnKSsnLCcrKGU/JzEnOicwJykrJyAnK3grJywnK3l9cmV0dXJuIHRoaXN9LGNsb3NlOmZ1
bmN0aW9uKCl7dGhpcy5fcGF0aCs9J3onO3JldHVybiB0aGlzfSxwYXRoOmZ1bmN0aW9uKCl7cmV0
dXJuIHRoaXMuX3BhdGh9fSk7U1ZHUGF0aC5wcm90b3R5cGUubW92ZVRvPVNWR1BhdGgucHJvdG90
eXBlLm1vdmU7U1ZHUGF0aC5wcm90b3R5cGUubGluZVRvPVNWR1BhdGgucHJvdG90eXBlLmxpbmU7
U1ZHUGF0aC5wcm90b3R5cGUuaG9yaXpUbz1TVkdQYXRoLnByb3RvdHlwZS5ob3JpejtTVkdQYXRo
LnByb3RvdHlwZS52ZXJ0VG89U1ZHUGF0aC5wcm90b3R5cGUudmVydDtTVkdQYXRoLnByb3RvdHlw
ZS5jdXJ2ZUNUbz1TVkdQYXRoLnByb3RvdHlwZS5jdXJ2ZUM7U1ZHUGF0aC5wcm90b3R5cGUuc21v
b3RoQ1RvPVNWR1BhdGgucHJvdG90eXBlLnNtb290aEM7U1ZHUGF0aC5wcm90b3R5cGUuY3VydmVR
VG89U1ZHUGF0aC5wcm90b3R5cGUuY3VydmVRO1NWR1BhdGgucHJvdG90eXBlLnNtb290aFFUbz1T
VkdQYXRoLnByb3RvdHlwZS5zbW9vdGhRO1NWR1BhdGgucHJvdG90eXBlLmFyY1RvPVNWR1BhdGgu
cHJvdG90eXBlLmFyYztmdW5jdGlvbiBTVkdUZXh0KCl7dGhpcy5fcGFydHM9W119JC5leHRlbmQo
U1ZHVGV4dC5wcm90b3R5cGUse3Jlc2V0OmZ1bmN0aW9uKCl7dGhpcy5fcGFydHM9W107cmV0dXJu
IHRoaXN9LHN0cmluZzpmdW5jdGlvbihhKXt0aGlzLl9wYXJ0c1t0aGlzLl9wYXJ0cy5sZW5ndGhd
PVsndGV4dCcsYV07cmV0dXJuIHRoaXN9LHNwYW46ZnVuY3Rpb24oYSxiKXt0aGlzLl9wYXJ0c1t0
aGlzLl9wYXJ0cy5sZW5ndGhdPVsndHNwYW4nLGEsYl07cmV0dXJuIHRoaXN9LHJlZjpmdW5jdGlv
bihhLGIpe3RoaXMuX3BhcnRzW3RoaXMuX3BhcnRzLmxlbmd0aF09Wyd0cmVmJyxhLGJdO3JldHVy
biB0aGlzfSxwYXRoOmZ1bmN0aW9uKGEsYixjKXt0aGlzLl9wYXJ0c1t0aGlzLl9wYXJ0cy5sZW5n
dGhdPVsndGV4dHBhdGgnLGIsJC5leHRlbmQoe2hyZWY6YX0sY3x8e30pXTtyZXR1cm4gdGhpc319
KTskLmZuLnN2Zz1mdW5jdGlvbihhKXt2YXIgYj1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChh
cmd1bWVudHMsMSk7aWYodHlwZW9mIGE9PSdzdHJpbmcnJiZhPT0nZ2V0Jyl7cmV0dXJuICQuc3Zn
WydfJythKydTVkcnXS5hcHBseSgkLnN2ZyxbdGhpc1swXV0uY29uY2F0KGIpKX1yZXR1cm4gdGhp
cy5lYWNoKGZ1bmN0aW9uKCl7aWYodHlwZW9mIGE9PSdzdHJpbmcnKXskLnN2Z1snXycrYSsnU1ZH
J10uYXBwbHkoJC5zdmcsW3RoaXNdLmNvbmNhdChiKSl9ZWxzZXskLnN2Zy5fYXR0YWNoU1ZHKHRo
aXMsYXx8e30pfX0pfTtmdW5jdGlvbiBpc0FycmF5KGEpe3JldHVybihhJiZhLmNvbnN0cnVjdG9y
PT1BcnJheSl9JC5zdmc9bmV3IFNWR01hbmFnZXIoKX0pKGpRdWVyeSk7IAovKiBodHRwOi8va2Vp
dGgtd29vZC5uYW1lL3N2Zy5odG1sCiAgIGpRdWVyeSBET00gY29tcGF0aWJpbGl0eSBmb3IgalF1
ZXJ5IFNWRyB2MS40LjUuCiAgIFdyaXR0ZW4gYnkgS2VpdGggV29vZCAoa2J3b29ke2F0fWlpbmV0
LmNvbS5hdSkgQXByaWwgMjAwOS4KICAgRHVhbCBsaWNlbnNlZCB1bmRlciB0aGUgR1BMIChodHRw
Oi8vZGV2LmpxdWVyeS5jb20vYnJvd3Nlci90cnVuay9qcXVlcnkvR1BMLUxJQ0VOU0UudHh0KSBh
bmQKICAgTUlUIChodHRwOi8vZGV2LmpxdWVyeS5jb20vYnJvd3Nlci90cnVuay9qcXVlcnkvTUlU
LUxJQ0VOU0UudHh0KSBsaWNlbnNlcy4KICAgUGxlYXNlIGF0dHJpYnV0ZSB0aGUgYXV0aG9yIGlm
IHlvdSB1c2UgaXQuICovCihmdW5jdGlvbigkKXskLmZuLmFkZENsYXNzPWZ1bmN0aW9uKGUpe3Jl
dHVybiBmdW5jdGlvbihkKXtkPWR8fCcnO3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXtpZigk
LnN2Zy5pc1NWR0VsZW0odGhpcykpe3ZhciBjPXRoaXM7JC5lYWNoKGQuc3BsaXQoL1xzKy8pLGZ1
bmN0aW9uKGksYSl7dmFyIGI9KGMuY2xhc3NOYW1lP2MuY2xhc3NOYW1lLmJhc2VWYWw6Yy5nZXRB
dHRyaWJ1dGUoJ2NsYXNzJykpO2lmKCQuaW5BcnJheShhLGIuc3BsaXQoL1xzKy8pKT09LTEpe2Ir
PShiPycgJzonJykrYTsoYy5jbGFzc05hbWU/Yy5jbGFzc05hbWUuYmFzZVZhbD1iOmMuc2V0QXR0
cmlidXRlKCdjbGFzcycsYikpfX0pfWVsc2V7ZS5hcHBseSgkKHRoaXMpLFtkXSl9fSl9fSgkLmZu
LmFkZENsYXNzKTskLmZuLnJlbW92ZUNsYXNzPWZ1bmN0aW9uKGUpe3JldHVybiBmdW5jdGlvbihk
KXtkPWR8fCcnO3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXtpZigkLnN2Zy5pc1NWR0VsZW0o
dGhpcykpe3ZhciBjPXRoaXM7JC5lYWNoKGQuc3BsaXQoL1xzKy8pLGZ1bmN0aW9uKGksYSl7dmFy
IGI9KGMuY2xhc3NOYW1lP2MuY2xhc3NOYW1lLmJhc2VWYWw6Yy5nZXRBdHRyaWJ1dGUoJ2NsYXNz
JykpO2I9JC5ncmVwKGIuc3BsaXQoL1xzKy8pLGZ1bmN0aW9uKG4saSl7cmV0dXJuIG4hPWF9KS5q
b2luKCcgJyk7KGMuY2xhc3NOYW1lP2MuY2xhc3NOYW1lLmJhc2VWYWw9YjpjLnNldEF0dHJpYnV0
ZSgnY2xhc3MnLGIpKX0pfWVsc2V7ZS5hcHBseSgkKHRoaXMpLFtkXSl9fSl9fSgkLmZuLnJlbW92
ZUNsYXNzKTskLmZuLnRvZ2dsZUNsYXNzPWZ1bmN0aW9uKGMpe3JldHVybiBmdW5jdGlvbihhLGIp
e3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXtpZigkLnN2Zy5pc1NWR0VsZW0odGhpcykpe2lm
KHR5cGVvZiBiIT09J2Jvb2xlYW4nKXtiPSEkKHRoaXMpLmhhc0NsYXNzKGEpfSQodGhpcylbKGI/
J2FkZCc6J3JlbW92ZScpKydDbGFzcyddKGEpfWVsc2V7Yy5hcHBseSgkKHRoaXMpLFthLGJdKX19
KX19KCQuZm4udG9nZ2xlQ2xhc3MpOyQuZm4uaGFzQ2xhc3M9ZnVuY3Rpb24oZCl7cmV0dXJuIGZ1
bmN0aW9uKGIpe2I9Ynx8Jyc7dmFyIGM9ZmFsc2U7dGhpcy5lYWNoKGZ1bmN0aW9uKCl7aWYoJC5z
dmcuaXNTVkdFbGVtKHRoaXMpKXt2YXIgYT0odGhpcy5jbGFzc05hbWU/dGhpcy5jbGFzc05hbWUu
YmFzZVZhbDp0aGlzLmdldEF0dHJpYnV0ZSgnY2xhc3MnKSkuc3BsaXQoL1xzKy8pO2M9KCQuaW5B
cnJheShiLGEpPi0xKX1lbHNle2M9KGQuYXBwbHkoJCh0aGlzKSxbYl0pKX1yZXR1cm4hY30pO3Jl
dHVybiBjfX0oJC5mbi5oYXNDbGFzcyk7JC5mbi5hdHRyPWZ1bmN0aW9uKGgpe3JldHVybiBmdW5j
dGlvbihiLGMsZCl7aWYodHlwZW9mIGI9PT0nc3RyaW5nJyYmYz09PXVuZGVmaW5lZCl7dmFyIGU9
aC5hcHBseSh0aGlzLFtiXSk7aWYoZSYmZS5iYXNlVmFsJiZlLmJhc2VWYWwubnVtYmVyT2ZJdGVt
cyE9bnVsbCl7Yz0nJztlPWUuYmFzZVZhbDtpZihiPT0ndHJhbnNmb3JtJyl7Zm9yKHZhciBpPTA7
aTxlLm51bWJlck9mSXRlbXM7aSsrKXt2YXIgZj1lLmdldEl0ZW0oaSk7c3dpdGNoKGYudHlwZSl7
Y2FzZSAxOmMrPScgbWF0cml4KCcrZi5tYXRyaXguYSsnLCcrZi5tYXRyaXguYisnLCcrZi5tYXRy
aXguYysnLCcrZi5tYXRyaXguZCsnLCcrZi5tYXRyaXguZSsnLCcrZi5tYXRyaXguZisnKSc7YnJl
YWs7Y2FzZSAyOmMrPScgdHJhbnNsYXRlKCcrZi5tYXRyaXguZSsnLCcrZi5tYXRyaXguZisnKSc7
YnJlYWs7Y2FzZSAzOmMrPScgc2NhbGUoJytmLm1hdHJpeC5hKycsJytmLm1hdHJpeC5kKycpJzti
cmVhaztjYXNlIDQ6Yys9JyByb3RhdGUoJytmLmFuZ2xlKycpJzticmVhaztjYXNlIDU6Yys9JyBz
a2V3WCgnK2YuYW5nbGUrJyknO2JyZWFrO2Nhc2UgNjpjKz0nIHNrZXdZKCcrZi5hbmdsZSsnKSc7
YnJlYWt9fWU9Yy5zdWJzdHJpbmcoMSl9ZWxzZXtlPWUuZ2V0SXRlbSgwKS52YWx1ZUFzU3RyaW5n
fX1yZXR1cm4oZSYmZS5iYXNlVmFsP2UuYmFzZVZhbC52YWx1ZUFzU3RyaW5nOmUpfXZhciBnPWI7
aWYodHlwZW9mIGI9PT0nc3RyaW5nJyl7Zz17fTtnW2JdPWN9cmV0dXJuIHRoaXMuZWFjaChmdW5j
dGlvbigpe2lmKCQuc3ZnLmlzU1ZHRWxlbSh0aGlzKSl7Zm9yKHZhciBuIGluIGcpe3ZhciBhPSgk
LmlzRnVuY3Rpb24oZ1tuXSk/Z1tuXSgpOmdbbl0pOyhkP3RoaXMuc3R5bGVbbl09YTp0aGlzLnNl
dEF0dHJpYnV0ZShuLGEpKX19ZWxzZXtoLmFwcGx5KCQodGhpcyksW2IsYyxkXSl9fSl9fSgkLmZu
LmF0dHIpOyQuZm4ucmVtb3ZlQXR0cj1mdW5jdGlvbihiKXtyZXR1cm4gZnVuY3Rpb24oYSl7cmV0
dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe2lmKCQuc3ZnLmlzU1ZHRWxlbSh0aGlzKSl7KHRoaXNb
YV0mJnRoaXNbYV0uYmFzZVZhbD90aGlzW2FdLmJhc2VWYWwudmFsdWU9Jyc6dGhpcy5zZXRBdHRy
aWJ1dGUoYSwnJykpfWVsc2V7Yi5hcHBseSgkKHRoaXMpLFthXSl9fSl9fSgkLmZuLnJlbW92ZUF0
dHIpOyQuZXh0ZW5kKCQuY3NzTnVtYmVyLHsnc3RvcE9wYWNpdHknOnRydWUsJ3N0cm9rZU1pdHJl
bGltaXQnOnRydWUsJ3N0cm9rZU9wYWNpdHknOnRydWV9KTtpZigkLmNzc1Byb3BzKXskLmNzcz1m
dW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24oYSxiLGMpe3ZhciBkPShiLm1hdGNoKC9ec3ZnLiov
KT8kKGEpLmF0dHIoJC5jc3NQcm9wc1tiXXx8Yik6JycpO3JldHVybiBkfHxlKGEsYixjKX19KCQu
Y3NzKX1mdW5jdGlvbiBhbnlTVkcoYSl7Zm9yKHZhciBpPTA7aTxhLmxlbmd0aDtpKyspe2lmKGFb
aV0ubm9kZVR5cGU9PTEmJmFbaV0ubmFtZXNwYWNlVVJJPT0kLnN2Zy5zdmdOUyl7cmV0dXJuIHRy
dWV9fXJldHVybiBmYWxzZX0kLmV4cHIucmVsYXRpdmVbJysnXT1mdW5jdGlvbihkKXtyZXR1cm4g
ZnVuY3Rpb24oYSxiLGMpe2QoYSxiLGN8fGFueVNWRyhhKSl9fSgkLmV4cHIucmVsYXRpdmVbJysn
XSk7JC5leHByLnJlbGF0aXZlWyc+J109ZnVuY3Rpb24oZCl7cmV0dXJuIGZ1bmN0aW9uKGEsYixj
KXtkKGEsYixjfHxhbnlTVkcoYSkpfX0oJC5leHByLnJlbGF0aXZlWyc+J10pOyQuZXhwci5yZWxh
dGl2ZVsnJ109ZnVuY3Rpb24oZCl7cmV0dXJuIGZ1bmN0aW9uKGEsYixjKXtkKGEsYixjfHxhbnlT
VkcoYSkpfX0oJC5leHByLnJlbGF0aXZlWycnXSk7JC5leHByLnJlbGF0aXZlWyd+J109ZnVuY3Rp
b24oZCl7cmV0dXJuIGZ1bmN0aW9uKGEsYixjKXtkKGEsYixjfHxhbnlTVkcoYSkpfX0oJC5leHBy
LnJlbGF0aXZlWyd+J10pOyQuZXhwci5maW5kLklEPWZ1bmN0aW9uKGQpe3JldHVybiBmdW5jdGlv
bihhLGIsYyl7cmV0dXJuKCQuc3ZnLmlzU1ZHRWxlbShiKT9bYi5vd25lckRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKGFbMV0pXTpkKGEsYixjKSl9fSgkLmV4cHIuZmluZC5JRCk7dmFyIGo9ZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7ai5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVDb21t
ZW50KCcnKSk7aWYoai5nZXRFbGVtZW50c0J5VGFnTmFtZSgnKicpLmxlbmd0aD4wKXskLmV4cHIu
ZmluZC5UQUc9ZnVuY3Rpb24oYSxiKXt2YXIgYz1iLmdldEVsZW1lbnRzQnlUYWdOYW1lKGFbMV0p
O2lmKGFbMV09PT0nKicpe3ZhciBkPVtdO2Zvcih2YXIgaT0wO2NbaV18fGMuaXRlbShpKTtpKysp
e2lmKChjW2ldfHxjLml0ZW0oaSkpLm5vZGVUeXBlPT09MSl7ZC5wdXNoKGNbaV18fGMuaXRlbShp
KSl9fWM9ZH1yZXR1cm4gY319JC5leHByLnByZUZpbHRlci5DTEFTUz1mdW5jdGlvbihhLGIsYyxk
LGYsZyl7YT0nICcrYVsxXS5yZXBsYWNlKC9cXC9nLCcnKSsnICc7aWYoZyl7cmV0dXJuIGF9Zm9y
KHZhciBpPTAsZWxlbT17fTtlbGVtIT1udWxsO2krKyl7ZWxlbT1iW2ldO2lmKCFlbGVtKXt0cnl7
ZWxlbT1iLml0ZW0oaSl9Y2F0Y2goZSl7fX1pZihlbGVtKXt2YXIgaD0oISQuc3ZnLmlzU1ZHRWxl
bShlbGVtKT9lbGVtLmNsYXNzTmFtZTooZWxlbS5jbGFzc05hbWU/ZWxlbS5jbGFzc05hbWUuYmFz
ZVZhbDonJyl8fGVsZW0uZ2V0QXR0cmlidXRlKCdjbGFzcycpKTtpZihmXihoJiYoJyAnK2grJyAn
KS5pbmRleE9mKGEpPi0xKSl7aWYoIWMpZC5wdXNoKGVsZW0pfWVsc2UgaWYoYyl7YltpXT1mYWxz
ZX19fXJldHVybiBmYWxzZX07JC5leHByLmZpbHRlci5DTEFTUz1mdW5jdGlvbihhLGIpe3ZhciBj
PSghJC5zdmcuaXNTVkdFbGVtKGEpP2EuY2xhc3NOYW1lOihhLmNsYXNzTmFtZT9hLmNsYXNzTmFt
ZS5iYXNlVmFsOmEuZ2V0QXR0cmlidXRlKCdjbGFzcycpKSk7cmV0dXJuKCcgJytjKycgJykuaW5k
ZXhPZihiKT4tMX07JC5leHByLmZpbHRlci5BVFRSPWZ1bmN0aW9uKGcpe3JldHVybiBmdW5jdGlv
bihjLGQpe3ZhciBlPW51bGw7aWYoJC5zdmcuaXNTVkdFbGVtKGMpKXtlPWRbMV07JC5leHByLmF0
dHJIYW5kbGVbZV09ZnVuY3Rpb24oYSl7dmFyIGI9YS5nZXRBdHRyaWJ1dGUoZSk7cmV0dXJuIGIm
JmIuYmFzZVZhbHx8Yn19dmFyIGY9ZyhjLGQpO2lmKGUpeyQuZXhwci5hdHRySGFuZGxlW2VdPW51
bGx9cmV0dXJuIGZ9fSgkLmV4cHIuZmlsdGVyLkFUVFIpfSkoalF1ZXJ5KTsgCi8qKgpUaGlzIG1v
ZHVsZSBwcm92aWRlcyBjbGFzc2VzIGZvciB0aGUgcGFyc2luZyBvZiBhIEpTT04gZGVzY3JpYmlu
ZwphIGZhdXN0IGludGVyZmFjZSBhbmQgdGhlIHJlYWxpemF0aW9uIG9mIHRoYXQgaW50ZXJmYWNl
IGluIFNWRy4KCkl0IGFsc28gYWxsb3dzIGZvciBpbnRlcmFjdGlvbiBiZXR3ZWVuIHRoaXMgaW50
ZXJmYWNlIGFuZCBhIHNlcnZlci4KCkBtb2R1bGUgRmF1c3QgV2ViIFVJCkBtYWluIEZhdXN0IFdl
YiBVSQoqKi8KCi8qKgpFeHRlbnNpb24gb2YgdGhlIEphdmFTY3JpcHQgU3RyaW5nIGNsYXNzLgoK
QGNsYXNzIFN0cmluZwpAZm9yCkBjb25zdHJ1Y3RvcgoqKi8KCi8qKgpGb3JtYXRzIGEgc3RyaW5n
IGluIGEgcHl0aG9uaWMgd2F5LiAgU2VlCmh0dHA6Ly9kb2NzLnB5dGhvbi5vcmcvMi9saWJyYXJ5
L3N0cmluZy5odG1sLgoKQG1ldGhvZCBmb3JtYXQKQGZvciBTdHJpbmcKQHBhcmFtIHtBcnJheX0g
YXJncyBUaGUgYXJndW1lbnRzIHRvIGJlIGluc2VydGVkIGludG8gdGhlIHN0cmluZy4KQHJldHVy
biB7U3RyaW5nfSBUaGUgZm9ybWF0dGVkIHN0cmluZy4KKiovClN0cmluZy5wcm90b3R5cGUuZm9y
bWF0ID0gZnVuY3Rpb24gKGFyZ3MpIHsKICB2YXIgc3RyID0gdGhpczsKICByZXR1cm4gc3RyLnJl
cGxhY2UoU3RyaW5nLnByb3RvdHlwZS5mb3JtYXRfcmVnZXgsIGZ1bmN0aW9uKGl0ZW0pIHsKICAg
IHZhciBpbnRWYWwgPSBwYXJzZUludChpdGVtLnN1YnN0cmluZygxLCBpdGVtLmxlbmd0aCAtIDEp
KTsKICAgIHZhciByZXBsYWNlOwogICAgaWYgKGludFZhbCA+PSAwKSB7CiAgICAgIHJlcGxhY2Ug
PSBhcmdzW2ludFZhbF07CiAgICB9CiAgICBlbHNlIGlmIChpbnRWYWwgPT09IC0xKSB7CiAgICAg
IHJlcGxhY2UgPSAieyI7CiAgICB9CiAgICBlbHNlIGlmIChpbnRWYWwgPT09IC0yKSB7CiAgICAg
IHJlcGxhY2UgPSAifSI7CiAgICB9CiAgICBlbHNlIHsKICAgICAgcmVwbGFjZSA9ICIiOwogICAg
fQogICAgcmV0dXJuIHJlcGxhY2U7CiAgfSk7Cn0KCi8qKgpUaGUgcmVndWxhciBleHByZXNzaW9u
IHVzZWQgdG8gZmluZCB0aGUgaW5zZXJ0aW9uIHBvaW50cwppbiBhIHN0cmluZyB0aGF0IG5lZWRz
IGZvcm1hdHRpbmcuCgpAcHJvcGVydHkgZm9ybWF0X3JlZ2V4CkBmb3IgU3RyaW5nCkB0eXBlIFJl
Z0V4cAoqKi8KU3RyaW5nLnByb3RvdHlwZS5mb3JtYXRfcmVnZXggPSBuZXcgUmVnRXhwKCJ7LT9b
MC05XSt9IiwgImciKTsKCi8qKgpFeHRlbnNpb24gb2YgdGhlIEphdmFTY3JpcHQgQXJyYXkgY2xh
c3MuCgpAY2xhc3MgQXJyYXkKQGZvcgpAY29uc3RydWN0b3IKKiovCgovKioKRmluZHMgdGhlIG1h
eGltdW0gb2YgYSBudW1lcmljYWwgYXJyYXkuCgpAbWV0aG9kIG1heApAZm9yIEFycmF5CkByZXR1
cm4ge051bWJlcn0gVGhlIG1heGltdW0gb2YgdGhlIGFycmF5LgoqKi8KQXJyYXkucHJvdG90eXBl
Lm1heCA9IGZ1bmN0aW9uKCkgewogIHZhciBtYXggPSB0aGlzWzBdOwogIHZhciBsZW4gPSB0aGlz
Lmxlbmd0aDsKICBmb3IgKHZhciBpID0gMTsgaSA8IGxlbjsgaSsrKSB7CiAgICBpZiAodGhpc1tp
XSA+IG1heCkgewogICAgICBtYXggPSB0aGlzW2ldOwogICAgfQogIH0KICByZXR1cm4gbWF4Owp9
CgovKioKRmluZHMgdGhlIG1pbmltdW0gb2YgYSBudW1lcmljYWwgYXJyYXkuCgpAbWV0aG9kIG1p
bgpAZm9yIEFycmF5CkByZXR1cm4ge051bWJlcn0gVGhlIG1pbmltdW0gb2YgdGhlIGFycmF5Lgoq
Ki8KQXJyYXkucHJvdG90eXBlLm1pbiA9IGZ1bmN0aW9uKCkgewogIHZhciBtaW4gPSB0aGlzWzBd
OwogIHZhciBsZW4gPSB0aGlzLmxlbmd0aDsKICBmb3IgKHZhciBpID0gMTsgaSA8IGxlbjsgaSsr
KSB7CiAgICBpZiAodGhpc1tpXSA8IG1pbikgewogICAgICBtaW4gPSB0aGlzW2ldOwogICAgfQog
IH0KICByZXR1cm4gbWluOwp9CgovKioKRmluZHMgdGhlIHN1bSBvZiBhIG51bWVyaWNhbCBhcnJh
eS4KCkBtZXRob2Qgc3VtCkBmb3IgQXJyYXkKQHJldHVybiB7TnVtYmVyfSBUaGUgc3VtIG9mIHRo
ZSBhcnJheS4KKiovCkFycmF5LnByb3RvdHlwZS5zdW0gPSBmdW5jdGlvbigpIHsKICB2YXIgc3Vt
ID0gMDsKICBmb3IodmFyIGkgPSAwOyBpIDwgdGhpcy5sZW5ndGg7IGkrKykgewogICAgc3VtICs9
IHRoaXNbaV07CiAgfQogIHJldHVybiBzdW07Cn0KCi8qKgpQcm92aWRlcyB0aGUgYmFzZSBjbGFz
cyBmb3IgdGhlIGNyZWF0aW9uIG9mIGEgX2Y0dSR0IFVJLgpJdCBmdW5jdGlvbnMgbW9yZSBsaWtl
IGEgbmFtZXNwYWNlIHRoYW4gYW4gb2JqZWN0LCBzbyBpdApkb2VzIG5vdCBoYXZlIGEgY29uc3Ry
dWN0ZXIgYW5kIG9ubHkgY29udGFpbnMgY2xhc3NlcyBhbmQKc3RhdGljIG1ldGhvZHMuCgpAY2xh
c3MgX2Y0dSR0CkBzdGF0aWMKKiovCnZhciBfZjR1JHQgPSB7fTsKCi8qKgpFc3RpbWF0aW9uIG9m
IHRleHQgaGVpZ2h0IGluIGxheW91dCBjb21wdXRhdGlvbnMuCgpAcHJvcGVydHkgVEVYVF9IRUlH
SFQKQGZvciBfZjR1JHQKQHR5cGUgTnVtYmVyCkBkZWZhdWx0IDIwCioqLwpfZjR1JHQuVEVYVF9I
RUlHSFQgPSAyMDsKCi8qKgpQYWRkaW5nIGJldHdlZW4gdGV4dCBhbmQgb3RoZXIgb2JqZWN0cy4K
CkBwcm9wZXJ0eSBURVhUX1BBRERJTkcKQGZvciBfZjR1JHQKQHR5cGUgTnVtYmVyCkBkZWZhdWx0
IDEwCioqLwpfZjR1JHQuVEVYVF9QQURESU5HID0gMTA7CgovKioKV2lkdGggb2YgdmFsdWUgYm94
ZXMuCgpAcHJvcGVydHkgVkFMVUVfQk9YX1cKQGZvciBfZjR1JHQKQHR5cGUgTnVtYmVyCkBkZWZh
dWx0IDYwCioqLwpfZjR1JHQuVkFMVUVfQk9YX1cgPSA2MDsKCi8qKgpIZWlnaHQgb2YgdmFsdWUg
Ym94ZXMuCgpAcHJvcGVydHkgVkFMVUVfQk9YX0gKQGZvciBfZjR1JHQKQHR5cGUgTnVtYmVyCkBk
ZWZhdWx0IDIwCioqLwpfZjR1JHQuVkFMVUVfQk9YX0ggPSBfZjR1JHQuVEVYVF9IRUlHSFQ7Cgov
KioKUGFkZGluZyBiZXR3ZWVuIHRoZSBib3R0b20gb2YgdGhlIHNwYWNlIGFuIG9iamVjdCBvY2N1
cGllcwphbmQgaXRzIHRleHQtYm94LgoKQHByb3BlcnR5IFRFWFRfQk9YX1BBRERJTkcKQGZvciBf
ZjR1JHQKQHR5cGUgTnVtYmVyCkBkZWZhdWx0IDMKKiovCl9mNHUkdC5URVhUX0JPWF9QQURESU5H
ID0gMzsKCi8vIHNvbWUgY29udmVuaWVuY2UgbWV0aG9kcyBmb3IgaW5oZXJpdGVuY2UKCi8qKgpV
c2VkIGFzIGEgcGxhY2Vob2xkZXIgdG8gZGVmaW5lIGNvbnN0cnVjdG9ycyB2aWEKX2Y0dSR0LmV4
dGVuZAoKQG1ldGhvZCBzdXJyb2dhdGVDdG9yCkBmb3IgX2Y0dSR0CkBzdGF0aWMKKiovCl9mNHUk
dC5zdXJyb2dhdGVDdG9yID0gZnVuY3Rpb24oKSB7fQoKLyoqClVzZWQgdG8gbWFrZSBvbmUgY2xh
c3MgaW5oZXJpdCBmcm9tIGFub3RoZXIuCgpAbWV0aG9kIGV4dGVuZApAZm9yIF9mNHUkdApAc3Rh
dGljCkBwYXJhbSB7T2JqZWN0fSBiYXNlIFRoZSBiYXNlIGNsYXNzIHRvIGJlIGluaGVyaXRlZCBm
cm9tLgpAcGFyYW0ge09iamVjdH0gc3ViIFRoZSBjbGFzcyBkb2luZyB0aGUgaW5oZXJpdGluZy4K
KiovCl9mNHUkdC5leHRlbmQgPSBmdW5jdGlvbihiYXNlLCBzdWIpIHsKICAvLyBDb3B5IHRoZSBw
cm90b3R5cGUgZnJvbSB0aGUgYmFzZSB0byBzZXR1cCBpbmhlcml0YW5jZQogIF9mNHUkdC5zdXJy
b2dhdGVDdG9yLnByb3RvdHlwZSA9IGJhc2UucHJvdG90eXBlOwogIHN1Yi5wcm90b3R5cGUgPSBu
ZXcgX2Y0dSR0LnN1cnJvZ2F0ZUN0b3IoKTsKICAvLyBSZW1lbWJlciB0aGUgY29uc3RydWN0b3Ig
cHJvcGVydHkgd2FzIHNldCB3cm9uZywgbGV0J3MgZml4IGl0CiAgc3ViLnByb3RvdHlwZS5jb25z
dHJ1Y3RvciA9IHN1YjsKfQoKLyoqCklkZW50aXR5IGZ1bmN0aW9uLgoKQG1ldGhvZCBpZGVudGl0
eQpAZm9yIF9mNHUkdApAc3RhdGljCkBwYXJhbSB7T2JqZWN0fSB2YWx1ZSBUaGUgdmFsdWUgdG8g
cmV0dXJuCkByZXR1cm4ge09iamVjdH0gVGhlIGlucHV0IHZhbHVlCioqLwpfZjR1JHQuaWRlbnRp
dHkgPSBmdW5jdGlvbih2YWx1ZSkgewogIHJldHVybiB2YWx1ZTsKfQoKLyoqCkVudW0tbGlrZSBj
b25zdGFudCBmb3IgdGhlIFggYXhpcy4KCkBwcm9wZXJ0eSBYX0FYSVMKQGZvciBfZjR1JHQKQHR5
cGUgTnVtYmVyCkBkZWZhdWx0IDAKKiovCl9mNHUkdC5YX0FYSVMgPSAwOwoKLyoqCkVudW0tbGlr
ZSBjb25zdGFudCBmb3IgdGhlIFkgYXhpcy4KCkBwcm9wZXJ0eSBZX0FYSVMKQGZvciBfZjR1JHQK
QHR5cGUgTnVtYmVyCkBkZWZhdWx0IDEKKiovCl9mNHUkdC5ZX0FYSVMgPSAxOwoKLyoqCkVudW0t
bGlrZSBjb25zdGFudCBmb3Igbm8gYXhlcyBsZWZ0IHRvIGNvbnN1bHQsCnVzZWQgaW4gaXRlcmF0
aW5nLgoKQHByb3BlcnR5IE5PX0FYRVMKQGZvciBfZjR1JHQKQHR5cGUgTnVtYmVyCkBkZWZhdWx0
IDIKKiovCl9mNHUkdC5OT19BWEVTID0gMjsKCi8qKgpFbnVtLWxpa2UgY29uc3RhbnQgZm9yIHRo
ZSBsZWZ0IHNpZGUuCgpAcHJvcGVydHkgTEVGVApAZm9yIF9mNHUkdApAdHlwZSBOdW1iZXIKQGRl
ZmF1bHQgLTEKKiovCl9mNHUkdC5MRUZUID0gLTE7CgovKioKRW51bS1saWtlIGNvbnN0YW50IGZv
ciB0aGUgcmlnaHQgc2lkZS4KCkBwcm9wZXJ0eSBSSUdIVApAZm9yIF9mNHUkdApAdHlwZSBOdW1i
ZXIKQGRlZmF1bHQgMQoqKi8KX2Y0dSR0LlJJR0hUID0gMTsKCi8qKgpFbnVtLWxpa2UgY29uc3Rh
bnQgZm9yIHRoZSB1cCBzaWRlLgoKQHByb3BlcnR5IFVQCkBmb3IgX2Y0dSR0CkB0eXBlIE51bWJl
cgpAZGVmYXVsdCAtMQoqKi8KX2Y0dSR0LlVQID0gLTE7CgovKioKRW51bS1saWtlIGNvbnN0YW50
IGZvciB0aGUgZG93biBzaWRlLgoKQHByb3BlcnR5IERPV04KQGZvciBfZjR1JHQKQHR5cGUgTnVt
YmVyCkBkZWZhdWx0IDEKKiovCl9mNHUkdC5ET1dOID0gMTsKX2Y0dSR0LkNFTlRFUiA9IDA7Cgov
KioKUmVwcmVzZW50YXRpb24gb2Ygbm9uZSwgbnVsbCwgdGhlIGFieXNzLCB0aGUgZXRoZXIsIGV0
Yy4uCgpAcHJvcGVydHkgTlVMTApAZm9yIF9mNHUkdApAZGVmYXVsdCBudWxsCioqLwpfZjR1JHQu
Tk9ORSA9IG51bGw7CgovKioKUkdCIHZhbHVlIG9mIHRoZSBjb2xvciBibGFjayBpbiBhbiBhcnJh
eS4KCkBmb3IgX2Y0dSR0CkBwcm9wZXJ0eSBCTEFDSwpAdHlwZSBBcnJheQpAZGVmYXVsdCBbMCww
LDBdCioqLwpfZjR1JHQuQkxBQ0sgPSBbMCwwLDBdOwoKLyoqClJHQiB2YWx1ZSBvZiB0aGUgY29s
b3Igd2hpdGUgaW4gYW4gYXJyYXkuCgpAcHJvcGVydHkgV0hJVEUKQGZvciBfZjR1JHQKQHR5cGUg
QXJyYXkKQGRlZmF1bHQgWzI1NSwyNTUsMjU1XQoqKi8KX2Y0dSR0LldISVRFID0gWzI1NSwyNTUs
MjU1XTsKCi8qKgpSR0IgdmFsdWUgb2YgdGhlIGNvbG9yIGN5YW4gaW4gYW4gYXJyYXkuCgpAcHJv
cGVydHkgQ1lBTgpAZm9yIF9mNHUkdApAdHlwZSBBcnJheQpAZGVmYXVsdCBbMCwyNTUsMjU1XQoq
Ki8KX2Y0dSR0LkNZQU4gPSBbMCwyNTUsMjU1XTsKCi8qKgpSR0IgdmFsdWUgb2YgdGhlIGNvbG9y
IGN5YW4gaW4gYW4gYXJyYXkuCgovKioKUkdCIHZhbHVlIG9mIHRoZSBjb2xvciBncmV5IGluIGFu
IGFycmF5LgoKQHByb3BlcnR5IEdSRVkKQGZvciBfZjR1JHQKQHR5cGUgQXJyYXkKQGRlZmF1bHQg
WzEwMCwxMDAsMTAwXQoqKi8KX2Y0dSR0LkdSRVkgPSBbMTAwLDEwMCwxMDBdOwoKLyoqClJHQiB2
YWx1ZSBvZiB0aGUgY29sb3IgcGluayBpbiBhbiBhcnJheS4KCkBwcm9wZXJ0eSBQSU5LCkBmb3Ig
X2Y0dSR0CkB0eXBlIEFycmF5CkBkZWZhdWx0IFsyMzMsMTUwLDEyMl0KKiovCl9mNHUkdC5QSU5L
ID0gWzIzMywxNTAsMTIyXTsKCi8qKgpSR0IgdmFsdWUgb2YgdGhlIGNvbG9yIGdyZWVuIGluIGFu
IGFycmF5LgoKQHByb3BlcnR5IEdSRUVOCkBmb3IgX2Y0dSR0CkB0eXBlIEFycmF5CkBkZWZhdWx0
IFsxNzMsMjU1LDQ3XQoqKi8KX2Y0dSR0LkdSRUVOID0gWzE3MywyNTUsNDddOwoKLyoqClJHQiB2
YWx1ZSBvZiB0aGUgY29sb3Iga2VybWl0IGluIGFuIGFycmF5LgoKQHByb3BlcnR5IEtFUk1JVApA
Zm9yIF9mNHUkdApAdHlwZSBBcnJheQpAZGVmYXVsdCBbNDcsMjQzLDE2MF0KKiovCl9mNHUkdC5L
RVJNSVQgPSBbNDcsMjQzLDE2MF07CgovKioKUkdCIHZhbHVlIG9mIHRoZSBjb2xvciBwYWxlIGdy
ZWVuIGluIGFuIGFycmF5LgoKQHByb3BlcnR5IFBBTEVHUkVFTgpAZm9yIF9mNHUkdApAdHlwZSBB
cnJheQpAZGVmYXVsdCBbMTUyLDI1MSwxNTJdCioqLwpfZjR1JHQuUEFMRUdSRUVOID0gWzE1Miwy
NTEsMTUyXTsKCi8vIElOVEVSQUNUSU9OIFdJVEggVEhFIFVJCgovKioKSW5mb3JtYXRpb24gYWJv
dXQgdGhlIGN1cnJlbnQgb2JqZWN0cyBiZWluZwppbnRlcmFjdGVkIHdpdGguICBIb2xkcyBzdWJw
cm9wZXJ0aWVzIGlkLCBtb3ZlZAphbmQgdmFsdWUuCgpAcHJvcGVydHkgX0kKQGZvciBfZjR1JHQK
QHR5cGUgT2JqZWN0CkBkZWZhdWx0IHt9CioqLwpfZjR1JHQuX0kgPSB7fTsKCi8qKgpJZCBvZiB0
aGUgY3VycmVudCB2YWx1ZSBib3ggaW50ZXJhY3RlZCB3aXRoLgoKQHByb3BlcnR5IF9OCkBmb3Ig
X2Y0dSR0CkB0eXBlIFN0cmluZwpAZGVmYXVsdCAiIgoqKi8KX2Y0dSR0Ll9OID0gIiI7CgovKgog
KiBTRVJWRVIgSU5URVJBQ1RJT04KICovCgovKioKT2JqZWN0IHRoYXQgcGFpcnMgcGF0aHMgb2Yg
b2JqZWN0cyBvbiB0aGUgc2VydmVyCndpdGggRE9NIGlkcy4KCkBwcm9wZXJ0eSBQQVRIU19UT19J
RFMKQGZvciBfZjR1JHQKQHR5cGUgT2JqZWN0CkBkZWZhdWx0IHt9CioqLwpfZjR1JHQuUEFUSFNf
VE9fSURTID0ge307CgoKLyoqCiBSYXRoZXIgdGhhbiB1c2luZyBsb3RzIG9mIGdsb2JhbCB2YXJp
YWJsZXMgKGNsdXR0ZXJzIG5hbWVzcGFjZSkKIG9yIHVzaW5nIHRoaXMuYXR0cmlidXRlIChkYW5n
ZXJvdXMgZGVwZW5kaW5nIG9uIGJyb3dzZXIgYW5kIGxpYnJhcmllcyksCiB3ZSB1c2UgX2Y0dSR0
LklEU19UT19BVFRSSUJVVEVTIHRvIGhvbGQgYWxsIGluZm9ybWF0aW9uIGZvciBmYXVzdCBVSSBv
YmplY3RzLgogVGhhdCB3YXksIHRoZSBpbXBhY3Qgb24gdGhlIG5hbWVzcGFjZSBvZiB0aGUgZ2xv
YmFsIHNlc3Npb24gYXMgd2VsbAogYXMgdGhlIG9iamVjdHMgaXMgbWluaW1hbC4KCkBwcm9wZXJ0
eSBJRFNfVE9fQVRUUklCVVRFUwpAZm9yIF9mNHUkdApAdHlwZSBPYmplY3QKQGRlZmF1bHQge30K
KiovCl9mNHUkdC5JRFNfVE9fQVRUUklCVVRFUyA9IHt9OwoKLyoqClJldHVybnMgYSByYW5kb20s
IHNvZnQsIHByZXR0eSBjb2xvciwgcmVwcmVzZW50ZWQKYXMgMC0yNTUgUkdCIHZhbHVlcyBpbiBh
biBhcnJheSwgdG8gYWN0IGFzIGEgYmFja2dyb3VuZApmb3IgbGF5b3V0IG1hbmFnZXJzLgoKQG1l
dGhvZCBtYWdpY19jb2xvcgpAZm9yIF9mNHUkdApAc3RhdGljCkByZXR1cm4ge0FycmF5fSBBbiBh
cnJheSBvZiB0aHJlZSB2YWx1ZXMsIDAtMjU1IGZvciBSR0IuCioqLwpfZjR1JHQubWFnaWNfY29s
b3IgPSBmdW5jdGlvbigpIHsKICB2YXIgciA9IE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIDEw
MCkgKyAxNTY7CiAgdmFyIGcgPSBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiAxMDApICsgMTU2
OwogIHZhciBiID0gNTMwIC0gciAtIGc7CiAgdmFyIHYgPSBbcixnLGJdOwogIHYuc29ydChmdW5j
dGlvbigpIHtyZXR1cm4gMC41IC0gTWF0aC5yYW5kb20oKX0pIC8vIHNodWZmbGVzCiAgcmV0dXJu
IHY7Cn0KCi8qKgpUaGUgYm91bmRzIGZvciBhbiBhY2NlbGVyb21ldGVyIG9yaWVudGF0aW9uLgoK
QHByb3BlcnR5IG9yaWVudGF0aW9uX2JvdW5kcwpAZm9yIF9mNHUkdApAdHlwZSBPYmplY3QKQGRl
ZmF1bHQge30KKiovCl9mNHUkdC5vcmllbnRhdGlvbl9ib3VuZHMgPSB7CiAgYWxwaGEgOiBbMCwg
MzYwXSwKICBiZXRhIDogWy05MCwgOTBdLAogIGdhbW1hIDogWy05MCwgOTBdCn07CgovKioKUGFy
c2VzIGEgc3RyaW5nIGludG8gYW4gb3JpZW50YXRpb24KCkBtZXRob2QgcGFyc2Vfb3JpZW50YXRp
b24KQGZvciBfZjR1JHQKQHN0YXRpYwpAcmV0dXJuIHtPYmplY3R9CioqLwpfZjR1JHQucGFyc2Vf
b3JpZW50YXRpb24gPSBmdW5jdGlvbihzKSB7CiAgdmFyIHNwbGl0ID0gcy5zcGxpdCgiICIpOwog
IHdoaWxlIChzcGxpdC5pbmRleE9mKCIiKSA+PSAwKSB7CiAgICBzcGxpdC5zcGxjZShzcGxpdC5p
bmRleE9mKCIiKSwgMSk7CiAgfQogIGlmIChzcGxpdC5sZW5ndGggPT0gMCkgewogICAgcmV0dXJu
IHt9OwogIH0KICBpZiAoWydhbHBoYScsJ2JldGEnLCdnYW1tYSddLmluZGV4T2Yoc3BsaXRbMF0p
IDwgMCkgewogICAgcmV0dXJuIHt9OwogIH0KICB2YXIgaXRvciA9IHsxIDogX2Y0dSR0Lm9yaWVu
dGF0aW9uX2JvdW5kc1tzcGxpdFswXV1bMF0sIDIgOiBfZjR1JHQub3JpZW50YXRpb25fYm91bmRz
W3NwbGl0WzBdXVsxXSB9OwoKICAvLyB0aGlzIGxvb3AgY3JlYXRlcyB0aGUgcmVzdCBvZiB0aGUg
YXJyYXkKICBmb3IgKHZhciBpIGluIGl0b3IpIHsKICAgIGlmIChzcGxpdC5sZW5ndGggPT0gaSkg
ewogICAgICBzcGxpdC5wdXNoKGl0b3JbaV0pOwogICAgfQogICAgZWxzZSB7CiAgICAgIHNwbGl0
W2ldID0gcGFyc2VGbG9hdChzcGxpdFtpXSk7CiAgICAgIGlmIChpc05hTihzcGxpdFtpXSkpIHsK
ICAgICAgICBzcGxpdFtpXSA9IGl0b3JbaV07CiAgICAgIH0KICAgIH0KICB9CgogIHJldHVybiB7
YW5nbGUgOiBzcGxpdFswXSwgbG93IDogc3BsaXRbMV0sIGhpZ2ggOiBzcGxpdFsyXX07Cn0KCi8q
KgpUYWtpbmcgYW4gYXhpcyBfZjR1JHQuWF9BWElTIG9yIF9mNHUkdC5ZX0FYSVMsIHJldHVybnMK
dGhlIG9wcG9zaXRlIGF4aXMuCgpAbWV0aG9kIG90aGVyX2F4aXMKQGZvciBfZjR1JHQKQHN0YXRp
YwpAcGFyYW0ge051bWJlcn0gYXhpcyBBbiBheGlzLCBlaXRoZXIgX2Y0dSR0LlhfQVhJUyBvciBf
ZjR1JHQuWV9BWElTLgpAcmV0dXJuIHtOdW1iZXJ9IFRoZSBvcHBvc2l0ZSBheGlzLgoqKi8KX2Y0
dSR0Lm90aGVyX2F4aXMgPSBmdW5jdGlvbihheGlzKSB7CiAgcmV0dXJuIChheGlzICsgMSkgJSBf
ZjR1JHQuTk9fQVhFUzsKfQoKLyoqClJlbWFwcyBhIHZhbHVlIGluIGEgcmFuZ2UgdG8gYW5vdGhl
ciByYW5nZS4KCkBtZXRob2QgcmVtYXAKQGZvciBfZjR1JHQKQHN0YXRpYwpAcGFyYW0ge051bWJl
cn0gdiBUaGUgdmFsdWUgdG8gcmVtYXAuCkBwYXJhbSB7TnVtYmVyfSBtbjAgVGhlIG1pbmltdW0g
b2YgdGhlIG9sZCByYW5nZS4KQHBhcmFtIHtOdW1iZXJ9IG14MCBUaGUgbWF4aW11bSBvZiB0aGUg
b2xkIHJhbmdlLgpAcGFyYW0ge051bWJlcn0gbW4xIFRoZSBtaW5pbXVtIG9mIHRoZSBuZXcgcmFu
Z2UuCkBwYXJhbSB7TnVtYmVyfSBteDEgVGhlIG1heGltdW0gb2YgdGhlIG5ldyByYW5nZS4KQHJl
dHVybiB7TnVtYmVyfSBUaGUgdmFsdWUgdiByZW1hcHBlZCB0byB0aGUgbmV3IHJhbmdlLgoqKi8K
X2Y0dSR0LnJlbWFwID0gZnVuY3Rpb24odiwgbW4wLCBteDAsIG1uMSwgbXgxKSB7CiAgdmFyIHAg
PSAxLjAgKiAodiAtIG1uMCkgLyAobXgwIC0gbW4wKTsKICByZXR1cm4gcCAqIChteDEgLSBtbjEp
ICsgbW4xOwp9CgovKioKQm91bmRzIGEgdmFsdWUgYmV0d2VlbiB0d28gbnVtYmVycy4KCkBtZXRo
b2QgYm91bmQKQGZvciBfZjR1JHQKQHN0YXRpYwpAcGFyYW0ge051bWJlcn0gdiBUaGUgdmFsdWUg
dG8gYm91bmQuCkBwYXJhbSB7TnVtYmVyfSBtIE9uZSBzaWRlIG9mIHRoZSBib3VuZCAoZWl0aGVy
IHRoZSBtaW4gb3IgbWF4KS4KQHBhcmFtIHtOdW1iZXJ9IG4gVGhlIG90aGVyIHNpZGUgb2YgdGhl
IGJvdW5kIChlaXRoZXIgbWluIG9yIG1heCkuCkByZXR1cm4ge051bWJlcn0gQm91bmRlZCB2YWx1
ZSwgbWVhbmluZyBlaXRoZXIgdW5jaGFuZ2VkIG9yIGNyb3BwZWQgYXQgdGhlIG1pbi9tYXguCioq
LwpfZjR1JHQuYm91bmQgPSBmdW5jdGlvbih2LG0sbikgewogIHZhciBtbiA9IE1hdGgubWluKG0s
bik7CiAgdmFyIG14ID0gTWF0aC5tYXgobSxuKTsKICBpZiAodiA8IG1uKSB7IHJldHVybiBtbjsg
fQogIGlmICh2ID4gbXgpIHsgcmV0dXJuIG14OyB9CiAgcmV0dXJuIHY7Cn0KCi8qKgpCb3VuZHMg
YSB2YWx1ZSBiZXR3ZWVuIHR3byBudW1iZXJzLCBhdm9pZGluZyBsYXJnZSBsZWFwcwpmcm9tIGEg
cHJldmlvdXMgdmFsdWUKCkBtZXRob2QgYm91bmQKQGZvciBfZjR1JHQKQHN0YXRpYwpAcGFyYW0g
e051bWJlcn0gYXZhbCBUaGUgdmFsdWUgdG8gYm91bmQuCkBwYXJhbSB7TnVtYmVyfSBwdmFsIFRo
ZSBwcmV2aW91cyB2YWx1ZQpAcGFyYW0ge051bWJlcn0gbCBUaGUgbG93ZXIgYm91bmQKQHBhcmFt
IHtOdW1iZXJ9IGggVGhlIHVwcGVyIGJvdW5kCkByZXR1cm4ge051bWJlcn0gVGhlIHZhbHVlIGJv
dW5kZWQuIElmIHRoZSBwcmV2aW91cyB2YWx1ZSB3YXMgdGhlIHVwcGVyCmJvdW5kLCB3ZSByZW1h
aW4gb24gdGhpcyB0byBhdm9pZCBsYXJnZSBsZWFwcy4KKiovCl9mNHUkdC5ib3VuZF9hbmRfYXZv
aWRfbGFyZ2VfbGVhcHMgPSBmdW5jdGlvbihhdmFsLCBwdmFsLCBsLCBoLCBlcHNpbG9uKSB7CiAg
aWYgKCFlcHNpbG9uKSB7CiAgICBlcHNpbG9uID0gMDsKICB9CiAgaWYgKGwgPiBhdmFsKSB7CiAg
ICBpZiAoTWF0aC5hYnMocHZhbCAtIGgpIDw9IGVwc2lsb24pIHsKICAgICAgcmV0dXJuIGw7CiAg
ICB9CiAgfQoKICBlbHNlIGlmIChhdmFsID4gaCkgewogICAgaWYgKE1hdGguYWJzKHB2YWwgLSBs
KSA8PSBlcHNpbG9uKSB7CiAgICAgIHJldHVybiBoOwogICAgfQogIH0KCiAgLy8gaWYgbmVpdGhl
ciBvZiB0aGUgYWJvdmUgYXJlIHRydWUsIGZyZWUgdG8gbW92ZSBieSB0aGUgZGlmZmVyZW5jZQog
IGVsc2UgewogICAgcmV0dXJuIGF2YWw7CiAgfQoKICAvLyBjb3JuZXIgY2FzZSAtIHdlIGF2b2lk
IGxhcmdlIGxlYXBzCiAgcmV0dXJuIHB2YWw7Cn0KCi8qKgpRdWFudGl6ZXMgYSB2YWx1ZSBiZXR3
ZWVuIHR3byBudW1iZXJzIGF0IGEgZ2l2ZW4gc3RlcC4KCkBtZXRob2QgcXVhbnRpemUKQGZvciBf
ZjR1JHQKQHN0YXRpYwpAcGFyYW0ge051bWJlcn0gdiBUaGUgdmFsdWUgdG8gcXVhbnRpemUuCkBw
YXJhbSB7TnVtYmVyfSBtIE9uZSBzaWRlIG9mIHRoZSBxdWFudGl6aW5nIHJhbmdlIChlaXRoZXIg
dGhlIG1pbiBvciBtYXgpLgpAcGFyYW0ge051bWJlcn0gbiBUaGUgb3RoZXIgc2lkZSBvZiB0aGUg
cXVhbnRpemluZyByYW5nZSAoZWl0aGVyIG1pbiBvciBtYXgpLgpAcGFyYW0ge051bWJlcn0gcyBU
aGUgc3RlcCB2YWx1ZSB0byB3aGljaCB0aGUgbnVtYmVyIG11c3QgYmUgcXVhbnRpemVkLgpAcmV0
dXJuIHtOdW1iZXJ9IG92IHF1YW50aXplZCAoYW5kIGJvdW5kZWQgaWYgbmVjZXNzYXJ5KQoqKi8K
X2Y0dSR0LnF1YW50aXplID0gZnVuY3Rpb24ob3YsbSxuLHMpIHsKICB2YXIgdiA9IF9mNHUkdC5i
b3VuZChvdiwgbSwgbik7CiAgdmFyIG1uID0gTWF0aC5taW4obSxuKTsKICB2YXIgbXggPSBNYXRo
Lm1heChtLG4pOwogIG91dCA9IE1hdGguZmxvb3IoKHYgLSBtbikgLyBzICsgMC41KSAqIHMgKyBt
bjsKICByZXR1cm4gX2Y0dSR0LmJvdW5kKG91dCwgbSwgbik7Cn0KCi8qKgpGbGlwcyBhIHZhbHVl
IGF0IHRoZSBjZW50ZXIgb2YgYSByYW5nZS4KCkBtZXRob2QgZmxpcApAZm9yIF9mNHUkdApAc3Rh
dGljCkBwYXJhbSB7TnVtYmVyfSB2IFRoZSB2YWx1ZSB0byBmbGlwLgpAcGFyYW0ge051bWJlcn0g
bSBPbmUgc2lkZSBvZiB0aGUgcmFuZ2UgKGVpdGhlciB0aGUgbWluIG9yIG1heCkuCkBwYXJhbSB7
TnVtYmVyfSBuIFRoZSBvdGhlciBzaWRlIG9mIHRoZSByYW5nZSAoZWl0aGVyIG1pbiBvciBtYXgp
LgpAcmV0dXJuIHtOdW1iZXJ9IHYgZmxpcHBlZCBvdmVyIHRoZSBheGlzIGF0IHRoZSBtaWRkbGUg
b2YgdGhlIGdpdmVuIHJhbmdlLgoqKi8KX2Y0dSR0LmZsaXAgPSBmdW5jdGlvbih2LG0sbikgewog
IHZhciBtbiA9IE1hdGgubWluKG0sbik7CiAgdmFyIG14ID0gTWF0aC5tYXgobSxuKTsKICB2YXIg
b2Zmc2V0ID0gKG14IC0gbW4pIC8gMi4wICsgbW47CiAgcmV0dXJuIC0xLjAgKiAodiAtIG9mZnNl
dCkgKyBvZmZzZXQ7Cn0KCi8qKgpSZW1hcHMgYSB2YWx1ZSB2aWEgX2Y0dSR0LnJlbWFwIGFuZCB0
aGVuIGJvdW5kcyBpdCBpbiB0aGUgbmV3CnJhbmdlIHZpYSBfZjR1JHQuYm91bmQuCgpAbWV0aG9k
IHJlbWFwX2FuZF9ib3VuZApAZm9yIF9mNHUkdApAc3RhdGljCkBwYXJhbSB7TnVtYmVyfSB2IFRo
ZSB2YWx1ZSB0byByZW1hcCBhbmQgYm91bmQuCkBwYXJhbSB7TnVtYmVyfSBtbjAgVGhlIG1pbmlt
dW0gb2YgdGhlIG9sZCByYW5nZS4KQHBhcmFtIHtOdW1iZXJ9IG14MCBUaGUgbWF4aW11bSBvZiB0
aGUgb2xkIHJhbmdlLgpAcGFyYW0ge051bWJlcn0gbW4xIFRoZSBtaW5pbXVtIGFuZCBib3VuZCBv
ZiB0aGUgbmV3IHJhbmdlLgpAcGFyYW0ge051bWJlcn0gbXgxIFRoZSBtYXhpbXVtIGFuZCBib3Vu
ZCBvZiB0aGUgbmV3IHJhbmdlLgpAcmV0dXJuIHtOdW1iZXJ9IFRoZSB2YWx1ZSB2IHJlbWFwcGVk
IGFuZCBib3VuZGVkIHRvIHRoZSBuZXcgcmFuZ2UuCioqLwpfZjR1JHQucmVtYXBfYW5kX2JvdW5k
ID0gZnVuY3Rpb24odiwgbW4wLCBteDAsIG1uMSwgbXgxKSB7CiAgcmV0dXJuIF9mNHUkdC5ib3Vu
ZChfZjR1JHQucmVtYXAodiwgbW4wLCBteDAsIG1uMSwgbXgxKSwgbW4xLCBteDEpOwp9CgovKioK
UmVtYXBzIGEgdmFsdWUgdmlhIF9mNHUkdC5yZW1hcCBhbmQgdGhlbiBxdWFudGl6ZXMgaXQgaW4g
dGhlIG5ldwpyYW5nZSB2aWEgX2Y0dSR0LnF1YW50aXplLgoKQG1ldGhvZCByZW1hcF9hbmRfcXVh
bnRpemUKQGZvciBfZjR1JHQKQHN0YXRpYwpAcGFyYW0ge051bWJlcn0gdiBUaGUgdmFsdWUgdG8g
cmVtYXAgYW5kIHF1YW50aXplLgpAcGFyYW0ge051bWJlcn0gbW4wIFRoZSBtaW5pbXVtIG9mIHRo
ZSBvbGQgcmFuZ2UuCkBwYXJhbSB7TnVtYmVyfSBteDAgVGhlIG1heGltdW0gb2YgdGhlIG9sZCBy
YW5nZS4KQHBhcmFtIHtOdW1iZXJ9IG1uMSBUaGUgbWluaW11bSBhbmQgYm91bmQgb2YgdGhlIG5l
dyByYW5nZS4KQHBhcmFtIHtOdW1iZXJ9IG14MSBUaGUgbWF4aW11bSBhbmQgYm91bmQgb2YgdGhl
IG5ldyByYW5nZS4KQHBhcmFtIHtOdW1iZXJ9IHMgVGhlIHN0ZXAgdmFsdWUgdG8gd2hpY2ggdGhl
IG51bWJlciBtdXN0IGJlIHF1YW50aXplZC4KQHJldHVybiB7TnVtYmVyfSBUaGUgdmFsdWUgdiBy
ZW1hcHBlZCBhbmQgcXVhbnRpemVlZCB0byB0aGUgbmV3IHJhbmdlLgoqKi8KX2Y0dSR0LnJlbWFw
X2FuZF9xdWFudGl6ZSA9IGZ1bmN0aW9uKHYsIG1uMCwgbXgwLCBtbjEsIG14MSwgcykgewogIHJl
dHVybiBfZjR1JHQucXVhbnRpemUoX2Y0dSR0LnJlbWFwKHYsIG1uMCwgbXgwLCBtbjEsIG14MSks
IG1uMSwgbXgxLCBzKTsKfQoKLyoqClJlbWFwcyBhIHZhbHVlIHZpYSBfZjR1JHQucmVtYXAgYW5k
IHRoZW4gYm91bmRzIGl0IGluIHRoZSBuZXcKcmFuZ2UgdmlhIF9mNHUkdC5ib3VuZCBhbmQgdGhl
biBmbGlwcyBpdCB2aWEgX2Y0dSR0LmZsaXAuCgpAbWV0aG9kIHJlbWFwX2FuZF9ib3VuZF9hbmRf
ZmxpcApAZm9yIF9mNHUkdApAc3RhdGljCkBwYXJhbSB7TnVtYmVyfSB2IFRoZSB2YWx1ZSB0byBy
ZW1hcCBhbmQgYm91bmQgYW5kIGZsaXAuCkBwYXJhbSB7TnVtYmVyfSBtbjAgVGhlIG1pbmltdW0g
b2YgdGhlIG9sZCByYW5nZS4KQHBhcmFtIHtOdW1iZXJ9IG14MCBUaGUgbWF4aW11bSBvZiB0aGUg
b2xkIHJhbmdlLgpAcGFyYW0ge051bWJlcn0gbW4xIFRoZSBtaW5pbXVtIGFuZCBib3VuZCBvZiB0
aGUgbmV3IHJhbmdlLgpAcGFyYW0ge051bWJlcn0gbXgxIFRoZSBtYXhpbXVtIGFuZCBib3VuZCBv
ZiB0aGUgbmV3IHJhbmdlLgpAcmV0dXJuIHtOdW1iZXJ9IFRoZSB2YWx1ZSB2IHJlbWFwcGVkIGFu
ZCBib3VuZGVkIGFuZCBmbGlwcGVkIHRvIHRoZSBuZXcgcmFuZ2UuCioqLwpfZjR1JHQucmVtYXBf
YW5kX2JvdW5kX2FuZF9mbGlwID0gZnVuY3Rpb24odiwgbW4wLCBteDAsIG1uMSwgbXgxKSB7CiAg
cmV0dXJuIF9mNHUkdC5mbGlwKF9mNHUkdC5ib3VuZChfZjR1JHQucmVtYXAodiwgbW4wLCBteDAs
IG1uMSwgbXgxKSwgbW4xLCBteDEpLCBtbjEsIG14MSk7Cn0KCi8qKgpSZW1hcHMgYSB2YWx1ZSB2
aWEgX2Y0dSR0LnJlbWFwIGFuZCB0aGVuIHF1YW50aXplcyBpdCBpbiB0aGUgbmV3CnJhbmdlIHZp
YSBfZjR1JHQucXVhbnRpemUgYW5kIHRoZW4gZmxpcHMgaXQgdmlhIF9mNHUkdC5mbGlwLgoKQG1l
dGhvZCByZW1hcF9hbmRfcXVhbnRpemVfYW5kX2ZsaXAKQGZvciBfZjR1JHQKQHN0YXRpYwpAcGFy
YW0ge051bWJlcn0gdiBUaGUgdmFsdWUgdG8gcmVtYXAgYW5kIHF1YW50aXplIGFuZCBmbGlwLgpA
cGFyYW0ge051bWJlcn0gbW4wIFRoZSBtaW5pbXVtIG9mIHRoZSBvbGQgcmFuZ2UuCkBwYXJhbSB7
TnVtYmVyfSBteDAgVGhlIG1heGltdW0gb2YgdGhlIG9sZCByYW5nZS4KQHBhcmFtIHtOdW1iZXJ9
IG1uMSBUaGUgbWluaW11bSBhbmQgYm91bmQgb2YgdGhlIG5ldyByYW5nZS4KQHBhcmFtIHtOdW1i
ZXJ9IG14MSBUaGUgbWF4aW11bSBhbmQgYm91bmQgb2YgdGhlIG5ldyByYW5nZS4KQHJldHVybiB7
TnVtYmVyfSBUaGUgdmFsdWUgdiByZW1hcHBlZCBhbmQgcXVhbnRpemVkIGFuZCBmbGlwcGVkIHRv
IHRoZSBuZXcgcmFuZ2UuCioqLwpfZjR1JHQucmVtYXBfYW5kX3F1YW50aXplX2FuZF9mbGlwID0g
ZnVuY3Rpb24odiwgbW4wLCBteDAsIG1uMSwgbXgxLCBzKSB7CiAgcmV0dXJuIF9mNHUkdC5mbGlw
KF9mNHUkdC5xdWFudGl6ZShfZjR1JHQucmVtYXAodiwgbW4wLCBteDAsIG1uMSwgbXgxKSwgbW4x
LCBteDEsIHMpLCBtbjEsIG14MSk7Cn0KCi8qKgpSZW1hcHMgYSB2YWx1ZSB2aWEgX2Y0dSR0LnJl
bWFwIGFuZCB0aGVuIGZsaXBzIGl0IHZpYSBfZjR1JHQuZmxpcC4KCkBtZXRob2QgcmVtYXBfYW5k
X2ZsaXAKQGZvciBfZjR1JHQKQHN0YXRpYwpAcGFyYW0ge051bWJlcn0gdiBUaGUgdmFsdWUgdG8g
cmVtYXAgYW5kIGZsaXAuCkBwYXJhbSB7TnVtYmVyfSBtbjAgVGhlIG1pbmltdW0gb2YgdGhlIG9s
ZCByYW5nZS4KQHBhcmFtIHtOdW1iZXJ9IG14MCBUaGUgbWF4aW11bSBvZiB0aGUgb2xkIHJhbmdl
LgpAcGFyYW0ge051bWJlcn0gbW4xIFRoZSBtaW5pbXVtIG9mIHRoZSBuZXcgcmFuZ2UuCkBwYXJh
bSB7TnVtYmVyfSBteDEgVGhlIG1heGltdW0gb2YgdGhlIG5ldyByYW5nZS4KQHJldHVybiB7TnVt
YmVyfSBUaGUgdmFsdWUgdiByZW1hcHBlZCBhbmQgZmxpcHBlZCB0byB0aGUgbmV3IHJhbmdlLgoq
Ki8KX2Y0dSR0LnJlbWFwX2FuZF9mbGlwID0gZnVuY3Rpb24odiwgbW4wLCBteDAsIG1uMSwgbXgx
KSB7CiAgcmV0dXJuIF9mNHUkdC5mbGlwKF9mNHUkdC5yZW1hcCh2LCBtbjAsIG14MCwgbW4xLCBt
eDEpLCBtbjEsIG14MSk7Cn0KCi8qKgpCb3VuZHMgYSB2YWx1ZSB2aWEgX2Y0dSR0LmJvdW5kIGFu
ZCB0aGVuIGZsaXBzIGl0IHZpYSBfZjR1JHQuZmxpcC4KCkBtZXRob2QgYm91bmRfYW5kX2ZsaXAK
QGZvciBfZjR1JHQKQHN0YXRpYwpAcGFyYW0ge051bWJlcn0gdiBUaGUgdmFsdWUgdG8gYm91bmQg
YW5kIGZsaXAuCkBwYXJhbSB7TnVtYmVyfSBtbjAgVGhlIG1pbmltdW0gb2YgdGhlIG9sZCByYW5n
ZS4KQHBhcmFtIHtOdW1iZXJ9IG14MCBUaGUgbWF4aW11bSBvZiB0aGUgb2xkIHJhbmdlLgpAcGFy
YW0ge051bWJlcn0gbW4xIFRoZSBtaW5pbXVtIGFuZCBib3VuZCBvZiB0aGUgbmV3IHJhbmdlLgpA
cGFyYW0ge051bWJlcn0gbXgxIFRoZSBtYXhpbXVtIGFuZCBib3VuZCBvZiB0aGUgbmV3IHJhbmdl
LgpAcmV0dXJuIHtOdW1iZXJ9IFRoZSB2YWx1ZSB2IGJvdW5kZWQgYW5kIGFuZCBmbGlwcGVkIHRv
IHRoZSBuZXcgcmFuZ2UuCioqLwpfZjR1JHQuYm91bmRfYW5kX2ZsaXAgPSBmdW5jdGlvbih2LCBt
bjEsIG14MSkgewogIHJldHVybiBfZjR1JHQuZmxpcChfZjR1JHQuYm91bmQodiwgbW4xLCBteDEp
LCBtbjEsIG14MSk7Cn0KCi8qKgpGaW5kcyB0aGUgc2lnbiBvZiBhIG51bWJlci4KCkBtZXRob2Qg
c2lnbgpAZm9yIF9mNHUkdApAc3RhdGljCkBwYXJhbSB7TnVtYmVyfSB4IFRoZSBudW1iZXIgd2hv
c2Ugc2lnbiB3ZSB3YW50LgpAcmV0dXJuIHtOdW1iZXJ9IFRoZSBzaWduLCBlaXRoZXIgLTEsIDEg
b3IgMC4KKiovCl9mNHUkdC5zaWduID0gZnVuY3Rpb24oeCkgewogIHJldHVybiAoeCA9PSAwID8g
eCA6IE1hdGguZmxvb3IoTWF0aC5hYnMoeCkgLyB4KSk7Cn0KCi8qKgpDaG9vc2VzIGxlZnQsIHJp
Z2h0LCBvciBjZW50ZXIgb2YgcmFuZ2UuCgpAbWV0aG9kIGxpbmVhcl9jb21iaW5hdGluCkBmb3Ig
X2Y0dSR0CkBzdGF0aWMKQHBhcmFtIHtOdW1iZXJ9IGRpciBUaGUgZGlyZWN0aW9uIGluZGljYXRp
bmcgd2hpY2ggbnVtYmVyIHRvIHVzZSAobGVmdC9yaWdodC9jZW50ZXIpLiBOb3RlIHRoYXQgdXAg
aXMgdGhlIHNhbWUgYXMgbGVmdCBhbmQgZG93biBpcyB0aGUgc2FtZSBhcyByaWdodC4KQHBhcmFt
IHtOdW1iZXJ9IHYxIFRoZSBmaXJzdCB2YWx1ZSBvZiB0aGUgcmFuZ2UuCkBwYXJhbSB7TnVtYmVy
fSB2MiBUaGUgc2Vjb25kIHZhbHVlIG9mIHRoZSByYW5nZS4KQHJldHVybiB7TnVtYmVyfSBUaGUg
Zmlyc3QgdmFsdWUgaWYgbGVmdCwgdGhlIHNlY29uZCB2YWx1ZSBpZiByaWdodCwgb3IgdGhlIGNl
bnRlciBpZiBjZW50ZXIuCioqLwpfZjR1JHQubGluZWFyX2NvbWJpbmF0aW9uID0gZnVuY3Rpb24o
ZGlyLCB2MSwgdjIpIHsKICBpZiAoZGlyID09IF9mNHUkdC5MRUZUKSB7CiAgICByZXR1cm4gdjE7
CiAgfQogIGlmIChkaXIgPT0gX2Y0dSR0LlJJR0hUKSB7CiAgICByZXR1cm4gdjI7CiAgfQogIHJl
dHVybiAodjEgKyB2MikgLyAyLjA7Cn0KCi8qKgpDaG9vc2VzIG9uZSBvZiB0d28gdmFsdWVzIGRl
cGVuZGluZyBvbiB0aGUgYXhpcy4KCkBtZXRob2QgeHkKQGZvciBfZjR1JHQKQHN0YXRpYwpAcGFy
YW0ge051bWJlcn0gYSBUaGUgYXhpcywgX2Y0dSR0LlhfQVhJUyBvciBfZjR1JHQuWV9BWElTLgpA
cGFyYW0ge051bWJlcn0geCBUaGUgdmFsdWUgdG8gcmV0dXJuIGlmIGEgaXMgZXF1YWwgdG8gX2Y0
dSR0LlhfQVhJUy4KQHBhcmFtIHtOdW1iZXJ9IHkgVGhlIHZhbHVlIHRvIHJldHVybiBpZiBhIGlz
IGVxdWFsIHRvIF9mNHUkdC5YX0FYSVMuCkByZXR1cm4ge051bWJlcn0geCBvciB5LCBkZXBlbmRp
bmcgb24gd2hhdCBhIGlzLgoqKi8KX2Y0dSR0Lnh5ID0gZnVuY3Rpb24oYSx4LHkpIHsKICByZXR1
cm4gKGEgPT0gX2Y0dSR0LlhfQVhJUyA/IHggOiB5KTsKfQoKLyoqClJldHVybnMgdGhlIHRyYWls
aW5nIHBhcnQgb2YgYW4gaWQuICBUaGUgZmF1c3QgbmFtaW5nIGNvbnZlbnRpb24gZ2l2ZXMKYWxs
IERPTSBpZHMgYSB1bmlxdWUgaWRlbnRpZmllciBhdCB0aGUgZW5kLCBjYWxsZWQgdGhlIHRyYWls
aW5nIHBhcnQsIGFuZAp0aGlzIGZ1bmN0aW9uIHJldHVybnMgaXQuCgpAbWV0aG9kIHVuaXF1ZQpA
Zm9yIF9mNHUkdApAc3RhdGljCkBwYXJhbSB7U3RyaW5nfSBzIEFuIElEIHN0cmluZwpAcmV0dXJu
IHtTdHJpbmd9IFRoZSB1bmlxdWUgdHJhaWxpbmcgcGFydCwgaWYgb25lIGV4aXN0cy4KKiovCl9m
NHUkdC51bmlxdWUgPSBmdW5jdGlvbihzKSB7CiAgdmFyIHNwbCA9IHMuc3BsaXQoIl8iKTsKICBp
ZiAoc3BsLmxlbmd0aCA9PSAwKSB7CiAgICByZXR1cm4gczsKICB9CiAgcmV0dXJuIHNwbFtzcGwu
bGVuZ3RoIC0gMV07Cn0KCi8qKgpSZXR1cm5zIHRoZSB0eXBlIHBhcnQgb2YgYW4gaWQuICBUaGUg
ZmF1c3QgbmFtaW5nIGNvbnZlbnRpb24gZ2l2ZXMKYWxsIERPTSBpZHMgYSB0eXBlIGFzIHRoZSBz
ZWNvbmQgZW50cnkuIEV4YW1wbGVzIGFyZSB2c2xpZGVyLCBoc2xpZGVyLApyYnV0dG9uLgoKQG1l
dGhvZCB1bmlxdWUKQGZvciBfZjR1JHQKQHN0YXRpYwpAcGFyYW0ge1N0cmluZ30gcyBBbiBJRCBz
dHJpbmcKQHJldHVybiB7U3RyaW5nfSBUaGUgdW5pcXVlIHR5cGUsIGlmIG9uZSBleGlzdHMuCioq
LwpfZjR1JHQudHlwZSA9IGZ1bmN0aW9uKHMpIHsKICB2YXIgc3BsID0gcy5zcGxpdCgiXyIpOwog
IGlmIChzcGwubGVuZ3RoID09IDApIHsKICAgIGNvbnNvbGUubG9nKCJpbmNvcnJlY3QgbmFtaW5n
IG9mIGZhdXN0IG9iamVjdCIpOwogICAgcmV0dXJuIHM7CiAgfQogIHJldHVybiBzcGxbMV07Cn0K
Ci8qKgpUYWtlcyBhbiBhcnJheSBvZiB0aHJlZSB2YWx1ZXMgKFIsIEcsIGFuZCBCKSBhbmQgcmV0
dXJucyBhIGNvbG9yCnVzZWFibGUgYnkgQ1NTLgoKQG1ldGhvZCBjb2xvcl90b19jc3MKQGZvciBf
ZjR1JHQKQHN0YXRpYwpAcGFyYW0ge0FycmF5LCBTdHJpbmd9IHJnYiBBbiBhcnJheSB3aXRoIHRo
cmVlIHZhbHVlcyBmb3IKUiwgRywgYW5kIEIgb3IgYSBDU1Mgc3RyaW5nIHRvIGJ5cGFzcyB0aGUg
Y29udmVyc2lvbi4KQHJldHVybiB7U3RyaW5nfSBBbiBSR0IgdmFsdWUgdXNlYWJsZSBieSBDU1Mu
CioqLwpfZjR1JHQuY29sb3JfdG9fcmdiID0gZnVuY3Rpb24ocmdiKSB7CiAgaWYgKHR5cGVvZiBy
Z2IgPT0gJ3N0cmluZycpCiAgICByZXR1cm4gcmdiOwogIHJldHVybiAocmdiID8gInJnYigiK3Jn
YlswXSsiLCIrcmdiWzFdKyIsIityZ2JbMl0rIikiIDogJ25vbmUnKTsKfQoKLyoqCkEgZnVuY3Rp
b24gdGhhdCBnZW5lcmF0ZXMgYSByYW5kb20gNy1sZXR0ZXIgc3RyaW5nLgoKQG1ldGhvZCByYW5k
U3RyaW5nCkBmb3IgX2Y0dSR0CkBzdGF0aWMKQHJldHVybiB7U3RyaW5nfSBBIHJhbmRvbSA3LWxl
dHRlciBzdHJpbmcuCioqLwpfZjR1JHQucmFuZFN0cmluZyA9IGZ1bmN0aW9uKCkgewogIHZhciBy
ZXN1bHQgPSAnJzsKICB2YXIgbGVuZ3RoID0gNzsKICB2YXIgY2hhcnMgPSAiYWJjZGVmZ2hpamts
bW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWiI7CiAgZm9yICh2YXIgaSA9
IGxlbmd0aDsgaSA+IDA7IC0taSkgewogICAgcmVzdWx0ICs9IGNoYXJzW01hdGgucm91bmQoTWF0
aC5yYW5kb20oKSAqIChjaGFycy5sZW5ndGggLSAxKSldOwogIH0KICByZXR1cm4gcmVzdWx0Owp9
CgovKioKQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgZWl0aGVyIGEgZ2l2ZW4gdmFsdWUgb3IgYSBk
ZWZhdWx0IGlmCnRoZSBnaXZlbiBpcyBudWxsCgpAbWV0aG9kIGluaXRpZm51bGwKQGZvciBfZjR1
JHQKQHN0YXRpYwpAcGFyYW0ge2FueX0gdiBUaGUgdmFsdWUgdG8gdXNlLgpAcGFyYW0ge2FueX0g
ZCBUaGUgZGVmYXVsdCB0byByZXR1cm4gaWYgdiBpcyBudWxsLgpAcmV0dXJuIHthbnl9IEVpdGhl
ciB2IG9yIGQuCioqLwpfZjR1JHQuaW5pdGlmbnVsbCA9IGZ1bmN0aW9uKHYsZCkgewogIHJldHVy
biAodiA9PSBudWxsID8gZCA6IHYpOwp9CgovLyBUUklHT05PTUVUUklDIEZVTkNUSU9OUwoKLyoq
CkluIGEgcmFuZ2UsIGZpbmQgYWxsIGFuZ2xlcyB0aGF0IGZhbGwgYXQgYSBtdWx0aXBsZSBvZiA5
MCBkZWdyZWVzLgoKQG1ldGhvZCBmaW5kX2FsbF85MHMKQGZvciBfZjR1JHQKQHN0YXRpYwpAcGFy
YW0ge051bWJlcn0gYTAgVGhlIGluaXRpYWwgYW5nbGUgaW4gZGVncmVlcy4KQHBhcmFtIHtOdW1i
ZXJ9IHN3ZWVwIFRoZSBhbmdsZSB0byBzd2VlcCBmcm9tIHRoZSBpbml0aWFsIGluIGRlZ3JlZXMu
CkByZXR1cm4ge0FycmF5fSBBbGwgbXVsdGlwbGVzIG9mIDkwIGJldHdlZW4gYTAgYW5kIGEwICsg
c3dlZXAgaW5jbHVzaXZlLgoqKi8KX2Y0dSR0LmZpbmRfYWxsXzkwcyA9IGZ1bmN0aW9uKGEwLCBz
d2VlcCkgewogIHZhciB0b3RhbCA9IDA7CiAgdmFyIG91dCA9IFtdOwogIHdoaWxlIChhMCA+IHRv
dGFsKSB7CiAgICB0b3RhbCArPSA5MDsKICB9CiAgd2hpbGUgKHRvdGFsIDw9IGEwICsgc3dlZXAp
IHsKICAgIG91dC5wdXNoKHRvdGFsKTsKICAgIHRvdGFsICs9IDkwOwogIH0KICByZXR1cm4gb3V0
Owp9CgovKioKR2l2ZW4gYSBwb2xhciBjb29yZGlhbnRlLCBmaW5kIHRoZSBjYXJ0ZXNpYW4gcG9p
bnQKCkBtZXRob2QgcG9pbnRfZnJvbV9wb2xhcgpAZm9yIF9mNHUkdApAc3RhdGljCkBwYXJhbSB7
TnVtYmVyfSByIFJhZGl1cy4KQHBhcmFtIHtOdW1iZXJ9IGEgQW5nbGUgaW4gcmFkaWFucy4KQHJl
dHVybiB7QXJyYXl9IFRoZSBjYXJ0ZXNpYW4gY29vcmRpbmF0ZSBhcyBbeCx5XS4KKiovCl9mNHUk
dC5wb2ludF9mcm9tX3BvbGFyID0gZnVuY3Rpb24ociwgYSkgewogIHJldHVybiBbciAqIE1hdGgu
Y29zKGEpLCByICogTWF0aC5zaW4oYSldOwp9CgovKioKQWRkcyB0d28gY29vcmRpbmF0ZXMgaW4g
dGhlIGZvcm0gW3gwLHkwXSBhbmQgW3gxLHkxXS4KCkBtZXRob2QgY29vcmRfc3ViCkBmb3IgX2Y0
dSR0CkBzdGF0aWMKQHBhcmFtIHtBcnJheX0gYzAgRmlyc3QgY2FydGVzaWFuIGNvb3JkaW5hdGUu
CkBwYXJhbSB7QXJyYXl9IGMxIFNlY29uZCBjYXJ0ZXNpYW4gY29vcmRpbmF0ZS4KQHJldHVybiB7
QXJyYXl9IFRoZSBzdW0gb2YgdGhlIHR3byBjb29yZGluYXRlcy4KKiovCl9mNHUkdC5jb29yZF9h
ZGQgPSBmdW5jdGlvbihjMCwgYzEpIHsKICByZXR1cm4gW2MwWzBdICsgYzFbMF0sIGMwWzFdICsg
YzFbMV1dOwp9CgovKioKU3VidHJhY3RzIHR3byBjb29yZGluYXRlcyBpbiB0aGUgZm9ybSBbeDAs
eTBdIGFuZCBbeDEseTFdLgoKQG1ldGhvZCBjb29yZF9zdWIKQGZvciBfZjR1JHQKQHN0YXRpYwpA
cGFyYW0ge0FycmF5fSBjMCBGaXJzdCBjYXJ0ZXNpYW4gY29vcmRpbmF0ZS4KQHBhcmFtIHtBcnJh
eX0gYzEgU2Vjb25kIGNhcnRlc2lhbiBjb29yZGluYXRlLCBzdWJ0cmFjdGVkIGZyb20gZmlyc3Qu
CkByZXR1cm4ge0FycmF5fSBUaGUgZGlmZmVyZW5jZSBvZiB0aGUgdHdvIGNvb3JkaW5hdGVzLgoq
Ki8KX2Y0dSR0LmNvb3JkX3N1YiA9IGZ1bmN0aW9uKGMwLCBjMSkgewogIHJldHVybiBbYzBbMF0g
LSBjMVswXSwgYzBbMV0gLSBjMVsxXV07Cn0KCi8qKgpDb252ZXJ0cyByYWRpYW5zIHRvIGRlZ3Jl
ZXMuCgpAbWV0aG9kIHIyZApAZm9yIF9mNHUkdApAc3RhdGljCkBwYXJhbSB7TnVtYmVyfSBBbmds
ZSBpbiByYWRpYW5zLgpAcmV0dXJuIHtOdW1iZXJ9IEFuZ2xlIGluIGRlZ3JlZXMuCioqLwpfZjR1
JHQucjJkID0gZnVuY3Rpb24oYSkgewogIHJldHVybiBhICogMTgwIC8gTWF0aC5QSTsKfQoKLyoq
CkNvbnZlcnRzIGRlZ3JlZXMgdG8gcmFkaWFucy4KCkBtZXRob2QgcjJkCkBmb3IgX2Y0dSR0CkBz
dGF0aWMKQHBhcmFtIHtOdW1iZXJ9IEFuZ2xlIGluIGRlZ3JlZXMuCkByZXR1cm4ge051bWJlcn0g
QW5nbGUgaW4gcmFkaWFucy4KKiovCl9mNHUkdC5kMnIgPSBmdW5jdGlvbihhKSB7CiAgcmV0dXJu
IGEgKiBNYXRoLlBJIC8gMTgwLjsKfQoKLyoqCkFqYXggcXVldWUuCgpAcHJvcGVydHkgYWpheF9x
dWV1ZQpAZm9yIF9mNHUkdApAdHlwZSBPYmplY3QKQGRlZmF1bHQge30KKiovCl9mNHUkdC5hamF4
X3F1ZXVlID0ge307CgovKioKSXMgdGhlIGFqYXggcXVldWUgYnVzeT8KCkBwcm9wZXJ0eSBhamF4
X3F1ZXVlX2J1c3kKQGZvciBfZjR1JHQKQHR5cGUgQm9vbGVhbgpAZGVmYXVsdCBmYWxzZQoqKi8K
X2Y0dSR0LmFqYXhfcXVldWVfYnVzeSA9IGZhbHNlOwoKLyoqCkFjdGl2ZSBhZGRyZXNzZXMgYmVp
bmcgc2VudCB0byBzZXJ2ZXIuCgpAcHJvcGVydHkgYWN0aXZlX2FkZHJlc3NlcwpAZm9yIF9mNHUk
dApAdHlwZSBBcnJheQpAZGVmYXVsdCBbXQoqKi8KX2Y0dSR0LmFjdGl2ZV9hZGRyZXNzZXMgPSBb
XTsKCi8qKgpBIGJveCBjbGFzcy4KCkBjbGFzcyBCb3gKQG5hbWVzcGFjZSBfZjR1JHQKQGNvbnN0
cnVjdG9yCioqLwoKX2Y0dSR0LkJveCA9IGZ1bmN0aW9uKCkgewogIC8qKgogIFJlc2V0cyB0aGUg
eCBhbmQgeSBvZiBhIGJveCB0byB0aGVpciBkZWZhdWx0cwogIAogIEBtZXRob2QgY2xlYXIKICBA
Zm9yIF9mNHUkdC5Cb3gKICAqKi8KICB0aGlzLmNsZWFyID0gZnVuY3Rpb24oKSB7CiAgICAvKioK
ICAgIHggcmFuZ2Ugb2YgYSBCb3guCiAgICAKICAgIEBwcm9wZXJ0eSB4CiAgICBAZm9yIF9mNHUk
dC5Cb3gKICAgIEB0eXBlIEFycmF5CiAgICBAZGVmYXVsdCBbTnVtYmVyLlBPU0lUSVZFX0lORklO
SVRZLCBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFldCiAgICAqKi8KICAgIHRoaXMueCA9IFtOdW1i
ZXIuUE9TSVRJVkVfSU5GSU5JVFksIE51bWJlci5ORUdBVElWRV9JTkZJTklUWV07CiAgICAvKioK
ICAgIHkgcmFuZ2Ugb2YgYSBCb3guCiAgICAKICAgIEBwcm9wZXJ0eSB5CiAgICBAZm9yIF9mNHUk
dC5Cb3gKICAgIEB0eXBlIEFycmF5CiAgICBAZGVmYXVsdCBbTnVtYmVyLlBPU0lUSVZFX0lORklO
SVRZLCBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFldCiAgICAqKi8KICAgIHRoaXMueSA9IFtOdW1i
ZXIuUE9TSVRJVkVfSU5GSU5JVFksIE51bWJlci5ORUdBVElWRV9JTkZJTklUWV07CiAgfQogIHRo
aXMuY2xlYXIoKTsKfQoKLyoqCkFkZHMgYW4gYXJyYXkgb2YgcG9pbnRzLCB3aXRoIGVhY2ggcG9p
bnQgaW4gdGhlIGZvcm0gW3gseV0sIHRvIHRoZQppbnRlcmlvciBvZiB0aGUgYm94LgoKQG1ldGhv
ZCBhZGRfcG9pbnRzCkBmb3IgX2Y0dSR0LkJveApAcGFyYW0ge0FycmF5fSBwdHMgQW4gYXJyYXkg
b2YgcG9pbnRzLgoqKi8KX2Y0dSR0LkJveC5wcm90b3R5cGUuYWRkX3BvaW50cyA9IGZ1bmN0aW9u
KHB0cykgewogIGZvciAodmFyIGkgPSAwOyBpIDwgcHRzLmxlbmd0aDsgaSsrKSB7CiAgICB0aGlz
LmFkZF9wb2ludChwdHNbaV0pOwogIH0KfQoKLyoqCkFkZHMgYSBwb2ludCBpbiB0aGUgZm9ybSBb
eCx5XSB0byB0aGUKaW50ZXJpb3Igb2YgdGhlIGJveC4KCkBtZXRob2QgYWRkX3BvaW50cwpAZm9y
IF9mNHUkdC5Cb3gKQHBhcmFtIHtBcnJheX0gcHQgQSBwb2ludCB0byBhZGQuCioqLwpfZjR1JHQu
Qm94LnByb3RvdHlwZS5hZGRfcG9pbnQgPSBmdW5jdGlvbihwdCkgewogIHRoaXMueCA9IFtNYXRo
Lm1pbih0aGlzLnhbMF0sIHB0WzBdKSwgTWF0aC5tYXgodGhpcy54WzFdLCBwdFswXSldOwogIHRo
aXMueSA9IFtNYXRoLm1pbih0aGlzLnlbMF0sIHB0WzFdKSwgTWF0aC5tYXgodGhpcy55WzFdLCBw
dFsxXSldOwp9CgovKioKUmV0dXJucyB0aGUgbGVuZ3RoIG9mIHRoZSBib3ggYWxvbmcgdGhlIHgg
YW5kIHkgYXhlcy4KCkBtZXRob2QgbGVucwpAZm9yIF9mNHUkdC5Cb3gKQHJldHVybiB7QXJyYXl9
IFRoZSBsZW5ndGggb2YgdGhlIGJveCBhbG9uZyB0aGUgeCBhbmQgeSBheGVzLgoqKi8KX2Y0dSR0
LkJveC5wcm90b3R5cGUubGVucyA9IGZ1bmN0aW9uKHB0KSB7CiAgcmV0dXJuIFt0aGlzLnhbMV0g
LSB0aGlzLnhbMF0sIHRoaXMueVsxXSAtIHRoaXMueVswXV07Cn0KCi8qKgpSZXR1cm5zIHRoZSBj
b3JuZXIgcG9pbnRzIChtaW5pbWEgYW5kIG1heGltYSkgb2YgdGhlIEJveC4KCkBtZXRob2QgY29y
bmVycwpAZm9yIF9mNHUkdC5Cb3gKQHJldHVybiB7QXJyYXl9IFRoZSBjb3JuZXIgcG9pbnRzIG9m
IHRoZSBib3guCioqLwpfZjR1JHQuQm94LnByb3RvdHlwZS5jb3JuZXJzID0gZnVuY3Rpb24ocHQp
IHsKICByZXR1cm4gW1t0aGlzLnhbMF0sIHRoaXMueVswXV0sIFt0aGlzLnhbMV0sIHRoaXMueVsx
XV1dOwp9CgovKioKRmluZHMgdGhlIGJvdW5kaW5nIGJveCBvZiBhIHRleHQgbm9kZSBpbiBhbiBz
dmcuCgpAbWV0aG9kIGdldF90ZXh0X2Jib3gKQGZvciBfZjR1JHQKQHBhcmFtIHtPYmplY3R9IHN2
ZyBUaGUgc3ZnIG5vZGUuCkBwYXJhbSB7T2JqZWN0fSB0ZXh0IFRoZSB0ZXh0IG5vZGUuCkByZXR1
cm4ge09iamVjdH0gVGhlIGJvdW5kaW5nIHJlY3RhbmdsZSBvZiB0aGUgdGV4dCBub2RlLgoqKi8K
X2Y0dSR0LmdldF90ZXh0X2Jib3ggPSBmdW5jdGlvbihzdmcsIHRleHQsIGtscykgewogIGlmICgh
a2xzKSB7CiAgICBrbHMgPSAnZmF1c3QtbGFiZWwnOwogIH0KICB2YXIgZHVtbXkgPSBzdmcudGV4
dCgwLDAsdGV4dCwgeydjbGFzcycgOiBrbHN9KTsKICB2YXIgYmJveCA9IGR1bW15LmdldEJCb3go
KTsKICBzdmcucmVtb3ZlKGR1bW15KTsKICByZXR1cm4gYmJveDsKfQoKX2Y0dSR0Lm1ha2VfcmVj
dGFuZ2xlX3ZpYV9yZWN0ID0gZnVuY3Rpb24oc3ZnLCBwYXJlbnQsIHJmLCB4LCB5LCB3LCBoLCBv
cHMpIHsKICByZXR1cm4gc3ZnLnJlY3QocGFyZW50LCB4LCB5LCB3LCBoLCByZiwgcmYsIG9wcyk7
Cn0KCl9mNHUkdC5tYWtlX3JlY3RhbmdsZV92aWFfcGF0aCA9IGZ1bmN0aW9uKHN2ZywgcGFyZW50
LCByZiwgeCwgeSwgdywgaCwgb3BzKSB7CiAgdmFyIGQgPSAiTXswfSB7N31MezF9IHs3fUN7Mn0g
ezd9IHsyfSB7N30gezJ9IHszfUx7Mn0gezR9Q3syfSB7NX0gezJ9IHs1fSB7MX0gezV9THswfSB7
NX1DezZ9IHs1fSB7Nn0gezV9IHs2fSB7NH1MezZ9IHszfUN7Nn0gezd9IHs2fSB7N30gezB9IHs3
fSI7CiAgZCA9IGQuZm9ybWF0KFtyZiArIHgsIHcgLSByZiArIHgsIHcgKyB4LCByZiArIHksIGgg
LSByZiArIHksIGggKyB5LCB4LCB5XSk7CiAgdmFyIHJlY3QgPSBzdmcucGF0aCgKICAgIHBhcmVu
dCwKICAgIGQsCiAgICBvcHMKICApOwoKICByZXR1cm4gcmVjdDsKfQoKLyoqCk1ha2VzIHRoZSBV
SSBmb3IgdGhlIGZhdXN0IGFwcGxpY2F0aW9uLgoKQG1ldGhvZCBtYWtlX3VpCkBmb3IgX2Y0dSR0
CkBwYXJhbSB7T2JqZWN0fSBzdmcgVGhlIHJvb3QgU1ZHIG5vZGUuCkBwYXJhbSB7T2JqZWN0fSBy
YXdfanNvbiBUaGUgcmF3IEpTT04gZGVzY3JpYmluZyB0aGUgVUkgdG8gYnVpbGQuCioqLwpfZjR1
JHQubWFrZV91aSA9IGZ1bmN0aW9uKHN2ZywgcmF3X2pzb24sIHdpZHRoLCBoZWlnaHQpIHsKICB2
YXIganNvbiA9IGV2YWwgKCIoIiArIHJhd19qc29uICsgIikiKTsKICB2YXIgZmF1c3Rfc3ZnID0g
bmV3IF9mNHUkdC5TVkcoCiAgICBzdmcsCiAgICB3aWR0aCwKICAgIGhlaWdodCwKICAgIHsKICAg
ICAgY29uc3RyYWluIDogZmFsc2UsCiAgICAgIHRpdGxlIDoganNvblsidWkiXVswXS5sYWJlbCwK
ICAgICAgbG0gOiBfZjR1JHQuanNvbl90b191aShqc29uKQogICAgfQogICk7CgogIGZhdXN0X3N2
Zy5kZWZzKCk7CiAgZmF1c3Rfc3ZnLmxtLm1vbSA9IGZhdXN0X3N2ZzsKICBmYXVzdF9zdmcubWFr
ZSgpOwp9CgpfZjR1JHQuYXNzaWduX3BhcmFtZXRlcnNfdG9fdmFsdWVzID0gZnVuY3Rpb24oVVJM
UGFyYW1zKSB7CiAgZm9yICh2YXIgaW5kZXggaW4gVVJMUGFyYW1zKSB7CiAgICB2YXIgc3BsaXRf
aW5kZXggPSBpbmRleC5zcGxpdCgnLicpOwogICAgaWYgKHNwbGl0X2luZGV4Lmxlbmd0aCAhPSAy
KSB7CiAgICAgIGNvbnRpbnVlOwogICAgfQogICAgaWYgKF9mNHUkdFtzcGxpdF9pbmRleFswXV0p
IHsKICAgICAgaWYgKF9mNHUkdFtzcGxpdF9pbmRleFswXV1bc3BsaXRfaW5kZXhbMV1dKSB7CiAg
ICAgICAgX2Y0dSR0W3NwbGl0X2luZGV4WzBdXVtzcGxpdF9pbmRleFsxXV0gPSBldmFsKFVSTFBh
cmFtc1tpbmRleF1bVVJMUGFyYW1zW2luZGV4XS5sZW5ndGggLSAxXSk7CiAgICAgIH0KICAgIH0K
ICB9Cn0KCi8qKgpUaGUgbWFpbiBmdW5jdGlvbiBjYWxsZWQgdG8gYnVpbGQgdGhlIGZhdXN0IFVJ
LgpQYXJzZXMgdGhlIFVSTCB0byBpbmNsdWRlIGFueSBuZXcgZG9jdW1lbnRzIGFuZCB0aGVuIGJ1
aWxkcyB0aGUgVUkuCgpAbWV0aG9kIG1haW4KQGZvciBfZjR1JHQKQHBhcmFtIHtPYmplY3R9IHJh
d19qc29uIEEgcmF3IEpTT04gb2JqZWN0IGRlc2NyaWJpbmcgdGhlIFVJIHRvIGJ1aWxkLgpAcGFy
YW0ge09iamVjdH0gZGl2IChvcHRpb25hbCkgVGhlIGRpdiB0byBwbGFjZSB0aGUgb2JqZWN0IGlu
LgoqKi8KX2Y0dSR0Lm1haW4gPSBmdW5jdGlvbihyYXdfanNvbiwgZGl2LCBjYWxsYmFjaykgewog
IC8vIGZpcnN0LCB3ZSBwYXJzZSBVUkwgcGFyYW1ldGVycyB0byBjaGFuZ2UgVUlzJyBzdHlsZSBp
ZiBuZWNlc3NhcnkKICB2YXIgVVJMUGFyYW1zID0gX2Y0dSR0LnBhcnNlVVJMUGFyYW1zKGRvY3Vt
ZW50LlVSTCk7CiAgLy8gdGhlbiB3ZSBhc3NpZ24gcGFyYW1ldGVycwogIF9mNHUkdC5hc3NpZ25f
cGFyYW1ldGVyc190b192YWx1ZXMoVVJMUGFyYW1zKTsKICAvLyB3ZSBtYWtlIHN1cmUgYWxsIEpT
IGFuZCBDU1MgaXMgbG9hZGVkIGJlZm9yZSB3ZSBidWlsZCB0aGUgVUkKICBfZjR1JHQubG9hZF9j
c3NfYW5kX3RoZW5fanMoVVJMUGFyYW1zLmNzcywgVVJMUGFyYW1zLmpzKTsKICBpZiAoIWRpdikg
ewogICAgdmFyIGRpdiA9ICQoICI8ZGl2IC8+IiApOwogICAgJCgiYm9keSIpLmFwcGVuZChkaXYp
OwogIH0KICB2YXIgd2lkdGggPSAkKGRpdikud2lkdGgoKTsKICBpZiAod2lkdGggPT0gMCkgewog
ICAgLy8gSFVPTTogdGhpcyAiLSAxNSIgaXMgYSBrbHVkZ2UgYW5kIHNob3VsZCBkZWFsdCB3aXRo
IG1vcmUgZWxlZ2FudGx5CiAgICB3aWR0aCA9ICQod2luZG93KS53aWR0aCgpIC0gMTU7CiAgfQog
IHZhciBoZWlnaHQgPSAkKGRpdikuaGVpZ2h0KCk7CiAgaWYgKGhlaWdodCA9PSAwKSB7CiAgICAv
LyBIVU9NOiB0aGlzICItIDE3IiBpcyBhIGtsdWRnZSBhbmQgc2hvdWxkIGRlYWx0IHdpdGggbW9y
ZSBlbGVnYW50bHkKICAgIGhlaWdodCA9ICQod2luZG93KS5oZWlnaHQoKSAtIDE3OwogIH0KICBp
ZiAoY2FsbGJhY2spIHsKICAgIF9mNHUkdC5IQU5ETEVSX0NBTExCQUNLUy5wdXNoKGNhbGxiYWNr
KTsKICB9CiAgZGl2LnN2Zyh7b25Mb2FkOiBmdW5jdGlvbiAoc3ZnKSB7CiAgICBfZjR1JHQubWFr
ZV91aShzdmcsIHJhd19qc29uLCB3aWR0aCwgaGVpZ2h0KTsKICB9fSk7Cn0KCi8qKgogIFRvIGJl
IGNhbGxlZCB3aGVuIHVzZWQgd2l0aCB0aGUgQysrL0xMVk0gbGliZmF1c3QgYmFzZWQgRmF1c3RO
b2RlLgoqKi8KX2Y0dSR0Lm1ha2VfYXVkaW9fdWkgPSBmdW5jdGlvbihkc3AsIHN2ZykgewogIHZh
ciBqc29uID0gZXZhbCAoIigiICsgZHNwLmpzb24oKSArICIpIik7CiAgdmFyIGZhdXN0X3N2ZyA9
IG5ldyBfZjR1JHQuU1ZHKAogICAgc3ZnLAogICAgLy8ga2x1ZGdlIHRvIHByZXZlbnQgc2Nyb2xs
IGJhcnMuLi4KICAgICQod2luZG93KS53aWR0aCgpIC0gMTUsCiAgICAvLyBrbHVkZ2UgdG8gcHJl
dmVudCBzY3JvbGwgYmFycy4uLgogICAgJCh3aW5kb3cpLmhlaWdodCgpIC0gMTcsCiAgICB7CiAg
ICAgIGNvbnN0cmFpbiA6IGZhbHNlLAogICAgICB0aXRsZSA6IGpzb25bInVpIl1bMF0ubGFiZWws
CiAgICAgIGxtIDogX2Y0dSR0Lmpzb25fdG9fdWkoanNvbikKICAgIH0KICApOwogIAogIC8vIEtl
ZXAgYXVkaW8gcGFyYW1zIGluIGEgdGFibGUgCiAgX2Y0dSR0LmNvbnRyb2xzID0gbmV3IEFycmF5
KCk7CiAgZm9yICh2YXIgaSA9IDA7IGkgPCBkc3AubnVtYmVyT2ZBdWRpb1BhcmFtcygpOyBpKysp
IHsKICAgIHZhciBjdHJsID0gZHNwLmdldEF1ZGlvUGFyYW0oaSk7CiAgICBfZjR1JHQuY29udHJv
bHNbY3RybC5uYW1lXSA9IGN0cmw7CiAgfQogIAogIF9mNHUkdC5mYXVzdGhhbmRsZXIgPSBmdW5j
dGlvbihkZXN0LCB2YWx1ZSkgewogICAgX2Y0dSR0LmNvbnRyb2xzW2Rlc3RdLnZhbHVlID0gdmFs
dWU7IAogIH0KICAgIAogIF9mNHUkdC5tYWluX2xvb3AgPSBmdW5jdGlvbigpIHt9CgogIGZhdXN0
X3N2Zy5kZWZzKCk7CiAgZmF1c3Rfc3ZnLmxtLm1vbSA9IGZhdXN0X3N2ZzsKICBmYXVzdF9zdmcu
bWFrZSgpOwp9CgogCl9mNHUkdC5kZXRlY3RfbW9iaWxlX2RldmljZSA9IHsKICAgIEFuZHJvaWQ6
IGZ1bmN0aW9uKCkgewogICAgICAgIHJldHVybiBuYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKC9B
bmRyb2lkL2kpOwogICAgfSwKICAgIEJsYWNrQmVycnk6IGZ1bmN0aW9uKCkgewogICAgICAgIHJl
dHVybiBuYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKC9CbGFja0JlcnJ5L2kpOwogICAgfSwKICAg
IGlPUzogZnVuY3Rpb24oKSB7CiAgICAgICAgcmV0dXJuIG5hdmlnYXRvci51c2VyQWdlbnQubWF0
Y2goL2lQaG9uZXxpUGFkfGlQb2QvaSk7CiAgICB9LAogICAgT3BlcmE6IGZ1bmN0aW9uKCkgewog
ICAgICAgIHJldHVybiBuYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKC9PcGVyYSBNaW5pL2kpOwog
ICAgfSwKICAgIFdpbmRvd3M6IGZ1bmN0aW9uKCkgewogICAgICAgIHJldHVybiBuYXZpZ2F0b3Iu
dXNlckFnZW50Lm1hdGNoKC9JRU1vYmlsZS9pKTsKICAgIH0sCiAgICBhbnk6IGZ1bmN0aW9uKCkg
ewogICAgICAgIHJldHVybiAoX2Y0dSR0LmRldGVjdF9tb2JpbGVfZGV2aWNlLkFuZHJvaWQoKQog
ICAgICAgICAgICAgICAgfHwgX2Y0dSR0LmRldGVjdF9tb2JpbGVfZGV2aWNlLkJsYWNrQmVycnko
KQogICAgICAgICAgICAgICAgfHwgX2Y0dSR0LmRldGVjdF9tb2JpbGVfZGV2aWNlLmlPUygpCiAg
ICAgICAgICAgICAgICB8fCBfZjR1JHQuZGV0ZWN0X21vYmlsZV9kZXZpY2UuT3BlcmEoKQogICAg
ICAgICAgICAgICAgfHwgX2Y0dSR0LmRldGVjdF9tb2JpbGVfZGV2aWNlLldpbmRvd3MoKSk7CiAg
ICB9Cn07CgpfZjR1JHQuZGlzYWJsZV96b29tID0gZnVuY3Rpb24oKSB7CiAgdmFyIGhlYWRJRCA9
IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJoZWFkIilbMF07CiAgdmFyIG1ldGFOb2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnbWV0YScpOwogIG1ldGFOb2RlLm5hbWUgPSAndmll
d3BvcnQnOwogIG1ldGFOb2RlLmNvbnRlbnQgPSAidGFyZ2V0LWRlbnNpdHlkcGk9ZGV2aWNlLWRw
aSwgaW5pdGlhbC1zY2FsZT0xLjAsIHVzZXItc2NhbGFibGU9bm8iOwogIGhlYWRJRC5hcHBlbmRD
aGlsZChtZXRhTm9kZSk7Cn0gCl9mNHUkdC5jaGVja2JveF9pbml0cyA9IHsKICBtb20gOiBudWxs
LAogIGQgOiAxOSwKICBpZCA6IG51bGwsCiAgbGFiZWwgOiAnJywKICBncmF2aXR5IDogW19mNHUk
dC5DRU5URVIsIF9mNHUkdC5DRU5URVJdLAogIHN0cmV0Y2hhYmxlIDogW2ZhbHNlLCBmYWxzZV0s
CiAgY2hlY2tfZmlsbCA6IF9mNHUkdC5CTEFDSywKICBjaGVja19zdHJva2UgOiBfZjR1JHQuQkxB
Q0ssCiAgYm94X2ZpbGwgOiBfZjR1JHQuV0hJVEUsCiAgYm94X3N0cm9rZSA6IF9mNHUkdC5CTEFD
SywKICBpbml0IDogZmFsc2UsCiAgdG9vbHRpcCA6ICcnLAogIGFkZHJlc3MgOiAnJwp9OwoKX2Y0
dSR0LmJ1dHRvbl9pbml0cyA9IHsKICBtb20gOiBudWxsLAogIGxhYmVsIDogJycsCiAgaWQgOiBu
dWxsLAogIHN0cmV0Y2hhYmxlIDogW2ZhbHNlLCBmYWxzZV0sCiAgaWRlYWxfd2lkdGggOiA4MCwK
ICBpZGVhbF9oZWlnaHQgOiA0MCwKICBncmF2aXR5IDogW19mNHUkdC5DRU5URVIsIF9mNHUkdC5D
RU5URVJdLAogIGZpbGxfb24gOiAidXJsKCNidXR0b25Eb3duR3JhZGllbnQpIiwKICBmaWxsX29m
ZiA6ICJ1cmwoI2J1dHRvblVwR3JhZGllbnQpIiwKICBzdHJva2UgOiBfZjR1JHQuR1JFWSwKICBi
YXNlbGluZV9za2lwIDogNSwKICB0b29sdGlwIDogJycsCiAgYWRkcmVzcyA6ICcnCn07CgpfZjR1
JHQudGdyb3VwX2luaXRzID0gewogIG1vbSA6IG51bGwsCiAgaGVhZHJvb20gOiA0MCwKICBoZWFk
cGFkZGluZyA6IDEwLAogIHhfcGFkZGluZyA6IDEwLAogIHhfd2lkdGggOiA4MCwKICBvYmpzIDog
W10sCiAgaW5pdCA6IDAsCiAgc3RyZXRjaGFibGUgOiBbZmFsc2UsIGZhbHNlXSwKICBncmF2aXR5
IDogW19mNHUkdC5DRU5URVIsIF9mNHUkdC5DRU5URVJdLAogIGJhc2VsaW5lX3NraXAgOiA1LAog
IHN0cm9rZSA6ICdvcmFuZ2UnLAogIHN0cmV0Y2hhYmxlIDogW3RydWUsIHRydWVdLAogIGlkIDog
bnVsbCwKICBmaWxsX29uIDogInVybCgjdGFiR3JvdXBEb3duR3JhZGllbnQpIiwKICBmaWxsX29m
ZiA6ICJ1cmwoI3RhYkdyb3VwVXBHcmFkaWVudCkiCn07CgpfZjR1JHQuZ3JvdXBfaW5pdHMgPSB7
CiAgbW9tIDogbnVsbCwKICBheGlzIDogX2Y0dSR0LlhfQVhJUywKICBwYWRkaW5nIDogMTAsCiAg
b3RoZXJfYXhpc19wYWRkaW5nIDogMTAsCiAgZHJhd19iYWNrZ3JvdW5kIDogdHJ1ZSwKICBsYWJl
bCA6ICcnLAogIG9ianMgOiBbXSwKICBncmF2aXR5IDogW19mNHUkdC5DRU5URVIsIF9mNHUkdC5D
RU5URVJdLAogIGxhYmVsIDogJycsCiAgZmlsbCA6ICd1cmwoI2dyb3VwQm94R3JhZGllbnQpJywK
ICBzdHJldGNoYWJsZSA6IFtmYWxzZSwgZmFsc2VdLAogIHN0cm9rZSA6IF9mNHUkdC5HUkVZLAog
IHN0cmV0Y2hhYmxlIDogW3RydWUsIHRydWVdCn0KCl9mNHUkdC52Z3JvdXBfaW5pdHMgPSAkLmV4
dGVuZCh0cnVlLCB7fSwgX2Y0dSR0Lmdyb3VwX2luaXRzKTsKX2Y0dSR0Lmhncm91cF9pbml0cyA9
ICQuZXh0ZW5kKHRydWUsIHt9LCBfZjR1JHQuZ3JvdXBfaW5pdHMpOwoKX2Y0dSR0LnJidXR0b25f
aW5pdHMgPSB7CiAgbW9tIDogbnVsbCwKICAvL2lyIDogNTAsCiAgaXIgOiAzMCwKICBhMCA6IDEz
NSwKICBzd2VlcCA6IDI3MCwKICBzcCA6IDAuOSwKICBrcCA6IDAuNywKICBpZCA6IG51bGwsCiAg
bGFiZWwgOiAnJywKICB1bml0IDogbnVsbCwKICBtaW4gOiAwLAogIG1heCA6IDEwMCwKICBpbml0
IDogNTAsCiAgc3RlcCA6IDEsCiAgaW50ZWdlciA6IGZhbHNlLAogIG5kZWMgOiAwLAogIHN0cmV0
Y2hhYmxlIDogW2ZhbHNlLCBmYWxzZV0sCiAgZ3Jhdml0eSA6IFtfZjR1JHQuQ0VOVEVSLCBfZjR1
JHQuQ0VOVEVSXSwKICBtZXRlcl9maWxsIDogJ3JnYig1MCw1MCw1MCknLAogIG1ncm9vdmVfZmls
bCA6ICd1cmwoI3JvdGF0aW5nQnV0dG9uTWV0ZXJHcmFkaWVudCknLAogIGRvdF9maWxsIDogX2Y0
dSR0LlBJTkssCiAgZ3Jvb3ZlX2ZpbGwgOiAndXJsKCNyb3RhdGluZ0J1dHRvbkhhbmRsZUdyYWRp
ZW50KScsCiAgaGFuZGxlX2ZpbGwgOiAnbm9uZScsCiAgbWdyb292ZV9zdHJva2UgOiBfZjR1JHQu
QkxBQ0ssCiAgZG90X3N0cm9rZSA6IF9mNHUkdC5CTEFDSywKICBncm9vdmVfc3Ryb2tlIDogX2Y0
dSR0LkJMQUNLLAogIGhhbmRsZV9zdHJva2UgOiBfZjR1JHQuV0hJVEUsCiAgbWV0ZXJfc3Ryb2tl
IDogX2Y0dSR0LkJMQUNLLAogIGhhbmRsZV93aWR0aCA6IDYsCiAgdG9vbHRpcCA6ICcnLAogIGFk
ZHJlc3MgOiAnJwp9CgpfZjR1JHQuc2xpZGluZ29iamVjdF9pbml0cyA9IHsKICBtb20gOiBudWxs
LAogIGlkIDogbnVsbCwKICBheGlzIDogX2Y0dSR0LlhfQVhJUywKICBnaXJ0aCA6IDQwLAogIGxl
bmd0aCA6IDE3NSwKICBsYWJlbCA6ICcnLAogIHVuaXQgOiBudWxsLAogIG1pbiA6IDAsCiAgbWF4
IDogMTAwLAogIGluaXQgOiA1MCwKICBzdGVwIDogMSwKICBpbnRlZ2VyIDogZmFsc2UsCiAgbmRl
YyA6IDAsCiAgZ3Jhdml0eSA6IFtfZjR1JHQuQ0VOVEVSLCBfZjR1JHQuQ0VOVEVSXSwKICBhZGRy
ZXNzIDogICcnLAogIHRvb2x0aXAgOiAnJywKICB0eXBlIDogJycKfTsKCl9mNHUkdC5zbGlkZXJf
aW5pdHMgPSAkLmV4dGVuZCh0cnVlLCB7fSwgX2Y0dSR0LnNsaWRpbmdvYmplY3RfaW5pdHMpOwpf
ZjR1JHQuc2xpZGVyX2luaXRzLnNwID0gMzA7Cl9mNHUkdC5zbGlkZXJfaW5pdHMuZ3Jvb3ZlX2Zp
bGwgPSAncmVkJzsKX2Y0dSR0LnNsaWRlcl9pbml0cy5ncm9vdmVfc3Ryb2tlID0gX2Y0dSR0LkJM
QUNLOwpfZjR1JHQuc2xpZGVyX2luaXRzLmhhbmRsZV9zdHJva2UgPSBfZjR1JHQuQkxBQ0s7Cgpf
ZjR1JHQuaHNsaWRlcl9pbml0cyA9ICQuZXh0ZW5kKHRydWUsIHt9LCBfZjR1JHQuc2xpZGVyX2lu
aXRzKTsKX2Y0dSR0LmhzbGlkZXJfaW5pdHMuaGFuZGxlX2ZpbGwgPSAndXJsKCNob3Jpem9udGFs
U2xpZGVySGFuZGxlR3JhZGllbnQpJzsKX2Y0dSR0LmhzbGlkZXJfaW5pdHMubWV0ZXJfZmlsbCA9
ICd1cmwoI2hvcml6b250YWxTbGlkZXJNZXRlckdyYWRpZW50KSc7Cl9mNHUkdC5oc2xpZGVyX2lu
aXRzLnN0cmV0Y2hhYmxlID0gW3RydWUsIGZhbHNlXTsKX2Y0dSR0LnZzbGlkZXJfaW5pdHMgPSAk
LmV4dGVuZCh0cnVlLCB7fSwgX2Y0dSR0LnNsaWRlcl9pbml0cyk7Cl9mNHUkdC52c2xpZGVyX2lu
aXRzLmhhbmRsZV9maWxsID0gJ3VybCgjdmVydGljYWxTbGlkZXJIYW5kbGVHcmFkaWVudCknOwpf
ZjR1JHQudnNsaWRlcl9pbml0cy5tZXRlcl9maWxsID0gJ3VybCgjdmVydGljYWxTbGlkZXJNZXRl
ckdyYWRpZW50KSc7Cl9mNHUkdC52c2xpZGVyX2luaXRzLnN0cmV0Y2hhYmxlID0gW2ZhbHNlLCB0
cnVlXTsKCl9mNHUkdC5iYXJncmFwaF9pbml0cyA9ICQuZXh0ZW5kKHRydWUsIHt9LCBfZjR1JHQu
c2xpZGluZ29iamVjdF9pbml0cyk7Cl9mNHUkdC5iYXJncmFwaF9pbml0cy5jdXJ0YWluX2ZpbGwg
PSBfZjR1JHQuQkxBQ0s7Cl9mNHUkdC5iYXJncmFwaF9pbml0cy5tZXRlcl9maWxsID0gJ3VybCgj
YmFyR3JhcGhNZXRlckdyYWRpZW50KSc7Cl9mNHUkdC5iYXJncmFwaF9pbml0cy5jdXJ0YWluX3N0
cm9rZSA9IF9mNHUkdC5CTEFDSzsKX2Y0dSR0LmJhcmdyYXBoX2luaXRzLm1ldGVyX3N0cm9rZSA9
IF9mNHUkdC5CTEFDSzsKX2Y0dSR0LmJhcmdyYXBoX2luaXRzLmluaXQgPSBudWxsOwpfZjR1JHQu
YmFyZ3JhcGhfaW5pdHMuZ2lydGggPSAzMDsKCl9mNHUkdC5oYmFyZ3JhcGhfaW5pdHMgPSAkLmV4
dGVuZCh0cnVlLCB7fSwgX2Y0dSR0LmJhcmdyYXBoX2luaXRzKTsKX2Y0dSR0LmhiYXJncmFwaF9p
bml0cy5tZXRlcl9maWxsID0gJ3VybCgjaG9yaXpvbnRhbEJhckdyYXBoTWV0ZXJHcmFkaWVudCkn
OwpfZjR1JHQuaGJhcmdyYXBoX2luaXRzLnN0cmV0Y2hhYmxlID0gW3RydWUsIGZhbHNlXTsKX2Y0
dSR0LnZiYXJncmFwaF9pbml0cyA9ICQuZXh0ZW5kKHRydWUsIHt9LCBfZjR1JHQuYmFyZ3JhcGhf
aW5pdHMpOwpfZjR1JHQudmJhcmdyYXBoX2luaXRzLm1ldGVyX2ZpbGwgPSAndXJsKCN2ZXJ0aWNh
bEJhckdyYXBoTWV0ZXJHcmFkaWVudCknOwpfZjR1JHQudmJhcmdyYXBoX2luaXRzLnN0cmV0Y2hh
YmxlID0gW2ZhbHNlLCB0cnVlXTsKCl9mNHUkdC5uZW50cnlfaW5pdHMgPSB7CiAgbW9tIDogbnVs
bCwKICBpZCA6IG51bGwsCiAgaWRlYWxfd2lkdGggOiBfZjR1JHQuVkFMVUVfQk9YX1csCiAgaWRl
YWxfaGVpZ2h0IDogX2Y0dSR0LlZBTFVFX0JPWF9ILAogIGxhYmVsIDogJycsCiAgdW5pdCA6IG51
bGwsCiAgbWluIDogMCwKICBtYXggOiAxMDAsCiAgaW5pdCA6IDUwLAogIHN0ZXAgOiAxLAogIGlu
dGVnZXIgOiBmYWxzZSwKICBuZGVjIDogMCwKICBzdHJldGNoYWJsZSA6IFtmYWxzZSwgZmFsc2Vd
LAogIGJ1dHRvbl9maWxsIDogX2Y0dSR0LkdSRVksCiAgb3BlcmF0aW9uX2ZpbGwgOiBfZjR1JHQu
QkxBQ0ssCiAgYnV0dG9uX3N0cm9rZSA6IF9mNHUkdC5CTEFDSywKICBvcGVyYXRpb25fc3Ryb2tl
IDogX2Y0dSR0LkJMQUNLLAogIHBhZGRpbmcgOiAxLAogIGdyYXZpdHkgOiBbX2Y0dSR0LkNFTlRF
UiwgX2Y0dSR0LkNFTlRFUl0sCiAgdHlwZSA6ICduZW50cnknLAogIHRvb2x0aXAgOiAnJywKICBh
ZGRyZXNzIDogJycKfQoKX2Y0dSR0LnZib3hfaW5pdHMgPSB7CiAgbW9tIDogbnVsbCwKICBpZCA6
IG51bGwsCiAgd2lkdGggOiBfZjR1JHQuVkFMVUVfQk9YX1csCiAga2V5c2luayA6IHRydWUsCiAg
aGVpZ2h0IDogX2Y0dSR0LlZBTFVFX0JPWF9ILAogIGdyYXZpdHkgOiBbX2Y0dSR0LkNFTlRFUiwg
X2Y0dSR0LkNFTlRFUl0sCiAgc3RyZXRjaGFibGUgOiBbZmFsc2UsIGZhbHNlXSwKICBpbml0IDog
NTAKfQoKX2Y0dSR0LmxhYmVsX2luaXRzID0gewogIG1vbSA6IG51bGwsCiAgbGFiZWwgOiAnJywK
ICBpZCA6IG51bGwsCiAgZ3Jhdml0eSA6IFtfZjR1JHQuQ0VOVEVSLCBfZjR1JHQuQ0VOVEVSXSwK
ICBzdHJldGNoYWJsZSA6IFtmYWxzZSwgZmFsc2VdCn0KCl9mNHUkdC5saW5lYXJfZ3JhZGllbnRf
aW5pdHMgPSB7CiAgYnV0dG9uRG93bkdyYWRpZW50IDoKICAgIHsKICAgICAgc3RvcHMgOiBbWycw
JScsICcjNDA0MDQwJywgMV0sWycxMDAlJywgJyNCMEIwQjAnLCAxXV0sCiAgICAgIHgxIDogIjAl
IiwKICAgICAgeTEgOiAiMCUiLAogICAgICB4MiA6ICIwJSIsCiAgICAgIHkyIDogIjEwMCUiLAog
ICAgICBzZXR0aW5ncyA6IHsKICAgICAgICBncmFkaWVudFVuaXRzOidvYmplY3RCb3VuZGluZ0Jv
eCcKICAgICAgfQogICAgfSwKICBidXR0b25VcEdyYWRpZW50IDoKICAgIHsKICAgICAgc3RvcHMg
OiBbWycwJScsICcjQjBCMEIwJywgMV0sWycxMDAlJywgJyM0MDQwNDAnLCAxXV0sCiAgICAgIHgx
IDogIjAlIiwKICAgICAgeTEgOiAiMCUiLAogICAgICB4MiA6ICIxMDAlIiwKICAgICAgeTIgOiAi
MTAwJSIsCiAgICAgIHNldHRpbmdzIDogewogICAgICAgIGdyYWRpZW50VW5pdHM6J29iamVjdEJv
dW5kaW5nQm94JwogICAgICB9CiAgICB9LAogIHRhYkdyb3VwRG93bkdyYWRpZW50IDoKICAgIHsK
ICAgICAgc3RvcHMgOiBbWycwJScsICcjNDA0MDQwJywgMV0sWycxMDAlJywgJyNCMEIwQjAnLCAx
XV0sCiAgICAgIHgxIDogIjAlIiwKICAgICAgeTEgOiAiMCUiLAogICAgICB4MiA6ICIwJSIsCiAg
ICAgIHkyIDogIjEwMCUiLAogICAgICBzZXR0aW5ncyA6IHsKICAgICAgICBncmFkaWVudFVuaXRz
OidvYmplY3RCb3VuZGluZ0JveCcKICAgICAgfQogICAgfSwKICB0YWJHcm91cFVwR3JhZGllbnQg
OgogICAgewogICAgICBzdG9wcyA6IFtbJzAlJywgJyNCMEIwQjAnLCAxXSxbJzEwMCUnLCAnIzQw
NDA0MCcsIDFdXSwKICAgICAgeDEgOiAiMCUiLAogICAgICB5MSA6ICIwJSIsCiAgICAgIHgyIDog
IjEwMCUiLAogICAgICB5MiA6ICIxMDAlIiwKICAgICAgc2V0dGluZ3MgOiB7CiAgICAgICAgZ3Jh
ZGllbnRVbml0czonb2JqZWN0Qm91bmRpbmdCb3gnCiAgICAgIH0KICAgIH0sCiAgZ3JvdXBCb3hH
cmFkaWVudCA6CiAgICB7CiAgICAgIHN0b3BzIDogW1snMCUnLCAnI0EwQTBBMCcsIDFdLFsnMTAw
JScsICcjMjAyMDIwJywgMV1dLAogICAgICB4MSA6ICIwJSIsCiAgICAgIHkxIDogIjAlIiwKICAg
ICAgeDIgOiAiMTAwJSIsCiAgICAgIHkyIDogIjEwMCUiLAogICAgICBzZXR0aW5ncyA6IHsKICAg
ICAgICBncmFkaWVudFVuaXRzOidvYmplY3RCb3VuZGluZ0JveCcKICAgICAgfQogICAgfSwKICB2
ZXJ0aWNhbFNsaWRlckhhbmRsZUdyYWRpZW50IDoKICAgIHsKICAgICAgc3RvcHMgOiBbWycwJScs
ICcjQUFBQUFBJywgMV0sIFsnNSUnICwnIzBBMEEwQScsIDFdLCBbJzMwJScsJyMxMDEwMTAnLCAx
XSwgWyc5MCUnLCcjQUFBQUFBJywgMV0sIFsnOTElJywnIzAwMDAwMCcsIDFdXSwKICAgICAgeDEg
OiAiMCUiLAogICAgICB5MSA6ICIwJSIsCiAgICAgIHgyIDogIjAlIiwKICAgICAgeTIgOiAiMTAw
JSIsCiAgICAgIHNldHRpbmdzIDogewogICAgICAgIGdyYWRpZW50VW5pdHM6J29iamVjdEJvdW5k
aW5nQm94JwogICAgICB9CiAgICB9LAogIGhvcml6b250YWxTbGlkZXJIYW5kbGVHcmFkaWVudCA6
CiAgICB7CiAgICAgIHN0b3BzIDogW1snMCUnLCAnI0FBQUFBQScsIDFdLCBbJzUlJyAsJyMwQTBB
MEEnLCAxXSwgWyczMCUnLCcjMTAxMDEwJywgMV0sIFsnOTAlJywnI0FBQUFBQScsIDFdLCBbJzkx
JScsJyMwMDAwMDAnLCAxXV0sCiAgICAgIHgxIDogIjAlIiwKICAgICAgeTEgOiAiMCUiLAogICAg
ICB4MiA6ICIxMDAlIiwKICAgICAgeTIgOiAiMCUiLAogICAgICBzZXR0aW5ncyA6IHsKICAgICAg
ICBncmFkaWVudFVuaXRzOidvYmplY3RCb3VuZGluZ0JveCcKICAgICAgfQogICAgfSwKICByb3Rh
dGluZ0J1dHRvbk1ldGVyR3JhZGllbnQgOgogICAgewogICAgICBzdG9wcyA6IFtbJzAlJywgJ3Jn
YigyNTUsMjU1LDApJywgMV0sIFsnMTAwJScsICdyZ2IoMjU1LDAsMCknLCAxXV0sCiAgICAgIHgx
IDogIjAlIiwKICAgICAgeTEgOiAiMCUiLAogICAgICB4MiA6ICIxMDAlIiwKICAgICAgeTIgOiAi
MCUiLAogICAgICBzZXR0aW5ncyA6IHsKICAgICAgICBncmFkaWVudFVuaXRzOidvYmplY3RCb3Vu
ZGluZ0JveCcKICAgICAgfQogICAgfSwKICBob3Jpem9udGFsU2xpZGVyTWV0ZXJHcmFkaWVudCA6
CiAgICB7CiAgICAgIHN0b3BzIDogW1snMCUnLCAncmdiKDI1NSwyNTUsMCknLCAxXSwgWycxMDAl
JywgJ3JnYigyNTUsMCwwKScsIDFdXSwKICAgICAgeDEgOiAiMCUiLAogICAgICB5MSA6ICIwJSIs
CiAgICAgIHgyIDogIjEwMCUiLAogICAgICB5MiA6ICIwJSIsCiAgICAgIHNldHRpbmdzIDogewog
ICAgICAgIGdyYWRpZW50VW5pdHM6J29iamVjdEJvdW5kaW5nQm94JwogICAgICB9CiAgICB9LAog
IHZlcnRpY2FsU2xpZGVyTWV0ZXJHcmFkaWVudCA6CiAgICB7CiAgICAgIHN0b3BzIDogW1snMCUn
LCAncmdiKDI1NSwwLDApJywgMV0sIFsnMTAwJScsICdyZ2IoMjU1LDI1NSwwKScsIDFdXSwKICAg
ICAgeDEgOiAiMCUiLAogICAgICB5MSA6ICIwJSIsCiAgICAgIHgyIDogIjAlIiwKICAgICAgeTIg
OiAiMTAwJSIsCiAgICAgIHNldHRpbmdzIDogewogICAgICAgIGdyYWRpZW50VW5pdHM6J29iamVj
dEJvdW5kaW5nQm94JwogICAgICB9CiAgICB9LAogIG51bWVyaWNhbEVudHJ5RG93bkdyYWRpZW50
IDoKICAgIHsKICAgICAgc3RvcHMgOiBbWycwJScsICcjNDA0MDQwJywgMV0sWycxMDAlJywgJyNC
MEIwQjAnLCAxXV0sCiAgICAgIHgxIDogIjAlIiwKICAgICAgeTEgOiAiMCUiLAogICAgICB4MiA6
ICIwJSIsCiAgICAgIHkyIDogIjEwMCUiLAogICAgICBzZXR0aW5ncyA6IHsKICAgICAgICBncmFk
aWVudFVuaXRzOidvYmplY3RCb3VuZGluZ0JveCcKICAgICAgfQogICAgfSwKICBudW1lcmljYWxF
bnRyeVVwR3JhZGllbnQgOgogICAgewogICAgICBzdG9wcyA6IFtbJzAlJywgJyNCMEIwQjAnLCAx
XSxbJzEwMCUnLCAnIzQwNDA0MCcsIDFdXSwKICAgICAgeDEgOiAiMCUiLAogICAgICB5MSA6ICIw
JSIsCiAgICAgIHgyIDogIjEwMCUiLAogICAgICB5MiA6ICIxMDAlIiwKICAgICAgc2V0dGluZ3Mg
OiB7CiAgICAgICAgZ3JhZGllbnRVbml0czonb2JqZWN0Qm91bmRpbmdCb3gnCiAgICAgIH0KICAg
IH0sCiAgaG9yaXpvbnRhbEJhckdyYXBoTWV0ZXJHcmFkaWVudCA6CiAgICB7CiAgICAgIHN0b3Bz
IDogW1snMCUnLCAncmdiKDAsIDE2MCwgNDApJywgMV0sIFsnNTAlJywgJ3JnYigwLCAxNjAsIDQw
KScsIDFdLAogICAgICAgICAgICAgICBbJzUwJScsICdyZ2IoMTYwLCAyMjAsIDIwKScsIDFdLCBb
JzYwJScsICdyZ2IoMTYwLCAyMjAsIDIwKScsIDFdLAogICAgICAgICAgICAgICBbJzYwJScsICdy
Z2IoMjIwLCAyMjAsIDIwKScsIDFdLCBbJzcwJScsICdyZ2IoMjIwLCAyMjAsIDIwKScsIDFdLAog
ICAgICAgICAgICAgICBbJzcwJScsICdyZ2IoMjQwLCAxNjAsIDIwKScsIDFdLCBbJzgwJScsICdy
Z2IoMjQwLCAxNjAsIDIwKScsIDFdLAogICAgICAgICAgICAgICBbJzgwJScsICdyZ2IoMjQwLCAw
LCAyMCknLCAxXSwgWycxMDAlJywgJ3JnYigyNDAsIDAsIDIwKScsIDFdXSwKICAgICAgeDEgOiAi
MCUiLAogICAgICB5MSA6ICIwJSIsCiAgICAgIHgyIDogIjEwMCUiLAogICAgICB5MiA6ICIwJSIs
CiAgICAgIHNldHRpbmdzIDogewogICAgICAgIGdyYWRpZW50VW5pdHM6J29iamVjdEJvdW5kaW5n
Qm94JwogICAgICB9CiAgICB9LAogIHZlcnRpY2FsQmFyR3JhcGhNZXRlckdyYWRpZW50IDoKICAg
IHsKICAgICAgc3RvcHMgOiBbWycwJScsICdyZ2IoMjQwLCAwLCAyMCknLCAxXSwgWycyMCUnLCAn
cmdiKDI0MCwgMCwgMjApJywgMV0sCiAgICAgICAgICAgICAgIFsnMjAlJywgJ3JnYigyNDAsIDE2
MCwgMjApJywgMV0sIFsnMzAlJywgJ3JnYigyNDAsIDE2MCwgMjApJywgMV0sCiAgICAgICAgICAg
ICAgIFsnMzAlJywgJ3JnYigyMjAsIDIyMCwgMjApJywgMV0sIFsnNDAlJywgJ3JnYigyMjAsIDIy
MCwgMjApJywgMV0sCiAgICAgICAgICAgICAgIFsnNDAlJywgJ3JnYigxNjAsIDIyMCwgMjApJywg
MV0sIFsnNTAlJywgJ3JnYigxNjAsIDIyMCwgMjApJywgMV0sCiAgICAgICAgICAgICAgIFsnODAl
JywgJ3JnYigwLCAxNjAsIDQwKScsIDFdLCBbJzEwMCUnLCAncmdiKDAsIDE2MCwgNDApJywgMV1d
LAogICAgICB4MSA6ICIwJSIsCiAgICAgIHkxIDogIjAlIiwKICAgICAgeDIgOiAiMCUiLAogICAg
ICB5MiA6ICIxMDAlIiwKICAgICAgc2V0dGluZ3MgOiB7CiAgICAgICAgZ3JhZGllbnRVbml0czon
b2JqZWN0Qm91bmRpbmdCb3gnCiAgICAgIH0KICAgIH0KfQoKX2Y0dSR0LnJhZGlhbF9ncmFkaWVu
dF9pbml0cyA9IHsKICByb3RhdGluZ0J1dHRvbkhhbmRsZUdyYWRpZW50IDoKICAgIHsKICAgICAg
c3RvcHMgOiBbWycwJScsICdyZ2IoMjU1LDI1NSwyNTUpJywgMC44XSxbJzEwMCUnLCAncmdiKDEx
MCwxMTAsMTEwKScsIDFdXSwKICAgICAgY3ggOiAiNDAlIiwKICAgICAgY3kgOiAiMzUlIiwKICAg
ICAgciA6ICI1MCUiLAogICAgICBmeCA6ICI0MCUiLAogICAgICBmeSA6ICIyMCUiLAogICAgICBz
ZXR0aW5ncyA6IHsKICAgICAgICBncmFkaWVudFVuaXRzOidvYmplY3RCb3VuZGluZ0JveCcKICAg
ICAgfQogICAgfQp9CgpfZjR1JHQuaW5pdF9wcm9wID0gZnVuY3Rpb24oaW5zdGFuY2UsIG9wdGlv
bnMsIG9iaiwgcHJvcCkgewogIGluc3RhbmNlW3Byb3BdID0gX2Y0dSR0LmluaXRpZm51bGwob3B0
aW9uc1twcm9wXSwgX2Y0dSR0W29iaisnX2luaXRzJ11bcHJvcF0pOwp9CiAKLy8gRlJPTSBodHRw
Oi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzgxNDYxMy9ob3ctdG8tcmVhZC1nZXQtZGF0
YS1mcm9tLWEtdXJsLXVzaW5nLWphdmFzY3JpcHQKCl9mNHUkdC5wYXJzZVVSTFBhcmFtcyA9IGZ1
bmN0aW9uKHVybCkgewogIC8vdmFyIHF1ZXJ5U3RhcnQgPSB1cmwuaW5kZXhPZigiPyIpICsgMTsK
ICAvL3ZhciBxdWVyeUVuZCAgID0gdXJsLmluZGV4T2YoIiMiKSArIDEgfHwgdXJsLmxlbmd0aCAr
IDE7CiAgdmFyIHF1ZXJ5U3RhcnQgPSB1cmwuaW5kZXhPZigiIyIpICsgMTsKICB2YXIgcXVlcnlF
bmQgICA9IHVybC5sZW5ndGggKyAxOwogIHZhciBxdWVyeSAgICAgID0gdXJsLnNsaWNlKHF1ZXJ5
U3RhcnQsIHF1ZXJ5RW5kIC0gMSk7CiAgdmFyIHBhcmFtcyAgPSB7fTsKCiAgaWYgKHF1ZXJ5ID09
PSB1cmwgfHwgcXVlcnkgPT09ICIiKQogICAgcmV0dXJuIHBhcmFtczsKCiAgdmFyIG52UGFpcnMg
PSBxdWVyeS5yZXBsYWNlKC9cKy9nLCAiICIpLnNwbGl0KCImIik7CgogIGZvciAodmFyIGk9MDsg
aTxudlBhaXJzLmxlbmd0aDsgaSsrKSB7CiAgICB2YXIgbnYgPSBudlBhaXJzW2ldLnNwbGl0KCI9
Iik7CiAgICB2YXIgbiAgPSBkZWNvZGVVUklDb21wb25lbnQobnZbMF0pOwogICAgdmFyIHYgID0g
ZGVjb2RlVVJJQ29tcG9uZW50KG52WzFdKTsKICAgIGlmICghKG4gaW4gcGFyYW1zKSkgewogICAg
ICBwYXJhbXNbbl0gPSBbXTsKICAgIH0KICAgIHBhcmFtc1tuXS5wdXNoKG52Lmxlbmd0aCA9PT0g
MiA/IHYgOiBudWxsKTsKICB9CiAgcmV0dXJuIHBhcmFtczsKfQoKX2Y0dSR0LmxvYWRfY3NzX2Fu
ZF90aGVuX2pzID0gZnVuY3Rpb24oY3NzLCBqcykgewogIGlmICghY3NzIHx8IChjc3MubGVuZ3Ro
ID09IDApKSB7CiAgICBfZjR1JHQubG9hZF9qcyhqcyk7CiAgfQogIGVsc2UgewogICAgdmFyIGhl
YWRJRCA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJoZWFkIilbMF07CiAgICB2YXIg
Y3NzTm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2xpbmsnKTsKICAgIGNzc05vZGUudHlw
ZSA9ICd0ZXh0L2Nzcyc7CiAgICBjc3NOb2RlLnJlbCA9ICdzdHlsZXNoZWV0JzsKICAgIGNzc05v
ZGUuaHJlZiA9IGNzc1swXTsKICAgIGNzc05vZGUubWVkaWEgPSAnc2NyZWVuJzsKICAgIGhlYWRJ
RC5hcHBlbmRDaGlsZChjc3NOb2RlKTsKICAgIF9mNHUkdC5sb2FkX2Nzc19hbmRfdGhlbl9qcyhj
c3Muc2xpY2UoMSksIGpzKTsKICB9Cn0KCl9mNHUkdC5sb2FkX2pzID0gZnVuY3Rpb24oanMpIHsK
ICBpZiAoIWpzIHx8IChqcy5sZW5ndGggPT0gMCkpIHsKICAgIHJldHVybjsKICB9CiAgZWxzZSB7
CiAgICAkLmdldFNjcmlwdChqc1swXSwgZnVuY3Rpb24gKCkgewogICAgICBfZjR1JHQubG9hZF9q
cyhqcy5zbGljZSgxKSk7CiAgICB9KTsKICB9Cn0KIAovLyBhbGwgb25sb2FkIG5lZWQgdG8gYmUg
cHVzaGVkIHRvIHRoZSBlbmQgb2YgdGhlIGNyZWF0aW9uCgovKgogIERFRklORVMgVEhFIEZBVVNU
IE9CSkVDVCBDTEFTUy4KICBBbGwgZ3JhcGhpY2FsIG9iamVjdHMgaW5oZXJpdCBmcm9tIHRoaXMu
CiovCgpfZjR1JHQuVUlPYmplY3QgPSBmdW5jdGlvbigpIHsKICB0aGlzLnggPSAwLjA7CiAgdGhp
cy55ID0gMC4wOwp9CgpfZjR1JHQuVUlPYmplY3QucHJvdG90eXBlLm1ha2VfZ3JvdXAgPSBmdW5j
dGlvbihzdmcsIHBhcmVudCwgaWQpIHsKICB2YXIgb3V0ID0gc3ZnLmdyb3VwKAogICAgcGFyZW50
LAogICAgaWQsCiAgICB7CiAgICAgIHRyYW5zZm9ybTogJ3RyYW5zbGF0ZSgnK3RoaXMueCsnLCcr
dGhpcy55KycpJwogICAgfSk7CgogIHJldHVybiBvdXQ7Cn0KCl9mNHUkdC5VSU9iamVjdC5wcm90
b3R5cGUuZ2V0X3hfb2Zmc2V0ID0gZnVuY3Rpb24oKSB7CiAgaWYgKCF0aGlzLm1vbSkgewogICAg
cmV0dXJuIHRoaXMueDsKICB9CiAgcmV0dXJuIHRoaXMueCArIHRoaXMubW9tLmdldF94X29mZnNl
dCgpOwp9CgpfZjR1JHQuVUlPYmplY3QucHJvdG90eXBlLmdldF95X29mZnNldCA9IGZ1bmN0aW9u
KCkgewogIGlmICghdGhpcy5tb20pIHsKICAgIHJldHVybiB0aGlzLnk7CiAgfQogIHJldHVybiB0
aGlzLnkgKyB0aGlzLm1vbS5nZXRfeV9vZmZzZXQoKTsKfQoKX2Y0dSR0LlVJT2JqZWN0LnByb3Rv
dHlwZS5zZXRYID0gZnVuY3Rpb24oeCkgewogIHRoaXMueCA9IHgKfQoKX2Y0dSR0LlVJT2JqZWN0
LnByb3RvdHlwZS5zZXRZID0gZnVuY3Rpb24oeSkgewogIHRoaXMueSA9IHkKfQoKX2Y0dSR0LlVJ
T2JqZWN0LnByb3RvdHlwZS5kb19zcGFjaW5nID0gZnVuY3Rpb24obGVhZikgeyB9CgpfZjR1JHQu
VUlPYmplY3QucHJvdG90eXBlLnN0cmV0Y2ggPSBmdW5jdGlvbih4LHkpIHsKICAvKgogICAgdGhl
IHdob2xlIGZhbWlseQogICAgYWxsIHdpdGggd2hpdGUgaGFpciBhbmQgY2FuZXMKICAgIHZpc2l0
aW5nIGdyYXZlcwogICovCn0KCl9mNHUkdC5VSU9iamVjdC5wcm90b3R5cGUuZ2V0X3Jvb3Rfc3Zn
ID0gZnVuY3Rpb24oKSB7CiAgaWYgKCF0aGlzLm1vbSkgewogICAgcmV0dXJuIG51bGw7CiAgfQog
IHJldHVybiAodGhpcy5tb20uc3ZnID8gdGhpcy5tb20uc3ZnIDogdGhpcy5tb20uZ2V0X3Jvb3Rf
c3ZnKCkpOwp9CgpfZjR1JHQuVUlPYmplY3QucHJvdG90eXBlLmdldF9yb290X3Rvb2x0aXBfZ3Jv
dXAgPSBmdW5jdGlvbigpIHsKICBpZiAoIXRoaXMubW9tKSB7CiAgICByZXR1cm4gbnVsbDsKICB9
CiAgcmV0dXJuICh0aGlzLm1vbS50b29sdGlwX2dyb3VwID8gdGhpcy5tb20udG9vbHRpcF9ncm91
cCA6IHRoaXMubW9tLmdldF9yb290X3Rvb2x0aXBfZ3JvdXAoKSk7Cn0KCl9mNHUkdC5VSU9iamVj
dC5wcm90b3R5cGUuZ2V0X2xheW91dF9tYW5hZ2VyID0gZnVuY3Rpb24oKSB7CiAgaWYgKCF0aGlz
Lm1vbSkgewogICAgcmV0dXJuIG51bGw7CiAgfQogIHJldHVybiAodGhpcy5tb20gaW5zdGFuY2Vv
ZiBfZjR1JHQuTGF5b3V0TWFuYWdlciA/IHRoaXMubW9tIDogdGhpcy5tb20uZ2V0X2xheW91dF9t
YW5hZ2VyKCkpOwp9CgpfZjR1JHQuZGVsYXllZF90b29sdGlwcyA9IFtdOwoKX2Y0dSR0LlVJT2Jq
ZWN0LnByb3RvdHlwZS5tYWtlX2RlbGF5ZWRfdG9vbHRpcHMgPSBmdW5jdGlvbigpIHsKICBmb3Ig
KHZhciBpID0gMDsgaSA8IF9mNHUkdC5kZWxheWVkX3Rvb2x0aXBzLmxlbmd0aDsgaSsrKSB7CiAg
ICBfZjR1JHQuZGVsYXllZF90b29sdGlwc1tpXVswXS5tYWtlX3Rvb2x0aXAoCiAgICAgIF9mNHUk
dC5kZWxheWVkX3Rvb2x0aXBzW2ldWzFdLAogICAgICBfZjR1JHQuZGVsYXllZF90b29sdGlwc1tp
XVsyXSwKICAgICAgX2Y0dSR0LmRlbGF5ZWRfdG9vbHRpcHNbaV1bM10KICAgICk7CiAgfQp9Cgpf
ZjR1JHQuVUlPYmplY3QucHJvdG90eXBlLnRvb2x0aXBfdGV4dCA9IGZ1bmN0aW9uKCkgewogIHJl
dHVybiB0aGlzLnRvb2x0aXA7Cn0KCl9mNHUkdC5VSU9iamVjdC5wcm90b3R5cGUudG9vbHRpcF90
ZXh0X2RpbXMgPSBmdW5jdGlvbigpIHsKICByZXR1cm4gX2Y0dSR0LmdldF90ZXh0X2Jib3godGhp
cy5nZXRfcm9vdF9zdmcoKSwgdGhpcy50b29sdGlwX3RleHQoKSk7Cn0KCl9mNHUkdC5VSU9iamVj
dC5wcm90b3R5cGUubWFrZV90b29sdGlwX3RleHQgPSBmdW5jdGlvbihzdmcsIHBhcmVudCwgaWQp
IHsKICB2YXIgdGV4dCA9IHRoaXMudG9vbHRpcF90ZXh0KCk7CiAgdmFyIGZ1bGxfaWQgPSAnZmF1
c3RfdG9vbHRpcF90ZXh0XycraWQ7CiAgdmFyIHR0dGV4dCA9IHN2Zy50ZXh0KAogICAgcGFyZW50
LAogICAgMCwKICAgIDAsCiAgICB0ZXh0LAogICAgewogICAgICBpZDogZnVsbF9pZCwKICAgICAg
J2NsYXNzJzogJ2ZhdXN0LXRvb2x0aXAtdGV4dCcKICAgIH0KICApOwoKICByZXR1cm4gdHR0ZXh0
Owp9CgpfZjR1JHQuVUlPYmplY3QucHJvdG90eXBlLm1ha2VfdG9vbHRpcF9ib3ggPSBmdW5jdGlv
bihzdmcsIHBhcmVudCwgaWQpIHsKICB2YXIgZnVsbF9pZCA9ICdmYXVzdF90b29sdGlwX2JveF8n
K2lkOwogIHZhciB0ZXh0ZGltcyA9IHRoaXMudG9vbHRpcF90ZXh0X2RpbXMoKTsKICB2YXIgdHRi
b3ggPSBfZjR1JHQubWFrZV9yZWN0YW5nbGVfdmlhX3JlY3QoCiAgICBzdmcsCiAgICBwYXJlbnQs
CiAgICAyLAogICAgLXRleHRkaW1zLndpZHRoKjAuMDUsCiAgICAtKHRleHRkaW1zLmhlaWdodCox
LjEpLAogICAgdGV4dGRpbXMud2lkdGgqMS4xLAogICAgdGV4dGRpbXMuaGVpZ2h0KjEuMywKICAg
IHsKICAgICAgaWQ6IGZ1bGxfaWQsCiAgICAgIGZpbGwgOiBfZjR1JHQuY29sb3JfdG9fcmdiKF9m
NHUkdC5XSElURSksCiAgICAgIHN0cm9rZSA6IF9mNHUkdC5jb2xvcl90b19yZ2IoX2Y0dSR0LkJM
QUNLKSwKICAgICAgJ2NsYXNzJzogJ2ZhdXN0LXRvb2x0aXAtYm94JwogICAgfSk7CgogIHJldHVy
biB0dGJveDsKfQoKX2Y0dSR0LlVJT2JqZWN0LnByb3RvdHlwZS5tYWtlX2RlbGF5ZWRfdG9vbHRp
cCA9IGZ1bmN0aW9uKG9iaiwgc3ZnLCBsaW5rZWRfb2JqX2lkLCBpZCkgewogIF9mNHUkdC5kZWxh
eWVkX3Rvb2x0aXBzLnB1c2goW29iaiwgc3ZnLCBsaW5rZWRfb2JqX2lkLCBpZF0pOwp9CgpfZjR1
JHQuVUlPYmplY3QucHJvdG90eXBlLm1ha2VfdG9vbHRpcCA9IGZ1bmN0aW9uKHN2ZywgbGlua2Vk
X29ial9pZCwgaWQpIHsKICBpZiAodGhpcy50b29sdGlwICE9ICIiKSB7CiAgICB2YXIgZnVsbF9p
ZCA9ICdmYXVzdF90b29sdGlwXycraWQ7CiAgICB2YXIgcm9vdCA9IHRoaXMuZ2V0X3Jvb3RfdG9v
bHRpcF9ncm91cCgpOwogICAgdmFyIGcgPSB0aGlzLm1ha2VfZ3JvdXAoc3ZnLCByb290LCBmdWxs
X2lkKQogICAgdmFyIGJveCA9IHRoaXMubWFrZV90b29sdGlwX2JveChzdmcsIGcsIGlkKTsKICAg
IHZhciB0ZXh0ID0gdGhpcy5tYWtlX3Rvb2x0aXBfdGV4dChzdmcsIGcsIGlkKTsKICAgIF9mNHUk
dC5tb3ZlX3RvX3JpZGljdWxvdXNfbmVnYXRpdmUoZnVsbF9pZCk7CiAgICAkKCcjJytsaW5rZWRf
b2JqX2lkKS5iaW5kKCdtb3VzZW92ZXInLCBfZjR1JHQudG9vbHRpcF9tb3VzZW92ZXIpOwogICAg
JCgnIycrbGlua2VkX29ial9pZCkuYmluZCgnbW91c2VvdXQnLCBfZjR1JHQudG9vbHRpcF9tb3Vz
ZW91dCk7CiAgICByZXR1cm4gZzsKICB9Cn0KCi8vIEJhc2ljIFVJIG9iamVjdHMgdXNlZCBhbGwg
b3ZlciB0aGUgcGxhY2UKCl9mNHUkdC5WYWx1ZUJveCA9IGZ1bmN0aW9uKG9wdGlvbnMpIHsKICBf
ZjR1JHQuaW5pdF9wcm9wKHRoaXMsIG9wdGlvbnMsICd2Ym94JywgJ21vbScpOwogIF9mNHUkdC5p
bml0X3Byb3AodGhpcywgb3B0aW9ucywgJ3Zib3gnLCAnaW5pdCcpOwogIF9mNHUkdC5pbml0X3By
b3AodGhpcywgb3B0aW9ucywgJ3Zib3gnLCAnd2lkdGgnKTsKICBfZjR1JHQuaW5pdF9wcm9wKHRo
aXMsIG9wdGlvbnMsICd2Ym94JywgJ2hlaWdodCcpOwogIF9mNHUkdC5pbml0X3Byb3AodGhpcywg
b3B0aW9ucywgJ3Zib3gnLCAna2V5c2luaycpOwogIF9mNHUkdC5pbml0X3Byb3AodGhpcywgb3B0
aW9ucywgJ3Zib3gnLCAnZ3Jhdml0eScpOwogIF9mNHUkdC5pbml0X3Byb3AodGhpcywgb3B0aW9u
cywgJ3Zib3gnLCAnaWQnKTsKICBfZjR1JHQuaW5pdF9wcm9wKHRoaXMsIG9wdGlvbnMsICdsYWJl
bCcsICdzdHJldGNoYWJsZScpOwp9CgpfZjR1JHQuZXh0ZW5kKF9mNHUkdC5VSU9iamVjdCwgX2Y0
dSR0LlZhbHVlQm94KTsKCl9mNHUkdC5WYWx1ZUJveC5wcm90b3R5cGUuZGltcyA9IGZ1bmN0aW9u
KCkgewogIHJldHVybiBbdGhpcy53aWR0aCwgdGhpcy5oZWlnaHRdOwp9CgpfZjR1JHQuVmFsdWVC
b3gucHJvdG90eXBlLm1ha2VfYm94ID0gZnVuY3Rpb24oc3ZnLCBwYXJlbnQpIHsKICB2YXIgaWQg
PSB0aGlzLmlkOwogIHZhciBtb3VzZWRvd24gPSB0aGlzLmtleXNpbmsgPyAnX2Y0dSR0LnJvdGF0
aW5nX2J1dHRvbl9rZXlfc2luaygiJytpZCsnIiknIDogJ19mNHUkdC5kZXZudWxsKCknOwogIHZh
ciB2YiA9IF9mNHUkdC5tYWtlX3JlY3RhbmdsZV92aWFfcmVjdCgKICAgIHN2ZywKICAgIHBhcmVu
dCwKICAgIDIsCiAgICAwLAogICAgMCwKICAgIHRoaXMud2lkdGgsCiAgICB0aGlzLmhlaWdodCwK
ICAgIHsKICAgICAgaWQ6ICdmYXVzdF92YWx1ZV9ib3hfJytpZCwKICAgICAgZmlsbCA6IF9mNHUk
dC5jb2xvcl90b19yZ2IoX2Y0dSR0LldISVRFKSwKICAgICAgc3Ryb2tlIDogX2Y0dSR0LmNvbG9y
X3RvX3JnYihfZjR1JHQuQkxBQ0spLAogICAgICAnY2xhc3MnOiAnZmF1c3QtdmJveC1ib3gnLAog
ICAgICBvbm1vdXNlZG93biA6IG1vdXNlZG93biwKICAgICAgb250b3VjaHN0YXJ0IDogbW91c2Vk
b3duCiAgICB9KTsKCiAgcmV0dXJuIHZiOwp9CgpfZjR1JHQuVmFsdWVCb3gucHJvdG90eXBlLm1h
a2VfdmFsdWUgPSBmdW5jdGlvbihzdmcsIHBhcmVudCkgewogIHZhciBpZCA9IHRoaXMuaWQ7CiAg
dmFyIG1vdXNlZG93biA9IHRoaXMua2V5c2luayA/ICdfZjR1JHQucm90YXRpbmdfYnV0dG9uX2tl
eV9zaW5rKCInK2lkKyciKScgOiAnX2Y0dSR0LmRldm51bGwoKSc7CiAgdmFyIHZ2ID0gc3ZnLnRl
eHQoCiAgICBwYXJlbnQsCiAgICBfZjR1JHQueHkodGhpcy5nZXRfbGF5b3V0X21hbmFnZXIoKS5h
eGlzLCA0LCB0aGlzLndpZHRoICAvIDIuMCksCiAgICB0aGlzLmhlaWdodCAtIDQsCiAgICB0aGlz
LmluaXQudG9TdHJpbmcoKSwKICAgIHsKICAgICAgaWQ6ICdmYXVzdF92YWx1ZV92YWx1ZV8nK2lk
LAogICAgICAidGV4dC1hbmNob3IiIDogX2Y0dSR0Lnh5KHRoaXMuZ2V0X2xheW91dF9tYW5hZ2Vy
KCkuYXhpcywgJ2xlZnQnLCAnbWlkZGxlJyksCiAgICAgICdjbGFzcyc6ICdmYXVzdC12YWx1ZS10
ZXh0JywKICAgICAgb25tb3VzZWRvd24gOiBtb3VzZWRvd24sCiAgICAgIG9udG91Y2hzdGFydCA6
IG1vdXNlZG93bgogICAgfQogICk7CiAgcmV0dXJuIHZ2Owp9CgpfZjR1JHQuVmFsdWVCb3gucHJv
dG90eXBlLm1ha2UgPSBmdW5jdGlvbihzdmcsIHBhcmVudCkgewogIHZhciBpZCA9IHRoaXMuaWQ7
CiAgdmFyIGcgPSB0aGlzLm1ha2VfZ3JvdXAoc3ZnLCBwYXJlbnQsIGlkKTsKCiAgdGhpcy5tYWtl
X2JveChzdmcsIGcsIGlkKTsKICB0aGlzLm1ha2VfdmFsdWUoc3ZnLCBnLCBpZCk7CgogIHJldHVy
biBnOwp9CgpfZjR1JHQuTGFiZWwgPSBmdW5jdGlvbihvcHRpb25zKSB7CiAgX2Y0dSR0LmluaXRf
cHJvcCh0aGlzLCBvcHRpb25zLCAnbGFiZWwnLCAnbW9tJyk7CiAgX2Y0dSR0LmluaXRfcHJvcCh0
aGlzLCBvcHRpb25zLCAnbGFiZWwnLCAnbGFiZWwnKTsKICBfZjR1JHQuaW5pdF9wcm9wKHRoaXMs
IG9wdGlvbnMsICdsYWJlbCcsICdpZCcpOwogIF9mNHUkdC5pbml0X3Byb3AodGhpcywgb3B0aW9u
cywgJ2xhYmVsJywgJ2dyYXZpdHknKTsKICBfZjR1JHQuaW5pdF9wcm9wKHRoaXMsIG9wdGlvbnMs
ICdsYWJlbCcsICdzdHJldGNoYWJsZScpOwp9CgpfZjR1JHQuZXh0ZW5kKF9mNHUkdC5VSU9iamVj
dCwgX2Y0dSR0LkxhYmVsKTsKCl9mNHUkdC5MYWJlbC5wcm90b3R5cGUuZGltcyA9IGZ1bmN0aW9u
KCkgewogIHZhciBiYnggPSBfZjR1JHQuZ2V0X3RleHRfYmJveCh0aGlzLmdldF9yb290X3N2Zygp
LCB0aGlzLmxhYmVsKTsKICByZXR1cm4gW2JieC53aWR0aCwgYmJ4LmhlaWdodF07Cn0KCl9mNHUk
dC5MYWJlbC5wcm90b3R5cGUubGFiZWxfdGV4dCA9IGZ1bmN0aW9uKCkgewogIHZhciBsYWJlbCA9
IHRoaXMubGFiZWw7CiAgaWYgKHRoaXMudW5pdCkgey8qIC8vIGRlcHJlY2F0ZWQKICAgIGxhYmVs
ICs9IHRoaXMudW5pdDsqLwogIH0KICByZXR1cm4gbGFiZWw7Cn0KCl9mNHUkdC5MYWJlbC5wcm90
b3R5cGUubWFrZSA9IGZ1bmN0aW9uKHN2ZywgcGFyZW50KSB7CiAgdmFyIGlkID0gdGhpcy5pZDsK
CiAgdmFyIGxhYmVsID0gdGhpcy5sYWJlbF90ZXh0KCk7CiAgdmFyIHZsID0gc3ZnLnRleHQoCiAg
ICBwYXJlbnQsCiAgICAwLAogICAgdGhpcy5kaW1zKClbX2Y0dSR0LllfQVhJU10sCiAgICBsYWJl
bCwKICAgIHsKICAgICAgaWQ6ICdmYXVzdF9sYWJlbF8nK2lkLAogICAgICAiY2xhc3MiIDogImZh
dXN0LWxhYmVsIiwKICAgIH0KICApOwoKfQoKLyoKICBERUZJTkVTIFRIRSBGQVVTVCBJTkNSRU1F
TlRBTCBPQkpFQ1QgQ0xBU1MuCiAgQWxsIG9iamVjdHMgdGhhdCBnbyB1cCBpbiBpbmNyZW1lbnRz
IGluaGVyaXQgZnJvbSB0aGlzLgoqLwoKX2Y0dSR0LkluY3JlbWVudGFsT2JqZWN0ID0gZnVuY3Rp
b24gKCkge30KX2Y0dSR0LmV4dGVuZChfZjR1JHQuVUlPYmplY3QsIF9mNHUkdC5JbmNyZW1lbnRh
bE9iamVjdCk7CgovKgogIERFRklORVMgQSBST1RBVElORyBCVVRUT04uCiovCgpfZjR1JHQuUm90
YXRpbmdCdXR0b24gPSBmdW5jdGlvbihvcHRpb25zKSB7CiAgX2Y0dSR0LmluaXRfcHJvcCh0aGlz
LCBvcHRpb25zLCAncmJ1dHRvbicsICdtb20nKTsKICBfZjR1JHQuaW5pdF9wcm9wKHRoaXMsIG9w
dGlvbnMsICdyYnV0dG9uJywgJ2lyJyk7CiAgdGhpcy5fciA9IHRoaXMuaXI7CiAgX2Y0dSR0Lmlu
aXRfcHJvcCh0aGlzLCBvcHRpb25zLCAncmJ1dHRvbicsICdhMCcpOwogIF9mNHUkdC5pbml0X3By
b3AodGhpcywgb3B0aW9ucywgJ3JidXR0b24nLCAnc3dlZXAnKTsKICBpZiAodGhpcy5zd2VlcCA8
IDApIHsKICAgIHRoaXMuYTAgKz0gdGhpcy5zd2VlcDsKICAgIHRoaXMuc3dlZXAgPSBNYXRoLmFi
cyh0aGlzLnN3ZWVwKTsKICB9CiAgdGhpcy5zd2VlcCA9IHRoaXMuc3dlZXAgJSAzNjA7CiAgaWYg
KHRoaXMuc3dlZXAgPT0gMCkgewogICAgdGhpcy5zd2VlcCA9IDM2MDsKICB9CiAgX2Y0dSR0Lmlu
aXRfcHJvcCh0aGlzLCBvcHRpb25zLCAncmJ1dHRvbicsICdzcCcpOyAvLyBwZXJjZW50YWdlIGZv
ciB3aGl0ZSBoYW5kbGUKICBfZjR1JHQuaW5pdF9wcm9wKHRoaXMsIG9wdGlvbnMsICdyYnV0dG9u
JywgJ2twJyk7IC8vIGtub2IgcGVyY2VudGFnZQogIF9mNHUkdC5pbml0X3Byb3AodGhpcywgb3B0
aW9ucywgJ3JidXR0b24nLCAndW5pdCcpOwogIF9mNHUkdC5pbml0X3Byb3AodGhpcywgb3B0aW9u
cywgJ3JidXR0b24nLCAnbWluJyk7CiAgX2Y0dSR0LmluaXRfcHJvcCh0aGlzLCBvcHRpb25zLCAn
cmJ1dHRvbicsICdtYXgnKTsKICBfZjR1JHQuaW5pdF9wcm9wKHRoaXMsIG9wdGlvbnMsICdyYnV0
dG9uJywgJ2luaXQnKTsKICBfZjR1JHQuaW5pdF9wcm9wKHRoaXMsIG9wdGlvbnMsICdyYnV0dG9u
JywgJ3N0ZXAnKTsKICBfZjR1JHQuaW5pdF9wcm9wKHRoaXMsIG9wdGlvbnMsICdyYnV0dG9uJywg
J2ludGVnZXInKTsKICBfZjR1JHQuaW5pdF9wcm9wKHRoaXMsIG9wdGlvbnMsICdyYnV0dG9uJywg
J25kZWMnKTsKICBfZjR1JHQuaW5pdF9wcm9wKHRoaXMsIG9wdGlvbnMsICdyYnV0dG9uJywgJ3N0
cmV0Y2hhYmxlJyk7CiAgX2Y0dSR0LmluaXRfcHJvcCh0aGlzLCBvcHRpb25zLCAncmJ1dHRvbics
ICdvcmllbnRhdGlvbicpOwogIF9mNHUkdC5pbml0X3Byb3AodGhpcywgb3B0aW9ucywgJ3JidXR0
b24nLCAnb3JpZW50YXRpb25fbW9kZScpOwogIF9mNHUkdC5pbml0X3Byb3AodGhpcywgb3B0aW9u
cywgJ3JidXR0b24nLCAnZ3Jhdml0eScpOwogIF9mNHUkdC5pbml0X3Byb3AodGhpcywgb3B0aW9u
cywgJ3JidXR0b24nLCAnbWdyb292ZV9maWxsJyk7CiAgX2Y0dSR0LmluaXRfcHJvcCh0aGlzLCBv
cHRpb25zLCAncmJ1dHRvbicsICdtZXRlcl9maWxsJyk7CiAgX2Y0dSR0LmluaXRfcHJvcCh0aGlz
LCBvcHRpb25zLCAncmJ1dHRvbicsICdncm9vdmVfZmlsbCcpOwogIF9mNHUkdC5pbml0X3Byb3Ao
dGhpcywgb3B0aW9ucywgJ3JidXR0b24nLCAnaGFuZGxlX2ZpbGwnKTsKICBfZjR1JHQuaW5pdF9w
cm9wKHRoaXMsIG9wdGlvbnMsICdyYnV0dG9uJywgJ2dyb292ZV9zdHJva2UnKTsKICBfZjR1JHQu
aW5pdF9wcm9wKHRoaXMsIG9wdGlvbnMsICdyYnV0dG9uJywgJ2hhbmRsZV9zdHJva2UnKTsKICBf
ZjR1JHQuaW5pdF9wcm9wKHRoaXMsIG9wdGlvbnMsICdyYnV0dG9uJywgJ21ncm9vdmVfc3Ryb2tl
Jyk7CiAgX2Y0dSR0LmluaXRfcHJvcCh0aGlzLCBvcHRpb25zLCAncmJ1dHRvbicsICdtZXRlcl9z
dHJva2UnKTsKICBfZjR1JHQuaW5pdF9wcm9wKHRoaXMsIG9wdGlvbnMsICdyYnV0dG9uJywgJ2hh
bmRsZV93aWR0aCcpOwogIF9mNHUkdC5pbml0X3Byb3AodGhpcywgb3B0aW9ucywgJ3JidXR0b24n
LCAndG9vbHRpcCcpOwogIF9mNHUkdC5pbml0X3Byb3AodGhpcywgb3B0aW9ucywgJ3JidXR0b24n
LCAnYWRkcmVzcycpOwogIF9mNHUkdC5pbml0X3Byb3AodGhpcywgb3B0aW9ucywgJ3JidXR0b24n
LCAnaWQnKTsKfQoKX2Y0dSR0LmV4dGVuZChfZjR1JHQuSW5jcmVtZW50YWxPYmplY3QsIF9mNHUk
dC5Sb3RhdGluZ0J1dHRvbik7CgpfZjR1JHQuUm90YXRpbmdCdXR0b24ucHJvdG90eXBlLnIgPSBm
dW5jdGlvbigpIHsKICByZXR1cm4gdGhpcy5fcjsKfQoKX2Y0dSR0LlJvdGF0aW5nQnV0dG9uLnBy
b3RvdHlwZS5kaW1zID0gZnVuY3Rpb24oKSB7CiAgcmV0dXJuIFt0aGlzLnIoKSAqIDIsIHRoaXMu
cigpICogMl07Cn0KCgpfZjR1JHQuUm90YXRpbmdCdXR0b24ucHJvdG90eXBlLm1ha2VfbWdyb292
ZSA9IGZ1bmN0aW9uKHN2ZywgcGFyZW50LCBpZCkgewogIHZhciBmdWxsX2lkID0gJ2ZhdXN0X3Ji
dXR0b25fbWdyb292ZV8nK2lkOwogIHZhciBtb3VzZWRvd24gPSBfZjR1JHQuYWN0aXZhdGVfcmJ1
dHRvbjsKICB2YXIgeG8gPSB0aGlzLnIoKTsKICB2YXIgeW8gPSB0aGlzLnIoKTsKICB2YXIgZCA9
ICJNezB9IHsxfUF7Mn0gezN9IDAgezR9IHs1fSB7Nn0gezd9THs4fSB7OX1BezEwfSB7MTF9IDAg
ezEyfSB7MTN9IHsxNH0gezE1fUx7MTZ9IHsxN30iOwogIGQgPSBkLmZvcm1hdChbCiAgICB0aGlz
LnIoKSAqIE1hdGguY29zKF9mNHUkdC5kMnIodGhpcy5hMCkpICsgeG8sIC8vIG91dHNpZGUgWAog
ICAgdGhpcy5yKCkgKiBNYXRoLnNpbihfZjR1JHQuZDJyKHRoaXMuYTApKSArIHlvLCAvLyBvdXRz
aWRlIFkKICAgIHRoaXMucigpLCAvLyByYWRpdXMgWAogICAgdGhpcy5yKCksIC8vIHJhZGl1cyBZ
CiAgICB0aGlzLnN3ZWVwIDw9IDE4MCA/IDAgOiAxLCAvLyBsYXJnZSBhcmMgZmxhZwogICAgMSwg
Ly8gZHJhdyBwb3NpdGl2ZQogICAgdGhpcy5yKCkgKiBNYXRoLmNvcyhfZjR1JHQuZDJyKHRoaXMu
YTAgKyB0aGlzLnN3ZWVwKSkgKyB4bywgLy8gZW5kcG9pbnQgWAogICAgdGhpcy5yKCkgKiBNYXRo
LnNpbihfZjR1JHQuZDJyKHRoaXMuYTAgKyB0aGlzLnN3ZWVwKSkgKyB5bywgLy8gZW5kcG9pbnQg
WQogICAgdGhpcy5yKCkgKiB0aGlzLmtwICogTWF0aC5jb3MoX2Y0dSR0LmQycih0aGlzLmEwICsg
dGhpcy5zd2VlcCkpICsgeG8sIC8vIGluc2lkZSBlbmRwb2ludCBYCiAgICB0aGlzLnIoKSAqIHRo
aXMua3AgKiBNYXRoLnNpbihfZjR1JHQuZDJyKHRoaXMuYTAgKyB0aGlzLnN3ZWVwKSkgKyB5bywg
Ly8gaW5zaWRlIGVuZHBvaW50IFkKICAgIHRoaXMucigpICogdGhpcy5rcCwgLy8gaW5zaWRlIHJh
ZGl1eCBYCiAgICB0aGlzLnIoKSAqIHRoaXMua3AsIC8vIGluc2lkZSByYWRpdXggWQogICAgdGhp
cy5zd2VlcCA8PSAxODAgPyAwIDogMSwgLy8gbGFyZ2UgYXJjIGZsYWcKICAgIDAsIC8vIGRyYXcg
bmVnYXRpdmUKICAgIHRoaXMucigpICogdGhpcy5rcCAqIE1hdGguY29zKF9mNHUkdC5kMnIodGhp
cy5hMCkpICsgeG8sIC8vIGluc2lkZSBYCiAgICB0aGlzLnIoKSAqIHRoaXMua3AgKiBNYXRoLnNp
bihfZjR1JHQuZDJyKHRoaXMuYTApKSArIHlvLCAvLyBpbnNpZGUgWQogICAgdGhpcy5yKCkgKiBN
YXRoLmNvcyhfZjR1JHQuZDJyKHRoaXMuYTApKSArIHhvLCAvLyBvdXRzaWRlIFgKICAgIHRoaXMu
cigpICogTWF0aC5zaW4oX2Y0dSR0LmQycih0aGlzLmEwKSkgKyB5by8vIG91dHNpZGUgWQogIF0p
OwogIHZhciBtZ3Jvb3ZlID0gc3ZnLnBhdGgoCiAgICBwYXJlbnQsCiAgICBkLAogICAgewogICAg
ICBmaWxsIDogX2Y0dSR0LmNvbG9yX3RvX3JnYih0aGlzLm1ncm9vdmVfZmlsbCksCiAgICAgIHN0
cm9rZSA6IF9mNHUkdC5jb2xvcl90b19yZ2IodGhpcy5tZ3Jvb3ZlX3N0cm9rZSksCiAgICAgIGlk
IDogZnVsbF9pZCwKICAgICAgJ2NsYXNzJyA6ICdmYXVzdC1yYnV0dG9uLW1ncm9vdmUnCiAgICB9
CiAgKTsKCiAgJCgnIycrZnVsbF9pZCkuYmluZCgnbW91c2Vkb3duJywgbW91c2Vkb3duKTsKICAk
KCcjJytmdWxsX2lkKS5iaW5kKCd0b3VjaHN0YXJ0JywgbW91c2Vkb3duKTsKICByZXR1cm4gbWdy
b292ZTsKfQoKX2Y0dSR0LlJvdGF0aW5nQnV0dG9uLnByb3RvdHlwZS5tYWtlX2RvdCA9IGZ1bmN0
aW9uKHN2ZywgcGFyZW50LCBpZCwgcm90KSB7CiAgdmFyIGZ1bGxfaWQgPSAnZmF1c3RfcmJ1dHRv
bl9kb3QnKyhyb3QqNDUpKydfJytpZDsKICB2YXIgbW91c2Vkb3duID0gX2Y0dSR0LmFjdGl2YXRl
X3JidXR0b247CiAgdmFyIHhvID0gdGhpcy5yKCk7CiAgdmFyIHlvID0gdGhpcy5yKCk7CiAgdmFy
IGRvdCA9IHN2Zy5jaXJjbGUoCiAgICBwYXJlbnQsCiAgICB0aGlzLnIoKSAqICh0aGlzLmtwICsg
MSkgKiAwLjUgKiBNYXRoLmNvcyhfZjR1JHQuZDJyKHJvdCAqIDQ1KSkgKyB4bywKICAgIHRoaXMu
cigpICogKHRoaXMua3AgKyAxKSAqIDAuNSAqIE1hdGguc2luKF9mNHUkdC5kMnIocm90ICogNDUp
KSArIHlvLAogICAgdGhpcy5yKCkgKiAoMSAtIHRoaXMua3ApICogMC41LAogICAgewogICAgICBm
aWxsIDogX2Y0dSR0LmNvbG9yX3RvX3JnYih0aGlzLmRvdF9maWxsKSwKICAgICAgc3Ryb2tlIDog
X2Y0dSR0LmNvbG9yX3RvX3JnYih0aGlzLmRvdF9zdHJva2UpLAogICAgICBpZCA6IGZ1bGxfaWQs
CiAgICAgICdjbGFzcycgOiAnZmF1c3QtcmJ1dHRvbi1kb3QnCiAgICB9CiAgKTsKCiAgJCgnIycr
ZnVsbF9pZCkuYmluZCgnbW91c2Vkb3duJywgbW91c2Vkb3duKTsKICAkKCcjJytmdWxsX2lkKS5i
aW5kKCd0b3VjaHN0YXJ0JywgbW91c2Vkb3duKTsKICByZXR1cm4gZG90Owp9CgpfZjR1JHQuUm90
YXRpbmdCdXR0b24ucHJvdG90eXBlLm1ha2VfbWV0ZXIgPSBmdW5jdGlvbihzdmcsIHBhcmVudCwg
aWQpIHsKICB2YXIgZnVsbF9pZCA9ICdmYXVzdF9yYnV0dG9uX21ldGVyXycraWQ7CiAgdmFyIG1v
dXNlZG93biA9IF9mNHUkdC5hY3RpdmF0ZV9yYnV0dG9uOwogIHZhciB4byA9IHRoaXMucigpOwog
IHZhciB5byA9IHRoaXMucigpOwogIHZhciBzdGFydHAgPSBfZjR1JHQucmVtYXAodGhpcy5pbml0
LCB0aGlzLm1pbiwgdGhpcy5tYXgsIHRoaXMuYTAsIHRoaXMuYTAgKyB0aGlzLnN3ZWVwKTsKICB2
YXIgZCA9ICJNezB9IHsxfUF7Mn0gezN9IDAgezR9IHs1fSB7Nn0gezd9THs4fSB7OX1BezEwfSB7
MTF9IDAgezEyfSB7MTN9IHsxNH0gezE1fUx7MTZ9IHsxN30iOwogIGQgPSBkLmZvcm1hdChbCiAg
ICB0aGlzLnIoKSAqIE1hdGguY29zKF9mNHUkdC5kMnIoc3RhcnRwKSkgKyB4bywgLy8gb3V0c2lk
ZSBYCiAgICB0aGlzLnIoKSAqIE1hdGguc2luKF9mNHUkdC5kMnIoc3RhcnRwKSkgKyB5bywgLy8g
b3V0c2lkZSBZCiAgICB0aGlzLnIoKSwgLy8gcmFkaXVzIFgKICAgIHRoaXMucigpLCAvLyByYWRp
dXMgWQogICAgdGhpcy5hMCArIHRoaXMuc3dlZXAgLSBzdGFydHAgPD0gMTgwID8gMCA6IDEsIC8v
IGxhcmdlIGFyYyBmbGFnCiAgICAxLCAvLyBkcmF3IHBvc2l0aXZlCiAgICB0aGlzLnIoKSAqIE1h
dGguY29zKF9mNHUkdC5kMnIodGhpcy5hMCArIHRoaXMuc3dlZXApKSArIHhvLCAvLyBlbmRwb2lu
dCBYCiAgICB0aGlzLnIoKSAqIE1hdGguc2luKF9mNHUkdC5kMnIodGhpcy5hMCArIHRoaXMuc3dl
ZXApKSArIHlvLCAvLyBlbmRwb2ludCBZCiAgICB0aGlzLnIoKSAqIHRoaXMua3AgKiBNYXRoLmNv
cyhfZjR1JHQuZDJyKHRoaXMuYTAgKyB0aGlzLnN3ZWVwKSkgKyB4bywgLy8gaW5zaWRlIGVuZHBv
aW50IFgKICAgIHRoaXMucigpICogdGhpcy5rcCAqIE1hdGguc2luKF9mNHUkdC5kMnIodGhpcy5h
MCArIHRoaXMuc3dlZXApKSArIHlvLCAvLyBpbnNpZGUgZW5kcG9pbnQgWQogICAgdGhpcy5yKCkg
KiB0aGlzLmtwLCAvLyBpbnNpZGUgcmFkaXV4IFgKICAgIHRoaXMucigpICogdGhpcy5rcCwgLy8g
aW5zaWRlIHJhZGl1eCBZCiAgICB0aGlzLmEwICsgdGhpcy5zd2VlcCAtIHN0YXJ0cCA8PSAxODAg
PyAwIDogMSwgLy8gbGFyZ2UgYXJjIGZsYWcKICAgIDAsIC8vIGRyYXcgbmVnYXRpdmUKICAgIHRo
aXMucigpICogdGhpcy5rcCAqIE1hdGguY29zKF9mNHUkdC5kMnIoc3RhcnRwKSkgKyB4bywgLy8g
aW5zaWRlIFgKICAgIHRoaXMucigpICogdGhpcy5rcCAqIE1hdGguc2luKF9mNHUkdC5kMnIoc3Rh
cnRwKSkgKyB5bywgLy8gaW5zaWRlIFkKICAgIHRoaXMucigpICogTWF0aC5jb3MoX2Y0dSR0LmQy
cihzdGFydHApKSArIHhvLCAvLyBvdXRzaWRlIFgKICAgIHRoaXMucigpICogTWF0aC5zaW4oX2Y0
dSR0LmQycihzdGFydHApKSArIHlvLy8gb3V0c2lkZSBZCiAgXSk7CiAgdmFyIG1ldGVyID0gc3Zn
LnBhdGgoCiAgICBwYXJlbnQsCiAgICBkLAogICAgewogICAgICBmaWxsIDogX2Y0dSR0LmNvbG9y
X3RvX3JnYih0aGlzLm1ldGVyX2ZpbGwpLAogICAgICBzdHJva2UgOiBfZjR1JHQuY29sb3JfdG9f
cmdiKHRoaXMubWV0ZXJfc3Ryb2tlKSwKICAgICAgaWQgOiBmdWxsX2lkLAogICAgICAnY2xhc3Mn
IDogJ2ZhdXN0LXJidXR0b24tbWV0ZXInCiAgICB9CiAgKTsKCiAgJCgnIycrZnVsbF9pZCkuYmlu
ZCgnbW91c2Vkb3duJywgbW91c2Vkb3duKTsKICAkKCcjJytmdWxsX2lkKS5iaW5kKCd0b3VjaHN0
YXJ0JywgbW91c2Vkb3duKTsKICByZXR1cm4gbWV0ZXI7Cn0KCl9mNHUkdC5Sb3RhdGluZ0J1dHRv
bi5wcm90b3R5cGUubWFrZV9ncm9vdmUgPSBmdW5jdGlvbihzdmcsIHBhcmVudCwgaWQpIHsKICB2
YXIgbW91c2Vkb3duID0gX2Y0dSR0LmFjdGl2YXRlX3JidXR0b247CiAgdmFyIGZ1bGxfaWQgPSAn
ZmF1c3RfcmJ1dHRvbl9ncm9vdmVfJytpZDsKICB2YXIgZ3Jvb3ZlID0gc3ZnLmNpcmNsZSgKICAg
IHBhcmVudCwKICAgIHRoaXMucigpLAogICAgdGhpcy5yKCksCiAgICB0aGlzLnIoKSAqIHRoaXMu
a3AsICAgIAogICAgewogICAgICBmaWxsIDogX2Y0dSR0LmNvbG9yX3RvX3JnYih0aGlzLmdyb292
ZV9maWxsKSwKICAgICAgc3Ryb2tlIDogX2Y0dSR0LmNvbG9yX3RvX3JnYih0aGlzLmdyb292ZV9z
dHJva2UpLAogICAgICBpZCA6IGZ1bGxfaWQsCiAgICAgICdjbGFzcycgOiAnZmF1c3QtcmJ1dHRv
bi1ncm9vdmUnCiAgICB9CiAgKTsKCiAgJCgnIycrZnVsbF9pZCkuYmluZCgnbW91c2Vkb3duJywg
bW91c2Vkb3duKTsKICAkKCcjJytmdWxsX2lkKS5iaW5kKCd0b3VjaHN0YXJ0JywgbW91c2Vkb3du
KTsKICByZXR1cm4gZ3Jvb3ZlOwp9CgpfZjR1JHQuUm90YXRpbmdCdXR0b24ucHJvdG90eXBlLm1h
a2VfaGFuZGxlID0gZnVuY3Rpb24oc3ZnLCBwYXJlbnQsIGlkKSB7CiAgdmFyIGZ1bGxfaWQgPSAn
ZmF1c3RfcmJ1dHRvbl9oYW5kbGVfJytpZDsKICB2YXIgb3JpZ2luID0gW3RoaXMucigpLCB0aGlz
LnIoKV07CiAgdmFyIHN0YXJ0cCA9IF9mNHUkdC5yZW1hcCh0aGlzLmluaXQsIHRoaXMubWluLCB0
aGlzLm1heCwgdGhpcy5hMCwgdGhpcy5hMCArIHRoaXMuc3dlZXApOwogIHZhciBtb3VzZWRvd24g
PSBfZjR1JHQuYWN0aXZhdGVfcmJ1dHRvbjsKICB2YXIgaGFuZGxlID0gc3ZnLmxpbmUoCiAgICBw
YXJlbnQsCiAgICBvcmlnaW5bMF0sCiAgICBvcmlnaW5bMV0sCiAgICBvcmlnaW5bMF0gKyAodGhp
cy5yKCkgKiB0aGlzLnNwICogdGhpcy5rcCkgLCAvLyBzZXQgYXQgMCBkZWdyZWVzIHRvIHN0YXJ0
LCB0aGVuIHJvdGF0ZSBiZWxvdwogICAgb3JpZ2luWzFdLAogICAgewogICAgICBmaWxsIDogX2Y0
dSR0LmNvbG9yX3RvX3JnYih0aGlzLmhhbmRsZV9maWxsKSwKICAgICAgc3Ryb2tlIDogX2Y0dSR0
LmNvbG9yX3RvX3JnYih0aGlzLmhhbmRsZV9zdHJva2UpLAogICAgICAic3Ryb2tlLXdpZHRoIiA6
IHRoaXMuaGFuZGxlX3dpZHRoLAogICAgICAnY2xhc3MnIDogJ2ZhdXN0LXJidXR0b24taGFuZGxl
JywKICAgICAgaWQgOiBmdWxsX2lkLAogICAgICB0cmFuc2Zvcm0gOiAndHJhbnNsYXRlKDAsMCkg
c2NhbGUoMSwxKSByb3RhdGUoJytzdGFydHArJywnK29yaWdpblswXSsnLCcrb3JpZ2luWzFdKycp
JwogICAgfQogICk7CgogICQoJyMnK2Z1bGxfaWQpLmJpbmQoJ21vdXNlZG93bicsIG1vdXNlZG93
bik7CiAgJCgnIycrZnVsbF9pZCkuYmluZCgndG91Y2hzdGFydCcsIG1vdXNlZG93bik7CiAgcmV0
dXJuIGhhbmRsZTsKfQoKLy8gYW5jaG9yIGhlbHBzIHVzIGdldCBjb3JyZWN0IHBvc2l0aW9uaW5n
IGZvciByb3RhdGlvbgpfZjR1JHQuUm90YXRpbmdCdXR0b24ucHJvdG90eXBlLm1ha2VfYW5jaG9y
ID0gZnVuY3Rpb24oc3ZnLCBwYXJlbnQsIGlkKSB7CiAgdmFyIG9yaWdpbiA9IFt0aGlzLnIoKSwg
dGhpcy5yKCldOwogIHZhciBmdWxsX2lkID0gJ2ZhdXN0X3JidXR0b25fYW5jaG9yXycraWQ7Cgog
IHZhciBhbmNob3IgPSBzdmcucGF0aCgKICAgIHBhcmVudCwKICAgICJNIDAgMEwwIDFMMSAxTDEg
MEwwIDAiLAogICAgewogICAgICBpZCA6IGZ1bGxfaWQsCiAgICAgIHN0eWxlIDogJ29wYWNpdHk6
MC4wOycsCiAgICAgIHRyYW5zZm9ybSA6ICd0cmFuc2xhdGUoJytvcmlnaW5bMF0rJywnK29yaWdp
blsxXSsnKScsCiAgICB9CiAgKTsKCiAgcmV0dXJuIGFuY2hvcjsKfQoKX2Y0dSR0LlJvdGF0aW5n
QnV0dG9uLnByb3RvdHlwZS5tYWtlID0gZnVuY3Rpb24oc3ZnLCBwYXJlbnQpIHsKICB2YXIgaWQg
PSB0aGlzLmlkOwogIHZhciBnID0gdGhpcy5tYWtlX2dyb3VwKHN2ZywgcGFyZW50LCBpZCk7CiAg
X2Y0dSR0LmluaXRpYXRlX3JidXR0b24oCiAgICBpZCwKICAgIHRoaXMuYTAsCiAgICB0aGlzLnN3
ZWVwLAogICAgdGhpcy5yKCksCiAgICB0aGlzLmtwLAogICAgdGhpcy5taW4sCiAgICB0aGlzLm1h
eCwKICAgIHRoaXMuc3RlcCwKICAgIHRoaXMuaW5pdCwKICAgIHRoaXMuaW50ZWdlciwKICAgIHRo
aXMubmRlYywKICAgIHRoaXMubGFiZWwsCiAgICB0aGlzLnVuaXQsCiAgICB0aGlzLm9yaWVudGF0
aW9uLAogICAgdGhpcy5vcmllbnRhdGlvbl9tb2RlLAogICAgdGhpcy5hZGRyZXNzCiAgKTsKCiAg
dGhpcy5tYWtlX2FuY2hvcihzdmcsIGcsIGlkKTsKICBpZiAodGhpcy5zd2VlcCAhPSAzNjApIHsK
ICAgIHRoaXMubWFrZV9tZ3Jvb3ZlKHN2ZywgZywgaWQpOwogICAgdGhpcy5tYWtlX21ldGVyKHN2
ZywgZywgaWQpOwogIH0gZWxzZSB7CiAgICBmb3IgKHZhciBpID0gMDsgaSA8IDg7IGkrKykgewog
ICAgICB0aGlzLm1ha2VfZG90KHN2ZywgZywgaWQsIGkpOwogICAgfQogIH0KICB0aGlzLm1ha2Vf
Z3Jvb3ZlKHN2ZywgZywgaWQpOwogIHRoaXMubWFrZV9oYW5kbGUoc3ZnLCBnLCBpZCk7CiAgdGhp
cy5tYWtlX2RlbGF5ZWRfdG9vbHRpcCh0aGlzLCBzdmcsIGlkLCBpZCk7CgogIHJldHVybiBnOwp9
CgovKgogIERFRklORVMgQSBTTElERVIuCiovCgpfZjR1JHQuU2xpZGluZ09iamVjdCA9IGZ1bmN0
aW9uKG9wdGlvbnMsIHR5cGUpIHsKICBfZjR1JHQuaW5pdF9wcm9wKHRoaXMsIG9wdGlvbnMsIHR5
cGUsICdtb20nKTsKICBfZjR1JHQuaW5pdF9wcm9wKHRoaXMsIG9wdGlvbnMsIHR5cGUsICdheGlz
Jyk7CiAgX2Y0dSR0LmluaXRfcHJvcCh0aGlzLCBvcHRpb25zLCB0eXBlLCAnZ2lydGgnKTsKICBf
ZjR1JHQuaW5pdF9wcm9wKHRoaXMsIG9wdGlvbnMsIHR5cGUsICdsZW5ndGgnKTsKICBfZjR1JHQu
aW5pdF9wcm9wKHRoaXMsIG9wdGlvbnMsIHR5cGUsICd1bml0Jyk7CiAgX2Y0dSR0LmluaXRfcHJv
cCh0aGlzLCBvcHRpb25zLCB0eXBlLCAnbWluJyk7CiAgX2Y0dSR0LmluaXRfcHJvcCh0aGlzLCBv
cHRpb25zLCB0eXBlLCAnbWF4Jyk7CiAgX2Y0dSR0LmluaXRfcHJvcCh0aGlzLCBvcHRpb25zLCB0
eXBlLCAnaW5pdCcpOwogIF9mNHUkdC5pbml0X3Byb3AodGhpcywgb3B0aW9ucywgdHlwZSwgJ3N0
ZXAnKTsKICBfZjR1JHQuaW5pdF9wcm9wKHRoaXMsIG9wdGlvbnMsIHR5cGUsICdpbnRlZ2VyJyk7
CiAgX2Y0dSR0LmluaXRfcHJvcCh0aGlzLCBvcHRpb25zLCB0eXBlLCAnbmRlYycpOwogIF9mNHUk
dC5pbml0X3Byb3AodGhpcywgb3B0aW9ucywgdHlwZSwgJ3N0cmV0Y2hhYmxlJyk7CiAgX2Y0dSR0
LmluaXRfcHJvcCh0aGlzLCBvcHRpb25zLCB0eXBlLCAnZ3Jhdml0eScpOwogIF9mNHUkdC5pbml0
X3Byb3AodGhpcywgb3B0aW9ucywgdHlwZSwgJ2FkZHJlc3MnKTsKICBfZjR1JHQuaW5pdF9wcm9w
KHRoaXMsIG9wdGlvbnMsIHR5cGUsICdpZCcpOwogIF9mNHUkdC5pbml0X3Byb3AodGhpcywgb3B0
aW9ucywgdHlwZSwgJ3R5cGUnKTsKICBfZjR1JHQuaW5pdF9wcm9wKHRoaXMsIG9wdGlvbnMsIHR5
cGUsICd0b29sdGlwJyk7Cn0KCl9mNHUkdC5leHRlbmQoX2Y0dSR0LkluY3JlbWVudGFsT2JqZWN0
LCBfZjR1JHQuU2xpZGluZ09iamVjdCk7CgpfZjR1JHQuU2xpZGluZ09iamVjdC5wcm90b3R5cGUu
ZGltcyA9IGZ1bmN0aW9uKCkgewogIHZhciB4ID0gX2Y0dSR0Lnh5KHRoaXMuYXhpcywgdGhpcy5s
ZW5ndGgsIHRoaXMuZ2lydGgpOwogIHZhciB5ID0gX2Y0dSR0Lnh5KHRoaXMuYXhpcywgdGhpcy5n
aXJ0aCwgdGhpcy5sZW5ndGgpOwogIHJldHVybiBbeCx5XTsKfQoKX2Y0dSR0LlNsaWRpbmdPYmpl
Y3QucHJvdG90eXBlLnN0cmV0Y2ggPSBmdW5jdGlvbih4LHkpIHsKICBpZiAodGhpcy5zdHJldGNo
YWJsZVt0aGlzLmF4aXNdKSB7CiAgICBkaW1zID0gdGhpcy5kaW1zKCk7CiAgICB0aGlzLmxlbmd0
aCA9IE1hdGgubWF4KGRpbXNbdGhpcy5heGlzXSwgX2Y0dSR0Lnh5KHRoaXMuYXhpcywgeCwgeSkp
OwogIH0KfQoKX2Y0dSR0LlNsaWRlciA9IGZ1bmN0aW9uKG9wdGlvbnMsIHR5cGUpIHsKICBfZjR1
JHQuU2xpZGluZ09iamVjdC5jYWxsKHRoaXMsIG9wdGlvbnMsIHR5cGUpOwogIF9mNHUkdC5pbml0
X3Byb3AodGhpcywgb3B0aW9ucywgdHlwZSwnc3AnKTsKICBfZjR1JHQuaW5pdF9wcm9wKHRoaXMs
IG9wdGlvbnMsIHR5cGUsICdvcmllbnRhdGlvbicpOwogIF9mNHUkdC5pbml0X3Byb3AodGhpcywg
b3B0aW9ucywgdHlwZSwgJ29yaWVudGF0aW9uX21vZGUnKTsKICBfZjR1JHQuaW5pdF9wcm9wKHRo
aXMsIG9wdGlvbnMsIHR5cGUsICdncm9vdmVfZmlsbCcpOwogIF9mNHUkdC5pbml0X3Byb3AodGhp
cywgb3B0aW9ucywgdHlwZSwgJ2dyb292ZV9zdHJva2UnKTsKICBfZjR1JHQuaW5pdF9wcm9wKHRo
aXMsIG9wdGlvbnMsIHR5cGUsICdoYW5kbGVfZmlsbCcpOwogIF9mNHUkdC5pbml0X3Byb3AodGhp
cywgb3B0aW9ucywgdHlwZSwgJ2hhbmRsZV9zdHJva2UnKTsKfQoKX2Y0dSR0LmV4dGVuZChfZjR1
JHQuU2xpZGluZ09iamVjdCwgX2Y0dSR0LlNsaWRlcik7CgpfZjR1JHQuU2xpZGVyLnByb3RvdHlw
ZS5za2lubnlfZ2lydGggPSBmdW5jdGlvbigpIHsKICByZXR1cm4gdGhpcy5naXJ0aCAqIDIuMCAv
IDUuMDsKfQoKX2Y0dSR0LlNsaWRlci5wcm90b3R5cGUubWFrZV9ncm9vdmUgPSBmdW5jdGlvbihz
dmcsIHBhcmVudCwgaWQpIHsKICB2YXIgZGltcyA9IHRoaXMuZGltcygpOwogIHZhciB3ID0gX2Y0
dSR0Lnh5KHRoaXMuYXhpcywgdGhpcy5sZW5ndGgsIHRoaXMuc2tpbm55X2dpcnRoKCkpOwogIHZh
ciBoID0gX2Y0dSR0Lnh5KHRoaXMuYXhpcywgdGhpcy5za2lubnlfZ2lydGgoKSwgdGhpcy5sZW5n
dGgpOwogIHZhciB4byA9ICgodGhpcy5heGlzID09IF9mNHUkdC5ZX0FYSVMpIHx8ICh0aGlzIGlu
c3RhbmNlb2YgX2Y0dSR0LlJvdGF0aW5nQnV0dG9uKSA/IChkaW1zWzBdIC0gdykgLyAyLjAgOiAw
LjApOwogIHZhciBzbGlkZXJfZ2lydGggPSB0aGlzLnNwOwogIHZhciBoYWxmX3NsaWRlcl9naXJ0
aCA9IHNsaWRlcl9naXJ0aCAqIDAuNTsKICB2YXIgc3RhcnRwID0gX2Y0dSR0Lnh5KHRoaXMuYXhp
cywgX2Y0dSR0LnJlbWFwLCBfZjR1JHQucmVtYXBfYW5kX2ZsaXApKHRoaXMuaW5pdCwgdGhpcy5t
aW4sIHRoaXMubWF4LCAwICsgaGFsZl9zbGlkZXJfZ2lydGgsIHRoaXMubGVuZ3RoIC0gaGFsZl9z
bGlkZXJfZ2lydGgpOwogIHZhciB0cmFucyA9IF9mNHUkdC54eSh0aGlzLmF4aXMsICd0cmFuc2xh
dGUoMCwnKygodGhpcy5naXJ0aCAtIHRoaXMuc2tpbm55X2dpcnRoKCkpIC8gMikrJyknLCAndHJh
bnNsYXRlKCcreG8rJywwKScpOwogIHZhciBmdWxsX2lkID0gJ2ZhdXN0XycrdGhpcy50eXBlKydf
Z3Jvb3ZlXycraWQ7CiAgdmFyIGFjdGl2YXRlX2ZuID0gImFjdGl2YXRlXyIrdGhpcy50eXBlOwog
IHZhciBtb3VzZWRvd24gPSBfZjR1JHRbYWN0aXZhdGVfZm5dOwogIHZhciBncm9vdmUgPSBfZjR1
JHQubWFrZV9yZWN0YW5nbGVfdmlhX3JlY3QoCiAgICBzdmcsCiAgICBwYXJlbnQsCiAgICA0LAog
ICAgX2Y0dSR0Lnh5KHRoaXMuYXhpcywgc3RhcnRwLCAwKSwKICAgIDAsCiAgICBfZjR1JHQueHko
dGhpcy5heGlzLCB3IC0gc3RhcnRwLCB3KSwKICAgIF9mNHUkdC54eSh0aGlzLmF4aXMsIGgsIHN0
YXJ0cCksCiAgICB7CiAgICAgIGZpbGwgOiBfZjR1JHQuY29sb3JfdG9fcmdiKHRoaXMuZ3Jvb3Zl
X2ZpbGwpLAogICAgICBzdHJva2UgOiBfZjR1JHQuY29sb3JfdG9fcmdiKHRoaXMuZ3Jvb3ZlX3N0
cm9rZSksCiAgICAgIGlkIDogZnVsbF9pZCwKICAgICAgJ2NsYXNzJyA6IF9mNHUkdC54eSh0aGlz
LmF4aXMsICdmYXVzdC1oc2xpZGVyLWdyb292ZScsICdmYXVzdC12c2xpZGVyLWdyb292ZScpLAog
ICAgICB0cmFuc2Zvcm0gOiB0cmFucwogICAgfSk7CgogICQoJyMnK2Z1bGxfaWQpLmJpbmQoJ21v
dXNlZG93bicsIG1vdXNlZG93bik7CiAgJCgnIycrZnVsbF9pZCkuYmluZCgndG91Y2hzdGFydCcs
IG1vdXNlZG93bik7CiAgcmV0dXJuIGdyb292ZTsKfQoKX2Y0dSR0LlNsaWRlci5wcm90b3R5cGUu
bWFrZV9tZXRlciA9IGZ1bmN0aW9uKHN2ZywgcGFyZW50LCBpZCkgewogIHZhciBkaW1zID0gdGhp
cy5kaW1zKCk7CiAgdmFyIHcgPSBfZjR1JHQueHkodGhpcy5heGlzLCB0aGlzLmxlbmd0aCwgdGhp
cy5za2lubnlfZ2lydGgoKSk7CiAgdmFyIGggPSBfZjR1JHQueHkodGhpcy5heGlzLCB0aGlzLnNr
aW5ueV9naXJ0aCgpLCB0aGlzLmxlbmd0aCk7CiAgdmFyIHhvID0gKCh0aGlzLmF4aXMgPT0gX2Y0
dSR0LllfQVhJUykgfHwgKHRoaXMgaW5zdGFuY2VvZiBfZjR1JHQuUm90YXRpbmdCdXR0b24pID8g
KGRpbXNbMF0gLSB3KSAvIDIuMCA6IDAuMCk7CiAgdmFyIHRyYW5zID0gX2Y0dSR0Lnh5KHRoaXMu
YXhpcywgJ3RyYW5zbGF0ZSgwLCcrKCh0aGlzLmdpcnRoIC0gdGhpcy5za2lubnlfZ2lydGgoKSkg
LyAyKSsnKScsICd0cmFuc2xhdGUoJyt4bysnLDApJyk7CiAgdmFyIGZ1bGxfaWQgPSAnZmF1c3Rf
Jyt0aGlzLnR5cGUrJ19tZXRlcl8nK2lkOwogIHZhciBhY3RpdmF0ZV9mbiA9ICJhY3RpdmF0ZV8i
K3RoaXMudHlwZTsKICB2YXIgbW91c2Vkb3duID0gX2Y0dSR0W2FjdGl2YXRlX2ZuXTsKICB2YXIg
Z3Jvb3ZlID0gX2Y0dSR0Lm1ha2VfcmVjdGFuZ2xlX3ZpYV9yZWN0KAogICAgc3ZnLAogICAgcGFy
ZW50LAogICAgNCwKICAgIDAsCiAgICAwLAogICAgdywKICAgIGgsCiAgICB7CiAgICAgIGZpbGwg
OiBfZjR1JHQuY29sb3JfdG9fcmdiKHRoaXMuZ3Jvb3ZlX2ZpbGwpLAogICAgICBzdHJva2UgOiBf
ZjR1JHQuY29sb3JfdG9fcmdiKHRoaXMuZ3Jvb3ZlX3N0cm9rZSksCiAgICAgIGlkIDogZnVsbF9p
ZCwKICAgICAgJ2NsYXNzJyA6IF9mNHUkdC54eSh0aGlzLmF4aXMsICdmYXVzdC1oc2xpZGVyLW1l
dGVyJywgJ2ZhdXN0LXZzbGlkZXItbWV0ZXInKSwKICAgICAgdHJhbnNmb3JtIDogdHJhbnMKICAg
IH0pOwoKICAkKCcjJytmdWxsX2lkKS5iaW5kKCdtb3VzZWRvd24nLCBtb3VzZWRvd24pOwogICQo
JyMnK2Z1bGxfaWQpLmJpbmQoJ3RvdWNoc3RhcnQnLCBtb3VzZWRvd24pOwogIHJldHVybiBncm9v
dmU7Cn0KCl9mNHUkdC5TbGlkZXIucHJvdG90eXBlLm1ha2VfaGFuZGxlID0gZnVuY3Rpb24oc3Zn
LCBwYXJlbnQsIGlkKSB7CiAgdmFyIGRpbXMgPSB0aGlzLmRpbXMoKTsKICB2YXIgc2xpZGVyX2dp
cnRoID0gdGhpcy5zcDsKICB2YXIgaGFsZl9zbGlkZXJfZ2lydGggPSBzbGlkZXJfZ2lydGggKiAw
LjU7CiAgdmFyIHN0YXJ0cCA9IF9mNHUkdC54eSh0aGlzLmF4aXMsIF9mNHUkdC5yZW1hcCwgX2Y0
dSR0LnJlbWFwX2FuZF9mbGlwKSh0aGlzLmluaXQsIHRoaXMubWluLCB0aGlzLm1heCwgMCArIGhh
bGZfc2xpZGVyX2dpcnRoLCB0aGlzLmxlbmd0aCAtIGhhbGZfc2xpZGVyX2dpcnRoKTsKICB2YXIg
Ym90dG9tID0gc3RhcnRwIC0gaGFsZl9zbGlkZXJfZ2lydGg7CiAgdmFyIHRvcCA9IHN0YXJ0cCAr
IGhhbGZfc2xpZGVyX2dpcnRoOwogIHZhciB3ID0gX2Y0dSR0Lnh5KHRoaXMuYXhpcywgc2xpZGVy
X2dpcnRoLCB0aGlzLmdpcnRoKTsKICB2YXIgaCA9IF9mNHUkdC54eSh0aGlzLmF4aXMsIHRoaXMu
Z2lydGgsIHNsaWRlcl9naXJ0aCk7CiAgdmFyIHhvID0gKCh0aGlzLmF4aXMgPT0gX2Y0dSR0Lllf
QVhJUykgPyAoZGltc1swXSAtIHcpIC8gMi4wIDogMC4wKTsKICB2YXIgeCA9IF9mNHUkdC54eSh0
aGlzLmF4aXMsIGJvdHRvbSwgeG8pOwogIHZhciB5ID0gX2Y0dSR0Lnh5KHRoaXMuYXhpcywgMCwg
Ym90dG9tKTsKICB2YXIgZnVsbF9pZCA9ICdmYXVzdF8nK3RoaXMudHlwZSsnX2hhbmRsZV8nK2lk
OwogIHZhciBhY3RpdmF0ZV9mbiA9ICJhY3RpdmF0ZV8iK3RoaXMudHlwZTsKICB2YXIgbW91c2Vk
b3duID0gX2Y0dSR0W2FjdGl2YXRlX2ZuXTsKCiAgdmFyIGhhbmRsZSA9IF9mNHUkdC5tYWtlX3Jl
Y3RhbmdsZV92aWFfcmVjdCgKICAgIHN2ZywKICAgIHBhcmVudCwKICAgIDQsCiAgICAwLAogICAg
MCwKICAgIHcsCiAgICBoLAogICAgewogICAgICBmaWxsIDogX2Y0dSR0LmNvbG9yX3RvX3JnYih0
aGlzLmhhbmRsZV9maWxsKSwKICAgICAgc3Ryb2tlIDogX2Y0dSR0LmNvbG9yX3RvX3JnYih0aGlz
LmhhbmRsZV9zdHJva2UpLAogICAgICBpZCA6IGZ1bGxfaWQsCiAgICAgICdjbGFzcycgOiBfZjR1
JHQueHkodGhpcy5heGlzLCAnZmF1c3QtaHNsaWRlci1oYW5kbGUnLCAnZmF1c3QtdnNsaWRlci1o
YW5kbGUnKSwKICAgICAgdHJhbnNmb3JtIDogJ3RyYW5zbGF0ZSgnK3grJywnK3krJyknCiAgICB9
KTsKCiAgJCgnIycrZnVsbF9pZCkuYmluZCgnbW91c2Vkb3duJywgbW91c2Vkb3duKTsKICAkKCcj
JytmdWxsX2lkKS5iaW5kKCd0b3VjaHN0YXJ0JywgbW91c2Vkb3duKTsKICByZXR1cm4gaGFuZGxl
Owp9CgpfZjR1JHQuU2xpZGVyLnByb3RvdHlwZS5tYWtlID0gZnVuY3Rpb24oc3ZnLCBwYXJlbnQp
IHsKICB2YXIgaWQgPSB0aGlzLmlkOwogIHZhciBnID0gdGhpcy5tYWtlX2dyb3VwKHN2ZywgcGFy
ZW50LCBpZCk7CgogIF9mNHUkdFsiaW5pdGlhdGVfIit0aGlzLnR5cGVdKAogICAgaWQsCiAgICB0
aGlzLmxlbmd0aCwKICAgIHRoaXMuc3AsCiAgICB0aGlzLm1pbiwKICAgIHRoaXMubWF4LAogICAg
dGhpcy5zdGVwLAogICAgdGhpcy5pbml0LAogICAgdGhpcy5pbnRlZ2VyLAogICAgdGhpcy5uZGVj
LAogICAgdGhpcy5sYWJlbCwKICAgIHRoaXMudW5pdCwKICAgIHRoaXMub3JpZW50YXRpb24sCiAg
ICB0aGlzLm9yaWVudGF0aW9uX21vZGUsCiAgICB0aGlzLmFkZHJlc3MKICApOwoKICB0aGlzLm1h
a2VfbWV0ZXIoc3ZnLCBnLCBpZCk7CiAgdGhpcy5tYWtlX2dyb292ZShzdmcsIGcsIGlkKTsKICB0
aGlzLm1ha2VfaGFuZGxlKHN2ZywgZywgaWQpOwogIHRoaXMubWFrZV9kZWxheWVkX3Rvb2x0aXAo
dGhpcywgc3ZnLCBpZCwgaWQpOwogIHJldHVybiBnOwp9CgovKgogIERFRklORVMgQSBIT1JJWk9O
VEFMIFNMSURFUi4KKi8KCl9mNHUkdC5Ib3Jpem9udGFsU2xpZGVyID0gZnVuY3Rpb24ob3B0aW9u
cykgewogIG9wdGlvbnMgPSBvcHRpb25zIHx8IHt9OwogIG9wdGlvbnNbImF4aXMiXSA9IF9mNHUk
dC5YX0FYSVM7CiAgb3B0aW9uc1sidHlwZSJdID0gJ2hzbGlkZXInOwogIF9mNHUkdC5TbGlkZXIu
Y2FsbCh0aGlzLCBvcHRpb25zLCBvcHRpb25zWyJ0eXBlIl0pOwp9CgpfZjR1JHQuZXh0ZW5kKF9m
NHUkdC5TbGlkZXIsIF9mNHUkdC5Ib3Jpem9udGFsU2xpZGVyKTsKCi8qCiAgREVGSU5FUyBBIFZF
UlRJQ0FMIFNMSURFUi4KKi8KCl9mNHUkdC5WZXJ0aWNhbFNsaWRlciA9IGZ1bmN0aW9uKG9wdGlv
bnMpIHsKICBvcHRpb25zID0gb3B0aW9ucyB8fCB7fTsKICBvcHRpb25zWyJheGlzIl0gPSBfZjR1
JHQuWV9BWElTOwogIG9wdGlvbnNbInR5cGUiXSA9ICd2c2xpZGVyJzsKICBfZjR1JHQuU2xpZGVy
LmNhbGwodGhpcywgb3B0aW9ucywgb3B0aW9uc1sidHlwZSJdKTsKfQoKX2Y0dSR0LmV4dGVuZChf
ZjR1JHQuU2xpZGVyLCBfZjR1JHQuVmVydGljYWxTbGlkZXIpOwoKX2Y0dSR0LkJhckdyYXBoID0g
ZnVuY3Rpb24ob3B0aW9ucywgdHlwZSkgewogIF9mNHUkdC5TbGlkaW5nT2JqZWN0LmNhbGwodGhp
cywgb3B0aW9ucywgdHlwZSk7CiAgdGhpcy5jdXJ0YWluX2ZpbGwgPSBfZjR1JHQuaW5pdGlmbnVs
bChvcHRpb25zLmN1cnRhaW5fZmlsbCwgX2Y0dSR0LkNZQU4pOwogIHRoaXMuY3VydGFpbl9zdHJv
a2UgPSBfZjR1JHQuaW5pdGlmbnVsbChvcHRpb25zLmN1cnRhaW5fc3Ryb2tlLCBfZjR1JHQuQ1lB
Tik7CiAgdGhpcy5tZXRlcl9maWxsID0gX2Y0dSR0LmluaXRpZm51bGwob3B0aW9ucy5tZXRlcl9m
aWxsLCBfZjR1JHQuQ1lBTik7CiAgdGhpcy5tZXRlcl9zdHJva2UgPSBfZjR1JHQuaW5pdGlmbnVs
bChvcHRpb25zLm1ldGVyX3N0cm9rZSwgX2Y0dSR0LkNZQU4pOwogIHRoaXMuaW5pdCA9IHRoaXMu
aW5pdCA/IHRoaXMuaW5pdCA6IHRoaXMubWluOwp9CgpfZjR1JHQuZXh0ZW5kKF9mNHUkdC5TbGlk
aW5nT2JqZWN0LCBfZjR1JHQuQmFyR3JhcGgpOwoKX2Y0dSR0LkJhckdyYXBoLnByb3RvdHlwZS5t
YWtlX2N1cnRhaW4gPSBmdW5jdGlvbihzdmcsIHBhcmVudCwgaWQpIHsKICB2YXIgZnVsbF9pZCA9
ICdmYXVzdF8nK3RoaXMudHlwZSsnX2N1cnRhaW5fJytpZDsKICB2YXIgZGVmID0gX2Y0dSR0Lnh5
KHRoaXMuYXhpcywgX2Y0dSR0LnJlbWFwLCBfZjR1JHQucmVtYXBfYW5kX2ZsaXApKHRoaXMuaW5p
dCwgdGhpcy5taW4sIHRoaXMubWF4LCAwLCB0aGlzLmxlbmd0aCk7CiAgdmFyIGRpbXMgPSB0aGlz
LmRpbXMoKTsKICB2YXIgdyA9IF9mNHUkdC54eSh0aGlzLmF4aXMsIGRlZiwgdGhpcy5naXJ0aCk7
CiAgdmFyIGggPSBfZjR1JHQueHkodGhpcy5heGlzLCB0aGlzLmdpcnRoLCBkZWYpOwogIHZhciB4
byA9ICgodGhpcy5heGlzID09IF9mNHUkdC5ZX0FYSVMpIHx8ICh0aGlzIGluc3RhbmNlb2YgX2Y0
dSR0LlJvdGF0aW5nQnV0dG9uKSA/IChkaW1zWzBdIC0gdykgLyAyLjAgOiAwLjApOwogIHZhciBj
dXJ0YWluID0gX2Y0dSR0Lm1ha2VfcmVjdGFuZ2xlX3ZpYV9yZWN0KAogICAgc3ZnLAogICAgcGFy
ZW50LAogICAgNCwKICAgIDAsCiAgICAwLAogICAgdywKICAgIGgsCiAgICB7CiAgICAgIGZpbGwg
OiBfZjR1JHQuY29sb3JfdG9fcmdiKHRoaXMuY3VydGFpbl9maWxsKSwKICAgICAgc3Ryb2tlIDog
X2Y0dSR0LmNvbG9yX3RvX3JnYih0aGlzLmN1cnRhaW5fc3Ryb2tlKSwKICAgICAgaWQgOiBmdWxs
X2lkLAogICAgICB0cmFuc2Zvcm0gOiBfZjR1JHQueHkodGhpcy5heGlzLCd0cmFuc2xhdGUoJyso
eG8gKyB0aGlzLmxlbmd0aCkrJywwKSBzY2FsZSgtMSwxKScsICd0cmFuc2xhdGUoJyt4bysnLDAp
JyksCiAgICAgICdjbGFzcycgOiBfZjR1JHQueHkodGhpcy5heGlzLCAnZmF1c3QtaGJhcmdyYXBo
LWN1cnRhaW4nLCAnZmF1c3QtdmJhcmdyYXBoLWN1cnRhaW4nKQogICAgfSk7CgogIHJldHVybiBj
dXJ0YWluOwp9CgpfZjR1JHQuQmFyR3JhcGgucHJvdG90eXBlLm1ha2VfbWV0ZXIgPSBmdW5jdGlv
bihzdmcsIHBhcmVudCwgaWQpIHsKICB2YXIgZGltcyA9IHRoaXMuZGltcygpOwogIHZhciB3ID0g
X2Y0dSR0Lnh5KHRoaXMuYXhpcywgdGhpcy5sZW5ndGgsIHRoaXMuZ2lydGgpOwogIHZhciBoID0g
X2Y0dSR0Lnh5KHRoaXMuYXhpcywgdGhpcy5naXJ0aCwgdGhpcy5sZW5ndGgpOwogIHZhciB4byA9
ICgodGhpcy5heGlzID09IF9mNHUkdC5ZX0FYSVMpIHx8ICh0aGlzIGluc3RhbmNlb2YgX2Y0dSR0
LlJvdGF0aW5nQnV0dG9uKSA/IChkaW1zWzBdIC0gdykgLyAyLjAgOiAwLjApOwogIHZhciBtZXRl
ciA9IF9mNHUkdC5tYWtlX3JlY3RhbmdsZV92aWFfcmVjdCgKICAgIHN2ZywKICAgIHBhcmVudCwK
ICAgIDQsCiAgICAwLAogICAgMCwKICAgIHcsCiAgICBoLAogICAgewogICAgICBmaWxsIDogX2Y0
dSR0LmNvbG9yX3RvX3JnYih0aGlzLm1ldGVyX2ZpbGwpLAogICAgICBzdHJva2UgOiBfZjR1JHQu
Y29sb3JfdG9fcmdiKHRoaXMubWV0ZXJfc3Ryb2tlKSwKICAgICAgaWQgOiAnZmF1c3RfJyt0aGlz
LnR5cGUrJ19tZXRlcl8nK2lkLAogICAgICB0cmFuc2Zvcm0gOiAndHJhbnNsYXRlKCcreG8rJyww
KScsCiAgICAgICdjbGFzcycgOiBfZjR1JHQueHkodGhpcy5heGlzLCAnZmF1c3QtaGJhcmdyYXBo
LW1ldGVyJywgJ2ZhdXN0LXZiYXJncmFwaC1tZXRlcicpCiAgICB9KTsKCiAgcmV0dXJuIG1ldGVy
Owp9CgpfZjR1JHQuQmFyR3JhcGgucHJvdG90eXBlLm1ha2UgPSBmdW5jdGlvbihzdmcsIHBhcmVu
dCkgewogIHZhciBpZCA9IHRoaXMuaWQ7CiAgdmFyIGcgPSB0aGlzLm1ha2VfZ3JvdXAoc3ZnLCBw
YXJlbnQsIGlkKTsKCiAgX2Y0dSR0Wydpbml0aWF0ZV8nK3RoaXMudHlwZV0oCiAgICBpZCwKICAg
IHRoaXMuZ2lydGgsCiAgICB0aGlzLmxlbmd0aCwKICAgIHRoaXMubWluLAogICAgdGhpcy5tYXgs
CiAgICB0aGlzLnN0ZXAsCiAgICB0aGlzLmluaXQsCiAgICB0aGlzLmxhYmVsLAogICAgdGhpcy51
bml0LAogICAgdGhpcy5hZGRyZXNzCiAgKTsKCiAgdGhpcy5tYWtlX21ldGVyKHN2ZywgZywgaWQp
OwogIHRoaXMubWFrZV9jdXJ0YWluKHN2ZywgZywgaWQpOwoKICByZXR1cm4gZzsKfQoKLyoKICBE
RUZJTkVTIEEgSE9SSVpPTlRBTCBCQVIgR1JBUEguCiovCgpfZjR1JHQuSG9yaXpvbnRhbEJhckdy
YXBoID0gZnVuY3Rpb24ob3B0aW9ucykgewogIG9wdGlvbnMgPSBvcHRpb25zIHx8IHt9OwogIG9w
dGlvbnNbImF4aXMiXSA9IF9mNHUkdC5YX0FYSVM7CiAgb3B0aW9uc1sidHlwZSJdID0gJ2hiYXJn
cmFwaCc7CiAgX2Y0dSR0LkJhckdyYXBoLmNhbGwodGhpcywgb3B0aW9ucywgb3B0aW9uc1sidHlw
ZSJdKTsKfQoKX2Y0dSR0LmV4dGVuZChfZjR1JHQuQmFyR3JhcGgsIF9mNHUkdC5Ib3Jpem9udGFs
QmFyR3JhcGgpOwoKLyoKICBERUZJTkVTIEEgVkVSVElDQUwgQkFSIEdSQVBILgoqLwoKX2Y0dSR0
LlZlcnRpY2FsQmFyR3JhcGggPSBmdW5jdGlvbihvcHRpb25zKSB7CiAgb3B0aW9ucyA9IG9wdGlv
bnMgfHwge307CiAgb3B0aW9uc1siYXhpcyJdID0gX2Y0dSR0LllfQVhJUzsKICBvcHRpb25zWyJ0
eXBlIl0gPSAndmJhcmdyYXBoJzsKICBfZjR1JHQuQmFyR3JhcGguY2FsbCh0aGlzLCBvcHRpb25z
LCBvcHRpb25zWyJ0eXBlIl0pOwp9CgpfZjR1JHQuZXh0ZW5kKF9mNHUkdC5CYXJHcmFwaCwgX2Y0
dSR0LlZlcnRpY2FsQmFyR3JhcGgpOwoKX2Y0dSR0LkNoZWNrQm94ID0gZnVuY3Rpb24ob3B0aW9u
cykgewogIF9mNHUkdC5pbml0X3Byb3AodGhpcywgb3B0aW9ucywgJ2NoZWNrYm94JywnbW9tJyk7
CiAgX2Y0dSR0LmluaXRfcHJvcCh0aGlzLCBvcHRpb25zLCAnY2hlY2tib3gnLCdkJyk7CiAgX2Y0
dSR0LmluaXRfcHJvcCh0aGlzLCBvcHRpb25zLCAnY2hlY2tib3gnLCdncmF2aXR5Jyk7CiAgX2Y0
dSR0LmluaXRfcHJvcCh0aGlzLCBvcHRpb25zLCAnY2hlY2tib3gnLCdjaGVja19maWxsJyk7CiAg
X2Y0dSR0LmluaXRfcHJvcCh0aGlzLCBvcHRpb25zLCAnY2hlY2tib3gnLCdjaGVja19zdHJva2Un
KTsKICBfZjR1JHQuaW5pdF9wcm9wKHRoaXMsIG9wdGlvbnMsICdjaGVja2JveCcsJ2JveF9maWxs
Jyk7CiAgX2Y0dSR0LmluaXRfcHJvcCh0aGlzLCBvcHRpb25zLCAnY2hlY2tib3gnLCdib3hfc3Ry
b2tlJyk7CiAgX2Y0dSR0LmluaXRfcHJvcCh0aGlzLCBvcHRpb25zLCAnY2hlY2tib3gnLCdpbml0
Jyk7CiAgX2Y0dSR0LmluaXRfcHJvcCh0aGlzLCBvcHRpb25zLCAnY2hlY2tib3gnLCAnc3RyZXRj
aGFibGUnKTsKICBfZjR1JHQuaW5pdF9wcm9wKHRoaXMsIG9wdGlvbnMsICdjaGVja2JveCcsICd0
b29sdGlwJyk7CiAgX2Y0dSR0LmluaXRfcHJvcCh0aGlzLCBvcHRpb25zLCAnY2hlY2tib3gnLCdh
ZGRyZXNzJyk7CiAgX2Y0dSR0LmluaXRfcHJvcCh0aGlzLCBvcHRpb25zLCAnY2hlY2tib3gnLCAn
aWQnKTsKfQoKX2Y0dSR0LmV4dGVuZChfZjR1JHQuVUlPYmplY3QsIF9mNHUkdC5DaGVja0JveCk7
CgpfZjR1JHQuQ2hlY2tCb3gucHJvdG90eXBlLmRpbXMgPSBmdW5jdGlvbigpIHsKICByZXR1cm4g
W3RoaXMuZCwgdGhpcy5kXTsKfQoKLy8gRE9OJ1QgRk9SR0VUIFRPIFNQRUNJRlkgQ0hFQ0sgSU4g
Q0FMTEJBQ0sKX2Y0dSR0LkNoZWNrQm94LnByb3RvdHlwZS5tYWtlX2JveCA9IGZ1bmN0aW9uKHN2
ZywgcGFyZW50LCBpZCkgewogIHZhciBmdWxsX2lkID0gJ2ZhdXN0X2NoZWNrYm94X2JveF8nK2lk
OwogIHZhciB3ID0gdGhpcy5kOwogIHZhciBoID0gdGhpcy5kOwogIHZhciBkaW1zID0gdGhpcy5k
aW1zKCk7CiAgdmFyIHhvID0gKGRpbXNbMF0gLSB3KSAvIDIuMDsKICB2YXIgbW91c2V1cCA9ICdf
ZjR1JHQuY2xpY2tfY2hlY2tib3goIicrZnVsbF9pZCsnIiknOwogIHZhciB0b3VjaHVwID0gJ19m
NHUkdC50b3VjaF9jaGVja2JveCgiJytmdWxsX2lkKyciKSc7CgogIHZhciBib3ggPSBfZjR1JHQu
bWFrZV9yZWN0YW5nbGVfdmlhX3JlY3QoCiAgICBzdmcsCiAgICBwYXJlbnQsCiAgICA0LAogICAg
MCwKICAgIDAsCiAgICB3LAogICAgaCwKICAgIHsKICAgICAgZmlsbCA6IF9mNHUkdC5jb2xvcl90
b19yZ2IodGhpcy5ib3hfZmlsbCksCiAgICAgIHN0cm9rZSA6IF9mNHUkdC5jb2xvcl90b19yZ2Io
dGhpcy5ib3hfc3Ryb2tlKSwKICAgICAgaWQgOiBmdWxsX2lkLAogICAgICAnY2xhc3MnIDogJ2Zh
dXN0LWNoZWNrYm94LWJveCcsCiAgICAgIHRyYW5zZm9ybSA6ICd0cmFuc2xhdGUoJyt4bysnLDAp
JywKICAgICAgb25tb3VzZXVwIDogbW91c2V1cCwKICAgICAgb250b3VjaGVuZCA6IHRvdWNodXAK
ICAgIH0pOwoKICByZXR1cm4gYm94Owp9CgpfZjR1JHQuQ2hlY2tCb3gucHJvdG90eXBlLm1ha2Vf
Y2hlY2sgPSBmdW5jdGlvbihzdmcsIHBhcmVudCwgaWQpIHsKICB2YXIgZnVsbF9pZCA9ICdmYXVz
dF9jaGVja2JveF9jaGVja18nK2lkOwogIHZhciB3ID0gdGhpcy5kOwogIHZhciBoID0gdGhpcy5k
OwogIHZhciBkaW1zID0gdGhpcy5kaW1zKCk7CiAgdmFyIHhvID0gKGRpbXNbMF0gLSB3KSAvIDIu
MDsKICB2YXIgbW91c2V1cCA9ICdfZjR1JHQuY2hhbmdlX2NoZWNrYm94KCInK2Z1bGxfaWQrJyIp
JzsKICAvL3ZhciB0b3VjaHVwID0gJ19mNHUkdC50b3VjaF9jaGVja2JveCgiJytmdWxsX2lkKyci
KSc7CiAgdmFyIGJveCA9IHN2Zy5wYXRoKAogICAgcGFyZW50LAogICAgIk0wIDBMIit0aGlzLmQr
IiAiK3RoaXMuZCsiTTAgIit0aGlzLmQrIkwiK3RoaXMuZCsiIDAiLAogICAgewogICAgICBpZCA6
IGZ1bGxfaWQsCiAgICAgIGZpbGwgOiBfZjR1JHQuY29sb3JfdG9fcmdiKHRoaXMuY2hlY2tfZmls
bCksCiAgICAgIHN0cm9rZSA6IF9mNHUkdC5jb2xvcl90b19yZ2IodGhpcy5jaGVja19zdHJva2Up
LAogICAgICBzdHlsZSA6ICJvcGFjaXR5OiIrKHRoaXMuaW5pdCA9PSAxID8gMS4wIDogMC4wKSwK
ICAgICAgb25tb3VzZXVwIDogbW91c2V1cCwKICAgICAgLy9vbnRvdWNoZW5kIDogdG91Y2h1cCwg
Ly8gZGVhY3RpdmF0ZWQgc28gdGhhdCB0b3VjaCBkb2Vzbid0IHRyaWdnZXIgYm90aCBib3ggYW5k
IGNoZWNrIGF0IHRoZSBzYW1lIHRpbWUKICAgICAgJ2NsYXNzJyA6ICdmYXVzdC1jaGVrYm94LWNo
ZWNrJywKICAgICAgdHJhbnNmb3JtIDogJ3RyYW5zbGF0ZSgnK3hvKycsMCknCiAgICB9CiAgKTsK
CiAgcmV0dXJuIGJveDsKfQoKX2Y0dSR0LkNoZWNrQm94LnByb3RvdHlwZS5tYWtlID0gZnVuY3Rp
b24oc3ZnLCBwYXJlbnQpIHsKICB2YXIgaWQgPSB0aGlzLmlkOwogIHZhciBnID0gdGhpcy5tYWtl
X2dyb3VwKHN2ZywgcGFyZW50LCBpZCk7CgogIF9mNHUkdC5pbml0aWF0ZV9jaGVja2JveChpZCwg
dGhpcy5hZGRyZXNzKTsKCiAgdGhpcy5tYWtlX2JveChzdmcsIGcsIGlkKTsKICB0aGlzLm1ha2Vf
Y2hlY2soc3ZnLCBnLCBpZCk7CiAgLy90aGlzLm1ha2VfbGFiZWwoc3ZnLCBnLCBpZCk7CiAgdGhp
cy5tYWtlX2RlbGF5ZWRfdG9vbHRpcCh0aGlzLCBzdmcsIGlkLCBpZCk7CgogIHJldHVybiBnOwp9
CgovKgogIEJ1dHRvbiBpbgoqLwoKX2Y0dSR0LkJ1dHRvbiA9IGZ1bmN0aW9uKG9wdGlvbnMpIHsK
ICBfZjR1JHQuaW5pdF9wcm9wKHRoaXMsIG9wdGlvbnMsICdidXR0b24nLCdtb20nKTsKICBfZjR1
JHQuaW5pdF9wcm9wKHRoaXMsIG9wdGlvbnMsICdidXR0b24nLCdpZGVhbF93aWR0aCcpOwogIF9m
NHUkdC5pbml0X3Byb3AodGhpcywgb3B0aW9ucywgJ2J1dHRvbicsJ2lkZWFsX2hlaWdodCcpOwog
IF9mNHUkdC5pbml0X3Byb3AodGhpcywgb3B0aW9ucywgJ2J1dHRvbicsICd0b29sdGlwJyk7CiAg
X2Y0dSR0LmluaXRfcHJvcCh0aGlzLCBvcHRpb25zLCAnYnV0dG9uJywgJ2xhYmVsJyk7CiAgdGhp
cy5fdyA9IHRoaXMuaWRlYWxfd2lkdGg7CiAgdGhpcy5faCA9IHRoaXMuaWRlYWxfaGVpZ2h0Owog
IF9mNHUkdC5pbml0X3Byb3AodGhpcywgb3B0aW9ucywgJ2J1dHRvbicsJ2dyYXZpdHknKTsKICBf
ZjR1JHQuaW5pdF9wcm9wKHRoaXMsIG9wdGlvbnMsICdidXR0b24nLCdmaWxsX29uJyk7CiAgX2Y0
dSR0LmluaXRfcHJvcCh0aGlzLCBvcHRpb25zLCAnYnV0dG9uJywnZmlsbF9vZmYnKTsKICBfZjR1
JHQuaW5pdF9wcm9wKHRoaXMsIG9wdGlvbnMsICdidXR0b24nLCdzdHJva2UnKTsKICBfZjR1JHQu
aW5pdF9wcm9wKHRoaXMsIG9wdGlvbnMsICdidXR0b24nLCAnc3RyZXRjaGFibGUnKTsKICBfZjR1
JHQuaW5pdF9wcm9wKHRoaXMsIG9wdGlvbnMsICdidXR0b24nLCdiYXNlbGluZV9za2lwJyk7CiAg
X2Y0dSR0LmluaXRfcHJvcCh0aGlzLCBvcHRpb25zLCAnYnV0dG9uJywgJ2lkJyk7CiAgX2Y0dSR0
LmluaXRfcHJvcCh0aGlzLCBvcHRpb25zLCAnYnV0dG9uJywnYWRkcmVzcycpOwp9CgpfZjR1JHQu
ZXh0ZW5kKF9mNHUkdC5VSU9iamVjdCwgX2Y0dSR0LkJ1dHRvbik7CgpfZjR1JHQuQnV0dG9uLnBy
b3RvdHlwZS53ID0gZnVuY3Rpb24oKSB7CiAgcmV0dXJuIE1hdGgubWF4KHRoaXMuX3csICBfZjR1
JHQuZ2V0X3RleHRfYmJveCh0aGlzLmdldF9yb290X3N2ZygpLCB0aGlzLmxhYmVsKS53aWR0aCAr
IDYpOwp9CgpfZjR1JHQuQnV0dG9uLnByb3RvdHlwZS5oID0gZnVuY3Rpb24oKSB7CiAgcmV0dXJu
IHRoaXMuX2g7Cn0KCl9mNHUkdC5CdXR0b24ucHJvdG90eXBlLmRpbXMgPSBmdW5jdGlvbigpIHsK
ICByZXR1cm4gW3RoaXMudygpLCB0aGlzLmgoKV07Cn0KCl9mNHUkdC5CdXR0b24ucHJvdG90eXBl
Lm1ha2VfYnV0dG9uX2JveCA9IGZ1bmN0aW9uKHN2ZywgcGFyZW50LCBpZCkgewogIHZhciBmdWxs
X2lkID0gJ2ZhdXN0X2J1dHRvbl9ib3hfJytpZDsKICB2YXIgcmYgPSAxMDsKICB2YXIgYnV0dG9u
ID0gX2Y0dSR0Lm1ha2VfcmVjdGFuZ2xlX3ZpYV9yZWN0KAogICAgc3ZnLAogICAgcGFyZW50LAog
ICAgcmYsCiAgICAwLAogICAgMCwKICAgIHRoaXMudygpLAogICAgdGhpcy5oKCksCiAgICB7CiAg
ICAgIGlkIDogZnVsbF9pZCwKICAgICAgZmlsbCA6IF9mNHUkdC5jb2xvcl90b19yZ2IodGhpcy5m
aWxsX29mZiksCiAgICAgIHN0cm9rZSA6IF9mNHUkdC5jb2xvcl90b19yZ2IodGhpcy5zdHJva2Up
LAogICAgICAnY2xhc3MnIDogJ2ZhdXN0LWJ1dHRvbi1ib3gnLAogICAgICBvbm1vdXNlb3ZlciA6
ICdfZjR1JHQuYnV0dG9uX2hvdmVyKCInK2Z1bGxfaWQrJyIpJywKICAgICAgb25tb3VzZW91dCA6
ICdfZjR1JHQuYnV0dG9uX3VuaG92ZXIoIicrZnVsbF9pZCsnIiknCiAgICB9KTsKCiAgcmV0dXJu
IGJ1dHRvbjsKfQoKX2Y0dSR0LkJ1dHRvbi5wcm90b3R5cGUubWFrZV9sYWJlbCA9IGZ1bmN0aW9u
KHN2ZywgcGFyZW50LCBpZCkgewogIHZhciB2bCA9IHN2Zy50ZXh0KAogICAgcGFyZW50LAogICAg
MCwKICAgIDAsCiAgICB0aGlzLmxhYmVsLAogICAgewogICAgICAidGV4dC1hbmNob3IiIDogJ21p
ZGRsZScsCiAgICAgIGlkOiAnZmF1c3RfbGFiZWxfJytpZCwKICAgICAgY2xhc3M6ICdmYXVzdC1i
dXR0b24tbGFiZWwnLAogICAgICB0cmFuc2Zvcm06ICd0cmFuc2xhdGUoJysodGhpcy53KCkgLyAy
LjApKycsJysodGhpcy5oKCkgLyAyLjAgKyB0aGlzLmJhc2VsaW5lX3NraXApKycpJywKICAgIH0K
ICApOwoKICByZXR1cm4gdmw7Cn0KCl9mNHUkdC5CdXR0b24ucHJvdG90eXBlLm1ha2UgPSBmdW5j
dGlvbihzdmcsIHBhcmVudCkgewogIHZhciBpZCA9IHRoaXMuaWQ7CiAgdmFyIGZ1bGxfaWQgPSAn
ZmF1c3RfYnV0dG9uX2JveF8nK2lkOwogIHZhciBtb3VzZWRvd24gPSAnX2Y0dSR0LmJ1dHRvbl9k
b3duKCInK2Z1bGxfaWQrJyIpJzsKICB2YXIgbW91c2V1cCA9ICdfZjR1JHQuYnV0dG9uX3VwKCIn
K2Z1bGxfaWQrJyIpJzsKICB2YXIgZyA9IHRoaXMubWFrZV9ncm91cChzdmcsIHBhcmVudCwgaWQp
OwoKICBzdmcuY29uZmlndXJlKGcsCiAgewogICAgb25tb3VzZWRvd24gOiBtb3VzZWRvd24sCiAg
ICAvL29udG91Y2hzdGFydCA6IG1vdXNlZG93biwKICAgIG9ubW91c2V1cCA6IG1vdXNldXAsCiAg
ICAvL29udG91Y2hlbmQgOiBtb3VzZXVwCiAgfSwKICBmYWxzZSk7CiAgX2Y0dSR0LmluaXRpYXRl
X2J1dHRvbigKICAgIGlkLAogICAgX2Y0dSR0LmNvbG9yX3RvX3JnYih0aGlzLmZpbGxfb2ZmKSwK
ICAgIF9mNHUkdC5jb2xvcl90b19yZ2IodGhpcy5maWxsX29uKSwKICAgIHRoaXMuYWRkcmVzcwog
ICk7CgogIHRoaXMubWFrZV9idXR0b25fYm94KHN2ZywgZywgaWQpOwogIHRoaXMubWFrZV9sYWJl
bChzdmcsIGcsIGlkKTsKICB0aGlzLm1ha2VfZGVsYXllZF90b29sdGlwKHRoaXMsIHN2ZywgaWQs
IGlkKTsKCiAgcmV0dXJuIGc7Cn0KCl9mNHUkdC5OdW1lcmljYWxFbnRyeSA9IGZ1bmN0aW9uKG9w
dGlvbnMpIHsKICBfZjR1JHQuaW5pdF9wcm9wKHRoaXMsIG9wdGlvbnMsICduZW50cnknLCAnbW9t
Jyk7CiAgX2Y0dSR0LmluaXRfcHJvcCh0aGlzLCBvcHRpb25zLCAnbmVudHJ5JywgJ3VuaXQnKTsK
ICBfZjR1JHQuaW5pdF9wcm9wKHRoaXMsIG9wdGlvbnMsICduZW50cnknLCAnaWRlYWxfd2lkdGgn
KTsKICBfZjR1JHQuaW5pdF9wcm9wKHRoaXMsIG9wdGlvbnMsICduZW50cnknLCAnaWRlYWxfaGVp
Z2h0Jyk7CiAgdGhpcy5fdyA9IHRoaXMuaWRlYWxfd2lkdGg7CiAgdGhpcy5faCA9IHRoaXMuaWRl
YWxfaGVpZ2h0OwogIF9mNHUkdC5pbml0X3Byb3AodGhpcywgb3B0aW9ucywgJ25lbnRyeScsICdt
aW4nKTsKICBfZjR1JHQuaW5pdF9wcm9wKHRoaXMsIG9wdGlvbnMsICduZW50cnknLCAnbWF4Jyk7
CiAgX2Y0dSR0LmluaXRfcHJvcCh0aGlzLCBvcHRpb25zLCAnbmVudHJ5JywgJ2luaXQnKTsKICBf
ZjR1JHQuaW5pdF9wcm9wKHRoaXMsIG9wdGlvbnMsICduZW50cnknLCAnc3RlcCcpOwogIF9mNHUk
dC5pbml0X3Byb3AodGhpcywgb3B0aW9ucywgJ25lbnRyeScsICdpbnRlZ2VyJyk7CiAgX2Y0dSR0
LmluaXRfcHJvcCh0aGlzLCBvcHRpb25zLCAnbmVudHJ5JywgJ25kZWMnKTsKICBfZjR1JHQuaW5p
dF9wcm9wKHRoaXMsIG9wdGlvbnMsICduZW50cnknLCAnZ3Jhdml0eScpOwogIF9mNHUkdC5pbml0
X3Byb3AodGhpcywgb3B0aW9ucywgJ25lbnRyeScsICdhZGRyZXNzJyk7CiAgX2Y0dSR0LmluaXRf
cHJvcCh0aGlzLCBvcHRpb25zLCAnbmVudHJ5JywgJ2lkJyk7CiAgX2Y0dSR0LmluaXRfcHJvcCh0
aGlzLCBvcHRpb25zLCAnbmVudHJ5JywgJ3R5cGUnKTsKICBfZjR1JHQuaW5pdF9wcm9wKHRoaXMs
IG9wdGlvbnMsICdidXR0b24nLCAnc3RyZXRjaGFibGUnKTsKICBfZjR1JHQuaW5pdF9wcm9wKHRo
aXMsIG9wdGlvbnMsICduZW50cnknLCAnYnV0dG9uX2ZpbGwnKTsKICBfZjR1JHQuaW5pdF9wcm9w
KHRoaXMsIG9wdGlvbnMsICduZW50cnknLCAnb3BlcmF0aW9uX2ZpbGwnKTsKICBfZjR1JHQuaW5p
dF9wcm9wKHRoaXMsIG9wdGlvbnMsICduZW50cnknLCAnYnV0dG9uX3N0cm9rZScpOwogIF9mNHUk
dC5pbml0X3Byb3AodGhpcywgb3B0aW9ucywgJ25lbnRyeScsICdvcGVyYXRpb25fc3Ryb2tlJyk7
CiAgX2Y0dSR0LmluaXRfcHJvcCh0aGlzLCBvcHRpb25zLCAnbmVudHJ5JywgJ3BhZGRpbmcnKTsK
ICBfZjR1JHQuaW5pdF9wcm9wKHRoaXMsIG9wdGlvbnMsICdidXR0b24nLCAndG9vbHRpcCcpOwp9
CgpfZjR1JHQuZXh0ZW5kKF9mNHUkdC5JbmNyZW1lbnRhbE9iamVjdCwgX2Y0dSR0Lk51bWVyaWNh
bEVudHJ5KTsKCl9mNHUkdC5OdW1lcmljYWxFbnRyeS5wcm90b3R5cGUudyA9IGZ1bmN0aW9uKCkg
ewogIHJldHVybiB0aGlzLl93Owp9CgpfZjR1JHQuTnVtZXJpY2FsRW50cnkucHJvdG90eXBlLmgg
PSBmdW5jdGlvbigpIHsKICByZXR1cm4gdGhpcy5faDsKfQoKX2Y0dSR0Lk51bWVyaWNhbEVudHJ5
LnByb3RvdHlwZS5kaW1zID0gZnVuY3Rpb24oKSB7CiAgcmV0dXJuIFt0aGlzLncoKSwgdGhpcy5o
KCldOwp9CgpfZjR1JHQuTnVtZXJpY2FsRW50cnkucHJvdG90eXBlLm1ha2VfbGVmdF9idXR0b24g
PSBmdW5jdGlvbihzdmcsIHBhcmVudCwgaWQpIHsKICByZXR1cm4gdGhpcy5tYWtlX2J1dHRvbihz
dmcsIHBhcmVudCwgaWQsIDAsIGZhbHNlKTsKfQoKX2Y0dSR0Lk51bWVyaWNhbEVudHJ5LnByb3Rv
dHlwZS5tYWtlX3JpZ2h0X2J1dHRvbiA9IGZ1bmN0aW9uKHN2ZywgcGFyZW50LCBpZCkgewogIHJl
dHVybiB0aGlzLm1ha2VfYnV0dG9uKHN2ZywgcGFyZW50LCBpZCwgdGhpcy53KCkgLyAyLjAgKyB0
aGlzLnBhZGRpbmcsIHRydWUpOwp9CgpfZjR1JHQuTnVtZXJpY2FsRW50cnkucHJvdG90eXBlLm1h
a2VfYnV0dG9uID0gZnVuY3Rpb24oc3ZnLCBwYXJlbnQsIGlkLCB4bywgaW5jcikgewogIHZhciBp
ZGVudGlmaWVyID0gaW5jciA/ICdyYnV0dG9uJyA6ICdsYnV0dG9uJzsKICB2YXIgdGFnID0gaW5j
ciA/ICdwbHVzJyA6ICdtaW51cyc7CiAgdmFyIGZ1bGxfaWQgPSAnZmF1c3RfbmVudHJ5X2J1dHRv
bl8nK3RhZysnXycraWQ7CiAgdmFyIHcgPSB0aGlzLncoKSAvIDIuMCAtIHRoaXMucGFkZGluZzsK
ICB2YXIgaCA9IHRoaXMuaCgpOwogIHZhciBtb3VzZWRvd24gPSBfZjR1JHRbJ25lbnRyeV9kb3du
XycrdGFnXQogIHZhciBtb3VzZXVwID0gX2Y0dSR0WyduZW50cnlfdXBfJyt0YWddCiAgdmFyIGJ1
dHRvbiA9IF9mNHUkdC5tYWtlX3JlY3RhbmdsZV92aWFfcmVjdCgKICAgIHN2ZywKICAgIHBhcmVu
dCwKICAgIDQsCiAgICAwLAogICAgMCwKICAgIHcsCiAgICBoLAogICAgewogICAgICAKICAgICAg
ZmlsbCA6IF9mNHUkdC5jb2xvcl90b19yZ2IodGhpcy5idXR0b25fZmlsbCksCiAgICAgIHN0cm9r
ZSA6IF9mNHUkdC5jb2xvcl90b19yZ2IodGhpcy5idXR0b25fc3Ryb2tlKSwKICAgICAgdHJhbnNm
b3JtIDogJ3RyYW5zbGF0ZSgnK3hvKycsMCknLAogICAgICBpZCA6IGZ1bGxfaWQsCiAgICAgICdj
bGFzcycgOiAnZmF1c3QtbmVudHJ5LWJveCcKICAgIH0pOwoKICAkKCcjJytmdWxsX2lkKS5iaW5k
KCdtb3VzZWRvd24nLCBtb3VzZWRvd24pOwogICQoJyMnK2Z1bGxfaWQpLmJpbmQoJ3RvdWNoc3Rh
cnQnLCBtb3VzZWRvd24pOwogICQoJyMnK2Z1bGxfaWQpLmJpbmQoJ21vdXNldXAnLCBtb3VzZXVw
KTsKICAkKCcjJytmdWxsX2lkKS5iaW5kKCd0b3VjaGVuZCcsIG1vdXNldXApOwogIHJldHVybiBi
dXR0b247Cn0KCl9mNHUkdC5OdW1lcmljYWxFbnRyeS5wcm90b3R5cGUubWFrZV9taW51cyA9IGZ1
bmN0aW9uKHN2ZywgcGFyZW50LCBpZCkgewogIHZhciBmdWxsX2lkID0gJ2ZhdXN0X25lbnRyeV9t
aW51c18nK2lkOwogIHZhciB4MCA9ICh0aGlzLncoKSAvIDIuMCAtIHRoaXMucGFkZGluZykgLyA0
LjA7CiAgdmFyIHkgPSB0aGlzLmgoKSAvIDIuMDsKICB2YXIgeDEgPSAodGhpcy53KCkgLyAyLjAg
LSB0aGlzLnBhZGRpbmcpICogMy4wIC8gNC4wOwogIHZhciBtb3VzZWRvd24gPSBfZjR1JHQubmVu
dHJ5X2Rvd25fbWludXM7CiAgdmFyIG1vdXNldXAgPSBfZjR1JHQubmVudHJ5X3VwX21pbnVzOwoK
ICB2YXIgZCA9ICJNIit4MCsiICIreSsiTCIreDErIiAiK3k7CiAgdmFyIG1pbnVzID0gc3ZnLnBh
dGgoCiAgICBwYXJlbnQsCiAgICBkLAogICAgewogICAgICBmaWxsIDogX2Y0dSR0LmNvbG9yX3Rv
X3JnYih0aGlzLm9wZXJhdGlvbl9maWxsKSwKICAgICAgc3Ryb2tlIDogX2Y0dSR0LmNvbG9yX3Rv
X3JnYih0aGlzLm9wZXJhdGlvbl9zdHJva2UpLAogICAgICBpZCA6IGZ1bGxfaWQsCiAgICAgICdj
bGFzcycgOiAnZmF1c3QtbmVudHJ5LW9wZXJhdGlvbicsCiAgICB9CiAgKTsKCiAgJCgnIycrZnVs
bF9pZCkuYmluZCgnbW91c2Vkb3duJywgbW91c2Vkb3duKTsKICAkKCcjJytmdWxsX2lkKS5iaW5k
KCd0b3VjaHN0YXJ0JywgbW91c2Vkb3duKTsKICAkKCcjJytmdWxsX2lkKS5iaW5kKCdtb3VzZXVw
JywgbW91c2V1cCk7CiAgJCgnIycrZnVsbF9pZCkuYmluZCgndG91Y2hlbmQnLCBtb3VzZXVwKTsK
ICByZXR1cm4gbWludXM7Cn0KCl9mNHUkdC5OdW1lcmljYWxFbnRyeS5wcm90b3R5cGUubWFrZV9w
bHVzID0gZnVuY3Rpb24oc3ZnLCBwYXJlbnQsIGlkKSB7CiAgdmFyIGZ1bGxfaWQgPSAnZmF1c3Rf
bmVudHJ5X3BsdXNfJytpZDsKICB2YXIgeDAwID0gKHRoaXMudygpIC8gMi4wIC0gdGhpcy5wYWRk
aW5nKSAvIDQuMDsKICB2YXIgeTAgPSB0aGlzLmgoKSAvIDIuMDsKICB2YXIgeDAxID0gKHRoaXMu
dygpIC8gMi4wIC0gdGhpcy5wYWRkaW5nKSAqIDMuMCAvIDQuMDsKICB2YXIgeDEgPSAodGhpcy53
KCkgLyAyLjAgLSB0aGlzLnBhZGRpbmcpIC8gMi4wOwogIHZhciB5MTAgPSB0aGlzLmgoKSAvIDQu
MDsKICB2YXIgeTExID0gdGhpcy5oKCkgKiAzLjAgLyA0LjA7CgogIHZhciBkID0gIk17MH0gezF9
THsyfSB7MX1NezN9IHs0fUx7M30gezV9IjsKICBkID0gZC5mb3JtYXQoW3gwMCwgeTAsIHgwMSwg
eDEsIHkxMCwgeTExXSk7CiAgdmFyIG1vdXNlZG93biA9IF9mNHUkdC5uZW50cnlfZG93bl9wbHVz
OwogIHZhciBtb3VzZXVwID0gX2Y0dSR0Lm5lbnRyeV91cF9wbHVzOwoKICB2YXIgcGx1cyA9IHN2
Zy5wYXRoKAogICAgcGFyZW50LAogICAgZCwKICAgIHsKICAgICAgZmlsbCA6IF9mNHUkdC5jb2xv
cl90b19yZ2IodGhpcy5vcGVyYXRpb25fZmlsbCksCiAgICAgIHN0cm9rZSA6IF9mNHUkdC5jb2xv
cl90b19yZ2IodGhpcy5vcGVyYXRpb25fc3Ryb2tlKSwKICAgICAgdHJhbnNmb3JtIDogJ3RyYW5z
bGF0ZSgnKyh0aGlzLncoKSAvIDIuMCArIHRoaXMucGFkZGluZykrJywwKScsCiAgICAgIGlkIDog
ZnVsbF9pZCwKICAgICAgJ2NsYXNzJyA6ICdmYXVzdC1uZW50cnktb3BlcmF0aW9uJywKICAgICAg
b25tb3VzZWRvd24gOiBtb3VzZWRvd24sCiAgICAgIG9udG91Y2hzdGFydCA6IG1vdXNlZG93bgog
ICAgfQogICk7CgogICQoJyMnK2Z1bGxfaWQpLmJpbmQoJ21vdXNlZG93bicsIG1vdXNlZG93bik7
CiAgJCgnIycrZnVsbF9pZCkuYmluZCgndG91Y2hzdGFydCcsIG1vdXNlZG93bik7CiAgJCgnIycr
ZnVsbF9pZCkuYmluZCgnbW91c2V1cCcsIG1vdXNldXApOwogICQoJyMnK2Z1bGxfaWQpLmJpbmQo
J3RvdWNoZW5kJywgbW91c2V1cCk7CiAgcmV0dXJuIHBsdXM7Cn0KCl9mNHUkdC5OdW1lcmljYWxF
bnRyeS5wcm90b3R5cGUubWFrZSA9IGZ1bmN0aW9uKHN2ZywgcGFyZW50KSB7CiAgdmFyIGlkID0g
dGhpcy5pZDsKICB2YXIgZyA9IHRoaXMubWFrZV9ncm91cChzdmcsIHBhcmVudCwgaWQpOwoKICBf
ZjR1JHQuaW5pdGlhdGVfbmVudHJ5KAogICAgaWQsCiAgICB0aGlzLm1pbiwKICAgIHRoaXMubWF4
LAogICAgdGhpcy5zdGVwLAogICAgdGhpcy5pbml0LAogICAgdGhpcy5pbnRlZ2VyLAogICAgdGhp
cy5uZGVjLAogICAgdGhpcy5sYWJlbCwKICAgIHRoaXMudW5pdCwKICAgIHRoaXMuYWRkcmVzcwog
ICk7CgogIHRoaXMubWFrZV9sZWZ0X2J1dHRvbihzdmcsIGcsIGlkKTsKICB0aGlzLm1ha2Vfcmln
aHRfYnV0dG9uKHN2ZywgZywgaWQpOwogIHRoaXMubWFrZV9taW51cyhzdmcsIGcsIGlkKTsKICB0
aGlzLm1ha2VfcGx1cyhzdmcsIGcsIGlkKTsKICB0aGlzLm1ha2VfZGVsYXllZF90b29sdGlwKHRo
aXMsIHN2ZywgaWQsIGlkKTsKCiAgcmV0dXJuIGc7Cn0KCl9mNHUkdC5MYXlvdXRNYW5hZ2VyID0g
ZnVuY3Rpb24ob3B0aW9ucykgewogIHZhciB0eXBlID0gX2Y0dSR0Lnh5KG9wdGlvbnMuYXhpcywg
J2hncm91cCcsJ3Zncm91cCcpOwogIF9mNHUkdC5pbml0X3Byb3AodGhpcywgb3B0aW9ucywgdHlw
ZSwgJ21vbScpOwogIF9mNHUkdC5pbml0X3Byb3AodGhpcywgb3B0aW9ucywgdHlwZSwgJ2F4aXMn
KTsKICBfZjR1JHQuaW5pdF9wcm9wKHRoaXMsIG9wdGlvbnMsIHR5cGUsICdwYWRkaW5nJyk7CiAg
X2Y0dSR0LmluaXRfcHJvcCh0aGlzLCBvcHRpb25zLCB0eXBlLCAnb3RoZXJfYXhpc19wYWRkaW5n
Jyk7CiAgX2Y0dSR0LmluaXRfcHJvcCh0aGlzLCBvcHRpb25zLCB0eXBlLCAnZHJhd19iYWNrZ3Jv
dW5kJyk7CiAgX2Y0dSR0LmluaXRfcHJvcCh0aGlzLCBvcHRpb25zLCB0eXBlLCAnbGFiZWwnKTsK
ICBfZjR1JHQuaW5pdF9wcm9wKHRoaXMsIG9wdGlvbnMsIHR5cGUsICdvYmpzJyk7CiAgX2Y0dSR0
LmluaXRfcHJvcCh0aGlzLCBvcHRpb25zLCB0eXBlLCAnZ3Jhdml0eScpOwogIF9mNHUkdC5pbml0
X3Byb3AodGhpcywgb3B0aW9ucywgdHlwZSwgJ3N0cmV0Y2hhYmxlJyk7CiAgX2Y0dSR0LmluaXRf
cHJvcCh0aGlzLCBvcHRpb25zLCB0eXBlLCAnZmlsbCcpOwogIF9mNHUkdC5pbml0X3Byb3AodGhp
cywgb3B0aW9ucywgdHlwZSwgJ3N0cm9rZScpOwogIHRoaXMueCA9IDA7CiAgdGhpcy55ID0gMDsK
ICB0aGlzLncgPSAwOwogIHRoaXMuaCA9IDA7CiAgdGhpcy5pZCA9IF9mNHUkdC5yYW5kU3RyaW5n
KCk7Cn0KCl9mNHUkdC5leHRlbmQoX2Y0dSR0LlVJT2JqZWN0LCBfZjR1JHQuTGF5b3V0TWFuYWdl
cik7CgpfZjR1JHQuTGF5b3V0TWFuYWdlci5wcm90b3R5cGUuZGltcyA9IGZ1bmN0aW9uKCkgewog
IHZhciBvdXR4ID0gW107CiAgdmFyIG91dHkgPSBbXTsKICBmb3IgKHZhciBpID0gMDsgaSA8IHRo
aXMub2Jqcy5sZW5ndGg7IGkrKykgewogICAgdmFyIGRpbSA9IHRoaXMub2Jqc1tpXS5kaW1zKCk7
CiAgICBvdXR4LnB1c2goZGltW19mNHUkdC5YX0FYSVNdKTsKICAgIG91dHkucHVzaChkaW1bX2Y0
dSR0LllfQVhJU10pOwogIH0KCiAgdmFyIG91dCA9IFtvdXR4LCBvdXR5XTsKCiAgZm9yICh2YXIg
aSA9IF9mNHUkdC5YX0FYSVM7IGkgPCBfZjR1JHQuTk9fQVhFUzsgaSsrKSB7CiAgICBvdXRbaV0g
PSAoaSA9PSB0aGlzLmF4aXMgPyBvdXRbaV0uc3VtKCkgOiBvdXRbaV0ubWF4KCkpOwogIH0KCiAg
Ly8gdGhpcyBhZGRzIGluIGJldHdlZW4gcGFkZGluZyBmb3IgYWxsIG9iamVjdHMgYXMgd2VsbCBh
cwogIC8vIHBhZGRpbmcgb24gdGhlIHRvcCBhbmQgb24gdGhlIGJvdHRvbQogIG91dFt0aGlzLmF4
aXNdICs9ICh0aGlzLnBhZGRpbmcgKiAodGhpcy5vYmpzLmxlbmd0aCArIDEpKTsKICAvLyB0aGlz
IG9ubHkgYWRkcyBwYWRkaW5nIG9uIHRoZSBzaWRlcwogIG91dFtfZjR1JHQub3RoZXJfYXhpcyh0
aGlzLmF4aXMpXSArPSAoMiAqIHRoaXMub3RoZXJfYXhpc19wYWRkaW5nKTsKICByZXR1cm4gb3V0
Owp9CgpfZjR1JHQuTGF5b3V0TWFuYWdlci5wcm90b3R5cGUucG9wdWxhdGVfb2JqZWN0cyA9IGZ1
bmN0aW9uKCkgewogIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5vYmpzLmxlbmd0aDsgaSsrKSB7
CiAgICB0aGlzLm9ianNbaV0ubW9tID0gdGhpczsKICAgIGlmICgodGhpcy5vYmpzW2ldIGluc3Rh
bmNlb2YgX2Y0dSR0LkxheW91dE1hbmFnZXIpCiAgICAgICAgfHwgKHRoaXMub2Jqc1tpXSBpbnN0
YW5jZW9mIF9mNHUkdC5UYWJHcm91cCkpIHsKICAgICAgdGhpcy5vYmpzW2ldLnBvcHVsYXRlX29i
amVjdHMoKTsKICAgIH0KICB9Cn0KCl9mNHUkdC5MYXlvdXRNYW5hZ2VyLnByb3RvdHlwZS5zdHJl
dGNoID0gZnVuY3Rpb24oeCx5KSB7CiAgLy8gVGhpcyBmdW5jdGlvbiBjb3VsZCBqdXN0IGRvIHRo
ZSBkaW0gY2hhbmdlLCBidXQKICAvLyBpdCB3b3VsZCBsZWF2ZSBzdHVmZiBjbHVtcGVkIGluIHRo
ZSBjZW50ZXIuICBXZSBhaXIKICAvLyB0aGluZ3Mgb3V0IGlmIG5vdGhpbmcgc3RyZXRjaGVzLgog
IGlmICh0aGlzLnN0cmV0Y2hhYmxlW3RoaXMuYXhpc10pIHsKICAgIHZhciBjaGFuZ2VfcGFkZGlu
ZyA9IHRydWU7CiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMub2Jqcy5sZW5ndGg7IGkrKykg
ewogICAgICBpZiAodGhpcy5vYmpzW2ldLnN0cmV0Y2hhYmxlW3RoaXMuYXhpc10pIHsKICAgICAg
ICAvLyBpZiBldmVuIGEgc2luZ2xlIG9iamVjdCBjYW4gYmUgc3RyZXRjaGVkLAogICAgICAgIC8v
IGRvbid0IGNoYW5nZSB0aGUgcGFkZGluZyBhbmQgbGV0IHRoYXQgb2JqZWN0IHN0cmV0Y2gKICAg
ICAgICBjaGFuZ2VfcGFkZGluZyA9IGZhbHNlOwogICAgICAgIGJyZWFrOwogICAgICB9CiAgICB9
CiAgICBpZiAoY2hhbmdlX3BhZGRpbmcpIHsKICAgICAgdmFyIGRpbSA9IHRoaXMuZGltcygpOwog
ICAgICAvLyBpZiBub3QgYSBzaW5nbGUgb2JqZWN0IGNhbiBiZSBzdHJldGNoZWQsIHRoZW4gd2UK
ICAgICAgLy8gc3BhY2Ugb2JqZWN0cyBvdXQgdmlhIHRoZSBwYWRkaW5nCiAgICAgIHRoaXMucGFk
ZGluZyA9IHRoaXMucGFkZGluZyArIE1hdGgubWF4KDAsCiAgICAgICAgICAgICAgICAgICAgICAo
X2Y0dSR0Lnh5KHRoaXMuYXhpcyx4LHkpICAtIGRpbVt0aGlzLmF4aXNdKSAvICh0aGlzLm9ianMu
bGVuZ3RoICsgMSkpOwogICAgfQogIH0KCiAgdmFyIGRpbSA9IHRoaXMuZGltcygpOwogIHRoaXMu
ZGltcyA9IGZ1bmN0aW9uKCkgeyByZXR1cm4gW3RoaXMuc3RyZXRjaGFibGVbX2Y0dSR0LlhfQVhJ
U10gPyB4IDogZGltW19mNHUkdC5YX0FYSVNdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHRoaXMuc3RyZXRjaGFibGVbX2Y0dSR0LllfQVhJU10gPyB5IDogZGltW19mNHUkdC5Z
X0FYSVNdXTsgfTsKfQoKX2Y0dSR0LkxheW91dE1hbmFnZXIucHJvdG90eXBlLmdldF9zdHJldGNo
YWJsZV9jb2VmZmljaWVudCA9IGZ1bmN0aW9uKHRvdGFsKSB7CiAgdmFyIHN0cmV0Y2hhYmxlID0g
MC4wOwogIHZhciB1bnN0cmV0Y2hhYmxlID0gMC4wOwogIGZvciAodmFyIGkgPSAwOyBpIDwgdGhp
cy5vYmpzLmxlbmd0aDsgaSsrKSB7CiAgICBpZiAodGhpcy5vYmpzW2ldLnN0cmV0Y2hhYmxlW3Ro
aXMuYXhpc10pIHsKICAgICAgc3RyZXRjaGFibGUgKz0gdGhpcy5vYmpzW2ldLmRpbXMoKVt0aGlz
LmF4aXNdOwogICAgfSBlbHNlIHsKICAgICAgdW5zdHJldGNoYWJsZSArPSB0aGlzLm9ianNbaV0u
ZGltcygpW3RoaXMuYXhpc107CiAgICB9CiAgfQogIHJldHVybiAodG90YWwgLSAodGhpcy5wYWRk
aW5nICogKHRoaXMub2Jqcy5sZW5ndGggKyAxKSkgLSB1bnN0cmV0Y2hhYmxlKSAvIHN0cmV0Y2hh
YmxlOwp9CgpfZjR1JHQuTGF5b3V0TWFuYWdlci5wcm90b3R5cGUuZG9fc3BhY2luZyA9IGZ1bmN0
aW9uKGxlYWYpIHsKICB2YXIgZGltcyA9IHRoaXMuZGltcygpOwogIHZhciB4ID0gZGltc1tfZjR1
JHQuWF9BWElTXTsKICB2YXIgeSA9IGRpbXNbX2Y0dSR0LllfQVhJU107CiAgdGhpcy53ID0geDsK
ICB0aGlzLmggPSB5OwogIC8vIGluY3JlYXNlIHBhZGRpbmcgYnkgc2l6ZQogIHZhciBwYWRkaW5n
ID0gdGhpcy5wYWRkaW5nOwogIC8vIHRoZSBmaXJzdCBwYWRkaW5nIHdpbGwgbmVlZCB0byBhY2Nv
dW50IGZvciBhbnkgYWRkaXRpb25hbCBzcGFjZSwgdGh1cwogIC8vIHVzZSB0aGlzLmdyYXZpdHks
IGFzIG9iamVjdCBncmF2aXRpZXMgd2lsbCBiZSB1c2VkIGludGVybmFsbHkKICB2YXIgcnVubmlu
Z19jb3VudCA9IHBhZGRpbmc7CiAgdmFyIHN0cmV0Y2hhYmxlX2NvZWZmaWNpZW50ID0gdGhpcy5n
ZXRfc3RyZXRjaGFibGVfY29lZmZpY2llbnQoX2Y0dSR0Lnh5KHRoaXMuYXhpcyx4LHkpKTsKICBm
b3IgKHZhciBpID0gMDsgaSA8IHRoaXMub2Jqcy5sZW5ndGg7IGkrKykgewogICAgdmFyIG9iaiA9
IHRoaXMub2Jqc1tpXTsKICAgIC8vIHRoZSBmaXJzdCB0aW1lIHdlIGNhbGMgdGhlIGRpbSwgd2Ug
ZG8gaXQgc28gdGhhdCB3ZSBjYW4gcGFzcwogICAgLy8gYSBwcm9wb3NpdGlvbiBmb3Igc3RyZXRj
aGluZyB0byB0aGUgc3RyZXRjaGluZyBhbGdvcml0aG0KICAgIC8vIHRoZSBpcyB0aGUgbWF4aW11
bSBzcGFjZSBhbGxvd2FibGUgZm9yIHN0cmV0Y2hpbmcKICAgIHZhciBkaW0gPSBvYmouZGltcygp
OwogICAgb2JqLnN0cmV0Y2goX2Y0dSR0Lnh5KHRoaXMuYXhpcywgc3RyZXRjaGFibGVfY29lZmZp
Y2llbnQgKiBkaW1bX2Y0dSR0LlhfQVhJU10sIHggLSAoMiAqIHRoaXMub3RoZXJfYXhpc19wYWRk
aW5nKSksIF9mNHUkdC54eSh0aGlzLmF4aXMsIHkgLSAoMiAqIHRoaXMub3RoZXJfYXhpc19wYWRk
aW5nKSwgc3RyZXRjaGFibGVfY29lZmZpY2llbnQgKiBkaW1bX2Y0dSR0LllfQVhJU10pKTsKICAg
IC8vIHdlIG5lZWQgdG8gY2FsY3VsYXRlIHRoZSBkaW1lbnNpb25zIGEgc2Vjb25kIHRpbWUKICAg
IC8vIGJlY2F1c2UgdGhleSBtYXkgaGF2ZSBiZWVuIHN0cmV0Y2hlZCBhYm92ZQogICAgZGltID0g
b2JqLmRpbXMoKTsKICAgIHZhciB4djEgPSBfZjR1JHQueHkodGhpcy5heGlzLCBydW5uaW5nX2Nv
dW50LCAwKTsKICAgIHZhciB4djIgPSBfZjR1JHQueHkodGhpcy5heGlzLCBydW5uaW5nX2NvdW50
LCB4IC0gZGltW19mNHUkdC5YX0FYSVNdKTsKICAgIG9iai5zZXRYKF9mNHUkdC5saW5lYXJfY29t
YmluYXRpb24ob2JqLmdyYXZpdHlbX2Y0dSR0LlhfQVhJU10sIHh2MSwgeHYyKSk7CiAgICB2YXIg
eXYxID0gX2Y0dSR0Lnh5KHRoaXMuYXhpcywgMCwgcnVubmluZ19jb3VudCk7CiAgICB2YXIgeXYy
ID0gX2Y0dSR0Lnh5KHRoaXMuYXhpcywgeSAtIGRpbVtfZjR1JHQuWV9BWElTXSwgcnVubmluZ19j
b3VudCk7CiAgICBvYmouc2V0WShfZjR1JHQubGluZWFyX2NvbWJpbmF0aW9uKG9iai5ncmF2aXR5
W19mNHUkdC5ZX0FYSVNdLCB5djEsIHl2MikpOwogICAgb2JqLmRvX3NwYWNpbmcobGVhZiArIDEp
OwogICAgcnVubmluZ19jb3VudCArPSBwYWRkaW5nICsgX2Y0dSR0Lnh5KHRoaXMuYXhpcywgZGlt
W19mNHUkdC5YX0FYSVNdLCBkaW1bX2Y0dSR0LllfQVhJU10pOwogIH0KfQoKX2Y0dSR0LkxheW91
dE1hbmFnZXIucHJvdG90eXBlLm1ha2VfYmFja2dyb3VuZCA9IGZ1bmN0aW9uKHN2ZywgcGFyZW50
KSB7CiAgdmFyIGZ1bGxfaWQgPSAnZmF1c3RfYmFja2dyb3VuZF8nK3RoaXMuaWQ7CiAgdmFyIGRp
bXMgPSB0aGlzLmRpbXMoKTsKICB2YXIgdyA9IGRpbXNbMF07CiAgdmFyIGggPSBkaW1zWzFdOwog
IHZhciBiYWNrZ3JvdW5kID0gX2Y0dSR0Lm1ha2VfcmVjdGFuZ2xlX3ZpYV9yZWN0KAogICAgc3Zn
LAogICAgcGFyZW50LAogICAgNCwKICAgIDAsCiAgICAwLAogICAgdywKICAgIGgsCiAgICB7CiAg
ICAgIGZpbGwgOiBfZjR1JHQuY29sb3JfdG9fcmdiKHRoaXMuZmlsbCksCiAgICAgIHN0cm9rZSA6
IF9mNHUkdC5jb2xvcl90b19yZ2IodGhpcy5zdHJva2UpLAogICAgICAnY2xhc3MnIDogJ2ZhdXN0
LWdyb3VwLWJhY2tncm91bmQnLAogICAgICBpZCA6IGZ1bGxfaWQsCiAgICAgIHN0eWxlOiArJ2Zp
bGwtb3BhY2l0eTowLjI7JwogICAgfSk7CgogIHJldHVybiBiYWNrZ3JvdW5kOwp9CgovLyBvbmx5
IGZvciBkZWJ1Z2dpbmcKX2Y0dSR0LkxheW91dE1hbmFnZXIucHJvdG90eXBlLm1ha2VfZGltX2Ny
b3NzID0gZnVuY3Rpb24oc3ZnLCBwYXJlbnQpIHsKICB2YXIgZGltcyA9IHRoaXMuZGltcygpOwog
IHN2Zy5wYXRoKAogICAgcGFyZW50LAogICAgIk0wIDBMIitkaW1zWzBdKycgJytkaW1zWzFdCiAg
KTsKCiAgLy9yZXR1cm4gYmFja2dyb3VuZDsKfQoKX2Y0dSR0LkxheW91dE1hbmFnZXIucHJvdG90
eXBlLm1ha2UgPSBmdW5jdGlvbihzdmcsIHBhcmVudCkgewogIHZhciBnID0gdGhpcy5tYWtlX2dy
b3VwKHN2ZywgcGFyZW50LCB0aGlzLmlkKTsKCiAgaWYgKHRoaXMuZHJhd19iYWNrZ3JvdW5kKSB7
CiAgICB0aGlzLm1ha2VfYmFja2dyb3VuZChzdmcsIGcpOwogIH0KICAvL3RoaXMubWFrZV9sYWJl
bChzdmcsIGcpOwoKICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMub2Jqcy5sZW5ndGg7IGkrKykg
ewogICAgdGhpcy5vYmpzW2ldLm1ha2Uoc3ZnLCBnKTsKICB9CgogIC8vdGhpcy5tYWtlX2RpbV9j
cm9zcyhzdmcsIGcpOwogIHJldHVybiBnOwp9CgpfZjR1JHQuVGFiR3JvdXAgPSBmdW5jdGlvbihv
cHRpb25zKSB7CiAgX2Y0dSR0LmluaXRfcHJvcCh0aGlzLCBvcHRpb25zLCAndGdyb3VwJywgJ21v
bScpOwogIF9mNHUkdC5pbml0X3Byb3AodGhpcywgb3B0aW9ucywgJ3Rncm91cCcsICdoZWFkcm9v
bScpOwogIF9mNHUkdC5pbml0X3Byb3AodGhpcywgb3B0aW9ucywgJ3Rncm91cCcsICdoZWFkcGFk
ZGluZycpOwogIF9mNHUkdC5pbml0X3Byb3AodGhpcywgb3B0aW9ucywgJ3Rncm91cCcsICd4X3Bh
ZGRpbmcnKTsKICBfZjR1JHQuaW5pdF9wcm9wKHRoaXMsIG9wdGlvbnMsICd0Z3JvdXAnLCAneF93
aWR0aCcpOwogIF9mNHUkdC5pbml0X3Byb3AodGhpcywgb3B0aW9ucywgJ3Rncm91cCcsICdvYmpz
Jyk7CiAgX2Y0dSR0LmluaXRfcHJvcCh0aGlzLCBvcHRpb25zLCAndGdyb3VwJywgJ2luaXQnKTsK
ICBfZjR1JHQuaW5pdF9wcm9wKHRoaXMsIG9wdGlvbnMsICd0Z3JvdXAnLCAnc3RyZXRjaGFibGUn
KTsKICBfZjR1JHQuaW5pdF9wcm9wKHRoaXMsIG9wdGlvbnMsICd0Z3JvdXAnLCAnZ3Jhdml0eScp
OwogIF9mNHUkdC5pbml0X3Byb3AodGhpcywgb3B0aW9ucywgJ3Rncm91cCcsICdiYXNlbGluZV9z
a2lwJyk7CiAgX2Y0dSR0LmluaXRfcHJvcCh0aGlzLCBvcHRpb25zLCAndGdyb3VwJywgJ2ZpbGxf
b24nKTsKICBfZjR1JHQuaW5pdF9wcm9wKHRoaXMsIG9wdGlvbnMsICd0Z3JvdXAnLCAnZmlsbF9v
ZmYnKTsKICBfZjR1JHQuaW5pdF9wcm9wKHRoaXMsIG9wdGlvbnMsICd0Z3JvdXAnLCAnc3Ryb2tl
Jyk7CiAgdGhpcy54ID0gMDsKICB0aGlzLnkgPSAwOwogIHRoaXMuaWQgPSBfZjR1JHQucmFuZFN0
cmluZygpOwp9CgpfZjR1JHQuZXh0ZW5kKF9mNHUkdC5VSU9iamVjdCwgX2Y0dSR0LlRhYkdyb3Vw
KTsKCl9mNHUkdC5UYWJHcm91cC5wcm90b3R5cGUuc2V0WCA9IGZ1bmN0aW9uKHgpIHsKICB0aGlz
LnggPSB4OwogIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5vYmpzLmxlbmd0aDsgaSsrKSB7CiAg
ICB0aGlzLm9ianNbaV0ueCA9IHg7CiAgfQp9CgpfZjR1JHQuVGFiR3JvdXAucHJvdG90eXBlLnNl
dFkgPSBmdW5jdGlvbih5KSB7CiAgdGhpcy55ID0geTsKICBmb3IgKHZhciBpID0gMDsgaSA8IHRo
aXMub2Jqcy5sZW5ndGg7IGkrKykgewogICAgdGhpcy5vYmpzW2ldLnkgPSB5ICsgdGhpcy5oZWFk
cm9vbSArIHRoaXMuaGVhZHBhZGRpbmc7CiAgfQp9CgpfZjR1JHQuVGFiR3JvdXAucHJvdG90eXBl
LnBvcHVsYXRlX29iamVjdHMgPSBmdW5jdGlvbigpIHsKICBmb3IgKHZhciBpID0gMDsgaSA8IHRo
aXMub2Jqcy5sZW5ndGg7IGkrKykgewogICAgdGhpcy5vYmpzW2ldLm1vbSA9IHRoaXM7CiAgICBp
ZiAoKHRoaXMub2Jqc1tpXSBpbnN0YW5jZW9mIF9mNHUkdC5MYXlvdXRNYW5hZ2VyKQogICAgICAg
IHx8ICh0aGlzLm9ianNbaV0gaW5zdGFuY2VvZiBfZjR1JHQuVGFiR3JvdXApKSB7CiAgICAgIHRo
aXMub2Jqc1tpXS5wb3B1bGF0ZV9vYmplY3RzKCk7CiAgICB9CiAgfQp9CgpfZjR1JHQuVGFiR3Jv
dXAucHJvdG90eXBlLmRpbXMgPSBmdW5jdGlvbigpIHsKICB2YXIgeCA9IDA7CiAgdmFyIHkgPSAw
OwogIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5vYmpzLmxlbmd0aDsgaSsrKSB7CiAgICB2YXIg
ZGltID0gdGhpcy5vYmpzW2ldLmRpbXMoKTsKICAgIHggPSBNYXRoLm1heCh4LCBkaW1bMF0pOwog
ICAgeSA9IE1hdGgubWF4KHksIGRpbVsxXSk7CiAgfQogIHJldHVybiBbTWF0aC5tYXgoeCwgKHRo
aXMueF93aWR0aCArIHRoaXMueF9wYWRkaW5nKSAqIHRoaXMub2Jqcy5sZW5ndGggLSB0aGlzLnhf
cGFkZGluZyksIHkgKyB0aGlzLmhlYWRyb29tICsgdGhpcy5oZWFkcGFkZGluZ107Cn0KCl9mNHUk
dC5UYWJHcm91cC5wcm90b3R5cGUuZG9fc3BhY2luZyA9IGZ1bmN0aW9uKGxlYWYpIHsKICBmb3Ig
KHZhciBpID0gMDsgaSA8IHRoaXMub2Jqcy5sZW5ndGg7IGkrKykgewogICAgdGhpcy5vYmpzW2ld
LnggPSAwOwogICAgdGhpcy5vYmpzW2ldLnkgPSB0aGlzLmhlYWRyb29tICsgdGhpcy5oZWFkcGFk
ZGluZzsKICAgIHRoaXMub2Jqc1tpXS5kb19zcGFjaW5nKGxlYWYgKyAxKTsKICB9Cn0KCl9mNHUk
dC5UYWJHcm91cC5wcm90b3R5cGUubWFrZV9sYWJlbCA9IGZ1bmN0aW9uKHN2ZywgcGFyZW50LCB4
LCB5LCBsLCBnb29kaWQsIGJhZGlkc3RyKSB7CiAgdmFyIG1vdXNlZG93biA9ICdfZjR1JHQuYWN0
aXZhdGVfdGdyb3VwKDAsJysodGhpcy5oZWFkcm9vbSArIHRoaXMuaGVhZHBhZGRpbmcpKycsIicr
Z29vZGlkKyciLCInK2JhZGlkc3RyKyciKScKICB2YXIgdmwgPSBzdmcudGV4dCgKICAgIHBhcmVu
dCwKICAgIDAsCiAgICAwLAogICAgbCwKICAgIHsKICAgICAgInRleHQtYW5jaG9yIiA6ICdtaWRk
bGUnLAogICAgICAnY2xhc3MnIDogJ2ZhdXN0LXRncm91cC1sYWJlbCcsCiAgICAgIHRyYW5zZm9y
bSA6ICd0cmFuc2xhdGUoJyt4KycsJyt5KycpJywKICAgICAgb25tb3VzZWRvd24gOiBtb3VzZWRv
d24sCiAgICAgIG9udG91Y2hzdGFydCA6IG1vdXNlZG93bgogICAgfQogICk7CgogIHJldHVybiB2
bDsKfQoKX2Y0dSR0LlRhYkdyb3VwLnByb3RvdHlwZS5tYWtlX3RhYiA9IGZ1bmN0aW9uKHN2Zywg
cGFyZW50LCB3LCBoLCB4LCB5LCBnb29kaWQsIGJhZGlkc3RyLCBmaWxsLCBkb3duKSB7CiAgdmFy
IG1vdXNlZG93biA9ICdfZjR1JHQuYWN0aXZhdGVfdGdyb3VwKDAsJysodGhpcy5oZWFkcm9vbSAr
IHRoaXMuaGVhZHBhZGRpbmcpKycsIicrZ29vZGlkKyciLCInK2JhZGlkc3RyKyciKSc7CiAgdmFy
IHRhYiA9IF9mNHUkdC5tYWtlX3JlY3RhbmdsZV92aWFfcmVjdCgKICAgIHN2ZywKICAgIHBhcmVu
dCwKICAgIDQsCiAgICAwLAogICAgMCwKICAgIHcsCiAgICBoLAogICAgewogICAgICB0cmFuc2Zv
cm06ICd0cmFuc2xhdGUoJyt4KycsJyt5KycpJywKICAgICAgJ2NsYXNzJyA6ICdmYXVzdC10Z3Jv
dXAtYm94JywKICAgICAgZmlsbCA6IF9mNHUkdC5jb2xvcl90b19yZ2IoZmlsbCksCiAgICAgIHN0
cm9rZSA6IF9mNHUkdC5jb2xvcl90b19yZ2IodGhpcy5zdHJva2UpLAogICAgICBpZCA6ICdmYXVz
dF90YWJfJytfZjR1JHQudW5pcXVlKGdvb2RpZCksCiAgICAgIG9ubW91c2Vkb3duIDogbW91c2Vk
b3duLAogICAgICBvbnRvdWNoc3RhcnQgOiBtb3VzZWRvd24KICAgIH0pOwoKICByZXR1cm4gdGFi
Owp9CgpfZjR1JHQuVGFiR3JvdXAucHJvdG90eXBlLm1ha2VfdGFicyA9IGZ1bmN0aW9uKHN2Zywg
cGFyZW50KSB7CiAgLy8gd2UgZXZlbmx5IHNwYWNlIGJ1dHRvbnMgYWNyb3NzIHggYXhpcwogIHZh
ciBnID0gc3ZnLmdyb3VwKCdmYXVzdF90YWJncm91cF90YWJiYXJfJyt0aGlzLmlkLCBwYXJlbnQp
OwoKICB2YXIgcnVubmluZ19jb3VudCA9IDA7CiAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLm9i
anMubGVuZ3RoOyBpKyspIHsKICAgIHZhciBjdXJvYmogPSB0aGlzLm9ianNbaV07CiAgICB2YXIg
YmFkaWRzdHIgPSB0aGlzLm9ianMuZmlsdGVyKGZ1bmN0aW9uKG9iaikge3JldHVybiBvYmogIT0g
Y3Vyb2JqfSkubWFwKGZ1bmN0aW9uKG9iaikge3JldHVybiBvYmouaWQ7fSkuam9pbignIycpOwog
ICAgdGhpcy5tYWtlX3RhYigKICAgICAgc3ZnLAogICAgICBwYXJlbnQsCiAgICAgIHRoaXMueF93
aWR0aCwKICAgICAgdGhpcy5oZWFkcm9vbSwKICAgICAgcnVubmluZ19jb3VudCwKICAgICAgMCwK
ICAgICAgY3Vyb2JqLmlkLAogICAgICBiYWRpZHN0ciwKICAgICAgdGhpcy5maWxsX29mZiwKICAg
ICAgaT09MCk7CiAgICB0aGlzLm1ha2VfbGFiZWwoCiAgICAgIHN2ZywKICAgICAgcGFyZW50LAog
ICAgICBydW5uaW5nX2NvdW50ICsgdGhpcy54X3dpZHRoIC8gMi4wLAogICAgICB0aGlzLmhlYWRy
b29tIC8gMi4wICsgdGhpcy5iYXNlbGluZV9za2lwLAogICAgICAvLyBhIGJpdCBvZiBhIGhhY2su
Li4KICAgICAgY3Vyb2JqLmxhYmVsLAogICAgICBjdXJvYmouaWQsCiAgICAgIGJhZGlkc3RyKTsK
ICAgIHJ1bm5pbmdfY291bnQgKz0gdGhpcy54X3dpZHRoICsgdGhpcy54X3BhZGRpbmc7CiAgfQoK
ICByZXR1cm4gZzsKfQoKX2Y0dSR0LlRhYkdyb3VwLnByb3RvdHlwZS5tYWtlID0gZnVuY3Rpb24o
c3ZnLCBwYXJlbnQpIHsKICB2YXIgZyA9IHRoaXMubWFrZV9ncm91cChzdmcsIHBhcmVudCwgdGhp
cy5pZCk7CgogIHRoaXMubWFrZV90YWJzKHN2ZywgZyk7CiAgZm9yICh2YXIgaSA9IDA7IGkgPCB0
aGlzLm9ianMubGVuZ3RoOyBpKyspIHsKICAgIHRoaXMub2Jqc1tpXS5tYWtlKHN2ZywgZyk7CiAg
fQogIC8vIGNhbGwgaW5pdGlhdGVfdGFiX2dyb3VwIGFmdGVyIG9iamVjdHMgYXJlIGNyZWF0ZWQK
ICBfZjR1JHQuaW5pdGlhdGVfdGFiX2dyb3VwKHRoaXMuaW5pdCwgdGhpcy5vYmpzLm1hcChmdW5j
dGlvbihvYmopIHtyZXR1cm4gb2JqLmlkO30pLmpvaW4oJyMnKSk7CgogIHJldHVybiBnOwp9Cgov
LyByYXRoZXIgdGhhbiBleHRlbmRpbmcgdGhlIGpRdWVyeSBzdmcgb2JqZWN0LCB3ZSBqdXN0IGNy
ZWF0ZSBhIHdyYXBwZXIgYXJvdW5kIGl0Cl9mNHUkdC5TVkcgPSBmdW5jdGlvbihzdmcsIHcsIGgs
IG9wdGlvbnMpIHsKICB0aGlzLnN2ZyA9IHN2ZzsKICB0aGlzLncgPSB3OwogIHRoaXMuaCA9IGg7
CiAgdGhpcy5sbSA9IF9mNHUkdC5pbml0aWZudWxsKG9wdGlvbnMubG0sIG51bGwpOwogIHRoaXMu
dGl0bGUgPSBfZjR1JHQuaW5pdGlmbnVsbChvcHRpb25zLnRpdGxlLCAnJyk7CiAgdGhpcy5sbS5t
b20gPSB0aGlzOwp9CgpfZjR1JHQuZXh0ZW5kKF9mNHUkdC5VSU9iamVjdCwgX2Y0dSR0LlNWRyk7
CgpfZjR1JHQuU1ZHLnByb3RvdHlwZS5nZXRfeF9vZmZzZXQgPSBmdW5jdGlvbigpIHsKICByZXR1
cm4gMDsKfQoKX2Y0dSR0LlNWRy5wcm90b3R5cGUuZ2V0X3lfb2Zmc2V0ID0gZnVuY3Rpb24oKSB7
CiAgcmV0dXJuIDA7Cn0KCl9mNHUkdC5TVkcucHJvdG90eXBlLmRlZnMgPSBmdW5jdGlvbigpIHsK
ICB2YXIgZGVmcyA9IHRoaXMuc3ZnLmRlZnMoKTsKICBmb3IgKHZhciBncmFkaWVudCBpbiBfZjR1
JHQubGluZWFyX2dyYWRpZW50X2luaXRzKSB7CiAgICB0aGlzLnN2Zy5saW5lYXJHcmFkaWVudCgK
ICAgICAgZGVmcywKICAgICAgZ3JhZGllbnQsCiAgICAgIF9mNHUkdC5saW5lYXJfZ3JhZGllbnRf
aW5pdHNbZ3JhZGllbnRdWydzdG9wcyddLAogICAgICBfZjR1JHQubGluZWFyX2dyYWRpZW50X2lu
aXRzW2dyYWRpZW50XVsneDEnXSwKICAgICAgX2Y0dSR0LmxpbmVhcl9ncmFkaWVudF9pbml0c1tn
cmFkaWVudF1bJ3kxJ10sCiAgICAgIF9mNHUkdC5saW5lYXJfZ3JhZGllbnRfaW5pdHNbZ3JhZGll
bnRdWyd4MiddLAogICAgICBfZjR1JHQubGluZWFyX2dyYWRpZW50X2luaXRzW2dyYWRpZW50XVsn
eTInXSwKICAgICAgX2Y0dSR0LmxpbmVhcl9ncmFkaWVudF9pbml0c1tncmFkaWVudF1bJ3NldHRp
bmdzJ10KICAgICk7CiAgfQoKICBmb3IgKHZhciBncmFkaWVudCBpbiBfZjR1JHQucmFkaWFsX2dy
YWRpZW50X2luaXRzKSB7CiAgICB0aGlzLnN2Zy5yYWRpYWxHcmFkaWVudCgKICAgICAgZGVmcywK
ICAgICAgZ3JhZGllbnQsCiAgICAgIF9mNHUkdC5yYWRpYWxfZ3JhZGllbnRfaW5pdHNbZ3JhZGll
bnRdWydzdG9wcyddLAogICAgICBfZjR1JHQucmFkaWFsX2dyYWRpZW50X2luaXRzW2dyYWRpZW50
XVsnY3gnXSwKICAgICAgX2Y0dSR0LnJhZGlhbF9ncmFkaWVudF9pbml0c1tncmFkaWVudF1bJ2N5
J10sCiAgICAgIF9mNHUkdC5yYWRpYWxfZ3JhZGllbnRfaW5pdHNbZ3JhZGllbnRdWydyJ10sCiAg
ICAgIF9mNHUkdC5yYWRpYWxfZ3JhZGllbnRfaW5pdHNbZ3JhZGllbnRdWydmeCddLAogICAgICBf
ZjR1JHQucmFkaWFsX2dyYWRpZW50X2luaXRzW2dyYWRpZW50XVsnZnknXSwKICAgICAgX2Y0dSR0
LnJhZGlhbF9ncmFkaWVudF9pbml0c1tncmFkaWVudF1bJ3NldHRpbmdzJ10KICAgICk7CiAgfQp9
CgpfZjR1JHQuU1ZHLnByb3RvdHlwZS5tYWtlID0gZnVuY3Rpb24oKSB7CiAgdGhpcy5zdmcuY29u
ZmlndXJlKAogICAgewogICAgICB3aWR0aCA6IHRoaXMudysncHgnLAogICAgICBoZWlnaHQgOiB0
aGlzLmgrJ3B4JwogICAgfSwKICAgIHRydWUpOwogIF9mNHUkdC5ST09UID0gdGhpcy50aXRsZTsK
ICB0aGlzLmxtLnBvcHVsYXRlX29iamVjdHMoKTsKICB0aGlzLmxtLmRvX3NwYWNpbmcoMCk7CiAg
dGhpcy5sbS5tYWtlKHRoaXMuc3ZnLCB0aGlzLnN2Zyk7CiAgdGhpcy50b29sdGlwX2dyb3VwID0g
dGhpcy5zdmcuZ3JvdXAodGhpcy5zdmcsJ2ZhdXN0X3Rvb2x0aXBfZ3JvdXAnKTsKICB0aGlzLm1h
a2VfZGVsYXllZF90b29sdGlwcygpOwogIC8vIGlmIHRoZXJlIGlzIG5vIGNvbnN0cmFpbiwgdGhl
IHZpZXdwb3J0IG5lZWRzIHRvIGJlIHNjYWxlZAogIHZhciB2aWV3cG9ydF9kaW1zID0gdGhpcy5s
bS5kaW1zKCk7CiAgdGhpcy5zdmcuY29uZmlndXJlKAogICAgewogICAgICB2aWV3Qm94OiAnMCAw
ICcrdmlld3BvcnRfZGltc1swXSsnICcrdmlld3BvcnRfZGltc1sxXSwKICAgICAgd2lkdGggOiB0
aGlzLncrJ3B4JywKICAgICAgaGVpZ2h0OiB0aGlzLmgrJ3B4JywKICAgIH0sCiAgICB0cnVlKTsK
CiAgX2Y0dSR0LlZJRVdQT1JUX1NDQUxFID0gTWF0aC5taW4odGhpcy53L3ZpZXdwb3J0X2RpbXNb
MF0sIHRoaXMuaC92aWV3cG9ydF9kaW1zWzFdKTsKfQogCl9mNHUkdC5tZXRhX2luZm8gPSBmdW5j
dGlvbihkY3QsIHByb3AsIGRlZiwgZm4pIHsKICBpZiAoIWRjdFsnbWV0YSddKSB7CiAgICByZXR1
cm4gZGVmOwogIH0KICBmb3IgKHZhciBpPTA7IGkgPCBkY3RbJ21ldGEnXS5sZW5ndGg7IGkrKykg
ewogICAgaWYgKGRjdFsnbWV0YSddW2ldW3Byb3BdKSB7CiAgICAgIHJldHVybiBmbihkY3RbJ21l
dGEnXVtpXVtwcm9wXSk7CiAgICB9CiAgfQogIHJldHVybiBkZWY7Cn0KCl9mNHUkdC5oYXNfa25v
YiA9IGZ1bmN0aW9uKGRjdCkgewogIHJldHVybiBfZjR1JHQubWV0YV9pbmZvKGRjdCwgJ3N0eWxl
JywgZmFsc2UsIGZ1bmN0aW9uKHByb3ApIHsgcmV0dXJuIHByb3AgPT0gJ2tub2InOyB9KTsKfQoK
X2Y0dSR0LmdldF91bml0ID0gZnVuY3Rpb24oZGN0KSB7CiAgcmV0dXJuIF9mNHUkdC5tZXRhX2lu
Zm8oZGN0LCAndW5pdCcsICcnLCBfZjR1JHQuaWRlbnRpdHkpOwp9CgpfZjR1JHQuZ2V0X3Rvb2x0
aXAgPSBmdW5jdGlvbihkY3QpIHsKICByZXR1cm4gX2Y0dSR0Lm1ldGFfaW5mbyhkY3QsICd0b29s
dGlwJywgJycsIF9mNHUkdC5pZGVudGl0eSk7Cn0KCl9mNHUkdC5nZXRfb3JpZW50YXRpb25fbW9k
ZSA9IGZ1bmN0aW9uKGRjdCkgewogIHJldHVybiBfZjR1JHQubWV0YV9pbmZvKGRjdCwgJ29yaWVu
dGF0aW9uLW1vZGUnLCAnYWJzb2x1dGUnLCBfZjR1JHQuaWRlbnRpdHkpOwp9CgpfZjR1JHQuZ2V0
X29yaWVudGF0aW9uID0gZnVuY3Rpb24oZGN0KSB7CiAgcmV0dXJuIF9mNHUkdC5tZXRhX2luZm8o
ZGN0LCAnb3JpZW50YXRpb24nLCB7fSwgX2Y0dSR0LnBhcnNlX29yaWVudGF0aW9uKTsKfQoKX2Y0
dSR0LmlzX3Bhbm9yYW1pYyA9IGZ1bmN0aW9uKGRjdCkgewogIHJldHVybiBfZjR1JHQubWV0YV9p
bmZvKGRjdCwgJ3Bhbm9yYW1pYycsIGZhbHNlLCBmdW5jdGlvbihwcm9wKSB7IHJldHVybiBwcm9w
ID09PSAndHJ1ZSc7IH0pOwp9CgpfZjR1JHQuZ2V0X3N3ZWVwID0gZnVuY3Rpb24oZGN0KSB7CiAg
cmV0dXJuIF9mNHUkdC5tZXRhX2luZm8oZGN0LCAnc3dlZXAnLCBfZjR1JHQucmJ1dHRvbl9pbml0
cy5zd2VlcCwgZnVuY3Rpb24ocHJvcCkgeyByZXR1cm4gcGFyc2VGbG9hdChwcm9wKSAhPSBudWxs
ID8gcGFyc2VGbG9hdChwcm9wKSA6IF9mNHUkdC5yYnV0dG9uX2luaXRzLnN3ZWVwOyB9KTsKfQoK
X2Y0dSR0LmdldF9zaXplID0gZnVuY3Rpb24oZGN0KSB7CiAgcmV0dXJuIF9mNHUkdC5tZXRhX2lu
Zm8oZGN0LCAnc2l6ZScsIDEsIGZ1bmN0aW9uKHByb3ApIHsgcmV0dXJuIFswLjUsMSwyLDMsNF1b
cGFyc2VJbnQocHJvcCldOyB9KTsKfQoKX2Y0dSR0LmdldG51bXNwZWNzID0gZnVuY3Rpb24oZGN0
KSB7CiAgdmFyIGludGVnZXIgPSBmYWxzZTsKICBpZigocGFyc2VGbG9hdChkY3RbIm1heCJdKSA9
PSBwYXJzZUludChkY3RbIm1heCJdKSkKICAgICAmJiAocGFyc2VGbG9hdChkY3RbIm1pbiJdKSA9
PSBwYXJzZUludChkY3RbIm1pbiJdKSkKICAgICAmJiAocGFyc2VGbG9hdChkY3RbInN0ZXAiXSkg
PT0gcGFyc2VJbnQoZGN0WyJzdGVwIl0pKQogICAgICYmIChwYXJzZUZsb2F0KGRjdFsiaW5pdCJd
KSA9PSBwYXJzZUludChkY3RbImluaXQiXSkpCiAgICAgJiYgIWlzTmFOKGRjdFsibWF4Il0pCiAg
ICAgJiYgIWlzTmFOKGRjdFsibWluIl0pCiAgICAgJiYgIWlzTmFOKGRjdFsic3RlcCJdKQogICAg
ICYmICFpc05hTihkY3RbImluaXQiXSkpIHsKICAgIGludGVnZXIgPSB0cnVlOwogIH0KCiAgdmFy
IG1heHNwbGl0ID0gZGN0WyJtYXgiXSA/IGRjdFsibWF4Il0uc3BsaXQoJy4nKSA6IFsnJywnJ107
CiAgdmFyIG1pbnNwbGl0ID0gZGN0WyJtaW4iXSA/IGRjdFsibWluIl0uc3BsaXQoJy4nKSA6IFsn
JywnJ107CiAgdmFyIHN0ZXBzcGxpdCA9IGRjdFsic3RlcCJdID8gZGN0WyJzdGVwIl0uc3BsaXQo
Jy4nKSA6IFsnJywnJ107CiAgdmFyIGluaXRzcGxpdCA9IGRjdFsiaW5pdCJdID8gZGN0WyJpbml0
Il0uc3BsaXQoJy4nKSA6IFsnJywnJ107CiAgbWF4c3BsaXRbMV0gPSBtYXhzcGxpdFsxXSB8fCAn
JzsKICBtaW5zcGxpdFsxXSA9IG1pbnNwbGl0WzFdIHx8ICcnOwogIHN0ZXBzcGxpdFsxXSA9IHN0
ZXBzcGxpdFsxXSB8fCAnJzsKICBpbml0c3BsaXRbMV0gPSBpbml0c3BsaXRbMV0gfHwgJyc7CiAg
cGFyc2VyID0gaW50ZWdlciA/IHBhcnNlSW50IDogcGFyc2VGbG9hdDsKICByZXR1cm4gewogICAg
bWluIDogcGFyc2VyKGRjdFsibWluIl0pLAogICAgbWF4IDogcGFyc2VyKGRjdFsibWF4Il0pLAog
ICAgc3RlcCA6IHBhcnNlcihkY3RbInN0ZXAiXSksCiAgICBpbml0IDogcGFyc2VyKGRjdFsiaW5p
dCJdKSwKICAgIGlzaW50IDogaW50ZWdlciwKICAgIG5kZWMgOiBNYXRoLm1heChtYXhzcGxpdFsx
XS5sZW5ndGgsIG1pbnNwbGl0WzFdLmxlbmd0aCwgc3RlcHNwbGl0WzFdLmxlbmd0aCwgaW5pdHNw
bGl0WzFdLmxlbmd0aCkKICB9Owp9CgpfZjR1JHQubWFrZV9yYnV0dG9uID0gZnVuY3Rpb24oZGN0
KSB7CiAgdmFyIG51bXNwZWNzID0gX2Y0dSR0LmdldG51bXNwZWNzKGRjdCk7CiAgdmFyIGlkID0g
X2Y0dSR0LnJhbmRTdHJpbmcoKTsKICB2YXIgb3B0aW9ucyA9ICQuZXh0ZW5kKHRydWUsIHt9LCBf
ZjR1JHQucmJ1dHRvbl9pbml0cyk7CiAgb3B0aW9ucy5pZCA9IGlkOwogIG9wdGlvbnMubWluID0g
bnVtc3BlY3NbIm1pbiJdOwogIG9wdGlvbnMubWF4ID0gbnVtc3BlY3NbIm1heCJdOwogIG9wdGlv
bnMuc3RlcCA9IG51bXNwZWNzWyJzdGVwIl07CiAgb3B0aW9ucy5pbml0ID0gbnVtc3BlY3NbImlu
aXQiXTsKICBvcHRpb25zLmludGVnZXIgPSBudW1zcGVjc1siaW50ZWdlciJdOwogIG9wdGlvbnMu
bmRlYyA9IG51bXNwZWNzWyJuZGVjIl07CiAgb3B0aW9ucy5hZGRyZXNzID0gZGN0WyJhZGRyZXNz
Il07CiAgb3B0aW9ucy51bml0ID0gX2Y0dSR0LmdldF91bml0KGRjdCk7CiAgb3B0aW9ucy50b29s
dGlwID0gX2Y0dSR0LmdldF90b29sdGlwKGRjdCk7CiAgb3B0aW9ucy5vcmllbnRhdGlvbiA9IF9m
NHUkdC5nZXRfb3JpZW50YXRpb24oZGN0KTsKICBvcHRpb25zLm9yaWVudGF0aW9uX21vZGUgPSBf
ZjR1JHQuZ2V0X29yaWVudGF0aW9uX21vZGUoZGN0KTsKICBpZiAoX2Y0dSR0LmlzX3Bhbm9yYW1p
YyhkY3QpKSB7CiAgICBvcHRpb25zLmEwID0gMDsKICAgIG9wdGlvbnMuc3dlZXAgPSAzNjA7CiAg
fQogIHZhciBzaXplID0gX2Y0dSR0LmdldF9zaXplKGRjdCk7CiAgb3B0aW9ucy5pciAqPSBzaXpl
OwoKICB2YXIgdmJveF9vcHRpb25zID0gJC5leHRlbmQodHJ1ZSwge30sIF9mNHUkdC52Ym94X2lu
aXRzKTsKICB2Ym94X29wdGlvbnMuaW5pdCA9IG51bXNwZWNzWyJpbml0Il07CiAgdmJveF9vcHRp
b25zLmlkID0gaWQ7CiAgdmFyIGxtX29wdGlvbnMgPSAkLmV4dGVuZCh0cnVlLCB7fSwgX2Y0dSR0
LnZncm91cF9pbml0cyk7CiAgbG1fb3B0aW9ucy5heGlzID0gX2Y0dSR0LllfQVhJUzsKICBsbV9v
cHRpb25zLnN0cmV0Y2hhYmxlID0gW2ZhbHNlLCBmYWxzZV07CgogIC8qIG1ha2UgZmF1c3QgdWkg
b2JqZWN0cyAqLwogIHZhciByYnV0dG9uID0gbmV3IF9mNHUkdC5Sb3RhdGluZ0J1dHRvbihvcHRp
b25zKTsKICB2YXIgbGFiZWwgPSBuZXcgX2Y0dSR0LkxhYmVsKHtsYWJlbCA6IGRjdFsibGFiZWwi
XSwgaWQgOiBpZCwgbW9tIDogbnVsbH0pOwogIHZhciB2Ym94ID0gbmV3IF9mNHUkdC5WYWx1ZUJv
eCh2Ym94X29wdGlvbnMpOwoKICB2YXIgbG0gPSBuZXcgX2Y0dSR0LkxheW91dE1hbmFnZXIobG1f
b3B0aW9ucyk7CiAgbG0ub2Jqcy5wdXNoKGxhYmVsKTsKICBsbS5vYmpzLnB1c2gocmJ1dHRvbik7
CiAgbG0ub2Jqcy5wdXNoKHZib3gpOwoKICByZXR1cm4gbG07Cn0KCl9mNHUkdC5tYWtlX2hzbGlk
ZXIgPSBmdW5jdGlvbihkY3QpIHsKICByZXR1cm4gX2Y0dSR0Lm1ha2Vfc2xpZGVyKF9mNHUkdC5I
b3Jpem9udGFsU2xpZGVyLCBkY3QpOwp9CgpfZjR1JHQubWFrZV92c2xpZGVyID0gZnVuY3Rpb24o
ZGN0KSB7CiAgcmV0dXJuIF9mNHUkdC5tYWtlX3NsaWRlcihfZjR1JHQuVmVydGljYWxTbGlkZXIs
IGRjdCk7Cn0KCl9mNHUkdC5tYWtlX3NsaWRlciA9IGZ1bmN0aW9uKGtscywgZGN0KSB7CiAgaWYg
KF9mNHUkdC5oYXNfa25vYihkY3QpKSB7CiAgICByZXR1cm4gX2Y0dSR0Lm1ha2VfcmJ1dHRvbihk
Y3QpOwogIH0KICB2YXIgbnVtc3BlY3MgPSBfZjR1JHQuZ2V0bnVtc3BlY3MoZGN0KTsKICB2YXIg
aG9yaXpvbnRhbCA9IGtscyA9PSBfZjR1JHQuSG9yaXpvbnRhbFNsaWRlcjsKICB2YXIgaWQgPSBf
ZjR1JHQucmFuZFN0cmluZygpOwogIHZhciBvcHRpb25zID0gJC5leHRlbmQodHJ1ZSwge30sIF9m
NHUkdFtob3Jpem9udGFsID8gJ2hzbGlkZXJfaW5pdHMnIDogJ3ZzbGlkZXJfaW5pdHMnXSk7CiAg
b3B0aW9ucy5pZCA9IGlkOwogIG9wdGlvbnMubWluID0gbnVtc3BlY3NbIm1pbiJdOwogIG9wdGlv
bnMubWF4ID0gbnVtc3BlY3NbIm1heCJdOwogIG9wdGlvbnMuc3RlcCA9IG51bXNwZWNzWyJzdGVw
Il07CiAgb3B0aW9ucy5pbml0ID0gbnVtc3BlY3NbImluaXQiXTsKICBvcHRpb25zLmludGVnZXIg
PSBudW1zcGVjc1siaW50ZWdlciJdOwogIG9wdGlvbnMubmRlYyA9IG51bXNwZWNzWyJuZGVjIl07
CiAgb3B0aW9ucy5hZGRyZXNzID0gZGN0WyJhZGRyZXNzIl07CiAgb3B0aW9ucy51bml0ID0gX2Y0
dSR0LmdldF91bml0KGRjdCk7CiAgb3B0aW9ucy5vcmllbnRhdGlvbiA9IF9mNHUkdC5nZXRfb3Jp
ZW50YXRpb24oZGN0KTsKICBvcHRpb25zLm9yaWVudGF0aW9uX21vZGUgPSBfZjR1JHQuZ2V0X29y
aWVudGF0aW9uX21vZGUoZGN0KTsKICBvcHRpb25zLnRvb2x0aXAgPSBfZjR1JHQuZ2V0X3Rvb2x0
aXAoZGN0KTsKICB2YXIgc2l6ZSA9IF9mNHUkdC5nZXRfc2l6ZShkY3QpOwogIG9wdGlvbnMuZ2ly
dGggKj0gc2l6ZTsKICBvcHRpb25zLmxlbmd0aCAqPSBzaXplOwoKICB2YXIgdmJveF9vcHRpb25z
ID0gJC5leHRlbmQodHJ1ZSwge30sIF9mNHUkdC52Ym94X2luaXRzKTsKICB2Ym94X29wdGlvbnMu
aW5pdCA9IG51bXNwZWNzWyJpbml0Il07CiAgdmJveF9vcHRpb25zLmlkID0gaWQ7CgogIC8qIG1h
a2UgZmF1c3QgdWkgb2JqZWN0cyAqLwogIHZhciBzbGlkZXIgPSBuZXcga2xzKG9wdGlvbnMpOwog
IHZhciBsYWJlbCA9IG5ldyBfZjR1JHQuTGFiZWwoe2xhYmVsIDogZGN0WyJsYWJlbCJdLCBpZCA6
IGlkLCBtb20gOiBudWxsfSk7CiAgdmFyIHZib3ggPSBuZXcgX2Y0dSR0LlZhbHVlQm94KHZib3hf
b3B0aW9ucyk7CgogIHZhciBsbSA9IDA7CiAgaWYgKGhvcml6b250YWwpIHsKICAgIHZhciBpbnRl
cm5hbF9sbV9vcHRpb25zID0gJC5leHRlbmQodHJ1ZSwge30sIF9mNHUkdC5oZ3JvdXBfaW5pdHMp
OwogICAgaW50ZXJuYWxfbG1fb3B0aW9ucy5heGlzID0gX2Y0dSR0LlhfQVhJUwogICAgaW50ZXJu
YWxfbG1fb3B0aW9ucy5kcmF3X2JhY2tncm91bmQgPSBmYWxzZTsKICAgIGludGVybmFsX2xtX29w
dGlvbnMub3RoZXJfYXhpc19wYWRkaW5nID0gMDsKICAgIHZhciBpbnRlcm5hbF9sbSA9IG5ldyBf
ZjR1JHQuTGF5b3V0TWFuYWdlcihpbnRlcm5hbF9sbV9vcHRpb25zKTsKICAgIGludGVybmFsX2xt
Lm9ianMucHVzaCh2Ym94KTsKICAgIGludGVybmFsX2xtLm9ianMucHVzaChzbGlkZXIpOwoKICAg
IHZhciBsbV9vcHRpb25zID0gJC5leHRlbmQodHJ1ZSwge30sIF9mNHUkdC52Z3JvdXBfaW5pdHMp
OwogICAgbG1fb3B0aW9ucy5heGlzID0gX2Y0dSR0LllfQVhJUzsKICAgIGxtX29wdGlvbnMuZ3Jh
dml0eSA9IF9mNHUkdC5MRUZUOwogICAgbG1fb3B0aW9ucy5zdHJldGNoYWJsZSA9IFt0cnVlLCBm
YWxzZV07CiAgICBsbSA9IG5ldyBfZjR1JHQuTGF5b3V0TWFuYWdlcihsbV9vcHRpb25zKTsKICAg
IGxtLm9ianMucHVzaChsYWJlbCk7CiAgICBsbS5vYmpzLnB1c2goaW50ZXJuYWxfbG0pOwogIH0g
ZWxzZSB7CiAgICB2YXIgbG1fb3B0aW9ucyA9ICQuZXh0ZW5kKHRydWUsIHt9LCBfZjR1JHQudmdy
b3VwX2luaXRzKTsKICAgIGxtX29wdGlvbnMuYXhpcyA9IF9mNHUkdC5ZX0FYSVM7CiAgICBsbV9v
cHRpb25zLnN0cmV0Y2hhYmxlID0gW2ZhbHNlLCB0cnVlXTsKICAgIGxtID0gbmV3IF9mNHUkdC5M
YXlvdXRNYW5hZ2VyKGxtX29wdGlvbnMpOwogICAgbG0ub2Jqcy5wdXNoKGxhYmVsKTsKICAgIGxt
Lm9ianMucHVzaChzbGlkZXIpOwogICAgbG0ub2Jqcy5wdXNoKHZib3gpOwogIH0KCiAgcmV0dXJu
IGxtOwp9CgpfZjR1JHQubWFrZV9oYmFyZ3JhcGggPSBmdW5jdGlvbihkY3QpIHsKICByZXR1cm4g
X2Y0dSR0Lm1ha2VfYmFyZ3JhcGgoX2Y0dSR0Lkhvcml6b250YWxCYXJHcmFwaCwgZGN0KTsKfQoK
X2Y0dSR0Lm1ha2VfdmJhcmdyYXBoID0gZnVuY3Rpb24oZGN0KSB7CiAgcmV0dXJuIF9mNHUkdC5t
YWtlX2JhcmdyYXBoKF9mNHUkdC5WZXJ0aWNhbEJhckdyYXBoLCBkY3QpOwp9CgpfZjR1JHQubWFr
ZV9iYXJncmFwaCA9IGZ1bmN0aW9uKGtscywgZGN0KSB7CiAgdmFyIGhvcml6b250YWwgPSBrbHMg
PT0gX2Y0dSR0Lkhvcml6b250YWxCYXJHcmFwaDsKICB2YXIgaWQgPSBfZjR1JHQucmFuZFN0cmlu
ZygpOwogIHZhciBvcHRpb25zID0gJC5leHRlbmQodHJ1ZSwge30sIF9mNHUkdFtob3Jpem9udGFs
ID8gJ2hiYXJncmFwaF9pbml0cycgOiAndmJhcmdyYXBoX2luaXRzJ10pOwogIG9wdGlvbnMuaWQg
PSBpZDsKICAvL3ZhciBudW1zcGVjcyA9IF9mNHUkdC5nZXRudW1zcGVjcyhkY3QpOwogIG9wdGlv
bnMubWluID0gcGFyc2VGbG9hdChkY3RbIm1pbiJdKTsKICBvcHRpb25zLm1heCA9IHBhcnNlRmxv
YXQoZGN0WyJtYXgiXSk7CiAgb3B0aW9ucy5hZGRyZXNzID0gZGN0WyJhZGRyZXNzIl07CiAgb3B0
aW9ucy51bml0ID0gX2Y0dSR0LmdldF91bml0KGRjdCk7CiAgdmFyIHNpemUgPSBfZjR1JHQuZ2V0
X3NpemUoZGN0KTsKICBvcHRpb25zLnRvb2x0aXAgPSBfZjR1JHQuZ2V0X3Rvb2x0aXAoZGN0KTsK
ICBvcHRpb25zLmdpcnRoICo9IHNpemU7CiAgb3B0aW9ucy5sZW5ndGggKj0gc2l6ZTsKCiAgdmFy
IHZib3hfb3B0aW9ucyA9ICQuZXh0ZW5kKHRydWUsIHt9LCBfZjR1JHQudmJveF9pbml0cyk7CiAg
dmJveF9vcHRpb25zLmtleXNpbmsgPSBmYWxzZTsKICB2Ym94X29wdGlvbnMuaWQgPSBpZDsKICB2
YXIgbG1fb3B0aW9ucyA9ICQuZXh0ZW5kKHRydWUsIHt9LCBfZjR1JHQudmdyb3VwX2luaXRzKTsK
ICBsbV9vcHRpb25zLmF4aXMgPSBfZjR1JHQuWV9BWElTOwoKICAvKiBtYWtlIGZhdXN0IHVpIG9i
amVjdHMgKi8KICB2YXIgYmFyZ3JhcGggPSBuZXcga2xzKG9wdGlvbnMpOwogIHZhciBsYWJlbCA9
IG5ldyBfZjR1JHQuTGFiZWwoe2xhYmVsIDogZGN0WyJsYWJlbCJdLCBpZCA6IGlkLCBtb20gOiBu
dWxsfSk7CiAgdmFyIHZib3ggPSBuZXcgX2Y0dSR0LlZhbHVlQm94KHZib3hfb3B0aW9ucyk7Cgog
IHZhciBsbSA9IDA7CiAgLy8gdWdoLi4uY29kZSBkdXAgZnJvbSBzbGlkZXIuLi4KICBpZiAoaG9y
aXpvbnRhbCkgewogICAgdmFyIGludGVybmFsX2xtX29wdGlvbnMgPSAkLmV4dGVuZCh0cnVlLCB7
fSwgX2Y0dSR0Lmhncm91cF9pbml0cyk7CiAgICBpbnRlcm5hbF9sbV9vcHRpb25zLmF4aXMgPSBf
ZjR1JHQuWF9BWElTCiAgICBpbnRlcm5hbF9sbV9vcHRpb25zLmRyYXdfYmFja2dyb3VuZCA9IGZh
bHNlOwogICAgaW50ZXJuYWxfbG1fb3B0aW9ucy5vdGhlcl9heGlzX3BhZGRpbmcgPSAwOwogICAg
dmFyIGludGVybmFsX2xtID0gbmV3IF9mNHUkdC5MYXlvdXRNYW5hZ2VyKGludGVybmFsX2xtX29w
dGlvbnMpOwogICAgaW50ZXJuYWxfbG0ub2Jqcy5wdXNoKHZib3gpOwogICAgaW50ZXJuYWxfbG0u
b2Jqcy5wdXNoKGJhcmdyYXBoKTsKCiAgICB2YXIgbG1fb3B0aW9ucyA9ICQuZXh0ZW5kKHRydWUs
IHt9LCBfZjR1JHQudmdyb3VwX2luaXRzKTsKICAgIGxtX29wdGlvbnMuYXhpcyA9IF9mNHUkdC5Z
X0FYSVM7CiAgICBsbV9vcHRpb25zLmdyYXZpdHkgPSBfZjR1JHQuTEVGVDsKICAgIGxtX29wdGlv
bnMuc3RyZXRjaGFibGUgPSBbdHJ1ZSwgZmFsc2VdOwogICAgbG0gPSBuZXcgX2Y0dSR0LkxheW91
dE1hbmFnZXIobG1fb3B0aW9ucyk7CiAgICBsbS5vYmpzLnB1c2gobGFiZWwpOwogICAgbG0ub2Jq
cy5wdXNoKGludGVybmFsX2xtKTsKICB9IGVsc2UgewogICAgdmFyIGxtX29wdGlvbnMgPSAkLmV4
dGVuZCh0cnVlLCB7fSwgX2Y0dSR0LnZncm91cF9pbml0cyk7CiAgICBsbV9vcHRpb25zLmF4aXMg
PSBfZjR1JHQuWV9BWElTOwogICAgbG1fb3B0aW9ucy5zdHJldGNoYWJsZSA9IFtmYWxzZSwgdHJ1
ZV07CiAgICBsbSA9IG5ldyBfZjR1JHQuTGF5b3V0TWFuYWdlcihsbV9vcHRpb25zKTsKICAgIGxt
Lm9ianMucHVzaChsYWJlbCk7CiAgICBsbS5vYmpzLnB1c2goYmFyZ3JhcGgpOwogICAgbG0ub2Jq
cy5wdXNoKHZib3gpOwogIH0KCiAgcmV0dXJuIGxtOwp9CgpfZjR1JHQubWFrZV9idXR0b24gPSBm
dW5jdGlvbihkY3QpIHsKICB2YXIgaWQgPSBfZjR1JHQucmFuZFN0cmluZygpOwogIHZhciBvcHRp
b25zID0gJC5leHRlbmQodHJ1ZSwge30sIF9mNHUkdC5idXR0b25faW5pdHMpOwogIG9wdGlvbnMu
aWQgPSBpZDsKICBvcHRpb25zLmxhYmVsID0gZGN0LmxhYmVsOwogIG9wdGlvbnMuYWRkcmVzcyA9
IGRjdC5hZGRyZXNzOwogIG9wdGlvbnMudG9vbHRpcCA9IF9mNHUkdC5nZXRfdG9vbHRpcChkY3Qp
OwogIHJldHVybiBuZXcgX2Y0dSR0LkJ1dHRvbihvcHRpb25zKTsKfQoKX2Y0dSR0Lm1ha2VfY2hl
Y2tib3ggPSBmdW5jdGlvbihkY3QpIHsKICB2YXIgaWQgPSBfZjR1JHQucmFuZFN0cmluZygpOwog
IHZhciBvcHRpb25zID0gJC5leHRlbmQodHJ1ZSwge30sIF9mNHUkdC5jaGVja2JveF9pbml0cyk7
CiAgb3B0aW9ucy5pZCA9IGlkOwogIG9wdGlvbnMuYWRkcmVzcyA9IGRjdC5hZGRyZXNzOwogIG9w
dGlvbnMuaW5pdCA9IChkY3QuaW5pdCA9PSAiMSIgPyB0cnVlIDogZmFsc2UpOwogIHZhciBzaXpl
ID0gX2Y0dSR0LmdldF9zaXplKGRjdCk7CiAgb3B0aW9ucy50b29sdGlwID0gX2Y0dSR0LmdldF90
b29sdGlwKGRjdCk7CiAgb3B0aW9ucy5kICo9IHNpemU7CgogIHZhciBsbV9vcHRpb25zID0gJC5l
eHRlbmQodHJ1ZSwge30sIF9mNHUkdC52Z3JvdXBfaW5pdHMpOwogIGxtX29wdGlvbnMuYXhpcyA9
IF9mNHUkdC5YX0FYSVM7CiAgbG1fb3B0aW9ucy5zdHJldGNoYWJsZSA9IFtmYWxzZSwgZmFsc2Vd
OwoKICAvKiBtYWtlIGZhdXN0IHVpIG9iamVjdHMgKi8KICB2YXIgY2hlY2tib3ggPSBuZXcgX2Y0
dSR0LkNoZWNrQm94KG9wdGlvbnMpOwogIHZhciBsYWJlbCA9IG5ldyBfZjR1JHQuTGFiZWwoe2xh
YmVsIDogZGN0WyJsYWJlbCJdLCBpZCA6IGlkLCBtb20gOiBudWxsfSk7CgogIHZhciBsbSA9IG5l
dyBfZjR1JHQuTGF5b3V0TWFuYWdlcihsbV9vcHRpb25zKTsKICBsbS5vYmpzLnB1c2goY2hlY2ti
b3gpOwogIGxtLm9ianMucHVzaChsYWJlbCk7CgogIHJldHVybiBsbTsKfQoKX2Y0dSR0Lm1ha2Vf
bmVudHJ5ID0gZnVuY3Rpb24oZGN0KSB7CiAgaWYgKF9mNHUkdC5oYXNfa25vYihkY3QpKSB7CiAg
ICByZXR1cm4gX2Y0dSR0Lm1ha2VfcmJ1dHRvbihkY3QpOwogIH0KICB2YXIgbnVtc3BlY3MgPSBf
ZjR1JHQuZ2V0bnVtc3BlY3MoZGN0KTsKICB2YXIgaWQgPSBfZjR1JHQucmFuZFN0cmluZygpOwog
IHZhciBvcHRpb25zID0gewogICAgbGFiZWwgOiBkY3RbImxhYmVsIl0sCiAgICBtaW4gOiBudW1z
cGVjc1sibWluIl0sCiAgICBtYXggOiBudW1zcGVjc1sibWF4Il0sCiAgICBzdGVwIDogbnVtc3Bl
Y3NbInN0ZXAiXSwKICAgIGluaXQgOiBudW1zcGVjc1siaW5pdCJdLAogICAgaW50ZWdlciA6IG51
bXNwZWNzWyJpbnRlZ2VyIl0sCiAgICBuZGVjIDogbnVtc3BlY3NbIm5kZWMiXSwKICAgIGFkZHJl
c3MgOiBkY3RbImFkZHJlc3MiXSwKICAgIHVuaXQgOiBfZjR1JHQuZ2V0X3VuaXQoZGN0KSwKICAg
IHRvb2x0aXAgOiBfZjR1JHQuZ2V0X3Rvb2x0aXAoZGN0KQogIH07CiAgb3B0aW9ucy5pZCA9IGlk
OwoKICB2YXIgbmVudHJ5ID0gbmV3IF9mNHUkdC5OdW1lcmljYWxFbnRyeShvcHRpb25zKTsKCiAg
dmFyIHZib3hfb3B0aW9ucyA9ICQuZXh0ZW5kKHRydWUsIHt9LCBfZjR1JHQudmJveF9pbml0cyk7
CiAgdmJveF9vcHRpb25zLmluaXQgPSBudW1zcGVjc1siaW5pdCJdOwogIHZib3hfb3B0aW9ucy5p
ZCA9IGlkOwogIHZhciBsbV9vcHRpb25zID0gJC5leHRlbmQodHJ1ZSwge30sIF9mNHUkdC52Z3Jv
dXBfaW5pdHMpOwogIGxtX29wdGlvbnMuYXhpcyA9IF9mNHUkdC5ZX0FYSVM7CiAgbG1fb3B0aW9u
cy5zdHJldGNoYWJsZSA9IFtmYWxzZSwgZmFsc2VdOwoKICAvKiBtYWtlIGZhdXN0IHVpIG9iamVj
dHMgKi8KICB2YXIgbGFiZWwgPSBuZXcgX2Y0dSR0LkxhYmVsKHtsYWJlbCA6IGRjdFsibGFiZWwi
XSwgaWQgOiBpZCwgbW9tIDogbnVsbH0pOwogIHZhciB2Ym94ID0gbmV3IF9mNHUkdC5WYWx1ZUJv
eCh2Ym94X29wdGlvbnMpOwoKICB2YXIgbG0gPSBuZXcgX2Y0dSR0LkxheW91dE1hbmFnZXIobG1f
b3B0aW9ucyk7CiAgbG0ub2Jqcy5wdXNoKGxhYmVsKTsKICBsbS5vYmpzLnB1c2gobmVudHJ5KTsK
ICBsbS5vYmpzLnB1c2godmJveCk7CgogIHJldHVybiBsbTsKfQoKX2Y0dSR0Lm1ha2VfaGdyb3Vw
ID0gZnVuY3Rpb24oZGN0KSB7CiAgcmV0dXJuIF9mNHUkdC5tYWtlX2dyb3VwKF9mNHUkdC5YX0FY
SVMsIGRjdCk7Cn0KCl9mNHUkdC5tYWtlX3Zncm91cCA9IGZ1bmN0aW9uKGRjdCkgewogIHJldHVy
biBfZjR1JHQubWFrZV9ncm91cChfZjR1JHQuWV9BWElTLCBkY3QpOwp9CgpfZjR1JHQubWFrZV9n
cm91cCA9IGZ1bmN0aW9uKGF4aXMsIGRjdCkgewogIHZhciBpbnRlcm5hbF9vcHRpb25zID0gJC5l
eHRlbmQodHJ1ZSwge30sIF9mNHUkdC54eShheGlzLCBfZjR1JHQuaGdyb3VwX2luaXRzLCBfZjR1
JHQudmdyb3VwX2luaXRzKSk7CiAgaW50ZXJuYWxfb3B0aW9ucy5heGlzID0gYXhpczsKCiAgaW50
ZXJuYWxfb3B0aW9ucy5kcmF3X2JhY2tncm91bmQgPSBmYWxzZTsKICBpbnRlcm5hbF9vcHRpb25z
Lm90aGVyX2F4aXNfcGFkZGluZyA9IDA7CiAgdmFyIGlkID0gX2Y0dSR0LnJhbmRTdHJpbmcoKTsK
ICBpbnRlcm5hbF9vcHRpb25zLmlkID0gaWQ7CgogIHZhciBpbnRlcm5hbF9sbSA9IG5ldyBfZjR1
JHQuTGF5b3V0TWFuYWdlcihpbnRlcm5hbF9vcHRpb25zKTsKCiAgZm9yICh2YXIgaSA9IDA7IGkg
PCBkY3RbIml0ZW1zIl0ubGVuZ3RoOyBpKyspIHsKICAgIGlmIChkY3RbIml0ZW1zIl1baV1bInR5
cGUiXSA9PSAiaGdyb3VwIikgewogICAgICBpbnRlcm5hbF9sbS5vYmpzLnB1c2goX2Y0dSR0Lm1h
a2VfaGdyb3VwKGRjdFsiaXRlbXMiXVtpXSkpOwogICAgfQogICAgZWxzZSBpZiAoZGN0WyJpdGVt
cyJdW2ldWyJ0eXBlIl0gPT0gInZncm91cCIpIHsKICAgICAgaW50ZXJuYWxfbG0ub2Jqcy5wdXNo
KF9mNHUkdC5tYWtlX3Zncm91cChkY3RbIml0ZW1zIl1baV0pKTsKICAgIH0KICAgIGVsc2UgaWYg
KGRjdFsiaXRlbXMiXVtpXVsidHlwZSJdID09ICJ0Z3JvdXAiKSB7CiAgICAgIGludGVybmFsX2xt
Lm9ianMucHVzaChfZjR1JHQubWFrZV90Z3JvdXAoZGN0WyJpdGVtcyJdW2ldKSk7CiAgICB9CiAg
ICBlbHNlIGlmIChkY3RbIml0ZW1zIl1baV1bInR5cGUiXSA9PSAiaHNsaWRlciIpIHsKICAgICAg
aW50ZXJuYWxfbG0ub2Jqcy5wdXNoKF9mNHUkdC5tYWtlX2hzbGlkZXIoZGN0WyJpdGVtcyJdW2ld
KSk7CiAgICB9CiAgICBlbHNlIGlmIChkY3RbIml0ZW1zIl1baV1bInR5cGUiXSA9PSAidnNsaWRl
ciIpIHsKICAgICAgaW50ZXJuYWxfbG0ub2Jqcy5wdXNoKF9mNHUkdC5tYWtlX3ZzbGlkZXIoZGN0
WyJpdGVtcyJdW2ldKSk7CiAgICB9CiAgICBlbHNlIGlmIChkY3RbIml0ZW1zIl1baV1bInR5cGUi
XSA9PSAiaGJhcmdyYXBoIikgewogICAgICBpbnRlcm5hbF9sbS5vYmpzLnB1c2goX2Y0dSR0Lm1h
a2VfaGJhcmdyYXBoKGRjdFsiaXRlbXMiXVtpXSkpOwogICAgfQogICAgZWxzZSBpZiAoZGN0WyJp
dGVtcyJdW2ldWyJ0eXBlIl0gPT0gInZiYXJncmFwaCIpIHsKICAgICAgaW50ZXJuYWxfbG0ub2Jq
cy5wdXNoKF9mNHUkdC5tYWtlX3ZiYXJncmFwaChkY3RbIml0ZW1zIl1baV0pKTsKICAgIH0KICAg
IGVsc2UgaWYgKGRjdFsiaXRlbXMiXVtpXVsidHlwZSJdID09ICJidXR0b24iKSB7CiAgICAgIGlu
dGVybmFsX2xtLm9ianMucHVzaChfZjR1JHQubWFrZV9idXR0b24oZGN0WyJpdGVtcyJdW2ldKSk7
CiAgICB9CiAgICBlbHNlIGlmIChkY3RbIml0ZW1zIl1baV1bInR5cGUiXSA9PSAiY2hlY2tib3gi
KSB7CiAgICAgIGludGVybmFsX2xtLm9ianMucHVzaChfZjR1JHQubWFrZV9jaGVja2JveChkY3Rb
Iml0ZW1zIl1baV0pKTsKICAgIH0KICAgIGVsc2UgaWYgKGRjdFsiaXRlbXMiXVtpXVsidHlwZSJd
ID09ICJuZW50cnkiKSB7CiAgICAgIGludGVybmFsX2xtLm9ianMucHVzaChfZjR1JHQubWFrZV9u
ZW50cnkoZGN0WyJpdGVtcyJdW2ldKSk7CiAgICB9CiAgICBlbHNlIHsKICAgICAgY29uc29sZS5s
b2coIlVGTzogVW5pZGVudGlmaWVkIEZhdXN0IE9iamVjdCIpOwogICAgfQogIH0KCiAgdmFyIGxh
YmVsID0gbmV3IF9mNHUkdC5MYWJlbCh7bGFiZWwgOiBkY3RbImxhYmVsIl0sIGlkIDogaWQsIG1v
bSA6IG51bGx9KTsKCiAgdmFyIG9wdGlvbnMgPSAkLmV4dGVuZCh0cnVlLCB7fSwgX2Y0dSR0LnZn
cm91cF9pbml0cyk7CiAgLy8gbmVlZGVkIGZvciB0YWIgZ3JvdXAKICBvcHRpb25zLmxhYmVsID0g
ZGN0WyJsYWJlbCJdOwogIG9wdGlvbnMuYXhpcyA9IF9mNHUkdC5ZX0FYSVM7CgogIHZhciBsbSA9
IG5ldyBfZjR1JHQuTGF5b3V0TWFuYWdlcihvcHRpb25zKTsKICBsbS5vYmpzLnB1c2gobGFiZWwp
OwogIGxtLm9ianMucHVzaChpbnRlcm5hbF9sbSk7CiAgcmV0dXJuIGxtOwp9CgpfZjR1JHQubWFr
ZV90Z3JvdXAgPSBmdW5jdGlvbihkY3QpIHsKICB2YXIgb3B0aW9ucyA9ICQuZXh0ZW5kKHRydWUs
IHt9LCBfZjR1JHQudGdyb3VwX2luaXRzKTsKICB2YXIgdGcgPSBuZXcgX2Y0dSR0LlRhYkdyb3Vw
KG9wdGlvbnMpOwoKICBmb3IgKHZhciBpID0gMDsgaSA8IGRjdFsiaXRlbXMiXS5sZW5ndGg7IGkr
KykgewogICAgaWYgKGRjdFsiaXRlbXMiXVtpXVsidHlwZSJdID09ICJoZ3JvdXAiKSB7CiAgICAg
IHRnLm9ianMucHVzaChfZjR1JHQubWFrZV9oZ3JvdXAoZGN0WyJpdGVtcyJdW2ldKSk7CiAgICB9
CiAgICBlbHNlIGlmIChkY3RbIml0ZW1zIl1baV1bInR5cGUiXSA9PSAidmdyb3VwIikgewogICAg
ICB0Zy5vYmpzLnB1c2goX2Y0dSR0Lm1ha2Vfdmdyb3VwKGRjdFsiaXRlbXMiXVtpXSkpOwogICAg
fQogICAgZWxzZSBpZiAoZGN0WyJpdGVtcyJdW2ldWyJ0eXBlIl0gPT0gInRncm91cCIpIHsKICAg
ICAgdGcub2Jqcy5wdXNoKF9mNHUkdC5tYWtlX3Rncm91cChkY3RbIml0ZW1zIl1baV0pKTsKICAg
IH0KICAgIGVsc2UgewogICAgICBjb25zb2xlLmxvZygiVUZPOiBVbmlkZW50aWZpZWQgRmF1c3Qg
T2JqZWN0Iik7CiAgICB9CiAgfQoKICByZXR1cm4gdGc7Cn0KCl9mNHUkdC5qc29uX3RvX3VpID0g
ZnVuY3Rpb24oanNvbikgewogIGlmIChqc29uWyJ1aSJdWzBdWyJ0eXBlIl0gPT0gInZncm91cCIp
IHsKICAgIHJldHVybiBfZjR1JHQubWFrZV92Z3JvdXAoanNvblsidWkiXVswXSk7CiAgfQogIGVs
c2UgaWYgKGpzb25bInVpIl1bMF1bInR5cGUiXSA9PSAiaGdyb3VwIikgewogICAgcmV0dXJuIF9m
NHUkdC5tYWtlX2hncm91cChqc29uWyJ1aSJdWzBdKTsKICB9CiAgZWxzZSBpZiAoanNvblsidWki
XVswXVsidHlwZSJdID09ICJ0Z3JvdXAiKSB7CiAgICByZXR1cm4gX2Y0dSR0Lm1ha2VfdGdyb3Vw
KGpzb25bInVpIl1bMF0pOwogIH0KICBlbHNlIHsKICAgIGNvbnNvbGUubG9nKCJVRk86IFVuaWRl
bnRpZmllZCBGYXVzdCBPYmplY3QiKTsKICB9Cn0KIAovKgogKiBsb29rIGZvciB0aGUgcGhyYXNl
CiAqIFVJMnBpYW5vIHRvIHNlZSB3aGVyZSB0aGUgVUkgc2VuZHMgbWVzc2FnZXMgdG8gcGlhbm8K
ICogb2J2aW91c2x5LCB0aGUgZ29hbCBpcyB0byBzZXBhcmF0ZSB0aGUgdHdvIGFzIG11Y2ggYXMg
cG9zc2libGUKICovCgoKLyoKICBVVElMSVRZIEZVTkNUSU9OUwoqLwpfZjR1JHQuZ2V0T3BlcmF0
aXZlWCA9IGZ1bmN0aW9uKGUpIHsKICByZXR1cm4gKGUuY2xpZW50WCArICQoZG9jdW1lbnQpLnNj
cm9sbExlZnQoKSkgLyBfZjR1JHQuVklFV1BPUlRfU0NBTEU7Cn0KCl9mNHUkdC5nZXRPcGVyYXRp
dmVZID0gZnVuY3Rpb24oZSkgewogIHJldHVybiAoZS5jbGllbnRZICsgJChkb2N1bWVudCkuc2Ny
b2xsVG9wKCkpIC8gX2Y0dSR0LlZJRVdQT1JUX1NDQUxFOwp9CgpfZjR1JHQubW92ZV90b19yaWRp
Y3Vsb3VzX25lZ2F0aXZlID0gZnVuY3Rpb24oaWQpIHsKICBfZjR1JHQuZ2VuZXJpY190cmFuc2xh
dGUoaWQsIC0xMDAwMDAsIC0xMDAwMDApOwp9CgpfZjR1JHQucGF0aF90b19pZCA9IGZ1bmN0aW9u
IChwYXRoLCBpZCkgewogIF9mNHUkdC5QQVRIU19UT19JRFNbcGF0aF0gPSBpZDsKfQoKX2Y0dSR0
LmRldm51bGwgPSBmdW5jdGlvbiBkZXZudWxsKCkgeyB9CgpfZjR1JHQuZ2VuZXJpY190cmFuc2xh
dGUgPSBmdW5jdGlvbihpZCwgeCwgeSkgewogIHZhciBlbHQgPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZChpZCk7CiAgdmFyIHRyYW5zZm9ybSA9IF9mNHUkdC50cmFuc2Zvcm1fdG9fYXJyYXkoZWx0
LmdldEF0dHJpYnV0ZSgidHJhbnNmb3JtIikpOwogIC8vIHdlIGFzc3VtZSB0aGF0IHRoZXJlIGlz
IG9ubHkgb25lIGVsZW1lbnQgYW5kIHRoYXQgaXQgaXMgYSB0cmFuc2Zvcm0KICAvLyBtYWtlIHN1
cmUgdG8gY2hhbmdlIHRoaXMgaWYgdGhpbmdzIGdldCBtb3JlIGNvbXBsaWNhdGVkCiAgLy8gYWN0
dWFsbHksIGp1c3QgbWFrZSBzdXJlIG5vdCB0byBtYWtlIHRoaW5ncyBtb3JlIGNvbXBsaWNhdGVk
Li4uCgogIHRyYW5zZm9ybVswXVsxXSA9IHg7CiAgdHJhbnNmb3JtWzBdWzJdID0geTsKICB2YXIg
bW92ZXRvdGhpcyA9IF9mNHUkdC5hcnJheV90b190cmFuc2Zvcm0odHJhbnNmb3JtKTsKICBlbHQu
c2V0QXR0cmlidXRlKCJ0cmFuc2Zvcm0iLCBtb3ZldG90aGlzKTsKfQoKLy8gcGFyc2VyIG9mIGFu
IG9iamVjdCdzIHRyYW5zZm9ybQoKX2Y0dSR0LnRyYW5zZm9ybV90b19hcnJheSA9IGZ1bmN0aW9u
KHRyYW5zZm9ybSkgewogIHZhciBvdXQgPSBbXTsKICB2YXIgZmxyZSA9ICJbLStdP1swLTldKlxc
Lj9bMC05XSooPzpbZUVdWy0rXT9bMC05XSspPyI7CiAgdmFyIG1hdHJpeCA9IG5ldyBSZWdFeHAo
Il5cXHMqbWF0cml4XFxzKlxcKFxccyooIitmbHJlKyIpXFxzKlssXVxccyooIitmbHJlKyIpXFxz
KlssXVxccyooIitmbHJlKyIpXFxzKlssXVxccyooIitmbHJlKyIpXFxzKlssXVxccyooIitmbHJl
KyIpXFxzKlssXVxccyooIitmbHJlKyIpXFxzKlxcKSIpOwogIHZhciB0cmFuc2xhdGUgPSBuZXcg
UmVnRXhwKCJeXFxzKnRyYW5zbGF0ZVxccypcXChcXHMqKCIrZmxyZSsiKVxccyooPzpbLF1cXHMq
KCIrZmxyZSsiKVxccyopP1xcKSIpOwogIHZhciBzY2FsZSA9IG5ldyBSZWdFeHAoIl5cXHMqc2Nh
bGVcXHMqXFwoXFxzKigiK2ZscmUrIilcXHMqKD86WyxdXFxzKigiK2ZscmUrIilcXHMqKT9cXCki
KTsKICB2YXIgcm90YXRlID0gbmV3IFJlZ0V4cCgiXlxccypyb3RhdGVcXHMqXFwoXFxzKigiK2Zs
cmUrIilcXHMqWyxdXFxzKigiK2ZscmUrIilcXHMqWyxdXFxzKigiK2ZscmUrIilcXHMqXFwpIik7
CiAgdmFyIHNrZXdYID0gbmV3IFJlZ0V4cCgiXlxccypza2V3WFxccypcXChcXHMqKCIrZmxyZSsi
KVxccypcXCkiKTsKICB2YXIgc2tld1kgPSBuZXcgUmVnRXhwKCJeXFxzKnNrZXdZXFxzKlxcKFxc
cyooIitmbHJlKyIpXFxzKlxcKSIpOwogIHdoaWxlKHRydWUpIHsKICAgIHZhciBtYXRjaCA9IG1h
dHJpeC5leGVjKHRyYW5zZm9ybSk7CiAgICBpZiAobWF0Y2ggIT0gbnVsbCkgewogICAgICBvdXQu
cHVzaChbIm1hdHJpeCIscGFyc2VGbG9hdChtYXRjaFsxXSksIHBhcnNlRmxvYXQobWF0Y2hbMl0p
LCBwYXJzZUZsb2F0KG1hdGNoWzNdKSwgcGFyc2VGbG9hdChtYXRjaFs0XSksIHBhcnNlRmxvYXQo
bWF0Y2hbNV0pLCBwYXJzZUZsb2F0KG1hdGNoWzZdKV0pOwogICAgICB0cmFuc2Zvcm0gPSB0cmFu
c2Zvcm0uc3Vic3RyKG1hdGNoWzBdLmxlbmd0aCx0cmFuc2Zvcm0ubGVuZ3RoLW1hdGNoWzBdLmxl
bmd0aCk7CiAgICAgIGNvbnRpbnVlOwogICAgfQogICAgbWF0Y2ggPSB0cmFuc2xhdGUuZXhlYyh0
cmFuc2Zvcm0pOwogICAgaWYgKG1hdGNoICE9IG51bGwpIHsKICAgICAgdmFyIHNlY29uZCA9IDAu
MDsKICAgICAgaWYgKG1hdGNoWzJdICE9IHVuZGVmaW5lZCkgeyBzZWNvbmQgPSBwYXJzZUZsb2F0
KG1hdGNoWzJdKTsgfQogICAgICBvdXQucHVzaChbInRyYW5zbGF0ZSIscGFyc2VGbG9hdChtYXRj
aFsxXSksc2Vjb25kXSk7CiAgICAgIHRyYW5zZm9ybSA9IHRyYW5zZm9ybS5zdWJzdHIobWF0Y2hb
MF0ubGVuZ3RoLHRyYW5zZm9ybS5sZW5ndGgtbWF0Y2hbMF0ubGVuZ3RoKTsKICAgICAgY29udGlu
dWU7CiAgICB9CiAgICBtYXRjaCA9IHNjYWxlLmV4ZWModHJhbnNmb3JtKTsKICAgIGlmIChtYXRj
aCAhPSBudWxsKSB7CiAgICAgIHZhciBzZWNvbmQgPSAwLjA7CiAgICAgIGlmIChtYXRjaFsyXSAh
PSB1bmRlZmluZWQpIHsgc2Vjb25kID0gcGFyc2VGbG9hdChtYXRjaFsyXSk7IH0KICAgICAgb3V0
LnB1c2goWyJzY2FsZSIscGFyc2VGbG9hdChtYXRjaFsxXSksIHNlY29uZF0pOwogICAgICB0cmFu
c2Zvcm0gPSB0cmFuc2Zvcm0uc3Vic3RyKG1hdGNoWzBdLmxlbmd0aCx0cmFuc2Zvcm0ubGVuZ3Ro
LW1hdGNoWzBdLmxlbmd0aCk7CiAgICAgIGNvbnRpbnVlOwogICAgfQogICAgbWF0Y2ggPSByb3Rh
dGUuZXhlYyh0cmFuc2Zvcm0pOwogICAgaWYgKG1hdGNoICE9IG51bGwpIHsKICAgICAgdmFyIHNl
Y29uZCA9IDAuMDsKICAgICAgaWYgKG1hdGNoWzJdICE9IHVuZGVmaW5lZCkgeyBzZWNvbmQgPSBw
YXJzZUZsb2F0KG1hdGNoWzJdKTsgfQogICAgICB2YXIgdGhpcmQgPSAwLjA7CiAgICAgIGlmICht
YXRjaFsyXSAhPSB1bmRlZmluZWQpIHsgdGhpcmQgPSBwYXJzZUZsb2F0KG1hdGNoWzJdKTsgfQog
ICAgICBvdXQucHVzaChbInJvdGF0ZSIscGFyc2VGbG9hdChtYXRjaFsxXSksIHNlY29uZCwgdGhp
cmRdKTsKICAgICAgdHJhbnNmb3JtID0gdHJhbnNmb3JtLnN1YnN0cihtYXRjaFswXS5sZW5ndGgs
dHJhbnNmb3JtLmxlbmd0aC1tYXRjaFswXS5sZW5ndGgpOwogICAgICBjb250aW51ZTsKICAgIH0K
ICAgIG1hdGNoID0gc2tld1guZXhlYyh0cmFuc2Zvcm0pOwogICAgaWYgKG1hdGNoICE9IG51bGwp
IHsKICAgICAgb3V0LnB1c2goWyJza2V3WCIsIHBhcnNlRmxvYXQobWF0Y2hbMV0pXSk7CiAgICAg
IHRyYW5zZm9ybSA9IHRyYW5zZm9ybS5zdWJzdHIobWF0Y2hbMF0ubGVuZ3RoLHRyYW5zZm9ybS5s
ZW5ndGgtbWF0Y2hbMF0ubGVuZ3RoKTsKICAgICAgY29udGludWU7CiAgICB9CiAgICBtYXRjaCA9
IHNrZXdZLmV4ZWModHJhbnNmb3JtKTsKICAgIGlmIChtYXRjaCAhPSBudWxsKSB7CiAgICAgIG91
dC5wdXNoKFsic2tld1kiLCBwYXJzZUZsb2F0KG1hdGNoWzFdKV0pOwogICAgICB0cmFuc2Zvcm0g
PSB0cmFuc2Zvcm0uc3Vic3RyKG1hdGNoWzBdLmxlbmd0aCx0cmFuc2Zvcm0ubGVuZ3RoLW1hdGNo
WzBdLmxlbmd0aCk7CiAgICAgIGNvbnRpbnVlOwogICAgfQogICAgYnJlYWs7CiAgfQogIHJldHVy
biBvdXQ7Cn0KCi8vIHRha2VzIGFuIGFycmF5LCB0dXJucyBpdCB0byBhIHRyYW5zZm9ybQoKX2Y0
dSR0LmFycmF5X3RvX3RyYW5zZm9ybSA9IGZ1bmN0aW9uKGFycmF5KSB7CiAgdmFyIG91dCA9ICIi
OwogIHdoaWxlIChhcnJheS5sZW5ndGggPiAwKQogIHsKICAgIG91dCA9IG91dC5jb25jYXQoYXJy
YXlbMF1bMF0pOwogICAgb3V0ID0gb3V0LmNvbmNhdCgiKCIpOwogICAgdmFyIGk9MTsKICAgIHZh
ciBhcmxlbiA9IGFycmF5WzBdLmxlbmd0aDsKICAgIHdoaWxlKGFybGVuID4gaSkgewogICAgICBv
dXQgPSBvdXQuY29uY2F0KGFycmF5WzBdW2ldKyIsIik7CiAgICAgIGkrKzsKICAgIH0KICAgIG91
dCA9IG91dC5zdWJzdHIoMCxvdXQubGVuZ3RoLTEpOwogICAgb3V0ID0gb3V0LmNvbmNhdCgiKSAi
KTsKICAgIGFycmF5LnNoaWZ0KCk7CiAgfQogIGlmIChvdXQubGVuZ3RoID4gMCkgeyBvdXQgPSBv
dXQuc3Vic3RyKDAsb3V0Lmxlbmd0aC0xKTsgfQogIHJldHVybiBvdXQ7Cn0KCi8qCiAgSU5JVElB
TElaQVRJT04gRlVOQ1RJT05TCiovCgpfZjR1JHQuaW5pdGlhdGVfbmVudHJ5ID0gZnVuY3Rpb24o
ZnVsbGlkLCBtaW52YWwsIG1heHZhbCwgc3RlcCwgaW5pdCwgaW50ZWdlciwgbmRlYywgbGFiZWws
IHVuaXQsIGFkZHJlc3MpIHsKICB2YXIgaWQgPSBfZjR1JHQudW5pcXVlKGZ1bGxpZCk7CiAgX2Y0
dSR0LklEU19UT19BVFRSSUJVVEVTW2lkXSA9IHt9OwogIF9mNHUkdC5JRFNfVE9fQVRUUklCVVRF
U1tpZF1bInR5cGUiXSA9ICJuZW50cnkiOwogIF9mNHUkdC5JRFNfVE9fQVRUUklCVVRFU1tpZF1b
Im1pbnZhbCJdID0gbWludmFsOwogIF9mNHUkdC5JRFNfVE9fQVRUUklCVVRFU1tpZF1bIm1heHZh
bCJdID0gbWF4dmFsOwogIF9mNHUkdC5JRFNfVE9fQVRUUklCVVRFU1tpZF1bInN0ZXAiXSA9IHN0
ZXA7CiAgX2Y0dSR0LklEU19UT19BVFRSSUJVVEVTW2lkXVsiaW5pdCJdID0gaW5pdDsKICBfZjR1
JHQuSURTX1RPX0FUVFJJQlVURVNbaWRdWyJpbnRlZ2VyIl0gPSBpbnRlZ2VyOwogIF9mNHUkdC5J
RFNfVE9fQVRUUklCVVRFU1tpZF1bIm5kZWMiXSA9IG5kZWM7CiAgX2Y0dSR0LklEU19UT19BVFRS
SUJVVEVTW2lkXVsiYnVmZmVyIl0gPSBpbml0OwogIF9mNHUkdC5JRFNfVE9fQVRUUklCVVRFU1tp
ZF1bInVuaXQiXSA9IHVuaXQ7CiAgX2Y0dSR0LklEU19UT19BVFRSSUJVVEVTW2lkXVsibGFiZWwi
XSA9IGxhYmVsOwogIF9mNHUkdC5JRFNfVE9fQVRUUklCVVRFU1tpZF1bImFkZHJlc3MiXSA9IGFk
ZHJlc3M7CiAgX2Y0dSR0LnBhdGhfdG9faWQoYWRkcmVzcywgZnVsbGlkKTsKfQoKX2Y0dSR0Lmlu
aXRpYXRlX3NsaWRlciA9IGZ1bmN0aW9uKGF4aXMsIGZ1bGxpZCwgbGVuZ3RoLCBzbGlkZXJsZW4s
IG1pbnZhbCwgbWF4dmFsLCBzdGVwLCBpbml0LCBpbnRlZ2VyLCBuZGVjLCBsYWJlbCwgdW5pdCwg
b3JpZW50YXRpb24sIG9yaWVudGF0aW9uX21vZGUsIGFkZHJlc3MpIHsKICB2YXIgaWQgPSBfZjR1
JHQudW5pcXVlKGZ1bGxpZCk7CiAgX2Y0dSR0LklEU19UT19BVFRSSUJVVEVTW2lkXSA9IHt9Owog
IF9mNHUkdC5JRFNfVE9fQVRUUklCVVRFU1tpZF1bInR5cGUiXSA9IChheGlzID09IF9mNHUkdC5Y
X0FYSVMgPyAiaHNsaWRlciIgOiAidnNsaWRlciIpOwogIF9mNHUkdC5JRFNfVE9fQVRUUklCVVRF
U1tpZF1bImF4aXMiXSA9IGF4aXM7CiAgX2Y0dSR0LklEU19UT19BVFRSSUJVVEVTW2lkXVsibGVu
Z3RoIl0gPSBsZW5ndGg7CiAgX2Y0dSR0LklEU19UT19BVFRSSUJVVEVTW2lkXVsic2xpZGVybGVu
Il0gPSBzbGlkZXJsZW47CiAgX2Y0dSR0LklEU19UT19BVFRSSUJVVEVTW2lkXVsibWludmFsIl0g
PSBtaW52YWw7CiAgX2Y0dSR0LklEU19UT19BVFRSSUJVVEVTW2lkXVsibWF4dmFsIl0gPSBtYXh2
YWw7CiAgX2Y0dSR0LklEU19UT19BVFRSSUJVVEVTW2lkXVsic3RlcCJdID0gc3RlcDsKICBfZjR1
JHQuSURTX1RPX0FUVFJJQlVURVNbaWRdWyJpbml0Il0gPSBpbml0OwogIF9mNHUkdC5JRFNfVE9f
QVRUUklCVVRFU1tpZF1bInVuaXQiXSA9IHVuaXQ7CiAgX2Y0dSR0LklEU19UT19BVFRSSUJVVEVT
W2lkXVsib3JpZW50YXRpb24iXSA9IG9yaWVudGF0aW9uOwogIF9mNHUkdC5JRFNfVE9fQVRUUklC
VVRFU1tpZF1bInByZXZpb3Vzb3JpZW50YXRpb24iXSA9IG51bGw7CiAgX2Y0dSR0LklEU19UT19B
VFRSSUJVVEVTW2lkXVsib3JpZW50YXRpb25tb2RlIl0gPSBvcmllbnRhdGlvbl9tb2RlOwogIF9m
NHUkdC5JRFNfVE9fQVRUUklCVVRFU1tpZF1bImludGVnZXIiXSA9IGludGVnZXI7CiAgX2Y0dSR0
LklEU19UT19BVFRSSUJVVEVTW2lkXVsibmRlYyJdID0gbmRlYzsKICBfZjR1JHQuSURTX1RPX0FU
VFJJQlVURVNbaWRdWyJsYWJlbCJdID0gbGFiZWw7CiAgX2Y0dSR0LklEU19UT19BVFRSSUJVVEVT
W2lkXVsiYWRkcmVzcyJdID0gYWRkcmVzczsKICBfZjR1JHQucGF0aF90b19pZChhZGRyZXNzLCBm
dWxsaWQpOwp9CgpfZjR1JHQuaW5pdGlhdGVfaHNsaWRlciA9IGZ1bmN0aW9uKGZ1bGxpZCwgd2Vh
a2F4aXMsIHN0cm9uZ2F4aXMsIG1pbnZhbCwgbWF4dmFsLCBzdGVwLCBpbml0LCBpbnRlZ2VyLCBu
ZGVjLCBsYWJlbCwgdW5pdCwgb3JpZW50YXRpb24sIG9yaWVudGF0aW9uX21vZGUsIGFkZHJlc3Mp
IHsKICBfZjR1JHQuaW5pdGlhdGVfc2xpZGVyKF9mNHUkdC5YX0FYSVMsIGZ1bGxpZCwgd2Vha2F4
aXMsIHN0cm9uZ2F4aXMsIG1pbnZhbCwgbWF4dmFsLCBzdGVwLCBpbml0LCBpbnRlZ2VyLCBuZGVj
LCBsYWJlbCwgdW5pdCwgb3JpZW50YXRpb24sIG9yaWVudGF0aW9uX21vZGUsIGFkZHJlc3MpOwp9
CgpfZjR1JHQuaW5pdGlhdGVfdnNsaWRlciA9IGZ1bmN0aW9uKGZ1bGxpZCwgd2Vha2F4aXMsIHN0
cm9uZ2F4aXMsIG1pbnZhbCwgbWF4dmFsLCBzdGVwLCBpbml0LCBpbnRlZ2VyLCBuZGVjLCBsYWJl
bCwgdW5pdCwgb3JpZW50YXRpb24sIG9yaWVudGF0aW9uX21vZGUsIGFkZHJlc3MpIHsKICBfZjR1
JHQuaW5pdGlhdGVfc2xpZGVyKF9mNHUkdC5ZX0FYSVMsIGZ1bGxpZCwgd2Vha2F4aXMsIHN0cm9u
Z2F4aXMsIG1pbnZhbCwgbWF4dmFsLCBzdGVwLCBpbml0LCBpbnRlZ2VyLCBuZGVjLCBsYWJlbCwg
dW5pdCwgb3JpZW50YXRpb24sIG9yaWVudGF0aW9uX21vZGUsIGFkZHJlc3MpOwp9CgpfZjR1JHQu
aW5pdGlhdGVfYmFyZ3JhcGggPSBmdW5jdGlvbihheGlzLCBmdWxsaWQsIHdlYWtheGlzLCBzdHJv
bmdheGlzLCBtaW52YWwsIG1heHZhbCwgc3RlcCwgaW5pdCwgbGFiZWwsIHVuaXQsIGFkZHJlc3Mp
IHsKICB2YXIgaWQgPSBfZjR1JHQudW5pcXVlKGZ1bGxpZCk7CiAgX2Y0dSR0LklEU19UT19BVFRS
SUJVVEVTW2lkXSA9IHt9OwogIF9mNHUkdC5JRFNfVE9fQVRUUklCVVRFU1tpZF1bInR5cGUiXSA9
IChheGlzID09IF9mNHUkdC5YX0FYSVMgPyAiaGJhcmdyYXBoIiA6ICJ2YmFyZ3JhcGgiKTsKICBf
ZjR1JHQuSURTX1RPX0FUVFJJQlVURVNbaWRdWyJheGlzIl0gPSBheGlzOwogIF9mNHUkdC5JRFNf
VE9fQVRUUklCVVRFU1tpZF1bIndlYWtheGlzIl0gPSB3ZWFrYXhpczsKICBfZjR1JHQuSURTX1RP
X0FUVFJJQlVURVNbaWRdWyJzdHJvbmdheGlzIl0gPSBzdHJvbmdheGlzOwogIF9mNHUkdC5JRFNf
VE9fQVRUUklCVVRFU1tpZF1bIm1pbnZhbCJdID0gbWludmFsOwogIF9mNHUkdC5JRFNfVE9fQVRU
UklCVVRFU1tpZF1bIm1heHZhbCJdID0gbWF4dmFsOwogIF9mNHUkdC5JRFNfVE9fQVRUUklCVVRF
U1tpZF1bInN0ZXAiXSA9IHN0ZXA7CiAgX2Y0dSR0LklEU19UT19BVFRSSUJVVEVTW2lkXVsiaW5p
dCJdID0gaW5pdDsKICBfZjR1JHQuSURTX1RPX0FUVFJJQlVURVNbaWRdWyJ1bml0Il0gPSB1bml0
OwogIF9mNHUkdC5JRFNfVE9fQVRUUklCVVRFU1tpZF1bImxhYmVsIl0gPSBsYWJlbDsKICBfZjR1
JHQuSURTX1RPX0FUVFJJQlVURVNbaWRdWyJhZGRyZXNzIl0gPSBhZGRyZXNzOwogIF9mNHUkdC5w
YXRoX3RvX2lkKGFkZHJlc3MsIGZ1bGxpZCk7Cn0KCl9mNHUkdC5pbml0aWF0ZV9oYmFyZ3JhcGgg
PSBmdW5jdGlvbihmdWxsaWQsIHdlYWtheGlzLCBzdHJvbmdheGlzLCBtaW52YWwsIG1heHZhbCwg
c3RlcCwgaW5pdCwgbGFiZWwsIHVuaXQsIGFkZHJlc3MpIHsKICBfZjR1JHQuaW5pdGlhdGVfYmFy
Z3JhcGgoX2Y0dSR0LlhfQVhJUywgZnVsbGlkLCB3ZWFrYXhpcywgc3Ryb25nYXhpcywgbWludmFs
LCBtYXh2YWwsIHN0ZXAsIGluaXQsIGxhYmVsLCB1bml0LCBhZGRyZXNzKTsKfQoKX2Y0dSR0Lmlu
aXRpYXRlX3ZiYXJncmFwaCA9IGZ1bmN0aW9uKGZ1bGxpZCwgd2Vha2F4aXMsIHN0cm9uZ2F4aXMs
IG1pbnZhbCwgbWF4dmFsLCBzdGVwLCBpbml0LCBsYWJlbCwgdW5pdCwgYWRkcmVzcykgewogIF9m
NHUkdC5pbml0aWF0ZV9iYXJncmFwaChfZjR1JHQuWV9BWElTLCBmdWxsaWQsIHdlYWtheGlzLCBz
dHJvbmdheGlzLCBtaW52YWwsIG1heHZhbCwgc3RlcCwgaW5pdCwgbGFiZWwsIHVuaXQsIGFkZHJl
c3MpOwp9CgpfZjR1JHQuaW5pdGlhdGVfcmJ1dHRvbiA9IGZ1bmN0aW9uKGZ1bGxpZCxpbml0YW5n
bGUsc3dlZXBhbmdsZSxyYWRpdXMsa25vYnBlcmNlbnRhZ2UsbWludmFsLG1heHZhbCxzdGVwLGlu
aXQsaW50ZWdlcixuZGVjLGxhYmVsLHVuaXQsb3JpZW50YXRpb24sb3JpZW50YXRpb25fbW9kZSxh
ZGRyZXNzKSB7CiAgdmFyIGlkID0gX2Y0dSR0LnVuaXF1ZShmdWxsaWQpOwogIF9mNHUkdC5JRFNf
VE9fQVRUUklCVVRFU1tpZF0gPSB7fTsKICBfZjR1JHQuSURTX1RPX0FUVFJJQlVURVNbaWRdWyJ0
eXBlIl0gPSAicmJ1dHRvbiI7CiAgX2Y0dSR0LklEU19UT19BVFRSSUJVVEVTW2lkXVsiaW5pdGFu
Z2xlIl0gPSBpbml0YW5nbGU7CiAgX2Y0dSR0LklEU19UT19BVFRSSUJVVEVTW2lkXVsic3dlZXBh
bmdsZSJdID0gc3dlZXBhbmdsZTsKICBfZjR1JHQuSURTX1RPX0FUVFJJQlVURVNbaWRdWyJyYWRp
dXMiXSA9IHJhZGl1czsKICBfZjR1JHQuSURTX1RPX0FUVFJJQlVURVNbaWRdWyJrbm9icGVyY2Vu
dGFnZSJdID0ga25vYnBlcmNlbnRhZ2U7CiAgX2Y0dSR0LklEU19UT19BVFRSSUJVVEVTW2lkXVsi
bGFiZWwiXSA9IGxhYmVsOwogIF9mNHUkdC5JRFNfVE9fQVRUUklCVVRFU1tpZF1bIm1pbnZhbCJd
ID0gbWludmFsOwogIF9mNHUkdC5JRFNfVE9fQVRUUklCVVRFU1tpZF1bIm1heHZhbCJdID0gbWF4
dmFsOwogIF9mNHUkdC5JRFNfVE9fQVRUUklCVVRFU1tpZF1bInN0ZXAiXSA9IHN0ZXA7CiAgX2Y0
dSR0LklEU19UT19BVFRSSUJVVEVTW2lkXVsiaW5pdCJdID0gaW5pdDsKICBfZjR1JHQuSURTX1RP
X0FUVFJJQlVURVNbaWRdWyJ1bml0Il0gPSB1bml0OwogIF9mNHUkdC5JRFNfVE9fQVRUUklCVVRF
U1tpZF1bIm9yaWVudGF0aW9uIl0gPSBvcmllbnRhdGlvbjsKICBfZjR1JHQuSURTX1RPX0FUVFJJ
QlVURVNbaWRdWyJwcmV2aW91c29yaWVudGF0aW9uIl0gPSBudWxsOwogIF9mNHUkdC5JRFNfVE9f
QVRUUklCVVRFU1tpZF1bIm9yaWVudGF0aW9ubW9kZSJdID0gb3JpZW50YXRpb25fbW9kZTsKICBf
ZjR1JHQuSURTX1RPX0FUVFJJQlVURVNbaWRdWyJpbnRlZ2VyIl0gPSBpbnRlZ2VyOwogIF9mNHUk
dC5JRFNfVE9fQVRUUklCVVRFU1tpZF1bIm5kZWMiXSA9IG5kZWM7CiAgX2Y0dSR0LklEU19UT19B
VFRSSUJVVEVTW2lkXVsiYWRkcmVzcyJdID0gYWRkcmVzczsKICBfZjR1JHQucGF0aF90b19pZChh
ZGRyZXNzLCBmdWxsaWQpOwp9CgpfZjR1JHQuaW5pdGlhdGVfY2hlY2tib3ggPSBmdW5jdGlvbihm
dWxsaWQsIGFkZHJlc3MpIHsKICB2YXIgaWQgPSBfZjR1JHQudW5pcXVlKGZ1bGxpZCk7CiAgX2Y0
dSR0LklEU19UT19BVFRSSUJVVEVTW2lkXSA9IHt9OwogIF9mNHUkdC5JRFNfVE9fQVRUUklCVVRF
U1tpZF1bInR5cGUiXSA9ICJjaGVja2JveCI7CiAgX2Y0dSR0LklEU19UT19BVFRSSUJVVEVTW2lk
XVsiYWRkcmVzcyJdID0gYWRkcmVzczsKICBfZjR1JHQuSURTX1RPX0FUVFJJQlVURVNbaWRdWyJ0
aW1lIl0gPSAwO25ldyBEYXRlKCkuZ2V0VGltZSgpOwogIF9mNHUkdC5wYXRoX3RvX2lkKGFkZHJl
c3MsIGZ1bGxpZCk7Cn0KCl9mNHUkdC5pbml0aWF0ZV9idXR0b24gPSBmdW5jdGlvbihmdWxsaWQs
IHVwZmlsbCwgZG93bmZpbGwsIGFkZHJlc3MpIHsKICB2YXIgaWQgPSBfZjR1JHQudW5pcXVlKGZ1
bGxpZCk7CiAgX2Y0dSR0LklEU19UT19BVFRSSUJVVEVTW2lkXSA9IHt9OwogIF9mNHUkdC5JRFNf
VE9fQVRUUklCVVRFU1tpZF1bInR5cGUiXSA9ICJidXR0b24iOwogIF9mNHUkdC5JRFNfVE9fQVRU
UklCVVRFU1tpZF1bInVwZmlsbCJdID0gdXBmaWxsOwogIF9mNHUkdC5JRFNfVE9fQVRUUklCVVRF
U1tpZF1bImRvd25maWxsIl0gPSBkb3duZmlsbDsKICBfZjR1JHQuSURTX1RPX0FUVFJJQlVURVNb
aWRdWyJhZGRyZXNzIl0gPSBhZGRyZXNzOwogIF9mNHUkdC5wYXRoX3RvX2lkKGFkZHJlc3MsIGZ1
bGxpZCk7Cn0KCl9mNHUkdC5pbml0aWF0ZV90YWJfZ3JvdXAgPSBmdW5jdGlvbihpbmRleCwgaWRz
KSB7CiAgdmFyIHN0cmFyID0gaWRzLnNwbGl0KCcjJyk7CiAgLy8gYm9vIHN2Zy4uLnRhZ3MKICBm
b3IgKHZhciBpID0gMDsgc3RyYXIubGVuZ3RoID4gaTsgaSsrKSB7CiAgICBpZiAoaSAhPSBpbmRl
eCkgewogICAgICBfZjR1JHQubW92ZV90b19yaWRpY3Vsb3VzX25lZ2F0aXZlKHN0cmFyW2ldKTsK
ICAgIH0KICB9Cn0KCi8qCiAgQUNUSVZBVElPTiBGVU5DVElPTlMKICBBY3RpdmF0ZXMgVUkgb2Jq
ZWN0cyBhcyBiZWluZyBpbiBmb2N1cwoqLwoKX2Y0dSR0Lm5lbnRyeV9kb3duX21pbnVzID0gZnVu
Y3Rpb24oZWUpIHsKICBfZjR1JHQuYWN0aXZhdGVfbmVudHJ5KGVlLCAtMSk7Cn0KCl9mNHUkdC5u
ZW50cnlfZG93bl9wbHVzID0gZnVuY3Rpb24oZWUpIHsKICBfZjR1JHQuYWN0aXZhdGVfbmVudHJ5
KGVlLCAxKTsKfQoKX2Y0dSR0Lm5lbnRyeV91cF9taW51cyA9IGZ1bmN0aW9uKGVlKSB7CiAgX2Y0
dSR0LmRpc2FjdGl2YXRlX25lbnRyeShlZSwgLTEpOwp9CgpfZjR1JHQubmVudHJ5X3VwX3BsdXMg
PSBmdW5jdGlvbihlZSkgewogIF9mNHUkdC5kaXNhY3RpdmF0ZV9uZW50cnkoZWUsIDEpOwp9Cgpf
ZjR1JHQuZGlzYWN0aXZhdGVfbmVudHJ5ID0gZnVuY3Rpb24oZWUsIGRpcikgewogIC8vIGl0IGlz
IHBvc3NpYmxlIHRoYXQgYW4gb2JqZWN0IGlzIHRvdWNoZWQgYnkgbXVsdGlwbGUgZmluZ2VycyBh
dCB0aGUKICAvLyBzYW1lIHRpbWUKICAvLyBpZiB0aGUgaWQgaXMgYWxyZWFkeSBiZWluZyB1c2Vk
LCB3ZSBpZ25vcmUKICAvLyBvdGhlcndpc2UsIHVzZSB0aGUgZmlyc3QgaW4gdGhlIGFycmF5Li4u
CiAgdmFyIGlkZW50aWZpZXIgPSBlZS5vcmlnaW5hbEV2ZW50LmNoYW5nZWRUb3VjaGVzID8gZWUu
b3JpZ2luYWxFdmVudC5jaGFuZ2VkVG91Y2hlc1swXS5pZGVudGlmaWVyIDogMDsKICB2YXIgbG9u
Z2lkID0gZWUudGFyZ2V0LmlkOwogIHZhciBpZCA9IF9mNHUkdC51bmlxdWUobG9uZ2lkKTsKICBf
ZjR1JHQubmVudHJ5X2ZpbGxfY2hhbmdlcihpZCwgZmFsc2UsIGRpcik7Cn0KCl9mNHUkdC5hY3Rp
dmF0ZV9uZW50cnkgPSBmdW5jdGlvbihlZSwgZGlyKSB7CiAgLy8gaXQgaXMgcG9zc2libGUgdGhh
dCBhbiBvYmplY3QgaXMgdG91Y2hlZCBieSBtdWx0aXBsZSBmaW5nZXJzIGF0IHRoZQogIC8vIHNh
bWUgdGltZQogIC8vIGlmIHRoZSBpZCBpcyBhbHJlYWR5IGJlaW5nIHVzZWQsIHdlIGlnbm9yZQog
IC8vIG90aGVyd2lzZSwgdXNlIHRoZSBmaXJzdCBpbiB0aGUgYXJyYXkuLi4KICB2YXIgaWRlbnRp
ZmllciA9IGVlLm9yaWdpbmFsRXZlbnQuY2hhbmdlZFRvdWNoZXMgPyBlZS5vcmlnaW5hbEV2ZW50
LmNoYW5nZWRUb3VjaGVzWzBdLmlkZW50aWZpZXIgOiAwOwogIHZhciBsb25naWQgPSBlZS50YXJn
ZXQuaWQ7CiAgdmFyIGlkID0gX2Y0dSR0LnVuaXF1ZShsb25naWQpOwogIF9mNHUkdC5uZW50cnlf
ZmlsbF9jaGFuZ2VyKGlkLCB0cnVlLCBkaXIpOwogIF9mNHUkdC5fSVtpZGVudGlmaWVyXSA9IHtp
ZCA6IGxvbmdpZCwgbW92ZWQgOiBmYWxzZSwgdmFsdWUgOiBudWxsLCBhZGRyZXNzIDogX2Y0dSR0
LklEU19UT19BVFRSSUJVVEVTW2lkXVsiYWRkcmVzcyJdfTsKICBfZjR1JHQuYWN0aXZlX2FkZHJl
c3Nlcy5wdXNoKF9mNHUkdC5JRFNfVE9fQVRUUklCVVRFU1tpZF1bImFkZHJlc3MiXSk7CgogIHZh
ciBub3cgPSBwYXJzZUZsb2F0KF9mNHUkdC5JRFNfVE9fQVRUUklCVVRFU1tpZF1bImJ1ZmZlciJd
KTsKICBpZiAoZGlyID09IDEpIHsKICAgIG5vdyArPSBfZjR1JHQuSURTX1RPX0FUVFJJQlVURVNb
aWRdWyJzdGVwIl07CiAgfQogIGVsc2UgewogICAgbm93IC09IF9mNHUkdC5JRFNfVE9fQVRUUklC
VVRFU1tpZF1bInN0ZXAiXTsKICB9CgogIG5vdyA9IF9mNHUkdC5xdWFudGl6ZShub3csIF9mNHUk
dC5JRFNfVE9fQVRUUklCVVRFU1tpZF1bIm1pbnZhbCJdLCBfZjR1JHQuSURTX1RPX0FUVFJJQlVU
RVNbaWRdWyJtYXh2YWwiXSwgX2Y0dSR0LklEU19UT19BVFRSSUJVVEVTW2lkXVsic3RlcCJdKTsK
ICBub3cgPSBfZjR1JHQuZHVtYl9sYWJlbF91cGRhdGUoX2Y0dSR0LnVuaXF1ZShfZjR1JHQuX0lb
aWRlbnRpZmllcl0uaWQpLCBub3cpOwogIF9mNHUkdC5mYXVzdGhhbmRsZXIoX2Y0dSR0LklEU19U
T19BVFRSSUJVVEVTW2lkXVsiYWRkcmVzcyJdLCBub3cpOwogIHJldHVybiBub3c7Cn0KCl9mNHUk
dC5hY3RpdmF0ZV9oc2xpZGVyID0gZnVuY3Rpb24oZWUpIHsKICBfZjR1JHQuYWN0aXZhdGVfc2xp
ZGVyKGVlKTsKfQoKX2Y0dSR0LmFjdGl2YXRlX3ZzbGlkZXIgPSBmdW5jdGlvbihlZSkgewogIF9m
NHUkdC5hY3RpdmF0ZV9zbGlkZXIoZWUpOwp9CgpfZjR1JHQuYWN0aXZhdGVfc2xpZGVyID0gZnVu
Y3Rpb24oZWUpIHsKICBfZjR1JHQuYWN0aXZhdGVfbW92aW5nX29iamVjdChlZSk7Cn0KCl9mNHUk
dC5hY3RpdmF0ZV9yYnV0dG9uID0gZnVuY3Rpb24oZWUpIHsKICBfZjR1JHQuYWN0aXZhdGVfbW92
aW5nX29iamVjdChlZSk7Cn0KCl9mNHUkdC5hY3RpdmF0ZV9tb3Zpbmdfb2JqZWN0ID0gZnVuY3Rp
b24oZWUpIHsKICB2YXIgdG91Y2hlcyA9IGVlLmNoYW5nZWRUb3VjaGVzIHx8IFtlZV07CiAgaWYg
KGVlLm9yaWdpbmFsRXZlbnQpIHsKICAgIHRvdWNoZXMgPSBlZS5vcmlnaW5hbEV2ZW50LmNoYW5n
ZWRUb3VjaGVzIHx8IFtlZV07CiAgfQogIHZhciBpZGVudGlmaWVyID0gdG91Y2hlc1swXS5pZGVu
dGlmaWVyIHx8IDA7CiAgdmFyIGxvbmdpZCA9IHRvdWNoZXNbMF0udGFyZ2V0LmlkOwogIHZhciBp
ZCA9IF9mNHUkdC51bmlxdWUobG9uZ2lkKTsKICBfZjR1JHQuX0lbaWRlbnRpZmllcl0gPSB7aWQg
OiBsb25naWQsIG1vdmVkIDogZmFsc2UsIHZhbHVlIDogbnVsbCwgYWRkcmVzcyA6IF9mNHUkdC5J
RFNfVE9fQVRUUklCVVRFU1tpZF1bImFkZHJlc3MiXX07CiAgX2Y0dSR0LmFjdGl2ZV9hZGRyZXNz
ZXMucHVzaChfZjR1JHQuSURTX1RPX0FUVFJJQlVURVNbaWRdWyJhZGRyZXNzIl0pOwogIC8vIHR1
cm5zIG9mZiB6b29tIGZvciBtb2JpbGUgZGV2aWNlcwogICQoJ2JvZHknKS5iaW5kKCd0b3VjaG1v
dmUnLCBmdW5jdGlvbihldmVudCkgeyBldmVudC5wcmV2ZW50RGVmYXVsdCgpIH0pOwogIC8vIGlm
IHdlIHRvdWNoIGEgZ3Jvb3ZlLCB3ZSB3YW50IHRoZSBvYmplY3QgdG8gc25hcCB0byB0aGUgY29y
cmVjdCBwb3NpdGlvbiwgc28KICAvLyB3ZSBuZWVkIHRvIGNhbGwgdGhlIG1vdmUgZnVuY3Rpb24u
CiAgX2Y0dSR0Lm1vdmVfYWN0aXZlX29iamVjdChlZSk7Cn0KCl9mNHUkdC5hY3RpdmF0ZV90Z3Jv
dXAgPSBmdW5jdGlvbih4LCB5LCBnb29kaWQsIGJhZGlkcykgewogIHZhciBzdHJhciA9IGJhZGlk
cy5zcGxpdCgnIycpOwogIGZvciAodmFyIGkgPSAwOyBzdHJhci5sZW5ndGggPiBpOyBpKyspIHsK
ICAgIF9mNHUkdC5tb3ZlX3RvX3JpZGljdWxvdXNfbmVnYXRpdmUoc3RyYXJbaV0pOwogICAgX2Y0
dSR0LnRncm91cF9maWxsX2NoYW5nZXIoX2Y0dSR0LnVuaXF1ZShzdHJhcltpXSksIGZhbHNlKTsK
ICB9CiAgX2Y0dSR0LmdlbmVyaWNfdHJhbnNsYXRlKGdvb2RpZCwgeCwgeSk7CiAgX2Y0dSR0LnRn
cm91cF9maWxsX2NoYW5nZXIoX2Y0dSR0LnVuaXF1ZShnb29kaWQpLCB0cnVlKTsKfQoKLyoKICBN
T1ZJTkcgRlVOQ1RJT05TLgogIEZ1bmN0aW9ucyB0aGF0IHRha2UgY2FyZSBvZiBtb3ZpbmcgdGhl
IGFjdGl2ZSBvYmplY3Qgb24gdGhlIHNjcmVlbi4KKi8KCl9mNHUkdC50b29sdGlwX21vdXNlb3Zl
ciA9IGZ1bmN0aW9uKGUpIHsKICB2YXIgaWQgPSBfZjR1JHQudW5pcXVlKGUudGFyZ2V0LmlkKTsK
ICB2YXIgZnVsbF9pZCA9ICdmYXVzdF90b29sdGlwXycraWQ7CiAgZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoZnVsbF9pZCkuc2V0QXR0cmlidXRlKCJzdHlsZSIsIm9wYWNpdHk6MS4wIik7CiAgc2V0
VGltZW91dChmdW5jdGlvbiAoKSB7CiAgICBfZjR1JHQuZ2VuZXJpY190cmFuc2xhdGUoZnVsbF9p
ZCwgMCwgMCk7CiAgICB2YXIgb3MgPSAkKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGZ1bGxfaWQp
KS5vZmZzZXQoKTsKICAgIHZhciBteV94ID0gb3NbJ2xlZnQnXSAvIF9mNHUkdC5WSUVXUE9SVF9T
Q0FMRTsKICAgIHZhciBteV95ID0gb3NbJ3RvcCddIC8gX2Y0dSR0LlZJRVdQT1JUX1NDQUxFOwog
ICAgX2Y0dSR0LmdlbmVyaWNfdHJhbnNsYXRlKGZ1bGxfaWQsIF9mNHUkdC5nZXRPcGVyYXRpdmVY
KGUpIC0gbXlfeCwgX2Y0dSR0LmdldE9wZXJhdGl2ZVkoZSkgLSBteV95KTsKICB9LCA1MDApOwp9
CgpfZjR1JHQudG9vbHRpcF9tb3VzZW91dCA9IGZ1bmN0aW9uKGUpIHsKICB2YXIgaWQgPSBfZjR1
JHQudW5pcXVlKGUudGFyZ2V0LmlkKTsKICB2YXIgZnVsbF9pZCA9ICdmYXVzdF90b29sdGlwXycr
aWQKICBfZjR1JHQubW92ZV90b19yaWRpY3Vsb3VzX25lZ2F0aXZlKGZ1bGxfaWQpOwogIGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKGZ1bGxfaWQpLnNldEF0dHJpYnV0ZSgic3R5bGUiLCJvcGFjaXR5
OjAuMCIpOwp9CgovLyBtYWluIGZ1bmN0aW9uIHRvIG1vdmUgY3VycmVudGx5LXNlbGVjdGVkIHNs
aWRlcgpfZjR1JHQubW92ZV9hY3RpdmVfb2JqZWN0ID0gZnVuY3Rpb24oZWUpIHsKICBmb3IgKHZh
ciBlbHQgaW4gX2Y0dSR0Ll9JKSB7CiAgICBpZiAoX2Y0dSR0Ll9JW2VsdF0gJiYgKGVsdC5pbmRl
eE9mKCdvcmllbnRhdGlvbicpID09IC0xKSkgewogICAgICB2YXIgdG91Y2hlcyA9IGVlLnRvdWNo
ZXMgfHwgW2VlXTsKICAgICAgaWYgKGVlLm9yaWdpbmFsRXZlbnQpIHsKICAgICAgICB0b3VjaGVz
ID0gZWUub3JpZ2luYWxFdmVudC50b3VjaGVzIHx8IFtlZV07CiAgICAgIH0KICAgICAgZm9yICh2
YXIgaSA9IDA7IGkgPCB0b3VjaGVzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgX2Y0dSR0LmludGVy
bmFsX21vdmVfYWN0aXZlX29iamVjdCh0b3VjaGVzW2ldLCB0b3VjaGVzWzBdID09IGVlID8gMCA6
IHRvdWNoZXNbaV0uaWRlbnRpZmllcik7CiAgICAgIH0KICAgICAgLy8gYnJlYWtzIGxvb3AsIGFz
IHdlIGp1c3QgbmVlZCBvbmUgYWN0aXZlIGVsZW1lbnQgZm9yIHRoaXMgdG8gd29yawogICAgICBy
ZXR1cm4gdHJ1ZTsKICAgIH0KICB9CiAgcmV0dXJuIHRydWU7Cn0KCi8vIFRPRE8KLy8gRG9lcyB0
aGlzIHJlYWxseSBuZWVkIHRvIGJlIGEgc2VwYXJhdGUgZnVuY3Rpb24uCi8vIEhlbHBzIGZvciBy
ZWFkYWJpbGl0eSwgYnV0IG5vdCBuZWNlc3NhcnkKX2Y0dSR0LmludGVybmFsX21vdmVfYWN0aXZl
X29iamVjdCA9IGZ1bmN0aW9uKGUsIGlkZW50aWZpZXIpIHsKICBfZjR1JHQuY2xvZ19rZXlfc2lu
aygpOwogIHZhciBmbiA9IF9mNHUkdFsnbW92ZV9hY3RpdmVfJytfZjR1JHQudHlwZShfZjR1JHQu
X0lbaWRlbnRpZmllcl1bJ2lkJ10pXTsKICB2YXIgbm93ID0gbnVsbDsKICBpZiAoZm4pIHsKICAg
bm93ID0gIGZuKGUsIGlkZW50aWZpZXIpOwogIH0KCiAgLy8gVUkycGlhbm8KICBpZiAobm93ICE9
IG51bGwgJiYgbm93ICE9IF9mNHUkdC5fSVtpZGVudGlmaWVyXVsndmFsdWUnXSkgewogICAgdmFy
IGlkID0gX2Y0dSR0LnVuaXF1ZShfZjR1JHQuX0lbaWRlbnRpZmllcl1bJ2lkJ10pOwogICAgX2Y0
dSR0LmZhdXN0aGFuZGxlcihfZjR1JHQuSURTX1RPX0FUVFJJQlVURVNbaWRdWyJhZGRyZXNzIl0s
IG5vdyk7CiAgICBfZjR1JHQuX0lbaWRlbnRpZmllcl1bJ3ZhbHVlJ10gPSBub3c7CiAgfQoKICBy
ZXR1cm4gbm93Owp9CgpfZjR1JHQucmVkcmF3X3NsaWRlcl9ncm9vdmUgPSBmdW5jdGlvbihpZCwg
YXhpcywgbGVuZ3RoLCBwZXJjKSB7CiAgcGVyYyA9IF9mNHUkdC5ib3VuZChwZXJjLCAwLCAxKTsg
Ly8gdG8gYXZvaWQgbW91c2Ugc3BpbGxvdmVyIG9uIGVpdGhlciBzaWRlIG9mIHNsaWRlcgogIHZh
ciBncm9vdmUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZmF1c3RfJysoX2Y0dSR0Lnh5KGF4
aXMsJ2hzbGlkZXInLCd2c2xpZGVyJykpKydfZ3Jvb3ZlXycraWQpOwogIGlmIChheGlzID09IF9m
NHUkdC5YX0FYSVMpIHsKICAgIGdyb292ZS5zZXRBdHRyaWJ1dGUoJ3gnLCBsZW5ndGggKiBwZXJj
KQogICAgZ3Jvb3ZlLnNldEF0dHJpYnV0ZSgnd2lkdGgnLCBsZW5ndGggKiAoMSAtIHBlcmMpKTsK
ICB9CiAgaWYgKGF4aXMgPT0gX2Y0dSR0LllfQVhJUykgewogICAgZ3Jvb3ZlLnNldEF0dHJpYnV0
ZSgnaGVpZ2h0JywgbGVuZ3RoICogcGVyYyk7CiAgfQp9CgpfZjR1JHQubW92ZV9hY3RpdmVfc2xp
ZGVyID0gZnVuY3Rpb24oZSxpZGVudGlmaWVyKQp7CiAgdmFyIGlkID0gX2Y0dSR0LnVuaXF1ZShf
ZjR1JHQuX0lbaWRlbnRpZmllcl0uaWQpOwogIHZhciBheGlzID0gX2Y0dSR0LklEU19UT19BVFRS
SUJVVEVTW2lkXVsiYXhpcyJdOwogIHZhciBzbGlkaW5nX3BhcnQgPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZChfZjR1JHQueHkoYXhpcywgJ2ZhdXN0X2hzbGlkZXJfaGFuZGxlXycsICdmYXVzdF92
c2xpZGVyX2hhbmRsZV8nKStpZCk7CiAgdmFyIGFuY2hvciA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKF9mNHUkdC54eShheGlzLCAnZmF1c3RfaHNsaWRlcl9tZXRlcl8nLCAnZmF1c3RfdnNsaWRl
cl9tZXRlcl8nKStpZCk7CiAgdmFyIHNsaWRlcmxlbiA9IF9mNHUkdC5JRFNfVE9fQVRUUklCVVRF
U1tpZF1bInNsaWRlcmxlbiJdOwogIHZhciBsZW5ndGggPSBfZjR1JHQuSURTX1RPX0FUVFJJQlVU
RVNbaWRdWyJsZW5ndGgiXTsKICB2YXIgcG9zID0gLTE7CiAgdmFyIG9zID0gJChhbmNob3IpLm9m
ZnNldCgpOwogIHZhciBteV94ID0gb3NbJ2xlZnQnXSAvIF9mNHUkdC5WSUVXUE9SVF9TQ0FMRTsK
ICB2YXIgbXlfeSA9IG9zWyd0b3AnXSAvIF9mNHUkdC5WSUVXUE9SVF9TQ0FMRTsKICAvLyB3ZSBv
bmx5IGNhcmUgYWJvdXQgdGhlIGF4aXMgb2YgdGhlIHNsaWRlcgogIGlmIChheGlzID09IF9mNHUk
dC5YX0FYSVMpIHsKICAgIHBvcyA9IF9mNHUkdC5nZXRPcGVyYXRpdmVYKGUpIC0gbXlfeDsKICB9
CiAgZWxzZSB7CiAgICBwb3MgPSBfZjR1JHQuZ2V0T3BlcmF0aXZlWShlKSAtIG15X3k7CiAgfQoK
ICBwb3MgLT0gKHNsaWRlcmxlbiAvIDIuMCk7CiAgdmFyIHRyYW5zZm9ybSA9IF9mNHUkdC50cmFu
c2Zvcm1fdG9fYXJyYXkoc2xpZGluZ19wYXJ0LmdldEF0dHJpYnV0ZSgidHJhbnNmb3JtIikpOwog
IC8vIHdlIGFzc3VtZSB0aGF0IHRoZXJlIGlzIG9ubHkgb25lIGVsZW1lbnQgYW5kIHRoYXQgaXQg
aXMgYSB0cmFuc2Zvcm0KICAvLyBtYWtlIHN1cmUgdG8gY2hhbmdlIHRoaXMgaWYgdGhpbmdzIGdl
dCBtb3JlIGNvbXBsaWNhdGVkCiAgLy8gYWN0dWFsbHksIGp1c3QgbWFrZSBzdXJlIG5vdCB0byBt
YWtlIHRoaW5ncyBtb3JlIGNvbXBsaWNhdGVkLi4uCgogIHZhciBhdmFsID0gcG9zOy8vdHJhbnNm
b3JtWzBdW2F4aXMgKyAxXSArIGRpZmY7CiAgLy8gbWluaW11bSBvZiB0aGUgc2xpZGVyIGlzIHRv
IHRoZSBib3R0b20gLyBsZWZ0CiAgdHJhbnNmb3JtWzBdW2F4aXMgKyAxXSA9IF9mNHUkdC5ib3Vu
ZF9hbmRfYXZvaWRfbGFyZ2VfbGVhcHMoYXZhbCwgdHJhbnNmb3JtWzBdW2F4aXMgKyAxXSwgMCwg
bGVuZ3RoIC0gc2xpZGVybGVuKTsKICBfZjR1JHQucmVkcmF3X3NsaWRlcl9ncm9vdmUoCiAgICBp
ZCwKICAgIGF4aXMsCiAgICBsZW5ndGgsCiAgICBhdmFsIC8gbGVuZ3RoCiAgKTsKICB2YXIgbm93
ID0gX2Y0dSR0W19mNHUkdC54eShheGlzLCAiZ2VuZXJpY19sYWJlbF91cGRhdGUiLCAiZ2VuZXJp
Y19mbGlwcGVkX2xhYmVsX3VwZGF0ZSIpXShpZCwgYXZhbCwgMCwgbGVuZ3RoIC0gc2xpZGVybGVu
KTsKICB2YXIgbW92ZXRvdGhpcyA9IF9mNHUkdC5hcnJheV90b190cmFuc2Zvcm0odHJhbnNmb3Jt
KTsKICBzbGlkaW5nX3BhcnQuc2V0QXR0cmlidXRlKCJ0cmFuc2Zvcm0iLCBtb3ZldG90aGlzKTsK
ICByZXR1cm4gbm93Owp9CgpfZjR1JHQubW92ZV9hY3RpdmVfdnNsaWRlciA9IF9mNHUkdC5tb3Zl
X2FjdGl2ZV9zbGlkZXI7Cl9mNHUkdC5tb3ZlX2FjdGl2ZV9oc2xpZGVyID0gX2Y0dSR0Lm1vdmVf
YWN0aXZlX3NsaWRlcjsKCl9mNHUkdC50b3VjaGVkID0gZnVuY3Rpb24oaWQpIHsKICBmb3IgKHZh
ciBpZGVudGlmaWVyIGluIF9mNHUkdC5fSSkgewogICAgaWYgKChpZGVudGlmaWVyICE9ICgnb3Jp
ZW50YXRpb24nK2lkKSkKICAgICAgICAmJiAoX2Y0dSR0Ll9JW2lkZW50aWZpZXJdLmlkLmluZGV4
T2YoaWQpICE9IC0xKSkgewogICAgICByZXR1cm4gdHJ1ZTsKICAgIH0KICB9IAogIHJldHVybiBm
YWxzZTsKfQoKX2Y0dSR0LnJlc3BvbmRUb09yaWVudGF0aW9uQ2hhbmdlID0gZnVuY3Rpb24oZSkg
ewogIGZvciAodmFyIGlkIGluIF9mNHUkdC5JRFNfVE9fQVRUUklCVVRFUykgewogICAgaWYgKF9m
NHUkdC5JRFNfVE9fQVRUUklCVVRFU1tpZF0ub3JpZW50YXRpb24gJiYKICAgICAgICBfZjR1JHQu
SURTX1RPX0FUVFJJQlVURVNbaWRdLm9yaWVudGF0aW9uLmFuZ2xlKQogICAgICB7CiAgICAgICAg
aWYgKCFfZjR1JHQuX0lbJ29yaWVudGF0aW9uJytpZF0pIHsKICAgICAgICAgIF9mNHUkdC5fSVsn
b3JpZW50YXRpb24nK2lkXSA9IHtpZCA6IGlkLCBtb3ZlZCA6IGZhbHNlLCB2YWx1ZSA6IG51bGws
IGFkZHJlc3MgOiBfZjR1JHQuSURTX1RPX0FUVFJJQlVURVNbaWRdWyJhZGRyZXNzIl19OwogICAg
ICAgIH0KICAgICAgICB2YXIgbm93ID0gbnVsbDsKICAgICAgICBpZiAoKChfZjR1JHQuSURTX1RP
X0FUVFJJQlVURVNbaWRdWyJ0eXBlIl0gPT0gJ2hzbGlkZXInKQogICAgICAgICAgICAgfHwgKF9m
NHUkdC5JRFNfVE9fQVRUUklCVVRFU1tpZF1bInR5cGUiXSA9PSAndnNsaWRlcicpKQogICAgICAg
ICAgICAmJiAhX2Y0dSR0LnRvdWNoZWQoaWQpKSB7CiAgICAgICAgICAgLy8gdWdoLi4udGhpcyBt
ZWFucyB0aGF0IHRoZXkgd2lsbCBub3QgYmUgZGlzYWN0aXZhdGVkLi4uCiAgICAgICAgICAgX2Y0
dSR0LmFjdGl2ZV9hZGRyZXNzZXMucHVzaChfZjR1JHQuSURTX1RPX0FUVFJJQlVURVNbaWRdWyJh
ZGRyZXNzIl0pOwogICAgICAgICAgbm93ID0gX2Y0dSR0Lm1vdmVTbGlkZXJWaWFBY2NlbGVyb21l
dGVyKGUsIGlkKTsKICAgICAgICB9CiAgICAgICAgLy8gVUkycGlhbm8KICAgICAgICBpZiAobm93
ICE9IG51bGwgJiYgbm93ICE9IF9mNHUkdC5fSVsnb3JpZW50YXRpb24nK2lkXVsndmFsdWUnXSkg
ewogICAgICAgICAgX2Y0dSR0LmZhdXN0aGFuZGxlcihfZjR1JHQuSURTX1RPX0FUVFJJQlVURVNb
aWRdWyJhZGRyZXNzIl0sIG5vdyk7CiAgICAgICAgICBfZjR1JHQuX0lbJ29yaWVudGF0aW9uJytp
ZF1bJ3ZhbHVlJ10gPSBub3c7CiAgICAgICAgfQogICAgICB9CiAgfQp9CgovLyBUT0RPLi4uY29t
YmluZSB0aGlzIHdpdGggYWJvdmUuLi4KLy8gc2ltcGxpZmllZCB2ZXJzaW9uLCBzbyBzaG91bGRu
J3QgYmUgdG9vIGhhcmQKX2Y0dSR0Lm1vdmVTbGlkZXJWaWFBY2NlbGVyb21ldGVyID0gZnVuY3Rp
b24oZSwgbG9uZ2lkKSB7CiAgdmFyIGlkID0gX2Y0dSR0LnVuaXF1ZShsb25naWQpOwogIHZhciBh
eGlzID0gX2Y0dSR0LklEU19UT19BVFRSSUJVVEVTW2lkXVsiYXhpcyJdOwogIHZhciBzbGlkaW5n
X3BhcnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChfZjR1JHQueHkoYXhpcywgJ2ZhdXN0X2hz
bGlkZXJfaGFuZGxlXycsICdmYXVzdF92c2xpZGVyX2hhbmRsZV8nKStpZCk7CiAgdmFyIHNsaWRl
cmxlbiA9IF9mNHUkdC5JRFNfVE9fQVRUUklCVVRFU1tpZF1bInNsaWRlcmxlbiJdOwogIHZhciBs
ZW5ndGggPSBfZjR1JHQuSURTX1RPX0FUVFJJQlVURVNbaWRdWyJsZW5ndGgiXTsKICB2YXIgb3Jp
ZW50YXRpb24gPSBlW19mNHUkdC5JRFNfVE9fQVRUUklCVVRFU1tpZF0ub3JpZW50YXRpb24uYW5n
bGVdCiAgICAgICAgICAgICAgICAgICAgPyBlW19mNHUkdC5JRFNfVE9fQVRUUklCVVRFU1tpZF0u
b3JpZW50YXRpb24uYW5nbGVdCiAgICAgICAgICAgICAgICAgICAgOiAwOwogIHZhciBwcmV2X29y
aWVudGF0aW9uID0gX2Y0dSR0LklEU19UT19BVFRSSUJVVEVTW2lkXS5wcmV2aW91c29yaWVudGF0
aW9uICE9IG51bGwKICAgICAgICAgICAgICAgICAgICAgICAgID8gX2Y0dSR0LklEU19UT19BVFRS
SUJVVEVTW2lkXS5wcmV2aW91c29yaWVudGF0aW9uCiAgICAgICAgICAgICAgICAgICAgICAgICA6
IGVbX2Y0dSR0LklEU19UT19BVFRSSUJVVEVTW2lkXS5vcmllbnRhdGlvbi5hbmdsZV07CiAgdmFy
IHRyYW5zZm9ybSA9IF9mNHUkdC50cmFuc2Zvcm1fdG9fYXJyYXkoc2xpZGluZ19wYXJ0LmdldEF0
dHJpYnV0ZSgidHJhbnNmb3JtIikpOwogIF9mNHUkdC5JRFNfVE9fQVRUUklCVVRFU1tpZF0ucHJl
dmlvdXNvcmllbnRhdGlvbiA9IGVbX2Y0dSR0LklEU19UT19BVFRSSUJVVEVTW2lkXS5vcmllbnRh
dGlvbi5hbmdsZV07CiAgdmFyIGF2YWwgPSAwOwogIGlmIChfZjR1JHQuSURTX1RPX0FUVFJJQlVU
RVNbaWRdLm9yaWVudGF0aW9ubW9kZSA9PSAncmVsYXRpdmUnKSB7CiAgICB2YXIgbnVkZ2UgPSAo
b3JpZW50YXRpb24gLSBwcmV2X29yaWVudGF0aW9uKSAqIChsZW5ndGggLSBzbGlkZXJsZW4pIC8g
KF9mNHUkdC5JRFNfVE9fQVRUUklCVVRFU1tpZF0ub3JpZW50YXRpb24uaGlnaCAtIF9mNHUkdC5J
RFNfVE9fQVRUUklCVVRFU1tpZF0ub3JpZW50YXRpb24ubG93KTsKICAgIGF2YWwgPSB0cmFuc2Zv
cm1bMF1bYXhpcyArIDFdICsgbnVkZ2U7CiAgICAKICB9IGVsc2UgewogICAgYXZhbCA9IF9mNHUk
dC5yZW1hcChvcmllbnRhdGlvbiwKICAgICAgICAgICAgICAgICAgICAgICAgX2Y0dSR0LklEU19U
T19BVFRSSUJVVEVTW2lkXS5vcmllbnRhdGlvbi5sb3csCiAgICAgICAgICAgICAgICAgICAgICAg
IF9mNHUkdC5JRFNfVE9fQVRUUklCVVRFU1tpZF0ub3JpZW50YXRpb24uaGlnaCwKICAgICAgICAg
ICAgICAgICAgICAgICAgMCwKICAgICAgICAgICAgICAgICAgICAgICAgbGVuZ3RoIC0gc2xpZGVy
bGVuKTsKICB9CiAgLy8gbWluaW11bSBvZiB0aGUgc2xpZGVyIGlzIHRvIHRoZSBib3R0b20gLyBs
ZWZ0CiAgdHJhbnNmb3JtWzBdW2F4aXMgKyAxXSA9IF9mNHUkdC5ib3VuZF9hbmRfYXZvaWRfbGFy
Z2VfbGVhcHMoYXZhbCwgdHJhbnNmb3JtWzBdW2F4aXMgKyAxXSwgMCwgbGVuZ3RoIC0gc2xpZGVy
bGVuKTsKICBfZjR1JHQucmVkcmF3X3NsaWRlcl9ncm9vdmUoCiAgICBpZCwKICAgIGF4aXMsCiAg
ICBsZW5ndGgsCiAgICBhdmFsIC8gbGVuZ3RoCiAgKTsKICB2YXIgbm93ID0gX2Y0dSR0W19mNHUk
dC54eShheGlzLCAiZ2VuZXJpY19sYWJlbF91cGRhdGUiLCAiZ2VuZXJpY19mbGlwcGVkX2xhYmVs
X3VwZGF0ZSIpXShpZCwgYXZhbCwgMCwgbGVuZ3RoIC0gc2xpZGVybGVuKTsKICB2YXIgbW92ZXRv
dGhpcyA9IF9mNHUkdC5hcnJheV90b190cmFuc2Zvcm0odHJhbnNmb3JtKTsKICBzbGlkaW5nX3Bh
cnQuc2V0QXR0cmlidXRlKCJ0cmFuc2Zvcm0iLCBtb3ZldG90aGlzKTsKICByZXR1cm4gbm93Owp9
CgpfZjR1JHQucmVkcmF3Um90YXRpbmdCdXR0b25NZXRlciA9IGZ1bmN0aW9uKGlkLCBpbml0YW5n
bGUsIHN3ZWVwYW5nbGUsIHJhZGl1cywga25vYnBlcmNlbnRhZ2UsIHN0YXJ0cCkgewogIHZhciBt
ZXRlciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmYXVzdF9yYnV0dG9uX21ldGVyXycraWQp
OwogIHZhciB4byA9IHJhZGl1czsKICB2YXIgeW8gPSByYWRpdXM7CgogIHZhciBkID0gIk17MH0g
ezF9QXsyfSB7M30gMCB7NH0gezV9IHs2fSB7N31Mezh9IHs5fUF7MTB9IHsxMX0gMCB7MTJ9IHsx
M30gezE0fSB7MTV9THsxNn0gezE3fSI7CiAgZCA9IGQuZm9ybWF0KFsKICAgIHJhZGl1cyAqIE1h
dGguY29zKF9mNHUkdC5kMnIoc3RhcnRwKSkgKyB4bywgLy8gb3V0c2lkZSBYCiAgICByYWRpdXMg
KiBNYXRoLnNpbihfZjR1JHQuZDJyKHN0YXJ0cCkpICsgeW8sIC8vIG91dHNpZGUgWQogICAgcmFk
aXVzLCAvLyByYWRpdXMgWAogICAgcmFkaXVzLCAvLyByYWRpdXMgWQogICAgaW5pdGFuZ2xlICsg
c3dlZXBhbmdsZSAtIHN0YXJ0cCA8PSAxODAgPyAwIDogMSwgLy8gbGFyZ2UgYXJjIGZsYWcKICAg
IDEsIC8vIGRyYXcgcG9zaXRpdmUKICAgIHJhZGl1cyAqIE1hdGguY29zKF9mNHUkdC5kMnIoaW5p
dGFuZ2xlICsgc3dlZXBhbmdsZSkpICsgeG8sIC8vIGVuZHBvaW50IFgKICAgIHJhZGl1cyAqIE1h
dGguc2luKF9mNHUkdC5kMnIoaW5pdGFuZ2xlICsgc3dlZXBhbmdsZSkpICsgeW8sIC8vIGVuZHBv
aW50IFkKICAgIHJhZGl1cyAqIGtub2JwZXJjZW50YWdlICogTWF0aC5jb3MoX2Y0dSR0LmQycihp
bml0YW5nbGUgKyBzd2VlcGFuZ2xlKSkgKyB4bywgLy8gaW5zaWRlIGVuZHBvaW50IFgKICAgIHJh
ZGl1cyAqIGtub2JwZXJjZW50YWdlICogTWF0aC5zaW4oX2Y0dSR0LmQycihpbml0YW5nbGUgKyBz
d2VlcGFuZ2xlKSkgKyB5bywgLy8gaW5zaWRlIGVuZHBvaW50IFkKICAgIHJhZGl1cyAqIGtub2Jw
ZXJjZW50YWdlLCAvLyBpbnNpZGUgcmFkaXV4IFgKICAgIHJhZGl1cyAqIGtub2JwZXJjZW50YWdl
LCAvLyBpbnNpZGUgcmFkaXV4IFkKICAgIGluaXRhbmdsZSArIHN3ZWVwYW5nbGUgLSBzdGFydHAg
PD0gMTgwID8gMCA6IDEsIC8vIGxhcmdlIGFyYyBmbGFnCiAgICAwLCAvLyBkcmF3IG5lZ2F0aXZl
CiAgICByYWRpdXMgKiBrbm9icGVyY2VudGFnZSAqIE1hdGguY29zKF9mNHUkdC5kMnIoc3RhcnRw
KSkgKyB4bywgLy8gaW5zaWRlIFgKICAgIHJhZGl1cyAqIGtub2JwZXJjZW50YWdlICogTWF0aC5z
aW4oX2Y0dSR0LmQycihzdGFydHApKSArIHlvLCAvLyBpbnNpZGUgWQogICAgcmFkaXVzICogTWF0
aC5jb3MoX2Y0dSR0LmQycihzdGFydHApKSArIHhvLCAvLyBvdXRzaWRlIFgKICAgIHJhZGl1cyAq
IE1hdGguc2luKF9mNHUkdC5kMnIoc3RhcnRwKSkgKyB5by8vIG91dHNpZGUgWQogIF0pOwoKICBt
ZXRlci5zZXRBdHRyaWJ1dGUoImQiLCBkKTsKfQoKX2Y0dSR0Lm1vdmVfYWN0aXZlX3JidXR0b24g
PSBmdW5jdGlvbihlLCBpZGVudGlmaWVyKQp7CiAgdmFyIGlkID0gX2Y0dSR0LnVuaXF1ZShfZjR1
JHQuX0lbaWRlbnRpZmllcl0uaWQpOwogIHZhciBzbGlkaW5nX3BhcnQgPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgnZmF1c3RfcmJ1dHRvbl9oYW5kbGVfJytpZCk7CiAgdmFyIGFuY2hvciA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCdmYXVzdF9yYnV0dG9uX2FuY2hvcl8nK2lkKTsKICB2YXIg
aW5pdGFuZ2xlID0gX2Y0dSR0LklEU19UT19BVFRSSUJVVEVTW2lkXVsiaW5pdGFuZ2xlIl07CiAg
dmFyIHN3ZWVwYW5nbGUgPSBfZjR1JHQuSURTX1RPX0FUVFJJQlVURVNbaWRdWyJzd2VlcGFuZ2xl
Il07CiAgdmFyIG9zID0gJChhbmNob3IpLm9mZnNldCgpOwogIHZhciBteV94ID0gb3NbJ2xlZnQn
XSAvIF9mNHUkdC5WSUVXUE9SVF9TQ0FMRTsKICB2YXIgbXlfeSA9IG9zWyd0b3AnXSAvIF9mNHUk
dC5WSUVXUE9SVF9TQ0FMRTsKICB2YXIgdHJhbnNmb3JtID0gX2Y0dSR0LnRyYW5zZm9ybV90b19h
cnJheShzbGlkaW5nX3BhcnQuZ2V0QXR0cmlidXRlKCJ0cmFuc2Zvcm0iKSk7CgogIHZhciBkaWZm
ID0gMTgwLiAqIE1hdGguYXRhbjIoX2Y0dSR0LmdldE9wZXJhdGl2ZVkoZSkgLSBteV95LCBfZjR1
JHQuZ2V0T3BlcmF0aXZlWChlKSAtIG15X3gpIC8gTWF0aC5QSTsKICB3aGlsZSAoZGlmZiA8IDAp
IHsKICAgIGRpZmYgKz0gMzYwOwogIH0KICBkaWZmID0gZGlmZiAlIDM2MDsKICAvLyBwdXQgaXQg
YmV0d2VlbiB0aGUgdmFsdWVzIGlmIG5lY2Vzc2FyeQogIGlmICgoKDM2MCArIGRpZmYpID49IGlu
aXRhbmdsZSkgJiYgKCgzNjAgKyBkaWZmKSA8PSAoaW5pdGFuZ2xlICsgc3dlZXBhbmdsZSkpKSB7
CiAgICBkaWZmICs9IDM2MDsKICB9CgogIGlmIChlLnRhcmdldC5pZC5pbmRleE9mKCdkb3QnKSAh
PSAtMSkgewogICAgLy8gaWYgaXQgaXMgYSBwYW5vcmFtaWMgZG90LCBzbmFwIHRvIHRoZSBtdWx0
aXBsZSBvZiA0NQogICAgZGlmZiA9IHBhcnNlSW50KChkaWZmIC8gNDUpICsgMC41KSAqIDQ1Owog
IH0KICAvLyB3ZSBhc3N1bWUgdGhhdCB0aGVyZSBpcyBvbmx5IG9uZSBlbGVtZW50IGFuZCB0aGF0
IGl0IGlzIGEgdHJhbnNmb3JtCiAgLy8gbWFrZSBzdXJlIHRvIGNoYW5nZSB0aGlzIGlmIHRoaW5n
cyBnZXQgbW9yZSBjb21wbGljYXRlZAogIC8vIGFjdHVhbGx5LCBqdXN0IG1ha2Ugc3VyZSBub3Qg
dG8gbWFrZSB0aGluZ3MgbW9yZSBjb21wbGljYXRlZC4uLgoKICB2YXIgYXZhbCA9IGRpZmY7CiAg
dmFyIHJvdGF0aW9uID0gdHJhbnNmb3JtWzJdWzFdOwogIGlmICgoYXZhbCA+PSBpbml0YW5nbGUp
ICYmIChhdmFsIDw9IChpbml0YW5nbGUgKyBzd2VlcGFuZ2xlKSkpIHsKICAgIC8vIG9ubHkgY2hh
bmdlIHJvdGF0aW9uIGlmIHdlJ3JlIGluIGJvdW5kcyBhbmQgdGhlIGRpZmZlcmVuY2UgaXMgc21h
bGwgKGNob29zZSAxMCBhcyBlcHNpbG9uKQogICAgcm90YXRpb24gPSBfZjR1JHQuYm91bmRfYW5k
X2F2b2lkX2xhcmdlX2xlYXBzKGF2YWwsIHRyYW5zZm9ybVsyXVsxXSwgaW5pdGFuZ2xlLCBpbml0
YW5nbGUgKyBzd2VlcGFuZ2xlLCAxMCk7CiAgfQogIHRyYW5zZm9ybVsyXVsxXSA9IHJvdGF0aW9u
OwogIGlmIChzd2VlcGFuZ2xlICE9IDM2MCkgewogICAgX2Y0dSR0LnJlZHJhd1JvdGF0aW5nQnV0
dG9uTWV0ZXIoCiAgICAgIGlkLAogICAgICBpbml0YW5nbGUsCiAgICAgIHN3ZWVwYW5nbGUsCiAg
ICAgIF9mNHUkdC5JRFNfVE9fQVRUUklCVVRFU1tpZF1bInJhZGl1cyJdLAogICAgICBfZjR1JHQu
SURTX1RPX0FUVFJJQlVURVNbaWRdWyJrbm9icGVyY2VudGFnZSJdLAogICAgICB0cmFuc2Zvcm1b
Ml1bMV0KICAgICk7CiAgfQogIHZhciBub3cgPSBfZjR1JHQuZ2VuZXJpY19sYWJlbF91cGRhdGUo
aWQsIHJvdGF0aW9uLCBpbml0YW5nbGUsIGluaXRhbmdsZSArIHN3ZWVwYW5nbGUpOwogIHZhciBt
b3ZldG90aGlzID0gX2Y0dSR0LmFycmF5X3RvX3RyYW5zZm9ybSh0cmFuc2Zvcm0pOwogIHNsaWRp
bmdfcGFydC5zZXRBdHRyaWJ1dGUoInRyYW5zZm9ybSIsIG1vdmV0b3RoaXMpOwogIHJldHVybiBu
b3c7Cn0KCi8vIGdldHMgcmlkIG9mIHRoZSBjdXJyZW50IHRoaW5nIGJlaW5nIGRyYWdnZWQKX2Y0
dSR0LmNsZWFySWRDYWNoZSA9IGZ1bmN0aW9uKGVlKSB7CiAgaWYgKGVlKSB7CiAgICAvLyBzb21l
dGltZXMsIHRoZXJlIHdpbGwgYmUgbm8gZXZlbnQgcGFzc2VkIGluIChpLmUuIGEgYnV0dG9uKQog
ICAgLy8gaWYgc28sIHdlIGNhbiBza2lwIGV2ZXJ5dGhpbmcgYmVsb3cKICAgIHZhciB0b3VjaGVz
ID0gZWUuY2hhbmdlZFRvdWNoZXMgfHwgW2VlXTsKICAgIGlmIChlZS5vcmlnaW5hbEV2ZW50KSB7
CiAgICAgIHRvdWNoZXMgPSBlZS5vcmlnaW5hbEV2ZW50LmNoYW5nZWRUb3VjaGVzIHx8IGVlOwog
ICAgfQogICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0b3VjaGVzLmxlbmd0aDsgaSsrKSB7CiAgICAg
IGlmIChfZjR1JHQuX0lbdG91Y2hlc1tpXS5pZGVudGlmaWVyIHx8IDBdKSB7CiAgICAgICAgdmFy
IGFkZHIgPSBfZjR1JHQuX0lbdG91Y2hlc1tpXS5pZGVudGlmaWVyIHx8IDBdLmFkZHJlc3M7CiAg
ICAgICAgd2hpbGUgKF9mNHUkdC5hY3RpdmVfYWRkcmVzc2VzLmluZGV4T2YoYWRkcikgIT09IC0x
KSB7CiAgICAgICAgICBfZjR1JHQuYWN0aXZlX2FkZHJlc3Nlcy5zcGxpY2UoX2Y0dSR0LmFjdGl2
ZV9hZGRyZXNzZXMuaW5kZXhPZihhZGRyKSwgMSk7CiAgICAgICAgfQogICAgICAgIGRlbGV0ZSBf
ZjR1JHQuX0lbdG91Y2hlc1tpXS5pZGVudGlmaWVyIHx8IDBdOwogICAgICB9CiAgICB9CiAgICAv
LyBleGl0IGZ1bmN0aW9uIGJlZm9yZSB1bmJpbmRpbmcgaWYgdGhlcmUgYXJlIHN0aWxsIGFjdGl2
ZSBlbGVtZW50cwogICAgZm9yICh2YXIgZWx0IGluIF9mNHUkdC5fSSkgewogICAgICBpZiAoX2Y0
dSR0Ll9JW2VsdF0pIHsKICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgfQogICAgfQogIH0KICAv
LyBjbGVhciBndW5rIG91dCBvZiBjYWNoZQogIF9mNHUkdC5fSSA9IHt9OwogIF9mNHUkdC5hY3Rp
dmVfYWRkcmVzc2VzID0gW107CiAgJCgnYm9keScpLnVuYmluZCgndG91Y2htb3ZlJyk7IC8vIHR1
cm5zIG9uIHpvb21pbmcgZm9yIG1vYmlsZSBkZXZpY2VzCn0KCl9mNHUkdC5vbm9mZl9wcm9wZXJ0
eV9jaGFuZ2VyID0gZnVuY3Rpb24oaWQsIGRvd24sIHByb3BlcnR5LCB2YWx1ZV9kb3duLCB2YWx1
ZV91cCkgewogIGlmIChkb3duKSB7CiAgICAkKCcjJytpZCkuY3NzKHByb3BlcnR5LCB2YWx1ZV9k
b3duKTsKICB9CiAgZWxzZSB7CiAgICAkKCcjJytpZCkuY3NzKHByb3BlcnR5LCB2YWx1ZV91cCk7
CiAgfQp9CgpfZjR1JHQub25vZmZfZmlsbF9jaGFuZ2VyID0gZnVuY3Rpb24oaWQsIGRvd24sIHZh
bHVlX2Rvd24sIHZhbHVlX3VwKSB7CiAgX2Y0dSR0Lm9ub2ZmX3Byb3BlcnR5X2NoYW5nZXIoaWQs
IGRvd24sICdmaWxsJywgdmFsdWVfZG93biwgdmFsdWVfdXApOwp9CgpfZjR1JHQuYnV0dG9uX2Zp
bGxfY2hhbmdlciA9IGZ1bmN0aW9uKGlkLCBkb3duKSB7CiAgX2Y0dSR0Lm9ub2ZmX2ZpbGxfY2hh
bmdlcignZmF1c3RfYnV0dG9uX2JveF8nK19mNHUkdC51bmlxdWUoaWQpLCBkb3duLCAndXJsKCNi
dXR0b25Eb3duR3JhZGllbnQpJywgJ3VybCgjYnV0dG9uVXBHcmFkaWVudCknKTsKfQoKX2Y0dSR0
LnRncm91cF9maWxsX2NoYW5nZXIgPSBmdW5jdGlvbihpZCwgZG93bikgewogIF9mNHUkdC5vbm9m
Zl9maWxsX2NoYW5nZXIoJ2ZhdXN0X3RhYl8nK19mNHUkdC51bmlxdWUoaWQpLCBkb3duLCAndXJs
KCN0YWJHcm91cERvd25HcmFkaWVudCknLCAndXJsKCN0YWJHcm91cFVwR3JhZGllbnQpJyk7Cn0K
Cl9mNHUkdC5uZW50cnlfZmlsbF9jaGFuZ2VyID0gZnVuY3Rpb24oaWQsIGRvd24sIGRpcikgewog
IHZhciBkaXJ0ZXh0ID0gZGlyID09IC0xID8gJ21pbnVzJyA6ICdwbHVzJzsKICBfZjR1JHQub25v
ZmZfZmlsbF9jaGFuZ2VyKCdmYXVzdF9uZW50cnlfYnV0dG9uXycrZGlydGV4dCsnXycrX2Y0dSR0
LnVuaXF1ZShpZCksIGRvd24sICd1cmwoI251bWVyaWNhbEVudHJ5RG93bkdyYWRpZW50KScsICd1
cmwoI251bWVyaWNhbEVudHJ5VXBHcmFkaWVudCknKTsKfQoKLyoKICBOb3RlIHRoYXQgaG92ZXJp
bmcgZG9lcyBub3QgbWFrZSBzZW5zZSBmb3IgbW9iaWxlIGRldmljZXMuCiAgVW5mb3J0dW5hdGVs
eSwgc29tZSBtb2JpbGUgZGV2aWNlIHRyYW5zbGF0ZSBob3ZlciBpbnN0cnVjdGlvbnMKICBhcyBh
IHNvcnQgb2Ygb25jbGljayBjb21tYW5kLgogIFNvIHdlIHJlbW92ZSB0aGlzIGZvciBtb2JpbGUg
ZGV2aWNlcyBhZnRlciB0aGUgY2FsbGJhY2sgZmlyZXMuCiovCgpfZjR1JHQuYnV0dG9uX2hvdmVy
ID0gZnVuY3Rpb24oaWQpIHsKICBpZighIC9BbmRyb2lkfHdlYk9TfGlQaG9uZXxpUGFkfGlQb2R8
QmxhY2tCZXJyeS9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCkgKSB7CiAgICAkKCcjZmF1c3Rf
YnV0dG9uX2JveF8nK19mNHUkdC51bmlxdWUoaWQpKS5jc3MoJ3N0cm9rZScsICdvcmFuZ2UnKTsK
ICAgICQoJyNmYXVzdF9sYWJlbF8nK19mNHUkdC51bmlxdWUoaWQpKS5jc3MoJ2ZpbGwnLCAnb3Jh
bmdlJyk7CiAgfQp9CgpfZjR1JHQuYnV0dG9uX3VuaG92ZXIgPSBmdW5jdGlvbihpZCkgewogIGlm
KCEgL0FuZHJvaWR8d2ViT1N8aVBob25lfGlQYWR8aVBvZHxCbGFja0JlcnJ5L2kudGVzdChuYXZp
Z2F0b3IudXNlckFnZW50KSApIHsKICAgICQoJyNmYXVzdF9idXR0b25fYm94XycrX2Y0dSR0LnVu
aXF1ZShpZCkpLmNzcygnc3Ryb2tlJywgJ2JsYWNrJyk7CiAgICAkKCcjZmF1c3RfbGFiZWxfJytf
ZjR1JHQudW5pcXVlKGlkKSkuY3NzKCdmaWxsJywgJ2JsYWNrJyk7CiAgfQp9CgpfZjR1JHQuYnV0
dG9uX3VwID0gZnVuY3Rpb24oSSkgewogIHZhciBpZCA9IF9mNHUkdC51bmlxdWUoSSk7CiAgX2Y0
dSR0LmJ1dHRvbl9maWxsX2NoYW5nZXIoaWQsIGZhbHNlKTsKICBfZjR1JHQuZmF1c3RoYW5kbGVy
KF9mNHUkdC5JRFNfVE9fQVRUUklCVVRFU1tpZF1bImFkZHJlc3MiXSwgMCk7CiAgX2Y0dSR0LmNs
ZWFySWRDYWNoZSgpOwp9CgpfZjR1JHQuYnV0dG9uX2Rvd24gPSBmdW5jdGlvbihJKSB7CiAgdmFy
IGlkID0gX2Y0dSR0LnVuaXF1ZShJKTsKICBfZjR1JHQuY2xvZ19rZXlfc2luaygpOwogIF9mNHUk
dC5idXR0b25fZmlsbF9jaGFuZ2VyKGlkLCB0cnVlKTsKICBfZjR1JHQuZmF1c3RoYW5kbGVyKF9m
NHUkdC5JRFNfVE9fQVRUUklCVVRFU1tpZF1bImFkZHJlc3MiXSwgMSk7Cn0KCl9mNHUkdC5jbGlj
a19jaGVja2JveCA9IGZ1bmN0aW9uKEkpIHsKICBfZjR1JHQuY2hhbmdlX2NoZWNrYm94KEksIGZh
bHNlKTsKfQpfZjR1JHQudG91Y2hfY2hlY2tib3ggPSBmdW5jdGlvbihJKSB7CiAgX2Y0dSR0LmNo
YW5nZV9jaGVja2JveChJLCB0cnVlKTsKfQoKX2Y0dSR0LmNoYW5nZV9jaGVja2JveCA9IGZ1bmN0
aW9uKEksIHRvdWNoKSB7CiAgdmFyIGlkID0gX2Y0dSR0LnVuaXF1ZShJKQogIHZhciBub3cgPSBu
ZXcgRGF0ZSgpLmdldFRpbWUoKTsKICBpZiAodG91Y2ggJiYgKChub3cgLSBfZjR1JHQuSURTX1RP
X0FUVFJJQlVURVNbaWRdWyJ0aW1lIl0pIDwgMTAwMCkpIHsKICAgIHJldHVybjsKICB9CiAgX2Y0
dSR0LklEU19UT19BVFRSSUJVVEVTW2lkXVsidGltZSJdID0gbm93OwogIF9mNHUkdC5jbG9nX2tl
eV9zaW5rKCk7CiAgdmFyIGFkZHJlc3MgPSBfZjR1JHQuSURTX1RPX0FUVFJJQlVURVNbaWRdWyJh
ZGRyZXNzIl07CiAgdmFyIGJveCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmYXVzdF9jaGVj
a2JveF9jaGVja18nK2lkKTsKICB2YXIgb3BhY2l0eSA9IDA7CiAgaWYgKGJveC5zdHlsZS5vcGFj
aXR5ID09IDEuMCkgewogICAgb3BhY2l0eSA9IDA7CiAgfQogIGVsc2UgaWYgKGJveC5zdHlsZS5v
cGFjaXR5ID09IDAuMCkgewogICAgb3BhY2l0eSA9IDE7CiAgfQogIGVsc2UgewogICAgYWxlcnQo
Im1hbGZ1bmN0aW9uYWwgY2hlY2tib3giKTsKICB9CiAgYm94LnN0eWxlLm9wYWNpdHkgPSBvcGFj
aXR5OwogIC8vIFVJMnBpYW5vCiAgX2Y0dSR0LmZhdXN0aGFuZGxlcihhZGRyZXNzLCBvcGFjaXR5
KTsKfQoKLyoKICBURVhUIFVQREFURVMKICBGdW5jdGlvbnMgdGhhdCB0YWtlIGNhcmUgb2YgdXBk
YXRpbmcgdGV4dCBiYXNlZCBlaXRoZXIgb24KICBrZXlib2FyZCBpbnB1dCBvciBvYmplY3RzJyBt
b3ZpbmcuCiovCgpfZjR1JHQuZ2VuZXJpY19sYWJlbF91cGRhdGUgPSBmdW5jdGlvbihpZCwgYywg
bCwgaCkgewogIHZhciBub3cgPSBfZjR1JHQucmVtYXBfYW5kX3F1YW50aXplKGMsIGwsIGgsIF9m
NHUkdC5JRFNfVE9fQVRUUklCVVRFU1tpZF1bIm1pbnZhbCJdLCBfZjR1JHQuSURTX1RPX0FUVFJJ
QlVURVNbaWRdWyJtYXh2YWwiXSwgX2Y0dSR0LklEU19UT19BVFRSSUJVVEVTW2lkXVsic3RlcCJd
KTsKICByZXR1cm4gX2Y0dSR0LmR1bWJfbGFiZWxfdXBkYXRlKGlkLCBub3cpOwp9CgpfZjR1JHQu
Z2VuZXJpY19mbGlwcGVkX2xhYmVsX3VwZGF0ZSA9IGZ1bmN0aW9uKGlkLCBjLCBsLCBoKSB7CiAg
dmFyIG5vdyA9IF9mNHUkdC5yZW1hcF9hbmRfcXVhbnRpemVfYW5kX2ZsaXAoYywgbCwgaCwgX2Y0
dSR0LklEU19UT19BVFRSSUJVVEVTW2lkXVsibWludmFsIl0sIF9mNHUkdC5JRFNfVE9fQVRUUklC
VVRFU1tpZF1bIm1heHZhbCJdLCBfZjR1JHQuSURTX1RPX0FUVFJJQlVURVNbaWRdWyJzdGVwIl0p
OwogIHJldHVybiBfZjR1JHQuZHVtYl9sYWJlbF91cGRhdGUoaWQsIG5vdyk7Cn0KCl9mNHUkdC5j
aGFuZ2VfbGFiZWxfdGV4dCA9IGZ1bmN0aW9uKGxhYmVsLCBpZCkKewogIGxhYmVsLnRleHRDb250
ZW50ID0gX2Y0dSR0LklEU19UT19BVFRSSUJVVEVTW2lkXVsiYnVmZmVyIl0gKyBfZjR1JHQuSURT
X1RPX0FUVFJJQlVURVNbaWRdWyJ1bml0Il07Cn0KCl9mNHUkdC5kdW1iX2xhYmVsX3VwZGF0ZSA9
IGZ1bmN0aW9uKGlkLCBjKSB7CiAgdmFyIGxhYmVsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImZhdXN0X3ZhbHVlX3ZhbHVlXyIraWQpOwogIHZhciBpbnRlZ2VyID0gX2Y0dSR0LklEU19UT19B
VFRSSUJVVEVTW2lkXVsiaW50ZWdlciJdOwogIGlmIChpbnRlZ2VyKSB7CiAgICBjID0gKGMgKyAw
LjQ5OTk5KS50b1N0cmluZygpLnBhcnNlSW50KCk7CiAgfQogIGVsc2UgewogICAgYyA9IGMudG9G
aXhlZChfZjR1JHQuSURTX1RPX0FUVFJJQlVURVNbaWRdWyJuZGVjIl0pOwogIH0KICBfZjR1JHQu
SURTX1RPX0FUVFJJQlVURVNbaWRdWyJidWZmZXIiXSA9IGM7CiAgX2Y0dSR0LmNoYW5nZV9sYWJl
bF90ZXh0KGxhYmVsLCBpZCk7OwogIHJldHVybiBjOwp9CgpfZjR1JHQuY2xvZ19rZXlfc2luayA9
IGZ1bmN0aW9uKCkgewogIGlmIChfZjR1JHQuX04gIT0gMCkgewogICAgdmFyIGJveCA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJmYXVzdF92YWx1ZV9ib3hfIitfZjR1JHQudW5pcXVlKF9mNHUk
dC5fTikpOwogICAgYm94LnN0eWxlLnN0cm9rZSA9ICJibGFjayI7CiAgICBfZjR1JHQuYWpheF9x
dWV1ZV9idXN5ID0gZmFsc2U7CiAgfQogIF9mNHUkdC5fTiA9IDA7Cn0KCl9mNHUkdC5hY3R1YWxp
emVfYnVmZmVyID0gZnVuY3Rpb24oKSB7CiAgLy8gZ2V0IGEgdmFsaWQgbnVtYmVyIGluIHRoZXJl
Li4uCiAgdmFyIGlkID0gX2Y0dSR0LnVuaXF1ZShfZjR1JHQuX04pOwoKICB2YXIgbWludmFsID0g
X2Y0dSR0LklEU19UT19BVFRSSUJVVEVTW2lkXVsibWludmFsIl07CiAgdmFyIG1heHZhbCA9IF9m
NHUkdC5JRFNfVE9fQVRUUklCVVRFU1tpZF1bIm1heHZhbCJdOwogIHZhciBhZGRyZXNzID0gX2Y0
dSR0LklEU19UT19BVFRSSUJVVEVTW2lkXVsiYWRkcmVzcyJdOwoKICBpZiAoaXNOYU4oX2Y0dSR0
LklEU19UT19BVFRSSUJVVEVTW2lkXVsiYnVmZmVyIl0pKSB7CiAgICBfZjR1JHQuSURTX1RPX0FU
VFJJQlVURVNbaWRdWyJidWZmZXIiXSA9ICIiK19mNHUkdC5JRFNfVE9fQVRUUklCVVRFU1tpZF1b
ImluaXQiXTsKICB9CiAgdmFyIGMgPSBwYXJzZUZsb2F0KF9mNHUkdC5JRFNfVE9fQVRUUklCVVRF
U1tpZF1bImJ1ZmZlciJdKTsKICB2YXIgbGFiZWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChf
ZjR1JHQuX04pOwogIHZhciBub3cgPSBfZjR1JHQuYm91bmQoYywgbWludmFsLCBtYXh2YWwpOwog
IF9mNHUkdC5JRFNfVE9fQVRUUklCVVRFU1tpZF1bImJ1ZmZlciJdID0gIiIrbm93OwogIF9mNHUk
dC5jaGFuZ2VfbGFiZWxfdGV4dChsYWJlbCwgaWQpOwogIF9mNHUkdC5JRFNfVE9fQVRUUklCVVRF
U1tpZF1bImluaXQiXSA9IF9mNHUkdC5JRFNfVE9fQVRUUklCVVRFU1tpZF1bImJ1ZmZlciJdOyAv
LyBwcmV2ZW50cyBiYWQgc25hcHMgb2YgdmFsdWVzCgogIC8vIFVJMnBpYW5vCiAgX2Y0dSR0LmZh
dXN0aGFuZGxlcihhZGRyZXNzLCBub3cpOwoKICBfZjR1JHQuYWN0dWFsaXplX2luY3JlbWVudGFs
X29iamVjdChpZCk7Cn0KCl9mNHUkdC5idWZmZXJfYmFja3NwYWNlID0gZnVuY3Rpb24oKSB7CiAg
dmFyIGlkID0gX2Y0dSR0LnVuaXF1ZShfZjR1JHQuX04pOwogIGlmIChfZjR1JHQuSURTX1RPX0FU
VFJJQlVURVNbaWRdWyJidWZmZXIiXS5sZW5ndGggPT0gMCkgewogICAgcmV0dXJuIDA7CiAgfQog
IF9mNHUkdC5JRFNfVE9fQVRUUklCVVRFU1tpZF1bImJ1ZmZlciJdID0gX2Y0dSR0LklEU19UT19B
VFRSSUJVVEVTW2lkXVsiYnVmZmVyIl0uc3Vic3RyaW5nKDAsIF9mNHUkdC5JRFNfVE9fQVRUUklC
VVRFU1tpZF1bImJ1ZmZlciJdLmxlbmd0aCAtIDEpOwogIHZhciBsYWJlbCA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKF9mNHUkdC5fTik7CiAgX2Y0dSR0LmNoYW5nZV9sYWJlbF90ZXh0KGxhYmVs
LCBpZCk7Owp9CgpfZjR1JHQubWFrZV9kZWxldGVfa2V5X3dvcmsgPSBmdW5jdGlvbihlKSB7CiAg
aWYgKGUua2V5Q29kZSA9PSA4KSB7CiAgICBfZjR1JHQuYnVmZmVyX2JhY2tzcGFjZSgpOwogIH0K
fQoKX2Y0dSR0LmtleXNfdG9fc2luayA9IGZ1bmN0aW9uKGUpIHsKICBpZiAoX2Y0dSR0Ll9OID09
ICIiKSB7CiAgICByZXR1cm4gMDsKICB9CiAgdmFyIGlkID0gX2Y0dSR0LnVuaXF1ZShfZjR1JHQu
X04pOwogIGlmIChlLmtleUNvZGUgPT0gMTMpIHsKICAgIF9mNHUkdC5hY3R1YWxpemVfYnVmZmVy
KCk7CiAgICBfZjR1JHQuY2xvZ19rZXlfc2luaygpOwogICAgcmV0dXJuOwogIH0KICBlbHNlIHsK
ICAgIHZhciBrZXkgPSBlLmtleUNvZGU7CiAgICB2YXIgc3RyID0gU3RyaW5nLmZyb21DaGFyQ29k
ZShrZXkpCiAgICBfZjR1JHQuSURTX1RPX0FUVFJJQlVURVNbaWRdWyJidWZmZXIiXSArPSBzdHI7
CiAgfQogIHZhciBsYWJlbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKF9mNHUkdC5fTik7CiAg
X2Y0dSR0LmNoYW5nZV9sYWJlbF90ZXh0KGxhYmVsLCBpZCk7Owp9CgpfZjR1JHQubWFrZV9rZXlf
c2luayA9IGZ1bmN0aW9uKEkpIHsKICBpZiAoX2Y0dSR0LmFqYXhfcXVldWVfYnVzeSkgewogICAg
cmV0dXJuIGZhbHNlOwogIH0KICBfZjR1JHQuX04gPSAnZmF1c3RfdmFsdWVfdmFsdWVfJytJOwog
IF9mNHUkdC5JRFNfVE9fQVRUUklCVVRFU1tJXVsiYnVmZmVyIl0gPSAiIjsKICB2YXIgYm94ID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZhdXN0X3ZhbHVlX2JveF8iK0kpOwogIGJveC5zdHls
ZS5zdHJva2UgPSAicmVkIjsKICBfZjR1JHQuYWpheF9xdWV1ZV9idXN5ID0gdHJ1ZTsKICAvLyBi
ZWxvdyBpcyBhIGhhY2sgZm9yIHRleHQgaW5wdXRzIHRoYXQgc2hvdWxkIG9ubHkgYmUgYWN0aXZh
dGVkCiAgLy8gYWZ0ZXIgc29tZSB3b3JrIGlzIGRvbmUgdG8gZmlndXJlIG91dCBob3cgdG8gcHJl
dmVudCBhdXRvIHpvb21pbmcKICAvLyBpbiBtb2JpbGUgZGV2aWNlcwogIC8vZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoJ2ZhdXN0LXRleHQtaW5wdXQtZHVtbXknKS5mb2N1cygpOwp9CgpfZjR1JHQu
Z2VuZXJpY19rZXlfc2luayA9IGZ1bmN0aW9uKEkpIHsKICB2YXIgaWQgPSBfZjR1JHQudW5pcXVl
KEkpOwogIF9mNHUkdC5tYWtlX2tleV9zaW5rKGlkKTsKICBfZjR1JHQuX0kgPSB7fTsKICBfZjR1
JHQuYWN0aXZlX2FkZHJlc3NlcyA9IFtdOwp9CgpfZjR1JHQuaHNsaWRlcl9rZXlfc2luayA9IGZ1
bmN0aW9uKEkpIHsKICBfZjR1JHQuZ2VuZXJpY19rZXlfc2luayhJKTsKfQoKX2Y0dSR0LnZzbGlk
ZXJfa2V5X3NpbmsgPSBmdW5jdGlvbihJKSB7CiAgX2Y0dSR0LmdlbmVyaWNfa2V5X3NpbmsoSSk7
Cn0KCl9mNHUkdC5yb3RhdGluZ19idXR0b25fa2V5X3NpbmsgPSBmdW5jdGlvbihJKSB7CiAgX2Y0
dSR0LmdlbmVyaWNfa2V5X3NpbmsoSSk7Cn0KCl9mNHUkdC5uZW50cnlfa2V5X3NpbmsgPSBmdW5j
dGlvbihJKSB7CiAgX2Y0dSR0LmdlbmVyaWNfa2V5X3NpbmsoSSk7Cn0KCi8vIGlmIGEgbnVtZXJp
Y2FsIGVudHJ5IGlzIGxpbmtlZCB0byBhbiBpbmNyZW1lbnRhbCBvYmplY3QsCi8vIGFjdHVhbGl6
ZSBpdAoKX2Y0dSR0LmFjdHVhbGl6ZV9pbmNyZW1lbnRhbF9vYmplY3QgPSBmdW5jdGlvbihpZCkg
ewogIHZhciBoc2xpZGVyX2lkID0gImZhdXN0X2hzbGlkZXJfaGFuZGxlXyIraWQ7CiAgdmFyIHZz
bGlkZXJfaWQgPSAiZmF1c3RfdnNsaWRlcl9oYW5kbGVfIitpZDsKICB2YXIgcm90YXRpbmdfYnV0
dG9uX2lkID0gImZhdXN0X3JidXR0b25faGFuZGxlXyIraWQ7CiAgdmFyIGhiYXJncmFwaF9pZCA9
ICJmYXVzdF9oYmFyZ3JhcGhfY3VydGFpbl8iK2lkOwogIHZhciB2YmFyZ3JhcGhfaWQgPSAiZmF1
c3RfdmJhcmdyYXBoX2N1cnRhaW5fIitpZDsKICB2YXIgdmFsID0gcGFyc2VGbG9hdChfZjR1JHQu
SURTX1RPX0FUVFJJQlVURVNbaWRdWyJidWZmZXIiXSk7CiAgdmFyIG1heWJlX3NsaWRlciA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKGhzbGlkZXJfaWQpOwogIGlmIChtYXliZV9zbGlkZXIgPT0g
bnVsbCkgewogICAgbWF5YmVfc2xpZGVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodnNsaWRl
cl9pZCk7CiAgfQogIHZhciBtYXliZV9idXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChy
b3RhdGluZ19idXR0b25faWQpOwogIHZhciBtYXliZV9iYXJncmFwaCA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKGhiYXJncmFwaF9pZCk7CiAgaWYgKG1heWJlX2JhcmdyYXBoID09IG51bGwpIHsK
ICAgIG1heWJlX2JhcmdyYXBoID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodmJhcmdyYXBoX2lk
KTsKICB9CiAgaWYgKG1heWJlX3NsaWRlciAhPSBudWxsKSB7CiAgICAvLyB1Z2guLi5jb2RlIGR1
cHMKICAgIHZhciBtaW52YWwgPSBfZjR1JHQuSURTX1RPX0FUVFJJQlVURVNbaWRdWyJtaW52YWwi
XTsKICAgIHZhciBtYXh2YWwgPSBfZjR1JHQuSURTX1RPX0FUVFJJQlVURVNbaWRdWyJtYXh2YWwi
XTsKICAgIHZhciBsZW5ndGggPSBfZjR1JHQuSURTX1RPX0FUVFJJQlVURVNbaWRdWyJsZW5ndGgi
XTsKICAgIHZhciBzbGlkZXJsZW4gPSBfZjR1JHQuSURTX1RPX0FUVFJJQlVURVNbaWRdWyJzbGlk
ZXJsZW4iXTsKICAgIHZhciBheGlzID0gX2Y0dSR0LklEU19UT19BVFRSSUJVVEVTW2lkXVsiYXhp
cyJdOwogICAgdmFsID0gX2Y0dSR0W19mNHUkdC54eShheGlzLCAicmVtYXAiLCAicmVtYXBfYW5k
X2ZsaXAiKV0odmFsLCBtaW52YWwsIG1heHZhbCwgMCwgbGVuZ3RoIC0gc2xpZGVybGVuKTsKICAg
IHZhciB0cmFuc2Zvcm0gPSBfZjR1JHQudHJhbnNmb3JtX3RvX2FycmF5KG1heWJlX3NsaWRlci5n
ZXRBdHRyaWJ1dGUoInRyYW5zZm9ybSIpKTsKICAgIHRyYW5zZm9ybVswXVtheGlzICsgMV0gPSB2
YWw7CiAgICBfZjR1JHQucmVkcmF3X3NsaWRlcl9ncm9vdmUoCiAgICAgIGlkLAogICAgICBheGlz
LAogICAgICBsZW5ndGgsCiAgICAgIHZhbCAvIGxlbmd0aAogICAgKTsKICAgIHZhciBtb3ZldG90
aGlzID0gX2Y0dSR0LmFycmF5X3RvX3RyYW5zZm9ybSh0cmFuc2Zvcm0pOwogICAgbWF5YmVfc2xp
ZGVyLnNldEF0dHJpYnV0ZSgidHJhbnNmb3JtIiwgbW92ZXRvdGhpcyk7CiAgICByZXR1cm4gMDsK
ICB9CiAgZWxzZSBpZiAobWF5YmVfYnV0dG9uICE9IG51bGwpIHsKICAgIHZhciBtaW52YWwgPSBf
ZjR1JHQuSURTX1RPX0FUVFJJQlVURVNbaWRdWyJtaW52YWwiXTsKICAgIHZhciBtYXh2YWwgPSBf
ZjR1JHQuSURTX1RPX0FUVFJJQlVURVNbaWRdWyJtYXh2YWwiXTsKICAgIHZhciBpbml0YW5nbGUg
PSBfZjR1JHQuSURTX1RPX0FUVFJJQlVURVNbaWRdWyJpbml0YW5nbGUiXTsKICAgIHZhciBzd2Vl
cGFuZ2xlID0gX2Y0dSR0LklEU19UT19BVFRSSUJVVEVTW2lkXVsic3dlZXBhbmdsZSJdOwogICAg
dmFsID0gX2Y0dSR0LnJlbWFwKHZhbCwgbWludmFsLCBtYXh2YWwsIGluaXRhbmdsZSwgaW5pdGFu
Z2xlICsgc3dlZXBhbmdsZSk7CiAgICB2YXIgdHJhbnNmb3JtID0gX2Y0dSR0LnRyYW5zZm9ybV90
b19hcnJheShtYXliZV9idXR0b24uZ2V0QXR0cmlidXRlKCJ0cmFuc2Zvcm0iKSk7CiAgICB0cmFu
c2Zvcm1bMl1bMV0gPSB2YWw7CiAgICBpZiAoc3dlZXBhbmdsZSAhPSAzNjApIHsKICAgICAgX2Y0
dSR0LnJlZHJhd1JvdGF0aW5nQnV0dG9uTWV0ZXIoCiAgICAgICAgaWQsCiAgICAgICAgX2Y0dSR0
LklEU19UT19BVFRSSUJVVEVTW2lkXVsiaW5pdGFuZ2xlIl0sCiAgICAgICAgX2Y0dSR0LklEU19U
T19BVFRSSUJVVEVTW2lkXVsic3dlZXBhbmdsZSJdLAogICAgICAgIF9mNHUkdC5JRFNfVE9fQVRU
UklCVVRFU1tpZF1bInJhZGl1cyJdLAogICAgICAgIF9mNHUkdC5JRFNfVE9fQVRUUklCVVRFU1tp
ZF1bImtub2JwZXJjZW50YWdlIl0sCiAgICAgICAgdHJhbnNmb3JtWzJdWzFdCiAgICAgICk7CiAg
ICB9CiAgICB2YXIgbW92ZXRvdGhpcyA9IF9mNHUkdC5hcnJheV90b190cmFuc2Zvcm0odHJhbnNm
b3JtKTsKICAgIG1heWJlX2J1dHRvbi5zZXRBdHRyaWJ1dGUoInRyYW5zZm9ybSIsIG1vdmV0b3Ro
aXMpOwogICAgcmV0dXJuIDA7CiAgfQogIGVsc2UgaWYgKG1heWJlX2JhcmdyYXBoICE9IG51bGwp
IHsKICAgIC8vIHVnaC4uLmNvZGUgZHVwcwogICAgdmFyIG1pbnZhbCA9IF9mNHUkdC5JRFNfVE9f
QVRUUklCVVRFU1tpZF1bIm1pbnZhbCJdOwogICAgdmFyIG1heHZhbCA9IF9mNHUkdC5JRFNfVE9f
QVRUUklCVVRFU1tpZF1bIm1heHZhbCJdOwogICAgdmFyIGF4aXMgPSBfZjR1JHQuSURTX1RPX0FU
VFJJQlVURVNbaWRdWyJheGlzIl07CiAgICB2YXIgd2Vha2F4aXMgPSBfZjR1JHQuSURTX1RPX0FU
VFJJQlVURVNbaWRdWyJ3ZWFrYXhpcyJdOwogICAgdmFyIHN0cm9uZ2F4aXMgPSBfZjR1JHQuSURT
X1RPX0FUVFJJQlVURVNbaWRdWyJzdHJvbmdheGlzIl07CiAgICB2YWwgPSBfZjR1JHRbX2Y0dSR0
Lnh5KGF4aXMsICJyZW1hcF9hbmRfZmxpcCIsICJyZW1hcF9hbmRfZmxpcCIpXSh2YWwsIG1pbnZh
bCwgbWF4dmFsLCAwLCBzdHJvbmdheGlzKTsKICAgIHZhbCA9IF9mNHUkdC5ib3VuZCh2YWwsIDAs
IHN0cm9uZ2F4aXMpOwogICAgLyoKICAgIC8vIGZvciBwYXRocy4uLgogICAgdmFyIG5ld2QgPSBf
ZjR1JHQueHkoCiAgICAgIGF4aXMsCiAgICAgICdNIDAgMEwnK3ZhbCsnIDBMJyt2YWwrJyAnK3dl
YWtheGlzKydMMCAnK3dlYWtheGlzKydMMCAwJywKICAgICAgJ00gMCAnK3N0cm9uZ2F4aXMrJ0wn
K3dlYWtheGlzKycgJytzdHJvbmdheGlzKydMJyt3ZWFrYXhpcysnICcrdmFsKydMMCAnK3ZhbCsn
TDAgJytzdHJvbmdheGlzCiAgICApOwogICAgbWF5YmVfYmFyZ3JhcGguc2V0QXR0cmlidXRlKCJk
IiwgbmV3ZCk7CiAgICAqLwogICAgbWF5YmVfYmFyZ3JhcGguc2V0QXR0cmlidXRlKCJ3aWR0aCIs
IE1hdGgubWF4KDAsX2Y0dSR0Lnh5KGF4aXMsIHZhbCwgd2Vha2F4aXMpKSk7CiAgICBtYXliZV9i
YXJncmFwaC5zZXRBdHRyaWJ1dGUoImhlaWdodCIsIE1hdGgubWF4KDAsIF9mNHUkdC54eShheGlz
LCB3ZWFrYXhpcywgdmFsKSkpOwogICAgcmV0dXJuIDA7CiAgfQogIC8vIG5vIGNvcnJlc3BvbmRp
bmcgaW5jcmVtZW50YWwgb2JqZWN0CiAgcmV0dXJuIDA7Cn0KCgovKgogRE9DVU1FTlQtV0lERSBE
RUNMQVJBVElPTlMKKi8KX2Y0dSR0LmFsZXJ0ID0gZnVuY3Rpb24gKCkgeyBhbGVydCgibW92ZWQi
KTsgfQpkb2N1bWVudC5vbmtleXByZXNzID0gX2Y0dSR0LmtleXNfdG9fc2luazsKZG9jdW1lbnQu
b25rZXlkb3duID0gX2Y0dSR0Lm1ha2VfZGVsZXRlX2tleV93b3JrOwpkb2N1bWVudC5vbm1vdXNl
dXAgPSBfZjR1JHQuY2xlYXJJZENhY2hlOwpkb2N1bWVudC5vbm1vdXNlbW92ZSA9IF9mNHUkdC5t
b3ZlX2FjdGl2ZV9vYmplY3Q7CmRvY3VtZW50Lm9udG91Y2hlbmQgPSBfZjR1JHQuY2xlYXJJZENh
Y2hlOwpkb2N1bWVudC5vbnRvdWNobW92ZSA9IF9mNHUkdC5tb3ZlX2FjdGl2ZV9vYmplY3Q7Cndp
bmRvdy5vbmRldmljZW9yaWVudGF0aW9uID0gX2Y0dSR0LnJlc3BvbmRUb09yaWVudGF0aW9uQ2hh
bmdlOwovLyBtYWtlIHRoZSBlbnRpcmUgZG9jdW1lbnQgY2xpY2thYmxlIGZvciBtb2JpbGUgZGV2
aWNlcwpkb2N1bWVudC5vbmNsaWNrID0gX2Y0dSR0LmRldm51bGw7IAovKioKIEVhY2ggYXVkaW8g
YnJpZGdlIHJlcG9ydHMgYSBjYWxsYmFjayB0aGF0IHRoZSBsaXN0ZW5lciBjYWxscyB3aXRoIGFu
IGFkZHJlc3Mgb2YKIGEgVUkgb2JqZWN0IGFuZCB0aGUgdmFsdWUgaXQgaXMgY2hhbmdpbmcgdG8u
ICBUaGUgYnJpZGdlIGlzIHJlc29uc2libGUgZm9yCiB1c2luZyB0aGlzIGluZm9ybWF0aW9uIGlu
IGEgdXNlZnVsIHdheSAoc2VuZGluZyBpdCB0byBhIHNlcnZlciwgdG8gYQogSmF2YVNjcmlwdCBv
YmplY3QsIGV0Yy4pLgoKQHByb3BlcnR5IEhBTkRMRVJfQ0FMTEJBQ0tTCkBmb3IgX2Y0dSR0CkB0
eXBlIEFycmF5CkBkZWZhdWx0IFtdCioqLwpfZjR1JHQuSEFORExFUl9DQUxMQkFDS1MgPSBbXTsK
Ci8qKgogVHJpZ2dlcnMgYWxsIGNhbGxiYWNrcy4KCkBtZXRob2QgZmF1c3RoYW5kbGVyCkBmb3Ig
X2Y0dSR0CkBzdGF0aWMKQHBhcmFtIHtTdHJpbmd9IGRlc3QgVGhlIGRlc3RpbmF0aW9uIGFkZHJl
c3MKQHBhcmFtIHtOdW1iZXJ9IHZhbHVlIFRoZSB2YWx1ZSBhdCB0aGF0IGFkZHJlc3MuCioqLwoK
X2Y0dSR0LmZhdXN0aGFuZGxlciA9IGZ1bmN0aW9uKGRlc3QsIHZhbHVlKSB7CiAgZm9yICh2YXIg
aSA9IDA7IGkgPCBfZjR1JHQuSEFORExFUl9DQUxMQkFDS1MubGVuZ3RoOyBpKyspIHsKICAgIF9m
NHUkdC5IQU5ETEVSX0NBTExCQUNLU1tpXShkZXN0LCB2YWx1ZSk7CiAgfQp9CgovLyBGdW5jdGlv
bnMgdG8gdXBkYXRlIFVJIHZpYSB3aGF0J3MgaGFwcGVuaW5nIGludGVybmFsbHkgaW4gdGhlIGF1
ZGlvCi8vIHByb2Nlc3NpbmcuCgpfZjR1JHQudXBkYXRlX2luY3JlbWVudGFsX29iamVjdF92YWx1
ZSA9IGZ1bmN0aW9uKGFkZHJlc3MsIHZhbHVlKSB7CiAgIHZhciBpZCA9IF9mNHUkdC5QQVRIU19U
T19JRFNbYWRkcmVzc107CiAgX2Y0dSR0LmR1bWJfbGFiZWxfdXBkYXRlKF9mNHUkdC51bmlxdWUo
aWQpLCB2YWx1ZSk7CiAgX2Y0dSR0LmFjdHVhbGl6ZV9pbmNyZW1lbnRhbF9vYmplY3QoX2Y0dSR0
LnVuaXF1ZShpZCkpOwp9CgpfZjR1JHQudXBkYXRlX2hzbGlkZXJfdmFsdWUgPSBmdW5jdGlvbihh
ZGRyZXNzLCB2YWx1ZSkgewogIF9mNHUkdC51cGRhdGVfaW5jcmVtZW50YWxfb2JqZWN0X3ZhbHVl
KGFkZHJlc3MsIHZhbHVlKTsKfQoKX2Y0dSR0LnVwZGF0ZV92c2xpZGVyX3ZhbHVlID0gZnVuY3Rp
b24oYWRkcmVzcywgdmFsdWUpIHsKICBfZjR1JHQudXBkYXRlX2luY3JlbWVudGFsX29iamVjdF92
YWx1ZShhZGRyZXNzLCB2YWx1ZSk7Cn0KCl9mNHUkdC51cGRhdGVfaGJhcmdyYXBoX3ZhbHVlID0g
ZnVuY3Rpb24oYWRkcmVzcywgdmFsdWUpIHsKICBfZjR1JHQudXBkYXRlX2luY3JlbWVudGFsX29i
amVjdF92YWx1ZShhZGRyZXNzLCB2YWx1ZSk7Cn0KCl9mNHUkdC51cGRhdGVfdmJhcmdyYXBoX3Zh
bHVlID0gZnVuY3Rpb24oYWRkcmVzcywgdmFsdWUpIHsKICBfZjR1JHQudXBkYXRlX2luY3JlbWVu
dGFsX29iamVjdF92YWx1ZShhZGRyZXNzLCB2YWx1ZSk7Cn0KCl9mNHUkdC51cGRhdGVfcmJ1dHRv
bl92YWx1ZSA9IGZ1bmN0aW9uKGFkZHJlc3MsIHZhbHVlKSB7CiAgX2Y0dSR0LnVwZGF0ZV9pbmNy
ZW1lbnRhbF9vYmplY3RfdmFsdWUoYWRkcmVzcywgdmFsdWUpOwp9CgpfZjR1JHQudXBkYXRlX25l
bnRyeV92YWx1ZSA9IGZ1bmN0aW9uKGFkZHJlc3MsIHZhbHVlKSB7CiAgIHZhciBpZCA9IF9mNHUk
dC5QQVRIU19UT19JRFNbYWRkcmVzc107CiAgX2Y0dSR0LmR1bWJfbGFiZWxfdXBkYXRlKGlkLCB2
YWx1ZSk7Cn0KCl9mNHUkdC51cGRhdGVfY2hlY2tib3hfdmFsdWUgPSBmdW5jdGlvbihhZGRyZXNz
LCB2YWx1ZSkgewogIC8vIHBlcmhhcHMgdG9vIG11Y2ggVUkgaGVyZT8KICB2YXIgaWQgPSBfZjR1
JHQuUEFUSFNfVE9fSURTW2FkZHJlc3NdOwogIC8vIGZvciBsYXRlbmN5IGlzc3Vlcy4uLnNlZW1z
IG5vdCB0byBkbyBhbnl0aGluZywgc28gY29tbWVudGVkIG91dAogIC8qaWYgKG5vdyAtIF9mNHUk
dC5JRFNfVE9fQVRUUklCVVRFU1tpZF1bInRpbWUiXSA8IDIwMDApIHsKICAgIHJldHVybjsKICB9
Ki8KICB2YXIgY2hlY2sgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZmF1c3RfY2hlY2tib3hf
Y2hlY2tfJytpZCk7CiAgY2hlY2suc3R5bGUub3BhY2l0eSA9IHZhbHVlOwp9CgpfZjR1JHQudXBk
YXRlX2J1dHRvbl92YWx1ZSA9IGZ1bmN0aW9uKGFkZHJlc3MsIHZhbHVlKSB7CiAgdmFyIGlkID0g
X2Y0dSR0LlBBVEhTX1RPX0lEU1thZGRyZXNzXTsKICBpZiAodmFsdWUgPT0gMSkgewogICAgX2Y0
dSR0LmJ1dHRvbl9maWxsX2NoYW5nZXIoaWQsIHRydWUpOwogIH0gZWxzZSB7CiAgICBfZjR1JHQu
YnV0dG9uX2ZpbGxfY2hhbmdlcihpZCwgZmFsc2UpOwogIH0KfQoKX2Y0dSR0LnVwZGF0ZV92YWx1
ZV9hdF9hZGRyZXNzID0gZnVuY3Rpb24oYWRkcmVzcywgdmFsdWUpIHsKICB2YXIgaWQgPSBfZjR1
JHQuUEFUSFNfVE9fSURTW2FkZHJlc3NdOwogIHZhciBraW5kID0gX2Y0dSR0LklEU19UT19BVFRS
SUJVVEVTW2lkXSA/IF9mNHUkdC5JRFNfVE9fQVRUUklCVVRFU1tpZF0udHlwZSA6IG51bGwgOwog
IGlmIChraW5kID09ICd2c2xpZGVyJykgeyBfZjR1JHQudXBkYXRlX3ZzbGlkZXJfdmFsdWUoYWRk
cmVzcywgdmFsdWUpOyB9CiAgZWxzZSBpZiAoa2luZCA9PSAnaHNsaWRlcicpIHsgX2Y0dSR0LnVw
ZGF0ZV9oc2xpZGVyX3ZhbHVlKGFkZHJlc3MsIHZhbHVlKTsgfQogIGVsc2UgaWYgKGtpbmQgPT0g
J3JidXR0b24nKSB7IF9mNHUkdC51cGRhdGVfcmJ1dHRvbl92YWx1ZShhZGRyZXNzLCB2YWx1ZSk7
IH0KICBlbHNlIGlmIChraW5kID09ICdjaGVja2JveCcpIHsgX2Y0dSR0LnVwZGF0ZV9jaGVja2Jv
eF92YWx1ZShhZGRyZXNzLCB2YWx1ZSk7IH0KICBlbHNlIGlmIChraW5kID09ICdidXR0b24nKSB7
IF9mNHUkdC51cGRhdGVfYnV0dG9uX3ZhbHVlKGFkZHJlc3MsIHZhbHVlKTsgfQogIGVsc2UgaWYg
KGtpbmQgPT0gJ25lbnRyeScpIHsgX2Y0dSR0LnVwZGF0ZV9uZW50cnlfdmFsdWUoYWRkcmVzcywg
dmFsdWUpOyB9CiAgZWxzZSBpZiAoa2luZCA9PSAndmJhcmdyYXBoJykgeyBfZjR1JHQudXBkYXRl
X3ZiYXJncmFwaF92YWx1ZShhZGRyZXNzLCB2YWx1ZSk7IH0KICBlbHNlIGlmIChraW5kID09ICdo
YmFyZ3JhcGgnKSB7IF9mNHUkdC51cGRhdGVfaGJhcmdyYXBoX3ZhbHVlKGFkZHJlc3MsIHZhbHVl
KTsgfQogIGVsc2UgeyBpZiAoMCkgeyBjb25zb2xlLmxvZygiVW5pZGVudGlmaWVkIEZhdXN0IE9i
amVjdCAoVUZPKSAiK2lkKyIgIitraW5kKTsgfX0KfQogCgovLy0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
Ci8vIGhhbmRsZXJzIHRvIHNlbmQgYSBmYXVzdCAnc2V0JyBtZXNzYWdlCi8vIGFjdHVhbGx5IHVz
aW5nIGEgJ0dFVCcgbWV0aG9kCi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KX2Y0dSR0LmZhdXN0X3Nl
cnZlcl9oYW5kbGVyID0gZnVuY3Rpb24oZGVzdCwgdmFsdWUpIHsKICBpZiAoIV9mNHUkdC5hamF4
X3F1ZXVlW2Rlc3RdKSB7CiAgICBfZjR1JHQuYWpheF9xdWV1ZVtkZXN0XSA9IFtdOwogIH0KICBf
ZjR1JHQuYWpheF9xdWV1ZVtkZXN0XS5wdXNoKHtyZXF1ZXN0IDogZGVzdCArIj92YWx1ZT0iICsg
dmFsdWUsIHRpbWUgOiBuZXcgRGF0ZSgpLmdldFRpbWUoKX0pOwp9CgovLy0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tCi8vIHBvbGwgY3VycmVudCB2YWx1ZXMgZnJvbSB0aGUgc2VydmVyCi8vLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0KCl9mNHUkdC5kaXNwYXRjaCA9IGZ1bmN0aW9uKGRhdGEpIHsKICB2YXIgbGlu
ZXMgPSBkYXRhLnNwbGl0KCdcbicpOwogIHZhciBsaW1pdCA9IGxpbmVzLmxlbmd0aDsKICBmb3Ig
KGk9MDsgaSA8IGxpbWl0OyBpKyspIHsKICAgIHZhciB2YWx1ZXMgPSBsaW5lc1tpXS5zcGxpdCgn
ICcpOwogICAgaWYgKHZhbHVlcy5sZW5ndGggPiAxKSB7CiAgICAgIHZhciBhZGRyZXNzID0gdmFs
dWVzWzBdOwogICAgICAvLyBza2lwIHRoaW5ncyBiZWluZyBtb3ZlZCB0byBhdm9pZCBpbnRlcmZl
cmVuY2UKICAgICAgaWYgKF9mNHUkdC5hY3RpdmVfYWRkcmVzc2VzLmluZGV4T2YoYWRkcmVzcykg
IT0gLTEpIHsKICAgICAgICBjb250aW51ZTsKICAgICAgfQogICAgICB2YXIgdmFsdWUgPSBNYXRo
LnJvdW5kKHZhbHVlc1sxXSoxMDAwMCkvMTAwMDA7CiAgICAgIF9mNHUkdC51cGRhdGVfdmFsdWVf
YXRfYWRkcmVzcyhhZGRyZXNzLCB2YWx1ZSk7CiAgICB9CiAgfQp9CgpfZjR1JHQuYWpheF9xdWV1
ZV9sZW5ndGggPSBmdW5jdGlvbigpIHsKICB2YXIgbCA9IDA7CiAgZm9yICh2YXIga2V5IGluIF9m
NHUkdC5hamF4X3F1ZXVlKSB7CiAgICBmb3IgKHZhciBpID0gMDsgaSA8IF9mNHUkdC5hamF4X3F1
ZXVlW2tleV0ubGVuZ3RoOyBpKyspIHsKICAgICAgbCArPSAxOwogICAgfQogIH0KICByZXR1cm4g
bDsKfQoKX2Y0dSR0LmFqYXhfcXVldWVfZ2V0X3JlcXVlc3RfYW5kX3RyaW0gPSBmdW5jdGlvbiAo
KSB7CiAgdmFyIHQgPSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFk7CiAgdmFyIHJlcXVlc3QgPSAn
JzsKICB2YXIgbXlrZXkgPSAnJzsKICBmb3IgKHZhciBrZXkgaW4gX2Y0dSR0LmFqYXhfcXVldWUp
IHsKICAgIGZvciAodmFyIGkgPSAwOyBpIDwgX2Y0dSR0LmFqYXhfcXVldWVba2V5XS5sZW5ndGg7
IGkrKykgewogICAgICBpZiAoX2Y0dSR0LmFqYXhfcXVldWVba2V5XVtpXS50aW1lIDwgdCkgewog
ICAgICAgIHQgPSBfZjR1JHQuYWpheF9xdWV1ZVtrZXldW2ldLnRpbWU7CiAgICAgICAgcmVxdWVz
dCA9IF9mNHUkdC5hamF4X3F1ZXVlW2tleV1baV0ucmVxdWVzdDsKICAgICAgICBteWtleSA9IGtl
eTsKICAgICAgfQogICAgfQogICAgLy8gYWx3YXlzIHRyaW0KICAgIF9mNHUkdC5hamF4X3F1ZXVl
W2tleV0gPSBfZjR1JHQuYWpheF9xdWV1ZVtrZXldLnNsaWNlKDAsTWF0aC5taW4oNSxfZjR1JHQu
YWpheF9xdWV1ZVtrZXldLmxlbmd0aCkpOwogIH0KICAvLyB0cmltIGZpcnN0IHJlcXVlc3Qgb2Zm
IG9mIHN1Y2Nlc3NmdWwgYXJyYXkKICBfZjR1JHQuYWpheF9xdWV1ZVtteWtleV0gPSBfZjR1JHQu
YWpheF9xdWV1ZVtteWtleV0uc2xpY2UoMSxNYXRoLm1pbig1LF9mNHUkdC5hamF4X3F1ZXVlW2tl
eV0ubGVuZ3RoKSk7CiAgcmV0dXJuIHJlcXVlc3Q7Cn0KCi8vIFdlIHVwZGF0ZSB0aGUgdXNlciBp
bnRlcmZhY2UgYnkgcG9sbGluZyB0aGUgc2VydmVyIGV2ZXJ5IDQwIG1zCi8vIEJ1dCB0aGlzIGlz
IGRvbmUgb25seSB3aGVuIG5vIHVwZGF0ZXMgYXJlIHBlbmRpbmcgZm9yIHRoZSBzZXJ2ZXIKX2Y0
dSR0Lm1haW5fbG9vcCA9IGZ1bmN0aW9uKCkgewogIGlmICgoX2Y0dSR0LmFqYXhfcXVldWVfbGVu
Z3RoKCkgPiAwKSB8fCBfZjR1JHQuYWpheF9xdWV1ZV9idXN5KSB7CiAgICAvLyB3ZSBoYXZlIHBl
bmRpbmcgdXBkYXRlcyB0byBzZW5kIHRvIHRoZSBzZXJ2ZXIKICAgIC8vX2Y0dSR0LmFqYXhfcXVl
dWVfYnVzeSA9IHRydWU7CiAgICB2YXIgcmVxdWVzdCA9IF9mNHUkdC5hamF4X3F1ZXVlX2dldF9y
ZXF1ZXN0X2FuZF90cmltKCk7CiAgICAkLmdldChyZXF1ZXN0KQogICAgICAuZG9uZShmdW5jdGlv
biAoKSB7CiAgICAgICAgLy9jb25zb2xlLmxvZygicmVxdWVzdCBzdWNjZWVkZWQiLCByZXF1ZXN0
KTsKICAgICAgICBfZjR1JHQubWFpbl9sb29wKCk7CiAgICAgIH0pCiAgICAgIC5mYWlsKGZ1bmN0
aW9uICgpIHsKICAgICAgICBjb25zb2xlLmxvZygicmVxdWVzdCBmYWlsZWQiLCByZXF1ZXN0KTsK
ICAgICAgICBfZjR1JHQubWFpbl9sb29wKCk7CiAgICAgIH0pOy8qCiAgICAgIC5hbHdheXMoZnVu
Y3Rpb24gKCkgewogICAgICAgIGNvbnNvbGUubG9nKCJyZXF1ZXN0IHBhc3NlZCIsIHJlcXVlc3Qp
OwogICAgICB9KTsqLwogIH0gZWxzZSB7CiAgICAvLyByZWd1bGFyIHBvbGxpbmcKICAgIF9mNHUk
dC5hamF4X3F1ZXVlX2J1c3kgPSBmYWxzZTsKICAgICQuZ2V0KF9mNHUkdC5ST09ULCBmdW5jdGlv
bihkYXRhKSB7IF9mNHUkdC5kaXNwYXRjaCggZGF0YSApOyB9ICk7CiAgICBzZXRUaW1lb3V0ICgg
ZnVuY3Rpb24oKSB7IF9mNHUkdC5tYWluX2xvb3AoKTsgfSwgNDApOwogIH0JCQp9CgokKGRvY3Vt
ZW50KS5yZWFkeShmdW5jdGlvbigpIHsgX2Y0dSR0Lm1haW5fbG9vcCgpOyB9KTsKLyoKZmF1c3Qy
d2ViYXVkaW8KClByaW1hcmlseSB3cml0dGVuIGJ5IE15bGVzIEJvcmlucwpEdXJpbmcgdGhlIFNw
cmluZyAyMDEzIG9mZmVyaW5nIG9mIE11c2ljIDQyMGIgd2l0aCBKdWxpdXMgU21pdGgKQSBiaXQg
ZHVyaW5nIHRoZSBTdW1tZXIgb2YgMjAxMyB3aXRoIHRoZSBoZWxwIG9mIEpvc2h1YSBLaXQgQ2xh
eXRvbgpBbmQgZmluYWxseSBhIHNwcmludCBkdXJpbmcgdGhlIGxhdGUgZmFsbCBvZiAyMDEzIHRv
IGdldCBldmVyeXRoaW5nIHdvcmtpbmcKQSBTcGVjaWFsIHRoYW5rcyB0byBZYW5uIE9ybGFyZXkg
YW5kIFN0w6lwaGFuZSBMZXR6CgpmYXVzdDJ3ZWJhdWRpbyBpcyBkaXN0cmlidXRlZCB1bmRlciB0
aGUgdGVybXMgdGhlIE1JVCBvciBHUEwyIExpY2Vuc2VzLgpDaG9vc2UgdGhlIGxpY2Vuc2UgdGhh
dCBiZXN0IHN1aXRzIHlvdXIgcHJvamVjdC4gVGhlIHRleHQgb2YgdGhlIE1JVCBhbmQgR1BMCmxp
Y2Vuc2VzIGFyZSBhdCB0aGUgcm9vdCBkaXJlY3RvcnkuCgpBZGRpdGlvbmFsIGNvZGUgOiBHUkFN
RSAyMDE0CiAKKi8KCi8qZ2xvYmFsIHdlYmtpdEF1ZGlvQ29udGV4dCwgTW9kdWxlLCBIRUFQRjMy
LCBIRUFQMzIsIFBvaW50ZXJfc3RyaW5naWZ5LCBBTExPQ19TVEFDSywgaW50QXJyYXlGcm9tU3Ry
aW5nLCBhbGxvY2F0ZSovCgp2YXIgZmF1c3QgPSBmYXVzdCB8fCB7fTsKCi8vIFNoaW0gQXVkaW9D
b250ZXh0IG9uIHdlYmtpdAp3aW5kb3cuQXVkaW9Db250ZXh0ID0gd2luZG93LkF1ZGlvQ29udGV4
dCB8fCB3aW5kb3cud2Via2l0QXVkaW9Db250ZXh0IHx8IHVuZGVmaW5lZDsKCihmdW5jdGlvbiAo
KSB7CgoKLy8gVGhlIE1vZHVsZSBvYmplY3Q6IE91ciBpbnRlcmZhY2UgdG8gdGhlIG91dHNpZGUg
d29ybGQuIFdlIGltcG9ydAovLyBhbmQgZXhwb3J0IHZhbHVlcyBvbiBpdCwgYW5kIGRvIHRoZSB3
b3JrIHRvIGdldCB0aGF0IHRocm91Z2gKLy8gY2xvc3VyZSBjb21waWxlciBpZiBuZWNlc3Nhcnku
IFRoZXJlIGFyZSB2YXJpb3VzIHdheXMgTW9kdWxlIGNhbiBiZSB1c2VkOgovLyAxLiBOb3QgZGVm
aW5lZC4gV2UgY3JlYXRlIGl0IGhlcmUKLy8gMi4gQSBmdW5jdGlvbiBwYXJhbWV0ZXIsIGZ1bmN0
aW9uKE1vZHVsZSkgeyAuLmdlbmVyYXRlZCBjb2RlLi4gfQovLyAzLiBwcmUtcnVuIGFwcGVuZGVk
IGl0LCB2YXIgTW9kdWxlID0ge307IC4uZ2VuZXJhdGVkIGNvZGUuLgovLyA0LiBFeHRlcm5hbCBz
Y3JpcHQgdGFnIGRlZmluZXMgdmFyIE1vZHVsZS4KLy8gV2UgbmVlZCB0byBkbyBhbiBldmFsIGlu
IG9yZGVyIHRvIGhhbmRsZSB0aGUgY2xvc3VyZSBjb21waWxlcgovLyBjYXNlLCB3aGVyZSB0aGlz
IGNvZGUgaGVyZSBpcyBtaW5pZmllZCBidXQgTW9kdWxlIHdhcyBkZWZpbmVkCi8vIGVsc2V3aGVy
ZSAoZS5nLiBjYXNlIDQgYWJvdmUpLiBXZSBhbHNvIG5lZWQgdG8gY2hlY2sgaWYgTW9kdWxlCi8v
IGFscmVhZHkgZXhpc3RzIChlLmcuIGNhc2UgMyBhYm92ZSkuCi8vIE5vdGUgdGhhdCBpZiB5b3Ug
d2FudCB0byBydW4gY2xvc3VyZSwgYW5kIGFsc28gdG8gdXNlIE1vZHVsZQovLyBhZnRlciB0aGUg
Z2VuZXJhdGVkIGNvZGUsIHlvdSB3aWxsIG5lZWQgdG8gZGVmaW5lICAgdmFyIE1vZHVsZSA9IHt9
OwovLyBiZWZvcmUgdGhlIGNvZGUuIFRoZW4gdGhhdCBvYmplY3Qgd2lsbCBiZSB1c2VkIGluIHRo
ZSBjb2RlLCBhbmQgeW91Ci8vIGNhbiBjb250aW51ZSB0byB1c2UgTW9kdWxlIGFmdGVyd2FyZHMg
YXMgd2VsbC4KdmFyIE1vZHVsZTsKaWYgKCFNb2R1bGUpIE1vZHVsZSA9ICh0eXBlb2YgTW9kdWxl
ICE9PSAndW5kZWZpbmVkJyA/IE1vZHVsZSA6IG51bGwpIHx8IHt9OwoKLy8gU29tZXRpbWVzIGFu
IGV4aXN0aW5nIE1vZHVsZSBvYmplY3QgZXhpc3RzIHdpdGggcHJvcGVydGllcwovLyBtZWFudCB0
byBvdmVyd3JpdGUgdGhlIGRlZmF1bHQgbW9kdWxlIGZ1bmN0aW9uYWxpdHkuIEhlcmUKLy8gd2Ug
Y29sbGVjdCB0aG9zZSBwcm9wZXJ0aWVzIGFuZCByZWFwcGx5IF9hZnRlcl8gd2UgY29uZmlndXJl
Ci8vIHRoZSBjdXJyZW50IGVudmlyb25tZW50J3MgZGVmYXVsdHMgdG8gYXZvaWQgaGF2aW5nIHRv
IGJlIHNvCi8vIGRlZmVuc2l2ZSBkdXJpbmcgaW5pdGlhbGl6YXRpb24uCnZhciBtb2R1bGVPdmVy
cmlkZXMgPSB7fTsKZm9yICh2YXIga2V5IGluIE1vZHVsZSkgewogIGlmIChNb2R1bGUuaGFzT3du
UHJvcGVydHkoa2V5KSkgewogICAgbW9kdWxlT3ZlcnJpZGVzW2tleV0gPSBNb2R1bGVba2V5XTsK
ICB9Cn0KCi8vIFRoZSBlbnZpcm9ubWVudCBzZXR1cCBjb2RlIGJlbG93IGlzIGN1c3RvbWl6ZWQg
dG8gdXNlIE1vZHVsZS4KLy8gKioqIEVudmlyb25tZW50IHNldHVwIGNvZGUgKioqCnZhciBFTlZJ
Uk9OTUVOVF9JU19OT0RFID0gdHlwZW9mIHByb2Nlc3MgPT09ICdvYmplY3QnICYmIHR5cGVvZiBy
ZXF1aXJlID09PSAnZnVuY3Rpb24nOwp2YXIgRU5WSVJPTk1FTlRfSVNfV0VCID0gdHlwZW9mIHdp
bmRvdyA9PT0gJ29iamVjdCc7CnZhciBFTlZJUk9OTUVOVF9JU19XT1JLRVIgPSB0eXBlb2YgaW1w
b3J0U2NyaXB0cyA9PT0gJ2Z1bmN0aW9uJzsKdmFyIEVOVklST05NRU5UX0lTX1NIRUxMID0gIUVO
VklST05NRU5UX0lTX1dFQiAmJiAhRU5WSVJPTk1FTlRfSVNfTk9ERSAmJiAhRU5WSVJPTk1FTlRf
SVNfV09SS0VSOwoKaWYgKEVOVklST05NRU5UX0lTX05PREUpIHsKICAvLyBFeHBvc2UgZnVuY3Rp
b25hbGl0eSBpbiB0aGUgc2FtZSBzaW1wbGUgd2F5IHRoYXQgdGhlIHNoZWxscyB3b3JrCiAgLy8g
Tm90ZSB0aGF0IHdlIHBvbGx1dGUgdGhlIGdsb2JhbCBuYW1lc3BhY2UgaGVyZSwgb3RoZXJ3aXNl
IHdlIGJyZWFrIGluIG5vZGUKICBpZiAoIU1vZHVsZVsncHJpbnQnXSkgTW9kdWxlWydwcmludCdd
ID0gZnVuY3Rpb24gcHJpbnQoeCkgewogICAgcHJvY2Vzc1snc3Rkb3V0J10ud3JpdGUoeCArICdc
bicpOwogIH07CiAgaWYgKCFNb2R1bGVbJ3ByaW50RXJyJ10pIE1vZHVsZVsncHJpbnRFcnInXSA9
IGZ1bmN0aW9uIHByaW50RXJyKHgpIHsKICAgIHByb2Nlc3NbJ3N0ZGVyciddLndyaXRlKHggKyAn
XG4nKTsKICB9OwoKICB2YXIgbm9kZUZTID0gcmVxdWlyZSgnZnMnKTsKICB2YXIgbm9kZVBhdGgg
PSByZXF1aXJlKCdwYXRoJyk7CgogIE1vZHVsZVsncmVhZCddID0gZnVuY3Rpb24gcmVhZChmaWxl
bmFtZSwgYmluYXJ5KSB7CiAgICBmaWxlbmFtZSA9IG5vZGVQYXRoWydub3JtYWxpemUnXShmaWxl
bmFtZSk7CiAgICB2YXIgcmV0ID0gbm9kZUZTWydyZWFkRmlsZVN5bmMnXShmaWxlbmFtZSk7CiAg
ICAvLyBUaGUgcGF0aCBpcyBhYnNvbHV0ZSBpZiB0aGUgbm9ybWFsaXplZCB2ZXJzaW9uIGlzIHRo
ZSBzYW1lIGFzIHRoZSByZXNvbHZlZC4KICAgIGlmICghcmV0ICYmIGZpbGVuYW1lICE9IG5vZGVQ
YXRoWydyZXNvbHZlJ10oZmlsZW5hbWUpKSB7CiAgICAgIGZpbGVuYW1lID0gcGF0aC5qb2luKF9f
ZGlybmFtZSwgJy4uJywgJ3NyYycsIGZpbGVuYW1lKTsKICAgICAgcmV0ID0gbm9kZUZTWydyZWFk
RmlsZVN5bmMnXShmaWxlbmFtZSk7CiAgICB9CiAgICBpZiAocmV0ICYmICFiaW5hcnkpIHJldCA9
IHJldC50b1N0cmluZygpOwogICAgcmV0dXJuIHJldDsKICB9OwoKICBNb2R1bGVbJ3JlYWRCaW5h
cnknXSA9IGZ1bmN0aW9uIHJlYWRCaW5hcnkoZmlsZW5hbWUpIHsgcmV0dXJuIE1vZHVsZVsncmVh
ZCddKGZpbGVuYW1lLCB0cnVlKSB9OwoKICBNb2R1bGVbJ2xvYWQnXSA9IGZ1bmN0aW9uIGxvYWQo
ZikgewogICAgZ2xvYmFsRXZhbChyZWFkKGYpKTsKICB9OwoKICBNb2R1bGVbJ2FyZ3VtZW50cydd
ID0gcHJvY2Vzc1snYXJndiddLnNsaWNlKDIpOwoKICBtb2R1bGVbJ2V4cG9ydHMnXSA9IE1vZHVs
ZTsKfQplbHNlIGlmIChFTlZJUk9OTUVOVF9JU19TSEVMTCkgewogIGlmICghTW9kdWxlWydwcmlu
dCddKSBNb2R1bGVbJ3ByaW50J10gPSBwcmludDsKICBpZiAodHlwZW9mIHByaW50RXJyICE9ICd1
bmRlZmluZWQnKSBNb2R1bGVbJ3ByaW50RXJyJ10gPSBwcmludEVycjsgLy8gbm90IHByZXNlbnQg
aW4gdjggb3Igb2xkZXIgc20KCiAgaWYgKHR5cGVvZiByZWFkICE9ICd1bmRlZmluZWQnKSB7CiAg
ICBNb2R1bGVbJ3JlYWQnXSA9IHJlYWQ7CiAgfSBlbHNlIHsKICAgIE1vZHVsZVsncmVhZCddID0g
ZnVuY3Rpb24gcmVhZCgpIHsgdGhyb3cgJ25vIHJlYWQoKSBhdmFpbGFibGUgKGpzYz8pJyB9Owog
IH0KCiAgTW9kdWxlWydyZWFkQmluYXJ5J10gPSBmdW5jdGlvbiByZWFkQmluYXJ5KGYpIHsKICAg
IHJldHVybiByZWFkKGYsICdiaW5hcnknKTsKICB9OwoKICBpZiAodHlwZW9mIHNjcmlwdEFyZ3Mg
IT0gJ3VuZGVmaW5lZCcpIHsKICAgIE1vZHVsZVsnYXJndW1lbnRzJ10gPSBzY3JpcHRBcmdzOwog
IH0gZWxzZSBpZiAodHlwZW9mIGFyZ3VtZW50cyAhPSAndW5kZWZpbmVkJykgewogICAgTW9kdWxl
Wydhcmd1bWVudHMnXSA9IGFyZ3VtZW50czsKICB9CgogIHRoaXNbJ01vZHVsZSddID0gTW9kdWxl
OwoKICBldmFsKCJpZiAodHlwZW9mIGdjID09PSAnZnVuY3Rpb24nICYmIGdjLnRvU3RyaW5nKCku
aW5kZXhPZignW25hdGl2ZSBjb2RlXScpID4gMCkgdmFyIGdjID0gdW5kZWZpbmVkIik7IC8vIHdp
cGUgb3V0IHRoZSBTcGlkZXJNb25rZXkgc2hlbGwgJ2djJyBmdW5jdGlvbiwgd2hpY2ggY2FuIGNv
bmZ1c2UgY2xvc3VyZSAodXNlcyBpdCBhcyBhIG1pbmlmaWVkIG5hbWUsIGFuZCBpdCBpcyB0aGVu
IGluaXR0ZWQgdG8gYSBub24tZmFsc2V5IHZhbHVlIHVuZXhwZWN0ZWRseSkKfQplbHNlIGlmIChF
TlZJUk9OTUVOVF9JU19XRUIgfHwgRU5WSVJPTk1FTlRfSVNfV09SS0VSKSB7CiAgTW9kdWxlWydy
ZWFkJ10gPSBmdW5jdGlvbiByZWFkKHVybCkgewogICAgdmFyIHhociA9IG5ldyBYTUxIdHRwUmVx
dWVzdCgpOwogICAgeGhyLm9wZW4oJ0dFVCcsIHVybCwgZmFsc2UpOwogICAgeGhyLnNlbmQobnVs
bCk7CiAgICByZXR1cm4geGhyLnJlc3BvbnNlVGV4dDsKICB9OwoKICBpZiAodHlwZW9mIGFyZ3Vt
ZW50cyAhPSAndW5kZWZpbmVkJykgewogICAgTW9kdWxlWydhcmd1bWVudHMnXSA9IGFyZ3VtZW50
czsKICB9CgogIGlmICh0eXBlb2YgY29uc29sZSAhPT0gJ3VuZGVmaW5lZCcpIHsKICAgIGlmICgh
TW9kdWxlWydwcmludCddKSBNb2R1bGVbJ3ByaW50J10gPSBmdW5jdGlvbiBwcmludCh4KSB7CiAg
ICAgIGNvbnNvbGUubG9nKHgpOwogICAgfTsKICAgIGlmICghTW9kdWxlWydwcmludEVyciddKSBN
b2R1bGVbJ3ByaW50RXJyJ10gPSBmdW5jdGlvbiBwcmludEVycih4KSB7CiAgICAgIGNvbnNvbGUu
bG9nKHgpOwogICAgfTsKICB9IGVsc2UgewogICAgLy8gUHJvYmFibHkgYSB3b3JrZXIsIGFuZCB3
aXRob3V0IGNvbnNvbGUubG9nLiBXZSBjYW4gZG8gdmVyeSBsaXR0bGUgaGVyZS4uLgogICAgdmFy
IFRSWV9VU0VfRFVNUCA9IGZhbHNlOwogICAgaWYgKCFNb2R1bGVbJ3ByaW50J10pIE1vZHVsZVsn
cHJpbnQnXSA9IChUUllfVVNFX0RVTVAgJiYgKHR5cGVvZihkdW1wKSAhPT0gInVuZGVmaW5lZCIp
ID8gKGZ1bmN0aW9uKHgpIHsKICAgICAgZHVtcCh4KTsKICAgIH0pIDogKGZ1bmN0aW9uKHgpIHsK
ICAgICAgLy8gc2VsZi5wb3N0TWVzc2FnZSh4KTsgLy8gZW5hYmxlIHRoaXMgaWYgeW91IHdhbnQg
c3Rkb3V0IHRvIGJlIHNlbnQgYXMgbWVzc2FnZXMKICAgIH0pKTsKICB9CgogIGlmIChFTlZJUk9O
TUVOVF9JU19XRUIpIHsKICAgIHdpbmRvd1snTW9kdWxlJ10gPSBNb2R1bGU7CiAgfSBlbHNlIHsK
ICAgIE1vZHVsZVsnbG9hZCddID0gaW1wb3J0U2NyaXB0czsKICB9Cn0KZWxzZSB7CiAgLy8gVW5y
ZWFjaGFibGUgYmVjYXVzZSBTSEVMTCBpcyBkZXBlbmRhbnQgb24gdGhlIG90aGVycwogIHRocm93
ICdVbmtub3duIHJ1bnRpbWUgZW52aXJvbm1lbnQuIFdoZXJlIGFyZSB3ZT8nOwp9CgpmdW5jdGlv
biBnbG9iYWxFdmFsKHgpIHsKICBldmFsLmNhbGwobnVsbCwgeCk7Cn0KaWYgKCFNb2R1bGVbJ2xv
YWQnXSA9PSAndW5kZWZpbmVkJyAmJiBNb2R1bGVbJ3JlYWQnXSkgewogIE1vZHVsZVsnbG9hZCdd
ID0gZnVuY3Rpb24gbG9hZChmKSB7CiAgICBnbG9iYWxFdmFsKE1vZHVsZVsncmVhZCddKGYpKTsK
ICB9Owp9CmlmICghTW9kdWxlWydwcmludCddKSB7CiAgTW9kdWxlWydwcmludCddID0gZnVuY3Rp
b24oKXt9Owp9CmlmICghTW9kdWxlWydwcmludEVyciddKSB7CiAgTW9kdWxlWydwcmludEVycidd
ID0gTW9kdWxlWydwcmludCddOwp9CmlmICghTW9kdWxlWydhcmd1bWVudHMnXSkgewogIE1vZHVs
ZVsnYXJndW1lbnRzJ10gPSBbXTsKfQovLyAqKiogRW52aXJvbm1lbnQgc2V0dXAgY29kZSAqKioK
Ci8vIENsb3N1cmUgaGVscGVycwpNb2R1bGUucHJpbnQgPSBNb2R1bGVbJ3ByaW50J107Ck1vZHVs
ZS5wcmludEVyciA9IE1vZHVsZVsncHJpbnRFcnInXTsKCi8vIENhbGxiYWNrcwpNb2R1bGVbJ3By
ZVJ1biddID0gW107Ck1vZHVsZVsncG9zdFJ1biddID0gW107CgovLyBNZXJnZSBiYWNrIGluIHRo
ZSBvdmVycmlkZXMKZm9yICh2YXIga2V5IGluIG1vZHVsZU92ZXJyaWRlcykgewogIGlmIChtb2R1
bGVPdmVycmlkZXMuaGFzT3duUHJvcGVydHkoa2V5KSkgewogICAgTW9kdWxlW2tleV0gPSBtb2R1
bGVPdmVycmlkZXNba2V5XTsKICB9Cn0KCgoKLy8gPT09IEF1dG8tZ2VuZXJhdGVkIHByZWFtYmxl
IGxpYnJhcnkgc3R1ZmYgPT09CgovLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLy8gUnVudGltZSBjb2RlIHNoYXJlZCB3aXRoIGNvbXBpbGVyCi8vPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoKdmFyIFJ1bnRpbWUgPSB7CiAgc3RhY2tTYXZl
OiBmdW5jdGlvbiAoKSB7CiAgICByZXR1cm4gU1RBQ0tUT1A7CiAgfSwKICBzdGFja1Jlc3RvcmU6
IGZ1bmN0aW9uIChzdGFja1RvcCkgewogICAgU1RBQ0tUT1AgPSBzdGFja1RvcDsKICB9LAogIGZv
cmNlQWxpZ246IGZ1bmN0aW9uICh0YXJnZXQsIHF1YW50dW0pIHsKICAgIHF1YW50dW0gPSBxdWFu
dHVtIHx8IDQ7CiAgICBpZiAocXVhbnR1bSA9PSAxKSByZXR1cm4gdGFyZ2V0OwogICAgaWYgKGlz
TnVtYmVyKHRhcmdldCkgJiYgaXNOdW1iZXIocXVhbnR1bSkpIHsKICAgICAgcmV0dXJuIE1hdGgu
Y2VpbCh0YXJnZXQvcXVhbnR1bSkqcXVhbnR1bTsKICAgIH0gZWxzZSBpZiAoaXNOdW1iZXIocXVh
bnR1bSkgJiYgaXNQb3dlck9mVHdvKHF1YW50dW0pKSB7CiAgICAgIHJldHVybiAnKCgoJyArdGFy
Z2V0ICsgJykrJyArIChxdWFudHVtLTEpICsgJykmJyArIC1xdWFudHVtICsgJyknOwogICAgfQog
ICAgcmV0dXJuICdNYXRoLmNlaWwoKCcgKyB0YXJnZXQgKyAnKS8nICsgcXVhbnR1bSArICcpKicg
KyBxdWFudHVtOwogIH0sCiAgaXNOdW1iZXJUeXBlOiBmdW5jdGlvbiAodHlwZSkgewogICAgcmV0
dXJuIHR5cGUgaW4gUnVudGltZS5JTlRfVFlQRVMgfHwgdHlwZSBpbiBSdW50aW1lLkZMT0FUX1RZ
UEVTOwogIH0sCiAgaXNQb2ludGVyVHlwZTogZnVuY3Rpb24gaXNQb2ludGVyVHlwZSh0eXBlKSB7
CiAgcmV0dXJuIHR5cGVbdHlwZS5sZW5ndGgtMV0gPT0gJyonOwp9LAogIGlzU3RydWN0VHlwZTog
ZnVuY3Rpb24gaXNTdHJ1Y3RUeXBlKHR5cGUpIHsKICBpZiAoaXNQb2ludGVyVHlwZSh0eXBlKSkg
cmV0dXJuIGZhbHNlOwogIGlmIChpc0FycmF5VHlwZSh0eXBlKSkgcmV0dXJuIHRydWU7CiAgaWYg
KC88P1x7ID9bXn1dKiA/XH0+Py8udGVzdCh0eXBlKSkgcmV0dXJuIHRydWU7IC8vIHsgaTMyLCBp
OCB9IGV0Yy4gLSBhbm9ueW1vdXMgc3RydWN0IHR5cGVzCiAgLy8gU2VlIGNvbW1lbnQgaW4gaXNT
dHJ1Y3RQb2ludGVyVHlwZSgpCiAgcmV0dXJuIHR5cGVbMF0gPT0gJyUnOwp9LAogIElOVF9UWVBF
UzogeyJpMSI6MCwiaTgiOjAsImkxNiI6MCwiaTMyIjowLCJpNjQiOjB9LAogIEZMT0FUX1RZUEVT
OiB7ImZsb2F0IjowLCJkb3VibGUiOjB9LAogIG9yNjQ6IGZ1bmN0aW9uICh4LCB5KSB7CiAgICB2
YXIgbCA9ICh4IHwgMCkgfCAoeSB8IDApOwogICAgdmFyIGggPSAoTWF0aC5yb3VuZCh4IC8gNDI5
NDk2NzI5NikgfCBNYXRoLnJvdW5kKHkgLyA0Mjk0OTY3Mjk2KSkgKiA0Mjk0OTY3Mjk2OwogICAg
cmV0dXJuIGwgKyBoOwogIH0sCiAgYW5kNjQ6IGZ1bmN0aW9uICh4LCB5KSB7CiAgICB2YXIgbCA9
ICh4IHwgMCkgJiAoeSB8IDApOwogICAgdmFyIGggPSAoTWF0aC5yb3VuZCh4IC8gNDI5NDk2NzI5
NikgJiBNYXRoLnJvdW5kKHkgLyA0Mjk0OTY3Mjk2KSkgKiA0Mjk0OTY3Mjk2OwogICAgcmV0dXJu
IGwgKyBoOwogIH0sCiAgeG9yNjQ6IGZ1bmN0aW9uICh4LCB5KSB7CiAgICB2YXIgbCA9ICh4IHwg
MCkgXiAoeSB8IDApOwogICAgdmFyIGggPSAoTWF0aC5yb3VuZCh4IC8gNDI5NDk2NzI5NikgXiBN
YXRoLnJvdW5kKHkgLyA0Mjk0OTY3Mjk2KSkgKiA0Mjk0OTY3Mjk2OwogICAgcmV0dXJuIGwgKyBo
OwogIH0sCiAgZ2V0TmF0aXZlVHlwZVNpemU6IGZ1bmN0aW9uICh0eXBlKSB7CiAgICBzd2l0Y2gg
KHR5cGUpIHsKICAgICAgY2FzZSAnaTEnOiBjYXNlICdpOCc6IHJldHVybiAxOwogICAgICBjYXNl
ICdpMTYnOiByZXR1cm4gMjsKICAgICAgY2FzZSAnaTMyJzogcmV0dXJuIDQ7CiAgICAgIGNhc2Ug
J2k2NCc6IHJldHVybiA4OwogICAgICBjYXNlICdmbG9hdCc6IHJldHVybiA0OwogICAgICBjYXNl
ICdkb3VibGUnOiByZXR1cm4gODsKICAgICAgZGVmYXVsdDogewogICAgICAgIGlmICh0eXBlW3R5
cGUubGVuZ3RoLTFdID09PSAnKicpIHsKICAgICAgICAgIHJldHVybiBSdW50aW1lLlFVQU5UVU1f
U0laRTsgLy8gQSBwb2ludGVyCiAgICAgICAgfSBlbHNlIGlmICh0eXBlWzBdID09PSAnaScpIHsK
ICAgICAgICAgIHZhciBiaXRzID0gcGFyc2VJbnQodHlwZS5zdWJzdHIoMSkpOwogICAgICAgICAg
YXNzZXJ0KGJpdHMgJSA4ID09PSAwKTsKICAgICAgICAgIHJldHVybiBiaXRzLzg7CiAgICAgICAg
fSBlbHNlIHsKICAgICAgICAgIHJldHVybiAwOwogICAgICAgIH0KICAgICAgfQogICAgfQogIH0s
CiAgZ2V0TmF0aXZlRmllbGRTaXplOiBmdW5jdGlvbiAodHlwZSkgewogICAgcmV0dXJuIE1hdGgu
bWF4KFJ1bnRpbWUuZ2V0TmF0aXZlVHlwZVNpemUodHlwZSksIFJ1bnRpbWUuUVVBTlRVTV9TSVpF
KTsKICB9LAogIGRlZHVwOiBmdW5jdGlvbiBkZWR1cChpdGVtcywgaWRlbnQpIHsKICB2YXIgc2Vl
biA9IHt9OwogIGlmIChpZGVudCkgewogICAgcmV0dXJuIGl0ZW1zLmZpbHRlcihmdW5jdGlvbihp
dGVtKSB7CiAgICAgIGlmIChzZWVuW2l0ZW1baWRlbnRdXSkgcmV0dXJuIGZhbHNlOwogICAgICBz
ZWVuW2l0ZW1baWRlbnRdXSA9IHRydWU7CiAgICAgIHJldHVybiB0cnVlOwogICAgfSk7CiAgfSBl
bHNlIHsKICAgIHJldHVybiBpdGVtcy5maWx0ZXIoZnVuY3Rpb24oaXRlbSkgewogICAgICBpZiAo
c2VlbltpdGVtXSkgcmV0dXJuIGZhbHNlOwogICAgICBzZWVuW2l0ZW1dID0gdHJ1ZTsKICAgICAg
cmV0dXJuIHRydWU7CiAgICB9KTsKICB9Cn0sCiAgc2V0OiBmdW5jdGlvbiBzZXQoKSB7CiAgdmFy
IGFyZ3MgPSB0eXBlb2YgYXJndW1lbnRzWzBdID09PSAnb2JqZWN0JyA/IGFyZ3VtZW50c1swXSA6
IGFyZ3VtZW50czsKICB2YXIgcmV0ID0ge307CiAgZm9yICh2YXIgaSA9IDA7IGkgPCBhcmdzLmxl
bmd0aDsgaSsrKSB7CiAgICByZXRbYXJnc1tpXV0gPSAwOwogIH0KICByZXR1cm4gcmV0Owp9LAog
IFNUQUNLX0FMSUdOOiA4LAogIGdldEFsaWduU2l6ZTogZnVuY3Rpb24gKHR5cGUsIHNpemUsIHZh
cmFyZykgewogICAgLy8gd2UgYWxpZ24gaTY0cyBhbmQgZG91YmxlcyBvbiA2NC1iaXQgYm91bmRh
cmllcywgdW5saWtlIHg4NgogICAgaWYgKCF2YXJhcmcgJiYgKHR5cGUgPT0gJ2k2NCcgfHwgdHlw
ZSA9PSAnZG91YmxlJykpIHJldHVybiA4OwogICAgaWYgKCF0eXBlKSByZXR1cm4gTWF0aC5taW4o
c2l6ZSwgOCk7IC8vIGFsaWduIHN0cnVjdHVyZXMgaW50ZXJuYWxseSB0byA2NCBiaXRzCiAgICBy
ZXR1cm4gTWF0aC5taW4oc2l6ZSB8fCAodHlwZSA/IFJ1bnRpbWUuZ2V0TmF0aXZlRmllbGRTaXpl
KHR5cGUpIDogMCksIFJ1bnRpbWUuUVVBTlRVTV9TSVpFKTsKICB9LAogIGNhbGN1bGF0ZVN0cnVj
dEFsaWdubWVudDogZnVuY3Rpb24gY2FsY3VsYXRlU3RydWN0QWxpZ25tZW50KHR5cGUpIHsKICAg
IHR5cGUuZmxhdFNpemUgPSAwOwogICAgdHlwZS5hbGlnblNpemUgPSAwOwogICAgdmFyIGRpZmZz
ID0gW107CiAgICB2YXIgcHJldiA9IC0xOwogICAgdmFyIGluZGV4ID0gMDsKICAgIHR5cGUuZmxh
dEluZGV4ZXMgPSB0eXBlLmZpZWxkcy5tYXAoZnVuY3Rpb24oZmllbGQpIHsKICAgICAgaW5kZXgr
KzsKICAgICAgdmFyIHNpemUsIGFsaWduU2l6ZTsKICAgICAgaWYgKFJ1bnRpbWUuaXNOdW1iZXJU
eXBlKGZpZWxkKSB8fCBSdW50aW1lLmlzUG9pbnRlclR5cGUoZmllbGQpKSB7CiAgICAgICAgc2l6
ZSA9IFJ1bnRpbWUuZ2V0TmF0aXZlVHlwZVNpemUoZmllbGQpOyAvLyBwYWNrIGNoYXI7IGNoYXI7
IGluIHN0cnVjdHMsIGFsc28gY2hhcltYXXMuCiAgICAgICAgYWxpZ25TaXplID0gUnVudGltZS5n
ZXRBbGlnblNpemUoZmllbGQsIHNpemUpOwogICAgICB9IGVsc2UgaWYgKFJ1bnRpbWUuaXNTdHJ1
Y3RUeXBlKGZpZWxkKSkgewogICAgICAgIGlmIChmaWVsZFsxXSA9PT0gJzAnKSB7CiAgICAgICAg
ICAvLyB0aGlzIGlzIFswIHggc29tZXRoaW5nXS4gV2hlbiBpbnNpZGUgYW5vdGhlciBzdHJ1Y3R1
cmUgbGlrZSBoZXJlLCBpdCBtdXN0IGJlIGF0IHRoZSBlbmQsCiAgICAgICAgICAvLyBhbmQgaXQg
YWRkcyBubyBzaXplCiAgICAgICAgICAvLyBYWFggdGhpcyBoYXBwZW5zIGluIGphdmEtbmJvZHkg
Zm9yIGV4YW1wbGUuLi4gYXNzZXJ0KGluZGV4ID09PSB0eXBlLmZpZWxkcy5sZW5ndGgsICd6ZXJv
LWxlbmd0aCBpbiB0aGUgbWlkZGxlIScpOwogICAgICAgICAgc2l6ZSA9IDA7CiAgICAgICAgICBp
ZiAoVHlwZXMudHlwZXNbZmllbGRdKSB7CiAgICAgICAgICAgIGFsaWduU2l6ZSA9IFJ1bnRpbWUu
Z2V0QWxpZ25TaXplKG51bGwsIFR5cGVzLnR5cGVzW2ZpZWxkXS5hbGlnblNpemUpOwogICAgICAg
ICAgfSBlbHNlIHsKICAgICAgICAgICAgYWxpZ25TaXplID0gdHlwZS5hbGlnblNpemUgfHwgUVVB
TlRVTV9TSVpFOwogICAgICAgICAgfQogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICBzaXplID0g
VHlwZXMudHlwZXNbZmllbGRdLmZsYXRTaXplOwogICAgICAgICAgYWxpZ25TaXplID0gUnVudGlt
ZS5nZXRBbGlnblNpemUobnVsbCwgVHlwZXMudHlwZXNbZmllbGRdLmFsaWduU2l6ZSk7CiAgICAg
ICAgfQogICAgICB9IGVsc2UgaWYgKGZpZWxkWzBdID09ICdiJykgewogICAgICAgIC8vIGJOLCBs
YXJnZSBudW1iZXIgZmllbGQsIGxpa2UgYSBbTiB4IGk4XQogICAgICAgIHNpemUgPSBmaWVsZC5z
dWJzdHIoMSl8MDsKICAgICAgICBhbGlnblNpemUgPSAxOwogICAgICB9IGVsc2UgaWYgKGZpZWxk
WzBdID09PSAnPCcpIHsKICAgICAgICAvLyB2ZWN0b3IgdHlwZQogICAgICAgIHNpemUgPSBhbGln
blNpemUgPSBUeXBlcy50eXBlc1tmaWVsZF0uZmxhdFNpemU7IC8vIGZ1bGx5IGFsaWduZWQKICAg
ICAgfSBlbHNlIGlmIChmaWVsZFswXSA9PT0gJ2knKSB7CiAgICAgICAgLy8gaWxsZWdhbCBpbnRl
Z2VyIGZpZWxkLCB0aGF0IGNvdWxkIG5vdCBiZSBsZWdhbGl6ZWQgYmVjYXVzZSBpdCBpcyBhbiBp
bnRlcm5hbCBzdHJ1Y3R1cmUgZmllbGQKICAgICAgICAvLyBpdCBpcyBvayB0byBoYXZlIHN1Y2gg
ZmllbGRzLCBpZiB3ZSBqdXN0IHVzZSB0aGVtIGFzIG1hcmtlcnMgb2YgZmllbGQgc2l6ZSBhbmQg
bm90aGluZyBtb3JlIGNvbXBsZXgKICAgICAgICBzaXplID0gYWxpZ25TaXplID0gcGFyc2VJbnQo
ZmllbGQuc3Vic3RyKDEpKS84OwogICAgICAgIGFzc2VydChzaXplICUgMSA9PT0gMCwgJ2Nhbm5v
dCBoYW5kbGUgbm9uLWJ5dGUtc2l6ZSBmaWVsZCAnICsgZmllbGQpOwogICAgICB9IGVsc2Ugewog
ICAgICAgIGFzc2VydChmYWxzZSwgJ2ludmFsaWQgdHlwZSBmb3IgY2FsY3VsYXRlU3RydWN0QWxp
Z25tZW50Jyk7CiAgICAgIH0KICAgICAgaWYgKHR5cGUucGFja2VkKSBhbGlnblNpemUgPSAxOwog
ICAgICB0eXBlLmFsaWduU2l6ZSA9IE1hdGgubWF4KHR5cGUuYWxpZ25TaXplLCBhbGlnblNpemUp
OwogICAgICB2YXIgY3VyciA9IFJ1bnRpbWUuYWxpZ25NZW1vcnkodHlwZS5mbGF0U2l6ZSwgYWxp
Z25TaXplKTsgLy8gaWYgbmVjZXNzYXJ5LCBwbGFjZSB0aGlzIG9uIGFsaWduZWQgbWVtb3J5CiAg
ICAgIHR5cGUuZmxhdFNpemUgPSBjdXJyICsgc2l6ZTsKICAgICAgaWYgKHByZXYgPj0gMCkgewog
ICAgICAgIGRpZmZzLnB1c2goY3Vyci1wcmV2KTsKICAgICAgfQogICAgICBwcmV2ID0gY3VycjsK
ICAgICAgcmV0dXJuIGN1cnI7CiAgICB9KTsKICAgIGlmICh0eXBlLm5hbWVfICYmIHR5cGUubmFt
ZV9bMF0gPT09ICdbJykgewogICAgICAvLyBhcnJheXMgaGF2ZSAyIGVsZW1lbnRzLCBzbyB3ZSBn
ZXQgdGhlIHByb3BlciBkaWZmZXJlbmNlLiB0aGVuIHdlIHNjYWxlIGhlcmUuIHRoYXQgd2F5IHdl
IGF2b2lkCiAgICAgIC8vIGFsbG9jYXRpbmcgYSBwb3RlbnRpYWxseSBodWdlIGFycmF5IGZvciBb
OTk5OTk5IHggaThdIGV0Yy4KICAgICAgdHlwZS5mbGF0U2l6ZSA9IHBhcnNlSW50KHR5cGUubmFt
ZV8uc3Vic3RyKDEpKSp0eXBlLmZsYXRTaXplLzI7CiAgICB9CiAgICB0eXBlLmZsYXRTaXplID0g
UnVudGltZS5hbGlnbk1lbW9yeSh0eXBlLmZsYXRTaXplLCB0eXBlLmFsaWduU2l6ZSk7CiAgICBp
ZiAoZGlmZnMubGVuZ3RoID09IDApIHsKICAgICAgdHlwZS5mbGF0RmFjdG9yID0gdHlwZS5mbGF0
U2l6ZTsKICAgIH0gZWxzZSBpZiAoUnVudGltZS5kZWR1cChkaWZmcykubGVuZ3RoID09IDEpIHsK
ICAgICAgdHlwZS5mbGF0RmFjdG9yID0gZGlmZnNbMF07CiAgICB9CiAgICB0eXBlLm5lZWRzRmxh
dHRlbmluZyA9ICh0eXBlLmZsYXRGYWN0b3IgIT0gMSk7CiAgICByZXR1cm4gdHlwZS5mbGF0SW5k
ZXhlczsKICB9LAogIGdlbmVyYXRlU3RydWN0SW5mbzogZnVuY3Rpb24gKHN0cnVjdCwgdHlwZU5h
bWUsIG9mZnNldCkgewogICAgdmFyIHR5cGUsIGFsaWdubWVudDsKICAgIGlmICh0eXBlTmFtZSkg
ewogICAgICBvZmZzZXQgPSBvZmZzZXQgfHwgMDsKICAgICAgdHlwZSA9ICh0eXBlb2YgVHlwZXMg
PT09ICd1bmRlZmluZWQnID8gUnVudGltZS50eXBlSW5mbyA6IFR5cGVzLnR5cGVzKVt0eXBlTmFt
ZV07CiAgICAgIGlmICghdHlwZSkgcmV0dXJuIG51bGw7CiAgICAgIGlmICh0eXBlLmZpZWxkcy5s
ZW5ndGggIT0gc3RydWN0Lmxlbmd0aCkgewogICAgICAgIHByaW50RXJyKCdOdW1iZXIgb2YgbmFt
ZWQgZmllbGRzIG11c3QgbWF0Y2ggdGhlIHR5cGUgZm9yICcgKyB0eXBlTmFtZSArICc6IHBvc3Np
Ymx5IGR1cGxpY2F0ZSBzdHJ1Y3QgbmFtZXMuIENhbm5vdCByZXR1cm4gc3RydWN0SW5mbycpOwog
ICAgICAgIHJldHVybiBudWxsOwogICAgICB9CiAgICAgIGFsaWdubWVudCA9IHR5cGUuZmxhdElu
ZGV4ZXM7CiAgICB9IGVsc2UgewogICAgICB2YXIgdHlwZSA9IHsgZmllbGRzOiBzdHJ1Y3QubWFw
KGZ1bmN0aW9uKGl0ZW0pIHsgcmV0dXJuIGl0ZW1bMF0gfSkgfTsKICAgICAgYWxpZ25tZW50ID0g
UnVudGltZS5jYWxjdWxhdGVTdHJ1Y3RBbGlnbm1lbnQodHlwZSk7CiAgICB9CiAgICB2YXIgcmV0
ID0gewogICAgICBfX3NpemVfXzogdHlwZS5mbGF0U2l6ZQogICAgfTsKICAgIGlmICh0eXBlTmFt
ZSkgewogICAgICBzdHJ1Y3QuZm9yRWFjaChmdW5jdGlvbihpdGVtLCBpKSB7CiAgICAgICAgaWYg
KHR5cGVvZiBpdGVtID09PSAnc3RyaW5nJykgewogICAgICAgICAgcmV0W2l0ZW1dID0gYWxpZ25t
ZW50W2ldICsgb2Zmc2V0OwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAvLyBlbWJlZGRlZCBz
dHJ1Y3QKICAgICAgICAgIHZhciBrZXk7CiAgICAgICAgICBmb3IgKHZhciBrIGluIGl0ZW0pIGtl
eSA9IGs7CiAgICAgICAgICByZXRba2V5XSA9IFJ1bnRpbWUuZ2VuZXJhdGVTdHJ1Y3RJbmZvKGl0
ZW1ba2V5XSwgdHlwZS5maWVsZHNbaV0sIGFsaWdubWVudFtpXSk7CiAgICAgICAgfQogICAgICB9
KTsKICAgIH0gZWxzZSB7CiAgICAgIHN0cnVjdC5mb3JFYWNoKGZ1bmN0aW9uKGl0ZW0sIGkpIHsK
ICAgICAgICByZXRbaXRlbVsxXV0gPSBhbGlnbm1lbnRbaV07CiAgICAgIH0pOwogICAgfQogICAg
cmV0dXJuIHJldDsKICB9LAogIGR5bkNhbGw6IGZ1bmN0aW9uIChzaWcsIHB0ciwgYXJncykgewog
ICAgaWYgKGFyZ3MgJiYgYXJncy5sZW5ndGgpIHsKICAgICAgaWYgKCFhcmdzLnNwbGljZSkgYXJn
cyA9IEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3MpOwogICAgICBhcmdzLnNwbGljZSgw
LCAwLCBwdHIpOwogICAgICByZXR1cm4gTW9kdWxlWydkeW5DYWxsXycgKyBzaWddLmFwcGx5KG51
bGwsIGFyZ3MpOwogICAgfSBlbHNlIHsKICAgICAgcmV0dXJuIE1vZHVsZVsnZHluQ2FsbF8nICsg
c2lnXS5jYWxsKG51bGwsIHB0cik7CiAgICB9CiAgfSwKICBmdW5jdGlvblBvaW50ZXJzOiBbXSwK
ICBhZGRGdW5jdGlvbjogZnVuY3Rpb24gKGZ1bmMpIHsKICAgIGZvciAodmFyIGkgPSAwOyBpIDwg
UnVudGltZS5mdW5jdGlvblBvaW50ZXJzLmxlbmd0aDsgaSsrKSB7CiAgICAgIGlmICghUnVudGlt
ZS5mdW5jdGlvblBvaW50ZXJzW2ldKSB7CiAgICAgICAgUnVudGltZS5mdW5jdGlvblBvaW50ZXJz
W2ldID0gZnVuYzsKICAgICAgICByZXR1cm4gMiooMSArIGkpOwogICAgICB9CiAgICB9CiAgICB0
aHJvdyAnRmluaXNoZWQgdXAgYWxsIHJlc2VydmVkIGZ1bmN0aW9uIHBvaW50ZXJzLiBVc2UgYSBo
aWdoZXIgdmFsdWUgZm9yIFJFU0VSVkVEX0ZVTkNUSU9OX1BPSU5URVJTLic7CiAgfSwKICByZW1v
dmVGdW5jdGlvbjogZnVuY3Rpb24gKGluZGV4KSB7CiAgICBSdW50aW1lLmZ1bmN0aW9uUG9pbnRl
cnNbKGluZGV4LTIpLzJdID0gbnVsbDsKICB9LAogIGdldEFzbUNvbnN0OiBmdW5jdGlvbiAoY29k
ZSwgbnVtQXJncykgewogICAgLy8gY29kZSBpcyBhIGNvbnN0YW50IHN0cmluZyBvbiB0aGUgaGVh
cCwgc28gd2UgY2FuIGNhY2hlIHRoZXNlCiAgICBpZiAoIVJ1bnRpbWUuYXNtQ29uc3RDYWNoZSkg
UnVudGltZS5hc21Db25zdENhY2hlID0ge307CiAgICB2YXIgZnVuYyA9IFJ1bnRpbWUuYXNtQ29u
c3RDYWNoZVtjb2RlXTsKICAgIGlmIChmdW5jKSByZXR1cm4gZnVuYzsKICAgIHZhciBhcmdzID0g
W107CiAgICBmb3IgKHZhciBpID0gMDsgaSA8IG51bUFyZ3M7IGkrKykgewogICAgICBhcmdzLnB1
c2goU3RyaW5nLmZyb21DaGFyQ29kZSgzNikgKyBpKTsgLy8gJDAsICQxIGV0YwogICAgfQogICAg
dmFyIHNvdXJjZSA9IFBvaW50ZXJfc3RyaW5naWZ5KGNvZGUpOwogICAgaWYgKHNvdXJjZVswXSA9
PT0gJyInKSB7CiAgICAgIC8vIHRvbGVyYXRlIEVNX0FTTSgiLi5jb2RlLi4iKSBldmVuIHRob3Vn
aCBFTV9BU00oLi5jb2RlLi4pIGlzIGNvcnJlY3QKICAgICAgaWYgKHNvdXJjZS5pbmRleE9mKCci
JywgMSkgPT09IHNvdXJjZS5sZW5ndGgtMSkgewogICAgICAgIHNvdXJjZSA9IHNvdXJjZS5zdWJz
dHIoMSwgc291cmNlLmxlbmd0aC0yKTsKICAgICAgfSBlbHNlIHsKICAgICAgICAvLyBzb21ldGhp
bmcgaW52YWxpZCBoYXBwZW5lZCwgZS5nLiBFTV9BU00oIi4uY29kZSgkMCkuLiIsIGlucHV0KQog
ICAgICAgIGFib3J0KCdpbnZhbGlkIEVNX0FTTSBpbnB1dCB8JyArIHNvdXJjZSArICd8LiBQbGVh
c2UgdXNlIEVNX0FTTSguLmNvZGUuLikgKG5vIHF1b3Rlcykgb3IgRU1fQVNNKHsgLi5jb2RlKCQw
KS4uIH0sIGlucHV0KSAodG8gaW5wdXQgdmFsdWVzKScpOwogICAgICB9CiAgICB9CiAgICB0cnkg
ewogICAgICB2YXIgZXZhbGxlZCA9IGV2YWwoJyhmdW5jdGlvbignICsgYXJncy5qb2luKCcsJykg
KyAnKXsgJyArIHNvdXJjZSArICcgfSknKTsgLy8gbmV3IEZ1bmN0aW9uIGRvZXMgbm90IGFsbG93
IHVwdmFycyBpbiBub2RlCiAgICB9IGNhdGNoKGUpIHsKICAgICAgTW9kdWxlLnByaW50RXJyKCdl
cnJvciBpbiBleGVjdXRpbmcgaW5saW5lIEVNX0FTTSBjb2RlOiAnICsgZSArICcgb246IFxuXG4n
ICsgc291cmNlICsgJ1xuXG53aXRoIGFyZ3MgfCcgKyBhcmdzICsgJ3wgKG1ha2Ugc3VyZSB0byB1
c2UgdGhlIHJpZ2h0IG9uZSBvdXQgb2YgRU1fQVNNLCBFTV9BU01fQVJHUywgZXRjLiknKTsKICAg
ICAgdGhyb3cgZTsKICAgIH0KICAgIHJldHVybiBSdW50aW1lLmFzbUNvbnN0Q2FjaGVbY29kZV0g
PSBldmFsbGVkOwogIH0sCiAgd2Fybk9uY2U6IGZ1bmN0aW9uICh0ZXh0KSB7CiAgICBpZiAoIVJ1
bnRpbWUud2Fybk9uY2Uuc2hvd24pIFJ1bnRpbWUud2Fybk9uY2Uuc2hvd24gPSB7fTsKICAgIGlm
ICghUnVudGltZS53YXJuT25jZS5zaG93blt0ZXh0XSkgewogICAgICBSdW50aW1lLndhcm5PbmNl
LnNob3duW3RleHRdID0gMTsKICAgICAgTW9kdWxlLnByaW50RXJyKHRleHQpOwogICAgfQogIH0s
CiAgZnVuY1dyYXBwZXJzOiB7fSwKICBnZXRGdW5jV3JhcHBlcjogZnVuY3Rpb24gKGZ1bmMsIHNp
ZykgewogICAgYXNzZXJ0KHNpZyk7CiAgICBpZiAoIVJ1bnRpbWUuZnVuY1dyYXBwZXJzW2Z1bmNd
KSB7CiAgICAgIFJ1bnRpbWUuZnVuY1dyYXBwZXJzW2Z1bmNdID0gZnVuY3Rpb24gZHluQ2FsbF93
cmFwcGVyKCkgewogICAgICAgIHJldHVybiBSdW50aW1lLmR5bkNhbGwoc2lnLCBmdW5jLCBhcmd1
bWVudHMpOwogICAgICB9OwogICAgfQogICAgcmV0dXJuIFJ1bnRpbWUuZnVuY1dyYXBwZXJzW2Z1
bmNdOwogIH0sCiAgVVRGOFByb2Nlc3NvcjogZnVuY3Rpb24gKCkgewogICAgdmFyIGJ1ZmZlciA9
IFtdOwogICAgdmFyIG5lZWRlZCA9IDA7CiAgICB0aGlzLnByb2Nlc3NDQ2hhciA9IGZ1bmN0aW9u
IChjb2RlKSB7CiAgICAgIGNvZGUgPSBjb2RlICYgMHhGRjsKCiAgICAgIGlmIChidWZmZXIubGVu
Z3RoID09IDApIHsKICAgICAgICBpZiAoKGNvZGUgJiAweDgwKSA9PSAweDAwKSB7ICAgICAgICAv
LyAweHh4eHh4eAogICAgICAgICAgcmV0dXJuIFN0cmluZy5mcm9tQ2hhckNvZGUoY29kZSk7CiAg
ICAgICAgfQogICAgICAgIGJ1ZmZlci5wdXNoKGNvZGUpOwogICAgICAgIGlmICgoY29kZSAmIDB4
RTApID09IDB4QzApIHsgICAgICAgIC8vIDExMHh4eHh4CiAgICAgICAgICBuZWVkZWQgPSAxOwog
ICAgICAgIH0gZWxzZSBpZiAoKGNvZGUgJiAweEYwKSA9PSAweEUwKSB7IC8vIDExMTB4eHh4CiAg
ICAgICAgICBuZWVkZWQgPSAyOwogICAgICAgIH0gZWxzZSB7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIDExMTEweHh4CiAgICAgICAgICBuZWVkZWQgPSAzOwogICAgICAgIH0KICAgICAg
ICByZXR1cm4gJyc7CiAgICAgIH0KCiAgICAgIGlmIChuZWVkZWQpIHsKICAgICAgICBidWZmZXIu
cHVzaChjb2RlKTsKICAgICAgICBuZWVkZWQtLTsKICAgICAgICBpZiAobmVlZGVkID4gMCkgcmV0
dXJuICcnOwogICAgICB9CgogICAgICB2YXIgYzEgPSBidWZmZXJbMF07CiAgICAgIHZhciBjMiA9
IGJ1ZmZlclsxXTsKICAgICAgdmFyIGMzID0gYnVmZmVyWzJdOwogICAgICB2YXIgYzQgPSBidWZm
ZXJbM107CiAgICAgIHZhciByZXQ7CiAgICAgIGlmIChidWZmZXIubGVuZ3RoID09IDIpIHsKICAg
ICAgICByZXQgPSBTdHJpbmcuZnJvbUNoYXJDb2RlKCgoYzEgJiAweDFGKSA8PCA2KSAgfCAoYzIg
JiAweDNGKSk7CiAgICAgIH0gZWxzZSBpZiAoYnVmZmVyLmxlbmd0aCA9PSAzKSB7CiAgICAgICAg
cmV0ID0gU3RyaW5nLmZyb21DaGFyQ29kZSgoKGMxICYgMHgwRikgPDwgMTIpIHwgKChjMiAmIDB4
M0YpIDw8IDYpICB8IChjMyAmIDB4M0YpKTsKICAgICAgfSBlbHNlIHsKICAgICAgICAvLyBodHRw
Oi8vbWF0aGlhc2J5bmVucy5iZS9ub3Rlcy9qYXZhc2NyaXB0LWVuY29kaW5nI3N1cnJvZ2F0ZS1m
b3JtdWxhZQogICAgICAgIHZhciBjb2RlUG9pbnQgPSAoKGMxICYgMHgwNykgPDwgMTgpIHwgKChj
MiAmIDB4M0YpIDw8IDEyKSB8CiAgICAgICAgICAgICAgICAgICAgICAgICgoYzMgJiAweDNGKSA8
PCA2KSAgfCAoYzQgJiAweDNGKTsKICAgICAgICByZXQgPSBTdHJpbmcuZnJvbUNoYXJDb2RlKAog
ICAgICAgICAgTWF0aC5mbG9vcigoY29kZVBvaW50IC0gMHgxMDAwMCkgLyAweDQwMCkgKyAweEQ4
MDAsCiAgICAgICAgICAoY29kZVBvaW50IC0gMHgxMDAwMCkgJSAweDQwMCArIDB4REMwMCk7CiAg
ICAgIH0KICAgICAgYnVmZmVyLmxlbmd0aCA9IDA7CiAgICAgIHJldHVybiByZXQ7CiAgICB9CiAg
ICB0aGlzLnByb2Nlc3NKU1N0cmluZyA9IGZ1bmN0aW9uIHByb2Nlc3NKU1N0cmluZyhzdHJpbmcp
IHsKICAgICAgLyogVE9ETzogdXNlIFRleHRFbmNvZGVyIHdoZW4gcHJlc2VudCwKICAgICAgICB2
YXIgZW5jb2RlciA9IG5ldyBUZXh0RW5jb2RlcigpOwogICAgICAgIGVuY29kZXJbJ2VuY29kaW5n
J10gPSAidXRmLTgiOwogICAgICAgIHZhciB1dGY4QXJyYXkgPSBlbmNvZGVyWydlbmNvZGUnXShh
TXNnLmRhdGEpOwogICAgICAqLwogICAgICBzdHJpbmcgPSB1bmVzY2FwZShlbmNvZGVVUklDb21w
b25lbnQoc3RyaW5nKSk7CiAgICAgIHZhciByZXQgPSBbXTsKICAgICAgZm9yICh2YXIgaSA9IDA7
IGkgPCBzdHJpbmcubGVuZ3RoOyBpKyspIHsKICAgICAgICByZXQucHVzaChzdHJpbmcuY2hhckNv
ZGVBdChpKSk7CiAgICAgIH0KICAgICAgcmV0dXJuIHJldDsKICAgIH0KICB9LAogIGdldENvbXBp
bGVyU2V0dGluZzogZnVuY3Rpb24gKG5hbWUpIHsKICAgIHRocm93ICdZb3UgbXVzdCBidWlsZCB3
aXRoIC1zIFJFVEFJTl9DT01QSUxFUl9TRVRUSU5HUz0xIGZvciBSdW50aW1lLmdldENvbXBpbGVy
U2V0dGluZyBvciBlbXNjcmlwdGVuX2dldF9jb21waWxlcl9zZXR0aW5nIHRvIHdvcmsnOwogIH0s
CiAgc3RhY2tBbGxvYzogZnVuY3Rpb24gKHNpemUpIHsgdmFyIHJldCA9IFNUQUNLVE9QO1NUQUNL
VE9QID0gKFNUQUNLVE9QICsgc2l6ZSl8MDtTVEFDS1RPUCA9ICgoKFNUQUNLVE9QKSs3KSYtOCk7
IHJldHVybiByZXQ7IH0sCiAgc3RhdGljQWxsb2M6IGZ1bmN0aW9uIChzaXplKSB7IHZhciByZXQg
PSBTVEFUSUNUT1A7U1RBVElDVE9QID0gKFNUQVRJQ1RPUCArIHNpemUpfDA7U1RBVElDVE9QID0g
KCgoU1RBVElDVE9QKSs3KSYtOCk7IHJldHVybiByZXQ7IH0sCiAgZHluYW1pY0FsbG9jOiBmdW5j
dGlvbiAoc2l6ZSkgeyB2YXIgcmV0ID0gRFlOQU1JQ1RPUDtEWU5BTUlDVE9QID0gKERZTkFNSUNU
T1AgKyBzaXplKXwwO0RZTkFNSUNUT1AgPSAoKChEWU5BTUlDVE9QKSs3KSYtOCk7IGlmIChEWU5B
TUlDVE9QID49IFRPVEFMX01FTU9SWSkgZW5sYXJnZU1lbW9yeSgpOzsgcmV0dXJuIHJldDsgfSwK
ICBhbGlnbk1lbW9yeTogZnVuY3Rpb24gKHNpemUscXVhbnR1bSkgeyB2YXIgcmV0ID0gc2l6ZSA9
IE1hdGguY2VpbCgoc2l6ZSkvKHF1YW50dW0gPyBxdWFudHVtIDogOCkpKihxdWFudHVtID8gcXVh
bnR1bSA6IDgpOyByZXR1cm4gcmV0OyB9LAogIG1ha2VCaWdJbnQ6IGZ1bmN0aW9uIChsb3csaGln
aCx1bnNpZ25lZCkgeyB2YXIgcmV0ID0gKHVuc2lnbmVkID8gKCgrKChsb3c+Pj4wKSkpKygoKygo
aGlnaD4+PjApKSkqKCs0Mjk0OTY3Mjk2KSkpIDogKCgrKChsb3c+Pj4wKSkpKygoKygoaGlnaHww
KSkpKigrNDI5NDk2NzI5NikpKSk7IHJldHVybiByZXQ7IH0sCiAgR0xPQkFMX0JBU0U6IDgsCiAg
UVVBTlRVTV9TSVpFOiA0LAogIF9fZHVtbXlfXzogMAp9CgoKTW9kdWxlWydSdW50aW1lJ10gPSBS
dW50aW1lOwoKCgoKCgoKCgovLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLy8gUnVudGltZSBlc3NlbnRpYWxzCi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQoKdmFyIF9fVEhSRVdfXyA9IDA7IC8vIFVzZWQgaW4gY2hlY2tpbmcgZm9yIHRo
cm93biBleGNlcHRpb25zLgoKdmFyIEFCT1JUID0gZmFsc2U7IC8vIHdoZXRoZXIgd2UgYXJlIHF1
aXR0aW5nIHRoZSBhcHBsaWNhdGlvbi4gbm8gY29kZSBzaG91bGQgcnVuIGFmdGVyIHRoaXMuIHNl
dCBpbiBleGl0KCkgYW5kIGFib3J0KCkKdmFyIEVYSVRTVEFUVVMgPSAwOwoKdmFyIHVuZGVmID0g
MDsKLy8gdGVtcEludCBpcyB1c2VkIGZvciAzMi1iaXQgc2lnbmVkIHZhbHVlcyBvciBzbWFsbGVy
LiB0ZW1wQmlnSW50IGlzIHVzZWQKLy8gZm9yIDMyLWJpdCB1bnNpZ25lZCB2YWx1ZXMgb3IgbW9y
ZSB0aGFuIDMyIGJpdHMuIFRPRE86IGF1ZGl0IGFsbCB1c2VzIG9mIHRlbXBJbnQKdmFyIHRlbXBW
YWx1ZSwgdGVtcEludCwgdGVtcEJpZ0ludCwgdGVtcEludDIsIHRlbXBCaWdJbnQyLCB0ZW1wUGFp
ciwgdGVtcEJpZ0ludEksIHRlbXBCaWdJbnRSLCB0ZW1wQmlnSW50UywgdGVtcEJpZ0ludFAsIHRl
bXBCaWdJbnRELCB0ZW1wRG91YmxlLCB0ZW1wRmxvYXQ7CnZhciB0ZW1wSTY0LCB0ZW1wSTY0YjsK
dmFyIHRlbXBSZXQwLCB0ZW1wUmV0MSwgdGVtcFJldDIsIHRlbXBSZXQzLCB0ZW1wUmV0NCwgdGVt
cFJldDUsIHRlbXBSZXQ2LCB0ZW1wUmV0NywgdGVtcFJldDgsIHRlbXBSZXQ5OwoKZnVuY3Rpb24g
YXNzZXJ0KGNvbmRpdGlvbiwgdGV4dCkgewogIGlmICghY29uZGl0aW9uKSB7CiAgICBhYm9ydCgn
QXNzZXJ0aW9uIGZhaWxlZDogJyArIHRleHQpOwogIH0KfQoKdmFyIGdsb2JhbFNjb3BlID0gdGhp
czsKCi8vIEMgY2FsbGluZyBpbnRlcmZhY2UuIEEgY29udmVuaWVudCB3YXkgdG8gY2FsbCBDIGZ1
bmN0aW9ucyAoaW4gQyBmaWxlcywgb3IKLy8gZGVmaW5lZCB3aXRoIGV4dGVybiAiQyIpLgovLwov
LyBOb3RlOiBMTFZNIG9wdGltaXphdGlvbnMgY2FuIGlubGluZSBhbmQgcmVtb3ZlIGZ1bmN0aW9u
cywgYWZ0ZXIgd2hpY2ggeW91IHdpbGwgbm90IGJlCi8vICAgICAgIGFibGUgdG8gY2FsbCB0aGVt
LiBDbG9zdXJlIGNhbiBhbHNvIGRvIHNvLiBUbyBhdm9pZCB0aGF0LCBhZGQgeW91ciBmdW5jdGlv
biB0bwovLyAgICAgICB0aGUgZXhwb3J0cyB1c2luZyBzb21ldGhpbmcgbGlrZQovLwovLyAgICAg
ICAgIC1zIEVYUE9SVEVEX0ZVTkNUSU9OUz0nWyJfbWFpbiIsICJfbXlmdW5jIl0nCi8vCi8vIEBw
YXJhbSBpZGVudCAgICAgIFRoZSBuYW1lIG9mIHRoZSBDIGZ1bmN0aW9uIChub3RlIHRoYXQgQysr
IGZ1bmN0aW9ucyB3aWxsIGJlIG5hbWUtbWFuZ2xlZCAtIHVzZSBleHRlcm4gIkMiKQovLyBAcGFy
YW0gcmV0dXJuVHlwZSBUaGUgcmV0dXJuIHR5cGUgb2YgdGhlIGZ1bmN0aW9uLCBvbmUgb2YgdGhl
IEpTIHR5cGVzICdudW1iZXInLCAnc3RyaW5nJyBvciAnYXJyYXknICh1c2UgJ251bWJlcicgZm9y
IGFueSBDIHBvaW50ZXIsIGFuZAovLyAgICAgICAgICAgICAgICAgICAnYXJyYXknIGZvciBKYXZh
U2NyaXB0IGFycmF5cyBhbmQgdHlwZWQgYXJyYXlzOyBub3RlIHRoYXQgYXJyYXlzIGFyZSA4LWJp
dCkuCi8vIEBwYXJhbSBhcmdUeXBlcyAgIEFuIGFycmF5IG9mIHRoZSB0eXBlcyBvZiBhcmd1bWVu
dHMgZm9yIHRoZSBmdW5jdGlvbiAoaWYgdGhlcmUgYXJlIG5vIGFyZ3VtZW50cywgdGhpcyBjYW4g
YmUgb21taXR0ZWQpLiBUeXBlcyBhcmUgYXMgaW4gcmV0dXJuVHlwZSwKLy8gICAgICAgICAgICAg
ICAgICAgZXhjZXB0IHRoYXQgJ2FycmF5JyBpcyBub3QgcG9zc2libGUgKHRoZXJlIGlzIG5vIHdh
eSBmb3IgdXMgdG8ga25vdyB0aGUgbGVuZ3RoIG9mIHRoZSBhcnJheSkKLy8gQHBhcmFtIGFyZ3Mg
ICAgICAgQW4gYXJyYXkgb2YgdGhlIGFyZ3VtZW50cyB0byB0aGUgZnVuY3Rpb24sIGFzIG5hdGl2
ZSBKUyB2YWx1ZXMgKGFzIGluIHJldHVyblR5cGUpCi8vICAgICAgICAgICAgICAgICAgIE5vdGUg
dGhhdCBzdHJpbmcgYXJndW1lbnRzIHdpbGwgYmUgc3RvcmVkIG9uIHRoZSBzdGFjayAodGhlIEpT
IHN0cmluZyB3aWxsIGJlY29tZSBhIEMgc3RyaW5nIG9uIHRoZSBzdGFjaykuCi8vIEByZXR1cm4g
ICAgICAgICAgIFRoZSByZXR1cm4gdmFsdWUsIGFzIGEgbmF0aXZlIEpTIHZhbHVlIChhcyBpbiBy
ZXR1cm5UeXBlKQpmdW5jdGlvbiBjY2FsbChpZGVudCwgcmV0dXJuVHlwZSwgYXJnVHlwZXMsIGFy
Z3MpIHsKICByZXR1cm4gY2NhbGxGdW5jKGdldENGdW5jKGlkZW50KSwgcmV0dXJuVHlwZSwgYXJn
VHlwZXMsIGFyZ3MpOwp9Ck1vZHVsZVsiY2NhbGwiXSA9IGNjYWxsOwoKLy8gUmV0dXJucyB0aGUg
QyBmdW5jdGlvbiB3aXRoIGEgc3BlY2lmaWVkIGlkZW50aWZpZXIgKGZvciBDKyssIHlvdSBuZWVk
IHRvIGRvIG1hbnVhbCBuYW1lIG1hbmdsaW5nKQpmdW5jdGlvbiBnZXRDRnVuYyhpZGVudCkgewog
IHRyeSB7CiAgICB2YXIgZnVuYyA9IE1vZHVsZVsnXycgKyBpZGVudF07IC8vIGNsb3N1cmUgZXhw
b3J0ZWQgZnVuY3Rpb24KICAgIGlmICghZnVuYykgZnVuYyA9IGV2YWwoJ18nICsgaWRlbnQpOyAv
LyBleHBsaWNpdCBsb29rdXAKICB9IGNhdGNoKGUpIHsKICB9CiAgYXNzZXJ0KGZ1bmMsICdDYW5u
b3QgY2FsbCB1bmtub3duIGZ1bmN0aW9uICcgKyBpZGVudCArICcgKHBlcmhhcHMgTExWTSBvcHRp
bWl6YXRpb25zIG9yIGNsb3N1cmUgcmVtb3ZlZCBpdD8pJyk7CiAgcmV0dXJuIGZ1bmM7Cn0KCi8v
IEludGVybmFsIGZ1bmN0aW9uIHRoYXQgZG9lcyBhIEMgY2FsbCB1c2luZyBhIGZ1bmN0aW9uLCBu
b3QgYW4gaWRlbnRpZmllcgpmdW5jdGlvbiBjY2FsbEZ1bmMoZnVuYywgcmV0dXJuVHlwZSwgYXJn
VHlwZXMsIGFyZ3MpIHsKICB2YXIgc3RhY2sgPSAwOwogIGZ1bmN0aW9uIHRvQyh2YWx1ZSwgdHlw
ZSkgewogICAgaWYgKHR5cGUgPT0gJ3N0cmluZycpIHsKICAgICAgaWYgKHZhbHVlID09PSBudWxs
IHx8IHZhbHVlID09PSB1bmRlZmluZWQgfHwgdmFsdWUgPT09IDApIHJldHVybiAwOyAvLyBudWxs
IHN0cmluZwogICAgICB2YWx1ZSA9IGludEFycmF5RnJvbVN0cmluZyh2YWx1ZSk7CiAgICAgIHR5
cGUgPSAnYXJyYXknOwogICAgfQogICAgaWYgKHR5cGUgPT0gJ2FycmF5JykgewogICAgICBpZiAo
IXN0YWNrKSBzdGFjayA9IFJ1bnRpbWUuc3RhY2tTYXZlKCk7CiAgICAgIHZhciByZXQgPSBSdW50
aW1lLnN0YWNrQWxsb2ModmFsdWUubGVuZ3RoKTsKICAgICAgd3JpdGVBcnJheVRvTWVtb3J5KHZh
bHVlLCByZXQpOwogICAgICByZXR1cm4gcmV0OwogICAgfQogICAgcmV0dXJuIHZhbHVlOwogIH0K
ICBmdW5jdGlvbiBmcm9tQyh2YWx1ZSwgdHlwZSkgewogICAgaWYgKHR5cGUgPT0gJ3N0cmluZycp
IHsKICAgICAgcmV0dXJuIFBvaW50ZXJfc3RyaW5naWZ5KHZhbHVlKTsKICAgIH0KICAgIGFzc2Vy
dCh0eXBlICE9ICdhcnJheScpOwogICAgcmV0dXJuIHZhbHVlOwogIH0KICB2YXIgaSA9IDA7CiAg
dmFyIGNBcmdzID0gYXJncyA/IGFyZ3MubWFwKGZ1bmN0aW9uKGFyZykgewogICAgcmV0dXJuIHRv
QyhhcmcsIGFyZ1R5cGVzW2krK10pOwogIH0pIDogW107CiAgdmFyIHJldCA9IGZyb21DKGZ1bmMu
YXBwbHkobnVsbCwgY0FyZ3MpLCByZXR1cm5UeXBlKTsKICBpZiAoc3RhY2spIFJ1bnRpbWUuc3Rh
Y2tSZXN0b3JlKHN0YWNrKTsKICByZXR1cm4gcmV0Owp9CgovLyBSZXR1cm5zIGEgbmF0aXZlIEpT
IHdyYXBwZXIgZm9yIGEgQyBmdW5jdGlvbi4gVGhpcyBpcyBzaW1pbGFyIHRvIGNjYWxsLCBidXQK
Ly8gcmV0dXJucyBhIGZ1bmN0aW9uIHlvdSBjYW4gY2FsbCByZXBlYXRlZGx5IGluIGEgbm9ybWFs
IHdheS4gRm9yIGV4YW1wbGU6Ci8vCi8vICAgdmFyIG15X2Z1bmN0aW9uID0gY3dyYXAoJ215X2Nf
ZnVuY3Rpb24nLCAnbnVtYmVyJywgWydudW1iZXInLCAnbnVtYmVyJ10pOwovLyAgIGFsZXJ0KG15
X2Z1bmN0aW9uKDUsIDIyKSk7Ci8vICAgYWxlcnQobXlfZnVuY3Rpb24oOTksIDEyKSk7Ci8vCmZ1
bmN0aW9uIGN3cmFwKGlkZW50LCByZXR1cm5UeXBlLCBhcmdUeXBlcykgewogIHZhciBmdW5jID0g
Z2V0Q0Z1bmMoaWRlbnQpOwogIHJldHVybiBmdW5jdGlvbigpIHsKICAgIHJldHVybiBjY2FsbEZ1
bmMoZnVuYywgcmV0dXJuVHlwZSwgYXJnVHlwZXMsIEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxs
KGFyZ3VtZW50cykpOwogIH0KfQpNb2R1bGVbImN3cmFwIl0gPSBjd3JhcDsKCi8vIFNldHMgYSB2
YWx1ZSBpbiBtZW1vcnkgaW4gYSBkeW5hbWljIHdheSBhdCBydW4tdGltZS4gVXNlcyB0aGUKLy8g
dHlwZSBkYXRhLiBUaGlzIGlzIHRoZSBzYW1lIGFzIG1ha2VTZXRWYWx1ZSwgZXhjZXB0IHRoYXQK
Ly8gbWFrZVNldFZhbHVlIGlzIGRvbmUgYXQgY29tcGlsZS10aW1lIGFuZCBnZW5lcmF0ZXMgdGhl
IG5lZWRlZAovLyBjb2RlIHRoZW4sIHdoZXJlYXMgdGhpcyBmdW5jdGlvbiBwaWNrcyB0aGUgcmln
aHQgY29kZSBhdAovLyBydW4tdGltZS4KLy8gTm90ZSB0aGF0IHNldFZhbHVlIGFuZCBnZXRWYWx1
ZSBvbmx5IGRvICphbGlnbmVkKiB3cml0ZXMgYW5kIHJlYWRzIQovLyBOb3RlIHRoYXQgY2NhbGwg
dXNlcyBKUyB0eXBlcyBhcyBmb3IgZGVmaW5pbmcgdHlwZXMsIHdoaWxlIHNldFZhbHVlIGFuZAov
LyBnZXRWYWx1ZSBuZWVkIExMVk0gdHlwZXMgKCdpOCcsICdpMzInKSAtIHRoaXMgaXMgYSBsb3dl
ci1sZXZlbCBvcGVyYXRpb24KZnVuY3Rpb24gc2V0VmFsdWUocHRyLCB2YWx1ZSwgdHlwZSwgbm9T
YWZlKSB7CiAgdHlwZSA9IHR5cGUgfHwgJ2k4JzsKICBpZiAodHlwZS5jaGFyQXQodHlwZS5sZW5n
dGgtMSkgPT09ICcqJykgdHlwZSA9ICdpMzInOyAvLyBwb2ludGVycyBhcmUgMzItYml0CiAgICBz
d2l0Y2godHlwZSkgewogICAgICBjYXNlICdpMSc6IEhFQVA4WyhwdHIpXT12YWx1ZTsgYnJlYWs7
CiAgICAgIGNhc2UgJ2k4JzogSEVBUDhbKHB0cildPXZhbHVlOyBicmVhazsKICAgICAgY2FzZSAn
aTE2JzogSEVBUDE2WygocHRyKT4+MSldPXZhbHVlOyBicmVhazsKICAgICAgY2FzZSAnaTMyJzog
SEVBUDMyWygocHRyKT4+MildPXZhbHVlOyBicmVhazsKICAgICAgY2FzZSAnaTY0JzogKHRlbXBJ
NjQgPSBbdmFsdWU+Pj4wLCh0ZW1wRG91YmxlPXZhbHVlLCgrKE1hdGhfYWJzKHRlbXBEb3VibGUp
KSkgPj0gKCsxKSA/ICh0ZW1wRG91YmxlID4gKCswKSA/ICgoTWF0aF9taW4oKCsoTWF0aF9mbG9v
cigodGVtcERvdWJsZSkvKCs0Mjk0OTY3Mjk2KSkpKSwgKCs0Mjk0OTY3Mjk1KSkpfDApPj4+MCA6
ICh+figoKyhNYXRoX2NlaWwoKHRlbXBEb3VibGUgLSArKCgofn4odGVtcERvdWJsZSkpKT4+PjAp
KS8oKzQyOTQ5NjcyOTYpKSkpKSk+Pj4wKSA6IDApXSxIRUFQMzJbKChwdHIpPj4yKV09dGVtcEk2
NFswXSxIRUFQMzJbKCgocHRyKSsoNCkpPj4yKV09dGVtcEk2NFsxXSk7IGJyZWFrOwogICAgICBj
YXNlICdmbG9hdCc6IEhFQVBGMzJbKChwdHIpPj4yKV09dmFsdWU7IGJyZWFrOwogICAgICBjYXNl
ICdkb3VibGUnOiBIRUFQRjY0WygocHRyKT4+MyldPXZhbHVlOyBicmVhazsKICAgICAgZGVmYXVs
dDogYWJvcnQoJ2ludmFsaWQgdHlwZSBmb3Igc2V0VmFsdWU6ICcgKyB0eXBlKTsKICAgIH0KfQpN
b2R1bGVbJ3NldFZhbHVlJ10gPSBzZXRWYWx1ZTsKCi8vIFBhcmFsbGVsIHRvIHNldFZhbHVlLgpm
dW5jdGlvbiBnZXRWYWx1ZShwdHIsIHR5cGUsIG5vU2FmZSkgewogIHR5cGUgPSB0eXBlIHx8ICdp
OCc7CiAgaWYgKHR5cGUuY2hhckF0KHR5cGUubGVuZ3RoLTEpID09PSAnKicpIHR5cGUgPSAnaTMy
JzsgLy8gcG9pbnRlcnMgYXJlIDMyLWJpdAogICAgc3dpdGNoKHR5cGUpIHsKICAgICAgY2FzZSAn
aTEnOiByZXR1cm4gSEVBUDhbKHB0cildOwogICAgICBjYXNlICdpOCc6IHJldHVybiBIRUFQOFso
cHRyKV07CiAgICAgIGNhc2UgJ2kxNic6IHJldHVybiBIRUFQMTZbKChwdHIpPj4xKV07CiAgICAg
IGNhc2UgJ2kzMic6IHJldHVybiBIRUFQMzJbKChwdHIpPj4yKV07CiAgICAgIGNhc2UgJ2k2NCc6
IHJldHVybiBIRUFQMzJbKChwdHIpPj4yKV07CiAgICAgIGNhc2UgJ2Zsb2F0JzogcmV0dXJuIEhF
QVBGMzJbKChwdHIpPj4yKV07CiAgICAgIGNhc2UgJ2RvdWJsZSc6IHJldHVybiBIRUFQRjY0Wygo
cHRyKT4+MyldOwogICAgICBkZWZhdWx0OiBhYm9ydCgnaW52YWxpZCB0eXBlIGZvciBzZXRWYWx1
ZTogJyArIHR5cGUpOwogICAgfQogIHJldHVybiBudWxsOwp9Ck1vZHVsZVsnZ2V0VmFsdWUnXSA9
IGdldFZhbHVlOwoKdmFyIEFMTE9DX05PUk1BTCA9IDA7IC8vIFRyaWVzIHRvIHVzZSBfbWFsbG9j
KCkKdmFyIEFMTE9DX1NUQUNLID0gMTsgLy8gTGl2ZXMgZm9yIHRoZSBkdXJhdGlvbiBvZiB0aGUg
Y3VycmVudCBmdW5jdGlvbiBjYWxsCnZhciBBTExPQ19TVEFUSUMgPSAyOyAvLyBDYW5ub3QgYmUg
ZnJlZWQKdmFyIEFMTE9DX0RZTkFNSUMgPSAzOyAvLyBDYW5ub3QgYmUgZnJlZWQgZXhjZXB0IHRo
cm91Z2ggc2Jyawp2YXIgQUxMT0NfTk9ORSA9IDQ7IC8vIERvIG5vdCBhbGxvY2F0ZQpNb2R1bGVb
J0FMTE9DX05PUk1BTCddID0gQUxMT0NfTk9STUFMOwpNb2R1bGVbJ0FMTE9DX1NUQUNLJ10gPSBB
TExPQ19TVEFDSzsKTW9kdWxlWydBTExPQ19TVEFUSUMnXSA9IEFMTE9DX1NUQVRJQzsKTW9kdWxl
WydBTExPQ19EWU5BTUlDJ10gPSBBTExPQ19EWU5BTUlDOwpNb2R1bGVbJ0FMTE9DX05PTkUnXSA9
IEFMTE9DX05PTkU7CgovLyBhbGxvY2F0ZSgpOiBUaGlzIGlzIGZvciBpbnRlcm5hbCB1c2UuIFlv
dSBjYW4gdXNlIGl0IHlvdXJzZWxmIGFzIHdlbGwsIGJ1dCB0aGUgaW50ZXJmYWNlCi8vICAgICAg
ICAgICAgIGlzIGEgbGl0dGxlIHRyaWNreSAoc2VlIGRvY3MgcmlnaHQgYmVsb3cpLiBUaGUgcmVh
c29uIGlzIHRoYXQgaXQgaXMgb3B0aW1pemVkCi8vICAgICAgICAgICAgIGZvciBtdWx0aXBsZSBz
eW50YXhlcyB0byBzYXZlIHNwYWNlIGluIGdlbmVyYXRlZCBjb2RlLiBTbyB5b3Ugc2hvdWxkCi8v
ICAgICAgICAgICAgIG5vcm1hbGx5IG5vdCB1c2UgYWxsb2NhdGUoKSwgYW5kIGluc3RlYWQgYWxs
b2NhdGUgbWVtb3J5IHVzaW5nIF9tYWxsb2MoKSwKLy8gICAgICAgICAgICAgaW5pdGlhbGl6ZSBp
dCB3aXRoIHNldFZhbHVlKCksIGFuZCBzbyBmb3J0aC4KLy8gQHNsYWI6IEFuIGFycmF5IG9mIGRh
dGEsIG9yIGEgbnVtYmVyLiBJZiBhIG51bWJlciwgdGhlbiB0aGUgc2l6ZSBvZiB0aGUgYmxvY2sg
dG8gYWxsb2NhdGUsCi8vICAgICAgICBpbiAqYnl0ZXMqIChub3RlIHRoYXQgdGhpcyBpcyBzb21l
dGltZXMgY29uZnVzaW5nOiB0aGUgbmV4dCBwYXJhbWV0ZXIgZG9lcyBub3QKLy8gICAgICAgIGFm
ZmVjdCB0aGlzISkKLy8gQHR5cGVzOiBFaXRoZXIgYW4gYXJyYXkgb2YgdHlwZXMsIG9uZSBmb3Ig
ZWFjaCBieXRlIChvciAwIGlmIG5vIHR5cGUgYXQgdGhhdCBwb3NpdGlvbiksCi8vICAgICAgICAg
b3IgYSBzaW5nbGUgdHlwZSB3aGljaCBpcyB1c2VkIGZvciB0aGUgZW50aXJlIGJsb2NrLiBUaGlz
IG9ubHkgbWF0dGVycyBpZiB0aGVyZQovLyAgICAgICAgIGlzIGluaXRpYWwgZGF0YSAtIGlmIEBz
bGFiIGlzIGEgbnVtYmVyLCB0aGVuIHRoaXMgZG9lcyBub3QgbWF0dGVyIGF0IGFsbCBhbmQgaXMK
Ly8gICAgICAgICBpZ25vcmVkLgovLyBAYWxsb2NhdG9yOiBIb3cgdG8gYWxsb2NhdGUgbWVtb3J5
LCBzZWUgQUxMT0NfKgpmdW5jdGlvbiBhbGxvY2F0ZShzbGFiLCB0eXBlcywgYWxsb2NhdG9yLCBw
dHIpIHsKICB2YXIgemVyb2luaXQsIHNpemU7CiAgaWYgKHR5cGVvZiBzbGFiID09PSAnbnVtYmVy
JykgewogICAgemVyb2luaXQgPSB0cnVlOwogICAgc2l6ZSA9IHNsYWI7CiAgfSBlbHNlIHsKICAg
IHplcm9pbml0ID0gZmFsc2U7CiAgICBzaXplID0gc2xhYi5sZW5ndGg7CiAgfQoKICB2YXIgc2lu
Z2xlVHlwZSA9IHR5cGVvZiB0eXBlcyA9PT0gJ3N0cmluZycgPyB0eXBlcyA6IG51bGw7CgogIHZh
ciByZXQ7CiAgaWYgKGFsbG9jYXRvciA9PSBBTExPQ19OT05FKSB7CiAgICByZXQgPSBwdHI7CiAg
fSBlbHNlIHsKICAgIHJldCA9IFtfbWFsbG9jLCBSdW50aW1lLnN0YWNrQWxsb2MsIFJ1bnRpbWUu
c3RhdGljQWxsb2MsIFJ1bnRpbWUuZHluYW1pY0FsbG9jXVthbGxvY2F0b3IgPT09IHVuZGVmaW5l
ZCA/IEFMTE9DX1NUQVRJQyA6IGFsbG9jYXRvcl0oTWF0aC5tYXgoc2l6ZSwgc2luZ2xlVHlwZSA/
IDEgOiB0eXBlcy5sZW5ndGgpKTsKICB9CgogIGlmICh6ZXJvaW5pdCkgewogICAgdmFyIHB0ciA9
IHJldCwgc3RvcDsKICAgIGFzc2VydCgocmV0ICYgMykgPT0gMCk7CiAgICBzdG9wID0gcmV0ICsg
KHNpemUgJiB+Myk7CiAgICBmb3IgKDsgcHRyIDwgc3RvcDsgcHRyICs9IDQpIHsKICAgICAgSEVB
UDMyWygocHRyKT4+MildPTA7CiAgICB9CiAgICBzdG9wID0gcmV0ICsgc2l6ZTsKICAgIHdoaWxl
IChwdHIgPCBzdG9wKSB7CiAgICAgIEhFQVA4WygocHRyKyspfDApXT0wOwogICAgfQogICAgcmV0
dXJuIHJldDsKICB9CgogIGlmIChzaW5nbGVUeXBlID09PSAnaTgnKSB7CiAgICBpZiAoc2xhYi5z
dWJhcnJheSB8fCBzbGFiLnNsaWNlKSB7CiAgICAgIEhFQVBVOC5zZXQoc2xhYiwgcmV0KTsKICAg
IH0gZWxzZSB7CiAgICAgIEhFQVBVOC5zZXQobmV3IFVpbnQ4QXJyYXkoc2xhYiksIHJldCk7CiAg
ICB9CiAgICByZXR1cm4gcmV0OwogIH0KCiAgdmFyIGkgPSAwLCB0eXBlLCB0eXBlU2l6ZSwgcHJl
dmlvdXNUeXBlOwogIHdoaWxlIChpIDwgc2l6ZSkgewogICAgdmFyIGN1cnIgPSBzbGFiW2ldOwoK
ICAgIGlmICh0eXBlb2YgY3VyciA9PT0gJ2Z1bmN0aW9uJykgewogICAgICBjdXJyID0gUnVudGlt
ZS5nZXRGdW5jdGlvbkluZGV4KGN1cnIpOwogICAgfQoKICAgIHR5cGUgPSBzaW5nbGVUeXBlIHx8
IHR5cGVzW2ldOwogICAgaWYgKHR5cGUgPT09IDApIHsKICAgICAgaSsrOwogICAgICBjb250aW51
ZTsKICAgIH0KCiAgICBpZiAodHlwZSA9PSAnaTY0JykgdHlwZSA9ICdpMzInOyAvLyBzcGVjaWFs
IGNhc2U6IHdlIGhhdmUgb25lIGkzMiBoZXJlLCBhbmQgb25lIGkzMiBsYXRlcgoKICAgIHNldFZh
bHVlKHJldCtpLCBjdXJyLCB0eXBlKTsKCiAgICAvLyBubyBuZWVkIHRvIGxvb2sgdXAgc2l6ZSB1
bmxlc3MgdHlwZSBjaGFuZ2VzLCBzbyBjYWNoZSBpdAogICAgaWYgKHByZXZpb3VzVHlwZSAhPT0g
dHlwZSkgewogICAgICB0eXBlU2l6ZSA9IFJ1bnRpbWUuZ2V0TmF0aXZlVHlwZVNpemUodHlwZSk7
CiAgICAgIHByZXZpb3VzVHlwZSA9IHR5cGU7CiAgICB9CiAgICBpICs9IHR5cGVTaXplOwogIH0K
CiAgcmV0dXJuIHJldDsKfQpNb2R1bGVbJ2FsbG9jYXRlJ10gPSBhbGxvY2F0ZTsKCmZ1bmN0aW9u
IFBvaW50ZXJfc3RyaW5naWZ5KHB0ciwgLyogb3B0aW9uYWwgKi8gbGVuZ3RoKSB7CiAgLy8gVE9E
TzogdXNlIFRleHREZWNvZGVyCiAgLy8gRmluZCB0aGUgbGVuZ3RoLCBhbmQgY2hlY2sgZm9yIFVU
RiB3aGlsZSBkb2luZyBzbwogIHZhciBoYXNVdGYgPSBmYWxzZTsKICB2YXIgdDsKICB2YXIgaSA9
IDA7CiAgd2hpbGUgKDEpIHsKICAgIHQgPSBIRUFQVThbKCgocHRyKSsoaSkpfDApXTsKICAgIGlm
ICh0ID49IDEyOCkgaGFzVXRmID0gdHJ1ZTsKICAgIGVsc2UgaWYgKHQgPT0gMCAmJiAhbGVuZ3Ro
KSBicmVhazsKICAgIGkrKzsKICAgIGlmIChsZW5ndGggJiYgaSA9PSBsZW5ndGgpIGJyZWFrOwog
IH0KICBpZiAoIWxlbmd0aCkgbGVuZ3RoID0gaTsKCiAgdmFyIHJldCA9ICcnOwoKICBpZiAoIWhh
c1V0ZikgewogICAgdmFyIE1BWF9DSFVOSyA9IDEwMjQ7IC8vIHNwbGl0IHVwIGludG8gY2h1bmtz
LCBiZWNhdXNlIC5hcHBseSBvbiBhIGh1Z2Ugc3RyaW5nIGNhbiBvdmVyZmxvdyB0aGUgc3RhY2sK
ICAgIHZhciBjdXJyOwogICAgd2hpbGUgKGxlbmd0aCA+IDApIHsKICAgICAgY3VyciA9IFN0cmlu
Zy5mcm9tQ2hhckNvZGUuYXBwbHkoU3RyaW5nLCBIRUFQVTguc3ViYXJyYXkocHRyLCBwdHIgKyBN
YXRoLm1pbihsZW5ndGgsIE1BWF9DSFVOSykpKTsKICAgICAgcmV0ID0gcmV0ID8gcmV0ICsgY3Vy
ciA6IGN1cnI7CiAgICAgIHB0ciArPSBNQVhfQ0hVTks7CiAgICAgIGxlbmd0aCAtPSBNQVhfQ0hV
Tks7CiAgICB9CiAgICByZXR1cm4gcmV0OwogIH0KCiAgdmFyIHV0ZjggPSBuZXcgUnVudGltZS5V
VEY4UHJvY2Vzc29yKCk7CiAgZm9yIChpID0gMDsgaSA8IGxlbmd0aDsgaSsrKSB7CiAgICB0ID0g
SEVBUFU4WygoKHB0cikrKGkpKXwwKV07CiAgICByZXQgKz0gdXRmOC5wcm9jZXNzQ0NoYXIodCk7
CiAgfQogIHJldHVybiByZXQ7Cn0KTW9kdWxlWydQb2ludGVyX3N0cmluZ2lmeSddID0gUG9pbnRl
cl9zdHJpbmdpZnk7CgovLyBHaXZlbiBhIHBvaW50ZXIgJ3B0cicgdG8gYSBudWxsLXRlcm1pbmF0
ZWQgVVRGMTZMRS1lbmNvZGVkIHN0cmluZyBpbiB0aGUgZW1zY3JpcHRlbiBIRUFQLCByZXR1cm5z
Ci8vIGEgY29weSBvZiB0aGF0IHN0cmluZyBhcyBhIEphdmFzY3JpcHQgU3RyaW5nIG9iamVjdC4K
ZnVuY3Rpb24gVVRGMTZUb1N0cmluZyhwdHIpIHsKICB2YXIgaSA9IDA7CgogIHZhciBzdHIgPSAn
JzsKICB3aGlsZSAoMSkgewogICAgdmFyIGNvZGVVbml0ID0gSEVBUDE2WygoKHB0cikrKGkqMikp
Pj4xKV07CiAgICBpZiAoY29kZVVuaXQgPT0gMCkKICAgICAgcmV0dXJuIHN0cjsKICAgICsraTsK
ICAgIC8vIGZyb21DaGFyQ29kZSBjb25zdHJ1Y3RzIGEgY2hhcmFjdGVyIGZyb20gYSBVVEYtMTYg
Y29kZSB1bml0LCBzbyB3ZSBjYW4gcGFzcyB0aGUgVVRGMTYgc3RyaW5nIHJpZ2h0IHRocm91Z2gu
CiAgICBzdHIgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShjb2RlVW5pdCk7CiAgfQp9Ck1vZHVsZVsn
VVRGMTZUb1N0cmluZyddID0gVVRGMTZUb1N0cmluZzsKCi8vIENvcGllcyB0aGUgZ2l2ZW4gSmF2
YXNjcmlwdCBTdHJpbmcgb2JqZWN0ICdzdHInIHRvIHRoZSBlbXNjcmlwdGVuIEhFQVAgYXQgYWRk
cmVzcyAnb3V0UHRyJywKLy8gbnVsbC10ZXJtaW5hdGVkIGFuZCBlbmNvZGVkIGluIFVURjE2TEUg
Zm9ybS4gVGhlIGNvcHkgd2lsbCByZXF1aXJlIGF0IG1vc3QgKHN0ci5sZW5ndGgqMisxKSoyIGJ5
dGVzIG9mIHNwYWNlIGluIHRoZSBIRUFQLgpmdW5jdGlvbiBzdHJpbmdUb1VURjE2KHN0ciwgb3V0
UHRyKSB7CiAgZm9yKHZhciBpID0gMDsgaSA8IHN0ci5sZW5ndGg7ICsraSkgewogICAgLy8gY2hh
ckNvZGVBdCByZXR1cm5zIGEgVVRGLTE2IGVuY29kZWQgY29kZSB1bml0LCBzbyBpdCBjYW4gYmUg
ZGlyZWN0bHkgd3JpdHRlbiB0byB0aGUgSEVBUC4KICAgIHZhciBjb2RlVW5pdCA9IHN0ci5jaGFy
Q29kZUF0KGkpOyAvLyBwb3NzaWJseSBhIGxlYWQgc3Vycm9nYXRlCiAgICBIRUFQMTZbKCgob3V0
UHRyKSsoaSoyKSk+PjEpXT1jb2RlVW5pdDsKICB9CiAgLy8gTnVsbC10ZXJtaW5hdGUgdGhlIHBv
aW50ZXIgdG8gdGhlIEhFQVAuCiAgSEVBUDE2WygoKG91dFB0cikrKHN0ci5sZW5ndGgqMikpPj4x
KV09MDsKfQpNb2R1bGVbJ3N0cmluZ1RvVVRGMTYnXSA9IHN0cmluZ1RvVVRGMTY7CgovLyBHaXZl
biBhIHBvaW50ZXIgJ3B0cicgdG8gYSBudWxsLXRlcm1pbmF0ZWQgVVRGMzJMRS1lbmNvZGVkIHN0
cmluZyBpbiB0aGUgZW1zY3JpcHRlbiBIRUFQLCByZXR1cm5zCi8vIGEgY29weSBvZiB0aGF0IHN0
cmluZyBhcyBhIEphdmFzY3JpcHQgU3RyaW5nIG9iamVjdC4KZnVuY3Rpb24gVVRGMzJUb1N0cmlu
ZyhwdHIpIHsKICB2YXIgaSA9IDA7CgogIHZhciBzdHIgPSAnJzsKICB3aGlsZSAoMSkgewogICAg
dmFyIHV0ZjMyID0gSEVBUDMyWygoKHB0cikrKGkqNCkpPj4yKV07CiAgICBpZiAodXRmMzIgPT0g
MCkKICAgICAgcmV0dXJuIHN0cjsKICAgICsraTsKICAgIC8vIEdvdGNoYTogZnJvbUNoYXJDb2Rl
IGNvbnN0cnVjdHMgYSBjaGFyYWN0ZXIgZnJvbSBhIFVURi0xNiBlbmNvZGVkIGNvZGUgKHBhaXIp
LCBub3QgZnJvbSBhIFVuaWNvZGUgY29kZSBwb2ludCEgU28gZW5jb2RlIHRoZSBjb2RlIHBvaW50
IHRvIFVURi0xNiBmb3IgY29uc3RydWN0aW5nLgogICAgaWYgKHV0ZjMyID49IDB4MTAwMDApIHsK
ICAgICAgdmFyIGNoID0gdXRmMzIgLSAweDEwMDAwOwogICAgICBzdHIgKz0gU3RyaW5nLmZyb21D
aGFyQ29kZSgweEQ4MDAgfCAoY2ggPj4gMTApLCAweERDMDAgfCAoY2ggJiAweDNGRikpOwogICAg
fSBlbHNlIHsKICAgICAgc3RyICs9IFN0cmluZy5mcm9tQ2hhckNvZGUodXRmMzIpOwogICAgfQog
IH0KfQpNb2R1bGVbJ1VURjMyVG9TdHJpbmcnXSA9IFVURjMyVG9TdHJpbmc7CgovLyBDb3BpZXMg
dGhlIGdpdmVuIEphdmFzY3JpcHQgU3RyaW5nIG9iamVjdCAnc3RyJyB0byB0aGUgZW1zY3JpcHRl
biBIRUFQIGF0IGFkZHJlc3MgJ291dFB0cicsCi8vIG51bGwtdGVybWluYXRlZCBhbmQgZW5jb2Rl
ZCBpbiBVVEYzMkxFIGZvcm0uIFRoZSBjb3B5IHdpbGwgcmVxdWlyZSBhdCBtb3N0IChzdHIubGVu
Z3RoKzEpKjQgYnl0ZXMgb2Ygc3BhY2UgaW4gdGhlIEhFQVAsCi8vIGJ1dCBjYW4gdXNlIGxlc3Ms
IHNpbmNlIHN0ci5sZW5ndGggZG9lcyBub3QgcmV0dXJuIHRoZSBudW1iZXIgb2YgY2hhcmFjdGVy
cyBpbiB0aGUgc3RyaW5nLCBidXQgdGhlIG51bWJlciBvZiBVVEYtMTYgY29kZSB1bml0cyBpbiB0
aGUgc3RyaW5nLgpmdW5jdGlvbiBzdHJpbmdUb1VURjMyKHN0ciwgb3V0UHRyKSB7CiAgdmFyIGlD
aGFyID0gMDsKICBmb3IodmFyIGlDb2RlVW5pdCA9IDA7IGlDb2RlVW5pdCA8IHN0ci5sZW5ndGg7
ICsraUNvZGVVbml0KSB7CiAgICAvLyBHb3RjaGE6IGNoYXJDb2RlQXQgcmV0dXJucyBhIDE2LWJp
dCB3b3JkIHRoYXQgaXMgYSBVVEYtMTYgZW5jb2RlZCBjb2RlIHVuaXQsIG5vdCBhIFVuaWNvZGUg
Y29kZSBwb2ludCBvZiB0aGUgY2hhcmFjdGVyISBXZSBtdXN0IGRlY29kZSB0aGUgc3RyaW5nIHRv
IFVURi0zMiB0byB0aGUgaGVhcC4KICAgIHZhciBjb2RlVW5pdCA9IHN0ci5jaGFyQ29kZUF0KGlD
b2RlVW5pdCk7IC8vIHBvc3NpYmx5IGEgbGVhZCBzdXJyb2dhdGUKICAgIGlmIChjb2RlVW5pdCA+
PSAweEQ4MDAgJiYgY29kZVVuaXQgPD0gMHhERkZGKSB7CiAgICAgIHZhciB0cmFpbFN1cnJvZ2F0
ZSA9IHN0ci5jaGFyQ29kZUF0KCsraUNvZGVVbml0KTsKICAgICAgY29kZVVuaXQgPSAweDEwMDAw
ICsgKChjb2RlVW5pdCAmIDB4M0ZGKSA8PCAxMCkgfCAodHJhaWxTdXJyb2dhdGUgJiAweDNGRik7
CiAgICB9CiAgICBIRUFQMzJbKCgob3V0UHRyKSsoaUNoYXIqNCkpPj4yKV09Y29kZVVuaXQ7CiAg
ICArK2lDaGFyOwogIH0KICAvLyBOdWxsLXRlcm1pbmF0ZSB0aGUgcG9pbnRlciB0byB0aGUgSEVB
UC4KICBIRUFQMzJbKCgob3V0UHRyKSsoaUNoYXIqNCkpPj4yKV09MDsKfQpNb2R1bGVbJ3N0cmlu
Z1RvVVRGMzInXSA9IHN0cmluZ1RvVVRGMzI7CgpmdW5jdGlvbiBkZW1hbmdsZShmdW5jKSB7CiAg
dmFyIGkgPSAzOwogIC8vIHBhcmFtcywgZXRjLgogIHZhciBiYXNpY1R5cGVzID0gewogICAgJ3Yn
OiAndm9pZCcsCiAgICAnYic6ICdib29sJywKICAgICdjJzogJ2NoYXInLAogICAgJ3MnOiAnc2hv
cnQnLAogICAgJ2knOiAnaW50JywKICAgICdsJzogJ2xvbmcnLAogICAgJ2YnOiAnZmxvYXQnLAog
ICAgJ2QnOiAnZG91YmxlJywKICAgICd3JzogJ3djaGFyX3QnLAogICAgJ2EnOiAnc2lnbmVkIGNo
YXInLAogICAgJ2gnOiAndW5zaWduZWQgY2hhcicsCiAgICAndCc6ICd1bnNpZ25lZCBzaG9ydCcs
CiAgICAnaic6ICd1bnNpZ25lZCBpbnQnLAogICAgJ20nOiAndW5zaWduZWQgbG9uZycsCiAgICAn
eCc6ICdsb25nIGxvbmcnLAogICAgJ3knOiAndW5zaWduZWQgbG9uZyBsb25nJywKICAgICd6Jzog
Jy4uLicKICB9OwogIHZhciBzdWJzID0gW107CiAgdmFyIGZpcnN0ID0gdHJ1ZTsKICBmdW5jdGlv
biBkdW1wKHgpIHsKICAgIC8vcmV0dXJuOwogICAgaWYgKHgpIE1vZHVsZS5wcmludCh4KTsKICAg
IE1vZHVsZS5wcmludChmdW5jKTsKICAgIHZhciBwcmUgPSAnJzsKICAgIGZvciAodmFyIGEgPSAw
OyBhIDwgaTsgYSsrKSBwcmUgKz0gJyAnOwogICAgTW9kdWxlLnByaW50IChwcmUgKyAnXicpOwog
IH0KICBmdW5jdGlvbiBwYXJzZU5lc3RlZCgpIHsKICAgIGkrKzsKICAgIGlmIChmdW5jW2ldID09
PSAnSycpIGkrKzsgLy8gaWdub3JlIGNvbnN0CiAgICB2YXIgcGFydHMgPSBbXTsKICAgIHdoaWxl
IChmdW5jW2ldICE9PSAnRScpIHsKICAgICAgaWYgKGZ1bmNbaV0gPT09ICdTJykgeyAvLyBzdWJz
dGl0dXRpb24KICAgICAgICBpKys7CiAgICAgICAgdmFyIG5leHQgPSBmdW5jLmluZGV4T2YoJ18n
LCBpKTsKICAgICAgICB2YXIgbnVtID0gZnVuYy5zdWJzdHJpbmcoaSwgbmV4dCkgfHwgMDsKICAg
ICAgICBwYXJ0cy5wdXNoKHN1YnNbbnVtXSB8fCAnPycpOwogICAgICAgIGkgPSBuZXh0KzE7CiAg
ICAgICAgY29udGludWU7CiAgICAgIH0KICAgICAgaWYgKGZ1bmNbaV0gPT09ICdDJykgeyAvLyBj
b25zdHJ1Y3RvcgogICAgICAgIHBhcnRzLnB1c2gocGFydHNbcGFydHMubGVuZ3RoLTFdKTsKICAg
ICAgICBpICs9IDI7CiAgICAgICAgY29udGludWU7CiAgICAgIH0KICAgICAgdmFyIHNpemUgPSBw
YXJzZUludChmdW5jLnN1YnN0cihpKSk7CiAgICAgIHZhciBwcmUgPSBzaXplLnRvU3RyaW5nKCku
bGVuZ3RoOwogICAgICBpZiAoIXNpemUgfHwgIXByZSkgeyBpLS07IGJyZWFrOyB9IC8vIGNvdW50
ZXIgaSsrIGJlbG93IHVzCiAgICAgIHZhciBjdXJyID0gZnVuYy5zdWJzdHIoaSArIHByZSwgc2l6
ZSk7CiAgICAgIHBhcnRzLnB1c2goY3Vycik7CiAgICAgIHN1YnMucHVzaChjdXJyKTsKICAgICAg
aSArPSBwcmUgKyBzaXplOwogICAgfQogICAgaSsrOyAvLyBza2lwIEUKICAgIHJldHVybiBwYXJ0
czsKICB9CiAgZnVuY3Rpb24gcGFyc2UocmF3TGlzdCwgbGltaXQsIGFsbG93Vm9pZCkgeyAvLyBt
YWluIHBhcnNlcgogICAgbGltaXQgPSBsaW1pdCB8fCBJbmZpbml0eTsKICAgIHZhciByZXQgPSAn
JywgbGlzdCA9IFtdOwogICAgZnVuY3Rpb24gZmx1c2hMaXN0KCkgewogICAgICByZXR1cm4gJygn
ICsgbGlzdC5qb2luKCcsICcpICsgJyknOwogICAgfQogICAgdmFyIG5hbWU7CiAgICBpZiAoZnVu
Y1tpXSA9PT0gJ04nKSB7CiAgICAgIC8vIG5hbWVzcGFjZWQgTi1FCiAgICAgIG5hbWUgPSBwYXJz
ZU5lc3RlZCgpLmpvaW4oJzo6Jyk7CiAgICAgIGxpbWl0LS07CiAgICAgIGlmIChsaW1pdCA9PT0g
MCkgcmV0dXJuIHJhd0xpc3QgPyBbbmFtZV0gOiBuYW1lOwogICAgfSBlbHNlIHsKICAgICAgLy8g
bm90IG5hbWVzcGFjZWQKICAgICAgaWYgKGZ1bmNbaV0gPT09ICdLJyB8fCAoZmlyc3QgJiYgZnVu
Y1tpXSA9PT0gJ0wnKSkgaSsrOyAvLyBpZ25vcmUgY29uc3QgYW5kIGZpcnN0ICdMJwogICAgICB2
YXIgc2l6ZSA9IHBhcnNlSW50KGZ1bmMuc3Vic3RyKGkpKTsKICAgICAgaWYgKHNpemUpIHsKICAg
ICAgICB2YXIgcHJlID0gc2l6ZS50b1N0cmluZygpLmxlbmd0aDsKICAgICAgICBuYW1lID0gZnVu
Yy5zdWJzdHIoaSArIHByZSwgc2l6ZSk7CiAgICAgICAgaSArPSBwcmUgKyBzaXplOwogICAgICB9
CiAgICB9CiAgICBmaXJzdCA9IGZhbHNlOwogICAgaWYgKGZ1bmNbaV0gPT09ICdJJykgewogICAg
ICBpKys7CiAgICAgIHZhciBpTGlzdCA9IHBhcnNlKHRydWUpOwogICAgICB2YXIgaVJldCA9IHBh
cnNlKHRydWUsIDEsIHRydWUpOwogICAgICByZXQgKz0gaVJldFswXSArICcgJyArIG5hbWUgKyAn
PCcgKyBpTGlzdC5qb2luKCcsICcpICsgJz4nOwogICAgfSBlbHNlIHsKICAgICAgcmV0ID0gbmFt
ZTsKICAgIH0KICAgIHBhcmFtTG9vcDogd2hpbGUgKGkgPCBmdW5jLmxlbmd0aCAmJiBsaW1pdC0t
ID4gMCkgewogICAgICAvL2R1bXAoJ3BhcmFtTG9vcCcpOwogICAgICB2YXIgYyA9IGZ1bmNbaSsr
XTsKICAgICAgaWYgKGMgaW4gYmFzaWNUeXBlcykgewogICAgICAgIGxpc3QucHVzaChiYXNpY1R5
cGVzW2NdKTsKICAgICAgfSBlbHNlIHsKICAgICAgICBzd2l0Y2ggKGMpIHsKICAgICAgICAgIGNh
c2UgJ1AnOiBsaXN0LnB1c2gocGFyc2UodHJ1ZSwgMSwgdHJ1ZSlbMF0gKyAnKicpOyBicmVhazsg
Ly8gcG9pbnRlcgogICAgICAgICAgY2FzZSAnUic6IGxpc3QucHVzaChwYXJzZSh0cnVlLCAxLCB0
cnVlKVswXSArICcmJyk7IGJyZWFrOyAvLyByZWZlcmVuY2UKICAgICAgICAgIGNhc2UgJ0wnOiB7
IC8vIGxpdGVyYWwKICAgICAgICAgICAgaSsrOyAvLyBza2lwIGJhc2ljIHR5cGUKICAgICAgICAg
ICAgdmFyIGVuZCA9IGZ1bmMuaW5kZXhPZignRScsIGkpOwogICAgICAgICAgICB2YXIgc2l6ZSA9
IGVuZCAtIGk7CiAgICAgICAgICAgIGxpc3QucHVzaChmdW5jLnN1YnN0cihpLCBzaXplKSk7CiAg
ICAgICAgICAgIGkgKz0gc2l6ZSArIDI7IC8vIHNpemUgKyAnRUUnCiAgICAgICAgICAgIGJyZWFr
OwogICAgICAgICAgfQogICAgICAgICAgY2FzZSAnQSc6IHsgLy8gYXJyYXkKICAgICAgICAgICAg
dmFyIHNpemUgPSBwYXJzZUludChmdW5jLnN1YnN0cihpKSk7CiAgICAgICAgICAgIGkgKz0gc2l6
ZS50b1N0cmluZygpLmxlbmd0aDsKICAgICAgICAgICAgaWYgKGZ1bmNbaV0gIT09ICdfJykgdGhy
b3cgJz8nOwogICAgICAgICAgICBpKys7IC8vIHNraXAgXwogICAgICAgICAgICBsaXN0LnB1c2go
cGFyc2UodHJ1ZSwgMSwgdHJ1ZSlbMF0gKyAnIFsnICsgc2l6ZSArICddJyk7CiAgICAgICAgICAg
IGJyZWFrOwogICAgICAgICAgfQogICAgICAgICAgY2FzZSAnRSc6IGJyZWFrIHBhcmFtTG9vcDsK
ICAgICAgICAgIGRlZmF1bHQ6IHJldCArPSAnPycgKyBjOyBicmVhayBwYXJhbUxvb3A7CiAgICAg
ICAgfQogICAgICB9CiAgICB9CiAgICBpZiAoIWFsbG93Vm9pZCAmJiBsaXN0Lmxlbmd0aCA9PT0g
MSAmJiBsaXN0WzBdID09PSAndm9pZCcpIGxpc3QgPSBbXTsgLy8gYXZvaWQgKHZvaWQpCiAgICBp
ZiAocmF3TGlzdCkgewogICAgICBpZiAocmV0KSB7CiAgICAgICAgbGlzdC5wdXNoKHJldCArICc/
Jyk7CiAgICAgIH0KICAgICAgcmV0dXJuIGxpc3Q7CiAgICB9IGVsc2UgewogICAgICByZXR1cm4g
cmV0ICsgZmx1c2hMaXN0KCk7CiAgICB9CiAgfQogIHRyeSB7CiAgICAvLyBTcGVjaWFsLWNhc2Ug
dGhlIGVudHJ5IHBvaW50LCBzaW5jZSBpdHMgbmFtZSBkaWZmZXJzIGZyb20gb3RoZXIgbmFtZSBt
YW5nbGluZy4KICAgIGlmIChmdW5jID09ICdPYmplY3QuX21haW4nIHx8IGZ1bmMgPT0gJ19tYWlu
JykgewogICAgICByZXR1cm4gJ21haW4oKSc7CiAgICB9CiAgICBpZiAodHlwZW9mIGZ1bmMgPT09
ICdudW1iZXInKSBmdW5jID0gUG9pbnRlcl9zdHJpbmdpZnkoZnVuYyk7CiAgICBpZiAoZnVuY1sw
XSAhPT0gJ18nKSByZXR1cm4gZnVuYzsKICAgIGlmIChmdW5jWzFdICE9PSAnXycpIHJldHVybiBm
dW5jOyAvLyBDIGZ1bmN0aW9uCiAgICBpZiAoZnVuY1syXSAhPT0gJ1onKSByZXR1cm4gZnVuYzsK
ICAgIHN3aXRjaCAoZnVuY1szXSkgewogICAgICBjYXNlICduJzogcmV0dXJuICdvcGVyYXRvciBu
ZXcoKSc7CiAgICAgIGNhc2UgJ2QnOiByZXR1cm4gJ29wZXJhdG9yIGRlbGV0ZSgpJzsKICAgIH0K
ICAgIHJldHVybiBwYXJzZSgpOwogIH0gY2F0Y2goZSkgewogICAgcmV0dXJuIGZ1bmM7CiAgfQp9
CgpmdW5jdGlvbiBkZW1hbmdsZUFsbCh0ZXh0KSB7CiAgcmV0dXJuIHRleHQucmVwbGFjZSgvX19a
W1x3XGRfXSsvZywgZnVuY3Rpb24oeCkgeyB2YXIgeSA9IGRlbWFuZ2xlKHgpOyByZXR1cm4geCA9
PT0geSA/IHggOiAoeCArICcgWycgKyB5ICsgJ10nKSB9KTsKfQoKZnVuY3Rpb24gc3RhY2tUcmFj
ZSgpIHsKICB2YXIgc3RhY2sgPSBuZXcgRXJyb3IoKS5zdGFjazsKICByZXR1cm4gc3RhY2sgPyBk
ZW1hbmdsZUFsbChzdGFjaykgOiAnKG5vIHN0YWNrIHRyYWNlIGF2YWlsYWJsZSknOyAvLyBTdGFj
ayB0cmFjZSBpcyBub3QgYXZhaWxhYmxlIGF0IGxlYXN0IG9uIElFMTAgYW5kIFNhZmFyaSA2Lgp9
CgovLyBNZW1vcnkgbWFuYWdlbWVudAoKdmFyIFBBR0VfU0laRSA9IDQwOTY7CmZ1bmN0aW9uIGFs
aWduTWVtb3J5UGFnZSh4KSB7CiAgcmV0dXJuICh4KzQwOTUpJi00MDk2Owp9Cgp2YXIgSEVBUDsK
dmFyIEhFQVA4LCBIRUFQVTgsIEhFQVAxNiwgSEVBUFUxNiwgSEVBUDMyLCBIRUFQVTMyLCBIRUFQ
RjMyLCBIRUFQRjY0OwoKdmFyIFNUQVRJQ19CQVNFID0gMCwgU1RBVElDVE9QID0gMCwgc3RhdGlj
U2VhbGVkID0gZmFsc2U7IC8vIHN0YXRpYyBhcmVhCnZhciBTVEFDS19CQVNFID0gMCwgU1RBQ0tU
T1AgPSAwLCBTVEFDS19NQVggPSAwOyAvLyBzdGFjayBhcmVhCnZhciBEWU5BTUlDX0JBU0UgPSAw
LCBEWU5BTUlDVE9QID0gMDsgLy8gZHluYW1pYyBhcmVhIGhhbmRsZWQgYnkgc2JyawoKZnVuY3Rp
b24gZW5sYXJnZU1lbW9yeSgpIHsKICBhYm9ydCgnQ2Fubm90IGVubGFyZ2UgbWVtb3J5IGFycmF5
cy4gRWl0aGVyICgxKSBjb21waWxlIHdpdGggLXMgVE9UQUxfTUVNT1JZPVggd2l0aCBYIGhpZ2hl
ciB0aGFuIHRoZSBjdXJyZW50IHZhbHVlICcgKyBUT1RBTF9NRU1PUlkgKyAnLCAoMikgY29tcGls
ZSB3aXRoIEFMTE9XX01FTU9SWV9HUk9XVEggd2hpY2ggYWRqdXN0cyB0aGUgc2l6ZSBhdCBydW50
aW1lIGJ1dCBwcmV2ZW50cyBzb21lIG9wdGltaXphdGlvbnMsIG9yICgzKSBzZXQgTW9kdWxlLlRP
VEFMX01FTU9SWSBiZWZvcmUgdGhlIHByb2dyYW0gcnVucy4nKTsKfQoKdmFyIFRPVEFMX1NUQUNL
ID0gTW9kdWxlWydUT1RBTF9TVEFDSyddIHx8IDIwOTcxNTIwOwp2YXIgVE9UQUxfTUVNT1JZID0g
TW9kdWxlWydUT1RBTF9NRU1PUlknXSB8fCA0MTk0MzA0MDsKdmFyIEZBU1RfTUVNT1JZID0gTW9k
dWxlWydGQVNUX01FTU9SWSddIHx8IDIwOTcxNTI7Cgp2YXIgdG90YWxNZW1vcnkgPSA0MDk2Owp3
aGlsZSAodG90YWxNZW1vcnkgPCBUT1RBTF9NRU1PUlkgfHwgdG90YWxNZW1vcnkgPCAyKlRPVEFM
X1NUQUNLKSB7CiAgaWYgKHRvdGFsTWVtb3J5IDwgMTYqMTAyNCoxMDI0KSB7CiAgICB0b3RhbE1l
bW9yeSAqPSAyOwogIH0gZWxzZSB7CiAgICB0b3RhbE1lbW9yeSArPSAxNioxMDI0KjEwMjQKICB9
Cn0KaWYgKHRvdGFsTWVtb3J5ICE9PSBUT1RBTF9NRU1PUlkpIHsKICBNb2R1bGUucHJpbnRFcnIo
J2luY3JlYXNpbmcgVE9UQUxfTUVNT1JZIHRvICcgKyB0b3RhbE1lbW9yeSArICcgdG8gYmUgbW9y
ZSByZWFzb25hYmxlJyk7CiAgVE9UQUxfTUVNT1JZID0gdG90YWxNZW1vcnk7Cn0KCi8vIEluaXRp
YWxpemUgdGhlIHJ1bnRpbWUncyBtZW1vcnkKLy8gY2hlY2sgZm9yIGZ1bGwgZW5naW5lIHN1cHBv
cnQgKHVzZSBzdHJpbmcgJ3N1YmFycmF5JyB0byBhdm9pZCBjbG9zdXJlIGNvbXBpbGVyIGNvbmZ1
c2lvbikKYXNzZXJ0KHR5cGVvZiBJbnQzMkFycmF5ICE9PSAndW5kZWZpbmVkJyAmJiB0eXBlb2Yg
RmxvYXQ2NEFycmF5ICE9PSAndW5kZWZpbmVkJyAmJiAhIShuZXcgSW50MzJBcnJheSgxKVsnc3Vi
YXJyYXknXSkgJiYgISEobmV3IEludDMyQXJyYXkoMSlbJ3NldCddKSwKICAgICAgICdKUyBlbmdp
bmUgZG9lcyBub3QgcHJvdmlkZSBmdWxsIHR5cGVkIGFycmF5IHN1cHBvcnQnKTsKCnZhciBidWZm
ZXIgPSBuZXcgQXJyYXlCdWZmZXIoVE9UQUxfTUVNT1JZKTsKSEVBUDggPSBuZXcgSW50OEFycmF5
KGJ1ZmZlcik7CkhFQVAxNiA9IG5ldyBJbnQxNkFycmF5KGJ1ZmZlcik7CkhFQVAzMiA9IG5ldyBJ
bnQzMkFycmF5KGJ1ZmZlcik7CkhFQVBVOCA9IG5ldyBVaW50OEFycmF5KGJ1ZmZlcik7CkhFQVBV
MTYgPSBuZXcgVWludDE2QXJyYXkoYnVmZmVyKTsKSEVBUFUzMiA9IG5ldyBVaW50MzJBcnJheShi
dWZmZXIpOwpIRUFQRjMyID0gbmV3IEZsb2F0MzJBcnJheShidWZmZXIpOwpIRUFQRjY0ID0gbmV3
IEZsb2F0NjRBcnJheShidWZmZXIpOwoKLy8gRW5kaWFubmVzcyBjaGVjayAobm90ZTogYXNzdW1l
cyBjb21waWxlciBhcmNoIHdhcyBsaXR0bGUtZW5kaWFuKQpIRUFQMzJbMF0gPSAyNTU7CmFzc2Vy
dChIRUFQVThbMF0gPT09IDI1NSAmJiBIRUFQVThbM10gPT09IDAsICdUeXBlZCBhcnJheXMgMiBt
dXN0IGJlIHJ1biBvbiBhIGxpdHRsZS1lbmRpYW4gc3lzdGVtJyk7CgpNb2R1bGVbJ0hFQVAnXSA9
IEhFQVA7Ck1vZHVsZVsnSEVBUDgnXSA9IEhFQVA4OwpNb2R1bGVbJ0hFQVAxNiddID0gSEVBUDE2
OwpNb2R1bGVbJ0hFQVAzMiddID0gSEVBUDMyOwpNb2R1bGVbJ0hFQVBVOCddID0gSEVBUFU4OwpN
b2R1bGVbJ0hFQVBVMTYnXSA9IEhFQVBVMTY7Ck1vZHVsZVsnSEVBUFUzMiddID0gSEVBUFUzMjsK
TW9kdWxlWydIRUFQRjMyJ10gPSBIRUFQRjMyOwpNb2R1bGVbJ0hFQVBGNjQnXSA9IEhFQVBGNjQ7
CgpmdW5jdGlvbiBjYWxsUnVudGltZUNhbGxiYWNrcyhjYWxsYmFja3MpIHsKICB3aGlsZShjYWxs
YmFja3MubGVuZ3RoID4gMCkgewogICAgdmFyIGNhbGxiYWNrID0gY2FsbGJhY2tzLnNoaWZ0KCk7
CiAgICBpZiAodHlwZW9mIGNhbGxiYWNrID09ICdmdW5jdGlvbicpIHsKICAgICAgY2FsbGJhY2so
KTsKICAgICAgY29udGludWU7CiAgICB9CiAgICB2YXIgZnVuYyA9IGNhbGxiYWNrLmZ1bmM7CiAg
ICBpZiAodHlwZW9mIGZ1bmMgPT09ICdudW1iZXInKSB7CiAgICAgIGlmIChjYWxsYmFjay5hcmcg
PT09IHVuZGVmaW5lZCkgewogICAgICAgIFJ1bnRpbWUuZHluQ2FsbCgndicsIGZ1bmMpOwogICAg
ICB9IGVsc2UgewogICAgICAgIFJ1bnRpbWUuZHluQ2FsbCgndmknLCBmdW5jLCBbY2FsbGJhY2su
YXJnXSk7CiAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgIGZ1bmMoY2FsbGJhY2suYXJnID09PSB1
bmRlZmluZWQgPyBudWxsIDogY2FsbGJhY2suYXJnKTsKICAgIH0KICB9Cn0KCnZhciBfX0FUUFJF
UlVOX18gID0gW107IC8vIGZ1bmN0aW9ucyBjYWxsZWQgYmVmb3JlIHRoZSBydW50aW1lIGlzIGlu
aXRpYWxpemVkCnZhciBfX0FUSU5JVF9fICAgID0gW107IC8vIGZ1bmN0aW9ucyBjYWxsZWQgZHVy
aW5nIHN0YXJ0dXAKdmFyIF9fQVRNQUlOX18gICAgPSBbXTsgLy8gZnVuY3Rpb25zIGNhbGxlZCB3
aGVuIG1haW4oKSBpcyB0byBiZSBydW4KdmFyIF9fQVRFWElUX18gICAgPSBbXTsgLy8gZnVuY3Rp
b25zIGNhbGxlZCBkdXJpbmcgc2h1dGRvd24KdmFyIF9fQVRQT1NUUlVOX18gPSBbXTsgLy8gZnVu
Y3Rpb25zIGNhbGxlZCBhZnRlciB0aGUgcnVudGltZSBoYXMgZXhpdGVkCgp2YXIgcnVudGltZUlu
aXRpYWxpemVkID0gZmFsc2U7CgpmdW5jdGlvbiBwcmVSdW4oKSB7CiAgLy8gY29tcGF0aWJpbGl0
eSAtIG1lcmdlIGluIGFueXRoaW5nIGZyb20gTW9kdWxlWydwcmVSdW4nXSBhdCB0aGlzIHRpbWUK
ICBpZiAoTW9kdWxlWydwcmVSdW4nXSkgewogICAgaWYgKHR5cGVvZiBNb2R1bGVbJ3ByZVJ1bidd
ID09ICdmdW5jdGlvbicpIE1vZHVsZVsncHJlUnVuJ10gPSBbTW9kdWxlWydwcmVSdW4nXV07CiAg
ICB3aGlsZSAoTW9kdWxlWydwcmVSdW4nXS5sZW5ndGgpIHsKICAgICAgYWRkT25QcmVSdW4oTW9k
dWxlWydwcmVSdW4nXS5zaGlmdCgpKTsKICAgIH0KICB9CiAgY2FsbFJ1bnRpbWVDYWxsYmFja3Mo
X19BVFBSRVJVTl9fKTsKfQoKZnVuY3Rpb24gZW5zdXJlSW5pdFJ1bnRpbWUoKSB7CiAgaWYgKHJ1
bnRpbWVJbml0aWFsaXplZCkgcmV0dXJuOwogIHJ1bnRpbWVJbml0aWFsaXplZCA9IHRydWU7CiAg
Y2FsbFJ1bnRpbWVDYWxsYmFja3MoX19BVElOSVRfXyk7Cn0KCmZ1bmN0aW9uIHByZU1haW4oKSB7
CiAgY2FsbFJ1bnRpbWVDYWxsYmFja3MoX19BVE1BSU5fXyk7Cn0KCmZ1bmN0aW9uIGV4aXRSdW50
aW1lKCkgewogIGNhbGxSdW50aW1lQ2FsbGJhY2tzKF9fQVRFWElUX18pOwp9CgpmdW5jdGlvbiBw
b3N0UnVuKCkgewogIC8vIGNvbXBhdGliaWxpdHkgLSBtZXJnZSBpbiBhbnl0aGluZyBmcm9tIE1v
ZHVsZVsncG9zdFJ1biddIGF0IHRoaXMgdGltZQogIGlmIChNb2R1bGVbJ3Bvc3RSdW4nXSkgewog
ICAgaWYgKHR5cGVvZiBNb2R1bGVbJ3Bvc3RSdW4nXSA9PSAnZnVuY3Rpb24nKSBNb2R1bGVbJ3Bv
c3RSdW4nXSA9IFtNb2R1bGVbJ3Bvc3RSdW4nXV07CiAgICB3aGlsZSAoTW9kdWxlWydwb3N0UnVu
J10ubGVuZ3RoKSB7CiAgICAgIGFkZE9uUG9zdFJ1bihNb2R1bGVbJ3Bvc3RSdW4nXS5zaGlmdCgp
KTsKICAgIH0KICB9CiAgY2FsbFJ1bnRpbWVDYWxsYmFja3MoX19BVFBPU1RSVU5fXyk7Cn0KCmZ1
bmN0aW9uIGFkZE9uUHJlUnVuKGNiKSB7CiAgX19BVFBSRVJVTl9fLnVuc2hpZnQoY2IpOwp9Ck1v
ZHVsZVsnYWRkT25QcmVSdW4nXSA9IE1vZHVsZS5hZGRPblByZVJ1biA9IGFkZE9uUHJlUnVuOwoK
ZnVuY3Rpb24gYWRkT25Jbml0KGNiKSB7CiAgX19BVElOSVRfXy51bnNoaWZ0KGNiKTsKfQpNb2R1
bGVbJ2FkZE9uSW5pdCddID0gTW9kdWxlLmFkZE9uSW5pdCA9IGFkZE9uSW5pdDsKCmZ1bmN0aW9u
IGFkZE9uUHJlTWFpbihjYikgewogIF9fQVRNQUlOX18udW5zaGlmdChjYik7Cn0KTW9kdWxlWydh
ZGRPblByZU1haW4nXSA9IE1vZHVsZS5hZGRPblByZU1haW4gPSBhZGRPblByZU1haW47CgpmdW5j
dGlvbiBhZGRPbkV4aXQoY2IpIHsKICBfX0FURVhJVF9fLnVuc2hpZnQoY2IpOwp9Ck1vZHVsZVsn
YWRkT25FeGl0J10gPSBNb2R1bGUuYWRkT25FeGl0ID0gYWRkT25FeGl0OwoKZnVuY3Rpb24gYWRk
T25Qb3N0UnVuKGNiKSB7CiAgX19BVFBPU1RSVU5fXy51bnNoaWZ0KGNiKTsKfQpNb2R1bGVbJ2Fk
ZE9uUG9zdFJ1biddID0gTW9kdWxlLmFkZE9uUG9zdFJ1biA9IGFkZE9uUG9zdFJ1bjsKCi8vIFRv
b2xzCgovLyBUaGlzIHByb2Nlc3NlcyBhIEpTIHN0cmluZyBpbnRvIGEgQy1saW5lIGFycmF5IG9m
IG51bWJlcnMsIDAtdGVybWluYXRlZC4KLy8gRm9yIExMVk0tb3JpZ2luYXRpbmcgc3RyaW5ncywg
c2VlIHBhcnNlci5qczpwYXJzZUxMVk1TdHJpbmcgZnVuY3Rpb24KZnVuY3Rpb24gaW50QXJyYXlG
cm9tU3RyaW5nKHN0cmluZ3ksIGRvbnRBZGROdWxsLCBsZW5ndGggLyogb3B0aW9uYWwgKi8pIHsK
ICB2YXIgcmV0ID0gKG5ldyBSdW50aW1lLlVURjhQcm9jZXNzb3IoKSkucHJvY2Vzc0pTU3RyaW5n
KHN0cmluZ3kpOwogIGlmIChsZW5ndGgpIHsKICAgIHJldC5sZW5ndGggPSBsZW5ndGg7CiAgfQog
IGlmICghZG9udEFkZE51bGwpIHsKICAgIHJldC5wdXNoKDApOwogIH0KICByZXR1cm4gcmV0Owp9
Ck1vZHVsZVsnaW50QXJyYXlGcm9tU3RyaW5nJ10gPSBpbnRBcnJheUZyb21TdHJpbmc7CgpmdW5j
dGlvbiBpbnRBcnJheVRvU3RyaW5nKGFycmF5KSB7CiAgdmFyIHJldCA9IFtdOwogIGZvciAodmFy
IGkgPSAwOyBpIDwgYXJyYXkubGVuZ3RoOyBpKyspIHsKICAgIHZhciBjaHIgPSBhcnJheVtpXTsK
ICAgIGlmIChjaHIgPiAweEZGKSB7CiAgICAgIGNociAmPSAweEZGOwogICAgfQogICAgcmV0LnB1
c2goU3RyaW5nLmZyb21DaGFyQ29kZShjaHIpKTsKICB9CiAgcmV0dXJuIHJldC5qb2luKCcnKTsK
fQpNb2R1bGVbJ2ludEFycmF5VG9TdHJpbmcnXSA9IGludEFycmF5VG9TdHJpbmc7CgovLyBXcml0
ZSBhIEphdmFzY3JpcHQgYXJyYXkgdG8gc29tZXdoZXJlIGluIHRoZSBoZWFwCmZ1bmN0aW9uIHdy
aXRlU3RyaW5nVG9NZW1vcnkoc3RyaW5nLCBidWZmZXIsIGRvbnRBZGROdWxsKSB7CiAgdmFyIGFy
cmF5ID0gaW50QXJyYXlGcm9tU3RyaW5nKHN0cmluZywgZG9udEFkZE51bGwpOwogIHZhciBpID0g
MDsKICB3aGlsZSAoaSA8IGFycmF5Lmxlbmd0aCkgewogICAgdmFyIGNociA9IGFycmF5W2ldOwog
ICAgSEVBUDhbKCgoYnVmZmVyKSsoaSkpfDApXT1jaHI7CiAgICBpID0gaSArIDE7CiAgfQp9Ck1v
ZHVsZVsnd3JpdGVTdHJpbmdUb01lbW9yeSddID0gd3JpdGVTdHJpbmdUb01lbW9yeTsKCmZ1bmN0
aW9uIHdyaXRlQXJyYXlUb01lbW9yeShhcnJheSwgYnVmZmVyKSB7CiAgZm9yICh2YXIgaSA9IDA7
IGkgPCBhcnJheS5sZW5ndGg7IGkrKykgewogICAgSEVBUDhbKCgoYnVmZmVyKSsoaSkpfDApXT1h
cnJheVtpXTsKICB9Cn0KTW9kdWxlWyd3cml0ZUFycmF5VG9NZW1vcnknXSA9IHdyaXRlQXJyYXlU
b01lbW9yeTsKCmZ1bmN0aW9uIHdyaXRlQXNjaWlUb01lbW9yeShzdHIsIGJ1ZmZlciwgZG9udEFk
ZE51bGwpIHsKICBmb3IgKHZhciBpID0gMDsgaSA8IHN0ci5sZW5ndGg7IGkrKykgewogICAgSEVB
UDhbKCgoYnVmZmVyKSsoaSkpfDApXT1zdHIuY2hhckNvZGVBdChpKTsKICB9CiAgaWYgKCFkb250
QWRkTnVsbCkgSEVBUDhbKCgoYnVmZmVyKSsoc3RyLmxlbmd0aCkpfDApXT0wOwp9Ck1vZHVsZVsn
d3JpdGVBc2NpaVRvTWVtb3J5J10gPSB3cml0ZUFzY2lpVG9NZW1vcnk7CgpmdW5jdGlvbiB1blNp
Z24odmFsdWUsIGJpdHMsIGlnbm9yZSkgewogIGlmICh2YWx1ZSA+PSAwKSB7CiAgICByZXR1cm4g
dmFsdWU7CiAgfQogIHJldHVybiBiaXRzIDw9IDMyID8gMipNYXRoLmFicygxIDw8IChiaXRzLTEp
KSArIHZhbHVlIC8vIE5lZWQgc29tZSB0cmlja2VyeSwgc2luY2UgaWYgYml0cyA9PSAzMiwgd2Ug
YXJlIHJpZ2h0IGF0IHRoZSBsaW1pdCBvZiB0aGUgYml0cyBKUyB1c2VzIGluIGJpdHNoaWZ0cwog
ICAgICAgICAgICAgICAgICAgIDogTWF0aC5wb3coMiwgYml0cykgICAgICAgICArIHZhbHVlOwp9
CmZ1bmN0aW9uIHJlU2lnbih2YWx1ZSwgYml0cywgaWdub3JlKSB7CiAgaWYgKHZhbHVlIDw9IDAp
IHsKICAgIHJldHVybiB2YWx1ZTsKICB9CiAgdmFyIGhhbGYgPSBiaXRzIDw9IDMyID8gTWF0aC5h
YnMoMSA8PCAoYml0cy0xKSkgLy8gYWJzIGlzIG5lZWRlZCBpZiBiaXRzID09IDMyCiAgICAgICAg
ICAgICAgICAgICAgICAgIDogTWF0aC5wb3coMiwgYml0cy0xKTsKICBpZiAodmFsdWUgPj0gaGFs
ZiAmJiAoYml0cyA8PSAzMiB8fCB2YWx1ZSA+IGhhbGYpKSB7IC8vIGZvciBodWdlIHZhbHVlcywg
d2UgY2FuIGhpdCB0aGUgcHJlY2lzaW9uIGxpbWl0IGFuZCBhbHdheXMgZ2V0IHRydWUgaGVyZS4g
c28gZG9uJ3QgZG8gdGhhdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gYnV0LCBpbiBnZW5lcmFsIHRoZXJlIGlzIG5vIHBlcmZlY3Qgc29s
dXRpb24gaGVyZS4gV2l0aCA2NC1iaXQgaW50cywgd2UgZ2V0IHJvdW5kaW5nIGFuZCBlcnJvcnMK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IFRPRE86IEluIGk2NCBtb2RlIDEsIHJlc2lnbiB0aGUgdHdvIHBhcnRzIHNlcGFyYXRlbHkgYW5k
IHNhZmVseQogICAgdmFsdWUgPSAtMipoYWxmICsgdmFsdWU7IC8vIENhbm5vdCBiaXRzaGlmdCBo
YWxmLCBhcyBpdCBtYXkgYmUgYXQgdGhlIGxpbWl0IG9mIHRoZSBiaXRzIEpTIHVzZXMgaW4gYml0
c2hpZnRzCiAgfQogIHJldHVybiB2YWx1ZTsKfQoKLy8gY2hlY2sgZm9yIGltdWwgc3VwcG9ydCwg
YW5kIGFsc28gZm9yIGNvcnJlY3RuZXNzICggaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTEyNjM0NSApCmlmICghTWF0aFsnaW11bCddIHx8IE1hdGhbJ2ltdWwnXSgweGZm
ZmZmZmZmLCA1KSAhPT0gLTUpIE1hdGhbJ2ltdWwnXSA9IGZ1bmN0aW9uIGltdWwoYSwgYikgewog
IHZhciBhaCAgPSBhID4+PiAxNjsKICB2YXIgYWwgPSBhICYgMHhmZmZmOwogIHZhciBiaCAgPSBi
ID4+PiAxNjsKICB2YXIgYmwgPSBiICYgMHhmZmZmOwogIHJldHVybiAoYWwqYmwgKyAoKGFoKmJs
ICsgYWwqYmgpIDw8IDE2KSl8MDsKfTsKTWF0aC5pbXVsID0gTWF0aFsnaW11bCddOwoKCnZhciBN
YXRoX2FicyA9IE1hdGguYWJzOwp2YXIgTWF0aF9jb3MgPSBNYXRoLmNvczsKdmFyIE1hdGhfc2lu
ID0gTWF0aC5zaW47CnZhciBNYXRoX3RhbiA9IE1hdGgudGFuOwp2YXIgTWF0aF9hY29zID0gTWF0
aC5hY29zOwp2YXIgTWF0aF9hc2luID0gTWF0aC5hc2luOwp2YXIgTWF0aF9hdGFuID0gTWF0aC5h
dGFuOwp2YXIgTWF0aF9hdGFuMiA9IE1hdGguYXRhbjI7CnZhciBNYXRoX2V4cCA9IE1hdGguZXhw
Owp2YXIgTWF0aF9sb2cgPSBNYXRoLmxvZzsKdmFyIE1hdGhfc3FydCA9IE1hdGguc3FydDsKdmFy
IE1hdGhfY2VpbCA9IE1hdGguY2VpbDsKdmFyIE1hdGhfZmxvb3IgPSBNYXRoLmZsb29yOwp2YXIg
TWF0aF9wb3cgPSBNYXRoLnBvdzsKdmFyIE1hdGhfaW11bCA9IE1hdGguaW11bDsKdmFyIE1hdGhf
ZnJvdW5kID0gTWF0aC5mcm91bmQ7CnZhciBNYXRoX21pbiA9IE1hdGgubWluOwoKLy8gQSBjb3Vu
dGVyIG9mIGRlcGVuZGVuY2llcyBmb3IgY2FsbGluZyBydW4oKS4gSWYgd2UgbmVlZCB0bwovLyBk
byBhc3luY2hyb25vdXMgd29yayBiZWZvcmUgcnVubmluZywgaW5jcmVtZW50IHRoaXMgYW5kCi8v
IGRlY3JlbWVudCBpdC4gSW5jcmVtZW50aW5nIG11c3QgaGFwcGVuIGluIGEgcGxhY2UgbGlrZQov
LyBQUkVfUlVOX0FERElUSU9OUyAodXNlZCBieSBlbWNjIHRvIGFkZCBmaWxlIHByZWxvYWRpbmcp
LgovLyBOb3RlIHRoYXQgeW91IGNhbiBhZGQgZGVwZW5kZW5jaWVzIGluIHByZVJ1biwgZXZlbiB0
aG91Z2gKLy8gaXQgaGFwcGVucyByaWdodCBiZWZvcmUgcnVuIC0gcnVuIHdpbGwgYmUgcG9zdHBv
bmVkIHVudGlsCi8vIHRoZSBkZXBlbmRlbmNpZXMgYXJlIG1ldC4KdmFyIHJ1bkRlcGVuZGVuY2ll
cyA9IDA7CnZhciBydW5EZXBlbmRlbmN5V2F0Y2hlciA9IG51bGw7CnZhciBkZXBlbmRlbmNpZXNG
dWxmaWxsZWQgPSBudWxsOyAvLyBvdmVycmlkZGVuIHRvIHRha2UgZGlmZmVyZW50IGFjdGlvbnMg
d2hlbiBhbGwgcnVuIGRlcGVuZGVuY2llcyBhcmUgZnVsZmlsbGVkCgpmdW5jdGlvbiBhZGRSdW5E
ZXBlbmRlbmN5KGlkKSB7CiAgcnVuRGVwZW5kZW5jaWVzKys7CiAgaWYgKE1vZHVsZVsnbW9uaXRv
clJ1bkRlcGVuZGVuY2llcyddKSB7CiAgICBNb2R1bGVbJ21vbml0b3JSdW5EZXBlbmRlbmNpZXMn
XShydW5EZXBlbmRlbmNpZXMpOwogIH0KfQpNb2R1bGVbJ2FkZFJ1bkRlcGVuZGVuY3knXSA9IGFk
ZFJ1bkRlcGVuZGVuY3k7CmZ1bmN0aW9uIHJlbW92ZVJ1bkRlcGVuZGVuY3koaWQpIHsKICBydW5E
ZXBlbmRlbmNpZXMtLTsKICBpZiAoTW9kdWxlWydtb25pdG9yUnVuRGVwZW5kZW5jaWVzJ10pIHsK
ICAgIE1vZHVsZVsnbW9uaXRvclJ1bkRlcGVuZGVuY2llcyddKHJ1bkRlcGVuZGVuY2llcyk7CiAg
fQogIGlmIChydW5EZXBlbmRlbmNpZXMgPT0gMCkgewogICAgaWYgKHJ1bkRlcGVuZGVuY3lXYXRj
aGVyICE9PSBudWxsKSB7CiAgICAgIGNsZWFySW50ZXJ2YWwocnVuRGVwZW5kZW5jeVdhdGNoZXIp
OwogICAgICBydW5EZXBlbmRlbmN5V2F0Y2hlciA9IG51bGw7CiAgICB9CiAgICBpZiAoZGVwZW5k
ZW5jaWVzRnVsZmlsbGVkKSB7CiAgICAgIHZhciBjYWxsYmFjayA9IGRlcGVuZGVuY2llc0Z1bGZp
bGxlZDsKICAgICAgZGVwZW5kZW5jaWVzRnVsZmlsbGVkID0gbnVsbDsKICAgICAgY2FsbGJhY2so
KTsgLy8gY2FuIGFkZCBhbm90aGVyIGRlcGVuZGVuY2llc0Z1bGZpbGxlZAogICAgfQogIH0KfQpN
b2R1bGVbJ3JlbW92ZVJ1bkRlcGVuZGVuY3knXSA9IHJlbW92ZVJ1bkRlcGVuZGVuY3k7CgpNb2R1
bGVbInByZWxvYWRlZEltYWdlcyJdID0ge307IC8vIG1hcHMgdXJsIHRvIGltYWdlIGRhdGEKTW9k
dWxlWyJwcmVsb2FkZWRBdWRpb3MiXSA9IHt9OyAvLyBtYXBzIHVybCB0byBhdWRpbyBkYXRhCgoK
dmFyIG1lbW9yeUluaXRpYWxpemVyID0gbnVsbDsKCi8vID09PSBCb2R5ID09PQp2YXIgX19aVFZO
MTBfX2N4eGFiaXYxMTdfX2NsYXNzX3R5cGVfaW5mb0UgPSAyMDA4MDsKdmFyIF9fWlRWTjEwX19j
eHhhYml2MTIwX19zaV9jbGFzc190eXBlX2luZm9FID0gMjAxMjA7CgoKCgpTVEFUSUNfQkFTRSA9
IDg7CgpTVEFUSUNUT1AgPSBTVEFUSUNfQkFTRSArIFJ1bnRpbWUuYWxpZ25NZW1vcnkoMjA5NDcp
OwovKiBnbG9iYWwgaW5pdGlhbGl6ZXJzICovIF9fQVRJTklUX18ucHVzaCh7IGZ1bmM6IGZ1bmN0
aW9uKCkgeyBfX0dMT0JBTF9fSV9hKCkgfSB9KTsKCgovKiBtZW1vcnkgaW5pdGlhbGl6ZXIgKi8g
YWxsb2NhdGUoWzAsMCwwLDAsMCwwLDUzLDY0LDAsMCwwLDAsMCwwLDI0OCwxOTEsMCwwLDAsMCww
LDAsNTYsNjQsMCwwLDAsMCwwLDAsMjQ4LDE5MSwwLDAsMCwwLDAsMCw2MCw2NCwwLDAsMCwwLDAs
MCwyNDgsMTkxLDAsMCwwLDAsMCwwLDYxLDY0LDAsMCwwLDAsMCwwLDI0LDE5MiwwLDAsMCwwLDAs
MCw2Niw2NCwwLDAsMCwwLDAsMCwyNCwxOTIsMCwwLDAsMCwwLDAsNjksNjQsMTAyLDEwMiwxMDIs
MTAyLDEwMiwxMDIsMjQsMTkyLDAsMCwwLDAsMCwwLDcyLDY0LDAsMCwwLDAsMCwwLDI4LDE5Miw5
NCwxODYsNzMsMTIsMiwxMDcsNzQsNjQsMCwwLDAsMCwwLDAsMjgsMTkyLDAsMCwwLDAsMCwwLDc4
LDY0LDUxLDUxLDUxLDUxLDUxLDUxLDI5LDE5MiwwLDAsMCwwLDAsMTI4LDgwLDY0LDIwNSwyMDQs
MjA0LDIwNCwyMDQsMjA0LDMwLDE5MiwwLDAsMCwwLDAsMCw4Miw2NCwwLDAsMCwwLDAsMCwzMiwx
OTIsMCwwLDAsMCwwLDEyOCw4Myw2NCwxNTQsMTUzLDE1MywxNTMsMTUzLDE1MywzMywxOTIsMCww
LDAsMCwwLDAsODUsNjQsMCwwLDAsMCwwLDAsMzYsMTkyLDg2LDE0LDQ1LDE3OCwxNTcsMzksODYs
NjQsMTc0LDcxLDIyNSwxMjIsMjAsMTEwLDM4LDE5MiwxMDAsNTksMjIzLDc5LDE0MSwyMyw4Nyw2
NCwyNSw0LDg2LDE0LDQ1LDE3OCw0MCwxOTIsMTc4LDE1NywyMzksMTY3LDE5OCwyMzUsODcsNjQs
MTQ1LDIzNywxMjQsNjMsNTMsMjIyLDQzLDE5MiwwLDAsMCwwLDAsMTkyLDg4LDY0LDAsMCwwLDAs
MCwwLDQ2LDE5Miw4LDAsMCwwLDE3LDAsMCwwLDAsMCwwLDAsMCwwLDUzLDY0LDAsMCwwLDAsMCww
LDI0MCwxOTEsMCwwLDAsMCwwLDAsNTYsNjQsMCwwLDAsMCwwLDAsMjQwLDE5MSwwLDAsMCwwLDAs
MCw2MCw2NCwwLDAsMCwwLDAsMCwyNDAsMTkxLDAsMCwwLDAsMCwwLDYxLDY0LDAsMCwwLDAsMCww
LDI0MCwxOTEsNDksOCwxNzIsMjgsOTAsNjgsNjQsNjQsMCwwLDAsMCwwLDAsMjQwLDE5MSwwLDAs
MCwwLDAsMCw2Niw2NCwxMDIsMTAyLDEwMiwxMDIsMTAyLDEwMiwyMzAsMTkxLDAsMCwwLDAsMCww
LDY5LDY0LDE1NCwxNTMsMTUzLDE1MywxNTMsMTUzLDIxNywxOTEsMCwwLDAsMCwwLDAsNzIsNjQs
MTU0LDE1MywxNTMsMTUzLDE1MywxNTMsMjAxLDE5MSwwLDAsMCwwLDAsMCw3NSw2NCwxODQsMzAs
MTMzLDIzNSw4MSwxODQsMTkwLDE5MSwwLDAsMCwwLDAsMCw3OCw2NCwxMjMsMjAsMTc0LDcxLDIy
NSwxMjIsMTgwLDE5MSwwLDAsMCwwLDAsMTI4LDgwLDY0LDIzNiw4MSwxODQsMzAsMTMzLDIzNSwx
NzcsMTkxLDAsMCwwLDAsMCwwLDgyLDY0LDIzNiw4MSwxODQsMzAsMTMzLDIzNSwxNzcsMTkxLDAs
MCwwLDAsMCwxOTIsODMsNjQsMTY0LDExMiw2MSwxMCwyMTUsMTYzLDE3NiwxOTEsMCwwLDAsMCww
LDAsODUsNjQsODQsMjI3LDE2NSwxNTUsMTk2LDMyLDE3NiwxOTEsMCwwLDAsMCwwLDAsODYsNjQs
MTg0LDMwLDEzMywyMzUsODEsMTg0LDE3NCwxOTEsMCwwLDAsMCwwLDAsODgsNjQsMTU0LDE1Mywx
NTMsMTUzLDE1MywxNTMsMTY5LDE5MSwwLDAsMCwwLDAsMTkyLDg4LDY0LDE1NCwxNTMsMTUzLDE1
MywxNTMsMTUzLDE2OSwxOTEsMzIsMSwwLDAsMTcsMCwwLDAsMCwwLDAsMCwwLDAsNTMsNjQsMTAy
LDEwMiwxMDIsMTAyLDEwMiwxMDIsMjE0LDYzLDE4MCwyMDAsMTE4LDE5MCwxNTksMTU0LDU2LDY0
LDM5LDQ5LDgsMTcyLDI4LDkwLDIxMiw2MywyNDYsNDAsOTIsMTQzLDE5NCw4NSw1OCw2NCw2Niw5
NiwyMjksMjA4LDM0LDIxOSwyMDksNjMsMCwwLDAsMCwwLDAsNjAsNjQsMCwwLDAsMCwwLDAsMjA4
LDYzLDAsMCwwLDAsMCwwLDY0LDY0LDUxLDUxLDUxLDUxLDUxLDUxLDE5NSw2MywwLDAsMCwwLDAs
MCw2Niw2NCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsNjksNjQsMCwwLDAsMCwwLDAsMCww
LDAsMCwwLDAsMCwwLDcyLDY0LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCw3NSw2NCwwLDAs
MCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsNzgsNjQsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwx
MjgsODAsNjQsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDgyLDY0LDAsMCwwLDAsMCwwLDAs
MCwwLDAsMCwwLDAsMCw4Myw2NCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsODUsNjQsMCww
LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDg2LDY0LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAs
MCw4OCw2NCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDE5Miw4OCw2NCwwLDAsMCwwLDAsMCww
LDAsNTYsMiwwLDAsMTcsMCwwLDAsMCwwLDAsMCwwLDAsNTMsNjQsMTc0LDcxLDIyNSwxMjIsMjAs
MTc0LDIzNSw2MywwLDAsMCwwLDAsMCw1Niw2NCw0MSw5MiwxNDMsMTk0LDI0NSw0MCwyMzYsNjMs
MCwwLDAsMCwwLDAsNjEsNjQsMTIxLDIzMywzOCw0OSw4LDE3MiwyMzYsNjMsMCwwLDAsMCwwLDAs
NjYsNjQsMzEsMTMzLDIzNSw4MSwxODQsMzAsMjM3LDYzLDAsMCwwLDAsMCwwLDcyLDY0LDExMyw2
MSwxMCwyMTUsMTYzLDExMiwyMzcsNjMsMCwwLDAsMCwwLDAsNzgsNjQsMTAyLDEwMiwxMDIsMTAy
LDEwMiwxMDIsMjM4LDYzLDAsMCwwLDAsMCwwLDgyLDY0LDIyNSwxMjIsMjAsMTc0LDcxLDIyNSwy
MzgsNjMsMCwwLDAsMCwwLDAsODUsNjQsNCw4NiwxNCw0NSwxNzgsMTU3LDIzOSw2MywwLDAsMCww
LDAsMCw4Niw2NCwxMjksMTQ5LDY3LDEzOSwxMDgsMjMxLDIzOSw2MywwLDAsMCwwLDAsMTkyLDg4
LDY0LDQsODYsMTQsNDUsMTc4LDE1NywyMzksNjMsODAsMywwLDAsMTAsMCwwLDAsMCwwLDAsMCww
LDAsNTMsNjQsMjUwLDEyNiwxMDYsMTg4LDExNiwxNDcsMTA0LDYzLDAsMCwwLDAsMCwwLDU2LDY0
LDI1MCwxMjYsMTA2LDE4OCwxMTYsMTQ3LDEwNCw2MywwLDAsMCwwLDAsMCw2MCw2NCwyNTAsMTI2
LDEwNiwxODgsMTE2LDE0NywxMDQsNjMsMCwwLDAsMCwwLDAsNjEsNjQsMTg0LDMwLDEzMywyMzUs
ODEsMTg0LDE3NCw2MywwLDAsMCwwLDAsMCw2Myw2NCwxNTQsMTUzLDE1MywxNTMsMTUzLDE1Mywx
ODUsNjMsMCwwLDAsMCwwLDAsNjYsNjQsNDEsOTIsMTQzLDE5NCwyNDUsNDAsMTg4LDYzLDAsMCww
LDAsMCwwLDY5LDY0LDE4NCwzMCwxMzMsMjM1LDgxLDE4NCwxOTAsNjMsMCwwLDAsMCwwLDAsNzIs
NjQsMTU0LDE1MywxNTMsMTUzLDE1MywxNTMsMjAxLDYzLDAsMCwwLDAsMCwwLDc1LDY0LDE1NCwx
NTMsMTUzLDE1MywxNTMsMTUzLDIwMSw2MywwLDAsMCwwLDAsMCw3OCw2NCwwLDAsMCwwLDAsMCwy
MDgsNjMsMCwwLDAsMCwwLDEyOCw4MCw2NCw3MiwyMjUsMTIyLDIwLDE3NCw3MSwyMDksNjMsMiw0
MywxMzUsMjIsMjE3LDE0LDgyLDY0LDUxLDUxLDUxLDUxLDUxLDUxLDIxMSw2MywwLDAsMCwwLDAs
MTI4LDgzLDY0LDEwMiwxMDIsMTAyLDEwMiwxMDIsMTAyLDIxNCw2MywwLDAsMCwwLDAsMCw4NSw2
NCwwLDAsMCwwLDAsMCwyMjQsNjMsNjgsMTM5LDEwOCwyMzEsMjUxLDMzLDg2LDY0LDU3LDE4MCwy
MDAsMTE4LDE5MCwxNTksMjI2LDYzLDEyOSwxNDksNjcsMTM5LDEwOCw3LDg3LDY0LDExNSwxMDQs
MTQ1LDIzNywxMjQsNjMsMjI5LDYzLDE4OCwxMTYsMTQ3LDI0LDQsMjQ2LDg3LDY0LDE5OSw3NSw1
NSwxMzcsNjUsOTYsMjMzLDYzLDAsMCwwLDAsMCwxOTIsODgsNjQsMCwwLDAsMCwwLDAsMjQwLDYz
LDI0OCwzLDAsMCwxOCwwLDAsMCwwLDAsMCwwLDAsMCw1Myw2NCw1MSw1MSw1MSw1MSw1MSw1MSwy
MzUsMTkxLDE4NCwzMCwxMzMsMjM1LDgxLDE1Miw1NSw2NCw1MSw1MSw1MSw1MSw1MSw1MSwyMzUs
MTkxLDE3NCw3MSwyMjUsMTIyLDIwLDE0LDU5LDY0LDE0MywxOTQsMjQ1LDQwLDkyLDE0MywyMzQs
MTkxLDAsMCwwLDAsMCwwLDYxLDY0LDEwMiwxMDIsMTAyLDEwMiwxMDIsMTAyLDIzMCwxOTEsMjA1
LDIwNCwyMDQsMjA0LDIwNCwyMjAsNjYsNjQsODAsMTQxLDE1MSwxMTAsMTgsMTMxLDIyNCwxOTEs
OTYsMjI5LDIwOCwzNCwyMTksMTIxLDcxLDY0LDE4Niw3MywxMiwyLDQzLDEzNSwyMTQsMTkxLDAs
MCwwLDAsMCwwLDc4LDY0LDAsMCwwLDAsMCwwLDIwOCwxOTEsMCwwLDAsMCwwLDEwNCw4Miw2NCw1
OSwyMjMsNzksMTQxLDE1MSwxMTAsMTYyLDE5MSwxNjQsMTEyLDYxLDEwLDIxNSwxMTUsODcsNjQs
MjUwLDEyNiwxMDYsMTg4LDExNiwxNDcsMTIwLDE5MSwwLDAsMCwwLDAsMTkyLDg4LDY0LDE0Nywy
NCw0LDg2LDE0LDQ1LDI0MCw2MywzMiw1LDAsMCwxMCwwLDAsMCwwLDAsMCwwLDAsMCw1Myw2NCwx
NTQsMTUzLDE1MywxNTMsMTUzLDE1MywxNjksNjMsMCwwLDAsMCwwLDAsNTYsNjQsMTU0LDE1Mywx
NTMsMTUzLDE1MywxNTMsMTY5LDYzLDAsMCwwLDAsMCwwLDYwLDY0LDE1NCwxNTMsMTUzLDE1Mywx
NTMsMTUzLDE2OSw2MywwLDAsMCwwLDAsMTI4LDY1LDY0LDE1NCwxNTMsMTUzLDE1MywxNTMsMTUz
LDE2OSw2MywwLDAsMCwwLDAsMTI4LDY4LDY0LDE1NCwxNTMsMTUzLDE1MywxNTMsMTUzLDE2OSw2
MywwLDAsMCwwLDAsMCw2OSw2NCwwLDAsMCwwLDAsMCwxOTIsNjMsMCwwLDAsMCwwLDAsNzIsNjQs
MCwwLDAsMCwwLDAsMTkyLDYzLDAsMCwwLDAsMCwwLDc4LDY0LDAsMCwwLDAsMCwwLDE5Miw2Myww
LDAsMCwwLDAsMCw4Miw2NCwwLDAsMCwwLDAsMCwxOTIsNjMsMCwwLDAsMCwwLDAsODUsNjQsMCww
LDAsMCwwLDAsMTkyLDYzLDAsMCwwLDAsMCwwLDg4LDY0LDAsMCwwLDAsMCwwLDE5Miw2MywwLDAs
MCwwLDAsMTkyLDg4LDY0LDAsMCwwLDAsMCwwLDE5Miw2MywyMDAsNSwwLDAsMTIsMCwwLDAsMCww
LDAsMCwwLDAsNTMsNjQsMCwwLDAsMCwwLDAsMCw2NCwwLDAsMCwwLDAsMCw1Niw2NCwwLDAsMCww
LDAsMCwwLDY0LDAsMCwwLDAsMCwwLDYwLDY0LDAsMCwwLDAsMCwwLDAsNjQsMCwwLDAsMCwwLDAs
NjIsNjQsMCwwLDAsMCwwLDAsMCw2NCwxNCw0NSwxNzgsMTU3LDIzOSwxOTksNjUsNjQsMjMzLDM4
LDQ5LDgsMTcyLDI4LDI1NCw2MywwLDAsMCwwLDAsMTI4LDY4LDY0LDUxLDUxLDUxLDUxLDUxLDUx
LDI0Myw2MywwLDAsMCwwLDAsMCw2OSw2NCw1MSw1MSw1MSw1MSw1MSw1MSwyMjcsNjMsMCwwLDAs
MCwwLDAsNzIsNjQsMCwwLDAsMCwwLDAsMjI0LDYzLDAsMCwwLDAsMCwwLDc1LDY0LDAsMCwwLDAs
MCwwLDIyNCw2MywxNiw4OCw1NywxODAsMjAwLDI0Niw3Nyw2NCwxNzAsMjQxLDIxMCw3Nyw5OCwx
NiwyMjQsNjMsMTQ3LDI0LDQsODYsMTQsMTczLDgwLDY0LDE3OCwxNTcsMjM5LDE2NywxOTgsNzUs
MjIzLDYzLDE5MCwxNTksMjYsNDcsMjIxLDE0MCw4Miw2NCwxODYsNzMsMTIsMiw0MywxMzUsMjIy
LDYzLDE4MCwyMDAsMTE4LDE5MCwxNTksMjQyLDg2LDY0LDAsMCwwLDAsMCwwLDI0MCw2MywwLDAs
MCwwLDAsMTkyLDg4LDY0LDAsMCwwLDAsMCwwLDI0MCw2MywxNDQsNiwwLDAsMTQsMCwwLDAsMCww
LDAsMCwwLDAsNTMsNjQsMCwwLDAsMCwwLDAsMjAsNjQsMjMzLDM4LDQ5LDgsMTcyLDI4LDU2LDY0
LDAsMCwwLDAsMCwwLDIwLDY0LDAsMCwwLDAsMCwwLDYwLDY0LDAsMCwwLDAsMCwwLDIwLDY0LDAs
MCwwLDAsMCwxMjgsNjUsNjQsMTA5LDIzMSwyNTEsMTY5LDI0MSwyMTAsMTksNjQsMCwwLDAsMCww
LDEyOCw2OCw2NCwwLDAsMCwwLDAsMCwyNCw2NCwwLDAsMCwwLDAsMCw2OSw2NCwwLDAsMCwwLDAs
MCwwLDY0LDEwOSwyMzEsMjUxLDE2OSwyNDEsOTgsNzIsNjQsMjQ0LDI1MywyMTIsMTIwLDIzMywz
OCwyNDEsNjMsMTI5LDE0OSw2NywxMzksMTA4LDE5OSw3Niw2NCwxMDYsMTg4LDExNiwxNDcsMjQs
NCwyNDAsNjMsMTc2LDExNCwxMDQsMTQ1LDIzNywxNTYsNzksNjQsMjQ4LDgzLDIyNywxNjUsMTU1
LDE5NiwyNDAsNjMsOCwxNzIsMjgsOTAsMTAwLDc1LDgxLDY0LDIzNiw4MSwxODQsMzAsMTMzLDIz
NSwyNDEsNjMsMTg2LDczLDEyLDIsNDMsNTUsODIsNjQsMTAyLDEwMiwxMDIsMTAyLDEwMiwxMDIs
MjQ4LDYzLDk2LDIyOSwyMDgsMzQsMjE5LDI1LDg0LDY0LDIzMSwyNTEsMTY5LDI0MSwyMTAsNzcs
Niw2NCwyNSw0LDg2LDE0LDQ1LDEwNiw4OCw2NCwxMDksMjMxLDI1MSwxNjksMjQxLDIxMCwyNTEs
NjMsMTIwLDcsMCwwLDEzLDAsMCwwLDAsMCwwLDAsMCwwLDUzLDY0LDAsMCwwLDAsMCwwLDIzNiw2
MywyNDIsMjEwLDc3LDk4LDE2LDE4NCw1NSw2NCwxNzIsMjgsOTAsMTAwLDU5LDIyMywyMzUsNjMs
MjMzLDM4LDQ5LDgsMTcyLDYwLDU5LDY0LDE0MSwxNTEsMTEwLDE4LDEzMSwxOTIsMjM0LDYzLDIy
OSwyMDgsMzQsMjE5LDI0OSwyNTQsNjAsNjQsMjI5LDIwOCwzNCwyMTksMjQ5LDEyNiwyMzQsNjMs
NjEsMTAsMjE1LDE2MywxMTIsNDUsNjQsNjQsNjEsMTAsMjE1LDE2MywxMTIsNjEsMjM0LDYzLDE4
OCwxMTYsMTQ3LDI0LDQsODYsNjYsNjQsMjMzLDM4LDQ5LDgsMTcyLDI4LDIzNCw2MywyMTcsMjA2
LDI0Nyw4MywyMjcsODUsNjgsNjQsNjEsMTAsMjE1LDE2MywxMTIsNjEsMjM0LDYzLDE5MCwxNTks
MjYsNDcsMjIxLDIyOCw3MCw2NCwxNTAsNjcsMTM5LDEwOCwyMzEsMjUxLDIzMyw2MywyMjksMjA4
LDM0LDIxOSwyNDksMjM4LDcxLDY0LDE1MCw2NywxMzksMTA4LDIzMSwyNTEsMjMzLDYzLDAsMCww
LDAsMCwwLDc1LDY0LDIzNiw4MSwxODQsMzAsMTMzLDIzNSwyMzMsNjMsMCwwLDAsMCwwLDAsNzgs
NjQsMTU0LDE1MywxNTMsMTUzLDE1MywxNTMsMjMzLDYzLDAsMCwwLDAsMCwxMjgsODAsNjQsMTU0
LDE1MywxNTMsMTUzLDE1MywxNTMsMjMzLDYzLDAsMCwwLDAsMCwwLDgyLDY0LDIzNiw4MSwxODQs
MzAsMTMzLDIzNSwyMzMsNjMsNCw4NiwxNCw0NSwxNzgsMTgxLDgzLDY0LDE0NSwyMzcsMTI0LDYz
LDUzLDk0LDIzNCw2Myw2LDEyOSwxNDksNjcsMTM5LDI4LDg1LDY0LDUzLDk0LDE4Niw3MywxMiwy
LDIzNSw2MywyNDAsMTY3LDE5OCw3NSw1NSwxMjEsODYsNjQsNTMsOTQsMTg2LDczLDEyLDIsMjM1
LDYzLDE4LDEzMSwxOTIsMjAyLDE2MSwyOSw4OCw2NCwxMzcsNjUsOTYsMjI5LDIwOCwzNCwyMzUs
NjMsODQsMjI3LDE2NSwxNTUsMTk2LDIyNCw4OSw2NCwyMjUsMTIyLDIwLDE3NCw3MSwyMjUsMjM0
LDYzLDgsMTcyLDI4LDkwLDEwMCwyMzUsOTAsNjQsMjI1LDEyMiwyMCwxNzQsNzEsMjI1LDIzNCw2
Myw4MCw4LDAsMCwxOSwwLDAsMCwxMTUsMTA0LDE0NSwyMzcsMTI0LDIyMyw1Myw2NCw4MCwxNDEs
MTUxLDExMCwxOCwxMzEsMjM2LDYzLDEzOSwxMDgsMjMxLDI1MSwxNjksNDksNTcsNjQsMjE1LDE2
MywxMTIsNjEsMTAsMjE1LDIzNSw2MywxMjUsNjMsNTMsOTQsMTg2LDEzNyw2Miw2NCwxMzcsNjUs
OTYsMjI5LDIwOCwzNCwyMzUsNjMsMjExLDc3LDk4LDE2LDg4LDE4NSw2NSw2NCwxNzgsMTU3LDIz
OSwxNjcsMTk4LDc1LDIzNSw2MywxMzksMTA4LDIzMSwyNTEsMTY5LDE5Myw2OCw2NCwxMzksMTA4
LDIzMSwyNTEsMTY5LDI0MSwyMzQsNjMsMTAwLDU5LDIyMyw3OSwxNDEsMTgzLDcxLDY0LDU5LDIy
Myw3OSwxNDEsMTUxLDExMCwyMzQsNjMsMjIzLDc5LDE0MSwxNTEsMTEwLDIxMCw3NCw2NCw2MSwx
MCwyMTUsMTYzLDExMiw2MSwyMzQsNjMsOTIsMTQzLDE5NCwyNDUsNDAsOTIsNzgsNjQsMjAsMTc0
LDcxLDIyNSwxMjIsMjAsMjM0LDYzLDE4NCwzMCwxMzMsMjM1LDgxLDEwNCw4MCw2NCw2MSwxMCwy
MTUsMTYzLDExMiw2MSwyMzQsNjMsNzIsMjI1LDEyMiwyMCwxNzQsNjMsODIsNjQsMTc4LDE1Nywy
MzksMTY3LDE5OCw3NSwyMzUsNjMsMTY0LDExMiw2MSwxMCwyMTUsMTk1LDgzLDY0LDExMyw2MSwx
MCwyMTUsMTYzLDExMiwyMzcsNjMsMjI1LDEyMiwyMCwxNzQsNzEsODEsODUsNjQsMTY2LDE1NSwx
OTYsMzIsMTc2LDExNCwyNDAsNjMsMTQsNDUsMTc4LDE1NywyMzksMjMxLDg2LDY0LDE5MywyMDIs
MTYxLDY5LDE4MiwyNDMsMjQzLDYzLDE1MiwxMTAsMTgsMTMxLDE5MiwyMzQsODcsNjQsMzUsMjE5
LDI0OSwxMjYsMTA2LDE4OCwyNDQsNjMsMCwwLDAsMCwwLDE5Miw4OCw2NCwyMDUsMjA0LDIwNCwy
MDQsMjA0LDIwNCwyNDQsNjMsMCwwLDAsMCwwLDAsODksNjQsMTU0LDE1MywxNTMsMTUzLDE1Mywx
NTMsMjQxLDYzLDEzNiw5LDAsMCwxNiwwLDAsMCwwLDAsMCwwLDAsMCw1Myw2NCwxNTQsMTUzLDE1
MywxNTMsMTUzLDE1MywxNjksNjMsMCwwLDAsMCwwLDAsNTYsNjQsMTU0LDE1MywxNTMsMTUzLDE1
MywxNTMsMTY5LDYzLDAsMCwwLDAsMCwwLDYzLDY0LDE4NCwzMCwxMzMsMjM1LDgxLDE4NCwxNTgs
NjMsMCwwLDAsMCwwLDAsNjYsNjQsMTU0LDE1MywxNTMsMTUzLDE1MywxNTMsMTUzLDYzLDAsMCww
LDAsMCwwLDcyLDY0LDEyMywyMCwxNzQsNzEsMjI1LDEyMiwxMzIsNjMsMCwwLDAsMCwwLDAsNzgs
NjQsMTIzLDIwLDE3NCw3MSwyMjUsMTIyLDExNiw2MywwLDAsMCwwLDAsMTI4LDgwLDY0LDI1MCwx
MjYsMTA2LDE4OCwxMTYsMTQ3LDEwNCw2MywwLDAsMCwwLDAsMCw4Miw2NCwyNTIsMTY5LDI0MSwy
MTAsNzcsOTgsOTYsNjMsMCwwLDAsMCwwLDEyOCw4Myw2NCwyNTIsMTY5LDI0MSwyMTAsNzcsOTgs
OTYsNjMsMCwwLDAsMCwwLDAsODUsNjQsMjUwLDEyNiwxMDYsMTg4LDExNiwxNDcsMTA0LDYzLDAs
MCwwLDAsMCwxMjgsODYsNjQsMjUwLDEyNiwxMDYsMTg4LDExNiwxNDcsMTA0LDYzLDAsMCwwLDAs
MCwwLDg4LDY0LDI1MCwxMjYsMTA2LDE4OCwxMTYsMTQ3LDEwNCw2MywwLDAsMCwwLDAsMCw5MSw2
NCwyNTIsMTY5LDI0MSwyMTAsNzcsOTgsOTYsNjMsMTQ0LDEwLDAsMCwxMywwLDAsMCwxOTksNzUs
NTUsMTM3LDY1LDAsNTMsNjQsNiwxMjksMTQ5LDY3LDEzOSwxMDgsMjIzLDYzLDEzMSwxOTIsMjAy
LDE2MSw2OSwxNTAsNTgsNjQsMTcyLDI4LDkwLDEwMCw1OSwyMjMsMjIzLDYzLDI5LDkwLDEwMCw1
OSwyMjMsMzEsNjUsNjQsMjAsMTc0LDcxLDIyNSwxMjIsMjAsMjIyLDYzLDE4LDEzMSwxOTIsMjAy
LDE2MSwxMDEsNjgsNjQsMjExLDc3LDk4LDE2LDg4LDU3LDIyMCw2MywxNDcsMjQsNCw4NiwxNCwy
NTMsNzEsNjQsNzQsMTIsMiw0MywxMzUsMjIsMjE3LDYzLDAsMCwwLDAsMCwxMjgsNzUsNjQsMTc0
LDcxLDIyNSwxMjIsMjAsMTc0LDIxNSw2MywwLDAsMCwwLDAsMCw3OCw2NCwxNzQsNzEsMjI1LDEy
MiwyMCwxNzQsMjE1LDYzLDAsMCwwLDAsMCwxMjgsODAsNjQsMTc0LDcxLDIyNSwxMjIsMjAsMTc0
LDIxNSw2MywxNzgsMTU3LDIzOSwxNjcsMTk4LDI1MSw4MSw2NCwxNzQsNzEsMjI1LDEyMiwyMCwx
NzQsMjE1LDYzLDAsMCwwLDAsMCwxMjgsODMsNjQsMTc0LDcxLDIyNSwxMjIsMjAsMTc0LDIxNSw2
MywxNTAsNjcsMTM5LDEwOCwyMzEsMjUxLDg0LDY0LDI0Niw0MCw5MiwxNDMsMTk0LDI0NSwyMTYs
NjMsMjA3LDI0Nyw4MywyMjcsMTY1LDM1LDg2LDY0LDI0OCw4MywyMjcsMTY1LDE1NSwxOTYsMjE2
LDYzLDI0NCwyNTMsMjEyLDEyMCwyMzMsNTQsODcsNjQsMTU0LDE1MywxNTMsMTUzLDE1MywxNTMs
MjE3LDYzLDM1LDIxOSwyNDksMTI2LDEwNiw4NCw4OCw2NCwxMDYsMTg4LDExNiwxNDcsMjQsNCwy
MjIsNjMsMTU0LDE1MywxNTMsMTUzLDE1MywxNTMsODksNjQsMCwwLDAsMCwwLDAsMjI0LDYzLDIz
MywzOCw0OSw4LDE3MiwyMDQsOTAsNjQsNCw4NiwxNCw0NSwxNzgsMTU3LDIyMyw2MywxMDQsMTEs
MCwwLDE2LDAsMCwwLDAsMCwwLDAsMCwwLDUzLDY0LDQzLDEzNSwyMiwyMTcsMjA2LDI0NywyMzks
MTkxLDAsMCwwLDAsMCwwLDU2LDY0LDQzLDEzNSwyMiwyMTcsMjA2LDI0NywyMzksMTkxLDAsMCww
LDAsMCwwLDYyLDY0LDQzLDEzNSwyMiwyMTcsMjA2LDI0NywyMzksMTkxLDAsMCwwLDAsMCwwLDY2
LDY0LDQzLDEzNSwyMiwyMTcsMjA2LDI0NywyMzksMTkxLDAsMCwwLDAsMCwwLDY5LDY0LDQzLDEz
NSwyMiwyMTcsMjA2LDI0NywyMzksMTkxLDI1MCwxMjYsMTA2LDE4OCwxMTYsMyw3Miw2NCw0NSwx
NzgsMTU3LDIzOSwxNjcsMTk4LDIzOSwxOTEsMCwwLDAsMCwwLDAsNzgsNjQsMjE1LDE2MywxMTIs
NjEsMTAsMjE1LDIzOSwxOTEsNjEsMTAsMjE1LDE2MywxMTIsMjEsODIsNjQsMTg0LDMwLDEzMywy
MzUsODEsMTg0LDIzOCwxOTEsMjM4LDEyNCw2Myw1Myw5NCwxNTQsODMsNjQsMTk3LDMyLDE3Niwx
MTQsMTA0LDE0NSwyMzcsMTkxLDE0NywyNCw0LDg2LDE0LDIxLDg1LDY0LDUxLDUxLDUxLDUxLDUx
LDUxLDIzNSwxOTEsMTIxLDIzMywzOCw0OSw4LDIzNiw4NSw2NCwxNjQsMTEyLDYxLDEwLDIxNSwx
NjMsMjMyLDE5MSwwLDAsMCwwLDAsMTkyLDg2LDY0LDEwMiwxMDIsMTAyLDEwMiwxMDIsMTAyLDIz
MCwxOTEsMCwwLDAsMCwwLDAsODcsNjQsMzEsMTMzLDIzNSw4MSwxODQsMzAsMjM3LDE5MSwzOSw0
OSw4LDE3MiwyOCw1MCw4OCw2NCw1MSw1MSw1MSw1MSw1MSw1MSwyMzUsMTkxLDAsMCwwLDAsMCwx
OTIsODgsNjQsMTU0LDE1MywxNTMsMTUzLDE1MywxNTMsMjMzLDE5MSwwLDAsMCwwLDAsMCw4OSw2
NCw1MSw1MSw1MSw1MSw1MSw1MSwyMzUsMTkxLDEyNywxMDYsMTg4LDExNiwxNDcsNDAsOTAsNjQs
MTAyLDEwMiwxMDIsMTAyLDEwMiwxMDIsMjMwLDE5MSwyNTQsMjEyLDEyMCwyMzMsMzgsMjI1LDkw
LDY0LDAsMCwwLDAsMCwwLDIyNCwxOTEsMTEyLDEyLDAsMCwxOCwwLDAsMCwxMjUsNjMsNTMsOTQs
MTg2LDE0NSw4NCw2NCw1Myw5NCwxODYsNzMsMTIsMTMwLDUwLDE5MiwwLDAsMCwwLDAsMCw4Niw2
NCwwLDAsMCwwLDAsMCw2MiwxOTIsMCwwLDAsMCwwLDEyOCw4Niw2NCwwLDAsMCwwLDAsMCw2Miwx
OTIsMTkwLDE1OSwyNiw0NywyMjEsOTIsODcsNjQsMTc2LDExNCwxMDQsMTQ1LDIzNywxMjQsNjIs
MTkyLDI3LDQ3LDIyMSwzNiw2LDE4NSw4OCw2NCw1Myw5NCwxODYsNzMsMTIsMTYyLDYyLDE5Miwy
MzMsMzgsNDksOCwxNzIsMjI4LDkwLDY0LDUzLDk0LDE4Niw3MywxMiwxNjIsNjIsMTkyLDE1Miwx
MywwLDAsNiwwLDAsMCwwLDAsMCwwLDAsMCw4OSw2NCwwLDAsMCwwLDAsMTkyLDgyLDE5MiwyMywy
MTcsMjA2LDI0Nyw4MywyNDMsODksNjQsMzUsMjE5LDI0OSwxMjYsMTA2LDE3NiwxMDksMTkyLDAs
MCwwLDAsMCwwLDkxLDY0LDAsMCwwLDAsMCwwLDEyMSwxOTIsMCwxNCwwLDAsMywwLDAsMCw3MCwx
ODIsMjQzLDI1MywyMTIsMTUyLDg4LDY0LDI5LDkwLDEwMCw1OSwyMjMsMTQzLDQ4LDE5MiwxMDAs
NTksMjIzLDc5LDE0MSw0Nyw4OSw2NCw2OCwxMzksMTA4LDIzMSwyNTEsMjI1LDgyLDE5MiwxMTUs
MTA0LDE0NSwyMzcsMTI0LDIwNyw4OSw2NCwxNjIsNjksMTgyLDI0MywyNTMsNjgsOTksMTkyLDAs
MCwwLDAsMCwwLDkxLDY0LDAsMCwwLDAsMCwxOTIsMTE0LDE5Miw1NiwxNCwwLDAsNCwwLDAsMCww
LDAsMCwwLDAsMCw4OSw2NCwxODIsMjQzLDI1MywyMTIsMTIwLDI0OSw5MiwxOTIsMjQ0LDI1Mywy
MTIsMTIwLDIzMywyNDYsOTAsNjQsMCwwLDAsMCwwLDY0LDExMSwxOTIsMTI4LDE0LDAsMCwyLDAs
MCwwLDAsMCwwLDAsMCwwLDg5LDY0LDAsMCwwLDAsMCwxOTIsOTgsMTkyLDAsMCwwLDAsMCwwLDkx
LDY0LDAsMCwwLDAsMCwwLDEyMSwxOTIsMTY4LDE0LDAsMCwyLDAsMCwwLDAsMCwwLDAsMCwwLDg2
LDY0LDAsMCwwLDAsMCwwLDAsNjQsMCwwLDAsMCwwLDAsOTEsNjQsMjA1LDIwNCwyMDQsMjA0LDIw
NCwyMDQsMCw2NCwyMDgsMTQsMCwwLDIsMCwwLDAsMCwwLDAsMCwwLDAsODYsNjQsMjA1LDIwNCwy
MDQsMjA0LDIwNCwyMDQsOCw2NCwwLDAsMCwwLDAsMCw5MSw2NCwyMDUsMjA0LDIwNCwyMDQsMjA0
LDIwNCw4LDY0LDI0OCwxNCwwLDAsMiwwLDAsMCwwLDAsMCwwLDAsMCw4OSw2NCwxMjMsMjAsMTc0
LDcxLDIyNSwxMjIsMTY0LDYzLDc0LDEyLDIsNDMsMTM1LDE1OCw4OSw2NCwxNTQsMTUzLDE1Mywx
NTMsMTUzLDE1MywxODUsNjMsMjU0LDIxMiwxMjAsMjMzLDM4LDMzLDkwLDY0LDUxLDUxLDUxLDUx
LDUxLDUxLDIxMSw2MywwLDAsMCwwLDAsMTI4LDkwLDY0LDAsMCwwLDAsMCwwLDIyNCw2MywwLDAs
MCwwLDAsMTkyLDkwLDY0LDAsMCwwLDAsMCwwLDI0MCw2MywwLDAsMCwwLDAsMCw5MSw2NCwwLDAs
MCwwLDAsMCwyNDgsNjMsMzIsMTUsMCwwLDYsMCwwLDAsMTEwLDExMSwxMTYsMTAxLDc5LDEwMiwx
MDIsMzIsMzcsMTAwLDEwLDAsMCwwLDAsMCwxMTAsMTExLDExNiwxMDEsNzksMTEwLDMyLDM3LDEw
MCwxMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDIyNCwxNSwwLDAsMSwwLDAsMCwyLDAsMCwwLDEwMyw5
NywxMTYsMTAxLDAsMCwwLDAsMTAyLDExNCwxMDEsMTEzLDAsMCwwLDAsMTAzLDk3LDEwNSwxMTAs
MCwwLDAsMCw0OSw0OCwxMTIsMTA1LDk3LDExMCwxMTEsOTUsMTEyLDExMSwxMDgsMTIxLDAsMCww
LDAsMTIwLDc4LDAsMCwyMDgsMTUsMCwwLDAsMCwwLDAsMTM2LDE2LDAsMCwzLDAsMCwwLDQsMCww
LDAsMSwwLDAsMCwyLDAsMCwwLDMsMCwwLDAsNSwwLDAsMCwxLDAsMCwwLDIsMCwwLDAsMSwwLDAs
MCwyLDAsMCwwLDMsMCwwLDAsMSwwLDAsMCwyLDAsMCwwLDEsMCwwLDAsMywwLDAsMCw0LDAsMCww
LDQsMCwwLDAsMywwLDAsMCw1LDAsMCwwLDI0MCwyNTUsMjU1LDI1NSwxMzYsMTYsMCwwLDYsMCww
LDAsNTQsNzQsODMsNzksNzgsODUsNzMsMCw1NCw4MCw5NywxMTYsMTA0LDg1LDczLDAsNTAsODUs
NzMsMCwwLDAsMCwwLDEyMCw3OCwwLDAsODgsMTYsMCwwLDE2MCw3OCwwLDAsODAsMTYsMCwwLDk2
LDE2LDAsMCwwLDAsMCwwLDUyLDc3LDEwMSwxMTYsOTcsMCwwLDAsMTIwLDc4LDAsMCwxMjAsMTYs
MCwwLDAsNzksMCwwLDcyLDE2LDAsMCwwLDAsMCwwLDIsMCwwLDAsMTA0LDE2LDAsMCwyLDAsMCww
LDEyOCwxNiwwLDAsMiwxNiwwLDAsMTEwLDk3LDEwOSwxMDEsMCwwLDAsMCwxMjMsMzIsMCwwLDAs
MCwwLDAsMzQsMCwwLDAsMCwwLDAsMCw1OCwwLDAsMCwwLDAsMCwwLDM0LDMyLDEyNSwwLDAsMCww
LDAsMTIzLDAsMCwwLDAsMCwwLDAsMzQsMTE2LDEyMSwxMTIsMTAxLDM0LDU4LDMyLDM0LDAsMCww
LDAsMCwwLDAsMzQsNDQsMCwwLDAsMCwwLDAsMzQsMTA4LDk3LDk4LDEwMSwxMDgsMzQsNTgsMzIs
MCwwLDAsMCwwLDAsMCw0NCwwLDAsMCwwLDAsMCwwLDM0LDk3LDEwMCwxMDAsMTE0LDEwMSwxMTUs
MTE1LDM0LDU4LDMyLDAsMCwwLDAsMCwzNCwxMDksMTA1LDExMCwzNCw1OCwzMiwzNCwwLDAsMCww
LDAsMCwwLDAsMzQsMTA5LDk3LDEyMCwzNCw1OCwzMiwzNCwwLDAsMCwwLDAsMCwwLDAsMTI1LDAs
MCwwLDAsMCwwLDAsMzQsMTA5LDEwMSwxMTYsOTcsMzQsNTgsMzIsOTEsMCwwLDAsMCwwLDAsMCww
LDAsMCwwLDAsMCwwLDAsMzQsNTgsMzIsMzQsMCwwLDAsMCwzNCwxMjUsMCwwLDAsMCwwLDAsOTMs
NDQsMCwwLDAsMCwwLDAsOTMsMCwwLDAsMCwwLDAsMCw0NywwLDAsMCwwLDAsMCwwLDM0LDEwNSwx
MTAsMTA1LDExNiwzNCw1OCwzMiwzNCwwLDAsMCwwLDAsMCwwLDM0LDExNSwxMTYsMTAxLDExMiwz
NCw1OCwzMiwzNCwwLDAsMCwwLDAsMCwwLDM0LDEwOCw5Nyw5OCwxMDEsMTA4LDM0LDU4LDAsMCww
LDAsMCwwLDAsMCwzNCwxMDUsMTE2LDEwMSwxMDksMTE1LDM0LDU4LDMyLDkxLDAsMCwwLDAsMCww
LDExOCw5OCw5NywxMTQsMTAzLDExNCw5NywxMTIsMTA0LDAsMCwwLDAsMCwwLDAsMTA0LDk4LDk3
LDExNCwxMDMsMTE0LDk3LDExMiwxMDQsMCwwLDAsMCwwLDAsMCwxMTAsMTAxLDExMCwxMTYsMTE0
LDEyMSwwLDAsMTA0LDExNSwxMDgsMTA1LDEwMCwxMDEsMTE0LDAsMTE4LDExNSwxMDgsMTA1LDEw
MCwxMDEsMTE0LDAsOTksMTA0LDEwMSw5OSwxMDcsOTgsMTExLDEyMCwwLDAsMCwwLDAsMCwwLDAs
OTgsMTE3LDExNiwxMTYsMTExLDExMCwwLDAsMTE4LDEwMywxMTQsMTExLDExNywxMTIsMCwwLDEw
NCwxMDMsMTE0LDExMSwxMTcsMTEyLDAsMCwxMTYsMTAzLDExNCwxMTEsMTE3LDExMiwwLDAsMCww
LDAsMCwxMDQsMTYsMCwwLDYsMCwwLDAsNywwLDAsMCwxLDAsMCwwLDEsMCwwLDAsMSwwLDAsMCwx
LDAsMCwwLDEsMCwwLDAsMSwwLDAsMCwxLDAsMCwwLDEsMCwwLDAsMSwwLDAsMCwxLDAsMCwwLDEs
MCwwLDAsMiwwLDAsMCw2NCwwLDAsMCwwLDAsMCwwLDI0MCwxOCwwLDAsOCwwLDAsMCw5LDAsMCww
LDU2LDAsMCwwLDI0OCwyNTUsMjU1LDI1NSwyNDAsMTgsMCwwLDEwLDAsMCwwLDExLDAsMCwwLDE5
MiwyNTUsMjU1LDI1NSwxOTIsMjU1LDI1NSwyNTUsMjQwLDE4LDAsMCwxMiwwLDAsMCwxMywwLDAs
MCwwLDAsMCwwLDc4LDgzLDExNiw1MSw5NSw5NSw0OSw0OSw1Niw5OCw5NywxMTUsMTA1LDk5LDk1
LDExNSwxMTYsMTE0LDEwNSwxMTAsMTAzLDExNSwxMTYsMTE0LDEwMSw5NywxMDksNzMsOTksNzgs
ODMsOTUsNDksNDksOTksMTA0LDk3LDExNCw5NSwxMTYsMTE0LDk3LDEwNSwxMTYsMTE1LDczLDk5
LDY5LDY5LDc4LDgzLDk1LDU3LDk3LDEwOCwxMDgsMTExLDk5LDk3LDExNiwxMTEsMTE0LDczLDk5
LDY5LDY5LDY5LDY5LDAsMCwwLDAsMTYwLDc4LDAsMCwxNjgsMTgsMCwwLDI0LDQwLDAsMCwwLDAs
MCwwLDY0LDAsMCwwLDAsMCwwLDAsMjQ4LDM4LDAsMCwxNCwwLDAsMCwxNSwwLDAsMCwxOTIsMjU1
LDI1NSwyNTUsMTkyLDI1NSwyNTUsMjU1LDI0OCwzOCwwLDAsMTYsMCwwLDAsMTcsMCwwLDAsMCww
LDAsMCwxNzYsMTksMCwwLDE4LDAsMCwwLDE5LDAsMCwwLDQsMCwwLDAsMSwwLDAsMCwxLDAsMCww
LDMsMCwwLDAsMSwwLDAsMCwyLDAsMCwwLDIsMCwwLDAsMywwLDAsMCw0LDAsMCwwLDEsMCwwLDAs
MywwLDAsMCwyLDAsMCwwLDc4LDgzLDExNiw1MSw5NSw5NSw0OSw0OSw1Myw5OCw5NywxMTUsMTA1
LDk5LDk1LDExNSwxMTYsMTE0LDEwNSwxMTAsMTAzLDk4LDExNywxMDIsNzMsOTksNzgsODMsOTUs
NDksNDksOTksMTA0LDk3LDExNCw5NSwxMTYsMTE0LDk3LDEwNSwxMTYsMTE1LDczLDk5LDY5LDY5
LDc4LDgzLDk1LDU3LDk3LDEwOCwxMDgsMTExLDk5LDk3LDExNiwxMTEsMTE0LDczLDk5LDY5LDY5
LDY5LDY5LDAsMCwwLDAsMCwwLDAsMTYwLDc4LDAsMCwxMDQsMTksMCwwLDEyOCwzOCwwLDAsMCww
LDAsMCwzNCwxMTAsOTcsMTA5LDEwMSwzNCw1OCwzMiwzNCwwLDAsMCwwLDAsMCwwLDM0LDk3LDEw
MCwxMDAsMTE0LDEwMSwxMTUsMTE1LDM0LDU4LDMyLDM0LDM0LDQ0LDAsMCwzNCwxMTIsMTExLDEx
NCwxMTYsMzQsNTgsMzIsMzQsNDgsMzQsNDQsMCwwLDAsMCwzNCwxMDUsMTEwLDExMiwxMTcsMTE2
LDExNSwzNCw1OCwzMiwzNCwwLDAsMCwwLDAsMzQsMTExLDExNywxMTYsMTEyLDExNywxMTYsMTE1
LDM0LDU4LDMyLDM0LDAsMCwwLDAsOTIsMCwwLDAsMCwwLDAsMCwxMTIsMTA1LDk3LDExMCwxMTEs
MCwwLDAsNjYsOTcsMTE1LDEwNSw5OSw5NSw4MCw5NywxMTQsOTcsMTA5LDEwMSwxMTYsMTAxLDEx
NCwxMTUsMCwwLDAsMCwwLDAsMCwwLDQ5LDAsMCwwLDAsMCwwLDAsMTE2LDExMSwxMTEsMTA4LDEx
NiwxMDUsMTEyLDAsODQsMTExLDExMCwxMDEsMzIsMTAyLDExNCwxMDEsMTEzLDExNywxMDEsMTEw
LDk5LDEyMSwwLDAsMTE3LDExMCwxMDUsMTE2LDAsMCwwLDAsNzIsMTIyLDAsMCwwLDAsMCwwLDcx
LDk3LDEwNSwxMTAsMzIsNDAsMTE4LDk3LDEwOCwxMTcsMTAxLDMyLDk4LDEwMSwxMTYsMTE5LDEw
MSwxMDEsMTEwLDMyLDQ4LDMyLDk3LDExMCwxMDAsMzIsNDksNDEsMCwwLDAsMCwxMTAsMTExLDEx
NiwxMDEsNzksMTEwLDMyLDYxLDMyLDQ5LDQ0LDMyLDExMCwxMTEsMTE2LDEwMSw3OSwxMDIsMTAy
LDMyLDYxLDMyLDQ4LDAsODAsMTA0LDEyMSwxMTUsMTA1LDk5LDk3LDEwOCw5NSw4MCw5NywxMTQs
OTcsMTA5LDEwMSwxMTYsMTAxLDExNCwxMTUsMCwwLDAsMCwwLDUwLDAsMCwwLDAsMCwwLDAsNjUs
MzIsMTE4LDk3LDEwOCwxMTcsMTAxLDMyLDk4LDEwMSwxMTYsMTE5LDEwMSwxMDEsMTEwLDMyLDQ4
LDMyLDk3LDExMCwxMDAsMzIsNDksMCw2NiwxMTQsMTA1LDEwMywxMDQsMTE2LDExMCwxMDEsMTE1
LDExNSw5NSw3MCw5Nyw5OSwxMTYsMTExLDExNCwwLDAsMCwwLDAsMCwwLDY4LDEwMSwxMTYsMTE3
LDExMCwxMDUsMTEwLDEwMyw5NSw3MCw5Nyw5OSwxMTYsMTExLDExNCwwLDcyLDk3LDEwOSwxMDks
MTAxLDExNCw5NSw3Miw5NywxMTQsMTAwLDExMCwxMDEsMTE1LDExNSwwLDgzLDExNiwxMDUsMTAy
LDEwMiwxMTAsMTAxLDExNSwxMTUsOTUsNzAsOTcsOTksMTE2LDExMSwxMTQsMCwwLDAsMCwwLDAs
MCwwLDgyLDEwMSwxMTgsMTAxLDExNCw5OCwwLDAsMTE0LDEwMSwxMTgsMTAxLDExNCw5OCw3MSw5
NywxMDUsMTEwLDAsMCwwLDAsMCwwLDExNCwxMTEsMTExLDEwOSw4MywxMDUsMTIyLDEwMSwwLDAs
MCwwLDAsMCwwLDAsODMsMTEyLDk3LDExNiwwLDAsMCwwLDExMiw5NywxMTAsMzIsOTcsMTEwLDEw
MywxMDgsMTAxLDAsMCwwLDAsMCwwLDAsMTE1LDExMiw5NywxMTYsMTA1LDk3LDEwOCwzMiwxMTks
MTA1LDEwMCwxMTYsMTA0LDAsMCwwLDk3LDExNywxMTYsMTA0LDExMSwxMTQsMCwwLDgyLDExMSwx
MDksOTcsMTA1LDExMCwzMiw3NywxMDUsOTksMTA0LDExMSwxMTAsMzIsNDAsMTE0LDEwOSwxMDUs
OTksMTA0LDExMSwxMTAsNjQsOTksOTksMTE0LDEwOSw5Nyw0NiwxMTUsMTE2LDk3LDExMCwxMDIs
MTExLDExNCwxMDAsNDYsMTAxLDEwMCwxMTcsNDEsMCwwLDAsMCwwLDAsOTksMTExLDExMiwxMjEs
MTE0LDEwNSwxMDMsMTA0LDExNiwwLDAsMCwwLDAsMCwwLDgyLDExMSwxMDksOTcsMTA1LDExMCwz
Miw3NywxMDUsOTksMTA0LDExMSwxMTAsMCwwLDAsMTAwLDEwMSwxMTUsOTksMTE0LDEwNSwxMTIs
MTE2LDEwNSwxMTEsMTEwLDAsMCwwLDAsMCw4Nyw5NywxMTgsMTAxLDcxLDExNywxMDUsMTAwLDEw
MSwzMiw2NywxMTEsMTA5LDEwOSwxMTcsMTE2LDEwMSwxMDAsMzIsODAsMTA1LDk3LDExMCwxMTEs
MCwwLDAsMCwwLDAsMCwwLDEwMSwxMDIsMTAyLDEwMSw5OSwxMTYsNDYsMTA4LDEwNSw5OCw0Nyw5
NywxMTcsMTE2LDEwNCwxMTEsMTE0LDAsMCwwLDAsMCwwLDAsNzQsMTE3LDEwOCwxMDUsMTE3LDEx
NSwzMiw3OSw0NiwzMiw4MywxMDksMTA1LDExNiwxMDQsMzIsNDAsMTA2LDExMSwxMTUsMzIsOTcs
MTE2LDMyLDk5LDk5LDExNCwxMDksOTcsNDYsMTE1LDExNiw5NywxMTAsMTAyLDExMSwxMTQsMTAw
LDQ2LDEwMSwxMDAsMTE3LDQxLDAsMCwwLDAsMCwxMDEsMTAyLDEwMiwxMDEsOTksMTE2LDQ2LDEw
OCwxMDUsOTgsNDcsOTksMTExLDExMiwxMjEsMTE0LDEwNSwxMDMsMTA0LDExNiwwLDAsMCwwLDc0
LDExNywxMDgsMTA1LDExNywxMTUsMzIsNzksNDYsMzIsODMsMTA5LDEwNSwxMTYsMTA0LDMyLDcz
LDczLDczLDAsMCwwLDAsMCwxMDEsMTAyLDEwMiwxMDEsOTksMTE2LDQ2LDEwOCwxMDUsOTgsNDcs
MTAxLDEyMCw5OSwxMDUsMTE2LDEwMSwxMTQsOTUsOTcsMTE3LDExNiwxMDQsMTExLDExNCwwLDAs
MCwwLDAsMCwwLDgwLDExNCwxMDUsMTIxLDk3LDExMCwxMDcsOTcsMzIsODMsMTA0LDEwMSwxMDcs
OTcsMTE0LDMyLDQwLDExMiwxMTUsMTA0LDEwMSwxMDcsOTcsMTE0LDY0LDk5LDk5LDExNCwxMDks
OTcsNDYsMTE1LDExNiw5NywxMTAsMTAyLDExMSwxMTQsMTAwLDQ2LDEwMSwxMDAsMTE3LDQxLDAs
MCwwLDAsMTAxLDEwMiwxMDIsMTAxLDk5LDExNiw0NiwxMDgsMTA1LDk4LDQ3LDEwMSwxMjAsOTks
MTA1LDExNiwxMDEsMTE0LDk1LDk5LDExMSwxMTIsMTIxLDExNCwxMDUsMTAzLDEwNCwxMTYsMCww
LDAsMCw2NywxMTEsMTEyLDEyMSwxMTQsMTA1LDEwMywxMDQsMTE2LDMyLDQwLDk5LDQxLDMyLDUw
LDQ4LDQ5LDUxLDMyLDgwLDExNCwxMDUsMTIxLDk3LDExMCwxMDcsOTcsMzIsODMsMTA0LDEwMSwx
MDcsOTcsMTE0LDAsMCwwLDAsMCwwLDEwMSwxMDIsMTAyLDEwMSw5OSwxMTYsNDYsMTA4LDEwNSw5
OCw0NywxMDEsMTIwLDk5LDEwNSwxMTYsMTAxLDExNCw5NSwxMDgsMTA1LDk5LDEwMSwxMTAsMTE1
LDEwMSwwLDAsMCwwLDAsMCw3Nyw3Myw4NCwzMiw3NiwxMDUsOTksMTAxLDExMCwxMTUsMTAxLDMy
LDQwLDc3LDczLDg0LDQxLDAsMCwwLDAsMCwwLDAsMTAxLDEwMiwxMDIsMTAxLDk5LDExNiw0Niwx
MDgsMTA1LDk4LDQ3LDEwMSwxMjAsOTksMTA1LDExNiwxMDEsMTE0LDk1LDExMCw5NywxMDksMTAx
LDAsNzIsOTcsMTE0LDEwOSwxMTEsMTEwLDEwNSw5OSwzMiw2OSwxMjAsOTksMTA1LDExNiwxMDEs
MTE0LDAsMCwwLDAsMCwwLDAsMCwxMDEsMTAyLDEwMiwxMDEsOTksMTE2LDQ2LDEwOCwxMDUsOTgs
NDcsMTAxLDEyMCw5OSwxMDUsMTE2LDEwMSwxMTQsOTUsMTE4LDEwMSwxMTQsMTE1LDEwNSwxMTEs
MTEwLDAsMCwwLDAsMCwwLDQ5LDQ2LDQ4LDAsMCwwLDAsMCwxMDEsMTAyLDEwMiwxMDEsOTksMTE2
LDQ2LDEwOCwxMDUsOTgsNDcsMTA4LDEwNSw5OSwxMDEsMTEwLDExNSwxMDEsMCwwLDAsMCwwLDAs
ODMsODQsNzUsNDUsNTIsNDYsNTEsMCwxMDEsMTAyLDEwMiwxMDEsOTksMTE2LDQ2LDEwOCwxMDUs
OTgsNDcsMTEwLDk3LDEwOSwxMDEsMCw3MCw5NywxMTcsMTE1LDExNiwzMiw2NSwxMTcsMTAwLDEw
NSwxMTEsMzIsNjksMTAyLDEwMiwxMDEsOTksMTE2LDMyLDc2LDEwNSw5OCwxMTQsOTcsMTE0LDEy
MSwwLDAsMCwwLDAsMCwxMDEsMTAyLDEwMiwxMDEsOTksMTE2LDQ2LDEwOCwxMDUsOTgsNDcsMTE4
LDEwMSwxMTQsMTE1LDEwNSwxMTEsMTEwLDAsMCwwLDAsMCwwLDQ5LDQ2LDUxLDUxLDAsMCwwLDAs
MTAyLDEwNSwxMDgsMTE2LDEwMSwxMTQsNDYsMTA4LDEwNSw5OCw0Nyw5NywxMTcsMTE2LDEwNCwx
MTEsMTE0LDAsMCwwLDAsMCwwLDAsMTAyLDEwNSwxMDgsMTE2LDEwMSwxMTQsNDYsMTA4LDEwNSw5
OCw0Nyw5OSwxMTEsMTEyLDEyMSwxMTQsMTA1LDEwMywxMDQsMTE2LDAsMCwwLDAsMTAyLDEwNSwx
MDgsMTE2LDEwMSwxMTQsNDYsMTA4LDEwNSw5OCw0NywxMDgsMTA1LDk5LDEwMSwxMTAsMTE1LDEw
MSwwLDAsMCwwLDAsMCwxMDIsMTA1LDEwOCwxMTYsMTAxLDExNCw0NiwxMDgsMTA1LDk4LDQ3LDEx
MCw5NywxMDksMTAxLDAsNzAsOTcsMTE3LDExNSwxMTYsMzIsNzAsMTA1LDEwOCwxMTYsMTAxLDEx
NCwzMiw3NiwxMDUsOTgsMTE0LDk3LDExNCwxMjEsMCwwLDAsMCwxMDIsMTA1LDEwOCwxMTYsMTAx
LDExNCw0NiwxMDgsMTA1LDk4LDQ3LDExNCwxMDEsMTAyLDEwMSwxMTQsMTAxLDExMCw5OSwxMDEs
MCwwLDAsMCwxMDQsMTE2LDExNiwxMTIsMTE1LDU4LDQ3LDQ3LDk5LDk5LDExNCwxMDksOTcsNDYs
MTE1LDExNiw5NywxMTAsMTAyLDExMSwxMTQsMTAwLDQ2LDEwMSwxMDAsMTE3LDQ3LDEyNiwxMDYs
MTExLDExNSw0NywxMDIsMTA1LDEwOCwxMTYsMTAxLDExNCwxMTUsNDcsMCwwLDAsMCwwLDAsMCww
LDEwMiwxMDUsMTA4LDExNiwxMDEsMTE0LDQ2LDEwOCwxMDUsOTgsNDcsMTE4LDEwMSwxMTQsMTE1
LDEwNSwxMTEsMTEwLDAsMCwwLDAsMCwwLDQ5LDQ2LDUwLDU3LDAsMCwwLDAsMTA1LDExMCwxMTUs
MTE2LDExNCwxMTcsMTA5LDEwMSwxMTAsMTE2LDQ2LDEwOCwxMDUsOTgsNDcsOTcsMTE3LDExNiwx
MDQsMTExLDExNCwwLDAsMCwxMDUsMTEwLDExNSwxMTYsMTE0LDExNywxMDksMTAxLDExMCwxMTYs
NDYsMTA4LDEwNSw5OCw0Nyw5OSwxMTEsMTEyLDEyMSwxMTQsMTA1LDEwMywxMDQsMTE2LDAsMCww
LDAsMCwwLDAsMCwxMDUsMTEwLDExNSwxMTYsMTE0LDExNywxMDksMTAxLDExMCwxMTYsNDYsMTA4
LDEwNSw5OCw0NywxMDgsMTA1LDk5LDEwMSwxMTAsOTksMTAxLDAsMCwxMDUsMTEwLDExNSwxMTYs
MTE0LDExNywxMDksMTAxLDExMCwxMTYsNDYsMTA4LDEwNSw5OCw0NywxMTAsOTcsMTA5LDEwMSww
LDAsMCwwLDAsNzAsOTcsMTE3LDExNSwxMTYsNDUsODMsODQsNzUsMzIsODQsMTExLDExMSwxMDgs
MTE1LDMyLDc2LDEwNSw5OCwxMTQsOTcsMTE0LDEyMSwwLDEwNSwxMTAsMTE1LDExNiwxMTQsMTE3
LDEwOSwxMDEsMTEwLDExNiw0NiwxMDgsMTA1LDk4LDQ3LDExOCwxMDEsMTE0LDExNSwxMDUsMTEx
LDExMCwwLDAsMTA4LDEwNSw5OSwxMDEsMTEwLDk5LDEwMSwwLDEwOSw5NywxMTYsMTA0LDQ2LDEw
OCwxMDUsOTgsNDcsOTcsMTE3LDExNiwxMDQsMTExLDExNCwwLDcxLDgyLDY1LDc3LDY5LDAsMCww
LDEwOSw5NywxMTYsMTA0LDQ2LDEwOCwxMDUsOTgsNDcsOTksMTExLDExMiwxMjEsMTE0LDEwNSwx
MDMsMTA0LDExNiwwLDAsMCwwLDAsMCwxMDksOTcsMTE2LDEwNCw0NiwxMDgsMTA1LDk4LDQ3LDEw
OCwxMDUsOTksMTAxLDExMCwxMTUsMTAxLDAsMCwwLDAsMCwwLDAsMCw3Niw3MSw4MCw3NiwzMiwx
MTksMTA1LDExNiwxMDQsMzIsMTAxLDEyMCw5OSwxMDEsMTEyLDExNiwxMDUsMTExLDExMCwwLDAs
MCwwLDAsMTA5LDk3LDExNiwxMDQsNDYsMTA4LDEwNSw5OCw0NywxMTAsOTcsMTA5LDEwMSwwLDAs
MCw3Nyw5NywxMTYsMTA0LDMyLDc2LDEwNSw5OCwxMTQsOTcsMTE0LDEyMSwwLDAsMCwwLDEwOSw5
NywxMTYsMTA0LDQ2LDEwOCwxMDUsOTgsNDcsMTE4LDEwMSwxMTQsMTE1LDEwNSwxMTEsMTEwLDAs
MCwwLDAsMCwwLDAsMCwxMDksMTE3LDExNSwxMDUsOTksNDYsMTA4LDEwNSw5OCw0Nyw5NywxMTcs
MTE2LDEwNCwxMTEsMTE0LDAsMCwwLDAsMCwwLDAsMCwxMDksMTE3LDExNSwxMDUsOTksNDYsMTA4
LDEwNSw5OCw0Nyw5OSwxMTEsMTEyLDEyMSwxMTQsMTA1LDEwMywxMDQsMTE2LDAsMCwwLDAsMCwx
MDksMTE3LDExNSwxMDUsOTksNDYsMTA4LDEwNSw5OCw0NywxMDgsMTA1LDk5LDEwMSwxMTAsMTE1
LDEwMSwwLDAsMCwwLDAsMCwwLDEwOSwxMTcsMTE1LDEwNSw5OSw0NiwxMDgsMTA1LDk4LDQ3LDEx
MCw5NywxMDksMTAxLDAsMCw3NywxMTcsMTE1LDEwNSw5OSwzMiw3NiwxMDUsOTgsMTE0LDk3LDEx
NCwxMjEsMCwwLDAsMTA5LDExNywxMTUsMTA1LDk5LDQ2LDEwOCwxMDUsOTgsNDcsMTE4LDEwMSwx
MTQsMTE1LDEwNSwxMTEsMTEwLDAsMCwwLDAsMCwwLDAsNjcsMTExLDEwOSwxMDksMTE3LDExNiwx
MDEsMTAwLDMyLDgwLDEwNSw5NywxMTAsMTExLDAsMCwxMTgsMTAxLDExNCwxMTUsMTA1LDExMSwx
MTAsMCwzNCwxMTcsMTA1LDM0LDU4LDMyLDkxLDAsMCwwLDAsMCw0MCwyNywwLDAsMjAsMCwwLDAs
MjEsMCwwLDAsNSwwLDAsMCw2LDAsMCwwLDcsMCwwLDAsMjIsMCwwLDAsNywwLDAsMCw4LDAsMCww
LDUsMCwwLDAsNiwwLDAsMCw3LDAsMCwwLDQsMCwwLDAsNSwwLDAsMCw0LDAsMCwwLDQ5LDQ5LDEx
MiwxMDUsOTcsMTEwLDExMSw5NSwxMTgsMTExLDEwNSw5OSwxMDEsMCwwLDAsNTMsNzcsOTcsMTEy
LDg1LDczLDAsMCwxNjAsNzgsMCwwLDE2LDI3LDAsMCwxMDQsMTYsMCwwLDAsMCwwLDAsMTYwLDc4
LDAsMCwwLDI3LDAsMCwyNCwyNywwLDAsMCwwLDAsMCwwLDAsMCwwLDI0LDI3LDAsMCwyMywwLDAs
MCwyNCwwLDAsMCw1LDAsMCwwLDYsMCwwLDAsNywwLDAsMCwyMiwwLDAsMCw3LDAsMCwwLDgsMCww
LDAsNSwwLDAsMCw2LDAsMCwwLDcsMCwwLDAsNCwwLDAsMCw1LDAsMCwwLDQsMCwwLDAsMCwwLDAs
MCwxOTIsMjcsMCwwLDI1LDAsMCwwLDI2LDAsMCwwLDUsMCwwLDAsNiwwLDAsMCw4LDAsMCwwLDks
MCwwLDAsNSwwLDAsMCwzLDAsMCwwLDQsMCwwLDAsMTAsMCwwLDAsNTMsMTEyLDEwNSw5NywxMTAs
MTExLDAsMCw1MSwxMDAsMTE1LDExMiwwLDAsMCwwLDEyMCw3OCwwLDAsMTc2LDI3LDAsMCwxNjAs
NzgsMCwwLDE2OCwyNywwLDAsMTg0LDI3LDAsMCwwLDAsMCwwLDc4LDExMSwzMiwxMDksMTExLDEx
NCwxMDEsMzIsMTAyLDExNCwxMDEsMTAxLDMyLDExOCwxMTEsMTA1LDk5LDEwMSw0Niw0Niw0Niww
LDAsMCw4MCwxMDgsOTcsMTIxLDEwNSwxMTAsMTAzLDMyLDExOCwxMTEsMTA1LDk5LDEwMSwzMiwx
MTAsMTExLDExNiwzMiwxMDIsMTExLDExNywxMTAsMTAwLDQ2LDQ2LDQ2XSwgImk4IiwgQUxMT0Nf
Tk9ORSwgUnVudGltZS5HTE9CQUxfQkFTRSk7Ci8qIG1lbW9yeSBpbml0aWFsaXplciAqLyBhbGxv
Y2F0ZShbMTQ0LDMyLDAsMCwyNywwLDAsMCwyOCwwLDAsMCwxMSwwLDAsMCw0LDAsMCwwLDIsMCww
LDAsNiwwLDAsMCw3LDAsMCwwLDgsMCwwLDAsNSwwLDAsMCw5LDAsMCwwLDEwLDAsMCwwLDUsMCww
LDAsNiwwLDAsMCw2LDAsMCwwLDc4LDgzLDExNiw1MSw5NSw5NSw0OSw0OSw0OSw5NSw5NSwxMTUs
MTE2LDEwMCwxMTEsMTE3LDExNiw5OCwxMTcsMTAyLDczLDExOSw2OSw2OSwwLDAsMCwwLDAsMCww
LDAsMTYwLDc4LDAsMCwxMTIsMzIsMCwwLDE5MiwzOCwwLDAsMCwwLDAsMCwwLDAsMCwwLDI0OCwz
MiwwLDAsMjksMCwwLDAsMzAsMCwwLDAsMTIsMCwwLDAsNCwwLDAsMCwyLDAsMCwwLDYsMCwwLDAs
MTEsMCwwLDAsOCwwLDAsMCw1LDAsMCwwLDEyLDAsMCwwLDEzLDAsMCwwLDcsMCwwLDAsNywwLDAs
MCw4LDAsMCwwLDc4LDgzLDExNiw1MSw5NSw5NSw0OSw0OSw0OCw5NSw5NSwxMTUsMTE2LDEwMCwx
MDUsMTEwLDk4LDExNywxMDIsNzMsMTE5LDY5LDY5LDAsMTYwLDc4LDAsMCwyMjQsMzIsMCwwLDE5
MiwzOCwwLDAsMCwwLDAsMCwxMTcsMTEwLDExNSwxMTcsMTEyLDExMiwxMTEsMTE0LDExNiwxMDEs
MTAwLDMyLDEwOCwxMTEsOTksOTcsMTA4LDEwMSwzMiwxMDIsMTExLDExNCwzMiwxMTUsMTE2LDk3
LDExMCwxMDAsOTcsMTE0LDEwMCwzMiwxMDUsMTEwLDExMiwxMTcsMTE2LDAsMCwwLDAsMCwwLDAs
MTQ0LDMzLDAsMCwzMSwwLDAsMCwzMiwwLDAsMCwxMywwLDAsMCwxLDAsMCwwLDMsMCwwLDAsNyww
LDAsMCwxNCwwLDAsMCwyLDAsMCwwLDIsMCwwLDAsMTUsMCwwLDAsNCwwLDAsMCw5LDAsMCwwLDgs
MCwwLDAsMTAsMCwwLDAsNzgsODMsMTE2LDUxLDk1LDk1LDQ5LDQ5LDQ5LDk1LDk1LDExNSwxMTYs
MTAwLDExMSwxMTcsMTE2LDk4LDExNywxMDIsNzMsOTksNjksNjksMCwwLDAsMCwwLDAsMCwwLDE2
MCw3OCwwLDAsMTEyLDMzLDAsMCwxMjgsMzgsMCwwLDAsMCwwLDAsMCwwLDAsMCwyNDgsMzMsMCww
LDMzLDAsMCwwLDM0LDAsMCwwLDE0LDAsMCwwLDEsMCwwLDAsMywwLDAsMCw3LDAsMCwwLDEsMCww
LDAsMiwwLDAsMCwyLDAsMCwwLDE2LDAsMCwwLDE3LDAsMCwwLDExLDAsMCwwLDMsMCwwLDAsMTIs
MCwwLDAsNzgsODMsMTE2LDUxLDk1LDk1LDQ5LDQ5LDQ4LDk1LDk1LDExNSwxMTYsMTAwLDEwNSwx
MTAsOTgsMTE3LDEwMiw3Myw5OSw2OSw2OSwwLDE2MCw3OCwwLDAsMjI0LDMzLDAsMCwxMjgsMzgs
MCwwLDAsMCwwLDAsNzgsODMsMTE2LDUxLDk1LDk1LDQ5LDQ5LDUyLDk1LDk1LDExNSwxMDQsOTcs
MTE0LDEwMSwxMDAsOTUsOTksMTExLDExNywxMTAsMTE2LDY5LDAsMCwwLDAsMCwwLDAsMCwxMjAs
NzgsMCwwLDgsMzQsMCwwLDAsMCwwLDAsMTEyLDM0LDAsMCwzNSwwLDAsMCwzNiwwLDAsMCwxOCww
LDAsMCwwLDAsMCwwLDAsMCwwLDAsMjE2LDM0LDAsMCwzNywwLDAsMCwzOCwwLDAsMCwxOSwwLDAs
MCwwLDAsMCwwLDgzLDExNiw0OSw0OSwxMDgsMTExLDEwMywxMDUsOTksOTUsMTAxLDExNCwxMTQs
MTExLDExNCwwLDE2MCw3OCwwLDAsOTYsMzQsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDE3
NiwzNCwwLDAsMzUsMCwwLDAsMzksMCwwLDAsMTgsMCwwLDAsMCwwLDAsMCw4MywxMTYsNDksNTAs
MTA4LDEwMSwxMTAsMTAzLDExNiwxMDQsOTUsMTAxLDExNCwxMTQsMTExLDExNCwwLDAsMCwwLDAs
MCwwLDAsMTYwLDc4LDAsMCwxNTIsMzQsMCwwLDExMiwzNCwwLDAsMCwwLDAsMCw4MywxMTYsNDks
NTEsMTE0LDExNywxMTAsMTE2LDEwNSwxMDksMTAxLDk1LDEwMSwxMTQsMTE0LDExMSwxMTQsMCww
LDAsMCwwLDAsMCwxNjAsNzgsMCwwLDE5MiwzNCwwLDAsMCwwLDAsMCwwLDAsMCwwLDU4LDMyLDAs
MCwwLDAsMCwwLDAsMCwwLDAsMzIsMzUsMCwwLDQwLDAsMCwwLDQxLDAsMCwwLDE5LDAsMCwwLDAs
MCwwLDAsNzgsODMsMTE2LDUxLDk1LDk1LDQ5LDQ5LDUwLDExNSwxMjEsMTE1LDExNiwxMDEsMTA5
LDk1LDEwMSwxMTQsMTE0LDExMSwxMTQsNjksMCwwLDE2MCw3OCwwLDAsOCwzNSwwLDAsMjE2LDM0
LDAsMCwwLDAsMCwwLDc4LDgzLDExNiw1MSw5NSw5NSw0OSw0OSw1MiwxMDEsMTE0LDExNCwxMTEs
MTE0LDk1LDk5LDk3LDExNiwxMDEsMTAzLDExMSwxMTQsMTIxLDY5LDAsMCwwLDAsMCwwLDAsMCwx
MjAsNzgsMCwwLDQ4LDM1LDAsMCw3OCw4MywxMTYsNTEsOTUsOTUsNDksNDksNTAsOTUsOTUsMTAw
LDExMSw5NSwxMDksMTAxLDExNSwxMTUsOTcsMTAzLDEwMSw2OSwwLDAsMTYwLDc4LDAsMCw4OCwz
NSwwLDAsODAsMzUsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCww
LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAs
MCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsOTgs
OTcsMTE1LDEwNSw5OSw5NSwxMTUsMTE2LDExNCwxMDUsMTEwLDEwMywwLDAsMCwwLDAsMCwwLDAs
MTI4LDM4LDAsMCw0MiwwLDAsMCw0MywwLDAsMCw0LDAsMCwwLDEsMCwwLDAsMywwLDAsMCw3LDAs
MCwwLDEsMCwwLDAsMiwwLDAsMCwyLDAsMCwwLDE1LDAsMCwwLDQsMCwwLDAsOSwwLDAsMCwzLDAs
MCwwLDEyLDAsMCwwLDAsMCwwLDAsMTkyLDM4LDAsMCw0NCwwLDAsMCw0NSwwLDAsMCwxNSwwLDAs
MCw0LDAsMCwwLDIsMCwwLDAsNiwwLDAsMCwxMSwwLDAsMCw4LDAsMCwwLDUsMCwwLDAsOSwwLDAs
MCwxMCwwLDAsMCw1LDAsMCwwLDcsMCwwLDAsOCwwLDAsMCw4LDAsMCwwLDAsMCwwLDAsMjQ4LDM4
LDAsMCwxNCwwLDAsMCwxNSwwLDAsMCwyNDgsMjU1LDI1NSwyNTUsMjQ4LDI1NSwyNTUsMjU1LDI0
OCwzOCwwLDAsMTYsMCwwLDAsMTcsMCwwLDAsOCwwLDAsMCwwLDAsMCwwLDY0LDM5LDAsMCw0Niww
LDAsMCw0NywwLDAsMCwyNDgsMjU1LDI1NSwyNTUsMjQ4LDI1NSwyNTUsMjU1LDY0LDM5LDAsMCw0
OCwwLDAsMCw0OSwwLDAsMCw0LDAsMCwwLDAsMCwwLDAsMTM2LDM5LDAsMCw1MCwwLDAsMCw1MSww
LDAsMCwyNTIsMjU1LDI1NSwyNTUsMjUyLDI1NSwyNTUsMjU1LDEzNiwzOSwwLDAsNTIsMCwwLDAs
NTMsMCwwLDAsNCwwLDAsMCwwLDAsMCwwLDIwOCwzOSwwLDAsNTQsMCwwLDAsNTUsMCwwLDAsMjUy
LDI1NSwyNTUsMjU1LDI1MiwyNTUsMjU1LDI1NSwyMDgsMzksMCwwLDU2LDAsMCwwLDU3LDAsMCww
LDEwNSwxMTEsMTE1LDExNiwxMTQsMTAxLDk3LDEwOSwwLDAsMCwwLDAsMCwwLDAsMTE3LDExMCwx
MTUsMTEyLDEwMSw5OSwxMDUsMTAyLDEwNSwxMDEsMTAwLDMyLDEwNSwxMTEsMTE1LDExNiwxMTQs
MTAxLDk3LDEwOSw5NSw5OSw5NywxMTYsMTAxLDEwMywxMTEsMTE0LDEyMSwzMiwxMDEsMTE0LDEx
NCwxMTEsMTE0LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCww
LDAsMTUyLDM3LDAsMCw1OCwwLDAsMCw1OSwwLDAsMCwxOSwwLDAsMCwwLDAsMCwwLDAsMCwwLDAs
MTkyLDM3LDAsMCw2MCwwLDAsMCw2MSwwLDAsMCwxMDUsMTExLDExNSw5NSw5OCw5NywxMTUsMTAx
LDU4LDU4LDk5LDEwOCwxMDEsOTcsMTE0LDAsNzgsODMsMTE2LDUxLDk1LDk1LDQ5LDU2LDEwNSwx
MTEsMTE1LDk1LDk4LDk3LDExNSwxMDEsNTUsMTAyLDk3LDEwNSwxMDgsMTE3LDExNCwxMDEsNjks
MCwwLDAsMCwwLDAsMCwxNjAsNzgsMCwwLDEyMCwzNywwLDAsMzIsMzUsMCwwLDAsMCwwLDAsNzgs
ODMsMTE2LDUxLDk1LDk1LDQ5LDU2LDEwNSwxMTEsMTE1LDk1LDk4LDk3LDExNSwxMDEsNjksMCww
LDAsMCwwLDAsMCwxMjAsNzgsMCwwLDE2OCwzNywwLDAsNzgsODMsMTE2LDUxLDk1LDk1LDQ5LDU3
LDk4LDk3LDExNSwxMDUsOTksOTUsMTA1LDExMSwxMTUsNzMsOTksNzgsODMsOTUsNDksNDksOTks
MTA0LDk3LDExNCw5NSwxMTYsMTE0LDk3LDEwNSwxMTYsMTE1LDczLDk5LDY5LDY5LDY5LDY5LDAs
MCwwLDAsMCwwLDAsMTYwLDc4LDAsMCwyMDAsMzcsMCwwLDE5MiwzNywwLDAsMCwwLDAsMCw3OCw4
MywxMTYsNTEsOTUsOTUsNDksNTcsOTgsOTcsMTE1LDEwNSw5OSw5NSwxMDUsMTExLDExNSw3Mywx
MTksNzgsODMsOTUsNDksNDksOTksMTA0LDk3LDExNCw5NSwxMTYsMTE0LDk3LDEwNSwxMTYsMTE1
LDczLDExOSw2OSw2OSw2OSw2OSwwLDAsMCwwLDAsMCwwLDE2MCw3OCwwLDAsOCwzOCwwLDAsMTky
LDM3LDAsMCwwLDAsMCwwLDc4LDgzLDExNiw1MSw5NSw5NSw0OSw0OSw1Myw5OCw5NywxMTUsMTA1
LDk5LDk1LDExNSwxMTYsMTE0LDEwMSw5NywxMDksOTgsMTE3LDEwMiw3Myw5OSw3OCw4Myw5NSw0
OSw0OSw5OSwxMDQsOTcsMTE0LDk1LDExNiwxMTQsOTcsMTA1LDExNiwxMTUsNzMsOTksNjksNjks
NjksNjksMCwwLDAsMCwwLDAsMCwwLDEyMCw3OCwwLDAsNzIsMzgsMCwwLDc4LDgzLDExNiw1MSw5
NSw5NSw0OSw0OSw1Myw5OCw5NywxMTUsMTA1LDk5LDk1LDExNSwxMTYsMTE0LDEwMSw5NywxMDks
OTgsMTE3LDEwMiw3MywxMTksNzgsODMsOTUsNDksNDksOTksMTA0LDk3LDExNCw5NSwxMTYsMTE0
LDk3LDEwNSwxMTYsMTE1LDczLDExOSw2OSw2OSw2OSw2OSwwLDAsMCwwLDAsMCwwLDAsMTIwLDc4
LDAsMCwxMzYsMzgsMCwwLDc4LDgzLDExNiw1MSw5NSw5NSw0OSw0OSw1MSw5OCw5NywxMTUsMTA1
LDk5LDk1LDEwNSwxMTUsMTE2LDExNCwxMDEsOTcsMTA5LDczLDk5LDc4LDgzLDk1LDQ5LDQ5LDk5
LDEwNCw5NywxMTQsOTUsMTE2LDExNCw5NywxMDUsMTE2LDExNSw3Myw5OSw2OSw2OSw2OSw2OSww
LDAsMCw3OSwwLDAsMjAwLDM4LDAsMCwwLDAsMCwwLDEsMCwwLDAsMjQ4LDM3LDAsMCwzLDI0NCwy
NTUsMjU1LDc4LDgzLDExNiw1MSw5NSw5NSw0OSw0OSw1MSw5OCw5NywxMTUsMTA1LDk5LDk1LDEw
NSwxMTUsMTE2LDExNCwxMDEsOTcsMTA5LDczLDExOSw3OCw4Myw5NSw0OSw0OSw5OSwxMDQsOTcs
MTE0LDk1LDExNiwxMTQsOTcsMTA1LDExNiwxMTUsNzMsMTE5LDY5LDY5LDY5LDY5LDAsMCwwLDc5
LDAsMCwxNiwzOSwwLDAsMCwwLDAsMCwxLDAsMCwwLDU2LDM4LDAsMCwzLDI0NCwyNTUsMjU1LDc4
LDgzLDExNiw1MSw5NSw5NSw0OSw0OSw1MSw5OCw5NywxMTUsMTA1LDk5LDk1LDExMSwxMTUsMTE2
LDExNCwxMDEsOTcsMTA5LDczLDk5LDc4LDgzLDk1LDQ5LDQ5LDk5LDEwNCw5NywxMTQsOTUsMTE2
LDExNCw5NywxMDUsMTE2LDExNSw3Myw5OSw2OSw2OSw2OSw2OSwwLDAsMCw3OSwwLDAsODgsMzks
MCwwLDAsMCwwLDAsMSwwLDAsMCwyNDgsMzcsMCwwLDMsMjQ0LDI1NSwyNTUsNzgsODMsMTE2LDUx
LDk1LDk1LDQ5LDQ5LDUxLDk4LDk3LDExNSwxMDUsOTksOTUsMTExLDExNSwxMTYsMTE0LDEwMSw5
NywxMDksNzMsMTE5LDc4LDgzLDk1LDQ5LDQ5LDk5LDEwNCw5NywxMTQsOTUsMTE2LDExNCw5Nywx
MDUsMTE2LDExNSw3MywxMTksNjksNjksNjksNjksMCwwLDAsNzksMCwwLDE2MCwzOSwwLDAsMCww
LDAsMCwxLDAsMCwwLDU2LDM4LDAsMCwzLDI0NCwyNTUsMjU1LDc4LDgzLDExNiw1MSw5NSw5NSw0
OSw0OSw1Miw5OCw5NywxMTUsMTA1LDk5LDk1LDEwNSwxMTEsMTE1LDExNiwxMTQsMTAxLDk3LDEw
OSw3Myw5OSw3OCw4Myw5NSw0OSw0OSw5OSwxMDQsOTcsMTE0LDk1LDExNiwxMTQsOTcsMTA1LDEx
NiwxMTUsNzMsOTksNjksNjksNjksNjksMCwwLDc5LDAsMCwyMzIsMzksMCwwLDMsMCwwLDAsMiww
LDAsMCwyNDgsMzgsMCwwLDIsMCwwLDAsMTM2LDM5LDAsMCwyLDgsMCwwLDAsMCwwLDAsMTI4LDQw
LDAsMCw2MiwwLDAsMCw2MywwLDAsMCwyMCwwLDAsMCw5LDAsMCwwLDksMCwwLDAsMTAsMCwwLDAs
MTAsMCwwLDAsMCwwLDAsMCw3OCw4MywxMTYsNTEsOTUsOTUsNDksNDksNTcsOTUsOTUsMTA1LDEx
MSwxMTUsMTE2LDExNCwxMDEsOTcsMTA5LDk1LDk5LDk3LDExNiwxMDEsMTAzLDExMSwxMTQsMTIx
LDY5LDAsMCwwLDE2MCw3OCwwLDAsOTYsNDAsMCwwLDExMiwzNSwwLDAsMCwwLDAsMCwwLDAsMCww
LDE2OCw1NCwwLDAsNjQsMCwwLDAsNjUsMCwwLDAsNjYsMCwwLDAsMSwwLDAsMCw4LDAsMCwwLDEx
LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDIwOCw1NCwwLDAsNjcsMCwwLDAsNjgsMCww
LDAsNjYsMCwwLDAsMiwwLDAsMCw5LDAsMCwwLDEyLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAs
MCwwLDEyOCw1OSwwLDAsNjksMCwwLDAsNzAsMCwwLDAsNjYsMCwwLDAsMSwwLDAsMCwyLDAsMCww
LDMsMCwwLDAsNCwwLDAsMCw1LDAsMCwwLDYsMCwwLDAsNywwLDAsMCw4LDAsMCwwLDksMCwwLDAs
MTAsMCwwLDAsMTEsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDQ4LDQ5LDUwLDUxLDUyLDUzLDU0LDU1
LDU2LDU3LDk3LDk4LDk5LDEwMCwxMDEsMTAyLDY1LDY2LDY3LDY4LDY5LDcwLDEyMCw4OCw0Myw0
NSwxMTIsODAsMTA1LDczLDExMCw3OCwwLDAsMCwwLDAsMCwwLDAsMzcsMTEyLDAsMCwwLDAsMCww
LDAsMCwwLDAsMjQsNjAsMCwwLDcxLDAsMCwwLDcyLDAsMCwwLDY2LDAsMCwwLDEyLDAsMCwwLDEz
LDAsMCwwLDE0LDAsMCwwLDE1LDAsMCwwLDE2LDAsMCwwLDE3LDAsMCwwLDE4LDAsMCwwLDE5LDAs
MCwwLDIwLDAsMCwwLDIxLDAsMCwwLDIyLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDIx
Niw2MCwwLDAsNzMsMCwwLDAsNzQsMCwwLDAsNjYsMCwwLDAsNCwwLDAsMCw1LDAsMCwwLDIzLDAs
MCwwLDYsMCwwLDAsMjQsMCwwLDAsMSwwLDAsMCwyLDAsMCwwLDcsMCwwLDAsMCwwLDAsMCwwLDAs
MCwwLDAsMCwwLDAsMCwwLDAsMCwxMTIsNjEsMCwwLDc1LDAsMCwwLDc2LDAsMCwwLDY2LDAsMCww
LDgsMCwwLDAsOSwwLDAsMCwyNSwwLDAsMCwxMCwwLDAsMCwyNiwwLDAsMCwzLDAsMCwwLDQsMCww
LDAsMTEsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMzcsMCwwLDAsMCwwLDAsMCwzNywx
MTIsMCwwLDAsMCwwLDAsMCwwLDAsMCwxNTIsNTYsMCwwLDc3LDAsMCwwLDc4LDAsMCwwLDY2LDAs
MCwwLDIxLDAsMCwwLDI3LDAsMCwwLDI4LDAsMCwwLDI5LDAsMCwwLDMwLDAsMCwwLDMxLDAsMCww
LDEsMCwwLDAsMjQ4LDI1NSwyNTUsMjU1LDE1Miw1NiwwLDAsMjIsMCwwLDAsMjMsMCwwLDAsMjQs
MCwwLDAsMjUsMCwwLDAsMjYsMCwwLDAsMjcsMCwwLDAsMjgsMCwwLDAsMCwwLDAsMCwwLDAsMCww
LDAsMCwwLDAsMzcsNzIsNTgsMzcsNzcsNTgsMzcsODMsMzcsMTA5LDQ3LDM3LDEwMCw0NywzNywx
MjEsMzcsODksNDUsMzcsMTA5LDQ1LDM3LDEwMCwzNyw3Myw1OCwzNyw3Nyw1OCwzNyw4MywzMiwz
NywxMTIsMCwwLDAsMCwwLDM3LDcyLDU4LDM3LDc3LDAsMCwwLDM3LDcyLDU4LDM3LDc3LDU4LDM3
LDgzLDAsMCwwLDAsNTYsNTcsMCwwLDc5LDAsMCwwLDgwLDAsMCwwLDY2LDAsMCwwLDI5LDAsMCww
LDMyLDAsMCwwLDMzLDAsMCwwLDM0LDAsMCwwLDM1LDAsMCwwLDM2LDAsMCwwLDIsMCwwLDAsMjQ4
LDI1NSwyNTUsMjU1LDU2LDU3LDAsMCwzMCwwLDAsMCwzMSwwLDAsMCwzMiwwLDAsMCwzMywwLDAs
MCwzNCwwLDAsMCwzNSwwLDAsMCwzNiwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwzNyww
LDAsMCw3MiwwLDAsMCw1OCwwLDAsMCwzNywwLDAsMCw3NywwLDAsMCw1OCwwLDAsMCwzNywwLDAs
MCw4MywwLDAsMCwzNywwLDAsMCwxMDksMCwwLDAsNDcsMCwwLDAsMzcsMCwwLDAsMTAwLDAsMCww
LDQ3LDAsMCwwLDM3LDAsMCwwLDEyMSwwLDAsMCwzNywwLDAsMCw4OSwwLDAsMCw0NSwwLDAsMCwz
NywwLDAsMCwxMDksMCwwLDAsNDUsMCwwLDAsMzcsMCwwLDAsMTAwLDAsMCwwLDM3LDAsMCwwLDcz
LDAsMCwwLDU4LDAsMCwwLDM3LDAsMCwwLDc3LDAsMCwwLDU4LDAsMCwwLDM3LDAsMCwwLDgzLDAs
MCwwLDMyLDAsMCwwLDM3LDAsMCwwLDExMiwwLDAsMCwwLDAsMCwwLDM3LDAsMCwwLDcyLDAsMCww
LDU4LDAsMCwwLDM3LDAsMCwwLDc3LDAsMCwwLDAsMCwwLDAsMzcsMCwwLDAsNzIsMCwwLDAsNTgs
MCwwLDAsMzcsMCwwLDAsNzcsMCwwLDAsNTgsMCwwLDAsMzcsMCwwLDAsODMsMCwwLDAsMCwwLDAs
MCwyMDAsNTcsMCwwLDgxLDAsMCwwLDgyLDAsMCwwLDY2LDAsMCwwLDEsMCwwLDAsMCwwLDAsMCww
LDAsMCwwLDAsMCwwLDAsNDgsNTgsMCwwLDgzLDAsMCwwLDg0LDAsMCwwLDY2LDAsMCwwLDIsMCww
LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMzIsNTUsMCwwLDg1LDAsMCwwLDg2LDAsMCwwLDY2
LDAsMCwwLDM3LDAsMCwwLDM4LDAsMCwwLDE2LDAsMCwwLDE3LDAsMCwwLDE4LDAsMCwwLDE5LDAs
MCwwLDM5LDAsMCwwLDIwLDAsMCwwLDIxLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDk2
LDU1LDAsMCw4NywwLDAsMCw4OCwwLDAsMCw2NiwwLDAsMCw0MCwwLDAsMCw0MSwwLDAsMCwyMiww
LDAsMCwyMywwLDAsMCwyNCwwLDAsMCwyNSwwLDAsMCw0MiwwLDAsMCwyNiwwLDAsMCwyNywwLDAs
MCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwxNjAsNTUsMCwwLDg5LDAsMCwwLDkwLDAsMCwwLDY2
LDAsMCwwLDQzLDAsMCwwLDQ0LDAsMCwwLDI4LDAsMCwwLDI5LDAsMCwwLDMwLDAsMCwwLDMxLDAs
MCwwLDQ1LDAsMCwwLDMyLDAsMCwwLDMzLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDIy
NCw1NSwwLDAsOTEsMCwwLDAsOTIsMCwwLDAsNjYsMCwwLDAsNDYsMCwwLDAsNDcsMCwwLDAsMzQs
MCwwLDAsMzUsMCwwLDAsMzYsMCwwLDAsMzcsMCwwLDAsNDgsMCwwLDAsMzgsMCwwLDAsMzksMCww
LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCw2MiwwLDAsOTMsMCwwLDAsOTQsMCwwLDAsNjYs
MCwwLDAsMywwLDAsMCw0LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDQ4LDQ5LDUwLDUx
LDUyLDUzLDU0LDU1LDU2LDU3LDAsMCwwLDAsMCwwLDM3LDc2LDEwMiwwLDAsMCwwLDAsMTA5LDEx
MSwxMTAsMTAxLDEyMSw5NSwxMDMsMTAxLDExNiwzMiwxMDEsMTE0LDExNCwxMTEsMTE0LDAsMCww
LDAsMCwxNDQsNjIsMCwwLDk1LDAsMCwwLDk2LDAsMCwwLDY2LDAsMCwwLDUsMCwwLDAsNiwwLDAs
MCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCw0OCw0OSw1MCw1MSw1Miw1Myw1NCw1NSw1Niw1Nyww
LDAsMCwwLDAsMCwwLDAsMCwwLDMyLDYzLDAsMCw5NywwLDAsMCw5OCwwLDAsMCw2NiwwLDAsMCwx
LDAsMCwwLDM3LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDM3LDQ2LDQ4LDc2LDEwMiww
LDAsMCwwLDAsMCwwLDE3Niw2MywwLDAsOTksMCwwLDAsMTAwLDAsMCwwLDY2LDAsMCwwLDIsMCww
LDAsMzgsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwxMzYsNTgsMCwwLDEw
MSwwLDAsMCwxMDIsMCwwLDAsNjYsMCwwLDAsMTMsMCwwLDAsMTIsMCwwLDAsNDAsMCwwLDAsMCww
LDAsMCwwLDAsMCwwLDAsMCwwLDAsMTkyLDU4LDAsMCwxMDMsMCwwLDAsMTA0LDAsMCwwLDY2LDAs
MCwwLDE0LDAsMCwwLDEzLDAsMCwwLDQxLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwxMTgsMTAxLDk5
LDExNiwxMTEsMTE0LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDY3LDAsMCww
LDAsMCwwLDAsMCwwLDAsMCwxMjgsNTQsMCwwLDEwNSwwLDAsMCwxMDYsMCwwLDAsNjYsMCwwLDAs
MCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCww
LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAs
MCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDg4LDUxLDAsMCwx
MDcsMCwwLDAsMTA4LDAsMCwwLDY2LDAsMCwwLDEzLDAsMCwwLDE1LDAsMCwwLDE0LDAsMCwwLDE2
LDAsMCwwLDE1LDAsMCwwLDEsMCwwLDAsMTcsMCwwLDAsMywwLDAsMCwwLDAsMCwwLDAsMCwwLDAs
MCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCw1Niw1MiwwLDAsMTA5LDAsMCwwLDExMCww
LDAsMCw2NiwwLDAsMCwxLDAsMCwwLDIsMCwwLDAsNCwwLDAsMCw0OSwwLDAsMCw1MCwwLDAsMCw1
LDAsMCwwLDUxLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCww
LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDQ4LDU0LDAsMCwxMTEsMCwwLDAsMTEyLDAs
MCwwLDY2LDAsMCwwLDUyLDAsMCwwLDUzLDAsMCwwLDQyLDAsMCwwLDQzLDAsMCwwLDQ0LDAsMCww
LDAsMCwwLDAsODgsNTQsMCwwLDExMywwLDAsMCwxMTQsMCwwLDAsNjYsMCwwLDAsNTQsMCwwLDAs
NTUsMCwwLDAsNDUsMCwwLDAsNDYsMCwwLDAsNDcsMCwwLDAsMTE2LDExNCwxMTcsMTAxLDAsMCww
LDAsMTE2LDAsMCwwLDExNCwwLDAsMCwxMTcsMCwwLDAsMTAxLDAsMCwwLDAsMCwwLDAsMCwwLDAs
MCwxMDIsOTcsMTA4LDExNSwxMDEsMCwwLDAsMTAyLDAsMCwwLDk3LDAsMCwwLDEwOCwwLDAsMCwx
MTUsMCwwLDAsMTAxLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAs
MCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCww
LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAs
MCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCww
LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMzcsMTA5LDQ3LDM3LDEwMCw0
NywzNywxMjEsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAs
MCwwLDAsMCwwLDAsMCwwLDM3LDAsMCwwLDEwOSwwLDAsMCw0NywwLDAsMCwzNywwLDAsMCwxMDAs
MCwwLDAsNDcsMCwwLDAsMzcsMCwwLDAsMTIxLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCww
LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwzNyw3Miw1OCwzNyw3Nyw1
OCwzNyw4MywwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCww
LDAsMCwwLDAsMCwwLDAsMzcsMCwwLDAsNzIsMCwwLDAsNTgsMCwwLDAsMzcsMCwwLDAsNzcsMCww
LDAsNTgsMCwwLDAsMzcsMCwwLDAsODMsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCww
LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDM3LDk3LDMyLDM3LDk4LDMyLDM3
LDEwMCwzMiwzNyw3Miw1OCwzNyw3Nyw1OCwzNyw4MywzMiwzNyw4OSwwLDAsMCwwLDAsMCwwLDAs
MCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDM3LDAsMCwwLDk3LDAsMCww
LDMyLDAsMCwwLDM3LDAsMCwwLDk4LDAsMCwwLDMyLDAsMCwwLDM3LDAsMCwwLDEwMCwwLDAsMCwz
MiwwLDAsMCwzNywwLDAsMCw3MiwwLDAsMCw1OCwwLDAsMCwzNywwLDAsMCw3NywwLDAsMCw1OCww
LDAsMCwzNywwLDAsMCw4MywwLDAsMCwzMiwwLDAsMCwzNywwLDAsMCw4OSwwLDAsMCwwLDAsMCww
LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAs
MzcsNzMsNTgsMzcsNzcsNTgsMzcsODMsMzIsMzcsMTEyLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCww
LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwzNywwLDAsMCw3MywwLDAsMCw1OCww
LDAsMCwzNywwLDAsMCw3NywwLDAsMCw1OCwwLDAsMCwzNywwLDAsMCw4MywwLDAsMCwzMiwwLDAs
MCwzNywwLDAsMCwxMTIsMCwwLDAsMCwwLDAsMCwxMDgsMTExLDk5LDk3LDEwOCwxMDEsMzIsMTEw
LDExMSwxMTYsMzIsMTE1LDExNywxMTIsMTEyLDExMSwxMTQsMTE2LDEwMSwxMDAsMCwwLDAsMCww
LDAsMCwwLDE0NCw1MCwwLDAsMTE1LDAsMCwwLDExNiwwLDAsMCw2NiwwLDAsMCwwLDAsMCwwLDc4
LDgzLDExNiw1MSw5NSw5NSw0OSw1NCwxMDgsMTExLDk5LDk3LDEwOCwxMDEsNTMsMTAyLDk3LDk5
LDEwMSwxMTYsNjksMCwwLDAsMTYwLDc4LDAsMCwxMjAsNTAsMCwwLDQwLDM0LDAsMCwwLDAsMCww
LDAsMCwwLDAsMzIsNTEsMCwwLDExNSwwLDAsMCwxMTcsMCwwLDAsNjYsMCwwLDAsMTgsMCwwLDAs
MiwwLDAsMCwzLDAsMCwwLDQsMCwwLDAsMTYsMCwwLDAsMTksMCwwLDAsMTcsMCwwLDAsMjAsMCww
LDAsMTgsMCwwLDAsNSwwLDAsMCwyMSwwLDAsMCw2LDAsMCwwLDAsMCwwLDAsNzgsODMsMTE2LDUx
LDk1LDk1LDQ5LDUzLDk5LDExNiwxMjEsMTEyLDEwMSw3MywxMTksNjksNjksMCwwLDAsMCwwLDAs
MCw3OCw4MywxMTYsNTEsOTUsOTUsNDksNDksNDgsOTksMTE2LDEyMSwxMTIsMTAxLDk1LDk4LDk3
LDExNSwxMDEsNjksMCwwLDAsMCwxMjAsNzgsMCwwLDAsNTEsMCwwLDAsNzksMCwwLDIzMiw1MCww
LDAsMCwwLDAsMCwyLDAsMCwwLDE0NCw1MCwwLDAsMiwwLDAsMCwyNCw1MSwwLDAsMiwwLDAsMCw3
OCw4MywxMTYsNTEsOTUsOTUsNDksNTMsOTksMTE2LDEyMSwxMTIsMTAxLDczLDk5LDY5LDY5LDAs
MCwwLDAsMCwwLDAsMCw3OSwwLDAsNjQsNTEsMCwwLDAsMCwwLDAsMiwwLDAsMCwxNDQsNTAsMCww
LDIsMCwwLDAsMjQsNTEsMCwwLDIsMCwwLDAsMCwwLDAsMCwyNDAsNTEsMCwwLDExNSwwLDAsMCwx
MTgsMCwwLDAsNjYsMCwwLDAsMywwLDAsMCw0LDAsMCwwLDcsMCwwLDAsNTYsMCwwLDAsNTcsMCww
LDAsOCwwLDAsMCw1OCwwLDAsMCw3OCw4MywxMTYsNTEsOTUsOTUsNDksNTUsOTksMTExLDEwMCwx
MDEsOTksMTE4LDExNiw3Myw5OSw5OSw0OSw0OSw5NSw5NSwxMDksOTgsMTE1LDExNiw5NywxMTYs
MTAxLDk1LDExNiw2OSw2OSwwLDAsMCwwLDAsMCwwLDc4LDgzLDExNiw1MSw5NSw5NSw0OSw0OSw1
MCw5OSwxMTEsMTAwLDEwMSw5OSwxMTgsMTE2LDk1LDk4LDk3LDExNSwxMDEsNjksMCwwLDEyMCw3
OCwwLDAsMjA4LDUxLDAsMCwwLDc5LDAsMCwxNjgsNTEsMCwwLDAsMCwwLDAsMiwwLDAsMCwxNDQs
NTAsMCwwLDIsMCwwLDAsMjMyLDUxLDAsMCwyLDAsMCwwLDc4LDgzLDExNiw1MSw5NSw5NSw0OSw1
NSw5OSwxMTEsMTAwLDEwMSw5OSwxMTgsMTE2LDczLDExOSw5OSw0OSw0OSw5NSw5NSwxMDksOTgs
MTE1LDExNiw5NywxMTYsMTAxLDk1LDExNiw2OSw2OSwwLDAsMCwwLDAsMCwwLDAsNzksMCwwLDE2
LDUyLDAsMCwwLDAsMCwwLDIsMCwwLDAsMTQ0LDUwLDAsMCwyLDAsMCwwLDIzMiw1MSwwLDAsMiww
LDAsMCwwLDAsMCwwLDE3Niw1MiwwLDAsMTE1LDAsMCwwLDExOSwwLDAsMCw2NiwwLDAsMCw1LDAs
MCwwLDYsMCwwLDAsOSwwLDAsMCw1OSwwLDAsMCw2MCwwLDAsMCwxMCwwLDAsMCw2MSwwLDAsMCw3
OCw4MywxMTYsNTEsOTUsOTUsNDksNTUsOTksMTExLDEwMCwxMDEsOTksMTE4LDExNiw3Myw2OCwx
MTUsOTksNDksNDksOTUsOTUsMTA5LDk4LDExNSwxMTYsOTcsMTE2LDEwMSw5NSwxMTYsNjksNjks
MCwwLDAsMCwwLDAsMCw3OSwwLDAsMTM2LDUyLDAsMCwwLDAsMCwwLDIsMCwwLDAsMTQ0LDUwLDAs
MCwyLDAsMCwwLDIzMiw1MSwwLDAsMiwwLDAsMCwwLDAsMCwwLDQwLDUzLDAsMCwxMTUsMCwwLDAs
MTIwLDAsMCwwLDY2LDAsMCwwLDcsMCwwLDAsOCwwLDAsMCwxMSwwLDAsMCw2MiwwLDAsMCw2Myww
LDAsMCwxMiwwLDAsMCw2NCwwLDAsMCw3OCw4MywxMTYsNTEsOTUsOTUsNDksNTUsOTksMTExLDEw
MCwxMDEsOTksMTE4LDExNiw3Myw2OCwxMDUsOTksNDksNDksOTUsOTUsMTA5LDk4LDExNSwxMTYs
OTcsMTE2LDEwMSw5NSwxMTYsNjksNjksMCwwLDAsMCwwLDAsMCw3OSwwLDAsMCw1MywwLDAsMCww
LDAsMCwyLDAsMCwwLDE0NCw1MCwwLDAsMiwwLDAsMCwyMzIsNTEsMCwwLDIsMCwwLDAsMCwwLDAs
MCwxNjAsNTMsMCwwLDExNSwwLDAsMCwxMjEsMCwwLDAsNjYsMCwwLDAsNywwLDAsMCw4LDAsMCww
LDExLDAsMCwwLDYyLDAsMCwwLDYzLDAsMCwwLDEyLDAsMCwwLDY0LDAsMCwwLDc4LDgzLDExNiw1
MSw5NSw5NSw0OSw0OSw1NCw5NSw5NSwxMTAsOTcsMTE0LDExNCwxMTEsMTE5LDk1LDExNiwxMTEs
OTUsMTE3LDExNiwxMDIsNTYsNzMsNzYsMTA2LDUxLDUwLDY5LDY5LDY5LDAsMCwwLDAsMCwwLDAs
MTYwLDc4LDAsMCwxMjAsNTMsMCwwLDQwLDUzLDAsMCwwLDAsMCwwLDAsMCwwLDAsOCw1NCwwLDAs
MTE1LDAsMCwwLDEyMiwwLDAsMCw2NiwwLDAsMCw3LDAsMCwwLDgsMCwwLDAsMTEsMCwwLDAsNjIs
MCwwLDAsNjMsMCwwLDAsMTIsMCwwLDAsNjQsMCwwLDAsNzgsODMsMTE2LDUxLDk1LDk1LDQ5LDQ5
LDU1LDk1LDk1LDExOSwxMDUsMTAwLDEwMSwxMTAsOTUsMTAyLDExNCwxMTEsMTA5LDk1LDExNywx
MTYsMTAyLDU2LDczLDc2LDEwNiw1MSw1MCw2OSw2OSw2OSwwLDAsMCwwLDAsMCwxNjAsNzgsMCww
LDIyNCw1MywwLDAsNDAsNTMsMCwwLDAsMCwwLDAsNzgsODMsMTE2LDUxLDk1LDk1LDQ5LDU2LDEx
MCwxMTcsMTA5LDExMiwxMTcsMTEwLDk5LDExNiw3Myw5OSw2OSw2OSwwLDAsMCwwLDE2MCw3OCww
LDAsMjQsNTQsMCwwLDE0NCw1MCwwLDAsMCwwLDAsMCw3OCw4MywxMTYsNTEsOTUsOTUsNDksNTYs
MTEwLDExNywxMDksMTEyLDExNywxMTAsOTksMTE2LDczLDExOSw2OSw2OSwwLDAsMCwwLDE2MCw3
OCwwLDAsNjQsNTQsMCwwLDE0NCw1MCwwLDAsMCwwLDAsMCw3OCw4MywxMTYsNTEsOTUsOTUsNDks
NTQsMTA4LDExMSw5OSw5NywxMDgsMTAxLDUzLDk1LDk1LDEwNSwxMDksMTEyLDY5LDAsMCwwLDE2
MCw3OCwwLDAsMTA0LDU0LDAsMCwxNDQsNTAsMCwwLDAsMCwwLDAsNzgsODMsMTE2LDUxLDk1LDk1
LDQ5LDU1LDk5LDExMSwxMDgsMTA4LDk3LDExNiwxMDEsNzMsOTksNjksNjksMCwwLDAsMCwwLDE2
MCw3OCwwLDAsMTQ0LDU0LDAsMCwxNDQsNTAsMCwwLDAsMCwwLDAsNzgsODMsMTE2LDUxLDk1LDk1
LDQ5LDU1LDk5LDExMSwxMDgsMTA4LDk3LDExNiwxMDEsNzMsMTE5LDY5LDY5LDAsMCwwLDAsMCwx
NjAsNzgsMCwwLDE4NCw1NCwwLDAsMTQ0LDUwLDAsMCwwLDAsMCwwLDc4LDgzLDExNiw1MSw5NSw5
NSw0OSw0OSw0OCwxMDksMTExLDExMCwxMDEsMTIxLDExMiwxMTcsMTEwLDk5LDExNiw3Myw5OSw3
Niw5OCw0OCw2OSw2OSw2OSwwLDAsMCwwLDAsNzgsODMsMTE2LDUxLDk1LDk1LDQ5LDQ5LDQ4LDEw
OSwxMTEsMTEwLDEwMSwxMjEsOTUsOTgsOTcsMTE1LDEwMSw2OSwwLDAsMCwwLDEyMCw3OCwwLDAs
MCw1NSwwLDAsMCw3OSwwLDAsMjI0LDU0LDAsMCwwLDAsMCwwLDIsMCwwLDAsMTQ0LDUwLDAsMCwy
LDAsMCwwLDI0LDU1LDAsMCwyLDAsMCwwLDc4LDgzLDExNiw1MSw5NSw5NSw0OSw0OSw0OCwxMDks
MTExLDExMCwxMDEsMTIxLDExMiwxMTcsMTEwLDk5LDExNiw3Myw5OSw3Niw5OCw0OSw2OSw2OSw2
OSwwLDAsMCwwLDAsMCw3OSwwLDAsNjQsNTUsMCwwLDAsMCwwLDAsMiwwLDAsMCwxNDQsNTAsMCww
LDIsMCwwLDAsMjQsNTUsMCwwLDIsMCwwLDAsNzgsODMsMTE2LDUxLDk1LDk1LDQ5LDQ5LDQ4LDEw
OSwxMTEsMTEwLDEwMSwxMjEsMTEyLDExNywxMTAsOTksMTE2LDczLDExOSw3Niw5OCw0OCw2OSw2
OSw2OSwwLDAsMCwwLDAsMCw3OSwwLDAsMTI4LDU1LDAsMCwwLDAsMCwwLDIsMCwwLDAsMTQ0LDUw
LDAsMCwyLDAsMCwwLDI0LDU1LDAsMCwyLDAsMCwwLDc4LDgzLDExNiw1MSw5NSw5NSw0OSw0OSw0
OCwxMDksMTExLDExMCwxMDEsMTIxLDExMiwxMTcsMTEwLDk5LDExNiw3MywxMTksNzYsOTgsNDks
NjksNjksNjksMCwwLDAsMCwwLDAsNzksMCwwLDE5Miw1NSwwLDAsMCwwLDAsMCwyLDAsMCwwLDE0
NCw1MCwwLDAsMiwwLDAsMCwyNCw1NSwwLDAsMiwwLDAsMCw3OCw4MywxMTYsNTEsOTUsOTUsNDks
NTYsMTE2LDEwNSwxMDksMTAxLDk1LDEwMywxMDEsMTE2LDczLDk5LDc4LDgzLDk1LDQ5LDU3LDEw
NSwxMTUsMTE2LDExNCwxMDEsOTcsMTA5LDk4LDExNywxMDIsOTUsMTA1LDExNiwxMDEsMTE0LDk3
LDExNiwxMTEsMTE0LDczLDk5LDc4LDgzLDk1LDQ5LDQ5LDk5LDEwNCw5NywxMTQsOTUsMTE2LDEx
NCw5NywxMDUsMTE2LDExNSw3Myw5OSw2OSw2OSw2OSw2OSw2OSw2OSwwLDAsMCwwLDc4LDgzLDEx
Niw1MSw5NSw5NSw0OSw1NywxMTYsMTA1LDEwOSwxMDEsOTUsOTgsOTcsMTE1LDEwMSw2OSwwLDAs
MCwwLDAsMCwxMjAsNzgsMCwwLDcyLDU2LDAsMCw3OCw4MywxMTYsNTEsOTUsOTUsNDksNTAsNDgs
OTUsOTUsMTE2LDEwNSwxMDksMTAxLDk1LDEwMywxMDEsMTE2LDk1LDk5LDk1LDExNSwxMTYsMTEx
LDExNCw5NywxMDMsMTAxLDczLDk5LDY5LDY5LDAsMCwwLDAsMCwwLDAsMTIwLDc4LDAsMCwxMDQs
NTYsMCwwLDAsNzksMCwwLDAsNTYsMCwwLDAsMCwwLDAsMywwLDAsMCwxNDQsNTAsMCwwLDIsMCww
LDAsOTYsNTYsMCwwLDIsMCwwLDAsMTQ0LDU2LDAsMCwwLDgsMCwwLDc4LDgzLDExNiw1MSw5NSw5
NSw0OSw1NiwxMTYsMTA1LDEwOSwxMDEsOTUsMTAzLDEwMSwxMTYsNzMsMTE5LDc4LDgzLDk1LDQ5
LDU3LDEwNSwxMTUsMTE2LDExNCwxMDEsOTcsMTA5LDk4LDExNywxMDIsOTUsMTA1LDExNiwxMDEs
MTE0LDk3LDExNiwxMTEsMTE0LDczLDExOSw3OCw4Myw5NSw0OSw0OSw5OSwxMDQsOTcsMTE0LDk1
LDExNiwxMTQsOTcsMTA1LDExNiwxMTUsNzMsMTE5LDY5LDY5LDY5LDY5LDY5LDY5LDAsMCwwLDAs
NzgsODMsMTE2LDUxLDk1LDk1LDQ5LDUwLDQ4LDk1LDk1LDExNiwxMDUsMTA5LDEwMSw5NSwxMDMs
MTAxLDExNiw5NSw5OSw5NSwxMTUsMTE2LDExMSwxMTQsOTcsMTAzLDEwMSw3MywxMTksNjksNjks
MCwwLDAsMCwwLDAsMCwxMjAsNzgsMCwwLDgsNTcsMCwwLDAsNzksMCwwLDE5Miw1NiwwLDAsMCww
LDAsMCwzLDAsMCwwLDE0NCw1MCwwLDAsMiwwLDAsMCw5Niw1NiwwLDAsMiwwLDAsMCw0OCw1Nyww
LDAsMCw4LDAsMCw3OCw4MywxMTYsNTEsOTUsOTUsNDksNTYsMTE2LDEwNSwxMDksMTAxLDk1LDEx
MiwxMTcsMTE2LDczLDk5LDc4LDgzLDk1LDQ5LDU3LDExMSwxMTUsMTE2LDExNCwxMDEsOTcsMTA5
LDk4LDExNywxMDIsOTUsMTA1LDExNiwxMDEsMTE0LDk3LDExNiwxMTEsMTE0LDczLDk5LDc4LDgz
LDk1LDQ5LDQ5LDk5LDEwNCw5NywxMTQsOTUsMTE2LDExNCw5NywxMDUsMTE2LDExNSw3Myw5OSw2
OSw2OSw2OSw2OSw2OSw2OSwwLDAsMCwwLDc4LDgzLDExNiw1MSw5NSw5NSw0OSw0OSw0OCw5NSw5
NSwxMTYsMTA1LDEwOSwxMDEsOTUsMTEyLDExNywxMTYsNjksMCwwLDAsMCwxMjAsNzgsMCwwLDE2
OCw1NywwLDAsMCw3OSwwLDAsOTYsNTcsMCwwLDAsMCwwLDAsMiwwLDAsMCwxNDQsNTAsMCwwLDIs
MCwwLDAsMTkyLDU3LDAsMCwwLDgsMCwwLDc4LDgzLDExNiw1MSw5NSw5NSw0OSw1NiwxMTYsMTA1
LDEwOSwxMDEsOTUsMTEyLDExNywxMTYsNzMsMTE5LDc4LDgzLDk1LDQ5LDU3LDExMSwxMTUsMTE2
LDExNCwxMDEsOTcsMTA5LDk4LDExNywxMDIsOTUsMTA1LDExNiwxMDEsMTE0LDk3LDExNiwxMTEs
MTE0LDczLDExOSw3OCw4Myw5NSw0OSw0OSw5OSwxMDQsOTcsMTE0LDk1LDExNiwxMTQsOTcsMTA1
LDExNiwxMTUsNzMsMTE5LDY5LDY5LDY5LDY5LDY5LDY5LDAsMCwwLDAsMCw3OSwwLDAsMjMyLDU3
LDAsMCwwLDAsMCwwLDIsMCwwLDAsMTQ0LDUwLDAsMCwyLDAsMCwwLDE5Miw1NywwLDAsMCw4LDAs
MCw3OCw4MywxMTYsNTEsOTUsOTUsNDksNTYsMTA5LDEwMSwxMTUsMTE1LDk3LDEwMywxMDEsMTE1
LDczLDk5LDY5LDY5LDAsMCwwLDAsNzgsODMsMTE2LDUxLDk1LDk1LDQ5LDQ5LDUxLDEwOSwxMDEs
MTE1LDExNSw5NywxMDMsMTAxLDExNSw5NSw5OCw5NywxMTUsMTAxLDY5LDAsMTIwLDc4LDAsMCwx
MDQsNTgsMCwwLDAsNzksMCwwLDgwLDU4LDAsMCwwLDAsMCwwLDIsMCwwLDAsMTQ0LDUwLDAsMCwy
LDAsMCwwLDEyOCw1OCwwLDAsMiwwLDAsMCw3OCw4MywxMTYsNTEsOTUsOTUsNDksNTYsMTA5LDEw
MSwxMTUsMTE1LDk3LDEwMywxMDEsMTE1LDczLDExOSw2OSw2OSwwLDAsMCwwLDAsNzksMCwwLDE2
OCw1OCwwLDAsMCwwLDAsMCwyLDAsMCwwLDE0NCw1MCwwLDAsMiwwLDAsMCwxMjgsNTgsMCwwLDIs
MCwwLDAsNzgsODMsMTE2LDUxLDk1LDk1LDQ5LDU1LDExMCwxMTcsMTA5LDk1LDEwMywxMDEsMTE2
LDczLDk5LDc4LDgzLDk1LDQ5LDU3LDEwNSwxMTUsMTE2LDExNCwxMDEsOTcsMTA5LDk4LDExNywx
MDIsOTUsMTA1LDExNiwxMDEsMTE0LDk3LDExNiwxMTEsMTE0LDczLDk5LDc4LDgzLDk1LDQ5LDQ5
LDk5LDEwNCw5NywxMTQsOTUsMTE2LDExNCw5NywxMDUsMTE2LDExNSw3Myw5OSw2OSw2OSw2OSw2
OSw2OSw2OSwwLDAsMCwwLDAsNzgsODMsMTE2LDUxLDk1LDk1LDQ5LDU3LDk1LDk1LDExMCwxMTcs
MTA5LDk1LDEwMywxMDEsMTE2LDczLDk5LDY5LDY5LDAsMCwwLDc4LDgzLDExNiw1MSw5NSw5NSw0
OSw0OSw1Miw5NSw5NSwxMTAsMTE3LDEwOSw5NSwxMDMsMTAxLDExNiw5NSw5OCw5NywxMTUsMTAx
LDY5LDAsMCwwLDAsMCwwLDAsMCwxMjAsNzgsMCwwLDY0LDU5LDAsMCwwLDc5LDAsMCw0MCw1OSww
LDAsMCwwLDAsMCwxLDAsMCwwLDk2LDU5LDAsMCwwLDAsMCwwLDAsNzksMCwwLDIyNCw1OCwwLDAs
MCwwLDAsMCwyLDAsMCwwLDE0NCw1MCwwLDAsMiwwLDAsMCwxMDQsNTksMCwwLDAsMCwwLDAsNzgs
ODMsMTE2LDUxLDk1LDk1LDQ5LDU1LDExMCwxMTcsMTA5LDk1LDEwMywxMDEsMTE2LDczLDExOSw3
OCw4Myw5NSw0OSw1NywxMDUsMTE1LDExNiwxMTQsMTAxLDk3LDEwOSw5OCwxMTcsMTAyLDk1LDEw
NSwxMTYsMTAxLDExNCw5NywxMTYsMTExLDExNCw3MywxMTksNzgsODMsOTUsNDksNDksOTksMTA0
LDk3LDExNCw5NSwxMTYsMTE0LDk3LDEwNSwxMTYsMTE1LDczLDExOSw2OSw2OSw2OSw2OSw2OSw2
OSwwLDAsMCwwLDAsNzgsODMsMTE2LDUxLDk1LDk1LDQ5LDU3LDk1LDk1LDExMCwxMTcsMTA5LDk1
LDEwMywxMDEsMTE2LDczLDExOSw2OSw2OSwwLDAsMCwwLDc5LDAsMCwyMzIsNTksMCwwLDAsMCww
LDAsMSwwLDAsMCw5Niw1OSwwLDAsMCwwLDAsMCwwLDc5LDAsMCwxNjAsNTksMCwwLDAsMCwwLDAs
MiwwLDAsMCwxNDQsNTAsMCwwLDIsMCwwLDAsMCw2MCwwLDAsMCwwLDAsMCw3OCw4MywxMTYsNTEs
OTUsOTUsNDksNTUsMTEwLDExNywxMDksOTUsMTEyLDExNywxMTYsNzMsOTksNzgsODMsOTUsNDks
NTcsMTExLDExNSwxMTYsMTE0LDEwMSw5NywxMDksOTgsMTE3LDEwMiw5NSwxMDUsMTE2LDEwMSwx
MTQsOTcsMTE2LDExMSwxMTQsNzMsOTksNzgsODMsOTUsNDksNDksOTksMTA0LDk3LDExNCw5NSwx
MTYsMTE0LDk3LDEwNSwxMTYsMTE1LDczLDk5LDY5LDY5LDY5LDY5LDY5LDY5LDAsMCwwLDAsMCw3
OCw4MywxMTYsNTEsOTUsOTUsNDksNTcsOTUsOTUsMTEwLDExNywxMDksOTUsMTEyLDExNywxMTYs
NzMsOTksNjksNjksMCwwLDAsNzgsODMsMTE2LDUxLDk1LDk1LDQ5LDQ5LDUyLDk1LDk1LDExMCwx
MTcsMTA5LDk1LDExMiwxMTcsMTE2LDk1LDk4LDk3LDExNSwxMDEsNjksMCwwLDAsMCwwLDAsMCww
LDEyMCw3OCwwLDAsMTUyLDYwLDAsMCwwLDc5LDAsMCwxMjgsNjAsMCwwLDAsMCwwLDAsMSwwLDAs
MCwxODQsNjAsMCwwLDAsMCwwLDAsMCw3OSwwLDAsNTYsNjAsMCwwLDAsMCwwLDAsMiwwLDAsMCwx
NDQsNTAsMCwwLDIsMCwwLDAsMTkyLDYwLDAsMCwwLDAsMCwwLDc4LDgzLDExNiw1MSw5NSw5NSw0
OSw1NSwxMTAsMTE3LDEwOSw5NSwxMTIsMTE3LDExNiw3MywxMTksNzgsODMsOTUsNDksNTcsMTEx
LDExNSwxMTYsMTE0LDEwMSw5NywxMDksOTgsMTE3LDEwMiw5NSwxMDUsMTE2LDEwMSwxMTQsOTcs
MTE2LDExMSwxMTQsNzMsMTE5LDc4LDgzLDk1LDQ5LDQ5LDk5LDEwNCw5NywxMTQsOTUsMTE2LDEx
NCw5NywxMDUsMTE2LDExNSw3MywxMTksNjksNjksNjksNjksNjksNjksMCwwLDAsMCwwLDc4LDgz
LDExNiw1MSw5NSw5NSw0OSw1Nyw5NSw5NSwxMTAsMTE3LDEwOSw5NSwxMTIsMTE3LDExNiw3Mywx
MTksNjksNjksMCwwLDAsMCw3OSwwLDAsNjQsNjEsMCwwLDAsMCwwLDAsMSwwLDAsMCwxODQsNjAs
MCwwLDAsMCwwLDAsMCw3OSwwLDAsMjQ4LDYwLDAsMCwwLDAsMCwwLDIsMCwwLDAsMTQ0LDUwLDAs
MCwyLDAsMCwwLDg4LDYxLDAsMCwwLDAsMCwwLDc4LDgzLDExNiw1MSw5NSw5NSw0OSw1NywxMDks
MTExLDExMCwxMDEsMTIxLDk1LDEwMywxMDEsMTE2LDczLDk5LDc4LDgzLDk1LDQ5LDU3LDEwNSwx
MTUsMTE2LDExNCwxMDEsOTcsMTA5LDk4LDExNywxMDIsOTUsMTA1LDExNiwxMDEsMTE0LDk3LDEx
NiwxMTEsMTE0LDczLDk5LDc4LDgzLDk1LDQ5LDQ5LDk5LDEwNCw5NywxMTQsOTUsMTE2LDExNCw5
NywxMDUsMTE2LDExNSw3Myw5OSw2OSw2OSw2OSw2OSw2OSw2OSwwLDAsMCw3OCw4MywxMTYsNTEs
OTUsOTUsNDksNDksNDksOTUsOTUsMTA5LDExMSwxMTAsMTAxLDEyMSw5NSwxMDMsMTAxLDExNiw3
Myw5OSw2OSw2OSwwLDAsMCwwLDAsMCwwLDAsMTIwLDc4LDAsMCwyMTYsNjEsMCwwLDAsNzksMCww
LDE0NCw2MSwwLDAsMCwwLDAsMCwyLDAsMCwwLDE0NCw1MCwwLDAsMiwwLDAsMCwyNDgsNjEsMCww
LDAsMCwwLDAsNzgsODMsMTE2LDUxLDk1LDk1LDQ5LDU3LDEwOSwxMTEsMTEwLDEwMSwxMjEsOTUs
MTAzLDEwMSwxMTYsNzMsMTE5LDc4LDgzLDk1LDQ5LDU3LDEwNSwxMTUsMTE2LDExNCwxMDEsOTcs
MTA5LDk4LDExNywxMDIsOTUsMTA1LDExNiwxMDEsMTE0LDk3LDExNiwxMTEsMTE0LDczLDExOSw3
OCw4Myw5NSw0OSw0OSw5OSwxMDQsOTcsMTE0LDk1LDExNiwxMTQsOTcsMTA1LDExNiwxMTUsNzMs
MTE5LDY5LDY5LDY5LDY5LDY5LDY5LDAsMCwwLDc4LDgzLDExNiw1MSw5NSw5NSw0OSw0OSw0OSw5
NSw5NSwxMDksMTExLDExMCwxMDEsMTIxLDk1LDEwMywxMDEsMTE2LDczLDExOSw2OSw2OSwwLDAs
MCwwLDAsMCwwLDAsMTIwLDc4LDAsMCwxMDQsNjIsMCwwLDAsNzksMCwwLDMyLDYyLDAsMCwwLDAs
MCwwLDIsMCwwLDAsMTQ0LDUwLDAsMCwyLDAsMCwwLDEzNiw2MiwwLDAsMCwwLDAsMCw3OCw4Mywx
MTYsNTEsOTUsOTUsNDksNTcsMTA5LDExMSwxMTAsMTAxLDEyMSw5NSwxMTIsMTE3LDExNiw3Myw5
OSw3OCw4Myw5NSw0OSw1NywxMTEsMTE1LDExNiwxMTQsMTAxLDk3LDEwOSw5OCwxMTcsMTAyLDk1
LDEwNSwxMTYsMTAxLDExNCw5NywxMTYsMTExLDExNCw3Myw5OSw3OCw4Myw5NSw0OSw0OSw5OSwx
MDQsOTcsMTE0LDk1LDExNiwxMTQsOTcsMTA1LDExNiwxMTUsNzMsOTksNjksNjksNjksNjksNjks
NjksMCwwLDAsNzgsODMsMTE2LDUxLDk1LDk1LDQ5LDQ5LDQ5LDk1LDk1LDEwOSwxMTEsMTEwLDEw
MSwxMjEsOTUsMTEyLDExNywxMTYsNzMsOTksNjksNjksMCwwLDAsMCwwLDAsMCwwLDEyMCw3OCww
LDAsMjQ4LDYyLDAsMCwwLDc5LDAsMCwxNzYsNjIsMCwwLDAsMCwwLDAsMiwwLDAsMCwxNDQsNTAs
MCwwLDIsMCwwLDAsMjQsNjMsMCwwLDAsMCwwLDAsNzgsODMsMTE2LDUxLDk1LDk1LDQ5LDU3LDEw
OSwxMTEsMTEwLDEwMSwxMjEsOTUsMTEyLDExNywxMTYsNzMsMTE5LDc4LDgzLDk1LDQ5LDU3LDEx
MSwxMTUsMTE2LDExNCwxMDEsOTcsMTA5LDk4LDExNywxMDIsOTUsMTA1LDExNiwxMDEsMTE0LDk3
LDExNiwxMTEsMTE0LDczLDExOSw3OCw4Myw5NSw0OSw0OSw5OSwxMDQsOTcsMTE0LDk1LDExNiwx
MTQsOTcsMTA1LDExNiwxMTUsNzMsMTE5LDY5LDY5LDY5LDY5LDY5LDY5LDAsMCwwLDc4LDgzLDEx
Niw1MSw5NSw5NSw0OSw0OSw0OSw5NSw5NSwxMDksMTExLDExMCwxMDEsMTIxLDk1LDExMiwxMTcs
MTE2LDczLDExOSw2OSw2OSwwLDAsMCwwLDAsMCwwLDAsMTIwLDc4LDAsMCwxMzYsNjMsMCwwLDAs
NzksMCwwLDY0LDYzLDAsMCwwLDAsMCwwLDIsMCwwLDAsMTQ0LDUwLDAsMCwyLDAsMCwwLDE2OCw2
MywwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCww
LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAs
MCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCww
LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAs
MCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCww
LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAs
MCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCww
LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAs
MCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCww
LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAs
MCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCww
LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAs
MCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCww
LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAs
MCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCww
LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAs
MCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCww
LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAs
MCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCww
LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAs
MCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCww
LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAs
MCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCww
LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAs
MCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCww
LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAs
MCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCww
LDAsMCwwLDAsMCw2NSwwLDAsMCw3NywwLDAsMCwwLDAsMCwwLDAsMCwwLDAsODAsMCwwLDAsNzcs
MCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCww
LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAs
MCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCww
LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAs
MCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCww
LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAs
MCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCww
LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAs
MCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCww
LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAs
MCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCw2NSw3NywwLDAsMCww
LDAsMCw4MCw3NywwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAs
MCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCww
LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAs
MCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCww
LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAs
MCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCww
LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAs
MCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCww
LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAs
MCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCww
LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsNzQsMCwwLDAsOTcs
MCwwLDAsMTEwLDAsMCwwLDExNywwLDAsMCw5NywwLDAsMCwxMTQsMCwwLDAsMTIxLDAsMCwwLDAs
MCwwLDAsNzAsMCwwLDAsMTAxLDAsMCwwLDk4LDAsMCwwLDExNCwwLDAsMCwxMTcsMCwwLDAsOTcs
MCwwLDAsMTE0LDAsMCwwLDEyMSwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsNzcsMCwwLDAsOTcsMCww
LDAsMTE0LDAsMCwwLDk5LDAsMCwwLDEwNCwwLDAsMCwwLDAsMCwwLDY1LDAsMCwwLDExMiwwLDAs
MCwxMTQsMCwwLDAsMTA1LDAsMCwwLDEwOCwwLDAsMCwwLDAsMCwwLDc0LDAsMCwwLDExNywwLDAs
MCwxMTAsMCwwLDAsMTAxLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCw3NCwwLDAsMCwxMTcsMCwwLDAs
MTA4LDAsMCwwLDEyMSwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsNjUsMCwwLDAsMTE3LDAsMCwwLDEw
MywwLDAsMCwxMTcsMCwwLDAsMTE1LDAsMCwwLDExNiwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsODMs
MCwwLDAsMTAxLDAsMCwwLDExMiwwLDAsMCwxMTYsMCwwLDAsMTAxLDAsMCwwLDEwOSwwLDAsMCw5
OCwwLDAsMCwxMDEsMCwwLDAsMTE0LDAsMCwwLDAsMCwwLDAsNzksMCwwLDAsOTksMCwwLDAsMTE2
LDAsMCwwLDExMSwwLDAsMCw5OCwwLDAsMCwxMDEsMCwwLDAsMTE0LDAsMCwwLDAsMCwwLDAsNzgs
MCwwLDAsMTExLDAsMCwwLDExOCwwLDAsMCwxMDEsMCwwLDAsMTA5LDAsMCwwLDk4LDAsMCwwLDEw
MSwwLDAsMCwxMTQsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDY4LDAsMCwwLDEwMSwwLDAsMCw5OSww
LDAsMCwxMDEsMCwwLDAsMTA5LDAsMCwwLDk4LDAsMCwwLDEwMSwwLDAsMCwxMTQsMCwwLDAsMCww
LDAsMCwwLDAsMCwwLDc0LDAsMCwwLDk3LDAsMCwwLDExMCwwLDAsMCwwLDAsMCwwLDcwLDAsMCww
LDEwMSwwLDAsMCw5OCwwLDAsMCwwLDAsMCwwLDc3LDAsMCwwLDk3LDAsMCwwLDExNCwwLDAsMCww
LDAsMCwwLDY1LDAsMCwwLDExMiwwLDAsMCwxMTQsMCwwLDAsMCwwLDAsMCw3NywwLDAsMCw5Nyww
LDAsMCwxMjEsMCwwLDAsMCwwLDAsMCw3NCwwLDAsMCwxMTcsMCwwLDAsMTEwLDAsMCwwLDAsMCww
LDAsNzQsMCwwLDAsMTE3LDAsMCwwLDEwOCwwLDAsMCwwLDAsMCwwLDY1LDAsMCwwLDExNywwLDAs
MCwxMDMsMCwwLDAsMCwwLDAsMCw4MywwLDAsMCwxMDEsMCwwLDAsMTEyLDAsMCwwLDAsMCwwLDAs
NzksMCwwLDAsOTksMCwwLDAsMTE2LDAsMCwwLDAsMCwwLDAsNzgsMCwwLDAsMTExLDAsMCwwLDEx
OCwwLDAsMCwwLDAsMCwwLDY4LDAsMCwwLDEwMSwwLDAsMCw5OV0sICJpOCIsIEFMTE9DX05PTkUs
IFJ1bnRpbWUuR0xPQkFMX0JBU0UrODIzNik7Ci8qIG1lbW9yeSBpbml0aWFsaXplciAqLyBhbGxv
Y2F0ZShbNzQsOTcsMTEwLDExNyw5NywxMTQsMTIxLDAsNzAsMTAxLDk4LDExNCwxMTcsOTcsMTE0
LDEyMSwwLDAsMCwwLDAsMCwwLDAsNzcsOTcsMTE0LDk5LDEwNCwwLDAsMCw2NSwxMTIsMTE0LDEw
NSwxMDgsMCwwLDAsNzcsOTcsMTIxLDAsMCwwLDAsMCw3NCwxMTcsMTEwLDEwMSwwLDAsMCwwLDc0
LDExNywxMDgsMTIxLDAsMCwwLDAsNjUsMTE3LDEwMywxMTcsMTE1LDExNiwwLDAsODMsMTAxLDEx
MiwxMTYsMTAxLDEwOSw5OCwxMDEsMTE0LDAsMCwwLDAsMCwwLDAsNzksOTksMTE2LDExMSw5OCwx
MDEsMTE0LDAsNzgsMTExLDExOCwxMDEsMTA5LDk4LDEwMSwxMTQsMCwwLDAsMCwwLDAsMCwwLDY4
LDEwMSw5OSwxMDEsMTA5LDk4LDEwMSwxMTQsMCwwLDAsMCwwLDAsMCwwLDc0LDk3LDExMCwwLDAs
MCwwLDAsNzAsMTAxLDk4LDAsMCwwLDAsMCw3Nyw5NywxMTQsMCwwLDAsMCwwLDY1LDExMiwxMTQs
MCwwLDAsMCwwLDc0LDExNywxMTAsMCwwLDAsMCwwLDc0LDExNywxMDgsMCwwLDAsMCwwLDY1LDEx
NywxMDMsMCwwLDAsMCwwLDgzLDEwMSwxMTIsMCwwLDAsMCwwLDc5LDk5LDExNiwwLDAsMCwwLDAs
NzgsMTExLDExOCwwLDAsMCwwLDAsNjgsMTAxLDk5LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAs
MCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCww
LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAs
MCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCww
LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAs
MCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCww
LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsODMsMCww
LDAsMTE3LDAsMCwwLDExMCwwLDAsMCwxMDAsMCwwLDAsOTcsMCwwLDAsMTIxLDAsMCwwLDAsMCww
LDAsMCwwLDAsMCw3NywwLDAsMCwxMTEsMCwwLDAsMTEwLDAsMCwwLDEwMCwwLDAsMCw5NywwLDAs
MCwxMjEsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDg0LDAsMCwwLDExNywwLDAsMCwxMDEsMCwwLDAs
MTE1LDAsMCwwLDEwMCwwLDAsMCw5NywwLDAsMCwxMjEsMCwwLDAsMCwwLDAsMCw4NywwLDAsMCwx
MDEsMCwwLDAsMTAwLDAsMCwwLDExMCwwLDAsMCwxMDEsMCwwLDAsMTE1LDAsMCwwLDEwMCwwLDAs
MCw5NywwLDAsMCwxMjEsMCwwLDAsMCwwLDAsMCw4NCwwLDAsMCwxMDQsMCwwLDAsMTE3LDAsMCww
LDExNCwwLDAsMCwxMTUsMCwwLDAsMTAwLDAsMCwwLDk3LDAsMCwwLDEyMSwwLDAsMCwwLDAsMCww
LDAsMCwwLDAsNzAsMCwwLDAsMTE0LDAsMCwwLDEwNSwwLDAsMCwxMDAsMCwwLDAsOTcsMCwwLDAs
MTIxLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCw4MywwLDAsMCw5NywwLDAsMCwxMTYsMCwwLDAsMTE3
LDAsMCwwLDExNCwwLDAsMCwxMDAsMCwwLDAsOTcsMCwwLDAsMTIxLDAsMCwwLDAsMCwwLDAsMCww
LDAsMCw4MywwLDAsMCwxMTcsMCwwLDAsMTEwLDAsMCwwLDAsMCwwLDAsNzcsMCwwLDAsMTExLDAs
MCwwLDExMCwwLDAsMCwwLDAsMCwwLDg0LDAsMCwwLDExNywwLDAsMCwxMDEsMCwwLDAsMCwwLDAs
MCw4NywwLDAsMCwxMDEsMCwwLDAsMTAwLDAsMCwwLDAsMCwwLDAsODQsMCwwLDAsMTA0LDAsMCww
LDExNywwLDAsMCwwLDAsMCwwLDcwLDAsMCwwLDExNCwwLDAsMCwxMDUsMCwwLDAsMCwwLDAsMCw4
MywwLDAsMCw5NywwLDAsMCwxMTYsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAs
MCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCww
LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAs
MCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCww
LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAs
MCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCww
LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsODMsMTE3LDExMCwx
MDAsOTcsMTIxLDAsMCw3NywxMTEsMTEwLDEwMCw5NywxMjEsMCwwLDg0LDExNywxMDEsMTE1LDEw
MCw5NywxMjEsMCw4NywxMDEsMTAwLDExMCwxMDEsMTE1LDEwMCw5NywxMjEsMCwwLDAsMCwwLDAs
MCw4NCwxMDQsMTE3LDExNCwxMTUsMTAwLDk3LDEyMSwwLDAsMCwwLDAsMCwwLDAsNzAsMTE0LDEw
NSwxMDAsOTcsMTIxLDAsMCw4Myw5NywxMTYsMTE3LDExNCwxMDAsOTcsMTIxLDAsMCwwLDAsMCww
LDAsMCw4MywxMTcsMTEwLDAsMCwwLDAsMCw3NywxMTEsMTEwLDAsMCwwLDAsMCw4NCwxMTcsMTAx
LDAsMCwwLDAsMCw4NywxMDEsMTAwLDAsMCwwLDAsMCw4NCwxMDQsMTE3LDAsMCwwLDAsMCw3MCwx
MTQsMTA1LDAsMCwwLDAsMCw4Myw5NywxMTYsMCwwLDAsMCwwLDIsMCwwLDE5MiwzLDAsMCwxOTIs
NCwwLDAsMTkyLDUsMCwwLDE5Miw2LDAsMCwxOTIsNywwLDAsMTkyLDgsMCwwLDE5Miw5LDAsMCwx
OTIsMTAsMCwwLDE5MiwxMSwwLDAsMTkyLDEyLDAsMCwxOTIsMTMsMCwwLDE5MiwxNCwwLDAsMTky
LDE1LDAsMCwxOTIsMTYsMCwwLDE5MiwxNywwLDAsMTkyLDE4LDAsMCwxOTIsMTksMCwwLDE5Miwy
MCwwLDAsMTkyLDIxLDAsMCwxOTIsMjIsMCwwLDE5MiwyMywwLDAsMTkyLDI0LDAsMCwxOTIsMjUs
MCwwLDE5MiwyNiwwLDAsMTkyLDI3LDAsMCwxOTIsMjgsMCwwLDE5MiwyOSwwLDAsMTkyLDMwLDAs
MCwxOTIsMzEsMCwwLDE5MiwwLDAsMCwxNzksMSwwLDAsMTk1LDIsMCwwLDE5NSwzLDAsMCwxOTUs
NCwwLDAsMTk1LDUsMCwwLDE5NSw2LDAsMCwxOTUsNywwLDAsMTk1LDgsMCwwLDE5NSw5LDAsMCwx
OTUsMTAsMCwwLDE5NSwxMSwwLDAsMTk1LDEyLDAsMCwxOTUsMTMsMCwwLDIxMSwxNCwwLDAsMTk1
LDE1LDAsMCwxOTUsMCwwLDEyLDE4NywxLDAsMTIsMTk1LDIsMCwxMiwxOTUsMywwLDEyLDE5NSw0
LDAsMTIsMjExLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCww
LDI0MCw3NywwLDAsMTIzLDAsMCwwLDEyNCwwLDAsMCw2NSwwLDAsMCwwLDAsMCwwLDExNSwxMTYs
MTAwLDU4LDU4LDk4LDk3LDEwMCw5NSw5OSw5NywxMTUsMTE2LDAsMCwwLDgzLDExNiw1NywxMTYs
MTIxLDExMiwxMDEsOTUsMTA1LDExMCwxMDIsMTExLDAsMCwwLDAsMTIwLDc4LDAsMCwyMDAsNzcs
MCwwLDgzLDExNiw1Niw5OCw5NywxMDAsOTUsOTksOTcsMTE1LDExNiwwLDAsMCwwLDAsMTYwLDc4
LDAsMCwyMjQsNzcsMCwwLDAsMCwwLDAsMCwwLDAsMCw3OCw0OSw0OCw5NSw5NSw5OSwxMjAsMTIw
LDk3LDk4LDEwNSwxMTgsNDksNDksNTQsOTUsOTUsMTE1LDEwNCwxMDUsMTA5LDk1LDExNiwxMjEs
MTEyLDEwMSw5NSwxMDUsMTEwLDEwMiwxMTEsNjksMCwwLDAsMCwwLDAsMCwwLDE2MCw3OCwwLDAs
MCw3OCwwLDAsMjE2LDc3LDAsMCwwLDAsMCwwLDc4LDQ5LDQ4LDk1LDk1LDk5LDEyMCwxMjAsOTcs
OTgsMTA1LDExOCw0OSw0OSw1NSw5NSw5NSw5OSwxMDgsOTcsMTE1LDExNSw5NSwxMTYsMTIxLDEx
MiwxMDEsOTUsMTA1LDExMCwxMDIsMTExLDY5LDAsMCwwLDAsMCwwLDAsMTYwLDc4LDAsMCw1Niw3
OCwwLDAsNDAsNzgsMCwwLDAsMCwwLDAsMCwwLDAsMCw5Niw3OCwwLDAsMTI1LDAsMCwwLDEyNiww
LDAsMCwxMjcsMCwwLDAsMTI4LDAsMCwwLDIyLDAsMCwwLDE0LDAsMCwwLDEsMCwwLDAsMTAsMCww
LDAsMCwwLDAsMCwyMzIsNzgsMCwwLDEyNSwwLDAsMCwxMjksMCwwLDAsMTI3LDAsMCwwLDEyOCww
LDAsMCwyMiwwLDAsMCwxNSwwLDAsMCwyLDAsMCwwLDExLDAsMCwwLDc4LDQ5LDQ4LDk1LDk1LDk5
LDEyMCwxMjAsOTcsOTgsMTA1LDExOCw0OSw1MCw0OCw5NSw5NSwxMTUsMTA1LDk1LDk5LDEwOCw5
NywxMTUsMTE1LDk1LDExNiwxMjEsMTEyLDEwMSw5NSwxMDUsMTEwLDEwMiwxMTEsNjksMCwwLDAs
MCwxNjAsNzgsMCwwLDE5Miw3OCwwLDAsOTYsNzgsMCwwLDAsMCwwLDAsMCwwLDAsMCw3Miw3OSww
LDAsMTI1LDAsMCwwLDEzMCwwLDAsMCwxMjcsMCwwLDAsMTI4LDAsMCwwLDIyLDAsMCwwLDE2LDAs
MCwwLDMsMCwwLDAsMTIsMCwwLDAsNzgsNDksNDgsOTUsOTUsOTksMTIwLDEyMCw5Nyw5OCwxMDUs
MTE4LDQ5LDUwLDQ5LDk1LDk1LDExOCwxMDksMTA1LDk1LDk5LDEwOCw5NywxMTUsMTE1LDk1LDEx
NiwxMjEsMTEyLDEwMSw5NSwxMDUsMTEwLDEwMiwxMTEsNjksMCwwLDAsMTYwLDc4LDAsMCwzMiw3
OSwwLDAsOTYsNzgsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCww
LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAs
MCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCww
LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAs
MCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCww
LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAs
MCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCww
LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAs
MCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCww
LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAs
MCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCww
LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAs
MCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCww
LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAs
MCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCww
LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAs
MCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCww
LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAs
MCwwLDAsMCwwLDAsMCwxMzYsODEsMCwwLDEzMSwwLDAsMCwxMzIsMCwwLDAsNjYsMCwwLDAsMCww
LDAsMCwxMTUsMTE2LDEwMCw1OCw1OCw5OCw5NywxMDAsOTUsOTcsMTA4LDEwOCwxMTEsOTksMCww
LDgzLDExNiw1Nyw5OCw5NywxMDAsOTUsOTcsMTA4LDEwOCwxMTEsOTksMCwwLDAsMCwxNjAsNzgs
MCwwLDEyMCw4MSwwLDAsMCwwLDAsMCwwLDAsMCwwLDEwNSwxMTAsMTAyLDEwNSwxMTAsMTA1LDEx
NiwxMjEsMCwwLDAsMCwwLDAsMCwwLDExMCw5NywxMTAsMCwwLDAsMCwwLDk1LDExMiwxMzcsMCwy
NTUsOSw0NywxNSwxMCwwLDAsMCwxMDAsMCwwLDAsMjMyLDMsMCwwLDE2LDM5LDAsMCwxNjAsMTM0
LDEsMCw2NCw2NiwxNSwwLDEyOCwxNTAsMTUyLDAsMCwyMjUsMjQ1LDVdLCAiaTgiLCBBTExPQ19O
T05FLCBSdW50aW1lLkdMT0JBTF9CQVNFKzE4NTc2KTsKCgoKCnZhciB0ZW1wRG91YmxlUHRyID0g
UnVudGltZS5hbGlnbk1lbW9yeShhbGxvY2F0ZSgxMiwgImk4IiwgQUxMT0NfU1RBVElDKSwgOCk7
Cgphc3NlcnQodGVtcERvdWJsZVB0ciAlIDggPT0gMCk7CgpmdW5jdGlvbiBjb3B5VGVtcEZsb2F0
KHB0cikgeyAvLyBmdW5jdGlvbnMsIGJlY2F1c2UgaW5saW5pbmcgdGhpcyBjb2RlIGluY3JlYXNl
cyBjb2RlIHNpemUgdG9vIG11Y2gKCiAgSEVBUDhbdGVtcERvdWJsZVB0cl0gPSBIRUFQOFtwdHJd
OwoKICBIRUFQOFt0ZW1wRG91YmxlUHRyKzFdID0gSEVBUDhbcHRyKzFdOwoKICBIRUFQOFt0ZW1w
RG91YmxlUHRyKzJdID0gSEVBUDhbcHRyKzJdOwoKICBIRUFQOFt0ZW1wRG91YmxlUHRyKzNdID0g
SEVBUDhbcHRyKzNdOwoKfQoKZnVuY3Rpb24gY29weVRlbXBEb3VibGUocHRyKSB7CgogIEhFQVA4
W3RlbXBEb3VibGVQdHJdID0gSEVBUDhbcHRyXTsKCiAgSEVBUDhbdGVtcERvdWJsZVB0cisxXSA9
IEhFQVA4W3B0cisxXTsKCiAgSEVBUDhbdGVtcERvdWJsZVB0cisyXSA9IEhFQVA4W3B0cisyXTsK
CiAgSEVBUDhbdGVtcERvdWJsZVB0ciszXSA9IEhFQVA4W3B0ciszXTsKCiAgSEVBUDhbdGVtcERv
dWJsZVB0cis0XSA9IEhFQVA4W3B0cis0XTsKCiAgSEVBUDhbdGVtcERvdWJsZVB0cis1XSA9IEhF
QVA4W3B0cis1XTsKCiAgSEVBUDhbdGVtcERvdWJsZVB0cis2XSA9IEhFQVA4W3B0cis2XTsKCiAg
SEVBUDhbdGVtcERvdWJsZVB0cis3XSA9IEhFQVA4W3B0cis3XTsKCn0KCgogIAogIGZ1bmN0aW9u
IF9hdGV4aXQoZnVuYywgYXJnKSB7CiAgICAgIF9fQVRFWElUX18udW5zaGlmdCh7IGZ1bmM6IGZ1
bmMsIGFyZzogYXJnIH0pOwogICAgfXZhciBfX19jeGFfYXRleGl0PV9hdGV4aXQ7CgogICAKICBN
b2R1bGVbIl9pNjRTdWJ0cmFjdCJdID0gX2k2NFN1YnRyYWN0OwoKICB2YXIgX2Zsb29yZj1NYXRo
X2Zsb29yOwoKICAKICAKICAKICAgCiAgTW9kdWxlWyJfc3RybGVuIl0gPSBfc3RybGVuOwogIAog
IGZ1bmN0aW9uIF9fcmVhbGx5TmVnYXRpdmUoeCkgewogICAgICByZXR1cm4geCA8IDAgfHwgKHgg
PT09IDAgJiYgKDEveCkgPT09IC1JbmZpbml0eSk7CiAgICB9ZnVuY3Rpb24gX19mb3JtYXRTdHJp
bmcoZm9ybWF0LCB2YXJhcmdzKSB7CiAgICAgIHZhciB0ZXh0SW5kZXggPSBmb3JtYXQ7CiAgICAg
IHZhciBhcmdJbmRleCA9IDA7CiAgICAgIGZ1bmN0aW9uIGdldE5leHRBcmcodHlwZSkgewogICAg
ICAgIC8vIE5PVEU6IEV4cGxpY2l0bHkgaWdub3JpbmcgdHlwZSBzYWZldHkuIE90aGVyd2lzZSB0
aGlzIGZhaWxzOgogICAgICAgIC8vICAgICAgIGludCB4ID0gNDsgcHJpbnRmKCIlY1xuIiwgKGNo
YXIpeCk7CiAgICAgICAgdmFyIHJldDsKICAgICAgICBpZiAodHlwZSA9PT0gJ2RvdWJsZScpIHsK
ICAgICAgICAgIHJldCA9IChIRUFQMzJbKCh0ZW1wRG91YmxlUHRyKT4+MildPUhFQVAzMlsoKCh2
YXJhcmdzKSsoYXJnSW5kZXgpKT4+MildLEhFQVAzMlsoKCh0ZW1wRG91YmxlUHRyKSsoNCkpPj4y
KV09SEVBUDMyWygoKHZhcmFyZ3MpKygoYXJnSW5kZXgpKyg0KSkpPj4yKV0sKCsoSEVBUEY2NFso
dGVtcERvdWJsZVB0cik+PjNdKSkpOwogICAgICAgIH0gZWxzZSBpZiAodHlwZSA9PSAnaTY0Jykg
ewogICAgICAgICAgcmV0ID0gW0hFQVAzMlsoKCh2YXJhcmdzKSsoYXJnSW5kZXgpKT4+MildLAog
ICAgICAgICAgICAgICAgIEhFQVAzMlsoKCh2YXJhcmdzKSsoYXJnSW5kZXgrNCkpPj4yKV1dOwog
IAogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICB0eXBlID0gJ2kzMic7IC8vIHZhcmFyZ3MgYXJl
IGFsd2F5cyBpMzIsIGk2NCwgb3IgZG91YmxlCiAgICAgICAgICByZXQgPSBIRUFQMzJbKCgodmFy
YXJncykrKGFyZ0luZGV4KSk+PjIpXTsKICAgICAgICB9CiAgICAgICAgYXJnSW5kZXggKz0gUnVu
dGltZS5nZXROYXRpdmVGaWVsZFNpemUodHlwZSk7CiAgICAgICAgcmV0dXJuIHJldDsKICAgICAg
fQogIAogICAgICB2YXIgcmV0ID0gW107CiAgICAgIHZhciBjdXJyLCBuZXh0LCBjdXJyQXJnOwog
ICAgICB3aGlsZSgxKSB7CiAgICAgICAgdmFyIHN0YXJ0VGV4dEluZGV4ID0gdGV4dEluZGV4Owog
ICAgICAgIGN1cnIgPSBIRUFQOFsodGV4dEluZGV4KV07CiAgICAgICAgaWYgKGN1cnIgPT09IDAp
IGJyZWFrOwogICAgICAgIG5leHQgPSBIRUFQOFsoKHRleHRJbmRleCsxKXwwKV07CiAgICAgICAg
aWYgKGN1cnIgPT0gMzcpIHsKICAgICAgICAgIC8vIEhhbmRsZSBmbGFncy4KICAgICAgICAgIHZh
ciBmbGFnQWx3YXlzU2lnbmVkID0gZmFsc2U7CiAgICAgICAgICB2YXIgZmxhZ0xlZnRBbGlnbiA9
IGZhbHNlOwogICAgICAgICAgdmFyIGZsYWdBbHRlcm5hdGl2ZSA9IGZhbHNlOwogICAgICAgICAg
dmFyIGZsYWdaZXJvUGFkID0gZmFsc2U7CiAgICAgICAgICB2YXIgZmxhZ1BhZFNpZ24gPSBmYWxz
ZTsKICAgICAgICAgIGZsYWdzTG9vcDogd2hpbGUgKDEpIHsKICAgICAgICAgICAgc3dpdGNoIChu
ZXh0KSB7CiAgICAgICAgICAgICAgY2FzZSA0MzoKICAgICAgICAgICAgICAgIGZsYWdBbHdheXNT
aWduZWQgPSB0cnVlOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgY2FzZSA0
NToKICAgICAgICAgICAgICAgIGZsYWdMZWZ0QWxpZ24gPSB0cnVlOwogICAgICAgICAgICAgICAg
YnJlYWs7CiAgICAgICAgICAgICAgY2FzZSAzNToKICAgICAgICAgICAgICAgIGZsYWdBbHRlcm5h
dGl2ZSA9IHRydWU7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICBjYXNlIDQ4
OgogICAgICAgICAgICAgICAgaWYgKGZsYWdaZXJvUGFkKSB7CiAgICAgICAgICAgICAgICAgIGJy
ZWFrIGZsYWdzTG9vcDsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAg
IGZsYWdaZXJvUGFkID0gdHJ1ZTsKICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAg
ICAgICB9CiAgICAgICAgICAgICAgY2FzZSAzMjoKICAgICAgICAgICAgICAgIGZsYWdQYWRTaWdu
ID0gdHJ1ZTsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgIGRlZmF1bHQ6CiAg
ICAgICAgICAgICAgICBicmVhayBmbGFnc0xvb3A7CiAgICAgICAgICAgIH0KICAgICAgICAgICAg
dGV4dEluZGV4Kys7CiAgICAgICAgICAgIG5leHQgPSBIRUFQOFsoKHRleHRJbmRleCsxKXwwKV07
CiAgICAgICAgICB9CiAgCiAgICAgICAgICAvLyBIYW5kbGUgd2lkdGguCiAgICAgICAgICB2YXIg
d2lkdGggPSAwOwogICAgICAgICAgaWYgKG5leHQgPT0gNDIpIHsKICAgICAgICAgICAgd2lkdGgg
PSBnZXROZXh0QXJnKCdpMzInKTsKICAgICAgICAgICAgdGV4dEluZGV4Kys7CiAgICAgICAgICAg
IG5leHQgPSBIRUFQOFsoKHRleHRJbmRleCsxKXwwKV07CiAgICAgICAgICB9IGVsc2UgewogICAg
ICAgICAgICB3aGlsZSAobmV4dCA+PSA0OCAmJiBuZXh0IDw9IDU3KSB7CiAgICAgICAgICAgICAg
d2lkdGggPSB3aWR0aCAqIDEwICsgKG5leHQgLSA0OCk7CiAgICAgICAgICAgICAgdGV4dEluZGV4
Kys7CiAgICAgICAgICAgICAgbmV4dCA9IEhFQVA4WygodGV4dEluZGV4KzEpfDApXTsKICAgICAg
ICAgICAgfQogICAgICAgICAgfQogIAogICAgICAgICAgLy8gSGFuZGxlIHByZWNpc2lvbi4KICAg
ICAgICAgIHZhciBwcmVjaXNpb25TZXQgPSBmYWxzZSwgcHJlY2lzaW9uID0gLTE7CiAgICAgICAg
ICBpZiAobmV4dCA9PSA0NikgewogICAgICAgICAgICBwcmVjaXNpb24gPSAwOwogICAgICAgICAg
ICBwcmVjaXNpb25TZXQgPSB0cnVlOwogICAgICAgICAgICB0ZXh0SW5kZXgrKzsKICAgICAgICAg
ICAgbmV4dCA9IEhFQVA4WygodGV4dEluZGV4KzEpfDApXTsKICAgICAgICAgICAgaWYgKG5leHQg
PT0gNDIpIHsKICAgICAgICAgICAgICBwcmVjaXNpb24gPSBnZXROZXh0QXJnKCdpMzInKTsKICAg
ICAgICAgICAgICB0ZXh0SW5kZXgrKzsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAg
ICB3aGlsZSgxKSB7CiAgICAgICAgICAgICAgICB2YXIgcHJlY2lzaW9uQ2hyID0gSEVBUDhbKCh0
ZXh0SW5kZXgrMSl8MCldOwogICAgICAgICAgICAgICAgaWYgKHByZWNpc2lvbkNociA8IDQ4IHx8
CiAgICAgICAgICAgICAgICAgICAgcHJlY2lzaW9uQ2hyID4gNTcpIGJyZWFrOwogICAgICAgICAg
ICAgICAgcHJlY2lzaW9uID0gcHJlY2lzaW9uICogMTAgKyAocHJlY2lzaW9uQ2hyIC0gNDgpOwog
ICAgICAgICAgICAgICAgdGV4dEluZGV4Kys7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9
CiAgICAgICAgICAgIG5leHQgPSBIRUFQOFsoKHRleHRJbmRleCsxKXwwKV07CiAgICAgICAgICB9
CiAgICAgICAgICBpZiAocHJlY2lzaW9uIDwgMCkgewogICAgICAgICAgICBwcmVjaXNpb24gPSA2
OyAvLyBTdGFuZGFyZCBkZWZhdWx0LgogICAgICAgICAgICBwcmVjaXNpb25TZXQgPSBmYWxzZTsK
ICAgICAgICAgIH0KICAKICAgICAgICAgIC8vIEhhbmRsZSBpbnRlZ2VyIHNpemVzLiBXQVJOSU5H
OiBUaGVzZSBhc3N1bWUgYSAzMi1iaXQgYXJjaGl0ZWN0dXJlIQogICAgICAgICAgdmFyIGFyZ1Np
emU7CiAgICAgICAgICBzd2l0Y2ggKFN0cmluZy5mcm9tQ2hhckNvZGUobmV4dCkpIHsKICAgICAg
ICAgICAgY2FzZSAnaCc6CiAgICAgICAgICAgICAgdmFyIG5leHROZXh0ID0gSEVBUDhbKCh0ZXh0
SW5kZXgrMil8MCldOwogICAgICAgICAgICAgIGlmIChuZXh0TmV4dCA9PSAxMDQpIHsKICAgICAg
ICAgICAgICAgIHRleHRJbmRleCsrOwogICAgICAgICAgICAgICAgYXJnU2l6ZSA9IDE7IC8vIGNo
YXIgKGFjdHVhbGx5IGkzMiBpbiB2YXJhcmdzKQogICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAg
ICAgICAgICAgICBhcmdTaXplID0gMjsgLy8gc2hvcnQgKGFjdHVhbGx5IGkzMiBpbiB2YXJhcmdz
KQogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSAn
bCc6CiAgICAgICAgICAgICAgdmFyIG5leHROZXh0ID0gSEVBUDhbKCh0ZXh0SW5kZXgrMil8MCld
OwogICAgICAgICAgICAgIGlmIChuZXh0TmV4dCA9PSAxMDgpIHsKICAgICAgICAgICAgICAgIHRl
eHRJbmRleCsrOwogICAgICAgICAgICAgICAgYXJnU2l6ZSA9IDg7IC8vIGxvbmcgbG9uZwogICAg
ICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBhcmdTaXplID0gNDsgLy8gbG9uZwog
ICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSAnTCc6
IC8vIGxvbmcgbG9uZwogICAgICAgICAgICBjYXNlICdxJzogLy8gaW50NjRfdAogICAgICAgICAg
ICBjYXNlICdqJzogLy8gaW50bWF4X3QKICAgICAgICAgICAgICBhcmdTaXplID0gODsKICAgICAg
ICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSAneic6IC8vIHNpemVfdAogICAgICAgICAg
ICBjYXNlICd0JzogLy8gcHRyZGlmZl90CiAgICAgICAgICAgIGNhc2UgJ0knOiAvLyBzaWduZWQg
cHRyZGlmZl90IG9yIHVuc2lnbmVkIHNpemVfdAogICAgICAgICAgICAgIGFyZ1NpemUgPSA0Owog
ICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgIGFy
Z1NpemUgPSBudWxsOwogICAgICAgICAgfQogICAgICAgICAgaWYgKGFyZ1NpemUpIHRleHRJbmRl
eCsrOwogICAgICAgICAgbmV4dCA9IEhFQVA4WygodGV4dEluZGV4KzEpfDApXTsKICAKICAgICAg
ICAgIC8vIEhhbmRsZSB0eXBlIHNwZWNpZmllci4KICAgICAgICAgIHN3aXRjaCAoU3RyaW5nLmZy
b21DaGFyQ29kZShuZXh0KSkgewogICAgICAgICAgICBjYXNlICdkJzogY2FzZSAnaSc6IGNhc2Ug
J3UnOiBjYXNlICdvJzogY2FzZSAneCc6IGNhc2UgJ1gnOiBjYXNlICdwJzogewogICAgICAgICAg
ICAgIC8vIEludGVnZXIuCiAgICAgICAgICAgICAgdmFyIHNpZ25lZCA9IG5leHQgPT0gMTAwIHx8
IG5leHQgPT0gMTA1OwogICAgICAgICAgICAgIGFyZ1NpemUgPSBhcmdTaXplIHx8IDQ7CiAgICAg
ICAgICAgICAgdmFyIGN1cnJBcmcgPSBnZXROZXh0QXJnKCdpJyArIChhcmdTaXplICogOCkpOwog
ICAgICAgICAgICAgIHZhciBvcmlnQXJnID0gY3VyckFyZzsKICAgICAgICAgICAgICB2YXIgYXJn
VGV4dDsKICAgICAgICAgICAgICAvLyBGbGF0dGVuIGk2NC0xIFtsb3csIGhpZ2hdIGludG8gYSAo
c2xpZ2h0bHkgcm91bmRlZCkgZG91YmxlCiAgICAgICAgICAgICAgaWYgKGFyZ1NpemUgPT0gOCkg
ewogICAgICAgICAgICAgICAgY3VyckFyZyA9IFJ1bnRpbWUubWFrZUJpZ0ludChjdXJyQXJnWzBd
LCBjdXJyQXJnWzFdLCBuZXh0ID09IDExNyk7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAg
IC8vIFRydW5jYXRlIHRvIHJlcXVlc3RlZCBzaXplLgogICAgICAgICAgICAgIGlmIChhcmdTaXpl
IDw9IDQpIHsKICAgICAgICAgICAgICAgIHZhciBsaW1pdCA9IE1hdGgucG93KDI1NiwgYXJnU2l6
ZSkgLSAxOwogICAgICAgICAgICAgICAgY3VyckFyZyA9IChzaWduZWQgPyByZVNpZ24gOiB1blNp
Z24pKGN1cnJBcmcgJiBsaW1pdCwgYXJnU2l6ZSAqIDgpOwogICAgICAgICAgICAgIH0KICAgICAg
ICAgICAgICAvLyBGb3JtYXQgdGhlIG51bWJlci4KICAgICAgICAgICAgICB2YXIgY3VyckFic0Fy
ZyA9IE1hdGguYWJzKGN1cnJBcmcpOwogICAgICAgICAgICAgIHZhciBwcmVmaXggPSAnJzsKICAg
ICAgICAgICAgICBpZiAobmV4dCA9PSAxMDAgfHwgbmV4dCA9PSAxMDUpIHsKICAgICAgICAgICAg
ICAgIGlmIChhcmdTaXplID09IDggJiYgaTY0TWF0aCkgYXJnVGV4dCA9IGk2NE1hdGguc3RyaW5n
aWZ5KG9yaWdBcmdbMF0sIG9yaWdBcmdbMV0sIG51bGwpOyBlbHNlCiAgICAgICAgICAgICAgICBh
cmdUZXh0ID0gcmVTaWduKGN1cnJBcmcsIDggKiBhcmdTaXplLCAxKS50b1N0cmluZygxMCk7CiAg
ICAgICAgICAgICAgfSBlbHNlIGlmIChuZXh0ID09IDExNykgewogICAgICAgICAgICAgICAgaWYg
KGFyZ1NpemUgPT0gOCAmJiBpNjRNYXRoKSBhcmdUZXh0ID0gaTY0TWF0aC5zdHJpbmdpZnkob3Jp
Z0FyZ1swXSwgb3JpZ0FyZ1sxXSwgdHJ1ZSk7IGVsc2UKICAgICAgICAgICAgICAgIGFyZ1RleHQg
PSB1blNpZ24oY3VyckFyZywgOCAqIGFyZ1NpemUsIDEpLnRvU3RyaW5nKDEwKTsKICAgICAgICAg
ICAgICAgIGN1cnJBcmcgPSBNYXRoLmFicyhjdXJyQXJnKTsKICAgICAgICAgICAgICB9IGVsc2Ug
aWYgKG5leHQgPT0gMTExKSB7CiAgICAgICAgICAgICAgICBhcmdUZXh0ID0gKGZsYWdBbHRlcm5h
dGl2ZSA/ICcwJyA6ICcnKSArIGN1cnJBYnNBcmcudG9TdHJpbmcoOCk7CiAgICAgICAgICAgICAg
fSBlbHNlIGlmIChuZXh0ID09IDEyMCB8fCBuZXh0ID09IDg4KSB7CiAgICAgICAgICAgICAgICBw
cmVmaXggPSAoZmxhZ0FsdGVybmF0aXZlICYmIGN1cnJBcmcgIT0gMCkgPyAnMHgnIDogJyc7CiAg
ICAgICAgICAgICAgICBpZiAoYXJnU2l6ZSA9PSA4ICYmIGk2NE1hdGgpIHsKICAgICAgICAgICAg
ICAgICAgaWYgKG9yaWdBcmdbMV0pIHsKICAgICAgICAgICAgICAgICAgICBhcmdUZXh0ID0gKG9y
aWdBcmdbMV0+Pj4wKS50b1N0cmluZygxNik7CiAgICAgICAgICAgICAgICAgICAgdmFyIGxvd2Vy
ID0gKG9yaWdBcmdbMF0+Pj4wKS50b1N0cmluZygxNik7CiAgICAgICAgICAgICAgICAgICAgd2hp
bGUgKGxvd2VyLmxlbmd0aCA8IDgpIGxvd2VyID0gJzAnICsgbG93ZXI7CiAgICAgICAgICAgICAg
ICAgICAgYXJnVGV4dCArPSBsb3dlcjsKICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAg
ICAgICAgICAgICAgICBhcmdUZXh0ID0gKG9yaWdBcmdbMF0+Pj4wKS50b1N0cmluZygxNik7CiAg
ICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0gZWxzZQogICAgICAgICAgICAgICAg
aWYgKGN1cnJBcmcgPCAwKSB7CiAgICAgICAgICAgICAgICAgIC8vIFJlcHJlc2VudCBuZWdhdGl2
ZSBudW1iZXJzIGluIGhleCBhcyAyJ3MgY29tcGxlbWVudC4KICAgICAgICAgICAgICAgICAgY3Vy
ckFyZyA9IC1jdXJyQXJnOwogICAgICAgICAgICAgICAgICBhcmdUZXh0ID0gKGN1cnJBYnNBcmcg
LSAxKS50b1N0cmluZygxNik7CiAgICAgICAgICAgICAgICAgIHZhciBidWZmZXIgPSBbXTsKICAg
ICAgICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBhcmdUZXh0Lmxlbmd0aDsgaSsrKSB7
CiAgICAgICAgICAgICAgICAgICAgYnVmZmVyLnB1c2goKDB4RiAtIHBhcnNlSW50KGFyZ1RleHRb
aV0sIDE2KSkudG9TdHJpbmcoMTYpKTsKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg
ICAgICBhcmdUZXh0ID0gYnVmZmVyLmpvaW4oJycpOwogICAgICAgICAgICAgICAgICB3aGlsZSAo
YXJnVGV4dC5sZW5ndGggPCBhcmdTaXplICogMikgYXJnVGV4dCA9ICdmJyArIGFyZ1RleHQ7CiAg
ICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICBhcmdUZXh0ID0gY3VyckFi
c0FyZy50b1N0cmluZygxNik7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBpZiAo
bmV4dCA9PSA4OCkgewogICAgICAgICAgICAgICAgICBwcmVmaXggPSBwcmVmaXgudG9VcHBlckNh
c2UoKTsKICAgICAgICAgICAgICAgICAgYXJnVGV4dCA9IGFyZ1RleHQudG9VcHBlckNhc2UoKTsK
ICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICB9IGVsc2UgaWYgKG5leHQgPT0gMTEyKSB7
CiAgICAgICAgICAgICAgICBpZiAoY3VyckFic0FyZyA9PT0gMCkgewogICAgICAgICAgICAgICAg
ICBhcmdUZXh0ID0gJyhuaWwpJzsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAg
ICAgICAgIHByZWZpeCA9ICcweCc7CiAgICAgICAgICAgICAgICAgIGFyZ1RleHQgPSBjdXJyQWJz
QXJnLnRvU3RyaW5nKDE2KTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICB9CiAgICAg
ICAgICAgICAgaWYgKHByZWNpc2lvblNldCkgewogICAgICAgICAgICAgICAgd2hpbGUgKGFyZ1Rl
eHQubGVuZ3RoIDwgcHJlY2lzaW9uKSB7CiAgICAgICAgICAgICAgICAgIGFyZ1RleHQgPSAnMCcg
KyBhcmdUZXh0OwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIH0KICAKICAgICAgICAg
ICAgICAvLyBBZGQgc2lnbiBpZiBuZWVkZWQKICAgICAgICAgICAgICBpZiAoY3VyckFyZyA+PSAw
KSB7CiAgICAgICAgICAgICAgICBpZiAoZmxhZ0Fsd2F5c1NpZ25lZCkgewogICAgICAgICAgICAg
ICAgICBwcmVmaXggPSAnKycgKyBwcmVmaXg7CiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGZs
YWdQYWRTaWduKSB7CiAgICAgICAgICAgICAgICAgIHByZWZpeCA9ICcgJyArIHByZWZpeDsKICAg
ICAgICAgICAgICAgIH0KICAgICAgICAgICAgICB9CiAgCiAgICAgICAgICAgICAgLy8gTW92ZSBz
aWduIHRvIHByZWZpeCBzbyB3ZSB6ZXJvLXBhZCBhZnRlciB0aGUgc2lnbgogICAgICAgICAgICAg
IGlmIChhcmdUZXh0LmNoYXJBdCgwKSA9PSAnLScpIHsKICAgICAgICAgICAgICAgIHByZWZpeCA9
ICctJyArIHByZWZpeDsKICAgICAgICAgICAgICAgIGFyZ1RleHQgPSBhcmdUZXh0LnN1YnN0cigx
KTsKICAgICAgICAgICAgICB9CiAgCiAgICAgICAgICAgICAgLy8gQWRkIHBhZGRpbmcuCiAgICAg
ICAgICAgICAgd2hpbGUgKHByZWZpeC5sZW5ndGggKyBhcmdUZXh0Lmxlbmd0aCA8IHdpZHRoKSB7
CiAgICAgICAgICAgICAgICBpZiAoZmxhZ0xlZnRBbGlnbikgewogICAgICAgICAgICAgICAgICBh
cmdUZXh0ICs9ICcgJzsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAg
IGlmIChmbGFnWmVyb1BhZCkgewogICAgICAgICAgICAgICAgICAgIGFyZ1RleHQgPSAnMCcgKyBh
cmdUZXh0OwogICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgIHBy
ZWZpeCA9ICcgJyArIHByZWZpeDsKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAg
fQogICAgICAgICAgICAgIH0KICAKICAgICAgICAgICAgICAvLyBJbnNlcnQgdGhlIHJlc3VsdCBp
bnRvIHRoZSBidWZmZXIuCiAgICAgICAgICAgICAgYXJnVGV4dCA9IHByZWZpeCArIGFyZ1RleHQ7
CiAgICAgICAgICAgICAgYXJnVGV4dC5zcGxpdCgnJykuZm9yRWFjaChmdW5jdGlvbihjaHIpIHsK
ICAgICAgICAgICAgICAgIHJldC5wdXNoKGNoci5jaGFyQ29kZUF0KDApKTsKICAgICAgICAgICAg
ICB9KTsKICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgfQogICAgICAgICAgICBjYXNl
ICdmJzogY2FzZSAnRic6IGNhc2UgJ2UnOiBjYXNlICdFJzogY2FzZSAnZyc6IGNhc2UgJ0cnOiB7
CiAgICAgICAgICAgICAgLy8gRmxvYXQuCiAgICAgICAgICAgICAgdmFyIGN1cnJBcmcgPSBnZXRO
ZXh0QXJnKCdkb3VibGUnKTsKICAgICAgICAgICAgICB2YXIgYXJnVGV4dDsKICAgICAgICAgICAg
ICBpZiAoaXNOYU4oY3VyckFyZykpIHsKICAgICAgICAgICAgICAgIGFyZ1RleHQgPSAnbmFuJzsK
ICAgICAgICAgICAgICAgIGZsYWdaZXJvUGFkID0gZmFsc2U7CiAgICAgICAgICAgICAgfSBlbHNl
IGlmICghaXNGaW5pdGUoY3VyckFyZykpIHsKICAgICAgICAgICAgICAgIGFyZ1RleHQgPSAoY3Vy
ckFyZyA8IDAgPyAnLScgOiAnJykgKyAnaW5mJzsKICAgICAgICAgICAgICAgIGZsYWdaZXJvUGFk
ID0gZmFsc2U7CiAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIHZhciBpc0dl
bmVyYWwgPSBmYWxzZTsKICAgICAgICAgICAgICAgIHZhciBlZmZlY3RpdmVQcmVjaXNpb24gPSBN
YXRoLm1pbihwcmVjaXNpb24sIDIwKTsKICAKICAgICAgICAgICAgICAgIC8vIENvbnZlcnQgZy9H
IHRvIGYvRiBvciBlL0UsIGFzIHBlcjoKICAgICAgICAgICAgICAgIC8vIGh0dHA6Ly9wdWJzLm9w
ZW5ncm91cC5vcmcvb25saW5lcHVicy85Njk5OTE5Nzk5L2Z1bmN0aW9ucy9wcmludGYuaHRtbAog
ICAgICAgICAgICAgICAgaWYgKG5leHQgPT0gMTAzIHx8IG5leHQgPT0gNzEpIHsKICAgICAgICAg
ICAgICAgICAgaXNHZW5lcmFsID0gdHJ1ZTsKICAgICAgICAgICAgICAgICAgcHJlY2lzaW9uID0g
cHJlY2lzaW9uIHx8IDE7CiAgICAgICAgICAgICAgICAgIHZhciBleHBvbmVudCA9IHBhcnNlSW50
KGN1cnJBcmcudG9FeHBvbmVudGlhbChlZmZlY3RpdmVQcmVjaXNpb24pLnNwbGl0KCdlJylbMV0s
IDEwKTsKICAgICAgICAgICAgICAgICAgaWYgKHByZWNpc2lvbiA+IGV4cG9uZW50ICYmIGV4cG9u
ZW50ID49IC00KSB7CiAgICAgICAgICAgICAgICAgICAgbmV4dCA9ICgobmV4dCA9PSAxMDMpID8g
J2YnIDogJ0YnKS5jaGFyQ29kZUF0KDApOwogICAgICAgICAgICAgICAgICAgIHByZWNpc2lvbiAt
PSBleHBvbmVudCArIDE7CiAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAg
ICAgICAgbmV4dCA9ICgobmV4dCA9PSAxMDMpID8gJ2UnIDogJ0UnKS5jaGFyQ29kZUF0KDApOwog
ICAgICAgICAgICAgICAgICAgIHByZWNpc2lvbi0tOwogICAgICAgICAgICAgICAgICB9CiAgICAg
ICAgICAgICAgICAgIGVmZmVjdGl2ZVByZWNpc2lvbiA9IE1hdGgubWluKHByZWNpc2lvbiwgMjAp
OwogICAgICAgICAgICAgICAgfQogIAogICAgICAgICAgICAgICAgaWYgKG5leHQgPT0gMTAxIHx8
IG5leHQgPT0gNjkpIHsKICAgICAgICAgICAgICAgICAgYXJnVGV4dCA9IGN1cnJBcmcudG9FeHBv
bmVudGlhbChlZmZlY3RpdmVQcmVjaXNpb24pOwogICAgICAgICAgICAgICAgICAvLyBNYWtlIHN1
cmUgdGhlIGV4cG9uZW50IGhhcyBhdCBsZWFzdCAyIGRpZ2l0cy4KICAgICAgICAgICAgICAgICAg
aWYgKC9bZUVdWy0rXVxkJC8udGVzdChhcmdUZXh0KSkgewogICAgICAgICAgICAgICAgICAgIGFy
Z1RleHQgPSBhcmdUZXh0LnNsaWNlKDAsIC0xKSArICcwJyArIGFyZ1RleHQuc2xpY2UoLTEpOwog
ICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKG5leHQgPT0gMTAy
IHx8IG5leHQgPT0gNzApIHsKICAgICAgICAgICAgICAgICAgYXJnVGV4dCA9IGN1cnJBcmcudG9G
aXhlZChlZmZlY3RpdmVQcmVjaXNpb24pOwogICAgICAgICAgICAgICAgICBpZiAoY3VyckFyZyA9
PT0gMCAmJiBfX3JlYWxseU5lZ2F0aXZlKGN1cnJBcmcpKSB7CiAgICAgICAgICAgICAgICAgICAg
YXJnVGV4dCA9ICctJyArIGFyZ1RleHQ7CiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAg
ICAgIH0KICAKICAgICAgICAgICAgICAgIHZhciBwYXJ0cyA9IGFyZ1RleHQuc3BsaXQoJ2UnKTsK
ICAgICAgICAgICAgICAgIGlmIChpc0dlbmVyYWwgJiYgIWZsYWdBbHRlcm5hdGl2ZSkgewogICAg
ICAgICAgICAgICAgICAvLyBEaXNjYXJkIHRyYWlsaW5nIHplcm9zIGFuZCBwZXJpb2RzLgogICAg
ICAgICAgICAgICAgICB3aGlsZSAocGFydHNbMF0ubGVuZ3RoID4gMSAmJiBwYXJ0c1swXS5pbmRl
eE9mKCcuJykgIT0gLTEgJiYKICAgICAgICAgICAgICAgICAgICAgICAgIChwYXJ0c1swXS5zbGlj
ZSgtMSkgPT0gJzAnIHx8IHBhcnRzWzBdLnNsaWNlKC0xKSA9PSAnLicpKSB7CiAgICAgICAgICAg
ICAgICAgICAgcGFydHNbMF0gPSBwYXJ0c1swXS5zbGljZSgwLCAtMSk7CiAgICAgICAgICAgICAg
ICAgIH0KICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgIC8vIE1ha2Ug
c3VyZSB3ZSBoYXZlIGEgcGVyaW9kIGluIGFsdGVybmF0aXZlIG1vZGUuCiAgICAgICAgICAgICAg
ICAgIGlmIChmbGFnQWx0ZXJuYXRpdmUgJiYgYXJnVGV4dC5pbmRleE9mKCcuJykgPT0gLTEpIHBh
cnRzWzBdICs9ICcuJzsKICAgICAgICAgICAgICAgICAgLy8gWmVybyBwYWQgdW50aWwgcmVxdWly
ZWQgcHJlY2lzaW9uLgogICAgICAgICAgICAgICAgICB3aGlsZSAocHJlY2lzaW9uID4gZWZmZWN0
aXZlUHJlY2lzaW9uKyspIHBhcnRzWzBdICs9ICcwJzsKICAgICAgICAgICAgICAgIH0KICAgICAg
ICAgICAgICAgIGFyZ1RleHQgPSBwYXJ0c1swXSArIChwYXJ0cy5sZW5ndGggPiAxID8gJ2UnICsg
cGFydHNbMV0gOiAnJyk7CiAgCiAgICAgICAgICAgICAgICAvLyBDYXBpdGFsaXplICdFJyBpZiBu
ZWVkZWQuCiAgICAgICAgICAgICAgICBpZiAobmV4dCA9PSA2OSkgYXJnVGV4dCA9IGFyZ1RleHQu
dG9VcHBlckNhc2UoKTsKICAKICAgICAgICAgICAgICAgIC8vIEFkZCBzaWduLgogICAgICAgICAg
ICAgICAgaWYgKGN1cnJBcmcgPj0gMCkgewogICAgICAgICAgICAgICAgICBpZiAoZmxhZ0Fsd2F5
c1NpZ25lZCkgewogICAgICAgICAgICAgICAgICAgIGFyZ1RleHQgPSAnKycgKyBhcmdUZXh0Owog
ICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGZsYWdQYWRTaWduKSB7CiAgICAgICAgICAgICAg
ICAgICAgYXJnVGV4dCA9ICcgJyArIGFyZ1RleHQ7CiAgICAgICAgICAgICAgICAgIH0KICAgICAg
ICAgICAgICAgIH0KICAgICAgICAgICAgICB9CiAgCiAgICAgICAgICAgICAgLy8gQWRkIHBhZGRp
bmcuCiAgICAgICAgICAgICAgd2hpbGUgKGFyZ1RleHQubGVuZ3RoIDwgd2lkdGgpIHsKICAgICAg
ICAgICAgICAgIGlmIChmbGFnTGVmdEFsaWduKSB7CiAgICAgICAgICAgICAgICAgIGFyZ1RleHQg
Kz0gJyAnOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgaWYgKGZs
YWdaZXJvUGFkICYmIChhcmdUZXh0WzBdID09ICctJyB8fCBhcmdUZXh0WzBdID09ICcrJykpIHsK
ICAgICAgICAgICAgICAgICAgICBhcmdUZXh0ID0gYXJnVGV4dFswXSArICcwJyArIGFyZ1RleHQu
c2xpY2UoMSk7CiAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAg
YXJnVGV4dCA9IChmbGFnWmVyb1BhZCA/ICcwJyA6ICcgJykgKyBhcmdUZXh0OwogICAgICAgICAg
ICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgfQogIAogICAgICAgICAg
ICAgIC8vIEFkanVzdCBjYXNlLgogICAgICAgICAgICAgIGlmIChuZXh0IDwgOTcpIGFyZ1RleHQg
PSBhcmdUZXh0LnRvVXBwZXJDYXNlKCk7CiAgCiAgICAgICAgICAgICAgLy8gSW5zZXJ0IHRoZSBy
ZXN1bHQgaW50byB0aGUgYnVmZmVyLgogICAgICAgICAgICAgIGFyZ1RleHQuc3BsaXQoJycpLmZv
ckVhY2goZnVuY3Rpb24oY2hyKSB7CiAgICAgICAgICAgICAgICByZXQucHVzaChjaHIuY2hhckNv
ZGVBdCgwKSk7CiAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAg
ICAgIH0KICAgICAgICAgICAgY2FzZSAncyc6IHsKICAgICAgICAgICAgICAvLyBTdHJpbmcuCiAg
ICAgICAgICAgICAgdmFyIGFyZyA9IGdldE5leHRBcmcoJ2k4KicpOwogICAgICAgICAgICAgIHZh
ciBhcmdMZW5ndGggPSBhcmcgPyBfc3RybGVuKGFyZykgOiAnKG51bGwpJy5sZW5ndGg7CiAgICAg
ICAgICAgICAgaWYgKHByZWNpc2lvblNldCkgYXJnTGVuZ3RoID0gTWF0aC5taW4oYXJnTGVuZ3Ro
LCBwcmVjaXNpb24pOwogICAgICAgICAgICAgIGlmICghZmxhZ0xlZnRBbGlnbikgewogICAgICAg
ICAgICAgICAgd2hpbGUgKGFyZ0xlbmd0aCA8IHdpZHRoLS0pIHsKICAgICAgICAgICAgICAgICAg
cmV0LnB1c2goMzIpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIH0KICAgICAgICAg
ICAgICBpZiAoYXJnKSB7CiAgICAgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGFyZ0xl
bmd0aDsgaSsrKSB7CiAgICAgICAgICAgICAgICAgIHJldC5wdXNoKEhFQVBVOFsoKGFyZysrKXww
KV0pOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAg
ICAgICByZXQgPSByZXQuY29uY2F0KGludEFycmF5RnJvbVN0cmluZygnKG51bGwpJy5zdWJzdHIo
MCwgYXJnTGVuZ3RoKSwgdHJ1ZSkpOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBpZiAo
ZmxhZ0xlZnRBbGlnbikgewogICAgICAgICAgICAgICAgd2hpbGUgKGFyZ0xlbmd0aCA8IHdpZHRo
LS0pIHsKICAgICAgICAgICAgICAgICAgcmV0LnB1c2goMzIpOwogICAgICAgICAgICAgICAgfQog
ICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgfQogICAgICAg
ICAgICBjYXNlICdjJzogewogICAgICAgICAgICAgIC8vIENoYXJhY3Rlci4KICAgICAgICAgICAg
ICBpZiAoZmxhZ0xlZnRBbGlnbikgcmV0LnB1c2goZ2V0TmV4dEFyZygnaTgnKSk7CiAgICAgICAg
ICAgICAgd2hpbGUgKC0td2lkdGggPiAwKSB7CiAgICAgICAgICAgICAgICByZXQucHVzaCgzMik7
CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIGlmICghZmxhZ0xlZnRBbGlnbikgcmV0LnB1
c2goZ2V0TmV4dEFyZygnaTgnKSk7CiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIH0K
ICAgICAgICAgICAgY2FzZSAnbic6IHsKICAgICAgICAgICAgICAvLyBXcml0ZSB0aGUgbGVuZ3Ro
IHdyaXR0ZW4gc28gZmFyIHRvIHRoZSBuZXh0IHBhcmFtZXRlci4KICAgICAgICAgICAgICB2YXIg
cHRyID0gZ2V0TmV4dEFyZygnaTMyKicpOwogICAgICAgICAgICAgIEhFQVAzMlsoKHB0cik+PjIp
XT1yZXQubGVuZ3RoOwogICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICB9CiAgICAgICAg
ICAgIGNhc2UgJyUnOiB7CiAgICAgICAgICAgICAgLy8gTGl0ZXJhbCBwZXJjZW50IHNpZ24uCiAg
ICAgICAgICAgICAgcmV0LnB1c2goY3Vycik7CiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAg
ICAgIH0KICAgICAgICAgICAgZGVmYXVsdDogewogICAgICAgICAgICAgIC8vIFVua25vd24gc3Bl
Y2lmaWVycyByZW1haW4gdW50b3VjaGVkLgogICAgICAgICAgICAgIGZvciAodmFyIGkgPSBzdGFy
dFRleHRJbmRleDsgaSA8IHRleHRJbmRleCArIDI7IGkrKykgewogICAgICAgICAgICAgICAgcmV0
LnB1c2goSEVBUDhbKGkpXSk7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAg
ICB9CiAgICAgICAgICB0ZXh0SW5kZXggKz0gMjsKICAgICAgICAgIC8vIFRPRE86IFN1cHBvcnQg
YS9BIChoZXggZmxvYXQpIGFuZCBtIChsYXN0IGVycm9yKSBzcGVjaWZpZXJzLgogICAgICAgICAg
Ly8gVE9ETzogU3VwcG9ydCAlMSR7c3BlY2lmaWVyfSBmb3IgYXJnIHNlbGVjdGlvbi4KICAgICAg
ICB9IGVsc2UgewogICAgICAgICAgcmV0LnB1c2goY3Vycik7CiAgICAgICAgICB0ZXh0SW5kZXgg
Kz0gMTsKICAgICAgICB9CiAgICAgIH0KICAgICAgcmV0dXJuIHJldDsKICAgIH0KICAKICBmdW5j
dGlvbiBfbWFsbG9jKGJ5dGVzKSB7CiAgICAgIC8qIE92ZXItYWxsb2NhdGUgdG8gbWFrZSBzdXJl
IGl0IGlzIGJ5dGUtYWxpZ25lZCBieSA4LgogICAgICAgKiBUaGlzIHdpbGwgbGVhayBtZW1vcnks
IGJ1dCB0aGlzIGlzIG9ubHkgdGhlIGR1bW15CiAgICAgICAqIGltcGxlbWVudGF0aW9uIChyZXBs
YWNlZCBieSBkbG1hbGxvYyBub3JtYWxseSkgc28KICAgICAgICogbm90IGFuIGlzc3VlLgogICAg
ICAgKi8KICAgICAgdmFyIHB0ciA9IFJ1bnRpbWUuZHluYW1pY0FsbG9jKGJ5dGVzICsgOCk7CiAg
ICAgIHJldHVybiAocHRyKzgpICYgMHhGRkZGRkZGODsKICAgIH0KICBNb2R1bGVbIl9tYWxsb2Mi
XSA9IF9tYWxsb2M7ZnVuY3Rpb24gX3NucHJpbnRmKHMsIG4sIGZvcm1hdCwgdmFyYXJncykgewog
ICAgICAvLyBpbnQgc25wcmludGYoY2hhciAqcmVzdHJpY3Qgcywgc2l6ZV90IG4sIGNvbnN0IGNo
YXIgKnJlc3RyaWN0IGZvcm1hdCwgLi4uKTsKICAgICAgLy8gaHR0cDovL3B1YnMub3Blbmdyb3Vw
Lm9yZy9vbmxpbmVwdWJzLzAwMDA5NTM5OS9mdW5jdGlvbnMvcHJpbnRmLmh0bWwKICAgICAgdmFy
IHJlc3VsdCA9IF9fZm9ybWF0U3RyaW5nKGZvcm1hdCwgdmFyYXJncyk7CiAgICAgIHZhciBsaW1p
dCA9IChuID09PSB1bmRlZmluZWQpID8gcmVzdWx0Lmxlbmd0aAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICA6IE1hdGgubWluKHJlc3VsdC5sZW5ndGgsIE1hdGgubWF4KG4gLSAx
LCAwKSk7CiAgICAgIGlmIChzIDwgMCkgewogICAgICAgIHMgPSAtczsKICAgICAgICB2YXIgYnVm
ID0gX21hbGxvYyhsaW1pdCsxKTsKICAgICAgICBIRUFQMzJbKChzKT4+MildPWJ1ZjsKICAgICAg
ICBzID0gYnVmOwogICAgICB9CiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbGltaXQ7IGkrKykg
ewogICAgICAgIEhFQVA4WygoKHMpKyhpKSl8MCldPXJlc3VsdFtpXTsKICAgICAgfQogICAgICBp
ZiAobGltaXQgPCBuIHx8IChuID09PSB1bmRlZmluZWQpKSBIRUFQOFsoKChzKSsoaSkpfDApXT0w
OwogICAgICByZXR1cm4gcmVzdWx0Lmxlbmd0aDsKICAgIH1mdW5jdGlvbiBfdnNucHJpbnRmKHMs
IG4sIGZvcm1hdCwgdmFfYXJnKSB7CiAgICAgIHJldHVybiBfc25wcmludGYocywgbiwgZm9ybWF0
LCBIRUFQMzJbKCh2YV9hcmcpPj4yKV0pOwogICAgfQoKICAKICBmdW5jdGlvbiBfX1pTdDE4dW5j
YXVnaHRfZXhjZXB0aW9udigpIHsgLy8gc3RkOjp1bmNhdWdodF9leGNlcHRpb24oKQogICAgICBy
ZXR1cm4gISFfX1pTdDE4dW5jYXVnaHRfZXhjZXB0aW9udi51bmNhdWdodF9leGNlcHRpb247CiAg
ICB9CiAgCiAgCiAgCiAgZnVuY3Rpb24gX19fY3hhX2lzX251bWJlcl90eXBlKHR5cGUpIHsKICAg
ICAgdmFyIGlzTnVtYmVyID0gZmFsc2U7CiAgICAgIHRyeSB7IGlmICh0eXBlID09IF9fWlRJaSkg
aXNOdW1iZXIgPSB0cnVlIH0gY2F0Y2goZSl7fQogICAgICB0cnkgeyBpZiAodHlwZSA9PSBfX1pU
SWopIGlzTnVtYmVyID0gdHJ1ZSB9IGNhdGNoKGUpe30KICAgICAgdHJ5IHsgaWYgKHR5cGUgPT0g
X19aVElsKSBpc051bWJlciA9IHRydWUgfSBjYXRjaChlKXt9CiAgICAgIHRyeSB7IGlmICh0eXBl
ID09IF9fWlRJbSkgaXNOdW1iZXIgPSB0cnVlIH0gY2F0Y2goZSl7fQogICAgICB0cnkgeyBpZiAo
dHlwZSA9PSBfX1pUSXgpIGlzTnVtYmVyID0gdHJ1ZSB9IGNhdGNoKGUpe30KICAgICAgdHJ5IHsg
aWYgKHR5cGUgPT0gX19aVEl5KSBpc051bWJlciA9IHRydWUgfSBjYXRjaChlKXt9CiAgICAgIHRy
eSB7IGlmICh0eXBlID09IF9fWlRJZikgaXNOdW1iZXIgPSB0cnVlIH0gY2F0Y2goZSl7fQogICAg
ICB0cnkgeyBpZiAodHlwZSA9PSBfX1pUSWQpIGlzTnVtYmVyID0gdHJ1ZSB9IGNhdGNoKGUpe30K
ICAgICAgdHJ5IHsgaWYgKHR5cGUgPT0gX19aVEllKSBpc051bWJlciA9IHRydWUgfSBjYXRjaChl
KXt9CiAgICAgIHRyeSB7IGlmICh0eXBlID09IF9fWlRJYykgaXNOdW1iZXIgPSB0cnVlIH0gY2F0
Y2goZSl7fQogICAgICB0cnkgeyBpZiAodHlwZSA9PSBfX1pUSWEpIGlzTnVtYmVyID0gdHJ1ZSB9
IGNhdGNoKGUpe30KICAgICAgdHJ5IHsgaWYgKHR5cGUgPT0gX19aVEloKSBpc051bWJlciA9IHRy
dWUgfSBjYXRjaChlKXt9CiAgICAgIHRyeSB7IGlmICh0eXBlID09IF9fWlRJcykgaXNOdW1iZXIg
PSB0cnVlIH0gY2F0Y2goZSl7fQogICAgICB0cnkgeyBpZiAodHlwZSA9PSBfX1pUSXQpIGlzTnVt
YmVyID0gdHJ1ZSB9IGNhdGNoKGUpe30KICAgICAgcmV0dXJuIGlzTnVtYmVyOwogICAgfWZ1bmN0
aW9uIF9fX2N4YV9kb2VzX2luaGVyaXQoZGVmaW5pdGVUeXBlLCBwb3NzaWJpbGl0eVR5cGUsIHBv
c3NpYmlsaXR5KSB7CiAgICAgIGlmIChwb3NzaWJpbGl0eSA9PSAwKSByZXR1cm4gZmFsc2U7CiAg
ICAgIGlmIChwb3NzaWJpbGl0eVR5cGUgPT0gMCB8fCBwb3NzaWJpbGl0eVR5cGUgPT0gZGVmaW5p
dGVUeXBlKQogICAgICAgIHJldHVybiB0cnVlOwogICAgICB2YXIgcG9zc2liaWxpdHlfdHlwZV9p
bmZvOwogICAgICBpZiAoX19fY3hhX2lzX251bWJlcl90eXBlKHBvc3NpYmlsaXR5VHlwZSkpIHsK
ICAgICAgICBwb3NzaWJpbGl0eV90eXBlX2luZm8gPSBwb3NzaWJpbGl0eVR5cGU7CiAgICAgIH0g
ZWxzZSB7CiAgICAgICAgdmFyIHBvc3NpYmlsaXR5X3R5cGVfaW5mb0FkZHIgPSBIRUFQMzJbKChw
b3NzaWJpbGl0eVR5cGUpPj4yKV0gLSA4OwogICAgICAgIHBvc3NpYmlsaXR5X3R5cGVfaW5mbyA9
IEhFQVAzMlsoKHBvc3NpYmlsaXR5X3R5cGVfaW5mb0FkZHIpPj4yKV07CiAgICAgIH0KICAgICAg
c3dpdGNoIChwb3NzaWJpbGl0eV90eXBlX2luZm8pIHsKICAgICAgY2FzZSAwOiAvLyBwb3NzaWJp
bGl0eSBpcyBhIHBvaW50ZXIKICAgICAgICAvLyBTZWUgaWYgZGVmaW5pdGUgdHlwZSBpcyBhIHBv
aW50ZXIKICAgICAgICB2YXIgZGVmaW5pdGVfdHlwZV9pbmZvQWRkciA9IEhFQVAzMlsoKGRlZmlu
aXRlVHlwZSk+PjIpXSAtIDg7CiAgICAgICAgdmFyIGRlZmluaXRlX3R5cGVfaW5mbyA9IEhFQVAz
MlsoKGRlZmluaXRlX3R5cGVfaW5mb0FkZHIpPj4yKV07CiAgICAgICAgaWYgKGRlZmluaXRlX3R5
cGVfaW5mbyA9PSAwKSB7CiAgICAgICAgICAvLyBBbHNvIGEgcG9pbnRlcjsgY29tcGFyZSBiYXNl
IHR5cGVzIG9mIHBvaW50ZXJzCiAgICAgICAgICB2YXIgZGVmUG9pbnRlckJhc2VBZGRyID0gZGVm
aW5pdGVUeXBlKzg7CiAgICAgICAgICB2YXIgZGVmUG9pbnRlckJhc2VUeXBlID0gSEVBUDMyWygo
ZGVmUG9pbnRlckJhc2VBZGRyKT4+MildOwogICAgICAgICAgdmFyIHBvc3NQb2ludGVyQmFzZUFk
ZHIgPSBwb3NzaWJpbGl0eVR5cGUrODsKICAgICAgICAgIHZhciBwb3NzUG9pbnRlckJhc2VUeXBl
ID0gSEVBUDMyWygocG9zc1BvaW50ZXJCYXNlQWRkcik+PjIpXTsKICAgICAgICAgIHJldHVybiBf
X19jeGFfZG9lc19pbmhlcml0KGRlZlBvaW50ZXJCYXNlVHlwZSwgcG9zc1BvaW50ZXJCYXNlVHlw
ZSwgcG9zc2liaWxpdHkpOwogICAgICAgIH0gZWxzZQogICAgICAgICAgcmV0dXJuIGZhbHNlOyAv
LyBvbmUgcG9pbnRlciBhbmQgb25lIG5vbi1wb2ludGVyCiAgICAgIGNhc2UgMTogLy8gY2xhc3Mg
d2l0aCBubyBiYXNlIGNsYXNzCiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICBjYXNlIDI6IC8v
IGNsYXNzIHdpdGggYmFzZSBjbGFzcwogICAgICAgIHZhciBwYXJlbnRUeXBlQWRkciA9IHBvc3Np
YmlsaXR5VHlwZSArIDg7CiAgICAgICAgdmFyIHBhcmVudFR5cGUgPSBIRUFQMzJbKChwYXJlbnRU
eXBlQWRkcik+PjIpXTsKICAgICAgICByZXR1cm4gX19fY3hhX2RvZXNfaW5oZXJpdChkZWZpbml0
ZVR5cGUsIHBhcmVudFR5cGUsIHBvc3NpYmlsaXR5KTsKICAgICAgZGVmYXVsdDoKICAgICAgICBy
ZXR1cm4gZmFsc2U7IC8vIHNvbWUgdW5lbmNvdW50ZXJlZCB0eXBlCiAgICAgIH0KICAgIH0KICAK
ICAKICAKICB2YXIgX19fY3hhX2xhc3RfdGhyb3duX2V4Y2VwdGlvbj0wO2Z1bmN0aW9uIF9fX3Jl
c3VtZUV4Y2VwdGlvbihwdHIpIHsKICAgICAgaWYgKCFfX19jeGFfbGFzdF90aHJvd25fZXhjZXB0
aW9uKSB7IF9fX2N4YV9sYXN0X3Rocm93bl9leGNlcHRpb24gPSBwdHI7IH0KICAgICAgdGhyb3cg
cHRyICsgIiAtIEV4Y2VwdGlvbiBjYXRjaGluZyBpcyBkaXNhYmxlZCwgdGhpcyBleGNlcHRpb24g
Y2Fubm90IGJlIGNhdWdodC4gQ29tcGlsZSB3aXRoIC1zIERJU0FCTEVfRVhDRVBUSU9OX0NBVENI
SU5HPTAgb3IgRElTQUJMRV9FWENFUFRJT05fQ0FUQ0hJTkc9MiB0byBjYXRjaC4iOwogICAgfQog
IAogIHZhciBfX19jeGFfZXhjZXB0aW9uX2hlYWRlcl9zaXplPTg7ZnVuY3Rpb24gX19fY3hhX2Zp
bmRfbWF0Y2hpbmdfY2F0Y2godGhyb3duLCB0aHJvd250eXBlKSB7CiAgICAgIGlmICh0aHJvd24g
PT0gLTEpIHRocm93biA9IF9fX2N4YV9sYXN0X3Rocm93bl9leGNlcHRpb247CiAgICAgIGhlYWRl
ciA9IHRocm93biAtIF9fX2N4YV9leGNlcHRpb25faGVhZGVyX3NpemU7CiAgICAgIGlmICh0aHJv
d250eXBlID09IC0xKSB0aHJvd250eXBlID0gSEVBUDMyWygoaGVhZGVyKT4+MildOwogICAgICB2
YXIgdHlwZUFycmF5ID0gQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLCAyKTsK
ICAKICAgICAgLy8gSWYgdGhyb3dudHlwZSBpcyBhIHBvaW50ZXIsIHRoaXMgbWVhbnMgYSBwb2lu
dGVyIGhhcyBiZWVuCiAgICAgIC8vIHRocm93bi4gV2hlbiBhIHBvaW50ZXIgaXMgdGhyb3duLCBh
Y3R1YWxseSB3aGF0J3MgdGhyb3duCiAgICAgIC8vIGlzIGEgcG9pbnRlciB0byB0aGUgcG9pbnRl
ci4gV2UnbGwgZGVyZWZlcmVuY2UgaXQuCiAgICAgIGlmICh0aHJvd250eXBlICE9IDAgJiYgIV9f
X2N4YV9pc19udW1iZXJfdHlwZSh0aHJvd250eXBlKSkgewogICAgICAgIHZhciB0aHJvd250eXBl
SW5mb0FkZHI9IEhFQVAzMlsoKHRocm93bnR5cGUpPj4yKV0gLSA4OwogICAgICAgIHZhciB0aHJv
d250eXBlSW5mbz0gSEVBUDMyWygodGhyb3dudHlwZUluZm9BZGRyKT4+MildOwogICAgICAgIGlm
ICh0aHJvd250eXBlSW5mbyA9PSAwKQogICAgICAgICAgdGhyb3duID0gSEVBUDMyWygodGhyb3du
KT4+MildOwogICAgICB9CiAgICAgIC8vIFRoZSBkaWZmZXJlbnQgY2F0Y2ggYmxvY2tzIGFyZSBk
ZW5vdGVkIGJ5IGRpZmZlcmVudCB0eXBlcy4KICAgICAgLy8gRHVlIHRvIGluaGVyaXRhbmNlLCB0
aG9zZSB0eXBlcyBtYXkgbm90IHByZWNpc2VseSBtYXRjaCB0aGUKICAgICAgLy8gdHlwZSBvZiB0
aGUgdGhyb3duIG9iamVjdC4gRmluZCBvbmUgd2hpY2ggbWF0Y2hlcywgYW5kCiAgICAgIC8vIHJl
dHVybiB0aGUgdHlwZSBvZiB0aGUgY2F0Y2ggYmxvY2sgd2hpY2ggc2hvdWxkIGJlIGNhbGxlZC4K
ICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0eXBlQXJyYXkubGVuZ3RoOyBpKyspIHsKICAgICAg
ICBpZiAoX19fY3hhX2RvZXNfaW5oZXJpdCh0eXBlQXJyYXlbaV0sIHRocm93bnR5cGUsIHRocm93
bikpCiAgICAgICAgICByZXR1cm4gKChhc21bInNldFRlbXBSZXQwIl0odHlwZUFycmF5W2ldKSx0
aHJvd24pfDApOwogICAgICB9CiAgICAgIC8vIFNob3VsZG4ndCBoYXBwZW4gdW5sZXNzIHdlIGhh
dmUgYm9ndXMgZGF0YSBpbiB0eXBlQXJyYXkKICAgICAgLy8gb3IgZW5jb3VudGVyIGEgdHlwZSBm
b3Igd2hpY2ggZW1zY3JpcHRlbiBkb2Vzbid0IGhhdmUgc3VpdGFibGUKICAgICAgLy8gdHlwZWlu
Zm8gZGVmaW5lZC4gQmVzdC1lZmZvcnRzIG1hdGNoIGp1c3QgaW4gY2FzZS4KICAgICAgcmV0dXJu
ICgoYXNtWyJzZXRUZW1wUmV0MCJdKHRocm93bnR5cGUpLHRocm93bil8MCk7CiAgICB9ZnVuY3Rp
b24gX19fY3hhX3Rocm93KHB0ciwgdHlwZSwgZGVzdHJ1Y3RvcikgewogICAgICBpZiAoIV9fX2N4
YV90aHJvdy5pbml0aWFsaXplZCkgewogICAgICAgIHRyeSB7CiAgICAgICAgICBIRUFQMzJbKChf
X1pUVk4xMF9fY3h4YWJpdjExOV9fcG9pbnRlcl90eXBlX2luZm9FKT4+MildPTA7IC8vIFdvcmth
cm91bmQgZm9yIGxpYmN4eGFiaSBpbnRlZ3JhdGlvbiBidWcKICAgICAgICB9IGNhdGNoKGUpe30K
ICAgICAgICB0cnkgewogICAgICAgICAgSEVBUDMyWygoX19aVFZOMTBfX2N4eGFiaXYxMTdfX2Ns
YXNzX3R5cGVfaW5mb0UpPj4yKV09MTsgLy8gV29ya2Fyb3VuZCBmb3IgbGliY3h4YWJpIGludGVn
cmF0aW9uIGJ1ZwogICAgICAgIH0gY2F0Y2goZSl7fQogICAgICAgIHRyeSB7CiAgICAgICAgICBI
RUFQMzJbKChfX1pUVk4xMF9fY3h4YWJpdjEyMF9fc2lfY2xhc3NfdHlwZV9pbmZvRSk+PjIpXT0y
OyAvLyBXb3JrYXJvdW5kIGZvciBsaWJjeHhhYmkgaW50ZWdyYXRpb24gYnVnCiAgICAgICAgfSBj
YXRjaChlKXt9CiAgICAgICAgX19fY3hhX3Rocm93LmluaXRpYWxpemVkID0gdHJ1ZTsKICAgICAg
fQogICAgICB2YXIgaGVhZGVyID0gcHRyIC0gX19fY3hhX2V4Y2VwdGlvbl9oZWFkZXJfc2l6ZTsK
ICAgICAgSEVBUDMyWygoaGVhZGVyKT4+MildPXR5cGU7CiAgICAgIEhFQVAzMlsoKChoZWFkZXIp
Kyg0KSk+PjIpXT1kZXN0cnVjdG9yOwogICAgICBfX19jeGFfbGFzdF90aHJvd25fZXhjZXB0aW9u
ID0gcHRyOwogICAgICBpZiAoISgidW5jYXVnaHRfZXhjZXB0aW9uIiBpbiBfX1pTdDE4dW5jYXVn
aHRfZXhjZXB0aW9udikpIHsKICAgICAgICBfX1pTdDE4dW5jYXVnaHRfZXhjZXB0aW9udi51bmNh
dWdodF9leGNlcHRpb24gPSAxOwogICAgICB9IGVsc2UgewogICAgICAgIF9fWlN0MTh1bmNhdWdo
dF9leGNlcHRpb252LnVuY2F1Z2h0X2V4Y2VwdGlvbisrOwogICAgICB9CiAgICAgIHRocm93IHB0
ciArICIgLSBFeGNlcHRpb24gY2F0Y2hpbmcgaXMgZGlzYWJsZWQsIHRoaXMgZXhjZXB0aW9uIGNh
bm5vdCBiZSBjYXVnaHQuIENvbXBpbGUgd2l0aCAtcyBESVNBQkxFX0VYQ0VQVElPTl9DQVRDSElO
Rz0wIG9yIERJU0FCTEVfRVhDRVBUSU9OX0NBVENISU5HPTIgdG8gY2F0Y2guIjsKICAgIH0KCiAg
ZnVuY3Rpb24gX3B0aHJlYWRfbXV0ZXhfbG9jaygpIHt9CgogIAogIAogIAogIAogIHZhciBFUlJO
T19DT0RFUz17RVBFUk06MSxFTk9FTlQ6MixFU1JDSDozLEVJTlRSOjQsRUlPOjUsRU5YSU86NixF
MkJJRzo3LEVOT0VYRUM6OCxFQkFERjo5LEVDSElMRDoxMCxFQUdBSU46MTEsRVdPVUxEQkxPQ0s6
MTEsRU5PTUVNOjEyLEVBQ0NFUzoxMyxFRkFVTFQ6MTQsRU5PVEJMSzoxNSxFQlVTWToxNixFRVhJ
U1Q6MTcsRVhERVY6MTgsRU5PREVWOjE5LEVOT1RESVI6MjAsRUlTRElSOjIxLEVJTlZBTDoyMixF
TkZJTEU6MjMsRU1GSUxFOjI0LEVOT1RUWToyNSxFVFhUQlNZOjI2LEVGQklHOjI3LEVOT1NQQzoy
OCxFU1BJUEU6MjksRVJPRlM6MzAsRU1MSU5LOjMxLEVQSVBFOjMyLEVET006MzMsRVJBTkdFOjM0
LEVOT01TRzo0MixFSURSTTo0MyxFQ0hSTkc6NDQsRUwyTlNZTkM6NDUsRUwzSExUOjQ2LEVMM1JT
VDo0NyxFTE5STkc6NDgsRVVOQVRDSDo0OSxFTk9DU0k6NTAsRUwySExUOjUxLEVERUFETEs6MzUs
RU5PTENLOjM3LEVCQURFOjUyLEVCQURSOjUzLEVYRlVMTDo1NCxFTk9BTk86NTUsRUJBRFJRQzo1
NixFQkFEU0xUOjU3LEVERUFETE9DSzozNSxFQkZPTlQ6NTksRU5PU1RSOjYwLEVOT0RBVEE6NjEs
RVRJTUU6NjIsRU5PU1I6NjMsRU5PTkVUOjY0LEVOT1BLRzo2NSxFUkVNT1RFOjY2LEVOT0xJTks6
NjcsRUFEVjo2OCxFU1JNTlQ6NjksRUNPTU06NzAsRVBST1RPOjcxLEVNVUxUSUhPUDo3MixFRE9U
RE9UOjczLEVCQURNU0c6NzQsRU5PVFVOSVE6NzYsRUJBREZEOjc3LEVSRU1DSEc6NzgsRUxJQkFD
Qzo3OSxFTElCQkFEOjgwLEVMSUJTQ046ODEsRUxJQk1BWDo4MixFTElCRVhFQzo4MyxFTk9TWVM6
MzgsRU5PVEVNUFRZOjM5LEVOQU1FVE9PTE9ORzozNixFTE9PUDo0MCxFT1BOT1RTVVBQOjk1LEVQ
Rk5PU1VQUE9SVDo5NixFQ09OTlJFU0VUOjEwNCxFTk9CVUZTOjEwNSxFQUZOT1NVUFBPUlQ6OTcs
RVBST1RPVFlQRTo5MSxFTk9UU09DSzo4OCxFTk9QUk9UT09QVDo5MixFU0hVVERPV046MTA4LEVD
T05OUkVGVVNFRDoxMTEsRUFERFJJTlVTRTo5OCxFQ09OTkFCT1JURUQ6MTAzLEVORVRVTlJFQUNI
OjEwMSxFTkVURE9XTjoxMDAsRVRJTUVET1VUOjExMCxFSE9TVERPV046MTEyLEVIT1NUVU5SRUFD
SDoxMTMsRUlOUFJPR1JFU1M6MTE1LEVBTFJFQURZOjExNCxFREVTVEFERFJSRVE6ODksRU1TR1NJ
WkU6OTAsRVBST1RPTk9TVVBQT1JUOjkzLEVTT0NLVE5PU1VQUE9SVDo5NCxFQUREUk5PVEFWQUlM
Ojk5LEVORVRSRVNFVDoxMDIsRUlTQ09OTjoxMDYsRU5PVENPTk46MTA3LEVUT09NQU5ZUkVGUzox
MDksRVVTRVJTOjg3LEVEUVVPVDoxMjIsRVNUQUxFOjExNixFTk9UU1VQOjk1LEVOT01FRElVTTox
MjMsRUlMU0VROjg0LEVPVkVSRkxPVzo3NSxFQ0FOQ0VMRUQ6MTI1LEVOT1RSRUNPVkVSQUJMRTox
MzEsRU9XTkVSREVBRDoxMzAsRVNUUlBJUEU6ODZ9OwogIAogIHZhciBFUlJOT19NRVNTQUdFUz17
MDoiU3VjY2VzcyIsMToiTm90IHN1cGVyLXVzZXIiLDI6Ik5vIHN1Y2ggZmlsZSBvciBkaXJlY3Rv
cnkiLDM6Ik5vIHN1Y2ggcHJvY2VzcyIsNDoiSW50ZXJydXB0ZWQgc3lzdGVtIGNhbGwiLDU6Ikkv
TyBlcnJvciIsNjoiTm8gc3VjaCBkZXZpY2Ugb3IgYWRkcmVzcyIsNzoiQXJnIGxpc3QgdG9vIGxv
bmciLDg6IkV4ZWMgZm9ybWF0IGVycm9yIiw5OiJCYWQgZmlsZSBudW1iZXIiLDEwOiJObyBjaGls
ZHJlbiIsMTE6Ik5vIG1vcmUgcHJvY2Vzc2VzIiwxMjoiTm90IGVub3VnaCBjb3JlIiwxMzoiUGVy
bWlzc2lvbiBkZW5pZWQiLDE0OiJCYWQgYWRkcmVzcyIsMTU6IkJsb2NrIGRldmljZSByZXF1aXJl
ZCIsMTY6Ik1vdW50IGRldmljZSBidXN5IiwxNzoiRmlsZSBleGlzdHMiLDE4OiJDcm9zcy1kZXZp
Y2UgbGluayIsMTk6Ik5vIHN1Y2ggZGV2aWNlIiwyMDoiTm90IGEgZGlyZWN0b3J5IiwyMToiSXMg
YSBkaXJlY3RvcnkiLDIyOiJJbnZhbGlkIGFyZ3VtZW50IiwyMzoiVG9vIG1hbnkgb3BlbiBmaWxl
cyBpbiBzeXN0ZW0iLDI0OiJUb28gbWFueSBvcGVuIGZpbGVzIiwyNToiTm90IGEgdHlwZXdyaXRl
ciIsMjY6IlRleHQgZmlsZSBidXN5IiwyNzoiRmlsZSB0b28gbGFyZ2UiLDI4OiJObyBzcGFjZSBs
ZWZ0IG9uIGRldmljZSIsMjk6IklsbGVnYWwgc2VlayIsMzA6IlJlYWQgb25seSBmaWxlIHN5c3Rl
bSIsMzE6IlRvbyBtYW55IGxpbmtzIiwzMjoiQnJva2VuIHBpcGUiLDMzOiJNYXRoIGFyZyBvdXQg
b2YgZG9tYWluIG9mIGZ1bmMiLDM0OiJNYXRoIHJlc3VsdCBub3QgcmVwcmVzZW50YWJsZSIsMzU6
IkZpbGUgbG9ja2luZyBkZWFkbG9jayBlcnJvciIsMzY6IkZpbGUgb3IgcGF0aCBuYW1lIHRvbyBs
b25nIiwzNzoiTm8gcmVjb3JkIGxvY2tzIGF2YWlsYWJsZSIsMzg6IkZ1bmN0aW9uIG5vdCBpbXBs
ZW1lbnRlZCIsMzk6IkRpcmVjdG9yeSBub3QgZW1wdHkiLDQwOiJUb28gbWFueSBzeW1ib2xpYyBs
aW5rcyIsNDI6Ik5vIG1lc3NhZ2Ugb2YgZGVzaXJlZCB0eXBlIiw0MzoiSWRlbnRpZmllciByZW1v
dmVkIiw0NDoiQ2hhbm5lbCBudW1iZXIgb3V0IG9mIHJhbmdlIiw0NToiTGV2ZWwgMiBub3Qgc3lu
Y2hyb25pemVkIiw0NjoiTGV2ZWwgMyBoYWx0ZWQiLDQ3OiJMZXZlbCAzIHJlc2V0Iiw0ODoiTGlu
ayBudW1iZXIgb3V0IG9mIHJhbmdlIiw0OToiUHJvdG9jb2wgZHJpdmVyIG5vdCBhdHRhY2hlZCIs
NTA6Ik5vIENTSSBzdHJ1Y3R1cmUgYXZhaWxhYmxlIiw1MToiTGV2ZWwgMiBoYWx0ZWQiLDUyOiJJ
bnZhbGlkIGV4Y2hhbmdlIiw1MzoiSW52YWxpZCByZXF1ZXN0IGRlc2NyaXB0b3IiLDU0OiJFeGNo
YW5nZSBmdWxsIiw1NToiTm8gYW5vZGUiLDU2OiJJbnZhbGlkIHJlcXVlc3QgY29kZSIsNTc6Iklu
dmFsaWQgc2xvdCIsNTk6IkJhZCBmb250IGZpbGUgZm10Iiw2MDoiRGV2aWNlIG5vdCBhIHN0cmVh
bSIsNjE6Ik5vIGRhdGEgKGZvciBubyBkZWxheSBpbykiLDYyOiJUaW1lciBleHBpcmVkIiw2Mzoi
T3V0IG9mIHN0cmVhbXMgcmVzb3VyY2VzIiw2NDoiTWFjaGluZSBpcyBub3Qgb24gdGhlIG5ldHdv
cmsiLDY1OiJQYWNrYWdlIG5vdCBpbnN0YWxsZWQiLDY2OiJUaGUgb2JqZWN0IGlzIHJlbW90ZSIs
Njc6IlRoZSBsaW5rIGhhcyBiZWVuIHNldmVyZWQiLDY4OiJBZHZlcnRpc2UgZXJyb3IiLDY5OiJT
cm1vdW50IGVycm9yIiw3MDoiQ29tbXVuaWNhdGlvbiBlcnJvciBvbiBzZW5kIiw3MToiUHJvdG9j
b2wgZXJyb3IiLDcyOiJNdWx0aWhvcCBhdHRlbXB0ZWQiLDczOiJDcm9zcyBtb3VudCBwb2ludCAo
bm90IHJlYWxseSBlcnJvcikiLDc0OiJUcnlpbmcgdG8gcmVhZCB1bnJlYWRhYmxlIG1lc3NhZ2Ui
LDc1OiJWYWx1ZSB0b28gbGFyZ2UgZm9yIGRlZmluZWQgZGF0YSB0eXBlIiw3NjoiR2l2ZW4gbG9n
LiBuYW1lIG5vdCB1bmlxdWUiLDc3OiJmLmQuIGludmFsaWQgZm9yIHRoaXMgb3BlcmF0aW9uIiw3
ODoiUmVtb3RlIGFkZHJlc3MgY2hhbmdlZCIsNzk6IkNhbiAgIGFjY2VzcyBhIG5lZWRlZCBzaGFy
ZWQgbGliIiw4MDoiQWNjZXNzaW5nIGEgY29ycnVwdGVkIHNoYXJlZCBsaWIiLDgxOiIubGliIHNl
Y3Rpb24gaW4gYS5vdXQgY29ycnVwdGVkIiw4MjoiQXR0ZW1wdGluZyB0byBsaW5rIGluIHRvbyBt
YW55IGxpYnMiLDgzOiJBdHRlbXB0aW5nIHRvIGV4ZWMgYSBzaGFyZWQgbGlicmFyeSIsODQ6Ikls
bGVnYWwgYnl0ZSBzZXF1ZW5jZSIsODY6IlN0cmVhbXMgcGlwZSBlcnJvciIsODc6IlRvbyBtYW55
IHVzZXJzIiw4ODoiU29ja2V0IG9wZXJhdGlvbiBvbiBub24tc29ja2V0Iiw4OToiRGVzdGluYXRp
b24gYWRkcmVzcyByZXF1aXJlZCIsOTA6Ik1lc3NhZ2UgdG9vIGxvbmciLDkxOiJQcm90b2NvbCB3
cm9uZyB0eXBlIGZvciBzb2NrZXQiLDkyOiJQcm90b2NvbCBub3QgYXZhaWxhYmxlIiw5MzoiVW5r
bm93biBwcm90b2NvbCIsOTQ6IlNvY2tldCB0eXBlIG5vdCBzdXBwb3J0ZWQiLDk1OiJOb3Qgc3Vw
cG9ydGVkIiw5NjoiUHJvdG9jb2wgZmFtaWx5IG5vdCBzdXBwb3J0ZWQiLDk3OiJBZGRyZXNzIGZh
bWlseSBub3Qgc3VwcG9ydGVkIGJ5IHByb3RvY29sIGZhbWlseSIsOTg6IkFkZHJlc3MgYWxyZWFk
eSBpbiB1c2UiLDk5OiJBZGRyZXNzIG5vdCBhdmFpbGFibGUiLDEwMDoiTmV0d29yayBpbnRlcmZh
Y2UgaXMgbm90IGNvbmZpZ3VyZWQiLDEwMToiTmV0d29yayBpcyB1bnJlYWNoYWJsZSIsMTAyOiJD
b25uZWN0aW9uIHJlc2V0IGJ5IG5ldHdvcmsiLDEwMzoiQ29ubmVjdGlvbiBhYm9ydGVkIiwxMDQ6
IkNvbm5lY3Rpb24gcmVzZXQgYnkgcGVlciIsMTA1OiJObyBidWZmZXIgc3BhY2UgYXZhaWxhYmxl
IiwxMDY6IlNvY2tldCBpcyBhbHJlYWR5IGNvbm5lY3RlZCIsMTA3OiJTb2NrZXQgaXMgbm90IGNv
bm5lY3RlZCIsMTA4OiJDYW4ndCBzZW5kIGFmdGVyIHNvY2tldCBzaHV0ZG93biIsMTA5OiJUb28g
bWFueSByZWZlcmVuY2VzIiwxMTA6IkNvbm5lY3Rpb24gdGltZWQgb3V0IiwxMTE6IkNvbm5lY3Rp
b24gcmVmdXNlZCIsMTEyOiJIb3N0IGlzIGRvd24iLDExMzoiSG9zdCBpcyB1bnJlYWNoYWJsZSIs
MTE0OiJTb2NrZXQgYWxyZWFkeSBjb25uZWN0ZWQiLDExNToiQ29ubmVjdGlvbiBhbHJlYWR5IGlu
IHByb2dyZXNzIiwxMTY6IlN0YWxlIGZpbGUgaGFuZGxlIiwxMjI6IlF1b3RhIGV4Y2VlZGVkIiwx
MjM6Ik5vIG1lZGl1bSAoaW4gdGFwZSBkcml2ZSkiLDEyNToiT3BlcmF0aW9uIGNhbmNlbGVkIiwx
MzA6IlByZXZpb3VzIG93bmVyIGRpZWQiLDEzMToiU3RhdGUgbm90IHJlY292ZXJhYmxlIn07CiAg
CiAgCiAgdmFyIF9fX2Vycm5vX3N0YXRlPTA7ZnVuY3Rpb24gX19fc2V0RXJyTm8odmFsdWUpIHsK
ICAgICAgLy8gRm9yIGNvbnZlbmllbnQgc2V0dGluZyBhbmQgcmV0dXJuaW5nIG9mIGVycm5vLgog
ICAgICBIRUFQMzJbKChfX19lcnJub19zdGF0ZSk+PjIpXT12YWx1ZTsKICAgICAgcmV0dXJuIHZh
bHVlOwogICAgfQogIAogIHZhciBQQVRIPXtzcGxpdFBhdGg6ZnVuY3Rpb24gKGZpbGVuYW1lKSB7
CiAgICAgICAgdmFyIHNwbGl0UGF0aFJlID0gL14oXC8/fCkoW1xzXFNdKj8pKCg/OlwuezEsMn18
W15cL10rP3wpKFwuW14uXC9dKnwpKSg/OltcL10qKSQvOwogICAgICAgIHJldHVybiBzcGxpdFBh
dGhSZS5leGVjKGZpbGVuYW1lKS5zbGljZSgxKTsKICAgICAgfSxub3JtYWxpemVBcnJheTpmdW5j
dGlvbiAocGFydHMsIGFsbG93QWJvdmVSb290KSB7CiAgICAgICAgLy8gaWYgdGhlIHBhdGggdHJp
ZXMgdG8gZ28gYWJvdmUgdGhlIHJvb3QsIGB1cGAgZW5kcyB1cCA+IDAKICAgICAgICB2YXIgdXAg
PSAwOwogICAgICAgIGZvciAodmFyIGkgPSBwYXJ0cy5sZW5ndGggLSAxOyBpID49IDA7IGktLSkg
ewogICAgICAgICAgdmFyIGxhc3QgPSBwYXJ0c1tpXTsKICAgICAgICAgIGlmIChsYXN0ID09PSAn
LicpIHsKICAgICAgICAgICAgcGFydHMuc3BsaWNlKGksIDEpOwogICAgICAgICAgfSBlbHNlIGlm
IChsYXN0ID09PSAnLi4nKSB7CiAgICAgICAgICAgIHBhcnRzLnNwbGljZShpLCAxKTsKICAgICAg
ICAgICAgdXArKzsKICAgICAgICAgIH0gZWxzZSBpZiAodXApIHsKICAgICAgICAgICAgcGFydHMu
c3BsaWNlKGksIDEpOwogICAgICAgICAgICB1cC0tOwogICAgICAgICAgfQogICAgICAgIH0KICAg
ICAgICAvLyBpZiB0aGUgcGF0aCBpcyBhbGxvd2VkIHRvIGdvIGFib3ZlIHRoZSByb290LCByZXN0
b3JlIGxlYWRpbmcgLi5zCiAgICAgICAgaWYgKGFsbG93QWJvdmVSb290KSB7CiAgICAgICAgICBm
b3IgKDsgdXAtLTsgdXApIHsKICAgICAgICAgICAgcGFydHMudW5zaGlmdCgnLi4nKTsKICAgICAg
ICAgIH0KICAgICAgICB9CiAgICAgICAgcmV0dXJuIHBhcnRzOwogICAgICB9LG5vcm1hbGl6ZTpm
dW5jdGlvbiAocGF0aCkgewogICAgICAgIHZhciBpc0Fic29sdXRlID0gcGF0aC5jaGFyQXQoMCkg
PT09ICcvJywKICAgICAgICAgICAgdHJhaWxpbmdTbGFzaCA9IHBhdGguc3Vic3RyKC0xKSA9PT0g
Jy8nOwogICAgICAgIC8vIE5vcm1hbGl6ZSB0aGUgcGF0aAogICAgICAgIHBhdGggPSBQQVRILm5v
cm1hbGl6ZUFycmF5KHBhdGguc3BsaXQoJy8nKS5maWx0ZXIoZnVuY3Rpb24ocCkgewogICAgICAg
ICAgcmV0dXJuICEhcDsKICAgICAgICB9KSwgIWlzQWJzb2x1dGUpLmpvaW4oJy8nKTsKICAgICAg
ICBpZiAoIXBhdGggJiYgIWlzQWJzb2x1dGUpIHsKICAgICAgICAgIHBhdGggPSAnLic7CiAgICAg
ICAgfQogICAgICAgIGlmIChwYXRoICYmIHRyYWlsaW5nU2xhc2gpIHsKICAgICAgICAgIHBhdGgg
Kz0gJy8nOwogICAgICAgIH0KICAgICAgICByZXR1cm4gKGlzQWJzb2x1dGUgPyAnLycgOiAnJykg
KyBwYXRoOwogICAgICB9LGRpcm5hbWU6ZnVuY3Rpb24gKHBhdGgpIHsKICAgICAgICB2YXIgcmVz
dWx0ID0gUEFUSC5zcGxpdFBhdGgocGF0aCksCiAgICAgICAgICAgIHJvb3QgPSByZXN1bHRbMF0s
CiAgICAgICAgICAgIGRpciA9IHJlc3VsdFsxXTsKICAgICAgICBpZiAoIXJvb3QgJiYgIWRpcikg
ewogICAgICAgICAgLy8gTm8gZGlybmFtZSB3aGF0c29ldmVyCiAgICAgICAgICByZXR1cm4gJy4n
OwogICAgICAgIH0KICAgICAgICBpZiAoZGlyKSB7CiAgICAgICAgICAvLyBJdCBoYXMgYSBkaXJu
YW1lLCBzdHJpcCB0cmFpbGluZyBzbGFzaAogICAgICAgICAgZGlyID0gZGlyLnN1YnN0cigwLCBk
aXIubGVuZ3RoIC0gMSk7CiAgICAgICAgfQogICAgICAgIHJldHVybiByb290ICsgZGlyOwogICAg
ICB9LGJhc2VuYW1lOmZ1bmN0aW9uIChwYXRoKSB7CiAgICAgICAgLy8gRU1TQ1JJUFRFTiByZXR1
cm4gJy8nJyBmb3IgJy8nLCBub3QgYW4gZW1wdHkgc3RyaW5nCiAgICAgICAgaWYgKHBhdGggPT09
ICcvJykgcmV0dXJuICcvJzsKICAgICAgICB2YXIgbGFzdFNsYXNoID0gcGF0aC5sYXN0SW5kZXhP
ZignLycpOwogICAgICAgIGlmIChsYXN0U2xhc2ggPT09IC0xKSByZXR1cm4gcGF0aDsKICAgICAg
ICByZXR1cm4gcGF0aC5zdWJzdHIobGFzdFNsYXNoKzEpOwogICAgICB9LGV4dG5hbWU6ZnVuY3Rp
b24gKHBhdGgpIHsKICAgICAgICByZXR1cm4gUEFUSC5zcGxpdFBhdGgocGF0aClbM107CiAgICAg
IH0sam9pbjpmdW5jdGlvbiAoKSB7CiAgICAgICAgdmFyIHBhdGhzID0gQXJyYXkucHJvdG90eXBl
LnNsaWNlLmNhbGwoYXJndW1lbnRzLCAwKTsKICAgICAgICByZXR1cm4gUEFUSC5ub3JtYWxpemUo
cGF0aHMuam9pbignLycpKTsKICAgICAgfSxqb2luMjpmdW5jdGlvbiAobCwgcikgewogICAgICAg
IHJldHVybiBQQVRILm5vcm1hbGl6ZShsICsgJy8nICsgcik7CiAgICAgIH0scmVzb2x2ZTpmdW5j
dGlvbiAoKSB7CiAgICAgICAgdmFyIHJlc29sdmVkUGF0aCA9ICcnLAogICAgICAgICAgcmVzb2x2
ZWRBYnNvbHV0ZSA9IGZhbHNlOwogICAgICAgIGZvciAodmFyIGkgPSBhcmd1bWVudHMubGVuZ3Ro
IC0gMTsgaSA+PSAtMSAmJiAhcmVzb2x2ZWRBYnNvbHV0ZTsgaS0tKSB7CiAgICAgICAgICB2YXIg
cGF0aCA9IChpID49IDApID8gYXJndW1lbnRzW2ldIDogRlMuY3dkKCk7CiAgICAgICAgICAvLyBT
a2lwIGVtcHR5IGFuZCBpbnZhbGlkIGVudHJpZXMKICAgICAgICAgIGlmICh0eXBlb2YgcGF0aCAh
PT0gJ3N0cmluZycpIHsKICAgICAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcignQXJndW1lbnRz
IHRvIHBhdGgucmVzb2x2ZSBtdXN0IGJlIHN0cmluZ3MnKTsKICAgICAgICAgIH0gZWxzZSBpZiAo
IXBhdGgpIHsKICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICB9CiAgICAgICAgICByZXNv
bHZlZFBhdGggPSBwYXRoICsgJy8nICsgcmVzb2x2ZWRQYXRoOwogICAgICAgICAgcmVzb2x2ZWRB
YnNvbHV0ZSA9IHBhdGguY2hhckF0KDApID09PSAnLyc7CiAgICAgICAgfQogICAgICAgIC8vIEF0
IHRoaXMgcG9pbnQgdGhlIHBhdGggc2hvdWxkIGJlIHJlc29sdmVkIHRvIGEgZnVsbCBhYnNvbHV0
ZSBwYXRoLCBidXQKICAgICAgICAvLyBoYW5kbGUgcmVsYXRpdmUgcGF0aHMgdG8gYmUgc2FmZSAo
bWlnaHQgaGFwcGVuIHdoZW4gcHJvY2Vzcy5jd2QoKSBmYWlscykKICAgICAgICByZXNvbHZlZFBh
dGggPSBQQVRILm5vcm1hbGl6ZUFycmF5KHJlc29sdmVkUGF0aC5zcGxpdCgnLycpLmZpbHRlcihm
dW5jdGlvbihwKSB7CiAgICAgICAgICByZXR1cm4gISFwOwogICAgICAgIH0pLCAhcmVzb2x2ZWRB
YnNvbHV0ZSkuam9pbignLycpOwogICAgICAgIHJldHVybiAoKHJlc29sdmVkQWJzb2x1dGUgPyAn
LycgOiAnJykgKyByZXNvbHZlZFBhdGgpIHx8ICcuJzsKICAgICAgfSxyZWxhdGl2ZTpmdW5jdGlv
biAoZnJvbSwgdG8pIHsKICAgICAgICBmcm9tID0gUEFUSC5yZXNvbHZlKGZyb20pLnN1YnN0cigx
KTsKICAgICAgICB0byA9IFBBVEgucmVzb2x2ZSh0bykuc3Vic3RyKDEpOwogICAgICAgIGZ1bmN0
aW9uIHRyaW0oYXJyKSB7CiAgICAgICAgICB2YXIgc3RhcnQgPSAwOwogICAgICAgICAgZm9yICg7
IHN0YXJ0IDwgYXJyLmxlbmd0aDsgc3RhcnQrKykgewogICAgICAgICAgICBpZiAoYXJyW3N0YXJ0
XSAhPT0gJycpIGJyZWFrOwogICAgICAgICAgfQogICAgICAgICAgdmFyIGVuZCA9IGFyci5sZW5n
dGggLSAxOwogICAgICAgICAgZm9yICg7IGVuZCA+PSAwOyBlbmQtLSkgewogICAgICAgICAgICBp
ZiAoYXJyW2VuZF0gIT09ICcnKSBicmVhazsKICAgICAgICAgIH0KICAgICAgICAgIGlmIChzdGFy
dCA+IGVuZCkgcmV0dXJuIFtdOwogICAgICAgICAgcmV0dXJuIGFyci5zbGljZShzdGFydCwgZW5k
IC0gc3RhcnQgKyAxKTsKICAgICAgICB9CiAgICAgICAgdmFyIGZyb21QYXJ0cyA9IHRyaW0oZnJv
bS5zcGxpdCgnLycpKTsKICAgICAgICB2YXIgdG9QYXJ0cyA9IHRyaW0odG8uc3BsaXQoJy8nKSk7
CiAgICAgICAgdmFyIGxlbmd0aCA9IE1hdGgubWluKGZyb21QYXJ0cy5sZW5ndGgsIHRvUGFydHMu
bGVuZ3RoKTsKICAgICAgICB2YXIgc2FtZVBhcnRzTGVuZ3RoID0gbGVuZ3RoOwogICAgICAgIGZv
ciAodmFyIGkgPSAwOyBpIDwgbGVuZ3RoOyBpKyspIHsKICAgICAgICAgIGlmIChmcm9tUGFydHNb
aV0gIT09IHRvUGFydHNbaV0pIHsKICAgICAgICAgICAgc2FtZVBhcnRzTGVuZ3RoID0gaTsKICAg
ICAgICAgICAgYnJlYWs7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHZhciBvdXRwdXRQ
YXJ0cyA9IFtdOwogICAgICAgIGZvciAodmFyIGkgPSBzYW1lUGFydHNMZW5ndGg7IGkgPCBmcm9t
UGFydHMubGVuZ3RoOyBpKyspIHsKICAgICAgICAgIG91dHB1dFBhcnRzLnB1c2goJy4uJyk7CiAg
ICAgICAgfQogICAgICAgIG91dHB1dFBhcnRzID0gb3V0cHV0UGFydHMuY29uY2F0KHRvUGFydHMu
c2xpY2Uoc2FtZVBhcnRzTGVuZ3RoKSk7CiAgICAgICAgcmV0dXJuIG91dHB1dFBhcnRzLmpvaW4o
Jy8nKTsKICAgICAgfX07CiAgCiAgdmFyIFRUWT17dHR5czpbXSxpbml0OmZ1bmN0aW9uICgpIHsK
ICAgICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20va3JpcGtlbi9lbXNjcmlwdGVuL3B1bGwvMTU1
NQogICAgICAgIC8vIGlmIChFTlZJUk9OTUVOVF9JU19OT0RFKSB7CiAgICAgICAgLy8gICAvLyBj
dXJyZW50bHksIEZTLmluaXQgZG9lcyBub3QgZGlzdGluZ3Vpc2ggaWYgcHJvY2Vzcy5zdGRpbiBp
cyBhIGZpbGUgb3IgVFRZCiAgICAgICAgLy8gICAvLyBkZXZpY2UsIGl0IGFsd2F5cyBhc3N1bWVz
IGl0J3MgYSBUVFkgZGV2aWNlLiBiZWNhdXNlIG9mIHRoaXMsIHdlJ3JlIGZvcmNpbmcKICAgICAg
ICAvLyAgIC8vIHByb2Nlc3Muc3RkaW4gdG8gVVRGOCBlbmNvZGluZyB0byBhdCBsZWFzdCBtYWtl
IHN0ZGluIHJlYWRpbmcgY29tcGF0aWJsZQogICAgICAgIC8vICAgLy8gd2l0aCB0ZXh0IGZpbGVz
IHVudGlsIEZTLmluaXQgY2FuIGJlIHJlZmFjdG9yZWQuCiAgICAgICAgLy8gICBwcm9jZXNzWydz
dGRpbiddWydzZXRFbmNvZGluZyddKCd1dGY4Jyk7CiAgICAgICAgLy8gfQogICAgICB9LHNodXRk
b3duOmZ1bmN0aW9uICgpIHsKICAgICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20va3JpcGtlbi9l
bXNjcmlwdGVuL3B1bGwvMTU1NQogICAgICAgIC8vIGlmIChFTlZJUk9OTUVOVF9JU19OT0RFKSB7
CiAgICAgICAgLy8gICAvLyBpbm9sZW46IGFueSBpZGVhIGFzIHRvIHdoeSBub2RlIC1lICdwcm9j
ZXNzLnN0ZGluLnJlYWQoKScgd291bGRuJ3QgZXhpdCBpbW1lZGlhdGVseSAod2l0aCBwcm9jZXNz
LnN0ZGluIGJlaW5nIGEgdHR5KT8KICAgICAgICAvLyAgIC8vIGlzYWFjczogYmVjYXVzZSBub3cg
aXQncyByZWFkaW5nIGZyb20gdGhlIHN0cmVhbSwgeW91J3ZlIGV4cHJlc3NlZCBpbnRlcmVzdCBp
biBpdCwgc28gdGhhdCByZWFkKCkga2lja3Mgb2ZmIGEgX3JlYWQoKSB3aGljaCBjcmVhdGVzIGEg
UmVhZFJlcSBvcGVyYXRpb24KICAgICAgICAvLyAgIC8vIGlub2xlbjogSSB0aG91Z2h0IHJlYWQo
KSBpbiB0aGF0IGNhc2Ugd2FzIGEgc3luY2hyb25vdXMgb3BlcmF0aW9uIHRoYXQganVzdCBncmFi
YmVkIHNvbWUgYW1vdW50IG9mIGJ1ZmZlcmVkIGRhdGEgaWYgaXQgZXhpc3RzPwogICAgICAgIC8v
ICAgLy8gaXNhYWNzOiBpdCBpcy4gYnV0IGl0IGFsc28gdHJpZ2dlcnMgYSBfcmVhZCgpIGNhbGws
IHdoaWNoIGNhbGxzIHJlYWRTdGFydCgpIG9uIHRoZSBoYW5kbGUKICAgICAgICAvLyAgIC8vIGlz
YWFjczogZG8gcHJvY2Vzcy5zdGRpbi5wYXVzZSgpIGFuZCBpJ2QgdGhpbmsgaXQnZCBwcm9iYWJs
eSBjbG9zZSB0aGUgcGVuZGluZyBjYWxsCiAgICAgICAgLy8gICBwcm9jZXNzWydzdGRpbiddWydw
YXVzZSddKCk7CiAgICAgICAgLy8gfQogICAgICB9LHJlZ2lzdGVyOmZ1bmN0aW9uIChkZXYsIG9w
cykgewogICAgICAgIFRUWS50dHlzW2Rldl0gPSB7IGlucHV0OiBbXSwgb3V0cHV0OiBbXSwgb3Bz
OiBvcHMgfTsKICAgICAgICBGUy5yZWdpc3RlckRldmljZShkZXYsIFRUWS5zdHJlYW1fb3BzKTsK
ICAgICAgfSxzdHJlYW1fb3BzOntvcGVuOmZ1bmN0aW9uIChzdHJlYW0pIHsKICAgICAgICAgIHZh
ciB0dHkgPSBUVFkudHR5c1tzdHJlYW0ubm9kZS5yZGV2XTsKICAgICAgICAgIGlmICghdHR5KSB7
CiAgICAgICAgICAgIHRocm93IG5ldyBGUy5FcnJub0Vycm9yKEVSUk5PX0NPREVTLkVOT0RFVik7
CiAgICAgICAgICB9CiAgICAgICAgICBzdHJlYW0udHR5ID0gdHR5OwogICAgICAgICAgc3RyZWFt
LnNlZWthYmxlID0gZmFsc2U7CiAgICAgICAgfSxjbG9zZTpmdW5jdGlvbiAoc3RyZWFtKSB7CiAg
ICAgICAgICAvLyBmbHVzaCBhbnkgcGVuZGluZyBsaW5lIGRhdGEKICAgICAgICAgIGlmIChzdHJl
YW0udHR5Lm91dHB1dC5sZW5ndGgpIHsKICAgICAgICAgICAgc3RyZWFtLnR0eS5vcHMucHV0X2No
YXIoc3RyZWFtLnR0eSwgMTApOwogICAgICAgICAgfQogICAgICAgIH0scmVhZDpmdW5jdGlvbiAo
c3RyZWFtLCBidWZmZXIsIG9mZnNldCwgbGVuZ3RoLCBwb3MgLyogaWdub3JlZCAqLykgewogICAg
ICAgICAgaWYgKCFzdHJlYW0udHR5IHx8ICFzdHJlYW0udHR5Lm9wcy5nZXRfY2hhcikgewogICAg
ICAgICAgICB0aHJvdyBuZXcgRlMuRXJybm9FcnJvcihFUlJOT19DT0RFUy5FTlhJTyk7CiAgICAg
ICAgICB9CiAgICAgICAgICB2YXIgYnl0ZXNSZWFkID0gMDsKICAgICAgICAgIGZvciAodmFyIGkg
PSAwOyBpIDwgbGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgdmFyIHJlc3VsdDsKICAgICAgICAg
ICAgdHJ5IHsKICAgICAgICAgICAgICByZXN1bHQgPSBzdHJlYW0udHR5Lm9wcy5nZXRfY2hhcihz
dHJlYW0udHR5KTsKICAgICAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICAgIHRocm93
IG5ldyBGUy5FcnJub0Vycm9yKEVSUk5PX0NPREVTLkVJTyk7CiAgICAgICAgICAgIH0KICAgICAg
ICAgICAgaWYgKHJlc3VsdCA9PT0gdW5kZWZpbmVkICYmIGJ5dGVzUmVhZCA9PT0gMCkgewogICAg
ICAgICAgICAgIHRocm93IG5ldyBGUy5FcnJub0Vycm9yKEVSUk5PX0NPREVTLkVBR0FJTik7CiAg
ICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKHJlc3VsdCA9PT0gbnVsbCB8fCByZXN1bHQgPT09
IHVuZGVmaW5lZCkgYnJlYWs7CiAgICAgICAgICAgIGJ5dGVzUmVhZCsrOwogICAgICAgICAgICBi
dWZmZXJbb2Zmc2V0K2ldID0gcmVzdWx0OwogICAgICAgICAgfQogICAgICAgICAgaWYgKGJ5dGVz
UmVhZCkgewogICAgICAgICAgICBzdHJlYW0ubm9kZS50aW1lc3RhbXAgPSBEYXRlLm5vdygpOwog
ICAgICAgICAgfQogICAgICAgICAgcmV0dXJuIGJ5dGVzUmVhZDsKICAgICAgICB9LHdyaXRlOmZ1
bmN0aW9uIChzdHJlYW0sIGJ1ZmZlciwgb2Zmc2V0LCBsZW5ndGgsIHBvcykgewogICAgICAgICAg
aWYgKCFzdHJlYW0udHR5IHx8ICFzdHJlYW0udHR5Lm9wcy5wdXRfY2hhcikgewogICAgICAgICAg
ICB0aHJvdyBuZXcgRlMuRXJybm9FcnJvcihFUlJOT19DT0RFUy5FTlhJTyk7CiAgICAgICAgICB9
CiAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGxlbmd0aDsgaSsrKSB7CiAgICAgICAgICAg
IHRyeSB7CiAgICAgICAgICAgICAgc3RyZWFtLnR0eS5vcHMucHV0X2NoYXIoc3RyZWFtLnR0eSwg
YnVmZmVyW29mZnNldCtpXSk7CiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgICAgICAg
ICB0aHJvdyBuZXcgRlMuRXJybm9FcnJvcihFUlJOT19DT0RFUy5FSU8pOwogICAgICAgICAgICB9
CiAgICAgICAgICB9CiAgICAgICAgICBpZiAobGVuZ3RoKSB7CiAgICAgICAgICAgIHN0cmVhbS5u
b2RlLnRpbWVzdGFtcCA9IERhdGUubm93KCk7CiAgICAgICAgICB9CiAgICAgICAgICByZXR1cm4g
aTsKICAgICAgICB9fSxkZWZhdWx0X3R0eV9vcHM6e2dldF9jaGFyOmZ1bmN0aW9uICh0dHkpIHsK
ICAgICAgICAgIGlmICghdHR5LmlucHV0Lmxlbmd0aCkgewogICAgICAgICAgICB2YXIgcmVzdWx0
ID0gbnVsbDsKICAgICAgICAgICAgaWYgKEVOVklST05NRU5UX0lTX05PREUpIHsKICAgICAgICAg
ICAgICByZXN1bHQgPSBwcm9jZXNzWydzdGRpbiddWydyZWFkJ10oKTsKICAgICAgICAgICAgICBp
ZiAoIXJlc3VsdCkgewogICAgICAgICAgICAgICAgaWYgKHByb2Nlc3NbJ3N0ZGluJ11bJ19yZWFk
YWJsZVN0YXRlJ10gJiYgcHJvY2Vzc1snc3RkaW4nXVsnX3JlYWRhYmxlU3RhdGUnXVsnZW5kZWQn
XSkgewogICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDsgIC8vIEVPRgogICAgICAgICAgICAg
ICAgfQogICAgICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDsgIC8vIG5vIGRhdGEgYXZhaWxh
YmxlCiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiB3aW5kb3cg
IT0gJ3VuZGVmaW5lZCcgJiYKICAgICAgICAgICAgICB0eXBlb2Ygd2luZG93LnByb21wdCA9PSAn
ZnVuY3Rpb24nKSB7CiAgICAgICAgICAgICAgLy8gQnJvd3Nlci4KICAgICAgICAgICAgICByZXN1
bHQgPSB3aW5kb3cucHJvbXB0KCdJbnB1dDogJyk7ICAvLyByZXR1cm5zIG51bGwgb24gY2FuY2Vs
CiAgICAgICAgICAgICAgaWYgKHJlc3VsdCAhPT0gbnVsbCkgewogICAgICAgICAgICAgICAgcmVz
dWx0ICs9ICdcbic7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IGVsc2UgaWYgKHR5cGVv
ZiByZWFkbGluZSA9PSAnZnVuY3Rpb24nKSB7CiAgICAgICAgICAgICAgLy8gQ29tbWFuZCBsaW5l
LgogICAgICAgICAgICAgIHJlc3VsdCA9IHJlYWRsaW5lKCk7CiAgICAgICAgICAgICAgaWYgKHJl
c3VsdCAhPT0gbnVsbCkgewogICAgICAgICAgICAgICAgcmVzdWx0ICs9ICdcbic7CiAgICAgICAg
ICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmICghcmVzdWx0KSB7CiAgICAgICAg
ICAgICAgcmV0dXJuIG51bGw7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgdHR5LmlucHV0ID0g
aW50QXJyYXlGcm9tU3RyaW5nKHJlc3VsdCwgdHJ1ZSk7CiAgICAgICAgICB9CiAgICAgICAgICBy
ZXR1cm4gdHR5LmlucHV0LnNoaWZ0KCk7CiAgICAgICAgfSxwdXRfY2hhcjpmdW5jdGlvbiAodHR5
LCB2YWwpIHsKICAgICAgICAgIGlmICh2YWwgPT09IG51bGwgfHwgdmFsID09PSAxMCkgewogICAg
ICAgICAgICBNb2R1bGVbJ3ByaW50J10odHR5Lm91dHB1dC5qb2luKCcnKSk7CiAgICAgICAgICAg
IHR0eS5vdXRwdXQgPSBbXTsKICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHR0eS5vdXRw
dXQucHVzaChUVFkudXRmOC5wcm9jZXNzQ0NoYXIodmFsKSk7CiAgICAgICAgICB9CiAgICAgICAg
fX0sZGVmYXVsdF90dHkxX29wczp7cHV0X2NoYXI6ZnVuY3Rpb24gKHR0eSwgdmFsKSB7CiAgICAg
ICAgICBpZiAodmFsID09PSBudWxsIHx8IHZhbCA9PT0gMTApIHsKICAgICAgICAgICAgTW9kdWxl
WydwcmludEVyciddKHR0eS5vdXRwdXQuam9pbignJykpOwogICAgICAgICAgICB0dHkub3V0cHV0
ID0gW107CiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICB0dHkub3V0cHV0LnB1c2goVFRZ
LnV0ZjgucHJvY2Vzc0NDaGFyKHZhbCkpOwogICAgICAgICAgfQogICAgICAgIH19fTsKICAKICB2
YXIgTUVNRlM9e29wc190YWJsZTpudWxsLENPTlRFTlRfT1dOSU5HOjEsQ09OVEVOVF9GTEVYSUJM
RToyLENPTlRFTlRfRklYRUQ6Myxtb3VudDpmdW5jdGlvbiAobW91bnQpIHsKICAgICAgICByZXR1
cm4gTUVNRlMuY3JlYXRlTm9kZShudWxsLCAnLycsIDE2Mzg0IHwgNTExIC8qIDA3NzcgKi8sIDAp
OwogICAgICB9LGNyZWF0ZU5vZGU6ZnVuY3Rpb24gKHBhcmVudCwgbmFtZSwgbW9kZSwgZGV2KSB7
CiAgICAgICAgaWYgKEZTLmlzQmxrZGV2KG1vZGUpIHx8IEZTLmlzRklGTyhtb2RlKSkgewogICAg
ICAgICAgLy8gbm8gc3VwcG9ydGVkCiAgICAgICAgICB0aHJvdyBuZXcgRlMuRXJybm9FcnJvcihF
UlJOT19DT0RFUy5FUEVSTSk7CiAgICAgICAgfQogICAgICAgIGlmICghTUVNRlMub3BzX3RhYmxl
KSB7CiAgICAgICAgICBNRU1GUy5vcHNfdGFibGUgPSB7CiAgICAgICAgICAgIGRpcjogewogICAg
ICAgICAgICAgIG5vZGU6IHsKICAgICAgICAgICAgICAgIGdldGF0dHI6IE1FTUZTLm5vZGVfb3Bz
LmdldGF0dHIsCiAgICAgICAgICAgICAgICBzZXRhdHRyOiBNRU1GUy5ub2RlX29wcy5zZXRhdHRy
LAogICAgICAgICAgICAgICAgbG9va3VwOiBNRU1GUy5ub2RlX29wcy5sb29rdXAsCiAgICAgICAg
ICAgICAgICBta25vZDogTUVNRlMubm9kZV9vcHMubWtub2QsCiAgICAgICAgICAgICAgICByZW5h
bWU6IE1FTUZTLm5vZGVfb3BzLnJlbmFtZSwKICAgICAgICAgICAgICAgIHVubGluazogTUVNRlMu
bm9kZV9vcHMudW5saW5rLAogICAgICAgICAgICAgICAgcm1kaXI6IE1FTUZTLm5vZGVfb3BzLnJt
ZGlyLAogICAgICAgICAgICAgICAgcmVhZGRpcjogTUVNRlMubm9kZV9vcHMucmVhZGRpciwKICAg
ICAgICAgICAgICAgIHN5bWxpbms6IE1FTUZTLm5vZGVfb3BzLnN5bWxpbmsKICAgICAgICAgICAg
ICB9LAogICAgICAgICAgICAgIHN0cmVhbTogewogICAgICAgICAgICAgICAgbGxzZWVrOiBNRU1G
Uy5zdHJlYW1fb3BzLmxsc2VlawogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAg
ICAgICAgZmlsZTogewogICAgICAgICAgICAgIG5vZGU6IHsKICAgICAgICAgICAgICAgIGdldGF0
dHI6IE1FTUZTLm5vZGVfb3BzLmdldGF0dHIsCiAgICAgICAgICAgICAgICBzZXRhdHRyOiBNRU1G
Uy5ub2RlX29wcy5zZXRhdHRyCiAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICBzdHJlYW06
IHsKICAgICAgICAgICAgICAgIGxsc2VlazogTUVNRlMuc3RyZWFtX29wcy5sbHNlZWssCiAgICAg
ICAgICAgICAgICByZWFkOiBNRU1GUy5zdHJlYW1fb3BzLnJlYWQsCiAgICAgICAgICAgICAgICB3
cml0ZTogTUVNRlMuc3RyZWFtX29wcy53cml0ZSwKICAgICAgICAgICAgICAgIGFsbG9jYXRlOiBN
RU1GUy5zdHJlYW1fb3BzLmFsbG9jYXRlLAogICAgICAgICAgICAgICAgbW1hcDogTUVNRlMuc3Ry
ZWFtX29wcy5tbWFwCiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICBs
aW5rOiB7CiAgICAgICAgICAgICAgbm9kZTogewogICAgICAgICAgICAgICAgZ2V0YXR0cjogTUVN
RlMubm9kZV9vcHMuZ2V0YXR0ciwKICAgICAgICAgICAgICAgIHNldGF0dHI6IE1FTUZTLm5vZGVf
b3BzLnNldGF0dHIsCiAgICAgICAgICAgICAgICByZWFkbGluazogTUVNRlMubm9kZV9vcHMucmVh
ZGxpbmsKICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgIHN0cmVhbToge30KICAgICAgICAg
ICAgfSwKICAgICAgICAgICAgY2hyZGV2OiB7CiAgICAgICAgICAgICAgbm9kZTogewogICAgICAg
ICAgICAgICAgZ2V0YXR0cjogTUVNRlMubm9kZV9vcHMuZ2V0YXR0ciwKICAgICAgICAgICAgICAg
IHNldGF0dHI6IE1FTUZTLm5vZGVfb3BzLnNldGF0dHIKICAgICAgICAgICAgICB9LAogICAgICAg
ICAgICAgIHN0cmVhbTogRlMuY2hyZGV2X3N0cmVhbV9vcHMKICAgICAgICAgICAgfSwKICAgICAg
ICAgIH07CiAgICAgICAgfQogICAgICAgIHZhciBub2RlID0gRlMuY3JlYXRlTm9kZShwYXJlbnQs
IG5hbWUsIG1vZGUsIGRldik7CiAgICAgICAgaWYgKEZTLmlzRGlyKG5vZGUubW9kZSkpIHsKICAg
ICAgICAgIG5vZGUubm9kZV9vcHMgPSBNRU1GUy5vcHNfdGFibGUuZGlyLm5vZGU7CiAgICAgICAg
ICBub2RlLnN0cmVhbV9vcHMgPSBNRU1GUy5vcHNfdGFibGUuZGlyLnN0cmVhbTsKICAgICAgICAg
IG5vZGUuY29udGVudHMgPSB7fTsKICAgICAgICB9IGVsc2UgaWYgKEZTLmlzRmlsZShub2RlLm1v
ZGUpKSB7CiAgICAgICAgICBub2RlLm5vZGVfb3BzID0gTUVNRlMub3BzX3RhYmxlLmZpbGUubm9k
ZTsKICAgICAgICAgIG5vZGUuc3RyZWFtX29wcyA9IE1FTUZTLm9wc190YWJsZS5maWxlLnN0cmVh
bTsKICAgICAgICAgIG5vZGUuY29udGVudHMgPSBbXTsKICAgICAgICAgIG5vZGUuY29udGVudE1v
ZGUgPSBNRU1GUy5DT05URU5UX0ZMRVhJQkxFOwogICAgICAgIH0gZWxzZSBpZiAoRlMuaXNMaW5r
KG5vZGUubW9kZSkpIHsKICAgICAgICAgIG5vZGUubm9kZV9vcHMgPSBNRU1GUy5vcHNfdGFibGUu
bGluay5ub2RlOwogICAgICAgICAgbm9kZS5zdHJlYW1fb3BzID0gTUVNRlMub3BzX3RhYmxlLmxp
bmsuc3RyZWFtOwogICAgICAgIH0gZWxzZSBpZiAoRlMuaXNDaHJkZXYobm9kZS5tb2RlKSkgewog
ICAgICAgICAgbm9kZS5ub2RlX29wcyA9IE1FTUZTLm9wc190YWJsZS5jaHJkZXYubm9kZTsKICAg
ICAgICAgIG5vZGUuc3RyZWFtX29wcyA9IE1FTUZTLm9wc190YWJsZS5jaHJkZXYuc3RyZWFtOwog
ICAgICAgIH0KICAgICAgICBub2RlLnRpbWVzdGFtcCA9IERhdGUubm93KCk7CiAgICAgICAgLy8g
YWRkIHRoZSBuZXcgbm9kZSB0byB0aGUgcGFyZW50CiAgICAgICAgaWYgKHBhcmVudCkgewogICAg
ICAgICAgcGFyZW50LmNvbnRlbnRzW25hbWVdID0gbm9kZTsKICAgICAgICB9CiAgICAgICAgcmV0
dXJuIG5vZGU7CiAgICAgIH0sZW5zdXJlRmxleGlibGU6ZnVuY3Rpb24gKG5vZGUpIHsKICAgICAg
ICBpZiAobm9kZS5jb250ZW50TW9kZSAhPT0gTUVNRlMuQ09OVEVOVF9GTEVYSUJMRSkgewogICAg
ICAgICAgdmFyIGNvbnRlbnRzID0gbm9kZS5jb250ZW50czsKICAgICAgICAgIG5vZGUuY29udGVu
dHMgPSBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChjb250ZW50cyk7CiAgICAgICAgICBub2Rl
LmNvbnRlbnRNb2RlID0gTUVNRlMuQ09OVEVOVF9GTEVYSUJMRTsKICAgICAgICB9CiAgICAgIH0s
bm9kZV9vcHM6e2dldGF0dHI6ZnVuY3Rpb24gKG5vZGUpIHsKICAgICAgICAgIHZhciBhdHRyID0g
e307CiAgICAgICAgICAvLyBkZXZpY2UgbnVtYmVycyByZXVzZSBpbm9kZSBudW1iZXJzLgogICAg
ICAgICAgYXR0ci5kZXYgPSBGUy5pc0NocmRldihub2RlLm1vZGUpID8gbm9kZS5pZCA6IDE7CiAg
ICAgICAgICBhdHRyLmlubyA9IG5vZGUuaWQ7CiAgICAgICAgICBhdHRyLm1vZGUgPSBub2RlLm1v
ZGU7CiAgICAgICAgICBhdHRyLm5saW5rID0gMTsKICAgICAgICAgIGF0dHIudWlkID0gMDsKICAg
ICAgICAgIGF0dHIuZ2lkID0gMDsKICAgICAgICAgIGF0dHIucmRldiA9IG5vZGUucmRldjsKICAg
ICAgICAgIGlmIChGUy5pc0Rpcihub2RlLm1vZGUpKSB7CiAgICAgICAgICAgIGF0dHIuc2l6ZSA9
IDQwOTY7CiAgICAgICAgICB9IGVsc2UgaWYgKEZTLmlzRmlsZShub2RlLm1vZGUpKSB7CiAgICAg
ICAgICAgIGF0dHIuc2l6ZSA9IG5vZGUuY29udGVudHMubGVuZ3RoOwogICAgICAgICAgfSBlbHNl
IGlmIChGUy5pc0xpbmsobm9kZS5tb2RlKSkgewogICAgICAgICAgICBhdHRyLnNpemUgPSBub2Rl
LmxpbmsubGVuZ3RoOwogICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgYXR0ci5zaXplID0g
MDsKICAgICAgICAgIH0KICAgICAgICAgIGF0dHIuYXRpbWUgPSBuZXcgRGF0ZShub2RlLnRpbWVz
dGFtcCk7CiAgICAgICAgICBhdHRyLm10aW1lID0gbmV3IERhdGUobm9kZS50aW1lc3RhbXApOwog
ICAgICAgICAgYXR0ci5jdGltZSA9IG5ldyBEYXRlKG5vZGUudGltZXN0YW1wKTsKICAgICAgICAg
IC8vIE5PVEU6IEluIG91ciBpbXBsZW1lbnRhdGlvbiwgc3RfYmxvY2tzID0gTWF0aC5jZWlsKHN0
X3NpemUvc3RfYmxrc2l6ZSksCiAgICAgICAgICAvLyAgICAgICBidXQgdGhpcyBpcyBub3QgcmVx
dWlyZWQgYnkgdGhlIHN0YW5kYXJkLgogICAgICAgICAgYXR0ci5ibGtzaXplID0gNDA5NjsKICAg
ICAgICAgIGF0dHIuYmxvY2tzID0gTWF0aC5jZWlsKGF0dHIuc2l6ZSAvIGF0dHIuYmxrc2l6ZSk7
CiAgICAgICAgICByZXR1cm4gYXR0cjsKICAgICAgICB9LHNldGF0dHI6ZnVuY3Rpb24gKG5vZGUs
IGF0dHIpIHsKICAgICAgICAgIGlmIChhdHRyLm1vZGUgIT09IHVuZGVmaW5lZCkgewogICAgICAg
ICAgICBub2RlLm1vZGUgPSBhdHRyLm1vZGU7CiAgICAgICAgICB9CiAgICAgICAgICBpZiAoYXR0
ci50aW1lc3RhbXAgIT09IHVuZGVmaW5lZCkgewogICAgICAgICAgICBub2RlLnRpbWVzdGFtcCA9
IGF0dHIudGltZXN0YW1wOwogICAgICAgICAgfQogICAgICAgICAgaWYgKGF0dHIuc2l6ZSAhPT0g
dW5kZWZpbmVkKSB7CiAgICAgICAgICAgIE1FTUZTLmVuc3VyZUZsZXhpYmxlKG5vZGUpOwogICAg
ICAgICAgICB2YXIgY29udGVudHMgPSBub2RlLmNvbnRlbnRzOwogICAgICAgICAgICBpZiAoYXR0
ci5zaXplIDwgY29udGVudHMubGVuZ3RoKSBjb250ZW50cy5sZW5ndGggPSBhdHRyLnNpemU7CiAg
ICAgICAgICAgIGVsc2Ugd2hpbGUgKGF0dHIuc2l6ZSA+IGNvbnRlbnRzLmxlbmd0aCkgY29udGVu
dHMucHVzaCgwKTsKICAgICAgICAgIH0KICAgICAgICB9LGxvb2t1cDpmdW5jdGlvbiAocGFyZW50
LCBuYW1lKSB7CiAgICAgICAgICB0aHJvdyBGUy5nZW5lcmljRXJyb3JzW0VSUk5PX0NPREVTLkVO
T0VOVF07CiAgICAgICAgfSxta25vZDpmdW5jdGlvbiAocGFyZW50LCBuYW1lLCBtb2RlLCBkZXYp
IHsKICAgICAgICAgIHJldHVybiBNRU1GUy5jcmVhdGVOb2RlKHBhcmVudCwgbmFtZSwgbW9kZSwg
ZGV2KTsKICAgICAgICB9LHJlbmFtZTpmdW5jdGlvbiAob2xkX25vZGUsIG5ld19kaXIsIG5ld19u
YW1lKSB7CiAgICAgICAgICAvLyBpZiB3ZSdyZSBvdmVyd3JpdGluZyBhIGRpcmVjdG9yeSBhdCBu
ZXdfbmFtZSwgbWFrZSBzdXJlIGl0J3MgZW1wdHkuCiAgICAgICAgICBpZiAoRlMuaXNEaXIob2xk
X25vZGUubW9kZSkpIHsKICAgICAgICAgICAgdmFyIG5ld19ub2RlOwogICAgICAgICAgICB0cnkg
ewogICAgICAgICAgICAgIG5ld19ub2RlID0gRlMubG9va3VwTm9kZShuZXdfZGlyLCBuZXdfbmFt
ZSk7CiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgICAgICAgfQogICAgICAgICAgICBp
ZiAobmV3X25vZGUpIHsKICAgICAgICAgICAgICBmb3IgKHZhciBpIGluIG5ld19ub2RlLmNvbnRl
bnRzKSB7CiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRlMuRXJybm9FcnJvcihFUlJOT19DT0RF
Uy5FTk9URU1QVFkpOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgfQog
ICAgICAgICAgLy8gZG8gdGhlIGludGVybmFsIHJld2lyaW5nCiAgICAgICAgICBkZWxldGUgb2xk
X25vZGUucGFyZW50LmNvbnRlbnRzW29sZF9ub2RlLm5hbWVdOwogICAgICAgICAgb2xkX25vZGUu
bmFtZSA9IG5ld19uYW1lOwogICAgICAgICAgbmV3X2Rpci5jb250ZW50c1tuZXdfbmFtZV0gPSBv
bGRfbm9kZTsKICAgICAgICAgIG9sZF9ub2RlLnBhcmVudCA9IG5ld19kaXI7CiAgICAgICAgfSx1
bmxpbms6ZnVuY3Rpb24gKHBhcmVudCwgbmFtZSkgewogICAgICAgICAgZGVsZXRlIHBhcmVudC5j
b250ZW50c1tuYW1lXTsKICAgICAgICB9LHJtZGlyOmZ1bmN0aW9uIChwYXJlbnQsIG5hbWUpIHsK
ICAgICAgICAgIHZhciBub2RlID0gRlMubG9va3VwTm9kZShwYXJlbnQsIG5hbWUpOwogICAgICAg
ICAgZm9yICh2YXIgaSBpbiBub2RlLmNvbnRlbnRzKSB7CiAgICAgICAgICAgIHRocm93IG5ldyBG
Uy5FcnJub0Vycm9yKEVSUk5PX0NPREVTLkVOT1RFTVBUWSk7CiAgICAgICAgICB9CiAgICAgICAg
ICBkZWxldGUgcGFyZW50LmNvbnRlbnRzW25hbWVdOwogICAgICAgIH0scmVhZGRpcjpmdW5jdGlv
biAobm9kZSkgewogICAgICAgICAgdmFyIGVudHJpZXMgPSBbJy4nLCAnLi4nXQogICAgICAgICAg
Zm9yICh2YXIga2V5IGluIG5vZGUuY29udGVudHMpIHsKICAgICAgICAgICAgaWYgKCFub2RlLmNv
bnRlbnRzLmhhc093blByb3BlcnR5KGtleSkpIHsKICAgICAgICAgICAgICBjb250aW51ZTsKICAg
ICAgICAgICAgfQogICAgICAgICAgICBlbnRyaWVzLnB1c2goa2V5KTsKICAgICAgICAgIH0KICAg
ICAgICAgIHJldHVybiBlbnRyaWVzOwogICAgICAgIH0sc3ltbGluazpmdW5jdGlvbiAocGFyZW50
LCBuZXduYW1lLCBvbGRwYXRoKSB7CiAgICAgICAgICB2YXIgbm9kZSA9IE1FTUZTLmNyZWF0ZU5v
ZGUocGFyZW50LCBuZXduYW1lLCA1MTEgLyogMDc3NyAqLyB8IDQwOTYwLCAwKTsKICAgICAgICAg
IG5vZGUubGluayA9IG9sZHBhdGg7CiAgICAgICAgICByZXR1cm4gbm9kZTsKICAgICAgICB9LHJl
YWRsaW5rOmZ1bmN0aW9uIChub2RlKSB7CiAgICAgICAgICBpZiAoIUZTLmlzTGluayhub2RlLm1v
ZGUpKSB7CiAgICAgICAgICAgIHRocm93IG5ldyBGUy5FcnJub0Vycm9yKEVSUk5PX0NPREVTLkVJ
TlZBTCk7CiAgICAgICAgICB9CiAgICAgICAgICByZXR1cm4gbm9kZS5saW5rOwogICAgICAgIH19
LHN0cmVhbV9vcHM6e3JlYWQ6ZnVuY3Rpb24gKHN0cmVhbSwgYnVmZmVyLCBvZmZzZXQsIGxlbmd0
aCwgcG9zaXRpb24pIHsKICAgICAgICAgIHZhciBjb250ZW50cyA9IHN0cmVhbS5ub2RlLmNvbnRl
bnRzOwogICAgICAgICAgaWYgKHBvc2l0aW9uID49IGNvbnRlbnRzLmxlbmd0aCkKICAgICAgICAg
ICAgcmV0dXJuIDA7CiAgICAgICAgICB2YXIgc2l6ZSA9IE1hdGgubWluKGNvbnRlbnRzLmxlbmd0
aCAtIHBvc2l0aW9uLCBsZW5ndGgpOwogICAgICAgICAgYXNzZXJ0KHNpemUgPj0gMCk7CiAgICAg
ICAgICBpZiAoc2l6ZSA+IDggJiYgY29udGVudHMuc3ViYXJyYXkpIHsgLy8gbm9uLXRyaXZpYWws
IGFuZCB0eXBlZCBhcnJheQogICAgICAgICAgICBidWZmZXIuc2V0KGNvbnRlbnRzLnN1YmFycmF5
KHBvc2l0aW9uLCBwb3NpdGlvbiArIHNpemUpLCBvZmZzZXQpOwogICAgICAgICAgfSBlbHNlCiAg
ICAgICAgICB7CiAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgc2l6ZTsgaSsrKSB7CiAg
ICAgICAgICAgICAgYnVmZmVyW29mZnNldCArIGldID0gY29udGVudHNbcG9zaXRpb24gKyBpXTsK
ICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgICAgcmV0dXJuIHNpemU7CiAgICAgICAg
fSx3cml0ZTpmdW5jdGlvbiAoc3RyZWFtLCBidWZmZXIsIG9mZnNldCwgbGVuZ3RoLCBwb3NpdGlv
biwgY2FuT3duKSB7CiAgICAgICAgICB2YXIgbm9kZSA9IHN0cmVhbS5ub2RlOwogICAgICAgICAg
bm9kZS50aW1lc3RhbXAgPSBEYXRlLm5vdygpOwogICAgICAgICAgdmFyIGNvbnRlbnRzID0gbm9k
ZS5jb250ZW50czsKICAgICAgICAgIGlmIChsZW5ndGggJiYgY29udGVudHMubGVuZ3RoID09PSAw
ICYmIHBvc2l0aW9uID09PSAwICYmIGJ1ZmZlci5zdWJhcnJheSkgewogICAgICAgICAgICAvLyBq
dXN0IHJlcGxhY2UgaXQgd2l0aCB0aGUgbmV3IGRhdGEKICAgICAgICAgICAgaWYgKGNhbk93biAm
JiBvZmZzZXQgPT09IDApIHsKICAgICAgICAgICAgICBub2RlLmNvbnRlbnRzID0gYnVmZmVyOyAv
LyB0aGlzIGNvdWxkIGJlIGEgc3ViYXJyYXkgb2YgRW1zY3JpcHRlbiBIRUFQLCBvciBhbGxvY2F0
ZWQgZnJvbSBzb21lIG90aGVyIHNvdXJjZS4KICAgICAgICAgICAgICBub2RlLmNvbnRlbnRNb2Rl
ID0gKGJ1ZmZlci5idWZmZXIgPT09IEhFQVA4LmJ1ZmZlcikgPyBNRU1GUy5DT05URU5UX09XTklO
RyA6IE1FTUZTLkNPTlRFTlRfRklYRUQ7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAg
ICAgbm9kZS5jb250ZW50cyA9IG5ldyBVaW50OEFycmF5KGJ1ZmZlci5zdWJhcnJheShvZmZzZXQs
IG9mZnNldCtsZW5ndGgpKTsKICAgICAgICAgICAgICBub2RlLmNvbnRlbnRNb2RlID0gTUVNRlMu
Q09OVEVOVF9GSVhFRDsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gbGVuZ3RoOwog
ICAgICAgICAgfQogICAgICAgICAgTUVNRlMuZW5zdXJlRmxleGlibGUobm9kZSk7CiAgICAgICAg
ICB2YXIgY29udGVudHMgPSBub2RlLmNvbnRlbnRzOwogICAgICAgICAgd2hpbGUgKGNvbnRlbnRz
Lmxlbmd0aCA8IHBvc2l0aW9uKSBjb250ZW50cy5wdXNoKDApOwogICAgICAgICAgZm9yICh2YXIg
aSA9IDA7IGkgPCBsZW5ndGg7IGkrKykgewogICAgICAgICAgICBjb250ZW50c1twb3NpdGlvbiAr
IGldID0gYnVmZmVyW29mZnNldCArIGldOwogICAgICAgICAgfQogICAgICAgICAgcmV0dXJuIGxl
bmd0aDsKICAgICAgICB9LGxsc2VlazpmdW5jdGlvbiAoc3RyZWFtLCBvZmZzZXQsIHdoZW5jZSkg
ewogICAgICAgICAgdmFyIHBvc2l0aW9uID0gb2Zmc2V0OwogICAgICAgICAgaWYgKHdoZW5jZSA9
PT0gMSkgeyAgLy8gU0VFS19DVVIuCiAgICAgICAgICAgIHBvc2l0aW9uICs9IHN0cmVhbS5wb3Np
dGlvbjsKICAgICAgICAgIH0gZWxzZSBpZiAod2hlbmNlID09PSAyKSB7ICAvLyBTRUVLX0VORC4K
ICAgICAgICAgICAgaWYgKEZTLmlzRmlsZShzdHJlYW0ubm9kZS5tb2RlKSkgewogICAgICAgICAg
ICAgIHBvc2l0aW9uICs9IHN0cmVhbS5ub2RlLmNvbnRlbnRzLmxlbmd0aDsKICAgICAgICAgICAg
fQogICAgICAgICAgfQogICAgICAgICAgaWYgKHBvc2l0aW9uIDwgMCkgewogICAgICAgICAgICB0
aHJvdyBuZXcgRlMuRXJybm9FcnJvcihFUlJOT19DT0RFUy5FSU5WQUwpOwogICAgICAgICAgfQog
ICAgICAgICAgc3RyZWFtLnVuZ290dGVuID0gW107CiAgICAgICAgICBzdHJlYW0ucG9zaXRpb24g
PSBwb3NpdGlvbjsKICAgICAgICAgIHJldHVybiBwb3NpdGlvbjsKICAgICAgICB9LGFsbG9jYXRl
OmZ1bmN0aW9uIChzdHJlYW0sIG9mZnNldCwgbGVuZ3RoKSB7CiAgICAgICAgICBNRU1GUy5lbnN1
cmVGbGV4aWJsZShzdHJlYW0ubm9kZSk7CiAgICAgICAgICB2YXIgY29udGVudHMgPSBzdHJlYW0u
bm9kZS5jb250ZW50czsKICAgICAgICAgIHZhciBsaW1pdCA9IG9mZnNldCArIGxlbmd0aDsKICAg
ICAgICAgIHdoaWxlIChsaW1pdCA+IGNvbnRlbnRzLmxlbmd0aCkgY29udGVudHMucHVzaCgwKTsK
ICAgICAgICB9LG1tYXA6ZnVuY3Rpb24gKHN0cmVhbSwgYnVmZmVyLCBvZmZzZXQsIGxlbmd0aCwg
cG9zaXRpb24sIHByb3QsIGZsYWdzKSB7CiAgICAgICAgICBpZiAoIUZTLmlzRmlsZShzdHJlYW0u
bm9kZS5tb2RlKSkgewogICAgICAgICAgICB0aHJvdyBuZXcgRlMuRXJybm9FcnJvcihFUlJOT19D
T0RFUy5FTk9ERVYpOwogICAgICAgICAgfQogICAgICAgICAgdmFyIHB0cjsKICAgICAgICAgIHZh
ciBhbGxvY2F0ZWQ7CiAgICAgICAgICB2YXIgY29udGVudHMgPSBzdHJlYW0ubm9kZS5jb250ZW50
czsKICAgICAgICAgIC8vIE9ubHkgbWFrZSBhIG5ldyBjb3B5IHdoZW4gTUFQX1BSSVZBVEUgaXMg
c3BlY2lmaWVkLgogICAgICAgICAgaWYgKCAhKGZsYWdzICYgMikgJiYKICAgICAgICAgICAgICAg
IChjb250ZW50cy5idWZmZXIgPT09IGJ1ZmZlciB8fCBjb250ZW50cy5idWZmZXIgPT09IGJ1ZmZl
ci5idWZmZXIpICkgewogICAgICAgICAgICAvLyBXZSBjYW4ndCBlbXVsYXRlIE1BUF9TSEFSRUQg
d2hlbiB0aGUgZmlsZSBpcyBub3QgYmFja2VkIGJ5IHRoZSBidWZmZXIKICAgICAgICAgICAgLy8g
d2UncmUgbWFwcGluZyB0byAoZS5nLiB0aGUgSEVBUCBidWZmZXIpLgogICAgICAgICAgICBhbGxv
Y2F0ZWQgPSBmYWxzZTsKICAgICAgICAgICAgcHRyID0gY29udGVudHMuYnl0ZU9mZnNldDsKICAg
ICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIC8vIFRyeSB0byBhdm9pZCB1bm5lY2Vzc2FyeSBz
bGljZXMuCiAgICAgICAgICAgIGlmIChwb3NpdGlvbiA+IDAgfHwgcG9zaXRpb24gKyBsZW5ndGgg
PCBjb250ZW50cy5sZW5ndGgpIHsKICAgICAgICAgICAgICBpZiAoY29udGVudHMuc3ViYXJyYXkp
IHsKICAgICAgICAgICAgICAgIGNvbnRlbnRzID0gY29udGVudHMuc3ViYXJyYXkocG9zaXRpb24s
IHBvc2l0aW9uICsgbGVuZ3RoKTsKICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAg
ICAgY29udGVudHMgPSBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChjb250ZW50cywgcG9zaXRp
b24sIHBvc2l0aW9uICsgbGVuZ3RoKTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAg
ICAgICAgICAgYWxsb2NhdGVkID0gdHJ1ZTsKICAgICAgICAgICAgcHRyID0gX21hbGxvYyhsZW5n
dGgpOwogICAgICAgICAgICBpZiAoIXB0cikgewogICAgICAgICAgICAgIHRocm93IG5ldyBGUy5F
cnJub0Vycm9yKEVSUk5PX0NPREVTLkVOT01FTSk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAg
YnVmZmVyLnNldChjb250ZW50cywgcHRyKTsKICAgICAgICAgIH0KICAgICAgICAgIHJldHVybiB7
IHB0cjogcHRyLCBhbGxvY2F0ZWQ6IGFsbG9jYXRlZCB9OwogICAgICAgIH19fTsKICAKICB2YXIg
SURCRlM9e2Riczp7fSxpbmRleGVkREI6ZnVuY3Rpb24gKCkgewogICAgICAgIHJldHVybiB3aW5k
b3cuaW5kZXhlZERCIHx8IHdpbmRvdy5tb3pJbmRleGVkREIgfHwgd2luZG93LndlYmtpdEluZGV4
ZWREQiB8fCB3aW5kb3cubXNJbmRleGVkREI7CiAgICAgIH0sREJfVkVSU0lPTjoyMSxEQl9TVE9S
RV9OQU1FOiJGSUxFX0RBVEEiLG1vdW50OmZ1bmN0aW9uIChtb3VudCkgewogICAgICAgIC8vIHJl
dXNlIGFsbCBvZiB0aGUgY29yZSBNRU1GUyBmdW5jdGlvbmFsaXR5CiAgICAgICAgcmV0dXJuIE1F
TUZTLm1vdW50LmFwcGx5KG51bGwsIGFyZ3VtZW50cyk7CiAgICAgIH0sc3luY2ZzOmZ1bmN0aW9u
IChtb3VudCwgcG9wdWxhdGUsIGNhbGxiYWNrKSB7CiAgICAgICAgSURCRlMuZ2V0TG9jYWxTZXQo
bW91bnQsIGZ1bmN0aW9uKGVyciwgbG9jYWwpIHsKICAgICAgICAgIGlmIChlcnIpIHJldHVybiBj
YWxsYmFjayhlcnIpOwogIAogICAgICAgICAgSURCRlMuZ2V0UmVtb3RlU2V0KG1vdW50LCBmdW5j
dGlvbihlcnIsIHJlbW90ZSkgewogICAgICAgICAgICBpZiAoZXJyKSByZXR1cm4gY2FsbGJhY2so
ZXJyKTsKICAKICAgICAgICAgICAgdmFyIHNyYyA9IHBvcHVsYXRlID8gcmVtb3RlIDogbG9jYWw7
CiAgICAgICAgICAgIHZhciBkc3QgPSBwb3B1bGF0ZSA/IGxvY2FsIDogcmVtb3RlOwogIAogICAg
ICAgICAgICBJREJGUy5yZWNvbmNpbGUoc3JjLCBkc3QsIGNhbGxiYWNrKTsKICAgICAgICAgIH0p
OwogICAgICAgIH0pOwogICAgICB9LGdldERCOmZ1bmN0aW9uIChuYW1lLCBjYWxsYmFjaykgewog
ICAgICAgIC8vIGNoZWNrIHRoZSBjYWNoZSBmaXJzdAogICAgICAgIHZhciBkYiA9IElEQkZTLmRi
c1tuYW1lXTsKICAgICAgICBpZiAoZGIpIHsKICAgICAgICAgIHJldHVybiBjYWxsYmFjayhudWxs
LCBkYik7CiAgICAgICAgfQogIAogICAgICAgIHZhciByZXE7CiAgICAgICAgdHJ5IHsKICAgICAg
ICAgIHJlcSA9IElEQkZTLmluZGV4ZWREQigpLm9wZW4obmFtZSwgSURCRlMuREJfVkVSU0lPTik7
CiAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgcmV0dXJuIGNhbGxiYWNrKGUpOwogICAg
ICAgIH0KICAgICAgICByZXEub251cGdyYWRlbmVlZGVkID0gZnVuY3Rpb24oZSkgewogICAgICAg
ICAgdmFyIGRiID0gZS50YXJnZXQucmVzdWx0OwogICAgICAgICAgdmFyIHRyYW5zYWN0aW9uID0g
ZS50YXJnZXQudHJhbnNhY3Rpb247CiAgCiAgICAgICAgICB2YXIgZmlsZVN0b3JlOwogIAogICAg
ICAgICAgaWYgKGRiLm9iamVjdFN0b3JlTmFtZXMuY29udGFpbnMoSURCRlMuREJfU1RPUkVfTkFN
RSkpIHsKICAgICAgICAgICAgZmlsZVN0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoSURC
RlMuREJfU1RPUkVfTkFNRSk7CiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBmaWxlU3Rv
cmUgPSBkYi5jcmVhdGVPYmplY3RTdG9yZShJREJGUy5EQl9TVE9SRV9OQU1FKTsKICAgICAgICAg
IH0KICAKICAgICAgICAgIGZpbGVTdG9yZS5jcmVhdGVJbmRleCgndGltZXN0YW1wJywgJ3RpbWVz
dGFtcCcsIHsgdW5pcXVlOiBmYWxzZSB9KTsKICAgICAgICB9OwogICAgICAgIHJlcS5vbnN1Y2Nl
c3MgPSBmdW5jdGlvbigpIHsKICAgICAgICAgIGRiID0gcmVxLnJlc3VsdDsKICAKICAgICAgICAg
IC8vIGFkZCB0byB0aGUgY2FjaGUKICAgICAgICAgIElEQkZTLmRic1tuYW1lXSA9IGRiOwogICAg
ICAgICAgY2FsbGJhY2sobnVsbCwgZGIpOwogICAgICAgIH07CiAgICAgICAgcmVxLm9uZXJyb3Ig
PSBmdW5jdGlvbigpIHsKICAgICAgICAgIGNhbGxiYWNrKHRoaXMuZXJyb3IpOwogICAgICAgIH07
CiAgICAgIH0sZ2V0TG9jYWxTZXQ6ZnVuY3Rpb24gKG1vdW50LCBjYWxsYmFjaykgewogICAgICAg
IHZhciBlbnRyaWVzID0ge307CiAgCiAgICAgICAgZnVuY3Rpb24gaXNSZWFsRGlyKHApIHsKICAg
ICAgICAgIHJldHVybiBwICE9PSAnLicgJiYgcCAhPT0gJy4uJzsKICAgICAgICB9OwogICAgICAg
IGZ1bmN0aW9uIHRvQWJzb2x1dGUocm9vdCkgewogICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uKHAp
IHsKICAgICAgICAgICAgcmV0dXJuIFBBVEguam9pbjIocm9vdCwgcCk7CiAgICAgICAgICB9CiAg
ICAgICAgfTsKICAKICAgICAgICB2YXIgY2hlY2sgPSBGUy5yZWFkZGlyKG1vdW50Lm1vdW50cG9p
bnQpLmZpbHRlcihpc1JlYWxEaXIpLm1hcCh0b0Fic29sdXRlKG1vdW50Lm1vdW50cG9pbnQpKTsK
ICAKICAgICAgICB3aGlsZSAoY2hlY2subGVuZ3RoKSB7CiAgICAgICAgICB2YXIgcGF0aCA9IGNo
ZWNrLnBvcCgpOwogICAgICAgICAgdmFyIHN0YXQ7CiAgCiAgICAgICAgICB0cnkgewogICAgICAg
ICAgICBzdGF0ID0gRlMuc3RhdChwYXRoKTsKICAgICAgICAgIH0gY2F0Y2ggKGUpIHsKICAgICAg
ICAgICAgcmV0dXJuIGNhbGxiYWNrKGUpOwogICAgICAgICAgfQogIAogICAgICAgICAgaWYgKEZT
LmlzRGlyKHN0YXQubW9kZSkpIHsKICAgICAgICAgICAgY2hlY2sucHVzaC5hcHBseShjaGVjaywg
RlMucmVhZGRpcihwYXRoKS5maWx0ZXIoaXNSZWFsRGlyKS5tYXAodG9BYnNvbHV0ZShwYXRoKSkp
OwogICAgICAgICAgfQogIAogICAgICAgICAgZW50cmllc1twYXRoXSA9IHsgdGltZXN0YW1wOiBz
dGF0Lm10aW1lIH07CiAgICAgICAgfQogIAogICAgICAgIHJldHVybiBjYWxsYmFjayhudWxsLCB7
IHR5cGU6ICdsb2NhbCcsIGVudHJpZXM6IGVudHJpZXMgfSk7CiAgICAgIH0sZ2V0UmVtb3RlU2V0
OmZ1bmN0aW9uIChtb3VudCwgY2FsbGJhY2spIHsKICAgICAgICB2YXIgZW50cmllcyA9IHt9Owog
IAogICAgICAgIElEQkZTLmdldERCKG1vdW50Lm1vdW50cG9pbnQsIGZ1bmN0aW9uKGVyciwgZGIp
IHsKICAgICAgICAgIGlmIChlcnIpIHJldHVybiBjYWxsYmFjayhlcnIpOwogIAogICAgICAgICAg
dmFyIHRyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24oW0lEQkZTLkRCX1NUT1JFX05BTUVdLCAn
cmVhZG9ubHknKTsKICAgICAgICAgIHRyYW5zYWN0aW9uLm9uZXJyb3IgPSBmdW5jdGlvbigpIHsg
Y2FsbGJhY2sodGhpcy5lcnJvcik7IH07CiAgCiAgICAgICAgICB2YXIgc3RvcmUgPSB0cmFuc2Fj
dGlvbi5vYmplY3RTdG9yZShJREJGUy5EQl9TVE9SRV9OQU1FKTsKICAgICAgICAgIHZhciBpbmRl
eCA9IHN0b3JlLmluZGV4KCd0aW1lc3RhbXAnKTsKICAKICAgICAgICAgIGluZGV4Lm9wZW5LZXlD
dXJzb3IoKS5vbnN1Y2Nlc3MgPSBmdW5jdGlvbihldmVudCkgewogICAgICAgICAgICB2YXIgY3Vy
c29yID0gZXZlbnQudGFyZ2V0LnJlc3VsdDsKICAKICAgICAgICAgICAgaWYgKCFjdXJzb3IpIHsK
ICAgICAgICAgICAgICByZXR1cm4gY2FsbGJhY2sobnVsbCwgeyB0eXBlOiAncmVtb3RlJywgZGI6
IGRiLCBlbnRyaWVzOiBlbnRyaWVzIH0pOwogICAgICAgICAgICB9CiAgCiAgICAgICAgICAgIGVu
dHJpZXNbY3Vyc29yLnByaW1hcnlLZXldID0geyB0aW1lc3RhbXA6IGN1cnNvci5rZXkgfTsKICAK
ICAgICAgICAgICAgY3Vyc29yLmNvbnRpbnVlKCk7CiAgICAgICAgICB9OwogICAgICAgIH0pOwog
ICAgICB9LGxvYWRMb2NhbEVudHJ5OmZ1bmN0aW9uIChwYXRoLCBjYWxsYmFjaykgewogICAgICAg
IHZhciBzdGF0LCBub2RlOwogIAogICAgICAgIHRyeSB7CiAgICAgICAgICB2YXIgbG9va3VwID0g
RlMubG9va3VwUGF0aChwYXRoKTsKICAgICAgICAgIG5vZGUgPSBsb29rdXAubm9kZTsKICAgICAg
ICAgIHN0YXQgPSBGUy5zdGF0KHBhdGgpOwogICAgICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgICAg
IHJldHVybiBjYWxsYmFjayhlKTsKICAgICAgICB9CiAgCiAgICAgICAgaWYgKEZTLmlzRGlyKHN0
YXQubW9kZSkpIHsKICAgICAgICAgIHJldHVybiBjYWxsYmFjayhudWxsLCB7IHRpbWVzdGFtcDog
c3RhdC5tdGltZSwgbW9kZTogc3RhdC5tb2RlIH0pOwogICAgICAgIH0gZWxzZSBpZiAoRlMuaXNG
aWxlKHN0YXQubW9kZSkpIHsKICAgICAgICAgIHJldHVybiBjYWxsYmFjayhudWxsLCB7IHRpbWVz
dGFtcDogc3RhdC5tdGltZSwgbW9kZTogc3RhdC5tb2RlLCBjb250ZW50czogbm9kZS5jb250ZW50
cyB9KTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgcmV0dXJuIGNhbGxiYWNrKG5ldyBFcnJv
cignbm9kZSB0eXBlIG5vdCBzdXBwb3J0ZWQnKSk7CiAgICAgICAgfQogICAgICB9LHN0b3JlTG9j
YWxFbnRyeTpmdW5jdGlvbiAocGF0aCwgZW50cnksIGNhbGxiYWNrKSB7CiAgICAgICAgdHJ5IHsK
ICAgICAgICAgIGlmIChGUy5pc0RpcihlbnRyeS5tb2RlKSkgewogICAgICAgICAgICBGUy5ta2Rp
cihwYXRoLCBlbnRyeS5tb2RlKTsKICAgICAgICAgIH0gZWxzZSBpZiAoRlMuaXNGaWxlKGVudHJ5
Lm1vZGUpKSB7CiAgICAgICAgICAgIEZTLndyaXRlRmlsZShwYXRoLCBlbnRyeS5jb250ZW50cywg
eyBlbmNvZGluZzogJ2JpbmFyeScsIGNhbk93bjogdHJ1ZSB9KTsKICAgICAgICAgIH0gZWxzZSB7
CiAgICAgICAgICAgIHJldHVybiBjYWxsYmFjayhuZXcgRXJyb3IoJ25vZGUgdHlwZSBub3Qgc3Vw
cG9ydGVkJykpOwogICAgICAgICAgfQogIAogICAgICAgICAgRlMudXRpbWUocGF0aCwgZW50cnku
dGltZXN0YW1wLCBlbnRyeS50aW1lc3RhbXApOwogICAgICAgIH0gY2F0Y2ggKGUpIHsKICAgICAg
ICAgIHJldHVybiBjYWxsYmFjayhlKTsKICAgICAgICB9CiAgCiAgICAgICAgY2FsbGJhY2sobnVs
bCk7CiAgICAgIH0scmVtb3ZlTG9jYWxFbnRyeTpmdW5jdGlvbiAocGF0aCwgY2FsbGJhY2spIHsK
ICAgICAgICB0cnkgewogICAgICAgICAgdmFyIGxvb2t1cCA9IEZTLmxvb2t1cFBhdGgocGF0aCk7
CiAgICAgICAgICB2YXIgc3RhdCA9IEZTLnN0YXQocGF0aCk7CiAgCiAgICAgICAgICBpZiAoRlMu
aXNEaXIoc3RhdC5tb2RlKSkgewogICAgICAgICAgICBGUy5ybWRpcihwYXRoKTsKICAgICAgICAg
IH0gZWxzZSBpZiAoRlMuaXNGaWxlKHN0YXQubW9kZSkpIHsKICAgICAgICAgICAgRlMudW5saW5r
KHBhdGgpOwogICAgICAgICAgfQogICAgICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgICAgIHJldHVy
biBjYWxsYmFjayhlKTsKICAgICAgICB9CiAgCiAgICAgICAgY2FsbGJhY2sobnVsbCk7CiAgICAg
IH0sbG9hZFJlbW90ZUVudHJ5OmZ1bmN0aW9uIChzdG9yZSwgcGF0aCwgY2FsbGJhY2spIHsKICAg
ICAgICB2YXIgcmVxID0gc3RvcmUuZ2V0KHBhdGgpOwogICAgICAgIHJlcS5vbnN1Y2Nlc3MgPSBm
dW5jdGlvbihldmVudCkgeyBjYWxsYmFjayhudWxsLCBldmVudC50YXJnZXQucmVzdWx0KTsgfTsK
ICAgICAgICByZXEub25lcnJvciA9IGZ1bmN0aW9uKCkgeyBjYWxsYmFjayh0aGlzLmVycm9yKTsg
fTsKICAgICAgfSxzdG9yZVJlbW90ZUVudHJ5OmZ1bmN0aW9uIChzdG9yZSwgcGF0aCwgZW50cnks
IGNhbGxiYWNrKSB7CiAgICAgICAgdmFyIHJlcSA9IHN0b3JlLnB1dChlbnRyeSwgcGF0aCk7CiAg
ICAgICAgcmVxLm9uc3VjY2VzcyA9IGZ1bmN0aW9uKCkgeyBjYWxsYmFjayhudWxsKTsgfTsKICAg
ICAgICByZXEub25lcnJvciA9IGZ1bmN0aW9uKCkgeyBjYWxsYmFjayh0aGlzLmVycm9yKTsgfTsK
ICAgICAgfSxyZW1vdmVSZW1vdGVFbnRyeTpmdW5jdGlvbiAoc3RvcmUsIHBhdGgsIGNhbGxiYWNr
KSB7CiAgICAgICAgdmFyIHJlcSA9IHN0b3JlLmRlbGV0ZShwYXRoKTsKICAgICAgICByZXEub25z
dWNjZXNzID0gZnVuY3Rpb24oKSB7IGNhbGxiYWNrKG51bGwpOyB9OwogICAgICAgIHJlcS5vbmVy
cm9yID0gZnVuY3Rpb24oKSB7IGNhbGxiYWNrKHRoaXMuZXJyb3IpOyB9OwogICAgICB9LHJlY29u
Y2lsZTpmdW5jdGlvbiAoc3JjLCBkc3QsIGNhbGxiYWNrKSB7CiAgICAgICAgdmFyIHRvdGFsID0g
MDsKICAKICAgICAgICB2YXIgY3JlYXRlID0gW107CiAgICAgICAgT2JqZWN0LmtleXMoc3JjLmVu
dHJpZXMpLmZvckVhY2goZnVuY3Rpb24gKGtleSkgewogICAgICAgICAgdmFyIGUgPSBzcmMuZW50
cmllc1trZXldOwogICAgICAgICAgdmFyIGUyID0gZHN0LmVudHJpZXNba2V5XTsKICAgICAgICAg
IGlmICghZTIgfHwgZS50aW1lc3RhbXAgPiBlMi50aW1lc3RhbXApIHsKICAgICAgICAgICAgY3Jl
YXRlLnB1c2goa2V5KTsKICAgICAgICAgICAgdG90YWwrKzsKICAgICAgICAgIH0KICAgICAgICB9
KTsKICAKICAgICAgICB2YXIgcmVtb3ZlID0gW107CiAgICAgICAgT2JqZWN0LmtleXMoZHN0LmVu
dHJpZXMpLmZvckVhY2goZnVuY3Rpb24gKGtleSkgewogICAgICAgICAgdmFyIGUgPSBkc3QuZW50
cmllc1trZXldOwogICAgICAgICAgdmFyIGUyID0gc3JjLmVudHJpZXNba2V5XTsKICAgICAgICAg
IGlmICghZTIpIHsKICAgICAgICAgICAgcmVtb3ZlLnB1c2goa2V5KTsKICAgICAgICAgICAgdG90
YWwrKzsKICAgICAgICAgIH0KICAgICAgICB9KTsKICAKICAgICAgICBpZiAoIXRvdGFsKSB7CiAg
ICAgICAgICByZXR1cm4gY2FsbGJhY2sobnVsbCk7CiAgICAgICAgfQogIAogICAgICAgIHZhciBl
cnJvcmVkID0gZmFsc2U7CiAgICAgICAgdmFyIGNvbXBsZXRlZCA9IDA7CiAgICAgICAgdmFyIGRi
ID0gc3JjLnR5cGUgPT09ICdyZW1vdGUnID8gc3JjLmRiIDogZHN0LmRiOwogICAgICAgIHZhciB0
cmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKFtJREJGUy5EQl9TVE9SRV9OQU1FXSwgJ3JlYWR3
cml0ZScpOwogICAgICAgIHZhciBzdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKElEQkZT
LkRCX1NUT1JFX05BTUUpOwogIAogICAgICAgIGZ1bmN0aW9uIGRvbmUoZXJyKSB7CiAgICAgICAg
ICBpZiAoZXJyKSB7CiAgICAgICAgICAgIGlmICghZG9uZS5lcnJvcmVkKSB7CiAgICAgICAgICAg
ICAgZG9uZS5lcnJvcmVkID0gdHJ1ZTsKICAgICAgICAgICAgICByZXR1cm4gY2FsbGJhY2soZXJy
KTsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm47CiAgICAgICAgICB9CiAgICAgICAg
ICBpZiAoKytjb21wbGV0ZWQgPj0gdG90YWwpIHsKICAgICAgICAgICAgcmV0dXJuIGNhbGxiYWNr
KG51bGwpOwogICAgICAgICAgfQogICAgICAgIH07CiAgCiAgICAgICAgdHJhbnNhY3Rpb24ub25l
cnJvciA9IGZ1bmN0aW9uKCkgeyBkb25lKHRoaXMuZXJyb3IpOyB9OwogIAogICAgICAgIC8vIHNv
cnQgcGF0aHMgaW4gYXNjZW5kaW5nIG9yZGVyIHNvIGRpcmVjdG9yeSBlbnRyaWVzIGFyZSBjcmVh
dGVkCiAgICAgICAgLy8gYmVmb3JlIHRoZSBmaWxlcyBpbnNpZGUgdGhlbQogICAgICAgIGNyZWF0
ZS5zb3J0KCkuZm9yRWFjaChmdW5jdGlvbiAocGF0aCkgewogICAgICAgICAgaWYgKGRzdC50eXBl
ID09PSAnbG9jYWwnKSB7CiAgICAgICAgICAgIElEQkZTLmxvYWRSZW1vdGVFbnRyeShzdG9yZSwg
cGF0aCwgZnVuY3Rpb24gKGVyciwgZW50cnkpIHsKICAgICAgICAgICAgICBpZiAoZXJyKSByZXR1
cm4gZG9uZShlcnIpOwogICAgICAgICAgICAgIElEQkZTLnN0b3JlTG9jYWxFbnRyeShwYXRoLCBl
bnRyeSwgZG9uZSk7CiAgICAgICAgICAgIH0pOwogICAgICAgICAgfSBlbHNlIHsKICAgICAgICAg
ICAgSURCRlMubG9hZExvY2FsRW50cnkocGF0aCwgZnVuY3Rpb24gKGVyciwgZW50cnkpIHsKICAg
ICAgICAgICAgICBpZiAoZXJyKSByZXR1cm4gZG9uZShlcnIpOwogICAgICAgICAgICAgIElEQkZT
LnN0b3JlUmVtb3RlRW50cnkoc3RvcmUsIHBhdGgsIGVudHJ5LCBkb25lKTsKICAgICAgICAgICAg
fSk7CiAgICAgICAgICB9CiAgICAgICAgfSk7CiAgCiAgICAgICAgLy8gc29ydCBwYXRocyBpbiBk
ZXNjZW5kaW5nIG9yZGVyIHNvIGZpbGVzIGFyZSBkZWxldGVkIGJlZm9yZSB0aGVpcgogICAgICAg
IC8vIHBhcmVudCBkaXJlY3RvcmllcwogICAgICAgIHJlbW92ZS5zb3J0KCkucmV2ZXJzZSgpLmZv
ckVhY2goZnVuY3Rpb24ocGF0aCkgewogICAgICAgICAgaWYgKGRzdC50eXBlID09PSAnbG9jYWwn
KSB7CiAgICAgICAgICAgIElEQkZTLnJlbW92ZUxvY2FsRW50cnkocGF0aCwgZG9uZSk7CiAgICAg
ICAgICB9IGVsc2UgewogICAgICAgICAgICBJREJGUy5yZW1vdmVSZW1vdGVFbnRyeShzdG9yZSwg
cGF0aCwgZG9uZSk7CiAgICAgICAgICB9CiAgICAgICAgfSk7CiAgICAgIH19OwogIAogIHZhciBO
T0RFRlM9e2lzV2luZG93czpmYWxzZSxzdGF0aWNJbml0OmZ1bmN0aW9uICgpIHsKICAgICAgICBO
T0RFRlMuaXNXaW5kb3dzID0gISFwcm9jZXNzLnBsYXRmb3JtLm1hdGNoKC9ed2luLyk7CiAgICAg
IH0sbW91bnQ6ZnVuY3Rpb24gKG1vdW50KSB7CiAgICAgICAgYXNzZXJ0KEVOVklST05NRU5UX0lT
X05PREUpOwogICAgICAgIHJldHVybiBOT0RFRlMuY3JlYXRlTm9kZShudWxsLCAnLycsIE5PREVG
Uy5nZXRNb2RlKG1vdW50Lm9wdHMucm9vdCksIDApOwogICAgICB9LGNyZWF0ZU5vZGU6ZnVuY3Rp
b24gKHBhcmVudCwgbmFtZSwgbW9kZSwgZGV2KSB7CiAgICAgICAgaWYgKCFGUy5pc0Rpcihtb2Rl
KSAmJiAhRlMuaXNGaWxlKG1vZGUpICYmICFGUy5pc0xpbmsobW9kZSkpIHsKICAgICAgICAgIHRo
cm93IG5ldyBGUy5FcnJub0Vycm9yKEVSUk5PX0NPREVTLkVJTlZBTCk7CiAgICAgICAgfQogICAg
ICAgIHZhciBub2RlID0gRlMuY3JlYXRlTm9kZShwYXJlbnQsIG5hbWUsIG1vZGUpOwogICAgICAg
IG5vZGUubm9kZV9vcHMgPSBOT0RFRlMubm9kZV9vcHM7CiAgICAgICAgbm9kZS5zdHJlYW1fb3Bz
ID0gTk9ERUZTLnN0cmVhbV9vcHM7CiAgICAgICAgcmV0dXJuIG5vZGU7CiAgICAgIH0sZ2V0TW9k
ZTpmdW5jdGlvbiAocGF0aCkgewogICAgICAgIHZhciBzdGF0OwogICAgICAgIHRyeSB7CiAgICAg
ICAgICBzdGF0ID0gZnMubHN0YXRTeW5jKHBhdGgpOwogICAgICAgICAgaWYgKE5PREVGUy5pc1dp
bmRvd3MpIHsKICAgICAgICAgICAgLy8gT24gV2luZG93cywgZGlyZWN0b3JpZXMgcmV0dXJuIHBl
cm1pc3Npb24gYml0cyAncnctcnctcnctJywgZXZlbiB0aG91Z2ggdGhleSBoYXZlICdyd3hyd3hy
d3gnLCBzbyAKICAgICAgICAgICAgLy8gcHJvcGFnYXRlIHdyaXRlIGJpdHMgdG8gZXhlY3V0ZSBi
aXRzLgogICAgICAgICAgICBzdGF0Lm1vZGUgPSBzdGF0Lm1vZGUgfCAoKHN0YXQubW9kZSAmIDE0
NikgPj4gMSk7CiAgICAgICAgICB9CiAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgaWYg
KCFlLmNvZGUpIHRocm93IGU7CiAgICAgICAgICB0aHJvdyBuZXcgRlMuRXJybm9FcnJvcihFUlJO
T19DT0RFU1tlLmNvZGVdKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIHN0YXQubW9kZTsKICAg
ICAgfSxyZWFsUGF0aDpmdW5jdGlvbiAobm9kZSkgewogICAgICAgIHZhciBwYXJ0cyA9IFtdOwog
ICAgICAgIHdoaWxlIChub2RlLnBhcmVudCAhPT0gbm9kZSkgewogICAgICAgICAgcGFydHMucHVz
aChub2RlLm5hbWUpOwogICAgICAgICAgbm9kZSA9IG5vZGUucGFyZW50OwogICAgICAgIH0KICAg
ICAgICBwYXJ0cy5wdXNoKG5vZGUubW91bnQub3B0cy5yb290KTsKICAgICAgICBwYXJ0cy5yZXZl
cnNlKCk7CiAgICAgICAgcmV0dXJuIFBBVEguam9pbi5hcHBseShudWxsLCBwYXJ0cyk7CiAgICAg
IH0sZmxhZ3NUb1Blcm1pc3Npb25TdHJpbmdNYXA6ezA6InIiLDE6InIrIiwyOiJyKyIsNjQ6InIi
LDY1OiJyKyIsNjY6InIrIiwxMjk6InJ4KyIsMTkzOiJyeCsiLDUxNDoidysiLDU3NzoidyIsNTc4
OiJ3KyIsNzA1OiJ3eCIsNzA2OiJ3eCsiLDEwMjQ6ImEiLDEwMjU6ImEiLDEwMjY6ImErIiwxMDg5
OiJhIiwxMDkwOiJhKyIsMTE1MzoiYXgiLDExNTQ6ImF4KyIsMTIxNzoiYXgiLDEyMTg6ImF4KyIs
NDA5NjoicnMiLDQwOTg6InJzKyJ9LGZsYWdzVG9QZXJtaXNzaW9uU3RyaW5nOmZ1bmN0aW9uIChm
bGFncykgewogICAgICAgIGlmIChmbGFncyBpbiBOT0RFRlMuZmxhZ3NUb1Blcm1pc3Npb25TdHJp
bmdNYXApIHsKICAgICAgICAgIHJldHVybiBOT0RFRlMuZmxhZ3NUb1Blcm1pc3Npb25TdHJpbmdN
YXBbZmxhZ3NdOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICByZXR1cm4gZmxhZ3M7CiAgICAg
ICAgfQogICAgICB9LG5vZGVfb3BzOntnZXRhdHRyOmZ1bmN0aW9uIChub2RlKSB7CiAgICAgICAg
ICB2YXIgcGF0aCA9IE5PREVGUy5yZWFsUGF0aChub2RlKTsKICAgICAgICAgIHZhciBzdGF0Owog
ICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgc3RhdCA9IGZzLmxzdGF0U3luYyhwYXRoKTsKICAg
ICAgICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgICAgICAgaWYgKCFlLmNvZGUpIHRocm93IGU7CiAg
ICAgICAgICAgIHRocm93IG5ldyBGUy5FcnJub0Vycm9yKEVSUk5PX0NPREVTW2UuY29kZV0pOwog
ICAgICAgICAgfQogICAgICAgICAgLy8gbm9kZS5qcyB2MC4xMC4yMCBkb2Vzbid0IHJlcG9ydCBi
bGtzaXplIGFuZCBibG9ja3Mgb24gV2luZG93cy4gRmFrZSB0aGVtIHdpdGggZGVmYXVsdCBibGtz
aXplIG9mIDQwOTYuCiAgICAgICAgICAvLyBTZWUgaHR0cDovL3N1cHBvcnQubWljcm9zb2Z0LmNv
bS9rYi8xNDAzNjUKICAgICAgICAgIGlmIChOT0RFRlMuaXNXaW5kb3dzICYmICFzdGF0LmJsa3Np
emUpIHsKICAgICAgICAgICAgc3RhdC5ibGtzaXplID0gNDA5NjsKICAgICAgICAgIH0KICAgICAg
ICAgIGlmIChOT0RFRlMuaXNXaW5kb3dzICYmICFzdGF0LmJsb2NrcykgewogICAgICAgICAgICBz
dGF0LmJsb2NrcyA9IChzdGF0LnNpemUrc3RhdC5ibGtzaXplLTEpL3N0YXQuYmxrc2l6ZXwwOwog
ICAgICAgICAgfQogICAgICAgICAgcmV0dXJuIHsKICAgICAgICAgICAgZGV2OiBzdGF0LmRldiwK
ICAgICAgICAgICAgaW5vOiBzdGF0LmlubywKICAgICAgICAgICAgbW9kZTogc3RhdC5tb2RlLAog
ICAgICAgICAgICBubGluazogc3RhdC5ubGluaywKICAgICAgICAgICAgdWlkOiBzdGF0LnVpZCwK
ICAgICAgICAgICAgZ2lkOiBzdGF0LmdpZCwKICAgICAgICAgICAgcmRldjogc3RhdC5yZGV2LAog
ICAgICAgICAgICBzaXplOiBzdGF0LnNpemUsCiAgICAgICAgICAgIGF0aW1lOiBzdGF0LmF0aW1l
LAogICAgICAgICAgICBtdGltZTogc3RhdC5tdGltZSwKICAgICAgICAgICAgY3RpbWU6IHN0YXQu
Y3RpbWUsCiAgICAgICAgICAgIGJsa3NpemU6IHN0YXQuYmxrc2l6ZSwKICAgICAgICAgICAgYmxv
Y2tzOiBzdGF0LmJsb2NrcwogICAgICAgICAgfTsKICAgICAgICB9LHNldGF0dHI6ZnVuY3Rpb24g
KG5vZGUsIGF0dHIpIHsKICAgICAgICAgIHZhciBwYXRoID0gTk9ERUZTLnJlYWxQYXRoKG5vZGUp
OwogICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgaWYgKGF0dHIubW9kZSAhPT0gdW5kZWZpbmVk
KSB7CiAgICAgICAgICAgICAgZnMuY2htb2RTeW5jKHBhdGgsIGF0dHIubW9kZSk7CiAgICAgICAg
ICAgICAgLy8gdXBkYXRlIHRoZSBjb21tb24gbm9kZSBzdHJ1Y3R1cmUgbW9kZSBhcyB3ZWxsCiAg
ICAgICAgICAgICAgbm9kZS5tb2RlID0gYXR0ci5tb2RlOwogICAgICAgICAgICB9CiAgICAgICAg
ICAgIGlmIChhdHRyLnRpbWVzdGFtcCAhPT0gdW5kZWZpbmVkKSB7CiAgICAgICAgICAgICAgdmFy
IGRhdGUgPSBuZXcgRGF0ZShhdHRyLnRpbWVzdGFtcCk7CiAgICAgICAgICAgICAgZnMudXRpbWVz
U3luYyhwYXRoLCBkYXRlLCBkYXRlKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBpZiAoYXR0
ci5zaXplICE9PSB1bmRlZmluZWQpIHsKICAgICAgICAgICAgICBmcy50cnVuY2F0ZVN5bmMocGF0
aCwgYXR0ci5zaXplKTsKICAgICAgICAgICAgfQogICAgICAgICAgfSBjYXRjaCAoZSkgewogICAg
ICAgICAgICBpZiAoIWUuY29kZSkgdGhyb3cgZTsKICAgICAgICAgICAgdGhyb3cgbmV3IEZTLkVy
cm5vRXJyb3IoRVJSTk9fQ09ERVNbZS5jb2RlXSk7CiAgICAgICAgICB9CiAgICAgICAgfSxsb29r
dXA6ZnVuY3Rpb24gKHBhcmVudCwgbmFtZSkgewogICAgICAgICAgdmFyIHBhdGggPSBQQVRILmpv
aW4yKE5PREVGUy5yZWFsUGF0aChwYXJlbnQpLCBuYW1lKTsKICAgICAgICAgIHZhciBtb2RlID0g
Tk9ERUZTLmdldE1vZGUocGF0aCk7CiAgICAgICAgICByZXR1cm4gTk9ERUZTLmNyZWF0ZU5vZGUo
cGFyZW50LCBuYW1lLCBtb2RlKTsKICAgICAgICB9LG1rbm9kOmZ1bmN0aW9uIChwYXJlbnQsIG5h
bWUsIG1vZGUsIGRldikgewogICAgICAgICAgdmFyIG5vZGUgPSBOT0RFRlMuY3JlYXRlTm9kZShw
YXJlbnQsIG5hbWUsIG1vZGUsIGRldik7CiAgICAgICAgICAvLyBjcmVhdGUgdGhlIGJhY2tpbmcg
bm9kZSBmb3IgdGhpcyBpbiB0aGUgZnMgcm9vdCBhcyB3ZWxsCiAgICAgICAgICB2YXIgcGF0aCA9
IE5PREVGUy5yZWFsUGF0aChub2RlKTsKICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgIGlmIChG
Uy5pc0Rpcihub2RlLm1vZGUpKSB7CiAgICAgICAgICAgICAgZnMubWtkaXJTeW5jKHBhdGgsIG5v
ZGUubW9kZSk7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgZnMud3JpdGVGaWxl
U3luYyhwYXRoLCAnJywgeyBtb2RlOiBub2RlLm1vZGUgfSk7CiAgICAgICAgICAgIH0KICAgICAg
ICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgICAgICAgaWYgKCFlLmNvZGUpIHRocm93IGU7CiAgICAg
ICAgICAgIHRocm93IG5ldyBGUy5FcnJub0Vycm9yKEVSUk5PX0NPREVTW2UuY29kZV0pOwogICAg
ICAgICAgfQogICAgICAgICAgcmV0dXJuIG5vZGU7CiAgICAgICAgfSxyZW5hbWU6ZnVuY3Rpb24g
KG9sZE5vZGUsIG5ld0RpciwgbmV3TmFtZSkgewogICAgICAgICAgdmFyIG9sZFBhdGggPSBOT0RF
RlMucmVhbFBhdGgob2xkTm9kZSk7CiAgICAgICAgICB2YXIgbmV3UGF0aCA9IFBBVEguam9pbjIo
Tk9ERUZTLnJlYWxQYXRoKG5ld0RpciksIG5ld05hbWUpOwogICAgICAgICAgdHJ5IHsKICAgICAg
ICAgICAgZnMucmVuYW1lU3luYyhvbGRQYXRoLCBuZXdQYXRoKTsKICAgICAgICAgIH0gY2F0Y2gg
KGUpIHsKICAgICAgICAgICAgaWYgKCFlLmNvZGUpIHRocm93IGU7CiAgICAgICAgICAgIHRocm93
IG5ldyBGUy5FcnJub0Vycm9yKEVSUk5PX0NPREVTW2UuY29kZV0pOwogICAgICAgICAgfQogICAg
ICAgIH0sdW5saW5rOmZ1bmN0aW9uIChwYXJlbnQsIG5hbWUpIHsKICAgICAgICAgIHZhciBwYXRo
ID0gUEFUSC5qb2luMihOT0RFRlMucmVhbFBhdGgocGFyZW50KSwgbmFtZSk7CiAgICAgICAgICB0
cnkgewogICAgICAgICAgICBmcy51bmxpbmtTeW5jKHBhdGgpOwogICAgICAgICAgfSBjYXRjaCAo
ZSkgewogICAgICAgICAgICBpZiAoIWUuY29kZSkgdGhyb3cgZTsKICAgICAgICAgICAgdGhyb3cg
bmV3IEZTLkVycm5vRXJyb3IoRVJSTk9fQ09ERVNbZS5jb2RlXSk7CiAgICAgICAgICB9CiAgICAg
ICAgfSxybWRpcjpmdW5jdGlvbiAocGFyZW50LCBuYW1lKSB7CiAgICAgICAgICB2YXIgcGF0aCA9
IFBBVEguam9pbjIoTk9ERUZTLnJlYWxQYXRoKHBhcmVudCksIG5hbWUpOwogICAgICAgICAgdHJ5
IHsKICAgICAgICAgICAgZnMucm1kaXJTeW5jKHBhdGgpOwogICAgICAgICAgfSBjYXRjaCAoZSkg
ewogICAgICAgICAgICBpZiAoIWUuY29kZSkgdGhyb3cgZTsKICAgICAgICAgICAgdGhyb3cgbmV3
IEZTLkVycm5vRXJyb3IoRVJSTk9fQ09ERVNbZS5jb2RlXSk7CiAgICAgICAgICB9CiAgICAgICAg
fSxyZWFkZGlyOmZ1bmN0aW9uIChub2RlKSB7CiAgICAgICAgICB2YXIgcGF0aCA9IE5PREVGUy5y
ZWFsUGF0aChub2RlKTsKICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgIHJldHVybiBmcy5yZWFk
ZGlyU3luYyhwYXRoKTsKICAgICAgICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgICAgICAgaWYgKCFl
LmNvZGUpIHRocm93IGU7CiAgICAgICAgICAgIHRocm93IG5ldyBGUy5FcnJub0Vycm9yKEVSUk5P
X0NPREVTW2UuY29kZV0pOwogICAgICAgICAgfQogICAgICAgIH0sc3ltbGluazpmdW5jdGlvbiAo
cGFyZW50LCBuZXdOYW1lLCBvbGRQYXRoKSB7CiAgICAgICAgICB2YXIgbmV3UGF0aCA9IFBBVEgu
am9pbjIoTk9ERUZTLnJlYWxQYXRoKHBhcmVudCksIG5ld05hbWUpOwogICAgICAgICAgdHJ5IHsK
ICAgICAgICAgICAgZnMuc3ltbGlua1N5bmMob2xkUGF0aCwgbmV3UGF0aCk7CiAgICAgICAgICB9
IGNhdGNoIChlKSB7CiAgICAgICAgICAgIGlmICghZS5jb2RlKSB0aHJvdyBlOwogICAgICAgICAg
ICB0aHJvdyBuZXcgRlMuRXJybm9FcnJvcihFUlJOT19DT0RFU1tlLmNvZGVdKTsKICAgICAgICAg
IH0KICAgICAgICB9LHJlYWRsaW5rOmZ1bmN0aW9uIChub2RlKSB7CiAgICAgICAgICB2YXIgcGF0
aCA9IE5PREVGUy5yZWFsUGF0aChub2RlKTsKICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgIHJl
dHVybiBmcy5yZWFkbGlua1N5bmMocGF0aCk7CiAgICAgICAgICB9IGNhdGNoIChlKSB7CiAgICAg
ICAgICAgIGlmICghZS5jb2RlKSB0aHJvdyBlOwogICAgICAgICAgICB0aHJvdyBuZXcgRlMuRXJy
bm9FcnJvcihFUlJOT19DT0RFU1tlLmNvZGVdKTsKICAgICAgICAgIH0KICAgICAgICB9fSxzdHJl
YW1fb3BzOntvcGVuOmZ1bmN0aW9uIChzdHJlYW0pIHsKICAgICAgICAgIHZhciBwYXRoID0gTk9E
RUZTLnJlYWxQYXRoKHN0cmVhbS5ub2RlKTsKICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgIGlm
IChGUy5pc0ZpbGUoc3RyZWFtLm5vZGUubW9kZSkpIHsKICAgICAgICAgICAgICBzdHJlYW0ubmZk
ID0gZnMub3BlblN5bmMocGF0aCwgTk9ERUZTLmZsYWdzVG9QZXJtaXNzaW9uU3RyaW5nKHN0cmVh
bS5mbGFncykpOwogICAgICAgICAgICB9CiAgICAgICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAg
ICAgIGlmICghZS5jb2RlKSB0aHJvdyBlOwogICAgICAgICAgICB0aHJvdyBuZXcgRlMuRXJybm9F
cnJvcihFUlJOT19DT0RFU1tlLmNvZGVdKTsKICAgICAgICAgIH0KICAgICAgICB9LGNsb3NlOmZ1
bmN0aW9uIChzdHJlYW0pIHsKICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgIGlmIChGUy5pc0Zp
bGUoc3RyZWFtLm5vZGUubW9kZSkgJiYgc3RyZWFtLm5mZCkgewogICAgICAgICAgICAgIGZzLmNs
b3NlU3luYyhzdHJlYW0ubmZkKTsKICAgICAgICAgICAgfQogICAgICAgICAgfSBjYXRjaCAoZSkg
ewogICAgICAgICAgICBpZiAoIWUuY29kZSkgdGhyb3cgZTsKICAgICAgICAgICAgdGhyb3cgbmV3
IEZTLkVycm5vRXJyb3IoRVJSTk9fQ09ERVNbZS5jb2RlXSk7CiAgICAgICAgICB9CiAgICAgICAg
fSxyZWFkOmZ1bmN0aW9uIChzdHJlYW0sIGJ1ZmZlciwgb2Zmc2V0LCBsZW5ndGgsIHBvc2l0aW9u
KSB7CiAgICAgICAgICAvLyBGSVhNRSB0aGlzIGlzIHRlcnJpYmxlLgogICAgICAgICAgdmFyIG5i
dWZmZXIgPSBuZXcgQnVmZmVyKGxlbmd0aCk7CiAgICAgICAgICB2YXIgcmVzOwogICAgICAgICAg
dHJ5IHsKICAgICAgICAgICAgcmVzID0gZnMucmVhZFN5bmMoc3RyZWFtLm5mZCwgbmJ1ZmZlciwg
MCwgbGVuZ3RoLCBwb3NpdGlvbik7CiAgICAgICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgICAg
IHRocm93IG5ldyBGUy5FcnJub0Vycm9yKEVSUk5PX0NPREVTW2UuY29kZV0pOwogICAgICAgICAg
fQogICAgICAgICAgaWYgKHJlcyA+IDApIHsKICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkg
PCByZXM7IGkrKykgewogICAgICAgICAgICAgIGJ1ZmZlcltvZmZzZXQgKyBpXSA9IG5idWZmZXJb
aV07CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICAgIHJldHVybiByZXM7CiAgICAg
ICAgfSx3cml0ZTpmdW5jdGlvbiAoc3RyZWFtLCBidWZmZXIsIG9mZnNldCwgbGVuZ3RoLCBwb3Np
dGlvbikgewogICAgICAgICAgLy8gRklYTUUgdGhpcyBpcyB0ZXJyaWJsZS4KICAgICAgICAgIHZh
ciBuYnVmZmVyID0gbmV3IEJ1ZmZlcihidWZmZXIuc3ViYXJyYXkob2Zmc2V0LCBvZmZzZXQgKyBs
ZW5ndGgpKTsKICAgICAgICAgIHZhciByZXM7CiAgICAgICAgICB0cnkgewogICAgICAgICAgICBy
ZXMgPSBmcy53cml0ZVN5bmMoc3RyZWFtLm5mZCwgbmJ1ZmZlciwgMCwgbGVuZ3RoLCBwb3NpdGlv
bik7CiAgICAgICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgICAgIHRocm93IG5ldyBGUy5FcnJu
b0Vycm9yKEVSUk5PX0NPREVTW2UuY29kZV0pOwogICAgICAgICAgfQogICAgICAgICAgcmV0dXJu
IHJlczsKICAgICAgICB9LGxsc2VlazpmdW5jdGlvbiAoc3RyZWFtLCBvZmZzZXQsIHdoZW5jZSkg
ewogICAgICAgICAgdmFyIHBvc2l0aW9uID0gb2Zmc2V0OwogICAgICAgICAgaWYgKHdoZW5jZSA9
PT0gMSkgeyAgLy8gU0VFS19DVVIuCiAgICAgICAgICAgIHBvc2l0aW9uICs9IHN0cmVhbS5wb3Np
dGlvbjsKICAgICAgICAgIH0gZWxzZSBpZiAod2hlbmNlID09PSAyKSB7ICAvLyBTRUVLX0VORC4K
ICAgICAgICAgICAgaWYgKEZTLmlzRmlsZShzdHJlYW0ubm9kZS5tb2RlKSkgewogICAgICAgICAg
ICAgIHRyeSB7CiAgICAgICAgICAgICAgICB2YXIgc3RhdCA9IGZzLmZzdGF0U3luYyhzdHJlYW0u
bmZkKTsKICAgICAgICAgICAgICAgIHBvc2l0aW9uICs9IHN0YXQuc2l6ZTsKICAgICAgICAgICAg
ICB9IGNhdGNoIChlKSB7CiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRlMuRXJybm9FcnJvcihF
UlJOT19DT0RFU1tlLmNvZGVdKTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAg
ICAgIH0KICAKICAgICAgICAgIGlmIChwb3NpdGlvbiA8IDApIHsKICAgICAgICAgICAgdGhyb3cg
bmV3IEZTLkVycm5vRXJyb3IoRVJSTk9fQ09ERVMuRUlOVkFMKTsKICAgICAgICAgIH0KICAKICAg
ICAgICAgIHN0cmVhbS5wb3NpdGlvbiA9IHBvc2l0aW9uOwogICAgICAgICAgcmV0dXJuIHBvc2l0
aW9uOwogICAgICAgIH19fTsKICAKICB2YXIgX3N0ZGluPWFsbG9jYXRlKDEsICJpMzIqIiwgQUxM
T0NfU1RBVElDKTsKICAKICB2YXIgX3N0ZG91dD1hbGxvY2F0ZSgxLCAiaTMyKiIsIEFMTE9DX1NU
QVRJQyk7CiAgCiAgdmFyIF9zdGRlcnI9YWxsb2NhdGUoMSwgImkzMioiLCBBTExPQ19TVEFUSUMp
OwogIAogIGZ1bmN0aW9uIF9mZmx1c2goc3RyZWFtKSB7CiAgICAgIC8vIGludCBmZmx1c2goRklM
RSAqc3RyZWFtKTsKICAgICAgLy8gaHR0cDovL3B1YnMub3Blbmdyb3VwLm9yZy9vbmxpbmVwdWJz
LzAwMDA5NTM5OS9mdW5jdGlvbnMvZmZsdXNoLmh0bWwKICAgICAgLy8gd2UgZG9uJ3QgY3VycmVu
dGx5IHBlcmZvcm0gYW55IHVzZXItc3BhY2UgYnVmZmVyaW5nIG9mIGRhdGEKICAgIH12YXIgRlM9
e3Jvb3Q6bnVsbCxtb3VudHM6W10sZGV2aWNlczpbbnVsbF0sc3RyZWFtczpbXSxuZXh0SW5vZGU6
MSxuYW1lVGFibGU6bnVsbCxjdXJyZW50UGF0aDoiLyIsaW5pdGlhbGl6ZWQ6ZmFsc2UsaWdub3Jl
UGVybWlzc2lvbnM6dHJ1ZSxFcnJub0Vycm9yOm51bGwsZ2VuZXJpY0Vycm9yczp7fSxoYW5kbGVG
U0Vycm9yOmZ1bmN0aW9uIChlKSB7CiAgICAgICAgaWYgKCEoZSBpbnN0YW5jZW9mIEZTLkVycm5v
RXJyb3IpKSB0aHJvdyBlICsgJyA6ICcgKyBzdGFja1RyYWNlKCk7CiAgICAgICAgcmV0dXJuIF9f
X3NldEVyck5vKGUuZXJybm8pOwogICAgICB9LGxvb2t1cFBhdGg6ZnVuY3Rpb24gKHBhdGgsIG9w
dHMpIHsKICAgICAgICBwYXRoID0gUEFUSC5yZXNvbHZlKEZTLmN3ZCgpLCBwYXRoKTsKICAgICAg
ICBvcHRzID0gb3B0cyB8fCB7fTsKICAKICAgICAgICB2YXIgZGVmYXVsdHMgPSB7CiAgICAgICAg
ICBmb2xsb3dfbW91bnQ6IHRydWUsCiAgICAgICAgICByZWN1cnNlX2NvdW50OiAwCiAgICAgICAg
fTsKICAgICAgICBmb3IgKHZhciBrZXkgaW4gZGVmYXVsdHMpIHsKICAgICAgICAgIGlmIChvcHRz
W2tleV0gPT09IHVuZGVmaW5lZCkgewogICAgICAgICAgICBvcHRzW2tleV0gPSBkZWZhdWx0c1tr
ZXldOwogICAgICAgICAgfQogICAgICAgIH0KICAKICAgICAgICBpZiAob3B0cy5yZWN1cnNlX2Nv
dW50ID4gOCkgeyAgLy8gbWF4IHJlY3Vyc2l2ZSBsb29rdXAgb2YgOAogICAgICAgICAgdGhyb3cg
bmV3IEZTLkVycm5vRXJyb3IoRVJSTk9fQ09ERVMuRUxPT1ApOwogICAgICAgIH0KICAKICAgICAg
ICAvLyBzcGxpdCB0aGUgcGF0aAogICAgICAgIHZhciBwYXJ0cyA9IFBBVEgubm9ybWFsaXplQXJy
YXkocGF0aC5zcGxpdCgnLycpLmZpbHRlcihmdW5jdGlvbihwKSB7CiAgICAgICAgICByZXR1cm4g
ISFwOwogICAgICAgIH0pLCBmYWxzZSk7CiAgCiAgICAgICAgLy8gc3RhcnQgYXQgdGhlIHJvb3QK
ICAgICAgICB2YXIgY3VycmVudCA9IEZTLnJvb3Q7CiAgICAgICAgdmFyIGN1cnJlbnRfcGF0aCA9
ICcvJzsKICAKICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHBhcnRzLmxlbmd0aDsgaSsrKSB7
CiAgICAgICAgICB2YXIgaXNsYXN0ID0gKGkgPT09IHBhcnRzLmxlbmd0aC0xKTsKICAgICAgICAg
IGlmIChpc2xhc3QgJiYgb3B0cy5wYXJlbnQpIHsKICAgICAgICAgICAgLy8gc3RvcCByZXNvbHZp
bmcKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICB9CiAgCiAgICAgICAgICBjdXJyZW50ID0g
RlMubG9va3VwTm9kZShjdXJyZW50LCBwYXJ0c1tpXSk7CiAgICAgICAgICBjdXJyZW50X3BhdGgg
PSBQQVRILmpvaW4yKGN1cnJlbnRfcGF0aCwgcGFydHNbaV0pOwogIAogICAgICAgICAgLy8ganVt
cCB0byB0aGUgbW91bnQncyByb290IG5vZGUgaWYgdGhpcyBpcyBhIG1vdW50cG9pbnQKICAgICAg
ICAgIGlmIChGUy5pc01vdW50cG9pbnQoY3VycmVudCkpIHsKICAgICAgICAgICAgaWYgKCFpc2xh
c3QgfHwgKGlzbGFzdCAmJiBvcHRzLmZvbGxvd19tb3VudCkpIHsKICAgICAgICAgICAgICBjdXJy
ZW50ID0gY3VycmVudC5tb3VudGVkLnJvb3Q7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAK
ICAgICAgICAgIC8vIGJ5IGRlZmF1bHQsIGxvb2t1cFBhdGggd2lsbCBub3QgZm9sbG93IGEgc3lt
bGluayBpZiBpdCBpcyB0aGUgZmluYWwgcGF0aCBjb21wb25lbnQuCiAgICAgICAgICAvLyBzZXR0
aW5nIG9wdHMuZm9sbG93ID0gdHJ1ZSB3aWxsIG92ZXJyaWRlIHRoaXMgYmVoYXZpb3IuCiAgICAg
ICAgICBpZiAoIWlzbGFzdCB8fCBvcHRzLmZvbGxvdykgewogICAgICAgICAgICB2YXIgY291bnQg
PSAwOwogICAgICAgICAgICB3aGlsZSAoRlMuaXNMaW5rKGN1cnJlbnQubW9kZSkpIHsKICAgICAg
ICAgICAgICB2YXIgbGluayA9IEZTLnJlYWRsaW5rKGN1cnJlbnRfcGF0aCk7CiAgICAgICAgICAg
ICAgY3VycmVudF9wYXRoID0gUEFUSC5yZXNvbHZlKFBBVEguZGlybmFtZShjdXJyZW50X3BhdGgp
LCBsaW5rKTsKICAgICAgICAgICAgICAKICAgICAgICAgICAgICB2YXIgbG9va3VwID0gRlMubG9v
a3VwUGF0aChjdXJyZW50X3BhdGgsIHsgcmVjdXJzZV9jb3VudDogb3B0cy5yZWN1cnNlX2NvdW50
IH0pOwogICAgICAgICAgICAgIGN1cnJlbnQgPSBsb29rdXAubm9kZTsKICAKICAgICAgICAgICAg
ICBpZiAoY291bnQrKyA+IDQwKSB7ICAvLyBsaW1pdCBtYXggY29uc2VjdXRpdmUgc3ltbGlua3Mg
dG8gNDAgKFNZTUxPT1BfTUFYKS4KICAgICAgICAgICAgICAgIHRocm93IG5ldyBGUy5FcnJub0Vy
cm9yKEVSUk5PX0NPREVTLkVMT09QKTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAg
ICAgICAgIH0KICAgICAgICB9CiAgCiAgICAgICAgcmV0dXJuIHsgcGF0aDogY3VycmVudF9wYXRo
LCBub2RlOiBjdXJyZW50IH07CiAgICAgIH0sZ2V0UGF0aDpmdW5jdGlvbiAobm9kZSkgewogICAg
ICAgIHZhciBwYXRoOwogICAgICAgIHdoaWxlICh0cnVlKSB7CiAgICAgICAgICBpZiAoRlMuaXNS
b290KG5vZGUpKSB7CiAgICAgICAgICAgIHZhciBtb3VudCA9IG5vZGUubW91bnQubW91bnRwb2lu
dDsKICAgICAgICAgICAgaWYgKCFwYXRoKSByZXR1cm4gbW91bnQ7CiAgICAgICAgICAgIHJldHVy
biBtb3VudFttb3VudC5sZW5ndGgtMV0gIT09ICcvJyA/IG1vdW50ICsgJy8nICsgcGF0aCA6IG1v
dW50ICsgcGF0aDsKICAgICAgICAgIH0KICAgICAgICAgIHBhdGggPSBwYXRoID8gbm9kZS5uYW1l
ICsgJy8nICsgcGF0aCA6IG5vZGUubmFtZTsKICAgICAgICAgIG5vZGUgPSBub2RlLnBhcmVudDsK
ICAgICAgICB9CiAgICAgIH0saGFzaE5hbWU6ZnVuY3Rpb24gKHBhcmVudGlkLCBuYW1lKSB7CiAg
ICAgICAgdmFyIGhhc2ggPSAwOwogIAogIAogICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbmFt
ZS5sZW5ndGg7IGkrKykgewogICAgICAgICAgaGFzaCA9ICgoaGFzaCA8PCA1KSAtIGhhc2ggKyBu
YW1lLmNoYXJDb2RlQXQoaSkpIHwgMDsKICAgICAgICB9CiAgICAgICAgcmV0dXJuICgocGFyZW50
aWQgKyBoYXNoKSA+Pj4gMCkgJSBGUy5uYW1lVGFibGUubGVuZ3RoOwogICAgICB9LGhhc2hBZGRO
b2RlOmZ1bmN0aW9uIChub2RlKSB7CiAgICAgICAgdmFyIGhhc2ggPSBGUy5oYXNoTmFtZShub2Rl
LnBhcmVudC5pZCwgbm9kZS5uYW1lKTsKICAgICAgICBub2RlLm5hbWVfbmV4dCA9IEZTLm5hbWVU
YWJsZVtoYXNoXTsKICAgICAgICBGUy5uYW1lVGFibGVbaGFzaF0gPSBub2RlOwogICAgICB9LGhh
c2hSZW1vdmVOb2RlOmZ1bmN0aW9uIChub2RlKSB7CiAgICAgICAgdmFyIGhhc2ggPSBGUy5oYXNo
TmFtZShub2RlLnBhcmVudC5pZCwgbm9kZS5uYW1lKTsKICAgICAgICBpZiAoRlMubmFtZVRhYmxl
W2hhc2hdID09PSBub2RlKSB7CiAgICAgICAgICBGUy5uYW1lVGFibGVbaGFzaF0gPSBub2RlLm5h
bWVfbmV4dDsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgdmFyIGN1cnJlbnQgPSBGUy5uYW1l
VGFibGVbaGFzaF07CiAgICAgICAgICB3aGlsZSAoY3VycmVudCkgewogICAgICAgICAgICBpZiAo
Y3VycmVudC5uYW1lX25leHQgPT09IG5vZGUpIHsKICAgICAgICAgICAgICBjdXJyZW50Lm5hbWVf
bmV4dCA9IG5vZGUubmFtZV9uZXh0OwogICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICB9
CiAgICAgICAgICAgIGN1cnJlbnQgPSBjdXJyZW50Lm5hbWVfbmV4dDsKICAgICAgICAgIH0KICAg
ICAgICB9CiAgICAgIH0sbG9va3VwTm9kZTpmdW5jdGlvbiAocGFyZW50LCBuYW1lKSB7CiAgICAg
ICAgdmFyIGVyciA9IEZTLm1heUxvb2t1cChwYXJlbnQpOwogICAgICAgIGlmIChlcnIpIHsKICAg
ICAgICAgIHRocm93IG5ldyBGUy5FcnJub0Vycm9yKGVycik7CiAgICAgICAgfQogICAgICAgIHZh
ciBoYXNoID0gRlMuaGFzaE5hbWUocGFyZW50LmlkLCBuYW1lKTsKICAgICAgICBmb3IgKHZhciBu
b2RlID0gRlMubmFtZVRhYmxlW2hhc2hdOyBub2RlOyBub2RlID0gbm9kZS5uYW1lX25leHQpIHsK
ICAgICAgICAgIHZhciBub2RlTmFtZSA9IG5vZGUubmFtZTsKICAgICAgICAgIGlmIChub2RlLnBh
cmVudC5pZCA9PT0gcGFyZW50LmlkICYmIG5vZGVOYW1lID09PSBuYW1lKSB7CiAgICAgICAgICAg
IHJldHVybiBub2RlOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgICAvLyBpZiB3ZSBmYWls
ZWQgdG8gZmluZCBpdCBpbiB0aGUgY2FjaGUsIGNhbGwgaW50byB0aGUgVkZTCiAgICAgICAgcmV0
dXJuIEZTLmxvb2t1cChwYXJlbnQsIG5hbWUpOwogICAgICB9LGNyZWF0ZU5vZGU6ZnVuY3Rpb24g
KHBhcmVudCwgbmFtZSwgbW9kZSwgcmRldikgewogICAgICAgIGlmICghRlMuRlNOb2RlKSB7CiAg
ICAgICAgICBGUy5GU05vZGUgPSBmdW5jdGlvbihwYXJlbnQsIG5hbWUsIG1vZGUsIHJkZXYpIHsK
ICAgICAgICAgICAgaWYgKCFwYXJlbnQpIHsKICAgICAgICAgICAgICBwYXJlbnQgPSB0aGlzOyAg
Ly8gcm9vdCBub2RlIHNldHMgcGFyZW50IHRvIGl0c2VsZgogICAgICAgICAgICB9CiAgICAgICAg
ICAgIHRoaXMucGFyZW50ID0gcGFyZW50OwogICAgICAgICAgICB0aGlzLm1vdW50ID0gcGFyZW50
Lm1vdW50OwogICAgICAgICAgICB0aGlzLm1vdW50ZWQgPSBudWxsOwogICAgICAgICAgICB0aGlz
LmlkID0gRlMubmV4dElub2RlKys7CiAgICAgICAgICAgIHRoaXMubmFtZSA9IG5hbWU7CiAgICAg
ICAgICAgIHRoaXMubW9kZSA9IG1vZGU7CiAgICAgICAgICAgIHRoaXMubm9kZV9vcHMgPSB7fTsK
ICAgICAgICAgICAgdGhpcy5zdHJlYW1fb3BzID0ge307CiAgICAgICAgICAgIHRoaXMucmRldiA9
IHJkZXY7CiAgICAgICAgICB9OwogIAogICAgICAgICAgRlMuRlNOb2RlLnByb3RvdHlwZSA9IHt9
OwogIAogICAgICAgICAgLy8gY29tcGF0aWJpbGl0eQogICAgICAgICAgdmFyIHJlYWRNb2RlID0g
MjkyIHwgNzM7CiAgICAgICAgICB2YXIgd3JpdGVNb2RlID0gMTQ2OwogIAogICAgICAgICAgLy8g
Tk9URSB3ZSBtdXN0IHVzZSBPYmplY3QuZGVmaW5lUHJvcGVydGllcyBpbnN0ZWFkIG9mIGluZGl2
aWR1YWwgY2FsbHMgdG8KICAgICAgICAgIC8vIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSBpbiBvcmRl
ciB0byBtYWtlIGNsb3N1cmUgY29tcGlsZXIgaGFwcHkKICAgICAgICAgIE9iamVjdC5kZWZpbmVQ
cm9wZXJ0aWVzKEZTLkZTTm9kZS5wcm90b3R5cGUsIHsKICAgICAgICAgICAgcmVhZDogewogICAg
ICAgICAgICAgIGdldDogZnVuY3Rpb24oKSB7IHJldHVybiAodGhpcy5tb2RlICYgcmVhZE1vZGUp
ID09PSByZWFkTW9kZTsgfSwKICAgICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uKHZhbCkgeyB2YWwg
PyB0aGlzLm1vZGUgfD0gcmVhZE1vZGUgOiB0aGlzLm1vZGUgJj0gfnJlYWRNb2RlOyB9CiAgICAg
ICAgICAgIH0sCiAgICAgICAgICAgIHdyaXRlOiB7CiAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlv
bigpIHsgcmV0dXJuICh0aGlzLm1vZGUgJiB3cml0ZU1vZGUpID09PSB3cml0ZU1vZGU7IH0sCiAg
ICAgICAgICAgICAgc2V0OiBmdW5jdGlvbih2YWwpIHsgdmFsID8gdGhpcy5tb2RlIHw9IHdyaXRl
TW9kZSA6IHRoaXMubW9kZSAmPSB+d3JpdGVNb2RlOyB9CiAgICAgICAgICAgIH0sCiAgICAgICAg
ICAgIGlzRm9sZGVyOiB7CiAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbigpIHsgcmV0dXJuIEZT
LmlzRGlyKHRoaXMubW9kZSk7IH0sCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGlzRGV2aWNl
OiB7CiAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbigpIHsgcmV0dXJuIEZTLmlzQ2hyZGV2KHRo
aXMubW9kZSk7IH0sCiAgICAgICAgICAgIH0sCiAgICAgICAgICB9KTsKICAgICAgICB9CiAgCiAg
ICAgICAgdmFyIG5vZGUgPSBuZXcgRlMuRlNOb2RlKHBhcmVudCwgbmFtZSwgbW9kZSwgcmRldik7
CiAgCiAgICAgICAgRlMuaGFzaEFkZE5vZGUobm9kZSk7CiAgCiAgICAgICAgcmV0dXJuIG5vZGU7
CiAgICAgIH0sZGVzdHJveU5vZGU6ZnVuY3Rpb24gKG5vZGUpIHsKICAgICAgICBGUy5oYXNoUmVt
b3ZlTm9kZShub2RlKTsKICAgICAgfSxpc1Jvb3Q6ZnVuY3Rpb24gKG5vZGUpIHsKICAgICAgICBy
ZXR1cm4gbm9kZSA9PT0gbm9kZS5wYXJlbnQ7CiAgICAgIH0saXNNb3VudHBvaW50OmZ1bmN0aW9u
IChub2RlKSB7CiAgICAgICAgcmV0dXJuICEhbm9kZS5tb3VudGVkOwogICAgICB9LGlzRmlsZTpm
dW5jdGlvbiAobW9kZSkgewogICAgICAgIHJldHVybiAobW9kZSAmIDYxNDQwKSA9PT0gMzI3Njg7
CiAgICAgIH0saXNEaXI6ZnVuY3Rpb24gKG1vZGUpIHsKICAgICAgICByZXR1cm4gKG1vZGUgJiA2
MTQ0MCkgPT09IDE2Mzg0OwogICAgICB9LGlzTGluazpmdW5jdGlvbiAobW9kZSkgewogICAgICAg
IHJldHVybiAobW9kZSAmIDYxNDQwKSA9PT0gNDA5NjA7CiAgICAgIH0saXNDaHJkZXY6ZnVuY3Rp
b24gKG1vZGUpIHsKICAgICAgICByZXR1cm4gKG1vZGUgJiA2MTQ0MCkgPT09IDgxOTI7CiAgICAg
IH0saXNCbGtkZXY6ZnVuY3Rpb24gKG1vZGUpIHsKICAgICAgICByZXR1cm4gKG1vZGUgJiA2MTQ0
MCkgPT09IDI0NTc2OwogICAgICB9LGlzRklGTzpmdW5jdGlvbiAobW9kZSkgewogICAgICAgIHJl
dHVybiAobW9kZSAmIDYxNDQwKSA9PT0gNDA5NjsKICAgICAgfSxpc1NvY2tldDpmdW5jdGlvbiAo
bW9kZSkgewogICAgICAgIHJldHVybiAobW9kZSAmIDQ5MTUyKSA9PT0gNDkxNTI7CiAgICAgIH0s
ZmxhZ01vZGVzOnsiciI6MCwicnMiOjEwNTI2NzIsInIrIjoyLCJ3Ijo1NzcsInd4Ijo3MDUsInh3
Ijo3MDUsIncrIjo1NzgsInd4KyI6NzA2LCJ4dysiOjcwNiwiYSI6MTA4OSwiYXgiOjEyMTcsInhh
IjoxMjE3LCJhKyI6MTA5MCwiYXgrIjoxMjE4LCJ4YSsiOjEyMTh9LG1vZGVTdHJpbmdUb0ZsYWdz
OmZ1bmN0aW9uIChzdHIpIHsKICAgICAgICB2YXIgZmxhZ3MgPSBGUy5mbGFnTW9kZXNbc3RyXTsK
ICAgICAgICBpZiAodHlwZW9mIGZsYWdzID09PSAndW5kZWZpbmVkJykgewogICAgICAgICAgdGhy
b3cgbmV3IEVycm9yKCdVbmtub3duIGZpbGUgb3BlbiBtb2RlOiAnICsgc3RyKTsKICAgICAgICB9
CiAgICAgICAgcmV0dXJuIGZsYWdzOwogICAgICB9LGZsYWdzVG9QZXJtaXNzaW9uU3RyaW5nOmZ1
bmN0aW9uIChmbGFnKSB7CiAgICAgICAgdmFyIGFjY21vZGUgPSBmbGFnICYgMjA5NzE1NTsKICAg
ICAgICB2YXIgcGVybXMgPSBbJ3InLCAndycsICdydyddW2FjY21vZGVdOwogICAgICAgIGlmICgo
ZmxhZyAmIDUxMikpIHsKICAgICAgICAgIHBlcm1zICs9ICd3JzsKICAgICAgICB9CiAgICAgICAg
cmV0dXJuIHBlcm1zOwogICAgICB9LG5vZGVQZXJtaXNzaW9uczpmdW5jdGlvbiAobm9kZSwgcGVy
bXMpIHsKICAgICAgICBpZiAoRlMuaWdub3JlUGVybWlzc2lvbnMpIHsKICAgICAgICAgIHJldHVy
biAwOwogICAgICAgIH0KICAgICAgICAvLyByZXR1cm4gMCBpZiBhbnkgdXNlciwgZ3JvdXAgb3Ig
b3duZXIgYml0cyBhcmUgc2V0LgogICAgICAgIGlmIChwZXJtcy5pbmRleE9mKCdyJykgIT09IC0x
ICYmICEobm9kZS5tb2RlICYgMjkyKSkgewogICAgICAgICAgcmV0dXJuIEVSUk5PX0NPREVTLkVB
Q0NFUzsKICAgICAgICB9IGVsc2UgaWYgKHBlcm1zLmluZGV4T2YoJ3cnKSAhPT0gLTEgJiYgIShu
b2RlLm1vZGUgJiAxNDYpKSB7CiAgICAgICAgICByZXR1cm4gRVJSTk9fQ09ERVMuRUFDQ0VTOwog
ICAgICAgIH0gZWxzZSBpZiAocGVybXMuaW5kZXhPZigneCcpICE9PSAtMSAmJiAhKG5vZGUubW9k
ZSAmIDczKSkgewogICAgICAgICAgcmV0dXJuIEVSUk5PX0NPREVTLkVBQ0NFUzsKICAgICAgICB9
CiAgICAgICAgcmV0dXJuIDA7CiAgICAgIH0sbWF5TG9va3VwOmZ1bmN0aW9uIChkaXIpIHsKICAg
ICAgICByZXR1cm4gRlMubm9kZVBlcm1pc3Npb25zKGRpciwgJ3gnKTsKICAgICAgfSxtYXlDcmVh
dGU6ZnVuY3Rpb24gKGRpciwgbmFtZSkgewogICAgICAgIHRyeSB7CiAgICAgICAgICB2YXIgbm9k
ZSA9IEZTLmxvb2t1cE5vZGUoZGlyLCBuYW1lKTsKICAgICAgICAgIHJldHVybiBFUlJOT19DT0RF
Uy5FRVhJU1Q7CiAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgIH0KICAgICAgICByZXR1cm4g
RlMubm9kZVBlcm1pc3Npb25zKGRpciwgJ3d4Jyk7CiAgICAgIH0sbWF5RGVsZXRlOmZ1bmN0aW9u
IChkaXIsIG5hbWUsIGlzZGlyKSB7CiAgICAgICAgdmFyIG5vZGU7CiAgICAgICAgdHJ5IHsKICAg
ICAgICAgIG5vZGUgPSBGUy5sb29rdXBOb2RlKGRpciwgbmFtZSk7CiAgICAgICAgfSBjYXRjaCAo
ZSkgewogICAgICAgICAgcmV0dXJuIGUuZXJybm87CiAgICAgICAgfQogICAgICAgIHZhciBlcnIg
PSBGUy5ub2RlUGVybWlzc2lvbnMoZGlyLCAnd3gnKTsKICAgICAgICBpZiAoZXJyKSB7CiAgICAg
ICAgICByZXR1cm4gZXJyOwogICAgICAgIH0KICAgICAgICBpZiAoaXNkaXIpIHsKICAgICAgICAg
IGlmICghRlMuaXNEaXIobm9kZS5tb2RlKSkgewogICAgICAgICAgICByZXR1cm4gRVJSTk9fQ09E
RVMuRU5PVERJUjsKICAgICAgICAgIH0KICAgICAgICAgIGlmIChGUy5pc1Jvb3Qobm9kZSkgfHwg
RlMuZ2V0UGF0aChub2RlKSA9PT0gRlMuY3dkKCkpIHsKICAgICAgICAgICAgcmV0dXJuIEVSUk5P
X0NPREVTLkVCVVNZOwogICAgICAgICAgfQogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICBpZiAo
RlMuaXNEaXIobm9kZS5tb2RlKSkgewogICAgICAgICAgICByZXR1cm4gRVJSTk9fQ09ERVMuRUlT
RElSOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgICByZXR1cm4gMDsKICAgICAgfSxtYXlP
cGVuOmZ1bmN0aW9uIChub2RlLCBmbGFncykgewogICAgICAgIGlmICghbm9kZSkgewogICAgICAg
ICAgcmV0dXJuIEVSUk5PX0NPREVTLkVOT0VOVDsKICAgICAgICB9CiAgICAgICAgaWYgKEZTLmlz
TGluayhub2RlLm1vZGUpKSB7CiAgICAgICAgICByZXR1cm4gRVJSTk9fQ09ERVMuRUxPT1A7CiAg
ICAgICAgfSBlbHNlIGlmIChGUy5pc0Rpcihub2RlLm1vZGUpKSB7CiAgICAgICAgICBpZiAoKGZs
YWdzICYgMjA5NzE1NSkgIT09IDAgfHwgIC8vIG9wZW5pbmcgZm9yIHdyaXRlCiAgICAgICAgICAg
ICAgKGZsYWdzICYgNTEyKSkgewogICAgICAgICAgICByZXR1cm4gRVJSTk9fQ09ERVMuRUlTRElS
OwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgICByZXR1cm4gRlMubm9kZVBlcm1pc3Npb25z
KG5vZGUsIEZTLmZsYWdzVG9QZXJtaXNzaW9uU3RyaW5nKGZsYWdzKSk7CiAgICAgIH0sTUFYX09Q
RU5fRkRTOjQwOTYsbmV4dGZkOmZ1bmN0aW9uIChmZF9zdGFydCwgZmRfZW5kKSB7CiAgICAgICAg
ZmRfc3RhcnQgPSBmZF9zdGFydCB8fCAwOwogICAgICAgIGZkX2VuZCA9IGZkX2VuZCB8fCBGUy5N
QVhfT1BFTl9GRFM7CiAgICAgICAgZm9yICh2YXIgZmQgPSBmZF9zdGFydDsgZmQgPD0gZmRfZW5k
OyBmZCsrKSB7CiAgICAgICAgICBpZiAoIUZTLnN0cmVhbXNbZmRdKSB7CiAgICAgICAgICAgIHJl
dHVybiBmZDsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgdGhyb3cgbmV3IEZTLkVycm5v
RXJyb3IoRVJSTk9fQ09ERVMuRU1GSUxFKTsKICAgICAgfSxnZXRTdHJlYW06ZnVuY3Rpb24gKGZk
KSB7CiAgICAgICAgcmV0dXJuIEZTLnN0cmVhbXNbZmRdOwogICAgICB9LGNyZWF0ZVN0cmVhbTpm
dW5jdGlvbiAoc3RyZWFtLCBmZF9zdGFydCwgZmRfZW5kKSB7CiAgICAgICAgaWYgKCFGUy5GU1N0
cmVhbSkgewogICAgICAgICAgRlMuRlNTdHJlYW0gPSBmdW5jdGlvbigpe307CiAgICAgICAgICBG
Uy5GU1N0cmVhbS5wcm90b3R5cGUgPSB7fTsKICAgICAgICAgIC8vIGNvbXBhdGliaWxpdHkKICAg
ICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKEZTLkZTU3RyZWFtLnByb3RvdHlwZSwgewog
ICAgICAgICAgICBvYmplY3Q6IHsKICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uKCkgeyByZXR1
cm4gdGhpcy5ub2RlOyB9LAogICAgICAgICAgICAgIHNldDogZnVuY3Rpb24odmFsKSB7IHRoaXMu
bm9kZSA9IHZhbDsgfQogICAgICAgICAgICB9LAogICAgICAgICAgICBpc1JlYWQ6IHsKICAgICAg
ICAgICAgICBnZXQ6IGZ1bmN0aW9uKCkgeyByZXR1cm4gKHRoaXMuZmxhZ3MgJiAyMDk3MTU1KSAh
PT0gMTsgfQogICAgICAgICAgICB9LAogICAgICAgICAgICBpc1dyaXRlOiB7CiAgICAgICAgICAg
ICAgZ2V0OiBmdW5jdGlvbigpIHsgcmV0dXJuICh0aGlzLmZsYWdzICYgMjA5NzE1NSkgIT09IDA7
IH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgaXNBcHBlbmQ6IHsKICAgICAgICAgICAgICBn
ZXQ6IGZ1bmN0aW9uKCkgeyByZXR1cm4gKHRoaXMuZmxhZ3MgJiAxMDI0KTsgfQogICAgICAgICAg
ICB9CiAgICAgICAgICB9KTsKICAgICAgICB9CiAgICAgICAgLy8gY2xvbmUgaXQsIHNvIHdlIGNh
biByZXR1cm4gYW4gaW5zdGFuY2Ugb2YgRlNTdHJlYW0KICAgICAgICB2YXIgbmV3U3RyZWFtID0g
bmV3IEZTLkZTU3RyZWFtKCk7CiAgICAgICAgZm9yICh2YXIgcCBpbiBzdHJlYW0pIHsKICAgICAg
ICAgIG5ld1N0cmVhbVtwXSA9IHN0cmVhbVtwXTsKICAgICAgICB9CiAgICAgICAgc3RyZWFtID0g
bmV3U3RyZWFtOwogICAgICAgIHZhciBmZCA9IEZTLm5leHRmZChmZF9zdGFydCwgZmRfZW5kKTsK
ICAgICAgICBzdHJlYW0uZmQgPSBmZDsKICAgICAgICBGUy5zdHJlYW1zW2ZkXSA9IHN0cmVhbTsK
ICAgICAgICByZXR1cm4gc3RyZWFtOwogICAgICB9LGNsb3NlU3RyZWFtOmZ1bmN0aW9uIChmZCkg
ewogICAgICAgIEZTLnN0cmVhbXNbZmRdID0gbnVsbDsKICAgICAgfSxnZXRTdHJlYW1Gcm9tUHRy
OmZ1bmN0aW9uIChwdHIpIHsKICAgICAgICByZXR1cm4gRlMuc3RyZWFtc1twdHIgLSAxXTsKICAg
ICAgfSxnZXRQdHJGb3JTdHJlYW06ZnVuY3Rpb24gKHN0cmVhbSkgewogICAgICAgIHJldHVybiBz
dHJlYW0gPyBzdHJlYW0uZmQgKyAxIDogMDsKICAgICAgfSxjaHJkZXZfc3RyZWFtX29wczp7b3Bl
bjpmdW5jdGlvbiAoc3RyZWFtKSB7CiAgICAgICAgICB2YXIgZGV2aWNlID0gRlMuZ2V0RGV2aWNl
KHN0cmVhbS5ub2RlLnJkZXYpOwogICAgICAgICAgLy8gb3ZlcnJpZGUgbm9kZSdzIHN0cmVhbSBv
cHMgd2l0aCB0aGUgZGV2aWNlJ3MKICAgICAgICAgIHN0cmVhbS5zdHJlYW1fb3BzID0gZGV2aWNl
LnN0cmVhbV9vcHM7CiAgICAgICAgICAvLyBmb3J3YXJkIHRoZSBvcGVuIGNhbGwKICAgICAgICAg
IGlmIChzdHJlYW0uc3RyZWFtX29wcy5vcGVuKSB7CiAgICAgICAgICAgIHN0cmVhbS5zdHJlYW1f
b3BzLm9wZW4oc3RyZWFtKTsKICAgICAgICAgIH0KICAgICAgICB9LGxsc2VlazpmdW5jdGlvbiAo
KSB7CiAgICAgICAgICB0aHJvdyBuZXcgRlMuRXJybm9FcnJvcihFUlJOT19DT0RFUy5FU1BJUEUp
OwogICAgICAgIH19LG1ham9yOmZ1bmN0aW9uIChkZXYpIHsKICAgICAgICByZXR1cm4gKChkZXYp
ID4+IDgpOwogICAgICB9LG1pbm9yOmZ1bmN0aW9uIChkZXYpIHsKICAgICAgICByZXR1cm4gKChk
ZXYpICYgMHhmZik7CiAgICAgIH0sbWFrZWRldjpmdW5jdGlvbiAobWEsIG1pKSB7CiAgICAgICAg
cmV0dXJuICgobWEpIDw8IDggfCAobWkpKTsKICAgICAgfSxyZWdpc3RlckRldmljZTpmdW5jdGlv
biAoZGV2LCBvcHMpIHsKICAgICAgICBGUy5kZXZpY2VzW2Rldl0gPSB7IHN0cmVhbV9vcHM6IG9w
cyB9OwogICAgICB9LGdldERldmljZTpmdW5jdGlvbiAoZGV2KSB7CiAgICAgICAgcmV0dXJuIEZT
LmRldmljZXNbZGV2XTsKICAgICAgfSxnZXRNb3VudHM6ZnVuY3Rpb24gKG1vdW50KSB7CiAgICAg
ICAgdmFyIG1vdW50cyA9IFtdOwogICAgICAgIHZhciBjaGVjayA9IFttb3VudF07CiAgCiAgICAg
ICAgd2hpbGUgKGNoZWNrLmxlbmd0aCkgewogICAgICAgICAgdmFyIG0gPSBjaGVjay5wb3AoKTsK
ICAKICAgICAgICAgIG1vdW50cy5wdXNoKG0pOwogIAogICAgICAgICAgY2hlY2sucHVzaC5hcHBs
eShjaGVjaywgbS5tb3VudHMpOwogICAgICAgIH0KICAKICAgICAgICByZXR1cm4gbW91bnRzOwog
ICAgICB9LHN5bmNmczpmdW5jdGlvbiAocG9wdWxhdGUsIGNhbGxiYWNrKSB7CiAgICAgICAgaWYg
KHR5cGVvZihwb3B1bGF0ZSkgPT09ICdmdW5jdGlvbicpIHsKICAgICAgICAgIGNhbGxiYWNrID0g
cG9wdWxhdGU7CiAgICAgICAgICBwb3B1bGF0ZSA9IGZhbHNlOwogICAgICAgIH0KICAKICAgICAg
ICB2YXIgbW91bnRzID0gRlMuZ2V0TW91bnRzKEZTLnJvb3QubW91bnQpOwogICAgICAgIHZhciBj
b21wbGV0ZWQgPSAwOwogIAogICAgICAgIGZ1bmN0aW9uIGRvbmUoZXJyKSB7CiAgICAgICAgICBp
ZiAoZXJyKSB7CiAgICAgICAgICAgIGlmICghZG9uZS5lcnJvcmVkKSB7CiAgICAgICAgICAgICAg
ZG9uZS5lcnJvcmVkID0gdHJ1ZTsKICAgICAgICAgICAgICByZXR1cm4gY2FsbGJhY2soZXJyKTsK
ICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm47CiAgICAgICAgICB9CiAgICAgICAgICBp
ZiAoKytjb21wbGV0ZWQgPj0gbW91bnRzLmxlbmd0aCkgewogICAgICAgICAgICBjYWxsYmFjayhu
dWxsKTsKICAgICAgICAgIH0KICAgICAgICB9OwogIAogICAgICAgIC8vIHN5bmMgYWxsIG1vdW50
cwogICAgICAgIG1vdW50cy5mb3JFYWNoKGZ1bmN0aW9uIChtb3VudCkgewogICAgICAgICAgaWYg
KCFtb3VudC50eXBlLnN5bmNmcykgewogICAgICAgICAgICByZXR1cm4gZG9uZShudWxsKTsKICAg
ICAgICAgIH0KICAgICAgICAgIG1vdW50LnR5cGUuc3luY2ZzKG1vdW50LCBwb3B1bGF0ZSwgZG9u
ZSk7CiAgICAgICAgfSk7CiAgICAgIH0sbW91bnQ6ZnVuY3Rpb24gKHR5cGUsIG9wdHMsIG1vdW50
cG9pbnQpIHsKICAgICAgICB2YXIgcm9vdCA9IG1vdW50cG9pbnQgPT09ICcvJzsKICAgICAgICB2
YXIgcHNldWRvID0gIW1vdW50cG9pbnQ7CiAgICAgICAgdmFyIG5vZGU7CiAgCiAgICAgICAgaWYg
KHJvb3QgJiYgRlMucm9vdCkgewogICAgICAgICAgdGhyb3cgbmV3IEZTLkVycm5vRXJyb3IoRVJS
Tk9fQ09ERVMuRUJVU1kpOwogICAgICAgIH0gZWxzZSBpZiAoIXJvb3QgJiYgIXBzZXVkbykgewog
ICAgICAgICAgdmFyIGxvb2t1cCA9IEZTLmxvb2t1cFBhdGgobW91bnRwb2ludCwgeyBmb2xsb3df
bW91bnQ6IGZhbHNlIH0pOwogIAogICAgICAgICAgbW91bnRwb2ludCA9IGxvb2t1cC5wYXRoOyAg
Ly8gdXNlIHRoZSBhYnNvbHV0ZSBwYXRoCiAgICAgICAgICBub2RlID0gbG9va3VwLm5vZGU7CiAg
CiAgICAgICAgICBpZiAoRlMuaXNNb3VudHBvaW50KG5vZGUpKSB7CiAgICAgICAgICAgIHRocm93
IG5ldyBGUy5FcnJub0Vycm9yKEVSUk5PX0NPREVTLkVCVVNZKTsKICAgICAgICAgIH0KICAKICAg
ICAgICAgIGlmICghRlMuaXNEaXIobm9kZS5tb2RlKSkgewogICAgICAgICAgICB0aHJvdyBuZXcg
RlMuRXJybm9FcnJvcihFUlJOT19DT0RFUy5FTk9URElSKTsKICAgICAgICAgIH0KICAgICAgICB9
CiAgCiAgICAgICAgdmFyIG1vdW50ID0gewogICAgICAgICAgdHlwZTogdHlwZSwKICAgICAgICAg
IG9wdHM6IG9wdHMsCiAgICAgICAgICBtb3VudHBvaW50OiBtb3VudHBvaW50LAogICAgICAgICAg
bW91bnRzOiBbXQogICAgICAgIH07CiAgCiAgICAgICAgLy8gY3JlYXRlIGEgcm9vdCBub2RlIGZv
ciB0aGUgZnMKICAgICAgICB2YXIgbW91bnRSb290ID0gdHlwZS5tb3VudChtb3VudCk7CiAgICAg
ICAgbW91bnRSb290Lm1vdW50ID0gbW91bnQ7CiAgICAgICAgbW91bnQucm9vdCA9IG1vdW50Um9v
dDsKICAKICAgICAgICBpZiAocm9vdCkgewogICAgICAgICAgRlMucm9vdCA9IG1vdW50Um9vdDsK
ICAgICAgICB9IGVsc2UgaWYgKG5vZGUpIHsKICAgICAgICAgIC8vIHNldCBhcyBhIG1vdW50cG9p
bnQKICAgICAgICAgIG5vZGUubW91bnRlZCA9IG1vdW50OwogIAogICAgICAgICAgLy8gYWRkIHRo
ZSBuZXcgbW91bnQgdG8gdGhlIGN1cnJlbnQgbW91bnQncyBjaGlsZHJlbgogICAgICAgICAgaWYg
KG5vZGUubW91bnQpIHsKICAgICAgICAgICAgbm9kZS5tb3VudC5tb3VudHMucHVzaChtb3VudCk7
CiAgICAgICAgICB9CiAgICAgICAgfQogIAogICAgICAgIHJldHVybiBtb3VudFJvb3Q7CiAgICAg
IH0sdW5tb3VudDpmdW5jdGlvbiAobW91bnRwb2ludCkgewogICAgICAgIHZhciBsb29rdXAgPSBG
Uy5sb29rdXBQYXRoKG1vdW50cG9pbnQsIHsgZm9sbG93X21vdW50OiBmYWxzZSB9KTsKICAKICAg
ICAgICBpZiAoIUZTLmlzTW91bnRwb2ludChsb29rdXAubm9kZSkpIHsKICAgICAgICAgIHRocm93
IG5ldyBGUy5FcnJub0Vycm9yKEVSUk5PX0NPREVTLkVJTlZBTCk7CiAgICAgICAgfQogIAogICAg
ICAgIC8vIGRlc3Ryb3kgdGhlIG5vZGVzIGZvciB0aGlzIG1vdW50LCBhbmQgYWxsIGl0cyBjaGls
ZCBtb3VudHMKICAgICAgICB2YXIgbm9kZSA9IGxvb2t1cC5ub2RlOwogICAgICAgIHZhciBtb3Vu
dCA9IG5vZGUubW91bnRlZDsKICAgICAgICB2YXIgbW91bnRzID0gRlMuZ2V0TW91bnRzKG1vdW50
KTsKICAKICAgICAgICBPYmplY3Qua2V5cyhGUy5uYW1lVGFibGUpLmZvckVhY2goZnVuY3Rpb24g
KGhhc2gpIHsKICAgICAgICAgIHZhciBjdXJyZW50ID0gRlMubmFtZVRhYmxlW2hhc2hdOwogIAog
ICAgICAgICAgd2hpbGUgKGN1cnJlbnQpIHsKICAgICAgICAgICAgdmFyIG5leHQgPSBjdXJyZW50
Lm5hbWVfbmV4dDsKICAKICAgICAgICAgICAgaWYgKG1vdW50cy5pbmRleE9mKGN1cnJlbnQubW91
bnQpICE9PSAtMSkgewogICAgICAgICAgICAgIEZTLmRlc3Ryb3lOb2RlKGN1cnJlbnQpOwogICAg
ICAgICAgICB9CiAgCiAgICAgICAgICAgIGN1cnJlbnQgPSBuZXh0OwogICAgICAgICAgfQogICAg
ICAgIH0pOwogIAogICAgICAgIC8vIG5vIGxvbmdlciBhIG1vdW50cG9pbnQKICAgICAgICBub2Rl
Lm1vdW50ZWQgPSBudWxsOwogIAogICAgICAgIC8vIHJlbW92ZSB0aGlzIG1vdW50IGZyb20gdGhl
IGNoaWxkIG1vdW50cwogICAgICAgIHZhciBpZHggPSBub2RlLm1vdW50Lm1vdW50cy5pbmRleE9m
KG1vdW50KTsKICAgICAgICBhc3NlcnQoaWR4ICE9PSAtMSk7CiAgICAgICAgbm9kZS5tb3VudC5t
b3VudHMuc3BsaWNlKGlkeCwgMSk7CiAgICAgIH0sbG9va3VwOmZ1bmN0aW9uIChwYXJlbnQsIG5h
bWUpIHsKICAgICAgICByZXR1cm4gcGFyZW50Lm5vZGVfb3BzLmxvb2t1cChwYXJlbnQsIG5hbWUp
OwogICAgICB9LG1rbm9kOmZ1bmN0aW9uIChwYXRoLCBtb2RlLCBkZXYpIHsKICAgICAgICB2YXIg
bG9va3VwID0gRlMubG9va3VwUGF0aChwYXRoLCB7IHBhcmVudDogdHJ1ZSB9KTsKICAgICAgICB2
YXIgcGFyZW50ID0gbG9va3VwLm5vZGU7CiAgICAgICAgdmFyIG5hbWUgPSBQQVRILmJhc2VuYW1l
KHBhdGgpOwogICAgICAgIHZhciBlcnIgPSBGUy5tYXlDcmVhdGUocGFyZW50LCBuYW1lKTsKICAg
ICAgICBpZiAoZXJyKSB7CiAgICAgICAgICB0aHJvdyBuZXcgRlMuRXJybm9FcnJvcihlcnIpOwog
ICAgICAgIH0KICAgICAgICBpZiAoIXBhcmVudC5ub2RlX29wcy5ta25vZCkgewogICAgICAgICAg
dGhyb3cgbmV3IEZTLkVycm5vRXJyb3IoRVJSTk9fQ09ERVMuRVBFUk0pOwogICAgICAgIH0KICAg
ICAgICByZXR1cm4gcGFyZW50Lm5vZGVfb3BzLm1rbm9kKHBhcmVudCwgbmFtZSwgbW9kZSwgZGV2
KTsKICAgICAgfSxjcmVhdGU6ZnVuY3Rpb24gKHBhdGgsIG1vZGUpIHsKICAgICAgICBtb2RlID0g
bW9kZSAhPT0gdW5kZWZpbmVkID8gbW9kZSA6IDQzOCAvKiAwNjY2ICovOwogICAgICAgIG1vZGUg
Jj0gNDA5NTsKICAgICAgICBtb2RlIHw9IDMyNzY4OwogICAgICAgIHJldHVybiBGUy5ta25vZChw
YXRoLCBtb2RlLCAwKTsKICAgICAgfSxta2RpcjpmdW5jdGlvbiAocGF0aCwgbW9kZSkgewogICAg
ICAgIG1vZGUgPSBtb2RlICE9PSB1bmRlZmluZWQgPyBtb2RlIDogNTExIC8qIDA3NzcgKi87CiAg
ICAgICAgbW9kZSAmPSA1MTEgfCA1MTI7CiAgICAgICAgbW9kZSB8PSAxNjM4NDsKICAgICAgICBy
ZXR1cm4gRlMubWtub2QocGF0aCwgbW9kZSwgMCk7CiAgICAgIH0sbWtkZXY6ZnVuY3Rpb24gKHBh
dGgsIG1vZGUsIGRldikgewogICAgICAgIGlmICh0eXBlb2YoZGV2KSA9PT0gJ3VuZGVmaW5lZCcp
IHsKICAgICAgICAgIGRldiA9IG1vZGU7CiAgICAgICAgICBtb2RlID0gNDM4IC8qIDA2NjYgKi87
CiAgICAgICAgfQogICAgICAgIG1vZGUgfD0gODE5MjsKICAgICAgICByZXR1cm4gRlMubWtub2Qo
cGF0aCwgbW9kZSwgZGV2KTsKICAgICAgfSxzeW1saW5rOmZ1bmN0aW9uIChvbGRwYXRoLCBuZXdw
YXRoKSB7CiAgICAgICAgdmFyIGxvb2t1cCA9IEZTLmxvb2t1cFBhdGgobmV3cGF0aCwgeyBwYXJl
bnQ6IHRydWUgfSk7CiAgICAgICAgdmFyIHBhcmVudCA9IGxvb2t1cC5ub2RlOwogICAgICAgIHZh
ciBuZXduYW1lID0gUEFUSC5iYXNlbmFtZShuZXdwYXRoKTsKICAgICAgICB2YXIgZXJyID0gRlMu
bWF5Q3JlYXRlKHBhcmVudCwgbmV3bmFtZSk7CiAgICAgICAgaWYgKGVycikgewogICAgICAgICAg
dGhyb3cgbmV3IEZTLkVycm5vRXJyb3IoZXJyKTsKICAgICAgICB9CiAgICAgICAgaWYgKCFwYXJl
bnQubm9kZV9vcHMuc3ltbGluaykgewogICAgICAgICAgdGhyb3cgbmV3IEZTLkVycm5vRXJyb3Io
RVJSTk9fQ09ERVMuRVBFUk0pOwogICAgICAgIH0KICAgICAgICByZXR1cm4gcGFyZW50Lm5vZGVf
b3BzLnN5bWxpbmsocGFyZW50LCBuZXduYW1lLCBvbGRwYXRoKTsKICAgICAgfSxyZW5hbWU6ZnVu
Y3Rpb24gKG9sZF9wYXRoLCBuZXdfcGF0aCkgewogICAgICAgIHZhciBvbGRfZGlybmFtZSA9IFBB
VEguZGlybmFtZShvbGRfcGF0aCk7CiAgICAgICAgdmFyIG5ld19kaXJuYW1lID0gUEFUSC5kaXJu
YW1lKG5ld19wYXRoKTsKICAgICAgICB2YXIgb2xkX25hbWUgPSBQQVRILmJhc2VuYW1lKG9sZF9w
YXRoKTsKICAgICAgICB2YXIgbmV3X25hbWUgPSBQQVRILmJhc2VuYW1lKG5ld19wYXRoKTsKICAg
ICAgICAvLyBwYXJlbnRzIG11c3QgZXhpc3QKICAgICAgICB2YXIgbG9va3VwLCBvbGRfZGlyLCBu
ZXdfZGlyOwogICAgICAgIHRyeSB7CiAgICAgICAgICBsb29rdXAgPSBGUy5sb29rdXBQYXRoKG9s
ZF9wYXRoLCB7IHBhcmVudDogdHJ1ZSB9KTsKICAgICAgICAgIG9sZF9kaXIgPSBsb29rdXAubm9k
ZTsKICAgICAgICAgIGxvb2t1cCA9IEZTLmxvb2t1cFBhdGgobmV3X3BhdGgsIHsgcGFyZW50OiB0
cnVlIH0pOwogICAgICAgICAgbmV3X2RpciA9IGxvb2t1cC5ub2RlOwogICAgICAgIH0gY2F0Y2gg
KGUpIHsKICAgICAgICAgIHRocm93IG5ldyBGUy5FcnJub0Vycm9yKEVSUk5PX0NPREVTLkVCVVNZ
KTsKICAgICAgICB9CiAgICAgICAgLy8gbmVlZCB0byBiZSBwYXJ0IG9mIHRoZSBzYW1lIG1vdW50
CiAgICAgICAgaWYgKG9sZF9kaXIubW91bnQgIT09IG5ld19kaXIubW91bnQpIHsKICAgICAgICAg
IHRocm93IG5ldyBGUy5FcnJub0Vycm9yKEVSUk5PX0NPREVTLkVYREVWKTsKICAgICAgICB9CiAg
ICAgICAgLy8gc291cmNlIG11c3QgZXhpc3QKICAgICAgICB2YXIgb2xkX25vZGUgPSBGUy5sb29r
dXBOb2RlKG9sZF9kaXIsIG9sZF9uYW1lKTsKICAgICAgICAvLyBvbGQgcGF0aCBzaG91bGQgbm90
IGJlIGFuIGFuY2VzdG9yIG9mIHRoZSBuZXcgcGF0aAogICAgICAgIHZhciByZWxhdGl2ZSA9IFBB
VEgucmVsYXRpdmUob2xkX3BhdGgsIG5ld19kaXJuYW1lKTsKICAgICAgICBpZiAocmVsYXRpdmUu
Y2hhckF0KDApICE9PSAnLicpIHsKICAgICAgICAgIHRocm93IG5ldyBGUy5FcnJub0Vycm9yKEVS
Uk5PX0NPREVTLkVJTlZBTCk7CiAgICAgICAgfQogICAgICAgIC8vIG5ldyBwYXRoIHNob3VsZCBu
b3QgYmUgYW4gYW5jZXN0b3Igb2YgdGhlIG9sZCBwYXRoCiAgICAgICAgcmVsYXRpdmUgPSBQQVRI
LnJlbGF0aXZlKG5ld19wYXRoLCBvbGRfZGlybmFtZSk7CiAgICAgICAgaWYgKHJlbGF0aXZlLmNo
YXJBdCgwKSAhPT0gJy4nKSB7CiAgICAgICAgICB0aHJvdyBuZXcgRlMuRXJybm9FcnJvcihFUlJO
T19DT0RFUy5FTk9URU1QVFkpOwogICAgICAgIH0KICAgICAgICAvLyBzZWUgaWYgdGhlIG5ldyBw
YXRoIGFscmVhZHkgZXhpc3RzCiAgICAgICAgdmFyIG5ld19ub2RlOwogICAgICAgIHRyeSB7CiAg
ICAgICAgICBuZXdfbm9kZSA9IEZTLmxvb2t1cE5vZGUobmV3X2RpciwgbmV3X25hbWUpOwogICAg
ICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgICAgIC8vIG5vdCBmYXRhbAogICAgICAgIH0KICAgICAg
ICAvLyBlYXJseSBvdXQgaWYgbm90aGluZyBuZWVkcyB0byBjaGFuZ2UKICAgICAgICBpZiAob2xk
X25vZGUgPT09IG5ld19ub2RlKSB7CiAgICAgICAgICByZXR1cm47CiAgICAgICAgfQogICAgICAg
IC8vIHdlJ2xsIG5lZWQgdG8gZGVsZXRlIHRoZSBvbGQgZW50cnkKICAgICAgICB2YXIgaXNkaXIg
PSBGUy5pc0RpcihvbGRfbm9kZS5tb2RlKTsKICAgICAgICB2YXIgZXJyID0gRlMubWF5RGVsZXRl
KG9sZF9kaXIsIG9sZF9uYW1lLCBpc2Rpcik7CiAgICAgICAgaWYgKGVycikgewogICAgICAgICAg
dGhyb3cgbmV3IEZTLkVycm5vRXJyb3IoZXJyKTsKICAgICAgICB9CiAgICAgICAgLy8gbmVlZCBk
ZWxldGUgcGVybWlzc2lvbnMgaWYgd2UnbGwgYmUgb3ZlcndyaXRpbmcuCiAgICAgICAgLy8gbmVl
ZCBjcmVhdGUgcGVybWlzc2lvbnMgaWYgbmV3IGRvZXNuJ3QgYWxyZWFkeSBleGlzdC4KICAgICAg
ICBlcnIgPSBuZXdfbm9kZSA/CiAgICAgICAgICBGUy5tYXlEZWxldGUobmV3X2RpciwgbmV3X25h
bWUsIGlzZGlyKSA6CiAgICAgICAgICBGUy5tYXlDcmVhdGUobmV3X2RpciwgbmV3X25hbWUpOwog
ICAgICAgIGlmIChlcnIpIHsKICAgICAgICAgIHRocm93IG5ldyBGUy5FcnJub0Vycm9yKGVycik7
CiAgICAgICAgfQogICAgICAgIGlmICghb2xkX2Rpci5ub2RlX29wcy5yZW5hbWUpIHsKICAgICAg
ICAgIHRocm93IG5ldyBGUy5FcnJub0Vycm9yKEVSUk5PX0NPREVTLkVQRVJNKTsKICAgICAgICB9
CiAgICAgICAgaWYgKEZTLmlzTW91bnRwb2ludChvbGRfbm9kZSkgfHwgKG5ld19ub2RlICYmIEZT
LmlzTW91bnRwb2ludChuZXdfbm9kZSkpKSB7CiAgICAgICAgICB0aHJvdyBuZXcgRlMuRXJybm9F
cnJvcihFUlJOT19DT0RFUy5FQlVTWSk7CiAgICAgICAgfQogICAgICAgIC8vIGlmIHdlIGFyZSBn
b2luZyB0byBjaGFuZ2UgdGhlIHBhcmVudCwgY2hlY2sgd3JpdGUgcGVybWlzc2lvbnMKICAgICAg
ICBpZiAobmV3X2RpciAhPT0gb2xkX2RpcikgewogICAgICAgICAgZXJyID0gRlMubm9kZVBlcm1p
c3Npb25zKG9sZF9kaXIsICd3Jyk7CiAgICAgICAgICBpZiAoZXJyKSB7CiAgICAgICAgICAgIHRo
cm93IG5ldyBGUy5FcnJub0Vycm9yKGVycik7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICAg
IC8vIHJlbW92ZSB0aGUgbm9kZSBmcm9tIHRoZSBsb29rdXAgaGFzaAogICAgICAgIEZTLmhhc2hS
ZW1vdmVOb2RlKG9sZF9ub2RlKTsKICAgICAgICAvLyBkbyB0aGUgdW5kZXJseWluZyBmcyByZW5h
bWUKICAgICAgICB0cnkgewogICAgICAgICAgb2xkX2Rpci5ub2RlX29wcy5yZW5hbWUob2xkX25v
ZGUsIG5ld19kaXIsIG5ld19uYW1lKTsKICAgICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgICB0
aHJvdyBlOwogICAgICAgIH0gZmluYWxseSB7CiAgICAgICAgICAvLyBhZGQgdGhlIG5vZGUgYmFj
ayB0byB0aGUgaGFzaCAoaW4gY2FzZSBub2RlX29wcy5yZW5hbWUKICAgICAgICAgIC8vIGNoYW5n
ZWQgaXRzIG5hbWUpCiAgICAgICAgICBGUy5oYXNoQWRkTm9kZShvbGRfbm9kZSk7CiAgICAgICAg
fQogICAgICB9LHJtZGlyOmZ1bmN0aW9uIChwYXRoKSB7CiAgICAgICAgdmFyIGxvb2t1cCA9IEZT
Lmxvb2t1cFBhdGgocGF0aCwgeyBwYXJlbnQ6IHRydWUgfSk7CiAgICAgICAgdmFyIHBhcmVudCA9
IGxvb2t1cC5ub2RlOwogICAgICAgIHZhciBuYW1lID0gUEFUSC5iYXNlbmFtZShwYXRoKTsKICAg
ICAgICB2YXIgbm9kZSA9IEZTLmxvb2t1cE5vZGUocGFyZW50LCBuYW1lKTsKICAgICAgICB2YXIg
ZXJyID0gRlMubWF5RGVsZXRlKHBhcmVudCwgbmFtZSwgdHJ1ZSk7CiAgICAgICAgaWYgKGVycikg
ewogICAgICAgICAgdGhyb3cgbmV3IEZTLkVycm5vRXJyb3IoZXJyKTsKICAgICAgICB9CiAgICAg
ICAgaWYgKCFwYXJlbnQubm9kZV9vcHMucm1kaXIpIHsKICAgICAgICAgIHRocm93IG5ldyBGUy5F
cnJub0Vycm9yKEVSUk5PX0NPREVTLkVQRVJNKTsKICAgICAgICB9CiAgICAgICAgaWYgKEZTLmlz
TW91bnRwb2ludChub2RlKSkgewogICAgICAgICAgdGhyb3cgbmV3IEZTLkVycm5vRXJyb3IoRVJS
Tk9fQ09ERVMuRUJVU1kpOwogICAgICAgIH0KICAgICAgICBwYXJlbnQubm9kZV9vcHMucm1kaXIo
cGFyZW50LCBuYW1lKTsKICAgICAgICBGUy5kZXN0cm95Tm9kZShub2RlKTsKICAgICAgfSxyZWFk
ZGlyOmZ1bmN0aW9uIChwYXRoKSB7CiAgICAgICAgdmFyIGxvb2t1cCA9IEZTLmxvb2t1cFBhdGgo
cGF0aCwgeyBmb2xsb3c6IHRydWUgfSk7CiAgICAgICAgdmFyIG5vZGUgPSBsb29rdXAubm9kZTsK
ICAgICAgICBpZiAoIW5vZGUubm9kZV9vcHMucmVhZGRpcikgewogICAgICAgICAgdGhyb3cgbmV3
IEZTLkVycm5vRXJyb3IoRVJSTk9fQ09ERVMuRU5PVERJUik7CiAgICAgICAgfQogICAgICAgIHJl
dHVybiBub2RlLm5vZGVfb3BzLnJlYWRkaXIobm9kZSk7CiAgICAgIH0sdW5saW5rOmZ1bmN0aW9u
IChwYXRoKSB7CiAgICAgICAgdmFyIGxvb2t1cCA9IEZTLmxvb2t1cFBhdGgocGF0aCwgeyBwYXJl
bnQ6IHRydWUgfSk7CiAgICAgICAgdmFyIHBhcmVudCA9IGxvb2t1cC5ub2RlOwogICAgICAgIHZh
ciBuYW1lID0gUEFUSC5iYXNlbmFtZShwYXRoKTsKICAgICAgICB2YXIgbm9kZSA9IEZTLmxvb2t1
cE5vZGUocGFyZW50LCBuYW1lKTsKICAgICAgICB2YXIgZXJyID0gRlMubWF5RGVsZXRlKHBhcmVu
dCwgbmFtZSwgZmFsc2UpOwogICAgICAgIGlmIChlcnIpIHsKICAgICAgICAgIC8vIFBPU0lYIHNh
eXMgdW5saW5rIHNob3VsZCBzZXQgRVBFUk0sIG5vdCBFSVNESVIKICAgICAgICAgIGlmIChlcnIg
PT09IEVSUk5PX0NPREVTLkVJU0RJUikgZXJyID0gRVJSTk9fQ09ERVMuRVBFUk07CiAgICAgICAg
ICB0aHJvdyBuZXcgRlMuRXJybm9FcnJvcihlcnIpOwogICAgICAgIH0KICAgICAgICBpZiAoIXBh
cmVudC5ub2RlX29wcy51bmxpbmspIHsKICAgICAgICAgIHRocm93IG5ldyBGUy5FcnJub0Vycm9y
KEVSUk5PX0NPREVTLkVQRVJNKTsKICAgICAgICB9CiAgICAgICAgaWYgKEZTLmlzTW91bnRwb2lu
dChub2RlKSkgewogICAgICAgICAgdGhyb3cgbmV3IEZTLkVycm5vRXJyb3IoRVJSTk9fQ09ERVMu
RUJVU1kpOwogICAgICAgIH0KICAgICAgICBwYXJlbnQubm9kZV9vcHMudW5saW5rKHBhcmVudCwg
bmFtZSk7CiAgICAgICAgRlMuZGVzdHJveU5vZGUobm9kZSk7CiAgICAgIH0scmVhZGxpbms6ZnVu
Y3Rpb24gKHBhdGgpIHsKICAgICAgICB2YXIgbG9va3VwID0gRlMubG9va3VwUGF0aChwYXRoKTsK
ICAgICAgICB2YXIgbGluayA9IGxvb2t1cC5ub2RlOwogICAgICAgIGlmICghbGluay5ub2RlX29w
cy5yZWFkbGluaykgewogICAgICAgICAgdGhyb3cgbmV3IEZTLkVycm5vRXJyb3IoRVJSTk9fQ09E
RVMuRUlOVkFMKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIGxpbmsubm9kZV9vcHMucmVhZGxp
bmsobGluayk7CiAgICAgIH0sc3RhdDpmdW5jdGlvbiAocGF0aCwgZG9udEZvbGxvdykgewogICAg
ICAgIHZhciBsb29rdXAgPSBGUy5sb29rdXBQYXRoKHBhdGgsIHsgZm9sbG93OiAhZG9udEZvbGxv
dyB9KTsKICAgICAgICB2YXIgbm9kZSA9IGxvb2t1cC5ub2RlOwogICAgICAgIGlmICghbm9kZS5u
b2RlX29wcy5nZXRhdHRyKSB7CiAgICAgICAgICB0aHJvdyBuZXcgRlMuRXJybm9FcnJvcihFUlJO
T19DT0RFUy5FUEVSTSk7CiAgICAgICAgfQogICAgICAgIHJldHVybiBub2RlLm5vZGVfb3BzLmdl
dGF0dHIobm9kZSk7CiAgICAgIH0sbHN0YXQ6ZnVuY3Rpb24gKHBhdGgpIHsKICAgICAgICByZXR1
cm4gRlMuc3RhdChwYXRoLCB0cnVlKTsKICAgICAgfSxjaG1vZDpmdW5jdGlvbiAocGF0aCwgbW9k
ZSwgZG9udEZvbGxvdykgewogICAgICAgIHZhciBub2RlOwogICAgICAgIGlmICh0eXBlb2YgcGF0
aCA9PT0gJ3N0cmluZycpIHsKICAgICAgICAgIHZhciBsb29rdXAgPSBGUy5sb29rdXBQYXRoKHBh
dGgsIHsgZm9sbG93OiAhZG9udEZvbGxvdyB9KTsKICAgICAgICAgIG5vZGUgPSBsb29rdXAubm9k
ZTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgbm9kZSA9IHBhdGg7CiAgICAgICAgfQogICAg
ICAgIGlmICghbm9kZS5ub2RlX29wcy5zZXRhdHRyKSB7CiAgICAgICAgICB0aHJvdyBuZXcgRlMu
RXJybm9FcnJvcihFUlJOT19DT0RFUy5FUEVSTSk7CiAgICAgICAgfQogICAgICAgIG5vZGUubm9k
ZV9vcHMuc2V0YXR0cihub2RlLCB7CiAgICAgICAgICBtb2RlOiAobW9kZSAmIDQwOTUpIHwgKG5v
ZGUubW9kZSAmIH40MDk1KSwKICAgICAgICAgIHRpbWVzdGFtcDogRGF0ZS5ub3coKQogICAgICAg
IH0pOwogICAgICB9LGxjaG1vZDpmdW5jdGlvbiAocGF0aCwgbW9kZSkgewogICAgICAgIEZTLmNo
bW9kKHBhdGgsIG1vZGUsIHRydWUpOwogICAgICB9LGZjaG1vZDpmdW5jdGlvbiAoZmQsIG1vZGUp
IHsKICAgICAgICB2YXIgc3RyZWFtID0gRlMuZ2V0U3RyZWFtKGZkKTsKICAgICAgICBpZiAoIXN0
cmVhbSkgewogICAgICAgICAgdGhyb3cgbmV3IEZTLkVycm5vRXJyb3IoRVJSTk9fQ09ERVMuRUJB
REYpOwogICAgICAgIH0KICAgICAgICBGUy5jaG1vZChzdHJlYW0ubm9kZSwgbW9kZSk7CiAgICAg
IH0sY2hvd246ZnVuY3Rpb24gKHBhdGgsIHVpZCwgZ2lkLCBkb250Rm9sbG93KSB7CiAgICAgICAg
dmFyIG5vZGU7CiAgICAgICAgaWYgKHR5cGVvZiBwYXRoID09PSAnc3RyaW5nJykgewogICAgICAg
ICAgdmFyIGxvb2t1cCA9IEZTLmxvb2t1cFBhdGgocGF0aCwgeyBmb2xsb3c6ICFkb250Rm9sbG93
IH0pOwogICAgICAgICAgbm9kZSA9IGxvb2t1cC5ub2RlOwogICAgICAgIH0gZWxzZSB7CiAgICAg
ICAgICBub2RlID0gcGF0aDsKICAgICAgICB9CiAgICAgICAgaWYgKCFub2RlLm5vZGVfb3BzLnNl
dGF0dHIpIHsKICAgICAgICAgIHRocm93IG5ldyBGUy5FcnJub0Vycm9yKEVSUk5PX0NPREVTLkVQ
RVJNKTsKICAgICAgICB9CiAgICAgICAgbm9kZS5ub2RlX29wcy5zZXRhdHRyKG5vZGUsIHsKICAg
ICAgICAgIHRpbWVzdGFtcDogRGF0ZS5ub3coKQogICAgICAgICAgLy8gd2UgaWdub3JlIHRoZSB1
aWQgLyBnaWQgZm9yIG5vdwogICAgICAgIH0pOwogICAgICB9LGxjaG93bjpmdW5jdGlvbiAocGF0
aCwgdWlkLCBnaWQpIHsKICAgICAgICBGUy5jaG93bihwYXRoLCB1aWQsIGdpZCwgdHJ1ZSk7CiAg
ICAgIH0sZmNob3duOmZ1bmN0aW9uIChmZCwgdWlkLCBnaWQpIHsKICAgICAgICB2YXIgc3RyZWFt
ID0gRlMuZ2V0U3RyZWFtKGZkKTsKICAgICAgICBpZiAoIXN0cmVhbSkgewogICAgICAgICAgdGhy
b3cgbmV3IEZTLkVycm5vRXJyb3IoRVJSTk9fQ09ERVMuRUJBREYpOwogICAgICAgIH0KICAgICAg
ICBGUy5jaG93bihzdHJlYW0ubm9kZSwgdWlkLCBnaWQpOwogICAgICB9LHRydW5jYXRlOmZ1bmN0
aW9uIChwYXRoLCBsZW4pIHsKICAgICAgICBpZiAobGVuIDwgMCkgewogICAgICAgICAgdGhyb3cg
bmV3IEZTLkVycm5vRXJyb3IoRVJSTk9fQ09ERVMuRUlOVkFMKTsKICAgICAgICB9CiAgICAgICAg
dmFyIG5vZGU7CiAgICAgICAgaWYgKHR5cGVvZiBwYXRoID09PSAnc3RyaW5nJykgewogICAgICAg
ICAgdmFyIGxvb2t1cCA9IEZTLmxvb2t1cFBhdGgocGF0aCwgeyBmb2xsb3c6IHRydWUgfSk7CiAg
ICAgICAgICBub2RlID0gbG9va3VwLm5vZGU7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIG5v
ZGUgPSBwYXRoOwogICAgICAgIH0KICAgICAgICBpZiAoIW5vZGUubm9kZV9vcHMuc2V0YXR0cikg
ewogICAgICAgICAgdGhyb3cgbmV3IEZTLkVycm5vRXJyb3IoRVJSTk9fQ09ERVMuRVBFUk0pOwog
ICAgICAgIH0KICAgICAgICBpZiAoRlMuaXNEaXIobm9kZS5tb2RlKSkgewogICAgICAgICAgdGhy
b3cgbmV3IEZTLkVycm5vRXJyb3IoRVJSTk9fQ09ERVMuRUlTRElSKTsKICAgICAgICB9CiAgICAg
ICAgaWYgKCFGUy5pc0ZpbGUobm9kZS5tb2RlKSkgewogICAgICAgICAgdGhyb3cgbmV3IEZTLkVy
cm5vRXJyb3IoRVJSTk9fQ09ERVMuRUlOVkFMKTsKICAgICAgICB9CiAgICAgICAgdmFyIGVyciA9
IEZTLm5vZGVQZXJtaXNzaW9ucyhub2RlLCAndycpOwogICAgICAgIGlmIChlcnIpIHsKICAgICAg
ICAgIHRocm93IG5ldyBGUy5FcnJub0Vycm9yKGVycik7CiAgICAgICAgfQogICAgICAgIG5vZGUu
bm9kZV9vcHMuc2V0YXR0cihub2RlLCB7CiAgICAgICAgICBzaXplOiBsZW4sCiAgICAgICAgICB0
aW1lc3RhbXA6IERhdGUubm93KCkKICAgICAgICB9KTsKICAgICAgfSxmdHJ1bmNhdGU6ZnVuY3Rp
b24gKGZkLCBsZW4pIHsKICAgICAgICB2YXIgc3RyZWFtID0gRlMuZ2V0U3RyZWFtKGZkKTsKICAg
ICAgICBpZiAoIXN0cmVhbSkgewogICAgICAgICAgdGhyb3cgbmV3IEZTLkVycm5vRXJyb3IoRVJS
Tk9fQ09ERVMuRUJBREYpOwogICAgICAgIH0KICAgICAgICBpZiAoKHN0cmVhbS5mbGFncyAmIDIw
OTcxNTUpID09PSAwKSB7CiAgICAgICAgICB0aHJvdyBuZXcgRlMuRXJybm9FcnJvcihFUlJOT19D
T0RFUy5FSU5WQUwpOwogICAgICAgIH0KICAgICAgICBGUy50cnVuY2F0ZShzdHJlYW0ubm9kZSwg
bGVuKTsKICAgICAgfSx1dGltZTpmdW5jdGlvbiAocGF0aCwgYXRpbWUsIG10aW1lKSB7CiAgICAg
ICAgdmFyIGxvb2t1cCA9IEZTLmxvb2t1cFBhdGgocGF0aCwgeyBmb2xsb3c6IHRydWUgfSk7CiAg
ICAgICAgdmFyIG5vZGUgPSBsb29rdXAubm9kZTsKICAgICAgICBub2RlLm5vZGVfb3BzLnNldGF0
dHIobm9kZSwgewogICAgICAgICAgdGltZXN0YW1wOiBNYXRoLm1heChhdGltZSwgbXRpbWUpCiAg
ICAgICAgfSk7CiAgICAgIH0sb3BlbjpmdW5jdGlvbiAocGF0aCwgZmxhZ3MsIG1vZGUsIGZkX3N0
YXJ0LCBmZF9lbmQpIHsKICAgICAgICBmbGFncyA9IHR5cGVvZiBmbGFncyA9PT0gJ3N0cmluZycg
PyBGUy5tb2RlU3RyaW5nVG9GbGFncyhmbGFncykgOiBmbGFnczsKICAgICAgICBtb2RlID0gdHlw
ZW9mIG1vZGUgPT09ICd1bmRlZmluZWQnID8gNDM4IC8qIDA2NjYgKi8gOiBtb2RlOwogICAgICAg
IGlmICgoZmxhZ3MgJiA2NCkpIHsKICAgICAgICAgIG1vZGUgPSAobW9kZSAmIDQwOTUpIHwgMzI3
Njg7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIG1vZGUgPSAwOwogICAgICAgIH0KICAgICAg
ICB2YXIgbm9kZTsKICAgICAgICBpZiAodHlwZW9mIHBhdGggPT09ICdvYmplY3QnKSB7CiAgICAg
ICAgICBub2RlID0gcGF0aDsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgcGF0aCA9IFBBVEgu
bm9ybWFsaXplKHBhdGgpOwogICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgdmFyIGxvb2t1cCA9
IEZTLmxvb2t1cFBhdGgocGF0aCwgewogICAgICAgICAgICAgIGZvbGxvdzogIShmbGFncyAmIDEz
MTA3MikKICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIG5vZGUgPSBsb29rdXAubm9kZTsKICAg
ICAgICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgICAgICAgLy8gaWdub3JlCiAgICAgICAgICB9CiAg
ICAgICAgfQogICAgICAgIC8vIHBlcmhhcHMgd2UgbmVlZCB0byBjcmVhdGUgdGhlIG5vZGUKICAg
ICAgICBpZiAoKGZsYWdzICYgNjQpKSB7CiAgICAgICAgICBpZiAobm9kZSkgewogICAgICAgICAg
ICAvLyBpZiBPX0NSRUFUIGFuZCBPX0VYQ0wgYXJlIHNldCwgZXJyb3Igb3V0IGlmIHRoZSBub2Rl
IGFscmVhZHkgZXhpc3RzCiAgICAgICAgICAgIGlmICgoZmxhZ3MgJiAxMjgpKSB7CiAgICAgICAg
ICAgICAgdGhyb3cgbmV3IEZTLkVycm5vRXJyb3IoRVJSTk9fQ09ERVMuRUVYSVNUKTsKICAgICAg
ICAgICAgfQogICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgLy8gbm9kZSBkb2Vzbid0IGV4
aXN0LCB0cnkgdG8gY3JlYXRlIGl0CiAgICAgICAgICAgIG5vZGUgPSBGUy5ta25vZChwYXRoLCBt
b2RlLCAwKTsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgaWYgKCFub2RlKSB7CiAgICAg
ICAgICB0aHJvdyBuZXcgRlMuRXJybm9FcnJvcihFUlJOT19DT0RFUy5FTk9FTlQpOwogICAgICAg
IH0KICAgICAgICAvLyBjYW4ndCB0cnVuY2F0ZSBhIGRldmljZQogICAgICAgIGlmIChGUy5pc0No
cmRldihub2RlLm1vZGUpKSB7CiAgICAgICAgICBmbGFncyAmPSB+NTEyOwogICAgICAgIH0KICAg
ICAgICAvLyBjaGVjayBwZXJtaXNzaW9ucwogICAgICAgIHZhciBlcnIgPSBGUy5tYXlPcGVuKG5v
ZGUsIGZsYWdzKTsKICAgICAgICBpZiAoZXJyKSB7CiAgICAgICAgICB0aHJvdyBuZXcgRlMuRXJy
bm9FcnJvcihlcnIpOwogICAgICAgIH0KICAgICAgICAvLyBkbyB0cnVuY2F0aW9uIGlmIG5lY2Vz
c2FyeQogICAgICAgIGlmICgoZmxhZ3MgJiA1MTIpKSB7CiAgICAgICAgICBGUy50cnVuY2F0ZShu
b2RlLCAwKTsKICAgICAgICB9CiAgICAgICAgLy8gd2UndmUgYWxyZWFkeSBoYW5kbGVkIHRoZXNl
LCBkb24ndCBwYXNzIGRvd24gdG8gdGhlIHVuZGVybHlpbmcgdmZzCiAgICAgICAgZmxhZ3MgJj0g
figxMjggfCA1MTIpOwogIAogICAgICAgIC8vIHJlZ2lzdGVyIHRoZSBzdHJlYW0gd2l0aCB0aGUg
ZmlsZXN5c3RlbQogICAgICAgIHZhciBzdHJlYW0gPSBGUy5jcmVhdGVTdHJlYW0oewogICAgICAg
ICAgbm9kZTogbm9kZSwKICAgICAgICAgIHBhdGg6IEZTLmdldFBhdGgobm9kZSksICAvLyB3ZSB3
YW50IHRoZSBhYnNvbHV0ZSBwYXRoIHRvIHRoZSBub2RlCiAgICAgICAgICBmbGFnczogZmxhZ3Ms
CiAgICAgICAgICBzZWVrYWJsZTogdHJ1ZSwKICAgICAgICAgIHBvc2l0aW9uOiAwLAogICAgICAg
ICAgc3RyZWFtX29wczogbm9kZS5zdHJlYW1fb3BzLAogICAgICAgICAgLy8gdXNlZCBieSB0aGUg
ZmlsZSBmYW1pbHkgbGliYyBjYWxscyAoZm9wZW4sIGZ3cml0ZSwgZmVycm9yLCBldGMuKQogICAg
ICAgICAgdW5nb3R0ZW46IFtdLAogICAgICAgICAgZXJyb3I6IGZhbHNlCiAgICAgICAgfSwgZmRf
c3RhcnQsIGZkX2VuZCk7CiAgICAgICAgLy8gY2FsbCB0aGUgbmV3IHN0cmVhbSdzIG9wZW4gZnVu
Y3Rpb24KICAgICAgICBpZiAoc3RyZWFtLnN0cmVhbV9vcHMub3BlbikgewogICAgICAgICAgc3Ry
ZWFtLnN0cmVhbV9vcHMub3BlbihzdHJlYW0pOwogICAgICAgIH0KICAgICAgICBpZiAoTW9kdWxl
Wydsb2dSZWFkRmlsZXMnXSAmJiAhKGZsYWdzICYgMSkpIHsKICAgICAgICAgIGlmICghRlMucmVh
ZEZpbGVzKSBGUy5yZWFkRmlsZXMgPSB7fTsKICAgICAgICAgIGlmICghKHBhdGggaW4gRlMucmVh
ZEZpbGVzKSkgewogICAgICAgICAgICBGUy5yZWFkRmlsZXNbcGF0aF0gPSAxOwogICAgICAgICAg
ICBNb2R1bGVbJ3ByaW50RXJyJ10oJ3JlYWQgZmlsZTogJyArIHBhdGgpOwogICAgICAgICAgfQog
ICAgICAgIH0KICAgICAgICByZXR1cm4gc3RyZWFtOwogICAgICB9LGNsb3NlOmZ1bmN0aW9uIChz
dHJlYW0pIHsKICAgICAgICB0cnkgewogICAgICAgICAgaWYgKHN0cmVhbS5zdHJlYW1fb3BzLmNs
b3NlKSB7CiAgICAgICAgICAgIHN0cmVhbS5zdHJlYW1fb3BzLmNsb3NlKHN0cmVhbSk7CiAgICAg
ICAgICB9CiAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgdGhyb3cgZTsKICAgICAgICB9
IGZpbmFsbHkgewogICAgICAgICAgRlMuY2xvc2VTdHJlYW0oc3RyZWFtLmZkKTsKICAgICAgICB9
CiAgICAgIH0sbGxzZWVrOmZ1bmN0aW9uIChzdHJlYW0sIG9mZnNldCwgd2hlbmNlKSB7CiAgICAg
ICAgaWYgKCFzdHJlYW0uc2Vla2FibGUgfHwgIXN0cmVhbS5zdHJlYW1fb3BzLmxsc2Vlaykgewog
ICAgICAgICAgdGhyb3cgbmV3IEZTLkVycm5vRXJyb3IoRVJSTk9fQ09ERVMuRVNQSVBFKTsKICAg
ICAgICB9CiAgICAgICAgcmV0dXJuIHN0cmVhbS5zdHJlYW1fb3BzLmxsc2VlayhzdHJlYW0sIG9m
ZnNldCwgd2hlbmNlKTsKICAgICAgfSxyZWFkOmZ1bmN0aW9uIChzdHJlYW0sIGJ1ZmZlciwgb2Zm
c2V0LCBsZW5ndGgsIHBvc2l0aW9uKSB7CiAgICAgICAgaWYgKGxlbmd0aCA8IDAgfHwgcG9zaXRp
b24gPCAwKSB7CiAgICAgICAgICB0aHJvdyBuZXcgRlMuRXJybm9FcnJvcihFUlJOT19DT0RFUy5F
SU5WQUwpOwogICAgICAgIH0KICAgICAgICBpZiAoKHN0cmVhbS5mbGFncyAmIDIwOTcxNTUpID09
PSAxKSB7CiAgICAgICAgICB0aHJvdyBuZXcgRlMuRXJybm9FcnJvcihFUlJOT19DT0RFUy5FQkFE
Rik7CiAgICAgICAgfQogICAgICAgIGlmIChGUy5pc0RpcihzdHJlYW0ubm9kZS5tb2RlKSkgewog
ICAgICAgICAgdGhyb3cgbmV3IEZTLkVycm5vRXJyb3IoRVJSTk9fQ09ERVMuRUlTRElSKTsKICAg
ICAgICB9CiAgICAgICAgaWYgKCFzdHJlYW0uc3RyZWFtX29wcy5yZWFkKSB7CiAgICAgICAgICB0
aHJvdyBuZXcgRlMuRXJybm9FcnJvcihFUlJOT19DT0RFUy5FSU5WQUwpOwogICAgICAgIH0KICAg
ICAgICB2YXIgc2Vla2luZyA9IHRydWU7CiAgICAgICAgaWYgKHR5cGVvZiBwb3NpdGlvbiA9PT0g
J3VuZGVmaW5lZCcpIHsKICAgICAgICAgIHBvc2l0aW9uID0gc3RyZWFtLnBvc2l0aW9uOwogICAg
ICAgICAgc2Vla2luZyA9IGZhbHNlOwogICAgICAgIH0gZWxzZSBpZiAoIXN0cmVhbS5zZWVrYWJs
ZSkgewogICAgICAgICAgdGhyb3cgbmV3IEZTLkVycm5vRXJyb3IoRVJSTk9fQ09ERVMuRVNQSVBF
KTsKICAgICAgICB9CiAgICAgICAgdmFyIGJ5dGVzUmVhZCA9IHN0cmVhbS5zdHJlYW1fb3BzLnJl
YWQoc3RyZWFtLCBidWZmZXIsIG9mZnNldCwgbGVuZ3RoLCBwb3NpdGlvbik7CiAgICAgICAgaWYg
KCFzZWVraW5nKSBzdHJlYW0ucG9zaXRpb24gKz0gYnl0ZXNSZWFkOwogICAgICAgIHJldHVybiBi
eXRlc1JlYWQ7CiAgICAgIH0sd3JpdGU6ZnVuY3Rpb24gKHN0cmVhbSwgYnVmZmVyLCBvZmZzZXQs
IGxlbmd0aCwgcG9zaXRpb24sIGNhbk93bikgewogICAgICAgIGlmIChsZW5ndGggPCAwIHx8IHBv
c2l0aW9uIDwgMCkgewogICAgICAgICAgdGhyb3cgbmV3IEZTLkVycm5vRXJyb3IoRVJSTk9fQ09E
RVMuRUlOVkFMKTsKICAgICAgICB9CiAgICAgICAgaWYgKChzdHJlYW0uZmxhZ3MgJiAyMDk3MTU1
KSA9PT0gMCkgewogICAgICAgICAgdGhyb3cgbmV3IEZTLkVycm5vRXJyb3IoRVJSTk9fQ09ERVMu
RUJBREYpOwogICAgICAgIH0KICAgICAgICBpZiAoRlMuaXNEaXIoc3RyZWFtLm5vZGUubW9kZSkp
IHsKICAgICAgICAgIHRocm93IG5ldyBGUy5FcnJub0Vycm9yKEVSUk5PX0NPREVTLkVJU0RJUik7
CiAgICAgICAgfQogICAgICAgIGlmICghc3RyZWFtLnN0cmVhbV9vcHMud3JpdGUpIHsKICAgICAg
ICAgIHRocm93IG5ldyBGUy5FcnJub0Vycm9yKEVSUk5PX0NPREVTLkVJTlZBTCk7CiAgICAgICAg
fQogICAgICAgIHZhciBzZWVraW5nID0gdHJ1ZTsKICAgICAgICBpZiAodHlwZW9mIHBvc2l0aW9u
ID09PSAndW5kZWZpbmVkJykgewogICAgICAgICAgcG9zaXRpb24gPSBzdHJlYW0ucG9zaXRpb247
CiAgICAgICAgICBzZWVraW5nID0gZmFsc2U7CiAgICAgICAgfSBlbHNlIGlmICghc3RyZWFtLnNl
ZWthYmxlKSB7CiAgICAgICAgICB0aHJvdyBuZXcgRlMuRXJybm9FcnJvcihFUlJOT19DT0RFUy5F
U1BJUEUpOwogICAgICAgIH0KICAgICAgICBpZiAoc3RyZWFtLmZsYWdzICYgMTAyNCkgewogICAg
ICAgICAgLy8gc2VlayB0byB0aGUgZW5kIGJlZm9yZSB3cml0aW5nIGluIGFwcGVuZCBtb2RlCiAg
ICAgICAgICBGUy5sbHNlZWsoc3RyZWFtLCAwLCAyKTsKICAgICAgICB9CiAgICAgICAgdmFyIGJ5
dGVzV3JpdHRlbiA9IHN0cmVhbS5zdHJlYW1fb3BzLndyaXRlKHN0cmVhbSwgYnVmZmVyLCBvZmZz
ZXQsIGxlbmd0aCwgcG9zaXRpb24sIGNhbk93bik7CiAgICAgICAgaWYgKCFzZWVraW5nKSBzdHJl
YW0ucG9zaXRpb24gKz0gYnl0ZXNXcml0dGVuOwogICAgICAgIHJldHVybiBieXRlc1dyaXR0ZW47
CiAgICAgIH0sYWxsb2NhdGU6ZnVuY3Rpb24gKHN0cmVhbSwgb2Zmc2V0LCBsZW5ndGgpIHsKICAg
ICAgICBpZiAob2Zmc2V0IDwgMCB8fCBsZW5ndGggPD0gMCkgewogICAgICAgICAgdGhyb3cgbmV3
IEZTLkVycm5vRXJyb3IoRVJSTk9fQ09ERVMuRUlOVkFMKTsKICAgICAgICB9CiAgICAgICAgaWYg
KChzdHJlYW0uZmxhZ3MgJiAyMDk3MTU1KSA9PT0gMCkgewogICAgICAgICAgdGhyb3cgbmV3IEZT
LkVycm5vRXJyb3IoRVJSTk9fQ09ERVMuRUJBREYpOwogICAgICAgIH0KICAgICAgICBpZiAoIUZT
LmlzRmlsZShzdHJlYW0ubm9kZS5tb2RlKSAmJiAhRlMuaXNEaXIobm9kZS5tb2RlKSkgewogICAg
ICAgICAgdGhyb3cgbmV3IEZTLkVycm5vRXJyb3IoRVJSTk9fQ09ERVMuRU5PREVWKTsKICAgICAg
ICB9CiAgICAgICAgaWYgKCFzdHJlYW0uc3RyZWFtX29wcy5hbGxvY2F0ZSkgewogICAgICAgICAg
dGhyb3cgbmV3IEZTLkVycm5vRXJyb3IoRVJSTk9fQ09ERVMuRU9QTk9UU1VQUCk7CiAgICAgICAg
fQogICAgICAgIHN0cmVhbS5zdHJlYW1fb3BzLmFsbG9jYXRlKHN0cmVhbSwgb2Zmc2V0LCBsZW5n
dGgpOwogICAgICB9LG1tYXA6ZnVuY3Rpb24gKHN0cmVhbSwgYnVmZmVyLCBvZmZzZXQsIGxlbmd0
aCwgcG9zaXRpb24sIHByb3QsIGZsYWdzKSB7CiAgICAgICAgLy8gVE9ETyBpZiBQUk9UIGlzIFBS
T1RfV1JJVEUsIG1ha2Ugc3VyZSB3ZSBoYXZlIHdyaXRlIGFjY2VzcwogICAgICAgIGlmICgoc3Ry
ZWFtLmZsYWdzICYgMjA5NzE1NSkgPT09IDEpIHsKICAgICAgICAgIHRocm93IG5ldyBGUy5FcnJu
b0Vycm9yKEVSUk5PX0NPREVTLkVBQ0NFUyk7CiAgICAgICAgfQogICAgICAgIGlmICghc3RyZWFt
LnN0cmVhbV9vcHMubW1hcCkgewogICAgICAgICAgdGhyb3cgbmV3IEZTLkVycm5vRXJyb3IoRVJS
Tk9fQ09ERVMuRU5PREVWKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIHN0cmVhbS5zdHJlYW1f
b3BzLm1tYXAoc3RyZWFtLCBidWZmZXIsIG9mZnNldCwgbGVuZ3RoLCBwb3NpdGlvbiwgcHJvdCwg
ZmxhZ3MpOwogICAgICB9LGlvY3RsOmZ1bmN0aW9uIChzdHJlYW0sIGNtZCwgYXJnKSB7CiAgICAg
ICAgaWYgKCFzdHJlYW0uc3RyZWFtX29wcy5pb2N0bCkgewogICAgICAgICAgdGhyb3cgbmV3IEZT
LkVycm5vRXJyb3IoRVJSTk9fQ09ERVMuRU5PVFRZKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJu
IHN0cmVhbS5zdHJlYW1fb3BzLmlvY3RsKHN0cmVhbSwgY21kLCBhcmcpOwogICAgICB9LHJlYWRG
aWxlOmZ1bmN0aW9uIChwYXRoLCBvcHRzKSB7CiAgICAgICAgb3B0cyA9IG9wdHMgfHwge307CiAg
ICAgICAgb3B0cy5mbGFncyA9IG9wdHMuZmxhZ3MgfHwgJ3InOwogICAgICAgIG9wdHMuZW5jb2Rp
bmcgPSBvcHRzLmVuY29kaW5nIHx8ICdiaW5hcnknOwogICAgICAgIGlmIChvcHRzLmVuY29kaW5n
ICE9PSAndXRmOCcgJiYgb3B0cy5lbmNvZGluZyAhPT0gJ2JpbmFyeScpIHsKICAgICAgICAgIHRo
cm93IG5ldyBFcnJvcignSW52YWxpZCBlbmNvZGluZyB0eXBlICInICsgb3B0cy5lbmNvZGluZyAr
ICciJyk7CiAgICAgICAgfQogICAgICAgIHZhciByZXQ7CiAgICAgICAgdmFyIHN0cmVhbSA9IEZT
Lm9wZW4ocGF0aCwgb3B0cy5mbGFncyk7CiAgICAgICAgdmFyIHN0YXQgPSBGUy5zdGF0KHBhdGgp
OwogICAgICAgIHZhciBsZW5ndGggPSBzdGF0LnNpemU7CiAgICAgICAgdmFyIGJ1ZiA9IG5ldyBV
aW50OEFycmF5KGxlbmd0aCk7CiAgICAgICAgRlMucmVhZChzdHJlYW0sIGJ1ZiwgMCwgbGVuZ3Ro
LCAwKTsKICAgICAgICBpZiAob3B0cy5lbmNvZGluZyA9PT0gJ3V0ZjgnKSB7CiAgICAgICAgICBy
ZXQgPSAnJzsKICAgICAgICAgIHZhciB1dGY4ID0gbmV3IFJ1bnRpbWUuVVRGOFByb2Nlc3Nvcigp
OwogICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBsZW5ndGg7IGkrKykgewogICAgICAgICAg
ICByZXQgKz0gdXRmOC5wcm9jZXNzQ0NoYXIoYnVmW2ldKTsKICAgICAgICAgIH0KICAgICAgICB9
IGVsc2UgaWYgKG9wdHMuZW5jb2RpbmcgPT09ICdiaW5hcnknKSB7CiAgICAgICAgICByZXQgPSBi
dWY7CiAgICAgICAgfQogICAgICAgIEZTLmNsb3NlKHN0cmVhbSk7CiAgICAgICAgcmV0dXJuIHJl
dDsKICAgICAgfSx3cml0ZUZpbGU6ZnVuY3Rpb24gKHBhdGgsIGRhdGEsIG9wdHMpIHsKICAgICAg
ICBvcHRzID0gb3B0cyB8fCB7fTsKICAgICAgICBvcHRzLmZsYWdzID0gb3B0cy5mbGFncyB8fCAn
dyc7CiAgICAgICAgb3B0cy5lbmNvZGluZyA9IG9wdHMuZW5jb2RpbmcgfHwgJ3V0ZjgnOwogICAg
ICAgIGlmIChvcHRzLmVuY29kaW5nICE9PSAndXRmOCcgJiYgb3B0cy5lbmNvZGluZyAhPT0gJ2Jp
bmFyeScpIHsKICAgICAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBlbmNvZGluZyB0eXBl
ICInICsgb3B0cy5lbmNvZGluZyArICciJyk7CiAgICAgICAgfQogICAgICAgIHZhciBzdHJlYW0g
PSBGUy5vcGVuKHBhdGgsIG9wdHMuZmxhZ3MsIG9wdHMubW9kZSk7CiAgICAgICAgaWYgKG9wdHMu
ZW5jb2RpbmcgPT09ICd1dGY4JykgewogICAgICAgICAgdmFyIHV0ZjggPSBuZXcgUnVudGltZS5V
VEY4UHJvY2Vzc29yKCk7CiAgICAgICAgICB2YXIgYnVmID0gbmV3IFVpbnQ4QXJyYXkodXRmOC5w
cm9jZXNzSlNTdHJpbmcoZGF0YSkpOwogICAgICAgICAgRlMud3JpdGUoc3RyZWFtLCBidWYsIDAs
IGJ1Zi5sZW5ndGgsIDAsIG9wdHMuY2FuT3duKTsKICAgICAgICB9IGVsc2UgaWYgKG9wdHMuZW5j
b2RpbmcgPT09ICdiaW5hcnknKSB7CiAgICAgICAgICBGUy53cml0ZShzdHJlYW0sIGRhdGEsIDAs
IGRhdGEubGVuZ3RoLCAwLCBvcHRzLmNhbk93bik7CiAgICAgICAgfQogICAgICAgIEZTLmNsb3Nl
KHN0cmVhbSk7CiAgICAgIH0sY3dkOmZ1bmN0aW9uICgpIHsKICAgICAgICByZXR1cm4gRlMuY3Vy
cmVudFBhdGg7CiAgICAgIH0sY2hkaXI6ZnVuY3Rpb24gKHBhdGgpIHsKICAgICAgICB2YXIgbG9v
a3VwID0gRlMubG9va3VwUGF0aChwYXRoLCB7IGZvbGxvdzogdHJ1ZSB9KTsKICAgICAgICBpZiAo
IUZTLmlzRGlyKGxvb2t1cC5ub2RlLm1vZGUpKSB7CiAgICAgICAgICB0aHJvdyBuZXcgRlMuRXJy
bm9FcnJvcihFUlJOT19DT0RFUy5FTk9URElSKTsKICAgICAgICB9CiAgICAgICAgdmFyIGVyciA9
IEZTLm5vZGVQZXJtaXNzaW9ucyhsb29rdXAubm9kZSwgJ3gnKTsKICAgICAgICBpZiAoZXJyKSB7
CiAgICAgICAgICB0aHJvdyBuZXcgRlMuRXJybm9FcnJvcihlcnIpOwogICAgICAgIH0KICAgICAg
ICBGUy5jdXJyZW50UGF0aCA9IGxvb2t1cC5wYXRoOwogICAgICB9LGNyZWF0ZURlZmF1bHREaXJl
Y3RvcmllczpmdW5jdGlvbiAoKSB7CiAgICAgICAgRlMubWtkaXIoJy90bXAnKTsKICAgICAgfSxj
cmVhdGVEZWZhdWx0RGV2aWNlczpmdW5jdGlvbiAoKSB7CiAgICAgICAgLy8gY3JlYXRlIC9kZXYK
ICAgICAgICBGUy5ta2RpcignL2RldicpOwogICAgICAgIC8vIHNldHVwIC9kZXYvbnVsbAogICAg
ICAgIEZTLnJlZ2lzdGVyRGV2aWNlKEZTLm1ha2VkZXYoMSwgMyksIHsKICAgICAgICAgIHJlYWQ6
IGZ1bmN0aW9uKCkgeyByZXR1cm4gMDsgfSwKICAgICAgICAgIHdyaXRlOiBmdW5jdGlvbigpIHsg
cmV0dXJuIDA7IH0KICAgICAgICB9KTsKICAgICAgICBGUy5ta2RldignL2Rldi9udWxsJywgRlMu
bWFrZWRldigxLCAzKSk7CiAgICAgICAgLy8gc2V0dXAgL2Rldi90dHkgYW5kIC9kZXYvdHR5MQog
ICAgICAgIC8vIHN0ZGVyciBuZWVkcyB0byBwcmludCBvdXRwdXQgdXNpbmcgTW9kdWxlWydwcmlu
dEVyciddCiAgICAgICAgLy8gc28gd2UgcmVnaXN0ZXIgYSBzZWNvbmQgdHR5IGp1c3QgZm9yIGl0
LgogICAgICAgIFRUWS5yZWdpc3RlcihGUy5tYWtlZGV2KDUsIDApLCBUVFkuZGVmYXVsdF90dHlf
b3BzKTsKICAgICAgICBUVFkucmVnaXN0ZXIoRlMubWFrZWRldig2LCAwKSwgVFRZLmRlZmF1bHRf
dHR5MV9vcHMpOwogICAgICAgIEZTLm1rZGV2KCcvZGV2L3R0eScsIEZTLm1ha2VkZXYoNSwgMCkp
OwogICAgICAgIEZTLm1rZGV2KCcvZGV2L3R0eTEnLCBGUy5tYWtlZGV2KDYsIDApKTsKICAgICAg
ICAvLyB3ZSdyZSBub3QgZ29pbmcgdG8gZW11bGF0ZSB0aGUgYWN0dWFsIHNobSBkZXZpY2UsCiAg
ICAgICAgLy8ganVzdCBjcmVhdGUgdGhlIHRtcCBkaXJzIHRoYXQgcmVzaWRlIGluIGl0IGNvbW1v
bmx5CiAgICAgICAgRlMubWtkaXIoJy9kZXYvc2htJyk7CiAgICAgICAgRlMubWtkaXIoJy9kZXYv
c2htL3RtcCcpOwogICAgICB9LGNyZWF0ZVN0YW5kYXJkU3RyZWFtczpmdW5jdGlvbiAoKSB7CiAg
ICAgICAgLy8gVE9ETyBkZXByZWNhdGUgdGhlIG9sZCBmdW5jdGlvbmFsaXR5IG9mIGEgc2luZ2xl
CiAgICAgICAgLy8gaW5wdXQgLyBvdXRwdXQgY2FsbGJhY2sgYW5kIHRoYXQgdXRpbGl6ZXMgRlMu
Y3JlYXRlRGV2aWNlCiAgICAgICAgLy8gYW5kIGluc3RlYWQgcmVxdWlyZSBhIHVuaXF1ZSBzZXQg
b2Ygc3RyZWFtIG9wcwogIAogICAgICAgIC8vIGJ5IGRlZmF1bHQsIHdlIHN5bWxpbmsgdGhlIHN0
YW5kYXJkIHN0cmVhbXMgdG8gdGhlCiAgICAgICAgLy8gZGVmYXVsdCB0dHkgZGV2aWNlcy4gaG93
ZXZlciwgaWYgdGhlIHN0YW5kYXJkIHN0cmVhbXMKICAgICAgICAvLyBoYXZlIGJlZW4gb3Zlcndy
aXR0ZW4gd2UgY3JlYXRlIGEgdW5pcXVlIGRldmljZSBmb3IKICAgICAgICAvLyB0aGVtIGluc3Rl
YWQuCiAgICAgICAgaWYgKE1vZHVsZVsnc3RkaW4nXSkgewogICAgICAgICAgRlMuY3JlYXRlRGV2
aWNlKCcvZGV2JywgJ3N0ZGluJywgTW9kdWxlWydzdGRpbiddKTsKICAgICAgICB9IGVsc2Ugewog
ICAgICAgICAgRlMuc3ltbGluaygnL2Rldi90dHknLCAnL2Rldi9zdGRpbicpOwogICAgICAgIH0K
ICAgICAgICBpZiAoTW9kdWxlWydzdGRvdXQnXSkgewogICAgICAgICAgRlMuY3JlYXRlRGV2aWNl
KCcvZGV2JywgJ3N0ZG91dCcsIG51bGwsIE1vZHVsZVsnc3Rkb3V0J10pOwogICAgICAgIH0gZWxz
ZSB7CiAgICAgICAgICBGUy5zeW1saW5rKCcvZGV2L3R0eScsICcvZGV2L3N0ZG91dCcpOwogICAg
ICAgIH0KICAgICAgICBpZiAoTW9kdWxlWydzdGRlcnInXSkgewogICAgICAgICAgRlMuY3JlYXRl
RGV2aWNlKCcvZGV2JywgJ3N0ZGVycicsIG51bGwsIE1vZHVsZVsnc3RkZXJyJ10pOwogICAgICAg
IH0gZWxzZSB7CiAgICAgICAgICBGUy5zeW1saW5rKCcvZGV2L3R0eTEnLCAnL2Rldi9zdGRlcnIn
KTsKICAgICAgICB9CiAgCiAgICAgICAgLy8gb3BlbiBkZWZhdWx0IHN0cmVhbXMgZm9yIHRoZSBz
dGRpbiwgc3Rkb3V0IGFuZCBzdGRlcnIgZGV2aWNlcwogICAgICAgIHZhciBzdGRpbiA9IEZTLm9w
ZW4oJy9kZXYvc3RkaW4nLCAncicpOwogICAgICAgIEhFQVAzMlsoKF9zdGRpbik+PjIpXT1GUy5n
ZXRQdHJGb3JTdHJlYW0oc3RkaW4pOwogICAgICAgIGFzc2VydChzdGRpbi5mZCA9PT0gMCwgJ2lu
dmFsaWQgaGFuZGxlIGZvciBzdGRpbiAoJyArIHN0ZGluLmZkICsgJyknKTsKICAKICAgICAgICB2
YXIgc3Rkb3V0ID0gRlMub3BlbignL2Rldi9zdGRvdXQnLCAndycpOwogICAgICAgIEhFQVAzMlso
KF9zdGRvdXQpPj4yKV09RlMuZ2V0UHRyRm9yU3RyZWFtKHN0ZG91dCk7CiAgICAgICAgYXNzZXJ0
KHN0ZG91dC5mZCA9PT0gMSwgJ2ludmFsaWQgaGFuZGxlIGZvciBzdGRvdXQgKCcgKyBzdGRvdXQu
ZmQgKyAnKScpOwogIAogICAgICAgIHZhciBzdGRlcnIgPSBGUy5vcGVuKCcvZGV2L3N0ZGVycics
ICd3Jyk7CiAgICAgICAgSEVBUDMyWygoX3N0ZGVycik+PjIpXT1GUy5nZXRQdHJGb3JTdHJlYW0o
c3RkZXJyKTsKICAgICAgICBhc3NlcnQoc3RkZXJyLmZkID09PSAyLCAnaW52YWxpZCBoYW5kbGUg
Zm9yIHN0ZGVyciAoJyArIHN0ZGVyci5mZCArICcpJyk7CiAgICAgIH0sZW5zdXJlRXJybm9FcnJv
cjpmdW5jdGlvbiAoKSB7CiAgICAgICAgaWYgKEZTLkVycm5vRXJyb3IpIHJldHVybjsKICAgICAg
ICBGUy5FcnJub0Vycm9yID0gZnVuY3Rpb24gRXJybm9FcnJvcihlcnJubykgewogICAgICAgICAg
dGhpcy5lcnJubyA9IGVycm5vOwogICAgICAgICAgZm9yICh2YXIga2V5IGluIEVSUk5PX0NPREVT
KSB7CiAgICAgICAgICAgIGlmIChFUlJOT19DT0RFU1trZXldID09PSBlcnJubykgewogICAgICAg
ICAgICAgIHRoaXMuY29kZSA9IGtleTsKICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAg
fQogICAgICAgICAgfQogICAgICAgICAgdGhpcy5tZXNzYWdlID0gRVJSTk9fTUVTU0FHRVNbZXJy
bm9dOwogICAgICAgIH07CiAgICAgICAgRlMuRXJybm9FcnJvci5wcm90b3R5cGUgPSBuZXcgRXJy
b3IoKTsKICAgICAgICBGUy5FcnJub0Vycm9yLnByb3RvdHlwZS5jb25zdHJ1Y3RvciA9IEZTLkVy
cm5vRXJyb3I7CiAgICAgICAgLy8gU29tZSBlcnJvcnMgbWF5IGhhcHBlbiBxdWl0ZSBhIGJpdCwg
dG8gYXZvaWQgb3ZlcmhlYWQgd2UgcmV1c2UgdGhlbSAoYW5kIHN1ZmZlciBhIGxhY2sgb2Ygc3Rh
Y2sgaW5mbykKICAgICAgICBbRVJSTk9fQ09ERVMuRU5PRU5UXS5mb3JFYWNoKGZ1bmN0aW9uKGNv
ZGUpIHsKICAgICAgICAgIEZTLmdlbmVyaWNFcnJvcnNbY29kZV0gPSBuZXcgRlMuRXJybm9FcnJv
cihjb2RlKTsKICAgICAgICAgIEZTLmdlbmVyaWNFcnJvcnNbY29kZV0uc3RhY2sgPSAnPGdlbmVy
aWMgZXJyb3IsIG5vIHN0YWNrPic7CiAgICAgICAgfSk7CiAgICAgIH0sc3RhdGljSW5pdDpmdW5j
dGlvbiAoKSB7CiAgICAgICAgRlMuZW5zdXJlRXJybm9FcnJvcigpOwogIAogICAgICAgIEZTLm5h
bWVUYWJsZSA9IG5ldyBBcnJheSg0MDk2KTsKICAKICAgICAgICBGUy5tb3VudChNRU1GUywge30s
ICcvJyk7CiAgCiAgICAgICAgRlMuY3JlYXRlRGVmYXVsdERpcmVjdG9yaWVzKCk7CiAgICAgICAg
RlMuY3JlYXRlRGVmYXVsdERldmljZXMoKTsKICAgICAgfSxpbml0OmZ1bmN0aW9uIChpbnB1dCwg
b3V0cHV0LCBlcnJvcikgewogICAgICAgIGFzc2VydCghRlMuaW5pdC5pbml0aWFsaXplZCwgJ0ZT
LmluaXQgd2FzIHByZXZpb3VzbHkgY2FsbGVkLiBJZiB5b3Ugd2FudCB0byBpbml0aWFsaXplIGxh
dGVyIHdpdGggY3VzdG9tIHBhcmFtZXRlcnMsIHJlbW92ZSBhbnkgZWFybGllciBjYWxscyAobm90
ZSB0aGF0IG9uZSBpcyBhdXRvbWF0aWNhbGx5IGFkZGVkIHRvIHRoZSBnZW5lcmF0ZWQgY29kZSkn
KTsKICAgICAgICBGUy5pbml0LmluaXRpYWxpemVkID0gdHJ1ZTsKICAKICAgICAgICBGUy5lbnN1
cmVFcnJub0Vycm9yKCk7CiAgCiAgICAgICAgLy8gQWxsb3cgTW9kdWxlLnN0ZGluIGV0Yy4gdG8g
cHJvdmlkZSBkZWZhdWx0cywgaWYgbm9uZSBleHBsaWNpdGx5IHBhc3NlZCB0byB1cyBoZXJlCiAg
ICAgICAgTW9kdWxlWydzdGRpbiddID0gaW5wdXQgfHwgTW9kdWxlWydzdGRpbiddOwogICAgICAg
IE1vZHVsZVsnc3Rkb3V0J10gPSBvdXRwdXQgfHwgTW9kdWxlWydzdGRvdXQnXTsKICAgICAgICBN
b2R1bGVbJ3N0ZGVyciddID0gZXJyb3IgfHwgTW9kdWxlWydzdGRlcnInXTsKICAKICAgICAgICBG
Uy5jcmVhdGVTdGFuZGFyZFN0cmVhbXMoKTsKICAgICAgfSxxdWl0OmZ1bmN0aW9uICgpIHsKICAg
ICAgICBGUy5pbml0LmluaXRpYWxpemVkID0gZmFsc2U7CiAgICAgICAgZm9yICh2YXIgaSA9IDA7
IGkgPCBGUy5zdHJlYW1zLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICB2YXIgc3RyZWFtID0gRlMu
c3RyZWFtc1tpXTsKICAgICAgICAgIGlmICghc3RyZWFtKSB7CiAgICAgICAgICAgIGNvbnRpbnVl
OwogICAgICAgICAgfQogICAgICAgICAgRlMuY2xvc2Uoc3RyZWFtKTsKICAgICAgICB9CiAgICAg
IH0sZ2V0TW9kZTpmdW5jdGlvbiAoY2FuUmVhZCwgY2FuV3JpdGUpIHsKICAgICAgICB2YXIgbW9k
ZSA9IDA7CiAgICAgICAgaWYgKGNhblJlYWQpIG1vZGUgfD0gMjkyIHwgNzM7CiAgICAgICAgaWYg
KGNhbldyaXRlKSBtb2RlIHw9IDE0NjsKICAgICAgICByZXR1cm4gbW9kZTsKICAgICAgfSxqb2lu
UGF0aDpmdW5jdGlvbiAocGFydHMsIGZvcmNlUmVsYXRpdmUpIHsKICAgICAgICB2YXIgcGF0aCA9
IFBBVEguam9pbi5hcHBseShudWxsLCBwYXJ0cyk7CiAgICAgICAgaWYgKGZvcmNlUmVsYXRpdmUg
JiYgcGF0aFswXSA9PSAnLycpIHBhdGggPSBwYXRoLnN1YnN0cigxKTsKICAgICAgICByZXR1cm4g
cGF0aDsKICAgICAgfSxhYnNvbHV0ZVBhdGg6ZnVuY3Rpb24gKHJlbGF0aXZlLCBiYXNlKSB7CiAg
ICAgICAgcmV0dXJuIFBBVEgucmVzb2x2ZShiYXNlLCByZWxhdGl2ZSk7CiAgICAgIH0sc3RhbmRh
cmRpemVQYXRoOmZ1bmN0aW9uIChwYXRoKSB7CiAgICAgICAgcmV0dXJuIFBBVEgubm9ybWFsaXpl
KHBhdGgpOwogICAgICB9LGZpbmRPYmplY3Q6ZnVuY3Rpb24gKHBhdGgsIGRvbnRSZXNvbHZlTGFz
dExpbmspIHsKICAgICAgICB2YXIgcmV0ID0gRlMuYW5hbHl6ZVBhdGgocGF0aCwgZG9udFJlc29s
dmVMYXN0TGluayk7CiAgICAgICAgaWYgKHJldC5leGlzdHMpIHsKICAgICAgICAgIHJldHVybiBy
ZXQub2JqZWN0OwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICBfX19zZXRFcnJObyhyZXQuZXJy
b3IpOwogICAgICAgICAgcmV0dXJuIG51bGw7CiAgICAgICAgfQogICAgICB9LGFuYWx5emVQYXRo
OmZ1bmN0aW9uIChwYXRoLCBkb250UmVzb2x2ZUxhc3RMaW5rKSB7CiAgICAgICAgLy8gb3BlcmF0
ZSBmcm9tIHdpdGhpbiB0aGUgY29udGV4dCBvZiB0aGUgc3ltbGluaydzIHRhcmdldAogICAgICAg
IHRyeSB7CiAgICAgICAgICB2YXIgbG9va3VwID0gRlMubG9va3VwUGF0aChwYXRoLCB7IGZvbGxv
dzogIWRvbnRSZXNvbHZlTGFzdExpbmsgfSk7CiAgICAgICAgICBwYXRoID0gbG9va3VwLnBhdGg7
CiAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgIH0KICAgICAgICB2YXIgcmV0ID0gewogICAg
ICAgICAgaXNSb290OiBmYWxzZSwgZXhpc3RzOiBmYWxzZSwgZXJyb3I6IDAsIG5hbWU6IG51bGws
IHBhdGg6IG51bGwsIG9iamVjdDogbnVsbCwKICAgICAgICAgIHBhcmVudEV4aXN0czogZmFsc2Us
IHBhcmVudFBhdGg6IG51bGwsIHBhcmVudE9iamVjdDogbnVsbAogICAgICAgIH07CiAgICAgICAg
dHJ5IHsKICAgICAgICAgIHZhciBsb29rdXAgPSBGUy5sb29rdXBQYXRoKHBhdGgsIHsgcGFyZW50
OiB0cnVlIH0pOwogICAgICAgICAgcmV0LnBhcmVudEV4aXN0cyA9IHRydWU7CiAgICAgICAgICBy
ZXQucGFyZW50UGF0aCA9IGxvb2t1cC5wYXRoOwogICAgICAgICAgcmV0LnBhcmVudE9iamVjdCA9
IGxvb2t1cC5ub2RlOwogICAgICAgICAgcmV0Lm5hbWUgPSBQQVRILmJhc2VuYW1lKHBhdGgpOwog
ICAgICAgICAgbG9va3VwID0gRlMubG9va3VwUGF0aChwYXRoLCB7IGZvbGxvdzogIWRvbnRSZXNv
bHZlTGFzdExpbmsgfSk7CiAgICAgICAgICByZXQuZXhpc3RzID0gdHJ1ZTsKICAgICAgICAgIHJl
dC5wYXRoID0gbG9va3VwLnBhdGg7CiAgICAgICAgICByZXQub2JqZWN0ID0gbG9va3VwLm5vZGU7
CiAgICAgICAgICByZXQubmFtZSA9IGxvb2t1cC5ub2RlLm5hbWU7CiAgICAgICAgICByZXQuaXNS
b290ID0gbG9va3VwLnBhdGggPT09ICcvJzsKICAgICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAg
ICByZXQuZXJyb3IgPSBlLmVycm5vOwogICAgICAgIH07CiAgICAgICAgcmV0dXJuIHJldDsKICAg
ICAgfSxjcmVhdGVGb2xkZXI6ZnVuY3Rpb24gKHBhcmVudCwgbmFtZSwgY2FuUmVhZCwgY2FuV3Jp
dGUpIHsKICAgICAgICB2YXIgcGF0aCA9IFBBVEguam9pbjIodHlwZW9mIHBhcmVudCA9PT0gJ3N0
cmluZycgPyBwYXJlbnQgOiBGUy5nZXRQYXRoKHBhcmVudCksIG5hbWUpOwogICAgICAgIHZhciBt
b2RlID0gRlMuZ2V0TW9kZShjYW5SZWFkLCBjYW5Xcml0ZSk7CiAgICAgICAgcmV0dXJuIEZTLm1r
ZGlyKHBhdGgsIG1vZGUpOwogICAgICB9LGNyZWF0ZVBhdGg6ZnVuY3Rpb24gKHBhcmVudCwgcGF0
aCwgY2FuUmVhZCwgY2FuV3JpdGUpIHsKICAgICAgICBwYXJlbnQgPSB0eXBlb2YgcGFyZW50ID09
PSAnc3RyaW5nJyA/IHBhcmVudCA6IEZTLmdldFBhdGgocGFyZW50KTsKICAgICAgICB2YXIgcGFy
dHMgPSBwYXRoLnNwbGl0KCcvJykucmV2ZXJzZSgpOwogICAgICAgIHdoaWxlIChwYXJ0cy5sZW5n
dGgpIHsKICAgICAgICAgIHZhciBwYXJ0ID0gcGFydHMucG9wKCk7CiAgICAgICAgICBpZiAoIXBh
cnQpIGNvbnRpbnVlOwogICAgICAgICAgdmFyIGN1cnJlbnQgPSBQQVRILmpvaW4yKHBhcmVudCwg
cGFydCk7CiAgICAgICAgICB0cnkgewogICAgICAgICAgICBGUy5ta2RpcihjdXJyZW50KTsKICAg
ICAgICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgICAgICAgLy8gaWdub3JlIEVFWElTVAogICAgICAg
ICAgfQogICAgICAgICAgcGFyZW50ID0gY3VycmVudDsKICAgICAgICB9CiAgICAgICAgcmV0dXJu
IGN1cnJlbnQ7CiAgICAgIH0sY3JlYXRlRmlsZTpmdW5jdGlvbiAocGFyZW50LCBuYW1lLCBwcm9w
ZXJ0aWVzLCBjYW5SZWFkLCBjYW5Xcml0ZSkgewogICAgICAgIHZhciBwYXRoID0gUEFUSC5qb2lu
Mih0eXBlb2YgcGFyZW50ID09PSAnc3RyaW5nJyA/IHBhcmVudCA6IEZTLmdldFBhdGgocGFyZW50
KSwgbmFtZSk7CiAgICAgICAgdmFyIG1vZGUgPSBGUy5nZXRNb2RlKGNhblJlYWQsIGNhbldyaXRl
KTsKICAgICAgICByZXR1cm4gRlMuY3JlYXRlKHBhdGgsIG1vZGUpOwogICAgICB9LGNyZWF0ZURh
dGFGaWxlOmZ1bmN0aW9uIChwYXJlbnQsIG5hbWUsIGRhdGEsIGNhblJlYWQsIGNhbldyaXRlLCBj
YW5Pd24pIHsKICAgICAgICB2YXIgcGF0aCA9IG5hbWUgPyBQQVRILmpvaW4yKHR5cGVvZiBwYXJl
bnQgPT09ICdzdHJpbmcnID8gcGFyZW50IDogRlMuZ2V0UGF0aChwYXJlbnQpLCBuYW1lKSA6IHBh
cmVudDsKICAgICAgICB2YXIgbW9kZSA9IEZTLmdldE1vZGUoY2FuUmVhZCwgY2FuV3JpdGUpOwog
ICAgICAgIHZhciBub2RlID0gRlMuY3JlYXRlKHBhdGgsIG1vZGUpOwogICAgICAgIGlmIChkYXRh
KSB7CiAgICAgICAgICBpZiAodHlwZW9mIGRhdGEgPT09ICdzdHJpbmcnKSB7CiAgICAgICAgICAg
IHZhciBhcnIgPSBuZXcgQXJyYXkoZGF0YS5sZW5ndGgpOwogICAgICAgICAgICBmb3IgKHZhciBp
ID0gMCwgbGVuID0gZGF0YS5sZW5ndGg7IGkgPCBsZW47ICsraSkgYXJyW2ldID0gZGF0YS5jaGFy
Q29kZUF0KGkpOwogICAgICAgICAgICBkYXRhID0gYXJyOwogICAgICAgICAgfQogICAgICAgICAg
Ly8gbWFrZSBzdXJlIHdlIGNhbiB3cml0ZSB0byB0aGUgZmlsZQogICAgICAgICAgRlMuY2htb2Qo
bm9kZSwgbW9kZSB8IDE0Nik7CiAgICAgICAgICB2YXIgc3RyZWFtID0gRlMub3Blbihub2RlLCAn
dycpOwogICAgICAgICAgRlMud3JpdGUoc3RyZWFtLCBkYXRhLCAwLCBkYXRhLmxlbmd0aCwgMCwg
Y2FuT3duKTsKICAgICAgICAgIEZTLmNsb3NlKHN0cmVhbSk7CiAgICAgICAgICBGUy5jaG1vZChu
b2RlLCBtb2RlKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIG5vZGU7CiAgICAgIH0sY3JlYXRl
RGV2aWNlOmZ1bmN0aW9uIChwYXJlbnQsIG5hbWUsIGlucHV0LCBvdXRwdXQpIHsKICAgICAgICB2
YXIgcGF0aCA9IFBBVEguam9pbjIodHlwZW9mIHBhcmVudCA9PT0gJ3N0cmluZycgPyBwYXJlbnQg
OiBGUy5nZXRQYXRoKHBhcmVudCksIG5hbWUpOwogICAgICAgIHZhciBtb2RlID0gRlMuZ2V0TW9k
ZSghIWlucHV0LCAhIW91dHB1dCk7CiAgICAgICAgaWYgKCFGUy5jcmVhdGVEZXZpY2UubWFqb3Ip
IEZTLmNyZWF0ZURldmljZS5tYWpvciA9IDY0OwogICAgICAgIHZhciBkZXYgPSBGUy5tYWtlZGV2
KEZTLmNyZWF0ZURldmljZS5tYWpvcisrLCAwKTsKICAgICAgICAvLyBDcmVhdGUgYSBmYWtlIGRl
dmljZSB0aGF0IGEgc2V0IG9mIHN0cmVhbSBvcHMgdG8gZW11bGF0ZQogICAgICAgIC8vIHRoZSBv
bGQgYmVoYXZpb3IuCiAgICAgICAgRlMucmVnaXN0ZXJEZXZpY2UoZGV2LCB7CiAgICAgICAgICBv
cGVuOiBmdW5jdGlvbihzdHJlYW0pIHsKICAgICAgICAgICAgc3RyZWFtLnNlZWthYmxlID0gZmFs
c2U7CiAgICAgICAgICB9LAogICAgICAgICAgY2xvc2U6IGZ1bmN0aW9uKHN0cmVhbSkgewogICAg
ICAgICAgICAvLyBmbHVzaCBhbnkgcGVuZGluZyBsaW5lIGRhdGEKICAgICAgICAgICAgaWYgKG91
dHB1dCAmJiBvdXRwdXQuYnVmZmVyICYmIG91dHB1dC5idWZmZXIubGVuZ3RoKSB7CiAgICAgICAg
ICAgICAgb3V0cHV0KDEwKTsKICAgICAgICAgICAgfQogICAgICAgICAgfSwKICAgICAgICAgIHJl
YWQ6IGZ1bmN0aW9uKHN0cmVhbSwgYnVmZmVyLCBvZmZzZXQsIGxlbmd0aCwgcG9zIC8qIGlnbm9y
ZWQgKi8pIHsKICAgICAgICAgICAgdmFyIGJ5dGVzUmVhZCA9IDA7CiAgICAgICAgICAgIGZvciAo
dmFyIGkgPSAwOyBpIDwgbGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgICB2YXIgcmVzdWx0Owog
ICAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICByZXN1bHQgPSBpbnB1dCgpOwogICAg
ICAgICAgICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgICAgICAgICAgIHRocm93IG5ldyBGUy5FcnJu
b0Vycm9yKEVSUk5PX0NPREVTLkVJTyk7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIGlm
IChyZXN1bHQgPT09IHVuZGVmaW5lZCAmJiBieXRlc1JlYWQgPT09IDApIHsKICAgICAgICAgICAg
ICAgIHRocm93IG5ldyBGUy5FcnJub0Vycm9yKEVSUk5PX0NPREVTLkVBR0FJTik7CiAgICAgICAg
ICAgICAgfQogICAgICAgICAgICAgIGlmIChyZXN1bHQgPT09IG51bGwgfHwgcmVzdWx0ID09PSB1
bmRlZmluZWQpIGJyZWFrOwogICAgICAgICAgICAgIGJ5dGVzUmVhZCsrOwogICAgICAgICAgICAg
IGJ1ZmZlcltvZmZzZXQraV0gPSByZXN1bHQ7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYg
KGJ5dGVzUmVhZCkgewogICAgICAgICAgICAgIHN0cmVhbS5ub2RlLnRpbWVzdGFtcCA9IERhdGUu
bm93KCk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgcmV0dXJuIGJ5dGVzUmVhZDsKICAgICAg
ICAgIH0sCiAgICAgICAgICB3cml0ZTogZnVuY3Rpb24oc3RyZWFtLCBidWZmZXIsIG9mZnNldCwg
bGVuZ3RoLCBwb3MpIHsKICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBsZW5ndGg7IGkr
KykgewogICAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICBvdXRwdXQoYnVmZmVyW29m
ZnNldCtpXSk7CiAgICAgICAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICAgICAgdGhy
b3cgbmV3IEZTLkVycm5vRXJyb3IoRVJSTk9fQ09ERVMuRUlPKTsKICAgICAgICAgICAgICB9CiAg
ICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKGxlbmd0aCkgewogICAgICAgICAgICAgIHN0cmVh
bS5ub2RlLnRpbWVzdGFtcCA9IERhdGUubm93KCk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAg
cmV0dXJuIGk7CiAgICAgICAgICB9CiAgICAgICAgfSk7CiAgICAgICAgcmV0dXJuIEZTLm1rZGV2
KHBhdGgsIG1vZGUsIGRldik7CiAgICAgIH0sY3JlYXRlTGluazpmdW5jdGlvbiAocGFyZW50LCBu
YW1lLCB0YXJnZXQsIGNhblJlYWQsIGNhbldyaXRlKSB7CiAgICAgICAgdmFyIHBhdGggPSBQQVRI
LmpvaW4yKHR5cGVvZiBwYXJlbnQgPT09ICdzdHJpbmcnID8gcGFyZW50IDogRlMuZ2V0UGF0aChw
YXJlbnQpLCBuYW1lKTsKICAgICAgICByZXR1cm4gRlMuc3ltbGluayh0YXJnZXQsIHBhdGgpOwog
ICAgICB9LGZvcmNlTG9hZEZpbGU6ZnVuY3Rpb24gKG9iaikgewogICAgICAgIGlmIChvYmouaXNE
ZXZpY2UgfHwgb2JqLmlzRm9sZGVyIHx8IG9iai5saW5rIHx8IG9iai5jb250ZW50cykgcmV0dXJu
IHRydWU7CiAgICAgICAgdmFyIHN1Y2Nlc3MgPSB0cnVlOwogICAgICAgIGlmICh0eXBlb2YgWE1M
SHR0cFJlcXVlc3QgIT09ICd1bmRlZmluZWQnKSB7CiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3Io
IkxhenkgbG9hZGluZyBzaG91bGQgaGF2ZSBiZWVuIHBlcmZvcm1lZCAoY29udGVudHMgc2V0KSBp
biBjcmVhdGVMYXp5RmlsZSwgYnV0IGl0IHdhcyBub3QuIExhenkgbG9hZGluZyBvbmx5IHdvcmtz
IGluIHdlYiB3b3JrZXJzLiBVc2UgLS1lbWJlZC1maWxlIG9yIC0tcHJlbG9hZC1maWxlIGluIGVt
Y2Mgb24gdGhlIG1haW4gdGhyZWFkLiIpOwogICAgICAgIH0gZWxzZSBpZiAoTW9kdWxlWydyZWFk
J10pIHsKICAgICAgICAgIC8vIENvbW1hbmQtbGluZS4KICAgICAgICAgIHRyeSB7CiAgICAgICAg
ICAgIC8vIFdBUk5JTkc6IENhbid0IHJlYWQgYmluYXJ5IGZpbGVzIGluIFY4J3MgZDggb3IgdHJh
Y2Vtb25rZXkncyBqcywgYXMKICAgICAgICAgICAgLy8gICAgICAgICAgcmVhZCgpIHdpbGwgdHJ5
IHRvIHBhcnNlIFVURjguCiAgICAgICAgICAgIG9iai5jb250ZW50cyA9IGludEFycmF5RnJvbVN0
cmluZyhNb2R1bGVbJ3JlYWQnXShvYmoudXJsKSwgdHJ1ZSk7CiAgICAgICAgICB9IGNhdGNoIChl
KSB7CiAgICAgICAgICAgIHN1Y2Nlc3MgPSBmYWxzZTsKICAgICAgICAgIH0KICAgICAgICB9IGVs
c2UgewogICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdDYW5ub3QgbG9hZCB3aXRob3V0IHJlYWQo
KSBvciBYTUxIdHRwUmVxdWVzdC4nKTsKICAgICAgICB9CiAgICAgICAgaWYgKCFzdWNjZXNzKSBf
X19zZXRFcnJObyhFUlJOT19DT0RFUy5FSU8pOwogICAgICAgIHJldHVybiBzdWNjZXNzOwogICAg
ICB9LGNyZWF0ZUxhenlGaWxlOmZ1bmN0aW9uIChwYXJlbnQsIG5hbWUsIHVybCwgY2FuUmVhZCwg
Y2FuV3JpdGUpIHsKICAgICAgICAvLyBMYXp5IGNodW5rZWQgVWludDhBcnJheSAoaW1wbGVtZW50
cyBnZXQgYW5kIGxlbmd0aCBmcm9tIFVpbnQ4QXJyYXkpLiBBY3R1YWwgZ2V0dGluZyBpcyBhYnN0
cmFjdGVkIGF3YXkgZm9yIGV2ZW50dWFsIHJldXNlLgogICAgICAgIGZ1bmN0aW9uIExhenlVaW50
OEFycmF5KCkgewogICAgICAgICAgdGhpcy5sZW5ndGhLbm93biA9IGZhbHNlOwogICAgICAgICAg
dGhpcy5jaHVua3MgPSBbXTsgLy8gTG9hZGVkIGNodW5rcy4gSW5kZXggaXMgdGhlIGNodW5rIG51
bWJlcgogICAgICAgIH0KICAgICAgICBMYXp5VWludDhBcnJheS5wcm90b3R5cGUuZ2V0ID0gZnVu
Y3Rpb24gTGF6eVVpbnQ4QXJyYXlfZ2V0KGlkeCkgewogICAgICAgICAgaWYgKGlkeCA+IHRoaXMu
bGVuZ3RoLTEgfHwgaWR4IDwgMCkgewogICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkOwogICAg
ICAgICAgfQogICAgICAgICAgdmFyIGNodW5rT2Zmc2V0ID0gaWR4ICUgdGhpcy5jaHVua1NpemU7
CiAgICAgICAgICB2YXIgY2h1bmtOdW0gPSBNYXRoLmZsb29yKGlkeCAvIHRoaXMuY2h1bmtTaXpl
KTsKICAgICAgICAgIHJldHVybiB0aGlzLmdldHRlcihjaHVua051bSlbY2h1bmtPZmZzZXRdOwog
ICAgICAgIH0KICAgICAgICBMYXp5VWludDhBcnJheS5wcm90b3R5cGUuc2V0RGF0YUdldHRlciA9
IGZ1bmN0aW9uIExhenlVaW50OEFycmF5X3NldERhdGFHZXR0ZXIoZ2V0dGVyKSB7CiAgICAgICAg
ICB0aGlzLmdldHRlciA9IGdldHRlcjsKICAgICAgICB9CiAgICAgICAgTGF6eVVpbnQ4QXJyYXku
cHJvdG90eXBlLmNhY2hlTGVuZ3RoID0gZnVuY3Rpb24gTGF6eVVpbnQ4QXJyYXlfY2FjaGVMZW5n
dGgoKSB7CiAgICAgICAgICAgIC8vIEZpbmQgbGVuZ3RoCiAgICAgICAgICAgIHZhciB4aHIgPSBu
ZXcgWE1MSHR0cFJlcXVlc3QoKTsKICAgICAgICAgICAgeGhyLm9wZW4oJ0hFQUQnLCB1cmwsIGZh
bHNlKTsKICAgICAgICAgICAgeGhyLnNlbmQobnVsbCk7CiAgICAgICAgICAgIGlmICghKHhoci5z
dGF0dXMgPj0gMjAwICYmIHhoci5zdGF0dXMgPCAzMDAgfHwgeGhyLnN0YXR1cyA9PT0gMzA0KSkg
dGhyb3cgbmV3IEVycm9yKCJDb3VsZG4ndCBsb2FkICIgKyB1cmwgKyAiLiBTdGF0dXM6ICIgKyB4
aHIuc3RhdHVzKTsKICAgICAgICAgICAgdmFyIGRhdGFsZW5ndGggPSBOdW1iZXIoeGhyLmdldFJl
c3BvbnNlSGVhZGVyKCJDb250ZW50LWxlbmd0aCIpKTsKICAgICAgICAgICAgdmFyIGhlYWRlcjsK
ICAgICAgICAgICAgdmFyIGhhc0J5dGVTZXJ2aW5nID0gKGhlYWRlciA9IHhoci5nZXRSZXNwb25z
ZUhlYWRlcigiQWNjZXB0LVJhbmdlcyIpKSAmJiBoZWFkZXIgPT09ICJieXRlcyI7CiAgICAgICAg
ICAgIHZhciBjaHVua1NpemUgPSAxMDI0KjEwMjQ7IC8vIENodW5rIHNpemUgaW4gYnl0ZXMKICAK
ICAgICAgICAgICAgaWYgKCFoYXNCeXRlU2VydmluZykgY2h1bmtTaXplID0gZGF0YWxlbmd0aDsK
ICAKICAgICAgICAgICAgLy8gRnVuY3Rpb24gdG8gZ2V0IGEgcmFuZ2UgZnJvbSB0aGUgcmVtb3Rl
IFVSTC4KICAgICAgICAgICAgdmFyIGRvWEhSID0gKGZ1bmN0aW9uKGZyb20sIHRvKSB7CiAgICAg
ICAgICAgICAgaWYgKGZyb20gPiB0bykgdGhyb3cgbmV3IEVycm9yKCJpbnZhbGlkIHJhbmdlICgi
ICsgZnJvbSArICIsICIgKyB0byArICIpIG9yIG5vIGJ5dGVzIHJlcXVlc3RlZCEiKTsKICAgICAg
ICAgICAgICBpZiAodG8gPiBkYXRhbGVuZ3RoLTEpIHRocm93IG5ldyBFcnJvcigib25seSAiICsg
ZGF0YWxlbmd0aCArICIgYnl0ZXMgYXZhaWxhYmxlISBwcm9ncmFtbWVyIGVycm9yISIpOwogIAog
ICAgICAgICAgICAgIC8vIFRPRE86IFVzZSBtb3pSZXNwb25zZUFycmF5QnVmZmVyLCByZXNwb25z
ZVN0cmVhbSwgZXRjLiBpZiBhdmFpbGFibGUuCiAgICAgICAgICAgICAgdmFyIHhociA9IG5ldyBY
TUxIdHRwUmVxdWVzdCgpOwogICAgICAgICAgICAgIHhoci5vcGVuKCdHRVQnLCB1cmwsIGZhbHNl
KTsKICAgICAgICAgICAgICBpZiAoZGF0YWxlbmd0aCAhPT0gY2h1bmtTaXplKSB4aHIuc2V0UmVx
dWVzdEhlYWRlcigiUmFuZ2UiLCAiYnl0ZXM9IiArIGZyb20gKyAiLSIgKyB0byk7CiAgCiAgICAg
ICAgICAgICAgLy8gU29tZSBoaW50cyB0byB0aGUgYnJvd3NlciB0aGF0IHdlIHdhbnQgYmluYXJ5
IGRhdGEuCiAgICAgICAgICAgICAgaWYgKHR5cGVvZiBVaW50OEFycmF5ICE9ICd1bmRlZmluZWQn
KSB4aHIucmVzcG9uc2VUeXBlID0gJ2FycmF5YnVmZmVyJzsKICAgICAgICAgICAgICBpZiAoeGhy
Lm92ZXJyaWRlTWltZVR5cGUpIHsKICAgICAgICAgICAgICAgIHhoci5vdmVycmlkZU1pbWVUeXBl
KCd0ZXh0L3BsYWluOyBjaGFyc2V0PXgtdXNlci1kZWZpbmVkJyk7CiAgICAgICAgICAgICAgfQog
IAogICAgICAgICAgICAgIHhoci5zZW5kKG51bGwpOwogICAgICAgICAgICAgIGlmICghKHhoci5z
dGF0dXMgPj0gMjAwICYmIHhoci5zdGF0dXMgPCAzMDAgfHwgeGhyLnN0YXR1cyA9PT0gMzA0KSkg
dGhyb3cgbmV3IEVycm9yKCJDb3VsZG4ndCBsb2FkICIgKyB1cmwgKyAiLiBTdGF0dXM6ICIgKyB4
aHIuc3RhdHVzKTsKICAgICAgICAgICAgICBpZiAoeGhyLnJlc3BvbnNlICE9PSB1bmRlZmluZWQp
IHsKICAgICAgICAgICAgICAgIHJldHVybiBuZXcgVWludDhBcnJheSh4aHIucmVzcG9uc2UgfHwg
W10pOwogICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICByZXR1cm4gaW50QXJy
YXlGcm9tU3RyaW5nKHhoci5yZXNwb25zZVRleHQgfHwgJycsIHRydWUpOwogICAgICAgICAgICAg
IH0KICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIHZhciBsYXp5QXJyYXkgPSB0aGlzOwogICAg
ICAgICAgICBsYXp5QXJyYXkuc2V0RGF0YUdldHRlcihmdW5jdGlvbihjaHVua051bSkgewogICAg
ICAgICAgICAgIHZhciBzdGFydCA9IGNodW5rTnVtICogY2h1bmtTaXplOwogICAgICAgICAgICAg
IHZhciBlbmQgPSAoY2h1bmtOdW0rMSkgKiBjaHVua1NpemUgLSAxOyAvLyBpbmNsdWRpbmcgdGhp
cyBieXRlCiAgICAgICAgICAgICAgZW5kID0gTWF0aC5taW4oZW5kLCBkYXRhbGVuZ3RoLTEpOyAv
LyBpZiBkYXRhbGVuZ3RoLTEgaXMgc2VsZWN0ZWQsIHRoaXMgaXMgdGhlIGxhc3QgYmxvY2sKICAg
ICAgICAgICAgICBpZiAodHlwZW9mKGxhenlBcnJheS5jaHVua3NbY2h1bmtOdW1dKSA9PT0gInVu
ZGVmaW5lZCIpIHsKICAgICAgICAgICAgICAgIGxhenlBcnJheS5jaHVua3NbY2h1bmtOdW1dID0g
ZG9YSFIoc3RhcnQsIGVuZCk7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIGlmICh0eXBl
b2YobGF6eUFycmF5LmNodW5rc1tjaHVua051bV0pID09PSAidW5kZWZpbmVkIikgdGhyb3cgbmV3
IEVycm9yKCJkb1hIUiBmYWlsZWQhIik7CiAgICAgICAgICAgICAgcmV0dXJuIGxhenlBcnJheS5j
aHVua3NbY2h1bmtOdW1dOwogICAgICAgICAgICB9KTsKICAKICAgICAgICAgICAgdGhpcy5fbGVu
Z3RoID0gZGF0YWxlbmd0aDsKICAgICAgICAgICAgdGhpcy5fY2h1bmtTaXplID0gY2h1bmtTaXpl
OwogICAgICAgICAgICB0aGlzLmxlbmd0aEtub3duID0gdHJ1ZTsKICAgICAgICB9CiAgICAgICAg
aWYgKHR5cGVvZiBYTUxIdHRwUmVxdWVzdCAhPT0gJ3VuZGVmaW5lZCcpIHsKICAgICAgICAgIGlm
ICghRU5WSVJPTk1FTlRfSVNfV09SS0VSKSB0aHJvdyAnQ2Fubm90IGRvIHN5bmNocm9ub3VzIGJp
bmFyeSBYSFJzIG91dHNpZGUgd2Vid29ya2VycyBpbiBtb2Rlcm4gYnJvd3NlcnMuIFVzZSAtLWVt
YmVkLWZpbGUgb3IgLS1wcmVsb2FkLWZpbGUgaW4gZW1jYyc7CiAgICAgICAgICB2YXIgbGF6eUFy
cmF5ID0gbmV3IExhenlVaW50OEFycmF5KCk7CiAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVy
dHkobGF6eUFycmF5LCAibGVuZ3RoIiwgewogICAgICAgICAgICAgIGdldDogZnVuY3Rpb24oKSB7
CiAgICAgICAgICAgICAgICAgIGlmKCF0aGlzLmxlbmd0aEtub3duKSB7CiAgICAgICAgICAgICAg
ICAgICAgICB0aGlzLmNhY2hlTGVuZ3RoKCk7CiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAg
ICAgICAgICAgcmV0dXJuIHRoaXMuX2xlbmd0aDsKICAgICAgICAgICAgICB9CiAgICAgICAgICB9
KTsKICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShsYXp5QXJyYXksICJjaHVua1NpemUi
LCB7CiAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgaWYo
IXRoaXMubGVuZ3RoS25vd24pIHsKICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY2FjaGVMZW5n
dGgoKTsKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5f
Y2h1bmtTaXplOwogICAgICAgICAgICAgIH0KICAgICAgICAgIH0pOwogIAogICAgICAgICAgdmFy
IHByb3BlcnRpZXMgPSB7IGlzRGV2aWNlOiBmYWxzZSwgY29udGVudHM6IGxhenlBcnJheSB9Owog
ICAgICAgIH0gZWxzZSB7CiAgICAgICAgICB2YXIgcHJvcGVydGllcyA9IHsgaXNEZXZpY2U6IGZh
bHNlLCB1cmw6IHVybCB9OwogICAgICAgIH0KICAKICAgICAgICB2YXIgbm9kZSA9IEZTLmNyZWF0
ZUZpbGUocGFyZW50LCBuYW1lLCBwcm9wZXJ0aWVzLCBjYW5SZWFkLCBjYW5Xcml0ZSk7CiAgICAg
ICAgLy8gVGhpcyBpcyBhIHRvdGFsIGhhY2ssIGJ1dCBJIHdhbnQgdG8gZ2V0IHRoaXMgbGF6eSBm
aWxlIGNvZGUgb3V0IG9mIHRoZQogICAgICAgIC8vIGNvcmUgb2YgTUVNRlMuIElmIHdlIHdhbnQg
dG8ga2VlcCB0aGlzIGxhenkgZmlsZSBjb25jZXB0IEkgZmVlbCBpdCBzaG91bGQKICAgICAgICAv
LyBiZSBpdHMgb3duIHRoaW4gTEFaWUZTIHByb3h5aW5nIGNhbGxzIHRvIE1FTUZTLgogICAgICAg
IGlmIChwcm9wZXJ0aWVzLmNvbnRlbnRzKSB7CiAgICAgICAgICBub2RlLmNvbnRlbnRzID0gcHJv
cGVydGllcy5jb250ZW50czsKICAgICAgICB9IGVsc2UgaWYgKHByb3BlcnRpZXMudXJsKSB7CiAg
ICAgICAgICBub2RlLmNvbnRlbnRzID0gbnVsbDsKICAgICAgICAgIG5vZGUudXJsID0gcHJvcGVy
dGllcy51cmw7CiAgICAgICAgfQogICAgICAgIC8vIG92ZXJyaWRlIGVhY2ggc3RyZWFtIG9wIHdp
dGggb25lIHRoYXQgdHJpZXMgdG8gZm9yY2UgbG9hZCB0aGUgbGF6eSBmaWxlIGZpcnN0CiAgICAg
ICAgdmFyIHN0cmVhbV9vcHMgPSB7fTsKICAgICAgICB2YXIga2V5cyA9IE9iamVjdC5rZXlzKG5v
ZGUuc3RyZWFtX29wcyk7CiAgICAgICAga2V5cy5mb3JFYWNoKGZ1bmN0aW9uKGtleSkgewogICAg
ICAgICAgdmFyIGZuID0gbm9kZS5zdHJlYW1fb3BzW2tleV07CiAgICAgICAgICBzdHJlYW1fb3Bz
W2tleV0gPSBmdW5jdGlvbiBmb3JjZUxvYWRMYXp5RmlsZSgpIHsKICAgICAgICAgICAgaWYgKCFG
Uy5mb3JjZUxvYWRGaWxlKG5vZGUpKSB7CiAgICAgICAgICAgICAgdGhyb3cgbmV3IEZTLkVycm5v
RXJyb3IoRVJSTk9fQ09ERVMuRUlPKTsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4g
Zm4uYXBwbHkobnVsbCwgYXJndW1lbnRzKTsKICAgICAgICAgIH07CiAgICAgICAgfSk7CiAgICAg
ICAgLy8gdXNlIGEgY3VzdG9tIHJlYWQgZnVuY3Rpb24KICAgICAgICBzdHJlYW1fb3BzLnJlYWQg
PSBmdW5jdGlvbiBzdHJlYW1fb3BzX3JlYWQoc3RyZWFtLCBidWZmZXIsIG9mZnNldCwgbGVuZ3Ro
LCBwb3NpdGlvbikgewogICAgICAgICAgaWYgKCFGUy5mb3JjZUxvYWRGaWxlKG5vZGUpKSB7CiAg
ICAgICAgICAgIHRocm93IG5ldyBGUy5FcnJub0Vycm9yKEVSUk5PX0NPREVTLkVJTyk7CiAgICAg
ICAgICB9CiAgICAgICAgICB2YXIgY29udGVudHMgPSBzdHJlYW0ubm9kZS5jb250ZW50czsKICAg
ICAgICAgIGlmIChwb3NpdGlvbiA+PSBjb250ZW50cy5sZW5ndGgpCiAgICAgICAgICAgIHJldHVy
biAwOwogICAgICAgICAgdmFyIHNpemUgPSBNYXRoLm1pbihjb250ZW50cy5sZW5ndGggLSBwb3Np
dGlvbiwgbGVuZ3RoKTsKICAgICAgICAgIGFzc2VydChzaXplID49IDApOwogICAgICAgICAgaWYg
KGNvbnRlbnRzLnNsaWNlKSB7IC8vIG5vcm1hbCBhcnJheQogICAgICAgICAgICBmb3IgKHZhciBp
ID0gMDsgaSA8IHNpemU7IGkrKykgewogICAgICAgICAgICAgIGJ1ZmZlcltvZmZzZXQgKyBpXSA9
IGNvbnRlbnRzW3Bvc2l0aW9uICsgaV07CiAgICAgICAgICAgIH0KICAgICAgICAgIH0gZWxzZSB7
CiAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgc2l6ZTsgaSsrKSB7IC8vIExhenlVaW50
OEFycmF5IGZyb20gc3luYyBiaW5hcnkgWEhSCiAgICAgICAgICAgICAgYnVmZmVyW29mZnNldCAr
IGldID0gY29udGVudHMuZ2V0KHBvc2l0aW9uICsgaSk7CiAgICAgICAgICAgIH0KICAgICAgICAg
IH0KICAgICAgICAgIHJldHVybiBzaXplOwogICAgICAgIH07CiAgICAgICAgbm9kZS5zdHJlYW1f
b3BzID0gc3RyZWFtX29wczsKICAgICAgICByZXR1cm4gbm9kZTsKICAgICAgfSxjcmVhdGVQcmVs
b2FkZWRGaWxlOmZ1bmN0aW9uIChwYXJlbnQsIG5hbWUsIHVybCwgY2FuUmVhZCwgY2FuV3JpdGUs
IG9ubG9hZCwgb25lcnJvciwgZG9udENyZWF0ZUZpbGUsIGNhbk93bikgewogICAgICAgIEJyb3dz
ZXIuaW5pdCgpOwogICAgICAgIC8vIFRPRE8gd2Ugc2hvdWxkIGFsbG93IHBlb3BsZSB0byBqdXN0
IHBhc3MgaW4gYSBjb21wbGV0ZSBmaWxlbmFtZSBpbnN0ZWFkCiAgICAgICAgLy8gb2YgcGFyZW50
IGFuZCBuYW1lIGJlaW5nIHRoYXQgd2UganVzdCBqb2luIHRoZW0gYW55d2F5cwogICAgICAgIHZh
ciBmdWxsbmFtZSA9IG5hbWUgPyBQQVRILnJlc29sdmUoUEFUSC5qb2luMihwYXJlbnQsIG5hbWUp
KSA6IHBhcmVudDsKICAgICAgICBmdW5jdGlvbiBwcm9jZXNzRGF0YShieXRlQXJyYXkpIHsKICAg
ICAgICAgIGZ1bmN0aW9uIGZpbmlzaChieXRlQXJyYXkpIHsKICAgICAgICAgICAgaWYgKCFkb250
Q3JlYXRlRmlsZSkgewogICAgICAgICAgICAgIEZTLmNyZWF0ZURhdGFGaWxlKHBhcmVudCwgbmFt
ZSwgYnl0ZUFycmF5LCBjYW5SZWFkLCBjYW5Xcml0ZSwgY2FuT3duKTsKICAgICAgICAgICAgfQog
ICAgICAgICAgICBpZiAob25sb2FkKSBvbmxvYWQoKTsKICAgICAgICAgICAgcmVtb3ZlUnVuRGVw
ZW5kZW5jeSgnY3AgJyArIGZ1bGxuYW1lKTsKICAgICAgICAgIH0KICAgICAgICAgIHZhciBoYW5k
bGVkID0gZmFsc2U7CiAgICAgICAgICBNb2R1bGVbJ3ByZWxvYWRQbHVnaW5zJ10uZm9yRWFjaChm
dW5jdGlvbihwbHVnaW4pIHsKICAgICAgICAgICAgaWYgKGhhbmRsZWQpIHJldHVybjsKICAgICAg
ICAgICAgaWYgKHBsdWdpblsnY2FuSGFuZGxlJ10oZnVsbG5hbWUpKSB7CiAgICAgICAgICAgICAg
cGx1Z2luWydoYW5kbGUnXShieXRlQXJyYXksIGZ1bGxuYW1lLCBmaW5pc2gsIGZ1bmN0aW9uKCkg
ewogICAgICAgICAgICAgICAgaWYgKG9uZXJyb3IpIG9uZXJyb3IoKTsKICAgICAgICAgICAgICAg
IHJlbW92ZVJ1bkRlcGVuZGVuY3koJ2NwICcgKyBmdWxsbmFtZSk7CiAgICAgICAgICAgICAgfSk7
CiAgICAgICAgICAgICAgaGFuZGxlZCA9IHRydWU7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0p
OwogICAgICAgICAgaWYgKCFoYW5kbGVkKSBmaW5pc2goYnl0ZUFycmF5KTsKICAgICAgICB9CiAg
ICAgICAgYWRkUnVuRGVwZW5kZW5jeSgnY3AgJyArIGZ1bGxuYW1lKTsKICAgICAgICBpZiAodHlw
ZW9mIHVybCA9PSAnc3RyaW5nJykgewogICAgICAgICAgQnJvd3Nlci5hc3luY0xvYWQodXJsLCBm
dW5jdGlvbihieXRlQXJyYXkpIHsKICAgICAgICAgICAgcHJvY2Vzc0RhdGEoYnl0ZUFycmF5KTsK
ICAgICAgICAgIH0sIG9uZXJyb3IpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICBwcm9jZXNz
RGF0YSh1cmwpOwogICAgICAgIH0KICAgICAgfSxpbmRleGVkREI6ZnVuY3Rpb24gKCkgewogICAg
ICAgIHJldHVybiB3aW5kb3cuaW5kZXhlZERCIHx8IHdpbmRvdy5tb3pJbmRleGVkREIgfHwgd2lu
ZG93LndlYmtpdEluZGV4ZWREQiB8fCB3aW5kb3cubXNJbmRleGVkREI7CiAgICAgIH0sREJfTkFN
RTpmdW5jdGlvbiAoKSB7CiAgICAgICAgcmV0dXJuICdFTV9GU18nICsgd2luZG93LmxvY2F0aW9u
LnBhdGhuYW1lOwogICAgICB9LERCX1ZFUlNJT046MjAsREJfU1RPUkVfTkFNRToiRklMRV9EQVRB
IixzYXZlRmlsZXNUb0RCOmZ1bmN0aW9uIChwYXRocywgb25sb2FkLCBvbmVycm9yKSB7CiAgICAg
ICAgb25sb2FkID0gb25sb2FkIHx8IGZ1bmN0aW9uKCl7fTsKICAgICAgICBvbmVycm9yID0gb25l
cnJvciB8fCBmdW5jdGlvbigpe307CiAgICAgICAgdmFyIGluZGV4ZWREQiA9IEZTLmluZGV4ZWRE
QigpOwogICAgICAgIHRyeSB7CiAgICAgICAgICB2YXIgb3BlblJlcXVlc3QgPSBpbmRleGVkREIu
b3BlbihGUy5EQl9OQU1FKCksIEZTLkRCX1ZFUlNJT04pOwogICAgICAgIH0gY2F0Y2ggKGUpIHsK
ICAgICAgICAgIHJldHVybiBvbmVycm9yKGUpOwogICAgICAgIH0KICAgICAgICBvcGVuUmVxdWVz
dC5vbnVwZ3JhZGVuZWVkZWQgPSBmdW5jdGlvbiBvcGVuUmVxdWVzdF9vbnVwZ3JhZGVuZWVkZWQo
KSB7CiAgICAgICAgICBjb25zb2xlLmxvZygnY3JlYXRpbmcgZGInKTsKICAgICAgICAgIHZhciBk
YiA9IG9wZW5SZXF1ZXN0LnJlc3VsdDsKICAgICAgICAgIGRiLmNyZWF0ZU9iamVjdFN0b3JlKEZT
LkRCX1NUT1JFX05BTUUpOwogICAgICAgIH07CiAgICAgICAgb3BlblJlcXVlc3Qub25zdWNjZXNz
ID0gZnVuY3Rpb24gb3BlblJlcXVlc3Rfb25zdWNjZXNzKCkgewogICAgICAgICAgdmFyIGRiID0g
b3BlblJlcXVlc3QucmVzdWx0OwogICAgICAgICAgdmFyIHRyYW5zYWN0aW9uID0gZGIudHJhbnNh
Y3Rpb24oW0ZTLkRCX1NUT1JFX05BTUVdLCAncmVhZHdyaXRlJyk7CiAgICAgICAgICB2YXIgZmls
ZXMgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZShGUy5EQl9TVE9SRV9OQU1FKTsKICAgICAgICAg
IHZhciBvayA9IDAsIGZhaWwgPSAwLCB0b3RhbCA9IHBhdGhzLmxlbmd0aDsKICAgICAgICAgIGZ1
bmN0aW9uIGZpbmlzaCgpIHsKICAgICAgICAgICAgaWYgKGZhaWwgPT0gMCkgb25sb2FkKCk7IGVs
c2Ugb25lcnJvcigpOwogICAgICAgICAgfQogICAgICAgICAgcGF0aHMuZm9yRWFjaChmdW5jdGlv
bihwYXRoKSB7CiAgICAgICAgICAgIHZhciBwdXRSZXF1ZXN0ID0gZmlsZXMucHV0KEZTLmFuYWx5
emVQYXRoKHBhdGgpLm9iamVjdC5jb250ZW50cywgcGF0aCk7CiAgICAgICAgICAgIHB1dFJlcXVl
c3Qub25zdWNjZXNzID0gZnVuY3Rpb24gcHV0UmVxdWVzdF9vbnN1Y2Nlc3MoKSB7IG9rKys7IGlm
IChvayArIGZhaWwgPT0gdG90YWwpIGZpbmlzaCgpIH07CiAgICAgICAgICAgIHB1dFJlcXVlc3Qu
b25lcnJvciA9IGZ1bmN0aW9uIHB1dFJlcXVlc3Rfb25lcnJvcigpIHsgZmFpbCsrOyBpZiAob2sg
KyBmYWlsID09IHRvdGFsKSBmaW5pc2goKSB9OwogICAgICAgICAgfSk7CiAgICAgICAgICB0cmFu
c2FjdGlvbi5vbmVycm9yID0gb25lcnJvcjsKICAgICAgICB9OwogICAgICAgIG9wZW5SZXF1ZXN0
Lm9uZXJyb3IgPSBvbmVycm9yOwogICAgICB9LGxvYWRGaWxlc0Zyb21EQjpmdW5jdGlvbiAocGF0
aHMsIG9ubG9hZCwgb25lcnJvcikgewogICAgICAgIG9ubG9hZCA9IG9ubG9hZCB8fCBmdW5jdGlv
bigpe307CiAgICAgICAgb25lcnJvciA9IG9uZXJyb3IgfHwgZnVuY3Rpb24oKXt9OwogICAgICAg
IHZhciBpbmRleGVkREIgPSBGUy5pbmRleGVkREIoKTsKICAgICAgICB0cnkgewogICAgICAgICAg
dmFyIG9wZW5SZXF1ZXN0ID0gaW5kZXhlZERCLm9wZW4oRlMuREJfTkFNRSgpLCBGUy5EQl9WRVJT
SU9OKTsKICAgICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgICByZXR1cm4gb25lcnJvcihlKTsK
ICAgICAgICB9CiAgICAgICAgb3BlblJlcXVlc3Qub251cGdyYWRlbmVlZGVkID0gb25lcnJvcjsg
Ly8gbm8gZGF0YWJhc2UgdG8gbG9hZCBmcm9tCiAgICAgICAgb3BlblJlcXVlc3Qub25zdWNjZXNz
ID0gZnVuY3Rpb24gb3BlblJlcXVlc3Rfb25zdWNjZXNzKCkgewogICAgICAgICAgdmFyIGRiID0g
b3BlblJlcXVlc3QucmVzdWx0OwogICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgdmFyIHRyYW5z
YWN0aW9uID0gZGIudHJhbnNhY3Rpb24oW0ZTLkRCX1NUT1JFX05BTUVdLCAncmVhZG9ubHknKTsK
ICAgICAgICAgIH0gY2F0Y2goZSkgewogICAgICAgICAgICBvbmVycm9yKGUpOwogICAgICAgICAg
ICByZXR1cm47CiAgICAgICAgICB9CiAgICAgICAgICB2YXIgZmlsZXMgPSB0cmFuc2FjdGlvbi5v
YmplY3RTdG9yZShGUy5EQl9TVE9SRV9OQU1FKTsKICAgICAgICAgIHZhciBvayA9IDAsIGZhaWwg
PSAwLCB0b3RhbCA9IHBhdGhzLmxlbmd0aDsKICAgICAgICAgIGZ1bmN0aW9uIGZpbmlzaCgpIHsK
ICAgICAgICAgICAgaWYgKGZhaWwgPT0gMCkgb25sb2FkKCk7IGVsc2Ugb25lcnJvcigpOwogICAg
ICAgICAgfQogICAgICAgICAgcGF0aHMuZm9yRWFjaChmdW5jdGlvbihwYXRoKSB7CiAgICAgICAg
ICAgIHZhciBnZXRSZXF1ZXN0ID0gZmlsZXMuZ2V0KHBhdGgpOwogICAgICAgICAgICBnZXRSZXF1
ZXN0Lm9uc3VjY2VzcyA9IGZ1bmN0aW9uIGdldFJlcXVlc3Rfb25zdWNjZXNzKCkgewogICAgICAg
ICAgICAgIGlmIChGUy5hbmFseXplUGF0aChwYXRoKS5leGlzdHMpIHsKICAgICAgICAgICAgICAg
IEZTLnVubGluayhwYXRoKTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgRlMuY3JlYXRl
RGF0YUZpbGUoUEFUSC5kaXJuYW1lKHBhdGgpLCBQQVRILmJhc2VuYW1lKHBhdGgpLCBnZXRSZXF1
ZXN0LnJlc3VsdCwgdHJ1ZSwgdHJ1ZSwgdHJ1ZSk7CiAgICAgICAgICAgICAgb2srKzsKICAgICAg
ICAgICAgICBpZiAob2sgKyBmYWlsID09IHRvdGFsKSBmaW5pc2goKTsKICAgICAgICAgICAgfTsK
ICAgICAgICAgICAgZ2V0UmVxdWVzdC5vbmVycm9yID0gZnVuY3Rpb24gZ2V0UmVxdWVzdF9vbmVy
cm9yKCkgeyBmYWlsKys7IGlmIChvayArIGZhaWwgPT0gdG90YWwpIGZpbmlzaCgpIH07CiAgICAg
ICAgICB9KTsKICAgICAgICAgIHRyYW5zYWN0aW9uLm9uZXJyb3IgPSBvbmVycm9yOwogICAgICAg
IH07CiAgICAgICAgb3BlblJlcXVlc3Qub25lcnJvciA9IG9uZXJyb3I7CiAgICAgIH19OwogIAog
IAogIAogIAogIGZ1bmN0aW9uIF9ta3BvcnQoKSB7IHRocm93ICdUT0RPJyB9dmFyIFNPQ0tGUz17
bW91bnQ6ZnVuY3Rpb24gKG1vdW50KSB7CiAgICAgICAgcmV0dXJuIEZTLmNyZWF0ZU5vZGUobnVs
bCwgJy8nLCAxNjM4NCB8IDUxMSAvKiAwNzc3ICovLCAwKTsKICAgICAgfSxjcmVhdGVTb2NrZXQ6
ZnVuY3Rpb24gKGZhbWlseSwgdHlwZSwgcHJvdG9jb2wpIHsKICAgICAgICB2YXIgc3RyZWFtaW5n
ID0gdHlwZSA9PSAxOwogICAgICAgIGlmIChwcm90b2NvbCkgewogICAgICAgICAgYXNzZXJ0KHN0
cmVhbWluZyA9PSAocHJvdG9jb2wgPT0gNikpOyAvLyBpZiBTT0NLX1NUUkVBTSwgbXVzdCBiZSB0
Y3AKICAgICAgICB9CiAgCiAgICAgICAgLy8gY3JlYXRlIG91ciBpbnRlcm5hbCBzb2NrZXQgc3Ry
dWN0dXJlCiAgICAgICAgdmFyIHNvY2sgPSB7CiAgICAgICAgICBmYW1pbHk6IGZhbWlseSwKICAg
ICAgICAgIHR5cGU6IHR5cGUsCiAgICAgICAgICBwcm90b2NvbDogcHJvdG9jb2wsCiAgICAgICAg
ICBzZXJ2ZXI6IG51bGwsCiAgICAgICAgICBwZWVyczoge30sCiAgICAgICAgICBwZW5kaW5nOiBb
XSwKICAgICAgICAgIHJlY3ZfcXVldWU6IFtdLAogICAgICAgICAgc29ja19vcHM6IFNPQ0tGUy53
ZWJzb2NrZXRfc29ja19vcHMKICAgICAgICB9OwogIAogICAgICAgIC8vIGNyZWF0ZSB0aGUgZmls
ZXN5c3RlbSBub2RlIHRvIHN0b3JlIHRoZSBzb2NrZXQgc3RydWN0dXJlCiAgICAgICAgdmFyIG5h
bWUgPSBTT0NLRlMubmV4dG5hbWUoKTsKICAgICAgICB2YXIgbm9kZSA9IEZTLmNyZWF0ZU5vZGUo
U09DS0ZTLnJvb3QsIG5hbWUsIDQ5MTUyLCAwKTsKICAgICAgICBub2RlLnNvY2sgPSBzb2NrOwog
IAogICAgICAgIC8vIGFuZCB0aGUgd3JhcHBpbmcgc3RyZWFtIHRoYXQgZW5hYmxlcyBsaWJyYXJ5
IGZ1bmN0aW9ucyBzdWNoCiAgICAgICAgLy8gYXMgcmVhZCBhbmQgd3JpdGUgdG8gaW5kaXJlY3Rs
eSBpbnRlcmFjdCB3aXRoIHRoZSBzb2NrZXQKICAgICAgICB2YXIgc3RyZWFtID0gRlMuY3JlYXRl
U3RyZWFtKHsKICAgICAgICAgIHBhdGg6IG5hbWUsCiAgICAgICAgICBub2RlOiBub2RlLAogICAg
ICAgICAgZmxhZ3M6IEZTLm1vZGVTdHJpbmdUb0ZsYWdzKCdyKycpLAogICAgICAgICAgc2Vla2Fi
bGU6IGZhbHNlLAogICAgICAgICAgc3RyZWFtX29wczogU09DS0ZTLnN0cmVhbV9vcHMKICAgICAg
ICB9KTsKICAKICAgICAgICAvLyBtYXAgdGhlIG5ldyBzdHJlYW0gdG8gdGhlIHNvY2tldCBzdHJ1
Y3R1cmUgKHNvY2tldHMgaGF2ZSBhIDE6MQogICAgICAgIC8vIHJlbGF0aW9uc2hpcCB3aXRoIGEg
c3RyZWFtKQogICAgICAgIHNvY2suc3RyZWFtID0gc3RyZWFtOwogIAogICAgICAgIHJldHVybiBz
b2NrOwogICAgICB9LGdldFNvY2tldDpmdW5jdGlvbiAoZmQpIHsKICAgICAgICB2YXIgc3RyZWFt
ID0gRlMuZ2V0U3RyZWFtKGZkKTsKICAgICAgICBpZiAoIXN0cmVhbSB8fCAhRlMuaXNTb2NrZXQo
c3RyZWFtLm5vZGUubW9kZSkpIHsKICAgICAgICAgIHJldHVybiBudWxsOwogICAgICAgIH0KICAg
ICAgICByZXR1cm4gc3RyZWFtLm5vZGUuc29jazsKICAgICAgfSxzdHJlYW1fb3BzOntwb2xsOmZ1
bmN0aW9uIChzdHJlYW0pIHsKICAgICAgICAgIHZhciBzb2NrID0gc3RyZWFtLm5vZGUuc29jazsK
ICAgICAgICAgIHJldHVybiBzb2NrLnNvY2tfb3BzLnBvbGwoc29jayk7CiAgICAgICAgfSxpb2N0
bDpmdW5jdGlvbiAoc3RyZWFtLCByZXF1ZXN0LCB2YXJhcmdzKSB7CiAgICAgICAgICB2YXIgc29j
ayA9IHN0cmVhbS5ub2RlLnNvY2s7CiAgICAgICAgICByZXR1cm4gc29jay5zb2NrX29wcy5pb2N0
bChzb2NrLCByZXF1ZXN0LCB2YXJhcmdzKTsKICAgICAgICB9LHJlYWQ6ZnVuY3Rpb24gKHN0cmVh
bSwgYnVmZmVyLCBvZmZzZXQsIGxlbmd0aCwgcG9zaXRpb24gLyogaWdub3JlZCAqLykgewogICAg
ICAgICAgdmFyIHNvY2sgPSBzdHJlYW0ubm9kZS5zb2NrOwogICAgICAgICAgdmFyIG1zZyA9IHNv
Y2suc29ja19vcHMucmVjdm1zZyhzb2NrLCBsZW5ndGgpOwogICAgICAgICAgaWYgKCFtc2cpIHsK
ICAgICAgICAgICAgLy8gc29ja2V0IGlzIGNsb3NlZAogICAgICAgICAgICByZXR1cm4gMDsKICAg
ICAgICAgIH0KICAgICAgICAgIGJ1ZmZlci5zZXQobXNnLmJ1ZmZlciwgb2Zmc2V0KTsKICAgICAg
ICAgIHJldHVybiBtc2cuYnVmZmVyLmxlbmd0aDsKICAgICAgICB9LHdyaXRlOmZ1bmN0aW9uIChz
dHJlYW0sIGJ1ZmZlciwgb2Zmc2V0LCBsZW5ndGgsIHBvc2l0aW9uIC8qIGlnbm9yZWQgKi8pIHsK
ICAgICAgICAgIHZhciBzb2NrID0gc3RyZWFtLm5vZGUuc29jazsKICAgICAgICAgIHJldHVybiBz
b2NrLnNvY2tfb3BzLnNlbmRtc2coc29jaywgYnVmZmVyLCBvZmZzZXQsIGxlbmd0aCk7CiAgICAg
ICAgfSxjbG9zZTpmdW5jdGlvbiAoc3RyZWFtKSB7CiAgICAgICAgICB2YXIgc29jayA9IHN0cmVh
bS5ub2RlLnNvY2s7CiAgICAgICAgICBzb2NrLnNvY2tfb3BzLmNsb3NlKHNvY2spOwogICAgICAg
IH19LG5leHRuYW1lOmZ1bmN0aW9uICgpIHsKICAgICAgICBpZiAoIVNPQ0tGUy5uZXh0bmFtZS5j
dXJyZW50KSB7CiAgICAgICAgICBTT0NLRlMubmV4dG5hbWUuY3VycmVudCA9IDA7CiAgICAgICAg
fQogICAgICAgIHJldHVybiAnc29ja2V0WycgKyAoU09DS0ZTLm5leHRuYW1lLmN1cnJlbnQrKykg
KyAnXSc7CiAgICAgIH0sd2Vic29ja2V0X3NvY2tfb3BzOntjcmVhdGVQZWVyOmZ1bmN0aW9uIChz
b2NrLCBhZGRyLCBwb3J0KSB7CiAgICAgICAgICB2YXIgd3M7CiAgCiAgICAgICAgICBpZiAodHlw
ZW9mIGFkZHIgPT09ICdvYmplY3QnKSB7CiAgICAgICAgICAgIHdzID0gYWRkcjsKICAgICAgICAg
ICAgYWRkciA9IG51bGw7CiAgICAgICAgICAgIHBvcnQgPSBudWxsOwogICAgICAgICAgfQogIAog
ICAgICAgICAgaWYgKHdzKSB7CiAgICAgICAgICAgIC8vIGZvciBzb2NrZXRzIHRoYXQndmUgYWxy
ZWFkeSBjb25uZWN0ZWQgKGUuZy4gd2UncmUgdGhlIHNlcnZlcikKICAgICAgICAgICAgLy8gd2Ug
Y2FuIGluc3BlY3QgdGhlIF9zb2NrZXQgcHJvcGVydHkgZm9yIHRoZSBhZGRyZXNzCiAgICAgICAg
ICAgIGlmICh3cy5fc29ja2V0KSB7CiAgICAgICAgICAgICAgYWRkciA9IHdzLl9zb2NrZXQucmVt
b3RlQWRkcmVzczsKICAgICAgICAgICAgICBwb3J0ID0gd3MuX3NvY2tldC5yZW1vdGVQb3J0Owog
ICAgICAgICAgICB9CiAgICAgICAgICAgIC8vIGlmIHdlJ3JlIGp1c3Qgbm93IGluaXRpYWxpemlu
ZyBhIGNvbm5lY3Rpb24gdG8gdGhlIHJlbW90ZSwKICAgICAgICAgICAgLy8gaW5zcGVjdCB0aGUg
dXJsIHByb3BlcnR5CiAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgIHZhciByZXN1bHQg
PSAvd3Nbc10/OlwvXC8oW146XSspOihcZCspLy5leGVjKHdzLnVybCk7CiAgICAgICAgICAgICAg
aWYgKCFyZXN1bHQpIHsKICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignV2ViU29ja2V0
IFVSTCBtdXN0IGJlIGluIHRoZSBmb3JtYXQgd3Mocyk6Ly9hZGRyZXNzOnBvcnQnKTsKICAgICAg
ICAgICAgICB9CiAgICAgICAgICAgICAgYWRkciA9IHJlc3VsdFsxXTsKICAgICAgICAgICAgICBw
b3J0ID0gcGFyc2VJbnQocmVzdWx0WzJdLCAxMCk7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0g
ZWxzZSB7CiAgICAgICAgICAgIC8vIGNyZWF0ZSB0aGUgYWN0dWFsIHdlYnNvY2tldCBvYmplY3Qg
YW5kIGNvbm5lY3QKICAgICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgICAvLyBydW50aW1lQ29u
ZmlnIGdldHMgc2V0IHRvIHRydWUgaWYgV2ViU29ja2V0IHJ1bnRpbWUgY29uZmlndXJhdGlvbiBp
cyBhdmFpbGFibGUuCiAgICAgICAgICAgICAgdmFyIHJ1bnRpbWVDb25maWcgPSAoTW9kdWxlWyd3
ZWJzb2NrZXQnXSAmJiAoJ29iamVjdCcgPT09IHR5cGVvZiBNb2R1bGVbJ3dlYnNvY2tldCddKSk7
CiAgCiAgICAgICAgICAgICAgLy8gVGhlIGRlZmF1bHQgdmFsdWUgaXMgJ3dzOi8vJyB0aGUgcmVw
bGFjZSBpcyBuZWVkZWQgYmVjYXVzZSB0aGUgY29tcGlsZXIgcmVwbGFjZXMgIi8vIiBjb21tZW50
cyB3aXRoICcjJwogICAgICAgICAgICAgIC8vIGNvbW1lbnRzIHdpdGhvdXQgY2hlY2tpbmcgY29u
dGV4dCwgc28gd2UnZCBlbmQgdXAgd2l0aCB3czojLCB0aGUgcmVwbGFjZSBzd2FwcyB0aGUgIiMi
IGZvciAiLy8iIGFnYWluLgogICAgICAgICAgICAgIHZhciB1cmwgPSAnd3M6IycucmVwbGFjZSgn
IycsICcvLycpOwogIAogICAgICAgICAgICAgIGlmIChydW50aW1lQ29uZmlnKSB7CiAgICAgICAg
ICAgICAgICBpZiAoJ3N0cmluZycgPT09IHR5cGVvZiBNb2R1bGVbJ3dlYnNvY2tldCddWyd1cmwn
XSkgewogICAgICAgICAgICAgICAgICB1cmwgPSBNb2R1bGVbJ3dlYnNvY2tldCddWyd1cmwnXTsg
Ly8gRmV0Y2ggcnVudGltZSBXZWJTb2NrZXQgVVJMIGNvbmZpZy4KICAgICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgICB9CiAgCiAgICAgICAgICAgICAgaWYgKHVybCA9PT0gJ3dzOi8vJyB8fCB1
cmwgPT09ICd3c3M6Ly8nKSB7IC8vIElzIHRoZSBzdXBwbGllZCBVUkwgY29uZmlnIGp1c3QgYSBw
cmVmaXgsIGlmIHNvIGNvbXBsZXRlIGl0LgogICAgICAgICAgICAgICAgdXJsID0gdXJsICsgYWRk
ciArICc6JyArIHBvcnQ7CiAgICAgICAgICAgICAgfQogIAogICAgICAgICAgICAgIC8vIE1ha2Ug
dGhlIFdlYlNvY2tldCBzdWJwcm90b2NvbCAoU2VjLVdlYlNvY2tldC1Qcm90b2NvbCkgZGVmYXVs
dCB0byBiaW5hcnkgaWYgbm8gY29uZmlndXJhdGlvbiBpcyBzZXQuCiAgICAgICAgICAgICAgdmFy
IHN1YlByb3RvY29scyA9ICdiaW5hcnknOyAvLyBUaGUgZGVmYXVsdCB2YWx1ZSBpcyAnYmluYXJ5
JwogIAogICAgICAgICAgICAgIGlmIChydW50aW1lQ29uZmlnKSB7CiAgICAgICAgICAgICAgICBp
ZiAoJ3N0cmluZycgPT09IHR5cGVvZiBNb2R1bGVbJ3dlYnNvY2tldCddWydzdWJwcm90b2NvbCdd
KSB7CiAgICAgICAgICAgICAgICAgIHN1YlByb3RvY29scyA9IE1vZHVsZVsnd2Vic29ja2V0J11b
J3N1YnByb3RvY29sJ107IC8vIEZldGNoIHJ1bnRpbWUgV2ViU29ja2V0IHN1YnByb3RvY29sIGNv
bmZpZy4KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICB9CiAgCiAgICAgICAgICAgICAg
Ly8gVGhlIHJlZ2V4IHRyaW1zIHRoZSBzdHJpbmcgKHJlbW92ZXMgc3BhY2VzIGF0IHRoZSBiZWdp
bm5pbmcgYW5kIGVuZCwgdGhlbiBzcGxpdHMgdGhlIHN0cmluZyBieQogICAgICAgICAgICAgIC8v
IDxhbnkgc3BhY2U+LDxhbnkgc3BhY2U+IGludG8gYW4gQXJyYXkuIFdoaXRlc3BhY2UgcmVtb3Zh
bCBpcyBpbXBvcnRhbnQgZm9yIFdlYnNvY2tpZnkgYW5kIHdzLgogICAgICAgICAgICAgIHN1YlBy
b3RvY29scyA9IHN1YlByb3RvY29scy5yZXBsYWNlKC9eICt8ICskL2csIiIpLnNwbGl0KC8gKiwg
Ki8pOwogIAogICAgICAgICAgICAgIC8vIFRoZSBub2RlIHdzIGxpYnJhcnkgQVBJIGZvciBzcGVj
aWZ5aW5nIG9wdGlvbmFsIHN1YnByb3RvY29sIGlzIHNsaWdodGx5IGRpZmZlcmVudCB0aGFuIHRo
ZSBicm93c2VyJ3MuCiAgICAgICAgICAgICAgdmFyIG9wdHMgPSBFTlZJUk9OTUVOVF9JU19OT0RF
ID8geydwcm90b2NvbCc6IHN1YlByb3RvY29scy50b1N0cmluZygpfSA6IHN1YlByb3RvY29sczsK
ICAKICAgICAgICAgICAgICAvLyBJZiBub2RlIHdlIHVzZSB0aGUgd3MgbGlicmFyeS4KICAgICAg
ICAgICAgICB2YXIgV2ViU29ja2V0ID0gRU5WSVJPTk1FTlRfSVNfTk9ERSA/IHJlcXVpcmUoJ3dz
JykgOiB3aW5kb3dbJ1dlYlNvY2tldCddOwogICAgICAgICAgICAgIHdzID0gbmV3IFdlYlNvY2tl
dCh1cmwsIG9wdHMpOwogICAgICAgICAgICAgIHdzLmJpbmFyeVR5cGUgPSAnYXJyYXlidWZmZXIn
OwogICAgICAgICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgICAgICAgdGhyb3cgbmV3IEZTLkVy
cm5vRXJyb3IoRVJSTk9fQ09ERVMuRUhPU1RVTlJFQUNIKTsKICAgICAgICAgICAgfQogICAgICAg
ICAgfQogIAogIAogICAgICAgICAgdmFyIHBlZXIgPSB7CiAgICAgICAgICAgIGFkZHI6IGFkZHIs
CiAgICAgICAgICAgIHBvcnQ6IHBvcnQsCiAgICAgICAgICAgIHNvY2tldDogd3MsCiAgICAgICAg
ICAgIGRncmFtX3NlbmRfcXVldWU6IFtdCiAgICAgICAgICB9OwogIAogICAgICAgICAgU09DS0ZT
LndlYnNvY2tldF9zb2NrX29wcy5hZGRQZWVyKHNvY2ssIHBlZXIpOwogICAgICAgICAgU09DS0ZT
LndlYnNvY2tldF9zb2NrX29wcy5oYW5kbGVQZWVyRXZlbnRzKHNvY2ssIHBlZXIpOwogIAogICAg
ICAgICAgLy8gaWYgdGhpcyBpcyBhIGJvdW5kIGRncmFtIHNvY2tldCwgc2VuZCB0aGUgcG9ydCBu
dW1iZXIgZmlyc3QgdG8gYWxsb3cKICAgICAgICAgIC8vIHVzIHRvIG92ZXJyaWRlIHRoZSBlcGhl
bWVyYWwgcG9ydCByZXBvcnRlZCB0byB1cyBieSByZW1vdGVQb3J0IG9uIHRoZQogICAgICAgICAg
Ly8gcmVtb3RlIGVuZC4KICAgICAgICAgIGlmIChzb2NrLnR5cGUgPT09IDIgJiYgdHlwZW9mIHNv
Y2suc3BvcnQgIT09ICd1bmRlZmluZWQnKSB7CiAgICAgICAgICAgIHBlZXIuZGdyYW1fc2VuZF9x
dWV1ZS5wdXNoKG5ldyBVaW50OEFycmF5KFsKICAgICAgICAgICAgICAgIDI1NSwgMjU1LCAyNTUs
IDI1NSwKICAgICAgICAgICAgICAgICdwJy5jaGFyQ29kZUF0KDApLCAnbycuY2hhckNvZGVBdCgw
KSwgJ3InLmNoYXJDb2RlQXQoMCksICd0Jy5jaGFyQ29kZUF0KDApLAogICAgICAgICAgICAgICAg
KChzb2NrLnNwb3J0ICYgMHhmZjAwKSA+PiA4KSAsIChzb2NrLnNwb3J0ICYgMHhmZikKICAgICAg
ICAgICAgXSkpOwogICAgICAgICAgfQogIAogICAgICAgICAgcmV0dXJuIHBlZXI7CiAgICAgICAg
fSxnZXRQZWVyOmZ1bmN0aW9uIChzb2NrLCBhZGRyLCBwb3J0KSB7CiAgICAgICAgICByZXR1cm4g
c29jay5wZWVyc1thZGRyICsgJzonICsgcG9ydF07CiAgICAgICAgfSxhZGRQZWVyOmZ1bmN0aW9u
IChzb2NrLCBwZWVyKSB7CiAgICAgICAgICBzb2NrLnBlZXJzW3BlZXIuYWRkciArICc6JyArIHBl
ZXIucG9ydF0gPSBwZWVyOwogICAgICAgIH0scmVtb3ZlUGVlcjpmdW5jdGlvbiAoc29jaywgcGVl
cikgewogICAgICAgICAgZGVsZXRlIHNvY2sucGVlcnNbcGVlci5hZGRyICsgJzonICsgcGVlci5w
b3J0XTsKICAgICAgICB9LGhhbmRsZVBlZXJFdmVudHM6ZnVuY3Rpb24gKHNvY2ssIHBlZXIpIHsK
ICAgICAgICAgIHZhciBmaXJzdCA9IHRydWU7CiAgCiAgICAgICAgICB2YXIgaGFuZGxlT3BlbiA9
IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgICB2YXIgcXVldWVk
ID0gcGVlci5kZ3JhbV9zZW5kX3F1ZXVlLnNoaWZ0KCk7CiAgICAgICAgICAgICAgd2hpbGUgKHF1
ZXVlZCkgewogICAgICAgICAgICAgICAgcGVlci5zb2NrZXQuc2VuZChxdWV1ZWQpOwogICAgICAg
ICAgICAgICAgcXVldWVkID0gcGVlci5kZ3JhbV9zZW5kX3F1ZXVlLnNoaWZ0KCk7CiAgICAgICAg
ICAgICAgfQogICAgICAgICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgICAgICAgLy8gbm90IG11
Y2ggd2UgY2FuIGRvIGhlcmUgaW4gdGhlIHdheSBvZiBwcm9wZXIgZXJyb3IgaGFuZGxpbmcgYXMg
d2UndmUgYWxyZWFkeQogICAgICAgICAgICAgIC8vIGxpZWQgYW5kIHNhaWQgdGhpcyBkYXRhIHdh
cyBzZW50LiBzaHV0IGl0IGRvd24uCiAgICAgICAgICAgICAgcGVlci5zb2NrZXQuY2xvc2UoKTsK
ICAgICAgICAgICAgfQogICAgICAgICAgfTsKICAKICAgICAgICAgIGZ1bmN0aW9uIGhhbmRsZU1l
c3NhZ2UoZGF0YSkgewogICAgICAgICAgICBhc3NlcnQodHlwZW9mIGRhdGEgIT09ICdzdHJpbmcn
ICYmIGRhdGEuYnl0ZUxlbmd0aCAhPT0gdW5kZWZpbmVkKTsgIC8vIG11c3QgcmVjZWl2ZSBhbiBB
cnJheUJ1ZmZlcgogICAgICAgICAgICBkYXRhID0gbmV3IFVpbnQ4QXJyYXkoZGF0YSk7ICAvLyBt
YWtlIGEgdHlwZWQgYXJyYXkgdmlldyBvbiB0aGUgYXJyYXkgYnVmZmVyCiAgCiAgCiAgICAgICAg
ICAgIC8vIGlmIHRoaXMgaXMgdGhlIHBvcnQgbWVzc2FnZSwgb3ZlcnJpZGUgdGhlIHBlZXIncyBw
b3J0IHdpdGggaXQKICAgICAgICAgICAgdmFyIHdhc2ZpcnN0ID0gZmlyc3Q7CiAgICAgICAgICAg
IGZpcnN0ID0gZmFsc2U7CiAgICAgICAgICAgIGlmICh3YXNmaXJzdCAmJgogICAgICAgICAgICAg
ICAgZGF0YS5sZW5ndGggPT09IDEwICYmCiAgICAgICAgICAgICAgICBkYXRhWzBdID09PSAyNTUg
JiYgZGF0YVsxXSA9PT0gMjU1ICYmIGRhdGFbMl0gPT09IDI1NSAmJiBkYXRhWzNdID09PSAyNTUg
JiYKICAgICAgICAgICAgICAgIGRhdGFbNF0gPT09ICdwJy5jaGFyQ29kZUF0KDApICYmIGRhdGFb
NV0gPT09ICdvJy5jaGFyQ29kZUF0KDApICYmIGRhdGFbNl0gPT09ICdyJy5jaGFyQ29kZUF0KDAp
ICYmIGRhdGFbN10gPT09ICd0Jy5jaGFyQ29kZUF0KDApKSB7CiAgICAgICAgICAgICAgLy8gdXBk
YXRlIHRoZSBwZWVyJ3MgcG9ydCBhbmQgaXQncyBrZXkgaW4gdGhlIHBlZXIgbWFwCiAgICAgICAg
ICAgICAgdmFyIG5ld3BvcnQgPSAoKGRhdGFbOF0gPDwgOCkgfCBkYXRhWzldKTsKICAgICAgICAg
ICAgICBTT0NLRlMud2Vic29ja2V0X3NvY2tfb3BzLnJlbW92ZVBlZXIoc29jaywgcGVlcik7CiAg
ICAgICAgICAgICAgcGVlci5wb3J0ID0gbmV3cG9ydDsKICAgICAgICAgICAgICBTT0NLRlMud2Vi
c29ja2V0X3NvY2tfb3BzLmFkZFBlZXIoc29jaywgcGVlcik7CiAgICAgICAgICAgICAgcmV0dXJu
OwogICAgICAgICAgICB9CiAgCiAgICAgICAgICAgIHNvY2sucmVjdl9xdWV1ZS5wdXNoKHsgYWRk
cjogcGVlci5hZGRyLCBwb3J0OiBwZWVyLnBvcnQsIGRhdGE6IGRhdGEgfSk7CiAgICAgICAgICB9
OwogIAogICAgICAgICAgaWYgKEVOVklST05NRU5UX0lTX05PREUpIHsKICAgICAgICAgICAgcGVl
ci5zb2NrZXQub24oJ29wZW4nLCBoYW5kbGVPcGVuKTsKICAgICAgICAgICAgcGVlci5zb2NrZXQu
b24oJ21lc3NhZ2UnLCBmdW5jdGlvbihkYXRhLCBmbGFncykgewogICAgICAgICAgICAgIGlmICgh
ZmxhZ3MuYmluYXJ5KSB7CiAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICAgfQog
ICAgICAgICAgICAgIGhhbmRsZU1lc3NhZ2UoKG5ldyBVaW50OEFycmF5KGRhdGEpKS5idWZmZXIp
OyAgLy8gY29weSBmcm9tIG5vZGUgQnVmZmVyIC0+IEFycmF5QnVmZmVyCiAgICAgICAgICAgIH0p
OwogICAgICAgICAgICBwZWVyLnNvY2tldC5vbignZXJyb3InLCBmdW5jdGlvbigpIHsKICAgICAg
ICAgICAgICAvLyBkb24ndCB0aHJvdwogICAgICAgICAgICB9KTsKICAgICAgICAgIH0gZWxzZSB7
CiAgICAgICAgICAgIHBlZXIuc29ja2V0Lm9ub3BlbiA9IGhhbmRsZU9wZW47CiAgICAgICAgICAg
IHBlZXIuc29ja2V0Lm9ubWVzc2FnZSA9IGZ1bmN0aW9uIHBlZXJfc29ja2V0X29ubWVzc2FnZShl
dmVudCkgewogICAgICAgICAgICAgIGhhbmRsZU1lc3NhZ2UoZXZlbnQuZGF0YSk7CiAgICAgICAg
ICAgIH07CiAgICAgICAgICB9CiAgICAgICAgfSxwb2xsOmZ1bmN0aW9uIChzb2NrKSB7CiAgICAg
ICAgICBpZiAoc29jay50eXBlID09PSAxICYmIHNvY2suc2VydmVyKSB7CiAgICAgICAgICAgIC8v
IGxpc3RlbiBzb2NrZXRzIHNob3VsZCBvbmx5IHNheSB0aGV5J3JlIGF2YWlsYWJsZSBmb3IgcmVh
ZGluZwogICAgICAgICAgICAvLyBpZiB0aGVyZSBhcmUgcGVuZGluZyBjbGllbnRzLgogICAgICAg
ICAgICByZXR1cm4gc29jay5wZW5kaW5nLmxlbmd0aCA/ICg2NCB8IDEpIDogMDsKICAgICAgICAg
IH0KICAKICAgICAgICAgIHZhciBtYXNrID0gMDsKICAgICAgICAgIHZhciBkZXN0ID0gc29jay50
eXBlID09PSAxID8gIC8vIHdlIG9ubHkgY2FyZSBhYm91dCB0aGUgc29ja2V0IHN0YXRlIGZvciBj
b25uZWN0aW9uLWJhc2VkIHNvY2tldHMKICAgICAgICAgICAgU09DS0ZTLndlYnNvY2tldF9zb2Nr
X29wcy5nZXRQZWVyKHNvY2ssIHNvY2suZGFkZHIsIHNvY2suZHBvcnQpIDoKICAgICAgICAgICAg
bnVsbDsKICAKICAgICAgICAgIGlmIChzb2NrLnJlY3ZfcXVldWUubGVuZ3RoIHx8CiAgICAgICAg
ICAgICAgIWRlc3QgfHwgIC8vIGNvbm5lY3Rpb24tbGVzcyBzb2NrZXRzIGFyZSBhbHdheXMgcmVh
ZHkgdG8gcmVhZAogICAgICAgICAgICAgIChkZXN0ICYmIGRlc3Quc29ja2V0LnJlYWR5U3RhdGUg
PT09IGRlc3Quc29ja2V0LkNMT1NJTkcpIHx8CiAgICAgICAgICAgICAgKGRlc3QgJiYgZGVzdC5z
b2NrZXQucmVhZHlTdGF0ZSA9PT0gZGVzdC5zb2NrZXQuQ0xPU0VEKSkgeyAgLy8gbGV0IHJlY3Yg
cmV0dXJuIDAgb25jZSBjbG9zZWQKICAgICAgICAgICAgbWFzayB8PSAoNjQgfCAxKTsKICAgICAg
ICAgIH0KICAKICAgICAgICAgIGlmICghZGVzdCB8fCAgLy8gY29ubmVjdGlvbi1sZXNzIHNvY2tl
dHMgYXJlIGFsd2F5cyByZWFkeSB0byB3cml0ZQogICAgICAgICAgICAgIChkZXN0ICYmIGRlc3Qu
c29ja2V0LnJlYWR5U3RhdGUgPT09IGRlc3Quc29ja2V0Lk9QRU4pKSB7CiAgICAgICAgICAgIG1h
c2sgfD0gNDsKICAgICAgICAgIH0KICAKICAgICAgICAgIGlmICgoZGVzdCAmJiBkZXN0LnNvY2tl
dC5yZWFkeVN0YXRlID09PSBkZXN0LnNvY2tldC5DTE9TSU5HKSB8fAogICAgICAgICAgICAgIChk
ZXN0ICYmIGRlc3Quc29ja2V0LnJlYWR5U3RhdGUgPT09IGRlc3Quc29ja2V0LkNMT1NFRCkpIHsK
ICAgICAgICAgICAgbWFzayB8PSAxNjsKICAgICAgICAgIH0KICAKICAgICAgICAgIHJldHVybiBt
YXNrOwogICAgICAgIH0saW9jdGw6ZnVuY3Rpb24gKHNvY2ssIHJlcXVlc3QsIGFyZykgewogICAg
ICAgICAgc3dpdGNoIChyZXF1ZXN0KSB7CiAgICAgICAgICAgIGNhc2UgMjE1MzE6CiAgICAgICAg
ICAgICAgdmFyIGJ5dGVzID0gMDsKICAgICAgICAgICAgICBpZiAoc29jay5yZWN2X3F1ZXVlLmxl
bmd0aCkgewogICAgICAgICAgICAgICAgYnl0ZXMgPSBzb2NrLnJlY3ZfcXVldWVbMF0uZGF0YS5s
ZW5ndGg7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIEhFQVAzMlsoKGFyZyk+PjIpXT1i
eXRlczsKICAgICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICAgICAgZGVmYXVsdDoKICAgICAg
ICAgICAgICByZXR1cm4gRVJSTk9fQ09ERVMuRUlOVkFMOwogICAgICAgICAgfQogICAgICAgIH0s
Y2xvc2U6ZnVuY3Rpb24gKHNvY2spIHsKICAgICAgICAgIC8vIGlmIHdlJ3ZlIHNwYXduZWQgYSBs
aXN0ZW4gc2VydmVyLCBjbG9zZSBpdAogICAgICAgICAgaWYgKHNvY2suc2VydmVyKSB7CiAgICAg
ICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgc29jay5zZXJ2ZXIuY2xvc2UoKTsKICAgICAgICAg
ICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICB9CiAgICAgICAgICAgIHNvY2suc2VydmVyID0g
bnVsbDsKICAgICAgICAgIH0KICAgICAgICAgIC8vIGNsb3NlIGFueSBwZWVyIGNvbm5lY3Rpb25z
CiAgICAgICAgICB2YXIgcGVlcnMgPSBPYmplY3Qua2V5cyhzb2NrLnBlZXJzKTsKICAgICAgICAg
IGZvciAodmFyIGkgPSAwOyBpIDwgcGVlcnMubGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgdmFy
IHBlZXIgPSBzb2NrLnBlZXJzW3BlZXJzW2ldXTsKICAgICAgICAgICAgdHJ5IHsKICAgICAgICAg
ICAgICBwZWVyLnNvY2tldC5jbG9zZSgpOwogICAgICAgICAgICB9IGNhdGNoIChlKSB7CiAgICAg
ICAgICAgIH0KICAgICAgICAgICAgU09DS0ZTLndlYnNvY2tldF9zb2NrX29wcy5yZW1vdmVQZWVy
KHNvY2ssIHBlZXIpOwogICAgICAgICAgfQogICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgfSxi
aW5kOmZ1bmN0aW9uIChzb2NrLCBhZGRyLCBwb3J0KSB7CiAgICAgICAgICBpZiAodHlwZW9mIHNv
Y2suc2FkZHIgIT09ICd1bmRlZmluZWQnIHx8IHR5cGVvZiBzb2NrLnNwb3J0ICE9PSAndW5kZWZp
bmVkJykgewogICAgICAgICAgICB0aHJvdyBuZXcgRlMuRXJybm9FcnJvcihFUlJOT19DT0RFUy5F
SU5WQUwpOyAgLy8gYWxyZWFkeSBib3VuZAogICAgICAgICAgfQogICAgICAgICAgc29jay5zYWRk
ciA9IGFkZHI7CiAgICAgICAgICBzb2NrLnNwb3J0ID0gcG9ydCB8fCBfbWtwb3J0KCk7CiAgICAg
ICAgICAvLyBpbiBvcmRlciB0byBlbXVsYXRlIGRncmFtIHNvY2tldHMsIHdlIG5lZWQgdG8gbGF1
bmNoIGEgbGlzdGVuIHNlcnZlciB3aGVuCiAgICAgICAgICAvLyBiaW5kaW5nIG9uIGEgY29ubmVj
dGlvbi1sZXNzIHNvY2tldAogICAgICAgICAgLy8gbm90ZTogdGhpcyBpcyBvbmx5IHJlcXVpcmVk
IG9uIHRoZSBzZXJ2ZXIgc2lkZQogICAgICAgICAgaWYgKHNvY2sudHlwZSA9PT0gMikgewogICAg
ICAgICAgICAvLyBjbG9zZSB0aGUgZXhpc3Rpbmcgc2VydmVyIGlmIGl0IGV4aXN0cwogICAgICAg
ICAgICBpZiAoc29jay5zZXJ2ZXIpIHsKICAgICAgICAgICAgICBzb2NrLnNlcnZlci5jbG9zZSgp
OwogICAgICAgICAgICAgIHNvY2suc2VydmVyID0gbnVsbDsKICAgICAgICAgICAgfQogICAgICAg
ICAgICAvLyBzd2FsbG93IGVycm9yIG9wZXJhdGlvbiBub3Qgc3VwcG9ydGVkIGVycm9yIHRoYXQg
b2NjdXJzIHdoZW4gYmluZGluZyBpbiB0aGUKICAgICAgICAgICAgLy8gYnJvd3NlciB3aGVyZSB0
aGlzIGlzbid0IHN1cHBvcnRlZAogICAgICAgICAgICB0cnkgewogICAgICAgICAgICAgIHNvY2su
c29ja19vcHMubGlzdGVuKHNvY2ssIDApOwogICAgICAgICAgICB9IGNhdGNoIChlKSB7CiAgICAg
ICAgICAgICAgaWYgKCEoZSBpbnN0YW5jZW9mIEZTLkVycm5vRXJyb3IpKSB0aHJvdyBlOwogICAg
ICAgICAgICAgIGlmIChlLmVycm5vICE9PSBFUlJOT19DT0RFUy5FT1BOT1RTVVBQKSB0aHJvdyBl
OwogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgfSxjb25uZWN0OmZ1bmN0aW9uIChz
b2NrLCBhZGRyLCBwb3J0KSB7CiAgICAgICAgICBpZiAoc29jay5zZXJ2ZXIpIHsKICAgICAgICAg
ICAgdGhyb3cgbmV3IEZTLkVycm5vRXJyb3IoRVJSTk9fQ09EUy5FT1BOT1RTVVBQKTsKICAgICAg
ICAgIH0KICAKICAgICAgICAgIC8vIFRPRE8gYXV0b2JpbmQKICAgICAgICAgIC8vIGlmICghc29j
ay5hZGRyICYmIHNvY2sudHlwZSA9PSAyKSB7CiAgICAgICAgICAvLyB9CiAgCiAgICAgICAgICAv
LyBlYXJseSBvdXQgaWYgd2UncmUgYWxyZWFkeSBjb25uZWN0ZWQgLyBpbiB0aGUgbWlkZGxlIG9m
IGNvbm5lY3RpbmcKICAgICAgICAgIGlmICh0eXBlb2Ygc29jay5kYWRkciAhPT0gJ3VuZGVmaW5l
ZCcgJiYgdHlwZW9mIHNvY2suZHBvcnQgIT09ICd1bmRlZmluZWQnKSB7CiAgICAgICAgICAgIHZh
ciBkZXN0ID0gU09DS0ZTLndlYnNvY2tldF9zb2NrX29wcy5nZXRQZWVyKHNvY2ssIHNvY2suZGFk
ZHIsIHNvY2suZHBvcnQpOwogICAgICAgICAgICBpZiAoZGVzdCkgewogICAgICAgICAgICAgIGlm
IChkZXN0LnNvY2tldC5yZWFkeVN0YXRlID09PSBkZXN0LnNvY2tldC5DT05ORUNUSU5HKSB7CiAg
ICAgICAgICAgICAgICB0aHJvdyBuZXcgRlMuRXJybm9FcnJvcihFUlJOT19DT0RFUy5FQUxSRUFE
WSk7CiAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIHRocm93IG5ldyBGUy5F
cnJub0Vycm9yKEVSUk5PX0NPREVTLkVJU0NPTk4pOwogICAgICAgICAgICAgIH0KICAgICAgICAg
ICAgfQogICAgICAgICAgfQogIAogICAgICAgICAgLy8gYWRkIHRoZSBzb2NrZXQgdG8gb3VyIHBl
ZXIgbGlzdCBhbmQgc2V0IG91cgogICAgICAgICAgLy8gZGVzdGluYXRpb24gYWRkcmVzcyAvIHBv
cnQgdG8gbWF0Y2gKICAgICAgICAgIHZhciBwZWVyID0gU09DS0ZTLndlYnNvY2tldF9zb2NrX29w
cy5jcmVhdGVQZWVyKHNvY2ssIGFkZHIsIHBvcnQpOwogICAgICAgICAgc29jay5kYWRkciA9IHBl
ZXIuYWRkcjsKICAgICAgICAgIHNvY2suZHBvcnQgPSBwZWVyLnBvcnQ7CiAgCiAgICAgICAgICAv
LyBhbHdheXMgImZhaWwiIGluIG5vbi1ibG9ja2luZyBtb2RlCiAgICAgICAgICB0aHJvdyBuZXcg
RlMuRXJybm9FcnJvcihFUlJOT19DT0RFUy5FSU5QUk9HUkVTUyk7CiAgICAgICAgfSxsaXN0ZW46
ZnVuY3Rpb24gKHNvY2ssIGJhY2tsb2cpIHsKICAgICAgICAgIGlmICghRU5WSVJPTk1FTlRfSVNf
Tk9ERSkgewogICAgICAgICAgICB0aHJvdyBuZXcgRlMuRXJybm9FcnJvcihFUlJOT19DT0RFUy5F
T1BOT1RTVVBQKTsKICAgICAgICAgIH0KICAgICAgICAgIGlmIChzb2NrLnNlcnZlcikgewogICAg
ICAgICAgICAgdGhyb3cgbmV3IEZTLkVycm5vRXJyb3IoRVJSTk9fQ09ERVMuRUlOVkFMKTsgIC8v
IGFscmVhZHkgbGlzdGVuaW5nCiAgICAgICAgICB9CiAgICAgICAgICB2YXIgV2ViU29ja2V0U2Vy
dmVyID0gcmVxdWlyZSgnd3MnKS5TZXJ2ZXI7CiAgICAgICAgICB2YXIgaG9zdCA9IHNvY2suc2Fk
ZHI7CiAgICAgICAgICBzb2NrLnNlcnZlciA9IG5ldyBXZWJTb2NrZXRTZXJ2ZXIoewogICAgICAg
ICAgICBob3N0OiBob3N0LAogICAgICAgICAgICBwb3J0OiBzb2NrLnNwb3J0CiAgICAgICAgICAg
IC8vIFRPRE8gc3VwcG9ydCBiYWNrbG9nCiAgICAgICAgICB9KTsKICAKICAgICAgICAgIHNvY2su
c2VydmVyLm9uKCdjb25uZWN0aW9uJywgZnVuY3Rpb24od3MpIHsKICAgICAgICAgICAgaWYgKHNv
Y2sudHlwZSA9PT0gMSkgewogICAgICAgICAgICAgIHZhciBuZXdzb2NrID0gU09DS0ZTLmNyZWF0
ZVNvY2tldChzb2NrLmZhbWlseSwgc29jay50eXBlLCBzb2NrLnByb3RvY29sKTsKICAKICAgICAg
ICAgICAgICAvLyBjcmVhdGUgYSBwZWVyIG9uIHRoZSBuZXcgc29ja2V0CiAgICAgICAgICAgICAg
dmFyIHBlZXIgPSBTT0NLRlMud2Vic29ja2V0X3NvY2tfb3BzLmNyZWF0ZVBlZXIobmV3c29jaywg
d3MpOwogICAgICAgICAgICAgIG5ld3NvY2suZGFkZHIgPSBwZWVyLmFkZHI7CiAgICAgICAgICAg
ICAgbmV3c29jay5kcG9ydCA9IHBlZXIucG9ydDsKICAKICAgICAgICAgICAgICAvLyBwdXNoIHRv
IHF1ZXVlIGZvciBhY2NlcHQgdG8gcGljayB1cAogICAgICAgICAgICAgIHNvY2sucGVuZGluZy5w
dXNoKG5ld3NvY2spOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgIC8vIGNyZWF0
ZSBhIHBlZXIgb24gdGhlIGxpc3RlbiBzb2NrZXQgc28gY2FsbGluZyBzZW5kdG8KICAgICAgICAg
ICAgICAvLyB3aXRoIHRoZSBsaXN0ZW4gc29ja2V0IGFuZCBhbiBhZGRyZXNzIHdpbGwgcmVzb2x2
ZQogICAgICAgICAgICAgIC8vIHRvIHRoZSBjb3JyZWN0IGNsaWVudAogICAgICAgICAgICAgIFNP
Q0tGUy53ZWJzb2NrZXRfc29ja19vcHMuY3JlYXRlUGVlcihzb2NrLCB3cyk7CiAgICAgICAgICAg
IH0KICAgICAgICAgIH0pOwogICAgICAgICAgc29jay5zZXJ2ZXIub24oJ2Nsb3NlZCcsIGZ1bmN0
aW9uKCkgewogICAgICAgICAgICBzb2NrLnNlcnZlciA9IG51bGw7CiAgICAgICAgICB9KTsKICAg
ICAgICAgIHNvY2suc2VydmVyLm9uKCdlcnJvcicsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAv
LyBkb24ndCB0aHJvdwogICAgICAgICAgfSk7CiAgICAgICAgfSxhY2NlcHQ6ZnVuY3Rpb24gKGxp
c3RlbnNvY2spIHsKICAgICAgICAgIGlmICghbGlzdGVuc29jay5zZXJ2ZXIpIHsKICAgICAgICAg
ICAgdGhyb3cgbmV3IEZTLkVycm5vRXJyb3IoRVJSTk9fQ09ERVMuRUlOVkFMKTsKICAgICAgICAg
IH0KICAgICAgICAgIHZhciBuZXdzb2NrID0gbGlzdGVuc29jay5wZW5kaW5nLnNoaWZ0KCk7CiAg
ICAgICAgICBuZXdzb2NrLnN0cmVhbS5mbGFncyA9IGxpc3RlbnNvY2suc3RyZWFtLmZsYWdzOwog
ICAgICAgICAgcmV0dXJuIG5ld3NvY2s7CiAgICAgICAgfSxnZXRuYW1lOmZ1bmN0aW9uIChzb2Nr
LCBwZWVyKSB7CiAgICAgICAgICB2YXIgYWRkciwgcG9ydDsKICAgICAgICAgIGlmIChwZWVyKSB7
CiAgICAgICAgICAgIGlmIChzb2NrLmRhZGRyID09PSB1bmRlZmluZWQgfHwgc29jay5kcG9ydCA9
PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgICAgICAgdGhyb3cgbmV3IEZTLkVycm5vRXJyb3IoRVJS
Tk9fQ09ERVMuRU5PVENPTk4pOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGFkZHIgPSBzb2Nr
LmRhZGRyOwogICAgICAgICAgICBwb3J0ID0gc29jay5kcG9ydDsKICAgICAgICAgIH0gZWxzZSB7
CiAgICAgICAgICAgIC8vIFRPRE8gc2FkZHIgYW5kIHNwb3J0IHdpbGwgYmUgc2V0IGZvciBiaW5k
KCknZCBVRFAgc29ja2V0cywgYnV0IHdoYXQKICAgICAgICAgICAgLy8gc2hvdWxkIHdlIGJlIHJl
dHVybmluZyBmb3IgVENQIHNvY2tldHMgdGhhdCd2ZSBiZWVuIGNvbm5lY3QoKSdkPwogICAgICAg
ICAgICBhZGRyID0gc29jay5zYWRkciB8fCAwOwogICAgICAgICAgICBwb3J0ID0gc29jay5zcG9y
dCB8fCAwOwogICAgICAgICAgfQogICAgICAgICAgcmV0dXJuIHsgYWRkcjogYWRkciwgcG9ydDog
cG9ydCB9OwogICAgICAgIH0sc2VuZG1zZzpmdW5jdGlvbiAoc29jaywgYnVmZmVyLCBvZmZzZXQs
IGxlbmd0aCwgYWRkciwgcG9ydCkgewogICAgICAgICAgaWYgKHNvY2sudHlwZSA9PT0gMikgewog
ICAgICAgICAgICAvLyBjb25uZWN0aW9uLWxlc3Mgc29ja2V0cyB3aWxsIGhvbm9yIHRoZSBtZXNz
YWdlIGFkZHJlc3MsCiAgICAgICAgICAgIC8vIGFuZCBvdGhlcndpc2UgZmFsbCBiYWNrIHRvIHRo
ZSBib3VuZCBkZXN0aW5hdGlvbiBhZGRyZXNzCiAgICAgICAgICAgIGlmIChhZGRyID09PSB1bmRl
ZmluZWQgfHwgcG9ydCA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgICAgICAgYWRkciA9IHNvY2su
ZGFkZHI7CiAgICAgICAgICAgICAgcG9ydCA9IHNvY2suZHBvcnQ7CiAgICAgICAgICAgIH0KICAg
ICAgICAgICAgLy8gaWYgdGhlcmUgd2FzIG5vIGFkZHJlc3MgdG8gZmFsbCBiYWNrIHRvLCBlcnJv
ciBvdXQKICAgICAgICAgICAgaWYgKGFkZHIgPT09IHVuZGVmaW5lZCB8fCBwb3J0ID09PSB1bmRl
ZmluZWQpIHsKICAgICAgICAgICAgICB0aHJvdyBuZXcgRlMuRXJybm9FcnJvcihFUlJOT19DT0RF
Uy5FREVTVEFERFJSRVEpOwogICAgICAgICAgICB9CiAgICAgICAgICB9IGVsc2UgewogICAgICAg
ICAgICAvLyBjb25uZWN0aW9uLWJhc2VkIHNvY2tldHMgd2lsbCBvbmx5IHVzZSB0aGUgYm91bmQK
ICAgICAgICAgICAgYWRkciA9IHNvY2suZGFkZHI7CiAgICAgICAgICAgIHBvcnQgPSBzb2NrLmRw
b3J0OwogICAgICAgICAgfQogIAogICAgICAgICAgLy8gZmluZCB0aGUgcGVlciBmb3IgdGhlIGRl
c3RpbmF0aW9uIGFkZHJlc3MKICAgICAgICAgIHZhciBkZXN0ID0gU09DS0ZTLndlYnNvY2tldF9z
b2NrX29wcy5nZXRQZWVyKHNvY2ssIGFkZHIsIHBvcnQpOwogIAogICAgICAgICAgLy8gZWFybHkg
b3V0IGlmIG5vdCBjb25uZWN0ZWQgd2l0aCBhIGNvbm5lY3Rpb24tYmFzZWQgc29ja2V0CiAgICAg
ICAgICBpZiAoc29jay50eXBlID09PSAxKSB7CiAgICAgICAgICAgIGlmICghZGVzdCB8fCBkZXN0
LnNvY2tldC5yZWFkeVN0YXRlID09PSBkZXN0LnNvY2tldC5DTE9TSU5HIHx8IGRlc3Quc29ja2V0
LnJlYWR5U3RhdGUgPT09IGRlc3Quc29ja2V0LkNMT1NFRCkgewogICAgICAgICAgICAgIHRocm93
IG5ldyBGUy5FcnJub0Vycm9yKEVSUk5PX0NPREVTLkVOT1RDT05OKTsKICAgICAgICAgICAgfSBl
bHNlIGlmIChkZXN0LnNvY2tldC5yZWFkeVN0YXRlID09PSBkZXN0LnNvY2tldC5DT05ORUNUSU5H
KSB7CiAgICAgICAgICAgICAgdGhyb3cgbmV3IEZTLkVycm5vRXJyb3IoRVJSTk9fQ09ERVMuRUFH
QUlOKTsKICAgICAgICAgICAgfQogICAgICAgICAgfQogIAogICAgICAgICAgLy8gY3JlYXRlIGEg
Y29weSBvZiB0aGUgaW5jb21pbmcgZGF0YSB0byBzZW5kLCBhcyB0aGUgV2ViU29ja2V0IEFQSQog
ICAgICAgICAgLy8gZG9lc24ndCB3b3JrIGVudGlyZWx5IHdpdGggYW4gQXJyYXlCdWZmZXJWaWV3
LCBpdCdsbCBqdXN0IHNlbmQKICAgICAgICAgIC8vIHRoZSBlbnRpcmUgdW5kZXJseWluZyBidWZm
ZXIKICAgICAgICAgIHZhciBkYXRhOwogICAgICAgICAgaWYgKGJ1ZmZlciBpbnN0YW5jZW9mIEFy
cmF5IHx8IGJ1ZmZlciBpbnN0YW5jZW9mIEFycmF5QnVmZmVyKSB7CiAgICAgICAgICAgIGRhdGEg
PSBidWZmZXIuc2xpY2Uob2Zmc2V0LCBvZmZzZXQgKyBsZW5ndGgpOwogICAgICAgICAgfSBlbHNl
IHsgIC8vIEFycmF5QnVmZmVyVmlldwogICAgICAgICAgICBkYXRhID0gYnVmZmVyLmJ1ZmZlci5z
bGljZShidWZmZXIuYnl0ZU9mZnNldCArIG9mZnNldCwgYnVmZmVyLmJ5dGVPZmZzZXQgKyBvZmZz
ZXQgKyBsZW5ndGgpOwogICAgICAgICAgfQogIAogICAgICAgICAgLy8gaWYgd2UncmUgZW11bGF0
aW5nIGEgY29ubmVjdGlvbi1sZXNzIGRncmFtIHNvY2tldCBhbmQgZG9uJ3QgaGF2ZQogICAgICAg
ICAgLy8gYSBjYWNoZWQgY29ubmVjdGlvbiwgcXVldWUgdGhlIGJ1ZmZlciB0byBzZW5kIHVwb24g
Y29ubmVjdCBhbmQKICAgICAgICAgIC8vIGxpZSwgc2F5aW5nIHRoZSBkYXRhIHdhcyBzZW50IG5v
dy4KICAgICAgICAgIGlmIChzb2NrLnR5cGUgPT09IDIpIHsKICAgICAgICAgICAgaWYgKCFkZXN0
IHx8IGRlc3Quc29ja2V0LnJlYWR5U3RhdGUgIT09IGRlc3Quc29ja2V0Lk9QRU4pIHsKICAgICAg
ICAgICAgICAvLyBpZiB3ZSdyZSBub3QgY29ubmVjdGVkLCBvcGVuIGEgbmV3IGNvbm5lY3Rpb24K
ICAgICAgICAgICAgICBpZiAoIWRlc3QgfHwgZGVzdC5zb2NrZXQucmVhZHlTdGF0ZSA9PT0gZGVz
dC5zb2NrZXQuQ0xPU0lORyB8fCBkZXN0LnNvY2tldC5yZWFkeVN0YXRlID09PSBkZXN0LnNvY2tl
dC5DTE9TRUQpIHsKICAgICAgICAgICAgICAgIGRlc3QgPSBTT0NLRlMud2Vic29ja2V0X3NvY2tf
b3BzLmNyZWF0ZVBlZXIoc29jaywgYWRkciwgcG9ydCk7CiAgICAgICAgICAgICAgfQogICAgICAg
ICAgICAgIGRlc3QuZGdyYW1fc2VuZF9xdWV1ZS5wdXNoKGRhdGEpOwogICAgICAgICAgICAgIHJl
dHVybiBsZW5ndGg7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAKICAgICAgICAgIHRyeSB7
CiAgICAgICAgICAgIC8vIHNlbmQgdGhlIGFjdHVhbCBkYXRhCiAgICAgICAgICAgIGRlc3Quc29j
a2V0LnNlbmQoZGF0YSk7CiAgICAgICAgICAgIHJldHVybiBsZW5ndGg7CiAgICAgICAgICB9IGNh
dGNoIChlKSB7CiAgICAgICAgICAgIHRocm93IG5ldyBGUy5FcnJub0Vycm9yKEVSUk5PX0NPREVT
LkVJTlZBTCk7CiAgICAgICAgICB9CiAgICAgICAgfSxyZWN2bXNnOmZ1bmN0aW9uIChzb2NrLCBs
ZW5ndGgpIHsKICAgICAgICAgIC8vIGh0dHA6Ly9wdWJzLm9wZW5ncm91cC5vcmcvb25saW5lcHVi
cy83OTA4Nzk5L3hucy9yZWN2bXNnLmh0bWwKICAgICAgICAgIGlmIChzb2NrLnR5cGUgPT09IDEg
JiYgc29jay5zZXJ2ZXIpIHsKICAgICAgICAgICAgLy8gdGNwIHNlcnZlcnMgc2hvdWxkIG5vdCBi
ZSByZWN2KCknaW5nIG9uIHRoZSBsaXN0ZW4gc29ja2V0CiAgICAgICAgICAgIHRocm93IG5ldyBG
Uy5FcnJub0Vycm9yKEVSUk5PX0NPREVTLkVOT1RDT05OKTsKICAgICAgICAgIH0KICAKICAgICAg
ICAgIHZhciBxdWV1ZWQgPSBzb2NrLnJlY3ZfcXVldWUuc2hpZnQoKTsKICAgICAgICAgIGlmICgh
cXVldWVkKSB7CiAgICAgICAgICAgIGlmIChzb2NrLnR5cGUgPT09IDEpIHsKICAgICAgICAgICAg
ICB2YXIgZGVzdCA9IFNPQ0tGUy53ZWJzb2NrZXRfc29ja19vcHMuZ2V0UGVlcihzb2NrLCBzb2Nr
LmRhZGRyLCBzb2NrLmRwb3J0KTsKICAKICAgICAgICAgICAgICBpZiAoIWRlc3QpIHsKICAgICAg
ICAgICAgICAgIC8vIGlmIHdlIGhhdmUgYSBkZXN0aW5hdGlvbiBhZGRyZXNzIGJ1dCBhcmUgbm90
IGNvbm5lY3RlZCwgZXJyb3Igb3V0CiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRlMuRXJybm9F
cnJvcihFUlJOT19DT0RFUy5FTk9UQ09OTik7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAg
IGVsc2UgaWYgKGRlc3Quc29ja2V0LnJlYWR5U3RhdGUgPT09IGRlc3Quc29ja2V0LkNMT1NJTkcg
fHwgZGVzdC5zb2NrZXQucmVhZHlTdGF0ZSA9PT0gZGVzdC5zb2NrZXQuQ0xPU0VEKSB7CiAgICAg
ICAgICAgICAgICAvLyByZXR1cm4gbnVsbCBpZiB0aGUgc29ja2V0IGhhcyBjbG9zZWQKICAgICAg
ICAgICAgICAgIHJldHVybiBudWxsOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBlbHNl
IHsKICAgICAgICAgICAgICAgIC8vIGVsc2UsIG91ciBzb2NrZXQgaXMgaW4gYSB2YWxpZCBzdGF0
ZSBidXQgdHJ1bHkgaGFzIG5vdGhpbmcgYXZhaWxhYmxlCiAgICAgICAgICAgICAgICB0aHJvdyBu
ZXcgRlMuRXJybm9FcnJvcihFUlJOT19DT0RFUy5FQUdBSU4pOwogICAgICAgICAgICAgIH0KICAg
ICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICB0aHJvdyBuZXcgRlMuRXJybm9FcnJvcihF
UlJOT19DT0RFUy5FQUdBSU4pOwogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgCiAgICAgICAg
ICAvLyBxdWV1ZWQuZGF0YSB3aWxsIGJlIGFuIEFycmF5QnVmZmVyIGlmIGl0J3MgdW5hZHVsdGVy
YXRlZCwgYnV0IGlmIGl0J3MKICAgICAgICAgIC8vIHJlcXVldWVkIFRDUCBkYXRhIGl0J2xsIGJl
IGFuIEFycmF5QnVmZmVyVmlldwogICAgICAgICAgdmFyIHF1ZXVlZExlbmd0aCA9IHF1ZXVlZC5k
YXRhLmJ5dGVMZW5ndGggfHwgcXVldWVkLmRhdGEubGVuZ3RoOwogICAgICAgICAgdmFyIHF1ZXVl
ZE9mZnNldCA9IHF1ZXVlZC5kYXRhLmJ5dGVPZmZzZXQgfHwgMDsKICAgICAgICAgIHZhciBxdWV1
ZWRCdWZmZXIgPSBxdWV1ZWQuZGF0YS5idWZmZXIgfHwgcXVldWVkLmRhdGE7CiAgICAgICAgICB2
YXIgYnl0ZXNSZWFkID0gTWF0aC5taW4obGVuZ3RoLCBxdWV1ZWRMZW5ndGgpOwogICAgICAgICAg
dmFyIHJlcyA9IHsKICAgICAgICAgICAgYnVmZmVyOiBuZXcgVWludDhBcnJheShxdWV1ZWRCdWZm
ZXIsIHF1ZXVlZE9mZnNldCwgYnl0ZXNSZWFkKSwKICAgICAgICAgICAgYWRkcjogcXVldWVkLmFk
ZHIsCiAgICAgICAgICAgIHBvcnQ6IHF1ZXVlZC5wb3J0CiAgICAgICAgICB9OwogIAogIAogICAg
ICAgICAgLy8gcHVzaCBiYWNrIGFueSB1bnJlYWQgZGF0YSBmb3IgVENQIGNvbm5lY3Rpb25zCiAg
ICAgICAgICBpZiAoc29jay50eXBlID09PSAxICYmIGJ5dGVzUmVhZCA8IHF1ZXVlZExlbmd0aCkg
ewogICAgICAgICAgICB2YXIgYnl0ZXNSZW1haW5pbmcgPSBxdWV1ZWRMZW5ndGggLSBieXRlc1Jl
YWQ7CiAgICAgICAgICAgIHF1ZXVlZC5kYXRhID0gbmV3IFVpbnQ4QXJyYXkocXVldWVkQnVmZmVy
LCBxdWV1ZWRPZmZzZXQgKyBieXRlc1JlYWQsIGJ5dGVzUmVtYWluaW5nKTsKICAgICAgICAgICAg
c29jay5yZWN2X3F1ZXVlLnVuc2hpZnQocXVldWVkKTsKICAgICAgICAgIH0KICAKICAgICAgICAg
IHJldHVybiByZXM7CiAgICAgICAgfX19O2Z1bmN0aW9uIF9zZW5kKGZkLCBidWYsIGxlbiwgZmxh
Z3MpIHsKICAgICAgdmFyIHNvY2sgPSBTT0NLRlMuZ2V0U29ja2V0KGZkKTsKICAgICAgaWYgKCFz
b2NrKSB7CiAgICAgICAgX19fc2V0RXJyTm8oRVJSTk9fQ09ERVMuRUJBREYpOwogICAgICAgIHJl
dHVybiAtMTsKICAgICAgfQogICAgICAvLyBUT0RPIGhvbm9yIGZsYWdzCiAgICAgIHJldHVybiBf
d3JpdGUoZmQsIGJ1ZiwgbGVuKTsKICAgIH0KICAKICBmdW5jdGlvbiBfcHdyaXRlKGZpbGRlcywg
YnVmLCBuYnl0ZSwgb2Zmc2V0KSB7CiAgICAgIC8vIHNzaXplX3QgcHdyaXRlKGludCBmaWxkZXMs
IGNvbnN0IHZvaWQgKmJ1Ziwgc2l6ZV90IG5ieXRlLCBvZmZfdCBvZmZzZXQpOwogICAgICAvLyBo
dHRwOi8vcHVicy5vcGVuZ3JvdXAub3JnL29ubGluZXB1YnMvMDAwMDk1Mzk5L2Z1bmN0aW9ucy93
cml0ZS5odG1sCiAgICAgIHZhciBzdHJlYW0gPSBGUy5nZXRTdHJlYW0oZmlsZGVzKTsKICAgICAg
aWYgKCFzdHJlYW0pIHsKICAgICAgICBfX19zZXRFcnJObyhFUlJOT19DT0RFUy5FQkFERik7CiAg
ICAgICAgcmV0dXJuIC0xOwogICAgICB9CiAgICAgIHRyeSB7CiAgICAgICAgdmFyIHNsYWIgPSBI
RUFQODsKICAgICAgICByZXR1cm4gRlMud3JpdGUoc3RyZWFtLCBzbGFiLCBidWYsIG5ieXRlLCBv
ZmZzZXQpOwogICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgRlMuaGFuZGxlRlNFcnJvcihlKTsK
ICAgICAgICByZXR1cm4gLTE7CiAgICAgIH0KICAgIH1mdW5jdGlvbiBfd3JpdGUoZmlsZGVzLCBi
dWYsIG5ieXRlKSB7CiAgICAgIC8vIHNzaXplX3Qgd3JpdGUoaW50IGZpbGRlcywgY29uc3Qgdm9p
ZCAqYnVmLCBzaXplX3QgbmJ5dGUpOwogICAgICAvLyBodHRwOi8vcHVicy5vcGVuZ3JvdXAub3Jn
L29ubGluZXB1YnMvMDAwMDk1Mzk5L2Z1bmN0aW9ucy93cml0ZS5odG1sCiAgICAgIHZhciBzdHJl
YW0gPSBGUy5nZXRTdHJlYW0oZmlsZGVzKTsKICAgICAgaWYgKCFzdHJlYW0pIHsKICAgICAgICBf
X19zZXRFcnJObyhFUlJOT19DT0RFUy5FQkFERik7CiAgICAgICAgcmV0dXJuIC0xOwogICAgICB9
CiAgCiAgCiAgICAgIHRyeSB7CiAgICAgICAgdmFyIHNsYWIgPSBIRUFQODsKICAgICAgICByZXR1
cm4gRlMud3JpdGUoc3RyZWFtLCBzbGFiLCBidWYsIG5ieXRlKTsKICAgICAgfSBjYXRjaCAoZSkg
ewogICAgICAgIEZTLmhhbmRsZUZTRXJyb3IoZSk7CiAgICAgICAgcmV0dXJuIC0xOwogICAgICB9
CiAgICB9CiAgCiAgZnVuY3Rpb24gX2ZpbGVubyhzdHJlYW0pIHsKICAgICAgLy8gaW50IGZpbGVu
byhGSUxFICpzdHJlYW0pOwogICAgICAvLyBodHRwOi8vcHVicy5vcGVuZ3JvdXAub3JnL29ubGlu
ZXB1YnMvMDAwMDk1Mzk5L2Z1bmN0aW9ucy9maWxlbm8uaHRtbAogICAgICBzdHJlYW0gPSBGUy5n
ZXRTdHJlYW1Gcm9tUHRyKHN0cmVhbSk7CiAgICAgIGlmICghc3RyZWFtKSByZXR1cm4gLTE7CiAg
ICAgIHJldHVybiBzdHJlYW0uZmQ7CiAgICB9ZnVuY3Rpb24gX2Z3cml0ZShwdHIsIHNpemUsIG5p
dGVtcywgc3RyZWFtKSB7CiAgICAgIC8vIHNpemVfdCBmd3JpdGUoY29uc3Qgdm9pZCAqcmVzdHJp
Y3QgcHRyLCBzaXplX3Qgc2l6ZSwgc2l6ZV90IG5pdGVtcywgRklMRSAqcmVzdHJpY3Qgc3RyZWFt
KTsKICAgICAgLy8gaHR0cDovL3B1YnMub3Blbmdyb3VwLm9yZy9vbmxpbmVwdWJzLzAwMDA5NTM5
OS9mdW5jdGlvbnMvZndyaXRlLmh0bWwKICAgICAgdmFyIGJ5dGVzVG9Xcml0ZSA9IG5pdGVtcyAq
IHNpemU7CiAgICAgIGlmIChieXRlc1RvV3JpdGUgPT0gMCkgcmV0dXJuIDA7CiAgICAgIHZhciBm
ZCA9IF9maWxlbm8oc3RyZWFtKTsKICAgICAgdmFyIGJ5dGVzV3JpdHRlbiA9IF93cml0ZShmZCwg
cHRyLCBieXRlc1RvV3JpdGUpOwogICAgICBpZiAoYnl0ZXNXcml0dGVuID09IC0xKSB7CiAgICAg
ICAgdmFyIHN0cmVhbU9iaiA9IEZTLmdldFN0cmVhbUZyb21QdHIoc3RyZWFtKTsKICAgICAgICBp
ZiAoc3RyZWFtT2JqKSBzdHJlYW1PYmouZXJyb3IgPSB0cnVlOwogICAgICAgIHJldHVybiAwOwog
ICAgICB9IGVsc2UgewogICAgICAgIHJldHVybiBNYXRoLmZsb29yKGJ5dGVzV3JpdHRlbiAvIHNp
emUpOwogICAgICB9CiAgICB9ZnVuY3Rpb24gX2ZwcmludGYoc3RyZWFtLCBmb3JtYXQsIHZhcmFy
Z3MpIHsKICAgICAgLy8gaW50IGZwcmludGYoRklMRSAqcmVzdHJpY3Qgc3RyZWFtLCBjb25zdCBj
aGFyICpyZXN0cmljdCBmb3JtYXQsIC4uLik7CiAgICAgIC8vIGh0dHA6Ly9wdWJzLm9wZW5ncm91
cC5vcmcvb25saW5lcHVicy8wMDAwOTUzOTkvZnVuY3Rpb25zL3ByaW50Zi5odG1sCiAgICAgIHZh
ciByZXN1bHQgPSBfX2Zvcm1hdFN0cmluZyhmb3JtYXQsIHZhcmFyZ3MpOwogICAgICB2YXIgc3Rh
Y2sgPSBSdW50aW1lLnN0YWNrU2F2ZSgpOwogICAgICB2YXIgcmV0ID0gX2Z3cml0ZShhbGxvY2F0
ZShyZXN1bHQsICdpOCcsIEFMTE9DX1NUQUNLKSwgMSwgcmVzdWx0Lmxlbmd0aCwgc3RyZWFtKTsK
ICAgICAgUnVudGltZS5zdGFja1Jlc3RvcmUoc3RhY2spOwogICAgICByZXR1cm4gcmV0OwogICAg
fWZ1bmN0aW9uIF9wcmludGYoZm9ybWF0LCB2YXJhcmdzKSB7CiAgICAgIC8vIGludCBwcmludGYo
Y29uc3QgY2hhciAqcmVzdHJpY3QgZm9ybWF0LCAuLi4pOwogICAgICAvLyBodHRwOi8vcHVicy5v
cGVuZ3JvdXAub3JnL29ubGluZXB1YnMvMDAwMDk1Mzk5L2Z1bmN0aW9ucy9wcmludGYuaHRtbAog
ICAgICB2YXIgc3Rkb3V0ID0gSEVBUDMyWygoX3N0ZG91dCk+PjIpXTsKICAgICAgcmV0dXJuIF9m
cHJpbnRmKHN0ZG91dCwgZm9ybWF0LCB2YXJhcmdzKTsKICAgIH0KCgogIHZhciBfc3FydGY9TWF0
aF9zcXJ0OwoKICAKICAKICAKICBmdW5jdGlvbiBfaXNzcGFjZShjaHIpIHsKICAgICAgcmV0dXJu
IChjaHIgPT0gMzIpIHx8IChjaHIgPj0gOSAmJiBjaHIgPD0gMTMpOwogICAgfQogIGZ1bmN0aW9u
IF9fcGFyc2VJbnQ2NChzdHIsIGVuZHB0ciwgYmFzZSwgbWluLCBtYXgsIHVuc2lnbikgewogICAg
ICB2YXIgaXNOZWdhdGl2ZSA9IGZhbHNlOwogICAgICAvLyBTa2lwIHNwYWNlLgogICAgICB3aGls
ZSAoX2lzc3BhY2UoSEVBUDhbKHN0cildKSkgc3RyKys7CiAgCiAgICAgIC8vIENoZWNrIGZvciBh
IHBsdXMvbWludXMgc2lnbi4KICAgICAgaWYgKEhFQVA4WyhzdHIpXSA9PSA0NSkgewogICAgICAg
IHN0cisrOwogICAgICAgIGlzTmVnYXRpdmUgPSB0cnVlOwogICAgICB9IGVsc2UgaWYgKEhFQVA4
WyhzdHIpXSA9PSA0MykgewogICAgICAgIHN0cisrOwogICAgICB9CiAgCiAgICAgIC8vIEZpbmQg
YmFzZS4KICAgICAgdmFyIG9rID0gZmFsc2U7CiAgICAgIHZhciBmaW5hbEJhc2UgPSBiYXNlOwog
ICAgICBpZiAoIWZpbmFsQmFzZSkgewogICAgICAgIGlmIChIRUFQOFsoc3RyKV0gPT0gNDgpIHsK
ICAgICAgICAgIGlmIChIRUFQOFsoKHN0cisxKXwwKV0gPT0gMTIwIHx8CiAgICAgICAgICAgICAg
SEVBUDhbKChzdHIrMSl8MCldID09IDg4KSB7CiAgICAgICAgICAgIGZpbmFsQmFzZSA9IDE2Owog
ICAgICAgICAgICBzdHIgKz0gMjsKICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGZpbmFs
QmFzZSA9IDg7CiAgICAgICAgICAgIG9rID0gdHJ1ZTsgLy8gd2Ugc2F3IGFuIGluaXRpYWwgemVy
bywgcGVyaGFwcyB0aGUgZW50aXJlIHRoaW5nIGlzIGp1c3QgIjAiCiAgICAgICAgICB9CiAgICAg
ICAgfQogICAgICB9IGVsc2UgaWYgKGZpbmFsQmFzZT09MTYpIHsKICAgICAgICBpZiAoSEVBUDhb
KHN0cildID09IDQ4KSB7CiAgICAgICAgICBpZiAoSEVBUDhbKChzdHIrMSl8MCldID09IDEyMCB8
fAogICAgICAgICAgICAgIEhFQVA4Wygoc3RyKzEpfDApXSA9PSA4OCkgewogICAgICAgICAgICBz
dHIgKz0gMjsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0KICAgICAgaWYgKCFmaW5hbEJh
c2UpIGZpbmFsQmFzZSA9IDEwOwogICAgICB2YXIgc3RhcnQgPSBzdHI7CiAgCiAgICAgIC8vIEdl
dCBkaWdpdHMuCiAgICAgIHZhciBjaHI7CiAgICAgIHdoaWxlICgoY2hyID0gSEVBUDhbKHN0cild
KSAhPSAwKSB7CiAgICAgICAgdmFyIGRpZ2l0ID0gcGFyc2VJbnQoU3RyaW5nLmZyb21DaGFyQ29k
ZShjaHIpLCBmaW5hbEJhc2UpOwogICAgICAgIGlmIChpc05hTihkaWdpdCkpIHsKICAgICAgICAg
IGJyZWFrOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICBzdHIrKzsKICAgICAgICAgIG9rID0g
dHJ1ZTsKICAgICAgICB9CiAgICAgIH0KICAKICAgICAgaWYgKCFvaykgewogICAgICAgIF9fX3Nl
dEVyck5vKEVSUk5PX0NPREVTLkVJTlZBTCk7CiAgICAgICAgcmV0dXJuICgoYXNtWyJzZXRUZW1w
UmV0MCJdKDApLDApfDApOwogICAgICB9CiAgCiAgICAgIC8vIFNldCBlbmQgcG9pbnRlci4KICAg
ICAgaWYgKGVuZHB0cikgewogICAgICAgIEhFQVAzMlsoKGVuZHB0cik+PjIpXT1zdHI7CiAgICAg
IH0KICAKICAgICAgdHJ5IHsKICAgICAgICB2YXIgbnVtYmVyU3RyaW5nID0gaXNOZWdhdGl2ZSA/
ICctJytQb2ludGVyX3N0cmluZ2lmeShzdGFydCwgc3RyIC0gc3RhcnQpIDogUG9pbnRlcl9zdHJp
bmdpZnkoc3RhcnQsIHN0ciAtIHN0YXJ0KTsKICAgICAgICBpNjRNYXRoLmZyb21TdHJpbmcobnVt
YmVyU3RyaW5nLCBmaW5hbEJhc2UsIG1pbiwgbWF4LCB1bnNpZ24pOwogICAgICB9IGNhdGNoKGUp
IHsKICAgICAgICBfX19zZXRFcnJObyhFUlJOT19DT0RFUy5FUkFOR0UpOyAvLyBub3QgcXVpdGUg
Y29ycmVjdAogICAgICB9CiAgCiAgICAgIHJldHVybiAoKGFzbVsic2V0VGVtcFJldDAiXSgoKEhF
QVAzMlsoKCh0ZW1wRG91YmxlUHRyKSsoNCkpPj4yKV0pfDApKSwoKEhFQVAzMlsoKHRlbXBEb3Vi
bGVQdHIpPj4yKV0pfDApKXwwKTsKICAgIH1mdW5jdGlvbiBfc3RydG91bGwoc3RyLCBlbmRwdHIs
IGJhc2UpIHsKICAgICAgcmV0dXJuIF9fcGFyc2VJbnQ2NChzdHIsIGVuZHB0ciwgYmFzZSwgMCwg
JzE4NDQ2NzQ0MDczNzA5NTUxNjE1JywgdHJ1ZSk7ICAvLyBVTE9OR19NQVguCiAgICB9ZnVuY3Rp
b24gX3N0cnRvdWxsX2woc3RyLCBlbmRwdHIsIGJhc2UpIHsKICAgICAgcmV0dXJuIF9zdHJ0b3Vs
bChzdHIsIGVuZHB0ciwgYmFzZSk7IC8vIG5vIGxvY2FsZSBzdXBwb3J0IHlldAogICAgfQoKICAg
CiAgTW9kdWxlWyJfaTY0QWRkIl0gPSBfaTY0QWRkOwoKICAKICBmdW5jdGlvbiBfZnB1dHMocywg
c3RyZWFtKSB7CiAgICAgIC8vIGludCBmcHV0cyhjb25zdCBjaGFyICpyZXN0cmljdCBzLCBGSUxF
ICpyZXN0cmljdCBzdHJlYW0pOwogICAgICAvLyBodHRwOi8vcHVicy5vcGVuZ3JvdXAub3JnL29u
bGluZXB1YnMvMDAwMDk1Mzk5L2Z1bmN0aW9ucy9mcHV0cy5odG1sCiAgICAgIHZhciBmZCA9IF9m
aWxlbm8oc3RyZWFtKTsKICAgICAgcmV0dXJuIF93cml0ZShmZCwgcywgX3N0cmxlbihzKSk7CiAg
ICB9CiAgCiAgZnVuY3Rpb24gX2ZwdXRjKGMsIHN0cmVhbSkgewogICAgICAvLyBpbnQgZnB1dGMo
aW50IGMsIEZJTEUgKnN0cmVhbSk7CiAgICAgIC8vIGh0dHA6Ly9wdWJzLm9wZW5ncm91cC5vcmcv
b25saW5lcHVicy8wMDAwOTUzOTkvZnVuY3Rpb25zL2ZwdXRjLmh0bWwKICAgICAgdmFyIGNociA9
IHVuU2lnbihjICYgMHhGRik7CiAgICAgIEhFQVA4WygoX2ZwdXRjLnJldCl8MCldPWNocjsKICAg
ICAgdmFyIGZkID0gX2ZpbGVubyhzdHJlYW0pOwogICAgICB2YXIgcmV0ID0gX3dyaXRlKGZkLCBf
ZnB1dGMucmV0LCAxKTsKICAgICAgaWYgKHJldCA9PSAtMSkgewogICAgICAgIHZhciBzdHJlYW1P
YmogPSBGUy5nZXRTdHJlYW1Gcm9tUHRyKHN0cmVhbSk7CiAgICAgICAgaWYgKHN0cmVhbU9iaikg
c3RyZWFtT2JqLmVycm9yID0gdHJ1ZTsKICAgICAgICByZXR1cm4gLTE7CiAgICAgIH0gZWxzZSB7
CiAgICAgICAgcmV0dXJuIGNocjsKICAgICAgfQogICAgfWZ1bmN0aW9uIF9wdXRzKHMpIHsKICAg
ICAgLy8gaW50IHB1dHMoY29uc3QgY2hhciAqcyk7CiAgICAgIC8vIGh0dHA6Ly9wdWJzLm9wZW5n
cm91cC5vcmcvb25saW5lcHVicy8wMDAwOTUzOTkvZnVuY3Rpb25zL3B1dHMuaHRtbAogICAgICAv
LyBOT1RFOiBwdXRzKCkgYWx3YXlzIHdyaXRlcyBhbiBleHRyYSBuZXdsaW5lLgogICAgICB2YXIg
c3Rkb3V0ID0gSEVBUDMyWygoX3N0ZG91dCk+PjIpXTsKICAgICAgdmFyIHJldCA9IF9mcHV0cyhz
LCBzdGRvdXQpOwogICAgICBpZiAocmV0IDwgMCkgewogICAgICAgIHJldHVybiByZXQ7CiAgICAg
IH0gZWxzZSB7CiAgICAgICAgdmFyIG5ld2xpbmVSZXQgPSBfZnB1dGMoMTAsIHN0ZG91dCk7CiAg
ICAgICAgcmV0dXJuIChuZXdsaW5lUmV0IDwgMCkgPyAtMSA6IHJldCArIDE7CiAgICAgIH0KICAg
IH0KCgogIAogIGZ1bmN0aW9uIF9zdHJ0b2xsKHN0ciwgZW5kcHRyLCBiYXNlKSB7CiAgICAgIHJl
dHVybiBfX3BhcnNlSW50NjQoc3RyLCBlbmRwdHIsIGJhc2UsICctOTIyMzM3MjAzNjg1NDc3NTgw
OCcsICc5MjIzMzcyMDM2ODU0Nzc1ODA3Jyk7ICAvLyBMTE9OR19NSU4sIExMT05HX01BWC4KICAg
IH1mdW5jdGlvbiBfc3RydG9sbF9sKHN0ciwgZW5kcHRyLCBiYXNlKSB7CiAgICAgIHJldHVybiBf
c3RydG9sbChzdHIsIGVuZHB0ciwgYmFzZSk7IC8vIG5vIGxvY2FsZSBzdXBwb3J0IHlldAogICAg
fQoKCiAgZnVuY3Rpb24gX3N5c2NvbmYobmFtZSkgewogICAgICAvLyBsb25nIHN5c2NvbmYoaW50
IG5hbWUpOwogICAgICAvLyBodHRwOi8vcHVicy5vcGVuZ3JvdXAub3JnL29ubGluZXB1YnMvMDA5
Njk1Mzk5L2Z1bmN0aW9ucy9zeXNjb25mLmh0bWwKICAgICAgc3dpdGNoKG5hbWUpIHsKICAgICAg
ICBjYXNlIDMwOiByZXR1cm4gUEFHRV9TSVpFOwogICAgICAgIGNhc2UgMTMyOgogICAgICAgIGNh
c2UgMTMzOgogICAgICAgIGNhc2UgMTI6CiAgICAgICAgY2FzZSAxMzc6CiAgICAgICAgY2FzZSAx
Mzg6CiAgICAgICAgY2FzZSAxNToKICAgICAgICBjYXNlIDIzNToKICAgICAgICBjYXNlIDE2Ogog
ICAgICAgIGNhc2UgMTc6CiAgICAgICAgY2FzZSAxODoKICAgICAgICBjYXNlIDE5OgogICAgICAg
IGNhc2UgMjA6CiAgICAgICAgY2FzZSAxNDk6CiAgICAgICAgY2FzZSAxMzoKICAgICAgICBjYXNl
IDEwOgogICAgICAgIGNhc2UgMjM2OgogICAgICAgIGNhc2UgMTUzOgogICAgICAgIGNhc2UgOToK
ICAgICAgICBjYXNlIDIxOgogICAgICAgIGNhc2UgMjI6CiAgICAgICAgY2FzZSAxNTk6CiAgICAg
ICAgY2FzZSAxNTQ6CiAgICAgICAgY2FzZSAxNDoKICAgICAgICBjYXNlIDc3OgogICAgICAgIGNh
c2UgNzg6CiAgICAgICAgY2FzZSAxMzk6CiAgICAgICAgY2FzZSA4MDoKICAgICAgICBjYXNlIDgx
OgogICAgICAgIGNhc2UgNzk6CiAgICAgICAgY2FzZSA4MjoKICAgICAgICBjYXNlIDY4OgogICAg
ICAgIGNhc2UgNjc6CiAgICAgICAgY2FzZSAxNjQ6CiAgICAgICAgY2FzZSAxMToKICAgICAgICBj
YXNlIDI5OgogICAgICAgIGNhc2UgNDc6CiAgICAgICAgY2FzZSA0ODoKICAgICAgICBjYXNlIDk1
OgogICAgICAgIGNhc2UgNTI6CiAgICAgICAgY2FzZSA1MToKICAgICAgICBjYXNlIDQ2OgogICAg
ICAgICAgcmV0dXJuIDIwMDgwOTsKICAgICAgICBjYXNlIDI3OgogICAgICAgIGNhc2UgMjQ2Ogog
ICAgICAgIGNhc2UgMTI3OgogICAgICAgIGNhc2UgMTI4OgogICAgICAgIGNhc2UgMjM6CiAgICAg
ICAgY2FzZSAyNDoKICAgICAgICBjYXNlIDE2MDoKICAgICAgICBjYXNlIDE2MToKICAgICAgICBj
YXNlIDE4MToKICAgICAgICBjYXNlIDE4MjoKICAgICAgICBjYXNlIDI0MjoKICAgICAgICBjYXNl
IDE4MzoKICAgICAgICBjYXNlIDE4NDoKICAgICAgICBjYXNlIDI0MzoKICAgICAgICBjYXNlIDI0
NDoKICAgICAgICBjYXNlIDI0NToKICAgICAgICBjYXNlIDE2NToKICAgICAgICBjYXNlIDE3ODoK
ICAgICAgICBjYXNlIDE3OToKICAgICAgICBjYXNlIDQ5OgogICAgICAgIGNhc2UgNTA6CiAgICAg
ICAgY2FzZSAxNjg6CiAgICAgICAgY2FzZSAxNjk6CiAgICAgICAgY2FzZSAxNzU6CiAgICAgICAg
Y2FzZSAxNzA6CiAgICAgICAgY2FzZSAxNzE6CiAgICAgICAgY2FzZSAxNzI6CiAgICAgICAgY2Fz
ZSA5NzoKICAgICAgICBjYXNlIDc2OgogICAgICAgIGNhc2UgMzI6CiAgICAgICAgY2FzZSAxNzM6
CiAgICAgICAgY2FzZSAzNToKICAgICAgICAgIHJldHVybiAtMTsKICAgICAgICBjYXNlIDE3NjoK
ICAgICAgICBjYXNlIDE3NzoKICAgICAgICBjYXNlIDc6CiAgICAgICAgY2FzZSAxNTU6CiAgICAg
ICAgY2FzZSA4OgogICAgICAgIGNhc2UgMTU3OgogICAgICAgIGNhc2UgMTI1OgogICAgICAgIGNh
c2UgMTI2OgogICAgICAgIGNhc2UgOTI6CiAgICAgICAgY2FzZSA5MzoKICAgICAgICBjYXNlIDEy
OToKICAgICAgICBjYXNlIDEzMDoKICAgICAgICBjYXNlIDEzMToKICAgICAgICBjYXNlIDk0Ogog
ICAgICAgIGNhc2UgOTE6CiAgICAgICAgICByZXR1cm4gMTsKICAgICAgICBjYXNlIDc0OgogICAg
ICAgIGNhc2UgNjA6CiAgICAgICAgY2FzZSA2OToKICAgICAgICBjYXNlIDcwOgogICAgICAgIGNh
c2UgNDoKICAgICAgICAgIHJldHVybiAxMDI0OwogICAgICAgIGNhc2UgMzE6CiAgICAgICAgY2Fz
ZSA0MjoKICAgICAgICBjYXNlIDcyOgogICAgICAgICAgcmV0dXJuIDMyOwogICAgICAgIGNhc2Ug
ODc6CiAgICAgICAgY2FzZSAyNjoKICAgICAgICBjYXNlIDMzOgogICAgICAgICAgcmV0dXJuIDIx
NDc0ODM2NDc7CiAgICAgICAgY2FzZSAzNDoKICAgICAgICBjYXNlIDE6CiAgICAgICAgICByZXR1
cm4gNDc4Mzk7CiAgICAgICAgY2FzZSAzODoKICAgICAgICBjYXNlIDM2OgogICAgICAgICAgcmV0
dXJuIDk5OwogICAgICAgIGNhc2UgNDM6CiAgICAgICAgY2FzZSAzNzoKICAgICAgICAgIHJldHVy
biAyMDQ4OwogICAgICAgIGNhc2UgMDogcmV0dXJuIDIwOTcxNTI7CiAgICAgICAgY2FzZSAzOiBy
ZXR1cm4gNjU1MzY7CiAgICAgICAgY2FzZSAyODogcmV0dXJuIDMyNzY4OwogICAgICAgIGNhc2Ug
NDQ6IHJldHVybiAzMjc2NzsKICAgICAgICBjYXNlIDc1OiByZXR1cm4gMTYzODQ7CiAgICAgICAg
Y2FzZSAzOTogcmV0dXJuIDEwMDA7CiAgICAgICAgY2FzZSA4OTogcmV0dXJuIDcwMDsKICAgICAg
ICBjYXNlIDcxOiByZXR1cm4gMjU2OwogICAgICAgIGNhc2UgNDA6IHJldHVybiAyNTU7CiAgICAg
ICAgY2FzZSAyOiByZXR1cm4gMTAwOwogICAgICAgIGNhc2UgMTgwOiByZXR1cm4gNjQ7CiAgICAg
ICAgY2FzZSAyNTogcmV0dXJuIDIwOwogICAgICAgIGNhc2UgNTogcmV0dXJuIDE2OwogICAgICAg
IGNhc2UgNjogcmV0dXJuIDY7CiAgICAgICAgY2FzZSA3MzogcmV0dXJuIDQ7CiAgICAgICAgY2Fz
ZSA4NDogcmV0dXJuIDE7CiAgICAgIH0KICAgICAgX19fc2V0RXJyTm8oRVJSTk9fQ09ERVMuRUlO
VkFMKTsKICAgICAgcmV0dXJuIC0xOwogICAgfQoKICBmdW5jdGlvbiBfcHRocmVhZF9jb25kX2Jy
b2FkY2FzdCgpIHsKICAgICAgcmV0dXJuIDA7CiAgICB9CgogIAogIAogIGZ1bmN0aW9uIF9faXNM
ZWFwWWVhcih5ZWFyKSB7CiAgICAgICAgcmV0dXJuIHllYXIlNCA9PT0gMCAmJiAoeWVhciUxMDAg
IT09IDAgfHwgeWVhciU0MDAgPT09IDApOwogICAgfQogIAogIGZ1bmN0aW9uIF9fYXJyYXlTdW0o
YXJyYXksIGluZGV4KSB7CiAgICAgIHZhciBzdW0gPSAwOwogICAgICBmb3IgKHZhciBpID0gMDsg
aSA8PSBpbmRleDsgc3VtICs9IGFycmF5W2krK10pOwogICAgICByZXR1cm4gc3VtOwogICAgfQog
IAogIAogIHZhciBfX01PTlRIX0RBWVNfTEVBUD1bMzEsMjksMzEsMzAsMzEsMzAsMzEsMzEsMzAs
MzEsMzAsMzFdOwogIAogIHZhciBfX01PTlRIX0RBWVNfUkVHVUxBUj1bMzEsMjgsMzEsMzAsMzEs
MzAsMzEsMzEsMzAsMzEsMzAsMzFdO2Z1bmN0aW9uIF9fYWRkRGF5cyhkYXRlLCBkYXlzKSB7CiAg
ICAgIHZhciBuZXdEYXRlID0gbmV3IERhdGUoZGF0ZS5nZXRUaW1lKCkpOwogICAgICB3aGlsZShk
YXlzID4gMCkgewogICAgICAgIHZhciBsZWFwID0gX19pc0xlYXBZZWFyKG5ld0RhdGUuZ2V0RnVs
bFllYXIoKSk7CiAgICAgICAgdmFyIGN1cnJlbnRNb250aCA9IG5ld0RhdGUuZ2V0TW9udGgoKTsK
ICAgICAgICB2YXIgZGF5c0luQ3VycmVudE1vbnRoID0gKGxlYXAgPyBfX01PTlRIX0RBWVNfTEVB
UCA6IF9fTU9OVEhfREFZU19SRUdVTEFSKVtjdXJyZW50TW9udGhdOwogIAogICAgICAgIGlmIChk
YXlzID4gZGF5c0luQ3VycmVudE1vbnRoLW5ld0RhdGUuZ2V0RGF0ZSgpKSB7CiAgICAgICAgICAv
LyB3ZSBzcGlsbCBvdmVyIHRvIG5leHQgbW9udGgKICAgICAgICAgIGRheXMgLT0gKGRheXNJbkN1
cnJlbnRNb250aC1uZXdEYXRlLmdldERhdGUoKSsxKTsKICAgICAgICAgIG5ld0RhdGUuc2V0RGF0
ZSgxKTsKICAgICAgICAgIGlmIChjdXJyZW50TW9udGggPCAxMSkgewogICAgICAgICAgICBuZXdE
YXRlLnNldE1vbnRoKGN1cnJlbnRNb250aCsxKQogICAgICAgICAgfSBlbHNlIHsKICAgICAgICAg
ICAgbmV3RGF0ZS5zZXRNb250aCgwKTsKICAgICAgICAgICAgbmV3RGF0ZS5zZXRGdWxsWWVhcihu
ZXdEYXRlLmdldEZ1bGxZZWFyKCkrMSk7CiAgICAgICAgICB9CiAgICAgICAgfSBlbHNlIHsKICAg
ICAgICAgIC8vIHdlIHN0YXkgaW4gY3VycmVudCBtb250aCAKICAgICAgICAgIG5ld0RhdGUuc2V0
RGF0ZShuZXdEYXRlLmdldERhdGUoKStkYXlzKTsKICAgICAgICAgIHJldHVybiBuZXdEYXRlOwog
ICAgICAgIH0KICAgICAgfQogIAogICAgICByZXR1cm4gbmV3RGF0ZTsKICAgIH1mdW5jdGlvbiBf
c3RyZnRpbWUocywgbWF4c2l6ZSwgZm9ybWF0LCB0bSkgewogICAgICAvLyBzaXplX3Qgc3RyZnRp
bWUoY2hhciAqcmVzdHJpY3Qgcywgc2l6ZV90IG1heHNpemUsIGNvbnN0IGNoYXIgKnJlc3RyaWN0
IGZvcm1hdCwgY29uc3Qgc3RydWN0IHRtICpyZXN0cmljdCB0aW1lcHRyKTsKICAgICAgLy8gaHR0
cDovL3B1YnMub3Blbmdyb3VwLm9yZy9vbmxpbmVwdWJzLzAwOTY5NTM5OS9mdW5jdGlvbnMvc3Ry
ZnRpbWUuaHRtbAogICAgICAKICAgICAgdmFyIGRhdGUgPSB7CiAgICAgICAgdG1fc2VjOiBIRUFQ
MzJbKCh0bSk+PjIpXSwKICAgICAgICB0bV9taW46IEhFQVAzMlsoKCh0bSkrKDQpKT4+MildLAog
ICAgICAgIHRtX2hvdXI6IEhFQVAzMlsoKCh0bSkrKDgpKT4+MildLAogICAgICAgIHRtX21kYXk6
IEhFQVAzMlsoKCh0bSkrKDEyKSk+PjIpXSwKICAgICAgICB0bV9tb246IEhFQVAzMlsoKCh0bSkr
KDE2KSk+PjIpXSwKICAgICAgICB0bV95ZWFyOiBIRUFQMzJbKCgodG0pKygyMCkpPj4yKV0sCiAg
ICAgICAgdG1fd2RheTogSEVBUDMyWygoKHRtKSsoMjQpKT4+MildLAogICAgICAgIHRtX3lkYXk6
IEhFQVAzMlsoKCh0bSkrKDI4KSk+PjIpXSwKICAgICAgICB0bV9pc2RzdDogSEVBUDMyWygoKHRt
KSsoMzIpKT4+MildCiAgICAgIH07CiAgCiAgICAgIHZhciBwYXR0ZXJuID0gUG9pbnRlcl9zdHJp
bmdpZnkoZm9ybWF0KTsKICAKICAgICAgLy8gZXhwYW5kIGZvcm1hdAogICAgICB2YXIgRVhQQU5T
SU9OX1JVTEVTXzEgPSB7CiAgICAgICAgJyVjJzogJyVhICViICVkICVIOiVNOiVTICVZJywgICAg
IC8vIFJlcGxhY2VkIGJ5IHRoZSBsb2NhbGUncyBhcHByb3ByaWF0ZSBkYXRlIGFuZCB0aW1lIHJl
cHJlc2VudGF0aW9uIC0gZS5nLiwgTW9uIEF1ZyAgMyAxNDowMjowMSAyMDEzCiAgICAgICAgJyVE
JzogJyVtLyVkLyV5JywgICAgICAgICAgICAgICAgIC8vIEVxdWl2YWxlbnQgdG8gJW0gLyAlZCAv
ICV5CiAgICAgICAgJyVGJzogJyVZLSVtLSVkJywgICAgICAgICAgICAgICAgIC8vIEVxdWl2YWxl
bnQgdG8gJVkgLSAlbSAtICVkCiAgICAgICAgJyVoJzogJyViJywgICAgICAgICAgICAgICAgICAg
ICAgIC8vIEVxdWl2YWxlbnQgdG8gJWIKICAgICAgICAnJXInOiAnJUk6JU06JVMgJXAnLCAgICAg
ICAgICAgICAgLy8gUmVwbGFjZWQgYnkgdGhlIHRpbWUgaW4gYS5tLiBhbmQgcC5tLiBub3RhdGlv
bgogICAgICAgICclUic6ICclSDolTScsICAgICAgICAgICAgICAgICAgICAvLyBSZXBsYWNlZCBi
eSB0aGUgdGltZSBpbiAyNC1ob3VyIG5vdGF0aW9uCiAgICAgICAgJyVUJzogJyVIOiVNOiVTJywg
ICAgICAgICAgICAgICAgIC8vIFJlcGxhY2VkIGJ5IHRoZSB0aW1lCiAgICAgICAgJyV4JzogJyVt
LyVkLyV5JywgICAgICAgICAgICAgICAgIC8vIFJlcGxhY2VkIGJ5IHRoZSBsb2NhbGUncyBhcHBy
b3ByaWF0ZSBkYXRlIHJlcHJlc2VudGF0aW9uCiAgICAgICAgJyVYJzogJyVIOiVNOiVTJywgICAg
ICAgICAgICAgICAgIC8vIFJlcGxhY2VkIGJ5IHRoZSBsb2NhbGUncyBhcHByb3ByaWF0ZSBkYXRl
IHJlcHJlc2VudGF0aW9uCiAgICAgIH07CiAgICAgIGZvciAodmFyIHJ1bGUgaW4gRVhQQU5TSU9O
X1JVTEVTXzEpIHsKICAgICAgICBwYXR0ZXJuID0gcGF0dGVybi5yZXBsYWNlKG5ldyBSZWdFeHAo
cnVsZSwgJ2cnKSwgRVhQQU5TSU9OX1JVTEVTXzFbcnVsZV0pOwogICAgICB9CiAgCiAgICAgIHZh
ciBXRUVLREFZUyA9IFsnU3VuZGF5JywgJ01vbmRheScsICdUdWVzZGF5JywgJ1dlZG5lc2RheScs
ICdUaHVyc2RheScsICdGcmlkYXknLCAnU2F0dXJkYXknXTsKICAgICAgdmFyIE1PTlRIUyA9IFsn
SmFudWFyeScsICdGZWJydWFyeScsICdNYXJjaCcsICdBcHJpbCcsICdNYXknLCAnSnVuZScsICdK
dWx5JywgJ0F1Z3VzdCcsICdTZXB0ZW1iZXInLCAnT2N0b2JlcicsICdOb3ZlbWJlcicsICdEZWNl
bWJlciddOwogIAogICAgICBmdW5jdGlvbiBsZWFkaW5nU29tZXRoaW5nKHZhbHVlLCBkaWdpdHMs
IGNoYXJhY3RlcikgewogICAgICAgIHZhciBzdHIgPSB0eXBlb2YgdmFsdWUgPT09ICdudW1iZXIn
ID8gdmFsdWUudG9TdHJpbmcoKSA6ICh2YWx1ZSB8fCAnJyk7CiAgICAgICAgd2hpbGUgKHN0ci5s
ZW5ndGggPCBkaWdpdHMpIHsKICAgICAgICAgIHN0ciA9IGNoYXJhY3RlclswXStzdHI7CiAgICAg
ICAgfQogICAgICAgIHJldHVybiBzdHI7CiAgICAgIH07CiAgCiAgICAgIGZ1bmN0aW9uIGxlYWRp
bmdOdWxscyh2YWx1ZSwgZGlnaXRzKSB7CiAgICAgICAgcmV0dXJuIGxlYWRpbmdTb21ldGhpbmco
dmFsdWUsIGRpZ2l0cywgJzAnKTsKICAgICAgfTsKICAKICAgICAgZnVuY3Rpb24gY29tcGFyZUJ5
RGF5KGRhdGUxLCBkYXRlMikgewogICAgICAgIGZ1bmN0aW9uIHNnbih2YWx1ZSkgewogICAgICAg
ICAgcmV0dXJuIHZhbHVlIDwgMCA/IC0xIDogKHZhbHVlID4gMCA/IDEgOiAwKTsKICAgICAgICB9
OwogIAogICAgICAgIHZhciBjb21wYXJlOwogICAgICAgIGlmICgoY29tcGFyZSA9IHNnbihkYXRl
MS5nZXRGdWxsWWVhcigpLWRhdGUyLmdldEZ1bGxZZWFyKCkpKSA9PT0gMCkgewogICAgICAgICAg
aWYgKChjb21wYXJlID0gc2duKGRhdGUxLmdldE1vbnRoKCktZGF0ZTIuZ2V0TW9udGgoKSkpID09
PSAwKSB7CiAgICAgICAgICAgIGNvbXBhcmUgPSBzZ24oZGF0ZTEuZ2V0RGF0ZSgpLWRhdGUyLmdl
dERhdGUoKSk7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHJldHVybiBjb21wYXJlOwog
ICAgICB9OwogIAogICAgICBmdW5jdGlvbiBnZXRGaXJzdFdlZWtTdGFydERhdGUoamFuRm91cnRo
KSB7CiAgICAgICAgICBzd2l0Y2ggKGphbkZvdXJ0aC5nZXREYXkoKSkgewogICAgICAgICAgICBj
YXNlIDA6IC8vIFN1bmRheQogICAgICAgICAgICAgIHJldHVybiBuZXcgRGF0ZShqYW5Gb3VydGgu
Z2V0RnVsbFllYXIoKS0xLCAxMSwgMjkpOwogICAgICAgICAgICBjYXNlIDE6IC8vIE1vbmRheQog
ICAgICAgICAgICAgIHJldHVybiBqYW5Gb3VydGg7CiAgICAgICAgICAgIGNhc2UgMjogLy8gVHVl
c2RheQogICAgICAgICAgICAgIHJldHVybiBuZXcgRGF0ZShqYW5Gb3VydGguZ2V0RnVsbFllYXIo
KSwgMCwgMyk7CiAgICAgICAgICAgIGNhc2UgMzogLy8gV2VkbmVzZGF5CiAgICAgICAgICAgICAg
cmV0dXJuIG5ldyBEYXRlKGphbkZvdXJ0aC5nZXRGdWxsWWVhcigpLCAwLCAyKTsKICAgICAgICAg
ICAgY2FzZSA0OiAvLyBUaHVyc2RheQogICAgICAgICAgICAgIHJldHVybiBuZXcgRGF0ZShqYW5G
b3VydGguZ2V0RnVsbFllYXIoKSwgMCwgMSk7CiAgICAgICAgICAgIGNhc2UgNTogLy8gRnJpZGF5
CiAgICAgICAgICAgICAgcmV0dXJuIG5ldyBEYXRlKGphbkZvdXJ0aC5nZXRGdWxsWWVhcigpLTEs
IDExLCAzMSk7CiAgICAgICAgICAgIGNhc2UgNjogLy8gU2F0dXJkYXkKICAgICAgICAgICAgICBy
ZXR1cm4gbmV3IERhdGUoamFuRm91cnRoLmdldEZ1bGxZZWFyKCktMSwgMTEsIDMwKTsKICAgICAg
ICAgIH0KICAgICAgfTsKICAKICAgICAgZnVuY3Rpb24gZ2V0V2Vla0Jhc2VkWWVhcihkYXRlKSB7
CiAgICAgICAgICB2YXIgdGhpc0RhdGUgPSBfX2FkZERheXMobmV3IERhdGUoZGF0ZS50bV95ZWFy
KzE5MDAsIDAsIDEpLCBkYXRlLnRtX3lkYXkpOwogIAogICAgICAgICAgdmFyIGphbkZvdXJ0aFRo
aXNZZWFyID0gbmV3IERhdGUodGhpc0RhdGUuZ2V0RnVsbFllYXIoKSwgMCwgNCk7CiAgICAgICAg
ICB2YXIgamFuRm91cnRoTmV4dFllYXIgPSBuZXcgRGF0ZSh0aGlzRGF0ZS5nZXRGdWxsWWVhcigp
KzEsIDAsIDQpOwogIAogICAgICAgICAgdmFyIGZpcnN0V2Vla1N0YXJ0VGhpc1llYXIgPSBnZXRG
aXJzdFdlZWtTdGFydERhdGUoamFuRm91cnRoVGhpc1llYXIpOwogICAgICAgICAgdmFyIGZpcnN0
V2Vla1N0YXJ0TmV4dFllYXIgPSBnZXRGaXJzdFdlZWtTdGFydERhdGUoamFuRm91cnRoTmV4dFll
YXIpOwogIAogICAgICAgICAgaWYgKGNvbXBhcmVCeURheShmaXJzdFdlZWtTdGFydFRoaXNZZWFy
LCB0aGlzRGF0ZSkgPD0gMCkgewogICAgICAgICAgICAvLyB0aGlzIGRhdGUgaXMgYWZ0ZXIgdGhl
IHN0YXJ0IG9mIHRoZSBmaXJzdCB3ZWVrIG9mIHRoaXMgeWVhcgogICAgICAgICAgICBpZiAoY29t
cGFyZUJ5RGF5KGZpcnN0V2Vla1N0YXJ0TmV4dFllYXIsIHRoaXNEYXRlKSA8PSAwKSB7CiAgICAg
ICAgICAgICAgcmV0dXJuIHRoaXNEYXRlLmdldEZ1bGxZZWFyKCkrMTsKICAgICAgICAgICAgfSBl
bHNlIHsKICAgICAgICAgICAgICByZXR1cm4gdGhpc0RhdGUuZ2V0RnVsbFllYXIoKTsKICAgICAg
ICAgICAgfQogICAgICAgICAgfSBlbHNlIHsgCiAgICAgICAgICAgIHJldHVybiB0aGlzRGF0ZS5n
ZXRGdWxsWWVhcigpLTE7CiAgICAgICAgICB9CiAgICAgIH07CiAgCiAgICAgIHZhciBFWFBBTlNJ
T05fUlVMRVNfMiA9IHsKICAgICAgICAnJWEnOiBmdW5jdGlvbihkYXRlKSB7CiAgICAgICAgICBy
ZXR1cm4gV0VFS0RBWVNbZGF0ZS50bV93ZGF5XS5zdWJzdHJpbmcoMCwzKTsKICAgICAgICB9LAog
ICAgICAgICclQSc6IGZ1bmN0aW9uKGRhdGUpIHsKICAgICAgICAgIHJldHVybiBXRUVLREFZU1tk
YXRlLnRtX3dkYXldOwogICAgICAgIH0sCiAgICAgICAgJyViJzogZnVuY3Rpb24oZGF0ZSkgewog
ICAgICAgICAgcmV0dXJuIE1PTlRIU1tkYXRlLnRtX21vbl0uc3Vic3RyaW5nKDAsMyk7CiAgICAg
ICAgfSwKICAgICAgICAnJUInOiBmdW5jdGlvbihkYXRlKSB7CiAgICAgICAgICByZXR1cm4gTU9O
VEhTW2RhdGUudG1fbW9uXTsKICAgICAgICB9LAogICAgICAgICclQyc6IGZ1bmN0aW9uKGRhdGUp
IHsKICAgICAgICAgIHZhciB5ZWFyID0gZGF0ZS50bV95ZWFyKzE5MDA7CiAgICAgICAgICByZXR1
cm4gbGVhZGluZ051bGxzKE1hdGguZmxvb3IoeWVhci8xMDApLDIpOwogICAgICAgIH0sCiAgICAg
ICAgJyVkJzogZnVuY3Rpb24oZGF0ZSkgewogICAgICAgICAgcmV0dXJuIGxlYWRpbmdOdWxscyhk
YXRlLnRtX21kYXksIDIpOwogICAgICAgIH0sCiAgICAgICAgJyVlJzogZnVuY3Rpb24oZGF0ZSkg
ewogICAgICAgICAgcmV0dXJuIGxlYWRpbmdTb21ldGhpbmcoZGF0ZS50bV9tZGF5LCAyLCAnICcp
OwogICAgICAgIH0sCiAgICAgICAgJyVnJzogZnVuY3Rpb24oZGF0ZSkgewogICAgICAgICAgLy8g
JWcsICVHLCBhbmQgJVYgZ2l2ZSB2YWx1ZXMgYWNjb3JkaW5nIHRvIHRoZSBJU08gODYwMToyMDAw
IHN0YW5kYXJkIHdlZWstYmFzZWQgeWVhci4gCiAgICAgICAgICAvLyBJbiB0aGlzIHN5c3RlbSwg
d2Vla3MgYmVnaW4gb24gYSBNb25kYXkgYW5kIHdlZWsgMSBvZiB0aGUgeWVhciBpcyB0aGUgd2Vl
ayB0aGF0IGluY2x1ZGVzIAogICAgICAgICAgLy8gSmFudWFyeSA0dGgsIHdoaWNoIGlzIGFsc28g
dGhlIHdlZWsgdGhhdCBpbmNsdWRlcyB0aGUgZmlyc3QgVGh1cnNkYXkgb2YgdGhlIHllYXIsIGFu
ZCAKICAgICAgICAgIC8vIGlzIGFsc28gdGhlIGZpcnN0IHdlZWsgdGhhdCBjb250YWlucyBhdCBs
ZWFzdCBmb3VyIGRheXMgaW4gdGhlIHllYXIuIAogICAgICAgICAgLy8gSWYgdGhlIGZpcnN0IE1v
bmRheSBvZiBKYW51YXJ5IGlzIHRoZSAybmQsIDNyZCwgb3IgNHRoLCB0aGUgcHJlY2VkaW5nIGRh
eXMgYXJlIHBhcnQgb2YgCiAgICAgICAgICAvLyB0aGUgbGFzdCB3ZWVrIG9mIHRoZSBwcmVjZWRp
bmcgeWVhcjsgdGh1cywgZm9yIFNhdHVyZGF5IDJuZCBKYW51YXJ5IDE5OTksIAogICAgICAgICAg
Ly8gJUcgaXMgcmVwbGFjZWQgYnkgMTk5OCBhbmQgJVYgaXMgcmVwbGFjZWQgYnkgNTMuIElmIERl
Y2VtYmVyIDI5dGgsIDMwdGgsIAogICAgICAgICAgLy8gb3IgMzFzdCBpcyBhIE1vbmRheSwgaXQg
YW5kIGFueSBmb2xsb3dpbmcgZGF5cyBhcmUgcGFydCBvZiB3ZWVrIDEgb2YgdGhlIGZvbGxvd2lu
ZyB5ZWFyLiAKICAgICAgICAgIC8vIFRodXMsIGZvciBUdWVzZGF5IDMwdGggRGVjZW1iZXIgMTk5
NywgJUcgaXMgcmVwbGFjZWQgYnkgMTk5OCBhbmQgJVYgaXMgcmVwbGFjZWQgYnkgMDEuCiAgICAg
ICAgICAKICAgICAgICAgIHJldHVybiBnZXRXZWVrQmFzZWRZZWFyKGRhdGUpLnRvU3RyaW5nKCku
c3Vic3RyaW5nKDIpOwogICAgICAgIH0sCiAgICAgICAgJyVHJzogZnVuY3Rpb24oZGF0ZSkgewog
ICAgICAgICAgcmV0dXJuIGdldFdlZWtCYXNlZFllYXIoZGF0ZSk7CiAgICAgICAgfSwKICAgICAg
ICAnJUgnOiBmdW5jdGlvbihkYXRlKSB7CiAgICAgICAgICByZXR1cm4gbGVhZGluZ051bGxzKGRh
dGUudG1faG91ciwgMik7CiAgICAgICAgfSwKICAgICAgICAnJUknOiBmdW5jdGlvbihkYXRlKSB7
CiAgICAgICAgICByZXR1cm4gbGVhZGluZ051bGxzKGRhdGUudG1faG91ciA8IDEzID8gZGF0ZS50
bV9ob3VyIDogZGF0ZS50bV9ob3VyLTEyLCAyKTsKICAgICAgICB9LAogICAgICAgICclaic6IGZ1
bmN0aW9uKGRhdGUpIHsKICAgICAgICAgIC8vIERheSBvZiB0aGUgeWVhciAoMDAxLTM2NikKICAg
ICAgICAgIHJldHVybiBsZWFkaW5nTnVsbHMoZGF0ZS50bV9tZGF5K19fYXJyYXlTdW0oX19pc0xl
YXBZZWFyKGRhdGUudG1feWVhcisxOTAwKSA/IF9fTU9OVEhfREFZU19MRUFQIDogX19NT05USF9E
QVlTX1JFR1VMQVIsIGRhdGUudG1fbW9uLTEpLCAzKTsKICAgICAgICB9LAogICAgICAgICclbSc6
IGZ1bmN0aW9uKGRhdGUpIHsKICAgICAgICAgIHJldHVybiBsZWFkaW5nTnVsbHMoZGF0ZS50bV9t
b24rMSwgMik7CiAgICAgICAgfSwKICAgICAgICAnJU0nOiBmdW5jdGlvbihkYXRlKSB7CiAgICAg
ICAgICByZXR1cm4gbGVhZGluZ051bGxzKGRhdGUudG1fbWluLCAyKTsKICAgICAgICB9LAogICAg
ICAgICclbic6IGZ1bmN0aW9uKCkgewogICAgICAgICAgcmV0dXJuICdcbic7CiAgICAgICAgfSwK
ICAgICAgICAnJXAnOiBmdW5jdGlvbihkYXRlKSB7CiAgICAgICAgICBpZiAoZGF0ZS50bV9ob3Vy
ID4gMCAmJiBkYXRlLnRtX2hvdXIgPCAxMykgewogICAgICAgICAgICByZXR1cm4gJ0FNJzsKICAg
ICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHJldHVybiAnUE0nOwogICAgICAgICAgfQogICAg
ICAgIH0sCiAgICAgICAgJyVTJzogZnVuY3Rpb24oZGF0ZSkgewogICAgICAgICAgcmV0dXJuIGxl
YWRpbmdOdWxscyhkYXRlLnRtX3NlYywgMik7CiAgICAgICAgfSwKICAgICAgICAnJXQnOiBmdW5j
dGlvbigpIHsKICAgICAgICAgIHJldHVybiAnXHQnOwogICAgICAgIH0sCiAgICAgICAgJyV1Jzog
ZnVuY3Rpb24oZGF0ZSkgewogICAgICAgICAgdmFyIGRheSA9IG5ldyBEYXRlKGRhdGUudG1feWVh
cisxOTAwLCBkYXRlLnRtX21vbisxLCBkYXRlLnRtX21kYXksIDAsIDAsIDAsIDApOwogICAgICAg
ICAgcmV0dXJuIGRheS5nZXREYXkoKSB8fCA3OwogICAgICAgIH0sCiAgICAgICAgJyVVJzogZnVu
Y3Rpb24oZGF0ZSkgewogICAgICAgICAgLy8gUmVwbGFjZWQgYnkgdGhlIHdlZWsgbnVtYmVyIG9m
IHRoZSB5ZWFyIGFzIGEgZGVjaW1hbCBudW1iZXIgWzAwLDUzXS4gCiAgICAgICAgICAvLyBUaGUg
Zmlyc3QgU3VuZGF5IG9mIEphbnVhcnkgaXMgdGhlIGZpcnN0IGRheSBvZiB3ZWVrIDE7IAogICAg
ICAgICAgLy8gZGF5cyBpbiB0aGUgbmV3IHllYXIgYmVmb3JlIHRoaXMgYXJlIGluIHdlZWsgMC4g
WyB0bV95ZWFyLCB0bV93ZGF5LCB0bV95ZGF5XQogICAgICAgICAgdmFyIGphbkZpcnN0ID0gbmV3
IERhdGUoZGF0ZS50bV95ZWFyKzE5MDAsIDAsIDEpOwogICAgICAgICAgdmFyIGZpcnN0U3VuZGF5
ID0gamFuRmlyc3QuZ2V0RGF5KCkgPT09IDAgPyBqYW5GaXJzdCA6IF9fYWRkRGF5cyhqYW5GaXJz
dCwgNy1qYW5GaXJzdC5nZXREYXkoKSk7CiAgICAgICAgICB2YXIgZW5kRGF0ZSA9IG5ldyBEYXRl
KGRhdGUudG1feWVhcisxOTAwLCBkYXRlLnRtX21vbiwgZGF0ZS50bV9tZGF5KTsKICAgICAgICAg
IAogICAgICAgICAgLy8gaXMgdGFyZ2V0IGRhdGUgYWZ0ZXIgdGhlIGZpcnN0IFN1bmRheT8KICAg
ICAgICAgIGlmIChjb21wYXJlQnlEYXkoZmlyc3RTdW5kYXksIGVuZERhdGUpIDwgMCkgewogICAg
ICAgICAgICAvLyBjYWxjdWxhdGUgZGlmZmVyZW5jZSBpbiBkYXlzIGJldHdlZW4gZmlyc3QgU3Vu
ZGF5IGFuZCBlbmREYXRlCiAgICAgICAgICAgIHZhciBmZWJydWFyeUZpcnN0VW50aWxFbmRNb250
aCA9IF9fYXJyYXlTdW0oX19pc0xlYXBZZWFyKGVuZERhdGUuZ2V0RnVsbFllYXIoKSkgPyBfX01P
TlRIX0RBWVNfTEVBUCA6IF9fTU9OVEhfREFZU19SRUdVTEFSLCBlbmREYXRlLmdldE1vbnRoKCkt
MSktMzE7CiAgICAgICAgICAgIHZhciBmaXJzdFN1bmRheVVudGlsRW5kSmFudWFyeSA9IDMxLWZp
cnN0U3VuZGF5LmdldERhdGUoKTsKICAgICAgICAgICAgdmFyIGRheXMgPSBmaXJzdFN1bmRheVVu
dGlsRW5kSmFudWFyeStmZWJydWFyeUZpcnN0VW50aWxFbmRNb250aCtlbmREYXRlLmdldERhdGUo
KTsKICAgICAgICAgICAgcmV0dXJuIGxlYWRpbmdOdWxscyhNYXRoLmNlaWwoZGF5cy83KSwgMik7
CiAgICAgICAgICB9CiAgCiAgICAgICAgICByZXR1cm4gY29tcGFyZUJ5RGF5KGZpcnN0U3VuZGF5
LCBqYW5GaXJzdCkgPT09IDAgPyAnMDEnOiAnMDAnOwogICAgICAgIH0sCiAgICAgICAgJyVWJzog
ZnVuY3Rpb24oZGF0ZSkgewogICAgICAgICAgLy8gUmVwbGFjZWQgYnkgdGhlIHdlZWsgbnVtYmVy
IG9mIHRoZSB5ZWFyIChNb25kYXkgYXMgdGhlIGZpcnN0IGRheSBvZiB0aGUgd2VlaykgCiAgICAg
ICAgICAvLyBhcyBhIGRlY2ltYWwgbnVtYmVyIFswMSw1M10uIElmIHRoZSB3ZWVrIGNvbnRhaW5p
bmcgMSBKYW51YXJ5IGhhcyBmb3VyIAogICAgICAgICAgLy8gb3IgbW9yZSBkYXlzIGluIHRoZSBu
ZXcgeWVhciwgdGhlbiBpdCBpcyBjb25zaWRlcmVkIHdlZWsgMS4gCiAgICAgICAgICAvLyBPdGhl
cndpc2UsIGl0IGlzIHRoZSBsYXN0IHdlZWsgb2YgdGhlIHByZXZpb3VzIHllYXIsIGFuZCB0aGUg
bmV4dCB3ZWVrIGlzIHdlZWsgMS4gCiAgICAgICAgICAvLyBCb3RoIEphbnVhcnkgNHRoIGFuZCB0
aGUgZmlyc3QgVGh1cnNkYXkgb2YgSmFudWFyeSBhcmUgYWx3YXlzIGluIHdlZWsgMS4gWyB0bV95
ZWFyLCB0bV93ZGF5LCB0bV95ZGF5XQogICAgICAgICAgdmFyIGphbkZvdXJ0aFRoaXNZZWFyID0g
bmV3IERhdGUoZGF0ZS50bV95ZWFyKzE5MDAsIDAsIDQpOwogICAgICAgICAgdmFyIGphbkZvdXJ0
aE5leHRZZWFyID0gbmV3IERhdGUoZGF0ZS50bV95ZWFyKzE5MDEsIDAsIDQpOwogIAogICAgICAg
ICAgdmFyIGZpcnN0V2Vla1N0YXJ0VGhpc1llYXIgPSBnZXRGaXJzdFdlZWtTdGFydERhdGUoamFu
Rm91cnRoVGhpc1llYXIpOwogICAgICAgICAgdmFyIGZpcnN0V2Vla1N0YXJ0TmV4dFllYXIgPSBn
ZXRGaXJzdFdlZWtTdGFydERhdGUoamFuRm91cnRoTmV4dFllYXIpOwogIAogICAgICAgICAgdmFy
IGVuZERhdGUgPSBfX2FkZERheXMobmV3IERhdGUoZGF0ZS50bV95ZWFyKzE5MDAsIDAsIDEpLCBk
YXRlLnRtX3lkYXkpOwogIAogICAgICAgICAgaWYgKGNvbXBhcmVCeURheShlbmREYXRlLCBmaXJz
dFdlZWtTdGFydFRoaXNZZWFyKSA8IDApIHsKICAgICAgICAgICAgLy8gaWYgZ2l2ZW4gZGF0ZSBp
cyBiZWZvcmUgdGhpcyB5ZWFycyBmaXJzdCB3ZWVrLCB0aGVuIGl0IGJlbG9uZ3MgdG8gdGhlIDUz
cmQgd2VlayBvZiBsYXN0IHllYXIKICAgICAgICAgICAgcmV0dXJuICc1Myc7CiAgICAgICAgICB9
IAogIAogICAgICAgICAgaWYgKGNvbXBhcmVCeURheShmaXJzdFdlZWtTdGFydE5leHRZZWFyLCBl
bmREYXRlKSA8PSAwKSB7CiAgICAgICAgICAgIC8vIGlmIGdpdmVuIGRhdGUgaXMgYWZ0ZXIgbmV4
dCB5ZWFycyBmaXJzdCB3ZWVrLCB0aGVuIGl0IGJlbG9uZ3MgdG8gdGhlIDAxdGggd2VlayBvZiBu
ZXh0IHllYXIKICAgICAgICAgICAgcmV0dXJuICcwMSc7CiAgICAgICAgICB9CiAgCiAgICAgICAg
ICAvLyBnaXZlbiBkYXRlIGlzIGluIGJldHdlZW4gQ1cgMDEuLjUzIG9mIHRoaXMgY2FsZW5kYXIg
eWVhcgogICAgICAgICAgdmFyIGRheXNEaWZmZXJlbmNlOwogICAgICAgICAgaWYgKGZpcnN0V2Vl
a1N0YXJ0VGhpc1llYXIuZ2V0RnVsbFllYXIoKSA8IGRhdGUudG1feWVhcisxOTAwKSB7CiAgICAg
ICAgICAgIC8vIGZpcnN0IENXIG9mIHRoaXMgeWVhciBzdGFydHMgbGFzdCB5ZWFyCiAgICAgICAg
ICAgIGRheXNEaWZmZXJlbmNlID0gZGF0ZS50bV95ZGF5KzMyLWZpcnN0V2Vla1N0YXJ0VGhpc1ll
YXIuZ2V0RGF0ZSgpCiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAvLyBmaXJzdCBDVyBv
ZiB0aGlzIHllYXIgc3RhcnRzIHRoaXMgeWVhcgogICAgICAgICAgICBkYXlzRGlmZmVyZW5jZSA9
IGRhdGUudG1feWRheSsxLWZpcnN0V2Vla1N0YXJ0VGhpc1llYXIuZ2V0RGF0ZSgpOwogICAgICAg
ICAgfQogICAgICAgICAgcmV0dXJuIGxlYWRpbmdOdWxscyhNYXRoLmNlaWwoZGF5c0RpZmZlcmVu
Y2UvNyksIDIpOwogICAgICAgIH0sCiAgICAgICAgJyV3JzogZnVuY3Rpb24oZGF0ZSkgewogICAg
ICAgICAgdmFyIGRheSA9IG5ldyBEYXRlKGRhdGUudG1feWVhcisxOTAwLCBkYXRlLnRtX21vbisx
LCBkYXRlLnRtX21kYXksIDAsIDAsIDAsIDApOwogICAgICAgICAgcmV0dXJuIGRheS5nZXREYXko
KTsKICAgICAgICB9LAogICAgICAgICclVyc6IGZ1bmN0aW9uKGRhdGUpIHsKICAgICAgICAgIC8v
IFJlcGxhY2VkIGJ5IHRoZSB3ZWVrIG51bWJlciBvZiB0aGUgeWVhciBhcyBhIGRlY2ltYWwgbnVt
YmVyIFswMCw1M10uIAogICAgICAgICAgLy8gVGhlIGZpcnN0IE1vbmRheSBvZiBKYW51YXJ5IGlz
IHRoZSBmaXJzdCBkYXkgb2Ygd2VlayAxOyAKICAgICAgICAgIC8vIGRheXMgaW4gdGhlIG5ldyB5
ZWFyIGJlZm9yZSB0aGlzIGFyZSBpbiB3ZWVrIDAuIFsgdG1feWVhciwgdG1fd2RheSwgdG1feWRh
eV0KICAgICAgICAgIHZhciBqYW5GaXJzdCA9IG5ldyBEYXRlKGRhdGUudG1feWVhciwgMCwgMSk7
CiAgICAgICAgICB2YXIgZmlyc3RNb25kYXkgPSBqYW5GaXJzdC5nZXREYXkoKSA9PT0gMSA/IGph
bkZpcnN0IDogX19hZGREYXlzKGphbkZpcnN0LCBqYW5GaXJzdC5nZXREYXkoKSA9PT0gMCA/IDEg
OiA3LWphbkZpcnN0LmdldERheSgpKzEpOwogICAgICAgICAgdmFyIGVuZERhdGUgPSBuZXcgRGF0
ZShkYXRlLnRtX3llYXIrMTkwMCwgZGF0ZS50bV9tb24sIGRhdGUudG1fbWRheSk7CiAgCiAgICAg
ICAgICAvLyBpcyB0YXJnZXQgZGF0ZSBhZnRlciB0aGUgZmlyc3QgTW9uZGF5PwogICAgICAgICAg
aWYgKGNvbXBhcmVCeURheShmaXJzdE1vbmRheSwgZW5kRGF0ZSkgPCAwKSB7CiAgICAgICAgICAg
IHZhciBmZWJydWFyeUZpcnN0VW50aWxFbmRNb250aCA9IF9fYXJyYXlTdW0oX19pc0xlYXBZZWFy
KGVuZERhdGUuZ2V0RnVsbFllYXIoKSkgPyBfX01PTlRIX0RBWVNfTEVBUCA6IF9fTU9OVEhfREFZ
U19SRUdVTEFSLCBlbmREYXRlLmdldE1vbnRoKCktMSktMzE7CiAgICAgICAgICAgIHZhciBmaXJz
dE1vbmRheVVudGlsRW5kSmFudWFyeSA9IDMxLWZpcnN0TW9uZGF5LmdldERhdGUoKTsKICAgICAg
ICAgICAgdmFyIGRheXMgPSBmaXJzdE1vbmRheVVudGlsRW5kSmFudWFyeStmZWJydWFyeUZpcnN0
VW50aWxFbmRNb250aCtlbmREYXRlLmdldERhdGUoKTsKICAgICAgICAgICAgcmV0dXJuIGxlYWRp
bmdOdWxscyhNYXRoLmNlaWwoZGF5cy83KSwgMik7CiAgICAgICAgICB9CiAgICAgICAgICByZXR1
cm4gY29tcGFyZUJ5RGF5KGZpcnN0TW9uZGF5LCBqYW5GaXJzdCkgPT09IDAgPyAnMDEnOiAnMDAn
OwogICAgICAgIH0sCiAgICAgICAgJyV5JzogZnVuY3Rpb24oZGF0ZSkgewogICAgICAgICAgLy8g
UmVwbGFjZWQgYnkgdGhlIGxhc3QgdHdvIGRpZ2l0cyBvZiB0aGUgeWVhciBhcyBhIGRlY2ltYWwg
bnVtYmVyIFswMCw5OV0uIFsgdG1feWVhcl0KICAgICAgICAgIHJldHVybiAoZGF0ZS50bV95ZWFy
KzE5MDApLnRvU3RyaW5nKCkuc3Vic3RyaW5nKDIpOwogICAgICAgIH0sCiAgICAgICAgJyVZJzog
ZnVuY3Rpb24oZGF0ZSkgewogICAgICAgICAgLy8gUmVwbGFjZWQgYnkgdGhlIHllYXIgYXMgYSBk
ZWNpbWFsIG51bWJlciAoZm9yIGV4YW1wbGUsIDE5OTcpLiBbIHRtX3llYXJdCiAgICAgICAgICBy
ZXR1cm4gZGF0ZS50bV95ZWFyKzE5MDA7CiAgICAgICAgfSwKICAgICAgICAnJXonOiBmdW5jdGlv
bihkYXRlKSB7CiAgICAgICAgICAvLyBSZXBsYWNlZCBieSB0aGUgb2Zmc2V0IGZyb20gVVRDIGlu
IHRoZSBJU08gODYwMToyMDAwIHN0YW5kYXJkIGZvcm1hdCAoICtoaG1tIG9yIC1oaG1tICksCiAg
ICAgICAgICAvLyBvciBieSBubyBjaGFyYWN0ZXJzIGlmIG5vIHRpbWV6b25lIGlzIGRldGVybWlu
YWJsZS4gCiAgICAgICAgICAvLyBGb3IgZXhhbXBsZSwgIi0wNDMwIiBtZWFucyA0IGhvdXJzIDMw
IG1pbnV0ZXMgYmVoaW5kIFVUQyAod2VzdCBvZiBHcmVlbndpY2gpLiAKICAgICAgICAgIC8vIElm
IHRtX2lzZHN0IGlzIHplcm8sIHRoZSBzdGFuZGFyZCB0aW1lIG9mZnNldCBpcyB1c2VkLiAKICAg
ICAgICAgIC8vIElmIHRtX2lzZHN0IGlzIGdyZWF0ZXIgdGhhbiB6ZXJvLCB0aGUgZGF5bGlnaHQg
c2F2aW5ncyB0aW1lIG9mZnNldCBpcyB1c2VkLiAKICAgICAgICAgIC8vIElmIHRtX2lzZHN0IGlz
IG5lZ2F0aXZlLCBubyBjaGFyYWN0ZXJzIGFyZSByZXR1cm5lZC4gCiAgICAgICAgICAvLyBGSVhN
RTogd2UgY2Fubm90IGRldGVybWluZSB0aW1lIHpvbmUgKG9yIGNhbiB3ZT8pCiAgICAgICAgICBy
ZXR1cm4gJyc7CiAgICAgICAgfSwKICAgICAgICAnJVonOiBmdW5jdGlvbihkYXRlKSB7CiAgICAg
ICAgICAvLyBSZXBsYWNlZCBieSB0aGUgdGltZXpvbmUgbmFtZSBvciBhYmJyZXZpYXRpb24sIG9y
IGJ5IG5vIGJ5dGVzIGlmIG5vIHRpbWV6b25lIGluZm9ybWF0aW9uIGV4aXN0cy4gWyB0bV9pc2Rz
dF0KICAgICAgICAgIC8vIEZJWE1FOiB3ZSBjYW5ub3QgZGV0ZXJtaW5lIHRpbWUgem9uZSAob3Ig
Y2FuIHdlPykKICAgICAgICAgIHJldHVybiAnJzsKICAgICAgICB9LAogICAgICAgICclJSc6IGZ1
bmN0aW9uKCkgewogICAgICAgICAgcmV0dXJuICclJzsKICAgICAgICB9CiAgICAgIH07CiAgICAg
IGZvciAodmFyIHJ1bGUgaW4gRVhQQU5TSU9OX1JVTEVTXzIpIHsKICAgICAgICBpZiAocGF0dGVy
bi5pbmRleE9mKHJ1bGUpID49IDApIHsKICAgICAgICAgIHBhdHRlcm4gPSBwYXR0ZXJuLnJlcGxh
Y2UobmV3IFJlZ0V4cChydWxlLCAnZycpLCBFWFBBTlNJT05fUlVMRVNfMltydWxlXShkYXRlKSk7
CiAgICAgICAgfQogICAgICB9CiAgCiAgICAgIHZhciBieXRlcyA9IGludEFycmF5RnJvbVN0cmlu
ZyhwYXR0ZXJuLCBmYWxzZSk7CiAgICAgIGlmIChieXRlcy5sZW5ndGggPiBtYXhzaXplKSB7CiAg
ICAgICAgcmV0dXJuIDA7CiAgICAgIH0gCiAgCiAgICAgIHdyaXRlQXJyYXlUb01lbW9yeShieXRl
cywgcyk7CiAgICAgIHJldHVybiBieXRlcy5sZW5ndGgtMTsKICAgIH1mdW5jdGlvbiBfc3RyZnRp
bWVfbChzLCBtYXhzaXplLCBmb3JtYXQsIHRtKSB7CiAgICAgIHJldHVybiBfc3RyZnRpbWUocywg
bWF4c2l6ZSwgZm9ybWF0LCB0bSk7IC8vIG5vIGxvY2FsZSBzdXBwb3J0IHlldAogICAgfQoKICAK
ICAKICBmdW5jdGlvbiBfX2V4aXQoc3RhdHVzKSB7CiAgICAgIC8vIHZvaWQgX2V4aXQoaW50IHN0
YXR1cyk7CiAgICAgIC8vIGh0dHA6Ly9wdWJzLm9wZW5ncm91cC5vcmcvb25saW5lcHVicy8wMDAw
OTUzOTkvZnVuY3Rpb25zL2V4aXQuaHRtbAogICAgICBNb2R1bGVbJ2V4aXQnXShzdGF0dXMpOwog
ICAgfWZ1bmN0aW9uIF9leGl0KHN0YXR1cykgewogICAgICBfX2V4aXQoc3RhdHVzKTsKICAgIH1m
dW5jdGlvbiBfX1pTdDl0ZXJtaW5hdGV2KCkgewogICAgICBfZXhpdCgtMTIzNCk7CiAgICB9Cgog
IGZ1bmN0aW9uIF9wdGhyZWFkX211dGV4X3VubG9jaygpIHt9CgogIAogIGZ1bmN0aW9uIF9pc3hk
aWdpdChjaHIpIHsKICAgICAgcmV0dXJuIChjaHIgPj0gNDggJiYgY2hyIDw9IDU3KSB8fAogICAg
ICAgICAgICAgKGNociA+PSA5NyAmJiBjaHIgPD0gMTAyKSB8fAogICAgICAgICAgICAgKGNociA+
PSA2NSAmJiBjaHIgPD0gNzApOwogICAgfWZ1bmN0aW9uIF9pc3hkaWdpdF9sKGNocikgewogICAg
ICByZXR1cm4gX2lzeGRpZ2l0KGNocik7IC8vIG5vIGxvY2FsZSBzdXBwb3J0IHlldAogICAgfQoK
ICAKICBmdW5jdGlvbiBfZW1zY3JpcHRlbl9tZW1jcHlfYmlnKGRlc3QsIHNyYywgbnVtKSB7CiAg
ICAgIEhFQVBVOC5zZXQoSEVBUFU4LnN1YmFycmF5KHNyYywgc3JjK251bSksIGRlc3QpOwogICAg
ICByZXR1cm4gZGVzdDsKICAgIH0gCiAgTW9kdWxlWyJfbWVtY3B5Il0gPSBfbWVtY3B5OwoKICBm
dW5jdGlvbiBfc2JyayhieXRlcykgewogICAgICAvLyBJbXBsZW1lbnQgYSBMaW51eC1saWtlICdt
ZW1vcnkgYXJlYScgZm9yIG91ciAncHJvY2VzcycuCiAgICAgIC8vIENoYW5nZXMgdGhlIHNpemUg
b2YgdGhlIG1lbW9yeSBhcmVhIGJ5IHxieXRlc3w7IHJldHVybnMgdGhlCiAgICAgIC8vIGFkZHJl
c3Mgb2YgdGhlIHByZXZpb3VzIHRvcCAoJ2JyZWFrJykgb2YgdGhlIG1lbW9yeSBhcmVhCiAgICAg
IC8vIFdlIGNvbnRyb2wgdGhlICJkeW5hbWljIiBtZW1vcnkgLSBEWU5BTUlDX0JBU0UgdG8gRFlO
QU1JQ1RPUAogICAgICB2YXIgc2VsZiA9IF9zYnJrOwogICAgICBpZiAoIXNlbGYuY2FsbGVkKSB7
CiAgICAgICAgRFlOQU1JQ1RPUCA9IGFsaWduTWVtb3J5UGFnZShEWU5BTUlDVE9QKTsgLy8gbWFr
ZSBzdXJlIHdlIHN0YXJ0IG91dCBhbGlnbmVkCiAgICAgICAgc2VsZi5jYWxsZWQgPSB0cnVlOwog
ICAgICAgIGFzc2VydChSdW50aW1lLmR5bmFtaWNBbGxvYyk7CiAgICAgICAgc2VsZi5hbGxvYyA9
IFJ1bnRpbWUuZHluYW1pY0FsbG9jOwogICAgICAgIFJ1bnRpbWUuZHluYW1pY0FsbG9jID0gZnVu
Y3Rpb24oKSB7IGFib3J0KCdjYW5ub3QgZHluYW1pY2FsbHkgYWxsb2NhdGUsIHNicmsgbm93IGhh
cyBjb250cm9sJykgfTsKICAgICAgfQogICAgICB2YXIgcmV0ID0gRFlOQU1JQ1RPUDsKICAgICAg
aWYgKGJ5dGVzICE9IDApIHNlbGYuYWxsb2MoYnl0ZXMpOwogICAgICByZXR1cm4gcmV0OyAgLy8g
UHJldmlvdXMgYnJlYWsgbG9jYXRpb24uCiAgICB9CgogICAKICBNb2R1bGVbIl9iaXRzaGlmdDY0
U2hsIl0gPSBfYml0c2hpZnQ2NFNobDsKCiAgZnVuY3Rpb24gX25ld2xvY2FsZShtYXNrLCBsb2Nh
bGUsIGJhc2UpIHsKICAgICAgcmV0dXJuIF9tYWxsb2MoNCk7CiAgICB9CgogICAKICBNb2R1bGVb
Il9tZW1tb3ZlIl0gPSBfbWVtbW92ZTsKCiAgZnVuY3Rpb24gX19fZXJybm9fbG9jYXRpb24oKSB7
CiAgICAgIHJldHVybiBfX19lcnJub19zdGF0ZTsKICAgIH0KCiAgdmFyIF9CSXRvRD10cnVlOwoK
ICBmdW5jdGlvbiBfY2F0Y2xvc2UoY2F0ZCkgewogICAgICAvLyBpbnQgY2F0Y2xvc2UgKG5sX2Nh
dGQgY2F0ZCkKICAgICAgcmV0dXJuIDA7CiAgICB9CgogIAogIAogIAogIGZ1bmN0aW9uIF9mcmVl
KCkgewogIH0KICBNb2R1bGVbIl9mcmVlIl0gPSBfZnJlZTtmdW5jdGlvbiBfX19jeGFfZnJlZV9l
eGNlcHRpb24ocHRyKSB7CiAgICAgIHRyeSB7CiAgICAgICAgcmV0dXJuIF9mcmVlKHB0ciAtIF9f
X2N4YV9leGNlcHRpb25faGVhZGVyX3NpemUpOwogICAgICB9IGNhdGNoKGUpIHsgLy8gWFhYIEZJ
WE1FCiAgICAgIH0KICAgIH0KICAKICB2YXIgX19fY3hhX2NhdWdodF9leGNlcHRpb25zPVtdO2Z1
bmN0aW9uIF9fX2N4YV9lbmRfY2F0Y2goKSB7CiAgICAgIGlmIChfX19jeGFfZW5kX2NhdGNoLnJl
dGhyb3duKSB7CiAgICAgICAgX19fY3hhX2VuZF9jYXRjaC5yZXRocm93biA9IGZhbHNlOwogICAg
ICAgIHJldHVybjsKICAgICAgfQogICAgICAvLyBDbGVhciBzdGF0ZSBmbGFnLgogICAgICBhc21b
J3NldFRocmV3J10oMCk7CiAgICAgIC8vIENhbGwgZGVzdHJ1Y3RvciBpZiBvbmUgaXMgcmVnaXN0
ZXJlZCB0aGVuIGNsZWFyIGl0LgogICAgICB2YXIgcHRyID0gX19fY3hhX2NhdWdodF9leGNlcHRp
b25zLnBvcCgpOwogICAgICBpZiAocHRyKSB7CiAgICAgICAgaGVhZGVyID0gcHRyIC0gX19fY3hh
X2V4Y2VwdGlvbl9oZWFkZXJfc2l6ZTsKICAgICAgICB2YXIgZGVzdHJ1Y3RvciA9IEhFQVAzMlso
KChoZWFkZXIpKyg0KSk+PjIpXTsKICAgICAgICBpZiAoZGVzdHJ1Y3RvcikgewogICAgICAgICAg
UnVudGltZS5keW5DYWxsKCd2aScsIGRlc3RydWN0b3IsIFtwdHJdKTsKICAgICAgICAgIEhFQVAz
MlsoKChoZWFkZXIpKyg0KSk+PjIpXT0wOwogICAgICAgIH0KICAgICAgICBfX19jeGFfZnJlZV9l
eGNlcHRpb24ocHRyKTsKICAgICAgICBfX19jeGFfbGFzdF90aHJvd25fZXhjZXB0aW9uID0gMDsK
ICAgICAgfQogICAgfWZ1bmN0aW9uIF9fX2N4YV9yZXRocm93KCkgewogICAgICBfX19jeGFfZW5k
X2NhdGNoLnJldGhyb3duID0gdHJ1ZTsKICAgICAgdmFyIHB0ciA9IF9fX2N4YV9jYXVnaHRfZXhj
ZXB0aW9ucy5wb3AoKTsKICAgICAgdGhyb3cgcHRyICsgIiAtIEV4Y2VwdGlvbiBjYXRjaGluZyBp
cyBkaXNhYmxlZCwgdGhpcyBleGNlcHRpb24gY2Fubm90IGJlIGNhdWdodC4gQ29tcGlsZSB3aXRo
IC1zIERJU0FCTEVfRVhDRVBUSU9OX0NBVENISU5HPTAgb3IgRElTQUJMRV9FWENFUFRJT05fQ0FU
Q0hJTkc9MiB0byBjYXRjaC4iOwogICAgfQoKICBmdW5jdGlvbiBfZm1vZCh4LCB5KSB7CiAgICAg
IHJldHVybiB4ICUgeTsKICAgIH0KCiAgZnVuY3Rpb24gX19fY3hhX2d1YXJkX3JlbGVhc2UoKSB7
fQoKICBmdW5jdGlvbiBfdW5nZXRjKGMsIHN0cmVhbSkgewogICAgICAvLyBpbnQgdW5nZXRjKGlu
dCBjLCBGSUxFICpzdHJlYW0pOwogICAgICAvLyBodHRwOi8vcHVicy5vcGVuZ3JvdXAub3JnL29u
bGluZXB1YnMvMDAwMDk1Mzk5L2Z1bmN0aW9ucy91bmdldGMuaHRtbAogICAgICBzdHJlYW0gPSBG
Uy5nZXRTdHJlYW1Gcm9tUHRyKHN0cmVhbSk7CiAgICAgIGlmICghc3RyZWFtKSB7CiAgICAgICAg
cmV0dXJuIC0xOwogICAgICB9CiAgICAgIGlmIChjID09PSAtMSkgewogICAgICAgIC8vIGRvIG5v
dGhpbmcgZm9yIEVPRiBjaGFyYWN0ZXIKICAgICAgICByZXR1cm4gYzsKICAgICAgfQogICAgICBj
ID0gdW5TaWduKGMgJiAweEZGKTsKICAgICAgc3RyZWFtLnVuZ290dGVuLnB1c2goYyk7CiAgICAg
IHN0cmVhbS5lb2YgPSBmYWxzZTsKICAgICAgcmV0dXJuIGM7CiAgICB9CgogIHZhciBfZXhwZj1N
YXRoX2V4cDsKCiAgZnVuY3Rpb24gX3VzZWxvY2FsZShsb2NhbGUpIHsKICAgICAgcmV0dXJuIDA7
CiAgICB9CgogIHZhciBfdGFuZj1NYXRoX3RhbjsKCiAgdmFyIF9jb3NmPU1hdGhfY29zOwoKICAK
ICAKICAKICBmdW5jdGlvbiBfX2dldEZsb2F0KHRleHQpIHsKICAgICAgcmV0dXJuIC9eWystXT9b
MC05XSpcLj9bMC05XSsoW2VFXVsrLV0/WzAtOV0rKT8vLmV4ZWModGV4dCk7CiAgICB9ZnVuY3Rp
b24gX19zY2FuU3RyaW5nKGZvcm1hdCwgZ2V0LCB1bmdldCwgdmFyYXJncykgewogICAgICBpZiAo
IV9fc2NhblN0cmluZy53aGl0ZVNwYWNlKSB7CiAgICAgICAgX19zY2FuU3RyaW5nLndoaXRlU3Bh
Y2UgPSB7fTsKICAgICAgICBfX3NjYW5TdHJpbmcud2hpdGVTcGFjZVszMl0gPSAxOwogICAgICAg
IF9fc2NhblN0cmluZy53aGl0ZVNwYWNlWzldID0gMTsKICAgICAgICBfX3NjYW5TdHJpbmcud2hp
dGVTcGFjZVsxMF0gPSAxOwogICAgICAgIF9fc2NhblN0cmluZy53aGl0ZVNwYWNlWzExXSA9IDE7
CiAgICAgICAgX19zY2FuU3RyaW5nLndoaXRlU3BhY2VbMTJdID0gMTsKICAgICAgICBfX3NjYW5T
dHJpbmcud2hpdGVTcGFjZVsxM10gPSAxOwogICAgICB9CiAgICAgIC8vIFN1cHBvcnRzICV4LCAl
NHgsICVkLiVkLCAlbGxkLCAlcywgJWYsICVsZi4KICAgICAgLy8gVE9ETzogU3VwcG9ydCBhbGwg
Zm9ybWF0IHNwZWNpZmllcnMuCiAgICAgIGZvcm1hdCA9IFBvaW50ZXJfc3RyaW5naWZ5KGZvcm1h
dCk7CiAgICAgIHZhciBzb0ZhciA9IDA7CiAgICAgIGlmIChmb3JtYXQuaW5kZXhPZignJW4nKSA+
PSAwKSB7CiAgICAgICAgLy8gbmVlZCB0byB0cmFjayBzb0ZhcgogICAgICAgIHZhciBfZ2V0ID0g
Z2V0OwogICAgICAgIGdldCA9IGZ1bmN0aW9uIGdldCgpIHsKICAgICAgICAgIHNvRmFyKys7CiAg
ICAgICAgICByZXR1cm4gX2dldCgpOwogICAgICAgIH0KICAgICAgICB2YXIgX3VuZ2V0ID0gdW5n
ZXQ7CiAgICAgICAgdW5nZXQgPSBmdW5jdGlvbiB1bmdldCgpIHsKICAgICAgICAgIHNvRmFyLS07
CiAgICAgICAgICByZXR1cm4gX3VuZ2V0KCk7CiAgICAgICAgfQogICAgICB9CiAgICAgIHZhciBm
b3JtYXRJbmRleCA9IDA7CiAgICAgIHZhciBhcmdzaSA9IDA7CiAgICAgIHZhciBmaWVsZHMgPSAw
OwogICAgICB2YXIgYXJnSW5kZXggPSAwOwogICAgICB2YXIgbmV4dDsKICAKICAgICAgbWFpbkxv
b3A6CiAgICAgIGZvciAodmFyIGZvcm1hdEluZGV4ID0gMDsgZm9ybWF0SW5kZXggPCBmb3JtYXQu
bGVuZ3RoOykgewogICAgICAgIGlmIChmb3JtYXRbZm9ybWF0SW5kZXhdID09PSAnJScgJiYgZm9y
bWF0W2Zvcm1hdEluZGV4KzFdID09ICduJykgewogICAgICAgICAgdmFyIGFyZ1B0ciA9IEhFQVAz
MlsoKCh2YXJhcmdzKSsoYXJnSW5kZXgpKT4+MildOwogICAgICAgICAgYXJnSW5kZXggKz0gUnVu
dGltZS5nZXRBbGlnblNpemUoJ3ZvaWQqJywgbnVsbCwgdHJ1ZSk7CiAgICAgICAgICBIRUFQMzJb
KChhcmdQdHIpPj4yKV09c29GYXI7CiAgICAgICAgICBmb3JtYXRJbmRleCArPSAyOwogICAgICAg
ICAgY29udGludWU7CiAgICAgICAgfQogIAogICAgICAgIGlmIChmb3JtYXRbZm9ybWF0SW5kZXhd
ID09PSAnJScpIHsKICAgICAgICAgIHZhciBuZXh0QyA9IGZvcm1hdC5pbmRleE9mKCdjJywgZm9y
bWF0SW5kZXgrMSk7CiAgICAgICAgICBpZiAobmV4dEMgPiAwKSB7CiAgICAgICAgICAgIHZhciBt
YXh4ID0gMTsKICAgICAgICAgICAgaWYgKG5leHRDID4gZm9ybWF0SW5kZXgrMSkgewogICAgICAg
ICAgICAgIHZhciBzdWIgPSBmb3JtYXQuc3Vic3RyaW5nKGZvcm1hdEluZGV4KzEsIG5leHRDKTsK
ICAgICAgICAgICAgICBtYXh4ID0gcGFyc2VJbnQoc3ViKTsKICAgICAgICAgICAgICBpZiAobWF4
eCAhPSBzdWIpIG1heHggPSAwOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmIChtYXh4KSB7
CiAgICAgICAgICAgICAgdmFyIGFyZ1B0ciA9IEhFQVAzMlsoKCh2YXJhcmdzKSsoYXJnSW5kZXgp
KT4+MildOwogICAgICAgICAgICAgIGFyZ0luZGV4ICs9IFJ1bnRpbWUuZ2V0QWxpZ25TaXplKCd2
b2lkKicsIG51bGwsIHRydWUpOwogICAgICAgICAgICAgIGZpZWxkcysrOwogICAgICAgICAgICAg
IGZvciAodmFyIGkgPSAwOyBpIDwgbWF4eDsgaSsrKSB7CiAgICAgICAgICAgICAgICBuZXh0ID0g
Z2V0KCk7CiAgICAgICAgICAgICAgICBIRUFQOFsoKGFyZ1B0cisrKXwwKV09bmV4dDsKICAgICAg
ICAgICAgICAgIGlmIChuZXh0ID09PSAwKSByZXR1cm4gaSA+IDAgPyBmaWVsZHMgOiBmaWVsZHMt
MTsgLy8gd2UgZmFpbGVkIHRvIHJlYWQgdGhlIGZ1bGwgbGVuZ3RoIG9mIHRoaXMgZmllbGQKICAg
ICAgICAgICAgICB9CiAgICAgICAgICAgICAgZm9ybWF0SW5kZXggKz0gbmV4dEMgLSBmb3JtYXRJ
bmRleCArIDE7CiAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgIH0KICAgICAgICAg
IH0KICAgICAgICB9CiAgCiAgICAgICAgLy8gaGFuZGxlICVbLi4uXQogICAgICAgIGlmIChmb3Jt
YXRbZm9ybWF0SW5kZXhdID09PSAnJScgJiYgZm9ybWF0LmluZGV4T2YoJ1snLCBmb3JtYXRJbmRl
eCsxKSA+IDApIHsKICAgICAgICAgIHZhciBtYXRjaCA9IC9cJShbMC05XSopXFsoXF4pPyhcXT9b
XlxdXSopXF0vLmV4ZWMoZm9ybWF0LnN1YnN0cmluZyhmb3JtYXRJbmRleCkpOwogICAgICAgICAg
aWYgKG1hdGNoKSB7CiAgICAgICAgICAgIHZhciBtYXhOdW1DaGFyYWN0ZXJzID0gcGFyc2VJbnQo
bWF0Y2hbMV0pIHx8IEluZmluaXR5OwogICAgICAgICAgICB2YXIgbmVnYXRlU2Nhbkxpc3QgPSAo
bWF0Y2hbMl0gPT09ICdeJyk7CiAgICAgICAgICAgIHZhciBzY2FuTGlzdCA9IG1hdGNoWzNdOwog
IAogICAgICAgICAgICAvLyBleHBhbmQgIm1pZGRsZSIgZGFzaHMgaW50byBjaGFyYWN0ZXIgc2V0
cwogICAgICAgICAgICB2YXIgbWlkZGxlRGFzaE1hdGNoOwogICAgICAgICAgICB3aGlsZSAoKG1p
ZGRsZURhc2hNYXRjaCA9IC8oW15cLV0pXC0oW15cLV0pLy5leGVjKHNjYW5MaXN0KSkpIHsKICAg
ICAgICAgICAgICB2YXIgcmFuZ2VTdGFydENoYXJDb2RlID0gbWlkZGxlRGFzaE1hdGNoWzFdLmNo
YXJDb2RlQXQoMCk7CiAgICAgICAgICAgICAgdmFyIHJhbmdlRW5kQ2hhckNvZGUgPSBtaWRkbGVE
YXNoTWF0Y2hbMl0uY2hhckNvZGVBdCgwKTsKICAgICAgICAgICAgICBmb3IgKHZhciBleHBhbmRl
ZCA9ICcnOyByYW5nZVN0YXJ0Q2hhckNvZGUgPD0gcmFuZ2VFbmRDaGFyQ29kZTsgZXhwYW5kZWQg
Kz0gU3RyaW5nLmZyb21DaGFyQ29kZShyYW5nZVN0YXJ0Q2hhckNvZGUrKykpOwogICAgICAgICAg
ICAgIHNjYW5MaXN0ID0gc2Nhbkxpc3QucmVwbGFjZShtaWRkbGVEYXNoTWF0Y2hbMV0gKyAnLScg
KyBtaWRkbGVEYXNoTWF0Y2hbMl0sIGV4cGFuZGVkKTsKICAgICAgICAgICAgfQogIAogICAgICAg
ICAgICB2YXIgYXJnUHRyID0gSEVBUDMyWygoKHZhcmFyZ3MpKyhhcmdJbmRleCkpPj4yKV07CiAg
ICAgICAgICAgIGFyZ0luZGV4ICs9IFJ1bnRpbWUuZ2V0QWxpZ25TaXplKCd2b2lkKicsIG51bGws
IHRydWUpOwogICAgICAgICAgICBmaWVsZHMrKzsKICAKICAgICAgICAgICAgZm9yICh2YXIgaSA9
IDA7IGkgPCBtYXhOdW1DaGFyYWN0ZXJzOyBpKyspIHsKICAgICAgICAgICAgICBuZXh0ID0gZ2V0
KCk7CiAgICAgICAgICAgICAgaWYgKG5lZ2F0ZVNjYW5MaXN0KSB7CiAgICAgICAgICAgICAgICBp
ZiAoc2Nhbkxpc3QuaW5kZXhPZihTdHJpbmcuZnJvbUNoYXJDb2RlKG5leHQpKSA8IDApIHsKICAg
ICAgICAgICAgICAgICAgSEVBUDhbKChhcmdQdHIrKyl8MCldPW5leHQ7CiAgICAgICAgICAgICAg
ICB9IGVsc2UgewogICAgICAgICAgICAgICAgICB1bmdldCgpOwogICAgICAgICAgICAgICAgICBi
cmVhazsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAg
ICAgICAgaWYgKHNjYW5MaXN0LmluZGV4T2YoU3RyaW5nLmZyb21DaGFyQ29kZShuZXh0KSkgPj0g
MCkgewogICAgICAgICAgICAgICAgICBIRUFQOFsoKGFyZ1B0cisrKXwwKV09bmV4dDsKICAgICAg
ICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgIHVuZ2V0KCk7CiAgICAgICAgICAg
ICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIH0KICAgICAgICAg
ICAgfQogIAogICAgICAgICAgICAvLyB3cml0ZSBvdXQgbnVsbC10ZXJtaW5hdGluZyBjaGFyYWN0
ZXIKICAgICAgICAgICAgSEVBUDhbKChhcmdQdHIrKyl8MCldPTA7CiAgICAgICAgICAgIGZvcm1h
dEluZGV4ICs9IG1hdGNoWzBdLmxlbmd0aDsKICAgICAgICAgICAgCiAgICAgICAgICAgIGNvbnRp
bnVlOwogICAgICAgICAgfQogICAgICAgIH0gICAgICAKICAgICAgICAvLyByZW1vdmUgd2hpdGVz
cGFjZQogICAgICAgIHdoaWxlICgxKSB7CiAgICAgICAgICBuZXh0ID0gZ2V0KCk7CiAgICAgICAg
ICBpZiAobmV4dCA9PSAwKSByZXR1cm4gZmllbGRzOwogICAgICAgICAgaWYgKCEobmV4dCBpbiBf
X3NjYW5TdHJpbmcud2hpdGVTcGFjZSkpIGJyZWFrOwogICAgICAgIH0KICAgICAgICB1bmdldCgp
OwogIAogICAgICAgIGlmIChmb3JtYXRbZm9ybWF0SW5kZXhdID09PSAnJScpIHsKICAgICAgICAg
IGZvcm1hdEluZGV4Kys7CiAgICAgICAgICB2YXIgc3VwcHJlc3NBc3NpZ25tZW50ID0gZmFsc2U7
CiAgICAgICAgICBpZiAoZm9ybWF0W2Zvcm1hdEluZGV4XSA9PSAnKicpIHsKICAgICAgICAgICAg
c3VwcHJlc3NBc3NpZ25tZW50ID0gdHJ1ZTsKICAgICAgICAgICAgZm9ybWF0SW5kZXgrKzsKICAg
ICAgICAgIH0KICAgICAgICAgIHZhciBtYXhTcGVjaWZpZXJTdGFydCA9IGZvcm1hdEluZGV4Owog
ICAgICAgICAgd2hpbGUgKGZvcm1hdFtmb3JtYXRJbmRleF0uY2hhckNvZGVBdCgwKSA+PSA0OCAm
JgogICAgICAgICAgICAgICAgIGZvcm1hdFtmb3JtYXRJbmRleF0uY2hhckNvZGVBdCgwKSA8PSA1
NykgewogICAgICAgICAgICBmb3JtYXRJbmRleCsrOwogICAgICAgICAgfQogICAgICAgICAgdmFy
IG1heF87CiAgICAgICAgICBpZiAoZm9ybWF0SW5kZXggIT0gbWF4U3BlY2lmaWVyU3RhcnQpIHsK
ICAgICAgICAgICAgbWF4XyA9IHBhcnNlSW50KGZvcm1hdC5zbGljZShtYXhTcGVjaWZpZXJTdGFy
dCwgZm9ybWF0SW5kZXgpLCAxMCk7CiAgICAgICAgICB9CiAgICAgICAgICB2YXIgbG9uZ18gPSBm
YWxzZTsKICAgICAgICAgIHZhciBoYWxmID0gZmFsc2U7CiAgICAgICAgICB2YXIgbG9uZ0xvbmcg
PSBmYWxzZTsKICAgICAgICAgIGlmIChmb3JtYXRbZm9ybWF0SW5kZXhdID09ICdsJykgewogICAg
ICAgICAgICBsb25nXyA9IHRydWU7CiAgICAgICAgICAgIGZvcm1hdEluZGV4Kys7CiAgICAgICAg
ICAgIGlmIChmb3JtYXRbZm9ybWF0SW5kZXhdID09ICdsJykgewogICAgICAgICAgICAgIGxvbmdM
b25nID0gdHJ1ZTsKICAgICAgICAgICAgICBmb3JtYXRJbmRleCsrOwogICAgICAgICAgICB9CiAg
ICAgICAgICB9IGVsc2UgaWYgKGZvcm1hdFtmb3JtYXRJbmRleF0gPT0gJ2gnKSB7CiAgICAgICAg
ICAgIGhhbGYgPSB0cnVlOwogICAgICAgICAgICBmb3JtYXRJbmRleCsrOwogICAgICAgICAgfQog
ICAgICAgICAgdmFyIHR5cGUgPSBmb3JtYXRbZm9ybWF0SW5kZXhdOwogICAgICAgICAgZm9ybWF0
SW5kZXgrKzsKICAgICAgICAgIHZhciBjdXJyID0gMDsKICAgICAgICAgIHZhciBidWZmZXIgPSBb
XTsKICAgICAgICAgIC8vIFJlYWQgY2hhcmFjdGVycyBhY2NvcmRpbmcgdG8gdGhlIGZvcm1hdC4g
ZmxvYXRzIGFyZSB0cmlja2llciwgdGhleSBtYXkgYmUgaW4gYW4gdW5mbG9hdCBzdGF0ZSBpbiB0
aGUgbWlkZGxlLCB0aGVuIGJlIGEgdmFsaWQgZmxvYXQgbGF0ZXIKICAgICAgICAgIGlmICh0eXBl
ID09ICdmJyB8fCB0eXBlID09ICdlJyB8fCB0eXBlID09ICdnJyB8fAogICAgICAgICAgICAgIHR5
cGUgPT0gJ0YnIHx8IHR5cGUgPT0gJ0UnIHx8IHR5cGUgPT0gJ0cnKSB7CiAgICAgICAgICAgIG5l
eHQgPSBnZXQoKTsKICAgICAgICAgICAgd2hpbGUgKG5leHQgPiAwICYmICghKG5leHQgaW4gX19z
Y2FuU3RyaW5nLndoaXRlU3BhY2UpKSkgIHsKICAgICAgICAgICAgICBidWZmZXIucHVzaChTdHJp
bmcuZnJvbUNoYXJDb2RlKG5leHQpKTsKICAgICAgICAgICAgICBuZXh0ID0gZ2V0KCk7CiAgICAg
ICAgICAgIH0KICAgICAgICAgICAgdmFyIG0gPSBfX2dldEZsb2F0KGJ1ZmZlci5qb2luKCcnKSk7
CiAgICAgICAgICAgIHZhciBsYXN0ID0gbSA/IG1bMF0ubGVuZ3RoIDogMDsKICAgICAgICAgICAg
Zm9yICh2YXIgaSA9IDA7IGkgPCBidWZmZXIubGVuZ3RoIC0gbGFzdCArIDE7IGkrKykgewogICAg
ICAgICAgICAgIHVuZ2V0KCk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgYnVmZmVyLmxlbmd0
aCA9IGxhc3Q7CiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBuZXh0ID0gZ2V0KCk7CiAg
ICAgICAgICAgIHZhciBmaXJzdCA9IHRydWU7CiAgICAgICAgICAgIAogICAgICAgICAgICAvLyBT
dHJpcCB0aGUgb3B0aW9uYWwgMHggcHJlZml4IGZvciAleC4KICAgICAgICAgICAgaWYgKCh0eXBl
ID09ICd4JyB8fCB0eXBlID09ICdYJykgJiYgKG5leHQgPT0gNDgpKSB7CiAgICAgICAgICAgICAg
dmFyIHBlZWsgPSBnZXQoKTsKICAgICAgICAgICAgICBpZiAocGVlayA9PSAxMjAgfHwgcGVlayA9
PSA4OCkgewogICAgICAgICAgICAgICAgbmV4dCA9IGdldCgpOwogICAgICAgICAgICAgIH0gZWxz
ZSB7CiAgICAgICAgICAgICAgICB1bmdldCgpOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAg
fQogICAgICAgICAgICAKICAgICAgICAgICAgd2hpbGUgKChjdXJyIDwgbWF4XyB8fCBpc05hTiht
YXhfKSkgJiYgbmV4dCA+IDApIHsKICAgICAgICAgICAgICBpZiAoIShuZXh0IGluIF9fc2NhblN0
cmluZy53aGl0ZVNwYWNlKSAmJiAvLyBzdG9wIG9uIHdoaXRlc3BhY2UKICAgICAgICAgICAgICAg
ICAgKHR5cGUgPT0gJ3MnIHx8CiAgICAgICAgICAgICAgICAgICAoKHR5cGUgPT09ICdkJyB8fCB0
eXBlID09ICd1JyB8fCB0eXBlID09ICdpJykgJiYgKChuZXh0ID49IDQ4ICYmIG5leHQgPD0gNTcp
IHx8CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIChmaXJzdCAmJiBuZXh0ID09IDQ1KSkpIHx8CiAgICAgICAgICAgICAg
ICAgICAoKHR5cGUgPT09ICd4JyB8fCB0eXBlID09PSAnWCcpICYmIChuZXh0ID49IDQ4ICYmIG5l
eHQgPD0gNTcgfHwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5leHQgPj0g
OTcgJiYgbmV4dCA8PSAxMDIgfHwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IG5leHQgPj0gNjUgJiYgbmV4dCA8PSA3MCkpKSAmJgogICAgICAgICAgICAgICAgICAoZm9ybWF0
SW5kZXggPj0gZm9ybWF0Lmxlbmd0aCB8fCBuZXh0ICE9PSBmb3JtYXRbZm9ybWF0SW5kZXhdLmNo
YXJDb2RlQXQoMCkpKSB7IC8vIFN0b3Agd2hlbiB3ZSByZWFkIHNvbWV0aGluZyB0aGF0IGlzIGNv
bWluZyB1cAogICAgICAgICAgICAgICAgYnVmZmVyLnB1c2goU3RyaW5nLmZyb21DaGFyQ29kZShu
ZXh0KSk7CiAgICAgICAgICAgICAgICBuZXh0ID0gZ2V0KCk7CiAgICAgICAgICAgICAgICBjdXJy
Kys7CiAgICAgICAgICAgICAgICBmaXJzdCA9IGZhbHNlOwogICAgICAgICAgICAgIH0gZWxzZSB7
CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAg
ICAgICAgICAgdW5nZXQoKTsKICAgICAgICAgIH0KICAgICAgICAgIGlmIChidWZmZXIubGVuZ3Ro
ID09PSAwKSByZXR1cm4gMDsgIC8vIEZhaWx1cmUuCiAgICAgICAgICBpZiAoc3VwcHJlc3NBc3Np
Z25tZW50KSBjb250aW51ZTsKICAKICAgICAgICAgIHZhciB0ZXh0ID0gYnVmZmVyLmpvaW4oJycp
OwogICAgICAgICAgdmFyIGFyZ1B0ciA9IEhFQVAzMlsoKCh2YXJhcmdzKSsoYXJnSW5kZXgpKT4+
MildOwogICAgICAgICAgYXJnSW5kZXggKz0gUnVudGltZS5nZXRBbGlnblNpemUoJ3ZvaWQqJywg
bnVsbCwgdHJ1ZSk7CiAgICAgICAgICBzd2l0Y2ggKHR5cGUpIHsKICAgICAgICAgICAgY2FzZSAn
ZCc6IGNhc2UgJ3UnOiBjYXNlICdpJzoKICAgICAgICAgICAgICBpZiAoaGFsZikgewogICAgICAg
ICAgICAgICAgSEVBUDE2WygoYXJnUHRyKT4+MSldPXBhcnNlSW50KHRleHQsIDEwKTsKICAgICAg
ICAgICAgICB9IGVsc2UgaWYgKGxvbmdMb25nKSB7CiAgICAgICAgICAgICAgICAodGVtcEk2NCA9
IFtwYXJzZUludCh0ZXh0LCAxMCk+Pj4wLCh0ZW1wRG91YmxlPXBhcnNlSW50KHRleHQsIDEwKSwo
KyhNYXRoX2Ficyh0ZW1wRG91YmxlKSkpID49ICgrMSkgPyAodGVtcERvdWJsZSA+ICgrMCkgPyAo
KE1hdGhfbWluKCgrKE1hdGhfZmxvb3IoKHRlbXBEb3VibGUpLygrNDI5NDk2NzI5NikpKSksICgr
NDI5NDk2NzI5NSkpKXwwKT4+PjAgOiAofn4oKCsoTWF0aF9jZWlsKCh0ZW1wRG91YmxlIC0gKygo
KH5+KHRlbXBEb3VibGUpKSk+Pj4wKSkvKCs0Mjk0OTY3Mjk2KSkpKSkpPj4+MCkgOiAwKV0sSEVB
UDMyWygoYXJnUHRyKT4+MildPXRlbXBJNjRbMF0sSEVBUDMyWygoKGFyZ1B0cikrKDQpKT4+Mild
PXRlbXBJNjRbMV0pOwogICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBIRUFQ
MzJbKChhcmdQdHIpPj4yKV09cGFyc2VJbnQodGV4dCwgMTApOwogICAgICAgICAgICAgIH0KICAg
ICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSAnWCc6CiAgICAgICAgICAgIGNhc2Ug
J3gnOgogICAgICAgICAgICAgIEhFQVAzMlsoKGFyZ1B0cik+PjIpXT1wYXJzZUludCh0ZXh0LCAx
Nik7CiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgJ0YnOgogICAgICAgICAg
ICBjYXNlICdmJzoKICAgICAgICAgICAgY2FzZSAnRSc6CiAgICAgICAgICAgIGNhc2UgJ2UnOgog
ICAgICAgICAgICBjYXNlICdHJzoKICAgICAgICAgICAgY2FzZSAnZyc6CiAgICAgICAgICAgIGNh
c2UgJ0UnOgogICAgICAgICAgICAgIC8vIGZhbGx0aHJvdWdoIGludGVuZGVkCiAgICAgICAgICAg
ICAgaWYgKGxvbmdfKSB7CiAgICAgICAgICAgICAgICBIRUFQRjY0WygoYXJnUHRyKT4+MyldPXBh
cnNlRmxvYXQodGV4dCk7CiAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIEhF
QVBGMzJbKChhcmdQdHIpPj4yKV09cGFyc2VGbG9hdCh0ZXh0KTsKICAgICAgICAgICAgICB9CiAg
ICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgJ3MnOgogICAgICAgICAgICAgIHZh
ciBhcnJheSA9IGludEFycmF5RnJvbVN0cmluZyh0ZXh0KTsKICAgICAgICAgICAgICBmb3IgKHZh
ciBqID0gMDsgaiA8IGFycmF5Lmxlbmd0aDsgaisrKSB7CiAgICAgICAgICAgICAgICBIRUFQOFso
KChhcmdQdHIpKyhqKSl8MCldPWFycmF5W2pdOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAg
ICBicmVhazsKICAgICAgICAgIH0KICAgICAgICAgIGZpZWxkcysrOwogICAgICAgIH0gZWxzZSBp
ZiAoZm9ybWF0W2Zvcm1hdEluZGV4XS5jaGFyQ29kZUF0KDApIGluIF9fc2NhblN0cmluZy53aGl0
ZVNwYWNlKSB7CiAgICAgICAgICBuZXh0ID0gZ2V0KCk7CiAgICAgICAgICB3aGlsZSAobmV4dCBp
biBfX3NjYW5TdHJpbmcud2hpdGVTcGFjZSkgewogICAgICAgICAgICBpZiAobmV4dCA8PSAwKSBi
cmVhayBtYWluTG9vcDsgIC8vIEVuZCBvZiBpbnB1dC4KICAgICAgICAgICAgbmV4dCA9IGdldCgp
OwogICAgICAgICAgfQogICAgICAgICAgdW5nZXQobmV4dCk7CiAgICAgICAgICBmb3JtYXRJbmRl
eCsrOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAvLyBOb3QgYSBzcGVjaWZpZXIuCiAgICAg
ICAgICBuZXh0ID0gZ2V0KCk7CiAgICAgICAgICBpZiAoZm9ybWF0W2Zvcm1hdEluZGV4XS5jaGFy
Q29kZUF0KDApICE9PSBuZXh0KSB7CiAgICAgICAgICAgIHVuZ2V0KG5leHQpOwogICAgICAgICAg
ICBicmVhayBtYWluTG9vcDsKICAgICAgICAgIH0KICAgICAgICAgIGZvcm1hdEluZGV4Kys7CiAg
ICAgICAgfQogICAgICB9CiAgICAgIHJldHVybiBmaWVsZHM7CiAgICB9ZnVuY3Rpb24gX3NzY2Fu
ZihzLCBmb3JtYXQsIHZhcmFyZ3MpIHsKICAgICAgLy8gaW50IHNzY2FuZihjb25zdCBjaGFyICpy
ZXN0cmljdCBzLCBjb25zdCBjaGFyICpyZXN0cmljdCBmb3JtYXQsIC4uLiApOwogICAgICAvLyBo
dHRwOi8vcHVicy5vcGVuZ3JvdXAub3JnL29ubGluZXB1YnMvMDAwMDk1Mzk5L2Z1bmN0aW9ucy9z
Y2FuZi5odG1sCiAgICAgIHZhciBpbmRleCA9IDA7CiAgICAgIGZ1bmN0aW9uIGdldCgpIHsgcmV0
dXJuIEhFQVA4WygoKHMpKyhpbmRleCsrKSl8MCldOyB9OwogICAgICBmdW5jdGlvbiB1bmdldCgp
IHsgaW5kZXgtLTsgfTsKICAgICAgcmV0dXJuIF9fc2NhblN0cmluZyhmb3JtYXQsIGdldCwgdW5n
ZXQsIHZhcmFyZ3MpOwogICAgfWZ1bmN0aW9uIF92c3NjYW5mKHMsIGZvcm1hdCwgdmFfYXJnKSB7
CiAgICAgIHJldHVybiBfc3NjYW5mKHMsIGZvcm1hdCwgSEVBUDMyWygodmFfYXJnKT4+MildKTsK
ICAgIH0KCgoKICAKICAKICAKICBmdW5jdGlvbiBfcmVjdihmZCwgYnVmLCBsZW4sIGZsYWdzKSB7
CiAgICAgIHZhciBzb2NrID0gU09DS0ZTLmdldFNvY2tldChmZCk7CiAgICAgIGlmICghc29jaykg
ewogICAgICAgIF9fX3NldEVyck5vKEVSUk5PX0NPREVTLkVCQURGKTsKICAgICAgICByZXR1cm4g
LTE7CiAgICAgIH0KICAgICAgLy8gVE9ETyBob25vciBmbGFncwogICAgICByZXR1cm4gX3JlYWQo
ZmQsIGJ1ZiwgbGVuKTsKICAgIH0KICAKICBmdW5jdGlvbiBfcHJlYWQoZmlsZGVzLCBidWYsIG5i
eXRlLCBvZmZzZXQpIHsKICAgICAgLy8gc3NpemVfdCBwcmVhZChpbnQgZmlsZGVzLCB2b2lkICpi
dWYsIHNpemVfdCBuYnl0ZSwgb2ZmX3Qgb2Zmc2V0KTsKICAgICAgLy8gaHR0cDovL3B1YnMub3Bl
bmdyb3VwLm9yZy9vbmxpbmVwdWJzLzAwMDA5NTM5OS9mdW5jdGlvbnMvcmVhZC5odG1sCiAgICAg
IHZhciBzdHJlYW0gPSBGUy5nZXRTdHJlYW0oZmlsZGVzKTsKICAgICAgaWYgKCFzdHJlYW0pIHsK
ICAgICAgICBfX19zZXRFcnJObyhFUlJOT19DT0RFUy5FQkFERik7CiAgICAgICAgcmV0dXJuIC0x
OwogICAgICB9CiAgICAgIHRyeSB7CiAgICAgICAgdmFyIHNsYWIgPSBIRUFQODsKICAgICAgICBy
ZXR1cm4gRlMucmVhZChzdHJlYW0sIHNsYWIsIGJ1ZiwgbmJ5dGUsIG9mZnNldCk7CiAgICAgIH0g
Y2F0Y2ggKGUpIHsKICAgICAgICBGUy5oYW5kbGVGU0Vycm9yKGUpOwogICAgICAgIHJldHVybiAt
MTsKICAgICAgfQogICAgfWZ1bmN0aW9uIF9yZWFkKGZpbGRlcywgYnVmLCBuYnl0ZSkgewogICAg
ICAvLyBzc2l6ZV90IHJlYWQoaW50IGZpbGRlcywgdm9pZCAqYnVmLCBzaXplX3QgbmJ5dGUpOwog
ICAgICAvLyBodHRwOi8vcHVicy5vcGVuZ3JvdXAub3JnL29ubGluZXB1YnMvMDAwMDk1Mzk5L2Z1
bmN0aW9ucy9yZWFkLmh0bWwKICAgICAgdmFyIHN0cmVhbSA9IEZTLmdldFN0cmVhbShmaWxkZXMp
OwogICAgICBpZiAoIXN0cmVhbSkgewogICAgICAgIF9fX3NldEVyck5vKEVSUk5PX0NPREVTLkVC
QURGKTsKICAgICAgICByZXR1cm4gLTE7CiAgICAgIH0KICAKICAKICAgICAgdHJ5IHsKICAgICAg
ICB2YXIgc2xhYiA9IEhFQVA4OwogICAgICAgIHJldHVybiBGUy5yZWFkKHN0cmVhbSwgc2xhYiwg
YnVmLCBuYnl0ZSk7CiAgICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgICBGUy5oYW5kbGVGU0Vycm9y
KGUpOwogICAgICAgIHJldHVybiAtMTsKICAgICAgfQogICAgfWZ1bmN0aW9uIF9mcmVhZChwdHIs
IHNpemUsIG5pdGVtcywgc3RyZWFtKSB7CiAgICAgIC8vIHNpemVfdCBmcmVhZCh2b2lkICpyZXN0
cmljdCBwdHIsIHNpemVfdCBzaXplLCBzaXplX3Qgbml0ZW1zLCBGSUxFICpyZXN0cmljdCBzdHJl
YW0pOwogICAgICAvLyBodHRwOi8vcHVicy5vcGVuZ3JvdXAub3JnL29ubGluZXB1YnMvMDAwMDk1
Mzk5L2Z1bmN0aW9ucy9mcmVhZC5odG1sCiAgICAgIHZhciBieXRlc1RvUmVhZCA9IG5pdGVtcyAq
IHNpemU7CiAgICAgIGlmIChieXRlc1RvUmVhZCA9PSAwKSB7CiAgICAgICAgcmV0dXJuIDA7CiAg
ICAgIH0KICAgICAgdmFyIGJ5dGVzUmVhZCA9IDA7CiAgICAgIHZhciBzdHJlYW1PYmogPSBGUy5n
ZXRTdHJlYW1Gcm9tUHRyKHN0cmVhbSk7CiAgICAgIGlmICghc3RyZWFtT2JqKSB7CiAgICAgICAg
X19fc2V0RXJyTm8oRVJSTk9fQ09ERVMuRUJBREYpOwogICAgICAgIHJldHVybiAwOwogICAgICB9
CiAgICAgIHdoaWxlIChzdHJlYW1PYmoudW5nb3R0ZW4ubGVuZ3RoICYmIGJ5dGVzVG9SZWFkID4g
MCkgewogICAgICAgIEhFQVA4WygocHRyKyspfDApXT1zdHJlYW1PYmoudW5nb3R0ZW4ucG9wKCk7
CiAgICAgICAgYnl0ZXNUb1JlYWQtLTsKICAgICAgICBieXRlc1JlYWQrKzsKICAgICAgfQogICAg
ICB2YXIgZXJyID0gX3JlYWQoc3RyZWFtT2JqLmZkLCBwdHIsIGJ5dGVzVG9SZWFkKTsKICAgICAg
aWYgKGVyciA9PSAtMSkgewogICAgICAgIGlmIChzdHJlYW1PYmopIHN0cmVhbU9iai5lcnJvciA9
IHRydWU7CiAgICAgICAgcmV0dXJuIDA7CiAgICAgIH0KICAgICAgYnl0ZXNSZWFkICs9IGVycjsK
ICAgICAgaWYgKGJ5dGVzUmVhZCA8IGJ5dGVzVG9SZWFkKSBzdHJlYW1PYmouZW9mID0gdHJ1ZTsK
ICAgICAgcmV0dXJuIE1hdGguZmxvb3IoYnl0ZXNSZWFkIC8gc2l6ZSk7CiAgICB9ZnVuY3Rpb24g
X2ZnZXRjKHN0cmVhbSkgewogICAgICAvLyBpbnQgZmdldGMoRklMRSAqc3RyZWFtKTsKICAgICAg
Ly8gaHR0cDovL3B1YnMub3Blbmdyb3VwLm9yZy9vbmxpbmVwdWJzLzAwMDA5NTM5OS9mdW5jdGlv
bnMvZmdldGMuaHRtbAogICAgICB2YXIgc3RyZWFtT2JqID0gRlMuZ2V0U3RyZWFtRnJvbVB0cihz
dHJlYW0pOwogICAgICBpZiAoIXN0cmVhbU9iaikgcmV0dXJuIC0xOwogICAgICBpZiAoc3RyZWFt
T2JqLmVvZiB8fCBzdHJlYW1PYmouZXJyb3IpIHJldHVybiAtMTsKICAgICAgdmFyIHJldCA9IF9m
cmVhZChfZmdldGMucmV0LCAxLCAxLCBzdHJlYW0pOwogICAgICBpZiAocmV0ID09IDApIHsKICAg
ICAgICByZXR1cm4gLTE7CiAgICAgIH0gZWxzZSBpZiAocmV0ID09IC0xKSB7CiAgICAgICAgc3Ry
ZWFtT2JqLmVycm9yID0gdHJ1ZTsKICAgICAgICByZXR1cm4gLTE7CiAgICAgIH0gZWxzZSB7CiAg
ICAgICAgcmV0dXJuIEhFQVBVOFsoKF9mZ2V0Yy5yZXQpfDApXTsKICAgICAgfQogICAgfQoKICAg
CiAgTW9kdWxlWyJfbWVtc2V0Il0gPSBfbWVtc2V0OwoKICAKICBmdW5jdGlvbiBfc3RyZXJyb3Jf
cihlcnJudW0sIHN0cmVycmJ1ZiwgYnVmbGVuKSB7CiAgICAgIGlmIChlcnJudW0gaW4gRVJSTk9f
TUVTU0FHRVMpIHsKICAgICAgICBpZiAoRVJSTk9fTUVTU0FHRVNbZXJybnVtXS5sZW5ndGggPiBi
dWZsZW4gLSAxKSB7CiAgICAgICAgICByZXR1cm4gX19fc2V0RXJyTm8oRVJSTk9fQ09ERVMuRVJB
TkdFKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgdmFyIG1zZyA9IEVSUk5PX01FU1NBR0VT
W2Vycm51bV07CiAgICAgICAgICB3cml0ZUFzY2lpVG9NZW1vcnkobXNnLCBzdHJlcnJidWYpOwog
ICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgfQogICAgICB9IGVsc2UgewogICAgICAgIHJldHVy
biBfX19zZXRFcnJObyhFUlJOT19DT0RFUy5FSU5WQUwpOwogICAgICB9CiAgICB9ZnVuY3Rpb24g
X3N0cmVycm9yKGVycm51bSkgewogICAgICBpZiAoIV9zdHJlcnJvci5idWZmZXIpIF9zdHJlcnJv
ci5idWZmZXIgPSBfbWFsbG9jKDI1Nik7CiAgICAgIF9zdHJlcnJvcl9yKGVycm51bSwgX3N0cmVy
cm9yLmJ1ZmZlciwgMjU2KTsKICAgICAgcmV0dXJuIF9zdHJlcnJvci5idWZmZXI7CiAgICB9Cgog
IHZhciBfbG9nZj1NYXRoX2xvZzsKCgogIGZ1bmN0aW9uIF9hYm9ydCgpIHsKICAgICAgTW9kdWxl
WydhYm9ydCddKCk7CiAgICB9CgoKICBmdW5jdGlvbiBfcHRocmVhZF9jb25kX3dhaXQoKSB7CiAg
ICAgIHJldHVybiAwOwogICAgfQoKICAKICBmdW5jdGlvbiBfaXNkaWdpdChjaHIpIHsKICAgICAg
cmV0dXJuIGNociA+PSA0OCAmJiBjaHIgPD0gNTc7CiAgICB9ZnVuY3Rpb24gX2lzZGlnaXRfbChj
aHIpIHsKICAgICAgcmV0dXJuIF9pc2RpZ2l0KGNocik7IC8vIG5vIGxvY2FsZSBzdXBwb3J0IHll
dAogICAgfQoKICAKICBmdW5jdGlvbiBfZXhwMih4KSB7CiAgICAgIHJldHVybiBNYXRoLnBvdygy
LCB4KTsKICAgIH12YXIgX2V4cDJmPV9leHAyOwoKICB2YXIgX2ZhYnM9TWF0aF9hYnM7CgogIHZh
ciBfZ2V0Yz1fZmdldGM7CgogIHZhciBCcm93c2VyPXttYWluTG9vcDp7c2NoZWR1bGVyOm51bGws
bWV0aG9kOiIiLHNob3VsZFBhdXNlOmZhbHNlLHBhdXNlZDpmYWxzZSxxdWV1ZTpbXSxwYXVzZTpm
dW5jdGlvbiAoKSB7CiAgICAgICAgICBCcm93c2VyLm1haW5Mb29wLnNob3VsZFBhdXNlID0gdHJ1
ZTsKICAgICAgICB9LHJlc3VtZTpmdW5jdGlvbiAoKSB7CiAgICAgICAgICBpZiAoQnJvd3Nlci5t
YWluTG9vcC5wYXVzZWQpIHsKICAgICAgICAgICAgQnJvd3Nlci5tYWluTG9vcC5wYXVzZWQgPSBm
YWxzZTsKICAgICAgICAgICAgQnJvd3Nlci5tYWluTG9vcC5zY2hlZHVsZXIoKTsKICAgICAgICAg
IH0KICAgICAgICAgIEJyb3dzZXIubWFpbkxvb3Auc2hvdWxkUGF1c2UgPSBmYWxzZTsKICAgICAg
ICB9LHVwZGF0ZVN0YXR1czpmdW5jdGlvbiAoKSB7CiAgICAgICAgICBpZiAoTW9kdWxlWydzZXRT
dGF0dXMnXSkgewogICAgICAgICAgICB2YXIgbWVzc2FnZSA9IE1vZHVsZVsnc3RhdHVzTWVzc2Fn
ZSddIHx8ICdQbGVhc2Ugd2FpdC4uLic7CiAgICAgICAgICAgIHZhciByZW1haW5pbmcgPSBCcm93
c2VyLm1haW5Mb29wLnJlbWFpbmluZ0Jsb2NrZXJzOwogICAgICAgICAgICB2YXIgZXhwZWN0ZWQg
PSBCcm93c2VyLm1haW5Mb29wLmV4cGVjdGVkQmxvY2tlcnM7CiAgICAgICAgICAgIGlmIChyZW1h
aW5pbmcpIHsKICAgICAgICAgICAgICBpZiAocmVtYWluaW5nIDwgZXhwZWN0ZWQpIHsKICAgICAg
ICAgICAgICAgIE1vZHVsZVsnc2V0U3RhdHVzJ10obWVzc2FnZSArICcgKCcgKyAoZXhwZWN0ZWQg
LSByZW1haW5pbmcpICsgJy8nICsgZXhwZWN0ZWQgKyAnKScpOwogICAgICAgICAgICAgIH0gZWxz
ZSB7CiAgICAgICAgICAgICAgICBNb2R1bGVbJ3NldFN0YXR1cyddKG1lc3NhZ2UpOwogICAgICAg
ICAgICAgIH0KICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICBNb2R1bGVbJ3NldFN0
YXR1cyddKCcnKTsKICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIH19LGlzRnVsbFNj
cmVlbjpmYWxzZSxwb2ludGVyTG9jazpmYWxzZSxtb2R1bGVDb250ZXh0Q3JlYXRlZENhbGxiYWNr
czpbXSx3b3JrZXJzOltdLGluaXQ6ZnVuY3Rpb24gKCkgewogICAgICAgIGlmICghTW9kdWxlWyJw
cmVsb2FkUGx1Z2lucyJdKSBNb2R1bGVbInByZWxvYWRQbHVnaW5zIl0gPSBbXTsgLy8gbmVlZHMg
dG8gZXhpc3QgZXZlbiBpbiB3b3JrZXJzCiAgCiAgICAgICAgaWYgKEJyb3dzZXIuaW5pdHRlZCB8
fCBFTlZJUk9OTUVOVF9JU19XT1JLRVIpIHJldHVybjsKICAgICAgICBCcm93c2VyLmluaXR0ZWQg
PSB0cnVlOwogIAogICAgICAgIHRyeSB7CiAgICAgICAgICBuZXcgQmxvYigpOwogICAgICAgICAg
QnJvd3Nlci5oYXNCbG9iQ29uc3RydWN0b3IgPSB0cnVlOwogICAgICAgIH0gY2F0Y2goZSkgewog
ICAgICAgICAgQnJvd3Nlci5oYXNCbG9iQ29uc3RydWN0b3IgPSBmYWxzZTsKICAgICAgICAgIGNv
bnNvbGUubG9nKCJ3YXJuaW5nOiBubyBibG9iIGNvbnN0cnVjdG9yLCBjYW5ub3QgY3JlYXRlIGJs
b2JzIHdpdGggbWltZXR5cGVzIik7CiAgICAgICAgfQogICAgICAgIEJyb3dzZXIuQmxvYkJ1aWxk
ZXIgPSB0eXBlb2YgTW96QmxvYkJ1aWxkZXIgIT0gInVuZGVmaW5lZCIgPyBNb3pCbG9iQnVpbGRl
ciA6ICh0eXBlb2YgV2ViS2l0QmxvYkJ1aWxkZXIgIT0gInVuZGVmaW5lZCIgPyBXZWJLaXRCbG9i
QnVpbGRlciA6ICghQnJvd3Nlci5oYXNCbG9iQ29uc3RydWN0b3IgPyBjb25zb2xlLmxvZygid2Fy
bmluZzogbm8gQmxvYkJ1aWxkZXIiKSA6IG51bGwpKTsKICAgICAgICBCcm93c2VyLlVSTE9iamVj
dCA9IHR5cGVvZiB3aW5kb3cgIT0gInVuZGVmaW5lZCIgPyAod2luZG93LlVSTCA/IHdpbmRvdy5V
UkwgOiB3aW5kb3cud2Via2l0VVJMKSA6IHVuZGVmaW5lZDsKICAgICAgICBpZiAoIU1vZHVsZS5u
b0ltYWdlRGVjb2RpbmcgJiYgdHlwZW9mIEJyb3dzZXIuVVJMT2JqZWN0ID09PSAndW5kZWZpbmVk
JykgewogICAgICAgICAgY29uc29sZS5sb2coIndhcm5pbmc6IEJyb3dzZXIgZG9lcyBub3Qgc3Vw
cG9ydCBjcmVhdGluZyBvYmplY3QgVVJMcy4gQnVpbHQtaW4gYnJvd3NlciBpbWFnZSBkZWNvZGlu
ZyB3aWxsIG5vdCBiZSBhdmFpbGFibGUuIik7CiAgICAgICAgICBNb2R1bGUubm9JbWFnZURlY29k
aW5nID0gdHJ1ZTsKICAgICAgICB9CiAgCiAgICAgICAgLy8gU3VwcG9ydCBmb3IgcGx1Z2lucyB0
aGF0IGNhbiBwcm9jZXNzIHByZWxvYWRlZCBmaWxlcy4gWW91IGNhbiBhZGQgbW9yZSBvZiB0aGVz
ZSB0bwogICAgICAgIC8vIHlvdXIgYXBwIGJ5IGNyZWF0aW5nIGFuZCBhcHBlbmRpbmcgdG8gTW9k
dWxlLnByZWxvYWRQbHVnaW5zLgogICAgICAgIC8vCiAgICAgICAgLy8gRWFjaCBwbHVnaW4gaXMg
YXNrZWQgaWYgaXQgY2FuIGhhbmRsZSBhIGZpbGUgYmFzZWQgb24gdGhlIGZpbGUncyBuYW1lLiBJ
ZiBpdCBjYW4sCiAgICAgICAgLy8gaXQgaXMgZ2l2ZW4gdGhlIGZpbGUncyByYXcgZGF0YS4gV2hl
biBpdCBpcyBkb25lLCBpdCBjYWxscyBhIGNhbGxiYWNrIHdpdGggdGhlIGZpbGUncwogICAgICAg
IC8vIChwb3NzaWJseSBtb2RpZmllZCkgZGF0YS4gRm9yIGV4YW1wbGUsIGEgcGx1Z2luIG1pZ2h0
IGRlY29tcHJlc3MgYSBmaWxlLCBvciBpdAogICAgICAgIC8vIG1pZ2h0IGNyZWF0ZSBzb21lIHNp
ZGUgZGF0YSBzdHJ1Y3R1cmUgZm9yIHVzZSBsYXRlciAobGlrZSBhbiBJbWFnZSBlbGVtZW50LCBl
dGMuKS4KICAKICAgICAgICB2YXIgaW1hZ2VQbHVnaW4gPSB7fTsKICAgICAgICBpbWFnZVBsdWdp
blsnY2FuSGFuZGxlJ10gPSBmdW5jdGlvbiBpbWFnZVBsdWdpbl9jYW5IYW5kbGUobmFtZSkgewog
ICAgICAgICAgcmV0dXJuICFNb2R1bGUubm9JbWFnZURlY29kaW5nICYmIC9cLihqcGd8anBlZ3xw
bmd8Ym1wKSQvaS50ZXN0KG5hbWUpOwogICAgICAgIH07CiAgICAgICAgaW1hZ2VQbHVnaW5bJ2hh
bmRsZSddID0gZnVuY3Rpb24gaW1hZ2VQbHVnaW5faGFuZGxlKGJ5dGVBcnJheSwgbmFtZSwgb25s
b2FkLCBvbmVycm9yKSB7CiAgICAgICAgICB2YXIgYiA9IG51bGw7CiAgICAgICAgICBpZiAoQnJv
d3Nlci5oYXNCbG9iQ29uc3RydWN0b3IpIHsKICAgICAgICAgICAgdHJ5IHsKICAgICAgICAgICAg
ICBiID0gbmV3IEJsb2IoW2J5dGVBcnJheV0sIHsgdHlwZTogQnJvd3Nlci5nZXRNaW1ldHlwZShu
YW1lKSB9KTsKICAgICAgICAgICAgICBpZiAoYi5zaXplICE9PSBieXRlQXJyYXkubGVuZ3RoKSB7
IC8vIFNhZmFyaSBidWcgIzExODYzMAogICAgICAgICAgICAgICAgLy8gU2FmYXJpJ3MgQmxvYiBj
YW4gb25seSB0YWtlIGFuIEFycmF5QnVmZmVyCiAgICAgICAgICAgICAgICBiID0gbmV3IEJsb2Io
WyhuZXcgVWludDhBcnJheShieXRlQXJyYXkpKS5idWZmZXJdLCB7IHR5cGU6IEJyb3dzZXIuZ2V0
TWltZXR5cGUobmFtZSkgfSk7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IGNhdGNoKGUp
IHsKICAgICAgICAgICAgICBSdW50aW1lLndhcm5PbmNlKCdCbG9iIGNvbnN0cnVjdG9yIHByZXNl
bnQgYnV0IGZhaWxzOiAnICsgZSArICc7IGZhbGxpbmcgYmFjayB0byBibG9iIGJ1aWxkZXInKTsK
ICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgICAgaWYgKCFiKSB7CiAgICAgICAgICAg
IHZhciBiYiA9IG5ldyBCcm93c2VyLkJsb2JCdWlsZGVyKCk7CiAgICAgICAgICAgIGJiLmFwcGVu
ZCgobmV3IFVpbnQ4QXJyYXkoYnl0ZUFycmF5KSkuYnVmZmVyKTsgLy8gd2UgbmVlZCB0byBwYXNz
IGEgYnVmZmVyLCBhbmQgbXVzdCBjb3B5IHRoZSBhcnJheSB0byBnZXQgdGhlIHJpZ2h0IGRhdGEg
cmFuZ2UKICAgICAgICAgICAgYiA9IGJiLmdldEJsb2IoKTsKICAgICAgICAgIH0KICAgICAgICAg
IHZhciB1cmwgPSBCcm93c2VyLlVSTE9iamVjdC5jcmVhdGVPYmplY3RVUkwoYik7CiAgICAgICAg
ICB2YXIgaW1nID0gbmV3IEltYWdlKCk7CiAgICAgICAgICBpbWcub25sb2FkID0gZnVuY3Rpb24g
aW1nX29ubG9hZCgpIHsKICAgICAgICAgICAgYXNzZXJ0KGltZy5jb21wbGV0ZSwgJ0ltYWdlICcg
KyBuYW1lICsgJyBjb3VsZCBub3QgYmUgZGVjb2RlZCcpOwogICAgICAgICAgICB2YXIgY2FudmFz
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnY2FudmFzJyk7CiAgICAgICAgICAgIGNhbnZhcy53
aWR0aCA9IGltZy53aWR0aDsKICAgICAgICAgICAgY2FudmFzLmhlaWdodCA9IGltZy5oZWlnaHQ7
CiAgICAgICAgICAgIHZhciBjdHggPSBjYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKICAgICAgICAg
ICAgY3R4LmRyYXdJbWFnZShpbWcsIDAsIDApOwogICAgICAgICAgICBNb2R1bGVbInByZWxvYWRl
ZEltYWdlcyJdW25hbWVdID0gY2FudmFzOwogICAgICAgICAgICBCcm93c2VyLlVSTE9iamVjdC5y
ZXZva2VPYmplY3RVUkwodXJsKTsKICAgICAgICAgICAgaWYgKG9ubG9hZCkgb25sb2FkKGJ5dGVB
cnJheSk7CiAgICAgICAgICB9OwogICAgICAgICAgaW1nLm9uZXJyb3IgPSBmdW5jdGlvbiBpbWdf
b25lcnJvcihldmVudCkgewogICAgICAgICAgICBjb25zb2xlLmxvZygnSW1hZ2UgJyArIHVybCAr
ICcgY291bGQgbm90IGJlIGRlY29kZWQnKTsKICAgICAgICAgICAgaWYgKG9uZXJyb3IpIG9uZXJy
b3IoKTsKICAgICAgICAgIH07CiAgICAgICAgICBpbWcuc3JjID0gdXJsOwogICAgICAgIH07CiAg
ICAgICAgTW9kdWxlWydwcmVsb2FkUGx1Z2lucyddLnB1c2goaW1hZ2VQbHVnaW4pOwogIAogICAg
ICAgIHZhciBhdWRpb1BsdWdpbiA9IHt9OwogICAgICAgIGF1ZGlvUGx1Z2luWydjYW5IYW5kbGUn
XSA9IGZ1bmN0aW9uIGF1ZGlvUGx1Z2luX2NhbkhhbmRsZShuYW1lKSB7CiAgICAgICAgICByZXR1
cm4gIU1vZHVsZS5ub0F1ZGlvRGVjb2RpbmcgJiYgbmFtZS5zdWJzdHIoLTQpIGluIHsgJy5vZ2cn
OiAxLCAnLndhdic6IDEsICcubXAzJzogMSB9OwogICAgICAgIH07CiAgICAgICAgYXVkaW9QbHVn
aW5bJ2hhbmRsZSddID0gZnVuY3Rpb24gYXVkaW9QbHVnaW5faGFuZGxlKGJ5dGVBcnJheSwgbmFt
ZSwgb25sb2FkLCBvbmVycm9yKSB7CiAgICAgICAgICB2YXIgZG9uZSA9IGZhbHNlOwogICAgICAg
ICAgZnVuY3Rpb24gZmluaXNoKGF1ZGlvKSB7CiAgICAgICAgICAgIGlmIChkb25lKSByZXR1cm47
CiAgICAgICAgICAgIGRvbmUgPSB0cnVlOwogICAgICAgICAgICBNb2R1bGVbInByZWxvYWRlZEF1
ZGlvcyJdW25hbWVdID0gYXVkaW87CiAgICAgICAgICAgIGlmIChvbmxvYWQpIG9ubG9hZChieXRl
QXJyYXkpOwogICAgICAgICAgfQogICAgICAgICAgZnVuY3Rpb24gZmFpbCgpIHsKICAgICAgICAg
ICAgaWYgKGRvbmUpIHJldHVybjsKICAgICAgICAgICAgZG9uZSA9IHRydWU7CiAgICAgICAgICAg
IE1vZHVsZVsicHJlbG9hZGVkQXVkaW9zIl1bbmFtZV0gPSBuZXcgQXVkaW8oKTsgLy8gZW1wdHkg
c2hpbQogICAgICAgICAgICBpZiAob25lcnJvcikgb25lcnJvcigpOwogICAgICAgICAgfQogICAg
ICAgICAgaWYgKEJyb3dzZXIuaGFzQmxvYkNvbnN0cnVjdG9yKSB7CiAgICAgICAgICAgIHRyeSB7
CiAgICAgICAgICAgICAgdmFyIGIgPSBuZXcgQmxvYihbYnl0ZUFycmF5XSwgeyB0eXBlOiBCcm93
c2VyLmdldE1pbWV0eXBlKG5hbWUpIH0pOwogICAgICAgICAgICB9IGNhdGNoKGUpIHsKICAgICAg
ICAgICAgICByZXR1cm4gZmFpbCgpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHZhciB1cmwg
PSBCcm93c2VyLlVSTE9iamVjdC5jcmVhdGVPYmplY3RVUkwoYik7IC8vIFhYWCB3ZSBuZXZlciBy
ZXZva2UgdGhpcyEKICAgICAgICAgICAgdmFyIGF1ZGlvID0gbmV3IEF1ZGlvKCk7CiAgICAgICAg
ICAgIGF1ZGlvLmFkZEV2ZW50TGlzdGVuZXIoJ2NhbnBsYXl0aHJvdWdoJywgZnVuY3Rpb24oKSB7
IGZpbmlzaChhdWRpbykgfSwgZmFsc2UpOyAvLyB1c2UgYWRkRXZlbnRMaXN0ZW5lciBkdWUgdG8g
Y2hyb21pdW0gYnVnIDEyNDkyNgogICAgICAgICAgICBhdWRpby5vbmVycm9yID0gZnVuY3Rpb24g
YXVkaW9fb25lcnJvcihldmVudCkgewogICAgICAgICAgICAgIGlmIChkb25lKSByZXR1cm47CiAg
ICAgICAgICAgICAgY29uc29sZS5sb2coJ3dhcm5pbmc6IGJyb3dzZXIgY291bGQgbm90IGZ1bGx5
IGRlY29kZSBhdWRpbyAnICsgbmFtZSArICcsIHRyeWluZyBzbG93ZXIgYmFzZTY0IGFwcHJvYWNo
Jyk7CiAgICAgICAgICAgICAgZnVuY3Rpb24gZW5jb2RlNjQoZGF0YSkgewogICAgICAgICAgICAg
ICAgdmFyIEJBU0UgPSAnQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9w
cXJzdHV2d3h5ejAxMjM0NTY3ODkrLyc7CiAgICAgICAgICAgICAgICB2YXIgUEFEID0gJz0nOwog
ICAgICAgICAgICAgICAgdmFyIHJldCA9ICcnOwogICAgICAgICAgICAgICAgdmFyIGxlZnRjaGFy
ID0gMDsKICAgICAgICAgICAgICAgIHZhciBsZWZ0Yml0cyA9IDA7CiAgICAgICAgICAgICAgICBm
b3IgKHZhciBpID0gMDsgaSA8IGRhdGEubGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgICAgICAg
bGVmdGNoYXIgPSAobGVmdGNoYXIgPDwgOCkgfCBkYXRhW2ldOwogICAgICAgICAgICAgICAgICBs
ZWZ0Yml0cyArPSA4OwogICAgICAgICAgICAgICAgICB3aGlsZSAobGVmdGJpdHMgPj0gNikgewog
ICAgICAgICAgICAgICAgICAgIHZhciBjdXJyID0gKGxlZnRjaGFyID4+IChsZWZ0Yml0cy02KSkg
JiAweDNmOwogICAgICAgICAgICAgICAgICAgIGxlZnRiaXRzIC09IDY7CiAgICAgICAgICAgICAg
ICAgICAgcmV0ICs9IEJBU0VbY3Vycl07CiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAg
ICAgIH0KICAgICAgICAgICAgICAgIGlmIChsZWZ0Yml0cyA9PSAyKSB7CiAgICAgICAgICAgICAg
ICAgIHJldCArPSBCQVNFWyhsZWZ0Y2hhciYzKSA8PCA0XTsKICAgICAgICAgICAgICAgICAgcmV0
ICs9IFBBRCArIFBBRDsKICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAobGVmdGJpdHMgPT0gNCkg
ewogICAgICAgICAgICAgICAgICByZXQgKz0gQkFTRVsobGVmdGNoYXImMHhmKSA8PCAyXTsKICAg
ICAgICAgICAgICAgICAgcmV0ICs9IFBBRDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAg
ICAgIHJldHVybiByZXQ7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIGF1ZGlvLnNyYyA9
ICdkYXRhOmF1ZGlvL3gtJyArIG5hbWUuc3Vic3RyKC0zKSArICc7YmFzZTY0LCcgKyBlbmNvZGU2
NChieXRlQXJyYXkpOwogICAgICAgICAgICAgIGZpbmlzaChhdWRpbyk7IC8vIHdlIGRvbid0IHdh
aXQgZm9yIGNvbmZpcm1hdGlvbiB0aGlzIHdvcmtlZCAtIGJ1dCBpdCdzIHdvcnRoIHRyeWluZwog
ICAgICAgICAgICB9OwogICAgICAgICAgICBhdWRpby5zcmMgPSB1cmw7CiAgICAgICAgICAgIC8v
IHdvcmthcm91bmQgZm9yIGNocm9tZSBidWcgMTI0OTI2IC0gd2UgZG8gbm90IGFsd2F5cyBnZXQg
b25jYW5wbGF5dGhyb3VnaCBvciBvbmVycm9yCiAgICAgICAgICAgIEJyb3dzZXIuc2FmZVNldFRp
bWVvdXQoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgZmluaXNoKGF1ZGlvKTsgLy8gdHJ5IHRv
IHVzZSBpdCBldmVuIHRob3VnaCBpdCBpcyBub3QgbmVjZXNzYXJpbHkgcmVhZHkgdG8gcGxheQog
ICAgICAgICAgICB9LCAxMDAwMCk7CiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICByZXR1
cm4gZmFpbCgpOwogICAgICAgICAgfQogICAgICAgIH07CiAgICAgICAgTW9kdWxlWydwcmVsb2Fk
UGx1Z2lucyddLnB1c2goYXVkaW9QbHVnaW4pOwogIAogICAgICAgIC8vIENhbnZhcyBldmVudCBz
ZXR1cAogIAogICAgICAgIHZhciBjYW52YXMgPSBNb2R1bGVbJ2NhbnZhcyddOwogICAgICAgIAog
ICAgICAgIC8vIGZvcmNlZCBhc3BlY3QgcmF0aW8gY2FuIGJlIGVuYWJsZWQgYnkgZGVmaW5pbmcg
J2ZvcmNlZEFzcGVjdFJhdGlvJyBvbiBNb2R1bGUKICAgICAgICAvLyBNb2R1bGVbJ2ZvcmNlZEFz
cGVjdFJhdGlvJ10gPSA0IC8gMzsKICAgICAgICAKICAgICAgICBjYW52YXMucmVxdWVzdFBvaW50
ZXJMb2NrID0gY2FudmFzWydyZXF1ZXN0UG9pbnRlckxvY2snXSB8fAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjYW52YXNbJ21velJlcXVlc3RQb2ludGVyTG9jayddIHx8CiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhbnZhc1snd2Via2l0UmVxdWVzdFBv
aW50ZXJMb2NrJ10gfHwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FudmFz
Wydtc1JlcXVlc3RQb2ludGVyTG9jayddIHx8CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGZ1bmN0aW9uKCl7fTsKICAgICAgICBjYW52YXMuZXhpdFBvaW50ZXJMb2NrID0gZG9j
dW1lbnRbJ2V4aXRQb2ludGVyTG9jayddIHx8CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGRvY3VtZW50Wydtb3pFeGl0UG9pbnRlckxvY2snXSB8fAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBkb2N1bWVudFsnd2Via2l0RXhpdFBvaW50ZXJMb2NrJ10gfHwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnRbJ21zRXhpdFBvaW50ZXJMb2NrJ10g
fHwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24oKXt9OyAvLyBuby1v
cCBpZiBmdW5jdGlvbiBkb2VzIG5vdCBleGlzdAogICAgICAgIGNhbnZhcy5leGl0UG9pbnRlckxv
Y2sgPSBjYW52YXMuZXhpdFBvaW50ZXJMb2NrLmJpbmQoZG9jdW1lbnQpOwogIAogICAgICAgIGZ1
bmN0aW9uIHBvaW50ZXJMb2NrQ2hhbmdlKCkgewogICAgICAgICAgQnJvd3Nlci5wb2ludGVyTG9j
ayA9IGRvY3VtZW50Wydwb2ludGVyTG9ja0VsZW1lbnQnXSA9PT0gY2FudmFzIHx8CiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnRbJ21velBvaW50ZXJMb2NrRWxlbWVudCdd
ID09PSBjYW52YXMgfHwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb2N1bWVudFsn
d2Via2l0UG9pbnRlckxvY2tFbGVtZW50J10gPT09IGNhbnZhcyB8fAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGRvY3VtZW50Wydtc1BvaW50ZXJMb2NrRWxlbWVudCddID09PSBjYW52
YXM7CiAgICAgICAgfQogIAogICAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3BvaW50
ZXJsb2NrY2hhbmdlJywgcG9pbnRlckxvY2tDaGFuZ2UsIGZhbHNlKTsKICAgICAgICBkb2N1bWVu
dC5hZGRFdmVudExpc3RlbmVyKCdtb3pwb2ludGVybG9ja2NoYW5nZScsIHBvaW50ZXJMb2NrQ2hh
bmdlLCBmYWxzZSk7CiAgICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignd2Via2l0cG9p
bnRlcmxvY2tjaGFuZ2UnLCBwb2ludGVyTG9ja0NoYW5nZSwgZmFsc2UpOwogICAgICAgIGRvY3Vt
ZW50LmFkZEV2ZW50TGlzdGVuZXIoJ21zcG9pbnRlcmxvY2tjaGFuZ2UnLCBwb2ludGVyTG9ja0No
YW5nZSwgZmFsc2UpOwogIAogICAgICAgIGlmIChNb2R1bGVbJ2VsZW1lbnRQb2ludGVyTG9jaydd
KSB7CiAgICAgICAgICBjYW52YXMuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBmdW5jdGlvbihl
dikgewogICAgICAgICAgICBpZiAoIUJyb3dzZXIucG9pbnRlckxvY2sgJiYgY2FudmFzLnJlcXVl
c3RQb2ludGVyTG9jaykgewogICAgICAgICAgICAgIGNhbnZhcy5yZXF1ZXN0UG9pbnRlckxvY2so
KTsKICAgICAgICAgICAgICBldi5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICB9CiAgICAg
ICAgICB9LCBmYWxzZSk7CiAgICAgICAgfQogICAgICB9LGNyZWF0ZUNvbnRleHQ6ZnVuY3Rpb24g
KGNhbnZhcywgdXNlV2ViR0wsIHNldEluTW9kdWxlLCB3ZWJHTENvbnRleHRBdHRyaWJ1dGVzKSB7
CiAgICAgICAgdmFyIGN0eDsKICAgICAgICB2YXIgZXJyb3JJbmZvID0gJz8nOwogICAgICAgIGZ1
bmN0aW9uIG9uQ29udGV4dENyZWF0aW9uRXJyb3IoZXZlbnQpIHsKICAgICAgICAgIGVycm9ySW5m
byA9IGV2ZW50LnN0YXR1c01lc3NhZ2UgfHwgZXJyb3JJbmZvOwogICAgICAgIH0KICAgICAgICB0
cnkgewogICAgICAgICAgaWYgKHVzZVdlYkdMKSB7CiAgICAgICAgICAgIHZhciBjb250ZXh0QXR0
cmlidXRlcyA9IHsKICAgICAgICAgICAgICBhbnRpYWxpYXM6IGZhbHNlLAogICAgICAgICAgICAg
IGFscGhhOiBmYWxzZQogICAgICAgICAgICB9OwogIAogICAgICAgICAgICBpZiAod2ViR0xDb250
ZXh0QXR0cmlidXRlcykgewogICAgICAgICAgICAgIGZvciAodmFyIGF0dHJpYnV0ZSBpbiB3ZWJH
TENvbnRleHRBdHRyaWJ1dGVzKSB7CiAgICAgICAgICAgICAgICBjb250ZXh0QXR0cmlidXRlc1th
dHRyaWJ1dGVdID0gd2ViR0xDb250ZXh0QXR0cmlidXRlc1thdHRyaWJ1dGVdOwogICAgICAgICAg
ICAgIH0KICAgICAgICAgICAgfQogIAogIAogICAgICAgICAgICBjYW52YXMuYWRkRXZlbnRMaXN0
ZW5lcignd2ViZ2xjb250ZXh0Y3JlYXRpb25lcnJvcicsIG9uQ29udGV4dENyZWF0aW9uRXJyb3Is
IGZhbHNlKTsKICAgICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgICBbJ2V4cGVyaW1lbnRhbC13
ZWJnbCcsICd3ZWJnbCddLnNvbWUoZnVuY3Rpb24od2ViZ2xJZCkgewogICAgICAgICAgICAgICAg
cmV0dXJuIGN0eCA9IGNhbnZhcy5nZXRDb250ZXh0KHdlYmdsSWQsIGNvbnRleHRBdHRyaWJ1dGVz
KTsKICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgfSBmaW5hbGx5IHsKICAgICAgICAgICAg
ICBjYW52YXMucmVtb3ZlRXZlbnRMaXN0ZW5lcignd2ViZ2xjb250ZXh0Y3JlYXRpb25lcnJvcics
IG9uQ29udGV4dENyZWF0aW9uRXJyb3IsIGZhbHNlKTsKICAgICAgICAgICAgfQogICAgICAgICAg
fSBlbHNlIHsKICAgICAgICAgICAgY3R4ID0gY2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAgICAg
ICAgICB9CiAgICAgICAgICBpZiAoIWN0eCkgdGhyb3cgJzooJzsKICAgICAgICB9IGNhdGNoIChl
KSB7CiAgICAgICAgICBNb2R1bGUucHJpbnQoJ0NvdWxkIG5vdCBjcmVhdGUgY2FudmFzOiAnICsg
W2Vycm9ySW5mbywgZV0pOwogICAgICAgICAgcmV0dXJuIG51bGw7CiAgICAgICAgfQogICAgICAg
IGlmICh1c2VXZWJHTCkgewogICAgICAgICAgLy8gU2V0IHRoZSBiYWNrZ3JvdW5kIG9mIHRoZSBX
ZWJHTCBjYW52YXMgdG8gYmxhY2sKICAgICAgICAgIGNhbnZhcy5zdHlsZS5iYWNrZ3JvdW5kQ29s
b3IgPSAiYmxhY2siOwogIAogICAgICAgICAgLy8gV2FybiBvbiBjb250ZXh0IGxvc3MKICAgICAg
ICAgIGNhbnZhcy5hZGRFdmVudExpc3RlbmVyKCd3ZWJnbGNvbnRleHRsb3N0JywgZnVuY3Rpb24o
ZXZlbnQpIHsKICAgICAgICAgICAgYWxlcnQoJ1dlYkdMIGNvbnRleHQgbG9zdC4gWW91IHdpbGwg
bmVlZCB0byByZWxvYWQgdGhlIHBhZ2UuJyk7CiAgICAgICAgICB9LCBmYWxzZSk7CiAgICAgICAg
fQogICAgICAgIGlmIChzZXRJbk1vZHVsZSkgewogICAgICAgICAgR0xjdHggPSBNb2R1bGUuY3R4
ID0gY3R4OwogICAgICAgICAgTW9kdWxlLnVzZVdlYkdMID0gdXNlV2ViR0w7CiAgICAgICAgICBC
cm93c2VyLm1vZHVsZUNvbnRleHRDcmVhdGVkQ2FsbGJhY2tzLmZvckVhY2goZnVuY3Rpb24oY2Fs
bGJhY2spIHsgY2FsbGJhY2soKSB9KTsKICAgICAgICAgIEJyb3dzZXIuaW5pdCgpOwogICAgICAg
IH0KICAgICAgICByZXR1cm4gY3R4OwogICAgICB9LGRlc3Ryb3lDb250ZXh0OmZ1bmN0aW9uIChj
YW52YXMsIHVzZVdlYkdMLCBzZXRJbk1vZHVsZSkge30sZnVsbFNjcmVlbkhhbmRsZXJzSW5zdGFs
bGVkOmZhbHNlLGxvY2tQb2ludGVyOnVuZGVmaW5lZCxyZXNpemVDYW52YXM6dW5kZWZpbmVkLHJl
cXVlc3RGdWxsU2NyZWVuOmZ1bmN0aW9uIChsb2NrUG9pbnRlciwgcmVzaXplQ2FudmFzKSB7CiAg
ICAgICAgQnJvd3Nlci5sb2NrUG9pbnRlciA9IGxvY2tQb2ludGVyOwogICAgICAgIEJyb3dzZXIu
cmVzaXplQ2FudmFzID0gcmVzaXplQ2FudmFzOwogICAgICAgIGlmICh0eXBlb2YgQnJvd3Nlci5s
b2NrUG9pbnRlciA9PT0gJ3VuZGVmaW5lZCcpIEJyb3dzZXIubG9ja1BvaW50ZXIgPSB0cnVlOwog
ICAgICAgIGlmICh0eXBlb2YgQnJvd3Nlci5yZXNpemVDYW52YXMgPT09ICd1bmRlZmluZWQnKSBC
cm93c2VyLnJlc2l6ZUNhbnZhcyA9IGZhbHNlOwogIAogICAgICAgIHZhciBjYW52YXMgPSBNb2R1
bGVbJ2NhbnZhcyddOwogICAgICAgIGZ1bmN0aW9uIGZ1bGxTY3JlZW5DaGFuZ2UoKSB7CiAgICAg
ICAgICBCcm93c2VyLmlzRnVsbFNjcmVlbiA9IGZhbHNlOwogICAgICAgICAgdmFyIGNhbnZhc0Nv
bnRhaW5lciA9IGNhbnZhcy5wYXJlbnROb2RlOwogICAgICAgICAgaWYgKChkb2N1bWVudFsnd2Vi
a2l0RnVsbFNjcmVlbkVsZW1lbnQnXSB8fCBkb2N1bWVudFsnd2Via2l0RnVsbHNjcmVlbkVsZW1l
bnQnXSB8fAogICAgICAgICAgICAgICBkb2N1bWVudFsnbW96RnVsbFNjcmVlbkVsZW1lbnQnXSB8
fCBkb2N1bWVudFsnbW96RnVsbHNjcmVlbkVsZW1lbnQnXSB8fAogICAgICAgICAgICAgICBkb2N1
bWVudFsnZnVsbFNjcmVlbkVsZW1lbnQnXSB8fCBkb2N1bWVudFsnZnVsbHNjcmVlbkVsZW1lbnQn
XSB8fAogICAgICAgICAgICAgICBkb2N1bWVudFsnbXNGdWxsU2NyZWVuRWxlbWVudCddIHx8IGRv
Y3VtZW50Wydtc0Z1bGxzY3JlZW5FbGVtZW50J10gfHwKICAgICAgICAgICAgICAgZG9jdW1lbnRb
J3dlYmtpdEN1cnJlbnRGdWxsU2NyZWVuRWxlbWVudCddKSA9PT0gY2FudmFzQ29udGFpbmVyKSB7
CiAgICAgICAgICAgIGNhbnZhcy5jYW5jZWxGdWxsU2NyZWVuID0gZG9jdW1lbnRbJ2NhbmNlbEZ1
bGxTY3JlZW4nXSB8fAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvY3Vt
ZW50Wydtb3pDYW5jZWxGdWxsU2NyZWVuJ10gfHwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBkb2N1bWVudFsnd2Via2l0Q2FuY2VsRnVsbFNjcmVlbiddIHx8CiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnRbJ21zRXhpdEZ1bGxzY3JlZW4n
XSB8fAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvY3VtZW50WydleGl0
RnVsbHNjcmVlbiddIHx8CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVu
Y3Rpb24oKSB7fTsKICAgICAgICAgICAgY2FudmFzLmNhbmNlbEZ1bGxTY3JlZW4gPSBjYW52YXMu
Y2FuY2VsRnVsbFNjcmVlbi5iaW5kKGRvY3VtZW50KTsKICAgICAgICAgICAgaWYgKEJyb3dzZXIu
bG9ja1BvaW50ZXIpIGNhbnZhcy5yZXF1ZXN0UG9pbnRlckxvY2soKTsKICAgICAgICAgICAgQnJv
d3Nlci5pc0Z1bGxTY3JlZW4gPSB0cnVlOwogICAgICAgICAgICBpZiAoQnJvd3Nlci5yZXNpemVD
YW52YXMpIEJyb3dzZXIuc2V0RnVsbFNjcmVlbkNhbnZhc1NpemUoKTsKICAgICAgICAgIH0gZWxz
ZSB7CiAgICAgICAgICAgIAogICAgICAgICAgICAvLyByZW1vdmUgdGhlIGZ1bGwgc2NyZWVuIHNw
ZWNpZmljIHBhcmVudCBvZiB0aGUgY2FudmFzIGFnYWluIHRvIHJlc3RvcmUgdGhlIEhUTUwgc3Ry
dWN0dXJlIGZyb20gYmVmb3JlIGdvaW5nIGZ1bGwgc2NyZWVuCiAgICAgICAgICAgIGNhbnZhc0Nv
bnRhaW5lci5wYXJlbnROb2RlLmluc2VydEJlZm9yZShjYW52YXMsIGNhbnZhc0NvbnRhaW5lcik7
CiAgICAgICAgICAgIGNhbnZhc0NvbnRhaW5lci5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGNhbnZh
c0NvbnRhaW5lcik7CiAgICAgICAgICAgIAogICAgICAgICAgICBpZiAoQnJvd3Nlci5yZXNpemVD
YW52YXMpIEJyb3dzZXIuc2V0V2luZG93ZWRDYW52YXNTaXplKCk7CiAgICAgICAgICB9CiAgICAg
ICAgICBpZiAoTW9kdWxlWydvbkZ1bGxTY3JlZW4nXSkgTW9kdWxlWydvbkZ1bGxTY3JlZW4nXShC
cm93c2VyLmlzRnVsbFNjcmVlbik7CiAgICAgICAgICBCcm93c2VyLnVwZGF0ZUNhbnZhc0RpbWVu
c2lvbnMoY2FudmFzKTsKICAgICAgICB9CiAgCiAgICAgICAgaWYgKCFCcm93c2VyLmZ1bGxTY3Jl
ZW5IYW5kbGVyc0luc3RhbGxlZCkgewogICAgICAgICAgQnJvd3Nlci5mdWxsU2NyZWVuSGFuZGxl
cnNJbnN0YWxsZWQgPSB0cnVlOwogICAgICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcign
ZnVsbHNjcmVlbmNoYW5nZScsIGZ1bGxTY3JlZW5DaGFuZ2UsIGZhbHNlKTsKICAgICAgICAgIGRv
Y3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ21vemZ1bGxzY3JlZW5jaGFuZ2UnLCBmdWxsU2NyZWVu
Q2hhbmdlLCBmYWxzZSk7CiAgICAgICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCd3ZWJr
aXRmdWxsc2NyZWVuY2hhbmdlJywgZnVsbFNjcmVlbkNoYW5nZSwgZmFsc2UpOwogICAgICAgICAg
ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignTVNGdWxsc2NyZWVuQ2hhbmdlJywgZnVsbFNjcmVl
bkNoYW5nZSwgZmFsc2UpOwogICAgICAgIH0KICAKICAgICAgICAvLyBjcmVhdGUgYSBuZXcgcGFy
ZW50IHRvIGVuc3VyZSB0aGUgY2FudmFzIGhhcyBubyBzaWJsaW5ncy4gdGhpcyBhbGxvd3MgYnJv
d3NlcnMgdG8gb3B0aW1pemUgZnVsbCBzY3JlZW4gcGVyZm9ybWFuY2Ugd2hlbiBpdHMgcGFyZW50
IGlzIHRoZSBmdWxsIHNjcmVlbiByb290CiAgICAgICAgdmFyIGNhbnZhc0NvbnRhaW5lciA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwogICAgICAgIGNhbnZhcy5wYXJlbnROb2RlLmlu
c2VydEJlZm9yZShjYW52YXNDb250YWluZXIsIGNhbnZhcyk7CiAgICAgICAgY2FudmFzQ29udGFp
bmVyLmFwcGVuZENoaWxkKGNhbnZhcyk7CiAgICAgICAgCiAgICAgICAgLy8gdXNlIHBhcmVudCBv
ZiBjYW52YXMgYXMgZnVsbCBzY3JlZW4gcm9vdCB0byBhbGxvdyBhc3BlY3QgcmF0aW8gY29ycmVj
dGlvbiAoRmlyZWZveCBzdHJldGNoZXMgdGhlIHJvb3QgdG8gc2NyZWVuIHNpemUpCiAgICAgICAg
Y2FudmFzQ29udGFpbmVyLnJlcXVlc3RGdWxsU2NyZWVuID0gY2FudmFzQ29udGFpbmVyWydyZXF1
ZXN0RnVsbFNjcmVlbiddIHx8CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY2FudmFzQ29udGFpbmVyWydtb3pSZXF1ZXN0RnVsbFNjcmVlbiddIHx8CiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FudmFzQ29udGFpbmVyWydtc1Jl
cXVlc3RGdWxsc2NyZWVuJ10gfHwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIChjYW52YXNDb250YWluZXJbJ3dlYmtpdFJlcXVlc3RGdWxsU2NyZWVuJ10gPyBmdW5j
dGlvbigpIHsgY2FudmFzQ29udGFpbmVyWyd3ZWJraXRSZXF1ZXN0RnVsbFNjcmVlbiddKEVsZW1l
bnRbJ0FMTE9XX0tFWUJPQVJEX0lOUFVUJ10pIH0gOiBudWxsKTsKICAgICAgICBjYW52YXNDb250
YWluZXIucmVxdWVzdEZ1bGxTY3JlZW4oKTsKICAgICAgfSxyZXF1ZXN0QW5pbWF0aW9uRnJhbWU6
ZnVuY3Rpb24gcmVxdWVzdEFuaW1hdGlvbkZyYW1lKGZ1bmMpIHsKICAgICAgICBpZiAodHlwZW9m
IHdpbmRvdyA9PT0gJ3VuZGVmaW5lZCcpIHsgLy8gUHJvdmlkZSBmYWxsYmFjayB0byBzZXRUaW1l
b3V0IGlmIHdpbmRvdyBpcyB1bmRlZmluZWQgKGUuZy4gaW4gTm9kZS5qcykKICAgICAgICAgIHNl
dFRpbWVvdXQoZnVuYywgMTAwMC82MCk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIGlmICgh
d2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZSkgewogICAgICAgICAgICB3aW5kb3cucmVxdWVz
dEFuaW1hdGlvbkZyYW1lID0gd2luZG93WydyZXF1ZXN0QW5pbWF0aW9uRnJhbWUnXSB8fAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2luZG93Wydtb3pSZXF1ZXN0
QW5pbWF0aW9uRnJhbWUnXSB8fAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgd2luZG93Wyd3ZWJraXRSZXF1ZXN0QW5pbWF0aW9uRnJhbWUnXSB8fAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2luZG93Wydtc1JlcXVlc3RBbmltYXRp
b25GcmFtZSddIHx8CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3
aW5kb3dbJ29SZXF1ZXN0QW5pbWF0aW9uRnJhbWUnXSB8fAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgd2luZG93WydzZXRUaW1lb3V0J107CiAgICAgICAgICB9CiAg
ICAgICAgICB3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKGZ1bmMpOwogICAgICAgIH0KICAg
ICAgfSxzYWZlQ2FsbGJhY2s6ZnVuY3Rpb24gKGZ1bmMpIHsKICAgICAgICByZXR1cm4gZnVuY3Rp
b24oKSB7CiAgICAgICAgICBpZiAoIUFCT1JUKSByZXR1cm4gZnVuYy5hcHBseShudWxsLCBhcmd1
bWVudHMpOwogICAgICAgIH07CiAgICAgIH0sc2FmZVJlcXVlc3RBbmltYXRpb25GcmFtZTpmdW5j
dGlvbiAoZnVuYykgewogICAgICAgIHJldHVybiBCcm93c2VyLnJlcXVlc3RBbmltYXRpb25GcmFt
ZShmdW5jdGlvbigpIHsKICAgICAgICAgIGlmICghQUJPUlQpIGZ1bmMoKTsKICAgICAgICB9KTsK
ICAgICAgfSxzYWZlU2V0VGltZW91dDpmdW5jdGlvbiAoZnVuYywgdGltZW91dCkgewogICAgICAg
IHJldHVybiBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewogICAgICAgICAgaWYgKCFBQk9SVCkgZnVu
YygpOwogICAgICAgIH0sIHRpbWVvdXQpOwogICAgICB9LHNhZmVTZXRJbnRlcnZhbDpmdW5jdGlv
biAoZnVuYywgdGltZW91dCkgewogICAgICAgIHJldHVybiBzZXRJbnRlcnZhbChmdW5jdGlvbigp
IHsKICAgICAgICAgIGlmICghQUJPUlQpIGZ1bmMoKTsKICAgICAgICB9LCB0aW1lb3V0KTsKICAg
ICAgfSxnZXRNaW1ldHlwZTpmdW5jdGlvbiAobmFtZSkgewogICAgICAgIHJldHVybiB7CiAgICAg
ICAgICAnanBnJzogJ2ltYWdlL2pwZWcnLAogICAgICAgICAgJ2pwZWcnOiAnaW1hZ2UvanBlZycs
CiAgICAgICAgICAncG5nJzogJ2ltYWdlL3BuZycsCiAgICAgICAgICAnYm1wJzogJ2ltYWdlL2Jt
cCcsCiAgICAgICAgICAnb2dnJzogJ2F1ZGlvL29nZycsCiAgICAgICAgICAnd2F2JzogJ2F1ZGlv
L3dhdicsCiAgICAgICAgICAnbXAzJzogJ2F1ZGlvL21wZWcnCiAgICAgICAgfVtuYW1lLnN1YnN0
cihuYW1lLmxhc3RJbmRleE9mKCcuJykrMSldOwogICAgICB9LGdldFVzZXJNZWRpYTpmdW5jdGlv
biAoZnVuYykgewogICAgICAgIGlmKCF3aW5kb3cuZ2V0VXNlck1lZGlhKSB7CiAgICAgICAgICB3
aW5kb3cuZ2V0VXNlck1lZGlhID0gbmF2aWdhdG9yWydnZXRVc2VyTWVkaWEnXSB8fAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIG5hdmlnYXRvclsnbW96R2V0VXNlck1lZGlhJ107CiAg
ICAgICAgfQogICAgICAgIHdpbmRvdy5nZXRVc2VyTWVkaWEoZnVuYyk7CiAgICAgIH0sZ2V0TW92
ZW1lbnRYOmZ1bmN0aW9uIChldmVudCkgewogICAgICAgIHJldHVybiBldmVudFsnbW92ZW1lbnRY
J10gfHwKICAgICAgICAgICAgICAgZXZlbnRbJ21vek1vdmVtZW50WCddIHx8CiAgICAgICAgICAg
ICAgIGV2ZW50Wyd3ZWJraXRNb3ZlbWVudFgnXSB8fAogICAgICAgICAgICAgICAwOwogICAgICB9
LGdldE1vdmVtZW50WTpmdW5jdGlvbiAoZXZlbnQpIHsKICAgICAgICByZXR1cm4gZXZlbnRbJ21v
dmVtZW50WSddIHx8CiAgICAgICAgICAgICAgIGV2ZW50Wydtb3pNb3ZlbWVudFknXSB8fAogICAg
ICAgICAgICAgICBldmVudFsnd2Via2l0TW92ZW1lbnRZJ10gfHwKICAgICAgICAgICAgICAgMDsK
ICAgICAgfSxnZXRNb3VzZVdoZWVsRGVsdGE6ZnVuY3Rpb24gKGV2ZW50KSB7CiAgICAgICAgcmV0
dXJuIE1hdGgubWF4KC0xLCBNYXRoLm1pbigxLCBldmVudC50eXBlID09PSAnRE9NTW91c2VTY3Jv
bGwnID8gZXZlbnQuZGV0YWlsIDogLWV2ZW50LndoZWVsRGVsdGEpKTsKICAgICAgfSxtb3VzZVg6
MCxtb3VzZVk6MCxtb3VzZU1vdmVtZW50WDowLG1vdXNlTW92ZW1lbnRZOjAsdG91Y2hlczp7fSxs
YXN0VG91Y2hlczp7fSxjYWxjdWxhdGVNb3VzZUV2ZW50OmZ1bmN0aW9uIChldmVudCkgeyAvLyBl
dmVudCBzaG91bGQgYmUgbW91c2Vtb3ZlLCBtb3VzZWRvd24gb3IgbW91c2V1cAogICAgICAgIGlm
IChCcm93c2VyLnBvaW50ZXJMb2NrKSB7CiAgICAgICAgICAvLyBXaGVuIHRoZSBwb2ludGVyIGlz
IGxvY2tlZCwgY2FsY3VsYXRlIHRoZSBjb29yZGluYXRlcwogICAgICAgICAgLy8gYmFzZWQgb24g
dGhlIG1vdmVtZW50IG9mIHRoZSBtb3VzZS4KICAgICAgICAgIC8vIFdvcmthcm91bmQgZm9yIEZp
cmVmb3ggYnVnIDc2NDQ5OAogICAgICAgICAgaWYgKGV2ZW50LnR5cGUgIT0gJ21vdXNlbW92ZScg
JiYKICAgICAgICAgICAgICAoJ21vek1vdmVtZW50WCcgaW4gZXZlbnQpKSB7CiAgICAgICAgICAg
IEJyb3dzZXIubW91c2VNb3ZlbWVudFggPSBCcm93c2VyLm1vdXNlTW92ZW1lbnRZID0gMDsKICAg
ICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIEJyb3dzZXIubW91c2VNb3ZlbWVudFggPSBCcm93
c2VyLmdldE1vdmVtZW50WChldmVudCk7CiAgICAgICAgICAgIEJyb3dzZXIubW91c2VNb3ZlbWVu
dFkgPSBCcm93c2VyLmdldE1vdmVtZW50WShldmVudCk7CiAgICAgICAgICB9CiAgICAgICAgICAK
ICAgICAgICAgIC8vIGNoZWNrIGlmIFNETCBpcyBhdmFpbGFibGUKICAgICAgICAgIGlmICh0eXBl
b2YgU0RMICE9ICJ1bmRlZmluZWQiKSB7CiAgICAgICAgICAJQnJvd3Nlci5tb3VzZVggPSBTREwu
bW91c2VYICsgQnJvd3Nlci5tb3VzZU1vdmVtZW50WDsKICAgICAgICAgIAlCcm93c2VyLm1vdXNl
WSA9IFNETC5tb3VzZVkgKyBCcm93c2VyLm1vdXNlTW92ZW1lbnRZOwogICAgICAgICAgfSBlbHNl
IHsKICAgICAgICAgIAkvLyBqdXN0IGFkZCB0aGUgbW91c2UgZGVsdGEgdG8gdGhlIGN1cnJlbnQg
YWJzb2x1dCBtb3VzZSBwb3NpdGlvbgogICAgICAgICAgCS8vIEZJWE1FOiBpZGVhbGx5IHRoaXMg
c2hvdWxkIGJlIGNsYW1wZWQgYWdhaW5zdCB0aGUgY2FudmFzIHNpemUgYW5kIHplcm8KICAgICAg
ICAgIAlCcm93c2VyLm1vdXNlWCArPSBCcm93c2VyLm1vdXNlTW92ZW1lbnRYOwogICAgICAgICAg
CUJyb3dzZXIubW91c2VZICs9IEJyb3dzZXIubW91c2VNb3ZlbWVudFk7CiAgICAgICAgICB9ICAg
ICAgICAKICAgICAgICB9IGVsc2UgewogICAgICAgICAgLy8gT3RoZXJ3aXNlLCBjYWxjdWxhdGUg
dGhlIG1vdmVtZW50IGJhc2VkIG9uIHRoZSBjaGFuZ2VzCiAgICAgICAgICAvLyBpbiB0aGUgY29v
cmRpbmF0ZXMuCiAgICAgICAgICB2YXIgcmVjdCA9IE1vZHVsZVsiY2FudmFzIl0uZ2V0Qm91bmRp
bmdDbGllbnRSZWN0KCk7CiAgICAgICAgICB2YXIgY3cgPSBNb2R1bGVbImNhbnZhcyJdLndpZHRo
OwogICAgICAgICAgdmFyIGNoID0gTW9kdWxlWyJjYW52YXMiXS5oZWlnaHQ7CiAgCiAgICAgICAg
ICAvLyBOZWl0aGVyIC5zY3JvbGxYIG9yIC5wYWdlWE9mZnNldCBhcmUgZGVmaW5lZCBpbiBhIHNw
ZWMsIGJ1dAogICAgICAgICAgLy8gd2UgcHJlZmVyIC5zY3JvbGxYIGJlY2F1c2UgaXQgaXMgY3Vy
cmVudGx5IGluIGEgc3BlYyBkcmFmdC4KICAgICAgICAgIC8vIChzZWU6IGh0dHA6Ly93d3cudzMu
b3JnL1RSLzIwMTMvV0QtY3Nzb20tdmlldy0yMDEzMTIxNy8pCiAgICAgICAgICB2YXIgc2Nyb2xs
WCA9ICgodHlwZW9mIHdpbmRvdy5zY3JvbGxYICE9PSAndW5kZWZpbmVkJykgPyB3aW5kb3cuc2Ny
b2xsWCA6IHdpbmRvdy5wYWdlWE9mZnNldCk7CiAgICAgICAgICB2YXIgc2Nyb2xsWSA9ICgodHlw
ZW9mIHdpbmRvdy5zY3JvbGxZICE9PSAndW5kZWZpbmVkJykgPyB3aW5kb3cuc2Nyb2xsWSA6IHdp
bmRvdy5wYWdlWU9mZnNldCk7CiAgCiAgICAgICAgICBpZiAoZXZlbnQudHlwZSA9PT0gJ3RvdWNo
c3RhcnQnIHx8IGV2ZW50LnR5cGUgPT09ICd0b3VjaGVuZCcgfHwgZXZlbnQudHlwZSA9PT0gJ3Rv
dWNobW92ZScpIHsKICAgICAgICAgICAgdmFyIHRvdWNoID0gZXZlbnQudG91Y2g7CiAgICAgICAg
ICAgIGlmICh0b3VjaCA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgICAgICAgcmV0dXJuOyAvLyB0
aGUgInRvdWNoIiBwcm9wZXJ0eSBpcyBvbmx5IGRlZmluZWQgaW4gU0RMCiAgCiAgICAgICAgICAg
IH0KICAgICAgICAgICAgdmFyIGFkanVzdGVkWCA9IHRvdWNoLnBhZ2VYIC0gKHNjcm9sbFggKyBy
ZWN0LmxlZnQpOwogICAgICAgICAgICB2YXIgYWRqdXN0ZWRZID0gdG91Y2gucGFnZVkgLSAoc2Ny
b2xsWSArIHJlY3QudG9wKTsKICAKICAgICAgICAgICAgYWRqdXN0ZWRYID0gYWRqdXN0ZWRYICog
KGN3IC8gcmVjdC53aWR0aCk7CiAgICAgICAgICAgIGFkanVzdGVkWSA9IGFkanVzdGVkWSAqIChj
aCAvIHJlY3QuaGVpZ2h0KTsKICAKICAgICAgICAgICAgdmFyIGNvb3JkcyA9IHsgeDogYWRqdXN0
ZWRYLCB5OiBhZGp1c3RlZFkgfTsKICAgICAgICAgICAgCiAgICAgICAgICAgIGlmIChldmVudC50
eXBlID09PSAndG91Y2hzdGFydCcpIHsKICAgICAgICAgICAgICBCcm93c2VyLmxhc3RUb3VjaGVz
W3RvdWNoLmlkZW50aWZpZXJdID0gY29vcmRzOwogICAgICAgICAgICAgIEJyb3dzZXIudG91Y2hl
c1t0b3VjaC5pZGVudGlmaWVyXSA9IGNvb3JkczsKICAgICAgICAgICAgfSBlbHNlIGlmIChldmVu
dC50eXBlID09PSAndG91Y2hlbmQnIHx8IGV2ZW50LnR5cGUgPT09ICd0b3VjaG1vdmUnKSB7CiAg
ICAgICAgICAgICAgQnJvd3Nlci5sYXN0VG91Y2hlc1t0b3VjaC5pZGVudGlmaWVyXSA9IEJyb3dz
ZXIudG91Y2hlc1t0b3VjaC5pZGVudGlmaWVyXTsKICAgICAgICAgICAgICBCcm93c2VyLnRvdWNo
ZXNbdG91Y2guaWRlbnRpZmllcl0gPSB7IHg6IGFkanVzdGVkWCwgeTogYWRqdXN0ZWRZIH07CiAg
ICAgICAgICAgIH0gCiAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgIH0KICAKICAgICAgICAg
IHZhciB4ID0gZXZlbnQucGFnZVggLSAoc2Nyb2xsWCArIHJlY3QubGVmdCk7CiAgICAgICAgICB2
YXIgeSA9IGV2ZW50LnBhZ2VZIC0gKHNjcm9sbFkgKyByZWN0LnRvcCk7CiAgCiAgICAgICAgICAv
LyB0aGUgY2FudmFzIG1pZ2h0IGJlIENTUy1zY2FsZWQgY29tcGFyZWQgdG8gaXRzIGJhY2tidWZm
ZXI7CiAgICAgICAgICAvLyBTREwtdXNpbmcgY29udGVudCB3aWxsIHdhbnQgbW91c2UgY29vcmRp
bmF0ZXMgaW4gdGVybXMKICAgICAgICAgIC8vIG9mIGJhY2tidWZmZXIgdW5pdHMuCiAgICAgICAg
ICB4ID0geCAqIChjdyAvIHJlY3Qud2lkdGgpOwogICAgICAgICAgeSA9IHkgKiAoY2ggLyByZWN0
LmhlaWdodCk7CiAgCiAgICAgICAgICBCcm93c2VyLm1vdXNlTW92ZW1lbnRYID0geCAtIEJyb3dz
ZXIubW91c2VYOwogICAgICAgICAgQnJvd3Nlci5tb3VzZU1vdmVtZW50WSA9IHkgLSBCcm93c2Vy
Lm1vdXNlWTsKICAgICAgICAgIEJyb3dzZXIubW91c2VYID0geDsKICAgICAgICAgIEJyb3dzZXIu
bW91c2VZID0geTsKICAgICAgICB9CiAgICAgIH0seGhyTG9hZDpmdW5jdGlvbiAodXJsLCBvbmxv
YWQsIG9uZXJyb3IpIHsKICAgICAgICB2YXIgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CiAg
ICAgICAgeGhyLm9wZW4oJ0dFVCcsIHVybCwgdHJ1ZSk7CiAgICAgICAgeGhyLnJlc3BvbnNlVHlw
ZSA9ICdhcnJheWJ1ZmZlcic7CiAgICAgICAgeGhyLm9ubG9hZCA9IGZ1bmN0aW9uIHhocl9vbmxv
YWQoKSB7CiAgICAgICAgICBpZiAoeGhyLnN0YXR1cyA9PSAyMDAgfHwgKHhoci5zdGF0dXMgPT0g
MCAmJiB4aHIucmVzcG9uc2UpKSB7IC8vIGZpbGUgVVJMcyBjYW4gcmV0dXJuIDAKICAgICAgICAg
ICAgb25sb2FkKHhoci5yZXNwb25zZSk7CiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBv
bmVycm9yKCk7CiAgICAgICAgICB9CiAgICAgICAgfTsKICAgICAgICB4aHIub25lcnJvciA9IG9u
ZXJyb3I7CiAgICAgICAgeGhyLnNlbmQobnVsbCk7CiAgICAgIH0sYXN5bmNMb2FkOmZ1bmN0aW9u
ICh1cmwsIG9ubG9hZCwgb25lcnJvciwgbm9SdW5EZXApIHsKICAgICAgICBCcm93c2VyLnhockxv
YWQodXJsLCBmdW5jdGlvbihhcnJheUJ1ZmZlcikgewogICAgICAgICAgYXNzZXJ0KGFycmF5QnVm
ZmVyLCAnTG9hZGluZyBkYXRhIGZpbGUgIicgKyB1cmwgKyAnIiBmYWlsZWQgKG5vIGFycmF5QnVm
ZmVyKS4nKTsKICAgICAgICAgIG9ubG9hZChuZXcgVWludDhBcnJheShhcnJheUJ1ZmZlcikpOwog
ICAgICAgICAgaWYgKCFub1J1bkRlcCkgcmVtb3ZlUnVuRGVwZW5kZW5jeSgnYWwgJyArIHVybCk7
CiAgICAgICAgfSwgZnVuY3Rpb24oZXZlbnQpIHsKICAgICAgICAgIGlmIChvbmVycm9yKSB7CiAg
ICAgICAgICAgIG9uZXJyb3IoKTsKICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHRocm93
ICdMb2FkaW5nIGRhdGEgZmlsZSAiJyArIHVybCArICciIGZhaWxlZC4nOwogICAgICAgICAgfQog
ICAgICAgIH0pOwogICAgICAgIGlmICghbm9SdW5EZXApIGFkZFJ1bkRlcGVuZGVuY3koJ2FsICcg
KyB1cmwpOwogICAgICB9LHJlc2l6ZUxpc3RlbmVyczpbXSx1cGRhdGVSZXNpemVMaXN0ZW5lcnM6
ZnVuY3Rpb24gKCkgewogICAgICAgIHZhciBjYW52YXMgPSBNb2R1bGVbJ2NhbnZhcyddOwogICAg
ICAgIEJyb3dzZXIucmVzaXplTGlzdGVuZXJzLmZvckVhY2goZnVuY3Rpb24obGlzdGVuZXIpIHsK
ICAgICAgICAgIGxpc3RlbmVyKGNhbnZhcy53aWR0aCwgY2FudmFzLmhlaWdodCk7CiAgICAgICAg
fSk7CiAgICAgIH0sc2V0Q2FudmFzU2l6ZTpmdW5jdGlvbiAod2lkdGgsIGhlaWdodCwgbm9VcGRh
dGVzKSB7CiAgICAgICAgdmFyIGNhbnZhcyA9IE1vZHVsZVsnY2FudmFzJ107CiAgICAgICAgQnJv
d3Nlci51cGRhdGVDYW52YXNEaW1lbnNpb25zKGNhbnZhcywgd2lkdGgsIGhlaWdodCk7CiAgICAg
ICAgaWYgKCFub1VwZGF0ZXMpIEJyb3dzZXIudXBkYXRlUmVzaXplTGlzdGVuZXJzKCk7CiAgICAg
IH0sd2luZG93ZWRXaWR0aDowLHdpbmRvd2VkSGVpZ2h0OjAsc2V0RnVsbFNjcmVlbkNhbnZhc1Np
emU6ZnVuY3Rpb24gKCkgewogICAgICAgIC8vIGNoZWNrIGlmIFNETCBpcyBhdmFpbGFibGUgICAK
ICAgICAgICBpZiAodHlwZW9mIFNETCAhPSAidW5kZWZpbmVkIikgewogICAgICAgIAl2YXIgZmxh
Z3MgPSBIRUFQVTMyWygoU0RMLnNjcmVlbitSdW50aW1lLlFVQU5UVU1fU0laRSowKT4+MildOwog
ICAgICAgIAlmbGFncyA9IGZsYWdzIHwgMHgwMDgwMDAwMDsgLy8gc2V0IFNETF9GVUxMU0NSRUVO
IGZsYWcKICAgICAgICAJSEVBUDMyWygoU0RMLnNjcmVlbitSdW50aW1lLlFVQU5UVU1fU0laRSow
KT4+MildPWZsYWdzCiAgICAgICAgfQogICAgICAgIEJyb3dzZXIudXBkYXRlUmVzaXplTGlzdGVu
ZXJzKCk7CiAgICAgIH0sc2V0V2luZG93ZWRDYW52YXNTaXplOmZ1bmN0aW9uICgpIHsKICAgICAg
ICAvLyBjaGVjayBpZiBTREwgaXMgYXZhaWxhYmxlICAgICAgIAogICAgICAgIGlmICh0eXBlb2Yg
U0RMICE9ICJ1bmRlZmluZWQiKSB7CiAgICAgICAgCXZhciBmbGFncyA9IEhFQVBVMzJbKChTREwu
c2NyZWVuK1J1bnRpbWUuUVVBTlRVTV9TSVpFKjApPj4yKV07CiAgICAgICAgCWZsYWdzID0gZmxh
Z3MgJiB+MHgwMDgwMDAwMDsgLy8gY2xlYXIgU0RMX0ZVTExTQ1JFRU4gZmxhZwogICAgICAgIAlI
RUFQMzJbKChTREwuc2NyZWVuK1J1bnRpbWUuUVVBTlRVTV9TSVpFKjApPj4yKV09ZmxhZ3MKICAg
ICAgICB9CiAgICAgICAgQnJvd3Nlci51cGRhdGVSZXNpemVMaXN0ZW5lcnMoKTsKICAgICAgfSx1
cGRhdGVDYW52YXNEaW1lbnNpb25zOmZ1bmN0aW9uIChjYW52YXMsIHdOYXRpdmUsIGhOYXRpdmUp
IHsKICAgICAgICBpZiAod05hdGl2ZSAmJiBoTmF0aXZlKSB7CiAgICAgICAgICBjYW52YXMud2lk
dGhOYXRpdmUgPSB3TmF0aXZlOwogICAgICAgICAgY2FudmFzLmhlaWdodE5hdGl2ZSA9IGhOYXRp
dmU7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIHdOYXRpdmUgPSBjYW52YXMud2lkdGhOYXRp
dmU7CiAgICAgICAgICBoTmF0aXZlID0gY2FudmFzLmhlaWdodE5hdGl2ZTsKICAgICAgICB9CiAg
ICAgICAgdmFyIHcgPSB3TmF0aXZlOwogICAgICAgIHZhciBoID0gaE5hdGl2ZTsKICAgICAgICBp
ZiAoTW9kdWxlWydmb3JjZWRBc3BlY3RSYXRpbyddICYmIE1vZHVsZVsnZm9yY2VkQXNwZWN0UmF0
aW8nXSA+IDApIHsKICAgICAgICAgIGlmICh3L2ggPCBNb2R1bGVbJ2ZvcmNlZEFzcGVjdFJhdGlv
J10pIHsKICAgICAgICAgICAgdyA9IE1hdGgucm91bmQoaCAqIE1vZHVsZVsnZm9yY2VkQXNwZWN0
UmF0aW8nXSk7CiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBoID0gTWF0aC5yb3VuZCh3
IC8gTW9kdWxlWydmb3JjZWRBc3BlY3RSYXRpbyddKTsKICAgICAgICAgIH0KICAgICAgICB9CiAg
ICAgICAgaWYgKCgoZG9jdW1lbnRbJ3dlYmtpdEZ1bGxTY3JlZW5FbGVtZW50J10gfHwgZG9jdW1l
bnRbJ3dlYmtpdEZ1bGxzY3JlZW5FbGVtZW50J10gfHwKICAgICAgICAgICAgIGRvY3VtZW50Wydt
b3pGdWxsU2NyZWVuRWxlbWVudCddIHx8IGRvY3VtZW50Wydtb3pGdWxsc2NyZWVuRWxlbWVudCdd
IHx8CiAgICAgICAgICAgICBkb2N1bWVudFsnZnVsbFNjcmVlbkVsZW1lbnQnXSB8fCBkb2N1bWVu
dFsnZnVsbHNjcmVlbkVsZW1lbnQnXSB8fAogICAgICAgICAgICAgZG9jdW1lbnRbJ21zRnVsbFNj
cmVlbkVsZW1lbnQnXSB8fCBkb2N1bWVudFsnbXNGdWxsc2NyZWVuRWxlbWVudCddIHx8CiAgICAg
ICAgICAgICBkb2N1bWVudFsnd2Via2l0Q3VycmVudEZ1bGxTY3JlZW5FbGVtZW50J10pID09PSBj
YW52YXMucGFyZW50Tm9kZSkgJiYgKHR5cGVvZiBzY3JlZW4gIT0gJ3VuZGVmaW5lZCcpKSB7CiAg
ICAgICAgICAgdmFyIGZhY3RvciA9IE1hdGgubWluKHNjcmVlbi53aWR0aCAvIHcsIHNjcmVlbi5o
ZWlnaHQgLyBoKTsKICAgICAgICAgICB3ID0gTWF0aC5yb3VuZCh3ICogZmFjdG9yKTsKICAgICAg
ICAgICBoID0gTWF0aC5yb3VuZChoICogZmFjdG9yKTsKICAgICAgICB9CiAgICAgICAgaWYgKEJy
b3dzZXIucmVzaXplQ2FudmFzKSB7CiAgICAgICAgICBpZiAoY2FudmFzLndpZHRoICAhPSB3KSBj
YW52YXMud2lkdGggID0gdzsKICAgICAgICAgIGlmIChjYW52YXMuaGVpZ2h0ICE9IGgpIGNhbnZh
cy5oZWlnaHQgPSBoOwogICAgICAgICAgaWYgKHR5cGVvZiBjYW52YXMuc3R5bGUgIT0gJ3VuZGVm
aW5lZCcpIHsKICAgICAgICAgICAgY2FudmFzLnN0eWxlLnJlbW92ZVByb3BlcnR5KCAid2lkdGgi
KTsKICAgICAgICAgICAgY2FudmFzLnN0eWxlLnJlbW92ZVByb3BlcnR5KCJoZWlnaHQiKTsKICAg
ICAgICAgIH0KICAgICAgICB9IGVsc2UgewogICAgICAgICAgaWYgKGNhbnZhcy53aWR0aCAgIT0g
d05hdGl2ZSkgY2FudmFzLndpZHRoICA9IHdOYXRpdmU7CiAgICAgICAgICBpZiAoY2FudmFzLmhl
aWdodCAhPSBoTmF0aXZlKSBjYW52YXMuaGVpZ2h0ID0gaE5hdGl2ZTsKICAgICAgICAgIGlmICh0
eXBlb2YgY2FudmFzLnN0eWxlICE9ICd1bmRlZmluZWQnKSB7CiAgICAgICAgICAgIGlmICh3ICE9
IHdOYXRpdmUgfHwgaCAhPSBoTmF0aXZlKSB7CiAgICAgICAgICAgICAgY2FudmFzLnN0eWxlLnNl
dFByb3BlcnR5KCAid2lkdGgiLCB3ICsgInB4IiwgImltcG9ydGFudCIpOwogICAgICAgICAgICAg
IGNhbnZhcy5zdHlsZS5zZXRQcm9wZXJ0eSgiaGVpZ2h0IiwgaCArICJweCIsICJpbXBvcnRhbnQi
KTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICBjYW52YXMuc3R5bGUucmVtb3Zl
UHJvcGVydHkoICJ3aWR0aCIpOwogICAgICAgICAgICAgIGNhbnZhcy5zdHlsZS5yZW1vdmVQcm9w
ZXJ0eSgiaGVpZ2h0Iik7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICB9CiAgICAg
IH19OwoKICBmdW5jdGlvbiBfX19jdHlwZV9iX2xvYygpIHsKICAgICAgLy8gaHR0cDovL3JlZnNw
ZWNzLmZyZWVzdGFuZGFyZHMub3JnL0xTQl8zLjAuMC9MU0ItQ29yZS1nZW5lcmljL0xTQi1Db3Jl
LWdlbmVyaWMvYmFzZWxpYi0tLWN0eXBlLWItbG9jLmh0bWwKICAgICAgdmFyIG1lID0gX19fY3R5
cGVfYl9sb2M7CiAgICAgIGlmICghbWUucmV0KSB7CiAgICAgICAgdmFyIHZhbHVlcyA9IFsKICAg
ICAgICAgIDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAs
MCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCww
LDAsMCwwLDAsMCwKICAgICAgICAgIDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCww
LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAs
MCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwKICAgICAgICAgIDAsMCwwLDAsMCwwLDAsMCwwLDAs
MiwyLDIsMiwyLDIsMiwyLDIsODE5NSw4MTk0LDgxOTQsODE5NCw4MTk0LDIsMiwyLDIsMiwyLDIs
MiwyLDIsMiwyLDIsMiwyLDIsMiwyLDI0NTc3LDQ5MTU2LDQ5MTU2LDQ5MTU2LAogICAgICAgICAg
NDkxNTYsNDkxNTYsNDkxNTYsNDkxNTYsNDkxNTYsNDkxNTYsNDkxNTYsNDkxNTYsNDkxNTYsNDkx
NTYsNDkxNTYsNDkxNTYsNTUzMDQsNTUzMDQsNTUzMDQsNTUzMDQsNTUzMDQsNTUzMDQsNTUzMDQs
NTUzMDQsCiAgICAgICAgICA1NTMwNCw1NTMwNCw0OTE1Niw0OTE1Niw0OTE1Niw0OTE1Niw0OTE1
Niw0OTE1Niw0OTE1Niw1NDUzNiw1NDUzNiw1NDUzNiw1NDUzNiw1NDUzNiw1NDUzNiw1MDQ0MCw1
MDQ0MCw1MDQ0MCw1MDQ0MCw1MDQ0MCwKICAgICAgICAgIDUwNDQwLDUwNDQwLDUwNDQwLDUwNDQw
LDUwNDQwLDUwNDQwLDUwNDQwLDUwNDQwLDUwNDQwLDUwNDQwLDUwNDQwLDUwNDQwLDUwNDQwLDUw
NDQwLDUwNDQwLDQ5MTU2LDQ5MTU2LDQ5MTU2LDQ5MTU2LDQ5MTU2LAogICAgICAgICAgNDkxNTYs
NTQ3OTIsNTQ3OTIsNTQ3OTIsNTQ3OTIsNTQ3OTIsNTQ3OTIsNTA2OTYsNTA2OTYsNTA2OTYsNTA2
OTYsNTA2OTYsNTA2OTYsNTA2OTYsNTA2OTYsNTA2OTYsNTA2OTYsNTA2OTYsNTA2OTYsNTA2OTYs
CiAgICAgICAgICA1MDY5Niw1MDY5Niw1MDY5Niw1MDY5Niw1MDY5Niw1MDY5Niw1MDY5Niw0OTE1
Niw0OTE1Niw0OTE1Niw0OTE1NiwyLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCww
LDAsMCwwLDAsMCwwLDAsCiAgICAgICAgICAwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCww
LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAs
MCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsCiAgICAgICAgICAwLDAsMCwwLDAsMCwwLDAs
MCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCww
LDAsMCwwLDAsMCwwLDAKICAgICAgICBdOwogICAgICAgIHZhciBpMTZzaXplID0gMjsKICAgICAg
ICB2YXIgYXJyID0gX21hbGxvYyh2YWx1ZXMubGVuZ3RoICogaTE2c2l6ZSk7CiAgICAgICAgZm9y
ICh2YXIgaSA9IDA7IGkgPCB2YWx1ZXMubGVuZ3RoOyBpKyspIHsKICAgICAgICAgIEhFQVAxNlso
KChhcnIpKyhpICogaTE2c2l6ZSkpPj4xKV09dmFsdWVzW2ldOwogICAgICAgIH0KICAgICAgICBt
ZS5yZXQgPSBhbGxvY2F0ZShbYXJyICsgMTI4ICogaTE2c2l6ZV0sICdpMTYqJywgQUxMT0NfTk9S
TUFMKTsKICAgICAgfQogICAgICByZXR1cm4gbWUucmV0OwogICAgfQoKICBmdW5jdGlvbiBfZnJl
ZWxvY2FsZShsb2NhbGUpIHsKICAgICAgX2ZyZWUobG9jYWxlKTsKICAgIH0KCiAgdmFyIF9hdGFu
MmY9TWF0aF9hdGFuMjsKCiAgdmFyIF9mbW9kbD1fZm1vZDsKCiAgZnVuY3Rpb24gX19fY3hhX3B1
cmVfdmlydHVhbCgpIHsKICAgICAgQUJPUlQgPSB0cnVlOwogICAgICB0aHJvdyAnUHVyZSB2aXJ0
dWFsIGZ1bmN0aW9uIGNhbGxlZCEnOwogICAgfQoKICBmdW5jdGlvbiBfY2F0Z2V0cyhjYXRkLCBz
ZXRfaWQsIG1zZ19pZCwgcykgewogICAgICAvLyBjaGFyICpjYXRnZXRzIChubF9jYXRkIGNhdGQs
IGludCBzZXRfaWQsIGludCBtc2dfaWQsIGNvbnN0IGNoYXIgKnMpCiAgICAgIHJldHVybiBzOwog
ICAgfQoKICBmdW5jdGlvbiBfX19jeGFfYWxsb2NhdGVfZXhjZXB0aW9uKHNpemUpIHsKICAgICAg
dmFyIHB0ciA9IF9tYWxsb2Moc2l6ZSArIF9fX2N4YV9leGNlcHRpb25faGVhZGVyX3NpemUpOwog
ICAgICByZXR1cm4gcHRyICsgX19fY3hhX2V4Y2VwdGlvbl9oZWFkZXJfc2l6ZTsKICAgIH0KCiAg
CiAgCiAgZnVuY3Rpb24gX3NwcmludGYocywgZm9ybWF0LCB2YXJhcmdzKSB7CiAgICAgIC8vIGlu
dCBzcHJpbnRmKGNoYXIgKnJlc3RyaWN0IHMsIGNvbnN0IGNoYXIgKnJlc3RyaWN0IGZvcm1hdCwg
Li4uKTsKICAgICAgLy8gaHR0cDovL3B1YnMub3Blbmdyb3VwLm9yZy9vbmxpbmVwdWJzLzAwMDA5
NTM5OS9mdW5jdGlvbnMvcHJpbnRmLmh0bWwKICAgICAgcmV0dXJuIF9zbnByaW50ZihzLCB1bmRl
ZmluZWQsIGZvcm1hdCwgdmFyYXJncyk7CiAgICB9ZnVuY3Rpb24gX2FzcHJpbnRmKHMsIGZvcm1h
dCwgdmFyYXJncykgewogICAgICByZXR1cm4gX3NwcmludGYoLXMsIGZvcm1hdCwgdmFyYXJncyk7
CiAgICB9ZnVuY3Rpb24gX3Zhc3ByaW50ZihzLCBmb3JtYXQsIHZhX2FyZykgewogICAgICByZXR1
cm4gX2FzcHJpbnRmKHMsIGZvcm1hdCwgSEVBUDMyWygodmFfYXJnKT4+MildKTsKICAgIH0KCiAg
ZnVuY3Rpb24gX3RpbWUocHRyKSB7CiAgICAgIHZhciByZXQgPSBNYXRoLmZsb29yKERhdGUubm93
KCkvMTAwMCk7CiAgICAgIGlmIChwdHIpIHsKICAgICAgICBIRUFQMzJbKChwdHIpPj4yKV09cmV0
OwogICAgICB9CiAgICAgIHJldHVybiByZXQ7CiAgICB9CgogIGZ1bmN0aW9uIF9jb3B5c2lnbihh
LCBiKSB7CiAgICAgIHJldHVybiBfX3JlYWxseU5lZ2F0aXZlKGEpID09PSBfX3JlYWxseU5lZ2F0
aXZlKGIpID8gYSA6IC1hOwogICAgfQoKICBmdW5jdGlvbiBfX19jdHlwZV90b3VwcGVyX2xvYygp
IHsKICAgICAgLy8gaHR0cDovL3JlZnNwZWNzLmZyZWVzdGFuZGFyZHMub3JnL0xTQl8zLjEuMS9M
U0ItQ29yZS1nZW5lcmljL0xTQi1Db3JlLWdlbmVyaWMvbGlidXRpbC0tLWN0eXBlLXRvdXBwZXIt
bG9jLmh0bWwKICAgICAgdmFyIG1lID0gX19fY3R5cGVfdG91cHBlcl9sb2M7CiAgICAgIGlmICgh
bWUucmV0KSB7CiAgICAgICAgdmFyIHZhbHVlcyA9IFsKICAgICAgICAgIDEyOCwxMjksMTMwLDEz
MSwxMzIsMTMzLDEzNCwxMzUsMTM2LDEzNywxMzgsMTM5LDE0MCwxNDEsMTQyLDE0MywxNDQsMTQ1
LDE0NiwxNDcsMTQ4LDE0OSwxNTAsMTUxLDE1MiwxNTMsMTU0LDE1NSwxNTYsMTU3LAogICAgICAg
ICAgMTU4LDE1OSwxNjAsMTYxLDE2MiwxNjMsMTY0LDE2NSwxNjYsMTY3LDE2OCwxNjksMTcwLDE3
MSwxNzIsMTczLDE3NCwxNzUsMTc2LDE3NywxNzgsMTc5LDE4MCwxODEsMTgyLDE4MywxODQsMTg1
LDE4NiwxODcsCiAgICAgICAgICAxODgsMTg5LDE5MCwxOTEsMTkyLDE5MywxOTQsMTk1LDE5Niwx
OTcsMTk4LDE5OSwyMDAsMjAxLDIwMiwyMDMsMjA0LDIwNSwyMDYsMjA3LDIwOCwyMDksMjEwLDIx
MSwyMTIsMjEzLDIxNCwyMTUsMjE2LDIxNywKICAgICAgICAgIDIxOCwyMTksMjIwLDIyMSwyMjIs
MjIzLDIyNCwyMjUsMjI2LDIyNywyMjgsMjI5LDIzMCwyMzEsMjMyLDIzMywyMzQsMjM1LDIzNiwy
MzcsMjM4LDIzOSwyNDAsMjQxLDI0MiwyNDMsMjQ0LDI0NSwyNDYsMjQ3LAogICAgICAgICAgMjQ4
LDI0OSwyNTAsMjUxLDI1MiwyNTMsMjU0LC0xLDAsMSwyLDMsNCw1LDYsNyw4LDksMTAsMTEsMTIs
MTMsMTQsMTUsMTYsMTcsMTgsMTksMjAsMjEsMjIsMjMsMjQsMjUsMjYsMjcsMjgsMjksMzAsMzEs
MzIsCiAgICAgICAgICAzMywzNCwzNSwzNiwzNywzOCwzOSw0MCw0MSw0Miw0Myw0NCw0NSw0Niw0
Nyw0OCw0OSw1MCw1MSw1Miw1Myw1NCw1NSw1Niw1Nyw1OCw1OSw2MCw2MSw2Miw2Myw2NCw2NSw2
Niw2Nyw2OCw2OSw3MCw3MSw3MiwKICAgICAgICAgIDczLDc0LDc1LDc2LDc3LDc4LDc5LDgwLDgx
LDgyLDgzLDg0LDg1LDg2LDg3LDg4LDg5LDkwLDkxLDkyLDkzLDk0LDk1LDk2LDY1LDY2LDY3LDY4
LDY5LDcwLDcxLDcyLDczLDc0LDc1LDc2LDc3LDc4LDc5LDgwLAogICAgICAgICAgODEsODIsODMs
ODQsODUsODYsODcsODgsODksOTAsMTIzLDEyNCwxMjUsMTI2LDEyNywxMjgsMTI5LDEzMCwxMzEs
MTMyLDEzMywxMzQsMTM1LDEzNiwxMzcsMTM4LDEzOSwxNDAsMTQxLDE0MiwxNDMsMTQ0LAogICAg
ICAgICAgMTQ1LDE0NiwxNDcsMTQ4LDE0OSwxNTAsMTUxLDE1MiwxNTMsMTU0LDE1NSwxNTYsMTU3
LDE1OCwxNTksMTYwLDE2MSwxNjIsMTYzLDE2NCwxNjUsMTY2LDE2NywxNjgsMTY5LDE3MCwxNzEs
MTcyLDE3MywxNzQsCiAgICAgICAgICAxNzUsMTc2LDE3NywxNzgsMTc5LDE4MCwxODEsMTgyLDE4
MywxODQsMTg1LDE4NiwxODcsMTg4LDE4OSwxOTAsMTkxLDE5MiwxOTMsMTk0LDE5NSwxOTYsMTk3
LDE5OCwxOTksMjAwLDIwMSwyMDIsMjAzLDIwNCwKICAgICAgICAgIDIwNSwyMDYsMjA3LDIwOCwy
MDksMjEwLDIxMSwyMTIsMjEzLDIxNCwyMTUsMjE2LDIxNywyMTgsMjE5LDIyMCwyMjEsMjIyLDIy
MywyMjQsMjI1LDIyNiwyMjcsMjI4LDIyOSwyMzAsMjMxLDIzMiwyMzMsMjM0LAogICAgICAgICAg
MjM1LDIzNiwyMzcsMjM4LDIzOSwyNDAsMjQxLDI0MiwyNDMsMjQ0LDI0NSwyNDYsMjQ3LDI0OCwy
NDksMjUwLDI1MSwyNTIsMjUzLDI1NCwyNTUKICAgICAgICBdOwogICAgICAgIHZhciBpMzJzaXpl
ID0gNDsKICAgICAgICB2YXIgYXJyID0gX21hbGxvYyh2YWx1ZXMubGVuZ3RoICogaTMyc2l6ZSk7
CiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB2YWx1ZXMubGVuZ3RoOyBpKyspIHsKICAgICAg
ICAgIEhFQVAzMlsoKChhcnIpKyhpICogaTMyc2l6ZSkpPj4yKV09dmFsdWVzW2ldOwogICAgICAg
IH0KICAgICAgICBtZS5yZXQgPSBhbGxvY2F0ZShbYXJyICsgMTI4ICogaTMyc2l6ZV0sICdpMzIq
JywgQUxMT0NfTk9STUFMKTsKICAgICAgfQogICAgICByZXR1cm4gbWUucmV0OwogICAgfQoKICBm
dW5jdGlvbiBfX19jeGFfZ3VhcmRfYWNxdWlyZSh2YXJpYWJsZSkgewogICAgICBpZiAoIUhFQVA4
Wyh2YXJpYWJsZSldKSB7IC8vIGlnbm9yZSBTQUZFX0hFQVAgc3R1ZmYgYmVjYXVzZSBsbHZtIG1p
eGVzIGk2NCBhbmQgaTggaGVyZQogICAgICAgIEhFQVA4Wyh2YXJpYWJsZSldPTE7CiAgICAgICAg
cmV0dXJuIDE7CiAgICAgIH0KICAgICAgcmV0dXJuIDA7CiAgICB9CgogIGZ1bmN0aW9uIF9fX2N0
eXBlX3RvbG93ZXJfbG9jKCkgewogICAgICAvLyBodHRwOi8vcmVmc3BlY3MuZnJlZXN0YW5kYXJk
cy5vcmcvTFNCXzMuMS4xL0xTQi1Db3JlLWdlbmVyaWMvTFNCLUNvcmUtZ2VuZXJpYy9saWJ1dGls
LS0tY3R5cGUtdG9sb3dlci1sb2MuaHRtbAogICAgICB2YXIgbWUgPSBfX19jdHlwZV90b2xvd2Vy
X2xvYzsKICAgICAgaWYgKCFtZS5yZXQpIHsKICAgICAgICB2YXIgdmFsdWVzID0gWwogICAgICAg
ICAgMTI4LDEyOSwxMzAsMTMxLDEzMiwxMzMsMTM0LDEzNSwxMzYsMTM3LDEzOCwxMzksMTQwLDE0
MSwxNDIsMTQzLDE0NCwxNDUsMTQ2LDE0NywxNDgsMTQ5LDE1MCwxNTEsMTUyLDE1MywxNTQsMTU1
LDE1NiwxNTcsCiAgICAgICAgICAxNTgsMTU5LDE2MCwxNjEsMTYyLDE2MywxNjQsMTY1LDE2Niwx
NjcsMTY4LDE2OSwxNzAsMTcxLDE3MiwxNzMsMTc0LDE3NSwxNzYsMTc3LDE3OCwxNzksMTgwLDE4
MSwxODIsMTgzLDE4NCwxODUsMTg2LDE4NywKICAgICAgICAgIDE4OCwxODksMTkwLDE5MSwxOTIs
MTkzLDE5NCwxOTUsMTk2LDE5NywxOTgsMTk5LDIwMCwyMDEsMjAyLDIwMywyMDQsMjA1LDIwNiwy
MDcsMjA4LDIwOSwyMTAsMjExLDIxMiwyMTMsMjE0LDIxNSwyMTYsMjE3LAogICAgICAgICAgMjE4
LDIxOSwyMjAsMjIxLDIyMiwyMjMsMjI0LDIyNSwyMjYsMjI3LDIyOCwyMjksMjMwLDIzMSwyMzIs
MjMzLDIzNCwyMzUsMjM2LDIzNywyMzgsMjM5LDI0MCwyNDEsMjQyLDI0MywyNDQsMjQ1LDI0Niwy
NDcsCiAgICAgICAgICAyNDgsMjQ5LDI1MCwyNTEsMjUyLDI1MywyNTQsLTEsMCwxLDIsMyw0LDUs
Niw3LDgsOSwxMCwxMSwxMiwxMywxNCwxNSwxNiwxNywxOCwxOSwyMCwyMSwyMiwyMywyNCwyNSwy
NiwyNywyOCwyOSwzMCwzMSwzMiwKICAgICAgICAgIDMzLDM0LDM1LDM2LDM3LDM4LDM5LDQwLDQx
LDQyLDQzLDQ0LDQ1LDQ2LDQ3LDQ4LDQ5LDUwLDUxLDUyLDUzLDU0LDU1LDU2LDU3LDU4LDU5LDYw
LDYxLDYyLDYzLDY0LDk3LDk4LDk5LDEwMCwxMDEsMTAyLDEwMywKICAgICAgICAgIDEwNCwxMDUs
MTA2LDEwNywxMDgsMTA5LDExMCwxMTEsMTEyLDExMywxMTQsMTE1LDExNiwxMTcsMTE4LDExOSwx
MjAsMTIxLDEyMiw5MSw5Miw5Myw5NCw5NSw5Niw5Nyw5OCw5OSwxMDAsMTAxLDEwMiwxMDMsCiAg
ICAgICAgICAxMDQsMTA1LDEwNiwxMDcsMTA4LDEwOSwxMTAsMTExLDExMiwxMTMsMTE0LDExNSwx
MTYsMTE3LDExOCwxMTksMTIwLDEyMSwxMjIsMTIzLDEyNCwxMjUsMTI2LDEyNywxMjgsMTI5LDEz
MCwxMzEsMTMyLDEzMywKICAgICAgICAgIDEzNCwxMzUsMTM2LDEzNywxMzgsMTM5LDE0MCwxNDEs
MTQyLDE0MywxNDQsMTQ1LDE0NiwxNDcsMTQ4LDE0OSwxNTAsMTUxLDE1MiwxNTMsMTU0LDE1NSwx
NTYsMTU3LDE1OCwxNTksMTYwLDE2MSwxNjIsMTYzLAogICAgICAgICAgMTY0LDE2NSwxNjYsMTY3
LDE2OCwxNjksMTcwLDE3MSwxNzIsMTczLDE3NCwxNzUsMTc2LDE3NywxNzgsMTc5LDE4MCwxODEs
MTgyLDE4MywxODQsMTg1LDE4NiwxODcsMTg4LDE4OSwxOTAsMTkxLDE5MiwxOTMsCiAgICAgICAg
ICAxOTQsMTk1LDE5NiwxOTcsMTk4LDE5OSwyMDAsMjAxLDIwMiwyMDMsMjA0LDIwNSwyMDYsMjA3
LDIwOCwyMDksMjEwLDIxMSwyMTIsMjEzLDIxNCwyMTUsMjE2LDIxNywyMTgsMjE5LDIyMCwyMjEs
MjIyLDIyMywKICAgICAgICAgIDIyNCwyMjUsMjI2LDIyNywyMjgsMjI5LDIzMCwyMzEsMjMyLDIz
MywyMzQsMjM1LDIzNiwyMzcsMjM4LDIzOSwyNDAsMjQxLDI0MiwyNDMsMjQ0LDI0NSwyNDYsMjQ3
LDI0OCwyNDksMjUwLDI1MSwyNTIsMjUzLAogICAgICAgICAgMjU0LDI1NQogICAgICAgIF07CiAg
ICAgICAgdmFyIGkzMnNpemUgPSA0OwogICAgICAgIHZhciBhcnIgPSBfbWFsbG9jKHZhbHVlcy5s
ZW5ndGggKiBpMzJzaXplKTsKICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHZhbHVlcy5sZW5n
dGg7IGkrKykgewogICAgICAgICAgSEVBUDMyWygoKGFycikrKGkgKiBpMzJzaXplKSk+PjIpXT12
YWx1ZXNbaV07CiAgICAgICAgfQogICAgICAgIG1lLnJldCA9IGFsbG9jYXRlKFthcnIgKyAxMjgg
KiBpMzJzaXplXSwgJ2kzMionLCBBTExPQ19OT1JNQUwpOwogICAgICB9CiAgICAgIHJldHVybiBt
ZS5yZXQ7CiAgICB9CgogIGZ1bmN0aW9uIF9fX2N4YV9iZWdpbl9jYXRjaChwdHIpIHsKICAgICAg
X19aU3QxOHVuY2F1Z2h0X2V4Y2VwdGlvbnYudW5jYXVnaHRfZXhjZXB0aW9uLS07CiAgICAgIF9f
X2N4YV9jYXVnaHRfZXhjZXB0aW9ucy5wdXNoKF9fX2N4YV9sYXN0X3Rocm93bl9leGNlcHRpb24p
OwogICAgICByZXR1cm4gcHRyOwogICAgfQoKICB2YXIgX3NpbmY9TWF0aF9zaW47CgoKICBmdW5j
dGlvbiBfX1pOU3Q5ZXhjZXB0aW9uRDJFdigpIHt9CgoKICBmdW5jdGlvbiBfY2F0b3BlbihuYW1l
LCBvZmxhZykgewogICAgICAvLyBubF9jYXRkIGNhdG9wZW4gKGNvbnN0IGNoYXIgKm5hbWUsIGlu
dCBvZmxhZykKICAgICAgcmV0dXJuIC0xOwogICAgfQoKICB2YXIgX2NvcHlzaWdubD1fY29weXNp
Z247CgogIHZhciBfcG93Zj1NYXRoX3BvdzsKCiAgdmFyIF9fWlRJU3Q5ZXhjZXB0aW9uPWFsbG9j
YXRlKFthbGxvY2F0ZShbMSwwLDAsMCwwLDAsMF0sICJpOCIsIEFMTE9DX1NUQVRJQykrOCwgMF0s
ICJpMzIiLCBBTExPQ19TVEFUSUMpOwoKICB2YXIgX19fZHNvX2hhbmRsZT1hbGxvY2F0ZSgxLCAi
aTMyKiIsIEFMTE9DX1NUQVRJQyk7CgoKCkZTLnN0YXRpY0luaXQoKTtfX0FUSU5JVF9fLnVuc2hp
ZnQoeyBmdW5jOiBmdW5jdGlvbigpIHsgaWYgKCFNb2R1bGVbIm5vRlNJbml0Il0gJiYgIUZTLmlu
aXQuaW5pdGlhbGl6ZWQpIEZTLmluaXQoKSB9IH0pO19fQVRNQUlOX18ucHVzaCh7IGZ1bmM6IGZ1
bmN0aW9uKCkgeyBGUy5pZ25vcmVQZXJtaXNzaW9ucyA9IGZhbHNlIH0gfSk7X19BVEVYSVRfXy5w
dXNoKHsgZnVuYzogZnVuY3Rpb24oKSB7IEZTLnF1aXQoKSB9IH0pO01vZHVsZVsiRlNfY3JlYXRl
Rm9sZGVyIl0gPSBGUy5jcmVhdGVGb2xkZXI7TW9kdWxlWyJGU19jcmVhdGVQYXRoIl0gPSBGUy5j
cmVhdGVQYXRoO01vZHVsZVsiRlNfY3JlYXRlRGF0YUZpbGUiXSA9IEZTLmNyZWF0ZURhdGFGaWxl
O01vZHVsZVsiRlNfY3JlYXRlUHJlbG9hZGVkRmlsZSJdID0gRlMuY3JlYXRlUHJlbG9hZGVkRmls
ZTtNb2R1bGVbIkZTX2NyZWF0ZUxhenlGaWxlIl0gPSBGUy5jcmVhdGVMYXp5RmlsZTtNb2R1bGVb
IkZTX2NyZWF0ZUxpbmsiXSA9IEZTLmNyZWF0ZUxpbms7TW9kdWxlWyJGU19jcmVhdGVEZXZpY2Ui
XSA9IEZTLmNyZWF0ZURldmljZTsKX19fZXJybm9fc3RhdGUgPSBSdW50aW1lLnN0YXRpY0FsbG9j
KDQpOyBIRUFQMzJbKChfX19lcnJub19zdGF0ZSk+PjIpXT0wOwpfX0FUSU5JVF9fLnVuc2hpZnQo
eyBmdW5jOiBmdW5jdGlvbigpIHsgVFRZLmluaXQoKSB9IH0pO19fQVRFWElUX18ucHVzaCh7IGZ1
bmM6IGZ1bmN0aW9uKCkgeyBUVFkuc2h1dGRvd24oKSB9IH0pO1RUWS51dGY4ID0gbmV3IFJ1bnRp
bWUuVVRGOFByb2Nlc3NvcigpOwppZiAoRU5WSVJPTk1FTlRfSVNfTk9ERSkgeyB2YXIgZnMgPSBy
ZXF1aXJlKCJmcyIpOyBOT0RFRlMuc3RhdGljSW5pdCgpOyB9Cl9fQVRJTklUX18ucHVzaCh7IGZ1
bmM6IGZ1bmN0aW9uKCkgeyBTT0NLRlMucm9vdCA9IEZTLm1vdW50KFNPQ0tGUywge30sIG51bGwp
OyB9IH0pOwpfZnB1dGMucmV0ID0gYWxsb2NhdGUoWzBdLCAiaTgiLCBBTExPQ19TVEFUSUMpOwpf
ZmdldGMucmV0ID0gYWxsb2NhdGUoWzBdLCAiaTgiLCBBTExPQ19TVEFUSUMpOwpNb2R1bGVbInJl
cXVlc3RGdWxsU2NyZWVuIl0gPSBmdW5jdGlvbiBNb2R1bGVfcmVxdWVzdEZ1bGxTY3JlZW4obG9j
a1BvaW50ZXIsIHJlc2l6ZUNhbnZhcykgeyBCcm93c2VyLnJlcXVlc3RGdWxsU2NyZWVuKGxvY2tQ
b2ludGVyLCByZXNpemVDYW52YXMpIH07CiAgTW9kdWxlWyJyZXF1ZXN0QW5pbWF0aW9uRnJhbWUi
XSA9IGZ1bmN0aW9uIE1vZHVsZV9yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoZnVuYykgeyBCcm93c2Vy
LnJlcXVlc3RBbmltYXRpb25GcmFtZShmdW5jKSB9OwogIE1vZHVsZVsic2V0Q2FudmFzU2l6ZSJd
ID0gZnVuY3Rpb24gTW9kdWxlX3NldENhbnZhc1NpemUod2lkdGgsIGhlaWdodCwgbm9VcGRhdGVz
KSB7IEJyb3dzZXIuc2V0Q2FudmFzU2l6ZSh3aWR0aCwgaGVpZ2h0LCBub1VwZGF0ZXMpIH07CiAg
TW9kdWxlWyJwYXVzZU1haW5Mb29wIl0gPSBmdW5jdGlvbiBNb2R1bGVfcGF1c2VNYWluTG9vcCgp
IHsgQnJvd3Nlci5tYWluTG9vcC5wYXVzZSgpIH07CiAgTW9kdWxlWyJyZXN1bWVNYWluTG9vcCJd
ID0gZnVuY3Rpb24gTW9kdWxlX3Jlc3VtZU1haW5Mb29wKCkgeyBCcm93c2VyLm1haW5Mb29wLnJl
c3VtZSgpIH07CiAgTW9kdWxlWyJnZXRVc2VyTWVkaWEiXSA9IGZ1bmN0aW9uIE1vZHVsZV9nZXRV
c2VyTWVkaWEoKSB7IEJyb3dzZXIuZ2V0VXNlck1lZGlhKCkgfQpTVEFDS19CQVNFID0gU1RBQ0tU
T1AgPSBSdW50aW1lLmFsaWduTWVtb3J5KFNUQVRJQ1RPUCk7CgpzdGF0aWNTZWFsZWQgPSB0cnVl
OyAvLyBzZWFsIHRoZSBzdGF0aWMgcG9ydGlvbiBvZiBtZW1vcnkKClNUQUNLX01BWCA9IFNUQUNL
X0JBU0UgKyAyMDk3MTUyMDsKCkRZTkFNSUNfQkFTRSA9IERZTkFNSUNUT1AgPSBSdW50aW1lLmFs
aWduTWVtb3J5KFNUQUNLX01BWCk7Cgphc3NlcnQoRFlOQU1JQ19CQVNFIDwgVE9UQUxfTUVNT1JZ
LCAiVE9UQUxfTUVNT1JZIG5vdCBiaWcgZW5vdWdoIGZvciBzdGFjayIpOwoKIHZhciBjdGx6X2k4
ID0gYWxsb2NhdGUoWzgsNyw2LDYsNSw1LDUsNSw0LDQsNCw0LDQsNCw0LDQsMywzLDMsMywzLDMs
MywzLDMsMywzLDMsMywzLDMsMywyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwy
LDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEs
MSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwx
LDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwwLDAsMCwwLDAsMCwwLDAs
MCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCww
LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAs
MCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCww
LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAs
MCwwLDAsMCwwLDBdLCAiaTgiLCBBTExPQ19EWU5BTUlDKTsKIHZhciBjdHR6X2k4ID0gYWxsb2Nh
dGUoWzgsMCwxLDAsMiwwLDEsMCwzLDAsMSwwLDIsMCwxLDAsNCwwLDEsMCwyLDAsMSwwLDMsMCwx
LDAsMiwwLDEsMCw1LDAsMSwwLDIsMCwxLDAsMywwLDEsMCwyLDAsMSwwLDQsMCwxLDAsMiwwLDEs
MCwzLDAsMSwwLDIsMCwxLDAsNiwwLDEsMCwyLDAsMSwwLDMsMCwxLDAsMiwwLDEsMCw0LDAsMSww
LDIsMCwxLDAsMywwLDEsMCwyLDAsMSwwLDUsMCwxLDAsMiwwLDEsMCwzLDAsMSwwLDIsMCwxLDAs
NCwwLDEsMCwyLDAsMSwwLDMsMCwxLDAsMiwwLDEsMCw3LDAsMSwwLDIsMCwxLDAsMywwLDEsMCwy
LDAsMSwwLDQsMCwxLDAsMiwwLDEsMCwzLDAsMSwwLDIsMCwxLDAsNSwwLDEsMCwyLDAsMSwwLDMs
MCwxLDAsMiwwLDEsMCw0LDAsMSwwLDIsMCwxLDAsMywwLDEsMCwyLDAsMSwwLDYsMCwxLDAsMiww
LDEsMCwzLDAsMSwwLDIsMCwxLDAsNCwwLDEsMCwyLDAsMSwwLDMsMCwxLDAsMiwwLDEsMCw1LDAs
MSwwLDIsMCwxLDAsMywwLDEsMCwyLDAsMSwwLDQsMCwxLDAsMiwwLDEsMCwzLDAsMSwwLDIsMCwx
LDBdLCAiaTgiLCBBTExPQ19EWU5BTUlDKTsKCnZhciBNYXRoX21pbiA9IE1hdGgubWluOwpmdW5j
dGlvbiBpbnZva2VfaWlpaShpbmRleCxhMSxhMixhMykgewogIHRyeSB7CiAgICByZXR1cm4gTW9k
dWxlWyJkeW5DYWxsX2lpaWkiXShpbmRleCxhMSxhMixhMyk7CiAgfSBjYXRjaChlKSB7CiAgICBp
ZiAodHlwZW9mIGUgIT09ICdudW1iZXInICYmIGUgIT09ICdsb25nam1wJykgdGhyb3cgZTsKICAg
IGFzbVsic2V0VGhyZXciXSgxLCAwKTsKICB9Cn0KCmZ1bmN0aW9uIGludm9rZV92aWlpaWlpKGlu
ZGV4LGExLGEyLGEzLGE0LGE1LGE2KSB7CiAgdHJ5IHsKICAgIE1vZHVsZVsiZHluQ2FsbF92aWlp
aWlpIl0oaW5kZXgsYTEsYTIsYTMsYTQsYTUsYTYpOwogIH0gY2F0Y2goZSkgewogICAgaWYgKHR5
cGVvZiBlICE9PSAnbnVtYmVyJyAmJiBlICE9PSAnbG9uZ2ptcCcpIHRocm93IGU7CiAgICBhc21b
InNldFRocmV3Il0oMSwgMCk7CiAgfQp9CgpmdW5jdGlvbiBpbnZva2VfdmlpaWRkZGQoaW5kZXgs
YTEsYTIsYTMsYTQsYTUsYTYsYTcpIHsKICB0cnkgewogICAgTW9kdWxlWyJkeW5DYWxsX3ZpaWlk
ZGRkIl0oaW5kZXgsYTEsYTIsYTMsYTQsYTUsYTYsYTcpOwogIH0gY2F0Y2goZSkgewogICAgaWYg
KHR5cGVvZiBlICE9PSAnbnVtYmVyJyAmJiBlICE9PSAnbG9uZ2ptcCcpIHRocm93IGU7CiAgICBh
c21bInNldFRocmV3Il0oMSwgMCk7CiAgfQp9CgpmdW5jdGlvbiBpbnZva2VfdmlpaWlpaWkoaW5k
ZXgsYTEsYTIsYTMsYTQsYTUsYTYsYTcpIHsKICB0cnkgewogICAgTW9kdWxlWyJkeW5DYWxsX3Zp
aWlpaWlpIl0oaW5kZXgsYTEsYTIsYTMsYTQsYTUsYTYsYTcpOwogIH0gY2F0Y2goZSkgewogICAg
aWYgKHR5cGVvZiBlICE9PSAnbnVtYmVyJyAmJiBlICE9PSAnbG9uZ2ptcCcpIHRocm93IGU7CiAg
ICBhc21bInNldFRocmV3Il0oMSwgMCk7CiAgfQp9CgpmdW5jdGlvbiBpbnZva2VfdmlpaWRkKGlu
ZGV4LGExLGEyLGEzLGE0LGE1KSB7CiAgdHJ5IHsKICAgIE1vZHVsZVsiZHluQ2FsbF92aWlpZGQi
XShpbmRleCxhMSxhMixhMyxhNCxhNSk7CiAgfSBjYXRjaChlKSB7CiAgICBpZiAodHlwZW9mIGUg
IT09ICdudW1iZXInICYmIGUgIT09ICdsb25nam1wJykgdGhyb3cgZTsKICAgIGFzbVsic2V0VGhy
ZXciXSgxLCAwKTsKICB9Cn0KCmZ1bmN0aW9uIGludm9rZV92aShpbmRleCxhMSkgewogIHRyeSB7
CiAgICBNb2R1bGVbImR5bkNhbGxfdmkiXShpbmRleCxhMSk7CiAgfSBjYXRjaChlKSB7CiAgICBp
ZiAodHlwZW9mIGUgIT09ICdudW1iZXInICYmIGUgIT09ICdsb25nam1wJykgdGhyb3cgZTsKICAg
IGFzbVsic2V0VGhyZXciXSgxLCAwKTsKICB9Cn0KCmZ1bmN0aW9uIGludm9rZV92aWkoaW5kZXgs
YTEsYTIpIHsKICB0cnkgewogICAgTW9kdWxlWyJkeW5DYWxsX3ZpaSJdKGluZGV4LGExLGEyKTsK
ICB9IGNhdGNoKGUpIHsKICAgIGlmICh0eXBlb2YgZSAhPT0gJ251bWJlcicgJiYgZSAhPT0gJ2xv
bmdqbXAnKSB0aHJvdyBlOwogICAgYXNtWyJzZXRUaHJldyJdKDEsIDApOwogIH0KfQoKZnVuY3Rp
b24gaW52b2tlX3ZpaWlpaWlpaWkoaW5kZXgsYTEsYTIsYTMsYTQsYTUsYTYsYTcsYTgsYTkpIHsK
ICB0cnkgewogICAgTW9kdWxlWyJkeW5DYWxsX3ZpaWlpaWlpaWkiXShpbmRleCxhMSxhMixhMyxh
NCxhNSxhNixhNyxhOCxhOSk7CiAgfSBjYXRjaChlKSB7CiAgICBpZiAodHlwZW9mIGUgIT09ICdu
dW1iZXInICYmIGUgIT09ICdsb25nam1wJykgdGhyb3cgZTsKICAgIGFzbVsic2V0VGhyZXciXSgx
LCAwKTsKICB9Cn0KCmZ1bmN0aW9uIGludm9rZV9paShpbmRleCxhMSkgewogIHRyeSB7CiAgICBy
ZXR1cm4gTW9kdWxlWyJkeW5DYWxsX2lpIl0oaW5kZXgsYTEpOwogIH0gY2F0Y2goZSkgewogICAg
aWYgKHR5cGVvZiBlICE9PSAnbnVtYmVyJyAmJiBlICE9PSAnbG9uZ2ptcCcpIHRocm93IGU7CiAg
ICBhc21bInNldFRocmV3Il0oMSwgMCk7CiAgfQp9CgpmdW5jdGlvbiBpbnZva2VfdmlpaWlpaWQo
aW5kZXgsYTEsYTIsYTMsYTQsYTUsYTYsYTcpIHsKICB0cnkgewogICAgTW9kdWxlWyJkeW5DYWxs
X3ZpaWlpaWlkIl0oaW5kZXgsYTEsYTIsYTMsYTQsYTUsYTYsYTcpOwogIH0gY2F0Y2goZSkgewog
ICAgaWYgKHR5cGVvZiBlICE9PSAnbnVtYmVyJyAmJiBlICE9PSAnbG9uZ2ptcCcpIHRocm93IGU7
CiAgICBhc21bInNldFRocmV3Il0oMSwgMCk7CiAgfQp9CgpmdW5jdGlvbiBpbnZva2VfdmlpaShp
bmRleCxhMSxhMixhMykgewogIHRyeSB7CiAgICBNb2R1bGVbImR5bkNhbGxfdmlpaSJdKGluZGV4
LGExLGEyLGEzKTsKICB9IGNhdGNoKGUpIHsKICAgIGlmICh0eXBlb2YgZSAhPT0gJ251bWJlcicg
JiYgZSAhPT0gJ2xvbmdqbXAnKSB0aHJvdyBlOwogICAgYXNtWyJzZXRUaHJldyJdKDEsIDApOwog
IH0KfQoKZnVuY3Rpb24gaW52b2tlX3ZpaWlpaWQoaW5kZXgsYTEsYTIsYTMsYTQsYTUsYTYpIHsK
ICB0cnkgewogICAgTW9kdWxlWyJkeW5DYWxsX3ZpaWlpaWQiXShpbmRleCxhMSxhMixhMyxhNCxh
NSxhNik7CiAgfSBjYXRjaChlKSB7CiAgICBpZiAodHlwZW9mIGUgIT09ICdudW1iZXInICYmIGUg
IT09ICdsb25nam1wJykgdGhyb3cgZTsKICAgIGFzbVsic2V0VGhyZXciXSgxLCAwKTsKICB9Cn0K
CmZ1bmN0aW9uIGludm9rZV92KGluZGV4KSB7CiAgdHJ5IHsKICAgIE1vZHVsZVsiZHluQ2FsbF92
Il0oaW5kZXgpOwogIH0gY2F0Y2goZSkgewogICAgaWYgKHR5cGVvZiBlICE9PSAnbnVtYmVyJyAm
JiBlICE9PSAnbG9uZ2ptcCcpIHRocm93IGU7CiAgICBhc21bInNldFRocmV3Il0oMSwgMCk7CiAg
fQp9CgpmdW5jdGlvbiBpbnZva2VfaWlpaWlpaWlpKGluZGV4LGExLGEyLGEzLGE0LGE1LGE2LGE3
LGE4KSB7CiAgdHJ5IHsKICAgIHJldHVybiBNb2R1bGVbImR5bkNhbGxfaWlpaWlpaWlpIl0oaW5k
ZXgsYTEsYTIsYTMsYTQsYTUsYTYsYTcsYTgpOwogIH0gY2F0Y2goZSkgewogICAgaWYgKHR5cGVv
ZiBlICE9PSAnbnVtYmVyJyAmJiBlICE9PSAnbG9uZ2ptcCcpIHRocm93IGU7CiAgICBhc21bInNl
dFRocmV3Il0oMSwgMCk7CiAgfQp9CgpmdW5jdGlvbiBpbnZva2VfaWlpaWkoaW5kZXgsYTEsYTIs
YTMsYTQpIHsKICB0cnkgewogICAgcmV0dXJuIE1vZHVsZVsiZHluQ2FsbF9paWlpaSJdKGluZGV4
LGExLGEyLGEzLGE0KTsKICB9IGNhdGNoKGUpIHsKICAgIGlmICh0eXBlb2YgZSAhPT0gJ251bWJl
cicgJiYgZSAhPT0gJ2xvbmdqbXAnKSB0aHJvdyBlOwogICAgYXNtWyJzZXRUaHJldyJdKDEsIDAp
OwogIH0KfQoKZnVuY3Rpb24gaW52b2tlX3ZpaWlpaWlpaShpbmRleCxhMSxhMixhMyxhNCxhNSxh
NixhNyxhOCkgewogIHRyeSB7CiAgICBNb2R1bGVbImR5bkNhbGxfdmlpaWlpaWlpIl0oaW5kZXgs
YTEsYTIsYTMsYTQsYTUsYTYsYTcsYTgpOwogIH0gY2F0Y2goZSkgewogICAgaWYgKHR5cGVvZiBl
ICE9PSAnbnVtYmVyJyAmJiBlICE9PSAnbG9uZ2ptcCcpIHRocm93IGU7CiAgICBhc21bInNldFRo
cmV3Il0oMSwgMCk7CiAgfQp9CgpmdW5jdGlvbiBpbnZva2VfdmlpaWlpKGluZGV4LGExLGEyLGEz
LGE0LGE1KSB7CiAgdHJ5IHsKICAgIE1vZHVsZVsiZHluQ2FsbF92aWlpaWkiXShpbmRleCxhMSxh
MixhMyxhNCxhNSk7CiAgfSBjYXRjaChlKSB7CiAgICBpZiAodHlwZW9mIGUgIT09ICdudW1iZXIn
ICYmIGUgIT09ICdsb25nam1wJykgdGhyb3cgZTsKICAgIGFzbVsic2V0VGhyZXciXSgxLCAwKTsK
ICB9Cn0KCmZ1bmN0aW9uIGludm9rZV9paWkoaW5kZXgsYTEsYTIpIHsKICB0cnkgewogICAgcmV0
dXJuIE1vZHVsZVsiZHluQ2FsbF9paWkiXShpbmRleCxhMSxhMik7CiAgfSBjYXRjaChlKSB7CiAg
ICBpZiAodHlwZW9mIGUgIT09ICdudW1iZXInICYmIGUgIT09ICdsb25nam1wJykgdGhyb3cgZTsK
ICAgIGFzbVsic2V0VGhyZXciXSgxLCAwKTsKICB9Cn0KCmZ1bmN0aW9uIGludm9rZV9paWlpaWko
aW5kZXgsYTEsYTIsYTMsYTQsYTUpIHsKICB0cnkgewogICAgcmV0dXJuIE1vZHVsZVsiZHluQ2Fs
bF9paWlpaWkiXShpbmRleCxhMSxhMixhMyxhNCxhNSk7CiAgfSBjYXRjaChlKSB7CiAgICBpZiAo
dHlwZW9mIGUgIT09ICdudW1iZXInICYmIGUgIT09ICdsb25nam1wJykgdGhyb3cgZTsKICAgIGFz
bVsic2V0VGhyZXciXSgxLCAwKTsKICB9Cn0KCmZ1bmN0aW9uIGludm9rZV92aWlpaShpbmRleCxh
MSxhMixhMyxhNCkgewogIHRyeSB7CiAgICBNb2R1bGVbImR5bkNhbGxfdmlpaWkiXShpbmRleCxh
MSxhMixhMyxhNCk7CiAgfSBjYXRjaChlKSB7CiAgICBpZiAodHlwZW9mIGUgIT09ICdudW1iZXIn
ICYmIGUgIT09ICdsb25nam1wJykgdGhyb3cgZTsKICAgIGFzbVsic2V0VGhyZXciXSgxLCAwKTsK
ICB9Cn0KCmZ1bmN0aW9uIGFzbVByaW50SW50KHgsIHkpIHsKICBNb2R1bGUucHJpbnQoJ2ludCAn
ICsgeCArICcsJyArIHkpOy8vICsgJyAnICsgbmV3IEVycm9yKCkuc3RhY2spOwp9CmZ1bmN0aW9u
IGFzbVByaW50RmxvYXQoeCwgeSkgewogIE1vZHVsZS5wcmludCgnZmxvYXQgJyArIHggKyAnLCcg
KyB5KTsvLyArICcgJyArIG5ldyBFcnJvcigpLnN0YWNrKTsKfQovLyBFTVNDUklQVEVOX1NUQVJU
X0FTTQp2YXIgYXNtPShmdW5jdGlvbihnbG9iYWwsZW52LGJ1ZmZlcil7InVzZSBhc20iO3ZhciBh
PW5ldyBnbG9iYWwuSW50OEFycmF5KGJ1ZmZlcik7dmFyIGI9bmV3IGdsb2JhbC5JbnQxNkFycmF5
KGJ1ZmZlcik7dmFyIGM9bmV3IGdsb2JhbC5JbnQzMkFycmF5KGJ1ZmZlcik7dmFyIGQ9bmV3IGds
b2JhbC5VaW50OEFycmF5KGJ1ZmZlcik7dmFyIGU9bmV3IGdsb2JhbC5VaW50MTZBcnJheShidWZm
ZXIpO3ZhciBmPW5ldyBnbG9iYWwuVWludDMyQXJyYXkoYnVmZmVyKTt2YXIgZz1uZXcgZ2xvYmFs
LkZsb2F0MzJBcnJheShidWZmZXIpO3ZhciBoPW5ldyBnbG9iYWwuRmxvYXQ2NEFycmF5KGJ1ZmZl
cik7dmFyIGk9ZW52LlNUQUNLVE9QfDA7dmFyIGo9ZW52LlNUQUNLX01BWHwwO3ZhciBrPWVudi50
ZW1wRG91YmxlUHRyfDA7dmFyIGw9ZW52LkFCT1JUfDA7dmFyIG09ZW52LmN0dHpfaTh8MDt2YXIg
bj1lbnYuY3Rsel9pOHwwO3ZhciBvPWVudi5fX1pUSVN0OWV4Y2VwdGlvbnwwO3ZhciBwPWVudi5f
X19kc29faGFuZGxlfDA7dmFyIHE9ZW52Ll9zdGRlcnJ8MDt2YXIgcj1lbnYuX3N0ZGlufDA7dmFy
IHM9ZW52Ll9zdGRvdXR8MDt2YXIgdD0wO3ZhciB1PTA7dmFyIHY9MDt2YXIgdz0wO3ZhciB4PStl
bnYuTmFOLHk9K2Vudi5JbmZpbml0eTt2YXIgej0wLEE9MCxCPTAsQz0wLEQ9MC4wLEU9MCxGPTAs
Rz0wLEg9MC4wO3ZhciBJPTA7dmFyIEo9MDt2YXIgSz0wO3ZhciBMPTA7dmFyIE09MDt2YXIgTj0w
O3ZhciBPPTA7dmFyIFA9MDt2YXIgUT0wO3ZhciBSPTA7dmFyIFM9Z2xvYmFsLk1hdGguZmxvb3I7
dmFyIFQ9Z2xvYmFsLk1hdGguYWJzO3ZhciBVPWdsb2JhbC5NYXRoLnNxcnQ7dmFyIFY9Z2xvYmFs
Lk1hdGgucG93O3ZhciBXPWdsb2JhbC5NYXRoLmNvczt2YXIgWD1nbG9iYWwuTWF0aC5zaW47dmFy
IFk9Z2xvYmFsLk1hdGgudGFuO3ZhciBaPWdsb2JhbC5NYXRoLmFjb3M7dmFyIF89Z2xvYmFsLk1h
dGguYXNpbjt2YXIgJD1nbG9iYWwuTWF0aC5hdGFuO3ZhciBhYT1nbG9iYWwuTWF0aC5hdGFuMjt2
YXIgYmE9Z2xvYmFsLk1hdGguZXhwO3ZhciBjYT1nbG9iYWwuTWF0aC5sb2c7dmFyIGRhPWdsb2Jh
bC5NYXRoLmNlaWw7dmFyIGVhPWdsb2JhbC5NYXRoLmltdWw7dmFyIGZhPWVudi5hYm9ydDt2YXIg
Z2E9ZW52LmFzc2VydDt2YXIgaGE9ZW52LmFzbVByaW50SW50O3ZhciBpYT1lbnYuYXNtUHJpbnRG
bG9hdDt2YXIgamE9ZW52Lm1pbjt2YXIga2E9ZW52Lmludm9rZV9paWlpO3ZhciBsYT1lbnYuaW52
b2tlX3ZpaWlpaWk7dmFyIG1hPWVudi5pbnZva2VfdmlpaWRkZGQ7dmFyIG5hPWVudi5pbnZva2Vf
dmlpaWlpaWk7dmFyIG9hPWVudi5pbnZva2VfdmlpaWRkO3ZhciBwYT1lbnYuaW52b2tlX3ZpO3Zh
ciBxYT1lbnYuaW52b2tlX3ZpaTt2YXIgcmE9ZW52Lmludm9rZV92aWlpaWlpaWlpO3ZhciBzYT1l
bnYuaW52b2tlX2lpO3ZhciB0YT1lbnYuaW52b2tlX3ZpaWlpaWlkO3ZhciB1YT1lbnYuaW52b2tl
X3ZpaWk7dmFyIHZhPWVudi5pbnZva2VfdmlpaWlpZDt2YXIgd2E9ZW52Lmludm9rZV92O3ZhciB4
YT1lbnYuaW52b2tlX2lpaWlpaWlpaTt2YXIgeWE9ZW52Lmludm9rZV9paWlpaTt2YXIgemE9ZW52
Lmludm9rZV92aWlpaWlpaWk7dmFyIEFhPWVudi5pbnZva2VfdmlpaWlpO3ZhciBCYT1lbnYuaW52
b2tlX2lpaTt2YXIgQ2E9ZW52Lmludm9rZV9paWlpaWk7dmFyIERhPWVudi5pbnZva2VfdmlpaWk7
dmFyIEVhPWVudi5fZmFiczt2YXIgRmE9ZW52Ll92c3NjYW5mO3ZhciBHYT1lbnYuX19aU3Q5dGVy
bWluYXRldjt2YXIgSGE9ZW52Ll9fX2N4YV9ndWFyZF9hY3F1aXJlO3ZhciBJYT1lbnYuX19yZWFs
bHlOZWdhdGl2ZTt2YXIgSmE9ZW52Ll9fWlN0MTh1bmNhdWdodF9leGNlcHRpb252O3ZhciBLYT1l
bnYuX19fY3R5cGVfdG91cHBlcl9sb2M7dmFyIExhPWVudi5fX2FkZERheXM7dmFyIE1hPWVudi5f
c2Jyazt2YXIgTmE9ZW52Ll9fX2N4YV9iZWdpbl9jYXRjaDt2YXIgT2E9ZW52Ll9lbXNjcmlwdGVu
X21lbWNweV9iaWc7dmFyIFBhPWVudi5fZXhwMjt2YXIgUWE9ZW52Ll9zeXNjb25mO3ZhciBSYT1l
bnYuX3RhbmY7dmFyIFNhPWVudi5fZmlsZW5vO3ZhciBUYT1lbnYuX2ZyZWFkO3ZhciBVYT1lbnYu
X3B1dHM7dmFyIFZhPWVudi5fcG93Zjt2YXIgV2E9ZW52Ll93cml0ZTt2YXIgWGE9ZW52Ll9faXNM
ZWFwWWVhcjt2YXIgWWE9ZW52Ll9leHBmO3ZhciBaYT1lbnYuX19aTlN0OWV4Y2VwdGlvbkQyRXY7
dmFyIF9hPWVudi5fX19jeGFfZG9lc19pbmhlcml0O3ZhciAkYT1lbnYuX3N0cnRvbGxfbDt2YXIg
YWI9ZW52Ll9fX2N4YV9yZXRocm93O3ZhciBiYj1lbnYuX2NhdGNsb3NlO3ZhciBjYj1lbnYuX3Nl
bmQ7dmFyIGRiPWVudi5fX19jeGFfaXNfbnVtYmVyX3R5cGU7dmFyIGViPWVudi5fX19jeGFfZnJl
ZV9leGNlcHRpb247dmFyIGZiPWVudi5fYXRhbjJmO3ZhciBnYj1lbnYuX19fY3hhX2ZpbmRfbWF0
Y2hpbmdfY2F0Y2g7dmFyIGhiPWVudi5faXN4ZGlnaXRfbDt2YXIgaWI9ZW52Ll9fX2N4YV9ndWFy
ZF9yZWxlYXNlO3ZhciBqYj1lbnYuX3N0cmVycm9yX3I7dmFyIGtiPWVudi5fX19zZXRFcnJObzt2
YXIgbGI9ZW52Ll9uZXdsb2NhbGU7dmFyIG1iPWVudi5faXNkaWdpdF9sO3ZhciBuYj1lbnYuX19f
cmVzdW1lRXhjZXB0aW9uO3ZhciBvYj1lbnYuX2ZyZWVsb2NhbGU7dmFyIHBiPWVudi5fcHJpbnRm
O3ZhciBxYj1lbnYuX3NwcmludGY7dmFyIHJiPWVudi5fdmFzcHJpbnRmO3ZhciBzYj1lbnYuX2xv
Z2Y7dmFyIHRiPWVudi5fdnNucHJpbnRmO3ZhciB1Yj1lbnYuX3N0cnRvdWxsX2w7dmFyIHZiPWVu
di5fcmVhZDt2YXIgd2I9ZW52Ll9md3JpdGU7dmFyIHhiPWVudi5fdGltZTt2YXIgeWI9ZW52Ll9m
cHJpbnRmO3ZhciB6Yj1lbnYuX2NhdG9wZW47dmFyIEFiPWVudi5fZXhpdDt2YXIgQmI9ZW52Ll9f
X2N0eXBlX2JfbG9jO3ZhciBDYj1lbnYuX2Ztb2Q7dmFyIERiPWVudi5fX19jeGFfYWxsb2NhdGVf
ZXhjZXB0aW9uO3ZhciBFYj1lbnYuX3N0cnRvbGw7dmFyIEZiPWVudi5fcHdyaXRlO3ZhciBHYj1l
bnYuX3VzZWxvY2FsZTt2YXIgSGI9ZW52Ll9zbnByaW50Zjt2YXIgSWI9ZW52Ll9fc2NhblN0cmlu
Zzt2YXIgSmI9ZW52Ll9fX2N4YV9lbmRfY2F0Y2g7dmFyIEtiPWVudi5fc3RydG91bGw7dmFyIExi
PWVudi5fc3RyZnRpbWU7dmFyIE1iPWVudi5fc2luZjt2YXIgTmI9ZW52Ll9pc3hkaWdpdDt2YXIg
T2I9ZW52Ll9mbG9vcmY7dmFyIFBiPWVudi5fc3FydGY7dmFyIFFiPWVudi5fcHRocmVhZF9jb25k
X2Jyb2FkY2FzdDt2YXIgUmI9ZW52Ll9yZWN2O3ZhciBTYj1lbnYuX2ZnZXRjO3ZhciBUYj1lbnYu
X19wYXJzZUludDY0O3ZhciBVYj1lbnYuX19nZXRGbG9hdDt2YXIgVmI9ZW52Ll9hYm9ydDt2YXIg
V2I9ZW52Ll9pc3NwYWNlO3ZhciBYYj1lbnYuX19fY3hhX3B1cmVfdmlydHVhbDt2YXIgWWI9ZW52
Ll9wdGhyZWFkX2NvbmRfd2FpdDt2YXIgWmI9ZW52Ll9jb3NmO3ZhciBfYj1lbnYuX3VuZ2V0Yzt2
YXIgJGI9ZW52Ll9mZmx1c2g7dmFyIGFjPWVudi5fc3RyZnRpbWVfbDt2YXIgYmM9ZW52Ll9wdGhy
ZWFkX211dGV4X2xvY2s7dmFyIGNjPWVudi5fc3NjYW5mO3ZhciBkYz1lbnYuX2NhdGdldHM7dmFy
IGVjPWVudi5fYXNwcmludGY7dmFyIGZjPWVudi5fX2V4aXQ7dmFyIGdjPWVudi5fX2FycmF5U3Vt
O3ZhciBoYz1lbnYuX19fY3R5cGVfdG9sb3dlcl9sb2M7dmFyIGljPWVudi5fZnB1dHM7dmFyIGpj
PWVudi5fcHRocmVhZF9tdXRleF91bmxvY2s7dmFyIGtjPWVudi5fcHJlYWQ7dmFyIGxjPWVudi5f
bWtwb3J0O3ZhciBtYz1lbnYuX19fZXJybm9fbG9jYXRpb247dmFyIG5jPWVudi5fY29weXNpZ247
dmFyIG9jPWVudi5fZnB1dGM7dmFyIHBjPWVudi5fX19jeGFfdGhyb3c7dmFyIHFjPWVudi5faXNk
aWdpdDt2YXIgcmM9ZW52Ll9zdHJlcnJvcjt2YXIgc2M9ZW52Ll9fZm9ybWF0U3RyaW5nO3ZhciB0
Yz1lbnYuX2F0ZXhpdDt2YXIgdWM9MC4wOwovLyBFTVNDUklQVEVOX1NUQVJUX0ZVTkNTCmZ1bmN0
aW9uIFFqKGEsYixkLGUsZil7YT1hfDA7Yj1ifDA7ZD1kfDA7ZT1lfDA7Zj1mfDA7dmFyIGc9MCxo
PTAsaj0wLGs9MCxsPTAsbT0wLG49MCxvPTAscD0wLHE9MCxyPTAscz0wLHQ9MCx1PTAsdj0wLHc9
MCx4PTAseT0wLHo9MCxBPTAsQj0wLEM9MCxEPTAsRT0wLEY9MCxHPTA7Zz1pO2g9Y1thPj4yXXww
O2Rve2lmKChofDApIT0wKXtqPWNbaCsxMj4+Ml18MDtpZigoanwwKT09KGNbaCsxNj4+Ml18MCkp
e2s9RGNbY1soY1toPj4yXXwwKSszNj4+Ml0mMTI3XShoKXwwfWVsc2V7az1jW2o+PjJdfDB9aWYo
KGt8MCk9PS0xKXtjW2E+PjJdPTA7bD0xO2JyZWFrfWVsc2V7bD0oY1thPj4yXXwwKT09MDticmVh
a319ZWxzZXtsPTF9fXdoaWxlKDApO2s9Y1tiPj4yXXwwO2Rve2lmKChrfDApIT0wKXtoPWNbaysx
Mj4+Ml18MDtpZigoaHwwKT09KGNbaysxNj4+Ml18MCkpe209RGNbY1soY1trPj4yXXwwKSszNj4+
Ml0mMTI3XShrKXwwfWVsc2V7bT1jW2g+PjJdfDB9aWYoISgobXwwKT09LTEpKXtpZihsKXtuPWs7
YnJlYWt9ZWxzZXtvPTE2O2JyZWFrfX1lbHNle2NbYj4+Ml09MDtvPTE0O2JyZWFrfX1lbHNle289
MTR9fXdoaWxlKDApO2lmKChvfDApPT0xNCl7aWYobCl7bz0xNn1lbHNle249MH19aWYoKG98MCk9
PTE2KXtjW2Q+PjJdPWNbZD4+Ml18NjtwPTA7aT1nO3JldHVybiBwfDB9bD1jW2E+PjJdfDA7az1j
W2wrMTI+PjJdfDA7aWYoKGt8MCk9PShjW2wrMTY+PjJdfDApKXtxPURjW2NbKGNbbD4+Ml18MCkr
MzY+PjJdJjEyN10obCl8MH1lbHNle3E9Y1trPj4yXXwwfWlmKCEodmNbY1soY1tlPj4yXXwwKSsx
Mj4+Ml0mMzFdKGUsMjA0OCxxKXwwKSl7Y1tkPj4yXT1jW2Q+PjJdfDQ7cD0wO2k9ZztyZXR1cm4g
cHwwfWs9KHZjW2NbKGNbZT4+Ml18MCkrNTI+PjJdJjMxXShlLHEsMCl8MCk8PDI0Pj4yNDtxPWNb
YT4+Ml18MDtsPXErMTJ8MDttPWNbbD4+Ml18MDtpZigobXwwKT09KGNbcSsxNj4+Ml18MCkpe0Rj
W2NbKGNbcT4+Ml18MCkrNDA+PjJdJjEyN10ocSl8MDtyPWY7cz1uO3Q9bjt1PWt9ZWxzZXtjW2w+
PjJdPW0rNDtyPWY7cz1uO3Q9bjt1PWt9d2hpbGUoMSl7dj11KyAtNDh8MDtrPXIrIC0xfDA7bj1j
W2E+PjJdfDA7ZG97aWYoKG58MCkhPTApe2Y9Y1tuKzEyPj4yXXwwO2lmKChmfDApPT0oY1tuKzE2
Pj4yXXwwKSl7dz1EY1tjWyhjW24+PjJdfDApKzM2Pj4yXSYxMjddKG4pfDB9ZWxzZXt3PWNbZj4+
Ml18MH1pZigod3wwKT09LTEpe2NbYT4+Ml09MDt4PTE7YnJlYWt9ZWxzZXt4PShjW2E+PjJdfDAp
PT0wO2JyZWFrfX1lbHNle3g9MX19d2hpbGUoMCk7ZG97aWYoKHR8MCkhPTApe249Y1t0KzEyPj4y
XXwwO2lmKChufDApPT0oY1t0KzE2Pj4yXXwwKSl7eT1EY1tjWyhjW3Q+PjJdfDApKzM2Pj4yXSYx
MjddKHQpfDB9ZWxzZXt5PWNbbj4+Ml18MH1pZigoeXwwKT09LTEpe2NbYj4+Ml09MDt6PTA7QT0w
O0I9MTticmVha31lbHNle3o9cztBPXM7Qj0oc3wwKT09MDticmVha319ZWxzZXt6PXM7QT0wO0I9
MX19d2hpbGUoMCk7Qz1jW2E+PjJdfDA7aWYoISgoeF5CKSYoa3wwKT4wKSl7YnJlYWt9bj1jW0Mr
MTI+PjJdfDA7aWYoKG58MCk9PShjW0MrMTY+PjJdfDApKXtEPURjW2NbKGNbQz4+Ml18MCkrMzY+
PjJdJjEyN10oQyl8MH1lbHNle0Q9Y1tuPj4yXXwwfWlmKCEodmNbY1soY1tlPj4yXXwwKSsxMj4+
Ml0mMzFdKGUsMjA0OCxEKXwwKSl7cD12O289NjM7YnJlYWt9bj0oKHZjW2NbKGNbZT4+Ml18MCkr
NTI+PjJdJjMxXShlLEQsMCl8MCk8PDI0Pj4yNCkrKHYqMTB8MCl8MDtmPWNbYT4+Ml18MDttPWYr
MTJ8MDtsPWNbbT4+Ml18MDtpZigobHwwKT09KGNbZisxNj4+Ml18MCkpe0RjW2NbKGNbZj4+Ml18
MCkrNDA+PjJdJjEyN10oZil8MDtyPWs7cz16O3Q9QTt1PW47Y29udGludWV9ZWxzZXtjW20+PjJd
PWwrNDtyPWs7cz16O3Q9QTt1PW47Y29udGludWV9fWlmKChvfDApPT02Myl7aT1nO3JldHVybiBw
fDB9ZG97aWYoKEN8MCkhPTApe3U9Y1tDKzEyPj4yXXwwO2lmKCh1fDApPT0oY1tDKzE2Pj4yXXww
KSl7RT1EY1tjWyhjW0M+PjJdfDApKzM2Pj4yXSYxMjddKEMpfDB9ZWxzZXtFPWNbdT4+Ml18MH1p
ZigoRXwwKT09LTEpe2NbYT4+Ml09MDtGPTE7YnJlYWt9ZWxzZXtGPShjW2E+PjJdfDApPT0wO2Jy
ZWFrfX1lbHNle0Y9MX19d2hpbGUoMCk7ZG97aWYoKHp8MCkhPTApe2E9Y1t6KzEyPj4yXXwwO2lm
KChhfDApPT0oY1t6KzE2Pj4yXXwwKSl7Rz1EY1tjWyhjW3o+PjJdfDApKzM2Pj4yXSYxMjddKHop
fDB9ZWxzZXtHPWNbYT4+Ml18MH1pZigoR3wwKT09LTEpe2NbYj4+Ml09MDtvPTYwO2JyZWFrfWlm
KEYpe3A9djtpPWc7cmV0dXJuIHB8MH19ZWxzZXtvPTYwfX13aGlsZSgwKTtpZigob3wwKT09NjA/
IUY6MCl7cD12O2k9ZztyZXR1cm4gcHwwfWNbZD4+Ml09Y1tkPj4yXXwyO3A9djtpPWc7cmV0dXJu
IHB8MH1mdW5jdGlvbiBSaihiKXtiPWJ8MDt2YXIgZD0wLGU9MCxmPTA7ZD1pO2U9Yis4fDA7Zj1j
W2U+PjJdfDA7aWYoKGFbMTE4ODhdfDApPT0wPyhIYSgxMTg4OCl8MCkhPTA6MCl7Y1syOTcwXT1s
YigyMTQ3NDgzNjQ3LDExODk2LDApfDA7aWIoMTE4ODgpfWlmKChmfDApPT0oY1syOTcwXXwwKSl7
Q28oYik7aT1kO3JldHVybn1vYihjW2U+PjJdfDApO0NvKGIpO2k9ZDtyZXR1cm59ZnVuY3Rpb24g
U2ooYil7Yj1ifDA7dmFyIGQ9MCxlPTA7ZD1pO2U9Yis4fDA7Yj1jW2U+PjJdfDA7aWYoKGFbMTE4
ODhdfDApPT0wPyhIYSgxMTg4OCl8MCkhPTA6MCl7Y1syOTcwXT1sYigyMTQ3NDgzNjQ3LDExODk2
LDApfDA7aWIoMTE4ODgpfWlmKChifDApPT0oY1syOTcwXXwwKSl7aT1kO3JldHVybn1vYihjW2U+
PjJdfDApO2k9ZDtyZXR1cm59ZnVuY3Rpb24gVGooYixkLGUsZixnLGgsaixrKXtiPWJ8MDtkPWR8
MDtlPWV8MDtmPWZ8MDtnPWd8MDtoPWh8MDtqPWp8MDtrPWt8MDt2YXIgbD0wLG09MCxuPTAsbz0w
LHA9MCxxPTAscj0wLHM9MCx0PTA7Zz1pO2k9aSsxMTJ8MDtmPWcrMTAwfDA7bD1nO2FbZl09Mzc7
bT1mKzF8MDthW21dPWo7bj1mKzJ8MDthW25dPWs7YVtmKzN8MF09MDtpZighKGs8PDI0Pj4yND09
MCkpe2FbbV09azthW25dPWp9aj1hYyhsfDAsMTAwLGZ8MCxofDAsY1tkKzg+PjJdfDApfDA7ZD1s
K2p8MDtoPWNbZT4+Ml18MDtpZigoanwwKT09MCl7bz1oO2NbYj4+Ml09bztpPWc7cmV0dXJufWVs
c2V7cD1sO3E9aDtyPWh9d2hpbGUoMSl7aD1hW3BdfDA7ZG97aWYoKHF8MCkhPTApe2w9cSsyNHww
O2o9Y1tsPj4yXXwwO2lmKChqfDApPT0oY1txKzI4Pj4yXXwwKSl7ZT0oTWNbY1soY1txPj4yXXww
KSs1Mj4+Ml0mMzFdKHEsaCYyNTUpfDApPT0tMTtzPWU/MDpyO3Q9ZT8wOnE7YnJlYWt9ZWxzZXtj
W2w+PjJdPWorMTthW2pdPWg7cz1yO3Q9cTticmVha319ZWxzZXtzPXI7dD0wfX13aGlsZSgwKTto
PXArMXwwO2lmKChofDApPT0oZHwwKSl7bz1zO2JyZWFrfWVsc2V7cD1oO3E9dDtyPXN9fWNbYj4+
Ml09bztpPWc7cmV0dXJufWZ1bmN0aW9uIFVqKGIpe2I9YnwwO3ZhciBkPTAsZT0wLGY9MDtkPWk7
ZT1iKzh8MDtmPWNbZT4+Ml18MDtpZigoYVsxMTg4OF18MCk9PTA/KEhhKDExODg4KXwwKSE9MDow
KXtjWzI5NzBdPWxiKDIxNDc0ODM2NDcsMTE4OTYsMCl8MDtpYigxMTg4OCl9aWYoKGZ8MCk9PShj
WzI5NzBdfDApKXtDbyhiKTtpPWQ7cmV0dXJufW9iKGNbZT4+Ml18MCk7Q28oYik7aT1kO3JldHVy
bn1mdW5jdGlvbiBWaihiKXtiPWJ8MDt2YXIgZD0wLGU9MDtkPWk7ZT1iKzh8MDtiPWNbZT4+Ml18
MDtpZigoYVsxMTg4OF18MCk9PTA/KEhhKDExODg4KXwwKSE9MDowKXtjWzI5NzBdPWxiKDIxNDc0
ODM2NDcsMTE4OTYsMCl8MDtpYigxMTg4OCl9aWYoKGJ8MCk9PShjWzI5NzBdfDApKXtpPWQ7cmV0
dXJufW9iKGNbZT4+Ml18MCk7aT1kO3JldHVybn1mdW5jdGlvbiBXaihhLGIsZCxlLGYsZyxoLGop
e2E9YXwwO2I9YnwwO2Q9ZHwwO2U9ZXwwO2Y9ZnwwO2c9Z3wwO2g9aHwwO2o9anwwO3ZhciBrPTAs
bD0wLG09MCxuPTAsbz0wLHA9MCxxPTAscj0wO2Y9aTtpPWkrNDE2fDA7ZT1mKzh8MDtrPWY7Y1tr
Pj4yXT1lKzQwMDtYaihiKzh8MCxlLGssZyxoLGopO2o9Y1trPj4yXXwwO2s9Y1tkPj4yXXwwO2lm
KChlfDApPT0oanwwKSl7bD1rO2NbYT4+Ml09bDtpPWY7cmV0dXJufWVsc2V7bT1lO249aztvPWt9
d2hpbGUoMSl7az1jW20+PjJdfDA7aWYoKG98MCk9PTApe3A9bjtxPTB9ZWxzZXtlPW8rMjR8MDtk
PWNbZT4+Ml18MDtpZigoZHwwKT09KGNbbysyOD4+Ml18MCkpe3I9TWNbY1soY1tvPj4yXXwwKSs1
Mj4+Ml0mMzFdKG8sayl8MH1lbHNle2NbZT4+Ml09ZCs0O2NbZD4+Ml09aztyPWt9az0ocnwwKT09
LTE7cD1rPzA6bjtxPWs/MDpvfWs9bSs0fDA7aWYoKGt8MCk9PShqfDApKXtsPXA7YnJlYWt9ZWxz
ZXttPWs7bj1wO289cX19Y1thPj4yXT1sO2k9ZjtyZXR1cm59ZnVuY3Rpb24gWGooYixkLGUsZixn
LGgpe2I9YnwwO2Q9ZHwwO2U9ZXwwO2Y9ZnwwO2c9Z3wwO2g9aHwwO3ZhciBqPTAsaz0wLGw9MCxt
PTAsbj0wLG89MCxwPTA7aj1pO2k9aSsxMjh8MDtrPWorMTEyfDA7bD1qKzEyfDA7bT1qO249ais4
fDA7YVtrXT0zNztvPWsrMXwwO2Fbb109ZztwPWsrMnwwO2FbcF09aDthW2srM3wwXT0wO2lmKCEo
aDw8MjQ+PjI0PT0wKSl7YVtvXT1oO2FbcF09Z31hYyhsfDAsMTAwLGt8MCxmfDAsY1tiPj4yXXww
KXwwO2Y9bTtjW2Y+PjJdPTA7Y1tmKzQ+PjJdPTA7Y1tuPj4yXT1sO2w9KGNbZT4+Ml18MCktZD4+
MjtmPUdiKGNbYj4+Ml18MCl8MDtiPVJuKGQsbixsLG0pfDA7aWYoKGZ8MCkhPTApe0diKGZ8MCl8
MH1pZigoYnwwKT09LTEpe1RrKDEyODcyKX1lbHNle2NbZT4+Ml09ZCsoYjw8Mik7aT1qO3JldHVy
bn19ZnVuY3Rpb24gWWooYSl7YT1hfDA7dmFyIGI9MDtiPWk7Q28oYSk7aT1iO3JldHVybn1mdW5j
dGlvbiBaaihhKXthPWF8MDtyZXR1cm59ZnVuY3Rpb24gX2ooYSl7YT1hfDA7cmV0dXJuIDEyN31m
dW5jdGlvbiAkaihhKXthPWF8MDtyZXR1cm4gMTI3fWZ1bmN0aW9uIGFrKGEsYil7YT1hfDA7Yj1i
fDA7Yj1pO2NbYSswPj4yXT0wO2NbYSs0Pj4yXT0wO2NbYSs4Pj4yXT0wO2k9YjtyZXR1cm59ZnVu
Y3Rpb24gYmsoYSxiKXthPWF8MDtiPWJ8MDtiPWk7Y1thKzA+PjJdPTA7Y1thKzQ+PjJdPTA7Y1th
Kzg+PjJdPTA7aT1iO3JldHVybn1mdW5jdGlvbiBjayhhLGIpe2E9YXwwO2I9YnwwO2I9aTtjW2Er
MD4+Ml09MDtjW2ErND4+Ml09MDtjW2ErOD4+Ml09MDtpPWI7cmV0dXJufWZ1bmN0aW9uIGRrKGEs
Yil7YT1hfDA7Yj1ifDA7Yj1pO2RnKGEsMSw0NSk7aT1iO3JldHVybn1mdW5jdGlvbiBlayhhKXth
PWF8MDtyZXR1cm4gMH1mdW5jdGlvbiBmayhiLGMpe2I9YnwwO2M9Y3wwO2FbYl09NjcxMDk2MzQ7
YVtiKzF8MF09MjYyMTQ3O2FbYisyfDBdPTEwMjQ7YVtiKzN8MF09NDtyZXR1cm59ZnVuY3Rpb24g
Z2soYixjKXtiPWJ8MDtjPWN8MDthW2JdPTY3MTA5NjM0O2FbYisxfDBdPTI2MjE0NzthW2IrMnww
XT0xMDI0O2FbYiszfDBdPTQ7cmV0dXJufWZ1bmN0aW9uIGhrKGEpe2E9YXwwO3ZhciBiPTA7Yj1p
O0NvKGEpO2k9YjtyZXR1cm59ZnVuY3Rpb24gaWsoYSl7YT1hfDA7cmV0dXJufWZ1bmN0aW9uIGpr
KGEpe2E9YXwwO3JldHVybiAxMjd9ZnVuY3Rpb24ga2soYSl7YT1hfDA7cmV0dXJuIDEyN31mdW5j
dGlvbiBsayhhLGIpe2E9YXwwO2I9YnwwO2I9aTtjW2ErMD4+Ml09MDtjW2ErND4+Ml09MDtjW2Er
OD4+Ml09MDtpPWI7cmV0dXJufWZ1bmN0aW9uIG1rKGEsYil7YT1hfDA7Yj1ifDA7Yj1pO2NbYSsw
Pj4yXT0wO2NbYSs0Pj4yXT0wO2NbYSs4Pj4yXT0wO2k9YjtyZXR1cm59ZnVuY3Rpb24gbmsoYSxi
KXthPWF8MDtiPWJ8MDtiPWk7Y1thKzA+PjJdPTA7Y1thKzQ+PjJdPTA7Y1thKzg+PjJdPTA7aT1i
O3JldHVybn1mdW5jdGlvbiBvayhhLGIpe2E9YXwwO2I9YnwwO2I9aTtkZyhhLDEsNDUpO2k9Yjty
ZXR1cm59ZnVuY3Rpb24gcGsoYSl7YT1hfDA7cmV0dXJuIDB9ZnVuY3Rpb24gcWsoYixjKXtiPWJ8
MDtjPWN8MDthW2JdPTY3MTA5NjM0O2FbYisxfDBdPTI2MjE0NzthW2IrMnwwXT0xMDI0O2FbYisz
fDBdPTQ7cmV0dXJufWZ1bmN0aW9uIHJrKGIsYyl7Yj1ifDA7Yz1jfDA7YVtiXT02NzEwOTYzNDth
W2IrMXwwXT0yNjIxNDc7YVtiKzJ8MF09MTAyNDthW2IrM3wwXT00O3JldHVybn1mdW5jdGlvbiBz
ayhhKXthPWF8MDt2YXIgYj0wO2I9aTtDbyhhKTtpPWI7cmV0dXJufWZ1bmN0aW9uIHRrKGEpe2E9
YXwwO3JldHVybn1mdW5jdGlvbiB1ayhhKXthPWF8MDtyZXR1cm4gMjE0NzQ4MzY0N31mdW5jdGlv
biB2ayhhKXthPWF8MDtyZXR1cm4gMjE0NzQ4MzY0N31mdW5jdGlvbiB3ayhhLGIpe2E9YXwwO2I9
YnwwO2I9aTtjW2ErMD4+Ml09MDtjW2ErND4+Ml09MDtjW2ErOD4+Ml09MDtpPWI7cmV0dXJufWZ1
bmN0aW9uIHhrKGEsYil7YT1hfDA7Yj1ifDA7Yj1pO2NbYSswPj4yXT0wO2NbYSs0Pj4yXT0wO2Nb
YSs4Pj4yXT0wO2k9YjtyZXR1cm59ZnVuY3Rpb24geWsoYSxiKXthPWF8MDtiPWJ8MDtiPWk7Y1th
KzA+PjJdPTA7Y1thKzQ+PjJdPTA7Y1thKzg+PjJdPTA7aT1iO3JldHVybn1mdW5jdGlvbiB6ayhh
LGIpe2E9YXwwO2I9YnwwO2I9aTtwZyhhLDEsNDUpO2k9YjtyZXR1cm59ZnVuY3Rpb24gQWsoYSl7
YT1hfDA7cmV0dXJuIDB9ZnVuY3Rpb24gQmsoYixjKXtiPWJ8MDtjPWN8MDthW2JdPTY3MTA5NjM0
O2FbYisxfDBdPTI2MjE0NzthW2IrMnwwXT0xMDI0O2FbYiszfDBdPTQ7cmV0dXJufWZ1bmN0aW9u
IENrKGIsYyl7Yj1ifDA7Yz1jfDA7YVtiXT02NzEwOTYzNDthW2IrMXwwXT0yNjIxNDc7YVtiKzJ8
MF09MTAyNDthW2IrM3wwXT00O3JldHVybn1mdW5jdGlvbiBEayhhKXthPWF8MDt2YXIgYj0wO2I9
aTtDbyhhKTtpPWI7cmV0dXJufWZ1bmN0aW9uIEVrKGEpe2E9YXwwO3JldHVybn1mdW5jdGlvbiBG
ayhhKXthPWF8MDtyZXR1cm4gMjE0NzQ4MzY0N31mdW5jdGlvbiBHayhhKXthPWF8MDtyZXR1cm4g
MjE0NzQ4MzY0N31mdW5jdGlvbiBIayhhLGIpe2E9YXwwO2I9YnwwO2I9aTtjW2ErMD4+Ml09MDtj
W2ErND4+Ml09MDtjW2ErOD4+Ml09MDtpPWI7cmV0dXJufWZ1bmN0aW9uIElrKGEsYil7YT1hfDA7
Yj1ifDA7Yj1pO2NbYSswPj4yXT0wO2NbYSs0Pj4yXT0wO2NbYSs4Pj4yXT0wO2k9YjtyZXR1cm59
ZnVuY3Rpb24gSmsoYSxiKXthPWF8MDtiPWJ8MDtiPWk7Y1thKzA+PjJdPTA7Y1thKzQ+PjJdPTA7
Y1thKzg+PjJdPTA7aT1iO3JldHVybn1mdW5jdGlvbiBLayhhLGIpe2E9YXwwO2I9YnwwO2I9aTtw
ZyhhLDEsNDUpO2k9YjtyZXR1cm59ZnVuY3Rpb24gTGsoYSl7YT1hfDA7cmV0dXJuIDB9ZnVuY3Rp
b24gTWsoYixjKXtiPWJ8MDtjPWN8MDthW2JdPTY3MTA5NjM0O2FbYisxfDBdPTI2MjE0NzthW2Ir
MnwwXT0xMDI0O2FbYiszfDBdPTQ7cmV0dXJufWZ1bmN0aW9uIE5rKGIsYyl7Yj1ifDA7Yz1jfDA7
YVtiXT02NzEwOTYzNDthW2IrMXwwXT0yNjIxNDc7YVtiKzJ8MF09MTAyNDthW2IrM3wwXT00O3Jl
dHVybn1mdW5jdGlvbiBPayhhKXthPWF8MDt2YXIgYj0wO2I9aTtDbyhhKTtpPWI7cmV0dXJufWZ1
bmN0aW9uIFBrKGEpe2E9YXwwO3JldHVybn1mdW5jdGlvbiBRayhiLGQsZSxmLGcsaCxqLGspe2I9
YnwwO2Q9ZHwwO2U9ZXwwO2Y9ZnwwO2c9Z3wwO2g9aHwwO2o9anwwO2s9a3wwO3ZhciBsPTAsbT0w
LG49MCxvPTAscD0wLHE9MCxyPTAscz0wLHQ9MCx1PTAsdj0wLHc9MCx4PTAseT0wLHo9MCxBPTAs
Qj0wLEM9MCxEPTAsRT0wLEY9MDtkPWk7aT1pKzI1NnwwO2w9ZDttPWQrMTQ0fDA7bj1kKzE2fDA7
bz1kKzEyfDA7cD1kKzI4fDA7cT1kKzI0NHwwO3I9ZCsyNHwwO3M9ZCsxMzJ8MDt0PWQrMzJ8MDtj
W24+PjJdPW07dT1uKzR8MDtjW3U+PjJdPTEzNjt2PW0rMTAwfDA7emcocCxoKTttPWNbcD4+Ml18
MDtpZighKChjWzI5OThdfDApPT0tMSkpe2NbbD4+Ml09MTE5OTI7Y1tsKzQ+PjJdPTEzNDtjW2wr
OD4+Ml09MDskZigxMTk5MixsLDEzNSl9dz0oY1sxMTk5Nj4+Ml18MCkrIC0xfDA7eD1jW20rOD4+
Ml18MDtpZighKChjW20rMTI+PjJdfDApLXg+PjI+Pj4wPnc+Pj4wKSl7eT1EYig0KXwwOyRuKHkp
O3BjKHl8MCwxOTk1MiwxMjMpfW09Y1t4Kyh3PDwyKT4+Ml18MDtpZigobXwwKT09MCl7eT1EYig0
KXwwOyRuKHkpO3BjKHl8MCwxOTk1MiwxMjMpfWFbcV09MDtjW3I+PjJdPWNbZj4+Ml07eT1jW2gr
ND4+Ml18MDtjW2wrMD4+Ml09Y1tyKzA+PjJdO2lmKFNrKGUsbCxnLHAseSxqLHEsbSxuLG8sdil8
MCl7SmNbY1soY1ttPj4yXXwwKSszMj4+Ml0mN10obSwxMTYwOCwxMTYxOHwwLHMpfDA7bT1jW28+
PjJdfDA7dj1jW24+PjJdfDA7eT1tLXZ8MDtpZigoeXwwKT45OCl7Zz12byh5KzJ8MCl8MDtpZigo
Z3wwKT09MCl7SG8oKX1lbHNle3o9ZztBPWd9fWVsc2V7ej0wO0E9dH1pZigoYVtxXXwwKT09MCl7
Qj1BfWVsc2V7YVtBXT00NTtCPUErMXwwfWlmKHY+Pj4wPG0+Pj4wKXttPXMrMTB8MDtBPXM7cT1C
O2c9djt3aGlsZSgxKXt2PWFbZ118MDt5PXM7d2hpbGUoMSl7cj15KzF8MDtpZigoYVt5XXwwKT09
djw8MjQ+PjI0KXtDPXk7YnJlYWt9aWYoKHJ8MCk9PShtfDApKXtDPW07YnJlYWt9ZWxzZXt5PXJ9
fWFbcV09YVsxMTYwOCsoQy1BKXwwXXwwO3k9ZysxfDA7dj1xKzF8MDtpZih5Pj4+MDwoY1tvPj4y
XXwwKT4+PjApe3E9djtnPXl9ZWxzZXtEPXY7YnJlYWt9fX1lbHNle0Q9Qn1hW0RdPTA7Y1tsPj4y
XT1rO2lmKChjYyh0fDAsMTE2MjQsbHwwKXwwKSE9MSl7bD1EYig4KXwwO05mKGwsMTE2MzIpO3Bj
KGx8MCw4OTIwLDM3KX1pZigoenwwKSE9MCl7d28oeil9fXo9Y1tlPj4yXXwwO2lmKCh6fDApIT0w
KXtpZigoY1t6KzEyPj4yXXwwKT09KGNbeisxNj4+Ml18MCk/KERjW2NbKGNbej4+Ml18MCkrMzY+
PjJdJjEyN10oeil8MCk9PS0xOjApe2NbZT4+Ml09MDtFPTB9ZWxzZXtFPXp9fWVsc2V7RT0wfXo9
KEV8MCk9PTA7ZT1jW2Y+PjJdfDA7ZG97aWYoKGV8MCkhPTApe2lmKChjW2UrMTI+PjJdfDApIT0o
Y1tlKzE2Pj4yXXwwKSl7aWYoeil7YnJlYWt9ZWxzZXtGPTMzO2JyZWFrfX1pZighKChEY1tjWyhj
W2U+PjJdfDApKzM2Pj4yXSYxMjddKGUpfDApPT0tMSkpe2lmKHope2JyZWFrfWVsc2V7Rj0zMzti
cmVha319ZWxzZXtjW2Y+PjJdPTA7Rj0zMTticmVha319ZWxzZXtGPTMxfX13aGlsZSgwKTtpZigo
RnwwKT09MzE/ejowKXtGPTMzfWlmKChGfDApPT0zMyl7Y1tqPj4yXT1jW2o+PjJdfDJ9Y1tiPj4y
XT1FO0hmKGNbcD4+Ml18MCl8MDtwPWNbbj4+Ml18MDtjW24+PjJdPTA7aWYoKHB8MCk9PTApe2k9
ZDtyZXR1cm59QWNbY1t1Pj4yXSYyNTVdKHApO2k9ZDtyZXR1cm59ZnVuY3Rpb24gUmsoYSl7YT1h
fDA7cmV0dXJufWZ1bmN0aW9uIFNrKGUsZixnLGgsaixrLGwsbSxuLG8scCl7ZT1lfDA7Zj1mfDA7
Zz1nfDA7aD1ofDA7aj1qfDA7az1rfDA7bD1sfDA7bT1tfDA7bj1ufDA7bz1vfDA7cD1wfDA7dmFy
IHE9MCxyPTAscz0wLHQ9MCx1PTAsdj0wLHc9MCx4PTAseT0wLHo9MCxBPTAsQj0wLEM9MCxEPTAs
RT0wLEY9MCxHPTAsSD0wLEk9MCxKPTAsSz0wLEw9MCxNPTAsTj0wLE89MCxQPTAsUT0wLFI9MCxT
PTAsVD0wLFU9MCxWPTAsVz0wLFg9MCxZPTAsWj0wLF89MCwkPTAsYWE9MCxiYT0wLGNhPTAsZGE9
MCxlYT0wLGZhPTAsZ2E9MCxoYT0wLGlhPTAsamE9MCxrYT0wLGxhPTAsbWE9MCxuYT0wLG9hPTAs
cGE9MCxxYT0wLHJhPTAsc2E9MCx0YT0wLHVhPTAsdmE9MCx3YT0wLHhhPTAseWE9MCx6YT0wLEFh
PTAsQmE9MCxDYT0wLERhPTAsRWE9MCxGYT0wLEdhPTAsSGE9MCxJYT0wLEphPTAsS2E9MCxMYT0w
LE1hPTAsTmE9MCxPYT0wLFBhPTAsUWE9MCxSYT0wLFNhPTAsVGE9MCxVYT0wLFZhPTAsV2E9MCxY
YT0wLFlhPTAsWmE9MCxfYT0wLCRhPTAsYWI9MCxiYj0wLGNiPTAsZGI9MCxlYj0wLGZiPTAsZ2I9
MCxoYj0wLGliPTAsamI9MCxrYj0wLGxiPTAsbWI9MCxuYj0wLG9iPTAscGI9MCxxYj0wLHJiPTAs
c2I9MCx0Yj0wLHViPTAsdmI9MCx3Yj0wLHhiPTAseWI9MCx6Yj0wLEFiPTAsQmI9MCxDYj0wLERi
PTAsRWI9MCxGYj0wLEdiPTAsSGI9MCxJYj0wLEpiPTAsS2I9MCxMYj0wLE1iPTAsTmI9MCxPYj0w
LFBiPTAsUWI9MCxSYj0wLFNiPTAsVGI9MCxVYj0wLFZiPTAsV2I9MCxYYj0wLFliPTAsWmI9MCxf
Yj0wLCRiPTAsYWM9MCxiYz0wLGNjPTAsZGM9MCxlYz0wLGZjPTAsZ2M9MCxoYz0wLGljPTAsamM9
MCxrYz0wO3E9aTtpPWkrNDgwfDA7cj1xO3M9cSs0Mjh8MDt0PXErNDcyfDA7dT1xKzQ3M3wwO3Y9
cSs0NDh8MDt3PXErNDYwfDA7eD1xKzQxNnwwO3k9cSs0MzZ8MDt6PXErNDAwfDA7QT1xKzQzMnww
O0I9cSs0MTJ8MDtjW3M+PjJdPTA7Y1t2KzA+PjJdPTA7Y1t2KzQ+PjJdPTA7Y1t2Kzg+PjJdPTA7
Y1t3KzA+PjJdPTA7Y1t3KzQ+PjJdPTA7Y1t3Kzg+PjJdPTA7Y1t4KzA+PjJdPTA7Y1t4KzQ+PjJd
PTA7Y1t4Kzg+PjJdPTA7Y1t5KzA+PjJdPTA7Y1t5KzQ+PjJdPTA7Y1t5Kzg+PjJdPTA7Y1t6KzA+
PjJdPTA7Y1t6KzQ+PjJdPTA7Y1t6Kzg+PjJdPTA7V2soZyxoLHMsdCx1LHYsdyx4LHksQSk7Y1tv
Pj4yXT1jW24+PjJdO2g9bSs4fDA7bT15KzF8MDtnPXkrNHwwO0M9eSs4fDA7RD14KzF8MDtFPXgr
NHwwO0Y9eCs4fDA7Rz0oaiY1MTJ8MCkhPTA7aj13KzF8MDtIPXcrOHwwO0k9dys0fDA7Sj16KzF8
MDtLPXorOHwwO0w9eis0fDA7TT1zKzN8MDtOPW4rNHwwO089dis0fDA7UD1yKzQwMHwwO1E9cjtS
PXI7cj1wO3A9MDtTPTA7VD0xMzY7YTp3aGlsZSgxKXtVPWNbZT4+Ml18MDtkb3tpZigoVXwwKSE9
MCl7aWYoKGNbVSsxMj4+Ml18MCk9PShjW1UrMTY+PjJdfDApKXtpZigoRGNbY1soY1tVPj4yXXww
KSszNj4+Ml0mMTI3XShVKXwwKT09LTEpe2NbZT4+Ml09MDtWPTA7YnJlYWt9ZWxzZXtWPWNbZT4+
Ml18MDticmVha319ZWxzZXtWPVV9fWVsc2V7Vj0wfX13aGlsZSgwKTtVPShWfDApPT0wO1c9Y1tm
Pj4yXXwwO2Rve2lmKChXfDApIT0wKXtpZigoY1tXKzEyPj4yXXwwKSE9KGNbVysxNj4+Ml18MCkp
e2lmKFUpe1g9VzticmVha31lbHNle1k9UjtaPVE7Xz1TOyQ9VDthYT0yNjk7YnJlYWsgYX19aWYo
ISgoRGNbY1soY1tXPj4yXXwwKSszNj4+Ml0mMTI3XShXKXwwKT09LTEpKXtpZihVKXtYPVc7YnJl
YWt9ZWxzZXtZPVI7Wj1RO189UzskPVQ7YWE9MjY5O2JyZWFrIGF9fWVsc2V7Y1tmPj4yXT0wO2Fh
PTEyO2JyZWFrfX1lbHNle2FhPTEyfX13aGlsZSgwKTtpZigoYWF8MCk9PTEyKXthYT0wO2lmKFUp
e1k9UjtaPVE7Xz1TOyQ9VDthYT0yNjk7YnJlYWt9ZWxzZXtYPTB9fWI6ZG97c3dpdGNoKGFbcytw
fDBdfDApe2Nhc2UgMTp7aWYoKHB8MCk9PTMpe1k9UjtaPVE7Xz1TOyQ9VDthYT0yNjk7YnJlYWsg
YX1XPWNbZT4+Ml18MDtiYT1jW1crMTI+PjJdfDA7aWYoKGJhfDApPT0oY1tXKzE2Pj4yXXwwKSl7
Y2E9RGNbY1soY1tXPj4yXXwwKSszNj4+Ml0mMTI3XShXKXwwfWVsc2V7Y2E9ZFtiYV18MH1pZigh
KChjYSYyNTUpPDwyND4+MjQ+LTEpKXthYT0yNTticmVhayBhfWlmKChiWyhjW2g+PjJdfDApKyhj
YTw8MjQ+PjI0PDwxKT4+MV0mODE5Mik9PTApe2FhPTI1O2JyZWFrIGF9YmE9Y1tlPj4yXXwwO1c9
YmErMTJ8MDtkYT1jW1c+PjJdfDA7aWYoKGRhfDApPT0oY1tiYSsxNj4+Ml18MCkpe2VhPURjW2Nb
KGNbYmE+PjJdfDApKzQwPj4yXSYxMjddKGJhKXwwfWVsc2V7Y1tXPj4yXT1kYSsxO2VhPWRbZGFd
fDB9a2coeixlYSYyNTUpO2FhPTI2O2JyZWFrfTtjYXNlIDA6e2FhPTI2O2JyZWFrfTtjYXNlIDM6
e2RhPWFbeF18MDtXPShkYSYxKT09MDtpZihXKXtmYT0oZGEmMjU1KT4+PjF9ZWxzZXtmYT1jW0U+
PjJdfDB9YmE9YVt5XXwwO2dhPShiYSYxKT09MDtpZihnYSl7aGE9KGJhJjI1NSk+Pj4xfWVsc2V7
aGE9Y1tnPj4yXXwwfWlmKChmYXwwKT09KDAtaGF8MCkpe2lhPXI7amE9UjtrYT1RO2xhPVA7bWE9
UztuYT1UfWVsc2V7aWYoVyl7b2E9KGRhJjI1NSk+Pj4xfWVsc2V7b2E9Y1tFPj4yXXwwfWlmKChv
YXwwKSE9MCl7aWYoZ2Epe3BhPShiYSYyNTUpPj4+MX1lbHNle3BhPWNbZz4+Ml18MH1pZigocGF8
MCkhPTApe2dhPWNbZT4+Ml18MDtxYT1jW2dhKzEyPj4yXXwwO3JhPWNbZ2ErMTY+PjJdfDA7aWYo
KHFhfDApPT0ocmF8MCkpe3NhPURjW2NbKGNbZ2E+PjJdfDApKzM2Pj4yXSYxMjddKGdhKXwwO3Rh
PWNbZT4+Ml18MDt1YT1zYTt2YT1hW3hdfDA7d2E9dGE7eGE9Y1t0YSsxMj4+Ml18MDt5YT1jW3Rh
KzE2Pj4yXXwwfWVsc2V7dWE9ZFtxYV18MDt2YT1kYTt3YT1nYTt4YT1xYTt5YT1yYX1yYT13YSsx
MnwwO3FhPSh4YXwwKT09KHlhfDApO2lmKCh1YSYyNTUpPDwyND4+MjQ9PShhWyh2YSYxKT09MD9E
OmNbRj4+Ml18MF18MCkpe2lmKHFhKXtEY1tjWyhjW3dhPj4yXXwwKSs0MD4+Ml0mMTI3XSh3YSl8
MH1lbHNle2NbcmE+PjJdPXhhKzF9cmE9YVt4XXwwO2lmKChyYSYxKT09MCl7emE9KHJhJjI1NSk+
Pj4xfWVsc2V7emE9Y1tFPj4yXXwwfWlhPXI7amE9UjtrYT1RO2xhPVA7bWE9emE+Pj4wPjE/eDpT
O25hPVQ7YnJlYWsgYn1pZihxYSl7QWE9RGNbY1soY1t3YT4+Ml18MCkrMzY+PjJdJjEyN10od2Ep
fDB9ZWxzZXtBYT1kW3hhXXwwfWlmKCEoKEFhJjI1NSk8PDI0Pj4yND09KGFbKGFbeV0mMSk9PTA/
bTpjW0M+PjJdfDBdfDApKSl7YWE9MTEyO2JyZWFrIGF9cWE9Y1tlPj4yXXwwO3JhPXFhKzEyfDA7
Z2E9Y1tyYT4+Ml18MDtpZigoZ2F8MCk9PShjW3FhKzE2Pj4yXXwwKSl7RGNbY1soY1txYT4+Ml18
MCkrNDA+PjJdJjEyN10ocWEpfDB9ZWxzZXtjW3JhPj4yXT1nYSsxfWFbbF09MTtnYT1hW3ldfDA7
aWYoKGdhJjEpPT0wKXtCYT0oZ2EmMjU1KT4+PjF9ZWxzZXtCYT1jW2c+PjJdfDB9aWE9cjtqYT1S
O2thPVE7bGE9UDttYT1CYT4+PjA+MT95OlM7bmE9VDticmVhayBifX1pZihXKXtDYT0oZGEmMjU1
KT4+PjF9ZWxzZXtDYT1jW0U+PjJdfDB9Vz1jW2U+PjJdfDA7Z2E9Y1tXKzEyPj4yXXwwO3JhPShn
YXwwKT09KGNbVysxNj4+Ml18MCk7aWYoKENhfDApPT0wKXtpZihyYSl7cWE9RGNbY1soY1tXPj4y
XXwwKSszNj4+Ml0mMTI3XShXKXwwO0RhPXFhO0VhPWFbeV18MH1lbHNle0RhPWRbZ2FdfDA7RWE9
YmF9aWYoISgoRGEmMjU1KTw8MjQ+PjI0PT0oYVsoRWEmMSk9PTA/bTpjW0M+PjJdfDBdfDApKSl7
aWE9cjtqYT1SO2thPVE7bGE9UDttYT1TO25hPVQ7YnJlYWsgYn1iYT1jW2U+PjJdfDA7cWE9YmEr
MTJ8MDt0YT1jW3FhPj4yXXwwO2lmKCh0YXwwKT09KGNbYmErMTY+PjJdfDApKXtEY1tjWyhjW2Jh
Pj4yXXwwKSs0MD4+Ml0mMTI3XShiYSl8MH1lbHNle2NbcWE+PjJdPXRhKzF9YVtsXT0xO3RhPWFb
eV18MDtpZigodGEmMSk9PTApe0ZhPSh0YSYyNTUpPj4+MX1lbHNle0ZhPWNbZz4+Ml18MH1pYT1y
O2phPVI7a2E9UTtsYT1QO21hPUZhPj4+MD4xP3k6UztuYT1UO2JyZWFrIGJ9aWYocmEpe3JhPURj
W2NbKGNbVz4+Ml18MCkrMzY+PjJdJjEyN10oVyl8MDtHYT1yYTtIYT1hW3hdfDB9ZWxzZXtHYT1k
W2dhXXwwO0hhPWRhfWlmKCEoKEdhJjI1NSk8PDI0Pj4yND09KGFbKEhhJjEpPT0wP0Q6Y1tGPj4y
XXwwXXwwKSkpe2FbbF09MTtpYT1yO2phPVI7a2E9UTtsYT1QO21hPVM7bmE9VDticmVhayBifWRh
PWNbZT4+Ml18MDtnYT1kYSsxMnwwO3JhPWNbZ2E+PjJdfDA7aWYoKHJhfDApPT0oY1tkYSsxNj4+
Ml18MCkpe0RjW2NbKGNbZGE+PjJdfDApKzQwPj4yXSYxMjddKGRhKXwwfWVsc2V7Y1tnYT4+Ml09
cmErMX1yYT1hW3hdfDA7aWYoKHJhJjEpPT0wKXtJYT0ocmEmMjU1KT4+PjF9ZWxzZXtJYT1jW0U+
PjJdfDB9aWE9cjtqYT1SO2thPVE7bGE9UDttYT1JYT4+PjA+MT94OlM7bmE9VH1icmVha307Y2Fz
ZSAyOntpZighKChTfDApIT0wfHA+Pj4wPDIpKXtpZigocHwwKT09Mil7SmE9KGFbTV18MCkhPTB9
ZWxzZXtKYT0wfWlmKCEoR3xKYSkpe2lhPXI7amE9UjtrYT1RO2xhPVA7bWE9MDtuYT1UO2JyZWFr
IGJ9fXJhPWFbd118MDtnYT0ocmEmMSk9PTA7ZGE9Z2E/ajpjW0g+PjJdfDA7Yzpkb3tpZigocHww
KSE9MD8oZFtzKyhwKyAtMSl8MF18MCk8MjowKXtXPWRhKyhnYT8ocmEmMjU1KT4+PjE6Y1tJPj4y
XXwwKXwwO3RhPWRhO3doaWxlKDEpe2lmKCh0YXwwKT09KFd8MCkpe0thPVc7YnJlYWt9cWE9YVt0
YV18MDtpZighKHFhPDwyND4+MjQ+LTEpKXtLYT10YTticmVha31pZigoYlsoY1toPj4yXXwwKSso
cWE8PDI0Pj4yNDw8MSk+PjFdJjgxOTIpPT0wKXtLYT10YTticmVha31lbHNle3RhPXRhKzF8MH19
dGE9S2EtZGF8MDtXPWFbel18MDtxYT0oVyYxKT09MDtpZihxYSl7TGE9KFcmMjU1KT4+PjF9ZWxz
ZXtMYT1jW0w+PjJdfDB9aWYoISh0YT4+PjA+TGE+Pj4wKSl7aWYocWEpe3FhPShXJjI1NSk+Pj4x
O01hPUo7TmE9cWE7T2E9eisocWEtdGEpKzF8MH1lbHNle3FhPWNbSz4+Ml18MDtXPWNbTD4+Ml18
MDtNYT1xYTtOYT1XO09hPXFhKyhXLXRhKXwwfXRhPU1hK05hfDA7aWYoKE9hfDApPT0odGF8MCkp
e1BhPVg7UWE9cmE7UmE9S2E7U2E9WH1lbHNle1c9T2E7cWE9ZGE7d2hpbGUoMSl7aWYoKGFbV118
MCkhPShhW3FhXXwwKSl7UGE9WDtRYT1yYTtSYT1kYTtTYT1YO2JyZWFrIGN9YmE9VysxfDA7aWYo
KGJhfDApPT0odGF8MCkpe1BhPVg7UWE9cmE7UmE9S2E7U2E9WDticmVha31lbHNle1c9YmE7cWE9
cWErMXwwfX19fWVsc2V7UGE9WDtRYT1yYTtSYT1kYTtTYT1YfX1lbHNle1BhPVg7UWE9cmE7UmE9
ZGE7U2E9WH19d2hpbGUoMCk7ZDp3aGlsZSgxKXtpZigoUWEmMSk9PTApe1RhPWo7VWE9KFFhJjI1
NSk+Pj4xfWVsc2V7VGE9Y1tIPj4yXXwwO1VhPWNbST4+Ml18MH1pZigoUmF8MCk9PShUYStVYXww
KSl7YnJlYWt9ZGE9Y1tlPj4yXXwwO2Rve2lmKChkYXwwKSE9MCl7aWYoKGNbZGErMTI+PjJdfDAp
PT0oY1tkYSsxNj4+Ml18MCkpe2lmKChEY1tjWyhjW2RhPj4yXXwwKSszNj4+Ml0mMTI3XShkYSl8
MCk9PS0xKXtjW2U+PjJdPTA7VmE9MDticmVha31lbHNle1ZhPWNbZT4+Ml18MDticmVha319ZWxz
ZXtWYT1kYX19ZWxzZXtWYT0wfX13aGlsZSgwKTtkYT0oVmF8MCk9PTA7ZG97aWYoKFNhfDApIT0w
KXtpZigoY1tTYSsxMj4+Ml18MCkhPShjW1NhKzE2Pj4yXXwwKSl7aWYoZGEpe1dhPVBhO1hhPVNh
O2JyZWFrfWVsc2V7YnJlYWsgZH19aWYoISgoRGNbY1soY1tTYT4+Ml18MCkrMzY+PjJdJjEyN10o
U2EpfDApPT0tMSkpe2lmKGRhXihQYXwwKT09MCl7V2E9UGE7WGE9UGE7YnJlYWt9ZWxzZXticmVh
ayBkfX1lbHNle2NbZj4+Ml09MDtZYT0wO2FhPTE0NzticmVha319ZWxzZXtZYT1QYTthYT0xNDd9
fXdoaWxlKDApO2lmKChhYXwwKT09MTQ3KXthYT0wO2lmKGRhKXticmVha31lbHNle1dhPVlhO1hh
PTB9fXJhPWNbZT4+Ml18MDtnYT1jW3JhKzEyPj4yXXwwO2lmKChnYXwwKT09KGNbcmErMTY+PjJd
fDApKXtaYT1EY1tjWyhjW3JhPj4yXXwwKSszNj4+Ml0mMTI3XShyYSl8MH1lbHNle1phPWRbZ2Fd
fDB9aWYoISgoWmEmMjU1KTw8MjQ+PjI0PT0oYVtSYV18MCkpKXticmVha31nYT1jW2U+PjJdfDA7
cmE9Z2ErMTJ8MDtxYT1jW3JhPj4yXXwwO2lmKChxYXwwKT09KGNbZ2ErMTY+PjJdfDApKXtEY1tj
WyhjW2dhPj4yXXwwKSs0MD4+Ml0mMTI3XShnYSl8MH1lbHNle2NbcmE+PjJdPXFhKzF9UGE9V2E7
UWE9YVt3XXwwO1JhPVJhKzF8MDtTYT1YYX1pZihHKXtxYT1hW3ddfDA7aWYoKHFhJjEpPT0wKXtf
YT1qOyRhPShxYSYyNTUpPj4+MX1lbHNle19hPWNbSD4+Ml18MDskYT1jW0k+PjJdfDB9aWYoKFJh
fDApIT0oX2ErJGF8MCkpe2FhPTE2MjticmVhayBhfWVsc2V7aWE9cjtqYT1SO2thPVE7bGE9UDtt
YT1TO25hPVR9fWVsc2V7aWE9cjtqYT1SO2thPVE7bGE9UDttYT1TO25hPVR9YnJlYWt9O2Nhc2Ug
NDp7cWE9cjtyYT1RO2dhPVA7Vz1SO3RhPTA7YmE9VDtlOndoaWxlKDEpe3NhPWNbZT4+Ml18MDtk
b3tpZigoc2F8MCkhPTApe2lmKChjW3NhKzEyPj4yXXwwKT09KGNbc2ErMTY+PjJdfDApKXtpZigo
RGNbY1soY1tzYT4+Ml18MCkrMzY+PjJdJjEyN10oc2EpfDApPT0tMSl7Y1tlPj4yXT0wO2FiPTA7
YnJlYWt9ZWxzZXthYj1jW2U+PjJdfDA7YnJlYWt9fWVsc2V7YWI9c2F9fWVsc2V7YWI9MH19d2hp
bGUoMCk7c2E9KGFifDApPT0wO2RhPWNbZj4+Ml18MDtkb3tpZigoZGF8MCkhPTApe2lmKChjW2Rh
KzEyPj4yXXwwKSE9KGNbZGErMTY+PjJdfDApKXtpZihzYSl7YnJlYWt9ZWxzZXticmVhayBlfX1p
ZighKChEY1tjWyhjW2RhPj4yXXwwKSszNj4+Ml0mMTI3XShkYSl8MCk9PS0xKSl7aWYoc2Epe2Jy
ZWFrfWVsc2V7YnJlYWsgZX19ZWxzZXtjW2Y+PjJdPTA7YWE9MTczO2JyZWFrfX1lbHNle2FhPTE3
M319d2hpbGUoMCk7aWYoKGFhfDApPT0xNzM/KGFhPTAsc2EpOjApe2JyZWFrfWRhPWNbZT4+Ml18
MDtiYj1jW2RhKzEyPj4yXXwwO2lmKChiYnwwKT09KGNbZGErMTY+PjJdfDApKXtjYj1EY1tjWyhj
W2RhPj4yXXwwKSszNj4+Ml0mMTI3XShkYSl8MH1lbHNle2NiPWRbYmJdfDB9YmI9Y2ImMjU1O2lm
KGJiPDwyND4+MjQ+LTE/ISgoYlsoY1toPj4yXXwwKSsoY2I8PDI0Pj4yNDw8MSk+PjFdJjIwNDgp
PT0wKTowKXtkYT1jW28+PjJdfDA7aWYoKGRhfDApPT0ocWF8MCkpe2RiPShjW04+PjJdfDApIT0x
MzY7ZWI9Y1tuPj4yXXwwO2ZiPXFhLWVifDA7Z2I9ZmI+Pj4wPDIxNDc0ODM2NDc/ZmI8PDE6LTE7
aGI9eG8oZGI/ZWI6MCxnYil8MDtpZigoaGJ8MCk9PTApe2FhPTE4MjticmVhayBhfWlmKCFkYil7
ZGI9Y1tuPj4yXXwwO2Nbbj4+Ml09aGI7aWYoKGRifDApPT0wKXtpYj1oYn1lbHNle0FjW2NbTj4+
Ml0mMjU1XShkYik7aWI9Y1tuPj4yXXwwfX1lbHNle2Nbbj4+Ml09aGI7aWI9aGJ9Y1tOPj4yXT0x
Mzc7aGI9aWIrZmJ8MDtjW28+PjJdPWhiO2piPWhiO2tiPShjW24+PjJdfDApK2difDB9ZWxzZXtq
Yj1kYTtrYj1xYX1jW28+PjJdPWpiKzE7YVtqYl09YmI7bGI9a2I7bWI9VztuYj1yYTtvYj1nYTtw
Yj10YSsxfDA7cWI9YmF9ZWxzZXtkYT1hW3ZdfDA7aWYoKGRhJjEpPT0wKXtyYj0oZGEmMjU1KT4+
PjF9ZWxzZXtyYj1jW08+PjJdfDB9aWYoKHJifDApPT0wfCh0YXwwKT09MCl7YnJlYWt9aWYoIShi
Yjw8MjQ+PjI0PT0oYVt1XXwwKSkpe2JyZWFrfWlmKChyYXwwKT09KGdhfDApKXtiYj1yYS1XfDA7
ZGE9YmI+Pj4wPDIxNDc0ODM2NDc/YmI8PDE6LTE7aWYoKGJhfDApPT0xMzYpe3NiPTB9ZWxzZXtz
Yj1XfWdiPXhvKHNiLGRhKXwwO2lmKChnYnwwKT09MCl7YWE9MTk4O2JyZWFrIGF9dGI9Z2IrKGJi
Pj4yPDwyKXwwO3ViPWdiO3ZiPWdiKyhkYT4+PjI8PDIpfDA7d2I9MTM3fWVsc2V7dGI9cmE7dWI9
Vzt2Yj1nYTt3Yj1iYX1jW3RiPj4yXT10YTtsYj1xYTttYj11YjtuYj10Yis0fDA7b2I9dmI7cGI9
MDtxYj13Yn1kYT1jW2U+PjJdfDA7Z2I9ZGErMTJ8MDtiYj1jW2diPj4yXXwwO2lmKChiYnwwKT09
KGNbZGErMTY+PjJdfDApKXtEY1tjWyhjW2RhPj4yXXwwKSs0MD4+Ml0mMTI3XShkYSl8MDtxYT1s
YjtyYT1uYjtnYT1vYjtXPW1iO3RhPXBiO2JhPXFiO2NvbnRpbnVlfWVsc2V7Y1tnYj4+Ml09YmIr
MTtxYT1sYjtyYT1uYjtnYT1vYjtXPW1iO3RhPXBiO2JhPXFiO2NvbnRpbnVlfX1pZigoV3wwKT09
KHJhfDApfCh0YXwwKT09MCl7eGI9Vzt5Yj1yYTt6Yj1nYTtBYj1iYX1lbHNle2lmKChyYXwwKT09
KGdhfDApKXtiYj1yYS1XfDA7Z2I9YmI+Pj4wPDIxNDc0ODM2NDc/YmI8PDE6LTE7aWYoKGJhfDAp
PT0xMzYpe0JiPTB9ZWxzZXtCYj1XfWRhPXhvKEJiLGdiKXwwO2lmKChkYXwwKT09MCl7YWE9MjA5
O2JyZWFrIGF9Q2I9ZGErKGJiPj4yPDwyKXwwO0RiPWRhO0ViPWRhKyhnYj4+PjI8PDIpfDA7RmI9
MTM3fWVsc2V7Q2I9cmE7RGI9VztFYj1nYTtGYj1iYX1jW0NiPj4yXT10YTt4Yj1EYjt5Yj1DYis0
fDA7emI9RWI7QWI9RmJ9Z2I9Y1tBPj4yXXwwO2lmKChnYnwwKT4wKXtkYT1jW2U+PjJdfDA7ZG97
aWYoKGRhfDApIT0wKXtpZigoY1tkYSsxMj4+Ml18MCk9PShjW2RhKzE2Pj4yXXwwKSl7aWYoKERj
W2NbKGNbZGE+PjJdfDApKzM2Pj4yXSYxMjddKGRhKXwwKT09LTEpe2NbZT4+Ml09MDtHYj0wO2Jy
ZWFrfWVsc2V7R2I9Y1tlPj4yXXwwO2JyZWFrfX1lbHNle0diPWRhfX1lbHNle0diPTB9fXdoaWxl
KDApO2RhPShHYnwwKT09MDt0YT1jW2Y+PjJdfDA7ZG97aWYoKHRhfDApIT0wKXtpZigoY1t0YSsx
Mj4+Ml18MCkhPShjW3RhKzE2Pj4yXXwwKSl7aWYoZGEpe0hiPXRhO2JyZWFrfWVsc2V7YWE9MjI5
O2JyZWFrIGF9fWlmKCEoKERjW2NbKGNbdGE+PjJdfDApKzM2Pj4yXSYxMjddKHRhKXwwKT09LTEp
KXtpZihkYSl7SGI9dGE7YnJlYWt9ZWxzZXthYT0yMjk7YnJlYWsgYX19ZWxzZXtjW2Y+PjJdPTA7
YWE9MjIzO2JyZWFrfX1lbHNle2FhPTIyM319d2hpbGUoMCk7aWYoKGFhfDApPT0yMjMpe2FhPTA7
aWYoZGEpe2FhPTIyOTticmVhayBhfWVsc2V7SGI9MH19dGE9Y1tlPj4yXXwwO2JhPWNbdGErMTI+
PjJdfDA7aWYoKGJhfDApPT0oY1t0YSsxNj4+Ml18MCkpe0liPURjW2NbKGNbdGE+PjJdfDApKzM2
Pj4yXSYxMjddKHRhKXwwfWVsc2V7SWI9ZFtiYV18MH1pZighKChJYiYyNTUpPDwyND4+MjQ9PShh
W3RdfDApKSl7YWE9MjI5O2JyZWFrIGF9YmE9Y1tlPj4yXXwwO3RhPWJhKzEyfDA7Z2E9Y1t0YT4+
Ml18MDtpZigoZ2F8MCk9PShjW2JhKzE2Pj4yXXwwKSl7RGNbY1soY1tiYT4+Ml18MCkrNDA+PjJd
JjEyN10oYmEpfDA7SmI9SGI7S2I9SGI7TGI9cWE7TWI9Z2J9ZWxzZXtjW3RhPj4yXT1nYSsxO0pi
PUhiO0tiPUhiO0xiPXFhO01iPWdifXdoaWxlKDEpe2dhPWNbZT4+Ml18MDtkb3tpZigoZ2F8MCkh
PTApe2lmKChjW2dhKzEyPj4yXXwwKT09KGNbZ2ErMTY+PjJdfDApKXtpZigoRGNbY1soY1tnYT4+
Ml18MCkrMzY+PjJdJjEyN10oZ2EpfDApPT0tMSl7Y1tlPj4yXT0wO05iPTA7YnJlYWt9ZWxzZXtO
Yj1jW2U+PjJdfDA7YnJlYWt9fWVsc2V7TmI9Z2F9fWVsc2V7TmI9MH19d2hpbGUoMCk7Z2E9KE5i
fDApPT0wO2Rve2lmKChLYnwwKSE9MCl7aWYoKGNbS2IrMTI+PjJdfDApIT0oY1tLYisxNj4+Ml18
MCkpe2lmKGdhKXtPYj1KYjtQYj1LYjticmVha31lbHNle2FhPTI1MDticmVhayBhfX1pZighKChE
Y1tjWyhjW0tiPj4yXXwwKSszNj4+Ml0mMTI3XShLYil8MCk9PS0xKSl7aWYoZ2FeKEpifDApPT0w
KXtPYj1KYjtQYj1KYjticmVha31lbHNle2FhPTI1MDticmVhayBhfX1lbHNle2NbZj4+Ml09MDtR
Yj0wO2FhPTI0MzticmVha319ZWxzZXtRYj1KYjthYT0yNDN9fXdoaWxlKDApO2lmKChhYXwwKT09
MjQzKXthYT0wO2lmKGdhKXthYT0yNTA7YnJlYWsgYX1lbHNle09iPVFiO1BiPTB9fXNhPWNbZT4+
Ml18MDt0YT1jW3NhKzEyPj4yXXwwO2lmKCh0YXwwKT09KGNbc2ErMTY+PjJdfDApKXtSYj1EY1tj
WyhjW3NhPj4yXXwwKSszNj4+Ml0mMTI3XShzYSl8MH1lbHNle1JiPWRbdGFdfDB9aWYoISgoUmIm
MjU1KTw8MjQ+PjI0Pi0xKSl7YWE9MjUwO2JyZWFrIGF9aWYoKGJbKGNbaD4+Ml18MCkrKFJiPDwy
ND4+MjQ8PDEpPj4xXSYyMDQ4KT09MCl7YWE9MjUwO2JyZWFrIGF9dGE9Y1tvPj4yXXwwO2lmKCh0
YXwwKT09KExifDApKXtzYT0oY1tOPj4yXXwwKSE9MTM2O2JhPWNbbj4+Ml18MDtXPUxiLWJhfDA7
cmE9Vz4+PjA8MjE0NzQ4MzY0Nz9XPDwxOi0xO2JiPXhvKHNhP2JhOjAscmEpfDA7aWYoKGJifDAp
PT0wKXthYT0yNTM7YnJlYWsgYX1pZighc2Epe3NhPWNbbj4+Ml18MDtjW24+PjJdPWJiO2lmKChz
YXwwKT09MCl7U2I9YmJ9ZWxzZXtBY1tjW04+PjJdJjI1NV0oc2EpO1NiPWNbbj4+Ml18MH19ZWxz
ZXtjW24+PjJdPWJiO1NiPWJifWNbTj4+Ml09MTM3O2JiPVNiK1d8MDtjW28+PjJdPWJiO1RiPWJi
O1ViPShjW24+PjJdfDApK3JhfDB9ZWxzZXtUYj10YTtVYj1MYn10YT1jW2U+PjJdfDA7cmE9Y1t0
YSsxMj4+Ml18MDtpZigocmF8MCk9PShjW3RhKzE2Pj4yXXwwKSl7YmI9RGNbY1soY1t0YT4+Ml18
MCkrMzY+PjJdJjEyN10odGEpfDA7VmI9YmI7V2I9Y1tvPj4yXXwwfWVsc2V7VmI9ZFtyYV18MDtX
Yj1UYn1jW28+PjJdPVdiKzE7YVtXYl09VmI7cmE9TWIrIC0xfDA7Y1tBPj4yXT1yYTtiYj1jW2U+
PjJdfDA7dGE9YmIrMTJ8MDtXPWNbdGE+PjJdfDA7aWYoKFd8MCk9PShjW2JiKzE2Pj4yXXwwKSl7
RGNbY1soY1tiYj4+Ml18MCkrNDA+PjJdJjEyN10oYmIpfDB9ZWxzZXtjW3RhPj4yXT1XKzF9aWYo
KHJhfDApPjApe0piPU9iO0tiPVBiO0xiPVViO01iPXJhfWVsc2V7WGI9VWI7YnJlYWt9fX1lbHNl
e1hiPXFhfWlmKChjW28+PjJdfDApPT0oY1tuPj4yXXwwKSl7YWE9MjY3O2JyZWFrIGF9ZWxzZXtp
YT1YYjtqYT14YjtrYT15YjtsYT16YjttYT1TO25hPUFifWJyZWFrfTtkZWZhdWx0OntpYT1yO2ph
PVI7a2E9UTtsYT1QO21hPVM7bmE9VH19fXdoaWxlKDApO2Y6ZG97aWYoKGFhfDApPT0yNil7YWE9
MDtpZigocHwwKT09Myl7WT1SO1o9UTtfPVM7JD1UO2FhPTI2OTticmVhayBhfWVsc2V7WWI9WDta
Yj1YfXdoaWxlKDEpe1U9Y1tlPj4yXXwwO2Rve2lmKChVfDApIT0wKXtpZigoY1tVKzEyPj4yXXww
KT09KGNbVSsxNj4+Ml18MCkpe2lmKChEY1tjWyhjW1U+PjJdfDApKzM2Pj4yXSYxMjddKFUpfDAp
PT0tMSl7Y1tlPj4yXT0wO19iPTA7YnJlYWt9ZWxzZXtfYj1jW2U+PjJdfDA7YnJlYWt9fWVsc2V7
X2I9VX19ZWxzZXtfYj0wfX13aGlsZSgwKTtVPShfYnwwKT09MDtkb3tpZigoWmJ8MCkhPTApe2lm
KChjW1piKzEyPj4yXXwwKSE9KGNbWmIrMTY+PjJdfDApKXtpZihVKXskYj1ZYjthYz1aYjticmVh
a31lbHNle2lhPXI7amE9UjtrYT1RO2xhPVA7bWE9UztuYT1UO2JyZWFrIGZ9fWlmKCEoKERjW2Nb
KGNbWmI+PjJdfDApKzM2Pj4yXSYxMjddKFpiKXwwKT09LTEpKXtpZihVXihZYnwwKT09MCl7JGI9
WWI7YWM9WWI7YnJlYWt9ZWxzZXtpYT1yO2phPVI7a2E9UTtsYT1QO21hPVM7bmE9VDticmVhayBm
fX1lbHNle2NbZj4+Ml09MDtiYz0wO2FhPTM3O2JyZWFrfX1lbHNle2JjPVliO2FhPTM3fX13aGls
ZSgwKTtpZigoYWF8MCk9PTM3KXthYT0wO2lmKFUpe2lhPXI7amE9UjtrYT1RO2xhPVA7bWE9Uztu
YT1UO2JyZWFrIGZ9ZWxzZXskYj1iYzthYz0wfX1nYT1jW2U+PjJdfDA7Z2I9Y1tnYSsxMj4+Ml18
MDtpZigoZ2J8MCk9PShjW2dhKzE2Pj4yXXwwKSl7Y2M9RGNbY1soY1tnYT4+Ml18MCkrMzY+PjJd
JjEyN10oZ2EpfDB9ZWxzZXtjYz1kW2diXXwwfWlmKCEoKGNjJjI1NSk8PDI0Pj4yND4tMSkpe2lh
PXI7amE9UjtrYT1RO2xhPVA7bWE9UztuYT1UO2JyZWFrIGZ9aWYoKGJbKGNbaD4+Ml18MCkrKGNj
PDwyND4+MjQ8PDEpPj4xXSY4MTkyKT09MCl7aWE9cjtqYT1SO2thPVE7bGE9UDttYT1TO25hPVQ7
YnJlYWsgZn1nYj1jW2U+PjJdfDA7Z2E9Z2IrMTJ8MDtkYT1jW2dhPj4yXXwwO2lmKChkYXwwKT09
KGNbZ2IrMTY+PjJdfDApKXtkYz1EY1tjWyhjW2diPj4yXXwwKSs0MD4+Ml0mMTI3XShnYil8MH1l
bHNle2NbZ2E+PjJdPWRhKzE7ZGM9ZFtkYV18MH1rZyh6LGRjJjI1NSk7WWI9JGI7WmI9YWN9fX13
aGlsZSgwKTtxYT1wKzF8MDtpZihxYT4+PjA8NCl7UD1sYTtRPWthO1I9amE7cj1pYTtwPXFhO1M9
bWE7VD1uYX1lbHNle1k9amE7Wj1rYTtfPW1hOyQ9bmE7YWE9MjY5O2JyZWFrfX1nOmRve2lmKChh
YXwwKT09MjUpe2Nbaz4+Ml09Y1trPj4yXXw0O2VjPTA7ZmM9UjtnYz1UfWVsc2UgaWYoKGFhfDAp
PT0xMTIpe2Nbaz4+Ml09Y1trPj4yXXw0O2VjPTA7ZmM9UjtnYz1UfWVsc2UgaWYoKGFhfDApPT0x
NjIpe2Nbaz4+Ml09Y1trPj4yXXw0O2VjPTA7ZmM9UjtnYz1UfWVsc2UgaWYoKGFhfDApPT0xODIp
e0hvKCl9ZWxzZSBpZigoYWF8MCk9PTE5OCl7SG8oKX1lbHNlIGlmKChhYXwwKT09MjA5KXtIbygp
fWVsc2UgaWYoKGFhfDApPT0yMjkpe2Nbaz4+Ml09Y1trPj4yXXw0O2VjPTA7ZmM9eGI7Z2M9QWJ9
ZWxzZSBpZigoYWF8MCk9PTI1MCl7Y1trPj4yXT1jW2s+PjJdfDQ7ZWM9MDtmYz14YjtnYz1BYn1l
bHNlIGlmKChhYXwwKT09MjUzKXtIbygpfWVsc2UgaWYoKGFhfDApPT0yNjcpe2Nbaz4+Ml09Y1tr
Pj4yXXw0O2VjPTA7ZmM9eGI7Z2M9QWJ9ZWxzZSBpZigoYWF8MCk9PTI2OSl7aDpkb3tpZigoX3ww
KSE9MCl7bmE9XysxfDA7bWE9Xys4fDA7a2E9Xys0fDA7amE9MTtpOndoaWxlKDEpe1M9YVtfXXww
O2lmKChTJjEpPT0wKXtoYz0oUyYyNTUpPj4+MX1lbHNle2hjPWNba2E+PjJdfDB9aWYoIShqYT4+
PjA8aGM+Pj4wKSl7YnJlYWsgaH1TPWNbZT4+Ml18MDtkb3tpZigoU3wwKSE9MCl7aWYoKGNbUysx
Mj4+Ml18MCk9PShjW1MrMTY+PjJdfDApKXtpZigoRGNbY1soY1tTPj4yXXwwKSszNj4+Ml0mMTI3
XShTKXwwKT09LTEpe2NbZT4+Ml09MDtpYz0wO2JyZWFrfWVsc2V7aWM9Y1tlPj4yXXwwO2JyZWFr
fX1lbHNle2ljPVN9fWVsc2V7aWM9MH19d2hpbGUoMCk7Uz0oaWN8MCk9PTA7VT1jW2Y+PjJdfDA7
ZG97aWYoKFV8MCkhPTApe2lmKChjW1UrMTI+PjJdfDApIT0oY1tVKzE2Pj4yXXwwKSl7aWYoUyl7
YnJlYWt9ZWxzZXticmVhayBpfX1pZighKChEY1tjWyhjW1U+PjJdfDApKzM2Pj4yXSYxMjddKFUp
fDApPT0tMSkpe2lmKFMpe2JyZWFrfWVsc2V7YnJlYWsgaX19ZWxzZXtjW2Y+PjJdPTA7YWE9Mjg1
O2JyZWFrfX1lbHNle2FhPTI4NX19d2hpbGUoMCk7aWYoKGFhfDApPT0yODU/KGFhPTAsUyk6MCl7
YnJlYWt9VT1jW2U+PjJdfDA7cD1jW1UrMTI+PjJdfDA7aWYoKHB8MCk9PShjW1UrMTY+PjJdfDAp
KXtqYz1EY1tjWyhjW1U+PjJdfDApKzM2Pj4yXSYxMjddKFUpfDB9ZWxzZXtqYz1kW3BdfDB9aWYo
KGFbX10mMSk9PTApe2tjPW5hfWVsc2V7a2M9Y1ttYT4+Ml18MH1pZighKChqYyYyNTUpPDwyND4+
MjQ9PShhW2tjK2phfDBdfDApKSl7YnJlYWt9cD1qYSsxfDA7VT1jW2U+PjJdfDA7aWE9VSsxMnww
O3I9Y1tpYT4+Ml18MDtpZigocnwwKT09KGNbVSsxNj4+Ml18MCkpe0RjW2NbKGNbVT4+Ml18MCkr
NDA+PjJdJjEyN10oVSl8MDtqYT1wO2NvbnRpbnVlfWVsc2V7Y1tpYT4+Ml09cisxO2phPXA7Y29u
dGludWV9fWNbaz4+Ml09Y1trPj4yXXw0O2VjPTA7ZmM9WTtnYz0kO2JyZWFrIGd9fXdoaWxlKDAp
O2lmKChZfDApIT0oWnwwKSl7Y1tCPj4yXT0wO1hrKHYsWSxaLEIpO2lmKChjW0I+PjJdfDApPT0w
KXtlYz0xO2ZjPVk7Z2M9JH1lbHNle2Nbaz4+Ml09Y1trPj4yXXw0O2VjPTA7ZmM9WTtnYz0kfX1l
bHNle2VjPTE7ZmM9WjtnYz0kfX19d2hpbGUoMCk7ZWcoeik7ZWcoeSk7ZWcoeCk7ZWcodyk7ZWco
dik7aWYoKGZjfDApPT0wKXtpPXE7cmV0dXJuIGVjfDB9QWNbZ2MmMjU1XShmYyk7aT1xO3JldHVy
biBlY3wwfWZ1bmN0aW9uIFRrKGEpe2E9YXwwO3ZhciBiPTA7Yj1EYig4KXwwO05mKGIsYSk7cGMo
YnwwLDg5MjAsMzcpfWZ1bmN0aW9uIFVrKGIsZCxlLGYsZyxoLGosayl7Yj1ifDA7ZD1kfDA7ZT1l
fDA7Zj1mfDA7Zz1nfDA7aD1ofDA7aj1qfDA7az1rfDA7dmFyIGw9MCxtPTAsbj0wLG89MCxwPTAs
cT0wLHI9MCxzPTAsdD0wLHU9MCx2PTAsdz0wLHg9MCx5PTAsej0wO2Q9aTtpPWkrMTQ0fDA7bD1k
O209ZCszNnwwO249ZCsxNnwwO289ZCszMnwwO3A9ZCsyOHwwO3E9ZCsxMzZ8MDtyPWQrMjR8MDtj
W24+PjJdPW07cz1uKzR8MDtjW3M+PjJdPTEzNjt0PW0rMTAwfDA7emcocCxoKTttPWNbcD4+Ml18
MDtpZighKChjWzI5OThdfDApPT0tMSkpe2NbbD4+Ml09MTE5OTI7Y1tsKzQ+PjJdPTEzNDtjW2wr
OD4+Ml09MDskZigxMTk5MixsLDEzNSl9dT0oY1sxMTk5Nj4+Ml18MCkrIC0xfDA7dj1jW20rOD4+
Ml18MDtpZighKChjW20rMTI+PjJdfDApLXY+PjI+Pj4wPnU+Pj4wKSl7dz1EYig0KXwwOyRuKHcp
O3BjKHd8MCwxOTk1MiwxMjMpfW09Y1t2Kyh1PDwyKT4+Ml18MDtpZigobXwwKT09MCl7dz1EYig0
KXwwOyRuKHcpO3BjKHd8MCwxOTk1MiwxMjMpfWFbcV09MDt3PWNbZj4+Ml18MDtjW3I+PjJdPXc7
dT1jW2grND4+Ml18MDtjW2wrMD4+Ml09Y1tyKzA+PjJdO2lmKFNrKGUsbCxnLHAsdSxqLHEsbSxu
LG8sdCl8MCl7aWYoKGFba10mMSk9PTApe2FbaysxfDBdPTA7YVtrXT0wfWVsc2V7YVtjW2srOD4+
Ml18MF09MDtjW2srND4+Ml09MH1pZigoYVtxXXwwKSE9MCl7a2coayxNY1tjWyhjW20+PjJdfDAp
KzI4Pj4yXSYzMV0obSw0NSl8MCl9cT1NY1tjWyhjW20+PjJdfDApKzI4Pj4yXSYzMV0obSw0OCl8
MDttPWNbbj4+Ml18MDt0PWNbbz4+Ml18MDtvPXQrIC0xfDA7YTpkb3tpZihtPj4+MDxvPj4+MCl7
dT1tO3doaWxlKDEpe2c9dSsxfDA7aWYoISgoYVt1XXwwKT09cTw8MjQ+PjI0KSl7eD11O2JyZWFr
IGF9aWYoZz4+PjA8bz4+PjApe3U9Z31lbHNle3g9ZzticmVha319fWVsc2V7eD1tfX13aGlsZSgw
KTtWayhrLHgsdCl8MH10PWNbZT4+Ml18MDtpZigodHwwKSE9MCl7aWYoKGNbdCsxMj4+Ml18MCk9
PShjW3QrMTY+PjJdfDApPyhEY1tjWyhjW3Q+PjJdfDApKzM2Pj4yXSYxMjddKHQpfDApPT0tMTow
KXtjW2U+PjJdPTA7eT0wfWVsc2V7eT10fX1lbHNle3k9MH10PSh5fDApPT0wO2Rve2lmKCh3fDAp
IT0wKXtpZigoY1t3KzEyPj4yXXwwKSE9KGNbdysxNj4+Ml18MCkpe2lmKHQpe2JyZWFrfWVsc2V7
ej0yNzticmVha319aWYoISgoRGNbY1soY1t3Pj4yXXwwKSszNj4+Ml0mMTI3XSh3KXwwKT09LTEp
KXtpZih0Xih3fDApPT0wKXticmVha31lbHNle3o9Mjc7YnJlYWt9fWVsc2V7Y1tmPj4yXT0wO3o9
MjU7YnJlYWt9fWVsc2V7ej0yNX19d2hpbGUoMCk7aWYoKHp8MCk9PTI1P3Q6MCl7ej0yN31pZigo
enwwKT09Mjcpe2Nbaj4+Ml09Y1tqPj4yXXwyfWNbYj4+Ml09eTtIZihjW3A+PjJdfDApfDA7cD1j
W24+PjJdfDA7Y1tuPj4yXT0wO2lmKChwfDApPT0wKXtpPWQ7cmV0dXJufUFjW2Nbcz4+Ml0mMjU1
XShwKTtpPWQ7cmV0dXJufWZ1bmN0aW9uIFZrKGIsZCxlKXtiPWJ8MDtkPWR8MDtlPWV8MDt2YXIg
Zj0wLGc9MCxoPTAsaj0wLGs9MCxsPTAsbT0wLG49MDtmPWk7Zz1kO2g9YVtiXXwwO2lmKChoJjEp
PT0wKXtqPTEwO2s9KGgmMjU1KT4+PjE7bD1ofWVsc2V7aD1jW2I+PjJdfDA7aj0oaCYtMikrIC0x
fDA7az1jW2IrND4+Ml18MDtsPWgmMjU1fWg9ZS1nfDA7aWYoKGV8MCk9PShkfDApKXtpPWY7cmV0
dXJuIGJ8MH1pZigoai1rfDApPj4+MDxoPj4+MCl7bmcoYixqLGsraC1qfDAsayxrLDAsMCk7bT1h
W2JdfDB9ZWxzZXttPWx9aWYoKG0mMSk9PTApe249YisxfDB9ZWxzZXtuPWNbYis4Pj4yXXwwfW09
ZSsoay1nKXwwO2c9ZDtkPW4ra3wwO3doaWxlKDEpe2FbZF09YVtnXXwwO2c9ZysxfDA7aWYoKGd8
MCk9PShlfDApKXticmVha31lbHNle2Q9ZCsxfDB9fWFbbittfDBdPTA7bT1rK2h8MDtpZigoYVti
XSYxKT09MCl7YVtiXT1tPDwxO2k9ZjtyZXR1cm4gYnwwfWVsc2V7Y1tiKzQ+PjJdPW07aT1mO3Jl
dHVybiBifDB9cmV0dXJuIDB9ZnVuY3Rpb24gV2soYixkLGUsZixnLGgsaixrLGwsbSl7Yj1ifDA7
ZD1kfDA7ZT1lfDA7Zj1mfDA7Zz1nfDA7aD1ofDA7aj1qfDA7az1rfDA7bD1sfDA7bT1tfDA7dmFy
IG49MCxvPTAscD0wLHE9MCxyPTAscz0wLHQ9MCx1PTAsdj0wLHc9MCx4PTAseT0wLHo9MCxBPTAs
Qj0wLEM9MCxEPTA7bj1pO2k9aSsxMjh8MDtvPW47cD1uKzI0fDA7cT1uKzQ0fDA7cj1uKzMyfDA7
cz1uKzU2fDA7dD1uKzEyfDA7dT1uKzI4fDA7dj1uKzY4fDA7dz1uKzgwfDA7eD1uKzkyfDA7eT1u
KzEwNHwwO2lmKGIpe2I9Y1tkPj4yXXwwO2lmKCEoKGNbMjg1OF18MCk9PS0xKSl7Y1tvPj4yXT0x
MTQzMjtjW28rND4+Ml09MTM0O2Nbbys4Pj4yXT0wOyRmKDExNDMyLG8sMTM1KX16PShjWzExNDM2
Pj4yXXwwKSsgLTF8MDtBPWNbYis4Pj4yXXwwO2lmKCEoKGNbYisxMj4+Ml18MCktQT4+Mj4+PjA+
ej4+PjApKXtCPURiKDQpfDA7JG4oQik7cGMoQnwwLDE5OTUyLDEyMyl9Yj1jW0ErKHo8PDIpPj4y
XXwwO2lmKChifDApPT0wKXtCPURiKDQpfDA7JG4oQik7cGMoQnwwLDE5OTUyLDEyMyl9QmNbY1so
Y1tiPj4yXXwwKSs0ND4+Ml0mNjNdKHAsYik7Qj1jW3A+PjJdfDA7YVtlXT1CO2FbZSsxfDBdPUI+
Pjg7YVtlKzJ8MF09Qj4+MTY7YVtlKzN8MF09Qj4+MjQ7QmNbY1soY1tiPj4yXXwwKSszMj4+Ml0m
NjNdKHEsYik7aWYoKGFbbF0mMSk9PTApe2FbbCsxfDBdPTA7YVtsXT0wfWVsc2V7YVtjW2wrOD4+
Ml18MF09MDtjW2wrND4+Ml09MH1qZyhsLDApO2NbbCswPj4yXT1jW3ErMD4+Ml07Y1tsKzQ+PjJd
PWNbcSs0Pj4yXTtjW2wrOD4+Ml09Y1txKzg+PjJdO2NbcSswPj4yXT0wO2NbcSs0Pj4yXT0wO2Nb
cSs4Pj4yXT0wO2VnKHEpO0JjW2NbKGNbYj4+Ml18MCkrMjg+PjJdJjYzXShyLGIpO2lmKChhW2td
JjEpPT0wKXthW2srMXwwXT0wO2Fba109MH1lbHNle2FbY1trKzg+PjJdfDBdPTA7Y1trKzQ+PjJd
PTB9amcoaywwKTtjW2srMD4+Ml09Y1tyKzA+PjJdO2Nbays0Pj4yXT1jW3IrND4+Ml07Y1trKzg+
PjJdPWNbcis4Pj4yXTtjW3IrMD4+Ml09MDtjW3IrND4+Ml09MDtjW3IrOD4+Ml09MDtlZyhyKTth
W2ZdPURjW2NbKGNbYj4+Ml18MCkrMTI+PjJdJjEyN10oYil8MDthW2ddPURjW2NbKGNbYj4+Ml18
MCkrMTY+PjJdJjEyN10oYil8MDtCY1tjWyhjW2I+PjJdfDApKzIwPj4yXSY2M10ocyxiKTtpZigo
YVtoXSYxKT09MCl7YVtoKzF8MF09MDthW2hdPTB9ZWxzZXthW2NbaCs4Pj4yXXwwXT0wO2NbaCs0
Pj4yXT0wfWpnKGgsMCk7Y1toKzA+PjJdPWNbcyswPj4yXTtjW2grND4+Ml09Y1tzKzQ+PjJdO2Nb
aCs4Pj4yXT1jW3MrOD4+Ml07Y1tzKzA+PjJdPTA7Y1tzKzQ+PjJdPTA7Y1tzKzg+PjJdPTA7ZWco
cyk7QmNbY1soY1tiPj4yXXwwKSsyND4+Ml0mNjNdKHQsYik7aWYoKGFbal0mMSk9PTApe2Fbaisx
fDBdPTA7YVtqXT0wfWVsc2V7YVtjW2orOD4+Ml18MF09MDtjW2orND4+Ml09MH1qZyhqLDApO2Nb
aiswPj4yXT1jW3QrMD4+Ml07Y1tqKzQ+PjJdPWNbdCs0Pj4yXTtjW2orOD4+Ml09Y1t0Kzg+PjJd
O2NbdCswPj4yXT0wO2NbdCs0Pj4yXT0wO2NbdCs4Pj4yXT0wO2VnKHQpO0M9RGNbY1soY1tiPj4y
XXwwKSszNj4+Ml0mMTI3XShiKXwwO2NbbT4+Ml09QztpPW47cmV0dXJufWVsc2V7Yj1jW2Q+PjJd
fDA7aWYoISgoY1syODQyXXwwKT09LTEpKXtjW28+PjJdPTExMzY4O2Nbbys0Pj4yXT0xMzQ7Y1tv
Kzg+PjJdPTA7JGYoMTEzNjgsbywxMzUpfW89KGNbMTEzNzI+PjJdfDApKyAtMXwwO2Q9Y1tiKzg+
PjJdfDA7aWYoISgoY1tiKzEyPj4yXXwwKS1kPj4yPj4+MD5vPj4+MCkpe0Q9RGIoNCl8MDskbihE
KTtwYyhEfDAsMTk5NTIsMTIzKX1iPWNbZCsobzw8Mik+PjJdfDA7aWYoKGJ8MCk9PTApe0Q9RGIo
NCl8MDskbihEKTtwYyhEfDAsMTk5NTIsMTIzKX1CY1tjWyhjW2I+PjJdfDApKzQ0Pj4yXSY2M10o
dSxiKTtEPWNbdT4+Ml18MDthW2VdPUQ7YVtlKzF8MF09RD4+ODthW2UrMnwwXT1EPj4xNjthW2Ur
M3wwXT1EPj4yNDtCY1tjWyhjW2I+PjJdfDApKzMyPj4yXSY2M10odixiKTtpZigoYVtsXSYxKT09
MCl7YVtsKzF8MF09MDthW2xdPTB9ZWxzZXthW2NbbCs4Pj4yXXwwXT0wO2NbbCs0Pj4yXT0wfWpn
KGwsMCk7Y1tsKzA+PjJdPWNbdiswPj4yXTtjW2wrND4+Ml09Y1t2KzQ+PjJdO2NbbCs4Pj4yXT1j
W3YrOD4+Ml07Y1t2KzA+PjJdPTA7Y1t2KzQ+PjJdPTA7Y1t2Kzg+PjJdPTA7ZWcodik7QmNbY1so
Y1tiPj4yXXwwKSsyOD4+Ml0mNjNdKHcsYik7aWYoKGFba10mMSk9PTApe2FbaysxfDBdPTA7YVtr
XT0wfWVsc2V7YVtjW2srOD4+Ml18MF09MDtjW2srND4+Ml09MH1qZyhrLDApO2NbayswPj4yXT1j
W3crMD4+Ml07Y1trKzQ+PjJdPWNbdys0Pj4yXTtjW2srOD4+Ml09Y1t3Kzg+PjJdO2NbdyswPj4y
XT0wO2Nbdys0Pj4yXT0wO2Nbdys4Pj4yXT0wO2VnKHcpO2FbZl09RGNbY1soY1tiPj4yXXwwKSsx
Mj4+Ml0mMTI3XShiKXwwO2FbZ109RGNbY1soY1tiPj4yXXwwKSsxNj4+Ml0mMTI3XShiKXwwO0Jj
W2NbKGNbYj4+Ml18MCkrMjA+PjJdJjYzXSh4LGIpO2lmKChhW2hdJjEpPT0wKXthW2grMXwwXT0w
O2FbaF09MH1lbHNle2FbY1toKzg+PjJdfDBdPTA7Y1toKzQ+PjJdPTB9amcoaCwwKTtjW2grMD4+
Ml09Y1t4KzA+PjJdO2NbaCs0Pj4yXT1jW3grND4+Ml07Y1toKzg+PjJdPWNbeCs4Pj4yXTtjW3gr
MD4+Ml09MDtjW3grND4+Ml09MDtjW3grOD4+Ml09MDtlZyh4KTtCY1tjWyhjW2I+PjJdfDApKzI0
Pj4yXSY2M10oeSxiKTtpZigoYVtqXSYxKT09MCl7YVtqKzF8MF09MDthW2pdPTB9ZWxzZXthW2Nb
ais4Pj4yXXwwXT0wO2Nbais0Pj4yXT0wfWpnKGosMCk7Y1tqKzA+PjJdPWNbeSswPj4yXTtjW2or
ND4+Ml09Y1t5KzQ+PjJdO2Nbais4Pj4yXT1jW3krOD4+Ml07Y1t5KzA+PjJdPTA7Y1t5KzQ+PjJd
PTA7Y1t5Kzg+PjJdPTA7ZWcoeSk7Qz1EY1tjWyhjW2I+PjJdfDApKzM2Pj4yXSYxMjddKGIpfDA7
Y1ttPj4yXT1DO2k9bjtyZXR1cm59fWZ1bmN0aW9uIFhrKGIsZCxlLGYpe2I9YnwwO2Q9ZHwwO2U9
ZXwwO2Y9ZnwwO3ZhciBnPTAsaD0wLGo9MCxrPTAsbD0wLG09MCxuPTAsbz0wLHA9MCxxPTAscj0w
LHM9MCx0PTAsdT0wLHY9MDtnPWk7aD1hW2JdfDA7aWYoKGgmMSk9PTApe2o9KGgmMjU1KT4+PjF9
ZWxzZXtqPWNbYis0Pj4yXXwwfWlmKChqfDApPT0wKXtpPWc7cmV0dXJufWlmKChkfDApIT0oZXww
KT8oaj1lKyAtNHwwLGo+Pj4wPmQ+Pj4wKTowKXtrPWQ7bD1qO2Rve2o9Y1trPj4yXXwwO2Nbaz4+
Ml09Y1tsPj4yXTtjW2w+PjJdPWo7az1rKzR8MDtsPWwrIC00fDB9d2hpbGUoaz4+PjA8bD4+PjAp
O209YVtiXXwwfWVsc2V7bT1ofWlmKChtJjEpPT0wKXtuPWIrMXwwO289KG0mMjU1KT4+PjF9ZWxz
ZXtuPWNbYis4Pj4yXXwwO289Y1tiKzQ+PjJdfDB9Yj1lKyAtNHwwO2U9YVtuXXwwO209ZTw8MjQ+
PjI0PDF8ZTw8MjQ+PjI0PT0xMjc7YTpkb3tpZihiPj4+MD5kPj4+MCl7aD1uK298MDtsPWU7az1u
O2o9ZDtwPW07d2hpbGUoMSl7aWYoIXA/KGw8PDI0Pj4yNHwwKSE9KGNbaj4+Ml18MCk6MCl7YnJl
YWt9cT0oaC1rfDApPjE/aysxfDA6aztyPWorNHwwO3M9YVtxXXwwO3Q9czw8MjQ+PjI0PDF8czw8
MjQ+PjI0PT0xMjc7aWYocj4+PjA8Yj4+PjApe2w9cztrPXE7aj1yO3A9dH1lbHNle3U9czt2PXQ7
YnJlYWsgYX19Y1tmPj4yXT00O2k9ZztyZXR1cm59ZWxzZXt1PWU7dj1tfX13aGlsZSgwKTtpZih2
KXtpPWc7cmV0dXJufXY9Y1tiPj4yXXwwO2lmKCEodTw8MjQ+PjI0Pj4+MDx2Pj4+MHwodnwwKT09
MCkpe2k9ZztyZXR1cm59Y1tmPj4yXT00O2k9ZztyZXR1cm59ZnVuY3Rpb24gWWsoYSl7YT1hfDA7
dmFyIGI9MDtiPWk7Q28oYSk7aT1iO3JldHVybn1mdW5jdGlvbiBaayhhKXthPWF8MDtyZXR1cm59
ZnVuY3Rpb24gX2soYixkLGUsZixnLGgsaixrKXtiPWJ8MDtkPWR8MDtlPWV8MDtmPWZ8MDtnPWd8
MDtoPWh8MDtqPWp8MDtrPWt8MDt2YXIgbD0wLG09MCxuPTAsbz0wLHA9MCxxPTAscj0wLHM9MCx0
PTAsdT0wLHY9MCx3PTAseD0wLHk9MCx6PTAsQT0wLEI9MCxDPTAsRD0wLEU9MCxGPTAsRz0wLEg9
MDtkPWk7aT1pKzU5MnwwO2w9ZDttPWQrNzJ8MDtuPWQrNjR8MDtvPWQrNTZ8MDtwPWQrNDc2fDA7
cT1kKzU4MHwwO3I9ZCs0NzJ8MDtzPWQrMTZ8MDt0PWQrNDgwfDA7Y1tuPj4yXT1tO3U9bis0fDA7
Y1t1Pj4yXT0xMzY7dj1tKzQwMHwwO3pnKHAsaCk7bT1jW3A+PjJdfDA7aWYoISgoY1syOTk2XXww
KT09LTEpKXtjW2w+PjJdPTExOTg0O2NbbCs0Pj4yXT0xMzQ7Y1tsKzg+PjJdPTA7JGYoMTE5ODQs
bCwxMzUpfXc9KGNbMTE5ODg+PjJdfDApKyAtMXwwO3g9Y1ttKzg+PjJdfDA7aWYoISgoY1ttKzEy
Pj4yXXwwKS14Pj4yPj4+MD53Pj4+MCkpe3k9RGIoNCl8MDskbih5KTtwYyh5fDAsMTk5NTIsMTIz
KX1tPWNbeCsodzw8Mik+PjJdfDA7aWYoKG18MCk9PTApe3k9RGIoNCl8MDskbih5KTtwYyh5fDAs
MTk5NTIsMTIzKX1hW3FdPTA7Y1tyPj4yXT1jW2Y+PjJdO3k9Y1toKzQ+PjJdfDA7Y1tsKzA+PjJd
PWNbciswPj4yXTtpZigkayhlLGwsZyxwLHksaixxLG0sbixvLHYpfDApe0pjW2NbKGNbbT4+Ml18
MCkrNDg+PjJdJjddKG0sMTE2ODgsMTE2OTh8MCxzKXwwO209Y1tvPj4yXXwwO3Y9Y1tuPj4yXXww
O3k9bS12fDA7aWYoKHl8MCk+MzkyKXtnPXZvKCh5Pj4yKSsyfDApfDA7aWYoKGd8MCk9PTApe0hv
KCl9ZWxzZXt6PWc7QT1nfX1lbHNle3o9MDtBPXR9aWYoKGFbcV18MCk9PTApe0I9QX1lbHNle2Fb
QV09NDU7Qj1BKzF8MH1pZih2Pj4+MDxtPj4+MCl7bT1zKzQwfDA7QT1zO3E9QjtnPXY7d2hpbGUo
MSl7dj1jW2c+PjJdfDA7eT1zO3doaWxlKDEpe3I9eSs0fDA7aWYoKGNbeT4+Ml18MCk9PSh2fDAp
KXtDPXk7YnJlYWt9aWYoKHJ8MCk9PShtfDApKXtDPW07YnJlYWt9ZWxzZXt5PXJ9fWFbcV09YVsx
MTY4OCsoQy1BPj4yKXwwXXwwO3k9Zys0fDA7dj1xKzF8MDtpZih5Pj4+MDwoY1tvPj4yXXwwKT4+
PjApe3E9djtnPXl9ZWxzZXtEPXY7YnJlYWt9fX1lbHNle0Q9Qn1hW0RdPTA7Y1tsPj4yXT1rO2lm
KChjYyh0fDAsMTE2MjQsbHwwKXwwKSE9MSl7bD1EYig4KXwwO05mKGwsMTE2MzIpO3BjKGx8MCw4
OTIwLDM3KX1pZigoenwwKSE9MCl7d28oeil9fXo9Y1tlPj4yXXwwO2Rve2lmKCh6fDApIT0wKXts
PWNbeisxMj4+Ml18MDtpZigobHwwKT09KGNbeisxNj4+Ml18MCkpe0U9RGNbY1soY1t6Pj4yXXww
KSszNj4+Ml0mMTI3XSh6KXwwfWVsc2V7RT1jW2w+PjJdfDB9aWYoKEV8MCk9PS0xKXtjW2U+PjJd
PTA7Rj0xO2JyZWFrfWVsc2V7Rj0oY1tlPj4yXXwwKT09MDticmVha319ZWxzZXtGPTF9fXdoaWxl
KDApO0U9Y1tmPj4yXXwwO2Rve2lmKChFfDApIT0wKXt6PWNbRSsxMj4+Ml18MDtpZigoenwwKT09
KGNbRSsxNj4+Ml18MCkpe0c9RGNbY1soY1tFPj4yXXwwKSszNj4+Ml0mMTI3XShFKXwwfWVsc2V7
Rz1jW3o+PjJdfDB9aWYoISgoR3wwKT09LTEpKXtpZihGKXticmVha31lbHNle0g9Mzc7YnJlYWt9
fWVsc2V7Y1tmPj4yXT0wO0g9MzU7YnJlYWt9fWVsc2V7SD0zNX19d2hpbGUoMCk7aWYoKEh8MCk9
PTM1P0Y6MCl7SD0zN31pZigoSHwwKT09Mzcpe2Nbaj4+Ml09Y1tqPj4yXXwyfWNbYj4+Ml09Y1tl
Pj4yXTtIZihjW3A+PjJdfDApfDA7cD1jW24+PjJdfDA7Y1tuPj4yXT0wO2lmKChwfDApPT0wKXtp
PWQ7cmV0dXJufUFjW2NbdT4+Ml0mMjU1XShwKTtpPWQ7cmV0dXJufWZ1bmN0aW9uICRrKGIsZSxm
LGcsaCxqLGssbCxtLG4sbyl7Yj1ifDA7ZT1lfDA7Zj1mfDA7Zz1nfDA7aD1ofDA7aj1qfDA7az1r
fDA7bD1sfDA7bT1tfDA7bj1ufDA7bz1vfDA7dmFyIHA9MCxxPTAscj0wLHM9MCx0PTAsdT0wLHY9
MCx3PTAseD0wLHk9MCx6PTAsQT0wLEI9MCxDPTAsRD0wLEU9MCxGPTAsRz0wLEg9MCxJPTAsSj0w
LEs9MCxMPTAsTT0wLE49MCxPPTAsUD0wLFE9MCxSPTAsUz0wLFQ9MCxVPTAsVj0wLFc9MCxYPTAs
WT0wLFo9MCxfPTAsJD0wLGFhPTAsYmE9MCxjYT0wLGRhPTAsZWE9MCxmYT0wLGdhPTAsaGE9MCxp
YT0wLGphPTAsa2E9MCxsYT0wLG1hPTAsbmE9MCxvYT0wLHBhPTAscWE9MCxyYT0wLHNhPTAsdGE9
MCx1YT0wLHZhPTAsd2E9MCx4YT0wLHlhPTAsemE9MCxBYT0wLEJhPTAsQ2E9MCxEYT0wLEVhPTAs
RmE9MCxHYT0wLEhhPTAsSWE9MCxKYT0wLEthPTAsTGE9MCxNYT0wLE5hPTAsT2E9MCxQYT0wLFFh
PTAsUmE9MCxTYT0wLFRhPTAsVWE9MCxWYT0wLFdhPTAsWGE9MCxZYT0wLFphPTAsX2E9MCwkYT0w
LGFiPTAsYmI9MCxjYj0wLGRiPTAsZWI9MCxmYj0wLGdiPTAsaGI9MCxpYj0wLGpiPTAsa2I9MCxs
Yj0wLG1iPTAsbmI9MCxvYj0wLHBiPTAscWI9MCxyYj0wLHNiPTAsdGI9MCx1Yj0wLHZiPTAsd2I9
MCx4Yj0wLHliPTAsemI9MCxBYj0wLEJiPTAsQ2I9MCxEYj0wLEViPTAsRmI9MCxHYj0wLEhiPTAs
SWI9MCxKYj0wLEtiPTAsTGI9MCxNYj0wLE5iPTAsT2I9MCxQYj0wLFFiPTAsUmI9MCxTYj0wLFRi
PTAsVWI9MCxWYj0wLFdiPTAsWGI9MCxZYj0wLFpiPTAsX2I9MCwkYj0wLGFjPTAsYmM9MCxjYz0w
LGRjPTAsZWM9MCxmYz0wLGdjPTAsaGM9MCxpYz0wLGpjPTAsa2M9MCxsYz0wLG1jPTAsbmM9MCxv
Yz0wLHBjPTAscWM9MCxyYz0wLHNjPTAsdGM9MDtwPWk7aT1pKzQ5NnwwO3E9cCs3MnwwO3I9cCsy
NHwwO3M9cDt0PXArNTJ8MDt1PXArNTZ8MDt2PXArNDcyfDA7dz1wKzEyfDA7eD1wKzQwfDA7eT1w
KzI4fDA7ej1wKzh8MDtBPXArNHwwO2Nbcj4+Ml09MDtjW3UrMD4+Ml09MDtjW3UrND4+Ml09MDtj
W3UrOD4+Ml09MDtjW3YrMD4+Ml09MDtjW3YrND4+Ml09MDtjW3YrOD4+Ml09MDtjW3crMD4+Ml09
MDtjW3crND4+Ml09MDtjW3crOD4+Ml09MDtjW3grMD4+Ml09MDtjW3grND4+Ml09MDtjW3grOD4+
Ml09MDtjW3krMD4+Ml09MDtjW3krND4+Ml09MDtjW3krOD4+Ml09MDtjbChmLGcscixzLHQsdSx2
LHcseCx6KTtjW24+PjJdPWNbbT4+Ml07Zz14KzR8MDtmPXgrOHwwO0I9dys0fDA7Qz13Kzh8MDtE
PShoJjUxMnwwKSE9MDtoPXYrNHwwO0U9dis4fDA7Rj15KzR8MDtHPXkrOHwwO0g9ciszfDA7ST1t
KzR8MDtKPXUrNHwwO0s9cSs0MDB8MDtMPXE7TT1xO3E9bztvPTA7Tj0wO089MTM2O2E6d2hpbGUo
MSl7UD1jW2I+PjJdfDA7ZG97aWYoKFB8MCkhPTApe1E9Y1tQKzEyPj4yXXwwO2lmKChRfDApPT0o
Y1tQKzE2Pj4yXXwwKSl7Uj1EY1tjWyhjW1A+PjJdfDApKzM2Pj4yXSYxMjddKFApfDB9ZWxzZXtS
PWNbUT4+Ml18MH1pZigoUnwwKT09LTEpe2NbYj4+Ml09MDtTPTE7YnJlYWt9ZWxzZXtTPShjW2I+
PjJdfDApPT0wO2JyZWFrfX1lbHNle1M9MX19d2hpbGUoMCk7UD1jW2U+PjJdfDA7ZG97aWYoKFB8
MCkhPTApe1E9Y1tQKzEyPj4yXXwwO2lmKChRfDApPT0oY1tQKzE2Pj4yXXwwKSl7VD1EY1tjWyhj
W1A+PjJdfDApKzM2Pj4yXSYxMjddKFApfDB9ZWxzZXtUPWNbUT4+Ml18MH1pZighKChUfDApPT0t
MSkpe2lmKFMpe1U9UDticmVha31lbHNle1Y9TTtXPUw7WD1OO1k9TztaPTI5MjticmVhayBhfX1l
bHNle2NbZT4+Ml09MDtaPTE1O2JyZWFrfX1lbHNle1o9MTV9fXdoaWxlKDApO2lmKChafDApPT0x
NSl7Wj0wO2lmKFMpe1Y9TTtXPUw7WD1OO1k9TztaPTI5MjticmVha31lbHNle1U9MH19Yjpkb3tz
d2l0Y2goYVtyK298MF18MCl7Y2FzZSAxOntpZigob3wwKT09Myl7Vj1NO1c9TDtYPU47WT1PO1o9
MjkyO2JyZWFrIGF9UD1jW2I+PjJdfDA7UT1jW1ArMTI+PjJdfDA7aWYoKFF8MCk9PShjW1ArMTY+
PjJdfDApKXtfPURjW2NbKGNbUD4+Ml18MCkrMzY+PjJdJjEyN10oUCl8MH1lbHNle189Y1tRPj4y
XXwwfWlmKCEodmNbY1soY1tsPj4yXXwwKSsxMj4+Ml0mMzFdKGwsODE5MixfKXwwKSl7Wj0yNzti
cmVhayBhfVE9Y1tiPj4yXXwwO1A9USsxMnwwOyQ9Y1tQPj4yXXwwO2lmKCgkfDApPT0oY1tRKzE2
Pj4yXXwwKSl7YWE9RGNbY1soY1tRPj4yXXwwKSs0MD4+Ml0mMTI3XShRKXwwfWVsc2V7Y1tQPj4y
XT0kKzQ7YWE9Y1skPj4yXXwwfXVnKHksYWEpO1o9Mjg7YnJlYWt9O2Nhc2UgMDp7Wj0yODticmVh
a307Y2FzZSA0OnskPXE7UD1MO1E9SztiYT1NO2NhPTA7ZGE9TztjOndoaWxlKDEpe2VhPWNbYj4+
Ml18MDtkb3tpZigoZWF8MCkhPTApe2ZhPWNbZWErMTI+PjJdfDA7aWYoKGZhfDApPT0oY1tlYSsx
Nj4+Ml18MCkpe2dhPURjW2NbKGNbZWE+PjJdfDApKzM2Pj4yXSYxMjddKGVhKXwwfWVsc2V7Z2E9
Y1tmYT4+Ml18MH1pZigoZ2F8MCk9PS0xKXtjW2I+PjJdPTA7aGE9MTticmVha31lbHNle2hhPShj
W2I+PjJdfDApPT0wO2JyZWFrfX1lbHNle2hhPTF9fXdoaWxlKDApO2VhPWNbZT4+Ml18MDtkb3tp
ZigoZWF8MCkhPTApe2ZhPWNbZWErMTI+PjJdfDA7aWYoKGZhfDApPT0oY1tlYSsxNj4+Ml18MCkp
e2lhPURjW2NbKGNbZWE+PjJdfDApKzM2Pj4yXSYxMjddKGVhKXwwfWVsc2V7aWE9Y1tmYT4+Ml18
MH1pZighKChpYXwwKT09LTEpKXtpZihoYSl7YnJlYWt9ZWxzZXticmVhayBjfX1lbHNle2NbZT4+
Ml09MDtaPTE4ODticmVha319ZWxzZXtaPTE4OH19d2hpbGUoMCk7aWYoKFp8MCk9PTE4OD8oWj0w
LGhhKTowKXticmVha31lYT1jW2I+PjJdfDA7ZmE9Y1tlYSsxMj4+Ml18MDtpZigoZmF8MCk9PShj
W2VhKzE2Pj4yXXwwKSl7amE9RGNbY1soY1tlYT4+Ml18MCkrMzY+PjJdJjEyN10oZWEpfDB9ZWxz
ZXtqYT1jW2ZhPj4yXXwwfWlmKHZjW2NbKGNbbD4+Ml18MCkrMTI+PjJdJjMxXShsLDIwNDgsamEp
fDApe2ZhPWNbbj4+Ml18MDtpZigoZmF8MCk9PSgkfDApKXtlYT0oY1tJPj4yXXwwKSE9MTM2O2th
PWNbbT4+Ml18MDtsYT0kLWthfDA7bWE9bGE+Pj4wPDIxNDc0ODM2NDc/bGE8PDE6LTE7bmE9bGE+
PjI7aWYoZWEpe29hPWthfWVsc2V7b2E9MH1rYT14byhvYSxtYSl8MDtpZigoa2F8MCk9PTApe1o9
MTk4O2JyZWFrIGF9aWYoIWVhKXtlYT1jW20+PjJdfDA7Y1ttPj4yXT1rYTtpZigoZWF8MCk9PTAp
e3BhPWthfWVsc2V7QWNbY1tJPj4yXSYyNTVdKGVhKTtwYT1jW20+PjJdfDB9fWVsc2V7Y1ttPj4y
XT1rYTtwYT1rYX1jW0k+PjJdPTEzNztrYT1wYSsobmE8PDIpfDA7Y1tuPj4yXT1rYTtxYT1rYTty
YT0oY1ttPj4yXXwwKSsobWE+Pj4yPDwyKXwwfWVsc2V7cWE9ZmE7cmE9JH1jW24+PjJdPXFhKzQ7
Y1txYT4+Ml09amE7c2E9cmE7dGE9YmE7dWE9UDt2YT1RO3dhPWNhKzF8MDt4YT1kYX1lbHNle2Zh
PWFbdV18MDtpZigoZmEmMSk9PTApe3lhPShmYSYyNTUpPj4+MX1lbHNle3lhPWNbSj4+Ml18MH1p
ZigoeWF8MCk9PTB8KGNhfDApPT0wKXticmVha31pZigoamF8MCkhPShjW3Q+PjJdfDApKXticmVh
a31pZigoUHwwKT09KFF8MCkpe2ZhPVAtYmF8MDttYT1mYT4+PjA8MjE0NzQ4MzY0Nz9mYTw8MTot
MTtpZigoZGF8MCkhPTEzNil7emE9YmF9ZWxzZXt6YT0wfWthPXhvKHphLG1hKXwwO2lmKChrYXww
KT09MCl7Wj0yMTQ7YnJlYWsgYX1BYT1rYSsoZmE+PjI8PDIpfDA7QmE9a2E7Q2E9a2ErKG1hPj4+
Mjw8Mil8MDtEYT0xMzd9ZWxzZXtBYT1QO0JhPWJhO0NhPVE7RGE9ZGF9Y1tBYT4+Ml09Y2E7c2E9
JDt0YT1CYTt1YT1BYSs0fDA7dmE9Q2E7d2E9MDt4YT1EYX1tYT1jW2I+PjJdfDA7a2E9bWErMTJ8
MDtmYT1jW2thPj4yXXwwO2lmKChmYXwwKT09KGNbbWErMTY+PjJdfDApKXtEY1tjWyhjW21hPj4y
XXwwKSs0MD4+Ml0mMTI3XShtYSl8MDskPXNhO1A9dWE7UT12YTtiYT10YTtjYT13YTtkYT14YTtj
b250aW51ZX1lbHNle2Nba2E+PjJdPWZhKzQ7JD1zYTtQPXVhO1E9dmE7YmE9dGE7Y2E9d2E7ZGE9
eGE7Y29udGludWV9fWlmKChiYXwwKT09KFB8MCl8KGNhfDApPT0wKXtFYT1iYTtGYT1QO0dhPVE7
SGE9ZGF9ZWxzZXtpZigoUHwwKT09KFF8MCkpe2ZhPVAtYmF8MDtrYT1mYT4+PjA8MjE0NzQ4MzY0
Nz9mYTw8MTotMTtpZigoZGF8MCkhPTEzNil7SWE9YmF9ZWxzZXtJYT0wfW1hPXhvKElhLGthKXww
O2lmKChtYXwwKT09MCl7Wj0yMjU7YnJlYWsgYX1KYT1tYSsoZmE+PjI8PDIpfDA7S2E9bWE7TGE9
bWErKGthPj4+Mjw8Mil8MDtNYT0xMzd9ZWxzZXtKYT1QO0thPWJhO0xhPVE7TWE9ZGF9Y1tKYT4+
Ml09Y2E7RWE9S2E7RmE9SmErNHwwO0dhPUxhO0hhPU1hfWthPWNbej4+Ml18MDtpZigoa2F8MCk+
MCl7bWE9Y1tiPj4yXXwwO2Rve2lmKChtYXwwKSE9MCl7ZmE9Y1ttYSsxMj4+Ml18MDtpZigoZmF8
MCk9PShjW21hKzE2Pj4yXXwwKSl7TmE9RGNbY1soY1ttYT4+Ml18MCkrMzY+PjJdJjEyN10obWEp
fDB9ZWxzZXtOYT1jW2ZhPj4yXXwwfWlmKChOYXwwKT09LTEpe2NbYj4+Ml09MDtPYT0xO2JyZWFr
fWVsc2V7T2E9KGNbYj4+Ml18MCk9PTA7YnJlYWt9fWVsc2V7T2E9MX19d2hpbGUoMCk7bWE9Y1tl
Pj4yXXwwO2Rve2lmKChtYXwwKSE9MCl7Y2E9Y1ttYSsxMj4+Ml18MDtpZigoY2F8MCk9PShjW21h
KzE2Pj4yXXwwKSl7UGE9RGNbY1soY1ttYT4+Ml18MCkrMzY+PjJdJjEyN10obWEpfDB9ZWxzZXtQ
YT1jW2NhPj4yXXwwfWlmKCEoKFBhfDApPT0tMSkpe2lmKE9hKXtRYT1tYTticmVha31lbHNle1o9
MjQ4O2JyZWFrIGF9fWVsc2V7Y1tlPj4yXT0wO1o9MjQyO2JyZWFrfX1lbHNle1o9MjQyfX13aGls
ZSgwKTtpZigoWnwwKT09MjQyKXtaPTA7aWYoT2Epe1o9MjQ4O2JyZWFrIGF9ZWxzZXtRYT0wfX1t
YT1jW2I+PjJdfDA7Y2E9Y1ttYSsxMj4+Ml18MDtpZigoY2F8MCk9PShjW21hKzE2Pj4yXXwwKSl7
UmE9RGNbY1soY1ttYT4+Ml18MCkrMzY+PjJdJjEyN10obWEpfDB9ZWxzZXtSYT1jW2NhPj4yXXww
fWlmKChSYXwwKSE9KGNbcz4+Ml18MCkpe1o9MjQ4O2JyZWFrIGF9Y2E9Y1tiPj4yXXwwO21hPWNh
KzEyfDA7ZGE9Y1ttYT4+Ml18MDtpZigoZGF8MCk9PShjW2NhKzE2Pj4yXXwwKSl7RGNbY1soY1tj
YT4+Ml18MCkrNDA+PjJdJjEyN10oY2EpfDA7U2E9UWE7VGE9UWE7VWE9JDtWYT1rYX1lbHNle2Nb
bWE+PjJdPWRhKzQ7U2E9UWE7VGE9UWE7VWE9JDtWYT1rYX13aGlsZSgxKXtkYT1jW2I+PjJdfDA7
ZG97aWYoKGRhfDApIT0wKXttYT1jW2RhKzEyPj4yXXwwO2lmKChtYXwwKT09KGNbZGErMTY+PjJd
fDApKXtXYT1EY1tjWyhjW2RhPj4yXXwwKSszNj4+Ml0mMTI3XShkYSl8MH1lbHNle1dhPWNbbWE+
PjJdfDB9aWYoKFdhfDApPT0tMSl7Y1tiPj4yXT0wO1hhPTE7YnJlYWt9ZWxzZXtYYT0oY1tiPj4y
XXwwKT09MDticmVha319ZWxzZXtYYT0xfX13aGlsZSgwKTtkb3tpZigoVGF8MCkhPTApe2RhPWNb
VGErMTI+PjJdfDA7aWYoKGRhfDApPT0oY1tUYSsxNj4+Ml18MCkpe1lhPURjW2NbKGNbVGE+PjJd
fDApKzM2Pj4yXSYxMjddKFRhKXwwfWVsc2V7WWE9Y1tkYT4+Ml18MH1pZighKChZYXwwKT09LTEp
KXtpZihYYV4oU2F8MCk9PTApe1phPVNhO19hPVNhO2JyZWFrfWVsc2V7Wj0yNzE7YnJlYWsgYX19
ZWxzZXtjW2U+PjJdPTA7JGE9MDtaPTI2NTticmVha319ZWxzZXskYT1TYTtaPTI2NX19d2hpbGUo
MCk7aWYoKFp8MCk9PTI2NSl7Wj0wO2lmKFhhKXtaPTI3MTticmVhayBhfWVsc2V7WmE9JGE7X2E9
MH19ZGE9Y1tiPj4yXXwwO21hPWNbZGErMTI+PjJdfDA7aWYoKG1hfDApPT0oY1tkYSsxNj4+Ml18
MCkpe2FiPURjW2NbKGNbZGE+PjJdfDApKzM2Pj4yXSYxMjddKGRhKXwwfWVsc2V7YWI9Y1ttYT4+
Ml18MH1pZighKHZjW2NbKGNbbD4+Ml18MCkrMTI+PjJdJjMxXShsLDIwNDgsYWIpfDApKXtaPTI3
MTticmVhayBhfW1hPWNbbj4+Ml18MDtpZigobWF8MCk9PShVYXwwKSl7ZGE9KGNbST4+Ml18MCkh
PTEzNjtjYT1jW20+PjJdfDA7UT1VYS1jYXwwO2JhPVE+Pj4wPDIxNDc0ODM2NDc/UTw8MTotMTtQ
PVE+PjI7aWYoZGEpe2JiPWNhfWVsc2V7YmI9MH1jYT14byhiYixiYSl8MDtpZigoY2F8MCk9PTAp
e1o9Mjc2O2JyZWFrIGF9aWYoIWRhKXtkYT1jW20+PjJdfDA7Y1ttPj4yXT1jYTtpZigoZGF8MCk9
PTApe2NiPWNhfWVsc2V7QWNbY1tJPj4yXSYyNTVdKGRhKTtjYj1jW20+PjJdfDB9fWVsc2V7Y1tt
Pj4yXT1jYTtjYj1jYX1jW0k+PjJdPTEzNztjYT1jYisoUDw8Mil8MDtjW24+PjJdPWNhO2RiPWNh
O2ViPShjW20+PjJdfDApKyhiYT4+PjI8PDIpfDB9ZWxzZXtkYj1tYTtlYj1VYX1tYT1jW2I+PjJd
fDA7YmE9Y1ttYSsxMj4+Ml18MDtpZigoYmF8MCk9PShjW21hKzE2Pj4yXXwwKSl7Y2E9RGNbY1so
Y1ttYT4+Ml18MCkrMzY+PjJdJjEyN10obWEpfDA7ZmI9Y2E7Z2I9Y1tuPj4yXXwwfWVsc2V7ZmI9
Y1tiYT4+Ml18MDtnYj1kYn1jW24+PjJdPWdiKzQ7Y1tnYj4+Ml09ZmI7YmE9VmErIC0xfDA7Y1t6
Pj4yXT1iYTtjYT1jW2I+PjJdfDA7bWE9Y2ErMTJ8MDtQPWNbbWE+PjJdfDA7aWYoKFB8MCk9PShj
W2NhKzE2Pj4yXXwwKSl7RGNbY1soY1tjYT4+Ml18MCkrNDA+PjJdJjEyN10oY2EpfDB9ZWxzZXtj
W21hPj4yXT1QKzR9aWYoKGJhfDApPjApe1NhPVphO1RhPV9hO1VhPWViO1ZhPWJhfWVsc2V7aGI9
ZWI7YnJlYWt9fX1lbHNle2hiPSR9aWYoKGNbbj4+Ml18MCk9PShjW20+PjJdfDApKXtaPTI5MDti
cmVhayBhfWVsc2V7aWI9aGI7amI9RWE7a2I9RmE7bGI9R2E7bWI9TjtuYj1IYX1icmVha307Y2Fz
ZSAyOntpZighKChOfDApIT0wfG8+Pj4wPDIpKXtpZigob3wwKT09Mil7b2I9KGFbSF18MCkhPTB9
ZWxzZXtvYj0wfWlmKCEoRHxvYikpe2liPXE7amI9TTtrYj1MO2xiPUs7bWI9MDtuYj1PO2JyZWFr
IGJ9fWthPWFbdl18MDtiYT0oa2EmMSk9PTA/aDpjW0U+PjJdfDA7ZDpkb3tpZigob3wwKSE9MD8o
ZFtyKyhvKyAtMSl8MF18MCk8MjowKXtQPWthO21hPWJhO3doaWxlKDEpe2lmKChQJjEpPT0wKXtw
Yj1oO3FiPShQJjI1NSk+Pj4xfWVsc2V7cGI9Y1tFPj4yXXwwO3FiPWNbaD4+Ml18MH1pZigobWF8
MCk9PShwYisocWI8PDIpfDApKXtyYj1QO2JyZWFrfWlmKCEodmNbY1soY1tsPj4yXXwwKSsxMj4+
Ml0mMzFdKGwsODE5MixjW21hPj4yXXwwKXwwKSl7Wj0xMjk7YnJlYWt9UD1hW3ZdfDA7bWE9bWEr
NHwwfWlmKChafDApPT0xMjkpe1o9MDtyYj1hW3ZdfDB9UD0ocmImMSk9PTA7Y2E9bWEtKFA/aDpj
W0U+PjJdfDApPj4yO2RhPWFbeV18MDtRPShkYSYxKT09MDtpZihRKXtzYj0oZGEmMjU1KT4+PjF9
ZWxzZXtzYj1jW0Y+PjJdfDB9ZTpkb3tpZighKGNhPj4+MD5zYj4+PjApKXtpZihRKXt0Yj1GO3Vi
PShkYSYyNTUpPj4+MTt2Yj1GKygoKGRhJjI1NSk+Pj4xKS1jYTw8Mil8MH1lbHNle2ZhPWNbRz4+
Ml18MDtuYT1jW0Y+PjJdfDA7dGI9ZmE7dWI9bmE7dmI9ZmErKG5hLWNhPDwyKXwwfW5hPXRiKyh1
Yjw8Mil8MDtpZigodmJ8MCk9PShuYXwwKSl7d2I9VTt4Yj1yYjt5Yj1tYTt6Yj1VO2JyZWFrIGR9
ZWxzZXtBYj12YjtCYj1QP2g6Y1tFPj4yXXwwfXdoaWxlKDEpe2lmKChjW0FiPj4yXXwwKSE9KGNb
QmI+PjJdfDApKXticmVhayBlfWZhPUFiKzR8MDtpZigoZmF8MCk9PShuYXwwKSl7d2I9VTt4Yj1y
Yjt5Yj1tYTt6Yj1VO2JyZWFrIGR9QWI9ZmE7QmI9QmIrNHwwfX19d2hpbGUoMCk7d2I9VTt4Yj1y
Yjt5Yj1QP2g6Y1tFPj4yXXwwO3piPVV9ZWxzZXt3Yj1VO3hiPWthO3liPWJhO3piPVV9fXdoaWxl
KDApO2Y6d2hpbGUoMSl7aWYoKHhiJjEpPT0wKXtDYj1oO0RiPSh4YiYyNTUpPj4+MX1lbHNle0Ni
PWNbRT4+Ml18MDtEYj1jW2g+PjJdfDB9aWYoKHlifDApPT0oQ2IrKERiPDwyKXwwKSl7YnJlYWt9
YmE9Y1tiPj4yXXwwO2Rve2lmKChiYXwwKSE9MCl7a2E9Y1tiYSsxMj4+Ml18MDtpZigoa2F8MCk9
PShjW2JhKzE2Pj4yXXwwKSl7RWI9RGNbY1soY1tiYT4+Ml18MCkrMzY+PjJdJjEyN10oYmEpfDB9
ZWxzZXtFYj1jW2thPj4yXXwwfWlmKChFYnwwKT09LTEpe2NbYj4+Ml09MDtGYj0xO2JyZWFrfWVs
c2V7RmI9KGNbYj4+Ml18MCk9PTA7YnJlYWt9fWVsc2V7RmI9MX19d2hpbGUoMCk7ZG97aWYoKHpi
fDApIT0wKXtiYT1jW3piKzEyPj4yXXwwO2lmKChiYXwwKT09KGNbemIrMTY+PjJdfDApKXtHYj1E
Y1tjWyhjW3piPj4yXXwwKSszNj4+Ml0mMTI3XSh6Yil8MH1lbHNle0diPWNbYmE+PjJdfDB9aWYo
ISgoR2J8MCk9PS0xKSl7aWYoRmJeKHdifDApPT0wKXtIYj13YjtJYj13YjticmVha31lbHNle2Jy
ZWFrIGZ9fWVsc2V7Y1tlPj4yXT0wO0piPTA7Wj0xNTk7YnJlYWt9fWVsc2V7SmI9d2I7Wj0xNTl9
fXdoaWxlKDApO2lmKChafDApPT0xNTkpe1o9MDtpZihGYil7YnJlYWt9ZWxzZXtIYj1KYjtJYj0w
fX1iYT1jW2I+PjJdfDA7UD1jW2JhKzEyPj4yXXwwO2lmKChQfDApPT0oY1tiYSsxNj4+Ml18MCkp
e0tiPURjW2NbKGNbYmE+PjJdfDApKzM2Pj4yXSYxMjddKGJhKXwwfWVsc2V7S2I9Y1tQPj4yXXww
fWlmKChLYnwwKSE9KGNbeWI+PjJdfDApKXticmVha31QPWNbYj4+Ml18MDtiYT1QKzEyfDA7a2E9
Y1tiYT4+Ml18MDtpZigoa2F8MCk9PShjW1ArMTY+PjJdfDApKXtEY1tjWyhjW1A+PjJdfDApKzQw
Pj4yXSYxMjddKFApfDB9ZWxzZXtjW2JhPj4yXT1rYSs0fXdiPUhiO3hiPWFbdl18MDt5Yj15Yis0
fDA7emI9SWJ9aWYoRCl7a2E9YVt2XXwwO2lmKChrYSYxKT09MCl7TGI9aDtNYj0oa2EmMjU1KT4+
PjF9ZWxzZXtMYj1jW0U+PjJdfDA7TWI9Y1toPj4yXXwwfWlmKCh5YnwwKSE9KExiKyhNYjw8Mil8
MCkpe1o9MTc0O2JyZWFrIGF9ZWxzZXtpYj1xO2piPU07a2I9TDtsYj1LO21iPU47bmI9T319ZWxz
ZXtpYj1xO2piPU07a2I9TDtsYj1LO21iPU47bmI9T31icmVha307Y2FzZSAzOntrYT1hW3ddfDA7
YmE9KGthJjEpPT0wO2lmKGJhKXtOYj0oa2EmMjU1KT4+PjF9ZWxzZXtOYj1jW0I+PjJdfDB9UD1h
W3hdfDA7JD0oUCYxKT09MDtpZigkKXtPYj0oUCYyNTUpPj4+MX1lbHNle09iPWNbZz4+Ml18MH1p
ZigoTmJ8MCk9PSgwLU9ifDApKXtpYj1xO2piPU07a2I9TDtsYj1LO21iPU47bmI9T31lbHNle2lm
KGJhKXtQYj0oa2EmMjU1KT4+PjF9ZWxzZXtQYj1jW0I+PjJdfDB9aWYoKFBifDApIT0wKXtpZigk
KXtRYj0oUCYyNTUpPj4+MX1lbHNle1FiPWNbZz4+Ml18MH1pZigoUWJ8MCkhPTApeyQ9Y1tiPj4y
XXwwO21hPWNbJCsxMj4+Ml18MDtpZigobWF8MCk9PShjWyQrMTY+PjJdfDApKXtjYT1EY1tjWyhj
WyQ+PjJdfDApKzM2Pj4yXSYxMjddKCQpfDA7UmI9Y2E7U2I9YVt3XXwwfWVsc2V7UmI9Y1ttYT4+
Ml18MDtTYj1rYX1tYT1jW2I+PjJdfDA7Y2E9bWErMTJ8MDskPWNbY2E+PjJdfDA7ZGE9KCR8MCk9
PShjW21hKzE2Pj4yXXwwKTtpZigoUmJ8MCk9PShjWygoU2ImMSk9PTA/QjpjW0M+PjJdfDApPj4y
XXwwKSl7aWYoZGEpe0RjW2NbKGNbbWE+PjJdfDApKzQwPj4yXSYxMjddKG1hKXwwfWVsc2V7Y1tj
YT4+Ml09JCs0fWNhPWFbd118MDtpZigoY2EmMSk9PTApe1RiPShjYSYyNTUpPj4+MX1lbHNle1Ri
PWNbQj4+Ml18MH1pYj1xO2piPU07a2I9TDtsYj1LO21iPVRiPj4+MD4xP3c6TjtuYj1PO2JyZWFr
IGJ9aWYoZGEpe1ViPURjW2NbKGNbbWE+PjJdfDApKzM2Pj4yXSYxMjddKG1hKXwwfWVsc2V7VWI9
Y1skPj4yXXwwfWlmKChVYnwwKSE9KGNbKChhW3hdJjEpPT0wP2c6Y1tmPj4yXXwwKT4+Ml18MCkp
e1o9MTE2O2JyZWFrIGF9JD1jW2I+PjJdfDA7bWE9JCsxMnwwO2RhPWNbbWE+PjJdfDA7aWYoKGRh
fDApPT0oY1skKzE2Pj4yXXwwKSl7RGNbY1soY1skPj4yXXwwKSs0MD4+Ml0mMTI3XSgkKXwwfWVs
c2V7Y1ttYT4+Ml09ZGErNH1hW2tdPTE7ZGE9YVt4XXwwO2lmKChkYSYxKT09MCl7VmI9KGRhJjI1
NSk+Pj4xfWVsc2V7VmI9Y1tnPj4yXXwwfWliPXE7amI9TTtrYj1MO2xiPUs7bWI9VmI+Pj4wPjE/
eDpOO25iPU87YnJlYWsgYn19aWYoYmEpe1diPShrYSYyNTUpPj4+MX1lbHNle1diPWNbQj4+Ml18
MH1iYT1jW2I+PjJdfDA7ZGE9Y1tiYSsxMj4+Ml18MDttYT0oZGF8MCk9PShjW2JhKzE2Pj4yXXww
KTtpZigoV2J8MCk9PTApe2lmKG1hKXskPURjW2NbKGNbYmE+PjJdfDApKzM2Pj4yXSYxMjddKGJh
KXwwO1hiPSQ7WWI9YVt4XXwwfWVsc2V7WGI9Y1tkYT4+Ml18MDtZYj1QfWlmKChYYnwwKSE9KGNb
KChZYiYxKT09MD9nOmNbZj4+Ml18MCk+PjJdfDApKXtpYj1xO2piPU07a2I9TDtsYj1LO21iPU47
bmI9TzticmVhayBifVA9Y1tiPj4yXXwwOyQ9UCsxMnwwO2NhPWNbJD4+Ml18MDtpZigoY2F8MCk9
PShjW1ArMTY+PjJdfDApKXtEY1tjWyhjW1A+PjJdfDApKzQwPj4yXSYxMjddKFApfDB9ZWxzZXtj
WyQ+PjJdPWNhKzR9YVtrXT0xO2NhPWFbeF18MDtpZigoY2EmMSk9PTApe1piPShjYSYyNTUpPj4+
MX1lbHNle1piPWNbZz4+Ml18MH1pYj1xO2piPU07a2I9TDtsYj1LO21iPVpiPj4+MD4xP3g6Tjtu
Yj1PO2JyZWFrIGJ9aWYobWEpe21hPURjW2NbKGNbYmE+PjJdfDApKzM2Pj4yXSYxMjddKGJhKXww
O19iPW1hOyRiPWFbd118MH1lbHNle19iPWNbZGE+PjJdfDA7JGI9a2F9aWYoKF9ifDApIT0oY1so
KCRiJjEpPT0wP0I6Y1tDPj4yXXwwKT4+Ml18MCkpe2Fba109MTtpYj1xO2piPU07a2I9TDtsYj1L
O21iPU47bmI9TzticmVhayBifWthPWNbYj4+Ml18MDtkYT1rYSsxMnwwO21hPWNbZGE+PjJdfDA7
aWYoKG1hfDApPT0oY1trYSsxNj4+Ml18MCkpe0RjW2NbKGNba2E+PjJdfDApKzQwPj4yXSYxMjdd
KGthKXwwfWVsc2V7Y1tkYT4+Ml09bWErNH1tYT1hW3ddfDA7aWYoKG1hJjEpPT0wKXthYz0obWEm
MjU1KT4+PjF9ZWxzZXthYz1jW0I+PjJdfDB9aWI9cTtqYj1NO2tiPUw7bGI9SzttYj1hYz4+PjA+
MT93Ok47bmI9T31icmVha307ZGVmYXVsdDp7aWI9cTtqYj1NO2tiPUw7bGI9SzttYj1OO25iPU99
fX13aGlsZSgwKTtnOmRve2lmKChafDApPT0yOCl7Wj0wO2lmKChvfDApPT0zKXtWPU07Vz1MO1g9
TjtZPU87Wj0yOTI7YnJlYWsgYX1lbHNle2JjPVU7Y2M9VX13aGlsZSgxKXttYT1jW2I+PjJdfDA7
ZG97aWYoKG1hfDApIT0wKXtkYT1jW21hKzEyPj4yXXwwO2lmKChkYXwwKT09KGNbbWErMTY+PjJd
fDApKXtkYz1EY1tjWyhjW21hPj4yXXwwKSszNj4+Ml0mMTI3XShtYSl8MH1lbHNle2RjPWNbZGE+
PjJdfDB9aWYoKGRjfDApPT0tMSl7Y1tiPj4yXT0wO2VjPTE7YnJlYWt9ZWxzZXtlYz0oY1tiPj4y
XXwwKT09MDticmVha319ZWxzZXtlYz0xfX13aGlsZSgwKTtkb3tpZigoY2N8MCkhPTApe21hPWNb
Y2MrMTI+PjJdfDA7aWYoKG1hfDApPT0oY1tjYysxNj4+Ml18MCkpe2ZjPURjW2NbKGNbY2M+PjJd
fDApKzM2Pj4yXSYxMjddKGNjKXwwfWVsc2V7ZmM9Y1ttYT4+Ml18MH1pZighKChmY3wwKT09LTEp
KXtpZihlY14oYmN8MCk9PTApe2djPWJjO2hjPWJjO2JyZWFrfWVsc2V7aWI9cTtqYj1NO2tiPUw7
bGI9SzttYj1OO25iPU87YnJlYWsgZ319ZWxzZXtjW2U+PjJdPTA7aWM9MDtaPTQyO2JyZWFrfX1l
bHNle2ljPWJjO1o9NDJ9fXdoaWxlKDApO2lmKChafDApPT00Mil7Wj0wO2lmKGVjKXtpYj1xO2pi
PU07a2I9TDtsYj1LO21iPU47bmI9TzticmVhayBnfWVsc2V7Z2M9aWM7aGM9MH19bWE9Y1tiPj4y
XXwwO2RhPWNbbWErMTI+PjJdfDA7aWYoKGRhfDApPT0oY1ttYSsxNj4+Ml18MCkpe2pjPURjW2Nb
KGNbbWE+PjJdfDApKzM2Pj4yXSYxMjddKG1hKXwwfWVsc2V7amM9Y1tkYT4+Ml18MH1pZighKHZj
W2NbKGNbbD4+Ml18MCkrMTI+PjJdJjMxXShsLDgxOTIsamMpfDApKXtpYj1xO2piPU07a2I9TDts
Yj1LO21iPU47bmI9TzticmVhayBnfWRhPWNbYj4+Ml18MDttYT1kYSsxMnwwO2thPWNbbWE+PjJd
fDA7aWYoKGthfDApPT0oY1tkYSsxNj4+Ml18MCkpe2tjPURjW2NbKGNbZGE+PjJdfDApKzQwPj4y
XSYxMjddKGRhKXwwfWVsc2V7Y1ttYT4+Ml09a2ErNDtrYz1jW2thPj4yXXwwfXVnKHksa2MpO2Jj
PWdjO2NjPWhjfX19d2hpbGUoMCk7a2E9bysxfDA7aWYoa2E+Pj4wPDQpe0s9bGI7TD1rYjtNPWpi
O3E9aWI7bz1rYTtOPW1iO089bmJ9ZWxzZXtWPWpiO1c9a2I7WD1tYjtZPW5iO1o9MjkyO2JyZWFr
fX1oOmRve2lmKChafDApPT0yNyl7Y1tqPj4yXT1jW2o+PjJdfDQ7bGM9MDttYz1NO25jPU99ZWxz
ZSBpZigoWnwwKT09MTE2KXtjW2o+PjJdPWNbaj4+Ml18NDtsYz0wO21jPU07bmM9T31lbHNlIGlm
KChafDApPT0xNzQpe2Nbaj4+Ml09Y1tqPj4yXXw0O2xjPTA7bWM9TTtuYz1PfWVsc2UgaWYoKFp8
MCk9PTE5OCl7SG8oKX1lbHNlIGlmKChafDApPT0yMTQpe0hvKCl9ZWxzZSBpZigoWnwwKT09MjI1
KXtIbygpfWVsc2UgaWYoKFp8MCk9PTI0OCl7Y1tqPj4yXT1jW2o+PjJdfDQ7bGM9MDttYz1FYTtu
Yz1IYX1lbHNlIGlmKChafDApPT0yNzEpe2Nbaj4+Ml09Y1tqPj4yXXw0O2xjPTA7bWM9RWE7bmM9
SGF9ZWxzZSBpZigoWnwwKT09Mjc2KXtIbygpfWVsc2UgaWYoKFp8MCk9PTI5MCl7Y1tqPj4yXT1j
W2o+PjJdfDQ7bGM9MDttYz1FYTtuYz1IYX1lbHNlIGlmKChafDApPT0yOTIpe2k6ZG97aWYoKFh8
MCkhPTApe25iPVgrNHwwO21iPVgrOHwwO2tiPTE7ajp3aGlsZSgxKXtqYj1hW1hdfDA7aWYoKGpi
JjEpPT0wKXtvYz0oamImMjU1KT4+PjF9ZWxzZXtvYz1jW25iPj4yXXwwfWlmKCEoa2I+Pj4wPG9j
Pj4+MCkpe2JyZWFrIGl9amI9Y1tiPj4yXXwwO2Rve2lmKChqYnwwKSE9MCl7Tj1jW2piKzEyPj4y
XXwwO2lmKChOfDApPT0oY1tqYisxNj4+Ml18MCkpe3BjPURjW2NbKGNbamI+PjJdfDApKzM2Pj4y
XSYxMjddKGpiKXwwfWVsc2V7cGM9Y1tOPj4yXXwwfWlmKChwY3wwKT09LTEpe2NbYj4+Ml09MDtx
Yz0xO2JyZWFrfWVsc2V7cWM9KGNbYj4+Ml18MCk9PTA7YnJlYWt9fWVsc2V7cWM9MX19d2hpbGUo
MCk7amI9Y1tlPj4yXXwwO2Rve2lmKChqYnwwKSE9MCl7Tj1jW2piKzEyPj4yXXwwO2lmKChOfDAp
PT0oY1tqYisxNj4+Ml18MCkpe3JjPURjW2NbKGNbamI+PjJdfDApKzM2Pj4yXSYxMjddKGpiKXww
fWVsc2V7cmM9Y1tOPj4yXXwwfWlmKCEoKHJjfDApPT0tMSkpe2lmKHFjKXticmVha31lbHNle2Jy
ZWFrIGp9fWVsc2V7Y1tlPj4yXT0wO1o9MzExO2JyZWFrfX1lbHNle1o9MzExfX13aGlsZSgwKTtp
ZigoWnwwKT09MzExPyhaPTAscWMpOjApe2JyZWFrfWpiPWNbYj4+Ml18MDtOPWNbamIrMTI+PjJd
fDA7aWYoKE58MCk9PShjW2piKzE2Pj4yXXwwKSl7c2M9RGNbY1soY1tqYj4+Ml18MCkrMzY+PjJd
JjEyN10oamIpfDB9ZWxzZXtzYz1jW04+PjJdfDB9aWYoKGFbWF0mMSk9PTApe3RjPW5ifWVsc2V7
dGM9Y1ttYj4+Ml18MH1pZigoc2N8MCkhPShjW3RjKyhrYjw8Mik+PjJdfDApKXticmVha31OPWti
KzF8MDtqYj1jW2I+PjJdfDA7bz1qYisxMnwwO2liPWNbbz4+Ml18MDtpZigoaWJ8MCk9PShjW2pi
KzE2Pj4yXXwwKSl7RGNbY1soY1tqYj4+Ml18MCkrNDA+PjJdJjEyN10oamIpfDA7a2I9Tjtjb250
aW51ZX1lbHNle2Nbbz4+Ml09aWIrNDtrYj1OO2NvbnRpbnVlfX1jW2o+PjJdPWNbaj4+Ml18NDts
Yz0wO21jPVY7bmM9WTticmVhayBofX13aGlsZSgwKTtpZigoVnwwKSE9KFd8MCkpe2NbQT4+Ml09
MDtYayh1LFYsVyxBKTtpZigoY1tBPj4yXXwwKT09MCl7bGM9MTttYz1WO25jPVl9ZWxzZXtjW2o+
PjJdPWNbaj4+Ml18NDtsYz0wO21jPVY7bmM9WX19ZWxzZXtsYz0xO21jPVc7bmM9WX19fXdoaWxl
KDApO3FnKHkpO3FnKHgpO3FnKHcpO3FnKHYpO2VnKHUpO2lmKChtY3wwKT09MCl7aT1wO3JldHVy
biBsY3wwfUFjW25jJjI1NV0obWMpO2k9cDtyZXR1cm4gbGN8MH1mdW5jdGlvbiBhbChiLGQsZSxm
LGcsaCxqLGspe2I9YnwwO2Q9ZHwwO2U9ZXwwO2Y9ZnwwO2c9Z3wwO2g9aHwwO2o9anwwO2s9a3ww
O3ZhciBsPTAsbT0wLG49MCxvPTAscD0wLHE9MCxyPTAscz0wLHQ9MCx1PTAsdj0wLHc9MCx4PTAs
eT0wLHo9MCxBPTAsQj0wO2Q9aTtpPWkrNDQ4fDA7bD1kO209ZCsyNHwwO249ZCsxNnwwO289ZCs0
Mjh8MDtwPWQrMTJ8MDtxPWQrNDMyfDA7cj1kKzQyNHwwO2Nbbj4+Ml09bTtzPW4rNHwwO2Nbcz4+
Ml09MTM2O3Q9bSs0MDB8MDt6ZyhwLGgpO209Y1twPj4yXXwwO2lmKCEoKGNbMjk5Nl18MCk9PS0x
KSl7Y1tsPj4yXT0xMTk4NDtjW2wrND4+Ml09MTM0O2NbbCs4Pj4yXT0wOyRmKDExOTg0LGwsMTM1
KX11PShjWzExOTg4Pj4yXXwwKSsgLTF8MDt2PWNbbSs4Pj4yXXwwO2lmKCEoKGNbbSsxMj4+Ml18
MCktdj4+Mj4+PjA+dT4+PjApKXt3PURiKDQpfDA7JG4odyk7cGMod3wwLDE5OTUyLDEyMyl9bT1j
W3YrKHU8PDIpPj4yXXwwO2lmKChtfDApPT0wKXt3PURiKDQpfDA7JG4odyk7cGMod3wwLDE5OTUy
LDEyMyl9YVtxXT0wO3c9Y1tmPj4yXXwwO2Nbcj4+Ml09dzt1PWNbaCs0Pj4yXXwwO2NbbCswPj4y
XT1jW3IrMD4+Ml07aWYoJGsoZSxsLGcscCx1LGoscSxtLG4sbyx0KXwwKXtpZigoYVtrXSYxKT09
MCl7Y1trKzQ+PjJdPTA7YVtrXT0wfWVsc2V7Y1tjW2srOD4+Ml0+PjJdPTA7Y1trKzQ+PjJdPTB9
aWYoKGFbcV18MCkhPTApe3VnKGssTWNbY1soY1ttPj4yXXwwKSs0ND4+Ml0mMzFdKG0sNDUpfDAp
fXE9TWNbY1soY1ttPj4yXXwwKSs0ND4+Ml0mMzFdKG0sNDgpfDA7bT1jW24+PjJdfDA7dD1jW28+
PjJdfDA7bz10KyAtNHwwO2E6ZG97aWYobT4+PjA8bz4+PjApe3U9bTt3aGlsZSgxKXtnPXUrNHww
O2lmKChjW3U+PjJdfDApIT0ocXwwKSl7eD11O2JyZWFrIGF9aWYoZz4+PjA8bz4+PjApe3U9Z31l
bHNle3g9ZzticmVha319fWVsc2V7eD1tfX13aGlsZSgwKTtibChrLHgsdCl8MH10PWNbZT4+Ml18
MDtkb3tpZigodHwwKSE9MCl7eD1jW3QrMTI+PjJdfDA7aWYoKHh8MCk9PShjW3QrMTY+PjJdfDAp
KXt5PURjW2NbKGNbdD4+Ml18MCkrMzY+PjJdJjEyN10odCl8MH1lbHNle3k9Y1t4Pj4yXXwwfWlm
KCh5fDApPT0tMSl7Y1tlPj4yXT0wO3o9MTticmVha31lbHNle3o9KGNbZT4+Ml18MCk9PTA7YnJl
YWt9fWVsc2V7ej0xfX13aGlsZSgwKTtkb3tpZigod3wwKSE9MCl7eT1jW3crMTI+PjJdfDA7aWYo
KHl8MCk9PShjW3crMTY+PjJdfDApKXtBPURjW2NbKGNbdz4+Ml18MCkrMzY+PjJdJjEyN10odyl8
MH1lbHNle0E9Y1t5Pj4yXXwwfWlmKCEoKEF8MCk9PS0xKSl7aWYoeil7YnJlYWt9ZWxzZXtCPTMx
O2JyZWFrfX1lbHNle2NbZj4+Ml09MDtCPTI5O2JyZWFrfX1lbHNle0I9Mjl9fXdoaWxlKDApO2lm
KChCfDApPT0yOT96OjApe0I9MzF9aWYoKEJ8MCk9PTMxKXtjW2o+PjJdPWNbaj4+Ml18Mn1jW2I+
PjJdPWNbZT4+Ml07SGYoY1twPj4yXXwwKXwwO3A9Y1tuPj4yXXwwO2Nbbj4+Ml09MDtpZigocHww
KT09MCl7aT1kO3JldHVybn1BY1tjW3M+PjJdJjI1NV0ocCk7aT1kO3JldHVybn1mdW5jdGlvbiBi
bChiLGQsZSl7Yj1ifDA7ZD1kfDA7ZT1lfDA7dmFyIGY9MCxnPTAsaD0wLGo9MCxrPTAsbD0wLG09
MCxuPTAsbz0wO2Y9aTtnPWQ7aD1hW2JdfDA7aWYoKGgmMSk9PTApe2o9MTtrPShoJjI1NSk+Pj4x
O2w9aH1lbHNle2g9Y1tiPj4yXXwwO2o9KGgmLTIpKyAtMXwwO2s9Y1tiKzQ+PjJdfDA7bD1oJjI1
NX1oPWUtZz4+MjtpZigoaHwwKT09MCl7aT1mO3JldHVybiBifDB9aWYoKGota3wwKT4+PjA8aD4+
PjApe3dnKGIsaixrK2gtanwwLGssaywwLDApO209YVtiXXwwfWVsc2V7bT1sfWlmKChtJjEpPT0w
KXtuPWIrNHwwfWVsc2V7bj1jW2IrOD4+Ml18MH1tPW4rKGs8PDIpfDA7aWYoKGR8MCk9PShlfDAp
KXtvPW19ZWxzZXtsPWsrKChlKyAtNCsoMC1nKXwwKT4+PjIpKzF8MDtnPWQ7ZD1tO3doaWxlKDEp
e2NbZD4+Ml09Y1tnPj4yXTtnPWcrNHwwO2lmKChnfDApPT0oZXwwKSl7YnJlYWt9ZWxzZXtkPWQr
NHwwfX1vPW4rKGw8PDIpfDB9Y1tvPj4yXT0wO289aytofDA7aWYoKGFbYl0mMSk9PTApe2FbYl09
bzw8MTtpPWY7cmV0dXJuIGJ8MH1lbHNle2NbYis0Pj4yXT1vO2k9ZjtyZXR1cm4gYnwwfXJldHVy
biAwfWZ1bmN0aW9uIGNsKGIsZCxlLGYsZyxoLGosayxsLG0pe2I9YnwwO2Q9ZHwwO2U9ZXwwO2Y9
ZnwwO2c9Z3wwO2g9aHwwO2o9anwwO2s9a3wwO2w9bHwwO209bXwwO3ZhciBuPTAsbz0wLHA9MCxx
PTAscj0wLHM9MCx0PTAsdT0wLHY9MCx3PTAseD0wLHk9MCx6PTAsQT0wLEI9MCxDPTAsRD0wO249
aTtpPWkrMTI4fDA7bz1uO3A9bisyNHwwO3E9bis0NHwwO3I9biszMnwwO3M9bis1NnwwO3Q9bisx
MnwwO3U9bisyOHwwO3Y9bis2OHwwO3c9bis4MHwwO3g9bis5MnwwO3k9bisxMDR8MDtpZihiKXti
PWNbZD4+Ml18MDtpZighKChjWzI4OTBdfDApPT0tMSkpe2Nbbz4+Ml09MTE1NjA7Y1tvKzQ+PjJd
PTEzNDtjW28rOD4+Ml09MDskZigxMTU2MCxvLDEzNSl9ej0oY1sxMTU2ND4+Ml18MCkrIC0xfDA7
QT1jW2IrOD4+Ml18MDtpZighKChjW2IrMTI+PjJdfDApLUE+PjI+Pj4wPno+Pj4wKSl7Qj1EYig0
KXwwOyRuKEIpO3BjKEJ8MCwxOTk1MiwxMjMpfWI9Y1tBKyh6PDwyKT4+Ml18MDtpZigoYnwwKT09
MCl7Qj1EYig0KXwwOyRuKEIpO3BjKEJ8MCwxOTk1MiwxMjMpfUJjW2NbKGNbYj4+Ml18MCkrNDQ+
PjJdJjYzXShwLGIpO0I9Y1twPj4yXXwwO2FbZV09QjthW2UrMXwwXT1CPj44O2FbZSsyfDBdPUI+
PjE2O2FbZSszfDBdPUI+PjI0O0JjW2NbKGNbYj4+Ml18MCkrMzI+PjJdJjYzXShxLGIpO2lmKChh
W2xdJjEpPT0wKXtjW2wrND4+Ml09MDthW2xdPTB9ZWxzZXtjW2NbbCs4Pj4yXT4+Ml09MDtjW2wr
ND4+Ml09MH10ZyhsLDApO2NbbCswPj4yXT1jW3ErMD4+Ml07Y1tsKzQ+PjJdPWNbcSs0Pj4yXTtj
W2wrOD4+Ml09Y1txKzg+PjJdO2NbcSswPj4yXT0wO2NbcSs0Pj4yXT0wO2NbcSs4Pj4yXT0wO3Fn
KHEpO0JjW2NbKGNbYj4+Ml18MCkrMjg+PjJdJjYzXShyLGIpO2lmKChhW2tdJjEpPT0wKXtjW2sr
ND4+Ml09MDthW2tdPTB9ZWxzZXtjW2Nbays4Pj4yXT4+Ml09MDtjW2srND4+Ml09MH10ZyhrLDAp
O2NbayswPj4yXT1jW3IrMD4+Ml07Y1trKzQ+PjJdPWNbcis0Pj4yXTtjW2srOD4+Ml09Y1tyKzg+
PjJdO2NbciswPj4yXT0wO2Nbcis0Pj4yXT0wO2Nbcis4Pj4yXT0wO3FnKHIpO2NbZj4+Ml09RGNb
Y1soY1tiPj4yXXwwKSsxMj4+Ml0mMTI3XShiKXwwO2NbZz4+Ml09RGNbY1soY1tiPj4yXXwwKSsx
Nj4+Ml0mMTI3XShiKXwwO0JjW2NbKGNbYj4+Ml18MCkrMjA+PjJdJjYzXShzLGIpO2lmKChhW2hd
JjEpPT0wKXthW2grMXwwXT0wO2FbaF09MH1lbHNle2FbY1toKzg+PjJdfDBdPTA7Y1toKzQ+PjJd
PTB9amcoaCwwKTtjW2grMD4+Ml09Y1tzKzA+PjJdO2NbaCs0Pj4yXT1jW3MrND4+Ml07Y1toKzg+
PjJdPWNbcys4Pj4yXTtjW3MrMD4+Ml09MDtjW3MrND4+Ml09MDtjW3MrOD4+Ml09MDtlZyhzKTtC
Y1tjWyhjW2I+PjJdfDApKzI0Pj4yXSY2M10odCxiKTtpZigoYVtqXSYxKT09MCl7Y1tqKzQ+PjJd
PTA7YVtqXT0wfWVsc2V7Y1tjW2orOD4+Ml0+PjJdPTA7Y1tqKzQ+PjJdPTB9dGcoaiwwKTtjW2or
MD4+Ml09Y1t0KzA+PjJdO2Nbais0Pj4yXT1jW3QrND4+Ml07Y1tqKzg+PjJdPWNbdCs4Pj4yXTtj
W3QrMD4+Ml09MDtjW3QrND4+Ml09MDtjW3QrOD4+Ml09MDtxZyh0KTtDPURjW2NbKGNbYj4+Ml18
MCkrMzY+PjJdJjEyN10oYil8MDtjW20+PjJdPUM7aT1uO3JldHVybn1lbHNle2I9Y1tkPj4yXXww
O2lmKCEoKGNbMjg3NF18MCk9PS0xKSl7Y1tvPj4yXT0xMTQ5NjtjW28rND4+Ml09MTM0O2Nbbys4
Pj4yXT0wOyRmKDExNDk2LG8sMTM1KX1vPShjWzExNTAwPj4yXXwwKSsgLTF8MDtkPWNbYis4Pj4y
XXwwO2lmKCEoKGNbYisxMj4+Ml18MCktZD4+Mj4+PjA+bz4+PjApKXtEPURiKDQpfDA7JG4oRCk7
cGMoRHwwLDE5OTUyLDEyMyl9Yj1jW2QrKG88PDIpPj4yXXwwO2lmKChifDApPT0wKXtEPURiKDQp
fDA7JG4oRCk7cGMoRHwwLDE5OTUyLDEyMyl9QmNbY1soY1tiPj4yXXwwKSs0ND4+Ml0mNjNdKHUs
Yik7RD1jW3U+PjJdfDA7YVtlXT1EO2FbZSsxfDBdPUQ+Pjg7YVtlKzJ8MF09RD4+MTY7YVtlKzN8
MF09RD4+MjQ7QmNbY1soY1tiPj4yXXwwKSszMj4+Ml0mNjNdKHYsYik7aWYoKGFbbF0mMSk9PTAp
e2NbbCs0Pj4yXT0wO2FbbF09MH1lbHNle2NbY1tsKzg+PjJdPj4yXT0wO2NbbCs0Pj4yXT0wfXRn
KGwsMCk7Y1tsKzA+PjJdPWNbdiswPj4yXTtjW2wrND4+Ml09Y1t2KzQ+PjJdO2NbbCs4Pj4yXT1j
W3YrOD4+Ml07Y1t2KzA+PjJdPTA7Y1t2KzQ+PjJdPTA7Y1t2Kzg+PjJdPTA7cWcodik7QmNbY1so
Y1tiPj4yXXwwKSsyOD4+Ml0mNjNdKHcsYik7aWYoKGFba10mMSk9PTApe2Nbays0Pj4yXT0wO2Fb
a109MH1lbHNle2NbY1trKzg+PjJdPj4yXT0wO2Nbays0Pj4yXT0wfXRnKGssMCk7Y1trKzA+PjJd
PWNbdyswPj4yXTtjW2srND4+Ml09Y1t3KzQ+PjJdO2Nbays4Pj4yXT1jW3crOD4+Ml07Y1t3KzA+
PjJdPTA7Y1t3KzQ+PjJdPTA7Y1t3Kzg+PjJdPTA7cWcodyk7Y1tmPj4yXT1EY1tjWyhjW2I+PjJd
fDApKzEyPj4yXSYxMjddKGIpfDA7Y1tnPj4yXT1EY1tjWyhjW2I+PjJdfDApKzE2Pj4yXSYxMjdd
KGIpfDA7QmNbY1soY1tiPj4yXXwwKSsyMD4+Ml0mNjNdKHgsYik7aWYoKGFbaF0mMSk9PTApe2Fb
aCsxfDBdPTA7YVtoXT0wfWVsc2V7YVtjW2grOD4+Ml18MF09MDtjW2grND4+Ml09MH1qZyhoLDAp
O2NbaCswPj4yXT1jW3grMD4+Ml07Y1toKzQ+PjJdPWNbeCs0Pj4yXTtjW2grOD4+Ml09Y1t4Kzg+
PjJdO2NbeCswPj4yXT0wO2NbeCs0Pj4yXT0wO2NbeCs4Pj4yXT0wO2VnKHgpO0JjW2NbKGNbYj4+
Ml18MCkrMjQ+PjJdJjYzXSh5LGIpO2lmKChhW2pdJjEpPT0wKXtjW2orND4+Ml09MDthW2pdPTB9
ZWxzZXtjW2Nbais4Pj4yXT4+Ml09MDtjW2orND4+Ml09MH10ZyhqLDApO2NbaiswPj4yXT1jW3kr
MD4+Ml07Y1tqKzQ+PjJdPWNbeSs0Pj4yXTtjW2orOD4+Ml09Y1t5Kzg+PjJdO2NbeSswPj4yXT0w
O2NbeSs0Pj4yXT0wO2NbeSs4Pj4yXT0wO3FnKHkpO0M9RGNbY1soY1tiPj4yXXwwKSszNj4+Ml0m
MTI3XShiKXwwO2NbbT4+Ml09QztpPW47cmV0dXJufX1mdW5jdGlvbiBkbChhKXthPWF8MDt2YXIg
Yj0wO2I9aTtDbyhhKTtpPWI7cmV0dXJufWZ1bmN0aW9uIGVsKGEpe2E9YXwwO3JldHVybn1mdW5j
dGlvbiBmbChiLGQsZSxmLGcsaixsKXtiPWJ8MDtkPWR8MDtlPWV8MDtmPWZ8MDtnPWd8MDtqPWp8
MDtsPStsO3ZhciBtPTAsbj0wLG89MCxwPTAscT0wLHI9MCxzPTAsdD0wLHU9MCx2PTAsdz0wLHg9
MCx5PTAsej0wLEE9MCxCPTAsQz0wLEQ9MCxFPTAsRj0wLEc9MCxIPTAsST0wLEo9MCxLPTAsTD0w
LE09MCxOPTAsTz0wLFA9MCxRPTAsUj0wO2Q9aTtpPWkrMzg0fDA7bT1kO249ZCs3NnwwO289ZCs0
NHwwO3A9ZCsxNzZ8MDtxPWQrNDB8MDtyPWQrNjh8MDtzPWQrMjc2fDA7dD1kKzM4MHwwO3U9ZCs1
NnwwO3Y9ZCsyNHwwO3c9ZCsxMnwwO3g9ZCs1MnwwO3k9ZCsyODB8MDt6PWQrMzZ8MDtBPWQrNDh8
MDtCPWQrNzJ8MDtjW28+PjJdPW47aFtrPj4zXT1sO2NbbT4+Ml09Y1trPj4yXTtjW20rND4+Ml09
Y1trKzQ+PjJdO0M9SGIobnwwLDEwMCwxMTc0NCxtfDApfDA7aWYoQz4+PjA+OTkpe2lmKChhWzEx
ODg4XXwwKT09MD8oSGEoMTE4ODgpfDApIT0wOjApe2NbMjk3MF09bGIoMjE0NzQ4MzY0NywxMTg5
NiwwKXwwO2liKDExODg4KX1uPWNbMjk3MF18MDtoW2s+PjNdPWw7Y1ttPj4yXT1jW2s+PjJdO2Nb
bSs0Pj4yXT1jW2srND4+Ml07RD1haihvLG4sMTE3NDQsbSl8MDtuPWNbbz4+Ml18MDtpZigobnww
KT09MCl7SG8oKX1FPXZvKEQpfDA7aWYoKEV8MCk9PTApe0hvKCl9ZWxzZXtGPUU7Rz1uO0g9RTtJ
PUR9fWVsc2V7Rj0wO0c9MDtIPXA7ST1DfXpnKHEsZyk7Qz1jW3E+PjJdfDA7aWYoISgoY1syOTk4
XXwwKT09LTEpKXtjW20+PjJdPTExOTkyO2NbbSs0Pj4yXT0xMzQ7Y1ttKzg+PjJdPTA7JGYoMTE5
OTIsbSwxMzUpfXA9KGNbMTE5OTY+PjJdfDApKyAtMXwwO0Q9Y1tDKzg+PjJdfDA7aWYoISgoY1tD
KzEyPj4yXXwwKS1EPj4yPj4+MD5wPj4+MCkpe0o9RGIoNCl8MDskbihKKTtwYyhKfDAsMTk5NTIs
MTIzKX1DPWNbRCsocDw8Mik+PjJdfDA7aWYoKEN8MCk9PTApe0o9RGIoNCl8MDskbihKKTtwYyhK
fDAsMTk5NTIsMTIzKX1KPWNbbz4+Ml18MDtKY1tjWyhjW0M+PjJdfDApKzMyPj4yXSY3XShDLEos
SitJfDAsSCl8MDtpZigoSXwwKT09MCl7Sz0wfWVsc2V7Sz0oYVtjW28+PjJdfDBdfDApPT00NX1j
W3I+PjJdPTA7Y1t1KzA+PjJdPTA7Y1t1KzQ+PjJdPTA7Y1t1Kzg+PjJdPTA7Y1t2KzA+PjJdPTA7
Y1t2KzQ+PjJdPTA7Y1t2Kzg+PjJdPTA7Y1t3KzA+PjJdPTA7Y1t3KzQ+PjJdPTA7Y1t3Kzg+PjJd
PTA7Z2woZixLLHEscixzLHQsdSx2LHcseCk7Zj1jW3g+PjJdfDA7aWYoKEl8MCk+KGZ8MCkpe3g9
YVt3XXwwO2lmKCh4JjEpPT0wKXtMPSh4JjI1NSk+Pj4xfWVsc2V7TD1jW3crND4+Ml18MH14PWFb
dl18MDtpZigoeCYxKT09MCl7TT0oeCYyNTUpPj4+MX1lbHNle009Y1t2KzQ+PjJdfDB9Tj1MKyhJ
LWY8PDF8MSkrTXwwfWVsc2V7TT1hW3ddfDA7aWYoKE0mMSk9PTApe089KE0mMjU1KT4+PjF9ZWxz
ZXtPPWNbdys0Pj4yXXwwfU09YVt2XXwwO2lmKChNJjEpPT0wKXtQPShNJjI1NSk+Pj4xfWVsc2V7
UD1jW3YrND4+Ml18MH1OPU8rMitQfDB9UD1OK2Z8MDtpZihQPj4+MD4xMDApe049dm8oUCl8MDtp
ZigoTnwwKT09MCl7SG8oKX1lbHNle1E9TjtSPU59fWVsc2V7UT0wO1I9eX1obChSLHosQSxjW2cr
ND4+Ml18MCxILEgrSXwwLEMsSyxyLGFbc118MCxhW3RdfDAsdSx2LHcsZik7Y1tCPj4yXT1jW2U+
PjJdO2U9Y1t6Pj4yXXwwO3o9Y1tBPj4yXXwwO2NbbSswPj4yXT1jW0IrMD4+Ml07ZGUoYixtLFIs
ZSx6LGcsaik7aWYoKFF8MCkhPTApe3dvKFEpfWVnKHcpO2VnKHYpO2VnKHUpO0hmKGNbcT4+Ml18
MCl8MDtpZigoRnwwKSE9MCl7d28oRil9aWYoKEd8MCk9PTApe2k9ZDtyZXR1cm59d28oRyk7aT1k
O3JldHVybn1mdW5jdGlvbiBnbChiLGQsZSxmLGcsaCxqLGssbCxtKXtiPWJ8MDtkPWR8MDtlPWV8
MDtmPWZ8MDtnPWd8MDtoPWh8MDtqPWp8MDtrPWt8MDtsPWx8MDttPW18MDt2YXIgbj0wLG89MCxw
PTAscT0wLHI9MCxzPTAsdD0wLHU9MCx2PTAsdz0wLHg9MCx5PTAsej0wLEE9MCxCPTAsQz0wLEQ9
MCxFPTAsRj0wO249aTtpPWkrMTI4fDA7bz1uO3A9bisxMnwwO3E9bis0MHwwO3I9bis1MnwwO3M9
bis1NnwwO3Q9bisxNnwwO3U9bisyOHwwO3Y9bis2OHwwO3c9bis3MnwwO3g9bis4NHwwO3k9bis4
OHwwO3o9bisxMDB8MDtBPW4rMTEyfDA7Qj1jW2U+PjJdfDA7aWYoYil7aWYoISgoY1syODU4XXww
KT09LTEpKXtjW28+PjJdPTExNDMyO2Nbbys0Pj4yXT0xMzQ7Y1tvKzg+PjJdPTA7JGYoMTE0MzIs
bywxMzUpfWI9KGNbMTE0MzY+PjJdfDApKyAtMXwwO2U9Y1tCKzg+PjJdfDA7aWYoISgoY1tCKzEy
Pj4yXXwwKS1lPj4yPj4+MD5iPj4+MCkpe0M9RGIoNCl8MDskbihDKTtwYyhDfDAsMTk5NTIsMTIz
KX1EPWNbZSsoYjw8Mik+PjJdfDA7aWYoKER8MCk9PTApe0M9RGIoNCl8MDskbihDKTtwYyhDfDAs
MTk5NTIsMTIzKX1DPWNbRD4+Ml18MDtpZihkKXtCY1tjW0MrNDQ+PjJdJjYzXShwLEQpO2I9Y1tw
Pj4yXXwwO2FbZl09YjthW2YrMXwwXT1iPj44O2FbZisyfDBdPWI+PjE2O2FbZiszfDBdPWI+PjI0
O0JjW2NbKGNbRD4+Ml18MCkrMzI+PjJdJjYzXShxLEQpO2lmKChhW2xdJjEpPT0wKXthW2wrMXww
XT0wO2FbbF09MH1lbHNle2FbY1tsKzg+PjJdfDBdPTA7Y1tsKzQ+PjJdPTB9amcobCwwKTtjW2wr
MD4+Ml09Y1txKzA+PjJdO2NbbCs0Pj4yXT1jW3ErND4+Ml07Y1tsKzg+PjJdPWNbcSs4Pj4yXTtj
W3ErMD4+Ml09MDtjW3ErND4+Ml09MDtjW3ErOD4+Ml09MDtlZyhxKX1lbHNle0JjW2NbQys0MD4+
Ml0mNjNdKHIsRCk7Qz1jW3I+PjJdfDA7YVtmXT1DO2FbZisxfDBdPUM+Pjg7YVtmKzJ8MF09Qz4+
MTY7YVtmKzN8MF09Qz4+MjQ7QmNbY1soY1tEPj4yXXwwKSsyOD4+Ml0mNjNdKHMsRCk7aWYoKGFb
bF0mMSk9PTApe2FbbCsxfDBdPTA7YVtsXT0wfWVsc2V7YVtjW2wrOD4+Ml18MF09MDtjW2wrND4+
Ml09MH1qZyhsLDApO2NbbCswPj4yXT1jW3MrMD4+Ml07Y1tsKzQ+PjJdPWNbcys0Pj4yXTtjW2wr
OD4+Ml09Y1tzKzg+PjJdO2NbcyswPj4yXT0wO2Nbcys0Pj4yXT0wO2Nbcys4Pj4yXT0wO2VnKHMp
fWFbZ109RGNbY1soY1tEPj4yXXwwKSsxMj4+Ml0mMTI3XShEKXwwO2FbaF09RGNbY1soY1tEPj4y
XXwwKSsxNj4+Ml0mMTI3XShEKXwwO0JjW2NbKGNbRD4+Ml18MCkrMjA+PjJdJjYzXSh0LEQpO2lm
KChhW2pdJjEpPT0wKXthW2orMXwwXT0wO2Fbal09MH1lbHNle2FbY1tqKzg+PjJdfDBdPTA7Y1tq
KzQ+PjJdPTB9amcoaiwwKTtjW2orMD4+Ml09Y1t0KzA+PjJdO2Nbais0Pj4yXT1jW3QrND4+Ml07
Y1tqKzg+PjJdPWNbdCs4Pj4yXTtjW3QrMD4+Ml09MDtjW3QrND4+Ml09MDtjW3QrOD4+Ml09MDtl
Zyh0KTtCY1tjWyhjW0Q+PjJdfDApKzI0Pj4yXSY2M10odSxEKTtpZigoYVtrXSYxKT09MCl7YVtr
KzF8MF09MDthW2tdPTB9ZWxzZXthW2Nbays4Pj4yXXwwXT0wO2Nbays0Pj4yXT0wfWpnKGssMCk7
Y1trKzA+PjJdPWNbdSswPj4yXTtjW2srND4+Ml09Y1t1KzQ+PjJdO2Nbays4Pj4yXT1jW3UrOD4+
Ml07Y1t1KzA+PjJdPTA7Y1t1KzQ+PjJdPTA7Y1t1Kzg+PjJdPTA7ZWcodSk7RT1EY1tjWyhjW0Q+
PjJdfDApKzM2Pj4yXSYxMjddKEQpfDA7Y1ttPj4yXT1FO2k9bjtyZXR1cm59ZWxzZXtpZighKChj
WzI4NDJdfDApPT0tMSkpe2Nbbz4+Ml09MTEzNjg7Y1tvKzQ+PjJdPTEzNDtjW28rOD4+Ml09MDsk
ZigxMTM2OCxvLDEzNSl9bz0oY1sxMTM3Mj4+Ml18MCkrIC0xfDA7RD1jW0IrOD4+Ml18MDtpZigh
KChjW0IrMTI+PjJdfDApLUQ+PjI+Pj4wPm8+Pj4wKSl7Rj1EYig0KXwwOyRuKEYpO3BjKEZ8MCwx
OTk1MiwxMjMpfUI9Y1tEKyhvPDwyKT4+Ml18MDtpZigoQnwwKT09MCl7Rj1EYig0KXwwOyRuKEYp
O3BjKEZ8MCwxOTk1MiwxMjMpfUY9Y1tCPj4yXXwwO2lmKGQpe0JjW2NbRis0ND4+Ml0mNjNdKHYs
Qik7ZD1jW3Y+PjJdfDA7YVtmXT1kO2FbZisxfDBdPWQ+Pjg7YVtmKzJ8MF09ZD4+MTY7YVtmKzN8
MF09ZD4+MjQ7QmNbY1soY1tCPj4yXXwwKSszMj4+Ml0mNjNdKHcsQik7aWYoKGFbbF0mMSk9PTAp
e2FbbCsxfDBdPTA7YVtsXT0wfWVsc2V7YVtjW2wrOD4+Ml18MF09MDtjW2wrND4+Ml09MH1qZyhs
LDApO2NbbCswPj4yXT1jW3crMD4+Ml07Y1tsKzQ+PjJdPWNbdys0Pj4yXTtjW2wrOD4+Ml09Y1t3
Kzg+PjJdO2NbdyswPj4yXT0wO2Nbdys0Pj4yXT0wO2Nbdys4Pj4yXT0wO2VnKHcpfWVsc2V7QmNb
Y1tGKzQwPj4yXSY2M10oeCxCKTtGPWNbeD4+Ml18MDthW2ZdPUY7YVtmKzF8MF09Rj4+ODthW2Yr
MnwwXT1GPj4xNjthW2YrM3wwXT1GPj4yNDtCY1tjWyhjW0I+PjJdfDApKzI4Pj4yXSY2M10oeSxC
KTtpZigoYVtsXSYxKT09MCl7YVtsKzF8MF09MDthW2xdPTB9ZWxzZXthW2NbbCs4Pj4yXXwwXT0w
O2NbbCs0Pj4yXT0wfWpnKGwsMCk7Y1tsKzA+PjJdPWNbeSswPj4yXTtjW2wrND4+Ml09Y1t5KzQ+
PjJdO2NbbCs4Pj4yXT1jW3krOD4+Ml07Y1t5KzA+PjJdPTA7Y1t5KzQ+PjJdPTA7Y1t5Kzg+PjJd
PTA7ZWcoeSl9YVtnXT1EY1tjWyhjW0I+PjJdfDApKzEyPj4yXSYxMjddKEIpfDA7YVtoXT1EY1tj
WyhjW0I+PjJdfDApKzE2Pj4yXSYxMjddKEIpfDA7QmNbY1soY1tCPj4yXXwwKSsyMD4+Ml0mNjNd
KHosQik7aWYoKGFbal0mMSk9PTApe2FbaisxfDBdPTA7YVtqXT0wfWVsc2V7YVtjW2orOD4+Ml18
MF09MDtjW2orND4+Ml09MH1qZyhqLDApO2NbaiswPj4yXT1jW3orMD4+Ml07Y1tqKzQ+PjJdPWNb
eis0Pj4yXTtjW2orOD4+Ml09Y1t6Kzg+PjJdO2NbeiswPj4yXT0wO2Nbeis0Pj4yXT0wO2Nbeis4
Pj4yXT0wO2VnKHopO0JjW2NbKGNbQj4+Ml18MCkrMjQ+PjJdJjYzXShBLEIpO2lmKChhW2tdJjEp
PT0wKXthW2srMXwwXT0wO2Fba109MH1lbHNle2FbY1trKzg+PjJdfDBdPTA7Y1trKzQ+PjJdPTB9
amcoaywwKTtjW2srMD4+Ml09Y1tBKzA+PjJdO2Nbays0Pj4yXT1jW0ErND4+Ml07Y1trKzg+PjJd
PWNbQSs4Pj4yXTtjW0ErMD4+Ml09MDtjW0ErND4+Ml09MDtjW0ErOD4+Ml09MDtlZyhBKTtFPURj
W2NbKGNbQj4+Ml18MCkrMzY+PjJdJjEyN10oQil8MDtjW20+PjJdPUU7aT1uO3JldHVybn19ZnVu
Y3Rpb24gaGwoZCxlLGYsZyxoLGosayxsLG0sbixvLHAscSxyLHMpe2Q9ZHwwO2U9ZXwwO2Y9Znww
O2c9Z3wwO2g9aHwwO2o9anwwO2s9a3wwO2w9bHwwO209bXwwO249bnwwO289b3wwO3A9cHwwO3E9
cXwwO3I9cnwwO3M9c3wwO3ZhciB0PTAsdT0wLHY9MCx3PTAseD0wLHk9MCx6PTAsQT0wLEI9MCxD
PTAsRD0wLEU9MCxGPTAsRz0wLEg9MCxJPTAsSj0wLEs9MCxMPTAsTT0wLE49MCxPPTAsUD0wLFE9
MCxSPTAsUz0wLFQ9MCxVPTAsVj0wLFc9MCxYPTAsWT0wLFo9MCxfPTAsJD0wLGFhPTAsYmE9MCxj
YT0wLGRhPTAsZWE9MCxmYT0wLGdhPTAsaGE9MCxpYT0wLGphPTAsa2E9MCxsYT0wLG1hPTAsbmE9
MCxvYT0wLHBhPTAscWE9MCxyYT0wLHNhPTAsdGE9MCx1YT0wLHZhPTA7dD1pO2NbZj4+Ml09ZDt1
PXIrMXwwO3Y9cis4fDA7dz1yKzR8MDt4PShnJjUxMnwwKT09MDt5PXErMXwwO3o9cSs4fDA7QT1x
KzR8MDtCPShzfDApPjA7Qz1wKzF8MDtEPXArOHwwO0U9cCs0fDA7Rj1rKzh8MDtHPTAtc3wwO0g9
aDtoPTA7d2hpbGUoMSl7c3dpdGNoKGFbbStofDBdfDApe2Nhc2UgMzp7ST1hW3JdfDA7Sj0oSSYx
KT09MDtpZihKKXtLPShJJjI1NSk+Pj4xfWVsc2V7Sz1jW3c+PjJdfDB9aWYoKEt8MCk9PTApe0w9
SH1lbHNle2lmKEope009dX1lbHNle009Y1t2Pj4yXXwwfUo9YVtNXXwwO0k9Y1tmPj4yXXwwO2Nb
Zj4+Ml09SSsxO2FbSV09SjtMPUh9YnJlYWt9O2Nhc2UgMTp7Y1tlPj4yXT1jW2Y+PjJdO0o9TWNb
Y1soY1trPj4yXXwwKSsyOD4+Ml0mMzFdKGssMzIpfDA7ST1jW2Y+PjJdfDA7Y1tmPj4yXT1JKzE7
YVtJXT1KO0w9SDticmVha307Y2FzZSAwOntjW2U+PjJdPWNbZj4+Ml07TD1IO2JyZWFrfTtjYXNl
IDI6e0o9YVtxXXwwO0k9KEomMSk9PTA7aWYoSSl7Tj0oSiYyNTUpPj4+MX1lbHNle049Y1tBPj4y
XXwwfWlmKChOfDApPT0wfHgpe0w9SH1lbHNle2lmKEkpe089eTtQPShKJjI1NSk+Pj4xfWVsc2V7
Tz1jW3o+PjJdfDA7UD1jW0E+PjJdfDB9Sj1PK1B8MDtJPWNbZj4+Ml18MDtpZigoT3wwKT09KEp8
MCkpe1E9SX1lbHNle1I9STtJPU87d2hpbGUoMSl7YVtSXT1hW0ldfDA7Uz1JKzF8MDtUPVIrMXww
O2lmKChTfDApPT0oSnwwKSl7UT1UO2JyZWFrfWVsc2V7Uj1UO0k9U319fWNbZj4+Ml09UTtMPUh9
YnJlYWt9O2Nhc2UgNDp7ST1jW2Y+PjJdfDA7Uj1sP0grMXwwOkg7YTpkb3tpZihSPj4+MDxqPj4+
MCl7Sj1SO3doaWxlKDEpe1M9YVtKXXwwO2lmKCEoUzw8MjQ+PjI0Pi0xKSl7VT1KO2JyZWFrIGF9
VD1KKzF8MDtpZigoYlsoY1tGPj4yXXwwKSsoUzw8MjQ+PjI0PDwxKT4+MV0mMjA0OCk9PTApe1U9
SjticmVhayBhfWlmKFQ+Pj4wPGo+Pj4wKXtKPVR9ZWxzZXtVPVQ7YnJlYWt9fX1lbHNle1U9Un19
d2hpbGUoMCk7Sj1VO2lmKEIpe2lmKFU+Pj4wPlI+Pj4wKXtUPVIrKDAtSil8MDtKPVQ+Pj4wPEc+
Pj4wP0c6VDtUPUorc3wwO1M9STtWPVU7Vz1zO3doaWxlKDEpe1g9VisgLTF8MDtZPWFbWF18MDtj
W2Y+PjJdPVMrMTthW1NdPVk7WT1XKyAtMXwwO1o9KFl8MCk+MDtpZighKFg+Pj4wPlI+Pj4wJlop
KXticmVha31TPWNbZj4+Ml18MDtWPVg7Vz1ZfVc9VStKfDA7aWYoWil7Xz1XOyQ9VDthYT0zMn1l
bHNle2JhPTA7Y2E9VztkYT1UfX1lbHNle189VTskPXM7YWE9MzJ9aWYoKGFhfDApPT0zMil7YWE9
MDtiYT1NY1tjWyhjW2s+PjJdfDApKzI4Pj4yXSYzMV0oayw0OCl8MDtjYT1fO2RhPSR9Vz1jW2Y+
PjJdfDA7Y1tmPj4yXT1XKzE7aWYoKGRhfDApPjApe1Y9VztTPWRhO3doaWxlKDEpe2FbVl09YmE7
WT1TKyAtMXwwO1g9Y1tmPj4yXXwwO2NbZj4+Ml09WCsxO2lmKChZfDApPjApe1Y9WDtTPVl9ZWxz
ZXtlYT1YO2JyZWFrfX19ZWxzZXtlYT1XfWFbZWFdPW47ZmE9Y2F9ZWxzZXtmYT1VfWlmKChmYXww
KT09KFJ8MCkpe1M9TWNbY1soY1trPj4yXXwwKSsyOD4+Ml0mMzFdKGssNDgpfDA7Vj1jW2Y+PjJd
fDA7Y1tmPj4yXT1WKzE7YVtWXT1TfWVsc2V7Uz1hW3BdfDA7Vj0oUyYxKT09MDtpZihWKXtnYT0o
UyYyNTUpPj4+MX1lbHNle2dhPWNbRT4+Ml18MH1pZigoZ2F8MCk9PTApe2hhPWZhO2lhPS0xO2ph
PTA7a2E9MH1lbHNle2lmKFYpe2xhPUN9ZWxzZXtsYT1jW0Q+PjJdfDB9aGE9ZmE7aWE9YVtsYV18
MDtqYT0wO2thPTB9d2hpbGUoMSl7aWYoKGthfDApPT0oaWF8MCkpe1Y9Y1tmPj4yXXwwO2NbZj4+
Ml09VisxO2FbVl09bztWPWphKzF8MDtTPWFbcF18MDtUPShTJjEpPT0wO2lmKFQpe21hPShTJjI1
NSk+Pj4xfWVsc2V7bWE9Y1tFPj4yXXwwfWlmKFY+Pj4wPG1hPj4+MCl7aWYoVCl7bmE9Q31lbHNl
e25hPWNbRD4+Ml18MH1pZigoYVtuYStWfDBdfDApPT0xMjcpe29hPS0xO3BhPVY7cWE9MH1lbHNl
e2lmKFQpe3JhPUN9ZWxzZXtyYT1jW0Q+PjJdfDB9b2E9YVtyYStWfDBdfDA7cGE9VjtxYT0wfX1l
bHNle29hPWlhO3BhPVY7cWE9MH19ZWxzZXtvYT1pYTtwYT1qYTtxYT1rYX1oYT1oYSsgLTF8MDtW
PWFbaGFdfDA7VD1jW2Y+PjJdfDA7Y1tmPj4yXT1UKzE7YVtUXT1WO2lmKChoYXwwKT09KFJ8MCkp
e2JyZWFrfWVsc2V7aWE9b2E7amE9cGE7a2E9cWErMXwwfX19Vz1jW2Y+PjJdfDA7aWYoKEl8MCkh
PShXfDApPyhWPVcrIC0xfDAsVj4+PjA+ST4+PjApOjApe1c9STtUPVY7d2hpbGUoMSl7Vj1hW1dd
fDA7YVtXXT1hW1RdfDA7YVtUXT1WO1Y9VysxfDA7Uz1UKyAtMXwwO2lmKFY+Pj4wPFM+Pj4wKXtX
PVY7VD1TfWVsc2V7TD1SO2JyZWFrfX19ZWxzZXtMPVJ9YnJlYWt9O2RlZmF1bHQ6e0w9SH19aD1o
KzF8MDtpZigoaHwwKT09NCl7YnJlYWt9ZWxzZXtIPUx9fUw9YVtyXXwwO3I9KEwmMSk9PTA7aWYo
cil7c2E9KEwmMjU1KT4+PjF9ZWxzZXtzYT1jW3c+PjJdfDB9aWYoc2E+Pj4wPjEpe2lmKHIpe3Rh
PXU7dWE9KEwmMjU1KT4+PjF9ZWxzZXt0YT1jW3Y+PjJdfDA7dWE9Y1t3Pj4yXXwwfXc9dGErMXww
O3Y9dGErdWF8MDt1YT1jW2Y+PjJdfDA7aWYoKHd8MCk9PSh2fDApKXt2YT11YX1lbHNle3RhPXVh
O3VhPXc7d2hpbGUoMSl7YVt0YV09YVt1YV18MDt3PXVhKzF8MDtMPXRhKzF8MDtpZigod3wwKT09
KHZ8MCkpe3ZhPUw7YnJlYWt9ZWxzZXt0YT1MO3VhPXd9fX1jW2Y+PjJdPXZhfXZhPWcmMTc2O2lm
KCh2YXwwKT09MzIpe2NbZT4+Ml09Y1tmPj4yXTtpPXQ7cmV0dXJufWVsc2UgaWYoKHZhfDApPT0x
Nil7aT10O3JldHVybn1lbHNle2NbZT4+Ml09ZDtpPXQ7cmV0dXJufX1mdW5jdGlvbiBpbChiLGQs
ZSxmLGcsaCxqKXtiPWJ8MDtkPWR8MDtlPWV8MDtmPWZ8MDtnPWd8MDtoPWh8MDtqPWp8MDt2YXIg
az0wLGw9MCxtPTAsbj0wLG89MCxwPTAscT0wLHI9MCxzPTAsdD0wLHU9MCx2PTAsdz0wLHg9MCx5
PTAsej0wLEE9MCxCPTAsQz0wLEQ9MCxFPTAsRj0wLEc9MCxIPTAsST0wLEo9MCxLPTAsTD0wLE09
MCxOPTAsTz0wLFA9MDtkPWk7aT1pKzE3NnwwO2s9ZDtsPWQrNDB8MDttPWQrMjR8MDtuPWQrNzJ8
MDtvPWQrNzN8MDtwPWQrMTJ8MDtxPWQrMjh8MDtyPWQrNDh8MDtzPWQrNDR8MDt0PWQrNzZ8MDt1
PWQrNjB8MDt2PWQrNjR8MDt3PWQrNjh8MDt6ZyhsLGcpO3g9Y1tsPj4yXXwwO2lmKCEoKGNbMjk5
OF18MCk9PS0xKSl7Y1trPj4yXT0xMTk5MjtjW2srND4+Ml09MTM0O2Nbays4Pj4yXT0wOyRmKDEx
OTkyLGssMTM1KX15PShjWzExOTk2Pj4yXXwwKSsgLTF8MDt6PWNbeCs4Pj4yXXwwO2lmKCEoKGNb
eCsxMj4+Ml18MCktej4+Mj4+PjA+eT4+PjApKXtBPURiKDQpfDA7JG4oQSk7cGMoQXwwLDE5OTUy
LDEyMyl9eD1jW3orKHk8PDIpPj4yXXwwO2lmKCh4fDApPT0wKXtBPURiKDQpfDA7JG4oQSk7cGMo
QXwwLDE5OTUyLDEyMyl9QT1hW2pdfDA7eT0oQSYxKT09MDtpZih5KXtCPShBJjI1NSk+Pj4xfWVs
c2V7Qj1jW2orND4+Ml18MH1pZigoQnwwKT09MCl7Qz0wfWVsc2V7aWYoeSl7RD1qKzF8MH1lbHNl
e0Q9Y1tqKzg+PjJdfDB9eT1hW0RdfDA7Qz15PDwyND4+MjQ9PShNY1tjWyhjW3g+PjJdfDApKzI4
Pj4yXSYzMV0oeCw0NSl8MCk8PDI0Pj4yNH1jW20+PjJdPTA7Y1twKzA+PjJdPTA7Y1twKzQ+PjJd
PTA7Y1twKzg+PjJdPTA7Y1txKzA+PjJdPTA7Y1txKzQ+PjJdPTA7Y1txKzg+PjJdPTA7Y1tyKzA+
PjJdPTA7Y1tyKzQ+PjJdPTA7Y1tyKzg+PjJdPTA7Z2woZixDLGwsbSxuLG8scCxxLHIscyk7Zj1h
W2pdfDA7eT0oZiYxKT09MDtpZih5KXtFPShmJjI1NSk+Pj4xfWVsc2V7RT1jW2orND4+Ml18MH1E
PWNbcz4+Ml18MDtpZigoRXwwKT4oRHwwKSl7aWYoeSl7Rj0oZiYyNTUpPj4+MX1lbHNle0Y9Y1tq
KzQ+PjJdfDB9eT1hW3JdfDA7aWYoKHkmMSk9PTApe0c9KHkmMjU1KT4+PjF9ZWxzZXtHPWNbcis0
Pj4yXXwwfXk9YVtxXXwwO2lmKCh5JjEpPT0wKXtIPSh5JjI1NSk+Pj4xfWVsc2V7SD1jW3ErND4+
Ml18MH1JPUcrKEYtRDw8MXwxKStIfDB9ZWxzZXtIPWFbcl18MDtpZigoSCYxKT09MCl7Sj0oSCYy
NTUpPj4+MX1lbHNle0o9Y1tyKzQ+PjJdfDB9SD1hW3FdfDA7aWYoKEgmMSk9PTApe0s9KEgmMjU1
KT4+PjF9ZWxzZXtLPWNbcSs0Pj4yXXwwfUk9SisyK0t8MH1LPUkrRHwwO2lmKEs+Pj4wPjEwMCl7
ST12byhLKXwwO2lmKChJfDApPT0wKXtIbygpfWVsc2V7TD1JO009SX19ZWxzZXtMPTA7TT10fWlm
KChmJjEpPT0wKXtOPWorMXwwO089KGYmMjU1KT4+PjF9ZWxzZXtOPWNbais4Pj4yXXwwO089Y1tq
KzQ+PjJdfDB9aGwoTSx1LHYsY1tnKzQ+PjJdfDAsTixOK098MCx4LEMsbSxhW25dfDAsYVtvXXww
LHAscSxyLEQpO2Nbdz4+Ml09Y1tlPj4yXTtlPWNbdT4+Ml18MDt1PWNbdj4+Ml18MDtjW2srMD4+
Ml09Y1t3KzA+PjJdO2RlKGIsayxNLGUsdSxnLGgpO2lmKChMfDApPT0wKXtlZyhyKTtlZyhxKTtl
ZyhwKTtQPWNbbD4+Ml18MDtIZihQKXwwO2k9ZDtyZXR1cm59d28oTCk7ZWcocik7ZWcocSk7ZWco
cCk7UD1jW2w+PjJdfDA7SGYoUCl8MDtpPWQ7cmV0dXJufWZ1bmN0aW9uIGpsKGEpe2E9YXwwO3Zh
ciBiPTA7Yj1pO0NvKGEpO2k9YjtyZXR1cm59ZnVuY3Rpb24ga2woYSl7YT1hfDA7cmV0dXJufWZ1
bmN0aW9uIGxsKGIsZCxlLGYsZyxqLGwpe2I9YnwwO2Q9ZHwwO2U9ZXwwO2Y9ZnwwO2c9Z3wwO2o9
anwwO2w9K2w7dmFyIG09MCxuPTAsbz0wLHA9MCxxPTAscj0wLHM9MCx0PTAsdT0wLHY9MCx3PTAs
eD0wLHk9MCx6PTAsQT0wLEI9MCxDPTAsRD0wLEU9MCxGPTAsRz0wLEg9MCxJPTAsSj0wLEs9MCxM
PTAsTT0wLE49MCxPPTAsUD0wLFE9MCxSPTA7ZD1pO2k9aSs5OTJ8MDttPWQ7bj1kKzg4OHwwO289
ZCs0MjR8MDtwPWQrMTZ8MDtxPWQrNDI4fDA7cj1kKzQxNnwwO3M9ZCs0MjB8MDt0PWQrODgwfDA7
dT1kKzQ0MHwwO3Y9ZCs0NTJ8MDt3PWQrNDY0fDA7eD1kKzQ3NnwwO3k9ZCs0ODB8MDt6PWQrNDMy
fDA7QT1kKzQzNnwwO0I9ZCs4ODR8MDtjW28+PjJdPW47aFtrPj4zXT1sO2NbbT4+Ml09Y1trPj4y
XTtjW20rND4+Ml09Y1trKzQ+PjJdO0M9SGIobnwwLDEwMCwxMTc0NCxtfDApfDA7aWYoQz4+PjA+
OTkpe2lmKChhWzExODg4XXwwKT09MD8oSGEoMTE4ODgpfDApIT0wOjApe2NbMjk3MF09bGIoMjE0
NzQ4MzY0NywxMTg5NiwwKXwwO2liKDExODg4KX1uPWNbMjk3MF18MDtoW2s+PjNdPWw7Y1ttPj4y
XT1jW2s+PjJdO2NbbSs0Pj4yXT1jW2srND4+Ml07RD1haihvLG4sMTE3NDQsbSl8MDtuPWNbbz4+
Ml18MDtpZigobnwwKT09MCl7SG8oKX1FPXZvKEQ8PDIpfDA7aWYoKEV8MCk9PTApe0hvKCl9ZWxz
ZXtGPUU7Rz1uO0g9RTtJPUR9fWVsc2V7Rj0wO0c9MDtIPXA7ST1DfXpnKHEsZyk7Qz1jW3E+PjJd
fDA7aWYoISgoY1syOTk2XXwwKT09LTEpKXtjW20+PjJdPTExOTg0O2NbbSs0Pj4yXT0xMzQ7Y1tt
Kzg+PjJdPTA7JGYoMTE5ODQsbSwxMzUpfXA9KGNbMTE5ODg+PjJdfDApKyAtMXwwO0Q9Y1tDKzg+
PjJdfDA7aWYoISgoY1tDKzEyPj4yXXwwKS1EPj4yPj4+MD5wPj4+MCkpe0o9RGIoNCl8MDskbihK
KTtwYyhKfDAsMTk5NTIsMTIzKX1DPWNbRCsocDw8Mik+PjJdfDA7aWYoKEN8MCk9PTApe0o9RGIo
NCl8MDskbihKKTtwYyhKfDAsMTk5NTIsMTIzKX1KPWNbbz4+Ml18MDtKY1tjWyhjW0M+PjJdfDAp
KzQ4Pj4yXSY3XShDLEosSitJfDAsSCl8MDtpZigoSXwwKT09MCl7Sz0wfWVsc2V7Sz0oYVtjW28+
PjJdfDBdfDApPT00NX1jW3I+PjJdPTA7Y1t1KzA+PjJdPTA7Y1t1KzQ+PjJdPTA7Y1t1Kzg+PjJd
PTA7Y1t2KzA+PjJdPTA7Y1t2KzQ+PjJdPTA7Y1t2Kzg+PjJdPTA7Y1t3KzA+PjJdPTA7Y1t3KzQ+
PjJdPTA7Y1t3Kzg+PjJdPTA7bWwoZixLLHEscixzLHQsdSx2LHcseCk7Zj1jW3g+PjJdfDA7aWYo
KEl8MCk+KGZ8MCkpe3g9YVt3XXwwO2lmKCh4JjEpPT0wKXtMPSh4JjI1NSk+Pj4xfWVsc2V7TD1j
W3crND4+Ml18MH14PWFbdl18MDtpZigoeCYxKT09MCl7TT0oeCYyNTUpPj4+MX1lbHNle009Y1t2
KzQ+PjJdfDB9Tj1MKyhJLWY8PDF8MSkrTXwwfWVsc2V7TT1hW3ddfDA7aWYoKE0mMSk9PTApe089
KE0mMjU1KT4+PjF9ZWxzZXtPPWNbdys0Pj4yXXwwfU09YVt2XXwwO2lmKChNJjEpPT0wKXtQPShN
JjI1NSk+Pj4xfWVsc2V7UD1jW3YrND4+Ml18MH1OPU8rMitQfDB9UD1OK2Z8MDtpZihQPj4+MD4x
MDApe049dm8oUDw8Mil8MDtpZigoTnwwKT09MCl7SG8oKX1lbHNle1E9TjtSPU59fWVsc2V7UT0w
O1I9eX1ubChSLHosQSxjW2crND4+Ml18MCxILEgrKEk8PDIpfDAsQyxLLHIsY1tzPj4yXXwwLGNb
dD4+Ml18MCx1LHYsdyxmKTtjW0I+PjJdPWNbZT4+Ml07ZT1jW3o+PjJdfDA7ej1jW0E+PjJdfDA7
Y1ttKzA+PjJdPWNbQiswPj4yXTtqaihiLG0sUixlLHosZyxqKTtpZigoUXwwKSE9MCl7d28oUSl9
cWcodyk7cWcodik7ZWcodSk7SGYoY1txPj4yXXwwKXwwO2lmKChGfDApIT0wKXt3byhGKX1pZigo
R3wwKT09MCl7aT1kO3JldHVybn13byhHKTtpPWQ7cmV0dXJufWZ1bmN0aW9uIG1sKGIsZCxlLGYs
ZyxoLGosayxsLG0pe2I9YnwwO2Q9ZHwwO2U9ZXwwO2Y9ZnwwO2c9Z3wwO2g9aHwwO2o9anwwO2s9
a3wwO2w9bHwwO209bXwwO3ZhciBuPTAsbz0wLHA9MCxxPTAscj0wLHM9MCx0PTAsdT0wLHY9MCx3
PTAseD0wLHk9MCx6PTAsQT0wLEI9MCxDPTAsRD0wLEU9MCxGPTA7bj1pO2k9aSsxMjh8MDtvPW47
cD1uKzEyfDA7cT1uKzQwfDA7cj1uKzUyfDA7cz1uKzU2fDA7dD1uKzE2fDA7dT1uKzI4fDA7dj1u
KzY4fDA7dz1uKzcyfDA7eD1uKzg0fDA7eT1uKzg4fDA7ej1uKzEwMHwwO0E9bisxMTJ8MDtCPWNb
ZT4+Ml18MDtpZihiKXtpZighKChjWzI4OTBdfDApPT0tMSkpe2Nbbz4+Ml09MTE1NjA7Y1tvKzQ+
PjJdPTEzNDtjW28rOD4+Ml09MDskZigxMTU2MCxvLDEzNSl9Yj0oY1sxMTU2ND4+Ml18MCkrIC0x
fDA7ZT1jW0IrOD4+Ml18MDtpZighKChjW0IrMTI+PjJdfDApLWU+PjI+Pj4wPmI+Pj4wKSl7Qz1E
Yig0KXwwOyRuKEMpO3BjKEN8MCwxOTk1MiwxMjMpfUQ9Y1tlKyhiPDwyKT4+Ml18MDtpZigoRHww
KT09MCl7Qz1EYig0KXwwOyRuKEMpO3BjKEN8MCwxOTk1MiwxMjMpfUM9Y1tEPj4yXXwwO2lmKGQp
e0JjW2NbQys0ND4+Ml0mNjNdKHAsRCk7Yj1jW3A+PjJdfDA7YVtmXT1iO2FbZisxfDBdPWI+Pjg7
YVtmKzJ8MF09Yj4+MTY7YVtmKzN8MF09Yj4+MjQ7QmNbY1soY1tEPj4yXXwwKSszMj4+Ml0mNjNd
KHEsRCk7aWYoKGFbbF0mMSk9PTApe2NbbCs0Pj4yXT0wO2FbbF09MH1lbHNle2NbY1tsKzg+PjJd
Pj4yXT0wO2NbbCs0Pj4yXT0wfXRnKGwsMCk7Y1tsKzA+PjJdPWNbcSswPj4yXTtjW2wrND4+Ml09
Y1txKzQ+PjJdO2NbbCs4Pj4yXT1jW3ErOD4+Ml07Y1txKzA+PjJdPTA7Y1txKzQ+PjJdPTA7Y1tx
Kzg+PjJdPTA7cWcocSl9ZWxzZXtCY1tjW0MrNDA+PjJdJjYzXShyLEQpO0M9Y1tyPj4yXXwwO2Fb
Zl09QzthW2YrMXwwXT1DPj44O2FbZisyfDBdPUM+PjE2O2FbZiszfDBdPUM+PjI0O0JjW2NbKGNb
RD4+Ml18MCkrMjg+PjJdJjYzXShzLEQpO2lmKChhW2xdJjEpPT0wKXtjW2wrND4+Ml09MDthW2xd
PTB9ZWxzZXtjW2NbbCs4Pj4yXT4+Ml09MDtjW2wrND4+Ml09MH10ZyhsLDApO2NbbCswPj4yXT1j
W3MrMD4+Ml07Y1tsKzQ+PjJdPWNbcys0Pj4yXTtjW2wrOD4+Ml09Y1tzKzg+PjJdO2NbcyswPj4y
XT0wO2Nbcys0Pj4yXT0wO2Nbcys4Pj4yXT0wO3FnKHMpfWNbZz4+Ml09RGNbY1soY1tEPj4yXXww
KSsxMj4+Ml0mMTI3XShEKXwwO2NbaD4+Ml09RGNbY1soY1tEPj4yXXwwKSsxNj4+Ml0mMTI3XShE
KXwwO0JjW2NbKGNbRD4+Ml18MCkrMjA+PjJdJjYzXSh0LEQpO2lmKChhW2pdJjEpPT0wKXthW2or
MXwwXT0wO2Fbal09MH1lbHNle2FbY1tqKzg+PjJdfDBdPTA7Y1tqKzQ+PjJdPTB9amcoaiwwKTtj
W2orMD4+Ml09Y1t0KzA+PjJdO2Nbais0Pj4yXT1jW3QrND4+Ml07Y1tqKzg+PjJdPWNbdCs4Pj4y
XTtjW3QrMD4+Ml09MDtjW3QrND4+Ml09MDtjW3QrOD4+Ml09MDtlZyh0KTtCY1tjWyhjW0Q+PjJd
fDApKzI0Pj4yXSY2M10odSxEKTtpZigoYVtrXSYxKT09MCl7Y1trKzQ+PjJdPTA7YVtrXT0wfWVs
c2V7Y1tjW2srOD4+Ml0+PjJdPTA7Y1trKzQ+PjJdPTB9dGcoaywwKTtjW2srMD4+Ml09Y1t1KzA+
PjJdO2Nbays0Pj4yXT1jW3UrND4+Ml07Y1trKzg+PjJdPWNbdSs4Pj4yXTtjW3UrMD4+Ml09MDtj
W3UrND4+Ml09MDtjW3UrOD4+Ml09MDtxZyh1KTtFPURjW2NbKGNbRD4+Ml18MCkrMzY+PjJdJjEy
N10oRCl8MDtjW20+PjJdPUU7aT1uO3JldHVybn1lbHNle2lmKCEoKGNbMjg3NF18MCk9PS0xKSl7
Y1tvPj4yXT0xMTQ5NjtjW28rND4+Ml09MTM0O2Nbbys4Pj4yXT0wOyRmKDExNDk2LG8sMTM1KX1v
PShjWzExNTAwPj4yXXwwKSsgLTF8MDtEPWNbQis4Pj4yXXwwO2lmKCEoKGNbQisxMj4+Ml18MCkt
RD4+Mj4+PjA+bz4+PjApKXtGPURiKDQpfDA7JG4oRik7cGMoRnwwLDE5OTUyLDEyMyl9Qj1jW0Qr
KG88PDIpPj4yXXwwO2lmKChCfDApPT0wKXtGPURiKDQpfDA7JG4oRik7cGMoRnwwLDE5OTUyLDEy
Myl9Rj1jW0I+PjJdfDA7aWYoZCl7QmNbY1tGKzQ0Pj4yXSY2M10odixCKTtkPWNbdj4+Ml18MDth
W2ZdPWQ7YVtmKzF8MF09ZD4+ODthW2YrMnwwXT1kPj4xNjthW2YrM3wwXT1kPj4yNDtCY1tjWyhj
W0I+PjJdfDApKzMyPj4yXSY2M10odyxCKTtpZigoYVtsXSYxKT09MCl7Y1tsKzQ+PjJdPTA7YVts
XT0wfWVsc2V7Y1tjW2wrOD4+Ml0+PjJdPTA7Y1tsKzQ+PjJdPTB9dGcobCwwKTtjW2wrMD4+Ml09
Y1t3KzA+PjJdO2NbbCs0Pj4yXT1jW3crND4+Ml07Y1tsKzg+PjJdPWNbdys4Pj4yXTtjW3crMD4+
Ml09MDtjW3crND4+Ml09MDtjW3crOD4+Ml09MDtxZyh3KX1lbHNle0JjW2NbRis0MD4+Ml0mNjNd
KHgsQik7Rj1jW3g+PjJdfDA7YVtmXT1GO2FbZisxfDBdPUY+Pjg7YVtmKzJ8MF09Rj4+MTY7YVtm
KzN8MF09Rj4+MjQ7QmNbY1soY1tCPj4yXXwwKSsyOD4+Ml0mNjNdKHksQik7aWYoKGFbbF0mMSk9
PTApe2NbbCs0Pj4yXT0wO2FbbF09MH1lbHNle2NbY1tsKzg+PjJdPj4yXT0wO2NbbCs0Pj4yXT0w
fXRnKGwsMCk7Y1tsKzA+PjJdPWNbeSswPj4yXTtjW2wrND4+Ml09Y1t5KzQ+PjJdO2NbbCs4Pj4y
XT1jW3krOD4+Ml07Y1t5KzA+PjJdPTA7Y1t5KzQ+PjJdPTA7Y1t5Kzg+PjJdPTA7cWcoeSl9Y1tn
Pj4yXT1EY1tjWyhjW0I+PjJdfDApKzEyPj4yXSYxMjddKEIpfDA7Y1toPj4yXT1EY1tjWyhjW0I+
PjJdfDApKzE2Pj4yXSYxMjddKEIpfDA7QmNbY1soY1tCPj4yXXwwKSsyMD4+Ml0mNjNdKHosQik7
aWYoKGFbal0mMSk9PTApe2FbaisxfDBdPTA7YVtqXT0wfWVsc2V7YVtjW2orOD4+Ml18MF09MDtj
W2orND4+Ml09MH1qZyhqLDApO2NbaiswPj4yXT1jW3orMD4+Ml07Y1tqKzQ+PjJdPWNbeis0Pj4y
XTtjW2orOD4+Ml09Y1t6Kzg+PjJdO2NbeiswPj4yXT0wO2Nbeis0Pj4yXT0wO2Nbeis4Pj4yXT0w
O2VnKHopO0JjW2NbKGNbQj4+Ml18MCkrMjQ+PjJdJjYzXShBLEIpO2lmKChhW2tdJjEpPT0wKXtj
W2srND4+Ml09MDthW2tdPTB9ZWxzZXtjW2Nbays4Pj4yXT4+Ml09MDtjW2srND4+Ml09MH10Zyhr
LDApO2NbayswPj4yXT1jW0ErMD4+Ml07Y1trKzQ+PjJdPWNbQSs0Pj4yXTtjW2srOD4+Ml09Y1tB
Kzg+PjJdO2NbQSswPj4yXT0wO2NbQSs0Pj4yXT0wO2NbQSs4Pj4yXT0wO3FnKEEpO0U9RGNbY1so
Y1tCPj4yXXwwKSszNj4+Ml0mMTI3XShCKXwwO2NbbT4+Ml09RTtpPW47cmV0dXJufX1mdW5jdGlv
biBubChiLGQsZSxmLGcsaCxqLGssbCxtLG4sbyxwLHEscil7Yj1ifDA7ZD1kfDA7ZT1lfDA7Zj1m
fDA7Zz1nfDA7aD1ofDA7aj1qfDA7az1rfDA7bD1sfDA7bT1tfDA7bj1ufDA7bz1vfDA7cD1wfDA7
cT1xfDA7cj1yfDA7dmFyIHM9MCx0PTAsdT0wLHY9MCx3PTAseD0wLHk9MCx6PTAsQT0wLEI9MCxD
PTAsRD0wLEU9MCxGPTAsRz0wLEg9MCxJPTAsSj0wLEs9MCxMPTAsTT0wLE49MCxPPTAsUD0wLFE9
MCxSPTAsUz0wLFQ9MCxVPTAsVj0wLFc9MCxYPTAsWT0wLFo9MCxfPTAsJD0wLGFhPTAsYmE9MCxj
YT0wLGRhPTAsZWE9MCxmYT0wLGdhPTAsaGE9MCxpYT0wLGphPTAsa2E9MCxsYT0wLG1hPTAsbmE9
MCxvYT0wLHBhPTAscWE9MCxyYT0wLHNhPTA7cz1pO2NbZT4+Ml09Yjt0PXErNHwwO3U9cSs4fDA7
dj0oZiY1MTJ8MCk9PTA7dz1wKzR8MDt4PXArOHwwO3k9KHJ8MCk+MDt6PW8rMXwwO0E9bys4fDA7
Qj1vKzR8MDtDPWc7Zz0wO3doaWxlKDEpe3N3aXRjaChhW2wrZ3wwXXwwKXtjYXNlIDI6e0Q9YVtw
XXwwO0U9KEQmMSk9PTA7aWYoRSl7Rj0oRCYyNTUpPj4+MX1lbHNle0Y9Y1t3Pj4yXXwwfWlmKChG
fDApPT0wfHYpe0c9Q31lbHNle2lmKEUpe0g9dztJPShEJjI1NSk+Pj4xfWVsc2V7SD1jW3g+PjJd
fDA7ST1jW3c+PjJdfDB9RD1IKyhJPDwyKXwwO0U9Y1tlPj4yXXwwO2lmKChIfDApPT0oRHwwKSl7
Sj1FfWVsc2V7Sz0oSCsoSSsgLTE8PDIpKygwLUgpfDApPj4+MjtMPUU7TT1IO3doaWxlKDEpe2Nb
TD4+Ml09Y1tNPj4yXTtOPU0rNHwwO2lmKChOfDApPT0oRHwwKSl7YnJlYWt9TD1MKzR8MDtNPU59
Sj1FKyhLKzE8PDIpfDB9Y1tlPj4yXT1KO0c9Q31icmVha307Y2FzZSAxOntjW2Q+PjJdPWNbZT4+
Ml07TT1NY1tjWyhjW2o+PjJdfDApKzQ0Pj4yXSYzMV0oaiwzMil8MDtMPWNbZT4+Ml18MDtjW2U+
PjJdPUwrNDtjW0w+PjJdPU07Rz1DO2JyZWFrfTtjYXNlIDA6e2NbZD4+Ml09Y1tlPj4yXTtHPUM7
YnJlYWt9O2Nhc2UgNDp7TT1jW2U+PjJdfDA7TD1rP0MrNHwwOkM7YTpkb3tpZihMPj4+MDxoPj4+
MCl7RD1MO3doaWxlKDEpe049RCs0fDA7aWYoISh2Y1tjWyhjW2o+PjJdfDApKzEyPj4yXSYzMV0o
aiwyMDQ4LGNbRD4+Ml18MCl8MCkpe089RDticmVhayBhfWlmKE4+Pj4wPGg+Pj4wKXtEPU59ZWxz
ZXtPPU47YnJlYWt9fX1lbHNle089TH19d2hpbGUoMCk7aWYoeSl7aWYoTz4+PjA+TD4+PjApe0s9
Y1tlPj4yXXwwO0U9TztEPXI7d2hpbGUoMSl7UD1FKyAtNHwwO1E9Sys0fDA7Y1tLPj4yXT1jW1A+
PjJdO1I9RCsgLTF8MDtTPShSfDApPjA7aWYoUD4+PjA+TD4+PjAmUyl7Sz1RO0U9UDtEPVJ9ZWxz
ZXticmVha319Y1tlPj4yXT1RO2lmKFMpe1Q9UDtVPVI7Vj0zNH1lbHNle0Q9Y1tlPj4yXXwwO2Nb
ZT4+Ml09RCs0O1c9RDtYPVB9fWVsc2V7VD1PO1U9cjtWPTM0fWlmKChWfDApPT0zNCl7Vj0wO0Q9
TWNbY1soY1tqPj4yXXwwKSs0ND4+Ml0mMzFdKGosNDgpfDA7RT1jW2U+PjJdfDA7Sz1FKzR8MDtj
W2U+PjJdPUs7aWYoKFV8MCk+MCl7Tj1FO1k9SztLPVU7d2hpbGUoMSl7Y1tOPj4yXT1EO0s9Sysg
LTF8MDtpZigoS3wwKTw9MCl7YnJlYWt9ZWxzZXtaPVk7WT1ZKzR8MDtOPVp9fWNbZT4+Ml09RSso
VSsxPDwyKTtXPUUrKFU8PDIpfDA7WD1UfWVsc2V7Vz1FO1g9VH19Y1tXPj4yXT1tO189WH1lbHNl
e189T31pZigoX3wwKT09KEx8MCkpe049TWNbY1soY1tqPj4yXXwwKSs0ND4+Ml0mMzFdKGosNDgp
fDA7WT1jW2U+PjJdfDA7Sz1ZKzR8MDtjW2U+PjJdPUs7Y1tZPj4yXT1OOyQ9S31lbHNle0s9YVtv
XXwwO049KEsmMSk9PTA7aWYoTil7YWE9KEsmMjU1KT4+PjF9ZWxzZXthYT1jW0I+PjJdfDB9aWYo
KGFhfDApPT0wKXtiYT1fO2NhPS0xO2RhPTA7ZWE9MH1lbHNle2lmKE4pe2ZhPXp9ZWxzZXtmYT1j
W0E+PjJdfDB9YmE9XztjYT1hW2ZhXXwwO2RhPTA7ZWE9MH13aGlsZSgxKXtOPWNbZT4+Ml18MDtp
ZigoZWF8MCk9PShjYXwwKSl7Sz1OKzR8MDtjW2U+PjJdPUs7Y1tOPj4yXT1uO1k9ZGErMXwwO0Q9
YVtvXXwwO1o9KEQmMSk9PTA7aWYoWil7Z2E9KEQmMjU1KT4+PjF9ZWxzZXtnYT1jW0I+PjJdfDB9
aWYoWT4+PjA8Z2E+Pj4wKXtpZihaKXtoYT16fWVsc2V7aGE9Y1tBPj4yXXwwfWlmKChhW2hhK1l8
MF18MCk9PTEyNyl7aWE9SztqYT0tMTtrYT1ZO2xhPTB9ZWxzZXtpZihaKXttYT16fWVsc2V7bWE9
Y1tBPj4yXXwwfWlhPUs7amE9YVttYStZfDBdfDA7a2E9WTtsYT0wfX1lbHNle2lhPUs7amE9Y2E7
a2E9WTtsYT0wfX1lbHNle2lhPU47amE9Y2E7a2E9ZGE7bGE9ZWF9Tj1iYSsgLTR8MDtZPWNbTj4+
Ml18MDtLPWlhKzR8MDtjW2U+PjJdPUs7Y1tpYT4+Ml09WTtpZigoTnwwKT09KEx8MCkpeyQ9Szti
cmVha31lbHNle2JhPU47Y2E9amE7ZGE9a2E7ZWE9bGErMXwwfX19aWYoKE18MCkhPSgkfDApPyhF
PSQrIC00fDAsRT4+PjA+TT4+PjApOjApe049TTtLPUU7d2hpbGUoMSl7RT1jW04+PjJdfDA7Y1tO
Pj4yXT1jW0s+PjJdO2NbSz4+Ml09RTtFPU4rNHwwO1k9SysgLTR8MDtpZihFPj4+MDxZPj4+MCl7
Tj1FO0s9WX1lbHNle0c9TDticmVha319fWVsc2V7Rz1MfWJyZWFrfTtjYXNlIDM6e0s9YVtxXXww
O049KEsmMSk9PTA7aWYoTil7bmE9KEsmMjU1KT4+PjF9ZWxzZXtuYT1jW3Q+PjJdfDB9aWYoKG5h
fDApPT0wKXtHPUN9ZWxzZXtpZihOKXtvYT10fWVsc2V7b2E9Y1t1Pj4yXXwwfU49Y1tvYT4+Ml18
MDtLPWNbZT4+Ml18MDtjW2U+PjJdPUsrNDtjW0s+PjJdPU47Rz1DfWJyZWFrfTtkZWZhdWx0OntH
PUN9fWc9ZysxfDA7aWYoKGd8MCk9PTQpe2JyZWFrfWVsc2V7Qz1HfX1HPWFbcV18MDtxPShHJjEp
PT0wO2lmKHEpe3BhPShHJjI1NSk+Pj4xfWVsc2V7cGE9Y1t0Pj4yXXwwfWlmKHBhPj4+MD4xKXtp
ZihxKXtxYT10O3JhPShHJjI1NSk+Pj4xfWVsc2V7cWE9Y1t1Pj4yXXwwO3JhPWNbdD4+Ml18MH10
PXFhKzR8MDt1PXFhKyhyYTw8Mil8MDtHPWNbZT4+Ml18MDtpZigodHwwKT09KHV8MCkpe3NhPUd9
ZWxzZXtxPShxYSsocmErIC0xPDwyKSsoMC10KXwwKT4+PjI7cmE9RztxYT10O3doaWxlKDEpe2Nb
cmE+PjJdPWNbcWE+PjJdO3FhPXFhKzR8MDtpZigocWF8MCk9PSh1fDApKXticmVha31lbHNle3Jh
PXJhKzR8MH19c2E9RysocSsxPDwyKXwwfWNbZT4+Ml09c2F9c2E9ZiYxNzY7aWYoKHNhfDApPT0z
Mil7Y1tkPj4yXT1jW2U+PjJdO2k9cztyZXR1cm59ZWxzZSBpZigoc2F8MCk9PTE2KXtpPXM7cmV0
dXJufWVsc2V7Y1tkPj4yXT1iO2k9cztyZXR1cm59fWZ1bmN0aW9uIG9sKGIsZCxlLGYsZyxoLGop
e2I9YnwwO2Q9ZHwwO2U9ZXwwO2Y9ZnwwO2c9Z3wwO2g9aHwwO2o9anwwO3ZhciBrPTAsbD0wLG09
MCxuPTAsbz0wLHA9MCxxPTAscj0wLHM9MCx0PTAsdT0wLHY9MCx3PTAseD0wLHk9MCx6PTAsQT0w
LEI9MCxDPTAsRD0wLEU9MCxGPTAsRz0wLEg9MCxJPTAsSj0wLEs9MCxMPTAsTT0wLE49MCxPPTAs
UD0wO2Q9aTtpPWkrNDk2fDA7az1kO2w9ZCsxMnwwO209ZCs0MHwwO249ZCs0NHwwO289ZCs0OHww
O3A9ZCsxNnwwO3E9ZCsyOHwwO3I9ZCs1MnwwO3M9ZCs2NHwwO3Q9ZCs3MnwwO3U9ZCs0NzJ8MDt2
PWQrNDc2fDA7dz1kKzQ4MHwwO3pnKGwsZyk7eD1jW2w+PjJdfDA7aWYoISgoY1syOTk2XXwwKT09
LTEpKXtjW2s+PjJdPTExOTg0O2Nbays0Pj4yXT0xMzQ7Y1trKzg+PjJdPTA7JGYoMTE5ODQsaywx
MzUpfXk9KGNbMTE5ODg+PjJdfDApKyAtMXwwO3o9Y1t4Kzg+PjJdfDA7aWYoISgoY1t4KzEyPj4y
XXwwKS16Pj4yPj4+MD55Pj4+MCkpe0E9RGIoNCl8MDskbihBKTtwYyhBfDAsMTk5NTIsMTIzKX14
PWNbeisoeTw8Mik+PjJdfDA7aWYoKHh8MCk9PTApe0E9RGIoNCl8MDskbihBKTtwYyhBfDAsMTk5
NTIsMTIzKX1BPWFbal18MDt5PShBJjEpPT0wO2lmKHkpe0I9KEEmMjU1KT4+PjF9ZWxzZXtCPWNb
ais0Pj4yXXwwfWlmKChCfDApPT0wKXtDPTB9ZWxzZXtpZih5KXtEPWorNHwwfWVsc2V7RD1jW2or
OD4+Ml18MH15PWNbRD4+Ml18MDtDPSh5fDApPT0oTWNbY1soY1t4Pj4yXXwwKSs0ND4+Ml0mMzFd
KHgsNDUpfDApfWNbbT4+Ml09MDtjW3ArMD4+Ml09MDtjW3ArND4+Ml09MDtjW3ArOD4+Ml09MDtj
W3ErMD4+Ml09MDtjW3ErND4+Ml09MDtjW3ErOD4+Ml09MDtjW3IrMD4+Ml09MDtjW3IrND4+Ml09
MDtjW3IrOD4+Ml09MDttbChmLEMsbCxtLG4sbyxwLHEscixzKTtmPWFbal18MDt5PShmJjEpPT0w
O2lmKHkpe0U9KGYmMjU1KT4+PjF9ZWxzZXtFPWNbais0Pj4yXXwwfUQ9Y1tzPj4yXXwwO2lmKChF
fDApPihEfDApKXtpZih5KXtGPShmJjI1NSk+Pj4xfWVsc2V7Rj1jW2orND4+Ml18MH15PWFbcl18
MDtpZigoeSYxKT09MCl7Rz0oeSYyNTUpPj4+MX1lbHNle0c9Y1tyKzQ+PjJdfDB9eT1hW3FdfDA7
aWYoKHkmMSk9PTApe0g9KHkmMjU1KT4+PjF9ZWxzZXtIPWNbcSs0Pj4yXXwwfUk9RysoRi1EPDwx
fDEpK0h8MH1lbHNle0g9YVtyXXwwO2lmKChIJjEpPT0wKXtKPShIJjI1NSk+Pj4xfWVsc2V7Sj1j
W3IrND4+Ml18MH1IPWFbcV18MDtpZigoSCYxKT09MCl7Sz0oSCYyNTUpPj4+MX1lbHNle0s9Y1tx
KzQ+PjJdfDB9ST1KKzIrS3wwfUs9SStEfDA7aWYoSz4+PjA+MTAwKXtJPXZvKEs8PDIpfDA7aWYo
KEl8MCk9PTApe0hvKCl9ZWxzZXtMPUk7TT1JfX1lbHNle0w9MDtNPXR9aWYoKGYmMSk9PTApe049
ais0fDA7Tz0oZiYyNTUpPj4+MX1lbHNle049Y1tqKzg+PjJdfDA7Tz1jW2orND4+Ml18MH1ubChN
LHUsdixjW2crND4+Ml18MCxOLE4rKE88PDIpfDAseCxDLG0sY1tuPj4yXXwwLGNbbz4+Ml18MCxw
LHEscixEKTtjW3c+PjJdPWNbZT4+Ml07ZT1jW3U+PjJdfDA7dT1jW3Y+PjJdfDA7Y1trKzA+PjJd
PWNbdyswPj4yXTtqaihiLGssTSxlLHUsZyxoKTtpZigoTHwwKT09MCl7cWcocik7cWcocSk7ZWco
cCk7UD1jW2w+PjJdfDA7SGYoUCl8MDtpPWQ7cmV0dXJufXdvKEwpO3FnKHIpO3FnKHEpO2VnKHAp
O1A9Y1tsPj4yXXwwO0hmKFApfDA7aT1kO3JldHVybn1mdW5jdGlvbiBwbChhKXthPWF8MDt2YXIg
Yj0wO2I9aTtDbyhhKTtpPWI7cmV0dXJufWZ1bmN0aW9uIHFsKGEpe2E9YXwwO3JldHVybn1mdW5j
dGlvbiBybChiLGQsZSl7Yj1ifDA7ZD1kfDA7ZT1lfDA7dmFyIGY9MDtlPWk7aWYoKGFbZF0mMSk9
PTApe2Y9ZCsxfDB9ZWxzZXtmPWNbZCs4Pj4yXXwwfWQ9emIoZnwwLDEpfDA7aT1lO3JldHVybiBk
Pj4+KChkfDApIT0oLTF8MCl8MCl8MH1mdW5jdGlvbiBzbChiLGQsZSxmLGcsaCl7Yj1ifDA7ZD1k
fDA7ZT1lfDA7Zj1mfDA7Zz1nfDA7aD1ofDA7dmFyIGo9MCxrPTAsbD0wLG09MCxuPTAsbz0wLHA9
MCxxPTAscj0wLHM9MDtkPWk7aT1pKzE2fDA7aj1kO2NbaiswPj4yXT0wO2Nbais0Pj4yXT0wO2Nb
ais4Pj4yXT0wO2s9YVtoXXwwO2lmKChrJjEpPT0wKXtsPWgrMXwwO209KGsmMjU1KT4+PjE7bj1o
KzF8MH1lbHNle2s9Y1toKzg+PjJdfDA7bD1rO209Y1toKzQ+PjJdfDA7bj1rfWs9bCttfDA7aWYo
bj4+PjA8az4+PjApe209bjtkb3trZyhqLGFbbV18MCk7bT1tKzF8MH13aGlsZSgobXwwKSE9KGt8
MCkpO2s9KGV8MCk9PS0xPy0xOmU8PDE7aWYoKGFbal0mMSk9PTApe289aztwPTl9ZWxzZXtxPWs7
cj1jW2orOD4+Ml18MH19ZWxzZXtvPShlfDApPT0tMT8tMTplPDwxO3A9OX1pZigocHwwKT09OSl7
cT1vO3I9aisxfDB9bz1kYyhxfDAsZnwwLGd8MCxyfDApfDA7Y1tiKzA+PjJdPTA7Y1tiKzQ+PjJd
PTA7Y1tiKzg+PjJdPTA7cj1WbyhvfDApfDA7Zz1vK3J8MDtpZigocnwwKT4wKXtzPW99ZWxzZXtl
ZyhqKTtpPWQ7cmV0dXJufWRve2tnKGIsYVtzXXwwKTtzPXMrMXwwfXdoaWxlKChzfDApIT0oZ3ww
KSk7ZWcoaik7aT1kO3JldHVybn1mdW5jdGlvbiB0bChhLGIpe2E9YXwwO2I9YnwwO2E9aTtiYigo
KGJ8MCk9PS0xPy0xOmI8PDEpfDApfDA7aT1hO3JldHVybn1mdW5jdGlvbiB1bChhKXthPWF8MDt2
YXIgYj0wO2I9aTtDbyhhKTtpPWI7cmV0dXJufWZ1bmN0aW9uIHZsKGEpe2E9YXwwO3JldHVybn1m
dW5jdGlvbiB3bChiLGQsZSl7Yj1ifDA7ZD1kfDA7ZT1lfDA7dmFyIGY9MDtlPWk7aWYoKGFbZF0m
MSk9PTApe2Y9ZCsxfDB9ZWxzZXtmPWNbZCs4Pj4yXXwwfWQ9emIoZnwwLDEpfDA7aT1lO3JldHVy
biBkPj4+KChkfDApIT0oLTF8MCl8MCl8MH1mdW5jdGlvbiB4bChiLGQsZSxmLGcsaCl7Yj1ifDA7
ZD1kfDA7ZT1lfDA7Zj1mfDA7Zz1nfDA7aD1ofDA7dmFyIGo9MCxrPTAsbD0wLG09MCxuPTAsbz0w
LHA9MCxxPTAscj0wLHM9MCx0PTAsdT0wLHY9MCx3PTAseD0wLHk9MCx6PTA7ZD1pO2k9aSsxNzZ8
MDtqPWQ7az1kKzQwfDA7bD1kKzE2OHwwO209ZCsxNzJ8MDtuPWQrMTZ8MDtvPWQrOHwwO3A9ZCsz
MnwwO2NbbiswPj4yXT0wO2Nbbis0Pj4yXT0wO2Nbbis4Pj4yXT0wO2Nbbys0Pj4yXT0wO2Nbbz4+
Ml09MTM2NDg7cT1hW2hdfDA7aWYoKHEmMSk9PTApe3I9aCs0fDA7cz0ocSYyNTUpPj4+MTt0PWgr
NHwwfWVsc2V7cT1jW2grOD4+Ml18MDtyPXE7cz1jW2grND4+Ml18MDt0PXF9cT1yKyhzPDwyKXww
O3M9ajtjW3M+PjJdPTA7Y1tzKzQ+PjJdPTA7YTpkb3tpZih0Pj4+MDxxPj4+MCl7cz1rKzMyfDA7
cj10O2g9MTM2NDh8MDt3aGlsZSgxKXtjW20+PjJdPXI7dT0oSWNbY1toKzEyPj4yXSYxNV0obyxq
LHIscSxtLGsscyxsKXwwKT09Mjt2PWNbbT4+Ml18MDtpZih1fCh2fDApPT0ocnwwKSl7YnJlYWt9
aWYoaz4+PjA8KGNbbD4+Ml18MCk+Pj4wKXt1PWs7ZG97a2cobixhW3VdfDApO3U9dSsxfDB9d2hp
bGUodT4+PjA8KGNbbD4+Ml18MCk+Pj4wKTt3PWNbbT4+Ml18MH1lbHNle3c9dn1pZighKHc+Pj4w
PHE+Pj4wKSl7YnJlYWsgYX1yPXc7aD1jW28+PjJdfDB9VGsoMTI4NzIpfX13aGlsZSgwKTtpZigo
YVtuXSYxKT09MCl7eD1uKzF8MH1lbHNle3g9Y1tuKzg+PjJdfDB9bz1kYygoKGV8MCk9PS0xPy0x
OmU8PDEpfDAsZnwwLGd8MCx4fDApfDA7Y1tiKzA+PjJdPTA7Y1tiKzQ+PjJdPTA7Y1tiKzg+PjJd
PTA7Y1twKzQ+PjJdPTA7Y1twPj4yXT0xMzc1Mjt4PVZvKG98MCl8MDtnPW8reHwwO2Y9ajtjW2Y+
PjJdPTA7Y1tmKzQ+PjJdPTA7aWYoKHh8MCk8PTApe2VnKG4pO2k9ZDtyZXR1cm59eD1nO2Y9aysx
Mjh8MDtlPW87bz0xMzc1MnwwO3doaWxlKDEpe2NbbT4+Ml09ZTt3PShJY1tjW28rMTY+PjJdJjE1
XShwLGosZSwoeC1lfDApPjMyP2UrMzJ8MDpnLG0sayxmLGwpfDApPT0yO3E9Y1ttPj4yXXwwO2lm
KHd8KHF8MCk9PShlfDApKXt5PTIwO2JyZWFrfWlmKGs+Pj4wPChjW2w+PjJdfDApPj4+MCl7dz1r
O2Rve3VnKGIsY1t3Pj4yXXwwKTt3PXcrNHwwfXdoaWxlKHc+Pj4wPChjW2w+PjJdfDApPj4+MCk7
ej1jW20+PjJdfDB9ZWxzZXt6PXF9aWYoISh6Pj4+MDxnPj4+MCkpe3k9MjU7YnJlYWt9ZT16O289
Y1twPj4yXXwwfWlmKCh5fDApPT0yMCl7VGsoMTI4NzIpfWVsc2UgaWYoKHl8MCk9PTI1KXtlZyhu
KTtpPWQ7cmV0dXJufX1mdW5jdGlvbiB5bChhLGIpe2E9YXwwO2I9YnwwO2E9aTtiYigoKGJ8MCk9
PS0xPy0xOmI8PDEpfDApfDA7aT1hO3JldHVybn1mdW5jdGlvbiB6bChiKXtiPWJ8MDt2YXIgZD0w
LGU9MDtkPWk7Y1tiPj4yXT0xMjA4MDtlPWIrOHwwO2I9Y1tlPj4yXXwwO2lmKChhWzExODg4XXww
KT09MD8oSGEoMTE4ODgpfDApIT0wOjApe2NbMjk3MF09bGIoMjE0NzQ4MzY0NywxMTg5NiwwKXww
O2liKDExODg4KX1pZigoYnwwKT09KGNbMjk3MF18MCkpe2k9ZDtyZXR1cm59b2IoY1tlPj4yXXww
KTtpPWQ7cmV0dXJufWZ1bmN0aW9uIEFsKGEpe2E9YXwwO2E9RGIoOCl8MDtJZihhLDExODcyKTtj
W2E+PjJdPTg4NDA7cGMoYXwwLDg4ODAsMzUpfWZ1bmN0aW9uIEJsKGIsZCl7Yj1ifDA7ZD1kfDA7
dmFyIGU9MCxmPTAsZz0wLGg9MCxqPTAsaz0wLGw9MCxtPTAsbj0wO2U9aTtpPWkrMTZ8MDtmPWU7
Y1tiKzQ+PjJdPWQrIC0xO2NbYj4+Ml09MTE5MTI7ZD1iKzh8MDtnPWIrMTJ8MDtoPWIrMTM2fDA7
aj1iKzI0fDA7YVtoXT0xO2NbZz4+Ml09ajtjW2Q+PjJdPWo7Y1tiKzE2Pj4yXT1oO2g9Mjg7az1q
O2Rve2lmKChrfDApPT0wKXtsPTB9ZWxzZXtjW2s+PjJdPTA7bD1jW2c+PjJdfDB9az1sKzR8MDtj
W2c+PjJdPWs7aD1oKyAtMXwwfXdoaWxlKChofDApIT0wKTtjZyhiKzE0NHwwLDExODk2LDEpO2g9
Y1tkPj4yXXwwO2Q9Y1tnPj4yXXwwO2lmKChkfDApIT0oaHwwKSl7Y1tnPj4yXT1kKyh+KChkKyAt
NCsoMC1oKXwwKT4+PjIpPDwyKX1jWzE2ODA0Pj4yXT0wO2NbNDIwMF09MTAzOTI7aWYoISgoY1sy
NjA0XXwwKT09LTEpKXtjW2Y+PjJdPTEwNDE2O2NbZis0Pj4yXT0xMzQ7Y1tmKzg+PjJdPTA7JGYo
MTA0MTYsZiwxMzUpfUNsKGIsMTY4MDAsKGNbMTA0MjA+PjJdfDApKyAtMXwwKTtjWzE2Nzk2Pj4y
XT0wO2NbNDE5OF09MTA0MzI7aWYoISgoY1syNjE0XXwwKT09LTEpKXtjW2Y+PjJdPTEwNDU2O2Nb
Zis0Pj4yXT0xMzQ7Y1tmKzg+PjJdPTA7JGYoMTA0NTYsZiwxMzUpfUNsKGIsMTY3OTIsKGNbMTA0
NjA+PjJdfDApKyAtMXwwKTtjWzE2NzgwPj4yXT0wO2NbNDE5NF09MTIwMDg7Y1sxNjc4ND4+Ml09
MDthWzE2Nzg4fDBdPTA7Y1sxNjc4ND4+Ml09Y1soQmIoKXwwKT4+Ml07aWYoISgoY1syOTk4XXww
KT09LTEpKXtjW2Y+PjJdPTExOTkyO2NbZis0Pj4yXT0xMzQ7Y1tmKzg+PjJdPTA7JGYoMTE5OTIs
ZiwxMzUpfUNsKGIsMTY3NzYsKGNbMTE5OTY+PjJdfDApKyAtMXwwKTtjWzE2NzcyPj4yXT0wO2Nb
NDE5Ml09MTI5Njg7aWYoISgoY1syOTk2XXwwKT09LTEpKXtjW2Y+PjJdPTExOTg0O2NbZis0Pj4y
XT0xMzQ7Y1tmKzg+PjJdPTA7JGYoMTE5ODQsZiwxMzUpfUNsKGIsMTY3NjgsKGNbMTE5ODg+PjJd
fDApKyAtMXwwKTtjWzE2NzY0Pj4yXT0wO2NbNDE5MF09MTMxODQ7aWYoISgoY1szMDE0XXwwKT09
LTEpKXtjW2Y+PjJdPTEyMDU2O2NbZis0Pj4yXT0xMzQ7Y1tmKzg+PjJdPTA7JGYoMTIwNTYsZiwx
MzUpfUNsKGIsMTY3NjAsKGNbMTIwNjA+PjJdfDApKyAtMXwwKTtjWzE2NzQ4Pj4yXT0wO2NbNDE4
Nl09MTIwODA7aWYoKGFbMTE4ODhdfDApPT0wPyhIYSgxMTg4OCl8MCkhPTA6MCl7Y1syOTcwXT1s
YigyMTQ3NDgzNjQ3LDExODk2LDApfDA7aWIoMTE4ODgpfWNbMTY3NTI+PjJdPWNbMjk3MF07aWYo
ISgoY1szMDE2XXwwKT09LTEpKXtjW2Y+PjJdPTEyMDY0O2NbZis0Pj4yXT0xMzQ7Y1tmKzg+PjJd
PTA7JGYoMTIwNjQsZiwxMzUpfUNsKGIsMTY3NDQsKGNbMTIwNjg+PjJdfDApKyAtMXwwKTtjWzE2
NzQwPj4yXT0wO2NbNDE4NF09MTM0MDg7aWYoISgoY1szMDMwXXwwKT09LTEpKXtjW2Y+PjJdPTEy
MTIwO2NbZis0Pj4yXT0xMzQ7Y1tmKzg+PjJdPTA7JGYoMTIxMjAsZiwxMzUpfUNsKGIsMTY3MzYs
KGNbMTIxMjQ+PjJdfDApKyAtMXwwKTtjWzE2NzMyPj4yXT0wO2NbNDE4Ml09MTM1Mjg7aWYoISgo
Y1szMDMyXXwwKT09LTEpKXtjW2Y+PjJdPTEyMTI4O2NbZis0Pj4yXT0xMzQ7Y1tmKzg+PjJdPTA7
JGYoMTIxMjgsZiwxMzUpfUNsKGIsMTY3MjgsKGNbMTIxMzI+PjJdfDApKyAtMXwwKTtjWzE2NzA4
Pj4yXT0wO2NbNDE3Nl09MTIxNjA7YVsxNjcxMnwwXT00NjthWzE2NzEzfDBdPTQ0O2NbMTY3MTY+
PjJdPTA7Y1sxNjcyMD4+Ml09MDtjWzE2NzI0Pj4yXT0wO2lmKCEoKGNbMzAzNF18MCk9PS0xKSl7
Y1tmPj4yXT0xMjEzNjtjW2YrND4+Ml09MTM0O2NbZis4Pj4yXT0wOyRmKDEyMTM2LGYsMTM1KX1D
bChiLDE2NzA0LChjWzEyMTQwPj4yXXwwKSsgLTF8MCk7Y1sxNjY3Nj4+Ml09MDtjWzQxNjhdPTEy
MjAwO2NbMTY2ODA+PjJdPTQ2O2NbMTY2ODQ+PjJdPTQ0O2NbMTY2ODg+PjJdPTA7Y1sxNjY5Mj4+
Ml09MDtjWzE2Njk2Pj4yXT0wO2lmKCEoKGNbMzAzNl18MCk9PS0xKSl7Y1tmPj4yXT0xMjE0NDtj
W2YrND4+Ml09MTM0O2NbZis4Pj4yXT0wOyRmKDEyMTQ0LGYsMTM1KX1DbChiLDE2NjcyLChjWzEy
MTQ4Pj4yXXwwKSsgLTF8MCk7Y1sxNjY2OD4+Ml09MDtjWzQxNjZdPTEwNDcyO2lmKCEoKGNbMjYz
Ml18MCk9PS0xKSl7Y1tmPj4yXT0xMDUyODtjW2YrND4+Ml09MTM0O2NbZis4Pj4yXT0wOyRmKDEw
NTI4LGYsMTM1KX1DbChiLDE2NjY0LChjWzEwNTMyPj4yXXwwKSsgLTF8MCk7Y1sxNjY2MD4+Ml09
MDtjWzQxNjRdPTEwNTkyO2lmKCEoKGNbMjY2Ml18MCk9PS0xKSl7Y1tmPj4yXT0xMDY0ODtjW2Yr
ND4+Ml09MTM0O2NbZis4Pj4yXT0wOyRmKDEwNjQ4LGYsMTM1KX1DbChiLDE2NjU2LChjWzEwNjUy
Pj4yXXwwKSsgLTF8MCk7Y1sxNjY1Mj4+Ml09MDtjWzQxNjJdPTEwNjY0O2lmKCEoKGNbMjY3OF18
MCk9PS0xKSl7Y1tmPj4yXT0xMDcxMjtjW2YrND4+Ml09MTM0O2NbZis4Pj4yXT0wOyRmKDEwNzEy
LGYsMTM1KX1DbChiLDE2NjQ4LChjWzEwNzE2Pj4yXXwwKSsgLTF8MCk7Y1sxNjY0ND4+Ml09MDtj
WzQxNjBdPTEwNzI4O2lmKCEoKGNbMjY5NF18MCk9PS0xKSl7Y1tmPj4yXT0xMDc3NjtjW2YrND4+
Ml09MTM0O2NbZis4Pj4yXT0wOyRmKDEwNzc2LGYsMTM1KX1DbChiLDE2NjQwLChjWzEwNzgwPj4y
XXwwKSsgLTF8MCk7Y1sxNjYzNj4+Ml09MDtjWzQxNThdPTExMzIwO2lmKCEoKGNbMjg0Ml18MCk9
PS0xKSl7Y1tmPj4yXT0xMTM2ODtjW2YrND4+Ml09MTM0O2NbZis4Pj4yXT0wOyRmKDExMzY4LGYs
MTM1KX1DbChiLDE2NjMyLChjWzExMzcyPj4yXXwwKSsgLTF8MCk7Y1sxNjYyOD4+Ml09MDtjWzQx
NTZdPTExMzg0O2lmKCEoKGNbMjg1OF18MCk9PS0xKSl7Y1tmPj4yXT0xMTQzMjtjW2YrND4+Ml09
MTM0O2NbZis4Pj4yXT0wOyRmKDExNDMyLGYsMTM1KX1DbChiLDE2NjI0LChjWzExNDM2Pj4yXXww
KSsgLTF8MCk7Y1sxNjYyMD4+Ml09MDtjWzQxNTRdPTExNDQ4O2lmKCEoKGNbMjg3NF18MCk9PS0x
KSl7Y1tmPj4yXT0xMTQ5NjtjW2YrND4+Ml09MTM0O2NbZis4Pj4yXT0wOyRmKDExNDk2LGYsMTM1
KX1DbChiLDE2NjE2LChjWzExNTAwPj4yXXwwKSsgLTF8MCk7Y1sxNjYxMj4+Ml09MDtjWzQxNTJd
PTExNTEyO2lmKCEoKGNbMjg5MF18MCk9PS0xKSl7Y1tmPj4yXT0xMTU2MDtjW2YrND4+Ml09MTM0
O2NbZis4Pj4yXT0wOyRmKDExNTYwLGYsMTM1KX1DbChiLDE2NjA4LChjWzExNTY0Pj4yXXwwKSsg
LTF8MCk7Y1sxNjYwND4+Ml09MDtjWzQxNTBdPTExNTc2O2lmKCEoKGNbMjkwMF18MCk9PS0xKSl7
Y1tmPj4yXT0xMTYwMDtjW2YrND4+Ml09MTM0O2NbZis4Pj4yXT0wOyRmKDExNjAwLGYsMTM1KX1D
bChiLDE2NjAwLChjWzExNjA0Pj4yXXwwKSsgLTF8MCk7Y1sxNjU5Nj4+Ml09MDtjWzQxNDhdPTEx
NjU2O2lmKCEoKGNbMjkyMF18MCk9PS0xKSl7Y1tmPj4yXT0xMTY4MDtjW2YrND4+Ml09MTM0O2Nb
Zis4Pj4yXT0wOyRmKDExNjgwLGYsMTM1KX1DbChiLDE2NTkyLChjWzExNjg0Pj4yXXwwKSsgLTF8
MCk7Y1sxNjU4OD4+Ml09MDtjWzQxNDZdPTExNzEyO2lmKCEoKGNbMjkzNF18MCk9PS0xKSl7Y1tm
Pj4yXT0xMTczNjtjW2YrND4+Ml09MTM0O2NbZis4Pj4yXT0wOyRmKDExNzM2LGYsMTM1KX1DbChi
LDE2NTg0LChjWzExNzQwPj4yXXwwKSsgLTF8MCk7Y1sxNjU4MD4+Ml09MDtjWzQxNDRdPTExNzYw
O2lmKCEoKGNbMjk0Nl18MCk9PS0xKSl7Y1tmPj4yXT0xMTc4NDtjW2YrND4+Ml09MTM0O2NbZis4
Pj4yXT0wOyRmKDExNzg0LGYsMTM1KX1DbChiLDE2NTc2LChjWzExNzg4Pj4yXXwwKSsgLTF8MCk7
Y1sxNjU2ND4+Ml09MDtjWzQxNDBdPTEwODA4O2NbMTY1Njg+PjJdPTEwODU2O2lmKCEoKGNbMjcy
Ml18MCk9PS0xKSl7Y1tmPj4yXT0xMDg4ODtjW2YrND4+Ml09MTM0O2NbZis4Pj4yXT0wOyRmKDEw
ODg4LGYsMTM1KX1DbChiLDE2NTYwLChjWzEwODkyPj4yXXwwKSsgLTF8MCk7Y1sxNjU0OD4+Ml09
MDtjWzQxMzZdPTEwOTYwO2NbMTY1NTI+PjJdPTExMDA4O2lmKCEoKGNbMjc2MF18MCk9PS0xKSl7
Y1tmPj4yXT0xMTA0MDtjW2YrND4+Ml09MTM0O2NbZis4Pj4yXT0wOyRmKDExMDQwLGYsMTM1KX1D
bChiLDE2NTQ0LChjWzExMDQ0Pj4yXXwwKSsgLTF8MCk7Y1sxNjUzMj4+Ml09MDtjWzQxMzJdPTEy
OTA0O2lmKChhWzExODg4XXwwKT09MD8oSGEoMTE4ODgpfDApIT0wOjApe2NbMjk3MF09bGIoMjE0
NzQ4MzY0NywxMTg5NiwwKXwwO2liKDExODg4KX1jWzE2NTM2Pj4yXT1jWzI5NzBdO2NbNDEzMl09
MTEyNTY7aWYoISgoY1syODE4XXwwKT09LTEpKXtjW2Y+PjJdPTExMjcyO2NbZis0Pj4yXT0xMzQ7
Y1tmKzg+PjJdPTA7JGYoMTEyNzIsZiwxMzUpfUNsKGIsMTY1MjgsKGNbMTEyNzY+PjJdfDApKyAt
MXwwKTtjWzE2NTE2Pj4yXT0wO2NbNDEyOF09MTI5MDQ7aWYoKGFbMTE4ODhdfDApPT0wPyhIYSgx
MTg4OCl8MCkhPTA6MCl7Y1syOTcwXT1sYigyMTQ3NDgzNjQ3LDExODk2LDApfDA7aWIoMTE4ODgp
fWNbMTY1MjA+PjJdPWNbMjk3MF07Y1s0MTI4XT0xMTI4ODtpZighKChjWzI4MjZdfDApPT0tMSkp
e2NbZj4+Ml09MTEzMDQ7Y1tmKzQ+PjJdPTEzNDtjW2YrOD4+Ml09MDskZigxMTMwNCxmLDEzNSl9
Q2woYiwxNjUxMiwoY1sxMTMwOD4+Ml18MCkrIC0xfDApO2NbMTY1MDg+PjJdPTA7Y1s0MTI2XT0x
MTgwMDtpZighKChjWzI5NTZdfDApPT0tMSkpe2NbZj4+Ml09MTE4MjQ7Y1tmKzQ+PjJdPTEzNDtj
W2YrOD4+Ml09MDskZigxMTgyNCxmLDEzNSl9Q2woYiwxNjUwNCwoY1sxMTgyOD4+Ml18MCkrIC0x
fDApO2NbMTY1MDA+PjJdPTA7Y1s0MTI0XT0xMTg0MDtpZigoY1syOTY2XXwwKT09LTEpe209Y1sx
MTg2OD4+Ml18MDtuPW0rIC0xfDA7Q2woYiwxNjQ5NixuKTtpPWU7cmV0dXJufWNbZj4+Ml09MTE4
NjQ7Y1tmKzQ+PjJdPTEzNDtjW2YrOD4+Ml09MDskZigxMTg2NCxmLDEzNSk7bT1jWzExODY4Pj4y
XXwwO249bSsgLTF8MDtDbChiLDE2NDk2LG4pO2k9ZTtyZXR1cm59ZnVuY3Rpb24gQ2woYSxiLGQp
e2E9YXwwO2I9YnwwO2Q9ZHwwO3ZhciBlPTAsZj0wLGc9MCxoPTAsaj0wLGs9MCxsPTAsbT0wLG49
MCxvPTA7ZT1pO0dmKGIpO2Y9YSs4fDA7Zz1hKzEyfDA7YT1jW2c+PjJdfDA7aD1jW2Y+PjJdfDA7
aj1hLWg+PjI7ZG97aWYoIShqPj4+MD5kPj4+MCkpe2s9ZCsxfDA7aWYoaj4+PjA8az4+PjApe0hu
KGYsay1qfDApO2w9Y1tmPj4yXXwwO2JyZWFrfWlmKGo+Pj4wPms+Pj4wPyhtPWgrKGs8PDIpfDAs
KGF8MCkhPShtfDApKTowKXtjW2c+PjJdPWErKH4oKGErIC00KygwLW0pfDApPj4+Mik8PDIpO2w9
aH1lbHNle2w9aH19ZWxzZXtsPWh9fXdoaWxlKDApO2g9Y1tsKyhkPDwyKT4+Ml18MDtpZigoaHww
KT09MCl7bj1sO289bisoZDw8Mil8MDtjW28+PjJdPWI7aT1lO3JldHVybn1IZihoKXwwO249Y1tm
Pj4yXXwwO289bisoZDw8Mil8MDtjW28+PjJdPWI7aT1lO3JldHVybn1mdW5jdGlvbiBEbChhKXth
PWF8MDt2YXIgYj0wO2I9aTtFbChhKTtDbyhhKTtpPWI7cmV0dXJufWZ1bmN0aW9uIEVsKGIpe2I9
YnwwO3ZhciBkPTAsZT0wLGY9MCxnPTAsaD0wLGo9MCxrPTAsbD0wLG09MDtkPWk7Y1tiPj4yXT0x
MTkxMjtlPWIrMTJ8MDtmPWNbZT4+Ml18MDtnPWIrOHwwO2g9Y1tnPj4yXXwwO2lmKChmfDApIT0o
aHwwKSl7aj1mO2Y9aDtoPTA7d2hpbGUoMSl7az1jW2YrKGg8PDIpPj4yXXwwO2lmKChrfDApPT0w
KXtsPWo7bT1mfWVsc2V7SGYoayl8MDtsPWNbZT4+Ml18MDttPWNbZz4+Ml18MH1oPWgrMXwwO2lm
KCEoaD4+PjA8bC1tPj4yPj4+MCkpe2JyZWFrfWVsc2V7aj1sO2Y9bX19fWVnKGIrMTQ0fDApO209
Y1tnPj4yXXwwO2lmKChtfDApPT0wKXtpPWQ7cmV0dXJufWc9Y1tlPj4yXXwwO2lmKChnfDApIT0o
bXwwKSl7Y1tlPj4yXT1nKyh+KChnKyAtNCsoMC1tKXwwKT4+PjIpPDwyKX1pZigoYisyNHwwKT09
KG18MCkpe2FbYisxMzZ8MF09MDtpPWQ7cmV0dXJufWVsc2V7Q28obSk7aT1kO3JldHVybn19ZnVu
Y3Rpb24gRmwoKXt2YXIgYj0wLGQ9MCxlPTA7Yj1pO2lmKChhWzExOTY4XXwwKSE9MCl7ZD1jWzI5
OTBdfDA7aT1iO3JldHVybiBkfDB9aWYoKEhhKDExOTY4KXwwKT09MCl7ZD1jWzI5OTBdfDA7aT1i
O3JldHVybiBkfDB9aWYoKGFbMTE5NDRdfDApPT0wPyhIYSgxMTk0NCl8MCkhPTA6MCl7QmwoMTYz
MzYsMSk7Y1syOTgyXT0xNjMzNjtjWzI5ODRdPTExOTI4O2liKDExOTQ0KX1lPWNbY1syOTg0XT4+
Ml18MDtjWzI5ODhdPWU7R2YoZSk7Y1syOTkwXT0xMTk1MjtpYigxMTk2OCk7ZD1jWzI5OTBdfDA7
aT1iO3JldHVybiBkfDB9ZnVuY3Rpb24gR2woYSl7YT1hfDA7dmFyIGI9MCxkPTA7Yj1pO2Q9Y1so
RmwoKXwwKT4+Ml18MDtjW2E+PjJdPWQ7R2YoZCk7aT1iO3JldHVybn1mdW5jdGlvbiBIbChhLGIp
e2E9YXwwO2I9YnwwO3ZhciBkPTAsZT0wO2Q9aTtlPWNbYj4+Ml18MDtjW2E+PjJdPWU7R2YoZSk7
aT1kO3JldHVybn1mdW5jdGlvbiBJbChhKXthPWF8MDt2YXIgYj0wO2I9aTtIZihjW2E+PjJdfDAp
fDA7aT1iO3JldHVybn1mdW5jdGlvbiBKbChhLGIpe2E9YXwwO2I9YnwwO3ZhciBkPTAsZT0wLGY9
MCxnPTA7ZD1pO2k9aSsxNnwwO2U9ZDtmPWNbYT4+Ml18MDtpZighKChjW2I+PjJdfDApPT0tMSkp
e2NbZT4+Ml09YjtjW2UrND4+Ml09MTM0O2NbZSs4Pj4yXT0wOyRmKGIsZSwxMzUpfWU9KGNbYis0
Pj4yXXwwKSsgLTF8MDtiPWNbZis4Pj4yXXwwO2lmKCEoKGNbZisxMj4+Ml18MCktYj4+Mj4+PjA+
ZT4+PjApKXtnPURiKDQpfDA7JG4oZyk7cGMoZ3wwLDE5OTUyLDEyMyl9Zj1jW2IrKGU8PDIpPj4y
XXwwO2lmKChmfDApPT0wKXtnPURiKDQpfDA7JG4oZyk7cGMoZ3wwLDE5OTUyLDEyMyl9ZWxzZXtp
PWQ7cmV0dXJuIGZ8MH1yZXR1cm4gMH1mdW5jdGlvbiBLbChhKXthPWF8MDt2YXIgYj0wO2I9aTtD
byhhKTtpPWI7cmV0dXJufWZ1bmN0aW9uIExsKGEpe2E9YXwwO3ZhciBiPTA7Yj1pO2lmKChhfDAp
PT0wKXtpPWI7cmV0dXJufUFjW2NbKGNbYT4+Ml18MCkrND4+Ml0mMjU1XShhKTtpPWI7cmV0dXJu
fWZ1bmN0aW9uIE1sKGEpe2E9YXwwO3ZhciBiPTA7Yj1jWzI5OTRdfDA7Y1syOTk0XT1iKzE7Y1th
KzQ+PjJdPWIrMTtyZXR1cm59ZnVuY3Rpb24gTmwoYSl7YT1hfDA7dmFyIGI9MDtiPWk7Q28oYSk7
aT1iO3JldHVybn1mdW5jdGlvbiBPbChhLGQsZSl7YT1hfDA7ZD1kfDA7ZT1lfDA7dmFyIGY9MDth
PWk7aWYoIShlPj4+MDwxMjgpKXtmPTA7aT1hO3JldHVybiBmfDB9Zj0oYlsoY1soQmIoKXwwKT4+
Ml18MCkrKGU8PDEpPj4xXSZkKTw8MTY+PjE2IT0wO2k9YTtyZXR1cm4gZnwwfWZ1bmN0aW9uIFBs
KGEsZCxlLGYpe2E9YXwwO2Q9ZHwwO2U9ZXwwO2Y9ZnwwO3ZhciBnPTAsaD0wLGo9MCxrPTA7YT1p
O2lmKChkfDApPT0oZXwwKSl7Zz1kO2k9YTtyZXR1cm4gZ3wwfWVsc2V7aD1kO2o9Zn13aGlsZSgx
KXtmPWNbaD4+Ml18MDtpZihmPj4+MDwxMjgpe2s9YlsoY1soQmIoKXwwKT4+Ml18MCkrKGY8PDEp
Pj4xXXwwfWVsc2V7az0wfWJbaj4+MV09aztmPWgrNHwwO2lmKChmfDApPT0oZXwwKSl7Zz1lO2Jy
ZWFrfWVsc2V7aD1mO2o9aisyfDB9fWk9YTtyZXR1cm4gZ3wwfWZ1bmN0aW9uIFFsKGEsZCxlLGYp
e2E9YXwwO2Q9ZHwwO2U9ZXwwO2Y9ZnwwO3ZhciBnPTAsaD0wLGo9MDthPWk7YTpkb3tpZigoZXww
KT09KGZ8MCkpe2c9ZX1lbHNle2g9ZTt3aGlsZSgxKXtqPWNbaD4+Ml18MDtpZihqPj4+MDwxMjg/
ISgoYlsoY1soQmIoKXwwKT4+Ml18MCkrKGo8PDEpPj4xXSZkKTw8MTY+PjE2PT0wKTowKXtnPWg7
YnJlYWsgYX1qPWgrNHwwO2lmKChqfDApPT0oZnwwKSl7Zz1mO2JyZWFrfWVsc2V7aD1qfX19fXdo
aWxlKDApO2k9YTtyZXR1cm4gZ3wwfWZ1bmN0aW9uIFJsKGEsZCxlLGYpe2E9YXwwO2Q9ZHwwO2U9
ZXwwO2Y9ZnwwO3ZhciBnPTAsaD0wLGo9MCxrPTA7YT1pO2E6ZG97aWYoKGV8MCk9PShmfDApKXtn
PWV9ZWxzZXtoPWU7d2hpbGUoMSl7aj1jW2g+PjJdfDA7aWYoIShqPj4+MDwxMjgpKXtnPWg7YnJl
YWsgYX1rPWgrNHwwO2lmKChiWyhjWyhCYigpfDApPj4yXXwwKSsoajw8MSk+PjFdJmQpPDwxNj4+
MTY9PTApe2c9aDticmVhayBhfWlmKChrfDApPT0oZnwwKSl7Zz1mO2JyZWFrfWVsc2V7aD1rfX19
fXdoaWxlKDApO2k9YTtyZXR1cm4gZ3wwfWZ1bmN0aW9uIFNsKGEsYil7YT1hfDA7Yj1ifDA7dmFy
IGQ9MDthPWk7aWYoIShiPj4+MDwxMjgpKXtkPWI7aT1hO3JldHVybiBkfDB9ZD1jWyhjWyhLYSgp
fDApPj4yXXwwKSsoYjw8Mik+PjJdfDA7aT1hO3JldHVybiBkfDB9ZnVuY3Rpb24gVGwoYSxiLGQp
e2E9YXwwO2I9YnwwO2Q9ZHwwO3ZhciBlPTAsZj0wLGc9MDthPWk7aWYoKGJ8MCk9PShkfDApKXtl
PWI7aT1hO3JldHVybiBlfDB9ZWxzZXtmPWJ9d2hpbGUoMSl7Yj1jW2Y+PjJdfDA7aWYoYj4+PjA8
MTI4KXtnPWNbKGNbKEthKCl8MCk+PjJdfDApKyhiPDwyKT4+Ml18MH1lbHNle2c9Yn1jW2Y+PjJd
PWc7Yj1mKzR8MDtpZigoYnwwKT09KGR8MCkpe2U9ZDticmVha31lbHNle2Y9Yn19aT1hO3JldHVy
biBlfDB9ZnVuY3Rpb24gVWwoYSxiKXthPWF8MDtiPWJ8MDt2YXIgZD0wO2E9aTtpZighKGI+Pj4w
PDEyOCkpe2Q9YjtpPWE7cmV0dXJuIGR8MH1kPWNbKGNbKGhjKCl8MCk+PjJdfDApKyhiPDwyKT4+
Ml18MDtpPWE7cmV0dXJuIGR8MH1mdW5jdGlvbiBWbChhLGIsZCl7YT1hfDA7Yj1ifDA7ZD1kfDA7
dmFyIGU9MCxmPTAsZz0wO2E9aTtpZigoYnwwKT09KGR8MCkpe2U9YjtpPWE7cmV0dXJuIGV8MH1l
bHNle2Y9Yn13aGlsZSgxKXtiPWNbZj4+Ml18MDtpZihiPj4+MDwxMjgpe2c9Y1soY1soaGMoKXww
KT4+Ml18MCkrKGI8PDIpPj4yXXwwfWVsc2V7Zz1ifWNbZj4+Ml09ZztiPWYrNHwwO2lmKChifDAp
PT0oZHwwKSl7ZT1kO2JyZWFrfWVsc2V7Zj1ifX1pPWE7cmV0dXJuIGV8MH1mdW5jdGlvbiBXbChh
LGIpe2E9YXwwO2I9YnwwO3JldHVybiBiPDwyND4+MjR8MH1mdW5jdGlvbiBYbChiLGQsZSxmKXti
PWJ8MDtkPWR8MDtlPWV8MDtmPWZ8MDt2YXIgZz0wLGg9MCxqPTA7Yj1pO2lmKChkfDApPT0oZXww
KSl7Zz1kO2k9YjtyZXR1cm4gZ3wwfWVsc2V7aD1kO2o9Zn13aGlsZSgxKXtjW2o+PjJdPWFbaF18
MDtmPWgrMXwwO2lmKChmfDApPT0oZXwwKSl7Zz1lO2JyZWFrfWVsc2V7aD1mO2o9ais0fDB9fWk9
YjtyZXR1cm4gZ3wwfWZ1bmN0aW9uIFlsKGEsYixjKXthPWF8MDtiPWJ8MDtjPWN8MDtyZXR1cm4o
Yj4+PjA8MTI4P2ImMjU1OmMpfDB9ZnVuY3Rpb24gWmwoYixkLGUsZixnKXtiPWJ8MDtkPWR8MDtl
PWV8MDtmPWZ8MDtnPWd8MDt2YXIgaD0wLGo9MCxrPTAsbD0wO2I9aTtpZigoZHwwKT09KGV8MCkp
e2g9ZDtpPWI7cmV0dXJuIGh8MH1qPSgoZSsgLTQrKDAtZCl8MCk+Pj4yKSsxfDA7az1kO2w9Zzt3
aGlsZSgxKXtnPWNbaz4+Ml18MDthW2xdPWc+Pj4wPDEyOD9nJjI1NTpmO2s9ays0fDA7aWYoKGt8
MCk9PShlfDApKXticmVha31lbHNle2w9bCsxfDB9fWg9ZCsoajw8Mil8MDtpPWI7cmV0dXJuIGh8
MH1mdW5jdGlvbiBfbChiKXtiPWJ8MDt2YXIgZD0wLGU9MDtkPWk7Y1tiPj4yXT0xMjAwODtlPWNb
Yis4Pj4yXXwwO2lmKChlfDApIT0wPyhhW2IrMTJ8MF18MCkhPTA6MCl7RG8oZSl9Q28oYik7aT1k
O3JldHVybn1mdW5jdGlvbiAkbChiKXtiPWJ8MDt2YXIgZD0wLGU9MDtkPWk7Y1tiPj4yXT0xMjAw
ODtlPWNbYis4Pj4yXXwwO2lmKChlfDApIT0wPyhhW2IrMTJ8MF18MCkhPTA6MCl7RG8oZSl9aT1k
O3JldHVybn1mdW5jdGlvbiBhbShhLGIpe2E9YXwwO2I9YnwwO3ZhciBkPTA7YT1pO2lmKCEoYjw8
MjQ+PjI0Pi0xKSl7ZD1iO2k9YTtyZXR1cm4gZHwwfWQ9Y1soY1soS2EoKXwwKT4+Ml18MCkrKChi
JjI1NSk8PDIpPj4yXSYyNTU7aT1hO3JldHVybiBkfDB9ZnVuY3Rpb24gYm0oYixkLGUpe2I9Ynww
O2Q9ZHwwO2U9ZXwwO3ZhciBmPTAsZz0wLGg9MDtiPWk7aWYoKGR8MCk9PShlfDApKXtmPWQ7aT1i
O3JldHVybiBmfDB9ZWxzZXtnPWR9d2hpbGUoMSl7ZD1hW2ddfDA7aWYoZDw8MjQ+PjI0Pi0xKXto
PWNbKGNbKEthKCl8MCk+PjJdfDApKyhkPDwyND4+MjQ8PDIpPj4yXSYyNTV9ZWxzZXtoPWR9YVtn
XT1oO2Q9ZysxfDA7aWYoKGR8MCk9PShlfDApKXtmPWU7YnJlYWt9ZWxzZXtnPWR9fWk9YjtyZXR1
cm4gZnwwfWZ1bmN0aW9uIGNtKGEsYil7YT1hfDA7Yj1ifDA7dmFyIGQ9MDthPWk7aWYoIShiPDwy
ND4+MjQ+LTEpKXtkPWI7aT1hO3JldHVybiBkfDB9ZD1jWyhjWyhoYygpfDApPj4yXXwwKSsoYjw8
MjQ+PjI0PDwyKT4+Ml0mMjU1O2k9YTtyZXR1cm4gZHwwfWZ1bmN0aW9uIGRtKGIsZCxlKXtiPWJ8
MDtkPWR8MDtlPWV8MDt2YXIgZj0wLGc9MCxoPTA7Yj1pO2lmKChkfDApPT0oZXwwKSl7Zj1kO2k9
YjtyZXR1cm4gZnwwfWVsc2V7Zz1kfXdoaWxlKDEpe2Q9YVtnXXwwO2lmKGQ8PDI0Pj4yND4tMSl7
aD1jWyhjWyhoYygpfDApPj4yXXwwKSsoZDw8MjQ+PjI0PDwyKT4+Ml0mMjU1fWVsc2V7aD1kfWFb
Z109aDtkPWcrMXwwO2lmKChkfDApPT0oZXwwKSl7Zj1lO2JyZWFrfWVsc2V7Zz1kfX1pPWI7cmV0
dXJuIGZ8MH1mdW5jdGlvbiBlbShhLGIpe2E9YXwwO2I9YnwwO3JldHVybiBifDB9ZnVuY3Rpb24g
Zm0oYixjLGQsZSl7Yj1ifDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7dmFyIGY9MCxnPTA7Yj1pO2lmKChj
fDApPT0oZHwwKSl7Zj1jfWVsc2V7Zz1jO2M9ZTt3aGlsZSgxKXthW2NdPWFbZ118MDtlPWcrMXww
O2lmKChlfDApPT0oZHwwKSl7Zj1kO2JyZWFrfWVsc2V7Zz1lO2M9YysxfDB9fX1pPWI7cmV0dXJu
IGZ8MH1mdW5jdGlvbiBnbShhLGIsYyl7YT1hfDA7Yj1ifDA7Yz1jfDA7cmV0dXJuKGI8PDI0Pj4y
ND4tMT9iOmMpfDB9ZnVuY3Rpb24gaG0oYixjLGQsZSxmKXtiPWJ8MDtjPWN8MDtkPWR8MDtlPWV8
MDtmPWZ8MDt2YXIgZz0wLGg9MCxqPTA7Yj1pO2lmKChjfDApPT0oZHwwKSl7Zz1jO2k9YjtyZXR1
cm4gZ3wwfWVsc2V7aD1jO2o9Zn13aGlsZSgxKXtmPWFbaF18MDthW2pdPWY8PDI0Pj4yND4tMT9m
OmU7Zj1oKzF8MDtpZigoZnwwKT09KGR8MCkpe2c9ZDticmVha31lbHNle2g9ZjtqPWorMXwwfX1p
PWI7cmV0dXJuIGd8MH1mdW5jdGlvbiBpbShhKXthPWF8MDt2YXIgYj0wO2I9aTtDbyhhKTtpPWI7
cmV0dXJufWZ1bmN0aW9uIGptKGEsYixkLGUsZixnLGgsaSl7YT1hfDA7Yj1ifDA7ZD1kfDA7ZT1l
fDA7Zj1mfDA7Zz1nfDA7aD1ofDA7aT1pfDA7Y1tmPj4yXT1kO2NbaT4+Ml09ZztyZXR1cm4gM31m
dW5jdGlvbiBrbShhLGIsZCxlLGYsZyxoLGkpe2E9YXwwO2I9YnwwO2Q9ZHwwO2U9ZXwwO2Y9Znww
O2c9Z3wwO2g9aHwwO2k9aXwwO2NbZj4+Ml09ZDtjW2k+PjJdPWc7cmV0dXJuIDN9ZnVuY3Rpb24g
bG0oYSxiLGQsZSxmKXthPWF8MDtiPWJ8MDtkPWR8MDtlPWV8MDtmPWZ8MDtjW2Y+PjJdPWQ7cmV0
dXJuIDN9ZnVuY3Rpb24gbW0oYSl7YT1hfDA7cmV0dXJuIDF9ZnVuY3Rpb24gbm0oYSl7YT1hfDA7
cmV0dXJuIDF9ZnVuY3Rpb24gb20oYSxiLGMsZCxlKXthPWF8MDtiPWJ8MDtjPWN8MDtkPWR8MDtl
PWV8MDtiPWQtY3wwO3JldHVybihiPj4+MDxlPj4+MD9iOmUpfDB9ZnVuY3Rpb24gcG0oYSl7YT1h
fDA7cmV0dXJuIDF9ZnVuY3Rpb24gcW0oYSl7YT1hfDA7dmFyIGI9MDtiPWk7emwoYSk7Q28oYSk7
aT1iO3JldHVybn1mdW5jdGlvbiBybShiLGQsZSxmLGcsaCxqLGspe2I9YnwwO2Q9ZHwwO2U9ZXww
O2Y9ZnwwO2c9Z3wwO2g9aHwwO2o9anwwO2s9a3wwO3ZhciBsPTAsbT0wLG49MCxvPTAscD0wLHE9
MCxyPTAscz0wLHQ9MCx1PTAsdj0wLHc9MCx4PTAseT0wLHo9MCxBPTAsQj0wLEM9MCxEPTAsRT0w
LEY9MCxHPTAsSD0wLEk9MDtsPWk7aT1pKzE2fDA7bT1sO249bCs4fDA7bz0oZXwwKT09KGZ8MCk7
YTpkb3tpZighbyl7cD1lO3doaWxlKDEpe3E9cCs0fDA7aWYoKGNbcD4+Ml18MCk9PTApe3I9cDti
cmVha31pZigocXwwKT09KGZ8MCkpe3I9ZjticmVha31lbHNle3A9cX19Y1trPj4yXT1oO2NbZz4+
Ml09ZTtpZighKG98KGh8MCk9PShqfDApKSl7cD1qO3E9Yis4fDA7cz1lO3Q9aDt1PXI7d2hpbGUo
MSl7dj1kO3c9Y1t2KzQ+PjJdfDA7eD1tO2NbeD4+Ml09Y1t2Pj4yXTtjW3grND4+Ml09dzt3PUdi
KGNbcT4+Ml18MCl8MDt4PVVuKHQsZyx1LXM+PjIscC10fDAsZCl8MDtpZigod3wwKSE9MCl7R2Io
d3wwKXwwfWlmKCh4fDApPT0tMSl7eT0xMDticmVha31lbHNlIGlmKCh4fDApPT0wKXt6PTE7eT0z
MzticmVha313PShjW2s+PjJdfDApK3h8MDtjW2s+PjJdPXc7aWYoKHd8MCk9PShqfDApKXt5PTMx
O2JyZWFrfWlmKCh1fDApPT0oZnwwKSl7QT1jW2c+PjJdfDA7Qj13O0M9Zn1lbHNle3c9R2IoY1tx
Pj4yXXwwKXwwO3g9VG4obiwwLGQpfDA7aWYoKHd8MCkhPTApe0diKHd8MCl8MH1pZigoeHwwKT09
LTEpe3o9Mjt5PTMzO2JyZWFrfXc9Y1trPj4yXXwwO2lmKHg+Pj4wPihwLXd8MCk+Pj4wKXt6PTE7
eT0zMzticmVha31iOmRve2lmKCh4fDApIT0wKXt2PXc7RD14O0U9bjt3aGlsZSgxKXtGPWFbRV18
MDtjW2s+PjJdPXYrMTthW3ZdPUY7Rj1EKyAtMXwwO2lmKChGfDApPT0wKXticmVhayBifXY9Y1tr
Pj4yXXwwO0Q9RjtFPUUrMXwwfX19d2hpbGUoMCk7eD0oY1tnPj4yXXwwKSs0fDA7Y1tnPj4yXT14
O2M6ZG97aWYoKHh8MCk9PShmfDApKXtHPWZ9ZWxzZXt3PXg7d2hpbGUoMSl7RT13KzR8MDtpZigo
Y1t3Pj4yXXwwKT09MCl7Rz13O2JyZWFrIGN9aWYoKEV8MCk9PShmfDApKXtHPWY7YnJlYWt9ZWxz
ZXt3PUV9fX19d2hpbGUoMCk7QT14O0I9Y1trPj4yXXwwO0M9R31pZigoQXwwKT09KGZ8MCl8KEJ8
MCk9PShqfDApKXtIPUE7YnJlYWsgYX1lbHNle3M9QTt0PUI7dT1DfX1pZigoeXwwKT09MTApe2Nb
az4+Ml09dDtkOmRve2lmKChzfDApPT0oY1tnPj4yXXwwKSl7ST1zfWVsc2V7dT1zO3A9dDt3aGls
ZSgxKXt3PWNbdT4+Ml18MDtFPUdiKGNbcT4+Ml18MCl8MDtEPVRuKHAsdyxtKXwwO2lmKChFfDAp
IT0wKXtHYihFfDApfDB9aWYoKER8MCk9PS0xKXtJPXU7YnJlYWsgZH1FPShjW2s+PjJdfDApK0R8
MDtjW2s+PjJdPUU7RD11KzR8MDtpZigoRHwwKT09KGNbZz4+Ml18MCkpe0k9RDticmVha31lbHNl
e3U9RDtwPUV9fX19d2hpbGUoMCk7Y1tnPj4yXT1JO3o9MjtpPWw7cmV0dXJuIHp8MH1lbHNlIGlm
KCh5fDApPT0zMSl7SD1jW2c+PjJdfDA7YnJlYWt9ZWxzZSBpZigoeXwwKT09MzMpe2k9bDtyZXR1
cm4genwwfX1lbHNle0g9ZX19ZWxzZXtjW2s+PjJdPWg7Y1tnPj4yXT1lO0g9ZX19d2hpbGUoMCk7
ej0oSHwwKSE9KGZ8MCl8MDtpPWw7cmV0dXJuIHp8MH1mdW5jdGlvbiBzbShiLGQsZSxmLGcsaCxq
LGspe2I9YnwwO2Q9ZHwwO2U9ZXwwO2Y9ZnwwO2c9Z3wwO2g9aHwwO2o9anwwO2s9a3wwO3ZhciBs
PTAsbT0wLG49MCxvPTAscD0wLHE9MCxyPTAscz0wLHQ9MCx1PTAsdj0wLHc9MCx4PTAseT0wLHo9
MCxBPTAsQj0wLEM9MCxEPTAsRT0wLEY9MCxHPTAsSD0wO2w9aTtpPWkrMTZ8MDttPWw7bj0oZXww
KT09KGZ8MCk7YTpkb3tpZighbil7bz1lO3doaWxlKDEpe3A9bysxfDA7aWYoKGFbb118MCk9PTAp
e3E9bzticmVha31pZigocHwwKT09KGZ8MCkpe3E9ZjticmVha31lbHNle289cH19Y1trPj4yXT1o
O2NbZz4+Ml09ZTtpZighKG58KGh8MCk9PShqfDApKSl7bz1qO3A9Yis4fDA7cj1lO3M9aDt0PXE7
d2hpbGUoMSl7dT1kO3Y9Y1t1KzQ+PjJdfDA7dz1tO2Nbdz4+Ml09Y1t1Pj4yXTtjW3crND4+Ml09
djt4PXQ7dj1HYihjW3A+PjJdfDApfDA7dz1RbihzLGcseC1yfDAsby1zPj4yLGQpfDA7aWYoKHZ8
MCkhPTApe0diKHZ8MCl8MH1pZigod3wwKT09MCl7eT0yO3o9MzI7YnJlYWt9ZWxzZSBpZigod3ww
KT09LTEpe3o9MTA7YnJlYWt9dj0oY1trPj4yXXwwKSsodzw8Mil8MDtjW2s+PjJdPXY7aWYoKHZ8
MCk9PShqfDApKXt6PTMwO2JyZWFrfXc9Y1tnPj4yXXwwO2lmKCh0fDApPT0oZnwwKSl7QT13O0I9
djtDPWZ9ZWxzZXt1PUdiKGNbcD4+Ml18MCl8MDtEPVBuKHYsdywxLGQpfDA7aWYoKHV8MCkhPTAp
e0diKHV8MCl8MH1pZigoRHwwKSE9MCl7eT0yO3o9MzI7YnJlYWt9Y1trPj4yXT0oY1trPj4yXXww
KSs0O0Q9KGNbZz4+Ml18MCkrMXwwO2NbZz4+Ml09RDtiOmRve2lmKChEfDApPT0oZnwwKSl7RT1m
fWVsc2V7dT1EO3doaWxlKDEpe3c9dSsxfDA7aWYoKGFbdV18MCk9PTApe0U9dTticmVhayBifWlm
KCh3fDApPT0oZnwwKSl7RT1mO2JyZWFrfWVsc2V7dT13fX19fXdoaWxlKDApO0E9RDtCPWNbaz4+
Ml18MDtDPUV9aWYoKEF8MCk9PShmfDApfChCfDApPT0oanwwKSl7Rj1BO2JyZWFrIGF9ZWxzZXty
PUE7cz1CO3Q9Q319aWYoKHp8MCk9PTEwKXtjW2s+PjJdPXM7Yzpkb3tpZigocnwwKSE9KGNbZz4+
Ml18MCkpe3Q9cjtvPXM7d2hpbGUoMSl7dT1HYihjW3A+PjJdfDApfDA7dz1QbihvLHQseC10fDAs
bSl8MDtpZigodXwwKSE9MCl7R2IodXwwKXwwfWlmKCh3fDApPT0tMil7ej0xNjticmVha31lbHNl
IGlmKCh3fDApPT0tMSl7ej0xNTticmVha31lbHNlIGlmKCh3fDApPT0wKXtHPXQrMXwwfWVsc2V7
Rz10K3d8MH13PShjW2s+PjJdfDApKzR8MDtjW2s+PjJdPXc7aWYoKEd8MCk9PShjW2c+PjJdfDAp
KXtIPUc7YnJlYWsgY31lbHNle3Q9RztvPXd9fWlmKCh6fDApPT0xNSl7Y1tnPj4yXT10O3k9Mjtp
PWw7cmV0dXJuIHl8MH1lbHNlIGlmKCh6fDApPT0xNil7Y1tnPj4yXT10O3k9MTtpPWw7cmV0dXJu
IHl8MH19ZWxzZXtIPXJ9fXdoaWxlKDApO2NbZz4+Ml09SDt5PShIfDApIT0oZnwwKXwwO2k9bDty
ZXR1cm4geXwwfWVsc2UgaWYoKHp8MCk9PTMwKXtGPWNbZz4+Ml18MDticmVha31lbHNlIGlmKCh6
fDApPT0zMil7aT1sO3JldHVybiB5fDB9fWVsc2V7Rj1lfX1lbHNle2Nbaz4+Ml09aDtjW2c+PjJd
PWU7Rj1lfX13aGlsZSgwKTt5PShGfDApIT0oZnwwKXwwO2k9bDtyZXR1cm4geXwwfWZ1bmN0aW9u
IHRtKGIsZCxlLGYsZyl7Yj1ifDA7ZD1kfDA7ZT1lfDA7Zj1mfDA7Zz1nfDA7dmFyIGg9MCxqPTAs
az0wLGw9MCxtPTAsbj0wO2g9aTtpPWkrMTZ8MDtqPWg7Y1tnPj4yXT1lO2U9R2IoY1tiKzg+PjJd
fDApfDA7Yj1UbihqLDAsZCl8MDtpZigoZXwwKSE9MCl7R2IoZXwwKXwwfWlmKChifDApPT0wfChi
fDApPT0tMSl7az0yO2k9aDtyZXR1cm4ga3wwfWU9YisgLTF8MDtiPWNbZz4+Ml18MDtpZihlPj4+
MD4oZi1ifDApPj4+MCl7az0xO2k9aDtyZXR1cm4ga3wwfWlmKChlfDApPT0wKXtrPTA7aT1oO3Jl
dHVybiBrfDB9ZWxzZXtsPWI7bT1lO249an13aGlsZSgxKXtqPWFbbl18MDtjW2c+PjJdPWwrMTth
W2xdPWo7aj1tKyAtMXwwO2lmKChqfDApPT0wKXtrPTA7YnJlYWt9bD1jW2c+PjJdfDA7bT1qO249
bisxfDB9aT1oO3JldHVybiBrfDB9ZnVuY3Rpb24gdW0oYSl7YT1hfDA7dmFyIGI9MCxkPTAsZT0w
LGY9MDtiPWk7ZD1hKzh8MDthPUdiKGNbZD4+Ml18MCl8MDtlPVNuKDAsMCw0KXwwO2lmKChhfDAp
IT0wKXtHYihhfDApfDB9aWYoKGV8MCk9PTApe2U9Y1tkPj4yXXwwO2lmKChlfDApIT0wKXtkPUdi
KGV8MCl8MDtpZigoZHwwKT09MCl7Zj0wfWVsc2V7R2IoZHwwKXwwO2Y9MH19ZWxzZXtmPTF9fWVs
c2V7Zj0tMX1pPWI7cmV0dXJuIGZ8MH1mdW5jdGlvbiB2bShhKXthPWF8MDtyZXR1cm4gMH1mdW5j
dGlvbiB3bShhLGIsZCxlLGYpe2E9YXwwO2I9YnwwO2Q9ZHwwO2U9ZXwwO2Y9ZnwwO3ZhciBnPTAs
aD0wLGo9MCxrPTAsbD0wLG09MCxuPTAsbz0wLHA9MCxxPTA7Zz1pO2lmKChmfDApPT0wfChkfDAp
PT0oZXwwKSl7aD0wO2k9ZztyZXR1cm4gaHwwfWo9ZTtrPWErOHwwO2E9ZDtkPTA7bD0wO3doaWxl
KDEpe209R2IoY1trPj4yXXwwKXwwO249T24oYSxqLWF8MCxiKXwwO2lmKChtfDApIT0wKXtHYiht
fDApfDB9aWYoKG58MCk9PTApe289YSsxfDA7cD0xfWVsc2UgaWYoKG58MCk9PS0yfChufDApPT0t
MSl7aD1kO3E9OTticmVha31lbHNle289YStufDA7cD1ufW49cCtkfDA7bT1sKzF8MDtpZihtPj4+
MD49Zj4+PjB8KG98MCk9PShlfDApKXtoPW47cT05O2JyZWFrfWVsc2V7YT1vO2Q9bjtsPW19fWlm
KChxfDApPT05KXtpPWc7cmV0dXJuIGh8MH1yZXR1cm4gMH1mdW5jdGlvbiB4bShhKXthPWF8MDt2
YXIgYj0wLGQ9MCxlPTA7Yj1pO2Q9Y1thKzg+PjJdfDA7aWYoKGR8MCkhPTApe2E9R2IoZHwwKXww
O2lmKChhfDApPT0wKXtlPTR9ZWxzZXtHYihhfDApfDA7ZT00fX1lbHNle2U9MX1pPWI7cmV0dXJu
IGV8MH1mdW5jdGlvbiB5bShhKXthPWF8MDt2YXIgYj0wO2I9aTtDbyhhKTtpPWI7cmV0dXJufWZ1
bmN0aW9uIHptKGEsYixkLGUsZixnLGgsail7YT1hfDA7Yj1ifDA7ZD1kfDA7ZT1lfDA7Zj1mfDA7
Zz1nfDA7aD1ofDA7aj1qfDA7dmFyIGs9MCxsPTA7Yj1pO2k9aSsxNnwwO2E9Yis0fDA7az1iO2Nb
YT4+Ml09ZDtjW2s+PjJdPWc7bD1BbShkLGUsYSxnLGgsaywxMTE0MTExLDApfDA7Y1tmPj4yXT1k
KygoY1thPj4yXXwwKS1kPj4xPDwxKTtjW2o+PjJdPWcrKChjW2s+PjJdfDApLWcpO2k9YjtyZXR1
cm4gbHwwfWZ1bmN0aW9uIEFtKGQsZixnLGgsaixrLGwsbSl7ZD1kfDA7Zj1mfDA7Zz1nfDA7aD1o
fDA7aj1qfDA7az1rfDA7bD1sfDA7bT1tfDA7dmFyIG49MCxvPTAscD0wLHE9MCxyPTAscz0wLHQ9
MDtuPWk7Y1tnPj4yXT1kO2Nbaz4+Ml09aDtkb3tpZigobSYyfDApIT0wKXtpZigoai1ofDApPDMp
e289MTtpPW47cmV0dXJuIG98MH1lbHNle2Nbaz4+Ml09aCsxO2FbaF09LTE3O2Q9Y1trPj4yXXww
O2Nbaz4+Ml09ZCsxO2FbZF09LTY5O2Q9Y1trPj4yXXwwO2Nbaz4+Ml09ZCsxO2FbZF09LTY1O2Jy
ZWFrfX19d2hpbGUoMCk7aD1mO209Y1tnPj4yXXwwO2lmKCEobT4+PjA8Zj4+PjApKXtvPTA7aT1u
O3JldHVybiBvfDB9ZD1qO2o9bTthOndoaWxlKDEpe209YltqPj4xXXwwO3A9bSY2NTUzNTtpZihw
Pj4+MD5sPj4+MCl7bz0yO3E9MjY7YnJlYWt9ZG97aWYoKG0mNjU1MzUpPDEyOCl7cj1jW2s+PjJd
fDA7aWYoKGQtcnwwKTwxKXtvPTE7cT0yNjticmVhayBhfWNbaz4+Ml09cisxO2Fbcl09bX1lbHNl
e2lmKChtJjY1NTM1KTwyMDQ4KXtyPWNbaz4+Ml18MDtpZigoZC1yfDApPDIpe289MTtxPTI2O2Jy
ZWFrIGF9Y1trPj4yXT1yKzE7YVtyXT1wPj4+NnwxOTI7cj1jW2s+PjJdfDA7Y1trPj4yXT1yKzE7
YVtyXT1wJjYzfDEyODticmVha31pZigobSY2NTUzNSk8NTUyOTYpe3I9Y1trPj4yXXwwO2lmKChk
LXJ8MCk8Myl7bz0xO3E9MjY7YnJlYWsgYX1jW2s+PjJdPXIrMTthW3JdPXA+Pj4xMnwyMjQ7cj1j
W2s+PjJdfDA7Y1trPj4yXT1yKzE7YVtyXT1wPj4+NiY2M3wxMjg7cj1jW2s+PjJdfDA7Y1trPj4y
XT1yKzE7YVtyXT1wJjYzfDEyODticmVha31pZighKChtJjY1NTM1KTw1NjMyMCkpe2lmKChtJjY1
NTM1KTw1NzM0NCl7bz0yO3E9MjY7YnJlYWsgYX1yPWNbaz4+Ml18MDtpZigoZC1yfDApPDMpe289
MTtxPTI2O2JyZWFrIGF9Y1trPj4yXT1yKzE7YVtyXT1wPj4+MTJ8MjI0O3I9Y1trPj4yXXwwO2Nb
az4+Ml09cisxO2Fbcl09cD4+PjYmNjN8MTI4O3I9Y1trPj4yXXwwO2Nbaz4+Ml09cisxO2Fbcl09
cCY2M3wxMjg7YnJlYWt9aWYoKGgtanwwKTw0KXtvPTE7cT0yNjticmVhayBhfXI9aisyfDA7cz1l
W3I+PjFdfDA7aWYoKHMmNjQ1MTJ8MCkhPTU2MzIwKXtvPTI7cT0yNjticmVhayBhfWlmKChkLShj
W2s+PjJdfDApfDApPDQpe289MTtxPTI2O2JyZWFrIGF9dD1wJjk2MDtpZigoKHQ8PDEwKSs2NTUz
NnxwPDwxMCY2NDUxMnxzJjEwMjMpPj4+MD5sPj4+MCl7bz0yO3E9MjY7YnJlYWsgYX1jW2c+PjJd
PXI7cj0odD4+PjYpKzF8MDt0PWNbaz4+Ml18MDtjW2s+PjJdPXQrMTthW3RdPXI+Pj4yfDI0MDt0
PWNbaz4+Ml18MDtjW2s+PjJdPXQrMTthW3RdPXA+Pj4yJjE1fHI8PDQmNDh8MTI4O3I9Y1trPj4y
XXwwO2Nbaz4+Ml09cisxO2Fbcl09cDw8NCY0OHxzPj4+NiYxNXwxMjg7cj1jW2s+PjJdfDA7Y1tr
Pj4yXT1yKzE7YVtyXT1zJjYzfDEyOH19d2hpbGUoMCk7cD0oY1tnPj4yXXwwKSsyfDA7Y1tnPj4y
XT1wO2lmKHA+Pj4wPGY+Pj4wKXtqPXB9ZWxzZXtvPTA7cT0yNjticmVha319aWYoKHF8MCk9PTI2
KXtpPW47cmV0dXJuIG98MH1yZXR1cm4gMH1mdW5jdGlvbiBCbShhLGIsZCxlLGYsZyxoLGope2E9
YXwwO2I9YnwwO2Q9ZHwwO2U9ZXwwO2Y9ZnwwO2c9Z3wwO2g9aHwwO2o9anwwO3ZhciBrPTAsbD0w
O2I9aTtpPWkrMTZ8MDthPWIrNHwwO2s9YjtjW2E+PjJdPWQ7Y1trPj4yXT1nO2w9Q20oZCxlLGEs
ZyxoLGssMTExNDExMSwwKXwwO2NbZj4+Ml09ZCsoKGNbYT4+Ml18MCktZCk7Y1tqPj4yXT1nKygo
Y1trPj4yXXwwKS1nPj4xPDwxKTtpPWI7cmV0dXJuIGx8MH1mdW5jdGlvbiBDbShlLGYsZyxoLGos
ayxsLG0pe2U9ZXwwO2Y9ZnwwO2c9Z3wwO2g9aHwwO2o9anwwO2s9a3wwO2w9bHwwO209bXwwO3Zh
ciBuPTAsbz0wLHA9MCxxPTAscj0wLHM9MCx0PTAsdT0wLHY9MCx3PTAseD0wLHk9MCx6PTAsQT0w
O249aTtjW2c+PjJdPWU7Y1trPj4yXT1oO2g9Y1tnPj4yXXwwO2lmKCgoKChtJjR8MCkhPTA/KGYt
aHwwKT4yOjApPyhhW2hdfDApPT0tMTc6MCk/KGFbaCsxfDBdfDApPT0tNjk6MCk/KGFbaCsyfDBd
fDApPT0tNjU6MCl7bT1oKzN8MDtjW2c+PjJdPW07bz1tfWVsc2V7bz1ofWE6ZG97aWYobz4+PjA8
Zj4+PjApe2g9ZjttPWo7ZT1jW2s+PjJdfDA7cD1vO2I6d2hpbGUoMSl7aWYoIShlPj4+MDxqPj4+
MCkpe3E9cDticmVhayBhfXI9YVtwXXwwO3M9ciYyNTU7aWYocz4+PjA+bD4+PjApe3Q9Mjt1PTQx
O2JyZWFrfWRve2lmKHI8PDI0Pj4yND4tMSl7YltlPj4xXT1yJjI1NTtjW2c+PjJdPXArMX1lbHNl
e2lmKChyJjI1NSk8MTk0KXt0PTI7dT00MTticmVhayBifWlmKChyJjI1NSk8MjI0KXtpZigoaC1w
fDApPDIpe3Q9MTt1PTQxO2JyZWFrIGJ9dj1kW3ArMXwwXXwwO2lmKCh2JjE5MnwwKSE9MTI4KXt0
PTI7dT00MTticmVhayBifXc9diY2M3xzPDw2JjE5ODQ7aWYodz4+PjA+bD4+PjApe3Q9Mjt1PTQx
O2JyZWFrIGJ9YltlPj4xXT13O2NbZz4+Ml09cCsyO2JyZWFrfWlmKChyJjI1NSk8MjQwKXtpZigo
aC1wfDApPDMpe3Q9MTt1PTQxO2JyZWFrIGJ9dz1hW3ArMXwwXXwwO3Y9YVtwKzJ8MF18MDtpZigo
c3wwKT09MjI0KXtpZighKCh3Ji0zMik8PDI0Pj4yND09LTk2KSl7dD0yO3U9NDE7YnJlYWsgYn19
ZWxzZSBpZigoc3wwKT09MjM3KXtpZighKCh3Ji0zMik8PDI0Pj4yND09LTEyOCkpe3Q9Mjt1PTQx
O2JyZWFrIGJ9fWVsc2V7aWYoISgodyYtNjQpPDwyND4+MjQ9PS0xMjgpKXt0PTI7dT00MTticmVh
ayBifX14PXYmMjU1O2lmKCh4JjE5MnwwKSE9MTI4KXt0PTI7dT00MTticmVhayBifXY9KHcmMjU1
KTw8NiY0MDMyfHM8PDEyfHgmNjM7aWYoKHYmNjU1MzUpPj4+MD5sPj4+MCl7dD0yO3U9NDE7YnJl
YWsgYn1iW2U+PjFdPXY7Y1tnPj4yXT1wKzM7YnJlYWt9aWYoISgociYyNTUpPDI0NSkpe3Q9Mjt1
PTQxO2JyZWFrIGJ9aWYoKGgtcHwwKTw0KXt0PTE7dT00MTticmVhayBifXY9YVtwKzF8MF18MDt4
PWFbcCsyfDBdfDA7dz1hW3ArM3wwXXwwO2lmKChzfDApPT0yNDApe2lmKCEoKHYrMTEyPDwyND4+
MjQmMjU1KTw0OCkpe3Q9Mjt1PTQxO2JyZWFrIGJ9fWVsc2UgaWYoKHN8MCk9PTI0NCl7aWYoISgo
diYtMTYpPDwyND4+MjQ9PS0xMjgpKXt0PTI7dT00MTticmVhayBifX1lbHNle2lmKCEoKHYmLTY0
KTw8MjQ+PjI0PT0tMTI4KSl7dD0yO3U9NDE7YnJlYWsgYn19eT14JjI1NTtpZigoeSYxOTJ8MCkh
PTEyOCl7dD0yO3U9NDE7YnJlYWsgYn14PXcmMjU1O2lmKCh4JjE5MnwwKSE9MTI4KXt0PTI7dT00
MTticmVhayBifWlmKChtLWV8MCk8NCl7dD0xO3U9NDE7YnJlYWsgYn13PXMmNzt6PXYmMjU1O3Y9
eTw8NjtBPXgmNjM7aWYoKHo8PDEyJjI1ODA0OHx3PDwxOHx2JjQwMzJ8QSk+Pj4wPmw+Pj4wKXt0
PTI7dT00MTticmVhayBifWJbZT4+MV09ejw8MiY2MHx5Pj4+NCYzfCgoej4+PjQmM3x3PDwyKTw8
NikrMTYzMjB8NTUyOTY7dz1lKzJ8MDtjW2s+PjJdPXc7Ylt3Pj4xXT1BfHYmOTYwfDU2MzIwO2Nb
Zz4+Ml09KGNbZz4+Ml18MCkrNH19d2hpbGUoMCk7cz0oY1trPj4yXXwwKSsyfDA7Y1trPj4yXT1z
O3I9Y1tnPj4yXXwwO2lmKHI+Pj4wPGY+Pj4wKXtlPXM7cD1yfWVsc2V7cT1yO2JyZWFrIGF9fWlm
KCh1fDApPT00MSl7aT1uO3JldHVybiB0fDB9fWVsc2V7cT1vfX13aGlsZSgwKTt0PXE+Pj4wPGY+
Pj4wfDA7aT1uO3JldHVybiB0fDB9ZnVuY3Rpb24gRG0oYSxiLGQsZSxmKXthPWF8MDtiPWJ8MDtk
PWR8MDtlPWV8MDtmPWZ8MDtjW2Y+PjJdPWQ7cmV0dXJuIDN9ZnVuY3Rpb24gRW0oYSl7YT1hfDA7
cmV0dXJuIDB9ZnVuY3Rpb24gRm0oYSl7YT1hfDA7cmV0dXJuIDB9ZnVuY3Rpb24gR20oYSxiLGMs
ZCxlKXthPWF8MDtiPWJ8MDtjPWN8MDtkPWR8MDtlPWV8MDtiPWk7YT1IbShjLGQsZSwxMTE0MTEx
LDApfDA7aT1iO3JldHVybiBhfDB9ZnVuY3Rpb24gSG0oYixjLGUsZixnKXtiPWJ8MDtjPWN8MDtl
PWV8MDtmPWZ8MDtnPWd8MDt2YXIgaD0wLGo9MCxrPTAsbD0wLG09MCxuPTAsbz0wLHA9MCxxPTAs
cj0wLHM9MCx0PTAsdT0wLHY9MCx3PTAseD0wLHk9MDtoPWk7aWYoKCgoZyY0fDApIT0wPyhjLWJ8
MCk+MjowKT8oYVtiXXwwKT09LTE3OjApPyhhW2IrMXwwXXwwKT09LTY5OjApe2o9KGFbYisyfDBd
fDApPT0tNjU/YiszfDA6Yn1lbHNle2o9Yn1hOmRve2lmKGo+Pj4wPGM+Pj4wJihlfDApIT0wKXtn
PWM7az1qO2w9MDtiOndoaWxlKDEpe209YVtrXXwwO249bSYyNTU7aWYobj4+PjA+Zj4+PjApe289
azticmVhayBhfWRve2lmKG08PDI0Pj4yND4tMSl7cD1rKzF8MDtxPWx9ZWxzZXtpZigobSYyNTUp
PDE5NCl7bz1rO2JyZWFrIGF9aWYoKG0mMjU1KTwyMjQpe2lmKChnLWt8MCk8Mil7bz1rO2JyZWFr
IGF9cj1kW2srMXwwXXwwO2lmKChyJjE5MnwwKSE9MTI4KXtvPWs7YnJlYWsgYX1pZigociY2M3xu
PDw2JjE5ODQpPj4+MD5mPj4+MCl7bz1rO2JyZWFrIGF9cD1rKzJ8MDtxPWw7YnJlYWt9aWYoKG0m
MjU1KTwyNDApe3M9aztpZigoZy1zfDApPDMpe289azticmVhayBhfXI9YVtrKzF8MF18MDt0PWFb
aysyfDBdfDA7aWYoKG58MCk9PTIyNCl7aWYoISgociYtMzIpPDwyND4+MjQ9PS05Nikpe3U9MjE7
YnJlYWsgYn19ZWxzZSBpZigobnwwKT09MjM3KXtpZighKChyJi0zMik8PDI0Pj4yND09LTEyOCkp
e3U9MjM7YnJlYWsgYn19ZWxzZXtpZighKChyJi02NCk8PDI0Pj4yND09LTEyOCkpe3U9MjU7YnJl
YWsgYn19dj10JjI1NTtpZigodiYxOTJ8MCkhPTEyOCl7bz1rO2JyZWFrIGF9aWYoKChyJjI1NSk8
PDYmNDAzMnxuPDwxMiY2MTQ0MHx2JjYzKT4+PjA+Zj4+PjApe289azticmVhayBhfXA9ayszfDA7
cT1sO2JyZWFrfWlmKCEoKG0mMjU1KTwyNDUpKXtvPWs7YnJlYWsgYX13PWs7aWYoKGctd3wwKTw0
KXtvPWs7YnJlYWsgYX1pZigoZS1sfDApPj4+MDwyKXtvPWs7YnJlYWsgYX12PWFbaysxfDBdfDA7
cj1hW2srMnwwXXwwO3Q9YVtrKzN8MF18MDtpZigobnwwKT09MjQwKXtpZighKCh2KzExMjw8MjQ+
PjI0JjI1NSk8NDgpKXt1PTM0O2JyZWFrIGJ9fWVsc2UgaWYoKG58MCk9PTI0NCl7aWYoISgodiYt
MTYpPDwyND4+MjQ9PS0xMjgpKXt1PTM2O2JyZWFrIGJ9fWVsc2V7aWYoISgodiYtNjQpPDwyND4+
MjQ9PS0xMjgpKXt1PTM4O2JyZWFrIGJ9fXg9ciYyNTU7aWYoKHgmMTkyfDApIT0xMjgpe289azti
cmVhayBhfXI9dCYyNTU7aWYoKHImMTkyfDApIT0xMjgpe289azticmVhayBhfWlmKCgodiYyNTUp
PDwxMiYyNTgwNDh8bjw8MTgmMTgzNTAwOHx4PDw2JjQwMzJ8ciY2Myk+Pj4wPmY+Pj4wKXtvPWs7
YnJlYWsgYX1wPWsrNHwwO3E9bCsxfDB9fXdoaWxlKDApO249cSsxfDA7aWYocD4+PjA8Yz4+PjAm
bj4+PjA8ZT4+PjApe2s9cDtsPW59ZWxzZXtvPXA7YnJlYWsgYX19aWYoKHV8MCk9PTIxKXt5PXMt
YnwwO2k9aDtyZXR1cm4geXwwfWVsc2UgaWYoKHV8MCk9PTIzKXt5PXMtYnwwO2k9aDtyZXR1cm4g
eXwwfWVsc2UgaWYoKHV8MCk9PTI1KXt5PXMtYnwwO2k9aDtyZXR1cm4geXwwfWVsc2UgaWYoKHV8
MCk9PTM0KXt5PXctYnwwO2k9aDtyZXR1cm4geXwwfWVsc2UgaWYoKHV8MCk9PTM2KXt5PXctYnww
O2k9aDtyZXR1cm4geXwwfWVsc2UgaWYoKHV8MCk9PTM4KXt5PXctYnwwO2k9aDtyZXR1cm4geXww
fX1lbHNle289an19d2hpbGUoMCk7eT1vLWJ8MDtpPWg7cmV0dXJuIHl8MH1mdW5jdGlvbiBJbShh
KXthPWF8MDtyZXR1cm4gNH1mdW5jdGlvbiBKbShhKXthPWF8MDt2YXIgYj0wO2I9aTtDbyhhKTtp
PWI7cmV0dXJufWZ1bmN0aW9uIEttKGEsYixkLGUsZixnLGgsail7YT1hfDA7Yj1ifDA7ZD1kfDA7
ZT1lfDA7Zj1mfDA7Zz1nfDA7aD1ofDA7aj1qfDA7dmFyIGs9MCxsPTA7Yj1pO2k9aSsxNnwwO2E9
Yis0fDA7az1iO2NbYT4+Ml09ZDtjW2s+PjJdPWc7bD1MbShkLGUsYSxnLGgsaywxMTE0MTExLDAp
fDA7Y1tmPj4yXT1kKygoY1thPj4yXXwwKS1kPj4yPDwyKTtjW2o+PjJdPWcrKChjW2s+PjJdfDAp
LWcpO2k9YjtyZXR1cm4gbHwwfWZ1bmN0aW9uIExtKGIsZCxlLGYsZyxoLGosayl7Yj1ifDA7ZD1k
fDA7ZT1lfDA7Zj1mfDA7Zz1nfDA7aD1ofDA7aj1qfDA7az1rfDA7dmFyIGw9MCxtPTAsbj0wLG89
MCxwPTA7bD1pO2NbZT4+Ml09YjtjW2g+PjJdPWY7ZG97aWYoKGsmMnwwKSE9MCl7aWYoKGctZnww
KTwzKXttPTE7aT1sO3JldHVybiBtfDB9ZWxzZXtjW2g+PjJdPWYrMTthW2ZdPS0xNztiPWNbaD4+
Ml18MDtjW2g+PjJdPWIrMTthW2JdPS02OTtiPWNbaD4+Ml18MDtjW2g+PjJdPWIrMTthW2JdPS02
NTticmVha319fXdoaWxlKDApO2Y9Y1tlPj4yXXwwO2lmKCEoZj4+PjA8ZD4+PjApKXttPTA7aT1s
O3JldHVybiBtfDB9az1nO2c9ZjthOndoaWxlKDEpe2Y9Y1tnPj4yXXwwO2lmKChmJi0yMDQ4fDAp
PT01NTI5NnxmPj4+MD5qPj4+MCl7bT0yO249MTk7YnJlYWt9ZG97aWYoIShmPj4+MDwxMjgpKXtp
ZihmPj4+MDwyMDQ4KXtiPWNbaD4+Ml18MDtpZigoay1ifDApPDIpe209MTtuPTE5O2JyZWFrIGF9
Y1toPj4yXT1iKzE7YVtiXT1mPj4+NnwxOTI7Yj1jW2g+PjJdfDA7Y1toPj4yXT1iKzE7YVtiXT1m
JjYzfDEyODticmVha31iPWNbaD4+Ml18MDtvPWstYnwwO2lmKGY+Pj4wPDY1NTM2KXtpZigob3ww
KTwzKXttPTE7bj0xOTticmVhayBhfWNbaD4+Ml09YisxO2FbYl09Zj4+PjEyfDIyNDtwPWNbaD4+
Ml18MDtjW2g+PjJdPXArMTthW3BdPWY+Pj42JjYzfDEyODtwPWNbaD4+Ml18MDtjW2g+PjJdPXAr
MTthW3BdPWYmNjN8MTI4O2JyZWFrfWVsc2V7aWYoKG98MCk8NCl7bT0xO249MTk7YnJlYWsgYX1j
W2g+PjJdPWIrMTthW2JdPWY+Pj4xOHwyNDA7Yj1jW2g+PjJdfDA7Y1toPj4yXT1iKzE7YVtiXT1m
Pj4+MTImNjN8MTI4O2I9Y1toPj4yXXwwO2NbaD4+Ml09YisxO2FbYl09Zj4+PjYmNjN8MTI4O2I9
Y1toPj4yXXwwO2NbaD4+Ml09YisxO2FbYl09ZiY2M3wxMjg7YnJlYWt9fWVsc2V7Yj1jW2g+PjJd
fDA7aWYoKGstYnwwKTwxKXttPTE7bj0xOTticmVhayBhfWNbaD4+Ml09YisxO2FbYl09Zn19d2hp
bGUoMCk7Zj0oY1tlPj4yXXwwKSs0fDA7Y1tlPj4yXT1mO2lmKGY+Pj4wPGQ+Pj4wKXtnPWZ9ZWxz
ZXttPTA7bj0xOTticmVha319aWYoKG58MCk9PTE5KXtpPWw7cmV0dXJuIG18MH1yZXR1cm4gMH1m
dW5jdGlvbiBNbShhLGIsZCxlLGYsZyxoLGope2E9YXwwO2I9YnwwO2Q9ZHwwO2U9ZXwwO2Y9Znww
O2c9Z3wwO2g9aHwwO2o9anwwO3ZhciBrPTAsbD0wO2I9aTtpPWkrMTZ8MDthPWIrNHwwO2s9Yjtj
W2E+PjJdPWQ7Y1trPj4yXT1nO2w9Tm0oZCxlLGEsZyxoLGssMTExNDExMSwwKXwwO2NbZj4+Ml09
ZCsoKGNbYT4+Ml18MCktZCk7Y1tqPj4yXT1nKygoY1trPj4yXXwwKS1nPj4yPDwyKTtpPWI7cmV0
dXJuIGx8MH1mdW5jdGlvbiBObShiLGUsZixnLGgsaixrLGwpe2I9YnwwO2U9ZXwwO2Y9ZnwwO2c9
Z3wwO2g9aHwwO2o9anwwO2s9a3wwO2w9bHwwO3ZhciBtPTAsbj0wLG89MCxwPTAscT0wLHI9MCxz
PTAsdD0wLHU9MCx2PTAsdz0wO209aTtjW2Y+PjJdPWI7Y1tqPj4yXT1nO2c9Y1tmPj4yXXwwO2lm
KCgoKChsJjR8MCkhPTA/KGUtZ3wwKT4yOjApPyhhW2ddfDApPT0tMTc6MCk/KGFbZysxfDBdfDAp
PT0tNjk6MCk/KGFbZysyfDBdfDApPT0tNjU6MCl7bD1nKzN8MDtjW2Y+PjJdPWw7bj1sfWVsc2V7
bj1nfWE6ZG97aWYobj4+PjA8ZT4+PjApe2c9ZTtsPWNbaj4+Ml18MDtiPW47d2hpbGUoMSl7aWYo
IShsPj4+MDxoPj4+MCkpe289YjtwPTM5O2JyZWFrIGF9cT1hW2JdfDA7cj1xJjI1NTtkb3tpZihx
PDwyND4+MjQ+LTEpe2lmKHI+Pj4wPms+Pj4wKXtzPTI7YnJlYWsgYX1jW2w+PjJdPXI7Y1tmPj4y
XT1iKzF9ZWxzZXtpZigocSYyNTUpPDE5NCl7cz0yO2JyZWFrIGF9aWYoKHEmMjU1KTwyMjQpe2lm
KChnLWJ8MCk8Mil7cz0xO2JyZWFrIGF9dD1kW2IrMXwwXXwwO2lmKCh0JjE5MnwwKSE9MTI4KXtz
PTI7YnJlYWsgYX11PXQmNjN8cjw8NiYxOTg0O2lmKHU+Pj4wPms+Pj4wKXtzPTI7YnJlYWsgYX1j
W2w+PjJdPXU7Y1tmPj4yXT1iKzI7YnJlYWt9aWYoKHEmMjU1KTwyNDApe2lmKChnLWJ8MCk8Myl7
cz0xO2JyZWFrIGF9dT1hW2IrMXwwXXwwO3Q9YVtiKzJ8MF18MDtpZigocnwwKT09MjI0KXtpZigh
KCh1Ji0zMik8PDI0Pj4yND09LTk2KSl7cz0yO2JyZWFrIGF9fWVsc2UgaWYoKHJ8MCk9PTIzNyl7
aWYoISgodSYtMzIpPDwyND4+MjQ9PS0xMjgpKXtzPTI7YnJlYWsgYX19ZWxzZXtpZighKCh1Ji02
NCk8PDI0Pj4yND09LTEyOCkpe3M9MjticmVhayBhfX12PXQmMjU1O2lmKCh2JjE5MnwwKSE9MTI4
KXtzPTI7YnJlYWsgYX10PSh1JjI1NSk8PDYmNDAzMnxyPDwxMiY2MTQ0MHx2JjYzO2lmKHQ+Pj4w
Pms+Pj4wKXtzPTI7YnJlYWsgYX1jW2w+PjJdPXQ7Y1tmPj4yXT1iKzM7YnJlYWt9aWYoISgocSYy
NTUpPDI0NSkpe3M9MjticmVhayBhfWlmKChnLWJ8MCk8NCl7cz0xO2JyZWFrIGF9dD1hW2IrMXww
XXwwO3Y9YVtiKzJ8MF18MDt1PWFbYiszfDBdfDA7aWYoKHJ8MCk9PTI0NCl7aWYoISgodCYtMTYp
PDwyND4+MjQ9PS0xMjgpKXtzPTI7YnJlYWsgYX19ZWxzZSBpZigocnwwKT09MjQwKXtpZighKCh0
KzExMjw8MjQ+PjI0JjI1NSk8NDgpKXtzPTI7YnJlYWsgYX19ZWxzZXtpZighKCh0Ji02NCk8PDI0
Pj4yND09LTEyOCkpe3M9MjticmVhayBhfX13PXYmMjU1O2lmKCh3JjE5MnwwKSE9MTI4KXtzPTI7
YnJlYWsgYX12PXUmMjU1O2lmKCh2JjE5MnwwKSE9MTI4KXtzPTI7YnJlYWsgYX11PSh0JjI1NSk8
PDEyJjI1ODA0OHxyPDwxOCYxODM1MDA4fHc8PDYmNDAzMnx2JjYzO2lmKHU+Pj4wPms+Pj4wKXtz
PTI7YnJlYWsgYX1jW2w+PjJdPXU7Y1tmPj4yXT1iKzR9fXdoaWxlKDApO3I9KGNbaj4+Ml18MCkr
NHwwO2Nbaj4+Ml09cjtxPWNbZj4+Ml18MDtpZihxPj4+MDxlPj4+MCl7bD1yO2I9cX1lbHNle289
cTtwPTM5O2JyZWFrfX19ZWxzZXtvPW47cD0zOX19d2hpbGUoMCk7aWYoKHB8MCk9PTM5KXtzPW8+
Pj4wPGU+Pj4wfDB9aT1tO3JldHVybiBzfDB9ZnVuY3Rpb24gT20oYSxiLGQsZSxmKXthPWF8MDti
PWJ8MDtkPWR8MDtlPWV8MDtmPWZ8MDtjW2Y+PjJdPWQ7cmV0dXJuIDN9ZnVuY3Rpb24gUG0oYSl7
YT1hfDA7cmV0dXJuIDB9ZnVuY3Rpb24gUW0oYSl7YT1hfDA7cmV0dXJuIDB9ZnVuY3Rpb24gUm0o
YSxiLGMsZCxlKXthPWF8MDtiPWJ8MDtjPWN8MDtkPWR8MDtlPWV8MDtiPWk7YT1TbShjLGQsZSwx
MTE0MTExLDApfDA7aT1iO3JldHVybiBhfDB9ZnVuY3Rpb24gU20oYixjLGUsZixnKXtiPWJ8MDtj
PWN8MDtlPWV8MDtmPWZ8MDtnPWd8MDt2YXIgaD0wLGo9MCxrPTAsbD0wLG09MCxuPTAsbz0wLHA9
MCxxPTAscj0wLHM9MCx0PTAsdT0wLHY9MCx3PTAseD0wO2g9aTtpZigoKChnJjR8MCkhPTA/KGMt
YnwwKT4yOjApPyhhW2JdfDApPT0tMTc6MCk/KGFbYisxfDBdfDApPT0tNjk6MCl7aj0oYVtiKzJ8
MF18MCk9PS02NT9iKzN8MDpifWVsc2V7aj1ifWE6ZG97aWYoaj4+PjA8Yz4+PjAmKGV8MCkhPTAp
e2c9YztrPWo7bD0xO2I6d2hpbGUoMSl7bT1hW2tdfDA7bj1tJjI1NTtkb3tpZihtPDwyND4+MjQ+
LTEpe2lmKG4+Pj4wPmY+Pj4wKXtvPWs7YnJlYWsgYX1wPWsrMXwwfWVsc2V7aWYoKG0mMjU1KTwx
OTQpe289azticmVhayBhfWlmKChtJjI1NSk8MjI0KXtpZigoZy1rfDApPDIpe289azticmVhayBh
fXE9ZFtrKzF8MF18MDtpZigocSYxOTJ8MCkhPTEyOCl7bz1rO2JyZWFrIGF9aWYoKHEmNjN8bjw8
NiYxOTg0KT4+PjA+Zj4+PjApe289azticmVhayBhfXA9aysyfDA7YnJlYWt9aWYoKG0mMjU1KTwy
NDApe3I9aztpZigoZy1yfDApPDMpe289azticmVhayBhfXE9YVtrKzF8MF18MDtzPWFbaysyfDBd
fDA7aWYoKG58MCk9PTIyNCl7aWYoISgocSYtMzIpPDwyND4+MjQ9PS05Nikpe3Q9MjE7YnJlYWsg
Yn19ZWxzZSBpZigobnwwKT09MjM3KXtpZighKChxJi0zMik8PDI0Pj4yND09LTEyOCkpe3Q9MjM7
YnJlYWsgYn19ZWxzZXtpZighKChxJi02NCk8PDI0Pj4yND09LTEyOCkpe3Q9MjU7YnJlYWsgYn19
dT1zJjI1NTtpZigodSYxOTJ8MCkhPTEyOCl7bz1rO2JyZWFrIGF9aWYoKChxJjI1NSk8PDYmNDAz
MnxuPDwxMiY2MTQ0MHx1JjYzKT4+PjA+Zj4+PjApe289azticmVhayBhfXA9ayszfDA7YnJlYWt9
aWYoISgobSYyNTUpPDI0NSkpe289azticmVhayBhfXY9aztpZigoZy12fDApPDQpe289azticmVh
ayBhfXU9YVtrKzF8MF18MDtxPWFbaysyfDBdfDA7cz1hW2srM3wwXXwwO2lmKChufDApPT0yNDAp
e2lmKCEoKHUrMTEyPDwyND4+MjQmMjU1KTw0OCkpe3Q9MzM7YnJlYWsgYn19ZWxzZSBpZigobnww
KT09MjQ0KXtpZighKCh1Ji0xNik8PDI0Pj4yND09LTEyOCkpe3Q9MzU7YnJlYWsgYn19ZWxzZXtp
ZighKCh1Ji02NCk8PDI0Pj4yND09LTEyOCkpe3Q9Mzc7YnJlYWsgYn19dz1xJjI1NTtpZigodyYx
OTJ8MCkhPTEyOCl7bz1rO2JyZWFrIGF9cT1zJjI1NTtpZigocSYxOTJ8MCkhPTEyOCl7bz1rO2Jy
ZWFrIGF9aWYoKCh1JjI1NSk8PDEyJjI1ODA0OHxuPDwxOCYxODM1MDA4fHc8PDYmNDAzMnxxJjYz
KT4+PjA+Zj4+PjApe289azticmVhayBhfXA9ays0fDB9fXdoaWxlKDApO2lmKCEocD4+PjA8Yz4+
PjAmbD4+PjA8ZT4+PjApKXtvPXA7YnJlYWsgYX1rPXA7bD1sKzF8MH1pZigodHwwKT09MjEpe3g9
ci1ifDA7aT1oO3JldHVybiB4fDB9ZWxzZSBpZigodHwwKT09MjMpe3g9ci1ifDA7aT1oO3JldHVy
biB4fDB9ZWxzZSBpZigodHwwKT09MjUpe3g9ci1ifDA7aT1oO3JldHVybiB4fDB9ZWxzZSBpZigo
dHwwKT09MzMpe3g9di1ifDA7aT1oO3JldHVybiB4fDB9ZWxzZSBpZigodHwwKT09MzUpe3g9di1i
fDA7aT1oO3JldHVybiB4fDB9ZWxzZSBpZigodHwwKT09Mzcpe3g9di1ifDA7aT1oO3JldHVybiB4
fDB9fWVsc2V7bz1qfX13aGlsZSgwKTt4PW8tYnwwO2k9aDtyZXR1cm4geHwwfWZ1bmN0aW9uIFRt
KGEpe2E9YXwwO3JldHVybiA0fWZ1bmN0aW9uIFVtKGEpe2E9YXwwO3ZhciBiPTA7Yj1pO0NvKGEp
O2k9YjtyZXR1cm59ZnVuY3Rpb24gVm0oYSl7YT1hfDA7dmFyIGI9MDtiPWk7Q28oYSk7aT1iO3Jl
dHVybn1mdW5jdGlvbiBXbShhKXthPWF8MDt2YXIgYj0wO2I9aTtjW2E+PjJdPTEyMTYwO2VnKGEr
MTJ8MCk7Q28oYSk7aT1iO3JldHVybn1mdW5jdGlvbiBYbShhKXthPWF8MDt2YXIgYj0wO2I9aTtj
W2E+PjJdPTEyMTYwO2VnKGErMTJ8MCk7aT1iO3JldHVybn1mdW5jdGlvbiBZbShhKXthPWF8MDt2
YXIgYj0wO2I9aTtjW2E+PjJdPTEyMjAwO2VnKGErMTZ8MCk7Q28oYSk7aT1iO3JldHVybn1mdW5j
dGlvbiBabShhKXthPWF8MDt2YXIgYj0wO2I9aTtjW2E+PjJdPTEyMjAwO2VnKGErMTZ8MCk7aT1i
O3JldHVybn1mdW5jdGlvbiBfbShiKXtiPWJ8MDtyZXR1cm4gYVtiKzh8MF18MH1mdW5jdGlvbiAk
bShhKXthPWF8MDtyZXR1cm4gY1thKzg+PjJdfDB9ZnVuY3Rpb24gYW4oYil7Yj1ifDA7cmV0dXJu
IGFbYis5fDBdfDB9ZnVuY3Rpb24gYm4oYSl7YT1hfDA7cmV0dXJuIGNbYSsxMj4+Ml18MH1mdW5j
dGlvbiBjbihhLGIpe2E9YXwwO2I9YnwwO3ZhciBjPTA7Yz1pO2JnKGEsYisxMnwwKTtpPWM7cmV0
dXJufWZ1bmN0aW9uIGRuKGEsYil7YT1hfDA7Yj1ifDA7dmFyIGM9MDtjPWk7YmcoYSxiKzE2fDAp
O2k9YztyZXR1cm59ZnVuY3Rpb24gZW4oYSxiKXthPWF8MDtiPWJ8MDtiPWk7Y2coYSwxMjIzMiw0
KTtpPWI7cmV0dXJufWZ1bmN0aW9uIGZuKGEsYil7YT1hfDA7Yj1ifDA7Yj1pO29nKGEsMTIyNDAs
V24oMTIyNDApfDApO2k9YjtyZXR1cm59ZnVuY3Rpb24gZ24oYSxiKXthPWF8MDtiPWJ8MDtiPWk7
Y2coYSwxMjI2NCw1KTtpPWI7cmV0dXJufWZ1bmN0aW9uIGhuKGEsYil7YT1hfDA7Yj1ifDA7Yj1p
O29nKGEsMTIyNzIsV24oMTIyNzIpfDApO2k9YjtyZXR1cm59ZnVuY3Rpb24gam4oYil7Yj1ifDA7
dmFyIGQ9MDtiPWk7aWYoKGFbMTIzMDRdfDApIT0wKXtkPWNbMzA3NF18MDtpPWI7cmV0dXJuIGR8
MH1pZigoSGEoMTIzMDQpfDApPT0wKXtkPWNbMzA3NF18MDtpPWI7cmV0dXJuIGR8MH1pZigoYVsx
OTUwNF18MCk9PTA/KEhhKDE5NTA0KXwwKSE9MDowKXtfbygxOTMzNiwwLDE2OCl8MDt0YygxMzgs
MCxwfDApfDA7aWIoMTk1MDQpfWdnKDE5MzM2LDE5NTEyKXwwO2dnKDE5MzQ4fDAsMTk1MjApfDA7
Z2coMTkzNjB8MCwxOTUyOCl8MDtnZygxOTM3MnwwLDE5NTM2KXwwO2dnKDE5Mzg0fDAsMTk1NTIp
fDA7Z2coMTkzOTZ8MCwxOTU2OCl8MDtnZygxOTQwOHwwLDE5NTc2KXwwO2dnKDE5NDIwfDAsMTk1
OTIpfDA7Z2coMTk0MzJ8MCwxOTYwMCl8MDtnZygxOTQ0NHwwLDE5NjA4KXwwO2dnKDE5NDU2fDAs
MTk2MTYpfDA7Z2coMTk0Njh8MCwxOTYyNCl8MDtnZygxOTQ4MHwwLDE5NjMyKXwwO2dnKDE5NDky
fDAsMTk2NDApfDA7Y1szMDc0XT0xOTMzNjtpYigxMjMwNCk7ZD1jWzMwNzRdfDA7aT1iO3JldHVy
biBkfDB9ZnVuY3Rpb24ga24oYil7Yj1ifDA7dmFyIGQ9MDtiPWk7aWYoKGFbMTIzMjBdfDApIT0w
KXtkPWNbMzA3OF18MDtpPWI7cmV0dXJuIGR8MH1pZigoSGEoMTIzMjApfDApPT0wKXtkPWNbMzA3
OF18MDtpPWI7cmV0dXJuIGR8MH1pZigoYVsxODk2OF18MCk9PTA/KEhhKDE4OTY4KXwwKSE9MDow
KXtfbygxODgwMCwwLDE2OCl8MDt0YygxMzksMCxwfDApfDA7aWIoMTg5NjgpfXJnKDE4ODAwLDE4
OTc2KXwwO3JnKDE4ODEyfDAsMTkwMDgpfDA7cmcoMTg4MjR8MCwxOTA0MCl8MDtyZygxODgzNnww
LDE5MDcyKXwwO3JnKDE4ODQ4fDAsMTkxMTIpfDA7cmcoMTg4NjB8MCwxOTE1Mil8MDtyZygxODg3
MnwwLDE5MTg0KXwwO3JnKDE4ODg0fDAsMTkyMjQpfDA7cmcoMTg4OTZ8MCwxOTI0MCl8MDtyZygx
ODkwOHwwLDE5MjU2KXwwO3JnKDE4OTIwfDAsMTkyNzIpfDA7cmcoMTg5MzJ8MCwxOTI4OCl8MDty
ZygxODk0NHwwLDE5MzA0KXwwO3JnKDE4OTU2fDAsMTkzMjApfDA7Y1szMDc4XT0xODgwMDtpYigx
MjMyMCk7ZD1jWzMwNzhdfDA7aT1iO3JldHVybiBkfDB9ZnVuY3Rpb24gbG4oYil7Yj1ifDA7dmFy
IGQ9MDtiPWk7aWYoKGFbMTIzMzZdfDApIT0wKXtkPWNbMzA4Ml18MDtpPWI7cmV0dXJuIGR8MH1p
ZigoSGEoMTIzMzYpfDApPT0wKXtkPWNbMzA4Ml18MDtpPWI7cmV0dXJuIGR8MH1pZigoYVsxODU3
Nl18MCk9PTA/KEhhKDE4NTc2KXwwKSE9MDowKXtfbygxODI4OCwwLDI4OCl8MDt0YygxNDAsMCxw
fDApfDA7aWIoMTg1NzYpfWdnKDE4Mjg4LDE4NTg0KXwwO2dnKDE4MzAwfDAsMTg1OTIpfDA7Z2co
MTgzMTJ8MCwxODYwOCl8MDtnZygxODMyNHwwLDE4NjE2KXwwO2dnKDE4MzM2fDAsMTg2MjQpfDA7
Z2coMTgzNDh8MCwxODYzMil8MDtnZygxODM2MHwwLDE4NjQwKXwwO2dnKDE4MzcyfDAsMTg2NDgp
fDA7Z2coMTgzODR8MCwxODY1Nil8MDtnZygxODM5NnwwLDE4NjcyKXwwO2dnKDE4NDA4fDAsMTg2
ODApfDA7Z2coMTg0MjB8MCwxODY5Nil8MDtnZygxODQzMnwwLDE4NzEyKXwwO2dnKDE4NDQ0fDAs
MTg3MjApfDA7Z2coMTg0NTZ8MCwxODcyOCl8MDtnZygxODQ2OHwwLDE4NzM2KXwwO2dnKDE4NDgw
fDAsMTg2MjQpfDA7Z2coMTg0OTJ8MCwxODc0NCl8MDtnZygxODUwNHwwLDE4NzUyKXwwO2dnKDE4
NTE2fDAsMTg3NjApfDA7Z2coMTg1Mjh8MCwxODc2OCl8MDtnZygxODU0MHwwLDE4Nzc2KXwwO2dn
KDE4NTUyfDAsMTg3ODQpfDA7Z2coMTg1NjR8MCwxODc5Mil8MDtjWzMwODJdPTE4Mjg4O2liKDEy
MzM2KTtkPWNbMzA4Ml18MDtpPWI7cmV0dXJuIGR8MH1mdW5jdGlvbiBtbihiKXtiPWJ8MDt2YXIg
ZD0wO2I9aTtpZigoYVsxMjM1Ml18MCkhPTApe2Q9Y1szMDg2XXwwO2k9YjtyZXR1cm4gZHwwfWlm
KChIYSgxMjM1Mil8MCk9PTApe2Q9Y1szMDg2XXwwO2k9YjtyZXR1cm4gZHwwfWlmKChhWzE3NzM2
XXwwKT09MD8oSGEoMTc3MzYpfDApIT0wOjApe19vKDE3NDQ4LDAsMjg4KXwwO3RjKDE0MSwwLHB8
MCl8MDtpYigxNzczNil9cmcoMTc0NDgsMTc3NDQpfDA7cmcoMTc0NjB8MCwxNzc3Nil8MDtyZygx
NzQ3MnwwLDE3ODE2KXwwO3JnKDE3NDg0fDAsMTc4NDApfDA7cmcoMTc0OTZ8MCwxODE2MCl8MDty
ZygxNzUwOHwwLDE3ODY0KXwwO3JnKDE3NTIwfDAsMTc4ODgpfDA7cmcoMTc1MzJ8MCwxNzkxMil8
MDtyZygxNzU0NHwwLDE3OTQ0KXwwO3JnKDE3NTU2fDAsMTc5ODQpfDA7cmcoMTc1Njh8MCwxODAx
Nil8MDtyZygxNzU4MHwwLDE4MDU2KXwwO3JnKDE3NTkyfDAsMTgwOTYpfDA7cmcoMTc2MDR8MCwx
ODExMil8MDtyZygxNzYxNnwwLDE4MTI4KXwwO3JnKDE3NjI4fDAsMTgxNDQpfDA7cmcoMTc2NDB8
MCwxODE2MCl8MDtyZygxNzY1MnwwLDE4MTc2KXwwO3JnKDE3NjY0fDAsMTgxOTIpfDA7cmcoMTc2
NzZ8MCwxODIwOCl8MDtyZygxNzY4OHwwLDE4MjI0KXwwO3JnKDE3NzAwfDAsMTgyNDApfDA7cmco
MTc3MTJ8MCwxODI1Nil8MDtyZygxNzcyNHwwLDE4MjcyKXwwO2NbMzA4Nl09MTc0NDg7aWIoMTIz
NTIpO2Q9Y1szMDg2XXwwO2k9YjtyZXR1cm4gZHwwfWZ1bmN0aW9uIG5uKGIpe2I9YnwwO3ZhciBk
PTA7Yj1pO2lmKChhWzEyMzY4XXwwKSE9MCl7ZD1jWzMwOTBdfDA7aT1iO3JldHVybiBkfDB9aWYo
KEhhKDEyMzY4KXwwKT09MCl7ZD1jWzMwOTBdfDA7aT1iO3JldHVybiBkfDB9aWYoKGFbMTc0MjRd
fDApPT0wPyhIYSgxNzQyNCl8MCkhPTA6MCl7X28oMTcxMzYsMCwyODgpfDA7dGMoMTQyLDAscHww
KXwwO2liKDE3NDI0KX1nZygxNzEzNiwxNzQzMil8MDtnZygxNzE0OHwwLDE3NDQwKXwwO2NbMzA5
MF09MTcxMzY7aWIoMTIzNjgpO2Q9Y1szMDkwXXwwO2k9YjtyZXR1cm4gZHwwfWZ1bmN0aW9uIG9u
KGIpe2I9YnwwO3ZhciBkPTA7Yj1pO2lmKChhWzEyMzg0XXwwKSE9MCl7ZD1jWzMwOTRdfDA7aT1i
O3JldHVybiBkfDB9aWYoKEhhKDEyMzg0KXwwKT09MCl7ZD1jWzMwOTRdfDA7aT1iO3JldHVybiBk
fDB9aWYoKGFbMTcwOTZdfDApPT0wPyhIYSgxNzA5Nil8MCkhPTA6MCl7X28oMTY4MDgsMCwyODgp
fDA7dGMoMTQzLDAscHwwKXwwO2liKDE3MDk2KX1yZygxNjgwOCwxNzEwNCl8MDtyZygxNjgyMHww
LDE3MTIwKXwwO2NbMzA5NF09MTY4MDg7aWIoMTIzODQpO2Q9Y1szMDk0XXwwO2k9YjtyZXR1cm4g
ZHwwfWZ1bmN0aW9uIHBuKGIpe2I9YnwwO2I9aTtpZigoYVsxMjQwOF18MCk9PTA/KEhhKDEyNDA4
KXwwKSE9MDowKXtjZygxMjM5MiwxMjQxNiw4KTt0YygxNDQsMTIzOTIscHwwKXwwO2liKDEyNDA4
KX1pPWI7cmV0dXJuIDEyMzkyfWZ1bmN0aW9uIHFuKGIpe2I9YnwwO2I9aTtpZigoYVsxMjQ0OF18
MCkhPTApe2k9YjtyZXR1cm4gMTI0MzJ9aWYoKEhhKDEyNDQ4KXwwKT09MCl7aT1iO3JldHVybiAx
MjQzMn1vZygxMjQzMiwxMjQ1NixXbigxMjQ1Nil8MCk7dGMoMTQ1LDEyNDMyLHB8MCl8MDtpYigx
MjQ0OCk7aT1iO3JldHVybiAxMjQzMn1mdW5jdGlvbiBybihiKXtiPWJ8MDtiPWk7aWYoKGFbMTI1
MTJdfDApPT0wPyhIYSgxMjUxMil8MCkhPTA6MCl7Y2coMTI0OTYsMTI1MjAsOCk7dGMoMTQ0LDEy
NDk2LHB8MCl8MDtpYigxMjUxMil9aT1iO3JldHVybiAxMjQ5Nn1mdW5jdGlvbiBzbihiKXtiPWJ8
MDtiPWk7aWYoKGFbMTI1NTJdfDApIT0wKXtpPWI7cmV0dXJuIDEyNTM2fWlmKChIYSgxMjU1Mil8
MCk9PTApe2k9YjtyZXR1cm4gMTI1MzZ9b2coMTI1MzYsMTI1NjAsV24oMTI1NjApfDApO3RjKDE0
NSwxMjUzNixwfDApfDA7aWIoMTI1NTIpO2k9YjtyZXR1cm4gMTI1MzZ9ZnVuY3Rpb24gdG4oYil7
Yj1ifDA7Yj1pO2lmKChhWzEyNjE2XXwwKT09MD8oSGEoMTI2MTYpfDApIT0wOjApe2NnKDEyNjAw
LDEyNjI0LDIwKTt0YygxNDQsMTI2MDAscHwwKXwwO2liKDEyNjE2KX1pPWI7cmV0dXJuIDEyNjAw
fWZ1bmN0aW9uIHVuKGIpe2I9YnwwO2I9aTtpZigoYVsxMjY2NF18MCkhPTApe2k9YjtyZXR1cm4g
MTI2NDh9aWYoKEhhKDEyNjY0KXwwKT09MCl7aT1iO3JldHVybiAxMjY0OH1vZygxMjY0OCwxMjY3
MixXbigxMjY3Mil8MCk7dGMoMTQ1LDEyNjQ4LHB8MCl8MDtpYigxMjY2NCk7aT1iO3JldHVybiAx
MjY0OH1mdW5jdGlvbiB2bihiKXtiPWJ8MDtiPWk7aWYoKGFbMTI3NzZdfDApPT0wPyhIYSgxMjc3
Nil8MCkhPTA6MCl7Y2coMTI3NjAsMTI3ODQsMTEpO3RjKDE0NCwxMjc2MCxwfDApfDA7aWIoMTI3
NzYpfWk9YjtyZXR1cm4gMTI3NjB9ZnVuY3Rpb24gd24oYil7Yj1ifDA7Yj1pO2lmKChhWzEyODE2
XXwwKSE9MCl7aT1iO3JldHVybiAxMjgwMH1pZigoSGEoMTI4MTYpfDApPT0wKXtpPWI7cmV0dXJu
IDEyODAwfW9nKDEyODAwLDEyODI0LFduKDEyODI0KXwwKTt0YygxNDUsMTI4MDAscHwwKXwwO2li
KDEyODE2KTtpPWI7cmV0dXJuIDEyODAwfWZ1bmN0aW9uIHhuKGIsZCxlKXtiPWJ8MDtkPWR8MDtl
PWV8MDt2YXIgZj0wLGc9MCxoPTAuMCxqPTAsaz0wLGw9MC4wO2Y9aTtpPWkrMTZ8MDtnPWY7aWYo
KGJ8MCk9PShkfDApKXtjW2U+PjJdPTQ7aD0wLjA7aT1mO3JldHVybitofWo9bWMoKXwwO2s9Y1tq
Pj4yXXwwO2Nbaj4+Ml09MDtpZigoYVsxMTg4OF18MCk9PTA/KEhhKDExODg4KXwwKSE9MDowKXtj
WzI5NzBdPWxiKDIxNDc0ODM2NDcsMTE4OTYsMCl8MDtpYigxMTg4OCl9bD0rUW8oYixnLGNbMjk3
MF18MCk7Yj1jW2o+PjJdfDA7aWYoKGJ8MCk9PTApe2Nbaj4+Ml09a31pZigoY1tnPj4yXXwwKSE9
KGR8MCkpe2NbZT4+Ml09NDtoPTAuMDtpPWY7cmV0dXJuK2h9aWYoKGJ8MCkhPTM0KXtoPWw7aT1m
O3JldHVybitofWNbZT4+Ml09NDtoPWw7aT1mO3JldHVybitofWZ1bmN0aW9uIHluKGIsZCxlKXti
PWJ8MDtkPWR8MDtlPWV8MDt2YXIgZj0wLGc9MCxoPTAuMCxqPTAsaz0wLGw9MC4wO2Y9aTtpPWkr
MTZ8MDtnPWY7aWYoKGJ8MCk9PShkfDApKXtjW2U+PjJdPTQ7aD0wLjA7aT1mO3JldHVybitofWo9
bWMoKXwwO2s9Y1tqPj4yXXwwO2Nbaj4+Ml09MDtpZigoYVsxMTg4OF18MCk9PTA/KEhhKDExODg4
KXwwKSE9MDowKXtjWzI5NzBdPWxiKDIxNDc0ODM2NDcsMTE4OTYsMCl8MDtpYigxMTg4OCl9bD0r
UW8oYixnLGNbMjk3MF18MCk7Yj1jW2o+PjJdfDA7aWYoKGJ8MCk9PTApe2Nbaj4+Ml09a31pZigo
Y1tnPj4yXXwwKSE9KGR8MCkpe2NbZT4+Ml09NDtoPTAuMDtpPWY7cmV0dXJuK2h9aWYoKGJ8MCkh
PTM0KXtoPWw7aT1mO3JldHVybitofWNbZT4+Ml09NDtoPWw7aT1mO3JldHVybitofWZ1bmN0aW9u
IHpuKGIsZCxlKXtiPWJ8MDtkPWR8MDtlPWV8MDt2YXIgZj0wLGc9MCxoPTAuMCxqPTAsaz0wLGw9
MC4wO2Y9aTtpPWkrMTZ8MDtnPWY7aWYoKGJ8MCk9PShkfDApKXtjW2U+PjJdPTQ7aD0wLjA7aT1m
O3JldHVybitofWo9bWMoKXwwO2s9Y1tqPj4yXXwwO2Nbaj4+Ml09MDtpZigoYVsxMTg4OF18MCk9
PTA/KEhhKDExODg4KXwwKSE9MDowKXtjWzI5NzBdPWxiKDIxNDc0ODM2NDcsMTE4OTYsMCl8MDtp
YigxMTg4OCl9bD0rUW8oYixnLGNbMjk3MF18MCk7Yj1jW2o+PjJdfDA7aWYoKGJ8MCk9PTApe2Nb
aj4+Ml09a31pZigoY1tnPj4yXXwwKSE9KGR8MCkpe2NbZT4+Ml09NDtoPTAuMDtpPWY7cmV0dXJu
K2h9aWYoKGJ8MCk9PTM0KXtjW2U+PjJdPTR9aD1sO2k9ZjtyZXR1cm4raH1mdW5jdGlvbiBBbihi
LGQsZSxmKXtiPWJ8MDtkPWR8MDtlPWV8MDtmPWZ8MDt2YXIgZz0wLGg9MCxqPTAsaz0wLGw9MCxt
PTAsbj0wLG89MDtnPWk7aT1pKzE2fDA7aD1nO2Rve2lmKChifDApIT0oZHwwKSl7aWYoKGFbYl18
MCk9PTQ1KXtjW2U+PjJdPTQ7aj0wO2s9MDticmVha31sPW1jKCl8MDttPWNbbD4+Ml18MDtjW2w+
PjJdPTA7aWYoKGFbMTE4ODhdfDApPT0wPyhIYSgxMTg4OCl8MCkhPTA6MCl7Y1syOTcwXT1sYigy
MTQ3NDgzNjQ3LDExODk2LDApfDA7aWIoMTE4ODgpfW49dWIoYnwwLGh8MCxmfDAsY1syOTcwXXww
KXwwO289Y1tsPj4yXXwwO2lmKChvfDApPT0wKXtjW2w+PjJdPW19aWYoKGNbaD4+Ml18MCkhPShk
fDApKXtjW2U+PjJdPTQ7aj0wO2s9MDticmVha31pZigob3wwKT09MzQpe2NbZT4+Ml09NDtqPS0x
O2s9LTF9ZWxzZXtqPUk7az1ufX1lbHNle2NbZT4+Ml09NDtqPTA7az0wfX13aGlsZSgwKTtJPWo7
aT1nO3JldHVybiBrfDB9ZnVuY3Rpb24gQm4oYixkLGUsZil7Yj1ifDA7ZD1kfDA7ZT1lfDA7Zj1m
fDA7dmFyIGc9MCxoPTAsaj0wLGs9MCxsPTAsbT0wO2c9aTtpPWkrMTZ8MDtoPWc7aWYoKGJ8MCk9
PShkfDApKXtjW2U+PjJdPTQ7aj0wO2k9ZztyZXR1cm4ganwwfWlmKChhW2JdfDApPT00NSl7Y1tl
Pj4yXT00O2o9MDtpPWc7cmV0dXJuIGp8MH1rPW1jKCl8MDtsPWNbaz4+Ml18MDtjW2s+PjJdPTA7
aWYoKGFbMTE4ODhdfDApPT0wPyhIYSgxMTg4OCl8MCkhPTA6MCl7Y1syOTcwXT1sYigyMTQ3NDgz
NjQ3LDExODk2LDApfDA7aWIoMTE4ODgpfW09dWIoYnwwLGh8MCxmfDAsY1syOTcwXXwwKXwwO2Y9
STtiPWNbaz4+Ml18MDtpZigoYnwwKT09MCl7Y1trPj4yXT1sfWlmKChjW2g+PjJdfDApIT0oZHww
KSl7Y1tlPj4yXT00O2o9MDtpPWc7cmV0dXJuIGp8MH1pZigoYnwwKT09MzR8KGY+Pj4wPjB8KGZ8
MCk9PTAmbT4+PjA+NDI5NDk2NzI5NSkpe2NbZT4+Ml09NDtqPS0xO2k9ZztyZXR1cm4ganwwfWVs
c2V7aj1tO2k9ZztyZXR1cm4ganwwfXJldHVybiAwfWZ1bmN0aW9uIENuKGIsZCxlLGYpe2I9Ynww
O2Q9ZHwwO2U9ZXwwO2Y9ZnwwO3ZhciBnPTAsaD0wLGo9MCxrPTAsbD0wLG09MDtnPWk7aT1pKzE2
fDA7aD1nO2lmKChifDApPT0oZHwwKSl7Y1tlPj4yXT00O2o9MDtpPWc7cmV0dXJuIGp8MH1pZigo
YVtiXXwwKT09NDUpe2NbZT4+Ml09NDtqPTA7aT1nO3JldHVybiBqfDB9az1tYygpfDA7bD1jW2s+
PjJdfDA7Y1trPj4yXT0wO2lmKChhWzExODg4XXwwKT09MD8oSGEoMTE4ODgpfDApIT0wOjApe2Nb
Mjk3MF09bGIoMjE0NzQ4MzY0NywxMTg5NiwwKXwwO2liKDExODg4KX1tPXViKGJ8MCxofDAsZnww
LGNbMjk3MF18MCl8MDtmPUk7Yj1jW2s+PjJdfDA7aWYoKGJ8MCk9PTApe2Nbaz4+Ml09bH1pZigo
Y1toPj4yXXwwKSE9KGR8MCkpe2NbZT4+Ml09NDtqPTA7aT1nO3JldHVybiBqfDB9aWYoKGJ8MCk9
PTM0fChmPj4+MD4wfChmfDApPT0wJm0+Pj4wPjQyOTQ5NjcyOTUpKXtjW2U+PjJdPTQ7aj0tMTtp
PWc7cmV0dXJuIGp8MH1lbHNle2o9bTtpPWc7cmV0dXJuIGp8MH1yZXR1cm4gMH1mdW5jdGlvbiBE
bihiLGQsZSxmKXtiPWJ8MDtkPWR8MDtlPWV8MDtmPWZ8MDt2YXIgZz0wLGg9MCxqPTAsaz0wLGw9
MCxtPTA7Zz1pO2k9aSsxNnwwO2g9ZztpZigoYnwwKT09KGR8MCkpe2NbZT4+Ml09NDtqPTA7aT1n
O3JldHVybiBqfDB9aWYoKGFbYl18MCk9PTQ1KXtjW2U+PjJdPTQ7aj0wO2k9ZztyZXR1cm4ganww
fWs9bWMoKXwwO2w9Y1trPj4yXXwwO2Nbaz4+Ml09MDtpZigoYVsxMTg4OF18MCk9PTA/KEhhKDEx
ODg4KXwwKSE9MDowKXtjWzI5NzBdPWxiKDIxNDc0ODM2NDcsMTE4OTYsMCl8MDtpYigxMTg4OCl9
bT11YihifDAsaHwwLGZ8MCxjWzI5NzBdfDApfDA7Zj1JO2I9Y1trPj4yXXwwO2lmKChifDApPT0w
KXtjW2s+PjJdPWx9aWYoKGNbaD4+Ml18MCkhPShkfDApKXtjW2U+PjJdPTQ7aj0wO2k9ZztyZXR1
cm4ganwwfWlmKChifDApPT0zNHwoZj4+PjA+MHwoZnwwKT09MCZtPj4+MD42NTUzNSkpe2NbZT4+
Ml09NDtqPS0xO2k9ZztyZXR1cm4ganwwfWVsc2V7aj1tJjY1NTM1O2k9ZztyZXR1cm4ganwwfXJl
dHVybiAwfWZ1bmN0aW9uIEVuKGIsZCxlLGYpe2I9YnwwO2Q9ZHwwO2U9ZXwwO2Y9ZnwwO3ZhciBn
PTAsaD0wLGo9MCxrPTAsbD0wLG09MCxuPTA7Zz1pO2k9aSsxNnwwO2g9ZztpZigoYnwwKT09KGR8
MCkpe2NbZT4+Ml09NDtqPTA7az0wO0k9ajtpPWc7cmV0dXJuIGt8MH1sPW1jKCl8MDttPWNbbD4+
Ml18MDtjW2w+PjJdPTA7aWYoKGFbMTE4ODhdfDApPT0wPyhIYSgxMTg4OCl8MCkhPTA6MCl7Y1sy
OTcwXT1sYigyMTQ3NDgzNjQ3LDExODk2LDApfDA7aWIoMTE4ODgpfW49JGEoYnwwLGh8MCxmfDAs
Y1syOTcwXXwwKXwwO2Y9STtiPWNbbD4+Ml18MDtpZigoYnwwKT09MCl7Y1tsPj4yXT1tfWlmKChj
W2g+PjJdfDApIT0oZHwwKSl7Y1tlPj4yXT00O2o9MDtrPTA7ST1qO2k9ZztyZXR1cm4ga3wwfWlm
KChifDApPT0zNCl7Y1tlPj4yXT00O2U9KGZ8MCk+MHwoZnwwKT09MCZuPj4+MD4wO0k9ZT8yMTQ3
NDgzNjQ3Oi0yMTQ3NDgzNjQ4O2k9ZztyZXR1cm4oZT8tMTowKXwwfWVsc2V7aj1mO2s9bjtJPWo7
aT1nO3JldHVybiBrfDB9cmV0dXJuIDB9ZnVuY3Rpb24gRm4oYixkLGUsZil7Yj1ifDA7ZD1kfDA7
ZT1lfDA7Zj1mfDA7dmFyIGc9MCxoPTAsaj0wLGs9MCxsPTAsbT0wO2c9aTtpPWkrMTZ8MDtoPWc7
aWYoKGJ8MCk9PShkfDApKXtjW2U+PjJdPTQ7aj0wO2k9ZztyZXR1cm4ganwwfWs9bWMoKXwwO2w9
Y1trPj4yXXwwO2Nbaz4+Ml09MDtpZigoYVsxMTg4OF18MCk9PTA/KEhhKDExODg4KXwwKSE9MDow
KXtjWzI5NzBdPWxiKDIxNDc0ODM2NDcsMTE4OTYsMCl8MDtpYigxMTg4OCl9bT0kYShifDAsaHww
LGZ8MCxjWzI5NzBdfDApfDA7Zj1JO2I9Y1trPj4yXXwwO2lmKChifDApPT0wKXtjW2s+PjJdPWx9
aWYoKGNbaD4+Ml18MCkhPShkfDApKXtjW2U+PjJdPTQ7aj0wO2k9ZztyZXR1cm4ganwwfWRve2lm
KChifDApPT0zNCl7Y1tlPj4yXT00O2lmKChmfDApPjB8KGZ8MCk9PTAmbT4+PjA+MCl7aj0yMTQ3
NDgzNjQ3O2k9ZztyZXR1cm4ganwwfX1lbHNle2lmKChmfDApPC0xfChmfDApPT0tMSZtPj4+MDwy
MTQ3NDgzNjQ4KXtjW2U+PjJdPTQ7YnJlYWt9aWYoKGZ8MCk+MHwoZnwwKT09MCZtPj4+MD4yMTQ3
NDgzNjQ3KXtjW2U+PjJdPTQ7aj0yMTQ3NDgzNjQ3O2k9ZztyZXR1cm4ganwwfWVsc2V7aj1tO2k9
ZztyZXR1cm4ganwwfX19d2hpbGUoMCk7aj0tMjE0NzQ4MzY0ODtpPWc7cmV0dXJuIGp8MH1mdW5j
dGlvbiBHbihhKXthPWF8MDt2YXIgYj0wLGU9MCxmPTAsZz0wLGg9MDtiPWk7ZT1hKzR8MDtmPWRb
ZV18ZFtlKzF8MF08PDh8ZFtlKzJ8MF08PDE2fGRbZSszfDBdPDwyNDtnPWUrNHwwO2U9ZFtnXXxk
W2crMXwwXTw8OHxkW2crMnwwXTw8MTZ8ZFtnKzN8MF08PDI0O2c9KGNbYT4+Ml18MCkrKGU+PjEp
fDA7aWYoKGUmMXwwKT09MCl7aD1mO0FjW2gmMjU1XShnKTtpPWI7cmV0dXJufWVsc2V7aD1jWyhj
W2c+PjJdfDApK2Y+PjJdfDA7QWNbaCYyNTVdKGcpO2k9YjtyZXR1cm59fWZ1bmN0aW9uIEhuKGIs
ZCl7Yj1ifDA7ZD1kfDA7dmFyIGU9MCxmPTAsZz0wLGg9MCxqPTAsaz0wLGw9MCxtPTAsbj0wLG89
MCxwPTAscT0wLHI9MCxzPTA7ZT1pO2Y9Yis4fDA7Zz1iKzR8MDtoPWNbZz4+Ml18MDtqPWNbZj4+
Ml18MDtrPWg7aWYoIShqLWs+PjI+Pj4wPGQ+Pj4wKSl7bD1kO209aDtkb3tpZigobXwwKT09MCl7
bj0wfWVsc2V7Y1ttPj4yXT0wO249Y1tnPj4yXXwwfW09bis0fDA7Y1tnPj4yXT1tO2w9bCsgLTF8
MH13aGlsZSgobHwwKSE9MCk7aT1lO3JldHVybn1sPWIrMTZ8MDttPWNbYj4+Ml18MDtuPWstbT4+
MjtrPW4rZHwwO2lmKGs+Pj4wPjEwNzM3NDE4MjMpe0FsKDApfWg9ai1tfDA7aWYoaD4+Mj4+PjA8
NTM2ODcwOTExKXttPWg+PjE7aD1tPj4+MDxrPj4+MD9rOm07aWYoKGh8MCkhPTApe209YisxMjh8
MDtpZigoYVttXXwwKT09MCZoPj4+MDwyOSl7YVttXT0xO289aDtwPWx9ZWxzZXtxPWg7cj0xMX19
ZWxzZXtvPTA7cD0wfX1lbHNle3E9MTA3Mzc0MTgyMztyPTExfWlmKChyfDApPT0xMSl7bz1xO3A9
QW8ocTw8Mil8MH1xPWQ7ZD1wKyhuPDwyKXwwO2Rve2lmKChkfDApPT0wKXtzPTB9ZWxzZXtjW2Q+
PjJdPTA7cz1kfWQ9cys0fDA7cT1xKyAtMXwwfXdoaWxlKChxfDApIT0wKTtxPWNbYj4+Ml18MDtz
PShjW2c+PjJdfDApLXF8MDtyPXArKG4tKHM+PjIpPDwyKXwwO1hvKHJ8MCxxfDAsc3wwKXwwO2Nb
Yj4+Ml09cjtjW2c+PjJdPWQ7Y1tmPj4yXT1wKyhvPDwyKTtpZigocXwwKT09MCl7aT1lO3JldHVy
bn1pZigobHwwKT09KHF8MCkpe2FbYisxMjh8MF09MDtpPWU7cmV0dXJufWVsc2V7Q28ocSk7aT1l
O3JldHVybn19ZnVuY3Rpb24gSW4oYSl7YT1hfDA7YT1pO3FnKDE3MDg0fDApO3FnKDE3MDcyfDAp
O3FnKDE3MDYwfDApO3FnKDE3MDQ4fDApO3FnKDE3MDM2fDApO3FnKDE3MDI0fDApO3FnKDE3MDEy
fDApO3FnKDE3ZTN8MCk7cWcoMTY5ODh8MCk7cWcoMTY5NzZ8MCk7cWcoMTY5NjR8MCk7cWcoMTY5
NTJ8MCk7cWcoMTY5NDB8MCk7cWcoMTY5Mjh8MCk7cWcoMTY5MTZ8MCk7cWcoMTY5MDR8MCk7cWco
MTY4OTJ8MCk7cWcoMTY4ODB8MCk7cWcoMTY4Njh8MCk7cWcoMTY4NTZ8MCk7cWcoMTY4NDR8MCk7
cWcoMTY4MzJ8MCk7cWcoMTY4MjB8MCk7cWcoMTY4MDgpO2k9YTtyZXR1cm59ZnVuY3Rpb24gSm4o
YSl7YT1hfDA7YT1pO2VnKDE3NDEyfDApO2VnKDE3NDAwfDApO2VnKDE3Mzg4fDApO2VnKDE3Mzc2
fDApO2VnKDE3MzY0fDApO2VnKDE3MzUyfDApO2VnKDE3MzQwfDApO2VnKDE3MzI4fDApO2VnKDE3
MzE2fDApO2VnKDE3MzA0fDApO2VnKDE3MjkyfDApO2VnKDE3MjgwfDApO2VnKDE3MjY4fDApO2Vn
KDE3MjU2fDApO2VnKDE3MjQ0fDApO2VnKDE3MjMyfDApO2VnKDE3MjIwfDApO2VnKDE3MjA4fDAp
O2VnKDE3MTk2fDApO2VnKDE3MTg0fDApO2VnKDE3MTcyfDApO2VnKDE3MTYwfDApO2VnKDE3MTQ4
fDApO2VnKDE3MTM2KTtpPWE7cmV0dXJufWZ1bmN0aW9uIEtuKGEpe2E9YXwwO2E9aTtxZygxNzcy
NHwwKTtxZygxNzcxMnwwKTtxZygxNzcwMHwwKTtxZygxNzY4OHwwKTtxZygxNzY3NnwwKTtxZygx
NzY2NHwwKTtxZygxNzY1MnwwKTtxZygxNzY0MHwwKTtxZygxNzYyOHwwKTtxZygxNzYxNnwwKTtx
ZygxNzYwNHwwKTtxZygxNzU5MnwwKTtxZygxNzU4MHwwKTtxZygxNzU2OHwwKTtxZygxNzU1Nnww
KTtxZygxNzU0NHwwKTtxZygxNzUzMnwwKTtxZygxNzUyMHwwKTtxZygxNzUwOHwwKTtxZygxNzQ5
NnwwKTtxZygxNzQ4NHwwKTtxZygxNzQ3MnwwKTtxZygxNzQ2MHwwKTtxZygxNzQ0OCk7aT1hO3Jl
dHVybn1mdW5jdGlvbiBMbihhKXthPWF8MDthPWk7ZWcoMTg1NjR8MCk7ZWcoMTg1NTJ8MCk7ZWco
MTg1NDB8MCk7ZWcoMTg1Mjh8MCk7ZWcoMTg1MTZ8MCk7ZWcoMTg1MDR8MCk7ZWcoMTg0OTJ8MCk7
ZWcoMTg0ODB8MCk7ZWcoMTg0Njh8MCk7ZWcoMTg0NTZ8MCk7ZWcoMTg0NDR8MCk7ZWcoMTg0MzJ8
MCk7ZWcoMTg0MjB8MCk7ZWcoMTg0MDh8MCk7ZWcoMTgzOTZ8MCk7ZWcoMTgzODR8MCk7ZWcoMTgz
NzJ8MCk7ZWcoMTgzNjB8MCk7ZWcoMTgzNDh8MCk7ZWcoMTgzMzZ8MCk7ZWcoMTgzMjR8MCk7ZWco
MTgzMTJ8MCk7ZWcoMTgzMDB8MCk7ZWcoMTgyODgpO2k9YTtyZXR1cm59ZnVuY3Rpb24gTW4oYSl7
YT1hfDA7YT1pO3FnKDE4OTU2fDApO3FnKDE4OTQ0fDApO3FnKDE4OTMyfDApO3FnKDE4OTIwfDAp
O3FnKDE4OTA4fDApO3FnKDE4ODk2fDApO3FnKDE4ODg0fDApO3FnKDE4ODcyfDApO3FnKDE4ODYw
fDApO3FnKDE4ODQ4fDApO3FnKDE4ODM2fDApO3FnKDE4ODI0fDApO3FnKDE4ODEyfDApO3FnKDE4
ODAwKTtpPWE7cmV0dXJufWZ1bmN0aW9uIE5uKGEpe2E9YXwwO2E9aTtlZygxOTQ5MnwwKTtlZygx
OTQ4MHwwKTtlZygxOTQ2OHwwKTtlZygxOTQ1NnwwKTtlZygxOTQ0NHwwKTtlZygxOTQzMnwwKTtl
ZygxOTQyMHwwKTtlZygxOTQwOHwwKTtlZygxOTM5NnwwKTtlZygxOTM4NHwwKTtlZygxOTM3Mnww
KTtlZygxOTM2MHwwKTtlZygxOTM0OHwwKTtlZygxOTMzNik7aT1hO3JldHVybn1mdW5jdGlvbiBP
bihhLGIsYyl7YT1hfDA7Yj1ifDA7Yz1jfDA7dmFyIGQ9MCxlPTA7ZD1pO2U9UG4oMCxhLGIsKGN8
MCkhPTA/YzoxOTg1Nil8MDtpPWQ7cmV0dXJuIGV8MH1mdW5jdGlvbiBQbihiLGQsZSxmKXtiPWJ8
MDtkPWR8MDtlPWV8MDtmPWZ8MDt2YXIgZz0wLGg9MCxqPTAsaz0wLGw9MCxtPTAsbj0wLG89MCxw
PTAscT0wLHI9MCxzPTAsdD0wLHU9MCx2PTA7Zz1pO2k9aSsxNnwwO2g9ZztjW2g+PjJdPWI7aj0o
ZnwwKT09MD8xOTg2NDpmO2Y9Y1tqPj4yXXwwO2E6ZG97aWYoKGR8MCk9PTApe2lmKChmfDApPT0w
KXtrPTA7aT1nO3JldHVybiBrfDB9fWVsc2V7aWYoKGJ8MCk9PTApe2NbaD4+Ml09aDtsPWh9ZWxz
ZXtsPWJ9aWYoKGV8MCk9PTApe2s9LTI7aT1nO3JldHVybiBrfDB9ZG97aWYoKGZ8MCk9PTApe209
YVtkXXwwO249bSYyNTU7aWYobTw8MjQ+PjI0Pi0xKXtjW2w+PjJdPW47az1tPDwyND4+MjQhPTB8
MDtpPWc7cmV0dXJuIGt8MH1lbHNle209bisgLTE5NHwwO2lmKG0+Pj4wPjUwKXticmVhayBhfW89
ZSsgLTF8MDtwPWNbMTk2NDgrKG08PDIpPj4yXXwwO3E9ZCsxfDA7YnJlYWt9fWVsc2V7bz1lO3A9
ZjtxPWR9fXdoaWxlKDApO2I6ZG97aWYoKG98MCk9PTApe3I9cH1lbHNle209YVtxXXwwO249KG0m
MjU1KT4+PjM7aWYoKG4rIC0xNnxuKyhwPj4yNikpPj4+MD43KXticmVhayBhfWVsc2V7cz1vO3Q9
bTt1PXA7dj1xfXdoaWxlKDEpe3Y9disxfDA7dT0odCYyNTUpKyAtMTI4fHU8PDY7cz1zKyAtMXww
O2lmKCh1fDApPj0wKXticmVha31pZigoc3wwKT09MCl7cj11O2JyZWFrIGJ9dD1hW3ZdfDA7aWYo
KCh0JjI1NSkrIC0xMjh8MCk+Pj4wPjYzKXticmVhayBhfX1jW2o+PjJdPTA7Y1tsPj4yXT11O2s9
ZS1zfDA7aT1nO3JldHVybiBrfDB9fXdoaWxlKDApO2Nbaj4+Ml09cjtrPS0yO2k9ZztyZXR1cm4g
a3wwfX13aGlsZSgwKTtjW2o+PjJdPTA7Y1sobWMoKXwwKT4+Ml09ODQ7az0tMTtpPWc7cmV0dXJu
IGt8MH1mdW5jdGlvbiBRbihhLGIsZCxlLGYpe2E9YXwwO2I9YnwwO2Q9ZHwwO2U9ZXwwO2Y9Znww
O3ZhciBnPTAsaD0wLGo9MCxrPTAsbD0wLG09MCxuPTAsbz0wLHA9MCxxPTAscj0wLHM9MCx0PTAs
dT0wLHY9MCx3PTAseD0wLHk9MCx6PTAsQT0wLEI9MCxDPTAsRD0wO2c9aTtpPWkrMTA0MHwwO2g9
Zys4fDA7aj1nO2s9Y1tiPj4yXXwwO2Nbaj4+Ml09aztsPShhfDApIT0wO209bD9lOjI1NjtlPWw/
YTpoO2E6ZG97aWYoKGt8MCk9PTB8KG18MCk9PTApe249ZDtvPW07cD1rO3E9MDtyPWV9ZWxzZXth
PWQ7cz1tO3Q9azt1PTA7dj1lO3doaWxlKDEpe3c9YT4+PjI7eD13Pj4+MD49cz4+PjA7aWYoISh4
fGE+Pj4wPjEzMSkpe249YTtvPXM7cD10O3E9dTtyPXY7YnJlYWsgYX15PXg/czp3O3o9YS15fDA7
dz1Sbih2LGoseSxmKXwwO2lmKCh3fDApPT0tMSl7YnJlYWt9aWYoKHZ8MCk9PShofDApKXtBPXM7
Qj1ofWVsc2V7QT1zLXd8MDtCPXYrKHc8PDIpfDB9eT13K3V8MDt3PWNbaj4+Ml18MDtpZigod3ww
KT09MHwoQXwwKT09MCl7bj16O289QTtwPXc7cT15O3I9QjticmVhayBhfWVsc2V7YT16O3M9QTt0
PXc7dT15O3Y9Qn19bj16O289MDtwPWNbaj4+Ml18MDtxPS0xO3I9dn19d2hpbGUoMCk7Yjpkb3tp
ZigocHwwKSE9MD8hKChvfDApPT0wfChufDApPT0wKTowKXt6PW47Qj1vO0E9cDtoPXE7ZT1yO3do
aWxlKDEpe0M9UG4oZSxBLHosZil8MDtpZigoQysyfDApPj4+MDwzKXticmVha31rPShjW2o+PjJd
fDApK0N8MDtjW2o+PjJdPWs7bT1CKyAtMXwwO2Q9aCsxfDA7aWYoKG18MCk9PTB8KHp8MCk9PShD
fDApKXtEPWQ7YnJlYWsgYn1lbHNle3o9ei1DfDA7Qj1tO0E9aztoPWQ7ZT1lKzR8MH19aWYoKEN8
MCk9PTApe2Nbaj4+Ml09MDtEPWg7YnJlYWt9ZWxzZSBpZigoQ3wwKT09LTEpe0Q9LTE7YnJlYWt9
ZWxzZXtjW2Y+PjJdPTA7RD1oO2JyZWFrfX1lbHNle0Q9cX19d2hpbGUoMCk7aWYoIWwpe2k9Zzty
ZXR1cm4gRHwwfWNbYj4+Ml09Y1tqPj4yXTtpPWc7cmV0dXJuIER8MH1mdW5jdGlvbiBSbihiLGUs
ZixnKXtiPWJ8MDtlPWV8MDtmPWZ8MDtnPWd8MDt2YXIgaD0wLGo9MCxrPTAsbD0wLG09MCxuPTAs
bz0wLHA9MCxxPTAscj0wLHM9MCx0PTAsdT0wLHY9MCx3PTAseD0wLHk9MCx6PTAsQT0wLEI9MCxD
PTAsRD0wLEU9MCxGPTAsRz0wLEg9MCxJPTAsSj0wLEs9MCxMPTAsTT0wLE49MCxPPTAsUD0wLFE9
MCxSPTAsUz0wLFQ9MCxVPTAsVj0wLFc9MCxYPTAsWT0wLFo9MCxfPTAsJD0wLGFhPTAsYmE9MCxj
YT0wLGRhPTAsZWE9MCxmYT0wLGdhPTAsaGE9MCxpYT0wLGphPTA7aD1pO2o9Y1tlPj4yXXwwO2lm
KChnfDApIT0wPyhrPWNbZz4+Ml18MCwoa3wwKSE9MCk6MCl7aWYoKGJ8MCk9PTApe2w9ZjttPWs7
bj1qO289MTZ9ZWxzZXtjW2c+PjJdPTA7cD1iO3E9ZjtyPWs7cz1qO289MzZ9fWVsc2V7aWYoKGJ8
MCk9PTApe3Q9Zjt1PWo7bz03fWVsc2V7dj1iO3c9Zjt4PWo7bz02fX1hOndoaWxlKDEpe2lmKChv
fDApPT02KXtvPTA7aWYoKHd8MCk9PTApe3k9ZjtvPTUzO2JyZWFrfWVsc2V7ej12O0E9dztCPXh9
d2hpbGUoMSl7aj1hW0JdfDA7ZG97aWYoKChqJjI1NSkrIC0xfDApPj4+MDwxMjc/KEImM3wwKT09
MCZBPj4+MD4zOjApe2s9ejtnPUE7Qz1CO3doaWxlKDEpe0Q9Y1tDPj4yXXwwO2lmKCgoRCsgLTE2
ODQzMDA5fEQpJi0yMTM5MDYyMTQ0fDApIT0wKXtvPTMwO2JyZWFrfWNbaz4+Ml09RCYyNTU7Y1tr
KzQ+PjJdPWRbQysxfDBdfDA7Y1trKzg+PjJdPWRbQysyfDBdfDA7RT1DKzR8MDtGPWsrMTZ8MDtj
W2srMTI+PjJdPWRbQyszfDBdfDA7Rz1nKyAtNHwwO2lmKEc+Pj4wPjMpe2s9RjtnPUc7Qz1FfWVs
c2V7bz0zMTticmVha319aWYoKG98MCk9PTMwKXtvPTA7SD1rO0k9ZztKPUQmMjU1O0s9QzticmVh
a31lbHNlIGlmKChvfDApPT0zMSl7bz0wO0g9RjtJPUc7Sj1hW0VdfDA7Sz1FO2JyZWFrfX1lbHNl
e0g9ejtJPUE7Sj1qO0s9Qn19d2hpbGUoMCk7TD1KJjI1NTtpZighKChMKyAtMXwwKT4+PjA8MTI3
KSl7YnJlYWt9Y1tIPj4yXT1MO2o9SSsgLTF8MDtpZigoanwwKT09MCl7eT1mO289NTM7YnJlYWsg
YX1lbHNle3o9SCs0fDA7QT1qO0I9SysxfDB9fWo9TCsgLTE5NHwwO2lmKGo+Pj4wPjUwKXtNPUg7
Tj1JO089SztvPTQ3O2JyZWFrfXA9SDtxPUk7cj1jWzE5NjQ4KyhqPDwyKT4+Ml18MDtzPUsrMXww
O289MzY7Y29udGludWV9ZWxzZSBpZigob3wwKT09Nyl7bz0wO2o9YVt1XXwwO2lmKCgoaiYyNTUp
KyAtMXwwKT4+PjA8MTI3Pyh1JjN8MCk9PTA6MCl7UD1jW3U+PjJdfDA7aWYoKChQKyAtMTY4NDMw
MDl8UCkmLTIxMzkwNjIxNDR8MCk9PTApe1E9dDtSPXU7d2hpbGUoMSl7Uz1SKzR8MDtUPVErIC00
fDA7VT1jW1M+PjJdfDA7aWYoKChVKyAtMTY4NDMwMDl8VSkmLTIxMzkwNjIxNDR8MCk9PTApe1E9
VDtSPVN9ZWxzZXtWPVQ7Vz1VO1g9UzticmVha319fWVsc2V7Vj10O1c9UDtYPXV9WT1WO1o9VyYy
NTU7Xz1YfWVsc2V7WT10O1o9ajtfPXV9Uj1aJjI1NTtpZigoUisgLTF8MCk+Pj4wPDEyNyl7dD1Z
KyAtMXwwO3U9XysxfDA7bz03O2NvbnRpbnVlfVE9UisgLTE5NHwwO2lmKFE+Pj4wPjUwKXtNPWI7
Tj1ZO089XztvPTQ3O2JyZWFrfWw9WTttPWNbMTk2NDgrKFE8PDIpPj4yXXwwO249XysxfDA7bz0x
Njtjb250aW51ZX1lbHNlIGlmKChvfDApPT0xNil7bz0wO1E9KGRbbl18MCk+Pj4zO2lmKChRKyAt
MTZ8USsobT4+MjYpKT4+PjA+Nyl7bz0xNzticmVha31RPW4rMXwwO2lmKChtJjMzNTU0NDMyfDAp
IT0wKXtpZigoKGRbUV18MCkrIC0xMjh8MCk+Pj4wPjYzKXtvPTIwO2JyZWFrfVI9bisyfDA7aWYo
KG0mNTI0Mjg4fDApPT0wKXskPVJ9ZWxzZXtpZigoKGRbUl18MCkrIC0xMjh8MCk+Pj4wPjYzKXtv
PTIzO2JyZWFrfSQ9biszfDB9fWVsc2V7JD1RfXQ9bCsgLTF8MDt1PSQ7bz03O2NvbnRpbnVlfWVs
c2UgaWYoKG98MCk9PTM2KXtvPTA7UT1kW3NdfDA7Uj1RPj4+MztpZigoUisgLTE2fFIrKHI+PjI2
KSk+Pj4wPjcpe289Mzc7YnJlYWt9Uj1zKzF8MDthYT1RKyAtMTI4fHI8PDY7aWYoKGFhfDApPDAp
e1E9KGRbUl18MCkrIC0xMjh8MDtpZihRPj4+MD42Myl7bz00MDticmVha31TPXMrMnwwO2JhPVF8
YWE8PDY7aWYoKGJhfDApPDApe1E9KGRbU118MCkrIC0xMjh8MDtpZihRPj4+MD42Myl7bz00Mzti
cmVha31jYT1RfGJhPDw2O2RhPXMrM3wwfWVsc2V7Y2E9YmE7ZGE9U319ZWxzZXtjYT1hYTtkYT1S
fWNbcD4+Ml09Y2E7dj1wKzR8MDt3PXErIC0xfDA7eD1kYTtvPTY7Y29udGludWV9fWlmKChvfDAp
PT0xNyl7ZWE9YjtmYT1sO2dhPW07aGE9bisgLTF8MDtvPTQ2fWVsc2UgaWYoKG98MCk9PTIwKXtl
YT1iO2ZhPWw7Z2E9bTtoYT1uKyAtMXwwO289NDZ9ZWxzZSBpZigob3wwKT09MjMpe2VhPWI7ZmE9
bDtnYT1tO2hhPW4rIC0xfDA7bz00Nn1lbHNlIGlmKChvfDApPT0zNyl7ZWE9cDtmYT1xO2dhPXI7
aGE9cysgLTF8MDtvPTQ2fWVsc2UgaWYoKG98MCk9PTQwKXtlYT1wO2ZhPXE7Z2E9YWE7aGE9cysg
LTF8MDtvPTQ2fWVsc2UgaWYoKG98MCk9PTQzKXtlYT1wO2ZhPXE7Z2E9YmE7aGE9cysgLTF8MDtv
PTQ2fWVsc2UgaWYoKG98MCk9PTUzKXtpPWg7cmV0dXJuIHl8MH1pZigob3wwKT09NDYpe2lmKChn
YXwwKT09MCl7TT1lYTtOPWZhO089aGE7bz00N31lbHNle2lhPWVhO2phPWhhfX1pZigob3wwKT09
NDcpe2lmKChhW09dfDApPT0wKXtpZigoTXwwKSE9MCl7Y1tNPj4yXT0wO2NbZT4+Ml09MH15PWYt
TnwwO2k9aDtyZXR1cm4geXwwfWVsc2V7aWE9TTtqYT1PfX1jWyhtYygpfDApPj4yXT04NDtpZigo
aWF8MCk9PTApe3k9LTE7aT1oO3JldHVybiB5fDB9Y1tlPj4yXT1qYTt5PS0xO2k9aDtyZXR1cm4g
eXwwfWZ1bmN0aW9uIFNuKGIsZSxmKXtiPWJ8MDtlPWV8MDtmPWZ8MDt2YXIgZz0wLGg9MCxqPTAs
az0wLGw9MCxtPTAsbj0wO2c9aTtpPWkrMTZ8MDtoPWc7Y1toPj4yXT1iO2lmKChlfDApPT0wKXtq
PTA7aT1nO3JldHVybiBqfDB9ZG97aWYoKGZ8MCkhPTApe2lmKChifDApPT0wKXtjW2g+PjJdPWg7
az1ofWVsc2V7az1ifWw9YVtlXXwwO209bCYyNTU7aWYobDw8MjQ+PjI0Pi0xKXtjW2s+PjJdPW07
aj1sPDwyND4+MjQhPTB8MDtpPWc7cmV0dXJuIGp8MH1sPW0rIC0xOTR8MDtpZighKGw+Pj4wPjUw
KSl7bT1lKzF8MDtuPWNbMTk2NDgrKGw8PDIpPj4yXXwwO2lmKGY+Pj4wPDQ/KG4mLTIxNDc0ODM2
NDg+Pj4oKGYqNnwwKSsgLTZ8MCl8MCkhPTA6MCl7YnJlYWt9bD1kW21dfDA7bT1sPj4+MztpZigh
KChtKyAtMTZ8bSsobj4+MjYpKT4+PjA+Nykpe209bCsgLTEyOHxuPDw2O2lmKChtfDApPj0wKXtj
W2s+PjJdPW07aj0yO2k9ZztyZXR1cm4ganwwfW49KGRbZSsyfDBdfDApKyAtMTI4fDA7aWYoIShu
Pj4+MD42Mykpe2w9bnxtPDw2O2lmKChsfDApPj0wKXtjW2s+PjJdPWw7aj0zO2k9ZztyZXR1cm4g
anwwfW09KGRbZSszfDBdfDApKyAtMTI4fDA7aWYoIShtPj4+MD42Mykpe2Nbaz4+Ml09bXxsPDw2
O2o9NDtpPWc7cmV0dXJuIGp8MH19fX19fXdoaWxlKDApO2NbKG1jKCl8MCk+PjJdPTg0O2o9LTE7
aT1nO3JldHVybiBqfDB9ZnVuY3Rpb24gVG4oYixkLGUpe2I9YnwwO2Q9ZHwwO2U9ZXwwO3ZhciBm
PTA7ZT1pO2lmKChifDApPT0wKXtmPTE7aT1lO3JldHVybiBmfDB9aWYoZD4+PjA8MTI4KXthW2Jd
PWQ7Zj0xO2k9ZTtyZXR1cm4gZnwwfWlmKGQ+Pj4wPDIwNDgpe2FbYl09ZD4+PjZ8MTkyO2FbYisx
fDBdPWQmNjN8MTI4O2Y9MjtpPWU7cmV0dXJuIGZ8MH1pZihkPj4+MDw1NTI5NnwoZCsgLTU3MzQ0
fDApPj4+MDw4MTkyKXthW2JdPWQ+Pj4xMnwyMjQ7YVtiKzF8MF09ZD4+PjYmNjN8MTI4O2FbYisy
fDBdPWQmNjN8MTI4O2Y9MztpPWU7cmV0dXJuIGZ8MH1pZigoZCsgLTY1NTM2fDApPj4+MDwxMDQ4
NTc2KXthW2JdPWQ+Pj4xOHwyNDA7YVtiKzF8MF09ZD4+PjEyJjYzfDEyODthW2IrMnwwXT1kPj4+
NiY2M3wxMjg7YVtiKzN8MF09ZCY2M3wxMjg7Zj00O2k9ZTtyZXR1cm4gZnwwfWVsc2V7Y1sobWMo
KXwwKT4+Ml09ODQ7Zj0tMTtpPWU7cmV0dXJuIGZ8MH1yZXR1cm4gMH1mdW5jdGlvbiBVbihhLGIs
ZCxlLGYpe2E9YXwwO2I9YnwwO2Q9ZHwwO2U9ZXwwO2Y9ZnwwO3ZhciBnPTAsaD0wLGo9MCxrPTAs
bD0wLG09MCxuPTAsbz0wLHA9MCxxPTAscj0wLHM9MCx0PTAsdT0wLHY9MCx3PTAseD0wLHk9MCx6
PTAsQT0wLEI9MDtmPWk7aT1pKzI3MnwwO2c9Zis4fDA7aD1mO2o9Y1tiPj4yXXwwO2NbaD4+Ml09
ajtrPShhfDApIT0wO2w9az9lOjI1NjtlPWs/YTpnO2E6ZG97aWYoKGp8MCk9PTB8KGx8MCk9PTAp
e209ZDtuPWw7bz1qO3A9MDtxPWV9ZWxzZXthPWQ7cj1sO3M9ajt0PTA7dT1lO3doaWxlKDEpe3Y9
YT4+PjA+PXI+Pj4wO2lmKCEodnxhPj4+MD4zMikpe209YTtuPXI7bz1zO3A9dDtxPXU7YnJlYWsg
YX13PXY/cjphO3g9YS13fDA7dj1Wbih1LGgsdywwKXwwO2lmKCh2fDApPT0tMSl7YnJlYWt9aWYo
KHV8MCk9PShnfDApKXt5PXI7ej1nfWVsc2V7eT1yLXZ8MDt6PXUrdnwwfXc9dit0fDA7dj1jW2g+
PjJdfDA7aWYoKHZ8MCk9PTB8KHl8MCk9PTApe209eDtuPXk7bz12O3A9dztxPXo7YnJlYWsgYX1l
bHNle2E9eDtyPXk7cz12O3Q9dzt1PXp9fW09eDtuPTA7bz1jW2g+PjJdfDA7cD0tMTtxPXV9fXdo
aWxlKDApO2I6ZG97aWYoKG98MCkhPTA/ISgobnwwKT09MHwobXwwKT09MCk6MCl7eD1tO3o9bjt5
PW87Zz1wO2U9cTt3aGlsZSgxKXtBPVRuKGUsY1t5Pj4yXXwwLDApfDA7aWYoKEErMXwwKT4+PjA8
Mil7YnJlYWt9aj0oY1toPj4yXXwwKSs0fDA7Y1toPj4yXT1qO2w9eCsgLTF8MDtkPWcrMXwwO2lm
KCh6fDApPT0oQXwwKXwobHwwKT09MCl7Qj1kO2JyZWFrIGJ9ZWxzZXt4PWw7ej16LUF8MDt5PWo7
Zz1kO2U9ZStBfDB9fWlmKChBfDApPT0wKXtjW2g+PjJdPTA7Qj1nfWVsc2V7Qj0tMX19ZWxzZXtC
PXB9fXdoaWxlKDApO2lmKCFrKXtpPWY7cmV0dXJuIEJ8MH1jW2I+PjJdPWNbaD4+Ml07aT1mO3Jl
dHVybiBCfDB9ZnVuY3Rpb24gVm4oYixkLGUsZil7Yj1ifDA7ZD1kfDA7ZT1lfDA7Zj1mfDA7dmFy
IGc9MCxoPTAsaj0wLGs9MCxsPTAsbT0wLG49MCxvPTAscD0wLHE9MCxyPTAscz0wLHQ9MCx1PTAs
dj0wLHc9MCx4PTAseT0wLHo9MDtmPWk7aT1pKzE2fDA7Zz1mO2lmKChifDApPT0wKXtoPWNbZD4+
Ml18MDtqPWNbaD4+Ml18MDtpZigoanwwKT09MCl7az0wO2k9ZjtyZXR1cm4ga3wwfWVsc2V7bD0w
O209ajtuPWh9d2hpbGUoMSl7aWYobT4+PjA+MTI3KXtoPVRuKGcsbSwwKXwwO2lmKChofDApPT0t
MSl7az0tMTtvPTI2O2JyZWFrfWVsc2V7cD1ofX1lbHNle3A9MX1oPXArbHwwO2o9bis0fDA7cT1j
W2o+PjJdfDA7aWYoKHF8MCk9PTApe2s9aDtvPTI2O2JyZWFrfWVsc2V7bD1oO209cTtuPWp9fWlm
KChvfDApPT0yNil7aT1mO3JldHVybiBrfDB9fWE6ZG97aWYoZT4+PjA+Myl7bj1iO209ZTtsPWNb
ZD4+Ml18MDt3aGlsZSgxKXtwPWNbbD4+Ml18MDtpZigocHwwKT09MCl7cj1uO3M9bTticmVhayBh
fWlmKHA+Pj4wPjEyNyl7aj1UbihuLHAsMCl8MDtpZigoanwwKT09LTEpe2s9LTE7YnJlYWt9dD1u
K2p8MDt1PW0tanwwO3Y9bH1lbHNle2Fbbl09cDt0PW4rMXwwO3U9bSsgLTF8MDt2PWNbZD4+Ml18
MH1wPXYrNHwwO2NbZD4+Ml09cDtpZih1Pj4+MD4zKXtuPXQ7bT11O2w9cH1lbHNle3I9dDtzPXU7
YnJlYWsgYX19aT1mO3JldHVybiBrfDB9ZWxzZXtyPWI7cz1lfX13aGlsZSgwKTtiOmRve2lmKChz
fDApIT0wKXtiPXI7dT1zO3Q9Y1tkPj4yXXwwO3doaWxlKDEpe3Y9Y1t0Pj4yXXwwO2lmKCh2fDAp
PT0wKXtvPTI0O2JyZWFrfWlmKHY+Pj4wPjEyNyl7bD1UbihnLHYsMCl8MDtpZigobHwwKT09LTEp
e2s9LTE7bz0yNjticmVha31pZihsPj4+MD51Pj4+MCl7bz0yMDticmVha31UbihiLGNbdD4+Ml18
MCwwKXwwO3c9YitsfDA7eD11LWx8MDt5PXR9ZWxzZXthW2JdPXY7dz1iKzF8MDt4PXUrIC0xfDA7
eT1jW2Q+PjJdfDB9dj15KzR8MDtjW2Q+PjJdPXY7aWYoKHh8MCk9PTApe3o9MDticmVhayBifWVs
c2V7Yj13O3U9eDt0PXZ9fWlmKChvfDApPT0yMCl7az1lLXV8MDtpPWY7cmV0dXJuIGt8MH1lbHNl
IGlmKChvfDApPT0yNCl7YVtiXT0wO3o9dTticmVha31lbHNlIGlmKChvfDApPT0yNil7aT1mO3Jl
dHVybiBrfDB9fWVsc2V7ej0wfX13aGlsZSgwKTtjW2Q+PjJdPTA7az1lLXp8MDtpPWY7cmV0dXJu
IGt8MH1mdW5jdGlvbiBXbihhKXthPWF8MDt2YXIgYj0wLGQ9MDtiPWk7ZD1hO3doaWxlKDEpe2lm
KChjW2Q+PjJdfDApPT0wKXticmVha31lbHNle2Q9ZCs0fDB9fWk9YjtyZXR1cm4gZC1hPj4yfDB9
ZnVuY3Rpb24gWG4oYSxiLGQpe2E9YXwwO2I9YnwwO2Q9ZHwwO3ZhciBlPTAsZj0wLGc9MCxoPTA7
ZT1pO2lmKChkfDApPT0wKXtpPWU7cmV0dXJuIGF8MH1lbHNle2Y9ZDtnPWI7aD1hfXdoaWxlKDEp
e2Y9ZisgLTF8MDtjW2g+PjJdPWNbZz4+Ml07aWYoKGZ8MCk9PTApe2JyZWFrfWVsc2V7Zz1nKzR8
MDtoPWgrNHwwfX1pPWU7cmV0dXJuIGF8MH1mdW5jdGlvbiBZbihhLGIsZCl7YT1hfDA7Yj1ifDA7
ZD1kfDA7dmFyIGU9MCxmPTAsZz0wO2U9aTtmPShkfDApPT0wO2lmKGEtYj4+Mj4+PjA8ZD4+PjAp
e2lmKCFmKXtnPWQ7ZG97Zz1nKyAtMXwwO2NbYSsoZzw8Mik+PjJdPWNbYisoZzw8Mik+PjJdfXdo
aWxlKChnfDApIT0wKX19ZWxzZXtpZighZil7Zj1iO2I9YTtnPWQ7d2hpbGUoMSl7Zz1nKyAtMXww
O2NbYj4+Ml09Y1tmPj4yXTtpZigoZ3wwKT09MCl7YnJlYWt9ZWxzZXtmPWYrNHwwO2I9Yis0fDB9
fX19aT1lO3JldHVybiBhfDB9ZnVuY3Rpb24gWm4oYSxiLGQpe2E9YXwwO2I9YnwwO2Q9ZHwwO3Zh
ciBlPTAsZj0wO2U9aTtpZigoZHwwKSE9MCl7Zj1kO2Q9YTt3aGlsZSgxKXtmPWYrIC0xfDA7Y1tk
Pj4yXT1iO2lmKChmfDApPT0wKXticmVha31lbHNle2Q9ZCs0fDB9fX1pPWU7cmV0dXJuIGF8MH1m
dW5jdGlvbiBfbihhKXthPWF8MDtyZXR1cm59ZnVuY3Rpb24gJG4oYSl7YT1hfDA7Y1thPj4yXT0x
OTg4MDtyZXR1cm59ZnVuY3Rpb24gYW8oYSl7YT1hfDA7dmFyIGI9MDtiPWk7WmEoYXwwKTtDbyhh
KTtpPWI7cmV0dXJufWZ1bmN0aW9uIGJvKGEpe2E9YXwwO3ZhciBiPTA7Yj1pO1phKGF8MCk7aT1i
O3JldHVybn1mdW5jdGlvbiBjbyhhKXthPWF8MDtyZXR1cm4gMTk4OTZ9ZnVuY3Rpb24gZW8oYSl7
YT1hfDA7cmV0dXJufWZ1bmN0aW9uIGZvKGEpe2E9YXwwO3JldHVybn1mdW5jdGlvbiBnbyhhKXth
PWF8MDtyZXR1cm59ZnVuY3Rpb24gaG8oYSl7YT1hfDA7dmFyIGI9MDtiPWk7Q28oYSk7aT1iO3Jl
dHVybn1mdW5jdGlvbiBpbyhhKXthPWF8MDt2YXIgYj0wO2I9aTtDbyhhKTtpPWI7cmV0dXJufWZ1
bmN0aW9uIGpvKGEpe2E9YXwwO3ZhciBiPTA7Yj1pO0NvKGEpO2k9YjtyZXR1cm59ZnVuY3Rpb24g
a28oYSxiLGQpe2E9YXwwO2I9YnwwO2Q9ZHwwO3ZhciBlPTAsZj0wLGc9MCxoPTAsaj0wO2U9aTtp
PWkrNjR8MDtmPWU7aWYoKGF8MCk9PShifDApKXtnPTE7aT1lO3JldHVybiBnfDB9aWYoKGJ8MCk9
PTApe2c9MDtpPWU7cmV0dXJuIGd8MH1oPW9vKGIsMjAwMDgsMjAwNjQsMCl8MDtpZigoaHwwKT09
MCl7Zz0wO2k9ZTtyZXR1cm4gZ3wwfWI9ZiswfDA7aj1iKzU2fDA7ZG97Y1tiPj4yXT0wO2I9Yis0
fDB9d2hpbGUoKGJ8MCk8KGp8MCkpO2NbZj4+Ml09aDtjW2YrOD4+Ml09YTtjW2YrMTI+PjJdPS0x
O2NbZis0OD4+Ml09MTtPY1tjWyhjW2g+PjJdfDApKzI4Pj4yXSYxNV0oaCxmLGNbZD4+Ml18MCwx
KTtpZigoY1tmKzI0Pj4yXXwwKSE9MSl7Zz0wO2k9ZTtyZXR1cm4gZ3wwfWNbZD4+Ml09Y1tmKzE2
Pj4yXTtnPTE7aT1lO3JldHVybiBnfDB9ZnVuY3Rpb24gbG8oYixkLGUsZil7Yj1ifDA7ZD1kfDA7
ZT1lfDA7Zj1mfDA7dmFyIGc9MCxoPTA7Zz1pO2lmKChjW2QrOD4+Ml18MCkhPShifDApKXtpPWc7
cmV0dXJufWI9ZCsxNnwwO2g9Y1tiPj4yXXwwO2lmKChofDApPT0wKXtjW2I+PjJdPWU7Y1tkKzI0
Pj4yXT1mO2NbZCszNj4+Ml09MTtpPWc7cmV0dXJufWlmKChofDApIT0oZXwwKSl7ZT1kKzM2fDA7
Y1tlPj4yXT0oY1tlPj4yXXwwKSsxO2NbZCsyND4+Ml09MjthW2QrNTR8MF09MTtpPWc7cmV0dXJu
fWU9ZCsyNHwwO2lmKChjW2U+PjJdfDApIT0yKXtpPWc7cmV0dXJufWNbZT4+Ml09ZjtpPWc7cmV0
dXJufWZ1bmN0aW9uIG1vKGIsZCxlLGYpe2I9YnwwO2Q9ZHwwO2U9ZXwwO2Y9ZnwwO3ZhciBnPTAs
aD0wO2c9aTtpZigoYnwwKSE9KGNbZCs4Pj4yXXwwKSl7aD1jW2IrOD4+Ml18MDtPY1tjWyhjW2g+
PjJdfDApKzI4Pj4yXSYxNV0oaCxkLGUsZik7aT1nO3JldHVybn1oPWQrMTZ8MDtiPWNbaD4+Ml18
MDtpZigoYnwwKT09MCl7Y1toPj4yXT1lO2NbZCsyND4+Ml09ZjtjW2QrMzY+PjJdPTE7aT1nO3Jl
dHVybn1pZigoYnwwKSE9KGV8MCkpe2U9ZCszNnwwO2NbZT4+Ml09KGNbZT4+Ml18MCkrMTtjW2Qr
MjQ+PjJdPTI7YVtkKzU0fDBdPTE7aT1nO3JldHVybn1lPWQrMjR8MDtpZigoY1tlPj4yXXwwKSE9
Mil7aT1nO3JldHVybn1jW2U+PjJdPWY7aT1nO3JldHVybn1mdW5jdGlvbiBubyhiLGQsZSxmKXti
PWJ8MDtkPWR8MDtlPWV8MDtmPWZ8MDt2YXIgZz0wLGg9MCxqPTAsaz0wLGw9MCxtPTAsbj0wLG89
MDtnPWk7aWYoKGJ8MCk9PShjW2QrOD4+Ml18MCkpe2g9ZCsxNnwwO2o9Y1toPj4yXXwwO2lmKChq
fDApPT0wKXtjW2g+PjJdPWU7Y1tkKzI0Pj4yXT1mO2NbZCszNj4+Ml09MTtpPWc7cmV0dXJufWlm
KChqfDApIT0oZXwwKSl7aj1kKzM2fDA7Y1tqPj4yXT0oY1tqPj4yXXwwKSsxO2NbZCsyND4+Ml09
MjthW2QrNTR8MF09MTtpPWc7cmV0dXJufWo9ZCsyNHwwO2lmKChjW2o+PjJdfDApIT0yKXtpPWc7
cmV0dXJufWNbaj4+Ml09ZjtpPWc7cmV0dXJufWo9Y1tiKzEyPj4yXXwwO2g9Yisoajw8MykrMTZ8
MDtrPWNbYisyMD4+Ml18MDtsPWs+Pjg7aWYoKGsmMXwwKT09MCl7bT1sfWVsc2V7bT1jWyhjW2U+
PjJdfDApK2w+PjJdfDB9bD1jW2IrMTY+PjJdfDA7T2NbY1soY1tsPj4yXXwwKSsyOD4+Ml0mMTVd
KGwsZCxlK218MCwoayYyfDApIT0wP2Y6Mik7aWYoKGp8MCk8PTEpe2k9ZztyZXR1cm59aj1kKzU0
fDA7az1iKzI0fDA7d2hpbGUoMSl7Yj1jW2srND4+Ml18MDttPWI+Pjg7aWYoKGImMXwwKT09MCl7
bj1tfWVsc2V7bj1jWyhjW2U+PjJdfDApK20+PjJdfDB9bT1jW2s+PjJdfDA7T2NbY1soY1ttPj4y
XXwwKSsyOD4+Ml0mMTVdKG0sZCxlK258MCwoYiYyfDApIT0wP2Y6Mik7aWYoKGFbal18MCkhPTAp
e289MTY7YnJlYWt9Yj1rKzh8MDtpZihiPj4+MDxoPj4+MCl7az1ifWVsc2V7bz0xNjticmVha319
aWYoKG98MCk9PTE2KXtpPWc7cmV0dXJufX1mdW5jdGlvbiBvbyhkLGUsZixnKXtkPWR8MDtlPWV8
MDtmPWZ8MDtnPWd8MDt2YXIgaD0wLGo9MCxrPTAsbD0wLG09MCxuPTAsbz0wLHA9MCxxPTAscj0w
O2g9aTtpPWkrNjR8MDtqPWg7az1jW2Q+PjJdfDA7bD1kKyhjW2srIC04Pj4yXXwwKXwwO209Y1tr
KyAtND4+Ml18MDtjW2o+PjJdPWY7Y1tqKzQ+PjJdPWQ7Y1tqKzg+PjJdPWU7Y1tqKzEyPj4yXT1n
O2c9aisxNnwwO2U9aisyMHwwO2Q9aisyNHwwO2s9aisyOHwwO249aiszMnwwO289ais0MHwwO3A9
KG18MCk9PShmfDApO2Y9ZyswfDA7cT1mKzM2fDA7ZG97Y1tmPj4yXT0wO2Y9Zis0fDB9d2hpbGUo
KGZ8MCk8KHF8MCkpO2JbZyszNj4+MV09MDthW2crMzh8MF09MDtpZihwKXtjW2orNDg+PjJdPTE7
d2NbY1soY1ttPj4yXXwwKSsyMD4+Ml0mMzFdKG0saixsLGwsMSwwKTtyPShjW2Q+PjJdfDApPT0x
P2w6MDtpPWg7cmV0dXJuIHJ8MH1MY1tjWyhjW20+PjJdfDApKzI0Pj4yXSYzXShtLGosbCwxLDAp
O2w9Y1tqKzM2Pj4yXXwwO2lmKChsfDApPT0xKXtpZigoY1tkPj4yXXwwKSE9MSl7aWYoKGNbbz4+
Ml18MCkhPTApe3I9MDtpPWg7cmV0dXJuIHJ8MH1pZigoY1trPj4yXXwwKSE9MSl7cj0wO2k9aDty
ZXR1cm4gcnwwfWlmKChjW24+PjJdfDApIT0xKXtyPTA7aT1oO3JldHVybiByfDB9fXI9Y1tnPj4y
XXwwO2k9aDtyZXR1cm4gcnwwfWVsc2UgaWYoKGx8MCk9PTApe2lmKChjW28+PjJdfDApIT0xKXty
PTA7aT1oO3JldHVybiByfDB9aWYoKGNbaz4+Ml18MCkhPTEpe3I9MDtpPWg7cmV0dXJuIHJ8MH1y
PShjW24+PjJdfDApPT0xP2NbZT4+Ml18MDowO2k9aDtyZXR1cm4gcnwwfWVsc2V7cj0wO2k9aDty
ZXR1cm4gcnwwfXJldHVybiAwfWZ1bmN0aW9uIHBvKGIsZCxlLGYsZyl7Yj1ifDA7ZD1kfDA7ZT1l
fDA7Zj1mfDA7Zz1nfDA7dmFyIGg9MCxqPTAsaz0wLGw9MCxtPTAsbj0wLG89MCxwPTAscT0wLHI9
MCxzPTAsdD0wLHU9MCx2PTAsdz0wLHg9MCx5PTAsej0wLEE9MCxCPTAsQz0wLEQ9MCxFPTAsRj0w
LEc9MCxIPTAsST0wO2g9aTtpZigoYnwwKT09KGNbZCs4Pj4yXXwwKSl7aWYoKGNbZCs0Pj4yXXww
KSE9KGV8MCkpe2k9aDtyZXR1cm59aj1kKzI4fDA7aWYoKGNbaj4+Ml18MCk9PTEpe2k9aDtyZXR1
cm59Y1tqPj4yXT1mO2k9aDtyZXR1cm59aWYoKGJ8MCk9PShjW2Q+PjJdfDApKXtpZigoY1tkKzE2
Pj4yXXwwKSE9KGV8MCk/KGo9ZCsyMHwwLChjW2o+PjJdfDApIT0oZXwwKSk6MCl7Y1tkKzMyPj4y
XT1mO2s9ZCs0NHwwO2lmKChjW2s+PjJdfDApPT00KXtpPWg7cmV0dXJufWw9Y1tiKzEyPj4yXXww
O209YisobDw8MykrMTZ8MDthOmRve2lmKChsfDApPjApe249ZCs1MnwwO289ZCs1M3wwO3A9ZCs1
NHwwO3E9Yis4fDA7cj1kKzI0fDA7cz0wO3Q9MDt1PWIrMTZ8MDtiOndoaWxlKDEpe2Fbbl09MDth
W29dPTA7dj1jW3UrND4+Ml18MDt3PXY+Pjg7aWYoKHYmMXwwKT09MCl7eD13fWVsc2V7eD1jWyhj
W2U+PjJdfDApK3c+PjJdfDB9dz1jW3U+PjJdfDA7d2NbY1soY1t3Pj4yXXwwKSsyMD4+Ml0mMzFd
KHcsZCxlLGUreHwwLDItKHY+Pj4xJjEpfDAsZyk7aWYoKGFbcF18MCkhPTApe3k9czt6PXQ7YnJl
YWt9ZG97aWYoKGFbb118MCkhPTApe2lmKChhW25dfDApPT0wKXtpZigoY1txPj4yXSYxfDApPT0w
KXt5PXM7ej0xO2JyZWFrIGJ9ZWxzZXtBPXM7Qj0xO2JyZWFrfX1pZigoY1tyPj4yXXwwKT09MSl7
Qz0yNzticmVhayBhfWlmKChjW3E+PjJdJjJ8MCk9PTApe0M9Mjc7YnJlYWsgYX1lbHNle0E9MTtC
PTF9fWVsc2V7QT1zO0I9dH19d2hpbGUoMCk7dj11Kzh8MDtpZih2Pj4+MDxtPj4+MCl7cz1BO3Q9
Qjt1PXZ9ZWxzZXt5PUE7ej1CO2JyZWFrfX1pZih5KXtEPXo7Qz0yNn1lbHNle0U9ejtDPTIzfX1l
bHNle0U9MDtDPTIzfX13aGlsZSgwKTtpZigoQ3wwKT09MjMpe2Nbaj4+Ml09ZTtqPWQrNDB8MDtj
W2o+PjJdPShjW2o+PjJdfDApKzE7aWYoKGNbZCszNj4+Ml18MCk9PTE/KGNbZCsyND4+Ml18MCk9
PTI6MCl7YVtkKzU0fDBdPTE7aWYoRSl7Qz0yN31lbHNle0M9Mjh9fWVsc2V7RD1FO0M9MjZ9fWlm
KChDfDApPT0yNil7aWYoRCl7Qz0yN31lbHNle0M9Mjh9fWlmKChDfDApPT0yNyl7Y1trPj4yXT0z
O2k9aDtyZXR1cm59ZWxzZSBpZigoQ3wwKT09Mjgpe2Nbaz4+Ml09NDtpPWg7cmV0dXJufX1pZigo
ZnwwKSE9MSl7aT1oO3JldHVybn1jW2QrMzI+PjJdPTE7aT1oO3JldHVybn1rPWNbYisxMj4+Ml18
MDtEPWIrKGs8PDMpKzE2fDA7RT1jW2IrMjA+PjJdfDA7aj1FPj44O2lmKChFJjF8MCk9PTApe0Y9
an1lbHNle0Y9Y1soY1tlPj4yXXwwKStqPj4yXXwwfWo9Y1tiKzE2Pj4yXXwwO0xjW2NbKGNbaj4+
Ml18MCkrMjQ+PjJdJjNdKGosZCxlK0Z8MCwoRSYyfDApIT0wP2Y6MixnKTtFPWIrMjR8MDtpZigo
a3wwKTw9MSl7aT1oO3JldHVybn1rPWNbYis4Pj4yXXwwO2lmKChrJjJ8MCk9PTA/KGI9ZCszNnww
LChjW2I+PjJdfDApIT0xKTowKXtpZigoayYxfDApPT0wKXtrPWQrNTR8MDtGPUU7d2hpbGUoMSl7
aWYoKGFba118MCkhPTApe0M9NTM7YnJlYWt9aWYoKGNbYj4+Ml18MCk9PTEpe0M9NTM7YnJlYWt9
aj1jW0YrND4+Ml18MDt6PWo+Pjg7aWYoKGomMXwwKT09MCl7Rz16fWVsc2V7Rz1jWyhjW2U+PjJd
fDApK3o+PjJdfDB9ej1jW0Y+PjJdfDA7TGNbY1soY1t6Pj4yXXwwKSsyND4+Ml0mM10oeixkLGUr
R3wwLChqJjJ8MCkhPTA/ZjoyLGcpO2o9Ris4fDA7aWYoaj4+PjA8RD4+PjApe0Y9an1lbHNle0M9
NTM7YnJlYWt9fWlmKChDfDApPT01Myl7aT1oO3JldHVybn19Rj1kKzI0fDA7Rz1kKzU0fDA7az1F
O3doaWxlKDEpe2lmKChhW0ddfDApIT0wKXtDPTUzO2JyZWFrfWlmKChjW2I+PjJdfDApPT0xPyhj
W0Y+PjJdfDApPT0xOjApe0M9NTM7YnJlYWt9aj1jW2srND4+Ml18MDt6PWo+Pjg7aWYoKGomMXww
KT09MCl7SD16fWVsc2V7SD1jWyhjW2U+PjJdfDApK3o+PjJdfDB9ej1jW2s+PjJdfDA7TGNbY1so
Y1t6Pj4yXXwwKSsyND4+Ml0mM10oeixkLGUrSHwwLChqJjJ8MCkhPTA/ZjoyLGcpO2o9ays4fDA7
aWYoaj4+PjA8RD4+PjApe2s9an1lbHNle0M9NTM7YnJlYWt9fWlmKChDfDApPT01Myl7aT1oO3Jl
dHVybn19az1kKzU0fDA7SD1FO3doaWxlKDEpe2lmKChhW2tdfDApIT0wKXtDPTUzO2JyZWFrfUU9
Y1tIKzQ+PjJdfDA7Rj1FPj44O2lmKChFJjF8MCk9PTApe0k9Rn1lbHNle0k9Y1soY1tlPj4yXXww
KStGPj4yXXwwfUY9Y1tIPj4yXXwwO0xjW2NbKGNbRj4+Ml18MCkrMjQ+PjJdJjNdKEYsZCxlK0l8
MCwoRSYyfDApIT0wP2Y6MixnKTtFPUgrOHwwO2lmKEU+Pj4wPEQ+Pj4wKXtIPUV9ZWxzZXtDPTUz
O2JyZWFrfX1pZigoQ3wwKT09NTMpe2k9aDtyZXR1cm59fQoKCgpmdW5jdGlvbiBQYyhhKXthPWF8
MDt2YXIgYj0wO2I9aTtpPWkrYXwwO2k9aSs3Ji04O3JldHVybiBifDB9ZnVuY3Rpb24gUWMoKXty
ZXR1cm4gaXwwfWZ1bmN0aW9uIFJjKGEpe2E9YXwwO2k9YX1mdW5jdGlvbiBTYyhhLGIpe2E9YXww
O2I9YnwwO2lmKCh0fDApPT0wKXt0PWE7dT1ifX1mdW5jdGlvbiBUYyhiKXtiPWJ8MDthW2tdPWFb
Yl07YVtrKzF8MF09YVtiKzF8MF07YVtrKzJ8MF09YVtiKzJ8MF07YVtrKzN8MF09YVtiKzN8MF19
ZnVuY3Rpb24gVWMoYil7Yj1ifDA7YVtrXT1hW2JdO2FbaysxfDBdPWFbYisxfDBdO2FbaysyfDBd
PWFbYisyfDBdO2FbayszfDBdPWFbYiszfDBdO2Fbays0fDBdPWFbYis0fDBdO2Fbays1fDBdPWFb
Yis1fDBdO2Fbays2fDBdPWFbYis2fDBdO2Fbays3fDBdPWFbYis3fDBdfWZ1bmN0aW9uIFZjKGEp
e2E9YXwwO0k9YX1mdW5jdGlvbiBXYyhhKXthPWF8MDtKPWF9ZnVuY3Rpb24gWGMoYSl7YT1hfDA7
Sz1hfWZ1bmN0aW9uIFljKGEpe2E9YXwwO0w9YX1mdW5jdGlvbiBaYyhhKXthPWF8MDtNPWF9ZnVu
Y3Rpb24gX2MoYSl7YT1hfDA7Tj1hfWZ1bmN0aW9uICRjKGEpe2E9YXwwO089YX1mdW5jdGlvbiBh
ZChhKXthPWF8MDtQPWF9ZnVuY3Rpb24gYmQoYSl7YT1hfDA7UT1hfWZ1bmN0aW9uIGNkKGEpe2E9
YXwwO1I9YX1mdW5jdGlvbiBkZChhLGIsYyl7YT1hfDA7Yj1ifDA7Yz1jfDA7dmFyIGQ9MCxlPTA7
ZD1pO2U9QW8oNjgpfDA7QWQoZSxhLGIsYyk7aT1kO3JldHVybiBlfDB9ZnVuY3Rpb24gZWQoYSl7
YT1hfDA7dmFyIGI9MDtiPWk7aWYoKGF8MCk9PTApe2k9YjtyZXR1cm59QWNbY1soY1thPj4yXXww
KSs0Pj4yXSYyNTVdKGEpO2k9YjtyZXR1cm59ZnVuY3Rpb24gZmQoYil7Yj1ifDA7dmFyIGQ9MCxl
PTAsZj0wO2Q9aTtlPWIrNHwwO2lmKChhW2VdJjEpPT0wKXtmPWUrMXwwO2k9ZDtyZXR1cm4gZnww
fWVsc2V7Zj1jW2IrMTI+PjJdfDA7aT1kO3JldHVybiBmfDB9cmV0dXJuIDB9ZnVuY3Rpb24gZ2Qo
YSxiLGMsZCl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7dmFyIGU9MDtlPWk7aGQoYSxiLGMsZCk7
aT1lO3JldHVybn1mdW5jdGlvbiBoZChhLGIsZCxlKXthPWF8MDtiPWJ8MDtkPWR8MDtlPWV8MDt2
YXIgZj0wLGg9MCxqPTAsaz0wLGw9MCxtPTAsbj0wLG89MCxwPTAscT0wLHI9MDtkPWk7Zj1hKzY0
fDA7aWYoKGNbZj4+Ml18MCk+MCl7aD1iPDwyO2o9MDtkb3tfbyhjW2UrKGo8PDIpPj4yXXwwLDAs
aHwwKXwwO2o9aisxfDB9d2hpbGUoKGp8MCk8KGNbZj4+Ml18MCkpfWo9YSs1NnwwO2lmKChjW2o+
PjJdfDApPD0wKXtpPWQ7cmV0dXJufWg9YSsxNnwwO2s9YSs2MHwwO2lmKChifDApPD0wKXthPTA7
ZG97emQoKGNbKGNbaD4+Ml18MCkrKGE8PDIpPj4yXXwwKSsyOHwwLGIsMCxjW2s+PjJdfDApO2E9
YSsxfDB9d2hpbGUoKGF8MCk8KGNbaj4+Ml18MCkpO2k9ZDtyZXR1cm59YT1jW2s+PjJdfDA7bD0w
O2Rve3pkKChjWyhjW2g+PjJdfDApKyhsPDwyKT4+Ml18MCkrMjh8MCxiLDAsYSk7YT1jW2s+PjJd
fDA7bT1jW2Y+PjJdfDA7aWYoKG18MCk+MCl7bj0wO2Rve289Y1tlKyhuPDwyKT4+Ml18MDtwPWNb
YSsobjw8Mik+PjJdfDA7cT0wO2Rve3I9bysocTw8Mil8MDtnW3I+PjJdPStnW3ArKHE8PDIpPj4y
XSsgK2dbcj4+Ml07cT1xKzF8MH13aGlsZSgocXwwKSE9KGJ8MCkpO249bisxfDB9d2hpbGUoKG58
MCkhPShtfDApKX1sPWwrMXwwfXdoaWxlKChsfDApPChjW2o+PjJdfDApKTtpPWQ7cmV0dXJufWZ1
bmN0aW9uIGlkKGEpe2E9YXwwO3JldHVybiAwfWZ1bmN0aW9uIGpkKGEpe2E9YXwwO3JldHVybiAy
fWZ1bmN0aW9uIGtkKGEsYixjLGQpe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9ZHwwO2I9aTtsZChhLDAs
YyxkKTtpPWI7cmV0dXJufWZ1bmN0aW9uIGxkKGEsYixkLGUpe2E9YXwwO2I9YnwwO2Q9ZHwwO2U9
ZXwwO3ZhciBmPTAsaD0wLGo9MCxrPTAsbD0wLG09MCxuPTAuMDtiPWk7aT1pKzE2fDA7Zj1iO2g9
Y1thKzU2Pj4yXXwwO2E6ZG97aWYoKGh8MCk+MCl7aj1hKzE2fDA7az1jW2o+PjJdfDA7bD0wO3do
aWxlKDEpe209bCsxfDA7aWYoKGNbKGNbaysobDw8Mik+PjJdfDApKzQ5NjU4OD4+Ml18MCk9PS0x
KXticmVha31pZigobXwwKTwoaHwwKSl7bD1tfWVsc2V7YnJlYWsgYX19aWYoKGx8MCk+LTEpe2Nb
Zj4+Ml09bDtwYigzOTkyLGZ8MCl8MDtrPWNbKGNbaj4+Ml18MCkrKGw8PDIpPj4yXXwwO249K1Bh
KCsoKCsoZHwwKSstNjkuMCkvMTIuMCkpKjQ0MC4wO2dbY1sodWQoaysxNnwwLGErNDR8MCl8MCk+
PjJdPj4yXT1uO2dbY1sodWQoKGNbKGNbaj4+Ml18MCkrKGw8PDIpPj4yXXwwKSsxNnwwLGErMzJ8
MCl8MCk+PjJdPj4yXT0rKGV8MCkvMTI3LjA7Z1tjWyh1ZCgoY1soY1tqPj4yXXwwKSsobDw8Mik+
PjJdfDApKzE2fDAsYSsyMHwwKXwwKT4+Ml0+PjJdPTEuMDtjWyhjWyhjW2o+PjJdfDApKyhsPDwy
KT4+Ml18MCkrNDk2NTg4Pj4yXT1kO2k9YjtyZXR1cm59fX13aGlsZSgwKTtVYSg3MTIwKXwwO2k9
YjtyZXR1cm59ZnVuY3Rpb24gbWQoYSxiLGQpe2E9YXwwO2I9YnwwO2Q9ZHwwO3ZhciBlPTAsZj0w
LGg9MCxqPTAsaz0wLGw9MDtiPWk7aT1pKzE2fDA7ZT1iO2Y9Y1thKzU2Pj4yXXwwO2E6ZG97aWYo
KGZ8MCk+MCl7aD1hKzE2fDA7aj1jW2g+PjJdfDA7az0wO3doaWxlKDEpe2w9aysxfDA7aWYoKGNb
KGNbaisoazw8Mik+PjJdfDApKzQ5NjU4OD4+Ml18MCk9PShkfDApKXticmVha31pZigobHwwKTwo
ZnwwKSl7az1sfWVsc2V7YnJlYWsgYX19aWYoKGt8MCk+LTEpe2NbZT4+Ml09aztwYigzOTc2LGV8
MCl8MDtnW2NbKHVkKChjWyhjW2g+PjJdfDApKyhrPDwyKT4+Ml18MCkrMTZ8MCxhKzIwfDApfDAp
Pj4yXT4+Ml09MC4wO2NbKGNbKGNbaD4+Ml18MCkrKGs8PDIpPj4yXXwwKSs0OTY1ODg+PjJdPS0x
O2k9YjtyZXR1cm59fX13aGlsZSgwKTtVYSg3MTQ0KXwwO2k9YjtyZXR1cm59ZnVuY3Rpb24gbmQo
YSxiLGMsZCl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7cmV0dXJufWZ1bmN0aW9uIG9kKGEsYixj
KXthPWF8MDtiPWJ8MDtjPWN8MDtyZXR1cm59ZnVuY3Rpb24gcGQoYSxiLGMpe2E9YXwwO2I9Ynww
O2M9K2M7dmFyIGQ9MDtkPWk7cWQoYSxiLGMpO2k9ZDtyZXR1cm59ZnVuY3Rpb24gcWQoYixkLGUp
e2I9YnwwO2Q9ZHwwO2U9K2U7dmFyIGY9MCxoPTAsaj0wLGs9MCxsPTAsbT0wLG49MCxvPTAscD0w
LHE9MCxyPTAscz0wLHQ9MDtmPWk7aT1pKzE2fDA7aD1mO2o9Yis1NnwwO2lmKChjW2o+PjJdfDAp
PD0wKXtpPWY7cmV0dXJufWs9YisxNnwwO2I9aCsxfDA7bD1oKzh8MDttPWgrNHwwO249MDt3aGls
ZSgxKXtvPWNbKGNbaz4+Ml18MCkrKG48PDIpPj4yXXwwO3A9Vm8oZHwwKXwwO2lmKHA+Pj4wPjQy
OTQ5NjcyNzkpe3E9NDticmVha31pZihwPj4+MDwxMSl7YVtoXT1wPDwxO3I9Yn1lbHNle3M9cCsx
NiYtMTY7dD1BbyhzKXwwO2NbbD4+Ml09dDtjW2g+PjJdPXN8MTtjW20+PjJdPXA7cj10fVhvKHJ8
MCxkfDAscHwwKXwwO2FbcitwfDBdPTA7Z1tjWyh1ZChvKzE2fDAsaCl8MCk+PjJdPj4yXT1lO2lm
KCEoKGFbaF0mMSk9PTApKXtDbyhjW2w+PjJdfDApfW89bisxfDA7aWYoKG98MCk8KGNbaj4+Ml18
MCkpe249b31lbHNle3E9MTE7YnJlYWt9fWlmKChxfDApPT00KXthZygwKX1lbHNlIGlmKChxfDAp
PT0xMSl7aT1mO3JldHVybn19ZnVuY3Rpb24gcmQoYSxiKXthPWF8MDtiPWJ8MDt2YXIgYz0wLGQ9
MC4wO2M9aTtkPStzZChhLGIpO2k9YztyZXR1cm4rZH1mdW5jdGlvbiBzZChiLGQpe2I9YnwwO2Q9
ZHwwO3ZhciBlPTAsZj0wLGg9MCxqPTAsaz0wLGw9MCxtPTAuMDtlPWk7aT1pKzE2fDA7Zj1lO2g9
Y1tjW2IrMTY+PjJdPj4yXXwwO2I9Vm8oZHwwKXwwO2lmKGI+Pj4wPjQyOTQ5NjcyNzkpe2FnKDAp
fWlmKGI+Pj4wPDExKXthW2ZdPWI8PDE7aj1mKzF8MH1lbHNle2s9YisxNiYtMTY7bD1BbyhrKXww
O2NbZis4Pj4yXT1sO2NbZj4+Ml09a3wxO2NbZis0Pj4yXT1iO2o9bH1YbyhqfDAsZHwwLGJ8MCl8
MDthW2orYnwwXT0wO209K2dbY1sodWQoaCsxNnwwLGYpfDApPj4yXT4+Ml07aWYoKGFbZl0mMSk9
PTApe2k9ZTtyZXR1cm4rbX1DbyhjW2YrOD4+Ml18MCk7aT1lO3JldHVybittfWZ1bmN0aW9uIHRk
KGEpe2E9YXwwO05hKGF8MCl8MDtHYSgpfWZ1bmN0aW9uIHVkKGIsZCl7Yj1ifDA7ZD1kfDA7dmFy
IGU9MCxmPTAsZz0wLGg9MCxqPTAsaz0wLGw9MCxtPTAsbj0wLG89MCxwPTAscT0wO2U9aTtpPWkr
MTZ8MDtmPWU7Zz12ZChiLGYsZCl8MDtoPWNbZz4+Ml18MDtpZigoaHwwKSE9MCl7aj1oO2s9aisy
OHwwO2k9ZTtyZXR1cm4ga3wwfWg9QW8oMzIpfDA7bD1oKzE2fDA7aWYoKGFbZF0mMSk9PTApe2Nb
bCswPj4yXT1jW2QrMD4+Ml07Y1tsKzQ+PjJdPWNbZCs0Pj4yXTtjW2wrOD4+Ml09Y1tkKzg+PjJd
fWVsc2V7bT1jW2QrOD4+Ml18MDtuPWNbZCs0Pj4yXXwwO2lmKG4+Pj4wPjQyOTQ5NjcyNzkpe2Fn
KDApfWlmKG4+Pj4wPDExKXthW2xdPW48PDE7bz1oKzE3fDB9ZWxzZXtkPW4rMTYmLTE2O3A9QW8o
ZCl8MDtjW2grMjQ+PjJdPXA7Y1tsPj4yXT1kfDE7Y1toKzIwPj4yXT1uO289cH1YbyhvfDAsbXww
LG58MCl8MDthW28rbnwwXT0wfWNbaCsyOD4+Ml09MDtuPWNbZj4+Ml18MDtjW2g+PjJdPTA7Y1to
KzQ+PjJdPTA7Y1toKzg+PjJdPW47Y1tnPj4yXT1oO249Y1tjW2I+PjJdPj4yXXwwO2lmKChufDAp
PT0wKXtxPWh9ZWxzZXtjW2I+PjJdPW47cT1jW2c+PjJdfDB9d2QoY1tiKzQ+PjJdfDAscSk7cT1i
Kzh8MDtjW3E+PjJdPShjW3E+PjJdfDApKzE7aj1oO2s9aisyOHwwO2k9ZTtyZXR1cm4ga3wwfWZ1
bmN0aW9uIHZkKGIsZCxlKXtiPWJ8MDtkPWR8MDtlPWV8MDt2YXIgZj0wLGc9MCxoPTAsaj0wLGs9
MCxsPTAsbT0wLG49MCxvPTAscD0wLHE9MCxyPTAscz0wLHQ9MCx1PTAsdj0wLHc9MCx4PTAseT0w
LHo9MCxBPTAsQj0wLEM9MDtmPWk7Zz1jW2IrND4+Ml18MDtpZigoZ3wwKT09MCl7aD1iKzR8MDtj
W2Q+PjJdPWg7aj1oO2k9ZjtyZXR1cm4ganwwfWg9YVtlXXwwO2I9KGgmMSk9PTA7az0oaCYyNTUp
Pj4+MTtoPWUrMXwwO2w9ZSs4fDA7bT1lKzR8MDtlPWc7d2hpbGUoMSl7Zz1lKzE2fDA7aWYoYil7
bj1rfWVsc2V7bj1jW20+PjJdfDB9bz1hW2ddfDA7cD0obyYxKT09MDtpZihwKXtxPShvJjI1NSk+
Pj4xfWVsc2V7cT1jW2UrMjA+PjJdfDB9aWYoYil7cj1ofWVsc2V7cj1jW2w+PjJdfDB9aWYocCl7
cz1nKzF8MH1lbHNle3M9Y1tlKzI0Pj4yXXwwfXQ9cT4+PjA8bj4+PjA7dT1SbyhyLHMsdD9xOm4p
fDA7aWYoKHV8MCk9PTApe3Y9bj4+PjA8cT4+PjA/LTE6dCYxfWVsc2V7dj11fWlmKCh2fDApPDAp
e3U9Y1tlPj4yXXwwO2lmKCh1fDApPT0wKXt3PTE3O2JyZWFrfWVsc2V7ZT11O2NvbnRpbnVlfX1p
ZihwKXt4PShvJjI1NSk+Pj4xfWVsc2V7eD1jW2UrMjA+PjJdfDB9aWYoYil7eT1rfWVsc2V7eT1j
W20+PjJdfDB9aWYocCl7ej1nKzF8MH1lbHNle3o9Y1tlKzI0Pj4yXXwwfWlmKGIpe0E9aH1lbHNl
e0E9Y1tsPj4yXXwwfWc9eT4+PjA8eD4+PjA7cD1Sbyh6LEEsZz95OngpfDA7aWYoKHB8MCk9PTAp
e0I9eD4+PjA8eT4+PjA/LTE6ZyYxfWVsc2V7Qj1wfWlmKChCfDApPj0wKXt3PTMzO2JyZWFrfUM9
ZSs0fDA7cD1jW0M+PjJdfDA7aWYoKHB8MCk9PTApe3c9MzI7YnJlYWt9ZWxzZXtlPXB9fWlmKCh3
fDApPT0xNyl7Y1tkPj4yXT1lO2o9ZTtpPWY7cmV0dXJuIGp8MH1lbHNlIGlmKCh3fDApPT0zMil7
Y1tkPj4yXT1lO2o9QztpPWY7cmV0dXJuIGp8MH1lbHNlIGlmKCh3fDApPT0zMyl7Y1tkPj4yXT1l
O2o9ZDtpPWY7cmV0dXJuIGp8MH1yZXR1cm4gMH1mdW5jdGlvbiB3ZChiLGQpe2I9YnwwO2Q9ZHww
O3ZhciBlPTAsZj0wLGc9MCxoPTAsaj0wLGs9MCxsPTAsbT0wLG49MCxvPTAscD0wLHE9MCxyPTAs
cz0wLHQ9MCx1PTAsdj0wO2U9aTtmPShkfDApPT0oYnwwKTthW2QrMTJ8MF09ZiYxO2lmKGYpe2k9
ZTtyZXR1cm59ZWxzZXtnPWR9d2hpbGUoMSl7aD1nKzh8MDtqPWNbaD4+Ml18MDtkPWorMTJ8MDtp
ZigoYVtkXXwwKSE9MCl7az0zNzticmVha31sPWorOHwwO209Y1tsPj4yXXwwO2Y9Y1ttPj4yXXww
O2lmKChmfDApPT0oanwwKSl7bj1jW20rND4+Ml18MDtpZigobnwwKT09MCl7az03O2JyZWFrfW89
bisxMnwwO2lmKChhW29dfDApIT0wKXtrPTc7YnJlYWt9YVtkXT0xO2FbbSsxMnwwXT0obXwwKT09
KGJ8MCl8MDthW29dPTF9ZWxzZXtpZigoZnwwKT09MCl7az0yNDticmVha31vPWYrMTJ8MDtpZigo
YVtvXXwwKSE9MCl7az0yNDticmVha31hW2RdPTE7YVttKzEyfDBdPShtfDApPT0oYnwwKXwwO2Fb
b109MX1pZigobXwwKT09KGJ8MCkpe2s9Mzc7YnJlYWt9ZWxzZXtnPW19fWlmKChrfDApPT03KXtp
ZigoY1tqPj4yXXwwKT09KGd8MCkpe3A9ajtxPW07cj1qfWVsc2V7Yj1qKzR8MDtvPWNbYj4+Ml18
MDtkPWNbbz4+Ml18MDtjW2I+PjJdPWQ7aWYoKGR8MCk9PTApe3M9bX1lbHNle2NbZCs4Pj4yXT1q
O3M9Y1tsPj4yXXwwfWQ9bys4fDA7Y1tkPj4yXT1zO3M9Y1tsPj4yXXwwO2lmKChjW3M+PjJdfDAp
PT0oanwwKSl7Y1tzPj4yXT1vfWVsc2V7Y1tzKzQ+PjJdPW99Y1tvPj4yXT1qO2NbbD4+Ml09bztz
PWNbZD4+Ml18MDtwPW87cT1zO3I9Y1tzPj4yXXwwfWFbcCsxMnwwXT0xO2FbcSsxMnwwXT0wO3A9
cis0fDA7cz1jW3A+PjJdfDA7Y1txPj4yXT1zO2lmKChzfDApIT0wKXtjW3MrOD4+Ml09cX1zPXEr
OHwwO2Nbcis4Pj4yXT1jW3M+PjJdO289Y1tzPj4yXXwwO2lmKChjW28+PjJdfDApPT0ocXwwKSl7
Y1tvPj4yXT1yfWVsc2V7Y1tvKzQ+PjJdPXJ9Y1twPj4yXT1xO2Nbcz4+Ml09cjtpPWU7cmV0dXJu
fWVsc2UgaWYoKGt8MCk9PTI0KXtpZigoY1tqPj4yXXwwKT09KGd8MCkpe3I9Zys0fDA7cz1jW3I+
PjJdfDA7Y1tqPj4yXT1zO2lmKChzfDApPT0wKXt0PW19ZWxzZXtjW3MrOD4+Ml09ajt0PWNbbD4+
Ml18MH1jW2g+PjJdPXQ7dD1jW2w+PjJdfDA7aWYoKGNbdD4+Ml18MCk9PShqfDApKXtjW3Q+PjJd
PWd9ZWxzZXtjW3QrND4+Ml09Z31jW3I+PjJdPWo7Y1tsPj4yXT1nO3U9Zzt2PWNbaD4+Ml18MH1l
bHNle3U9ajt2PW19YVt1KzEyfDBdPTE7YVt2KzEyfDBdPTA7dT12KzR8MDttPWNbdT4+Ml18MDtq
PWNbbT4+Ml18MDtjW3U+PjJdPWo7aWYoKGp8MCkhPTApe2Nbais4Pj4yXT12fWo9dis4fDA7Y1tt
Kzg+PjJdPWNbaj4+Ml07dT1jW2o+PjJdfDA7aWYoKGNbdT4+Ml18MCk9PSh2fDApKXtjW3U+PjJd
PW19ZWxzZXtjW3UrND4+Ml09bX1jW20+PjJdPXY7Y1tqPj4yXT1tO2k9ZTtyZXR1cm59ZWxzZSBp
Zigoa3wwKT09Mzcpe2k9ZTtyZXR1cm59fWZ1bmN0aW9uIHhkKGEpe2E9YXwwO3JldHVybiAyfWZ1
bmN0aW9uIHlkKGEpe2E9YXwwO3JldHVybiAwfWZ1bmN0aW9uIHpkKGEsYixkLGUpe2E9YXwwO2I9
YnwwO2Q9ZHwwO2U9ZXwwO3ZhciBmPTAsaj0wLGs9MC4wLGw9MC4wLG09MC4wLG49MC4wLG89MC4w
LHA9MC4wLHE9MC4wLHI9MC4wLHM9MCx0PTAuMCx1PTAsdj0wLHc9MCx4PTAseT0wLHo9MCxBPTAs
Qj0wLEM9MC4wLEQ9MC4wLEU9MC4wLEY9MCxHPTAuMCxIPTAsST0wLEo9MC4wLEs9MC4wLEw9MC4w
LE09MCxOPTAsTz0wLjAsUD0wLjAsUT0wLjAsUj0wLFM9MCxUPTAuMCxZPTAuMCxaPTAuMCxfPTAu
MCwkPTAuMCxkYT0wLGZhPTAsZ2E9MC4wLGhhPTAuMCxpYT0wLjAsamE9MCxrYT0wLGxhPTAuMCxt
YT0wLG5hPTAsb2E9MC4wLHBhPTAuMCxxYT0wLjAscmE9MC4wLHNhPTAuMCx0YT0wLjAsdWE9MC4w
LHZhPTAuMCx3YT0wLjAseGE9MC4wLHlhPTAuMCx6YT0wLjAsQWE9MC4wLEJhPTAuMCxDYT0wLjAs
RGE9MC4wLEVhPTAsRmE9MCxHYT0wLjAsSGE9MC4wLElhPTAuMCxKYT0wLEthPTAsTGE9MC4wLE1h
PTAsTmE9MCxPYT0wLjAsUGE9MC4wLFFhPTAuMCxSYT0wLFNhPTAsVGE9MC4wLFVhPTAuMCxWYT0w
LFdhPTAsWGE9MC4wLFlhPTAuMCxaYT0wLjAsX2E9MCwkYT0wLGFiPTAuMCxiYj0wLGNiPTAsZGI9
MC4wLGViPTAsZmI9MCxnYj0wLjAsaGI9MCxpYj0wLGpiPTAuMCxrYj0wLGxiPTAsbWI9MC4wLG5i
PTAsb2I9MCxwYj0wLjAscWI9MCxyYj0wLHNiPTAuMCx0Yj0wLHViPTAsdmI9MC4wLHdiPTAseGI9
MCx5Yj0wLjAsemI9MCxBYj0wLEJiPTAuMCxDYj0wLjAsRGI9MC4wLEViPTAuMCxGYj0wLjAsR2I9
MC4wLEhiPTAuMCxJYj0wLjAsSmI9MCxLYj0wLExiPTAsTWI9MCxOYj0wLE9iPTAsUGI9MCxRYj0w
LFJiPTAsU2I9MCxUYj0wLFViPTAsVmI9MCxXYj0wLFhiPTAsWWI9MCxaYj0wLF9iPTAsJGI9MCxh
Yz0wLGJjPTAsY2M9MCxkYz0wLGVjPTAsZmM9MCxnYz0wLGhjPTAsaWM9MCxqYz0wLGtjPTAsbGM9
MCxtYz0wLG5jPTAsb2M9MCxwYz0wLHFjPTAscmM9MCxzYz0wLHRjPTAsdWM9MCx2Yz0wLHdjPTAs
eGM9MCx5Yz0wLHpjPTAsQWM9MCxCYz0wLENjPTAsRGM9MCxFYz0wLEZjPTAsR2M9MCxIYz0wLElj
PTAsSmM9MCxLYz0wLExjPTAsTWM9MCxOYz0wLE9jPTAsUGM9MCxRYz0wLFJjPTAsU2M9MCxUYz0w
LFVjPTAsVmM9MCxXYz0wLFhjPTAsWWM9MCxaYz0wLF9jPTAsJGM9MCxhZD0wLGJkPTAsY2Q9MCxk
ZD0wLGVkPTAsZmQ9MCxnZD0wLGhkPTAsaWQ9MCxqZD0wLGtkPTAsbGQ9MCxtZD0wLG5kPTAsb2Q9
MCxwZD0wLHFkPTAscmQ9MCxzZD0wLHRkPTAsdWQ9MCx2ZD0wLHdkPTAseGQ9MCx5ZD0wLHpkPTAs
QWQ9MCxCZD0wLENkPTAsRGQ9MCxFZD0wLEZkPTAsR2Q9MCxIZD0wLElkPTAsSmQ9MCxLZD0wLExk
PTAsTWQ9MCxOZD0wLE9kPTAsUGQ9MCxRZD0wLFJkPTAsU2Q9MCxUZD0wLFVkPTAsVmQ9MCxXZD0w
LFhkPTAuMCxZZD0wLFpkPTAuMCxfZD0wLjAsJGQ9MC4wLGFlPTAsYmU9MC4wLGNlPTAuMCxkZT0w
LjAsZWU9MC4wLGZlPTAuMCxnZT0wLjAsaGU9MC4wLGllPTAuMCxqZT0wLjAsa2U9MC4wLGxlPTAu
MCxtZT0wLjAsbmU9MC4wLG9lPTAuMCxwZT0wLjA7ZD1pO2Y9Y1tlPj4yXXwwO2o9Y1tlKzQ+PjJd
fDA7az0rZ1thKzQ5NjIyOD4+Ml07bD0rYmEoKygrZ1thKzQ5NjIyND4+Ml0vaykpO209bCpsO2U9
YSs0OTYyMTJ8MDtuPTEuMC0gK2dbZT4+Ml0qbTtvPTEuMC1tO209bi9vO3A9bipuLyhvKm8pKy0x
LjA7bz0rVSgrKHA8MC4wPzAuMDpwKSk7cD1tLW87bj1sKihvKzEuMC1tKTttPStiYSgrKCtnW2Er
NDk2MjMyPj4yXS9rKSkvbCstMS4wO2w9K2dbYSs0OTYyNjQ+PjJdO289bCoxMi4wO3E9K2dbYSs0
OTYyNjg+PjJdKi4wMDEwMDAwMDAwNDc0OTc0NTEzO3I9K2dbYSs0OTYyODA+PjJdO3M9fn4oKCtj
YSgrcikrLTYuMDg2NzcwMDU3Njc4MjIzKSoxNy4zMTIyOTk3MjgzOTM1NTUrNjkuNSk7dD0rKHN8
MCk7dT1jWzUzMF18MDtkb3tpZigraFt1Pj4zXTx0KXt2PWNbMjEyND4+Ml18MDt3PTA7eD0wO3do
aWxlKDEpe3k9eCsxfDA7aWYoKHh8MCk+PSh2fDApKXt6PXc7QT14O2JyZWFrfUI9eTw8MTtpZigr
aFt1KyhCPDwzKT4+M108dCl7dz1CO3g9eX1lbHNle3o9QjtBPXk7YnJlYWt9fWlmKChBfDApIT0w
KXtpZigoQXwwKTwodnwwKSl7eD1BPDwxO0M9K2hbdSsoeCsgLTI8PDMpPj4zXTtEPSh0LUMpLygr
aFt1Kyh6PDwzKT4+M10tQyk7RT0raFt1Kyh4KyAtMTw8Myk+PjNdKigxLjAtRCkrRCoraFt1Kygo
enwxKTw8Myk+PjNdO2JyZWFrfWVsc2V7RT0raFt1Kygodjw8MSkrIC0xPDwzKT4+M107YnJlYWt9
fWVsc2V7Rj02fX1lbHNle0Y9Nn19d2hpbGUoMCk7aWYoKEZ8MCk9PTYpe0U9K2hbdSs4Pj4zXX1E
PUU7RT1yKnIqRCpEO0M9K2dbYSs0OTYyNzY+PjJdKkU7Rz1DKy0uNTt1PWNbNDc2XXwwO2Rve2lm
KCtoW3U+PjNdPHQpe3o9Y1sxOTA4Pj4yXXwwO0E9MDt4PTA7d2hpbGUoMSl7dz14KzF8MDtpZigo
eHwwKT49KHp8MCkpe0g9QTtJPXg7YnJlYWt9eT13PDwxO2lmKCtoW3UrKHk8PDMpPj4zXTx0KXtB
PXk7eD13fWVsc2V7SD15O0k9dzticmVha319aWYoKEl8MCkhPTApe2lmKChJfDApPCh6fDApKXt4
PUk8PDE7Sj0raFt1Kyh4KyAtMjw8Myk+PjNdO0s9KHQtSikvKCtoW3UrKEg8PDMpPj4zXS1KKTtM
PStoW3UrKHgrIC0xPDwzKT4+M10qKDEuMC1LKStLKitoW3UrKChIfDEpPDwzKT4+M107YnJlYWt9
ZWxzZXtMPStoW3UrKCh6PDwxKSsgLTE8PDMpPj4zXTticmVha319ZWxzZXtGPTE1fX1lbHNle0Y9
MTV9fXdoaWxlKDApO2lmKChGfDApPT0xNSl7TD0raFt1Kzg+PjNdfUs9TDtMPStnW2ErNDk2Mjg4
Pj4yXTt1PWNbMzY4XXwwO2Rve2lmKCtoW3U+PjNdPHQpe0g9Y1sxNDc2Pj4yXXwwO0k9MDt4PTA7
d2hpbGUoMSl7QT14KzF8MDtpZigoeHwwKT49KEh8MCkpe009STtOPXg7YnJlYWt9dj1BPDwxO2lm
KCtoW3UrKHY8PDMpPj4zXTx0KXtJPXY7eD1BfWVsc2V7TT12O049QTticmVha319aWYoKE58MCkh
PTApe2lmKChOfDApPChIfDApKXt4PU48PDE7Sj0raFt1Kyh4KyAtMjw8Myk+PjNdO089KHQtSikv
KCtoW3UrKE08PDMpPj4zXS1KKTtQPStoW3UrKHgrIC0xPDwzKT4+M10qKDEuMC1PKStPKitoW3Ur
KChNfDEpPDwzKT4+M107YnJlYWt9ZWxzZXtQPStoW3UrKChIPDwxKSsgLTE8PDMpPj4zXTticmVh
a319ZWxzZXtGPTI0fX1lbHNle0Y9MjR9fXdoaWxlKDApO2lmKChGfDApPT0yNCl7UD0raFt1Kzg+
PjNdfU89UDtQPUwqTCpPKk8qMTMuNjg5OTk5NTgwMzgzMztKPVArLTEuMDtRPStnW2ErNDk2Mjk2
Pj4yXTt1PWNbMzI2XXwwO2Rve2lmKCtoW3U+PjNdPHQpe009Y1sxMzA4Pj4yXXwwO049MDt4PTA7
d2hpbGUoMSl7ST14KzF8MDtpZigoeHwwKT49KE18MCkpe1I9TjtTPXg7YnJlYWt9ej1JPDwxO2lm
KCtoW3UrKHo8PDMpPj4zXTx0KXtOPXo7eD1JfWVsc2V7Uj16O1M9STticmVha319aWYoKFN8MCkh
PTApe2lmKChTfDApPChNfDApKXt4PVM8PDE7VD0raFt1Kyh4KyAtMjw8Myk+PjNdO1k9KHQtVCkv
KCtoW3UrKFI8PDMpPj4zXS1UKTtaPStoW3UrKHgrIC0xPDwzKT4+M10qKDEuMC1ZKStZKitoW3Ur
KChSfDEpPDwzKT4+M107YnJlYWt9ZWxzZXtaPStoW3UrKChNPDwxKSsgLTE8PDMpPj4zXTticmVh
a319ZWxzZXtGPTMzfX1lbHNle0Y9MzN9fXdoaWxlKDApO2lmKChGfDApPT0zMyl7Wj0raFt1Kzg+
PjNdfVk9USpaKjUuMDtaPXIrWTt1PWErNDk2MjkyfDA7UT0rZ1t1Pj4yXTtUPVEqWjtfPStYKCtU
KTskPUwqTztPPSQqNy40MDAwMDAwOTUzNjc0MzI7TD1QKzEuMDtQPStXKCtUKTtUPSthYSgrKEoq
XyksKyhPK0wqUCkpKjMuMDtSPWNbMjEwXXwwO2Rve2lmKCtoW1I+PjNdPHQpe1M9Y1s4NDQ+PjJd
fDA7eD0wO049MDt3aGlsZSgxKXtIPU4rMXwwO2lmKChOfDApPj0oU3wwKSl7ZGE9eDtmYT1OO2Jy
ZWFrfUk9SDw8MTtpZigraFtSKyhJPDwzKT4+M108dCl7eD1JO049SH1lbHNle2RhPUk7ZmE9SDti
cmVha319aWYoKGZhfDApIT0wKXtpZigoZmF8MCk8KFN8MCkpe049ZmE8PDE7Z2E9K2hbUisoTisg
LTI8PDMpPj4zXTtoYT0odC1nYSkvKCtoW1IrKGRhPDwzKT4+M10tZ2EpO2lhPStoW1IrKE4rIC0x
PDwzKT4+M10qKDEuMC1oYSkraGEqK2hbUisoKGRhfDEpPDwzKT4+M107YnJlYWt9ZWxzZXtpYT0r
aFtSKygoUzw8MSkrIC0xPDwzKT4+M107YnJlYWt9fWVsc2V7Rj00Mn19ZWxzZXtGPTQyfX13aGls
ZSgwKTtpZigoRnwwKT09NDIpe2lhPStoW1IrOD4+M119aGE9aWE7Uj1jWzcwXXwwO2Rve2lmKCto
W1I+PjNdPHQpe2RhPWNbMjg0Pj4yXXwwO2ZhPTA7Tj0wO3doaWxlKDEpe3g9TisxfDA7aWYoKE58
MCk+PShkYXwwKSl7amE9ZmE7a2E9TjticmVha31NPXg8PDE7aWYoK2hbUisoTTw8Myk+PjNdPHQp
e2ZhPU07Tj14fWVsc2V7amE9TTtrYT14O2JyZWFrfX1pZigoa2F8MCkhPTApe2lmKChrYXwwKTwo
ZGF8MCkpe049a2E8PDE7aWE9K2hbUisoTisgLTI8PDMpPj4zXTtnYT0odC1pYSkvKCtoW1IrKGph
PDwzKT4+M10taWEpO2xhPStoW1IrKE4rIC0xPDwzKT4+M10qKDEuMC1nYSkrZ2EqK2hbUisoKGph
fDEpPDwzKT4+M107YnJlYWt9ZWxzZXtsYT0raFtSKygoZGE8PDEpKyAtMTw8Myk+PjNdO2JyZWFr
fX1lbHNle0Y9NTF9fWVsc2V7Rj01MX19d2hpbGUoMCk7aWYoKEZ8MCk9PTUxKXtsYT0raFtSKzg+
PjNdfWdhPSgxLjAtaGEpKitWKDEwLjAsKyhsYS9yKi4wNTAwMDAwMDA3NDUwNTgwNikpO1I9Y1sx
NDBdfDA7ZG97aWYoK2hbUj4+M108dCl7amE9Y1s1NjQ+PjJdfDA7a2E9MDtOPTA7d2hpbGUoMSl7
ZmE9TisxfDA7aWYoKE58MCk+PShqYXwwKSl7bWE9a2E7bmE9TjticmVha31TPWZhPDwxO2lmKCto
W1IrKFM8PDMpPj4zXTx0KXtrYT1TO049ZmF9ZWxzZXttYT1TO25hPWZhO2JyZWFrfX1pZigobmF8
MCkhPTApe2lmKChuYXwwKTwoamF8MCkpe049bmE8PDE7bGE9K2hbUisoTisgLTI8PDMpPj4zXTtp
YT0odC1sYSkvKCtoW1IrKG1hPDwzKT4+M10tbGEpO29hPStoW1IrKE4rIC0xPDwzKT4+M10qKDEu
MC1pYSkraWEqK2hbUisoKG1hfDEpPDwzKT4+M107YnJlYWt9ZWxzZXtvYT0raFtSKygoamE8PDEp
KyAtMTw8Myk+PjNdO2JyZWFrfX1lbHNle0Y9NjB9fWVsc2V7Rj02MH19d2hpbGUoMCk7aWYoKEZ8
MCk9PTYwKXtvYT0raFtSKzg+PjNdfWlhPW9hO29hPWdhKmlhO2xhPTEuMC1pYTtwYT1oYSpsYTto
YT1wYSozLjA7cWE9b2EtaGE7cmE9cGEtb2E7cGE9cmEqNC4wO3NhPXFhK3BhO3RhPWxhKjMuMC1n
YTtsYT0wLjAtc2EvdGE7dWE9UCpxYS90YSsxLjA7dmE9Z2EraWErLTEuMDtpYT12YSo0LjA7Z2E9
KGlhK1Aqc2EpL3RhKzEuMDt3YT1xYSpzYTt4YT1fKl87eWE9dGEqdGE7emE9K2dbYSs0OTYyODQ+
PjJdO0FhPXphKigoVCsgK2FhKCsoXyoobGEqdWErZ2EqcWEvdGEpKSwrKHVhKmdhK3hhKndhL3lh
KSkrNi4yODMxODk3NzM1NTk1NykvWik7Uj1+fkFhO2dhPUFhLSArKFJ8MCk7QmE9K2dbYSs0OTYz
MDA+PjJdO0NhPTAuMC0oQmErLTEuMCk7RGE9QmEqLjk5OTU5OTk5MzIyODkxMjQ7bWE9Y1syNTJd
fDA7ZG97aWYoK2hbbWE+PjNdPHQpe25hPWNbMTAxMj4+Ml18MDtOPTA7a2E9MDt3aGlsZSgxKXtk
YT1rYSsxfDA7aWYoKGthfDApPj0obmF8MCkpe0VhPU47RmE9a2E7YnJlYWt9ZmE9ZGE8PDE7aWYo
K2hbbWErKGZhPDwzKT4+M108dCl7Tj1mYTtrYT1kYX1lbHNle0VhPWZhO0ZhPWRhO2JyZWFrfX1p
ZigoRmF8MCkhPTApe2lmKChGYXwwKTwobmF8MCkpe2thPUZhPDwxO0dhPStoW21hKyhrYSsgLTI8
PDMpPj4zXTtIYT0odC1HYSkvKCtoW21hKyhFYTw8Myk+PjNdLUdhKTtJYT0raFttYSsoa2ErIC0x
PDwzKT4+M10qKDEuMC1IYSkrSGEqK2hbbWErKChFYXwxKTw8Myk+PjNdO2JyZWFrfWVsc2V7SWE9
K2hbbWErKChuYTw8MSkrIC0xPDwzKT4+M107YnJlYWt9fWVsc2V7Rj02OX19ZWxzZXtGPTY5fX13
aGlsZSgwKTtpZigoRnwwKT09Njkpe0lhPStoW21hKzg+PjNdfUhhPShEYStDYSpJYSouODk5OTk5
OTc2MTU4MTQyMSkqLjAwMTAwMDAwMDA0NzQ5NzQ1MTM7bWE9Y1s4NjhdfDA7ZG97aWYoK2hbbWE+
PjNdPHQpe0VhPWNbMzQ3Nj4+Ml18MDtGYT0wO2thPTA7d2hpbGUoMSl7Tj1rYSsxfDA7aWYoKGth
fDApPj0oRWF8MCkpe0phPUZhO0thPWthO2JyZWFrfWphPU48PDE7aWYoK2hbbWErKGphPDwzKT4+
M108dCl7RmE9amE7a2E9Tn1lbHNle0phPWphO0thPU47YnJlYWt9fWlmKChLYXwwKSE9MCl7aWYo
KEthfDApPChFYXwwKSl7a2E9S2E8PDE7SWE9K2hbbWErKGthKyAtMjw8Myk+PjNdO0RhPSh0LUlh
KS8oK2hbbWErKEphPDwzKT4+M10tSWEpO0xhPStoW21hKyhrYSsgLTE8PDMpPj4zXSooMS4wLURh
KStEYSoraFttYSsoKEphfDEpPDwzKT4+M107YnJlYWt9ZWxzZXtMYT0raFttYSsoKEVhPDwxKSsg
LTE8PDMpPj4zXTticmVha319ZWxzZXtGPTc4fX1lbHNle0Y9Nzh9fXdoaWxlKDApO2lmKChGfDAp
PT03OCl7TGE9K2hbbWErOD4+M119RGE9TGE7TGE9MS4wLURhO0lhPUxhKi41O0dhPStnW2ErNDk2
MzA0Pj4yXSouMjU7bWE9Y1s2MDhdfDA7ZG97aWYoK2hbbWE+PjNdPHQpe0phPWNbMjQzNj4+Ml18
MDtLYT0wO2thPTA7d2hpbGUoMSl7RmE9a2ErMXwwO2lmKChrYXwwKT49KEphfDApKXtNYT1LYTtO
YT1rYTticmVha31uYT1GYTw8MTtpZigraFttYSsobmE8PDMpPj4zXTx0KXtLYT1uYTtrYT1GYX1l
bHNle01hPW5hO05hPUZhO2JyZWFrfX1pZigoTmF8MCkhPTApe2lmKChOYXwwKTwoSmF8MCkpe2th
PU5hPDwxO09hPStoW21hKyhrYSsgLTI8PDMpPj4zXTtQYT0odC1PYSkvKCtoW21hKyhNYTw8Myk+
PjNdLU9hKTtRYT0raFttYSsoa2ErIC0xPDwzKT4+M10qKDEuMC1QYSkrUGEqK2hbbWErKChNYXwx
KTw8Myk+PjNdO2JyZWFrfWVsc2V7UWE9K2hbbWErKChKYTw8MSkrIC0xPDwzKT4+M107YnJlYWt9
fWVsc2V7Rj04N319ZWxzZXtGPTg3fX13aGlsZSgwKTtpZigoRnwwKT09ODcpe1FhPStoW21hKzg+
PjNdfVBhPVFhO1FhPUdhKy45ODAwMDAwMTkwNzM0ODYzLVBhO21hPWNbNjc0XXwwO2Rve2lmKCto
W21hPj4zXTx0KXtNYT1jWzI3MDA+PjJdfDA7TmE9MDtrYT0wO3doaWxlKDEpe0thPWthKzF8MDtp
Zigoa2F8MCk+PShNYXwwKSl7UmE9TmE7U2E9a2E7YnJlYWt9RWE9S2E8PDE7aWYoK2hbbWErKEVh
PDwzKT4+M108dCl7TmE9RWE7a2E9S2F9ZWxzZXtSYT1FYTtTYT1LYTticmVha319aWYoKFNhfDAp
IT0wKXtpZigoU2F8MCk8KE1hfDApKXtrYT1TYTw8MTtPYT0raFttYSsoa2ErIC0yPDwzKT4+M107
VGE9KHQtT2EpLygraFttYSsoUmE8PDMpPj4zXS1PYSk7VWE9K2hbbWErKGthKyAtMTw8Myk+PjNd
KigxLjAtVGEpK1RhKitoW21hKygoUmF8MSk8PDMpPj4zXTticmVha31lbHNle1VhPStoW21hKygo
TWE8PDEpKyAtMTw8Myk+PjNdO2JyZWFrfX1lbHNle0Y9OTZ9fWVsc2V7Rj05Nn19d2hpbGUoMCk7
aWYoKEZ8MCk9PTk2KXtVYT0raFttYSs4Pj4zXX1UYT1VYTtVYT1RYSpUYTtPYT0rKChzfDApPDg4
fDApKlFhKlRhKjEuMzk2OTc5OTc2MTQyNjMxNmUtOTttYT1CYT4wLjA7VGE9K2dbYSs0OTYzMDg+
PjJdO1FhPStnW2ErNDk2MzEyPj4yXTtSYT1jWzc5NF18MDtkb3tpZigraFtSYT4+M108dCl7U2E9
Y1szMTgwPj4yXXwwO2thPTA7TmE9MDt3aGlsZSgxKXtKYT1OYSsxfDA7aWYoKE5hfDApPj0oU2F8
MCkpe1ZhPWthO1dhPU5hO2JyZWFrfUthPUphPDwxO2lmKCtoW1JhKyhLYTw8Myk+PjNdPHQpe2th
PUthO05hPUphfWVsc2V7VmE9S2E7V2E9SmE7YnJlYWt9fWlmKChXYXwwKSE9MCl7aWYoKFdhfDAp
PChTYXwwKSl7TmE9V2E8PDE7WGE9K2hbUmErKE5hKyAtMjw8Myk+PjNdO1lhPSh0LVhhKS8oK2hb
UmErKFZhPDwzKT4+M10tWGEpO1phPStoW1JhKyhOYSsgLTE8PDMpPj4zXSooMS4wLVlhKStZYSor
aFtSYSsoKFZhfDEpPDwzKT4+M107YnJlYWt9ZWxzZXtaYT0raFtSYSsoKFNhPDwxKSsgLTE8PDMp
Pj4zXTticmVha319ZWxzZXtGPTEwNX19ZWxzZXtGPTEwNX19d2hpbGUoMCk7aWYoKEZ8MCk9PTEw
NSl7WmE9K2hbUmErOD4+M119WWE9K2JhKCsoMC4wLVRhLyhRYSpaYSkpKTtSYT1CYTwxLjA7WmE9
K2dbYSs0OTYzMjA+PjJdO1FhPStiYSgrKDAuMC0gK2dbYSs0OTYzMTY+PjJdL1phKSk7VGE9WmEq
K2dbYSs0OTYzMjQ+PjJdO1phPUNhKitnW2ErNDk2MzMyPj4yXTtWYT1jWzcyOF18MDtkb3tpZigr
aFtWYT4+M108dCl7V2E9Y1syOTE2Pj4yXXwwO05hPTA7a2E9MDt3aGlsZSgxKXtNYT1rYSsxfDA7
aWYoKGthfDApPj0oV2F8MCkpe19hPU5hOyRhPWthO2JyZWFrfUphPU1hPDwxO2lmKCtoW1ZhKyhK
YTw8Myk+PjNdPHQpe05hPUphO2thPU1hfWVsc2V7X2E9SmE7JGE9TWE7YnJlYWt9fWlmKCgkYXww
KSE9MCl7aWYoKCRhfDApPChXYXwwKSl7a2E9JGE8PDE7Q2E9K2hbVmErKGthKyAtMjw8Myk+PjNd
O1hhPSh0LUNhKS8oK2hbVmErKF9hPDwzKT4+M10tQ2EpO2FiPStoW1ZhKyhrYSsgLTE8PDMpPj4z
XSooMS4wLVhhKStYYSoraFtWYSsoKF9hfDEpPDwzKT4+M107YnJlYWt9ZWxzZXthYj0raFtWYSso
KFdhPDwxKSsgLTE8PDMpPj4zXTticmVha319ZWxzZXtGPTExNH19ZWxzZXtGPTExNH19d2hpbGUo
MCk7aWYoKEZ8MCk9PTExNCl7YWI9K2hbVmErOD4+M119WGE9YWIqLjIwMDAwMDAwMjk4MDIzMjI0
O2FiPVphKy0xLjA7Q2E9R2EtKFBhKy4wMTk5OTk5OTk1NTI5NjUxNjQpO1BhPTAuMC1JYTtHYT1v
YStwYS1oYTtoYT0wLjAtR2EvdGE7cGE9KGlhK1AqR2EpL3RhKzEuMDtQPXFhKkdhO1ZhPX5+KHph
KigoVCsgK2FhKCsoXyoodWEqaGErcWEqcGEvdGEpKSwrKHVhKnBhK3hhKlAveWEpKSs2LjI4MzE4
OTc3MzU1OTU3KS9aKSk7Wj0xLjAvdGE7eGE9ci1ZO1k9eGEqUTtwYT0rWCgrWSk7dWE9K1coK1kp
O1k9K2FhKCsoSipwYSksKyhPK0wqdWEpKSozLjA7TD1xYSp1YS90YSsxLjA7Tz0oaWErc2EqdWEp
L3RhKzEuMDtzYT1wYSpwYTtKPXphKigoWSsgK2FhKCsocGEqKGxhKkwrcWEqTy90YSkpLCsoTCpP
K3dhKnNhL3lhKSkrNi4yODMxODk3NzM1NTk1NykveGEpO19hPX5+Sjt3YT0rKF9hKzF8MCktSjtP
PShpYStHYSp1YSkvdGErMS4wOyRhPX5+KHphKigoWSsgK2FhKCsocGEqKGhhKkwrcWEqTy90YSkp
LCsoTCpPK1Aqc2EveWEpKSs2LjI4MzE4OTc3MzU1OTU3KS94YSkpO3hhPUotICsoX2F8MCk7Sj0r
KFIrMXwwKS1BYTtBYT0wLjAtcipEKitnW2ErNDk2MzM2Pj4yXTtSPWNbNDE4XXwwO2Rve2lmKCto
W1I+PjNdPHQpe19hPWNbMTY3Nj4+Ml18MDtrYT0wO05hPTA7d2hpbGUoMSl7U2E9TmErMXwwO2lm
KChOYXwwKT49KF9hfDApKXtiYj1rYTtjYj1OYTticmVha31NYT1TYTw8MTtpZigraFtSKyhNYTw8
Myk+PjNdPHQpe2thPU1hO05hPVNhfWVsc2V7YmI9TWE7Y2I9U2E7YnJlYWt9fWlmKChjYnwwKSE9
MCl7aWYoKGNifDApPChfYXwwKSl7TmE9Y2I8PDE7RD0raFtSKyhOYSsgLTI8PDMpPj4zXTt5YT0o
dC1EKS8oK2hbUisoYmI8PDMpPj4zXS1EKTtkYj0raFtSKyhOYSsgLTE8PDMpPj4zXSooMS4wLXlh
KSt5YSoraFtSKygoYmJ8MSk8PDMpPj4zXTticmVha31lbHNle2RiPStoW1IrKChfYTw8MSkrIC0x
PDwzKT4+M107YnJlYWt9fWVsc2V7Rj0xMjN9fWVsc2V7Rj0xMjN9fXdoaWxlKDApO2lmKChGfDAp
PT0xMjMpe2RiPStoW1IrOD4+M119eWE9QWEqK1coKyhRKihyL2RiKSkpO2RiPUUqK2dbYSs0OTYz
NDA+PjJdO0U9LjUtQztDPStnW3U+PjJdO1E9K1coKyhyKkMpKTtBYT0rZ1thKzQ5NjM0ND4+Ml07
dT1jWzkwOF18MDtkb3tpZigraFt1Pj4zXTx0KXtSPWNbMzYzNj4+Ml18MDtiYj0wO2NiPTA7d2hp
bGUoMSl7TmE9Y2IrMXwwO2lmKChjYnwwKT49KFJ8MCkpe2ViPWJiO2ZiPWNiO2JyZWFrfWthPU5h
PDwxO2lmKCtoW3UrKGthPDwzKT4+M108dCl7YmI9a2E7Y2I9TmF9ZWxzZXtlYj1rYTtmYj1OYTti
cmVha319aWYoKGZifDApIT0wKXtpZigoZmJ8MCk8KFJ8MCkpe2NiPWZiPDwxO0Q9K2hbdSsoY2Ir
IC0yPDwzKT4+M107c2E9KHQtRCkvKCtoW3UrKGViPDwzKT4+M10tRCk7Z2I9K2hbdSsoY2IrIC0x
PDwzKT4+M10qKDEuMC1zYSkrc2EqK2hbdSsoKGVifDEpPDwzKT4+M107YnJlYWt9ZWxzZXtnYj0r
aFt1KygoUjw8MSkrIC0xPDwzKT4+M107YnJlYWt9fWVsc2V7Rj0xMzJ9fWVsc2V7Rj0xMzJ9fXdo
aWxlKDApO2lmKChGfDApPT0xMzIpe2diPStoW3UrOD4+M119c2E9K1YoMTAuMCwrKEFhKmdiKSk7
Z2I9USooMC4wLXNhKjIuMCk7RD1zYSpzYTt1PWNbOTM2XXwwO2Rve2lmKCtoW3U+PjNdPHQpe2Vi
PWNbMzc0OD4+Ml18MDtmYj0wO2NiPTA7d2hpbGUoMSl7YmI9Y2IrMXwwO2lmKChjYnwwKT49KGVi
fDApKXtoYj1mYjtpYj1jYjticmVha31fYT1iYjw8MTtpZigraFt1KyhfYTw8Myk+PjNdPHQpe2Zi
PV9hO2NiPWJifWVsc2V7aGI9X2E7aWI9YmI7YnJlYWt9fWlmKChpYnwwKSE9MCl7aWYoKGlifDAp
PChlYnwwKSl7Y2I9aWI8PDE7UD0raFt1KyhjYisgLTI8PDMpPj4zXTtPPSh0LVApLygraFt1Kyho
Yjw8Myk+PjNdLVApO2piPStoW3UrKGNiKyAtMTw8Myk+PjNdKigxLjAtTykrTyoraFt1KygoaGJ8
MSk8PDMpPj4zXTticmVha31lbHNle2piPStoW3UrKChlYjw8MSkrIC0xPDwzKT4+M107YnJlYWt9
fWVsc2V7Rj0xNDF9fWVsc2V7Rj0xNDF9fXdoaWxlKDApO2lmKChGfDApPT0xNDEpe2piPStoW3Ur
OD4+M119Tz0rVigxMC4wLCsoQWEqamIpKTtqYj0wLjAtTyoyLjA7dT1jWzk1Nl18MDtkb3tpZigr
aFt1Pj4zXTx0KXtoYj1jWzM4Mjg+PjJdfDA7aWI9MDtjYj0wO3doaWxlKDEpe2ZiPWNiKzF8MDtp
ZigoY2J8MCk+PShoYnwwKSl7a2I9aWI7bGI9Y2I7YnJlYWt9Uj1mYjw8MTtpZigraFt1KyhSPDwz
KT4+M108dCl7aWI9UjtjYj1mYn1lbHNle2tiPVI7bGI9ZmI7YnJlYWt9fWlmKChsYnwwKSE9MCl7
aWYoKGxifDApPChoYnwwKSl7Y2I9bGI8PDE7UD0raFt1KyhjYisgLTI8PDMpPj4zXTtMPSh0LVAp
LygraFt1KyhrYjw8Myk+PjNdLVApO21iPStoW3UrKGNiKyAtMTw8Myk+PjNdKigxLjAtTCkrTCor
aFt1Kygoa2J8MSk8PDMpPj4zXTticmVha31lbHNle21iPStoW3UrKChoYjw8MSkrIC0xPDwzKT4+
M107YnJlYWt9fWVsc2V7Rj0xNTB9fWVsc2V7Rj0xNTB9fXdoaWxlKDApO2lmKChGfDApPT0xNTAp
e21iPStoW3UrOD4+M119TD1qYiorVygrKEMqciptYikpO21iPU8qTzt1PWNbOTkyXXwwO2Rve2lm
KCtoW3U+PjNdPHQpe2tiPWNbMzk3Mj4+Ml18MDtsYj0wO2NiPTA7d2hpbGUoMSl7aWI9Y2IrMXww
O2lmKChjYnwwKT49KGtifDApKXtuYj1sYjtvYj1jYjticmVha31lYj1pYjw8MTtpZigraFt1Kyhl
Yjw8Myk+PjNdPHQpe2xiPWViO2NiPWlifWVsc2V7bmI9ZWI7b2I9aWI7YnJlYWt9fWlmKChvYnww
KSE9MCl7aWYoKG9ifDApPChrYnwwKSl7Y2I9b2I8PDE7Tz0raFt1KyhjYisgLTI8PDMpPj4zXTtq
Yj0odC1PKS8oK2hbdSsobmI8PDMpPj4zXS1PKTtwYj0raFt1KyhjYisgLTE8PDMpPj4zXSooMS4w
LWpiKStqYioraFt1KygobmJ8MSk8PDMpPj4zXTticmVha31lbHNle3BiPStoW3UrKChrYjw8MSkr
IC0xPDwzKT4+M107YnJlYWt9fWVsc2V7Rj0xNTl9fWVsc2V7Rj0xNTl9fXdoaWxlKDApO2lmKChG
fDApPT0xNTkpe3BiPStoW3UrOD4+M119amI9cGIqMi4wO3U9Y1s5NDZdfDA7ZG97aWYoK2hbdT4+
M108dCl7bmI9Y1szNzg4Pj4yXXwwO29iPTA7Y2I9MDt3aGlsZSgxKXtsYj1jYisxfDA7aWYoKGNi
fDApPj0obmJ8MCkpe3FiPW9iO3JiPWNiO2JyZWFrfWhiPWxiPDwxO2lmKCtoW3UrKGhiPDwzKT4+
M108dCl7b2I9aGI7Y2I9bGJ9ZWxzZXtxYj1oYjtyYj1sYjticmVha319aWYoKHJifDApIT0wKXtp
ZigocmJ8MCk8KG5ifDApKXtjYj1yYjw8MTtwYj0raFt1KyhjYisgLTI8PDMpPj4zXTtPPSh0LXBi
KS8oK2hbdSsocWI8PDMpPj4zXS1wYik7c2I9K2hbdSsoY2IrIC0xPDwzKT4+M10qKDEuMC1PKStP
KitoW3UrKChxYnwxKTw8Myk+PjNdO2JyZWFrfWVsc2V7c2I9K2hbdSsoKG5iPDwxKSsgLTE8PDMp
Pj4zXTticmVha319ZWxzZXtGPTE2OH19ZWxzZXtGPTE2OH19d2hpbGUoMCk7aWYoKEZ8MCk9PTE2
OCl7c2I9K2hbdSs4Pj4zXX1PPStWKDEwLjAsKyhBYSpzYikpO3NiPTAuMC1PKjIuMDt1PWNbOTY2
XXwwO2Rve2lmKCtoW3U+PjNdPHQpe3FiPWNbMzg2OD4+Ml18MDtyYj0wO2NiPTA7d2hpbGUoMSl7
b2I9Y2IrMXwwO2lmKChjYnwwKT49KHFifDApKXt0Yj1yYjt1Yj1jYjticmVha31rYj1vYjw8MTtp
ZigraFt1KyhrYjw8Myk+PjNdPHQpe3JiPWtiO2NiPW9ifWVsc2V7dGI9a2I7dWI9b2I7YnJlYWt9
fWlmKCh1YnwwKSE9MCl7aWYoKHVifDApPChxYnwwKSl7Y2I9dWI8PDE7cGI9K2hbdSsoY2IrIC0y
PDwzKT4+M107UD0odC1wYikvKCtoW3UrKHRiPDwzKT4+M10tcGIpO3ZiPStoW3UrKGNiKyAtMTw8
Myk+PjNdKigxLjAtUCkrUCoraFt1KygodGJ8MSk8PDMpPj4zXTticmVha31lbHNle3ZiPStoW3Ur
KChxYjw8MSkrIC0xPDwzKT4+M107YnJlYWt9fWVsc2V7Rj0xNzd9fWVsc2V7Rj0xNzd9fXdoaWxl
KDApO2lmKChGfDApPT0xNzcpe3ZiPStoW3UrOD4+M119UD1zYiorVygrKEMqcip2YikpO3ZiPU8q
TztPPSsoKHN8MCk+ODd8MCk7Qz1PKjIuMzI4MzEwMDQ0NzYzNTI2M2UtMTA7c2I9TyoxLjE2NDE1
MDAyNjM3ODE1MjNlLTEwO3M9Y1s4OTRdfDA7ZG97aWYoK2hbcz4+M108dCl7dT1jWzM1ODA+PjJd
fDA7dGI9MDt1Yj0wO3doaWxlKDEpe2NiPXViKzF8MDtpZigodWJ8MCk+PSh1fDApKXt3Yj10Yjt4
Yj11YjticmVha31yYj1jYjw8MTtpZigraFtzKyhyYjw8Myk+PjNdPHQpe3RiPXJiO3ViPWNifWVs
c2V7d2I9cmI7eGI9Y2I7YnJlYWt9fWlmKCh4YnwwKSE9MCl7aWYoKHhifDApPCh1fDApKXt1Yj14
Yjw8MTtPPStoW3MrKHViKyAtMjw8Myk+PjNdO3BiPSh0LU8pLygraFtzKyh3Yjw8Myk+PjNdLU8p
O3liPStoW3MrKHViKyAtMTw8Myk+PjNdKigxLjAtcGIpK3BiKitoW3MrKCh3YnwxKTw8Myk+PjNd
O2JyZWFrfWVsc2V7eWI9K2hbcysoKHU8PDEpKyAtMTw8Myk+PjNdO2JyZWFrfX1lbHNle0Y9MTg2
fX1lbHNle0Y9MTg2fX13aGlsZSgwKTtpZigoRnwwKT09MTg2KXt5Yj0raFtzKzg+PjNdfXBiPStW
KDEwLjAsKyh5YiouMDUwMDAwMDAwNzQ1MDU4MDYpKTtzPWNbOTI2XXwwO2Rve2lmKCtoW3M+PjNd
PHQpe3diPWNbMzcwOD4+Ml18MDt4Yj0wO3ViPTA7d2hpbGUoMSl7dGI9dWIrMXwwO2lmKCh1Ynww
KT49KHdifDApKXt6Yj14YjtBYj11YjticmVha31xYj10Yjw8MTtpZigraFtzKyhxYjw8Myk+PjNd
PHQpe3hiPXFiO3ViPXRifWVsc2V7emI9cWI7QWI9dGI7YnJlYWt9fWlmKChBYnwwKSE9MCl7aWYo
KEFifDApPCh3YnwwKSl7dWI9QWI8PDE7eWI9K2hbcysodWIrIC0yPDwzKT4+M107Tz0odC15Yikv
KCtoW3MrKHpiPDwzKT4+M10teWIpO0JiPStoW3MrKHViKyAtMTw8Myk+PjNdKigxLjAtTykrTyor
aFtzKygoemJ8MSk8PDMpPj4zXTticmVha31lbHNle0JiPStoW3MrKCh3Yjw8MSkrIC0xPDwzKT4+
M107YnJlYWt9fWVsc2V7Rj0xOTV9fWVsc2V7Rj0xOTV9fXdoaWxlKDApO2lmKChGfDApPT0xOTUp
e0JiPStoW3MrOD4+M119dD0rVigxMC4wLCsoQWEqQmIpKTtCYj10KnQ7QWE9MS4wLXBiO089RCpw
YitBYSpCYjt5Yj0wLjAtKHNhKnBiK0FhKnQpKjIuMDtBYT0wLjAtdCoyLjA7cz1+figrZ1thKzQ5
NjM0OD4+Ml0qKCtnW2ErNDk2MzUyPj4yXS9yKSk7cj0rYmEoKygrZ1thKzQ5NjM3Mj4+Ml0vaykp
O3Q9cipyO3BiPStnW2U+PjJdO3NhPTEuMC1wYip0O3RhPTEuMC10O3Q9c2EvdGE7aGE9c2Eqc2Ev
KHRhKnRhKSstMS4wO3RhPStVKCsoaGE8MC4wPzAuMDpoYSkpO2hhPXQtdGE7c2E9cioodGErMS4w
LXQpO3Q9K2JhKCsoK2dbYSs0OTYzNzY+PjJdL2spKS9yKy0xLjA7cj0rYmEoKygrZ1thKzQ5NjQw
MD4+Ml0vaykpO3RhPXIqcjtwYT0xLjAtcGIqdGE7WT0xLjAtdGE7dGE9cGEvWTt6YT1wYSpwYS8o
WSpZKSstMS4wO1k9K1UoKyh6YTwwLjA/MC4wOnphKSk7emE9dGEtWTtwYT1yKihZKzEuMC10YSk7
dGE9K2JhKCsoK2dbYSs0OTY0MDQ+PjJdL2spKS9yKy0xLjA7cj0rYmEoKygrZ1thKzQ5NjQyOD4+
Ml0vaykpO1k9cipyO3VhPTEuMC1wYipZO0dhPTEuMC1ZO1k9dWEvR2E7aWE9dWEqdWEvKEdhKkdh
KSstMS4wO0dhPStVKCsoaWE8MC4wPzAuMDppYSkpO2lhPVktR2E7dWE9ciooR2ErMS4wLVkpO1k9
K2JhKCsoK2dbYSs0OTY0MzI+PjJdL2spKS9yKy0xLjA7cj0rYmEoKygrZ1thKzQ5NjQ1Nj4+Ml0v
aykpO0dhPXIqcjtsYT0xLjAtcGIqR2E7Xz0xLjAtR2E7R2E9bGEvXztUPWxhKmxhLyhfKl8pKy0x
LjA7Xz0rVSgrKFQ8MC4wPzAuMDpUKSk7VD1HYS1fO2xhPXIqKF8rMS4wLUdhKTtHYT0rYmEoKygr
Z1thKzQ5NjQ2MD4+Ml0vaykpL3IrLTEuMDtyPSgxLjAtbCkqMTIuMDtsPStiYSgrKCtnW2ErNDk2
NDg0Pj4yXS9rKSk7Xz1sKmw7b2E9MS4wLXBiKl87Q2I9MS4wLV87Xz1vYS9DYjtEYj1vYSpvYS8o
Q2IqQ2IpKy0xLjA7Q2I9K1UoKyhEYjwwLjA/MC4wOkRiKSk7RGI9Xy1DYjtvYT1sKihDYisxLjAt
Xyk7Xz0rYmEoKygrZ1thKzQ5NjQ4OD4+Ml0vaykpL2wrLTEuMDtsPStiYSgrKCtnW2ErNDk2NTEy
Pj4yXS9rKSk7Q2I9bCpsO0ViPTEuMC1wYipDYjtGYj0xLjAtQ2I7Q2I9RWIvRmI7R2I9RWIqRWIv
KEZiKkZiKSstMS4wO0ZiPStVKCsoR2I8MC4wPzAuMDpHYikpO0diPUNiLUZiO0ViPWwqKEZiKzEu
MC1DYik7Q2I9K2JhKCsoK2dbYSs0OTY1MTY+PjJdL2spKS9sKy0xLjA7bD0rYmEoKygrZ1thKzQ5
NjU0MD4+Ml0vaykpO0ZiPWwqbDtIYj0xLjAtcGIqRmI7cGI9MS4wLUZiO0ZiPUhiL3BiO0liPUhi
KkhiLyhwYipwYikrLTEuMDtwYj0rVSgrKEliPDAuMD8wLjA6SWIpKTtJYj1GYi1wYjtIYj1sKihw
YisxLjAtRmIpO0ZiPStiYSgrKCtnW2ErNDk2NTQ0Pj4yXS9rKSkvbCstMS4wO2lmKChifDApPD0w
KXtpPWQ7cmV0dXJufWU9YSs0OTYyNDR8MDtGPWErNDk1NzgwfDA7emI9YSs0OTYyNDh8MDtBYj1h
KzQ5NTc2OHwwO3ViPWErNDk1NzcyfDA7eGI9YSs0OTU3NzZ8MDt1PWErNDk1Nzg4fDA7dGI9YSs0
OTU3ODR8MDtxYj1hKzQ5NjI1MnwwO2NiPWErNDk1Nzk2fDA7cmI9YSs0OTU3OTJ8MDtuYj1hKzQ5
NTgwNHwwO29iPWErNDk1ODAwfDA7a2I9YSs0OTU4MTJ8MDtsYj1hKzQ5NTgwOHwwO2hiPWErNDk1
ODIwfDA7aWI9YSs0OTU4MTZ8MDtlYj1hKzQ5NTgyOHwwO2ZiPWErNDk1ODI0fDA7Uj1hKzQ5NjMy
OHwwO2JiPWErNDk1ODM2fDA7X2E9YSs0OTU4MzJ8MDtOYT1hKzQ5NTg0NHwwO2thPWErNDk1ODQw
fDA7V2E9YSs0OTU4NTJ8MDtTYT1hKzQ5NTg0OHwwO01hPWErNDk1ODYwfDA7SmE9YSs0OTU4NTZ8
MDtLYT1hKzQ5NTg2OHwwO0VhPWErNDk1ODY0fDA7RmE9YSs0OTU4NzZ8MDtuYT1hKzQ5NTg3Mnww
O049YSs0OTU5NDh8MDtqYT1hKzQ5NTg4MHwwO2RhPWErNDk1ODg0fDA7ZmE9YSs0OTU4OTJ8MDtT
PWErNDk1ODg4fDA7eD1hKzQ5NTkwMHwwO009YSs0OTU4OTZ8MDtIPVZhXjQwOTU7ST1hKzQ5NTk1
NnwwO3o9YSs0OTU5MDR8MDtBPWErNDk1OTA4fDA7dj1hKzQ5NTkxNnwwO3c9YSs0OTU5MTJ8MDt5
PWErNDk1OTI0fDA7Qj1hKzQ5NTkyMHwwO0piPSRhXjQwOTU7S2I9YSs0OTU5Mjh8MDtMYj1hKzQ5
NTkzMnwwO01iPWErNDk1OTQwfDA7TmI9YSs0OTU5MzZ8MDtPYj1hKzQ5NTk0NHwwO1BiPWErNDk1
OTUyfDA7UWI9YSs0OTU2MjR8MDtSYj1hKzQ5NTYyOHwwO1NiPWErNDk1NjIwfDA7VGI9YSs0OTU5
NjB8MDtVYj1hKzQ5NTk2NHwwO1ZiPWErNDk1OTY4fDA7V2I9YSs0OTU5NzJ8MDtYYj1hKzQ5NTk4
MHwwO1liPWErNDk1OTc2fDA7WmI9YSs0OTU5ODh8MDtfYj1hKzQ5NTk4NHwwOyRiPWErNDk1OTk2
fDA7YWM9YSs0OTU5OTJ8MDtiYz1hKzQ5NjAwNHwwO2NjPWErNDk2ZTN8MDtkYz1hKzQ5NjAxMnww
O2VjPWErNDk2MDA4fDA7ZmM9YSs0OTU2MzZ8MDtnYz1hKzQ5NTY0MHwwO2hjPWErNDk1NjMyfDA7
aWM9YSs0OTU2NDh8MDtqYz1hKzQ5NTY1MnwwO2tjPWErNDk1NjQ0fDA7bGM9YSs0OTU2NjB8MDtt
Yz1hKzQ5NTY2NHwwO25jPWErNDk1NjU2fDA7b2M9YSs0OTU2NzJ8MDtwYz1hKzQ5NTY3NnwwO3Fj
PWErNDk1NjY4fDA7cmM9YSs0OTYwMjB8MDtzYz1hKzQ5NjAxNnwwO3RjPWErNDk2MzU2fDA7dWM9
YSs0OTYwMjh8MDt2Yz1hKzQ5NjI2MHwwO3djPWErNDk2MzYwfDA7eGM9YSs0OTYwMjR8MDt5Yz1h
KzQ5NjAzNnwwO3pjPWErNDk1NzIwfDA7QWM9YSs0OTU3MjR8MDtCYz1hKzQ5NjAzMnwwO0NjPWEr
NDk2MDQ0fDA7RGM9YSs0OTYwNDB8MDtFYz1hKzQ5NjA1MnwwO0ZjPWErNDk2Mzg0fDA7R2M9YSs0
OTYzODh8MDtIYz1hKzQ5NjA0OHwwO0ljPWErNDk2MDYwfDA7SmM9YSs0OTU3NDR8MDtLYz1hKzQ5
NTc0OHwwO0xjPWErNDk2MDU2fDA7TWM9YSs0OTYwNjh8MDtOYz1hKzQ5NjA2NHwwO09jPWErNDk2
NDEyfDA7UGM9YSs0OTYwNzZ8MDtRYz1hKzQ5NjQxNnwwO1JjPWErNDk2MDcyfDA7U2M9YSs0OTYw
ODR8MDtUYz1hKzQ5NTY5NnwwO1VjPWErNDk1NzAwfDA7VmM9YSs0OTYwODB8MDtXYz1hKzQ5NjA5
MnwwO1hjPWErNDk2MDg4fDA7WWM9YSs0OTYxMDB8MDtaYz1hKzQ5NjQ0MHwwO19jPWErNDk2NDQ0
fDA7JGM9YSs0OTYwOTZ8MDthZD1hKzQ5NjEwOHwwO2JkPWErNDk1NzU2fDA7Y2Q9YSs0OTU3NjB8
MDtkZD1hKzQ5NjEwNHwwO2VkPWErNDk2MTE2fDA7ZmQ9YSs0OTYxMTJ8MDtnZD1hKzQ5NjQ2OHww
O2hkPWErNDk2MTI0fDA7aWQ9YSs0OTY0NzJ8MDtqZD1hKzQ5NjEyMHwwO2tkPWErNDk2MTMyfDA7
bGQ9YSs0OTU3MDh8MDttZD1hKzQ5NTcxMnwwO25kPWErNDk2MTI4fDA7b2Q9YSs0OTYxNDB8MDtw
ZD1hKzQ5NjEzNnwwO3FkPWErNDk2NDk2fDA7cmQ9YSs0OTYxNDh8MDtzZD1hKzQ5NjUwMHwwO3Rk
PWErNDk2MTQ0fDA7dWQ9YSs0OTYxNTZ8MDt2ZD1hKzQ5NTczMnwwO3dkPWErNDk1NzM2fDA7eGQ9
YSs0OTYxNTJ8MDt5ZD1hKzQ5NjE2NHwwO3pkPWErNDk2MTYwfDA7QWQ9YSs0OTY1MjR8MDtCZD1h
KzQ5NjE3MnwwO0NkPWErNDk2NTI4fDA7RGQ9YSs0OTYxNjh8MDtFZD1hKzQ5NjE4MHwwO0ZkPWEr
NDk1Njg0fDA7R2Q9YSs0OTU2ODh8MDtIZD1hKzQ5NjE3NnwwO0lkPWErNDk2MTg4fDA7SmQ9YSs0
OTYxODR8MDtLZD1hKzQ5NjU1MnwwO0xkPWErNDk2MTk2fDA7TWQ9YSs0OTY1NTZ8MDtOZD1hKzQ5
NjE5MnwwO09kPWErNDk1NjgwfDA7UGQ9YSs0OTU2OTJ8MDtRZD1hKzQ5NTcwNHwwO1JkPWErNDk1
NzE2fDA7U2Q9YSs0OTU3Mjh8MDtUZD1hKzQ5NTc0MHwwO1VkPWErNDk1NzUyfDA7VmQ9YSs0OTU3
NjR8MDtsPStnW0FiPj4yXTtrPStnW3ViPj4yXTtXZD0wO2Rve3BiPStnW2U+PjJdKitnW0Y+PjJd
KyArZ1t6Yj4+Ml0qKGwrayk7Z1t4Yj4+Ml09cGI7WGQ9cCorZ1t1Pj4yXStuKihsK20qcGIpO2db
dGI+PjJdPVhkO2dbYSsoKGNbcWI+PjJdJjE2MzgzKTw8MikrND4+Ml09WGQqLjM1MzU1Mjk5NzEx
MjI3NDE3KzkuOTk5OTk5NjgyNjU1MjI1ZS0yMTtnW3JiPj4yXT1xKyArZ1tjYj4+Ml0qLjk5OTAw
MDAxMjg3NDYwMzM7WGQ9SGErICtnW25iPj4yXSouOTk5MDAwMDEyODc0NjAzMztnW29iPj4yXT1Y
ZDtZZD0oZWEoY1trYj4+Ml18MCwxMTAzNTE1MjQ1KXwwKSsxMjM0NXwwO2NbbGI+PjJdPVlkO3Bi
PUJhKitnW2hiPj4yXSsxLjA7Z1tpYj4+Ml09cGI7WmQ9cGIrLTEuMDtwYj0rKFpkPDIuMCZtYSYx
fDApO19kPXBiKi4wMzAxOTc0MDA1OTk3MTgwOTQrWWEqKygoWmQ+PTIuMHxSYSkmMXwwKTskZD0r
Z1tlYj4+Ml0qX2QrcGIqKDEuMC1fZCkqLjE1MDAwMDAwNTk2MDQ2NDQ4O2dbZmI+PjJdPSRkO2Fl
PVpkPFRhO19kPUJhKihRYSorKGFlJjF8MCkrICtnW1I+PjJdKisoWmQ+PVRhfDApKTtaZD0rZ1ti
Yj4+Ml0qKFphK19kKStYYSorKGFlJm1hJjF8MCkqKDAuMC0oYWIrX2QpKTtnW19hPj4yXT1aZDtf
ZD0rKFlkfDApKigkZCtaZCk7WmQ9T2EqX2QtQ2EqK2dbTmE+PjJdO2dba2E+PjJdPVpkOyRkPVVh
KlpkLUNhKitnW1dhPj4yXTtnW1NhPj4yXT0kZDtaZD1VYSokZC1DYSorZ1tNYT4+Ml07Z1tKYT4+
Ml09WmQ7JGQ9K2dbS2E+PjJdO3BiPVVhKlpkLUNhKiRkO2dbRWE+PjJdPXBiO1pkPVBhKiRkK0lh
KnBiLURhKitnW0ZhPj4yXTtnW25hPj4yXT1aZDtwYj1YZCooK2dbTj4+Ml0rWmQpO2dbamE+PjJd
PXBiO1pkPStnW2ZhPj4yXTtYZD0rZ1tkYT4+Ml0rJCoocGIqMy43MDAwMDAwNDc2ODM3MTYtWmQq
My43MDAwMDAwNDc2ODM3MTYpO2dbUz4+Ml09WGQ7cGI9K2dbeD4+Ml07JGQ9WmQrJCooWGQqMy43
MDAwMDAwNDc2ODM3MTYtcGIqMy43MDAwMDAwNDc2ODM3MTYpO2dbTT4+Ml09JGQ7WWQ9Y1txYj4+
Ml18MDtnW2ErKChZZCY0MDk1KTw8MikrMzYwNDUyPj4yXT1wYiskKigkZCozLjcwMDAwMDA0NzY4
MzcxNi0gK2dbYSsoKFlkKzQwOTUmNDA5NSk8PDIpKzM2MDQ1Mj4+Ml0qMy43MDAwMDAwNDc2ODM3
MTYpO1lkPWNbcWI+PjJdfDA7JGQ9Z2EqK2dbYSsoKFlkK0gmNDA5NSk8PDIpKzM2MDQ1Mj4+Ml07
cGI9K2dbbmE+PjJdKyArZ1tvYj4+Ml0qK2dbST4+Ml07Z1t6Pj4yXT1wYjtYZD0rZ1t2Pj4yXTta
ZD0rZ1tBPj4yXSskKihwYiozLjcwMDAwMDA0NzY4MzcxNi1YZCozLjcwMDAwMDA0NzY4MzcxNik7
Z1t3Pj4yXT1aZDtwYj0rZ1t5Pj4yXTtiZT1YZCskKihaZCozLjcwMDAwMDA0NzY4MzcxNi1wYioz
LjcwMDAwMDA0NzY4MzcxNik7Z1tCPj4yXT1iZTtnW2ErKChZZCY0MDk1KTw8MikrMzc2ODM2Pj4y
XT1wYiskKihiZSozLjcwMDAwMDA0NzY4MzcxNi0gK2dbYSsoKFlkKzQwOTUmNDA5NSk8PDIpKzM3
NjgzNj4+Ml0qMy43MDAwMDAwNDc2ODM3MTYpO1lkPWNbcWI+PjJdfDA7YmU9d2EqK2dbYSsoKFlk
LSRhJjQwOTUpPDwyKSszNzY4MzY+PjJdO3BiPXhhKitnW2ErKChZZCtKYiY0MDk1KTw8MikrMzc2
ODM2Pj4yXTtaZD1KKitnW2ErKChZZC1WYSY0MDk1KTw8MikrMzYwNDUyPj4yXTtYZD0kZCsoYmUr
cGIrWmQpO2dbS2I+PjJdPVhkO2NlPVoqKChyYSorZ1tMYj4+Ml0rdmEqWGQpKjIuMC1xYSorZ1tN
Yj4+Ml0pO2dbTmI+PjJdPWNlO2dbT2I+PjJdPSRkKyhaZCtjZSk7Z1tQYj4+Ml09cGIrKGJlK2Nl
KTtjZT0rZ1tSYj4+Ml07YmU9SypYZC0oeWEqK2dbUWI+PjJdK2RiKmNlKTtnW1NiPj4yXT1iZTtn
W1RiPj4yXT1DKl9kO3BiPTAuMC0oc2IqX2QrICtnW1ViPj4yXSouNSk7Z1tWYj4+Ml09cGI7X2Q9
UGEqK2dbV2I+PjJdK0lhKnBiLURhKitnW1hiPj4yXTtnW1liPj4yXT1fZDtwYj1VYSpfZC1DYSor
Z1taYj4+Ml07Z1tfYj4+Ml09cGI7X2Q9VWEqcGItQ2EqK2dbJGI+PjJdO2dbYWM+PjJdPV9kO3Bi
PVVhKl9kLUNhKitnW2JjPj4yXTtnW2NjPj4yXT1wYjtfZD0rZ1tkYz4+Ml07WmQ9VWEqcGItQ2Eq
X2Q7Z1tlYz4+Ml09WmQ7cGI9MC4wLShQKitnW2ZjPj4yXSt2YiorZ1tnYz4+Ml0tamIqKFpkKi41
LV9kKi41KSk7Z1toYz4+Ml09cGI7X2Q9MC4wLShMKitnW2ljPj4yXSttYiorZ1tqYz4+Ml0tamIq
cGIpO2dba2M+PjJdPV9kO3BiPStnW2xjPj4yXTtaZD0rZ1ttYz4+Ml07JGQ9MC4wLShnYipwYitE
KlpkLV9kKTtnW25jPj4yXT0kZDtfZD1RKih5YipwYi1BYSorZ1tvYz4+Ml0pKyhPKlpkKyRkKS1C
YiorZ1twYz4+Ml07Z1txYz4+Ml09X2Q7JGQ9TGEqX2QtRGEqK2dbcmM+PjJdO2dbc2M+PjJdPSRk
O19kPUcqY2UrKEUqYmUrKFhkKyRkKSk7Z1thKygoY1txYj4+Ml0mNDA5NSk8PDIpKzM5MzIyMD4+
Ml09X2Q7WWQ9Y1txYj4+Ml18MDtnW2ErKChZZCY0MDk1KTw8MikrNDA5NjA0Pj4yXT1vKitnW3Ji
Pj4yXSorZ1thKygoWWQtcyY0MDk1KTw8MikrMzkzMjIwPj4yXTtZZD1jW3FiPj4yXXwwOyRkPStn
W2ErKChZZC0oY1t0Yz4+Ml18MCkmNDA5NSk8PDIpKzQwOTYwND4+Ml0qLjMwMDAwMDAxMTkyMDky
ODk2O1hkPStnW3VjPj4yXSouNjAwMDAwMDIzODQxODU3OSsgK2dbYSsoKFlkLShjW3ZjPj4yXXww
KSYxNjM4Myk8PDIpKzQ+PjJdLSRkO2dbYSsoKFlkJjEwMjMpPDwyKSs0ODMzMzI+PjJdPVhkO1lk
PWNbcWI+PjJdfDA7Z1t4Yz4+Ml09K2dbYSsoKFlkLShjW3djPj4yXXwwKSYxMDIzKTw8MikrNDgz
MzMyPj4yXTtiZT0wLjAtWGQqLjYwMDAwMDAyMzg0MTg1Nzk7WGQ9K2dbemM+PjJdO2NlPStnW2U+
PjJdKitnW3ljPj4yXSsgK2dbemI+PjJdKihYZCsgK2dbQWM+PjJdKTtnW0JjPj4yXT1jZTtaZD1o
YSorZ1tDYz4+Ml0rc2EqKFhkK3QqY2UpO2dbRGM+PjJdPVpkO2dbYSsoKFlkJjE2MzgzKTw8Mikr
NjU1NDA+PjJdPVpkKi4zNTM1NTI5OTcxMTIyNzQxNys5Ljk5OTk5OTY4MjY1NTIyNWUtMjE7WWQ9
Y1txYj4+Ml18MDtaZD0rZ1tFYz4+Ml0qLjYwMDAwMDAyMzg0MTg1NzkrICtnW2ErKChZZC0oY1tG
Yz4+Ml18MCkmMTYzODMpPDwyKSs2NTU0MD4+Ml0tJGQ7Z1thKygoWWQmMjA0Nyk8PDIpKzQ0MjM3
Mj4+Ml09WmQ7WWQ9Y1txYj4+Ml18MDtnW0hjPj4yXT0rZ1thKygoWWQtKGNbR2M+PjJdfDApJjIw
NDcpPDwyKSs0NDIzNzI+PjJdO2NlPTAuMC1aZCouNjAwMDAwMDIzODQxODU3OTtaZD0rZ1tKYz4+
Ml07WGQ9K2dbZT4+Ml0qK2dbSWM+PjJdKyArZ1t6Yj4+Ml0qKFpkKyArZ1tLYz4+Ml0pO2dbTGM+
PjJdPVhkO3BiPXphKitnW01jPj4yXStwYSooWmQrdGEqWGQpO2dbTmM+PjJdPXBiO2dbYSsoKFlk
JjgxOTEpPDwyKSsxOTY2MTI+PjJdPXBiKi4zNTM1NTI5OTcxMTIyNzQxNys5Ljk5OTk5OTY4MjY1
NTIyNWUtMjE7WWQ9Y1txYj4+Ml18MDtwYj0rZ1thKygoWWQtKGNbT2M+PjJdfDApJjgxOTEpPDwy
KSsxOTY2MTI+PjJdKygkZCsgK2dbUGM+PjJdKi42MDAwMDAwMjM4NDE4NTc5KTtnW2ErKChZZCYy
MDQ3KTw8MikrNDUwNTY0Pj4yXT1wYjtZZD1jW3FiPj4yXXwwO2dbUmM+PjJdPStnW2ErKChZZC0o
Y1tRYz4+Ml18MCkmMjA0Nyk8PDIpKzQ1MDU2ND4+Ml07WGQ9MC4wLXBiKi42MDAwMDAwMjM4NDE4
NTc5O3BiPStnW1RjPj4yXTtaZD0rZ1tlPj4yXSorZ1tTYz4+Ml0rICtnW3piPj4yXSoocGIrICtn
W1VjPj4yXSk7Z1tWYz4+Ml09WmQ7ZGU9aWEqK2dbV2M+PjJdK3VhKihwYitZKlpkKTtnW1hjPj4y
XT1kZTtnW2ErKChZZCYxNjM4Myk8PDIpKzEzMTA3Nj4+Ml09ZGUqLjM1MzU1Mjk5NzExMjI3NDE3
KzkuOTk5OTk5NjgyNjU1MjI1ZS0yMTtZZD1jW3FiPj4yXXwwO2RlPSRkKygrZ1tZYz4+Ml0qLjYw
MDAwMDAyMzg0MTg1NzkrICtnW2ErKChZZC0oY1taYz4+Ml18MCkmMTYzODMpPDwyKSsxMzEwNzY+
PjJdKTtnW2ErKChZZCYyMDQ3KTw8MikrNDU4NzU2Pj4yXT1kZTtZZD1jW3FiPj4yXXwwO2dbJGM+
PjJdPStnW2ErKChZZC0oY1tfYz4+Ml18MCkmMjA0Nyk8PDIpKzQ1ODc1Nj4+Ml07JGQ9MC4wLWRl
Ki42MDAwMDAwMjM4NDE4NTc5O2RlPStnW2JkPj4yXTtaZD0rZ1tlPj4yXSorZ1thZD4+Ml0rICtn
W3piPj4yXSooZGUrICtnW2NkPj4yXSk7Z1tkZD4+Ml09WmQ7cGI9VCorZ1tlZD4+Ml0rbGEqKGRl
K0dhKlpkKTtnW2ZkPj4yXT1wYjtnW2ErKChZZCY4MTkxKTw8MikrMjI5MzgwPj4yXT1wYiouMzUz
NTUyOTk3MTEyMjc0MTcrOS45OTk5OTk2ODI2NTUyMjVlLTIxO2dbYSsoKGNbcWI+PjJdJjQwOTUp
PDwyKSs0MjU5ODg+PjJdPXIqX2QqK2dbcmI+PjJdO1lkPWNbcWI+PjJdfDA7cGI9K2dbYSsoKFlk
LShjW3RjPj4yXXwwKSY0MDk1KTw8MikrNDI1OTg4Pj4yXSouMzAwMDAwMDExOTIwOTI4OTY7WmQ9
K2dbYSsoKFlkLShjW2dkPj4yXXwwKSY4MTkxKTw8MikrMjI5MzgwPj4yXS0ocGIrICtnW2hkPj4y
XSouNjAwMDAwMDIzODQxODU3OSk7Z1thKygoWWQmMTAyMyk8PDIpKzQ4NzQyOD4+Ml09WmQ7WWQ9
Y1txYj4+Ml18MDtnW2pkPj4yXT0rZ1thKygoWWQtKGNbaWQ+PjJdfDApJjEwMjMpPDwyKSs0ODc0
Mjg+PjJdO2RlPVpkKi42MDAwMDAwMjM4NDE4NTc5O1pkPStnW2xkPj4yXTtlZT0rZ1tlPj4yXSor
Z1trZD4+Ml0rICtnW3piPj4yXSooWmQrICtnW21kPj4yXSk7Z1tuZD4+Ml09ZWU7ZmU9RGIqK2db
b2Q+PjJdK29hKihaZCtfKmVlKTtnW3BkPj4yXT1mZTtnW2ErKChZZCY4MTkxKTw8MikrMjYyMTQ4
Pj4yXT1mZSouMzUzNTUyOTk3MTEyMjc0MTcrOS45OTk5OTk2ODI2NTUyMjVlLTIxO1lkPWNbcWI+
PjJdfDA7ZmU9K2dbYSsoKFlkLShjW3FkPj4yXXwwKSY4MTkxKTw8MikrMjYyMTQ4Pj4yXS0ocGIr
ICtnW3JkPj4yXSouNjAwMDAwMDIzODQxODU3OSk7Z1thKygoWWQmMjA0Nyk8PDIpKzQ2Njk0OD4+
Ml09ZmU7WWQ9Y1txYj4+Ml18MDtnW3RkPj4yXT0rZ1thKygoWWQtKGNbc2Q+PjJdfDApJjIwNDcp
PDwyKSs0NjY5NDg+PjJdO2VlPWZlKi42MDAwMDAwMjM4NDE4NTc5O2ZlPStnW3ZkPj4yXTtaZD0r
Z1tlPj4yXSorZ1t1ZD4+Ml0rICtnW3piPj4yXSooZmUrICtnW3dkPj4yXSk7Z1t4ZD4+Ml09WmQ7
Z2U9R2IqK2dbeWQ+PjJdK0ViKihmZStDYipaZCk7Z1t6ZD4+Ml09Z2U7Z1thKygoWWQmODE5MSk8
PDIpKzI5NDkxNj4+Ml09Z2UqLjM1MzU1Mjk5NzExMjI3NDE3KzkuOTk5OTk5NjgyNjU1MjI1ZS0y
MTtZZD1jW3FiPj4yXXwwO2dlPXBiKyArZ1thKygoWWQtKGNbQWQ+PjJdfDApJjgxOTEpPDwyKSsy
OTQ5MTY+PjJdLSArZ1tCZD4+Ml0qLjYwMDAwMDAyMzg0MTg1Nzk7Z1thKygoWWQmMjA0Nyk8PDIp
KzQ3NTE0MD4+Ml09Z2U7WWQ9Y1txYj4+Ml18MDtnW0RkPj4yXT0rZ1thKygoWWQtKGNbQ2Q+PjJd
fDApJjIwNDcpPDwyKSs0NzUxNDA+PjJdO1pkPWdlKi42MDAwMDAwMjM4NDE4NTc5O2dlPStnW0Zk
Pj4yXTtmZT0rZ1tlPj4yXSorZ1tFZD4+Ml0rICtnW3piPj4yXSooZ2UrICtnW0dkPj4yXSk7Z1tI
ZD4+Ml09ZmU7aGU9SWIqK2dbSWQ+PjJdK0hiKihnZStGYipmZSk7Z1tKZD4+Ml09aGU7Z1thKygo
WWQmODE5MSk8PDIpKzMyNzY4ND4+Ml09aGUqLjM1MzU1Mjk5NzExMjI3NDE3KzkuOTk5OTk5Njgy
NjU1MjI1ZS0yMTtZZD1jW3FiPj4yXXwwO2hlPXBiKyArZ1thKygoWWQtKGNbS2Q+PjJdfDApJjgx
OTEpPDwyKSszMjc2ODQ+PjJdLSArZ1tMZD4+Ml0qLjYwMDAwMDAyMzg0MTg1Nzk7Z1thKygoWWQm
MTAyMyk8PDIpKzQ5MTUyND4+Ml09aGU7Z1tOZD4+Ml09K2dbYSsoKChjW3FiPj4yXXwwKS0oY1tN
ZD4+Ml18MCkmMTAyMyk8PDIpKzQ5MTUyND4+Ml07cGI9aGUqLjYwMDAwMDAyMzg0MTg1Nzk7aGU9
WmQrcGI7ZmU9ZGUrKGVlK2hlKTtnZT0rZ1t1Yz4+Ml07aWU9K2dbRWM+PjJdO2plPStnW1BjPj4y
XTtrZT0rZ1tZYz4+Ml07bGU9K2dbaGQ+PjJdO21lPStnW3JkPj4yXTtuZT0rZ1tCZD4+Ml07b2U9
K2dbTGQ+PjJdO2dbT2Q+PjJdPWdlKyhpZSsoamUrKGtlKyhsZSsobWUrKG5lKyhiZSsoY2UrKFhk
KygkZCtmZSkpKStvZSkpKSkpKSk7Z1tQZD4+Ml09MC4wLShnZSsoaWUrKGplKyhiZSsoY2UrKFhk
KyRkKSkra2UpKSktKGxlKyhtZSsobmUrKGZlK29lKSkpKSk7ZmU9ZGUrZWU7cGU9MC4wLShnZSso
aWUrKGxlKyhiZSsoY2UrZmUpK21lKSkpLShqZSsoa2UrKG5lKyhYZCsoJGQraGUpK29lKSkpKSk7
Z1tRZD4+Ml09cGU7Z1tSZD4+Ml09MC4wLShqZSsoa2UrKGxlKyhYZCsoJGQrZmUpK21lKSkpLShn
ZSsoaWUrKG5lKyhiZSsoY2UraGUpK29lKSkpKSk7aGU9ZGUrWmQ7ZmU9ZWUrcGI7Z1tTZD4+Ml09
MC4wLShnZSsoamUrKGxlKyhiZSsoWGQraGUpK25lKSkpLShpZSsoa2UrKG1lKyhjZSsoJGQrZmUp
K29lKSkpKSk7Z1tUZD4+Ml09MC4wLShpZSsoa2UrKGxlKyhjZSsoJGQraGUpK25lKSkpLShnZSso
amUrKG1lKyhiZSsoWGQrZmUpK29lKSkpKSk7b2U9ZWUrWmQ7WmQ9ZGUrcGI7cGI9K2dbdWM+PjJd
O2RlPStnW1ljPj4yXTtlZT0rZ1toZD4+Ml07ZmU9K2dbTGQ+PjJdO2dbVWQ+PjJdPTAuMC0oaWUr
KGplKyhtZSsoY2UrKFhkK29lKStuZSkpKS0ocGIrKGRlKyhlZSsoYmUrKCRkK1pkKStmZSkpKSkp
O2dbVmQ+PjJdPTAuMC0ocGIrKGRlKygrZ1tyZD4+Ml0rKGJlKygkZCtvZSkrICtnW0JkPj4yXSkp
KS0oK2dbRWM+PjJdKygrZ1tQYz4+Ml0rKGVlKyhjZSsoWGQrWmQpK2ZlKSkpKSk7ZmU9MS4wLSAr
Z1tyYj4+Ml07Z1tmKyhXZDw8Mik+PjJdPXIqX2QqZmUrKCtnW1BkPj4yXStwZSkqLjM3MDAwMDAw
NDc2ODM3MTY7WWQ9Y1txYj4+Ml18MDtnW2orKFdkPDwyKT4+Ml09KCtnW1BkPj4yXS0gK2dbUWQ+
PjJdKSouMzcwMDAwMDA0NzY4MzcxNitvKmZlKitnW2ErKChZZC1zJjQwOTUpPDwyKSszOTMyMjA+
PjJdO2dbRj4+Ml09K2dbeGI+PjJdO2dbdT4+Ml09K2dbdGI+PjJdO2NbcWI+PjJdPVlkKzE7Z1tj
Yj4+Ml09K2dbcmI+PjJdO2dbbmI+PjJdPStnW29iPj4yXTtjW2tiPj4yXT1jW2xiPj4yXTtnW2hi
Pj4yXT0rZ1tpYj4+Ml07Z1tlYj4+Ml09K2dbZmI+PjJdO2dbYmI+PjJdPStnW19hPj4yXTtnW05h
Pj4yXT0rZ1trYT4+Ml07Z1tXYT4+Ml09K2dbU2E+PjJdO2dbTWE+PjJdPStnW0phPj4yXTtnW0th
Pj4yXT0rZ1tFYT4+Ml07Z1tGYT4+Ml09K2dbbmE+PjJdO2dbZGE+PjJdPStnW2phPj4yXTtnW2Zh
Pj4yXT0rZ1tTPj4yXTtnW3g+PjJdPStnW00+PjJdO2dbQT4+Ml09K2dbej4+Ml07Z1t2Pj4yXT0r
Z1t3Pj4yXTtnW3k+PjJdPStnW0I+PjJdO2dbTGI+PjJdPStnW0tiPj4yXTtnW01iPj4yXT0rZ1tO
Yj4+Ml07Z1tOPj4yXT0rZ1tPYj4+Ml07Z1tJPj4yXT0rZ1tQYj4+Ml07Z1tSYj4+Ml09K2dbUWI+
PjJdO2dbUWI+PjJdPStnW1NiPj4yXTtnW1ViPj4yXT0rZ1tUYj4+Ml07Z1tXYj4+Ml09K2dbVmI+
PjJdO2dbWGI+PjJdPStnW1liPj4yXTtnW1piPj4yXT0rZ1tfYj4+Ml07Z1skYj4+Ml09K2dbYWM+
PjJdO2dbYmM+PjJdPStnW2NjPj4yXTtnW2RjPj4yXT0rZ1tlYz4+Ml07Z1tnYz4+Ml09K2dbZmM+
PjJdO2dbZmM+PjJdPStnW2hjPj4yXTtnW2pjPj4yXT0rZ1tpYz4+Ml07Z1tpYz4+Ml09K2dba2M+
PjJdO2dbbWM+PjJdPStnW2xjPj4yXTtnW2xjPj4yXT0rZ1tuYz4+Ml07Z1twYz4+Ml09K2dbb2M+
PjJdO2dbb2M+PjJdPStnW3FjPj4yXTtnW3JjPj4yXT0rZ1tzYz4+Ml07Z1t1Yz4+Ml09K2dbeGM+
PjJdO2dbeWM+PjJdPStnW0JjPj4yXTtnW0NjPj4yXT0rZ1tEYz4+Ml07Z1tFYz4+Ml09K2dbSGM+
PjJdO2dbSWM+PjJdPStnW0xjPj4yXTtnW01jPj4yXT0rZ1tOYz4+Ml07Z1tQYz4+Ml09K2dbUmM+
PjJdO2dbU2M+PjJdPStnW1ZjPj4yXTtnW1djPj4yXT0rZ1tYYz4+Ml07Z1tZYz4+Ml09K2dbJGM+
PjJdO2dbYWQ+PjJdPStnW2RkPj4yXTtnW2VkPj4yXT0rZ1tmZD4+Ml07Z1toZD4+Ml09K2dbamQ+
PjJdO2dba2Q+PjJdPStnW25kPj4yXTtnW29kPj4yXT0rZ1twZD4+Ml07Z1tyZD4+Ml09K2dbdGQ+
PjJdO2dbdWQ+PjJdPStnW3hkPj4yXTtnW3lkPj4yXT0rZ1t6ZD4+Ml07Z1tCZD4+Ml09K2dbRGQ+
PjJdO2dbRWQ+PjJdPStnW0hkPj4yXTtnW0lkPj4yXT0rZ1tKZD4+Ml07Z1tMZD4+Ml09K2dbTmQ+
PjJdO2dbR2Q+PjJdPStnW0ZkPj4yXTtnW0ZkPj4yXT0rZ1tPZD4+Ml07Z1tVYz4+Ml09K2dbVGM+
PjJdO2dbVGM+PjJdPStnW1BkPj4yXTtnW21kPj4yXT0rZ1tsZD4+Ml07Z1tsZD4+Ml09K2dbUWQ+
PjJdO2dbQWM+PjJdPStnW3pjPj4yXTtnW3pjPj4yXT0rZ1tSZD4+Ml07Z1t3ZD4+Ml09K2dbdmQ+
PjJdO2dbdmQ+PjJdPStnW1NkPj4yXTtnW0tjPj4yXT0rZ1tKYz4+Ml07Z1tKYz4+Ml09K2dbVGQ+
PjJdO2dbY2Q+PjJdPStnW2JkPj4yXTtnW2JkPj4yXT0rZ1tVZD4+Ml07az0rZ1tBYj4+Ml07Z1t1
Yj4+Ml09aztsPStnW1ZkPj4yXTtnW0FiPj4yXT1sO1dkPVdkKzF8MH13aGlsZSgoV2R8MCkhPShi
fDApKTtpPWQ7cmV0dXJufWZ1bmN0aW9uIEFkKGIsZCxlLGYpe2I9YnwwO2Q9ZHwwO2U9ZXwwO2Y9
ZnwwO3ZhciBnPTAsaD0wLGo9MCxrPTAsbD0wLG09MCxuPTAsbz0wLHA9MCxxPTAscj0wLHM9MCx0
PTAsdT0wLHY9MCx3PTAseD0wLHk9MCx6PTAsQT0wLEI9MCxDPTAsRD0wLEU9MCxGPTA7Zz1pO2k9
aSs1Mjh8MDtoPWcrMjR8MDtqPWcrMTJ8MDtrPWc7Y1tiPj4yXT00MDE2O2w9Yis0fDA7Y1tsKzA+
PjJdPTA7Y1tsKzQ+PjJdPTA7Y1tsKzg+PjJdPTA7bT1iKzIwfDA7bj1iKzMyfDA7bz1iKzQ0fDA7
cD1iKzU2fDA7cT1tKzB8MDtyPXErMzZ8MDtkb3tjW3E+PjJdPTA7cT1xKzR8MH13aGlsZSgocXww
KTwocnwwKSk7Y1twPj4yXT1mO3E9YisxNnwwO2NbcT4+Ml09Qm8oZj4+PjA+MTA3Mzc0MTgyMz8t
MTpmPDwyKXwwO2lmKChmfDApPjApe2Y9MDtkb3tyPUFvKDQ5NjU5Mil8MDtjW3IrND4+Ml09MDtj
W3IrOD4+Ml09MDtjW3IrMTI+PjJdPTA7cz1yKzIwfDA7Y1tzPj4yXT0wO2NbcisyND4+Ml09MDtj
W3IrMTY+PjJdPXM7Y1tyPj4yXT02ODU2O3M9cisyOHwwO2Nbcz4+Ml09NzA0MDtfZShzLGQpO0Nk
KHMscik7Y1tyKzQ5NjU4OD4+Ml09LTE7Y1soY1txPj4yXXwwKSsoZjw8Mik+PjJdPXI7Zj1mKzF8
MH13aGlsZSgoZnwwKTwoY1twPj4yXXwwKSl9Y1tiKzY0Pj4yXT0yO3A9Yis2MHwwO2NbcD4+Ml09
Qm8oOCl8MDtiPWU+Pj4wPjEwNzM3NDE4MjM/LTE6ZTw8MjtlPTA7ZG97Zj1CbyhiKXwwO2NbKGNb
cD4+Ml18MCkrKGU8PDIpPj4yXT1mO2U9ZSsxfDB9d2hpbGUoKGV8MCk8Mik7RGUoaCwwLDIpO0Jk
KGgrMTZ8MCk7Q2QoKGNbY1txPj4yXT4+Ml18MCkrMjh8MCxoKTtEZChqLGgsMCk7ZmcobCxqKXww
O2lmKCEoKGFbal0mMSk9PTApKXtDbyhjW2orOD4+Ml18MCl9aj1jW2NbcT4+Ml0+PjJdfDA7bD1j
W2orMTY+PjJdfDA7aWYoKGx8MCk9PShqKzIwfDApKXtJZChoKTtpPWc7cmV0dXJufWo9aysxfDA7
ZT1rKzh8MDtwPWsrNHwwO2I9bDt3aGlsZSgxKXtsPWIrMTZ8MDtpZigoYVtsXSYxKT09MCl7Y1tr
KzA+PjJdPWNbbCswPj4yXTtjW2srND4+Ml09Y1tsKzQ+PjJdO2Nbays4Pj4yXT1jW2wrOD4+Ml07
dD1hW2tdfDB9ZWxzZXtsPWNbYisyND4+Ml18MDtmPWNbYisyMD4+Ml18MDtpZihmPj4+MD40Mjk0
OTY3Mjc5KXt1PTEyO2JyZWFrfWlmKGY+Pj4wPDExKXtkPWY8PDEmMjU1O2Fba109ZDt2PWQ7dz1q
fWVsc2V7ZD1mKzE2Ji0xNjtyPUFvKGQpfDA7Y1tlPj4yXT1yO3M9ZHwxO2Nbaz4+Ml09cztjW3A+
PjJdPWY7dj1zJjI1NTt3PXJ9WG8od3wwLGx8MCxmfDApfDA7YVt3K2Z8MF09MDt0PXZ9Zj0odCYx
KT09MDtpZihmKXt4PSh0JjI1NSk+Pj4xfWVsc2V7eD1jW3A+PjJdfDB9YTpkb3tpZigoISh4Pj4+
MDw0KT8obD1mP2o6Y1tlPj4yXXwwLHI9bCt4fDAscz1sLCh4fDApPj00KTowKT8oZD14KyAtM3ww
LHk9bCtkfDAsKGR8MCkhPTApOjApe2Q9bDtiOndoaWxlKDEpe2lmKChhW2RdfDApPT0xMDMpe2w9
ZDt6PTQwMjQ7ZG97ej16KzF8MDtpZigoenwwKT09KDQwMjh8MCkpe2JyZWFrIGJ9bD1sKzF8MH13
aGlsZSgoYVtsXXwwKT09KGFbel18MCkpfXo9ZCsxfDA7aWYoKHp8MCk9PSh5fDApKXt1PTMwO2Jy
ZWFrIGF9ZWxzZXtkPXp9fWlmKChkfDApIT0ocnwwKT8hKChkLXN8MCk9PS0xKTowKXtmZyhtLGsp
fDB9ZWxzZXt1PTMwfX1lbHNle3U9MzB9fXdoaWxlKDApO2M6ZG97aWYoKHV8MCk9PTMwKXt1PTA7
Zj0odCYxKT09MDtpZihmKXtBPSh0JjI1NSk+Pj4xfWVsc2V7QT1jW3A+PjJdfDB9ZDpkb3tpZigo
IShBPj4+MDw0KT8oeT1mP2o6Y1tlPj4yXXwwLHo9eStBfDAsbD15LChBfDApPj00KTowKT8oQj1B
KyAtM3wwLEM9eStCfDAsKEJ8MCkhPTApOjApe0I9eTtlOndoaWxlKDEpe2lmKChhW0JdfDApPT0x
MDIpe3k9QjtEPTQwMzI7ZG97RD1EKzF8MDtpZigoRHwwKT09KDQwMzZ8MCkpe2JyZWFrIGV9eT15
KzF8MH13aGlsZSgoYVt5XXwwKT09KGFbRF18MCkpfUQ9QisxfDA7aWYoKER8MCk9PShDfDApKXti
cmVhayBkfWVsc2V7Qj1EfX1pZigoQnwwKSE9KHp8MCk/ISgoQi1sfDApPT0tMSk6MCl7Zmcobyxr
KXwwO2JyZWFrIGN9fX13aGlsZSgwKTtmPSh0JjEpPT0wO2lmKGYpe0U9KHQmMjU1KT4+PjF9ZWxz
ZXtFPWNbcD4+Ml18MH1pZigoIShFPj4+MDw0KT8ocz1mP2o6Y1tlPj4yXXwwLGY9cytFfDAsZD1z
LChFfDApPj00KTowKT8ocj1FKyAtM3wwLEM9cytyfDAsKHJ8MCkhPTApOjApe3I9cztmOndoaWxl
KDEpe2lmKChhW3JdfDApPT0xMDMpe3M9cjtEPTQwNDA7ZG97RD1EKzF8MDtpZigoRHwwKT09KDQw
NDR8MCkpe2JyZWFrIGZ9cz1zKzF8MH13aGlsZSgoYVtzXXwwKT09KGFbRF18MCkpfUQ9cisxfDA7
aWYoKER8MCk9PShDfDApKXticmVhayBjfWVsc2V7cj1EfX1pZigocnwwKSE9KGZ8MCk/ISgoci1k
fDApPT0tMSk6MCl7ZmcobixrKXwwfX19fXdoaWxlKDApO2lmKCEoKGFba10mMSk9PTApKXtDbyhj
W2U+PjJdfDApfUM9Y1tiKzQ+PjJdfDA7aWYoKEN8MCk9PTApe0Q9Yjt3aGlsZSgxKXtzPWNbRCs4
Pj4yXXwwO2lmKChjW3M+PjJdfDApPT0oRHwwKSl7Rj1zO2JyZWFrfWVsc2V7RD1zfX19ZWxzZXtE
PUM7d2hpbGUoMSl7cz1jW0Q+PjJdfDA7aWYoKHN8MCk9PTApe0Y9RDticmVha31lbHNle0Q9c319
fWlmKChGfDApPT0oKGNbY1txPj4yXT4+Ml18MCkrMjB8MCkpe3U9NjM7YnJlYWt9ZWxzZXtiPUZ9
fWlmKCh1fDApPT0xMil7YWcoMCl9ZWxzZSBpZigodXwwKT09NjMpe0lkKGgpO2k9ZztyZXR1cm59
fWZ1bmN0aW9uIEJkKGEpe2E9YXwwO3ZhciBiPTA7Yj1pO0ZjW2NbY1thPj4yXT4+Ml0mMTVdKGEs
NTQ5Niw1NTA0KTtGY1tjW2NbYT4+Ml0+PjJdJjE1XShhLDU1NTIsNTU2OCk7RmNbY1tjW2E+PjJd
Pj4yXSYxNV0oYSw1NTg0LDU2MDApO0ZjW2NbY1thPj4yXT4+Ml0mMTVdKGEsNTYzMiw1NjU2KTtG
Y1tjW2NbYT4+Ml0+PjJdJjE1XShhLDU3MDQsNTcyOCk7RmNbY1tjW2E+PjJdPj4yXSYxNV0oYSw1
NzUyLDU3ODQpO0ZjW2NbY1thPj4yXT4+Ml0mMTVdKGEsNTgzMiw1ODY0KTtGY1tjW2NbYT4+Ml0+
PjJdJjE1XShhLDU5MDQsNTkzNik7RmNbY1tjW2E+PjJdPj4yXSYxNV0oYSw1OTYwLDU5ODQpO0Zj
W2NbY1thPj4yXT4+Ml0mMTVdKGEsNjAwOCw2MDQwKTtGY1tjW2NbYT4+Ml0+PjJdJjE1XShhLDYw
NDgsNjA3Mik7RmNbY1tjW2E+PjJdPj4yXSYxNV0oYSw2MDgwLDYwOTYpO0ZjW2NbY1thPj4yXT4+
Ml0mMTVdKGEsNjEyOCw2MTUyKTtGY1tjW2NbYT4+Ml0+PjJdJjE1XShhLDYxNjAsNTY1Nik7RmNb
Y1tjW2E+PjJdPj4yXSYxNV0oYSw2MTg0LDU3MjgpO0ZjW2NbY1thPj4yXT4+Ml0mMTVdKGEsNjIw
OCw2MDcyKTtGY1tjW2NbYT4+Ml0+PjJdJjE1XShhLDYyMzIsNjI0OCk7RmNbY1tjW2E+PjJdPj4y
XSYxNV0oYSw2MjcyLDYyOTYpO0ZjW2NbY1thPj4yXT4+Ml0mMTVdKGEsNjM0NCw2MzY4KTtGY1tj
W2NbYT4+Ml0+PjJdJjE1XShhLDYzNzYsNTUwNCk7RmNbY1tjW2E+PjJdPj4yXSYxNV0oYSw2NDAw
LDU1NjgpO0ZjW2NbY1thPj4yXT4+Ml0mMTVdKGEsNjQzMiw2MDcyKTtGY1tjW2NbYT4+Ml0+PjJd
JjE1XShhLDY0NTYsNjQ4MCk7RmNbY1tjW2E+PjJdPj4yXSYxNV0oYSw2NTA0LDYwNDApO0ZjW2Nb
Y1thPj4yXT4+Ml0mMTVdKGEsNjUyOCw2MDcyKTtGY1tjW2NbYT4+Ml0+PjJdJjE1XShhLDY1MzYs
NjU1Mik7RmNbY1tjW2E+PjJdPj4yXSYxNV0oYSw2NTYwLDY1NTIpO0ZjW2NbY1thPj4yXT4+Ml0m
MTVdKGEsNjU4NCw2NjA4KTtGY1tjW2NbYT4+Ml0+PjJdJjE1XShhLDY2MzIsNjY0OCk7RmNbY1tj
W2E+PjJdPj4yXSYxNV0oYSw2NjY0LDYwNDApO0ZjW2NbY1thPj4yXT4+Ml0mMTVdKGEsNjY4OCw2
NTUyKTtGY1tjW2NbYT4+Ml0+PjJdJjE1XShhLDY3MTIsNjU1Mik7RmNbY1tjW2E+PjJdPj4yXSYx
NV0oYSw2NzM2LDY2MDgpO0ZjW2NbY1thPj4yXT4+Ml0mMTVdKGEsNjc2MCw2Nzc2KTtGY1tjW2Nb
YT4+Ml0+PjJdJjE1XShhLDY3OTIsNjA0MCk7RmNbY1tjW2E+PjJdPj4yXSYxNV0oYSw0MjY0LDY4
MTYpO0ZjW2NbY1thPj4yXT4+Ml0mMTVdKGEsNjgzMiw2MDQwKTtpPWI7cmV0dXJufWZ1bmN0aW9u
IENkKGEsYil7YT1hfDA7Yj1ifDA7dmFyIGQ9MCxlPTA7ZD1pO0JjW2NbKGNbYj4+Ml18MCkrMTY+
PjJdJjYzXShiLDUxNDQpO0JjW2NbKGNbYj4+Ml18MCkrMTI+PjJdJjYzXShiLDUxNTIpO2U9YSs0
OTYyODB8MDtPY1tjWyhjW2I+PjJdfDApKzUyPj4yXSYxNV0oYixlLDUxNzYsNDQzMik7T2NbY1so
Y1tiPj4yXXwwKSs1Mj4+Ml0mMTVdKGIsZSw1MTg0LDUxOTIpO09jW2NbKGNbYj4+Ml18MCkrNTI+
PjJdJjE1XShiLGUsNTIwOCw1MjE2KTt4Y1tjWyhjW2I+PjJdfDApKzQwPj4yXSY3XShiLDQwMzIs
ZSw0NDAuMCwyMC4wLDIuMGU0LDEuMCk7ZT1hKzQ5NjMxMnwwO09jW2NbKGNbYj4+Ml18MCkrNTI+
PjJdJjE1XShiLGUsNTE3Niw0NDMyKTtPY1tjWyhjW2I+PjJdfDApKzUyPj4yXSYxNV0oYixlLDUx
ODQsNTIyNCk7eGNbY1soY1tiPj4yXXwwKSs0MD4+Ml0mN10oYiw0MDQwLGUsMS4wLDAuMCwxLjAs
LjAwOTk5OTk5OTc3NjQ4MjU4Mik7ZT1hKzQ5NjMwMHwwO09jW2NbKGNbYj4+Ml18MCkrNTI+PjJd
JjE1XShiLGUsNTE3Niw0NDMyKTtPY1tjWyhjW2I+PjJdfDApKzUyPj4yXSYxNV0oYixlLDUxODQs
NTI1Nik7RmNbY1soY1tiPj4yXXwwKSsyND4+Ml0mMTVdKGIsNDAyNCxlKTtBY1tjWyhjW2I+PjJd
fDApKzIwPj4yXSYyNTVdKGIpO0JjW2NbKGNbYj4+Ml18MCkrMTY+PjJdJjYzXShiLDUyODApO2U9
YSs0OTYzMDR8MDtPY1tjWyhjW2I+PjJdfDApKzUyPj4yXSYxNV0oYixlLDUzMDQsNDQzMik7T2Nb
Y1soY1tiPj4yXXwwKSs1Mj4+Ml0mMTVdKGIsZSw1MTg0LDUzMTIpO3hjW2NbKGNbYj4+Ml18MCkr
MzY+PjJdJjddKGIsNTMzNixlLDAuMCwwLjAsMS4wLC4wMDk5OTk5OTk3NzY0ODI1ODIpO2U9YSs0
OTYyOTZ8MDtPY1tjWyhjW2I+PjJdfDApKzUyPj4yXSYxNV0oYixlLDUzMDQsNDQzMik7T2NbY1so
Y1tiPj4yXXwwKSs1Mj4+Ml0mMTVdKGIsZSw1MTg0LDUzMTIpO3hjW2NbKGNbYj4+Ml18MCkrMzY+
PjJdJjddKGIsNTM2MCxlLC4xMDAwMDAwMDE0OTAxMTYxMiwwLjAsMS4wLC4wMDk5OTk5OTk3NzY0
ODI1ODIpO2U9YSs0OTYzMjB8MDtPY1tjWyhjW2I+PjJdfDApKzUyPj4yXSYxNV0oYixlLDUzMDQs
NDQzMik7T2NbY1soY1tiPj4yXXwwKSs1Mj4+Ml0mMTVdKGIsZSw1MTg0LDUzMTIpO3hjW2NbKGNb
Yj4+Ml18MCkrMzY+PjJdJjddKGIsNTM3NixlLC4xMDAwMDAwMDE0OTAxMTYxMiwwLjAsMS4wLC4w
MDk5OTk5OTk3NzY0ODI1ODIpO2U9YSs0OTYyODh8MDtPY1tjWyhjW2I+PjJdfDApKzUyPj4yXSYx
NV0oYixlLDUzMDQsNDQzMik7T2NbY1soY1tiPj4yXXwwKSs1Mj4+Ml0mMTVdKGIsZSw1MTg0LDUz
MTIpO3hjW2NbKGNbYj4+Ml18MCkrMzY+PjJdJjddKGIsNTM5MixlLC4yODAwMDAwMDExOTIwOTI5
LDAuMCwxLjAsLjAwOTk5OTk5OTc3NjQ4MjU4Mik7QWNbY1soY1tiPj4yXXwwKSsyMD4+Ml0mMjU1
XShiKTtCY1tjWyhjW2I+PjJdfDApKzE2Pj4yXSY2M10oYiw1NDE2KTt4Y1tjWyhjW2I+PjJdfDAp
KzM2Pj4yXSY3XShiLDU0MjQsYSs0OTYyNjh8MCwuMTM2OTk5OTk0NTE2MzcyNjgsMC4wLDEuMCwu
MDA5OTk5OTk5Nzc2NDgyNTgyKTt4Y1tjWyhjW2I+PjJdfDApKzM2Pj4yXSY3XShiLDU0NDAsYSs0
OTYyMjh8MCwuNzIwMDAwMDI4NjEwMjI5NSwuMDA5OTk5OTk5Nzc2NDgyNTgyLDIuMCwuMDA5OTk5
OTk5Nzc2NDgyNTgyKTtBY1tjWyhjW2I+PjJdfDApKzIwPj4yXSYyNTVdKGIpO0JjW2NbKGNbYj4+
Ml18MCkrMTY+PjJdJjYzXShiLDU0NTYpO3hjW2NbKGNbYj4+Ml18MCkrMzY+PjJdJjddKGIsNTQ2
NCxhKzQ5NjI2NHwwLC42MDAwMDAwMjM4NDE4NTc5LDAuMCwxLjAsLjAwOTk5OTk5OTc3NjQ4MjU4
Mik7eGNbY1soY1tiPj4yXXwwKSszNj4+Ml0mN10oYiw1NDgwLGErNDk2MzUyfDAsLjUsMC4wLDEu
MCwuMDA5OTk5OTk5Nzc2NDgyNTgyKTtBY1tjWyhjW2I+PjJdfDApKzIwPj4yXSYyNTVdKGIpO0Fj
W2NbKGNbYj4+Ml18MCkrMjA+PjJdJjI1NV0oYik7aT1kO3JldHVybn1mdW5jdGlvbiBEZChiLGQs
ZSl7Yj1ifDA7ZD1kfDA7ZT1lfDA7dmFyIGY9MCxnPTAsaD0wLGo9MCxrPTAsbD0wLG09MCxuPTAs
bz0wLHA9MCxxPTA7Zj1pO2k9aSs2NHwwO2c9Zis0OHwwO2g9ZiszNnwwO2o9ZisyNHwwO2s9Zisx
MnwwO2w9ZjttPWQrNDgwfDA7Y1ttPj4yXT0wO249ZCsyOHwwO2NlKG4sNDMwNCl8MDtvPWNbbT4+
Ml18MDtwPW8rMXwwO2NbbT4+Ml09cDtiZShuLDEwKXwwO2lmKChvfDApPi0xKXtvPXA7ZG97bz1v
KyAtMXwwO2JlKG4sOSl8MH13aGlsZSgob3wwKT4wKX1jZShlZShjZShuLDUwNTYpfDAsZCs0NjR8
MCl8MCw0MzI4KXwwO289Y1ttPj4yXXwwO2JlKG4sMTApfDA7aWYoKG98MCk+MCl7cD1vO2Rve3A9
cCsgLTF8MDtiZShuLDkpfDB9d2hpbGUoKHB8MCk+MCl9Y2Uobiw1MDcyKXwwO3A9Y1ttPj4yXXww
O2JlKG4sMTApfDA7aWYoKHB8MCk+MCl7bz1wO2Rve289bysgLTF8MDtiZShuLDkpfDB9d2hpbGUo
KG98MCk+MCl9Y2Uobiw1MDg4KXwwO289ZCs0ODR8MDtpZigoY1tvPj4yXXwwKT4wKXtwPWNbbT4+
Ml18MDtiZShuLDEwKXwwO2lmKChwfDApPjApe3E9cDtkb3txPXErIC0xfDA7YmUobiw5KXwwfXdo
aWxlKChxfDApPjApfXE9Y2Uobiw1MTA0KXwwO2NlKHJoKHEsY1tvPj4yXXwwKXwwLDQzMjgpfDB9
bz1kKzQ4OHwwO2lmKChjW28+PjJdfDApPjApe3E9Y1ttPj4yXXwwO2JlKG4sMTApfDA7aWYoKHF8
MCk+MCl7cD1xO2Rve3A9cCsgLTF8MDtiZShuLDkpfDB9d2hpbGUoKHB8MCk+MCl9cD1jZShuLDUx
MjApfDA7Y2UocmgocCxjW28+PjJdfDApfDAsNDMyOCl8MH1vPWNbbT4+Ml18MDtwPWQrMzE2fDA7
YmUocCwxMCl8MDtpZigob3wwKT4wKXtxPW87ZG97cT1xKyAtMXwwO2JlKHAsOSl8MH13aGlsZSgo
cXwwKT4wKX1jZShwLDQ0NTYpfDA7cD1jW20+PjJdfDA7cT1kKzE3MnwwO2JlKHEsMTApfDA7aWYo
KHB8MCk+MCl7bz1wO2Rve289bysgLTF8MDtiZShxLDkpfDB9d2hpbGUoKG98MCk+MCl9Y2UocSw0
NDY0KXwwO2NbbT4+Ml09KGNbbT4+Ml18MCkrIC0xO2lmKChhW2QrNDc3fDBdfDApPT00NCl7Q2Uo
aCxkKzMyMHwwKTtxPWVlKG4saCl8MDtDZShqLGQrMTc2fDApO2VlKHEsail8MDtpZighKChhW2pd
JjEpPT0wKSl7Q28oY1tqKzg+PjJdfDApfWlmKCEoKGFbaF0mMSk9PTApKXtDbyhjW2grOD4+Ml18
MCl9fWVsc2V7Q2UoayxkKzE3NnwwKTtlZShuLGspfDA7aWYoISgoYVtrXSYxKT09MCkpe0NvKGNb
ays4Pj4yXXwwKX19az1jW20+PjJdfDA7YmUobiwxMCl8MDtpZigoa3wwKT4wKXttPWs7ZG97bT1t
KyAtMXwwO2JlKG4sOSl8MH13aGlsZSgobXwwKT4wKX1tPWNlKG4sNDQwOCl8MDt6ZyhnLG0rKGNb
KGNbbT4+Ml18MCkrIC0xMj4+Ml18MCl8MCk7bj1KbChnLDExOTkyKXwwO2s9TWNbY1soY1tuPj4y
XXwwKSsyOD4+Ml0mMzFdKG4sMTApfDA7SWwoZyk7dGgobSxrKXwwO2ZoKG0pfDA7bT1kKzMyfDA7
aWYoIWUpe0NlKGIsbSk7aT1mO3JldHVybn1DZShsLG0pO0FlKGIsMCxsKTtpZigoYVtsXSYxKT09
MCl7aT1mO3JldHVybn1DbyhjW2wrOD4+Ml18MCk7aT1mO3JldHVybn1mdW5jdGlvbiBFZChhKXth
PWF8MDt2YXIgYj0wO2I9aTtJZChhKTtpPWI7cmV0dXJufWZ1bmN0aW9uIEZkKGEpe2E9YXwwO3Zh
ciBiPTA7Yj1pO0hkKGEpO2k9YjtyZXR1cm59ZnVuY3Rpb24gR2QoYSl7YT1hfDA7dmFyIGI9MDti
PWk7SGQoYSk7Q28oYSk7aT1iO3JldHVybn1mdW5jdGlvbiBIZChiKXtiPWJ8MDt2YXIgZD0wLGU9
MCxmPTAsZz0wLGg9MCxqPTAsaz0wLGw9MCxtPTAsbj0wLG89MCxwPTAscT0wLHI9MDtkPWk7Y1ti
Pj4yXT00MDE2O2U9Yis2NHwwO2Y9Y1tlPj4yXXwwO2c9Yis2MHwwO2g9Y1tnPj4yXXwwO2lmKChm
fDApPjApe2o9ZjtmPWg7az0wO3doaWxlKDEpe2w9Y1tmKyhrPDwyKT4+Ml18MDtpZigobHwwKT09
MCl7bT1qO249Zn1lbHNle0RvKGwpO209Y1tlPj4yXXwwO249Y1tnPj4yXXwwfWw9aysxfDA7aWYo
KGx8MCk8KG18MCkpe2o9bTtmPW47az1sfWVsc2V7bz1uO2JyZWFrfX19ZWxzZXtvPWh9aWYoKG98
MCkhPTApe0RvKG8pfW89Yis1NnwwO2g9Y1tvPj4yXXwwO249YisxNnwwO2s9Y1tuPj4yXXwwO2lm
KChofDApPjApe2Y9azttPWg7aD0wO3doaWxlKDEpe2o9Y1tmKyhoPDwyKT4+Ml18MDtpZigoanww
KT09MCl7cD1tO3E9Zn1lbHNle0FjW2NbKGNbaj4+Ml18MCkrND4+Ml0mMjU1XShqKTtwPWNbbz4+
Ml18MDtxPWNbbj4+Ml18MH1qPWgrMXwwO2lmKChqfDApPChwfDApKXtmPXE7bT1wO2g9an1lbHNl
e3I9cTticmVha319fWVsc2V7cj1rfWlmKChyfDApIT0wKXtEbyhyKX1pZighKChhW2IrNDR8MF0m
MSk9PTApKXtDbyhjW2IrNTI+PjJdfDApfWlmKCEoKGFbYiszMnwwXSYxKT09MCkpe0NvKGNbYis0
MD4+Ml18MCl9aWYoISgoYVtiKzIwfDBdJjEpPT0wKSl7Q28oY1tiKzI4Pj4yXXwwKX1pZigoYVti
KzR8MF0mMSk9PTApe2k9ZDtyZXR1cm59Q28oY1tiKzEyPj4yXXwwKTtpPWQ7cmV0dXJufWZ1bmN0
aW9uIElkKGIpe2I9YnwwO3ZhciBkPTAsZT0wLGY9MCxnPTAsaD0wLGo9MCxrPTAsbD0wLG09MDtk
PWk7Y1tiPj4yXT00MDgwO2NbYisxNj4+Ml09NDE2NDtpZighKChhW2IrNDY0fDBdJjEpPT0wKSl7
Q28oY1tiKzQ3Mj4+Ml18MCl9ZT1iKzQ1MnwwO2Y9Y1tlPj4yXXwwO2lmKChmfDApIT0wKXtnPWIr
NDU2fDA7aD1jW2c+PjJdfDA7aWYoKGh8MCk9PShmfDApKXtqPWZ9ZWxzZXtrPWg7ZG97aD1rKyAt
MjR8MDtjW2c+PjJdPWg7aWYoISgoYVtrKyAtMTJ8MF0mMSk9PTApKXtDbyhjW2srIC00Pj4yXXww
KX1pZighKChhW2hdJjEpPT0wKSl7Q28oY1trKyAtMTY+PjJdfDApfWs9Y1tnPj4yXXwwfXdoaWxl
KChrfDApIT0oZnwwKSk7aj1jW2U+PjJdfDB9Q28oail9Y1tiKzMwOD4+Ml09NDcyNDtjW2IrMzcy
Pj4yXT00NzY0O2NbYiszMTY+PjJdPTQ3NDQ7aj1iKzMyMHwwO2Nbaj4+Ml09NDkxMjtpZighKChh
W2IrMzUyfDBdJjEpPT0wKSl7Q28oY1tiKzM2MD4+Ml18MCl9Y1tqPj4yXT05MTg0O0lsKGIrMzI0
fDApO3lnKGIrMzcyfDApO2NbYisxNjQ+PjJdPTQ3MjQ7Y1tiKzIyOD4+Ml09NDc2NDtjW2IrMTcy
Pj4yXT00NzQ0O2o9YisxNzZ8MDtjW2o+PjJdPTQ5MTI7aWYoISgoYVtiKzIwOHwwXSYxKT09MCkp
e0NvKGNbYisyMTY+PjJdfDApfWNbaj4+Ml09OTE4NDtJbChiKzE4MHwwKTt5ZyhiKzIyOHwwKTtj
W2IrMjA+PjJdPTQ3MjQ7Y1tiKzg0Pj4yXT00NzY0O2NbYisyOD4+Ml09NDc0NDtqPWIrMzJ8MDtj
W2o+PjJdPTQ5MTI7aWYoISgoYVtiKzY0fDBdJjEpPT0wKSl7Q28oY1tiKzcyPj4yXXwwKX1jW2o+
PjJdPTkxODQ7SWwoYiszNnwwKTt5ZyhiKzg0fDApO2NbYj4+Ml09NDY1NjtqPWIrNHwwO2U9Y1tq
Pj4yXXwwO2lmKChlfDApPT0wKXtpPWQ7cmV0dXJufWY9Yis4fDA7Yj1jW2Y+PjJdfDA7aWYoKGJ8
MCk9PShlfDApKXtsPWV9ZWxzZXtrPWI7d2hpbGUoMSl7Yj1rKyAtMTJ8MDtjW2Y+PjJdPWI7aWYo
KGFbYl0mMSk9PTApe209Yn1lbHNle0NvKGNbaysgLTQ+PjJdfDApO209Y1tmPj4yXXwwfWlmKCht
fDApPT0oZXwwKSl7YnJlYWt9ZWxzZXtrPW19fWw9Y1tqPj4yXXwwfUNvKGwpO2k9ZDtyZXR1cm59
ZnVuY3Rpb24gSmQoYil7Yj1ifDA7dmFyIGQ9MCxlPTA7ZD1pO2NbYj4+Ml09NDcyNDtjW2IrNjQ+
PjJdPTQ3NjQ7Y1tiKzg+PjJdPTQ3NDQ7ZT1iKzEyfDA7Y1tlPj4yXT00OTEyO2lmKCEoKGFbYis0
NHwwXSYxKT09MCkpe0NvKGNbYis1Mj4+Ml18MCl9Y1tlPj4yXT05MTg0O0lsKGIrMTZ8MCk7eWco
Yis2NHwwKTtpPWQ7cmV0dXJufWZ1bmN0aW9uIEtkKGEpe2E9YXwwO3ZhciBiPTA7Yj1pO0lkKGEp
O0NvKGEpO2k9YjtyZXR1cm59ZnVuY3Rpb24gTGQoYSxiKXthPWF8MDtiPWJ8MDt2YXIgZD0wO2Q9
aTtGY1tjWyhjW2E+PjJdfDApKzU2Pj4yXSYxNV0oYSxiLDQ2NDApO2k9ZDtyZXR1cm59ZnVuY3Rp
b24gTWQoYSxiKXthPWF8MDtiPWJ8MDt2YXIgZD0wO2Q9aTtGY1tjWyhjW2E+PjJdfDApKzU2Pj4y
XSYxNV0oYSxiLDQ2MzIpO2k9ZDtyZXR1cm59ZnVuY3Rpb24gTmQoYSxiKXthPWF8MDtiPWJ8MDt2
YXIgZD0wO2Q9aTtGY1tjWyhjW2E+PjJdfDApKzU2Pj4yXSYxNV0oYSxiLDQ2MjQpO2k9ZDtyZXR1
cm59ZnVuY3Rpb24gT2QoYil7Yj1ifDA7dmFyIGQ9MCxlPTAsZj0wLGc9MCxoPTAsaj0wLGs9MCxs
PTA7ZD1pO2U9Yis4fDA7Zj1jW2U+PjJdfDA7Zz1mKyAtMTJ8MDtoPWY7d2hpbGUoMSl7Zj1oKyAt
MTJ8MDtjW2U+PjJdPWY7aWYoKGFbZl0mMSk9PTApe2o9Zn1lbHNle0NvKGNbaCsgLTQ+PjJdfDAp
O2o9Y1tlPj4yXXwwfWlmKChqfDApPT0oZ3wwKSl7YnJlYWt9ZWxzZXtoPWp9fWo9Yis0ODB8MDto
PShjW2o+PjJdfDApKyAtMXwwO2Nbaj4+Ml09aDtnPWIrMTcyfDA7YmUoZywxMCl8MDtpZigoaHww
KT4wKXtlPWg7ZG97ZT1lKyAtMXwwO2JlKGcsOSl8MH13aGlsZSgoZXwwKT4wKX1jZShnLDQ0NjQp
fDA7ZT0oY1tqPj4yXXwwKSsgLTF8MDtjW2o+PjJdPWU7YmUoZywxMCl8MDtpZigoZXwwKT4wKXtr
PWV9ZWxzZXtjZShnLDQ0MDgpfDA7bD1iKzQ3NnwwO2FbbF09NDQ7aT1kO3JldHVybn1kb3trPWsr
IC0xfDA7YmUoZyw5KXwwfXdoaWxlKChrfDApPjApO2NlKGcsNDQwOCl8MDtsPWIrNDc2fDA7YVts
XT00NDtpPWQ7cmV0dXJufWZ1bmN0aW9uIFBkKGEsYixkKXthPWF8MDtiPWJ8MDtkPWR8MDtkPWk7
RmNbY1soY1thPj4yXXwwKSs2MD4+Ml0mMTVdKGEsYiw0NjE2KTtpPWQ7cmV0dXJufWZ1bmN0aW9u
IFFkKGEsYixkKXthPWF8MDtiPWJ8MDtkPWR8MDtkPWk7RmNbY1soY1thPj4yXXwwKSs2MD4+Ml0m
MTVdKGEsYiw0NjAwKTtpPWQ7cmV0dXJufWZ1bmN0aW9uIFJkKGEsYixkLGUsZixnLGgpe2E9YXww
O2I9YnwwO2Q9ZHwwO2U9K2U7Zj0rZjtnPStnO2g9K2g7ZD1pO3hjW2NbKGNbYT4+Ml18MCkrNjQ+
PjJdJjddKGEsYiw0NTkyLGUsZixnLGgpO2k9ZDtyZXR1cm59ZnVuY3Rpb24gU2QoYSxiLGQsZSxm
LGcsaCl7YT1hfDA7Yj1ifDA7ZD1kfDA7ZT0rZTtmPStmO2c9K2c7aD0raDtkPWk7eGNbY1soY1th
Pj4yXXwwKSs2ND4+Ml0mN10oYSxiLDQ1ODQsZSxmLGcsaCk7aT1kO3JldHVybn1mdW5jdGlvbiBU
ZChhLGIsZCxlLGYsZyxoKXthPWF8MDtiPWJ8MDtkPWR8MDtlPStlO2Y9K2Y7Zz0rZztoPStoO2Q9
aTt4Y1tjWyhjW2E+PjJdfDApKzY0Pj4yXSY3XShhLGIsNDU3NixlLGYsZyxoKTtpPWQ7cmV0dXJu
fWZ1bmN0aW9uIFVkKGEsYixkLGUsZil7YT1hfDA7Yj1ifDA7ZD1kfDA7ZT0rZTtmPStmO2Q9aTt6
Y1tjWyhjW2E+PjJdfDApKzY4Pj4yXSY3XShhLGIsNDU2MCxlLGYpO2k9ZDtyZXR1cm59ZnVuY3Rp
b24gVmQoYSxiLGQsZSxmKXthPWF8MDtiPWJ8MDtkPWR8MDtlPStlO2Y9K2Y7ZD1pO3pjW2NbKGNb
YT4+Ml18MCkrNjg+PjJdJjddKGEsYiw0NTQ0LGUsZik7aT1kO3JldHVybn1mdW5jdGlvbiBXZChi
LGQsZSxmKXtiPWJ8MDtkPWR8MDtlPWV8MDtmPWZ8MDt2YXIgZz0wLGg9MCxqPTAsaz0wLGw9MCxt
PTAsbj0wO2Q9aTtpPWkrMzJ8MDtnPWQ7aD1WbyhlfDApfDA7aWYoaD4+PjA+NDI5NDk2NzI3OSl7
YWcoMCl9aWYoaD4+PjA8MTEpe2FbZ109aDw8MTtqPWcrMXwwfWVsc2V7az1oKzE2Ji0xNjtsPUFv
KGspfDA7Y1tnKzg+PjJdPWw7Y1tnPj4yXT1rfDE7Y1tnKzQ+PjJdPWg7aj1sfVhvKGp8MCxlfDAs
aHwwKXwwO2FbaitofDBdPTA7aD1nKzEyfDA7aj1WbyhmfDApfDA7aWYoaj4+PjA+NDI5NDk2NzI3
OSl7YWcoMCl9aWYoaj4+PjA8MTEpe2FbaF09ajw8MTttPWgrMXwwfWVsc2V7ZT1qKzE2Ji0xNjts
PUFvKGUpfDA7Y1tnKzIwPj4yXT1sO2NbaD4+Ml09ZXwxO2NbZysxNj4+Ml09ajttPWx9WG8obXww
LGZ8MCxqfDApfDA7YVttK2p8MF09MDtqPWIrNDU2fDA7bT1jW2o+PjJdfDA7aWYoKG18MCk9PShj
W2IrNDYwPj4yXXwwKSl7amUoYis0NTJ8MCxnKX1lbHNle2lmKChtfDApPT0wKXtuPTB9ZWxzZXtr
ZShtLGcpO249Y1tqPj4yXXwwfWNbaj4+Ml09bisyNH1pZighKChhW2hdJjEpPT0wKSl7Q28oY1tn
KzIwPj4yXXwwKX1pZigoYVtnXSYxKT09MCl7aT1kO3JldHVybn1DbyhjW2crOD4+Ml18MCk7aT1k
O3JldHVybn1mdW5jdGlvbiBYZChiLGQsZSl7Yj1ifDA7ZD1kfDA7ZT1lfDA7dmFyIGY9MCxnPTAs
aD0wLGo9MCxrPTAsbD0wLG09MCxuPTAsbz0wLHA9MCxxPTAscj0wLHM9MCx0PTA7Zj1pO2k9aSsx
NnwwO2c9ZjtoPVZvKGR8MCl8MDtpZihoPj4+MD40Mjk0OTY3Mjc5KXthZygwKX1pZihoPj4+MDwx
MSl7aj1oPDwxJjI1NTthW2ddPWo7az1qO2w9ZysxfDB9ZWxzZXtqPWgrMTYmLTE2O209QW8oail8
MDtjW2crOD4+Ml09bTtuPWp8MTtjW2c+PjJdPW47Y1tnKzQ+PjJdPWg7az1uJjI1NTtsPW19WG8o
bHwwLGR8MCxofDApfDA7YVtsK2h8MF09MDtoPWIrOHwwO2w9Y1toPj4yXXwwO2lmKChsfDApPT0o
Y1tiKzEyPj4yXXwwKSl7aGUoYis0fDAsZyk7bz1hW2ddfDB9ZWxzZXtkb3tpZigobHwwKSE9MCl7
aWYoKGsmMSk9PTApe2NbbCswPj4yXT1jW2crMD4+Ml07Y1tsKzQ+PjJdPWNbZys0Pj4yXTtjW2wr
OD4+Ml09Y1tnKzg+PjJdO2JyZWFrfW09Y1tnKzg+PjJdfDA7bj1jW2crND4+Ml18MDtpZihuPj4+
MD40Mjk0OTY3Mjc5KXthZygwKX1pZihuPj4+MDwxMSl7YVtsXT1uPDwxO3A9bCsxfDB9ZWxzZXtq
PW4rMTYmLTE2O3E9QW8oail8MDtjW2wrOD4+Ml09cTtjW2w+PjJdPWp8MTtjW2wrND4+Ml09bjtw
PXF9WG8ocHwwLG18MCxufDApfDA7YVtwK258MF09MH19d2hpbGUoMCk7Y1toPj4yXT0oY1toPj4y
XXwwKSsxMjtvPWt9aWYoISgobyYxKT09MCkpe0NvKGNbZys4Pj4yXXwwKX1nPWIrMTcyfDA7bz1i
KzQ3NnwwO2JlKGcsYVtvXXwwKXwwO2s9Yis0ODB8MDtiPWNbaz4+Ml18MDtiZShnLDEwKXwwO2lm
KChifDApPjApe2g9Yjtkb3toPWgrIC0xfDA7YmUoZyw5KXwwfXdoaWxlKChofDApPjApfWNlKGcs
NDMwNCl8MDtoPWNbaz4+Ml18MDtiPWgrMXwwO2Nbaz4+Ml09YjtiZShnLDEwKXwwO2lmKChofDAp
Pi0xKXtoPWI7ZG97aD1oKyAtMXwwO2JlKGcsOSl8MH13aGlsZSgoaHwwKT4wKX1jZShjZShjZShn
LDQzMTIpfDAsZSl8MCw0MzI4KXwwO2U9Y1trPj4yXXwwO2JlKGcsMTApfDA7aWYoKGV8MCk+MCl7
aD1lO2Rve2g9aCsgLTF8MDtiZShnLDkpfDB9d2hpbGUoKGh8MCk+MCl9Y2UoY2UoY2UoY2UoZyw0
NTEyKXwwLDQyODApfDAsZCl8MCw0MzI4KXwwO2Q9Y1trPj4yXXwwO2JlKGcsMTApfDA7aWYoKGR8
MCk+MCl7cj1kfWVsc2V7Y2UoZyw0NTI4KXwwO2Fbb109MzI7cz1jW2s+PjJdfDA7dD1zKzF8MDtj
W2s+PjJdPXQ7aT1mO3JldHVybn1kb3tyPXIrIC0xfDA7YmUoZyw5KXwwfXdoaWxlKChyfDApPjAp
O2NlKGcsNDUyOCl8MDthW29dPTMyO3M9Y1trPj4yXXwwO3Q9cysxfDA7Y1trPj4yXT10O2k9Zjty
ZXR1cm59ZnVuY3Rpb24gWWQoYixkLGUpe2I9YnwwO2Q9ZHwwO2U9ZXwwO3ZhciBmPTAsZz0wLGg9
MCxqPTAsaz0wLGw9MCxtPTAsbj0wLG89MCxwPTAscT0wO2Y9aTtpPWkrMzJ8MDtnPWYrMTJ8MDto
PWY7aj1iKzE3MnwwO2s9Yis0NzZ8MDtiZShqLGFba118MCl8MDtsPWIrNDgwfDA7bT1jW2w+PjJd
fDA7YmUoaiwxMCl8MDtpZigobXwwKT4wKXtuPW07ZG97bj1uKyAtMXwwO2JlKGosOSl8MH13aGls
ZSgobnwwKT4wKX1jZShqLDQzMDQpfDA7bj1jW2w+PjJdfDA7YmUoaiwxMCl8MDtpZigobnwwKT4t
MSl7bT1uKzF8MDtkb3ttPW0rIC0xfDA7YmUoaiw5KXwwfXdoaWxlKChtfDApPjApfWNlKGNlKGNl
KGosNDMxMil8MCxlKXwwLDQzMjgpfDA7ZT1jW2w+PjJdfDA7YmUoaiwxMCl8MDtpZigoZXwwKT4t
MSl7bT1lKzF8MDtkb3ttPW0rIC0xfDA7YmUoaiw5KXwwfXdoaWxlKChtfDApPjApfWNlKGNlKGNl
KGNlKGNlKGosNDMzNil8MCw0MjgwKXwwLGQpfDAsNDI4MCl8MCw0MzUyKXwwO209Y1tsPj4yXXww
O2JlKGosMTApfDA7aWYoKG18MCk+LTEpe2U9bSsxfDA7ZG97ZT1lKyAtMXwwO2JlKGosOSl8MH13
aGlsZSgoZXwwKT4wKX1lPWNlKGNlKGosNDM2MCl8MCw0MjgwKXwwO209Vm8oZHwwKXwwO2lmKG0+
Pj4wPjQyOTQ5NjcyNzkpe2FnKDApfWlmKG0+Pj4wPDExKXthW2hdPW08PDE7bz1oKzF8MH1lbHNl
e249bSsxNiYtMTY7cD1BbyhuKXwwO2NbaCs4Pj4yXT1wO2NbaD4+Ml09bnwxO2NbaCs0Pj4yXT1t
O289cH1YbyhvfDAsZHwwLG18MCl8MDthW28rbXwwXT0wO2ZlKGcsYixoKTttPWNlKGVlKGUsZyl8
MCw0MjgwKXwwO2NlKG0sKGNbYis0NTY+PjJdfDApIT0oY1tiKzQ1Mj4+Ml18MCk/NDM1Mjo0NDMy
KXwwO2lmKCEoKGFbZ10mMSk9PTApKXtDbyhjW2crOD4+Ml18MCl9aWYoISgoYVtoXSYxKT09MCkp
e0NvKGNbaCs4Pj4yXXwwKX1nZShiLChjW2w+PjJdfDApKzF8MCwwKTtiPWNbbD4+Ml18MDtiZShq
LDEwKXwwO2lmKChifDApPjApe3E9Yn1lbHNle2NlKGosNDQwOCl8MDthW2tdPTQ0O2k9ZjtyZXR1
cm59ZG97cT1xKyAtMXwwO2JlKGosOSl8MH13aGlsZSgocXwwKT4wKTtjZShqLDQ0MDgpfDA7YVtr
XT00NDtpPWY7cmV0dXJufWZ1bmN0aW9uIFpkKGIsZCxlLGYsZyxoLGope2I9YnwwO2Q9ZHwwO2U9
ZXwwO2Y9K2Y7Zz0rZztoPStoO2o9K2o7dmFyIGs9MCxsPTAsbT0wLG49MCxvPTAscD0wLHE9MCxy
PTAscz0wLHQ9MCx1PTA7az1pO2k9aSszMnwwO2w9aysxMnwwO209aztuPWIrMTcyfDA7bz1iKzQ3
NnwwO2JlKG4sYVtvXXwwKXwwO3A9Yis0ODB8MDtxPWNbcD4+Ml18MDtiZShuLDEwKXwwO2lmKChx
fDApPjApe3I9cTtkb3tyPXIrIC0xfDA7YmUobiw5KXwwfXdoaWxlKChyfDApPjApfWNlKG4sNDMw
NCl8MDtyPWNbcD4+Ml18MDtiZShuLDEwKXwwO2lmKChyfDApPi0xKXtxPXIrMXwwO2Rve3E9cSsg
LTF8MDtiZShuLDkpfDB9d2hpbGUoKHF8MCk+MCl9Y2UoY2UoY2Uobiw0MzEyKXwwLGUpfDAsNDMy
OCl8MDtlPWNbcD4+Ml18MDtiZShuLDEwKXwwO2lmKChlfDApPi0xKXtxPWUrMXwwO2Rve3E9cSsg
LTF8MDtiZShuLDkpfDB9d2hpbGUoKHF8MCk+MCl9Y2UoY2UoY2UoY2UoY2Uobiw0MzM2KXwwLDQy
ODApfDAsZCl8MCw0MjgwKXwwLDQzNTIpfDA7cT1jW3A+PjJdfDA7YmUobiwxMCl8MDtpZigocXww
KT4tMSl7ZT1xKzF8MDtkb3tlPWUrIC0xfDA7YmUobiw5KXwwfXdoaWxlKChlfDApPjApfWU9Y2Uo
Y2Uobiw0MzYwKXwwLDQyODApfDA7cT1WbyhkfDApfDA7aWYocT4+PjA+NDI5NDk2NzI3OSl7YWco
MCl9aWYocT4+PjA8MTEpe2FbbV09cTw8MTtzPW0rMXwwfWVsc2V7cj1xKzE2Ji0xNjt0PUFvKHIp
fDA7Y1ttKzg+PjJdPXQ7Y1ttPj4yXT1yfDE7Y1ttKzQ+PjJdPXE7cz10fVhvKHN8MCxkfDAscXww
KXwwO2FbcytxfDBdPTA7ZmUobCxiLG0pO2NlKGNlKGVlKGUsbCl8MCw0MjgwKXwwLDQzNTIpfDA7
aWYoISgoYVtsXSYxKT09MCkpe0NvKGNbbCs4Pj4yXXwwKX1pZighKChhW21dJjEpPT0wKSl7Q28o
Y1ttKzg+PjJdfDApfWdlKGIsKGNbcD4+Ml18MCkrMXwwLDEpO2I9Y1twPj4yXXwwO2JlKG4sMTAp
fDA7aWYoKGJ8MCk+LTEpe209YisxfDA7ZG97bT1tKyAtMXwwO2JlKG4sOSl8MH13aGlsZSgobXww
KT4wKX1jZShzaChjZShuLDQ0ODApfDAsZil8MCw0MzI4KXwwO209Y1twPj4yXXwwO2JlKG4sMTAp
fDA7aWYoKG18MCk+LTEpe2I9bSsxfDA7ZG97Yj1iKyAtMXwwO2JlKG4sOSl8MH13aGlsZSgoYnww
KT4wKX1jZShzaChjZShuLDQzNzYpfDAsZyl8MCw0MzI4KXwwO2I9Y1twPj4yXXwwO2JlKG4sMTAp
fDA7aWYoKGJ8MCk+LTEpe209YisxfDA7ZG97bT1tKyAtMXwwO2JlKG4sOSl8MH13aGlsZSgobXww
KT4wKX1jZShzaChjZShuLDQzOTIpfDAsaCl8MCw0MzI4KXwwO209Y1twPj4yXXwwO2JlKG4sMTAp
fDA7aWYoKG18MCk+LTEpe2I9bSsxfDA7ZG97Yj1iKyAtMXwwO2JlKG4sOSl8MH13aGlsZSgoYnww
KT4wKX1jZShzaChjZShuLDQ0OTYpfDAsail8MCw0MjgwKXwwO2I9Y1twPj4yXXwwO2JlKG4sMTAp
fDA7aWYoKGJ8MCk+MCl7dT1ifWVsc2V7Y2Uobiw0NDA4KXwwO2Fbb109NDQ7aT1rO3JldHVybn1k
b3t1PXUrIC0xfDA7YmUobiw5KXwwfXdoaWxlKCh1fDApPjApO2NlKG4sNDQwOCl8MDthW29dPTQ0
O2k9aztyZXR1cm59ZnVuY3Rpb24gX2QoYixkLGUsZixnKXtiPWJ8MDtkPWR8MDtlPWV8MDtmPStm
O2c9K2c7dmFyIGg9MCxqPTAsaz0wLGw9MCxtPTAsbj0wLG89MCxwPTAscT0wLHI9MCxzPTA7aD1p
O2k9aSszMnwwO2o9aCsxMnwwO2s9aDtsPWIrMTcyfDA7bT1iKzQ3NnwwO2JlKGwsYVttXXwwKXww
O249Yis0ODB8MDtvPWNbbj4+Ml18MDtiZShsLDEwKXwwO2lmKChvfDApPjApe3A9bztkb3twPXAr
IC0xfDA7YmUobCw5KXwwfXdoaWxlKChwfDApPjApfWNlKGwsNDMwNCl8MDtwPWNbbj4+Ml18MDti
ZShsLDEwKXwwO2lmKChwfDApPi0xKXtvPXArMXwwO2Rve289bysgLTF8MDtiZShsLDkpfDB9d2hp
bGUoKG98MCk+MCl9Y2UoY2UoY2UobCw0MzEyKXwwLGUpfDAsNDMyOCl8MDtlPWNbbj4+Ml18MDti
ZShsLDEwKXwwO2lmKChlfDApPi0xKXtvPWUrMXwwO2Rve289bysgLTF8MDtiZShsLDkpfDB9d2hp
bGUoKG98MCk+MCl9Y2UoY2UoY2UoY2UoY2UobCw0MzM2KXwwLDQyODApfDAsZCl8MCw0MjgwKXww
LDQzNTIpfDA7bz1jW24+PjJdfDA7YmUobCwxMCl8MDtpZigob3wwKT4tMSl7ZT1vKzF8MDtkb3tl
PWUrIC0xfDA7YmUobCw5KXwwfXdoaWxlKChlfDApPjApfWU9Y2UoY2UobCw0MzYwKXwwLDQyODAp
fDA7bz1WbyhkfDApfDA7aWYobz4+PjA+NDI5NDk2NzI3OSl7YWcoMCl9aWYobz4+PjA8MTEpe2Fb
a109bzw8MTtxPWsrMXwwfWVsc2V7cD1vKzE2Ji0xNjtyPUFvKHApfDA7Y1trKzg+PjJdPXI7Y1tr
Pj4yXT1wfDE7Y1trKzQ+PjJdPW87cT1yfVhvKHF8MCxkfDAsb3wwKXwwO2FbcStvfDBdPTA7ZmUo
aixiLGspO2NlKGNlKGVlKGUsail8MCw0MjgwKXwwLDQzNTIpfDA7aWYoISgoYVtqXSYxKT09MCkp
e0NvKGNbais4Pj4yXXwwKX1pZighKChhW2tdJjEpPT0wKSl7Q28oY1trKzg+PjJdfDApfWdlKGIs
KGNbbj4+Ml18MCkrMXwwLDEpO2I9Y1tuPj4yXXwwO2JlKGwsMTApfDA7aWYoKGJ8MCk+LTEpe2s9
YisxfDA7ZG97az1rKyAtMXwwO2JlKGwsOSl8MH13aGlsZSgoa3wwKT4wKX1jZShzaChjZShsLDQz
NzYpfDAsZil8MCw0MzI4KXwwO2s9Y1tuPj4yXXwwO2JlKGwsMTApfDA7aWYoKGt8MCk+LTEpe2I9
aysxfDA7ZG97Yj1iKyAtMXwwO2JlKGwsOSl8MH13aGlsZSgoYnwwKT4wKX1jZShzaChjZShsLDQz
OTIpfDAsZyl8MCw0MjgwKXwwO2I9Y1tuPj4yXXwwO2JlKGwsMTApfDA7aWYoKGJ8MCk+MCl7cz1i
fWVsc2V7Y2UobCw0NDA4KXwwO2FbbV09NDQ7aT1oO3JldHVybn1kb3tzPXMrIC0xfDA7YmUobCw5
KXwwfXdoaWxlKChzfDApPjApO2NlKGwsNDQwOCl8MDthW21dPTQ0O2k9aDtyZXR1cm59ZnVuY3Rp
b24gJGQoYixkLGUpe2I9YnwwO2Q9ZHwwO2U9ZXwwO3ZhciBmPTAsZz0wLGg9MCxqPTA7Zj1pO2c9
YiszMTZ8MDtoPWIrNDc3fDA7YmUoZyxhW2hdfDApfDA7aWYoKFNvKGQsNDI2NCl8MCk9PTApe2dn
KGIrNDY0fDAsZSl8MH1qPWNbYis0ODA+PjJdfDA7YmUoZywxMCl8MDtpZigoanwwKT4wKXtiPWo7
ZG97Yj1iKyAtMXwwO2JlKGcsOSl8MH13aGlsZSgoYnwwKT4wKX1jZShjZShjZShjZShjZShjZShj
ZShjZShnLDQyNzIpfDAsNDI4MCl8MCxkKXwwLDQyODApfDAsNDI4OCl8MCw0MjgwKXwwLGUpfDAs
NDI5Nil8MDthW2hdPTQ0O2k9ZjtyZXR1cm59ZnVuY3Rpb24gYWUoYSxiLGMpe2E9YXwwO2I9Ynww
O2M9Y3wwO3ZhciBkPTA7ZD1pOyRkKGErIC0xNnwwLGIsYyk7aT1kO3JldHVybn1mdW5jdGlvbiBi
ZShiLGQpe2I9YnwwO2Q9ZHwwO3ZhciBlPTAsZj0wLGc9MCxoPTAsaj0wLGs9MCxsPTAsbT0wLG49
MCxvPTAscD0wLHE9MCxyPTA7ZT1pO2k9aSszMnwwO2Y9ZSsxNnwwO2c9ZSsyMHwwO2g9ZSs4fDA7
aj1lKzR8MDtrPWU7YVtnXT1kO2FbaF09MDtjW2grND4+Ml09YjtkPWNbKGNbYj4+Ml18MCkrIC0x
Mj4+Ml18MDtpZigoY1tiKyhkKzE2KT4+Ml18MCkhPTApe3FoKGgpO2k9ZTtyZXR1cm4gYnwwfWw9
Y1tiKyhkKzcyKT4+Ml18MDtpZigobHwwKT09MCl7bT1kfWVsc2V7ZmgobCl8MDttPWNbKGNbYj4+
Ml18MCkrIC0xMj4+Ml18MH1hW2hdPTE7Y1tqPj4yXT1jW2IrKG0rMjQpPj4yXTtsPWIrbXwwO2Q9
Y1tiKyhtKzQpPj4yXXwwO249ZysxfDA7bz1iKyhtKzc2KXwwO209Y1tvPj4yXXwwO2lmKChtfDAp
PT0tMSl7emcoZixsKTtwPUpsKGYsMTE5OTIpfDA7cT1NY1tjWyhjW3A+PjJdfDApKzI4Pj4yXSYz
MV0ocCwzMil8MDtJbChmKTtwPXE8PDI0Pj4yNDtjW28+PjJdPXA7cj1wfWVsc2V7cj1tfW09ciYy
NTU7cj0oZCYxNzZ8MCk9PTMyP246ZztjW2YrMD4+Ml09Y1tqKzA+PjJdO2RlKGssZixnLHIsbixs
LG0pO2lmKChjW2s+PjJdfDApIT0wKXtxaChoKTtpPWU7cmV0dXJuIGJ8MH1rPWNbKGNbYj4+Ml18
MCkrIC0xMj4+Ml18MDt4ZyhiK2t8MCxjW2IrKGsrMTYpPj4yXXw1KTtxaChoKTtpPWU7cmV0dXJu
IGJ8MH1mdW5jdGlvbiBjZShiLGQpe2I9YnwwO2Q9ZHwwO3ZhciBlPTAsZj0wLGc9MCxoPTAsaj0w
LGs9MCxsPTAsbT0wLG49MCxvPTAscD0wLHE9MCxyPTAscz0wO2U9aTtpPWkrMzJ8MDtmPWUrMTZ8
MDtnPWUrOHwwO2g9ZSs0fDA7aj1lO2FbZ109MDtjW2crND4+Ml09YjtrPWNbKGNbYj4+Ml18MCkr
IC0xMj4+Ml18MDtpZigoY1tiKyhrKzE2KT4+Ml18MCkhPTApe3FoKGcpO2k9ZTtyZXR1cm4gYnww
fWw9Y1tiKyhrKzcyKT4+Ml18MDtpZigobHwwKT09MCl7bT1rfWVsc2V7ZmgobCl8MDttPWNbKGNb
Yj4+Ml18MCkrIC0xMj4+Ml18MH1hW2ddPTE7bD1WbyhkfDApfDA7Y1toPj4yXT1jW2IrKG0rMjQp
Pj4yXTtpZigoY1tiKyhtKzQpPj4yXSYxNzZ8MCk9PTMyKXtuPWQrbHwwfWVsc2V7bj1kfWs9Yitt
fDA7bz1iKyhtKzc2KXwwO209Y1tvPj4yXXwwO2lmKChtfDApPT0tMSl7emcoZixrKTtwPUpsKGYs
MTE5OTIpfDA7cT1NY1tjWyhjW3A+PjJdfDApKzI4Pj4yXSYzMV0ocCwzMil8MDtJbChmKTtwPXE8
PDI0Pj4yNDtjW28+PjJdPXA7cj1rO3M9cH1lbHNle3I9aztzPW19bT1zJjI1NTtzPWQrbHwwO2Nb
ZiswPj4yXT1jW2grMD4+Ml07ZGUoaixmLGQsbixzLHIsbSk7aWYoKGNbaj4+Ml18MCkhPTApe3Fo
KGcpO2k9ZTtyZXR1cm4gYnwwfWo9Y1soY1tiPj4yXXwwKSsgLTEyPj4yXXwwO3hnKGIranwwLGNb
YisoaisxNik+PjJdfDUpO3FoKGcpO2k9ZTtyZXR1cm4gYnwwfWZ1bmN0aW9uIGRlKGIsZCxlLGYs
ZyxoLGope2I9YnwwO2Q9ZHwwO2U9ZXwwO2Y9ZnwwO2c9Z3wwO2g9aHwwO2o9anwwO3ZhciBrPTAs
bD0wLG09MCxuPTAsbz0wLHA9MCxxPTAscj0wLHM9MCx0PTAsdT0wO2s9aTtpPWkrMTZ8MDtsPWs7
bT1jW2Q+PjJdfDA7aWYoKG18MCk9PTApe2NbYj4+Ml09MDtpPWs7cmV0dXJufW49ZztnPWU7bz1u
LWd8MDtwPWgrMTJ8MDtoPWNbcD4+Ml18MDtxPShofDApPihvfDApP2gtb3wwOjA7bz1mO2g9by1n
fDA7aWYoKGh8MCk+MD8odmNbY1soY1ttPj4yXXwwKSs0OD4+Ml0mMzFdKG0sZSxoKXwwKSE9KGh8
MCk6MCl7Y1tkPj4yXT0wO2NbYj4+Ml09MDtpPWs7cmV0dXJufWRve2lmKChxfDApPjApe2lmKHE+
Pj4wPDExKXtoPXE8PDEmMjU1O2FbbF09aDtyPWw7cz1oO3Q9bCsxfDB9ZWxzZXtoPXErMTYmLTE2
O2U9QW8oaCl8MDtjW2wrOD4+Ml09ZTtnPWh8MTtjW2w+PjJdPWc7Y1tsKzQ+PjJdPXE7cj1sO3M9
ZyYyNTU7dD1lfV9vKHR8MCxqfDAscXwwKXwwO2FbdCtxfDBdPTA7aWYoKHMmMSk9PTApe3U9bCsx
fDB9ZWxzZXt1PWNbbCs4Pj4yXXwwfWlmKCh2Y1tjWyhjW20+PjJdfDApKzQ4Pj4yXSYzMV0obSx1
LHEpfDApPT0ocXwwKSl7aWYoKGFbcl0mMSk9PTApe2JyZWFrfUNvKGNbbCs4Pj4yXXwwKTticmVh
a31jW2Q+PjJdPTA7Y1tiPj4yXT0wO2lmKChhW3JdJjEpPT0wKXtpPWs7cmV0dXJufUNvKGNbbCs4
Pj4yXXwwKTtpPWs7cmV0dXJufX13aGlsZSgwKTtsPW4tb3wwO2lmKChsfDApPjA/KHZjW2NbKGNb
bT4+Ml18MCkrNDg+PjJdJjMxXShtLGYsbCl8MCkhPShsfDApOjApe2NbZD4+Ml09MDtjW2I+PjJd
PTA7aT1rO3JldHVybn1jW3A+PjJdPTA7Y1tiPj4yXT1tO2k9aztyZXR1cm59ZnVuY3Rpb24gZWUo
YixkKXtiPWJ8MDtkPWR8MDt2YXIgZT0wLGY9MCxnPTAsaD0wLGo9MCxrPTAsbD0wLG09MCxuPTAs
bz0wLHA9MCxxPTAscj0wLHM9MCx0PTA7ZT1pO2k9aSszMnwwO2Y9ZSsxNnwwO2c9ZSs4fDA7aD1l
KzR8MDtqPWU7YVtnXT0wO2NbZys0Pj4yXT1iO2s9Y1soY1tiPj4yXXwwKSsgLTEyPj4yXXwwO2lm
KChjW2IrKGsrMTYpPj4yXXwwKSE9MCl7cWgoZyk7aT1lO3JldHVybiBifDB9bD1jW2IrKGsrNzIp
Pj4yXXwwO2lmKChsfDApIT0wKXtmaChsKXwwfWFbZ109MTtsPWFbZF18MDtrPShsJjEpPT0wO2lm
KGspe209KGwmMjU1KT4+PjF9ZWxzZXttPWNbZCs0Pj4yXXwwfWw9Y1soY1tiPj4yXXwwKSsgLTEy
Pj4yXXwwO2NbaD4+Ml09Y1tiKyhsKzI0KT4+Ml07aWYoayl7aWYoKGNbYisobCs0KT4+Ml0mMTc2
fDApPT0zMil7bj1kK20rMXwwfWVsc2V7bj1kKzF8MH1vPWQrMXwwO3A9ZCsxfDA7cT1ufWVsc2V7
bj1jW2QrOD4+Ml18MDtpZigoY1tiKyhsKzQpPj4yXSYxNzZ8MCk9PTMyKXtyPW4rbXwwfWVsc2V7
cj1ufW89Y1tkKzg+PjJdfDA7cD1jW2QrOD4+Ml18MDtxPXJ9cj1iK2x8MDtkPWIrKGwrNzYpfDA7
bD1jW2Q+PjJdfDA7aWYoKGx8MCk9PS0xKXt6ZyhmLHIpO249SmwoZiwxMTk5Mil8MDtrPU1jW2Nb
KGNbbj4+Ml18MCkrMjg+PjJdJjMxXShuLDMyKXwwO0lsKGYpO249azw8MjQ+PjI0O2NbZD4+Ml09
bjtzPXI7dD1ufWVsc2V7cz1yO3Q9bH1sPXQmMjU1O3Q9byttfDA7Y1tmKzA+PjJdPWNbaCswPj4y
XTtkZShqLGYscCxxLHQscyxsKTtpZigoY1tqPj4yXXwwKSE9MCl7cWgoZyk7aT1lO3JldHVybiBi
fDB9aj1jWyhjW2I+PjJdfDApKyAtMTI+PjJdfDA7eGcoYitqfDAsY1tiKyhqKzE2KT4+Ml18NSk7
cWgoZyk7aT1lO3JldHVybiBifDB9ZnVuY3Rpb24gZmUoYixkLGUpe2I9YnwwO2Q9ZHwwO2U9ZXww
O3ZhciBmPTAsZz0wLGg9MCxqPTAsaz0wLGw9MCxtPTAsbj0wLG89MCxwPTAscT0wLHI9MCxzPTAs
dD0wO2Y9aTthW2JdPTI7Zz1iKzF8MDthW2ddPTQ3O2FbYisyfDBdPTA7aD1kKzh8MDtqPWQrNHww
O2Q9Y1tqPj4yXXwwO2lmKChjW2g+PjJdfDApIT0oZHwwKSl7az1kO2Q9MDtkb3tsPWsrKGQqMTJ8
MCl8MDttPWFbbF18MDtpZigobSYxKT09MCl7bj1sKzF8MDtvPShtJjI1NSk+Pj4xfWVsc2V7bj1j
W2srKGQqMTJ8MCkrOD4+Ml18MDtvPWNbaysoZCoxMnwwKSs0Pj4yXXwwfWxnKGIsbixvKXwwO2xn
KGIsNDQ3MiwxKXwwO2Q9ZCsxfDA7az1jW2o+PjJdfDB9d2hpbGUoZD4+PjA8KCgoY1toPj4yXXww
KS1rfDApLzEyfDApPj4+MCl9az1hW2VdfDA7aWYoKGsmMSk9PTApe3A9ZSsxfDA7cT0oayYyNTUp
Pj4+MX1lbHNle3A9Y1tlKzg+PjJdfDA7cT1jW2UrND4+Ml18MH1sZyhiLHAscSl8MDtxPWFbYl18
MDtpZigocSYxKT09MCl7cj1nO3M9KHEmMjU1KT4+PjF9ZWxzZXtyPWNbYis4Pj4yXXwwO3M9Y1ti
KzQ+PjJdfDB9Yj1yK3N8MDtpZigocnwwKT09KGJ8MCkpe2k9ZjtyZXR1cm59ZWxzZXt0PXJ9ZG97
aWYoKGFbdF18MCk9PTMyKXthW3RdPTk1fXQ9dCsxfDB9d2hpbGUoKHR8MCkhPShifDApKTtpPWY7
cmV0dXJufWZ1bmN0aW9uIGdlKGIsZCxlKXtiPWJ8MDtkPWR8MDtlPWV8MDt2YXIgZj0wLGc9MCxo
PTAsaj0wLGs9MCxsPTAsbT0wLG49MCxvPTAscD0wO2Y9aTtpPWkrMTZ8MDtnPWY7aD1iKzQ1Nnww
O2o9Yis0NTJ8MDtpZigoY1toPj4yXXwwKT09KGNbaj4+Ml18MCkpe2k9ZjtyZXR1cm59az1iKzE3
MnwwO2JlKGssMTApfDA7Yj0oZHwwKT4wO2lmKGIpe2w9ZDtkb3tsPWwrIC0xfDA7YmUoayw5KXww
fXdoaWxlKChsfDApPjApfWNlKGssNDQxNil8MDthW2ddPTA7YVtnKzF8MF09MDtpZigoY1toPj4y
XXwwKSE9KGNbaj4+Ml18MCkpe2w9ZCsxfDA7bT0oZHwwKT4tMTtuPTA7ZG97ZWUoayxnKXwwO2Jl
KGssMTApfDA7aWYobSl7bz1sO2Rve289bysgLTF8MDtiZShrLDkpfDB9d2hpbGUoKG98MCk+MCl9
bz1jZShjZShrLDQyNzIpfDAsNDI4MCl8MDtwPWNlKGVlKG8sKGNbaj4+Ml18MCkrKG4qMjR8MCl8
MCl8MCw0NDQwKXwwO2NlKGVlKHAsKGNbaj4+Ml18MCkrKG4qMjR8MCkrMTJ8MCl8MCw0NDQ4KXww
O2dnKGcsNDM1Mil8MDtuPW4rMXwwfXdoaWxlKG4+Pj4wPCgoKGNbaD4+Ml18MCktKGNbaj4+Ml18
MCl8MCkvMjR8MCk+Pj4wKX1iZShrLDEwKXwwO2lmKGIpe2I9ZDtkb3tiPWIrIC0xfDA7YmUoayw5
KXwwfXdoaWxlKChifDApPjApfWNlKGssZT80NDU2OjQ0NjQpfDA7ZT1jW2o+PjJdfDA7aj1jW2g+
PjJdfDA7aWYoKGp8MCkhPShlfDApKXtrPWo7ZG97aj1rKyAtMjR8MDtjW2g+PjJdPWo7aWYoISgo
YVtrKyAtMTJ8MF0mMSk9PTApKXtDbyhjW2srIC00Pj4yXXwwKX1pZighKChhW2pdJjEpPT0wKSl7
Q28oY1trKyAtMTY+PjJdfDApfWs9Y1toPj4yXXwwfXdoaWxlKChrfDApIT0oZXwwKSl9aWYoKGFb
Z10mMSk9PTApe2k9ZjtyZXR1cm59Q28oY1tnKzg+PjJdfDApO2k9ZjtyZXR1cm59ZnVuY3Rpb24g
aGUoYixkKXtiPWJ8MDtkPWR8MDt2YXIgZT0wLGY9MCxnPTAsaD0wLGo9MCxrPTAsbD0wLG09MCxu
PTAsbz0wLHA9MCxxPTAscj0wLHM9MCx0PTA7ZT1pO2k9aSszMnwwO2Y9ZTtnPWIrOHwwO2g9Y1ti
Pj4yXXwwO2o9KChjW2IrND4+Ml18MCktaHwwKS8xMnwwO2s9aisxfDA7aWYoaz4+PjA+MzU3OTEz
OTQxKXtBbCgwKX1sPSgoY1tiKzg+PjJdfDApLWh8MCkvMTJ8MDtpZihsPj4+MDwxNzg5NTY5NzAp
e2g9bDw8MTtsPWg+Pj4wPGs+Pj4wP2s6aDtoPWYrMTJ8MDtjW2g+PjJdPTA7Y1tmKzE2Pj4yXT1n
O2lmKChsfDApPT0wKXttPTA7bj0wO289aH1lbHNle3A9bDtxPWg7cj02fX1lbHNle2g9ZisxMnww
O2NbaD4+Ml09MDtjW2YrMTY+PjJdPWc7cD0zNTc5MTM5NDE7cT1oO3I9Nn1pZigocnwwKT09Nil7
bT1wO249QW8ocCoxMnwwKXwwO289cX1jW2Y+PjJdPW47cT1uKyhqKjEyfDApfDA7cD1mKzh8MDtj
W3A+PjJdPXE7cj1mKzR8MDtjW3I+PjJdPXE7Y1tvPj4yXT1uKyhtKjEyfDApO2Rve2lmKChxfDAp
PT0wKXtzPTB9ZWxzZXtpZigoYVtkXSYxKT09MCl7Y1txKzA+PjJdPWNbZCswPj4yXTtjW3ErND4+
Ml09Y1tkKzQ+PjJdO2NbcSs4Pj4yXT1jW2QrOD4+Ml07cz1xO2JyZWFrfW09Y1tkKzg+PjJdfDA7
bz1jW2QrND4+Ml18MDtpZihvPj4+MD40Mjk0OTY3Mjc5KXthZygwKX1pZihvPj4+MDwxMSl7YVtx
XT1vPDwxO3Q9cSsxfDB9ZWxzZXtoPW8rMTYmLTE2O2c9QW8oaCl8MDtjW24rKGoqMTJ8MCkrOD4+
Ml09ZztjW3E+PjJdPWh8MTtjW24rKGoqMTJ8MCkrND4+Ml09bzt0PWd9WG8odHwwLG18MCxvfDAp
fDA7YVt0K298MF09MDtzPWNbcD4+Ml18MH19d2hpbGUoMCk7Y1twPj4yXT1zKzEyO2llKGIsZik7
Yj1jW3I+PjJdfDA7cj1jW3A+PjJdfDA7aWYoKHJ8MCkhPShifDApKXtzPXI7d2hpbGUoMSl7cj1z
KyAtMTJ8MDtjW3A+PjJdPXI7aWYoISgoYVtyXSYxKT09MCkpe0NvKGNbcysgLTQ+PjJdfDApfWlm
KChyfDApPT0oYnwwKSl7YnJlYWt9ZWxzZXtzPXJ9fX1zPWNbZj4+Ml18MDtpZigoc3wwKT09MCl7
aT1lO3JldHVybn1DbyhzKTtpPWU7cmV0dXJufWZ1bmN0aW9uIGllKGIsZCl7Yj1ifDA7ZD1kfDA7
dmFyIGU9MCxmPTAsZz0wLGg9MCxqPTAsaz0wLGw9MCxtPTAsbj0wLG89MCxwPTAscT0wLHI9MCxz
PTAsdD0wLHU9MCx2PTAsdz0wLHg9MDtlPWk7Zj1jW2I+PjJdfDA7Zz1iKzR8MDtoPWNbZz4+Ml18
MDtqPWQrNHwwO2s9Y1tqPj4yXXwwO2Rve2lmKChofDApIT0oZnwwKSl7bD1oO209azt3aGlsZSgx
KXtuPW0rIC0xMnwwO289bCsgLTEyfDA7aWYoKGFbb10mMSk9PTApe2NbbiswPj4yXT1jW28rMD4+
Ml07Y1tuKzQ+PjJdPWNbbys0Pj4yXTtjW24rOD4+Ml09Y1tvKzg+PjJdfWVsc2V7cD1jW2wrIC00
Pj4yXXwwO3E9Y1tsKyAtOD4+Ml18MDtpZihxPj4+MD40Mjk0OTY3Mjc5KXtyPTU7YnJlYWt9aWYo
cT4+PjA8MTEpe2Fbbl09cTw8MTtzPW4rMXwwfWVsc2V7dD1xKzE2Ji0xNjt1PUFvKHQpfDA7Y1tt
KyAtND4+Ml09dTtjW24+PjJdPXR8MTtjW20rIC04Pj4yXT1xO3M9dX1YbyhzfDAscHwwLHF8MCl8
MDthW3MrcXwwXT0wfXY9KGNbaj4+Ml18MCkrIC0xMnwwO2Nbaj4+Ml09djtpZigob3wwKT09KGZ8
MCkpe3I9MTE7YnJlYWt9ZWxzZXtsPW87bT12fX1pZigocnwwKT09NSl7YWcoMCl9ZWxzZSBpZigo
cnwwKT09MTEpe3c9djt4PWNbYj4+Ml18MDticmVha319ZWxzZXt3PWs7eD1mfX13aGlsZSgwKTtj
W2I+PjJdPXc7Y1tqPj4yXT14O3g9ZCs4fDA7dz1jW2c+PjJdfDA7Y1tnPj4yXT1jW3g+PjJdO2Nb
eD4+Ml09dzt3PWIrOHwwO2I9ZCsxMnwwO3g9Y1t3Pj4yXXwwO2Nbdz4+Ml09Y1tiPj4yXTtjW2I+
PjJdPXg7Y1tkPj4yXT1jW2o+PjJdO2k9ZTtyZXR1cm59ZnVuY3Rpb24gamUoYixkKXtiPWJ8MDtk
PWR8MDt2YXIgZT0wLGY9MCxnPTAsaD0wLGo9MCxrPTAsbD0wLG09MCxuPTAsbz0wLHA9MCxxPTAs
cj0wLHM9MCx0PTAsdT0wO2U9aTtmPWIrNHwwO2c9Y1tmPj4yXXwwO2g9Y1tiPj4yXXwwO2o9aDtr
PShnLWp8MCkvMjR8MDtsPWsrMXwwO2lmKGw+Pj4wPjE3ODk1Njk3MCl7QWwoMCl9bT1iKzh8MDtu
PSgoY1ttPj4yXXwwKS1qfDApLzI0fDA7aWYobj4+PjA8ODk0Nzg0ODUpe2o9bjw8MTtuPWo+Pj4w
PGw+Pj4wP2w6ajtpZigobnwwKT09MCl7bz0wO3A9MH1lbHNle3E9bjtyPTV9fWVsc2V7cT0xNzg5
NTY5NzA7cj01fWlmKChyfDApPT01KXtvPXE7cD1BbyhxKjI0fDApfDB9cT1wKyhrKjI0fDApfDA7
az1wKyhvKjI0fDApfDA7aWYoKHF8MCk9PTApe3M9Zzt0PWh9ZWxzZXtrZShxLGQpO3M9Y1tmPj4y
XXwwO3Q9Y1tiPj4yXXwwfWQ9cCsobCoyNHwwKXwwO2lmKChzfDApIT0odHwwKSl7bD1zO3A9cTtk
b3twPXArIC0yNHwwO2w9bCsgLTI0fDA7a2UocCxsKX13aGlsZSgobHwwKSE9KHR8MCkpO3Q9Y1ti
Pj4yXXwwO2w9Y1tmPj4yXXwwO2NbYj4+Ml09cDtjW2Y+PjJdPWQ7Y1ttPj4yXT1rO2lmKChsfDAp
PT0odHwwKSl7dT10fWVsc2V7cD1sO3doaWxlKDEpe2w9cCsgLTI0fDA7aWYoISgoYVtwKyAtMTJ8
MF0mMSk9PTApKXtDbyhjW3ArIC00Pj4yXXwwKX1pZighKChhW2xdJjEpPT0wKSl7Q28oY1twKyAt
MTY+PjJdfDApfWlmKChsfDApPT0odHwwKSl7dT10O2JyZWFrfWVsc2V7cD1sfX19fWVsc2V7Y1ti
Pj4yXT1xO2NbZj4+Ml09ZDtjW20+PjJdPWs7dT1zfWlmKCh1fDApPT0wKXtpPWU7cmV0dXJufUNv
KHUpO2k9ZTtyZXR1cm59ZnVuY3Rpb24ga2UoYixkKXtiPWJ8MDtkPWR8MDt2YXIgZT0wLGY9MCxn
PTAsaD0wLGo9MCxrPTAsbD0wO2U9aTtpZigoYVtkXSYxKT09MCl7Y1tiKzA+PjJdPWNbZCswPj4y
XTtjW2IrND4+Ml09Y1tkKzQ+PjJdO2NbYis4Pj4yXT1jW2QrOD4+Ml19ZWxzZXtmPWNbZCs4Pj4y
XXwwO2c9Y1tkKzQ+PjJdfDA7aWYoZz4+PjA+NDI5NDk2NzI3OSl7YWcoMCl9aWYoZz4+PjA8MTEp
e2FbYl09Zzw8MTtoPWIrMXwwfWVsc2V7aj1nKzE2Ji0xNjtrPUFvKGopfDA7Y1tiKzg+PjJdPWs7
Y1tiPj4yXT1qfDE7Y1tiKzQ+PjJdPWc7aD1rfVhvKGh8MCxmfDAsZ3wwKXwwO2FbaCtnfDBdPTB9
Zz1iKzEyfDA7aD1kKzEyfDA7aWYoKGFbaF0mMSk9PTApe2NbZyswPj4yXT1jW2grMD4+Ml07Y1tn
KzQ+PjJdPWNbaCs0Pj4yXTtjW2crOD4+Ml09Y1toKzg+PjJdO2k9ZTtyZXR1cm59aD1jW2QrMjA+
PjJdfDA7Zj1jW2QrMTY+PjJdfDA7aWYoZj4+PjA+NDI5NDk2NzI3OSl7YWcoMCl9aWYoZj4+PjA8
MTEpe2FbZ109Zjw8MTtsPWcrMXwwfWVsc2V7ZD1mKzE2Ji0xNjtrPUFvKGQpfDA7Y1tiKzIwPj4y
XT1rO2NbZz4+Ml09ZHwxO2NbYisxNj4+Ml09ZjtsPWt9WG8obHwwLGh8MCxmfDApfDA7YVtsK2Z8
MF09MDtpPWU7cmV0dXJufWZ1bmN0aW9uIGxlKGIpe2I9YnwwO3ZhciBkPTAsZT0wLGY9MCxnPTAs
aD0wLGo9MCxrPTA7ZD1pO2NbYj4+Ml09NDY1NjtlPWIrNHwwO2Y9Y1tlPj4yXXwwO2lmKChmfDAp
PT0wKXtpPWQ7cmV0dXJufWc9Yis4fDA7Yj1jW2c+PjJdfDA7aWYoKGJ8MCk9PShmfDApKXtoPWZ9
ZWxzZXtqPWI7d2hpbGUoMSl7Yj1qKyAtMTJ8MDtjW2c+PjJdPWI7aWYoKGFbYl0mMSk9PTApe2s9
Yn1lbHNle0NvKGNbaisgLTQ+PjJdfDApO2s9Y1tnPj4yXXwwfWlmKChrfDApPT0oZnwwKSl7YnJl
YWt9ZWxzZXtqPWt9fWg9Y1tlPj4yXXwwfUNvKGgpO2k9ZDtyZXR1cm59ZnVuY3Rpb24gbWUoYil7
Yj1ifDA7dmFyIGQ9MCxlPTAsZj0wLGc9MCxoPTAsaj0wLGs9MCxsPTA7ZD1pO2NbYj4+Ml09NDY1
NjtlPWIrNHwwO2Y9Y1tlPj4yXXwwO2lmKChmfDApPT0wKXtDbyhiKTtpPWQ7cmV0dXJufWc9Yis4
fDA7aD1jW2c+PjJdfDA7aWYoKGh8MCk9PShmfDApKXtqPWZ9ZWxzZXtrPWg7d2hpbGUoMSl7aD1r
KyAtMTJ8MDtjW2c+PjJdPWg7aWYoKGFbaF0mMSk9PTApe2w9aH1lbHNle0NvKGNbaysgLTQ+PjJd
fDApO2w9Y1tnPj4yXXwwfWlmKChsfDApPT0oZnwwKSl7YnJlYWt9ZWxzZXtrPWx9fWo9Y1tlPj4y
XXwwfUNvKGopO0NvKGIpO2k9ZDtyZXR1cm59ZnVuY3Rpb24gbmUoYSxiLGMsZCl7YT1hfDA7Yj1i
fDA7Yz1jfDA7ZD1kfDA7cmV0dXJufWZ1bmN0aW9uIG9lKGIpe2I9YnwwO3ZhciBkPTAsZT0wLGY9
MDtkPWk7ZT1iKyAtOHwwO2NbZT4+Ml09NDcyNDtiPWUrNjR8MDtjW2I+PjJdPTQ3NjQ7Y1tlKzg+
PjJdPTQ3NDQ7Zj1lKzEyfDA7Y1tmPj4yXT00OTEyO2lmKCEoKGFbZSs0NHwwXSYxKT09MCkpe0Nv
KGNbZSs1Mj4+Ml18MCl9Y1tmPj4yXT05MTg0O0lsKGUrMTZ8MCk7eWcoYik7aT1kO3JldHVybn1m
dW5jdGlvbiBwZShiKXtiPWJ8MDt2YXIgZD0wLGU9MCxmPTAsZz0wO2Q9aTtlPWNbKGNbYj4+Ml18
MCkrIC0xMj4+Ml18MDtjW2IrZT4+Ml09NDcyNDtmPWIrKGUrNjQpfDA7Y1tmPj4yXT00NzY0O2Nb
YisoZSs4KT4+Ml09NDc0NDtnPWIrKGUrMTIpfDA7Y1tnPj4yXT00OTEyO2lmKCEoKGFbYisoZSs0
NCl8MF0mMSk9PTApKXtDbyhjW2IrKGUrNTIpPj4yXXwwKX1jW2c+PjJdPTkxODQ7SWwoYisoZSsx
Nil8MCk7eWcoZik7aT1kO3JldHVybn1mdW5jdGlvbiBxZShiKXtiPWJ8MDt2YXIgZD0wLGU9MDtk
PWk7Y1tiPj4yXT00NzI0O2NbYis2ND4+Ml09NDc2NDtjW2IrOD4+Ml09NDc0NDtlPWIrMTJ8MDtj
W2U+PjJdPTQ5MTI7aWYoISgoYVtiKzQ0fDBdJjEpPT0wKSl7Q28oY1tiKzUyPj4yXXwwKX1jW2U+
PjJdPTkxODQ7SWwoYisxNnwwKTt5ZyhiKzY0fDApO0NvKGIpO2k9ZDtyZXR1cm59ZnVuY3Rpb24g
cmUoYil7Yj1ifDA7dmFyIGQ9MCxlPTAsZj0wO2Q9aTtlPWIrIC04fDA7Y1tlPj4yXT00NzI0O2I9
ZSs2NHwwO2NbYj4+Ml09NDc2NDtjW2UrOD4+Ml09NDc0NDtmPWUrMTJ8MDtjW2Y+PjJdPTQ5MTI7
aWYoISgoYVtlKzQ0fDBdJjEpPT0wKSl7Q28oY1tlKzUyPj4yXXwwKX1jW2Y+PjJdPTkxODQ7SWwo
ZSsxNnwwKTt5ZyhiKTtDbyhlKTtpPWQ7cmV0dXJufWZ1bmN0aW9uIHNlKGIpe2I9YnwwO3ZhciBk
PTAsZT0wLGY9MCxnPTAsaD0wO2Q9aTtlPWNbKGNbYj4+Ml18MCkrIC0xMj4+Ml18MDtmPWIrZXww
O2NbZj4+Ml09NDcyNDtnPWIrKGUrNjQpfDA7Y1tnPj4yXT00NzY0O2NbYisoZSs4KT4+Ml09NDc0
NDtoPWIrKGUrMTIpfDA7Y1toPj4yXT00OTEyO2lmKCEoKGFbYisoZSs0NCl8MF0mMSk9PTApKXtD
byhjW2IrKGUrNTIpPj4yXXwwKX1jW2g+PjJdPTkxODQ7SWwoYisoZSsxNil8MCk7eWcoZyk7Q28o
Zik7aT1kO3JldHVybn1mdW5jdGlvbiB0ZShiKXtiPWJ8MDt2YXIgZD0wO2Q9aTtjW2I+PjJdPTQ5
MTI7aWYoISgoYVtiKzMyfDBdJjEpPT0wKSl7Q28oY1tiKzQwPj4yXXwwKX1jW2I+PjJdPTkxODQ7
SWwoYis0fDApO2k9ZDtyZXR1cm59ZnVuY3Rpb24gdWUoYil7Yj1ifDA7dmFyIGQ9MDtkPWk7Y1ti
Pj4yXT00OTEyO2lmKCEoKGFbYiszMnwwXSYxKT09MCkpe0NvKGNbYis0MD4+Ml18MCl9Y1tiPj4y
XT05MTg0O0lsKGIrNHwwKTtDbyhiKTtpPWQ7cmV0dXJufWZ1bmN0aW9uIHZlKGIsZCxlLGYsZyxo
KXtiPWJ8MDtkPWR8MDtlPWV8MDtmPWZ8MDtnPWd8MDtoPWh8MDt2YXIgaj0wLGs9MCxsPTAsbT0w
LG49MCxvPTAscD0wLHE9MCxyPTAscz0wLHQ9MDtqPWk7az1kKzQ0fDA7bD1jW2s+PjJdfDA7bT1k
KzI0fDA7bj1jW20+PjJdfDA7aWYobD4+PjA8bj4+PjApe2Nbaz4+Ml09bjtvPW59ZWxzZXtvPWx9
bD1oJjI0O2Rve2lmKChsfDApPT0yNCl7aWYoKGd8MCk9PTApe3A9MDtxPTA7YnJlYWt9ZWxzZSBp
ZigoZ3wwKT09Mil7cj0xMTticmVha31lbHNlIGlmKChnfDApIT0xKXtyPTE1O2JyZWFrfWs9Yjtj
W2s+PjJdPTA7Y1trKzQ+PjJdPTA7az1iKzh8MDtjW2s+PjJdPS0xO2Nbays0Pj4yXT0tMTtpPWo7
cmV0dXJufWVsc2UgaWYoKGx8MCkhPTApe2lmKChnfDApPT0wKXtwPTA7cT0wO2JyZWFrfWVsc2Ug
aWYoKGd8MCk9PTIpe3I9MTE7YnJlYWt9ZWxzZSBpZigoZ3wwKSE9MSl7cj0xNTticmVha31pZigo
aCY4fDApPT0wKXtrPW4tKGNbZCsyMD4+Ml18MCl8MDtwPWs7cT0oKGt8MCk8MCk8PDMxPj4zMTti
cmVha31lbHNle2s9KGNbZCsxMj4+Ml18MCktKGNbZCs4Pj4yXXwwKXwwO3A9aztxPSgoa3wwKTww
KTw8MzE+PjMxO2JyZWFrfX1lbHNle2s9YjtjW2s+PjJdPTA7Y1trKzQ+PjJdPTA7az1iKzh8MDtj
W2s+PjJdPS0xO2Nbays0Pj4yXT0tMTtpPWo7cmV0dXJufX13aGlsZSgwKTtpZigocnwwKT09MTUp
e2c9YjtjW2c+PjJdPTA7Y1tnKzQ+PjJdPTA7Zz1iKzh8MDtjW2c+PjJdPS0xO2NbZys0Pj4yXT0t
MTtpPWo7cmV0dXJufWlmKChyfDApPT0xMSl7cj1kKzMyfDA7aWYoKGFbcl0mMSk9PTApe3M9cisx
fDB9ZWxzZXtzPWNbZCs0MD4+Ml18MH1yPW8tc3wwO3A9cjtxPSgocnwwKTwwKTw8MzE+PjMxfXI9
V28ocHwwLHF8MCxlfDAsZnwwKXwwO2Y9STtpZigoZnwwKT49MCl7ZT1kKzMyfDA7aWYoKGFbZV0m
MSk9PTApe3Q9ZSsxfDB9ZWxzZXt0PWNbZCs0MD4+Ml18MH1lPW8tdHwwO3Q9KChlfDApPDApPDwz
MT4+MzE7aWYoISgodHwwKTwoZnwwKXwodHwwKT09KGZ8MCkmZT4+PjA8cj4+PjApKXtlPWgmODtp
ZighKChyfDApPT0wJihmfDApPT0wKSl7aWYoKGV8MCkhPTA/KGNbZCsxMj4+Ml18MCk9PTA6MCl7
dD1iO2NbdD4+Ml09MDtjW3QrND4+Ml09MDt0PWIrOHwwO2NbdD4+Ml09LTE7Y1t0KzQ+PjJdPS0x
O2k9ajtyZXR1cm59aWYoKGgmMTZ8MCkhPTAmKG58MCk9PTApe249YjtjW24+PjJdPTA7Y1tuKzQ+
PjJdPTA7bj1iKzh8MDtjW24+PjJdPS0xO2Nbbis0Pj4yXT0tMTtpPWo7cmV0dXJufX1pZigoZXww
KSE9MCl7Y1tkKzEyPj4yXT0oY1tkKzg+PjJdfDApK3I7Y1tkKzE2Pj4yXT1vfWlmKChoJjE2fDAp
IT0wKXtjW20+PjJdPShjW2QrMjA+PjJdfDApK3J9ZD1iO2NbZD4+Ml09MDtjW2QrND4+Ml09MDtk
PWIrOHwwO2NbZD4+Ml09cjtjW2QrND4+Ml09ZjtpPWo7cmV0dXJufX1mPWI7Y1tmPj4yXT0wO2Nb
Zis0Pj4yXT0wO2Y9Yis4fDA7Y1tmPj4yXT0tMTtjW2YrND4+Ml09LTE7aT1qO3JldHVybn1mdW5j
dGlvbiB3ZShhLGIsZCxlKXthPWF8MDtiPWJ8MDtkPWR8MDtlPWV8MDt2YXIgZj0wLGc9MDtmPWk7
Zz1kKzh8MDt3Y1tjWyhjW2I+PjJdfDApKzE2Pj4yXSYzMV0oYSxiLGNbZz4+Ml18MCxjW2crND4+
Ml18MCwwLGUpO2k9ZjtyZXR1cm59ZnVuY3Rpb24geGUoYSl7YT1hfDA7dmFyIGI9MCxlPTAsZj0w
LGc9MCxoPTAsaj0wLGs9MDtiPWk7ZT1hKzQ0fDA7Zj1jW2U+PjJdfDA7Zz1jW2ErMjQ+PjJdfDA7
aWYoZj4+PjA8Zz4+PjApe2NbZT4+Ml09ZztoPWd9ZWxzZXtoPWZ9aWYoKGNbYSs0OD4+Ml0mOHww
KT09MCl7aj0tMTtpPWI7cmV0dXJuIGp8MH1mPWErMTZ8MDtnPWNbZj4+Ml18MDtlPWNbYSsxMj4+
Ml18MDtpZihnPj4+MDxoPj4+MCl7Y1tmPj4yXT1oO2s9aH1lbHNle2s9Z31pZighKGU+Pj4wPGs+
Pj4wKSl7aj0tMTtpPWI7cmV0dXJuIGp8MH1qPWRbZV18MDtpPWI7cmV0dXJuIGp8MH1mdW5jdGlv
biB5ZShiLGQpe2I9YnwwO2Q9ZHwwO3ZhciBlPTAsZj0wLGc9MCxoPTAsaj0wLGs9MCxsPTAsbT0w
LG49MCxvPTAscD0wO2U9aTtmPWIrNDR8MDtnPWNbZj4+Ml18MDtoPWNbYisyND4+Ml18MDtpZihn
Pj4+MDxoPj4+MCl7Y1tmPj4yXT1oO2o9aH1lbHNle2o9Z31nPWIrOHwwO2g9Y1tnPj4yXXwwO2Y9
YisxMnwwO2s9Y1tmPj4yXXwwO2lmKCEoaD4+PjA8az4+PjApKXtsPS0xO2k9ZTtyZXR1cm4gbHww
fWlmKChkfDApPT0tMSl7Y1tnPj4yXT1oO2NbZj4+Ml09aysgLTE7Y1tiKzE2Pj4yXT1qO2w9MDtp
PWU7cmV0dXJuIGx8MH1pZigoY1tiKzQ4Pj4yXSYxNnwwKT09MCl7bT1kJjI1NTtuPWsrIC0xfDA7
aWYobTw8MjQ+PjI0PT0oYVtuXXwwKSl7bz1tO3A9bn1lbHNle2w9LTE7aT1lO3JldHVybiBsfDB9
fWVsc2V7bz1kJjI1NTtwPWsrIC0xfDB9Y1tnPj4yXT1oO2NbZj4+Ml09cDtjW2IrMTY+PjJdPWo7
YVtwXT1vO2w9ZDtpPWU7cmV0dXJuIGx8MH1mdW5jdGlvbiB6ZShiLGQpe2I9YnwwO2Q9ZHwwO3Zh
ciBlPTAsZj0wLGc9MCxoPTAsaj0wLGs9MCxsPTAsbT0wLG49MCxvPTAscD0wLHE9MCxyPTAscz0w
LHQ9MCx1PTAsdj0wLHc9MCx4PTAseT0wLHo9MCxBPTAsQj0wLEM9MCxEPTAsRT0wLEY9MCxHPTAs
SD0wLEk9MCxKPTAsSz0wO2U9aTtpZigoZHwwKT09LTEpe2Y9MDtpPWU7cmV0dXJuIGZ8MH1nPWIr
MTJ8MDtoPWIrOHwwO2o9KGNbZz4+Ml18MCktKGNbaD4+Ml18MCl8MDtrPWIrMjR8MDtsPWNbaz4+
Ml18MDttPWIrMjh8MDtuPWNbbT4+Ml18MDtpZigobHwwKT09KG58MCkpe289Yis0OHwwO2lmKChj
W28+PjJdJjE2fDApPT0wKXtmPS0xO2k9ZTtyZXR1cm4gZnwwfXA9YisyMHwwO3E9Y1twPj4yXXww
O3I9bC1xfDA7cz1iKzQ0fDA7dD0oY1tzPj4yXXwwKS1xfDA7cT1iKzMyfDA7dT1hW3FdfDA7dj0o
dSYxKSE9MDtpZih2KXt3PShjW3E+PjJdJi0yKSsgLTF8MDt4PWNbYiszNj4+Ml18MH1lbHNle3c9
MTA7eD0odSYyNTUpPj4+MX1pZigoeHwwKT09KHd8MCkpe25nKHEsdywxLHcsdywwLDApO2lmKChh
W3FdJjEpPT0wKXt5PTExfWVsc2V7eT0xMn19ZWxzZXtpZih2KXt5PTEyfWVsc2V7eT0xMX19aWYo
KHl8MCk9PTExKXthW3FdPSh4PDwxKSsyO3o9cSsxfDA7QT14KzF8MH1lbHNlIGlmKCh5fDApPT0x
Mil7eT1jW2IrNDA+PjJdfDA7dj14KzF8MDtjW2IrMzY+PjJdPXY7ej15O0E9dn1hW3oreHwwXT0w
O2FbeitBfDBdPTA7QT1hW3FdfDA7aWYoKEEmMSk9PTApe0I9QTtDPTEwfWVsc2V7QT1jW3E+PjJd
fDA7Qj1BJjI1NTtDPShBJi0yKSsgLTF8MH1BPShCJjEpPT0wO2lmKEEpe0Q9KEImMjU1KT4+PjF9
ZWxzZXtEPWNbYiszNj4+Ml18MH1kb3tpZighKEQ+Pj4wPEM+Pj4wKSl7aWYoQSl7YVtxK0MrMXww
XT0wO2FbcV09Qzw8MTticmVha31lbHNle2FbKGNbYis0MD4+Ml18MCkrQ3wwXT0wO2NbYiszNj4+
Ml09QzticmVha319ZWxzZXtpZyhxLEMtRHwwLDApfDB9fXdoaWxlKDApO0Q9YVtxXXwwO2lmKChE
JjEpPT0wKXtFPXErMXwwO0Y9KEQmMjU1KT4+PjF9ZWxzZXtFPWNbYis0MD4+Ml18MDtGPWNbYisz
Nj4+Ml18MH1EPUUrRnwwO2NbcD4+Ml09RTtjW20+PjJdPUQ7bT1FK3J8MDtjW2s+PjJdPW07cj1F
K3R8MDtjW3M+PjJdPXI7Rz1vO0g9RDtJPW07Sj1yfWVsc2V7Rz1iKzQ4fDA7SD1uO0k9bDtKPWNb
Yis0ND4+Ml18MH1sPUkrMXwwO249bD4+PjA8Sj4+PjA/SjpsO2NbYis0ND4+Ml09bjtpZigoY1tH
Pj4yXSY4fDApIT0wKXtHPWIrMzJ8MDtpZigoYVtHXSYxKT09MCl7Sz1HKzF8MH1lbHNle0s9Y1ti
KzQwPj4yXXwwfWNbaD4+Ml09SztjW2c+PjJdPUsrajtjW2IrMTY+PjJdPW59aWYoKEl8MCk9PShI
fDApKXtmPU1jW2NbKGNbYj4+Ml18MCkrNTI+PjJdJjMxXShiLGQmMjU1KXwwO2k9ZTtyZXR1cm4g
ZnwwfWVsc2V7Y1trPj4yXT1sO2FbSV09ZDtmPWQmMjU1O2k9ZTtyZXR1cm4gZnwwfXJldHVybiAw
fWZ1bmN0aW9uIEFlKGIsZCxlKXtiPWJ8MDtkPWR8MDtlPWV8MDt2YXIgZj0wLGc9MCxoPTAsaj0w
LGs9MCxsPTAsbT0wLG49MCxvPTAscD0wLHE9MCxyPTAscz0wLHQ9MCx1PTAsdj0wO2Q9aTtpPWkr
MTYwfDA7Zj1kKzE0NHwwO2c9ZDtoPWcrNjR8MDtqPWcrOHwwO2Nbaj4+Ml09NDc0NDtrPWcrMTJ8
MDtjW2c+PjJdPTQ4NzY7Y1toPj4yXT00ODk2O2NbZys0Pj4yXT0wO2w9Zys2NHwwO0FnKGwsayk7
Y1tnKzEzNj4+Ml09MDtjW2crMTQwPj4yXT0tMTtjW2c+PjJdPTQ3MjQ7Y1toPj4yXT00NzY0O2Nb
aj4+Ml09NDc0NDtjW2s+PjJdPTkxODQ7aD1nKzE2fDA7R2woaCk7bT1nKzIwfDA7Y1ttKzA+PjJd
PTA7Y1ttKzQ+PjJdPTA7Y1ttKzg+PjJdPTA7Y1ttKzEyPj4yXT0wO2NbbSsxNj4+Ml09MDtjW20r
MjA+PjJdPTA7Y1trPj4yXT00OTEyO209Zys0NHwwO249Zys2MHwwO2NbbSswPj4yXT0wO2NbbSs0
Pj4yXT0wO2NbbSs4Pj4yXT0wO2NbbSsxMj4+Ml09MDtjW24+PjJdPTI0O2NbZiswPj4yXT0wO2Nb
Zis0Pj4yXT0wO2NbZis4Pj4yXT0wO0JlKGssZik7aWYoISgoYVtmXSYxKT09MCkpe0NvKGNbZis4
Pj4yXXwwKX1mPWUrMXwwO249Zys4fDA7bz1lKzh8MDtwPWUrNHwwO3E9MDt3aGlsZSgxKXtyPWFb
ZV18MDtzPShyJjEpPT0wO2lmKHMpe3Q9KHImMjU1KT4+PjF9ZWxzZXt0PWNbcD4+Ml18MH1pZigh
KHE+Pj4wPHQ+Pj4wKSl7YnJlYWt9aWYocyl7dT1mfWVsc2V7dT1jW28+PjJdfDB9cj1hW3UrcXww
XXwwO2lmKChyfDApPT05fChyfDApPT0xMCl7YmUobiwzMil8MH1lbHNlIGlmKChyfDApPT0zNCl7
YmUoY2Uobiw1MTM2KXwwLDM0KXwwfWVsc2V7aWYocyl7dj1mfWVsc2V7dj1jW28+PjJdfDB9YmUo
bixhW3YrcXwwXXwwKXwwfXE9cSsxfDB9Q2UoYixrKTtjW2c+PjJdPTQ3MjQ7Y1tnKzY0Pj4yXT00
NzY0O2Nbaj4+Ml09NDc0NDtqPWcrMTJ8MDtjW2o+PjJdPTQ5MTI7aWYoKGFbbV0mMSk9PTApe2Nb
aj4+Ml09OTE4NDtJbChoKTt5ZyhsKTtpPWQ7cmV0dXJufUNvKGNbZys1Mj4+Ml18MCk7Y1tqPj4y
XT05MTg0O0lsKGgpO3lnKGwpO2k9ZDtyZXR1cm59ZnVuY3Rpb24gQmUoYixkKXtiPWJ8MDtkPWR8
MDt2YXIgZT0wLGY9MCxnPTAsaD0wLGo9MCxrPTAsbD0wLG09MCxuPTAsbz0wLHA9MCxxPTAscj0w
LHM9MCx0PTAsdT0wO2U9aTtmPWIrMzJ8MDtmZyhmLGQpfDA7ZD1iKzQ0fDA7Y1tkPj4yXT0wO2c9
Yis0OHwwO2g9Y1tnPj4yXXwwO2lmKChoJjh8MCkhPTApe2o9YVtmXXwwO2lmKChqJjEpPT0wKXtr
PWYrKChqJjI1NSk+Pj4xKSsxfDA7Y1tkPj4yXT1rO2w9ZisxfDA7bT1mKzF8MDtuPWt9ZWxzZXtr
PShjW2IrNDA+PjJdfDApKyhjW2IrMzY+PjJdfDApfDA7Y1tkPj4yXT1rO2o9Y1tiKzQwPj4yXXww
O2w9ajttPWo7bj1rfWNbYis4Pj4yXT1sO2NbYisxMj4+Ml09bTtjW2IrMTY+PjJdPW59aWYoKGgm
MTZ8MCk9PTApe2k9ZTtyZXR1cm59aD1hW2ZdfDA7aWYoKGgmMSk9PTApe249KGgmMjU1KT4+PjE7
Y1tkPj4yXT1mK24rMTtvPWg7cD0xMDtxPW59ZWxzZXtuPWNbYiszNj4+Ml18MDtjW2Q+PjJdPShj
W2IrNDA+PjJdfDApK247ZD1jW2Y+PjJdfDA7bz1kJjI1NTtwPShkJi0yKSsgLTF8MDtxPW59bj0o
byYxKT09MDtpZihuKXtyPShvJjI1NSk+Pj4xfWVsc2V7cj1jW2IrMzY+PjJdfDB9ZG97aWYoIShy
Pj4+MDxwPj4+MCkpe2lmKG4pe2FbZitwKzF8MF09MDthW2ZdPXA8PDE7YnJlYWt9ZWxzZXthWyhj
W2IrNDA+PjJdfDApK3B8MF09MDtjW2IrMzY+PjJdPXA7YnJlYWt9fWVsc2V7aWcoZixwLXJ8MCww
KXwwfX13aGlsZSgwKTtyPWFbZl18MDtpZigociYxKT09MCl7cz1mKzF8MDt0PShyJjI1NSk+Pj4x
O3U9ZisxfDB9ZWxzZXtmPWNbYis0MD4+Ml18MDtzPWY7dD1jW2IrMzY+PjJdfDA7dT1mfWY9Yisy
NHwwO2NbZj4+Ml09dTtjW2IrMjA+PjJdPXU7Y1tiKzI4Pj4yXT1zK3Q7aWYoKGNbZz4+Ml0mM3ww
KT09MCl7aT1lO3JldHVybn1jW2Y+PjJdPXUrcTtpPWU7cmV0dXJufWZ1bmN0aW9uIENlKGIsZCl7
Yj1ifDA7ZD1kfDA7dmFyIGU9MCxmPTAsZz0wLGg9MCxqPTAsaz0wLGw9MCxtPTAsbj0wLG89MCxw
PTAscT0wO2U9aTtmPWNbZCs0OD4+Ml18MDtpZigoZiYxNnwwKSE9MCl7Zz1kKzQ0fDA7aD1jW2c+
PjJdfDA7aj1jW2QrMjQ+PjJdfDA7aWYoaD4+PjA8aj4+PjApe2NbZz4+Ml09ajtrPWp9ZWxzZXtr
PWh9aD1jW2QrMjA+PjJdfDA7aj1oO2c9ay1qfDA7aWYoZz4+PjA+NDI5NDk2NzI3OSl7YWcoMCl9
aWYoZz4+PjA8MTEpe2FbYl09Zzw8MTtsPWIrMXwwfWVsc2V7bT1nKzE2Ji0xNjtuPUFvKG0pfDA7
Y1tiKzg+PjJdPW47Y1tiPj4yXT1tfDE7Y1tiKzQ+PjJdPWc7bD1ufWlmKChofDApPT0oa3wwKSl7
bz1sfWVsc2V7bj1oO2g9bDt3aGlsZSgxKXthW2hdPWFbbl18MDtuPW4rMXwwO2lmKChufDApPT0o
a3wwKSl7YnJlYWt9ZWxzZXtoPWgrMXwwfX1vPWwrKGsrKDAtaikpfDB9YVtvXT0wO2k9ZTtyZXR1
cm59aWYoKGYmOHwwKT09MCl7Y1tiKzA+PjJdPTA7Y1tiKzQ+PjJdPTA7Y1tiKzg+PjJdPTA7aT1l
O3JldHVybn1mPWNbZCs4Pj4yXXwwO289Y1tkKzE2Pj4yXXwwO2Q9ZjtqPW8tZHwwO2lmKGo+Pj4w
PjQyOTQ5NjcyNzkpe2FnKDApfWlmKGo+Pj4wPDExKXthW2JdPWo8PDE7cD1iKzF8MH1lbHNle2s9
aisxNiYtMTY7bD1BbyhrKXwwO2NbYis4Pj4yXT1sO2NbYj4+Ml09a3wxO2NbYis0Pj4yXT1qO3A9
bH1pZigoZnwwKT09KG98MCkpe3E9cH1lbHNle2w9ZjtmPXA7d2hpbGUoMSl7YVtmXT1hW2xdfDA7
bD1sKzF8MDtpZigobHwwKT09KG98MCkpe2JyZWFrfWVsc2V7Zj1mKzF8MH19cT1wKyhvKygwLWQp
KXwwfWFbcV09MDtpPWU7cmV0dXJufWZ1bmN0aW9uIERlKGIsZCxlKXtiPWJ8MDtkPWR8MDtlPWV8
MDt2YXIgZj0wLGc9MCxoPTAsaj0wLGs9MCxsPTAsbT0wLG49MCxvPTAscD0wLHE9MCxyPTA7Zj1p
O2k9aSsxNnwwO2c9ZjtjW2IrND4+Ml09MDtjW2IrOD4+Ml09MDtjW2IrMTI+PjJdPTA7Y1tiPj4y
XT00MDgwO2NbYisxNj4+Ml09NDE2NDtoPWIrODR8MDtqPWIrMjB8MDtrPWIrMjh8MDtjW2s+PjJd
PTQ3NDQ7bD1iKzMyfDA7Y1tqPj4yXT00ODc2O2NbaD4+Ml09NDg5NjtjW2IrMjQ+PjJdPTA7QWco
Yis4NHwwLGwpO2NbYisxNTY+PjJdPTA7Y1tiKzE2MD4+Ml09LTE7Y1tqPj4yXT00NzI0O2NbaD4+
Ml09NDc2NDtjW2s+PjJdPTQ3NDQ7Y1tsPj4yXT05MTg0O0dsKGIrMzZ8MCk7az1iKzQwfDA7Y1tr
KzA+PjJdPTA7Y1trKzQ+PjJdPTA7Y1trKzg+PjJdPTA7Y1trKzEyPj4yXT0wO2NbaysxNj4+Ml09
MDtjW2srMjA+PjJdPTA7Y1tsPj4yXT00OTEyO2s9Yis2NHwwO2g9Yis4MHwwO2NbayswPj4yXT0w
O2Nbays0Pj4yXT0wO2Nbays4Pj4yXT0wO2NbaysxMj4+Ml09MDtjW2g+PjJdPTI0O2NbZyswPj4y
XT0wO2NbZys0Pj4yXT0wO2NbZys4Pj4yXT0wO0JlKGwsZyk7aWYoISgoYVtnXSYxKT09MCkpe0Nv
KGNbZys4Pj4yXXwwKX1sPWIrMjI4fDA7aD1iKzE2NHwwO2s9YisxNzJ8MDtjW2s+PjJdPTQ3NDQ7
aj1iKzE3NnwwO2NbaD4+Ml09NDg3NjtjW2w+PjJdPTQ4OTY7Y1tiKzE2OD4+Ml09MDtBZyhiKzIy
OHwwLGopO2NbYiszMDA+PjJdPTA7Y1tiKzMwND4+Ml09LTE7Y1toPj4yXT00NzI0O2NbbD4+Ml09
NDc2NDtjW2s+PjJdPTQ3NDQ7Y1tqPj4yXT05MTg0O0dsKGIrMTgwfDApO2s9YisxODR8MDtjW2sr
MD4+Ml09MDtjW2srND4+Ml09MDtjW2srOD4+Ml09MDtjW2srMTI+PjJdPTA7Y1trKzE2Pj4yXT0w
O2NbaysyMD4+Ml09MDtjW2o+PjJdPTQ5MTI7az1iKzIwOHwwO2w9YisyMjR8MDtjW2srMD4+Ml09
MDtjW2srND4+Ml09MDtjW2srOD4+Ml09MDtjW2srMTI+PjJdPTA7Y1tsPj4yXT0yNDtjW2crMD4+
Ml09MDtjW2crND4+Ml09MDtjW2crOD4+Ml09MDtCZShqLGcpO2lmKCEoKGFbZ10mMSk9PTApKXtD
byhjW2crOD4+Ml18MCl9aj1iKzM3MnwwO2w9YiszMDh8MDtrPWIrMzE2fDA7Y1trPj4yXT00NzQ0
O2g9YiszMjB8MDtjW2w+PjJdPTQ4NzY7Y1tqPj4yXT00ODk2O2NbYiszMTI+PjJdPTA7QWcoYisz
NzJ8MCxoKTtjW2IrNDQ0Pj4yXT0wO2NbYis0NDg+PjJdPS0xO2NbbD4+Ml09NDcyNDtjW2o+PjJd
PTQ3NjQ7Y1trPj4yXT00NzQ0O2NbaD4+Ml09OTE4NDtHbChiKzMyNHwwKTtrPWIrMzI4fDA7Y1tr
KzA+PjJdPTA7Y1trKzQ+PjJdPTA7Y1trKzg+PjJdPTA7Y1trKzEyPj4yXT0wO2NbaysxNj4+Ml09
MDtjW2srMjA+PjJdPTA7Y1toPj4yXT00OTEyO2s9YiszNTJ8MDtqPWIrMzY4fDA7Y1trKzA+PjJd
PTA7Y1trKzQ+PjJdPTA7Y1trKzg+PjJdPTA7Y1trKzEyPj4yXT0wO2Nbaj4+Ml09MjQ7Y1tnKzA+
PjJdPTA7Y1tnKzQ+PjJdPTA7Y1tnKzg+PjJdPTA7QmUoaCxnKTtpZighKChhW2ddJjEpPT0wKSl7
Q28oY1tnKzg+PjJdfDApfWc9Yis0NTJ8MDtoPWIrNDY0fDA7aj1iKzQ4MHwwO2NbZyswPj4yXT0w
O2NbZys0Pj4yXT0wO2NbZys4Pj4yXT0wO2NbZysxMj4+Ml09MDtjW2crMTY+PjJdPTA7Y1tnKzIw
Pj4yXT0wO2Nbaj4+Ml09MTtnPWIrMzE2fDA7YmUoZywxMCl8MDtiZShnLDkpfDA7Y2UoZyw0NDE2
KXwwO2FbYis0Nzd8MF09MzI7Zz1jW2o+PjJdfDA7az1iKzE3MnwwO2JlKGssMTApfDA7aWYoKGd8
MCk+MCl7bT1nfWVsc2V7Y2Uoayw2ODQwKXwwO249Yis0NzZ8MDthW25dPTMyO289Y1tqPj4yXXww
O3A9bysxfDA7Y1tqPj4yXT1wO2dnKGgsNDQzMil8MDtxPWIrNDg0fDA7Y1txPj4yXT1kO3I9Yis0
ODh8MDtjW3I+PjJdPWU7aT1mO3JldHVybn1kb3ttPW0rIC0xfDA7YmUoayw5KXwwfXdoaWxlKCht
fDApPjApO2NlKGssNjg0MCl8MDtuPWIrNDc2fDA7YVtuXT0zMjtvPWNbaj4+Ml18MDtwPW8rMXww
O2Nbaj4+Ml09cDtnZyhoLDQ0MzIpfDA7cT1iKzQ4NHwwO2NbcT4+Ml09ZDtyPWIrNDg4fDA7Y1ty
Pj4yXT1lO2k9ZjtyZXR1cm59ZnVuY3Rpb24gRWUoYSxiKXthPWF8MDtiPWJ8MDt2YXIgZD0wO2Q9
aTtCY1tjWyhjW2E+PjJdfDApKzM2Pj4yXSY2M10oYSxiKTtpPWQ7cmV0dXJufWZ1bmN0aW9uIEZl
KGEpe2E9YXwwO3JldHVybn1mdW5jdGlvbiBHZShiKXtiPWJ8MDt2YXIgZD0wLGU9MCxmPTAsZz0w
LGg9MCxqPTAsaz0wO2Q9aTtjW2I+PjJdPTY5NzY7V2UoYisxNnwwLGNbYisyMD4+Ml18MCk7Y1ti
Pj4yXT00NjU2O2U9Yis0fDA7Zj1jW2U+PjJdfDA7aWYoKGZ8MCk9PTApe2k9ZDtyZXR1cm59Zz1i
Kzh8MDtiPWNbZz4+Ml18MDtpZigoYnwwKT09KGZ8MCkpe2g9Zn1lbHNle2o9Yjt3aGlsZSgxKXti
PWorIC0xMnwwO2NbZz4+Ml09YjtpZigoYVtiXSYxKT09MCl7az1ifWVsc2V7Q28oY1tqKyAtND4+
Ml18MCk7az1jW2c+PjJdfDB9aWYoKGt8MCk9PShmfDApKXticmVha31lbHNle2o9a319aD1jW2U+
PjJdfDB9Q28oaCk7aT1kO3JldHVybn1mdW5jdGlvbiBIZShiKXtiPWJ8MDt2YXIgZD0wLGU9MCxm
PTAsZz0wLGg9MCxqPTAsaz0wLGw9MDtkPWk7Y1tiPj4yXT02OTc2O1dlKGIrMTZ8MCxjW2IrMjA+
PjJdfDApO2NbYj4+Ml09NDY1NjtlPWIrNHwwO2Y9Y1tlPj4yXXwwO2lmKChmfDApPT0wKXtDbyhi
KTtpPWQ7cmV0dXJufWc9Yis4fDA7aD1jW2c+PjJdfDA7aWYoKGh8MCk9PShmfDApKXtqPWZ9ZWxz
ZXtrPWg7d2hpbGUoMSl7aD1rKyAtMTJ8MDtjW2c+PjJdPWg7aWYoKGFbaF0mMSk9PTApe2w9aH1l
bHNle0NvKGNbaysgLTQ+PjJdfDApO2w9Y1tnPj4yXXwwfWlmKChsfDApPT0oZnwwKSl7YnJlYWt9
ZWxzZXtrPWx9fWo9Y1tlPj4yXXwwfUNvKGopO0NvKGIpO2k9ZDtyZXR1cm59ZnVuY3Rpb24gSWUo
YixkKXtiPWJ8MDtkPWR8MDt2YXIgZT0wLGY9MCxnPTAsaD0wLGo9MCxrPTAsbD0wLG09MCxuPTAs
bz0wO2U9aTtpPWkrMTZ8MDtmPWU7Zz1WbyhkfDApfDA7aWYoZz4+PjA+NDI5NDk2NzI3OSl7YWco
MCl9aWYoZz4+PjA8MTEpe2g9Zzw8MSYyNTU7YVtmXT1oO2o9aDtrPWYrMXwwfWVsc2V7aD1nKzE2
Ji0xNjtsPUFvKGgpfDA7Y1tmKzg+PjJdPWw7bT1ofDE7Y1tmPj4yXT1tO2NbZis0Pj4yXT1nO2o9
bSYyNTU7az1sfVhvKGt8MCxkfDAsZ3wwKXwwO2FbaytnfDBdPTA7Zz1iKzh8MDtrPWNbZz4+Ml18
MDtpZigoa3wwKT09KGNbYisxMj4+Ml18MCkpe2hlKGIrNHwwLGYpO249YVtmXXwwfWVsc2V7ZG97
aWYoKGt8MCkhPTApe2lmKChqJjEpPT0wKXtjW2srMD4+Ml09Y1tmKzA+PjJdO2Nbays0Pj4yXT1j
W2YrND4+Ml07Y1trKzg+PjJdPWNbZis4Pj4yXTticmVha31iPWNbZis4Pj4yXXwwO2Q9Y1tmKzQ+
PjJdfDA7aWYoZD4+PjA+NDI5NDk2NzI3OSl7YWcoMCl9aWYoZD4+PjA8MTEpe2Fba109ZDw8MTtv
PWsrMXwwfWVsc2V7bD1kKzE2Ji0xNjttPUFvKGwpfDA7Y1trKzg+PjJdPW07Y1trPj4yXT1sfDE7
Y1trKzQ+PjJdPWQ7bz1tfVhvKG98MCxifDAsZHwwKXwwO2FbbytkfDBdPTB9fXdoaWxlKDApO2Nb
Zz4+Ml09KGNbZz4+Ml18MCkrMTI7bj1qfWlmKChuJjEpPT0wKXtpPWU7cmV0dXJufUNvKGNbZis4
Pj4yXXwwKTtpPWU7cmV0dXJufWZ1bmN0aW9uIEplKGIsZCl7Yj1ifDA7ZD1kfDA7dmFyIGU9MCxm
PTAsZz0wLGg9MCxqPTAsaz0wLGw9MCxtPTAsbj0wLG89MDtlPWk7aT1pKzE2fDA7Zj1lO2c9Vm8o
ZHwwKXwwO2lmKGc+Pj4wPjQyOTQ5NjcyNzkpe2FnKDApfWlmKGc+Pj4wPDExKXtoPWc8PDEmMjU1
O2FbZl09aDtqPWg7az1mKzF8MH1lbHNle2g9ZysxNiYtMTY7bD1BbyhoKXwwO2NbZis4Pj4yXT1s
O209aHwxO2NbZj4+Ml09bTtjW2YrND4+Ml09ZztqPW0mMjU1O2s9bH1YbyhrfDAsZHwwLGd8MCl8
MDthW2srZ3wwXT0wO2c9Yis4fDA7az1jW2c+PjJdfDA7aWYoKGt8MCk9PShjW2IrMTI+PjJdfDAp
KXtoZShiKzR8MCxmKTtuPWFbZl18MH1lbHNle2Rve2lmKChrfDApIT0wKXtpZigoaiYxKT09MCl7
Y1trKzA+PjJdPWNbZiswPj4yXTtjW2srND4+Ml09Y1tmKzQ+PjJdO2Nbays4Pj4yXT1jW2YrOD4+
Ml07YnJlYWt9Yj1jW2YrOD4+Ml18MDtkPWNbZis0Pj4yXXwwO2lmKGQ+Pj4wPjQyOTQ5NjcyNzkp
e2FnKDApfWlmKGQ+Pj4wPDExKXthW2tdPWQ8PDE7bz1rKzF8MH1lbHNle2w9ZCsxNiYtMTY7bT1B
byhsKXwwO2Nbays4Pj4yXT1tO2Nbaz4+Ml09bHwxO2Nbays0Pj4yXT1kO289bX1YbyhvfDAsYnww
LGR8MCl8MDthW28rZHwwXT0wfX13aGlsZSgwKTtjW2c+PjJdPShjW2c+PjJdfDApKzEyO249an1p
ZigobiYxKT09MCl7aT1lO3JldHVybn1DbyhjW2YrOD4+Ml18MCk7aT1lO3JldHVybn1mdW5jdGlv
biBLZShiLGQpe2I9YnwwO2Q9ZHwwO3ZhciBlPTAsZj0wLGc9MCxoPTAsaj0wLGs9MCxsPTAsbT0w
LG49MCxvPTA7ZT1pO2k9aSsxNnwwO2Y9ZTtnPVZvKGR8MCl8MDtpZihnPj4+MD40Mjk0OTY3Mjc5
KXthZygwKX1pZihnPj4+MDwxMSl7aD1nPDwxJjI1NTthW2ZdPWg7aj1oO2s9ZisxfDB9ZWxzZXto
PWcrMTYmLTE2O2w9QW8oaCl8MDtjW2YrOD4+Ml09bDttPWh8MTtjW2Y+PjJdPW07Y1tmKzQ+PjJd
PWc7aj1tJjI1NTtrPWx9WG8oa3wwLGR8MCxnfDApfDA7YVtrK2d8MF09MDtnPWIrOHwwO2s9Y1tn
Pj4yXXwwO2lmKChrfDApPT0oY1tiKzEyPj4yXXwwKSl7aGUoYis0fDAsZik7bj1hW2ZdfDB9ZWxz
ZXtkb3tpZigoa3wwKSE9MCl7aWYoKGomMSk9PTApe2NbayswPj4yXT1jW2YrMD4+Ml07Y1trKzQ+
PjJdPWNbZis0Pj4yXTtjW2srOD4+Ml09Y1tmKzg+PjJdO2JyZWFrfWI9Y1tmKzg+PjJdfDA7ZD1j
W2YrND4+Ml18MDtpZihkPj4+MD40Mjk0OTY3Mjc5KXthZygwKX1pZihkPj4+MDwxMSl7YVtrXT1k
PDwxO289aysxfDB9ZWxzZXtsPWQrMTYmLTE2O209QW8obCl8MDtjW2srOD4+Ml09bTtjW2s+PjJd
PWx8MTtjW2srND4+Ml09ZDtvPW19WG8ob3wwLGJ8MCxkfDApfDA7YVtvK2R8MF09MH19d2hpbGUo
MCk7Y1tnPj4yXT0oY1tnPj4yXXwwKSsxMjtuPWp9aWYoKG4mMSk9PTApe2k9ZTtyZXR1cm59Q28o
Y1tmKzg+PjJdfDApO2k9ZTtyZXR1cm59ZnVuY3Rpb24gTGUoYil7Yj1ifDA7dmFyIGQ9MCxlPTAs
Zj0wLGc9MCxoPTA7ZD1pO2U9Yis4fDA7Yj1jW2U+PjJdfDA7Zj1iKyAtMTJ8MDtnPWI7d2hpbGUo
MSl7Yj1nKyAtMTJ8MDtjW2U+PjJdPWI7aWYoKGFbYl0mMSk9PTApe2g9Yn1lbHNle0NvKGNbZysg
LTQ+PjJdfDApO2g9Y1tlPj4yXXwwfWlmKChofDApPT0oZnwwKSl7YnJlYWt9ZWxzZXtnPWh9fWk9
ZDtyZXR1cm59ZnVuY3Rpb24gTWUoYixkLGUpe2I9YnwwO2Q9ZHwwO2U9ZXwwO3ZhciBmPTAsZz0w
LGg9MCxqPTAsaz0wLGw9MCxtPTA7Zj1pO2k9aSszMnwwO2c9ZisxMnwwO2g9ZjtqPVZvKGR8MCl8
MDtpZihqPj4+MD40Mjk0OTY3Mjc5KXthZygwKX1pZihqPj4+MDwxMSl7YVtoXT1qPDwxO2s9aCsx
fDB9ZWxzZXtsPWorMTYmLTE2O209QW8obCl8MDtjW2grOD4+Ml09bTtjW2g+PjJdPWx8MTtjW2gr
ND4+Ml09ajtrPW19WG8oa3wwLGR8MCxqfDApfDA7YVtrK2p8MF09MDtmZShnLGIsaCk7Y1sodWQo
YisxNnwwLGcpfDApPj4yXT1lO2lmKCEoKGFbZ10mMSk9PTApKXtDbyhjW2crOD4+Ml18MCl9aWYo
KGFbaF0mMSk9PTApe2k9ZjtyZXR1cm59Q28oY1toKzg+PjJdfDApO2k9ZjtyZXR1cm59ZnVuY3Rp
b24gTmUoYixkLGUpe2I9YnwwO2Q9ZHwwO2U9ZXwwO3ZhciBmPTAsZz0wLGg9MCxqPTAsaz0wLGw9
MCxtPTA7Zj1pO2k9aSszMnwwO2c9ZisxMnwwO2g9ZjtqPVZvKGR8MCl8MDtpZihqPj4+MD40Mjk0
OTY3Mjc5KXthZygwKX1pZihqPj4+MDwxMSl7YVtoXT1qPDwxO2s9aCsxfDB9ZWxzZXtsPWorMTYm
LTE2O209QW8obCl8MDtjW2grOD4+Ml09bTtjW2g+PjJdPWx8MTtjW2grND4+Ml09ajtrPW19WG8o
a3wwLGR8MCxqfDApfDA7YVtrK2p8MF09MDtmZShnLGIsaCk7Y1sodWQoYisxNnwwLGcpfDApPj4y
XT1lO2lmKCEoKGFbZ10mMSk9PTApKXtDbyhjW2crOD4+Ml18MCl9aWYoKGFbaF0mMSk9PTApe2k9
ZjtyZXR1cm59Q28oY1toKzg+PjJdfDApO2k9ZjtyZXR1cm59ZnVuY3Rpb24gT2UoYixkLGUsZixn
LGgsail7Yj1ifDA7ZD1kfDA7ZT1lfDA7Zj0rZjtnPStnO2g9K2g7aj0rajt2YXIgaz0wLGw9MCxt
PTAsbj0wLG89MCxwPTAscT0wO2s9aTtpPWkrMzJ8MDtsPWsrMTJ8MDttPWs7bj1WbyhkfDApfDA7
aWYobj4+PjA+NDI5NDk2NzI3OSl7YWcoMCl9aWYobj4+PjA8MTEpe2FbbV09bjw8MTtvPW0rMXww
fWVsc2V7cD1uKzE2Ji0xNjtxPUFvKHApfDA7Y1ttKzg+PjJdPXE7Y1ttPj4yXT1wfDE7Y1ttKzQ+
PjJdPW47bz1xfVhvKG98MCxkfDAsbnwwKXwwO2FbbytufDBdPTA7ZmUobCxiLG0pO2NbKHVkKGIr
MTZ8MCxsKXwwKT4+Ml09ZTtpZighKChhW2xdJjEpPT0wKSl7Q28oY1tsKzg+PjJdfDApfWlmKChh
W21dJjEpPT0wKXtpPWs7cmV0dXJufUNvKGNbbSs4Pj4yXXwwKTtpPWs7cmV0dXJufWZ1bmN0aW9u
IFBlKGIsZCxlLGYsZyxoLGope2I9YnwwO2Q9ZHwwO2U9ZXwwO2Y9K2Y7Zz0rZztoPStoO2o9K2o7
dmFyIGs9MCxsPTAsbT0wLG49MCxvPTAscD0wLHE9MDtrPWk7aT1pKzMyfDA7bD1rKzEyfDA7bT1r
O249Vm8oZHwwKXwwO2lmKG4+Pj4wPjQyOTQ5NjcyNzkpe2FnKDApfWlmKG4+Pj4wPDExKXthW21d
PW48PDE7bz1tKzF8MH1lbHNle3A9bisxNiYtMTY7cT1BbyhwKXwwO2NbbSs4Pj4yXT1xO2NbbT4+
Ml09cHwxO2NbbSs0Pj4yXT1uO289cX1YbyhvfDAsZHwwLG58MCl8MDthW28rbnwwXT0wO2ZlKGws
YixtKTtjWyh1ZChiKzE2fDAsbCl8MCk+PjJdPWU7aWYoISgoYVtsXSYxKT09MCkpe0NvKGNbbCs4
Pj4yXXwwKX1pZigoYVttXSYxKT09MCl7aT1rO3JldHVybn1DbyhjW20rOD4+Ml18MCk7aT1rO3Jl
dHVybn1mdW5jdGlvbiBRZShiLGQsZSxmLGcsaCxqKXtiPWJ8MDtkPWR8MDtlPWV8MDtmPStmO2c9
K2c7aD0raDtqPStqO3ZhciBrPTAsbD0wLG09MCxuPTAsbz0wLHA9MCxxPTA7az1pO2k9aSszMnww
O2w9aysxMnwwO209aztuPVZvKGR8MCl8MDtpZihuPj4+MD40Mjk0OTY3Mjc5KXthZygwKX1pZihu
Pj4+MDwxMSl7YVttXT1uPDwxO289bSsxfDB9ZWxzZXtwPW4rMTYmLTE2O3E9QW8ocCl8MDtjW20r
OD4+Ml09cTtjW20+PjJdPXB8MTtjW20rND4+Ml09bjtvPXF9WG8ob3wwLGR8MCxufDApfDA7YVtv
K258MF09MDtmZShsLGIsbSk7Y1sodWQoYisxNnwwLGwpfDApPj4yXT1lO2lmKCEoKGFbbF0mMSk9
PTApKXtDbyhjW2wrOD4+Ml18MCl9aWYoKGFbbV0mMSk9PTApe2k9aztyZXR1cm59Q28oY1ttKzg+
PjJdfDApO2k9aztyZXR1cm59ZnVuY3Rpb24gUmUoYixkLGUsZixnKXtiPWJ8MDtkPWR8MDtlPWV8
MDtmPStmO2c9K2c7dmFyIGg9MCxqPTAsaz0wLGw9MCxtPTAsbj0wLG89MDtoPWk7aT1pKzMyfDA7
aj1oKzEyfDA7az1oO2w9Vm8oZHwwKXwwO2lmKGw+Pj4wPjQyOTQ5NjcyNzkpe2FnKDApfWlmKGw+
Pj4wPDExKXthW2tdPWw8PDE7bT1rKzF8MH1lbHNle249bCsxNiYtMTY7bz1BbyhuKXwwO2Nbays4
Pj4yXT1vO2Nbaz4+Ml09bnwxO2Nbays0Pj4yXT1sO209b31YbyhtfDAsZHwwLGx8MCl8MDthW20r
bHwwXT0wO2ZlKGosYixrKTtjWyh1ZChiKzE2fDAsail8MCk+PjJdPWU7aWYoISgoYVtqXSYxKT09
MCkpe0NvKGNbais4Pj4yXXwwKX1pZigoYVtrXSYxKT09MCl7aT1oO3JldHVybn1DbyhjW2srOD4+
Ml18MCk7aT1oO3JldHVybn1mdW5jdGlvbiBTZShiLGQsZSxmLGcpe2I9YnwwO2Q9ZHwwO2U9ZXww
O2Y9K2Y7Zz0rZzt2YXIgaD0wLGo9MCxrPTAsbD0wLG09MCxuPTAsbz0wO2g9aTtpPWkrMzJ8MDtq
PWgrMTJ8MDtrPWg7bD1WbyhkfDApfDA7aWYobD4+PjA+NDI5NDk2NzI3OSl7YWcoMCl9aWYobD4+
PjA8MTEpe2Fba109bDw8MTttPWsrMXwwfWVsc2V7bj1sKzE2Ji0xNjtvPUFvKG4pfDA7Y1trKzg+
PjJdPW87Y1trPj4yXT1ufDE7Y1trKzQ+PjJdPWw7bT1vfVhvKG18MCxkfDAsbHwwKXwwO2FbbSts
fDBdPTA7ZmUoaixiLGspO2NbKHVkKGIrMTZ8MCxqKXwwKT4+Ml09ZTtpZighKChhW2pdJjEpPT0w
KSl7Q28oY1tqKzg+PjJdfDApfWlmKChhW2tdJjEpPT0wKXtpPWg7cmV0dXJufUNvKGNbays4Pj4y
XXwwKTtpPWg7cmV0dXJufWZ1bmN0aW9uIFRlKGEsYixjLGQpe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9
ZHwwO3JldHVybn1mdW5jdGlvbiBVZShiKXtiPWJ8MDt2YXIgZD0wLGU9MCxmPTAsZz0wLGg9MCxq
PTAsaz0wO2Q9aTtjW2I+PjJdPTY5NzY7V2UoYisxNnwwLGNbYisyMD4+Ml18MCk7Y1tiPj4yXT00
NjU2O2U9Yis0fDA7Zj1jW2U+PjJdfDA7aWYoKGZ8MCk9PTApe2k9ZDtyZXR1cm59Zz1iKzh8MDti
PWNbZz4+Ml18MDtpZigoYnwwKT09KGZ8MCkpe2g9Zn1lbHNle2o9Yjt3aGlsZSgxKXtiPWorIC0x
MnwwO2NbZz4+Ml09YjtpZigoYVtiXSYxKT09MCl7az1ifWVsc2V7Q28oY1tqKyAtND4+Ml18MCk7
az1jW2c+PjJdfDB9aWYoKGt8MCk9PShmfDApKXticmVha31lbHNle2o9a319aD1jW2U+PjJdfDB9
Q28oaCk7aT1kO3JldHVybn1mdW5jdGlvbiBWZShiKXtiPWJ8MDt2YXIgZD0wLGU9MCxmPTAsZz0w
LGg9MCxqPTAsaz0wLGw9MDtkPWk7Y1tiPj4yXT02OTc2O1dlKGIrMTZ8MCxjW2IrMjA+PjJdfDAp
O2NbYj4+Ml09NDY1NjtlPWIrNHwwO2Y9Y1tlPj4yXXwwO2lmKChmfDApPT0wKXtDbyhiKTtpPWQ7
cmV0dXJufWc9Yis4fDA7aD1jW2c+PjJdfDA7aWYoKGh8MCk9PShmfDApKXtqPWZ9ZWxzZXtrPWg7
d2hpbGUoMSl7aD1rKyAtMTJ8MDtjW2c+PjJdPWg7aWYoKGFbaF0mMSk9PTApe2w9aH1lbHNle0Nv
KGNbaysgLTQ+PjJdfDApO2w9Y1tnPj4yXXwwfWlmKChsfDApPT0oZnwwKSl7YnJlYWt9ZWxzZXtr
PWx9fWo9Y1tlPj4yXXwwfUNvKGopO0NvKGIpO2k9ZDtyZXR1cm59ZnVuY3Rpb24gV2UoYixkKXti
PWJ8MDtkPWR8MDt2YXIgZT0wO2U9aTtpZigoZHwwKT09MCl7aT1lO3JldHVybn1XZShiLGNbZD4+
Ml18MCk7V2UoYixjW2QrND4+Ml18MCk7aWYoISgoYVtkKzE2fDBdJjEpPT0wKSl7Q28oY1tkKzI0
Pj4yXXwwKX1DbyhkKTtpPWU7cmV0dXJufWZ1bmN0aW9uIFhlKGEpe2E9YXwwO3ZhciBiPTA7Yj1p
O0NvKGEpO2k9YjtyZXR1cm59ZnVuY3Rpb24gWWUoYSxiKXthPWF8MDtiPWJ8MDtyZXR1cm4tMX1m
dW5jdGlvbiBaZShhLGIpe2E9YXwwO2I9YnwwO3JldHVybihiPj4+MDwyPzE6LTEpfDB9ZnVuY3Rp
b24gX2UoYSxiKXthPWF8MDtiPWJ8MDt2YXIgZD0wLGU9MCxmPTAuMCxoPTAsaj0wLjAsaz0wLjAs
bD0wLjAsbT0wLG49MCxvPTA7ZD1pO2NbYSs0OTYyMDA+PjJdPWI7ZT0oYnwwKTwxPzE6YjtiPShl
fDApPjE5MmUzPzE5MmUzOmU7ZT1hKzQ5NjIwNHwwO2NbZT4+Ml09YjtmPSsoYnwwKTtoPWErNDk2
MjA4fDA7Z1toPj4yXT1mO2dbYSs0OTYyMTI+PjJdPStXKCsoMzc2OTkuMTAxNTYyNS9mKSk7aj0r
UygrKGYqLjIxOTk5MDk5ODUwNjU0NjAyKy41KSk7Z1thKzQ5NjIxNj4+Ml09ajtrPSgwLjAtaio2
LjkwNzc2MDE0MzI4MDAyOSkvZjtnW2ErNDk2MjIwPj4yXT1rO2dbYSs0OTYyMjQ+PjJdPWsqLjU7
Z1thKzQ5NjIyOD4+Ml09LjcyMDAwMDAyODYxMDIyOTU7Z1thKzQ5NjIzMj4+Ml09ayouMzMzMzMy
OTg1NjM5NTcyMTQ7az0xLjAvK1koKyg2MjguMzE4OTY5NzI2NTYyNS9mKSk7Z1thKzQ5NjIzNj4+
Ml09aztsPWsrMS4wO2dbYSs0OTYyNDA+PjJdPWw7Z1thKzQ5NjI0ND4+Ml09MC4wLSgxLjAtaykv
bDtnW2ErNDk2MjQ4Pj4yXT0xLjAvbDttPWErNDk1Nzc2fDA7Y1thKzQ5NjI1Mj4+Ml09MDtfbyhh
KzR8MCwwLDY1NTM2KXwwO2w9K1MoKyhmKi4wMTkxMjI5OTkxNjE0ODE4NTcrLjUpKTtuPWErNDk2
MjU2fDA7Y1ttKzA+PjJdPTA7Y1ttKzQ+PjJdPTA7Y1ttKzg+PjJdPTA7Y1ttKzEyPj4yXT0wO2db
bj4+Ml09bDtjW2ErNDk2MjYwPj4yXT1+fihqLWwpJjE2MzgzO2dbYSs0OTYyNjQ+PjJdPS42MDAw
MDAwMjM4NDE4NTc5O2dbYSs0OTYyNjg+PjJdPS4xMzY5OTk5OTQ1MTYzNzI2ODttPWErNDk1Nzky
fDA7Y1ttPj4yXT0wO2NbbSs0Pj4yXT0wO209ZWEoYixiKXwwO2I9YSs0OTYyNzJ8MDtjW2I+PjJd
PW07Z1thKzQ5NjI3Nj4+Ml09LjUvKyhtfDApO2dbYSs0OTYyODA+PjJdPTQ0MC4wO2dbYSs0OTYy
ODQ+PjJdPWYqLjE1OTE1NDk5NjI3NTkwMTg7Z1thKzQ5NjI4OD4+Ml09LjI4MDAwMDAwMTE5MjA5
Mjk7Z1thKzQ5NjI5Mj4+Ml09Ni4yODMxODk3NzM1NTk1Ny9mO2dbYSs0OTYyOTY+PjJdPS4xMDAw
MDAwMDE0OTAxMTYxMjtnW2ErNDk2MzAwPj4yXT0wLjA7bT1hKzQ5NTgwMHwwO2dbYSs0OTYzMDQ+
PjJdPTAuMDtsPTcuMC9mO289YSs0OTYzMDh8MDtjW20rMD4+Ml09MDtjW20rND4+Ml09MDtjW20r
OD4+Ml09MDtjW20rMTI+PjJdPTA7Y1ttKzE2Pj4yXT0wO2NbbSsyMD4+Ml09MDtnW28+PjJdPWw7
Z1thKzQ5NjMxMj4+Ml09MS4wO289YSs0OTU4MjR8MDtjW28+PjJdPTA7Y1tvKzQ+PjJdPTA7bD0r
Z1toPj4yXTtnW2ErNDk2MzE2Pj4yXT0xMC4wL2w7Z1thKzQ5NjMyMD4+Ml09LjEwMDAwMDAwMTQ5
MDExNjEyO2dbYSs0OTYzMjQ+PjJdPWwqLjEwMDAwMDAwMTQ5MDExNjEyO2dbYSs0OTYzMjg+PjJd
PStiYSgrKDAuMC0uNS9sKSk7Z1thKzQ5NjMzMj4+Ml09K2JhKCsoMC4wLTUuMC9sKSk7X28oYSsz
NjA0NTJ8MCwwLDMyNzY4KXwwO2g9YSs0OTU4MzJ8MDtvPWgrMTI4fDA7ZG97Y1toPj4yXT0wO2g9
aCs0fDB9d2hpbGUoKGh8MCk8KG98MCkpO2w9KyhjW2U+PjJdfDApO2dbYSs0OTYzMzY+PjJdPTIu
MC9sO2dbYSs0OTYzNDA+PjJdPTEuMC8rKGNbYj4+Ml18MCk7Yj1hKzQ5NTYyMHwwO2NbYiswPj4y
XT0wO2NbYis0Pj4yXT0wO2NbYis4Pj4yXT0wO2dbYSs0OTYzNDQ+PjJdPS4wNTAwMDAwMDA3NDUw
NTgwNi9sO2I9YSs0OTU5NjB8MDtfbyhhKzM5MzIyMHwwLDAsMTYzODQpfDA7Zj1sKi41O209YSs0
OTYzNDh8MDtoPWErNDk1NjMyfDA7bz1oKzQ4fDA7ZG97Y1toPj4yXT0wO2g9aCs0fDB9d2hpbGUo
KGh8MCk8KG98MCkpO2g9YiswfDA7bz1oKzY0fDA7ZG97Y1toPj4yXT0wO2g9aCs0fDB9d2hpbGUo
KGh8MCk8KG98MCkpO2dbbT4+Ml09ZjtnW2ErNDk2MzUyPj4yXT0uNTtfbyhhKzQwOTYwNHwwLDAs
MTYzODQpfDA7Y1thKzQ5NjM1Nj4+Ml09fn4obCouMDE5OTk5OTk5NTUyOTY1MTY0KSY4MTkxO19v
KGErNDgzMzMyfDAsMCw0MDk2KXwwO2NbYSs0OTYzNjA+PjJdPX5+KCtnW24+PjJdKy0xLjApJjEw
MjM7bj1hKzQ5NjAyNHwwO2Nbbj4+Ml09MDtjW24rND4+Ml09MDtmPStTKCsobCouMjU2ODkxMDEy
MTkxNzcyNDYrLjUpKTtnW2ErNDk2MzY0Pj4yXT1mO2o9KDAuMC1mKjYuOTA3NzYwMTQzMjgwMDI5
KS9sO2dbYSs0OTYzNjg+PjJdPWo7Z1thKzQ5NjM3Mj4+Ml09aiouNTtnW2ErNDk2Mzc2Pj4yXT1q
Ki4zMzMzMzI5ODU2Mzk1NzIxNDtuPWErNDk2MDMyfDA7X28oYSs2NTU0MHwwLDAsNjU1MzYpfDA7
Y1tuKzA+PjJdPTA7Y1tuKzQ+PjJdPTA7Y1tuKzg+PjJdPTA7Y1tuKzEyPj4yXT0wO2o9KyhjW2U+
PjJdfDApO2w9K1MoKyhqKi4wMjczMzMwMDA2NzQ4NDM3ODgrLjUpKTtnW2ErNDk2MzgwPj4yXT1s
O2NbYSs0OTYzODQ+PjJdPX5+KGYtbCkmMTYzODM7X28oYSs0NDIzNzJ8MCwwLDgxOTIpfDA7Y1th
KzQ5NjM4OD4+Ml09fn4obCstMS4wKSYyMDQ3O249YSs0OTYwNDh8MDtjW24+PjJdPTA7Y1tuKzQ+
PjJdPTA7bD0rUygrKGoqLjE5MjMwMzAwMTg4MDY0NTc1Ky41KSk7Z1thKzQ5NjM5Mj4+Ml09bDtm
PSgwLjAtbCo2LjkwNzc2MDE0MzI4MDAyOSkvajtnW2ErNDk2Mzk2Pj4yXT1mO2dbYSs0OTY0MDA+
PjJdPWYqLjU7Z1thKzQ5NjQwND4+Ml09ZiouMzMzMzMyOTg1NjM5NTcyMTQ7bj1hKzQ5NjA1Nnww
O19vKGErMTk2NjEyfDAsMCwzMjc2OCl8MDtmPStTKCsoaiouMDI5MjkxMDAwMjE3MTk5MzI2Ky41
KSk7bT1hKzQ5NjQwOHwwO2NbbiswPj4yXT0wO2Nbbis0Pj4yXT0wO2Nbbis4Pj4yXT0wO2Nbbisx
Mj4+Ml09MDtnW20+PjJdPWY7Y1thKzQ5NjQxMj4+Ml09fn4obC1mKSY4MTkxO19vKGErNDUwNTY0
fDAsMCw4MTkyKXwwO2NbYSs0OTY0MTY+PjJdPX5+KGYrLTEuMCkmMjA0NzttPWErNDk2MDcyfDA7
Y1ttPj4yXT0wO2NbbSs0Pj4yXT0wO2Y9K1MoKyhqKi4yMTAzODkwMDMxNTc2MTU2NisuNSkpO2db
YSs0OTY0MjA+PjJdPWY7bD0oMC4wLWYqNi45MDc3NjAxNDMyODAwMjkpL2o7Z1thKzQ5NjQyND4+
Ml09bDtnW2ErNDk2NDI4Pj4yXT1sKi41O2dbYSs0OTY0MzI+PjJdPWwqLjMzMzMzMjk4NTYzOTU3
MjE0O209YSs0OTYwODB8MDtfbyhhKzEzMTA3NnwwLDAsNjU1MzYpfDA7bD0rUygrKGoqLjAyNDQy
MTAwMDg1MzE4MDg4NSsuNSkpO249YSs0OTY0MzZ8MDtjW20rMD4+Ml09MDtjW20rND4+Ml09MDtj
W20rOD4+Ml09MDtjW20rMTI+PjJdPTA7Z1tuPj4yXT1sO2NbYSs0OTY0NDA+PjJdPX5+KGYtbCkm
MTYzODM7X28oYSs0NTg3NTZ8MCwwLDgxOTIpfDA7Y1thKzQ5NjQ0ND4+Ml09fn4obCstMS4wKSYy
MDQ3O249YSs0OTYwOTZ8MDtjW24+PjJdPTA7Y1tuKzQ+PjJdPTA7bD0rKGNbZT4+Ml18MCk7Zj0r
UygrKGwqLjEyNSsuNSkpO2dbYSs0OTY0NDg+PjJdPWY7aj0oMC4wLWYqNi45MDc3NjAxNDMyODAw
MjkpL2w7Z1thKzQ5NjQ1Mj4+Ml09ajtnW2ErNDk2NDU2Pj4yXT1qKi41O2dbYSs0OTY0NjA+PjJd
PWoqLjMzMzMzMjk4NTYzOTU3MjE0O249YSs0OTYxMDR8MDtfbyhhKzIyOTM4MHwwLDAsMzI3Njgp
fDA7aj0rUygrKGwqLjAxMzQ1Nzk5OTU2NDcwNzI4Ky41KSk7bT1hKzQ5NjQ2NHwwO2NbbiswPj4y
XT0wO2Nbbis0Pj4yXT0wO2Nbbis4Pj4yXT0wO2NbbisxMj4+Ml09MDtnW20+PjJdPWo7Y1thKzQ5
NjQ2OD4+Ml09fn4oZi1qKSY4MTkxO19vKGErNDI1OTg4fDAsMCwxNjM4NCl8MDtfbyhhKzQ4NzQy
OHwwLDAsNDA5Nil8MDtjW2ErNDk2NDcyPj4yXT1+fihqKy0xLjApJjEwMjM7bT1hKzQ5NjEyMHww
O2NbbT4+Ml09MDtjW20rND4+Ml09MDtqPStTKCsobCouMTI3ODM3MDAyMjc3Mzc0MjcrLjUpKTtn
W2ErNDk2NDc2Pj4yXT1qO2Y9KDAuMC1qKjYuOTA3NzYwMTQzMjgwMDI5KS9sO2dbYSs0OTY0ODA+
PjJdPWY7Z1thKzQ5NjQ4ND4+Ml09ZiouNTtnW2ErNDk2NDg4Pj4yXT1mKi4zMzMzMzI5ODU2Mzk1
NzIxNDttPWErNDk2MTI4fDA7X28oYSsyNjIxNDh8MCwwLDMyNzY4KXwwO2Y9K1MoKyhsKi4wMzE2
MDM5OTk0MzU5MDE2NCsuNSkpO249YSs0OTY0OTJ8MDtjW20rMD4+Ml09MDtjW20rND4+Ml09MDtj
W20rOD4+Ml09MDtjW20rMTI+PjJdPTA7Z1tuPj4yXT1mO2NbYSs0OTY0OTY+PjJdPX5+KGotZikm
ODE5MTtfbyhhKzQ2Njk0OHwwLDAsODE5Mil8MDtjW2ErNDk2NTAwPj4yXT1+fihmKy0xLjApJjIw
NDc7bj1hKzQ5NjE0NHwwO2Nbbj4+Ml09MDtjW24rND4+Ml09MDtmPStTKCsobCouMTc0NzEzMDAw
NjU1MTc0MjYrLjUpKTtnW2ErNDk2NTA0Pj4yXT1mO2w9KyhjW2U+PjJdfDApO2o9KDAuMC1mKjYu
OTA3NzYwMTQzMjgwMDI5KS9sO2dbYSs0OTY1MDg+PjJdPWo7Z1thKzQ5NjUxMj4+Ml09aiouNTtn
W2ErNDk2NTE2Pj4yXT1qKi4zMzMzMzI5ODU2Mzk1NzIxNDtlPWErNDk2MTUyfDA7X28oYSsyOTQ5
MTZ8MCwwLDMyNzY4KXwwO2o9K1MoKyhsKi4wMjI5MDM5OTkzMTM3MTIxMisuNSkpO249YSs0OTY1
MjB8MDtjW2UrMD4+Ml09MDtjW2UrND4+Ml09MDtjW2UrOD4+Ml09MDtjW2UrMTI+PjJdPTA7Z1tu
Pj4yXT1qO2NbYSs0OTY1MjQ+PjJdPX5+KGYtaikmODE5MTtfbyhhKzQ3NTE0MHwwLDAsODE5Mil8
MDtjW2ErNDk2NTI4Pj4yXT1+fihqKy0xLjApJjIwNDc7bj1hKzQ5NjE2OHwwO2Nbbj4+Ml09MDtj
W24rND4+Ml09MDtqPStTKCsobCouMTUzMTI4OTk2NDkxNDMyMisuNSkpO2dbYSs0OTY1MzI+PjJd
PWo7Zj0oMC4wLWoqNi45MDc3NjAxNDMyODAwMjkpL2w7Z1thKzQ5NjUzNj4+Ml09ZjtnW2ErNDk2
NTQwPj4yXT1mKi41O2dbYSs0OTY1NDQ+PjJdPWYqLjMzMzMzMjk4NTYzOTU3MjE0O249YSs0OTYx
NzZ8MDtfbyhhKzMyNzY4NHwwLDAsMzI3NjgpfDA7Zj0rUygrKGwqLjAyMDM0NjAwMDc5MDU5NjAx
Ky41KSk7ZT1hKzQ5NjU0OHwwO2NbbiswPj4yXT0wO2Nbbis0Pj4yXT0wO2Nbbis4Pj4yXT0wO2Nb
bisxMj4+Ml09MDtnW2U+PjJdPWY7Y1thKzQ5NjU1Mj4+Ml09fn4oai1mKSY4MTkxO19vKGErNDkx
NTI0fDAsMCw0MDk2KXwwO2NbYSs0OTY1NTY+PjJdPX5+KGYrLTEuMCkmMTAyMztlPWErNDk2MTky
fDA7Y1tlPj4yXT0wO2NbZSs0Pj4yXT0wO2g9YSs0OTU2ODB8MDtvPWgrOTZ8MDtkb3tjW2g+PjJd
PTA7aD1oKzR8MH13aGlsZSgoaHwwKTwob3wwKSk7aT1kO3JldHVybn1mdW5jdGlvbiAkZShiKXti
PWJ8MDt2YXIgZD0wLGU9MCxmPTAsZz0wLGg9MDtiPWk7aT1pKzE2fDA7ZD1iO2U9Y1tyPj4yXXww
O3dmKDc4ODgsZSw3OTQ0KTtjWzE3OTRdPTkzMTY7Y1s3MTg0Pj4yXT05MzM2O2NbNzE4MD4+Ml09
MDtBZyg3MTg0fDAsNzg4OCk7Y1s3MjU2Pj4yXT0wO2NbNzI2MD4+Ml09LTE7Zj1jW3M+PjJdfDA7
Y1sxOTk4XT05MTg0O0dsKDc5OTZ8MCk7Y1s4ZTM+PjJdPTA7Y1s4MDA0Pj4yXT0wO2NbODAwOD4+
Ml09MDtjWzgwMTI+PjJdPTA7Y1s4MDE2Pj4yXT0wO2NbODAyMD4+Ml09MDtjWzE5OThdPTg1MDQ7
Y1s4MDI0Pj4yXT1mO0hsKGQsNzk5NnwwKTtnPUpsKGQsMTIwNTYpfDA7SWwoZCk7Y1s4MDI4Pj4y
XT1nO2NbODAzMj4+Ml09Nzk1MjthWzgwMzZ8MF09KERjW2NbKGNbZz4+Ml18MCkrMjg+PjJdJjEy
N10oZyl8MCkmMTtjWzE4MTZdPTkzOTY7Y1s3MjY4Pj4yXT05NDE2O0FnKDcyNjh8MCw3OTkyKTtj
WzczNDA+PjJdPTA7Y1s3MzQ0Pj4yXT0tMTtnPWNbcT4+Ml18MDtjWzIwMTBdPTkxODQ7R2woODA0
NHwwKTtjWzgwNDg+PjJdPTA7Y1s4MDUyPj4yXT0wO2NbODA1Nj4+Ml09MDtjWzgwNjA+PjJdPTA7
Y1s4MDY0Pj4yXT0wO2NbODA2OD4+Ml09MDtjWzIwMTBdPTg1MDQ7Y1s4MDcyPj4yXT1nO0hsKGQs
ODA0NHwwKTtoPUpsKGQsMTIwNTYpfDA7SWwoZCk7Y1s4MDc2Pj4yXT1oO2NbODA4MD4+Ml09Nzk2
MDthWzgwODR8MF09KERjW2NbKGNbaD4+Ml18MCkrMjg+PjJdJjEyN10oaCl8MCkmMTtjWzE4Mzhd
PTkzOTY7Y1s3MzU2Pj4yXT05NDE2O0FnKDczNTZ8MCw4MDQwKTtjWzc0Mjg+PjJdPTA7Y1s3NDMy
Pj4yXT0tMTtoPWNbKGNbKGNbMTgzOF18MCkrIC0xMj4+Ml18MCkrNzM3Nj4+Ml18MDtjWzE4NjBd
PTkzOTY7Y1s3NDQ0Pj4yXT05NDE2O0FnKDc0NDR8MCxoKTtjWzc1MTY+PjJdPTA7Y1s3NTIwPj4y
XT0tMTtjWyhjWyhjWzE3OTRdfDApKyAtMTI+PjJdfDApKzcyNDg+PjJdPTcyNjQ7aD0oY1soY1sx
ODM4XXwwKSsgLTEyPj4yXXwwKSs3MzU2fDA7Y1toPj4yXT1jW2g+PjJdfDgxOTI7Y1soY1soY1sx
ODM4XXwwKSsgLTEyPj4yXXwwKSs3NDI0Pj4yXT03MjY0O2hmKDgwODgsZSw3OTY4fDApO2NbMTg4
Ml09OTM1NjtjWzc1MzY+PjJdPTkzNzY7Y1s3NTMyPj4yXT0wO0FnKDc1MzZ8MCw4MDg4KTtjWzc2
MDg+PjJdPTA7Y1s3NjEyPj4yXT0tMTtjWzIwMzZdPTkyNDg7R2woODE0OHwwKTtjWzgxNTI+PjJd
PTA7Y1s4MTU2Pj4yXT0wO2NbODE2MD4+Ml09MDtjWzgxNjQ+PjJdPTA7Y1s4MTY4Pj4yXT0wO2Nb
ODE3Mj4+Ml09MDtjWzIwMzZdPTgyNDg7Y1s4MTc2Pj4yXT1mO0hsKGQsODE0OHwwKTtmPUpsKGQs
MTIwNjQpfDA7SWwoZCk7Y1s4MTgwPj4yXT1mO2NbODE4ND4+Ml09Nzk3NjthWzgxODh8MF09KERj
W2NbKGNbZj4+Ml18MCkrMjg+PjJdJjEyN10oZil8MCkmMTtjWzE5MDRdPTk0MzY7Y1s3NjIwPj4y
XT05NDU2O0FnKDc2MjB8MCw4MTQ0KTtjWzc2OTI+PjJdPTA7Y1s3Njk2Pj4yXT0tMTtjWzIwNDhd
PTkyNDg7R2woODE5NnwwKTtjWzgyMDA+PjJdPTA7Y1s4MjA0Pj4yXT0wO2NbODIwOD4+Ml09MDtj
WzgyMTI+PjJdPTA7Y1s4MjE2Pj4yXT0wO2NbODIyMD4+Ml09MDtjWzIwNDhdPTgyNDg7Y1s4MjI0
Pj4yXT1nO0hsKGQsODE5NnwwKTtnPUpsKGQsMTIwNjQpfDA7SWwoZCk7Y1s4MjI4Pj4yXT1nO2Nb
ODIzMj4+Ml09Nzk4NDthWzgyMzZ8MF09KERjW2NbKGNbZz4+Ml18MCkrMjg+PjJdJjEyN10oZyl8
MCkmMTtjWzE5MjZdPTk0MzY7Y1s3NzA4Pj4yXT05NDU2O0FnKDc3MDh8MCw4MTkyKTtjWzc3ODA+
PjJdPTA7Y1s3Nzg0Pj4yXT0tMTtnPWNbKGNbKGNbMTkyNl18MCkrIC0xMj4+Ml18MCkrNzcyOD4+
Ml18MDtjWzE5NDhdPTk0MzY7Y1s3Nzk2Pj4yXT05NDU2O0FnKDc3OTZ8MCxnKTtjWzc4Njg+PjJd
PTA7Y1s3ODcyPj4yXT0tMTtjWyhjWyhjWzE4ODJdfDApKyAtMTI+PjJdfDApKzc2MDA+PjJdPTc2
MTY7Zz0oY1soY1sxOTI2XXwwKSsgLTEyPj4yXXwwKSs3NzA4fDA7Y1tnPj4yXT1jW2c+PjJdfDgx
OTI7Y1soY1soY1sxOTI2XXwwKSsgLTEyPj4yXXwwKSs3Nzc2Pj4yXT03NjE2O2k9YjtyZXR1cm59
ZnVuY3Rpb24gYWYoYSl7YT1hfDA7YT1pO2ZoKDcyNjQpfDA7ZmgoNzQ0MCl8MDtsaCg3NjE2KXww
O2xoKDc3OTIpfDA7aT1hO3JldHVybn1mdW5jdGlvbiBiZihhKXthPWF8MDt2YXIgYj0wO2I9aTtj
W2E+PjJdPTkyNDg7SWwoYSs0fDApO2k9YjtyZXR1cm59ZnVuY3Rpb24gY2YoYSl7YT1hfDA7dmFy
IGI9MDtiPWk7Y1thPj4yXT05MjQ4O0lsKGErNHwwKTtDbyhhKTtpPWI7cmV0dXJufWZ1bmN0aW9u
IGRmKGIsZCl7Yj1ifDA7ZD1kfDA7dmFyIGU9MCxmPTA7ZT1pO0RjW2NbKGNbYj4+Ml18MCkrMjQ+
PjJdJjEyN10oYil8MDtmPUpsKGQsMTIwNjQpfDA7Y1tiKzM2Pj4yXT1mO2FbYis0NHwwXT0oRGNb
Y1soY1tmPj4yXXwwKSsyOD4+Ml0mMTI3XShmKXwwKSYxO2k9ZTtyZXR1cm59ZnVuY3Rpb24gZWYo
YSl7YT1hfDA7dmFyIGI9MCxkPTAsZT0wLGY9MCxnPTAsaD0wLGo9MCxrPTAsbD0wLG09MCxuPTA7
Yj1pO2k9aSsxNnwwO2Q9Yis4fDA7ZT1iO2Y9YSszNnwwO2c9YSs0MHwwO2g9ZCs4fDA7aj1kO2s9
YSszMnwwO3doaWxlKDEpe2E9Y1tmPj4yXXwwO2w9TmNbY1soY1thPj4yXXwwKSsyMD4+Ml0mMTVd
KGEsY1tnPj4yXXwwLGQsaCxlKXwwO2E9KGNbZT4+Ml18MCktanwwO2lmKCh3YihkfDAsMSxhfDAs
Y1trPj4yXXwwKXwwKSE9KGF8MCkpe209LTE7bj01O2JyZWFrfWlmKChsfDApPT0yKXttPS0xO249
NTticmVha31lbHNlIGlmKChsfDApIT0xKXtuPTQ7YnJlYWt9fWlmKChufDApPT00KXttPSgoJGIo
Y1trPj4yXXwwKXwwKSE9MCk8PDMxPj4zMTtpPWI7cmV0dXJuIG18MH1lbHNlIGlmKChufDApPT01
KXtpPWI7cmV0dXJuIG18MH1yZXR1cm4gMH1mdW5jdGlvbiBmZihiLGQsZSl7Yj1ifDA7ZD1kfDA7
ZT1lfDA7dmFyIGY9MCxnPTAsaD0wLGo9MCxrPTA7Zj1pO2E6ZG97aWYoKGFbYis0NHwwXXwwKT09
MCl7aWYoKGV8MCk+MCl7Zz1kO2g9MDt3aGlsZSgxKXtpZigoTWNbY1soY1tiPj4yXXwwKSs1Mj4+
Ml0mMzFdKGIsY1tnPj4yXXwwKXwwKT09LTEpe2o9aDticmVhayBhfWs9aCsxfDA7aWYoKGt8MCk8
KGV8MCkpe2c9Zys0fDA7aD1rfWVsc2V7aj1rO2JyZWFrfX19ZWxzZXtqPTB9fWVsc2V7aj13Yihk
fDAsNCxlfDAsY1tiKzMyPj4yXXwwKXwwfX13aGlsZSgwKTtpPWY7cmV0dXJuIGp8MH1mdW5jdGlv
biBnZihiLGQpe2I9YnwwO2Q9ZHwwO3ZhciBlPTAsZj0wLGc9MCxoPTAsaj0wLGs9MCxsPTAsbT0w
LG49MCxvPTAscD0wLHE9MCxyPTAscz0wLHQ9MCx1PTAsdj0wO2U9aTtpPWkrMzJ8MDtmPWUrMTZ8
MDtnPWUrOHwwO2g9ZSs0fDA7aj1lO2s9KGR8MCk9PS0xO2E6ZG97aWYoIWspe2NbZz4+Ml09ZDtp
ZigoYVtiKzQ0fDBdfDApIT0wKXtpZigod2IoZ3wwLDQsMSxjW2IrMzI+PjJdfDApfDApPT0xKXti
cmVha31lbHNle2w9LTF9aT1lO3JldHVybiBsfDB9Y1toPj4yXT1mO209Zys0fDA7bj1iKzM2fDA7
bz1iKzQwfDA7cD1mKzh8MDtxPWY7cj1iKzMyfDA7cz1nO3doaWxlKDEpe3Q9Y1tuPj4yXXwwO3U9
SWNbY1soY1t0Pj4yXXwwKSsxMj4+Ml0mMTVdKHQsY1tvPj4yXXwwLHMsbSxqLGYscCxoKXwwO2lm
KChjW2o+PjJdfDApPT0oc3wwKSl7bD0tMTt2PTEyO2JyZWFrfWlmKCh1fDApPT0zKXt2PTc7YnJl
YWt9dD0odXwwKT09MTtpZighKHU+Pj4wPDIpKXtsPS0xO3Y9MTI7YnJlYWt9dT0oY1toPj4yXXww
KS1xfDA7aWYoKHdiKGZ8MCwxLHV8MCxjW3I+PjJdfDApfDApIT0odXwwKSl7bD0tMTt2PTEyO2Jy
ZWFrfWlmKHQpe3M9dD9jW2o+PjJdfDA6c31lbHNle2JyZWFrIGF9fWlmKCh2fDApPT03KXtpZigo
d2Ioc3wwLDEsMSxjW3I+PjJdfDApfDApPT0xKXticmVha31lbHNle2w9LTF9aT1lO3JldHVybiBs
fDB9ZWxzZSBpZigodnwwKT09MTIpe2k9ZTtyZXR1cm4gbHwwfX19d2hpbGUoMCk7bD1rPzA6ZDtp
PWU7cmV0dXJuIGx8MH1mdW5jdGlvbiBoZihiLGQsZSl7Yj1ifDA7ZD1kfDA7ZT1lfDA7dmFyIGY9
MCxnPTAsaD0wLGo9MDtmPWk7aT1pKzE2fDA7Zz1mO2NbYj4+Ml09OTI0ODtoPWIrNHwwO0dsKGgp
O2o9Yis4fDA7Y1tqKzA+PjJdPTA7Y1tqKzQ+PjJdPTA7Y1tqKzg+PjJdPTA7Y1tqKzEyPj4yXT0w
O2NbaisxNj4+Ml09MDtjW2orMjA+PjJdPTA7Y1tiPj4yXT04MzYwO2NbYiszMj4+Ml09ZDtjW2Ir
NDA+PjJdPWU7Y1tiKzQ4Pj4yXT0tMTthW2IrNTJ8MF09MDtIbChnLGgpO2g9SmwoZywxMjA2NCl8
MDtlPWIrMzZ8MDtjW2U+PjJdPWg7ZD1iKzQ0fDA7Y1tkPj4yXT1EY1tjWyhjW2g+PjJdfDApKzI0
Pj4yXSYxMjddKGgpfDA7aD1jW2U+PjJdfDA7YVtiKzUzfDBdPShEY1tjWyhjW2g+PjJdfDApKzI4
Pj4yXSYxMjddKGgpfDApJjE7aWYoKGNbZD4+Ml18MCk+OCl7VGsoODQ1Nil9ZWxzZXtJbChnKTtp
PWY7cmV0dXJufX1mdW5jdGlvbiBqZihhKXthPWF8MDt2YXIgYj0wO2I9aTtjW2E+PjJdPTkyNDg7
SWwoYSs0fDApO2k9YjtyZXR1cm59ZnVuY3Rpb24ga2YoYSl7YT1hfDA7dmFyIGI9MDtiPWk7Y1th
Pj4yXT05MjQ4O0lsKGErNHwwKTtDbyhhKTtpPWI7cmV0dXJufWZ1bmN0aW9uIGxmKGIsZCl7Yj1i
fDA7ZD1kfDA7dmFyIGU9MCxmPTAsZz0wO2U9aTtmPUpsKGQsMTIwNjQpfDA7ZD1iKzM2fDA7Y1tk
Pj4yXT1mO2c9Yis0NHwwO2NbZz4+Ml09RGNbY1soY1tmPj4yXXwwKSsyND4+Ml0mMTI3XShmKXww
O2Y9Y1tkPj4yXXwwO2FbYis1M3wwXT0oRGNbY1soY1tmPj4yXXwwKSsyOD4+Ml0mMTI3XShmKXww
KSYxO2lmKChjW2c+PjJdfDApPjgpe1RrKDg0NTYpfWVsc2V7aT1lO3JldHVybn19ZnVuY3Rpb24g
bWYoYSl7YT1hfDA7dmFyIGI9MCxjPTA7Yj1pO2M9cGYoYSwwKXwwO2k9YjtyZXR1cm4gY3wwfWZ1
bmN0aW9uIG5mKGEpe2E9YXwwO3ZhciBiPTAsYz0wO2I9aTtjPXBmKGEsMSl8MDtpPWI7cmV0dXJu
IGN8MH1mdW5jdGlvbiBvZihiLGQpe2I9YnwwO2Q9ZHwwO3ZhciBlPTAsZj0wLGc9MCxoPTAsaj0w
LGs9MCxsPTAsbT0wLG49MCxvPTAscD0wLHE9MDtlPWk7aT1pKzMyfDA7Zj1lKzE2fDA7Zz1lKzh8
MDtoPWUrNHwwO2o9ZTtrPWIrNTJ8MDtsPShhW2tdfDApIT0wO2lmKChkfDApPT0tMSl7aWYobCl7
bT0tMTtpPWU7cmV0dXJuIG18MH1uPWNbYis0OD4+Ml18MDthW2tdPShufDApIT0tMXwwO209bjtp
PWU7cmV0dXJuIG18MH1uPWIrNDh8MDthOmRve2lmKGwpe2NbaD4+Ml09Y1tuPj4yXTtvPWNbYisz
Nj4+Ml18MDtwPUljW2NbKGNbbz4+Ml18MCkrMTI+PjJdJjE1XShvLGNbYis0MD4+Ml18MCxoLGgr
NHwwLGosZixmKzh8MCxnKXwwO2lmKChwfDApPT0zKXthW2ZdPWNbbj4+Ml07Y1tnPj4yXT1mKzF9
ZWxzZSBpZigocHwwKT09MXwocHwwKT09Mil7bT0tMTtpPWU7cmV0dXJuIG18MH1wPWIrMzJ8MDt3
aGlsZSgxKXtvPWNbZz4+Ml18MDtpZighKG8+Pj4wPmY+Pj4wKSl7YnJlYWsgYX1xPW8rIC0xfDA7
Y1tnPj4yXT1xO2lmKChfYihhW3FdfDAsY1twPj4yXXwwKXwwKT09LTEpe209LTE7YnJlYWt9fWk9
ZTtyZXR1cm4gbXwwfX13aGlsZSgwKTtjW24+PjJdPWQ7YVtrXT0xO209ZDtpPWU7cmV0dXJuIG18
MH1mdW5jdGlvbiBwZihiLGQpe2I9YnwwO2Q9ZHwwO3ZhciBlPTAsZj0wLGc9MCxoPTAsaj0wLGs9
MCxsPTAsbT0wLG49MCxvPTAscD0wLHE9MCxyPTAscz0wLHQ9MCx1PTAsdj0wLHc9MCx4PTAseT0w
O2U9aTtpPWkrMzJ8MDtmPWUrMTZ8MDtnPWUrOHwwO2g9ZSs0fDA7aj1lO2s9Yis1MnwwO2lmKChh
W2tdfDApIT0wKXtsPWIrNDh8MDttPWNbbD4+Ml18MDtpZighZCl7bj1tO2k9ZTtyZXR1cm4gbnww
fWNbbD4+Ml09LTE7YVtrXT0wO249bTtpPWU7cmV0dXJuIG58MH1tPWNbYis0ND4+Ml18MDtrPSht
fDApPjE/bToxO2E6ZG97aWYoKGt8MCk+MCl7bT1iKzMyfDA7bD0wO3doaWxlKDEpe289U2IoY1tt
Pj4yXXwwKXwwO2lmKChvfDApPT0tMSl7bj0tMTticmVha31hW2YrbHwwXT1vO2w9bCsxfDA7aWYo
KGx8MCk+PShrfDApKXticmVhayBhfX1pPWU7cmV0dXJuIG58MH19d2hpbGUoMCk7Yjpkb3tpZigo
YVtiKzUzfDBdfDApPT0wKXtsPWIrNDB8MDttPWIrMzZ8MDtvPWcrNHwwO3A9YiszMnwwO3E9azt3
aGlsZSgxKXtyPWNbbD4+Ml18MDtzPXI7dD1jW3M+PjJdfDA7dT1jW3MrND4+Ml18MDtzPWNbbT4+
Ml18MDt2PWYrcXwwO3c9SWNbY1soY1tzPj4yXXwwKSsxNj4+Ml0mMTVdKHMscixmLHYsaCxnLG8s
ail8MDtpZigod3wwKT09Myl7eD0xNDticmVha31lbHNlIGlmKCh3fDApPT0yKXtuPS0xO3g9MjI7
YnJlYWt9ZWxzZSBpZigod3wwKSE9MSl7eT1xO2JyZWFrIGJ9dz1jW2w+PjJdfDA7Y1t3Pj4yXT10
O2Nbdys0Pj4yXT11O2lmKChxfDApPT04KXtuPS0xO3g9MjI7YnJlYWt9dT1TYihjW3A+PjJdfDAp
fDA7aWYoKHV8MCk9PS0xKXtuPS0xO3g9MjI7YnJlYWt9YVt2XT11O3E9cSsxfDB9aWYoKHh8MCk9
PTE0KXtjW2c+PjJdPWFbZl18MDt5PXE7YnJlYWt9ZWxzZSBpZigoeHwwKT09MjIpe2k9ZTtyZXR1
cm4gbnwwfX1lbHNle2NbZz4+Ml09YVtmXXwwO3k9a319d2hpbGUoMCk7aWYoZCl7ZD1jW2c+PjJd
fDA7Y1tiKzQ4Pj4yXT1kO249ZDtpPWU7cmV0dXJuIG58MH1kPWIrMzJ8MDtiPXk7d2hpbGUoMSl7
aWYoKGJ8MCk8PTApe2JyZWFrfXk9YisgLTF8MDtpZigoX2IoYVtmK3l8MF18MCxjW2Q+PjJdfDAp
fDApPT0tMSl7bj0tMTt4PTIyO2JyZWFrfWVsc2V7Yj15fX1pZigoeHwwKT09MjIpe2k9ZTtyZXR1
cm4gbnwwfW49Y1tnPj4yXXwwO2k9ZTtyZXR1cm4gbnwwfWZ1bmN0aW9uIHFmKGEpe2E9YXwwO3Zh
ciBiPTA7Yj1pO2NbYT4+Ml09OTE4NDtJbChhKzR8MCk7aT1iO3JldHVybn1mdW5jdGlvbiByZihh
KXthPWF8MDt2YXIgYj0wO2I9aTtjW2E+PjJdPTkxODQ7SWwoYSs0fDApO0NvKGEpO2k9YjtyZXR1
cm59ZnVuY3Rpb24gc2YoYixkKXtiPWJ8MDtkPWR8MDt2YXIgZT0wLGY9MDtlPWk7RGNbY1soY1ti
Pj4yXXwwKSsyND4+Ml0mMTI3XShiKXwwO2Y9SmwoZCwxMjA1Nil8MDtjW2IrMzY+PjJdPWY7YVti
KzQ0fDBdPShEY1tjWyhjW2Y+PjJdfDApKzI4Pj4yXSYxMjddKGYpfDApJjE7aT1lO3JldHVybn1m
dW5jdGlvbiB0ZihhKXthPWF8MDt2YXIgYj0wLGQ9MCxlPTAsZj0wLGc9MCxoPTAsaj0wLGs9MCxs
PTAsbT0wLG49MDtiPWk7aT1pKzE2fDA7ZD1iKzh8MDtlPWI7Zj1hKzM2fDA7Zz1hKzQwfDA7aD1k
Kzh8MDtqPWQ7az1hKzMyfDA7d2hpbGUoMSl7YT1jW2Y+PjJdfDA7bD1OY1tjWyhjW2E+PjJdfDAp
KzIwPj4yXSYxNV0oYSxjW2c+PjJdfDAsZCxoLGUpfDA7YT0oY1tlPj4yXXwwKS1qfDA7aWYoKHdi
KGR8MCwxLGF8MCxjW2s+PjJdfDApfDApIT0oYXwwKSl7bT0tMTtuPTU7YnJlYWt9aWYoKGx8MCk9
PTIpe209LTE7bj01O2JyZWFrfWVsc2UgaWYoKGx8MCkhPTEpe249NDticmVha319aWYoKG58MCk9
PTQpe209KCgkYihjW2s+PjJdfDApfDApIT0wKTw8MzE+PjMxO2k9YjtyZXR1cm4gbXwwfWVsc2Ug
aWYoKG58MCk9PTUpe2k9YjtyZXR1cm4gbXwwfXJldHVybiAwfWZ1bmN0aW9uIHVmKGIsZSxmKXti
PWJ8MDtlPWV8MDtmPWZ8MDt2YXIgZz0wLGg9MCxqPTAsaz0wLGw9MDtnPWk7aWYoKGFbYis0NHww
XXwwKSE9MCl7aD13YihlfDAsMSxmfDAsY1tiKzMyPj4yXXwwKXwwO2k9ZztyZXR1cm4gaHwwfWlm
KChmfDApPjApe2o9ZTtrPTB9ZWxzZXtoPTA7aT1nO3JldHVybiBofDB9d2hpbGUoMSl7aWYoKE1j
W2NbKGNbYj4+Ml18MCkrNTI+PjJdJjMxXShiLGRbal18MCl8MCk9PS0xKXtoPWs7bD02O2JyZWFr
fWU9aysxfDA7aWYoKGV8MCk8KGZ8MCkpe2o9aisxfDA7az1lfWVsc2V7aD1lO2w9NjticmVha319
aWYoKGx8MCk9PTYpe2k9ZztyZXR1cm4gaHwwfXJldHVybiAwfWZ1bmN0aW9uIHZmKGIsZCl7Yj1i
fDA7ZD1kfDA7dmFyIGU9MCxmPTAsZz0wLGg9MCxqPTAsaz0wLGw9MCxtPTAsbj0wLG89MCxwPTAs
cT0wLHI9MCxzPTAsdD0wLHU9MCx2PTA7ZT1pO2k9aSszMnwwO2Y9ZSsxNnwwO2c9ZSs4fDA7aD1l
KzR8MDtqPWU7az0oZHwwKT09LTE7YTpkb3tpZighayl7YVtnXT1kO2lmKChhW2IrNDR8MF18MCkh
PTApe2lmKCh3YihnfDAsMSwxLGNbYiszMj4+Ml18MCl8MCk9PTEpe2JyZWFrfWVsc2V7bD0tMX1p
PWU7cmV0dXJuIGx8MH1jW2g+PjJdPWY7bT1nKzF8MDtuPWIrMzZ8MDtvPWIrNDB8MDtwPWYrOHww
O3E9ZjtyPWIrMzJ8MDtzPWc7d2hpbGUoMSl7dD1jW24+PjJdfDA7dT1JY1tjWyhjW3Q+PjJdfDAp
KzEyPj4yXSYxNV0odCxjW28+PjJdfDAscyxtLGosZixwLGgpfDA7aWYoKGNbaj4+Ml18MCk9PShz
fDApKXtsPS0xO3Y9MTI7YnJlYWt9aWYoKHV8MCk9PTMpe3Y9NzticmVha310PSh1fDApPT0xO2lm
KCEodT4+PjA8Mikpe2w9LTE7dj0xMjticmVha311PShjW2g+PjJdfDApLXF8MDtpZigod2IoZnww
LDEsdXwwLGNbcj4+Ml18MCl8MCkhPSh1fDApKXtsPS0xO3Y9MTI7YnJlYWt9aWYodCl7cz10P2Nb
aj4+Ml18MDpzfWVsc2V7YnJlYWsgYX19aWYoKHZ8MCk9PTcpe2lmKCh3YihzfDAsMSwxLGNbcj4+
Ml18MCl8MCk9PTEpe2JyZWFrfWVsc2V7bD0tMX1pPWU7cmV0dXJuIGx8MH1lbHNlIGlmKCh2fDAp
PT0xMil7aT1lO3JldHVybiBsfDB9fX13aGlsZSgwKTtsPWs/MDpkO2k9ZTtyZXR1cm4gbHwwfWZ1
bmN0aW9uIHdmKGIsZCxlKXtiPWJ8MDtkPWR8MDtlPWV8MDt2YXIgZj0wLGc9MCxoPTAsaj0wO2Y9
aTtpPWkrMTZ8MDtnPWY7Y1tiPj4yXT05MTg0O2g9Yis0fDA7R2woaCk7aj1iKzh8MDtjW2orMD4+
Ml09MDtjW2orND4+Ml09MDtjW2orOD4+Ml09MDtjW2orMTI+PjJdPTA7Y1tqKzE2Pj4yXT0wO2Nb
aisyMD4+Ml09MDtjW2I+PjJdPTg2MTY7Y1tiKzMyPj4yXT1kO2NbYis0MD4+Ml09ZTtjW2IrNDg+
PjJdPS0xO2FbYis1MnwwXT0wO0hsKGcsaCk7aD1KbChnLDEyMDU2KXwwO2U9YiszNnwwO2NbZT4+
Ml09aDtkPWIrNDR8MDtjW2Q+PjJdPURjW2NbKGNbaD4+Ml18MCkrMjQ+PjJdJjEyN10oaCl8MDto
PWNbZT4+Ml18MDthW2IrNTN8MF09KERjW2NbKGNbaD4+Ml18MCkrMjg+PjJdJjEyN10oaCl8MCkm
MTtpZigoY1tkPj4yXXwwKT44KXtUayg4NDU2KX1lbHNle0lsKGcpO2k9ZjtyZXR1cm59fWZ1bmN0
aW9uIHhmKGEpe2E9YXwwO3ZhciBiPTA7Yj1pO2NbYT4+Ml09OTE4NDtJbChhKzR8MCk7aT1iO3Jl
dHVybn1mdW5jdGlvbiB5ZihhKXthPWF8MDt2YXIgYj0wO2I9aTtjW2E+PjJdPTkxODQ7SWwoYSs0
fDApO0NvKGEpO2k9YjtyZXR1cm59ZnVuY3Rpb24gemYoYixkKXtiPWJ8MDtkPWR8MDt2YXIgZT0w
LGY9MCxnPTA7ZT1pO2Y9SmwoZCwxMjA1Nil8MDtkPWIrMzZ8MDtjW2Q+PjJdPWY7Zz1iKzQ0fDA7
Y1tnPj4yXT1EY1tjWyhjW2Y+PjJdfDApKzI0Pj4yXSYxMjddKGYpfDA7Zj1jW2Q+PjJdfDA7YVti
KzUzfDBdPShEY1tjWyhjW2Y+PjJdfDApKzI4Pj4yXSYxMjddKGYpfDApJjE7aWYoKGNbZz4+Ml18
MCk+OCl7VGsoODQ1Nil9ZWxzZXtpPWU7cmV0dXJufX1mdW5jdGlvbiBBZihhKXthPWF8MDt2YXIg
Yj0wLGM9MDtiPWk7Yz1EZihhLDApfDA7aT1iO3JldHVybiBjfDB9ZnVuY3Rpb24gQmYoYSl7YT1h
fDA7dmFyIGI9MCxjPTA7Yj1pO2M9RGYoYSwxKXwwO2k9YjtyZXR1cm4gY3wwfWZ1bmN0aW9uIENm
KGIsZCl7Yj1ifDA7ZD1kfDA7dmFyIGU9MCxmPTAsZz0wLGg9MCxqPTAsaz0wLGw9MCxtPTAsbj0w
LG89MCxwPTAscT0wO2U9aTtpPWkrMzJ8MDtmPWUrMTZ8MDtnPWUrNHwwO2g9ZSs4fDA7aj1lO2s9
Yis1MnwwO2w9KGFba118MCkhPTA7aWYoKGR8MCk9PS0xKXtpZihsKXttPS0xO2k9ZTtyZXR1cm4g
bXwwfW49Y1tiKzQ4Pj4yXXwwO2Fba109KG58MCkhPS0xfDA7bT1uO2k9ZTtyZXR1cm4gbXwwfW49
Yis0OHwwO2E6ZG97aWYobCl7YVtoXT1jW24+PjJdO289Y1tiKzM2Pj4yXXwwO3A9SWNbY1soY1tv
Pj4yXXwwKSsxMj4+Ml0mMTVdKG8sY1tiKzQwPj4yXXwwLGgsaCsxfDAsaixmLGYrOHwwLGcpfDA7
aWYoKHB8MCk9PTF8KHB8MCk9PTIpe209LTE7aT1lO3JldHVybiBtfDB9ZWxzZSBpZigocHwwKT09
Myl7YVtmXT1jW24+PjJdO2NbZz4+Ml09ZisxfXA9YiszMnwwO3doaWxlKDEpe289Y1tnPj4yXXww
O2lmKCEobz4+PjA+Zj4+PjApKXticmVhayBhfXE9bysgLTF8MDtjW2c+PjJdPXE7aWYoKF9iKGFb
cV18MCxjW3A+PjJdfDApfDApPT0tMSl7bT0tMTticmVha319aT1lO3JldHVybiBtfDB9fXdoaWxl
KDApO2Nbbj4+Ml09ZDthW2tdPTE7bT1kO2k9ZTtyZXR1cm4gbXwwfWZ1bmN0aW9uIERmKGIsZSl7
Yj1ifDA7ZT1lfDA7dmFyIGY9MCxnPTAsaD0wLGo9MCxrPTAsbD0wLG09MCxuPTAsbz0wLHA9MCxx
PTAscj0wLHM9MCx0PTAsdT0wLHY9MCx3PTAseD0wLHk9MCx6PTAsQT0wO2Y9aTtpPWkrMzJ8MDtn
PWYrMTZ8MDtoPWYrOHwwO2o9Zis0fDA7az1mO2w9Yis1MnwwO2lmKChhW2xdfDApIT0wKXttPWIr
NDh8MDtuPWNbbT4+Ml18MDtpZighZSl7bz1uO2k9ZjtyZXR1cm4gb3wwfWNbbT4+Ml09LTE7YVts
XT0wO289bjtpPWY7cmV0dXJuIG98MH1uPWNbYis0ND4+Ml18MDtsPShufDApPjE/bjoxO2E6ZG97
aWYoKGx8MCk+MCl7bj1iKzMyfDA7bT0wO3doaWxlKDEpe3A9U2IoY1tuPj4yXXwwKXwwO2lmKChw
fDApPT0tMSl7bz0tMTticmVha31hW2crbXwwXT1wO209bSsxfDA7aWYoKG18MCk+PShsfDApKXti
cmVhayBhfX1pPWY7cmV0dXJuIG98MH19d2hpbGUoMCk7Yjpkb3tpZigoYVtiKzUzfDBdfDApPT0w
KXttPWIrNDB8MDtuPWIrMzZ8MDtwPWgrMXwwO3E9YiszMnwwO3I9bDt3aGlsZSgxKXtzPWNbbT4+
Ml18MDt0PXM7dT1jW3Q+PjJdfDA7dj1jW3QrND4+Ml18MDt0PWNbbj4+Ml18MDt3PWcrcnwwO3g9
SWNbY1soY1t0Pj4yXXwwKSsxNj4+Ml0mMTVdKHQscyxnLHcsaixoLHAsayl8MDtpZigoeHwwKT09
Mil7bz0tMTt5PTIzO2JyZWFrfWVsc2UgaWYoKHh8MCk9PTMpe3k9MTQ7YnJlYWt9ZWxzZSBpZigo
eHwwKSE9MSl7ej1yO2JyZWFrIGJ9eD1jW20+PjJdfDA7Y1t4Pj4yXT11O2NbeCs0Pj4yXT12O2lm
KChyfDApPT04KXtvPS0xO3k9MjM7YnJlYWt9dj1TYihjW3E+PjJdfDApfDA7aWYoKHZ8MCk9PS0x
KXtvPS0xO3k9MjM7YnJlYWt9YVt3XT12O3I9cisxfDB9aWYoKHl8MCk9PTE0KXthW2hdPWFbZ118
MDt6PXI7YnJlYWt9ZWxzZSBpZigoeXwwKT09MjMpe2k9ZjtyZXR1cm4gb3wwfX1lbHNle2FbaF09
YVtnXXwwO3o9bH19d2hpbGUoMCk7ZG97aWYoIWUpe2w9YiszMnwwO2s9ejt3aGlsZSgxKXtpZigo
a3wwKTw9MCl7eT0yMTticmVha31qPWsrIC0xfDA7aWYoKF9iKGRbZytqfDBdfDAsY1tsPj4yXXww
KXwwKT09LTEpe289LTE7eT0yMzticmVha31lbHNle2s9an19aWYoKHl8MCk9PTIxKXtBPWFbaF18
MDticmVha31lbHNlIGlmKCh5fDApPT0yMyl7aT1mO3JldHVybiBvfDB9fWVsc2V7az1hW2hdfDA7
Y1tiKzQ4Pj4yXT1rJjI1NTtBPWt9fXdoaWxlKDApO289QSYyNTU7aT1mO3JldHVybiBvfDB9ZnVu
Y3Rpb24gRWYoKXt2YXIgYT0wO2E9aTskZSgwKTt0YygxMzMsNzg4MCxwfDApfDA7aT1hO3JldHVy
bn1mdW5jdGlvbiBGZihhKXthPWF8MDtyZXR1cm59ZnVuY3Rpb24gR2YoYSl7YT1hfDA7dmFyIGI9
MDtiPWErNHwwO2NbYj4+Ml09KGNbYj4+Ml18MCkrMTtyZXR1cm59ZnVuY3Rpb24gSGYoYSl7YT1h
fDA7dmFyIGI9MCxkPTAsZT0wLGY9MDtiPWk7ZD1hKzR8MDtlPWNbZD4+Ml18MDtjW2Q+PjJdPWUr
IC0xO2lmKChlfDApIT0wKXtmPTA7aT1iO3JldHVybiBmfDB9QWNbY1soY1thPj4yXXwwKSs4Pj4y
XSYyNTVdKGEpO2Y9MTtpPWI7cmV0dXJuIGZ8MH1mdW5jdGlvbiBJZihhLGIpe2E9YXwwO2I9Ynww
O3ZhciBkPTAsZT0wLGY9MCxnPTA7ZD1pO2NbYT4+Ml09ODc2MDtlPVZvKGJ8MCl8MDtmPUJvKGUr
MTN8MCl8MDtjW2YrND4+Ml09ZTtjW2Y+PjJdPWU7Zz1mKzEyfDA7Y1thKzQ+PjJdPWc7Y1tmKzg+
PjJdPTA7WG8oZ3wwLGJ8MCxlKzF8MCl8MDtpPWQ7cmV0dXJufWZ1bmN0aW9uIEpmKGEpe2E9YXww
O3ZhciBiPTAsZD0wLGU9MCxmPTA7Yj1pO2NbYT4+Ml09ODc2MDtkPWErNHwwO2U9KGNbZD4+Ml18
MCkrIC00fDA7Zj1jW2U+PjJdfDA7Y1tlPj4yXT1mKyAtMTtpZigoZisgLTF8MCk8MCl7RG8oKGNb
ZD4+Ml18MCkrIC0xMnwwKX1aYShhfDApO0NvKGEpO2k9YjtyZXR1cm59ZnVuY3Rpb24gS2YoYSl7
YT1hfDA7dmFyIGI9MCxkPTAsZT0wLGY9MDtiPWk7Y1thPj4yXT04NzYwO2Q9YSs0fDA7ZT0oY1tk
Pj4yXXwwKSsgLTR8MDtmPWNbZT4+Ml18MDtjW2U+PjJdPWYrIC0xO2lmKChmKyAtMXwwKT49MCl7
WmEoYXwwKTtpPWI7cmV0dXJufURvKChjW2Q+PjJdfDApKyAtMTJ8MCk7WmEoYXwwKTtpPWI7cmV0
dXJufWZ1bmN0aW9uIExmKGEpe2E9YXwwO3JldHVybiBjW2ErND4+Ml18MH1mdW5jdGlvbiBNZihi
LGQpe2I9YnwwO2Q9ZHwwO3ZhciBlPTAsZj0wLGc9MCxoPTA7ZT1pO2NbYj4+Ml09ODc4NDtpZigo
YVtkXSYxKT09MCl7Zj1kKzF8MH1lbHNle2Y9Y1tkKzg+PjJdfDB9ZD1WbyhmfDApfDA7Zz1Cbyhk
KzEzfDApfDA7Y1tnKzQ+PjJdPWQ7Y1tnPj4yXT1kO2g9ZysxMnwwO2NbYis0Pj4yXT1oO2NbZys4
Pj4yXT0wO1hvKGh8MCxmfDAsZCsxfDApfDA7aT1lO3JldHVybn1mdW5jdGlvbiBOZihhLGIpe2E9
YXwwO2I9YnwwO3ZhciBkPTAsZT0wLGY9MCxnPTA7ZD1pO2NbYT4+Ml09ODc4NDtlPVZvKGJ8MCl8
MDtmPUJvKGUrMTN8MCl8MDtjW2YrND4+Ml09ZTtjW2Y+PjJdPWU7Zz1mKzEyfDA7Y1thKzQ+PjJd
PWc7Y1tmKzg+PjJdPTA7WG8oZ3wwLGJ8MCxlKzF8MCl8MDtpPWQ7cmV0dXJufWZ1bmN0aW9uIE9m
KGEpe2E9YXwwO3ZhciBiPTAsZD0wLGU9MCxmPTA7Yj1pO2NbYT4+Ml09ODc4NDtkPWErNHwwO2U9
KGNbZD4+Ml18MCkrIC00fDA7Zj1jW2U+PjJdfDA7Y1tlPj4yXT1mKyAtMTtpZigoZisgLTF8MCk8
MCl7RG8oKGNbZD4+Ml18MCkrIC0xMnwwKX1aYShhfDApO0NvKGEpO2k9YjtyZXR1cm59ZnVuY3Rp
b24gUGYoYSl7YT1hfDA7dmFyIGI9MCxkPTAsZT0wLGY9MDtiPWk7Y1thPj4yXT04Nzg0O2Q9YSs0
fDA7ZT0oY1tkPj4yXXwwKSsgLTR8MDtmPWNbZT4+Ml18MDtjW2U+PjJdPWYrIC0xO2lmKChmKyAt
MXwwKT49MCl7WmEoYXwwKTtpPWI7cmV0dXJufURvKChjW2Q+PjJdfDApKyAtMTJ8MCk7WmEoYXww
KTtpPWI7cmV0dXJufWZ1bmN0aW9uIFFmKGEpe2E9YXwwO3JldHVybiBjW2ErND4+Ml18MH1mdW5j
dGlvbiBSZihhKXthPWF8MDt2YXIgYj0wLGQ9MCxlPTAsZj0wO2I9aTtjW2E+PjJdPTg3NjA7ZD1h
KzR8MDtlPShjW2Q+PjJdfDApKyAtNHwwO2Y9Y1tlPj4yXXwwO2NbZT4+Ml09ZisgLTE7aWYoKGYr
IC0xfDApPDApe0RvKChjW2Q+PjJdfDApKyAtMTJ8MCl9WmEoYXwwKTtDbyhhKTtpPWI7cmV0dXJu
fWZ1bmN0aW9uIFNmKGEpe2E9YXwwO3JldHVybn1mdW5jdGlvbiBUZihhLGIsZCl7YT1hfDA7Yj1i
fDA7ZD1kfDA7Y1thPj4yXT1kO2NbYSs0Pj4yXT1iO3JldHVybn1mdW5jdGlvbiBVZihhLGIsZCl7
YT1hfDA7Yj1ifDA7ZD1kfDA7dmFyIGU9MCxmPTAsZz0wO2U9aTtpPWkrMTZ8MDtmPWU7RmNbY1so
Y1thPj4yXXwwKSsxMj4+Ml0mMTVdKGYsYSxiKTtpZigoY1tmKzQ+PjJdfDApIT0oY1tkKzQ+PjJd
fDApKXtnPTA7aT1lO3JldHVybiBnfDB9Zz0oY1tmPj4yXXwwKT09KGNbZD4+Ml18MCk7aT1lO3Jl
dHVybiBnfDB9ZnVuY3Rpb24gVmYoYSxiLGQpe2E9YXwwO2I9YnwwO2Q9ZHwwO3ZhciBlPTAsZj0w
O2U9aTtpZigoY1tiKzQ+PjJdfDApIT0oYXwwKSl7Zj0wO2k9ZTtyZXR1cm4gZnwwfWY9KGNbYj4+
Ml18MCk9PShkfDApO2k9ZTtyZXR1cm4gZnwwfWZ1bmN0aW9uIFdmKGIsZCxlKXtiPWJ8MDtkPWR8
MDtlPWV8MDt2YXIgZj0wLGc9MCxoPTAsaj0wLGs9MDtkPWk7Zj1yYyhlfDApfDA7ZT1WbyhmfDAp
fDA7aWYoZT4+PjA+NDI5NDk2NzI3OSl7YWcoMCl9aWYoZT4+PjA8MTEpe2FbYl09ZTw8MTtnPWIr
MXwwO1hvKGd8MCxmfDAsZXwwKXwwO2g9ZytlfDA7YVtoXT0wO2k9ZDtyZXR1cm59ZWxzZXtqPWUr
MTYmLTE2O2s9QW8oail8MDtjW2IrOD4+Ml09aztjW2I+PjJdPWp8MTtjW2IrND4+Ml09ZTtnPWs7
WG8oZ3wwLGZ8MCxlfDApfDA7aD1nK2V8MDthW2hdPTA7aT1kO3JldHVybn19ZnVuY3Rpb24gWGYo
YixkLGUpe2I9YnwwO2Q9ZHwwO2U9ZXwwO3ZhciBmPTAsZz0wLGg9MCxqPTAsaz0wLGw9MCxtPTAs
bj0wO2Y9aTtpPWkrMTZ8MDtnPWY7aD1jW2Q+PjJdfDA7aWYoKGh8MCkhPTApe2o9YVtlXXwwO2lm
KChqJjEpPT0wKXtrPShqJjI1NSk+Pj4xfWVsc2V7az1jW2UrND4+Ml18MH1pZigoa3wwKT09MCl7
bD1ofWVsc2V7bGcoZSw4OTM2LDIpfDA7bD1jW2Q+PjJdfDB9aD1jW2QrND4+Ml18MDtGY1tjWyhj
W2g+PjJdfDApKzI0Pj4yXSYxNV0oZyxoLGwpO2w9YVtnXXwwO2lmKChsJjEpPT0wKXttPWcrMXww
O249KGwmMjU1KT4+PjF9ZWxzZXttPWNbZys4Pj4yXXwwO249Y1tnKzQ+PjJdfDB9bGcoZSxtLG4p
fDA7aWYoISgoYVtnXSYxKT09MCkpe0NvKGNbZys4Pj4yXXwwKX19Y1tiKzA+PjJdPWNbZSswPj4y
XTtjW2IrND4+Ml09Y1tlKzQ+PjJdO2NbYis4Pj4yXT1jW2UrOD4+Ml07Y1tlKzA+PjJdPTA7Y1tl
KzQ+PjJdPTA7Y1tlKzg+PjJdPTA7aT1mO3JldHVybn1mdW5jdGlvbiBZZihiLGQsZSl7Yj1ifDA7
ZD1kfDA7ZT1lfDA7dmFyIGY9MCxnPTAsaD0wLGo9MCxrPTAsbD0wLG09MDtmPWk7aT1pKzMyfDA7
Zz1mKzEyfDA7aD1mO2o9Vm8oZXwwKXwwO2lmKGo+Pj4wPjQyOTQ5NjcyNzkpe2FnKDApfWlmKGo+
Pj4wPDExKXthW2hdPWo8PDE7az1oKzF8MH1lbHNle2w9aisxNiYtMTY7bT1BbyhsKXwwO2NbaCs4
Pj4yXT1tO2NbaD4+Ml09bHwxO2NbaCs0Pj4yXT1qO2s9bX1YbyhrfDAsZXwwLGp8MCl8MDthW2sr
anwwXT0wO1hmKGcsZCxoKTtNZihiLGcpO2lmKCEoKGFbZ10mMSk9PTApKXtDbyhjW2crOD4+Ml18
MCl9aWYoISgoYVtoXSYxKT09MCkpe0NvKGNbaCs4Pj4yXXwwKX1jW2I+PjJdPTg5NTI7aD1kO2Q9
Y1toKzQ+PjJdfDA7Zz1iKzh8MDtjW2c+PjJdPWNbaD4+Ml07Y1tnKzQ+PjJdPWQ7aT1mO3JldHVy
bn1mdW5jdGlvbiBaZihhKXthPWF8MDt2YXIgYj0wO2I9aTtQZihhKTtDbyhhKTtpPWI7cmV0dXJu
fWZ1bmN0aW9uIF9mKGEpe2E9YXwwO3ZhciBiPTA7Yj1pO1BmKGEpO2k9YjtyZXR1cm59ZnVuY3Rp
b24gJGYoYSxiLGQpe2E9YXwwO2I9YnwwO2Q9ZHwwO3ZhciBlPTA7ZT1pO2JjKDkwODgpfDA7aWYo
KGNbYT4+Ml18MCk9PTEpe2Rve1liKDkxMTIsOTA4OCl8MH13aGlsZSgoY1thPj4yXXwwKT09MSl9
aWYoKGNbYT4+Ml18MCk9PTApe2NbYT4+Ml09MTtqYyg5MDg4KXwwO0FjW2QmMjU1XShiKTtiYyg5
MDg4KXwwO2NbYT4+Ml09LTE7amMoOTA4OCl8MDtRYig5MTEyKXwwO2k9ZTtyZXR1cm59ZWxzZXtq
Yyg5MDg4KXwwO2k9ZTtyZXR1cm59fWZ1bmN0aW9uIGFnKGEpe2E9YXwwO2E9RGIoOCl8MDtJZihh
LDkxNjApO2NbYT4+Ml09ODg0MDtwYyhhfDAsODg4MCwzNSl9ZnVuY3Rpb24gYmcoYixkKXtiPWJ8
MDtkPWR8MDt2YXIgZT0wLGY9MCxnPTAsaD0wLGo9MDtlPWk7aWYoKGFbZF0mMSk9PTApe2NbYisw
Pj4yXT1jW2QrMD4+Ml07Y1tiKzQ+PjJdPWNbZCs0Pj4yXTtjW2IrOD4+Ml09Y1tkKzg+PjJdO2k9
ZTtyZXR1cm59Zj1jW2QrOD4+Ml18MDtnPWNbZCs0Pj4yXXwwO2lmKGc+Pj4wPjQyOTQ5NjcyNzkp
e2FnKDApfWlmKGc+Pj4wPDExKXthW2JdPWc8PDE7aD1iKzF8MH1lbHNle2Q9ZysxNiYtMTY7aj1B
byhkKXwwO2NbYis4Pj4yXT1qO2NbYj4+Ml09ZHwxO2NbYis0Pj4yXT1nO2g9an1YbyhofDAsZnww
LGd8MCl8MDthW2grZ3wwXT0wO2k9ZTtyZXR1cm59ZnVuY3Rpb24gY2coYixkLGUpe2I9YnwwO2Q9
ZHwwO2U9ZXwwO3ZhciBmPTAsZz0wLGg9MCxqPTA7Zj1pO2lmKGU+Pj4wPjQyOTQ5NjcyNzkpe2Fn
KDApfWlmKGU+Pj4wPDExKXthW2JdPWU8PDE7Zz1iKzF8MH1lbHNle2g9ZSsxNiYtMTY7aj1Bbyho
KXwwO2NbYis4Pj4yXT1qO2NbYj4+Ml09aHwxO2NbYis0Pj4yXT1lO2c9an1YbyhnfDAsZHwwLGV8
MCl8MDthW2crZXwwXT0wO2k9ZjtyZXR1cm59ZnVuY3Rpb24gZGcoYixkLGUpe2I9YnwwO2Q9ZHww
O2U9ZXwwO3ZhciBmPTAsZz0wLGg9MCxqPTA7Zj1pO2lmKGQ+Pj4wPjQyOTQ5NjcyNzkpe2FnKDAp
fWlmKGQ+Pj4wPDExKXthW2JdPWQ8PDE7Zz1iKzF8MH1lbHNle2g9ZCsxNiYtMTY7aj1BbyhoKXww
O2NbYis4Pj4yXT1qO2NbYj4+Ml09aHwxO2NbYis0Pj4yXT1kO2c9an1fbyhnfDAsZXwwLGR8MCl8
MDthW2crZHwwXT0wO2k9ZjtyZXR1cm59ZnVuY3Rpb24gZWcoYil7Yj1ifDA7dmFyIGQ9MDtkPWk7
aWYoKGFbYl0mMSk9PTApe2k9ZDtyZXR1cm59Q28oY1tiKzg+PjJdfDApO2k9ZDtyZXR1cm59ZnVu
Y3Rpb24gZmcoYixkKXtiPWJ8MDtkPWR8MDt2YXIgZT0wLGY9MCxnPTAsaD0wLGo9MCxrPTAsbD0w
LG09MDtlPWk7aWYoKGJ8MCk9PShkfDApKXtpPWU7cmV0dXJuIGJ8MH1mPWFbZF18MDtpZigoZiYx
KT09MCl7Zz0oZiYyNTUpPj4+MTtoPWQrMXwwfWVsc2V7Zz1jW2QrND4+Ml18MDtoPWNbZCs4Pj4y
XXwwfWQ9YVtiXXwwO2lmKChkJjEpPT0wKXtqPTEwO2s9ZH1lbHNle2Q9Y1tiPj4yXXwwO2o9KGQm
LTIpKyAtMXwwO2s9ZCYyNTV9ZD0oayYxKT09MDtpZihqPj4+MDxnPj4+MCl7aWYoZCl7bD0oayYy
NTUpPj4+MX1lbHNle2w9Y1tiKzQ+PjJdfDB9bWcoYixqLGctanwwLGwsMCxsLGcsaCk7aT1lO3Jl
dHVybiBifDB9aWYoZCl7bT1iKzF8MH1lbHNle209Y1tiKzg+PjJdfDB9Wm8obXwwLGh8MCxnfDAp
fDA7YVttK2d8MF09MDtpZigoYVtiXSYxKT09MCl7YVtiXT1nPDwxO2k9ZTtyZXR1cm4gYnwwfWVs
c2V7Y1tiKzQ+PjJdPWc7aT1lO3JldHVybiBifDB9cmV0dXJuIDB9ZnVuY3Rpb24gZ2coYixkKXti
PWJ8MDtkPWR8MDt2YXIgZT0wLGY9MCxnPTAsaD0wLGo9MCxrPTAsbD0wO2U9aTtmPVZvKGR8MCl8
MDtnPWFbYl18MDtpZigoZyYxKT09MCl7aD1nO2o9MTB9ZWxzZXtnPWNbYj4+Ml18MDtoPWcmMjU1
O2o9KGcmLTIpKyAtMXwwfWc9KGgmMSk9PTA7aWYoaj4+PjA8Zj4+PjApe2lmKGcpe2s9KGgmMjU1
KT4+PjF9ZWxzZXtrPWNbYis0Pj4yXXwwfW1nKGIsaixmLWp8MCxrLDAsayxmLGQpO2k9ZTtyZXR1
cm4gYnwwfWlmKGcpe2w9YisxfDB9ZWxzZXtsPWNbYis4Pj4yXXwwfVpvKGx8MCxkfDAsZnwwKXww
O2FbbCtmfDBdPTA7aWYoKGFbYl0mMSk9PTApe2FbYl09Zjw8MTtpPWU7cmV0dXJuIGJ8MH1lbHNl
e2NbYis0Pj4yXT1mO2k9ZTtyZXR1cm4gYnwwfXJldHVybiAwfWZ1bmN0aW9uIGhnKGIsZCxlKXti
PWJ8MDtkPWR8MDtlPWV8MDt2YXIgZj0wLGc9MCxoPTAsaj0wO2Y9aTtnPWFbYl18MDtoPShnJjEp
PT0wO2lmKGgpe2o9KGcmMjU1KT4+PjF9ZWxzZXtqPWNbYis0Pj4yXXwwfWlmKGo+Pj4wPGQ+Pj4w
KXtpZyhiLGQtanwwLGUpfDA7aT1mO3JldHVybn1pZihoKXthW2IrZCsxfDBdPTA7YVtiXT1kPDwx
O2k9ZjtyZXR1cm59ZWxzZXthWyhjW2IrOD4+Ml18MCkrZHwwXT0wO2NbYis0Pj4yXT1kO2k9Zjty
ZXR1cm59fWZ1bmN0aW9uIGlnKGIsZCxlKXtiPWJ8MDtkPWR8MDtlPWV8MDt2YXIgZj0wLGc9MCxo
PTAsaj0wLGs9MCxsPTAsbT0wO2Y9aTtpZigoZHwwKT09MCl7aT1mO3JldHVybiBifDB9Zz1hW2Jd
fDA7aWYoKGcmMSk9PTApe2g9MTA7aj1nfWVsc2V7Zz1jW2I+PjJdfDA7aD0oZyYtMikrIC0xfDA7
aj1nJjI1NX1pZigoaiYxKT09MCl7az0oaiYyNTUpPj4+MX1lbHNle2s9Y1tiKzQ+PjJdfDB9aWYo
KGgta3wwKT4+PjA8ZD4+PjApe25nKGIsaCxkLWgra3wwLGssaywwLDApO2w9YVtiXXwwfWVsc2V7
bD1qfWlmKChsJjEpPT0wKXttPWIrMXwwfWVsc2V7bT1jW2IrOD4+Ml18MH1fbyhtK2t8MCxlfDAs
ZHwwKXwwO2U9aytkfDA7aWYoKGFbYl0mMSk9PTApe2FbYl09ZTw8MX1lbHNle2NbYis0Pj4yXT1l
fWFbbStlfDBdPTA7aT1mO3JldHVybiBifDB9ZnVuY3Rpb24gamcoYixkKXtiPWJ8MDtkPWR8MDt2
YXIgZT0wLGY9MCxnPTAsaD0wLGo9MCxrPTAsbD0wLG09MCxuPTAsbz0wLHA9MCxxPTA7ZT1pO2lm
KGQ+Pj4wPjQyOTQ5NjcyNzkpe2FnKDApfWY9YVtiXXwwO2lmKChmJjEpPT0wKXtnPTEwO2g9Zn1l
bHNle2Y9Y1tiPj4yXXwwO2c9KGYmLTIpKyAtMXwwO2g9ZiYyNTV9aWYoKGgmMSk9PTApe2o9KGgm
MjU1KT4+PjF9ZWxzZXtqPWNbYis0Pj4yXXwwfWY9aj4+PjA+ZD4+PjA/ajpkO2lmKGY+Pj4wPDEx
KXtrPTEwfWVsc2V7az0oZisxNiYtMTYpKyAtMXwwfWlmKChrfDApPT0oZ3wwKSl7aT1lO3JldHVy
bn1kb3tpZigoa3wwKSE9MTApe2Y9aysxfDA7aWYoaz4+PjA+Zz4+PjApe2w9QW8oZil8MH1lbHNl
e2w9QW8oZil8MH1pZigoaCYxKT09MCl7bT1sO249MTtvPWIrMXwwO3A9MDticmVha31lbHNle209
bDtuPTE7bz1jW2IrOD4+Ml18MDtwPTE7YnJlYWt9fWVsc2V7bT1iKzF8MDtuPTA7bz1jW2IrOD4+
Ml18MDtwPTF9fXdoaWxlKDApO2lmKChoJjEpPT0wKXtxPShoJjI1NSk+Pj4xfWVsc2V7cT1jW2Ir
ND4+Ml18MH1YbyhtfDAsb3wwLHErMXwwKXwwO2lmKHApe0NvKG8pfWlmKG4pe2NbYj4+Ml09aysx
fDE7Y1tiKzQ+PjJdPWo7Y1tiKzg+PjJdPW07aT1lO3JldHVybn1lbHNle2FbYl09ajw8MTtpPWU7
cmV0dXJufX1mdW5jdGlvbiBrZyhiLGQpe2I9YnwwO2Q9ZHwwO3ZhciBlPTAsZj0wLGc9MCxoPTAs
aj0wLGs9MCxsPTAsbT0wLG49MCxvPTA7ZT1pO2Y9YVtiXXwwO2c9KGYmMSkhPTA7aWYoZyl7aD0o
Y1tiPj4yXSYtMikrIC0xfDA7aj1jW2IrND4+Ml18MH1lbHNle2g9MTA7aj0oZiYyNTUpPj4+MX1p
ZigoanwwKT09KGh8MCkpe25nKGIsaCwxLGgsaCwwLDApO2lmKChhW2JdJjEpPT0wKXtrPTd9ZWxz
ZXtrPTh9fWVsc2V7aWYoZyl7az04fWVsc2V7az03fX1pZigoa3wwKT09Nyl7YVtiXT0oajw8MSkr
MjtsPWIrMXwwO209aisxfDA7bj1sK2p8MDthW25dPWQ7bz1sK218MDthW29dPTA7aT1lO3JldHVy
bn1lbHNlIGlmKChrfDApPT04KXtrPWNbYis4Pj4yXXwwO2c9aisxfDA7Y1tiKzQ+PjJdPWc7bD1r
O209ZztuPWwranwwO2Fbbl09ZDtvPWwrbXwwO2Fbb109MDtpPWU7cmV0dXJufX1mdW5jdGlvbiBs
ZyhiLGQsZSl7Yj1ifDA7ZD1kfDA7ZT1lfDA7dmFyIGY9MCxnPTAsaD0wLGo9MCxrPTAsbD0wO2Y9
aTtnPWFbYl18MDtpZigoZyYxKT09MCl7aD0xMDtqPWd9ZWxzZXtnPWNbYj4+Ml18MDtoPShnJi0y
KSsgLTF8MDtqPWcmMjU1fWlmKChqJjEpPT0wKXtrPShqJjI1NSk+Pj4xfWVsc2V7az1jW2IrND4+
Ml18MH1pZigoaC1rfDApPj4+MDxlPj4+MCl7bWcoYixoLGUtaCtrfDAsayxrLDAsZSxkKTtpPWY7
cmV0dXJuIGJ8MH1pZigoZXwwKT09MCl7aT1mO3JldHVybiBifDB9aWYoKGomMSk9PTApe2w9Yisx
fDB9ZWxzZXtsPWNbYis4Pj4yXXwwfVhvKGwra3wwLGR8MCxlfDApfDA7ZD1rK2V8MDtpZigoYVti
XSYxKT09MCl7YVtiXT1kPDwxfWVsc2V7Y1tiKzQ+PjJdPWR9YVtsK2R8MF09MDtpPWY7cmV0dXJu
IGJ8MH1mdW5jdGlvbiBtZyhiLGQsZSxmLGcsaCxqLGspe2I9YnwwO2Q9ZHwwO2U9ZXwwO2Y9Znww
O2c9Z3wwO2g9aHwwO2o9anwwO2s9a3wwO3ZhciBsPTAsbT0wLG49MCxvPTAscD0wLHE9MCxyPTAs
cz0wLHQ9MCx1PTA7bD1pO2lmKCgtMTgtZHwwKT4+PjA8ZT4+PjApe2FnKDApfWlmKChhW2JdJjEp
PT0wKXttPWIrMXwwfWVsc2V7bT1jW2IrOD4+Ml18MH1pZihkPj4+MDwyMTQ3NDgzNjIzKXtuPWUr
ZHwwO2U9ZDw8MTtvPW4+Pj4wPGU+Pj4wP2U6bjtpZihvPj4+MDwxMSl7cD0xMX1lbHNle3A9bysx
NiYtMTZ9fWVsc2V7cD0tMTd9bz1BbyhwKXwwO2lmKChnfDApIT0wKXtYbyhvfDAsbXwwLGd8MCl8
MH1pZigoanwwKSE9MCl7WG8obytnfDAsa3wwLGp8MCl8MH1rPWYtaHwwO2lmKChrfDApIT0oZ3ww
KSl7WG8obysoaitnKXwwLG0rKGgrZyl8MCxrLWd8MCl8MH1pZigoZHwwKT09MTApe3E9Yis4fDA7
Y1txPj4yXT1vO3I9cHwxO2NbYj4+Ml09cjtzPWsranwwO3Q9Yis0fDA7Y1t0Pj4yXT1zO3U9bytz
fDA7YVt1XT0wO2k9bDtyZXR1cm59Q28obSk7cT1iKzh8MDtjW3E+PjJdPW87cj1wfDE7Y1tiPj4y
XT1yO3M9aytqfDA7dD1iKzR8MDtjW3Q+PjJdPXM7dT1vK3N8MDthW3VdPTA7aT1sO3JldHVybn1m
dW5jdGlvbiBuZyhiLGQsZSxmLGcsaCxqKXtiPWJ8MDtkPWR8MDtlPWV8MDtmPWZ8MDtnPWd8MDto
PWh8MDtqPWp8MDt2YXIgaz0wLGw9MCxtPTAsbj0wLG89MCxwPTAscT0wO2s9aTtpZigoLTE3LWR8
MCk+Pj4wPGU+Pj4wKXthZygwKX1pZigoYVtiXSYxKT09MCl7bD1iKzF8MH1lbHNle2w9Y1tiKzg+
PjJdfDB9aWYoZD4+PjA8MjE0NzQ4MzYyMyl7bT1lK2R8MDtlPWQ8PDE7bj1tPj4+MDxlPj4+MD9l
Om07aWYobj4+PjA8MTEpe289MTF9ZWxzZXtvPW4rMTYmLTE2fX1lbHNle289LTE3fW49QW8obyl8
MDtpZigoZ3wwKSE9MCl7WG8obnwwLGx8MCxnfDApfDB9bT1mLWh8MDtpZigobXwwKSE9KGd8MCkp
e1hvKG4rKGorZyl8MCxsKyhoK2cpfDAsbS1nfDApfDB9aWYoKGR8MCk9PTEwKXtwPWIrOHwwO2Nb
cD4+Ml09bjtxPW98MTtjW2I+PjJdPXE7aT1rO3JldHVybn1DbyhsKTtwPWIrOHwwO2NbcD4+Ml09
bjtxPW98MTtjW2I+PjJdPXE7aT1rO3JldHVybn1mdW5jdGlvbiBvZyhiLGQsZSl7Yj1ifDA7ZD1k
fDA7ZT1lfDA7dmFyIGY9MCxnPTAsaD0wLGo9MDtmPWk7aWYoZT4+PjA+MTA3Mzc0MTgwNyl7YWco
MCl9aWYoZT4+PjA8Mil7YVtiXT1lPDwxO2c9Yis0fDB9ZWxzZXtoPWUrNCYtNDtqPUFvKGg8PDIp
fDA7Y1tiKzg+PjJdPWo7Y1tiPj4yXT1ofDE7Y1tiKzQ+PjJdPWU7Zz1qfVhuKGcsZCxlKXwwO2Nb
ZysoZTw8Mik+PjJdPTA7aT1mO3JldHVybn1mdW5jdGlvbiBwZyhiLGQsZSl7Yj1ifDA7ZD1kfDA7
ZT1lfDA7dmFyIGY9MCxnPTAsaD0wLGo9MDtmPWk7aWYoZD4+PjA+MTA3Mzc0MTgwNyl7YWcoMCl9
aWYoZD4+PjA8Mil7YVtiXT1kPDwxO2c9Yis0fDB9ZWxzZXtoPWQrNCYtNDtqPUFvKGg8PDIpfDA7
Y1tiKzg+PjJdPWo7Y1tiPj4yXT1ofDE7Y1tiKzQ+PjJdPWQ7Zz1qfVpuKGcsZSxkKXwwO2NbZyso
ZDw8Mik+PjJdPTA7aT1mO3JldHVybn1mdW5jdGlvbiBxZyhiKXtiPWJ8MDt2YXIgZD0wO2Q9aTtp
ZigoYVtiXSYxKT09MCl7aT1kO3JldHVybn1DbyhjW2IrOD4+Ml18MCk7aT1kO3JldHVybn1mdW5j
dGlvbiByZyhhLGIpe2E9YXwwO2I9YnwwO3ZhciBjPTAsZD0wO2M9aTtkPXNnKGEsYixXbihiKXww
KXwwO2k9YztyZXR1cm4gZHwwfWZ1bmN0aW9uIHNnKGIsZCxlKXtiPWJ8MDtkPWR8MDtlPWV8MDt2
YXIgZj0wLGc9MCxoPTAsaj0wLGs9MCxsPTA7Zj1pO2c9YVtiXXwwO2lmKChnJjEpPT0wKXtoPTE7
aj1nfWVsc2V7Zz1jW2I+PjJdfDA7aD0oZyYtMikrIC0xfDA7aj1nJjI1NX1nPShqJjEpPT0wO2lm
KGg+Pj4wPGU+Pj4wKXtpZihnKXtrPShqJjI1NSk+Pj4xfWVsc2V7az1jW2IrND4+Ml18MH12Zyhi
LGgsZS1ofDAsaywwLGssZSxkKTtpPWY7cmV0dXJuIGJ8MH1pZihnKXtsPWIrNHwwfWVsc2V7bD1j
W2IrOD4+Ml18MH1ZbihsLGQsZSl8MDtjW2wrKGU8PDIpPj4yXT0wO2lmKChhW2JdJjEpPT0wKXth
W2JdPWU8PDE7aT1mO3JldHVybiBifDB9ZWxzZXtjW2IrND4+Ml09ZTtpPWY7cmV0dXJuIGJ8MH1y
ZXR1cm4gMH1mdW5jdGlvbiB0ZyhiLGQpe2I9YnwwO2Q9ZHwwO3ZhciBlPTAsZj0wLGc9MCxoPTAs
aj0wLGs9MCxsPTAsbT0wLG49MCxvPTAscD0wLHE9MDtlPWk7aWYoZD4+PjA+MTA3Mzc0MTgwNyl7
YWcoMCl9Zj1hW2JdfDA7aWYoKGYmMSk9PTApe2c9MTtoPWZ9ZWxzZXtmPWNbYj4+Ml18MDtnPShm
Ji0yKSsgLTF8MDtoPWYmMjU1fWlmKChoJjEpPT0wKXtqPShoJjI1NSk+Pj4xfWVsc2V7aj1jW2Ir
ND4+Ml18MH1mPWo+Pj4wPmQ+Pj4wP2o6ZDtpZihmPj4+MDwyKXtrPTF9ZWxzZXtrPShmKzQmLTQp
KyAtMXwwfWlmKChrfDApPT0oZ3wwKSl7aT1lO3JldHVybn1kb3tpZigoa3wwKSE9MSl7Zj0oazw8
MikrNHwwO2lmKGs+Pj4wPmc+Pj4wKXtsPUFvKGYpfDB9ZWxzZXtsPUFvKGYpfDB9aWYoKGgmMSk9
PTApe209bDtuPTE7bz1iKzR8MDtwPTA7YnJlYWt9ZWxzZXttPWw7bj0xO289Y1tiKzg+PjJdfDA7
cD0xO2JyZWFrfX1lbHNle209Yis0fDA7bj0wO289Y1tiKzg+PjJdfDA7cD0xfX13aGlsZSgwKTtp
ZigoaCYxKT09MCl7cT0oaCYyNTUpPj4+MX1lbHNle3E9Y1tiKzQ+PjJdfDB9WG4obSxvLHErMXww
KXwwO2lmKHApe0NvKG8pfWlmKG4pe2NbYj4+Ml09aysxfDE7Y1tiKzQ+PjJdPWo7Y1tiKzg+PjJd
PW07aT1lO3JldHVybn1lbHNle2FbYl09ajw8MTtpPWU7cmV0dXJufX1mdW5jdGlvbiB1ZyhiLGQp
e2I9YnwwO2Q9ZHwwO3ZhciBlPTAsZj0wLGc9MCxoPTAsaj0wLGs9MCxsPTAsbT0wLG49MCxvPTA7
ZT1pO2Y9YVtiXXwwO2c9KGYmMSkhPTA7aWYoZyl7aD0oY1tiPj4yXSYtMikrIC0xfDA7aj1jW2Ir
ND4+Ml18MH1lbHNle2g9MTtqPShmJjI1NSk+Pj4xfWlmKChqfDApPT0oaHwwKSl7d2coYixoLDEs
aCxoLDAsMCk7aWYoKGFbYl0mMSk9PTApe2s9N31lbHNle2s9OH19ZWxzZXtpZihnKXtrPTh9ZWxz
ZXtrPTd9fWlmKChrfDApPT03KXthW2JdPShqPDwxKSsyO2w9Yis0fDA7bT1qKzF8MDtuPWwrKGo8
PDIpfDA7Y1tuPj4yXT1kO289bCsobTw8Mil8MDtjW28+PjJdPTA7aT1lO3JldHVybn1lbHNlIGlm
KChrfDApPT04KXtrPWNbYis4Pj4yXXwwO2c9aisxfDA7Y1tiKzQ+PjJdPWc7bD1rO209ZztuPWwr
KGo8PDIpfDA7Y1tuPj4yXT1kO289bCsobTw8Mil8MDtjW28+PjJdPTA7aT1lO3JldHVybn19ZnVu
Y3Rpb24gdmcoYixkLGUsZixnLGgsaixrKXtiPWJ8MDtkPWR8MDtlPWV8MDtmPWZ8MDtnPWd8MDto
PWh8MDtqPWp8MDtrPWt8MDt2YXIgbD0wLG09MCxuPTAsbz0wLHA9MCxxPTAscj0wLHM9MCx0PTAs
dT0wO2w9aTtpZigoMTA3Mzc0MTgwNi1kfDApPj4+MDxlPj4+MCl7YWcoMCl9aWYoKGFbYl0mMSk9
PTApe209Yis0fDB9ZWxzZXttPWNbYis4Pj4yXXwwfWlmKGQ+Pj4wPDUzNjg3MDg4Nyl7bj1lK2R8
MDtlPWQ8PDE7bz1uPj4+MDxlPj4+MD9lOm47aWYobz4+PjA8Mil7cD0yfWVsc2V7cD1vKzQmLTR9
fWVsc2V7cD0xMDczNzQxODA3fW89QW8ocDw8Mil8MDtpZigoZ3wwKSE9MCl7WG4obyxtLGcpfDB9
aWYoKGp8MCkhPTApe1huKG8rKGc8PDIpfDAsayxqKXwwfWs9Zi1ofDA7aWYoKGt8MCkhPShnfDAp
KXtYbihvKyhqK2c8PDIpfDAsbSsoaCtnPDwyKXwwLGstZ3wwKXwwfWlmKChkfDApPT0xKXtxPWIr
OHwwO2NbcT4+Ml09bztyPXB8MTtjW2I+PjJdPXI7cz1rK2p8MDt0PWIrNHwwO2NbdD4+Ml09czt1
PW8rKHM8PDIpfDA7Y1t1Pj4yXT0wO2k9bDtyZXR1cm59Q28obSk7cT1iKzh8MDtjW3E+PjJdPW87
cj1wfDE7Y1tiPj4yXT1yO3M9aytqfDA7dD1iKzR8MDtjW3Q+PjJdPXM7dT1vKyhzPDwyKXwwO2Nb
dT4+Ml09MDtpPWw7cmV0dXJufWZ1bmN0aW9uIHdnKGIsZCxlLGYsZyxoLGope2I9YnwwO2Q9ZHww
O2U9ZXwwO2Y9ZnwwO2c9Z3wwO2g9aHwwO2o9anwwO3ZhciBrPTAsbD0wLG09MCxuPTAsbz0wLHA9
MCxxPTA7az1pO2lmKCgxMDczNzQxODA3LWR8MCk+Pj4wPGU+Pj4wKXthZygwKX1pZigoYVtiXSYx
KT09MCl7bD1iKzR8MH1lbHNle2w9Y1tiKzg+PjJdfDB9aWYoZD4+PjA8NTM2ODcwODg3KXttPWUr
ZHwwO2U9ZDw8MTtuPW0+Pj4wPGU+Pj4wP2U6bTtpZihuPj4+MDwyKXtvPTJ9ZWxzZXtvPW4rNCYt
NH19ZWxzZXtvPTEwNzM3NDE4MDd9bj1BbyhvPDwyKXwwO2lmKChnfDApIT0wKXtYbihuLGwsZyl8
MH1tPWYtaHwwO2lmKChtfDApIT0oZ3wwKSl7WG4obisoaitnPDwyKXwwLGwrKGgrZzw8Mil8MCxt
LWd8MCl8MH1pZigoZHwwKT09MSl7cD1iKzh8MDtjW3A+PjJdPW47cT1vfDE7Y1tiPj4yXT1xO2k9
aztyZXR1cm59Q28obCk7cD1iKzh8MDtjW3A+PjJdPW47cT1vfDE7Y1tiPj4yXT1xO2k9aztyZXR1
cm59ZnVuY3Rpb24geGcoYixkKXtiPWJ8MDtkPWR8MDt2YXIgZT0wLGY9MCxnPTAsaD0wO2U9aTtp
PWkrMTZ8MDtmPWUrOHwwO2c9ZTtoPShjW2IrMjQ+PjJdfDApPT0wO2lmKGgpe2NbYisxNj4+Ml09
ZHwxfWVsc2V7Y1tiKzE2Pj4yXT1kfWlmKCgoaCYxfGQpJmNbYisyMD4+Ml18MCk9PTApe2k9ZTty
ZXR1cm59ZT1EYigxNil8MDtpZigoYVs5NTI4XXwwKT09MD8oSGEoOTUyOCl8MCkhPTA6MCl7Y1sy
MzgwXT0xMDMwNDt0Yyg2Miw5NTIwLHB8MCl8MDtpYig5NTI4KX1iPWc7Y1tiPj4yXT0xO2NbYis0
Pj4yXT05NTIwO2NbZiswPj4yXT1jW2crMD4+Ml07Y1tmKzQ+PjJdPWNbZys0Pj4yXTtZZihlLGYs
OTU3Nik7Y1tlPj4yXT05NTQ0O3BjKGV8MCw5NjI0LDU4KX1mdW5jdGlvbiB5ZyhhKXthPWF8MDt2
YXIgYj0wLGQ9MCxlPTAsZj0wLGc9MDtiPWk7Y1thPj4yXT05NTY4O2Q9Y1thKzQwPj4yXXwwO2U9
YSszMnwwO2Y9YSszNnwwO2lmKChkfDApIT0wKXtnPWQ7ZG97Zz1nKyAtMXwwO0ZjW2NbKGNbZT4+
Ml18MCkrKGc8PDIpPj4yXSYxNV0oMCxhLGNbKGNbZj4+Ml18MCkrKGc8PDIpPj4yXXwwKX13aGls
ZSgoZ3wwKSE9MCl9SWwoYSsyOHwwKTt3byhjW2U+PjJdfDApO3dvKGNbZj4+Ml18MCk7d28oY1th
KzQ4Pj4yXXwwKTt3byhjW2ErNjA+PjJdfDApO2k9YjtyZXR1cm59ZnVuY3Rpb24gemcoYSxiKXth
PWF8MDtiPWJ8MDt2YXIgYz0wO2M9aTtIbChhLGIrMjh8MCk7aT1jO3JldHVybn1mdW5jdGlvbiBB
ZyhhLGIpe2E9YXwwO2I9YnwwO3ZhciBkPTAsZT0wO2Q9aTtjW2ErMjQ+PjJdPWI7Y1thKzE2Pj4y
XT0oYnwwKT09MDtjW2ErMjA+PjJdPTA7Y1thKzQ+PjJdPTQwOTg7Y1thKzEyPj4yXT0wO2NbYSs4
Pj4yXT02O2I9YSsyOHwwO2U9YSszMnwwO2E9ZSs0MHwwO2Rve2NbZT4+Ml09MDtlPWUrNHwwfXdo
aWxlKChlfDApPChhfDApKTtHbChiKTtpPWQ7cmV0dXJufWZ1bmN0aW9uIEJnKGEpe2E9YXwwO3Zh
ciBiPTA7Yj1pO2NbYT4+Ml09OTE4NDtJbChhKzR8MCk7Q28oYSk7aT1iO3JldHVybn1mdW5jdGlv
biBDZyhhKXthPWF8MDt2YXIgYj0wO2I9aTtjW2E+PjJdPTkxODQ7SWwoYSs0fDApO2k9YjtyZXR1
cm59ZnVuY3Rpb24gRGcoYSxiKXthPWF8MDtiPWJ8MDtyZXR1cm59ZnVuY3Rpb24gRWcoYSxiLGMp
e2E9YXwwO2I9YnwwO2M9Y3wwO3JldHVybiBhfDB9ZnVuY3Rpb24gRmcoYSxiLGQsZSxmLGcpe2E9
YXwwO2I9YnwwO2Q9ZHwwO2U9ZXwwO2Y9ZnwwO2c9Z3wwO2c9YTtjW2c+PjJdPTA7Y1tnKzQ+PjJd
PTA7Zz1hKzh8MDtjW2c+PjJdPS0xO2NbZys0Pj4yXT0tMTtyZXR1cm59ZnVuY3Rpb24gR2coYSxi
LGQsZSl7YT1hfDA7Yj1ifDA7ZD1kfDA7ZT1lfDA7ZT1hO2NbZT4+Ml09MDtjW2UrND4+Ml09MDtl
PWErOHwwO2NbZT4+Ml09LTE7Y1tlKzQ+PjJdPS0xO3JldHVybn1mdW5jdGlvbiBIZyhhKXthPWF8
MDtyZXR1cm4gMH1mdW5jdGlvbiBJZyhhKXthPWF8MDtyZXR1cm4gMH1mdW5jdGlvbiBKZyhiLGQs
ZSl7Yj1ifDA7ZD1kfDA7ZT1lfDA7dmFyIGY9MCxnPTAsaD0wLGo9MCxrPTAsbD0wLG09MCxuPTA7
Zj1pO2lmKChlfDApPD0wKXtnPTA7aT1mO3JldHVybiBnfDB9aD1iKzEyfDA7aj1iKzE2fDA7az1k
O2Q9MDt3aGlsZSgxKXtsPWNbaD4+Ml18MDtpZihsPj4+MDwoY1tqPj4yXXwwKT4+PjApe2NbaD4+
Ml09bCsxO209YVtsXXwwfWVsc2V7bD1EY1tjWyhjW2I+PjJdfDApKzQwPj4yXSYxMjddKGIpfDA7
aWYoKGx8MCk9PS0xKXtnPWQ7bj04O2JyZWFrfW09bCYyNTV9YVtrXT1tO2w9ZCsxfDA7aWYoKGx8
MCk8KGV8MCkpe2s9aysxfDA7ZD1sfWVsc2V7Zz1sO249ODticmVha319aWYoKG58MCk9PTgpe2k9
ZjtyZXR1cm4gZ3wwfXJldHVybiAwfWZ1bmN0aW9uIEtnKGEpe2E9YXwwO3JldHVybi0xfWZ1bmN0
aW9uIExnKGEpe2E9YXwwO3ZhciBiPTAsZT0wLGY9MDtiPWk7aWYoKERjW2NbKGNbYT4+Ml18MCkr
MzY+PjJdJjEyN10oYSl8MCk9PS0xKXtlPS0xO2k9YjtyZXR1cm4gZXwwfWY9YSsxMnwwO2E9Y1tm
Pj4yXXwwO2NbZj4+Ml09YSsxO2U9ZFthXXwwO2k9YjtyZXR1cm4gZXwwfWZ1bmN0aW9uIE1nKGEs
Yil7YT1hfDA7Yj1ifDA7cmV0dXJuLTF9ZnVuY3Rpb24gTmcoYixlLGYpe2I9YnwwO2U9ZXwwO2Y9
ZnwwO3ZhciBnPTAsaD0wLGo9MCxrPTAsbD0wLG09MCxuPTAsbz0wO2c9aTtpZigoZnwwKTw9MCl7
aD0wO2k9ZztyZXR1cm4gaHwwfWo9YisyNHwwO2s9YisyOHwwO2w9ZTtlPTA7d2hpbGUoMSl7bT1j
W2o+PjJdfDA7aWYoIShtPj4+MDwoY1trPj4yXXwwKT4+PjApKXtpZigoTWNbY1soY1tiPj4yXXww
KSs1Mj4+Ml0mMzFdKGIsZFtsXXwwKXwwKT09LTEpe2g9ZTtuPTc7YnJlYWt9fWVsc2V7bz1hW2xd
fDA7Y1tqPj4yXT1tKzE7YVttXT1vfW89ZSsxfDA7aWYoKG98MCk8KGZ8MCkpe2w9bCsxfDA7ZT1v
fWVsc2V7aD1vO249NzticmVha319aWYoKG58MCk9PTcpe2k9ZztyZXR1cm4gaHwwfXJldHVybiAw
fWZ1bmN0aW9uIE9nKGEsYil7YT1hfDA7Yj1ifDA7cmV0dXJuLTF9ZnVuY3Rpb24gUGcoYSl7YT1h
fDA7dmFyIGI9MDtiPWk7Y1thPj4yXT05MjQ4O0lsKGErNHwwKTtDbyhhKTtpPWI7cmV0dXJufWZ1
bmN0aW9uIFFnKGEpe2E9YXwwO3ZhciBiPTA7Yj1pO2NbYT4+Ml09OTI0ODtJbChhKzR8MCk7aT1i
O3JldHVybn1mdW5jdGlvbiBSZyhhLGIpe2E9YXwwO2I9YnwwO3JldHVybn1mdW5jdGlvbiBTZyhh
LGIsYyl7YT1hfDA7Yj1ifDA7Yz1jfDA7cmV0dXJuIGF8MH1mdW5jdGlvbiBUZyhhLGIsZCxlLGYs
Zyl7YT1hfDA7Yj1ifDA7ZD1kfDA7ZT1lfDA7Zj1mfDA7Zz1nfDA7Zz1hO2NbZz4+Ml09MDtjW2cr
ND4+Ml09MDtnPWErOHwwO2NbZz4+Ml09LTE7Y1tnKzQ+PjJdPS0xO3JldHVybn1mdW5jdGlvbiBV
ZyhhLGIsZCxlKXthPWF8MDtiPWJ8MDtkPWR8MDtlPWV8MDtlPWE7Y1tlPj4yXT0wO2NbZSs0Pj4y
XT0wO2U9YSs4fDA7Y1tlPj4yXT0tMTtjW2UrND4+Ml09LTE7cmV0dXJufWZ1bmN0aW9uIFZnKGEp
e2E9YXwwO3JldHVybiAwfWZ1bmN0aW9uIFdnKGEpe2E9YXwwO3JldHVybiAwfWZ1bmN0aW9uIFhn
KGEsYixkKXthPWF8MDtiPWJ8MDtkPWR8MDt2YXIgZT0wLGY9MCxnPTAsaD0wLGo9MCxrPTAsbD0w
LG09MCxuPTA7ZT1pO2lmKChkfDApPD0wKXtmPTA7aT1lO3JldHVybiBmfDB9Zz1hKzEyfDA7aD1h
KzE2fDA7aj1iO2I9MDt3aGlsZSgxKXtrPWNbZz4+Ml18MDtpZighKGs+Pj4wPChjW2g+PjJdfDAp
Pj4+MCkpe2w9RGNbY1soY1thPj4yXXwwKSs0MD4+Ml0mMTI3XShhKXwwO2lmKChsfDApPT0tMSl7
Zj1iO209ODticmVha31lbHNle249bH19ZWxzZXtjW2c+PjJdPWsrNDtuPWNbaz4+Ml18MH1jW2o+
PjJdPW47az1iKzF8MDtpZigoa3wwKT49KGR8MCkpe2Y9azttPTg7YnJlYWt9aj1qKzR8MDtiPWt9
aWYoKG18MCk9PTgpe2k9ZTtyZXR1cm4gZnwwfXJldHVybiAwfWZ1bmN0aW9uIFlnKGEpe2E9YXww
O3JldHVybi0xfWZ1bmN0aW9uIFpnKGEpe2E9YXwwO3ZhciBiPTAsZD0wLGU9MDtiPWk7aWYoKERj
W2NbKGNbYT4+Ml18MCkrMzY+PjJdJjEyN10oYSl8MCk9PS0xKXtkPS0xO2k9YjtyZXR1cm4gZHww
fWU9YSsxMnwwO2E9Y1tlPj4yXXwwO2NbZT4+Ml09YSs0O2Q9Y1thPj4yXXwwO2k9YjtyZXR1cm4g
ZHwwfWZ1bmN0aW9uIF9nKGEsYil7YT1hfDA7Yj1ifDA7cmV0dXJuLTF9ZnVuY3Rpb24gJGcoYSxi
LGQpe2E9YXwwO2I9YnwwO2Q9ZHwwO3ZhciBlPTAsZj0wLGc9MCxoPTAsaj0wLGs9MCxsPTAsbT0w
O2U9aTtpZigoZHwwKTw9MCl7Zj0wO2k9ZTtyZXR1cm4gZnwwfWc9YSsyNHwwO2g9YSsyOHwwO2o9
YjtiPTA7d2hpbGUoMSl7az1jW2c+PjJdfDA7aWYoIShrPj4+MDwoY1toPj4yXXwwKT4+PjApKXtp
ZigoTWNbY1soY1thPj4yXXwwKSs1Mj4+Ml0mMzFdKGEsY1tqPj4yXXwwKXwwKT09LTEpe2Y9Yjts
PTg7YnJlYWt9fWVsc2V7bT1jW2o+PjJdfDA7Y1tnPj4yXT1rKzQ7Y1trPj4yXT1tfW09YisxfDA7
aWYoKG18MCk+PShkfDApKXtmPW07bD04O2JyZWFrfWo9ais0fDA7Yj1tfWlmKChsfDApPT04KXtp
PWU7cmV0dXJuIGZ8MH1yZXR1cm4gMH1mdW5jdGlvbiBhaChhLGIpe2E9YXwwO2I9YnwwO3JldHVy
bi0xfWZ1bmN0aW9uIGJoKGEpe2E9YXwwO3ZhciBiPTA7Yj1pO3lnKGErOHwwKTtDbyhhKTtpPWI7
cmV0dXJufWZ1bmN0aW9uIGNoKGEpe2E9YXwwO3ZhciBiPTA7Yj1pO3lnKGErOHwwKTtpPWI7cmV0
dXJufWZ1bmN0aW9uIGRoKGEpe2E9YXwwO3ZhciBiPTAsZD0wO2I9aTtkPWNbKGNbYT4+Ml18MCkr
IC0xMj4+Ml18MDt5ZyhhKyhkKzgpfDApO0NvKGErZHwwKTtpPWI7cmV0dXJufWZ1bmN0aW9uIGVo
KGEpe2E9YXwwO3ZhciBiPTA7Yj1pO3lnKGErKChjWyhjW2E+PjJdfDApKyAtMTI+PjJdfDApKzgp
fDApO2k9YjtyZXR1cm59ZnVuY3Rpb24gZmgoYil7Yj1ifDA7dmFyIGQ9MCxlPTAsZj0wLGc9MCxo
PTA7ZD1pO2k9aSsxNnwwO2U9ZDtmPWNbKGNbYj4+Ml18MCkrIC0xMj4+Ml18MDtpZigoY1tiKyhm
KzI0KT4+Ml18MCk9PTApe2k9ZDtyZXR1cm4gYnwwfWFbZV09MDtjW2UrND4+Ml09YjtpZigoY1ti
KyhmKzE2KT4+Ml18MCk9PTApe2c9Y1tiKyhmKzcyKT4+Ml18MDtpZigoZ3wwKT09MCl7aD1mfWVs
c2V7ZmgoZyl8MDtoPWNbKGNbYj4+Ml18MCkrIC0xMj4+Ml18MH1hW2VdPTE7Zz1jW2IrKGgrMjQp
Pj4yXXwwO2lmKChEY1tjWyhjW2c+PjJdfDApKzI0Pj4yXSYxMjddKGcpfDApPT0tMSl7Zz1jWyhj
W2I+PjJdfDApKyAtMTI+PjJdfDA7eGcoYitnfDAsY1tiKyhnKzE2KT4+Ml18MSl9fXFoKGUpO2k9
ZDtyZXR1cm4gYnwwfWZ1bmN0aW9uIGdoKGEpe2E9YXwwO3ZhciBiPTA7Yj1hKzE2fDA7Y1tiPj4y
XT1jW2I+PjJdfDE7aWYoKGNbYSsyMD4+Ml0mMXwwKT09MCl7cmV0dXJufWVsc2V7YWIoKX19ZnVu
Y3Rpb24gaGgoYSl7YT1hfDA7dmFyIGI9MDtiPWk7eWcoYSs4fDApO0NvKGEpO2k9YjtyZXR1cm59
ZnVuY3Rpb24gaWgoYSl7YT1hfDA7dmFyIGI9MDtiPWk7eWcoYSs4fDApO2k9YjtyZXR1cm59ZnVu
Y3Rpb24gamgoYSl7YT1hfDA7dmFyIGI9MCxkPTA7Yj1pO2Q9Y1soY1thPj4yXXwwKSsgLTEyPj4y
XXwwO3lnKGErKGQrOCl8MCk7Q28oYStkfDApO2k9YjtyZXR1cm59ZnVuY3Rpb24ga2goYSl7YT1h
fDA7dmFyIGI9MDtiPWk7eWcoYSsoKGNbKGNbYT4+Ml18MCkrIC0xMj4+Ml18MCkrOCl8MCk7aT1i
O3JldHVybn1mdW5jdGlvbiBsaChiKXtiPWJ8MDt2YXIgZD0wLGU9MCxmPTAsZz0wLGg9MDtkPWk7
aT1pKzE2fDA7ZT1kO2Y9Y1soY1tiPj4yXXwwKSsgLTEyPj4yXXwwO2lmKChjW2IrKGYrMjQpPj4y
XXwwKT09MCl7aT1kO3JldHVybiBifDB9YVtlXT0wO2NbZSs0Pj4yXT1iO2lmKChjW2IrKGYrMTYp
Pj4yXXwwKT09MCl7Zz1jW2IrKGYrNzIpPj4yXXwwO2lmKChnfDApPT0wKXtoPWZ9ZWxzZXtsaChn
KXwwO2g9Y1soY1tiPj4yXXwwKSsgLTEyPj4yXXwwfWFbZV09MTtnPWNbYisoaCsyNCk+PjJdfDA7
aWYoKERjW2NbKGNbZz4+Ml18MCkrMjQ+PjJdJjEyN10oZyl8MCk9PS0xKXtnPWNbKGNbYj4+Ml18
MCkrIC0xMj4+Ml18MDt4ZyhiK2d8MCxjW2IrKGcrMTYpPj4yXXwxKX19eWgoZSk7aT1kO3JldHVy
biBifDB9ZnVuY3Rpb24gbWgoYSl7YT1hfDA7dmFyIGI9MDtiPWk7eWcoYSs0fDApO0NvKGEpO2k9
YjtyZXR1cm59ZnVuY3Rpb24gbmgoYSl7YT1hfDA7dmFyIGI9MDtiPWk7eWcoYSs0fDApO2k9Yjty
ZXR1cm59ZnVuY3Rpb24gb2goYSl7YT1hfDA7dmFyIGI9MCxkPTA7Yj1pO2Q9Y1soY1thPj4yXXww
KSsgLTEyPj4yXXwwO3lnKGErKGQrNCl8MCk7Q28oYStkfDApO2k9YjtyZXR1cm59ZnVuY3Rpb24g
cGgoYSl7YT1hfDA7dmFyIGI9MDtiPWk7eWcoYSsoKGNbKGNbYT4+Ml18MCkrIC0xMj4+Ml18MCkr
NCl8MCk7aT1iO3JldHVybn1mdW5jdGlvbiBxaChhKXthPWF8MDt2YXIgYj0wLGQ9MCxlPTA7Yj1p
O2Q9YSs0fDA7YT1jW2Q+PjJdfDA7ZT1jWyhjW2E+PjJdfDApKyAtMTI+PjJdfDA7aWYoKGNbYSso
ZSsyNCk+PjJdfDApPT0wKXtpPWI7cmV0dXJufWlmKChjW2ErKGUrMTYpPj4yXXwwKSE9MCl7aT1i
O3JldHVybn1pZigoY1thKyhlKzQpPj4yXSY4MTkyfDApPT0wKXtpPWI7cmV0dXJufWlmKEphKCl8
MCl7aT1iO3JldHVybn1lPWNbZD4+Ml18MDthPWNbZSsoKGNbKGNbZT4+Ml18MCkrIC0xMj4+Ml18
MCkrMjQpPj4yXXwwO2lmKCEoKERjW2NbKGNbYT4+Ml18MCkrMjQ+PjJdJjEyN10oYSl8MCk9PS0x
KSl7aT1iO3JldHVybn1hPWNbZD4+Ml18MDtkPWNbKGNbYT4+Ml18MCkrIC0xMj4+Ml18MDt4Zyhh
K2R8MCxjW2ErKGQrMTYpPj4yXXwxKTtpPWI7cmV0dXJufWZ1bmN0aW9uIHJoKGIsZCl7Yj1ifDA7
ZD1kfDA7dmFyIGU9MCxmPTAsZz0wLGg9MCxqPTAsaz0wLGw9MCxtPTAsbj0wLG89MCxwPTAscT0w
LHI9MDtlPWk7aT1pKzMyfDA7Zj1lKzIwfDA7Zz1lKzE2fDA7aD1lKzh8MDtqPWUrNHwwO2s9ZTth
W2hdPTA7Y1toKzQ+PjJdPWI7bD1jWyhjW2I+PjJdfDApKyAtMTI+PjJdfDA7aWYoKGNbYisobCsx
Nik+PjJdfDApIT0wKXtxaChoKTtpPWU7cmV0dXJuIGJ8MH1tPWNbYisobCs3Mik+PjJdfDA7aWYo
KG18MCk9PTApe249bH1lbHNle2ZoKG0pfDA7bj1jWyhjW2I+PjJdfDApKyAtMTI+PjJdfDB9YVto
XT0xO0hsKGosYisobisyOCl8MCk7bj1KbChqLDEwNzEyKXwwO0lsKGopO2o9Y1soY1tiPj4yXXww
KSsgLTEyPj4yXXwwO209Y1tiKyhqKzI0KT4+Ml18MDtsPWIranwwO289Yisoais3Nil8MDtwPWNb
bz4+Ml18MDtpZigocHwwKT09LTEpe0hsKGYsYisoaisyOCl8MCk7aj1KbChmLDExOTkyKXwwO3E9
TWNbY1soY1tqPj4yXXwwKSsyOD4+Ml0mMzFdKGosMzIpfDA7SWwoZik7aj1xPDwyND4+MjQ7Y1tv
Pj4yXT1qO3I9an1lbHNle3I9cH1wPXImMjU1O3I9Y1soY1tuPj4yXXwwKSsxNj4+Ml18MDtjW2c+
PjJdPW07Y1tmKzA+PjJdPWNbZyswPj4yXTt3Y1tyJjMxXShrLG4sZixsLHAsZCk7aWYoKGNbaz4+
Ml18MCkhPTApe3FoKGgpO2k9ZTtyZXR1cm4gYnwwfWs9Y1soY1tiPj4yXXwwKSsgLTEyPj4yXXww
O3hnKGIra3wwLGNbYisoaysxNik+PjJdfDUpO3FoKGgpO2k9ZTtyZXR1cm4gYnwwfWZ1bmN0aW9u
IHNoKGIsZCl7Yj1ifDA7ZD0rZDt2YXIgZT0wLGY9MCxnPTAsaD0wLGo9MCxrPTAsbD0wLG09MCxu
PTAsbz0wLHA9MCxxPTAscj0wLHM9MC4wO2U9aTtpPWkrMzJ8MDtmPWUrMjB8MDtnPWUrMTZ8MDto
PWUrOHwwO2o9ZSs0fDA7az1lO2FbaF09MDtjW2grND4+Ml09YjtsPWNbKGNbYj4+Ml18MCkrIC0x
Mj4+Ml18MDtpZigoY1tiKyhsKzE2KT4+Ml18MCkhPTApe3FoKGgpO2k9ZTtyZXR1cm4gYnwwfW09
Y1tiKyhsKzcyKT4+Ml18MDtpZigobXwwKT09MCl7bj1sfWVsc2V7ZmgobSl8MDtuPWNbKGNbYj4+
Ml18MCkrIC0xMj4+Ml18MH1hW2hdPTE7SGwoaixiKyhuKzI4KXwwKTtuPUpsKGosMTA3MTIpfDA7
SWwoaik7aj1jWyhjW2I+PjJdfDApKyAtMTI+PjJdfDA7bT1jW2IrKGorMjQpPj4yXXwwO2w9Yitq
fDA7bz1iKyhqKzc2KXwwO3A9Y1tvPj4yXXwwO2lmKChwfDApPT0tMSl7SGwoZixiKyhqKzI4KXww
KTtqPUpsKGYsMTE5OTIpfDA7cT1NY1tjWyhjW2o+PjJdfDApKzI4Pj4yXSYzMV0oaiwzMil8MDtJ
bChmKTtqPXE8PDI0Pj4yNDtjW28+PjJdPWo7cj1qfWVsc2V7cj1wfXA9ciYyNTU7cz1kO3I9Y1so
Y1tuPj4yXXwwKSszMj4+Ml18MDtjW2c+PjJdPW07Y1tmKzA+PjJdPWNbZyswPj4yXTtHY1tyJjdd
KGssbixmLGwscCxzKTtpZigoY1trPj4yXXwwKSE9MCl7cWgoaCk7aT1lO3JldHVybiBifDB9az1j
WyhjW2I+PjJdfDApKyAtMTI+PjJdfDA7eGcoYitrfDAsY1tiKyhrKzE2KT4+Ml18NSk7cWgoaCk7
aT1lO3JldHVybiBifDB9ZnVuY3Rpb24gdGgoYixkKXtiPWJ8MDtkPWR8MDt2YXIgZT0wLGY9MCxn
PTAsaD0wLGo9MCxrPTAsbD0wLG09MCxuPTAsbz0wO2U9aTtpPWkrMTZ8MDtmPWU7YVtmXT0wO2Nb
Zis0Pj4yXT1iO2c9Y1tiPj4yXXwwO2g9Y1tnKyAtMTI+PjJdfDA7ZG97aWYoKGNbYisoaCsxNik+
PjJdfDApPT0wKXtqPWNbYisoaCs3Mik+PjJdfDA7aWYoKGp8MCk9PTApe2s9ZztsPWh9ZWxzZXtm
aChqKXwwO2o9Y1tiPj4yXXwwO2s9ajtsPWNbaisgLTEyPj4yXXwwfWFbZl09MTtqPWNbYisobCsy
NCk+PjJdfDA7aWYoKGp8MCk9PTApe209a31lbHNle249aisyNHwwO289Y1tuPj4yXXwwO2lmKChv
fDApIT0oY1tqKzI4Pj4yXXwwKSl7Y1tuPj4yXT1vKzE7YVtvXT1kO2JyZWFrfWlmKCEoKE1jW2Nb
KGNbaj4+Ml18MCkrNTI+PjJdJjMxXShqLGQmMjU1KXwwKT09LTEpKXticmVha31tPWNbYj4+Ml18
MH1qPWNbbSsgLTEyPj4yXXwwO3hnKGIranwwLGNbYisoaisxNik+PjJdfDEpfX13aGlsZSgwKTtx
aChmKTtpPWU7cmV0dXJuIGJ8MH1mdW5jdGlvbiB1aChhKXthPWF8MDt2YXIgYj0wO2I9aTt5Zyhh
KzR8MCk7Q28oYSk7aT1iO3JldHVybn1mdW5jdGlvbiB2aChhKXthPWF8MDt2YXIgYj0wO2I9aTt5
ZyhhKzR8MCk7aT1iO3JldHVybn1mdW5jdGlvbiB3aChhKXthPWF8MDt2YXIgYj0wLGQ9MDtiPWk7
ZD1jWyhjW2E+PjJdfDApKyAtMTI+PjJdfDA7eWcoYSsoZCs0KXwwKTtDbyhhK2R8MCk7aT1iO3Jl
dHVybn1mdW5jdGlvbiB4aChhKXthPWF8MDt2YXIgYj0wO2I9aTt5ZyhhKygoY1soY1thPj4yXXww
KSsgLTEyPj4yXXwwKSs0KXwwKTtpPWI7cmV0dXJufWZ1bmN0aW9uIHloKGEpe2E9YXwwO3ZhciBi
PTAsZD0wLGU9MDtiPWk7ZD1hKzR8MDthPWNbZD4+Ml18MDtlPWNbKGNbYT4+Ml18MCkrIC0xMj4+
Ml18MDtpZigoY1thKyhlKzI0KT4+Ml18MCk9PTApe2k9YjtyZXR1cm59aWYoKGNbYSsoZSsxNik+
PjJdfDApIT0wKXtpPWI7cmV0dXJufWlmKChjW2ErKGUrNCk+PjJdJjgxOTJ8MCk9PTApe2k9Yjty
ZXR1cm59aWYoSmEoKXwwKXtpPWI7cmV0dXJufWU9Y1tkPj4yXXwwO2E9Y1tlKygoY1soY1tlPj4y
XXwwKSsgLTEyPj4yXXwwKSsyNCk+PjJdfDA7aWYoISgoRGNbY1soY1thPj4yXXwwKSsyND4+Ml0m
MTI3XShhKXwwKT09LTEpKXtpPWI7cmV0dXJufWE9Y1tkPj4yXXwwO2Q9Y1soY1thPj4yXXwwKSsg
LTEyPj4yXXwwO3hnKGErZHwwLGNbYSsoZCsxNik+PjJdfDEpO2k9YjtyZXR1cm59ZnVuY3Rpb24g
emgoYSl7YT1hfDA7cmV0dXJuIDk0NjR9ZnVuY3Rpb24gQWgoYSxiLGMpe2E9YXwwO2I9YnwwO2M9
Y3wwO3ZhciBkPTA7ZD1pO2lmKChjfDApPT0xKXtjZyhhLDk0ODAsMzUpO2k9ZDtyZXR1cm59ZWxz
ZXtXZihhLGIsYyk7aT1kO3JldHVybn19ZnVuY3Rpb24gQmgoYSl7YT1hfDA7cmV0dXJufWZ1bmN0
aW9uIENoKGEpe2E9YXwwO3ZhciBiPTA7Yj1pO19mKGEpO0NvKGEpO2k9YjtyZXR1cm59ZnVuY3Rp
b24gRGgoYSl7YT1hfDA7dmFyIGI9MDtiPWk7X2YoYSk7aT1iO3JldHVybn1mdW5jdGlvbiBFaChh
KXthPWF8MDt2YXIgYj0wO2I9aTt5ZyhhKTtDbyhhKTtpPWI7cmV0dXJufWZ1bmN0aW9uIEZoKGEp
e2E9YXwwO3ZhciBiPTA7Yj1pO0NvKGEpO2k9YjtyZXR1cm59ZnVuY3Rpb24gR2goYSl7YT1hfDA7
dmFyIGI9MDtiPWk7Q28oYSk7aT1iO3JldHVybn1mdW5jdGlvbiBIaChhKXthPWF8MDtyZXR1cm59
ZnVuY3Rpb24gSWgoYSl7YT1hfDA7cmV0dXJufWZ1bmN0aW9uIEpoKGIsYyxkLGUsZil7Yj1ifDA7
Yz1jfDA7ZD1kfDA7ZT1lfDA7Zj1mfDA7dmFyIGc9MCxoPTAsaj0wLGs9MCxsPTAsbT0wLG49MDti
PWk7YTpkb3tpZigoZXwwKT09KGZ8MCkpe2c9YztoPTZ9ZWxzZXtqPWU7az1jO3doaWxlKDEpe2lm
KChrfDApPT0oZHwwKSl7bD0tMTticmVhayBhfW09YVtrXXwwO249YVtqXXwwO2lmKG08PDI0Pj4y
NDxuPDwyND4+MjQpe2w9LTE7YnJlYWsgYX1pZihuPDwyND4+MjQ8bTw8MjQ+PjI0KXtsPTE7YnJl
YWsgYX1tPWsrMXwwO249aisxfDA7aWYoKG58MCk9PShmfDApKXtnPW07aD02O2JyZWFrfWVsc2V7
aj1uO2s9bX19fX13aGlsZSgwKTtpZigoaHwwKT09Nil7bD0oZ3wwKSE9KGR8MCl8MH1pPWI7cmV0
dXJuIGx8MH1mdW5jdGlvbiBLaChiLGQsZSxmKXtiPWJ8MDtkPWR8MDtlPWV8MDtmPWZ8MDt2YXIg
Zz0wLGg9MCxqPTAsaz0wLGw9MCxtPTAsbj0wLG89MDtkPWk7Zz1lO2g9Zi1nfDA7aWYoaD4+PjA+
NDI5NDk2NzI3OSl7YWcoYil9aWYoaD4+PjA8MTEpe2FbYl09aDw8MTtqPWIrMXwwfWVsc2V7az1o
KzE2Ji0xNjtsPUFvKGspfDA7Y1tiKzg+PjJdPWw7Y1tiPj4yXT1rfDE7Y1tiKzQ+PjJdPWg7aj1s
fWlmKChlfDApPT0oZnwwKSl7bT1qO2FbbV09MDtpPWQ7cmV0dXJufWVsc2V7bj1lO289an13aGls
ZSgxKXthW29dPWFbbl18MDtuPW4rMXwwO2lmKChufDApPT0oZnwwKSl7YnJlYWt9ZWxzZXtvPW8r
MXwwfX1tPWorKGYrKDAtZykpfDA7YVttXT0wO2k9ZDtyZXR1cm59ZnVuY3Rpb24gTGgoYixjLGQp
e2I9YnwwO2M9Y3wwO2Q9ZHwwO3ZhciBlPTAsZj0wLGc9MCxoPTAsaj0wO2I9aTtpZigoY3wwKT09
KGR8MCkpe2U9MDtpPWI7cmV0dXJuIGV8MH1lbHNle2Y9MDtnPWN9d2hpbGUoMSl7Yz0oYVtnXXww
KSsoZjw8NCl8MDtoPWMmLTI2ODQzNTQ1NjtqPShoPj4+MjR8aCleYztjPWcrMXwwO2lmKChjfDAp
PT0oZHwwKSl7ZT1qO2JyZWFrfWVsc2V7Zj1qO2c9Y319aT1iO3JldHVybiBlfDB9ZnVuY3Rpb24g
TWgoYSl7YT1hfDA7dmFyIGI9MDtiPWk7Q28oYSk7aT1iO3JldHVybn1mdW5jdGlvbiBOaChhKXth
PWF8MDtyZXR1cm59ZnVuY3Rpb24gT2goYSxiLGQsZSxmKXthPWF8MDtiPWJ8MDtkPWR8MDtlPWV8
MDtmPWZ8MDt2YXIgZz0wLGg9MCxqPTAsaz0wLGw9MCxtPTAsbj0wO2E9aTthOmRve2lmKChlfDAp
PT0oZnwwKSl7Zz1iO2g9Nn1lbHNle2o9ZTtrPWI7d2hpbGUoMSl7aWYoKGt8MCk9PShkfDApKXts
PS0xO2JyZWFrIGF9bT1jW2s+PjJdfDA7bj1jW2o+PjJdfDA7aWYoKG18MCk8KG58MCkpe2w9LTE7
YnJlYWsgYX1pZigobnwwKTwobXwwKSl7bD0xO2JyZWFrIGF9bT1rKzR8MDtuPWorNHwwO2lmKChu
fDApPT0oZnwwKSl7Zz1tO2g9NjticmVha31lbHNle2o9bjtrPW19fX19d2hpbGUoMCk7aWYoKGh8
MCk9PTYpe2w9KGd8MCkhPShkfDApfDB9aT1hO3JldHVybiBsfDB9ZnVuY3Rpb24gUGgoYixkLGUs
Zil7Yj1ifDA7ZD1kfDA7ZT1lfDA7Zj1mfDA7dmFyIGc9MCxoPTAsaj0wLGs9MCxsPTAsbT0wO2Q9
aTtnPWU7aD1mLWd8MDtqPWg+PjI7aWYoaj4+PjA+MTA3Mzc0MTgwNyl7YWcoYil9aWYoaj4+PjA8
Mil7YVtiXT1oPj4+MTtrPWIrNHwwfWVsc2V7aD1qKzQmLTQ7bD1BbyhoPDwyKXwwO2NbYis4Pj4y
XT1sO2NbYj4+Ml09aHwxO2NbYis0Pj4yXT1qO2s9bH1pZigoZXwwKT09KGZ8MCkpe209aztjW20+
PjJdPTA7aT1kO3JldHVybn1sPWYrIC00KygwLWcpfDA7Zz1lO2U9azt3aGlsZSgxKXtjW2U+PjJd
PWNbZz4+Ml07Zz1nKzR8MDtpZigoZ3wwKT09KGZ8MCkpe2JyZWFrfWVsc2V7ZT1lKzR8MH19bT1r
KygobD4+PjIpKzE8PDIpfDA7Y1ttPj4yXT0wO2k9ZDtyZXR1cm59ZnVuY3Rpb24gUWgoYSxiLGQp
e2E9YXwwO2I9YnwwO2Q9ZHwwO3ZhciBlPTAsZj0wLGc9MCxoPTAsaj0wO2E9aTtpZigoYnwwKT09
KGR8MCkpe2U9MDtpPWE7cmV0dXJuIGV8MH1lbHNle2Y9MDtnPWJ9d2hpbGUoMSl7Yj0oY1tnPj4y
XXwwKSsoZjw8NCl8MDtoPWImLTI2ODQzNTQ1NjtqPShoPj4+MjR8aCleYjtiPWcrNHwwO2lmKChi
fDApPT0oZHwwKSl7ZT1qO2JyZWFrfWVsc2V7Zj1qO2c9Yn19aT1hO3JldHVybiBlfDB9ZnVuY3Rp
b24gUmgoYSl7YT1hfDA7dmFyIGI9MDtiPWk7Q28oYSk7aT1iO3JldHVybn1mdW5jdGlvbiBTaChh
KXthPWF8MDtyZXR1cm59ZnVuY3Rpb24gVGgoYixkLGUsZixnLGgsail7Yj1ifDA7ZD1kfDA7ZT1l
fDA7Zj1mfDA7Zz1nfDA7aD1ofDA7aj1qfDA7dmFyIGs9MCxsPTAsbT0wLG49MCxvPTAscD0wLHE9
MCxyPTAscz0wLHQ9MCx1PTAsdj0wLHc9MCx4PTA7az1pO2k9aSs4MHwwO2w9azttPWsrMjR8MDtu
PWsrMjh8MDtvPWsrMzJ8MDtwPWsrMTZ8MDtxPWsrMTJ8MDtyPWsrMjB8MDtzPWsrMzZ8MDt0PWsr
NDB8MDt1PWsrNjR8MDtpZigoY1tnKzQ+PjJdJjF8MCk9PTApe2Nbbj4+Ml09LTE7dj1jWyhjW2Q+
PjJdfDApKzE2Pj4yXXwwO2NbcD4+Ml09Y1tlPj4yXTtjW3E+PjJdPWNbZj4+Ml07Y1ttKzA+PjJd
PWNbcCswPj4yXTtjW2wrMD4+Ml09Y1txKzA+PjJdO3ljW3YmNjNdKG8sZCxtLGwsZyxoLG4pO209
Y1tvPj4yXXwwO2NbZT4+Ml09bTtvPWNbbj4+Ml18MDtpZigob3wwKT09MCl7YVtqXT0wfWVsc2Ug
aWYoKG98MCk9PTEpe2Fbal09MX1lbHNle2Fbal09MTtjW2g+PjJdPTR9Y1tiPj4yXT1tO2k9azty
ZXR1cm59emcocixnKTttPWNbcj4+Ml18MDtpZighKChjWzI5OThdfDApPT0tMSkpe2NbbD4+Ml09
MTE5OTI7Y1tsKzQ+PjJdPTEzNDtjW2wrOD4+Ml09MDskZigxMTk5MixsLDEzNSl9bz0oY1sxMTk5
Nj4+Ml18MCkrIC0xfDA7bj1jW20rOD4+Ml18MDtpZighKChjW20rMTI+PjJdfDApLW4+PjI+Pj4w
Pm8+Pj4wKSl7dz1EYig0KXwwOyRuKHcpO3BjKHd8MCwxOTk1MiwxMjMpfW09Y1tuKyhvPDwyKT4+
Ml18MDtpZigobXwwKT09MCl7dz1EYig0KXwwOyRuKHcpO3BjKHd8MCwxOTk1MiwxMjMpfUhmKGNb
cj4+Ml18MCl8MDt6ZyhzLGcpO2c9Y1tzPj4yXXwwO2lmKCEoKGNbMzAzNF18MCk9PS0xKSl7Y1ts
Pj4yXT0xMjEzNjtjW2wrND4+Ml09MTM0O2NbbCs4Pj4yXT0wOyRmKDEyMTM2LGwsMTM1KX1yPShj
WzEyMTQwPj4yXXwwKSsgLTF8MDt3PWNbZys4Pj4yXXwwO2lmKCEoKGNbZysxMj4+Ml18MCktdz4+
Mj4+PjA+cj4+PjApKXt4PURiKDQpfDA7JG4oeCk7cGMoeHwwLDE5OTUyLDEyMyl9Zz1jW3crKHI8
PDIpPj4yXXwwO2lmKChnfDApPT0wKXt4PURiKDQpfDA7JG4oeCk7cGMoeHwwLDE5OTUyLDEyMyl9
SGYoY1tzPj4yXXwwKXwwO0JjW2NbKGNbZz4+Ml18MCkrMjQ+PjJdJjYzXSh0LGcpO0JjW2NbKGNb
Zz4+Ml18MCkrMjg+PjJdJjYzXSh0KzEyfDAsZyk7Y1t1Pj4yXT1jW2Y+PjJdO2Y9dCsyNHwwO2Nb
bCswPj4yXT1jW3UrMD4+Ml07YVtqXT0oVWgoZSxsLHQsZixtLGgsMSl8MCk9PSh0fDApfDA7Y1ti
Pj4yXT1jW2U+PjJdO2VnKHQrMTJ8MCk7ZWcodCk7aT1rO3JldHVybn1mdW5jdGlvbiBVaChiLGUs
ZixnLGgsaixrKXtiPWJ8MDtlPWV8MDtmPWZ8MDtnPWd8MDtoPWh8MDtqPWp8MDtrPWt8MDt2YXIg
bD0wLG09MCxuPTAsbz0wLHA9MCxxPTAscj0wLHM9MCx0PTAsdT0wLHY9MCx3PTAseD0wLHk9MCx6
PTAsQT0wLEI9MCxDPTAsRD0wLEU9MCxGPTAsRz0wLEg9MCxJPTAsSj0wLEs9MCxMPTAsTT0wLE49
MCxPPTAsUD0wLFE9MCxSPTAsUz0wLFQ9MCxVPTAsVj0wLFc9MCxYPTAsWT0wLFo9MCxfPTA7bD1p
O2k9aSsxMTJ8MDttPWw7bj0oZy1mfDApLzEyfDA7aWYobj4+PjA+MTAwKXtvPXZvKG4pfDA7aWYo
KG98MCk9PTApe0hvKCl9ZWxzZXtwPW87cT1vfX1lbHNle3A9MDtxPW19bT0oZnwwKT09KGd8MCk7
aWYobSl7cj0wO3M9bn1lbHNle289Zjt0PTA7dT1uO249cTt3aGlsZSgxKXt2PWFbb118MDtpZigo
diYxKT09MCl7dz0odiYyNTUpPj4+MX1lbHNle3c9Y1tvKzQ+PjJdfDB9aWYoKHd8MCk9PTApe2Fb
bl09Mjt4PXQrMXwwO3k9dSsgLTF8MH1lbHNle2Fbbl09MTt4PXQ7eT11fXY9bysxMnwwO2lmKCh2
fDApPT0oZ3wwKSl7cj14O3M9eTticmVha31lbHNle289djt0PXg7dT15O249bisxfDB9fX1uPTA7
eT1yO3I9czthOndoaWxlKDEpe3M9Y1tiPj4yXXwwO2Rve2lmKChzfDApIT0wKXtpZigoY1tzKzEy
Pj4yXXwwKT09KGNbcysxNj4+Ml18MCkpe2lmKChEY1tjWyhjW3M+PjJdfDApKzM2Pj4yXSYxMjdd
KHMpfDApPT0tMSl7Y1tiPj4yXT0wO3o9MDticmVha31lbHNle3o9Y1tiPj4yXXwwO2JyZWFrfX1l
bHNle3o9c319ZWxzZXt6PTB9fXdoaWxlKDApO3M9KHp8MCk9PTA7dT1jW2U+PjJdfDA7aWYoKHV8
MCkhPTApe2lmKChjW3UrMTI+PjJdfDApPT0oY1t1KzE2Pj4yXXwwKT8oRGNbY1soY1t1Pj4yXXww
KSszNj4+Ml0mMTI3XSh1KXwwKT09LTE6MCl7Y1tlPj4yXT0wO0E9MH1lbHNle0E9dX19ZWxzZXtB
PTB9Qj0oQXwwKT09MDtDPWNbYj4+Ml18MDtpZighKChzXkIpJihyfDApIT0wKSl7YnJlYWt9cz1j
W0MrMTI+PjJdfDA7aWYoKHN8MCk9PShjW0MrMTY+PjJdfDApKXtEPURjW2NbKGNbQz4+Ml18MCkr
MzY+PjJdJjEyN10oQyl8MH1lbHNle0Q9ZFtzXXwwfXM9RCYyNTU7aWYoayl7RT1zfWVsc2V7RT1N
Y1tjWyhjW2g+PjJdfDApKzEyPj4yXSYzMV0oaCxzKXwwfXM9bisxfDA7aWYobSl7bj1zO2NvbnRp
bnVlfWI6ZG97aWYoayl7dT0wO3g9Zjt0PXk7bz1yO3c9cTt3aGlsZSgxKXtkb3tpZigoYVt3XXww
KT09MSl7dj1hW3hdfDA7Rj0odiYxKT09MDtpZihGKXtHPXgrMXwwfWVsc2V7Rz1jW3grOD4+Ml18
MH1pZighKEU8PDI0Pj4yND09KGFbRytufDBdfDApKSl7YVt3XT0wO0g9dTtJPXQ7Sj1vKyAtMXww
O2JyZWFrfWlmKEYpe0s9KHYmMjU1KT4+PjF9ZWxzZXtLPWNbeCs0Pj4yXXwwfWlmKChLfDApPT0o
c3wwKSl7YVt3XT0yO0g9MTtJPXQrMXwwO0o9bysgLTF8MH1lbHNle0g9MTtJPXQ7Sj1vfX1lbHNl
e0g9dTtJPXQ7Sj1vfX13aGlsZSgwKTt2PXgrMTJ8MDtpZigodnwwKT09KGd8MCkpe0w9SDtNPUk7
Tj1KO2JyZWFrIGJ9dT1IO3g9djt0PUk7bz1KO3c9dysxfDB9fWVsc2V7dz0wO289Zjt0PXk7eD1y
O3U9cTt3aGlsZSgxKXtkb3tpZigoYVt1XXwwKT09MSl7aWYoKGFbb10mMSk9PTApe089bysxfDB9
ZWxzZXtPPWNbbys4Pj4yXXwwfWlmKCEoRTw8MjQ+PjI0PT0oTWNbY1soY1toPj4yXXwwKSsxMj4+
Ml0mMzFdKGgsYVtPK258MF18MCl8MCk8PDI0Pj4yNCkpe2FbdV09MDtQPXc7UT10O1I9eCsgLTF8
MDticmVha312PWFbb118MDtpZigodiYxKT09MCl7Uz0odiYyNTUpPj4+MX1lbHNle1M9Y1tvKzQ+
PjJdfDB9aWYoKFN8MCk9PShzfDApKXthW3VdPTI7UD0xO1E9dCsxfDA7Uj14KyAtMXwwfWVsc2V7
UD0xO1E9dDtSPXh9fWVsc2V7UD13O1E9dDtSPXh9fXdoaWxlKDApO3Y9bysxMnwwO2lmKCh2fDAp
PT0oZ3wwKSl7TD1QO009UTtOPVI7YnJlYWsgYn13PVA7bz12O3Q9UTt4PVI7dT11KzF8MH19fXdo
aWxlKDApO2lmKCFMKXtuPXM7eT1NO3I9Tjtjb250aW51ZX11PWNbYj4+Ml18MDt4PXUrMTJ8MDt0
PWNbeD4+Ml18MDtpZigodHwwKT09KGNbdSsxNj4+Ml18MCkpe0RjW2NbKGNbdT4+Ml18MCkrNDA+
PjJdJjEyN10odSl8MH1lbHNle2NbeD4+Ml09dCsxfWlmKChOK018MCk+Pj4wPDIpe249czt5PU07
cj1OO2NvbnRpbnVlfWVsc2V7VD1mO1U9TTtWPXF9d2hpbGUoMSl7aWYoKGFbVl18MCk9PTIpe3Q9
YVtUXXwwO2lmKCh0JjEpPT0wKXtXPSh0JjI1NSk+Pj4xfWVsc2V7Vz1jW1QrND4+Ml18MH1pZigo
V3wwKSE9KHN8MCkpe2FbVl09MDtYPVUrIC0xfDB9ZWxzZXtYPVV9fWVsc2V7WD1VfXQ9VCsxMnww
O2lmKCh0fDApPT0oZ3wwKSl7bj1zO3k9WDtyPU47Y29udGludWUgYX1lbHNle1Q9dDtVPVg7Vj1W
KzF8MH19fWRve2lmKChDfDApIT0wKXtpZigoY1tDKzEyPj4yXXwwKT09KGNbQysxNj4+Ml18MCkp
e2lmKChEY1tjWyhjW0M+PjJdfDApKzM2Pj4yXSYxMjddKEMpfDApPT0tMSl7Y1tiPj4yXT0wO1k9
MDticmVha31lbHNle1k9Y1tiPj4yXXwwO2JyZWFrfX1lbHNle1k9Q319ZWxzZXtZPTB9fXdoaWxl
KDApO0M9KFl8MCk9PTA7ZG97aWYoIUIpe2lmKChjW0ErMTI+PjJdfDApIT0oY1tBKzE2Pj4yXXww
KSl7aWYoQyl7YnJlYWt9ZWxzZXtaPTgwO2JyZWFrfX1pZighKChEY1tjWyhjW0E+PjJdfDApKzM2
Pj4yXSYxMjddKEEpfDApPT0tMSkpe2lmKEMpe2JyZWFrfWVsc2V7Wj04MDticmVha319ZWxzZXtj
W2U+PjJdPTA7Wj03ODticmVha319ZWxzZXtaPTc4fX13aGlsZSgwKTtpZigoWnwwKT09Nzg/Qzow
KXtaPTgwfWlmKChafDApPT04MCl7Y1tqPj4yXT1jW2o+PjJdfDJ9Yzpkb3tpZighbSl7aWYoKGFb
cV18MCk9PTIpe189Zn1lbHNle0M9ZjtlPXE7d2hpbGUoMSl7QT1DKzEyfDA7Qj1lKzF8MDtpZigo
QXwwKT09KGd8MCkpe1o9ODU7YnJlYWsgY31pZigoYVtCXXwwKT09Mil7Xz1BO2JyZWFrfWVsc2V7
Qz1BO2U9Qn19fX1lbHNle1o9ODV9fXdoaWxlKDApO2lmKChafDApPT04NSl7Y1tqPj4yXT1jW2o+
PjJdfDQ7Xz1nfWlmKChwfDApPT0wKXtpPWw7cmV0dXJuIF98MH13byhwKTtpPWw7cmV0dXJuIF98
MH1mdW5jdGlvbiBWaChhLGIsZCxlLGYsZyxoKXthPWF8MDtiPWJ8MDtkPWR8MDtlPWV8MDtmPWZ8
MDtnPWd8MDtoPWh8MDt2YXIgaj0wLGs9MCxsPTAsbT0wO2I9aTtpPWkrMTZ8MDtqPWIrMTJ8MDtr
PWIrOHwwO2w9Yis0fDA7bT1iO2NbbD4+Ml09Y1tkPj4yXTtjW20+PjJdPWNbZT4+Ml07Y1trKzA+
PjJdPWNbbCswPj4yXTtjW2orMD4+Ml09Y1ttKzA+PjJdO1doKGEsMCxrLGosZixnLGgpO2k9Yjty
ZXR1cm59ZnVuY3Rpb24gV2goYixlLGYsZyxoLGosayl7Yj1ifDA7ZT1lfDA7Zj1mfDA7Zz1nfDA7
aD1ofDA7aj1qfDA7az1rfDA7dmFyIGw9MCxtPTAsbj0wLG89MCxwPTAscT0wLHI9MCxzPTAsdD0w
LHU9MCx2PTAsdz0wLHg9MCx5PTAsej0wLEE9MCxCPTAsQz0wLEQ9MCxFPTAsRj0wLEc9MCxIPTAs
ST0wLEo9MCxLPTAsTD0wLE09MCxOPTAsTz0wLFA9MDtlPWk7aT1pKzIyNHwwO2w9ZSsxOTh8MDtt
PWUrMTk2fDA7bj1lKzE2fDA7bz1lKzR8MDtwPWUrMTkyfDA7cT1lKzMyfDA7cj1lO3M9ZSsyOHww
O3Q9Y1toKzQ+PjJdJjc0O2lmKCh0fDApPT0wKXt1PTB9ZWxzZSBpZigodHwwKT09NjQpe3U9OH1l
bHNlIGlmKCh0fDApPT04KXt1PTE2fWVsc2V7dT0xMH1NaShuLGgsbCxtKTtjW28rMD4+Ml09MDtj
W28rND4+Ml09MDtjW28rOD4+Ml09MDtoZyhvLDEwLDApO2lmKChhW29dJjEpPT0wKXtoPW8rMXww
O3Y9aDt3PW8rOHwwO3g9aH1lbHNle2g9bys4fDA7dj1vKzF8MDt3PWg7eD1jW2g+PjJdfDB9Y1tw
Pj4yXT14O2Nbcj4+Ml09cTtjW3M+PjJdPTA7aD1vKzR8MDt0PWFbbV18MDttPWNbZj4+Ml18MDt5
PXg7YTp3aGlsZSgxKXtpZigobXwwKSE9MCl7aWYoKGNbbSsxMj4+Ml18MCk9PShjW20rMTY+PjJd
fDApPyhEY1tjWyhjW20+PjJdfDApKzM2Pj4yXSYxMjddKG0pfDApPT0tMTowKXtjW2Y+PjJdPTA7
ej0wfWVsc2V7ej1tfX1lbHNle3o9MH14PSh6fDApPT0wO0E9Y1tnPj4yXXwwO2Rve2lmKChBfDAp
IT0wKXtpZigoY1tBKzEyPj4yXXwwKSE9KGNbQSsxNj4+Ml18MCkpe2lmKHgpe0I9QTticmVha31l
bHNle0M9QTtEPXk7YnJlYWsgYX19aWYoISgoRGNbY1soY1tBPj4yXXwwKSszNj4+Ml0mMTI3XShB
KXwwKT09LTEpKXtpZih4KXtCPUE7YnJlYWt9ZWxzZXtDPUE7RD15O2JyZWFrIGF9fWVsc2V7Y1tn
Pj4yXT0wO0U9MTg7YnJlYWt9fWVsc2V7RT0xOH19d2hpbGUoMCk7aWYoKEV8MCk9PTE4KXtFPTA7
aWYoeCl7Qz0wO0Q9eTticmVha31lbHNle0I9MH19QT1hW29dfDA7Rj0oQSYxKT09MDtpZihGKXtH
PShBJjI1NSk+Pj4xfWVsc2V7Rz1jW2g+PjJdfDB9aWYoKChjW3A+PjJdfDApLXl8MCk9PShHfDAp
KXtpZihGKXtIPShBJjI1NSk+Pj4xO0k9KEEmMjU1KT4+PjF9ZWxzZXtBPWNbaD4+Ml18MDtIPUE7
ST1BfWhnKG8sSDw8MSwwKTtpZigoYVtvXSYxKT09MCl7Sj0xMH1lbHNle0o9KGNbbz4+Ml0mLTIp
KyAtMXwwfWhnKG8sSiwwKTtpZigoYVtvXSYxKT09MCl7Sz12fWVsc2V7Sz1jW3c+PjJdfDB9Y1tw
Pj4yXT1LK0k7TD1LfWVsc2V7TD15fUE9eisxMnwwO0Y9Y1tBPj4yXXwwO009eisxNnwwO2lmKChG
fDApPT0oY1tNPj4yXXwwKSl7Tj1EY1tjWyhjW3o+PjJdfDApKzM2Pj4yXSYxMjddKHopfDB9ZWxz
ZXtOPWRbRl18MH1pZigobWkoTiYyNTUsdSxMLHAscyx0LG4scSxyLGwpfDApIT0wKXtDPUI7RD1M
O2JyZWFrfUY9Y1tBPj4yXXwwO2lmKChGfDApPT0oY1tNPj4yXXwwKSl7RGNbY1soY1t6Pj4yXXww
KSs0MD4+Ml0mMTI3XSh6KXwwO209ejt5PUw7Y29udGludWV9ZWxzZXtjW0E+PjJdPUYrMTttPXo7
eT1MO2NvbnRpbnVlfX1MPWFbbl18MDtpZigoTCYxKT09MCl7Tz0oTCYyNTUpPj4+MX1lbHNle089
Y1tuKzQ+PjJdfDB9aWYoKE98MCkhPTA/KE89Y1tyPj4yXXwwLChPLXF8MCk8MTYwKTowKXtMPWNb
cz4+Ml18MDtjW3I+PjJdPU8rNDtjW08+PjJdPUx9Y1trPj4yXT1GbihELGNbcD4+Ml18MCxqLHUp
fDA7WGsobixxLGNbcj4+Ml18MCxqKTtpZigoenwwKSE9MCl7aWYoKGNbeisxMj4+Ml18MCk9PShj
W3orMTY+PjJdfDApPyhEY1tjWyhjW3o+PjJdfDApKzM2Pj4yXSYxMjddKHopfDApPT0tMTowKXtj
W2Y+PjJdPTA7UD0wfWVsc2V7UD16fX1lbHNle1A9MH16PShQfDApPT0wO2Rve2lmKChDfDApIT0w
KXtpZigoY1tDKzEyPj4yXXwwKSE9KGNbQysxNj4+Ml18MCkpe2lmKCF6KXticmVha31jW2I+PjJd
PVA7ZWcobyk7ZWcobik7aT1lO3JldHVybn1pZigoRGNbY1soY1tDPj4yXXwwKSszNj4+Ml0mMTI3
XShDKXwwKT09LTEpe2NbZz4+Ml09MDtFPTU0O2JyZWFrfWlmKHpeKEN8MCk9PTApe2NbYj4+Ml09
UDtlZyhvKTtlZyhuKTtpPWU7cmV0dXJufX1lbHNle0U9NTR9fXdoaWxlKDApO2lmKChFfDApPT01
ND8hejowKXtjW2I+PjJdPVA7ZWcobyk7ZWcobik7aT1lO3JldHVybn1jW2o+PjJdPWNbaj4+Ml18
MjtjW2I+PjJdPVA7ZWcobyk7ZWcobik7aT1lO3JldHVybn1mdW5jdGlvbiBYaChhLGIsZCxlLGYs
ZyxoKXthPWF8MDtiPWJ8MDtkPWR8MDtlPWV8MDtmPWZ8MDtnPWd8MDtoPWh8MDt2YXIgaj0wLGs9
MCxsPTAsbT0wO2I9aTtpPWkrMTZ8MDtqPWIrMTJ8MDtrPWIrOHwwO2w9Yis0fDA7bT1iO2NbbD4+
Ml09Y1tkPj4yXTtjW20+PjJdPWNbZT4+Ml07Y1trKzA+PjJdPWNbbCswPj4yXTtjW2orMD4+Ml09
Y1ttKzA+PjJdO1loKGEsMCxrLGosZixnLGgpO2k9YjtyZXR1cm59CgoKCmZ1bmN0aW9uIFloKGIs
ZSxmLGcsaCxqLGspe2I9YnwwO2U9ZXwwO2Y9ZnwwO2c9Z3wwO2g9aHwwO2o9anwwO2s9a3wwO3Zh
ciBsPTAsbT0wLG49MCxvPTAscD0wLHE9MCxyPTAscz0wLHQ9MCx1PTAsdj0wLHc9MCx4PTAseT0w
LHo9MCxBPTAsQj0wLEM9MCxEPTAsRT0wLEY9MCxHPTAsSD0wLEo9MCxLPTAsTD0wLE09MCxOPTAs
Tz0wLFA9MCxRPTA7ZT1pO2k9aSsyMjR8MDtsPWUrMTk4fDA7bT1lKzE5NnwwO249ZSsxNnwwO289
ZSs0fDA7cD1lKzE5MnwwO3E9ZSszMnwwO3I9ZTtzPWUrMjh8MDt0PWNbaCs0Pj4yXSY3NDtpZigo
dHwwKT09MCl7dT0wfWVsc2UgaWYoKHR8MCk9PTY0KXt1PTh9ZWxzZSBpZigodHwwKT09OCl7dT0x
Nn1lbHNle3U9MTB9TWkobixoLGwsbSk7Y1tvKzA+PjJdPTA7Y1tvKzQ+PjJdPTA7Y1tvKzg+PjJd
PTA7aGcobywxMCwwKTtpZigoYVtvXSYxKT09MCl7aD1vKzF8MDt2PWg7dz1vKzh8MDt4PWh9ZWxz
ZXtoPW8rOHwwO3Y9bysxfDA7dz1oO3g9Y1toPj4yXXwwfWNbcD4+Ml09eDtjW3I+PjJdPXE7Y1tz
Pj4yXT0wO2g9bys0fDA7dD1hW21dfDA7bT1jW2Y+PjJdfDA7eT14O2E6d2hpbGUoMSl7aWYoKG18
MCkhPTApe2lmKChjW20rMTI+PjJdfDApPT0oY1ttKzE2Pj4yXXwwKT8oRGNbY1soY1ttPj4yXXww
KSszNj4+Ml0mMTI3XShtKXwwKT09LTE6MCl7Y1tmPj4yXT0wO3o9MH1lbHNle3o9bX19ZWxzZXt6
PTB9eD0oenwwKT09MDtBPWNbZz4+Ml18MDtkb3tpZigoQXwwKSE9MCl7aWYoKGNbQSsxMj4+Ml18
MCkhPShjW0ErMTY+PjJdfDApKXtpZih4KXtCPUE7YnJlYWt9ZWxzZXtDPUE7RD15O2JyZWFrIGF9
fWlmKCEoKERjW2NbKGNbQT4+Ml18MCkrMzY+PjJdJjEyN10oQSl8MCk9PS0xKSl7aWYoeCl7Qj1B
O2JyZWFrfWVsc2V7Qz1BO0Q9eTticmVhayBhfX1lbHNle2NbZz4+Ml09MDtFPTE4O2JyZWFrfX1l
bHNle0U9MTh9fXdoaWxlKDApO2lmKChFfDApPT0xOCl7RT0wO2lmKHgpe0M9MDtEPXk7YnJlYWt9
ZWxzZXtCPTB9fUE9YVtvXXwwO0Y9KEEmMSk9PTA7aWYoRil7Rz0oQSYyNTUpPj4+MX1lbHNle0c9
Y1toPj4yXXwwfWlmKCgoY1twPj4yXXwwKS15fDApPT0oR3wwKSl7aWYoRil7SD0oQSYyNTUpPj4+
MTtKPShBJjI1NSk+Pj4xfWVsc2V7QT1jW2g+PjJdfDA7SD1BO0o9QX1oZyhvLEg8PDEsMCk7aWYo
KGFbb10mMSk9PTApe0s9MTB9ZWxzZXtLPShjW28+PjJdJi0yKSsgLTF8MH1oZyhvLEssMCk7aWYo
KGFbb10mMSk9PTApe0w9dn1lbHNle0w9Y1t3Pj4yXXwwfWNbcD4+Ml09TCtKO009TH1lbHNle009
eX1BPXorMTJ8MDtGPWNbQT4+Ml18MDtOPXorMTZ8MDtpZigoRnwwKT09KGNbTj4+Ml18MCkpe089
RGNbY1soY1t6Pj4yXXwwKSszNj4+Ml0mMTI3XSh6KXwwfWVsc2V7Tz1kW0ZdfDB9aWYoKG1pKE8m
MjU1LHUsTSxwLHMsdCxuLHEscixsKXwwKSE9MCl7Qz1CO0Q9TTticmVha31GPWNbQT4+Ml18MDtp
ZigoRnwwKT09KGNbTj4+Ml18MCkpe0RjW2NbKGNbej4+Ml18MCkrNDA+PjJdJjEyN10oeil8MDtt
PXo7eT1NO2NvbnRpbnVlfWVsc2V7Y1tBPj4yXT1GKzE7bT16O3k9TTtjb250aW51ZX19TT1hW25d
fDA7aWYoKE0mMSk9PTApe1A9KE0mMjU1KT4+PjF9ZWxzZXtQPWNbbis0Pj4yXXwwfWlmKChQfDAp
IT0wPyhQPWNbcj4+Ml18MCwoUC1xfDApPDE2MCk6MCl7TT1jW3M+PjJdfDA7Y1tyPj4yXT1QKzQ7
Y1tQPj4yXT1NfU09RW4oRCxjW3A+PjJdfDAsaix1KXwwO3U9aztjW3U+PjJdPU07Y1t1KzQ+PjJd
PUk7WGsobixxLGNbcj4+Ml18MCxqKTtpZigoenwwKSE9MCl7aWYoKGNbeisxMj4+Ml18MCk9PShj
W3orMTY+PjJdfDApPyhEY1tjWyhjW3o+PjJdfDApKzM2Pj4yXSYxMjddKHopfDApPT0tMTowKXtj
W2Y+PjJdPTA7UT0wfWVsc2V7UT16fX1lbHNle1E9MH16PShRfDApPT0wO2Rve2lmKChDfDApIT0w
KXtpZigoY1tDKzEyPj4yXXwwKSE9KGNbQysxNj4+Ml18MCkpe2lmKCF6KXticmVha31jW2I+PjJd
PVE7ZWcobyk7ZWcobik7aT1lO3JldHVybn1pZigoRGNbY1soY1tDPj4yXXwwKSszNj4+Ml0mMTI3
XShDKXwwKT09LTEpe2NbZz4+Ml09MDtFPTU0O2JyZWFrfWlmKHpeKEN8MCk9PTApe2NbYj4+Ml09
UTtlZyhvKTtlZyhuKTtpPWU7cmV0dXJufX1lbHNle0U9NTR9fXdoaWxlKDApO2lmKChFfDApPT01
ND8hejowKXtjW2I+PjJdPVE7ZWcobyk7ZWcobik7aT1lO3JldHVybn1jW2o+PjJdPWNbaj4+Ml18
MjtjW2I+PjJdPVE7ZWcobyk7ZWcobik7aT1lO3JldHVybn1mdW5jdGlvbiBaaChhLGIsZCxlLGYs
ZyxoKXthPWF8MDtiPWJ8MDtkPWR8MDtlPWV8MDtmPWZ8MDtnPWd8MDtoPWh8MDt2YXIgaj0wLGs9
MCxsPTAsbT0wO2I9aTtpPWkrMTZ8MDtqPWIrMTJ8MDtrPWIrOHwwO2w9Yis0fDA7bT1iO2NbbD4+
Ml09Y1tkPj4yXTtjW20+PjJdPWNbZT4+Ml07Y1trKzA+PjJdPWNbbCswPj4yXTtjW2orMD4+Ml09
Y1ttKzA+PjJdO19oKGEsMCxrLGosZixnLGgpO2k9YjtyZXR1cm59ZnVuY3Rpb24gX2goZSxmLGcs
aCxqLGssbCl7ZT1lfDA7Zj1mfDA7Zz1nfDA7aD1ofDA7aj1qfDA7az1rfDA7bD1sfDA7dmFyIG09
MCxuPTAsbz0wLHA9MCxxPTAscj0wLHM9MCx0PTAsdT0wLHY9MCx3PTAseD0wLHk9MCx6PTAsQT0w
LEI9MCxDPTAsRD0wLEU9MCxGPTAsRz0wLEg9MCxJPTAsSj0wLEs9MCxMPTAsTT0wLE49MCxPPTAs
UD0wLFE9MDtmPWk7aT1pKzIyNHwwO209ZisxOTh8MDtuPWYrMTk2fDA7bz1mKzE2fDA7cD1mKzR8
MDtxPWYrMTkyfDA7cj1mKzMyfDA7cz1mO3Q9ZisyOHwwO3U9Y1tqKzQ+PjJdJjc0O2lmKCh1fDAp
PT02NCl7dj04fWVsc2UgaWYoKHV8MCk9PTApe3Y9MH1lbHNlIGlmKCh1fDApPT04KXt2PTE2fWVs
c2V7dj0xMH1NaShvLGosbSxuKTtjW3ArMD4+Ml09MDtjW3ArND4+Ml09MDtjW3ArOD4+Ml09MDto
ZyhwLDEwLDApO2lmKChhW3BdJjEpPT0wKXtqPXArMXwwO3c9ajt4PXArOHwwO3k9an1lbHNle2o9
cCs4fDA7dz1wKzF8MDt4PWo7eT1jW2o+PjJdfDB9Y1txPj4yXT15O2Nbcz4+Ml09cjtjW3Q+PjJd
PTA7aj1wKzR8MDt1PWFbbl18MDtuPWNbZz4+Ml18MDt6PXk7YTp3aGlsZSgxKXtpZigobnwwKSE9
MCl7aWYoKGNbbisxMj4+Ml18MCk9PShjW24rMTY+PjJdfDApPyhEY1tjWyhjW24+PjJdfDApKzM2
Pj4yXSYxMjddKG4pfDApPT0tMTowKXtjW2c+PjJdPTA7QT0wfWVsc2V7QT1ufX1lbHNle0E9MH15
PShBfDApPT0wO0I9Y1toPj4yXXwwO2Rve2lmKChCfDApIT0wKXtpZigoY1tCKzEyPj4yXXwwKSE9
KGNbQisxNj4+Ml18MCkpe2lmKHkpe0M9QjticmVha31lbHNle0Q9QjtFPXo7YnJlYWsgYX19aWYo
ISgoRGNbY1soY1tCPj4yXXwwKSszNj4+Ml0mMTI3XShCKXwwKT09LTEpKXtpZih5KXtDPUI7YnJl
YWt9ZWxzZXtEPUI7RT16O2JyZWFrIGF9fWVsc2V7Y1toPj4yXT0wO0Y9MTg7YnJlYWt9fWVsc2V7
Rj0xOH19d2hpbGUoMCk7aWYoKEZ8MCk9PTE4KXtGPTA7aWYoeSl7RD0wO0U9ejticmVha31lbHNl
e0M9MH19Qj1hW3BdfDA7Rz0oQiYxKT09MDtpZihHKXtIPShCJjI1NSk+Pj4xfWVsc2V7SD1jW2o+
PjJdfDB9aWYoKChjW3E+PjJdfDApLXp8MCk9PShIfDApKXtpZihHKXtJPShCJjI1NSk+Pj4xO0o9
KEImMjU1KT4+PjF9ZWxzZXtCPWNbaj4+Ml18MDtJPUI7Sj1CfWhnKHAsSTw8MSwwKTtpZigoYVtw
XSYxKT09MCl7Sz0xMH1lbHNle0s9KGNbcD4+Ml0mLTIpKyAtMXwwfWhnKHAsSywwKTtpZigoYVtw
XSYxKT09MCl7TD13fWVsc2V7TD1jW3g+PjJdfDB9Y1txPj4yXT1MK0o7TT1MfWVsc2V7TT16fUI9
QSsxMnwwO0c9Y1tCPj4yXXwwO049QSsxNnwwO2lmKChHfDApPT0oY1tOPj4yXXwwKSl7Tz1EY1tj
WyhjW0E+PjJdfDApKzM2Pj4yXSYxMjddKEEpfDB9ZWxzZXtPPWRbR118MH1pZigobWkoTyYyNTUs
dixNLHEsdCx1LG8scixzLG0pfDApIT0wKXtEPUM7RT1NO2JyZWFrfUc9Y1tCPj4yXXwwO2lmKChH
fDApPT0oY1tOPj4yXXwwKSl7RGNbY1soY1tBPj4yXXwwKSs0MD4+Ml0mMTI3XShBKXwwO249QTt6
PU07Y29udGludWV9ZWxzZXtjW0I+PjJdPUcrMTtuPUE7ej1NO2NvbnRpbnVlfX1NPWFbb118MDtp
ZigoTSYxKT09MCl7UD0oTSYyNTUpPj4+MX1lbHNle1A9Y1tvKzQ+PjJdfDB9aWYoKFB8MCkhPTA/
KFA9Y1tzPj4yXXwwLChQLXJ8MCk8MTYwKTowKXtNPWNbdD4+Ml18MDtjW3M+PjJdPVArNDtjW1A+
PjJdPU19YltsPj4xXT1EbihFLGNbcT4+Ml18MCxrLHYpfDA7WGsobyxyLGNbcz4+Ml18MCxrKTtp
ZigoQXwwKSE9MCl7aWYoKGNbQSsxMj4+Ml18MCk9PShjW0ErMTY+PjJdfDApPyhEY1tjWyhjW0E+
PjJdfDApKzM2Pj4yXSYxMjddKEEpfDApPT0tMTowKXtjW2c+PjJdPTA7UT0wfWVsc2V7UT1BfX1l
bHNle1E9MH1BPShRfDApPT0wO2Rve2lmKChEfDApIT0wKXtpZigoY1tEKzEyPj4yXXwwKSE9KGNb
RCsxNj4+Ml18MCkpe2lmKCFBKXticmVha31jW2U+PjJdPVE7ZWcocCk7ZWcobyk7aT1mO3JldHVy
bn1pZigoRGNbY1soY1tEPj4yXXwwKSszNj4+Ml0mMTI3XShEKXwwKT09LTEpe2NbaD4+Ml09MDtG
PTU0O2JyZWFrfWlmKEFeKER8MCk9PTApe2NbZT4+Ml09UTtlZyhwKTtlZyhvKTtpPWY7cmV0dXJu
fX1lbHNle0Y9NTR9fXdoaWxlKDApO2lmKChGfDApPT01ND8hQTowKXtjW2U+PjJdPVE7ZWcocCk7
ZWcobyk7aT1mO3JldHVybn1jW2s+PjJdPWNbaz4+Ml18MjtjW2U+PjJdPVE7ZWcocCk7ZWcobyk7
aT1mO3JldHVybn1mdW5jdGlvbiAkaChhLGIsZCxlLGYsZyxoKXthPWF8MDtiPWJ8MDtkPWR8MDtl
PWV8MDtmPWZ8MDtnPWd8MDtoPWh8MDt2YXIgaj0wLGs9MCxsPTAsbT0wO2I9aTtpPWkrMTZ8MDtq
PWIrMTJ8MDtrPWIrOHwwO2w9Yis0fDA7bT1iO2NbbD4+Ml09Y1tkPj4yXTtjW20+PjJdPWNbZT4+
Ml07Y1trKzA+PjJdPWNbbCswPj4yXTtjW2orMD4+Ml09Y1ttKzA+PjJdO2FpKGEsMCxrLGosZixn
LGgpO2k9YjtyZXR1cm59ZnVuY3Rpb24gYWkoYixlLGYsZyxoLGosayl7Yj1ifDA7ZT1lfDA7Zj1m
fDA7Zz1nfDA7aD1ofDA7aj1qfDA7az1rfDA7dmFyIGw9MCxtPTAsbj0wLG89MCxwPTAscT0wLHI9
MCxzPTAsdD0wLHU9MCx2PTAsdz0wLHg9MCx5PTAsej0wLEE9MCxCPTAsQz0wLEQ9MCxFPTAsRj0w
LEc9MCxIPTAsST0wLEo9MCxLPTAsTD0wLE09MCxOPTAsTz0wLFA9MDtlPWk7aT1pKzIyNHwwO2w9
ZSsxOTh8MDttPWUrMTk2fDA7bj1lKzE2fDA7bz1lKzR8MDtwPWUrMTkyfDA7cT1lKzMyfDA7cj1l
O3M9ZSsyOHwwO3Q9Y1toKzQ+PjJdJjc0O2lmKCh0fDApPT02NCl7dT04fWVsc2UgaWYoKHR8MCk9
PTApe3U9MH1lbHNlIGlmKCh0fDApPT04KXt1PTE2fWVsc2V7dT0xMH1NaShuLGgsbCxtKTtjW28r
MD4+Ml09MDtjW28rND4+Ml09MDtjW28rOD4+Ml09MDtoZyhvLDEwLDApO2lmKChhW29dJjEpPT0w
KXtoPW8rMXwwO3Y9aDt3PW8rOHwwO3g9aH1lbHNle2g9bys4fDA7dj1vKzF8MDt3PWg7eD1jW2g+
PjJdfDB9Y1twPj4yXT14O2Nbcj4+Ml09cTtjW3M+PjJdPTA7aD1vKzR8MDt0PWFbbV18MDttPWNb
Zj4+Ml18MDt5PXg7YTp3aGlsZSgxKXtpZigobXwwKSE9MCl7aWYoKGNbbSsxMj4+Ml18MCk9PShj
W20rMTY+PjJdfDApPyhEY1tjWyhjW20+PjJdfDApKzM2Pj4yXSYxMjddKG0pfDApPT0tMTowKXtj
W2Y+PjJdPTA7ej0wfWVsc2V7ej1tfX1lbHNle3o9MH14PSh6fDApPT0wO0E9Y1tnPj4yXXwwO2Rv
e2lmKChBfDApIT0wKXtpZigoY1tBKzEyPj4yXXwwKSE9KGNbQSsxNj4+Ml18MCkpe2lmKHgpe0I9
QTticmVha31lbHNle0M9QTtEPXk7YnJlYWsgYX19aWYoISgoRGNbY1soY1tBPj4yXXwwKSszNj4+
Ml0mMTI3XShBKXwwKT09LTEpKXtpZih4KXtCPUE7YnJlYWt9ZWxzZXtDPUE7RD15O2JyZWFrIGF9
fWVsc2V7Y1tnPj4yXT0wO0U9MTg7YnJlYWt9fWVsc2V7RT0xOH19d2hpbGUoMCk7aWYoKEV8MCk9
PTE4KXtFPTA7aWYoeCl7Qz0wO0Q9eTticmVha31lbHNle0I9MH19QT1hW29dfDA7Rj0oQSYxKT09
MDtpZihGKXtHPShBJjI1NSk+Pj4xfWVsc2V7Rz1jW2g+PjJdfDB9aWYoKChjW3A+PjJdfDApLXl8
MCk9PShHfDApKXtpZihGKXtIPShBJjI1NSk+Pj4xO0k9KEEmMjU1KT4+PjF9ZWxzZXtBPWNbaD4+
Ml18MDtIPUE7ST1BfWhnKG8sSDw8MSwwKTtpZigoYVtvXSYxKT09MCl7Sj0xMH1lbHNle0o9KGNb
bz4+Ml0mLTIpKyAtMXwwfWhnKG8sSiwwKTtpZigoYVtvXSYxKT09MCl7Sz12fWVsc2V7Sz1jW3c+
PjJdfDB9Y1twPj4yXT1LK0k7TD1LfWVsc2V7TD15fUE9eisxMnwwO0Y9Y1tBPj4yXXwwO009eisx
NnwwO2lmKChGfDApPT0oY1tNPj4yXXwwKSl7Tj1EY1tjWyhjW3o+PjJdfDApKzM2Pj4yXSYxMjdd
KHopfDB9ZWxzZXtOPWRbRl18MH1pZigobWkoTiYyNTUsdSxMLHAscyx0LG4scSxyLGwpfDApIT0w
KXtDPUI7RD1MO2JyZWFrfUY9Y1tBPj4yXXwwO2lmKChGfDApPT0oY1tNPj4yXXwwKSl7RGNbY1so
Y1t6Pj4yXXwwKSs0MD4+Ml0mMTI3XSh6KXwwO209ejt5PUw7Y29udGludWV9ZWxzZXtjW0E+PjJd
PUYrMTttPXo7eT1MO2NvbnRpbnVlfX1MPWFbbl18MDtpZigoTCYxKT09MCl7Tz0oTCYyNTUpPj4+
MX1lbHNle089Y1tuKzQ+PjJdfDB9aWYoKE98MCkhPTA/KE89Y1tyPj4yXXwwLChPLXF8MCk8MTYw
KTowKXtMPWNbcz4+Ml18MDtjW3I+PjJdPU8rNDtjW08+PjJdPUx9Y1trPj4yXT1DbihELGNbcD4+
Ml18MCxqLHUpfDA7WGsobixxLGNbcj4+Ml18MCxqKTtpZigoenwwKSE9MCl7aWYoKGNbeisxMj4+
Ml18MCk9PShjW3orMTY+PjJdfDApPyhEY1tjWyhjW3o+PjJdfDApKzM2Pj4yXSYxMjddKHopfDAp
PT0tMTowKXtjW2Y+PjJdPTA7UD0wfWVsc2V7UD16fX1lbHNle1A9MH16PShQfDApPT0wO2Rve2lm
KChDfDApIT0wKXtpZigoY1tDKzEyPj4yXXwwKSE9KGNbQysxNj4+Ml18MCkpe2lmKCF6KXticmVh
a31jW2I+PjJdPVA7ZWcobyk7ZWcobik7aT1lO3JldHVybn1pZigoRGNbY1soY1tDPj4yXXwwKSsz
Nj4+Ml0mMTI3XShDKXwwKT09LTEpe2NbZz4+Ml09MDtFPTU0O2JyZWFrfWlmKHpeKEN8MCk9PTAp
e2NbYj4+Ml09UDtlZyhvKTtlZyhuKTtpPWU7cmV0dXJufX1lbHNle0U9NTR9fXdoaWxlKDApO2lm
KChFfDApPT01ND8hejowKXtjW2I+PjJdPVA7ZWcobyk7ZWcobik7aT1lO3JldHVybn1jW2o+PjJd
PWNbaj4+Ml18MjtjW2I+PjJdPVA7ZWcobyk7ZWcobik7aT1lO3JldHVybn1mdW5jdGlvbiBiaShh
LGIsZCxlLGYsZyxoKXthPWF8MDtiPWJ8MDtkPWR8MDtlPWV8MDtmPWZ8MDtnPWd8MDtoPWh8MDt2
YXIgaj0wLGs9MCxsPTAsbT0wO2I9aTtpPWkrMTZ8MDtqPWIrMTJ8MDtrPWIrOHwwO2w9Yis0fDA7
bT1iO2NbbD4+Ml09Y1tkPj4yXTtjW20+PjJdPWNbZT4+Ml07Y1trKzA+PjJdPWNbbCswPj4yXTtj
W2orMD4+Ml09Y1ttKzA+PjJdO2NpKGEsMCxrLGosZixnLGgpO2k9YjtyZXR1cm59ZnVuY3Rpb24g
Y2koYixlLGYsZyxoLGosayl7Yj1ifDA7ZT1lfDA7Zj1mfDA7Zz1nfDA7aD1ofDA7aj1qfDA7az1r
fDA7dmFyIGw9MCxtPTAsbj0wLG89MCxwPTAscT0wLHI9MCxzPTAsdD0wLHU9MCx2PTAsdz0wLHg9
MCx5PTAsej0wLEE9MCxCPTAsQz0wLEQ9MCxFPTAsRj0wLEc9MCxIPTAsST0wLEo9MCxLPTAsTD0w
LE09MCxOPTAsTz0wLFA9MDtlPWk7aT1pKzIyNHwwO2w9ZSsxOTh8MDttPWUrMTk2fDA7bj1lKzE2
fDA7bz1lKzR8MDtwPWUrMTkyfDA7cT1lKzMyfDA7cj1lO3M9ZSsyOHwwO3Q9Y1toKzQ+PjJdJjc0
O2lmKCh0fDApPT0wKXt1PTB9ZWxzZSBpZigodHwwKT09NjQpe3U9OH1lbHNlIGlmKCh0fDApPT04
KXt1PTE2fWVsc2V7dT0xMH1NaShuLGgsbCxtKTtjW28rMD4+Ml09MDtjW28rND4+Ml09MDtjW28r
OD4+Ml09MDtoZyhvLDEwLDApO2lmKChhW29dJjEpPT0wKXtoPW8rMXwwO3Y9aDt3PW8rOHwwO3g9
aH1lbHNle2g9bys4fDA7dj1vKzF8MDt3PWg7eD1jW2g+PjJdfDB9Y1twPj4yXT14O2Nbcj4+Ml09
cTtjW3M+PjJdPTA7aD1vKzR8MDt0PWFbbV18MDttPWNbZj4+Ml18MDt5PXg7YTp3aGlsZSgxKXtp
ZigobXwwKSE9MCl7aWYoKGNbbSsxMj4+Ml18MCk9PShjW20rMTY+PjJdfDApPyhEY1tjWyhjW20+
PjJdfDApKzM2Pj4yXSYxMjddKG0pfDApPT0tMTowKXtjW2Y+PjJdPTA7ej0wfWVsc2V7ej1tfX1l
bHNle3o9MH14PSh6fDApPT0wO0E9Y1tnPj4yXXwwO2Rve2lmKChBfDApIT0wKXtpZigoY1tBKzEy
Pj4yXXwwKSE9KGNbQSsxNj4+Ml18MCkpe2lmKHgpe0I9QTticmVha31lbHNle0M9QTtEPXk7YnJl
YWsgYX19aWYoISgoRGNbY1soY1tBPj4yXXwwKSszNj4+Ml0mMTI3XShBKXwwKT09LTEpKXtpZih4
KXtCPUE7YnJlYWt9ZWxzZXtDPUE7RD15O2JyZWFrIGF9fWVsc2V7Y1tnPj4yXT0wO0U9MTg7YnJl
YWt9fWVsc2V7RT0xOH19d2hpbGUoMCk7aWYoKEV8MCk9PTE4KXtFPTA7aWYoeCl7Qz0wO0Q9eTti
cmVha31lbHNle0I9MH19QT1hW29dfDA7Rj0oQSYxKT09MDtpZihGKXtHPShBJjI1NSk+Pj4xfWVs
c2V7Rz1jW2g+PjJdfDB9aWYoKChjW3A+PjJdfDApLXl8MCk9PShHfDApKXtpZihGKXtIPShBJjI1
NSk+Pj4xO0k9KEEmMjU1KT4+PjF9ZWxzZXtBPWNbaD4+Ml18MDtIPUE7ST1BfWhnKG8sSDw8MSww
KTtpZigoYVtvXSYxKT09MCl7Sj0xMH1lbHNle0o9KGNbbz4+Ml0mLTIpKyAtMXwwfWhnKG8sSiww
KTtpZigoYVtvXSYxKT09MCl7Sz12fWVsc2V7Sz1jW3c+PjJdfDB9Y1twPj4yXT1LK0k7TD1LfWVs
c2V7TD15fUE9eisxMnwwO0Y9Y1tBPj4yXXwwO009eisxNnwwO2lmKChGfDApPT0oY1tNPj4yXXww
KSl7Tj1EY1tjWyhjW3o+PjJdfDApKzM2Pj4yXSYxMjddKHopfDB9ZWxzZXtOPWRbRl18MH1pZigo
bWkoTiYyNTUsdSxMLHAscyx0LG4scSxyLGwpfDApIT0wKXtDPUI7RD1MO2JyZWFrfUY9Y1tBPj4y
XXwwO2lmKChGfDApPT0oY1tNPj4yXXwwKSl7RGNbY1soY1t6Pj4yXXwwKSs0MD4+Ml0mMTI3XSh6
KXwwO209ejt5PUw7Y29udGludWV9ZWxzZXtjW0E+PjJdPUYrMTttPXo7eT1MO2NvbnRpbnVlfX1M
PWFbbl18MDtpZigoTCYxKT09MCl7Tz0oTCYyNTUpPj4+MX1lbHNle089Y1tuKzQ+PjJdfDB9aWYo
KE98MCkhPTA/KE89Y1tyPj4yXXwwLChPLXF8MCk8MTYwKTowKXtMPWNbcz4+Ml18MDtjW3I+PjJd
PU8rNDtjW08+PjJdPUx9Y1trPj4yXT1CbihELGNbcD4+Ml18MCxqLHUpfDA7WGsobixxLGNbcj4+
Ml18MCxqKTtpZigoenwwKSE9MCl7aWYoKGNbeisxMj4+Ml18MCk9PShjW3orMTY+PjJdfDApPyhE
Y1tjWyhjW3o+PjJdfDApKzM2Pj4yXSYxMjddKHopfDApPT0tMTowKXtjW2Y+PjJdPTA7UD0wfWVs
c2V7UD16fX1lbHNle1A9MH16PShQfDApPT0wO2Rve2lmKChDfDApIT0wKXtpZigoY1tDKzEyPj4y
XXwwKSE9KGNbQysxNj4+Ml18MCkpe2lmKCF6KXticmVha31jW2I+PjJdPVA7ZWcobyk7ZWcobik7
aT1lO3JldHVybn1pZigoRGNbY1soY1tDPj4yXXwwKSszNj4+Ml0mMTI3XShDKXwwKT09LTEpe2Nb
Zz4+Ml09MDtFPTU0O2JyZWFrfWlmKHpeKEN8MCk9PTApe2NbYj4+Ml09UDtlZyhvKTtlZyhuKTtp
PWU7cmV0dXJufX1lbHNle0U9NTR9fXdoaWxlKDApO2lmKChFfDApPT01ND8hejowKXtjW2I+PjJd
PVA7ZWcobyk7ZWcobik7aT1lO3JldHVybn1jW2o+PjJdPWNbaj4+Ml18MjtjW2I+PjJdPVA7ZWco
byk7ZWcobik7aT1lO3JldHVybn1mdW5jdGlvbiBkaShhLGIsZCxlLGYsZyxoKXthPWF8MDtiPWJ8
MDtkPWR8MDtlPWV8MDtmPWZ8MDtnPWd8MDtoPWh8MDt2YXIgaj0wLGs9MCxsPTAsbT0wO2I9aTtp
PWkrMTZ8MDtqPWIrMTJ8MDtrPWIrOHwwO2w9Yis0fDA7bT1iO2NbbD4+Ml09Y1tkPj4yXTtjW20+
PjJdPWNbZT4+Ml07Y1trKzA+PjJdPWNbbCswPj4yXTtjW2orMD4+Ml09Y1ttKzA+PjJdO2VpKGEs
MCxrLGosZixnLGgpO2k9YjtyZXR1cm59ZnVuY3Rpb24gZWkoYixlLGYsZyxoLGosayl7Yj1ifDA7
ZT1lfDA7Zj1mfDA7Zz1nfDA7aD1ofDA7aj1qfDA7az1rfDA7dmFyIGw9MCxtPTAsbj0wLG89MCxw
PTAscT0wLHI9MCxzPTAsdD0wLHU9MCx2PTAsdz0wLHg9MCx5PTAsej0wLEE9MCxCPTAsQz0wLEQ9
MCxFPTAsRj0wLEc9MCxIPTAsSj0wLEs9MCxMPTAsTT0wLE49MCxPPTAsUD0wLFE9MDtlPWk7aT1p
KzIyNHwwO2w9ZSsxOTh8MDttPWUrMTk2fDA7bj1lKzE2fDA7bz1lKzR8MDtwPWUrMTkyfDA7cT1l
KzMyfDA7cj1lO3M9ZSsyOHwwO3Q9Y1toKzQ+PjJdJjc0O2lmKCh0fDApPT0wKXt1PTB9ZWxzZSBp
ZigodHwwKT09NjQpe3U9OH1lbHNlIGlmKCh0fDApPT04KXt1PTE2fWVsc2V7dT0xMH1NaShuLGgs
bCxtKTtjW28rMD4+Ml09MDtjW28rND4+Ml09MDtjW28rOD4+Ml09MDtoZyhvLDEwLDApO2lmKChh
W29dJjEpPT0wKXtoPW8rMXwwO3Y9aDt3PW8rOHwwO3g9aH1lbHNle2g9bys4fDA7dj1vKzF8MDt3
PWg7eD1jW2g+PjJdfDB9Y1twPj4yXT14O2Nbcj4+Ml09cTtjW3M+PjJdPTA7aD1vKzR8MDt0PWFb
bV18MDttPWNbZj4+Ml18MDt5PXg7YTp3aGlsZSgxKXtpZigobXwwKSE9MCl7aWYoKGNbbSsxMj4+
Ml18MCk9PShjW20rMTY+PjJdfDApPyhEY1tjWyhjW20+PjJdfDApKzM2Pj4yXSYxMjddKG0pfDAp
PT0tMTowKXtjW2Y+PjJdPTA7ej0wfWVsc2V7ej1tfX1lbHNle3o9MH14PSh6fDApPT0wO0E9Y1tn
Pj4yXXwwO2Rve2lmKChBfDApIT0wKXtpZigoY1tBKzEyPj4yXXwwKSE9KGNbQSsxNj4+Ml18MCkp
e2lmKHgpe0I9QTticmVha31lbHNle0M9QTtEPXk7YnJlYWsgYX19aWYoISgoRGNbY1soY1tBPj4y
XXwwKSszNj4+Ml0mMTI3XShBKXwwKT09LTEpKXtpZih4KXtCPUE7YnJlYWt9ZWxzZXtDPUE7RD15
O2JyZWFrIGF9fWVsc2V7Y1tnPj4yXT0wO0U9MTg7YnJlYWt9fWVsc2V7RT0xOH19d2hpbGUoMCk7
aWYoKEV8MCk9PTE4KXtFPTA7aWYoeCl7Qz0wO0Q9eTticmVha31lbHNle0I9MH19QT1hW29dfDA7
Rj0oQSYxKT09MDtpZihGKXtHPShBJjI1NSk+Pj4xfWVsc2V7Rz1jW2g+PjJdfDB9aWYoKChjW3A+
PjJdfDApLXl8MCk9PShHfDApKXtpZihGKXtIPShBJjI1NSk+Pj4xO0o9KEEmMjU1KT4+PjF9ZWxz
ZXtBPWNbaD4+Ml18MDtIPUE7Sj1BfWhnKG8sSDw8MSwwKTtpZigoYVtvXSYxKT09MCl7Sz0xMH1l
bHNle0s9KGNbbz4+Ml0mLTIpKyAtMXwwfWhnKG8sSywwKTtpZigoYVtvXSYxKT09MCl7TD12fWVs
c2V7TD1jW3c+PjJdfDB9Y1twPj4yXT1MK0o7TT1MfWVsc2V7TT15fUE9eisxMnwwO0Y9Y1tBPj4y
XXwwO049eisxNnwwO2lmKChGfDApPT0oY1tOPj4yXXwwKSl7Tz1EY1tjWyhjW3o+PjJdfDApKzM2
Pj4yXSYxMjddKHopfDB9ZWxzZXtPPWRbRl18MH1pZigobWkoTyYyNTUsdSxNLHAscyx0LG4scSxy
LGwpfDApIT0wKXtDPUI7RD1NO2JyZWFrfUY9Y1tBPj4yXXwwO2lmKChGfDApPT0oY1tOPj4yXXww
KSl7RGNbY1soY1t6Pj4yXXwwKSs0MD4+Ml0mMTI3XSh6KXwwO209ejt5PU07Y29udGludWV9ZWxz
ZXtjW0E+PjJdPUYrMTttPXo7eT1NO2NvbnRpbnVlfX1NPWFbbl18MDtpZigoTSYxKT09MCl7UD0o
TSYyNTUpPj4+MX1lbHNle1A9Y1tuKzQ+PjJdfDB9aWYoKFB8MCkhPTA/KFA9Y1tyPj4yXXwwLChQ
LXF8MCk8MTYwKTowKXtNPWNbcz4+Ml18MDtjW3I+PjJdPVArNDtjW1A+PjJdPU19TT1BbihELGNb
cD4+Ml18MCxqLHUpfDA7dT1rO2NbdT4+Ml09TTtjW3UrND4+Ml09STtYayhuLHEsY1tyPj4yXXww
LGopO2lmKCh6fDApIT0wKXtpZigoY1t6KzEyPj4yXXwwKT09KGNbeisxNj4+Ml18MCk/KERjW2Nb
KGNbej4+Ml18MCkrMzY+PjJdJjEyN10oeil8MCk9PS0xOjApe2NbZj4+Ml09MDtRPTB9ZWxzZXtR
PXp9fWVsc2V7UT0wfXo9KFF8MCk9PTA7ZG97aWYoKEN8MCkhPTApe2lmKChjW0MrMTI+PjJdfDAp
IT0oY1tDKzE2Pj4yXXwwKSl7aWYoIXope2JyZWFrfWNbYj4+Ml09UTtlZyhvKTtlZyhuKTtpPWU7
cmV0dXJufWlmKChEY1tjWyhjW0M+PjJdfDApKzM2Pj4yXSYxMjddKEMpfDApPT0tMSl7Y1tnPj4y
XT0wO0U9NTQ7YnJlYWt9aWYoel4oQ3wwKT09MCl7Y1tiPj4yXT1RO2VnKG8pO2VnKG4pO2k9ZTty
ZXR1cm59fWVsc2V7RT01NH19d2hpbGUoMCk7aWYoKEV8MCk9PTU0PyF6OjApe2NbYj4+Ml09UTtl
ZyhvKTtlZyhuKTtpPWU7cmV0dXJufWNbaj4+Ml09Y1tqPj4yXXwyO2NbYj4+Ml09UTtlZyhvKTtl
ZyhuKTtpPWU7cmV0dXJufWZ1bmN0aW9uIGZpKGEsYixkLGUsZixnLGgpe2E9YXwwO2I9YnwwO2Q9
ZHwwO2U9ZXwwO2Y9ZnwwO2c9Z3wwO2g9aHwwO3ZhciBqPTAsaz0wLGw9MCxtPTA7Yj1pO2k9aSsx
NnwwO2o9YisxMnwwO2s9Yis4fDA7bD1iKzR8MDttPWI7Y1tsPj4yXT1jW2Q+PjJdO2NbbT4+Ml09
Y1tlPj4yXTtjW2srMD4+Ml09Y1tsKzA+PjJdO2NbaiswPj4yXT1jW20rMD4+Ml07Z2koYSwwLGss
aixmLGcsaCk7aT1iO3JldHVybn1mdW5jdGlvbiBnaShiLGUsZixoLGosayxsKXtiPWJ8MDtlPWV8
MDtmPWZ8MDtoPWh8MDtqPWp8MDtrPWt8MDtsPWx8MDt2YXIgbT0wLG49MCxvPTAscD0wLHE9MCxy
PTAscz0wLHQ9MCx1PTAsdj0wLHc9MCx4PTAseT0wLHo9MCxBPTAsQj0wLEM9MCxEPTAsRT0wLEY9
MCxHPTAsSD0wLEk9MCxKPTAsSz0wLEw9MCxNPTAsTj0wLE89MCxQPTAsUT0wLFI9MCxTPTA7ZT1p
O2k9aSsyNTZ8MDttPWUrMjA4fDA7bj1lKzIwMHwwO289ZSsyNDB8MDtwPWU7cT1lKzE4OHwwO3I9
ZSsxODR8MDtzPWUrMTZ8MDt0PWUrMTc2fDA7dT1lKzE4MHwwO3Y9ZSsyNDF8MDt3PWUrMjQyfDA7
TmkocCxqLG0sbixvKTtjW3ErMD4+Ml09MDtjW3ErND4+Ml09MDtjW3ErOD4+Ml09MDtoZyhxLDEw
LDApO2lmKChhW3FdJjEpPT0wKXtqPXErMXwwO3g9ajt5PXErOHwwO3o9an1lbHNle2o9cSs4fDA7
eD1xKzF8MDt5PWo7ej1jW2o+PjJdfDB9Y1tyPj4yXT16O2NbdD4+Ml09cztjW3U+PjJdPTA7YVt2
XT0xO2Fbd109Njk7aj1xKzR8MDtBPWFbbl18MDtuPWFbb118MDtvPWNbZj4+Ml18MDtCPXo7YTp3
aGlsZSgxKXtpZigob3wwKSE9MCl7aWYoKGNbbysxMj4+Ml18MCk9PShjW28rMTY+PjJdfDApPyhE
Y1tjWyhjW28+PjJdfDApKzM2Pj4yXSYxMjddKG8pfDApPT0tMTowKXtjW2Y+PjJdPTA7Qz0wfWVs
c2V7Qz1vfX1lbHNle0M9MH16PShDfDApPT0wO0Q9Y1toPj4yXXwwO2Rve2lmKChEfDApIT0wKXtp
ZigoY1tEKzEyPj4yXXwwKSE9KGNbRCsxNj4+Ml18MCkpe2lmKHope0U9RDticmVha31lbHNle0Y9
RDtHPUI7YnJlYWsgYX19aWYoISgoRGNbY1soY1tEPj4yXXwwKSszNj4+Ml0mMTI3XShEKXwwKT09
LTEpKXtpZih6KXtFPUQ7YnJlYWt9ZWxzZXtGPUQ7Rz1CO2JyZWFrIGF9fWVsc2V7Y1toPj4yXT0w
O0g9MTQ7YnJlYWt9fWVsc2V7SD0xNH19d2hpbGUoMCk7aWYoKEh8MCk9PTE0KXtIPTA7aWYoeil7
Rj0wO0c9QjticmVha31lbHNle0U9MH19RD1hW3FdfDA7ST0oRCYxKT09MDtpZihJKXtKPShEJjI1
NSk+Pj4xfWVsc2V7Sj1jW2o+PjJdfDB9aWYoKChjW3I+PjJdfDApLUJ8MCk9PShKfDApKXtpZihJ
KXtLPShEJjI1NSk+Pj4xO0w9KEQmMjU1KT4+PjF9ZWxzZXtEPWNbaj4+Ml18MDtLPUQ7TD1EfWhn
KHEsSzw8MSwwKTtpZigoYVtxXSYxKT09MCl7TT0xMH1lbHNle009KGNbcT4+Ml0mLTIpKyAtMXww
fWhnKHEsTSwwKTtpZigoYVtxXSYxKT09MCl7Tj14fWVsc2V7Tj1jW3k+PjJdfDB9Y1tyPj4yXT1O
K0w7Tz1OfWVsc2V7Tz1CfUQ9QysxMnwwO0k9Y1tEPj4yXXwwO1A9QysxNnwwO2lmKChJfDApPT0o
Y1tQPj4yXXwwKSl7UT1EY1tjWyhjW0M+PjJdfDApKzM2Pj4yXSYxMjddKEMpfDB9ZWxzZXtRPWRb
SV18MH1pZigoT2koUSYyNTUsdix3LE8scixBLG4scCxzLHQsdSxtKXwwKSE9MCl7Rj1FO0c9Tzti
cmVha31JPWNbRD4+Ml18MDtpZigoSXwwKT09KGNbUD4+Ml18MCkpe0RjW2NbKGNbQz4+Ml18MCkr
NDA+PjJdJjEyN10oQyl8MDtvPUM7Qj1PO2NvbnRpbnVlfWVsc2V7Y1tEPj4yXT1JKzE7bz1DO0I9
Tztjb250aW51ZX19Tz1hW3BdfDA7aWYoKE8mMSk9PTApe1I9KE8mMjU1KT4+PjF9ZWxzZXtSPWNb
cCs0Pj4yXXwwfWlmKCgoUnwwKSE9MD8oYVt2XXwwKSE9MDowKT8odj1jW3Q+PjJdfDAsKHYtc3ww
KTwxNjApOjApe1I9Y1t1Pj4yXXwwO2NbdD4+Ml09dis0O2Nbdj4+Ml09Un1nW2w+PjJdPSt6bihH
LGNbcj4+Ml18MCxrKTtYayhwLHMsY1t0Pj4yXXwwLGspO2lmKChDfDApIT0wKXtpZigoY1tDKzEy
Pj4yXXwwKT09KGNbQysxNj4+Ml18MCk/KERjW2NbKGNbQz4+Ml18MCkrMzY+PjJdJjEyN10oQyl8
MCk9PS0xOjApe2NbZj4+Ml09MDtTPTB9ZWxzZXtTPUN9fWVsc2V7Uz0wfUM9KFN8MCk9PTA7ZG97
aWYoKEZ8MCkhPTApe2lmKChjW0YrMTI+PjJdfDApIT0oY1tGKzE2Pj4yXXwwKSl7aWYoIUMpe2Jy
ZWFrfWNbYj4+Ml09UztlZyhxKTtlZyhwKTtpPWU7cmV0dXJufWlmKChEY1tjWyhjW0Y+PjJdfDAp
KzM2Pj4yXSYxMjddKEYpfDApPT0tMSl7Y1toPj4yXT0wO0g9NTE7YnJlYWt9aWYoQ14oRnwwKT09
MCl7Y1tiPj4yXT1TO2VnKHEpO2VnKHApO2k9ZTtyZXR1cm59fWVsc2V7SD01MX19d2hpbGUoMCk7
aWYoKEh8MCk9PTUxPyFDOjApe2NbYj4+Ml09UztlZyhxKTtlZyhwKTtpPWU7cmV0dXJufWNbaz4+
Ml09Y1trPj4yXXwyO2NbYj4+Ml09UztlZyhxKTtlZyhwKTtpPWU7cmV0dXJufWZ1bmN0aW9uIGhp
KGEsYixkLGUsZixnLGgpe2E9YXwwO2I9YnwwO2Q9ZHwwO2U9ZXwwO2Y9ZnwwO2c9Z3wwO2g9aHww
O3ZhciBqPTAsaz0wLGw9MCxtPTA7Yj1pO2k9aSsxNnwwO2o9YisxMnwwO2s9Yis4fDA7bD1iKzR8
MDttPWI7Y1tsPj4yXT1jW2Q+PjJdO2NbbT4+Ml09Y1tlPj4yXTtjW2srMD4+Ml09Y1tsKzA+PjJd
O2NbaiswPj4yXT1jW20rMD4+Ml07aWkoYSwwLGssaixmLGcsaCk7aT1iO3JldHVybn1mdW5jdGlv
biBpaShiLGUsZixnLGosayxsKXtiPWJ8MDtlPWV8MDtmPWZ8MDtnPWd8MDtqPWp8MDtrPWt8MDts
PWx8MDt2YXIgbT0wLG49MCxvPTAscD0wLHE9MCxyPTAscz0wLHQ9MCx1PTAsdj0wLHc9MCx4PTAs
eT0wLHo9MCxBPTAsQj0wLEM9MCxEPTAsRT0wLEY9MCxHPTAsSD0wLEk9MCxKPTAsSz0wLEw9MCxN
PTAsTj0wLE89MCxQPTAsUT0wLFI9MCxTPTA7ZT1pO2k9aSsyNTZ8MDttPWUrMjA4fDA7bj1lKzIw
MHwwO289ZSsyNDB8MDtwPWU7cT1lKzE4OHwwO3I9ZSsxODR8MDtzPWUrMTZ8MDt0PWUrMTc2fDA7
dT1lKzE4MHwwO3Y9ZSsyNDF8MDt3PWUrMjQyfDA7TmkocCxqLG0sbixvKTtjW3ErMD4+Ml09MDtj
W3ErND4+Ml09MDtjW3ErOD4+Ml09MDtoZyhxLDEwLDApO2lmKChhW3FdJjEpPT0wKXtqPXErMXww
O3g9ajt5PXErOHwwO3o9an1lbHNle2o9cSs4fDA7eD1xKzF8MDt5PWo7ej1jW2o+PjJdfDB9Y1ty
Pj4yXT16O2NbdD4+Ml09cztjW3U+PjJdPTA7YVt2XT0xO2Fbd109Njk7aj1xKzR8MDtBPWFbbl18
MDtuPWFbb118MDtvPWNbZj4+Ml18MDtCPXo7YTp3aGlsZSgxKXtpZigob3wwKSE9MCl7aWYoKGNb
bysxMj4+Ml18MCk9PShjW28rMTY+PjJdfDApPyhEY1tjWyhjW28+PjJdfDApKzM2Pj4yXSYxMjdd
KG8pfDApPT0tMTowKXtjW2Y+PjJdPTA7Qz0wfWVsc2V7Qz1vfX1lbHNle0M9MH16PShDfDApPT0w
O0Q9Y1tnPj4yXXwwO2Rve2lmKChEfDApIT0wKXtpZigoY1tEKzEyPj4yXXwwKSE9KGNbRCsxNj4+
Ml18MCkpe2lmKHope0U9RDticmVha31lbHNle0Y9RDtHPUI7YnJlYWsgYX19aWYoISgoRGNbY1so
Y1tEPj4yXXwwKSszNj4+Ml0mMTI3XShEKXwwKT09LTEpKXtpZih6KXtFPUQ7YnJlYWt9ZWxzZXtG
PUQ7Rz1CO2JyZWFrIGF9fWVsc2V7Y1tnPj4yXT0wO0g9MTQ7YnJlYWt9fWVsc2V7SD0xNH19d2hp
bGUoMCk7aWYoKEh8MCk9PTE0KXtIPTA7aWYoeil7Rj0wO0c9QjticmVha31lbHNle0U9MH19RD1h
W3FdfDA7ST0oRCYxKT09MDtpZihJKXtKPShEJjI1NSk+Pj4xfWVsc2V7Sj1jW2o+PjJdfDB9aWYo
KChjW3I+PjJdfDApLUJ8MCk9PShKfDApKXtpZihJKXtLPShEJjI1NSk+Pj4xO0w9KEQmMjU1KT4+
PjF9ZWxzZXtEPWNbaj4+Ml18MDtLPUQ7TD1EfWhnKHEsSzw8MSwwKTtpZigoYVtxXSYxKT09MCl7
TT0xMH1lbHNle009KGNbcT4+Ml0mLTIpKyAtMXwwfWhnKHEsTSwwKTtpZigoYVtxXSYxKT09MCl7
Tj14fWVsc2V7Tj1jW3k+PjJdfDB9Y1tyPj4yXT1OK0w7Tz1OfWVsc2V7Tz1CfUQ9QysxMnwwO0k9
Y1tEPj4yXXwwO1A9QysxNnwwO2lmKChJfDApPT0oY1tQPj4yXXwwKSl7UT1EY1tjWyhjW0M+PjJd
fDApKzM2Pj4yXSYxMjddKEMpfDB9ZWxzZXtRPWRbSV18MH1pZigoT2koUSYyNTUsdix3LE8scixB
LG4scCxzLHQsdSxtKXwwKSE9MCl7Rj1FO0c9TzticmVha31JPWNbRD4+Ml18MDtpZigoSXwwKT09
KGNbUD4+Ml18MCkpe0RjW2NbKGNbQz4+Ml18MCkrNDA+PjJdJjEyN10oQyl8MDtvPUM7Qj1PO2Nv
bnRpbnVlfWVsc2V7Y1tEPj4yXT1JKzE7bz1DO0I9Tztjb250aW51ZX19Tz1hW3BdfDA7aWYoKE8m
MSk9PTApe1I9KE8mMjU1KT4+PjF9ZWxzZXtSPWNbcCs0Pj4yXXwwfWlmKCgoUnwwKSE9MD8oYVt2
XXwwKSE9MDowKT8odj1jW3Q+PjJdfDAsKHYtc3wwKTwxNjApOjApe1I9Y1t1Pj4yXXwwO2NbdD4+
Ml09dis0O2Nbdj4+Ml09Un1oW2w+PjNdPSt5bihHLGNbcj4+Ml18MCxrKTtYayhwLHMsY1t0Pj4y
XXwwLGspO2lmKChDfDApIT0wKXtpZigoY1tDKzEyPj4yXXwwKT09KGNbQysxNj4+Ml18MCk/KERj
W2NbKGNbQz4+Ml18MCkrMzY+PjJdJjEyN10oQyl8MCk9PS0xOjApe2NbZj4+Ml09MDtTPTB9ZWxz
ZXtTPUN9fWVsc2V7Uz0wfUM9KFN8MCk9PTA7ZG97aWYoKEZ8MCkhPTApe2lmKChjW0YrMTI+PjJd
fDApIT0oY1tGKzE2Pj4yXXwwKSl7aWYoIUMpe2JyZWFrfWNbYj4+Ml09UztlZyhxKTtlZyhwKTtp
PWU7cmV0dXJufWlmKChEY1tjWyhjW0Y+PjJdfDApKzM2Pj4yXSYxMjddKEYpfDApPT0tMSl7Y1tn
Pj4yXT0wO0g9NTE7YnJlYWt9aWYoQ14oRnwwKT09MCl7Y1tiPj4yXT1TO2VnKHEpO2VnKHApO2k9
ZTtyZXR1cm59fWVsc2V7SD01MX19d2hpbGUoMCk7aWYoKEh8MCk9PTUxPyFDOjApe2NbYj4+Ml09
UztlZyhxKTtlZyhwKTtpPWU7cmV0dXJufWNbaz4+Ml09Y1trPj4yXXwyO2NbYj4+Ml09UztlZyhx
KTtlZyhwKTtpPWU7cmV0dXJufWZ1bmN0aW9uIGppKGEsYixkLGUsZixnLGgpe2E9YXwwO2I9Ynww
O2Q9ZHwwO2U9ZXwwO2Y9ZnwwO2c9Z3wwO2g9aHwwO3ZhciBqPTAsaz0wLGw9MCxtPTA7Yj1pO2k9
aSsxNnwwO2o9YisxMnwwO2s9Yis4fDA7bD1iKzR8MDttPWI7Y1tsPj4yXT1jW2Q+PjJdO2NbbT4+
Ml09Y1tlPj4yXTtjW2srMD4+Ml09Y1tsKzA+PjJdO2NbaiswPj4yXT1jW20rMD4+Ml07a2koYSww
LGssaixmLGcsaCk7aT1iO3JldHVybn1mdW5jdGlvbiBraShiLGUsZixnLGosayxsKXtiPWJ8MDtl
PWV8MDtmPWZ8MDtnPWd8MDtqPWp8MDtrPWt8MDtsPWx8MDt2YXIgbT0wLG49MCxvPTAscD0wLHE9
MCxyPTAscz0wLHQ9MCx1PTAsdj0wLHc9MCx4PTAseT0wLHo9MCxBPTAsQj0wLEM9MCxEPTAsRT0w
LEY9MCxHPTAsSD0wLEk9MCxKPTAsSz0wLEw9MCxNPTAsTj0wLE89MCxQPTAsUT0wLFI9MCxTPTA7
ZT1pO2k9aSsyNTZ8MDttPWUrMjA4fDA7bj1lKzIwMHwwO289ZSsyNDB8MDtwPWU7cT1lKzE4OHww
O3I9ZSsxODR8MDtzPWUrMTZ8MDt0PWUrMTc2fDA7dT1lKzE4MHwwO3Y9ZSsyNDF8MDt3PWUrMjQy
fDA7TmkocCxqLG0sbixvKTtjW3ErMD4+Ml09MDtjW3ErND4+Ml09MDtjW3ErOD4+Ml09MDtoZyhx
LDEwLDApO2lmKChhW3FdJjEpPT0wKXtqPXErMXwwO3g9ajt5PXErOHwwO3o9an1lbHNle2o9cSs4
fDA7eD1xKzF8MDt5PWo7ej1jW2o+PjJdfDB9Y1tyPj4yXT16O2NbdD4+Ml09cztjW3U+PjJdPTA7
YVt2XT0xO2Fbd109Njk7aj1xKzR8MDtBPWFbbl18MDtuPWFbb118MDtvPWNbZj4+Ml18MDtCPXo7
YTp3aGlsZSgxKXtpZigob3wwKSE9MCl7aWYoKGNbbysxMj4+Ml18MCk9PShjW28rMTY+PjJdfDAp
PyhEY1tjWyhjW28+PjJdfDApKzM2Pj4yXSYxMjddKG8pfDApPT0tMTowKXtjW2Y+PjJdPTA7Qz0w
fWVsc2V7Qz1vfX1lbHNle0M9MH16PShDfDApPT0wO0Q9Y1tnPj4yXXwwO2Rve2lmKChEfDApIT0w
KXtpZigoY1tEKzEyPj4yXXwwKSE9KGNbRCsxNj4+Ml18MCkpe2lmKHope0U9RDticmVha31lbHNl
e0Y9RDtHPUI7YnJlYWsgYX19aWYoISgoRGNbY1soY1tEPj4yXXwwKSszNj4+Ml0mMTI3XShEKXww
KT09LTEpKXtpZih6KXtFPUQ7YnJlYWt9ZWxzZXtGPUQ7Rz1CO2JyZWFrIGF9fWVsc2V7Y1tnPj4y
XT0wO0g9MTQ7YnJlYWt9fWVsc2V7SD0xNH19d2hpbGUoMCk7aWYoKEh8MCk9PTE0KXtIPTA7aWYo
eil7Rj0wO0c9QjticmVha31lbHNle0U9MH19RD1hW3FdfDA7ST0oRCYxKT09MDtpZihJKXtKPShE
JjI1NSk+Pj4xfWVsc2V7Sj1jW2o+PjJdfDB9aWYoKChjW3I+PjJdfDApLUJ8MCk9PShKfDApKXtp
ZihJKXtLPShEJjI1NSk+Pj4xO0w9KEQmMjU1KT4+PjF9ZWxzZXtEPWNbaj4+Ml18MDtLPUQ7TD1E
fWhnKHEsSzw8MSwwKTtpZigoYVtxXSYxKT09MCl7TT0xMH1lbHNle009KGNbcT4+Ml0mLTIpKyAt
MXwwfWhnKHEsTSwwKTtpZigoYVtxXSYxKT09MCl7Tj14fWVsc2V7Tj1jW3k+PjJdfDB9Y1tyPj4y
XT1OK0w7Tz1OfWVsc2V7Tz1CfUQ9QysxMnwwO0k9Y1tEPj4yXXwwO1A9QysxNnwwO2lmKChJfDAp
PT0oY1tQPj4yXXwwKSl7UT1EY1tjWyhjW0M+PjJdfDApKzM2Pj4yXSYxMjddKEMpfDB9ZWxzZXtR
PWRbSV18MH1pZigoT2koUSYyNTUsdix3LE8scixBLG4scCxzLHQsdSxtKXwwKSE9MCl7Rj1FO0c9
TzticmVha31JPWNbRD4+Ml18MDtpZigoSXwwKT09KGNbUD4+Ml18MCkpe0RjW2NbKGNbQz4+Ml18
MCkrNDA+PjJdJjEyN10oQyl8MDtvPUM7Qj1PO2NvbnRpbnVlfWVsc2V7Y1tEPj4yXT1JKzE7bz1D
O0I9Tztjb250aW51ZX19Tz1hW3BdfDA7aWYoKE8mMSk9PTApe1I9KE8mMjU1KT4+PjF9ZWxzZXtS
PWNbcCs0Pj4yXXwwfWlmKCgoUnwwKSE9MD8oYVt2XXwwKSE9MDowKT8odj1jW3Q+PjJdfDAsKHYt
c3wwKTwxNjApOjApe1I9Y1t1Pj4yXXwwO2NbdD4+Ml09dis0O2Nbdj4+Ml09Un1oW2w+PjNdPSt4
bihHLGNbcj4+Ml18MCxrKTtYayhwLHMsY1t0Pj4yXXwwLGspO2lmKChDfDApIT0wKXtpZigoY1tD
KzEyPj4yXXwwKT09KGNbQysxNj4+Ml18MCk/KERjW2NbKGNbQz4+Ml18MCkrMzY+PjJdJjEyN10o
Qyl8MCk9PS0xOjApe2NbZj4+Ml09MDtTPTB9ZWxzZXtTPUN9fWVsc2V7Uz0wfUM9KFN8MCk9PTA7
ZG97aWYoKEZ8MCkhPTApe2lmKChjW0YrMTI+PjJdfDApIT0oY1tGKzE2Pj4yXXwwKSl7aWYoIUMp
e2JyZWFrfWNbYj4+Ml09UztlZyhxKTtlZyhwKTtpPWU7cmV0dXJufWlmKChEY1tjWyhjW0Y+PjJd
fDApKzM2Pj4yXSYxMjddKEYpfDApPT0tMSl7Y1tnPj4yXT0wO0g9NTE7YnJlYWt9aWYoQ14oRnww
KT09MCl7Y1tiPj4yXT1TO2VnKHEpO2VnKHApO2k9ZTtyZXR1cm59fWVsc2V7SD01MX19d2hpbGUo
MCk7aWYoKEh8MCk9PTUxPyFDOjApe2NbYj4+Ml09UztlZyhxKTtlZyhwKTtpPWU7cmV0dXJufWNb
az4+Ml09Y1trPj4yXXwyO2NbYj4+Ml09UztlZyhxKTtlZyhwKTtpPWU7cmV0dXJufWZ1bmN0aW9u
IGxpKGIsZSxmLGcsaCxqLGspe2I9YnwwO2U9ZXwwO2Y9ZnwwO2c9Z3wwO2g9aHwwO2o9anwwO2s9
a3wwO3ZhciBsPTAsbT0wLG49MCxvPTAscD0wLHE9MCxyPTAscz0wLHQ9MCx1PTAsdj0wLHc9MCx4
PTAseT0wLHo9MCxBPTAsQj0wLEM9MCxEPTAsRT0wLEY9MCxHPTAsSD0wLEk9MCxKPTAsSz0wLEw9
MCxNPTAsTj0wLE89MCxQPTAsUT0wLFI9MCxTPTAsVD0wLFU9MCxWPTAsVz0wLFg9MDtlPWk7aT1p
KzI0MHwwO2w9ZTttPWUrMjA0fDA7bj1lKzE5MnwwO289ZSsxODh8MDtwPWUrMTc2fDA7cT1lKzE2
fDA7Y1tuKzA+PjJdPTA7Y1tuKzQ+PjJdPTA7Y1tuKzg+PjJdPTA7emcobyxoKTtoPWNbbz4+Ml18
MDtpZighKChjWzI5OThdfDApPT0tMSkpe2NbbD4+Ml09MTE5OTI7Y1tsKzQ+PjJdPTEzNDtjW2wr
OD4+Ml09MDskZigxMTk5MixsLDEzNSl9cj0oY1sxMTk5Nj4+Ml18MCkrIC0xfDA7cz1jW2grOD4+
Ml18MDtpZighKChjW2grMTI+PjJdfDApLXM+PjI+Pj4wPnI+Pj4wKSl7dD1EYig0KXwwOyRuKHQp
O3BjKHR8MCwxOTk1MiwxMjMpfWg9Y1tzKyhyPDwyKT4+Ml18MDtpZigoaHwwKT09MCl7dD1EYig0
KXwwOyRuKHQpO3BjKHR8MCwxOTk1MiwxMjMpfUpjW2NbKGNbaD4+Ml18MCkrMzI+PjJdJjddKGgs
MTA1MzYsMTA1NjJ8MCxtKXwwO0hmKGNbbz4+Ml18MCl8MDtjW3ArMD4+Ml09MDtjW3ArND4+Ml09
MDtjW3ArOD4+Ml09MDtoZyhwLDEwLDApO2lmKChhW3BdJjEpPT0wKXtvPXArMXwwO3U9bzt2PXAr
OHwwO3c9b31lbHNle289cCs4fDA7dT1wKzF8MDt2PW87dz1jW28+PjJdfDB9bz1wKzR8MDtoPW0r
MjR8MDt0PW0rMjV8MDtyPXE7cz1tKzI2fDA7eD1tO3k9bis0fDA7ej1jW2Y+PjJdfDA7QT1xO3E9
MDtCPXc7Qz13O2E6d2hpbGUoMSl7aWYoKHp8MCkhPTApe2lmKChjW3orMTI+PjJdfDApPT0oY1t6
KzE2Pj4yXXwwKT8oRGNbY1soY1t6Pj4yXXwwKSszNj4+Ml0mMTI3XSh6KXwwKT09LTE6MCl7Y1tm
Pj4yXT0wO0Q9MH1lbHNle0Q9en19ZWxzZXtEPTB9dz0oRHwwKT09MDtFPWNbZz4+Ml18MDtkb3tp
ZigoRXwwKSE9MCl7aWYoKGNbRSsxMj4+Ml18MCkhPShjW0UrMTY+PjJdfDApKXtpZih3KXticmVh
a31lbHNle0Y9QzticmVhayBhfX1pZighKChEY1tjWyhjW0U+PjJdfDApKzM2Pj4yXSYxMjddKEUp
fDApPT0tMSkpe2lmKHcpe2JyZWFrfWVsc2V7Rj1DO2JyZWFrIGF9fWVsc2V7Y1tnPj4yXT0wO0c9
MTk7YnJlYWt9fWVsc2V7Rz0xOX19d2hpbGUoMCk7aWYoKEd8MCk9PTE5PyhHPTAsdyk6MCl7Rj1D
O2JyZWFrfUU9YVtwXXwwO0g9KEUmMSk9PTA7aWYoSCl7ST0oRSYyNTUpPj4+MX1lbHNle0k9Y1tv
Pj4yXXwwfWlmKChCLUN8MCk9PShJfDApKXtpZihIKXtKPShFJjI1NSk+Pj4xO0s9KEUmMjU1KT4+
PjF9ZWxzZXtFPWNbbz4+Ml18MDtKPUU7Sz1FfWhnKHAsSjw8MSwwKTtpZigoYVtwXSYxKT09MCl7
TD0xMH1lbHNle0w9KGNbcD4+Ml0mLTIpKyAtMXwwfWhnKHAsTCwwKTtpZigoYVtwXSYxKT09MCl7
TT11fWVsc2V7TT1jW3Y+PjJdfDB9Tj1NK0t8MDtPPU19ZWxzZXtOPUI7Tz1DfUU9Y1tEKzEyPj4y
XXwwO2lmKChFfDApPT0oY1tEKzE2Pj4yXXwwKSl7UD1EY1tjWyhjW0Q+PjJdfDApKzM2Pj4yXSYx
MjddKEQpfDB9ZWxzZXtQPWRbRV18MH1FPVAmMjU1O0g9KE58MCk9PShPfDApO2Rve2lmKEgpe1E9
KGFbaF18MCk9PUU8PDI0Pj4yNDtpZighUT8hKChhW3RdfDApPT1FPDwyND4+MjQpOjApe0c9NDA7
YnJlYWt9YVtOXT1RPzQzOjQ1O1I9TisxfDA7Uz1BO1Q9MH1lbHNle0c9NDB9fXdoaWxlKDApO2Rv
e2lmKChHfDApPT00MCl7Rz0wO3c9YVtuXXwwO2lmKCh3JjEpPT0wKXtVPSh3JjI1NSk+Pj4xfWVs
c2V7VT1jW3k+PjJdfDB9aWYoKFV8MCkhPTAmRTw8MjQ+PjI0PT0wKXtpZigoQS1yfDApPj0xNjAp
e1I9TjtTPUE7VD1xO2JyZWFrfWNbQT4+Ml09cTtSPU47Uz1BKzR8MDtUPTA7YnJlYWt9ZWxzZXtW
PW19d2hpbGUoMSl7dz1WKzF8MDtpZigoYVtWXXwwKT09RTw8MjQ+PjI0KXtXPVY7YnJlYWt9aWYo
KHd8MCk9PShzfDApKXtXPXM7YnJlYWt9ZWxzZXtWPXd9fXc9Vy14fDA7aWYoKHd8MCk+MjMpe0Y9
TzticmVhayBhfWlmKCh3fDApPDIyKXthW05dPWFbMTA1MzYrd3wwXXwwO1I9TisxfDA7Uz1BO1Q9
cSsxfDA7YnJlYWt9aWYoSCl7Rj1OO2JyZWFrIGF9aWYoKE4tT3wwKT49Myl7Rj1PO2JyZWFrIGF9
aWYoKGFbTisgLTF8MF18MCkhPTQ4KXtGPU87YnJlYWsgYX1hW05dPWFbMTA1MzYrd3wwXXwwO1I9
TisxfDA7Uz1BO1Q9MH19d2hpbGUoMCk7SD1jW2Y+PjJdfDA7RT1IKzEyfDA7dz1jW0U+PjJdfDA7
aWYoKHd8MCk9PShjW0grMTY+PjJdfDApKXtEY1tjWyhjW0g+PjJdfDApKzQwPj4yXSYxMjddKEgp
fDA7ej1IO0E9UztxPVQ7Qj1SO0M9Tztjb250aW51ZX1lbHNle2NbRT4+Ml09dysxO3o9SDtBPVM7
cT1UO0I9UjtDPU87Y29udGludWV9fWFbRiszfDBdPTA7aWYoKGFbMTE4ODhdfDApPT0wPyhIYSgx
MTg4OCl8MCkhPTA6MCl7Y1syOTcwXT1sYigyMTQ3NDgzNjQ3LDExODk2LDApfDA7aWIoMTE4ODgp
fU89Y1syOTcwXXwwO2NbbD4+Ml09aztpZigobmkoRixPLDEwNTc2LGwpfDApIT0xKXtjW2o+PjJd
PTR9bD1jW2Y+PjJdfDA7aWYoKGx8MCkhPTApe2lmKChjW2wrMTI+PjJdfDApPT0oY1tsKzE2Pj4y
XXwwKT8oRGNbY1soY1tsPj4yXXwwKSszNj4+Ml0mMTI3XShsKXwwKT09LTE6MCl7Y1tmPj4yXT0w
O1g9MH1lbHNle1g9bH19ZWxzZXtYPTB9bD0oWHwwKT09MDtmPWNbZz4+Ml18MDtkb3tpZigoZnww
KSE9MCl7aWYoKGNbZisxMj4+Ml18MCkhPShjW2YrMTY+PjJdfDApKXtpZighbCl7YnJlYWt9Y1ti
Pj4yXT1YO2VnKHApO2VnKG4pO2k9ZTtyZXR1cm59aWYoKERjW2NbKGNbZj4+Ml18MCkrMzY+PjJd
JjEyN10oZil8MCk9PS0xKXtjW2c+PjJdPTA7Rz03MjticmVha31pZihsXihmfDApPT0wKXtjW2I+
PjJdPVg7ZWcocCk7ZWcobik7aT1lO3JldHVybn19ZWxzZXtHPTcyfX13aGlsZSgwKTtpZigoR3ww
KT09NzI/IWw6MCl7Y1tiPj4yXT1YO2VnKHApO2VnKG4pO2k9ZTtyZXR1cm59Y1tqPj4yXT1jW2o+
PjJdfDI7Y1tiPj4yXT1YO2VnKHApO2VnKG4pO2k9ZTtyZXR1cm59ZnVuY3Rpb24gbWkoYixkLGUs
ZixnLGgsaixrLGwsbSl7Yj1ifDA7ZD1kfDA7ZT1lfDA7Zj1mfDA7Zz1nfDA7aD1ofDA7aj1qfDA7
az1rfDA7bD1sfDA7bT1tfDA7dmFyIG49MCxvPTAscD0wLHE9MCxyPTAscz0wLHQ9MDtuPWk7bz1j
W2Y+PjJdfDA7cD0ob3wwKT09KGV8MCk7ZG97aWYocCl7cT0oYVttKzI0fDBdfDApPT1iPDwyND4+
MjQ7aWYoIXE/ISgoYVttKzI1fDBdfDApPT1iPDwyND4+MjQpOjApe2JyZWFrfWNbZj4+Ml09ZSsx
O2FbZV09cT80Mzo0NTtjW2c+PjJdPTA7cj0wO2k9bjtyZXR1cm4gcnwwfX13aGlsZSgwKTtxPWFb
al18MDtpZigocSYxKT09MCl7cz0ocSYyNTUpPj4+MX1lbHNle3M9Y1tqKzQ+PjJdfDB9aWYoKHN8
MCkhPTAmYjw8MjQ+PjI0PT1oPDwyND4+MjQpe2g9Y1tsPj4yXXwwO2lmKChoLWt8MCk+PTE2MCl7
cj0wO2k9bjtyZXR1cm4gcnwwfWs9Y1tnPj4yXXwwO2NbbD4+Ml09aCs0O2NbaD4+Ml09aztjW2c+
PjJdPTA7cj0wO2k9bjtyZXR1cm4gcnwwfWs9bSsyNnwwO2g9bTt3aGlsZSgxKXtsPWgrMXwwO2lm
KChhW2hdfDApPT1iPDwyND4+MjQpe3Q9aDticmVha31pZigobHwwKT09KGt8MCkpe3Q9azticmVh
a31lbHNle2g9bH19aD10LW18MDtpZigoaHwwKT4yMyl7cj0tMTtpPW47cmV0dXJuIHJ8MH1pZigo
ZHwwKT09MTB8KGR8MCk9PTgpe2lmKChofDApPj0oZHwwKSl7cj0tMTtpPW47cmV0dXJuIHJ8MH19
ZWxzZSBpZigoZHwwKT09MTY/KGh8MCk+PTIyOjApe2lmKHApe3I9LTE7aT1uO3JldHVybiByfDB9
aWYoKG8tZXwwKT49Myl7cj0tMTtpPW47cmV0dXJuIHJ8MH1pZigoYVtvKyAtMXwwXXwwKSE9NDgp
e3I9LTE7aT1uO3JldHVybiByfDB9Y1tnPj4yXT0wO2U9YVsxMDUzNitofDBdfDA7Y1tmPj4yXT1v
KzE7YVtvXT1lO3I9MDtpPW47cmV0dXJuIHJ8MH1lPWFbMTA1MzYraHwwXXwwO2NbZj4+Ml09bysx
O2Fbb109ZTtjW2c+PjJdPShjW2c+PjJdfDApKzE7cj0wO2k9bjtyZXR1cm4gcnwwfWZ1bmN0aW9u
IG5pKGEsYixkLGUpe2E9YXwwO2I9YnwwO2Q9ZHwwO2U9ZXwwO3ZhciBmPTAsZz0wO2Y9aTtpPWkr
MTZ8MDtnPWY7Y1tnPj4yXT1lO2U9R2IoYnwwKXwwO2I9RmEoYXwwLGR8MCxnfDApfDA7aWYoKGV8
MCk9PTApe2k9ZjtyZXR1cm4gYnwwfUdiKGV8MCl8MDtpPWY7cmV0dXJuIGJ8MH1mdW5jdGlvbiBv
aShhKXthPWF8MDt2YXIgYj0wO2I9aTtDbyhhKTtpPWI7cmV0dXJufWZ1bmN0aW9uIHBpKGEpe2E9
YXwwO3JldHVybn1mdW5jdGlvbiBxaShiLGQsZSxmLGcsaCxqKXtiPWJ8MDtkPWR8MDtlPWV8MDtm
PWZ8MDtnPWd8MDtoPWh8MDtqPWp8MDt2YXIgaz0wLGw9MCxtPTAsbj0wLG89MCxwPTAscT0wLHI9
MCxzPTAsdD0wLHU9MCx2PTAsdz0wLHg9MDtrPWk7aT1pKzgwfDA7bD1rO209aysyNHwwO249aysy
OHwwO289ayszMnwwO3A9aysxNnwwO3E9aysxMnwwO3I9aysyMHwwO3M9ayszNnwwO3Q9ays0MHww
O3U9ays2NHwwO2lmKChjW2crND4+Ml0mMXwwKT09MCl7Y1tuPj4yXT0tMTt2PWNbKGNbZD4+Ml18
MCkrMTY+PjJdfDA7Y1twPj4yXT1jW2U+PjJdO2NbcT4+Ml09Y1tmPj4yXTtjW20rMD4+Ml09Y1tw
KzA+PjJdO2NbbCswPj4yXT1jW3ErMD4+Ml07eWNbdiY2M10obyxkLG0sbCxnLGgsbik7bT1jW28+
PjJdfDA7Y1tlPj4yXT1tO289Y1tuPj4yXXwwO2lmKChvfDApPT0xKXthW2pdPTF9ZWxzZSBpZigo
b3wwKT09MCl7YVtqXT0wfWVsc2V7YVtqXT0xO2NbaD4+Ml09NH1jW2I+PjJdPW07aT1rO3JldHVy
bn16ZyhyLGcpO209Y1tyPj4yXXwwO2lmKCEoKGNbMjk5Nl18MCk9PS0xKSl7Y1tsPj4yXT0xMTk4
NDtjW2wrND4+Ml09MTM0O2NbbCs4Pj4yXT0wOyRmKDExOTg0LGwsMTM1KX1vPShjWzExOTg4Pj4y
XXwwKSsgLTF8MDtuPWNbbSs4Pj4yXXwwO2lmKCEoKGNbbSsxMj4+Ml18MCktbj4+Mj4+PjA+bz4+
PjApKXt3PURiKDQpfDA7JG4odyk7cGMod3wwLDE5OTUyLDEyMyl9bT1jW24rKG88PDIpPj4yXXww
O2lmKChtfDApPT0wKXt3PURiKDQpfDA7JG4odyk7cGMod3wwLDE5OTUyLDEyMyl9SGYoY1tyPj4y
XXwwKXwwO3pnKHMsZyk7Zz1jW3M+PjJdfDA7aWYoISgoY1szMDM2XXwwKT09LTEpKXtjW2w+PjJd
PTEyMTQ0O2NbbCs0Pj4yXT0xMzQ7Y1tsKzg+PjJdPTA7JGYoMTIxNDQsbCwxMzUpfXI9KGNbMTIx
NDg+PjJdfDApKyAtMXwwO3c9Y1tnKzg+PjJdfDA7aWYoISgoY1tnKzEyPj4yXXwwKS13Pj4yPj4+
MD5yPj4+MCkpe3g9RGIoNCl8MDskbih4KTtwYyh4fDAsMTk5NTIsMTIzKX1nPWNbdysocjw8Mik+
PjJdfDA7aWYoKGd8MCk9PTApe3g9RGIoNCl8MDskbih4KTtwYyh4fDAsMTk5NTIsMTIzKX1IZihj
W3M+PjJdfDApfDA7QmNbY1soY1tnPj4yXXwwKSsyND4+Ml0mNjNdKHQsZyk7QmNbY1soY1tnPj4y
XXwwKSsyOD4+Ml0mNjNdKHQrMTJ8MCxnKTtjW3U+PjJdPWNbZj4+Ml07Zj10KzI0fDA7Y1tsKzA+
PjJdPWNbdSswPj4yXTthW2pdPShyaShlLGwsdCxmLG0saCwxKXwwKT09KHR8MCl8MDtjW2I+PjJd
PWNbZT4+Ml07cWcodCsxMnwwKTtxZyh0KTtpPWs7cmV0dXJufWZ1bmN0aW9uIHJpKGIsZCxlLGYs
ZyxoLGope2I9YnwwO2Q9ZHwwO2U9ZXwwO2Y9ZnwwO2c9Z3wwO2g9aHwwO2o9anwwO3ZhciBrPTAs
bD0wLG09MCxuPTAsbz0wLHA9MCxxPTAscj0wLHM9MCx0PTAsdT0wLHY9MCx3PTAseD0wLHk9MCx6
PTAsQT0wLEI9MCxDPTAsRD0wLEU9MCxGPTAsRz0wLEg9MCxJPTAsSj0wLEs9MCxMPTAsTT0wLE49
MCxPPTAsUD0wLFE9MCxSPTAsUz0wLFQ9MCxVPTAsVj0wLFc9MCxYPTAsWT0wLFo9MCxfPTAsJD0w
LGFhPTAsYmE9MDtrPWk7aT1pKzExMnwwO2w9azttPShmLWV8MCkvMTJ8MDtpZihtPj4+MD4xMDAp
e249dm8obSl8MDtpZigobnwwKT09MCl7SG8oKX1lbHNle289bjtwPW59fWVsc2V7bz0wO3A9bH1s
PShlfDApPT0oZnwwKTtpZihsKXtxPTA7cj1tfWVsc2V7bj1lO3M9MDt0PW07bT1wO3doaWxlKDEp
e3U9YVtuXXwwO2lmKCh1JjEpPT0wKXt2PSh1JjI1NSk+Pj4xfWVsc2V7dj1jW24rND4+Ml18MH1p
ZigodnwwKT09MCl7YVttXT0yO3c9cysxfDA7eD10KyAtMXwwfWVsc2V7YVttXT0xO3c9czt4PXR9
dT1uKzEyfDA7aWYoKHV8MCk9PShmfDApKXtxPXc7cj14O2JyZWFrfWVsc2V7bj11O3M9dzt0PXg7
bT1tKzF8MH19fW09MDt4PXE7cT1yO2E6d2hpbGUoMSl7cj1jW2I+PjJdfDA7ZG97aWYoKHJ8MCkh
PTApe3Q9Y1tyKzEyPj4yXXwwO2lmKCh0fDApPT0oY1tyKzE2Pj4yXXwwKSl7eT1EY1tjWyhjW3I+
PjJdfDApKzM2Pj4yXSYxMjddKHIpfDB9ZWxzZXt5PWNbdD4+Ml18MH1pZigoeXwwKT09LTEpe2Nb
Yj4+Ml09MDt6PTE7YnJlYWt9ZWxzZXt6PShjW2I+PjJdfDApPT0wO2JyZWFrfX1lbHNle3o9MX19
d2hpbGUoMCk7cj1jW2Q+PjJdfDA7aWYoKHJ8MCkhPTApe3Q9Y1tyKzEyPj4yXXwwO2lmKCh0fDAp
PT0oY1tyKzE2Pj4yXXwwKSl7QT1EY1tjWyhjW3I+PjJdfDApKzM2Pj4yXSYxMjddKHIpfDB9ZWxz
ZXtBPWNbdD4+Ml18MH1pZigoQXwwKT09LTEpe2NbZD4+Ml09MDtCPTA7Qz0xfWVsc2V7Qj1yO0M9
MH19ZWxzZXtCPTA7Qz0xfUQ9Y1tiPj4yXXwwO2lmKCEoKHpeQykmKHF8MCkhPTApKXticmVha31y
PWNbRCsxMj4+Ml18MDtpZigocnwwKT09KGNbRCsxNj4+Ml18MCkpe0U9RGNbY1soY1tEPj4yXXww
KSszNj4+Ml0mMTI3XShEKXwwfWVsc2V7RT1jW3I+PjJdfDB9aWYoail7Rj1FfWVsc2V7Rj1NY1tj
WyhjW2c+PjJdfDApKzI4Pj4yXSYzMV0oZyxFKXwwfXI9bSsxfDA7aWYobCl7bT1yO2NvbnRpbnVl
fWI6ZG97aWYoail7dD0wO3c9ZTtzPXg7bj1xO3Y9cDt3aGlsZSgxKXtkb3tpZigoYVt2XXwwKT09
MSl7dT1hW3ddfDA7Rz0odSYxKT09MDtpZihHKXtIPXcrNHwwfWVsc2V7SD1jW3crOD4+Ml18MH1p
ZigoRnwwKSE9KGNbSCsobTw8Mik+PjJdfDApKXthW3ZdPTA7ST10O0o9cztLPW4rIC0xfDA7YnJl
YWt9aWYoRyl7TD0odSYyNTUpPj4+MX1lbHNle0w9Y1t3KzQ+PjJdfDB9aWYoKEx8MCk9PShyfDAp
KXthW3ZdPTI7ST0xO0o9cysxfDA7Sz1uKyAtMXwwfWVsc2V7ST0xO0o9cztLPW59fWVsc2V7ST10
O0o9cztLPW59fXdoaWxlKDApO3U9dysxMnwwO2lmKCh1fDApPT0oZnwwKSl7TT1JO049SjtPPUs7
YnJlYWsgYn10PUk7dz11O3M9SjtuPUs7dj12KzF8MH19ZWxzZXt2PTA7bj1lO3M9eDt3PXE7dD1w
O3doaWxlKDEpe2Rve2lmKChhW3RdfDApPT0xKXtpZigoYVtuXSYxKT09MCl7UD1uKzR8MH1lbHNl
e1A9Y1tuKzg+PjJdfDB9aWYoKEZ8MCkhPShNY1tjWyhjW2c+PjJdfDApKzI4Pj4yXSYzMV0oZyxj
W1ArKG08PDIpPj4yXXwwKXwwKSl7YVt0XT0wO1E9djtSPXM7Uz13KyAtMXwwO2JyZWFrfXU9YVtu
XXwwO2lmKCh1JjEpPT0wKXtUPSh1JjI1NSk+Pj4xfWVsc2V7VD1jW24rND4+Ml18MH1pZigoVHww
KT09KHJ8MCkpe2FbdF09MjtRPTE7Uj1zKzF8MDtTPXcrIC0xfDB9ZWxzZXtRPTE7Uj1zO1M9d319
ZWxzZXtRPXY7Uj1zO1M9d319d2hpbGUoMCk7dT1uKzEyfDA7aWYoKHV8MCk9PShmfDApKXtNPVE7
Tj1SO089UzticmVhayBifXY9UTtuPXU7cz1SO3c9Uzt0PXQrMXwwfX19d2hpbGUoMCk7aWYoIU0p
e209cjt4PU47cT1PO2NvbnRpbnVlfXQ9Y1tiPj4yXXwwO3c9dCsxMnwwO3M9Y1t3Pj4yXXwwO2lm
KChzfDApPT0oY1t0KzE2Pj4yXXwwKSl7RGNbY1soY1t0Pj4yXXwwKSs0MD4+Ml0mMTI3XSh0KXww
fWVsc2V7Y1t3Pj4yXT1zKzR9aWYoKE8rTnwwKT4+PjA8Mil7bT1yO3g9TjtxPU87Y29udGludWV9
ZWxzZXtVPWU7Vj1OO1c9cH13aGlsZSgxKXtpZigoYVtXXXwwKT09Mil7cz1hW1VdfDA7aWYoKHMm
MSk9PTApe1g9KHMmMjU1KT4+PjF9ZWxzZXtYPWNbVSs0Pj4yXXwwfWlmKChYfDApIT0ocnwwKSl7
YVtXXT0wO1k9VisgLTF8MH1lbHNle1k9Vn19ZWxzZXtZPVZ9cz1VKzEyfDA7aWYoKHN8MCk9PShm
fDApKXttPXI7eD1ZO3E9Tztjb250aW51ZSBhfWVsc2V7VT1zO1Y9WTtXPVcrMXwwfX19ZG97aWYo
KER8MCkhPTApe1c9Y1tEKzEyPj4yXXwwO2lmKChXfDApPT0oY1tEKzE2Pj4yXXwwKSl7Wj1EY1tj
WyhjW0Q+PjJdfDApKzM2Pj4yXSYxMjddKEQpfDB9ZWxzZXtaPWNbVz4+Ml18MH1pZigoWnwwKT09
LTEpe2NbYj4+Ml09MDtfPTE7YnJlYWt9ZWxzZXtfPShjW2I+PjJdfDApPT0wO2JyZWFrfX1lbHNl
e189MX19d2hpbGUoMCk7ZG97aWYoKEJ8MCkhPTApe2I9Y1tCKzEyPj4yXXwwO2lmKChifDApPT0o
Y1tCKzE2Pj4yXXwwKSl7JD1EY1tjWyhjW0I+PjJdfDApKzM2Pj4yXSYxMjddKEIpfDB9ZWxzZXsk
PWNbYj4+Ml18MH1pZighKCgkfDApPT0tMSkpe2lmKF8pe2JyZWFrfWVsc2V7YWE9ODc7YnJlYWt9
fWVsc2V7Y1tkPj4yXT0wO2FhPTg1O2JyZWFrfX1lbHNle2FhPTg1fX13aGlsZSgwKTtpZigoYWF8
MCk9PTg1P186MCl7YWE9ODd9aWYoKGFhfDApPT04Nyl7Y1toPj4yXT1jW2g+PjJdfDJ9Yzpkb3tp
ZighbCl7aWYoKGFbcF18MCk9PTIpe2JhPWV9ZWxzZXtfPWU7ZD1wO3doaWxlKDEpeyQ9XysxMnww
O0I9ZCsxfDA7aWYoKCR8MCk9PShmfDApKXthYT05MjticmVhayBjfWlmKChhW0JdfDApPT0yKXti
YT0kO2JyZWFrfWVsc2V7Xz0kO2Q9Qn19fX1lbHNle2FhPTkyfX13aGlsZSgwKTtpZigoYWF8MCk9
PTkyKXtjW2g+PjJdPWNbaD4+Ml18NDtiYT1mfWlmKChvfDApPT0wKXtpPWs7cmV0dXJuIGJhfDB9
d28obyk7aT1rO3JldHVybiBiYXwwfWZ1bmN0aW9uIHNpKGEsYixkLGUsZixnLGgpe2E9YXwwO2I9
YnwwO2Q9ZHwwO2U9ZXwwO2Y9ZnwwO2c9Z3wwO2g9aHwwO3ZhciBqPTAsaz0wLGw9MCxtPTA7Yj1p
O2k9aSsxNnwwO2o9YisxMnwwO2s9Yis4fDA7bD1iKzR8MDttPWI7Y1tsPj4yXT1jW2Q+PjJdO2Nb
bT4+Ml09Y1tlPj4yXTtjW2srMD4+Ml09Y1tsKzA+PjJdO2NbaiswPj4yXT1jW20rMD4+Ml07dGko
YSwwLGssaixmLGcsaCk7aT1iO3JldHVybn1mdW5jdGlvbiB0aShiLGQsZSxmLGcsaCxqKXtiPWJ8
MDtkPWR8MDtlPWV8MDtmPWZ8MDtnPWd8MDtoPWh8MDtqPWp8MDt2YXIgaz0wLGw9MCxtPTAsbj0w
LG89MCxwPTAscT0wLHI9MCxzPTAsdD0wLHU9MCx2PTAsdz0wLHg9MCx5PTAsej0wLEE9MCxCPTAs
Qz0wLEQ9MCxFPTAsRj0wLEc9MCxIPTAsST0wLEo9MCxLPTAsTD0wLE09MCxOPTAsTz0wLFA9MCxR
PTAsUj0wLFM9MCxUPTA7ZD1pO2k9aSszMDR8MDtrPWQrMTYwfDA7bD1kKzI4MHwwO209ZCsyNjR8
MDtuPWQrMjg0fDA7bz1kKzMwMHwwO3A9ZDtxPWQrMjc2fDA7cj1kKzI5NnwwO3M9Y1tnKzQ+PjJd
Jjc0O2lmKChzfDApPT02NCl7dD04fWVsc2UgaWYoKHN8MCk9PTApe3Q9MH1lbHNlIGlmKChzfDAp
PT04KXt0PTE2fWVsc2V7dD0xMH1QaShtLGcsayxsKTtjW24rMD4+Ml09MDtjW24rND4+Ml09MDtj
W24rOD4+Ml09MDtoZyhuLDEwLDApO2lmKChhW25dJjEpPT0wKXtnPW4rMXwwO3U9Zzt2PW4rOHww
O3c9Z31lbHNle2c9bis4fDA7dT1uKzF8MDt2PWc7dz1jW2c+PjJdfDB9Y1tvPj4yXT13O2NbcT4+
Ml09cDtjW3I+PjJdPTA7Zz1uKzR8MDtzPWNbbD4+Ml18MDtsPWNbZT4+Ml18MDt4PXc7YTp3aGls
ZSgxKXtpZigobHwwKSE9MCl7dz1jW2wrMTI+PjJdfDA7aWYoKHd8MCk9PShjW2wrMTY+PjJdfDAp
KXt5PURjW2NbKGNbbD4+Ml18MCkrMzY+PjJdJjEyN10obCl8MH1lbHNle3k9Y1t3Pj4yXXwwfWlm
KCh5fDApPT0tMSl7Y1tlPj4yXT0wO3o9MTtBPTB9ZWxzZXt6PTA7QT1sfX1lbHNle3o9MTtBPTB9
dz1jW2Y+PjJdfDA7ZG97aWYoKHd8MCkhPTApe0I9Y1t3KzEyPj4yXXwwO2lmKChCfDApPT0oY1t3
KzE2Pj4yXXwwKSl7Qz1EY1tjWyhjW3c+PjJdfDApKzM2Pj4yXSYxMjddKHcpfDB9ZWxzZXtDPWNb
Qj4+Ml18MH1pZighKChDfDApPT0tMSkpe2lmKHope0Q9dzticmVha31lbHNle0U9dztGPXg7YnJl
YWsgYX19ZWxzZXtjW2Y+PjJdPTA7Rz0yMTticmVha319ZWxzZXtHPTIxfX13aGlsZSgwKTtpZigo
R3wwKT09MjEpe0c9MDtpZih6KXtFPTA7Rj14O2JyZWFrfWVsc2V7RD0wfX13PWFbbl18MDtCPSh3
JjEpPT0wO2lmKEIpe0g9KHcmMjU1KT4+PjF9ZWxzZXtIPWNbZz4+Ml18MH1pZigoKGNbbz4+Ml18
MCkteHwwKT09KEh8MCkpe2lmKEIpe0k9KHcmMjU1KT4+PjE7Sj0odyYyNTUpPj4+MX1lbHNle3c9
Y1tnPj4yXXwwO0k9dztKPXd9aGcobixJPDwxLDApO2lmKChhW25dJjEpPT0wKXtLPTEwfWVsc2V7
Sz0oY1tuPj4yXSYtMikrIC0xfDB9aGcobixLLDApO2lmKChhW25dJjEpPT0wKXtMPXV9ZWxzZXtM
PWNbdj4+Ml18MH1jW28+PjJdPUwrSjtNPUx9ZWxzZXtNPXh9dz1BKzEyfDA7Qj1jW3c+PjJdfDA7
Tj1BKzE2fDA7aWYoKEJ8MCk9PShjW04+PjJdfDApKXtPPURjW2NbKGNbQT4+Ml18MCkrMzY+PjJd
JjEyN10oQSl8MH1lbHNle089Y1tCPj4yXXwwfWlmKChMaShPLHQsTSxvLHIscyxtLHAscSxrKXww
KSE9MCl7RT1EO0Y9TTticmVha31CPWNbdz4+Ml18MDtpZigoQnwwKT09KGNbTj4+Ml18MCkpe0Rj
W2NbKGNbQT4+Ml18MCkrNDA+PjJdJjEyN10oQSl8MDtsPUE7eD1NO2NvbnRpbnVlfWVsc2V7Y1t3
Pj4yXT1CKzQ7bD1BO3g9TTtjb250aW51ZX19TT1hW21dfDA7aWYoKE0mMSk9PTApe1A9KE0mMjU1
KT4+PjF9ZWxzZXtQPWNbbSs0Pj4yXXwwfWlmKChQfDApIT0wPyhQPWNbcT4+Ml18MCwoUC1wfDAp
PDE2MCk6MCl7TT1jW3I+PjJdfDA7Y1txPj4yXT1QKzQ7Y1tQPj4yXT1NfWNbaj4+Ml09Rm4oRixj
W28+PjJdfDAsaCx0KXwwO1hrKG0scCxjW3E+PjJdfDAsaCk7aWYoKEF8MCkhPTApe3E9Y1tBKzEy
Pj4yXXwwO2lmKChxfDApPT0oY1tBKzE2Pj4yXXwwKSl7UT1EY1tjWyhjW0E+PjJdfDApKzM2Pj4y
XSYxMjddKEEpfDB9ZWxzZXtRPWNbcT4+Ml18MH1pZigoUXwwKT09LTEpe2NbZT4+Ml09MDtSPTA7
Uz0xfWVsc2V7Uj1BO1M9MH19ZWxzZXtSPTA7Uz0xfWRve2lmKChFfDApIT0wKXtBPWNbRSsxMj4+
Ml18MDtpZigoQXwwKT09KGNbRSsxNj4+Ml18MCkpe1Q9RGNbY1soY1tFPj4yXXwwKSszNj4+Ml0m
MTI3XShFKXwwfWVsc2V7VD1jW0E+PjJdfDB9aWYoKFR8MCk9PS0xKXtjW2Y+PjJdPTA7Rz02MDti
cmVha31pZihTKXtjW2I+PjJdPVI7ZWcobik7ZWcobSk7aT1kO3JldHVybn19ZWxzZXtHPTYwfX13
aGlsZSgwKTtpZigoR3wwKT09NjA/IVM6MCl7Y1tiPj4yXT1SO2VnKG4pO2VnKG0pO2k9ZDtyZXR1
cm59Y1toPj4yXT1jW2g+PjJdfDI7Y1tiPj4yXT1SO2VnKG4pO2VnKG0pO2k9ZDtyZXR1cm59ZnVu
Y3Rpb24gdWkoYSxiLGQsZSxmLGcsaCl7YT1hfDA7Yj1ifDA7ZD1kfDA7ZT1lfDA7Zj1mfDA7Zz1n
fDA7aD1ofDA7dmFyIGo9MCxrPTAsbD0wLG09MDtiPWk7aT1pKzE2fDA7aj1iKzEyfDA7az1iKzh8
MDtsPWIrNHwwO209YjtjW2w+PjJdPWNbZD4+Ml07Y1ttPj4yXT1jW2U+PjJdO2NbayswPj4yXT1j
W2wrMD4+Ml07Y1tqKzA+PjJdPWNbbSswPj4yXTt2aShhLDAsayxqLGYsZyxoKTtpPWI7cmV0dXJu
fWZ1bmN0aW9uIHZpKGIsZCxlLGYsZyxoLGope2I9YnwwO2Q9ZHwwO2U9ZXwwO2Y9ZnwwO2c9Z3ww
O2g9aHwwO2o9anwwO3ZhciBrPTAsbD0wLG09MCxuPTAsbz0wLHA9MCxxPTAscj0wLHM9MCx0PTAs
dT0wLHY9MCx3PTAseD0wLHk9MCx6PTAsQT0wLEI9MCxDPTAsRD0wLEU9MCxGPTAsRz0wLEg9MCxK
PTAsSz0wLEw9MCxNPTAsTj0wLE89MCxQPTAsUT0wLFI9MCxTPTAsVD0wLFU9MDtkPWk7aT1pKzMw
NHwwO2s9ZCsxNjB8MDtsPWQrMjgwfDA7bT1kKzI2NHwwO249ZCsyODR8MDtvPWQrMzAwfDA7cD1k
O3E9ZCsyNzZ8MDtyPWQrMjk2fDA7cz1jW2crND4+Ml0mNzQ7aWYoKHN8MCk9PTgpe3Q9MTZ9ZWxz
ZSBpZigoc3wwKT09MCl7dD0wfWVsc2UgaWYoKHN8MCk9PTY0KXt0PTh9ZWxzZXt0PTEwfVBpKG0s
ZyxrLGwpO2NbbiswPj4yXT0wO2Nbbis0Pj4yXT0wO2Nbbis4Pj4yXT0wO2hnKG4sMTAsMCk7aWYo
KGFbbl0mMSk9PTApe2c9bisxfDA7dT1nO3Y9bis4fDA7dz1nfWVsc2V7Zz1uKzh8MDt1PW4rMXww
O3Y9Zzt3PWNbZz4+Ml18MH1jW28+PjJdPXc7Y1txPj4yXT1wO2Nbcj4+Ml09MDtnPW4rNHwwO3M9
Y1tsPj4yXXwwO2w9Y1tlPj4yXXwwO3g9dzthOndoaWxlKDEpe2lmKChsfDApIT0wKXt3PWNbbCsx
Mj4+Ml18MDtpZigod3wwKT09KGNbbCsxNj4+Ml18MCkpe3k9RGNbY1soY1tsPj4yXXwwKSszNj4+
Ml0mMTI3XShsKXwwfWVsc2V7eT1jW3c+PjJdfDB9aWYoKHl8MCk9PS0xKXtjW2U+PjJdPTA7ej0x
O0E9MH1lbHNle3o9MDtBPWx9fWVsc2V7ej0xO0E9MH13PWNbZj4+Ml18MDtkb3tpZigod3wwKSE9
MCl7Qj1jW3crMTI+PjJdfDA7aWYoKEJ8MCk9PShjW3crMTY+PjJdfDApKXtDPURjW2NbKGNbdz4+
Ml18MCkrMzY+PjJdJjEyN10odyl8MH1lbHNle0M9Y1tCPj4yXXwwfWlmKCEoKEN8MCk9PS0xKSl7
aWYoeil7RD13O2JyZWFrfWVsc2V7RT13O0Y9eDticmVhayBhfX1lbHNle2NbZj4+Ml09MDtHPTIx
O2JyZWFrfX1lbHNle0c9MjF9fXdoaWxlKDApO2lmKChHfDApPT0yMSl7Rz0wO2lmKHope0U9MDtG
PXg7YnJlYWt9ZWxzZXtEPTB9fXc9YVtuXXwwO0I9KHcmMSk9PTA7aWYoQil7SD0odyYyNTUpPj4+
MX1lbHNle0g9Y1tnPj4yXXwwfWlmKCgoY1tvPj4yXXwwKS14fDApPT0oSHwwKSl7aWYoQil7Sj0o
dyYyNTUpPj4+MTtLPSh3JjI1NSk+Pj4xfWVsc2V7dz1jW2c+PjJdfDA7Sj13O0s9d31oZyhuLEo8
PDEsMCk7aWYoKGFbbl0mMSk9PTApe0w9MTB9ZWxzZXtMPShjW24+PjJdJi0yKSsgLTF8MH1oZyhu
LEwsMCk7aWYoKGFbbl0mMSk9PTApe009dX1lbHNle009Y1t2Pj4yXXwwfWNbbz4+Ml09TStLO049
TX1lbHNle049eH13PUErMTJ8MDtCPWNbdz4+Ml18MDtPPUErMTZ8MDtpZigoQnwwKT09KGNbTz4+
Ml18MCkpe1A9RGNbY1soY1tBPj4yXXwwKSszNj4+Ml0mMTI3XShBKXwwfWVsc2V7UD1jW0I+PjJd
fDB9aWYoKExpKFAsdCxOLG8scixzLG0scCxxLGspfDApIT0wKXtFPUQ7Rj1OO2JyZWFrfUI9Y1t3
Pj4yXXwwO2lmKChCfDApPT0oY1tPPj4yXXwwKSl7RGNbY1soY1tBPj4yXXwwKSs0MD4+Ml0mMTI3
XShBKXwwO2w9QTt4PU47Y29udGludWV9ZWxzZXtjW3c+PjJdPUIrNDtsPUE7eD1OO2NvbnRpbnVl
fX1OPWFbbV18MDtpZigoTiYxKT09MCl7UT0oTiYyNTUpPj4+MX1lbHNle1E9Y1ttKzQ+PjJdfDB9
aWYoKFF8MCkhPTA/KFE9Y1txPj4yXXwwLChRLXB8MCk8MTYwKTowKXtOPWNbcj4+Ml18MDtjW3E+
PjJdPVErNDtjW1E+PjJdPU59Tj1FbihGLGNbbz4+Ml18MCxoLHQpfDA7dD1qO2NbdD4+Ml09Tjtj
W3QrND4+Ml09STtYayhtLHAsY1txPj4yXXwwLGgpO2lmKChBfDApIT0wKXtxPWNbQSsxMj4+Ml18
MDtpZigocXwwKT09KGNbQSsxNj4+Ml18MCkpe1I9RGNbY1soY1tBPj4yXXwwKSszNj4+Ml0mMTI3
XShBKXwwfWVsc2V7Uj1jW3E+PjJdfDB9aWYoKFJ8MCk9PS0xKXtjW2U+PjJdPTA7Uz0wO1Q9MX1l
bHNle1M9QTtUPTB9fWVsc2V7Uz0wO1Q9MX1kb3tpZigoRXwwKSE9MCl7QT1jW0UrMTI+PjJdfDA7
aWYoKEF8MCk9PShjW0UrMTY+PjJdfDApKXtVPURjW2NbKGNbRT4+Ml18MCkrMzY+PjJdJjEyN10o
RSl8MH1lbHNle1U9Y1tBPj4yXXwwfWlmKChVfDApPT0tMSl7Y1tmPj4yXT0wO0c9NjA7YnJlYWt9
aWYoVCl7Y1tiPj4yXT1TO2VnKG4pO2VnKG0pO2k9ZDtyZXR1cm59fWVsc2V7Rz02MH19d2hpbGUo
MCk7aWYoKEd8MCk9PTYwPyFUOjApe2NbYj4+Ml09UztlZyhuKTtlZyhtKTtpPWQ7cmV0dXJufWNb
aD4+Ml09Y1toPj4yXXwyO2NbYj4+Ml09UztlZyhuKTtlZyhtKTtpPWQ7cmV0dXJufWZ1bmN0aW9u
IHdpKGEsYixkLGUsZixnLGgpe2E9YXwwO2I9YnwwO2Q9ZHwwO2U9ZXwwO2Y9ZnwwO2c9Z3wwO2g9
aHwwO3ZhciBqPTAsaz0wLGw9MCxtPTA7Yj1pO2k9aSsxNnwwO2o9YisxMnwwO2s9Yis4fDA7bD1i
KzR8MDttPWI7Y1tsPj4yXT1jW2Q+PjJdO2NbbT4+Ml09Y1tlPj4yXTtjW2srMD4+Ml09Y1tsKzA+
PjJdO2NbaiswPj4yXT1jW20rMD4+Ml07eGkoYSwwLGssaixmLGcsaCk7aT1iO3JldHVybn1mdW5j
dGlvbiB4aShkLGUsZixnLGgsaixrKXtkPWR8MDtlPWV8MDtmPWZ8MDtnPWd8MDtoPWh8MDtqPWp8
MDtrPWt8MDt2YXIgbD0wLG09MCxuPTAsbz0wLHA9MCxxPTAscj0wLHM9MCx0PTAsdT0wLHY9MCx3
PTAseD0wLHk9MCx6PTAsQT0wLEI9MCxDPTAsRD0wLEU9MCxGPTAsRz0wLEg9MCxJPTAsSj0wLEs9
MCxMPTAsTT0wLE49MCxPPTAsUD0wLFE9MCxSPTAsUz0wLFQ9MCxVPTA7ZT1pO2k9aSszMDR8MDts
PWUrMTYwfDA7bT1lKzI4MHwwO249ZSsyNjR8MDtvPWUrMjg0fDA7cD1lKzMwMHwwO3E9ZTtyPWUr
Mjc2fDA7cz1lKzI5NnwwO3Q9Y1toKzQ+PjJdJjc0O2lmKCh0fDApPT02NCl7dT04fWVsc2UgaWYo
KHR8MCk9PTApe3U9MH1lbHNlIGlmKCh0fDApPT04KXt1PTE2fWVsc2V7dT0xMH1QaShuLGgsbCxt
KTtjW28rMD4+Ml09MDtjW28rND4+Ml09MDtjW28rOD4+Ml09MDtoZyhvLDEwLDApO2lmKChhW29d
JjEpPT0wKXtoPW8rMXwwO3Y9aDt3PW8rOHwwO3g9aH1lbHNle2g9bys4fDA7dj1vKzF8MDt3PWg7
eD1jW2g+PjJdfDB9Y1twPj4yXT14O2Nbcj4+Ml09cTtjW3M+PjJdPTA7aD1vKzR8MDt0PWNbbT4+
Ml18MDttPWNbZj4+Ml18MDt5PXg7YTp3aGlsZSgxKXtpZigobXwwKSE9MCl7eD1jW20rMTI+PjJd
fDA7aWYoKHh8MCk9PShjW20rMTY+PjJdfDApKXt6PURjW2NbKGNbbT4+Ml18MCkrMzY+PjJdJjEy
N10obSl8MH1lbHNle3o9Y1t4Pj4yXXwwfWlmKCh6fDApPT0tMSl7Y1tmPj4yXT0wO0E9MTtCPTB9
ZWxzZXtBPTA7Qj1tfX1lbHNle0E9MTtCPTB9eD1jW2c+PjJdfDA7ZG97aWYoKHh8MCkhPTApe0M9
Y1t4KzEyPj4yXXwwO2lmKChDfDApPT0oY1t4KzE2Pj4yXXwwKSl7RD1EY1tjWyhjW3g+PjJdfDAp
KzM2Pj4yXSYxMjddKHgpfDB9ZWxzZXtEPWNbQz4+Ml18MH1pZighKChEfDApPT0tMSkpe2lmKEEp
e0U9eDticmVha31lbHNle0Y9eDtHPXk7YnJlYWsgYX19ZWxzZXtjW2c+PjJdPTA7SD0yMTticmVh
a319ZWxzZXtIPTIxfX13aGlsZSgwKTtpZigoSHwwKT09MjEpe0g9MDtpZihBKXtGPTA7Rz15O2Jy
ZWFrfWVsc2V7RT0wfX14PWFbb118MDtDPSh4JjEpPT0wO2lmKEMpe0k9KHgmMjU1KT4+PjF9ZWxz
ZXtJPWNbaD4+Ml18MH1pZigoKGNbcD4+Ml18MCkteXwwKT09KEl8MCkpe2lmKEMpe0o9KHgmMjU1
KT4+PjE7Sz0oeCYyNTUpPj4+MX1lbHNle3g9Y1toPj4yXXwwO0o9eDtLPXh9aGcobyxKPDwxLDAp
O2lmKChhW29dJjEpPT0wKXtMPTEwfWVsc2V7TD0oY1tvPj4yXSYtMikrIC0xfDB9aGcobyxMLDAp
O2lmKChhW29dJjEpPT0wKXtNPXZ9ZWxzZXtNPWNbdz4+Ml18MH1jW3A+PjJdPU0rSztOPU19ZWxz
ZXtOPXl9eD1CKzEyfDA7Qz1jW3g+PjJdfDA7Tz1CKzE2fDA7aWYoKEN8MCk9PShjW08+PjJdfDAp
KXtQPURjW2NbKGNbQj4+Ml18MCkrMzY+PjJdJjEyN10oQil8MH1lbHNle1A9Y1tDPj4yXXwwfWlm
KChMaShQLHUsTixwLHMsdCxuLHEscixsKXwwKSE9MCl7Rj1FO0c9TjticmVha31DPWNbeD4+Ml18
MDtpZigoQ3wwKT09KGNbTz4+Ml18MCkpe0RjW2NbKGNbQj4+Ml18MCkrNDA+PjJdJjEyN10oQil8
MDttPUI7eT1OO2NvbnRpbnVlfWVsc2V7Y1t4Pj4yXT1DKzQ7bT1CO3k9Tjtjb250aW51ZX19Tj1h
W25dfDA7aWYoKE4mMSk9PTApe1E9KE4mMjU1KT4+PjF9ZWxzZXtRPWNbbis0Pj4yXXwwfWlmKChR
fDApIT0wPyhRPWNbcj4+Ml18MCwoUS1xfDApPDE2MCk6MCl7Tj1jW3M+PjJdfDA7Y1tyPj4yXT1R
KzQ7Y1tRPj4yXT1OfWJbaz4+MV09RG4oRyxjW3A+PjJdfDAsaix1KXwwO1hrKG4scSxjW3I+PjJd
fDAsaik7aWYoKEJ8MCkhPTApe3I9Y1tCKzEyPj4yXXwwO2lmKChyfDApPT0oY1tCKzE2Pj4yXXww
KSl7Uj1EY1tjWyhjW0I+PjJdfDApKzM2Pj4yXSYxMjddKEIpfDB9ZWxzZXtSPWNbcj4+Ml18MH1p
ZigoUnwwKT09LTEpe2NbZj4+Ml09MDtTPTA7VD0xfWVsc2V7Uz1CO1Q9MH19ZWxzZXtTPTA7VD0x
fWRve2lmKChGfDApIT0wKXtCPWNbRisxMj4+Ml18MDtpZigoQnwwKT09KGNbRisxNj4+Ml18MCkp
e1U9RGNbY1soY1tGPj4yXXwwKSszNj4+Ml0mMTI3XShGKXwwfWVsc2V7VT1jW0I+PjJdfDB9aWYo
KFV8MCk9PS0xKXtjW2c+PjJdPTA7SD02MDticmVha31pZihUKXtjW2Q+PjJdPVM7ZWcobyk7ZWco
bik7aT1lO3JldHVybn19ZWxzZXtIPTYwfX13aGlsZSgwKTtpZigoSHwwKT09NjA/IVQ6MCl7Y1tk
Pj4yXT1TO2VnKG8pO2VnKG4pO2k9ZTtyZXR1cm59Y1tqPj4yXT1jW2o+PjJdfDI7Y1tkPj4yXT1T
O2VnKG8pO2VnKG4pO2k9ZTtyZXR1cm59ZnVuY3Rpb24geWkoYSxiLGQsZSxmLGcsaCl7YT1hfDA7
Yj1ifDA7ZD1kfDA7ZT1lfDA7Zj1mfDA7Zz1nfDA7aD1ofDA7dmFyIGo9MCxrPTAsbD0wLG09MDti
PWk7aT1pKzE2fDA7aj1iKzEyfDA7az1iKzh8MDtsPWIrNHwwO209YjtjW2w+PjJdPWNbZD4+Ml07
Y1ttPj4yXT1jW2U+PjJdO2NbayswPj4yXT1jW2wrMD4+Ml07Y1tqKzA+PjJdPWNbbSswPj4yXTt6
aShhLDAsayxqLGYsZyxoKTtpPWI7cmV0dXJufWZ1bmN0aW9uIHppKGIsZCxlLGYsZyxoLGope2I9
YnwwO2Q9ZHwwO2U9ZXwwO2Y9ZnwwO2c9Z3wwO2g9aHwwO2o9anwwO3ZhciBrPTAsbD0wLG09MCxu
PTAsbz0wLHA9MCxxPTAscj0wLHM9MCx0PTAsdT0wLHY9MCx3PTAseD0wLHk9MCx6PTAsQT0wLEI9
MCxDPTAsRD0wLEU9MCxGPTAsRz0wLEg9MCxJPTAsSj0wLEs9MCxMPTAsTT0wLE49MCxPPTAsUD0w
LFE9MCxSPTAsUz0wLFQ9MDtkPWk7aT1pKzMwNHwwO2s9ZCsxNjB8MDtsPWQrMjgwfDA7bT1kKzI2
NHwwO249ZCsyODR8MDtvPWQrMzAwfDA7cD1kO3E9ZCsyNzZ8MDtyPWQrMjk2fDA7cz1jW2crND4+
Ml0mNzQ7aWYoKHN8MCk9PTApe3Q9MH1lbHNlIGlmKChzfDApPT04KXt0PTE2fWVsc2UgaWYoKHN8
MCk9PTY0KXt0PTh9ZWxzZXt0PTEwfVBpKG0sZyxrLGwpO2NbbiswPj4yXT0wO2Nbbis0Pj4yXT0w
O2Nbbis4Pj4yXT0wO2hnKG4sMTAsMCk7aWYoKGFbbl0mMSk9PTApe2c9bisxfDA7dT1nO3Y9bis4
fDA7dz1nfWVsc2V7Zz1uKzh8MDt1PW4rMXwwO3Y9Zzt3PWNbZz4+Ml18MH1jW28+PjJdPXc7Y1tx
Pj4yXT1wO2Nbcj4+Ml09MDtnPW4rNHwwO3M9Y1tsPj4yXXwwO2w9Y1tlPj4yXXwwO3g9dzthOndo
aWxlKDEpe2lmKChsfDApIT0wKXt3PWNbbCsxMj4+Ml18MDtpZigod3wwKT09KGNbbCsxNj4+Ml18
MCkpe3k9RGNbY1soY1tsPj4yXXwwKSszNj4+Ml0mMTI3XShsKXwwfWVsc2V7eT1jW3c+PjJdfDB9
aWYoKHl8MCk9PS0xKXtjW2U+PjJdPTA7ej0xO0E9MH1lbHNle3o9MDtBPWx9fWVsc2V7ej0xO0E9
MH13PWNbZj4+Ml18MDtkb3tpZigod3wwKSE9MCl7Qj1jW3crMTI+PjJdfDA7aWYoKEJ8MCk9PShj
W3crMTY+PjJdfDApKXtDPURjW2NbKGNbdz4+Ml18MCkrMzY+PjJdJjEyN10odyl8MH1lbHNle0M9
Y1tCPj4yXXwwfWlmKCEoKEN8MCk9PS0xKSl7aWYoeil7RD13O2JyZWFrfWVsc2V7RT13O0Y9eDti
cmVhayBhfX1lbHNle2NbZj4+Ml09MDtHPTIxO2JyZWFrfX1lbHNle0c9MjF9fXdoaWxlKDApO2lm
KChHfDApPT0yMSl7Rz0wO2lmKHope0U9MDtGPXg7YnJlYWt9ZWxzZXtEPTB9fXc9YVtuXXwwO0I9
KHcmMSk9PTA7aWYoQil7SD0odyYyNTUpPj4+MX1lbHNle0g9Y1tnPj4yXXwwfWlmKCgoY1tvPj4y
XXwwKS14fDApPT0oSHwwKSl7aWYoQil7ST0odyYyNTUpPj4+MTtKPSh3JjI1NSk+Pj4xfWVsc2V7
dz1jW2c+PjJdfDA7ST13O0o9d31oZyhuLEk8PDEsMCk7aWYoKGFbbl0mMSk9PTApe0s9MTB9ZWxz
ZXtLPShjW24+PjJdJi0yKSsgLTF8MH1oZyhuLEssMCk7aWYoKGFbbl0mMSk9PTApe0w9dX1lbHNl
e0w9Y1t2Pj4yXXwwfWNbbz4+Ml09TCtKO009TH1lbHNle009eH13PUErMTJ8MDtCPWNbdz4+Ml18
MDtOPUErMTZ8MDtpZigoQnwwKT09KGNbTj4+Ml18MCkpe089RGNbY1soY1tBPj4yXXwwKSszNj4+
Ml0mMTI3XShBKXwwfWVsc2V7Tz1jW0I+PjJdfDB9aWYoKExpKE8sdCxNLG8scixzLG0scCxxLGsp
fDApIT0wKXtFPUQ7Rj1NO2JyZWFrfUI9Y1t3Pj4yXXwwO2lmKChCfDApPT0oY1tOPj4yXXwwKSl7
RGNbY1soY1tBPj4yXXwwKSs0MD4+Ml0mMTI3XShBKXwwO2w9QTt4PU07Y29udGludWV9ZWxzZXtj
W3c+PjJdPUIrNDtsPUE7eD1NO2NvbnRpbnVlfX1NPWFbbV18MDtpZigoTSYxKT09MCl7UD0oTSYy
NTUpPj4+MX1lbHNle1A9Y1ttKzQ+PjJdfDB9aWYoKFB8MCkhPTA/KFA9Y1txPj4yXXwwLChQLXB8
MCk8MTYwKTowKXtNPWNbcj4+Ml18MDtjW3E+PjJdPVArNDtjW1A+PjJdPU19Y1tqPj4yXT1DbihG
LGNbbz4+Ml18MCxoLHQpfDA7WGsobSxwLGNbcT4+Ml18MCxoKTtpZigoQXwwKSE9MCl7cT1jW0Er
MTI+PjJdfDA7aWYoKHF8MCk9PShjW0ErMTY+PjJdfDApKXtRPURjW2NbKGNbQT4+Ml18MCkrMzY+
PjJdJjEyN10oQSl8MH1lbHNle1E9Y1txPj4yXXwwfWlmKChRfDApPT0tMSl7Y1tlPj4yXT0wO1I9
MDtTPTF9ZWxzZXtSPUE7Uz0wfX1lbHNle1I9MDtTPTF9ZG97aWYoKEV8MCkhPTApe0E9Y1tFKzEy
Pj4yXXwwO2lmKChBfDApPT0oY1tFKzE2Pj4yXXwwKSl7VD1EY1tjWyhjW0U+PjJdfDApKzM2Pj4y
XSYxMjddKEUpfDB9ZWxzZXtUPWNbQT4+Ml18MH1pZigoVHwwKT09LTEpe2NbZj4+Ml09MDtHPTYw
O2JyZWFrfWlmKFMpe2NbYj4+Ml09UjtlZyhuKTtlZyhtKTtpPWQ7cmV0dXJufX1lbHNle0c9NjB9
fXdoaWxlKDApO2lmKChHfDApPT02MD8hUzowKXtjW2I+PjJdPVI7ZWcobik7ZWcobSk7aT1kO3Jl
dHVybn1jW2g+PjJdPWNbaD4+Ml18MjtjW2I+PjJdPVI7ZWcobik7ZWcobSk7aT1kO3JldHVybn1m
dW5jdGlvbiBBaShhLGIsZCxlLGYsZyxoKXthPWF8MDtiPWJ8MDtkPWR8MDtlPWV8MDtmPWZ8MDtn
PWd8MDtoPWh8MDt2YXIgaj0wLGs9MCxsPTAsbT0wO2I9aTtpPWkrMTZ8MDtqPWIrMTJ8MDtrPWIr
OHwwO2w9Yis0fDA7bT1iO2NbbD4+Ml09Y1tkPj4yXTtjW20+PjJdPWNbZT4+Ml07Y1trKzA+PjJd
PWNbbCswPj4yXTtjW2orMD4+Ml09Y1ttKzA+PjJdO0JpKGEsMCxrLGosZixnLGgpO2k9YjtyZXR1
cm59ZnVuY3Rpb24gQmkoYixkLGUsZixnLGgsail7Yj1ifDA7ZD1kfDA7ZT1lfDA7Zj1mfDA7Zz1n
fDA7aD1ofDA7aj1qfDA7dmFyIGs9MCxsPTAsbT0wLG49MCxvPTAscD0wLHE9MCxyPTAscz0wLHQ9
MCx1PTAsdj0wLHc9MCx4PTAseT0wLHo9MCxBPTAsQj0wLEM9MCxEPTAsRT0wLEY9MCxHPTAsSD0w
LEk9MCxKPTAsSz0wLEw9MCxNPTAsTj0wLE89MCxQPTAsUT0wLFI9MCxTPTAsVD0wO2Q9aTtpPWkr
MzA0fDA7az1kKzE2MHwwO2w9ZCsyODB8MDttPWQrMjY0fDA7bj1kKzI4NHwwO289ZCszMDB8MDtw
PWQ7cT1kKzI3NnwwO3I9ZCsyOTZ8MDtzPWNbZys0Pj4yXSY3NDtpZigoc3wwKT09NjQpe3Q9OH1l
bHNlIGlmKChzfDApPT0wKXt0PTB9ZWxzZSBpZigoc3wwKT09OCl7dD0xNn1lbHNle3Q9MTB9UGko
bSxnLGssbCk7Y1tuKzA+PjJdPTA7Y1tuKzQ+PjJdPTA7Y1tuKzg+PjJdPTA7aGcobiwxMCwwKTtp
ZigoYVtuXSYxKT09MCl7Zz1uKzF8MDt1PWc7dj1uKzh8MDt3PWd9ZWxzZXtnPW4rOHwwO3U9bisx
fDA7dj1nO3c9Y1tnPj4yXXwwfWNbbz4+Ml09dztjW3E+PjJdPXA7Y1tyPj4yXT0wO2c9bis0fDA7
cz1jW2w+PjJdfDA7bD1jW2U+PjJdfDA7eD13O2E6d2hpbGUoMSl7aWYoKGx8MCkhPTApe3c9Y1ts
KzEyPj4yXXwwO2lmKCh3fDApPT0oY1tsKzE2Pj4yXXwwKSl7eT1EY1tjWyhjW2w+PjJdfDApKzM2
Pj4yXSYxMjddKGwpfDB9ZWxzZXt5PWNbdz4+Ml18MH1pZigoeXwwKT09LTEpe2NbZT4+Ml09MDt6
PTE7QT0wfWVsc2V7ej0wO0E9bH19ZWxzZXt6PTE7QT0wfXc9Y1tmPj4yXXwwO2Rve2lmKCh3fDAp
IT0wKXtCPWNbdysxMj4+Ml18MDtpZigoQnwwKT09KGNbdysxNj4+Ml18MCkpe0M9RGNbY1soY1t3
Pj4yXXwwKSszNj4+Ml0mMTI3XSh3KXwwfWVsc2V7Qz1jW0I+PjJdfDB9aWYoISgoQ3wwKT09LTEp
KXtpZih6KXtEPXc7YnJlYWt9ZWxzZXtFPXc7Rj14O2JyZWFrIGF9fWVsc2V7Y1tmPj4yXT0wO0c9
MjE7YnJlYWt9fWVsc2V7Rz0yMX19d2hpbGUoMCk7aWYoKEd8MCk9PTIxKXtHPTA7aWYoeil7RT0w
O0Y9eDticmVha31lbHNle0Q9MH19dz1hW25dfDA7Qj0odyYxKT09MDtpZihCKXtIPSh3JjI1NSk+
Pj4xfWVsc2V7SD1jW2c+PjJdfDB9aWYoKChjW28+PjJdfDApLXh8MCk9PShIfDApKXtpZihCKXtJ
PSh3JjI1NSk+Pj4xO0o9KHcmMjU1KT4+PjF9ZWxzZXt3PWNbZz4+Ml18MDtJPXc7Sj13fWhnKG4s
STw8MSwwKTtpZigoYVtuXSYxKT09MCl7Sz0xMH1lbHNle0s9KGNbbj4+Ml0mLTIpKyAtMXwwfWhn
KG4sSywwKTtpZigoYVtuXSYxKT09MCl7TD11fWVsc2V7TD1jW3Y+PjJdfDB9Y1tvPj4yXT1MK0o7
TT1MfWVsc2V7TT14fXc9QSsxMnwwO0I9Y1t3Pj4yXXwwO049QSsxNnwwO2lmKChCfDApPT0oY1tO
Pj4yXXwwKSl7Tz1EY1tjWyhjW0E+PjJdfDApKzM2Pj4yXSYxMjddKEEpfDB9ZWxzZXtPPWNbQj4+
Ml18MH1pZigoTGkoTyx0LE0sbyxyLHMsbSxwLHEsayl8MCkhPTApe0U9RDtGPU07YnJlYWt9Qj1j
W3c+PjJdfDA7aWYoKEJ8MCk9PShjW04+PjJdfDApKXtEY1tjWyhjW0E+PjJdfDApKzQwPj4yXSYx
MjddKEEpfDA7bD1BO3g9TTtjb250aW51ZX1lbHNle2Nbdz4+Ml09Qis0O2w9QTt4PU07Y29udGlu
dWV9fU09YVttXXwwO2lmKChNJjEpPT0wKXtQPShNJjI1NSk+Pj4xfWVsc2V7UD1jW20rND4+Ml18
MH1pZigoUHwwKSE9MD8oUD1jW3E+PjJdfDAsKFAtcHwwKTwxNjApOjApe009Y1tyPj4yXXwwO2Nb
cT4+Ml09UCs0O2NbUD4+Ml09TX1jW2o+PjJdPUJuKEYsY1tvPj4yXXwwLGgsdCl8MDtYayhtLHAs
Y1txPj4yXXwwLGgpO2lmKChBfDApIT0wKXtxPWNbQSsxMj4+Ml18MDtpZigocXwwKT09KGNbQSsx
Nj4+Ml18MCkpe1E9RGNbY1soY1tBPj4yXXwwKSszNj4+Ml0mMTI3XShBKXwwfWVsc2V7UT1jW3E+
PjJdfDB9aWYoKFF8MCk9PS0xKXtjW2U+PjJdPTA7Uj0wO1M9MX1lbHNle1I9QTtTPTB9fWVsc2V7
Uj0wO1M9MX1kb3tpZigoRXwwKSE9MCl7QT1jW0UrMTI+PjJdfDA7aWYoKEF8MCk9PShjW0UrMTY+
PjJdfDApKXtUPURjW2NbKGNbRT4+Ml18MCkrMzY+PjJdJjEyN10oRSl8MH1lbHNle1Q9Y1tBPj4y
XXwwfWlmKChUfDApPT0tMSl7Y1tmPj4yXT0wO0c9NjA7YnJlYWt9aWYoUyl7Y1tiPj4yXT1SO2Vn
KG4pO2VnKG0pO2k9ZDtyZXR1cm59fWVsc2V7Rz02MH19d2hpbGUoMCk7aWYoKEd8MCk9PTYwPyFT
OjApe2NbYj4+Ml09UjtlZyhuKTtlZyhtKTtpPWQ7cmV0dXJufWNbaD4+Ml09Y1toPj4yXXwyO2Nb
Yj4+Ml09UjtlZyhuKTtlZyhtKTtpPWQ7cmV0dXJufWZ1bmN0aW9uIENpKGEsYixkLGUsZixnLGgp
e2E9YXwwO2I9YnwwO2Q9ZHwwO2U9ZXwwO2Y9ZnwwO2c9Z3wwO2g9aHwwO3ZhciBqPTAsaz0wLGw9
MCxtPTA7Yj1pO2k9aSsxNnwwO2o9YisxMnwwO2s9Yis4fDA7bD1iKzR8MDttPWI7Y1tsPj4yXT1j
W2Q+PjJdO2NbbT4+Ml09Y1tlPj4yXTtjW2srMD4+Ml09Y1tsKzA+PjJdO2NbaiswPj4yXT1jW20r
MD4+Ml07RGkoYSwwLGssaixmLGcsaCk7aT1iO3JldHVybn1mdW5jdGlvbiBEaShiLGQsZSxmLGcs
aCxqKXtiPWJ8MDtkPWR8MDtlPWV8MDtmPWZ8MDtnPWd8MDtoPWh8MDtqPWp8MDt2YXIgaz0wLGw9
MCxtPTAsbj0wLG89MCxwPTAscT0wLHI9MCxzPTAsdD0wLHU9MCx2PTAsdz0wLHg9MCx5PTAsej0w
LEE9MCxCPTAsQz0wLEQ9MCxFPTAsRj0wLEc9MCxIPTAsSj0wLEs9MCxMPTAsTT0wLE49MCxPPTAs
UD0wLFE9MCxSPTAsUz0wLFQ9MCxVPTA7ZD1pO2k9aSszMDR8MDtrPWQrMTYwfDA7bD1kKzI4MHww
O209ZCsyNjR8MDtuPWQrMjg0fDA7bz1kKzMwMHwwO3A9ZDtxPWQrMjc2fDA7cj1kKzI5NnwwO3M9
Y1tnKzQ+PjJdJjc0O2lmKChzfDApPT0wKXt0PTB9ZWxzZSBpZigoc3wwKT09OCl7dD0xNn1lbHNl
IGlmKChzfDApPT02NCl7dD04fWVsc2V7dD0xMH1QaShtLGcsayxsKTtjW24rMD4+Ml09MDtjW24r
ND4+Ml09MDtjW24rOD4+Ml09MDtoZyhuLDEwLDApO2lmKChhW25dJjEpPT0wKXtnPW4rMXwwO3U9
Zzt2PW4rOHwwO3c9Z31lbHNle2c9bis4fDA7dT1uKzF8MDt2PWc7dz1jW2c+PjJdfDB9Y1tvPj4y
XT13O2NbcT4+Ml09cDtjW3I+PjJdPTA7Zz1uKzR8MDtzPWNbbD4+Ml18MDtsPWNbZT4+Ml18MDt4
PXc7YTp3aGlsZSgxKXtpZigobHwwKSE9MCl7dz1jW2wrMTI+PjJdfDA7aWYoKHd8MCk9PShjW2wr
MTY+PjJdfDApKXt5PURjW2NbKGNbbD4+Ml18MCkrMzY+PjJdJjEyN10obCl8MH1lbHNle3k9Y1t3
Pj4yXXwwfWlmKCh5fDApPT0tMSl7Y1tlPj4yXT0wO3o9MTtBPTB9ZWxzZXt6PTA7QT1sfX1lbHNl
e3o9MTtBPTB9dz1jW2Y+PjJdfDA7ZG97aWYoKHd8MCkhPTApe0I9Y1t3KzEyPj4yXXwwO2lmKChC
fDApPT0oY1t3KzE2Pj4yXXwwKSl7Qz1EY1tjWyhjW3c+PjJdfDApKzM2Pj4yXSYxMjddKHcpfDB9
ZWxzZXtDPWNbQj4+Ml18MH1pZighKChDfDApPT0tMSkpe2lmKHope0Q9dzticmVha31lbHNle0U9
dztGPXg7YnJlYWsgYX19ZWxzZXtjW2Y+PjJdPTA7Rz0yMTticmVha319ZWxzZXtHPTIxfX13aGls
ZSgwKTtpZigoR3wwKT09MjEpe0c9MDtpZih6KXtFPTA7Rj14O2JyZWFrfWVsc2V7RD0wfX13PWFb
bl18MDtCPSh3JjEpPT0wO2lmKEIpe0g9KHcmMjU1KT4+PjF9ZWxzZXtIPWNbZz4+Ml18MH1pZigo
KGNbbz4+Ml18MCkteHwwKT09KEh8MCkpe2lmKEIpe0o9KHcmMjU1KT4+PjE7Sz0odyYyNTUpPj4+
MX1lbHNle3c9Y1tnPj4yXXwwO0o9dztLPXd9aGcobixKPDwxLDApO2lmKChhW25dJjEpPT0wKXtM
PTEwfWVsc2V7TD0oY1tuPj4yXSYtMikrIC0xfDB9aGcobixMLDApO2lmKChhW25dJjEpPT0wKXtN
PXV9ZWxzZXtNPWNbdj4+Ml18MH1jW28+PjJdPU0rSztOPU19ZWxzZXtOPXh9dz1BKzEyfDA7Qj1j
W3c+PjJdfDA7Tz1BKzE2fDA7aWYoKEJ8MCk9PShjW08+PjJdfDApKXtQPURjW2NbKGNbQT4+Ml18
MCkrMzY+PjJdJjEyN10oQSl8MH1lbHNle1A9Y1tCPj4yXXwwfWlmKChMaShQLHQsTixvLHIscyxt
LHAscSxrKXwwKSE9MCl7RT1EO0Y9TjticmVha31CPWNbdz4+Ml18MDtpZigoQnwwKT09KGNbTz4+
Ml18MCkpe0RjW2NbKGNbQT4+Ml18MCkrNDA+PjJdJjEyN10oQSl8MDtsPUE7eD1OO2NvbnRpbnVl
fWVsc2V7Y1t3Pj4yXT1CKzQ7bD1BO3g9Tjtjb250aW51ZX19Tj1hW21dfDA7aWYoKE4mMSk9PTAp
e1E9KE4mMjU1KT4+PjF9ZWxzZXtRPWNbbSs0Pj4yXXwwfWlmKChRfDApIT0wPyhRPWNbcT4+Ml18
MCwoUS1wfDApPDE2MCk6MCl7Tj1jW3I+PjJdfDA7Y1txPj4yXT1RKzQ7Y1tRPj4yXT1OfU49QW4o
RixjW28+PjJdfDAsaCx0KXwwO3Q9ajtjW3Q+PjJdPU47Y1t0KzQ+PjJdPUk7WGsobSxwLGNbcT4+
Ml18MCxoKTtpZigoQXwwKSE9MCl7cT1jW0ErMTI+PjJdfDA7aWYoKHF8MCk9PShjW0ErMTY+PjJd
fDApKXtSPURjW2NbKGNbQT4+Ml18MCkrMzY+PjJdJjEyN10oQSl8MH1lbHNle1I9Y1txPj4yXXww
fWlmKChSfDApPT0tMSl7Y1tlPj4yXT0wO1M9MDtUPTF9ZWxzZXtTPUE7VD0wfX1lbHNle1M9MDtU
PTF9ZG97aWYoKEV8MCkhPTApe0E9Y1tFKzEyPj4yXXwwO2lmKChBfDApPT0oY1tFKzE2Pj4yXXww
KSl7VT1EY1tjWyhjW0U+PjJdfDApKzM2Pj4yXSYxMjddKEUpfDB9ZWxzZXtVPWNbQT4+Ml18MH1p
ZigoVXwwKT09LTEpe2NbZj4+Ml09MDtHPTYwO2JyZWFrfWlmKFQpe2NbYj4+Ml09UztlZyhuKTtl
ZyhtKTtpPWQ7cmV0dXJufX1lbHNle0c9NjB9fXdoaWxlKDApO2lmKChHfDApPT02MD8hVDowKXtj
W2I+PjJdPVM7ZWcobik7ZWcobSk7aT1kO3JldHVybn1jW2g+PjJdPWNbaD4+Ml18MjtjW2I+PjJd
PVM7ZWcobik7ZWcobSk7aT1kO3JldHVybn1mdW5jdGlvbiBFaShhLGIsZCxlLGYsZyxoKXthPWF8
MDtiPWJ8MDtkPWR8MDtlPWV8MDtmPWZ8MDtnPWd8MDtoPWh8MDt2YXIgaj0wLGs9MCxsPTAsbT0w
O2I9aTtpPWkrMTZ8MDtqPWIrMTJ8MDtrPWIrOHwwO2w9Yis0fDA7bT1iO2NbbD4+Ml09Y1tkPj4y
XTtjW20+PjJdPWNbZT4+Ml07Y1trKzA+PjJdPWNbbCswPj4yXTtjW2orMD4+Ml09Y1ttKzA+PjJd
O0ZpKGEsMCxrLGosZixnLGgpO2k9YjtyZXR1cm59ZnVuY3Rpb24gRmkoYixkLGUsZixoLGosayl7
Yj1ifDA7ZD1kfDA7ZT1lfDA7Zj1mfDA7aD1ofDA7aj1qfDA7az1rfDA7dmFyIGw9MCxtPTAsbj0w
LG89MCxwPTAscT0wLHI9MCxzPTAsdD0wLHU9MCx2PTAsdz0wLHg9MCx5PTAsej0wLEE9MCxCPTAs
Qz0wLEQ9MCxFPTAsRj0wLEc9MCxIPTAsST0wLEo9MCxLPTAsTD0wLE09MCxOPTAsTz0wLFA9MCxR
PTAsUj0wLFM9MCxUPTAsVT0wLFY9MCxXPTA7ZD1pO2k9aSszNTJ8MDtsPWQrMjA4fDA7bT1kKzE4
NHwwO249ZCs0fDA7bz1kKzh8MDtwPWQrMTk2fDA7cT1kO3I9ZCsyNHwwO3M9ZCsxOTJ8MDt0PWQr
MTg4fDA7dT1kKzMzN3wwO3Y9ZCszMzZ8MDtRaShvLGgsbCxtLG4pO2NbcCswPj4yXT0wO2NbcCs0
Pj4yXT0wO2NbcCs4Pj4yXT0wO2hnKHAsMTAsMCk7aWYoKGFbcF0mMSk9PTApe2g9cCsxfDA7dz1o
O3g9cCs4fDA7eT1ofWVsc2V7aD1wKzh8MDt3PXArMXwwO3g9aDt5PWNbaD4+Ml18MH1jW3E+PjJd
PXk7Y1tzPj4yXT1yO2NbdD4+Ml09MDthW3VdPTE7YVt2XT02OTtoPXArNHwwO3o9Y1ttPj4yXXww
O209Y1tuPj4yXXwwO249Y1tlPj4yXXwwO0E9eTthOndoaWxlKDEpe2lmKChufDApIT0wKXt5PWNb
bisxMj4+Ml18MDtpZigoeXwwKT09KGNbbisxNj4+Ml18MCkpe0I9RGNbY1soY1tuPj4yXXwwKSsz
Nj4+Ml0mMTI3XShuKXwwfWVsc2V7Qj1jW3k+PjJdfDB9aWYoKEJ8MCk9PS0xKXtjW2U+PjJdPTA7
Qz0xO0Q9MH1lbHNle0M9MDtEPW59fWVsc2V7Qz0xO0Q9MH15PWNbZj4+Ml18MDtkb3tpZigoeXww
KSE9MCl7RT1jW3krMTI+PjJdfDA7aWYoKEV8MCk9PShjW3krMTY+PjJdfDApKXtGPURjW2NbKGNb
eT4+Ml18MCkrMzY+PjJdJjEyN10oeSl8MH1lbHNle0Y9Y1tFPj4yXXwwfWlmKCEoKEZ8MCk9PS0x
KSl7aWYoQyl7Rz15O2JyZWFrfWVsc2V7SD15O0k9QTticmVhayBhfX1lbHNle2NbZj4+Ml09MDtK
PTE3O2JyZWFrfX1lbHNle0o9MTd9fXdoaWxlKDApO2lmKChKfDApPT0xNyl7Sj0wO2lmKEMpe0g9
MDtJPUE7YnJlYWt9ZWxzZXtHPTB9fXk9YVtwXXwwO0U9KHkmMSk9PTA7aWYoRSl7Sz0oeSYyNTUp
Pj4+MX1lbHNle0s9Y1toPj4yXXwwfWlmKCgoY1txPj4yXXwwKS1BfDApPT0oS3wwKSl7aWYoRSl7
TD0oeSYyNTUpPj4+MTtNPSh5JjI1NSk+Pj4xfWVsc2V7eT1jW2g+PjJdfDA7TD15O009eX1oZyhw
LEw8PDEsMCk7aWYoKGFbcF0mMSk9PTApe049MTB9ZWxzZXtOPShjW3A+PjJdJi0yKSsgLTF8MH1o
ZyhwLE4sMCk7aWYoKGFbcF0mMSk9PTApe089d31lbHNle089Y1t4Pj4yXXwwfWNbcT4+Ml09TytN
O1A9T31lbHNle1A9QX15PUQrMTJ8MDtFPWNbeT4+Ml18MDtRPUQrMTZ8MDtpZigoRXwwKT09KGNb
UT4+Ml18MCkpe1I9RGNbY1soY1tEPj4yXXwwKSszNj4+Ml0mMTI3XShEKXwwfWVsc2V7Uj1jW0U+
PjJdfDB9aWYoKFJpKFIsdSx2LFAscSx6LG0sbyxyLHMsdCxsKXwwKSE9MCl7SD1HO0k9UDticmVh
a31FPWNbeT4+Ml18MDtpZigoRXwwKT09KGNbUT4+Ml18MCkpe0RjW2NbKGNbRD4+Ml18MCkrNDA+
PjJdJjEyN10oRCl8MDtuPUQ7QT1QO2NvbnRpbnVlfWVsc2V7Y1t5Pj4yXT1FKzQ7bj1EO0E9UDtj
b250aW51ZX19UD1hW29dfDA7aWYoKFAmMSk9PTApe1M9KFAmMjU1KT4+PjF9ZWxzZXtTPWNbbys0
Pj4yXXwwfWlmKCgoU3wwKSE9MD8oYVt1XXwwKSE9MDowKT8odT1jW3M+PjJdfDAsKHUtcnwwKTwx
NjApOjApe1M9Y1t0Pj4yXXwwO2Nbcz4+Ml09dSs0O2NbdT4+Ml09U31nW2s+PjJdPSt6bihJLGNb
cT4+Ml18MCxqKTtYayhvLHIsY1tzPj4yXXwwLGopO2lmKChEfDApIT0wKXtzPWNbRCsxMj4+Ml18
MDtpZigoc3wwKT09KGNbRCsxNj4+Ml18MCkpe1Q9RGNbY1soY1tEPj4yXXwwKSszNj4+Ml0mMTI3
XShEKXwwfWVsc2V7VD1jW3M+PjJdfDB9aWYoKFR8MCk9PS0xKXtjW2U+PjJdPTA7VT0wO1Y9MX1l
bHNle1U9RDtWPTB9fWVsc2V7VT0wO1Y9MX1kb3tpZigoSHwwKSE9MCl7RD1jW0grMTI+PjJdfDA7
aWYoKER8MCk9PShjW0grMTY+PjJdfDApKXtXPURjW2NbKGNbSD4+Ml18MCkrMzY+PjJdJjEyN10o
SCl8MH1lbHNle1c9Y1tEPj4yXXwwfWlmKChXfDApPT0tMSl7Y1tmPj4yXT0wO0o9NTc7YnJlYWt9
aWYoVil7Y1tiPj4yXT1VO2VnKHApO2VnKG8pO2k9ZDtyZXR1cm59fWVsc2V7Sj01N319d2hpbGUo
MCk7aWYoKEp8MCk9PTU3PyFWOjApe2NbYj4+Ml09VTtlZyhwKTtlZyhvKTtpPWQ7cmV0dXJufWNb
aj4+Ml09Y1tqPj4yXXwyO2NbYj4+Ml09VTtlZyhwKTtlZyhvKTtpPWQ7cmV0dXJufWZ1bmN0aW9u
IEdpKGEsYixkLGUsZixnLGgpe2E9YXwwO2I9YnwwO2Q9ZHwwO2U9ZXwwO2Y9ZnwwO2c9Z3wwO2g9
aHwwO3ZhciBqPTAsaz0wLGw9MCxtPTA7Yj1pO2k9aSsxNnwwO2o9YisxMnwwO2s9Yis4fDA7bD1i
KzR8MDttPWI7Y1tsPj4yXT1jW2Q+PjJdO2NbbT4+Ml09Y1tlPj4yXTtjW2srMD4+Ml09Y1tsKzA+
PjJdO2NbaiswPj4yXT1jW20rMD4+Ml07SGkoYSwwLGssaixmLGcsaCk7aT1iO3JldHVybn1mdW5j
dGlvbiBIaShiLGQsZSxmLGcsaixrKXtiPWJ8MDtkPWR8MDtlPWV8MDtmPWZ8MDtnPWd8MDtqPWp8
MDtrPWt8MDt2YXIgbD0wLG09MCxuPTAsbz0wLHA9MCxxPTAscj0wLHM9MCx0PTAsdT0wLHY9MCx3
PTAseD0wLHk9MCx6PTAsQT0wLEI9MCxDPTAsRD0wLEU9MCxGPTAsRz0wLEg9MCxJPTAsSj0wLEs9
MCxMPTAsTT0wLE49MCxPPTAsUD0wLFE9MCxSPTAsUz0wLFQ9MCxVPTAsVj0wLFc9MDtkPWk7aT1p
KzM1MnwwO2w9ZCsyMDh8MDttPWQrMTg0fDA7bj1kKzR8MDtvPWQrOHwwO3A9ZCsxOTZ8MDtxPWQ7
cj1kKzI0fDA7cz1kKzE5MnwwO3Q9ZCsxODh8MDt1PWQrMzM3fDA7dj1kKzMzNnwwO1FpKG8sZyxs
LG0sbik7Y1twKzA+PjJdPTA7Y1twKzQ+PjJdPTA7Y1twKzg+PjJdPTA7aGcocCwxMCwwKTtpZigo
YVtwXSYxKT09MCl7Zz1wKzF8MDt3PWc7eD1wKzh8MDt5PWd9ZWxzZXtnPXArOHwwO3c9cCsxfDA7
eD1nO3k9Y1tnPj4yXXwwfWNbcT4+Ml09eTtjW3M+PjJdPXI7Y1t0Pj4yXT0wO2FbdV09MTthW3Zd
PTY5O2c9cCs0fDA7ej1jW20+PjJdfDA7bT1jW24+PjJdfDA7bj1jW2U+PjJdfDA7QT15O2E6d2hp
bGUoMSl7aWYoKG58MCkhPTApe3k9Y1tuKzEyPj4yXXwwO2lmKCh5fDApPT0oY1tuKzE2Pj4yXXww
KSl7Qj1EY1tjWyhjW24+PjJdfDApKzM2Pj4yXSYxMjddKG4pfDB9ZWxzZXtCPWNbeT4+Ml18MH1p
ZigoQnwwKT09LTEpe2NbZT4+Ml09MDtDPTE7RD0wfWVsc2V7Qz0wO0Q9bn19ZWxzZXtDPTE7RD0w
fXk9Y1tmPj4yXXwwO2Rve2lmKCh5fDApIT0wKXtFPWNbeSsxMj4+Ml18MDtpZigoRXwwKT09KGNb
eSsxNj4+Ml18MCkpe0Y9RGNbY1soY1t5Pj4yXXwwKSszNj4+Ml0mMTI3XSh5KXwwfWVsc2V7Rj1j
W0U+PjJdfDB9aWYoISgoRnwwKT09LTEpKXtpZihDKXtHPXk7YnJlYWt9ZWxzZXtIPXk7ST1BO2Jy
ZWFrIGF9fWVsc2V7Y1tmPj4yXT0wO0o9MTc7YnJlYWt9fWVsc2V7Sj0xN319d2hpbGUoMCk7aWYo
KEp8MCk9PTE3KXtKPTA7aWYoQyl7SD0wO0k9QTticmVha31lbHNle0c9MH19eT1hW3BdfDA7RT0o
eSYxKT09MDtpZihFKXtLPSh5JjI1NSk+Pj4xfWVsc2V7Sz1jW2c+PjJdfDB9aWYoKChjW3E+PjJd
fDApLUF8MCk9PShLfDApKXtpZihFKXtMPSh5JjI1NSk+Pj4xO009KHkmMjU1KT4+PjF9ZWxzZXt5
PWNbZz4+Ml18MDtMPXk7TT15fWhnKHAsTDw8MSwwKTtpZigoYVtwXSYxKT09MCl7Tj0xMH1lbHNl
e049KGNbcD4+Ml0mLTIpKyAtMXwwfWhnKHAsTiwwKTtpZigoYVtwXSYxKT09MCl7Tz13fWVsc2V7
Tz1jW3g+PjJdfDB9Y1txPj4yXT1PK007UD1PfWVsc2V7UD1BfXk9RCsxMnwwO0U9Y1t5Pj4yXXww
O1E9RCsxNnwwO2lmKChFfDApPT0oY1tRPj4yXXwwKSl7Uj1EY1tjWyhjW0Q+PjJdfDApKzM2Pj4y
XSYxMjddKEQpfDB9ZWxzZXtSPWNbRT4+Ml18MH1pZigoUmkoUix1LHYsUCxxLHosbSxvLHIscyx0
LGwpfDApIT0wKXtIPUc7ST1QO2JyZWFrfUU9Y1t5Pj4yXXwwO2lmKChFfDApPT0oY1tRPj4yXXww
KSl7RGNbY1soY1tEPj4yXXwwKSs0MD4+Ml0mMTI3XShEKXwwO249RDtBPVA7Y29udGludWV9ZWxz
ZXtjW3k+PjJdPUUrNDtuPUQ7QT1QO2NvbnRpbnVlfX1QPWFbb118MDtpZigoUCYxKT09MCl7Uz0o
UCYyNTUpPj4+MX1lbHNle1M9Y1tvKzQ+PjJdfDB9aWYoKChTfDApIT0wPyhhW3VdfDApIT0wOjAp
Pyh1PWNbcz4+Ml18MCwodS1yfDApPDE2MCk6MCl7Uz1jW3Q+PjJdfDA7Y1tzPj4yXT11KzQ7Y1t1
Pj4yXT1TfWhbaz4+M109K3luKEksY1txPj4yXXwwLGopO1hrKG8scixjW3M+PjJdfDAsaik7aWYo
KER8MCkhPTApe3M9Y1tEKzEyPj4yXXwwO2lmKChzfDApPT0oY1tEKzE2Pj4yXXwwKSl7VD1EY1tj
WyhjW0Q+PjJdfDApKzM2Pj4yXSYxMjddKEQpfDB9ZWxzZXtUPWNbcz4+Ml18MH1pZigoVHwwKT09
LTEpe2NbZT4+Ml09MDtVPTA7Vj0xfWVsc2V7VT1EO1Y9MH19ZWxzZXtVPTA7Vj0xfWRve2lmKChI
fDApIT0wKXtEPWNbSCsxMj4+Ml18MDtpZigoRHwwKT09KGNbSCsxNj4+Ml18MCkpe1c9RGNbY1so
Y1tIPj4yXXwwKSszNj4+Ml0mMTI3XShIKXwwfWVsc2V7Vz1jW0Q+PjJdfDB9aWYoKFd8MCk9PS0x
KXtjW2Y+PjJdPTA7Sj01NzticmVha31pZihWKXtjW2I+PjJdPVU7ZWcocCk7ZWcobyk7aT1kO3Jl
dHVybn19ZWxzZXtKPTU3fX13aGlsZSgwKTtpZigoSnwwKT09NTc/IVY6MCl7Y1tiPj4yXT1VO2Vn
KHApO2VnKG8pO2k9ZDtyZXR1cm59Y1tqPj4yXT1jW2o+PjJdfDI7Y1tiPj4yXT1VO2VnKHApO2Vn
KG8pO2k9ZDtyZXR1cm59ZnVuY3Rpb24gSWkoYSxiLGQsZSxmLGcsaCl7YT1hfDA7Yj1ifDA7ZD1k
fDA7ZT1lfDA7Zj1mfDA7Zz1nfDA7aD1ofDA7dmFyIGo9MCxrPTAsbD0wLG09MDtiPWk7aT1pKzE2
fDA7aj1iKzEyfDA7az1iKzh8MDtsPWIrNHwwO209YjtjW2w+PjJdPWNbZD4+Ml07Y1ttPj4yXT1j
W2U+PjJdO2NbayswPj4yXT1jW2wrMD4+Ml07Y1tqKzA+PjJdPWNbbSswPj4yXTtKaShhLDAsayxq
LGYsZyxoKTtpPWI7cmV0dXJufWZ1bmN0aW9uIEppKGIsZCxlLGYsZyxqLGspe2I9YnwwO2Q9ZHww
O2U9ZXwwO2Y9ZnwwO2c9Z3wwO2o9anwwO2s9a3wwO3ZhciBsPTAsbT0wLG49MCxvPTAscD0wLHE9
MCxyPTAscz0wLHQ9MCx1PTAsdj0wLHc9MCx4PTAseT0wLHo9MCxBPTAsQj0wLEM9MCxEPTAsRT0w
LEY9MCxHPTAsSD0wLEk9MCxKPTAsSz0wLEw9MCxNPTAsTj0wLE89MCxQPTAsUT0wLFI9MCxTPTAs
VD0wLFU9MCxWPTAsVz0wO2Q9aTtpPWkrMzUyfDA7bD1kKzIwOHwwO209ZCsxODR8MDtuPWQrNHww
O289ZCs4fDA7cD1kKzE5NnwwO3E9ZDtyPWQrMjR8MDtzPWQrMTkyfDA7dD1kKzE4OHwwO3U9ZCsz
Mzd8MDt2PWQrMzM2fDA7UWkobyxnLGwsbSxuKTtjW3ArMD4+Ml09MDtjW3ArND4+Ml09MDtjW3Ar
OD4+Ml09MDtoZyhwLDEwLDApO2lmKChhW3BdJjEpPT0wKXtnPXArMXwwO3c9Zzt4PXArOHwwO3k9
Z31lbHNle2c9cCs4fDA7dz1wKzF8MDt4PWc7eT1jW2c+PjJdfDB9Y1txPj4yXT15O2Nbcz4+Ml09
cjtjW3Q+PjJdPTA7YVt1XT0xO2Fbdl09Njk7Zz1wKzR8MDt6PWNbbT4+Ml18MDttPWNbbj4+Ml18
MDtuPWNbZT4+Ml18MDtBPXk7YTp3aGlsZSgxKXtpZigobnwwKSE9MCl7eT1jW24rMTI+PjJdfDA7
aWYoKHl8MCk9PShjW24rMTY+PjJdfDApKXtCPURjW2NbKGNbbj4+Ml18MCkrMzY+PjJdJjEyN10o
bil8MH1lbHNle0I9Y1t5Pj4yXXwwfWlmKChCfDApPT0tMSl7Y1tlPj4yXT0wO0M9MTtEPTB9ZWxz
ZXtDPTA7RD1ufX1lbHNle0M9MTtEPTB9eT1jW2Y+PjJdfDA7ZG97aWYoKHl8MCkhPTApe0U9Y1t5
KzEyPj4yXXwwO2lmKChFfDApPT0oY1t5KzE2Pj4yXXwwKSl7Rj1EY1tjWyhjW3k+PjJdfDApKzM2
Pj4yXSYxMjddKHkpfDB9ZWxzZXtGPWNbRT4+Ml18MH1pZighKChGfDApPT0tMSkpe2lmKEMpe0c9
eTticmVha31lbHNle0g9eTtJPUE7YnJlYWsgYX19ZWxzZXtjW2Y+PjJdPTA7Sj0xNzticmVha319
ZWxzZXtKPTE3fX13aGlsZSgwKTtpZigoSnwwKT09MTcpe0o9MDtpZihDKXtIPTA7ST1BO2JyZWFr
fWVsc2V7Rz0wfX15PWFbcF18MDtFPSh5JjEpPT0wO2lmKEUpe0s9KHkmMjU1KT4+PjF9ZWxzZXtL
PWNbZz4+Ml18MH1pZigoKGNbcT4+Ml18MCktQXwwKT09KEt8MCkpe2lmKEUpe0w9KHkmMjU1KT4+
PjE7TT0oeSYyNTUpPj4+MX1lbHNle3k9Y1tnPj4yXXwwO0w9eTtNPXl9aGcocCxMPDwxLDApO2lm
KChhW3BdJjEpPT0wKXtOPTEwfWVsc2V7Tj0oY1twPj4yXSYtMikrIC0xfDB9aGcocCxOLDApO2lm
KChhW3BdJjEpPT0wKXtPPXd9ZWxzZXtPPWNbeD4+Ml18MH1jW3E+PjJdPU8rTTtQPU99ZWxzZXtQ
PUF9eT1EKzEyfDA7RT1jW3k+PjJdfDA7UT1EKzE2fDA7aWYoKEV8MCk9PShjW1E+PjJdfDApKXtS
PURjW2NbKGNbRD4+Ml18MCkrMzY+PjJdJjEyN10oRCl8MH1lbHNle1I9Y1tFPj4yXXwwfWlmKChS
aShSLHUsdixQLHEseixtLG8scixzLHQsbCl8MCkhPTApe0g9RztJPVA7YnJlYWt9RT1jW3k+PjJd
fDA7aWYoKEV8MCk9PShjW1E+PjJdfDApKXtEY1tjWyhjW0Q+PjJdfDApKzQwPj4yXSYxMjddKEQp
fDA7bj1EO0E9UDtjb250aW51ZX1lbHNle2NbeT4+Ml09RSs0O249RDtBPVA7Y29udGludWV9fVA9
YVtvXXwwO2lmKChQJjEpPT0wKXtTPShQJjI1NSk+Pj4xfWVsc2V7Uz1jW28rND4+Ml18MH1pZigo
KFN8MCkhPTA/KGFbdV18MCkhPTA6MCk/KHU9Y1tzPj4yXXwwLCh1LXJ8MCk8MTYwKTowKXtTPWNb
dD4+Ml18MDtjW3M+PjJdPXUrNDtjW3U+PjJdPVN9aFtrPj4zXT0reG4oSSxjW3E+PjJdfDAsaik7
WGsobyxyLGNbcz4+Ml18MCxqKTtpZigoRHwwKSE9MCl7cz1jW0QrMTI+PjJdfDA7aWYoKHN8MCk9
PShjW0QrMTY+PjJdfDApKXtUPURjW2NbKGNbRD4+Ml18MCkrMzY+PjJdJjEyN10oRCl8MH1lbHNl
e1Q9Y1tzPj4yXXwwfWlmKChUfDApPT0tMSl7Y1tlPj4yXT0wO1U9MDtWPTF9ZWxzZXtVPUQ7Vj0w
fX1lbHNle1U9MDtWPTF9ZG97aWYoKEh8MCkhPTApe0Q9Y1tIKzEyPj4yXXwwO2lmKChEfDApPT0o
Y1tIKzE2Pj4yXXwwKSl7Vz1EY1tjWyhjW0g+PjJdfDApKzM2Pj4yXSYxMjddKEgpfDB9ZWxzZXtX
PWNbRD4+Ml18MH1pZigoV3wwKT09LTEpe2NbZj4+Ml09MDtKPTU3O2JyZWFrfWlmKFYpe2NbYj4+
Ml09VTtlZyhwKTtlZyhvKTtpPWQ7cmV0dXJufX1lbHNle0o9NTd9fXdoaWxlKDApO2lmKChKfDAp
PT01Nz8hVjowKXtjW2I+PjJdPVU7ZWcocCk7ZWcobyk7aT1kO3JldHVybn1jW2o+PjJdPWNbaj4+
Ml18MjtjW2I+PjJdPVU7ZWcocCk7ZWcobyk7aT1kO3JldHVybn1mdW5jdGlvbiBLaShiLGQsZSxm
LGcsaCxqKXtiPWJ8MDtkPWR8MDtlPWV8MDtmPWZ8MDtnPWd8MDtoPWh8MDtqPWp8MDt2YXIgaz0w
LGw9MCxtPTAsbj0wLG89MCxwPTAscT0wLHI9MCxzPTAsdD0wLHU9MCx2PTAsdz0wLHg9MCx5PTAs
ej0wLEE9MCxCPTAsQz0wLEQ9MCxFPTAsRj0wLEc9MCxIPTAsST0wLEo9MCxLPTAsTD0wLE09MCxO
PTAsTz0wLFA9MCxRPTAsUj0wLFM9MCxUPTAsVT0wLFY9MCxXPTAsWD0wLFk9MCxaPTAsXz0wLCQ9
MDtkPWk7aT1pKzMyMHwwO2s9ZDtsPWQrMjA4fDA7bT1kKzE5MnwwO249ZCsxODh8MDtvPWQrMTc2
fDA7cD1kKzE2fDA7Y1ttKzA+PjJdPTA7Y1ttKzQ+PjJdPTA7Y1ttKzg+PjJdPTA7emcobixnKTtn
PWNbbj4+Ml18MDtpZighKChjWzI5OTZdfDApPT0tMSkpe2Nbaz4+Ml09MTE5ODQ7Y1trKzQ+PjJd
PTEzNDtjW2srOD4+Ml09MDskZigxMTk4NCxrLDEzNSl9cT0oY1sxMTk4OD4+Ml18MCkrIC0xfDA7
cj1jW2crOD4+Ml18MDtpZighKChjW2crMTI+PjJdfDApLXI+PjI+Pj4wPnE+Pj4wKSl7cz1EYig0
KXwwOyRuKHMpO3BjKHN8MCwxOTk1MiwxMjMpfWc9Y1tyKyhxPDwyKT4+Ml18MDtpZigoZ3wwKT09
MCl7cz1EYig0KXwwOyRuKHMpO3BjKHN8MCwxOTk1MiwxMjMpfUpjW2NbKGNbZz4+Ml18MCkrNDg+
PjJdJjddKGcsMTA1MzYsMTA1NjJ8MCxsKXwwO0hmKGNbbj4+Ml18MCl8MDtjW28rMD4+Ml09MDtj
W28rND4+Ml09MDtjW28rOD4+Ml09MDtoZyhvLDEwLDApO2lmKChhW29dJjEpPT0wKXtuPW8rMXww
O3Q9bjt1PW8rOHwwO3Y9bn1lbHNle249bys4fDA7dD1vKzF8MDt1PW47dj1jW24+PjJdfDB9bj1v
KzR8MDtnPWwrOTZ8MDtzPWwrMTAwfDA7cT1wO3I9bCsxMDR8MDt3PWw7eD1tKzR8MDt5PWNbZT4+
Ml18MDt6PXA7cD0wO0E9djtCPXY7YTp3aGlsZSgxKXtpZigoeXwwKSE9MCl7dj1jW3krMTI+PjJd
fDA7aWYoKHZ8MCk9PShjW3krMTY+PjJdfDApKXtDPURjW2NbKGNbeT4+Ml18MCkrMzY+PjJdJjEy
N10oeSl8MH1lbHNle0M9Y1t2Pj4yXXwwfWlmKChDfDApPT0tMSl7Y1tlPj4yXT0wO0Q9MTtFPTB9
ZWxzZXtEPTA7RT15fX1lbHNle0Q9MTtFPTB9dj1jW2Y+PjJdfDA7ZG97aWYoKHZ8MCkhPTApe0Y9
Y1t2KzEyPj4yXXwwO2lmKChGfDApPT0oY1t2KzE2Pj4yXXwwKSl7Rz1EY1tjWyhjW3Y+PjJdfDAp
KzM2Pj4yXSYxMjddKHYpfDB9ZWxzZXtHPWNbRj4+Ml18MH1pZighKChHfDApPT0tMSkpe2lmKEQp
e2JyZWFrfWVsc2V7SD1CO2JyZWFrIGF9fWVsc2V7Y1tmPj4yXT0wO0k9MjI7YnJlYWt9fWVsc2V7
ST0yMn19d2hpbGUoMCk7aWYoKEl8MCk9PTIyPyhJPTAsRCk6MCl7SD1CO2JyZWFrfXY9YVtvXXww
O0Y9KHYmMSk9PTA7aWYoRil7Sj0odiYyNTUpPj4+MX1lbHNle0o9Y1tuPj4yXXwwfWlmKChBLUJ8
MCk9PShKfDApKXtpZihGKXtLPSh2JjI1NSk+Pj4xO0w9KHYmMjU1KT4+PjF9ZWxzZXt2PWNbbj4+
Ml18MDtLPXY7TD12fWhnKG8sSzw8MSwwKTtpZigoYVtvXSYxKT09MCl7TT0xMH1lbHNle009KGNb
bz4+Ml0mLTIpKyAtMXwwfWhnKG8sTSwwKTtpZigoYVtvXSYxKT09MCl7Tj10fWVsc2V7Tj1jW3U+
PjJdfDB9Tz1OK0x8MDtQPU59ZWxzZXtPPUE7UD1CfXY9Y1tFKzEyPj4yXXwwO2lmKCh2fDApPT0o
Y1tFKzE2Pj4yXXwwKSl7UT1EY1tjWyhjW0U+PjJdfDApKzM2Pj4yXSYxMjddKEUpfDB9ZWxzZXtR
PWNbdj4+Ml18MH12PShPfDApPT0oUHwwKTtkb3tpZih2KXtGPShjW2c+PjJdfDApPT0oUXwwKTtp
ZighRj8oY1tzPj4yXXwwKSE9KFF8MCk6MCl7ST00MzticmVha31hW09dPUY/NDM6NDU7Uj1PKzF8
MDtTPXo7VD0wfWVsc2V7ST00M319d2hpbGUoMCk7ZG97aWYoKEl8MCk9PTQzKXtJPTA7Rj1hW21d
fDA7aWYoKEYmMSk9PTApe1U9KEYmMjU1KT4+PjF9ZWxzZXtVPWNbeD4+Ml18MH1pZigoVXwwKSE9
MCYoUXwwKT09MCl7aWYoKHotcXwwKT49MTYwKXtSPU87Uz16O1Q9cDticmVha31jW3o+PjJdPXA7
Uj1PO1M9eis0fDA7VD0wO2JyZWFrfWVsc2V7Vj1sfXdoaWxlKDEpe0Y9Vis0fDA7aWYoKGNbVj4+
Ml18MCk9PShRfDApKXtXPVY7YnJlYWt9aWYoKEZ8MCk9PShyfDApKXtXPXI7YnJlYWt9ZWxzZXtW
PUZ9fUY9Vy13fDA7WD1GPj4yO2lmKChGfDApPjkyKXtIPVA7YnJlYWsgYX1pZigoRnwwKTw4OCl7
YVtPXT1hWzEwNTM2K1h8MF18MDtSPU8rMXwwO1M9ejtUPXArMXwwO2JyZWFrfWlmKHYpe0g9Tzti
cmVhayBhfWlmKChPLVB8MCk+PTMpe0g9UDticmVhayBhfWlmKChhW08rIC0xfDBdfDApIT00OCl7
SD1QO2JyZWFrIGF9YVtPXT1hWzEwNTM2K1h8MF18MDtSPU8rMXwwO1M9ejtUPTB9fXdoaWxlKDAp
O3Y9Y1tlPj4yXXwwO1g9disxMnwwO0Y9Y1tYPj4yXXwwO2lmKChGfDApPT0oY1t2KzE2Pj4yXXww
KSl7RGNbY1soY1t2Pj4yXXwwKSs0MD4+Ml0mMTI3XSh2KXwwO3k9djt6PVM7cD1UO0E9UjtCPVA7
Y29udGludWV9ZWxzZXtjW1g+PjJdPUYrNDt5PXY7ej1TO3A9VDtBPVI7Qj1QO2NvbnRpbnVlfX1h
W0grM3wwXT0wO2lmKChhWzExODg4XXwwKT09MD8oSGEoMTE4ODgpfDApIT0wOjApe2NbMjk3MF09
bGIoMjE0NzQ4MzY0NywxMTg5NiwwKXwwO2liKDExODg4KX1QPWNbMjk3MF18MDtjW2s+PjJdPWo7
aWYoKG5pKEgsUCwxMDU3NixrKXwwKSE9MSl7Y1toPj4yXT00fWs9Y1tlPj4yXXwwO2lmKChrfDAp
IT0wKXtQPWNbaysxMj4+Ml18MDtpZigoUHwwKT09KGNbaysxNj4+Ml18MCkpe1k9RGNbY1soY1tr
Pj4yXXwwKSszNj4+Ml0mMTI3XShrKXwwfWVsc2V7WT1jW1A+PjJdfDB9aWYoKFl8MCk9PS0xKXtj
W2U+PjJdPTA7Wj0wO189MX1lbHNle1o9aztfPTB9fWVsc2V7Wj0wO189MX1rPWNbZj4+Ml18MDtk
b3tpZigoa3wwKSE9MCl7ZT1jW2srMTI+PjJdfDA7aWYoKGV8MCk9PShjW2srMTY+PjJdfDApKXsk
PURjW2NbKGNbaz4+Ml18MCkrMzY+PjJdJjEyN10oayl8MH1lbHNleyQ9Y1tlPj4yXXwwfWlmKCgk
fDApPT0tMSl7Y1tmPj4yXT0wO0k9Nzg7YnJlYWt9aWYoXyl7Y1tiPj4yXT1aO2VnKG8pO2VnKG0p
O2k9ZDtyZXR1cm59fWVsc2V7ST03OH19d2hpbGUoMCk7aWYoKEl8MCk9PTc4PyFfOjApe2NbYj4+
Ml09WjtlZyhvKTtlZyhtKTtpPWQ7cmV0dXJufWNbaD4+Ml09Y1toPj4yXXwyO2NbYj4+Ml09Wjtl
ZyhvKTtlZyhtKTtpPWQ7cmV0dXJufWZ1bmN0aW9uIExpKGIsZCxlLGYsZyxoLGosayxsLG0pe2I9
YnwwO2Q9ZHwwO2U9ZXwwO2Y9ZnwwO2c9Z3wwO2g9aHwwO2o9anwwO2s9a3wwO2w9bHwwO209bXww
O3ZhciBuPTAsbz0wLHA9MCxxPTAscj0wLHM9MCx0PTA7bj1pO289Y1tmPj4yXXwwO3A9KG98MCk9
PShlfDApO2Rve2lmKHApe3E9KGNbbSs5Nj4+Ml18MCk9PShifDApO2lmKCFxPyhjW20rMTAwPj4y
XXwwKSE9KGJ8MCk6MCl7YnJlYWt9Y1tmPj4yXT1lKzE7YVtlXT1xPzQzOjQ1O2NbZz4+Ml09MDty
PTA7aT1uO3JldHVybiByfDB9fXdoaWxlKDApO3E9YVtqXXwwO2lmKChxJjEpPT0wKXtzPShxJjI1
NSk+Pj4xfWVsc2V7cz1jW2orND4+Ml18MH1pZigoc3wwKSE9MCYoYnwwKT09KGh8MCkpe2g9Y1ts
Pj4yXXwwO2lmKChoLWt8MCk+PTE2MCl7cj0wO2k9bjtyZXR1cm4gcnwwfWs9Y1tnPj4yXXwwO2Nb
bD4+Ml09aCs0O2NbaD4+Ml09aztjW2c+PjJdPTA7cj0wO2k9bjtyZXR1cm4gcnwwfWs9bSsxMDR8
MDtoPW07d2hpbGUoMSl7bD1oKzR8MDtpZigoY1toPj4yXXwwKT09KGJ8MCkpe3Q9aDticmVha31p
ZigobHwwKT09KGt8MCkpe3Q9azticmVha31lbHNle2g9bH19aD10LW18MDttPWg+PjI7aWYoKGh8
MCk+OTIpe3I9LTE7aT1uO3JldHVybiByfDB9aWYoKGR8MCk9PTEwfChkfDApPT04KXtpZigobXww
KT49KGR8MCkpe3I9LTE7aT1uO3JldHVybiByfDB9fWVsc2UgaWYoKGR8MCk9PTE2PyhofDApPj04
ODowKXtpZihwKXtyPS0xO2k9bjtyZXR1cm4gcnwwfWlmKChvLWV8MCk+PTMpe3I9LTE7aT1uO3Jl
dHVybiByfDB9aWYoKGFbbysgLTF8MF18MCkhPTQ4KXtyPS0xO2k9bjtyZXR1cm4gcnwwfWNbZz4+
Ml09MDtlPWFbMTA1MzYrbXwwXXwwO2NbZj4+Ml09bysxO2Fbb109ZTtyPTA7aT1uO3JldHVybiBy
fDB9ZT1hWzEwNTM2K218MF18MDtjW2Y+PjJdPW8rMTthW29dPWU7Y1tnPj4yXT0oY1tnPj4yXXww
KSsxO3I9MDtpPW47cmV0dXJuIHJ8MH1mdW5jdGlvbiBNaShiLGQsZSxmKXtiPWJ8MDtkPWR8MDtl
PWV8MDtmPWZ8MDt2YXIgZz0wLGg9MCxqPTAsaz0wLGw9MCxtPTAsbj0wO2c9aTtpPWkrMTZ8MDto
PWc7aj1nKzEyfDA7emcoaixkKTtkPWNbaj4+Ml18MDtpZighKChjWzI5OThdfDApPT0tMSkpe2Nb
aD4+Ml09MTE5OTI7Y1toKzQ+PjJdPTEzNDtjW2grOD4+Ml09MDskZigxMTk5MixoLDEzNSl9az0o
Y1sxMTk5Nj4+Ml18MCkrIC0xfDA7bD1jW2QrOD4+Ml18MDtpZighKChjW2QrMTI+PjJdfDApLWw+
PjI+Pj4wPms+Pj4wKSl7bT1EYig0KXwwOyRuKG0pO3BjKG18MCwxOTk1MiwxMjMpfWQ9Y1tsKyhr
PDwyKT4+Ml18MDtpZigoZHwwKT09MCl7bT1EYig0KXwwOyRuKG0pO3BjKG18MCwxOTk1MiwxMjMp
fUpjW2NbKGNbZD4+Ml18MCkrMzI+PjJdJjddKGQsMTA1MzYsMTA1NjJ8MCxlKXwwO2U9Y1tqPj4y
XXwwO2lmKCEoKGNbMzAzNF18MCk9PS0xKSl7Y1toPj4yXT0xMjEzNjtjW2grND4+Ml09MTM0O2Nb
aCs4Pj4yXT0wOyRmKDEyMTM2LGgsMTM1KX1oPShjWzEyMTQwPj4yXXwwKSsgLTF8MDtkPWNbZSs4
Pj4yXXwwO2lmKCEoKGNbZSsxMj4+Ml18MCktZD4+Mj4+PjA+aD4+PjApKXtuPURiKDQpfDA7JG4o
bik7cGMobnwwLDE5OTUyLDEyMyl9ZT1jW2QrKGg8PDIpPj4yXXwwO2lmKChlfDApPT0wKXtuPURi
KDQpfDA7JG4obik7cGMobnwwLDE5OTUyLDEyMyl9ZWxzZXthW2ZdPURjW2NbKGNbZT4+Ml18MCkr
MTY+PjJdJjEyN10oZSl8MDtCY1tjWyhjW2U+PjJdfDApKzIwPj4yXSY2M10oYixlKTtIZihjW2o+
PjJdfDApfDA7aT1nO3JldHVybn19ZnVuY3Rpb24gTmkoYixkLGUsZixnKXtiPWJ8MDtkPWR8MDtl
PWV8MDtmPWZ8MDtnPWd8MDt2YXIgaD0wLGo9MCxrPTAsbD0wLG09MCxuPTAsbz0wO2g9aTtpPWkr
MTZ8MDtqPWg7az1oKzEyfDA7emcoayxkKTtkPWNbaz4+Ml18MDtpZighKChjWzI5OThdfDApPT0t
MSkpe2Nbaj4+Ml09MTE5OTI7Y1tqKzQ+PjJdPTEzNDtjW2orOD4+Ml09MDskZigxMTk5MixqLDEz
NSl9bD0oY1sxMTk5Nj4+Ml18MCkrIC0xfDA7bT1jW2QrOD4+Ml18MDtpZighKChjW2QrMTI+PjJd
fDApLW0+PjI+Pj4wPmw+Pj4wKSl7bj1EYig0KXwwOyRuKG4pO3BjKG58MCwxOTk1MiwxMjMpfWQ9
Y1ttKyhsPDwyKT4+Ml18MDtpZigoZHwwKT09MCl7bj1EYig0KXwwOyRuKG4pO3BjKG58MCwxOTk1
MiwxMjMpfUpjW2NbKGNbZD4+Ml18MCkrMzI+PjJdJjddKGQsMTA1MzYsMTA1Njh8MCxlKXwwO2U9
Y1trPj4yXXwwO2lmKCEoKGNbMzAzNF18MCk9PS0xKSl7Y1tqPj4yXT0xMjEzNjtjW2orND4+Ml09
MTM0O2Nbais4Pj4yXT0wOyRmKDEyMTM2LGosMTM1KX1qPShjWzEyMTQwPj4yXXwwKSsgLTF8MDtk
PWNbZSs4Pj4yXXwwO2lmKCEoKGNbZSsxMj4+Ml18MCktZD4+Mj4+PjA+aj4+PjApKXtvPURiKDQp
fDA7JG4obyk7cGMob3wwLDE5OTUyLDEyMyl9ZT1jW2QrKGo8PDIpPj4yXXwwO2lmKChlfDApPT0w
KXtvPURiKDQpfDA7JG4obyk7cGMob3wwLDE5OTUyLDEyMyl9ZWxzZXthW2ZdPURjW2NbKGNbZT4+
Ml18MCkrMTI+PjJdJjEyN10oZSl8MDthW2ddPURjW2NbKGNbZT4+Ml18MCkrMTY+PjJdJjEyN10o
ZSl8MDtCY1tjWyhjW2U+PjJdfDApKzIwPj4yXSY2M10oYixlKTtIZihjW2s+PjJdfDApfDA7aT1o
O3JldHVybn19ZnVuY3Rpb24gT2koYixkLGUsZixnLGgsaixrLGwsbSxuLG8pe2I9YnwwO2Q9ZHww
O2U9ZXwwO2Y9ZnwwO2c9Z3wwO2g9aHwwO2o9anwwO2s9a3wwO2w9bHwwO209bXwwO249bnwwO289
b3wwO3ZhciBwPTAscT0wLHI9MCxzPTAsdD0wLHU9MDtwPWk7aWYoYjw8MjQ+PjI0PT1oPDwyND4+
MjQpe2lmKChhW2RdfDApPT0wKXtxPS0xO2k9cDtyZXR1cm4gcXwwfWFbZF09MDtoPWNbZz4+Ml18
MDtjW2c+PjJdPWgrMTthW2hdPTQ2O2g9YVtrXXwwO2lmKChoJjEpPT0wKXtyPShoJjI1NSk+Pj4x
fWVsc2V7cj1jW2srND4+Ml18MH1pZigocnwwKT09MCl7cT0wO2k9cDtyZXR1cm4gcXwwfXI9Y1tt
Pj4yXXwwO2lmKChyLWx8MCk+PTE2MCl7cT0wO2k9cDtyZXR1cm4gcXwwfWg9Y1tuPj4yXXwwO2Nb
bT4+Ml09cis0O2Nbcj4+Ml09aDtxPTA7aT1wO3JldHVybiBxfDB9aWYoYjw8MjQ+PjI0PT1qPDwy
ND4+MjQpe2o9YVtrXXwwO2lmKChqJjEpPT0wKXtzPShqJjI1NSk+Pj4xfWVsc2V7cz1jW2srND4+
Ml18MH1pZigoc3wwKSE9MCl7aWYoKGFbZF18MCk9PTApe3E9LTE7aT1wO3JldHVybiBxfDB9cz1j
W20+PjJdfDA7aWYoKHMtbHwwKT49MTYwKXtxPTA7aT1wO3JldHVybiBxfDB9aj1jW24+PjJdfDA7
Y1ttPj4yXT1zKzQ7Y1tzPj4yXT1qO2Nbbj4+Ml09MDtxPTA7aT1wO3JldHVybiBxfDB9fWo9bysz
MnwwO3M9bzt3aGlsZSgxKXtoPXMrMXwwO2lmKChhW3NdfDApPT1iPDwyND4+MjQpe3Q9czticmVh
a31pZigoaHwwKT09KGp8MCkpe3Q9ajticmVha31lbHNle3M9aH19cz10LW98MDtpZigoc3wwKT4z
MSl7cT0tMTtpPXA7cmV0dXJuIHF8MH1vPWFbMTA1MzYrc3wwXXwwO2lmKChzfDApPT0yNHwoc3ww
KT09MjUpe3Q9Y1tnPj4yXXwwO2lmKCh0fDApIT0oZnwwKT8oYVt0KyAtMXwwXSY5NXwwKSE9KGFb
ZV0mMTI3fDApOjApe3E9LTE7aT1wO3JldHVybiBxfDB9Y1tnPj4yXT10KzE7YVt0XT1vO3E9MDtp
PXA7cmV0dXJuIHF8MH1lbHNlIGlmKChzfDApPT0yM3woc3wwKT09MjIpe2FbZV09ODA7dD1jW2c+
PjJdfDA7Y1tnPj4yXT10KzE7YVt0XT1vO3E9MDtpPXA7cmV0dXJuIHF8MH1lbHNle3Q9byY5NTtp
ZigodHwwKT09KGFbZV18MCk/KGFbZV09dHwxMjgsKGFbZF18MCkhPTApOjApe2FbZF09MDtkPWFb
a118MDtpZigoZCYxKT09MCl7dT0oZCYyNTUpPj4+MX1lbHNle3U9Y1trKzQ+PjJdfDB9aWYoKHV8
MCkhPTA/KHU9Y1ttPj4yXXwwLCh1LWx8MCk8MTYwKTowKXtsPWNbbj4+Ml18MDtjW20+PjJdPXUr
NDtjW3U+PjJdPWx9fWw9Y1tnPj4yXXwwO2NbZz4+Ml09bCsxO2FbbF09bztpZigoc3wwKT4yMSl7
cT0wO2k9cDtyZXR1cm4gcXwwfWNbbj4+Ml09KGNbbj4+Ml18MCkrMTtxPTA7aT1wO3JldHVybiBx
fDB9cmV0dXJuIDB9ZnVuY3Rpb24gUGkoYSxiLGQsZSl7YT1hfDA7Yj1ifDA7ZD1kfDA7ZT1lfDA7
dmFyIGY9MCxnPTAsaD0wLGo9MCxrPTAsbD0wLG09MDtmPWk7aT1pKzE2fDA7Zz1mO2g9ZisxMnww
O3pnKGgsYik7Yj1jW2g+PjJdfDA7aWYoISgoY1syOTk2XXwwKT09LTEpKXtjW2c+PjJdPTExOTg0
O2NbZys0Pj4yXT0xMzQ7Y1tnKzg+PjJdPTA7JGYoMTE5ODQsZywxMzUpfWo9KGNbMTE5ODg+PjJd
fDApKyAtMXwwO2s9Y1tiKzg+PjJdfDA7aWYoISgoY1tiKzEyPj4yXXwwKS1rPj4yPj4+MD5qPj4+
MCkpe2w9RGIoNCl8MDskbihsKTtwYyhsfDAsMTk5NTIsMTIzKX1iPWNbaysoajw8Mik+PjJdfDA7
aWYoKGJ8MCk9PTApe2w9RGIoNCl8MDskbihsKTtwYyhsfDAsMTk5NTIsMTIzKX1KY1tjWyhjW2I+
PjJdfDApKzQ4Pj4yXSY3XShiLDEwNTM2LDEwNTYyfDAsZCl8MDtkPWNbaD4+Ml18MDtpZighKChj
WzMwMzZdfDApPT0tMSkpe2NbZz4+Ml09MTIxNDQ7Y1tnKzQ+PjJdPTEzNDtjW2crOD4+Ml09MDsk
ZigxMjE0NCxnLDEzNSl9Zz0oY1sxMjE0OD4+Ml18MCkrIC0xfDA7Yj1jW2QrOD4+Ml18MDtpZigh
KChjW2QrMTI+PjJdfDApLWI+PjI+Pj4wPmc+Pj4wKSl7bT1EYig0KXwwOyRuKG0pO3BjKG18MCwx
OTk1MiwxMjMpfWQ9Y1tiKyhnPDwyKT4+Ml18MDtpZigoZHwwKT09MCl7bT1EYig0KXwwOyRuKG0p
O3BjKG18MCwxOTk1MiwxMjMpfWVsc2V7Y1tlPj4yXT1EY1tjWyhjW2Q+PjJdfDApKzE2Pj4yXSYx
MjddKGQpfDA7QmNbY1soY1tkPj4yXXwwKSsyMD4+Ml0mNjNdKGEsZCk7SGYoY1toPj4yXXwwKXww
O2k9ZjtyZXR1cm59fWZ1bmN0aW9uIFFpKGEsYixkLGUsZil7YT1hfDA7Yj1ifDA7ZD1kfDA7ZT1l
fDA7Zj1mfDA7dmFyIGc9MCxoPTAsaj0wLGs9MCxsPTAsbT0wLG49MDtnPWk7aT1pKzE2fDA7aD1n
O2o9ZysxMnwwO3pnKGosYik7Yj1jW2o+PjJdfDA7aWYoISgoY1syOTk2XXwwKT09LTEpKXtjW2g+
PjJdPTExOTg0O2NbaCs0Pj4yXT0xMzQ7Y1toKzg+PjJdPTA7JGYoMTE5ODQsaCwxMzUpfWs9KGNb
MTE5ODg+PjJdfDApKyAtMXwwO2w9Y1tiKzg+PjJdfDA7aWYoISgoY1tiKzEyPj4yXXwwKS1sPj4y
Pj4+MD5rPj4+MCkpe209RGIoNCl8MDskbihtKTtwYyhtfDAsMTk5NTIsMTIzKX1iPWNbbCsoazw8
Mik+PjJdfDA7aWYoKGJ8MCk9PTApe209RGIoNCl8MDskbihtKTtwYyhtfDAsMTk5NTIsMTIzKX1K
Y1tjWyhjW2I+PjJdfDApKzQ4Pj4yXSY3XShiLDEwNTM2LDEwNTY4fDAsZCl8MDtkPWNbaj4+Ml18
MDtpZighKChjWzMwMzZdfDApPT0tMSkpe2NbaD4+Ml09MTIxNDQ7Y1toKzQ+PjJdPTEzNDtjW2gr
OD4+Ml09MDskZigxMjE0NCxoLDEzNSl9aD0oY1sxMjE0OD4+Ml18MCkrIC0xfDA7Yj1jW2QrOD4+
Ml18MDtpZighKChjW2QrMTI+PjJdfDApLWI+PjI+Pj4wPmg+Pj4wKSl7bj1EYig0KXwwOyRuKG4p
O3BjKG58MCwxOTk1MiwxMjMpfWQ9Y1tiKyhoPDwyKT4+Ml18MDtpZigoZHwwKT09MCl7bj1EYig0
KXwwOyRuKG4pO3BjKG58MCwxOTk1MiwxMjMpfWVsc2V7Y1tlPj4yXT1EY1tjWyhjW2Q+PjJdfDAp
KzEyPj4yXSYxMjddKGQpfDA7Y1tmPj4yXT1EY1tjWyhjW2Q+PjJdfDApKzE2Pj4yXSYxMjddKGQp
fDA7QmNbY1soY1tkPj4yXXwwKSsyMD4+Ml0mNjNdKGEsZCk7SGYoY1tqPj4yXXwwKXwwO2k9Zzty
ZXR1cm59fWZ1bmN0aW9uIFJpKGIsZCxlLGYsZyxoLGosayxsLG0sbixvKXtiPWJ8MDtkPWR8MDtl
PWV8MDtmPWZ8MDtnPWd8MDtoPWh8MDtqPWp8MDtrPWt8MDtsPWx8MDttPW18MDtuPW58MDtvPW98
MDt2YXIgcD0wLHE9MCxyPTAscz0wLHQ9MCx1PTA7cD1pO2lmKChifDApPT0oaHwwKSl7aWYoKGFb
ZF18MCk9PTApe3E9LTE7aT1wO3JldHVybiBxfDB9YVtkXT0wO2g9Y1tnPj4yXXwwO2NbZz4+Ml09
aCsxO2FbaF09NDY7aD1hW2tdfDA7aWYoKGgmMSk9PTApe3I9KGgmMjU1KT4+PjF9ZWxzZXtyPWNb
ays0Pj4yXXwwfWlmKChyfDApPT0wKXtxPTA7aT1wO3JldHVybiBxfDB9cj1jW20+PjJdfDA7aWYo
KHItbHwwKT49MTYwKXtxPTA7aT1wO3JldHVybiBxfDB9aD1jW24+PjJdfDA7Y1ttPj4yXT1yKzQ7
Y1tyPj4yXT1oO3E9MDtpPXA7cmV0dXJuIHF8MH1pZigoYnwwKT09KGp8MCkpe2o9YVtrXXwwO2lm
KChqJjEpPT0wKXtzPShqJjI1NSk+Pj4xfWVsc2V7cz1jW2srND4+Ml18MH1pZigoc3wwKSE9MCl7
aWYoKGFbZF18MCk9PTApe3E9LTE7aT1wO3JldHVybiBxfDB9cz1jW20+PjJdfDA7aWYoKHMtbHww
KT49MTYwKXtxPTA7aT1wO3JldHVybiBxfDB9aj1jW24+PjJdfDA7Y1ttPj4yXT1zKzQ7Y1tzPj4y
XT1qO2Nbbj4+Ml09MDtxPTA7aT1wO3JldHVybiBxfDB9fWo9bysxMjh8MDtzPW87d2hpbGUoMSl7
aD1zKzR8MDtpZigoY1tzPj4yXXwwKT09KGJ8MCkpe3Q9czticmVha31pZigoaHwwKT09KGp8MCkp
e3Q9ajticmVha31lbHNle3M9aH19cz10LW98MDtvPXM+PjI7aWYoKHN8MCk+MTI0KXtxPS0xO2k9
cDtyZXR1cm4gcXwwfXQ9YVsxMDUzNitvfDBdfDA7aWYoKG98MCk9PTI0fChvfDApPT0yNSl7aj1j
W2c+PjJdfDA7aWYoKGp8MCkhPShmfDApPyhhW2orIC0xfDBdJjk1fDApIT0oYVtlXSYxMjd8MCk6
MCl7cT0tMTtpPXA7cmV0dXJuIHF8MH1jW2c+PjJdPWorMTthW2pdPXQ7cT0wO2k9cDtyZXR1cm4g
cXwwfWVsc2UgaWYoISgob3wwKT09MjN8KG98MCk9PTIyKSl7bz10Jjk1O2lmKChvfDApPT0oYVtl
XXwwKT8oYVtlXT1vfDEyOCwoYVtkXXwwKSE9MCk6MCl7YVtkXT0wO2Q9YVtrXXwwO2lmKChkJjEp
PT0wKXt1PShkJjI1NSk+Pj4xfWVsc2V7dT1jW2srND4+Ml18MH1pZigodXwwKSE9MD8odT1jW20+
PjJdfDAsKHUtbHwwKTwxNjApOjApe2w9Y1tuPj4yXXwwO2NbbT4+Ml09dSs0O2NbdT4+Ml09bH19
fWVsc2V7YVtlXT04MH1lPWNbZz4+Ml18MDtjW2c+PjJdPWUrMTthW2VdPXQ7aWYoKHN8MCk+ODQp
e3E9MDtpPXA7cmV0dXJuIHF8MH1jW24+PjJdPShjW24+PjJdfDApKzE7cT0wO2k9cDtyZXR1cm4g
cXwwfWZ1bmN0aW9uIFNpKGEpe2E9YXwwO3ZhciBiPTA7Yj1pO0NvKGEpO2k9YjtyZXR1cm59ZnVu
Y3Rpb24gVGkoYSl7YT1hfDA7cmV0dXJufWZ1bmN0aW9uIFVpKGIsZCxlLGYsZyxoKXtiPWJ8MDtk
PWR8MDtlPWV8MDtmPWZ8MDtnPWd8MDtoPWh8MDt2YXIgaj0wLGs9MCxsPTAsbT0wLG49MCxvPTAs
cD0wLHE9MCxyPTAscz0wLHQ9MCx1PTAsdj0wO2o9aTtpPWkrMzJ8MDtrPWo7bD1qKzI4fDA7bT1q
KzI0fDA7bj1qKzEyfDA7aWYoKGNbZis0Pj4yXSYxfDApPT0wKXtvPWNbKGNbZD4+Ml18MCkrMjQ+
PjJdfDA7Y1tsPj4yXT1jW2U+PjJdO3A9aCYxO2NbayswPj4yXT1jW2wrMD4+Ml07d2NbbyYzMV0o
YixkLGssZixnLHApO2k9ajtyZXR1cm59emcobSxmKTtmPWNbbT4+Ml18MDtpZighKChjWzMwMzRd
fDApPT0tMSkpe2Nbaz4+Ml09MTIxMzY7Y1trKzQ+PjJdPTEzNDtjW2srOD4+Ml09MDskZigxMjEz
NixrLDEzNSl9az0oY1sxMjE0MD4+Ml18MCkrIC0xfDA7cD1jW2YrOD4+Ml18MDtpZighKChjW2Yr
MTI+PjJdfDApLXA+PjI+Pj4wPms+Pj4wKSl7cT1EYig0KXwwOyRuKHEpO3BjKHF8MCwxOTk1Miwx
MjMpfWY9Y1twKyhrPDwyKT4+Ml18MDtpZigoZnwwKT09MCl7cT1EYig0KXwwOyRuKHEpO3BjKHF8
MCwxOTk1MiwxMjMpfUhmKGNbbT4+Ml18MCl8MDttPWNbZj4+Ml18MDtpZihoKXtCY1tjW20rMjQ+
PjJdJjYzXShuLGYpfWVsc2V7QmNbY1ttKzI4Pj4yXSY2M10obixmKX1mPWFbbl18MDtpZigoZiYx
KT09MCl7bT1uKzF8MDtyPW07cz1tO3Q9bis4fDB9ZWxzZXttPW4rOHwwO3I9Y1ttPj4yXXwwO3M9
bisxfDA7dD1tfW09bis0fDA7aD1mO2Y9cjt3aGlsZSgxKXtpZigoaCYxKT09MCl7dT1zO3Y9KGgm
MjU1KT4+PjF9ZWxzZXt1PWNbdD4+Ml18MDt2PWNbbT4+Ml18MH1pZigoZnwwKT09KHUrdnwwKSl7
YnJlYWt9cj1hW2ZdfDA7cT1jW2U+PjJdfDA7ZG97aWYoKHF8MCkhPTApe2s9cSsyNHwwO3A9Y1tr
Pj4yXXwwO2lmKChwfDApIT0oY1txKzI4Pj4yXXwwKSl7Y1trPj4yXT1wKzE7YVtwXT1yO2JyZWFr
fWlmKChNY1tjWyhjW3E+PjJdfDApKzUyPj4yXSYzMV0ocSxyJjI1NSl8MCk9PS0xKXtjW2U+PjJd
PTB9fX13aGlsZSgwKTtoPWFbbl18MDtmPWYrMXwwfWNbYj4+Ml09Y1tlPj4yXTtlZyhuKTtpPWo7
cmV0dXJufWZ1bmN0aW9uIFZpKGIsZCxlLGYsZyxoKXtiPWJ8MDtkPWR8MDtlPWV8MDtmPWZ8MDtn
PWd8MDtoPWh8MDt2YXIgaj0wLGs9MCxsPTAsbT0wLG49MCxvPTAscD0wLHE9MCxyPTAscz0wLHQ9
MCx1PTAsdj0wLHc9MCx4PTA7ZD1pO2k9aSs2NHwwO2o9ZDtrPWQrMjB8MDtsPWQrMjh8MDttPWQr
NDB8MDtuPWQrMTJ8MDtvPWQrNHwwO3A9ZCs4fDA7cT1kKzE2fDA7YVtrKzB8MF09YVsxMDc4NHww
XXwwO2FbaysxfDBdPWFbMTA3ODV8MF18MDthW2srMnwwXT1hWzEwNzg2fDBdfDA7YVtrKzN8MF09
YVsxMDc4N3wwXXwwO2Fbays0fDBdPWFbMTA3ODh8MF18MDthW2srNXwwXT1hWzEwNzg5fDBdfDA7
cj1rKzF8MDtzPWYrNHwwO3Q9Y1tzPj4yXXwwO2lmKCh0JjIwNDh8MCk9PTApe3U9cn1lbHNle2Fb
cl09NDM7dT1rKzJ8MH1pZigodCY1MTJ8MCk9PTApe3Y9dX1lbHNle2FbdV09MzU7dj11KzF8MH1h
W3ZdPTEwODt1PXYrMXwwO3Y9dCY3NDtkb3tpZigodnwwKT09NjQpe2FbdV09MTExfWVsc2UgaWYo
KHZ8MCk9PTgpe2lmKCh0JjE2Mzg0fDApPT0wKXthW3VdPTEyMDticmVha31lbHNle2FbdV09ODg7
YnJlYWt9fWVsc2V7YVt1XT0xMDB9fXdoaWxlKDApO2lmKChhWzExODg4XXwwKT09MD8oSGEoMTE4
ODgpfDApIT0wOjApe2NbMjk3MF09bGIoMjE0NzQ4MzY0NywxMTg5NiwwKXwwO2liKDExODg4KX11
PWNbMjk3MF18MDtjW2o+PjJdPWg7aD1XaShsLDEyLHUsayxqKXwwO2s9bCtofDA7dT1jW3M+PjJd
JjE3Njtkb3tpZigodXwwKT09MzIpe3c9a31lbHNlIGlmKCh1fDApPT0xNil7cz1hW2xdfDA7aWYo
czw8MjQ+PjI0PT00M3xzPDwyND4+MjQ9PTQ1KXt3PWwrMXwwO2JyZWFrfWlmKChofDApPjEmczw8
MjQ+PjI0PT00OD8ocz1hW2wrMXwwXXwwLHM8PDI0Pj4yND09ODh8czw8MjQ+PjI0PT0xMjApOjAp
e3c9bCsyfDB9ZWxzZXt4PTIwfX1lbHNle3g9MjB9fXdoaWxlKDApO2lmKCh4fDApPT0yMCl7dz1s
fXpnKHAsZik7WGkobCx3LGssbSxuLG8scCk7SGYoY1twPj4yXXwwKXwwO2NbcT4+Ml09Y1tlPj4y
XTtlPWNbbj4+Ml18MDtuPWNbbz4+Ml18MDtjW2orMD4+Ml09Y1txKzA+PjJdO2RlKGIsaixtLGUs
bixmLGcpO2k9ZDtyZXR1cm59ZnVuY3Rpb24gV2koYSxiLGQsZSxmKXthPWF8MDtiPWJ8MDtkPWR8
MDtlPWV8MDtmPWZ8MDt2YXIgZz0wLGg9MDtnPWk7aT1pKzE2fDA7aD1nO2NbaD4+Ml09ZjtmPUdi
KGR8MCl8MDtkPXRiKGF8MCxifDAsZXwwLGh8MCl8MDtpZigoZnwwKT09MCl7aT1nO3JldHVybiBk
fDB9R2IoZnwwKXwwO2k9ZztyZXR1cm4gZHwwfWZ1bmN0aW9uIFhpKGIsZCxlLGYsZyxoLGope2I9
YnwwO2Q9ZHwwO2U9ZXwwO2Y9ZnwwO2c9Z3wwO2g9aHwwO2o9anwwO3ZhciBrPTAsbD0wLG09MCxu
PTAsbz0wLHA9MCxxPTAscj0wLHM9MCx0PTAsdT0wLHY9MCx3PTAseD0wLHk9MCx6PTA7az1pO2k9
aSszMnwwO2w9azttPWsrMTJ8MDtuPWNbaj4+Ml18MDtpZighKChjWzI5OThdfDApPT0tMSkpe2Nb
bD4+Ml09MTE5OTI7Y1tsKzQ+PjJdPTEzNDtjW2wrOD4+Ml09MDskZigxMTk5MixsLDEzNSl9bz0o
Y1sxMTk5Nj4+Ml18MCkrIC0xfDA7cD1jW24rOD4+Ml18MDtpZighKChjW24rMTI+PjJdfDApLXA+
PjI+Pj4wPm8+Pj4wKSl7cT1EYig0KXwwOyRuKHEpO3BjKHF8MCwxOTk1MiwxMjMpfW49Y1twKyhv
PDwyKT4+Ml18MDtpZigobnwwKT09MCl7cT1EYig0KXwwOyRuKHEpO3BjKHF8MCwxOTk1MiwxMjMp
fXE9Y1tqPj4yXXwwO2lmKCEoKGNbMzAzNF18MCk9PS0xKSl7Y1tsPj4yXT0xMjEzNjtjW2wrND4+
Ml09MTM0O2NbbCs4Pj4yXT0wOyRmKDEyMTM2LGwsMTM1KX1sPShjWzEyMTQwPj4yXXwwKSsgLTF8
MDtqPWNbcSs4Pj4yXXwwO2lmKCEoKGNbcSsxMj4+Ml18MCktaj4+Mj4+PjA+bD4+PjApKXtyPURi
KDQpfDA7JG4ocik7cGMocnwwLDE5OTUyLDEyMyl9cT1jW2orKGw8PDIpPj4yXXwwO2lmKChxfDAp
PT0wKXtyPURiKDQpfDA7JG4ocik7cGMocnwwLDE5OTUyLDEyMyl9QmNbY1soY1txPj4yXXwwKSsy
MD4+Ml0mNjNdKG0scSk7cj1hW21dfDA7aWYoKHImMSk9PTApe3M9KHImMjU1KT4+PjF9ZWxzZXtz
PWNbbSs0Pj4yXXwwfWlmKChzfDApIT0wKXtjW2g+PjJdPWY7cz1hW2JdfDA7aWYoczw8MjQ+PjI0
PT00M3xzPDwyND4+MjQ9PTQ1KXtyPU1jW2NbKGNbbj4+Ml18MCkrMjg+PjJdJjMxXShuLHMpfDA7
cz1jW2g+PjJdfDA7Y1toPj4yXT1zKzE7YVtzXT1yO3Q9YisxfDB9ZWxzZXt0PWJ9aWYoKChlLXR8
MCk+MT8oYVt0XXwwKT09NDg6MCk/KHI9dCsxfDAscz1hW3JdfDAsczw8MjQ+PjI0PT04OHxzPDwy
ND4+MjQ9PTEyMCk6MCl7cz1NY1tjWyhjW24+PjJdfDApKzI4Pj4yXSYzMV0obiw0OCl8MDtsPWNb
aD4+Ml18MDtjW2g+PjJdPWwrMTthW2xdPXM7cz1NY1tjWyhjW24+PjJdfDApKzI4Pj4yXSYzMV0o
bixhW3JdfDApfDA7cj1jW2g+PjJdfDA7Y1toPj4yXT1yKzE7YVtyXT1zO3U9dCsyfDB9ZWxzZXt1
PXR9aWYoKHV8MCkhPShlfDApPyh0PWUrIC0xfDAsdD4+PjA+dT4+PjApOjApe3M9dTtyPXQ7ZG97
dD1hW3NdfDA7YVtzXT1hW3JdfDA7YVtyXT10O3M9cysxfDA7cj1yKyAtMXwwfXdoaWxlKHM+Pj4w
PHI+Pj4wKX1yPURjW2NbKGNbcT4+Ml18MCkrMTY+PjJdJjEyN10ocSl8MDtpZih1Pj4+MDxlPj4+
MCl7cT1tKzF8MDtzPW0rNHwwO3Q9bSs4fDA7bD0wO2o9MDtvPXU7d2hpbGUoMSl7cD0oYVttXSYx
KT09MDtpZigoYVsocD9xOmNbdD4+Ml18MCkranwwXXwwKSE9MD8obHwwKT09KGFbKHA/cTpjW3Q+
PjJdfDApK2p8MF18MCk6MCl7cD1jW2g+PjJdfDA7Y1toPj4yXT1wKzE7YVtwXT1yO3A9YVttXXww
O2lmKChwJjEpPT0wKXt2PShwJjI1NSk+Pj4xfWVsc2V7dj1jW3M+PjJdfDB9dz0wO3g9KGo+Pj4w
PCh2KyAtMXwwKT4+PjApK2p8MH1lbHNle3c9bDt4PWp9cD1NY1tjWyhjW24+PjJdfDApKzI4Pj4y
XSYzMV0obixhW29dfDApfDA7eT1jW2g+PjJdfDA7Y1toPj4yXT15KzE7YVt5XT1wO289bysxfDA7
aWYoIShvPj4+MDxlPj4+MCkpe2JyZWFrfWVsc2V7bD13KzF8MDtqPXh9fX14PWYrKHUtYil8MDt1
PWNbaD4+Ml18MDtpZigoeHwwKSE9KHV8MCk/KGo9dSsgLTF8MCxqPj4+MD54Pj4+MCk6MCl7dT14
O3g9ajtkb3tqPWFbdV18MDthW3VdPWFbeF18MDthW3hdPWo7dT11KzF8MDt4PXgrIC0xfDB9d2hp
bGUodT4+PjA8eD4+PjApfX1lbHNle0pjW2NbKGNbbj4+Ml18MCkrMzI+PjJdJjddKG4sYixlLGYp
fDA7Y1toPj4yXT1mKyhlLWIpfWlmKChkfDApPT0oZXwwKSl7ej1jW2g+PjJdfDA7Y1tnPj4yXT16
O2VnKG0pO2k9aztyZXR1cm59ZWxzZXt6PWYrKGQtYil8MDtjW2c+PjJdPXo7ZWcobSk7aT1rO3Jl
dHVybn19ZnVuY3Rpb24gWWkoYixkLGUsZixnLGgsail7Yj1ifDA7ZD1kfDA7ZT1lfDA7Zj1mfDA7
Zz1nfDA7aD1ofDA7aj1qfDA7dmFyIGs9MCxsPTAsbT0wLG49MCxvPTAscD0wLHE9MCxyPTAscz0w
LHQ9MCx1PTAsdj0wLHc9MCx4PTAseT0wO2Q9aTtpPWkrOTZ8MDtrPWQ7bD1kKzh8MDttPWQrMzJ8
MDtuPWQrNTR8MDtvPWQrMTZ8MDtwPWQrMjR8MDtxPWQrMjB8MDtyPWQrMjh8MDtzPWw7Y1tzPj4y
XT0zNztjW3MrND4+Ml09MDtzPWwrMXwwO3Q9Zis0fDA7dT1jW3Q+PjJdfDA7aWYoKHUmMjA0OHww
KT09MCl7dj1zfWVsc2V7YVtzXT00Mzt2PWwrMnwwfWlmKCh1JjUxMnwwKT09MCl7dz12fWVsc2V7
YVt2XT0zNTt3PXYrMXwwfXY9dysyfDA7YVt3XT0xMDg7YVt3KzF8MF09MTA4O3c9dSY3NDtkb3tp
Zigod3wwKT09NjQpe2Fbdl09MTExfWVsc2UgaWYoKHd8MCk9PTgpe2lmKCh1JjE2Mzg0fDApPT0w
KXthW3ZdPTEyMDticmVha31lbHNle2Fbdl09ODg7YnJlYWt9fWVsc2V7YVt2XT0xMDB9fXdoaWxl
KDApO2lmKChhWzExODg4XXwwKT09MD8oSGEoMTE4ODgpfDApIT0wOjApe2NbMjk3MF09bGIoMjE0
NzQ4MzY0NywxMTg5NiwwKXwwO2liKDExODg4KX12PWNbMjk3MF18MDt1PWs7Y1t1Pj4yXT1oO2Nb
dSs0Pj4yXT1qO2o9V2kobSwyMix2LGwsayl8MDtsPW0ranwwO3Y9Y1t0Pj4yXSYxNzY7ZG97aWYo
KHZ8MCk9PTMyKXt4PWx9ZWxzZSBpZigodnwwKT09MTYpe3Q9YVttXXwwO2lmKHQ8PDI0Pj4yND09
NDN8dDw8MjQ+PjI0PT00NSl7eD1tKzF8MDticmVha31pZigoanwwKT4xJnQ8PDI0Pj4yND09NDg/
KHQ9YVttKzF8MF18MCx0PDwyND4+MjQ9PTg4fHQ8PDI0Pj4yND09MTIwKTowKXt4PW0rMnwwfWVs
c2V7eT0yMH19ZWxzZXt5PTIwfX13aGlsZSgwKTtpZigoeXwwKT09MjApe3g9bX16ZyhxLGYpO1hp
KG0seCxsLG4sbyxwLHEpO0hmKGNbcT4+Ml18MCl8MDtjW3I+PjJdPWNbZT4+Ml07ZT1jW28+PjJd
fDA7bz1jW3A+PjJdfDA7Y1trKzA+PjJdPWNbciswPj4yXTtkZShiLGssbixlLG8sZixnKTtpPWQ7
cmV0dXJufWZ1bmN0aW9uIFppKGIsZCxlLGYsZyxoKXtiPWJ8MDtkPWR8MDtlPWV8MDtmPWZ8MDtn
PWd8MDtoPWh8MDt2YXIgaj0wLGs9MCxsPTAsbT0wLG49MCxvPTAscD0wLHE9MCxyPTAscz0wLHQ9
MCx1PTAsdj0wLHc9MCx4PTA7ZD1pO2k9aSs2NHwwO2o9ZDtrPWQrMjB8MDtsPWQrMjh8MDttPWQr
NDB8MDtuPWQrMTJ8MDtvPWQrNHwwO3A9ZCs4fDA7cT1kKzE2fDA7YVtrKzB8MF09YVsxMDc4NHww
XXwwO2FbaysxfDBdPWFbMTA3ODV8MF18MDthW2srMnwwXT1hWzEwNzg2fDBdfDA7YVtrKzN8MF09
YVsxMDc4N3wwXXwwO2Fbays0fDBdPWFbMTA3ODh8MF18MDthW2srNXwwXT1hWzEwNzg5fDBdfDA7
cj1rKzF8MDtzPWYrNHwwO3Q9Y1tzPj4yXXwwO2lmKCh0JjIwNDh8MCk9PTApe3U9cn1lbHNle2Fb
cl09NDM7dT1rKzJ8MH1pZigodCY1MTJ8MCk9PTApe3Y9dX1lbHNle2FbdV09MzU7dj11KzF8MH1h
W3ZdPTEwODt1PXYrMXwwO3Y9dCY3NDtkb3tpZigodnwwKT09OCl7aWYoKHQmMTYzODR8MCk9PTAp
e2FbdV09MTIwO2JyZWFrfWVsc2V7YVt1XT04ODticmVha319ZWxzZSBpZigodnwwKT09NjQpe2Fb
dV09MTExfWVsc2V7YVt1XT0xMTd9fXdoaWxlKDApO2lmKChhWzExODg4XXwwKT09MD8oSGEoMTE4
ODgpfDApIT0wOjApe2NbMjk3MF09bGIoMjE0NzQ4MzY0NywxMTg5NiwwKXwwO2liKDExODg4KX11
PWNbMjk3MF18MDtjW2o+PjJdPWg7aD1XaShsLDEyLHUsayxqKXwwO2s9bCtofDA7dT1jW3M+PjJd
JjE3Njtkb3tpZigodXwwKT09MzIpe3c9a31lbHNlIGlmKCh1fDApPT0xNil7cz1hW2xdfDA7aWYo
czw8MjQ+PjI0PT00M3xzPDwyND4+MjQ9PTQ1KXt3PWwrMXwwO2JyZWFrfWlmKChofDApPjEmczw8
MjQ+PjI0PT00OD8ocz1hW2wrMXwwXXwwLHM8PDI0Pj4yND09ODh8czw8MjQ+PjI0PT0xMjApOjAp
e3c9bCsyfDB9ZWxzZXt4PTIwfX1lbHNle3g9MjB9fXdoaWxlKDApO2lmKCh4fDApPT0yMCl7dz1s
fXpnKHAsZik7WGkobCx3LGssbSxuLG8scCk7SGYoY1twPj4yXXwwKXwwO2NbcT4+Ml09Y1tlPj4y
XTtlPWNbbj4+Ml18MDtuPWNbbz4+Ml18MDtjW2orMD4+Ml09Y1txKzA+PjJdO2RlKGIsaixtLGUs
bixmLGcpO2k9ZDtyZXR1cm59ZnVuY3Rpb24gX2koYixkLGUsZixnLGgsail7Yj1ifDA7ZD1kfDA7
ZT1lfDA7Zj1mfDA7Zz1nfDA7aD1ofDA7aj1qfDA7dmFyIGs9MCxsPTAsbT0wLG49MCxvPTAscD0w
LHE9MCxyPTAscz0wLHQ9MCx1PTAsdj0wLHc9MCx4PTAseT0wO2Q9aTtpPWkrMTEyfDA7az1kO2w9
ZCs4fDA7bT1kKzMyfDA7bj1kKzU1fDA7bz1kKzE2fDA7cD1kKzI0fDA7cT1kKzIwfDA7cj1kKzI4
fDA7cz1sO2Nbcz4+Ml09Mzc7Y1tzKzQ+PjJdPTA7cz1sKzF8MDt0PWYrNHwwO3U9Y1t0Pj4yXXww
O2lmKCh1JjIwNDh8MCk9PTApe3Y9c31lbHNle2Fbc109NDM7dj1sKzJ8MH1pZigodSY1MTJ8MCk9
PTApe3c9dn1lbHNle2Fbdl09MzU7dz12KzF8MH12PXcrMnwwO2Fbd109MTA4O2FbdysxfDBdPTEw
ODt3PXUmNzQ7ZG97aWYoKHd8MCk9PTY0KXthW3ZdPTExMX1lbHNlIGlmKCh3fDApPT04KXtpZigo
dSYxNjM4NHwwKT09MCl7YVt2XT0xMjA7YnJlYWt9ZWxzZXthW3ZdPTg4O2JyZWFrfX1lbHNle2Fb
dl09MTE3fX13aGlsZSgwKTtpZigoYVsxMTg4OF18MCk9PTA/KEhhKDExODg4KXwwKSE9MDowKXtj
WzI5NzBdPWxiKDIxNDc0ODM2NDcsMTE4OTYsMCl8MDtpYigxMTg4OCl9dj1jWzI5NzBdfDA7dT1r
O2NbdT4+Ml09aDtjW3UrND4+Ml09ajtqPVdpKG0sMjMsdixsLGspfDA7bD1tK2p8MDt2PWNbdD4+
Ml0mMTc2O2Rve2lmKCh2fDApPT0zMil7eD1sfWVsc2UgaWYoKHZ8MCk9PTE2KXt0PWFbbV18MDtp
Zih0PDwyND4+MjQ9PTQzfHQ8PDI0Pj4yND09NDUpe3g9bSsxfDA7YnJlYWt9aWYoKGp8MCk+MSZ0
PDwyND4+MjQ9PTQ4Pyh0PWFbbSsxfDBdfDAsdDw8MjQ+PjI0PT04OHx0PDwyND4+MjQ9PTEyMCk6
MCl7eD1tKzJ8MH1lbHNle3k9MjB9fWVsc2V7eT0yMH19d2hpbGUoMCk7aWYoKHl8MCk9PTIwKXt4
PW19emcocSxmKTtYaShtLHgsbCxuLG8scCxxKTtIZihjW3E+PjJdfDApfDA7Y1tyPj4yXT1jW2U+
PjJdO2U9Y1tvPj4yXXwwO289Y1twPj4yXXwwO2NbayswPj4yXT1jW3IrMD4+Ml07ZGUoYixrLG4s
ZSxvLGYsZyk7aT1kO3JldHVybn1mdW5jdGlvbiAkaShiLGQsZSxmLGcsail7Yj1ifDA7ZD1kfDA7
ZT1lfDA7Zj1mfDA7Zz1nfDA7aj0rajt2YXIgbD0wLG09MCxuPTAsbz0wLHA9MCxxPTAscj0wLHM9
MCx0PTAsdT0wLHY9MCx3PTAseD0wLHk9MCx6PTAsQT0wLEI9MCxDPTAsRD0wLEU9MCxGPTAsRz0w
LEg9MCxJPTAsSj0wLEs9MDtkPWk7aT1pKzE0NHwwO2w9ZCs4fDA7bT1kO249ZCs0NHwwO289ZCsz
NnwwO3A9ZCs3NHwwO3E9ZCsyMHwwO3I9ZCszMnwwO3M9ZCsyOHwwO3Q9ZCsyNHwwO3U9ZCs0MHww
O3Y9bTtjW3Y+PjJdPTM3O2Nbdis0Pj4yXT0wO3Y9bSsxfDA7dz1mKzR8MDt4PWNbdz4+Ml18MDtp
ZigoeCYyMDQ4fDApPT0wKXt5PXZ9ZWxzZXthW3ZdPTQzO3k9bSsyfDB9aWYoKHgmMTAyNHwwKT09
MCl7ej15fWVsc2V7YVt5XT0zNTt6PXkrMXwwfXk9eCYyNjA7dj14Pj4+MTQ7ZG97aWYoKHl8MCk9
PTI2MCl7aWYoKHYmMXwwKT09MCl7YVt6XT05NztBPTA7YnJlYWt9ZWxzZXthW3pdPTY1O0E9MDti
cmVha319ZWxzZXthW3pdPTQ2O3g9eisyfDA7YVt6KzF8MF09NDI7aWYoKHl8MCk9PTQpe2lmKCh2
JjF8MCk9PTApe2FbeF09MTAyO0E9MTticmVha31lbHNle2FbeF09NzA7QT0xO2JyZWFrfX1lbHNl
IGlmKCh5fDApPT0yNTYpe2lmKCh2JjF8MCk9PTApe2FbeF09MTAxO0E9MTticmVha31lbHNle2Fb
eF09Njk7QT0xO2JyZWFrfX1lbHNle2lmKCh2JjF8MCk9PTApe2FbeF09MTAzO0E9MTticmVha31l
bHNle2FbeF09NzE7QT0xO2JyZWFrfX19fXdoaWxlKDApO2Nbbz4+Ml09bjtpZigoYVsxMTg4OF18
MCk9PTA/KEhhKDExODg4KXwwKSE9MDowKXtjWzI5NzBdPWxiKDIxNDc0ODM2NDcsMTE4OTYsMCl8
MDtpYigxMTg4OCl9dj1jWzI5NzBdfDA7aWYoQSl7Y1tsPj4yXT1jW2YrOD4+Ml07eT1sKzR8MDto
W2s+PjNdPWo7Y1t5Pj4yXT1jW2s+PjJdO2NbeSs0Pj4yXT1jW2srND4+Ml07Qj1XaShuLDMwLHYs
bSxsKXwwfWVsc2V7aFtrPj4zXT1qO2NbbD4+Ml09Y1trPj4yXTtjW2wrND4+Ml09Y1trKzQ+PjJd
O0I9V2kobiwzMCx2LG0sbCl8MH1pZigoQnwwKT4yOSl7dj0oYVsxMTg4OF18MCk9PTA7aWYoQSl7
aWYodj8oSGEoMTE4ODgpfDApIT0wOjApe2NbMjk3MF09bGIoMjE0NzQ4MzY0NywxMTg5NiwwKXww
O2liKDExODg4KX1BPWNbMjk3MF18MDtjW2w+PjJdPWNbZis4Pj4yXTt5PWwrNHwwO2hbaz4+M109
ajtjW3k+PjJdPWNbaz4+Ml07Y1t5KzQ+PjJdPWNbays0Pj4yXTtDPWFqKG8sQSxtLGwpfDB9ZWxz
ZXtpZih2PyhIYSgxMTg4OCl8MCkhPTA6MCl7Y1syOTcwXT1sYigyMTQ3NDgzNjQ3LDExODk2LDAp
fDA7aWIoMTE4ODgpfXY9Y1syOTcwXXwwO2NbbD4+Ml09Y1tmKzg+PjJdO0E9bCs0fDA7aFtrPj4z
XT1qO2NbQT4+Ml09Y1trPj4yXTtjW0ErND4+Ml09Y1trKzQ+PjJdO0M9YWoobyx2LG0sbCl8MH1t
PWNbbz4+Ml18MDtpZigobXwwKT09MCl7SG8oKX1lbHNle0Q9bTtFPW07Rj1DfX1lbHNle0Q9Y1tv
Pj4yXXwwO0U9MDtGPUJ9Qj1EK0Z8MDtvPWNbdz4+Ml0mMTc2O2Rve2lmKChvfDApPT0xNil7dz1h
W0RdfDA7aWYodzw8MjQ+PjI0PT00M3x3PDwyND4+MjQ9PTQ1KXtHPUQrMXwwO2JyZWFrfWlmKChG
fDApPjEmdzw8MjQ+PjI0PT00OD8odz1hW0QrMXwwXXwwLHc8PDI0Pj4yND09ODh8dzw8MjQ+PjI0
PT0xMjApOjApe0c9RCsyfDB9ZWxzZXtIPTQ0fX1lbHNlIGlmKChvfDApPT0zMil7Rz1CfWVsc2V7
SD00NH19d2hpbGUoMCk7aWYoKEh8MCk9PTQ0KXtHPUR9aWYoKER8MCkhPShufDApKXtIPXZvKEY8
PDEpfDA7aWYoKEh8MCk9PTApe0hvKCl9ZWxzZXtJPUQ7Sj1IO0s9SH19ZWxzZXtJPW47Sj0wO0s9
cH16ZyhzLGYpO2JqKEksRyxCLEsscSxyLHMpO0hmKGNbcz4+Ml18MCl8MDtjW3U+PjJdPWNbZT4+
Ml07cz1jW3E+PjJdfDA7cT1jW3I+PjJdfDA7Y1tsKzA+PjJdPWNbdSswPj4yXTtkZSh0LGwsSyxz
LHEsZixnKTtnPWNbdD4+Ml18MDtjW2U+PjJdPWc7Y1tiPj4yXT1nO2lmKChKfDApIT0wKXt3byhK
KX1pZigoRXwwKT09MCl7aT1kO3JldHVybn13byhFKTtpPWQ7cmV0dXJufWZ1bmN0aW9uIGFqKGEs
YixkLGUpe2E9YXwwO2I9YnwwO2Q9ZHwwO2U9ZXwwO3ZhciBmPTAsZz0wO2Y9aTtpPWkrMTZ8MDtn
PWY7Y1tnPj4yXT1lO2U9R2IoYnwwKXwwO2I9cmIoYXwwLGR8MCxnfDApfDA7aWYoKGV8MCk9PTAp
e2k9ZjtyZXR1cm4gYnwwfUdiKGV8MCl8MDtpPWY7cmV0dXJuIGJ8MH1mdW5jdGlvbiBiaihiLGQs
ZSxmLGcsaCxqKXtiPWJ8MDtkPWR8MDtlPWV8MDtmPWZ8MDtnPWd8MDtoPWh8MDtqPWp8MDt2YXIg
az0wLGw9MCxtPTAsbj0wLG89MCxwPTAscT0wLHI9MCxzPTAsdD0wLHU9MCx2PTAsdz0wLHg9MCx5
PTAsej0wLEE9MCxCPTAsQz0wLEQ9MDtrPWk7aT1pKzMyfDA7bD1rO209aysxMnwwO249Y1tqPj4y
XXwwO2lmKCEoKGNbMjk5OF18MCk9PS0xKSl7Y1tsPj4yXT0xMTk5MjtjW2wrND4+Ml09MTM0O2Nb
bCs4Pj4yXT0wOyRmKDExOTkyLGwsMTM1KX1vPShjWzExOTk2Pj4yXXwwKSsgLTF8MDtwPWNbbis4
Pj4yXXwwO2lmKCEoKGNbbisxMj4+Ml18MCktcD4+Mj4+PjA+bz4+PjApKXtxPURiKDQpfDA7JG4o
cSk7cGMocXwwLDE5OTUyLDEyMyl9bj1jW3ArKG88PDIpPj4yXXwwO2lmKChufDApPT0wKXtxPURi
KDQpfDA7JG4ocSk7cGMocXwwLDE5OTUyLDEyMyl9cT1jW2o+PjJdfDA7aWYoISgoY1szMDM0XXww
KT09LTEpKXtjW2w+PjJdPTEyMTM2O2NbbCs0Pj4yXT0xMzQ7Y1tsKzg+PjJdPTA7JGYoMTIxMzYs
bCwxMzUpfWw9KGNbMTIxNDA+PjJdfDApKyAtMXwwO2o9Y1txKzg+PjJdfDA7aWYoISgoY1txKzEy
Pj4yXXwwKS1qPj4yPj4+MD5sPj4+MCkpe3I9RGIoNCl8MDskbihyKTtwYyhyfDAsMTk5NTIsMTIz
KX1xPWNbaisobDw8Mik+PjJdfDA7aWYoKHF8MCk9PTApe3I9RGIoNCl8MDskbihyKTtwYyhyfDAs
MTk5NTIsMTIzKX1CY1tjWyhjW3E+PjJdfDApKzIwPj4yXSY2M10obSxxKTtjW2g+PjJdPWY7cj1h
W2JdfDA7aWYocjw8MjQ+PjI0PT00M3xyPDwyND4+MjQ9PTQ1KXtsPU1jW2NbKGNbbj4+Ml18MCkr
Mjg+PjJdJjMxXShuLHIpfDA7cj1jW2g+PjJdfDA7Y1toPj4yXT1yKzE7YVtyXT1sO3M9YisxfDB9
ZWxzZXtzPWJ9bD1lO2E6ZG97aWYoKChsLXN8MCk+MT8oYVtzXXwwKT09NDg6MCk/KHI9cysxfDAs
aj1hW3JdfDAsajw8MjQ+PjI0PT04OHxqPDwyND4+MjQ9PTEyMCk6MCl7aj1NY1tjWyhjW24+PjJd
fDApKzI4Pj4yXSYzMV0obiw0OCl8MDtvPWNbaD4+Ml18MDtjW2g+PjJdPW8rMTthW29dPWo7aj1z
KzJ8MDtvPU1jW2NbKGNbbj4+Ml18MCkrMjg+PjJdJjMxXShuLGFbcl18MCl8MDtyPWNbaD4+Ml18
MDtjW2g+PjJdPXIrMTthW3JdPW87aWYoaj4+PjA8ZT4+PjApe289ajt3aGlsZSgxKXtyPWFbb118
MDtpZigoYVsxMTg4OF18MCk9PTA/KEhhKDExODg4KXwwKSE9MDowKXtjWzI5NzBdPWxiKDIxNDc0
ODM2NDcsMTE4OTYsMCl8MDtpYigxMTg4OCl9cD1vKzF8MDtpZigoaGIocjw8MjQ+PjI0fDAsY1sy
OTcwXXwwKXwwKT09MCl7dD1qO3U9bzticmVhayBhfWlmKHA+Pj4wPGU+Pj4wKXtvPXB9ZWxzZXt0
PWo7dT1wO2JyZWFrfX19ZWxzZXt0PWo7dT1qfX1lbHNle3Y9MTR9fXdoaWxlKDApO2I6ZG97aWYo
KHZ8MCk9PTE0KXtpZihzPj4+MDxlPj4+MCl7bz1zO3doaWxlKDEpe3A9YVtvXXwwO2lmKChhWzEx
ODg4XXwwKT09MD8oSGEoMTE4ODgpfDApIT0wOjApe2NbMjk3MF09bGIoMjE0NzQ4MzY0NywxMTg5
NiwwKXwwO2liKDExODg4KX1yPW8rMXwwO2lmKChtYihwPDwyND4+MjR8MCxjWzI5NzBdfDApfDAp
PT0wKXt0PXM7dT1vO2JyZWFrIGJ9aWYocj4+PjA8ZT4+PjApe289cn1lbHNle3Q9czt1PXI7YnJl
YWt9fX1lbHNle3Q9czt1PXN9fX13aGlsZSgwKTtzPWFbbV18MDtpZigocyYxKT09MCl7dz0ocyYy
NTUpPj4+MX1lbHNle3c9Y1ttKzQ+PjJdfDB9aWYoKHd8MCkhPTApe2lmKCh0fDApIT0odXwwKT8o
dz11KyAtMXwwLHc+Pj4wPnQ+Pj4wKTowKXtzPXQ7dj13O2Rve3c9YVtzXXwwO2Fbc109YVt2XXww
O2Fbdl09dztzPXMrMXwwO3Y9disgLTF8MH13aGlsZShzPj4+MDx2Pj4+MCl9dj1EY1tjWyhjW3E+
PjJdfDApKzE2Pj4yXSYxMjddKHEpfDA7aWYodD4+PjA8dT4+PjApe3M9bSsxfDA7dz1tKzR8MDtv
PW0rOHwwO2o9MDtyPTA7cD10O3doaWxlKDEpe3g9KGFbbV0mMSk9PTA7aWYoKGFbKHg/czpjW28+
PjJdfDApK3J8MF18MCk+MD8oanwwKT09KGFbKHg/czpjW28+PjJdfDApK3J8MF18MCk6MCl7eD1j
W2g+PjJdfDA7Y1toPj4yXT14KzE7YVt4XT12O3g9YVttXXwwO2lmKCh4JjEpPT0wKXt5PSh4JjI1
NSk+Pj4xfWVsc2V7eT1jW3c+PjJdfDB9ej0wO0E9KHI+Pj4wPCh5KyAtMXwwKT4+PjApK3J8MH1l
bHNle3o9ajtBPXJ9eD1NY1tjWyhjW24+PjJdfDApKzI4Pj4yXSYzMV0obixhW3BdfDApfDA7Qj1j
W2g+PjJdfDA7Y1toPj4yXT1CKzE7YVtCXT14O3A9cCsxfDA7aWYoIShwPj4+MDx1Pj4+MCkpe2Jy
ZWFrfWVsc2V7aj16KzF8MDtyPUF9fX1BPWYrKHQtYil8MDtyPWNbaD4+Ml18MDtpZigoQXwwKSE9
KHJ8MCk/KHo9cisgLTF8MCx6Pj4+MD5BPj4+MCk6MCl7cj1BO0E9ejtkb3t6PWFbcl18MDthW3Jd
PWFbQV18MDthW0FdPXo7cj1yKzF8MDtBPUErIC0xfDB9d2hpbGUocj4+PjA8QT4+PjApfX1lbHNl
e0pjW2NbKGNbbj4+Ml18MCkrMzI+PjJdJjddKG4sdCx1LGNbaD4+Ml18MCl8MDtjW2g+PjJdPShj
W2g+PjJdfDApKyh1LXQpfWM6ZG97aWYodT4+PjA8ZT4+PjApe3Q9dTt3aGlsZSgxKXtBPWFbdF18
MDtpZihBPDwyND4+MjQ9PTQ2KXticmVha31yPU1jW2NbKGNbbj4+Ml18MCkrMjg+PjJdJjMxXShu
LEEpfDA7QT1jW2g+PjJdfDA7Y1toPj4yXT1BKzE7YVtBXT1yO3I9dCsxfDA7aWYocj4+PjA8ZT4+
PjApe3Q9cn1lbHNle0M9cjticmVhayBjfX1yPURjW2NbKGNbcT4+Ml18MCkrMTI+PjJdJjEyN10o
cSl8MDtBPWNbaD4+Ml18MDtjW2g+PjJdPUErMTthW0FdPXI7Qz10KzF8MH1lbHNle0M9dX19d2hp
bGUoMCk7SmNbY1soY1tuPj4yXXwwKSszMj4+Ml0mN10obixDLGUsY1toPj4yXXwwKXwwO249KGNb
aD4+Ml18MCkrKGwtQyl8MDtjW2g+PjJdPW47aWYoKGR8MCk9PShlfDApKXtEPW47Y1tnPj4yXT1E
O2VnKG0pO2k9aztyZXR1cm59RD1mKyhkLWIpfDA7Y1tnPj4yXT1EO2VnKG0pO2k9aztyZXR1cm59
ZnVuY3Rpb24gY2ooYixkLGUsZixnLGope2I9YnwwO2Q9ZHwwO2U9ZXwwO2Y9ZnwwO2c9Z3wwO2o9
K2o7dmFyIGw9MCxtPTAsbj0wLG89MCxwPTAscT0wLHI9MCxzPTAsdD0wLHU9MCx2PTAsdz0wLHg9
MCx5PTAsej0wLEE9MCxCPTAsQz0wLEQ9MCxFPTAsRj0wLEc9MCxIPTAsST0wLEo9MCxLPTA7ZD1p
O2k9aSsxNDR8MDtsPWQrOHwwO209ZDtuPWQrNDR8MDtvPWQrMzZ8MDtwPWQrNzR8MDtxPWQrMjB8
MDtyPWQrMzJ8MDtzPWQrMjh8MDt0PWQrMjR8MDt1PWQrNDB8MDt2PW07Y1t2Pj4yXT0zNztjW3Yr
ND4+Ml09MDt2PW0rMXwwO3c9Zis0fDA7eD1jW3c+PjJdfDA7aWYoKHgmMjA0OHwwKT09MCl7eT12
fWVsc2V7YVt2XT00Mzt5PW0rMnwwfWlmKCh4JjEwMjR8MCk9PTApe3o9eX1lbHNle2FbeV09MzU7
ej15KzF8MH15PXgmMjYwO3Y9eD4+PjE0O2Rve2lmKCh5fDApPT0yNjApe2Fbel09NzY7eD16KzF8
MDtpZigodiYxfDApPT0wKXthW3hdPTk3O0E9MDticmVha31lbHNle2FbeF09NjU7QT0wO2JyZWFr
fX1lbHNle2Fbel09NDY7YVt6KzF8MF09NDI7YVt6KzJ8MF09NzY7eD16KzN8MDtpZigoeXwwKT09
NCl7aWYoKHYmMXwwKT09MCl7YVt4XT0xMDI7QT0xO2JyZWFrfWVsc2V7YVt4XT03MDtBPTE7YnJl
YWt9fWVsc2UgaWYoKHl8MCk9PTI1Nil7aWYoKHYmMXwwKT09MCl7YVt4XT0xMDE7QT0xO2JyZWFr
fWVsc2V7YVt4XT02OTtBPTE7YnJlYWt9fWVsc2V7aWYoKHYmMXwwKT09MCl7YVt4XT0xMDM7QT0x
O2JyZWFrfWVsc2V7YVt4XT03MTtBPTE7YnJlYWt9fX19d2hpbGUoMCk7Y1tvPj4yXT1uO2lmKChh
WzExODg4XXwwKT09MD8oSGEoMTE4ODgpfDApIT0wOjApe2NbMjk3MF09bGIoMjE0NzQ4MzY0Nywx
MTg5NiwwKXwwO2liKDExODg4KX12PWNbMjk3MF18MDtpZihBKXtjW2w+PjJdPWNbZis4Pj4yXTt5
PWwrNHwwO2hbaz4+M109ajtjW3k+PjJdPWNbaz4+Ml07Y1t5KzQ+PjJdPWNbays0Pj4yXTtCPVdp
KG4sMzAsdixtLGwpfDB9ZWxzZXtoW2s+PjNdPWo7Y1tsPj4yXT1jW2s+PjJdO2NbbCs0Pj4yXT1j
W2srND4+Ml07Qj1XaShuLDMwLHYsbSxsKXwwfWlmKChCfDApPjI5KXt2PShhWzExODg4XXwwKT09
MDtpZihBKXtpZih2PyhIYSgxMTg4OCl8MCkhPTA6MCl7Y1syOTcwXT1sYigyMTQ3NDgzNjQ3LDEx
ODk2LDApfDA7aWIoMTE4ODgpfUE9Y1syOTcwXXwwO2NbbD4+Ml09Y1tmKzg+PjJdO3k9bCs0fDA7
aFtrPj4zXT1qO2NbeT4+Ml09Y1trPj4yXTtjW3krND4+Ml09Y1trKzQ+PjJdO0M9YWoobyxBLG0s
bCl8MH1lbHNle2lmKHY/KEhhKDExODg4KXwwKSE9MDowKXtjWzI5NzBdPWxiKDIxNDc0ODM2NDcs
MTE4OTYsMCl8MDtpYigxMTg4OCl9dj1jWzI5NzBdfDA7aFtrPj4zXT1qO2NbbD4+Ml09Y1trPj4y
XTtjW2wrND4+Ml09Y1trKzQ+PjJdO0M9YWoobyx2LG0sbCl8MH1tPWNbbz4+Ml18MDtpZigobXww
KT09MCl7SG8oKX1lbHNle0Q9bTtFPW07Rj1DfX1lbHNle0Q9Y1tvPj4yXXwwO0U9MDtGPUJ9Qj1E
K0Z8MDtvPWNbdz4+Ml0mMTc2O2Rve2lmKChvfDApPT0zMil7Rz1CfWVsc2UgaWYoKG98MCk9PTE2
KXt3PWFbRF18MDtpZih3PDwyND4+MjQ9PTQzfHc8PDI0Pj4yND09NDUpe0c9RCsxfDA7YnJlYWt9
aWYoKEZ8MCk+MSZ3PDwyND4+MjQ9PTQ4Pyh3PWFbRCsxfDBdfDAsdzw8MjQ+PjI0PT04OHx3PDwy
ND4+MjQ9PTEyMCk6MCl7Rz1EKzJ8MH1lbHNle0g9NDR9fWVsc2V7SD00NH19d2hpbGUoMCk7aWYo
KEh8MCk9PTQ0KXtHPUR9aWYoKER8MCkhPShufDApKXtIPXZvKEY8PDEpfDA7aWYoKEh8MCk9PTAp
e0hvKCl9ZWxzZXtJPUQ7Sj1IO0s9SH19ZWxzZXtJPW47Sj0wO0s9cH16ZyhzLGYpO2JqKEksRyxC
LEsscSxyLHMpO0hmKGNbcz4+Ml18MCl8MDtjW3U+PjJdPWNbZT4+Ml07cz1jW3E+PjJdfDA7cT1j
W3I+PjJdfDA7Y1tsKzA+PjJdPWNbdSswPj4yXTtkZSh0LGwsSyxzLHEsZixnKTtnPWNbdD4+Ml18
MDtjW2U+PjJdPWc7Y1tiPj4yXT1nO2lmKChKfDApIT0wKXt3byhKKX1pZigoRXwwKT09MCl7aT1k
O3JldHVybn13byhFKTtpPWQ7cmV0dXJufWZ1bmN0aW9uIGRqKGIsZCxlLGYsZyxoKXtiPWJ8MDtk
PWR8MDtlPWV8MDtmPWZ8MDtnPWd8MDtoPWh8MDt2YXIgaj0wLGs9MCxsPTAsbT0wLG49MCxvPTAs
cD0wLHE9MCxyPTAscz0wLHQ9MCx1PTAsdj0wO2Q9aTtpPWkrOTZ8MDtqPWQ7az1kKzgwfDA7bD1k
KzYwfDA7bT1kKzIwfDA7bj1kKzE2fDA7bz1kKzEyfDA7YVtrKzB8MF09YVsxMDc5MnwwXXwwO2Fb
aysxfDBdPWFbMTA3OTN8MF18MDthW2srMnwwXT1hWzEwNzk0fDBdfDA7YVtrKzN8MF09YVsxMDc5
NXwwXXwwO2Fbays0fDBdPWFbMTA3OTZ8MF18MDthW2srNXwwXT1hWzEwNzk3fDBdfDA7aWYoKGFb
MTE4ODhdfDApPT0wPyhIYSgxMTg4OCl8MCkhPTA6MCl7Y1syOTcwXT1sYigyMTQ3NDgzNjQ3LDEx
ODk2LDApfDA7aWIoMTE4ODgpfXA9Y1syOTcwXXwwO2Nbaj4+Ml09aDtoPVdpKGwsMjAscCxrLGop
fDA7az1sK2h8MDtwPWNbZis0Pj4yXSYxNzY7ZG97aWYoKHB8MCk9PTE2KXtxPWFbbF18MDtpZihx
PDwyND4+MjQ9PTQzfHE8PDI0Pj4yND09NDUpe3I9bCsxfDA7YnJlYWt9aWYoKGh8MCk+MSZxPDwy
ND4+MjQ9PTQ4PyhxPWFbbCsxfDBdfDAscTw8MjQ+PjI0PT04OHxxPDwyND4+MjQ9PTEyMCk6MCl7
cj1sKzJ8MH1lbHNle3M9MTB9fWVsc2UgaWYoKHB8MCk9PTMyKXtyPWt9ZWxzZXtzPTEwfX13aGls
ZSgwKTtpZigoc3wwKT09MTApe3I9bH16ZyhuLGYpO3M9Y1tuPj4yXXwwO2lmKCEoKGNbMjk5OF18
MCk9PS0xKSl7Y1tqPj4yXT0xMTk5MjtjW2orND4+Ml09MTM0O2Nbais4Pj4yXT0wOyRmKDExOTky
LGosMTM1KX1wPShjWzExOTk2Pj4yXXwwKSsgLTF8MDtxPWNbcys4Pj4yXXwwO2lmKCEoKGNbcysx
Mj4+Ml18MCktcT4+Mj4+PjA+cD4+PjApKXt0PURiKDQpfDA7JG4odCk7cGModHwwLDE5OTUyLDEy
Myl9cz1jW3ErKHA8PDIpPj4yXXwwO2lmKChzfDApPT0wKXt0PURiKDQpfDA7JG4odCk7cGModHww
LDE5OTUyLDEyMyl9SGYoY1tuPj4yXXwwKXwwO0pjW2NbKGNbcz4+Ml18MCkrMzI+PjJdJjddKHMs
bCxrLG0pfDA7cz1tK2h8MDtpZigocnwwKT09KGt8MCkpe3U9czt2PWNbZT4+Ml18MDtjW28+PjJd
PXY7Y1tqKzA+PjJdPWNbbyswPj4yXTtkZShiLGosbSx1LHMsZixnKTtpPWQ7cmV0dXJufXU9bSso
ci1sKXwwO3Y9Y1tlPj4yXXwwO2Nbbz4+Ml09djtjW2orMD4+Ml09Y1tvKzA+PjJdO2RlKGIsaixt
LHUscyxmLGcpO2k9ZDtyZXR1cm59ZnVuY3Rpb24gZWooYSl7YT1hfDA7dmFyIGI9MDtiPWk7Q28o
YSk7aT1iO3JldHVybn1mdW5jdGlvbiBmaihhKXthPWF8MDtyZXR1cm59ZnVuY3Rpb24gZ2ooYixk
LGUsZixnLGgpe2I9YnwwO2Q9ZHwwO2U9ZXwwO2Y9ZnwwO2c9Z3wwO2g9aHwwO3ZhciBqPTAsaz0w
LGw9MCxtPTAsbj0wLG89MCxwPTAscT0wLHI9MCxzPTAsdD0wLHU9MCx2PTAsdz0wO2o9aTtpPWkr
MzJ8MDtrPWo7bD1qKzI4fDA7bT1qKzI0fDA7bj1qKzEyfDA7aWYoKGNbZis0Pj4yXSYxfDApPT0w
KXtvPWNbKGNbZD4+Ml18MCkrMjQ+PjJdfDA7Y1tsPj4yXT1jW2U+PjJdO3A9aCYxO2NbayswPj4y
XT1jW2wrMD4+Ml07d2NbbyYzMV0oYixkLGssZixnLHApO2k9ajtyZXR1cm59emcobSxmKTtmPWNb
bT4+Ml18MDtpZighKChjWzMwMzZdfDApPT0tMSkpe2Nbaz4+Ml09MTIxNDQ7Y1trKzQ+PjJdPTEz
NDtjW2srOD4+Ml09MDskZigxMjE0NCxrLDEzNSl9az0oY1sxMjE0OD4+Ml18MCkrIC0xfDA7cD1j
W2YrOD4+Ml18MDtpZighKChjW2YrMTI+PjJdfDApLXA+PjI+Pj4wPms+Pj4wKSl7cT1EYig0KXww
OyRuKHEpO3BjKHF8MCwxOTk1MiwxMjMpfWY9Y1twKyhrPDwyKT4+Ml18MDtpZigoZnwwKT09MCl7
cT1EYig0KXwwOyRuKHEpO3BjKHF8MCwxOTk1MiwxMjMpfUhmKGNbbT4+Ml18MCl8MDttPWNbZj4+
Ml18MDtpZihoKXtCY1tjW20rMjQ+PjJdJjYzXShuLGYpfWVsc2V7QmNbY1ttKzI4Pj4yXSY2M10o
bixmKX1mPWFbbl18MDtpZigoZiYxKT09MCl7bT1uKzR8MDtyPW07cz1uKzh8MDt0PW19ZWxzZXtt
PW4rOHwwO3I9Y1ttPj4yXXwwO3M9bTt0PW4rNHwwfW09ZjtmPXI7d2hpbGUoMSl7aWYoKG0mMSk9
PTApe3U9dDt2PShtJjI1NSk+Pj4xfWVsc2V7dT1jW3M+PjJdfDA7dj1jW3Q+PjJdfDB9aWYoKGZ8
MCk9PSh1Kyh2PDwyKXwwKSl7YnJlYWt9cj1jW2Y+PjJdfDA7aD1jW2U+PjJdfDA7aWYoKGh8MCkh
PTApe3E9aCsyNHwwO2s9Y1txPj4yXXwwO2lmKChrfDApPT0oY1toKzI4Pj4yXXwwKSl7dz1NY1tj
WyhjW2g+PjJdfDApKzUyPj4yXSYzMV0oaCxyKXwwfWVsc2V7Y1txPj4yXT1rKzQ7Y1trPj4yXT1y
O3c9cn1pZigod3wwKT09LTEpe2NbZT4+Ml09MH19bT1hW25dfDA7Zj1mKzR8MH1jW2I+PjJdPWNb
ZT4+Ml07cWcobik7aT1qO3JldHVybn1mdW5jdGlvbiBoaihiLGQsZSxmLGcsaCl7Yj1ifDA7ZD1k
fDA7ZT1lfDA7Zj1mfDA7Zz1nfDA7aD1ofDA7dmFyIGo9MCxrPTAsbD0wLG09MCxuPTAsbz0wLHA9
MCxxPTAscj0wLHM9MCx0PTAsdT0wLHY9MCx3PTAseD0wO2Q9aTtpPWkrMTI4fDA7aj1kO2s9ZCsx
MDR8MDtsPWQrMTEyfDA7bT1kKzh8MDtuPWQrNHwwO289ZCs5NnwwO3A9ZCs5MnwwO3E9ZCsxMDB8
MDthW2srMHwwXT1hWzEwNzg0fDBdfDA7YVtrKzF8MF09YVsxMDc4NXwwXXwwO2FbaysyfDBdPWFb
MTA3ODZ8MF18MDthW2srM3wwXT1hWzEwNzg3fDBdfDA7YVtrKzR8MF09YVsxMDc4OHwwXXwwO2Fb
ays1fDBdPWFbMTA3ODl8MF18MDtyPWsrMXwwO3M9Zis0fDA7dD1jW3M+PjJdfDA7aWYoKHQmMjA0
OHwwKT09MCl7dT1yfWVsc2V7YVtyXT00Mzt1PWsrMnwwfWlmKCh0JjUxMnwwKT09MCl7dj11fWVs
c2V7YVt1XT0zNTt2PXUrMXwwfWFbdl09MTA4O3U9disxfDA7dj10Jjc0O2Rve2lmKCh2fDApPT02
NCl7YVt1XT0xMTF9ZWxzZSBpZigodnwwKT09OCl7aWYoKHQmMTYzODR8MCk9PTApe2FbdV09MTIw
O2JyZWFrfWVsc2V7YVt1XT04ODticmVha319ZWxzZXthW3VdPTEwMH19d2hpbGUoMCk7aWYoKGFb
MTE4ODhdfDApPT0wPyhIYSgxMTg4OCl8MCkhPTA6MCl7Y1syOTcwXT1sYigyMTQ3NDgzNjQ3LDEx
ODk2LDApfDA7aWIoMTE4ODgpfXU9Y1syOTcwXXwwO2Nbaj4+Ml09aDtoPVdpKGwsMTIsdSxrLGop
fDA7az1sK2h8MDt1PWNbcz4+Ml0mMTc2O2Rve2lmKCh1fDApPT0zMil7dz1rfWVsc2UgaWYoKHV8
MCk9PTE2KXtzPWFbbF18MDtpZihzPDwyND4+MjQ9PTQzfHM8PDI0Pj4yND09NDUpe3c9bCsxfDA7
YnJlYWt9aWYoKGh8MCk+MSZzPDwyND4+MjQ9PTQ4PyhzPWFbbCsxfDBdfDAsczw8MjQ+PjI0PT04
OHxzPDwyND4+MjQ9PTEyMCk6MCl7dz1sKzJ8MH1lbHNle3g9MjB9fWVsc2V7eD0yMH19d2hpbGUo
MCk7aWYoKHh8MCk9PTIwKXt3PWx9emcocCxmKTtpaihsLHcsayxtLG4sbyxwKTtIZihjW3A+PjJd
fDApfDA7Y1txPj4yXT1jW2U+PjJdO2U9Y1tuPj4yXXwwO249Y1tvPj4yXXwwO2NbaiswPj4yXT1j
W3ErMD4+Ml07amooYixqLG0sZSxuLGYsZyk7aT1kO3JldHVybn1mdW5jdGlvbiBpaihiLGQsZSxm
LGcsaCxqKXtiPWJ8MDtkPWR8MDtlPWV8MDtmPWZ8MDtnPWd8MDtoPWh8MDtqPWp8MDt2YXIgaz0w
LGw9MCxtPTAsbj0wLG89MCxwPTAscT0wLHI9MCxzPTAsdD0wLHU9MCx2PTAsdz0wLHg9MCx5PTAs
ej0wLEE9MCxCPTAsQz0wO2s9aTtpPWkrMzJ8MDtsPWs7bT1rKzEyfDA7bj1jW2o+PjJdfDA7aWYo
ISgoY1syOTk2XXwwKT09LTEpKXtjW2w+PjJdPTExOTg0O2NbbCs0Pj4yXT0xMzQ7Y1tsKzg+PjJd
PTA7JGYoMTE5ODQsbCwxMzUpfW89KGNbMTE5ODg+PjJdfDApKyAtMXwwO3A9Y1tuKzg+PjJdfDA7
aWYoISgoY1tuKzEyPj4yXXwwKS1wPj4yPj4+MD5vPj4+MCkpe3E9RGIoNCl8MDskbihxKTtwYyhx
fDAsMTk5NTIsMTIzKX1uPWNbcCsobzw8Mik+PjJdfDA7aWYoKG58MCk9PTApe3E9RGIoNCl8MDsk
bihxKTtwYyhxfDAsMTk5NTIsMTIzKX1xPWNbaj4+Ml18MDtpZighKChjWzMwMzZdfDApPT0tMSkp
e2NbbD4+Ml09MTIxNDQ7Y1tsKzQ+PjJdPTEzNDtjW2wrOD4+Ml09MDskZigxMjE0NCxsLDEzNSl9
bD0oY1sxMjE0OD4+Ml18MCkrIC0xfDA7aj1jW3ErOD4+Ml18MDtpZighKChjW3ErMTI+PjJdfDAp
LWo+PjI+Pj4wPmw+Pj4wKSl7cj1EYig0KXwwOyRuKHIpO3BjKHJ8MCwxOTk1MiwxMjMpfXE9Y1tq
KyhsPDwyKT4+Ml18MDtpZigocXwwKT09MCl7cj1EYig0KXwwOyRuKHIpO3BjKHJ8MCwxOTk1Miwx
MjMpfUJjW2NbKGNbcT4+Ml18MCkrMjA+PjJdJjYzXShtLHEpO3I9YVttXXwwO2lmKChyJjEpPT0w
KXtzPShyJjI1NSk+Pj4xfWVsc2V7cz1jW20rND4+Ml18MH1pZigoc3wwKSE9MCl7Y1toPj4yXT1m
O3M9YVtiXXwwO2lmKHM8PDI0Pj4yND09NDN8czw8MjQ+PjI0PT00NSl7cj1NY1tjWyhjW24+PjJd
fDApKzQ0Pj4yXSYzMV0obixzKXwwO3M9Y1toPj4yXXwwO2NbaD4+Ml09cys0O2Nbcz4+Ml09cjt0
PWIrMXwwfWVsc2V7dD1ifWlmKCgoZS10fDApPjE/KGFbdF18MCk9PTQ4OjApPyhyPXQrMXwwLHM9
YVtyXXwwLHM8PDI0Pj4yND09ODh8czw8MjQ+PjI0PT0xMjApOjApe3M9TWNbY1soY1tuPj4yXXww
KSs0ND4+Ml0mMzFdKG4sNDgpfDA7bD1jW2g+PjJdfDA7Y1toPj4yXT1sKzQ7Y1tsPj4yXT1zO3M9
TWNbY1soY1tuPj4yXXwwKSs0ND4+Ml0mMzFdKG4sYVtyXXwwKXwwO3I9Y1toPj4yXXwwO2NbaD4+
Ml09cis0O2Nbcj4+Ml09czt1PXQrMnwwfWVsc2V7dT10fWlmKCh1fDApIT0oZXwwKT8odD1lKyAt
MXwwLHQ+Pj4wPnU+Pj4wKTowKXtzPXU7cj10O2Rve3Q9YVtzXXwwO2Fbc109YVtyXXwwO2Fbcl09
dDtzPXMrMXwwO3I9cisgLTF8MH13aGlsZShzPj4+MDxyPj4+MCl9cj1EY1tjWyhjW3E+PjJdfDAp
KzE2Pj4yXSYxMjddKHEpfDA7aWYodT4+PjA8ZT4+PjApe3E9bSsxfDA7cz1tKzR8MDt0PW0rOHww
O2w9MDtqPTA7bz11O3doaWxlKDEpe3A9KGFbbV0mMSk9PTA7aWYoKGFbKHA/cTpjW3Q+PjJdfDAp
K2p8MF18MCkhPTA/KGx8MCk9PShhWyhwP3E6Y1t0Pj4yXXwwKStqfDBdfDApOjApe3A9Y1toPj4y
XXwwO2NbaD4+Ml09cCs0O2NbcD4+Ml09cjtwPWFbbV18MDtpZigocCYxKT09MCl7dj0ocCYyNTUp
Pj4+MX1lbHNle3Y9Y1tzPj4yXXwwfXc9MDt4PShqPj4+MDwodisgLTF8MCk+Pj4wKStqfDB9ZWxz
ZXt3PWw7eD1qfXA9TWNbY1soY1tuPj4yXXwwKSs0ND4+Ml0mMzFdKG4sYVtvXXwwKXwwO3k9Y1to
Pj4yXXwwO3o9eSs0fDA7Y1toPj4yXT16O2NbeT4+Ml09cDtwPW8rMXwwO2lmKHA+Pj4wPGU+Pj4w
KXtsPXcrMXwwO2o9eDtvPXB9ZWxzZXtBPXo7YnJlYWt9fX1lbHNle0E9Y1toPj4yXXwwfW89Ziso
dS1iPDwyKXwwO2lmKChvfDApIT0oQXwwKT8odT1BKyAtNHwwLHU+Pj4wPm8+Pj4wKTowKXt4PW87
bz11O3doaWxlKDEpe3U9Y1t4Pj4yXXwwO2NbeD4+Ml09Y1tvPj4yXTtjW28+PjJdPXU7dT14KzR8
MDtqPW8rIC00fDA7aWYodT4+PjA8aj4+PjApe3g9dTtvPWp9ZWxzZXtCPUE7YnJlYWt9fX1lbHNl
e0I9QX19ZWxzZXtKY1tjWyhjW24+PjJdfDApKzQ4Pj4yXSY3XShuLGIsZSxmKXwwO249ZisoZS1i
PDwyKXwwO2NbaD4+Ml09bjtCPW59aWYoKGR8MCk9PShlfDApKXtDPUI7Y1tnPj4yXT1DO2VnKG0p
O2k9aztyZXR1cm59Qz1mKyhkLWI8PDIpfDA7Y1tnPj4yXT1DO2VnKG0pO2k9aztyZXR1cm59ZnVu
Y3Rpb24gamooYixkLGUsZixnLGgsail7Yj1ifDA7ZD1kfDA7ZT1lfDA7Zj1mfDA7Zz1nfDA7aD1o
fDA7aj1qfDA7dmFyIGs9MCxsPTAsbT0wLG49MCxvPTAscD0wLHE9MCxyPTA7az1pO2k9aSsxNnww
O2w9azttPWNbZD4+Ml18MDtpZigobXwwKT09MCl7Y1tiPj4yXT0wO2k9aztyZXR1cm59bj1nO2c9
ZTtvPW4tZz4+MjtwPWgrMTJ8MDtoPWNbcD4+Ml18MDtxPShofDApPihvfDApP2gtb3wwOjA7bz1m
O2g9by1nfDA7Zz1oPj4yO2lmKChofDApPjA/KHZjW2NbKGNbbT4+Ml18MCkrNDg+PjJdJjMxXSht
LGUsZyl8MCkhPShnfDApOjApe2NbZD4+Ml09MDtjW2I+PjJdPTA7aT1rO3JldHVybn1kb3tpZigo
cXwwKT4wKXtwZyhsLHEsaik7aWYoKGFbbF0mMSk9PTApe3I9bCs0fDB9ZWxzZXtyPWNbbCs4Pj4y
XXwwfWlmKCh2Y1tjWyhjW20+PjJdfDApKzQ4Pj4yXSYzMV0obSxyLHEpfDApPT0ocXwwKSl7cWco
bCk7YnJlYWt9Y1tkPj4yXT0wO2NbYj4+Ml09MDtxZyhsKTtpPWs7cmV0dXJufX13aGlsZSgwKTts
PW4tb3wwO289bD4+MjtpZigobHwwKT4wPyh2Y1tjWyhjW20+PjJdfDApKzQ4Pj4yXSYzMV0obSxm
LG8pfDApIT0ob3wwKTowKXtjW2Q+PjJdPTA7Y1tiPj4yXT0wO2k9aztyZXR1cm59Y1twPj4yXT0w
O2NbYj4+Ml09bTtpPWs7cmV0dXJufWZ1bmN0aW9uIGtqKGIsZCxlLGYsZyxoLGope2I9YnwwO2Q9
ZHwwO2U9ZXwwO2Y9ZnwwO2c9Z3wwO2g9aHwwO2o9anwwO3ZhciBrPTAsbD0wLG09MCxuPTAsbz0w
LHA9MCxxPTAscj0wLHM9MCx0PTAsdT0wLHY9MCx3PTAseD0wLHk9MDtkPWk7aT1pKzIyNHwwO2s9
ZDtsPWQrOHwwO209ZCsxOTZ8MDtuPWQrMjR8MDtvPWQrMjB8MDtwPWQrMTZ8MDtxPWQrMTg4fDA7
cj1kKzE5MnwwO3M9bDtjW3M+PjJdPTM3O2Nbcys0Pj4yXT0wO3M9bCsxfDA7dD1mKzR8MDt1PWNb
dD4+Ml18MDtpZigodSYyMDQ4fDApPT0wKXt2PXN9ZWxzZXthW3NdPTQzO3Y9bCsyfDB9aWYoKHUm
NTEyfDApPT0wKXt3PXZ9ZWxzZXthW3ZdPTM1O3c9disxfDB9dj13KzJ8MDthW3ddPTEwODthW3cr
MXwwXT0xMDg7dz11Jjc0O2Rve2lmKCh3fDApPT04KXtpZigodSYxNjM4NHwwKT09MCl7YVt2XT0x
MjA7YnJlYWt9ZWxzZXthW3ZdPTg4O2JyZWFrfX1lbHNlIGlmKCh3fDApPT02NCl7YVt2XT0xMTF9
ZWxzZXthW3ZdPTEwMH19d2hpbGUoMCk7aWYoKGFbMTE4ODhdfDApPT0wPyhIYSgxMTg4OCl8MCkh
PTA6MCl7Y1syOTcwXT1sYigyMTQ3NDgzNjQ3LDExODk2LDApfDA7aWIoMTE4ODgpfXY9Y1syOTcw
XXwwO3c9aztjW3c+PjJdPWg7Y1t3KzQ+PjJdPWo7aj1XaShtLDIyLHYsbCxrKXwwO2w9bStqfDA7
dj1jW3Q+PjJdJjE3Njtkb3tpZigodnwwKT09MTYpe3Q9YVttXXwwO2lmKHQ8PDI0Pj4yND09NDN8
dDw8MjQ+PjI0PT00NSl7eD1tKzF8MDticmVha31pZigoanwwKT4xJnQ8PDI0Pj4yND09NDg/KHQ9
YVttKzF8MF18MCx0PDwyND4+MjQ9PTg4fHQ8PDI0Pj4yND09MTIwKTowKXt4PW0rMnwwfWVsc2V7
eT0yMH19ZWxzZSBpZigodnwwKT09MzIpe3g9bH1lbHNle3k9MjB9fXdoaWxlKDApO2lmKCh5fDAp
PT0yMCl7eD1tfXpnKHEsZik7aWoobSx4LGwsbixvLHAscSk7SGYoY1txPj4yXXwwKXwwO2Nbcj4+
Ml09Y1tlPj4yXTtlPWNbbz4+Ml18MDtvPWNbcD4+Ml18MDtjW2srMD4+Ml09Y1tyKzA+PjJdO2pq
KGIsayxuLGUsbyxmLGcpO2k9ZDtyZXR1cm59ZnVuY3Rpb24gbGooYixkLGUsZixnLGgpe2I9Ynww
O2Q9ZHwwO2U9ZXwwO2Y9ZnwwO2c9Z3wwO2g9aHwwO3ZhciBqPTAsaz0wLGw9MCxtPTAsbj0wLG89
MCxwPTAscT0wLHI9MCxzPTAsdD0wLHU9MCx2PTAsdz0wLHg9MDtkPWk7aT1pKzEyOHwwO2o9ZDtr
PWQrMTA0fDA7bD1kKzExMnwwO209ZCs4fDA7bj1kKzR8MDtvPWQrOTZ8MDtwPWQrOTJ8MDtxPWQr
MTAwfDA7YVtrKzB8MF09YVsxMDc4NHwwXXwwO2FbaysxfDBdPWFbMTA3ODV8MF18MDthW2srMnww
XT1hWzEwNzg2fDBdfDA7YVtrKzN8MF09YVsxMDc4N3wwXXwwO2Fbays0fDBdPWFbMTA3ODh8MF18
MDthW2srNXwwXT1hWzEwNzg5fDBdfDA7cj1rKzF8MDtzPWYrNHwwO3Q9Y1tzPj4yXXwwO2lmKCh0
JjIwNDh8MCk9PTApe3U9cn1lbHNle2Fbcl09NDM7dT1rKzJ8MH1pZigodCY1MTJ8MCk9PTApe3Y9
dX1lbHNle2FbdV09MzU7dj11KzF8MH1hW3ZdPTEwODt1PXYrMXwwO3Y9dCY3NDtkb3tpZigodnww
KT09OCl7aWYoKHQmMTYzODR8MCk9PTApe2FbdV09MTIwO2JyZWFrfWVsc2V7YVt1XT04ODticmVh
a319ZWxzZSBpZigodnwwKT09NjQpe2FbdV09MTExfWVsc2V7YVt1XT0xMTd9fXdoaWxlKDApO2lm
KChhWzExODg4XXwwKT09MD8oSGEoMTE4ODgpfDApIT0wOjApe2NbMjk3MF09bGIoMjE0NzQ4MzY0
NywxMTg5NiwwKXwwO2liKDExODg4KX11PWNbMjk3MF18MDtjW2o+PjJdPWg7aD1XaShsLDEyLHUs
ayxqKXwwO2s9bCtofDA7dT1jW3M+PjJdJjE3Njtkb3tpZigodXwwKT09MzIpe3c9a31lbHNlIGlm
KCh1fDApPT0xNil7cz1hW2xdfDA7aWYoczw8MjQ+PjI0PT00M3xzPDwyND4+MjQ9PTQ1KXt3PWwr
MXwwO2JyZWFrfWlmKChofDApPjEmczw8MjQ+PjI0PT00OD8ocz1hW2wrMXwwXXwwLHM8PDI0Pj4y
ND09ODh8czw8MjQ+PjI0PT0xMjApOjApe3c9bCsyfDB9ZWxzZXt4PTIwfX1lbHNle3g9MjB9fXdo
aWxlKDApO2lmKCh4fDApPT0yMCl7dz1sfXpnKHAsZik7aWoobCx3LGssbSxuLG8scCk7SGYoY1tw
Pj4yXXwwKXwwO2NbcT4+Ml09Y1tlPj4yXTtlPWNbbj4+Ml18MDtuPWNbbz4+Ml18MDtjW2orMD4+
Ml09Y1txKzA+PjJdO2pqKGIsaixtLGUsbixmLGcpO2k9ZDtyZXR1cm59ZnVuY3Rpb24gbWooYixk
LGUsZixnLGgsail7Yj1ifDA7ZD1kfDA7ZT1lfDA7Zj1mfDA7Zz1nfDA7aD1ofDA7aj1qfDA7dmFy
IGs9MCxsPTAsbT0wLG49MCxvPTAscD0wLHE9MCxyPTAscz0wLHQ9MCx1PTAsdj0wLHc9MCx4PTAs
eT0wO2Q9aTtpPWkrMjQwfDA7az1kO2w9ZCs4fDA7bT1kKzIwNHwwO249ZCsyNHwwO289ZCsyMHww
O3A9ZCsxNnwwO3E9ZCsxOTZ8MDtyPWQrMjAwfDA7cz1sO2Nbcz4+Ml09Mzc7Y1tzKzQ+PjJdPTA7
cz1sKzF8MDt0PWYrNHwwO3U9Y1t0Pj4yXXwwO2lmKCh1JjIwNDh8MCk9PTApe3Y9c31lbHNle2Fb
c109NDM7dj1sKzJ8MH1pZigodSY1MTJ8MCk9PTApe3c9dn1lbHNle2Fbdl09MzU7dz12KzF8MH12
PXcrMnwwO2Fbd109MTA4O2FbdysxfDBdPTEwODt3PXUmNzQ7ZG97aWYoKHd8MCk9PTY0KXthW3Zd
PTExMX1lbHNlIGlmKCh3fDApPT04KXtpZigodSYxNjM4NHwwKT09MCl7YVt2XT0xMjA7YnJlYWt9
ZWxzZXthW3ZdPTg4O2JyZWFrfX1lbHNle2Fbdl09MTE3fX13aGlsZSgwKTtpZigoYVsxMTg4OF18
MCk9PTA/KEhhKDExODg4KXwwKSE9MDowKXtjWzI5NzBdPWxiKDIxNDc0ODM2NDcsMTE4OTYsMCl8
MDtpYigxMTg4OCl9dj1jWzI5NzBdfDA7dT1rO2NbdT4+Ml09aDtjW3UrND4+Ml09ajtqPVdpKG0s
MjMsdixsLGspfDA7bD1tK2p8MDt2PWNbdD4+Ml0mMTc2O2Rve2lmKCh2fDApPT0xNil7dD1hW21d
fDA7aWYodDw8MjQ+PjI0PT00M3x0PDwyND4+MjQ9PTQ1KXt4PW0rMXwwO2JyZWFrfWlmKChqfDAp
PjEmdDw8MjQ+PjI0PT00OD8odD1hW20rMXwwXXwwLHQ8PDI0Pj4yND09ODh8dDw8MjQ+PjI0PT0x
MjApOjApe3g9bSsyfDB9ZWxzZXt5PTIwfX1lbHNlIGlmKCh2fDApPT0zMil7eD1sfWVsc2V7eT0y
MH19d2hpbGUoMCk7aWYoKHl8MCk9PTIwKXt4PW19emcocSxmKTtpaihtLHgsbCxuLG8scCxxKTtI
ZihjW3E+PjJdfDApfDA7Y1tyPj4yXT1jW2U+PjJdO2U9Y1tvPj4yXXwwO289Y1twPj4yXXwwO2Nb
ayswPj4yXT1jW3IrMD4+Ml07amooYixrLG4sZSxvLGYsZyk7aT1kO3JldHVybn1mdW5jdGlvbiBu
aihiLGQsZSxmLGcsail7Yj1ifDA7ZD1kfDA7ZT1lfDA7Zj1mfDA7Zz1nfDA7aj0rajt2YXIgbD0w
LG09MCxuPTAsbz0wLHA9MCxxPTAscj0wLHM9MCx0PTAsdT0wLHY9MCx3PTAseD0wLHk9MCx6PTAs
QT0wLEI9MCxDPTAsRD0wLEU9MCxGPTAsRz0wLEg9MCxJPTAsSj0wLEs9MDtkPWk7aT1pKzMyMHww
O2w9ZDttPWQrMTZ8MDtuPWQrMjc2fDA7bz1kKzM2fDA7cD1kKzQ0fDA7cT1kKzI0fDA7cj1kKzMy
fDA7cz1kKzQwfDA7dD1kKzI4fDA7dT1kKzI3MnwwO3Y9bTtjW3Y+PjJdPTM3O2Nbdis0Pj4yXT0w
O3Y9bSsxfDA7dz1mKzR8MDt4PWNbdz4+Ml18MDtpZigoeCYyMDQ4fDApPT0wKXt5PXZ9ZWxzZXth
W3ZdPTQzO3k9bSsyfDB9aWYoKHgmMTAyNHwwKT09MCl7ej15fWVsc2V7YVt5XT0zNTt6PXkrMXww
fXk9eCYyNjA7dj14Pj4+MTQ7ZG97aWYoKHl8MCk9PTI2MCl7aWYoKHYmMXwwKT09MCl7YVt6XT05
NztBPTA7YnJlYWt9ZWxzZXthW3pdPTY1O0E9MDticmVha319ZWxzZXthW3pdPTQ2O3g9eisyfDA7
YVt6KzF8MF09NDI7aWYoKHl8MCk9PTI1Nil7aWYoKHYmMXwwKT09MCl7YVt4XT0xMDE7QT0xO2Jy
ZWFrfWVsc2V7YVt4XT02OTtBPTE7YnJlYWt9fWVsc2UgaWYoKHl8MCk9PTQpe2lmKCh2JjF8MCk9
PTApe2FbeF09MTAyO0E9MTticmVha31lbHNle2FbeF09NzA7QT0xO2JyZWFrfX1lbHNle2lmKCh2
JjF8MCk9PTApe2FbeF09MTAzO0E9MTticmVha31lbHNle2FbeF09NzE7QT0xO2JyZWFrfX19fXdo
aWxlKDApO2Nbbz4+Ml09bjtpZigoYVsxMTg4OF18MCk9PTA/KEhhKDExODg4KXwwKSE9MDowKXtj
WzI5NzBdPWxiKDIxNDc0ODM2NDcsMTE4OTYsMCl8MDtpYigxMTg4OCl9dj1jWzI5NzBdfDA7aWYo
QSl7Y1tsPj4yXT1jW2YrOD4+Ml07eT1sKzR8MDtoW2s+PjNdPWo7Y1t5Pj4yXT1jW2s+PjJdO2Nb
eSs0Pj4yXT1jW2srND4+Ml07Qj1XaShuLDMwLHYsbSxsKXwwfWVsc2V7aFtrPj4zXT1qO2NbbD4+
Ml09Y1trPj4yXTtjW2wrND4+Ml09Y1trKzQ+PjJdO0I9V2kobiwzMCx2LG0sbCl8MH1pZigoQnww
KT4yOSl7dj0oYVsxMTg4OF18MCk9PTA7aWYoQSl7aWYodj8oSGEoMTE4ODgpfDApIT0wOjApe2Nb
Mjk3MF09bGIoMjE0NzQ4MzY0NywxMTg5NiwwKXwwO2liKDExODg4KX1BPWNbMjk3MF18MDtjW2w+
PjJdPWNbZis4Pj4yXTt5PWwrNHwwO2hbaz4+M109ajtjW3k+PjJdPWNbaz4+Ml07Y1t5KzQ+PjJd
PWNbays0Pj4yXTtDPWFqKG8sQSxtLGwpfDB9ZWxzZXtpZih2PyhIYSgxMTg4OCl8MCkhPTA6MCl7
Y1syOTcwXT1sYigyMTQ3NDgzNjQ3LDExODk2LDApfDA7aWIoMTE4ODgpfXY9Y1syOTcwXXwwO2Nb
bD4+Ml09Y1tmKzg+PjJdO0E9bCs0fDA7aFtrPj4zXT1qO2NbQT4+Ml09Y1trPj4yXTtjW0ErND4+
Ml09Y1trKzQ+PjJdO0M9YWoobyx2LG0sbCl8MH1tPWNbbz4+Ml18MDtpZigobXwwKT09MCl7SG8o
KX1lbHNle0Q9bTtFPW07Rj1DfX1lbHNle0Q9Y1tvPj4yXXwwO0U9MDtGPUJ9Qj1EK0Z8MDtvPWNb
dz4+Ml0mMTc2O2Rve2lmKChvfDApPT0zMil7Rz1CfWVsc2UgaWYoKG98MCk9PTE2KXt3PWFbRF18
MDtpZih3PDwyND4+MjQ9PTQzfHc8PDI0Pj4yND09NDUpe0c9RCsxfDA7YnJlYWt9aWYoKEZ8MCk+
MSZ3PDwyND4+MjQ9PTQ4Pyh3PWFbRCsxfDBdfDAsdzw8MjQ+PjI0PT04OHx3PDwyND4+MjQ9PTEy
MCk6MCl7Rz1EKzJ8MH1lbHNle0g9NDR9fWVsc2V7SD00NH19d2hpbGUoMCk7aWYoKEh8MCk9PTQ0
KXtHPUR9aWYoKER8MCkhPShufDApKXtIPXZvKEY8PDMpfDA7aWYoKEh8MCk9PTApe0hvKCl9ZWxz
ZXtJPUQ7Sj1IO0s9SH19ZWxzZXtJPW47Sj0wO0s9cH16ZyhzLGYpO29qKEksRyxCLEsscSxyLHMp
O0hmKGNbcz4+Ml18MCl8MDtjW3U+PjJdPWNbZT4+Ml07cz1jW3E+PjJdfDA7cT1jW3I+PjJdfDA7
Y1tsKzA+PjJdPWNbdSswPj4yXTtqaih0LGwsSyxzLHEsZixnKTtnPWNbdD4+Ml18MDtjW2U+PjJd
PWc7Y1tiPj4yXT1nO2lmKChKfDApIT0wKXt3byhKKX1pZigoRXwwKT09MCl7aT1kO3JldHVybn13
byhFKTtpPWQ7cmV0dXJufWZ1bmN0aW9uIG9qKGIsZCxlLGYsZyxoLGope2I9YnwwO2Q9ZHwwO2U9
ZXwwO2Y9ZnwwO2c9Z3wwO2g9aHwwO2o9anwwO3ZhciBrPTAsbD0wLG09MCxuPTAsbz0wLHA9MCxx
PTAscj0wLHM9MCx0PTAsdT0wLHY9MCx3PTAseD0wLHk9MCx6PTAsQT0wLEI9MCxDPTAsRD0wLEU9
MCxGPTAsRz0wLEg9MDtrPWk7aT1pKzMyfDA7bD1rO209aysxMnwwO249Y1tqPj4yXXwwO2lmKCEo
KGNbMjk5Nl18MCk9PS0xKSl7Y1tsPj4yXT0xMTk4NDtjW2wrND4+Ml09MTM0O2NbbCs4Pj4yXT0w
OyRmKDExOTg0LGwsMTM1KX1vPShjWzExOTg4Pj4yXXwwKSsgLTF8MDtwPWNbbis4Pj4yXXwwO2lm
KCEoKGNbbisxMj4+Ml18MCktcD4+Mj4+PjA+bz4+PjApKXtxPURiKDQpfDA7JG4ocSk7cGMocXww
LDE5OTUyLDEyMyl9bj1jW3ArKG88PDIpPj4yXXwwO2lmKChufDApPT0wKXtxPURiKDQpfDA7JG4o
cSk7cGMocXwwLDE5OTUyLDEyMyl9cT1jW2o+PjJdfDA7aWYoISgoY1szMDM2XXwwKT09LTEpKXtj
W2w+PjJdPTEyMTQ0O2NbbCs0Pj4yXT0xMzQ7Y1tsKzg+PjJdPTA7JGYoMTIxNDQsbCwxMzUpfWw9
KGNbMTIxNDg+PjJdfDApKyAtMXwwO2o9Y1txKzg+PjJdfDA7aWYoISgoY1txKzEyPj4yXXwwKS1q
Pj4yPj4+MD5sPj4+MCkpe3I9RGIoNCl8MDskbihyKTtwYyhyfDAsMTk5NTIsMTIzKX1xPWNbaiso
bDw8Mik+PjJdfDA7aWYoKHF8MCk9PTApe3I9RGIoNCl8MDskbihyKTtwYyhyfDAsMTk5NTIsMTIz
KX1CY1tjWyhjW3E+PjJdfDApKzIwPj4yXSY2M10obSxxKTtjW2g+PjJdPWY7cj1hW2JdfDA7aWYo
cjw8MjQ+PjI0PT00M3xyPDwyND4+MjQ9PTQ1KXtsPU1jW2NbKGNbbj4+Ml18MCkrNDQ+PjJdJjMx
XShuLHIpfDA7cj1jW2g+PjJdfDA7Y1toPj4yXT1yKzQ7Y1tyPj4yXT1sO3M9YisxfDB9ZWxzZXtz
PWJ9bD1lO2E6ZG97aWYoKChsLXN8MCk+MT8oYVtzXXwwKT09NDg6MCk/KHI9cysxfDAsaj1hW3Jd
fDAsajw8MjQ+PjI0PT04OHxqPDwyND4+MjQ9PTEyMCk6MCl7aj1NY1tjWyhjW24+PjJdfDApKzQ0
Pj4yXSYzMV0obiw0OCl8MDtvPWNbaD4+Ml18MDtjW2g+PjJdPW8rNDtjW28+PjJdPWo7aj1zKzJ8
MDtvPU1jW2NbKGNbbj4+Ml18MCkrNDQ+PjJdJjMxXShuLGFbcl18MCl8MDtyPWNbaD4+Ml18MDtj
W2g+PjJdPXIrNDtjW3I+PjJdPW87aWYoaj4+PjA8ZT4+PjApe289ajt3aGlsZSgxKXtyPWFbb118
MDtpZigoYVsxMTg4OF18MCk9PTA/KEhhKDExODg4KXwwKSE9MDowKXtjWzI5NzBdPWxiKDIxNDc0
ODM2NDcsMTE4OTYsMCl8MDtpYigxMTg4OCl9cD1vKzF8MDtpZigoaGIocjw8MjQ+PjI0fDAsY1sy
OTcwXXwwKXwwKT09MCl7dD1qO3U9bzticmVhayBhfWlmKHA+Pj4wPGU+Pj4wKXtvPXB9ZWxzZXt0
PWo7dT1wO2JyZWFrfX19ZWxzZXt0PWo7dT1qfX1lbHNle3Y9MTR9fXdoaWxlKDApO2I6ZG97aWYo
KHZ8MCk9PTE0KXtpZihzPj4+MDxlPj4+MCl7bz1zO3doaWxlKDEpe3A9YVtvXXwwO2lmKChhWzEx
ODg4XXwwKT09MD8oSGEoMTE4ODgpfDApIT0wOjApe2NbMjk3MF09bGIoMjE0NzQ4MzY0NywxMTg5
NiwwKXwwO2liKDExODg4KX1yPW8rMXwwO2lmKChtYihwPDwyND4+MjR8MCxjWzI5NzBdfDApfDAp
PT0wKXt0PXM7dT1vO2JyZWFrIGJ9aWYocj4+PjA8ZT4+PjApe289cn1lbHNle3Q9czt1PXI7YnJl
YWt9fX1lbHNle3Q9czt1PXN9fX13aGlsZSgwKTtzPWFbbV18MDtpZigocyYxKT09MCl7dz0ocyYy
NTUpPj4+MX1lbHNle3c9Y1ttKzQ+PjJdfDB9aWYoKHd8MCkhPTApe2lmKCh0fDApIT0odXwwKT8o
dz11KyAtMXwwLHc+Pj4wPnQ+Pj4wKTowKXtzPXQ7dj13O2Rve3c9YVtzXXwwO2Fbc109YVt2XXww
O2Fbdl09dztzPXMrMXwwO3Y9disgLTF8MH13aGlsZShzPj4+MDx2Pj4+MCl9dj1EY1tjWyhjW3E+
PjJdfDApKzE2Pj4yXSYxMjddKHEpfDA7aWYodD4+PjA8dT4+PjApe3M9bSsxfDA7dz1tKzR8MDtv
PW0rOHwwO2o9MDtyPTA7cD10O3doaWxlKDEpe3g9KGFbbV0mMSk9PTA7aWYoKGFbKHg/czpjW28+
PjJdfDApK3J8MF18MCk+MD8oanwwKT09KGFbKHg/czpjW28+PjJdfDApK3J8MF18MCk6MCl7eD1j
W2g+PjJdfDA7Y1toPj4yXT14KzQ7Y1t4Pj4yXT12O3g9YVttXXwwO2lmKCh4JjEpPT0wKXt5PSh4
JjI1NSk+Pj4xfWVsc2V7eT1jW3c+PjJdfDB9ej0wO0E9KHI+Pj4wPCh5KyAtMXwwKT4+PjApK3J8
MH1lbHNle3o9ajtBPXJ9eD1NY1tjWyhjW24+PjJdfDApKzQ0Pj4yXSYzMV0obixhW3BdfDApfDA7
Qj1jW2g+PjJdfDA7Qz1CKzR8MDtjW2g+PjJdPUM7Y1tCPj4yXT14O3g9cCsxfDA7aWYoeD4+PjA8
dT4+PjApe2o9eisxfDA7cj1BO3A9eH1lbHNle0Q9QzticmVha319fWVsc2V7RD1jW2g+PjJdfDB9
cD1mKyh0LWI8PDIpfDA7aWYoKHB8MCkhPShEfDApPyhBPUQrIC00fDAsQT4+PjA+cD4+PjApOjAp
e3I9cDtwPUE7d2hpbGUoMSl7QT1jW3I+PjJdfDA7Y1tyPj4yXT1jW3A+PjJdO2NbcD4+Ml09QTtB
PXIrNHwwO3o9cCsgLTR8MDtpZihBPj4+MDx6Pj4+MCl7cj1BO3A9en1lbHNle0U9RDticmVha319
fWVsc2V7RT1EfX1lbHNle0pjW2NbKGNbbj4+Ml18MCkrNDg+PjJdJjddKG4sdCx1LGNbaD4+Ml18
MCl8MDtEPShjW2g+PjJdfDApKyh1LXQ8PDIpfDA7Y1toPj4yXT1EO0U9RH1jOmRve2lmKHU+Pj4w
PGU+Pj4wKXtEPXU7d2hpbGUoMSl7dD1hW0RdfDA7aWYodDw8MjQ+PjI0PT00Nil7YnJlYWt9cD1N
Y1tjWyhjW24+PjJdfDApKzQ0Pj4yXSYzMV0obix0KXwwO3Q9Y1toPj4yXXwwO3I9dCs0fDA7Y1to
Pj4yXT1yO2NbdD4+Ml09cDtwPUQrMXwwO2lmKHA+Pj4wPGU+Pj4wKXtEPXB9ZWxzZXtGPXI7Rz1w
O2JyZWFrIGN9fXA9RGNbY1soY1txPj4yXXwwKSsxMj4+Ml0mMTI3XShxKXwwO3I9Y1toPj4yXXww
O3Q9cis0fDA7Y1toPj4yXT10O2Nbcj4+Ml09cDtGPXQ7Rz1EKzF8MH1lbHNle0Y9RTtHPXV9fXdo
aWxlKDApO0pjW2NbKGNbbj4+Ml18MCkrNDg+PjJdJjddKG4sRyxlLEYpfDA7Rj0oY1toPj4yXXww
KSsobC1HPDwyKXwwO2NbaD4+Ml09RjtpZigoZHwwKT09KGV8MCkpe0g9RjtjW2c+PjJdPUg7ZWco
bSk7aT1rO3JldHVybn1IPWYrKGQtYjw8Mil8MDtjW2c+PjJdPUg7ZWcobSk7aT1rO3JldHVybn1m
dW5jdGlvbiBwaihiLGQsZSxmLGcsail7Yj1ifDA7ZD1kfDA7ZT1lfDA7Zj1mfDA7Zz1nfDA7aj0r
ajt2YXIgbD0wLG09MCxuPTAsbz0wLHA9MCxxPTAscj0wLHM9MCx0PTAsdT0wLHY9MCx3PTAseD0w
LHk9MCx6PTAsQT0wLEI9MCxDPTAsRD0wLEU9MCxGPTAsRz0wLEg9MCxJPTAsSj0wLEs9MDtkPWk7
aT1pKzMyMHwwO2w9ZDttPWQrMTZ8MDtuPWQrMjc2fDA7bz1kKzM2fDA7cD1kKzQ0fDA7cT1kKzI0
fDA7cj1kKzMyfDA7cz1kKzQwfDA7dD1kKzI4fDA7dT1kKzI3MnwwO3Y9bTtjW3Y+PjJdPTM3O2Nb
dis0Pj4yXT0wO3Y9bSsxfDA7dz1mKzR8MDt4PWNbdz4+Ml18MDtpZigoeCYyMDQ4fDApPT0wKXt5
PXZ9ZWxzZXthW3ZdPTQzO3k9bSsyfDB9aWYoKHgmMTAyNHwwKT09MCl7ej15fWVsc2V7YVt5XT0z
NTt6PXkrMXwwfXk9eCYyNjA7dj14Pj4+MTQ7ZG97aWYoKHl8MCk9PTI2MCl7YVt6XT03Njt4PXor
MXwwO2lmKCh2JjF8MCk9PTApe2FbeF09OTc7QT0wO2JyZWFrfWVsc2V7YVt4XT02NTtBPTA7YnJl
YWt9fWVsc2V7YVt6XT00NjthW3orMXwwXT00MjthW3orMnwwXT03Njt4PXorM3wwO2lmKCh5fDAp
PT0yNTYpe2lmKCh2JjF8MCk9PTApe2FbeF09MTAxO0E9MTticmVha31lbHNle2FbeF09Njk7QT0x
O2JyZWFrfX1lbHNlIGlmKCh5fDApPT00KXtpZigodiYxfDApPT0wKXthW3hdPTEwMjtBPTE7YnJl
YWt9ZWxzZXthW3hdPTcwO0E9MTticmVha319ZWxzZXtpZigodiYxfDApPT0wKXthW3hdPTEwMztB
PTE7YnJlYWt9ZWxzZXthW3hdPTcxO0E9MTticmVha319fX13aGlsZSgwKTtjW28+PjJdPW47aWYo
KGFbMTE4ODhdfDApPT0wPyhIYSgxMTg4OCl8MCkhPTA6MCl7Y1syOTcwXT1sYigyMTQ3NDgzNjQ3
LDExODk2LDApfDA7aWIoMTE4ODgpfXY9Y1syOTcwXXwwO2lmKEEpe2NbbD4+Ml09Y1tmKzg+PjJd
O3k9bCs0fDA7aFtrPj4zXT1qO2NbeT4+Ml09Y1trPj4yXTtjW3krND4+Ml09Y1trKzQ+PjJdO0I9
V2kobiwzMCx2LG0sbCl8MH1lbHNle2hbaz4+M109ajtjW2w+PjJdPWNbaz4+Ml07Y1tsKzQ+PjJd
PWNbays0Pj4yXTtCPVdpKG4sMzAsdixtLGwpfDB9aWYoKEJ8MCk+Mjkpe3Y9KGFbMTE4ODhdfDAp
PT0wO2lmKEEpe2lmKHY/KEhhKDExODg4KXwwKSE9MDowKXtjWzI5NzBdPWxiKDIxNDc0ODM2NDcs
MTE4OTYsMCl8MDtpYigxMTg4OCl9QT1jWzI5NzBdfDA7Y1tsPj4yXT1jW2YrOD4+Ml07eT1sKzR8
MDtoW2s+PjNdPWo7Y1t5Pj4yXT1jW2s+PjJdO2NbeSs0Pj4yXT1jW2srND4+Ml07Qz1haihvLEEs
bSxsKXwwfWVsc2V7aWYodj8oSGEoMTE4ODgpfDApIT0wOjApe2NbMjk3MF09bGIoMjE0NzQ4MzY0
NywxMTg5NiwwKXwwO2liKDExODg4KX12PWNbMjk3MF18MDtoW2s+PjNdPWo7Y1tsPj4yXT1jW2s+
PjJdO2NbbCs0Pj4yXT1jW2srND4+Ml07Qz1haihvLHYsbSxsKXwwfW09Y1tvPj4yXXwwO2lmKCht
fDApPT0wKXtIbygpfWVsc2V7RD1tO0U9bTtGPUN9fWVsc2V7RD1jW28+PjJdfDA7RT0wO0Y9Qn1C
PUQrRnwwO289Y1t3Pj4yXSYxNzY7ZG97aWYoKG98MCk9PTE2KXt3PWFbRF18MDtpZih3PDwyND4+
MjQ9PTQzfHc8PDI0Pj4yND09NDUpe0c9RCsxfDA7YnJlYWt9aWYoKEZ8MCk+MSZ3PDwyND4+MjQ9
PTQ4Pyh3PWFbRCsxfDBdfDAsdzw8MjQ+PjI0PT04OHx3PDwyND4+MjQ9PTEyMCk6MCl7Rz1EKzJ8
MH1lbHNle0g9NDR9fWVsc2UgaWYoKG98MCk9PTMyKXtHPUJ9ZWxzZXtIPTQ0fX13aGlsZSgwKTtp
ZigoSHwwKT09NDQpe0c9RH1pZigoRHwwKSE9KG58MCkpe0g9dm8oRjw8Myl8MDtpZigoSHwwKT09
MCl7SG8oKX1lbHNle0k9RDtKPUg7Sz1IfX1lbHNle0k9bjtKPTA7Sz1wfXpnKHMsZik7b2ooSSxH
LEIsSyxxLHIscyk7SGYoY1tzPj4yXXwwKXwwO2NbdT4+Ml09Y1tlPj4yXTtzPWNbcT4+Ml18MDtx
PWNbcj4+Ml18MDtjW2wrMD4+Ml09Y1t1KzA+PjJdO2pqKHQsbCxLLHMscSxmLGcpO2c9Y1t0Pj4y
XXwwO2NbZT4+Ml09ZztjW2I+PjJdPWc7aWYoKEp8MCkhPTApe3dvKEopfWlmKChFfDApPT0wKXtp
PWQ7cmV0dXJufXdvKEUpO2k9ZDtyZXR1cm59ZnVuY3Rpb24gcWooYixkLGUsZixnLGgpe2I9Ynww
O2Q9ZHwwO2U9ZXwwO2Y9ZnwwO2c9Z3wwO2g9aHwwO3ZhciBqPTAsaz0wLGw9MCxtPTAsbj0wLG89
MCxwPTAscT0wLHI9MCxzPTAsdD0wLHU9MCx2PTA7ZD1pO2k9aSsyMDh8MDtqPWQ7az1kKzE4OHww
O2w9ZCsxNjh8MDttPWQrMjB8MDtuPWQrMTZ8MDtvPWQrMTJ8MDthW2srMHwwXT1hWzEwNzkyfDBd
fDA7YVtrKzF8MF09YVsxMDc5M3wwXXwwO2FbaysyfDBdPWFbMTA3OTR8MF18MDthW2srM3wwXT1h
WzEwNzk1fDBdfDA7YVtrKzR8MF09YVsxMDc5NnwwXXwwO2Fbays1fDBdPWFbMTA3OTd8MF18MDtp
ZigoYVsxMTg4OF18MCk9PTA/KEhhKDExODg4KXwwKSE9MDowKXtjWzI5NzBdPWxiKDIxNDc0ODM2
NDcsMTE4OTYsMCl8MDtpYigxMTg4OCl9cD1jWzI5NzBdfDA7Y1tqPj4yXT1oO2g9V2kobCwyMCxw
LGssail8MDtrPWwraHwwO3A9Y1tmKzQ+PjJdJjE3Njtkb3tpZigocHwwKT09MzIpe3E9a31lbHNl
IGlmKChwfDApPT0xNil7cj1hW2xdfDA7aWYocjw8MjQ+PjI0PT00M3xyPDwyND4+MjQ9PTQ1KXtx
PWwrMXwwO2JyZWFrfWlmKChofDApPjEmcjw8MjQ+PjI0PT00OD8ocj1hW2wrMXwwXXwwLHI8PDI0
Pj4yND09ODh8cjw8MjQ+PjI0PT0xMjApOjApe3E9bCsyfDB9ZWxzZXtzPTEwfX1lbHNle3M9MTB9
fXdoaWxlKDApO2lmKChzfDApPT0xMCl7cT1sfXpnKG4sZik7cz1jW24+PjJdfDA7aWYoISgoY1sy
OTk2XXwwKT09LTEpKXtjW2o+PjJdPTExOTg0O2Nbais0Pj4yXT0xMzQ7Y1tqKzg+PjJdPTA7JGYo
MTE5ODQsaiwxMzUpfXA9KGNbMTE5ODg+PjJdfDApKyAtMXwwO3I9Y1tzKzg+PjJdfDA7aWYoISgo
Y1tzKzEyPj4yXXwwKS1yPj4yPj4+MD5wPj4+MCkpe3Q9RGIoNCl8MDskbih0KTtwYyh0fDAsMTk5
NTIsMTIzKX1zPWNbcisocDw8Mik+PjJdfDA7aWYoKHN8MCk9PTApe3Q9RGIoNCl8MDskbih0KTtw
Yyh0fDAsMTk5NTIsMTIzKX1IZihjW24+PjJdfDApfDA7SmNbY1soY1tzPj4yXXwwKSs0OD4+Ml0m
N10ocyxsLGssbSl8MDtzPW0rKGg8PDIpfDA7aWYoKHF8MCk9PShrfDApKXt1PXM7dj1jW2U+PjJd
fDA7Y1tvPj4yXT12O2NbaiswPj4yXT1jW28rMD4+Ml07amooYixqLG0sdSxzLGYsZyk7aT1kO3Jl
dHVybn11PW0rKHEtbDw8Mil8MDt2PWNbZT4+Ml18MDtjW28+PjJdPXY7Y1tqKzA+PjJdPWNbbysw
Pj4yXTtqaihiLGosbSx1LHMsZixnKTtpPWQ7cmV0dXJufWZ1bmN0aW9uIHJqKGUsZixnLGgsaixr
LGwsbSxuKXtlPWV8MDtmPWZ8MDtnPWd8MDtoPWh8MDtqPWp8MDtrPWt8MDtsPWx8MDttPW18MDtu
PW58MDt2YXIgbz0wLHA9MCxxPTAscj0wLHM9MCx0PTAsdT0wLHY9MCx3PTAseD0wLHk9MCx6PTAs
QT0wLEI9MCxDPTAsRD0wLEU9MCxGPTAsRz0wLEg9MCxJPTAsSj0wLEs9MCxMPTAsTT0wLE49MCxP
PTAsUD0wLFE9MCxSPTAsUz0wLFQ9MCxVPTAsVj0wLFc9MCxYPTAsWT0wO289aTtpPWkrMzJ8MDtw
PW87cT1vKzI4fDA7cj1vKzI0fDA7cz1vKzIwfDA7dD1vKzE2fDA7dT1vKzEyfDA7emcocixqKTt2
PWNbcj4+Ml18MDtpZighKChjWzI5OThdfDApPT0tMSkpe2NbcD4+Ml09MTE5OTI7Y1twKzQ+PjJd
PTEzNDtjW3ArOD4+Ml09MDskZigxMTk5MixwLDEzNSl9dz0oY1sxMTk5Nj4+Ml18MCkrIC0xfDA7
eD1jW3YrOD4+Ml18MDtpZighKChjW3YrMTI+PjJdfDApLXg+PjI+Pj4wPnc+Pj4wKSl7eT1EYig0
KXwwOyRuKHkpO3BjKHl8MCwxOTk1MiwxMjMpfXY9Y1t4Kyh3PDwyKT4+Ml18MDtpZigodnwwKT09
MCl7eT1EYig0KXwwOyRuKHkpO3BjKHl8MCwxOTk1MiwxMjMpfUhmKGNbcj4+Ml18MCl8MDtjW2s+
PjJdPTA7YTpkb3tpZigobXwwKSE9KG58MCkpe3I9dis4fDA7eT1tO3c9MDtiOndoaWxlKDEpe3g9
dzt3aGlsZSgxKXtpZigoeHwwKSE9MCl7ej02NTticmVhayBhfUE9Y1tnPj4yXXwwO2lmKChBfDAp
IT0wKXtpZigoY1tBKzEyPj4yXXwwKT09KGNbQSsxNj4+Ml18MCk/KERjW2NbKGNbQT4+Ml18MCkr
MzY+PjJdJjEyN10oQSl8MCk9PS0xOjApe2NbZz4+Ml09MDtCPTB9ZWxzZXtCPUF9fWVsc2V7Qj0w
fUE9KEJ8MCk9PTA7Qz1jW2g+PjJdfDA7ZG97aWYoKEN8MCkhPTApe2lmKChjW0MrMTI+PjJdfDAp
PT0oY1tDKzE2Pj4yXXwwKT8oRGNbY1soY1tDPj4yXXwwKSszNj4+Ml0mMTI3XShDKXwwKT09LTE6
MCl7Y1toPj4yXT0wO3o9MTk7YnJlYWt9aWYoQSl7RD1DfWVsc2V7ej0yMDticmVhayBifX1lbHNl
e3o9MTl9fXdoaWxlKDApO2lmKCh6fDApPT0xOSl7ej0wO2lmKEEpe3o9MjA7YnJlYWsgYn1lbHNl
e0Q9MH19aWYoKHZjW2NbKGNbdj4+Ml18MCkrMzY+PjJdJjMxXSh2LGFbeV18MCwwKXwwKTw8MjQ+
PjI0PT0zNyl7ej0yMjticmVha31DPWFbeV18MDtpZihDPDwyND4+MjQ+LTE/KEU9Y1tyPj4yXXww
LCEoKGJbRSsoQzw8MjQ+PjI0PDwxKT4+MV0mODE5Mik9PTApKTowKXtGPXk7ej0zMzticmVha31H
PUIrMTJ8MDtDPWNbRz4+Ml18MDtIPUIrMTZ8MDtpZigoQ3wwKT09KGNbSD4+Ml18MCkpe0k9RGNb
Y1soY1tCPj4yXXwwKSszNj4+Ml0mMTI3XShCKXwwfWVsc2V7ST1kW0NdfDB9Qz1NY1tjWyhjW3Y+
PjJdfDApKzEyPj4yXSYzMV0odixJJjI1NSl8MDtpZihDPDwyND4+MjQ9PShNY1tjWyhjW3Y+PjJd
fDApKzEyPj4yXSYzMV0odixhW3ldfDApfDApPDwyND4+MjQpe3o9NjA7YnJlYWt9Y1trPj4yXT00
O3g9NH1jOmRve2lmKCh6fDApPT0yMil7ej0wO3g9eSsxfDA7aWYoKHh8MCk9PShufDApKXt6PTIz
O2JyZWFrIGJ9Qz12Y1tjWyhjW3Y+PjJdfDApKzM2Pj4yXSYzMV0odixhW3hdfDAsMCl8MDtpZihD
PDwyND4+MjQ9PTQ4fEM8PDI0Pj4yND09Njkpe0o9eSsyfDA7aWYoKEp8MCk9PShufDApKXt6PTI2
O2JyZWFrIGJ9Sz1KO0w9dmNbY1soY1t2Pj4yXXwwKSszNj4+Ml0mMzFdKHYsYVtKXXwwLDApfDA7
TT1DfWVsc2V7Sz14O0w9QztNPTB9Qz1jWyhjW2Y+PjJdfDApKzM2Pj4yXXwwO2NbdD4+Ml09Qjtj
W3U+PjJdPUQ7Y1txKzA+PjJdPWNbdCswPj4yXTtjW3ArMD4+Ml09Y1t1KzA+PjJdO0NjW0MmM10o
cyxmLHEscCxqLGssbCxMLE0pO2NbZz4+Ml09Y1tzPj4yXTtOPUsrMXwwfWVsc2UgaWYoKHp8MCk9
PTMzKXt3aGlsZSgxKXt6PTA7Qz1GKzF8MDtpZigoQ3wwKT09KG58MCkpe089bjticmVha314PWFb
Q118MDtpZighKHg8PDI0Pj4yND4tMSkpe089QzticmVha31pZigoYltFKyh4PDwyND4+MjQ8PDEp
Pj4xXSY4MTkyKT09MCl7Tz1DO2JyZWFrfWVsc2V7Rj1DO3o9MzN9fUE9QjtDPUQ7eD1EO3doaWxl
KDEpe2lmKChBfDApIT0wKXtpZigoY1tBKzEyPj4yXXwwKT09KGNbQSsxNj4+Ml18MCk/KERjW2Nb
KGNbQT4+Ml18MCkrMzY+PjJdJjEyN10oQSl8MCk9PS0xOjApe2NbZz4+Ml09MDtQPTB9ZWxzZXtQ
PUF9fWVsc2V7UD0wfUo9KFB8MCk9PTA7ZG97aWYoKHh8MCkhPTApe2lmKChjW3grMTI+PjJdfDAp
IT0oY1t4KzE2Pj4yXXwwKSl7aWYoSil7UT1DO1I9eDticmVha31lbHNle049TzticmVhayBjfX1p
ZighKChEY1tjWyhjW3g+PjJdfDApKzM2Pj4yXSYxMjddKHgpfDApPT0tMSkpe2lmKEpeKEN8MCk9
PTApe1E9QztSPUM7YnJlYWt9ZWxzZXtOPU87YnJlYWsgY319ZWxzZXtjW2g+PjJdPTA7Uz0wO3o9
NDY7YnJlYWt9fWVsc2V7Uz1DO3o9NDZ9fXdoaWxlKDApO2lmKCh6fDApPT00Nil7ej0wO2lmKEop
e049TzticmVhayBjfWVsc2V7UT1TO1I9MH19VD1QKzEyfDA7VT1jW1Q+PjJdfDA7Vj1QKzE2fDA7
aWYoKFV8MCk9PShjW1Y+PjJdfDApKXtXPURjW2NbKGNbUD4+Ml18MCkrMzY+PjJdJjEyN10oUCl8
MH1lbHNle1c9ZFtVXXwwfWlmKCEoKFcmMjU1KTw8MjQ+PjI0Pi0xKSl7Tj1PO2JyZWFrIGN9aWYo
KGJbKGNbcj4+Ml18MCkrKFc8PDI0Pj4yNDw8MSk+PjFdJjgxOTIpPT0wKXtOPU87YnJlYWsgY31V
PWNbVD4+Ml18MDtpZigoVXwwKT09KGNbVj4+Ml18MCkpe0RjW2NbKGNbUD4+Ml18MCkrNDA+PjJd
JjEyN10oUCl8MDtBPVA7Qz1RO3g9Ujtjb250aW51ZX1lbHNle2NbVD4+Ml09VSsxO0E9UDtDPVE7
eD1SO2NvbnRpbnVlfX19ZWxzZSBpZigoenwwKT09NjApe3o9MDt4PWNbRz4+Ml18MDtpZigoeHww
KT09KGNbSD4+Ml18MCkpe0RjW2NbKGNbQj4+Ml18MCkrNDA+PjJdJjEyN10oQil8MH1lbHNle2Nb
Rz4+Ml09eCsxfU49eSsxfDB9fXdoaWxlKDApO2lmKChOfDApPT0obnwwKSl7ej02NTticmVhayBh
fXk9Tjt3PWNbaz4+Ml18MH1pZigoenwwKT09MjApe2Nbaz4+Ml09NDtYPUI7YnJlYWt9ZWxzZSBp
ZigoenwwKT09MjMpe2Nbaz4+Ml09NDtYPUI7YnJlYWt9ZWxzZSBpZigoenwwKT09MjYpe2Nbaz4+
Ml09NDtYPUI7YnJlYWt9fWVsc2V7ej02NX19d2hpbGUoMCk7aWYoKHp8MCk9PTY1KXtYPWNbZz4+
Ml18MH1pZigoWHwwKSE9MCl7aWYoKGNbWCsxMj4+Ml18MCk9PShjW1grMTY+PjJdfDApPyhEY1tj
WyhjW1g+PjJdfDApKzM2Pj4yXSYxMjddKFgpfDApPT0tMTowKXtjW2c+PjJdPTA7WT0wfWVsc2V7
WT1YfX1lbHNle1k9MH1YPShZfDApPT0wO2c9Y1toPj4yXXwwO2Rve2lmKChnfDApIT0wKXtpZigo
Y1tnKzEyPj4yXXwwKT09KGNbZysxNj4+Ml18MCk/KERjW2NbKGNbZz4+Ml18MCkrMzY+PjJdJjEy
N10oZyl8MCk9PS0xOjApe2NbaD4+Ml09MDt6PTc1O2JyZWFrfWlmKFgpe2NbZT4+Ml09WTtpPW87
cmV0dXJufX1lbHNle3o9NzV9fXdoaWxlKDApO2lmKCh6fDApPT03NT8hWDowKXtjW2U+PjJdPVk7
aT1vO3JldHVybn1jW2s+PjJdPWNbaz4+Ml18MjtjW2U+PjJdPVk7aT1vO3JldHVybn1mdW5jdGlv
biBzaihhKXthPWF8MDt2YXIgYj0wO2I9aTtDbyhhKTtpPWI7cmV0dXJufWZ1bmN0aW9uIHRqKGEp
e2E9YXwwO3JldHVybn1mdW5jdGlvbiB1aihhKXthPWF8MDtyZXR1cm4gMn1mdW5jdGlvbiB2aihh
LGIsZCxlLGYsZyxoKXthPWF8MDtiPWJ8MDtkPWR8MDtlPWV8MDtmPWZ8MDtnPWd8MDtoPWh8MDt2
YXIgaj0wLGs9MCxsPTAsbT0wLG49MDtqPWk7aT1pKzE2fDA7az1qKzEyfDA7bD1qKzh8MDttPWor
NHwwO249ajtjW20+PjJdPWNbZD4+Ml07Y1tuPj4yXT1jW2U+PjJdO2NbbCswPj4yXT1jW20rMD4+
Ml07Y1trKzA+PjJdPWNbbiswPj4yXTtyaihhLGIsbCxrLGYsZyxoLDEwODk2LDEwOTA0fDApO2k9
ajtyZXR1cm59ZnVuY3Rpb24gd2ooYixkLGUsZixnLGgsail7Yj1ifDA7ZD1kfDA7ZT1lfDA7Zj1m
fDA7Zz1nfDA7aD1ofDA7aj1qfDA7dmFyIGs9MCxsPTAsbT0wLG49MCxvPTAscD0wLHE9MCxyPTAs
cz0wLHQ9MDtrPWk7aT1pKzE2fDA7bD1rKzEyfDA7bT1rKzh8MDtuPWsrNHwwO289aztwPWQrOHww
O3E9RGNbY1soY1twPj4yXXwwKSsyMD4+Ml0mMTI3XShwKXwwO2Nbbj4+Ml09Y1tlPj4yXTtjW28+
PjJdPWNbZj4+Ml07Zj1hW3FdfDA7aWYoKGYmMSk9PTApe3I9cSsxfDA7cz0oZiYyNTUpPj4+MTt0
PXErMXwwfWVsc2V7Zj1jW3ErOD4+Ml18MDtyPWY7cz1jW3ErND4+Ml18MDt0PWZ9Zj1yK3N8MDtj
W20rMD4+Ml09Y1tuKzA+PjJdO2NbbCswPj4yXT1jW28rMD4+Ml07cmooYixkLG0sbCxnLGgsaix0
LGYpO2k9aztyZXR1cm59ZnVuY3Rpb24geGooYSxiLGQsZSxmLGcsaCl7YT1hfDA7Yj1ifDA7ZD1k
fDA7ZT1lfDA7Zj1mfDA7Zz1nfDA7aD1ofDA7dmFyIGo9MCxrPTAsbD0wLG09MCxuPTAsbz0wLHA9
MCxxPTA7aj1pO2k9aSszMnwwO2s9ajtsPWorMTZ8MDttPWorMTJ8MDt6ZyhtLGYpO2Y9Y1ttPj4y
XXwwO2lmKCEoKGNbMjk5OF18MCk9PS0xKSl7Y1trPj4yXT0xMTk5MjtjW2srND4+Ml09MTM0O2Nb
ays4Pj4yXT0wOyRmKDExOTkyLGssMTM1KX1uPShjWzExOTk2Pj4yXXwwKSsgLTF8MDtvPWNbZis4
Pj4yXXwwO2lmKCEoKGNbZisxMj4+Ml18MCktbz4+Mj4+PjA+bj4+PjApKXtwPURiKDQpfDA7JG4o
cCk7cGMocHwwLDE5OTUyLDEyMyl9Zj1jW28rKG48PDIpPj4yXXwwO2lmKChmfDApPT0wKXtwPURi
KDQpfDA7JG4ocCk7cGMocHwwLDE5OTUyLDEyMyl9SGYoY1ttPj4yXXwwKXwwO209Y1tlPj4yXXww
O2U9Yis4fDA7Yj1EY1tjW2NbZT4+Ml0+PjJdJjEyN10oZSl8MDtjW2w+PjJdPW07bT1iKzE2OHww
O2NbayswPj4yXT1jW2wrMD4+Ml07bD0oVWgoZCxrLGIsbSxmLGcsMCl8MCktYnwwO2lmKChsfDAp
Pj0xNjgpe3E9Y1tkPj4yXXwwO2NbYT4+Ml09cTtpPWo7cmV0dXJufWNbaCsyND4+Ml09KChsfDAp
LzEyfDB8MCklN3wwO3E9Y1tkPj4yXXwwO2NbYT4+Ml09cTtpPWo7cmV0dXJufWZ1bmN0aW9uIHlq
KGEsYixkLGUsZixnLGgpe2E9YXwwO2I9YnwwO2Q9ZHwwO2U9ZXwwO2Y9ZnwwO2c9Z3wwO2g9aHww
O3ZhciBqPTAsaz0wLGw9MCxtPTAsbj0wLG89MCxwPTAscT0wO2o9aTtpPWkrMzJ8MDtrPWo7bD1q
KzE2fDA7bT1qKzEyfDA7emcobSxmKTtmPWNbbT4+Ml18MDtpZighKChjWzI5OThdfDApPT0tMSkp
e2Nbaz4+Ml09MTE5OTI7Y1trKzQ+PjJdPTEzNDtjW2srOD4+Ml09MDskZigxMTk5MixrLDEzNSl9
bj0oY1sxMTk5Nj4+Ml18MCkrIC0xfDA7bz1jW2YrOD4+Ml18MDtpZighKChjW2YrMTI+PjJdfDAp
LW8+PjI+Pj4wPm4+Pj4wKSl7cD1EYig0KXwwOyRuKHApO3BjKHB8MCwxOTk1MiwxMjMpfWY9Y1tv
KyhuPDwyKT4+Ml18MDtpZigoZnwwKT09MCl7cD1EYig0KXwwOyRuKHApO3BjKHB8MCwxOTk1Miwx
MjMpfUhmKGNbbT4+Ml18MCl8MDttPWNbZT4+Ml18MDtlPWIrOHwwO2I9RGNbY1soY1tlPj4yXXww
KSs0Pj4yXSYxMjddKGUpfDA7Y1tsPj4yXT1tO209YisyODh8MDtjW2srMD4+Ml09Y1tsKzA+PjJd
O2w9KFVoKGQsayxiLG0sZixnLDApfDApLWJ8MDtpZigobHwwKT49Mjg4KXtxPWNbZD4+Ml18MDtj
W2E+PjJdPXE7aT1qO3JldHVybn1jW2grMTY+PjJdPSgobHwwKS8xMnwwfDApJTEyfDA7cT1jW2Q+
PjJdfDA7Y1thPj4yXT1xO2k9ajtyZXR1cm59ZnVuY3Rpb24gemooYSxiLGQsZSxmLGcsaCl7YT1h
fDA7Yj1ifDA7ZD1kfDA7ZT1lfDA7Zj1mfDA7Zz1nfDA7aD1ofDA7dmFyIGo9MCxrPTAsbD0wLG09
MCxuPTAsbz0wLHA9MCxxPTA7Yj1pO2k9aSszMnwwO2o9YjtrPWIrMTZ8MDtsPWIrMTJ8MDt6Zyhs
LGYpO2Y9Y1tsPj4yXXwwO2lmKCEoKGNbMjk5OF18MCk9PS0xKSl7Y1tqPj4yXT0xMTk5MjtjW2or
ND4+Ml09MTM0O2Nbais4Pj4yXT0wOyRmKDExOTkyLGosMTM1KX1tPShjWzExOTk2Pj4yXXwwKSsg
LTF8MDtuPWNbZis4Pj4yXXwwO2lmKCEoKGNbZisxMj4+Ml18MCktbj4+Mj4+PjA+bT4+PjApKXtv
PURiKDQpfDA7JG4obyk7cGMob3wwLDE5OTUyLDEyMyl9Zj1jW24rKG08PDIpPj4yXXwwO2lmKChm
fDApPT0wKXtvPURiKDQpfDA7JG4obyk7cGMob3wwLDE5OTUyLDEyMyl9SGYoY1tsPj4yXXwwKXww
O2w9aCsyMHwwO2Nbaz4+Ml09Y1tlPj4yXTtjW2orMD4+Ml09Y1trKzA+PjJdO2s9RGooZCxqLGcs
Ziw0KXwwO2lmKChjW2c+PjJdJjR8MCkhPTApe3A9Y1tkPj4yXXwwO2NbYT4+Ml09cDtpPWI7cmV0
dXJufWlmKChrfDApPDY5KXtxPWsrMmUzfDB9ZWxzZXtxPShrKyAtNjl8MCk+Pj4wPDMxP2srMTkw
MHwwOmt9Y1tsPj4yXT1xKyAtMTkwMDtwPWNbZD4+Ml18MDtjW2E+PjJdPXA7aT1iO3JldHVybn1m
dW5jdGlvbiBBaihiLGQsZSxmLGcsaCxqLGssbCl7Yj1ifDA7ZD1kfDA7ZT1lfDA7Zj1mfDA7Zz1n
fDA7aD1ofDA7aj1qfDA7az1rfDA7bD1sfDA7dmFyIG09MCxuPTAsbz0wLHA9MCxxPTAscj0wLHM9
MCx0PTAsdT0wLHY9MCx3PTAseD0wLHk9MCx6PTAsQT0wLEI9MCxDPTAsRD0wLEU9MCxGPTAsRz0w
LEg9MCxJPTAsSj0wLEs9MCxMPTAsTT0wLE49MCxPPTAsUD0wLFE9MCxSPTAsUz0wLFQ9MCxVPTAs
Vj0wLFc9MCxYPTAsWT0wLFo9MCxfPTAsJD0wLGFhPTAsYmE9MCxjYT0wLGRhPTAsZWE9MCxmYT0w
LGdhPTAsaGE9MCxpYT0wLGphPTAsa2E9MDtsPWk7aT1pKzE3NnwwO209bDtuPWwrMTJ8MDtvPWwr
MTZ8MDtwPWwrMTIwfDA7cT1sKzI0fDA7cj1sKzIwfDA7cz1sKzEyNHwwO3Q9bCsxMTZ8MDt1PWwr
NTJ8MDt2PWwrMjh8MDt3PWwrMzJ8MDt4PWwrMzZ8MDt5PWwrNDB8MDt6PWwrNDR8MDtBPWwrNDh8
MDtCPWwrMTEyfDA7Qz1sKzEwOHwwO0Q9bCs1NnwwO0U9bCs2MHwwO0Y9bCs2NHwwO0c9bCs2OHww
O0g9bCs3MnwwO0k9bCs3NnwwO0o9bCs4MHwwO0s9bCs4NHwwO0w9bCs4OHwwO009bCs5MnwwO049
bCs5NnwwO089bCsxMDB8MDtQPWwrMTA0fDA7UT1sKzEyOHwwO1I9bCsxMzJ8MDtTPWwrMTM2fDA7
VD1sKzE0MHwwO1U9bCsxNDR8MDtWPWwrMTQ4fDA7Vz1sKzE1MnwwO1g9bCsxNTZ8MDtZPWwrMTYw
fDA7Wj1sKzE2NHwwO2NbaD4+Ml09MDt6ZyhBLGcpO189Y1tBPj4yXXwwO2lmKCEoKGNbMjk5OF18
MCk9PS0xKSl7Y1ttPj4yXT0xMTk5MjtjW20rND4+Ml09MTM0O2NbbSs4Pj4yXT0wOyRmKDExOTky
LG0sMTM1KX0kPShjWzExOTk2Pj4yXXwwKSsgLTF8MDthYT1jW18rOD4+Ml18MDtpZighKChjW18r
MTI+PjJdfDApLWFhPj4yPj4+MD4kPj4+MCkpe2JhPURiKDQpfDA7JG4oYmEpO3BjKGJhfDAsMTk5
NTIsMTIzKX1fPWNbYWErKCQ8PDIpPj4yXXwwO2lmKChffDApPT0wKXtiYT1EYig0KXwwOyRuKGJh
KTtwYyhiYXwwLDE5OTUyLDEyMyl9SGYoY1tBPj4yXXwwKXwwO2E6ZG97c3dpdGNoKGs8PDI0Pj4y
NHwwKXtjYXNlIDEwNDpjYXNlIDY2OmNhc2UgOTg6e0E9Y1tmPj4yXXwwO2JhPWQrOHwwOyQ9RGNb
Y1soY1tiYT4+Ml18MCkrND4+Ml0mMTI3XShiYSl8MDtjW3k+PjJdPUE7Y1ttKzA+PjJdPWNbeSsw
Pj4yXTtBPShVaChlLG0sJCwkKzI4OHwwLF8saCwwKXwwKS0kfDA7aWYoKEF8MCk8Mjg4KXtjW2or
MTY+PjJdPSgoQXwwKS8xMnwwfDApJTEyfDB9YnJlYWt9O2Nhc2UgNzI6e2Nbdz4+Ml09Y1tmPj4y
XTtjW20rMD4+Ml09Y1t3KzA+PjJdO0E9RGooZSxtLGgsXywyKXwwOyQ9Y1toPj4yXXwwO2lmKCgk
JjR8MCk9PTAmKEF8MCk8MjQpe2Nbais4Pj4yXT1BO2JyZWFrIGF9ZWxzZXtjW2g+PjJdPSR8NDti
cmVhayBhfWJyZWFrfTtjYXNlIDY1OmNhc2UgOTc6eyQ9Y1tmPj4yXXwwO0E9ZCs4fDA7YmE9RGNb
Y1tjW0E+PjJdPj4yXSYxMjddKEEpfDA7Y1t6Pj4yXT0kO2NbbSswPj4yXT1jW3orMD4+Ml07JD0o
VWgoZSxtLGJhLGJhKzE2OHwwLF8saCwwKXwwKS1iYXwwO2lmKCgkfDApPDE2OCl7Y1tqKzI0Pj4y
XT0oKCR8MCkvMTJ8MHwwKSU3fDB9YnJlYWt9O2Nhc2UgMTAxOmNhc2UgMTAwOnskPWorMTJ8MDtj
W3g+PjJdPWNbZj4+Ml07Y1ttKzA+PjJdPWNbeCswPj4yXTtiYT1EaihlLG0saCxfLDIpfDA7QT1j
W2g+PjJdfDA7aWYoKEEmNHwwKT09MD8oYmErIC0xfDApPj4+MDwzMTowKXtjWyQ+PjJdPWJhO2Jy
ZWFrIGF9Y1toPj4yXT1BfDQ7YnJlYWt9O2Nhc2UgNjg6e2NbRj4+Ml09Y1tlPj4yXTtjW0c+PjJd
PWNbZj4+Ml07Y1tuKzA+PjJdPWNbRiswPj4yXTtjW20rMD4+Ml09Y1tHKzA+PjJdO3JqKEUsZCxu
LG0sZyxoLGosMTA5MDQsMTA5MTJ8MCk7Y1tlPj4yXT1jW0U+PjJdO2JyZWFrfTtjYXNlIDczOntB
PWorOHwwO2Nbdj4+Ml09Y1tmPj4yXTtjW20rMD4+Ml09Y1t2KzA+PjJdO2JhPURqKGUsbSxoLF8s
Mil8MDskPWNbaD4+Ml18MDtpZigoJCY0fDApPT0wPyhiYSsgLTF8MCk+Pj4wPDEyOjApe2NbQT4+
Ml09YmE7YnJlYWsgYX1jW2g+PjJdPSR8NDticmVha307Y2FzZSAxMDk6e2NbdD4+Ml09Y1tmPj4y
XTtjW20rMD4+Ml09Y1t0KzA+PjJdOyQ9RGooZSxtLGgsXywyKXwwO2JhPWNbaD4+Ml18MDtpZigo
YmEmNHwwKT09MCYoJHwwKTwxMyl7Y1tqKzE2Pj4yXT0kKyAtMTticmVhayBhfWVsc2V7Y1toPj4y
XT1iYXw0O2JyZWFrIGF9YnJlYWt9O2Nhc2UgNzA6e2NbST4+Ml09Y1tlPj4yXTtjW0o+PjJdPWNb
Zj4+Ml07Y1tuKzA+PjJdPWNbSSswPj4yXTtjW20rMD4+Ml09Y1tKKzA+PjJdO3JqKEgsZCxuLG0s
ZyxoLGosMTA5MTIsMTA5MjB8MCk7Y1tlPj4yXT1jW0g+PjJdO2JyZWFrfTtjYXNlIDc3OntjW3M+
PjJdPWNbZj4+Ml07Y1ttKzA+PjJdPWNbcyswPj4yXTtiYT1EaihlLG0saCxfLDIpfDA7JD1jW2g+
PjJdfDA7aWYoKCQmNHwwKT09MCYoYmF8MCk8NjApe2Nbais0Pj4yXT1iYTticmVhayBhfWVsc2V7
Y1toPj4yXT0kfDQ7YnJlYWsgYX1icmVha307Y2FzZSAxMTY6Y2FzZSAxMTA6e2NbSz4+Ml09Y1tm
Pj4yXTtjW20rMD4+Ml09Y1tLKzA+PjJdO0JqKDAsZSxtLGgsXyk7YnJlYWt9O2Nhc2UgMTA2Ontj
W3U+PjJdPWNbZj4+Ml07Y1ttKzA+PjJdPWNbdSswPj4yXTskPURqKGUsbSxoLF8sMyl8MDtiYT1j
W2g+PjJdfDA7aWYoKGJhJjR8MCk9PTAmKCR8MCk8MzY2KXtjW2orMjg+PjJdPSQ7YnJlYWsgYX1l
bHNle2NbaD4+Ml09YmF8NDticmVhayBhfWJyZWFrfTtjYXNlIDk5OntiYT1kKzh8MDskPURjW2Nb
KGNbYmE+PjJdfDApKzEyPj4yXSYxMjddKGJhKXwwO2NbQz4+Ml09Y1tlPj4yXTtjW0Q+PjJdPWNb
Zj4+Ml07YmE9YVskXXwwO2lmKChiYSYxKT09MCl7Y2E9JCsxfDA7ZGE9KGJhJjI1NSk+Pj4xO2Vh
PSQrMXwwfWVsc2V7YmE9Y1skKzg+PjJdfDA7Y2E9YmE7ZGE9Y1skKzQ+PjJdfDA7ZWE9YmF9Y1tu
KzA+PjJdPWNbQyswPj4yXTtjW20rMD4+Ml09Y1tEKzA+PjJdO3JqKEIsZCxuLG0sZyxoLGosZWEs
Y2ErZGF8MCk7Y1tlPj4yXT1jW0I+PjJdO2JyZWFrfTtjYXNlIDExMjp7YmE9ais4fDA7JD1jW2Y+
PjJdfDA7QT1kKzh8MDthYT1EY1tjWyhjW0E+PjJdfDApKzg+PjJdJjEyN10oQSl8MDtBPWFbYWFd
fDA7aWYoKEEmMSk9PTApe2ZhPShBJjI1NSk+Pj4xfWVsc2V7ZmE9Y1thYSs0Pj4yXXwwfUE9YVth
YSsxMnwwXXwwO2lmKChBJjEpPT0wKXtnYT0oQSYyNTUpPj4+MX1lbHNle2dhPWNbYWErMTY+PjJd
fDB9aWYoKGZhfDApPT0oMC1nYXwwKSl7Y1toPj4yXT1jW2g+PjJdfDQ7YnJlYWsgYX1jW3I+PjJd
PSQ7Y1ttKzA+PjJdPWNbciswPj4yXTskPVVoKGUsbSxhYSxhYSsyNHwwLF8saCwwKXwwO0E9JC1h
YXwwO2lmKCgkfDApPT0oYWF8MCk/KGNbYmE+PjJdfDApPT0xMjowKXtjW2JhPj4yXT0wO2JyZWFr
IGF9aWYoKEF8MCk9PTEyPyhBPWNbYmE+PjJdfDAsKEF8MCk8MTIpOjApe2NbYmE+PjJdPUErMTJ9
YnJlYWt9O2Nhc2UgMTIwOntBPWNbKGNbZD4+Ml18MCkrMjA+PjJdfDA7Y1tVPj4yXT1jW2U+PjJd
O2NbVj4+Ml09Y1tmPj4yXTtjW24rMD4+Ml09Y1tVKzA+PjJdO2NbbSswPj4yXT1jW1YrMD4+Ml07
eWNbQSY2M10oYixkLG4sbSxnLGgsaik7aT1sO3JldHVybn07Y2FzZSA4ODp7QT1kKzh8MDtiYT1E
Y1tjWyhjW0E+PjJdfDApKzI0Pj4yXSYxMjddKEEpfDA7Y1tYPj4yXT1jW2U+PjJdO2NbWT4+Ml09
Y1tmPj4yXTtBPWFbYmFdfDA7aWYoKEEmMSk9PTApe2hhPWJhKzF8MDtpYT0oQSYyNTUpPj4+MTtq
YT1iYSsxfDB9ZWxzZXtBPWNbYmErOD4+Ml18MDtoYT1BO2lhPWNbYmErND4+Ml18MDtqYT1BfWNb
biswPj4yXT1jW1grMD4+Ml07Y1ttKzA+PjJdPWNbWSswPj4yXTtyaihXLGQsbixtLGcsaCxqLGph
LGhhK2lhfDApO2NbZT4+Ml09Y1tXPj4yXTticmVha307Y2FzZSAxMjE6e0E9aisyMHwwO2Nbbz4+
Ml09Y1tmPj4yXTtjW20rMD4+Ml09Y1tvKzA+PjJdO2JhPURqKGUsbSxoLF8sNCl8MDtpZigoY1to
Pj4yXSY0fDApPT0wKXtpZigoYmF8MCk8Njkpe2thPWJhKzJlM3wwfWVsc2V7a2E9KGJhKyAtNjl8
MCk+Pj4wPDMxP2JhKzE5MDB8MDpiYX1jW0E+PjJdPWthKyAtMTkwMH1icmVha307Y2FzZSAxMTk6
e2NbcD4+Ml09Y1tmPj4yXTtjW20rMD4+Ml09Y1twKzA+PjJdO0E9RGooZSxtLGgsXywxKXwwO2Jh
PWNbaD4+Ml18MDtpZigoYmEmNHwwKT09MCYoQXwwKTw3KXtjW2orMjQ+PjJdPUE7YnJlYWsgYX1l
bHNle2NbaD4+Ml09YmF8NDticmVhayBhfWJyZWFrfTtjYXNlIDExNDp7Y1tNPj4yXT1jW2U+PjJd
O2NbTj4+Ml09Y1tmPj4yXTtjW24rMD4+Ml09Y1tNKzA+PjJdO2NbbSswPj4yXT1jW04rMD4+Ml07
cmooTCxkLG4sbSxnLGgsaiwxMDkyMCwxMDkzMXwwKTtjW2U+PjJdPWNbTD4+Ml07YnJlYWt9O2Nh
c2UgODI6e2NbUD4+Ml09Y1tlPj4yXTtjW1E+PjJdPWNbZj4+Ml07Y1tuKzA+PjJdPWNbUCswPj4y
XTtjW20rMD4+Ml09Y1tRKzA+PjJdO3JqKE8sZCxuLG0sZyxoLGosMTA5MzYsMTA5NDF8MCk7Y1tl
Pj4yXT1jW08+PjJdO2JyZWFrfTtjYXNlIDgzOntjW3E+PjJdPWNbZj4+Ml07Y1ttKzA+PjJdPWNb
cSswPj4yXTtiYT1EaihlLG0saCxfLDIpfDA7QT1jW2g+PjJdfDA7aWYoKEEmNHwwKT09MCYoYmF8
MCk8NjEpe2Nbaj4+Ml09YmE7YnJlYWsgYX1lbHNle2NbaD4+Ml09QXw0O2JyZWFrIGF9YnJlYWt9
O2Nhc2UgODQ6e2NbUz4+Ml09Y1tlPj4yXTtjW1Q+PjJdPWNbZj4+Ml07Y1tuKzA+PjJdPWNbUysw
Pj4yXTtjW20rMD4+Ml09Y1tUKzA+PjJdO3JqKFIsZCxuLG0sZyxoLGosMTA5NDQsMTA5NTJ8MCk7
Y1tlPj4yXT1jW1I+PjJdO2JyZWFrfTtjYXNlIDg5OntjW24+PjJdPWNbZj4+Ml07Y1ttKzA+PjJd
PWNbbiswPj4yXTtBPURqKGUsbSxoLF8sNCl8MDtpZigoY1toPj4yXSY0fDApPT0wKXtjW2orMjA+
PjJdPUErIC0xOTAwfWJyZWFrfTtjYXNlIDM3OntjW1o+PjJdPWNbZj4+Ml07Y1ttKzA+PjJdPWNb
WiswPj4yXTtDaigwLGUsbSxoLF8pO2JyZWFrfTtkZWZhdWx0OntjW2g+PjJdPWNbaD4+Ml18NH19
fXdoaWxlKDApO2NbYj4+Ml09Y1tlPj4yXTtpPWw7cmV0dXJufWZ1bmN0aW9uIEJqKGEsZSxmLGcs
aCl7YT1hfDA7ZT1lfDA7Zj1mfDA7Zz1nfDA7aD1ofDA7dmFyIGo9MCxrPTAsbD0wLG09MCxuPTAs
bz0wLHA9MCxxPTAscj0wLHM9MDthPWk7aj1oKzh8MDthOndoaWxlKDEpe2g9Y1tlPj4yXXwwO2Rv
e2lmKChofDApIT0wKXtpZigoY1toKzEyPj4yXXwwKT09KGNbaCsxNj4+Ml18MCkpe2lmKChEY1tj
WyhjW2g+PjJdfDApKzM2Pj4yXSYxMjddKGgpfDApPT0tMSl7Y1tlPj4yXT0wO2s9MDticmVha31l
bHNle2s9Y1tlPj4yXXwwO2JyZWFrfX1lbHNle2s9aH19ZWxzZXtrPTB9fXdoaWxlKDApO2g9KGt8
MCk9PTA7bD1jW2Y+PjJdfDA7ZG97aWYoKGx8MCkhPTApe2lmKChjW2wrMTI+PjJdfDApIT0oY1ts
KzE2Pj4yXXwwKSl7aWYoaCl7bT1sO2JyZWFrfWVsc2V7bj1sO2JyZWFrIGF9fWlmKCEoKERjW2Nb
KGNbbD4+Ml18MCkrMzY+PjJdJjEyN10obCl8MCk9PS0xKSl7aWYoaCl7bT1sO2JyZWFrfWVsc2V7
bj1sO2JyZWFrIGF9fWVsc2V7Y1tmPj4yXT0wO289MTI7YnJlYWt9fWVsc2V7bz0xMn19d2hpbGUo
MCk7aWYoKG98MCk9PTEyKXtvPTA7aWYoaCl7bj0wO2JyZWFrfWVsc2V7bT0wfX1sPWNbZT4+Ml18
MDtwPWNbbCsxMj4+Ml18MDtpZigocHwwKT09KGNbbCsxNj4+Ml18MCkpe3E9RGNbY1soY1tsPj4y
XXwwKSszNj4+Ml0mMTI3XShsKXwwfWVsc2V7cT1kW3BdfDB9aWYoISgocSYyNTUpPDwyND4+MjQ+
LTEpKXtuPW07YnJlYWt9aWYoKGJbKGNbaj4+Ml18MCkrKHE8PDI0Pj4yNDw8MSk+PjFdJjgxOTIp
PT0wKXtuPW07YnJlYWt9cD1jW2U+PjJdfDA7bD1wKzEyfDA7cj1jW2w+PjJdfDA7aWYoKHJ8MCk9
PShjW3ArMTY+PjJdfDApKXtEY1tjWyhjW3A+PjJdfDApKzQwPj4yXSYxMjddKHApfDA7Y29udGlu
dWV9ZWxzZXtjW2w+PjJdPXIrMTtjb250aW51ZX19bT1jW2U+PjJdfDA7ZG97aWYoKG18MCkhPTAp
e2lmKChjW20rMTI+PjJdfDApPT0oY1ttKzE2Pj4yXXwwKSl7aWYoKERjW2NbKGNbbT4+Ml18MCkr
MzY+PjJdJjEyN10obSl8MCk9PS0xKXtjW2U+PjJdPTA7cz0wO2JyZWFrfWVsc2V7cz1jW2U+PjJd
fDA7YnJlYWt9fWVsc2V7cz1tfX1lbHNle3M9MH19d2hpbGUoMCk7bT0oc3wwKT09MDtkb3tpZigo
bnwwKSE9MCl7aWYoKGNbbisxMj4+Ml18MCk9PShjW24rMTY+PjJdfDApPyhEY1tjWyhjW24+PjJd
fDApKzM2Pj4yXSYxMjddKG4pfDApPT0tMTowKXtjW2Y+PjJdPTA7bz0zMjticmVha31pZihtKXtp
PWE7cmV0dXJufX1lbHNle289MzJ9fXdoaWxlKDApO2lmKChvfDApPT0zMj8hbTowKXtpPWE7cmV0
dXJufWNbZz4+Ml09Y1tnPj4yXXwyO2k9YTtyZXR1cm59ZnVuY3Rpb24gQ2ooYSxiLGUsZixnKXth
PWF8MDtiPWJ8MDtlPWV8MDtmPWZ8MDtnPWd8MDt2YXIgaD0wLGo9MCxrPTAsbD0wLG09MCxuPTA7
YT1pO2g9Y1tiPj4yXXwwO2Rve2lmKChofDApIT0wKXtpZigoY1toKzEyPj4yXXwwKT09KGNbaCsx
Nj4+Ml18MCkpe2lmKChEY1tjWyhjW2g+PjJdfDApKzM2Pj4yXSYxMjddKGgpfDApPT0tMSl7Y1ti
Pj4yXT0wO2o9MDticmVha31lbHNle2o9Y1tiPj4yXXwwO2JyZWFrfX1lbHNle2o9aH19ZWxzZXtq
PTB9fXdoaWxlKDApO2g9KGp8MCk9PTA7aj1jW2U+PjJdfDA7ZG97aWYoKGp8MCkhPTApe2lmKChj
W2orMTI+PjJdfDApPT0oY1tqKzE2Pj4yXXwwKT8oRGNbY1soY1tqPj4yXXwwKSszNj4+Ml0mMTI3
XShqKXwwKT09LTE6MCl7Y1tlPj4yXT0wO2s9MTE7YnJlYWt9aWYoaCl7bD1qfWVsc2V7az0xMn19
ZWxzZXtrPTExfX13aGlsZSgwKTtpZigoa3wwKT09MTEpe2lmKGgpe2s9MTJ9ZWxzZXtsPTB9fWlm
KChrfDApPT0xMil7Y1tmPj4yXT1jW2Y+PjJdfDY7aT1hO3JldHVybn1oPWNbYj4+Ml18MDtqPWNb
aCsxMj4+Ml18MDtpZigoanwwKT09KGNbaCsxNj4+Ml18MCkpe209RGNbY1soY1toPj4yXXwwKSsz
Nj4+Ml0mMTI3XShoKXwwfWVsc2V7bT1kW2pdfDB9aWYoISgodmNbY1soY1tnPj4yXXwwKSszNj4+
Ml0mMzFdKGcsbSYyNTUsMCl8MCk8PDI0Pj4yND09MzcpKXtjW2Y+PjJdPWNbZj4+Ml18NDtpPWE7
cmV0dXJufW09Y1tiPj4yXXwwO2c9bSsxMnwwO2o9Y1tnPj4yXXwwO2lmKChqfDApPT0oY1ttKzE2
Pj4yXXwwKSl7RGNbY1soY1ttPj4yXXwwKSs0MD4+Ml0mMTI3XShtKXwwfWVsc2V7Y1tnPj4yXT1q
KzF9aj1jW2I+PjJdfDA7ZG97aWYoKGp8MCkhPTApe2lmKChjW2orMTI+PjJdfDApPT0oY1tqKzE2
Pj4yXXwwKSl7aWYoKERjW2NbKGNbaj4+Ml18MCkrMzY+PjJdJjEyN10oail8MCk9PS0xKXtjW2I+
PjJdPTA7bj0wO2JyZWFrfWVsc2V7bj1jW2I+PjJdfDA7YnJlYWt9fWVsc2V7bj1qfX1lbHNle249
MH19d2hpbGUoMCk7aj0obnwwKT09MDtkb3tpZigobHwwKSE9MCl7aWYoKGNbbCsxMj4+Ml18MCk9
PShjW2wrMTY+PjJdfDApPyhEY1tjWyhjW2w+PjJdfDApKzM2Pj4yXSYxMjddKGwpfDApPT0tMTow
KXtjW2U+PjJdPTA7az0zMTticmVha31pZihqKXtpPWE7cmV0dXJufX1lbHNle2s9MzF9fXdoaWxl
KDApO2lmKChrfDApPT0zMT8hajowKXtpPWE7cmV0dXJufWNbZj4+Ml09Y1tmPj4yXXwyO2k9YTty
ZXR1cm59ZnVuY3Rpb24gRGooYSxlLGYsZyxoKXthPWF8MDtlPWV8MDtmPWZ8MDtnPWd8MDtoPWh8
MDt2YXIgaj0wLGs9MCxsPTAsbT0wLG49MCxvPTAscD0wLHE9MCxyPTAscz0wLHQ9MCx1PTAsdj0w
LHc9MCx4PTAseT0wLHo9MCxBPTAsQj0wLEM9MDtqPWk7az1jW2E+PjJdfDA7ZG97aWYoKGt8MCkh
PTApe2lmKChjW2srMTI+PjJdfDApPT0oY1trKzE2Pj4yXXwwKSl7aWYoKERjW2NbKGNbaz4+Ml18
MCkrMzY+PjJdJjEyN10oayl8MCk9PS0xKXtjW2E+PjJdPTA7bD0wO2JyZWFrfWVsc2V7bD1jW2E+
PjJdfDA7YnJlYWt9fWVsc2V7bD1rfX1lbHNle2w9MH19d2hpbGUoMCk7az0obHwwKT09MDtsPWNb
ZT4+Ml18MDtkb3tpZigobHwwKSE9MCl7aWYoKGNbbCsxMj4+Ml18MCk9PShjW2wrMTY+PjJdfDAp
PyhEY1tjWyhjW2w+PjJdfDApKzM2Pj4yXSYxMjddKGwpfDApPT0tMTowKXtjW2U+PjJdPTA7bT0x
MTticmVha31pZihrKXtuPWx9ZWxzZXttPTEyfX1lbHNle209MTF9fXdoaWxlKDApO2lmKChtfDAp
PT0xMSl7aWYoayl7bT0xMn1lbHNle249MH19aWYoKG18MCk9PTEyKXtjW2Y+PjJdPWNbZj4+Ml18
NjtvPTA7aT1qO3JldHVybiBvfDB9az1jW2E+PjJdfDA7bD1jW2srMTI+PjJdfDA7aWYoKGx8MCk9
PShjW2srMTY+PjJdfDApKXtwPURjW2NbKGNbaz4+Ml18MCkrMzY+PjJdJjEyN10oayl8MH1lbHNl
e3A9ZFtsXXwwfWw9cCYyNTU7aWYobDw8MjQ+PjI0Pi0xPyhrPWcrOHwwLCEoKGJbKGNbaz4+Ml18
MCkrKHA8PDI0Pj4yNDw8MSk+PjFdJjIwNDgpPT0wKSk6MCl7cD0odmNbY1soY1tnPj4yXXwwKSsz
Nj4+Ml0mMzFdKGcsbCwwKXwwKTw8MjQ+PjI0O2w9Y1thPj4yXXwwO3E9bCsxMnwwO3I9Y1txPj4y
XXwwO2lmKChyfDApPT0oY1tsKzE2Pj4yXXwwKSl7RGNbY1soY1tsPj4yXXwwKSs0MD4+Ml0mMTI3
XShsKXwwO3M9aDt0PW47dT1uO3Y9cH1lbHNle2NbcT4+Ml09cisxO3M9aDt0PW47dT1uO3Y9cH13
aGlsZSgxKXt3PXYrIC00OHwwO3A9cysgLTF8MDtuPWNbYT4+Ml18MDtkb3tpZigobnwwKSE9MCl7
aWYoKGNbbisxMj4+Ml18MCk9PShjW24rMTY+PjJdfDApKXtpZigoRGNbY1soY1tuPj4yXXwwKSsz
Nj4+Ml0mMTI3XShuKXwwKT09LTEpe2NbYT4+Ml09MDt4PTA7YnJlYWt9ZWxzZXt4PWNbYT4+Ml18
MDticmVha319ZWxzZXt4PW59fWVsc2V7eD0wfX13aGlsZSgwKTtuPSh4fDApPT0wO2lmKCh1fDAp
IT0wKXtpZigoY1t1KzEyPj4yXXwwKT09KGNbdSsxNj4+Ml18MCkpe2lmKChEY1tjWyhjW3U+PjJd
fDApKzM2Pj4yXSYxMjddKHUpfDApPT0tMSl7Y1tlPj4yXT0wO3k9MDt6PTB9ZWxzZXt5PXQ7ej10
fX1lbHNle3k9dDt6PXV9fWVsc2V7eT10O3o9MH1BPWNbYT4+Ml18MDtpZighKChuXih6fDApPT0w
KSYocHwwKT4wKSl7bT00MDticmVha31uPWNbQSsxMj4+Ml18MDtpZigobnwwKT09KGNbQSsxNj4+
Ml18MCkpe0I9RGNbY1soY1tBPj4yXXwwKSszNj4+Ml0mMTI3XShBKXwwfWVsc2V7Qj1kW25dfDB9
bj1CJjI1NTtpZighKG48PDI0Pj4yND4tMSkpe289dzttPTUyO2JyZWFrfWlmKChiWyhjW2s+PjJd
fDApKyhCPDwyND4+MjQ8PDEpPj4xXSYyMDQ4KT09MCl7bz13O209NTI7YnJlYWt9aD0oKHZjW2Nb
KGNbZz4+Ml18MCkrMzY+PjJdJjMxXShnLG4sMCl8MCk8PDI0Pj4yNCkrKHcqMTB8MCl8MDtuPWNb
YT4+Ml18MDtyPW4rMTJ8MDtxPWNbcj4+Ml18MDtpZigocXwwKT09KGNbbisxNj4+Ml18MCkpe0Rj
W2NbKGNbbj4+Ml18MCkrNDA+PjJdJjEyN10obil8MDtzPXA7dD15O3U9ejt2PWg7Y29udGludWV9
ZWxzZXtjW3I+PjJdPXErMTtzPXA7dD15O3U9ejt2PWg7Y29udGludWV9fWlmKChtfDApPT00MCl7
ZG97aWYoKEF8MCkhPTApe2lmKChjW0ErMTI+PjJdfDApPT0oY1tBKzE2Pj4yXXwwKSl7aWYoKERj
W2NbKGNbQT4+Ml18MCkrMzY+PjJdJjEyN10oQSl8MCk9PS0xKXtjW2E+PjJdPTA7Qz0wO2JyZWFr
fWVsc2V7Qz1jW2E+PjJdfDA7YnJlYWt9fWVsc2V7Qz1BfX1lbHNle0M9MH19d2hpbGUoMCk7QT0o
Q3wwKT09MDtkb3tpZigoeXwwKSE9MCl7aWYoKGNbeSsxMj4+Ml18MCk9PShjW3krMTY+PjJdfDAp
PyhEY1tjWyhjW3k+PjJdfDApKzM2Pj4yXSYxMjddKHkpfDApPT0tMTowKXtjW2U+PjJdPTA7bT01
MDticmVha31pZihBKXtvPXc7aT1qO3JldHVybiBvfDB9fWVsc2V7bT01MH19d2hpbGUoMCk7aWYo
KG18MCk9PTUwPyFBOjApe289dztpPWo7cmV0dXJuIG98MH1jW2Y+PjJdPWNbZj4+Ml18MjtvPXc7
aT1qO3JldHVybiBvfDB9ZWxzZSBpZigobXwwKT09NTIpe2k9ajtyZXR1cm4gb3wwfX1jW2Y+PjJd
PWNbZj4+Ml18NDtvPTA7aT1qO3JldHVybiBvfDB9ZnVuY3Rpb24gRWooYSxiLGQsZSxmLGcsaCxq
LGspe2E9YXwwO2I9YnwwO2Q9ZHwwO2U9ZXwwO2Y9ZnwwO2c9Z3wwO2g9aHwwO2o9anwwO2s9a3ww
O3ZhciBsPTAsbT0wLG49MCxvPTAscD0wLHE9MCxyPTAscz0wLHQ9MCx1PTAsdj0wLHc9MCx4PTAs
eT0wLHo9MCxBPTAsQj0wLEM9MCxEPTAsRT0wLEY9MCxHPTAsSD0wLEk9MCxKPTAsSz0wLEw9MCxN
PTAsTj0wLE89MCxQPTAsUT0wLFI9MCxTPTAsVD0wLFU9MCxWPTAsVz0wLFg9MCxZPTAsWj0wLF89
MCwkPTA7bD1pO2k9aSszMnwwO209bDtuPWwrMjh8MDtvPWwrMjR8MDtwPWwrMjB8MDtxPWwrMTZ8
MDtyPWwrMTJ8MDt6ZyhvLGYpO3M9Y1tvPj4yXXwwO2lmKCEoKGNbMjk5Nl18MCk9PS0xKSl7Y1tt
Pj4yXT0xMTk4NDtjW20rND4+Ml09MTM0O2NbbSs4Pj4yXT0wOyRmKDExOTg0LG0sMTM1KX10PShj
WzExOTg4Pj4yXXwwKSsgLTF8MDt1PWNbcys4Pj4yXXwwO2lmKCEoKGNbcysxMj4+Ml18MCktdT4+
Mj4+PjA+dD4+PjApKXt2PURiKDQpfDA7JG4odik7cGModnwwLDE5OTUyLDEyMyl9cz1jW3UrKHQ8
PDIpPj4yXXwwO2lmKChzfDApPT0wKXt2PURiKDQpfDA7JG4odik7cGModnwwLDE5OTUyLDEyMyl9
SGYoY1tvPj4yXXwwKXwwO2NbZz4+Ml09MDthOmRve2lmKChqfDApIT0oa3wwKSl7bz1qO3Y9MDti
OndoaWxlKDEpe3Q9djt3aGlsZSgxKXtpZigodHwwKSE9MCl7dz02OTticmVhayBhfXU9Y1tkPj4y
XXwwO2lmKCh1fDApIT0wKXt4PWNbdSsxMj4+Ml18MDtpZigoeHwwKT09KGNbdSsxNj4+Ml18MCkp
e3k9RGNbY1soY1t1Pj4yXXwwKSszNj4+Ml0mMTI3XSh1KXwwfWVsc2V7eT1jW3g+PjJdfDB9aWYo
KHl8MCk9PS0xKXtjW2Q+PjJdPTA7ej0xO0E9MH1lbHNle3o9MDtBPXV9fWVsc2V7ej0xO0E9MH11
PWNbZT4+Ml18MDtkb3tpZigodXwwKSE9MCl7eD1jW3UrMTI+PjJdfDA7aWYoKHh8MCk9PShjW3Ur
MTY+PjJdfDApKXtCPURjW2NbKGNbdT4+Ml18MCkrMzY+PjJdJjEyN10odSl8MH1lbHNle0I9Y1t4
Pj4yXXwwfWlmKCEoKEJ8MCk9PS0xKSl7aWYoeil7Qz11O2JyZWFrfWVsc2V7dz0yNDticmVhayBi
fX1lbHNle2NbZT4+Ml09MDt3PTIyO2JyZWFrfX1lbHNle3c9MjJ9fXdoaWxlKDApO2lmKCh3fDAp
PT0yMil7dz0wO2lmKHope3c9MjQ7YnJlYWsgYn1lbHNle0M9MH19aWYoKHZjW2NbKGNbcz4+Ml18
MCkrNTI+PjJdJjMxXShzLGNbbz4+Ml18MCwwKXwwKTw8MjQ+PjI0PT0zNyl7dz0yNjticmVha31p
Zih2Y1tjWyhjW3M+PjJdfDApKzEyPj4yXSYzMV0ocyw4MTkyLGNbbz4+Ml18MCl8MCl7RD1vO3c9
MzY7YnJlYWt9RT1BKzEyfDA7dT1jW0U+PjJdfDA7Rj1BKzE2fDA7aWYoKHV8MCk9PShjW0Y+PjJd
fDApKXtHPURjW2NbKGNbQT4+Ml18MCkrMzY+PjJdJjEyN10oQSl8MH1lbHNle0c9Y1t1Pj4yXXww
fXU9TWNbY1soY1tzPj4yXXwwKSsyOD4+Ml0mMzFdKHMsRyl8MDtpZigodXwwKT09KE1jW2NbKGNb
cz4+Ml18MCkrMjg+PjJdJjMxXShzLGNbbz4+Ml18MCl8MCkpe3c9NjQ7YnJlYWt9Y1tnPj4yXT00
O3Q9NH1jOmRve2lmKCh3fDApPT0yNil7dz0wO3Q9bys0fDA7aWYoKHR8MCk9PShrfDApKXt3PTI3
O2JyZWFrIGJ9dT12Y1tjWyhjW3M+PjJdfDApKzUyPj4yXSYzMV0ocyxjW3Q+PjJdfDAsMCl8MDtp
Zih1PDwyND4+MjQ9PTQ4fHU8PDI0Pj4yND09Njkpe3g9bys4fDA7aWYoKHh8MCk9PShrfDApKXt3
PTMwO2JyZWFrIGJ9SD14O0k9dmNbY1soY1tzPj4yXXwwKSs1Mj4+Ml0mMzFdKHMsY1t4Pj4yXXww
LDApfDA7Sj11fWVsc2V7SD10O0k9dTtKPTB9dT1jWyhjW2I+PjJdfDApKzM2Pj4yXXwwO2NbcT4+
Ml09QTtjW3I+PjJdPUM7Y1tuKzA+PjJdPWNbcSswPj4yXTtjW20rMD4+Ml09Y1tyKzA+PjJdO0Nj
W3UmM10ocCxiLG4sbSxmLGcsaCxJLEopO2NbZD4+Ml09Y1twPj4yXTtLPUgrNHwwfWVsc2UgaWYo
KHd8MCk9PTM2KXt3aGlsZSgxKXt3PTA7dT1EKzR8MDtpZigodXwwKT09KGt8MCkpe0w9azticmVh
a31pZih2Y1tjWyhjW3M+PjJdfDApKzEyPj4yXSYzMV0ocyw4MTkyLGNbdT4+Ml18MCl8MCl7RD11
O3c9MzZ9ZWxzZXtMPXU7YnJlYWt9fXU9QTt0PUM7eD1DO3doaWxlKDEpe2lmKCh1fDApIT0wKXtN
PWNbdSsxMj4+Ml18MDtpZigoTXwwKT09KGNbdSsxNj4+Ml18MCkpe049RGNbY1soY1t1Pj4yXXww
KSszNj4+Ml0mMTI3XSh1KXwwfWVsc2V7Tj1jW00+PjJdfDB9aWYoKE58MCk9PS0xKXtjW2Q+PjJd
PTA7Tz0xO1A9MH1lbHNle089MDtQPXV9fWVsc2V7Tz0xO1A9MH1kb3tpZigoeHwwKSE9MCl7TT1j
W3grMTI+PjJdfDA7aWYoKE18MCk9PShjW3grMTY+PjJdfDApKXtRPURjW2NbKGNbeD4+Ml18MCkr
MzY+PjJdJjEyN10oeCl8MH1lbHNle1E9Y1tNPj4yXXwwfWlmKCEoKFF8MCk9PS0xKSl7aWYoT14o
dHwwKT09MCl7Uj10O1M9dDticmVha31lbHNle0s9TDticmVhayBjfX1lbHNle2NbZT4+Ml09MDtU
PTA7dz01MTticmVha319ZWxzZXtUPXQ7dz01MX19d2hpbGUoMCk7aWYoKHd8MCk9PTUxKXt3PTA7
aWYoTyl7Sz1MO2JyZWFrIGN9ZWxzZXtSPVQ7Uz0wfX1NPVArMTJ8MDtVPWNbTT4+Ml18MDtWPVAr
MTZ8MDtpZigoVXwwKT09KGNbVj4+Ml18MCkpe1c9RGNbY1soY1tQPj4yXXwwKSszNj4+Ml0mMTI3
XShQKXwwfWVsc2V7Vz1jW1U+PjJdfDB9aWYoISh2Y1tjWyhjW3M+PjJdfDApKzEyPj4yXSYzMV0o
cyw4MTkyLFcpfDApKXtLPUw7YnJlYWsgY31VPWNbTT4+Ml18MDtpZigoVXwwKT09KGNbVj4+Ml18
MCkpe0RjW2NbKGNbUD4+Ml18MCkrNDA+PjJdJjEyN10oUCl8MDt1PVA7dD1SO3g9Uztjb250aW51
ZX1lbHNle2NbTT4+Ml09VSs0O3U9UDt0PVI7eD1TO2NvbnRpbnVlfX19ZWxzZSBpZigod3wwKT09
NjQpe3c9MDt4PWNbRT4+Ml18MDtpZigoeHwwKT09KGNbRj4+Ml18MCkpe0RjW2NbKGNbQT4+Ml18
MCkrNDA+PjJdJjEyN10oQSl8MH1lbHNle2NbRT4+Ml09eCs0fUs9bys0fDB9fXdoaWxlKDApO2lm
KChLfDApPT0oa3wwKSl7dz02OTticmVhayBhfW89Szt2PWNbZz4+Ml18MH1pZigod3wwKT09MjQp
e2NbZz4+Ml09NDtYPUE7YnJlYWt9ZWxzZSBpZigod3wwKT09Mjcpe2NbZz4+Ml09NDtYPUE7YnJl
YWt9ZWxzZSBpZigod3wwKT09MzApe2NbZz4+Ml09NDtYPUE7YnJlYWt9fWVsc2V7dz02OX19d2hp
bGUoMCk7aWYoKHd8MCk9PTY5KXtYPWNbZD4+Ml18MH1pZigoWHwwKSE9MCl7QT1jW1grMTI+PjJd
fDA7aWYoKEF8MCk9PShjW1grMTY+PjJdfDApKXtZPURjW2NbKGNbWD4+Ml18MCkrMzY+PjJdJjEy
N10oWCl8MH1lbHNle1k9Y1tBPj4yXXwwfWlmKChZfDApPT0tMSl7Y1tkPj4yXT0wO1o9MDtfPTF9
ZWxzZXtaPVg7Xz0wfX1lbHNle1o9MDtfPTF9WD1jW2U+PjJdfDA7ZG97aWYoKFh8MCkhPTApe2Q9
Y1tYKzEyPj4yXXwwO2lmKChkfDApPT0oY1tYKzE2Pj4yXXwwKSl7JD1EY1tjWyhjW1g+PjJdfDAp
KzM2Pj4yXSYxMjddKFgpfDB9ZWxzZXskPWNbZD4+Ml18MH1pZigoJHwwKT09LTEpe2NbZT4+Ml09
MDt3PTgyO2JyZWFrfWlmKF8pe2NbYT4+Ml09WjtpPWw7cmV0dXJufX1lbHNle3c9ODJ9fXdoaWxl
KDApO2lmKCh3fDApPT04Mj8hXzowKXtjW2E+PjJdPVo7aT1sO3JldHVybn1jW2c+PjJdPWNbZz4+
Ml18MjtjW2E+PjJdPVo7aT1sO3JldHVybn1mdW5jdGlvbiBGaihhKXthPWF8MDt2YXIgYj0wO2I9
aTtDbyhhKTtpPWI7cmV0dXJufWZ1bmN0aW9uIEdqKGEpe2E9YXwwO3JldHVybn1mdW5jdGlvbiBI
aihhKXthPWF8MDtyZXR1cm4gMn1mdW5jdGlvbiBJaihhLGIsZCxlLGYsZyxoKXthPWF8MDtiPWJ8
MDtkPWR8MDtlPWV8MDtmPWZ8MDtnPWd8MDtoPWh8MDt2YXIgaj0wLGs9MCxsPTAsbT0wLG49MDtq
PWk7aT1pKzE2fDA7az1qKzEyfDA7bD1qKzh8MDttPWorNHwwO249ajtjW20+PjJdPWNbZD4+Ml07
Y1tuPj4yXT1jW2U+PjJdO2NbbCswPj4yXT1jW20rMD4+Ml07Y1trKzA+PjJdPWNbbiswPj4yXTtF
aihhLGIsbCxrLGYsZyxoLDExMDQ4LDExMDgwfDApO2k9ajtyZXR1cm59ZnVuY3Rpb24gSmooYixk
LGUsZixnLGgsail7Yj1ifDA7ZD1kfDA7ZT1lfDA7Zj1mfDA7Zz1nfDA7aD1ofDA7aj1qfDA7dmFy
IGs9MCxsPTAsbT0wLG49MCxvPTAscD0wLHE9MCxyPTAscz0wLHQ9MDtrPWk7aT1pKzE2fDA7bD1r
KzEyfDA7bT1rKzh8MDtuPWsrNHwwO289aztwPWQrOHwwO3E9RGNbY1soY1twPj4yXXwwKSsyMD4+
Ml0mMTI3XShwKXwwO2Nbbj4+Ml09Y1tlPj4yXTtjW28+PjJdPWNbZj4+Ml07Zj1hW3FdfDA7aWYo
KGYmMSk9PTApe3I9cSs0fDA7cz0oZiYyNTUpPj4+MTt0PXErNHwwfWVsc2V7Zj1jW3ErOD4+Ml18
MDtyPWY7cz1jW3ErND4+Ml18MDt0PWZ9Zj1yKyhzPDwyKXwwO2NbbSswPj4yXT1jW24rMD4+Ml07
Y1tsKzA+PjJdPWNbbyswPj4yXTtFaihiLGQsbSxsLGcsaCxqLHQsZik7aT1rO3JldHVybn1mdW5j
dGlvbiBLaihhLGIsZCxlLGYsZyxoKXthPWF8MDtiPWJ8MDtkPWR8MDtlPWV8MDtmPWZ8MDtnPWd8
MDtoPWh8MDt2YXIgaj0wLGs9MCxsPTAsbT0wLG49MCxvPTAscD0wLHE9MDtqPWk7aT1pKzMyfDA7
az1qO2w9aisxNnwwO209aisxMnwwO3pnKG0sZik7Zj1jW20+PjJdfDA7aWYoISgoY1syOTk2XXww
KT09LTEpKXtjW2s+PjJdPTExOTg0O2Nbays0Pj4yXT0xMzQ7Y1trKzg+PjJdPTA7JGYoMTE5ODQs
aywxMzUpfW49KGNbMTE5ODg+PjJdfDApKyAtMXwwO289Y1tmKzg+PjJdfDA7aWYoISgoY1tmKzEy
Pj4yXXwwKS1vPj4yPj4+MD5uPj4+MCkpe3A9RGIoNCl8MDskbihwKTtwYyhwfDAsMTk5NTIsMTIz
KX1mPWNbbysobjw8Mik+PjJdfDA7aWYoKGZ8MCk9PTApe3A9RGIoNCl8MDskbihwKTtwYyhwfDAs
MTk5NTIsMTIzKX1IZihjW20+PjJdfDApfDA7bT1jW2U+PjJdfDA7ZT1iKzh8MDtiPURjW2NbY1tl
Pj4yXT4+Ml0mMTI3XShlKXwwO2NbbD4+Ml09bTttPWIrMTY4fDA7Y1trKzA+PjJdPWNbbCswPj4y
XTtsPShyaShkLGssYixtLGYsZywwKXwwKS1ifDA7aWYoKGx8MCk+PTE2OCl7cT1jW2Q+PjJdfDA7
Y1thPj4yXT1xO2k9ajtyZXR1cm59Y1toKzI0Pj4yXT0oKGx8MCkvMTJ8MHwwKSU3fDA7cT1jW2Q+
PjJdfDA7Y1thPj4yXT1xO2k9ajtyZXR1cm59ZnVuY3Rpb24gTGooYSxiLGQsZSxmLGcsaCl7YT1h
fDA7Yj1ifDA7ZD1kfDA7ZT1lfDA7Zj1mfDA7Zz1nfDA7aD1ofDA7dmFyIGo9MCxrPTAsbD0wLG09
MCxuPTAsbz0wLHA9MCxxPTA7aj1pO2k9aSszMnwwO2s9ajtsPWorMTZ8MDttPWorMTJ8MDt6Zyht
LGYpO2Y9Y1ttPj4yXXwwO2lmKCEoKGNbMjk5Nl18MCk9PS0xKSl7Y1trPj4yXT0xMTk4NDtjW2sr
ND4+Ml09MTM0O2Nbays4Pj4yXT0wOyRmKDExOTg0LGssMTM1KX1uPShjWzExOTg4Pj4yXXwwKSsg
LTF8MDtvPWNbZis4Pj4yXXwwO2lmKCEoKGNbZisxMj4+Ml18MCktbz4+Mj4+PjA+bj4+PjApKXtw
PURiKDQpfDA7JG4ocCk7cGMocHwwLDE5OTUyLDEyMyl9Zj1jW28rKG48PDIpPj4yXXwwO2lmKChm
fDApPT0wKXtwPURiKDQpfDA7JG4ocCk7cGMocHwwLDE5OTUyLDEyMyl9SGYoY1ttPj4yXXwwKXww
O209Y1tlPj4yXXwwO2U9Yis4fDA7Yj1EY1tjWyhjW2U+PjJdfDApKzQ+PjJdJjEyN10oZSl8MDtj
W2w+PjJdPW07bT1iKzI4OHwwO2NbayswPj4yXT1jW2wrMD4+Ml07bD0ocmkoZCxrLGIsbSxmLGcs
MCl8MCktYnwwO2lmKChsfDApPj0yODgpe3E9Y1tkPj4yXXwwO2NbYT4+Ml09cTtpPWo7cmV0dXJu
fWNbaCsxNj4+Ml09KChsfDApLzEyfDB8MCklMTJ8MDtxPWNbZD4+Ml18MDtjW2E+PjJdPXE7aT1q
O3JldHVybn1mdW5jdGlvbiBNaihhLGIsZCxlLGYsZyxoKXthPWF8MDtiPWJ8MDtkPWR8MDtlPWV8
MDtmPWZ8MDtnPWd8MDtoPWh8MDt2YXIgaj0wLGs9MCxsPTAsbT0wLG49MCxvPTAscD0wLHE9MDti
PWk7aT1pKzMyfDA7aj1iO2s9YisxNnwwO2w9YisxMnwwO3pnKGwsZik7Zj1jW2w+PjJdfDA7aWYo
ISgoY1syOTk2XXwwKT09LTEpKXtjW2o+PjJdPTExOTg0O2Nbais0Pj4yXT0xMzQ7Y1tqKzg+PjJd
PTA7JGYoMTE5ODQsaiwxMzUpfW09KGNbMTE5ODg+PjJdfDApKyAtMXwwO249Y1tmKzg+PjJdfDA7
aWYoISgoY1tmKzEyPj4yXXwwKS1uPj4yPj4+MD5tPj4+MCkpe289RGIoNCl8MDskbihvKTtwYyhv
fDAsMTk5NTIsMTIzKX1mPWNbbisobTw8Mik+PjJdfDA7aWYoKGZ8MCk9PTApe289RGIoNCl8MDsk
bihvKTtwYyhvfDAsMTk5NTIsMTIzKX1IZihjW2w+PjJdfDApfDA7bD1oKzIwfDA7Y1trPj4yXT1j
W2U+PjJdO2NbaiswPj4yXT1jW2srMD4+Ml07az1RaihkLGosZyxmLDQpfDA7aWYoKGNbZz4+Ml0m
NHwwKSE9MCl7cD1jW2Q+PjJdfDA7Y1thPj4yXT1wO2k9YjtyZXR1cm59aWYoKGt8MCk8Njkpe3E9
aysyZTN8MH1lbHNle3E9KGsrIC02OXwwKT4+PjA8MzE/aysxOTAwfDA6a31jW2w+PjJdPXErIC0x
OTAwO3A9Y1tkPj4yXXwwO2NbYT4+Ml09cDtpPWI7cmV0dXJufWZ1bmN0aW9uIE5qKGIsZCxlLGYs
ZyxoLGosayxsKXtiPWJ8MDtkPWR8MDtlPWV8MDtmPWZ8MDtnPWd8MDtoPWh8MDtqPWp8MDtrPWt8
MDtsPWx8MDt2YXIgbT0wLG49MCxvPTAscD0wLHE9MCxyPTAscz0wLHQ9MCx1PTAsdj0wLHc9MCx4
PTAseT0wLHo9MCxBPTAsQj0wLEM9MCxEPTAsRT0wLEY9MCxHPTAsSD0wLEk9MCxKPTAsSz0wLEw9
MCxNPTAsTj0wLE89MCxQPTAsUT0wLFI9MCxTPTAsVD0wLFU9MCxWPTAsVz0wLFg9MCxZPTAsWj0w
LF89MCwkPTAsYWE9MCxiYT0wLGNhPTAsZGE9MCxlYT0wLGZhPTAsZ2E9MCxoYT0wLGlhPTAsamE9
MCxrYT0wO2w9aTtpPWkrMTc2fDA7bT1sO249bCsxMnwwO289bCsxNnwwO3A9bCsxMjB8MDtxPWwr
MjR8MDtyPWwrMjB8MDtzPWwrMTI0fDA7dD1sKzExNnwwO3U9bCs1MnwwO3Y9bCsyOHwwO3c9bCsz
MnwwO3g9bCszNnwwO3k9bCs0MHwwO3o9bCs0NHwwO0E9bCs0OHwwO0I9bCsxMTJ8MDtDPWwrMTA4
fDA7RD1sKzU2fDA7RT1sKzYwfDA7Rj1sKzY0fDA7Rz1sKzY4fDA7SD1sKzcyfDA7ST1sKzc2fDA7
Sj1sKzgwfDA7Sz1sKzg0fDA7TD1sKzg4fDA7TT1sKzkyfDA7Tj1sKzk2fDA7Tz1sKzEwMHwwO1A9
bCsxMDR8MDtRPWwrMTI4fDA7Uj1sKzEzMnwwO1M9bCsxMzZ8MDtUPWwrMTQwfDA7VT1sKzE0NHww
O1Y9bCsxNDh8MDtXPWwrMTUyfDA7WD1sKzE1NnwwO1k9bCsxNjB8MDtaPWwrMTY0fDA7Y1toPj4y
XT0wO3pnKEEsZyk7Xz1jW0E+PjJdfDA7aWYoISgoY1syOTk2XXwwKT09LTEpKXtjW20+PjJdPTEx
OTg0O2NbbSs0Pj4yXT0xMzQ7Y1ttKzg+PjJdPTA7JGYoMTE5ODQsbSwxMzUpfSQ9KGNbMTE5ODg+
PjJdfDApKyAtMXwwO2FhPWNbXys4Pj4yXXwwO2lmKCEoKGNbXysxMj4+Ml18MCktYWE+PjI+Pj4w
PiQ+Pj4wKSl7YmE9RGIoNCl8MDskbihiYSk7cGMoYmF8MCwxOTk1MiwxMjMpfV89Y1thYSsoJDw8
Mik+PjJdfDA7aWYoKF98MCk9PTApe2JhPURiKDQpfDA7JG4oYmEpO3BjKGJhfDAsMTk5NTIsMTIz
KX1IZihjW0E+PjJdfDApfDA7YTpkb3tzd2l0Y2goazw8MjQ+PjI0fDApe2Nhc2UgMTA0OmNhc2Ug
NjY6Y2FzZSA5ODp7QT1jW2Y+PjJdfDA7YmE9ZCs4fDA7JD1EY1tjWyhjW2JhPj4yXXwwKSs0Pj4y
XSYxMjddKGJhKXwwO2NbeT4+Ml09QTtjW20rMD4+Ml09Y1t5KzA+PjJdO0E9KHJpKGUsbSwkLCQr
Mjg4fDAsXyxoLDApfDApLSR8MDtpZigoQXwwKTwyODgpe2NbaisxNj4+Ml09KChBfDApLzEyfDB8
MCklMTJ8MH1icmVha307Y2FzZSA5OTp7QT1kKzh8MDskPURjW2NbKGNbQT4+Ml18MCkrMTI+PjJd
JjEyN10oQSl8MDtjW0M+PjJdPWNbZT4+Ml07Y1tEPj4yXT1jW2Y+PjJdO0E9YVskXXwwO2lmKChB
JjEpPT0wKXtjYT0kKzR8MDtkYT0oQSYyNTUpPj4+MTtlYT0kKzR8MH1lbHNle0E9Y1skKzg+PjJd
fDA7Y2E9QTtkYT1jWyQrND4+Ml18MDtlYT1BfWNbbiswPj4yXT1jW0MrMD4+Ml07Y1ttKzA+PjJd
PWNbRCswPj4yXTtFaihCLGQsbixtLGcsaCxqLGVhLGNhKyhkYTw8Mil8MCk7Y1tlPj4yXT1jW0I+
PjJdO2JyZWFrfTtjYXNlIDcyOntjW3c+PjJdPWNbZj4+Ml07Y1ttKzA+PjJdPWNbdyswPj4yXTtB
PVFqKGUsbSxoLF8sMil8MDskPWNbaD4+Ml18MDtpZigoJCY0fDApPT0wJihBfDApPDI0KXtjW2or
OD4+Ml09QTticmVhayBhfWVsc2V7Y1toPj4yXT0kfDQ7YnJlYWsgYX1icmVha307Y2FzZSA2NTpj
YXNlIDk3OnskPWNbZj4+Ml18MDtBPWQrOHwwO2JhPURjW2NbY1tBPj4yXT4+Ml0mMTI3XShBKXww
O2Nbej4+Ml09JDtjW20rMD4+Ml09Y1t6KzA+PjJdOyQ9KHJpKGUsbSxiYSxiYSsxNjh8MCxfLGgs
MCl8MCktYmF8MDtpZigoJHwwKTwxNjgpe2NbaisyND4+Ml09KCgkfDApLzEyfDB8MCklN3wwfWJy
ZWFrfTtjYXNlIDczOnskPWorOHwwO2Nbdj4+Ml09Y1tmPj4yXTtjW20rMD4+Ml09Y1t2KzA+PjJd
O2JhPVFqKGUsbSxoLF8sMil8MDtBPWNbaD4+Ml18MDtpZigoQSY0fDApPT0wPyhiYSsgLTF8MCk+
Pj4wPDEyOjApe2NbJD4+Ml09YmE7YnJlYWsgYX1jW2g+PjJdPUF8NDticmVha307Y2FzZSA3Nzp7
Y1tzPj4yXT1jW2Y+PjJdO2NbbSswPj4yXT1jW3MrMD4+Ml07QT1RaihlLG0saCxfLDIpfDA7YmE9
Y1toPj4yXXwwO2lmKChiYSY0fDApPT0wJihBfDApPDYwKXtjW2orND4+Ml09QTticmVhayBhfWVs
c2V7Y1toPj4yXT1iYXw0O2JyZWFrIGF9YnJlYWt9O2Nhc2UgNjg6e2NbRj4+Ml09Y1tlPj4yXTtj
W0c+PjJdPWNbZj4+Ml07Y1tuKzA+PjJdPWNbRiswPj4yXTtjW20rMD4+Ml09Y1tHKzA+PjJdO0Vq
KEUsZCxuLG0sZyxoLGosMTEwODAsMTExMTJ8MCk7Y1tlPj4yXT1jW0U+PjJdO2JyZWFrfTtjYXNl
IDExNjpjYXNlIDExMDp7Y1tLPj4yXT1jW2Y+PjJdO2NbbSswPj4yXT1jW0srMD4+Ml07T2ooMCxl
LG0saCxfKTticmVha307Y2FzZSAxMDY6e2NbdT4+Ml09Y1tmPj4yXTtjW20rMD4+Ml09Y1t1KzA+
PjJdO2JhPVFqKGUsbSxoLF8sMyl8MDtBPWNbaD4+Ml18MDtpZigoQSY0fDApPT0wJihiYXwwKTwz
NjYpe2NbaisyOD4+Ml09YmE7YnJlYWsgYX1lbHNle2NbaD4+Ml09QXw0O2JyZWFrIGF9YnJlYWt9
O2Nhc2UgMTA5OntjW3Q+PjJdPWNbZj4+Ml07Y1ttKzA+PjJdPWNbdCswPj4yXTtBPVFqKGUsbSxo
LF8sMil8MDtiYT1jW2g+PjJdfDA7aWYoKGJhJjR8MCk9PTAmKEF8MCk8MTMpe2NbaisxNj4+Ml09
QSsgLTE7YnJlYWsgYX1lbHNle2NbaD4+Ml09YmF8NDticmVhayBhfWJyZWFrfTtjYXNlIDgyOntj
W1A+PjJdPWNbZT4+Ml07Y1tRPj4yXT1jW2Y+PjJdO2NbbiswPj4yXT1jW1ArMD4+Ml07Y1ttKzA+
PjJdPWNbUSswPj4yXTtFaihPLGQsbixtLGcsaCxqLDExMTkyLDExMjEyfDApO2NbZT4+Ml09Y1tP
Pj4yXTticmVha307Y2FzZSA4Mzp7Y1txPj4yXT1jW2Y+PjJdO2NbbSswPj4yXT1jW3ErMD4+Ml07
YmE9UWooZSxtLGgsXywyKXwwO0E9Y1toPj4yXXwwO2lmKChBJjR8MCk9PTAmKGJhfDApPDYxKXtj
W2o+PjJdPWJhO2JyZWFrIGF9ZWxzZXtjW2g+PjJdPUF8NDticmVhayBhfWJyZWFrfTtjYXNlIDg0
OntjW1M+PjJdPWNbZT4+Ml07Y1tUPj4yXT1jW2Y+PjJdO2NbbiswPj4yXT1jW1MrMD4+Ml07Y1tt
KzA+PjJdPWNbVCswPj4yXTtFaihSLGQsbixtLGcsaCxqLDExMjE2LDExMjQ4fDApO2NbZT4+Ml09
Y1tSPj4yXTticmVha307Y2FzZSAxMTI6e0E9ais4fDA7YmE9Y1tmPj4yXXwwOyQ9ZCs4fDA7YWE9
RGNbY1soY1skPj4yXXwwKSs4Pj4yXSYxMjddKCQpfDA7JD1hW2FhXXwwO2lmKCgkJjEpPT0wKXtm
YT0oJCYyNTUpPj4+MX1lbHNle2ZhPWNbYWErND4+Ml18MH0kPWFbYWErMTJ8MF18MDtpZigoJCYx
KT09MCl7Z2E9KCQmMjU1KT4+PjF9ZWxzZXtnYT1jW2FhKzE2Pj4yXXwwfWlmKChmYXwwKT09KDAt
Z2F8MCkpe2NbaD4+Ml09Y1toPj4yXXw0O2JyZWFrIGF9Y1tyPj4yXT1iYTtjW20rMD4+Ml09Y1ty
KzA+PjJdO2JhPXJpKGUsbSxhYSxhYSsyNHwwLF8saCwwKXwwOyQ9YmEtYWF8MDtpZigoYmF8MCk9
PShhYXwwKT8oY1tBPj4yXXwwKT09MTI6MCl7Y1tBPj4yXT0wO2JyZWFrIGF9aWYoKCR8MCk9PTEy
PygkPWNbQT4+Ml18MCwoJHwwKTwxMik6MCl7Y1tBPj4yXT0kKzEyfWJyZWFrfTtjYXNlIDEyMTp7
JD1qKzIwfDA7Y1tvPj4yXT1jW2Y+PjJdO2NbbSswPj4yXT1jW28rMD4+Ml07QT1RaihlLG0saCxf
LDQpfDA7aWYoKGNbaD4+Ml0mNHwwKT09MCl7aWYoKEF8MCk8Njkpe2hhPUErMmUzfDB9ZWxzZXto
YT0oQSsgLTY5fDApPj4+MDwzMT9BKzE5MDB8MDpBfWNbJD4+Ml09aGErIC0xOTAwfWJyZWFrfTtj
YXNlIDcwOntjW0k+PjJdPWNbZT4+Ml07Y1tKPj4yXT1jW2Y+PjJdO2NbbiswPj4yXT1jW0krMD4+
Ml07Y1ttKzA+PjJdPWNbSiswPj4yXTtFaihILGQsbixtLGcsaCxqLDExMTEyLDExMTQ0fDApO2Nb
ZT4+Ml09Y1tIPj4yXTticmVha307Y2FzZSAxMTQ6e2NbTT4+Ml09Y1tlPj4yXTtjW04+PjJdPWNb
Zj4+Ml07Y1tuKzA+PjJdPWNbTSswPj4yXTtjW20rMD4+Ml09Y1tOKzA+PjJdO0VqKEwsZCxuLG0s
ZyxoLGosMTExNDQsMTExODh8MCk7Y1tlPj4yXT1jW0w+PjJdO2JyZWFrfTtjYXNlIDExOTp7Y1tw
Pj4yXT1jW2Y+PjJdO2NbbSswPj4yXT1jW3ArMD4+Ml07JD1RaihlLG0saCxfLDEpfDA7QT1jW2g+
PjJdfDA7aWYoKEEmNHwwKT09MCYoJHwwKTw3KXtjW2orMjQ+PjJdPSQ7YnJlYWsgYX1lbHNle2Nb
aD4+Ml09QXw0O2JyZWFrIGF9YnJlYWt9O2Nhc2UgMTIwOntBPWNbKGNbZD4+Ml18MCkrMjA+PjJd
fDA7Y1tVPj4yXT1jW2U+PjJdO2NbVj4+Ml09Y1tmPj4yXTtjW24rMD4+Ml09Y1tVKzA+PjJdO2Nb
bSswPj4yXT1jW1YrMD4+Ml07eWNbQSY2M10oYixkLG4sbSxnLGgsaik7aT1sO3JldHVybn07Y2Fz
ZSA4ODp7QT1kKzh8MDskPURjW2NbKGNbQT4+Ml18MCkrMjQ+PjJdJjEyN10oQSl8MDtjW1g+PjJd
PWNbZT4+Ml07Y1tZPj4yXT1jW2Y+PjJdO0E9YVskXXwwO2lmKChBJjEpPT0wKXtpYT0kKzR8MDtq
YT0oQSYyNTUpPj4+MTtrYT0kKzR8MH1lbHNle0E9Y1skKzg+PjJdfDA7aWE9QTtqYT1jWyQrND4+
Ml18MDtrYT1BfWNbbiswPj4yXT1jW1grMD4+Ml07Y1ttKzA+PjJdPWNbWSswPj4yXTtFaihXLGQs
bixtLGcsaCxqLGthLGlhKyhqYTw8Mil8MCk7Y1tlPj4yXT1jW1c+PjJdO2JyZWFrfTtjYXNlIDEw
MTpjYXNlIDEwMDp7QT1qKzEyfDA7Y1t4Pj4yXT1jW2Y+PjJdO2NbbSswPj4yXT1jW3grMD4+Ml07
JD1RaihlLG0saCxfLDIpfDA7YWE9Y1toPj4yXXwwO2lmKChhYSY0fDApPT0wPygkKyAtMXwwKT4+
PjA8MzE6MCl7Y1tBPj4yXT0kO2JyZWFrIGF9Y1toPj4yXT1hYXw0O2JyZWFrfTtjYXNlIDg5Ontj
W24+PjJdPWNbZj4+Ml07Y1ttKzA+PjJdPWNbbiswPj4yXTthYT1RaihlLG0saCxfLDQpfDA7aWYo
KGNbaD4+Ml0mNHwwKT09MCl7Y1tqKzIwPj4yXT1hYSsgLTE5MDB9YnJlYWt9O2Nhc2UgMzc6e2Nb
Wj4+Ml09Y1tmPj4yXTtjW20rMD4+Ml09Y1taKzA+PjJdO1BqKDAsZSxtLGgsXyk7YnJlYWt9O2Rl
ZmF1bHQ6e2NbaD4+Ml09Y1toPj4yXXw0fX19d2hpbGUoMCk7Y1tiPj4yXT1jW2U+PjJdO2k9bDty
ZXR1cm59ZnVuY3Rpb24gT2ooYSxiLGQsZSxmKXthPWF8MDtiPWJ8MDtkPWR8MDtlPWV8MDtmPWZ8
MDt2YXIgZz0wLGg9MCxqPTAsaz0wLGw9MCxtPTAsbj0wLG89MCxwPTAscT0wLHI9MCxzPTAsdD0w
O2E9aTthOndoaWxlKDEpe2c9Y1tiPj4yXXwwO2Rve2lmKChnfDApIT0wKXtoPWNbZysxMj4+Ml18
MDtpZigoaHwwKT09KGNbZysxNj4+Ml18MCkpe2o9RGNbY1soY1tnPj4yXXwwKSszNj4+Ml0mMTI3
XShnKXwwfWVsc2V7aj1jW2g+PjJdfDB9aWYoKGp8MCk9PS0xKXtjW2I+PjJdPTA7az0xO2JyZWFr
fWVsc2V7az0oY1tiPj4yXXwwKT09MDticmVha319ZWxzZXtrPTF9fXdoaWxlKDApO2c9Y1tkPj4y
XXwwO2Rve2lmKChnfDApIT0wKXtoPWNbZysxMj4+Ml18MDtpZigoaHwwKT09KGNbZysxNj4+Ml18
MCkpe2w9RGNbY1soY1tnPj4yXXwwKSszNj4+Ml0mMTI3XShnKXwwfWVsc2V7bD1jW2g+PjJdfDB9
aWYoISgobHwwKT09LTEpKXtpZihrKXttPWc7YnJlYWt9ZWxzZXtuPWc7YnJlYWsgYX19ZWxzZXtj
W2Q+PjJdPTA7bz0xNTticmVha319ZWxzZXtvPTE1fX13aGlsZSgwKTtpZigob3wwKT09MTUpe289
MDtpZihrKXtuPTA7YnJlYWt9ZWxzZXttPTB9fWc9Y1tiPj4yXXwwO2g9Y1tnKzEyPj4yXXwwO2lm
KChofDApPT0oY1tnKzE2Pj4yXXwwKSl7cD1EY1tjWyhjW2c+PjJdfDApKzM2Pj4yXSYxMjddKGcp
fDB9ZWxzZXtwPWNbaD4+Ml18MH1pZighKHZjW2NbKGNbZj4+Ml18MCkrMTI+PjJdJjMxXShmLDgx
OTIscCl8MCkpe249bTticmVha31oPWNbYj4+Ml18MDtnPWgrMTJ8MDtxPWNbZz4+Ml18MDtpZigo
cXwwKT09KGNbaCsxNj4+Ml18MCkpe0RjW2NbKGNbaD4+Ml18MCkrNDA+PjJdJjEyN10oaCl8MDtj
b250aW51ZX1lbHNle2NbZz4+Ml09cSs0O2NvbnRpbnVlfX1tPWNbYj4+Ml18MDtkb3tpZigobXww
KSE9MCl7cD1jW20rMTI+PjJdfDA7aWYoKHB8MCk9PShjW20rMTY+PjJdfDApKXtyPURjW2NbKGNb
bT4+Ml18MCkrMzY+PjJdJjEyN10obSl8MH1lbHNle3I9Y1twPj4yXXwwfWlmKChyfDApPT0tMSl7
Y1tiPj4yXT0wO3M9MTticmVha31lbHNle3M9KGNbYj4+Ml18MCk9PTA7YnJlYWt9fWVsc2V7cz0x
fX13aGlsZSgwKTtkb3tpZigobnwwKSE9MCl7Yj1jW24rMTI+PjJdfDA7aWYoKGJ8MCk9PShjW24r
MTY+PjJdfDApKXt0PURjW2NbKGNbbj4+Ml18MCkrMzY+PjJdJjEyN10obil8MH1lbHNle3Q9Y1ti
Pj4yXXwwfWlmKCh0fDApPT0tMSl7Y1tkPj4yXT0wO289Mzc7YnJlYWt9aWYocyl7aT1hO3JldHVy
bn19ZWxzZXtvPTM3fX13aGlsZSgwKTtpZigob3wwKT09Mzc/IXM6MCl7aT1hO3JldHVybn1jW2U+
PjJdPWNbZT4+Ml18MjtpPWE7cmV0dXJufWZ1bmN0aW9uIFBqKGEsYixkLGUsZil7YT1hfDA7Yj1i
fDA7ZD1kfDA7ZT1lfDA7Zj1mfDA7dmFyIGc9MCxoPTAsaj0wLGs9MCxsPTAsbT0wLG49MCxvPTAs
cD0wLHE9MCxyPTA7YT1pO2c9Y1tiPj4yXXwwO2Rve2lmKChnfDApIT0wKXtoPWNbZysxMj4+Ml18
MDtpZigoaHwwKT09KGNbZysxNj4+Ml18MCkpe2o9RGNbY1soY1tnPj4yXXwwKSszNj4+Ml0mMTI3
XShnKXwwfWVsc2V7aj1jW2g+PjJdfDB9aWYoKGp8MCk9PS0xKXtjW2I+PjJdPTA7az0xO2JyZWFr
fWVsc2V7az0oY1tiPj4yXXwwKT09MDticmVha319ZWxzZXtrPTF9fXdoaWxlKDApO2o9Y1tkPj4y
XXwwO2Rve2lmKChqfDApIT0wKXtnPWNbaisxMj4+Ml18MDtpZigoZ3wwKT09KGNbaisxNj4+Ml18
MCkpe2w9RGNbY1soY1tqPj4yXXwwKSszNj4+Ml0mMTI3XShqKXwwfWVsc2V7bD1jW2c+PjJdfDB9
aWYoISgobHwwKT09LTEpKXtpZihrKXttPWo7YnJlYWt9ZWxzZXtuPTE2O2JyZWFrfX1lbHNle2Nb
ZD4+Ml09MDtuPTE0O2JyZWFrfX1lbHNle249MTR9fXdoaWxlKDApO2lmKChufDApPT0xNCl7aWYo
ayl7bj0xNn1lbHNle209MH19aWYoKG58MCk9PTE2KXtjW2U+PjJdPWNbZT4+Ml18NjtpPWE7cmV0
dXJufWs9Y1tiPj4yXXwwO2o9Y1trKzEyPj4yXXwwO2lmKChqfDApPT0oY1trKzE2Pj4yXXwwKSl7
bz1EY1tjWyhjW2s+PjJdfDApKzM2Pj4yXSYxMjddKGspfDB9ZWxzZXtvPWNbaj4+Ml18MH1pZigh
KCh2Y1tjWyhjW2Y+PjJdfDApKzUyPj4yXSYzMV0oZixvLDApfDApPDwyND4+MjQ9PTM3KSl7Y1tl
Pj4yXT1jW2U+PjJdfDQ7aT1hO3JldHVybn1vPWNbYj4+Ml18MDtmPW8rMTJ8MDtqPWNbZj4+Ml18
MDtpZigoanwwKT09KGNbbysxNj4+Ml18MCkpe0RjW2NbKGNbbz4+Ml18MCkrNDA+PjJdJjEyN10o
byl8MH1lbHNle2NbZj4+Ml09ais0fWo9Y1tiPj4yXXwwO2Rve2lmKChqfDApIT0wKXtmPWNbaisx
Mj4+Ml18MDtpZigoZnwwKT09KGNbaisxNj4+Ml18MCkpe3A9RGNbY1soY1tqPj4yXXwwKSszNj4+
Ml0mMTI3XShqKXwwfWVsc2V7cD1jW2Y+PjJdfDB9aWYoKHB8MCk9PS0xKXtjW2I+PjJdPTA7cT0x
O2JyZWFrfWVsc2V7cT0oY1tiPj4yXXwwKT09MDticmVha319ZWxzZXtxPTF9fXdoaWxlKDApO2Rv
e2lmKChtfDApIT0wKXtiPWNbbSsxMj4+Ml18MDtpZigoYnwwKT09KGNbbSsxNj4+Ml18MCkpe3I9
RGNbY1soY1ttPj4yXXwwKSszNj4+Ml0mMTI3XShtKXwwfWVsc2V7cj1jW2I+PjJdfDB9aWYoKHJ8
MCk9PS0xKXtjW2Q+PjJdPTA7bj0zODticmVha31pZihxKXtpPWE7cmV0dXJufX1lbHNle249Mzh9
fXdoaWxlKDApO2lmKChufDApPT0zOD8hcTowKXtpPWE7cmV0dXJufWNbZT4+Ml09Y1tlPj4yXXwy
O2k9YTtyZXR1cm59CgoKCmZ1bmN0aW9uIHFvKGIsZCxlLGYsZyl7Yj1ifDA7ZD1kfDA7ZT1lfDA7
Zj1mfDA7Zz1nfDA7dmFyIGg9MCxqPTAsaz0wLGw9MCxtPTAsbj0wLG89MCxwPTA7aD1pO2lmKChi
fDApPT0oY1tkKzg+PjJdfDApKXtpZigoY1tkKzQ+PjJdfDApIT0oZXwwKSl7aT1oO3JldHVybn1q
PWQrMjh8MDtpZigoY1tqPj4yXXwwKT09MSl7aT1oO3JldHVybn1jW2o+PjJdPWY7aT1oO3JldHVy
bn1pZigoYnwwKSE9KGNbZD4+Ml18MCkpe2o9Y1tiKzg+PjJdfDA7TGNbY1soY1tqPj4yXXwwKSsy
ND4+Ml0mM10oaixkLGUsZixnKTtpPWg7cmV0dXJufWlmKChjW2QrMTY+PjJdfDApIT0oZXwwKT8o
aj1kKzIwfDAsKGNbaj4+Ml18MCkhPShlfDApKTowKXtjW2QrMzI+PjJdPWY7az1kKzQ0fDA7aWYo
KGNbaz4+Ml18MCk9PTQpe2k9aDtyZXR1cm59bD1kKzUyfDA7YVtsXT0wO209ZCs1M3wwO2FbbV09
MDtuPWNbYis4Pj4yXXwwO3djW2NbKGNbbj4+Ml18MCkrMjA+PjJdJjMxXShuLGQsZSxlLDEsZyk7
aWYoKGFbbV18MCkhPTApe2lmKChhW2xdfDApPT0wKXtvPTE7cD0xM319ZWxzZXtvPTA7cD0xM31k
b3tpZigocHwwKT09MTMpe2Nbaj4+Ml09ZTtsPWQrNDB8MDtjW2w+PjJdPShjW2w+PjJdfDApKzE7
aWYoKGNbZCszNj4+Ml18MCk9PTE/KGNbZCsyND4+Ml18MCk9PTI6MCl7YVtkKzU0fDBdPTE7aWYo
byl7YnJlYWt9fWVsc2V7cD0xNn1pZigocHwwKT09MTY/bzowKXticmVha31jW2s+PjJdPTQ7aT1o
O3JldHVybn19d2hpbGUoMCk7Y1trPj4yXT0zO2k9aDtyZXR1cm59aWYoKGZ8MCkhPTEpe2k9aDty
ZXR1cm59Y1tkKzMyPj4yXT0xO2k9aDtyZXR1cm59ZnVuY3Rpb24gcm8oYixkLGUsZixnKXtiPWJ8
MDtkPWR8MDtlPWV8MDtmPWZ8MDtnPWd8MDt2YXIgaD0wO2c9aTtpZigoY1tkKzg+PjJdfDApPT0o
YnwwKSl7aWYoKGNbZCs0Pj4yXXwwKSE9KGV8MCkpe2k9ZztyZXR1cm59aD1kKzI4fDA7aWYoKGNb
aD4+Ml18MCk9PTEpe2k9ZztyZXR1cm59Y1toPj4yXT1mO2k9ZztyZXR1cm59aWYoKGNbZD4+Ml18
MCkhPShifDApKXtpPWc7cmV0dXJufWlmKChjW2QrMTY+PjJdfDApIT0oZXwwKT8oYj1kKzIwfDAs
KGNbYj4+Ml18MCkhPShlfDApKTowKXtjW2QrMzI+PjJdPWY7Y1tiPj4yXT1lO2U9ZCs0MHwwO2Nb
ZT4+Ml09KGNbZT4+Ml18MCkrMTtpZigoY1tkKzM2Pj4yXXwwKT09MT8oY1tkKzI0Pj4yXXwwKT09
MjowKXthW2QrNTR8MF09MX1jW2QrNDQ+PjJdPTQ7aT1nO3JldHVybn1pZigoZnwwKSE9MSl7aT1n
O3JldHVybn1jW2QrMzI+PjJdPTE7aT1nO3JldHVybn1mdW5jdGlvbiBzbyhiLGQsZSxmLGcsaCl7
Yj1ifDA7ZD1kfDA7ZT1lfDA7Zj1mfDA7Zz1nfDA7aD1ofDA7dmFyIGo9MCxrPTAsbD0wLG09MCxu
PTAsbz0wLHA9MCxxPTAscj0wLHM9MCx0PTAsdT0wLHY9MCx3PTAseD0wO2o9aTtpZigoYnwwKSE9
KGNbZCs4Pj4yXXwwKSl7az1kKzUyfDA7bD1hW2tdfDA7bT1kKzUzfDA7bj1hW21dfDA7bz1jW2Ir
MTI+PjJdfDA7cD1iKyhvPDwzKSsxNnwwO2Fba109MDthW21dPTA7cT1jW2IrMjA+PjJdfDA7cj1x
Pj44O2lmKChxJjF8MCk9PTApe3M9cn1lbHNle3M9Y1soY1tmPj4yXXwwKStyPj4yXXwwfXI9Y1ti
KzE2Pj4yXXwwO3djW2NbKGNbcj4+Ml18MCkrMjA+PjJdJjMxXShyLGQsZSxmK3N8MCwocSYyfDAp
IT0wP2c6MixoKTthOmRve2lmKChvfDApPjEpe3E9ZCsyNHwwO3M9Yis4fDA7cj1kKzU0fDA7dD1i
KzI0fDA7ZG97aWYoKGFbcl18MCkhPTApe2JyZWFrIGF9aWYoKGFba118MCk9PTApe2lmKChhW21d
fDApIT0wPyhjW3M+PjJdJjF8MCk9PTA6MCl7YnJlYWsgYX19ZWxzZXtpZigoY1txPj4yXXwwKT09
MSl7YnJlYWsgYX1pZigoY1tzPj4yXSYyfDApPT0wKXticmVhayBhfX1hW2tdPTA7YVttXT0wO3U9
Y1t0KzQ+PjJdfDA7dj11Pj44O2lmKCh1JjF8MCk9PTApe3c9dn1lbHNle3c9Y1soY1tmPj4yXXww
KSt2Pj4yXXwwfXY9Y1t0Pj4yXXwwO3djW2NbKGNbdj4+Ml18MCkrMjA+PjJdJjMxXSh2LGQsZSxm
K3d8MCwodSYyfDApIT0wP2c6MixoKTt0PXQrOHwwfXdoaWxlKHQ+Pj4wPHA+Pj4wKX19d2hpbGUo
MCk7YVtrXT1sO2FbbV09bjtpPWo7cmV0dXJufWFbZCs1M3wwXT0xO2lmKChjW2QrND4+Ml18MCkh
PShmfDApKXtpPWo7cmV0dXJufWFbZCs1MnwwXT0xO2Y9ZCsxNnwwO249Y1tmPj4yXXwwO2lmKChu
fDApPT0wKXtjW2Y+PjJdPWU7Y1tkKzI0Pj4yXT1nO2NbZCszNj4+Ml09MTtpZighKChjW2QrNDg+
PjJdfDApPT0xJihnfDApPT0xKSl7aT1qO3JldHVybn1hW2QrNTR8MF09MTtpPWo7cmV0dXJufWlm
KChufDApIT0oZXwwKSl7ZT1kKzM2fDA7Y1tlPj4yXT0oY1tlPj4yXXwwKSsxO2FbZCs1NHwwXT0x
O2k9ajtyZXR1cm59ZT1kKzI0fDA7bj1jW2U+PjJdfDA7aWYoKG58MCk9PTIpe2NbZT4+Ml09Zzt4
PWd9ZWxzZXt4PW59aWYoISgoY1tkKzQ4Pj4yXXwwKT09MSYoeHwwKT09MSkpe2k9ajtyZXR1cm59
YVtkKzU0fDBdPTE7aT1qO3JldHVybn1mdW5jdGlvbiB0byhiLGQsZSxmLGcsaCl7Yj1ifDA7ZD1k
fDA7ZT1lfDA7Zj1mfDA7Zz1nfDA7aD1ofDA7dmFyIGo9MCxrPTAsbD0wO2o9aTtpZigoYnwwKSE9
KGNbZCs4Pj4yXXwwKSl7az1jW2IrOD4+Ml18MDt3Y1tjWyhjW2s+PjJdfDApKzIwPj4yXSYzMV0o
ayxkLGUsZixnLGgpO2k9ajtyZXR1cm59YVtkKzUzfDBdPTE7aWYoKGNbZCs0Pj4yXXwwKSE9KGZ8
MCkpe2k9ajtyZXR1cm59YVtkKzUyfDBdPTE7Zj1kKzE2fDA7aD1jW2Y+PjJdfDA7aWYoKGh8MCk9
PTApe2NbZj4+Ml09ZTtjW2QrMjQ+PjJdPWc7Y1tkKzM2Pj4yXT0xO2lmKCEoKGNbZCs0OD4+Ml18
MCk9PTEmKGd8MCk9PTEpKXtpPWo7cmV0dXJufWFbZCs1NHwwXT0xO2k9ajtyZXR1cm59aWYoKGh8
MCkhPShlfDApKXtlPWQrMzZ8MDtjW2U+PjJdPShjW2U+PjJdfDApKzE7YVtkKzU0fDBdPTE7aT1q
O3JldHVybn1lPWQrMjR8MDtoPWNbZT4+Ml18MDtpZigoaHwwKT09Mil7Y1tlPj4yXT1nO2w9Z31l
bHNle2w9aH1pZighKChjW2QrNDg+PjJdfDApPT0xJihsfDApPT0xKSl7aT1qO3JldHVybn1hW2Qr
NTR8MF09MTtpPWo7cmV0dXJufWZ1bmN0aW9uIHVvKGIsZCxlLGYsZyxoKXtiPWJ8MDtkPWR8MDtl
PWV8MDtmPWZ8MDtnPWd8MDtoPWh8MDt2YXIgaj0wO2g9aTtpZigoY1tkKzg+PjJdfDApIT0oYnww
KSl7aT1oO3JldHVybn1hW2QrNTN8MF09MTtpZigoY1tkKzQ+PjJdfDApIT0oZnwwKSl7aT1oO3Jl
dHVybn1hW2QrNTJ8MF09MTtmPWQrMTZ8MDtiPWNbZj4+Ml18MDtpZigoYnwwKT09MCl7Y1tmPj4y
XT1lO2NbZCsyND4+Ml09ZztjW2QrMzY+PjJdPTE7aWYoISgoY1tkKzQ4Pj4yXXwwKT09MSYoZ3ww
KT09MSkpe2k9aDtyZXR1cm59YVtkKzU0fDBdPTE7aT1oO3JldHVybn1pZigoYnwwKSE9KGV8MCkp
e2U9ZCszNnwwO2NbZT4+Ml09KGNbZT4+Ml18MCkrMTthW2QrNTR8MF09MTtpPWg7cmV0dXJufWU9
ZCsyNHwwO2I9Y1tlPj4yXXwwO2lmKChifDApPT0yKXtjW2U+PjJdPWc7aj1nfWVsc2V7aj1ifWlm
KCEoKGNbZCs0OD4+Ml18MCk9PTEmKGp8MCk9PTEpKXtpPWg7cmV0dXJufWFbZCs1NHwwXT0xO2k9
aDtyZXR1cm59ZnVuY3Rpb24gdm8oYSl7YT1hfDA7dmFyIGI9MCxkPTAsZT0wLGY9MCxnPTAsaD0w
LGo9MCxrPTAsbD0wLG09MCxuPTAsbz0wLHA9MCxxPTAscj0wLHM9MCx0PTAsdT0wLHY9MCx3PTAs
eD0wLHk9MCx6PTAsQT0wLEI9MCxDPTAsRD0wLEU9MCxGPTAsRz0wLEg9MCxJPTAsSj0wLEs9MCxM
PTAsTT0wLE49MCxPPTAsUD0wLFE9MCxSPTAsUz0wLFQ9MCxVPTAsVj0wLFc9MCxYPTAsWT0wLFo9
MCxfPTAsJD0wLGFhPTAsYmE9MCxjYT0wLGRhPTAsZWE9MCxmYT0wLGdhPTAsaGE9MCxpYT0wLGph
PTAsa2E9MCxsYT0wLG1hPTAsbmE9MCxvYT0wLHBhPTAscWE9MCxyYT0wLHNhPTAsdGE9MCx1YT0w
LHZhPTAsd2E9MCx4YT0wLHlhPTAsemE9MCxBYT0wLEJhPTAsQ2E9MCxEYT0wLEVhPTAsRmE9MCxH
YT0wLEhhPTAsSWE9MCxKYT0wLEthPTA7Yj1pO2Rve2lmKGE+Pj4wPDI0NSl7aWYoYT4+PjA8MTEp
e2Q9MTZ9ZWxzZXtkPWErMTEmLTh9ZT1kPj4+MztmPWNbNTA3OF18MDtnPWY+Pj5lO2lmKChnJjN8
MCkhPTApe2g9KGcmMV4xKStlfDA7aj1oPDwxO2s9MjAzNTIrKGo8PDIpfDA7bD0yMDM1Misoaisy
PDwyKXwwO2o9Y1tsPj4yXXwwO209ais4fDA7bj1jW20+PjJdfDA7ZG97aWYoKGt8MCkhPShufDAp
KXtpZihuPj4+MDwoY1syMDMyOD4+Ml18MCk+Pj4wKXtWYigpfW89bisxMnwwO2lmKChjW28+PjJd
fDApPT0oanwwKSl7Y1tvPj4yXT1rO2NbbD4+Ml09bjticmVha31lbHNle1ZiKCl9fWVsc2V7Y1s1
MDc4XT1mJn4oMTw8aCl9fXdoaWxlKDApO249aDw8MztjW2orND4+Ml09bnwzO2w9aisobnw0KXww
O2NbbD4+Ml09Y1tsPj4yXXwxO3A9bTtpPWI7cmV0dXJuIHB8MH1pZihkPj4+MD4oY1syMDMyMD4+
Ml18MCk+Pj4wKXtpZigoZ3wwKSE9MCl7bD0yPDxlO249Zzw8ZSYobHwwLWwpO2w9KG4mMC1uKSsg
LTF8MDtuPWw+Pj4xMiYxNjtrPWw+Pj5uO2w9az4+PjUmODtvPWs+Pj5sO2s9bz4+PjImNDtxPW8+
Pj5rO289cT4+PjEmMjtyPXE+Pj5vO3E9cj4+PjEmMTtzPShsfG58a3xvfHEpKyhyPj4+cSl8MDtx
PXM8PDE7cj0yMDM1MisocTw8Mil8MDtvPTIwMzUyKyhxKzI8PDIpfDA7cT1jW28+PjJdfDA7az1x
Kzh8MDtuPWNbaz4+Ml18MDtkb3tpZigocnwwKSE9KG58MCkpe2lmKG4+Pj4wPChjWzIwMzI4Pj4y
XXwwKT4+PjApe1ZiKCl9bD1uKzEyfDA7aWYoKGNbbD4+Ml18MCk9PShxfDApKXtjW2w+PjJdPXI7
Y1tvPj4yXT1uO2JyZWFrfWVsc2V7VmIoKX19ZWxzZXtjWzUwNzhdPWYmfigxPDxzKX19d2hpbGUo
MCk7Zj1zPDwzO249Zi1kfDA7Y1txKzQ+PjJdPWR8MztvPXErZHwwO2NbcSsoZHw0KT4+Ml09bnwx
O2NbcStmPj4yXT1uO2Y9Y1syMDMyMD4+Ml18MDtpZigoZnwwKSE9MCl7cj1jWzIwMzMyPj4yXXww
O2U9Zj4+PjM7Zj1lPDwxO2c9MjAzNTIrKGY8PDIpfDA7bT1jWzUwNzhdfDA7aj0xPDxlO2lmKCht
Jmp8MCkhPTApe2U9MjAzNTIrKGYrMjw8Mil8MDtoPWNbZT4+Ml18MDtpZihoPj4+MDwoY1syMDMy
OD4+Ml18MCk+Pj4wKXtWYigpfWVsc2V7dD1lO3U9aH19ZWxzZXtjWzUwNzhdPW18ajt0PTIwMzUy
KyhmKzI8PDIpfDA7dT1nfWNbdD4+Ml09cjtjW3UrMTI+PjJdPXI7Y1tyKzg+PjJdPXU7Y1tyKzEy
Pj4yXT1nfWNbMjAzMjA+PjJdPW47Y1syMDMzMj4+Ml09bztwPWs7aT1iO3JldHVybiBwfDB9bz1j
WzIwMzE2Pj4yXXwwO2lmKChvfDApIT0wKXtuPShvJjAtbykrIC0xfDA7bz1uPj4+MTImMTY7Zz1u
Pj4+bztuPWc+Pj41Jjg7cj1nPj4+bjtnPXI+Pj4yJjQ7Zj1yPj4+ZztyPWY+Pj4xJjI7aj1mPj4+
cjtmPWo+Pj4xJjE7bT1jWzIwNjE2KygobnxvfGd8cnxmKSsoaj4+PmYpPDwyKT4+Ml18MDtmPShj
W20rND4+Ml0mLTgpLWR8MDtqPW07cj1tO3doaWxlKDEpe209Y1tqKzE2Pj4yXXwwO2lmKChtfDAp
PT0wKXtnPWNbaisyMD4+Ml18MDtpZigoZ3wwKT09MCl7YnJlYWt9ZWxzZXt2PWd9fWVsc2V7dj1t
fW09KGNbdis0Pj4yXSYtOCktZHwwO2c9bT4+PjA8Zj4+PjA7Zj1nP206ZjtqPXY7cj1nP3Y6cn1q
PWNbMjAzMjg+PjJdfDA7aWYocj4+PjA8aj4+PjApe1ZiKCl9az1yK2R8MDtpZighKHI+Pj4wPGs+
Pj4wKSl7VmIoKX1xPWNbcisyND4+Ml18MDtzPWNbcisxMj4+Ml18MDtkb3tpZigoc3wwKT09KHJ8
MCkpe2c9cisyMHwwO209Y1tnPj4yXXwwO2lmKChtfDApPT0wKXtvPXIrMTZ8MDtuPWNbbz4+Ml18
MDtpZigobnwwKT09MCl7dz0wO2JyZWFrfWVsc2V7eD1uO3k9b319ZWxzZXt4PW07eT1nfXdoaWxl
KDEpe2c9eCsyMHwwO209Y1tnPj4yXXwwO2lmKChtfDApIT0wKXt4PW07eT1nO2NvbnRpbnVlfWc9
eCsxNnwwO209Y1tnPj4yXXwwO2lmKChtfDApPT0wKXticmVha31lbHNle3g9bTt5PWd9fWlmKHk+
Pj4wPGo+Pj4wKXtWYigpfWVsc2V7Y1t5Pj4yXT0wO3c9eDticmVha319ZWxzZXtnPWNbcis4Pj4y
XXwwO2lmKGc+Pj4wPGo+Pj4wKXtWYigpfW09ZysxMnwwO2lmKChjW20+PjJdfDApIT0ocnwwKSl7
VmIoKX1vPXMrOHwwO2lmKChjW28+PjJdfDApPT0ocnwwKSl7Y1ttPj4yXT1zO2Nbbz4+Ml09Zzt3
PXM7YnJlYWt9ZWxzZXtWYigpfX19d2hpbGUoMCk7ZG97aWYoKHF8MCkhPTApe3M9Y1tyKzI4Pj4y
XXwwO2o9MjA2MTYrKHM8PDIpfDA7aWYoKHJ8MCk9PShjW2o+PjJdfDApKXtjW2o+PjJdPXc7aWYo
KHd8MCk9PTApe2NbMjAzMTY+PjJdPWNbMjAzMTY+PjJdJn4oMTw8cyk7YnJlYWt9fWVsc2V7aWYo
cT4+PjA8KGNbMjAzMjg+PjJdfDApPj4+MCl7VmIoKX1zPXErMTZ8MDtpZigoY1tzPj4yXXwwKT09
KHJ8MCkpe2Nbcz4+Ml09d31lbHNle2NbcSsyMD4+Ml09d31pZigod3wwKT09MCl7YnJlYWt9fWlm
KHc+Pj4wPChjWzIwMzI4Pj4yXXwwKT4+PjApe1ZiKCl9Y1t3KzI0Pj4yXT1xO3M9Y1tyKzE2Pj4y
XXwwO2Rve2lmKChzfDApIT0wKXtpZihzPj4+MDwoY1syMDMyOD4+Ml18MCk+Pj4wKXtWYigpfWVs
c2V7Y1t3KzE2Pj4yXT1zO2NbcysyND4+Ml09dzticmVha319fXdoaWxlKDApO3M9Y1tyKzIwPj4y
XXwwO2lmKChzfDApIT0wKXtpZihzPj4+MDwoY1syMDMyOD4+Ml18MCk+Pj4wKXtWYigpfWVsc2V7
Y1t3KzIwPj4yXT1zO2NbcysyND4+Ml09dzticmVha319fX13aGlsZSgwKTtpZihmPj4+MDwxNil7
cT1mK2R8MDtjW3IrND4+Ml09cXwzO3M9cisocSs0KXwwO2Nbcz4+Ml09Y1tzPj4yXXwxfWVsc2V7
Y1tyKzQ+PjJdPWR8MztjW3IrKGR8NCk+PjJdPWZ8MTtjW3IrKGYrZCk+PjJdPWY7cz1jWzIwMzIw
Pj4yXXwwO2lmKChzfDApIT0wKXtxPWNbMjAzMzI+PjJdfDA7aj1zPj4+MztzPWo8PDE7Zz0yMDM1
Misoczw8Mil8MDtvPWNbNTA3OF18MDttPTE8PGo7aWYoKG8mbXwwKSE9MCl7aj0yMDM1Misocysy
PDwyKXwwO249Y1tqPj4yXXwwO2lmKG4+Pj4wPChjWzIwMzI4Pj4yXXwwKT4+PjApe1ZiKCl9ZWxz
ZXt6PWo7QT1ufX1lbHNle2NbNTA3OF09b3xtO3o9MjAzNTIrKHMrMjw8Mil8MDtBPWd9Y1t6Pj4y
XT1xO2NbQSsxMj4+Ml09cTtjW3ErOD4+Ml09QTtjW3ErMTI+PjJdPWd9Y1syMDMyMD4+Ml09Zjtj
WzIwMzMyPj4yXT1rfXA9cis4fDA7aT1iO3JldHVybiBwfDB9ZWxzZXtCPWR9fWVsc2V7Qj1kfX1l
bHNle2lmKCEoYT4+PjA+NDI5NDk2NzIzMSkpe2c9YSsxMXwwO3E9ZyYtODtzPWNbMjAzMTY+PjJd
fDA7aWYoKHN8MCkhPTApe209MC1xfDA7bz1nPj4+ODtpZigob3wwKSE9MCl7aWYocT4+PjA+MTY3
NzcyMTUpe0M9MzF9ZWxzZXtnPShvKzEwNDgzMjB8MCk+Pj4xNiY4O249bzw8ZztvPShuKzUyMDE5
MnwwKT4+PjE2JjQ7aj1uPDxvO249KGorMjQ1NzYwfDApPj4+MTYmMjtoPTE0LShvfGd8bikrKGo8
PG4+Pj4xNSl8MDtDPXE+Pj4oaCs3fDApJjF8aDw8MX19ZWxzZXtDPTB9aD1jWzIwNjE2KyhDPDwy
KT4+Ml18MDthOmRve2lmKChofDApPT0wKXtEPW07RT0wO0Y9MH1lbHNle2lmKChDfDApPT0zMSl7
Rz0wfWVsc2V7Rz0yNS0oQz4+PjEpfDB9bj1tO2o9MDtnPXE8PEc7bz1oO2U9MDt3aGlsZSgxKXts
PWNbbys0Pj4yXSYtODtIPWwtcXwwO2lmKEg+Pj4wPG4+Pj4wKXtpZigobHwwKT09KHF8MCkpe0Q9
SDtFPW87Rj1vO2JyZWFrIGF9ZWxzZXtJPUg7Sj1vfX1lbHNle0k9bjtKPWV9SD1jW28rMjA+PjJd
fDA7bD1jW28rKGc+Pj4zMTw8MikrMTY+PjJdfDA7Sz0oSHwwKT09MHwoSHwwKT09KGx8MCk/ajpI
O2lmKChsfDApPT0wKXtEPUk7RT1LO0Y9SjticmVha31lbHNle249STtqPUs7Zz1nPDwxO289bDtl
PUp9fX19d2hpbGUoMCk7aWYoKEV8MCk9PTAmKEZ8MCk9PTApe2g9Mjw8QzttPXMmKGh8MC1oKTtp
ZigobXwwKT09MCl7Qj1xO2JyZWFrfWg9KG0mMC1tKSsgLTF8MDttPWg+Pj4xMiYxNjtyPWg+Pj5t
O2g9cj4+PjUmODtrPXI+Pj5oO3I9az4+PjImNDtmPWs+Pj5yO2s9Zj4+PjEmMjtlPWY+Pj5rO2Y9
ZT4+PjEmMTtMPWNbMjA2MTYrKChofG18cnxrfGYpKyhlPj4+Zik8PDIpPj4yXXwwfWVsc2V7TD1F
fWlmKChMfDApPT0wKXtNPUQ7Tj1GfWVsc2V7Zj1EO2U9TDtrPUY7d2hpbGUoMSl7cj0oY1tlKzQ+
PjJdJi04KS1xfDA7bT1yPj4+MDxmPj4+MDtoPW0/cjpmO3I9bT9lOms7bT1jW2UrMTY+PjJdfDA7
aWYoKG18MCkhPTApe2Y9aDtlPW07az1yO2NvbnRpbnVlfW09Y1tlKzIwPj4yXXwwO2lmKChtfDAp
PT0wKXtNPWg7Tj1yO2JyZWFrfWVsc2V7Zj1oO2U9bTtrPXJ9fX1pZigoTnwwKSE9MD9NPj4+MDwo
KGNbMjAzMjA+PjJdfDApLXF8MCk+Pj4wOjApe2s9Y1syMDMyOD4+Ml18MDtpZihOPj4+MDxrPj4+
MCl7VmIoKX1lPU4rcXwwO2lmKCEoTj4+PjA8ZT4+PjApKXtWYigpfWY9Y1tOKzI0Pj4yXXwwO3M9
Y1tOKzEyPj4yXXwwO2Rve2lmKChzfDApPT0oTnwwKSl7cj1OKzIwfDA7bT1jW3I+PjJdfDA7aWYo
KG18MCk9PTApe2g9TisxNnwwO289Y1toPj4yXXwwO2lmKChvfDApPT0wKXtPPTA7YnJlYWt9ZWxz
ZXtQPW87UT1ofX1lbHNle1A9bTtRPXJ9d2hpbGUoMSl7cj1QKzIwfDA7bT1jW3I+PjJdfDA7aWYo
KG18MCkhPTApe1A9bTtRPXI7Y29udGludWV9cj1QKzE2fDA7bT1jW3I+PjJdfDA7aWYoKG18MCk9
PTApe2JyZWFrfWVsc2V7UD1tO1E9cn19aWYoUT4+PjA8az4+PjApe1ZiKCl9ZWxzZXtjW1E+PjJd
PTA7Tz1QO2JyZWFrfX1lbHNle3I9Y1tOKzg+PjJdfDA7aWYocj4+PjA8az4+PjApe1ZiKCl9bT1y
KzEyfDA7aWYoKGNbbT4+Ml18MCkhPShOfDApKXtWYigpfWg9cys4fDA7aWYoKGNbaD4+Ml18MCk9
PShOfDApKXtjW20+PjJdPXM7Y1toPj4yXT1yO089czticmVha31lbHNle1ZiKCl9fX13aGlsZSgw
KTtkb3tpZigoZnwwKSE9MCl7cz1jW04rMjg+PjJdfDA7az0yMDYxNisoczw8Mil8MDtpZigoTnww
KT09KGNbaz4+Ml18MCkpe2Nbaz4+Ml09TztpZigoT3wwKT09MCl7Y1syMDMxNj4+Ml09Y1syMDMx
Nj4+Ml0mfigxPDxzKTticmVha319ZWxzZXtpZihmPj4+MDwoY1syMDMyOD4+Ml18MCk+Pj4wKXtW
YigpfXM9ZisxNnwwO2lmKChjW3M+PjJdfDApPT0oTnwwKSl7Y1tzPj4yXT1PfWVsc2V7Y1tmKzIw
Pj4yXT1PfWlmKChPfDApPT0wKXticmVha319aWYoTz4+PjA8KGNbMjAzMjg+PjJdfDApPj4+MCl7
VmIoKX1jW08rMjQ+PjJdPWY7cz1jW04rMTY+PjJdfDA7ZG97aWYoKHN8MCkhPTApe2lmKHM+Pj4w
PChjWzIwMzI4Pj4yXXwwKT4+PjApe1ZiKCl9ZWxzZXtjW08rMTY+PjJdPXM7Y1tzKzI0Pj4yXT1P
O2JyZWFrfX19d2hpbGUoMCk7cz1jW04rMjA+PjJdfDA7aWYoKHN8MCkhPTApe2lmKHM+Pj4wPChj
WzIwMzI4Pj4yXXwwKT4+PjApe1ZiKCl9ZWxzZXtjW08rMjA+PjJdPXM7Y1tzKzI0Pj4yXT1PO2Jy
ZWFrfX19fXdoaWxlKDApO2I6ZG97aWYoIShNPj4+MDwxNikpe2NbTis0Pj4yXT1xfDM7Y1tOKyhx
fDQpPj4yXT1NfDE7Y1tOKyhNK3EpPj4yXT1NO2Y9TT4+PjM7aWYoTT4+PjA8MjU2KXtzPWY8PDE7
az0yMDM1Misoczw8Mil8MDtyPWNbNTA3OF18MDtoPTE8PGY7aWYoKHImaHwwKSE9MCl7Zj0yMDM1
MisocysyPDwyKXwwO209Y1tmPj4yXXwwO2lmKG0+Pj4wPChjWzIwMzI4Pj4yXXwwKT4+PjApe1Zi
KCl9ZWxzZXtSPWY7Uz1tfX1lbHNle2NbNTA3OF09cnxoO1I9MjAzNTIrKHMrMjw8Mil8MDtTPWt9
Y1tSPj4yXT1lO2NbUysxMj4+Ml09ZTtjW04rKHErOCk+PjJdPVM7Y1tOKyhxKzEyKT4+Ml09azti
cmVha31rPU0+Pj44O2lmKChrfDApIT0wKXtpZihNPj4+MD4xNjc3NzIxNSl7VD0zMX1lbHNle3M9
KGsrMTA0ODMyMHwwKT4+PjE2Jjg7aD1rPDxzO2s9KGgrNTIwMTkyfDApPj4+MTYmNDtyPWg8PGs7
aD0ocisyNDU3NjB8MCk+Pj4xNiYyO209MTQtKGt8c3xoKSsocjw8aD4+PjE1KXwwO1Q9TT4+Piht
Kzd8MCkmMXxtPDwxfX1lbHNle1Q9MH1tPTIwNjE2KyhUPDwyKXwwO2NbTisocSsyOCk+PjJdPVQ7
Y1tOKyhxKzIwKT4+Ml09MDtjW04rKHErMTYpPj4yXT0wO2g9Y1syMDMxNj4+Ml18MDtyPTE8PFQ7
aWYoKGgmcnwwKT09MCl7Y1syMDMxNj4+Ml09aHxyO2NbbT4+Ml09ZTtjW04rKHErMjQpPj4yXT1t
O2NbTisocSsxMik+PjJdPWU7Y1tOKyhxKzgpPj4yXT1lO2JyZWFrfXI9Y1ttPj4yXXwwO2lmKChU
fDApPT0zMSl7VT0wfWVsc2V7VT0yNS0oVD4+PjEpfDB9Yzpkb3tpZigoY1tyKzQ+PjJdJi04fDAp
IT0oTXwwKSl7bT1NPDxVO2g9cjt3aGlsZSgxKXtWPWgrKG0+Pj4zMTw8MikrMTZ8MDtzPWNbVj4+
Ml18MDtpZigoc3wwKT09MCl7YnJlYWt9aWYoKGNbcys0Pj4yXSYtOHwwKT09KE18MCkpe1c9czti
cmVhayBjfWVsc2V7bT1tPDwxO2g9c319aWYoVj4+PjA8KGNbMjAzMjg+PjJdfDApPj4+MCl7VmIo
KX1lbHNle2NbVj4+Ml09ZTtjW04rKHErMjQpPj4yXT1oO2NbTisocSsxMik+PjJdPWU7Y1tOKyhx
KzgpPj4yXT1lO2JyZWFrIGJ9fWVsc2V7Vz1yfX13aGlsZSgwKTtyPVcrOHwwO209Y1tyPj4yXXww
O3M9Y1syMDMyOD4+Ml18MDtpZihXPj4+MDxzPj4+MCl7VmIoKX1pZihtPj4+MDxzPj4+MCl7VmIo
KX1lbHNle2NbbSsxMj4+Ml09ZTtjW3I+PjJdPWU7Y1tOKyhxKzgpPj4yXT1tO2NbTisocSsxMik+
PjJdPVc7Y1tOKyhxKzI0KT4+Ml09MDticmVha319ZWxzZXttPU0rcXwwO2NbTis0Pj4yXT1tfDM7
cj1OKyhtKzQpfDA7Y1tyPj4yXT1jW3I+PjJdfDF9fXdoaWxlKDApO3A9Tis4fDA7aT1iO3JldHVy
biBwfDB9ZWxzZXtCPXF9fWVsc2V7Qj1xfX1lbHNle0I9LTF9fX13aGlsZSgwKTtOPWNbMjAzMjA+
PjJdfDA7aWYoIShCPj4+MD5OPj4+MCkpe009Ti1CfDA7Vz1jWzIwMzMyPj4yXXwwO2lmKE0+Pj4w
PjE1KXtjWzIwMzMyPj4yXT1XK0I7Y1syMDMyMD4+Ml09TTtjW1crKEIrNCk+PjJdPU18MTtjW1cr
Tj4+Ml09TTtjW1crND4+Ml09QnwzfWVsc2V7Y1syMDMyMD4+Ml09MDtjWzIwMzMyPj4yXT0wO2Nb
Vys0Pj4yXT1OfDM7TT1XKyhOKzQpfDA7Y1tNPj4yXT1jW00+PjJdfDF9cD1XKzh8MDtpPWI7cmV0
dXJuIHB8MH1XPWNbMjAzMjQ+PjJdfDA7aWYoQj4+PjA8Vz4+PjApe009Vy1CfDA7Y1syMDMyND4+
Ml09TTtXPWNbMjAzMzY+PjJdfDA7Y1syMDMzNj4+Ml09VytCO2NbVysoQis0KT4+Ml09TXwxO2Nb
Vys0Pj4yXT1CfDM7cD1XKzh8MDtpPWI7cmV0dXJuIHB8MH1kb3tpZigoY1s1MTk2XXwwKT09MCl7
Vz1RYSgzMCl8MDtpZigoVysgLTEmV3wwKT09MCl7Y1syMDc5Mj4+Ml09VztjWzIwNzg4Pj4yXT1X
O2NbMjA3OTY+PjJdPS0xO2NbMjA4MDA+PjJdPS0xO2NbMjA4MDQ+PjJdPTA7Y1syMDc1Nj4+Ml09
MDtjWzUxOTZdPSh4YigwKXwwKSYtMTZeMTQzMTY1NTc2ODticmVha31lbHNle1ZiKCl9fX13aGls
ZSgwKTtXPUIrNDh8MDtNPWNbMjA3OTI+PjJdfDA7Tj1CKzQ3fDA7Vj1NK058MDtVPTAtTXwwO009
ViZVO2lmKCEoTT4+PjA+Qj4+PjApKXtwPTA7aT1iO3JldHVybiBwfDB9VD1jWzIwNzUyPj4yXXww
O2lmKChUfDApIT0wPyhTPWNbMjA3NDQ+PjJdfDAsUj1TK018MCxSPj4+MDw9Uz4+PjB8Uj4+PjA+
VD4+PjApOjApe3A9MDtpPWI7cmV0dXJuIHB8MH1kOmRve2lmKChjWzIwNzU2Pj4yXSY0fDApPT0w
KXtUPWNbMjAzMzY+PjJdfDA7ZTpkb3tpZigoVHwwKSE9MCl7Uj0yMDc2MHwwO3doaWxlKDEpe1M9
Y1tSPj4yXXwwO2lmKCEoUz4+PjA+VD4+PjApPyhYPVIrNHwwLChTKyhjW1g+PjJdfDApfDApPj4+
MD5UPj4+MCk6MCl7YnJlYWt9Uz1jW1IrOD4+Ml18MDtpZigoU3wwKT09MCl7WT0xODI7YnJlYWsg
ZX1lbHNle1I9U319aWYoKFJ8MCkhPTApe1M9Vi0oY1syMDMyND4+Ml18MCkmVTtpZihTPj4+MDwy
MTQ3NDgzNjQ3KXtPPU1hKFN8MCl8MDtQPShPfDApPT0oKGNbUj4+Ml18MCkrKGNbWD4+Ml18MCl8
MCk7Wj1PO189UzskPVA/TzotMTthYT1QP1M6MDtZPTE5MX1lbHNle2JhPTB9fWVsc2V7WT0xODJ9
fWVsc2V7WT0xODJ9fXdoaWxlKDApO2Rve2lmKChZfDApPT0xODIpe1Q9TWEoMCl8MDtpZigoVHww
KSE9KC0xfDApKXtxPVQ7Uz1jWzIwNzg4Pj4yXXwwO1A9UysgLTF8MDtpZigoUCZxfDApPT0wKXtj
YT1NfWVsc2V7Y2E9TS1xKyhQK3EmMC1TKXwwfVM9Y1syMDc0ND4+Ml18MDtxPVMrY2F8MDtpZihj
YT4+PjA+Qj4+PjAmY2E+Pj4wPDIxNDc0ODM2NDcpe1A9Y1syMDc1Mj4+Ml18MDtpZigoUHwwKSE9
MD9xPj4+MDw9Uz4+PjB8cT4+PjA+UD4+PjA6MCl7YmE9MDticmVha31QPU1hKGNhfDApfDA7cT0o
UHwwKT09KFR8MCk7Wj1QO189Y2E7JD1xP1Q6LTE7YWE9cT9jYTowO1k9MTkxfWVsc2V7YmE9MH19
ZWxzZXtiYT0wfX19d2hpbGUoMCk7Zjpkb3tpZigoWXwwKT09MTkxKXtxPTAtX3wwO2lmKCgkfDAp
IT0oLTF8MCkpe2RhPSQ7ZWE9YWE7WT0yMDI7YnJlYWsgZH1kb3tpZigoWnwwKSE9KC0xfDApJl8+
Pj4wPDIxNDc0ODM2NDcmXz4+PjA8Vz4+PjA/KFQ9Y1syMDc5Mj4+Ml18MCxQPU4tXytUJjAtVCxQ
Pj4+MDwyMTQ3NDgzNjQ3KTowKXtpZigoTWEoUHwwKXwwKT09KC0xfDApKXtNYShxfDApfDA7YmE9
YWE7YnJlYWsgZn1lbHNle2ZhPVArX3wwO2JyZWFrfX1lbHNle2ZhPV99fXdoaWxlKDApO2lmKCha
fDApPT0oLTF8MCkpe2JhPWFhfWVsc2V7ZGE9WjtlYT1mYTtZPTIwMjticmVhayBkfX19d2hpbGUo
MCk7Y1syMDc1Nj4+Ml09Y1syMDc1Nj4+Ml18NDtnYT1iYTtZPTE5OX1lbHNle2dhPTA7WT0xOTl9
fXdoaWxlKDApO2lmKCgoKFl8MCk9PTE5OT9NPj4+MDwyMTQ3NDgzNjQ3OjApPyhiYT1NYShNfDAp
fDAsTT1NYSgwKXwwLChNfDApIT0oLTF8MCkmKGJhfDApIT0oLTF8MCkmYmE+Pj4wPE0+Pj4wKTow
KT8oZmE9TS1iYXwwLE09ZmE+Pj4wPihCKzQwfDApPj4+MCxNKTowKXtkYT1iYTtlYT1NP2ZhOmdh
O1k9MjAyfWlmKChZfDApPT0yMDIpe2dhPShjWzIwNzQ0Pj4yXXwwKStlYXwwO2NbMjA3NDQ+PjJd
PWdhO2lmKGdhPj4+MD4oY1syMDc0OD4+Ml18MCk+Pj4wKXtjWzIwNzQ4Pj4yXT1nYX1nYT1jWzIw
MzM2Pj4yXXwwO2c6ZG97aWYoKGdhfDApIT0wKXtmYT0yMDc2MHwwO3doaWxlKDEpe2hhPWNbZmE+
PjJdfDA7aWE9ZmErNHwwO2phPWNbaWE+PjJdfDA7aWYoKGRhfDApPT0oaGEramF8MCkpe1k9MjE0
O2JyZWFrfU09Y1tmYSs4Pj4yXXwwO2lmKChNfDApPT0wKXticmVha31lbHNle2ZhPU19fWlmKCgo
WXwwKT09MjE0PyhjW2ZhKzEyPj4yXSY4fDApPT0wOjApP2dhPj4+MD49aGE+Pj4wJmdhPj4+MDxk
YT4+PjA6MCl7Y1tpYT4+Ml09amErZWE7TT0oY1syMDMyND4+Ml18MCkrZWF8MDtiYT1nYSs4fDA7
aWYoKGJhJjd8MCk9PTApe2thPTB9ZWxzZXtrYT0wLWJhJjd9YmE9TS1rYXwwO2NbMjAzMzY+PjJd
PWdhK2thO2NbMjAzMjQ+PjJdPWJhO2NbZ2ErKGthKzQpPj4yXT1iYXwxO2NbZ2ErKE0rNCk+PjJd
PTQwO2NbMjAzNDA+PjJdPWNbMjA4MDA+PjJdO2JyZWFrfWlmKGRhPj4+MDwoY1syMDMyOD4+Ml18
MCk+Pj4wKXtjWzIwMzI4Pj4yXT1kYX1NPWRhK2VhfDA7YmE9MjA3NjB8MDt3aGlsZSgxKXtpZigo
Y1tiYT4+Ml18MCk9PShNfDApKXtZPTIyNDticmVha31aPWNbYmErOD4+Ml18MDtpZigoWnwwKT09
MCl7YnJlYWt9ZWxzZXtiYT1afX1pZigoWXwwKT09MjI0PyhjW2JhKzEyPj4yXSY4fDApPT0wOjAp
e2NbYmE+PjJdPWRhO009YmErNHwwO2NbTT4+Ml09KGNbTT4+Ml18MCkrZWE7TT1kYSs4fDA7aWYo
KE0mN3wwKT09MCl7bGE9MH1lbHNle2xhPTAtTSY3fU09ZGErKGVhKzgpfDA7aWYoKE0mN3wwKT09
MCl7bWE9MH1lbHNle21hPTAtTSY3fU09ZGErKG1hK2VhKXwwO2ZhPWxhK0J8MDtaPWRhK2ZhfDA7
YWE9TS0oZGErbGEpLUJ8MDtjW2RhKyhsYSs0KT4+Ml09QnwzO2g6ZG97aWYoKE18MCkhPShjWzIw
MzM2Pj4yXXwwKSl7aWYoKE18MCk9PShjWzIwMzMyPj4yXXwwKSl7Xz0oY1syMDMyMD4+Ml18MCkr
YWF8MDtjWzIwMzIwPj4yXT1fO2NbMjAzMzI+PjJdPVo7Y1tkYSsoZmErNCk+PjJdPV98MTtjW2Rh
KyhfK2ZhKT4+Ml09XzticmVha31fPWVhKzR8MDtOPWNbZGErKF8rbWEpPj4yXXwwO2lmKChOJjN8
MCk9PTEpe1c9TiYtODskPU4+Pj4zO2Rve2lmKCEoTj4+PjA8MjU2KSl7Y2E9Y1tkYSsoKG1hfDI0
KStlYSk+PjJdfDA7WD1jW2RhKyhlYSsxMittYSk+PjJdfDA7ZG97aWYoKFh8MCk9PShNfDApKXtV
PW1hfDE2O1Y9ZGErKF8rVSl8MDtxPWNbVj4+Ml18MDtpZigocXwwKT09MCl7Uj1kYSsoVStlYSl8
MDtVPWNbUj4+Ml18MDtpZigoVXwwKT09MCl7bmE9MDticmVha31lbHNle29hPVU7cGE9Un19ZWxz
ZXtvYT1xO3BhPVZ9d2hpbGUoMSl7Vj1vYSsyMHwwO3E9Y1tWPj4yXXwwO2lmKChxfDApIT0wKXtv
YT1xO3BhPVY7Y29udGludWV9Vj1vYSsxNnwwO3E9Y1tWPj4yXXwwO2lmKChxfDApPT0wKXticmVh
a31lbHNle29hPXE7cGE9Vn19aWYocGE+Pj4wPChjWzIwMzI4Pj4yXXwwKT4+PjApe1ZiKCl9ZWxz
ZXtjW3BhPj4yXT0wO25hPW9hO2JyZWFrfX1lbHNle1Y9Y1tkYSsoKG1hfDgpK2VhKT4+Ml18MDtp
ZihWPj4+MDwoY1syMDMyOD4+Ml18MCk+Pj4wKXtWYigpfXE9VisxMnwwO2lmKChjW3E+PjJdfDAp
IT0oTXwwKSl7VmIoKX1SPVgrOHwwO2lmKChjW1I+PjJdfDApPT0oTXwwKSl7Y1txPj4yXT1YO2Nb
Uj4+Ml09VjtuYT1YO2JyZWFrfWVsc2V7VmIoKX19fXdoaWxlKDApO2lmKChjYXwwKSE9MCl7WD1j
W2RhKyhlYSsyOCttYSk+PjJdfDA7aD0yMDYxNisoWDw8Mil8MDtpZigoTXwwKT09KGNbaD4+Ml18
MCkpe2NbaD4+Ml09bmE7aWYoKG5hfDApPT0wKXtjWzIwMzE2Pj4yXT1jWzIwMzE2Pj4yXSZ+KDE8
PFgpO2JyZWFrfX1lbHNle2lmKGNhPj4+MDwoY1syMDMyOD4+Ml18MCk+Pj4wKXtWYigpfVg9Y2Er
MTZ8MDtpZigoY1tYPj4yXXwwKT09KE18MCkpe2NbWD4+Ml09bmF9ZWxzZXtjW2NhKzIwPj4yXT1u
YX1pZigobmF8MCk9PTApe2JyZWFrfX1pZihuYT4+PjA8KGNbMjAzMjg+PjJdfDApPj4+MCl7VmIo
KX1jW25hKzI0Pj4yXT1jYTtYPW1hfDE2O2g9Y1tkYSsoWCtlYSk+PjJdfDA7ZG97aWYoKGh8MCkh
PTApe2lmKGg+Pj4wPChjWzIwMzI4Pj4yXXwwKT4+PjApe1ZiKCl9ZWxzZXtjW25hKzE2Pj4yXT1o
O2NbaCsyND4+Ml09bmE7YnJlYWt9fX13aGlsZSgwKTtoPWNbZGErKF8rWCk+PjJdfDA7aWYoKGh8
MCkhPTApe2lmKGg+Pj4wPChjWzIwMzI4Pj4yXXwwKT4+PjApe1ZiKCl9ZWxzZXtjW25hKzIwPj4y
XT1oO2NbaCsyND4+Ml09bmE7YnJlYWt9fX19ZWxzZXtoPWNbZGErKChtYXw4KStlYSk+PjJdfDA7
Y2E9Y1tkYSsoZWErMTIrbWEpPj4yXXwwO1Y9MjAzNTIrKCQ8PDE8PDIpfDA7aWYoKGh8MCkhPShW
fDApKXtpZihoPj4+MDwoY1syMDMyOD4+Ml18MCk+Pj4wKXtWYigpfWlmKChjW2grMTI+PjJdfDAp
IT0oTXwwKSl7VmIoKX19aWYoKGNhfDApPT0oaHwwKSl7Y1s1MDc4XT1jWzUwNzhdJn4oMTw8JCk7
YnJlYWt9aWYoKGNhfDApIT0oVnwwKSl7aWYoY2E+Pj4wPChjWzIwMzI4Pj4yXXwwKT4+PjApe1Zi
KCl9Vj1jYSs4fDA7aWYoKGNbVj4+Ml18MCk9PShNfDApKXtxYT1WfWVsc2V7VmIoKX19ZWxzZXtx
YT1jYSs4fDB9Y1toKzEyPj4yXT1jYTtjW3FhPj4yXT1ofX13aGlsZSgwKTtyYT1kYSsoKFd8bWEp
K2VhKXwwO3NhPVcrYWF8MH1lbHNle3JhPU07c2E9YWF9JD1yYSs0fDA7Y1skPj4yXT1jWyQ+PjJd
Ji0yO2NbZGErKGZhKzQpPj4yXT1zYXwxO2NbZGErKHNhK2ZhKT4+Ml09c2E7JD1zYT4+PjM7aWYo
c2E+Pj4wPDI1Nil7Xz0kPDwxO049MjAzNTIrKF88PDIpfDA7aD1jWzUwNzhdfDA7Y2E9MTw8JDtp
ZigoaCZjYXwwKSE9MCl7JD0yMDM1MisoXysyPDwyKXwwO1Y9Y1skPj4yXXwwO2lmKFY+Pj4wPChj
WzIwMzI4Pj4yXXwwKT4+PjApe1ZiKCl9ZWxzZXt0YT0kO3VhPVZ9fWVsc2V7Y1s1MDc4XT1ofGNh
O3RhPTIwMzUyKyhfKzI8PDIpfDA7dWE9Tn1jW3RhPj4yXT1aO2NbdWErMTI+PjJdPVo7Y1tkYSso
ZmErOCk+PjJdPXVhO2NbZGErKGZhKzEyKT4+Ml09TjticmVha31OPXNhPj4+ODtpZigoTnwwKSE9
MCl7aWYoc2E+Pj4wPjE2Nzc3MjE1KXt2YT0zMX1lbHNle189KE4rMTA0ODMyMHwwKT4+PjE2Jjg7
Y2E9Tjw8XztOPShjYSs1MjAxOTJ8MCk+Pj4xNiY0O2g9Y2E8PE47Y2E9KGgrMjQ1NzYwfDApPj4+
MTYmMjtWPTE0LShOfF98Y2EpKyhoPDxjYT4+PjE1KXwwO3ZhPXNhPj4+KFYrN3wwKSYxfFY8PDF9
fWVsc2V7dmE9MH1WPTIwNjE2Kyh2YTw8Mil8MDtjW2RhKyhmYSsyOCk+PjJdPXZhO2NbZGErKGZh
KzIwKT4+Ml09MDtjW2RhKyhmYSsxNik+PjJdPTA7Y2E9Y1syMDMxNj4+Ml18MDtoPTE8PHZhO2lm
KChjYSZofDApPT0wKXtjWzIwMzE2Pj4yXT1jYXxoO2NbVj4+Ml09WjtjW2RhKyhmYSsyNCk+PjJd
PVY7Y1tkYSsoZmErMTIpPj4yXT1aO2NbZGErKGZhKzgpPj4yXT1aO2JyZWFrfWg9Y1tWPj4yXXww
O2lmKCh2YXwwKT09MzEpe3dhPTB9ZWxzZXt3YT0yNS0odmE+Pj4xKXwwfWk6ZG97aWYoKGNbaCs0
Pj4yXSYtOHwwKSE9KHNhfDApKXtWPXNhPDx3YTtjYT1oO3doaWxlKDEpe3hhPWNhKyhWPj4+MzE8
PDIpKzE2fDA7Xz1jW3hhPj4yXXwwO2lmKChffDApPT0wKXticmVha31pZigoY1tfKzQ+PjJdJi04
fDApPT0oc2F8MCkpe3lhPV87YnJlYWsgaX1lbHNle1Y9Vjw8MTtjYT1ffX1pZih4YT4+PjA8KGNb
MjAzMjg+PjJdfDApPj4+MCl7VmIoKX1lbHNle2NbeGE+PjJdPVo7Y1tkYSsoZmErMjQpPj4yXT1j
YTtjW2RhKyhmYSsxMik+PjJdPVo7Y1tkYSsoZmErOCk+PjJdPVo7YnJlYWsgaH19ZWxzZXt5YT1o
fX13aGlsZSgwKTtoPXlhKzh8MDtXPWNbaD4+Ml18MDtWPWNbMjAzMjg+PjJdfDA7aWYoeWE+Pj4w
PFY+Pj4wKXtWYigpfWlmKFc+Pj4wPFY+Pj4wKXtWYigpfWVsc2V7Y1tXKzEyPj4yXT1aO2NbaD4+
Ml09WjtjW2RhKyhmYSs4KT4+Ml09VztjW2RhKyhmYSsxMik+PjJdPXlhO2NbZGErKGZhKzI0KT4+
Ml09MDticmVha319ZWxzZXtXPShjWzIwMzI0Pj4yXXwwKSthYXwwO2NbMjAzMjQ+PjJdPVc7Y1sy
MDMzNj4+Ml09WjtjW2RhKyhmYSs0KT4+Ml09V3wxfX13aGlsZSgwKTtwPWRhKyhsYXw4KXwwO2k9
YjtyZXR1cm4gcHwwfWZhPTIwNzYwfDA7d2hpbGUoMSl7emE9Y1tmYT4+Ml18MDtpZighKHphPj4+
MD5nYT4+PjApPyhBYT1jW2ZhKzQ+PjJdfDAsQmE9emErQWF8MCxCYT4+PjA+Z2E+Pj4wKTowKXti
cmVha31mYT1jW2ZhKzg+PjJdfDB9ZmE9emErKEFhKyAtMzkpfDA7aWYoKGZhJjd8MCk9PTApe0Nh
PTB9ZWxzZXtDYT0wLWZhJjd9ZmE9emErKEFhKyAtNDcrQ2EpfDA7Wj1mYT4+PjA8KGdhKzE2fDAp
Pj4+MD9nYTpmYTtmYT1aKzh8MDthYT1kYSs4fDA7aWYoKGFhJjd8MCk9PTApe0RhPTB9ZWxzZXtE
YT0wLWFhJjd9YWE9ZWErIC00MC1EYXwwO2NbMjAzMzY+PjJdPWRhK0RhO2NbMjAzMjQ+PjJdPWFh
O2NbZGErKERhKzQpPj4yXT1hYXwxO2NbZGErKGVhKyAtMzYpPj4yXT00MDtjWzIwMzQwPj4yXT1j
WzIwODAwPj4yXTtjW1orND4+Ml09Mjc7Y1tmYSswPj4yXT1jWzIwNzYwPj4yXTtjW2ZhKzQ+PjJd
PWNbMjA3NjQ+PjJdO2NbZmErOD4+Ml09Y1syMDc2OD4+Ml07Y1tmYSsxMj4+Ml09Y1syMDc3Mj4+
Ml07Y1syMDc2MD4+Ml09ZGE7Y1syMDc2ND4+Ml09ZWE7Y1syMDc3Mj4+Ml09MDtjWzIwNzY4Pj4y
XT1mYTtmYT1aKzI4fDA7Y1tmYT4+Ml09NztpZigoWiszMnwwKT4+PjA8QmE+Pj4wKXthYT1mYTt3
aGlsZSgxKXtmYT1hYSs0fDA7Y1tmYT4+Ml09NztpZigoYWErOHwwKT4+PjA8QmE+Pj4wKXthYT1m
YX1lbHNle2JyZWFrfX19aWYoKFp8MCkhPShnYXwwKSl7YWE9Wi1nYXwwO2ZhPWdhKyhhYSs0KXww
O2NbZmE+PjJdPWNbZmE+PjJdJi0yO2NbZ2ErND4+Ml09YWF8MTtjW2dhK2FhPj4yXT1hYTtmYT1h
YT4+PjM7aWYoYWE+Pj4wPDI1Nil7TT1mYTw8MTtiYT0yMDM1MisoTTw8Mil8MDtXPWNbNTA3OF18
MDtoPTE8PGZhO2lmKChXJmh8MCkhPTApe2ZhPTIwMzUyKyhNKzI8PDIpfDA7Vj1jW2ZhPj4yXXww
O2lmKFY+Pj4wPChjWzIwMzI4Pj4yXXwwKT4+PjApe1ZiKCl9ZWxzZXtFYT1mYTtGYT1WfX1lbHNl
e2NbNTA3OF09V3xoO0VhPTIwMzUyKyhNKzI8PDIpfDA7RmE9YmF9Y1tFYT4+Ml09Z2E7Y1tGYSsx
Mj4+Ml09Z2E7Y1tnYSs4Pj4yXT1GYTtjW2dhKzEyPj4yXT1iYTticmVha31iYT1hYT4+Pjg7aWYo
KGJhfDApIT0wKXtpZihhYT4+PjA+MTY3NzcyMTUpe0dhPTMxfWVsc2V7TT0oYmErMTA0ODMyMHww
KT4+PjE2Jjg7aD1iYTw8TTtiYT0oaCs1MjAxOTJ8MCk+Pj4xNiY0O1c9aDw8YmE7aD0oVysyNDU3
NjB8MCk+Pj4xNiYyO1Y9MTQtKGJhfE18aCkrKFc8PGg+Pj4xNSl8MDtHYT1hYT4+PihWKzd8MCkm
MXxWPDwxfX1lbHNle0dhPTB9Vj0yMDYxNisoR2E8PDIpfDA7Y1tnYSsyOD4+Ml09R2E7Y1tnYSsy
MD4+Ml09MDtjW2dhKzE2Pj4yXT0wO2g9Y1syMDMxNj4+Ml18MDtXPTE8PEdhO2lmKChoJld8MCk9
PTApe2NbMjAzMTY+PjJdPWh8VztjW1Y+PjJdPWdhO2NbZ2ErMjQ+PjJdPVY7Y1tnYSsxMj4+Ml09
Z2E7Y1tnYSs4Pj4yXT1nYTticmVha31XPWNbVj4+Ml18MDtpZigoR2F8MCk9PTMxKXtIYT0wfWVs
c2V7SGE9MjUtKEdhPj4+MSl8MH1qOmRve2lmKChjW1crND4+Ml0mLTh8MCkhPShhYXwwKSl7Vj1h
YTw8SGE7aD1XO3doaWxlKDEpe0lhPWgrKFY+Pj4zMTw8MikrMTZ8MDtNPWNbSWE+PjJdfDA7aWYo
KE18MCk9PTApe2JyZWFrfWlmKChjW00rND4+Ml0mLTh8MCk9PShhYXwwKSl7SmE9TTticmVhayBq
fWVsc2V7Vj1WPDwxO2g9TX19aWYoSWE+Pj4wPChjWzIwMzI4Pj4yXXwwKT4+PjApe1ZiKCl9ZWxz
ZXtjW0lhPj4yXT1nYTtjW2dhKzI0Pj4yXT1oO2NbZ2ErMTI+PjJdPWdhO2NbZ2ErOD4+Ml09Z2E7
YnJlYWsgZ319ZWxzZXtKYT1XfX13aGlsZSgwKTtXPUphKzh8MDthYT1jW1c+PjJdfDA7Wj1jWzIw
MzI4Pj4yXXwwO2lmKEphPj4+MDxaPj4+MCl7VmIoKX1pZihhYT4+PjA8Wj4+PjApe1ZiKCl9ZWxz
ZXtjW2FhKzEyPj4yXT1nYTtjW1c+PjJdPWdhO2NbZ2ErOD4+Ml09YWE7Y1tnYSsxMj4+Ml09SmE7
Y1tnYSsyND4+Ml09MDticmVha319fWVsc2V7YWE9Y1syMDMyOD4+Ml18MDtpZigoYWF8MCk9PTB8
ZGE+Pj4wPGFhPj4+MCl7Y1syMDMyOD4+Ml09ZGF9Y1syMDc2MD4+Ml09ZGE7Y1syMDc2ND4+Ml09
ZWE7Y1syMDc3Mj4+Ml09MDtjWzIwMzQ4Pj4yXT1jWzUxOTZdO2NbMjAzNDQ+PjJdPS0xO2FhPTA7
ZG97Vz1hYTw8MTtaPTIwMzUyKyhXPDwyKXwwO2NbMjAzNTIrKFcrMzw8Mik+PjJdPVo7Y1syMDM1
MisoVysyPDwyKT4+Ml09WjthYT1hYSsxfDB9d2hpbGUoKGFhfDApIT0zMik7YWE9ZGErOHwwO2lm
KChhYSY3fDApPT0wKXtLYT0wfWVsc2V7S2E9MC1hYSY3fWFhPWVhKyAtNDAtS2F8MDtjWzIwMzM2
Pj4yXT1kYStLYTtjWzIwMzI0Pj4yXT1hYTtjW2RhKyhLYSs0KT4+Ml09YWF8MTtjW2RhKyhlYSsg
LTM2KT4+Ml09NDA7Y1syMDM0MD4+Ml09Y1syMDgwMD4+Ml19fXdoaWxlKDApO2VhPWNbMjAzMjQ+
PjJdfDA7aWYoZWE+Pj4wPkI+Pj4wKXtkYT1lYS1CfDA7Y1syMDMyND4+Ml09ZGE7ZWE9Y1syMDMz
Nj4+Ml18MDtjWzIwMzM2Pj4yXT1lYStCO2NbZWErKEIrNCk+PjJdPWRhfDE7Y1tlYSs0Pj4yXT1C
fDM7cD1lYSs4fDA7aT1iO3JldHVybiBwfDB9fWNbKG1jKCl8MCk+PjJdPTEyO3A9MDtpPWI7cmV0
dXJuIHB8MH1mdW5jdGlvbiB3byhhKXthPWF8MDt2YXIgYj0wLGQ9MCxlPTAsZj0wLGc9MCxoPTAs
aj0wLGs9MCxsPTAsbT0wLG49MCxvPTAscD0wLHE9MCxyPTAscz0wLHQ9MCx1PTAsdj0wLHc9MCx4
PTAseT0wLHo9MCxBPTAsQj0wLEM9MCxEPTAsRT0wLEY9MCxHPTAsSD0wLEk9MCxKPTAsSz0wO2I9
aTtpZigoYXwwKT09MCl7aT1iO3JldHVybn1kPWErIC04fDA7ZT1jWzIwMzI4Pj4yXXwwO2lmKGQ+
Pj4wPGU+Pj4wKXtWYigpfWY9Y1thKyAtND4+Ml18MDtnPWYmMztpZigoZ3wwKT09MSl7VmIoKX1o
PWYmLTg7aj1hKyhoKyAtOCl8MDtkb3tpZigoZiYxfDApPT0wKXtrPWNbZD4+Ml18MDtpZigoZ3ww
KT09MCl7aT1iO3JldHVybn1sPS04LWt8MDttPWErbHwwO249aytofDA7aWYobT4+PjA8ZT4+PjAp
e1ZiKCl9aWYoKG18MCk9PShjWzIwMzMyPj4yXXwwKSl7bz1hKyhoKyAtNCl8MDtpZigoY1tvPj4y
XSYzfDApIT0zKXtwPW07cT1uO2JyZWFrfWNbMjAzMjA+PjJdPW47Y1tvPj4yXT1jW28+PjJdJi0y
O2NbYSsobCs0KT4+Ml09bnwxO2Nbaj4+Ml09bjtpPWI7cmV0dXJufW89az4+PjM7aWYoaz4+PjA8
MjU2KXtrPWNbYSsobCs4KT4+Ml18MDtyPWNbYSsobCsxMik+PjJdfDA7cz0yMDM1Misobzw8MTw8
Mil8MDtpZigoa3wwKSE9KHN8MCkpe2lmKGs+Pj4wPGU+Pj4wKXtWYigpfWlmKChjW2srMTI+PjJd
fDApIT0obXwwKSl7VmIoKX19aWYoKHJ8MCk9PShrfDApKXtjWzUwNzhdPWNbNTA3OF0mfigxPDxv
KTtwPW07cT1uO2JyZWFrfWlmKChyfDApIT0oc3wwKSl7aWYocj4+PjA8ZT4+PjApe1ZiKCl9cz1y
Kzh8MDtpZigoY1tzPj4yXXwwKT09KG18MCkpe3Q9c31lbHNle1ZiKCl9fWVsc2V7dD1yKzh8MH1j
W2srMTI+PjJdPXI7Y1t0Pj4yXT1rO3A9bTtxPW47YnJlYWt9az1jW2ErKGwrMjQpPj4yXXwwO3I9
Y1thKyhsKzEyKT4+Ml18MDtkb3tpZigocnwwKT09KG18MCkpe3M9YSsobCsyMCl8MDtvPWNbcz4+
Ml18MDtpZigob3wwKT09MCl7dT1hKyhsKzE2KXwwO3Y9Y1t1Pj4yXXwwO2lmKCh2fDApPT0wKXt3
PTA7YnJlYWt9ZWxzZXt4PXY7eT11fX1lbHNle3g9bzt5PXN9d2hpbGUoMSl7cz14KzIwfDA7bz1j
W3M+PjJdfDA7aWYoKG98MCkhPTApe3g9bzt5PXM7Y29udGludWV9cz14KzE2fDA7bz1jW3M+PjJd
fDA7aWYoKG98MCk9PTApe2JyZWFrfWVsc2V7eD1vO3k9c319aWYoeT4+PjA8ZT4+PjApe1ZiKCl9
ZWxzZXtjW3k+PjJdPTA7dz14O2JyZWFrfX1lbHNle3M9Y1thKyhsKzgpPj4yXXwwO2lmKHM+Pj4w
PGU+Pj4wKXtWYigpfW89cysxMnwwO2lmKChjW28+PjJdfDApIT0obXwwKSl7VmIoKX11PXIrOHww
O2lmKChjW3U+PjJdfDApPT0obXwwKSl7Y1tvPj4yXT1yO2NbdT4+Ml09czt3PXI7YnJlYWt9ZWxz
ZXtWYigpfX19d2hpbGUoMCk7aWYoKGt8MCkhPTApe3I9Y1thKyhsKzI4KT4+Ml18MDtzPTIwNjE2
KyhyPDwyKXwwO2lmKChtfDApPT0oY1tzPj4yXXwwKSl7Y1tzPj4yXT13O2lmKCh3fDApPT0wKXtj
WzIwMzE2Pj4yXT1jWzIwMzE2Pj4yXSZ+KDE8PHIpO3A9bTtxPW47YnJlYWt9fWVsc2V7aWYoaz4+
PjA8KGNbMjAzMjg+PjJdfDApPj4+MCl7VmIoKX1yPWsrMTZ8MDtpZigoY1tyPj4yXXwwKT09KG18
MCkpe2Nbcj4+Ml09d31lbHNle2NbaysyMD4+Ml09d31pZigod3wwKT09MCl7cD1tO3E9bjticmVh
a319aWYodz4+PjA8KGNbMjAzMjg+PjJdfDApPj4+MCl7VmIoKX1jW3crMjQ+PjJdPWs7cj1jW2Er
KGwrMTYpPj4yXXwwO2Rve2lmKChyfDApIT0wKXtpZihyPj4+MDwoY1syMDMyOD4+Ml18MCk+Pj4w
KXtWYigpfWVsc2V7Y1t3KzE2Pj4yXT1yO2NbcisyND4+Ml09dzticmVha319fXdoaWxlKDApO3I9
Y1thKyhsKzIwKT4+Ml18MDtpZigocnwwKSE9MCl7aWYocj4+PjA8KGNbMjAzMjg+PjJdfDApPj4+
MCl7VmIoKX1lbHNle2NbdysyMD4+Ml09cjtjW3IrMjQ+PjJdPXc7cD1tO3E9bjticmVha319ZWxz
ZXtwPW07cT1ufX1lbHNle3A9bTtxPW59fWVsc2V7cD1kO3E9aH19d2hpbGUoMCk7aWYoIShwPj4+
MDxqPj4+MCkpe1ZiKCl9ZD1hKyhoKyAtNCl8MDt3PWNbZD4+Ml18MDtpZigodyYxfDApPT0wKXtW
YigpfWlmKCh3JjJ8MCk9PTApe2lmKChqfDApPT0oY1syMDMzNj4+Ml18MCkpe2U9KGNbMjAzMjQ+
PjJdfDApK3F8MDtjWzIwMzI0Pj4yXT1lO2NbMjAzMzY+PjJdPXA7Y1twKzQ+PjJdPWV8MTtpZigo
cHwwKSE9KGNbMjAzMzI+PjJdfDApKXtpPWI7cmV0dXJufWNbMjAzMzI+PjJdPTA7Y1syMDMyMD4+
Ml09MDtpPWI7cmV0dXJufWlmKChqfDApPT0oY1syMDMzMj4+Ml18MCkpe2U9KGNbMjAzMjA+PjJd
fDApK3F8MDtjWzIwMzIwPj4yXT1lO2NbMjAzMzI+PjJdPXA7Y1twKzQ+PjJdPWV8MTtjW3ArZT4+
Ml09ZTtpPWI7cmV0dXJufWU9KHcmLTgpK3F8MDt4PXc+Pj4zO2Rve2lmKCEodz4+PjA8MjU2KSl7
eT1jW2ErKGgrMTYpPj4yXXwwO3Q9Y1thKyhofDQpPj4yXXwwO2Rve2lmKCh0fDApPT0oanwwKSl7
Zz1hKyhoKzEyKXwwO2Y9Y1tnPj4yXXwwO2lmKChmfDApPT0wKXtyPWErKGgrOCl8MDtrPWNbcj4+
Ml18MDtpZigoa3wwKT09MCl7ej0wO2JyZWFrfWVsc2V7QT1rO0I9cn19ZWxzZXtBPWY7Qj1nfXdo
aWxlKDEpe2c9QSsyMHwwO2Y9Y1tnPj4yXXwwO2lmKChmfDApIT0wKXtBPWY7Qj1nO2NvbnRpbnVl
fWc9QSsxNnwwO2Y9Y1tnPj4yXXwwO2lmKChmfDApPT0wKXticmVha31lbHNle0E9ZjtCPWd9fWlm
KEI+Pj4wPChjWzIwMzI4Pj4yXXwwKT4+PjApe1ZiKCl9ZWxzZXtjW0I+PjJdPTA7ej1BO2JyZWFr
fX1lbHNle2c9Y1thK2g+PjJdfDA7aWYoZz4+PjA8KGNbMjAzMjg+PjJdfDApPj4+MCl7VmIoKX1m
PWcrMTJ8MDtpZigoY1tmPj4yXXwwKSE9KGp8MCkpe1ZiKCl9cj10Kzh8MDtpZigoY1tyPj4yXXww
KT09KGp8MCkpe2NbZj4+Ml09dDtjW3I+PjJdPWc7ej10O2JyZWFrfWVsc2V7VmIoKX19fXdoaWxl
KDApO2lmKCh5fDApIT0wKXt0PWNbYSsoaCsyMCk+PjJdfDA7bj0yMDYxNisodDw8Mil8MDtpZigo
anwwKT09KGNbbj4+Ml18MCkpe2Nbbj4+Ml09ejtpZigoenwwKT09MCl7Y1syMDMxNj4+Ml09Y1sy
MDMxNj4+Ml0mfigxPDx0KTticmVha319ZWxzZXtpZih5Pj4+MDwoY1syMDMyOD4+Ml18MCk+Pj4w
KXtWYigpfXQ9eSsxNnwwO2lmKChjW3Q+PjJdfDApPT0oanwwKSl7Y1t0Pj4yXT16fWVsc2V7Y1t5
KzIwPj4yXT16fWlmKCh6fDApPT0wKXticmVha319aWYoej4+PjA8KGNbMjAzMjg+PjJdfDApPj4+
MCl7VmIoKX1jW3orMjQ+PjJdPXk7dD1jW2ErKGgrOCk+PjJdfDA7ZG97aWYoKHR8MCkhPTApe2lm
KHQ+Pj4wPChjWzIwMzI4Pj4yXXwwKT4+PjApe1ZiKCl9ZWxzZXtjW3orMTY+PjJdPXQ7Y1t0KzI0
Pj4yXT16O2JyZWFrfX19d2hpbGUoMCk7dD1jW2ErKGgrMTIpPj4yXXwwO2lmKCh0fDApIT0wKXtp
Zih0Pj4+MDwoY1syMDMyOD4+Ml18MCk+Pj4wKXtWYigpfWVsc2V7Y1t6KzIwPj4yXT10O2NbdCsy
ND4+Ml09ejticmVha319fX1lbHNle3Q9Y1thK2g+PjJdfDA7eT1jW2ErKGh8NCk+PjJdfDA7bj0y
MDM1MisoeDw8MTw8Mil8MDtpZigodHwwKSE9KG58MCkpe2lmKHQ+Pj4wPChjWzIwMzI4Pj4yXXww
KT4+PjApe1ZiKCl9aWYoKGNbdCsxMj4+Ml18MCkhPShqfDApKXtWYigpfX1pZigoeXwwKT09KHR8
MCkpe2NbNTA3OF09Y1s1MDc4XSZ+KDE8PHgpO2JyZWFrfWlmKCh5fDApIT0obnwwKSl7aWYoeT4+
PjA8KGNbMjAzMjg+PjJdfDApPj4+MCl7VmIoKX1uPXkrOHwwO2lmKChjW24+PjJdfDApPT0oanww
KSl7Qz1ufWVsc2V7VmIoKX19ZWxzZXtDPXkrOHwwfWNbdCsxMj4+Ml09eTtjW0M+PjJdPXR9fXdo
aWxlKDApO2NbcCs0Pj4yXT1lfDE7Y1twK2U+PjJdPWU7aWYoKHB8MCk9PShjWzIwMzMyPj4yXXww
KSl7Y1syMDMyMD4+Ml09ZTtpPWI7cmV0dXJufWVsc2V7RD1lfX1lbHNle2NbZD4+Ml09dyYtMjtj
W3ArND4+Ml09cXwxO2NbcCtxPj4yXT1xO0Q9cX1xPUQ+Pj4zO2lmKEQ+Pj4wPDI1Nil7dz1xPDwx
O2Q9MjAzNTIrKHc8PDIpfDA7ZT1jWzUwNzhdfDA7Qz0xPDxxO2lmKChlJkN8MCkhPTApe3E9MjAz
NTIrKHcrMjw8Mil8MDtqPWNbcT4+Ml18MDtpZihqPj4+MDwoY1syMDMyOD4+Ml18MCk+Pj4wKXtW
YigpfWVsc2V7RT1xO0Y9an19ZWxzZXtjWzUwNzhdPWV8QztFPTIwMzUyKyh3KzI8PDIpfDA7Rj1k
fWNbRT4+Ml09cDtjW0YrMTI+PjJdPXA7Y1twKzg+PjJdPUY7Y1twKzEyPj4yXT1kO2k9YjtyZXR1
cm59ZD1EPj4+ODtpZigoZHwwKSE9MCl7aWYoRD4+PjA+MTY3NzcyMTUpe0c9MzF9ZWxzZXtGPShk
KzEwNDgzMjB8MCk+Pj4xNiY4O0U9ZDw8RjtkPShFKzUyMDE5MnwwKT4+PjE2JjQ7dz1FPDxkO0U9
KHcrMjQ1NzYwfDApPj4+MTYmMjtDPTE0LShkfEZ8RSkrKHc8PEU+Pj4xNSl8MDtHPUQ+Pj4oQys3
fDApJjF8Qzw8MX19ZWxzZXtHPTB9Qz0yMDYxNisoRzw8Mil8MDtjW3ArMjg+PjJdPUc7Y1twKzIw
Pj4yXT0wO2NbcCsxNj4+Ml09MDtFPWNbMjAzMTY+PjJdfDA7dz0xPDxHO2E6ZG97aWYoKEUmd3ww
KSE9MCl7Rj1jW0M+PjJdfDA7aWYoKEd8MCk9PTMxKXtIPTB9ZWxzZXtIPTI1LShHPj4+MSl8MH1i
OmRve2lmKChjW0YrND4+Ml0mLTh8MCkhPShEfDApKXtkPUQ8PEg7ZT1GO3doaWxlKDEpe0k9ZSso
ZD4+PjMxPDwyKSsxNnwwO2o9Y1tJPj4yXXwwO2lmKChqfDApPT0wKXticmVha31pZigoY1tqKzQ+
PjJdJi04fDApPT0oRHwwKSl7Sj1qO2JyZWFrIGJ9ZWxzZXtkPWQ8PDE7ZT1qfX1pZihJPj4+MDwo
Y1syMDMyOD4+Ml18MCk+Pj4wKXtWYigpfWVsc2V7Y1tJPj4yXT1wO2NbcCsyND4+Ml09ZTtjW3Ar
MTI+PjJdPXA7Y1twKzg+PjJdPXA7YnJlYWsgYX19ZWxzZXtKPUZ9fXdoaWxlKDApO0Y9Sis4fDA7
ZD1jW0Y+PjJdfDA7aj1jWzIwMzI4Pj4yXXwwO2lmKEo+Pj4wPGo+Pj4wKXtWYigpfWlmKGQ+Pj4w
PGo+Pj4wKXtWYigpfWVsc2V7Y1tkKzEyPj4yXT1wO2NbRj4+Ml09cDtjW3ArOD4+Ml09ZDtjW3Ar
MTI+PjJdPUo7Y1twKzI0Pj4yXT0wO2JyZWFrfX1lbHNle2NbMjAzMTY+PjJdPUV8dztjW0M+PjJd
PXA7Y1twKzI0Pj4yXT1DO2NbcCsxMj4+Ml09cDtjW3ArOD4+Ml09cH19d2hpbGUoMCk7cD0oY1sy
MDM0ND4+Ml18MCkrIC0xfDA7Y1syMDM0ND4+Ml09cDtpZigocHwwKT09MCl7Sz0yMDc2OHwwfWVs
c2V7aT1iO3JldHVybn13aGlsZSgxKXtwPWNbSz4+Ml18MDtpZigocHwwKT09MCl7YnJlYWt9ZWxz
ZXtLPXArOHwwfX1jWzIwMzQ0Pj4yXT0tMTtpPWI7cmV0dXJufWZ1bmN0aW9uIHhvKGEsYil7YT1h
fDA7Yj1ifDA7dmFyIGQ9MCxlPTAsZj0wLGc9MCxoPTAsaj0wO2Q9aTtkb3tpZigoYXwwKSE9MCl7
aWYoYj4+PjA+NDI5NDk2NzIzMSl7Y1sobWMoKXwwKT4+Ml09MTI7ZT0wO2JyZWFrfWlmKGI+Pj4w
PDExKXtmPTE2fWVsc2V7Zj1iKzExJi04fWc9eW8oYSsgLTh8MCxmKXwwO2lmKChnfDApIT0wKXtl
PWcrOHwwO2JyZWFrfWc9dm8oYil8MDtpZigoZ3wwKT09MCl7ZT0wfWVsc2V7aD1jW2ErIC00Pj4y
XXwwO2o9KGgmLTgpLSgoaCYzfDApPT0wPzg6NCl8MDtYbyhnfDAsYXwwLChqPj4+MDxiPj4+MD9q
OmIpfDApfDA7d28oYSk7ZT1nfX1lbHNle2U9dm8oYil8MH19d2hpbGUoMCk7aT1kO3JldHVybiBl
fDB9ZnVuY3Rpb24geW8oYSxiKXthPWF8MDtiPWJ8MDt2YXIgZD0wLGU9MCxmPTAsZz0wLGg9MCxq
PTAsaz0wLGw9MCxtPTAsbj0wLG89MCxwPTAscT0wLHI9MCxzPTAsdD0wLHU9MCx2PTAsdz0wLHg9
MDtkPWk7ZT1hKzR8MDtmPWNbZT4+Ml18MDtnPWYmLTg7aD1hK2d8MDtqPWNbMjAzMjg+PjJdfDA7
aWYoYT4+PjA8aj4+PjApe1ZiKCl9az1mJjM7aWYoISgoa3wwKSE9MSZhPj4+MDxoPj4+MCkpe1Zi
KCl9bD1hKyhnfDQpfDA7bT1jW2w+PjJdfDA7aWYoKG0mMXwwKT09MCl7VmIoKX1pZigoa3wwKT09
MCl7aWYoYj4+PjA8MjU2KXtuPTA7aT1kO3JldHVybiBufDB9aWYoIShnPj4+MDwoYis0fDApPj4+
MCk/ISgoZy1ifDApPj4+MD5jWzIwNzkyPj4yXTw8MT4+PjApOjApe249YTtpPWQ7cmV0dXJuIG58
MH1uPTA7aT1kO3JldHVybiBufDB9aWYoIShnPj4+MDxiPj4+MCkpe2s9Zy1ifDA7aWYoIShrPj4+
MD4xNSkpe249YTtpPWQ7cmV0dXJuIG58MH1jW2U+PjJdPWYmMXxifDI7Y1thKyhiKzQpPj4yXT1r
fDM7Y1tsPj4yXT1jW2w+PjJdfDE7em8oYStifDAsayk7bj1hO2k9ZDtyZXR1cm4gbnwwfWlmKCho
fDApPT0oY1syMDMzNj4+Ml18MCkpe2s9KGNbMjAzMjQ+PjJdfDApK2d8MDtpZighKGs+Pj4wPmI+
Pj4wKSl7bj0wO2k9ZDtyZXR1cm4gbnwwfWw9ay1ifDA7Y1tlPj4yXT1mJjF8YnwyO2NbYSsoYis0
KT4+Ml09bHwxO2NbMjAzMzY+PjJdPWErYjtjWzIwMzI0Pj4yXT1sO249YTtpPWQ7cmV0dXJuIG58
MH1pZigoaHwwKT09KGNbMjAzMzI+PjJdfDApKXtsPShjWzIwMzIwPj4yXXwwKStnfDA7aWYobD4+
PjA8Yj4+PjApe249MDtpPWQ7cmV0dXJuIG58MH1rPWwtYnwwO2lmKGs+Pj4wPjE1KXtjW2U+PjJd
PWYmMXxifDI7Y1thKyhiKzQpPj4yXT1rfDE7Y1thK2w+PjJdPWs7bz1hKyhsKzQpfDA7Y1tvPj4y
XT1jW28+PjJdJi0yO3A9YStifDA7cT1rfWVsc2V7Y1tlPj4yXT1mJjF8bHwyO2Y9YSsobCs0KXww
O2NbZj4+Ml09Y1tmPj4yXXwxO3A9MDtxPTB9Y1syMDMyMD4+Ml09cTtjWzIwMzMyPj4yXT1wO249
YTtpPWQ7cmV0dXJuIG58MH1pZigobSYyfDApIT0wKXtuPTA7aT1kO3JldHVybiBufDB9cD0obSYt
OCkrZ3wwO2lmKHA+Pj4wPGI+Pj4wKXtuPTA7aT1kO3JldHVybiBufDB9cT1wLWJ8MDtmPW0+Pj4z
O2Rve2lmKCEobT4+PjA8MjU2KSl7bD1jW2ErKGcrMjQpPj4yXXwwO2s9Y1thKyhnKzEyKT4+Ml18
MDtkb3tpZigoa3wwKT09KGh8MCkpe289YSsoZysyMCl8MDtyPWNbbz4+Ml18MDtpZigocnwwKT09
MCl7cz1hKyhnKzE2KXwwO3Q9Y1tzPj4yXXwwO2lmKCh0fDApPT0wKXt1PTA7YnJlYWt9ZWxzZXt2
PXQ7dz1zfX1lbHNle3Y9cjt3PW99d2hpbGUoMSl7bz12KzIwfDA7cj1jW28+PjJdfDA7aWYoKHJ8
MCkhPTApe3Y9cjt3PW87Y29udGludWV9bz12KzE2fDA7cj1jW28+PjJdfDA7aWYoKHJ8MCk9PTAp
e2JyZWFrfWVsc2V7dj1yO3c9b319aWYodz4+PjA8aj4+PjApe1ZiKCl9ZWxzZXtjW3c+PjJdPTA7
dT12O2JyZWFrfX1lbHNle289Y1thKyhnKzgpPj4yXXwwO2lmKG8+Pj4wPGo+Pj4wKXtWYigpfXI9
bysxMnwwO2lmKChjW3I+PjJdfDApIT0oaHwwKSl7VmIoKX1zPWsrOHwwO2lmKChjW3M+PjJdfDAp
PT0oaHwwKSl7Y1tyPj4yXT1rO2Nbcz4+Ml09bzt1PWs7YnJlYWt9ZWxzZXtWYigpfX19d2hpbGUo
MCk7aWYoKGx8MCkhPTApe2s9Y1thKyhnKzI4KT4+Ml18MDtvPTIwNjE2KyhrPDwyKXwwO2lmKCho
fDApPT0oY1tvPj4yXXwwKSl7Y1tvPj4yXT11O2lmKCh1fDApPT0wKXtjWzIwMzE2Pj4yXT1jWzIw
MzE2Pj4yXSZ+KDE8PGspO2JyZWFrfX1lbHNle2lmKGw+Pj4wPChjWzIwMzI4Pj4yXXwwKT4+PjAp
e1ZiKCl9az1sKzE2fDA7aWYoKGNbaz4+Ml18MCk9PShofDApKXtjW2s+PjJdPXV9ZWxzZXtjW2wr
MjA+PjJdPXV9aWYoKHV8MCk9PTApe2JyZWFrfX1pZih1Pj4+MDwoY1syMDMyOD4+Ml18MCk+Pj4w
KXtWYigpfWNbdSsyND4+Ml09bDtrPWNbYSsoZysxNik+PjJdfDA7ZG97aWYoKGt8MCkhPTApe2lm
KGs+Pj4wPChjWzIwMzI4Pj4yXXwwKT4+PjApe1ZiKCl9ZWxzZXtjW3UrMTY+PjJdPWs7Y1trKzI0
Pj4yXT11O2JyZWFrfX19d2hpbGUoMCk7az1jW2ErKGcrMjApPj4yXXwwO2lmKChrfDApIT0wKXtp
ZihrPj4+MDwoY1syMDMyOD4+Ml18MCk+Pj4wKXtWYigpfWVsc2V7Y1t1KzIwPj4yXT1rO2Nbaysy
ND4+Ml09dTticmVha319fX1lbHNle2s9Y1thKyhnKzgpPj4yXXwwO2w9Y1thKyhnKzEyKT4+Ml18
MDtvPTIwMzUyKyhmPDwxPDwyKXwwO2lmKChrfDApIT0ob3wwKSl7aWYoaz4+PjA8aj4+PjApe1Zi
KCl9aWYoKGNbaysxMj4+Ml18MCkhPShofDApKXtWYigpfX1pZigobHwwKT09KGt8MCkpe2NbNTA3
OF09Y1s1MDc4XSZ+KDE8PGYpO2JyZWFrfWlmKChsfDApIT0ob3wwKSl7aWYobD4+PjA8aj4+PjAp
e1ZiKCl9bz1sKzh8MDtpZigoY1tvPj4yXXwwKT09KGh8MCkpe3g9b31lbHNle1ZiKCl9fWVsc2V7
eD1sKzh8MH1jW2srMTI+PjJdPWw7Y1t4Pj4yXT1rfX13aGlsZSgwKTtpZihxPj4+MDwxNil7Y1tl
Pj4yXT1wfGNbZT4+Ml0mMXwyO3g9YSsocHw0KXwwO2NbeD4+Ml09Y1t4Pj4yXXwxO249YTtpPWQ7
cmV0dXJuIG58MH1lbHNle2NbZT4+Ml09Y1tlPj4yXSYxfGJ8MjtjW2ErKGIrNCk+PjJdPXF8Mztl
PWErKHB8NCl8MDtjW2U+PjJdPWNbZT4+Ml18MTt6byhhK2J8MCxxKTtuPWE7aT1kO3JldHVybiBu
fDB9cmV0dXJuIDB9ZnVuY3Rpb24gem8oYSxiKXthPWF8MDtiPWJ8MDt2YXIgZD0wLGU9MCxmPTAs
Zz0wLGg9MCxqPTAsaz0wLGw9MCxtPTAsbj0wLG89MCxwPTAscT0wLHI9MCxzPTAsdD0wLHU9MCx2
PTAsdz0wLHg9MCx5PTAsej0wLEE9MCxCPTAsQz0wLEQ9MCxFPTAsRj0wLEc9MCxIPTA7ZD1pO2U9
YStifDA7Zj1jW2ErND4+Ml18MDtkb3tpZigoZiYxfDApPT0wKXtnPWNbYT4+Ml18MDtpZigoZiYz
fDApPT0wKXtpPWQ7cmV0dXJufWg9YSsoMC1nKXwwO2o9ZytifDA7az1jWzIwMzI4Pj4yXXwwO2lm
KGg+Pj4wPGs+Pj4wKXtWYigpfWlmKChofDApPT0oY1syMDMzMj4+Ml18MCkpe2w9YSsoYis0KXww
O2lmKChjW2w+PjJdJjN8MCkhPTMpe209aDtuPWo7YnJlYWt9Y1syMDMyMD4+Ml09ajtjW2w+PjJd
PWNbbD4+Ml0mLTI7Y1thKyg0LWcpPj4yXT1qfDE7Y1tlPj4yXT1qO2k9ZDtyZXR1cm59bD1nPj4+
MztpZihnPj4+MDwyNTYpe289Y1thKyg4LWcpPj4yXXwwO3A9Y1thKygxMi1nKT4+Ml18MDtxPTIw
MzUyKyhsPDwxPDwyKXwwO2lmKChvfDApIT0ocXwwKSl7aWYobz4+PjA8az4+PjApe1ZiKCl9aWYo
KGNbbysxMj4+Ml18MCkhPShofDApKXtWYigpfX1pZigocHwwKT09KG98MCkpe2NbNTA3OF09Y1s1
MDc4XSZ+KDE8PGwpO209aDtuPWo7YnJlYWt9aWYoKHB8MCkhPShxfDApKXtpZihwPj4+MDxrPj4+
MCl7VmIoKX1xPXArOHwwO2lmKChjW3E+PjJdfDApPT0oaHwwKSl7cj1xfWVsc2V7VmIoKX19ZWxz
ZXtyPXArOHwwfWNbbysxMj4+Ml09cDtjW3I+PjJdPW87bT1oO249ajticmVha31vPWNbYSsoMjQt
Zyk+PjJdfDA7cD1jW2ErKDEyLWcpPj4yXXwwO2Rve2lmKChwfDApPT0oaHwwKSl7cT0xNi1nfDA7
bD1hKyhxKzQpfDA7cz1jW2w+PjJdfDA7aWYoKHN8MCk9PTApe3Q9YStxfDA7cT1jW3Q+PjJdfDA7
aWYoKHF8MCk9PTApe3U9MDticmVha31lbHNle3Y9cTt3PXR9fWVsc2V7dj1zO3c9bH13aGlsZSgx
KXtsPXYrMjB8MDtzPWNbbD4+Ml18MDtpZigoc3wwKSE9MCl7dj1zO3c9bDtjb250aW51ZX1sPXYr
MTZ8MDtzPWNbbD4+Ml18MDtpZigoc3wwKT09MCl7YnJlYWt9ZWxzZXt2PXM7dz1sfX1pZih3Pj4+
MDxrPj4+MCl7VmIoKX1lbHNle2Nbdz4+Ml09MDt1PXY7YnJlYWt9fWVsc2V7bD1jW2ErKDgtZyk+
PjJdfDA7aWYobD4+PjA8az4+PjApe1ZiKCl9cz1sKzEyfDA7aWYoKGNbcz4+Ml18MCkhPShofDAp
KXtWYigpfXQ9cCs4fDA7aWYoKGNbdD4+Ml18MCk9PShofDApKXtjW3M+PjJdPXA7Y1t0Pj4yXT1s
O3U9cDticmVha31lbHNle1ZiKCl9fX13aGlsZSgwKTtpZigob3wwKSE9MCl7cD1jW2ErKDI4LWcp
Pj4yXXwwO2s9MjA2MTYrKHA8PDIpfDA7aWYoKGh8MCk9PShjW2s+PjJdfDApKXtjW2s+PjJdPXU7
aWYoKHV8MCk9PTApe2NbMjAzMTY+PjJdPWNbMjAzMTY+PjJdJn4oMTw8cCk7bT1oO249ajticmVh
a319ZWxzZXtpZihvPj4+MDwoY1syMDMyOD4+Ml18MCk+Pj4wKXtWYigpfXA9bysxNnwwO2lmKChj
W3A+PjJdfDApPT0oaHwwKSl7Y1twPj4yXT11fWVsc2V7Y1tvKzIwPj4yXT11fWlmKCh1fDApPT0w
KXttPWg7bj1qO2JyZWFrfX1pZih1Pj4+MDwoY1syMDMyOD4+Ml18MCk+Pj4wKXtWYigpfWNbdSsy
ND4+Ml09bztwPTE2LWd8MDtrPWNbYStwPj4yXXwwO2Rve2lmKChrfDApIT0wKXtpZihrPj4+MDwo
Y1syMDMyOD4+Ml18MCk+Pj4wKXtWYigpfWVsc2V7Y1t1KzE2Pj4yXT1rO2NbaysyND4+Ml09dTti
cmVha319fXdoaWxlKDApO2s9Y1thKyhwKzQpPj4yXXwwO2lmKChrfDApIT0wKXtpZihrPj4+MDwo
Y1syMDMyOD4+Ml18MCk+Pj4wKXtWYigpfWVsc2V7Y1t1KzIwPj4yXT1rO2NbaysyND4+Ml09dTtt
PWg7bj1qO2JyZWFrfX1lbHNle209aDtuPWp9fWVsc2V7bT1oO249an19ZWxzZXttPWE7bj1ifX13
aGlsZSgwKTt1PWNbMjAzMjg+PjJdfDA7aWYoZT4+PjA8dT4+PjApe1ZiKCl9dj1hKyhiKzQpfDA7
dz1jW3Y+PjJdfDA7aWYoKHcmMnwwKT09MCl7aWYoKGV8MCk9PShjWzIwMzM2Pj4yXXwwKSl7cj0o
Y1syMDMyND4+Ml18MCkrbnwwO2NbMjAzMjQ+PjJdPXI7Y1syMDMzNj4+Ml09bTtjW20rND4+Ml09
cnwxO2lmKChtfDApIT0oY1syMDMzMj4+Ml18MCkpe2k9ZDtyZXR1cm59Y1syMDMzMj4+Ml09MDtj
WzIwMzIwPj4yXT0wO2k9ZDtyZXR1cm59aWYoKGV8MCk9PShjWzIwMzMyPj4yXXwwKSl7cj0oY1sy
MDMyMD4+Ml18MCkrbnwwO2NbMjAzMjA+PjJdPXI7Y1syMDMzMj4+Ml09bTtjW20rND4+Ml09cnwx
O2NbbStyPj4yXT1yO2k9ZDtyZXR1cm59cj0odyYtOCkrbnwwO2Y9dz4+PjM7ZG97aWYoISh3Pj4+
MDwyNTYpKXtrPWNbYSsoYisyNCk+PjJdfDA7Zz1jW2ErKGIrMTIpPj4yXXwwO2Rve2lmKChnfDAp
PT0oZXwwKSl7bz1hKyhiKzIwKXwwO2w9Y1tvPj4yXXwwO2lmKChsfDApPT0wKXt0PWErKGIrMTYp
fDA7cz1jW3Q+PjJdfDA7aWYoKHN8MCk9PTApe3g9MDticmVha31lbHNle3k9czt6PXR9fWVsc2V7
eT1sO3o9b313aGlsZSgxKXtvPXkrMjB8MDtsPWNbbz4+Ml18MDtpZigobHwwKSE9MCl7eT1sO3o9
bztjb250aW51ZX1vPXkrMTZ8MDtsPWNbbz4+Ml18MDtpZigobHwwKT09MCl7YnJlYWt9ZWxzZXt5
PWw7ej1vfX1pZih6Pj4+MDx1Pj4+MCl7VmIoKX1lbHNle2Nbej4+Ml09MDt4PXk7YnJlYWt9fWVs
c2V7bz1jW2ErKGIrOCk+PjJdfDA7aWYobz4+PjA8dT4+PjApe1ZiKCl9bD1vKzEyfDA7aWYoKGNb
bD4+Ml18MCkhPShlfDApKXtWYigpfXQ9Zys4fDA7aWYoKGNbdD4+Ml18MCk9PShlfDApKXtjW2w+
PjJdPWc7Y1t0Pj4yXT1vO3g9ZzticmVha31lbHNle1ZiKCl9fX13aGlsZSgwKTtpZigoa3wwKSE9
MCl7Zz1jW2ErKGIrMjgpPj4yXXwwO2o9MjA2MTYrKGc8PDIpfDA7aWYoKGV8MCk9PShjW2o+PjJd
fDApKXtjW2o+PjJdPXg7aWYoKHh8MCk9PTApe2NbMjAzMTY+PjJdPWNbMjAzMTY+PjJdJn4oMTw8
Zyk7YnJlYWt9fWVsc2V7aWYoaz4+PjA8KGNbMjAzMjg+PjJdfDApPj4+MCl7VmIoKX1nPWsrMTZ8
MDtpZigoY1tnPj4yXXwwKT09KGV8MCkpe2NbZz4+Ml09eH1lbHNle2NbaysyMD4+Ml09eH1pZigo
eHwwKT09MCl7YnJlYWt9fWlmKHg+Pj4wPChjWzIwMzI4Pj4yXXwwKT4+PjApe1ZiKCl9Y1t4KzI0
Pj4yXT1rO2c9Y1thKyhiKzE2KT4+Ml18MDtkb3tpZigoZ3wwKSE9MCl7aWYoZz4+PjA8KGNbMjAz
Mjg+PjJdfDApPj4+MCl7VmIoKX1lbHNle2NbeCsxNj4+Ml09ZztjW2crMjQ+PjJdPXg7YnJlYWt9
fX13aGlsZSgwKTtnPWNbYSsoYisyMCk+PjJdfDA7aWYoKGd8MCkhPTApe2lmKGc+Pj4wPChjWzIw
MzI4Pj4yXXwwKT4+PjApe1ZiKCl9ZWxzZXtjW3grMjA+PjJdPWc7Y1tnKzI0Pj4yXT14O2JyZWFr
fX19fWVsc2V7Zz1jW2ErKGIrOCk+PjJdfDA7az1jW2ErKGIrMTIpPj4yXXwwO2o9MjAzNTIrKGY8
PDE8PDIpfDA7aWYoKGd8MCkhPShqfDApKXtpZihnPj4+MDx1Pj4+MCl7VmIoKX1pZigoY1tnKzEy
Pj4yXXwwKSE9KGV8MCkpe1ZiKCl9fWlmKChrfDApPT0oZ3wwKSl7Y1s1MDc4XT1jWzUwNzhdJn4o
MTw8Zik7YnJlYWt9aWYoKGt8MCkhPShqfDApKXtpZihrPj4+MDx1Pj4+MCl7VmIoKX1qPWsrOHww
O2lmKChjW2o+PjJdfDApPT0oZXwwKSl7QT1qfWVsc2V7VmIoKX19ZWxzZXtBPWsrOHwwfWNbZysx
Mj4+Ml09aztjW0E+PjJdPWd9fXdoaWxlKDApO2NbbSs0Pj4yXT1yfDE7Y1ttK3I+PjJdPXI7aWYo
KG18MCk9PShjWzIwMzMyPj4yXXwwKSl7Y1syMDMyMD4+Ml09cjtpPWQ7cmV0dXJufWVsc2V7Qj1y
fX1lbHNle2Nbdj4+Ml09dyYtMjtjW20rND4+Ml09bnwxO2NbbStuPj4yXT1uO0I9bn1uPUI+Pj4z
O2lmKEI+Pj4wPDI1Nil7dz1uPDwxO3Y9MjAzNTIrKHc8PDIpfDA7cj1jWzUwNzhdfDA7QT0xPDxu
O2lmKChyJkF8MCkhPTApe249MjAzNTIrKHcrMjw8Mil8MDtlPWNbbj4+Ml18MDtpZihlPj4+MDwo
Y1syMDMyOD4+Ml18MCk+Pj4wKXtWYigpfWVsc2V7Qz1uO0Q9ZX19ZWxzZXtjWzUwNzhdPXJ8QTtD
PTIwMzUyKyh3KzI8PDIpfDA7RD12fWNbQz4+Ml09bTtjW0QrMTI+PjJdPW07Y1ttKzg+PjJdPUQ7
Y1ttKzEyPj4yXT12O2k9ZDtyZXR1cm59dj1CPj4+ODtpZigodnwwKSE9MCl7aWYoQj4+PjA+MTY3
NzcyMTUpe0U9MzF9ZWxzZXtEPSh2KzEwNDgzMjB8MCk+Pj4xNiY4O0M9djw8RDt2PShDKzUyMDE5
MnwwKT4+PjE2JjQ7dz1DPDx2O0M9KHcrMjQ1NzYwfDApPj4+MTYmMjtBPTE0LSh2fER8QykrKHc8
PEM+Pj4xNSl8MDtFPUI+Pj4oQSs3fDApJjF8QTw8MX19ZWxzZXtFPTB9QT0yMDYxNisoRTw8Mil8
MDtjW20rMjg+PjJdPUU7Y1ttKzIwPj4yXT0wO2NbbSsxNj4+Ml09MDtDPWNbMjAzMTY+PjJdfDA7
dz0xPDxFO2lmKChDJnd8MCk9PTApe2NbMjAzMTY+PjJdPUN8dztjW0E+PjJdPW07Y1ttKzI0Pj4y
XT1BO2NbbSsxMj4+Ml09bTtjW20rOD4+Ml09bTtpPWQ7cmV0dXJufXc9Y1tBPj4yXXwwO2lmKChF
fDApPT0zMSl7Rj0wfWVsc2V7Rj0yNS0oRT4+PjEpfDB9YTpkb3tpZigoY1t3KzQ+PjJdJi04fDAp
PT0oQnwwKSl7Rz13fWVsc2V7RT1CPDxGO0E9dzt3aGlsZSgxKXtIPUErKEU+Pj4zMTw8MikrMTZ8
MDtDPWNbSD4+Ml18MDtpZigoQ3wwKT09MCl7YnJlYWt9aWYoKGNbQys0Pj4yXSYtOHwwKT09KEJ8
MCkpe0c9QzticmVhayBhfWVsc2V7RT1FPDwxO0E9Q319aWYoSD4+PjA8KGNbMjAzMjg+PjJdfDAp
Pj4+MCl7VmIoKX1jW0g+PjJdPW07Y1ttKzI0Pj4yXT1BO2NbbSsxMj4+Ml09bTtjW20rOD4+Ml09
bTtpPWQ7cmV0dXJufX13aGlsZSgwKTtIPUcrOHwwO0I9Y1tIPj4yXXwwO3c9Y1syMDMyOD4+Ml18
MDtpZihHPj4+MDx3Pj4+MCl7VmIoKX1pZihCPj4+MDx3Pj4+MCl7VmIoKX1jW0IrMTI+PjJdPW07
Y1tIPj4yXT1tO2NbbSs4Pj4yXT1CO2NbbSsxMj4+Ml09RztjW20rMjQ+PjJdPTA7aT1kO3JldHVy
bn1mdW5jdGlvbiBBbyhhKXthPWF8MDt2YXIgYj0wLGQ9MCxlPTAsZj0wO2I9aTtkPShhfDApPT0w
PzE6YTt3aGlsZSgxKXtlPXZvKGQpfDA7aWYoKGV8MCkhPTApe2Y9NjticmVha31hPWNbNTIwMl18
MDtjWzUyMDJdPWErMDtpZigoYXwwKT09MCl7Zj01O2JyZWFrfUhjW2EmMV0oKX1pZigoZnwwKT09
NSl7ZD1EYig0KXwwO2NbZD4+Ml09MjA4MjQ7cGMoZHwwLDIwODcyLDEzMSl9ZWxzZSBpZigoZnww
KT09Nil7aT1iO3JldHVybiBlfDB9cmV0dXJuIDB9ZnVuY3Rpb24gQm8oYSl7YT1hfDA7dmFyIGI9
MCxjPTA7Yj1pO2M9QW8oYSl8MDtpPWI7cmV0dXJuIGN8MH1mdW5jdGlvbiBDbyhhKXthPWF8MDt2
YXIgYj0wO2I9aTtpZigoYXwwKSE9MCl7d28oYSl9aT1iO3JldHVybn1mdW5jdGlvbiBEbyhhKXth
PWF8MDt2YXIgYj0wO2I9aTtDbyhhKTtpPWI7cmV0dXJufWZ1bmN0aW9uIEVvKGEpe2E9YXwwO3Zh
ciBiPTA7Yj1pO1phKGF8MCk7Q28oYSk7aT1iO3JldHVybn1mdW5jdGlvbiBGbyhhKXthPWF8MDt2
YXIgYj0wO2I9aTtaYShhfDApO2k9YjtyZXR1cm59ZnVuY3Rpb24gR28oYSl7YT1hfDA7cmV0dXJu
IDIwODQwfWZ1bmN0aW9uIEhvKCl7dmFyIGE9MDthPURiKDQpfDA7Y1thPj4yXT0yMDgyNDtwYyhh
fDAsMjA4NzIsMTMxKX1mdW5jdGlvbiBJbyhiLGUsZil7Yj1ifDA7ZT1lfDA7Zj1mfDA7dmFyIGc9
MCxoPTAsaj0wLGs9MCxsPTAuMCxtPTAsbj0wLG89MCxwPTAscT0wLHI9MCxzPTAsdD0wLHU9MCx2
PTAsdz0wLHo9MCxBPTAsQj0wLEM9MCxEPTAsRT0wLEY9MCxHPTAsSD0wLEo9MCxLPTAsTD0wLE09
MCxOPTAsTz0wLFA9MCxRPTAsUj0wLFM9MC4wLFU9MCxWPTAuMCxXPTAsWD0wLFk9MCxaPTAsXz0w
LCQ9MCxhYT0wLGJhPTAsY2E9MCxkYT0wLGZhPTAuMCxnYT0wLGhhPTAuMCxpYT0wLGphPTAuMCxr
YT0wLGxhPTAuMCxtYT0wLG5hPTAuMCxvYT0wLHBhPTAscWE9MCxyYT0wLHNhPTAsdGE9MCx1YT0w
LHZhPTAuMCx3YT0wLHhhPTAuMCx5YT0wLHphPTAsQWE9MCxCYT0wLENhPTAuMCxEYT0wLEVhPTAu
MCxGYT0wLjAsR2E9MCxIYT0wLjAsSWE9MCxKYT0wLEthPTAsTGE9MCxNYT0wLE5hPTAsT2E9MCxQ
YT0wLFFhPTAsUmE9MCxTYT0wLFRhPTAsVWE9MCxWYT0wLFdhPTAsWGE9MCxZYT0wLFphPTAsX2E9
MCwkYT0wLGFiPTAsYmI9MCxjYj0wLGRiPTAsZWI9MCxmYj0wLGdiPTAsaGI9MCxpYj0wLGpiPTAs
a2I9MCxsYj0wLG1iPTAsbmI9MCxvYj0wLHBiPTAscWI9MCxyYj0wLHNiPTAsdGI9MCx1Yj0wLHZi
PTAsd2I9MCx4Yj0wLHliPTAsemI9MCxBYj0wLEJiPTAsRGI9MCxFYj0wLEZiPTAsR2I9MCxIYj0w
LEliPTAsSmI9MCxLYj0wLExiPTAsTWI9MCxOYj0wLE9iPTAsUGI9MCxRYj0wLFJiPTAsU2I9MCxU
Yj0wLFViPTAsVmI9MCxYYj0wLFliPTAsWmI9MCxfYj0wLCRiPTAsYWM9MCxiYz0wLGNjPTAsZGM9
MCxlYz0wLGZjPTAsZ2M9MCxoYz0wLGljPTAsamM9MCxrYz0wLGxjPTAsb2M9MCxwYz0wLHFjPTAs
cmM9MCxzYz0wLHRjPTAsdWM9MCx2Yz0wLjAsd2M9MCx4Yz0wLHljPTAuMCx6Yz0wLjAsQWM9MC4w
LEJjPTAuMCxDYz0wLjAsRGM9MC4wLEVjPTAsRmM9MCxHYz0wLjAsSGM9MCxJYz0wLjA7Zz1pO2k9
aSs1MTJ8MDtoPWc7aWYoKGV8MCk9PTEpe2o9NTM7az0tMTA3NH1lbHNlIGlmKChlfDApPT0yKXtq
PTUzO2s9LTEwNzR9ZWxzZSBpZigoZXwwKT09MCl7aj0yNDtrPS0xNDl9ZWxzZXtsPTAuMDtpPWc7
cmV0dXJuK2x9ZT1iKzR8MDttPWIrMTAwfDA7ZG97bj1jW2U+PjJdfDA7aWYobj4+PjA8KGNbbT4+
Ml18MCk+Pj4wKXtjW2U+PjJdPW4rMTtvPWRbbl18MH1lbHNle289TG8oYil8MH19d2hpbGUoKFdi
KG98MCl8MCkhPTApO2Rve2lmKChvfDApPT00M3wob3wwKT09NDUpe249MS0oKChvfDApPT00NSk8
PDEpfDA7cD1jW2U+PjJdfDA7aWYocD4+PjA8KGNbbT4+Ml18MCk+Pj4wKXtjW2U+PjJdPXArMTtx
PWRbcF18MDtyPW47YnJlYWt9ZWxzZXtxPUxvKGIpfDA7cj1uO2JyZWFrfX1lbHNle3E9bztyPTF9
fXdoaWxlKDApO289cTtxPTA7d2hpbGUoMSl7aWYoKG98MzJ8MCkhPShhWzIwODg4K3F8MF18MCkp
e3M9bzt0PXE7YnJlYWt9ZG97aWYocT4+PjA8Nyl7bj1jW2U+PjJdfDA7aWYobj4+PjA8KGNbbT4+
Ml18MCk+Pj4wKXtjW2U+PjJdPW4rMTt1PWRbbl18MDticmVha31lbHNle3U9TG8oYil8MDticmVh
a319ZWxzZXt1PW99fXdoaWxlKDApO249cSsxfDA7aWYobj4+PjA8OCl7bz11O3E9bn1lbHNle3M9
dTt0PW47YnJlYWt9fWRve2lmKCh0fDApPT0zKXt2PTIzfWVsc2UgaWYoKHR8MCkhPTgpe3U9KGZ8
MCk9PTA7aWYoISh0Pj4+MDw0fHUpKXtpZigodHwwKT09OCl7YnJlYWt9ZWxzZXt2PTIzO2JyZWFr
fX1hOmRve2lmKCh0fDApPT0wKXtxPXM7bz0wO3doaWxlKDEpe2lmKChxfDMyfDApIT0oYVsyMDkw
NCtvfDBdfDApKXt3PXE7ej1vO2JyZWFrIGF9ZG97aWYobz4+PjA8Mil7bj1jW2U+PjJdfDA7aWYo
bj4+PjA8KGNbbT4+Ml18MCk+Pj4wKXtjW2U+PjJdPW4rMTtBPWRbbl18MDticmVha31lbHNle0E9
TG8oYil8MDticmVha319ZWxzZXtBPXF9fXdoaWxlKDApO249bysxfDA7aWYobj4+PjA8Myl7cT1B
O289bn1lbHNle3c9QTt6PW47YnJlYWt9fX1lbHNle3c9czt6PXR9fXdoaWxlKDApO2lmKCh6fDAp
PT0zKXtvPWNbZT4+Ml18MDtpZihvPj4+MDwoY1ttPj4yXXwwKT4+PjApe2NbZT4+Ml09bysxO0I9
ZFtvXXwwfWVsc2V7Qj1MbyhiKXwwfWlmKChCfDApPT00MCl7Qz0xfWVsc2V7aWYoKGNbbT4+Ml18
MCk9PTApe2w9eDtpPWc7cmV0dXJuK2x9Y1tlPj4yXT0oY1tlPj4yXXwwKSsgLTE7bD14O2k9Zzty
ZXR1cm4rbH13aGlsZSgxKXtvPWNbZT4+Ml18MDtpZihvPj4+MDwoY1ttPj4yXXwwKT4+PjApe2Nb
ZT4+Ml09bysxO0Q9ZFtvXXwwfWVsc2V7RD1MbyhiKXwwfWlmKCEoKEQrIC00OHwwKT4+PjA8MTB8
KEQrIC02NXwwKT4+PjA8MjYpPyEoKEQrIC05N3wwKT4+PjA8MjZ8KER8MCk9PTk1KTowKXticmVh
a31DPUMrMXwwfWlmKChEfDApPT00MSl7bD14O2k9ZztyZXR1cm4rbH1vPShjW20+PjJdfDApPT0w
O2lmKCFvKXtjW2U+PjJdPShjW2U+PjJdfDApKyAtMX1pZih1KXtjWyhtYygpfDApPj4yXT0yMjtL
byhiLDApO2w9MC4wO2k9ZztyZXR1cm4rbH1pZigoQ3wwKT09MHxvKXtsPXg7aT1nO3JldHVybits
fWVsc2V7RT1DfXdoaWxlKDEpe289RSsgLTF8MDtjW2U+PjJdPShjW2U+PjJdfDApKyAtMTtpZigo
b3wwKT09MCl7bD14O2JyZWFrfWVsc2V7RT1vfX1pPWc7cmV0dXJuK2x9ZWxzZSBpZigoenwwKT09
MCl7ZG97aWYoKHd8MCk9PTQ4KXtvPWNbZT4+Ml18MDtpZihvPj4+MDwoY1ttPj4yXXwwKT4+PjAp
e2NbZT4+Ml09bysxO0Y9ZFtvXXwwfWVsc2V7Rj1MbyhiKXwwfWlmKChGfDMyfDApIT0xMjApe2lm
KChjW20+PjJdfDApPT0wKXtHPTQ4O2JyZWFrfWNbZT4+Ml09KGNbZT4+Ml18MCkrIC0xO0c9NDg7
YnJlYWt9bz1jW2U+PjJdfDA7aWYobz4+PjA8KGNbbT4+Ml18MCk+Pj4wKXtjW2U+PjJdPW8rMTtI
PWRbb118MDtKPTB9ZWxzZXtIPUxvKGIpfDA7Sj0wfXdoaWxlKDEpe2lmKChIfDApPT00Nil7dj03
MDticmVha31lbHNlIGlmKChIfDApIT00OCl7Sz0wO0w9MDtNPTA7Tj0wO089SDtQPUo7UT0wO1I9
MDtTPTEuMDtVPTA7Vj0wLjA7YnJlYWt9bz1jW2U+PjJdfDA7aWYobz4+PjA8KGNbbT4+Ml18MCk+
Pj4wKXtjW2U+PjJdPW8rMTtIPWRbb118MDtKPTE7Y29udGludWV9ZWxzZXtIPUxvKGIpfDA7Sj0x
O2NvbnRpbnVlfX1iOmRve2lmKCh2fDApPT03MCl7bz1jW2U+PjJdfDA7aWYobz4+PjA8KGNbbT4+
Ml18MCk+Pj4wKXtjW2U+PjJdPW8rMTtXPWRbb118MH1lbHNle1c9TG8oYil8MH1pZigoV3wwKT09
NDgpe289LTE7cT0tMTt3aGlsZSgxKXtuPWNbZT4+Ml18MDtpZihuPj4+MDwoY1ttPj4yXXwwKT4+
PjApe2NbZT4+Ml09bisxO1g9ZFtuXXwwfWVsc2V7WD1MbyhiKXwwfWlmKChYfDApIT00OCl7Sz0w
O0w9MDtNPW87Tj1xO089WDtQPTE7UT0xO1I9MDtTPTEuMDtVPTA7Vj0wLjA7YnJlYWsgYn1uPVdv
KG98MCxxfDAsLTEsLTEpfDA7bz1uO3E9SX19ZWxzZXtLPTA7TD0wO009MDtOPTA7Tz1XO1A9SjtR
PTE7Uj0wO1M9MS4wO1U9MDtWPTAuMH19fXdoaWxlKDApO2M6d2hpbGUoMSl7cT1PKyAtNDh8MDtk
b3tpZighKHE+Pj4wPDEwKSl7bz1PfDMyO249KE98MCk9PTQ2O2lmKCEoKG8rIC05N3wwKT4+PjA8
NnxuKSl7WT1PO2JyZWFrIGN9aWYobil7aWYoKFF8MCk9PTApe1o9TDtfPUs7JD1MO2FhPUs7YmE9
UDtjYT0xO2RhPVI7ZmE9UztnYT1VO2hhPVY7YnJlYWt9ZWxzZXtZPTQ2O2JyZWFrIGN9fWVsc2V7
aWE9KE98MCk+NTc/bysgLTg3fDA6cTt2PTg0O2JyZWFrfX1lbHNle2lhPXE7dj04NH19d2hpbGUo
MCk7aWYoKHZ8MCk9PTg0KXt2PTA7ZG97aWYoISgoS3wwKTwwfChLfDApPT0wJkw+Pj4wPDgpKXtp
ZigoS3wwKTwwfChLfDApPT0wJkw+Pj4wPDE0KXtqYT1TKi4wNjI1O2thPVI7bGE9amE7bWE9VTtu
YT1WK2phKisoaWF8MCk7YnJlYWt9aWYoKGlhfDApIT0wJihSfDApPT0wKXtrYT0xO2xhPVM7bWE9
VTtuYT1WK1MqLjV9ZWxzZXtrYT1SO2xhPVM7bWE9VTtuYT1WfX1lbHNle2thPVI7bGE9UzttYT1p
YSsoVTw8NCl8MDtuYT1WfX13aGlsZSgwKTtxPVdvKEx8MCxLfDAsMSwwKXwwO1o9TTtfPU47JD1x
O2FhPUk7YmE9MTtjYT1RO2RhPWthO2ZhPWxhO2dhPW1hO2hhPW5hfXE9Y1tlPj4yXXwwO2lmKHE+
Pj4wPChjW20+PjJdfDApPj4+MCl7Y1tlPj4yXT1xKzE7Sz1hYTtMPSQ7TT1aO049XztPPWRbcV18
MDtQPWJhO1E9Y2E7Uj1kYTtTPWZhO1U9Z2E7Vj1oYTtjb250aW51ZX1lbHNle0s9YWE7TD0kO009
WjtOPV87Tz1MbyhiKXwwO1A9YmE7UT1jYTtSPWRhO1M9ZmE7VT1nYTtWPWhhO2NvbnRpbnVlfX1p
ZigoUHwwKT09MCl7cT0oY1ttPj4yXXwwKT09MDtpZighcSl7Y1tlPj4yXT0oY1tlPj4yXXwwKSsg
LTF9aWYoIXUpe2lmKCFxPyhxPWNbZT4+Ml18MCxjW2U+PjJdPXErIC0xLChRfDApIT0wKTowKXtj
W2U+PjJdPXErIC0yfX1lbHNle0tvKGIsMCl9bD0rKHJ8MCkqMC4wO2k9ZztyZXR1cm4rbH1xPShR
fDApPT0wO289cT9MOk07bj1xP0s6TjtpZigoS3wwKTwwfChLfDApPT0wJkw+Pj4wPDgpe3E9TDtw
PUs7b2E9VTt3aGlsZSgxKXtwYT1vYTw8NDtxYT1XbyhxfDAscHwwLDEsMCl8MDtyYT1JO2lmKChy
YXwwKTwwfChyYXwwKT09MCZxYT4+PjA8OCl7cT1xYTtwPXJhO29hPXBhfWVsc2V7c2E9cGE7YnJl
YWt9fX1lbHNle3NhPVV9ZG97aWYoKFl8MzJ8MCk9PTExMil7b2E9Sm8oYixmKXwwO3A9STtpZigo
b2F8MCk9PTAmKHB8MCk9PS0yMTQ3NDgzNjQ4KXtpZih1KXtLbyhiLDApO2w9MC4wO2k9ZztyZXR1
cm4rbH1lbHNle2lmKChjW20+PjJdfDApPT0wKXt0YT0wO3VhPTA7YnJlYWt9Y1tlPj4yXT0oY1tl
Pj4yXXwwKSsgLTE7dGE9MDt1YT0wO2JyZWFrfX1lbHNle3RhPW9hO3VhPXB9fWVsc2V7aWYoKGNb
bT4+Ml18MCk9PTApe3RhPTA7dWE9MH1lbHNle2NbZT4+Ml09KGNbZT4+Ml18MCkrIC0xO3RhPTA7
dWE9MH19fXdoaWxlKDApO3A9WW8ob3wwLG58MCwyKXwwO29hPVdvKHB8MCxJfDAsLTMyLC0xKXww
O3A9V28ob2F8MCxJfDAsdGF8MCx1YXwwKXwwO29hPUk7aWYoKHNhfDApPT0wKXtsPSsocnwwKSow
LjA7aT1nO3JldHVybitsfWlmKChvYXwwKT4wfChvYXwwKT09MCZwPj4+MD4oMC1rfDApPj4+MCl7
Y1sobWMoKXwwKT4+Ml09MzQ7bD0rKHJ8MCkqMS43OTc2OTMxMzQ4NjIzMTU3ZSszMDgqMS43OTc2
OTMxMzQ4NjIzMTU3ZSszMDg7aT1nO3JldHVybitsfXE9aysgLTEwNnwwO3BhPSgocXwwKTwwKTw8
MzE+PjMxO2lmKChvYXwwKTwocGF8MCl8KG9hfDApPT0ocGF8MCkmcD4+PjA8cT4+PjApe2NbKG1j
KCl8MCk+PjJdPTM0O2w9KyhyfDApKjIuMjI1MDczODU4NTA3MjAxNGUtMzA4KjIuMjI1MDczODU4
NTA3MjAxNGUtMzA4O2k9ZztyZXR1cm4rbH1pZigoc2F8MCk+LTEpe3E9cDtwYT1vYTtyYT1zYTtq
YT1WO3doaWxlKDEpe3FhPXJhPDwxO2lmKCEoamE+PS41KSl7dmE9amE7d2E9cWF9ZWxzZXt2YT1q
YSstMS4wO3dhPXFhfDF9eGE9amErdmE7cWE9V28ocXwwLHBhfDAsLTEsLTEpfDA7eWE9STtpZigo
d2F8MCk+LTEpe3E9cWE7cGE9eWE7cmE9d2E7amE9eGF9ZWxzZXt6YT1xYTtBYT15YTtCYT13YTtD
YT14YTticmVha319fWVsc2V7emE9cDtBYT1vYTtCYT1zYTtDYT1WfXJhPVVvKDMyLDAsa3wwLCgo
a3wwKTwwKTw8MzE+PjMxfDApfDA7cGE9V28oemF8MCxBYXwwLHJhfDAsSXwwKXwwO3JhPUk7aWYo
MD4ocmF8MCl8MD09KHJhfDApJmo+Pj4wPnBhPj4+MCl7RGE9KHBhfDApPDA/MDpwYX1lbHNle0Rh
PWp9aWYoKERhfDApPDUzKXtqYT0rKHJ8MCk7eGE9K25jKCsoK01vKDEuMCw4NC1EYXwwKSksK2ph
KTtpZigoRGF8MCk8MzImQ2EhPTAuMCl7cGE9QmEmMTtFYT1qYTtGYT14YTtHYT0ocGFeMSkrQmF8
MDtIYT0ocGF8MCk9PTA/MC4wOkNhfWVsc2V7RWE9amE7RmE9eGE7R2E9QmE7SGE9Q2F9fWVsc2V7
RWE9KyhyfDApO0ZhPTAuMDtHYT1CYTtIYT1DYX14YT1FYSpIYSsoRmErRWEqKyhHYT4+PjApKS1G
YTtpZighKHhhIT0wLjApKXtjWyhtYygpfDApPj4yXT0zNH1sPStObyh4YSx6YSk7aT1nO3JldHVy
bitsfWVsc2V7Rz13fX13aGlsZSgwKTtwYT1rK2p8MDtyYT0wLXBhfDA7cT1HO249MDt3aGlsZSgx
KXtpZigocXwwKT09NDYpe3Y9MTM5O2JyZWFrfWVsc2UgaWYoKHF8MCkhPTQ4KXtJYT1xO0phPTA7
S2E9MDtMYT1uO01hPTA7YnJlYWt9bz1jW2U+PjJdfDA7aWYobz4+PjA8KGNbbT4+Ml18MCk+Pj4w
KXtjW2U+PjJdPW8rMTtxPWRbb118MDtuPTE7Y29udGludWV9ZWxzZXtxPUxvKGIpfDA7bj0xO2Nv
bnRpbnVlfX1kOmRve2lmKCh2fDApPT0xMzkpe3E9Y1tlPj4yXXwwO2lmKHE+Pj4wPChjW20+PjJd
fDApPj4+MCl7Y1tlPj4yXT1xKzE7TmE9ZFtxXXwwfWVsc2V7TmE9TG8oYil8MH1pZigoTmF8MCk9
PTQ4KXtxPS0xO289LTE7d2hpbGUoMSl7eWE9Y1tlPj4yXXwwO2lmKHlhPj4+MDwoY1ttPj4yXXww
KT4+PjApe2NbZT4+Ml09eWErMTtPYT1kW3lhXXwwfWVsc2V7T2E9TG8oYil8MH1pZigoT2F8MCkh
PTQ4KXtJYT1PYTtKYT1xO0thPW87TGE9MTtNYT0xO2JyZWFrIGR9eWE9V28ocXwwLG98MCwtMSwt
MSl8MDtxPXlhO289SX19ZWxzZXtJYT1OYTtKYT0wO0thPTA7TGE9bjtNYT0xfX19d2hpbGUoMCk7
Y1toPj4yXT0wO249SWErIC00OHwwO289KElhfDApPT00NjtlOmRve2lmKG4+Pj4wPDEwfG8pe3E9
aCs0OTZ8MDtvYT1JYTtwPTA7eWE9MDtxYT1vO1BhPW47UWE9SmE7UmE9S2E7U2E9TGE7VGE9TWE7
VWE9MDtWYT0wO1dhPTA7d2hpbGUoMSl7ZG97aWYocWEpe2lmKChUYXwwKT09MCl7WGE9cDtZYT15
YTtaYT1wO19hPXlhOyRhPVNhO2FiPTE7YmI9VWE7Y2I9VmE7ZGI9V2F9ZWxzZXtlYj1vYTtmYj1R
YTtnYj1SYTtoYj1wO2liPXlhO2piPVNhO2tiPVVhO2xiPVZhO21iPVdhO2JyZWFrIGV9fWVsc2V7
bmI9V28ocHwwLHlhfDAsMSwwKXwwO29iPUk7cGI9KG9hfDApIT00ODtpZigoVmF8MCk+PTEyNSl7
aWYoIXBiKXtYYT1RYTtZYT1SYTtaYT1uYjtfYT1vYjskYT1TYTthYj1UYTtiYj1VYTtjYj1WYTtk
Yj1XYTticmVha31jW3E+PjJdPWNbcT4+Ml18MTtYYT1RYTtZYT1SYTtaYT1uYjtfYT1vYjskYT1T
YTthYj1UYTtiYj1VYTtjYj1WYTtkYj1XYTticmVha31xYj1oKyhWYTw8Mil8MDtpZigoVWF8MCk9
PTApe3JiPVBhfWVsc2V7cmI9b2ErIC00OCsoKGNbcWI+PjJdfDApKjEwfDApfDB9Y1txYj4+Ml09
cmI7cWI9VWErMXwwO3NiPShxYnwwKT09OTtYYT1RYTtZYT1SYTtaYT1uYjtfYT1vYjskYT0xO2Fi
PVRhO2JiPXNiPzA6cWI7Y2I9KHNiJjEpK1ZhfDA7ZGI9cGI/bmI6V2F9fXdoaWxlKDApO25iPWNb
ZT4+Ml18MDtpZihuYj4+PjA8KGNbbT4+Ml18MCk+Pj4wKXtjW2U+PjJdPW5iKzE7dGI9ZFtuYl18
MH1lbHNle3RiPUxvKGIpfDB9bmI9dGIrIC00OHwwO3BiPSh0YnwwKT09NDY7aWYobmI+Pj4wPDEw
fHBiKXtvYT10YjtwPVphO3lhPV9hO3FhPXBiO1BhPW5iO1FhPVhhO1JhPVlhO1NhPSRhO1RhPWFi
O1VhPWJiO1ZhPWNiO1dhPWRifWVsc2V7dWI9dGI7dmI9WmE7d2I9WGE7eGI9X2E7eWI9WWE7emI9
JGE7QWI9YWI7QmI9YmI7RGI9Y2I7RWI9ZGI7dj0xNjI7YnJlYWt9fX1lbHNle3ViPUlhO3ZiPTA7
d2I9SmE7eGI9MDt5Yj1LYTt6Yj1MYTtBYj1NYTtCYj0wO0RiPTA7RWI9MDt2PTE2Mn19d2hpbGUo
MCk7aWYoKHZ8MCk9PTE2Mil7bj0oQWJ8MCk9PTA7ZWI9dWI7ZmI9bj92Yjp3YjtnYj1uP3hiOnli
O2hiPXZiO2liPXhiO2piPXpiO2tiPUJiO2xiPURiO21iPUVifW49KGpifDApIT0wO2lmKG4/KGVi
fDMyfDApPT0xMDE6MCl7bz1KbyhiLGYpfDA7V2E9STtkb3tpZigob3wwKT09MCYoV2F8MCk9PS0y
MTQ3NDgzNjQ4KXtpZih1KXtLbyhiLDApO2w9MC4wO2k9ZztyZXR1cm4rbH1lbHNle2lmKChjW20+
PjJdfDApPT0wKXtGYj0wO0diPTA7YnJlYWt9Y1tlPj4yXT0oY1tlPj4yXXwwKSsgLTE7RmI9MDtH
Yj0wO2JyZWFrfX1lbHNle0ZiPW87R2I9V2F9fXdoaWxlKDApO1dhPVdvKEZifDAsR2J8MCxmYnww
LGdifDApfDA7SGI9V2E7SWI9SX1lbHNle2lmKChlYnwwKT4tMT8oY1ttPj4yXXwwKSE9MDowKXtj
W2U+PjJdPShjW2U+PjJdfDApKyAtMTtIYj1mYjtJYj1nYn1lbHNle0hiPWZiO0liPWdifX1pZigh
bil7Y1sobWMoKXwwKT4+Ml09MjI7S28oYiwwKTtsPTAuMDtpPWc7cmV0dXJuK2x9V2E9Y1toPj4y
XXwwO2lmKChXYXwwKT09MCl7bD0rKHJ8MCkqMC4wO2k9ZztyZXR1cm4rbH1kb3tpZigoSGJ8MCk9
PShoYnwwKSYoSWJ8MCk9PShpYnwwKSYoKGlifDApPDB8KGlifDApPT0wJmhiPj4+MDwxMCkpe2lm
KCEoaj4+PjA+MzApPyhXYT4+Pmp8MCkhPTA6MCl7YnJlYWt9bD0rKHJ8MCkqKyhXYT4+PjApO2k9
ZztyZXR1cm4rbH19d2hpbGUoMCk7V2E9KGt8MCkvLTJ8MDtuPSgoV2F8MCk8MCk8PDMxPj4zMTtp
ZigoSWJ8MCk+KG58MCl8KElifDApPT0obnwwKSZIYj4+PjA+V2E+Pj4wKXtjWyhtYygpfDApPj4y
XT0zNDtsPSsocnwwKSoxLjc5NzY5MzEzNDg2MjMxNTdlKzMwOCoxLjc5NzY5MzEzNDg2MjMxNTdl
KzMwODtpPWc7cmV0dXJuK2x9V2E9aysgLTEwNnwwO249KChXYXwwKTwwKTw8MzE+PjMxO2lmKChJ
YnwwKTwobnwwKXwoSWJ8MCk9PShufDApJkhiPj4+MDxXYT4+PjApe2NbKG1jKCl8MCk+PjJdPTM0
O2w9KyhyfDApKjIuMjI1MDczODU4NTA3MjAxNGUtMzA4KjIuMjI1MDczODU4NTA3MjAxNGUtMzA4
O2k9ZztyZXR1cm4rbH1pZigoa2J8MCk9PTApe0piPWxifWVsc2V7aWYoKGtifDApPDkpe1dhPWgr
KGxiPDwyKXwwO249Y1tXYT4+Ml18MDtvPWtiO2Rve249bioxMHwwO289bysxfDB9d2hpbGUoKG98
MCkhPTkpO2NbV2E+PjJdPW59SmI9bGIrMXwwfWRve2lmKChtYnwwKTw5PyhtYnwwKTw9KEhifDAp
JihIYnwwKTwxODowKXtpZigoSGJ8MCk9PTkpe2w9KyhyfDApKisoKGNbaD4+Ml18MCk+Pj4wKTtp
PWc7cmV0dXJuK2x9aWYoKEhifDApPDkpe2w9KyhyfDApKisoKGNbaD4+Ml18MCk+Pj4wKS8rKGNb
MjA5MjArKDgtSGI8PDIpPj4yXXwwKTtpPWc7cmV0dXJuK2x9bz1qKzI3KyhlYShIYiwtMyl8MCl8
MDt1PWNbaD4+Ml18MDtpZigob3wwKTw9MzA/KHU+Pj5vfDApIT0wOjApe2JyZWFrfWw9KyhyfDAp
KisodT4+PjApKisoY1syMDkyMCsoSGIrIC0xMDw8Mik+PjJdfDApO2k9ZztyZXR1cm4rbH19d2hp
bGUoMCk7bj0oSGJ8MCklOXwwO2lmKChufDApPT0wKXtLYj0wO0xiPTA7TWI9SGI7TmI9SmJ9ZWxz
ZXtXYT0oSGJ8MCk+LTE/bjpuKzl8MDtuPWNbMjA5MjArKDgtV2E8PDIpPj4yXXwwO2lmKChKYnww
KSE9MCl7dT0xZTkvKG58MCl8MDtvPTA7VmE9MDtVYT0wO1RhPUhiO3doaWxlKDEpe1NhPWgrKFVh
PDwyKXwwO1JhPWNbU2E+PjJdfDA7UWE9KChSYT4+PjApLyhuPj4+MCl8MCkrVmF8MDtjW1NhPj4y
XT1RYTtPYj1lYSgoUmE+Pj4wKSUobj4+PjApfDAsdSl8MDtSYT1VYSsxfDA7aWYoKFVhfDApPT0o
b3wwKSYoUWF8MCk9PTApe1BiPVJhJjEyNztRYj1UYSsgLTl8MH1lbHNle1BiPW87UWI9VGF9aWYo
KFJhfDApPT0oSmJ8MCkpe2JyZWFrfWVsc2V7bz1QYjtWYT1PYjtVYT1SYTtUYT1RYn19aWYoKE9i
fDApPT0wKXtSYj1QYjtTYj1RYjtUYj1KYn1lbHNle2NbaCsoSmI8PDIpPj4yXT1PYjtSYj1QYjtT
Yj1RYjtUYj1KYisxfDB9fWVsc2V7UmI9MDtTYj1IYjtUYj0wfUtiPVJiO0xiPTA7TWI9OS1XYStT
YnwwO05iPVRifWY6d2hpbGUoMSl7VGE9aCsoS2I8PDIpfDA7aWYoKE1ifDApPDE4KXtVYT1MYjtW
YT1OYjt3aGlsZSgxKXtvPTA7dT1WYSsxMjd8MDtuPVZhO3doaWxlKDEpe1JhPXUmMTI3O1FhPWgr
KFJhPDwyKXwwO1NhPVlvKGNbUWE+PjJdfDAsMCwyOSl8MDtQYT1XbyhTYXwwLEl8MCxvfDAsMCl8
MDtTYT1JO2lmKFNhPj4+MD4wfChTYXwwKT09MCZQYT4+PjA+MWU5KXtxYT1ocChQYXwwLFNhfDAs
MWU5LDApfDA7eWE9aXAoUGF8MCxTYXwwLDFlOSwwKXwwO1ViPXlhO1ZiPXFhfWVsc2V7VWI9UGE7
VmI9MH1jW1FhPj4yXT1VYjtRYT0oUmF8MCk9PShLYnwwKTtpZigoUmF8MCkhPShuKzEyNyYxMjd8
MCl8UWEpe1hiPW59ZWxzZXtYYj0oVWJ8MCk9PTA/UmE6bn1pZihRYSl7YnJlYWt9ZWxzZXtvPVZi
O3U9UmErIC0xfDA7bj1YYn19bj1VYSsgLTI5fDA7aWYoKFZifDApPT0wKXtVYT1uO1ZhPVhifWVs
c2V7WWI9bjtaYj1WYjtfYj1YYjticmVha319fWVsc2V7aWYoKE1ifDApPT0xOCl7JGI9TGI7YWM9
TmJ9ZWxzZXtiYz1LYjtjYz1MYjtkYz1NYjtlYz1OYjticmVha313aGlsZSgxKXtpZighKChjW1Rh
Pj4yXXwwKT4+PjA8OTAwNzE5OSkpe2JjPUtiO2NjPSRiO2RjPTE4O2VjPWFjO2JyZWFrIGZ9VmE9
MDtVYT1hYysxMjd8MDtuPWFjO3doaWxlKDEpe3U9VWEmMTI3O289aCsodTw8Mil8MDtSYT1Zbyhj
W28+PjJdfDAsMCwyOSl8MDtRYT1XbyhSYXwwLEl8MCxWYXwwLDApfDA7UmE9STtpZihSYT4+PjA+
MHwoUmF8MCk9PTAmUWE+Pj4wPjFlOSl7UGE9aHAoUWF8MCxSYXwwLDFlOSwwKXwwO3FhPWlwKFFh
fDAsUmF8MCwxZTksMCl8MDtmYz1xYTtnYz1QYX1lbHNle2ZjPVFhO2djPTB9Y1tvPj4yXT1mYztv
PSh1fDApPT0oS2J8MCk7aWYoKHV8MCkhPShuKzEyNyYxMjd8MCl8byl7aGM9bn1lbHNle2hjPShm
Y3wwKT09MD91Om59aWYobyl7YnJlYWt9ZWxzZXtWYT1nYztVYT11KyAtMXwwO249aGN9fW49JGIr
IC0yOXwwO2lmKChnY3wwKT09MCl7JGI9bjthYz1oY31lbHNle1liPW47WmI9Z2M7X2I9aGM7YnJl
YWt9fX1UYT1LYisxMjcmMTI3O2lmKChUYXwwKT09KF9ifDApKXtuPV9iKzEyNyYxMjc7VWE9aCso
KF9iKzEyNiYxMjcpPDwyKXwwO2NbVWE+PjJdPWNbVWE+PjJdfGNbaCsobjw8Mik+PjJdO2ljPW59
ZWxzZXtpYz1fYn1jW2grKFRhPDwyKT4+Ml09WmI7S2I9VGE7TGI9WWI7TWI9TWIrOXwwO05iPWlj
fWc6d2hpbGUoMSl7amM9ZWMrMSYxMjc7V2E9aCsoKGVjKzEyNyYxMjcpPDwyKXwwO1RhPWJjO249
Y2M7VWE9ZGM7d2hpbGUoMSl7VmE9KFVhfDApPT0xODt1PShVYXwwKT4yNz85OjE7a2M9VGE7bGM9
bjt3aGlsZSgxKXtvPTA7d2hpbGUoMSl7UWE9bytrYyYxMjc7aWYoKFFhfDApPT0oZWN8MCkpe29j
PTI7YnJlYWt9UGE9Y1toKyhRYTw8Mik+PjJdfDA7UWE9Y1syMDkxMisobzw8Mik+PjJdfDA7aWYo
UGE+Pj4wPFFhPj4+MCl7b2M9MjticmVha31xYT1vKzF8MDtpZihQYT4+PjA+UWE+Pj4wKXtvYz1v
O2JyZWFrfWlmKChxYXwwKTwyKXtvPXFhfWVsc2V7b2M9cWE7YnJlYWt9fWlmKChvY3wwKT09MiZW
YSl7YnJlYWsgZ31wYz11K2xjfDA7aWYoKGtjfDApPT0oZWN8MCkpe2tjPWVjO2xjPXBjfWVsc2V7
YnJlYWt9fVZhPSgxPDx1KSsgLTF8MDtvPTFlOT4+PnU7cWM9a2M7cmM9MDtxYT1rYztzYz1VYTtk
b3tRYT1oKyhxYTw8Mil8MDtQYT1jW1FhPj4yXXwwO1JhPShQYT4+PnUpK3JjfDA7Y1tRYT4+Ml09
UmE7cmM9ZWEoUGEmVmEsbyl8MDtQYT0ocWF8MCk9PShxY3wwKSYoUmF8MCk9PTA7cWE9cWErMSYx
Mjc7c2M9UGE/c2MrIC05fDA6c2M7cWM9UGE/cWE6cWN9d2hpbGUoKHFhfDApIT0oZWN8MCkpO2lm
KChyY3wwKT09MCl7VGE9cWM7bj1wYztVYT1zYztjb250aW51ZX1pZigoamN8MCkhPShxY3wwKSl7
YnJlYWt9Y1tXYT4+Ml09Y1tXYT4+Ml18MTtUYT1xYztuPXBjO1VhPXNjfWNbaCsoZWM8PDIpPj4y
XT1yYztiYz1xYztjYz1wYztkYz1zYztlYz1qY31VYT1rYyYxMjc7aWYoKFVhfDApPT0oZWN8MCkp
e2NbaCsoamMrIC0xPDwyKT4+Ml09MDt0Yz1qY31lbHNle3RjPWVjfXhhPSsoKGNbaCsoVWE8PDIp
Pj4yXXwwKT4+PjApO1VhPWtjKzEmMTI3O2lmKChVYXwwKT09KHRjfDApKXtuPXRjKzEmMTI3O2Nb
aCsobisgLTE8PDIpPj4yXT0wO3VjPW59ZWxzZXt1Yz10Y31qYT0rKHJ8MCk7dmM9amEqKHhhKjEu
MGU5KyArKChjW2grKFVhPDwyKT4+Ml18MCk+Pj4wKSk7VWE9bGMrNTN8MDtuPVVhLWt8MDtpZigo
bnwwKTwoanwwKSl7d2M9KG58MCk8MD8wOm47eGM9MX1lbHNle3djPWo7eGM9MH1pZigod2N8MCk8
NTMpe3hhPStuYygrKCtNbygxLjAsMTA1LXdjfDApKSwrdmMpO3ljPStDYigrdmMsKygrTW8oMS4w
LDUzLXdjfDApKSk7emM9eGE7QWM9eWM7QmM9eGErKHZjLXljKX1lbHNle3pjPTAuMDtBYz0wLjA7
QmM9dmN9VGE9a2MrMiYxMjc7aWYoKFRhfDApIT0odWN8MCkpe1dhPWNbaCsoVGE8PDIpPj4yXXww
O2Rve2lmKCEoV2E+Pj4wPDVlOCkpe2lmKFdhPj4+MD41ZTgpe0NjPWphKi43NStBYzticmVha31p
Zigoa2MrMyYxMjd8MCk9PSh1Y3wwKSl7Q2M9amEqLjUrQWM7YnJlYWt9ZWxzZXtDYz1qYSouNzUr
QWM7YnJlYWt9fWVsc2V7aWYoKFdhfDApPT0wPyhrYyszJjEyN3wwKT09KHVjfDApOjApe0NjPUFj
O2JyZWFrfUNjPWphKi4yNStBY319d2hpbGUoMCk7aWYoKDUzLXdjfDApPjE/ISgrQ2IoK0NjLDEu
MCkhPTAuMCk6MCl7RGM9Q2MrMS4wfWVsc2V7RGM9Q2N9fWVsc2V7RGM9QWN9amE9QmMrRGMtemM7
ZG97aWYoKFVhJjIxNDc0ODM2NDd8MCk+KC0yLXBhfDApKXtpZighKCtUKCtqYSk+PTkwMDcxOTky
NTQ3NDA5OTIuMCkpe0VjPXhjO0ZjPWxjO0djPWphfWVsc2V7RWM9KHhjfDApIT0wJih3Y3wwKT09
KG58MCk/MDp4YztGYz1sYysxfDA7R2M9amEqLjV9aWYoKEZjKzUwfDApPD0ocmF8MCk/ISgoRWN8
MCkhPTAmRGMhPTAuMCk6MCl7SGM9RmM7SWM9R2M7YnJlYWt9Y1sobWMoKXwwKT4+Ml09MzQ7SGM9
RmM7SWM9R2N9ZWxzZXtIYz1sYztJYz1qYX19d2hpbGUoMCk7bD0rTm8oSWMsSGMpO2k9ZztyZXR1
cm4rbH1lbHNle2lmKChjW20+PjJdfDApIT0wKXtjW2U+PjJdPShjW2U+PjJdfDApKyAtMX1jWyht
YygpfDApPj4yXT0yMjtLbyhiLDApO2w9MC4wO2k9ZztyZXR1cm4rbH19fXdoaWxlKDApO2lmKCh2
fDApPT0yMyl7dj0oY1ttPj4yXXwwKT09MDtpZighdil7Y1tlPj4yXT0oY1tlPj4yXXwwKSsgLTF9
aWYoISh0Pj4+MDw0fChmfDApPT0wfHYpKXt2PXQ7ZG97Y1tlPj4yXT0oY1tlPj4yXXwwKSsgLTE7
dj12KyAtMXwwfXdoaWxlKHY+Pj4wPjMpfX1sPSsocnwwKSp5O2k9ZztyZXR1cm4rbH1mdW5jdGlv
biBKbyhhLGIpe2E9YXwwO2I9YnwwO3ZhciBlPTAsZj0wLGc9MCxoPTAsaj0wLGs9MCxsPTAsbT0w
LG49MCxvPTAscD0wLHE9MCxyPTAscz0wLHQ9MCx1PTAsdj0wLHc9MCx4PTAseT0wO2U9aTtmPWEr
NHwwO2c9Y1tmPj4yXXwwO2g9YSsxMDB8MDtpZihnPj4+MDwoY1toPj4yXXwwKT4+PjApe2NbZj4+
Ml09ZysxO2o9ZFtnXXwwfWVsc2V7aj1MbyhhKXwwfWlmKChqfDApPT00M3woanwwKT09NDUpe2c9
KGp8MCk9PTQ1fDA7az1jW2Y+PjJdfDA7aWYoaz4+PjA8KGNbaD4+Ml18MCk+Pj4wKXtjW2Y+PjJd
PWsrMTtsPWRba118MH1lbHNle2w9TG8oYSl8MH1pZighKChsKyAtNDh8MCk+Pj4wPDEwfChifDAp
PT0wKT8oY1toPj4yXXwwKSE9MDowKXtjW2Y+PjJdPShjW2Y+PjJdfDApKyAtMTttPWw7bj1nfWVs
c2V7bT1sO249Z319ZWxzZXttPWo7bj0wfWlmKChtKyAtNDh8MCk+Pj4wPjkpe2lmKChjW2g+PjJd
fDApPT0wKXtvPS0yMTQ3NDgzNjQ4O3A9MDtJPW87aT1lO3JldHVybiBwfDB9Y1tmPj4yXT0oY1tm
Pj4yXXwwKSsgLTE7bz0tMjE0NzQ4MzY0ODtwPTA7ST1vO2k9ZTtyZXR1cm4gcHwwfWVsc2V7cT1t
O3I9MH13aGlsZSgxKXtzPXErIC00OCtyfDA7bT1jW2Y+PjJdfDA7aWYobT4+PjA8KGNbaD4+Ml18
MCk+Pj4wKXtjW2Y+PjJdPW0rMTt0PWRbbV18MH1lbHNle3Q9TG8oYSl8MH1pZighKCh0KyAtNDh8
MCk+Pj4wPDEwJihzfDApPDIxNDc0ODM2NCkpe2JyZWFrfXE9dDtyPXMqMTB8MH1yPSgoc3wwKTww
KTw8MzE+PjMxO2lmKCh0KyAtNDh8MCk+Pj4wPDEwKXtxPXM7bT1yO2o9dDt3aGlsZSgxKXtnPWdw
KHF8MCxtfDAsMTAsMCl8MDtsPUk7Yj1XbyhqfDAsKChqfDApPDApPDwzMT4+MzF8MCwtNDgsLTEp
fDA7az1XbyhifDAsSXwwLGd8MCxsfDApfDA7bD1JO2c9Y1tmPj4yXXwwO2lmKGc+Pj4wPChjW2g+
PjJdfDApPj4+MCl7Y1tmPj4yXT1nKzE7dT1kW2ddfDB9ZWxzZXt1PUxvKGEpfDB9aWYoKHUrIC00
OHwwKT4+PjA8MTAmKChsfDApPDIxNDc0ODM2fChsfDApPT0yMTQ3NDgzNiZrPj4+MDwyMDYxNTg0
MzAyKSl7cT1rO209bDtqPXV9ZWxzZXt2PWs7dz1sO3g9dTticmVha319fWVsc2V7dj1zO3c9cjt4
PXR9aWYoKHgrIC00OHwwKT4+PjA8MTApe2Rve3g9Y1tmPj4yXXwwO2lmKHg+Pj4wPChjW2g+PjJd
fDApPj4+MCl7Y1tmPj4yXT14KzE7eT1kW3hdfDB9ZWxzZXt5PUxvKGEpfDB9fXdoaWxlKCh5KyAt
NDh8MCk+Pj4wPDEwKX1pZigoY1toPj4yXXwwKSE9MCl7Y1tmPj4yXT0oY1tmPj4yXXwwKSsgLTF9
Zj0obnwwKSE9MDtuPVVvKDAsMCx2fDAsd3wwKXwwO289Zj9JOnc7cD1mP246djtJPW87aT1lO3Jl
dHVybiBwfDB9ZnVuY3Rpb24gS28oYSxiKXthPWF8MDtiPWJ8MDt2YXIgZD0wLGU9MCxmPTAsZz0w
O2Q9aTtjW2ErMTA0Pj4yXT1iO2U9Y1thKzg+PjJdfDA7Zj1jW2ErND4+Ml18MDtnPWUtZnwwO2Nb
YSsxMDg+PjJdPWc7aWYoKGJ8MCkhPTAmKGd8MCk+KGJ8MCkpe2NbYSsxMDA+PjJdPWYrYjtpPWQ7
cmV0dXJufWVsc2V7Y1thKzEwMD4+Ml09ZTtpPWQ7cmV0dXJufX1mdW5jdGlvbiBMbyhiKXtiPWJ8
MDt2YXIgZT0wLGY9MCxnPTAsaD0wLGo9MCxrPTAsbD0wO2U9aTtmPWIrMTA0fDA7Zz1jW2Y+PjJd
fDA7aWYoISgoZ3wwKSE9MD8oY1tiKzEwOD4+Ml18MCk+PShnfDApOjApKXtoPTN9aWYoKGh8MCk9
PTM/KGg9UG8oYil8MCwoaHwwKT49MCk6MCl7Zz1jW2Y+PjJdfDA7Zj1jW2IrOD4+Ml18MDtpZigo
Z3wwKSE9MD8oaj1jW2IrND4+Ml18MCxrPWctKGNbYisxMDg+PjJdfDApKyAtMXwwLChmLWp8MCk+
KGt8MCkpOjApe2NbYisxMDA+PjJdPWora31lbHNle2NbYisxMDA+PjJdPWZ9az1jW2IrND4+Ml18
MDtpZigoZnwwKSE9MCl7aj1iKzEwOHwwO2Nbaj4+Ml09ZisxLWsrKGNbaj4+Ml18MCl9aj1rKyAt
MXwwO2lmKChkW2pdfDB8MCk9PShofDApKXtsPWg7aT1lO3JldHVybiBsfDB9YVtqXT1oO2w9aDtp
PWU7cmV0dXJuIGx8MH1jW2IrMTAwPj4yXT0wO2w9LTE7aT1lO3JldHVybiBsfDB9ZnVuY3Rpb24g
TW8oYSxiKXthPSthO2I9YnwwO3ZhciBkPTAsZT0wLjAsZj0wLGc9MCxqPTAsbD0wLjA7ZD1pO2lm
KChifDApPjEwMjMpe2U9YSo4Ljk4ODQ2NTY3NDMxMTU4ZSszMDc7Zj1iKyAtMTAyM3wwO2lmKChm
fDApPjEwMjMpe2c9YisgLTIwNDZ8MDtqPShnfDApPjEwMjM/MTAyMzpnO2w9ZSo4Ljk4ODQ2NTY3
NDMxMTU4ZSszMDd9ZWxzZXtqPWY7bD1lfX1lbHNle2lmKChifDApPC0xMDIyKXtlPWEqMi4yMjUw
NzM4NTg1MDcyMDE0ZS0zMDg7Zj1iKzEwMjJ8MDtpZigoZnwwKTwtMTAyMil7Zz1iKzIwNDR8MDtq
PShnfDApPC0xMDIyPy0xMDIyOmc7bD1lKjIuMjI1MDczODU4NTA3MjAxNGUtMzA4fWVsc2V7aj1m
O2w9ZX19ZWxzZXtqPWI7bD1hfX1iPVlvKGorMTAyM3wwLDAsNTIpfDA7aj1JO2Nbaz4+Ml09Yjtj
W2srND4+Ml09ajthPWwqK2hbaz4+M107aT1kO3JldHVybithfWZ1bmN0aW9uIE5vKGEsYil7YT0r
YTtiPWJ8MDt2YXIgYz0wLGQ9MC4wO2M9aTtkPStNbyhhLGIpO2k9YztyZXR1cm4rZH1mdW5jdGlv
biBPbyhiKXtiPWJ8MDt2YXIgZD0wLGU9MCxmPTAsZz0wLGg9MDtkPWk7ZT1iKzc0fDA7Zj1hW2Vd
fDA7YVtlXT1mKzI1NXxmO2Y9YisyMHwwO2U9Yis0NHwwO2lmKChjW2Y+PjJdfDApPj4+MD4oY1tl
Pj4yXXwwKT4+PjApe3ZjW2NbYiszNj4+Ml0mMzFdKGIsMCwwKXwwfWNbYisxNj4+Ml09MDtjW2Ir
Mjg+PjJdPTA7Y1tmPj4yXT0wO2Y9Y1tiPj4yXXwwO2lmKChmJjIwfDApPT0wKXtnPWNbZT4+Ml18
MDtjW2IrOD4+Ml09ZztjW2IrND4+Ml09ZztoPTA7aT1kO3JldHVybiBofDB9aWYoKGYmNHwwKT09
MCl7aD0tMTtpPWQ7cmV0dXJuIGh8MH1jW2I+PjJdPWZ8MzI7aD0tMTtpPWQ7cmV0dXJuIGh8MH1m
dW5jdGlvbiBQbyhhKXthPWF8MDt2YXIgYj0wLGU9MCxmPTA7Yj1pO2k9aSsxNnwwO2U9YjtpZigo
Y1thKzg+PjJdfDApPT0wPyhPbyhhKXwwKSE9MDowKXtmPS0xfWVsc2V7aWYoKHZjW2NbYSszMj4+
Ml0mMzFdKGEsZSwxKXwwKT09MSl7Zj1kW2VdfDB9ZWxzZXtmPS0xfX1pPWI7cmV0dXJuIGZ8MH1m
dW5jdGlvbiBRbyhhLGIsZCl7YT1hfDA7Yj1ifDA7ZD1kfDA7dmFyIGU9MCxmPTAsZz0wLGg9MC4w
LGo9MCxrPTA7ZD1pO2k9aSsxMTJ8MDtlPWQ7Zj1lKzB8MDtnPWYrMTEyfDA7ZG97Y1tmPj4yXT0w
O2Y9Zis0fDB9d2hpbGUoKGZ8MCk8KGd8MCkpO2Y9ZSs0fDA7Y1tmPj4yXT1hO2c9ZSs4fDA7Y1tn
Pj4yXT0tMTtjW2UrNDQ+PjJdPWE7Y1tlKzc2Pj4yXT0tMTtLbyhlLDApO2g9K0lvKGUsMiwxKTtq
PShjW2Y+PjJdfDApLShjW2c+PjJdfDApKyhjW2UrMTA4Pj4yXXwwKXwwO2lmKChifDApPT0wKXtp
PWQ7cmV0dXJuK2h9aWYoKGp8MCk9PTApe2s9YX1lbHNle2s9YStqfDB9Y1tiPj4yXT1rO2k9ZDty
ZXR1cm4raH1mdW5jdGlvbiBSbyhiLGMsZCl7Yj1ifDA7Yz1jfDA7ZD1kfDA7dmFyIGU9MCxmPTAs
Zz0wLGg9MCxqPTAsaz0wLGw9MCxtPTA7ZT1pO2E6ZG97aWYoKGR8MCk9PTApe2Y9MH1lbHNle2c9
ZDtoPWI7aj1jO3doaWxlKDEpe2s9YVtoXXwwO2w9YVtqXXwwO2lmKCEoazw8MjQ+PjI0PT1sPDwy
ND4+MjQpKXticmVha31tPWcrIC0xfDA7aWYoKG18MCk9PTApe2Y9MDticmVhayBhfWVsc2V7Zz1t
O2g9aCsxfDA7aj1qKzF8MH19Zj0oayYyNTUpLShsJjI1NSl8MH19d2hpbGUoMCk7aT1lO3JldHVy
biBmfDB9ZnVuY3Rpb24gU28oYixjKXtiPWJ8MDtjPWN8MDt2YXIgZD0wLGU9MCxmPTAsZz0wLGg9
MCxqPTAsaz0wLGw9MCxtPTAsbj0wO2Q9aTtlPWFbYl18MDtmPWFbY118MDtpZihlPDwyND4+MjQh
PWY8PDI0Pj4yNHxlPDwyND4+MjQ9PTB8Zjw8MjQ+PjI0PT0wKXtnPWU7aD1mO2o9ZyYyNTU7az1o
JjI1NTtsPWota3wwO2k9ZDtyZXR1cm4gbHwwfWVsc2V7bT1iO249Y313aGlsZSgxKXtjPW0rMXww
O2I9bisxfDA7Zj1hW2NdfDA7ZT1hW2JdfDA7aWYoZjw8MjQ+PjI0IT1lPDwyND4+MjR8Zjw8MjQ+
PjI0PT0wfGU8PDI0Pj4yND09MCl7Zz1mO2g9ZTticmVha31lbHNle209YztuPWJ9fWo9ZyYyNTU7
az1oJjI1NTtsPWota3wwO2k9ZDtyZXR1cm4gbHwwfWZ1bmN0aW9uIFRvKCl7Y1syMjA2XT1vO2Nb
MjIzMl09bztjWzQ5OTBdPW87Y1s1MjIwXT1vfWZ1bmN0aW9uIFVvKGEsYixjLGQpe2E9YXwwO2I9
YnwwO2M9Y3wwO2Q9ZHwwO3ZhciBlPTA7ZT1iLWQ+Pj4wO2U9Yi1kLShjPj4+MD5hPj4+MHwwKT4+
PjA7cmV0dXJuKEk9ZSxhLWM+Pj4wfDApfDB9ZnVuY3Rpb24gVm8oYil7Yj1ifDA7dmFyIGM9MDtj
PWI7d2hpbGUoYVtjXXwwKXtjPWMrMXwwfXJldHVybiBjLWJ8MH1mdW5jdGlvbiBXbyhhLGIsYyxk
KXthPWF8MDtiPWJ8MDtjPWN8MDtkPWR8MDt2YXIgZT0wO2U9YStjPj4+MDtyZXR1cm4oST1iK2Qr
KGU+Pj4wPGE+Pj4wfDApPj4+MCxlfDApfDB9ZnVuY3Rpb24gWG8oYixkLGUpe2I9YnwwO2Q9ZHww
O2U9ZXwwO3ZhciBmPTA7aWYoKGV8MCk+PTQwOTYpcmV0dXJuIE9hKGJ8MCxkfDAsZXwwKXwwO2Y9
YnwwO2lmKChiJjMpPT0oZCYzKSl7d2hpbGUoYiYzKXtpZigoZXwwKT09MClyZXR1cm4gZnwwO2Fb
Yl09YVtkXXwwO2I9YisxfDA7ZD1kKzF8MDtlPWUtMXwwfXdoaWxlKChlfDApPj00KXtjW2I+PjJd
PWNbZD4+Ml07Yj1iKzR8MDtkPWQrNHwwO2U9ZS00fDB9fXdoaWxlKChlfDApPjApe2FbYl09YVtk
XXwwO2I9YisxfDA7ZD1kKzF8MDtlPWUtMXwwfXJldHVybiBmfDB9ZnVuY3Rpb24gWW8oYSxiLGMp
e2E9YXwwO2I9YnwwO2M9Y3wwO2lmKChjfDApPDMyKXtJPWI8PGN8KGEmKDE8PGMpLTE8PDMyLWMp
Pj4+MzItYztyZXR1cm4gYTw8Y31JPWE8PGMtMzI7cmV0dXJuIDB9ZnVuY3Rpb24gWm8oYixjLGQp
e2I9YnwwO2M9Y3wwO2Q9ZHwwO3ZhciBlPTA7aWYoKGN8MCk8KGJ8MCkmKGJ8MCk8KGMrZHwwKSl7
ZT1iO2M9YytkfDA7Yj1iK2R8MDt3aGlsZSgoZHwwKT4wKXtiPWItMXwwO2M9Yy0xfDA7ZD1kLTF8
MDthW2JdPWFbY118MH1iPWV9ZWxzZXtYbyhiLGMsZCl8MH1yZXR1cm4gYnwwfWZ1bmN0aW9uIF9v
KGIsZCxlKXtiPWJ8MDtkPWR8MDtlPWV8MDt2YXIgZj0wLGc9MCxoPTAsaT0wO2Y9YitlfDA7aWYo
KGV8MCk+PTIwKXtkPWQmMjU1O2c9YiYzO2g9ZHxkPDw4fGQ8PDE2fGQ8PDI0O2k9ZiZ+MztpZihn
KXtnPWIrNC1nfDA7d2hpbGUoKGJ8MCk8KGd8MCkpe2FbYl09ZDtiPWIrMXwwfX13aGlsZSgoYnww
KTwoaXwwKSl7Y1tiPj4yXT1oO2I9Yis0fDB9fXdoaWxlKChifDApPChmfDApKXthW2JdPWQ7Yj1i
KzF8MH1yZXR1cm4gYi1lfDB9ZnVuY3Rpb24gJG8oYSxiLGMpe2E9YXwwO2I9YnwwO2M9Y3wwO2lm
KChjfDApPDMyKXtJPWI+Pj5jO3JldHVybiBhPj4+Y3woYiYoMTw8YyktMSk8PDMyLWN9ST0wO3Jl
dHVybiBiPj4+Yy0zMnwwfWZ1bmN0aW9uIGFwKGEsYixjKXthPWF8MDtiPWJ8MDtjPWN8MDtpZigo
Y3wwKTwzMil7ST1iPj5jO3JldHVybiBhPj4+Y3woYiYoMTw8YyktMSk8PDMyLWN9ST0oYnwwKTww
Py0xOjA7cmV0dXJuIGI+PmMtMzJ8MH1mdW5jdGlvbiBicChiKXtiPWJ8MDt2YXIgYz0wO2M9YVtu
KyhiPj4+MjQpfDBdfDA7aWYoKGN8MCk8OClyZXR1cm4gY3wwO2M9YVtuKyhiPj4xNiYyNTUpfDBd
fDA7aWYoKGN8MCk8OClyZXR1cm4gYys4fDA7Yz1hW24rKGI+PjgmMjU1KXwwXXwwO2lmKChjfDAp
PDgpcmV0dXJuIGMrMTZ8MDtyZXR1cm4oYVtuKyhiJjI1NSl8MF18MCkrMjR8MH1mdW5jdGlvbiBj
cChiKXtiPWJ8MDt2YXIgYz0wO2M9YVttKyhiJjI1NSl8MF18MDtpZigoY3wwKTw4KXJldHVybiBj
fDA7Yz1hW20rKGI+PjgmMjU1KXwwXXwwO2lmKChjfDApPDgpcmV0dXJuIGMrOHwwO2M9YVttKyhi
Pj4xNiYyNTUpfDBdfDA7aWYoKGN8MCk8OClyZXR1cm4gYysxNnwwO3JldHVybihhW20rKGI+Pj4y
NCl8MF18MCkrMjR8MH1mdW5jdGlvbiBkcChhLGIpe2E9YXwwO2I9YnwwO3ZhciBjPTAsZD0wLGU9
MCxmPTA7Yz1hJjY1NTM1O2Q9YiY2NTUzNTtlPWVhKGQsYyl8MDtmPWE+Pj4xNjthPShlPj4+MTYp
KyhlYShkLGYpfDApfDA7ZD1iPj4+MTY7Yj1lYShkLGMpfDA7cmV0dXJuKEk9KGE+Pj4xNikrKGVh
KGQsZil8MCkrKCgoYSY2NTUzNSkrYnwwKT4+PjE2KXwwLGErYjw8MTZ8ZSY2NTUzNXwwKXwwfWZ1
bmN0aW9uIGVwKGEsYixjLGQpe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9ZHwwO3ZhciBlPTAsZj0wLGc9
MCxoPTAsaT0wO2U9Yj4+MzF8KChifDApPDA/LTE6MCk8PDE7Zj0oKGJ8MCk8MD8tMTowKT4+MzF8
KChifDApPDA/LTE6MCk8PDE7Zz1kPj4zMXwoKGR8MCk8MD8tMTowKTw8MTtoPSgoZHwwKTwwPy0x
OjApPj4zMXwoKGR8MCk8MD8tMTowKTw8MTtpPVVvKGVeYSxmXmIsZSxmKXwwO2I9STthPWdeZTtl
PWheZjtmPVVvKChqcChpLGIsVW8oZ15jLGheZCxnLGgpfDAsSSwwKXwwKV5hLEleZSxhLGUpfDA7
cmV0dXJuIGZ8MH1mdW5jdGlvbiBmcChhLGIsZCxlKXthPWF8MDtiPWJ8MDtkPWR8MDtlPWV8MDt2
YXIgZj0wLGc9MCxoPTAsaj0wLGs9MCxsPTAsbT0wO2Y9aTtpPWkrOHwwO2c9ZnwwO2g9Yj4+MzF8
KChifDApPDA/LTE6MCk8PDE7aj0oKGJ8MCk8MD8tMTowKT4+MzF8KChifDApPDA/LTE6MCk8PDE7
az1lPj4zMXwoKGV8MCk8MD8tMTowKTw8MTtsPSgoZXwwKTwwPy0xOjApPj4zMXwoKGV8MCk8MD8t
MTowKTw8MTttPVVvKGheYSxqXmIsaCxqKXwwO2I9STtqcChtLGIsVW8oa15kLGxeZSxrLGwpfDAs
SSxnKXwwO2w9VW8oY1tnPj4yXV5oLGNbZys0Pj4yXV5qLGgsail8MDtqPUk7aT1mO3JldHVybihJ
PWosbCl8MH1mdW5jdGlvbiBncChhLGIsYyxkKXthPWF8MDtiPWJ8MDtjPWN8MDtkPWR8MDt2YXIg
ZT0wLGY9MDtlPWE7YT1jO2M9ZHAoZSxhKXwwO2Y9STtyZXR1cm4oST0oZWEoYixhKXwwKSsoZWEo
ZCxlKXwwKStmfGYmMCxjfDB8MCl8MH1mdW5jdGlvbiBocChhLGIsYyxkKXthPWF8MDtiPWJ8MDtj
PWN8MDtkPWR8MDt2YXIgZT0wO2U9anAoYSxiLGMsZCwwKXwwO3JldHVybiBlfDB9ZnVuY3Rpb24g
aXAoYSxiLGQsZSl7YT1hfDA7Yj1ifDA7ZD1kfDA7ZT1lfDA7dmFyIGY9MCxnPTA7Zj1pO2k9aSs4
fDA7Zz1mfDA7anAoYSxiLGQsZSxnKXwwO2k9ZjtyZXR1cm4oST1jW2crND4+Ml18MCxjW2c+PjJd
fDApfDB9ZnVuY3Rpb24ganAoYSxiLGQsZSxmKXthPWF8MDtiPWJ8MDtkPWR8MDtlPWV8MDtmPWZ8
MDt2YXIgZz0wLGg9MCxpPTAsaj0wLGs9MCxsPTAsbT0wLG49MCxvPTAscD0wLHE9MCxyPTAscz0w
LHQ9MCx1PTAsdj0wLHc9MCx4PTAseT0wLHo9MCxBPTAsQj0wLEM9MCxEPTAsRT0wLEY9MCxHPTAs
SD0wLEo9MCxLPTAsTD0wLE09MDtnPWE7aD1iO2k9aDtqPWQ7az1lO2w9aztpZigoaXwwKT09MCl7
bT0oZnwwKSE9MDtpZigobHwwKT09MCl7aWYobSl7Y1tmPj4yXT0oZz4+PjApJShqPj4+MCk7Y1tm
KzQ+PjJdPTB9bj0wO289KGc+Pj4wKS8oaj4+PjApPj4+MDtyZXR1cm4oST1uLG8pfDB9ZWxzZXtp
ZighbSl7bj0wO289MDtyZXR1cm4oST1uLG8pfDB9Y1tmPj4yXT1hfDA7Y1tmKzQ+PjJdPWImMDtu
PTA7bz0wO3JldHVybihJPW4sbyl8MH19bT0obHwwKT09MDtkb3tpZigoanwwKSE9MCl7aWYoIW0p
e3A9KGJwKGx8MCl8MCktKGJwKGl8MCl8MCl8MDtpZihwPj4+MDw9MzEpe3E9cCsxfDA7cj0zMS1w
fDA7cz1wLTMxPj4zMTt0PXE7dT1nPj4+KHE+Pj4wKSZzfGk8PHI7dj1pPj4+KHE+Pj4wKSZzO3c9
MDt4PWc8PHI7YnJlYWt9aWYoKGZ8MCk9PTApe249MDtvPTA7cmV0dXJuKEk9bixvKXwwfWNbZj4+
Ml09YXwwO2NbZis0Pj4yXT1ofGImMDtuPTA7bz0wO3JldHVybihJPW4sbyl8MH1yPWotMXwwO2lm
KChyJmp8MCkhPTApe3M9KGJwKGp8MCl8MCkrMzMtKGJwKGl8MCl8MCl8MDtxPTY0LXN8MDtwPTMy
LXN8MDt5PXA+PjMxO3o9cy0zMnwwO0E9ej4+MzE7dD1zO3U9cC0xPj4zMSZpPj4+KHo+Pj4wKXwo
aTw8cHxnPj4+KHM+Pj4wKSkmQTt2PUEmaT4+PihzPj4+MCk7dz1nPDxxJnk7eD0oaTw8cXxnPj4+
KHo+Pj4wKSkmeXxnPDxwJnMtMzM+PjMxO2JyZWFrfWlmKChmfDApIT0wKXtjW2Y+PjJdPXImZztj
W2YrND4+Ml09MH1pZigoanwwKT09MSl7bj1ofGImMDtvPWF8MHwwO3JldHVybihJPW4sbyl8MH1l
bHNle3I9Y3AoanwwKXwwO249aT4+PihyPj4+MCl8MDtvPWk8PDMyLXJ8Zz4+PihyPj4+MCl8MDty
ZXR1cm4oST1uLG8pfDB9fWVsc2V7aWYobSl7aWYoKGZ8MCkhPTApe2NbZj4+Ml09KGk+Pj4wKSUo
aj4+PjApO2NbZis0Pj4yXT0wfW49MDtvPShpPj4+MCkvKGo+Pj4wKT4+PjA7cmV0dXJuKEk9bixv
KXwwfWlmKChnfDApPT0wKXtpZigoZnwwKSE9MCl7Y1tmPj4yXT0wO2NbZis0Pj4yXT0oaT4+PjAp
JShsPj4+MCl9bj0wO289KGk+Pj4wKS8obD4+PjApPj4+MDtyZXR1cm4oST1uLG8pfDB9cj1sLTF8
MDtpZigociZsfDApPT0wKXtpZigoZnwwKSE9MCl7Y1tmPj4yXT1hfDA7Y1tmKzQ+PjJdPXImaXxi
JjB9bj0wO289aT4+PigoY3AobHwwKXwwKT4+PjApO3JldHVybihJPW4sbyl8MH1yPShicChsfDAp
fDApLShicChpfDApfDApfDA7aWYocj4+PjA8PTMwKXtzPXIrMXwwO3A9MzEtcnwwO3Q9czt1PWk8
PHB8Zz4+PihzPj4+MCk7dj1pPj4+KHM+Pj4wKTt3PTA7eD1nPDxwO2JyZWFrfWlmKChmfDApPT0w
KXtuPTA7bz0wO3JldHVybihJPW4sbyl8MH1jW2Y+PjJdPWF8MDtjW2YrND4+Ml09aHxiJjA7bj0w
O289MDtyZXR1cm4oST1uLG8pfDB9fXdoaWxlKDApO2lmKCh0fDApPT0wKXtCPXg7Qz13O0Q9djtF
PXU7Rj0wO0c9MH1lbHNle2I9ZHwwfDA7ZD1rfGUmMDtlPVdvKGIsZCwtMSwtMSl8MDtrPUk7aD14
O3g9dzt3PXY7dj11O3U9dDt0PTA7d2hpbGUoMSl7SD14Pj4+MzF8aDw8MTtKPXR8eDw8MTthPXY8
PDF8aD4+PjMxfDA7Zz12Pj4+MzF8dzw8MXwwO1VvKGUsayxhLGcpfDA7aT1JO2w9aT4+MzF8KChp
fDApPDA/LTE6MCk8PDE7Sz1sJjE7TD1VbyhhLGcsbCZiLCgoKGl8MCk8MD8tMTowKT4+MzF8KChp
fDApPDA/LTE6MCk8PDEpJmQpfDA7TT1JO2k9dS0xfDA7aWYoKGl8MCk9PTApe2JyZWFrfWVsc2V7
aD1IO3g9Sjt3PU07dj1MO3U9aTt0PUt9fUI9SDtDPUo7RD1NO0U9TDtGPTA7Rz1LfUs9QztDPTA7
aWYoKGZ8MCkhPTApe2NbZj4+Ml09RTtjW2YrND4+Ml09RH1uPShLfDApPj4+MzF8KEJ8Qyk8PDF8
KEM8PDF8Sz4+PjMxKSYwfEY7bz0oSzw8MXwwPj4+MzEpJi0yfEc7cmV0dXJuKEk9bixvKXwwfWZ1
bmN0aW9uIGtwKGEsYixjLGQpe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9ZHwwO3JldHVybiB2Y1thJjMx
XShifDAsY3wwLGR8MCl8MH1mdW5jdGlvbiBscChhLGIsYyxkLGUsZixnKXthPWF8MDtiPWJ8MDtj
PWN8MDtkPWR8MDtlPWV8MDtmPWZ8MDtnPWd8MDt3Y1thJjMxXShifDAsY3wwLGR8MCxlfDAsZnww
LGd8MCl9ZnVuY3Rpb24gbXAoYSxiLGMsZCxlLGYsZyxoKXthPWF8MDtiPWJ8MDtjPWN8MDtkPWR8
MDtlPStlO2Y9K2Y7Zz0rZztoPStoO3hjW2EmN10oYnwwLGN8MCxkfDAsK2UsK2YsK2csK2gpfWZ1
bmN0aW9uIG5wKGEsYixjLGQsZSxmLGcsaCl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7
Zj1mfDA7Zz1nfDA7aD1ofDA7eWNbYSY2M10oYnwwLGN8MCxkfDAsZXwwLGZ8MCxnfDAsaHwwKX1m
dW5jdGlvbiBvcChhLGIsYyxkLGUsZil7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7ZT0rZTtmPStm
O3pjW2EmN10oYnwwLGN8MCxkfDAsK2UsK2YpfWZ1bmN0aW9uIHBwKGEsYil7YT1hfDA7Yj1ifDA7
QWNbYSYyNTVdKGJ8MCl9ZnVuY3Rpb24gcXAoYSxiLGMpe2E9YXwwO2I9YnwwO2M9Y3wwO0JjW2Em
NjNdKGJ8MCxjfDApfWZ1bmN0aW9uIHJwKGEsYixjLGQsZSxmLGcsaCxpLGope2E9YXwwO2I9Ynww
O2M9Y3wwO2Q9ZHwwO2U9ZXwwO2Y9ZnwwO2c9Z3wwO2g9aHwwO2k9aXwwO2o9anwwO0NjW2EmM10o
YnwwLGN8MCxkfDAsZXwwLGZ8MCxnfDAsaHwwLGl8MCxqfDApfWZ1bmN0aW9uIHNwKGEsYil7YT1h
fDA7Yj1ifDA7cmV0dXJuIERjW2EmMTI3XShifDApfDB9ZnVuY3Rpb24gdHAoYSxiLGMsZCxlLGYs
ZyxoKXthPWF8MDtiPWJ8MDtjPWN8MDtkPWR8MDtlPWV8MDtmPWZ8MDtnPWd8MDtoPStoO0VjW2Em
M10oYnwwLGN8MCxkfDAsZXwwLGZ8MCxnfDAsK2gpfWZ1bmN0aW9uIHVwKGEsYixjLGQpe2E9YXww
O2I9YnwwO2M9Y3wwO2Q9ZHwwO0ZjW2EmMTVdKGJ8MCxjfDAsZHwwKX1mdW5jdGlvbiB2cChhLGIs
YyxkLGUsZixnKXthPWF8MDtiPWJ8MDtjPWN8MDtkPWR8MDtlPWV8MDtmPWZ8MDtnPStnO0djW2Em
N10oYnwwLGN8MCxkfDAsZXwwLGZ8MCwrZyl9ZnVuY3Rpb24gd3AoYSl7YT1hfDA7SGNbYSYxXSgp
fWZ1bmN0aW9uIHhwKGEsYixjLGQsZSxmLGcsaCxpKXthPWF8MDtiPWJ8MDtjPWN8MDtkPWR8MDtl
PWV8MDtmPWZ8MDtnPWd8MDtoPWh8MDtpPWl8MDtyZXR1cm4gSWNbYSYxNV0oYnwwLGN8MCxkfDAs
ZXwwLGZ8MCxnfDAsaHwwLGl8MCl8MH1mdW5jdGlvbiB5cChhLGIsYyxkLGUpe2E9YXwwO2I9Ynww
O2M9Y3wwO2Q9ZHwwO2U9ZXwwO3JldHVybiBKY1thJjddKGJ8MCxjfDAsZHwwLGV8MCl8MH1mdW5j
dGlvbiB6cChhLGIsYyxkLGUsZixnLGgsaSl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7
Zj1mfDA7Zz1nfDA7aD1ofDA7aT1pfDA7S2NbYSY3XShifDAsY3wwLGR8MCxlfDAsZnwwLGd8MCxo
fDAsaXwwKX1mdW5jdGlvbiBBcChhLGIsYyxkLGUsZil7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7
ZT1lfDA7Zj1mfDA7TGNbYSYzXShifDAsY3wwLGR8MCxlfDAsZnwwKX1mdW5jdGlvbiBCcChhLGIs
Yyl7YT1hfDA7Yj1ifDA7Yz1jfDA7cmV0dXJuIE1jW2EmMzFdKGJ8MCxjfDApfDB9ZnVuY3Rpb24g
Q3AoYSxiLGMsZCxlLGYpe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9ZHwwO2U9ZXwwO2Y9ZnwwO3JldHVy
biBOY1thJjE1XShifDAsY3wwLGR8MCxlfDAsZnwwKXwwfWZ1bmN0aW9uIERwKGEsYixjLGQsZSl7
YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7T2NbYSYxNV0oYnwwLGN8MCxkfDAsZXwwKX1m
dW5jdGlvbiBFcChhLGIsYyl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZmEoMCk7cmV0dXJuIDB9ZnVuY3Rp
b24gRnAoYSxiLGMsZCxlLGYpe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9ZHwwO2U9ZXwwO2Y9ZnwwO2Zh
KDEpfWZ1bmN0aW9uIEdwKGEsYixjLGQsZSxmLGcpe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9K2Q7ZT0r
ZTtmPStmO2c9K2c7ZmEoMil9ZnVuY3Rpb24gSHAoYSxiLGMsZCxlLGYsZyl7YT1hfDA7Yj1ifDA7
Yz1jfDA7ZD1kfDA7ZT1lfDA7Zj1mfDA7Zz1nfDA7ZmEoMyl9ZnVuY3Rpb24gSXAoYSxiLGMsZCxl
KXthPWF8MDtiPWJ8MDtjPWN8MDtkPStkO2U9K2U7ZmEoNCl9ZnVuY3Rpb24gSnAoYSl7YT1hfDA7
ZmEoNSl9ZnVuY3Rpb24gS3AoYSxiKXthPWF8MDtiPWJ8MDtmYSg2KX1mdW5jdGlvbiBMcChhLGIs
YyxkLGUsZixnLGgsaSl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7Zj1mfDA7Zz1nfDA7
aD1ofDA7aT1pfDA7ZmEoNyl9ZnVuY3Rpb24gTXAoYSl7YT1hfDA7ZmEoOCk7cmV0dXJuIDB9ZnVu
Y3Rpb24gTnAoYSxiLGMsZCxlLGYsZyl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7Zj1m
fDA7Zz0rZztmYSg5KX1mdW5jdGlvbiBPcChhLGIsYyl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZmEoMTAp
fWZ1bmN0aW9uIFBwKGEsYixjLGQsZSxmKXthPWF8MDtiPWJ8MDtjPWN8MDtkPWR8MDtlPWV8MDtm
PStmO2ZhKDExKX1mdW5jdGlvbiBRcCgpe2ZhKDEyKX1mdW5jdGlvbiBScCgpe1hiKCl9ZnVuY3Rp
b24gU3AoYSxiLGMsZCxlLGYsZyxoKXthPWF8MDtiPWJ8MDtjPWN8MDtkPWR8MDtlPWV8MDtmPWZ8
MDtnPWd8MDtoPWh8MDtmYSgxMyk7cmV0dXJuIDB9ZnVuY3Rpb24gVHAoYSxiLGMsZCl7YT1hfDA7
Yj1ifDA7Yz1jfDA7ZD1kfDA7ZmEoMTQpO3JldHVybiAwfWZ1bmN0aW9uIFVwKGEsYixjLGQsZSxm
LGcsaCl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7Zj1mfDA7Zz1nfDA7aD1ofDA7ZmEo
MTUpfWZ1bmN0aW9uIFZwKGEsYixjLGQsZSl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7
ZmEoMTYpfWZ1bmN0aW9uIFdwKGEsYil7YT1hfDA7Yj1ifDA7ZmEoMTcpO3JldHVybiAwfWZ1bmN0
aW9uIFhwKGEsYixjLGQsZSl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7ZmEoMTgpO3Jl
dHVybiAwfWZ1bmN0aW9uIFlwKGEsYixjLGQpe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9ZHwwO2ZhKDE5
KX0KCgoKCi8vIEVNU0NSSVBURU5fRU5EX0ZVTkNTCnZhciB2Yz1bRXAsRWcsSmcsTmcsU2csWGcs
ZmYsJGcsdWYsVWYsVmYsTGgsUWgscmwsd2wsYm0sZG0sZ20sT2wsVGwsVmwsWWwsa28sRXAsRXAs
RXAsRXAsRXAsRXAsRXAsRXAsRXBdO3ZhciB3Yz1bRnAsdmUsVGcsRmcsVWksVmksWmksZGosZ2os
aGosbGoscWosc2wseGwsdW8sdG8sc28sRnAsRnAsRnAsRnAsRnAsRnAsRnAsRnAsRnAsRnAsRnAs
RnAsRnAsRnAsRnBdO3ZhciB4Yz1bR3AsUmQsU2QsVGQsWmQsT2UsUGUsUWVdO3ZhciB5Yz1bSHAs
VGgsVmgsWGgsWmgsJGgsYmksZGksZmksaGksamksbGkscWksc2ksdWksd2kseWksQWksQ2ksRWks
R2ksSWksS2ksWWksX2ksa2osbWosdmosd2oseGoseWosemosSWosSmosS2osTGosTWosaWwsb2ws
SHAsSHAsSHAsSHAsSHAsSHAsSHAsSHAsSHAsSHAsSHAsSHAsSHAsSHAsSHAsSHAsSHAsSHAsSHAs
SHAsSHAsSHAsSHAsSHAsSHBdO3ZhciB6Yz1bSXAsVWQsVmQsX2QsUmUsU2UsSXAsSXBdO3ZhciBB
Yz1bSnAsRmQsR2QsRWQsS2QsT2QsbGUsbWUsSmQscWUsb2UscmUscGUsc2UsY2gsYmgsZWgsZGgs
dGUsdWUsR2UsSGUsTGUsVWUsVmUsRmUsWGUsYmYsY2YsamYsa2YscWYscmYseGYseWYsS2YsSmYs
UGYsT2YsUmYsX2YsWmYsQ2csQmcsUWcsUGcsaWgsaGgsa2gsamgsbmgsbWgscGgsb2gsdmgsdWgs
eGgsd2gsRGgsQ2gseWcsRWgsQmgsRmgsSGgsR2gsTGwsTmgsTWgsU2gsUmgscGksb2ksVGksU2ks
ZmosZWosdGosc2osR2osRmosU2osUmosVmosVWosWmosWWosaWssaGssdGssc2ssRWssRGssUGss
T2ssWmssWWssZWwsZGwsa2wsamwscWwscGwsdmwsdWwsRWwsRGwsJGwsX2wsemwscW0sWG0sV20s
Wm0sWW0sSWgsS2wsTmwsaW0seW0sSm0sVW0sVm0sYm8sYW8sZW8saG8sZm8sZ28saW8sam8sRm8s
RW8sYWYsTWwsR24sUmssd28sTm4sTW4sTG4sS24sSm4sSW4sZWcscWcsSnAsSnAsSnAsSnAsSnAs
SnAsSnAsSnAsSnAsSnAsSnAsSnAsSnAsSnAsSnAsSnAsSnAsSnAsSnAsSnAsSnAsSnAsSnAsSnAs
SnAsSnAsSnAsSnAsSnAsSnAsSnAsSnAsSnAsSnAsSnAsSnAsSnAsSnAsSnAsSnAsSnAsSnAsSnAs
SnAsSnAsSnAsSnAsSnAsSnAsSnAsSnAsSnAsSnAsSnAsSnAsSnAsSnAsSnAsSnAsSnAsSnAsSnAs
SnAsSnAsSnAsSnAsSnAsSnAsSnAsSnAsSnAsSnAsSnAsSnAsSnAsSnAsSnAsSnAsSnAsSnAsSnAs
SnAsSnAsSnAsSnAsSnAsSnAsSnAsSnAsSnAsSnAsSnAsSnAsSnAsSnAsSnAsSnAsSnAsSnAsSnAs
SnAsSnAsSnAsSnAsSnAsSnAsSnAsSnAsSnAsSnBdO3ZhciBCYz1bS3AsTGQsTWQsTmQsRGcsSWUs
SmUsS2UsQ2QsRWUsX2UsZGYsbGYsc2YsemYsUmcsYWssYmssY2ssZGssZmssZ2ssbGssbWssbmss
b2sscWsscmssd2sseGsseWssemssQmssQ2ssSGssSWssSmssS2ssTWssTmssdGwseWwsY24sZW4s
Z24sZG4sZm4saG4sS3AsS3AsS3AsS3AsS3AsS3AsS3AsS3AsS3AsS3AsS3AsS3AsS3AsS3AsS3As
S3BdO3ZhciBDYz1bTHAsQWosTmosTHBdO3ZhciBEYz1bTXAsSGcsSWcseGUsTGcseWQseGQsZWYs
V2csWWcsWmcsVmcsbWYsbmYsdGYsS2csQWYsQmYsTGYsUWYsemgsdWosam4sbG4sbm4sdG4sdm4s
cG4scm4sSGosa24sbW4sb24sdW4sd24scW4sc24sX2osJGosZWssamssa2sscGssdWssdmssQWss
RmssR2ssTGssdW0sdm0seG0sX20sYW4sJG0sYm4sbW0sbm0scG0sRW0sRm0sSW0sUG0sUW0sVG0s
Y28sR28sTXAsTXAsTXAsTXAsTXAsTXAsTXAsTXAsTXAsTXAsTXAsTXAsTXAsTXAsTXAsTXAsTXAs
TXAsTXAsTXAsTXAsTXAsTXAsTXAsTXAsTXAsTXAsTXAsTXAsTXAsTXAsTXAsTXAsTXAsTXAsTXAs
TXAsTXAsTXAsTXAsTXAsTXAsTXAsTXAsTXAsTXAsTXAsTXAsTXAsTXAsTXAsTXAsTXAsTXAsTXAs
TXAsTXAsTXAsTXAsTXAsTXBdO3ZhciBFYz1bTnAsZmwsbGwsTnBdO3ZhciBGYz1bT3AsUGQsUWQs
WGQsWWQsJGQsYWUsTWUsTmUsVGYsQWgsT3AsT3AsT3AsT3AsT3BdO3ZhciBHYz1bUHAsJGksY2os
bmoscGosUHAsUHAsUHBdO3ZhciBIYz1bUXAsUnBdO3ZhciBJYz1bU3Ascm0sc20sam0sa20sem0s
Qm0sS20sTW0sU3AsU3AsU3AsU3AsU3AsU3AsU3BdO3ZhciBKYz1bVHAsZm0sUGwsUWwsUmwsWGws
VHAsVHBdO3ZhciBLYz1bVXAsVGosV2osUWssVWssX2ssYWwsVXBdO3ZhciBMYz1bVnAscm8scW8s
cG9dO3ZhciBNYz1bV3AseWUsemUsWWUsWmUsX2csZ2Ysb2YsYWgsTWcsdmYsQ2YsT2csYW0sY20s
ZW0sU2wsVWwsV2wsV3AsV3AsV3AsV3AsV3AsV3AsV3AsV3AsV3AsV3AsV3AsV3AsV3BdO3ZhciBO
Yz1bWHAsSmgsT2gsaG0sdG0sd20sWmwsbG0sb20sRG0sR20sT20sUm0sWHAsWHAsWHBdO3ZhciBP
Yz1bWXAsV2QsbmUsd2UsVGUsemQsVWcsR2csS2gsUGgsbG8sbW8sbm8sWXAsWXAsWXBdO3JldHVy
bntfc3RybGVuOlZvLF9waWFub19wb2x5X2dldE51bUlucHV0czppZCxfcGlhbm9fcG9seV9rZXlP
ZmY6bWQsX3BpYW5vX3BvbHlfY29uc3RydWN0b3I6ZGQsX3BpYW5vX3BvbHlfZ2V0VmFsdWU6cmQs
X2JpdHNoaWZ0NjRTaGw6WW8sX21lbXNldDpfbyxfcGlhbm9fcG9seV9nZXRKU09OOmZkLF9waWFu
b19wb2x5X2NvbXB1dGU6Z2QsX3BpYW5vX3BvbHlfY3RybENoYW5nZTpuZCxfcGlhbm9fcG9seV9k
ZXN0cnVjdG9yOmVkLF9pNjRTdWJ0cmFjdDpVbyxfcmVhbGxvYzp4byxfaTY0QWRkOldvLF9waWFu
b19wb2x5X3BpdGNoV2hlZWw6b2QsX3BpYW5vX3BvbHlfa2V5T246a2QsX3BpYW5vX3BvbHlfZ2V0
TnVtT3V0cHV0czpqZCxfZnJlZTp3byxfcGlhbm9fcG9seV9zZXRWYWx1ZTpwZCxfbWVtbW92ZTpa
byxfbWFsbG9jOnZvLF9tZW1jcHk6WG8sX19HTE9CQUxfX0lfYTpFZixydW5Qb3N0U2V0czpUbyxz
dGFja0FsbG9jOlBjLHN0YWNrU2F2ZTpRYyxzdGFja1Jlc3RvcmU6UmMsc2V0VGhyZXc6U2Msc2V0
VGVtcFJldDA6VmMsc2V0VGVtcFJldDE6V2Msc2V0VGVtcFJldDI6WGMsc2V0VGVtcFJldDM6WWMs
c2V0VGVtcFJldDQ6WmMsc2V0VGVtcFJldDU6X2Msc2V0VGVtcFJldDY6JGMsc2V0VGVtcFJldDc6
YWQsc2V0VGVtcFJldDg6YmQsc2V0VGVtcFJldDk6Y2QsZHluQ2FsbF9paWlpOmtwLGR5bkNhbGxf
dmlpaWlpaTpscCxkeW5DYWxsX3ZpaWlkZGRkOm1wLGR5bkNhbGxfdmlpaWlpaWk6bnAsZHluQ2Fs
bF92aWlpZGQ6b3AsZHluQ2FsbF92aTpwcCxkeW5DYWxsX3ZpaTpxcCxkeW5DYWxsX3ZpaWlpaWlp
aWk6cnAsZHluQ2FsbF9paTpzcCxkeW5DYWxsX3ZpaWlpaWlkOnRwLGR5bkNhbGxfdmlpaTp1cCxk
eW5DYWxsX3ZpaWlpaWQ6dnAsZHluQ2FsbF92OndwLGR5bkNhbGxfaWlpaWlpaWlpOnhwLGR5bkNh
bGxfaWlpaWk6eXAsZHluQ2FsbF92aWlpaWlpaWk6enAsZHluQ2FsbF92aWlpaWk6QXAsZHluQ2Fs
bF9paWk6QnAsZHluQ2FsbF9paWlpaWk6Q3AsZHluQ2FsbF92aWlpaTpEcH19KQoKCi8vIEVNU0NS
SVBURU5fRU5EX0FTTQooeyAiTWF0aCI6IE1hdGgsICJJbnQ4QXJyYXkiOiBJbnQ4QXJyYXksICJJ
bnQxNkFycmF5IjogSW50MTZBcnJheSwgIkludDMyQXJyYXkiOiBJbnQzMkFycmF5LCAiVWludDhB
cnJheSI6IFVpbnQ4QXJyYXksICJVaW50MTZBcnJheSI6IFVpbnQxNkFycmF5LCAiVWludDMyQXJy
YXkiOiBVaW50MzJBcnJheSwgIkZsb2F0MzJBcnJheSI6IEZsb2F0MzJBcnJheSwgIkZsb2F0NjRB
cnJheSI6IEZsb2F0NjRBcnJheSB9LCB7ICJhYm9ydCI6IGFib3J0LCAiYXNzZXJ0IjogYXNzZXJ0
LCAiYXNtUHJpbnRJbnQiOiBhc21QcmludEludCwgImFzbVByaW50RmxvYXQiOiBhc21QcmludEZs
b2F0LCAibWluIjogTWF0aF9taW4sICJpbnZva2VfaWlpaSI6IGludm9rZV9paWlpLCAiaW52b2tl
X3ZpaWlpaWkiOiBpbnZva2VfdmlpaWlpaSwgImludm9rZV92aWlpZGRkZCI6IGludm9rZV92aWlp
ZGRkZCwgImludm9rZV92aWlpaWlpaSI6IGludm9rZV92aWlpaWlpaSwgImludm9rZV92aWlpZGQi
OiBpbnZva2VfdmlpaWRkLCAiaW52b2tlX3ZpIjogaW52b2tlX3ZpLCAiaW52b2tlX3ZpaSI6IGlu
dm9rZV92aWksICJpbnZva2VfdmlpaWlpaWlpaSI6IGludm9rZV92aWlpaWlpaWlpLCAiaW52b2tl
X2lpIjogaW52b2tlX2lpLCAiaW52b2tlX3ZpaWlpaWlkIjogaW52b2tlX3ZpaWlpaWlkLCAiaW52
b2tlX3ZpaWkiOiBpbnZva2VfdmlpaSwgImludm9rZV92aWlpaWlkIjogaW52b2tlX3ZpaWlpaWQs
ICJpbnZva2VfdiI6IGludm9rZV92LCAiaW52b2tlX2lpaWlpaWlpaSI6IGludm9rZV9paWlpaWlp
aWksICJpbnZva2VfaWlpaWkiOiBpbnZva2VfaWlpaWksICJpbnZva2VfdmlpaWlpaWlpIjogaW52
b2tlX3ZpaWlpaWlpaSwgImludm9rZV92aWlpaWkiOiBpbnZva2VfdmlpaWlpLCAiaW52b2tlX2lp
aSI6IGludm9rZV9paWksICJpbnZva2VfaWlpaWlpIjogaW52b2tlX2lpaWlpaSwgImludm9rZV92
aWlpaSI6IGludm9rZV92aWlpaSwgIl9mYWJzIjogX2ZhYnMsICJfdnNzY2FuZiI6IF92c3NjYW5m
LCAiX19aU3Q5dGVybWluYXRldiI6IF9fWlN0OXRlcm1pbmF0ZXYsICJfX19jeGFfZ3VhcmRfYWNx
dWlyZSI6IF9fX2N4YV9ndWFyZF9hY3F1aXJlLCAiX19yZWFsbHlOZWdhdGl2ZSI6IF9fcmVhbGx5
TmVnYXRpdmUsICJfX1pTdDE4dW5jYXVnaHRfZXhjZXB0aW9udiI6IF9fWlN0MTh1bmNhdWdodF9l
eGNlcHRpb252LCAiX19fY3R5cGVfdG91cHBlcl9sb2MiOiBfX19jdHlwZV90b3VwcGVyX2xvYywg
Il9fYWRkRGF5cyI6IF9fYWRkRGF5cywgIl9zYnJrIjogX3NicmssICJfX19jeGFfYmVnaW5fY2F0
Y2giOiBfX19jeGFfYmVnaW5fY2F0Y2gsICJfZW1zY3JpcHRlbl9tZW1jcHlfYmlnIjogX2Vtc2Ny
aXB0ZW5fbWVtY3B5X2JpZywgIl9leHAyIjogX2V4cDIsICJfc3lzY29uZiI6IF9zeXNjb25mLCAi
X3RhbmYiOiBfdGFuZiwgIl9maWxlbm8iOiBfZmlsZW5vLCAiX2ZyZWFkIjogX2ZyZWFkLCAiX3B1
dHMiOiBfcHV0cywgIl9wb3dmIjogX3Bvd2YsICJfd3JpdGUiOiBfd3JpdGUsICJfX2lzTGVhcFll
YXIiOiBfX2lzTGVhcFllYXIsICJfZXhwZiI6IF9leHBmLCAiX19aTlN0OWV4Y2VwdGlvbkQyRXYi
OiBfX1pOU3Q5ZXhjZXB0aW9uRDJFdiwgIl9fX2N4YV9kb2VzX2luaGVyaXQiOiBfX19jeGFfZG9l
c19pbmhlcml0LCAiX3N0cnRvbGxfbCI6IF9zdHJ0b2xsX2wsICJfX19jeGFfcmV0aHJvdyI6IF9f
X2N4YV9yZXRocm93LCAiX2NhdGNsb3NlIjogX2NhdGNsb3NlLCAiX3NlbmQiOiBfc2VuZCwgIl9f
X2N4YV9pc19udW1iZXJfdHlwZSI6IF9fX2N4YV9pc19udW1iZXJfdHlwZSwgIl9fX2N4YV9mcmVl
X2V4Y2VwdGlvbiI6IF9fX2N4YV9mcmVlX2V4Y2VwdGlvbiwgIl9hdGFuMmYiOiBfYXRhbjJmLCAi
X19fY3hhX2ZpbmRfbWF0Y2hpbmdfY2F0Y2giOiBfX19jeGFfZmluZF9tYXRjaGluZ19jYXRjaCwg
Il9pc3hkaWdpdF9sIjogX2lzeGRpZ2l0X2wsICJfX19jeGFfZ3VhcmRfcmVsZWFzZSI6IF9fX2N4
YV9ndWFyZF9yZWxlYXNlLCAiX3N0cmVycm9yX3IiOiBfc3RyZXJyb3JfciwgIl9fX3NldEVyck5v
IjogX19fc2V0RXJyTm8sICJfbmV3bG9jYWxlIjogX25ld2xvY2FsZSwgIl9pc2RpZ2l0X2wiOiBf
aXNkaWdpdF9sLCAiX19fcmVzdW1lRXhjZXB0aW9uIjogX19fcmVzdW1lRXhjZXB0aW9uLCAiX2Zy
ZWVsb2NhbGUiOiBfZnJlZWxvY2FsZSwgIl9wcmludGYiOiBfcHJpbnRmLCAiX3NwcmludGYiOiBf
c3ByaW50ZiwgIl92YXNwcmludGYiOiBfdmFzcHJpbnRmLCAiX2xvZ2YiOiBfbG9nZiwgIl92c25w
cmludGYiOiBfdnNucHJpbnRmLCAiX3N0cnRvdWxsX2wiOiBfc3RydG91bGxfbCwgIl9yZWFkIjog
X3JlYWQsICJfZndyaXRlIjogX2Z3cml0ZSwgIl90aW1lIjogX3RpbWUsICJfZnByaW50ZiI6IF9m
cHJpbnRmLCAiX2NhdG9wZW4iOiBfY2F0b3BlbiwgIl9leGl0IjogX2V4aXQsICJfX19jdHlwZV9i
X2xvYyI6IF9fX2N0eXBlX2JfbG9jLCAiX2Ztb2QiOiBfZm1vZCwgIl9fX2N4YV9hbGxvY2F0ZV9l
eGNlcHRpb24iOiBfX19jeGFfYWxsb2NhdGVfZXhjZXB0aW9uLCAiX3N0cnRvbGwiOiBfc3RydG9s
bCwgIl9wd3JpdGUiOiBfcHdyaXRlLCAiX3VzZWxvY2FsZSI6IF91c2Vsb2NhbGUsICJfc25wcmlu
dGYiOiBfc25wcmludGYsICJfX3NjYW5TdHJpbmciOiBfX3NjYW5TdHJpbmcsICJfX19jeGFfZW5k
X2NhdGNoIjogX19fY3hhX2VuZF9jYXRjaCwgIl9zdHJ0b3VsbCI6IF9zdHJ0b3VsbCwgIl9zdHJm
dGltZSI6IF9zdHJmdGltZSwgIl9zaW5mIjogX3NpbmYsICJfaXN4ZGlnaXQiOiBfaXN4ZGlnaXQs
ICJfZmxvb3JmIjogX2Zsb29yZiwgIl9zcXJ0ZiI6IF9zcXJ0ZiwgIl9wdGhyZWFkX2NvbmRfYnJv
YWRjYXN0IjogX3B0aHJlYWRfY29uZF9icm9hZGNhc3QsICJfcmVjdiI6IF9yZWN2LCAiX2ZnZXRj
IjogX2ZnZXRjLCAiX19wYXJzZUludDY0IjogX19wYXJzZUludDY0LCAiX19nZXRGbG9hdCI6IF9f
Z2V0RmxvYXQsICJfYWJvcnQiOiBfYWJvcnQsICJfaXNzcGFjZSI6IF9pc3NwYWNlLCAiX19fY3hh
X3B1cmVfdmlydHVhbCI6IF9fX2N4YV9wdXJlX3ZpcnR1YWwsICJfcHRocmVhZF9jb25kX3dhaXQi
OiBfcHRocmVhZF9jb25kX3dhaXQsICJfY29zZiI6IF9jb3NmLCAiX3VuZ2V0YyI6IF91bmdldGMs
ICJfZmZsdXNoIjogX2ZmbHVzaCwgIl9zdHJmdGltZV9sIjogX3N0cmZ0aW1lX2wsICJfcHRocmVh
ZF9tdXRleF9sb2NrIjogX3B0aHJlYWRfbXV0ZXhfbG9jaywgIl9zc2NhbmYiOiBfc3NjYW5mLCAi
X2NhdGdldHMiOiBfY2F0Z2V0cywgIl9hc3ByaW50ZiI6IF9hc3ByaW50ZiwgIl9fZXhpdCI6IF9f
ZXhpdCwgIl9fYXJyYXlTdW0iOiBfX2FycmF5U3VtLCAiX19fY3R5cGVfdG9sb3dlcl9sb2MiOiBf
X19jdHlwZV90b2xvd2VyX2xvYywgIl9mcHV0cyI6IF9mcHV0cywgIl9wdGhyZWFkX211dGV4X3Vu
bG9jayI6IF9wdGhyZWFkX211dGV4X3VubG9jaywgIl9wcmVhZCI6IF9wcmVhZCwgIl9ta3BvcnQi
OiBfbWtwb3J0LCAiX19fZXJybm9fbG9jYXRpb24iOiBfX19lcnJub19sb2NhdGlvbiwgIl9jb3B5
c2lnbiI6IF9jb3B5c2lnbiwgIl9mcHV0YyI6IF9mcHV0YywgIl9fX2N4YV90aHJvdyI6IF9fX2N4
YV90aHJvdywgIl9pc2RpZ2l0IjogX2lzZGlnaXQsICJfc3RyZXJyb3IiOiBfc3RyZXJyb3IsICJf
X2Zvcm1hdFN0cmluZyI6IF9fZm9ybWF0U3RyaW5nLCAiX2F0ZXhpdCI6IF9hdGV4aXQsICJTVEFD
S1RPUCI6IFNUQUNLVE9QLCAiU1RBQ0tfTUFYIjogU1RBQ0tfTUFYLCAidGVtcERvdWJsZVB0ciI6
IHRlbXBEb3VibGVQdHIsICJBQk9SVCI6IEFCT1JULCAiY3R0el9pOCI6IGN0dHpfaTgsICJjdGx6
X2k4IjogY3Rsel9pOCwgIk5hTiI6IE5hTiwgIkluZmluaXR5IjogSW5maW5pdHksICJfX1pUSVN0
OWV4Y2VwdGlvbiI6IF9fWlRJU3Q5ZXhjZXB0aW9uLCAiX19fZHNvX2hhbmRsZSI6IF9fX2Rzb19o
YW5kbGUsICJfc3RkZXJyIjogX3N0ZGVyciwgIl9zdGRpbiI6IF9zdGRpbiwgIl9zdGRvdXQiOiBf
c3Rkb3V0IH0sIGJ1ZmZlcik7CnZhciBfc3RybGVuID0gTW9kdWxlWyJfc3RybGVuIl0gPSBhc21b
Il9zdHJsZW4iXTsKdmFyIF9waWFub19wb2x5X2dldE51bUlucHV0cyA9IE1vZHVsZVsiX3BpYW5v
X3BvbHlfZ2V0TnVtSW5wdXRzIl0gPSBhc21bIl9waWFub19wb2x5X2dldE51bUlucHV0cyJdOwp2
YXIgX3BpYW5vX3BvbHlfa2V5T2ZmID0gTW9kdWxlWyJfcGlhbm9fcG9seV9rZXlPZmYiXSA9IGFz
bVsiX3BpYW5vX3BvbHlfa2V5T2ZmIl07CnZhciBfcGlhbm9fcG9seV9jb25zdHJ1Y3RvciA9IE1v
ZHVsZVsiX3BpYW5vX3BvbHlfY29uc3RydWN0b3IiXSA9IGFzbVsiX3BpYW5vX3BvbHlfY29uc3Ry
dWN0b3IiXTsKdmFyIF9waWFub19wb2x5X2dldFZhbHVlID0gTW9kdWxlWyJfcGlhbm9fcG9seV9n
ZXRWYWx1ZSJdID0gYXNtWyJfcGlhbm9fcG9seV9nZXRWYWx1ZSJdOwp2YXIgX2JpdHNoaWZ0NjRT
aGwgPSBNb2R1bGVbIl9iaXRzaGlmdDY0U2hsIl0gPSBhc21bIl9iaXRzaGlmdDY0U2hsIl07CnZh
ciBfbWVtc2V0ID0gTW9kdWxlWyJfbWVtc2V0Il0gPSBhc21bIl9tZW1zZXQiXTsKdmFyIF9waWFu
b19wb2x5X2dldEpTT04gPSBNb2R1bGVbIl9waWFub19wb2x5X2dldEpTT04iXSA9IGFzbVsiX3Bp
YW5vX3BvbHlfZ2V0SlNPTiJdOwp2YXIgX3BpYW5vX3BvbHlfY29tcHV0ZSA9IE1vZHVsZVsiX3Bp
YW5vX3BvbHlfY29tcHV0ZSJdID0gYXNtWyJfcGlhbm9fcG9seV9jb21wdXRlIl07CnZhciBfcGlh
bm9fcG9seV9jdHJsQ2hhbmdlID0gTW9kdWxlWyJfcGlhbm9fcG9seV9jdHJsQ2hhbmdlIl0gPSBh
c21bIl9waWFub19wb2x5X2N0cmxDaGFuZ2UiXTsKdmFyIF9waWFub19wb2x5X2Rlc3RydWN0b3Ig
PSBNb2R1bGVbIl9waWFub19wb2x5X2Rlc3RydWN0b3IiXSA9IGFzbVsiX3BpYW5vX3BvbHlfZGVz
dHJ1Y3RvciJdOwp2YXIgX2k2NFN1YnRyYWN0ID0gTW9kdWxlWyJfaTY0U3VidHJhY3QiXSA9IGFz
bVsiX2k2NFN1YnRyYWN0Il07CnZhciBfcmVhbGxvYyA9IE1vZHVsZVsiX3JlYWxsb2MiXSA9IGFz
bVsiX3JlYWxsb2MiXTsKdmFyIF9pNjRBZGQgPSBNb2R1bGVbIl9pNjRBZGQiXSA9IGFzbVsiX2k2
NEFkZCJdOwp2YXIgX3BpYW5vX3BvbHlfcGl0Y2hXaGVlbCA9IE1vZHVsZVsiX3BpYW5vX3BvbHlf
cGl0Y2hXaGVlbCJdID0gYXNtWyJfcGlhbm9fcG9seV9waXRjaFdoZWVsIl07CnZhciBfcGlhbm9f
cG9seV9rZXlPbiA9IE1vZHVsZVsiX3BpYW5vX3BvbHlfa2V5T24iXSA9IGFzbVsiX3BpYW5vX3Bv
bHlfa2V5T24iXTsKdmFyIF9waWFub19wb2x5X2dldE51bU91dHB1dHMgPSBNb2R1bGVbIl9waWFu
b19wb2x5X2dldE51bU91dHB1dHMiXSA9IGFzbVsiX3BpYW5vX3BvbHlfZ2V0TnVtT3V0cHV0cyJd
Owp2YXIgX2ZyZWUgPSBNb2R1bGVbIl9mcmVlIl0gPSBhc21bIl9mcmVlIl07CnZhciBfcGlhbm9f
cG9seV9zZXRWYWx1ZSA9IE1vZHVsZVsiX3BpYW5vX3BvbHlfc2V0VmFsdWUiXSA9IGFzbVsiX3Bp
YW5vX3BvbHlfc2V0VmFsdWUiXTsKdmFyIF9tZW1tb3ZlID0gTW9kdWxlWyJfbWVtbW92ZSJdID0g
YXNtWyJfbWVtbW92ZSJdOwp2YXIgX21hbGxvYyA9IE1vZHVsZVsiX21hbGxvYyJdID0gYXNtWyJf
bWFsbG9jIl07CnZhciBfbWVtY3B5ID0gTW9kdWxlWyJfbWVtY3B5Il0gPSBhc21bIl9tZW1jcHki
XTsKdmFyIF9fR0xPQkFMX19JX2EgPSBNb2R1bGVbIl9fR0xPQkFMX19JX2EiXSA9IGFzbVsiX19H
TE9CQUxfX0lfYSJdOwp2YXIgcnVuUG9zdFNldHMgPSBNb2R1bGVbInJ1blBvc3RTZXRzIl0gPSBh
c21bInJ1blBvc3RTZXRzIl07CnZhciBkeW5DYWxsX2lpaWkgPSBNb2R1bGVbImR5bkNhbGxfaWlp
aSJdID0gYXNtWyJkeW5DYWxsX2lpaWkiXTsKdmFyIGR5bkNhbGxfdmlpaWlpaSA9IE1vZHVsZVsi
ZHluQ2FsbF92aWlpaWlpIl0gPSBhc21bImR5bkNhbGxfdmlpaWlpaSJdOwp2YXIgZHluQ2FsbF92
aWlpZGRkZCA9IE1vZHVsZVsiZHluQ2FsbF92aWlpZGRkZCJdID0gYXNtWyJkeW5DYWxsX3ZpaWlk
ZGRkIl07CnZhciBkeW5DYWxsX3ZpaWlpaWlpID0gTW9kdWxlWyJkeW5DYWxsX3ZpaWlpaWlpIl0g
PSBhc21bImR5bkNhbGxfdmlpaWlpaWkiXTsKdmFyIGR5bkNhbGxfdmlpaWRkID0gTW9kdWxlWyJk
eW5DYWxsX3ZpaWlkZCJdID0gYXNtWyJkeW5DYWxsX3ZpaWlkZCJdOwp2YXIgZHluQ2FsbF92aSA9
IE1vZHVsZVsiZHluQ2FsbF92aSJdID0gYXNtWyJkeW5DYWxsX3ZpIl07CnZhciBkeW5DYWxsX3Zp
aSA9IE1vZHVsZVsiZHluQ2FsbF92aWkiXSA9IGFzbVsiZHluQ2FsbF92aWkiXTsKdmFyIGR5bkNh
bGxfdmlpaWlpaWlpaSA9IE1vZHVsZVsiZHluQ2FsbF92aWlpaWlpaWlpIl0gPSBhc21bImR5bkNh
bGxfdmlpaWlpaWlpaSJdOwp2YXIgZHluQ2FsbF9paSA9IE1vZHVsZVsiZHluQ2FsbF9paSJdID0g
YXNtWyJkeW5DYWxsX2lpIl07CnZhciBkeW5DYWxsX3ZpaWlpaWlkID0gTW9kdWxlWyJkeW5DYWxs
X3ZpaWlpaWlkIl0gPSBhc21bImR5bkNhbGxfdmlpaWlpaWQiXTsKdmFyIGR5bkNhbGxfdmlpaSA9
IE1vZHVsZVsiZHluQ2FsbF92aWlpIl0gPSBhc21bImR5bkNhbGxfdmlpaSJdOwp2YXIgZHluQ2Fs
bF92aWlpaWlkID0gTW9kdWxlWyJkeW5DYWxsX3ZpaWlpaWQiXSA9IGFzbVsiZHluQ2FsbF92aWlp
aWlkIl07CnZhciBkeW5DYWxsX3YgPSBNb2R1bGVbImR5bkNhbGxfdiJdID0gYXNtWyJkeW5DYWxs
X3YiXTsKdmFyIGR5bkNhbGxfaWlpaWlpaWlpID0gTW9kdWxlWyJkeW5DYWxsX2lpaWlpaWlpaSJd
ID0gYXNtWyJkeW5DYWxsX2lpaWlpaWlpaSJdOwp2YXIgZHluQ2FsbF9paWlpaSA9IE1vZHVsZVsi
ZHluQ2FsbF9paWlpaSJdID0gYXNtWyJkeW5DYWxsX2lpaWlpIl07CnZhciBkeW5DYWxsX3ZpaWlp
aWlpaSA9IE1vZHVsZVsiZHluQ2FsbF92aWlpaWlpaWkiXSA9IGFzbVsiZHluQ2FsbF92aWlpaWlp
aWkiXTsKdmFyIGR5bkNhbGxfdmlpaWlpID0gTW9kdWxlWyJkeW5DYWxsX3ZpaWlpaSJdID0gYXNt
WyJkeW5DYWxsX3ZpaWlpaSJdOwp2YXIgZHluQ2FsbF9paWkgPSBNb2R1bGVbImR5bkNhbGxfaWlp
Il0gPSBhc21bImR5bkNhbGxfaWlpIl07CnZhciBkeW5DYWxsX2lpaWlpaSA9IE1vZHVsZVsiZHlu
Q2FsbF9paWlpaWkiXSA9IGFzbVsiZHluQ2FsbF9paWlpaWkiXTsKdmFyIGR5bkNhbGxfdmlpaWkg
PSBNb2R1bGVbImR5bkNhbGxfdmlpaWkiXSA9IGFzbVsiZHluQ2FsbF92aWlpaSJdOwoKUnVudGlt
ZS5zdGFja0FsbG9jID0gZnVuY3Rpb24oc2l6ZSkgeyByZXR1cm4gYXNtWydzdGFja0FsbG9jJ10o
c2l6ZSkgfTsKUnVudGltZS5zdGFja1NhdmUgPSBmdW5jdGlvbigpIHsgcmV0dXJuIGFzbVsnc3Rh
Y2tTYXZlJ10oKSB9OwpSdW50aW1lLnN0YWNrUmVzdG9yZSA9IGZ1bmN0aW9uKHRvcCkgeyBhc21b
J3N0YWNrUmVzdG9yZSddKHRvcCkgfTsKCgovLyBUT0RPOiBzdHJpcCBvdXQgcGFydHMgb2YgdGhp
cyB3ZSBkbyBub3QgbmVlZAoKLy89PT09PT09IGJlZ2luIGNsb3N1cmUgaTY0IGNvZGUgPT09PT09
PQoKLy8gQ29weXJpZ2h0IDIwMDkgVGhlIENsb3N1cmUgTGlicmFyeSBBdXRob3JzLiBBbGwgUmln
aHRzIFJlc2VydmVkLgovLwovLyBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZl
cnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKLy8geW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBl
eGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgovLyBZb3UgbWF5IG9idGFpbiBh
IGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKLy8KLy8gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcv
bGljZW5zZXMvTElDRU5TRS0yLjAKLy8KLy8gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUg
bGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQovLyBkaXN0cmlidXRlZCB1bmRl
ciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMtSVMiIEJBU0lTLAovLyBXSVRI
T1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mg
b3IgaW1wbGllZC4KLy8gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2Ug
Z292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAovLyBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5z
ZS4KCi8qKgogKiBAZmlsZW92ZXJ2aWV3IERlZmluZXMgYSBMb25nIGNsYXNzIGZvciByZXByZXNl
bnRpbmcgYSA2NC1iaXQgdHdvJ3MtY29tcGxlbWVudAogKiBpbnRlZ2VyIHZhbHVlLCB3aGljaCBm
YWl0aGZ1bGx5IHNpbXVsYXRlcyB0aGUgYmVoYXZpb3Igb2YgYSBKYXZhICJsb25nIi4gVGhpcwog
KiBpbXBsZW1lbnRhdGlvbiBpcyBkZXJpdmVkIGZyb20gTG9uZ0xpYiBpbiBHV1QuCiAqCiAqLwoK
dmFyIGk2NE1hdGggPSAoZnVuY3Rpb24oKSB7IC8vIEVtc2NyaXB0ZW4gd3JhcHBlcgogIHZhciBn
b29nID0geyBtYXRoOiB7fSB9OwoKCiAgLyoqCiAgICogQ29uc3RydWN0cyBhIDY0LWJpdCB0d28n
cy1jb21wbGVtZW50IGludGVnZXIsIGdpdmVuIGl0cyBsb3cgYW5kIGhpZ2ggMzItYml0CiAgICog
dmFsdWVzIGFzICpzaWduZWQqIGludGVnZXJzLiAgU2VlIHRoZSBmcm9tKiBmdW5jdGlvbnMgYmVs
b3cgZm9yIG1vcmUKICAgKiBjb252ZW5pZW50IHdheXMgb2YgY29uc3RydWN0aW5nIExvbmdzLgog
ICAqCiAgICogVGhlIGludGVybmFsIHJlcHJlc2VudGF0aW9uIG9mIGEgbG9uZyBpcyB0aGUgdHdv
IGdpdmVuIHNpZ25lZCwgMzItYml0IHZhbHVlcy4KICAgKiBXZSB1c2UgMzItYml0IHBpZWNlcyBi
ZWNhdXNlIHRoZXNlIGFyZSB0aGUgc2l6ZSBvZiBpbnRlZ2VycyBvbiB3aGljaAogICAqIEphdmFz
Y3JpcHQgcGVyZm9ybXMgYml0LW9wZXJhdGlvbnMuICBGb3Igb3BlcmF0aW9ucyBsaWtlIGFkZGl0
aW9uIGFuZAogICAqIG11bHRpcGxpY2F0aW9uLCB3ZSBzcGxpdCBlYWNoIG51bWJlciBpbnRvIDE2
LWJpdCBwaWVjZXMsIHdoaWNoIGNhbiBlYXNpbHkgYmUKICAgKiBtdWx0aXBsaWVkIHdpdGhpbiBK
YXZhc2NyaXB0J3MgZmxvYXRpbmctcG9pbnQgcmVwcmVzZW50YXRpb24gd2l0aG91dCBvdmVyZmxv
dwogICAqIG9yIGNoYW5nZSBpbiBzaWduLgogICAqCiAgICogSW4gdGhlIGFsZ29yaXRobXMgYmVs
b3csIHdlIGZyZXF1ZW50bHkgcmVkdWNlIHRoZSBuZWdhdGl2ZSBjYXNlIHRvIHRoZQogICAqIHBv
c2l0aXZlIGNhc2UgYnkgbmVnYXRpbmcgdGhlIGlucHV0KHMpIGFuZCB0aGVuIHBvc3QtcHJvY2Vz
c2luZyB0aGUgcmVzdWx0LgogICAqIE5vdGUgdGhhdCB3ZSBtdXN0IEFMV0FZUyBjaGVjayBzcGVj
aWFsbHkgd2hldGhlciB0aG9zZSB2YWx1ZXMgYXJlIE1JTl9WQUxVRQogICAqICgtMl42MykgYmVj
YXVzZSAtTUlOX1ZBTFVFID09IE1JTl9WQUxVRSAoc2luY2UgMl42MyBjYW5ub3QgYmUgcmVwcmVz
ZW50ZWQgYXMKICAgKiBhIHBvc2l0aXZlIG51bWJlciwgaXQgb3ZlcmZsb3dzIGJhY2sgaW50byBh
IG5lZ2F0aXZlKS4gIE5vdCBoYW5kbGluZyB0aGlzCiAgICogY2FzZSB3b3VsZCBvZnRlbiByZXN1
bHQgaW4gaW5maW5pdGUgcmVjdXJzaW9uLgogICAqCiAgICogQHBhcmFtIHtudW1iZXJ9IGxvdyAg
VGhlIGxvdyAoc2lnbmVkKSAzMiBiaXRzIG9mIHRoZSBsb25nLgogICAqIEBwYXJhbSB7bnVtYmVy
fSBoaWdoICBUaGUgaGlnaCAoc2lnbmVkKSAzMiBiaXRzIG9mIHRoZSBsb25nLgogICAqIEBjb25z
dHJ1Y3RvcgogICAqLwogIGdvb2cubWF0aC5Mb25nID0gZnVuY3Rpb24obG93LCBoaWdoKSB7CiAg
ICAvKioKICAgICAqIEB0eXBlIHtudW1iZXJ9CiAgICAgKiBAcHJpdmF0ZQogICAgICovCiAgICB0
aGlzLmxvd18gPSBsb3cgfCAwOyAgLy8gZm9yY2UgaW50byAzMiBzaWduZWQgYml0cy4KCiAgICAv
KioKICAgICAqIEB0eXBlIHtudW1iZXJ9CiAgICAgKiBAcHJpdmF0ZQogICAgICovCiAgICB0aGlz
LmhpZ2hfID0gaGlnaCB8IDA7ICAvLyBmb3JjZSBpbnRvIDMyIHNpZ25lZCBiaXRzLgogIH07CgoK
ICAvLyBOT1RFOiBDb21tb24gY29uc3RhbnQgdmFsdWVzIFpFUk8sIE9ORSwgTkVHX09ORSwgZXRj
LiBhcmUgZGVmaW5lZCBiZWxvdyB0aGUKICAvLyBmcm9tKiBtZXRob2RzIG9uIHdoaWNoIHRoZXkg
ZGVwZW5kLgoKCiAgLyoqCiAgICogQSBjYWNoZSBvZiB0aGUgTG9uZyByZXByZXNlbnRhdGlvbnMg
b2Ygc21hbGwgaW50ZWdlciB2YWx1ZXMuCiAgICogQHR5cGUgeyFPYmplY3R9CiAgICogQHByaXZh
dGUKICAgKi8KICBnb29nLm1hdGguTG9uZy5JbnRDYWNoZV8gPSB7fTsKCgogIC8qKgogICAqIFJl
dHVybnMgYSBMb25nIHJlcHJlc2VudGluZyB0aGUgZ2l2ZW4gKDMyLWJpdCkgaW50ZWdlciB2YWx1
ZS4KICAgKiBAcGFyYW0ge251bWJlcn0gdmFsdWUgVGhlIDMyLWJpdCBpbnRlZ2VyIGluIHF1ZXN0
aW9uLgogICAqIEByZXR1cm4geyFnb29nLm1hdGguTG9uZ30gVGhlIGNvcnJlc3BvbmRpbmcgTG9u
ZyB2YWx1ZS4KICAgKi8KICBnb29nLm1hdGguTG9uZy5mcm9tSW50ID0gZnVuY3Rpb24odmFsdWUp
IHsKICAgIGlmICgtMTI4IDw9IHZhbHVlICYmIHZhbHVlIDwgMTI4KSB7CiAgICAgIHZhciBjYWNo
ZWRPYmogPSBnb29nLm1hdGguTG9uZy5JbnRDYWNoZV9bdmFsdWVdOwogICAgICBpZiAoY2FjaGVk
T2JqKSB7CiAgICAgICAgcmV0dXJuIGNhY2hlZE9iajsKICAgICAgfQogICAgfQoKICAgIHZhciBv
YmogPSBuZXcgZ29vZy5tYXRoLkxvbmcodmFsdWUgfCAwLCB2YWx1ZSA8IDAgPyAtMSA6IDApOwog
ICAgaWYgKC0xMjggPD0gdmFsdWUgJiYgdmFsdWUgPCAxMjgpIHsKICAgICAgZ29vZy5tYXRoLkxv
bmcuSW50Q2FjaGVfW3ZhbHVlXSA9IG9iajsKICAgIH0KICAgIHJldHVybiBvYmo7CiAgfTsKCgog
IC8qKgogICAqIFJldHVybnMgYSBMb25nIHJlcHJlc2VudGluZyB0aGUgZ2l2ZW4gdmFsdWUsIHBy
b3ZpZGVkIHRoYXQgaXQgaXMgYSBmaW5pdGUKICAgKiBudW1iZXIuICBPdGhlcndpc2UsIHplcm8g
aXMgcmV0dXJuZWQuCiAgICogQHBhcmFtIHtudW1iZXJ9IHZhbHVlIFRoZSBudW1iZXIgaW4gcXVl
c3Rpb24uCiAgICogQHJldHVybiB7IWdvb2cubWF0aC5Mb25nfSBUaGUgY29ycmVzcG9uZGluZyBM
b25nIHZhbHVlLgogICAqLwogIGdvb2cubWF0aC5Mb25nLmZyb21OdW1iZXIgPSBmdW5jdGlvbih2
YWx1ZSkgewogICAgaWYgKGlzTmFOKHZhbHVlKSB8fCAhaXNGaW5pdGUodmFsdWUpKSB7CiAgICAg
IHJldHVybiBnb29nLm1hdGguTG9uZy5aRVJPOwogICAgfSBlbHNlIGlmICh2YWx1ZSA8PSAtZ29v
Zy5tYXRoLkxvbmcuVFdPX1BXUl82M19EQkxfKSB7CiAgICAgIHJldHVybiBnb29nLm1hdGguTG9u
Zy5NSU5fVkFMVUU7CiAgICB9IGVsc2UgaWYgKHZhbHVlICsgMSA+PSBnb29nLm1hdGguTG9uZy5U
V09fUFdSXzYzX0RCTF8pIHsKICAgICAgcmV0dXJuIGdvb2cubWF0aC5Mb25nLk1BWF9WQUxVRTsK
ICAgIH0gZWxzZSBpZiAodmFsdWUgPCAwKSB7CiAgICAgIHJldHVybiBnb29nLm1hdGguTG9uZy5m
cm9tTnVtYmVyKC12YWx1ZSkubmVnYXRlKCk7CiAgICB9IGVsc2UgewogICAgICByZXR1cm4gbmV3
IGdvb2cubWF0aC5Mb25nKAogICAgICAgICAgKHZhbHVlICUgZ29vZy5tYXRoLkxvbmcuVFdPX1BX
Ul8zMl9EQkxfKSB8IDAsCiAgICAgICAgICAodmFsdWUgLyBnb29nLm1hdGguTG9uZy5UV09fUFdS
XzMyX0RCTF8pIHwgMCk7CiAgICB9CiAgfTsKCgogIC8qKgogICAqIFJldHVybnMgYSBMb25nIHJl
cHJlc2VudGluZyB0aGUgNjQtYml0IGludGVnZXIgdGhhdCBjb21lcyBieSBjb25jYXRlbmF0aW5n
CiAgICogdGhlIGdpdmVuIGhpZ2ggYW5kIGxvdyBiaXRzLiAgRWFjaCBpcyBhc3N1bWVkIHRvIHVz
ZSAzMiBiaXRzLgogICAqIEBwYXJhbSB7bnVtYmVyfSBsb3dCaXRzIFRoZSBsb3cgMzItYml0cy4K
ICAgKiBAcGFyYW0ge251bWJlcn0gaGlnaEJpdHMgVGhlIGhpZ2ggMzItYml0cy4KICAgKiBAcmV0
dXJuIHshZ29vZy5tYXRoLkxvbmd9IFRoZSBjb3JyZXNwb25kaW5nIExvbmcgdmFsdWUuCiAgICov
CiAgZ29vZy5tYXRoLkxvbmcuZnJvbUJpdHMgPSBmdW5jdGlvbihsb3dCaXRzLCBoaWdoQml0cykg
ewogICAgcmV0dXJuIG5ldyBnb29nLm1hdGguTG9uZyhsb3dCaXRzLCBoaWdoQml0cyk7CiAgfTsK
CgogIC8qKgogICAqIFJldHVybnMgYSBMb25nIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBnaXZlbiBz
dHJpbmcsIHdyaXR0ZW4gdXNpbmcgdGhlIGdpdmVuCiAgICogcmFkaXguCiAgICogQHBhcmFtIHtz
dHJpbmd9IHN0ciBUaGUgdGV4dHVhbCByZXByZXNlbnRhdGlvbiBvZiB0aGUgTG9uZy4KICAgKiBA
cGFyYW0ge251bWJlcj19IG9wdF9yYWRpeCBUaGUgcmFkaXggaW4gd2hpY2ggdGhlIHRleHQgaXMg
d3JpdHRlbi4KICAgKiBAcmV0dXJuIHshZ29vZy5tYXRoLkxvbmd9IFRoZSBjb3JyZXNwb25kaW5n
IExvbmcgdmFsdWUuCiAgICovCiAgZ29vZy5tYXRoLkxvbmcuZnJvbVN0cmluZyA9IGZ1bmN0aW9u
KHN0ciwgb3B0X3JhZGl4KSB7CiAgICBpZiAoc3RyLmxlbmd0aCA9PSAwKSB7CiAgICAgIHRocm93
IEVycm9yKCdudW1iZXIgZm9ybWF0IGVycm9yOiBlbXB0eSBzdHJpbmcnKTsKICAgIH0KCiAgICB2
YXIgcmFkaXggPSBvcHRfcmFkaXggfHwgMTA7CiAgICBpZiAocmFkaXggPCAyIHx8IDM2IDwgcmFk
aXgpIHsKICAgICAgdGhyb3cgRXJyb3IoJ3JhZGl4IG91dCBvZiByYW5nZTogJyArIHJhZGl4KTsK
ICAgIH0KCiAgICBpZiAoc3RyLmNoYXJBdCgwKSA9PSAnLScpIHsKICAgICAgcmV0dXJuIGdvb2cu
bWF0aC5Mb25nLmZyb21TdHJpbmcoc3RyLnN1YnN0cmluZygxKSwgcmFkaXgpLm5lZ2F0ZSgpOwog
ICAgfSBlbHNlIGlmIChzdHIuaW5kZXhPZignLScpID49IDApIHsKICAgICAgdGhyb3cgRXJyb3Io
J251bWJlciBmb3JtYXQgZXJyb3I6IGludGVyaW9yICItIiBjaGFyYWN0ZXI6ICcgKyBzdHIpOwog
ICAgfQoKICAgIC8vIERvIHNldmVyYWwgKDgpIGRpZ2l0cyBlYWNoIHRpbWUgdGhyb3VnaCB0aGUg
bG9vcCwgc28gYXMgdG8KICAgIC8vIG1pbmltaXplIHRoZSBjYWxscyB0byB0aGUgdmVyeSBleHBl
bnNpdmUgZW11bGF0ZWQgZGl2LgogICAgdmFyIHJhZGl4VG9Qb3dlciA9IGdvb2cubWF0aC5Mb25n
LmZyb21OdW1iZXIoTWF0aC5wb3cocmFkaXgsIDgpKTsKCiAgICB2YXIgcmVzdWx0ID0gZ29vZy5t
YXRoLkxvbmcuWkVSTzsKICAgIGZvciAodmFyIGkgPSAwOyBpIDwgc3RyLmxlbmd0aDsgaSArPSA4
KSB7CiAgICAgIHZhciBzaXplID0gTWF0aC5taW4oOCwgc3RyLmxlbmd0aCAtIGkpOwogICAgICB2
YXIgdmFsdWUgPSBwYXJzZUludChzdHIuc3Vic3RyaW5nKGksIGkgKyBzaXplKSwgcmFkaXgpOwog
ICAgICBpZiAoc2l6ZSA8IDgpIHsKICAgICAgICB2YXIgcG93ZXIgPSBnb29nLm1hdGguTG9uZy5m
cm9tTnVtYmVyKE1hdGgucG93KHJhZGl4LCBzaXplKSk7CiAgICAgICAgcmVzdWx0ID0gcmVzdWx0
Lm11bHRpcGx5KHBvd2VyKS5hZGQoZ29vZy5tYXRoLkxvbmcuZnJvbU51bWJlcih2YWx1ZSkpOwog
ICAgICB9IGVsc2UgewogICAgICAgIHJlc3VsdCA9IHJlc3VsdC5tdWx0aXBseShyYWRpeFRvUG93
ZXIpOwogICAgICAgIHJlc3VsdCA9IHJlc3VsdC5hZGQoZ29vZy5tYXRoLkxvbmcuZnJvbU51bWJl
cih2YWx1ZSkpOwogICAgICB9CiAgICB9CiAgICByZXR1cm4gcmVzdWx0OwogIH07CgoKICAvLyBO
T1RFOiB0aGUgY29tcGlsZXIgc2hvdWxkIGlubGluZSB0aGVzZSBjb25zdGFudCB2YWx1ZXMgYmVs
b3cgYW5kIHRoZW4gcmVtb3ZlCiAgLy8gdGhlc2UgdmFyaWFibGVzLCBzbyB0aGVyZSBzaG91bGQg
YmUgbm8gcnVudGltZSBwZW5hbHR5IGZvciB0aGVzZS4KCgogIC8qKgogICAqIE51bWJlciB1c2Vk
IHJlcGVhdGVkIGJlbG93IGluIGNhbGN1bGF0aW9ucy4gIFRoaXMgbXVzdCBhcHBlYXIgYmVmb3Jl
IHRoZQogICAqIGZpcnN0IGNhbGwgdG8gYW55IGZyb20qIGZ1bmN0aW9uIGJlbG93LgogICAqIEB0
eXBlIHtudW1iZXJ9CiAgICogQHByaXZhdGUKICAgKi8KICBnb29nLm1hdGguTG9uZy5UV09fUFdS
XzE2X0RCTF8gPSAxIDw8IDE2OwoKCiAgLyoqCiAgICogQHR5cGUge251bWJlcn0KICAgKiBAcHJp
dmF0ZQogICAqLwogIGdvb2cubWF0aC5Mb25nLlRXT19QV1JfMjRfREJMXyA9IDEgPDwgMjQ7CgoK
ICAvKioKICAgKiBAdHlwZSB7bnVtYmVyfQogICAqIEBwcml2YXRlCiAgICovCiAgZ29vZy5tYXRo
LkxvbmcuVFdPX1BXUl8zMl9EQkxfID0KICAgICAgZ29vZy5tYXRoLkxvbmcuVFdPX1BXUl8xNl9E
QkxfICogZ29vZy5tYXRoLkxvbmcuVFdPX1BXUl8xNl9EQkxfOwoKCiAgLyoqCiAgICogQHR5cGUg
e251bWJlcn0KICAgKiBAcHJpdmF0ZQogICAqLwogIGdvb2cubWF0aC5Mb25nLlRXT19QV1JfMzFf
REJMXyA9CiAgICAgIGdvb2cubWF0aC5Mb25nLlRXT19QV1JfMzJfREJMXyAvIDI7CgoKICAvKioK
ICAgKiBAdHlwZSB7bnVtYmVyfQogICAqIEBwcml2YXRlCiAgICovCiAgZ29vZy5tYXRoLkxvbmcu
VFdPX1BXUl80OF9EQkxfID0KICAgICAgZ29vZy5tYXRoLkxvbmcuVFdPX1BXUl8zMl9EQkxfICog
Z29vZy5tYXRoLkxvbmcuVFdPX1BXUl8xNl9EQkxfOwoKCiAgLyoqCiAgICogQHR5cGUge251bWJl
cn0KICAgKiBAcHJpdmF0ZQogICAqLwogIGdvb2cubWF0aC5Mb25nLlRXT19QV1JfNjRfREJMXyA9
CiAgICAgIGdvb2cubWF0aC5Mb25nLlRXT19QV1JfMzJfREJMXyAqIGdvb2cubWF0aC5Mb25nLlRX
T19QV1JfMzJfREJMXzsKCgogIC8qKgogICAqIEB0eXBlIHtudW1iZXJ9CiAgICogQHByaXZhdGUK
ICAgKi8KICBnb29nLm1hdGguTG9uZy5UV09fUFdSXzYzX0RCTF8gPQogICAgICBnb29nLm1hdGgu
TG9uZy5UV09fUFdSXzY0X0RCTF8gLyAyOwoKCiAgLyoqIEB0eXBlIHshZ29vZy5tYXRoLkxvbmd9
ICovCiAgZ29vZy5tYXRoLkxvbmcuWkVSTyA9IGdvb2cubWF0aC5Mb25nLmZyb21JbnQoMCk7CgoK
ICAvKiogQHR5cGUgeyFnb29nLm1hdGguTG9uZ30gKi8KICBnb29nLm1hdGguTG9uZy5PTkUgPSBn
b29nLm1hdGguTG9uZy5mcm9tSW50KDEpOwoKCiAgLyoqIEB0eXBlIHshZ29vZy5tYXRoLkxvbmd9
ICovCiAgZ29vZy5tYXRoLkxvbmcuTkVHX09ORSA9IGdvb2cubWF0aC5Mb25nLmZyb21JbnQoLTEp
OwoKCiAgLyoqIEB0eXBlIHshZ29vZy5tYXRoLkxvbmd9ICovCiAgZ29vZy5tYXRoLkxvbmcuTUFY
X1ZBTFVFID0KICAgICAgZ29vZy5tYXRoLkxvbmcuZnJvbUJpdHMoMHhGRkZGRkZGRiB8IDAsIDB4
N0ZGRkZGRkYgfCAwKTsKCgogIC8qKiBAdHlwZSB7IWdvb2cubWF0aC5Mb25nfSAqLwogIGdvb2cu
bWF0aC5Mb25nLk1JTl9WQUxVRSA9IGdvb2cubWF0aC5Mb25nLmZyb21CaXRzKDAsIDB4ODAwMDAw
MDAgfCAwKTsKCgogIC8qKgogICAqIEB0eXBlIHshZ29vZy5tYXRoLkxvbmd9CiAgICogQHByaXZh
dGUKICAgKi8KICBnb29nLm1hdGguTG9uZy5UV09fUFdSXzI0XyA9IGdvb2cubWF0aC5Mb25nLmZy
b21JbnQoMSA8PCAyNCk7CgoKICAvKiogQHJldHVybiB7bnVtYmVyfSBUaGUgdmFsdWUsIGFzc3Vt
aW5nIGl0IGlzIGEgMzItYml0IGludGVnZXIuICovCiAgZ29vZy5tYXRoLkxvbmcucHJvdG90eXBl
LnRvSW50ID0gZnVuY3Rpb24oKSB7CiAgICByZXR1cm4gdGhpcy5sb3dfOwogIH07CgoKICAvKiog
QHJldHVybiB7bnVtYmVyfSBUaGUgY2xvc2VzdCBmbG9hdGluZy1wb2ludCByZXByZXNlbnRhdGlv
biB0byB0aGlzIHZhbHVlLiAqLwogIGdvb2cubWF0aC5Mb25nLnByb3RvdHlwZS50b051bWJlciA9
IGZ1bmN0aW9uKCkgewogICAgcmV0dXJuIHRoaXMuaGlnaF8gKiBnb29nLm1hdGguTG9uZy5UV09f
UFdSXzMyX0RCTF8gKwogICAgICAgICAgIHRoaXMuZ2V0TG93Qml0c1Vuc2lnbmVkKCk7CiAgfTsK
CgogIC8qKgogICAqIEBwYXJhbSB7bnVtYmVyPX0gb3B0X3JhZGl4IFRoZSByYWRpeCBpbiB3aGlj
aCB0aGUgdGV4dCBzaG91bGQgYmUgd3JpdHRlbi4KICAgKiBAcmV0dXJuIHtzdHJpbmd9IFRoZSB0
ZXh0dWFsIHJlcHJlc2VudGF0aW9uIG9mIHRoaXMgdmFsdWUuCiAgICovCiAgZ29vZy5tYXRoLkxv
bmcucHJvdG90eXBlLnRvU3RyaW5nID0gZnVuY3Rpb24ob3B0X3JhZGl4KSB7CiAgICB2YXIgcmFk
aXggPSBvcHRfcmFkaXggfHwgMTA7CiAgICBpZiAocmFkaXggPCAyIHx8IDM2IDwgcmFkaXgpIHsK
ICAgICAgdGhyb3cgRXJyb3IoJ3JhZGl4IG91dCBvZiByYW5nZTogJyArIHJhZGl4KTsKICAgIH0K
CiAgICBpZiAodGhpcy5pc1plcm8oKSkgewogICAgICByZXR1cm4gJzAnOwogICAgfQoKICAgIGlm
ICh0aGlzLmlzTmVnYXRpdmUoKSkgewogICAgICBpZiAodGhpcy5lcXVhbHMoZ29vZy5tYXRoLkxv
bmcuTUlOX1ZBTFVFKSkgewogICAgICAgIC8vIFdlIG5lZWQgdG8gY2hhbmdlIHRoZSBMb25nIHZh
bHVlIGJlZm9yZSBpdCBjYW4gYmUgbmVnYXRlZCwgc28gd2UgcmVtb3ZlCiAgICAgICAgLy8gdGhl
IGJvdHRvbS1tb3N0IGRpZ2l0IGluIHRoaXMgYmFzZSBhbmQgdGhlbiByZWN1cnNlIHRvIGRvIHRo
ZSByZXN0LgogICAgICAgIHZhciByYWRpeExvbmcgPSBnb29nLm1hdGguTG9uZy5mcm9tTnVtYmVy
KHJhZGl4KTsKICAgICAgICB2YXIgZGl2ID0gdGhpcy5kaXYocmFkaXhMb25nKTsKICAgICAgICB2
YXIgcmVtID0gZGl2Lm11bHRpcGx5KHJhZGl4TG9uZykuc3VidHJhY3QodGhpcyk7CiAgICAgICAg
cmV0dXJuIGRpdi50b1N0cmluZyhyYWRpeCkgKyByZW0udG9JbnQoKS50b1N0cmluZyhyYWRpeCk7
CiAgICAgIH0gZWxzZSB7CiAgICAgICAgcmV0dXJuICctJyArIHRoaXMubmVnYXRlKCkudG9TdHJp
bmcocmFkaXgpOwogICAgICB9CiAgICB9CgogICAgLy8gRG8gc2V2ZXJhbCAoNikgZGlnaXRzIGVh
Y2ggdGltZSB0aHJvdWdoIHRoZSBsb29wLCBzbyBhcyB0bwogICAgLy8gbWluaW1pemUgdGhlIGNh
bGxzIHRvIHRoZSB2ZXJ5IGV4cGVuc2l2ZSBlbXVsYXRlZCBkaXYuCiAgICB2YXIgcmFkaXhUb1Bv
d2VyID0gZ29vZy5tYXRoLkxvbmcuZnJvbU51bWJlcihNYXRoLnBvdyhyYWRpeCwgNikpOwoKICAg
IHZhciByZW0gPSB0aGlzOwogICAgdmFyIHJlc3VsdCA9ICcnOwogICAgd2hpbGUgKHRydWUpIHsK
ICAgICAgdmFyIHJlbURpdiA9IHJlbS5kaXYocmFkaXhUb1Bvd2VyKTsKICAgICAgdmFyIGludHZh
bCA9IHJlbS5zdWJ0cmFjdChyZW1EaXYubXVsdGlwbHkocmFkaXhUb1Bvd2VyKSkudG9JbnQoKTsK
ICAgICAgdmFyIGRpZ2l0cyA9IGludHZhbC50b1N0cmluZyhyYWRpeCk7CgogICAgICByZW0gPSBy
ZW1EaXY7CiAgICAgIGlmIChyZW0uaXNaZXJvKCkpIHsKICAgICAgICByZXR1cm4gZGlnaXRzICsg
cmVzdWx0OwogICAgICB9IGVsc2UgewogICAgICAgIHdoaWxlIChkaWdpdHMubGVuZ3RoIDwgNikg
ewogICAgICAgICAgZGlnaXRzID0gJzAnICsgZGlnaXRzOwogICAgICAgIH0KICAgICAgICByZXN1
bHQgPSAnJyArIGRpZ2l0cyArIHJlc3VsdDsKICAgICAgfQogICAgfQogIH07CgoKICAvKiogQHJl
dHVybiB7bnVtYmVyfSBUaGUgaGlnaCAzMi1iaXRzIGFzIGEgc2lnbmVkIHZhbHVlLiAqLwogIGdv
b2cubWF0aC5Mb25nLnByb3RvdHlwZS5nZXRIaWdoQml0cyA9IGZ1bmN0aW9uKCkgewogICAgcmV0
dXJuIHRoaXMuaGlnaF87CiAgfTsKCgogIC8qKiBAcmV0dXJuIHtudW1iZXJ9IFRoZSBsb3cgMzIt
Yml0cyBhcyBhIHNpZ25lZCB2YWx1ZS4gKi8KICBnb29nLm1hdGguTG9uZy5wcm90b3R5cGUuZ2V0
TG93Qml0cyA9IGZ1bmN0aW9uKCkgewogICAgcmV0dXJuIHRoaXMubG93XzsKICB9OwoKCiAgLyoq
IEByZXR1cm4ge251bWJlcn0gVGhlIGxvdyAzMi1iaXRzIGFzIGFuIHVuc2lnbmVkIHZhbHVlLiAq
LwogIGdvb2cubWF0aC5Mb25nLnByb3RvdHlwZS5nZXRMb3dCaXRzVW5zaWduZWQgPSBmdW5jdGlv
bigpIHsKICAgIHJldHVybiAodGhpcy5sb3dfID49IDApID8KICAgICAgICB0aGlzLmxvd18gOiBn
b29nLm1hdGguTG9uZy5UV09fUFdSXzMyX0RCTF8gKyB0aGlzLmxvd187CiAgfTsKCgogIC8qKgog
ICAqIEByZXR1cm4ge251bWJlcn0gUmV0dXJucyB0aGUgbnVtYmVyIG9mIGJpdHMgbmVlZGVkIHRv
IHJlcHJlc2VudCB0aGUgYWJzb2x1dGUKICAgKiAgICAgdmFsdWUgb2YgdGhpcyBMb25nLgogICAq
LwogIGdvb2cubWF0aC5Mb25nLnByb3RvdHlwZS5nZXROdW1CaXRzQWJzID0gZnVuY3Rpb24oKSB7
CiAgICBpZiAodGhpcy5pc05lZ2F0aXZlKCkpIHsKICAgICAgaWYgKHRoaXMuZXF1YWxzKGdvb2cu
bWF0aC5Mb25nLk1JTl9WQUxVRSkpIHsKICAgICAgICByZXR1cm4gNjQ7CiAgICAgIH0gZWxzZSB7
CiAgICAgICAgcmV0dXJuIHRoaXMubmVnYXRlKCkuZ2V0TnVtQml0c0FicygpOwogICAgICB9CiAg
ICB9IGVsc2UgewogICAgICB2YXIgdmFsID0gdGhpcy5oaWdoXyAhPSAwID8gdGhpcy5oaWdoXyA6
IHRoaXMubG93XzsKICAgICAgZm9yICh2YXIgYml0ID0gMzE7IGJpdCA+IDA7IGJpdC0tKSB7CiAg
ICAgICAgaWYgKCh2YWwgJiAoMSA8PCBiaXQpKSAhPSAwKSB7CiAgICAgICAgICBicmVhazsKICAg
ICAgICB9CiAgICAgIH0KICAgICAgcmV0dXJuIHRoaXMuaGlnaF8gIT0gMCA/IGJpdCArIDMzIDog
Yml0ICsgMTsKICAgIH0KICB9OwoKCiAgLyoqIEByZXR1cm4ge2Jvb2xlYW59IFdoZXRoZXIgdGhp
cyB2YWx1ZSBpcyB6ZXJvLiAqLwogIGdvb2cubWF0aC5Mb25nLnByb3RvdHlwZS5pc1plcm8gPSBm
dW5jdGlvbigpIHsKICAgIHJldHVybiB0aGlzLmhpZ2hfID09IDAgJiYgdGhpcy5sb3dfID09IDA7
CiAgfTsKCgogIC8qKiBAcmV0dXJuIHtib29sZWFufSBXaGV0aGVyIHRoaXMgdmFsdWUgaXMgbmVn
YXRpdmUuICovCiAgZ29vZy5tYXRoLkxvbmcucHJvdG90eXBlLmlzTmVnYXRpdmUgPSBmdW5jdGlv
bigpIHsKICAgIHJldHVybiB0aGlzLmhpZ2hfIDwgMDsKICB9OwoKCiAgLyoqIEByZXR1cm4ge2Jv
b2xlYW59IFdoZXRoZXIgdGhpcyB2YWx1ZSBpcyBvZGQuICovCiAgZ29vZy5tYXRoLkxvbmcucHJv
dG90eXBlLmlzT2RkID0gZnVuY3Rpb24oKSB7CiAgICByZXR1cm4gKHRoaXMubG93XyAmIDEpID09
IDE7CiAgfTsKCgogIC8qKgogICAqIEBwYXJhbSB7Z29vZy5tYXRoLkxvbmd9IG90aGVyIExvbmcg
dG8gY29tcGFyZSBhZ2FpbnN0LgogICAqIEByZXR1cm4ge2Jvb2xlYW59IFdoZXRoZXIgdGhpcyBM
b25nIGVxdWFscyB0aGUgb3RoZXIuCiAgICovCiAgZ29vZy5tYXRoLkxvbmcucHJvdG90eXBlLmVx
dWFscyA9IGZ1bmN0aW9uKG90aGVyKSB7CiAgICByZXR1cm4gKHRoaXMuaGlnaF8gPT0gb3RoZXIu
aGlnaF8pICYmICh0aGlzLmxvd18gPT0gb3RoZXIubG93Xyk7CiAgfTsKCgogIC8qKgogICAqIEBw
YXJhbSB7Z29vZy5tYXRoLkxvbmd9IG90aGVyIExvbmcgdG8gY29tcGFyZSBhZ2FpbnN0LgogICAq
IEByZXR1cm4ge2Jvb2xlYW59IFdoZXRoZXIgdGhpcyBMb25nIGRvZXMgbm90IGVxdWFsIHRoZSBv
dGhlci4KICAgKi8KICBnb29nLm1hdGguTG9uZy5wcm90b3R5cGUubm90RXF1YWxzID0gZnVuY3Rp
b24ob3RoZXIpIHsKICAgIHJldHVybiAodGhpcy5oaWdoXyAhPSBvdGhlci5oaWdoXykgfHwgKHRo
aXMubG93XyAhPSBvdGhlci5sb3dfKTsKICB9OwoKCiAgLyoqCiAgICogQHBhcmFtIHtnb29nLm1h
dGguTG9uZ30gb3RoZXIgTG9uZyB0byBjb21wYXJlIGFnYWluc3QuCiAgICogQHJldHVybiB7Ym9v
bGVhbn0gV2hldGhlciB0aGlzIExvbmcgaXMgbGVzcyB0aGFuIHRoZSBvdGhlci4KICAgKi8KICBn
b29nLm1hdGguTG9uZy5wcm90b3R5cGUubGVzc1RoYW4gPSBmdW5jdGlvbihvdGhlcikgewogICAg
cmV0dXJuIHRoaXMuY29tcGFyZShvdGhlcikgPCAwOwogIH07CgoKICAvKioKICAgKiBAcGFyYW0g
e2dvb2cubWF0aC5Mb25nfSBvdGhlciBMb25nIHRvIGNvbXBhcmUgYWdhaW5zdC4KICAgKiBAcmV0
dXJuIHtib29sZWFufSBXaGV0aGVyIHRoaXMgTG9uZyBpcyBsZXNzIHRoYW4gb3IgZXF1YWwgdG8g
dGhlIG90aGVyLgogICAqLwogIGdvb2cubWF0aC5Mb25nLnByb3RvdHlwZS5sZXNzVGhhbk9yRXF1
YWwgPSBmdW5jdGlvbihvdGhlcikgewogICAgcmV0dXJuIHRoaXMuY29tcGFyZShvdGhlcikgPD0g
MDsKICB9OwoKCiAgLyoqCiAgICogQHBhcmFtIHtnb29nLm1hdGguTG9uZ30gb3RoZXIgTG9uZyB0
byBjb21wYXJlIGFnYWluc3QuCiAgICogQHJldHVybiB7Ym9vbGVhbn0gV2hldGhlciB0aGlzIExv
bmcgaXMgZ3JlYXRlciB0aGFuIHRoZSBvdGhlci4KICAgKi8KICBnb29nLm1hdGguTG9uZy5wcm90
b3R5cGUuZ3JlYXRlclRoYW4gPSBmdW5jdGlvbihvdGhlcikgewogICAgcmV0dXJuIHRoaXMuY29t
cGFyZShvdGhlcikgPiAwOwogIH07CgoKICAvKioKICAgKiBAcGFyYW0ge2dvb2cubWF0aC5Mb25n
fSBvdGhlciBMb25nIHRvIGNvbXBhcmUgYWdhaW5zdC4KICAgKiBAcmV0dXJuIHtib29sZWFufSBX
aGV0aGVyIHRoaXMgTG9uZyBpcyBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gdGhlIG90aGVyLgog
ICAqLwogIGdvb2cubWF0aC5Mb25nLnByb3RvdHlwZS5ncmVhdGVyVGhhbk9yRXF1YWwgPSBmdW5j
dGlvbihvdGhlcikgewogICAgcmV0dXJuIHRoaXMuY29tcGFyZShvdGhlcikgPj0gMDsKICB9OwoK
CiAgLyoqCiAgICogQ29tcGFyZXMgdGhpcyBMb25nIHdpdGggdGhlIGdpdmVuIG9uZS4KICAgKiBA
cGFyYW0ge2dvb2cubWF0aC5Mb25nfSBvdGhlciBMb25nIHRvIGNvbXBhcmUgYWdhaW5zdC4KICAg
KiBAcmV0dXJuIHtudW1iZXJ9IDAgaWYgdGhleSBhcmUgdGhlIHNhbWUsIDEgaWYgdGhlIHRoaXMg
aXMgZ3JlYXRlciwgYW5kIC0xCiAgICogICAgIGlmIHRoZSBnaXZlbiBvbmUgaXMgZ3JlYXRlci4K
ICAgKi8KICBnb29nLm1hdGguTG9uZy5wcm90b3R5cGUuY29tcGFyZSA9IGZ1bmN0aW9uKG90aGVy
KSB7CiAgICBpZiAodGhpcy5lcXVhbHMob3RoZXIpKSB7CiAgICAgIHJldHVybiAwOwogICAgfQoK
ICAgIHZhciB0aGlzTmVnID0gdGhpcy5pc05lZ2F0aXZlKCk7CiAgICB2YXIgb3RoZXJOZWcgPSBv
dGhlci5pc05lZ2F0aXZlKCk7CiAgICBpZiAodGhpc05lZyAmJiAhb3RoZXJOZWcpIHsKICAgICAg
cmV0dXJuIC0xOwogICAgfQogICAgaWYgKCF0aGlzTmVnICYmIG90aGVyTmVnKSB7CiAgICAgIHJl
dHVybiAxOwogICAgfQoKICAgIC8vIGF0IHRoaXMgcG9pbnQsIHRoZSBzaWducyBhcmUgdGhlIHNh
bWUsIHNvIHN1YnRyYWN0aW9uIHdpbGwgbm90IG92ZXJmbG93CiAgICBpZiAodGhpcy5zdWJ0cmFj
dChvdGhlcikuaXNOZWdhdGl2ZSgpKSB7CiAgICAgIHJldHVybiAtMTsKICAgIH0gZWxzZSB7CiAg
ICAgIHJldHVybiAxOwogICAgfQogIH07CgoKICAvKiogQHJldHVybiB7IWdvb2cubWF0aC5Mb25n
fSBUaGUgbmVnYXRpb24gb2YgdGhpcyB2YWx1ZS4gKi8KICBnb29nLm1hdGguTG9uZy5wcm90b3R5
cGUubmVnYXRlID0gZnVuY3Rpb24oKSB7CiAgICBpZiAodGhpcy5lcXVhbHMoZ29vZy5tYXRoLkxv
bmcuTUlOX1ZBTFVFKSkgewogICAgICByZXR1cm4gZ29vZy5tYXRoLkxvbmcuTUlOX1ZBTFVFOwog
ICAgfSBlbHNlIHsKICAgICAgcmV0dXJuIHRoaXMubm90KCkuYWRkKGdvb2cubWF0aC5Mb25nLk9O
RSk7CiAgICB9CiAgfTsKCgogIC8qKgogICAqIFJldHVybnMgdGhlIHN1bSBvZiB0aGlzIGFuZCB0
aGUgZ2l2ZW4gTG9uZy4KICAgKiBAcGFyYW0ge2dvb2cubWF0aC5Mb25nfSBvdGhlciBMb25nIHRv
IGFkZCB0byB0aGlzIG9uZS4KICAgKiBAcmV0dXJuIHshZ29vZy5tYXRoLkxvbmd9IFRoZSBzdW0g
b2YgdGhpcyBhbmQgdGhlIGdpdmVuIExvbmcuCiAgICovCiAgZ29vZy5tYXRoLkxvbmcucHJvdG90
eXBlLmFkZCA9IGZ1bmN0aW9uKG90aGVyKSB7CiAgICAvLyBEaXZpZGUgZWFjaCBudW1iZXIgaW50
byA0IGNodW5rcyBvZiAxNiBiaXRzLCBhbmQgdGhlbiBzdW0gdGhlIGNodW5rcy4KCiAgICB2YXIg
YTQ4ID0gdGhpcy5oaWdoXyA+Pj4gMTY7CiAgICB2YXIgYTMyID0gdGhpcy5oaWdoXyAmIDB4RkZG
RjsKICAgIHZhciBhMTYgPSB0aGlzLmxvd18gPj4+IDE2OwogICAgdmFyIGEwMCA9IHRoaXMubG93
XyAmIDB4RkZGRjsKCiAgICB2YXIgYjQ4ID0gb3RoZXIuaGlnaF8gPj4+IDE2OwogICAgdmFyIGIz
MiA9IG90aGVyLmhpZ2hfICYgMHhGRkZGOwogICAgdmFyIGIxNiA9IG90aGVyLmxvd18gPj4+IDE2
OwogICAgdmFyIGIwMCA9IG90aGVyLmxvd18gJiAweEZGRkY7CgogICAgdmFyIGM0OCA9IDAsIGMz
MiA9IDAsIGMxNiA9IDAsIGMwMCA9IDA7CiAgICBjMDAgKz0gYTAwICsgYjAwOwogICAgYzE2ICs9
IGMwMCA+Pj4gMTY7CiAgICBjMDAgJj0gMHhGRkZGOwogICAgYzE2ICs9IGExNiArIGIxNjsKICAg
IGMzMiArPSBjMTYgPj4+IDE2OwogICAgYzE2ICY9IDB4RkZGRjsKICAgIGMzMiArPSBhMzIgKyBi
MzI7CiAgICBjNDggKz0gYzMyID4+PiAxNjsKICAgIGMzMiAmPSAweEZGRkY7CiAgICBjNDggKz0g
YTQ4ICsgYjQ4OwogICAgYzQ4ICY9IDB4RkZGRjsKICAgIHJldHVybiBnb29nLm1hdGguTG9uZy5m
cm9tQml0cygoYzE2IDw8IDE2KSB8IGMwMCwgKGM0OCA8PCAxNikgfCBjMzIpOwogIH07CgoKICAv
KioKICAgKiBSZXR1cm5zIHRoZSBkaWZmZXJlbmNlIG9mIHRoaXMgYW5kIHRoZSBnaXZlbiBMb25n
LgogICAqIEBwYXJhbSB7Z29vZy5tYXRoLkxvbmd9IG90aGVyIExvbmcgdG8gc3VidHJhY3QgZnJv
bSB0aGlzLgogICAqIEByZXR1cm4geyFnb29nLm1hdGguTG9uZ30gVGhlIGRpZmZlcmVuY2Ugb2Yg
dGhpcyBhbmQgdGhlIGdpdmVuIExvbmcuCiAgICovCiAgZ29vZy5tYXRoLkxvbmcucHJvdG90eXBl
LnN1YnRyYWN0ID0gZnVuY3Rpb24ob3RoZXIpIHsKICAgIHJldHVybiB0aGlzLmFkZChvdGhlci5u
ZWdhdGUoKSk7CiAgfTsKCgogIC8qKgogICAqIFJldHVybnMgdGhlIHByb2R1Y3Qgb2YgdGhpcyBh
bmQgdGhlIGdpdmVuIGxvbmcuCiAgICogQHBhcmFtIHtnb29nLm1hdGguTG9uZ30gb3RoZXIgTG9u
ZyB0byBtdWx0aXBseSB3aXRoIHRoaXMuCiAgICogQHJldHVybiB7IWdvb2cubWF0aC5Mb25nfSBU
aGUgcHJvZHVjdCBvZiB0aGlzIGFuZCB0aGUgb3RoZXIuCiAgICovCiAgZ29vZy5tYXRoLkxvbmcu
cHJvdG90eXBlLm11bHRpcGx5ID0gZnVuY3Rpb24ob3RoZXIpIHsKICAgIGlmICh0aGlzLmlzWmVy
bygpKSB7CiAgICAgIHJldHVybiBnb29nLm1hdGguTG9uZy5aRVJPOwogICAgfSBlbHNlIGlmIChv
dGhlci5pc1plcm8oKSkgewogICAgICByZXR1cm4gZ29vZy5tYXRoLkxvbmcuWkVSTzsKICAgIH0K
CiAgICBpZiAodGhpcy5lcXVhbHMoZ29vZy5tYXRoLkxvbmcuTUlOX1ZBTFVFKSkgewogICAgICBy
ZXR1cm4gb3RoZXIuaXNPZGQoKSA/IGdvb2cubWF0aC5Mb25nLk1JTl9WQUxVRSA6IGdvb2cubWF0
aC5Mb25nLlpFUk87CiAgICB9IGVsc2UgaWYgKG90aGVyLmVxdWFscyhnb29nLm1hdGguTG9uZy5N
SU5fVkFMVUUpKSB7CiAgICAgIHJldHVybiB0aGlzLmlzT2RkKCkgPyBnb29nLm1hdGguTG9uZy5N
SU5fVkFMVUUgOiBnb29nLm1hdGguTG9uZy5aRVJPOwogICAgfQoKICAgIGlmICh0aGlzLmlzTmVn
YXRpdmUoKSkgewogICAgICBpZiAob3RoZXIuaXNOZWdhdGl2ZSgpKSB7CiAgICAgICAgcmV0dXJu
IHRoaXMubmVnYXRlKCkubXVsdGlwbHkob3RoZXIubmVnYXRlKCkpOwogICAgICB9IGVsc2Ugewog
ICAgICAgIHJldHVybiB0aGlzLm5lZ2F0ZSgpLm11bHRpcGx5KG90aGVyKS5uZWdhdGUoKTsKICAg
ICAgfQogICAgfSBlbHNlIGlmIChvdGhlci5pc05lZ2F0aXZlKCkpIHsKICAgICAgcmV0dXJuIHRo
aXMubXVsdGlwbHkob3RoZXIubmVnYXRlKCkpLm5lZ2F0ZSgpOwogICAgfQoKICAgIC8vIElmIGJv
dGggbG9uZ3MgYXJlIHNtYWxsLCB1c2UgZmxvYXQgbXVsdGlwbGljYXRpb24KICAgIGlmICh0aGlz
Lmxlc3NUaGFuKGdvb2cubWF0aC5Mb25nLlRXT19QV1JfMjRfKSAmJgogICAgICAgIG90aGVyLmxl
c3NUaGFuKGdvb2cubWF0aC5Mb25nLlRXT19QV1JfMjRfKSkgewogICAgICByZXR1cm4gZ29vZy5t
YXRoLkxvbmcuZnJvbU51bWJlcih0aGlzLnRvTnVtYmVyKCkgKiBvdGhlci50b051bWJlcigpKTsK
ICAgIH0KCiAgICAvLyBEaXZpZGUgZWFjaCBsb25nIGludG8gNCBjaHVua3Mgb2YgMTYgYml0cywg
YW5kIHRoZW4gYWRkIHVwIDR4NCBwcm9kdWN0cy4KICAgIC8vIFdlIGNhbiBza2lwIHByb2R1Y3Rz
IHRoYXQgd291bGQgb3ZlcmZsb3cuCgogICAgdmFyIGE0OCA9IHRoaXMuaGlnaF8gPj4+IDE2Owog
ICAgdmFyIGEzMiA9IHRoaXMuaGlnaF8gJiAweEZGRkY7CiAgICB2YXIgYTE2ID0gdGhpcy5sb3df
ID4+PiAxNjsKICAgIHZhciBhMDAgPSB0aGlzLmxvd18gJiAweEZGRkY7CgogICAgdmFyIGI0OCA9
IG90aGVyLmhpZ2hfID4+PiAxNjsKICAgIHZhciBiMzIgPSBvdGhlci5oaWdoXyAmIDB4RkZGRjsK
ICAgIHZhciBiMTYgPSBvdGhlci5sb3dfID4+PiAxNjsKICAgIHZhciBiMDAgPSBvdGhlci5sb3df
ICYgMHhGRkZGOwoKICAgIHZhciBjNDggPSAwLCBjMzIgPSAwLCBjMTYgPSAwLCBjMDAgPSAwOwog
ICAgYzAwICs9IGEwMCAqIGIwMDsKICAgIGMxNiArPSBjMDAgPj4+IDE2OwogICAgYzAwICY9IDB4
RkZGRjsKICAgIGMxNiArPSBhMTYgKiBiMDA7CiAgICBjMzIgKz0gYzE2ID4+PiAxNjsKICAgIGMx
NiAmPSAweEZGRkY7CiAgICBjMTYgKz0gYTAwICogYjE2OwogICAgYzMyICs9IGMxNiA+Pj4gMTY7
CiAgICBjMTYgJj0gMHhGRkZGOwogICAgYzMyICs9IGEzMiAqIGIwMDsKICAgIGM0OCArPSBjMzIg
Pj4+IDE2OwogICAgYzMyICY9IDB4RkZGRjsKICAgIGMzMiArPSBhMTYgKiBiMTY7CiAgICBjNDgg
Kz0gYzMyID4+PiAxNjsKICAgIGMzMiAmPSAweEZGRkY7CiAgICBjMzIgKz0gYTAwICogYjMyOwog
ICAgYzQ4ICs9IGMzMiA+Pj4gMTY7CiAgICBjMzIgJj0gMHhGRkZGOwogICAgYzQ4ICs9IGE0OCAq
IGIwMCArIGEzMiAqIGIxNiArIGExNiAqIGIzMiArIGEwMCAqIGI0ODsKICAgIGM0OCAmPSAweEZG
RkY7CiAgICByZXR1cm4gZ29vZy5tYXRoLkxvbmcuZnJvbUJpdHMoKGMxNiA8PCAxNikgfCBjMDAs
IChjNDggPDwgMTYpIHwgYzMyKTsKICB9OwoKCiAgLyoqCiAgICogUmV0dXJucyB0aGlzIExvbmcg
ZGl2aWRlZCBieSB0aGUgZ2l2ZW4gb25lLgogICAqIEBwYXJhbSB7Z29vZy5tYXRoLkxvbmd9IG90
aGVyIExvbmcgYnkgd2hpY2ggdG8gZGl2aWRlLgogICAqIEByZXR1cm4geyFnb29nLm1hdGguTG9u
Z30gVGhpcyBMb25nIGRpdmlkZWQgYnkgdGhlIGdpdmVuIG9uZS4KICAgKi8KICBnb29nLm1hdGgu
TG9uZy5wcm90b3R5cGUuZGl2ID0gZnVuY3Rpb24ob3RoZXIpIHsKICAgIGlmIChvdGhlci5pc1pl
cm8oKSkgewogICAgICB0aHJvdyBFcnJvcignZGl2aXNpb24gYnkgemVybycpOwogICAgfSBlbHNl
IGlmICh0aGlzLmlzWmVybygpKSB7CiAgICAgIHJldHVybiBnb29nLm1hdGguTG9uZy5aRVJPOwog
ICAgfQoKICAgIGlmICh0aGlzLmVxdWFscyhnb29nLm1hdGguTG9uZy5NSU5fVkFMVUUpKSB7CiAg
ICAgIGlmIChvdGhlci5lcXVhbHMoZ29vZy5tYXRoLkxvbmcuT05FKSB8fAogICAgICAgICAgb3Ro
ZXIuZXF1YWxzKGdvb2cubWF0aC5Mb25nLk5FR19PTkUpKSB7CiAgICAgICAgcmV0dXJuIGdvb2cu
bWF0aC5Mb25nLk1JTl9WQUxVRTsgIC8vIHJlY2FsbCB0aGF0IC1NSU5fVkFMVUUgPT0gTUlOX1ZB
TFVFCiAgICAgIH0gZWxzZSBpZiAob3RoZXIuZXF1YWxzKGdvb2cubWF0aC5Mb25nLk1JTl9WQUxV
RSkpIHsKICAgICAgICByZXR1cm4gZ29vZy5tYXRoLkxvbmcuT05FOwogICAgICB9IGVsc2Ugewog
ICAgICAgIC8vIEF0IHRoaXMgcG9pbnQsIHdlIGhhdmUgfG90aGVyfCA+PSAyLCBzbyB8dGhpcy9v
dGhlcnwgPCB8TUlOX1ZBTFVFfC4KICAgICAgICB2YXIgaGFsZlRoaXMgPSB0aGlzLnNoaWZ0Umln
aHQoMSk7CiAgICAgICAgdmFyIGFwcHJveCA9IGhhbGZUaGlzLmRpdihvdGhlcikuc2hpZnRMZWZ0
KDEpOwogICAgICAgIGlmIChhcHByb3guZXF1YWxzKGdvb2cubWF0aC5Mb25nLlpFUk8pKSB7CiAg
ICAgICAgICByZXR1cm4gb3RoZXIuaXNOZWdhdGl2ZSgpID8gZ29vZy5tYXRoLkxvbmcuT05FIDog
Z29vZy5tYXRoLkxvbmcuTkVHX09ORTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgdmFyIHJl
bSA9IHRoaXMuc3VidHJhY3Qob3RoZXIubXVsdGlwbHkoYXBwcm94KSk7CiAgICAgICAgICB2YXIg
cmVzdWx0ID0gYXBwcm94LmFkZChyZW0uZGl2KG90aGVyKSk7CiAgICAgICAgICByZXR1cm4gcmVz
dWx0OwogICAgICAgIH0KICAgICAgfQogICAgfSBlbHNlIGlmIChvdGhlci5lcXVhbHMoZ29vZy5t
YXRoLkxvbmcuTUlOX1ZBTFVFKSkgewogICAgICByZXR1cm4gZ29vZy5tYXRoLkxvbmcuWkVSTzsK
ICAgIH0KCiAgICBpZiAodGhpcy5pc05lZ2F0aXZlKCkpIHsKICAgICAgaWYgKG90aGVyLmlzTmVn
YXRpdmUoKSkgewogICAgICAgIHJldHVybiB0aGlzLm5lZ2F0ZSgpLmRpdihvdGhlci5uZWdhdGUo
KSk7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgcmV0dXJuIHRoaXMubmVnYXRlKCkuZGl2KG90aGVy
KS5uZWdhdGUoKTsKICAgICAgfQogICAgfSBlbHNlIGlmIChvdGhlci5pc05lZ2F0aXZlKCkpIHsK
ICAgICAgcmV0dXJuIHRoaXMuZGl2KG90aGVyLm5lZ2F0ZSgpKS5uZWdhdGUoKTsKICAgIH0KCiAg
ICAvLyBSZXBlYXQgdGhlIGZvbGxvd2luZyB1bnRpbCB0aGUgcmVtYWluZGVyIGlzIGxlc3MgdGhh
biBvdGhlcjogIGZpbmQgYQogICAgLy8gZmxvYXRpbmctcG9pbnQgdGhhdCBhcHByb3hpbWF0ZXMg
cmVtYWluZGVyIC8gb3RoZXIgKmZyb20gYmVsb3cqLCBhZGQgdGhpcwogICAgLy8gaW50byB0aGUg
cmVzdWx0LCBhbmQgc3VidHJhY3QgaXQgZnJvbSB0aGUgcmVtYWluZGVyLiAgSXQgaXMgY3JpdGlj
YWwgdGhhdAogICAgLy8gdGhlIGFwcHJveGltYXRlIHZhbHVlIGlzIGxlc3MgdGhhbiBvciBlcXVh
bCB0byB0aGUgcmVhbCB2YWx1ZSBzbyB0aGF0IHRoZQogICAgLy8gcmVtYWluZGVyIG5ldmVyIGJl
Y29tZXMgbmVnYXRpdmUuCiAgICB2YXIgcmVzID0gZ29vZy5tYXRoLkxvbmcuWkVSTzsKICAgIHZh
ciByZW0gPSB0aGlzOwogICAgd2hpbGUgKHJlbS5ncmVhdGVyVGhhbk9yRXF1YWwob3RoZXIpKSB7
CiAgICAgIC8vIEFwcHJveGltYXRlIHRoZSByZXN1bHQgb2YgZGl2aXNpb24uIFRoaXMgbWF5IGJl
IGEgbGl0dGxlIGdyZWF0ZXIgb3IKICAgICAgLy8gc21hbGxlciB0aGFuIHRoZSBhY3R1YWwgdmFs
dWUuCiAgICAgIHZhciBhcHByb3ggPSBNYXRoLm1heCgxLCBNYXRoLmZsb29yKHJlbS50b051bWJl
cigpIC8gb3RoZXIudG9OdW1iZXIoKSkpOwoKICAgICAgLy8gV2Ugd2lsbCB0d2VhayB0aGUgYXBw
cm94aW1hdGUgcmVzdWx0IGJ5IGNoYW5naW5nIGl0IGluIHRoZSA0OC10aCBkaWdpdCBvcgogICAg
ICAvLyB0aGUgc21hbGxlc3Qgbm9uLWZyYWN0aW9uYWwgZGlnaXQsIHdoaWNoZXZlciBpcyBsYXJn
ZXIuCiAgICAgIHZhciBsb2cyID0gTWF0aC5jZWlsKE1hdGgubG9nKGFwcHJveCkgLyBNYXRoLkxO
Mik7CiAgICAgIHZhciBkZWx0YSA9IChsb2cyIDw9IDQ4KSA/IDEgOiBNYXRoLnBvdygyLCBsb2cy
IC0gNDgpOwoKICAgICAgLy8gRGVjcmVhc2UgdGhlIGFwcHJveGltYXRpb24gdW50aWwgaXQgaXMg
c21hbGxlciB0aGFuIHRoZSByZW1haW5kZXIuICBOb3RlCiAgICAgIC8vIHRoYXQgaWYgaXQgaXMg
dG9vIGxhcmdlLCB0aGUgcHJvZHVjdCBvdmVyZmxvd3MgYW5kIGlzIG5lZ2F0aXZlLgogICAgICB2
YXIgYXBwcm94UmVzID0gZ29vZy5tYXRoLkxvbmcuZnJvbU51bWJlcihhcHByb3gpOwogICAgICB2
YXIgYXBwcm94UmVtID0gYXBwcm94UmVzLm11bHRpcGx5KG90aGVyKTsKICAgICAgd2hpbGUgKGFw
cHJveFJlbS5pc05lZ2F0aXZlKCkgfHwgYXBwcm94UmVtLmdyZWF0ZXJUaGFuKHJlbSkpIHsKICAg
ICAgICBhcHByb3ggLT0gZGVsdGE7CiAgICAgICAgYXBwcm94UmVzID0gZ29vZy5tYXRoLkxvbmcu
ZnJvbU51bWJlcihhcHByb3gpOwogICAgICAgIGFwcHJveFJlbSA9IGFwcHJveFJlcy5tdWx0aXBs
eShvdGhlcik7CiAgICAgIH0KCiAgICAgIC8vIFdlIGtub3cgdGhlIGFuc3dlciBjYW4ndCBiZSB6
ZXJvLi4uIGFuZCBhY3R1YWxseSwgemVybyB3b3VsZCBjYXVzZQogICAgICAvLyBpbmZpbml0ZSBy
ZWN1cnNpb24gc2luY2Ugd2Ugd291bGQgbWFrZSBubyBwcm9ncmVzcy4KICAgICAgaWYgKGFwcHJv
eFJlcy5pc1plcm8oKSkgewogICAgICAgIGFwcHJveFJlcyA9IGdvb2cubWF0aC5Mb25nLk9ORTsK
ICAgICAgfQoKICAgICAgcmVzID0gcmVzLmFkZChhcHByb3hSZXMpOwogICAgICByZW0gPSByZW0u
c3VidHJhY3QoYXBwcm94UmVtKTsKICAgIH0KICAgIHJldHVybiByZXM7CiAgfTsKCgogIC8qKgog
ICAqIFJldHVybnMgdGhpcyBMb25nIG1vZHVsbyB0aGUgZ2l2ZW4gb25lLgogICAqIEBwYXJhbSB7
Z29vZy5tYXRoLkxvbmd9IG90aGVyIExvbmcgYnkgd2hpY2ggdG8gbW9kLgogICAqIEByZXR1cm4g
eyFnb29nLm1hdGguTG9uZ30gVGhpcyBMb25nIG1vZHVsbyB0aGUgZ2l2ZW4gb25lLgogICAqLwog
IGdvb2cubWF0aC5Mb25nLnByb3RvdHlwZS5tb2R1bG8gPSBmdW5jdGlvbihvdGhlcikgewogICAg
cmV0dXJuIHRoaXMuc3VidHJhY3QodGhpcy5kaXYob3RoZXIpLm11bHRpcGx5KG90aGVyKSk7CiAg
fTsKCgogIC8qKiBAcmV0dXJuIHshZ29vZy5tYXRoLkxvbmd9IFRoZSBiaXR3aXNlLU5PVCBvZiB0
aGlzIHZhbHVlLiAqLwogIGdvb2cubWF0aC5Mb25nLnByb3RvdHlwZS5ub3QgPSBmdW5jdGlvbigp
IHsKICAgIHJldHVybiBnb29nLm1hdGguTG9uZy5mcm9tQml0cyh+dGhpcy5sb3dfLCB+dGhpcy5o
aWdoXyk7CiAgfTsKCgogIC8qKgogICAqIFJldHVybnMgdGhlIGJpdHdpc2UtQU5EIG9mIHRoaXMg
TG9uZyBhbmQgdGhlIGdpdmVuIG9uZS4KICAgKiBAcGFyYW0ge2dvb2cubWF0aC5Mb25nfSBvdGhl
ciBUaGUgTG9uZyB3aXRoIHdoaWNoIHRvIEFORC4KICAgKiBAcmV0dXJuIHshZ29vZy5tYXRoLkxv
bmd9IFRoZSBiaXR3aXNlLUFORCBvZiB0aGlzIGFuZCB0aGUgb3RoZXIuCiAgICovCiAgZ29vZy5t
YXRoLkxvbmcucHJvdG90eXBlLmFuZCA9IGZ1bmN0aW9uKG90aGVyKSB7CiAgICByZXR1cm4gZ29v
Zy5tYXRoLkxvbmcuZnJvbUJpdHModGhpcy5sb3dfICYgb3RoZXIubG93XywKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmhpZ2hfICYgb3RoZXIuaGlnaF8pOwogIH07CgoK
ICAvKioKICAgKiBSZXR1cm5zIHRoZSBiaXR3aXNlLU9SIG9mIHRoaXMgTG9uZyBhbmQgdGhlIGdp
dmVuIG9uZS4KICAgKiBAcGFyYW0ge2dvb2cubWF0aC5Mb25nfSBvdGhlciBUaGUgTG9uZyB3aXRo
IHdoaWNoIHRvIE9SLgogICAqIEByZXR1cm4geyFnb29nLm1hdGguTG9uZ30gVGhlIGJpdHdpc2Ut
T1Igb2YgdGhpcyBhbmQgdGhlIG90aGVyLgogICAqLwogIGdvb2cubWF0aC5Mb25nLnByb3RvdHlw
ZS5vciA9IGZ1bmN0aW9uKG90aGVyKSB7CiAgICByZXR1cm4gZ29vZy5tYXRoLkxvbmcuZnJvbUJp
dHModGhpcy5sb3dfIHwgb3RoZXIubG93XywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB0aGlzLmhpZ2hfIHwgb3RoZXIuaGlnaF8pOwogIH07CgoKICAvKioKICAgKiBSZXR1cm5z
IHRoZSBiaXR3aXNlLVhPUiBvZiB0aGlzIExvbmcgYW5kIHRoZSBnaXZlbiBvbmUuCiAgICogQHBh
cmFtIHtnb29nLm1hdGguTG9uZ30gb3RoZXIgVGhlIExvbmcgd2l0aCB3aGljaCB0byBYT1IuCiAg
ICogQHJldHVybiB7IWdvb2cubWF0aC5Mb25nfSBUaGUgYml0d2lzZS1YT1Igb2YgdGhpcyBhbmQg
dGhlIG90aGVyLgogICAqLwogIGdvb2cubWF0aC5Mb25nLnByb3RvdHlwZS54b3IgPSBmdW5jdGlv
bihvdGhlcikgewogICAgcmV0dXJuIGdvb2cubWF0aC5Mb25nLmZyb21CaXRzKHRoaXMubG93XyBe
IG90aGVyLmxvd18sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5oaWdo
XyBeIG90aGVyLmhpZ2hfKTsKICB9OwoKCiAgLyoqCiAgICogUmV0dXJucyB0aGlzIExvbmcgd2l0
aCBiaXRzIHNoaWZ0ZWQgdG8gdGhlIGxlZnQgYnkgdGhlIGdpdmVuIGFtb3VudC4KICAgKiBAcGFy
YW0ge251bWJlcn0gbnVtQml0cyBUaGUgbnVtYmVyIG9mIGJpdHMgYnkgd2hpY2ggdG8gc2hpZnQu
CiAgICogQHJldHVybiB7IWdvb2cubWF0aC5Mb25nfSBUaGlzIHNoaWZ0ZWQgdG8gdGhlIGxlZnQg
YnkgdGhlIGdpdmVuIGFtb3VudC4KICAgKi8KICBnb29nLm1hdGguTG9uZy5wcm90b3R5cGUuc2hp
ZnRMZWZ0ID0gZnVuY3Rpb24obnVtQml0cykgewogICAgbnVtQml0cyAmPSA2MzsKICAgIGlmIChu
dW1CaXRzID09IDApIHsKICAgICAgcmV0dXJuIHRoaXM7CiAgICB9IGVsc2UgewogICAgICB2YXIg
bG93ID0gdGhpcy5sb3dfOwogICAgICBpZiAobnVtQml0cyA8IDMyKSB7CiAgICAgICAgdmFyIGhp
Z2ggPSB0aGlzLmhpZ2hfOwogICAgICAgIHJldHVybiBnb29nLm1hdGguTG9uZy5mcm9tQml0cygK
ICAgICAgICAgICAgbG93IDw8IG51bUJpdHMsCiAgICAgICAgICAgIChoaWdoIDw8IG51bUJpdHMp
IHwgKGxvdyA+Pj4gKDMyIC0gbnVtQml0cykpKTsKICAgICAgfSBlbHNlIHsKICAgICAgICByZXR1
cm4gZ29vZy5tYXRoLkxvbmcuZnJvbUJpdHMoMCwgbG93IDw8IChudW1CaXRzIC0gMzIpKTsKICAg
ICAgfQogICAgfQogIH07CgoKICAvKioKICAgKiBSZXR1cm5zIHRoaXMgTG9uZyB3aXRoIGJpdHMg
c2hpZnRlZCB0byB0aGUgcmlnaHQgYnkgdGhlIGdpdmVuIGFtb3VudC4KICAgKiBAcGFyYW0ge251
bWJlcn0gbnVtQml0cyBUaGUgbnVtYmVyIG9mIGJpdHMgYnkgd2hpY2ggdG8gc2hpZnQuCiAgICog
QHJldHVybiB7IWdvb2cubWF0aC5Mb25nfSBUaGlzIHNoaWZ0ZWQgdG8gdGhlIHJpZ2h0IGJ5IHRo
ZSBnaXZlbiBhbW91bnQuCiAgICovCiAgZ29vZy5tYXRoLkxvbmcucHJvdG90eXBlLnNoaWZ0Umln
aHQgPSBmdW5jdGlvbihudW1CaXRzKSB7CiAgICBudW1CaXRzICY9IDYzOwogICAgaWYgKG51bUJp
dHMgPT0gMCkgewogICAgICByZXR1cm4gdGhpczsKICAgIH0gZWxzZSB7CiAgICAgIHZhciBoaWdo
ID0gdGhpcy5oaWdoXzsKICAgICAgaWYgKG51bUJpdHMgPCAzMikgewogICAgICAgIHZhciBsb3cg
PSB0aGlzLmxvd187CiAgICAgICAgcmV0dXJuIGdvb2cubWF0aC5Mb25nLmZyb21CaXRzKAogICAg
ICAgICAgICAobG93ID4+PiBudW1CaXRzKSB8IChoaWdoIDw8ICgzMiAtIG51bUJpdHMpKSwKICAg
ICAgICAgICAgaGlnaCA+PiBudW1CaXRzKTsKICAgICAgfSBlbHNlIHsKICAgICAgICByZXR1cm4g
Z29vZy5tYXRoLkxvbmcuZnJvbUJpdHMoCiAgICAgICAgICAgIGhpZ2ggPj4gKG51bUJpdHMgLSAz
MiksCiAgICAgICAgICAgIGhpZ2ggPj0gMCA/IDAgOiAtMSk7CiAgICAgIH0KICAgIH0KICB9OwoK
CiAgLyoqCiAgICogUmV0dXJucyB0aGlzIExvbmcgd2l0aCBiaXRzIHNoaWZ0ZWQgdG8gdGhlIHJp
Z2h0IGJ5IHRoZSBnaXZlbiBhbW91bnQsIHdpdGgKICAgKiB0aGUgbmV3IHRvcCBiaXRzIG1hdGNo
aW5nIHRoZSBjdXJyZW50IHNpZ24gYml0LgogICAqIEBwYXJhbSB7bnVtYmVyfSBudW1CaXRzIFRo
ZSBudW1iZXIgb2YgYml0cyBieSB3aGljaCB0byBzaGlmdC4KICAgKiBAcmV0dXJuIHshZ29vZy5t
YXRoLkxvbmd9IFRoaXMgc2hpZnRlZCB0byB0aGUgcmlnaHQgYnkgdGhlIGdpdmVuIGFtb3VudCwg
d2l0aAogICAqICAgICB6ZXJvcyBwbGFjZWQgaW50byB0aGUgbmV3IGxlYWRpbmcgYml0cy4KICAg
Ki8KICBnb29nLm1hdGguTG9uZy5wcm90b3R5cGUuc2hpZnRSaWdodFVuc2lnbmVkID0gZnVuY3Rp
b24obnVtQml0cykgewogICAgbnVtQml0cyAmPSA2MzsKICAgIGlmIChudW1CaXRzID09IDApIHsK
ICAgICAgcmV0dXJuIHRoaXM7CiAgICB9IGVsc2UgewogICAgICB2YXIgaGlnaCA9IHRoaXMuaGln
aF87CiAgICAgIGlmIChudW1CaXRzIDwgMzIpIHsKICAgICAgICB2YXIgbG93ID0gdGhpcy5sb3df
OwogICAgICAgIHJldHVybiBnb29nLm1hdGguTG9uZy5mcm9tQml0cygKICAgICAgICAgICAgKGxv
dyA+Pj4gbnVtQml0cykgfCAoaGlnaCA8PCAoMzIgLSBudW1CaXRzKSksCiAgICAgICAgICAgIGhp
Z2ggPj4+IG51bUJpdHMpOwogICAgICB9IGVsc2UgaWYgKG51bUJpdHMgPT0gMzIpIHsKICAgICAg
ICByZXR1cm4gZ29vZy5tYXRoLkxvbmcuZnJvbUJpdHMoaGlnaCwgMCk7CiAgICAgIH0gZWxzZSB7
CiAgICAgICAgcmV0dXJuIGdvb2cubWF0aC5Mb25nLmZyb21CaXRzKGhpZ2ggPj4+IChudW1CaXRz
IC0gMzIpLCAwKTsKICAgICAgfQogICAgfQogIH07CgogIC8vPT09PT09PSBiZWdpbiBqc2JuID09
PT09PT0KCiAgdmFyIG5hdmlnYXRvciA9IHsgYXBwTmFtZTogJ01vZGVybiBCcm93c2VyJyB9OyAv
LyBwb2x5ZmlsbCBhIGxpdHRsZQoKICAvLyBDb3B5cmlnaHQgKGMpIDIwMDUgIFRvbSBXdQogIC8v
IEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgLy8gaHR0cDovL3d3dy1jcy1zdHVkZW50cy5zdGFuZm9y
ZC5lZHUvfnRqdy9qc2JuLwoKICAvKgogICAqIENvcHlyaWdodCAoYykgMjAwMy0yMDA1ICBUb20g
V3UKICAgKiBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAqCiAgICogUGVybWlzc2lvbiBpcyBoZXJl
YnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nCiAgICog
YSBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxl
cyAodGhlCiAgICogIlNvZnR3YXJlIiksIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQg
cmVzdHJpY3Rpb24sIGluY2x1ZGluZwogICAqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRz
IHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKICAgKiBkaXN0cmlidXRlLCBz
dWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8KICAg
KiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8g
c28sIHN1YmplY3QgdG8KICAgKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CiAgICoKICAgKiBU
aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFs
bCBiZQogICAqIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMg
b2YgdGhlIFNvZnR3YXJlLgogICAqCiAgICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUy1J
UyIgQU5EIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIAogICAqIEVYUFJFU1MsIElNUExJ
RUQgT1IgT1RIRVJXSVNFLCBJTkNMVURJTkcgV0lUSE9VVCBMSU1JVEFUSU9OLCBBTlkgCiAgICog
V0FSUkFOVFkgT0YgTUVSQ0hBTlRBQklMSVRZIE9SIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFLiAgCiAgICoKICAgKiBJTiBOTyBFVkVOVCBTSEFMTCBUT00gV1UgQkUgTElBQkxFIEZP
UiBBTlkgU1BFQ0lBTCwgSU5DSURFTlRBTCwKICAgKiBJTkRJUkVDVCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgT0YgQU5ZIEtJTkQsIE9SIEFOWSBEQU1BR0VTIFdIQVRTT0VWRVIKICAgKiBSRVNV
TFRJTkcgRlJPTSBMT1NTIE9GIFVTRSwgREFUQSBPUiBQUk9GSVRTLCBXSEVUSEVSIE9SIE5PVCBB
RFZJU0VEIE9GCiAgICogVEhFIFBPU1NJQklMSVRZIE9GIERBTUFHRSwgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBBUklTSU5HIE9VVAogICAqIE9GIE9SIElOIENPTk5FQ1RJT04gV0lU
SCBUSEUgVVNFIE9SIFBFUkZPUk1BTkNFIE9GIFRISVMgU09GVFdBUkUuCiAgICoKICAgKiBJbiBh
ZGRpdGlvbiwgdGhlIGZvbGxvd2luZyBjb25kaXRpb24gYXBwbGllczoKICAgKgogICAqIEFsbCBy
ZWRpc3RyaWJ1dGlvbnMgbXVzdCByZXRhaW4gYW4gaW50YWN0IGNvcHkgb2YgdGhpcyBjb3B5cmln
aHQgbm90aWNlCiAgICogYW5kIGRpc2NsYWltZXIuCiAgICovCgogIC8vIEJhc2ljIEphdmFTY3Jp
cHQgQk4gbGlicmFyeSAtIHN1YnNldCB1c2VmdWwgZm9yIFJTQSBlbmNyeXB0aW9uLgoKICAvLyBC
aXRzIHBlciBkaWdpdAogIHZhciBkYml0czsKCiAgLy8gSmF2YVNjcmlwdCBlbmdpbmUgYW5hbHlz
aXMKICB2YXIgY2FuYXJ5ID0gMHhkZWFkYmVlZmNhZmU7CiAgdmFyIGpfbG0gPSAoKGNhbmFyeSYw
eGZmZmZmZik9PTB4ZWZjYWZlKTsKCiAgLy8gKHB1YmxpYykgQ29uc3RydWN0b3IKICBmdW5jdGlv
biBCaWdJbnRlZ2VyKGEsYixjKSB7CiAgICBpZihhICE9IG51bGwpCiAgICAgIGlmKCJudW1iZXIi
ID09IHR5cGVvZiBhKSB0aGlzLmZyb21OdW1iZXIoYSxiLGMpOwogICAgICBlbHNlIGlmKGIgPT0g
bnVsbCAmJiAic3RyaW5nIiAhPSB0eXBlb2YgYSkgdGhpcy5mcm9tU3RyaW5nKGEsMjU2KTsKICAg
ICAgZWxzZSB0aGlzLmZyb21TdHJpbmcoYSxiKTsKICB9CgogIC8vIHJldHVybiBuZXcsIHVuc2V0
IEJpZ0ludGVnZXIKICBmdW5jdGlvbiBuYmkoKSB7IHJldHVybiBuZXcgQmlnSW50ZWdlcihudWxs
KTsgfQoKICAvLyBhbTogQ29tcHV0ZSB3X2ogKz0gKHgqdGhpc19pKSwgcHJvcGFnYXRlIGNhcnJp
ZXMsCiAgLy8gYyBpcyBpbml0aWFsIGNhcnJ5LCByZXR1cm5zIGZpbmFsIGNhcnJ5LgogIC8vIGMg
PCAzKmR2YWx1ZSwgeCA8IDIqZHZhbHVlLCB0aGlzX2kgPCBkdmFsdWUKICAvLyBXZSBuZWVkIHRv
IHNlbGVjdCB0aGUgZmFzdGVzdCBvbmUgdGhhdCB3b3JrcyBpbiB0aGlzIGVudmlyb25tZW50LgoK
ICAvLyBhbTE6IHVzZSBhIHNpbmdsZSBtdWx0IGFuZCBkaXZpZGUgdG8gZ2V0IHRoZSBoaWdoIGJp
dHMsCiAgLy8gbWF4IGRpZ2l0IGJpdHMgc2hvdWxkIGJlIDI2IGJlY2F1c2UKICAvLyBtYXggaW50
ZXJuYWwgdmFsdWUgPSAyKmR2YWx1ZV4yLTIqZHZhbHVlICg8IDJeNTMpCiAgZnVuY3Rpb24gYW0x
KGkseCx3LGosYyxuKSB7CiAgICB3aGlsZSgtLW4gPj0gMCkgewogICAgICB2YXIgdiA9IHgqdGhp
c1tpKytdK3dbal0rYzsKICAgICAgYyA9IE1hdGguZmxvb3Iodi8weDQwMDAwMDApOwogICAgICB3
W2orK10gPSB2JjB4M2ZmZmZmZjsKICAgIH0KICAgIHJldHVybiBjOwogIH0KICAvLyBhbTIgYXZv
aWRzIGEgYmlnIG11bHQtYW5kLWV4dHJhY3QgY29tcGxldGVseS4KICAvLyBNYXggZGlnaXQgYml0
cyBzaG91bGQgYmUgPD0gMzAgYmVjYXVzZSB3ZSBkbyBiaXR3aXNlIG9wcwogIC8vIG9uIHZhbHVl
cyB1cCB0byAyKmhkdmFsdWVeMi1oZHZhbHVlLTEgKDwgMl4zMSkKICBmdW5jdGlvbiBhbTIoaSx4
LHcsaixjLG4pIHsKICAgIHZhciB4bCA9IHgmMHg3ZmZmLCB4aCA9IHg+PjE1OwogICAgd2hpbGUo
LS1uID49IDApIHsKICAgICAgdmFyIGwgPSB0aGlzW2ldJjB4N2ZmZjsKICAgICAgdmFyIGggPSB0
aGlzW2krK10+PjE1OwogICAgICB2YXIgbSA9IHhoKmwraCp4bDsKICAgICAgbCA9IHhsKmwrKCht
JjB4N2ZmZik8PDE1KSt3W2pdKyhjJjB4M2ZmZmZmZmYpOwogICAgICBjID0gKGw+Pj4zMCkrKG0+
Pj4xNSkreGgqaCsoYz4+PjMwKTsKICAgICAgd1tqKytdID0gbCYweDNmZmZmZmZmOwogICAgfQog
ICAgcmV0dXJuIGM7CiAgfQogIC8vIEFsdGVybmF0ZWx5LCBzZXQgbWF4IGRpZ2l0IGJpdHMgdG8g
Mjggc2luY2Ugc29tZQogIC8vIGJyb3dzZXJzIHNsb3cgZG93biB3aGVuIGRlYWxpbmcgd2l0aCAz
Mi1iaXQgbnVtYmVycy4KICBmdW5jdGlvbiBhbTMoaSx4LHcsaixjLG4pIHsKICAgIHZhciB4bCA9
IHgmMHgzZmZmLCB4aCA9IHg+PjE0OwogICAgd2hpbGUoLS1uID49IDApIHsKICAgICAgdmFyIGwg
PSB0aGlzW2ldJjB4M2ZmZjsKICAgICAgdmFyIGggPSB0aGlzW2krK10+PjE0OwogICAgICB2YXIg
bSA9IHhoKmwraCp4bDsKICAgICAgbCA9IHhsKmwrKChtJjB4M2ZmZik8PDE0KSt3W2pdK2M7CiAg
ICAgIGMgPSAobD4+MjgpKyhtPj4xNCkreGgqaDsKICAgICAgd1tqKytdID0gbCYweGZmZmZmZmY7
CiAgICB9CiAgICByZXR1cm4gYzsKICB9CiAgaWYoal9sbSAmJiAobmF2aWdhdG9yLmFwcE5hbWUg
PT0gIk1pY3Jvc29mdCBJbnRlcm5ldCBFeHBsb3JlciIpKSB7CiAgICBCaWdJbnRlZ2VyLnByb3Rv
dHlwZS5hbSA9IGFtMjsKICAgIGRiaXRzID0gMzA7CiAgfQogIGVsc2UgaWYoal9sbSAmJiAobmF2
aWdhdG9yLmFwcE5hbWUgIT0gIk5ldHNjYXBlIikpIHsKICAgIEJpZ0ludGVnZXIucHJvdG90eXBl
LmFtID0gYW0xOwogICAgZGJpdHMgPSAyNjsKICB9CiAgZWxzZSB7IC8vIE1vemlsbGEvTmV0c2Nh
cGUgc2VlbXMgdG8gcHJlZmVyIGFtMwogICAgQmlnSW50ZWdlci5wcm90b3R5cGUuYW0gPSBhbTM7
CiAgICBkYml0cyA9IDI4OwogIH0KCiAgQmlnSW50ZWdlci5wcm90b3R5cGUuREIgPSBkYml0czsK
ICBCaWdJbnRlZ2VyLnByb3RvdHlwZS5ETSA9ICgoMTw8ZGJpdHMpLTEpOwogIEJpZ0ludGVnZXIu
cHJvdG90eXBlLkRWID0gKDE8PGRiaXRzKTsKCiAgdmFyIEJJX0ZQID0gNTI7CiAgQmlnSW50ZWdl
ci5wcm90b3R5cGUuRlYgPSBNYXRoLnBvdygyLEJJX0ZQKTsKICBCaWdJbnRlZ2VyLnByb3RvdHlw
ZS5GMSA9IEJJX0ZQLWRiaXRzOwogIEJpZ0ludGVnZXIucHJvdG90eXBlLkYyID0gMipkYml0cy1C
SV9GUDsKCiAgLy8gRGlnaXQgY29udmVyc2lvbnMKICB2YXIgQklfUk0gPSAiMDEyMzQ1Njc4OWFi
Y2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6IjsKICB2YXIgQklfUkMgPSBuZXcgQXJyYXkoKTsKICB2
YXIgcnIsdnY7CiAgcnIgPSAiMCIuY2hhckNvZGVBdCgwKTsKICBmb3IodnYgPSAwOyB2diA8PSA5
OyArK3Z2KSBCSV9SQ1tycisrXSA9IHZ2OwogIHJyID0gImEiLmNoYXJDb2RlQXQoMCk7CiAgZm9y
KHZ2ID0gMTA7IHZ2IDwgMzY7ICsrdnYpIEJJX1JDW3JyKytdID0gdnY7CiAgcnIgPSAiQSIuY2hh
ckNvZGVBdCgwKTsKICBmb3IodnYgPSAxMDsgdnYgPCAzNjsgKyt2dikgQklfUkNbcnIrK10gPSB2
djsKCiAgZnVuY3Rpb24gaW50MmNoYXIobikgeyByZXR1cm4gQklfUk0uY2hhckF0KG4pOyB9CiAg
ZnVuY3Rpb24gaW50QXQocyxpKSB7CiAgICB2YXIgYyA9IEJJX1JDW3MuY2hhckNvZGVBdChpKV07
CiAgICByZXR1cm4gKGM9PW51bGwpPy0xOmM7CiAgfQoKICAvLyAocHJvdGVjdGVkKSBjb3B5IHRo
aXMgdG8gcgogIGZ1bmN0aW9uIGJucENvcHlUbyhyKSB7CiAgICBmb3IodmFyIGkgPSB0aGlzLnQt
MTsgaSA+PSAwOyAtLWkpIHJbaV0gPSB0aGlzW2ldOwogICAgci50ID0gdGhpcy50OwogICAgci5z
ID0gdGhpcy5zOwogIH0KCiAgLy8gKHByb3RlY3RlZCkgc2V0IGZyb20gaW50ZWdlciB2YWx1ZSB4
LCAtRFYgPD0geCA8IERWCiAgZnVuY3Rpb24gYm5wRnJvbUludCh4KSB7CiAgICB0aGlzLnQgPSAx
OwogICAgdGhpcy5zID0gKHg8MCk/LTE6MDsKICAgIGlmKHggPiAwKSB0aGlzWzBdID0geDsKICAg
IGVsc2UgaWYoeCA8IC0xKSB0aGlzWzBdID0geCtEVjsKICAgIGVsc2UgdGhpcy50ID0gMDsKICB9
CgogIC8vIHJldHVybiBiaWdpbnQgaW5pdGlhbGl6ZWQgdG8gdmFsdWUKICBmdW5jdGlvbiBuYnYo
aSkgeyB2YXIgciA9IG5iaSgpOyByLmZyb21JbnQoaSk7IHJldHVybiByOyB9CgogIC8vIChwcm90
ZWN0ZWQpIHNldCBmcm9tIHN0cmluZyBhbmQgcmFkaXgKICBmdW5jdGlvbiBibnBGcm9tU3RyaW5n
KHMsYikgewogICAgdmFyIGs7CiAgICBpZihiID09IDE2KSBrID0gNDsKICAgIGVsc2UgaWYoYiA9
PSA4KSBrID0gMzsKICAgIGVsc2UgaWYoYiA9PSAyNTYpIGsgPSA4OyAvLyBieXRlIGFycmF5CiAg
ICBlbHNlIGlmKGIgPT0gMikgayA9IDE7CiAgICBlbHNlIGlmKGIgPT0gMzIpIGsgPSA1OwogICAg
ZWxzZSBpZihiID09IDQpIGsgPSAyOwogICAgZWxzZSB7IHRoaXMuZnJvbVJhZGl4KHMsYik7IHJl
dHVybjsgfQogICAgdGhpcy50ID0gMDsKICAgIHRoaXMucyA9IDA7CiAgICB2YXIgaSA9IHMubGVu
Z3RoLCBtaSA9IGZhbHNlLCBzaCA9IDA7CiAgICB3aGlsZSgtLWkgPj0gMCkgewogICAgICB2YXIg
eCA9IChrPT04KT9zW2ldJjB4ZmY6aW50QXQocyxpKTsKICAgICAgaWYoeCA8IDApIHsKICAgICAg
ICBpZihzLmNoYXJBdChpKSA9PSAiLSIpIG1pID0gdHJ1ZTsKICAgICAgICBjb250aW51ZTsKICAg
ICAgfQogICAgICBtaSA9IGZhbHNlOwogICAgICBpZihzaCA9PSAwKQogICAgICAgIHRoaXNbdGhp
cy50KytdID0geDsKICAgICAgZWxzZSBpZihzaCtrID4gdGhpcy5EQikgewogICAgICAgIHRoaXNb
dGhpcy50LTFdIHw9ICh4JigoMTw8KHRoaXMuREItc2gpKS0xKSk8PHNoOwogICAgICAgIHRoaXNb
dGhpcy50KytdID0gKHg+Pih0aGlzLkRCLXNoKSk7CiAgICAgIH0KICAgICAgZWxzZQogICAgICAg
IHRoaXNbdGhpcy50LTFdIHw9IHg8PHNoOwogICAgICBzaCArPSBrOwogICAgICBpZihzaCA+PSB0
aGlzLkRCKSBzaCAtPSB0aGlzLkRCOwogICAgfQogICAgaWYoayA9PSA4ICYmIChzWzBdJjB4ODAp
ICE9IDApIHsKICAgICAgdGhpcy5zID0gLTE7CiAgICAgIGlmKHNoID4gMCkgdGhpc1t0aGlzLnQt
MV0gfD0gKCgxPDwodGhpcy5EQi1zaCkpLTEpPDxzaDsKICAgIH0KICAgIHRoaXMuY2xhbXAoKTsK
ICAgIGlmKG1pKSBCaWdJbnRlZ2VyLlpFUk8uc3ViVG8odGhpcyx0aGlzKTsKICB9CgogIC8vIChw
cm90ZWN0ZWQpIGNsYW1wIG9mZiBleGNlc3MgaGlnaCB3b3JkcwogIGZ1bmN0aW9uIGJucENsYW1w
KCkgewogICAgdmFyIGMgPSB0aGlzLnMmdGhpcy5ETTsKICAgIHdoaWxlKHRoaXMudCA+IDAgJiYg
dGhpc1t0aGlzLnQtMV0gPT0gYykgLS10aGlzLnQ7CiAgfQoKICAvLyAocHVibGljKSByZXR1cm4g
c3RyaW5nIHJlcHJlc2VudGF0aW9uIGluIGdpdmVuIHJhZGl4CiAgZnVuY3Rpb24gYm5Ub1N0cmlu
ZyhiKSB7CiAgICBpZih0aGlzLnMgPCAwKSByZXR1cm4gIi0iK3RoaXMubmVnYXRlKCkudG9TdHJp
bmcoYik7CiAgICB2YXIgazsKICAgIGlmKGIgPT0gMTYpIGsgPSA0OwogICAgZWxzZSBpZihiID09
IDgpIGsgPSAzOwogICAgZWxzZSBpZihiID09IDIpIGsgPSAxOwogICAgZWxzZSBpZihiID09IDMy
KSBrID0gNTsKICAgIGVsc2UgaWYoYiA9PSA0KSBrID0gMjsKICAgIGVsc2UgcmV0dXJuIHRoaXMu
dG9SYWRpeChiKTsKICAgIHZhciBrbSA9ICgxPDxrKS0xLCBkLCBtID0gZmFsc2UsIHIgPSAiIiwg
aSA9IHRoaXMudDsKICAgIHZhciBwID0gdGhpcy5EQi0oaSp0aGlzLkRCKSVrOwogICAgaWYoaS0t
ID4gMCkgewogICAgICBpZihwIDwgdGhpcy5EQiAmJiAoZCA9IHRoaXNbaV0+PnApID4gMCkgeyBt
ID0gdHJ1ZTsgciA9IGludDJjaGFyKGQpOyB9CiAgICAgIHdoaWxlKGkgPj0gMCkgewogICAgICAg
IGlmKHAgPCBrKSB7CiAgICAgICAgICBkID0gKHRoaXNbaV0mKCgxPDxwKS0xKSk8PChrLXApOwog
ICAgICAgICAgZCB8PSB0aGlzWy0taV0+PihwKz10aGlzLkRCLWspOwogICAgICAgIH0KICAgICAg
ICBlbHNlIHsKICAgICAgICAgIGQgPSAodGhpc1tpXT4+KHAtPWspKSZrbTsKICAgICAgICAgIGlm
KHAgPD0gMCkgeyBwICs9IHRoaXMuREI7IC0taTsgfQogICAgICAgIH0KICAgICAgICBpZihkID4g
MCkgbSA9IHRydWU7CiAgICAgICAgaWYobSkgciArPSBpbnQyY2hhcihkKTsKICAgICAgfQogICAg
fQogICAgcmV0dXJuIG0/cjoiMCI7CiAgfQoKICAvLyAocHVibGljKSAtdGhpcwogIGZ1bmN0aW9u
IGJuTmVnYXRlKCkgeyB2YXIgciA9IG5iaSgpOyBCaWdJbnRlZ2VyLlpFUk8uc3ViVG8odGhpcyxy
KTsgcmV0dXJuIHI7IH0KCiAgLy8gKHB1YmxpYykgfHRoaXN8CiAgZnVuY3Rpb24gYm5BYnMoKSB7
IHJldHVybiAodGhpcy5zPDApP3RoaXMubmVnYXRlKCk6dGhpczsgfQoKICAvLyAocHVibGljKSBy
ZXR1cm4gKyBpZiB0aGlzID4gYSwgLSBpZiB0aGlzIDwgYSwgMCBpZiBlcXVhbAogIGZ1bmN0aW9u
IGJuQ29tcGFyZVRvKGEpIHsKICAgIHZhciByID0gdGhpcy5zLWEuczsKICAgIGlmKHIgIT0gMCkg
cmV0dXJuIHI7CiAgICB2YXIgaSA9IHRoaXMudDsKICAgIHIgPSBpLWEudDsKICAgIGlmKHIgIT0g
MCkgcmV0dXJuICh0aGlzLnM8MCk/LXI6cjsKICAgIHdoaWxlKC0taSA+PSAwKSBpZigocj10aGlz
W2ldLWFbaV0pICE9IDApIHJldHVybiByOwogICAgcmV0dXJuIDA7CiAgfQoKICAvLyByZXR1cm5z
IGJpdCBsZW5ndGggb2YgdGhlIGludGVnZXIgeAogIGZ1bmN0aW9uIG5iaXRzKHgpIHsKICAgIHZh
ciByID0gMSwgdDsKICAgIGlmKCh0PXg+Pj4xNikgIT0gMCkgeyB4ID0gdDsgciArPSAxNjsgfQog
ICAgaWYoKHQ9eD4+OCkgIT0gMCkgeyB4ID0gdDsgciArPSA4OyB9CiAgICBpZigodD14Pj40KSAh
PSAwKSB7IHggPSB0OyByICs9IDQ7IH0KICAgIGlmKCh0PXg+PjIpICE9IDApIHsgeCA9IHQ7IHIg
Kz0gMjsgfQogICAgaWYoKHQ9eD4+MSkgIT0gMCkgeyB4ID0gdDsgciArPSAxOyB9CiAgICByZXR1
cm4gcjsKICB9CgogIC8vIChwdWJsaWMpIHJldHVybiB0aGUgbnVtYmVyIG9mIGJpdHMgaW4gInRo
aXMiCiAgZnVuY3Rpb24gYm5CaXRMZW5ndGgoKSB7CiAgICBpZih0aGlzLnQgPD0gMCkgcmV0dXJu
IDA7CiAgICByZXR1cm4gdGhpcy5EQioodGhpcy50LTEpK25iaXRzKHRoaXNbdGhpcy50LTFdXih0
aGlzLnMmdGhpcy5ETSkpOwogIH0KCiAgLy8gKHByb3RlY3RlZCkgciA9IHRoaXMgPDwgbipEQgog
IGZ1bmN0aW9uIGJucERMU2hpZnRUbyhuLHIpIHsKICAgIHZhciBpOwogICAgZm9yKGkgPSB0aGlz
LnQtMTsgaSA+PSAwOyAtLWkpIHJbaStuXSA9IHRoaXNbaV07CiAgICBmb3IoaSA9IG4tMTsgaSA+
PSAwOyAtLWkpIHJbaV0gPSAwOwogICAgci50ID0gdGhpcy50K247CiAgICByLnMgPSB0aGlzLnM7
CiAgfQoKICAvLyAocHJvdGVjdGVkKSByID0gdGhpcyA+PiBuKkRCCiAgZnVuY3Rpb24gYm5wRFJT
aGlmdFRvKG4scikgewogICAgZm9yKHZhciBpID0gbjsgaSA8IHRoaXMudDsgKytpKSByW2ktbl0g
PSB0aGlzW2ldOwogICAgci50ID0gTWF0aC5tYXgodGhpcy50LW4sMCk7CiAgICByLnMgPSB0aGlz
LnM7CiAgfQoKICAvLyAocHJvdGVjdGVkKSByID0gdGhpcyA8PCBuCiAgZnVuY3Rpb24gYm5wTFNo
aWZ0VG8obixyKSB7CiAgICB2YXIgYnMgPSBuJXRoaXMuREI7CiAgICB2YXIgY2JzID0gdGhpcy5E
Qi1iczsKICAgIHZhciBibSA9ICgxPDxjYnMpLTE7CiAgICB2YXIgZHMgPSBNYXRoLmZsb29yKG4v
dGhpcy5EQiksIGMgPSAodGhpcy5zPDxicykmdGhpcy5ETSwgaTsKICAgIGZvcihpID0gdGhpcy50
LTE7IGkgPj0gMDsgLS1pKSB7CiAgICAgIHJbaStkcysxXSA9ICh0aGlzW2ldPj5jYnMpfGM7CiAg
ICAgIGMgPSAodGhpc1tpXSZibSk8PGJzOwogICAgfQogICAgZm9yKGkgPSBkcy0xOyBpID49IDA7
IC0taSkgcltpXSA9IDA7CiAgICByW2RzXSA9IGM7CiAgICByLnQgPSB0aGlzLnQrZHMrMTsKICAg
IHIucyA9IHRoaXMuczsKICAgIHIuY2xhbXAoKTsKICB9CgogIC8vIChwcm90ZWN0ZWQpIHIgPSB0
aGlzID4+IG4KICBmdW5jdGlvbiBibnBSU2hpZnRUbyhuLHIpIHsKICAgIHIucyA9IHRoaXMuczsK
ICAgIHZhciBkcyA9IE1hdGguZmxvb3Iobi90aGlzLkRCKTsKICAgIGlmKGRzID49IHRoaXMudCkg
eyByLnQgPSAwOyByZXR1cm47IH0KICAgIHZhciBicyA9IG4ldGhpcy5EQjsKICAgIHZhciBjYnMg
PSB0aGlzLkRCLWJzOwogICAgdmFyIGJtID0gKDE8PGJzKS0xOwogICAgclswXSA9IHRoaXNbZHNd
Pj5iczsKICAgIGZvcih2YXIgaSA9IGRzKzE7IGkgPCB0aGlzLnQ7ICsraSkgewogICAgICByW2kt
ZHMtMV0gfD0gKHRoaXNbaV0mYm0pPDxjYnM7CiAgICAgIHJbaS1kc10gPSB0aGlzW2ldPj5iczsK
ICAgIH0KICAgIGlmKGJzID4gMCkgclt0aGlzLnQtZHMtMV0gfD0gKHRoaXMucyZibSk8PGNiczsK
ICAgIHIudCA9IHRoaXMudC1kczsKICAgIHIuY2xhbXAoKTsKICB9CgogIC8vIChwcm90ZWN0ZWQp
IHIgPSB0aGlzIC0gYQogIGZ1bmN0aW9uIGJucFN1YlRvKGEscikgewogICAgdmFyIGkgPSAwLCBj
ID0gMCwgbSA9IE1hdGgubWluKGEudCx0aGlzLnQpOwogICAgd2hpbGUoaSA8IG0pIHsKICAgICAg
YyArPSB0aGlzW2ldLWFbaV07CiAgICAgIHJbaSsrXSA9IGMmdGhpcy5ETTsKICAgICAgYyA+Pj0g
dGhpcy5EQjsKICAgIH0KICAgIGlmKGEudCA8IHRoaXMudCkgewogICAgICBjIC09IGEuczsKICAg
ICAgd2hpbGUoaSA8IHRoaXMudCkgewogICAgICAgIGMgKz0gdGhpc1tpXTsKICAgICAgICByW2kr
K10gPSBjJnRoaXMuRE07CiAgICAgICAgYyA+Pj0gdGhpcy5EQjsKICAgICAgfQogICAgICBjICs9
IHRoaXMuczsKICAgIH0KICAgIGVsc2UgewogICAgICBjICs9IHRoaXMuczsKICAgICAgd2hpbGUo
aSA8IGEudCkgewogICAgICAgIGMgLT0gYVtpXTsKICAgICAgICByW2krK10gPSBjJnRoaXMuRE07
CiAgICAgICAgYyA+Pj0gdGhpcy5EQjsKICAgICAgfQogICAgICBjIC09IGEuczsKICAgIH0KICAg
IHIucyA9IChjPDApPy0xOjA7CiAgICBpZihjIDwgLTEpIHJbaSsrXSA9IHRoaXMuRFYrYzsKICAg
IGVsc2UgaWYoYyA+IDApIHJbaSsrXSA9IGM7CiAgICByLnQgPSBpOwogICAgci5jbGFtcCgpOwog
IH0KCiAgLy8gKHByb3RlY3RlZCkgciA9IHRoaXMgKiBhLCByICE9IHRoaXMsYSAoSEFDIDE0LjEy
KQogIC8vICJ0aGlzIiBzaG91bGQgYmUgdGhlIGxhcmdlciBvbmUgaWYgYXBwcm9wcmlhdGUuCiAg
ZnVuY3Rpb24gYm5wTXVsdGlwbHlUbyhhLHIpIHsKICAgIHZhciB4ID0gdGhpcy5hYnMoKSwgeSA9
IGEuYWJzKCk7CiAgICB2YXIgaSA9IHgudDsKICAgIHIudCA9IGkreS50OwogICAgd2hpbGUoLS1p
ID49IDApIHJbaV0gPSAwOwogICAgZm9yKGkgPSAwOyBpIDwgeS50OyArK2kpIHJbaSt4LnRdID0g
eC5hbSgwLHlbaV0scixpLDAseC50KTsKICAgIHIucyA9IDA7CiAgICByLmNsYW1wKCk7CiAgICBp
Zih0aGlzLnMgIT0gYS5zKSBCaWdJbnRlZ2VyLlpFUk8uc3ViVG8ocixyKTsKICB9CgogIC8vIChw
cm90ZWN0ZWQpIHIgPSB0aGlzXjIsIHIgIT0gdGhpcyAoSEFDIDE0LjE2KQogIGZ1bmN0aW9uIGJu
cFNxdWFyZVRvKHIpIHsKICAgIHZhciB4ID0gdGhpcy5hYnMoKTsKICAgIHZhciBpID0gci50ID0g
Mip4LnQ7CiAgICB3aGlsZSgtLWkgPj0gMCkgcltpXSA9IDA7CiAgICBmb3IoaSA9IDA7IGkgPCB4
LnQtMTsgKytpKSB7CiAgICAgIHZhciBjID0geC5hbShpLHhbaV0sciwyKmksMCwxKTsKICAgICAg
aWYoKHJbaSt4LnRdKz14LmFtKGkrMSwyKnhbaV0sciwyKmkrMSxjLHgudC1pLTEpKSA+PSB4LkRW
KSB7CiAgICAgICAgcltpK3gudF0gLT0geC5EVjsKICAgICAgICByW2kreC50KzFdID0gMTsKICAg
ICAgfQogICAgfQogICAgaWYoci50ID4gMCkgcltyLnQtMV0gKz0geC5hbShpLHhbaV0sciwyKmks
MCwxKTsKICAgIHIucyA9IDA7CiAgICByLmNsYW1wKCk7CiAgfQoKICAvLyAocHJvdGVjdGVkKSBk
aXZpZGUgdGhpcyBieSBtLCBxdW90aWVudCBhbmQgcmVtYWluZGVyIHRvIHEsIHIgKEhBQyAxNC4y
MCkKICAvLyByICE9IHEsIHRoaXMgIT0gbS4gIHEgb3IgciBtYXkgYmUgbnVsbC4KICBmdW5jdGlv
biBibnBEaXZSZW1UbyhtLHEscikgewogICAgdmFyIHBtID0gbS5hYnMoKTsKICAgIGlmKHBtLnQg
PD0gMCkgcmV0dXJuOwogICAgdmFyIHB0ID0gdGhpcy5hYnMoKTsKICAgIGlmKHB0LnQgPCBwbS50
KSB7CiAgICAgIGlmKHEgIT0gbnVsbCkgcS5mcm9tSW50KDApOwogICAgICBpZihyICE9IG51bGwp
IHRoaXMuY29weVRvKHIpOwogICAgICByZXR1cm47CiAgICB9CiAgICBpZihyID09IG51bGwpIHIg
PSBuYmkoKTsKICAgIHZhciB5ID0gbmJpKCksIHRzID0gdGhpcy5zLCBtcyA9IG0uczsKICAgIHZh
ciBuc2ggPSB0aGlzLkRCLW5iaXRzKHBtW3BtLnQtMV0pOwkvLyBub3JtYWxpemUgbW9kdWx1cwog
ICAgaWYobnNoID4gMCkgeyBwbS5sU2hpZnRUbyhuc2gseSk7IHB0LmxTaGlmdFRvKG5zaCxyKTsg
fQogICAgZWxzZSB7IHBtLmNvcHlUbyh5KTsgcHQuY29weVRvKHIpOyB9CiAgICB2YXIgeXMgPSB5
LnQ7CiAgICB2YXIgeTAgPSB5W3lzLTFdOwogICAgaWYoeTAgPT0gMCkgcmV0dXJuOwogICAgdmFy
IHl0ID0geTAqKDE8PHRoaXMuRjEpKygoeXM+MSk/eVt5cy0yXT4+dGhpcy5GMjowKTsKICAgIHZh
ciBkMSA9IHRoaXMuRlYveXQsIGQyID0gKDE8PHRoaXMuRjEpL3l0LCBlID0gMTw8dGhpcy5GMjsK
ICAgIHZhciBpID0gci50LCBqID0gaS15cywgdCA9IChxPT1udWxsKT9uYmkoKTpxOwogICAgeS5k
bFNoaWZ0VG8oaix0KTsKICAgIGlmKHIuY29tcGFyZVRvKHQpID49IDApIHsKICAgICAgcltyLnQr
K10gPSAxOwogICAgICByLnN1YlRvKHQscik7CiAgICB9CiAgICBCaWdJbnRlZ2VyLk9ORS5kbFNo
aWZ0VG8oeXMsdCk7CiAgICB0LnN1YlRvKHkseSk7CS8vICJuZWdhdGl2ZSIgeSBzbyB3ZSBjYW4g
cmVwbGFjZSBzdWIgd2l0aCBhbSBsYXRlcgogICAgd2hpbGUoeS50IDwgeXMpIHlbeS50KytdID0g
MDsKICAgIHdoaWxlKC0taiA+PSAwKSB7CiAgICAgIC8vIEVzdGltYXRlIHF1b3RpZW50IGRpZ2l0
CiAgICAgIHZhciBxZCA9IChyWy0taV09PXkwKT90aGlzLkRNOk1hdGguZmxvb3IocltpXSpkMSso
cltpLTFdK2UpKmQyKTsKICAgICAgaWYoKHJbaV0rPXkuYW0oMCxxZCxyLGosMCx5cykpIDwgcWQp
IHsJLy8gVHJ5IGl0IG91dAogICAgICAgIHkuZGxTaGlmdFRvKGosdCk7CiAgICAgICAgci5zdWJU
byh0LHIpOwogICAgICAgIHdoaWxlKHJbaV0gPCAtLXFkKSByLnN1YlRvKHQscik7CiAgICAgIH0K
ICAgIH0KICAgIGlmKHEgIT0gbnVsbCkgewogICAgICByLmRyU2hpZnRUbyh5cyxxKTsKICAgICAg
aWYodHMgIT0gbXMpIEJpZ0ludGVnZXIuWkVSTy5zdWJUbyhxLHEpOwogICAgfQogICAgci50ID0g
eXM7CiAgICByLmNsYW1wKCk7CiAgICBpZihuc2ggPiAwKSByLnJTaGlmdFRvKG5zaCxyKTsJLy8g
RGVub3JtYWxpemUgcmVtYWluZGVyCiAgICBpZih0cyA8IDApIEJpZ0ludGVnZXIuWkVSTy5zdWJU
byhyLHIpOwogIH0KCiAgLy8gKHB1YmxpYykgdGhpcyBtb2QgYQogIGZ1bmN0aW9uIGJuTW9kKGEp
IHsKICAgIHZhciByID0gbmJpKCk7CiAgICB0aGlzLmFicygpLmRpdlJlbVRvKGEsbnVsbCxyKTsK
ICAgIGlmKHRoaXMucyA8IDAgJiYgci5jb21wYXJlVG8oQmlnSW50ZWdlci5aRVJPKSA+IDApIGEu
c3ViVG8ocixyKTsKICAgIHJldHVybiByOwogIH0KCiAgLy8gTW9kdWxhciByZWR1Y3Rpb24gdXNp
bmcgImNsYXNzaWMiIGFsZ29yaXRobQogIGZ1bmN0aW9uIENsYXNzaWMobSkgeyB0aGlzLm0gPSBt
OyB9CiAgZnVuY3Rpb24gY0NvbnZlcnQoeCkgewogICAgaWYoeC5zIDwgMCB8fCB4LmNvbXBhcmVU
byh0aGlzLm0pID49IDApIHJldHVybiB4Lm1vZCh0aGlzLm0pOwogICAgZWxzZSByZXR1cm4geDsK
ICB9CiAgZnVuY3Rpb24gY1JldmVydCh4KSB7IHJldHVybiB4OyB9CiAgZnVuY3Rpb24gY1JlZHVj
ZSh4KSB7IHguZGl2UmVtVG8odGhpcy5tLG51bGwseCk7IH0KICBmdW5jdGlvbiBjTXVsVG8oeCx5
LHIpIHsgeC5tdWx0aXBseVRvKHkscik7IHRoaXMucmVkdWNlKHIpOyB9CiAgZnVuY3Rpb24gY1Nx
clRvKHgscikgeyB4LnNxdWFyZVRvKHIpOyB0aGlzLnJlZHVjZShyKTsgfQoKICBDbGFzc2ljLnBy
b3RvdHlwZS5jb252ZXJ0ID0gY0NvbnZlcnQ7CiAgQ2xhc3NpYy5wcm90b3R5cGUucmV2ZXJ0ID0g
Y1JldmVydDsKICBDbGFzc2ljLnByb3RvdHlwZS5yZWR1Y2UgPSBjUmVkdWNlOwogIENsYXNzaWMu
cHJvdG90eXBlLm11bFRvID0gY011bFRvOwogIENsYXNzaWMucHJvdG90eXBlLnNxclRvID0gY1Nx
clRvOwoKICAvLyAocHJvdGVjdGVkKSByZXR1cm4gIi0xL3RoaXMgJSAyXkRCIjsgdXNlZnVsIGZv
ciBNb250LiByZWR1Y3Rpb24KICAvLyBqdXN0aWZpY2F0aW9uOgogIC8vICAgICAgICAgeHkgPT0g
MSAobW9kIG0pCiAgLy8gICAgICAgICB4eSA9ICAxK2ttCiAgLy8gICB4eSgyLXh5KSA9ICgxK2tt
KSgxLWttKQogIC8vIHhbeSgyLXh5KV0gPSAxLWteMm1eMgogIC8vIHhbeSgyLXh5KV0gPT0gMSAo
bW9kIG1eMikKICAvLyBpZiB5IGlzIDEveCBtb2QgbSwgdGhlbiB5KDIteHkpIGlzIDEveCBtb2Qg
bV4yCiAgLy8gc2hvdWxkIHJlZHVjZSB4IGFuZCB5KDIteHkpIGJ5IG1eMiBhdCBlYWNoIHN0ZXAg
dG8ga2VlcCBzaXplIGJvdW5kZWQuCiAgLy8gSlMgbXVsdGlwbHkgIm92ZXJmbG93cyIgZGlmZmVy
ZW50bHkgZnJvbSBDL0MrKywgc28gY2FyZSBpcyBuZWVkZWQgaGVyZS4KICBmdW5jdGlvbiBibnBJ
bnZEaWdpdCgpIHsKICAgIGlmKHRoaXMudCA8IDEpIHJldHVybiAwOwogICAgdmFyIHggPSB0aGlz
WzBdOwogICAgaWYoKHgmMSkgPT0gMCkgcmV0dXJuIDA7CiAgICB2YXIgeSA9IHgmMzsJCS8vIHkg
PT0gMS94IG1vZCAyXjIKICAgIHkgPSAoeSooMi0oeCYweGYpKnkpKSYweGY7CS8vIHkgPT0gMS94
IG1vZCAyXjQKICAgIHkgPSAoeSooMi0oeCYweGZmKSp5KSkmMHhmZjsJLy8geSA9PSAxL3ggbW9k
IDJeOAogICAgeSA9ICh5KigyLSgoKHgmMHhmZmZmKSp5KSYweGZmZmYpKSkmMHhmZmZmOwkvLyB5
ID09IDEveCBtb2QgMl4xNgogICAgLy8gbGFzdCBzdGVwIC0gY2FsY3VsYXRlIGludmVyc2UgbW9k
IERWIGRpcmVjdGx5OwogICAgLy8gYXNzdW1lcyAxNiA8IERCIDw9IDMyIGFuZCBhc3N1bWVzIGFi
aWxpdHkgdG8gaGFuZGxlIDQ4LWJpdCBpbnRzCiAgICB5ID0gKHkqKDIteCp5JXRoaXMuRFYpKSV0
aGlzLkRWOwkJLy8geSA9PSAxL3ggbW9kIDJeZGJpdHMKICAgIC8vIHdlIHJlYWxseSB3YW50IHRo
ZSBuZWdhdGl2ZSBpbnZlcnNlLCBhbmQgLURWIDwgeSA8IERWCiAgICByZXR1cm4gKHk+MCk/dGhp
cy5EVi15Oi15OwogIH0KCiAgLy8gTW9udGdvbWVyeSByZWR1Y3Rpb24KICBmdW5jdGlvbiBNb250
Z29tZXJ5KG0pIHsKICAgIHRoaXMubSA9IG07CiAgICB0aGlzLm1wID0gbS5pbnZEaWdpdCgpOwog
ICAgdGhpcy5tcGwgPSB0aGlzLm1wJjB4N2ZmZjsKICAgIHRoaXMubXBoID0gdGhpcy5tcD4+MTU7
CiAgICB0aGlzLnVtID0gKDE8PChtLkRCLTE1KSktMTsKICAgIHRoaXMubXQyID0gMiptLnQ7CiAg
fQoKICAvLyB4UiBtb2QgbQogIGZ1bmN0aW9uIG1vbnRDb252ZXJ0KHgpIHsKICAgIHZhciByID0g
bmJpKCk7CiAgICB4LmFicygpLmRsU2hpZnRUbyh0aGlzLm0udCxyKTsKICAgIHIuZGl2UmVtVG8o
dGhpcy5tLG51bGwscik7CiAgICBpZih4LnMgPCAwICYmIHIuY29tcGFyZVRvKEJpZ0ludGVnZXIu
WkVSTykgPiAwKSB0aGlzLm0uc3ViVG8ocixyKTsKICAgIHJldHVybiByOwogIH0KCiAgLy8geC9S
IG1vZCBtCiAgZnVuY3Rpb24gbW9udFJldmVydCh4KSB7CiAgICB2YXIgciA9IG5iaSgpOwogICAg
eC5jb3B5VG8ocik7CiAgICB0aGlzLnJlZHVjZShyKTsKICAgIHJldHVybiByOwogIH0KCiAgLy8g
eCA9IHgvUiBtb2QgbSAoSEFDIDE0LjMyKQogIGZ1bmN0aW9uIG1vbnRSZWR1Y2UoeCkgewogICAg
d2hpbGUoeC50IDw9IHRoaXMubXQyKQkvLyBwYWQgeCBzbyBhbSBoYXMgZW5vdWdoIHJvb20gbGF0
ZXIKICAgICAgeFt4LnQrK10gPSAwOwogICAgZm9yKHZhciBpID0gMDsgaSA8IHRoaXMubS50OyAr
K2kpIHsKICAgICAgLy8gZmFzdGVyIHdheSBvZiBjYWxjdWxhdGluZyB1MCA9IHhbaV0qbXAgbW9k
IERWCiAgICAgIHZhciBqID0geFtpXSYweDdmZmY7CiAgICAgIHZhciB1MCA9IChqKnRoaXMubXBs
KygoKGoqdGhpcy5tcGgrKHhbaV0+PjE1KSp0aGlzLm1wbCkmdGhpcy51bSk8PDE1KSkmeC5ETTsK
ICAgICAgLy8gdXNlIGFtIHRvIGNvbWJpbmUgdGhlIG11bHRpcGx5LXNoaWZ0LWFkZCBpbnRvIG9u
ZSBjYWxsCiAgICAgIGogPSBpK3RoaXMubS50OwogICAgICB4W2pdICs9IHRoaXMubS5hbSgwLHUw
LHgsaSwwLHRoaXMubS50KTsKICAgICAgLy8gcHJvcGFnYXRlIGNhcnJ5CiAgICAgIHdoaWxlKHhb
al0gPj0geC5EVikgeyB4W2pdIC09IHguRFY7IHhbKytqXSsrOyB9CiAgICB9CiAgICB4LmNsYW1w
KCk7CiAgICB4LmRyU2hpZnRUbyh0aGlzLm0udCx4KTsKICAgIGlmKHguY29tcGFyZVRvKHRoaXMu
bSkgPj0gMCkgeC5zdWJUbyh0aGlzLm0seCk7CiAgfQoKICAvLyByID0gInheMi9SIG1vZCBtIjsg
eCAhPSByCiAgZnVuY3Rpb24gbW9udFNxclRvKHgscikgeyB4LnNxdWFyZVRvKHIpOyB0aGlzLnJl
ZHVjZShyKTsgfQoKICAvLyByID0gInh5L1IgbW9kIG0iOyB4LHkgIT0gcgogIGZ1bmN0aW9uIG1v
bnRNdWxUbyh4LHkscikgeyB4Lm11bHRpcGx5VG8oeSxyKTsgdGhpcy5yZWR1Y2Uocik7IH0KCiAg
TW9udGdvbWVyeS5wcm90b3R5cGUuY29udmVydCA9IG1vbnRDb252ZXJ0OwogIE1vbnRnb21lcnku
cHJvdG90eXBlLnJldmVydCA9IG1vbnRSZXZlcnQ7CiAgTW9udGdvbWVyeS5wcm90b3R5cGUucmVk
dWNlID0gbW9udFJlZHVjZTsKICBNb250Z29tZXJ5LnByb3RvdHlwZS5tdWxUbyA9IG1vbnRNdWxU
bzsKICBNb250Z29tZXJ5LnByb3RvdHlwZS5zcXJUbyA9IG1vbnRTcXJUbzsKCiAgLy8gKHByb3Rl
Y3RlZCkgdHJ1ZSBpZmYgdGhpcyBpcyBldmVuCiAgZnVuY3Rpb24gYm5wSXNFdmVuKCkgeyByZXR1
cm4gKCh0aGlzLnQ+MCk/KHRoaXNbMF0mMSk6dGhpcy5zKSA9PSAwOyB9CgogIC8vIChwcm90ZWN0
ZWQpIHRoaXNeZSwgZSA8IDJeMzIsIGRvaW5nIHNxciBhbmQgbXVsIHdpdGggInIiIChIQUMgMTQu
NzkpCiAgZnVuY3Rpb24gYm5wRXhwKGUseikgewogICAgaWYoZSA+IDB4ZmZmZmZmZmYgfHwgZSA8
IDEpIHJldHVybiBCaWdJbnRlZ2VyLk9ORTsKICAgIHZhciByID0gbmJpKCksIHIyID0gbmJpKCks
IGcgPSB6LmNvbnZlcnQodGhpcyksIGkgPSBuYml0cyhlKS0xOwogICAgZy5jb3B5VG8ocik7CiAg
ICB3aGlsZSgtLWkgPj0gMCkgewogICAgICB6LnNxclRvKHIscjIpOwogICAgICBpZigoZSYoMTw8
aSkpID4gMCkgei5tdWxUbyhyMixnLHIpOwogICAgICBlbHNlIHsgdmFyIHQgPSByOyByID0gcjI7
IHIyID0gdDsgfQogICAgfQogICAgcmV0dXJuIHoucmV2ZXJ0KHIpOwogIH0KCiAgLy8gKHB1Ymxp
YykgdGhpc15lICUgbSwgMCA8PSBlIDwgMl4zMgogIGZ1bmN0aW9uIGJuTW9kUG93SW50KGUsbSkg
ewogICAgdmFyIHo7CiAgICBpZihlIDwgMjU2IHx8IG0uaXNFdmVuKCkpIHogPSBuZXcgQ2xhc3Np
YyhtKTsgZWxzZSB6ID0gbmV3IE1vbnRnb21lcnkobSk7CiAgICByZXR1cm4gdGhpcy5leHAoZSx6
KTsKICB9CgogIC8vIHByb3RlY3RlZAogIEJpZ0ludGVnZXIucHJvdG90eXBlLmNvcHlUbyA9IGJu
cENvcHlUbzsKICBCaWdJbnRlZ2VyLnByb3RvdHlwZS5mcm9tSW50ID0gYm5wRnJvbUludDsKICBC
aWdJbnRlZ2VyLnByb3RvdHlwZS5mcm9tU3RyaW5nID0gYm5wRnJvbVN0cmluZzsKICBCaWdJbnRl
Z2VyLnByb3RvdHlwZS5jbGFtcCA9IGJucENsYW1wOwogIEJpZ0ludGVnZXIucHJvdG90eXBlLmRs
U2hpZnRUbyA9IGJucERMU2hpZnRUbzsKICBCaWdJbnRlZ2VyLnByb3RvdHlwZS5kclNoaWZ0VG8g
PSBibnBEUlNoaWZ0VG87CiAgQmlnSW50ZWdlci5wcm90b3R5cGUubFNoaWZ0VG8gPSBibnBMU2hp
ZnRUbzsKICBCaWdJbnRlZ2VyLnByb3RvdHlwZS5yU2hpZnRUbyA9IGJucFJTaGlmdFRvOwogIEJp
Z0ludGVnZXIucHJvdG90eXBlLnN1YlRvID0gYm5wU3ViVG87CiAgQmlnSW50ZWdlci5wcm90b3R5
cGUubXVsdGlwbHlUbyA9IGJucE11bHRpcGx5VG87CiAgQmlnSW50ZWdlci5wcm90b3R5cGUuc3F1
YXJlVG8gPSBibnBTcXVhcmVUbzsKICBCaWdJbnRlZ2VyLnByb3RvdHlwZS5kaXZSZW1UbyA9IGJu
cERpdlJlbVRvOwogIEJpZ0ludGVnZXIucHJvdG90eXBlLmludkRpZ2l0ID0gYm5wSW52RGlnaXQ7
CiAgQmlnSW50ZWdlci5wcm90b3R5cGUuaXNFdmVuID0gYm5wSXNFdmVuOwogIEJpZ0ludGVnZXIu
cHJvdG90eXBlLmV4cCA9IGJucEV4cDsKCiAgLy8gcHVibGljCiAgQmlnSW50ZWdlci5wcm90b3R5
cGUudG9TdHJpbmcgPSBiblRvU3RyaW5nOwogIEJpZ0ludGVnZXIucHJvdG90eXBlLm5lZ2F0ZSA9
IGJuTmVnYXRlOwogIEJpZ0ludGVnZXIucHJvdG90eXBlLmFicyA9IGJuQWJzOwogIEJpZ0ludGVn
ZXIucHJvdG90eXBlLmNvbXBhcmVUbyA9IGJuQ29tcGFyZVRvOwogIEJpZ0ludGVnZXIucHJvdG90
eXBlLmJpdExlbmd0aCA9IGJuQml0TGVuZ3RoOwogIEJpZ0ludGVnZXIucHJvdG90eXBlLm1vZCA9
IGJuTW9kOwogIEJpZ0ludGVnZXIucHJvdG90eXBlLm1vZFBvd0ludCA9IGJuTW9kUG93SW50OwoK
ICAvLyAiY29uc3RhbnRzIgogIEJpZ0ludGVnZXIuWkVSTyA9IG5idigwKTsKICBCaWdJbnRlZ2Vy
Lk9ORSA9IG5idigxKTsKCiAgLy8ganNibjIgc3R1ZmYKCiAgLy8gKHByb3RlY3RlZCkgY29udmVy
dCBmcm9tIHJhZGl4IHN0cmluZwogIGZ1bmN0aW9uIGJucEZyb21SYWRpeChzLGIpIHsKICAgIHRo
aXMuZnJvbUludCgwKTsKICAgIGlmKGIgPT0gbnVsbCkgYiA9IDEwOwogICAgdmFyIGNzID0gdGhp
cy5jaHVua1NpemUoYik7CiAgICB2YXIgZCA9IE1hdGgucG93KGIsY3MpLCBtaSA9IGZhbHNlLCBq
ID0gMCwgdyA9IDA7CiAgICBmb3IodmFyIGkgPSAwOyBpIDwgcy5sZW5ndGg7ICsraSkgewogICAg
ICB2YXIgeCA9IGludEF0KHMsaSk7CiAgICAgIGlmKHggPCAwKSB7CiAgICAgICAgaWYocy5jaGFy
QXQoaSkgPT0gIi0iICYmIHRoaXMuc2lnbnVtKCkgPT0gMCkgbWkgPSB0cnVlOwogICAgICAgIGNv
bnRpbnVlOwogICAgICB9CiAgICAgIHcgPSBiKncreDsKICAgICAgaWYoKytqID49IGNzKSB7CiAg
ICAgICAgdGhpcy5kTXVsdGlwbHkoZCk7CiAgICAgICAgdGhpcy5kQWRkT2Zmc2V0KHcsMCk7CiAg
ICAgICAgaiA9IDA7CiAgICAgICAgdyA9IDA7CiAgICAgIH0KICAgIH0KICAgIGlmKGogPiAwKSB7
CiAgICAgIHRoaXMuZE11bHRpcGx5KE1hdGgucG93KGIsaikpOwogICAgICB0aGlzLmRBZGRPZmZz
ZXQodywwKTsKICAgIH0KICAgIGlmKG1pKSBCaWdJbnRlZ2VyLlpFUk8uc3ViVG8odGhpcyx0aGlz
KTsKICB9CgogIC8vIChwcm90ZWN0ZWQpIHJldHVybiB4IHMudC4gcl54IDwgRFYKICBmdW5jdGlv
biBibnBDaHVua1NpemUocikgeyByZXR1cm4gTWF0aC5mbG9vcihNYXRoLkxOMip0aGlzLkRCL01h
dGgubG9nKHIpKTsgfQoKICAvLyAocHVibGljKSAwIGlmIHRoaXMgPT0gMCwgMSBpZiB0aGlzID4g
MAogIGZ1bmN0aW9uIGJuU2lnTnVtKCkgewogICAgaWYodGhpcy5zIDwgMCkgcmV0dXJuIC0xOwog
ICAgZWxzZSBpZih0aGlzLnQgPD0gMCB8fCAodGhpcy50ID09IDEgJiYgdGhpc1swXSA8PSAwKSkg
cmV0dXJuIDA7CiAgICBlbHNlIHJldHVybiAxOwogIH0KCiAgLy8gKHByb3RlY3RlZCkgdGhpcyAq
PSBuLCB0aGlzID49IDAsIDEgPCBuIDwgRFYKICBmdW5jdGlvbiBibnBETXVsdGlwbHkobikgewog
ICAgdGhpc1t0aGlzLnRdID0gdGhpcy5hbSgwLG4tMSx0aGlzLDAsMCx0aGlzLnQpOwogICAgKyt0
aGlzLnQ7CiAgICB0aGlzLmNsYW1wKCk7CiAgfQoKICAvLyAocHJvdGVjdGVkKSB0aGlzICs9IG4g
PDwgdyB3b3JkcywgdGhpcyA+PSAwCiAgZnVuY3Rpb24gYm5wREFkZE9mZnNldChuLHcpIHsKICAg
IGlmKG4gPT0gMCkgcmV0dXJuOwogICAgd2hpbGUodGhpcy50IDw9IHcpIHRoaXNbdGhpcy50Kytd
ID0gMDsKICAgIHRoaXNbd10gKz0gbjsKICAgIHdoaWxlKHRoaXNbd10gPj0gdGhpcy5EVikgewog
ICAgICB0aGlzW3ddIC09IHRoaXMuRFY7CiAgICAgIGlmKCsrdyA+PSB0aGlzLnQpIHRoaXNbdGhp
cy50KytdID0gMDsKICAgICAgKyt0aGlzW3ddOwogICAgfQogIH0KCiAgLy8gKHByb3RlY3RlZCkg
Y29udmVydCB0byByYWRpeCBzdHJpbmcKICBmdW5jdGlvbiBibnBUb1JhZGl4KGIpIHsKICAgIGlm
KGIgPT0gbnVsbCkgYiA9IDEwOwogICAgaWYodGhpcy5zaWdudW0oKSA9PSAwIHx8IGIgPCAyIHx8
IGIgPiAzNikgcmV0dXJuICIwIjsKICAgIHZhciBjcyA9IHRoaXMuY2h1bmtTaXplKGIpOwogICAg
dmFyIGEgPSBNYXRoLnBvdyhiLGNzKTsKICAgIHZhciBkID0gbmJ2KGEpLCB5ID0gbmJpKCksIHog
PSBuYmkoKSwgciA9ICIiOwogICAgdGhpcy5kaXZSZW1UbyhkLHkseik7CiAgICB3aGlsZSh5LnNp
Z251bSgpID4gMCkgewogICAgICByID0gKGErei5pbnRWYWx1ZSgpKS50b1N0cmluZyhiKS5zdWJz
dHIoMSkgKyByOwogICAgICB5LmRpdlJlbVRvKGQseSx6KTsKICAgIH0KICAgIHJldHVybiB6Lmlu
dFZhbHVlKCkudG9TdHJpbmcoYikgKyByOwogIH0KCiAgLy8gKHB1YmxpYykgcmV0dXJuIHZhbHVl
IGFzIGludGVnZXIKICBmdW5jdGlvbiBibkludFZhbHVlKCkgewogICAgaWYodGhpcy5zIDwgMCkg
ewogICAgICBpZih0aGlzLnQgPT0gMSkgcmV0dXJuIHRoaXNbMF0tdGhpcy5EVjsKICAgICAgZWxz
ZSBpZih0aGlzLnQgPT0gMCkgcmV0dXJuIC0xOwogICAgfQogICAgZWxzZSBpZih0aGlzLnQgPT0g
MSkgcmV0dXJuIHRoaXNbMF07CiAgICBlbHNlIGlmKHRoaXMudCA9PSAwKSByZXR1cm4gMDsKICAg
IC8vIGFzc3VtZXMgMTYgPCBEQiA8IDMyCiAgICByZXR1cm4gKCh0aGlzWzFdJigoMTw8KDMyLXRo
aXMuREIpKS0xKSk8PHRoaXMuREIpfHRoaXNbMF07CiAgfQoKICAvLyAocHJvdGVjdGVkKSByID0g
dGhpcyArIGEKICBmdW5jdGlvbiBibnBBZGRUbyhhLHIpIHsKICAgIHZhciBpID0gMCwgYyA9IDAs
IG0gPSBNYXRoLm1pbihhLnQsdGhpcy50KTsKICAgIHdoaWxlKGkgPCBtKSB7CiAgICAgIGMgKz0g
dGhpc1tpXSthW2ldOwogICAgICByW2krK10gPSBjJnRoaXMuRE07CiAgICAgIGMgPj49IHRoaXMu
REI7CiAgICB9CiAgICBpZihhLnQgPCB0aGlzLnQpIHsKICAgICAgYyArPSBhLnM7CiAgICAgIHdo
aWxlKGkgPCB0aGlzLnQpIHsKICAgICAgICBjICs9IHRoaXNbaV07CiAgICAgICAgcltpKytdID0g
YyZ0aGlzLkRNOwogICAgICAgIGMgPj49IHRoaXMuREI7CiAgICAgIH0KICAgICAgYyArPSB0aGlz
LnM7CiAgICB9CiAgICBlbHNlIHsKICAgICAgYyArPSB0aGlzLnM7CiAgICAgIHdoaWxlKGkgPCBh
LnQpIHsKICAgICAgICBjICs9IGFbaV07CiAgICAgICAgcltpKytdID0gYyZ0aGlzLkRNOwogICAg
ICAgIGMgPj49IHRoaXMuREI7CiAgICAgIH0KICAgICAgYyArPSBhLnM7CiAgICB9CiAgICByLnMg
PSAoYzwwKT8tMTowOwogICAgaWYoYyA+IDApIHJbaSsrXSA9IGM7CiAgICBlbHNlIGlmKGMgPCAt
MSkgcltpKytdID0gdGhpcy5EVitjOwogICAgci50ID0gaTsKICAgIHIuY2xhbXAoKTsKICB9Cgog
IEJpZ0ludGVnZXIucHJvdG90eXBlLmZyb21SYWRpeCA9IGJucEZyb21SYWRpeDsKICBCaWdJbnRl
Z2VyLnByb3RvdHlwZS5jaHVua1NpemUgPSBibnBDaHVua1NpemU7CiAgQmlnSW50ZWdlci5wcm90
b3R5cGUuc2lnbnVtID0gYm5TaWdOdW07CiAgQmlnSW50ZWdlci5wcm90b3R5cGUuZE11bHRpcGx5
ID0gYm5wRE11bHRpcGx5OwogIEJpZ0ludGVnZXIucHJvdG90eXBlLmRBZGRPZmZzZXQgPSBibnBE
QWRkT2Zmc2V0OwogIEJpZ0ludGVnZXIucHJvdG90eXBlLnRvUmFkaXggPSBibnBUb1JhZGl4Owog
IEJpZ0ludGVnZXIucHJvdG90eXBlLmludFZhbHVlID0gYm5JbnRWYWx1ZTsKICBCaWdJbnRlZ2Vy
LnByb3RvdHlwZS5hZGRUbyA9IGJucEFkZFRvOwoKICAvLz09PT09PT0gZW5kIGpzYm4gPT09PT09
PQoKICAvLyBFbXNjcmlwdGVuIHdyYXBwZXIKICB2YXIgV3JhcHBlciA9IHsKICAgIGFiczogZnVu
Y3Rpb24obCwgaCkgewogICAgICB2YXIgeCA9IG5ldyBnb29nLm1hdGguTG9uZyhsLCBoKTsKICAg
ICAgdmFyIHJldDsKICAgICAgaWYgKHguaXNOZWdhdGl2ZSgpKSB7CiAgICAgICAgcmV0ID0geC5u
ZWdhdGUoKTsKICAgICAgfSBlbHNlIHsKICAgICAgICByZXQgPSB4OwogICAgICB9CiAgICAgIEhF
QVAzMlt0ZW1wRG91YmxlUHRyPj4yXSA9IHJldC5sb3dfOwogICAgICBIRUFQMzJbdGVtcERvdWJs
ZVB0cis0Pj4yXSA9IHJldC5oaWdoXzsKICAgIH0sCiAgICBlbnN1cmVUZW1wczogZnVuY3Rpb24o
KSB7CiAgICAgIGlmIChXcmFwcGVyLmVuc3VyZWRUZW1wcykgcmV0dXJuOwogICAgICBXcmFwcGVy
LmVuc3VyZWRUZW1wcyA9IHRydWU7CiAgICAgIFdyYXBwZXIudHdvMzIgPSBuZXcgQmlnSW50ZWdl
cigpOwogICAgICBXcmFwcGVyLnR3bzMyLmZyb21TdHJpbmcoJzQyOTQ5NjcyOTYnLCAxMCk7CiAg
ICAgIFdyYXBwZXIudHdvNjQgPSBuZXcgQmlnSW50ZWdlcigpOwogICAgICBXcmFwcGVyLnR3bzY0
LmZyb21TdHJpbmcoJzE4NDQ2NzQ0MDczNzA5NTUxNjE2JywgMTApOwogICAgICBXcmFwcGVyLnRl
bXAxID0gbmV3IEJpZ0ludGVnZXIoKTsKICAgICAgV3JhcHBlci50ZW1wMiA9IG5ldyBCaWdJbnRl
Z2VyKCk7CiAgICB9LAogICAgbGgyYmlnbnVtOiBmdW5jdGlvbihsLCBoKSB7CiAgICAgIHZhciBh
ID0gbmV3IEJpZ0ludGVnZXIoKTsKICAgICAgYS5mcm9tU3RyaW5nKGgudG9TdHJpbmcoKSwgMTAp
OwogICAgICB2YXIgYiA9IG5ldyBCaWdJbnRlZ2VyKCk7CiAgICAgIGEubXVsdGlwbHlUbyhXcmFw
cGVyLnR3bzMyLCBiKTsKICAgICAgdmFyIGMgPSBuZXcgQmlnSW50ZWdlcigpOwogICAgICBjLmZy
b21TdHJpbmcobC50b1N0cmluZygpLCAxMCk7CiAgICAgIHZhciBkID0gbmV3IEJpZ0ludGVnZXIo
KTsKICAgICAgYy5hZGRUbyhiLCBkKTsKICAgICAgcmV0dXJuIGQ7CiAgICB9LAogICAgc3RyaW5n
aWZ5OiBmdW5jdGlvbihsLCBoLCB1bnNpZ25lZCkgewogICAgICB2YXIgcmV0ID0gbmV3IGdvb2cu
bWF0aC5Mb25nKGwsIGgpLnRvU3RyaW5nKCk7CiAgICAgIGlmICh1bnNpZ25lZCAmJiByZXRbMF0g
PT0gJy0nKSB7CiAgICAgICAgLy8gdW5zaWduIHNsb3dseSB1c2luZyBqc2JuIGJpZ251bXMKICAg
ICAgICBXcmFwcGVyLmVuc3VyZVRlbXBzKCk7CiAgICAgICAgdmFyIGJpZ251bSA9IG5ldyBCaWdJ
bnRlZ2VyKCk7CiAgICAgICAgYmlnbnVtLmZyb21TdHJpbmcocmV0LCAxMCk7CiAgICAgICAgcmV0
ID0gbmV3IEJpZ0ludGVnZXIoKTsKICAgICAgICBXcmFwcGVyLnR3bzY0LmFkZFRvKGJpZ251bSwg
cmV0KTsKICAgICAgICByZXQgPSByZXQudG9TdHJpbmcoMTApOwogICAgICB9CiAgICAgIHJldHVy
biByZXQ7CiAgICB9LAogICAgZnJvbVN0cmluZzogZnVuY3Rpb24oc3RyLCBiYXNlLCBtaW4sIG1h
eCwgdW5zaWduZWQpIHsKICAgICAgV3JhcHBlci5lbnN1cmVUZW1wcygpOwogICAgICB2YXIgYmln
bnVtID0gbmV3IEJpZ0ludGVnZXIoKTsKICAgICAgYmlnbnVtLmZyb21TdHJpbmcoc3RyLCBiYXNl
KTsKICAgICAgdmFyIGJpZ21pbiA9IG5ldyBCaWdJbnRlZ2VyKCk7CiAgICAgIGJpZ21pbi5mcm9t
U3RyaW5nKG1pbiwgMTApOwogICAgICB2YXIgYmlnbWF4ID0gbmV3IEJpZ0ludGVnZXIoKTsKICAg
ICAgYmlnbWF4LmZyb21TdHJpbmcobWF4LCAxMCk7CiAgICAgIGlmICh1bnNpZ25lZCAmJiBiaWdu
dW0uY29tcGFyZVRvKEJpZ0ludGVnZXIuWkVSTykgPCAwKSB7CiAgICAgICAgdmFyIHRlbXAgPSBu
ZXcgQmlnSW50ZWdlcigpOwogICAgICAgIGJpZ251bS5hZGRUbyhXcmFwcGVyLnR3bzY0LCB0ZW1w
KTsKICAgICAgICBiaWdudW0gPSB0ZW1wOwogICAgICB9CiAgICAgIHZhciBlcnJvciA9IGZhbHNl
OwogICAgICBpZiAoYmlnbnVtLmNvbXBhcmVUbyhiaWdtaW4pIDwgMCkgewogICAgICAgIGJpZ251
bSA9IGJpZ21pbjsKICAgICAgICBlcnJvciA9IHRydWU7CiAgICAgIH0gZWxzZSBpZiAoYmlnbnVt
LmNvbXBhcmVUbyhiaWdtYXgpID4gMCkgewogICAgICAgIGJpZ251bSA9IGJpZ21heDsKICAgICAg
ICBlcnJvciA9IHRydWU7CiAgICAgIH0KICAgICAgdmFyIHJldCA9IGdvb2cubWF0aC5Mb25nLmZy
b21TdHJpbmcoYmlnbnVtLnRvU3RyaW5nKCkpOyAvLyBtaW4tbWF4IGNoZWNrcyBzaG91bGQgaGF2
ZSBjbGFtcGVkIHRoaXMgdG8gYSByYW5nZSBnb29nLm1hdGguTG9uZyBjYW4gaGFuZGxlIHdlbGwK
ICAgICAgSEVBUDMyW3RlbXBEb3VibGVQdHI+PjJdID0gcmV0Lmxvd187CiAgICAgIEhFQVAzMlt0
ZW1wRG91YmxlUHRyKzQ+PjJdID0gcmV0LmhpZ2hfOwogICAgICBpZiAoZXJyb3IpIHRocm93ICdy
YW5nZSBlcnJvcic7CiAgICB9CiAgfTsKICByZXR1cm4gV3JhcHBlcjsKfSkoKTsKCi8vPT09PT09
PSBlbmQgY2xvc3VyZSBpNjQgY29kZSA9PT09PT09CgoKCi8vID09PSBBdXRvLWdlbmVyYXRlZCBw
b3N0YW1ibGUgc2V0dXAgZW50cnkgc3R1ZmYgPT09CgppZiAobWVtb3J5SW5pdGlhbGl6ZXIpIHsK
ICBpZiAoRU5WSVJPTk1FTlRfSVNfTk9ERSB8fCBFTlZJUk9OTUVOVF9JU19TSEVMTCkgewogICAg
dmFyIGRhdGEgPSBNb2R1bGVbJ3JlYWRCaW5hcnknXShtZW1vcnlJbml0aWFsaXplcik7CiAgICBI
RUFQVTguc2V0KGRhdGEsIFNUQVRJQ19CQVNFKTsKICB9IGVsc2UgewogICAgYWRkUnVuRGVwZW5k
ZW5jeSgnbWVtb3J5IGluaXRpYWxpemVyJyk7CiAgICBCcm93c2VyLmFzeW5jTG9hZChtZW1vcnlJ
bml0aWFsaXplciwgZnVuY3Rpb24oZGF0YSkgewogICAgICBIRUFQVTguc2V0KGRhdGEsIFNUQVRJ
Q19CQVNFKTsKICAgICAgcmVtb3ZlUnVuRGVwZW5kZW5jeSgnbWVtb3J5IGluaXRpYWxpemVyJyk7
CiAgICB9LCBmdW5jdGlvbihkYXRhKSB7CiAgICAgIHRocm93ICdjb3VsZCBub3QgbG9hZCBtZW1v
cnkgaW5pdGlhbGl6ZXIgJyArIG1lbW9yeUluaXRpYWxpemVyOwogICAgfSk7CiAgfQp9CgpmdW5j
dGlvbiBFeGl0U3RhdHVzKHN0YXR1cykgewogIHRoaXMubmFtZSA9ICJFeGl0U3RhdHVzIjsKICB0
aGlzLm1lc3NhZ2UgPSAiUHJvZ3JhbSB0ZXJtaW5hdGVkIHdpdGggZXhpdCgiICsgc3RhdHVzICsg
IikiOwogIHRoaXMuc3RhdHVzID0gc3RhdHVzOwp9OwpFeGl0U3RhdHVzLnByb3RvdHlwZSA9IG5l
dyBFcnJvcigpOwpFeGl0U3RhdHVzLnByb3RvdHlwZS5jb25zdHJ1Y3RvciA9IEV4aXRTdGF0dXM7
Cgp2YXIgaW5pdGlhbFN0YWNrVG9wOwp2YXIgcHJlbG9hZFN0YXJ0VGltZSA9IG51bGw7CnZhciBj
YWxsZWRNYWluID0gZmFsc2U7CgpkZXBlbmRlbmNpZXNGdWxmaWxsZWQgPSBmdW5jdGlvbiBydW5D
YWxsZXIoKSB7CiAgLy8gSWYgcnVuIGhhcyBuZXZlciBiZWVuIGNhbGxlZCwgYW5kIHdlIHNob3Vs
ZCBjYWxsIHJ1biAoSU5WT0tFX1JVTiBpcyB0cnVlLCBhbmQgTW9kdWxlLm5vSW5pdGlhbFJ1biBp
cyBub3QgZmFsc2UpCiAgaWYgKCFNb2R1bGVbJ2NhbGxlZFJ1biddICYmIHNob3VsZFJ1bk5vdykg
cnVuKCk7CiAgaWYgKCFNb2R1bGVbJ2NhbGxlZFJ1biddKSBkZXBlbmRlbmNpZXNGdWxmaWxsZWQg
PSBydW5DYWxsZXI7IC8vIHRyeSB0aGlzIGFnYWluIGxhdGVyLCBhZnRlciBuZXcgZGVwcyBhcmUg
ZnVsZmlsbGVkCn0KCk1vZHVsZVsnY2FsbE1haW4nXSA9IE1vZHVsZS5jYWxsTWFpbiA9IGZ1bmN0
aW9uIGNhbGxNYWluKGFyZ3MpIHsKICBhc3NlcnQocnVuRGVwZW5kZW5jaWVzID09IDAsICdjYW5u
b3QgY2FsbCBtYWluIHdoZW4gYXN5bmMgZGVwZW5kZW5jaWVzIHJlbWFpbiEgKGxpc3RlbiBvbiBf
X0FUTUFJTl9fKScpOwogIGFzc2VydChfX0FUUFJFUlVOX18ubGVuZ3RoID09IDAsICdjYW5ub3Qg
Y2FsbCBtYWluIHdoZW4gcHJlUnVuIGZ1bmN0aW9ucyByZW1haW4gdG8gYmUgY2FsbGVkJyk7Cgog
IGFyZ3MgPSBhcmdzIHx8IFtdOwoKICBlbnN1cmVJbml0UnVudGltZSgpOwoKICB2YXIgYXJnYyA9
IGFyZ3MubGVuZ3RoKzE7CiAgZnVuY3Rpb24gcGFkKCkgewogICAgZm9yICh2YXIgaSA9IDA7IGkg
PCA0LTE7IGkrKykgewogICAgICBhcmd2LnB1c2goMCk7CiAgICB9CiAgfQogIHZhciBhcmd2ID0g
W2FsbG9jYXRlKGludEFycmF5RnJvbVN0cmluZygiL2Jpbi90aGlzLnByb2dyYW0iKSwgJ2k4Jywg
QUxMT0NfTk9STUFMKSBdOwogIHBhZCgpOwogIGZvciAodmFyIGkgPSAwOyBpIDwgYXJnYy0xOyBp
ID0gaSArIDEpIHsKICAgIGFyZ3YucHVzaChhbGxvY2F0ZShpbnRBcnJheUZyb21TdHJpbmcoYXJn
c1tpXSksICdpOCcsIEFMTE9DX05PUk1BTCkpOwogICAgcGFkKCk7CiAgfQogIGFyZ3YucHVzaCgw
KTsKICBhcmd2ID0gYWxsb2NhdGUoYXJndiwgJ2kzMicsIEFMTE9DX05PUk1BTCk7CgogIGluaXRp
YWxTdGFja1RvcCA9IFNUQUNLVE9QOwoKICB0cnkgewoKICAgIHZhciByZXQgPSBNb2R1bGVbJ19t
YWluJ10oYXJnYywgYXJndiwgMCk7CgoKICAgIC8vIGlmIHdlJ3JlIG5vdCBydW5uaW5nIGFuIGV2
ZW50ZWQgbWFpbiBsb29wLCBpdCdzIHRpbWUgdG8gZXhpdAogICAgaWYgKCFNb2R1bGVbJ25vRXhp
dFJ1bnRpbWUnXSkgewogICAgICBleGl0KHJldCk7CiAgICB9CiAgfQogIGNhdGNoKGUpIHsKICAg
IGlmIChlIGluc3RhbmNlb2YgRXhpdFN0YXR1cykgewogICAgICAvLyBleGl0KCkgdGhyb3dzIHRo
aXMgb25jZSBpdCdzIGRvbmUgdG8gbWFrZSBzdXJlIGV4ZWN1dGlvbgogICAgICAvLyBoYXMgYmVl
biBzdG9wcGVkIGNvbXBsZXRlbHkKICAgICAgcmV0dXJuOwogICAgfSBlbHNlIGlmIChlID09ICdT
aW11bGF0ZUluZmluaXRlTG9vcCcpIHsKICAgICAgLy8gcnVubmluZyBhbiBldmVudGVkIG1haW4g
bG9vcCwgZG9uJ3QgaW1tZWRpYXRlbHkgZXhpdAogICAgICBNb2R1bGVbJ25vRXhpdFJ1bnRpbWUn
XSA9IHRydWU7CiAgICAgIHJldHVybjsKICAgIH0gZWxzZSB7CiAgICAgIGlmIChlICYmIHR5cGVv
ZiBlID09PSAnb2JqZWN0JyAmJiBlLnN0YWNrKSBNb2R1bGUucHJpbnRFcnIoJ2V4Y2VwdGlvbiB0
aHJvd246ICcgKyBbZSwgZS5zdGFja10pOwogICAgICB0aHJvdyBlOwogICAgfQogIH0gZmluYWxs
eSB7CiAgICBjYWxsZWRNYWluID0gdHJ1ZTsKICB9Cn0KCgoKCmZ1bmN0aW9uIHJ1bihhcmdzKSB7
CiAgYXJncyA9IGFyZ3MgfHwgTW9kdWxlWydhcmd1bWVudHMnXTsKCiAgaWYgKHByZWxvYWRTdGFy
dFRpbWUgPT09IG51bGwpIHByZWxvYWRTdGFydFRpbWUgPSBEYXRlLm5vdygpOwoKICBpZiAocnVu
RGVwZW5kZW5jaWVzID4gMCkgewogICAgTW9kdWxlLnByaW50RXJyKCdydW4oKSBjYWxsZWQsIGJ1
dCBkZXBlbmRlbmNpZXMgcmVtYWluLCBzbyBub3QgcnVubmluZycpOwogICAgcmV0dXJuOwogIH0K
CiAgcHJlUnVuKCk7CgogIGlmIChydW5EZXBlbmRlbmNpZXMgPiAwKSByZXR1cm47IC8vIGEgcHJl
UnVuIGFkZGVkIGEgZGVwZW5kZW5jeSwgcnVuIHdpbGwgYmUgY2FsbGVkIGxhdGVyCiAgaWYgKE1v
ZHVsZVsnY2FsbGVkUnVuJ10pIHJldHVybjsgLy8gcnVuIG1heSBoYXZlIGp1c3QgYmVlbiBjYWxs
ZWQgdGhyb3VnaCBkZXBlbmRlbmNpZXMgYmVpbmcgZnVsZmlsbGVkIGp1c3QgaW4gdGhpcyB2ZXJ5
IGZyYW1lCgogIGZ1bmN0aW9uIGRvUnVuKCkgewogICAgaWYgKE1vZHVsZVsnY2FsbGVkUnVuJ10p
IHJldHVybjsgLy8gcnVuIG1heSBoYXZlIGp1c3QgYmVlbiBjYWxsZWQgd2hpbGUgdGhlIGFzeW5j
IHNldFN0YXR1cyB0aW1lIGJlbG93IHdhcyBoYXBwZW5pbmcKICAgIE1vZHVsZVsnY2FsbGVkUnVu
J10gPSB0cnVlOwoKICAgIGVuc3VyZUluaXRSdW50aW1lKCk7CgogICAgcHJlTWFpbigpOwoKICAg
IGlmIChFTlZJUk9OTUVOVF9JU19XRUIgJiYgcHJlbG9hZFN0YXJ0VGltZSAhPT0gbnVsbCkgewog
ICAgICBNb2R1bGUucHJpbnRFcnIoJ3ByZS1tYWluIHByZXAgdGltZTogJyArIChEYXRlLm5vdygp
IC0gcHJlbG9hZFN0YXJ0VGltZSkgKyAnIG1zJyk7CiAgICB9CgogICAgaWYgKE1vZHVsZVsnX21h
aW4nXSAmJiBzaG91bGRSdW5Ob3cpIHsKICAgICAgTW9kdWxlWydjYWxsTWFpbiddKGFyZ3MpOwog
ICAgfQoKICAgIHBvc3RSdW4oKTsKICB9CgogIGlmIChNb2R1bGVbJ3NldFN0YXR1cyddKSB7CiAg
ICBNb2R1bGVbJ3NldFN0YXR1cyddKCdSdW5uaW5nLi4uJyk7CiAgICBzZXRUaW1lb3V0KGZ1bmN0
aW9uKCkgewogICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewogICAgICAgIE1vZHVsZVsnc2V0
U3RhdHVzJ10oJycpOwogICAgICB9LCAxKTsKICAgICAgaWYgKCFBQk9SVCkgZG9SdW4oKTsKICAg
IH0sIDEpOwogIH0gZWxzZSB7CiAgICBkb1J1bigpOwogIH0KfQpNb2R1bGVbJ3J1biddID0gTW9k
dWxlLnJ1biA9IHJ1bjsKCmZ1bmN0aW9uIGV4aXQoc3RhdHVzKSB7CiAgQUJPUlQgPSB0cnVlOwog
IEVYSVRTVEFUVVMgPSBzdGF0dXM7CiAgU1RBQ0tUT1AgPSBpbml0aWFsU3RhY2tUb3A7CgogIC8v
IGV4aXQgdGhlIHJ1bnRpbWUKICBleGl0UnVudGltZSgpOwoKICAvLyBUT0RPIFdlIHNob3VsZCBo
YW5kbGUgdGhpcyBkaWZmZXJlbnRseSBiYXNlZCBvbiBlbnZpcm9ubWVudC4KICAvLyBJbiB0aGUg
YnJvd3NlciwgdGhlIGJlc3Qgd2UgY2FuIGRvIGlzIHRocm93IGFuIGV4Y2VwdGlvbgogIC8vIHRv
IGhhbHQgZXhlY3V0aW9uLCBidXQgaW4gbm9kZSB3ZSBjb3VsZCBwcm9jZXNzLmV4aXQgYW5kCiAg
Ly8gSSdkIGltYWdpbmUgU00gc2hlbGwgd291bGQgaGF2ZSBzb21ldGhpbmcgZXF1aXZhbGVudC4K
ICAvLyBUaGlzIHdvdWxkIGxldCB1cyBzZXQgYSBwcm9wZXIgZXhpdCBzdGF0dXMgKHdoaWNoCiAg
Ly8gd291bGQgYmUgZ3JlYXQgZm9yIGNoZWNraW5nIHRlc3QgZXhpdCBzdGF0dXNlcykuCiAgLy8g
aHR0cHM6Ly9naXRodWIuY29tL2tyaXBrZW4vZW1zY3JpcHRlbi9pc3N1ZXMvMTM3MQoKICAvLyB0
aHJvdyBhbiBleGNlcHRpb24gdG8gaGFsdCB0aGUgY3VycmVudCBleGVjdXRpb24KICB0aHJvdyBu
ZXcgRXhpdFN0YXR1cyhzdGF0dXMpOwp9Ck1vZHVsZVsnZXhpdCddID0gTW9kdWxlLmV4aXQgPSBl
eGl0OwoKZnVuY3Rpb24gYWJvcnQodGV4dCkgewogIGlmICh0ZXh0KSB7CiAgICBNb2R1bGUucHJp
bnQodGV4dCk7CiAgICBNb2R1bGUucHJpbnRFcnIodGV4dCk7CiAgfQoKICBBQk9SVCA9IHRydWU7
CiAgRVhJVFNUQVRVUyA9IDE7CgogIHZhciBleHRyYSA9ICdcbklmIHRoaXMgYWJvcnQoKSBpcyB1
bmV4cGVjdGVkLCBidWlsZCB3aXRoIC1zIEFTU0VSVElPTlM9MSB3aGljaCBjYW4gZ2l2ZSBtb3Jl
IGluZm9ybWF0aW9uLic7CgogIHRocm93ICdhYm9ydCgpIGF0ICcgKyBzdGFja1RyYWNlKCkgKyBl
eHRyYTsKfQpNb2R1bGVbJ2Fib3J0J10gPSBNb2R1bGUuYWJvcnQgPSBhYm9ydDsKCi8vIHt7UFJF
X1JVTl9BRERJVElPTlN9fQoKaWYgKE1vZHVsZVsncHJlSW5pdCddKSB7CiAgaWYgKHR5cGVvZiBN
b2R1bGVbJ3ByZUluaXQnXSA9PSAnZnVuY3Rpb24nKSBNb2R1bGVbJ3ByZUluaXQnXSA9IFtNb2R1
bGVbJ3ByZUluaXQnXV07CiAgd2hpbGUgKE1vZHVsZVsncHJlSW5pdCddLmxlbmd0aCA+IDApIHsK
ICAgIE1vZHVsZVsncHJlSW5pdCddLnBvcCgpKCk7CiAgfQp9CgovLyBzaG91bGRSdW5Ob3cgcmVm
ZXJzIHRvIGNhbGxpbmcgbWFpbigpLCBub3QgcnVuKCkuCnZhciBzaG91bGRSdW5Ob3cgPSB0cnVl
OwppZiAoTW9kdWxlWydub0luaXRpYWxSdW4nXSkgewogIHNob3VsZFJ1bk5vdyA9IGZhbHNlOwp9
CgoKcnVuKCk7CgovLyB7e1BPU1RfUlVOX0FERElUSU9OU319CgoKCgoKCi8vIHt7TU9EVUxFX0FE
RElUSU9OU319CgoKCgoKLyoKIGZhdXN0MndlYmF1ZGlvCiAKIFByaW1hcmlseSB3cml0dGVuIGJ5
IE15bGVzIEJvcmlucwogRHVyaW5nIHRoZSBTcHJpbmcgMjAxMyBvZmZlcmluZyBvZiBNdXNpYyA0
MjBiIHdpdGggSnVsaXVzIFNtaXRoCiBBIGJpdCBkdXJpbmcgdGhlIFN1bW1lciBvZiAyMDEzIHdp
dGggdGhlIGhlbHAgb2YgSm9zaHVhIEtpdCBDbGF5dG9uCiBBbmQgZmluYWxseSBhIHNwcmludCBk
dXJpbmcgdGhlIGxhdGUgZmFsbCBvZiAyMDEzIHRvIGdldCBldmVyeXRoaW5nIHdvcmtpbmcKIEEg
U3BlY2lhbCB0aGFua3MgdG8gWWFubiBPcmxhcmV5IGFuZCBTdMOpcGhhbmUgTGV0egogCiBmYXVz
dDJ3ZWJhdWRpbyBpcyBkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgdGhlIE1JVCBvciBHUEwy
IExpY2Vuc2VzLgogQ2hvb3NlIHRoZSBsaWNlbnNlIHRoYXQgYmVzdCBzdWl0cyB5b3VyIHByb2pl
Y3QuIFRoZSB0ZXh0IG9mIHRoZSBNSVQgYW5kIEdQTAogbGljZW5zZXMgYXJlIGF0IHRoZSByb290
IGRpcmVjdG9yeS4KIAogQWRkaXRpb25hbCBjb2RlIDogR1JBTUUgMjAxNAoqLwoKLy8gUG9seXBo
b25pYyBwaWFubyA6IGhhcyB0byBoYXZlICdmcmVxJywgJ2dhdGUnLCAnZ2FpbicgcGFyYW1ldGVy
cyB0byBiZSBwb3NzaWJseSB0cmlnZ2VyZWQgd2l0aCBrZXlPbiwga2V5T2ZmIGV2ZW50cy4KCnZh
ciBwaWFub19wb2x5X2NvbnN0cnVjdG9yID0gTW9kdWxlLmN3cmFwKCdwaWFub19wb2x5X2NvbnN0
cnVjdG9yJywgJ251bWJlcicsIFsnbnVtYmVyJywnbnVtYmVyJywnbnVtYmVyJ10pOwp2YXIgcGlh
bm9fcG9seV9kZXN0cnVjdG9yID0gTW9kdWxlLmN3cmFwKCdwaWFub19wb2x5X2Rlc3RydWN0b3In
LCBudWxsLCBbJ251bWJlciddKTsKdmFyIHBpYW5vX3BvbHlfY29tcHV0ZSA9IE1vZHVsZS5jd3Jh
cCgncGlhbm9fcG9seV9jb21wdXRlJywgbnVsbCwgWydudW1iZXInLCAnbnVtYmVyJywgJ251bWJl
cicsICdudW1iZXInXSk7CnZhciBwaWFub19wb2x5X2dldE51bUlucHV0cyA9IE1vZHVsZS5jd3Jh
cCgncGlhbm9fcG9seV9nZXROdW1JbnB1dHMnLCAnbnVtYmVyJywgWydudW1iZXInXSk7CnZhciBw
aWFub19wb2x5X2dldE51bU91dHB1dHMgPSBNb2R1bGUuY3dyYXAoJ3BpYW5vX3BvbHlfZ2V0TnVt
T3V0cHV0cycsICdudW1iZXInLCBbJ251bWJlciddKTsKdmFyIHBpYW5vX3BvbHlfZ2V0SlNPTiA9
IE1vZHVsZS5jd3JhcCgncGlhbm9fcG9seV9nZXRKU09OJywgJ251bWJlcicsIFsnbnVtYmVyJ10p
Owp2YXIgcGlhbm9fcG9seV9zZXRWYWx1ZSA9IE1vZHVsZS5jd3JhcCgncGlhbm9fcG9seV9zZXRW
YWx1ZScsIG51bGwsIFsnbnVtYmVyJywgJ251bWJlcicsICdudW1iZXInXSk7CnZhciBwaWFub19w
b2x5X2dldFZhbHVlID0gTW9kdWxlLmN3cmFwKCdwaWFub19wb2x5X2dldFZhbHVlJywgJ251bWJl
cicsIFsnbnVtYmVyJywgJ251bWJlciddKTsKdmFyIHBpYW5vX3BvbHlfa2V5T24gPSBNb2R1bGUu
Y3dyYXAoJ3BpYW5vX3BvbHlfa2V5T24nLCBudWxsLCBbJ251bWJlcicsICdudW1iZXInLCAnbnVt
YmVyJywgJ251bWJlciddKTsKdmFyIHBpYW5vX3BvbHlfa2V5T2ZmID0gTW9kdWxlLmN3cmFwKCdw
aWFub19wb2x5X2tleU9mZicsIG51bGwsIFsnbnVtYmVyJywgJ251bWJlcicsICdudW1iZXInXSk7
CnZhciBwaWFub19wb2x5X2N0cmxDaGFuZ2UgPSBNb2R1bGUuY3dyYXAoJ3BpYW5vX3BvbHlfY3Ry
bENoYW5nZScsIG51bGwsIFsnbnVtYmVyJywgJ251bWJlcicsICdudW1iZXInLCAnbnVtYmVyJ10p
Owp2YXIgcGlhbm9fcG9seV9waXRjaFdoZWVsID0gTW9kdWxlLmN3cmFwKCdwaWFub19wb2x5X3Bp
dGNoV2hlZWwnLCBudWxsLCBbJ251bWJlcicsICdudW1iZXInLCAnbnVtYmVyJ10pOwoKZmF1c3Qu
cGlhbm9fcG9seSA9IGZ1bmN0aW9uIChjb250ZXh0LCBidWZmZXJfc2l6ZSwgbWF4X3BvbHlwaG9u
eSwgaGFuZGxlcikgewogICAgdmFyIHRoYXQgPSB7fTsKICAgIAogICAgZmF1c3QuY29udGV4dCA9
IGNvbnRleHQ7CiAgICB0aGF0LmJ1ZmZlcl9zaXplID0gYnVmZmVyX3NpemU7CiAgICB0aGF0Lmhh
bmRsZXIgPSBoYW5kbGVyOwogICAgCiAgICAvLyBiYXJncmFwaAogICAgdGhhdC5vdXB1dHNfdGlt
ZXIgPSA1OwogICAgdGhhdC5vdXB1dHNfaXRlbXMgPSBbXTsKICAgIAogICAgLy8gaW5wdXQgaXRl
bXMKICAgIHRoYXQuaW5wdXRzX2l0ZW1zID0gW107CiAgICAKICAgIHRoYXQucHRyID0gcGlhbm9f
cG9seV9jb25zdHJ1Y3RvcihmYXVzdC5jb250ZXh0LnNhbXBsZVJhdGUsIGJ1ZmZlcl9zaXplLCBt
YXhfcG9seXBob255KTsKICAgIAogICAgLy8gQmluZCB0byBDKysgTWVtYmVyIEZ1bmN0aW9ucwog
ICAgCiAgICB0aGF0LmdldE51bUlucHV0cyA9IGZ1bmN0aW9uICgpIAogICAgewogICAgICAgIHJl
dHVybiBwaWFub19wb2x5X2dldE51bUlucHV0cyh0aGF0LnB0cik7CiAgICB9OwogICAgCiAgICB0
aGF0LmdldE51bU91dHB1dHMgPSBmdW5jdGlvbiAoKSAKICAgIHsKICAgICAgICByZXR1cm4gcGlh
bm9fcG9seV9nZXROdW1PdXRwdXRzKHRoYXQucHRyKTsKICAgIH07CiAgICAKICAgIHRoYXQua2V5
T24gPSBmdW5jdGlvbiAoY2hhbm5lbCwgcGl0Y2gsIHZlbG9jaXR5KQogICAgewogICAgICAgIHBp
YW5vX3BvbHlfa2V5T24odGhhdC5wdHIsIGNoYW5uZWwsIHBpdGNoLCB2ZWxvY2l0eSk7CiAgICB9
CiAgICAKICAgIHRoYXQua2V5T2ZmID0gZnVuY3Rpb24gKGNoYW5uZWwsIHBpdGNoKQogICAgewog
ICAgICAgIHBpYW5vX3BvbHlfa2V5T2ZmKHRoYXQucHRyLCBjaGFubmVsLCBwaXRjaCk7CiAgICB9
CiAgICAKICAgIHRoYXQuY3RybENoYW5nZSA9IGZ1bmN0aW9uIChjaGFubmVsLCBjdHJsLCB2YWx1
ZSkKICAgIHsKICAgICAgICBwaWFub19wb2x5X2N0cmxDaGFuZ2UodGhhdC5wdHIsIGNoYW5uZWws
IGN0cmwsIHZhbHVlKTsKICAgIH0KICAgIAogICAgdGhhdC5waXRjaFdoZWVsID0gZnVuY3Rpb24g
KGNoYW5uZWwsIHBpdGNoV2hlZWwpCiAgICB7CiAgICAgICAgcGlhbm9fcG9seV9waXRjaFdoZWVs
KHRoYXQucHRyLCBjaGFubmVsLCBwaXRjaFdoZWVsKTsKICAgIH0KICAgIAogICAgdGhhdC51cGRh
dGVfb3V0cHV0cyA9IGZ1bmN0aW9uICgpIAogICAgewogICAgICAgIGlmICh0aGF0Lm91cHV0c19p
dGVtcy5sZW5ndGggPiAwICYmIHRoYXQuaGFuZGxlciAmJiB0aGF0Lm91cHV0c190aW1lci0tID09
PSAwKSB7CiAgICAgICAgICAgIHRoYXQub3VwdXRzX3RpbWVyID0gNTsKICAgICAgICAgICAgdmFy
IGk7CiAgICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCB0aGF0Lm91cHV0c19pdGVtcy5sZW5ndGg7
IGkrKykgewogICAgICAgICAgICAgICAgdmFyIHBhdGhQdHIgPSBhbGxvY2F0ZShpbnRBcnJheUZy
b21TdHJpbmcodGhhdC5vdXB1dHNfaXRlbXNbaV0pLCAnaTgnLCBBTExPQ19TVEFDSyk7CiAgICAg
ICAgICAgICAgICB0aGF0LmhhbmRsZXIodGhhdC5vdXB1dHNfaXRlbXNbaV0sIHBpYW5vX3BvbHlf
Z2V0VmFsdWUodGhhdC5wdHIsIHBhdGhQdHIpKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAg
IH07CiAgICAKICAgIHRoYXQuY29tcHV0ZSA9IGZ1bmN0aW9uIChlKSAKICAgIHsKICAgICAgICB2
YXIgaSwgajsKICAgICAgICAKICAgICAgICAvLyBSZWFkIGlucHV0cwogICAgICAgIGZvciAoaSA9
IDA7IGkgPCB0aGF0Lm51bUluOyBpKyspIHsKICAgICAgICAgICAgdmFyIGlucHV0ID0gZS5pbnB1
dEJ1ZmZlci5nZXRDaGFubmVsRGF0YShpKTsKICAgICAgICAgICAgdmFyIGRzcElucHV0ID0gdGhh
dC5kc3BJbkNoYW5ubmVsc1tpXTsKICAgICAgICAgICAgZm9yIChqID0gMDsgaiA8IGlucHV0Lmxl
bmd0aDsgaisrKSB7CiAgICAgICAgICAgICAgICBkc3BJbnB1dFtqXSA9IGlucHV0W2pdOwogICAg
ICAgICAgICB9CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC8vIENvbXB1dGUKICAgICAgICBw
aWFub19wb2x5X2NvbXB1dGUodGhhdC5wdHIsIHRoYXQuYnVmZmVyX3NpemUsIHRoYXQuaW5zLCB0
aGF0Lm91dHMpOwogICAgICAgIAogICAgICAgIC8vIFVwZGF0ZSBiYXJncmFwaAogICAgICAgIHRo
YXQudXBkYXRlX291dHB1dHMoKTsKICAgICAgICAKICAgICAgICAvLyBXcml0ZSBvdXRwdXRzCiAg
ICAgICAgZm9yIChpID0gMDsgaSA8IHRoYXQubnVtT3V0OyBpKyspIHsKICAgICAgICAgICAgdmFy
IG91dHB1dCA9IGUub3V0cHV0QnVmZmVyLmdldENoYW5uZWxEYXRhKGkpOwogICAgICAgICAgICB2
YXIgZHNwT3V0cHV0ID0gdGhhdC5kc3BPdXRDaGFubm5lbHNbaV07CiAgICAgICAgICAgIGZvciAo
aiA9IDA7IGogPCBvdXRwdXQubGVuZ3RoOyBqKyspIHsKICAgICAgICAgICAgICAgIG91dHB1dFtq
XSA9IGRzcE91dHB1dFtqXTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH07CiAgICAKICAg
IHRoYXQuZGVzdHJveSA9IGZ1bmN0aW9uICgpCiAgICB7CiAgICAgICAgcGlhbm9fcG9seV9kZXN0
cnVjdG9yKHRoYXQucHRyKTsKICAgICAgICBmb3IgKGkgPSAwOyBpIDwgdGhhdC5udW1JbjsgaSsr
KSB7IAogICAgICAgICAgICBNb2R1bGUuX2ZyZWUoSEVBUDMyWyh0aGF0LmlucyA+PiAyKSArIGld
KTsKICAgICAgICB9CiAgICAgICAgZm9yIChpID0gMDsgaSA8IHRoYXQubnVtT3V0OyBpKyspIHsg
CiAgICAgICAgICAgIE1vZHVsZS5fZnJlZShIRUFQMzJbKHRoYXQub3V0cyA+PiAyKSArIGldKTsK
ICAgICAgICB9CiAgICAgICAgCiAgICAgICAgTW9kdWxlLl9mcmVlKHRoYXQuaW5zKTsKICAgICAg
ICBNb2R1bGUuX2ZyZWUodGhhdC5vdXRzKTsKICAgIH07CiAgICAKICAgIC8vIENvbm5lY3QgdG8g
YW5vdGhlciBub2RlCiAgICB0aGF0LmNvbm5lY3QgPSBmdW5jdGlvbiAobm9kZSkgCiAgICB7CiAg
ICAgICAgaWYgKG5vZGUuc2NyaXB0UHJvY2Vzc29yKSB7CiAgICAgICAgICAgIHRoYXQuc2NyaXB0
UHJvY2Vzc29yLmNvbm5lY3Qobm9kZS5zY3JpcHRQcm9jZXNzb3IpOwogICAgICAgIH0gZWxzZSB7
CiAgICAgICAgICAgIHRoYXQuc2NyaXB0UHJvY2Vzc29yLmNvbm5lY3Qobm9kZSk7CiAgICAgICAg
fQogICAgfTsKICAgIAogICAgLy8gQmluZCB0byBXZWIgQXVkaW8sIGV4dGVybmFsIEFQSQogICAg
dGhhdC5zdGFydCA9IGZ1bmN0aW9uICgpIAogICAgewogICAgICAgIHRoYXQuc2NyaXB0UHJvY2Vz
c29yLmNvbm5lY3QoZmF1c3QuY29udGV4dC5kZXN0aW5hdGlvbik7CiAgICB9OwogICAgCiAgICB0
aGF0LnN0b3AgPSBmdW5jdGlvbiAoKSAKICAgIHsKICAgICAgICB0aGF0LnNjcmlwdFByb2Nlc3Nv
ci5kaXNjb25uZWN0KGZhdXN0LmNvbnRleHQuZGVzdGluYXRpb24pOwogICAgfTsKICAgIAogICAg
dGhhdC51cGRhdGUgPSBmdW5jdGlvbiAocGF0aCwgdmFsKSAKICAgIHsKICAgICAgICBwaWFub19w
b2x5X3NldFZhbHVlKHRoYXQucHRyLCBhbGxvY2F0ZShpbnRBcnJheUZyb21TdHJpbmcocGF0aCks
ICdpOCcsIEFMTE9DX1NUQUNLKSwgdmFsKTsKICAgIH07CiAgICAKICAgIHRoYXQuanNvbiA9IGZ1
bmN0aW9uICgpCiAgICB7CiAgICAgICAgcmV0dXJuIFBvaW50ZXJfc3RyaW5naWZ5KHBpYW5vX3Bv
bHlfZ2V0SlNPTih0aGF0LnB0cikpOwogICAgfQogICAgCiAgICB0aGF0LmNvbnRyb2xzID0gZnVu
Y3Rpb24oKQogICAgewogICAgICAgIHJldHVybiB0aGF0LmlucHV0c19pdGVtczsKICAgIH0KICAg
IAogICAgLy8gSlNPTiBwYXJzaW5nCiAgICB0aGF0LnBhcnNlX3VpID0gZnVuY3Rpb24odWkpIAog
ICAgewogICAgICAgIHZhciBpOwogICAgICAgIGZvciAoaSA9IDA7IGkgPCB1aS5sZW5ndGg7IGkr
KykgewogICAgICAgICAgICB0aGF0LnBhcnNlX2dyb3VwKHVpW2ldKTsKICAgICAgICB9CiAgICB9
CiAgICAKICAgIHRoYXQucGFyc2VfZ3JvdXAgPSBmdW5jdGlvbihncm91cCkgCiAgICB7CiAgICAg
ICAgaWYgKGdyb3VwLml0ZW1zKSB7CiAgICAgICAgICAgIHRoYXQucGFyc2VfaXRlbXMoZ3JvdXAu
aXRlbXMpOwogICAgICAgIH0KICAgIH0KICAgIAogICAgdGhhdC5wYXJzZV9pdGVtcyA9IGZ1bmN0
aW9uKGl0ZW1zKSAKICAgIHsKICAgICAgICB2YXIgaTsKICAgICAgICBmb3IgKGkgPSAwOyBpIDwg
aXRlbXMubGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgdGhhdC5wYXJzZV9pdGVtKGl0ZW1zW2ld
KTsKICAgICAgICB9CiAgICB9CiAgICAKICAgIHRoYXQucGFyc2VfaXRlbSA9IGZ1bmN0aW9uKGl0
ZW0pIAogICAgewogICAgICAgIGlmIChpdGVtLnR5cGUgPT09ICJ2Z3JvdXAiIHx8IGl0ZW0udHlw
ZSA9PT0gImhncm91cCIgfHwgaXRlbS50eXBlID09PSAidGdyb3VwIikgewogICAgICAgICAgICB0
aGF0LnBhcnNlX2l0ZW1zKGl0ZW0uaXRlbXMpOwogICAgICAgIH0gZWxzZSBpZiAoaXRlbS50eXBl
ID09PSAiaGJhcmdyYXBoIiB8fCBpdGVtLnR5cGUgPT09ICJ2YmFyZ3JhcGgiKSB7CiAgICAgICAg
ICAgIC8vIEtlZXAgYmFyZ3JhcGggYWRyZXNzZXMKICAgICAgICAgICAgdGhhdC5vdXB1dHNfaXRl
bXMucHVzaChpdGVtLmFkZHJlc3MpOwogICAgICAgIH0gZWxzZSBpZiAoaXRlbS50eXBlID09PSAi
dnNsaWRlciIgfHwgaXRlbS50eXBlID09PSAiaHNsaWRlciIgfHwgaXRlbS50eXBlID09PSAiYnV0
dG9uIiB8fCBpdGVtLnR5cGUgPT09ICJjaGVja2JveCIgfHwgaXRlbS50eXBlID09PSAibmVudHJ5
IikgewogICAgICAgICAgICAvLyBLZWVwIGlucHV0cyBhZHJlc3NlcwogICAgICAgICAgICB0aGF0
LmlucHV0c19pdGVtcy5wdXNoKGl0ZW0uYWRkcmVzcyk7CiAgICAgICAgfQogICAgfQogICAgCiAg
ICB0aGF0LmluaXQgPSBmdW5jdGlvbiAoKQogICAgewogICAgICAgIHZhciBpOwogICAgICAgIHRo
YXQucHRyc2l6ZSA9IDQ7IC8vYXNzdW1pbmcgcG9pbnRlciBpbiBlbXNjcmlwdGVuIGFyZSAzMmJp
dHMKICAgICAgICB0aGF0LnNhbXBsZXNpemUgPSA0OwogICAgICAgIAogICAgICAgIC8vIEdldCBp
bnB1dCAvIG91dHB1dCBjb3VudHMKICAgICAgICB0aGF0Lm51bUluID0gdGhhdC5nZXROdW1JbnB1
dHMoKTsKICAgICAgICB0aGF0Lm51bU91dCA9IHRoYXQuZ2V0TnVtT3V0cHV0cygpOwogICAgICAg
IAogICAgICAgIC8vIFNldHVwIHdlYiBhdWRpbyBjb250ZXh0CiAgICAgICAgdGhhdC5zY3JpcHRQ
cm9jZXNzb3IgPSBmYXVzdC5jb250ZXh0LmNyZWF0ZVNjcmlwdFByb2Nlc3Nvcih0aGF0LmJ1ZmZl
cl9zaXplLCB0aGF0Lm51bUluLCB0aGF0Lm51bU91dCk7CiAgICAgICAgdGhhdC5zY3JpcHRQcm9j
ZXNzb3Iub25hdWRpb3Byb2Nlc3MgPSB0aGF0LmNvbXB1dGU7CiAgICAgICAgCiAgICAgICAgLy8g
VE9ETyB0aGUgYmVsb3cgY2FsbHMgdG8gbWFsbG9jIGFyZSBub3QgeWV0IGJlaW5nIGZyZWVkLCBw
b3RlbnRpYWwgbWVtb3J5IGxlYWsKICAgICAgICAvLyBhbGxvY2F0ZSBtZW1vcnkgZm9yIGlucHV0
IC8gb3V0cHV0IGFycmF5cwogICAgICAgIHRoYXQuaW5zID0gTW9kdWxlLl9tYWxsb2ModGhhdC5w
dHJzaXplICogdGhhdC5udW1Jbik7CiAgICAgICAgCiAgICAgICAgLy8gQXNzaWduIHRvIG91ciBh
cnJheSBvZiBwb2ludGVyIGVsZW1lbnRzIGFuIGFycmF5IG9mIDMyYml0IGZsb2F0cywgb25lIGZv
ciBlYWNoIGNoYW5uZWwuIGN1cnJlbnRseSB3ZSBhc3N1bWUgcG9pbnRlcnMgYXJlIDMyYml0cwog
ICAgICAgIGZvciAoaSA9IDA7IGkgPCB0aGF0Lm51bUluOyBpKyspIHsgCiAgICAgICAgICAgIC8v
IGFzc2lnbiBtZW1vcnkgYXQgdGhhdC5pbnNbaV0gdG8gYSBuZXcgcHRyIHZhbHVlLiBNYXliZSB0
aGVyZSdzIGFuIGVhc2llciB3YXksIGJ1dCB0aGlzIGlzIGNsZWFyZXIgdG8gbWUgdGhhbiBhbnkg
dHlwZWRhcnJheSBtYWdpYyBiZXlvbmQgdGhlIHByZXN1bWFibHkgVHlwZWRBcnJheSBIRUFQMzIK
ICAgICAgICAgICAgSEVBUDMyWyh0aGF0LmlucyA+PiAyKSArIGldID0gTW9kdWxlLl9tYWxsb2Mo
dGhhdC5idWZmZXJfc2l6ZSAqIHRoYXQuc2FtcGxlc2l6ZSk7IAogICAgICAgIH0KICAgICAgICAK
ICAgICAgICAvL3B0cnNpemUsIGNoYW5nZSB0byBlaWdodCBvciB1c2UgUnVudGltZS5RVUFOVFVN
PyBvciB3aGF0PwogICAgICAgIHRoYXQub3V0cyA9IE1vZHVsZS5fbWFsbG9jKHRoYXQucHRyc2l6
ZSAqIHRoYXQubnVtT3V0KTsgCiAgICAgICAgCiAgICAgICAgLy8gQXNzaWduIHRvIG91ciBhcnJh
eSBvZiBwb2ludGVyIGVsZW1lbnRzIGFuIGFycmF5IG9mIDY0Yml0IGZsb2F0cywgb25lIGZvciBl
YWNoIGNoYW5uZWwuIEN1cnJlbnRseSB3ZSBhc3N1bWUgcG9pbnRlcnMgYXJlIDMyYml0cwogICAg
ICAgIGZvciAoaSA9IDA7IGkgPCB0aGF0Lm51bU91dDsgaSsrKSB7IAogICAgICAgICAgICAvLyBB
c3NpZ24gbWVtb3J5IGF0IHRoYXQub3V0c1tpXSB0byBhIG5ldyBwdHIgdmFsdWUuIE1heWJlIHRo
ZXJlJ3MgYW4gZWFzaWVyIHdheSwgYnV0IHRoaXMgaXMgY2xlYXJlciB0byBtZSB0aGFuIGFueSB0
eXBlZGFycmF5IG1hZ2ljIGJleW9uZCB0aGUgcHJlc3VtYWJseSBUeXBlZEFycmF5IEhFQVAzMgog
ICAgICAgICAgICBIRUFQMzJbKHRoYXQub3V0cyA+PiAyKSArIGldID0gTW9kdWxlLl9tYWxsb2Mo
dGhhdC5idWZmZXJfc2l6ZSAqIHRoYXQuc2FtcGxlc2l6ZSk7CiAgICAgICAgfQogICAgICAgIAog
ICAgICAgIC8vIFByZXBhcmUgSW5zL291dCBidWZmZXIgdGFibGVzCiAgICAgICAgdGhhdC5kc3BJ
bkNoYW5ubmVscyA9IFtdOwogICAgICAgIHZhciBkc3BJbkNoYW5zID0gSEVBUDMyLnN1YmFycmF5
KHRoYXQuaW5zID4+IDIsICh0aGF0LmlucyArIHRoYXQubnVtSW4gKiB0aGF0LnB0cnNpemUpID4+
IDIpOwogICAgICAgIGZvciAoaSA9IDA7IGkgPCB0aGF0Lm51bUluOyBpKyspIHsKICAgICAgICAg
ICAgdGhhdC5kc3BJbkNoYW5ubmVsc1tpXSA9IEhFQVBGMzIuc3ViYXJyYXkoZHNwSW5DaGFuc1tp
XSA+PiAyLCAoZHNwSW5DaGFuc1tpXSArIHRoYXQuYnVmZmVyX3NpemUgKiB0aGF0LnB0cnNpemUp
ID4+IDIpOwogICAgICAgIH0KICAgICAgICAKICAgICAgICB0aGF0LmRzcE91dENoYW5ubmVscyA9
IFtdOwogICAgICAgIHZhciBkc3BPdXRDaGFucyA9IEhFQVAzMi5zdWJhcnJheSh0aGF0Lm91dHMg
Pj4gMiwgKHRoYXQub3V0cyArIHRoYXQubnVtT3V0ICogdGhhdC5wdHJzaXplKSA+PiAyKTsKICAg
ICAgICBmb3IgKGkgPSAwOyBpIDwgdGhhdC5udW1PdXQ7IGkrKykgewogICAgICAgICAgICB0aGF0
LmRzcE91dENoYW5ubmVsc1tpXSA9IEhFQVBGMzIuc3ViYXJyYXkoZHNwT3V0Q2hhbnNbaV0gPj4g
MiwgKGRzcE91dENoYW5zW2ldICsgdGhhdC5idWZmZXJfc2l6ZSAqIHRoYXQucHRyc2l6ZSkgPj4g
Mik7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC8vIGJhcmdyYXBoCiAgICAgICAgdGhhdC5w
YXJzZV91aShKU09OLnBhcnNlKHRoYXQuanNvbigpKS51aSk7CiAgICB9OwogICAgCiAgICB0aGF0
LmluaXQoKTsKICAgIHJldHVybiB0aGF0Owp9OwoKCgp9KCkpOwo8L3NjcmlwdD4KPC9oZWFkPgo8
Ym9keT4KCgoKPHNjcmlwdD4KCnZhciBpc1dlYktpdEF1ZGlvID0gKHR5cGVvZiAod2Via2l0QXVk
aW9Db250ZXh0KSAhPT0gInVuZGVmaW5lZCIpOwp2YXIgYXVkaW9fY29udGV4dCA9IChpc1dlYktp
dEF1ZGlvKSA/IG5ldyB3ZWJraXRBdWRpb0NvbnRleHQoKSA6IG5ldyBBdWRpb0NvbnRleHQoKTsK
dmFyIG1heF9wb2x5cGhvbnkgPSAxNjsKdmFyIGF1ZGlvX2lucHV0ID0gbnVsbDsKdmFyIG1pZGlf
aW5wdXQgPSBbXTsKdmFyIHBpYW5vX3BvbHkgPSBudWxsOwoKZnVuY3Rpb24gY2hhbmdlQnVmZmVy
U2l6ZShidWZmZXJfc2l6ZSkKewogICAgdmFyIG5ld19idWZmZXJfc2l6ZSA9IGJ1ZmZlcl9zaXpl
Lm9wdGlvbnNbYnVmZmVyX3NpemUuc2VsZWN0ZWRJbmRleF0udmFsdWU7CiAgICBjb25zb2xlLmxv
ZyhuZXdfYnVmZmVyX3NpemUpOwogICAgc3RhcnROZXdwaWFubyhuZXdfYnVmZmVyX3NpemUpOwp9
CgovLyBNSURJIGlucHV0IGhhbmRsaW5nCgpmdW5jdGlvbiBrZXlPbihjaGFubmVsLCBwaXRjaCwg
dmVsb2NpdHkpCnsKICAgIGlmIChwaWFub19wb2x5KSB7CiAgICAgICAgcGlhbm9fcG9seS5rZXlP
bihjaGFubmVsLCBwaXRjaCwgdmVsb2NpdHkpOwogICAgfQp9CgpmdW5jdGlvbiBrZXlPZmYoY2hh
bm5lbCwgcGl0Y2gpCnsKICAgIGlmIChwaWFub19wb2x5KSB7CiAgICAgICAgcGlhbm9fcG9seS5r
ZXlPZmYoY2hhbm5lbCwgcGl0Y2gpOwogICAgfQp9CgpmdW5jdGlvbiBwaXRjaFdoZWVsKGNoYW5u
ZWwsIHBpdGNoV2hlZWwpCnsKICAgIGlmIChwaWFub19wb2x5KSB7CiAgICAgICAgcGlhbm9fcG9s
eS5waXRjaFdoZWVsKGNoYW5uZWwsIHBpdGNoV2hlZWwpOwogICAgfQp9CgpmdW5jdGlvbiBjdHJs
Q2hhbmdlKGNoYW5uZWwsIGN0cmwsIHZhbHVlKQp7CiAgICBpZiAocGlhbm9fcG9seSkgewogICAg
ICAgIHBpYW5vX3BvbHkuY3RybENoYW5nZShjaGFubmVsLCBjdHJsLCB2YWx1ZSk7CiAgICB9Cn0K
CmZ1bmN0aW9uIG1pZGlNZXNzYWdlUmVjZWl2ZWQoZXYpIAp7CiAgICB2YXIgY21kID0gZXYuZGF0
YVswXSA+PiA0OwogICAgdmFyIGNoYW5uZWwgPSBldi5kYXRhWzBdICYgMHhmOwogICAgdmFyIGRh
dGExID0gZXYuZGF0YVsxXTsKICAgIHZhciBkYXRhMiA9IGV2LmRhdGFbMl07CiAgICAKICAgIC8v
Y29uc29sZS5sb2coZXYpOwoKICAgIGlmIChjaGFubmVsID09PSA5KSB7CiAgICAgICAgcmV0dXJu
OwogICAgfSBlbHNlIGlmIChjbWQgPT09IDggfHwgKChjbWQgPT09IDkpICYmIChkYXRhMiA9PT0g
MCkpKSB7IAogICAgICAgIGtleU9mZihjaGFubmVsLCBkYXRhMSk7CiAgICB9IGVsc2UgaWYgKGNt
ZCA9PT0gOSkgewogICAgICAgIGtleU9uKGNoYW5uZWwsIGRhdGExLCBkYXRhMik7CiAgICB9IGVs
c2UgaWYgKGNtZCA9PT0gMTEpIHsKICAgICAgICBjdHJsQ2hhbmdlKGNoYW5uZWwsIGRhdGExLCBk
YXRhMik7CiAgICB9IGVsc2UgaWYgKGNtZCA9PT0gMTQpIHsKICAgICAgICBwaXRjaFdoZWVsKGNo
YW5uZWwsICgoZGF0YTIgKiAxMjguMCArIGRhdGExKS04MTkyKS84MTkyLjApOwogICAgfSAgCn0K
CmZ1bmN0aW9uIG9uZXJyb3JjYWxsYmFjayhlcnJvcikgCnsKICAgICBjb25zb2xlLmxvZyhlcnJv
cik7Cn0KCmZ1bmN0aW9uIG9uc3VjY2Vzc2NhbGxiYWNrKGFjY2VzcykgCnsKICAgIGFjY2Vzcy5p
bnB1dHMoKS5mb3JFYWNoKGZ1bmN0aW9uKGlucHV0KSB7CiAgICAgICAgbWlkaV9pbnB1dC5wdXNo
KGlucHV0KTsKICAgICAgICBpbnB1dC5vbm1pZGltZXNzYWdlID0gbWlkaU1lc3NhZ2VSZWNlaXZl
ZDsKICAgICAgICBjb25zb2xlLmxvZyhpbnB1dC5uYW1lKTsKICAgIH0pOwp9CiAKZnVuY3Rpb24g
YWN0aXZhdGVNSURJSW5wdXQoKQp7CiAgICBpZiAodHlwZW9mIChuYXZpZ2F0b3IucmVxdWVzdE1J
RElBY2Nlc3MpICE9PSAidW5kZWZpbmVkIikgewogICAgICAgIG5hdmlnYXRvci5yZXF1ZXN0TUlE
SUFjY2VzcygpLnRoZW4ob25zdWNjZXNzY2FsbGJhY2ssIG9uZXJyb3JjYWxsYmFjayk7CiAgICB9
IGVsc2UgewogICAgICAgIGFsZXJ0KCJNSURJIGlucHV0IGNhbm5vdCBiZSBhY3RpdmF0ZWQsIGVp
dGhlciB5b3VyIGJyb3dzZXIgc3RpbGwgZG9lcyd0IGhhdmUgaXQsIG9yIHlvdSBuZWVkIHRvIGV4
cGxpY2l0bHkgYWN0aXZhdGUgaXQuIik7CiAgICB9Cn0KCi8vIEF1ZGlvIGlucHV0IGhhbmRsaW5n
CgpmdW5jdGlvbiBhY3RpdmF0ZUF1ZGlvSW5wdXQoKQp7CiAgICBpZiAoIW5hdmlnYXRvci5nZXRV
c2VyTWVkaWEpIHsKICAgICAgICBuYXZpZ2F0b3IuZ2V0VXNlck1lZGlhID0gbmF2aWdhdG9yLndl
YmtpdEdldFVzZXJNZWRpYSB8fCBuYXZpZ2F0b3IubW96R2V0VXNlck1lZGlhOwogICAgfQogICAK
ICAgIGlmIChuYXZpZ2F0b3IuZ2V0VXNlck1lZGlhKSB7CiAgICAgICAgbmF2aWdhdG9yLmdldFVz
ZXJNZWRpYSh7YXVkaW86dHJ1ZX0sIGdldERldmljZSwgZnVuY3Rpb24oZSkgewogICAgICAgICAg
ICAgICAgYWxlcnQoJ0Vycm9yIGdldHRpbmcgYXVkaW8gaW5wdXQnKTsKICAgICAgICAgICAgICAg
IGNvbnNvbGUubG9nKGUpOwogICAgICAgIH0pOwogICAgfSBlbHNlIHsKICAgICAgICBhbGVydCgn
QXVkaW8gaW5wdXQgQVBJIG5vdCBhdmFpbGFibGUnKTsKICAgIH0KfQoKZnVuY3Rpb24gZ2V0RGV2
aWNlKGRldmljZSkgCnsKICAgIC8vIENyZWF0ZSBhbiBBdWRpb05vZGUgZnJvbSB0aGUgc3RyZWFt
LgogICAgYXVkaW9faW5wdXQgPSBhdWRpb19jb250ZXh0LmNyZWF0ZU1lZGlhU3RyZWFtU291cmNl
KGRldmljZSk7CiAgICAKICAgIC8vIENvbm5lY3QgaXQgdG8gdGhlIGRlc3RpbmF0aW9uLgogICAg
YXVkaW9faW5wdXQuY29ubmVjdChwaWFub19wb2x5LnNjcmlwdFByb2Nlc3Nvcik7Cn0KCmZ1bmN0
aW9uIHN0YXJ0cGlhbm9BdXgoYnVmZmVyX3NpemUpIAp7CiAgICBhY3RpdmF0ZU1JRElJbnB1dCgp
OwogICAgaWYgKHBpYW5vX3BvbHkpIHsKICAgICAgICBpZiAoYXVkaW9faW5wdXQpIHsKICAgICAg
ICAgICAgYXVkaW9faW5wdXQuZGlzY29ubmVjdChwaWFub19wb2x5LnNjcmlwdFByb2Nlc3Nvcik7
CiAgICAgICAgfQogICAgICAgIHBpYW5vX3BvbHkuc3RvcCgpOwogICAgICAgIHBpYW5vX3BvbHku
ZGVzdHJveSgpOwogICAgfQogICAgcGlhbm9fcG9seSA9IGZhdXN0LnBpYW5vX3BvbHkoYXVkaW9f
Y29udGV4dCwgYnVmZmVyX3NpemUsIG1heF9wb2x5cGhvbnksIF9mNHUkdC51cGRhdGVfdmFsdWVf
YXRfYWRkcmVzcyk7CiAgICBwaWFub19wb2x5LnN0YXJ0KCk7CiAgICBjb25zb2xlLmxvZyhwaWFu
b19wb2x5Lmpzb24oKSk7CiAgICAvLyBrbHVkZ2UuLi5pZGVhbGx5LCB0aGlzIG5lZWRzIHRvIG5v
dCBiZSBwYXJ0IG9mIHRoZSBpbXBvcnRlZCBKUwogICAgX2Y0dSR0Lm1haW5fbG9vcCA9IGZ1bmN0
aW9uKCkge30KICAgIF9mNHUkdC5tYWluKHBpYW5vX3BvbHkuanNvbigpLCBudWxsLCBwaWFub19w
b2x5LnVwZGF0ZSk7Cn0KCmZ1bmN0aW9uIHN0YXJ0cGlhbm8oKSAKewogICAgc3RhcnRwaWFub0F1
eCgxMDI0KTsKfQoKZnVuY3Rpb24gc3RhcnROZXdwaWFubyhidWZmZXJfc2l6ZSkgCnsKICAgIHN0
YXJ0cGlhbm9BdXgoYnVmZmVyX3NpemUpOwp9CgovLyBQb2x5cGhvbmljIGluc3RydW1lbnQKCiQo
c3RhcnRwaWFubyk7Cgo8L3NjcmlwdD4KCjxQPgo8Y2VudGVyPgo8Zm9ybSBtZXRob2Q9IlBPU1Qi
IG5hbWU9Im1lbnUiID4KICA8c2VsZWN0IG5hbWU9InNlbGVjdGVkQnVmZmVyIiAKICAgIG9uQ2hh
bmdlPSJjaGFuZ2VCdWZmZXJTaXplKHRoaXMuZm9ybS5zZWxlY3RlZEJ1ZmZlcikiPgogICAgPG9w
dGlvbiB2YWx1ZSA9IDI1NiA+IDI1NiA8L29wdGlvbj4KICAgIDxvcHRpb24gdmFsdWUgPSA1MTI+
IDUxMiA8L29wdGlvbj4KICAgIDxvcHRpb24gc2VsZWN0ZWQgdmFsdWUgPSAxMDI0PiAxMDI0IDwv
b3B0aW9uPgogICAgPG9wdGlvbiB2YWx1ZSA9IDIwNDg+IDIwNDggPC9vcHRpb24+CiAgICA8b3B0
aW9uIHZhbHVlID0gNDA5Nj4gNDA5NiA8L29wdGlvbj4KICAgIDxvcHRpb24gdmFsdWUgPSA4MTky
PiA4MTkyIDwvb3B0aW9uPgogIDwvc2VsZWN0Pgo8L2Zvcm0+CjwvY2VudGVyPgo8L2JvZHk+Cjwv
aHRtbD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>