<?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>10057</bug_id>
          
          <creation_ts>2006-07-21 19:58:29 -0700</creation_ts>
          <short_desc>REGRESSION: Rhapsody Player doesn&apos;t play in WebKit</short_desc>
          <delta_ts>2007-02-07 04:44:49 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>420+</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.4</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>http://www.rhapsody.com/player?type=track&amp;id=10648867&amp;title=G.+Love&amp;remote=false&amp;page=null&amp;pageregion=null&amp;guid=null&amp;from=undefined</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar, NeedsReduction, Regression</keywords>
          <priority>P1</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>10186</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Troy Brandt">troyb</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>dacarson</cc>
    
    <cc>mrowe</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>50525</commentid>
    <comment_count>0</comment_count>
    <who name="Troy Brandt">troyb</who>
    <bug_when>2006-07-21 19:58:29 -0700</bug_when>
    <thetext>The Real Rhapsody player doesn&apos;t seem to want to play in the WebKit nightlies. 

In Safari 2.0.4 the player loads and begins playing once fully loaded and the song has cached up some. With WebKit r15561 nothing ever happens beyond the player images loading, you see the player but the selected music never loads.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>50547</commentid>
    <comment_count>1</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2006-07-22 00:31:27 -0700</bug_when>
    <thetext>Regression-&gt;P1, but I cannot confirm, because the site blocks non-U.S. users.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>50712</commentid>
    <comment_count>2</comment_count>
    <who name="David Carson">dacarson</who>
    <bug_when>2006-07-24 16:36:46 -0700</bug_when>
    <thetext>After installing the player, it never seems to load the music player. The Javascript console shows a whole host of issues, 14 errors in all. If there was a way to copy and paste the javascript console errors to the report, I would do so.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>50713</commentid>
    <comment_count>3</comment_count>
    <who name="David Carson">dacarson</who>
    <bug_when>2006-07-24 16:38:49 -0700</bug_when>
    <thetext>Found the console error messages. Here they are:
[3952] http://www.rhapsody.com/player?type=track&amp;id=10648867&amp;title=G.+Love&amp;remote=false&amp;page=null&amp;pageregion=null&amp;guid=null&amp;from=undefined line 1376: ReferenceError: Can&apos;t find variable: onAuthenticateDone
[3952] http://www.rhapsody.com/player?type=track&amp;id=10648867&amp;title=G.+Love&amp;remote=false&amp;page=null&amp;pageregion=null&amp;guid=null&amp;from=undefined line 1379: ReferenceError: Can&apos;t find variable: onTrackOpened
[3952] http://www.rhapsody.com/player?type=track&amp;id=10648867&amp;title=G.+Love&amp;remote=false&amp;page=null&amp;pageregion=null&amp;guid=null&amp;from=undefined line 1382: ReferenceError: Can&apos;t find variable: onTrackClosed
[3952] http://www.rhapsody.com/player?type=track&amp;id=10648867&amp;title=G.+Love&amp;remote=false&amp;page=null&amp;pageregion=null&amp;guid=null&amp;from=undefined line 1385: ReferenceError: Can&apos;t find variable: onBufferingProgress
[3952] http://www.rhapsody.com/player?type=track&amp;id=10648867&amp;title=G.+Love&amp;remote=false&amp;page=null&amp;pageregion=null&amp;guid=null&amp;from=undefined line 1388: ReferenceError: Can&apos;t find variable: onDownloadProgress
[3952] http://www.rhapsody.com/player?type=track&amp;id=10648867&amp;title=G.+Love&amp;remote=false&amp;page=null&amp;pageregion=null&amp;guid=null&amp;from=undefined line 1391: ReferenceError: Can&apos;t find variable: onPlayStateChanged
[3952] http://www.rhapsody.com/player?type=track&amp;id=10648867&amp;title=G.+Love&amp;remote=false&amp;page=null&amp;pageregion=null&amp;guid=null&amp;from=undefined line 1394: ReferenceError: Can&apos;t find variable: onPositionChanged
[3952] http://www.rhapsody.com/player?type=track&amp;id=10648867&amp;title=G.+Love&amp;remote=false&amp;page=null&amp;pageregion=null&amp;guid=null&amp;from=undefined line 1397: ReferenceError: Can&apos;t find variable: onDurationChanged
[3952] http://www.rhapsody.com/player?type=track&amp;id=10648867&amp;title=G.+Love&amp;remote=false&amp;page=null&amp;pageregion=null&amp;guid=null&amp;from=undefined line 1400: ReferenceError: Can&apos;t find variable: onXmlMessageDone
[3952] http://www.rhapsody.com/player?type=track&amp;id=10648867&amp;title=G.+Love&amp;remote=false&amp;page=null&amp;pageregion=null&amp;guid=null&amp;from=undefined line 1403: ReferenceError: Can&apos;t find variable: onServerError
[3952] http://www.rhapsody.com/player?type=track&amp;id=10648867&amp;title=G.+Love&amp;remote=false&amp;page=null&amp;pageregion=null&amp;guid=null&amp;from=undefined line 1406: ReferenceError: Can&apos;t find variable: onError
[3952] http://www.rhapsody.com/player?type=track&amp;id=10648867&amp;title=G.+Love&amp;remote=false&amp;page=null&amp;pageregion=null&amp;guid=null&amp;from=undefined line 1409: ReferenceError: Can&apos;t find variable: onIdle
[3952] http://www.rhapsody.com/player?type=track&amp;id=10648867&amp;title=G.+Love&amp;remote=false&amp;page=null&amp;pageregion=null&amp;guid=null&amp;from=undefined line 1412: ReferenceError: Can&apos;t find variable: onMetadataReceived
[3952]  line 1: ReferenceError: Can&apos;t find variable: onPositionChanged
[3952]  line 1: ReferenceError: Can&apos;t find variable: onIdle
[3952]  line 1: ReferenceError: Can&apos;t find variable: onIdle
(event handler):Undefined value
[3952]  line 1: ReferenceError: Can&apos;t find variable: onIdle
[3952]  line 1: ReferenceError: Can&apos;t find variable: onIdle
[3952]  line 1: ReferenceError: Can&apos;t find variable: onIdle
[3952]  line 1: ReferenceError: Can&apos;t find variable: onIdle
[3952]  line 1: ReferenceError: Can&apos;t find variable: onIdle
[3952]  line 1: ReferenceError: Can&apos;t find variable: onIdle
[3952]  line 1: ReferenceError: Can&apos;t find variable: onIdle

</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>50718</commentid>
    <comment_count>4</comment_count>
    <who name="David Carson">dacarson</who>
    <bug_when>2006-07-24 16:44:43 -0700</bug_when>
    <thetext>Works fine in Safari 2.0.4 (419.3)
Problem seems to be in ToT. Errors listed above are from r 15608</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>50877</commentid>
    <comment_count>5</comment_count>
    <who name="David Carson">dacarson</who>
    <bug_when>2006-07-26 15:32:07 -0700</bug_when>
    <thetext>with r 15639, the player now appears, and none of the &apos;line 1&apos; errors listed at the end of comment #3 are shown.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>51311</commentid>
    <comment_count>6</comment_count>
    <who name="David Carson">dacarson</who>
    <bug_when>2006-08-01 11:31:22 -0700</bug_when>
    <thetext>Difficulty in debugging JS. If Drosera is attached, WebKit crashes. Below is the crash log. If you run WebKit in xCode, then Drosera can&apos;t find it to attach to it. If you run WebKit using the script gdb-webkit, you get a different stack trace.
-----
0   com.apple.WebCore        	0x01bb0d6f WTF::RefPtr&lt;WebCore::StringImpl&gt;::get() const + 9 (RefPtr.h:45)
1   com.apple.WebCore        	0x01bb0d85 WebCore::String::impl() const + 17 (PlatformString.h:130)
2   com.apple.WebCore        	0x01beecd9 WebCore::operator==(WebCore::String const&amp;, WebCore::AtomicString const&amp;) + 31 (ContainerNode.h:102)
3   com.apple.WebCore        	0x01aa664f KJS::Plugin::getOwnPropertySlot(KJS::ExecState*, KJS::Identifier const&amp;, KJS::PropertySlot&amp;) + 291 (kjs_navigator.cpp:462)
4   com.apple.JavaScriptCore 	0x010947f7 KJS::JSObject::getPropertySlot(KJS::ExecState*, KJS::Identifier const&amp;, KJS::PropertySlot&amp;) + 51 (property_slot.h:617)
5   com.apple.JavaScriptCore 	0x010346ba KJS::JSObject::get(KJS::ExecState*, KJS::Identifier const&amp;) const + 38 (object.cpp:155)
6   com.apple.WebCore        	0x01b587bf +[WebScriptObject _convertValueToObjcValue:originExecutionContext:executionContext:] + 165 (WebScriptObject.mm:405)
7   com.apple.WebCore        	0x01b58436 -[WebScriptObject valueForKey:] + 672 (WebScriptObject.mm:289)
8   libobjc.A.dylib          	0x90a51c56 objc_msgSendv + 54
9   com.apple.Foundation     	0x92730407 -[NSInvocation invoke] + 1341
10  com.apple.Foundation     	0x9277d45f -[NSConnection dispatchInvocation:] + 487
11  com.apple.Foundation     	0x9277b861 -[NSConnection handleRequest:sequence:] + 1273
12  com.apple.Foundation     	0x9277b0be -[NSConnection handlePortCoder:] + 922
13  com.apple.Foundation     	0x9277acff -[NSConcretePortCoder dispatch] + 188
14  com.apple.Foundation     	0x9277a75c __NSFireMachPort + 307
15  com.apple.CoreFoundation 	0x90833773 __CFMachPortPerform + 136
16  com.apple.CoreFoundation 	0x90823a14 CFRunLoopRunSpecific + 2904
17  com.apple.CoreFoundation 	0x90822eb5 CFRunLoopRunInMode + 61
18  com.apple.Foundation     	0x92778559 -[NSConnection sendInvocation:] + 2126
19  com.apple.Foundation     	0x9272f324 -[NSObject(NSForwardInvocation) forward::] + 469
20  libobjc.A.dylib          	0x90a51ba1 _objc_msgForward + 49
21  com.apple.WebKit         	0x003a876a -[WebScriptDebugServer webView:exceptionWasRaised:sourceId:line:forWebFrame:] + 196 (WebScriptDebugServer.m:343)
22  com.apple.WebKit         	0x0039a72b -[WebScriptDebugger exceptionRaised:sourceId:line:] + 296 (WebScriptDebugDelegate.m:127)
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>51379</commentid>
    <comment_count>7</comment_count>
      <attachid>9807</attachid>
    <who name="David Carson">dacarson</who>
    <bug_when>2006-08-01 19:06:27 -0700</bug_when>
    <thetext>Created attachment 9807
web archive of offending page

Plugin is also needed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>51380</commentid>
    <comment_count>8</comment_count>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2006-08-01 19:13:39 -0700</bug_when>
    <thetext>The web archive will let non-US users install the plugin too.  Thanks David!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>51391</commentid>
    <comment_count>9</comment_count>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2006-08-02 00:24:22 -0700</bug_when>
    <thetext>Drosera and Safari deadlock while loading the attached web archive.  Filed as bug 10200.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>46682</commentid>
    <comment_count>10</comment_count>
    <who name="Stephanie Lewis">slewis</who>
    <bug_when>2006-11-06 18:55:10 -0800</bug_when>
    <thetext>radar 4822975</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>34169</commentid>
    <comment_count>11</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2007-01-20 01:22:22 -0800</bug_when>
    <thetext>The Rhapsody home page crashes TOT on load now, filed bug 12342.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>25275</commentid>
    <comment_count>12</comment_count>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2007-02-07 03:51:31 -0800</bug_when>
    <thetext>REported as fixed in Radar.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>9807</attachid>
            <date>2006-08-01 19:06:27 -0700</date>
            <delta_ts>2006-08-01 19:06:27 -0700</delta_ts>
            <desc>web archive of offending page</desc>
            <filename>Rhapsody.webarchive</filename>
            <type>application/octet-stream</type>
            <size>209758</size>
            <attacher name="David Carson">dacarson</attacher>
            
              <data encoding="base64">YnBsaXN0MDDTAQIDBJ2lXxAPV2ViU3VicmVzb3VyY2VzXxAPV2ViTWFpblJlc291cmNlXxATV2Vi
U3ViZnJhbWVBcmNoaXZlc68QJgUOEhYbHyQpLTE1Oj5CRkpOUlZaXmJmam5ydnp+goaKjo+QkZWZ
1AYHCAkKCwwNXxATV2ViUmVzb3VyY2VSZXNwb25zZV8QD1dlYlJlc291cmNlRGF0YV5XZWJSZXNv
dXJjZVVSTF8QE1dlYlJlc291cmNlTUlNRVR5cGVPEQR6YnBsaXN0MDDUAQIDBAUGBwpZJGFyY2hp
dmVyWCR2ZXJzaW9uVCR0b3BYJG9iamVjdHNfEA9OU0tleWVkQXJjaGl2ZXISAAGGoNEICV8QE1dl
YlJlc291cmNlUmVzcG9uc2WAAa8QHQsMKS8wNzg8VFVWV1hZWltcXV5fWmBhYmM3ZGhrVSRudWxs
3xAQDQ4PEBESExQVFhcYGRobHB0eHx4gIR4iIyQlHSYnHihSJDZTJDEwUiQyUyQxM1IkN1IkM1Mk
MTFSJDhSJDRTJDE0UiQ5UiQwViRjbGFzc1IkNVMkMTJSJDEQBxABgAWABoAAI0GlAH85P69CETor
EAAjQaUAfziAnjSAHCNBpQ7nxw27v4AC0yorGSEtLldOUy5iYXNlW05TLnJlbGF0aXZlgACAA4AE
XxA6aHR0cDovL3N0YXRpYy5yZWFsb25lLmNvbS9yb3R3L2pzL29iamVjdHMuanM/YmlkPTk5NTkz
NTk1MtIxMjM0WCRjbGFzc2VzWiRjbGFzc25hbWWjNDU2VU5TVVJMViVOU1VSTFhOU09iamVjdF8Q
GGFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdNMYGRw5OjuAB4AbEMjTPT4ZP0lTWk5TLm9iamVjdHNX
TlMua2V5c6lAQUJDREVGR0iAEYASgBOAFIAVgBaAF4AYgBmpSktMTU5PUFFSgAiACYAKgAuADIAN
gA6AD4AQgBpWU2VydmVyXUxhc3QtTW9kaWZpZWRdQWNjZXB0LVJhbmdlc1pDb25uZWN0aW9uVERh
dGVeQ29udGVudC1MZW5ndGhaS2VlcC1BbGl2ZVRFdGFnXENvbnRlbnQtVHlwZVZBcGFjaGVfEB1U
aHUsIDA4IEp1biAyMDA2IDEwOjMxOjAyIEdNVFVieXRlc18QHVdlZCwgMDIgQXVnIDIwMDYgMDI6
MDM6NTEgR01UVTE0ODkxXxASdGltZW91dD0yLCBtYXg9MTAwXxAWIjdhOThiNi0zYTJiLWZiMGI2
NTgwItIxMmVmo2ZnNl8QE05TTXV0YWJsZURpY3Rpb25hcnlcTlNEaWN0aW9uYXJ50jEyaWqiajZf
EBlOU0hUVFBVUkxSZXNwb25zZUludGVybmFs0jEybG2jbW42XxARTlNIVFRQVVJMUmVzcG9uc2Vd
TlNVUkxSZXNwb25zZQAIABEAGwAkACkAMgBEAEkATABiAGQAhACKAK0AsAC0ALcAuwC+AMEAxQDI
AMsAzwDSANUA3ADfAOMA5gDoAOoA7ADuAPAA+QD8AP4BBwEJARIBFAEbASMBLwExATMBNQFyAXcB
gAGLAY8BlQGcAaUBwAHHAckBywHNAdQB3wHnAfEB8wH1AfcB+QH7Af0B/wIBAgMCDQIPAhECEwIV
AhcCGQIbAh0CHwIhAigCNgJEAk8CVAJjAm4CcwKAAocCpwKtAs0C0wLoAwEDBgMKAyADLQMyAzUD
UQNWA1oDbgAAAAAAAAIBAAAAAAAAAG8AAAAAAAAAAAAAAAAAAAN8TxE6Ky8vIFRyYWNraW5nIFZh
cnMKZnVuY3Rpb24gU291cmNlVHJhY2tpbmcoKSB7Cgl0aGlzLmNwYXRoOwoJdGhpcy5wY29kZTsK
CXRoaXMucnNyYzsKCXRoaXMuc3JjOwoJdGhpcy5vcGFnZTsKfQoKClNvdXJjZVRyYWNraW5nLnBy
b3RvdHlwZS5zZXRDcGF0aCA9IGZ1bmN0aW9uIChzKSB7dGhpcy5jcGF0aD1zO307ClNvdXJjZVRy
YWNraW5nLnByb3RvdHlwZS5nZXRDcGF0aCA9IGZ1bmN0aW9uICgpIHtyZXR1cm4gdGhpcy5jcGF0
aDt9OwpTb3VyY2VUcmFja2luZy5wcm90b3R5cGUuc2V0UGNvZGUgPSBmdW5jdGlvbiAocykge3Ro
aXMucGNvZGU9czt9OwpTb3VyY2VUcmFja2luZy5wcm90b3R5cGUuZ2V0UGNvZGUgPSBmdW5jdGlv
biAoKSB7cmV0dXJuIHRoaXMucGNvZGU7fTsKU291cmNlVHJhY2tpbmcucHJvdG90eXBlLnNldFJz
cmMgPSBmdW5jdGlvbiAocykge3RoaXMucnNyYz1zO307ClNvdXJjZVRyYWNraW5nLnByb3RvdHlw
ZS5nZXRSc3JjID0gZnVuY3Rpb24gKCkge3JldHVybiB0aGlzLnJzcmM7fTsKU291cmNlVHJhY2tp
bmcucHJvdG90eXBlLnNldFNyYyA9IGZ1bmN0aW9uIChzKSB7dGhpcy5zcmM9czt9OwpTb3VyY2VU
cmFja2luZy5wcm90b3R5cGUuZ2V0U3JjID0gZnVuY3Rpb24gKCkge3JldHVybiB0aGlzLnNyYzt9
OwpTb3VyY2VUcmFja2luZy5wcm90b3R5cGUuc2V0T3BhZ2UgPSBmdW5jdGlvbiAocykge3RoaXMu
b3BhZ2U9czt9OwpTb3VyY2VUcmFja2luZy5wcm90b3R5cGUuZ2V0T3BhZ2UgPSBmdW5jdGlvbiAo
KSB7cmV0dXJuIHRoaXMub3BhZ2U7fTsKU291cmNlVHJhY2tpbmcucHJvdG90eXBlLnNldEZyb21R
dWVyeVN0cmluZyA9IGZ1bmN0aW9uICh0cmFja2luZ1ZhcnMpIHsKCQkJCQkJCWlmICh0cmFja2lu
Z1ZhcnMgIT0gbnVsbCAmJiB0cmFja2luZ1ZhcnMgIT0gJycpewoJCQkJCQkJCXZhckFyciA9IHRy
YWNraW5nVmFycy5zcGxpdCgiJiIpOwoJCQkJCQkJCWZvciAodmFyIGk9MDsgaTx2YXJBcnIubGVu
Z3RoOyBpKyspewoJCQkJCQkJCQl2YXIgdmFyaWFibGUgPSB2YXJBcnJbaV0uc3BsaXQoIj0iKTsK
CQkJCQkJCQkJaWYgKHZhcmlhYmxlWzBdID09ICdjcGF0aCcpIHsKCQkJCQkJCQkJCXRoaXMuY3Bh
dGg9dmFyaWFibGVbMV07CgkJCQkJCQkJCX0KCQkJCQkJCQkJaWYgKHZhcmlhYmxlWzBdID09ICdw
Y29kZScpIHsKCQkJCQkJCQkJCXRoaXMucGNvZGU9dmFyaWFibGVbMV07CgkJCQkJCQkJCX0KCQkJ
CQkJCQkJaWYgKHZhcmlhYmxlWzBdID09ICdyc3JjJykgewoJCQkJCQkJCQkJdGhpcy5yc3JjPXZh
cmlhYmxlWzFdOwoJCQkJCQkJCQl9CgkJCQkJCQkJCWlmICh2YXJpYWJsZVswXSA9PSAnc3JjJykg
ewoJCQkJCQkJCQkJdGhpcy5zcmM9dmFyaWFibGVbMV07CgkJCQkJCQkJCX0KCQkJCQkJCQkJaWYg
KHZhcmlhYmxlWzBdID09ICdvcGFnZScpIHsKCQkJCQkJCQkJCXRoaXMub3BhZ2U9dmFyaWFibGVb
MV07CgkJCQkJCQkJCX0KCQkJCQkJCQl9CgkJCQkJCQl9CgkJCQkJCX07ClNvdXJjZVRyYWNraW5n
LnByb3RvdHlwZS5nZXRBc1hNTEF0dHJpYnV0ZXMgPSBmdW5jdGlvbiAoKSB7CgkJCQkJCQkJdmFy
IHZhclN0ciA9ICcnOwoJCQkJCQkJCWlmICh0aGlzLmNwYXRoICE9IG51bGwpIHsKCQkJCQkJCQkJ
dmFyU3RyID0gdmFyU3RyICsgImNwYXRoPSciICsgdGhpcy5jcGF0aCArIicgIjsKCQkJCQkJCQl9
CgkJCQkJCQkJaWYgKHRoaXMucGNvZGUgIT0gbnVsbCkgewoJCQkJCQkJCQl2YXJTdHIgPSB2YXJT
dHIgKyAicGNvZGU9JyIgKyB0aGlzLnBjb2RlICsiJyAiOwoJCQkJCQkJCX0KCQkJCQkJCQlpZiAo
dGhpcy5yc3JjICE9IG51bGwpIHsKCQkJCQkJCQkJdmFyU3RyID0gdmFyU3RyICsgInJzcmM9JyIg
KyB0aGlzLnJzcmMgKyInICI7CgkJCQkJCQkJfQoJCQkJCQkJCWlmICh0aGlzLnNyYyAhPSBudWxs
KSB7CgkJCQkJCQkJCXZhclN0ciA9IHZhclN0ciArICJzcmM9JyIgKyB0aGlzLnNyYyArIicgIjsK
CQkJCQkJCQl9CgkJCQkJCQkJaWYgKHRoaXMub3BhZ2UgIT0gbnVsbCkgewoJCQkJCQkJCQl2YXJT
dHIgPSB2YXJTdHIgKyAib3BhZ2U9JyIgKyB0aGlzLm9wYWdlICsiJyAiOwoJCQkJCQkJCX0KCQkJ
CQkJCQlyZXR1cm4gdmFyU3RyOwoJCQkJCQkJfTsKCQkJCQkJCi8vIE1lbWJlcgpmdW5jdGlvbiBN
ZW1iZXIoKSB7Cgl0aGlzLnVzZXJOYW1lOwoJdGhpcy5wYXNzd29yZDsKCXRoaXMuZ3VpZDsKCQp9
CgpNZW1iZXIucHJvdG90eXBlLnNldFVzZXJuYW1lID0gZnVuY3Rpb24gKHMpIHt0aGlzLnVzZXJO
YW1lPXM7fTsKTWVtYmVyLnByb3RvdHlwZS5nZXRVc2VybmFtZSA9IGZ1bmN0aW9uICgpIHtyZXR1
cm4gdGhpcy51c2VyTmFtZTt9OwpNZW1iZXIucHJvdG90eXBlLnNldFBhc3N3b3JkID0gZnVuY3Rp
b24gKHMpIHt0aGlzLnBhc3N3b3JkPXM7fTsKTWVtYmVyLnByb3RvdHlwZS5nZXRQYXNzd29yZCA9
IGZ1bmN0aW9uICgpIHtyZXR1cm4gdGhpcy5wYXNzd29yZDt9OwpNZW1iZXIucHJvdG90eXBlLnNl
dEd1aWQgPSBmdW5jdGlvbiAocykge3RoaXMuZ3VpZD1zO307Ck1lbWJlci5wcm90b3R5cGUuZ2V0
R3VpZCA9IGZ1bmN0aW9uICgpIHtyZXR1cm4gdGhpcy5ndWlkO307CgovLyBBcnRpc3QKZnVuY3Rp
b24gQXJ0aXN0KCkgewoJdGhpcy5kaXNwbGF5TmFtZTsKCXRoaXMucHJpbWFyeU5hbWU7Cgl0aGlz
LmlkOwoJdGhpcy5yZW1vdGVJZDsKCXRoaXMubXVzaWNTdG9yZUF2YWlsYWJsZTsKCXRoaXMuc2hv
cnRjdXQ7Cn0KCkFydGlzdC5wcm90b3R5cGUuc2V0RGlzcGxheU5hbWUgPSBmdW5jdGlvbiAocykg
e3RoaXMuZGlzcGxheU5hbWU9czt9OwpBcnRpc3QucHJvdG90eXBlLmdldERpc3BsYXlOYW1lID0g
ZnVuY3Rpb24gKCkge3JldHVybiB0aGlzLmRpc3BsYXlOYW1lO307CkFydGlzdC5wcm90b3R5cGUu
c2V0UHJpbWFyeU5hbWUgPSBmdW5jdGlvbiAocykge3RoaXMucHJpbWFyeU5hbWU9czt9OwpBcnRp
c3QucHJvdG90eXBlLnNldFJlbW90ZUlkID0gZnVuY3Rpb24gKHMpIHt0aGlzLnJlbW90ZUlkPXM7
fTsKQXJ0aXN0LnByb3RvdHlwZS5nZXRQcmltYXJ5TmFtZSA9IGZ1bmN0aW9uICgpIHtyZXR1cm4g
dGhpcy5wcmltYXJ5TmFtZTt9OwpBcnRpc3QucHJvdG90eXBlLnNldElkID0gZnVuY3Rpb24gKHMp
IHt0aGlzLmlkPXM7fTsKQXJ0aXN0LnByb3RvdHlwZS5nZXRJZCA9IGZ1bmN0aW9uICgpIHtyZXR1
cm4gdGhpcy5pZDt9OwpBcnRpc3QucHJvdG90eXBlLmdldFJlbW90ZUlkID0gZnVuY3Rpb24gKCkg
e3JldHVybiB0aGlzLnJlbW90ZUlkO307CkFydGlzdC5wcm90b3R5cGUuc2V0TXVzaWNTdG9yZUF2
YWlsYWJsZT0gZnVuY3Rpb24gKG9iaikge3RoaXMubXVzaWNTdG9yZUF2YWlsYWJsZT1vYmo7fTsK
QXJ0aXN0LnByb3RvdHlwZS5pc011c2ljU3RvcmVBdmFpbGFibGUgPSBmdW5jdGlvbiAoKSB7cmV0
dXJuIHRoaXMubXVzaWNTdG9yZUF2YWlsYWJsZTt9OwpBcnRpc3QucHJvdG90eXBlLnNldFNob3J0
Y3V0ID0gZnVuY3Rpb24gKHMpIHt0aGlzLnNob3J0Y3V0PXM7fTsKQXJ0aXN0LnByb3RvdHlwZS5n
ZXRTaG9ydGN1dCA9IGZ1bmN0aW9uICgpIHtyZXR1cm4gdGhpcy5zaG9ydGN1dDt9OwpBcnRpc3Qu
cHJvdG90eXBlLnRvU3RyaW5nID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gJ0Rpc3BsYXkgTmFtZTog
JyArIHRoaXMuZGlzcGxheU5hbWUgKycsIFByaW1hcnkgTmFtZTogJyArIHRoaXMucHJpbWFyeU5h
bWUgKycsIElkOiAnICsgdGhpcy5pZCArICcgc2hvcnRjdXQ6ICcgKyB0aGlzLnNob3J0Y3V0ICsg
JyBtdXNpY3N0b3JlQXZhaWw6ICcgKyB0aGlzLm11c2ljU3RvcmVBdmFpbGFibGUrICcgcmVtb3Rl
SWQ6ICcgKyB0aGlzLnJlbW90ZUlkO307CgogICAJCQovLyBBbGJ1bQpmdW5jdGlvbiBBbGJ1bSgp
IHsKCXRoaXMubmFtZTsKCXRoaXMudG90YWxUcmFja3M7Cgl0aGlzLnRvdGFsRGlzY3M7Cgl0aGlz
LnJlbGVhc2VEYXRlOwoJdGhpcy5wYTsKCXRoaXMuYXJ0dXJsc21hbGw7Cgl0aGlzLmFydHVybGxh
cmdlOwoJdGhpcy5pZDsKCXRoaXMuYXJ0aXN0OwoJdGhpcy5pc0NvbXBpbGF0aW9uOwoJdGhpcy5y
ZW1vdGVJZDsKCXRoaXMubXVzaWNTdG9yZUF2YWlsYWJsZTsKfQoKQWxidW0ucHJvdG90eXBlLnNl
dE5hbWUgPSBmdW5jdGlvbiAocykge3RoaXMubmFtZT1zO307CkFsYnVtLnByb3RvdHlwZS5nZXRO
YW1lID0gZnVuY3Rpb24gKCkge3JldHVybiB0aGlzLm5hbWU7fTsKQWxidW0ucHJvdG90eXBlLnNl
dFRvdGFsVHJhY2tzID0gZnVuY3Rpb24gKHMpIHt0aGlzLnRvdGFsVHJhY2tzPXM7fTsKQWxidW0u
cHJvdG90eXBlLmdldFRvdGFsVHJhY2tzID0gZnVuY3Rpb24gKCkge3JldHVybiB0aGlzLnRvdGFs
VHJhY2tzO307CkFsYnVtLnByb3RvdHlwZS5zZXRUb3RhbERpc2NzID0gZnVuY3Rpb24gKHMpIHt0
aGlzLnRvdGFsRGlzY3M9czt9OwpBbGJ1bS5wcm90b3R5cGUuZ2V0VG90YWxEaXNjcyA9IGZ1bmN0
aW9uICgpIHtyZXR1cm4gdGhpcy50b3RhbERpc2NzO307CQpBbGJ1bS5wcm90b3R5cGUuc2V0UmVs
ZWFzZURhdGUgPSBmdW5jdGlvbiAocykge3RoaXMucmVsZWFzZURhdGU9czt9OwpBbGJ1bS5wcm90
b3R5cGUuZ2V0UmVsZWFzZURhdGUgPSBmdW5jdGlvbiAoKSB7cmV0dXJuIHRoaXMucmVsZWFzZURh
dGU7fTsKQWxidW0ucHJvdG90eXBlLnNldFBhID0gZnVuY3Rpb24gKHMpIHt0aGlzLnBhPXM7fTsK
QWxidW0ucHJvdG90eXBlLmdldFBhID0gZnVuY3Rpb24gKCkge3JldHVybiB0aGlzLnBhO307CkFs
YnVtLnByb3RvdHlwZS5zZXRBcnR1cmxzbWFsbCA9IGZ1bmN0aW9uIChzKSB7dGhpcy5hcnR1cmxz
bWFsbD1zO307CkFsYnVtLnByb3RvdHlwZS5nZXRBcnR1cmxzbWFsbCA9IGZ1bmN0aW9uICgpIHty
ZXR1cm4gdGhpcy5hcnR1cmxzbWFsbDt9OwpBbGJ1bS5wcm90b3R5cGUuc2V0QXJ0dXJsbGFyZ2Ug
PSBmdW5jdGlvbiAocykge3RoaXMuYXJ0dXJsbGFyZ2U9czt9OwpBbGJ1bS5wcm90b3R5cGUuZ2V0
QXJ0dXJsbGFyZ2UgPSBmdW5jdGlvbiAoKSB7cmV0dXJuIHRoaXMuYXJ0dXJsbGFyZ2U7fTsKQWxi
dW0ucHJvdG90eXBlLnNldElkID0gZnVuY3Rpb24gKHMpIHt0aGlzLmlkPXM7fTsKQWxidW0ucHJv
dG90eXBlLmdldElkID0gZnVuY3Rpb24gKCkge3JldHVybiB0aGlzLmlkO307CkFsYnVtLnByb3Rv
dHlwZS5zZXRJc0NvbXBpbGF0aW9uID0gZnVuY3Rpb24gKHMpIHt0aGlzLmlzQ29tcGlsYXRpb249
czt9OwpBbGJ1bS5wcm90b3R5cGUuZ2V0SXNDb21waWxhdGlvbiA9IGZ1bmN0aW9uICgpIHtyZXR1
cm4gdGhpcy5pc0NvbXBpbGF0aW9uO307CkFsYnVtLnByb3RvdHlwZS5zZXRBcnRpc3QgPSBmdW5j
dGlvbiAob2JqKSB7dGhpcy5hcnRpc3Q9b2JqO307CkFsYnVtLnByb3RvdHlwZS5nZXRBcnRpc3Qg
PSBmdW5jdGlvbiAoKSB7cmV0dXJuIHRoaXMuYXJ0aXN0O307CkFsYnVtLnByb3RvdHlwZS5zZXRS
ZW1vdGVJZCA9IGZ1bmN0aW9uIChvYmopIHt0aGlzLnJlbW90ZUlkPW9iajt9OwpBbGJ1bS5wcm90
b3R5cGUuZ2V0UmVtb3RlSWQgPSBmdW5jdGlvbiAoKSB7cmV0dXJuIHRoaXMucmVtb3RlSWQ7fTsK
QWxidW0ucHJvdG90eXBlLnNldE11c2ljU3RvcmVBdmFpbGFibGU9IGZ1bmN0aW9uIChvYmopIHt0
aGlzLm11c2ljU3RvcmVBdmFpbGFibGU9b2JqO307CkFsYnVtLnByb3RvdHlwZS5pc011c2ljU3Rv
cmVBdmFpbGFibGUgPSBmdW5jdGlvbiAoKSB7cmV0dXJuIHRoaXMubXVzaWNTdG9yZUF2YWlsYWJs
ZTt9OwpBbGJ1bS5wcm90b3R5cGUudG9TdHJpbmcgPSBmdW5jdGlvbiAoKSB7IHJldHVybiAnTmFt
ZTogJyArIHRoaXMubmFtZSArICcsIElkOiAnICsgdGhpcy5pZCArJywgVG90YWwgVHJhY2tzOiAn
ICsgdGhpcy50b3RhbFRyYWNrcyArJywgVG90YWwgRGlzY3M6ICcgKyB0aGlzLnRvdGFsRGlzY3Mg
KycsIFJlbGVhc2UgRGF0ZTogJyArIHRoaXMucmVsZWFzZURhdGUgKycsIFBBOiAnICsgdGhpcy5w
YSArJywgQXJ0IFVSTDogJyArIHRoaXMuYXJ0dXJsc21hbGwgKyAnLCBBcnQgVVJMIChsYXJnZSk6
ICcgKyB0aGlzLmFydHVybGxhcmdlICsgJywgSXMgQ29tcDogJyArIHRoaXMuaXNDb21waWxhdGlv
biArICcgbXVzaWNzdG9yZUF2YWlsOiAnICsgdGhpcy5tdXNpY1N0b3JlQXZhaWxhYmxlKyAnIHJl
bW90ZUlkOiAnICsgdGhpcy5yZW1vdGVJZDt9OwoKLy9HZW5yZQpmdW5jdGlvbiBHZW5yZSgpIHsK
CXRoaXMudG9wTGV2ZWxOYW1lOwoJdGhpcy5wcmltYXJ5TmFtZTsKCXRoaXMucmFkaW9TdGF0aW9u
QXJyYXkgPSBuZXcgQXJyYXkoKTsKfQpHZW5yZS5wcm90b3R5cGUuc2V0VG9wTGV2ZWxOYW1lID0g
ZnVuY3Rpb24gKHMpIHt0aGlzLnRvcExldmVsTmFtZT1zO307CkdlbnJlLnByb3RvdHlwZS5nZXRU
b3BMZXZlbE5hbWUgPSBmdW5jdGlvbiAoKSB7cmV0dXJuIHRoaXMudG9wTGV2ZWxOYW1lO307Ckdl
bnJlLnByb3RvdHlwZS5zZXRQcmltYXJ5TmFtZSA9IGZ1bmN0aW9uIChzKSB7dGhpcy5wcmltYXJ5
TmFtZT1zO307CkdlbnJlLnByb3RvdHlwZS5nZXRQcmltYXJ5TmFtZSA9IGZ1bmN0aW9uICgpIHty
ZXR1cm4gdGhpcy5wcmltYXJ5TmFtZTt9OwpHZW5yZS5wcm90b3R5cGUuc2V0UmFkaW9TdGF0aW9u
QXJyYXkgPSBmdW5jdGlvbiAocykge3RoaXMucmFkaW9TdGF0aW9uQXJyYXk9czt9OwpHZW5yZS5w
cm90b3R5cGUuZ2V0UmFkaW9TdGF0aW9uQXJyYXkgPSBmdW5jdGlvbiAoKSB7cmV0dXJuIHRoaXMu
cmFkaW9TdGF0aW9uQXJyYXk7fTsKR2VucmUucHJvdG90eXBlLnRvU3RyaW5nID0gZnVuY3Rpb24g
KCkgeyB2YXIgcmFkaW87CgkJCQkJIGZvciAodmFyIGk9MDsgaTx0aGlzLnJhZGlvU3RhdGlvbkFy
cmF5Lmxlbmd0aDsgaSsrKXsKCQkJCQkJcmFkaW8gPSByYWRpbyArIHRoaXMucmFkaW9TdGF0aW9u
QXJyYXlbaV0udG9TdHJpbmcoKTsKCQkJCSAgICAgICAgIH0KCQkJCQkgcmV0dXJuICdUb3AgTGV2
ZWwgTmFtZTogJyArIHRoaXMudG9wTGV2ZWxOYW1lICsnLCBQcmltYXJ5IE5hbWU6ICcgKyB0aGlz
LnByaW1hcnlOYW1lICsgJ1JhZGlvIFN0YXRpb25zOiAnICsgcmFkaW87CgkJCQkJfTsKCi8vUmln
aHRzCmZ1bmN0aW9uIFJpZ2h0cygpIHsKCXRoaXMuZ2xvYmFsOwp9ClJpZ2h0cy5wcm90b3R5cGUu
c2V0R2xvYmFsID0gZnVuY3Rpb24gKHMpIHt0aGlzLmdsb2JhbD1zO307ClJpZ2h0cy5wcm90b3R5
cGUuZ2V0R2xvYmFsID0gZnVuY3Rpb24gKCkge3JldHVybiB0aGlzLmdsb2JhbDt9OwpSaWdodHMu
cHJvdG90eXBlLnRvU3RyaW5nID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gJ0dsb2JhbDogJyArIHRo
aXMuZ2xvYmFsO307CgovL1RyYWNrCmZ1bmN0aW9uIFRyYWNrKCkgewoJdGhpcy50cmFja0luZGV4
OwoJdGhpcy5ybXM7Cgl0aGlzLnBsYXlMZW5ndGg7Cgl0aGlzLm5hbWU7Cgl0aGlzLmlkOwoJdGhp
cy5kaXNjSW5kZXg7Cgl0aGlzLmFydGlzdDsKCXRoaXMuYWxidW07Cgl0aGlzLmdlbnJlOwoJdGhp
cy5yaWdodHM7Cgl0aGlzLnBsYXlsaXN0OwoJdGhpcy5yZW1vdGVJZDsKCXRoaXMuYXV0b1BsYXk7
Cgl0aGlzLnN0YXJ0SGVyZTsKCXRoaXMubXVzaWNTdG9yZUF2YWlsYWJsZTsKCXRoaXMucmhhcHNv
ZHlMaXN0ZW47CgkKfQpUcmFjay5wcm90b3R5cGUuc2V0VHJhY2tJbmRleCA9IGZ1bmN0aW9uIChz
KSB7dGhpcy50cmFja0luZGV4PXM7fTsKVHJhY2sucHJvdG90eXBlLmdldFRyYWNrSW5kZXggPSBm
dW5jdGlvbiAoKSB7cmV0dXJuIHRoaXMudHJhY2tJbmRleDt9OwpUcmFjay5wcm90b3R5cGUuc2V0
Um1zID0gZnVuY3Rpb24gKHMpIHt0aGlzLnJtcz1zO307ClRyYWNrLnByb3RvdHlwZS5nZXRSbXMg
PSBmdW5jdGlvbiAoKSB7cmV0dXJuIHRoaXMucm1zO307ClRyYWNrLnByb3RvdHlwZS5zZXRQbGF5
TGVuZ3RoID0gZnVuY3Rpb24gKHMpIHt0aGlzLnBsYXlMZW5ndGg9czt9OwpUcmFjay5wcm90b3R5
cGUuZ2V0UGxheUxlbmd0aCA9IGZ1bmN0aW9uICgpIHtyZXR1cm4gdGhpcy5wbGF5TGVuZ3RoO307
ClRyYWNrLnByb3RvdHlwZS5zZXROYW1lID0gZnVuY3Rpb24gKHMpIHt0aGlzLm5hbWU9czt9OwpU
cmFjay5wcm90b3R5cGUuZ2V0TmFtZSA9IGZ1bmN0aW9uICgpIHtyZXR1cm4gdGhpcy5uYW1lO307
ClRyYWNrLnByb3RvdHlwZS5zZXRJZCA9IGZ1bmN0aW9uIChzKSB7dGhpcy5pZD1zO307ClRyYWNr
LnByb3RvdHlwZS5nZXRJZCA9IGZ1bmN0aW9uICgpIHtyZXR1cm4gdGhpcy5pZDt9OwpUcmFjay5w
cm90b3R5cGUuc2V0RGlzY0luZGV4ID0gZnVuY3Rpb24gKHMpIHt0aGlzLmRpc2NJbmRleD1zO307
ClRyYWNrLnByb3RvdHlwZS5nZXREaXNjSW5kZXggPSBmdW5jdGlvbiAoKSB7cmV0dXJuIHRoaXMu
ZGlzY0luZGV4O307ClRyYWNrLnByb3RvdHlwZS5zZXRBcnRpc3QgPSBmdW5jdGlvbiAob2JqKSB7
dGhpcy5hcnRpc3Q9b2JqO307ClRyYWNrLnByb3RvdHlwZS5nZXRBcnRpc3QgPSBmdW5jdGlvbiAo
KSB7cmV0dXJuIHRoaXMuYXJ0aXN0O307ClRyYWNrLnByb3RvdHlwZS5zZXRBbGJ1bSA9IGZ1bmN0
aW9uIChvYmopIHt0aGlzLmFsYnVtPW9iajt9OwpUcmFjay5wcm90b3R5cGUuZ2V0QWxidW0gPSBm
dW5jdGlvbiAoKSB7cmV0dXJuIHRoaXMuYWxidW07fTsKVHJhY2sucHJvdG90eXBlLnNldEdlbnJl
ID0gZnVuY3Rpb24gKG9iaikge3RoaXMuZ2VucmU9b2JqO307ClRyYWNrLnByb3RvdHlwZS5nZXRH
ZW5yZSA9IGZ1bmN0aW9uICgpIHtyZXR1cm4gdGhpcy5nZW5yZTt9OwpUcmFjay5wcm90b3R5cGUu
c2V0UmlnaHRzID0gZnVuY3Rpb24gKG9iaikge3RoaXMucmlnaHRzPW9iajt9OwpUcmFjay5wcm90
b3R5cGUuZ2V0UmlnaHRzID0gZnVuY3Rpb24gKCkge3JldHVybiB0aGlzLnJpZ2h0czt9OwpUcmFj
ay5wcm90b3R5cGUuc2V0UGxheWxpc3QgPSBmdW5jdGlvbiAob2JqKSB7dGhpcy5wbGF5bGlzdD1v
Ymo7fTsKVHJhY2sucHJvdG90eXBlLmdldFBsYXlsaXN0ID0gZnVuY3Rpb24gKCkge3JldHVybiB0
aGlzLnBsYXlsaXN0O307ClRyYWNrLnByb3RvdHlwZS5zZXRSZW1vdGVJZCA9IGZ1bmN0aW9uIChv
YmopIHt0aGlzLnJlbW90ZUlkPW9iajt9OwpUcmFjay5wcm90b3R5cGUuZ2V0UmVtb3RlSWQgPSBm
dW5jdGlvbiAoKSB7cmV0dXJuIHRoaXMucmVtb3RlSWQ7fTsKVHJhY2sucHJvdG90eXBlLnNldEF1
dG9QbGF5PSBmdW5jdGlvbiAob2JqKSB7dGhpcy5hdXRvUGxheT1vYmo7fTsKVHJhY2sucHJvdG90
eXBlLmdldEF1dG9QbGF5ID0gZnVuY3Rpb24gKCkge3JldHVybiB0aGlzLmF1dG9QbGF5O307ClRy
YWNrLnByb3RvdHlwZS5zZXRTdGFydEhlcmU9IGZ1bmN0aW9uIChvYmopIHt0aGlzLnN0YXJ0SGVy
ZT1vYmo7fTsKVHJhY2sucHJvdG90eXBlLmdldFN0YXJ0SGVyZSA9IGZ1bmN0aW9uICgpIHtyZXR1
cm4gdGhpcy5zdGFydEhlcmU7fTsKVHJhY2sucHJvdG90eXBlLnNldE11c2ljU3RvcmVBdmFpbGFi
bGU9IGZ1bmN0aW9uIChvYmopIHt0aGlzLm11c2ljU3RvcmVBdmFpbGFibGU9b2JqO307ClRyYWNr
LnByb3RvdHlwZS5pc011c2ljU3RvcmVBdmFpbGFibGUgPSBmdW5jdGlvbiAoKSB7cmV0dXJuIHRo
aXMubXVzaWNTdG9yZUF2YWlsYWJsZTt9OwpUcmFjay5wcm90b3R5cGUuc2V0UmhhcHNvZHlMaXN0
ZW49IGZ1bmN0aW9uIChvYmopIHt0aGlzLnJoYXBzb2R5TGlzdGVuPW9iajt9OwpUcmFjay5wcm90
b3R5cGUuaXNSaGFwc29keUxpc3RlbiA9IGZ1bmN0aW9uICgpIHtyZXR1cm4gdGhpcy5yaGFwc29k
eUxpc3Rlbjt9OwpUcmFjay5wcm90b3R5cGUudG9TdHJpbmcgPSBmdW5jdGlvbiAoKSB7IHJldHVy
biAnTmFtZTogJyArIHRoaXMubmFtZSArJywgVHJhY2sgSWR4OiAnICsgdGhpcy50cmFja0luZGV4
ICsnLCBSTVM6ICcgKyB0aGlzLnJtcyArJywgTGVuZ3RoOiAnICsgdGhpcy5wbGF5TGVuZ3RoICsn
LCBJZDogJyArIHRoaXMuaWQgKycsIERpc2MgSWR4OiAnICsgdGhpcy5kaXNjSW5kZXggKyAnLCBy
ZW1vdGVJZDogJyArIHRoaXMucmVtb3RlSWQgICsgJywgYXV0b3BsYXk6ICcgKyB0aGlzLmF1dG9Q
bGF5ICArICcgbXVzaWNzdG9yZUF2YWlsOiAnICsgdGhpcy5tdXNpY1N0b3JlQXZhaWxhYmxlKyAg
JyByaGFwTGlzdGVuOiAnICsgdGhpcy5yaGFwc29keUxpc3RlbisgJywgc3RhcnRoZXJlOiAnICsg
dGhpcy5zdGFydEhlcmU7IH07CgovL1BsYXlsaXN0CmZ1bmN0aW9uIFBsYXlsaXN0KCkgewoJdGhp
cy50eXBlOwoJdGhpcy5uYW1lOwoJdGhpcy5pZDsKfQpQbGF5bGlzdC5wcm90b3R5cGUuc2V0SWQg
PSBmdW5jdGlvbiAocykge3RoaXMuaWQ9czt9OwpQbGF5bGlzdC5wcm90b3R5cGUuZ2V0SWQgPSBm
dW5jdGlvbiAoKSB7cmV0dXJuIHRoaXMuaWQ7fTsKUGxheWxpc3QucHJvdG90eXBlLnNldE5hbWUg
PSBmdW5jdGlvbiAocykge3RoaXMubmFtZT1zO307ClBsYXlsaXN0LnByb3RvdHlwZS5nZXROYW1l
ID0gZnVuY3Rpb24gKCkge3JldHVybiB0aGlzLm5hbWU7fTsKUGxheWxpc3QucHJvdG90eXBlLnNl
dFR5cGUgPSBmdW5jdGlvbiAocykge3RoaXMudHlwZT1zO307ClBsYXlsaXN0LnByb3RvdHlwZS5n
ZXRUeXBlID0gZnVuY3Rpb24gKCkge3JldHVybiB0aGlzLnR5cGU7fTsKUGxheWxpc3QucHJvdG90
eXBlLnRvU3RyaW5nID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gJ05hbWU6ICcgKyB0aGlzLm5hbWUg
KyAnLCBUeXBlOiAnICsgdGhpcy50eXBlICsgJywgSWQ6ICcgKyB0aGlzLmlkO307CgovLyBSYWRp
b1N0YXRpb24KZnVuY3Rpb24gUmFkaW9TdGF0aW9uKCkgewoJdGhpcy5kaXNwbGF5TmFtZTsKCXRo
aXMuaWQ7Cgl0aGlzLnRhZ2xpbmU7Cgl0aGlzLnJlbW90ZWlkOwoJdGhpcy5hcnRpc3RpZDsKfQoK
UmFkaW9TdGF0aW9uLnByb3RvdHlwZS5zZXREaXNwbGF5TmFtZSA9IGZ1bmN0aW9uIChzKSB7dGhp
cy5kaXNwbGF5TmFtZT1zO307ClJhZGlvU3RhdGlvbi5wcm90b3R5cGUuZ2V0RGlzcGxheU5hbWUg
PSBmdW5jdGlvbiAoKSB7cmV0dXJuIHRoaXMuZGlzcGxheU5hbWU7fTsKUmFkaW9TdGF0aW9uLnBy
b3RvdHlwZS5zZXRJZCA9IGZ1bmN0aW9uIChzKSB7dGhpcy5pZD1zO307ClJhZGlvU3RhdGlvbi5w
cm90b3R5cGUuZ2V0SWQgPSBmdW5jdGlvbiAoKSB7cmV0dXJuIHRoaXMuaWQ7fTsKUmFkaW9TdGF0
aW9uLnByb3RvdHlwZS5zZXRSZW1vdGVJZCA9IGZ1bmN0aW9uIChzKSB7dGhpcy5yZW1vdGVpZD1z
O307ClJhZGlvU3RhdGlvbi5wcm90b3R5cGUuZ2V0UmVtb3RlSWQgPSBmdW5jdGlvbiAoKSB7cmV0
dXJuIHRoaXMucmVtb3RlaWQ7fTsKUmFkaW9TdGF0aW9uLnByb3RvdHlwZS5zZXRBcnRpc3RJZCA9
IGZ1bmN0aW9uIChzKSB7dGhpcy5hcnRpc3RpZD1zO307ClJhZGlvU3RhdGlvbi5wcm90b3R5cGUu
Z2V0QXJ0aXN0SWQgPSBmdW5jdGlvbiAoKSB7cmV0dXJuIHRoaXMuYXJ0aXN0aWQ7fTsKUmFkaW9T
dGF0aW9uLnByb3RvdHlwZS5zZXRUYWdsaW5lID0gZnVuY3Rpb24gKHMpIHt0aGlzLnRhZ2xpbmU9
czt9OwpSYWRpb1N0YXRpb24ucHJvdG90eXBlLmdldFRhZ2xpbmUgPSBmdW5jdGlvbiAoKSB7cmV0
dXJuIHRoaXMudGFnbGluZTt9OwpSYWRpb1N0YXRpb24ucHJvdG90eXBlLnRvU3RyaW5nID0gZnVu
Y3Rpb24oKSB7IHJldHVybiAnTmFtZTogJyArIHRoaXMuZGlzcGxheU5hbWUgKyAnLCB0YWdsaW5l
OiAnICsgdGhpcy50YWdsaW5lICsgJywgSWQ6ICcgKyB0aGlzLmlkICsgJywgUmVtb3RlSWQ6ICcg
KyB0aGlzLnJlbW90ZWlkICsgJywgQXJ0aXN0SWQ6ICcgKyB0aGlzLmFydGlzdGlkfTsKCmZ1bmN0
aW9uIFRyYWNrUXVldWUoKSB7CgogICAgIHZhciBsc2l6ZSA9IDA7CiAgICAgdmFyIGN1cnJlbnRJ
bmRleCA9IC0xOwogICAgIHZhciB0aXRsZTsgLy90aXRsZSB0aGUgY29sbGVjdGlvbiBhcyB3aG9s
ZQogICAgIHRoaXMuYWRkID0gX2FkZDsKICAgICB0aGlzLmlzRW1wdHkgPSBfaXNFbXB0eTsKICAg
ICB0aGlzLnNpemUgPSBfc2l6ZTsKICAgICB0aGlzLmNsZWFyID0gX2NsZWFyOwogICAgIHRoaXMu
Z2V0TmV4dFRyYWNrID0gX2dldE5leHRUcmFjazsKICAgICB0aGlzLmdldFByZXZUcmFjayA9IF9n
ZXRQcmV2VHJhY2s7CiAgICAgdGhpcy5za2lwVG9UcmFjayA9IF9za2lwVG9UcmFjazsKICAgICB0
aGlzLmdldEN1cnJlbnRQb3NpdGlvbiA9IF9nZXRDdXJyZW50UG9zaXRpb247CiAgICAgdGhpcy5o
YXNQcmV2aW91cyA9IF9oYXNQcmV2aW91czsKICAgICB0aGlzLmhhc05leHQgPSBfaGFzTmV4dDsK
ICAgICB0aGlzLmdldEN1cnJlbnRUcmFjayA9IF9nZXRDdXJyZW50VHJhY2s7CiAgICAgdGhpcy5n
ZXQgPSBfZ2V0OwogICAgIHRoaXMuZ2V0VGl0bGUgPSBfZ2V0VGl0bGU7CiAgICAgdGhpcy5zZXRU
aXRsZSA9IF9zZXRUaXRsZTsKICAgICB0aGlzLmdldEN1cnJlbnRJbmRleCA9IF9nZXRDdXJyZW50
SW5kZXg7CiAgICAgdGhpcy5nZXRUcmFja0xpc3RJZHMgPSBfZ2V0VHJhY2tMaXN0SWRzOwoJIHRo
aXMuZ2V0VHJhY2tMaXN0SWRzRm9yU2hhcmUgPSBfZ2V0VHJhY2tMaXN0SWRzRm9yU2hhcmU7CiAg
ICAgdGhpcy5nZXRUcmFja0luZGV4QnlUcmFja0lkID0gX2dldFRyYWNrSW5kZXhCeVRyYWNrSWQ7
CiAgICAgdGhpcy5za2lwVG9TdGFydFRyYWNrID0gX3NraXBUb1N0YXJ0VHJhY2s7CiAgICAgCiAg
ICAgZnVuY3Rpb24gX3NraXBUb1RyYWNrKGlkeCkgeyBjdXJyZW50SW5kZXggPSBpZHg7IHJldHVy
biB0aGlzW2N1cnJlbnRJbmRleF0gfQogICAgIAogICAgIGZ1bmN0aW9uIF9nZXQoaWR4KSB7IHJl
dHVybiB0aGlzW2lkeF07IH0KICAgICAKICAgICBmdW5jdGlvbiBfaGFzUHJldmlvdXMoKSB7CiAg
ICAgCWlmIChjdXJyZW50SW5kZXggPT0gLTEgfHwgY3VycmVudEluZGV4ID09IDApewogICAgIAkJ
cmV0dXJuIGZhbHNlOwogICAgIAl9IAogICAgIAlyZXR1cm4gdHJ1ZTsKICAgICB9CiAgICAgIGZ1
bmN0aW9uIF9zZXRUaXRsZShuZXdUaXRsZSkgewogICAgIAl0aGlzLnRpdGxlID0gbmV3VGl0bGU7
CiAgICAgfSAKICAgICAKICAgICAgZnVuY3Rpb24gX2dldFRpdGxlKCkgewogICAgIAlyZXR1cm4g
dGhpcy50aXRsZTsKICAgICB9IAogICAgIAogICAgIGZ1bmN0aW9uIF9nZXRDdXJyZW50VHJhY2so
KSB7CiAgICAgCXJldHVybiB0aGlzW2N1cnJlbnRJbmRleF07CiAgICAgfSAKICAgICAKICAgICBm
dW5jdGlvbiBfaGFzTmV4dCgpIHsKICAgICAJaWYgKChjdXJyZW50SW5kZXggKyAxKSA+PSBsc2l6
ZSl7CiAgICAgCQlyZXR1cm4gZmFsc2U7CiAgICAgCX0gCiAgICAgCXJldHVybiB0cnVlOwogICAg
IH0KICAgICAgICAgCiAgICAgZnVuY3Rpb24gX2dldEN1cnJlbnRQb3NpdGlvbigpIHsgCgkJcmV0
dXJuIGN1cnJlbnRJbmRleDsKCX07CiAgICAgCiAgICAgZnVuY3Rpb24gX2dldE5leHRUcmFjaygp
IHsKICAgICAJY3VycmVudEluZGV4Kys7CiAgICAgCXJldHVybiB0aGlzW2N1cnJlbnRJbmRleF07
CiAgICAgfQogICAgIGZ1bmN0aW9uIF9nZXRQcmV2VHJhY2soKSB7CiAgICAgCWN1cnJlbnRJbmRl
eC0tOwogICAgIAlyZXR1cm4gdGhpc1tjdXJyZW50SW5kZXhdOwogICAgIH0KICAgICAKICAgICBm
dW5jdGlvbiBfYWRkKG5ld0l0ZW0pIHsKICAgICAgICAgIGlmIChuZXdJdGVtID09IG51bGwpIHJl
dHVybjsKICAgICAgICAgIGxzaXplKys7CiAgICAgICAgICB0aGlzWyhsc2l6ZSAtIDEpXSA9IG5l
d0l0ZW07CiAgICAgICAgICAKICAgICB9CgogICAgIGZ1bmN0aW9uIF9pc0VtcHR5KCkgeyByZXR1
cm4gdGhpcy5sc2l6ZSA9PSAwIH0gICAgCS8vcmV0dXJucyBib29sZWFuIGlmIGNvbGxlY3Rpb24g
aXMvaXNuJ3QgZW1wdHkKCiAgICAgZnVuY3Rpb24gX3NpemUoKSB7IHJldHVybiBsc2l6ZSB9ICAg
ICAJCQkvL3JldHVybnMgdGhlIHNpemUgb2YgdGhlIHF1ZXVlCgogICAgIGZ1bmN0aW9uIF9jbGVh
cigpIHsJCQkJCQkJLy8gQ2xlYXIgdGhlIHF1ZXVlCiAgICAgICAgICBmb3IgKHZhciBpID0gMDsg
aSA8IGxzaXplOyBpKyspCiAgICAgICAgICAgICAgIHRoaXNbaV0gPSBudWxsOwogICAgICAgICAg
ICAgICBsc2l6ZSA9IDA7CiAgICAgICAgICAgICAgIGN1cnJlbnRJbmRleCA9IC0xOwogICAgIH0K
ICAgICAKICAgICBmdW5jdGlvbiBfZ2V0VHJhY2tMaXN0SWRzKCkgewogICAgCXZhciBzdHIgPSAn
JzsKICAgICAJZm9yICh2YXIgaSA9IGN1cnJlbnRJbmRleDsgaSA8IGxzaXplOyBpKyspewoJCWlm
IChpID09IC0xKSBpID0gMDsKICAgICAJCXN0ciA9IHN0ciArIHRoaXNbaV0uZ2V0UmVtb3RlSWQo
KSArICcrJzsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIHN0ci5yZXBsYWNlKC9cKyskL2csICcn
KTs7CiAgICAgfQogICAgIAoJIAoJIGZ1bmN0aW9uIF9nZXRUcmFja0xpc3RJZHNGb3JTaGFyZSgp
IHsKICAgIAl2YXIgc3RyID0gJyc7CiAgICAgCWZvciAodmFyIGkgPSAwOyBpIDwgbHNpemU7IGkr
Kyl7CgkJCWlmKCBpPjAgKSB7IHN0cis9IisiOyB9CgkJCXN0ciArPSB0aGlzW2ldLmdldFJlbW90
ZUlkKCk7CiAgICAgICAgfQogICAgICAgIHJldHVybiBzdHI7CiAgICAgfQoJIAogICAgIGZ1bmN0
aW9uIF9za2lwVG9TdGFydFRyYWNrKCkgewogICAgIAlmb3IgKHZhciBpID0gMDsgaSA8IGxzaXpl
OyBpKyspewogICAgIAkJCWlmICh0aGlzW2ldLmdldFN0YXJ0SGVyZSgpID09ICd0cnVlJyl7CiAg
ICAgCQkJCWN1cnJlbnRJbmRleCA9IGk7IHJldHVybiB0aGlzW2N1cnJlbnRJbmRleF0KICAgICAg
ICAgICAgIAl9CiAgICAgICAgfQogICAgIH0KICAgICAgICAgICAgIAogICAgIGZ1bmN0aW9uIF9n
ZXRDdXJyZW50SW5kZXgoKSB7CiAgICAgCXJldHVybiB0aGlzLmN1cnJlbnRJbmRleDsKICAgICB9
CiAgICAgCiAgICAgZnVuY3Rpb24gX2dldFRyYWNrSW5kZXhCeVRyYWNrSWQodHJhY2tJZCkgewoJ
ICAgICAKCSAgICAgaWYgKHRyYWNrSWQgPT0gMCkgewoJCSAgICByZXR1cm4gY3VycmVudEluZGV4
OwoJICAgICB9CgkgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbHNpemU7IGkrKyl7CgkJICAgICAK
CQkgICAgIGlmICh0aGlzW2ldLnJlbW90ZUlkID09IHRyYWNrSWQpewoJCQkgICAgIHJldHVybiBp
OwoJCSAgICAgfSAKCSAgICAgfQoJICAgIAogICAgIH0KICAgICAgICAgICAgICAKICAgICAKfQoJ
XxA6aHR0cDovL3N0YXRpYy5yZWFsb25lLmNvbS9yb3R3L2pzL29iamVjdHMuanM/YmlkPTk5NTkz
NTk1Ml8QGGFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdNQGBwgJDxARDU8RBHdicGxpc3QwMNQBAgME
BQYHClkkYXJjaGl2ZXJYJHZlcnNpb25UJHRvcFgkb2JqZWN0c18QD05TS2V5ZWRBcmNoaXZlchIA
AYag0QgJXxATV2ViUmVzb3VyY2VSZXNwb25zZYABrxAdCwwpLzA3ODxUVVZXWFlaW1xdXl9aYGFi
YzdkaGtVJG51bGzfEBANDg8QERITFBUWFxgZGhscHR4fHiAhHiIjJCUdJiceKFIkNlMkMTBSJDJT
JDEzUiQ3UiQzUyQxMVIkOFIkNFMkMTRSJDlSJDBWJGNsYXNzUiQ1UyQxMlIkMRAHEAGABYAGgAAj
QaUAfzn8lX0RGCYQACNBpQB/Obzy8YAcI0GlDufHjSpBgALTKisZIS0uV05TLmJhc2VbTlMucmVs
YXRpdmWAAIADgARfEDlodHRwOi8vc3RhdGljLnJlYWxvbmUuY29tL3JvdHcvanMvY29va2llLmpz
P2JpZD05OTU5MzU5NTLSMTIzNFgkY2xhc3Nlc1okY2xhc3NuYW1lozQ1NlVOU1VSTFYlTlNVUkxY
TlNPYmplY3RfEBhhcHBsaWNhdGlvbi94LWphdmFzY3JpcHTTGBkcOTo7gAeAGxDI0z0+GT9JU1pO
Uy5vYmplY3RzV05TLmtleXOpQEFCQ0RFRkdIgBGAEoATgBSAFYAWgBeAGIAZqUpLTE1OT1BRUoAI
gAmACoALgAyADYAOgA+AEIAaVlNlcnZlcl1MYXN0LU1vZGlmaWVkXUFjY2VwdC1SYW5nZXNaQ29u
bmVjdGlvblREYXRlXkNvbnRlbnQtTGVuZ3RoWktlZXAtQWxpdmVURXRhZ1xDb250ZW50LVR5cGVW
QXBhY2hlXxAdVGh1LCAwOCBKdW4gMjAwNiAxMDozMTowMiBHTVRVYnl0ZXNfEB1XZWQsIDAyIEF1
ZyAyMDA2IDAyOjAzOjUxIEdNVFQ2MTgyXxARdGltZW91dD0yLCBtYXg9OTlfEBYiN2E5OGIzLTE4
MjYtZmIwYjY1ODAi0jEyZWajZmc2XxATTlNNdXRhYmxlRGljdGlvbmFyeVxOU0RpY3Rpb25hcnnS
MTJpaqJqNl8QGU5TSFRUUFVSTFJlc3BvbnNlSW50ZXJuYWzSMTJsbaNtbjZfEBFOU0hUVFBVUkxS
ZXNwb25zZV1OU1VSTFJlc3BvbnNlAAgAEQAbACQAKQAyAEQASQBMAGIAZACEAIoArQCwALQAtwC7
AL4AwQDFAMgAywDPANIA1QDcAN8A4wDmAOgA6gDsAO4A8AD5APwA/gEHAQkBEgEUARsBIwEvATEB
MwE1AXEBdgF/AYoBjgGUAZsBpAG/AcYByAHKAcwB0wHeAeYB8AHyAfQB9gH4AfoB/AH+AgACAgIM
Ag4CEAISAhQCFgIYAhoCHAIeAiACJwI1AkMCTgJTAmICbQJyAn8ChgKmAqwCzALRAuUC/gMDAwcD
HQMqAy8DMgNOA1MDVwNrAAAAAAAAAgEAAAAAAAAAbwAAAAAAAAAAAAAAAAAAA3lPERgmLyoqCUBm
aWxlb3ZlcnZpZXcJVGhpcyBmaWxlIGNvbnRhaW5zIGNvZGUgdG8gaGFuZGxlIGJhc2ljIGNvb2tp
ZSBtYW5pcHVsYXRpb24uCiAqIAkJCQkJPHA+KGMpIDIwMDUgUmVhbCBOZXR3b3JrcywgaW5jPC9w
PgogKgogKiAJQGF1dGhvciB3ZWxkZXJAcmVhbC5jb20KICogCUB2ZXJzaW9uIDAuMgogKiAJQ3Jl
YXRlZCBvbiBBdWcgOCwgMjAwNQogKi8KCgovKioKICoJQGNsYXNzIFN0YXRpYyBjbGFzcyBmb3Ig
Z2xvYmFsIGNvb2tpZSBvcGVyYXRpb25zCiAqCUBjb25zdHJ1Y3RvcgogKi8KZnVuY3Rpb24gQ29v
a2llTWFuYWdlcigpe30KCi8qKiBSZXRyZWl2ZXMgdGhlIHZhbHVlIG9mIGEgc3BlY2lmaWVkIGNv
b2tpZS4KICoJQHBhcmFtCW5hbWUJdGhlIG5hbWUgb2YgdGhlIGNvb2tpZSB0byBsb29rIHVwCiAq
CUByZXR1cm5zIHRoZSBjb29raWUncyBzdG9yZWQgdmFsdWUKICovCkNvb2tpZU1hbmFnZXIuZ2V0
Q29va2llID0gZnVuY3Rpb24oIG5hbWUgKQp7Cgl2YXIgbmFtZUVRID0gbmFtZSArICI9IjsKCXZh
ciBjYSA9IGRvY3VtZW50LmNvb2tpZS5zcGxpdCgnOycpOwoJZm9yKHZhciBpPTA7aSA8IGNhLmxl
bmd0aDtpKyspCgl7CgkJdmFyIGMgPSBjYVtpXTsKCQl3aGlsZSAoYy5jaGFyQXQoMCk9PScgJykg
YyA9IGMuc3Vic3RyaW5nKDEsYy5sZW5ndGgpOwoJCWlmIChjLmluZGV4T2YobmFtZUVRKSA9PSAw
KSByZXR1cm4gdW5lc2NhcGUoIGMuc3Vic3RyaW5nKG5hbWVFUS5sZW5ndGgsYy5sZW5ndGgpICk7
Cgl9CglyZXR1cm4gbnVsbDsKfQoKCi8qKiBTZXRzIHRoZSB2YWx1ZSBhbmQgbWV0YSBkYXRhIGZv
ciBhIG5hbWVkIGNvb2tpZS4KICoJQHBhcmFtCW5hbWUJCQl0aGUgbmFtZSBvZiB0aGUgY29va2ll
CiAqCUBwYXJhbQl2YWx1ZQkJCXN0cmluZyB2YWx1ZSB0byBzdG9yZSBpbiB0aGUgY29va2llCiAq
CUBwYXJhbQlsaWZlSW5NaWxsaXMJbnVtYmVyIG9mIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIGNv
b2tpZSBleHBpcmVzCiAqCUBwYXJhbQlwYXRoCQkJdGhlIHBhdGggdG8gd2hpY2ggdGhpcyBjb29r
aWUgaXMgYXNzaWduZWQKICoJQHBhcmFtCWNvb2tpZURvbWFpbgl0aGUgZG9tYWluIHRvIHdoaWNo
IHRoaXMgY29va2llIGlzIGFzc2lnbmVkCiAqCUBwYXJhbQlzZWN1cmUJCQlib29sZWFuIGluZGlj
YXRpbmcgd2hldGhlciB0aGlzIGNvb2tpZSBpcyB0byBiZSBzdG9yZWQgc2VjdXJlbHkKICovCkNv
b2tpZU1hbmFnZXIuc2V0Q29va2llID0gZnVuY3Rpb24oIG5hbWUsIHZhbHVlLCBsaWZlSW5NaWxs
aXMsIHBhdGgsIGNvb2tpZURvbWFpbiwgc2VjdXJlICkKewoJaWYgKCBsaWZlSW5NaWxsaXMgKQoJ
ewoJCXZhciBkYXRlID0gbmV3IERhdGUoKTsKCQlkYXRlLnNldFRpbWUoIGRhdGUuZ2V0VGltZSgp
ICsgbGlmZUluTWlsbGlzICk7CgkJdmFyIGV4cGlyZXMgPSBkYXRlLnRvR01UU3RyaW5nKCk7Cgl9
CgllbHNlCgl7CgkJdmFyIGV4cGlyZXMgPSBudWxsOwoJfQoJdmFyIGNvb2tpZSA9IAluYW1lICsg
Ij0iICsgZXNjYXBlKHZhbHVlKSArCgkJCQkJCSggZXhwaXJlcyA/ICI7IGV4cGlyZXM9IiArIGV4
cGlyZXMgOiAiIiApICsKCQkJCQkJKCBwYXRoID8gIjsgcGF0aD0iICsgcGF0aCA6ICI7IHBhdGg9
LyIgKSAgKwoJCQkJCQkoIGNvb2tpZURvbWFpbiA/ICI7IGRvbWFpbj0iICsgY29va2llRG9tYWlu
IDogIjsgZG9tYWluPS5yaGFwc29keS5jb20iICkgKwoJCQkJCQkoIHNlY3VyZSA/ICI7IHNlY3Vy
ZSIgOiAiIiApOwoJZG9jdW1lbnQuY29va2llID0gY29va2llOwoJCn0KCgovKiogRGV0ZXJtaW5l
cyBpZiBhIG5hbWVkIGNvb2tpZSBjdXJyZW50bHkgZXhpc3RzIHdpdGggYSBub24tbnVsbCB2YWx1
ZS4KICoJQHBhcmFtCW5hbWUJdGhlIG5hbWUgb2YgdGhlIGNvb2tpZSB0byB0ZXN0LgogKglAcmV0
dXJucyB0cnVlIGlmIHRoZSBjb29raWUgZXhpc3RzIHdpdGggYSBub24tbnVsbCB2YWx1ZSBvciBm
YWxzZSBvdGhlcndpc2UuCiAqLwpDb29raWVNYW5hZ2VyLmhhc0Nvb2tpZSA9IGZ1bmN0aW9uKCBu
YW1lICkKewoJcmV0dXJuIENvb2tpZU1hbmFnZXIuZ2V0Q29va2llKCBuYW1lICkgIT0gbnVsbDsK
fQoKCi8qKiBSZW1vdmVzIGEgbmFtZWQgY29va2llCiAqCUBwYXJhbQluYW1lCXRoZSBuYW1lIG9m
IHRoZSBjb29raWUgdG8gcmVtb3ZlLgogKi8KQ29va2llTWFuYWdlci5kZWxldGVDb29raWUgPSBm
dW5jdGlvbiggbmFtZSApCnsKCUNvb2tpZU1hbmFnZXIuc2V0Q29va2llKCBuYW1lLCAiIiAsICgg
bmV3IERhdGUoKSApLmdldFRpbWUoKSArIDEwMDAgKTsKfQoKCgoKCgoKCgovKioKICoJQGNsYXNz
IFN0YXRpYyBjbGFzcyBmb3IgZ2xvYmFsIGNvb2tpZSBvcGVyYXRpb25zCiAqCUBjb25zdHJ1Y3Rv
cgogKglAcGFyYW0JZ3JvdXBOYW1lCXRoZSBuYW1lIG9mIHRoaXMgY29va2llIGdyb3VwCiAqLwoK
ZnVuY3Rpb24gQ29va2llR3JvdXAoIGdyb3VwTmFtZSApCnsKCXRoaXMuX19wcmVmaXggPSBncm91
cE5hbWUgPyBncm91cE5hbWUgKyAiLiIgOiAiIjsKfQoKLyoqCiAqCW5hbWVzcGFjZSBwcmVmaXgg
Zm9yIHRoaXMgZ3JvdXAKICoJQHByaXZhdGUKICovCkNvb2tpZUdyb3VwLnByb3RvdHlwZS5fX3By
ZWZpeCA9IG51bGw7CgoKLyoqIFJldHJlaXZlcyB0aGUgdmFsdWUgb2YgYSBzcGVjaWZpZWQgY29v
a2llIGluIHRoaXMgZ3JvdXAuCiAqCUBwYXJhbQluYW1lCXRoZSBuYW1lIG9mIHRoZSBjb29raWUg
dG8gbG9vayB1cAogKglAcmV0dXJucyB0aGUgY29va2llJ3Mgc3RvcmVkIHZhbHVlCiAqLwpDb29r
aWVHcm91cC5wcm90b3R5cGUuZ2V0Q29va2llID0gZnVuY3Rpb24oIG5hbWUgKQp7CglyZXR1cm4g
Q29va2llTWFuYWdlci5nZXRDb29raWUoIHRoaXMuX19nZXRGdWxsTmFtZSggbmFtZSApICk7Cn0K
Ci8qKiBTZXRzIHRoZSB2YWx1ZSBhbmQgbWV0YSBkYXRhIGZvciBhIG5hbWVkIGNvb2tpZSBpbiB0
aGlzIGdyb3VwLgogKglAcGFyYW0JbmFtZQkJCXRoZSBuYW1lIG9mIHRoZSBjb29raWUKICoJQHBh
cmFtCXZhbHVlCQkJc3RyaW5nIHZhbHVlIHRvIHN0b3JlIGluIHRoZSBjb29raWUKICoJQHBhcmFt
CWxpZmVJbk1pbGxpcwludW1iZXIgb2YgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgY29va2llIGV4
cGlyZXMKICoJQHBhcmFtCXBhdGgJCQl0aGUgcGF0aCB0byB3aGljaCB0aGlzIGNvb2tpZSBpcyBh
c3NpZ25lZAogKglAcGFyYW0JY29va2llRG9tYWluCXRoZSBkb21haW4gdG8gd2hpY2ggdGhpcyBj
b29raWUgaXMgYXNzaWduZWQKICoJQHBhcmFtCXNlY3VyZQkJCWJvb2xlYW4gaW5kaWNhdGluZyB3
aGV0aGVyIHRoaXMgY29va2llIGlzIHRvIGJlIHN0b3JlZCBzZWN1cmVseQogKi8KQ29va2llR3Jv
dXAucHJvdG90eXBlLnNldENvb2tpZSA9IGZ1bmN0aW9uKCBuYW1lLCB2YWx1ZSwgbGlmZUluTWls
bGlzLCBwYXRoLCBkb21haW4sIHNlY3VyZSApCnsKCUNvb2tpZU1hbmFnZXIuc2V0Q29va2llKCB0
aGlzLl9fZ2V0RnVsbE5hbWUoIG5hbWUgKSwgdmFsdWUsIGxpZmVJbk1pbGxpcywgcGF0aCwgInJo
YXBzb2R5LmNvbSIsIHNlY3VyZSApCn0KCi8qKiBEZXRlcm1pbmVzIGlmIGEgbmFtZWQgY29va2ll
IGN1cnJlbnRseSBleGlzdHMgaW4gdGhpcyBncm91cCB3aXRoIGEgbm9uLW51bGwgdmFsdWUuCiAq
CUBwYXJhbQluYW1lCXRoZSBuYW1lIG9mIHRoZSBjb29raWUgdG8gdGVzdC4KICoJQHJldHVybnMg
dHJ1ZSBpZiB0aGUgY29va2llIGV4aXN0cyB3aXRoIGEgbm9uLW51bGwgdmFsdWUgb3IgZmFsc2Ug
b3RoZXJ3aXNlLgogKi8KQ29va2llR3JvdXAucHJvdG90eXBlLmhhc0Nvb2tpZSA9IGZ1bmN0aW9u
KCBuYW1lICkKewoJcmV0dXJuIENvb2tpZU1hbmFnZXIuaGFzQ29va2llKCB0aGlzLl9fZ2V0RnVs
bE5hbWUoIG5hbWUgKSApCn0KCi8qKiBSZW1vdmVzIGEgbmFtZWQgY29va2llIGZyb20gdGhpcyBn
cm91cAogKglAcGFyYW0JbmFtZQl0aGUgbmFtZSBvZiB0aGUgY29va2llIHRvIHJlbW92ZS4KICov
CkNvb2tpZUdyb3VwLnByb3RvdHlwZS5kZWxldGVDb29raWUgPSBmdW5jdGlvbiggbmFtZSApCnsK
CXJldHVybiBDb29raWVNYW5hZ2VyLmRlbGV0ZUNvb2tpZSggdGhpcy5fX2dldEZ1bGxOYW1lKCBu
YW1lICkgKQp9CgovKiogQnVpbGRzIHRoZSBmdWxseS1xdWFsaWZpZWQgbmFtZSBvZiBhIGNvb2tp
ZSBpbiB0aGlzIGdyb3VwCiAqCUBwcml2YXRlCiAqCUBwYXJhbQluYW1lCXRoZSBsb2NhbCBuYW1l
IG9mIHRoZSBjb29raWUuCiAqLwpDb29raWVHcm91cC5wcm90b3R5cGUuX19nZXRGdWxsTmFtZSA9
IGZ1bmN0aW9uKCBuYW1lICkKewoJcmV0dXJuIHRoaXMuX19wcmVmaXggKyBuYW1lOwp9CgpmdW5j
dGlvbiBpc0luV21wKCkgewoJdHJ5IHsKCQlpZihvcGVuZXIud2luZG93LmV4dGVybmFsLnZlcnNp
b24gJiYgb3BlbmVyLndpbmRvdy5leHRlcm5hbC52ZXJzaW9uICE9ICIiICYmIG9wZW5lci53aW5k
b3cuZXh0ZXJuYWwudmVyc2lvbiAhPSAiVW5kZWZpbmVkIil7CgkJCXJldHVybiB0cnVlOwoJCX0K
CX0gY2F0Y2ggKGUpIHsKCQlyZXR1cm4gZmFsc2U7Cgl9CglyZXR1cm4gZmFsc2U7Cn0KCgpmdW5j
dGlvbiBzZXRHdWlkSW5Db29raWUoZ3VpZCwgcmVtZW1iZXJNZSl7Cgl2YXIgY29va2llR3JvdXAg
PSBuZXcgQ29va2llR3JvdXAoIlJoYXBXZWIiKTsKCWlmIChyZW1lbWJlck1lID09ICJ0cnVlIikg
ewoJCS8qIHNldCBpdCBmb3IgYSBtb250aCAqLyAKCQljb29raWVHcm91cC5zZXRDb29raWUoIlJo
YXBBdXRoIiwiZ3VpZD0iK2d1aWQsMjYyOTc0MzAwMCk7Cgl9IGVsc2UgaWYgKGlzSW5XbXAoKSkg
ewoJCS8qIFNldCBhIHNob3J0IHBlcm1lbmFudCBjb29raWUgZm9yIHRoZSB3bXAgaW50ZWdyYXRn
aW9uICovCgkJY29va2llR3JvdXAuc2V0Q29va2llKCJSaGFwQXV0aFdNUCIsImd1aWQ9IitndWlk
LDYwMDAwMCk7Cgl9IGVsc2UgewoJCS8qIFNldCBpdCBmb3IgdGhlIHNlc3Npb24gKi8KCQljb29r
aWVHcm91cC5zZXRDb29raWUoIlJoYXBBdXRoIiwiZ3VpZD0iK2d1aWQsbnVsbCk7Cgl9Cn0KCmZ1
bmN0aW9uIHNldEFub25HdWlkSW5Db29raWUoZ3VpZCl7Cgl2YXIgY29va2llR3JvdXAgPSBuZXcg
Q29va2llR3JvdXAoIlJoYXBXZWIiKTsKCWNvb2tpZUdyb3VwLnNldENvb2tpZSgiUmhhcEFub24i
LCJhbm9uZ3VpZD0iK2d1aWQsMjYyOTc0MzAwMCk7Cn0KCmZ1bmN0aW9uIHNldFVzZXJOYW1lSW5D
b29raWUodXNlcm5hbWUsIHJlbWVtYmVyTWUpewoJdmFyIGNvb2tpZUdyb3VwID0gbmV3IENvb2tp
ZUdyb3VwKCJSaGFwV2ViIik7CglpZiAocmVtZW1iZXJNZSA9PSAidHJ1ZSIpIHsKCQkvKiBzZXQg
aXQgZm9yIGEgbW9udGggKi8KCQljb29raWVHcm91cC5zZXRDb29raWUoIlJoYXBVc2VyIiwidXNl
cm5hbWU9Iit1c2VybmFtZSwyNjI5NzQzMDAwKTsKCX0gZWxzZSBpZiAoaXNJbldtcCgpKSB7CgkJ
LyogU2V0IGl0IGZvciB0ZW4gbWludXRlcyAqLwoJCWNvb2tpZUdyb3VwLnNldENvb2tpZSgiUmhh
cFVzZXIiLCJ1c2VybmFtZT0iK3VzZXJuYW1lLDYwMDAwMCk7Cgl9IGVsc2UgewoJCS8qIFNldCBp
dCBmb3IgdGhlIHNlc3Npb24gKi8KCQljb29raWVHcm91cC5zZXRDb29raWUoIlJoYXBVc2VyIiwi
dXNlcm5hbWU9Iit1c2VybmFtZSxudWxsKTsKCX0KfSAKCmZ1bmN0aW9uIGdldFVzZXJOYW1lRnJv
bUNvb2tpZSgpewoJdmFyIGNvb2tpZUdyb3VwID0gbmV3IENvb2tpZUdyb3VwKCJSaGFwV2ViIik7
CglpZiAoY29va2llR3JvdXAuaGFzQ29va2llKCJSaGFwVXNlciIpKSB7CgkJdmFyIHVuID0gY29v
a2llR3JvdXAuZ2V0Q29va2llKCJSaGFwVXNlciIpOwoJCXJldHVybiB1bi5zdWJzdHIodW4uaW5k
ZXhPZigiPSIpKzEpOwoJfQoJcmV0dXJuICIiOwp9CgpmdW5jdGlvbiBzZXRXTVBEZXRlY3RDb29r
aWUoKXsKCXZhciBjb29raWVHcm91cCA9IG5ldyBDb29raWVHcm91cCgiUmhhcFdlYiIpOwoJY29v
a2llR3JvdXAuc2V0Q29va2llKCJ3bXAiLCJpbldNUD10cnVlIixudWxsKTsKfQoKCmZ1bmN0aW9u
IGdldENvb2tpZUJ5R3JvdXAoZ3JvdXAsIGNvb2tpZSkgewoJdmFyIGNvb2tpZUdyb3VwID0gbmV3
IENvb2tpZUdyb3VwKGdyb3VwKTsKCXJldHVybiBjb29raWVHcm91cC5nZXRDb29raWUoY29va2ll
KTsKfQoKZnVuY3Rpb24gaGFzQ29va2llQnlHcm91cChncm91cCwgY29va2llKSB7Cgl2YXIgY29v
a2llR3JvdXAgPSBuZXcgQ29va2llR3JvdXAoZ3JvdXApOwoJcmV0dXJuIGNvb2tpZUdyb3VwLmhh
c0Nvb2tpZShjb29raWUpOwp9CglfEDlodHRwOi8vc3RhdGljLnJlYWxvbmUuY29tL3JvdHcvanMv
Y29va2llLmpzP2JpZD05OTU5MzU5NTLUBgcICRMUFQ1PEQR2YnBsaXN0MDDUAQIDBAUGBwpZJGFy
Y2hpdmVyWCR2ZXJzaW9uVCR0b3BYJG9iamVjdHNfEA9OU0tleWVkQXJjaGl2ZXISAAGGoNEICV8Q
E1dlYlJlc291cmNlUmVzcG9uc2WAAa8QHQsMKS8wNzg8VFVWV1hZWltcXV5fWmBhYmM3ZGhrVSRu
dWxs3xAQDQ4PEBESExQVFhcYGRobHB0eHx4gIR4iIyQlHSYnHihSJDZTJDEwUiQyUyQxM1IkN1Ik
M1MkMTFSJDhSJDRTJDE0UiQ5UiQwViRjbGFzc1IkNVMkMTJSJDEQBxABgAWABoAAI0GlAH86RbmE
EUc7EAAjQaUAfzoAyIqAHCNBpQ7nx4fb04AC0yorGSEtLldOUy5iYXNlW05TLnJlbGF0aXZlgACA
A4AEXxA3aHR0cDovL3N0YXRpYy5yZWFsb25lLmNvbS9yb3R3L2pzL2FqYXguanM/YmlkPTk5NTkz
NTk1MtIxMjM0WCRjbGFzc2VzWiRjbGFzc25hbWWjNDU2VU5TVVJMViVOU1VSTFhOU09iamVjdF8Q
GGFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdNMYGRw5OjuAB4AbEMjTPT4ZP0lTWk5TLm9iamVjdHNX
TlMua2V5c6lAQUJDREVGR0iAEYASgBOAFIAVgBaAF4AYgBmpSktMTU5PUFFSgAiACYAKgAuADIAN
gA6AD4AQgBpWU2VydmVyXUxhc3QtTW9kaWZpZWRdQWNjZXB0LVJhbmdlc1pDb25uZWN0aW9uVERh
dGVeQ29udGVudC1MZW5ndGhaS2VlcC1BbGl2ZVRFdGFnXENvbnRlbnQtVHlwZVZBcGFjaGVfEB1U
aHUsIDA4IEp1biAyMDA2IDEwOjMxOjAyIEdNVFVieXRlc18QHVdlZCwgMDIgQXVnIDIwMDYgMDI6
MDM6NTEgR01UVTE4MjM1XxARdGltZW91dD0yLCBtYXg9OThfEBYiN2E4MDc2LTQ3M2ItZmIwYjY1
ODAi0jEyZWajZmc2XxATTlNNdXRhYmxlRGljdGlvbmFyeVxOU0RpY3Rpb25hcnnSMTJpaqJqNl8Q
GU5TSFRUUFVSTFJlc3BvbnNlSW50ZXJuYWzSMTJsbaNtbjZfEBFOU0hUVFBVUkxSZXNwb25zZV1O
U1VSTFJlc3BvbnNlAAgAEQAbACQAKQAyAEQASQBMAGIAZACEAIoArQCwALQAtwC7AL4AwQDFAMgA
ywDPANIA1QDcAN8A4wDmAOgA6gDsAO4A8AD5APwA/gEHAQkBEgEUARsBIwEvATEBMwE1AW8BdAF9
AYgBjAGSAZkBogG9AcQBxgHIAcoB0QHcAeQB7gHwAfIB9AH2AfgB+gH8Af4CAAIKAgwCDgIQAhIC
FAIWAhgCGgIcAh4CJQIzAkECTAJRAmACawJwAn0ChAKkAqoCygLQAuQC/QMCAwYDHAMpAy4DMQNN
A1IDVgNqAAAAAAAAAgEAAAAAAAAAbwAAAAAAAAAAAAAAAAAAA3hPEUc7Ci8vIFhtbEh0dHAgZmFj
dG9yeQpmdW5jdGlvbiBYbWxIdHRwKCkge30KClhtbEh0dHAuY3JlYXRlID0gZnVuY3Rpb24gKCkg
ewogICB0cnkgewogICAgICBpZiAod2luZG93LlhNTEh0dHBSZXF1ZXN0KSB7CiAgICAgICAgIHZh
ciByZXF1ZXN0ID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CiAgICAgICAgIAogICAgICAgICAvLyBz
b21lIG9sZGVyIHZlcnNpb25zIG9mIE1veiBkaWQgbm90IHN1cHBvcnQgdGhlIHJlYWR5U3RhdGUg
cHJvcGVydHkKICAgICAgICAgLy8gYW5kIHRoZSBvbnJlYWR5c3RhdGUgZXZlbnQgc28gd2UgcGF0
Y2ggaXQhCiAgICAgICAgIGlmIChyZXF1ZXN0LnJlYWR5U3RhdGUgPT0gbnVsbCkgewogICAgICAg
ICAgICByZXF1ZXN0LnJlYWR5U3RhdGUgPSAxOwogICAgICAgICAgICByZXF1ZXN0LmFkZEV2ZW50
TGlzdGVuZXIoImxvYWQiLCBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgIHJlcXVlc3QucmVh
ZHlTdGF0ZSA9IDQ7CiAgICAgICAgICAgICAgIGlmICh0eXBlb2YgcmVxdWVzdC5vbnJlYWR5c3Rh
dGVjaGFuZ2UgPT0gImZ1bmN0aW9uIikKICAgICAgICAgICAgICAgICAgcmVxdWVzdC5vbnJlYWR5
c3RhdGVjaGFuZ2UoKTsKICAgICAgICAgICAgfSwgZmFsc2UpOwogICAgICAgICB9CiAgICAgICAg
IAogICAgICAgICByZXR1cm4gcmVxdWVzdDsKICAgICAgfQogICAgICBpZiAod2luZG93LkFjdGl2
ZVhPYmplY3QpIHsKICAgICAgICAgcmV0dXJuIG5ldyBBY3RpdmVYT2JqZWN0KGdldENvbnRyb2xQ
cmVmaXgoKSArICIuWG1sSHR0cCIpOwogICAgICB9CiAgIH0KICAgY2F0Y2ggKGV4KSB7fQogICAv
LyBmZWxsIHRocm91Z2gKICAgdGhyb3cgbmV3IEVycm9yKCJZb3VyIGJyb3dzZXIgZG9lcyBub3Qg
c3VwcG9ydCBYbWxIdHRwIG9iamVjdHMiKTsKfTsKCi8vIFhtbERvY3VtZW50IGZhY3RvcnkKZnVu
Y3Rpb24gWG1sRG9jdW1lbnQoKSB7fQoKWG1sRG9jdW1lbnQuY3JlYXRlID0gZnVuY3Rpb24gKCkg
ewogICB0cnkgewogICAgICAvLyBET00yCiAgICAgIGlmIChkb2N1bWVudC5pbXBsZW1lbnRhdGlv
biAmJiBkb2N1bWVudC5pbXBsZW1lbnRhdGlvbi5jcmVhdGVEb2N1bWVudCkgewogICAgIAogICAg
ICAgICB2YXIgZG9jID0gZG9jdW1lbnQuaW1wbGVtZW50YXRpb24uY3JlYXRlRG9jdW1lbnQoIiIs
ICIiLCBudWxsKTsKCQkJCiAgICAgICAgIC8vIHNvbWUgdmVyc2lvbnMgb2YgTW96IGRvIG5vdCBz
dXBwb3J0IHRoZSByZWFkeVN0YXRlIHByb3BlcnR5CiAgICAgICAgIC8vIGFuZCB0aGUgb25yZWFk
eXN0YXRlIGV2ZW50IHNvIHdlIHBhdGNoIGl0IQogICAgICAgICBpZiAoZG9jLnJlYWR5U3RhdGUg
PT0gbnVsbCkgewogICAgICAgICAgICBkb2MucmVhZHlTdGF0ZSA9IDE7CiAgICAgICAgICAgIGRv
Yy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICBk
b2MucmVhZHlTdGF0ZSA9IDQ7CiAgICAgICAgICAgICAgIGlmICh0eXBlb2YgZG9jLm9ucmVhZHlz
dGF0ZWNoYW5nZSA9PSAiZnVuY3Rpb24iKQogICAgICAgICAgICAgICAgICBkb2Mub25yZWFkeXN0
YXRlY2hhbmdlKCk7CiAgICAgICAgICAgIH0sIGZhbHNlKTsKICAgICAgICAgfQoJCSBEb2N1bWVu
dC5wcm90b3R5cGUubG9hZFhNTCA9IGZ1bmN0aW9uIChzKSB7CiAgICAgIAogICAJCQkJLy8gcGFy
c2UgdGhlIHN0cmluZyB0byBhIG5ldyBkb2MgICAKIAkJCQkgIHZhciBkb2MyID0gKG5ldyBET01Q
YXJzZXIoKSkucGFyc2VGcm9tU3RyaW5nKHMsICJ0ZXh0L3htbCIpOwogICAgICAKIAkJCQkvLyBy
ZW1vdmUgYWxsIGluaXRpYWwgY2hpbGRyZW4KICAJCQkJd2hpbGUgKHRoaXMuaGFzQ2hpbGROb2Rl
cygpKQogICAgICAJCQl0aGlzLnJlbW92ZUNoaWxkKHRoaXMubGFzdENoaWxkKTsKICAgICAgICAg
CiAgIAkJCQkvLyBpbnNlcnQgYW5kIGltcG9ydCBub2RlcwogICAJCQkJZm9yICh2YXIgaSA9IDA7
IGkgPCBkb2MyLmNoaWxkTm9kZXMubGVuZ3RoOyBpKyspIHsKICAgICAgCQkJCXRoaXMuYXBwZW5k
Q2hpbGQodGhpcy5pbXBvcnROb2RlKGRvYzIuY2hpbGROb2Rlc1tpXSwgdHJ1ZSkpOwogICAJCQkJ
fQoJCQl9OwogICAgICAgICByZXR1cm4gZG9jOwogICAgICB9CiAgICAgIAogICAgICBpZiAod2lu
ZG93LkFjdGl2ZVhPYmplY3QpCiAgICAgICAgcmV0dXJuIG5ldyBBY3RpdmVYT2JqZWN0KGdldENv
bnRyb2xQcmVmaXgoKSArICIuWG1sRG9tIik7CiAgIH0KICAgY2F0Y2ggKGV4KSB7fQogICB0aHJv
dyBuZXcgRXJyb3IoIllvdXIgYnJvd3NlciBkb2VzIG5vdCBzdXBwb3J0IFhtbERvY3VtZW50IG9i
amVjdHMiKTsKfTsKCmZ1bmN0aW9uIGdldENvbnRyb2xQcmVmaXgoKSB7CiAgIGlmIChnZXRDb250
cm9sUHJlZml4LnByZWZpeCkKICAgICAgcmV0dXJuIGdldENvbnRyb2xQcmVmaXgucHJlZml4Owog
ICAKICAgdmFyIHByZWZpeGVzID0gWyJNU1hNTDIiLCAiTWljcm9zb2Z0IiwgIk1TWE1MIiwgIk1T
WE1MMyJdOwogICB2YXIgbywgbzI7CiAgIGZvciAodmFyIGkgPSAwOyBpIDwgcHJlZml4ZXMubGVu
Z3RoOyBpKyspIHsKICAgICAgdHJ5IHsKICAgICAgICAgLy8gdHJ5IHRvIGNyZWF0ZSB0aGUgb2Jq
ZWN0cwogICAgICAgICBvID0gbmV3IEFjdGl2ZVhPYmplY3QocHJlZml4ZXNbaV0gKyAiLlhtbEh0
dHAiKTsKICAgICAgICAgbzIgPSBuZXcgQWN0aXZlWE9iamVjdChwcmVmaXhlc1tpXSArICIuWG1s
RG9tIik7CiAgICAgICAgIHJldHVybiBnZXRDb250cm9sUHJlZml4LnByZWZpeCA9IHByZWZpeGVz
W2ldOwogICAgICB9CiAgICAgIGNhdGNoIChleCkge307CiAgIH0KICAgCiAgIHRocm93IG5ldyBF
cnJvcigiQ291bGQgbm90IGZpbmQgYW4gaW5zdGFsbGVkIFhNTCBwYXJzZXIiKTsKfQoKCnZhciBy
ZXNwb25zZTsKdmFyIHJlcXVlc3Q7CnZhciBnVHlwZTsKdmFyIGdUaXRsZTsKCi8vIGhhbmRsZSBv
bnJlYWR5c3RhdGVjaGFuZ2UgZXZlbnQgb2YgcmVxIG9iamVjdApmdW5jdGlvbiBwcm9jZXNzUmVx
Q2hhbmdlKCkgewogICAgLy8gb25seSBpZiByZXEgc2hvd3MgImxvYWRlZCIKICAgIGlmIChyZXF1
ZXN0LnJlYWR5U3RhdGUgPT0gNCkgewogICAgICAgIC8vIG9ubHkgaWYgIk9LIgogICAgICAgIGlm
IChyZXF1ZXN0LnN0YXR1cyA9PSAyMDApIHsKCQlyZXNwb25zZSA9IHJlcXVlc3QucmVzcG9uc2VY
TUw7CgkJLy9wYXJzZURhdGEoZ1R5cGUsIGdUaXRsZSk7CgkJaWYoZ1R5cGUgPT0gInJhZGlvIiAp
ewoJCQlyYWRpb1dhaXRYTUwgPSBmYWxzZTsJCgkJfQoJCXdhaXRYTUwgPSBmYWxzZTsKCQljcmVh
dGVPYmplY3RzKCk7CiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIC8vYWxlcnQoIlRoZXJl
IHdhcyBhIHByb2JsZW0gcmV0cmlldmluZyB0aGUgWE1MIGRhdGE6XG4iICsgcmVxdWVzdC5zdGF0
dXNUZXh0KTsKICAgICAgICAgfQogICAgfQp9CgoKZnVuY3Rpb24gcHJvY2Vzc1hNTCh4bWwpIHsK
CWRlYnVnKCJSZWNlaXZlZCBtZXNzYWdlOiAiICsgeG1sKTsKCWlmKGdUeXBlID09ICJyYWRpbyIg
KXsKCQlyYWRpb1dhaXRYTUwgPSBmYWxzZTsJCgl9Cgl3YWl0WE1MID0gZmFsc2U7CQoJcmVzcG9u
c2UgPSBYbWxEb2N1bWVudC5jcmVhdGUoKTsKCXJlc3BvbnNlLmxvYWRYTUwoeG1sKTsKCWNyZWF0
ZU9iamVjdHMoKTsKfQoKZnVuY3Rpb24gY3JlYXRlT2JqZWN0cygpewoJdmFyIGFjayA9IHJlc3Bv
bnNlLmdldEVsZW1lbnRzQnlUYWdOYW1lKCdBQ0snKTsKCWlmIChhY2subGVuZ3RoID4gMCApewoJ
CXZhciBhdHRyaWJ1dGVzID0gcmVzcG9uc2UuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ0FDSycpLml0
ZW0oMCkuYXR0cmlidXRlczsKCQlmb3IgKHZhciBpID0gMDsgaSA8IGF0dHJpYnV0ZXMubGVuZ3Ro
OyBpKysgKSB7CgkJCXN3aXRjaChhdHRyaWJ1dGVzW2ldLm5hbWUpewoJCQkJY2FzZSAnYWN0aW9u
JzogCgkJCQkJaWYoYXR0cmlidXRlc1tpXS52YWx1ZSA9PSAnR0VUTUVUQURBVEEnKXsKCQkJCQkJ
cGFyc2VEYXRhKGdUeXBlLCBnVGl0bGUpOwoJCQkJCX0KCQkJCQlpZihhdHRyaWJ1dGVzW2ldLnZh
bHVlID09ICdDUkVBVEVVU0VSJyl7CgkJCQkJCXBvcHVsYXRlTWVtYmVyKHJlc3BvbnNlLmdldEVs
ZW1lbnRzQnlUYWdOYW1lKCdNRU1CRVInKS5pdGVtKDApKTsKCQkJCQl9CgkJCQkJYnJlYWs7CgkJ
CX0KCQl9Cgl9Cn0KCmZ1bmN0aW9uIGNyZWF0ZUFjY291bnQodXNlcm5hbWUsIHBhc3N3b3JkLCB1
cmwpewoJdmFyIG1lc3NhZ2U7Cgl2YXIgYWZmID0gbmV3IENvb2tpZUdyb3VwKCk7Cgl2YXIgdHJh
Y2tpbmdWYXJzID0gYWZmLmdldENvb2tpZSgiY29icmFuZHBhcnRuZXIiKTsKCXZhciBzb3VyY2VU
cmFja2luZyA9IG5ldyBTb3VyY2VUcmFja2luZygpOwoJdmFyIHZhclN0ciA9ICIiOwoJaWYgKHRy
YWNraW5nVmFycyAhPSBudWxsICYmIHRyYWNraW5nVmFycyAhPSAnJyl7CgkJc291cmNlVHJhY2tp
bmcuc2V0RnJvbVF1ZXJ5U3RyaW5nKHRyYWNraW5nVmFycyk7CgkJdmFyU3RyID0gc291cmNlVHJh
Y2tpbmcuZ2V0QXNYTUxBdHRyaWJ1dGVzKCk7Cgl9CglpZiAodXNlcm5hbWUgIT0gbnVsbCAmJiB1
c2VybmFtZSAhPSAnJyl7CgkJbWVzc2FnZT0ieG1sTWVzc2FnZT08TUVTU0FHRT48Q1JFQVRFVVNF
UiB1c2VybmFtZT0nIiArIHVzZXJuYW1lICsgIicgcGFzc3dvcmQ9JyIgKyBwYXNzd29yZCArIici
ICsgdmFyU3RyICsiLz48L01FU1NBR0U+IjsKCX0gZWxzZSB7CgkJbWVzc2FnZT0ieG1sTWVzc2Fn
ZT08TUVTU0FHRT48Q1JFQVRFVVNFUiAiICsgdmFyU3RyICsgIi8+PC9NRVNTQUdFPiI7Cgl9Cglz
ZW5kWG1sTWVzc2FnZShtZXNzYWdlLHVybCk7Cn0KCQkKZnVuY3Rpb24gc2VuZFhtbE1lc3NhZ2Uo
bWVzc2FnZSwgdXJsKSAKewogICAgZGVidWcgKCJTZW5kaW5nIG1lc3NhZ2U6ICIgKyBtZXNzYWdl
ICsgIiB0byAiICsgdXJsKTsKICAgIGlmIChuYXZpZ2F0b3IudXNlckFnZW50LnRvTG93ZXJDYXNl
KCkuaW5kZXhPZigic2FmYXJpIikgPT0gLTEpewoJICAgIHJldCA9IFJoYXBYLnNlbmRYbWxNZXNz
YWdlKG1lc3NhZ2UsIHVybCk7CiAgICB9IGVsc2UgewoJICAgIHJlcXVlc3QgPSBYbWxIdHRwLmNy
ZWF0ZSgpOwogICAgICAgICAgICByZXF1ZXN0Lm9ucmVhZHlzdGF0ZWNoYW5nZSA9IHByb2Nlc3NS
ZXFDaGFuZ2U7CiAgICAgICAgICAgIHJlcXVlc3Qub3BlbigiUE9TVCIsIHVybCwgdHJ1ZSk7CiAg
ICAgICAgICAgIHJlcXVlc3Quc2VuZChtZXNzYWdlKTsKICAgIH0KfQoKZnVuY3Rpb24gZ2V0WE1M
KHVybCwgdHlwZSwgaWQsIHJlbW90ZSkgewoJCXdhaXRYTUwgPSB0cnVlOwoJCWRlYnVnICgnaW4g
Z2V0WE1MIHdpdGggJyArIHVybCArICIgIiArIHR5cGUgKyAiICIgKyBpZCArICIgIiArIHJlbW90
ZSk7CgkJZ1R5cGUgPSB0eXBlOwoJCXZhciBwb3N0U3RyaW5nOwoJCXZhciBpc3JlbW90ZSA9ICIi
OwoJCWlmIChyZW1vdGUgPT0gdHJ1ZSB8fCByZW1vdGUgPT0gJ3RydWUnKSB7CgkJCWlzcmVtb3Rl
ID0gImlzcmVtb3RlaWQ9J3RydWUnIjsKCQl9CgkJdmFyIHBhZ2UgPSBsb2NhdGlvbi5nZXRQYXJh
bWV0ZXIoJ3BhZ2UnKTsKCQl2YXIgcGFnZXJlZ2lvbiA9IGxvY2F0aW9uLmdldFBhcmFtZXRlcign
cGFnZXJlZ2lvbicpOwoJCXZhciBndWlkID0gbG9jYXRpb24uZ2V0UGFyYW1ldGVyKCdndWlkJyk7
CgkJdmFyIGZyb20gPSBsb2NhdGlvbi5nZXRQYXJhbWV0ZXIoJ2Zyb20nKTsKCQl2YXIgbWF4dHJh
Y2tzID0gMTUwOwoJCXZhciBuZXdUcmFja0NvdW50ID0gMDsKCQlpZiAodHlwZSA9PSAncGxheWxp
c3QnKSB7CgkJCW5ld1RyYWNrQ291bnQgPSA1MDsKCQl9IAoJCWlmICh0eXBlID09ICdhbGJ1bScp
IHsKCQkJbmV3VHJhY2tDb3VudCA9IDE1OwoJCX0KCQlpZiAodHlwZSA9PSAndHJhY2snIHx8IHR5
cGUgPT0gJ2hpdGtpdCcpIHsKCQkJaWQgPSBpZCsiIjsKCQkJdmFyIGlkQXJyID0gaWQuc3BsaXQo
IisiKTsKCQkJbmV3VHJhY2tDb3VudCA9IGlkQXJyLmxlbmd0aDsKCQl9CgkJcG9zdFN0cmluZz0i
eG1sTWVzc2FnZT08TUVTU0FHRSBwYWdlPSciICsgcGFnZSArICInIHBhZ2VyZWdpb249JyIgKyBw
YWdlcmVnaW9uICsgIicgZ3VpZD0nIiArIGd1aWQgKyAiJyBmcm9tPSciICsgZnJvbSArIic+PEdF
VE1FVEFEQVRBIGNvYnJhbmRpZD0nMSc+IjsKCQlpZiAocGxheWVyTW9kZSAhPSAncmFkaW8nICYm
IHBsYXllck1vZGUgIT0gJ2FydGlzdHJhZGlvJykgewoJCQkKCQkJLyogZ2V0IGFueSB0cmFjayBo
aXN0b3J5IHdlIGZpbmQgaW4gdGhlIGNvb2tpZSBhbmQgc2VuZCB0aGF0IHRvby4KCQkJICAgIE1h
a2Ugc3VyZSB3ZSBhcmUgdGVsbGluZyB0aGUgd2Vic2VydmljZXMgbm90IHRvIGxvZyB0aGUgdHJh
Y2sKCQkJICAgIHdpdGggdGhlIGxvZz0iZmFsc2UiIGF0dHJpYnV0ZS4gYXV0b3BsYXk9J2ZhbHNl
JyB0ZWxscyB0aGUKCQkJICAgIGNvZGUgbm90IHRvIGdpdmUgdGhlc2UgdHJhY2tzIHRvIHRoZSBj
b250cm9sIHRvIHBsYXkuICovCgkJCXZhciB0cmFja0hpc3RvcnkgPSBnZXRUcmFja0hpc3Rvcnko
KTsKCQkJaWYgKHRyYWNrSGlzdG9yeSl7CgkJCQl0aCA9IHRyYWNrSGlzdG9yeSsiIjsKCQkJCXZh
ciB0aEFyciA9IHRoLnNwbGl0KCIrIik7CgkJCQl2YXIgZGVsdGEgPSAobmV3VHJhY2tDb3VudCAr
IHRoQXJyLmxlbmd0aCkgLSBtYXh0cmFja3M7CgkJCQlpZiAoZGVsdGEgPiAwKXsKCQkJCQl2YXIg
aGlzdG9yeVN0YXJ0ID0gZGVsdGE7CgkJCQl9IGVsc2UgewoJCQkJCXZhciBoaXN0b3J5U3RhcnQg
PSAwOwoJCQkJfQoJCQkJLy9hbGVydCgnZGVsdGE6ICcgKyBkZWx0YSArICcgbnRjOiAnICsgbmV3
VHJhY2tDb3VudCArICcgdGg6ICcgKyB0aEFyci5sZW5ndGggKTsKCQkJCWZvciAodmFyIGo9aGlz
dG9yeVN0YXJ0OyBqIDwgdGhBcnIubGVuZ3RoOyBqKyspIHsKCQkJCQlpZiAodGhBcnJbal0gIT0g
IiIpewoJCQkJCQlwb3N0U3RyaW5nID0gcG9zdFN0cmluZyArICI8VFJBQ0sgbG9nPSdmYWxzZScg
YXV0b3BsYXk9J2ZhbHNlJyBpc3JlbW90ZWlkPSdmYWxzZScgaWQ9JyIgKyB0aEFycltqXSArICIn
IC8+IjsKCQkJCQl9CgkJCQl9CgkJCX0KCQl9CgkJaWYgKHR5cGUgPT0gJ3BsYXlsaXN0JykgewoJ
CQlwb3N0U3RyaW5nPXBvc3RTdHJpbmcrIjxQTEFZTElTVCAiICsgaXNyZW1vdGUgKyAiIHR5cGU9
J3NlcnZlcicgaWQ9JyIgKyBpZCArICInIC8+IjsKCQl9IGVsc2UgaWYgKHR5cGUgPT0gJ2FsYnVt
JykgewoJCQlwb3N0U3RyaW5nPXBvc3RTdHJpbmcrIjxBTEJVTSAiICsgaXNyZW1vdGUgKyAiIGlk
PSciICsgaWQgKyAiJyAvPiI7CgkJfSBlbHNlIGlmICh0eXBlID09ICdyYWRpbycpIHsKCQkJcmFk
aW9XYWl0WE1MID0gdHJ1ZTsKCQkJcG9zdFN0cmluZz1wb3N0U3RyaW5nKyI8UkFESU8gIiArIGlz
cmVtb3RlICsgIiBpZD0nIiArIGlkICsgIicgLz4iOwoJCX0gZWxzZSBpZiAodHlwZSA9PSAndHJh
Y2snIHx8IHR5cGUgPT0gJ2hpdGtpdCcpIHsKCQkJZm9yICh2YXIgaT0wOyBpIDwgaWRBcnIubGVu
Z3RoOyBpKyspIHsKCQkJCWlmIChpZEFycltpXSAhPSAiIil7CgkJCQkJcG9zdFN0cmluZyA9IHBv
c3RTdHJpbmcgKyAiPFRSQUNLICIgKyBpc3JlbW90ZSArICIgaWQ9JyIgKyBpZEFycltpXSArICIn
IC8+IjsKCQkJCX0KCQkJfQoJCQkKCQkJCgkJfQoJCQoJCXBvc3RTdHJpbmc9cG9zdFN0cmluZysi
PC9HRVRNRVRBREFUQT48L01FU1NBR0U+IjsKCQlzZW5kWG1sTWVzc2FnZShwb3N0U3RyaW5nLCB1
cmwpOwoJCSAKICAgICAgIAkKfQoKZnVuY3Rpb24gcGFyc2VEYXRhKHR5cGUsIHRpdGxlKSB7Cgkv
L2FsZXJ0ICgnaW4gcGFyc2UgZGF0YSB3aXRoOiAnICsgdHlwZSk7Cgl2YXIgZXJyb3JzID0gcmVz
cG9uc2UuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ0VSUk9SJyk7CglpZiAoZXJyb3JzLmxlbmd0aCA+
IDAgKXsKCQl2YXIgaWQgPSBlcnJvcnMuaXRlbSgwKS5hdHRyaWJ1dGVzOwoJCWRlYnVnKCJIaXQg
YW4gZXJyb3Igd2l0aCB0aGUgWE1MLiBFcnJvciBDb2RlOiAiICsgaWRbMF0udmFsdWUpOwoJCXJl
dHVybjsKCX0KCWlmICh0eXBlID09ICdhbGJ1bScpIHsKICAJCSB0cmFja1F1ZXVlID0gIHBhcnNl
QWxidW0oKTsKICAJfQogIAlpZiAodHlwZSA9PSAncGxheWxpc3QnKSB7CiAgICAJIHRyYWNrUXVl
dWUgPSAgcGFyc2VQbGF5bGlzdCgpOwogICAJfQogICAJaWYgKHR5cGUgPT0gJ3RyYWNrJyApIHsK
ICAgIAkgdHJhY2tRdWV1ZSA9ICBwYXJzZVRyYWNrTGlzdCgpOwogICAJfQogICAJaWYgKHR5cGUg
PT0gJ2hpdGtpdCcpIHsKICAgIAkgdHJhY2tRdWV1ZSA9ICBwYXJzZVRyYWNrTGlzdCgpOwogICAJ
fQogICAJaWYgKHR5cGUgPT0gJ3JhZGlvJykgewogIAkJIHJhZGlvU3RhdGlvbiA9ICBwYXJzZVJh
ZGlvU3RhdGlvbigpOwogIAl9CglpZiAodHlwZSA9PSAnY29tY2FzdHJhZGlvJykgewogIAkJIGdl
bnJlTGlzdCA9ICBwYXJzZUdlbnJlTGlzdCgpOwogIAl9CglpZih0eXBlICE9ICJyYWRpbyIgJiYg
dHlwZSAhPSAiYXJ0aXN0cmFkaW8iKXsKCSAgIAlpZiAodGl0bGUpIHsKICAgCQkJdHJhY2tRdWV1
ZS5zZXRUaXRsZShkZWNvZGUodGl0bGUpKTsKICAgCQl9Cgl9ZWxzZXsKCQlpZiAodGl0bGUpIHsK
ICAgCQkJcmFkaW9TdGF0aW9uLnNldERpc3BsYXlOYW1lKGRlY29kZSh0aXRsZSkpOwogICAJCX0K
CX0KICAgCQogfQoKCmZ1bmN0aW9uIHBhcnNlUGxheWxpc3QoKSB7CgkvLyBDcmVhdGUgYW4gYWxi
dW0gb2JqZWN0IGZyb20gdGhlIHRvcCBsZXZlbCBYTUwgcmVhZHkgdG8gYWRkIHRvIHRoZSB0cmFj
a3MKCXZhciBwbGF5bGlzdCA9IHBvcHVsYXRlUGxheWxpc3QocmVzcG9uc2UuZ2V0RWxlbWVudHNC
eVRhZ05hbWUoJ1BMQVlMSVNUSU5GTycpLml0ZW0oMCkuYXR0cmlidXRlcyk7Cgl2YXIgdHJhY2tR
dWV1ZSA9IG5ldyBUcmFja1F1ZXVlKCk7Cgl2YXIgYWxidW1UcmFja3NJbmZvID0gcmVzcG9uc2Uu
Z2V0RWxlbWVudHNCeVRhZ05hbWUoJ0FMQlVNVFJBQ0tTSU5GTycpOwoJdHJhY2tRdWV1ZS5zZXRU
aXRsZShwbGF5bGlzdC5nZXROYW1lKCkpOwoJcmV0dXJuIHBvcHVsYXRlVHJhY2tMaXN0KHRyYWNr
UXVldWUsIGFsYnVtVHJhY2tzSW5mbywgcGxheWxpc3QpOwoJCn0KCmZ1bmN0aW9uIHBhcnNlQWxi
dW0oKSB7Cgl2YXIgdHJhY2tRdWV1ZSA9IG5ldyBUcmFja1F1ZXVlKCk7Cgl0cmFja1F1ZXVlID0g
cGFyc2VUcmFja0xpc3QoKTsKCXRyYWNrUXVldWUuc2V0VGl0bGUodHJhY2tRdWV1ZS5nZXQoMCku
Z2V0QWxidW0oKS5nZXROYW1lKCkpOwoJcmV0dXJuIHRyYWNrUXVldWU7Cn0KCmZ1bmN0aW9uIHBh
cnNlVHJhY2tMaXN0KCkgewoJdmFyIHRyYWNrUXVldWUgPSBuZXcgVHJhY2tRdWV1ZSgpOwoJdmFy
IGFsYnVtVHJhY2tzSW5mbyA9IHJlc3BvbnNlLmdldEVsZW1lbnRzQnlUYWdOYW1lKCdBTEJVTVRS
QUNLU0lORk8nKTsKCXJldHVybiBwb3B1bGF0ZVRyYWNrTGlzdCh0cmFja1F1ZXVlLCBhbGJ1bVRy
YWNrc0luZm8sIG51bGwpOwoJCn0KCmZ1bmN0aW9uIHBhcnNlUmFkaW9TdGF0aW9uKCkgewoJdmFy
IHJhZGlvSW5mbyA9IHJlc3BvbnNlLmdldEVsZW1lbnRzQnlUYWdOYW1lKCdSQURJT0lORk8nKS5p
dGVtKDApOwoJcmV0dXJuIHBvcHVsYXRlUmFkaW9TdGF0aW9uKHJhZGlvSW5mbyk7CgkKfQoKZnVu
Y3Rpb24gcGFyc2VHZW5yZUxpc3QoKSB7Cgl2YXIgZ2VucmVJbmZvID0gcmVzcG9uc2UuZ2V0RWxl
bWVudHNCeVRhZ05hbWUoJ0dFTlJFSU5GTycpOwoJZ2VucmVMaXN0ID0gbmV3IEFycmF5KGdlbnJl
SW5mby5sZW5ndGgpOwoJZm9yICh2YXIgaT0wOyBpPGdlbnJlSW5mby5sZW5ndGg7IGkrKyl7CgkJ
Z2VucmVMaXN0W2ldID0gcG9wdWxhdGVHZW5yZShnZW5yZUluZm9baV0pOwoJfQoJcmV0dXJuIGdl
bnJlTGlzdDsKCQp9CgpmdW5jdGlvbiBwb3B1bGF0ZVJhZGlvU3RhdGlvbihyYWRpb0luZm8pIHsK
CXZhciByYWRpb1N0YXRpb24gPSBuZXcgUmFkaW9TdGF0aW9uKCk7Cgl2YXIgYXR0cmlidXRlcyA9
IHJhZGlvSW5mby5hdHRyaWJ1dGVzOwoJZm9yICh2YXIgaSA9IDA7IGkgPCBhdHRyaWJ1dGVzLmxl
bmd0aDsgaSsrICkgewoJCXN3aXRjaChhdHRyaWJ1dGVzW2ldLm5hbWUpewoJCQljYXNlICd0YWds
aW5lJzogcmFkaW9TdGF0aW9uLnNldFRhZ2xpbmUoYXR0cmlidXRlc1tpXS52YWx1ZSk7IGJyZWFr
OwoJCQljYXNlICdpZCc6IHJhZGlvU3RhdGlvbi5zZXRJZChhdHRyaWJ1dGVzW2ldLnZhbHVlKTsg
IGJyZWFrOwoJCQljYXNlICduYW1lJzogcmFkaW9TdGF0aW9uLnNldERpc3BsYXlOYW1lKGF0dHJp
YnV0ZXNbaV0udmFsdWUpOyBicmVhazsKCQkJY2FzZSAncmVtb3RlaWQnOiByYWRpb1N0YXRpb24u
c2V0UmVtb3RlSWQoYXR0cmlidXRlc1tpXS52YWx1ZSk7IGJyZWFrOwoJCX0KCX0KCWRlYnVnKCdB
ZGRlZCByYWRpbyBzdGF0aW9uOiAnICsgcmFkaW9TdGF0aW9uLnRvU3RyaW5nKCkpOwoJcmV0dXJu
IHJhZGlvU3RhdGlvbgp9CgpmdW5jdGlvbiBwb3B1bGF0ZVRyYWNrTGlzdCh0cmFja1F1ZXVlLCBh
bGJ1bVRyYWNrc0luZm8sIHBsYXlsaXN0KSB7IAoJZm9yICh2YXIgaSA9IDA7IGkgPCBhbGJ1bVRy
YWNrc0luZm8ubGVuZ3RoOyBpKyspIHsKCQkvLyBUaGVyZSBtYXliZSBhbGJ1bSBpbmZvIGFzIGEg
Y2hpbGQgb2YgQUxCVU1UUkFDS1NJTkZPCgkJdmFyIGFsYnVtSW5mbyA9IGFsYnVtVHJhY2tzSW5m
by5pdGVtKGkpLmdldEVsZW1lbnRzQnlUYWdOYW1lKCdBTEJVTUlORk8nKS5pdGVtKDApOwoJCWlm
IChhbGJ1bUluZm8pIHsKCQkJdmFyIGFsYnVtID0gcG9wdWxhdGVBbGJ1bShhbGJ1bVRyYWNrc0lu
Zm8uaXRlbShpKS5nZXRFbGVtZW50c0J5VGFnTmFtZSgnQUxCVU1JTkZPJykuaXRlbSgwKS5hdHRy
aWJ1dGVzKTsKCQkJdmFyIHRyYWNrcyA9IGFsYnVtVHJhY2tzSW5mby5pdGVtKGkpLmdldEVsZW1l
bnRzQnlUYWdOYW1lKCdUUkFDS0lORk8nKTsKCQkJZm9yICh2YXIgaiA9IDA7IGogPCB0cmFja3Mu
bGVuZ3RoOyBqKyspIHsKCQkJCXZhciB0cmFja1RvQWRkID0gcG9wdWxhdGVUcmFjayh0cmFja3Mu
aXRlbShqKSwgYWxidW0sIHBsYXlsaXN0KTsKCQkJCWlmICh0cmFja1RvQWRkLmlzUmhhcHNvZHlM
aXN0ZW4oKSA9PSAndHJ1ZScpewoJCQkJCWRlYnVnKCdBZGRlZCB0cmFjazogJyArIHRyYWNrVG9B
ZGQudG9TdHJpbmcoKSk7CgkJCQkJaWYgKHBsYXllck1vZGUgIT0gJ3JhZGlvJyAmJiBwbGF5ZXJN
b2RlICE9ICdhcnRpc3RyYWRpbycpIHsKCQkJCQkJCWFkZFRvVHJhY2tIaXN0b3J5KHRyYWNrVG9B
ZGQuZ2V0SWQoKSk7CgkgIAkJCSAJfQoJCQkJCXRyYWNrUXVldWUuYWRkKHRyYWNrVG9BZGQpOwoJ
CQkJfSBlbHNlIHsKCQkJCQlpZiAocGxheWVyTW9kZSA9PSAncmFkaW8nIHx8IHBsYXllck1vZGUg
PT0gJ2FydGlzdHJhZGlvJyl7CgkJCQkJCWRlYnVnKCdBZGRlZCB0cmFjazogJyArIHRyYWNrVG9B
ZGQudG9TdHJpbmcoKSk7CQoJCQkJCQl0cmFja1F1ZXVlLmFkZCh0cmFja1RvQWRkKTsKCQkJCQl9
CgkJCQl9CgkJCX0KCQl9Cgl9CglyZXR1cm4gdHJhY2tRdWV1ZTsKfQoKZnVuY3Rpb24gcG9wdWxh
dGVUcmFjayh0cmFja1hNTCwgYWxidW0sIHBsYXlsaXN0KSB7Cgl2YXIgdHJhY2sgPSBuZXcgVHJh
Y2soKTsKCXRyYWNrLnNldEFsYnVtKGFsYnVtKTsKCXZhciBhdHRyaWJ1dGVzID0gdHJhY2tYTUwu
YXR0cmlidXRlczsKCWlmIChhdHRyaWJ1dGVzLmxlbmd0aCA+IDApIHsKCSAgZm9yICh2YXIgaSA9
IDA7IGkgPCBhdHRyaWJ1dGVzLmxlbmd0aDsgaSsrICkgewoJCXN3aXRjaChhdHRyaWJ1dGVzW2ld
Lm5hbWUpewoJCQljYXNlICd0cmFja2luZGV4JzogdHJhY2suc2V0VHJhY2tJbmRleChhdHRyaWJ1
dGVzW2ldLnZhbHVlKTsgYnJlYWs7CgkJCWNhc2UgJ3Jtcyc6IHRyYWNrLnNldFJtcyhhdHRyaWJ1
dGVzW2ldLnZhbHVlKTsgYnJlYWs7CgkJCWNhc2UgJ3BsYXlsZW5ndGgnOiB0cmFjay5zZXRQbGF5
TGVuZ3RoKGF0dHJpYnV0ZXNbaV0udmFsdWUpOyBicmVhazsKCQkJY2FzZSAnaWQnOiB0cmFjay5z
ZXRJZChhdHRyaWJ1dGVzW2ldLnZhbHVlKTsgIGJyZWFrOwoJCQljYXNlICduYW1lJzogdHJhY2su
c2V0TmFtZShhdHRyaWJ1dGVzW2ldLnZhbHVlKTsgYnJlYWs7CgkJCWNhc2UgJ2Rpc2NpbmRleCc6
IHRyYWNrLnNldERpc2NJbmRleChhdHRyaWJ1dGVzW2ldLnZhbHVlKTsgYnJlYWs7CgkJCWNhc2Ug
J3JlbW90ZWlkJzogdHJhY2suc2V0UmVtb3RlSWQoYXR0cmlidXRlc1tpXS52YWx1ZSk7IGJyZWFr
OwoJCQljYXNlICdhdXRvcGxheSc6IHRyYWNrLnNldEF1dG9QbGF5KGF0dHJpYnV0ZXNbaV0udmFs
dWUpOyBicmVhazsKCQkJY2FzZSAnc3RhcnRoZXJlJzogdHJhY2suc2V0U3RhcnRIZXJlKGF0dHJp
YnV0ZXNbaV0udmFsdWUpOyBicmVhazsKCQkJY2FzZSAnaXNtdXNpY3N0b3JlYXZhaWxhYmxlJzog
dHJhY2suc2V0TXVzaWNTdG9yZUF2YWlsYWJsZShhdHRyaWJ1dGVzW2ldLnZhbHVlKTsgYnJlYWs7
CgkJCWNhc2UgJ2lzcmhhcHNvZHlsaXN0ZW4nOiB0cmFjay5zZXRSaGFwc29keUxpc3RlbihhdHRy
aWJ1dGVzW2ldLnZhbHVlKTsgYnJlYWs7CgkJCgkJfQoJICB9CgkgIGlmIChwbGF5bGlzdCkgewoJ
CXRyYWNrLnNldFBsYXlsaXN0KHBsYXlsaXN0KTsKCSAgfQoJCgkgIHRyYWNrLnNldEFydGlzdChw
b3B1bGF0ZUFydGlzdCh0cmFja1hNTC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnQVJUSVNUSU5GTycp
Lml0ZW0oMCkuYXR0cmlidXRlcykpOwoJfQoJcmV0dXJuIHRyYWNrOwp9CgkKZnVuY3Rpb24gcG9w
dWxhdGVBcnRpc3QoYXR0cmlidXRlcykgewoJdmFyIGFydGlzdCA9IG5ldyBBcnRpc3QoKTsKCWZv
ciAodmFyIGkgPSAwOyBpIDwgYXR0cmlidXRlcy5sZW5ndGg7IGkrKyApIHsKCQlzd2l0Y2goYXR0
cmlidXRlc1tpXS5uYW1lKXsKCQkJY2FzZSAnZGlzcGxheW5hbWUnOiBhcnRpc3Quc2V0RGlzcGxh
eU5hbWUoYXR0cmlidXRlc1tpXS52YWx1ZSk7IGJyZWFrOwoJCQljYXNlICdwcmltYXJ5bmFtZSc6
IGFydGlzdC5zZXRQcmltYXJ5TmFtZShhdHRyaWJ1dGVzW2ldLnZhbHVlKTsgYnJlYWs7CgkJCWNh
c2UgJ2lkJzphcnRpc3Quc2V0SWQoYXR0cmlidXRlc1tpXS52YWx1ZSk7IGJyZWFrOwoJCQljYXNl
ICdyZW1vdGVpZCc6IGFydGlzdC5zZXRSZW1vdGVJZChhdHRyaWJ1dGVzW2ldLnZhbHVlKTsgYnJl
YWs7CgkJCWNhc2UgJ2lzbXVzaWNzdG9yZWF2YWlsYWJsZSc6IGFydGlzdC5zZXRNdXNpY1N0b3Jl
QXZhaWxhYmxlKGF0dHJpYnV0ZXNbaV0udmFsdWUpOyBicmVhazsKCQkJY2FzZSAnc2hvcnRjdXQn
OiBhcnRpc3Quc2V0U2hvcnRjdXQoYXR0cmlidXRlc1tpXS52YWx1ZSk7IGJyZWFrOwoJCX0KCX0K
CWRlYnVnKCdBZGRlZCBBcnRpc3Q6ICcgKyBhcnRpc3QudG9TdHJpbmcoKSk7CglyZXR1cm4gYXJ0
aXN0OwkKfQoKZnVuY3Rpb24gcG9wdWxhdGVQbGF5bGlzdChhdHRyaWJ1dGVzKSB7Cgl2YXIgcGxh
eWxpc3QgPSBuZXcgUGxheWxpc3QoKTsKCWZvciAodmFyIGkgPSAwOyBpIDwgYXR0cmlidXRlcy5s
ZW5ndGg7IGkrKyApIHsKCQlzd2l0Y2goYXR0cmlidXRlc1tpXS5uYW1lKXsKCQkJY2FzZSAnbmFt
ZSc6IHBsYXlsaXN0LnNldE5hbWUoYXR0cmlidXRlc1tpXS52YWx1ZSk7IGJyZWFrOwoJCQljYXNl
ICd0eXBlJzogcGxheWxpc3Quc2V0VHlwZShhdHRyaWJ1dGVzW2ldLnZhbHVlKTsgYnJlYWs7CgkJ
CWNhc2UgJ2lkJzpwbGF5bGlzdC5zZXRJZChhdHRyaWJ1dGVzW2ldLnZhbHVlKTsgYnJlYWs7CgkJ
fQoJfQoJZGVidWcoJ0FkZGVkIFBsYXlsaXN0OiAnICsgcGxheWxpc3QudG9TdHJpbmcoKSk7Cgly
ZXR1cm4gcGxheWxpc3Q7CQp9CgpmdW5jdGlvbiBwb3B1bGF0ZVJpZ2h0cyhhdHRyaWJ1dGVzKSB7
Cgl2YXIgcmlnaHRzID0gbmV3IFJpZ2h0cygpOwoJZm9yICh2YXIgaSA9IDA7IGkgPCBhdHRyaWJ1
dGVzLmxlbmd0aDsgaSsrICkgewoJCXN3aXRjaChhdHRyaWJ1dGVzW2ldLm5hbWUpewoJCQljYXNl
ICdnbG9iYWwnOiByaWdodHMuc2V0R2xvYmFsKGF0dHJpYnV0ZXNbaV0udmFsdWUpOyBicmVhazsK
CQl9Cgl9CglkZWJ1ZygnQWRkZWQgUmlnaHRzOiAnICsgcmlnaHRzLnRvU3RyaW5nKCkpOwoJcmV0
dXJuIHJpZ2h0czsJCn0KCmZ1bmN0aW9uIHBvcHVsYXRlR2VucmUoZ2VucmVYTUwpIHsKCXZhciBn
ZW5yZSA9IG5ldyBHZW5yZSgpOwoJdmFyIGF0dHJpYnV0ZXMgPSBnZW5yZVhNTC5hdHRyaWJ1dGVz
OwoJZm9yICh2YXIgaSA9IDA7IGkgPCBhdHRyaWJ1dGVzLmxlbmd0aDsgaSsrICkgewoJCXN3aXRj
aChhdHRyaWJ1dGVzW2ldLm5hbWUpewoJCQljYXNlICd0b3BsZXZlbG5hbWUnOiBnZW5yZS5zZXRU
b3BMZXZlbE5hbWUoYXR0cmlidXRlc1tpXS52YWx1ZSk7IGJyZWFrOwoJCQljYXNlICdwcmltYXJ5
bmFtZSc6Z2VucmUuc2V0UHJpbWFyeU5hbWUoYXR0cmlidXRlc1tpXS52YWx1ZSk7IGJyZWFrOwoJ
CQljYXNlICduYW1lJzpnZW5yZS5zZXRQcmltYXJ5TmFtZShhdHRyaWJ1dGVzW2ldLnZhbHVlKTsg
YnJlYWs7CgkJCQoJCX0KCX0KCXZhciByYWRpb0luZm8gPSBnZW5yZVhNTC5nZXRFbGVtZW50c0J5
VGFnTmFtZSgnUkFESU9JTkZPJyk7Cgl2YXIgcmFkaW9BcnJheSA9IG5ldyBBcnJheShyYWRpb0lu
Zm8ubGVuZ3RoKTsKCWZvciAodmFyIGkgPSAwOyBpIDwgcmFkaW9JbmZvLmxlbmd0aDsgaSsrICkg
ewoJCXJhZGlvQXJyYXlbaV0gPSBwb3B1bGF0ZVJhZGlvU3RhdGlvbihyYWRpb0luZm9baV0pOwoJ
fQoJZ2VucmUuc2V0UmFkaW9TdGF0aW9uQXJyYXkocmFkaW9BcnJheSk7CgkKCWRlYnVnKCdBZGRl
ZCBHZW5yZTogJyArIGdlbnJlLnRvU3RyaW5nKCkpOwoJcmV0dXJuIGdlbnJlOwoJCn0KCQpmdW5j
dGlvbiBwb3B1bGF0ZUFsYnVtKGF0dHJpYnV0ZXMpIHsKCXZhciBhbGJ1bSA9IG5ldyBBbGJ1bSgp
OwoJZm9yICh2YXIgaSA9IDA7IGkgPCBhdHRyaWJ1dGVzLmxlbmd0aDsgaSsrICkgewoJCXN3aXRj
aChhdHRyaWJ1dGVzW2ldLm5hbWUpewoJCQljYXNlICd0b3RhbHRyYWNrcyc6IGFsYnVtLnNldFRv
dGFsVHJhY2tzKGF0dHJpYnV0ZXNbaV0udmFsdWUpOyBicmVhazsKCQkJY2FzZSd0b3RhbGRpc2Nz
JzogYWxidW0uc2V0VG90YWxEaXNjcyhhdHRyaWJ1dGVzW2ldLnZhbHVlKTsgYnJlYWs7CgkJCWNh
c2UncmVsZWFzZWRhdGUnOiBhbGJ1bS5zZXRSZWxlYXNlRGF0ZShhdHRyaWJ1dGVzW2ldLnZhbHVl
KTsgYnJlYWs7CgkJCWNhc2UgJ3BhJzogYWxidW0uc2V0UGEoYXR0cmlidXRlc1tpXS52YWx1ZSk7
ICBicmVhazsKCQkJY2FzZSduYW1lJzogYWxidW0uc2V0TmFtZShhdHRyaWJ1dGVzW2ldLnZhbHVl
KTsgYnJlYWs7CgkJCWNhc2UgJ2FydHVybHNtYWxsJzogYWxidW0uc2V0QXJ0dXJsc21hbGwoYXR0
cmlidXRlc1tpXS52YWx1ZSk7IGJyZWFrOwoJCQljYXNlICdpZCc6IGFsYnVtLnNldElkKGF0dHJp
YnV0ZXNbaV0udmFsdWUpOyBicmVhazsKCQkJY2FzZSAnYXJ0dXJsbGFyZ2UnOiBhbGJ1bS5zZXRB
cnR1cmxsYXJnZShhdHRyaWJ1dGVzW2ldLnZhbHVlKTsgYnJlYWs7CgkJCWNhc2UgJ2lzY29tcGls
YXRpb24nOiBhbGJ1bS5zZXRJc0NvbXBpbGF0aW9uKGF0dHJpYnV0ZXNbaV0udmFsdWUpOyBicmVh
azsKCQkJY2FzZSAncmVtb3RlaWQnOiBhbGJ1bS5zZXRSZW1vdGVJZChhdHRyaWJ1dGVzW2ldLnZh
bHVlKTsgYnJlYWs7CgkJCWNhc2UgJ2lzbXVzaWNzdG9yZWF2YWlsYWJsZSc6IGFsYnVtLnNldE11
c2ljU3RvcmVBdmFpbGFibGUoYXR0cmlidXRlc1tpXS52YWx1ZSk7IGJyZWFrOwoJCQoJCX0KCX0K
CWRlYnVnKCdBZGRlZCBBbGJ1bTogJyArIGFsYnVtLnRvU3RyaW5nKCkpOwoJcmV0dXJuIGFsYnVt
Owp9CgpmdW5jdGlvbiBwb3B1bGF0ZU1lbWJlcihtZW1iZXJYTUwpewoJdmFyIGVycm9ycyA9IHJl
c3BvbnNlLmdldEVsZW1lbnRzQnlUYWdOYW1lKCdFUlJPUicpOwoJaWYgKGVycm9ycy5sZW5ndGgg
PiAwICl7CgkJdmFyIGlkID0gZXJyb3JzLml0ZW0oMCkuYXR0cmlidXRlczsKCQlkZWJ1ZygiSGl0
IGFuIGVycm9yIHdpdGggdGhlIFhNTC4gRXJyb3IgQ29kZTogIiArIGlkWzBdLnZhbHVlKTsKCQlk
aXNwbGF5QWNjb3VudENyZWF0aW9uRXJyb3IoKTsKCX0KCWdNZW1iZXIgPSBuZXcgTWVtYmVyKCk7
Cgl2YXIgYXR0cmlidXRlcyA9IG1lbWJlclhNTC5hdHRyaWJ1dGVzOwoJZm9yICh2YXIgaSA9IDA7
IGkgPCBhdHRyaWJ1dGVzLmxlbmd0aDsgaSsrICkgewoJCXN3aXRjaChhdHRyaWJ1dGVzW2ldLm5h
bWUpewoJCQljYXNlICd1c2VybmFtZSc6IGdNZW1iZXIuc2V0VXNlcm5hbWUoYXR0cmlidXRlc1tp
XS52YWx1ZSk7IGJyZWFrOwoJCQljYXNlICdwYXNzd29yZCc6Z01lbWJlci5zZXRQYXNzd29yZChh
dHRyaWJ1dGVzW2ldLnZhbHVlKTsgYnJlYWs7CgkJCWNhc2UgJ2d1aWQnOmdNZW1iZXIuc2V0R3Vp
ZChhdHRyaWJ1dGVzW2ldLnZhbHVlKTsgYnJlYWs7CgkJfQoJfQoJc2V0VXNlck5hbWVJbkNvb2tp
ZShnTWVtYmVyLmdldFVzZXJuYW1lKCksIHRydWUpOwoJUmhhcFguc2V0VXNlckRhdGEoInVzZXJu
YW1lIiwgIiIsIGZhbHNlKTsKCVJoYXBYLnNldFVzZXJEYXRhKCJwYXNzd29yZCIsICIiLCB0cnVl
KTsKCVJoYXBYLnNldFVzZXJEYXRhKCJhbm9udXNlcm5hbWUiLCBnTWVtYmVyLmdldFVzZXJuYW1l
KCksIGZhbHNlKTsKCVJoYXBYLnNldFVzZXJEYXRhKCJhbm9ucGFzc3dvcmQiLCBnTWVtYmVyLmdl
dFBhc3N3b3JkKCksIHRydWUpOwoJUmhhcFguc2V0VXNlckRhdGEoImFub25ndWlkIiwgZ01lbWJl
ci5nZXRHdWlkKCksIGZhbHNlKTsKCVJoYXBYLnNldFVzZXJEYXRhKCJyZW1lbWJlci1tZSIsICJ0
cnVlIiwgZmFsc2UpOwoJc2V0QWNjb3VudFR5cGUoJ2Fub24nKTsKCXNldEFub25HdWlkSW5Db29r
aWUoZ01lbWJlci5nZXRHdWlkKCkpOwoJZG9Mb2dpbihnTWVtYmVyLmdldFVzZXJuYW1lKCksIGdN
ZW1iZXIuZ2V0UGFzc3dvcmQoKSk7Cn0KCmZ1bmN0aW9uIGRlY29kZV91dGY4KHV0ZnRleHQpIHsK
ICAgICB2YXIgcGxhaW50ZXh0ID0gIiI7IHZhciBpPTA7IHZhciBjPWMxPWMyPTA7CiAgICAgd2hp
bGUoaTx1dGZ0ZXh0Lmxlbmd0aCkKICAgICAgICAgewogICAgICAgICBjID0gdXRmdGV4dC5jaGFy
Q29kZUF0KGkpOwogICAgICAgICBpZiAoYzwxMjgpIHsKICAgICAgICAgICAgIHBsYWludGV4dCAr
PSBTdHJpbmcuZnJvbUNoYXJDb2RlKGMpOwogICAgICAgICAgICAgaSsrO30KICAgICAgICAgZWxz
ZSBpZigoYz4xOTEpICYmIChjPDIyNCkpIHsKICAgICAgICAgICAgIGMyID0gdXRmdGV4dC5jaGFy
Q29kZUF0KGkrMSk7CiAgICAgICAgICAgICBwbGFpbnRleHQgKz0gU3RyaW5nLmZyb21DaGFyQ29k
ZSgoKGMmMzEpPDw2KSB8IChjMiY2MykpOwogICAgICAgICAgICAgaSs9Mjt9CiAgICAgICAgIGVs
c2UgewogICAgICAgICAgICAgYzIgPSB1dGZ0ZXh0LmNoYXJDb2RlQXQoaSsxKTsgYzMgPSB1dGZ0
ZXh0LmNoYXJDb2RlQXQoaSsyKTsKICAgICAgICAgICAgIHBsYWludGV4dCArPSBTdHJpbmcuZnJv
bUNoYXJDb2RlKCgoYyYxNSk8PDEyKSB8ICgoYzImNjMpPDw2KSB8IChjMyY2MykpOwogICAgICAg
ICAgICAgaSs9Mzt9CiAgICAgICAgIH0KICAgICByZXR1cm4gcGxhaW50ZXh0OwogfQoKZnVuY3Rp
b24gZGVjb2RlKHN0cmluZykgewoJc3RyaW5nID0gZGVjb2RlX3V0ZjgodW5lc2NhcGUoc3RyaW5n
KSk7CglpZiAoc3RyaW5nLnN1YnN0cmluZygiKyIpICE9IC0xKSB7CgkJcmV0dXJuIHN0cmluZy5y
ZXBsYWNlKG5ldyBSZWdFeHAoJ1xcKycsICdnJyksIiAiKTsKCX0KCXJldHVybiBzdHJpbmc7Cn0K
CmZ1bmN0aW9uIGFkZFRvVHJhY2tIaXN0b3J5KGlkKSB7CgkJdmFyIGNvb2tpZUdyb3VwID0gbmV3
IENvb2tpZUdyb3VwKCJSaGFwV2ViIik7CgkJaWYgKGNvb2tpZUdyb3VwLmhhc0Nvb2tpZSgiUmhh
cEhpc3RvcnkiKSl7CgkJCXZhciBoaXN0b3J5ID0gY29va2llR3JvdXAuZ2V0Q29va2llKCJSaGFw
SGlzdG9yeSIpOwoJCQljb29raWVHcm91cC5zZXRDb29raWUoIlJoYXBIaXN0b3J5IiwgaGlzdG9y
eSsiKyIraWQsIG51bGwpOwoJCX0gZWxzZSB7CgkJCWNvb2tpZUdyb3VwLnNldENvb2tpZSgiUmhh
cEhpc3RvcnkiLCBpZCwgbnVsbCk7CQoJCX0KCQkvL2FsZXJ0KCdhZGRlZCAnICsgaWQgKyAnIHRv
ICcgKyBjb29raWVHcm91cC5nZXRDb29raWUoIlJoYXBIaXN0b3J5IikpOwp9CgpmdW5jdGlvbiBn
ZXRUcmFja0hpc3RvcnkoKSB7CgkJdmFyIGNvb2tpZUdyb3VwID0gbmV3IENvb2tpZUdyb3VwKCJS
aGFwV2ViIik7CgkJaWYgKGNvb2tpZUdyb3VwLmhhc0Nvb2tpZSgiUmhhcEhpc3RvcnkiKSl7CgkJ
CXZhciB0cmFja0hpc3RvcnkgPSBjb29raWVHcm91cC5nZXRDb29raWUoIlJoYXBIaXN0b3J5Iik7
CgkJCWNvb2tpZUdyb3VwLmRlbGV0ZUNvb2tpZSgiUmhhcEhpc3RvcnkiKTsKCQkJcmV0dXJuIHRy
YWNrSGlzdG9yeTsKCQl9IAoJCXJldHVybiBudWxsOwp9CgkKCV8QN2h0dHA6Ly9zdGF0aWMucmVh
bG9uZS5jb20vcm90dy9qcy9hamF4LmpzP2JpZD05OTU5MzU5NTLUBgcICRcYGRpPEQTyYnBsaXN0
MDDUAQIDBAUGBwpZJGFyY2hpdmVyWCR2ZXJzaW9uVCR0b3BYJG9iamVjdHNfEA9OU0tleWVkQXJj
aGl2ZXISAAGGoNEICV8QE1dlYlJlc291cmNlUmVzcG9uc2WAAa8QHwsMKS8wNzg8VldYWVpbXF1e
X2BhYmNkZWZnaDdpbXBVJG51bGzfEBANDg8QERITFBUWFxgZGhscHR4fHiAhHiIjJCUdJiceKFIk
NlMkMTBSJDJTJDEzUiQ3UiQzUyQxMVIkOFIkNFMkMTRSJDlSJDBWJGNsYXNzUiQ1UyQxMlIkMRAH
EAGABYAGgAAjQaUAfzvAnSgRKI4QACNBpQB/OpCzkoAeI0GlC9+YkLOSgALTKisZIS0uV05TLmJh
c2VbTlMucmVsYXRpdmWAAIADgARfEDhodHRwOi8vd3d3LnJoYXBzb2R5LmNvbS9wbGF5ZXJVdGls
aXRpZXMuanM/YmlkPTk5NTkzNTk1MtIxMjM0WCRjbGFzc2VzWiRjbGFzc25hbWWjNDU2VU5TVVJM
ViVOU1VSTFhOU09iamVjdF8QD3RleHQvamF2YXNjcmlwdNMYGRw5OjuAB4AdEMjTPT4ZP0pVWk5T
Lm9iamVjdHNXTlMua2V5c6pAQUJDREVGR0hJgBKAE4AUgBWAFoAXgBiAGYAagBuqS0xNTk9QUVJT
VIAIgAmACoALgAyADYAOgA+AEIARgBxWU2VydmVyVFZhcnlfEBBDb250ZW50LUVuY29kaW5nWkNv
bm5lY3Rpb25URGF0ZVpTZXQtQ29va2llV0V4cGlyZXNWUHJhZ21hXkNvbnRlbnQtTGVuZ3RoXENv
bnRlbnQtVHlwZV8QEUFwYWNoZSBDb3lvdGUvMS4wXxAPQWNjZXB0LUVuY29kaW5nVGd6aXBVY2xv
c2VfEB1XZWQsIDAyIEF1ZyAyMDA2IDAyOjI2OjU3IEdNVF8QclJoYXBXZWIuUmhhcFByZWZzPWF2
YWlsPXRydWUmaGlkZWFydD1mYWxzZSZzb3J0Ynk9cmVsZWFzZSwgSlNFU1NJT05JRD1CMDhDMjRG
MjkxMTUyMkEzNDA2NTQ1MjZFMUEwNjkzNjsgUGF0aD0vcm90d18QHVN1biwgMDYgQXVnIDIwMDYg
MTA6MDA6MDAgR01UUFQzMTcz0jEyamuja2w2XxATTlNNdXRhYmxlRGljdGlvbmFyeVxOU0RpY3Rp
b25hcnnSMTJub6JvNl8QGU5TSFRUUFVSTFJlc3BvbnNlSW50ZXJuYWzSMTJxcqNyczZfEBFOU0hU
VFBVUkxSZXNwb25zZV1OU1VSTFJlc3BvbnNlAAgAEQAbACQAKQAyAEQASQBMAGIAZACGAIwArwCy
ALYAuQC9AMAAwwDHAMoAzQDRANQA1wDeAOEA5QDoAOoA7ADuAPAA8gD7AP4BAAEJAQsBFAEWAR0B
JQExATMBNQE3AXIBdwGAAYsBjwGVAZwBpQG3Ab4BwAHCAcQBywHWAd4B6QHrAe0B7wHxAfMB9QH3
AfkB+wH9AggCCgIMAg4CEAISAhQCFgIYAhoCHAIeAiUCKgI9AkgCTQJYAmACZwJ2AoMClwKpAq4C
tALUA0kDaQNqA28DdAN4A44DmwOgA6MDvwPEA8gD3AAAAAAAAAIBAAAAAAAAAHQAAAAAAAAAAAAA
AAAAAAPqTxEojgpmdW5jdGlvbiBkZWJ1ZyhtZXNzYWdlKXsKLy9hbGVydCAobWVzc2FnZSk7Cn0K
dmFyIGFndD1uYXZpZ2F0b3IudXNlckFnZW50LnRvTG93ZXJDYXNlKCk7CnZhciBtYWpvciA9IHBh
cnNlSW50KG5hdmlnYXRvci5hcHBWZXJzaW9uKTsKdmFyIGllID0gKGFndC5pbmRleE9mKCJtc2ll
IikgIT0gLTEpOwp2YXIgbmF2ID0gKChhZ3QuaW5kZXhPZignbW96aWxsYScpIT0tMSkgJiYgKChh
Z3QuaW5kZXhPZignc3Bvb2ZlcicpPT0tMSkgJiYgKGFndC5pbmRleE9mKCdjb21wYXRpYmxlJykg
PT0gLTEpKSAmJiAoYWd0LmluZGV4T2YoJ29wZXJhJyk9PS0xKSk7CnZhciB3aW4gPSAoKGFndC5p
bmRleE9mKCJ3aW4iKSE9LTEpIHx8IChhZ3QuaW5kZXhPZigiMTZiaXQiKSE9LTEpKTsKdmFyIG1h
YyA9IChhZ3QuaW5kZXhPZigibWFjaW50b3NoIikgIT0gLTEpOwp2YXIgY2FuQnV5VHJhY2tzID0g
MDsgLy8gdHVybmluZyBvZmYgdHJhY2sgcHVyY2hhc2VzIC0tIHRvbyBjb25mdXNpbmcKZnVuY3Rp
b24gaXNWZXJzaW9uR3JlYXRlclRoYW5FcXVhbFRvKHJlcVZlcnNpb24sIHZlcnNpb24pIHsKdmFy
IHZlcnNpb25BcnIgPSB2ZXJzaW9uLnNwbGl0KCIuIik7CnZhciByZXFWZXJzaW9uQXJyID0gcmVx
VmVyc2lvbi5zcGxpdCgiLiIpOwpmb3IgKHZhciBpID0wOyBpPHZlcnNpb25BcnIubGVuZ3RoICYm
IGk8cmVxVmVyc2lvbkFyci5sZW5ndGg7IGkrKykgewppZiAodmVyc2lvbkFycltpXSA8IHJlcVZl
cnNpb25BcnJbaV0gKSByZXR1cm4gZmFsc2U7CmlmICh2ZXJzaW9uQXJyW2ldID4gcmVxVmVyc2lv
bkFycltpXSApIHJldHVybiB0cnVlOwovKiBJZiB0aGUgYnJvd3NlciB2ZXJzaW9uIHJ1bnMgb2Zm
IHRoZSBlbmQgb2YgYXJyYXkgYnV0IHRoZXJlJ3MKc3RpbGwgbW9yZSByZXF1aXJlZCBlbG1lbnRz
IHRoZW4gdGhlIGJyb3dzZXIgbXVzdCBiZSBsZXNzICovCmlmIChpICsgMSA9PSB2ZXJzaW9uQXJy
Lmxlbmd0aCAmJiBpICsgMSA8IHJlcVZlcnNpb25BcnIubGVuZ3RoKSByZXR1cm4gZmFsc2U7Cn0K
cmV0dXJuIHRydWU7Cn0KZnVuY3Rpb24gc2V0UGx1Z2luSW5zdGFsbGVkQ29va2llKCkgewp2YXIg
Q09PS0lFX0xJRkVfREFZUyA9IDcwMDsKdmFyIGV4cGlyZURhdGUgPSBuZXcgRGF0ZSgpOwpleHBp
cmVEYXRlLnNldFRpbWUoIGV4cGlyZURhdGUuZ2V0VGltZSgpICsgQ09PS0lFX0xJRkVfREFZUyoy
NCo2MCo2MCoxMDAwICk7CmRvY3VtZW50LmNvb2tpZSA9ICJyaGFwd2ViUGx1Z2luSW5zdGFsbGVk
PXRydWU7IHBhdGg9LzsgZG9tYWluPS5yaGFwc29keS5jb207IGV4cGlyZXM9IitleHBpcmVEYXRl
LnRvR01UU3RyaW5nKCkrIjsiOwp9CmZ1bmN0aW9uIERldGVjdFBsdWdpbkFuZFN3aXRjaERpdnMo
KSB7CmlmIChkZXRlY3RPYmplY3QoJ1JoYXBzb2R5UGxheWVyRW5naW5lLlJoYXBzb2R5UGxheWVy
RW5naW5lQ3RybCcsJ1JoYXBzb2R5IEFjdGl2ZVgnLCAncmhwJywgJ2FwcGxpY2F0aW9uL3JoYXBz
b2R5LXBsdWdpbicsICdSZWFsTmV0d29ya3MgUmhhcHNvZHknKSkgewovL2FsZXJ0KCJwbHVnaW4i
KTsKbG9hZENvbnRyb2woKTsKc2V0UGx1Z2luSW5zdGFsbGVkQ29va2llKCk7Cn0gZWxzZSB7Ci8v
YWxlcnQoIm5vIHBsdWdpbiIpOwppZiAobG9jYXRpb24uZ2V0UGFyYW1ldGVyKCJpbnN0YWxsIikg
PT0gInRydWUiKSB7CmxvYWRDb250cm9sKCk7CnNldFBsdWdpbkluc3RhbGxlZENvb2tpZSgpOwp9
IGVsc2Ugewpkb2N1bWVudC5sb2NhdGlvbi5yZXBsYWNlKCIvaW5zdGFsbCIrbG9jYXRpb24uc2Vh
cmNoKTsKfQp9Cn0KZnVuY3Rpb24gd2FpdEZvclVwZ3JhZGVUaGVuUmVsb2FkKGNoaWxkV2luZG93
KSB7Ci8vZGVidWcgKCdpbiB3YWl0IHdpdGggJyArIGNoaWxkV2luZG93KTsKaWYgKCFjaGlsZFdp
bmRvdyB8fCBjaGlsZFdpbmRvdy5jbG9zZWQpIHsKbG9jYXRpb24ucmVsb2FkKGxvY2F0aW9uLmhy
ZWYpOwp9IGVsc2UgewpzZXRUaW1lb3V0KGZ1bmN0aW9uKCkge3dhaXRGb3JVcGdyYWRlVGhlblJl
bG9hZChjaGlsZFdpbmRvdyk7fSw1MDAwKTsKfQp9CmZ1bmN0aW9uIGxvYWRDb250cm9sKCkKewp2
YXIgY29kZWJhc2UgPSBnZXRDb2RlQmFzZSgpOwppZiAod2luZG93LkFjdGl2ZVhPYmplY3QpCnsK
Ly8gdXNlIEFjdGl2ZVgKLy9kb2N1bWVudC53cml0ZSgnPG9iamVjdCB3aWR0aD0wIGhlaWdodD0w
IGNsYXNzaWQ9ImNsc2lkOkMzOUY3MUMzLTA4QjgtNDVCQi04OTA3LUQ1RjFBRTcxRDVGNyI+Jyk7
Ci8vIGRvY3VtZW50LndyaXRlKCcgPHBhcmFtIG5hbWU9IkxQS0ZpbGUiIHZhbHVlPSJSaGFwWC5s
cGsiPicpOwovLyBkb2N1bWVudC53cml0ZSgnPC9vYmplY3Q+Jyk7CmRvY3VtZW50LndyaXRlKCc8
b2JqZWN0IGlkPSJSaGFwWCIgd2lkdGg9MCBoZWlnaHQ9MCBjbGFzc2lkPSJjbHNpZDoyODcxRkM5
Qi01RTM0LTRBQUUtOUU5Qy1FQkQxNjUyRDVDOTIiIGNvZGViYXNlPSInICsgY29kZWJhc2UgKyAn
Ij4nKTsKZG9jdW1lbnQud3JpdGUoJyA8cGFyYW0gbmFtZT0ic2VydmVyIiB2YWx1ZT0iJyArIGpp
bGxTZXJ2ZXIgKyAnIi8+Jyk7CmRvY3VtZW50LndyaXRlKCcgPHBhcmFtIG5hbWU9ImNvbnNvbGVs
b2ciIHZhbHVlPSIweEYwMDMzIi8+Jyk7CmRvY3VtZW50LndyaXRlKCcgPHBhcmFtIG5hbWU9ImZp
bGVsb2ciIHZhbHVlPSIweEZGRkZGRkZGIi8+Jyk7CmRvY3VtZW50LndyaXRlKCcgPHBhcmFtIG5h
bWU9ImZpbGVsb2dwYXRoIiB2YWx1ZT0iYzpcXHJoYXB4bG9nLnR4dCIvPicpOwpkb2N1bWVudC53
cml0ZSgnPC9vYmplY3Q+Jyk7Cn0KZWxzZQp7Ci8vIHVzZSBOZXRzY2FwZSBwbHVnaW4KZG9jdW1l
bnQud3JpdGUoJzxvYmplY3QgaWQ9IlJoYXBYIiB3aWR0aD0wIGhlaWdodD0wIHR5cGU9ImFwcGxp
Y2F0aW9uL3JoYXBzb2R5LXBsdWdpbiIgY29kZWJhc2U9IicgKyBjb2RlYmFzZSArICciPicpOwpk
b2N1bWVudC53cml0ZSgnIDxwYXJhbSBuYW1lPSJzZXJ2ZXIiIHZhbHVlPSInICsgamlsbFNlcnZl
ciArICciLz4nKTsKZG9jdW1lbnQud3JpdGUoJyA8cGFyYW0gbmFtZT0iY29uc29sZWxvZyIgdmFs
dWU9IjB4RjAwMzMiLz4nKTsKZG9jdW1lbnQud3JpdGUoJyA8cGFyYW0gbmFtZT0iZmlsZWxvZyIg
dmFsdWU9IjB4RkZGRkZGRkYiLz4nKTsKZG9jdW1lbnQud3JpdGUoJyA8cGFyYW0gbmFtZT0iZmls
ZWxvZ3BhdGgiIHZhbHVlPSJjOlxccmhhcHhsb2cudHh0Ii8+Jyk7CmRvY3VtZW50LndyaXRlKCc8
L29iamVjdD4nKTsKfQppbml0KCk7Cn0KdmFyIGdSZXF1aXJlZFJoYXBYVmVyc2lvbiA9ICIxLjAu
MC40ODciOwpmdW5jdGlvbiBnZXRDb2RlQmFzZSgpIHsKdmFyIG9zID0gIndpbmRvd3MvbXJrdC9y
aGFweCI7CnZhciBwbHVnaW5FeHQgPSAiIjsKdmFyIHZlcnNpb24gPSAiIjsKdmFyIG9zRXh0ID0g
IldpbiI7CmlmICggbmF2aWdhdG9yLnVzZXJBZ2VudC5pbmRleE9mKCAiTVNJRSIgKSAhPSAtMSAp
ewppZiAodHlwZW9mIGdSZXF1aXJlZFJoYXBYVmVyc2lvbiAhPSAidW5kZWZpbmVkIiApIHsKaWYo
bG9jYXRpb24uZ2V0UGFyYW1ldGVyKCdpZXVwZ3JhZGUnKSA9PSAndHJ1ZScpewp2ZXJzaW9uID0g
JyNWZXJzaW9uPScgKyBnUmVxdWlyZWRSaGFwWFZlcnNpb24ucmVwbGFjZSgvXC4vZywgJywnKTsK
fQp9CnBsdWdpbkV4dCA9ICIuY2FiIjsKfSBlbHNlIHsKcGx1Z2luRXh0ID0gIi54cGkiOwp9Cmlm
ICggbmF2aWdhdG9yLnVzZXJBZ2VudC5pbmRleE9mKCAiYWNpbnRvc2giICkgIT0gLTEgKXsKb3Mg
PSAibWFjL3JoYXB4IjsKb3NFeHQgPSAiTWFjIjsKaWYgKG5hdmlnYXRvci51c2VyQWdlbnQuaW5k
ZXhPZiggImFmYXJpIiApICE9IC0xICl7CnJldHVybiBkb3dubG9hZEhvbWUgKyBvcyArICcvUmhh
cHNvZHlQbGF5ZXJFbmdpbmVJbnN0YWxsZXIuZG1nJzsKfQp9CmlmICggbmF2aWdhdG9yLnVzZXJB
Z2VudC5pbmRleE9mKCAiaW51eCIgKSAhPSAtMSApIHsKb3MgPSAidW5peC9yaGFweCI7CnBsdWdp
bkV4dCA9ICIueHBpIjsKb3NFeHQgPSAiTGludXgiOwp9CmlmICh2ZXJzaW9uID09ICIiICkgewpy
ZXR1cm4gZG93bmxvYWRIb21lICsgb3MgKyAnL1JoYXBzb2R5UGxheWVyRW5naW5lX0luc3RfJyAr
IG9zRXh0ICsgcGx1Z2luRXh0Owp9CnJldHVybiBkb3dubG9hZEhvbWUgKyBvcyArICcvUmhhcHNv
ZHlQbGF5ZXJFbmdpbmVfSW5zdF8nICsgb3NFeHQgKyBwbHVnaW5FeHQgKyB2ZXJzaW9uOwp9CmZ1
bmN0aW9uIGRldGVjdE9iamVjdChDbGFzc0lELCBkZXNjLCBleHQsIG1pbWUsIG5hbWUgKQp7Cmlm
IChpZSkKewppZiAoSUVEZXRlY3RPYmplY3QoQ2xhc3NJRCwgbmFtZSkpCnJldHVybiB0cnVlOwpl
bHNlCnJldHVybiBmYWxzZTsKfQppZiAobmF2aWdhdG9yLnBsdWdpbnMpCnsKaWYgKE5hdkRldGVj
dE9iamVjdChkZXNjLCBleHQsIG1pbWUsIG5hbWUpKQpyZXR1cm4gdHJ1ZTsKZWxzZQpyZXR1cm4g
ZmFsc2U7Cn0KcmV0dXJuIGZhbHNlOwp9CmZ1bmN0aW9uIElFRGV0ZWN0T2JqZWN0KENsYXNzSUQs
IG5hbWUpCnsKcmVzdWx0ID0gdHJ1ZTsKLy8gSW50ZXJuZXQgZXhwbG9yZXIgb24gd2luZG93cwpp
ZiAoaWUgJiYgd2luKQp7CmRvY3VtZW50LndyaXRlKCc8U0NSSVBUIExBTkdVQUdFPVZCU2NyaXB0
XD4gXG4nKTsKZG9jdW1lbnQud3JpdGUoJ29uIGVycm9yIHJlc3VtZSBuZXh0IFxuJyk7CmRvY3Vt
ZW50LndyaXRlKCdyZXN1bHQgPSBJc09iamVjdChDcmVhdGVPYmplY3QoIicgKyBDbGFzc0lEICsg
JyIpKSBcbicpOwpkb2N1bWVudC53cml0ZWxuKCcgSWYgKGVycikgdGhlbicpOwpkb2N1bWVudC53
cml0ZWxuKCcgcmVzdWx0ID0gRmFsc2UnKTsKZG9jdW1lbnQud3JpdGVsbignIEVuZCBJZicpOwpk
b2N1bWVudC53cml0ZSgnPC9TQ1JJUFRcPiBcbicpOwp9Ci8vYWxlcnQgKCJpZSByZXM6ICIgKyBy
ZXN1bHQpOwpyZXR1cm4gcmVzdWx0Owp9CmZ1bmN0aW9uIE5hdkRldGVjdE9iamVjdChkZXNjLCBl
eHQsIG1pbWUsIG5hbWUpCnsgLy8gVGhlIG51bWJlciBvZiBwbHVnaW5zCnZhciBudW1QbHVnaW5z
ID0gMDsKaWYgKG5hdmlnYXRvci5wbHVnaW5zKQpuYXZpZ2F0b3IucGx1Z2lucy5yZWZyZXNoKCk7
Cm51bVBsdWdpbnMgPSBuYXZpZ2F0b3IucGx1Z2lucy5sZW5ndGg7CmlmIChudW1QbHVnaW5zID09
IDApIHJldHVybiBmYWxzZTsKZm9yICh2YXIgaT0wOyBpIDwgbnVtUGx1Z2luczsgaSsrKQp7CmN1
cnJlbnRQbHVnaW4gPSBuYXZpZ2F0b3IucGx1Z2luc1tpXTsKaWYgKGN1cnJlbnRQbHVnaW4ubmFt
ZSA9PSBuYW1lIHx8IGN1cnJlbnRQbHVnaW4uZGVzY3JpcHRpb24gPT0gZGVzYykgcmV0dXJuIHRy
dWU7Ci8vIFRoZSBudW1iZXIgb2YgbWltZS10eXBlcyBhc3NvY2lhdGVkIHdpdGggdGhpcyBwbHVn
aW4KbnVtVHlwZXMgPSBjdXJyZW50UGx1Z2luLmxlbmd0aAovLyBXcml0ZSB0aGUgbWltZS10eXBl
cwpmb3IgKGogPSAwOyBqIDwgbnVtVHlwZXM7IGorKykKewppZiAoY3VycmVudFBsdWdpbltqXS50
eXBlID09IG1pbWUgfHwgY3VycmVudFBsdWdpbltqXS5zdWZmaXhlcyA9PSBleHQgKSByZXR1cm4g
dHJ1ZTsKfQp9CnJldHVybiBmYWxzZTsKfQpmdW5jdGlvbiByb2xseUltYWdlT2JqKHRoZUlkLHdp
ZHRoLGhlaWdodCxzdGF0ZSl7CnRoaXMuc3RhdGUgPSBzdGF0ZTsKdGhpcy50aGVJZCA9IHRoZUlk
Owp0aGlzLmhlaWdodCA9IGhlaWdodDsKdGhpcy53aWR0aCA9IHdpZHRoOwp0aGlzLm92ZXI9IG5l
dyBJbWFnZSh0aGlzLndpZHRoLHRoaXMuaGVpZ2h0KTsKdGhpcy5vdmVyLnNyYyA9IGltYWdlUGF0
aCt0aGlzLnRoZUlkKyJfb3Zlci5naWYiOwp0aGlzLm9mZj0gbmV3IEltYWdlKHRoaXMud2lkdGgs
dGhpcy5oZWlnaHQpOwp0aGlzLm9mZi5zcmMgPSBpbWFnZVBhdGgrdGhpcy50aGVJZCsiX29mZi5n
aWYiOwp0aGlzLm9uID0gbmV3IEltYWdlKHRoaXMud2lkdGgsdGhpcy5oZWlnaHQpOwp0aGlzLm9u
LnNyYyA9IGltYWdlUGF0aCt0aGlzLnRoZUlkKyJfb24uZ2lmIjsKdGhpcy5kaXNhYmxlPSBuZXcg
SW1hZ2UodGhpcy53aWR0aCx0aGlzLmhlaWdodCk7CnRoaXMuZGlzYWJsZS5zcmMgPSBpbWFnZVBh
dGgrdGhpcy50aGVJZCsiX2Rpc2FibGUuZ2lmIjsKfQovKiBvdGhlciBidG5zICovCnZhciBidG5f
Ymx1X2x0ID0gbmV3IHJvbGx5SW1hZ2VPYmooImJ0bl9ibHVfbHQiLDcsMjMsIm9mZiIpOwp2YXIg
YnRuX2JsdV9taWQgPSBuZXcgcm9sbHlJbWFnZU9iaigiYnRuX2JsdV9taWQiLDUsMjMsIm9mZiIp
Owp2YXIgYnRuX2JsdV9ydCA9IG5ldyByb2xseUltYWdlT2JqKCJidG5fYmx1X3J0Iiw3LDIzLCJv
ZmYiKTsKdmFyIGJ0bl93aHRfbHQgPSBuZXcgcm9sbHlJbWFnZU9iaigiYnRuX3dodF9sdCIsNywy
Mywib2ZmIik7CnZhciBidG5fd2h0X21pZCA9IG5ldyByb2xseUltYWdlT2JqKCJidG5fd2h0X21p
ZCIsNSwyMywib2ZmIik7CnZhciBidG5fd2h0X3J0ID0gbmV3IHJvbGx5SW1hZ2VPYmooImJ0bl93
aHRfcnQiLDcsMjMsIm9mZiIpOwp2YXIgYnRuX3NyY19sdCA9IG5ldyByb2xseUltYWdlT2JqKCJi
dG5fc3JjX2x0Iiw3LDIzLCJvZmYiKTsKdmFyIGJ0bl9zcmNfbWlkID0gbmV3IHJvbGx5SW1hZ2VP
YmooImJ0bl9zcmNfbWlkIiw1LDIzLCJvZmYiKTsKdmFyIGJ0bl9zcmNfcnQgPSBuZXcgcm9sbHlJ
bWFnZU9iaigiYnRuX3NyY19ydCIsNywyMywib2ZmIik7CnZhciBidG5fc3JjX2x0ID0gbmV3IHJv
bGx5SW1hZ2VPYmooImJ0bl9zcmNfbHQiLDcsMjMsIm9mZiIpOwp2YXIgYnRuX3NyY19taWQgPSBu
ZXcgcm9sbHlJbWFnZU9iaigiYnRuX3NyY19taWQiLDUsMjMsIm9mZiIpOwp2YXIgYnRuX3NyY19y
dCA9IG5ldyByb2xseUltYWdlT2JqKCJidG5fc3JjX3J0Iiw3LDIzLCJvZmYiKTsKdmFyIGJ0bl9w
bGF5ID0gbmV3IHJvbGx5SW1hZ2VPYmooImJ0bl9wbGF5IiwzNSwzOCwib2ZmIik7CnZhciBidG5f
bmV4dCA9IG5ldyByb2xseUltYWdlT2JqKCJidG5fbmV4dCIsMjYsMzgsIm9mZiIpOwp2YXIgYnRu
X3ByZXZpb3VzID0gbmV3IHJvbGx5SW1hZ2VPYmooImJ0bl9wcmV2aW91cyIsMjYsMzgsIm9mZiIp
Owp2YXIgYnRuX3BhdXNlID0gbmV3IHJvbGx5SW1hZ2VPYmooImJ0bl9wYXVzZSIsMjcsMzgsIm9m
ZiIpOwp2YXIgYnRuX3N0b3AgPSBuZXcgcm9sbHlJbWFnZU9iaigiYnRuX3N0b3AiLDI3LDM4LCJv
ZmYiKTsKdmFyIGJ0bl9tdXRlID0gbmV3IHJvbGx5SW1hZ2VPYmooImJ0bl9tdXRlIiwxOCwyOSwi
b2ZmIik7CmZ1bmN0aW9uIHJvbGxCdXR0b24odGhlU3RhdGUsbmFtZSxidG5JZCl7CmxlZnRCdG4g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChidG5JZCsiX2x0Iik7CmNlbnRlckJ0biA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKGJ0bklkKyJfbWlkIik7CnJpZ2h0QnRuID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoYnRuSWQrIl9ydCIpOwpsZWZ0QnRuSW1nID0gZXZhbChuYW1lKyJfbHQuIit0
aGVTdGF0ZSk7CmNlbnRlckJ0bkltZyA9IGV2YWwobmFtZSsiX21pZC4iK3RoZVN0YXRlKTsKcmln
aHRCdG5JbWcgPSBldmFsKG5hbWUrIl9ydC4iK3RoZVN0YXRlKTsKbGVmdEJ0bi5zdHlsZS5iYWNr
Z3JvdW5kSW1hZ2U9InVybCgiK2xlZnRCdG5JbWcuc3JjKyIpIjsKY2VudGVyQnRuLnN0eWxlLmJh
Y2tncm91bmRJbWFnZT0idXJsKCIrY2VudGVyQnRuSW1nLnNyYysiKSI7CnJpZ2h0QnRuLnN0eWxl
LmJhY2tncm91bmRJbWFnZT0idXJsKCIrcmlnaHRCdG5JbWcuc3JjKyIpIjsKfQpmdW5jdGlvbiBn
ZXRTdGF0ZSh0aGVJZCl7CnRoZU9iaiA9IGV2YWwodGhlSWQpOwpyZXR1cm4gdGhlT2JqLnN0YXRl
Owp9CmZ1bmN0aW9uIGNoYW5nZVN0YXRlKHRoZUlkLHRoZVN0YXRlKXsKdGhlT2JqID0gZXZhbCh0
aGVJZCk7CmNoZWNrU3RhdGUgPSB0aGVPYmouc3RhdGU7CnRoZU9iai5zdGF0ZSA9IHRoZVN0YXRl
Owpkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0aGVJZCkuc3JjPWltYWdlUGF0aCt0aGVJZCsiXyIr
dGhlU3RhdGUrIi5naWYiOwp9CmZ1bmN0aW9uIHRvZ2dsZSh0aGVJZCxzdGF0ZSl7CnRoZU9iaiA9
IGV2YWwodGhlSWQpOwp0aGVTdGF0ZSA9IHRoZU9iai5zdGF0ZTsKaWYodGhlU3RhdGUgPT0gIm9u
IiB8fCB0aGVTdGF0ZSA9PSAiZGlzYWJsZSIpewpyZXR1cm47Cn0KZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQodGhlSWQpLnNyYz1pbWFnZVBhdGgrdGhlSWQrIl8iK3N0YXRlKyIuZ2lmIjsKfQpmdW5j
dGlvbiBjb252ZXJ0VGltZShtaWxsaXMpIHsKdGljc1BlckhvdXIgPSAzNjAwMDAwOwp0aWNzUGVy
TWludXRlID0gNjAwMDA7CnRpY3NQZXJTZWNvbmQgPSAxMDAwOwpob3Vyc0F3YXkgPSBNYXRoLmZs
b29yKG1pbGxpcy90aWNzUGVySG91cik7CnJlbWFpbmRlciA9IG1pbGxpcyAlIHRpY3NQZXJIb3Vy
OwptaW51dGVzQXdheSA9IE1hdGguZmxvb3IocmVtYWluZGVyL3RpY3NQZXJNaW51dGUpOwpyZW1h
aW5kZXIgPSByZW1haW5kZXIgJSB0aWNzUGVyTWludXRlOwpzZWNvbmRzQXdheSA9IE1hdGguZmxv
b3IocmVtYWluZGVyL3RpY3NQZXJTZWNvbmQpOwppZiAobWludXRlc0F3YXkgPCAxMCkgbWludXRl
c0F3YXkgPSAnMCcgKyBtaW51dGVzQXdheTsKaWYgKHNlY29uZHNBd2F5IDwgMTApIHNlY29uZHNB
d2F5ID0gJzAnICsgc2Vjb25kc0F3YXk7CmlmIChob3Vyc0F3YXkgPiAwKSB7CnJldHVybiBob3Vy
c0F3YXkrIjoiK21pbnV0ZXNBd2F5KyI6IitzZWNvbmRzQXdheTsKfQpyZXR1cm4gbWludXRlc0F3
YXkrIjoiK3NlY29uZHNBd2F5Owp9CnZhciBnUGFyYW1ldGVyTGlzdCA9IGxvY2F0aW9uLnNlYXJj
aDsKbG9jYXRpb24uc2V0UGFyYW1ldGVyID0gZnVuY3Rpb24oc1BhcmFtLCBzVmFsdWUpIHsKaWYg
KGdQYXJhbWV0ZXJMaXN0ID09ICcnKSB7CmdQYXJhbWV0ZXJMaXN0ID0gZ1BhcmFtZXRlckxpc3Qg
KyAnPycrc1BhcmFtKyc9JytzVmFsdWU7Cn0gZWxzZSB7CmdQYXJhbWV0ZXJMaXN0ID0gZ1BhcmFt
ZXRlckxpc3QgKyAnJicrc1BhcmFtKyc9JytzVmFsdWU7Cn0KfTsKbG9jYXRpb24uZ2V0UGFyYW1l
dGVyID0gZnVuY3Rpb24oc1BhcmFtKSB7CnZhciBzS2V5ID0gc1BhcmFtICsgIj0iOwp2YXIgb1Bh
cmFtcyA9IGdQYXJhbWV0ZXJMaXN0LnN1YnN0cmluZygxKS5zcGxpdCgiJiIpOwpmb3IodmFyIGkg
PSAwOyBpIDwgb1BhcmFtcy5sZW5ndGg7IGkrKyl7CmlmKG9QYXJhbXNbaV0uaW5kZXhPZihzS2V5
KSA9PSAwKSB7CnJldHVybiBvUGFyYW1zW2ldLnN1YnN0cmluZyhzS2V5Lmxlbmd0aCk7Cn0KfQpy
ZXR1cm4gbnVsbDsKfTsKbG9jYXRpb24uZ2V0UGFyYW1ldGVyTWFwID0gZnVuY3Rpb24oKSB7CnZh
ciBvUGFyYW1zID0gZ1BhcmFtZXRlckxpc3Quc3Vic3RyaW5nKDEpLnNwbGl0KCImIik7CnZhciBv
TWFwID0geyB9CmZvcih2YXIgaSA9IDA7IGkgPCBvUGFyYW1zLmxlbmd0aDsgaSsrKSB7CnZhciBw
YWlyID0gb1BhcmFtc1tpXS5zcGxpdCgiPSIpOwpvTWFwW3BhaXJbMF1dID0gcGFpclsxXTsKfQpy
ZXR1cm4gb01hcDsKfTsKZnVuY3Rpb24gYXBwZW5kVG9Mb2NhdGlvblNlYXJjaChuZXdQYXJhbSkg
ewppZiAoIWxvY2F0aW9uLnNlYXJjaCB8fCBsb2NhdGlvbi5zZWFyY2ggPT0gJycpIHsKcmV0dXJu
ICc/JytuZXdQYXJhbTsKfSBlbHNlIHsKcmV0dXJuIGxvY2F0aW9uLnNlYXJjaCsnJicrbmV3UGFy
YW07Cn0KfQpmdW5jdGlvbiBhZGRQYXJhbVNlcGFyYXRvcihuZXdQYXJhbSkgewppZiAoIWxvY2F0
aW9uLnNlYXJjaCB8fCBsb2NhdGlvbi5zZWFyY2ggPT0gJycpIHsKcmV0dXJuICc/JytuZXdQYXJh
bTsKfSBlbHNlIHsKcmV0dXJuICcmJytuZXdQYXJhbTsKfQp9CmZ1bmN0aW9uIHRydW5jYXRlVGV4
dEJ5RWxlbWVudChlbGVtSWQsbWF4Q2hhcnMsY3V0Q2xlYW4peyAvL2hhc24ndCBiZWVuIHVzZWQu
IG5lZWRzIHRvIGJlIHRlc3RlZAp2YXIgY2xpcEVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZChlbGVtSWQpOwp2YXIgY2xpcENvbnRlbnRzID0gY2xpcEVsZW1lbnQuaW5uZXJIVE1MOwp2
YXIgb3JpZ0xlbmd0aCA9IGNsaXBDb250ZW50cy5sZW5ndGg7CmNsaXBDb250ZW50cyA9IGNsaXBD
b250ZW50cy5zdWJzdHJpbmcoMCwgbWF4Q2hhcnMpOwppZiggb3JpZ0xlbmd0aCA+IChtYXhDaGFy
cys0KSApewppZihjdXRDbGVhbil7CmNsaXBDb250ZW50cyA9IGNsaXBDb250ZW50cy5yZXBsYWNl
KC9cdyskLywgJy4uLicpOwp9ZWxzZXsKY2xpcENvbnRlbnRzID0gY2xpcENvbnRlbnRzKyIuLi4i
Owp9Cn0KY2xpcEVsZW1lbnQuaW5uZXJIVE1MID0gY2xpcENvbnRlbnRzOwp9CmZ1bmN0aW9uIHRy
dW5jYXRlVGV4dFN0cmluZyh0ZXh0LG1heENoYXJzLGN1dENsZWFuKXsKdmFyIHJlc3VsdFRleHQg
PSB0ZXh0LnN1YnN0cmluZygwLCBtYXhDaGFycyk7CmlmKCB0ZXh0Lmxlbmd0aCA+IChtYXhDaGFy
cys0KSApewppZihjdXRDbGVhbil7CnJlc3VsdFRleHQgPSByZXN1bHRUZXh0LnJlcGxhY2UoL1x3
KyQvLCAnLi4uJyk7Cn1lbHNlewpyZXN1bHRUZXh0ID0gcmVzdWx0VGV4dCsiLi4uIjsKfQp9CnJl
dHVybiByZXN1bHRUZXh0Owp9XxA4aHR0cDovL3d3dy5yaGFwc29keS5jb20vcGxheWVyVXRpbGl0
aWVzLmpzP2JpZD05OTU5MzU5NTJfEA90ZXh0L2phdmFzY3JpcHTUBgcICRwdHhpPEQP6YnBsaXN0
MDDUAQIDBAUGBwpZJGFyY2hpdmVyWCR2ZXJzaW9uVCR0b3BYJG9iamVjdHNfEA9OU0tleWVkQXJj
aGl2ZXISAAGGoNEICV8QE1dlYlJlc291cmNlUmVzcG9uc2WAAa8QFwsMKS8wNzg8Tk9QUVJTVFVW
V1g3WV1gVSRudWxs3xAQDQ4PEBESExQVFhcYGRobHB0eHx4gIR4iIyQlHSYnHihSJDZTJDEwUiQy
UyQxM1IkN1IkM1MkMTFSJDhSJDRTJDE0UiQ5UiQwViRjbGFzc1IkNVMkMTJSJDEQBxABgAWABoAA
I0GlADys2eEJEUa+EAAjQaUAPKyCEg6AFiNBpRKxe6gxBYAC0yorGSEtLldOUy5iYXNlW05TLnJl
bGF0aXZlgACAA4AEXxApaHR0cDovL3d3dy5nb29nbGUtYW5hbHl0aWNzLmNvbS91cmNoaW4uanPS
MTIzNFgkY2xhc3Nlc1okY2xhc3NuYW1lozQ1NlVOU1VSTFYlTlNVUkxYTlNPYmplY3RfEA90ZXh0
L2phdmFzY3JpcHTTGBkcOTo7gAeAFRDI0z0+GT9GTVpOUy5vYmplY3RzV05TLmtleXOmQEFCQ0RF
gA6AD4AQgBGAEoATpkdISUpLTIAIgAmACoALgAyADYAUXUxhc3QtTW9kaWZpZWRdQ2FjaGUtQ29u
dHJvbFZTZXJ2ZXJURGF0ZV5Db250ZW50LUxlbmd0aFxDb250ZW50LVR5cGVfEB1UaHUsIDE1IEp1
biAyMDA2IDIxOjI5OjM3IEdNVF8QFm1heC1hZ2U9NjA0ODAwLCBwdWJsaWNUdWNmZV8QHVR1ZSwg
MDEgQXVnIDIwMDYgMjM6NDE6NTAgR01UVTE4MTEw0jEyWlujW1w2XxATTlNNdXRhYmxlRGljdGlv
bmFyeVxOU0RpY3Rpb25hcnnSMTJeX6JfNl8QGU5TSFRUUFVSTFJlc3BvbnNlSW50ZXJuYWzSMTJh
YqNiYzZfEBFOU0hUVFBVUkxSZXNwb25zZV1OU1VSTFJlc3BvbnNlAAgAEQAbACQAKQAyAEQASQBM
AGIAZAB+AIQApwCqAK4AsQC1ALgAuwC/AMIAxQDJAMwAzwDWANkA3QDgAOIA5ADmAOgA6gDzAPYA
+AEBAQMBDAEOARUBHQEpASsBLQEvAVsBYAFpAXQBeAF+AYUBjgGgAacBqQGrAa0BtAG/AccBzgHQ
AdIB1AHWAdgB2gHhAeMB5QHnAekB6wHtAe8B/QILAhICFwImAjMCUwJsAnECkQKXApwCoAK2AsMC
yALLAucC7ALwAwQAAAAAAAACAQAAAAAAAABkAAAAAAAAAAAAAAAAAAADEk8RRr4vLy0tIEdvb2ds
ZSBBbmFseXRpY3MgVXJjaGluIE1vZHVsZQovLy0tIENvcHlyaWdodCAyMDA1IEdvb2dsZSwgQWxs
IFJpZ2h0cyBSZXNlcnZlZC4KCi8vLS0gVXJjaGluIE9uIERlbWFuZCBTZXR0aW5ncyBPTkxZCnZh
ciBfdWFjY3Q9IiI7CQkJLy8gc2V0IHVwIHRoZSBVcmNoaW4gQWNjb3VudAp2YXIgX3VzZXJ2PTE7
CQkJLy8gc2VydmljZSBtb2RlICgwPWxvY2FsLDE9cmVtb3RlLDI9Ym90aCkKCi8vLS0gVVRNIFVz
ZXIgU2V0dGluZ3MKdmFyIF91ZnNjPTE7CQkJLy8gc2V0IGNsaWVudCBpbmZvIGZsYWcgKDE9b258
MD1vZmYpCnZhciBfdWRuPSJhdXRvIjsJCS8vIChhdXRvfG5vbmV8ZG9tYWluKSBzZXQgdGhlIGRv
bWFpbiBuYW1lIGZvciBjb29raWVzCnZhciBfdWhhc2g9Im9uIjsJCS8vIChvbnxvZmYpIHVuaXF1
ZSBkb21haW4gaGFzaCBmb3IgY29va2llcwp2YXIgX3V0aW1lb3V0PSIxODAwIjsgICAJLy8gc2V0
IHRoZSBpbmFjdGl2ZSBzZXNzaW9uIHRpbWVvdXQgaW4gc2Vjb25kcwp2YXIgX3VnaWZwYXRoPSIv
X191dG0uZ2lmIjsJLy8gc2V0IHRoZSB3ZWIgcGF0aCB0byB0aGUgX191dG0uZ2lmIGZpbGUKdmFy
IF91dHNwPSJ8IjsJCQkvLyB0cmFuc2FjdGlvbiBmaWVsZCBzZXBhcmF0b3IKdmFyIF91Zmxhc2g9
MTsJCQkvLyBzZXQgZmxhc2ggdmVyc2lvbiBkZXRlY3Qgb3B0aW9uICgxPW9ufDA9b2ZmKQp2YXIg
X3V0aXRsZT0xOwkJCS8vIHNldCB0aGUgZG9jdW1lbnQgdGl0bGUgZGV0ZWN0IG9wdGlvbiAoMT1v
bnwwPW9mZikKdmFyIF91bGluaz0wOwkJCS8vIGVuYWJsZSBsaW5rZXIgZnVuY3Rpb25hbGl0eSAo
MT1vbnwwPW9mZikKdmFyIF91YW5jaG9yPTA7CQkJLy8gZW5hYmxlIHVzZSBvZiBhbmNob3JzIGZv
ciBjYW1wYWlnbiAoMT1vbnwwPW9mZikKCi8vLS0gVVRNIENhbXBhaWduIFRyYWNraW5nIFNldHRp
bmdzCnZhciBfdWN0bT0xOwkJCS8vIHNldCBjYW1wYWlnbiB0cmFja2luZyBtb2R1bGUgKDE9b258
MD1vZmYpCnZhciBfdWN0bz0iMTU3NjgwMDAiOwkJLy8gc2V0IHRpbWVvdXQgaW4gc2Vjb25kcyAo
NiBtb250aCBkZWZhdWx0KQp2YXIgX3VjY249InV0bV9jYW1wYWlnbiI7CS8vIG5hbWUKdmFyIF91
Y21kPSJ1dG1fbWVkaXVtIjsJCS8vIG1lZGl1bSAoY3BjfGNwbXxsaW5rfGVtYWlsfG9yZ2FuaWMp
CnZhciBfdWNzcj0idXRtX3NvdXJjZSI7CQkvLyBzb3VyY2UKdmFyIF91Y3RyPSJ1dG1fdGVybSI7
CQkvLyB0ZXJtL2tleXdvcmQKdmFyIF91Y2N0PSJ1dG1fY29udGVudCI7CS8vIGNvbnRlbnQKdmFy
IF91Y2lkPSJ1dG1faWQiOwkJLy8gaWQgbnVtYmVyCnZhciBfdWNubz0idXRtX25vb3ZlcnJpZGUi
OwkvLyBkb24ndCBvdmVycmlkZQoKLy8tLSBBdXRvL09yZ2FuaWMgU291cmNlcyBhbmQgS2V5d29y
ZHMKdmFyIF91T3NyPW5ldyBBcnJheSgpOwp2YXIgX3VPa3c9bmV3IEFycmF5KCk7Cl91T3NyWzBd
PSJnb29nbGUiOwlfdU9rd1swXT0icSI7Cl91T3NyWzFdPSJ5YWhvbyI7CV91T2t3WzFdPSJwIjsK
X3VPc3JbMl09Im1zbiI7CQlfdU9rd1syXT0icSI7Cl91T3NyWzNdPSJhb2wiOwkJX3VPa3dbM109
InF1ZXJ5IjsKX3VPc3JbNF09Imx5Y29zIjsJX3VPa3dbNF09InF1ZXJ5IjsKX3VPc3JbNV09ImFz
ayI7CQlfdU9rd1s1XT0icSI7Cl91T3NyWzZdPSJhbHRhdmlzdGEiOwlfdU9rd1s2XT0icSI7Cl91
T3NyWzddPSJzZWFyY2giOwlfdU9rd1s3XT0icSI7Cl91T3NyWzhdPSJuZXRzY2FwZSI7CV91T2t3
WzhdPSJxdWVyeSI7Cl91T3NyWzldPSJlYXJ0aGxpbmsiOwlfdU9rd1s5XT0icSI7Cl91T3NyWzEw
XT0iY25uIjsJX3VPa3dbMTBdPSJxdWVyeSI7Cl91T3NyWzExXT0ibG9va3NtYXJ0IjsJX3VPa3db
MTFdPSJrZXkiOwpfdU9zclsxMl09ImFib3V0IjsJX3VPa3dbMTJdPSJ0ZXJtcyI7Cl91T3NyWzEz
XT0iZXhjaXRlIjsJX3VPa3dbMTNdPSJxa3ciOwpfdU9zclsxNF09Im1hbW1hIjsJX3VPa3dbMTRd
PSJxdWVyeSI7Cl91T3NyWzE1XT0iYWxsdGhld2ViIjsJX3VPa3dbMTVdPSJxIjsKX3VPc3JbMTZd
PSJnaWdhYmxhc3QiOwlfdU9rd1sxNl09InEiOwpfdU9zclsxN109InZvaWxhIjsJX3VPa3dbMTdd
PSJrdyI7Cl91T3NyWzE4XT0idmlyZ2lsaW8iOwlfdU9rd1sxOF09InFzIjsKX3VPc3JbMTldPSJ0
ZW9tYSI7CV91T2t3WzE5XT0icSI7CgovLy0tIEF1dG8vT3JnYW5pYyBLZXl3b3JkcyB0byBJZ25v
cmUKdmFyIF91T25vPW5ldyBBcnJheSgpOwovL191T25vWzBdPSJ1cmNoaW4iOwovL191T25vWzFd
PSJ1cmNoaW4uY29tIjsKLy9fdU9ub1syXT0id3d3LnVyY2hpbi5jb20iOwoKLy8tLSBSZWZlcnJh
bCBkb21haW5zIHRvIElnbm9yZQp2YXIgX3VSbm89bmV3IEFycmF5KCk7Ci8vX3VSbm9bMF09Ii51
cmNoaW4uY29tIjsKCi8vLS0gKioqKiBEb24ndCBtb2RpZnkgYmVsb3cgdGhpcyBwb2ludCAqKioK
dmFyIF91ZmYsX3VkaCxfdWR0LF91Ymw9MCxfdWRvPSIiLF91dSxfdWZucz0wLF91bnM9MCxfdXI9
Ii0iLF91Zm5vPTAsX3VzdD0wLF91YmQ9ZG9jdW1lbnQsX3VkbD1fdWJkLmxvY2F0aW9uLF91ZGxo
PSIiLF91dGNwPSIvIixfdXd2PSIxIjsKdmFyIF91Z2lmcGF0aDI9Imh0dHA6Ly93d3cuZ29vZ2xl
LWFuYWx5dGljcy5jb20vX191dG0uZ2lmIjsKaWYgKF91ZGwuaGFzaCkgX3VkbGg9X3VkbC5ocmVm
LnN1YnN0cmluZyhfdWRsLmhyZWYuaW5kZXhPZignIycpKTsKaWYgKF91ZGwucHJvdG9jb2w9PSJo
dHRwczoiKSBfdWdpZnBhdGgyPSJodHRwczovL3NzbC5nb29nbGUtYW5hbHl0aWNzLmNvbS9fX3V0
bS5naWYiOwppZiAoIV91dGNwIHx8IF91dGNwPT0iIikgX3V0Y3A9Ii8iOwpmdW5jdGlvbiB1cmNo
aW5UcmFja2VyKHBhZ2UpIHsKIGlmIChfdWRsLnByb3RvY29sPT0iZmlsZToiKSByZXR1cm47CiBp
ZiAoX3VmZiAmJiAoIXBhZ2UgfHwgcGFnZT09IiIpKSByZXR1cm47CiB2YXIgYSxiLGMsdix6LGss
eD0iIixzPSIiLGY9MDsKIHZhciBueD0iIGV4cGlyZXM9U3VuLCAxOCBKYW4gMjAzOCAwMDowMDow
MCBHTVQ7IjsKIHZhciBkYz1fdWJkLmNvb2tpZTsKIF91ZGg9X3VEb21haW4oKTsKIF91dT1NYXRo
LnJvdW5kKE1hdGgucmFuZG9tKCkqMjE0NzQ4MzY0Nyk7CiBfdWR0PW5ldyBEYXRlKCk7CiBfdXN0
PU1hdGgucm91bmQoX3VkdC5nZXRUaW1lKCkvMTAwMCk7CiBhPWRjLmluZGV4T2YoIl9fdXRtYT0i
K191ZGgpOwogYj1kYy5pbmRleE9mKCJfX3V0bWI9IitfdWRoKTsKIGM9ZGMuaW5kZXhPZigiX191
dG1jPSIrX3VkaCk7CiBpZiAoX3VkbiAmJiBfdWRuIT0iIikgeyBfdWRvPSIgZG9tYWluPSIrX3Vk
bisiOyI7IH0KIGlmIChfdXRpbWVvdXQgJiYgX3V0aW1lb3V0IT0iIikgewogIHg9bmV3IERhdGUo
X3VkdC5nZXRUaW1lKCkrKF91dGltZW91dCoxMDAwKSk7CiAgeD0iIGV4cGlyZXM9Iit4LnRvR01U
U3RyaW5nKCkrIjsiOwogfQogaWYgKF91bGluaykgewogIGlmIChfdWFuY2hvciAmJiBfdWRsaCAm
JiBfdWRsaCE9IiIpIHM9X3VkbGgrIiYiOwogIHMrPV91ZGwuc2VhcmNoOwogIGlmKHMgJiYgcyE9
IiIgJiYgcy5pbmRleE9mKCJfX3V0bWE9Iik+PTApIHsKICAgaWYgKCEoX3VJTihhPV91R0Mocywi
X191dG1hPSIsIiYiKSkpKSBhPSItIjsKICAgaWYgKCEoX3VJTihiPV91R0MocywiX191dG1iPSIs
IiYiKSkpKSBiPSItIjsKICAgaWYgKCEoX3VJTihjPV91R0MocywiX191dG1jPSIsIiYiKSkpKSBj
PSItIjsKICAgdj1fdUdDKHMsIl9fdXRtdj0iLCImIik7CiAgIHo9X3VHQyhzLCJfX3V0bXo9Iiwi
JiIpOwogICBrPV91R0MocywiX191dG1rPSIsIiYiKTsKICAgaWYgKChrKjEpICE9ICgoX3VIYXNo
KGErYitjK3ordikqMSkrKF91ZGgqMSkpKSB7X3VibD0xO2E9Ii0iO2I9Ii0iO2M9Ii0iO3o9Ii0i
O3Y9Ii0iO30KICAgaWYgKGEhPSItIiAmJiBiIT0iLSIgJiYgYyE9Ii0iKSBmPTE7CiAgIGVsc2Ug
aWYoYSE9Ii0iKSBmPTI7CiAgfQogfQogaWYoZj09MSkgewogIF91YmQuY29va2llPSJfX3V0bWE9
IithKyI7IHBhdGg9IitfdXRjcCsiOyIrbngrX3VkbzsKICBfdWJkLmNvb2tpZT0iX191dG1iPSIr
YisiOyBwYXRoPSIrX3V0Y3ArIjsiK3grX3VkbzsKICBfdWJkLmNvb2tpZT0iX191dG1jPSIrYysi
OyBwYXRoPSIrX3V0Y3ArIjsiK191ZG87CiB9IGVsc2UgaWYgKGY9PTIpIHsKICBhPV91Rml4QShz
LCImIixfdXN0KTsKICBfdWJkLmNvb2tpZT0iX191dG1hPSIrYSsiOyBwYXRoPSIrX3V0Y3ArIjsi
K254K191ZG87CiAgX3ViZC5jb29raWU9Il9fdXRtYj0iK191ZGgrIjsgcGF0aD0iK191dGNwKyI7
Iit4K191ZG87CiAgX3ViZC5jb29raWU9Il9fdXRtYz0iK191ZGgrIjsgcGF0aD0iK191dGNwKyI7
IitfdWRvOwogIF91Zm5zPTE7CiB9IGVsc2UgaWYgKGE+PTAgJiYgYj49MCAmJiBjPj0wKSB7CiAg
X3ViZC5jb29raWU9Il9fdXRtYj0iK191ZGgrIjsgcGF0aD0iK191dGNwKyI7Iit4K191ZG87CiB9
IGVsc2UgewogIGlmIChhPj0wKSBhPV91Rml4QShfdWJkLmNvb2tpZSwiOyIsX3VzdCk7CiAgZWxz
ZSBhPV91ZGgrIi4iK191dSsiLiIrX3VzdCsiLiIrX3VzdCsiLiIrX3VzdCsiLjEiOwogIF91YmQu
Y29va2llPSJfX3V0bWE9IithKyI7IHBhdGg9IitfdXRjcCsiOyIrbngrX3VkbzsKICBfdWJkLmNv
b2tpZT0iX191dG1iPSIrX3VkaCsiOyBwYXRoPSIrX3V0Y3ArIjsiK3grX3VkbzsKICBfdWJkLmNv
b2tpZT0iX191dG1jPSIrX3VkaCsiOyBwYXRoPSIrX3V0Y3ArIjsiK191ZG87CiAgX3VmbnM9MTsK
IH0KIGlmIChfdWxpbmsgJiYgdiAmJiB2IT0iIiAmJiB2IT0iLSIpIHsKICB2PV91VUVTKHYpOwog
IGlmICh2LmluZGV4T2YoIjsiKT09LTEpIF91YmQuY29va2llPSJfX3V0bXY9Iit2KyI7IHBhdGg9
IitfdXRjcCsiOyIrbngrX3VkbzsKIH0KIF91SW5mbyhwYWdlKTsKIF91Zm5zPTA7CiBfdWZubz0w
OwogX3VmZj0xOwp9CmZ1bmN0aW9uIF91SW5mbyhwYWdlKSB7CiB2YXIgcCxzPSIiLHBnPV91ZGwu
cGF0aG5hbWUrX3VkbC5zZWFyY2g7CiBpZiAocGFnZSAmJiBwYWdlIT0iIikgcGc9X3VFUyhwYWdl
LDEpOwogX3VyPV91YmQucmVmZXJyZXI7CiBpZiAoIV91ciB8fCBfdXI9PSIiKSB7IF91cj0iLSI7
IH0KIGVsc2UgewogIHA9X3VyLmluZGV4T2YoX3ViZC5kb21haW4pOwogIGlmICgocD49MCkgJiYg
KHA8PTgpKSB7IF91cj0iMCI7IH0KICBpZiAoX3VyLmluZGV4T2YoIlsiKT09MCAmJiBfdXIubGFz
dEluZGV4T2YoIl0iKT09KF91ci5sZW5ndGgtMSkpIHsgX3VyPSItIjsgfQogfQogcys9IiZ1dG1u
PSIrX3V1OwogaWYgKF91ZnNjKSBzKz1fdUJJbmZvKCk7CiBpZiAoX3VjdG0pIHMrPV91Q0luZm8o
KTsKIGlmIChfdXRpdGxlICYmIF91YmQudGl0bGUgJiYgX3ViZC50aXRsZSE9IiIpIHMrPSImdXRt
ZHQ9IitfdUVTKF91YmQudGl0bGUpOwogaWYgKF91ZGwuaG9zdG5hbWUgJiYgX3VkbC5ob3N0bmFt
ZSE9IiIpIHMrPSImdXRtaG49IitfdUVTKF91ZGwuaG9zdG5hbWUpOwogcys9IiZ1dG1yPSIrX3Vy
Owogcys9IiZ1dG1wPSIrcGc7CiBpZiAoX3VzZXJ2PT0wIHx8IF91c2Vydj09MikgewogIHZhciBp
PW5ldyBJbWFnZSgxLDEpOwogIGkuc3JjPV91Z2lmcGF0aCsiPyIrInV0bXd2PSIrX3V3ditzOwog
IGkub25sb2FkPWZ1bmN0aW9uKCkge191Vm9pZCgpO30KIH0KIGlmIChfdXNlcnY9PTEgfHwgX3Vz
ZXJ2PT0yKSB7CiAgdmFyIGkyPW5ldyBJbWFnZSgxLDEpOwogIGkyLnNyYz1fdWdpZnBhdGgyKyI/
IisidXRtd3Y9IitfdXd2K3MrIiZ1dG1hYz0iK191YWNjdCsiJnV0bWNjPSIrX3VHQ1MoKTsKICBp
Mi5vbmxvYWQ9ZnVuY3Rpb24oKSB7IF91Vm9pZCgpOyB9CiB9CiByZXR1cm47Cn0KZnVuY3Rpb24g
X3VWb2lkKCkgeyByZXR1cm47IH0KZnVuY3Rpb24gX3VDSW5mbygpIHsKIGlmICghX3VjdG8gfHwg
X3VjdG89PSIiKSB7IF91Y3RvPSIxNTc2ODAwMCI7IH0KIHZhciBjPSIiLHQ9Ii0iLHQyPSItIix0
Mz0iLSIsbz0wLGNzPTAsY249MCxpPTAsej0iLSIscz0iIjsKIGlmIChfdWFuY2hvciAmJiBfdWRs
aCAmJiBfdWRsaCE9IiIpIHM9X3VkbGgrIiYiOwogcys9X3VkbC5zZWFyY2g7CiB2YXIgeD1uZXcg
RGF0ZShfdWR0LmdldFRpbWUoKSsoX3VjdG8qMTAwMCkpOwogdmFyIGRjPV91YmQuY29va2llOwog
eD0iIGV4cGlyZXM9Iit4LnRvR01UU3RyaW5nKCkrIjsiOwogaWYgKF91bGluayAmJiAhX3VibCkg
ewogIHo9X3VVRVMoX3VHQyhzLCJfX3V0bXo9IiwiJiIpKTsKICBpZiAoeiE9Ii0iICYmIHouaW5k
ZXhPZigiOyIpPT0tMSkgeyBfdWJkLmNvb2tpZT0iX191dG16PSIreisiOyBwYXRoPSIrX3V0Y3Ar
IjsiK3grX3VkbzsgcmV0dXJuICIiOyB9CiB9CiB6PWRjLmluZGV4T2YoIl9fdXRtej0iK191ZGgp
OwogaWYgKHo+LTEpIHsgej1fdUdDKGRjLCJfX3V0bXo9IitfdWRoLCI7Iik7IH0KIGVsc2UgeyB6
PSItIjsgfQogdD1fdUdDKHMsX3VjaWQrIj0iLCImIik7CiB0Mj1fdUdDKHMsX3Vjc3IrIj0iLCIm
Iik7CiB0Mz1fdUdDKHMsImdjbGlkPSIsIiYiKTsKIGlmICgodCE9Ii0iICYmIHQhPSIiKSB8fCAo
dDIhPSItIiAmJiB0MiE9IiIpIHx8ICh0MyE9Ii0iICYmIHQzIT0iIikpIHsKICBpZiAodCE9Ii0i
ICYmIHQhPSIiKSBjKz0idXRtY2lkPSIrX3VFQyh0KTsKICBpZiAodDIhPSItIiAmJiB0MiE9IiIp
IHsgaWYgKGMgIT0gIiIpIGMrPSJ8IjsgYys9InV0bWNzcj0iK191RUModDIpOyB9CiAgaWYgKHQz
IT0iLSIgJiYgdDMhPSIiKSB7IGlmIChjICE9ICIiKSBjKz0ifCI7IGMrPSJ1dG1nY2xpZD0iK191
RUModDMpOyB9CiAgdD1fdUdDKHMsX3VjY24rIj0iLCImIik7CiAgaWYgKHQhPSItIiAmJiB0IT0i
IikgYys9Inx1dG1jY249IitfdUVDKHQpOwogIGVsc2UgYys9Inx1dG1jY249KG5vdCtzZXQpIjsK
ICB0PV91R0MocyxfdWNtZCsiPSIsIiYiKTsKICBpZiAodCE9Ii0iICYmIHQhPSIiKSBjKz0ifHV0
bWNtZD0iK191RUModCk7CiAgZWxzZSAgYys9Inx1dG1jbWQ9KG5vdCtzZXQpIjsKICB0PV91R0Mo
cyxfdWN0cisiPSIsIiYiKTsKICBpZiAodCE9Ii0iICYmIHQhPSIiKSBjKz0ifHV0bWN0cj0iK191
RUModCk7CiAgZWxzZSB7IHQ9X3VPcmcoMSk7IGlmICh0IT0iLSIgJiYgdCE9IiIpIGMrPSJ8dXRt
Y3RyPSIrX3VFQyh0KTsgfQogIHQ9X3VHQyhzLF91Y2N0KyI9IiwiJiIpOwogIGlmICh0IT0iLSIg
JiYgdCE9IiIpIGMrPSJ8dXRtY2N0PSIrX3VFQyh0KTsKICB0PV91R0MocyxfdWNubysiPSIsIiYi
KTsKICBpZiAodD09IjEiKSBvPTE7CiAgaWYgKHohPSItIiAmJiBvPT0xKSByZXR1cm4gIiI7CiB9
CiBpZiAoYz09Ii0iIHx8IGM9PSIiKSB7IGM9X3VPcmcoKTsgaWYgKHohPSItIiAmJiBfdWZubz09
MSkgIHJldHVybiAiIjsgfQogaWYgKGM9PSItIiB8fCBjPT0iIikgeyBpZiAoX3VmbnM9PTEpICBj
PV91UmVmKCk7IGlmICh6IT0iLSIgJiYgX3Vmbm89PTEpICByZXR1cm4gIiI7IH0KIGlmIChjPT0i
LSIgfHwgYz09IiIpIHsKICBpZiAoej09Ii0iICYmIF91Zm5zPT0xKSB7IGM9InV0bWNjbj0oZGly
ZWN0KXx1dG1jc3I9KGRpcmVjdCl8dXRtY21kPShub25lKSI7IH0KICBpZiAoYz09Ii0iIHx8IGM9
PSIiKSByZXR1cm4gIiI7CiB9CiBpZiAoeiE9Ii0iKSB7CiAgaT16LmluZGV4T2YoIi4iKTsKICBp
ZiAoaT4tMSkgaT16LmluZGV4T2YoIi4iLGkrMSk7CiAgaWYgKGk+LTEpIGk9ei5pbmRleE9mKCIu
IixpKzEpOwogIGlmIChpPi0xKSBpPXouaW5kZXhPZigiLiIsaSsxKTsKICB0PXouc3Vic3RyaW5n
KGkrMSx6Lmxlbmd0aCk7CiAgaWYgKHQudG9Mb3dlckNhc2UoKT09Yy50b0xvd2VyQ2FzZSgpKSBj
cz0xOwogIHQ9ei5zdWJzdHJpbmcoMCxpKTsKICBpZiAoKGk9dC5sYXN0SW5kZXhPZigiLiIpKSA+
IC0xKSB7CiAgIHQ9dC5zdWJzdHJpbmcoaSsxLHQubGVuZ3RoKTsKICAgY249KHQqMSk7CiAgfQog
fQogaWYgKGNzPT0wIHx8IF91Zm5zPT0xKSB7CiAgdD1fdUdDKGRjLCJfX3V0bWE9IitfdWRoLCI7
Iik7CiAgaWYgKChpPXQubGFzdEluZGV4T2YoIi4iKSkgPiA5KSB7CiAgIF91bnM9dC5zdWJzdHJp
bmcoaSsxLHQubGVuZ3RoKTsKICAgX3Vucz0oX3VucyoxKTsKICB9CiAgY24rKzsKICBpZiAoX3Vu
cz09MCkgX3Vucz0xOwogIF91YmQuY29va2llPSJfX3V0bXo9IitfdWRoKyIuIitfdXN0KyIuIitf
dW5zKyIuIitjbisiLiIrYysiOyBwYXRoPSIrX3V0Y3ArIjsgIit4K191ZG87CiB9CiBpZiAoY3M9
PTAgfHwgX3VmbnM9PTEpIHJldHVybiAiJnV0bWNuPTEiOwogZWxzZSByZXR1cm4gIiZ1dG1jcj0x
IjsKfQpmdW5jdGlvbiBfdVJlZigpIHsKIGlmIChfdXI9PSIwIiB8fCBfdXI9PSIiIHx8IF91cj09
Ii0iKSByZXR1cm4gIiI7CiB2YXIgaT0wLGgsayxuOwogaWYgKChpPV91ci5pbmRleE9mKCI6Ly8i
KSk8MCkgcmV0dXJuICIiOwogaD1fdXIuc3Vic3RyaW5nKGkrMyxfdXIubGVuZ3RoKTsKIGlmICho
LmluZGV4T2YoIi8iKSA+IC0xKSB7CiAgaz1oLnN1YnN0cmluZyhoLmluZGV4T2YoIi8iKSxoLmxl
bmd0aCk7CiAgaWYgKGsuaW5kZXhPZigiPyIpID4gLTEpIGs9ay5zdWJzdHJpbmcoMCxrLmluZGV4
T2YoIj8iKSk7CiAgaD1oLnN1YnN0cmluZygwLGguaW5kZXhPZigiLyIpKTsKIH0KIGg9aC50b0xv
d2VyQ2FzZSgpOwogbj1oOwogaWYgKChpPW4uaW5kZXhPZigiOiIpKSA+IC0xKSBuPW4uc3Vic3Ry
aW5nKDAsaSk7CiBmb3IgKHZhciBpaT0wO2lpPF91Um5vLmxlbmd0aDtpaSsrKSB7CiAgaWYgKChp
PW4uaW5kZXhPZihfdVJub1tpaV0udG9Mb3dlckNhc2UoKSkpID4gLTEgJiYgbi5sZW5ndGg9PShp
K191Um5vW2lpXS5sZW5ndGgpKSB7IF91Zm5vPTE7IGJyZWFrOyB9CiB9CiBpZiAoaC5pbmRleE9m
KCJ3d3cuIik9PTApIGg9aC5zdWJzdHJpbmcoNCxoLmxlbmd0aCk7CiByZXR1cm4gInV0bWNjbj0o
cmVmZXJyYWwpfHV0bWNzcj0iK191RUMoaCkrInwiKyJ1dG1jY3Q9IitfdUVDKGspKyJ8dXRtY21k
PXJlZmVycmFsIjsKfQpmdW5jdGlvbiBfdU9yZyh0KSB7CiBpZiAoX3VyPT0iMCIgfHwgX3VyPT0i
IiB8fCBfdXI9PSItIikgcmV0dXJuICIiOwogdmFyIGk9MCxoLGs7CiBpZiAoKGk9X3VyLmluZGV4
T2YoIjovLyIpKSA8IDApIHJldHVybiAiIjsKIGg9X3VyLnN1YnN0cmluZyhpKzMsX3VyLmxlbmd0
aCk7CiBpZiAoaC5pbmRleE9mKCIvIikgPiAtMSkgewogIGg9aC5zdWJzdHJpbmcoMCxoLmluZGV4
T2YoIi8iKSk7CiB9CiBmb3IgKHZhciBpaT0wO2lpPF91T3NyLmxlbmd0aDtpaSsrKSB7CiAgaWYg
KGgudG9Mb3dlckNhc2UoKS5pbmRleE9mKF91T3NyW2lpXS50b0xvd2VyQ2FzZSgpKSA+IC0xKSB7
CiAgIGlmICgoaT1fdXIuaW5kZXhPZigiPyIrX3VPa3dbaWldKyI9IikpID4gLTEgfHwgKGk9X3Vy
LmluZGV4T2YoIiYiK191T2t3W2lpXSsiPSIpKSA+IC0xKSB7CiAgICBrPV91ci5zdWJzdHJpbmco
aStfdU9rd1tpaV0ubGVuZ3RoKzIsX3VyLmxlbmd0aCk7CiAgICBpZiAoKGk9ay5pbmRleE9mKCIm
IikpID4gLTEpIGs9ay5zdWJzdHJpbmcoMCxpKTsKICAgIGZvciAodmFyIHl5PTA7eXk8X3VPbm8u
bGVuZ3RoO3l5KyspIHsKICAgICBpZiAoX3VPbm9beXldLnRvTG93ZXJDYXNlKCk9PWsudG9Mb3dl
ckNhc2UoKSkgeyBfdWZubz0xOyBicmVhazsgfQogICAgfQogICAgaWYgKHQpIHJldHVybiBfdUVD
KGspOwogICAgZWxzZSByZXR1cm4gInV0bWNjbj0ob3JnYW5pYyl8dXRtY3NyPSIrX3VFQyhfdU9z
cltpaV0pKyJ8IisidXRtY3RyPSIrX3VFQyhrKSsifHV0bWNtZD1vcmdhbmljIjsKICAgfQogIH0K
IH0KIHJldHVybiAiIjsKfQpmdW5jdGlvbiBfdUJJbmZvKCkgewogdmFyIHNyPSItIixzYz0iLSIs
dWw9Ii0iLGZsPSItIixqZT0xOwogdmFyIG49bmF2aWdhdG9yOwogaWYgKHNlbGYuc2NyZWVuKSB7
CiAgc3I9c2NyZWVuLndpZHRoKyJ4IitzY3JlZW4uaGVpZ2h0OwogIHNjPXNjcmVlbi5jb2xvckRl
cHRoKyItYml0IjsKIH0gZWxzZSBpZiAoc2VsZi5qYXZhKSB7CiAgdmFyIGo9amF2YS5hd3QuVG9v
bGtpdC5nZXREZWZhdWx0VG9vbGtpdCgpOwogIHZhciBzPWouZ2V0U2NyZWVuU2l6ZSgpOwogIHNy
PXMud2lkdGgrIngiK3MuaGVpZ2h0OwogfQogaWYgKG4ubGFuZ3VhZ2UpIHsgdWw9bi5sYW5ndWFn
ZS50b0xvd2VyQ2FzZSgpOyB9CiBlbHNlIGlmIChuLmJyb3dzZXJMYW5ndWFnZSkgeyB1bD1uLmJy
b3dzZXJMYW5ndWFnZS50b0xvd2VyQ2FzZSgpOyB9CiBqZT1uLmphdmFFbmFibGVkKCk/MTowOwog
aWYgKF91Zmxhc2gpIGZsPV91Rmxhc2goKTsKIHJldHVybiAiJnV0bXNyPSIrc3IrIiZ1dG1zYz0i
K3NjKyImdXRtdWw9Iit1bCsiJnV0bWplPSIramUrIiZ1dG1mbD0iK2ZsOwp9CmZ1bmN0aW9uIF9f
dXRtU2V0VHJhbnMoKSB7CiB2YXIgZTsKIGlmIChfdWJkLmdldEVsZW1lbnRCeUlkKSBlPV91YmQu
Z2V0RWxlbWVudEJ5SWQoInV0bXRyYW5zIik7CiBlbHNlIGlmIChfdWJkLnV0bWZvcm0gJiYgX3Vi
ZC51dG1mb3JtLnV0bXRyYW5zKSBlPV91YmQudXRtZm9ybS51dG10cmFuczsKIGlmICghZSkgcmV0
dXJuOwogdmFyIGw9ZS52YWx1ZS5zcGxpdCgiVVRNOiIpOwogdmFyIGksaTIsYzsKIGlmIChfdXNl
cnY9PTAgfHwgX3VzZXJ2PT0yKSBpPW5ldyBBcnJheSgpOwogaWYgKF91c2Vydj09MSB8fCBfdXNl
cnY9PTIpIHsgaTI9bmV3IEFycmF5KCk7IGM9X3VHQ1MoKTsgfQoKIGZvciAodmFyIGlpPTA7aWk8
bC5sZW5ndGg7aWkrKykgewogIGxbaWldPV91VHJpbShsW2lpXSk7CiAgaWYgKGxbaWldLmNoYXJB
dCgwKSE9J1QnICYmIGxbaWldLmNoYXJBdCgwKSE9J0knKSBjb250aW51ZTsKICB2YXIgcj1NYXRo
LnJvdW5kKE1hdGgucmFuZG9tKCkqMjE0NzQ4MzY0Nyk7CiAgaWYgKCFfdXRzcCB8fCBfdXRzcD09
IiIpIF91dHNwPSJ8IjsKICB2YXIgZj1sW2lpXS5zcGxpdChfdXRzcCkscz0iIjsKICBpZiAoZlsw
XS5jaGFyQXQoMCk9PSdUJykgewogICBzPSImdXRtdD10cmFuIisiJnV0bW49IityOwogICBmWzFd
PV91VHJpbShmWzFdKTsgaWYoZlsxXSYmZlsxXSE9IiIpIHMrPSImdXRtdGlkPSIrX3VFUyhmWzFd
KTsKICAgZlsyXT1fdVRyaW0oZlsyXSk7IGlmKGZbMl0mJmZbMl0hPSIiKSBzKz0iJnV0bXRzdD0i
K191RVMoZlsyXSk7CiAgIGZbM109X3VUcmltKGZbM10pOyBpZihmWzNdJiZmWzNdIT0iIikgcys9
IiZ1dG10dG89IitfdUVTKGZbM10pOwogICBmWzRdPV91VHJpbShmWzRdKTsgaWYoZls0XSYmZls0
XSE9IiIpIHMrPSImdXRtdHR4PSIrX3VFUyhmWzRdKTsKICAgZls1XT1fdVRyaW0oZls1XSk7IGlm
KGZbNV0mJmZbNV0hPSIiKSBzKz0iJnV0bXRzcD0iK191RVMoZls1XSk7CiAgIGZbNl09X3VUcmlt
KGZbNl0pOyBpZihmWzZdJiZmWzZdIT0iIikgcys9IiZ1dG10Y2k9IitfdUVTKGZbNl0pOwogICBm
WzddPV91VHJpbShmWzddKTsgaWYoZls3XSYmZls3XSE9IiIpIHMrPSImdXRtdHJnPSIrX3VFUyhm
WzddKTsKICAgZls4XT1fdVRyaW0oZls4XSk7IGlmKGZbOF0mJmZbOF0hPSIiKSBzKz0iJnV0bXRj
bz0iK191RVMoZls4XSk7CiAgfSBlbHNlIHsKICAgcz0iJnV0bXQ9aXRlbSIrIiZ1dG1uPSIrcjsK
ICAgZlsxXT1fdVRyaW0oZlsxXSk7IGlmKGZbMV0mJmZbMV0hPSIiKSBzKz0iJnV0bXRpZD0iK191
RVMoZlsxXSk7CiAgIGZbMl09X3VUcmltKGZbMl0pOyBpZihmWzJdJiZmWzJdIT0iIikgcys9IiZ1
dG1pcGM9IitfdUVTKGZbMl0pOwogICBmWzNdPV91VHJpbShmWzNdKTsgaWYoZlszXSYmZlszXSE9
IiIpIHMrPSImdXRtaXBuPSIrX3VFUyhmWzNdKTsKICAgZls0XT1fdVRyaW0oZls0XSk7IGlmKGZb
NF0mJmZbNF0hPSIiKSBzKz0iJnV0bWl2YT0iK191RVMoZls0XSk7CiAgIGZbNV09X3VUcmltKGZb
NV0pOyBpZihmWzVdJiZmWzVdIT0iIikgcys9IiZ1dG1pcHI9IitfdUVTKGZbNV0pOwogICBmWzZd
PV91VHJpbShmWzZdKTsgaWYoZls2XSYmZls2XSE9IiIpIHMrPSImdXRtaXF0PSIrX3VFUyhmWzZd
KTsKICB9CiAgaWYgKF91c2Vydj09MCB8fCBfdXNlcnY9PTIpIHsKICAgaVtpaV09bmV3IEltYWdl
KDEsMSk7CiAgIGlbaWldLnNyYz1fdWdpZnBhdGgrIj8iKyJ1dG13dj0iK191d3YrczsKICAgaVtp
aV0ub25sb2FkPWZ1bmN0aW9uKCkgeyBfdVZvaWQoKTsgfQogIH0KICBpZiAoX3VzZXJ2PT0xIHx8
IF91c2Vydj09MikgewogICBpMltpaV09bmV3IEltYWdlKDEsMSk7CiAgIGkyW2lpXS5zcmM9X3Vn
aWZwYXRoMisiPyIrInV0bXd2PSIrX3V3ditzKyImdXRtYWM9IitfdWFjY3QrIiZ1dG1jYz0iK2M7
CiAgIGkyW2lpXS5vbmxvYWQ9ZnVuY3Rpb24oKSB7IF91Vm9pZCgpOyB9CiAgfQogfQogcmV0dXJu
Owp9CmZ1bmN0aW9uIF91Rmxhc2goKSB7CiB2YXIgZj0iLSIsbj1uYXZpZ2F0b3I7CiBpZiAobi5w
bHVnaW5zICYmIG4ucGx1Z2lucy5sZW5ndGgpIHsKICBmb3IgKHZhciBpaT0wO2lpPG4ucGx1Z2lu
cy5sZW5ndGg7aWkrKykgewogICBpZiAobi5wbHVnaW5zW2lpXS5uYW1lLmluZGV4T2YoJ1Nob2Nr
d2F2ZSBGbGFzaCcpIT0tMSkgewogICAgZj1uLnBsdWdpbnNbaWldLmRlc2NyaXB0aW9uLnNwbGl0
KCdTaG9ja3dhdmUgRmxhc2ggJylbMV07CiAgICBicmVhazsKICAgfQogIH0KIH0gZWxzZSBpZiAo
d2luZG93LkFjdGl2ZVhPYmplY3QpIHsKICBmb3IgKHZhciBpaT0xMDtpaT49MjtpaS0tKSB7CiAg
IHRyeSB7CiAgICB2YXIgZmw9ZXZhbCgibmV3IEFjdGl2ZVhPYmplY3QoJ1Nob2Nrd2F2ZUZsYXNo
LlNob2Nrd2F2ZUZsYXNoLiIraWkrIicpOyIpOwogICAgaWYgKGZsKSB7IGY9aWkgKyAnLjAnOyBi
cmVhazsgfQogICB9CiAgIGNhdGNoKGUpIHt9CiAgfQogfQogcmV0dXJuIGY7Cn0KZnVuY3Rpb24g
X191dG1MaW5rZXIobCxoKSB7CiBpZiAoIV91bGluaykgcmV0dXJuOwogdmFyIHAsayxhPSItIixi
PSItIixjPSItIix6PSItIix2PSItIjsKIHZhciBkYz1fdWJkLmNvb2tpZTsKIGlmICghbCB8fCBs
PT0iIikgcmV0dXJuOwogdmFyIGlxID0gbC5pbmRleE9mKCI/Iik7IAogdmFyIGloID0gbC5pbmRl
eE9mKCIjIik7IAogaWYgKGRjKSB7CiAgYT1fdUVTKF91R0MoZGMsIl9fdXRtYT0iK191ZGgsIjsi
KSk7CiAgYj1fdUVTKF91R0MoZGMsIl9fdXRtYj0iK191ZGgsIjsiKSk7CiAgYz1fdUVTKF91R0Mo
ZGMsIl9fdXRtYz0iK191ZGgsIjsiKSk7CiAgej1fdUVTKF91R0MoZGMsIl9fdXRtej0iK191ZGgs
IjsiKSk7CiAgdj1fdUVTKF91R0MoZGMsIl9fdXRtdj0iK191ZGgsIjsiKSk7CiAgaz0oX3VIYXNo
KGErYitjK3ordikqMSkrKF91ZGgqMSk7CiAgcD0iX191dG1hPSIrYSsiJl9fdXRtYj0iK2IrIiZf
X3V0bWM9IitjKyImX191dG16PSIreisiJl9fdXRtdj0iK3YrIiZfX3V0bWs9IitrOwogfQogaWYg
KHApIHsKICBpZiAoaCAmJiBpaD4tMSkgcmV0dXJuOwogIGlmIChoKSB7IF91ZGwuaHJlZj1sKyIj
IitwOyB9CiAgZWxzZSB7CiAgIGlmIChpcT09LTEgJiYgaWg9PS0xKSBfdWRsLmhyZWY9bCsiPyIr
cDsKICAgZWxzZSBpZiAoaWg9PS0xKSBfdWRsLmhyZWY9bCsiJiIrcDsKICAgZWxzZSBpZiAoaXE9
PS0xKSBfdWRsLmhyZWY9bC5zdWJzdHJpbmcoMCxpaC0xKSsiPyIrcCtsLnN1YnN0cmluZyhpaCk7
CiAgIGVsc2UgX3VkbC5ocmVmPWwuc3Vic3RyaW5nKDAsaWgtMSkrIiYiK3ArbC5zdWJzdHJpbmco
aWgpOwogIH0KIH0gZWxzZSB7IF91ZGwuaHJlZj1sOyB9Cn0KZnVuY3Rpb24gX191dG1MaW5rUG9z
dChmLGgpIHsKIGlmICghX3VsaW5rKSByZXR1cm47CiB2YXIgcCxrLGE9Ii0iLGI9Ii0iLGM9Ii0i
LHo9Ii0iLHY9Ii0iOwogdmFyIGRjPV91YmQuY29va2llOwogaWYgKCFmIHx8ICFmLmFjdGlvbikg
cmV0dXJuOwogdmFyIGlxID0gZi5hY3Rpb24uaW5kZXhPZigiPyIpOyAKIHZhciBpaCA9IGYuYWN0
aW9uLmluZGV4T2YoIiMiKTsgCiBpZiAoZGMpIHsKICBhPV91RVMoX3VHQyhkYywiX191dG1hPSIr
X3VkaCwiOyIpKTsKICBiPV91RVMoX3VHQyhkYywiX191dG1iPSIrX3VkaCwiOyIpKTsKICBjPV91
RVMoX3VHQyhkYywiX191dG1jPSIrX3VkaCwiOyIpKTsKICB6PV91RVMoX3VHQyhkYywiX191dG16
PSIrX3VkaCwiOyIpKTsKICB2PV91RVMoX3VHQyhkYywiX191dG12PSIrX3VkaCwiOyIpKTsKICBr
PShfdUhhc2goYStiK2Mreit2KSoxKSsoX3VkaCoxKTsKICBwPSJfX3V0bWE9IithKyImX191dG1i
PSIrYisiJl9fdXRtYz0iK2MrIiZfX3V0bXo9Iit6KyImX191dG12PSIrdisiJl9fdXRtaz0iK2s7
CiB9CiBpZiAocCkgewogIGlmIChoICYmIGloPi0xKSByZXR1cm47CiAgaWYgKGgpIHsgZi5hY3Rp
b24rPSIjIitwOyB9CiAgZWxzZSB7CiAgIGlmIChpcT09LTEgJiYgaWg9PS0xKSBmLmFjdGlvbis9
Ij8iK3A7CiAgIGVsc2UgaWYgKGloPT0tMSkgZi5hY3Rpb24rPSImIitwOwogICBlbHNlIGlmIChp
cT09LTEpIGYuYWN0aW9uPWYuYWN0aW9uLnN1YnN0cmluZygwLGloLTEpKyI/IitwK2YuYWN0aW9u
LnN1YnN0cmluZyhpaCk7CiAgIGVsc2UgZi5hY3Rpb249Zi5hY3Rpb24uc3Vic3RyaW5nKDAsaWgt
MSkrIiYiK3ArZi5hY3Rpb24uc3Vic3RyaW5nKGloKTsKICB9CiB9CiByZXR1cm47Cn0KZnVuY3Rp
b24gX191dG1TZXRWYXIodikgewogaWYgKCF2IHx8IHY9PSIiKSByZXR1cm47CiB2YXIgcj1NYXRo
LnJvdW5kKE1hdGgucmFuZG9tKCkgKiAyMTQ3NDgzNjQ3KTsKIF91YmQuY29va2llPSJfX3V0bXY9
IitfdWRoKyIuIitfdUVTKHYpKyI7IHBhdGg9IitfdXRjcCsiOyBleHBpcmVzPVN1biwgMTggSmFu
IDIwMzggMDA6MDA6MDAgR01UOyIrX3VkbzsKIHZhciBzPSImdXRtdD12YXImdXRtbj0iK3I7CiBp
ZiAoX3VzZXJ2PT0wIHx8IF91c2Vydj09MikgewogIHZhciBpPW5ldyBJbWFnZSgxLDEpOwogIGku
c3JjPV91Z2lmcGF0aCsiPyIrInV0bXd2PSIrX3V3ditzOwogIGkub25sb2FkPWZ1bmN0aW9uKCkg
eyBfdVZvaWQoKTsgfQogfQogaWYgKF91c2Vydj09MSB8fCBfdXNlcnY9PTIpIHsKICB2YXIgaTI9
bmV3IEltYWdlKDEsMSk7CiAgaTIuc3JjPV91Z2lmcGF0aDIrIj8iKyJ1dG13dj0iK191d3Yrcysi
JnV0bWFjPSIrX3VhY2N0KyImdXRtY2M9IitfdUdDUygpOwogIGkyLm9ubG9hZD1mdW5jdGlvbigp
IHsgX3VWb2lkKCk7IH0KIH0KfQpmdW5jdGlvbiBfdUdDUygpIHsKIHZhciB0LGM9IiIsZGM9X3Vi
ZC5jb29raWU7CiBpZiAoKHQ9X3VHQyhkYywiX191dG1hPSIrX3VkaCwiOyIpKSE9Ii0iKSBjKz1f
dUVTKCJfX3V0bWE9Iit0KyI7KyIpOwogaWYgKCh0PV91R0MoZGMsIl9fdXRtYj0iK191ZGgsIjsi
KSkhPSItIikgYys9X3VFUygiX191dG1iPSIrdCsiOysiKTsKIGlmICgodD1fdUdDKGRjLCJfX3V0
bWM9IitfdWRoLCI7IikpIT0iLSIpIGMrPV91RVMoIl9fdXRtYz0iK3QrIjsrIik7CiBpZiAoKHQ9
X3VHQyhkYywiX191dG16PSIrX3VkaCwiOyIpKSE9Ii0iKSBjKz1fdUVTKCJfX3V0bXo9Iit0KyI7
KyIpOwogaWYgKCh0PV91R0MoZGMsIl9fdXRtdj0iK191ZGgsIjsiKSkhPSItIikgYys9X3VFUygi
X191dG12PSIrdCsiOyIpOwogaWYgKGMuY2hhckF0KGMubGVuZ3RoLTEpPT0iKyIpIGM9Yy5zdWJz
dHJpbmcoMCxjLmxlbmd0aC0xKTsKIHJldHVybiBjOwp9CmZ1bmN0aW9uIF91R0MobCxuLHMpIHsK
IGlmICghbCB8fCBsPT0iIiB8fCAhbiB8fCBuPT0iIiB8fCAhcyB8fCBzPT0iIikgcmV0dXJuICIt
IjsKIHZhciBpLGkyLGkzLGM9Ii0iOwogaT1sLmluZGV4T2Yobik7CiBpMz1uLmluZGV4T2YoIj0i
KSsxOwogaWYgKGkgPiAtMSkgewogIGkyPWwuaW5kZXhPZihzLGkpOyBpZiAoaTIgPCAwKSB7IGky
PWwubGVuZ3RoOyB9CiAgYz1sLnN1YnN0cmluZygoaStpMyksaTIpOwogfQogcmV0dXJuIGM7Cn0K
ZnVuY3Rpb24gX3VEb21haW4oKSB7CiBpZiAoIV91ZG4gfHwgX3Vkbj09IiIgfHwgX3Vkbj09Im5v
bmUiKSB7IF91ZG49IiI7IHJldHVybiAxOyB9CiBpZiAoX3Vkbj09ImF1dG8iKSB7CiAgdmFyIGQ9
X3ViZC5kb21haW47CiAgaWYgKGQuc3Vic3RyaW5nKDAsNCk9PSJ3d3cuIikgewogICBkPWQuc3Vi
c3RyaW5nKDQsZC5sZW5ndGgpOwogIH0KICBfdWRuPWQ7CiB9CiBpZiAoX3VoYXNoPT0ib2ZmIikg
cmV0dXJuIDE7CiByZXR1cm4gX3VIYXNoKF91ZG4pOwp9CmZ1bmN0aW9uIF91SGFzaChkKSB7CiBp
ZiAoIWQgfHwgZD09IiIpIHJldHVybiAxOwogdmFyIGg9MCxnPTA7CiBmb3IgKHZhciBpPWQubGVu
Z3RoLTE7aT49MDtpLS0pIHsKICB2YXIgYz1wYXJzZUludChkLmNoYXJDb2RlQXQoaSkpOwogIGg9
KChoIDw8IDYpICYgMHhmZmZmZmZmKSArIGMgKyAoYyA8PCAxNCk7CiAgaWYgKChnPWggJiAweGZl
MDAwMDApIT0wKSBoPShoIF4gKGcgPj4gMjEpKTsKIH0KIHJldHVybiBoOwp9CmZ1bmN0aW9uIF91
Rml4QShjLHMsdCkgewogaWYgKCFjIHx8IGM9PSIiIHx8ICFzIHx8IHM9PSIiIHx8ICF0IHx8IHQ9
PSIiKSByZXR1cm4gIi0iOwogdmFyIGE9X3VHQyhjLCJfX3V0bWE9IitfdWRoLHMpOwogdmFyIGx0
PTAsaT0wOwogaWYgKChpPWEubGFzdEluZGV4T2YoIi4iKSkgPiA5KSB7CiAgX3Vucz1hLnN1YnN0
cmluZyhpKzEsYS5sZW5ndGgpOwogIF91bnM9KF91bnMqMSkrMTsKICBhPWEuc3Vic3RyaW5nKDAs
aSk7CiAgaWYgKChpPWEubGFzdEluZGV4T2YoIi4iKSkgPiA3KSB7CiAgIGx0PWEuc3Vic3RyaW5n
KGkrMSxhLmxlbmd0aCk7CiAgIGE9YS5zdWJzdHJpbmcoMCxpKTsKICB9CiAgaWYgKChpPWEubGFz
dEluZGV4T2YoIi4iKSkgPiA1KSB7CiAgIGE9YS5zdWJzdHJpbmcoMCxpKTsKICB9CiAgYSs9Ii4i
K2x0KyIuIit0KyIuIitfdW5zOwogfQogcmV0dXJuIGE7Cn0KZnVuY3Rpb24gX3VUcmltKHMpIHsK
ICBpZiAoIXMgfHwgcz09IiIpIHJldHVybiAiIjsKICB3aGlsZSAoKHMuY2hhckF0KDApPT0nICcp
IHx8IChzLmNoYXJBdCgwKT09J1xuJykgfHwgKHMuY2hhckF0KDAsMSk9PSdccicpKSBzPXMuc3Vi
c3RyaW5nKDEscy5sZW5ndGgpOwogIHdoaWxlICgocy5jaGFyQXQocy5sZW5ndGgtMSk9PScgJykg
fHwgKHMuY2hhckF0KHMubGVuZ3RoLTEpPT0nXG4nKSB8fCAocy5jaGFyQXQocy5sZW5ndGgtMSk9
PSdccicpKSBzPXMuc3Vic3RyaW5nKDAscy5sZW5ndGgtMSk7CiAgcmV0dXJuIHM7Cn0KZnVuY3Rp
b24gX3VFQyhzKSB7CiAgdmFyIG49IiI7CiAgaWYgKCFzIHx8IHM9PSIiKSByZXR1cm4gIiI7CiAg
Zm9yICh2YXIgaT0wO2k8cy5sZW5ndGg7aSsrKSB7aWYgKHMuY2hhckF0KGkpPT0iICIpIG4rPSIr
IjsgZWxzZSBuKz1zLmNoYXJBdChpKTt9CiAgcmV0dXJuIG47Cn0KZnVuY3Rpb24gX191dG1WaXNp
dG9yQ29kZSgpIHsKIHZhciByPTAsdD0wLGk9MCxpMj0wLG09MzE7CiB2YXIgYT1fdUdDKF91YmQu
Y29va2llLCJfX3V0bWE9IitfdWRoLCI7Iik7CiBpZiAoKGk9YS5pbmRleE9mKCIuIiwwKSk8MCkg
cmV0dXJuOwogaWYgKChpMj1hLmluZGV4T2YoIi4iLGkrMSkpPjApIHI9YS5zdWJzdHJpbmcoaSsx
LGkyKTsgZWxzZSByZXR1cm4gIiI7ICAKIGlmICgoaT1hLmluZGV4T2YoIi4iLGkyKzEpKT4wKSB0
PWEuc3Vic3RyaW5nKGkyKzEsaSk7IGVsc2UgcmV0dXJuICIiOyAgCiB2YXIgYz1uZXcgQXJyYXko
J0EnLCdCJywnQycsJ0QnLCdFJywnRicsJ0cnLCdIJywnSicsJ0snLCdMJywnTScsJ04nLCdQJywn
UicsJ1MnLCdUJywnVScsJ1YnLCdXJywnWCcsJ1knLCdaJywnMScsJzInLCczJywnNCcsJzUnLCc2
JywnNycsJzgnLCc5Jyk7CiByZXR1cm4gY1tyPj4yOCZtXStjW3I+PjIzJm1dK2Nbcj4+MTgmbV0r
Y1tyPj4xMyZtXSsiLSIrY1tyPj44Jm1dK2Nbcj4+MyZtXStjWygociY3KTw8MikrKHQ+PjMwJjMp
XStjW3Q+PjI1Jm1dK2NbdD4+MjAmbV0rIi0iK2NbdD4+MTUmbV0rY1t0Pj4xMCZtXStjW3Q+PjUm
bV0rY1t0Jm1dOwp9CmZ1bmN0aW9uIF91SU4obikgewogaWYgKCFuKSByZXR1cm4gZmFsc2U7CiBm
b3IgKHZhciBpPTA7aTxuLmxlbmd0aDtpKyspIHsKICB2YXIgYz1uLmNoYXJBdChpKTsKICBpZiAo
KGM8IjAiIHx8IGM+IjkiKSAmJiAoYyE9Ii4iKSkgcmV0dXJuIGZhbHNlOwogfQogcmV0dXJuIHRy
dWU7Cn0KZnVuY3Rpb24gX3VFUyhzLHUpIHsKIGlmICh0eXBlb2YoZW5jb2RlVVJJQ29tcG9uZW50
KSA9PSAnZnVuY3Rpb24nKSB7CiAgaWYgKHUpIHJldHVybiBlbmNvZGVVUkkocyk7CiAgZWxzZSBy
ZXR1cm4gZW5jb2RlVVJJQ29tcG9uZW50KHMpOwogfSBlbHNlIHsKICByZXR1cm4gZXNjYXBlKHMp
OwogfQp9CmZ1bmN0aW9uIF91VUVTKHMpIHsKIGlmICh0eXBlb2YoZGVjb2RlVVJJQ29tcG9uZW50
KSA9PSAnZnVuY3Rpb24nKSB7CiAgcmV0dXJuIGRlY29kZVVSSUNvbXBvbmVudChzKTsKIH0gZWxz
ZSB7CiAgcmV0dXJuIHVuZXNjYXBlKHMpOwogfQp9Cl8QKWh0dHA6Ly93d3cuZ29vZ2xlLWFuYWx5
dGljcy5jb20vdXJjaGluLmpz1AYHCAkgISIjTxEEZ2JwbGlzdDAw1AECAwQFBgcKWSRhcmNoaXZl
clgkdmVyc2lvblQkdG9wWCRvYmplY3RzXxAPTlNLZXllZEFyY2hpdmVyEgABhqDRCAlfEBNXZWJS
ZXNvdXJjZVJlc3BvbnNlgAGvEB0LDCkvMDc4PFRVVldYWVpbXF1eX1pgYWJjN2Roa1UkbnVsbN8Q
EA0ODxAREhMUFRYXGBkaGxwdHh8eICEeIiMkJR0mJx4oUiQ2UyQxMFIkMlMkMTNSJDdSJDNTJDEx
UiQ4UiQ0UyQxNFIkOVIkMFYkY2xhc3NSJDVTJDEyUiQxEAcQAYAFgAaAACNBpQB/P6uGkBEegxAA
I0GlAH873XsggBwjQaUO58rLjiqAAtMqKxkhLS5XTlMuYmFzZVtOUy5yZWxhdGl2ZYAAgAOABF8Q
O2h0dHA6Ly9zdGF0aWMucmVhbG9uZS5jb20vcm90dy9jc3MvcGxheWVyLmNzcz9iaWQ9OTk1OTM1
OTUy0jEyMzRYJGNsYXNzZXNaJGNsYXNzbmFtZaM0NTZVTlNVUkxWJU5TVVJMWE5TT2JqZWN0WHRl
eHQvY3Nz0xgZHDk6O4AHgBsQyNM9Phk/SVNaTlMub2JqZWN0c1dOUy5rZXlzqUBBQkNERUZHSIAR
gBKAE4AUgBWAFoAXgBiAGalKS0xNTk9QUVKACIAJgAqAC4AMgA2ADoAPgBCAGlZTZXJ2ZXJdTGFz
dC1Nb2RpZmllZF1BY2NlcHQtUmFuZ2VzWkNvbm5lY3Rpb25URGF0ZV5Db250ZW50LUxlbmd0aFpL
ZWVwLUFsaXZlVEV0YWdcQ29udGVudC1UeXBlVkFwYWNoZV8QHVRodSwgMDggSnVuIDIwMDYgMTA6
MzE6MDEgR01UVWJ5dGVzXxAdV2VkLCAwMiBBdWcgMjAwNiAwMjowMzo1NCBHTVRUNzgxMV8QEXRp
bWVvdXQ9MiwgbWF4PTgyXxAWIjc4ODAyNC0xZTgzLWZhZmMyMzQwItIxMmVmo2ZnNl8QE05TTXV0
YWJsZURpY3Rpb25hcnlcTlNEaWN0aW9uYXJ50jEyaWqiajZfEBlOU0hUVFBVUkxSZXNwb25zZUlu
dGVybmFs0jEybG2jbW42XxARTlNIVFRQVVJMUmVzcG9uc2VdTlNVUkxSZXNwb25zZQAIABEAGwAk
ACkAMgBEAEkATABiAGQAhACKAK0AsAC0ALcAuwC+AMEAxQDIAMsAzwDSANUA3ADfAOMA5gDoAOoA
7ADuAPAA+QD8AP4BBwEJARIBFAEbASMBLwExATMBNQFzAXgBgQGMAZABlgGdAaYBrwG2AbgBugG8
AcMBzgHWAeAB4gHkAeYB6AHqAewB7gHwAfIB/AH+AgACAgIEAgYCCAIKAgwCDgIQAhcCJQIzAj4C
QwJSAl0CYgJvAnYClgKcArwCwQLVAu4C8wL3Aw0DGgMfAyIDPgNDA0cDWwAAAAAAAAIBAAAAAAAA
AG8AAAAAAAAAAAAAAAAAAANpTxEeg2JvZHl7Zm9udC1mYW1pbHk6IlRyZWJ1Y2hldCBNUyIsQXJp
YWwsc2Fucy1zZXJpZjsgYmFja2dyb3VuZC1jb2xvcjojZmZmOyBjb2xvcjojMDAwOyBmb250LXNp
emU6MTFweDsgcGFkZGluZzowOyBtYXJnaW46MDt9CnRhYmxle3BhZGRpbmc6MDt9CkEsIEE6dmlz
aXRlZHt0ZXh0LWRlY29yYXRpb246bm9uZTsgY29sb3I6IzAwOTRERTt9CnRkLCBzZWxlY3R7Zm9u
dC1mYW1pbHk6IlRyZWJ1Y2hldCBNUyIsQXJpYWwsc2Fucy1zZXJpZjsgZm9udC1zaXplOjExcHg7
fQojcGxheWVySGVhZGVyIEEsICNwbGF5ZXJIZWFkZXIgQTp2aXNpdGVke2NvbG9yOiMwMDA7IHRl
eHQtZGVjb3JhdGlvbjpub25lOyBmb250LXdlaWdodDpib2xkO30KI3BsYXllckhlYWRlciBBOmhv
dmVyLCAjcGxheWVySGVhZGVyIEE6YWN0aXZle2NvbG9yOiMwMDA7IHRleHQtZGVjb3JhdGlvbjp1
bmRlcmxpbmU7fQoucGxheWVySGVhZGVyTGVmdHt3aWR0aDoyMDhweDt9Ci5wbGF5ZXJIZWFkZXJD
ZW50ZXJ7dGV4dC1hbGlnbjpyaWdodDsgcGFkZGluZzowcHggNXB4IDBweCAwcHg7fQoucGxheWVy
SGVhZGVyUmlnaHR7dGV4dC1hbGlnbjpyaWdodDsgcGFkZGluZzowcHggMTFweCAwcHggMHB4O30K
LndodEJ0bkNlbnRlckEsIC53aHRCdG5DZW50ZXJBOmxpbmssIC53aHRCdG5DZW50ZXJBOnZpc2l0
ZWR7Y29sb3I6IzAwMDsgZm9udC1zaXplOjExcHg7IGZvbnQtd2VpZ2h0OmJvbGQ7IGZvbnQtZmFt
aWx5OiJUcmVidWNoZXQgTVMiLEFyaWFsLCBzYW5zLXNlcmlmO30KLndodEJ0bkNlbnRlckE6aG92
ZXJ7Y29sb3I6IzA5ZTsgdGV4dC1kZWNvcmF0aW9uOm5vbmU7fQoud2h0QnRuQ2VudGVyLCAud2h0
QnRuQ2VudGVyIEF7Y29sb3I6IzAwMDt9Ci53aHRCdG5DZW50ZXIgQTpob3Zlcntjb2xvcjojMDll
O30JCQojY3JlYXRlQWNjb3VudHsgd2lkdGg6IDI3MHB4OyB9CgojdXNlckhlYWRlciwgI3VzZXJI
ZWFkZXJBbm9ue3BhZGRpbmc6MnB4IDlweCAwcHggMTBweDsgaGVpZ2h0OjI2cHg7IHBvc2l0aW9u
OmFic29sdXRlOyB0b3A6MHB4OyBsZWZ0OjBweDsgd2lkdGg6MjQ5cHg7fQojdXNlckhlYWRlckFu
b257IGZvbnQtd2VpZ2h0OiBib2xkOwkgZGlzcGxheTogbm9uZTsgaGVpZ2h0OiAzNnB4OyB9CiN1
c2VySGVhZGVyQW5vblRleHR7IHZlcnRpY2FsLWFsaWduOiBib3R0b207IGxpbmUtaGVpZ2h0OiAx
M3B4OyB9Ci51c2VySGVhZGVyTGVmdHt3aWR0aDoxMjBweDt9Ci51c2VySGVhZGVyUmlnaHR7cGFk
ZGluZzowcHggMHB4IDBweCAxMHB4OyB0ZXh0LWFsaWduOnJpZ2h0OyB3aWR0aDoxMDJweDsgY29s
b3I6IzY2NjsgZm9udC1zaXplOjEwcHg7IGZvbnQtd2VpZ2h0OmJvbGQ7fQojc3ViVXBncmFkZU1z
Z3t3aGl0ZS1zcGFjZTpub3dyYXA7fQojc3ViVXBncmFkZU1zZyBBOmhvdmVye2NvbG9yOiMwOWU7
IHRleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7fQouc2dyYXl7Zm9udC1zaXplOjlweDsgY29sb3I6
IzY2Njt9Ci53aGl0ZXtjb2xvcjojZmZmO30KLmJsYWNre2NvbG9yOiMwMDA7fQoubGlnaHRCbHVl
e2NvbG9yOiMwOWU7fQoubGlnaHRCbHVlTm9ybXtjb2xvcjojMDllOyBmb250LXdlaWdodDpub3Jt
YWw7fQoKI3BsYXllcklubmVyVG9we3Bvc2l0aW9uOmFic29sdXRlOyB0b3A6MzRweDsgbGVmdDow
cHg7IHBhZGRpbmc6MCAyMXB4O30KCiNtb2RlSGVhZGVye3Bvc2l0aW9uOnJlbGF0aXZlOyB0b3A6
MHB4OyBsZWZ0OjBweDsgcGFkZGluZzoxMHB4IDA7fQoubW9kZUhlYWRlckxlZnR7dGV4dC1hbGln
bjpsZWZ0O30KLm1vZGVIZWFkZXJSaWdodHt0ZXh0LWFsaWduOnJpZ2h0O30KI25vUGxheXNMZWZ0
e3Bvc2l0aW9uOnJlbGF0aXZlOyB0b3A6MHB4OyBsZWZ0OjBweDsgcGFkZGluZzo1cHggMTBweDsg
ZGlzcGxheTpub25lOyB2aXNpYmlsaXR5OmhpZGRlbjt9CiNub1BsYXlzTGVmdCBhLCAjbm9QbGF5
c0xlZnQgYTp2aXNpdGVke2NvbG9yOiMwOWU7IHRleHQtZGVjb3JhdGlvbjpub25lO30KLm5vUGxh
eXNMZWZ0SGVhZGVye2NvbG9yOiMwMDVlOGQ7IGZvbnQtc2l6ZToyMHB4O2ZvbnQtd2VpZ2h0OmJv
bGQ7fQoucGxheXNMZWZ0e2ZvbnQtc2l6ZToxNHB4OyBjb2xvcjojMGFmOyBmb250LXdlaWdodDpi
b2xkOyBkaXNwbGF5OmlubGluZTt9CQoKI3RyYWNrSW5mb3t3aWR0aDoyMjZweDsgcG9zaXRpb246
cmVsYXRpdmU7IHRvcDowcHg7IGxlZnQ6MHB4OyBwYWRkaW5nOjJweCAwIDAgMDt9CiN0cmFja0lu
Zm8gYSwgI3RyYWNrSW5mbyBhOnZpc2l0ZWQsICN0cmFja0luZm8gYTpob3ZlciwgI3RyYWNrSW5m
byBhOmFjdGl2ZXtjb2xvcjojMDAwOyB0ZXh0LWRlY29yYXRpb246bm9uZTt9CiN0cmFja0luZm9M
aW5re3RleHQtYWxpZ246cmlnaHQ7fQouYnV5TGlua3tjb2xvcjojRkY2NjAwO30KLnRyYWNrSW5m
b0xlZnR7Y29sb3I6IzAwMDt9Ci50cmFja0luZm9MZWZ0IGEsIC50cmFja0luZm9MZWZ0IGE6dmlz
aXRlZCwgLnRyYWNrSW5mb0xlZnQgYTpob3ZlciwgLnRyYWNrSW5mb0xlZnQgYTphY3RpdmV7Y29s
b3I6IzAwMDsgdGV4dC1kZWNvcmF0aW9uOm5vbmU7fQoudHJhY2tJbmZvUmlnaHR7dGV4dC1hbGln
bjpyaWdodDt9Ci50cmFja05hbWV7Y29sb3I6IzAwMDsgZm9udC1zaXplOjE3cHg7IGxpbmUtaGVp
Z2h0OjE4cHg7IGZvbnQtd2VpZ2h0OmJvbGQ7cGFkZGluZy1sZWZ0OjVweDsgd2lkdGg6MTQwcHg7
IHdoaXRlLXNwYWNlOm5vd3JhcDsgb3ZlcmZsb3c6aGlkZGVuO30KLnRyYWNrQXJ0aXN0e2NvbG9y
OiMwMDA7Zm9udC1zaXplOjE3cHg7IGxpbmUtaGVpZ2h0OjE4cHg7IHBhZGRpbmctbGVmdDo1cHg7
IGZvbnQtd2VpZ2h0Om5vcm1hbDsgd2lkdGg6MTQwcHg7IHdoaXRlLXNwYWNlOm5vd3JhcDsgb3Zl
cmZsb3c6aGlkZGVuO30KI2FydGlzdCBhe2ZvbnQtd2VpZ2h0Om5vcm1hbDt9Ci5hbGJ1bUFydFNw
YWNle3dpZHRoOjYwcHg7IGhlaWdodDo2MHB4OyBwYWRkaW5nLXRvcDo0cHg7fQouYWxidW1BcnR7
d2lkdGg6NTRweDsgaGVpZ2h0OjU0cHg7IHBhZGRpbmctdG9wOjRweDt9CiN0cmFja1RpbWV7d2lk
dGg6MTEwcHg7fQojbG9hZGluZ3t3aWR0aDoyMjBweDsgb3ZlcmZsb3c6aGlkZGVuO30KI3VwTmV4
dHtwb3NpdGlvbjpyZWxhdGl2ZTsgdG9wOjBweDsgbGVmdDowcHg7IHBhZGRpbmc6NHB4IDlweCAy
cHggOXB4O30KCiNsaXN0VGl0bGV7dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7IHdoaXRlLXNwYWNl
Om5vd3JhcDsgb3ZlcmZsb3c6aGlkZGVuOyB3aWR0aDoxMzBweDt9CgojcGxheWVyQ29udHJvbHN7
aGVpZ2h0OjI5cHg7IHBvc2l0aW9uOmFic29sdXRlOyB0b3A6MTgwcHg7IGxlZnQ6MHB4OyBwYWRk
aW5nOjBweCAxM3B4IDBweCAxM3B4O30KCiNwbGF5ZXJJbm5lckJvdHRvbXtwb3NpdGlvbjphYnNv
bHV0ZTsgdG9wOjIyMnB4OyBsZWZ0OjBweDsgcGFkZGluZzowcHggMjFweCAwcHggMjFweDt9CiNw
bGF5bGlzdFN1YntoZWlnaHQ6MjFweDsgIHBvc2l0aW9uOnJlbGF0aXZlOyB0b3A6NXB4OyBsZWZ0
OjBweDt9CiNwbGF5bGlzdEJhcntoZWlnaHQ6MTZweDsgcG9zaXRpb246cmVsYXRpdmU7IHRvcDox
MHB4OyBsZWZ0OjBweDt9Ci5wbGF5TGlzdEJhckxlZnR7d2lkdGg6MjZweDsgdGV4dC1hbGlnbjpj
ZW50ZXI7fQoucGxheUxpc3RCYXJSaWdodHtwYWRkaW5nLWxlZnQ6NHB4OyBib3JkZXItbGVmdDox
cHggc29saWQgIzAwMDt9Ci5wbGF5TGlzdEJhckZhclJpZ2h0e3RleHQtYWxpZ246cmlnaHQ7IHBh
ZGRpbmctcmlnaHQ6NHB4OyBmb250LXdlaWdodDpub3JtYWw7fQoKI3BsYXlMaXN0e3Bvc2l0aW9u
OnJlbGF0aXZlOyB0b3A6MTBweDsgcGFkZGluZzowcHggMHB4IDBweCAycHg7IG1hcmdpbi10b3A6
MXB4OyB3aWR0aDoyMjVweDsgaGVpZ2h0OjEzNHB4OyBvdmVyZmxvdzphdXRvOyBvdmVyZmxvdy14
OmhpZGRlbjt9Ci5wbGF5TGlzdFBsYXl7cGFkZGluZzoycHggMHB4IDBweCAwcHg7IHdpZHRoOjI2
cHg7IHRleHQtYWxpZ246Y2VudGVyOyB2ZXJ0aWNhbC1hbGlnbjp0b3A7fQoucGxheUxpc3RDb3Vu
dHt3aWR0aDoxOHB4OyB0ZXh0LWFsaWduOmNlbnRlcjsgdmVydGljYWwtYWxpZ246dG9wOyBmb250
LXdlaWdodDpib2xkO30KI3BsYXlMaXN0VHJhY2t7d2hpdGUtc3BhY2U6bm93cmFwOyBvdmVyZmxv
dzpoaWRkZW47IHdpZHRoOjE2NHB4OyBoZWlnaHQ6MTdweDsgdGV4dC1hbGlnbjpsZWZ0OyB2ZXJ0
aWNhbC1hbGlnbjp0b3A7IGZvbnQtd2VpZ2h0OmJvbGQ7fQoucGxheUxpc3RJbmZve3dpZHRoOjMz
cHg7IHZlcnRpY2FsLWFsaWduOmJvdHRvbTt9CiNwbGF5TGlzdEFydGlzdHt3aGl0ZS1zcGFjZTpu
b3dyYXA7IG92ZXJmbG93OmhpZGRlbjsgd2lkdGg6MTY0cHg7IGhlaWdodDoxOXB4O30KI3BsYXlM
aXN0QXJ0aXN0IGF7IGZvbnQtd2VpZ2h0Om5vcm1hbDsgfQoKI3NlYXJjaEJhcntwb3NpdGlvbjpy
ZWxhdGl2ZTsgdG9wOjE4cHg7fQpmb3Jte3BhZGRpbmc6MDsgYm9yZGVyOjA7IG1hcmdpbjowO30K
aW5wdXQuc2VhcmNoYm94e2ZvbnQtZmFtaWx5OiJUcmVidWNoZXQgTVMiLEFyaWFsLHNhbnMtc2Vy
aWY7IGZvbnQtc2l6ZToxMXB4OyB3aWR0aDoxMDVweDtib3JkZXI6MDsgYmFja2dyb3VuZC1jb2xv
cjp0cmFuc3BhcmVudDt9CiNzaGFyZUJ1dHRvbnt9Ci5zZWFyY2hMZWZ0e3BhZGRpbmctbGVmdDox
NXB4O30KLnNlYXJjaFJpZ2h0e30KLnNyY0J0bkNlbnRlckF7Y29sb3I6I2ZmZjsgZm9udC1zaXpl
OjExcHg7IGZvbnQtd2VpZ2h0OmJvbGQ7IGZvbnQtZmFtaWx5OiJUcmVidWNoZXQgTVMiLCBBcmlh
bCwgc2Fucy1zZXJpZjt9Ci5zcmNCdG5DZW50ZXJBOmhvdmVye2NvbG9yOiMwMDA7fQoKI2Fke3dp
ZHRoOjI1MHB4OyBwb3NpdGlvbjphYnNvbHV0ZTsgaGVpZ2h0OjYxcHg7IHRvcDo0OTZweDsgbGVm
dDowcHg7IHBhZGRpbmc6MCAxMHB4O30KI2FkSWZyYW1le3dpZHRoOjIzNXB4OyBoZWlnaHQ6NjFw
eDsgfQoKI2xvZ2luLAojc2lnbm91dCwKI2NyZWF0ZUFub25BY2NvdW50LAojY3JlYXRlQW5vbkFj
Y291bnRFcnJvciwKI25vUGxheXNMZWZ0VGFrZW92ZXIKe3Bvc2l0aW9uOmFic29sdXRlOyBwYWRk
aW5nOjAgMTBweDsgYmFja2dyb3VuZC1jb2xvcjojZmZmOyBjb2xvcjojMDAwOyB0b3A6MzZweDsg
bGVmdDowcHg7IGhlaWdodDo1MzRweDsgd2lkdGg6MjUwcHg7IHotaW5kZXg6NTAwOyB2aXNpYmls
aXR5OmhpZGRlbn0KI3NpZ25vdXR7ei1pbmRleDo1MDE7fQoKI2luc3RhbGxTdGVwT25lOThNRSwK
I25lZWRQbHVnaW4sCiNpbnN0YWxsU3RlcE9uZSwKI2luc3RhbGxTdGVwT25lU1AyLAojaW5zdGFs
bFN0ZXBPbmVOb3RTUDIsCiN1cGdyYWRlUGx1Z2luLAojc2lnbmluY29uZmxpY3QsCiN0aW1lZG91
dCwKI2dlbmVyYWxQbGF5ZXJFcnJvcntwb3NpdGlvbjphYnNvbHV0ZTsgcGFkZGluZzoyMHB4IDIw
cHggMCAyMHB4OyBjb2xvcjojMDAwOyB0b3A6MzZweDsgbGVmdDowcHg7IGhlaWdodDo1MzRweDsg
d2lkdGg6MjMwcHg7IGRpc3BsYXk6bm9uZTsgdmlzaWJpbGl0eTpoaWRkZW47fQojaW5zdGFsbFN0
ZXBPbmV7dG9wOjM2cHg7IHBvc2l0aW9uOnN0YXRpYzsgaGVpZ2h0OmF1dG87fQojaW5zdGFsbFN0
ZXBPbmUgRElWLmZmSW5zdHJ1Y3Rpb257IGZsb2F0OmxlZnQ7IHdpZHRoOiAxNjFweDt9CiNpbnN0
YWxsU3RlcE9uZSBVTCwgVUwubGlzdFN0eWxlIHttYXJnaW46MCAwIDIwcHggMTVweDsgcGFkZGlu
ZzowO30KI2luc3RhbGxTdGVwT25lRmlyZWZveEFycm93e3Bvc2l0aW9uOnJlbGF0aXZlOyB0b3A6
LTEwcHg7IGZsb2F0OmxlZnQ7IHdpZHRoOjQ1cHg7fQojaW5zdGFsbFN0ZXBPbmVTUDIsICNpbnN0
YWxsU3RlcE9uZU5vdFNQMntwb3NpdGlvbjpzdGF0aWM7IGhlaWdodDphdXRvOyBwYWRkaW5nOjA7
fQojaW5zdGFsbFN0ZXBPbmVTUDIgSU1He21hcmdpbi10b3A6MTBweDsgbWFyZ2luLWJvdHRvbTo0
MHB4O30KI2luc3RhbGxTdGVwT25lU1AyQXJyb3d7cG9zaXRpb246YWJzb2x1dGU7IHRvcDowOyBs
ZWZ0OjIwMHB4OyBkaXNwbGF5Om5vbmU7IHZpc2liaWxpdHk6aGlkZGVuOyB6LWluZGV4Oi0xMDt9
Ci5pbnN0YWxsU3RlcE9uZVJvb21Gb3JIZWFkZXJ7bWFyZ2luLXRvcDogMzZweDt9CiNuZWVkUGx1
Z2luIFVMLCAjdXBncmFkZVBsdWdpbiBPTHttYXJnaW46MThweCAwIDI0cHggMjVweDsgcGFkZGlu
ZzowO30KI25lZWRQbHVnaW4gVUwgTEkgUCwgI3VwZ3JhZGVQbHVnaW4gT0wgTEkgUHttYXJnaW46
MDt9Ci5sZWdhbFRleHR7IGZvbnQtc2l6ZTogMTBweCB9CgojY3VycmVudFBvc2l0aW9uLCAjdHJh
Y2tQbGF5U3RhdGUsICN0cmFja0R1cmF0aW9ue2Rpc3BsYXk6aW5saW5lO30KCiNoZWFkZXJJbWFn
ZXtoZWlnaHQ6MTlweDt9CgouY29udGVudEJveHsgYm9yZGVyOjFweCBzb2xpZCAjOTk5OyBwYWRk
aW5nOjEwcHg7IGJhY2tncm91bmQtY29sb3I6I2ViZWJlYjt9CgovKiBzdHVmZiBtaXNzaW5nICov
Ci5tc2dIZWFkZXJ7Zm9udC1zaXplOiAxOHB4OyBjb2xvcjogIzAwNUU4RDsgbGluZS1oZWlnaHQ6
IDIycHg7IGZvbnQtd2VpZ2h0OiBib2xkO30KLm1zZ0hlYWRlclN1Yntmb250LXNpemU6IDE0cHg7
IGxpbmUtaGVpZ2h0OiAyMHB4OyB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO30KLm1zZ1FzdHtmb250
LXNpemU6IDExcHg7IGZvbnQtd2VpZ2h0OiBib2xkOyBjb2xvcjogIzAwNUU4RDsgbGluZS1oZWln
aHQ6IDEzcHg7fQojbXNnQm9keXtiYWNrZ3JvdW5kLWNvbG9yOiAjRUJFQkVCOyBoZWlnaHQ6MTIy
cHg7IHdpZHRoOjIzMHB4OyBwYWRkaW5nOjExcHggMCAxMHB4IDA7IG1hcmdpbi10b3A6IDI3cHg7
fQojbXNnQm9keSBJTUd7ZmxvYXQ6bGVmdDsgd2lkdGg6NjVweDsgaGVpZ2h0OjEyNnB4OyAgcGFk
ZGluZy1sZWZ0OiA1cHg7IHBhZGRpbmctcmlnaHQ6NXB4O30KI21zZ0JvZHkgRElWe3dpZHRoOjE0
NXB4OyBwYWRkaW5nLXJpZ2h0OjEwcHg7IGZsb2F0OmxlZnQ7fQojbXNnQm9keSBVTCwKI25vUGxh
eXNMZWZ0VGFrZW92ZXIgVUwge21hcmdpbjowIDAgMCAxNXB4OyBwYWRkaW5nOjA7fQojbm9QbGF5
c0xlZnRUYWtlb3ZlciBVTCB7bWFyZ2luLWJvdHRvbToyMHB4O30KI21zZ0JvZHkgVUwgTEkgUCB7
bWFyZ2luOjA7fQojbm9QbGF5c0xlZnRUYWtlb3ZlciBVTCBMSSB7bWFyZ2luOjVweDt9CiNub1Bs
YXlzTGVmdFRha2VvdmVyIFAge2ZvbnQtc2l6ZTogMTNweDsgbWFyZ2luOjEwcHggMCAxNXB4IDA7
fQojbXNnRnRyUGFkLCAjbXNnRnRyUGFkU3RlcE9uZSwgI21zZ0Z0clBhZENyZWF0ZXtwb3NpdGlv
bjogYWJzb2x1dGU7IGJvdHRvbTogMzFweDsgbGVmdDogMTBweDt9CiNtc2dGdHJQYWRTdGVwT25l
LCAjbXNnRnRyUGFkQ3JlYXRle2JvdHRvbTogMTFweDt9Ci5tc2dGdHJ7Zm9udC1zaXplOiA5cHg7
IGNvbG9yOiAjMDAwMDAwOyBsaW5lLWhlaWdodDogMTFweDt9Ci5tc2dFcnJ7Y29sb3I6I2MwMDsg
Zm9udC13ZWlnaHQ6Ym9sZDt9CgoudjEwe2xpbmUtaGVpZ2h0OjEwcHg7IGZvbnQtc2l6ZToxMHB4
O30KLmxpbmU5OTl7bWFyZ2luOjRweCAwIDRweCAwOyBoZWlnaHQ6MXB4OyBmb250LXNpemU6MXB4
OyBsaW5lLWhlaWdodDoxcHg7IGJhY2tncm91bmQtY29sb3I6Izk5OTsgY29sb3I6Izk5OTtvdmVy
ZmxvdzpoaWRkZW47fQoubG5rLCBhLmFuY2hvckxuaywgYS5hbmNob3JMbms6dmlzaXRlZHtmb250
LXNpemU6IDExcHg7IGNvbG9yOiAjMDA5NERFOyBsaW5lLWhlaWdodDogMTNweDt9CmEuYW5jaG9y
TG5rOmhvdmVye2NvbG9yOiBibGFjazt9Cgojc3VibWl0YnV0dG9ue2JhY2tncm91bmQtY29sb3I6
dHJhbnNwYXJlbnQ7IGNvbG9yOiMwMDA7IGZvbnQtc2l6ZToxMXB4OyBmb250LXdlaWdodDpib2xk
OyBmb250LWZhbWlseToiVHJlYnVjaGV0IE1TIixBcmlhbCwgc2Fucy1zZXJpZjt9CiNzdWJtaXRi
dXR0b246aG92ZXJ7Y29sb3I6IzA5ZTt9XxA7aHR0cDovL3N0YXRpYy5yZWFsb25lLmNvbS9yb3R3
L2Nzcy9wbGF5ZXIuY3NzP2JpZD05OTU5MzU5NTJYdGV4dC9jc3PUBgcICSUmJyhPEQRxYnBsaXN0
MDDUAQIDBAUGBwpZJGFyY2hpdmVyWCR2ZXJzaW9uVCR0b3BYJG9iamVjdHNfEA9OU0tleWVkQXJj
aGl2ZXISAAGGoNEICV8QE1dlYlJlc291cmNlUmVzcG9uc2WAAa8QHQsMKS8wNzg8VFVWV1hZWltc
XV5fWmBhYmM3ZGhrVSRudWxs3xAQDQ4PEBESExQVFhcYGRobHB0eHx4gIR4iIyQlHSYnHihSJDZT
JDEwUiQyUyQxM1IkN1IkM1MkMTFSJDhSJDRTJDE0UiQ5UiQwViRjbGFzc1IkNVMkMTJSJDEQBxAB
gAWABoAAI0GlAH9AEY2LEQpuEAAjQaUAfzvd8eGAHCNBpQ7nzGX98IAC0yorGSEtLldOUy5iYXNl
W05TLnJlbGF0aXZlgACAA4AEXxBEaHR0cDovL3N0YXRpYy5yZWFsb25lLmNvbS9yb3R3L3BsYXll
cmltYWdlcy9oZWFkZXJfcmhhcHNvZHlfYmV0YS5naWbSMTIzNFgkY2xhc3Nlc1okY2xhc3NuYW1l
ozQ1NlVOU1VSTFYlTlNVUkxYTlNPYmplY3RZaW1hZ2UvZ2lm0xgZHDk6O4AHgBsQyNM9Phk/SVNa
TlMub2JqZWN0c1dOUy5rZXlzqUBBQkNERUZHSIARgBKAE4AUgBWAFoAXgBiAGalKS0xNTk9QUVKA
CIAJgAqAC4AMgA2ADoAPgBCAGlZTZXJ2ZXJdTGFzdC1Nb2RpZmllZF1BY2NlcHQtUmFuZ2VzWkNv
bm5lY3Rpb25URGF0ZV5Db250ZW50LUxlbmd0aFpLZWVwLUFsaXZlVEV0YWdcQ29udGVudC1UeXBl
VkFwYWNoZV8QHVRodSwgMDggSnVuIDIwMDYgMTA6MzE6MDIgR01UVWJ5dGVzXxAdV2VkLCAwMiBB
dWcgMjAwNiAwMjowMzo1NSBHTVRUMjY3MF8QEXRpbWVvdXQ9MiwgbWF4PTg1XxAWIjE1ODBjZjct
YTZlLWZiMGI2NTgwItIxMmVmo2ZnNl8QE05TTXV0YWJsZURpY3Rpb25hcnlcTlNEaWN0aW9uYXJ5
0jEyaWqiajZfEBlOU0hUVFBVUkxSZXNwb25zZUludGVybmFs0jEybG2jbW42XxARTlNIVFRQVVJM
UmVzcG9uc2VdTlNVUkxSZXNwb25zZQAIABEAGwAkACkAMgBEAEkATABiAGQAhACKAK0AsAC0ALcA
uwC+AMEAxQDIAMsAzwDSANUA3ADfAOMA5gDoAOoA7ADuAPAA+QD8AP4BBwEJARIBFAEbASMBLwEx
ATMBNQF8AYEBigGVAZkBnwGmAa8BuQHAAcIBxAHGAc0B2AHgAeoB7AHuAfAB8gH0AfYB+AH6AfwC
BgIIAgoCDAIOAhACEgIUAhYCGAIaAiECLwI9AkgCTQJcAmcCbAJ5AoACoAKmAsYCywLfAvgC/QMB
AxcDJAMpAywDSANNA1EDZQAAAAAAAAIBAAAAAAAAAG8AAAAAAAAAAAAAAAAAAANzTxEKbkdJRjg5
YYIAIgDmfwBmZmZoaGlpfIdLc4j4+PhwcHG5ur5tbW709PT///+0tbnh4eJziZYqj8iBgYJ1dXWd
nqDx8fE6aYNrb3FcZ22dnZ3JyclJns54eHnc3NxmdoCVlZXt7e1+fn+MjIy8vLwDcrHm5uaYmJgb
apbp6emJiYmlpqjFxcWlpaXU1NSioqWysrLR0dGpqq2FhojOzs5IaXygoKCpqan7+/utrrGRkpWF
hYbY2Ngsg7TBwcFnZ2e1tbVmlbBiZmm5ubl2o7yxsrWOjo+ampy3uLuurq5xen5UaHNXptJiaW2V
lph1dniOkJORkZFbgJR6entZWlqvsLNhYWIBeLwLbaSrrK8WdqxycnMVbZ93sNGDt9NlZme/wMCD
g4RqamsIcKpqbG2bnJ+jpKeKi40iapIEfMCmp6uXmJpkZGSfn6ILeLVkZGZmZmhmZ2cvaYkCdrdj
ZGVfX2CHiIp7fH0OgsNRkbUZf7hDf6Hn6uqBnq6Tk5aztLjZ2dmLjZA/dpYncZu7vMAh+QQBAAB/
ACwAAAAAggAiAAAH/4AAgoOEgn+HiImKi4yNjo+QkZKTkoWWAJSZmpucnZWXhJ6io6SliKChpqqr
rIyoB4atsrOklh1QNy6xtLy9k4NKEC8LNxCwmJpmDwfMB11yEL7Sm4IuCxZgSwiplFByCwgR4gh7
Ti3T6J9Kw2V824OQBgpAVGEAZigzCfsJMy8FEAwgMkCDisGDUAQeGlJQYTpJBoC00POIUIctNxYY
ULJr0RAqbL5M0CBAABsLCRYsCEEihAkAaBQaCNCBi4ObXLg46QLlz5AvN7sMeRjJgA4nNh7ocKjo
khkDupAtotKlCIMfWI40wFEkhAURIipsWSDmQBlELVyQIDCjbT8OQ/+stEAjggMJDCaYEl0EBMON
BBt0DHUFIBgoRkmK4MFygQyIK1cGaPMQpUCBDxkmKDl3aAOVGQRYvHjBIsQ+HwFK+EhgoYCQwYv0
xm4ke2AkFUwIcOgQhyJha4cVBWGQ5YKbK21gGKEA4EQEKw8CYOCQA0kTJDQOOXiR4AQGywVK3Agd
PUWCGDo66AADm4YZHQE8gFFwyIAKCEBUiNFhxrdPFUHowAcE9C0EYABBoAHbH1AIocN6eRDRHVBh
yKSCGWj8Uc0CEHTYIUdSHQKBAFk04EUbRsDxhRMddHGHBQ+g8IEFBCzRxBF99KCHAgWEQIAMUTiQ
RxIOyOCPFR2s5YH/CFt8YAxFQnRgwhY5OFkADUZtUIETG2yxBQoPmPAHFQds4EMOPlRQwFktlHmm
DyJ8QYWITqjgZQwPnJCADB7EUMJSM22AgghCbKjSoVEp4sQPF4DQxhMHiNEFEyr4MEMMW/BzwwR2
XJCGEWbgFgEBHhyAhkQB0LhFABXMEEEK+vQjQwlBMLEAP/vs8EULTiAwwwKxdvcAFVbkEOwMJxwA
gRN68jPDBwcAkYcHGeDKAgkIlJCpBQFAgUYQBCAARQcbBodIFxfMcUUPBYBRwA4R7BMCF75ysIAJ
WvTRgBQSOMDHCgkg4IBlVnCxQ0pMBPBBAhx8xQSsLxzgAAIE+FDr/wsz7PFADUIkQEAKEHiwAwEE
VOCCDCkJ4cEKHHBQwgEsJJDCBh4M0RYT6ZGQwBZMBIHSDClYAfALXYRxwF8rPGBDuZco0kUDZFxx
Rh4AEhBwCCscYMILOcRgRQFNNACCBEpxR8ACGaTt4wsbBFDADcjKURkRBJyggwc3yBDAGlaogGwB
FyXAghxwWPYCAUQUgNIJcBwQABFEOKCCzA4U/sV4UKS6sxVvILlABDsEYMIMLHQRR8csWPEFGIIc
EJUgEICoCAZVkJEGDA7Q4IQFIaSwAgbOYBAdBgHwMIcXMDzgRAgzhLAACRHoE8EGcDhRQssewCFG
BzRCAUAcVjiwpP8MC/wYQBfgxACHC2W4YCkUB0DhqgUxFCDHiuVXsH4ZDpwwww4dmAEJuKCGGpig
ACmIAAQCIAICZOAAPYqACKJQAyCUCwEQAMACEpUICMDADVKowwAwkAQkFKEDB/hCEqgAgTwIwQYM
aNQYeiAHISCAAxuQgxw6gDcEfCA1k3vBA+RQhgJwAAEb+EIMbsABtliNA6VyAAFC4AQrlGEIB/Cf
CSC4g7WcLQZc8EAC9tABKxrAASyYgQliwBoduAAKNOjA50rwAA/c0Aom6M4z5lQuDmmQgwPRAgy8
IIUG0KEJX7CCEuRgg4AYAAw6YMARQDACCgBlNTdQnQNsEIAdkO7/AB3Q0wq6kIcweKB5GBACyVZA
MxRwoBwYyMcNuiAGBcQxBAhgQgFcAJQYVMtlImBNATwwDydgywML28EZwGAAupAOAzeJAAI8wIF5
rYE9GgIAcIrxx44sRAtGGAMI3NCAC/CABwxoggbYAICriK0NFAhAHg5gHh8cgA9AAMIBctAdHWAg
AwQQQRdUEKEZWOAAGZiBCrrQBStIaAsFeABKFnCAJAwhCCizgANQsIIC1CAADyABB2KwAZlZwaJM
ABgLCpAp1IShBQ+I2ShrYIW17CECRNBBHBKSTWscSiWATMQQIADONlxhnGQoZxMEwCg3jAAGALCC
EFRgA2wtMCY8/0roDgAQBATMSwk0QKMarRA9GcAHAvFqQQAOYBoE6K0LMQjHBh4ALBl04W4R2CAX
PIaCAAQABTfcwBsAFoIOgFRPERBCAFSgg2pFgAUPKMCDdJDNYHjoQ94cCBDMAABwSqANfsABDvY1
BQloQZthUAA+mmcDufxBDw9omd6IMIMcPMAFLcBABEjwMoydzUczQAAJRFCCcKTgtwkgARS6UABj
pQRYHNiqFU7AlpUkIAQoeEYHmuhADgT3BlwAqw0s8KsNVKYCJrMHKjKbCAPooQw1KCMM0uCGKcAz
CnIAA0+TYIIU7MAKNgDCH3i0ha8coAV7UKwZTOACC3zAfqG8wf8NLMCE/qbAAS0wqBMwkwH6QTAP
VqACC9JmgQowtwYP2MENMrCHHAQBpPrxgAVusAc4fYAIVogDEALwAgSsSg5d2AARNrCEQSxhC0so
AzfZGxsoIAEHlIRB4WpABdjMxK9WUNAhTACfAMBHB1/gAhWunEg0mMEKwuvyd3SQRiB94QEY6MIZ
nECgFnSgABggnhagoYAwOKEATnjAGQLABRUMwQDzFN4ZuuBXEiZhA151gBbAoAchbFIFrVvAFkYD
AYoyeRFCGIAXJNAD1BZIqFRQQRlO/doyqIAGElFBlX0CBROsOiJCWEISVA2GGkwnAqVCAxiCUAMI
zHrAJqgBH/LLgIZjK0AFS+DDrrFUHyiYQddhKEMYusCFDeBSBnDQ8R8iAutqWECDGdxCUB9RBuUc
wAn6rY0qhnDocYOhAmd7wC18Um9FGIDesvn3goSqkBZwgQMegyge9VKNLQCAm+r+tL8FIYQWDNwX
936BrpZwcVaUoQQZ0LQNdJAEVh/CUD9d9yPk0e+HJKEAXVBChXyRB8m+AUE9WYQgLHtZ2e1lEwQx
QQtMPgsDQEEFYAgDT3W+3hD9/OmlaLrToU71Tki96lj3xNWzzvVMBAIAO18QRGh0dHA6Ly9zdGF0
aWMucmVhbG9uZS5jb20vcm90dy9wbGF5ZXJpbWFnZXMvaGVhZGVyX3JoYXBzb2R5X2JldGEuZ2lm
WWltYWdlL2dpZtQGBwgJKissKE8RBGVicGxpc3QwMNQBAgMEBQYHClkkYXJjaGl2ZXJYJHZlcnNp
b25UJHRvcFgkb2JqZWN0c18QD05TS2V5ZWRBcmNoaXZlchIAAYag0QgJXxATV2ViUmVzb3VyY2VS
ZXNwb25zZYABrxAdCwwpLzA3ODxUVVZXWFlaW1xdXl9aYGFiYzdkaGtVJG51bGzfEBANDg8QERIT
FBUWFxgZGhscHR4fHiAhHiIjJCUdJiceKFIkNlMkMTBSJDJTJDEzUiQ3UiQzUyQxMVIkOFIkNFMk
MTRSJDlSJDBWJGNsYXNzUiQ1UyQxMlIkMRAHEAGABYAGgAAjQaUAf0AXQD4RC2EQACNBpQB/O94X
woAcI0GlDufMYHEegALTKisZIS0uV05TLmJhc2VbTlMucmVsYXRpdmWAAIADgARfEDlodHRwOi8v
c3RhdGljLnJlYWxvbmUuY29tL3JvdHcvcGxheWVyaW1hZ2VzL2ZpbmRtdXNpYy5naWbSMTIzNFgk
Y2xhc3Nlc1okY2xhc3NuYW1lozQ1NlVOU1VSTFYlTlNVUkxYTlNPYmplY3RZaW1hZ2UvZ2lm0xgZ
HDk6O4AHgBsQyNM9Phk/SVNaTlMub2JqZWN0c1dOUy5rZXlzqUBBQkNERUZHSIARgBKAE4AUgBWA
FoAXgBiAGalKS0xNTk9QUVKACIAJgAqAC4AMgA2ADoAPgBCAGlZTZXJ2ZXJdTGFzdC1Nb2RpZmll
ZF1BY2NlcHQtUmFuZ2VzWkNvbm5lY3Rpb25URGF0ZV5Db250ZW50LUxlbmd0aFpLZWVwLUFsaXZl
VEV0YWdcQ29udGVudC1UeXBlVkFwYWNoZV8QHVRodSwgMDggSnVuIDIwMDYgMTA6MzE6MDIgR01U
VWJ5dGVzXxAdV2VkLCAwMiBBdWcgMjAwNiAwMjowMzo1NSBHTVRUMjkxM18QEXRpbWVvdXQ9Miwg
bWF4PTg1XxAVIjc4ZGEwNS1iNjEtZmIwYjY1ODAi0jEyZWajZmc2XxATTlNNdXRhYmxlRGljdGlv
bmFyeVxOU0RpY3Rpb25hcnnSMTJpaqJqNl8QGU5TSFRUUFVSTFJlc3BvbnNlSW50ZXJuYWzSMTJs
baNtbjZfEBFOU0hUVFBVUkxSZXNwb25zZV1OU1VSTFJlc3BvbnNlAAgAEQAbACQAKQAyAEQASQBM
AGIAZACEAIoArQCwALQAtwC7AL4AwQDFAMgAywDPANIA1QDcAN8A4wDmAOgA6gDsAO4A8AD5APwA
/gEHAQkBEgEUARsBIwEvATEBMwE1AXEBdgF/AYoBjgGUAZsBpAGuAbUBtwG5AbsBwgHNAdUB3wHh
AeMB5QHnAekB6wHtAe8B8QH7Af0B/wIBAgMCBQIHAgkCCwINAg8CFgIkAjICPQJCAlECXAJhAm4C
dQKVApsCuwLAAtQC7ALxAvUDCwMYAx0DIAM8A0EDRQNZAAAAAAAAAgEAAAAAAAAAbwAAAAAAAAAA
AAAAAAAAA2dPEQthR0lGODlhFwATAPf/ANPT1i4uLhW18PX4+n5+gTo6OhhGWYuyxOvx9HCku87O
0cLV3Aqy8L29wUJCQgaNwgZJZa+vtAxxnSRngrjY5KOzuy5+oqurrxik2YWFiLGxtgKu7pmutydX
axqx6QSa1AFplcTc5XNzdeTt8FeImwJyoIOmtjaEpheq4Ddldz09PhdNZGaMnAJ6rOHq7gJsmTQ0
NFdXWUlsewuEsKPAzg+i2ZeXmxx0mWxsb8Th7ZizvpqangOk4Qg2ShdSarW1urm5vsHBxbbI0W5u
cSR4ni8vLxaZy7jS3Z/C0Nfs9LjK0gh3pYqjsAxFXgY+VqS5wyKLtQav7cbGySWi0Amd1TY2NgKC
tTIyMkSLqQprk5W7ywp+rQxdfdLe4q29wwtkiROMuyKFrmiWqh1lg6Ojpy0yNAKUzdXl7DRsgwtS
cAmq5eTw9L3O1iK58avEzgGg3ANdgmeBjTh1kMPQ1xNjhdzl6RZ8pIKuwqXC0KnE0QuKvLfDxxJ7
qBuItWJiYy646wh+sEt3iXKbriWQuzm46AZafAiBrwtfgxJWcXaVonudrE9PUJOTlx1ed46OkgeF
uABQcklJSQJki5a0wg2Rw3uswYWfrCgtLyp7ns3n8laMoi40Np+fpMfW3AqUyUiBmKOxt9zi5QuZ
zyJHVqrI1VR2hQdumgKq6CwwMszY3o+lr564xCovMUxcZBKDsuz1+RZulqW+yRmMuFSAknd3eM/g
5ydgd6SkqZ7AzKOvtAN5qXiQmhRad6vS4K3N2Q+u6RZ2n9Hb34+1x6O2vweYzrDK1QZjh+Dy+AtP
a7vM1AGY0ASQxnmpvw14pbXN1gBmki+LtHKOmQqGtxI9TxBojCN4nCB9pBd/qwym4BhpihSg1c3V
2Amg2AGe2LDGzz5tgLrL0xxkf6nAyo2xwDEyMl2AkCau4LbP2Tc3OBRde4i4zICTmwGMwghXdUiU
tnWmvYCktS1viaDJ2RmArEN4jom90LvL0iFqiCVxkStxkDExMYWyxhqQvjBVZXGXqLOzuCH/C05F
VFNDQVBFMi4wAwEAAAAh+QQF9AH/ACwAAAAAFwATAAAI/wD/CRxIsKBBghEYERCBo6HDhzhEEOBE
8BaBRQVgaNzIUWMVFTEyRBDoaFErDkJSqlypkkkkPzb+RXB0ZRWNmzifDNu580ksGpZUMPp3gVGZ
A0iTjuNQx4VTF6lUHYAXgGIEG6gSaN0qaNiIr1+F+EsgJsCFfxp2XIJVrS0RIrZiORs3TlytWfiq
0TGLVi2Ivy9ePPMRAg0kSCTw+HgGAg7ftKxKSJYsiYQvCBAQ5REDR7KxImch62rRAgSyNFruyEHi
K0e8EqSzgO6LyoqVZ5/kUcihqVemTPLa2bZiava/HWXYsSuU43cvOpUoqMPXYtkydkv0nf1BpowZ
ZSXq9WGSh8XKlxtf2HX7oEyZIX0Cf/wI8OGNGV0vSiw7xaMbj1P88fDGDFUAIVAQMYTDzSkbNOjg
gxucQkwjIjQgUANB+FHFFVd0xBGHBdAihYEXSqEAACimqGKKCox40Isw/hMQACH5BAUAAP8ALAIA
AgATAA8AAAjfAP8JHPivCroCCBEeJMjwn5KH4CKCU/JPVcOBeARW2Fhh2L+MF4UNHEFyRLB/Iosw
fPfu3xMEMGHa+9dSpUAiRDBZ+OdtgQ4d3s6Uy4dpjM1/L0xJyPKv1rc0aVgUW5HF1CGCS5rx+cLi
SJMmPor5K9Ts35d/qAQCygIBGa5x9EgdOYNGAqCBZf49kvTPV4hM/ygkSUIqjbRHDJdByjSYQro7
/7TEW+KJ4KZ/H0BoodDr3xYu97g84Eblw0CVPJaVeAbiwS9s3LCpuSgwShQGuHPbjnIRHQwY6IJX
oS0wIAAh+QQFAAD/ACwCAAEAEwAQAAAI5gD/CRxIcIhBgwQT/quCroAKFQ4cPFRIUMk/cGwyZkxm
USC5hHjyxKpAkaKwf5NyjUDAEkGXkgIrKfLy75XNV2wSMVOIycKJDkpSPXliz0UcORYIvjAlwc6N
FWdk+PDxj42BGxL+FRG4pNm1MHT+dXLiZAUbRVyuNSO4xRU1J03cTArkbEGSb8BcbSGo59CsI7WS
sAhx7Ng5CGD0PMq66YEnCEkKh0A0LgQuNM2MeHowkBgVY0hCHCFxDdEERGBqcEtIBRulLHCMgfGA
QhuKX2rUKKzxS4Dv3/8YMIDJsIDxAuiqlAwIACH5BAUAAP8ALAIAAQASABAAAAjnAP8JHDhwCMGD
B9EVUOHAgUCHDBEKBMfm35yLc9gkk4gnDykv/0CJBPVPXB6JWgQiGPgq1D8tJgi+Y3ZH4ICbN+f8
q3TQwgksFrt48TJn5b8T91gJlADMmoVRI/516LCr079qwOigEsgnDLQJ0br06GGgkyVeYfhQE+iq
T7Ye/5Q8KTUn2BoZ1foMlAaGS7kFZ9b8q/Xq1YImg8BIE0jJiJM1hWv50HHGTQpgB0Vp4+Km1oJ/
1pDZQiYLRQ0qB8F8aVeozx9zGP55+HVwzMA2uAUKEPCPQZSBUv4VGK6iuHB06ATCGBgQACH5BAUA
AP8ALAIAAQASABAAAAjdAP8JHChwiEARIgZmICiwyj8VDv5FmhgpIkOCyf7NWdBpgcaLBIv9A5Wr
ZK6BTECuEjig5QCQAivts7SH4bZ/dwQNxPQPi7t+2+rs2bPtJT0sA039s3PixD8E//r9WxdslAVr
A5vNg+bu365QAkcFU9UI2rV/Zbb8G3Tv37Q5Xv6lCvXqH6ZBrgby4xUnmItX0UK1TDXtHz+GPV61
rGNgWB0h/25MMUIQQzshoVKVw9TknwEo5jAwRCGLC7I0YQgRmmLunweGE1y3+ffnX5vZMAdCdOBA
hYoC/xwSDAgAIfkEBQAA/wAsAgABABIAEAAACOMA/wkcKBCHwCFDBhIgKBDGvwIq/jmY6CAiQ4Lg
/rGZw1HjwCsXSf2rAKokqIGWLv6bJBCBy1cqBTK7o8gLwzn/KokZSOTfCSwd5nTx4mUOgn9yTkwQ
+OIfMGuY/o341+Hfrk4GqgEbuIRPGGj/onURaKCTJV5h+PxDpetfn2z/mih58m9OsDX/qvXZMhAM
l3ILzqxhUevVqwVN/oEZ+OCfkzWGa/nQccaNUyOeCGrj4qbWAhLWkP1DJgtFDYbYwHxpV6jPH3MY
UPz7xXDMbAH/2vwTgDvmQIgqVBQogO6fQ4IBAQAh+QQFAAD/ACwCAAEAEgAQAAAI5QD/CRw4EAfB
gweroCugQoVAhwwRClQC7h+bi2ySKZFIA0+eJ/8qiBQYC49EYQJHDETQ5Z8weAQTvKsk8JVNm2z+
MTuIycKJf0pSPXliz4VAC2MuCTQlwc6NFWf++fDBIucNCYdYCWx2LQwdFp2cOFnBRhGXa82+CNzi
ipqTf24mBXK2IMk3YK4GWtFzaNaRWkn+hTh27BwEMHoeDfQEIQnhEIjGhcCFptlBYlSMIQlx5N81
RBMQganB7cNBSlngGAPjAYW2f7/UIOQmUIBtgQwY/IuyYWCQf+gUFhgOvAoMgVcGBgQAIfkEBQAA
/wAsAgABABMAEAAACOYA/wkcSBCHQYMEE/6DUQVdgYcP0SkkKOSfEiXgMoJTUnGiQDz/hg2s4FHg
gX/jOLgYwXJEsJL/mAl6gqBmTXv+3ikkgsmCLW8LdOjwdqZcPkzhBoJ4YUpCFh+1vqVJ86/Yiiym
/gUQWGJJMz5f/h1p0sRHMX+FmpUg2AJQFgjIcI2jR+rIGTQSALUg+EjSJ18hMmmikCQJqTTSHlnJ
WobdMkiZClNId4eClnhLPC1jN9DMBxBaKPTCsoXLPS4PuFFJ+IHHshLPQDz4hY0bNjWneCRMGoWB
79//okQpCQMGuuNVinsMCAA7XxA5aHR0cDovL3N0YXRpYy5yZWFsb25lLmNvbS9yb3R3L3BsYXll
cmltYWdlcy9maW5kbXVzaWMuZ2lm1AYHCAkuLzAoTxEEaGJwbGlzdDAw1AECAwQFBgcKWSRhcmNo
aXZlclgkdmVyc2lvblQkdG9wWCRvYmplY3RzXxAPTlNLZXllZEFyY2hpdmVyEgABhqDRCAlfEBNX
ZWJSZXNvdXJjZVJlc3BvbnNlgAGvEB0LDCkvMDc4PFRVVldYWVpbXF1eX1pgYWJjN2Roa1UkbnVs
bN8QEA0ODxAREhMUFRYXGBkaGxwdHh8eICEeIiMkJR0mJx4oUiQ2UyQxMFIkMlMkMTNSJDdSJDNT
JDExUiQ4UiQ0UyQxNFIkOVIkMFYkY2xhc3NSJDVTJDEyUiQxEAcQAYAFgAaAACNBpQB/P/ju8hEB
WhAAI0GlAH873jYqgBwjQaUO58pLrZ6AAtMqKxkhLS5XTlMuYmFzZVtOUy5yZWxhdGl2ZYAAgAOA
BF8QPGh0dHA6Ly9zdGF0aWMucmVhbG9uZS5jb20vcm90dy9wbGF5ZXJpbWFnZXMvYnRuX2hlbHBf
b2ZmLmdpZtIxMjM0WCRjbGFzc2VzWiRjbGFzc25hbWWjNDU2VU5TVVJMViVOU1VSTFhOU09iamVj
dFlpbWFnZS9naWbTGBkcOTo7gAeAGxDI0z0+GT9JU1pOUy5vYmplY3RzV05TLmtleXOpQEFCQ0RF
RkdIgBGAEoATgBSAFYAWgBeAGIAZqUpLTE1OT1BRUoAIgAmACoALgAyADYAOgA+AEIAaVlNlcnZl
cl1MYXN0LU1vZGlmaWVkXUFjY2VwdC1SYW5nZXNaQ29ubmVjdGlvblREYXRlXkNvbnRlbnQtTGVu
Z3RoWktlZXAtQWxpdmVURXRhZ1xDb250ZW50LVR5cGVWQXBhY2hlXxAdVGh1LCAwOCBKdW4gMjAw
NiAxMDozMTowMiBHTVRVYnl0ZXNfEB1XZWQsIDAyIEF1ZyAyMDA2IDAyOjAzOjU0IEdNVFMzNDZf
EBF0aW1lb3V0PTIsIG1heD04NV8QFiIxNTgwY2FhLTE1YS1mYjBiNjU4MCLSMTJlZqNmZzZfEBNO
U011dGFibGVEaWN0aW9uYXJ5XE5TRGljdGlvbmFyedIxMmlqomo2XxAZTlNIVFRQVVJMUmVzcG9u
c2VJbnRlcm5hbNIxMmxto21uNl8QEU5TSFRUUFVSTFJlc3BvbnNlXU5TVVJMUmVzcG9uc2UACAAR
ABsAJAApADIARABJAEwAYgBkAIQAigCtALAAtAC3ALsAvgDBAMUAyADLAM8A0gDVANwA3wDjAOYA
6ADqAOwA7gDwAPkA/AD+AQcBCQESARQBGwEjAS8BMQEzATUBdAF5AYIBjQGRAZcBngGnAbEBuAG6
AbwBvgHFAdAB2AHiAeQB5gHoAeoB7AHuAfAB8gH0Af4CAAICAgQCBgIIAgoCDAIOAhACEgIZAicC
NQJAAkUCVAJfAmQCcQJ4ApgCngK+AsIC1gLvAvQC+AMOAxsDIAMjAz8DRANIA1wAAAAAAAACAQAA
AAAAAABvAAAAAAAAAAAAAAAAAAADak8RAVpHSUY4OWERABEAxB8AvLy8rKytREREy8zMpKSkd3d3
wMHCMDAwmJmZ6urq2traZGRkhoaG8fHxWlpa1dXVbW1ti4uL4eHhsLCwtra2sbK10dHR5eXlxcXH
tre5oKCgp6en19fYf39/uLm7////IfkEAQAAHwAsAAAAABEAEQAABdfgJ34A0kEL1CHA6G6FIxy0
4BSb+2mFIEQACyDiK2hGgc7BMUg4nQPHgRH4eAiCxeTBHXAfExnBk+kIWAON7zwoCRgZw02zmQg6
AYigsuE5DBYHCAQbGx11CwIBGwQIBxYSBxsBExQZHj0EFBMBBAcSkZoABhgekhgGABSeEhwLEaQD
shOyA6gRCwoYGgsDFg8KGgcGCg8WURsYFRI/ChIXus8SCh0LEhUfBgNvCQ3e3gkMAg8GIwMcEBAe
Fw0XHukcAzoGEgGJB1kBEuU6HxUYHKRxUOYiBAA7XxA8aHR0cDovL3N0YXRpYy5yZWFsb25lLmNv
bS9yb3R3L3BsYXllcmltYWdlcy9idG5faGVscF9vZmYuZ2lm1AYHCAkyMzQoTxEEamJwbGlzdDAw
1AECAwQFBgcKWSRhcmNoaXZlclgkdmVyc2lvblQkdG9wWCRvYmplY3RzXxAPTlNLZXllZEFyY2hp
dmVyEgABhqDRCAlfEBNXZWJSZXNvdXJjZVJlc3BvbnNlgAGvEB0LDCkvMDc4PFRVVldYWVpbXF1e
X1pgYWJjN2Roa1UkbnVsbN8QEA0ODxAREhMUFRYXGBkaGxwdHh8eICEeIiMkJR0mJx4oUiQ2UyQx
MFIkMlMkMTNSJDdSJDNTJDExUiQ4UiQ0UyQxNFIkOVIkMFYkY2xhc3NSJDVTJDEyUiQxEAcQAYAF
gAaAACNBpQB/RHWGAREBRBAAI0GlAH9EOnIigBwjQaUO59KRuO6AAtMqKxkhLS5XTlMuYmFzZVtO
Uy5yZWxhdGl2ZYAAgAOABF8QP2h0dHA6Ly9zdGF0aWMucmVhbG9uZS5jb20vcm90dy9wbGF5ZXJp
bWFnZXMvcGxheWxpc3RfaGVhZGVyLmdpZtIxMjM0WCRjbGFzc2VzWiRjbGFzc25hbWWjNDU2VU5T
VVJMViVOU1VSTFhOU09iamVjdFlpbWFnZS9naWbTGBkcOTo7gAeAGxDI0z0+GT9JU1pOUy5vYmpl
Y3RzV05TLmtleXOpQEFCQ0RFRkdIgBGAEoATgBSAFYAWgBeAGIAZqUpLTE1OT1BRUoAIgAmACoAL
gAyADYAOgA+AEIAaVlNlcnZlcl1MYXN0LU1vZGlmaWVkXUFjY2VwdC1SYW5nZXNaQ29ubmVjdGlv
blREYXRlXkNvbnRlbnQtTGVuZ3RoWktlZXAtQWxpdmVURXRhZ1xDb250ZW50LVR5cGVWQXBhY2hl
XxAdVGh1LCAwOCBKdW4gMjAwNiAxMDozMTowMiBHTVRVYnl0ZXNfEB1XZWQsIDAyIEF1ZyAyMDA2
IDAyOjAzOjU2IEdNVFMzMjRfEBF0aW1lb3V0PTIsIG1heD03NF8QFSI1YWNiOTEtMTQ0LWZiMGI2
NTgwItIxMmVmo2ZnNl8QE05TTXV0YWJsZURpY3Rpb25hcnlcTlNEaWN0aW9uYXJ50jEyaWqiajZf
EBlOU0hUVFBVUkxSZXNwb25zZUludGVybmFs0jEybG2jbW42XxARTlNIVFRQVVJMUmVzcG9uc2Vd
TlNVUkxSZXNwb25zZQAIABEAGwAkACkAMgBEAEkATABiAGQAhACKAK0AsAC0ALcAuwC+AMEAxQDI
AMsAzwDSANUA3ADfAOMA5gDoAOoA7ADuAPAA+QD8AP4BBwEJARIBFAEbASMBLwExATMBNQF3AXwB
hQGQAZQBmgGhAaoBtAG7Ab0BvwHBAcgB0wHbAeUB5wHpAesB7QHvAfEB8wH1AfcCAQIDAgUCBwIJ
AgsCDQIPAhECEwIVAhwCKgI4AkMCSAJXAmICZwJ0AnsCmwKhAsECxQLZAvEC9gL6AxADHQMiAyUD
QQNGA0oDXgAAAAAAAAIBAAAAAAAAAG8AAAAAAAAAAAAAAAAAAANsTxEBREdJRjg5YT0AEwCzDwAA
AAAiIiJmZma7u7uIiIiZmZnd3d1EREQzMzMRERHMzMyqqqpVVVXu7u53d3f///8h+QQBAAAPACwA
AAAAPQATAAAE8fDJSau9OOvNu/9gKI5kaZ5oqq6sqSAAcBibEQMB0VZGUvSHhyEQqAEEDwGgsJsM
lgSAQhJdFBIB3HRiQz4CiMcrhiSAZcrE4LG4MQUwAKIhjC8ZAOeyACA0EmFcRxIHeQEMbH1RDk8M
f4ESCAlJUk8ODwgBBm0FeBOcfGsHRYJeB2o3MQ5Ra30Pow8DWTGUEkc2l08FDlJUUqGvpBJdEoBP
OhOsD66wgLVKtgI2Oro2QQoJQcCwpZQLfwENCmUArTqwAIhZ43nLSFibS7Gzjg/bwkI3CEzzMTrK
zIpESQdgATR3/WLwa8KwocOHECNSiAAAO18QP2h0dHA6Ly9zdGF0aWMucmVhbG9uZS5jb20vcm90
dy9wbGF5ZXJpbWFnZXMvcGxheWxpc3RfaGVhZGVyLmdpZtQGBwgJNjc4OU8RBI5icGxpc3QwMNQB
AgMEBQYHClkkYXJjaGl2ZXJYJHZlcnNpb25UJHRvcFgkb2JqZWN0c18QD05TS2V5ZWRBcmNoaXZl
chIAAYag0QgJXxATV2ViUmVzb3VyY2VSZXNwb25zZYABrxAfCwwpLzA3ODxWV1hZWltcXV5fYGFi
Y2RlZmc3aGltcFUkbnVsbN8QEA0ODxAREhMUFRYXGBkaGxwdHh8eICEeIiMkJR0mJx4oUiQ2UyQx
MFIkMlMkMTNSJDdSJDNTJDExUiQ4UiQ0UyQxNFIkOVIkMFYkY2xhc3NSJDVTJDEyUiQxEAcQAYAF
gAaAACNBpQB/RxymIhEJWBAAI0GlAH9GcmBwgB4jQaTeFw1Vuk6AAtMqKxkhLS5XTlMuYmFzZVtO
Uy5yZWxhdGl2ZYAAgAOABF8QOmh0dHA6Ly9pbWFnZS5saXN0ZW4uY29tL2ltZy83MHg3MC83Lzkv
My8zLzg1MzM5N183MHg3MC5qcGfSMTIzNFgkY2xhc3Nlc1okY2xhc3NuYW1lozQ1NlVOU1VSTFYl
TlNVUkxYTlNPYmplY3RaaW1hZ2UvanBlZ9MYGRw5OjuAB4AdEMjTPT4ZP0pVWk5TLm9iamVjdHNX
TlMua2V5c6pAQUJDREVGR0hJgBKAE4AUgBWAFoAXgBiAGYAagBuqS0xNTk9QUVJTVIAIgAmACoAL
gAyADYAOgA+AEIARgBxWU2VydmVyXUxhc3QtTW9kaWZpZWRdQWNjZXB0LVJhbmdlc1pDb25uZWN0
aW9uVERhdGVeQ29udGVudC1MZW5ndGhURXRhZ1dYLUNhY2hlXENvbnRlbnQtVHlwZVNBZ2VWQXBh
Y2hlXxAdU2F0LCAyNCBKdW4gMjAwNiAwMDoyMzozNiBHTVRVYnl0ZXNVY2xvc2VfEB1Nb24sIDE3
IEp1bCAyMDA2IDE2OjA3OjA2IEdNVFQyMzkyXxAWIjEyN2NhMGYtOTU4LTVjMjc5MjAwIl8QGUhJ
VCBmcm9tIGltYWdlLmxpc3Rlbi5jb21UNDQzNtIxMmpro2tsNl8QE05TTXV0YWJsZURpY3Rpb25h
cnlcTlNEaWN0aW9uYXJ50jEybm+ibzZfEBlOU0hUVFBVUkxSZXNwb25zZUludGVybmFs0jEycXKj
cnM2XxARTlNIVFRQVVJMUmVzcG9uc2VdTlNVUkxSZXNwb25zZQAIABEAGwAkACkAMgBEAEkATABi
AGQAhgCMAK8AsgC2ALkAvQDAAMMAxwDKAM0A0QDUANcA3gDhAOUA6ADqAOwA7gDwAPIA+wD+AQAB
CQELARQBFgEdASUBMQEzATUBNwF0AXkBggGNAZEBlwGeAacBsgG5AbsBvQG/AcYB0QHZAeQB5gHo
AeoB7AHuAfAB8gH0AfYB+AIDAgUCBwIJAgsCDQIPAhECEwIVAhcCGQIgAi4CPAJHAkwCWwJgAmgC
dQJ5AoACoAKmAqwCzALRAuoDBgMLAxADFAMqAzcDPAM/A1sDYANkA3gAAAAAAAACAQAAAAAAAAB0
AAAAAAAAAAAAAAAAAAADhk8RCVj/2P/gABBKRklGAAEBAQBIAEgAAP/bAEMABgQFBgUEBgYFBgcH
BggKEAoKCQkKFA4PDBAXFBgYFxQWFhodJR8aGyMcFhYgLCAjJicpKikZHy0wLSgwJSgpKP/bAEMB
BwcHCggKEwoKEygaFhooKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgo
KCgoKCgoKP/AABEIAEYARgMBEQACEQEDEQH/xAAcAAACAgMBAQAAAAAAAAAAAAAEBwMFAgYIAAH/
xAA5EAABAwIFAQYEAgkFAAAAAAABAgMEBREABhIhMUEHExQiUWEIMnGBI5EVFkJSYmNyocEkQ2Sx
8f/EABkBAAMBAQEAAAAAAAAAAAAAAAABAgMEBf/EACkRAAICAQMEAQMFAQAAAAAAAAABAhEDEiEx
BBMiQVFhsdEFMnHB4fD/2gAMAwEAAhEDEQA/AHwEjQAdtsbmJKhPG56dcIDzQtXQP+Een8wYAJKn
NjU5oOzHQ2i+3qfU/QeuIyZY4lqkbYcM80tMASjVhiuRxKpXdv04qUnxKXgdRHRKRe/3IxOLL3d0
ti8+DseMnv8AT8/4W5BuMbHOC1lN6NUfXwzvT+A4VgWKvOlB51AH+2ADAgb8YBgIb2HOFYjIN77e
uGBS1yrIpFSW4lKHXxE0BOrZJ16vN9t7YwzZ1j29nV03SSz7vaPz+CGk0Fc+TFq+YS47OQoOssFR
CGuqSpI2KutuBttfEY8Lfnk3ZefqUk8WHaP3NjixI8OMGIcdmMyCVBtlsISCTcmw2uTvjpSS4ONt
ydthChcpN8MRDOTqp81JN9TDg/NJwgCIx1woy/VpBv8AVIwIZjrSbhIUv3SL/wB8MARKCkDQQR+6
r/B/9xIiuzNWm6Bl2o1RxJ1RWStKCOVbAexFyMTOWmLZpih3JqD9i77P5LNbdqNdq8hX6OgNqmPl
weZwi53HoNN7fQY4sMNU7l6PW6zJ2oLHj9gMrt7b1rkRsvEQAvR30qXoVqIuAdKSlJtva5x1d13S
R5q6d1Yxcg51pudoDrtNStqSxpL0dSgvSDwpKhspO3OxHUYuM9RlKDibQtYSQCbq9BucWQYyO8XH
eASEAtqG+54PTAB6mgOUmAtwFRLDR83HyDpxgQwrf0wABFFkixwhCC+JTtKYpEmNlSAoSFkF6ppQ
d29h3Tf1/bI/pxM46o0b9PJY5qbQn6Vn1+e3Iob8x2iZfnBDcp5hvvHikX+Y3HkOrzAdAOd8ZLG8
cW47s6nljnmteyQwp2U8r5fYjx1T5fhHHG31d5JSUurA2WNrWItuOmODuzm7a3PYWLHjjpjxyE0n
I0evdpKVnMUvKiroVFgstmNIfbtchldxseQSCbHjbHZ08ZRj5Hl/qGTHOXh65+DptSLX0pCRfi2O
o8o+lFyR6i2GBBQz3lDppBJvGaG/9IGFwNC+mdtGWI06VGbjVeWI7y2FPMsoCFKQopVp1LBIBBF7
YpRbButjY875sjZUylU68qM8+1Cb1oK/w0OOE6UIF9zdRA2GOeOXW6inXzx9y1jrlnANRkv1GfIl
zXC7JkOrfecPK1qJKj+ZONy6MWUgHTe18A0dY/Co7EqeR5seXR2S9TpYbE51Ac77UCoJBULp7sEC
wNrEHqcQ4pOyJzlxY087w6VJy46xWoTdQZWtLcWK85pWuQrZtLTnzNqv+0D5QCeBgSrghMCyfFr+
WqPSKdmSrM11ThSyqWLpdbcIPlF93Wxxq2WBuRa9i3Y3T4LfNea6Dk6ImbmWqxoDJ3QlxV3HLdEI
F1K+ww7Jo5rzh8RVSTSGKZkqGmmtMtJbNQnBK3lWAF0NbpTxyrVsehw6Y40LnJaZRRMmTHXXES19
9+JsVLJJUr73xpD5Fkr0Pf4y6uqNlnLtHQo/62Y5JXbqllAAB+7oP2xjEuKOT72G3TFlh1Fps2uV
mDTKSwqRPlOBlppI5Uep9ha5PQAnA3QWd55Cy7TuzzJUKjuz4yRGQp6VKeWloOOKV53Dc7JuQB7B
IxG73Mnuxfxu1DLEipnNOZpvhmmVv06k05uzzqUHTredbB1FTpFk+XSEJ5uonEybTSqy4xTTd0ar
mjthrNSdUzkqkMZdYc8qZj7CHJzoNvlbA0o6ix1HjjGqg/ZnqS4FHm2O5EYlTqpPLlfdKCDNkF6Y
55he430DTf5tOww20lsUk29w8op5fK9EQL1XuW0/5GKtGaTWwZ4llX+82fqsYLQqYH8Qmb284dpD
zzN0QKew3BY5upIJUpRF+SVHjoE9cc+OWqNnUlvuLxxtt197wybNaz3ZUux0329+MNSpKzaWNSm9
HFuv4L/IU6VlvOFOq8aY3EfilZQ82A4UXQU2KSLEEEg+xPHOJnN14rcqHT6pVN7Da7Ws2KzzVwqj
MqXT347bLDjTaFPsqGpa0eW5AK0o2VYG/tjow54PBKD2lfH9/U5s3R5Mc1Jbr6f9sL9cKnUJqE7V
JK3KilIcfZiWekKdtuFPE6UJF7W830wlPQuDJQ1vkpMwZ3qNvC0gMUphxH4nhV63jfot4+a/qE2G
IbspJLg0/uwQVrUVqO5JwiqLD9ZawjZNRfI/iIP/AGMGpk6UW0bOaksoRJilxaUgFYcA1H1tp2w1
MWlGWfG/CZrqKS42S65rUlCwrSSPlJ9Mc+FeCOjUlsU+l4ICktK0W5SMa6R91EPjCkkAqB9LWwqK
WX4PonOFXlJB9jvgoazSQaXFFnRLSHv5ZOyevPrilBLkzlnctti7GXaLIZbcbcW1rSFae84v03Bw
1FszbiiNeVIhSEtT1i/AJSf8DBpkLVEDlZRbYDanKo02latN1sqIT7kpvthOLXIrT4BP1ZSp4NtV
uiqGnVrVJ0Ab8eYDfEt0VRfu0mJU5TipaHA+sBfeocPBG1wQRf8ALExTii4pSB6VQo8lM9oLWCwl
Ciu9jusDa3scU7BJcB0fJ1Lemhl1+cspbeccVrSNkBJFhpP73r0xnKUqtBKCTMe0LLNMyjVYcCAJ
Tk0seIddddSW9Cz5AhISCFWBuSSN9vXGmNtq2Zs1JazpURzbFiLVMiAyhlqQmYXE3SstqTbjy2B9
+cNqXoQOZlPKkKSJxQNQXdaQeNiNsLyHRI3PpyVtkKqC2hfvAsoudtrffCqXugW3BBUJ1PkIR4GM
53gJKvEhJFva2BJr9w22z//ZXxA6aHR0cDovL2ltYWdlLmxpc3Rlbi5jb20vaW1nLzcweDcwLzcv
OS8zLzMvODUzMzk3XzcweDcwLmpwZ1ppbWFnZS9qcGVn1AYHCAk7PD0oTxEEamJwbGlzdDAw1AEC
AwQFBgcKWSRhcmNoaXZlclgkdmVyc2lvblQkdG9wWCRvYmplY3RzXxAPTlNLZXllZEFyY2hpdmVy
EgABhqDRCAlfEBNXZWJSZXNvdXJjZVJlc3BvbnNlgAGvEB0LDCkvMDc4PFRVVldYWVpbXF1eX1pg
YWJjN2Roa1UkbnVsbN8QEA0ODxAREhMUFRYXGBkaGxwdHh8eICEeIiMkJR0mJx4oUiQ2UyQxMFIk
MlMkMTNSJDdSJDNTJDExUiQ4UiQ0UyQxNFIkOVIkMFYkY2xhc3NSJDVTJDEyUiQxEAcQAYAFgAaA
ACNBpQB/P0bf5xEEUBAAI0GlAH87zclggBwjQaUO58rtT9+AAtMqKxkhLS5XTlMuYmFzZVtOUy5y
ZWxhdGl2ZYAAgAOABF8QPWh0dHA6Ly9zdGF0aWMucmVhbG9uZS5jb20vcm90dy9wbGF5ZXJpbWFn
ZXMvYnRuX3BhdXNlX29mZi5naWbSMTIzNFgkY2xhc3Nlc1okY2xhc3NuYW1lozQ1NlVOU1VSTFYl
TlNVUkxYTlNPYmplY3RZaW1hZ2UvZ2lm0xgZHDk6O4AHgBsQyNM9Phk/SVNaTlMub2JqZWN0c1dO
Uy5rZXlzqUBBQkNERUZHSIARgBKAE4AUgBWAFoAXgBiAGalKS0xNTk9QUVKACIAJgAqAC4AMgA2A
DoAPgBCAGlZTZXJ2ZXJdTGFzdC1Nb2RpZmllZF1BY2NlcHQtUmFuZ2VzWkNvbm5lY3Rpb25URGF0
ZV5Db250ZW50LUxlbmd0aFpLZWVwLUFsaXZlVEV0YWdcQ29udGVudC1UeXBlVkFwYWNoZV8QHVRo
dSwgMDggSnVuIDIwMDYgMTA6MzE6MDIgR01UVWJ5dGVzXxAdV2VkLCAwMiBBdWcgMjAwNiAwMjow
Mzo1NCBHTVRUMTEwNF8QEXRpbWVvdXQ9MiwgbWF4PTg4XxAWIjE1ODBjYjgtNDUwLWZiMGI2NTgw
ItIxMmVmo2ZnNl8QE05TTXV0YWJsZURpY3Rpb25hcnlcTlNEaWN0aW9uYXJ50jEyaWqiajZfEBlO
U0hUVFBVUkxSZXNwb25zZUludGVybmFs0jEybG2jbW42XxARTlNIVFRQVVJMUmVzcG9uc2VdTlNV
UkxSZXNwb25zZQAIABEAGwAkACkAMgBEAEkATABiAGQAhACKAK0AsAC0ALcAuwC+AMEAxQDIAMsA
zwDSANUA3ADfAOMA5gDoAOoA7ADuAPAA+QD8AP4BBwEJARIBFAEbASMBLwExATMBNQF1AXoBgwGO
AZIBmAGfAagBsgG5AbsBvQG/AcYB0QHZAeMB5QHnAekB6wHtAe8B8QHzAfUB/wIBAgMCBQIHAgkC
CwINAg8CEQITAhoCKAI2AkECRgJVAmACZQJyAnkCmQKfAr8CxALYAvEC9gL6AxADHQMiAyUDQQNG
A0oDXgAAAAAAAAIBAAAAAAAAAG8AAAAAAAAAAAAAAAAAAANsTxEEUEdJRjg5YRsAJgDmfwCFhYWh
oaFubm6Tk5O6uro0NDSysrJkZGR7e3t1dXU+Pj5SUlJNTU1VVVUlJSVHR0dBQUFQUFD////z8/P5
+fnk5OT29vajo6OdnZ39/f3w8PCxsbHBwcHKysrm5ubT09Pp6enOzs6pqanU1NTf39/AwMDt7e3a
2trj4+Pg4ODc3NzZ2dnExMS5ubnR0dHIyMi/v7/V1dXX19fi4uLY2NiMjIxcXFy4uLjMzMzn5+ef
n5+BgYHb29umpqbs7OyioqLv7++2trbl5eXW1tZ5eXnHx8ekpKSlpaW8vLx8fHy0tLS3t7f8/Pze
3t5nZ2f6+vro6OioqKiAgICurq59fX2IiIhzc3P09PSZmZl4eHirq6uJiYmKioqGhoby8vKQkJDh
4eHNzc1sbGxZWVnS0tKwsLDd3d2cnJz19fXu7u7Q0NCVlZXJycnGxsa9vb1gYGCtra2qqqqLi4vC
wsJoaGgsLCzx8fGOjo5/f3/4+PiDg4M6Ojq1tbXFxcX7+/v///8h+QQBAAB/ACwAAAAAGwAmAAAH
/4B/goOEhYaHiImKi4yNjo+QiCQdG1EBWAFRGx0kjidBGKGioxhBJ4ozMEcXrK2urUcwM4dNSiK3
IgA2CgUOBQo2ALgiSk2FKTcbyjUKCm9EO3c7RG/NNcobNymDKCwtLUsHCmIDJTMUEhQzJQNiCgdL
3ywogmocHDANC19GYBP/ACeAMfJlwQIY99T8mdShg4AFa86oQFGhosUKKFScWbNAQMMOf2h8+NAD
wgAsJWTQWLHihEuWNGRwwDIAQo+RGVWoeGAFg44QH0bEGDJEBtEYIz6E0IHBygOdFpdA0PGjBw4X
cJwgkCGDjxMrI1zg6PFDB4QlFUD48CGFzpE4U/+UuPkhIMm9KAKylHCjZEqcIwf0+LDzj0ENLRuC
ICnRI8GOhmUSJGFRAkmQDVpqMJiQhwKFPToMtIDBgg2cLF3IkAmSZQcONixgtDDwowCFDLjrTCHA
ochVAwi4sESCAEBYHEU4ENjgALcECQq0cHgBlMaNJHKaNCmRpAsPkSFecChTQIKf5w0CFAkR44QZ
AghqzJgxp3gKMydihCjyY4EEC89tgQd7PJCAAhJEyOGBBywQAQBGJPCgHxU1SADEc2FEMAIPKVSQ
AwwJVAECCH04BkUOFaTAwwgRhCFBDs9lkF4KHqhVwQg0mGCCECPIYIIPIHiQQgANZCDBHwBK0Iat
DSSAYAIQGkQppZRAmAACCTa08dwfIDwnARdUmKCBFwGV6YUGJlDBhZeCXBGjAFIAgYYFdNZZJxpA
SCGAkRJcIYgQ6EiQQRUH3ODZoYjecEAVfFIgxCAeMOHlC2M4YYQLHlDggQtGODHGC14y4UEhOTzh
pQQvbGHDAwU8YMMWoHr5RA6HCDHBqbjmesWjiUCRZK5eWgCFIx6kYcETkjLxhAVpjBrJs9BGKy20
gQAAO18QPWh0dHA6Ly9zdGF0aWMucmVhbG9uZS5jb20vcm90dy9wbGF5ZXJpbWFnZXMvYnRuX3Bh
dXNlX29mZi5naWbUBgcICT9AQShPEQRoYnBsaXN0MDDUAQIDBAUGBwpZJGFyY2hpdmVyWCR2ZXJz
aW9uVCR0b3BYJG9iamVjdHNfEA9OU0tleWVkQXJjaGl2ZXISAAGGoNEICV8QE1dlYlJlc291cmNl
UmVzcG9uc2WAAa8QHQsMKS8wNzg8VFVWV1hZWltcXV5fWmBhYmM3ZGhrVSRudWxs3xAQDQ4PEBES
ExQVFhcYGRobHB0eHx4gIR4iIyQlHSYnHihSJDZTJDEwUiQyUyQxM1IkN1IkM1MkMTFSJDhSJDRT
JDE0UiQ5UiQwViRjbGFzc1IkNVMkMTJSJDEQBxABgAWABoAAI0GlAH8+iAcUEQNaEAAjQaUAfzvM
nZ2AHCNBpQ7ny6r874AC0yorGSEtLldOUy5iYXNlW05TLnJlbGF0aXZlgACAA4AEXxA8aHR0cDov
L3N0YXRpYy5yZWFsb25lLmNvbS9yb3R3L3BsYXllcmltYWdlcy9idG5fcGxheV9vZmYuZ2lm0jEy
MzRYJGNsYXNzZXNaJGNsYXNzbmFtZaM0NTZVTlNVUkxWJU5TVVJMWE5TT2JqZWN0WWltYWdlL2dp
ZtMYGRw5OjuAB4AbEMjTPT4ZP0lTWk5TLm9iamVjdHNXTlMua2V5c6lAQUJDREVGR0iAEYASgBOA
FIAVgBaAF4AYgBmpSktMTU5PUFFSgAiACYAKgAuADIANgA6AD4AQgBpWU2VydmVyXUxhc3QtTW9k
aWZpZWRdQWNjZXB0LVJhbmdlc1pDb25uZWN0aW9uVERhdGVeQ29udGVudC1MZW5ndGhaS2VlcC1B
bGl2ZVRFdGFnXENvbnRlbnQtVHlwZVZBcGFjaGVfEB1UaHUsIDA4IEp1biAyMDA2IDEwOjMxOjAy
IEdNVFVieXRlc18QHVdlZCwgMDIgQXVnIDIwMDYgMDI6MDM6NTQgR01UUzg1OF8QEXRpbWVvdXQ9
MiwgbWF4PTkxXxAWIjE1ODBjYmMtMzVhLWZiMGI2NTgwItIxMmVmo2ZnNl8QE05TTXV0YWJsZURp
Y3Rpb25hcnlcTlNEaWN0aW9uYXJ50jEyaWqiajZfEBlOU0hUVFBVUkxSZXNwb25zZUludGVybmFs
0jEybG2jbW42XxARTlNIVFRQVVJMUmVzcG9uc2VdTlNVUkxSZXNwb25zZQAIABEAGwAkACkAMgBE
AEkATABiAGQAhACKAK0AsAC0ALcAuwC+AMEAxQDIAMsAzwDSANUA3ADfAOMA5gDoAOoA7ADuAPAA
+QD8AP4BBwEJARIBFAEbASMBLwExATMBNQF0AXkBggGNAZEBlwGeAacBsQG4AboBvAG+AcUB0AHY
AeIB5AHmAegB6gHsAe4B8AHyAfQB/gIAAgICBAIGAggCCgIMAg4CEAISAhkCJwI1AkACRQJUAl8C
ZAJxAngCmAKeAr4CwgLWAu8C9AL4Aw4DGwMgAyMDPwNEA0gDXAAAAAAAAAIBAAAAAAAAAG8AAAAA
AAAAAAAAAAAAAANqTxEDWkdJRjg5YSMAJgDEHwDDw8Pl5eWzs7NZWVny8vL5+fnLy8v19fWUlJTY
2Njh4eGrq6u6urqcnJxzc3PV1dUxMTGBgYHq6urR0dF5eXn///9kZGSlpaWKiopsbGygoKDu7u7e
3t7c3NxCQkL///8h+QQBAAAfACwAAAAAIwAmAAAF/+AnjqTIAcyyNI3KAFwpz6ICrGyuswug0LMA
4KIpGo9IzQUQAI44gotUGhl4PBDIdRCZSgUx4EOgWg20AwoFg1FbIYOWSvCgTQT4hQWOQfgbUg1+
CBhnFgt4AhMyCYkXHgN9CAIJBAWXBQSNfoUeF4kJJCcMDBpwfhodG6usrR0afmcapDAiAQYAAAIQ
Fn4XHAHBwsPBHBd+ewK5Bk0JBriQCA0aDxzWHArZ2tccDxqCVgDPCQET5hRx0wwJCR0d3Nzu7KUs
aeYT3Q8AENJKE+zu4F2Tl2ACEUEQADyoZs2BBSUqHgC8pk3BQHYPVBCx4MBasAQQACGik4ADhQYJ
Kv9WtJZgDJkLDSCQkyDhwoALiGhNeJBhwAAEBjBKbPlgAgoGL29KWOXAQc5lBiY48DnAAoagRIs+
y4V0QVMJBw5EEvBC3M4HFCyoVRsJADuiE3ChEFBowyUIF8pGldghbQYHGTKwjQBAnlauFyAcuKtM
HF9rEf42bSrYQhoGHDq0lLurQIUKEF5EbXctsgM1agAL9pmhcEFcDCB8ruBBwOh32kxTiJAasGXC
FjXHFeBh9gANBiRiUxBMN2rKQINl47BZw4DZETD8wzbMOYWmDR4QC2CxIIYIswVYeNCBeXfJTS90
GC9MQYcHFgTMPgABXzCaNEVgQQYUCBAAgAgCWMzXBIrNVkF2zCX4nQAJVqigAmx8RsBnEsi0VCsG
tCLiiBtIAJIEnwUwGwIRLEXAizDGKKOMJUaAwGwfbFhBAT/N6OOPBCAwgGcVEPBBAEQq4ElYTDbp
5JOPKPBZAU0cOdsDHiCwGCZcdonJAQh48MBsVYqAIoeRSODlmgVIUMiZFUggwwazFRAmAnaxWcAG
dxJZwQY0qDmbBBF4kMEFC12y0AUZeNBinXICgaSDBQBQyBlwtOXnjmVKqqODoIZaZKdOHGmJqKBm
QmqpJASwwZZTFnDABquWEAIAO18QPGh0dHA6Ly9zdGF0aWMucmVhbG9uZS5jb20vcm90dy9wbGF5
ZXJpbWFnZXMvYnRuX3BsYXlfb2ZmLmdpZtQGBwgJQ0RFKE8RBHBicGxpc3QwMNQBAgMEBQYHClkk
YXJjaGl2ZXJYJHZlcnNpb25UJHRvcFgkb2JqZWN0c18QD05TS2V5ZWRBcmNoaXZlchIAAYag0QgJ
XxATV2ViUmVzb3VyY2VSZXNwb25zZYABrxAdCwwpLzA3ODxUVVZXWFlaW1xdXl9aYGFiYzdkaGtV
JG51bGzfEBANDg8QERITFBUWFxgZGhscHR4fHiAhHiIjJCUdJiceKFIkNlMkMTBSJDJTJDEzUiQ3
UiQzUyQxMVIkOFIkNFMkMTRSJDlSJDBWJGNsYXNzUiQ1UyQxMlIkMRAHEAGABYAGgAAjQaUAfz8B
EIARAmIQACNBpQB/O82lmIAcI0GlDufLMvt+gALTKisZIS0uV05TLmJhc2VbTlMucmVsYXRpdmWA
AIADgARfEERodHRwOi8vc3RhdGljLnJlYWxvbmUuY29tL3JvdHcvcGxheWVyaW1hZ2VzL2J0bl9w
cmV2aW91c19kaXNhYmxlLmdpZtIxMjM0WCRjbGFzc2VzWiRjbGFzc25hbWWjNDU2VU5TVVJMViVO
U1VSTFhOU09iamVjdFlpbWFnZS9naWbTGBkcOTo7gAeAGxDI0z0+GT9JU1pOUy5vYmplY3RzV05T
LmtleXOpQEFCQ0RFRkdIgBGAEoATgBSAFYAWgBeAGIAZqUpLTE1OT1BRUoAIgAmACoALgAyADYAO
gA+AEIAaVlNlcnZlcl1MYXN0LU1vZGlmaWVkXUFjY2VwdC1SYW5nZXNaQ29ubmVjdGlvblREYXRl
XkNvbnRlbnQtTGVuZ3RoWktlZXAtQWxpdmVURXRhZ1xDb250ZW50LVR5cGVWQXBhY2hlXxAdVGh1
LCAwOCBKdW4gMjAwNiAxMDozMTowMiBHTVRVYnl0ZXNfEB1XZWQsIDAyIEF1ZyAyMDA2IDAyOjAz
OjU0IEdNVFM2MTBfEBF0aW1lb3V0PTIsIG1heD04OV8QFiIxNTgwY2MzLTI2Mi1mYjBiNjU4MCLS
MTJlZqNmZzZfEBNOU011dGFibGVEaWN0aW9uYXJ5XE5TRGljdGlvbmFyedIxMmlqomo2XxAZTlNI
VFRQVVJMUmVzcG9uc2VJbnRlcm5hbNIxMmxto21uNl8QEU5TSFRUUFVSTFJlc3BvbnNlXU5TVVJM
UmVzcG9uc2UACAARABsAJAApADIARABJAEwAYgBkAIQAigCtALAAtAC3ALsAvgDBAMUAyADLAM8A
0gDVANwA3wDjAOYA6ADqAOwA7gDwAPkA/AD+AQcBCQESARQBGwEjAS8BMQEzATUBfAGBAYoBlQGZ
AZ8BpgGvAbkBwAHCAcQBxgHNAdgB4AHqAewB7gHwAfIB9AH2AfgB+gH8AgYCCAIKAgwCDgIQAhIC
FAIWAhgCGgIhAi8CPQJIAk0CXAJnAmwCeQKAAqACpgLGAsoC3gL3AvwDAAMWAyMDKAMrA0cDTANQ
A2QAAAAAAAACAQAAAAAAAABvAAAAAAAAAAAAAAAAAAADck8RAmJHSUY4OWEaACYAxB8Aqampo6Oj
aGho5ubmVlZWnZ2d2dnZ7e3t4ODg0tLS1dXV3d3dNjY2eXl5ycnJvr6+wcHBxcXFtLS0Q0ND9vb2
i4uLsLCwzc3NuLi4////goKCk5OT+fn5/Pz88vLy////IfkEAQAAHwAsAAAAABoAJgAABf/gJ45k
aZ5oqq5s676wiDgWEBQBYDlIa0iFoHBYkBhSiEdgyWw6H73SQgKoAjSECWM7IWisAMmChMBYzpXJ
RNDQVDQNgbpytmB6nUEEw5cLNhAIHBkcCBAbfnwYEQMHCRAQDwQEGwEIHpiZHggBG5MPkAkGDqQC
lAULA6qrqwsFngKkDgYJCQATGwUQBry9vgYQrxMAtQvGEw1BFwkKzQoGzrUXQQ0TxqoYEzgAyw4R
z7wK3gkXNgUTGI0HGgI5FhIPNpCQEgHwEjUBAhoHmAQVOuBBqCGLCgAMkfABSOOBAwcGRTA8iODA
TC0MEvA98PYAYwAGHDp0YGAHgoNlD4zfdFTkgJwDCGYYdMiQgQEAk8uAYVgA7IHPC7QuvLTAgGYG
AgFOPlvgAAqCGZES8FQgNAABo28uPEMwoCmrRwoGIIB2oUEFoxcIbFVFi9UAXqrGKiBwwWgHpFzV
HdjLl29cqzONRiDAda+mw3vFEohA0wPWBv0OS/ZwwKzRDBRodth3gILnz6AprBMQmMKHAYMydKgg
AIPD17AxCKgQmMMAEQMCZ3BAoF0C1AMS6CPgwO7tEagvO6iQhUGXCsWN2jYxwPHl69cpHD8xIDP2
y9pbNKIQUjUH0dtjqF/Pvn2LEAA7XxBEaHR0cDovL3N0YXRpYy5yZWFsb25lLmNvbS9yb3R3L3Bs
YXllcmltYWdlcy9idG5fcHJldmlvdXNfZGlzYWJsZS5naWbUBgcICUdISShPEQRsYnBsaXN0MDDU
AQIDBAUGBwpZJGFyY2hpdmVyWCR2ZXJzaW9uVCR0b3BYJG9iamVjdHNfEA9OU0tleWVkQXJjaGl2
ZXISAAGGoNEICV8QE1dlYlJlc291cmNlUmVzcG9uc2WAAa8QHQsMKS8wNzg8VFVWV1hZWltcXV5f
WmBhYmM3ZGhrVSRudWxs3xAQDQ4PEBESExQVFhcYGRobHB0eHx4gIR4iIyQlHSYnHihSJDZTJDEw
UiQyUyQxM1IkN1IkM1MkMTFSJDhSJDRTJDE0UiQ5UiQwViRjbGFzc1IkNVMkMTJSJDEQBxABgAWA
BoAAI0GlAH8+wTEjEQJzEAAjQaUAfzvNVDOAHCNBpQ7ny3KJdoAC0yorGSEtLldOUy5iYXNlW05T
LnJlbGF0aXZlgACAA4AEXxBAaHR0cDovL3N0YXRpYy5yZWFsb25lLmNvbS9yb3R3L3BsYXllcmlt
YWdlcy9idG5fbmV4dF9kaXNhYmxlLmdpZtIxMjM0WCRjbGFzc2VzWiRjbGFzc25hbWWjNDU2VU5T
VVJMViVOU1VSTFhOU09iamVjdFlpbWFnZS9naWbTGBkcOTo7gAeAGxDI0z0+GT9JU1pOUy5vYmpl
Y3RzV05TLmtleXOpQEFCQ0RFRkdIgBGAEoATgBSAFYAWgBeAGIAZqUpLTE1OT1BRUoAIgAmACoAL
gAyADYAOgA+AEIAaVlNlcnZlcl1MYXN0LU1vZGlmaWVkXUFjY2VwdC1SYW5nZXNaQ29ubmVjdGlv
blREYXRlXkNvbnRlbnQtTGVuZ3RoWktlZXAtQWxpdmVURXRhZ1xDb250ZW50LVR5cGVWQXBhY2hl
XxAdVGh1LCAwOCBKdW4gMjAwNiAxMDozMTowMiBHTVRVYnl0ZXNfEB1XZWQsIDAyIEF1ZyAyMDA2
IDAyOjAzOjU0IEdNVFM2MjdfEBF0aW1lb3V0PTIsIG1heD05MF8QFiIxNTgwY2IyLTI3My1mYjBi
NjU4MCLSMTJlZqNmZzZfEBNOU011dGFibGVEaWN0aW9uYXJ5XE5TRGljdGlvbmFyedIxMmlqomo2
XxAZTlNIVFRQVVJMUmVzcG9uc2VJbnRlcm5hbNIxMmxto21uNl8QEU5TSFRUUFVSTFJlc3BvbnNl
XU5TVVJMUmVzcG9uc2UACAARABsAJAApADIARABJAEwAYgBkAIQAigCtALAAtAC3ALsAvgDBAMUA
yADLAM8A0gDVANwA3wDjAOYA6ADqAOwA7gDwAPkA/AD+AQcBCQESARQBGwEjAS8BMQEzATUBeAF9
AYYBkQGVAZsBogGrAbUBvAG+AcABwgHJAdQB3AHmAegB6gHsAe4B8AHyAfQB9gH4AgICBAIGAggC
CgIMAg4CEAISAhQCFgIdAisCOQJEAkkCWAJjAmgCdQJ8ApwCogLCAsYC2gLzAvgC/AMSAx8DJAMn
A0MDSANMA2AAAAAAAAACAQAAAAAAAABvAAAAAAAAAAAAAAAAAAADbk8RAnNHSUY4OWEcACYAxB8A
o6Ojqqqq5eXlaGhoVlZW7e3tnZ2d2dnZ3d3d4eHh0tLS1dXVNjY2eXl5vr6+ycnJxMTEwcHB9vb2
tLS0+fn5Q0NDi4uLsLCwzc3NuLi4goKCk5OT////8vLy6Ojo////IfkEAQAAHwAsAAAAABwAJgAA
Bf/gJ45kaZ5oqq5s674wizxXABhAcD3Ie0yGoHBomBxWCQdgyWw6HQkUYhKoBjSECmNbIWisgUmv
lMhczpZKZdDQWDSNgdpyvmSiIwEkw5cPNhEJFBwUCREbfnwZEAIjChERDgQEGwAJHZiZHQkAG5MO
kAoiBw+lA5QGCAKrrKwIBp4DpTwfCwoKABUbBhEHvr/ABxGwFQC3RwjJFQ1BGLcL0AfQ0AoYQQ0V
yaqrGRU4AM4QDwu/Cw4Q1UsGFRmsBQUaAzkXEw4TABOQERA59jUAAzS884CJgAUd9SJkqDJhlo5I
E2qkyUSBAoMiGc49cEBvQoZbdh5AcJDhHoOKgzjwMLAT4YGzB4oy/nBQ7YHCCww46NTJIEBLZwcw
OBgK4QCCRQdqRsC5UycBAC7JIVAA6kGCqw54SMPwAAABnSnfYJAqYEEEBa2yCkCwtYEFnRJ0YiBA
LoEAD7486NVr1IOABNIIYNBZYOdTux7eKV488K/XnQJSQiCAIHEBTZgHIiAAAe6HwjotNLiMuXSH
Am53ehARV2fAAhJiy54tAd6AnRLypORgYUAGlMArZhjwFmwj3TsfEJCHloIAXKce7HRuwsNuDg8s
ZGHQxYL06atPCOjQtLx5CcdTeGhtHnf4FgJgVyREoXb6GPjz69/P/0MIADtfEEBodHRwOi8vc3Rh
dGljLnJlYWxvbmUuY29tL3JvdHcvcGxheWVyaW1hZ2VzL2J0bl9uZXh0X2Rpc2FibGUuZ2lm1AYH
CAlLTE0oTxEEaGJwbGlzdDAw1AECAwQFBgcKWSRhcmNoaXZlclgkdmVyc2lvblQkdG9wWCRvYmpl
Y3RzXxAPTlNLZXllZEFyY2hpdmVyEgABhqDRCAlfEBNXZWJSZXNvdXJjZVJlc3BvbnNlgAGvEB0L
DCkvMDc4PFRVVldYWVpbXF1eX1pgYWJjN2Roa1UkbnVsbN8QEA0ODxAREhMUFRYXGBkaGxwdHh8e
ICEeIiMkJR0mJx4oUiQ2UyQxMFIkMlMkMTNSJDdSJDNTJDExUiQ4UiQ0UyQxNFIkOVIkMFYkY2xh
c3NSJDVTJDEyUiQxEAcQAYAFgAaAACNBpQB/P8yuABEBjhAAI0GlAH87zmHygBwjQaUO58poGliA
AtMqKxkhLS5XTlMuYmFzZVtOUy5yZWxhdGl2ZYAAgAOABF8QPGh0dHA6Ly9zdGF0aWMucmVhbG9u
ZS5jb20vcm90dy9wbGF5ZXJpbWFnZXMvYnRuX211dGVfb2ZmLmdpZtIxMjM0WCRjbGFzc2VzWiRj
bGFzc25hbWWjNDU2VU5TVVJMViVOU1VSTFhOU09iamVjdFlpbWFnZS9naWbTGBkcOTo7gAeAGxDI
0z0+GT9JU1pOUy5vYmplY3RzV05TLmtleXOpQEFCQ0RFRkdIgBGAEoATgBSAFYAWgBeAGIAZqUpL
TE1OT1BRUoAIgAmACoALgAyADYAOgA+AEIAaVlNlcnZlcl1MYXN0LU1vZGlmaWVkXUFjY2VwdC1S
YW5nZXNaQ29ubmVjdGlvblREYXRlXkNvbnRlbnQtTGVuZ3RoWktlZXAtQWxpdmVURXRhZ1xDb250
ZW50LVR5cGVWQXBhY2hlXxAdVGh1LCAwOCBKdW4gMjAwNiAxMDozMTowMiBHTVRVYnl0ZXNfEB1X
ZWQsIDAyIEF1ZyAyMDA2IDAyOjAzOjU0IEdNVFMzOThfEBF0aW1lb3V0PTIsIG1heD04Nl8QFiIx
NTgwY2FmLTE4ZS1mYjBiNjU4MCLSMTJlZqNmZzZfEBNOU011dGFibGVEaWN0aW9uYXJ5XE5TRGlj
dGlvbmFyedIxMmlqomo2XxAZTlNIVFRQVVJMUmVzcG9uc2VJbnRlcm5hbNIxMmxto21uNl8QEU5T
SFRUUFVSTFJlc3BvbnNlXU5TVVJMUmVzcG9uc2UACAARABsAJAApADIARABJAEwAYgBkAIQAigCt
ALAAtAC3ALsAvgDBAMUAyADLAM8A0gDVANwA3wDjAOYA6ADqAOwA7gDwAPkA/AD+AQcBCQESARQB
GwEjAS8BMQEzATUBdAF5AYIBjQGRAZcBngGnAbEBuAG6AbwBvgHFAdAB2AHiAeQB5gHoAeoB7AHu
AfAB8gH0Af4CAAICAgQCBgIIAgoCDAIOAhACEgIZAicCNQJAAkUCVAJfAmQCcQJ4ApgCngK+AsIC
1gLvAvQC+AMOAxsDIAMjAz8DRANIA1wAAAAAAAACAQAAAAAAAABvAAAAAAAAAAAAAAAAAAADak8R
AY5HSUY4OWESAB0AxB8Am5ub////zs7OQ0NDMDAwhISE8vLyq6ur5eXlenp6aGho9vb2/f39cnJy
6urq4eHhvb293NzctLS019fXW1tbwcHBxcXF0NDQoaGhlZWVUVFR09PT7u7uycnJ+vr6////IfkE
AQAAHwAsAAAAABIAHQAABf/gJ45kaZ5oqq7stAkwvE3ndMU4fNGjff3A4I/n2hgBigFhoAAYjZ+J
dNKhDCgNQMNK6Ug/kXCFoAFcEOgLQEPohN9XgCVnAVAo4ccDMABIKh0QGRcdFRJ8GGgIFAkHFhsV
DQ0PgxYHCRQOmgQYFhkNCqEGBRkTFhgEHKoEEBMFoaEMBwUOExAEBrkDFQhIsAEFGAYIEAMGCwsK
BxweAROhARgeHhwHCg7TEg0GDAHOBd4BDAYNEg8MDB4UGN3h4QwACQwfBt4PZe7haw4BYO0cCRJY
4MCAg4WAHLyJQOCuQgINAzQkqOBuBIJ2+dwxQEDiQb2M3gw8OPGAw4JuDBYLcBjJoqXLlzBJhAAA
O18QPGh0dHA6Ly9zdGF0aWMucmVhbG9uZS5jb20vcm90dy9wbGF5ZXJpbWFnZXMvYnRuX211dGVf
b2ZmLmdpZtQGBwgJT1BRKE8RBGhicGxpc3QwMNQBAgMEBQYHClkkYXJjaGl2ZXJYJHZlcnNpb25U
JHRvcFgkb2JqZWN0c18QD05TS2V5ZWRBcmNoaXZlchIAAYag0QgJXxATV2ViUmVzb3VyY2VSZXNw
b25zZYABrxAdCwwpLzA3ODxUVVZXWFlaW1xdXl9aYGFiYzdkaGtVJG51bGzfEBANDg8QERITFBUW
FxgZGhscHR4fHiAhHiIjJCUdJiceKFIkNlMkMTBSJDJTJDEzUiQ3UiQzUyQxMVIkOFIkNFMkMTRS
JDlSJDBWJGNsYXNzUiQ1UyQxMlIkMRAHEAGABYAGgAAjQaUAf0CXuLIRAQEQACNBpQB/O97Pp4Ac
I0GlDufL4LCPgALTKisZIS0uV05TLmJhc2VbTlMucmVsYXRpdmWAAIADgARfED1odHRwOi8vc3Rh
dGljLnJlYWxvbmUuY29tL3JvdHcvcGxheWVyaW1hZ2VzL2J0bl92b2x1bWVfbHQuZ2lm0jEyMzRY
JGNsYXNzZXNaJGNsYXNzbmFtZaM0NTZVTlNVUkxWJU5TVVJMWE5TT2JqZWN0WWltYWdlL2dpZtMY
GRw5OjuAB4AbEMjTPT4ZP0lTWk5TLm9iamVjdHNXTlMua2V5c6lAQUJDREVGR0iAEYASgBOAFIAV
gBaAF4AYgBmpSktMTU5PUFFSgAiACYAKgAuADIANgA6AD4AQgBpWU2VydmVyXUxhc3QtTW9kaWZp
ZWRdQWNjZXB0LVJhbmdlc1pDb25uZWN0aW9uVERhdGVeQ29udGVudC1MZW5ndGhaS2VlcC1BbGl2
ZVRFdGFnXENvbnRlbnQtVHlwZVZBcGFjaGVfEB1UaHUsIDA4IEp1biAyMDA2IDEwOjMxOjAyIEdN
VFVieXRlc18QHVdlZCwgMDIgQXVnIDIwMDYgMDI6MDM6NTUgR01UUzI1N18QEXRpbWVvdXQ9Miwg
bWF4PTg0XxAVIjc4ZDFmYS0xMDEtZmIwYjY1ODAi0jEyZWajZmc2XxATTlNNdXRhYmxlRGljdGlv
bmFyeVxOU0RpY3Rpb25hcnnSMTJpaqJqNl8QGU5TSFRUUFVSTFJlc3BvbnNlSW50ZXJuYWzSMTJs
baNtbjZfEBFOU0hUVFBVUkxSZXNwb25zZV1OU1VSTFJlc3BvbnNlAAgAEQAbACQAKQAyAEQASQBM
AGIAZACEAIoArQCwALQAtwC7AL4AwQDFAMgAywDPANIA1QDcAN8A4wDmAOgA6gDsAO4A8AD5APwA
/gEHAQkBEgEUARsBIwEvATEBMwE1AXUBegGDAY4BkgGYAZ8BqAGyAbkBuwG9Ab8BxgHRAdkB4wHl
AecB6QHrAe0B7wHxAfMB9QH/AgECAwIFAgcCCQILAg0CDwIRAhMCGgIoAjYCQQJGAlUCYAJlAnIC
eQKZAp8CvwLDAtcC7wL0AvgDDgMbAyADIwM/A0QDSANcAAAAAAAAAgEAAAAAAAAAbwAAAAAAAAAA
AAAAAAAAA2pPEQEBR0lGODlhBwAdAMQfAKmpqdPT03BwcKOjo8rKyiYmJpOTk8/Pz+Tk5MXFxZyc
nLGxseHh4bq6uouLi9nZ2dzc3NXV1e/v74WFhV1dXevr60NDQ8HBwTExMR4eHv////39/fn5+fPz
87a2tv///yH5BAEAAB8ALAAAAAAHAB0AAAV+4Cd+TwOMyaAooje8w5cA9GQxSy5g1NE0hoxgQrhc
LBTHgsAsTByEgDRjMAQg2IxikEB4M4OFp0LOLBqJjrqAPnDehcsBsqkXCA+EZl+YV/YaBQEMEoCC
CIV8EYiGi4mBjoAYBIx7FAqVGgQYB48aChQngJoCIqMaI6MjH4AhADtfED1odHRwOi8vc3RhdGlj
LnJlYWxvbmUuY29tL3JvdHcvcGxheWVyaW1hZ2VzL2J0bl92b2x1bWVfbHQuZ2lm1AYHCAlTVFUo
TxEEZ2JwbGlzdDAw1AECAwQFBgcKWSRhcmNoaXZlclgkdmVyc2lvblQkdG9wWCRvYmplY3RzXxAP
TlNLZXllZEFyY2hpdmVyEgABhqDRCAlfEBNXZWJSZXNvdXJjZVJlc3BvbnNlgAGvEB0LDCkvMDc4
PFRVVldYWVpbXF1eX1pgYWJjN2Roa1UkbnVsbN8QEA0ODxAREhMUFRYXGBkaGxwdHh8eICEeIiMk
JR0mJx4oUiQ2UyQxMFIkMlMkMTNSJDdSJDNTJDExUiQ4UiQ0UyQxNFIkOVIkMFYkY2xhc3NSJDVT
JDEyUiQxEAcQAYAFgAaAACNBpQB/QDcfeREBaBAAI0GlAH873u0kgBwjQaUO58xBZ0WAAtMqKxkh
LS5XTlMuYmFzZVtOUy5yZWxhdGl2ZYAAgAOABF8QO2h0dHA6Ly9zdGF0aWMucmVhbG9uZS5jb20v
cm90dy9wbGF5ZXJpbWFnZXMvYnRuX3ZvbHVtZTEuZ2lm0jEyMzRYJGNsYXNzZXNaJGNsYXNzbmFt
ZaM0NTZVTlNVUkxWJU5TVVJMWE5TT2JqZWN0WWltYWdlL2dpZtMYGRw5OjuAB4AbEMjTPT4ZP0lT
Wk5TLm9iamVjdHNXTlMua2V5c6lAQUJDREVGR0iAEYASgBOAFIAVgBaAF4AYgBmpSktMTU5PUFFS
gAiACYAKgAuADIANgA6AD4AQgBpWU2VydmVyXUxhc3QtTW9kaWZpZWRdQWNjZXB0LVJhbmdlc1pD
b25uZWN0aW9uVERhdGVeQ29udGVudC1MZW5ndGhaS2VlcC1BbGl2ZVRFdGFnXENvbnRlbnQtVHlw
ZVZBcGFjaGVfEB1UaHUsIDA4IEp1biAyMDA2IDEwOjMxOjAyIEdNVFVieXRlc18QHVdlZCwgMDIg
QXVnIDIwMDYgMDI6MDM6NTUgR01UUzM2MF8QEXRpbWVvdXQ9MiwgbWF4PTg0XxAWIjE1ODBjZDct
MTY4LWZiMGI2NTgwItIxMmVmo2ZnNl8QE05TTXV0YWJsZURpY3Rpb25hcnlcTlNEaWN0aW9uYXJ5
0jEyaWqiajZfEBlOU0hUVFBVUkxSZXNwb25zZUludGVybmFs0jEybG2jbW42XxARTlNIVFRQVVJM
UmVzcG9uc2VdTlNVUkxSZXNwb25zZQAIABEAGwAkACkAMgBEAEkATABiAGQAhACKAK0AsAC0ALcA
uwC+AMEAxQDIAMsAzwDSANUA3ADfAOMA5gDoAOoA7ADuAPAA+QD8AP4BBwEJARIBFAEbASMBLwEx
ATMBNQFzAXgBgQGMAZABlgGdAaYBsAG3AbkBuwG9AcQBzwHXAeEB4wHlAecB6QHrAe0B7wHxAfMB
/QH/AgECAwIFAgcCCQILAg0CDwIRAhgCJgI0Aj8CRAJTAl4CYwJwAncClwKdAr0CwQLVAu4C8wL3
Aw0DGgMfAyIDPgNDA0cDWwAAAAAAAAIBAAAAAAAAAG8AAAAAAAAAAAAAAAAAAANpTxEBaEdJRjg5
YQgAHQDVOAD////8/Pz39/fY2Nijo6OdnZ2ZmZkZGRnb29vn5+f9/f0zMzOBgYHS0tLv7++2trbl
5eXIyMjW1ta1tbXX19f29vbHx8fy8vLk5OTQ0NDR0dGAgID19fX+/v7i4uL7+/ve3t7u7u4yMjIo
KCjFxcXc3Nzt7e11dXW+vr5ERES3t7fr6+va2tq8vLzBwcGampr6+vrj4+PU1NTLy8vp6emzs7PV
1dXZ2dn///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAh+QQBAAA4ACwAAAAACAAdAAAGhcCXYUg0FI7I
I2HJXI4O0OjhtNkwrldVKcHt3liIsDiT0TTOZ5tEQhm4B6hHbTJ52FsuksUS6c80MmxvAyAeGBgQ
iTE0JiEOjw4rFxwVApYCFwIfAZycHB8dHQCjABUBpKQCATisOKOqra4AsK2vq7Wzp6i5uwAeMArB
wikiC8bHvcnKpEEAO18QO2h0dHA6Ly9zdGF0aWMucmVhbG9uZS5jb20vcm90dy9wbGF5ZXJpbWFn
ZXMvYnRuX3ZvbHVtZTEuZ2lm1AYHCAlXWFkoTxEEZGJwbGlzdDAw1AECAwQFBgcKWSRhcmNoaXZl
clgkdmVyc2lvblQkdG9wWCRvYmplY3RzXxAPTlNLZXllZEFyY2hpdmVyEgABhqDRCAlfEBNXZWJS
ZXNvdXJjZVJlc3BvbnNlgAGvEB0LDCkvMDc4PFRVVldYWVpbXF1eX1pgYWJjN2Roa1UkbnVsbN8Q
EA0ODxAREhMUFRYXGBkaGxwdHh8eICEeIiMkJR0mJx4oUiQ2UyQxMFIkMlMkMTNSJDdSJDNTJDEx
UiQ4UiQ0UyQxNFIkOVIkMFYkY2xhc3NSJDVTJDEyUiQxEAcQAYAFgAaAACNBpQB/QG5CnhDTEAAj
QaUAfzvfDFaAHCNBpQ7nydcwHoAC0yorGSEtLldOUy5iYXNlW05TLnJlbGF0aXZlgACAA4AEXxA7
aHR0cDovL3N0YXRpYy5yZWFsb25lLmNvbS9yb3R3L3BsYXllcmltYWdlcy9idG5fdm9sdW1lMi5n
aWbSMTIzNFgkY2xhc3Nlc1okY2xhc3NuYW1lozQ1NlVOU1VSTFYlTlNVUkxYTlNPYmplY3RZaW1h
Z2UvZ2lm0xgZHDk6O4AHgBsQyNM9Phk/SVNaTlMub2JqZWN0c1dOUy5rZXlzqUBBQkNERUZHSIAR
gBKAE4AUgBWAFoAXgBiAGalKS0xNTk9QUVKACIAJgAqAC4AMgA2ADoAPgBCAGlZTZXJ2ZXJdTGFz
dC1Nb2RpZmllZF1BY2NlcHQtUmFuZ2VzWkNvbm5lY3Rpb25URGF0ZV5Db250ZW50LUxlbmd0aFpL
ZWVwLUFsaXZlVEV0YWdcQ29udGVudC1UeXBlVkFwYWNoZV8QHVRodSwgMDggSnVuIDIwMDYgMTA6
MzE6MDIgR01UVWJ5dGVzXxAdV2VkLCAwMiBBdWcgMjAwNiAwMjowMzo1NCBHTVRTMjExXxARdGlt
ZW91dD0yLCBtYXg9ODBfEBQiNWFjYjU2LWQzLWZiMGI2NTgwItIxMmVmo2ZnNl8QE05TTXV0YWJs
ZURpY3Rpb25hcnlcTlNEaWN0aW9uYXJ50jEyaWqiajZfEBlOU0hUVFBVUkxSZXNwb25zZUludGVy
bmFs0jEybG2jbW42XxARTlNIVFRQVVJMUmVzcG9uc2VdTlNVUkxSZXNwb25zZQAIABEAGwAkACkA
MgBEAEkATABiAGQAhACKAK0AsAC0ALcAuwC+AMEAxQDIAMsAzwDSANUA3ADfAOMA5gDoAOoA7ADu
APAA+QD7AP0BBgEIAREBEwEaASIBLgEwATIBNAFyAXcBgAGLAY8BlQGcAaUBrwG2AbgBugG8AcMB
zgHWAeAB4gHkAeYB6AHqAewB7gHwAfIB/AH+AgACAgIEAgYCCAIKAgwCDgIQAhcCJQIzAj4CQwJS
Al0CYgJvAnYClgKcArwCwALUAusC8AL0AwoDFwMcAx8DOwNAA0QDWAAAAAAAAAIBAAAAAAAAAG8A
AAAAAAAAAAAAAAAAAANmTxDTR0lGODlhCAAdAMQSAP///9jY2OXl5f39/TMzM6Ojo52dnYGBgff3
9+/v7/z8/Ofn55mZmcjIyBkZGdLS0tvb27a2tv///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAACH5BAEAABIALAAAAAAIAB0AAAVQICOOomGeZqGuquO+7iHP8mLfNqTv+uP/
voBwKIwYj8aGcqkkEgXQKDRBrVIR2CxWwe1yAeCwWEKWjMtnctocLrPF8DhgQK/TCfg8Xs7vhwAA
O18QO2h0dHA6Ly9zdGF0aWMucmVhbG9uZS5jb20vcm90dy9wbGF5ZXJpbWFnZXMvYnRuX3ZvbHVt
ZTIuZ2lm1AYHCAlbXF0oTxEEZWJwbGlzdDAw1AECAwQFBgcKWSRhcmNoaXZlclgkdmVyc2lvblQk
dG9wWCRvYmplY3RzXxAPTlNLZXllZEFyY2hpdmVyEgABhqDRCAlfEBNXZWJSZXNvdXJjZVJlc3Bv
bnNlgAGvEB0LDCkvMDc4PFRVVldYWVpbXF1eX1pgYWJjN2Roa1UkbnVsbN8QEA0ODxAREhMUFRYX
GBkaGxwdHh8eICEeIiMkJR0mJx4oUiQ2UyQxMFIkMlMkMTNSJDdSJDNTJDExUiQ4UiQ0UyQxNFIk
OVIkMFYkY2xhc3NSJDVTJDEyUiQxEAcQAYAFgAaAACNBpQB/QJN/nRDUEAAjQaUAfzvfOliAHCNB
pQ7ny+VUVYAC0yorGSEtLldOUy5iYXNlW05TLnJlbGF0aXZlgACAA4AEXxA7aHR0cDovL3N0YXRp
Yy5yZWFsb25lLmNvbS9yb3R3L3BsYXllcmltYWdlcy9idG5fdm9sdW1lMy5naWbSMTIzNFgkY2xh
c3Nlc1okY2xhc3NuYW1lozQ1NlVOU1VSTFYlTlNVUkxYTlNPYmplY3RZaW1hZ2UvZ2lm0xgZHDk6
O4AHgBsQyNM9Phk/SVNaTlMub2JqZWN0c1dOUy5rZXlzqUBBQkNERUZHSIARgBKAE4AUgBWAFoAX
gBiAGalKS0xNTk9QUVKACIAJgAqAC4AMgA2ADoAPgBCAGlZTZXJ2ZXJdTGFzdC1Nb2RpZmllZF1B
Y2NlcHQtUmFuZ2VzWkNvbm5lY3Rpb25URGF0ZV5Db250ZW50LUxlbmd0aFpLZWVwLUFsaXZlVEV0
YWdcQ29udGVudC1UeXBlVkFwYWNoZV8QHVRodSwgMDggSnVuIDIwMDYgMTA6MzE6MDIgR01UVWJ5
dGVzXxAdV2VkLCAwMiBBdWcgMjAwNiAwMjowMzo1NSBHTVRTMjEyXxARdGltZW91dD0yLCBtYXg9
ODNfEBUiMTU4MGNkYS1kNC1mYjBiNjU4MCLSMTJlZqNmZzZfEBNOU011dGFibGVEaWN0aW9uYXJ5
XE5TRGljdGlvbmFyedIxMmlqomo2XxAZTlNIVFRQVVJMUmVzcG9uc2VJbnRlcm5hbNIxMmxto21u
Nl8QEU5TSFRUUFVSTFJlc3BvbnNlXU5TVVJMUmVzcG9uc2UACAARABsAJAApADIARABJAEwAYgBk
AIQAigCtALAAtAC3ALsAvgDBAMUAyADLAM8A0gDVANwA3wDjAOYA6ADqAOwA7gDwAPkA+wD9AQYB
CAERARMBGgEiAS4BMAEyATQBcgF3AYABiwGPAZUBnAGlAa8BtgG4AboBvAHDAc4B1gHgAeIB5AHm
AegB6gHsAe4B8AHyAfwB/gIAAgICBAIGAggCCgIMAg4CEAIXAiUCMwI+AkMCUgJdAmICbwJ2ApYC
nAK8AsAC1ALsAvEC9QMLAxgDHQMgAzwDQQNFA1kAAAAAAAACAQAAAAAAAABvAAAAAAAAAAAAAAAA
AAADZ08Q1EdJRjg5YQgAHQDEEgD////Y2Njl5eX9/f0zMzOjo6OdnZ2BgYH39/fv7+/8/Pzn5+eZ
mZnIyMgZGRnS0tLb29u2trb///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAh+QQBAAASACwAAAAACAAdAAAFUSAjjqJhnmahrqrjvu4hz/Ji3zak7/rj/76AcCiMGI/GhnKp
JBIF0Cg0Qa1SEdgsVsHtcgEAiVgCBo/J5XM5PF6r0+21fA4e2O92gn6vp/v/IQA7XxA7aHR0cDov
L3N0YXRpYy5yZWFsb25lLmNvbS9yb3R3L3BsYXllcmltYWdlcy9idG5fdm9sdW1lMy5naWbUBgcI
CV9gYShPEQRkYnBsaXN0MDDUAQIDBAUGBwpZJGFyY2hpdmVyWCR2ZXJzaW9uVCR0b3BYJG9iamVj
dHNfEA9OU0tleWVkQXJjaGl2ZXISAAGGoNEICV8QE1dlYlJlc291cmNlUmVzcG9uc2WAAa8QHQsM
KS8wNzg8VFVWV1hZWltcXV5fWmBhYmM3ZGhrVSRudWxs3xAQDQ4PEBESExQVFhcYGRobHB0eHx4g
IR4iIyQlHSYnHihSJDZTJDEwUiQyUyQxM1IkN1IkM1MkMTFSJDhSJDRTJDE0UiQ5UiQwViRjbGFz
c1IkNVMkMTJSJDEQBxABgAWABoAAI0GlAH9A1YV7ENQQACNBpQB/O99hAoAcI0GlDufLo3UhgALT
KisZIS0uV05TLmJhc2VbTlMucmVsYXRpdmWAAIADgARfEDtodHRwOi8vc3RhdGljLnJlYWxvbmUu
Y29tL3JvdHcvcGxheWVyaW1hZ2VzL2J0bl92b2x1bWU0LmdpZtIxMjM0WCRjbGFzc2VzWiRjbGFz
c25hbWWjNDU2VU5TVVJMViVOU1VSTFhOU09iamVjdFlpbWFnZS9naWbTGBkcOTo7gAeAGxDI0z0+
GT9JU1pOUy5vYmplY3RzV05TLmtleXOpQEFCQ0RFRkdIgBGAEoATgBSAFYAWgBeAGIAZqUpLTE1O
T1BRUoAIgAmACoALgAyADYAOgA+AEIAaVlNlcnZlcl1MYXN0LU1vZGlmaWVkXUFjY2VwdC1SYW5n
ZXNaQ29ubmVjdGlvblREYXRlXkNvbnRlbnQtTGVuZ3RoWktlZXAtQWxpdmVURXRhZ1xDb250ZW50
LVR5cGVWQXBhY2hlXxAdVGh1LCAwOCBKdW4gMjAwNiAxMDozMTowMiBHTVRVYnl0ZXNfEB1XZWQs
IDAyIEF1ZyAyMDA2IDAyOjAzOjU1IEdNVFMyMTJfEBF0aW1lb3V0PTIsIG1heD04M18QFCI3OGQx
ZjQtZDQtZmIwYjY1ODAi0jEyZWajZmc2XxATTlNNdXRhYmxlRGljdGlvbmFyeVxOU0RpY3Rpb25h
cnnSMTJpaqJqNl8QGU5TSFRUUFVSTFJlc3BvbnNlSW50ZXJuYWzSMTJsbaNtbjZfEBFOU0hUVFBV
UkxSZXNwb25zZV1OU1VSTFJlc3BvbnNlAAgAEQAbACQAKQAyAEQASQBMAGIAZACEAIoArQCwALQA
twC7AL4AwQDFAMgAywDPANIA1QDcAN8A4wDmAOgA6gDsAO4A8AD5APsA/QEGAQgBEQETARoBIgEu
ATABMgE0AXIBdwGAAYsBjwGVAZwBpQGvAbYBuAG6AbwBwwHOAdYB4AHiAeQB5gHoAeoB7AHuAfAB
8gH8Af4CAAICAgQCBgIIAgoCDAIOAhACFwIlAjMCPgJDAlICXQJiAm8CdgKWApwCvALAAtQC6wLw
AvQDCgMXAxwDHwM7A0ADRANYAAAAAAAAAgEAAAAAAAAAbwAAAAAAAAAAAAAAAAAAA2ZPENRHSUY4
OWEIAB0AxBIA////2NjYGRkZ5eXlmZmZMzMzo6OjgYGB9/f37+/v5+fn0tLSyMjInZ2d/f39tra2
29vb/Pz8////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIfkEAQAAEgAs
AAAAAAgAHQAABVEgIY5iY56moa6q4L7uIc+yYt82pO/64v++gHAofBiPRoZyqSQSB9AoNEGtUhHY
LDYSkXglXADgKxGLyebxN402t8/rtHwudtjv9oJ+r6f7/yEAO18QO2h0dHA6Ly9zdGF0aWMucmVh
bG9uZS5jb20vcm90dy9wbGF5ZXJpbWFnZXMvYnRuX3ZvbHVtZTQuZ2lm1AYHCAljZGUoTxEEZWJw
bGlzdDAw1AECAwQFBgcKWSRhcmNoaXZlclgkdmVyc2lvblQkdG9wWCRvYmplY3RzXxAPTlNLZXll
ZEFyY2hpdmVyEgABhqDRCAlfEBNXZWJSZXNvdXJjZVJlc3BvbnNlgAGvEB0LDCkvMDc4PFRVVldY
WVpbXF1eX1pgYWJjN2Roa1UkbnVsbN8QEA0ODxAREhMUFRYXGBkaGxwdHh8eICEeIiMkJR0mJx4o
UiQ2UyQxMFIkMlMkMTNSJDdSJDNTJDExUiQ4UiQ0UyQxNFIkOVIkMFYkY2xhc3NSJDVTJDEyUiQx
EAcQAYAFgAaAACNBpQB/QHU9hhDUEAAjQaUAfzvffImAHCNBpQ7nzAPYnYAC0yorGSEtLldOUy5i
YXNlW05TLnJlbGF0aXZlgACAA4AEXxA7aHR0cDovL3N0YXRpYy5yZWFsb25lLmNvbS9yb3R3L3Bs
YXllcmltYWdlcy9idG5fdm9sdW1lNS5naWbSMTIzNFgkY2xhc3Nlc1okY2xhc3NuYW1lozQ1NlVO
U1VSTFYlTlNVUkxYTlNPYmplY3RZaW1hZ2UvZ2lm0xgZHDk6O4AHgBsQyNM9Phk/SVNaTlMub2Jq
ZWN0c1dOUy5rZXlzqUBBQkNERUZHSIARgBKAE4AUgBWAFoAXgBiAGalKS0xNTk9QUVKACIAJgAqA
C4AMgA2ADoAPgBCAGlZTZXJ2ZXJdTGFzdC1Nb2RpZmllZF1BY2NlcHQtUmFuZ2VzWkNvbm5lY3Rp
b25URGF0ZV5Db250ZW50LUxlbmd0aFpLZWVwLUFsaXZlVEV0YWdcQ29udGVudC1UeXBlVkFwYWNo
ZV8QHVRodSwgMDggSnVuIDIwMDYgMTA6MzE6MDIgR01UVWJ5dGVzXxAdV2VkLCAwMiBBdWcgMjAw
NiAwMjowMzo1NSBHTVRTMjEyXxARdGltZW91dD0yLCBtYXg9ODNfEBUiMTU4MGNkYy1kNC1mYjBi
NjU4MCLSMTJlZqNmZzZfEBNOU011dGFibGVEaWN0aW9uYXJ5XE5TRGljdGlvbmFyedIxMmlqomo2
XxAZTlNIVFRQVVJMUmVzcG9uc2VJbnRlcm5hbNIxMmxto21uNl8QEU5TSFRUUFVSTFJlc3BvbnNl
XU5TVVJMUmVzcG9uc2UACAARABsAJAApADIARABJAEwAYgBkAIQAigCtALAAtAC3ALsAvgDBAMUA
yADLAM8A0gDVANwA3wDjAOYA6ADqAOwA7gDwAPkA+wD9AQYBCAERARMBGgEiAS4BMAEyATQBcgF3
AYABiwGPAZUBnAGlAa8BtgG4AboBvAHDAc4B1gHgAeIB5AHmAegB6gHsAe4B8AHyAfwB/gIAAgIC
BAIGAggCCgIMAg4CEAIXAiUCMwI+AkMCUgJdAmICbwJ2ApYCnAK8AsAC1ALsAvEC9QMLAxgDHQMg
AzwDQQNFA1kAAAAAAAACAQAAAAAAAABvAAAAAAAAAAAAAAAAAAADZ08Q1EdJRjg5YQgAHQDEEgD/
///Y2NgZGRnl5eWZmZkzMzOjo6P9/f3S0tLv7++2trbn5+eBgYGdnZ3IyMjb29v39/f8/Pz///8A
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAh+QQBAAASACwAAAAACAAdAAAF
USAhjmJjnqahrqrgvi4jz/Ji3/aj7zri/76AcChUGI9Gh3KpJBIH0Cg0Qa1SIRCJVoKNRLYSLwAA
Ho/LZvR5ayaz0++2fA442O/2gn6vp/v/IQA7XxA7aHR0cDovL3N0YXRpYy5yZWFsb25lLmNvbS9y
b3R3L3BsYXllcmltYWdlcy9idG5fdm9sdW1lNS5naWbUBgcICWdoaShPEQRkYnBsaXN0MDDUAQID
BAUGBwpZJGFyY2hpdmVyWCR2ZXJzaW9uVCR0b3BYJG9iamVjdHNfEA9OU0tleWVkQXJjaGl2ZXIS
AAGGoNEICV8QE1dlYlJlc291cmNlUmVzcG9uc2WAAa8QHQsMKS8wNzg8VFVWV1hZWltcXV5fWmBh
YmM3ZGhrVSRudWxs3xAQDQ4PEBESExQVFhcYGRobHB0eHx4gIR4iIyQlHSYnHihSJDZTJDEwUiQy
UyQxM1IkN1IkM1MkMTFSJDhSJDRTJDE0UiQ5UiQwViRjbGFzc1IkNVMkMTJSJDEQBxABgAWABoAA
I0GlAH9AqwvhENQQACNBpQB/O9+Z5YAcI0GlDufJmvRqgALTKisZIS0uV05TLmJhc2VbTlMucmVs
YXRpdmWAAIADgARfEDtodHRwOi8vc3RhdGljLnJlYWxvbmUuY29tL3JvdHcvcGxheWVyaW1hZ2Vz
L2J0bl92b2x1bWU2LmdpZtIxMjM0WCRjbGFzc2VzWiRjbGFzc25hbWWjNDU2VU5TVVJMViVOU1VS
TFhOU09iamVjdFlpbWFnZS9naWbTGBkcOTo7gAeAGxDI0z0+GT9JU1pOUy5vYmplY3RzV05TLmtl
eXOpQEFCQ0RFRkdIgBGAEoATgBSAFYAWgBeAGIAZqUpLTE1OT1BRUoAIgAmACoALgAyADYAOgA+A
EIAaVlNlcnZlcl1MYXN0LU1vZGlmaWVkXUFjY2VwdC1SYW5nZXNaQ29ubmVjdGlvblREYXRlXkNv
bnRlbnQtTGVuZ3RoWktlZXAtQWxpdmVURXRhZ1xDb250ZW50LVR5cGVWQXBhY2hlXxAdVGh1LCAw
OCBKdW4gMjAwNiAxMDozMTowMiBHTVRVYnl0ZXNfEB1XZWQsIDAyIEF1ZyAyMDA2IDAyOjAzOjU0
IEdNVFMyMTJfEBF0aW1lb3V0PTIsIG1heD03OV8QFCI1YWNiNWEtZDQtZmIwYjY1ODAi0jEyZWaj
Zmc2XxATTlNNdXRhYmxlRGljdGlvbmFyeVxOU0RpY3Rpb25hcnnSMTJpaqJqNl8QGU5TSFRUUFVS
TFJlc3BvbnNlSW50ZXJuYWzSMTJsbaNtbjZfEBFOU0hUVFBVUkxSZXNwb25zZV1OU1VSTFJlc3Bv
bnNlAAgAEQAbACQAKQAyAEQASQBMAGIAZACEAIoArQCwALQAtwC7AL4AwQDFAMgAywDPANIA1QDc
AN8A4wDmAOgA6gDsAO4A8AD5APsA/QEGAQgBEQETARoBIgEuATABMgE0AXIBdwGAAYsBjwGVAZwB
pQGvAbYBuAG6AbwBwwHOAdYB4AHiAeQB5gHoAeoB7AHuAfAB8gH8Af4CAAICAgQCBgIIAgoCDAIO
AhACFwIlAjMCPgJDAlICXQJiAm8CdgKWApwCvALAAtQC6wLwAvQDCgMXAxwDHwM7A0ADRANYAAAA
AAAAAgEAAAAAAAAAbwAAAAAAAAAAAAAAAAAAA2ZPENRHSUY4OWEIAB0AxBIA////2NjYnZ2d5+fn
mZmZMzMzo6OjgYGBGRkZ5eXltra20tLS/f39yMjI29vb/Pz89/f37+/v////AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIfkEAQAAEgAsAAAAAAgAHQAABVEgIY6iYJ6moa4q
4r7uIc/yYN+2o+/64v++gHAoVBiPxoZyqSQSE9AoNBKRWCVUCOQq0T4e3C8AwB2Py2b0+Woms9Pv
tnwOYNjv9oJ+r6f7/yEAO18QO2h0dHA6Ly9zdGF0aWMucmVhbG9uZS5jb20vcm90dy9wbGF5ZXJp
bWFnZXMvYnRuX3ZvbHVtZTYuZ2lm1AYHCAlrbG0oTxEEZWJwbGlzdDAw1AECAwQFBgcKWSRhcmNo
aXZlclgkdmVyc2lvblQkdG9wWCRvYmplY3RzXxAPTlNLZXllZEFyY2hpdmVyEgABhqDRCAlfEBNX
ZWJSZXNvdXJjZVJlc3BvbnNlgAGvEB0LDCkvMDc4PFRVVldYWVpbXF1eX1pgYWJjN2Roa1UkbnVs
bN8QEA0ODxAREhMUFRYXGBkaGxwdHh8eICEeIiMkJR0mJx4oUiQ2UyQxMFIkMlMkMTNSJDdSJDNT
JDExUiQ4UiQ0UyQxNFIkOVIkMFYkY2xhc3NSJDVTJDEyUiQxEAcQAYAFgAaAACNBpQB/QM81OxDV
EAAjQaUAfzvfub+AHCNBpQ7ny6oeHoAC0yorGSEtLldOUy5iYXNlW05TLnJlbGF0aXZlgACAA4AE
XxA7aHR0cDovL3N0YXRpYy5yZWFsb25lLmNvbS9yb3R3L3BsYXllcmltYWdlcy9idG5fdm9sdW1l
Ny5naWbSMTIzNFgkY2xhc3Nlc1okY2xhc3NuYW1lozQ1NlVOU1VSTFYlTlNVUkxYTlNPYmplY3RZ
aW1hZ2UvZ2lm0xgZHDk6O4AHgBsQyNM9Phk/SVNaTlMub2JqZWN0c1dOUy5rZXlzqUBBQkNERUZH
SIARgBKAE4AUgBWAFoAXgBiAGalKS0xNTk9QUVKACIAJgAqAC4AMgA2ADoAPgBCAGlZTZXJ2ZXJd
TGFzdC1Nb2RpZmllZF1BY2NlcHQtUmFuZ2VzWkNvbm5lY3Rpb25URGF0ZV5Db250ZW50LUxlbmd0
aFpLZWVwLUFsaXZlVEV0YWdcQ29udGVudC1UeXBlVkFwYWNoZV8QHVRodSwgMDggSnVuIDIwMDYg
MTA6MzE6MDIgR01UVWJ5dGVzXxAdV2VkLCAwMiBBdWcgMjAwNiAwMjowMzo1NSBHTVRTMjEzXxAR
dGltZW91dD0yLCBtYXg9ODJfEBUiMTU4MGNkZS1kNS1mYjBiNjU4MCLSMTJlZqNmZzZfEBNOU011
dGFibGVEaWN0aW9uYXJ5XE5TRGljdGlvbmFyedIxMmlqomo2XxAZTlNIVFRQVVJMUmVzcG9uc2VJ
bnRlcm5hbNIxMmxto21uNl8QEU5TSFRUUFVSTFJlc3BvbnNlXU5TVVJMUmVzcG9uc2UACAARABsA
JAApADIARABJAEwAYgBkAIQAigCtALAAtAC3ALsAvgDBAMUAyADLAM8A0gDVANwA3wDjAOYA6ADq
AOwA7gDwAPkA+wD9AQYBCAERARMBGgEiAS4BMAEyATQBcgF3AYABiwGPAZUBnAGlAa8BtgG4AboB
vAHDAc4B1gHgAeIB5AHmAegB6gHsAe4B8AHyAfwB/gIAAgICBAIGAggCCgIMAg4CEAIXAiUCMwI+
AkMCUgJdAmICbwJ2ApYCnAK8AsAC1ALsAvEC9QMLAxgDHQMgAzwDQQNFA1kAAAAAAAACAQAAAAAA
AABvAAAAAAAAAAAAAAAAAAADZ08Q1UdJRjg5YQgAHQDEEgD////Y2NidnZ39/f2ZmZmjo6Pb29sz
MzPn5+e2trbIyMiBgYHS0tIZGRn39/fv7+/8/Pzl5eX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAh+QQBAAASACwAAAAACAAdAAAFUiAhjqJgnmahrmrjvu4izzJi37ah
7zrj/76AcChMGI9GhXKpFEqeEmEkApVMH48q1uGociGQKhgAqJLJ5nMaDT2X22q4e04HDO74+2HP
39f/gCEAO18QO2h0dHA6Ly9zdGF0aWMucmVhbG9uZS5jb20vcm90dy9wbGF5ZXJpbWFnZXMvYnRu
X3ZvbHVtZTcuZ2lm1AYHCAlvcHEoTxEEZGJwbGlzdDAw1AECAwQFBgcKWSRhcmNoaXZlclgkdmVy
c2lvblQkdG9wWCRvYmplY3RzXxAPTlNLZXllZEFyY2hpdmVyEgABhqDRCAlfEBNXZWJSZXNvdXJj
ZVJlc3BvbnNlgAGvEB0LDCkvMDc4PFRVVldYWVpbXF1eX1pgYWJjN2Roa1UkbnVsbN8QEA0ODxAR
EhMUFRYXGBkaGxwdHh8eICEeIiMkJR0mJx4oUiQ2UyQxMFIkMlMkMTNSJDdSJDNTJDExUiQ4UiQ0
UyQxNFIkOVIkMFYkY2xhc3NSJDVTJDEyUiQxEAcQAYAFgAaAACNBpQB/QRGgrhDVEAAjQaUAfzvf
1WeAHCNBpQ7ny2fOU4AC0yorGSEtLldOUy5iYXNlW05TLnJlbGF0aXZlgACAA4AEXxA7aHR0cDov
L3N0YXRpYy5yZWFsb25lLmNvbS9yb3R3L3BsYXllcmltYWdlcy9idG5fdm9sdW1lOC5naWbSMTIz
NFgkY2xhc3Nlc1okY2xhc3NuYW1lozQ1NlVOU1VSTFYlTlNVUkxYTlNPYmplY3RZaW1hZ2UvZ2lm
0xgZHDk6O4AHgBsQyNM9Phk/SVNaTlMub2JqZWN0c1dOUy5rZXlzqUBBQkNERUZHSIARgBKAE4AU
gBWAFoAXgBiAGalKS0xNTk9QUVKACIAJgAqAC4AMgA2ADoAPgBCAGlZTZXJ2ZXJdTGFzdC1Nb2Rp
ZmllZF1BY2NlcHQtUmFuZ2VzWkNvbm5lY3Rpb25URGF0ZV5Db250ZW50LUxlbmd0aFpLZWVwLUFs
aXZlVEV0YWdcQ29udGVudC1UeXBlVkFwYWNoZV8QHVRodSwgMDggSnVuIDIwMDYgMTA6MzE6MDIg
R01UVWJ5dGVzXxAdV2VkLCAwMiBBdWcgMjAwNiAwMjowMzo1NSBHTVRTMjEzXxARdGltZW91dD0y
LCBtYXg9ODJfEBQiNzhkMWY4LWQ1LWZiMGI2NTgwItIxMmVmo2ZnNl8QE05TTXV0YWJsZURpY3Rp
b25hcnlcTlNEaWN0aW9uYXJ50jEyaWqiajZfEBlOU0hUVFBVUkxSZXNwb25zZUludGVybmFs0jEy
bG2jbW42XxARTlNIVFRQVVJMUmVzcG9uc2VdTlNVUkxSZXNwb25zZQAIABEAGwAkACkAMgBEAEkA
TABiAGQAhACKAK0AsAC0ALcAuwC+AMEAxQDIAMsAzwDSANUA3ADfAOMA5gDoAOoA7ADuAPAA+QD7
AP0BBgEIAREBEwEaASIBLgEwATIBNAFyAXcBgAGLAY8BlQGcAaUBrwG2AbgBugG8AcMBzgHWAeAB
4gHkAeYB6AHqAewB7gHwAfIB/AH+AgACAgIEAgYCCAIKAgwCDgIQAhcCJQIzAj4CQwJSAl0CYgJv
AnYClgKcArwCwALUAusC8AL0AwoDFwMcAx8DOwNAA0QDWAAAAAAAAAIBAAAAAAAAAG8AAAAAAAAA
AAAAAAAAAANmTxDVR0lGODlhCAAdAMQSAP///9jY2J2dnf39/ZmZmaOjo9vb2zMzM+fn59LS0oGB
gRkZGba2tvf39+Xl5cjIyPz8/O/v7////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAACH5BAEAABIALAAAAAAIAB0AAAVSICGOomCeZqGu6uK+riLPMmLftqHveuL/voBwKGQY
j8bHQ8KUKIVNidDhiFIjkSi20YhyIZAoGACIksnmcxrdPJfbarh7TgcM7vj7Yc/f1/+AIQA7XxA7
aHR0cDovL3N0YXRpYy5yZWFsb25lLmNvbS9yb3R3L3BsYXllcmltYWdlcy9idG5fdm9sdW1lOC5n
aWbUBgcICXN0dShPEQRlYnBsaXN0MDDUAQIDBAUGBwpZJGFyY2hpdmVyWCR2ZXJzaW9uVCR0b3BY
JG9iamVjdHNfEA9OU0tleWVkQXJjaGl2ZXISAAGGoNEICV8QE1dlYlJlc291cmNlUmVzcG9uc2WA
Aa8QHQsMKS8wNzg8VFVWV1hZWltcXV5fWmBhYmM3ZGhrVSRudWxs3xAQDQ4PEBESExQVFhcYGRob
HB0eHx4gIR4iIyQlHSYnHihSJDZTJDEwUiQyUyQxM1IkN1IkM1MkMTFSJDhSJDRTJDE0UiQ5UiQw
ViRjbGFzc1IkNVMkMTJSJDEQBxABgAWABoAAI0GlAH9AshouENUQACNBpQB/O9/0/YAcI0GlDufL
x3RpgALTKisZIS0uV05TLmJhc2VbTlMucmVsYXRpdmWAAIADgARfEDtodHRwOi8vc3RhdGljLnJl
YWxvbmUuY29tL3JvdHcvcGxheWVyaW1hZ2VzL2J0bl92b2x1bWU5LmdpZtIxMjM0WCRjbGFzc2Vz
WiRjbGFzc25hbWWjNDU2VU5TVVJMViVOU1VSTFhOU09iamVjdFlpbWFnZS9naWbTGBkcOTo7gAeA
GxDI0z0+GT9JU1pOUy5vYmplY3RzV05TLmtleXOpQEFCQ0RFRkdIgBGAEoATgBSAFYAWgBeAGIAZ
qUpLTE1OT1BRUoAIgAmACoALgAyADYAOgA+AEIAaVlNlcnZlcl1MYXN0LU1vZGlmaWVkXUFjY2Vw
dC1SYW5nZXNaQ29ubmVjdGlvblREYXRlXkNvbnRlbnQtTGVuZ3RoWktlZXAtQWxpdmVURXRhZ1xD
b250ZW50LVR5cGVWQXBhY2hlXxAdVGh1LCAwOCBKdW4gMjAwNiAxMDozMTowMiBHTVRVYnl0ZXNf
EB1XZWQsIDAyIEF1ZyAyMDA2IDAyOjAzOjU1IEdNVFMyMTNfEBF0aW1lb3V0PTIsIG1heD04Ml8Q
FSIxNTgwY2UwLWQ1LWZiMGI2NTgwItIxMmVmo2ZnNl8QE05TTXV0YWJsZURpY3Rpb25hcnlcTlNE
aWN0aW9uYXJ50jEyaWqiajZfEBlOU0hUVFBVUkxSZXNwb25zZUludGVybmFs0jEybG2jbW42XxAR
TlNIVFRQVVJMUmVzcG9uc2VdTlNVUkxSZXNwb25zZQAIABEAGwAkACkAMgBEAEkATABiAGQAhACK
AK0AsAC0ALcAuwC+AMEAxQDIAMsAzwDSANUA3ADfAOMA5gDoAOoA7ADuAPAA+QD7AP0BBgEIAREB
EwEaASIBLgEwATIBNAFyAXcBgAGLAY8BlQGcAaUBrwG2AbgBugG8AcMBzgHWAeAB4gHkAeYB6AHq
AewB7gHwAfIB/AH+AgACAgIEAgYCCAIKAgwCDgIQAhcCJQIzAj4CQwJSAl0CYgJvAnYClgKcArwC
wALUAuwC8QL1AwsDGAMdAyADPANBA0UDWQAAAAAAAAIBAAAAAAAAAG8AAAAAAAAAAAAAAAAAAANn
TxDVR0lGODlhCAAdAMQSAP///9jY2J2dnf39/ZmZmdvb24GBgTMzM6Ojo+fn5xkZGdLS0vz8/La2
tsjIyOXl5ff39+/v7////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5
BAEAABIALAAAAAAIAB0AAAVSICGOomCeJqKuquK+riHPcmLfdqHv+uL/voBwKGw0JEiJ0eFISphC
p/DxcFIjEScWAnFyGQwnGABwksnmcxqdPJfbarh7TgcM7vj7Yc/f1/+AIQA7XxA7aHR0cDovL3N0
YXRpYy5yZWFsb25lLmNvbS9yb3R3L3BsYXllcmltYWdlcy9idG5fdm9sdW1lOS5naWbUBgcICXd4
eShPEQRnYnBsaXN0MDDUAQIDBAUGBwpZJGFyY2hpdmVyWCR2ZXJzaW9uVCR0b3BYJG9iamVjdHNf
EA9OU0tleWVkQXJjaGl2ZXISAAGGoNEICV8QE1dlYlJlc291cmNlUmVzcG9uc2WAAa8QHQsMKS8w
Nzg8VFVWV1hZWltcXV5fWmBhYmM3ZGhrVSRudWxs3xAQDQ4PEBESExQVFhcYGRobHB0eHx4gIR4i
IyQlHSYnHihSJDZTJDEwUiQyUyQxM1IkN1IkM1MkMTFSJDhSJDRTJDE0UiQ5UiQwViRjbGFzc1Ik
NVMkMTJSJDEQBxABgAWABoAAI0GlAH9A6FZgEQFaEAAjQaUAfzvgFTyAHCNBpQ7ny5FYdoAC0yor
GSEtLldOUy5iYXNlW05TLnJlbGF0aXZlgACAA4AEXxA8aHR0cDovL3N0YXRpYy5yZWFsb25lLmNv
bS9yb3R3L3BsYXllcmltYWdlcy9idG5fdm9sdW1lMTAuZ2lm0jEyMzRYJGNsYXNzZXNaJGNsYXNz
bmFtZaM0NTZVTlNVUkxWJU5TVVJMWE5TT2JqZWN0WWltYWdlL2dpZtMYGRw5OjuAB4AbEMjTPT4Z
P0lTWk5TLm9iamVjdHNXTlMua2V5c6lAQUJDREVGR0iAEYASgBOAFIAVgBaAF4AYgBmpSktMTU5P
UFFSgAiACYAKgAuADIANgA6AD4AQgBpWU2VydmVyXUxhc3QtTW9kaWZpZWRdQWNjZXB0LVJhbmdl
c1pDb25uZWN0aW9uVERhdGVeQ29udGVudC1MZW5ndGhaS2VlcC1BbGl2ZVRFdGFnXENvbnRlbnQt
VHlwZVZBcGFjaGVfEB1UaHUsIDA4IEp1biAyMDA2IDEwOjMxOjAyIEdNVFVieXRlc18QHVdlZCwg
MDIgQXVnIDIwMDYgMDI6MDM6NTUgR01UUzM0Nl8QEXRpbWVvdXQ9MiwgbWF4PTc4XxAVIjVhY2I1
NS0xNWEtZmIwYjY1ODAi0jEyZWajZmc2XxATTlNNdXRhYmxlRGljdGlvbmFyeVxOU0RpY3Rpb25h
cnnSMTJpaqJqNl8QGU5TSFRUUFVSTFJlc3BvbnNlSW50ZXJuYWzSMTJsbaNtbjZfEBFOU0hUVFBV
UkxSZXNwb25zZV1OU1VSTFJlc3BvbnNlAAgAEQAbACQAKQAyAEQASQBMAGIAZACEAIoArQCwALQA
twC7AL4AwQDFAMgAywDPANIA1QDcAN8A4wDmAOgA6gDsAO4A8AD5APwA/gEHAQkBEgEUARsBIwEv
ATEBMwE1AXQBeQGCAY0BkQGXAZ4BpwGxAbgBugG8Ab4BxQHQAdgB4gHkAeYB6AHqAewB7gHwAfIB
9AH+AgACAgIEAgYCCAIKAgwCDgIQAhICGQInAjUCQAJFAlQCXwJkAnECeAKYAp4CvgLCAtYC7gLz
AvcDDQMaAx8DIgM+A0MDRwNbAAAAAAAAAgEAAAAAAAAAbwAAAAAAAAAAAAAAAAAAA2lPEQFaR0lG
ODlhCAAdANUvAP////f39/z8/J2dnaOjoxkZGZmZmefn5zMzM/39/dvb29jY2IGBgdLS0ra2ttDQ
0O/v74CAgMjIyNHR0eXl5ePj40RERNzc3DIyMtXV1b6+vvr6+ry8vJqamtra2re3t9nZ2SgoKHV1
denp6dbW1vv7+/b29vHx8d7e3vX19cHBwfLy8uLi4svLy+vr6////wAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAC8ALAAAAAAIAB0AAAZ3QINwaOgM
jsgjYclcFp7QQohBpUYiooN2e/kovmAPqEEmTx6PxeLFfpEyDkf75dBIJHMVRz2ftCgUcygLEBBz
IxUBAXMnLgICcwErAABzJSmUcwImmW0CAZ1sn6Evo5WeoJSqpqoAnwmwsRssCLW2GBaturu8lEEA
O18QPGh0dHA6Ly9zdGF0aWMucmVhbG9uZS5jb20vcm90dy9wbGF5ZXJpbWFnZXMvYnRuX3ZvbHVt
ZTEwLmdpZtQGBwgJe3x9KE8RBGlicGxpc3QwMNQBAgMEBQYHClkkYXJjaGl2ZXJYJHZlcnNpb25U
JHRvcFgkb2JqZWN0c18QD05TS2V5ZWRBcmNoaXZlchIAAYag0QgJXxATV2ViUmVzb3VyY2VSZXNw
b25zZYABrxAdCwwpLzA3ODxUVVZXWFlaW1xdXl9aYGFiYzdkaGtVJG51bGzfEBANDg8QERITFBUW
FxgZGhscHR4fHiAhHiIjJCUdJiceKFIkNlMkMTBSJDJTJDEzUiQ3UiQzUyQxMVIkOFIkNFMkMTRS
JDlSJDBWJGNsYXNzUiQ1UyQxMlIkMRAHEAGABYAGgAAjQaUAf0ELwc4RAQEQACNBpQB/O+AwPIAc
I0GlDufLbggIgALTKisZIS0uV05TLmJhc2VbTlMucmVsYXRpdmWAAIADgARfED1odHRwOi8vc3Rh
dGljLnJlYWxvbmUuY29tL3JvdHcvcGxheWVyaW1hZ2VzL2J0bl92b2x1bWVfcnQuZ2lm0jEyMzRY
JGNsYXNzZXNaJGNsYXNzbmFtZaM0NTZVTlNVUkxWJU5TVVJMWE5TT2JqZWN0WWltYWdlL2dpZtMY
GRw5OjuAB4AbEMjTPT4ZP0lTWk5TLm9iamVjdHNXTlMua2V5c6lAQUJDREVGR0iAEYASgBOAFIAV
gBaAF4AYgBmpSktMTU5PUFFSgAiACYAKgAuADIANgA6AD4AQgBpWU2VydmVyXUxhc3QtTW9kaWZp
ZWRdQWNjZXB0LVJhbmdlc1pDb25uZWN0aW9uVERhdGVeQ29udGVudC1MZW5ndGhaS2VlcC1BbGl2
ZVRFdGFnXENvbnRlbnQtVHlwZVZBcGFjaGVfEB1UaHUsIDA4IEp1biAyMDA2IDEwOjMxOjAyIEdN
VFVieXRlc18QHVdlZCwgMDIgQXVnIDIwMDYgMDI6MDM6NTUgR01UUzI1N18QEXRpbWVvdXQ9Miwg
bWF4PTgxXxAWIjE1ODBjZTItMTAxLWZiMGI2NTgwItIxMmVmo2ZnNl8QE05TTXV0YWJsZURpY3Rp
b25hcnlcTlNEaWN0aW9uYXJ50jEyaWqiajZfEBlOU0hUVFBVUkxSZXNwb25zZUludGVybmFs0jEy
bG2jbW42XxARTlNIVFRQVVJMUmVzcG9uc2VdTlNVUkxSZXNwb25zZQAIABEAGwAkACkAMgBEAEkA
TABiAGQAhACKAK0AsAC0ALcAuwC+AMEAxQDIAMsAzwDSANUA3ADfAOMA5gDoAOoA7ADuAPAA+QD8
AP4BBwEJARIBFAEbASMBLwExATMBNQF1AXoBgwGOAZIBmAGfAagBsgG5AbsBvQG/AcYB0QHZAeMB
5QHnAekB6wHtAe8B8QHzAfUB/wIBAgMCBQIHAgkCCwINAg8CEQITAhoCKAI2AkECRgJVAmACZQJy
AnkCmQKfAr8CwwLXAvAC9QL5Aw8DHAMhAyQDQANFA0kDXQAAAAAAAAIBAAAAAAAAAG8AAAAAAAAA
AAAAAAAAAANrTxEBAUdJRjg5YQcAHQDEHwCpqalwcHDS0tLOzs6jo6MmJibKysqUlJSbm5vk5OTG
xsaxsbG6urqLi4vZ2dnc3NzV1dXv7+/i4uJdXV2FhYXr6+vBwcFEREQeHh7////9/f35+fnz8/O2
trYwMDD///8h+QQBAAAfACwAAAAABwAdAAAFfiDAOF/5IQihmERLdOVFAfQ6ecGiS1SAHQzGYNGY
XCwWg6FBKSgHgsMBI6gqCAjMY9tZEDCJsIKxwFTOgnGBw34ILIWNPOEwFDT4ymNQyPgjEgJ9fwkQ
gxkRhYeJhn6Iio6JAx6RCQgTkZMDjgATCI4ZAQagH6AZJaSofiYfIQA7XxA9aHR0cDovL3N0YXRp
Yy5yZWFsb25lLmNvbS9yb3R3L3BsYXllcmltYWdlcy9idG5fdm9sdW1lX3J0LmdpZtQGBwgJf4CB
KE8RBG5icGxpc3QwMNQBAgMEBQYHClkkYXJjaGl2ZXJYJHZlcnNpb25UJHRvcFgkb2JqZWN0c18Q
D05TS2V5ZWRBcmNoaXZlchIAAYag0QgJXxATV2ViUmVzb3VyY2VSZXNwb25zZYABrxAdCwwpLzA3
ODxUVVZXWFlaW1xdXl9aYGFiYzdkaGtVJG51bGzfEBANDg8QERITFBUWFxgZGhscHR4fHiAhHiIj
JCUdJiceKFIkNlMkMTBSJDJTJDEzUiQ3UiQzUyQxMVIkOFIkNFMkMTRSJDlSJDBWJGNsYXNzUiQ1
UyQxMlIkMRAHEAGABYAGgAAjQaUAf0R3gpARAQ4QACNBpQB/RDqdx4AcI0GlDufUwxs3gALTKisZ
IS0uV05TLmJhc2VbTlMucmVsYXRpdmWAAIADgARfEEJodHRwOi8vc3RhdGljLnJlYWxvbmUuY29t
L3JvdHcvcGxheWVyaW1hZ2VzL3BsYXlsaXN0X3N1YmhlYWRlci5naWbSMTIzNFgkY2xhc3Nlc1ok
Y2xhc3NuYW1lozQ1NlVOU1VSTFYlTlNVUkxYTlNPYmplY3RZaW1hZ2UvZ2lm0xgZHDk6O4AHgBsQ
yNM9Phk/SVNaTlMub2JqZWN0c1dOUy5rZXlzqUBBQkNERUZHSIARgBKAE4AUgBWAFoAXgBiAGalK
S0xNTk9QUVKACIAJgAqAC4AMgA2ADoAPgBCAGlZTZXJ2ZXJdTGFzdC1Nb2RpZmllZF1BY2NlcHQt
UmFuZ2VzWkNvbm5lY3Rpb25URGF0ZV5Db250ZW50LUxlbmd0aFpLZWVwLUFsaXZlVEV0YWdcQ29u
dGVudC1UeXBlVkFwYWNoZV8QHVRodSwgMDggSnVuIDIwMDYgMTA6MzE6MDIgR01UVWJ5dGVzXxAd
V2VkLCAwMiBBdWcgMjAwNiAwMjowMzo1NyBHTVRTMjcwXxARdGltZW91dD0yLCBtYXg9NzlfEBYi
MTU4MGQwNS0xMGUtZmIwYjY1ODAi0jEyZWajZmc2XxATTlNNdXRhYmxlRGljdGlvbmFyeVxOU0Rp
Y3Rpb25hcnnSMTJpaqJqNl8QGU5TSFRUUFVSTFJlc3BvbnNlSW50ZXJuYWzSMTJsbaNtbjZfEBFO
U0hUVFBVUkxSZXNwb25zZV1OU1VSTFJlc3BvbnNlAAgAEQAbACQAKQAyAEQASQBMAGIAZACEAIoA
rQCwALQAtwC7AL4AwQDFAMgAywDPANIA1QDcAN8A4wDmAOgA6gDsAO4A8AD5APwA/gEHAQkBEgEU
ARsBIwEvATEBMwE1AXoBfwGIAZMBlwGdAaQBrQG3Ab4BwAHCAcQBywHWAd4B6AHqAewB7gHwAfIB
9AH2AfgB+gIEAgYCCAIKAgwCDgIQAhICFAIWAhgCHwItAjsCRgJLAloCZQJqAncCfgKeAqQCxALI
AtwC9QL6Av4DFAMhAyYDKQNFA0oDTgNiAAAAAAAAAgEAAAAAAAAAbwAAAAAAAAAAAAAAAAAAA3BP
EQEOR0lGODlhLwATALMPAAAAAImJiXp6eqenp8bGxltbWy4uLmpqah4eHg8PD5iYmNXV1ba2tkxM
TD09Pf///yH5BAEAAA8ALAAAAAAvABMAAAS78MlJq7046827/2AojmRpnmhKBUBrDI8CEJ1RPAMQ
WMWdsQECIrEQzDoAHyapAT4OMyPN4FoUEpIDltkKUgGDQgucO1SAi+FDOpEJCOAHwszMBYyMCRMH
MK/GL2tHDWMCDw4HDAB5dTqKCIYPexhOE1JGCnCGA5AGEo07BISGkxeVEph4LA0SBpCfnnZ6Dg8N
nnx+E6cPaQdCAAbBEg4AC6gJBHYyAAkwD2IBZSVwAKwqIHAGNNfc3d4WEQA7XxBCaHR0cDovL3N0
YXRpYy5yZWFsb25lLmNvbS9yb3R3L3BsYXllcmltYWdlcy9wbGF5bGlzdF9zdWJoZWFkZXIuZ2lm
1AYHCAmDhIUoTxEEa2JwbGlzdDAw1AECAwQFBgcKWSRhcmNoaXZlclgkdmVyc2lvblQkdG9wWCRv
YmplY3RzXxAPTlNLZXllZEFyY2hpdmVyEgABhqDRCAlfEBNXZWJSZXNvdXJjZVJlc3BvbnNlgAGv
EB0LDCkvMDc4PFRVVldYWVpbXF1eX1pgYWJjN2Roa1UkbnVsbN8QEA0ODxAREhMUFRYXGBkaGxwd
Hh8eICEeIiMkJR0mJx4oUiQ2UyQxMFIkMlMkMTNSJDdSJDNTJDExUiQ4UiQ0UyQxNFIkOVIkMFYk
Y2xhc3NSJDVTJDEyUiQxEAcQAYAFgAaAACNBpQB/RuIhyREBSBAAI0GlAH9GdR7agBwjQaUO59SS
/RGAAtMqKxkhLS5XTlMuYmFzZVtOUy5yZWxhdGl2ZYAAgAOABF8QQGh0dHA6Ly9zdGF0aWMucmVh
bG9uZS5jb20vcm90dy9wbGF5ZXJpbWFnZXMvYnRuX3BsYXlsaXN0X29mZi5naWbSMTIzNFgkY2xh
c3Nlc1okY2xhc3NuYW1lozQ1NlVOU1VSTFYlTlNVUkxYTlNPYmplY3RZaW1hZ2UvZ2lm0xgZHDk6
O4AHgBsQyNM9Phk/SVNaTlMub2JqZWN0c1dOUy5rZXlzqUBBQkNERUZHSIARgBKAE4AUgBWAFoAX
gBiAGalKS0xNTk9QUVKACIAJgAqAC4AMgA2ADoAPgBCAGlZTZXJ2ZXJdTGFzdC1Nb2RpZmllZF1B
Y2NlcHQtUmFuZ2VzWkNvbm5lY3Rpb25URGF0ZV5Db250ZW50LUxlbmd0aFpLZWVwLUFsaXZlVEV0
YWdcQ29udGVudC1UeXBlVkFwYWNoZV8QHVRodSwgMDggSnVuIDIwMDYgMTA6MzE6MDIgR01UVWJ5
dGVzXxAdV2VkLCAwMiBBdWcgMjAwNiAwMjowMzo1NyBHTVRTMzI4XxARdGltZW91dD0yLCBtYXg9
NzNfEBUiNWFjYjQwLTE0OC1mYjBiNjU4MCLSMTJlZqNmZzZfEBNOU011dGFibGVEaWN0aW9uYXJ5
XE5TRGljdGlvbmFyedIxMmlqomo2XxAZTlNIVFRQVVJMUmVzcG9uc2VJbnRlcm5hbNIxMmxto21u
Nl8QEU5TSFRUUFVSTFJlc3BvbnNlXU5TVVJMUmVzcG9uc2UACAARABsAJAApADIARABJAEwAYgBk
AIQAigCtALAAtAC3ALsAvgDBAMUAyADLAM8A0gDVANwA3wDjAOYA6ADqAOwA7gDwAPkA/AD+AQcB
CQESARQBGwEjAS8BMQEzATUBeAF9AYYBkQGVAZsBogGrAbUBvAG+AcABwgHJAdQB3AHmAegB6gHs
Ae4B8AHyAfQB9gH4AgICBAIGAggCCgIMAg4CEAISAhQCFgIdAisCOQJEAkkCWAJjAmgCdQJ8ApwC
ogLCAsYC2gLyAvcC+wMRAx4DIwMmA0IDRwNLA18AAAAAAAACAQAAAAAAAABvAAAAAAAAAAAAAAAA
AAADbU8RAUhHSUY4OWERABEAxB8ANDQ0s7Oze3t7zc3NioqKo6OjYWFhlZWVWlpa0tLSu7u7Q0ND
8PDwqampnJyc6enphoaGwcHBxMTEUlJS3Nzcrq6uycnJcXFx7e3taWlp4eHhgICA9vb25ubm2NjY
////IfkEAQAAHwAsAAAAABEAEQAABcXgJ34SNAHoBEljewBqJVUmcLSfsAgD4/sDnWB0WKwoyCRF
QljcJABBIUGtVgsCQGniaAwclYF43HCoJptCoXGZGAiVSqOh3pwOjUpAMEEg3npyLwANAQEKG38G
Bn4Qhg0oBQoRJYoGFw4REQoFMAcSFgMQfxsKHgkDFhIHEwQZAwkeBAQWGrYUpwMZBFANFBodD8LC
HRoUkCwHrw8YPz4YD7o3IhsZCgwc2dkMChkbOA5GER0cHREQCw44IkwICwALCLwtIQA7XxBAaHR0
cDovL3N0YXRpYy5yZWFsb25lLmNvbS9yb3R3L3BsYXllcmltYWdlcy9idG5fcGxheWxpc3Rfb2Zm
LmdpZtQGBwgJh4iJKE8RBGNicGxpc3QwMNQBAgMEBQYHClkkYXJjaGl2ZXJYJHZlcnNpb25UJHRv
cFgkb2JqZWN0c18QD05TS2V5ZWRBcmNoaXZlchIAAYag0QgJXxATV2ViUmVzb3VyY2VSZXNwb25z
ZYABrxAdCwwpLzA3ODxUVVZXWFlaW1xdXl9aYGFiYzdkaGtVJG51bGzfEBANDg8QERITFBUWFxgZ
GhscHR4fHiAhHiIjJCUdJiceKFIkNlMkMTBSJDJTJDEzUiQ3UiQzUyQxMVIkOFIkNFMkMTRSJDlS
JDBWJGNsYXNzUiQ1UyQxMlIkMRAHEAGABYAGgAAjQaUAf0FPT3IQyhAAI0GlAH874GfPgBwjQaUO
581d5SqAAtMqKxkhLS5XTlMuYmFzZVtOUy5yZWxhdGl2ZYAAgAOABF8QOmh0dHA6Ly9zdGF0aWMu
cmVhbG9uZS5jb20vcm90dy9wbGF5ZXJpbWFnZXMvYnRuX2JveF9sdC5naWbSMTIzNFgkY2xhc3Nl
c1okY2xhc3NuYW1lozQ1NlVOU1VSTFYlTlNVUkxYTlNPYmplY3RZaW1hZ2UvZ2lm0xgZHDk6O4AH
gBsQyNM9Phk/SVNaTlMub2JqZWN0c1dOUy5rZXlzqUBBQkNERUZHSIARgBKAE4AUgBWAFoAXgBiA
GalKS0xNTk9QUVKACIAJgAqAC4AMgA2ADoAPgBCAGlZTZXJ2ZXJdTGFzdC1Nb2RpZmllZF1BY2Nl
cHQtUmFuZ2VzWkNvbm5lY3Rpb25URGF0ZV5Db250ZW50LUxlbmd0aFpLZWVwLUFsaXZlVEV0YWdc
Q29udGVudC1UeXBlVkFwYWNoZV8QHVRodSwgMDggSnVuIDIwMDYgMTA6MzE6MDIgR01UVWJ5dGVz
XxAdV2VkLCAwMiBBdWcgMjAwNiAwMjowMzo1NiBHTVRTMjAyXxARdGltZW91dD0yLCBtYXg9ODFf
EBQiNzhkMWM0LWNhLWZiMGI2NTgwItIxMmVmo2ZnNl8QE05TTXV0YWJsZURpY3Rpb25hcnlcTlNE
aWN0aW9uYXJ50jEyaWqiajZfEBlOU0hUVFBVUkxSZXNwb25zZUludGVybmFs0jEybG2jbW42XxAR
TlNIVFRQVVJMUmVzcG9uc2VdTlNVUkxSZXNwb25zZQAIABEAGwAkACkAMgBEAEkATABiAGQAhACK
AK0AsAC0ALcAuwC+AMEAxQDIAMsAzwDSANUA3ADfAOMA5gDoAOoA7ADuAPAA+QD7AP0BBgEIAREB
EwEaASIBLgEwATIBNAFxAXYBfwGKAY4BlAGbAaQBrgG1AbcBuQG7AcIBzQHVAd8B4QHjAeUB5wHp
AesB7QHvAfEB+wH9Af8CAQIDAgUCBwIJAgsCDQIPAhYCJAIyAj0CQgJRAlwCYQJuAnUClQKbArsC
vwLTAuoC7wLzAwkDFgMbAx4DOgM/A0MDVwAAAAAAAAIBAAAAAAAAAG8AAAAAAAAAAAAAAAAAAANl
TxDKR0lGODlhBwAXAMQfAP///zMzM/39/f7+/vPz86ampj8/P6mpqaOjo9zc3J2dnenp6c3NzUZG
Rri4uOjo6F5eXjw8PPv7++Xl5eDg4NLS0tfX18nJyezs7O7u7lpaWkFBQXNzc3Z2dvb29v///yH5
BAEAAB8ALAAAAAAHABcAAAVH4PcJloMgn3doRhAIRaQsAEBBRV0zEaEDl8APUBH+EkbdJFnLMAGe
p+QpoFqHVez1JzD4dAPOYZjYKDC1D+DRabhEgIFgHgIAO18QOmh0dHA6Ly9zdGF0aWMucmVhbG9u
ZS5jb20vcm90dy9wbGF5ZXJpbWFnZXMvYnRuX2JveF9sdC5naWbUBgcICYuMjShPEQRiYnBsaXN0
MDDUAQIDBAUGBwpZJGFyY2hpdmVyWCR2ZXJzaW9uVCR0b3BYJG9iamVjdHNfEA9OU0tleWVkQXJj
aGl2ZXISAAGGoNEICV8QE1dlYlJlc291cmNlUmVzcG9uc2WAAa8QHQsMKS8wNzg8VFVWV1hZWltc
XV5fWmBhYmM3ZGhrVSRudWxs3xAQDQ4PEBESExQVFhcYGRobHB0eHx4gIR4iIyQlHSYnHihSJDZT
JDEwUiQyUyQxM1IkN1IkM1MkMTFSJDhSJDRTJDE0UiQ5UiQwViRjbGFzc1IkNVMkMTJSJDEQBxAB
gAWABoAAI0GlAH9A71DjEDwQACNBpQB/O+FglYAcI0GlDufLi6lMgALTKisZIS0uV05TLmJhc2Vb
TlMucmVsYXRpdmWAAIADgARfEDlodHRwOi8vc3RhdGljLnJlYWxvbmUuY29tL3JvdHcvcGxheWVy
aW1hZ2VzL2ljbl9jbG9zZS5naWbSMTIzNFgkY2xhc3Nlc1okY2xhc3NuYW1lozQ1NlVOU1VSTFYl
TlNVUkxYTlNPYmplY3RZaW1hZ2UvZ2lm0xgZHDk6O4AHgBsQyNM9Phk/SVNaTlMub2JqZWN0c1dO
Uy5rZXlzqUBBQkNERUZHSIARgBKAE4AUgBWAFoAXgBiAGalKS0xNTk9QUVKACIAJgAqAC4AMgA2A
DoAPgBCAGlZTZXJ2ZXJdTGFzdC1Nb2RpZmllZF1BY2NlcHQtUmFuZ2VzWkNvbm5lY3Rpb25URGF0
ZV5Db250ZW50LUxlbmd0aFpLZWVwLUFsaXZlVEV0YWdcQ29udGVudC1UeXBlVkFwYWNoZV8QHVRo
dSwgMDggSnVuIDIwMDYgMTA6MzE6MDIgR01UVWJ5dGVzXxAdV2VkLCAwMiBBdWcgMjAwNiAwMjow
Mzo1NSBHTVRSNjBfEBF0aW1lb3V0PTIsIG1heD04MV8QFSIxNTgwY2Y4LTNjLWZiMGI2NTgwItIx
MmVmo2ZnNl8QE05TTXV0YWJsZURpY3Rpb25hcnlcTlNEaWN0aW9uYXJ50jEyaWqiajZfEBlOU0hU
VFBVUkxSZXNwb25zZUludGVybmFs0jEybG2jbW42XxARTlNIVFRQVVJMUmVzcG9uc2VdTlNVUkxS
ZXNwb25zZQAIABEAGwAkACkAMgBEAEkATABiAGQAhACKAK0AsAC0ALcAuwC+AMEAxQDIAMsAzwDS
ANUA3ADfAOMA5gDoAOoA7ADuAPAA+QD7AP0BBgEIAREBEwEaASIBLgEwATIBNAFwAXUBfgGJAY0B
kwGaAaMBrQG0AbYBuAG6AcEBzAHUAd4B4AHiAeQB5gHoAeoB7AHuAfAB+gH8Af4CAAICAgQCBgII
AgoCDAIOAhUCIwIxAjwCQQJQAlsCYAJtAnQClAKaAroCvQLRAukC7gLyAwgDFQMaAx0DOQM+A0ID
VgAAAAAAAAIBAAAAAAAAAG8AAAAAAAAAAAAAAAAAAANkTxA8R0lGODlhCQAJAIABAAAAAP///yH5
BAEAAAEALAAAAAAJAAkAAAITDIJ4wMnbnnsnmWZpvbDPZRlBAQA7XxA5aHR0cDovL3N0YXRpYy5y
ZWFsb25lLmNvbS9yb3R3L3BsYXllcmltYWdlcy9pY25fY2xvc2UuZ2lm1AYHCAmLjI0o1AYHCAmL
jI0o1AYHCAmLjI0o1AYHCAmSk5QoTxEEaGJwbGlzdDAw1AECAwQFBgcKWSRhcmNoaXZlclgkdmVy
c2lvblQkdG9wWCRvYmplY3RzXxAPTlNLZXllZEFyY2hpdmVyEgABhqDRCAlfEBNXZWJSZXNvdXJj
ZVJlc3BvbnNlgAGvEB0LDCkvMDc4PFRVVldYWVpbXF1eX1pgYWJjN2Roa1UkbnVsbN8QEA0ODxAR
EhMUFRYXGBkaGxwdHh8eICEeIiMkJR0mJx4oUiQ2UyQxMFIkMlMkMTNSJDdSJDNTJDExUiQ4UiQ0
UyQxNFIkOVIkMFYkY2xhc3NSJDVTJDEyUiQxEAcQAYAFgAaAACNBpQB/QSfpdRCOEAAjQaUAfzvi
DGuAHCNBpQ7ny1O8kIAC0yorGSEtLldOUy5iYXNlW05TLnJlbGF0aXZlgACAA4AEXxA/aHR0cDov
L3N0YXRpYy5yZWFsb25lLmNvbS9yb3R3L3BsYXllcmltYWdlcy90YWdfc3BvbnNvcmVkYnkuZ2lm
0jEyMzRYJGNsYXNzZXNaJGNsYXNzbmFtZaM0NTZVTlNVUkxWJU5TVVJMWE5TT2JqZWN0WWltYWdl
L2dpZtMYGRw5OjuAB4AbEMjTPT4ZP0lTWk5TLm9iamVjdHNXTlMua2V5c6lAQUJDREVGR0iAEYAS
gBOAFIAVgBaAF4AYgBmpSktMTU5PUFFSgAiACYAKgAuADIANgA6AD4AQgBpWU2VydmVyXUxhc3Qt
TW9kaWZpZWRdQWNjZXB0LVJhbmdlc1pDb25uZWN0aW9uVERhdGVeQ29udGVudC1MZW5ndGhaS2Vl
cC1BbGl2ZVRFdGFnXENvbnRlbnQtVHlwZVZBcGFjaGVfEB1UaHUsIDA4IEp1biAyMDA2IDEwOjMx
OjAyIEdNVFVieXRlc18QHVdlZCwgMDIgQXVnIDIwMDYgMDI6MDM6NTUgR01UUzE0Ml8QEXRpbWVv
dXQ9MiwgbWF4PTc3XxAUIjVhY2I5OC04ZS1mYjBiNjU4MCLSMTJlZqNmZzZfEBNOU011dGFibGVE
aWN0aW9uYXJ5XE5TRGljdGlvbmFyedIxMmlqomo2XxAZTlNIVFRQVVJMUmVzcG9uc2VJbnRlcm5h
bNIxMmxto21uNl8QEU5TSFRUUFVSTFJlc3BvbnNlXU5TVVJMUmVzcG9uc2UACAARABsAJAApADIA
RABJAEwAYgBkAIQAigCtALAAtAC3ALsAvgDBAMUAyADLAM8A0gDVANwA3wDjAOYA6ADqAOwA7gDw
APkA+wD9AQYBCAERARMBGgEiAS4BMAEyATQBdgF7AYQBjwGTAZkBoAGpAbMBugG8Ab4BwAHHAdIB
2gHkAeYB6AHqAewB7gHwAfIB9AH2AgACAgIEAgYCCAIKAgwCDgIQAhICFAIbAikCNwJCAkcCVgJh
AmYCcwJ6ApoCoALAAsQC2ALvAvQC+AMOAxsDIAMjAz8DRANIA1wAAAAAAAACAQAAAAAAAABvAAAA
AAAAAAAAAAAAAAADak8QjkdJRjg5YQwAPACAAACZmZkAAAAh+QQAAAAAACwAAAAADAA8AAACZYSP
EMnL6FSIhqpkZ8z46P543jKJ1bWJpCl9Z/jCVgOVbBrjV6XpYbrKoW491m8U3KFsymSuGDvyXM2b
9UmdgZa6Vbfke2ygVVqUmIVhmd1rucVWN5lCzskOD5u51uTYL6cFEVgAADtfED9odHRwOi8vc3Rh
dGljLnJlYWxvbmUuY29tL3JvdHcvcGxheWVyaW1hZ2VzL3RhZ19zcG9uc29yZWRieS5naWbUBgcI
CZaXmA1PEQR/YnBsaXN0MDDUAQIDBAUGBwpZJGFyY2hpdmVyWCR2ZXJzaW9uVCR0b3BYJG9iamVj
dHNfEA9OU0tleWVkQXJjaGl2ZXISAAGGoNEICV8QE1dlYlJlc291cmNlUmVzcG9uc2WAAa8QHQsM
KS8wNzg8VFVWV1hZWltcXV5fWmBhYmM3ZGhrVSRudWxs3xAQDQ4PEBESExQVFhcYGRobHB0eHx4g
IR4iIyQlHSYnHihSJDZTJDEwUiQyUyQxM1IkN1IkM1MkMTFSJDhSJDRTJDE0UiQ5UiQwViRjbGFz
c1IkNVMkMTJSJDEQBxABgAWABoAAI0GlAH9BSvwFESMMEAAjQaUAfzwBPbiAHCNBpQ7ny0/bTYAC
0yorGSEtLldOUy5iYXNlW05TLnJlbGF0aXZlgACAA4AEXxBAaHR0cDovL3N0YXRpYy5yZWFsb25l
LmNvbS9yb3R3L2pzL3BsYXllckNvbnRyb2wuanM/YmlkPTk5NTkzNTk1MtIxMjM0WCRjbGFzc2Vz
WiRjbGFzc25hbWWjNDU2VU5TVVJMViVOU1VSTFhOU09iamVjdF8QGGFwcGxpY2F0aW9uL3gtamF2
YXNjcmlwdNMYGRw5OjuAB4AbEMjTPT4ZP0lTWk5TLm9iamVjdHNXTlMua2V5c6lAQUJDREVGR0iA
EYASgBOAFIAVgBaAF4AYgBmpSktMTU5PUFFSgAiACYAKgAuADIANgA6AD4AQgBpWU2VydmVyXUxh
c3QtTW9kaWZpZWRdQWNjZXB0LVJhbmdlc1pDb25uZWN0aW9uVERhdGVeQ29udGVudC1MZW5ndGha
S2VlcC1BbGl2ZVRFdGFnXENvbnRlbnQtVHlwZVZBcGFjaGVfEB1UaHUsIDA4IEp1biAyMDA2IDEw
OjMxOjAyIEdNVFVieXRlc18QHVdlZCwgMDIgQXVnIDIwMDYgMDI6MDM6NTUgR01UVDg5NzJfEBF0
aW1lb3V0PTIsIG1heD04MF8QFyIxNTdjZDFjLTIzMGMtZmIwYjY1ODAi0jEyZWajZmc2XxATTlNN
dXRhYmxlRGljdGlvbmFyeVxOU0RpY3Rpb25hcnnSMTJpaqJqNl8QGU5TSFRUUFVSTFJlc3BvbnNl
SW50ZXJuYWzSMTJsbaNtbjZfEBFOU0hUVFBVUkxSZXNwb25zZV1OU1VSTFJlc3BvbnNlAAgAEQAb
ACQAKQAyAEQASQBMAGIAZACEAIoArQCwALQAtwC7AL4AwQDFAMgAywDPANIA1QDcAN8A4wDmAOgA
6gDsAO4A8AD5APwA/gEHAQkBEgEUARsBIwEvATEBMwE1AXgBfQGGAZEBlQGbAaIBqwHGAc0BzwHR
AdMB2gHlAe0B9wH5AfsB/QH/AgECAwIFAgcCCQITAhUCFwIZAhsCHQIfAiECIwIlAicCLgI8AkoC
VQJaAmkCdAJ5AoYCjQKtArMC0wLYAuwDBgMLAw8DJQMyAzcDOgNWA1sDXwNzAAAAAAAAAgEAAAAA
AAAAbwAAAAAAAAAAAAAAAAAAA4FPESMMCmZ1bmN0aW9uIGJ1dHRvbkF1dGhlbnRpY2F0ZV9vbmNs
aWNrKCkKewoJLy8gQ2Fubm9uIGJlIGFub255bW91cyBsb2dpbiBpZiB0aGUgYnV0dG9uIHdhcyBj
bGlja2VkCglpZiAoZ2V0QWNjb3VudFR5cGUoKSA9PSAnYW5vbicgKSB7CgkJc2V0QWNjb3VudFR5
cGUoJ3JoYXB0aGluJyk7Cgl9Cgl2YXIgdXNlcm5hbWUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgndXNlcm5hbWUnKS52YWx1ZTsKCXZhciBmb3JtUGFzc3dvcmQgPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgncGFzc3dvcmQnKS52YWx1ZTsKCWlmICh1c2VybmFtZSA9PSAnJyB8fCBmb3JtUGFz
c3dvcmQgPT0gJycpIHsKCQlhbGVydCgnUGxlYXNlIGVudGVyIGEgdXNlcm5hbWUgYW5kIHBhc3N3
b3JkLicpOwoJCXJvbGxCdXR0b24oJ29mZicsJ2J0bl93aHQnLCdsb2dpbicpOwoJCXJldHVybjsK
CX0KCXZhciBjYWNoZVBhc3N3b3JkID0gUmhhcFguZ2V0VXNlckRhdGEoInBhc3N3b3JkIik7Cgl2
YXIgcmVtZW1iZXJNZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzYXZlcGFzc3dvcmQnKS5j
aGVja2VkOwoJc2V0VXNlck5hbWVJbkNvb2tpZSh1c2VybmFtZSwgcmVtZW1iZXJNZSk7CgkJCgly
ZXR2YWwgPSBSaGFwWC5zZXRVc2VyTmFtZSh1c2VybmFtZSk7CglpZiAoMCAhPSByZXR2YWwpIC8v
ICAwID09IGtTdWNjZXNzCgl7CgkJb25FcnJvcihyZXR2YWwpOwoJfQoJUmhhcFguc2V0VXNlckRh
dGEoInVzZXJuYW1lIiwgdXNlcm5hbWUsIGZhbHNlKTsKCgkvKiBpZiB3ZSBoYXZlIGEgcHcgaW4g
dGhlIGNhY2hlIHVzZSBpdCBhcyBsb25nIGFzIGl0CgkgICBtYXRjaGVzIHRoZSBmb3JtLiBJZiBu
byBwdyBpbiB0aGUgY2FjaGUgdGhlbiB1c2UKCSAgIHRoZSBmb3JtICovCgl2YXIgcGFzc3dvcmQ7
CiAgICAgICAgaWYgKGNhY2hlUGFzc3dvcmQgJiYgY2FjaGVQYXNzd29yZCAhPSAiIikgewoJCWlm
IChjYWNoZVBhc3N3b3JkID09IGZvcm1QYXNzd29yZCkgewoJCQlwYXNzd29yZCA9IGNhY2hlUGFz
c3dvcmQ7CgkJfSBlbHNlIHsKCQkJcGFzc3dvcmQgPSBmb3JtUGFzc3dvcmQ7CgkJCVJoYXBYLnNl
dFVzZXJEYXRhKCJwYXNzd29yZCIsIHBhc3N3b3JkLCB0cnVlKTsKCQl9Cgl9IGVsc2UgewoJCXBh
c3N3b3JkID0gZm9ybVBhc3N3b3JkOwoJCVJoYXBYLnNldFVzZXJEYXRhKCJwYXNzd29yZCIsIHBh
c3N3b3JkLCB0cnVlKTsKCX0KCXJldFZhbCA9IFJoYXBYLnNldFBhc3N3b3JkKHBhc3N3b3JkKTsK
CQoJaWYgKDAgIT0gcmV0dmFsKSAvLyAgMCA9PSBrU3VjY2VzcwoJewoJCW9uRXJyb3IocmV0dmFs
KTsKCX0KCS8qIEEgbGl0dGxlIG5hc3R5IC0gbW96IGFsd2F5cyB0cmVhdHMgdGhpcyBhIGJvb2xl
YW4gYnV0CgkgICB0aGUgYXBpIHJlcXVpcmVzIGEgc3RyaW5nLiBBbHdheXMgbWFrZSBzdXJlIGl0
J3MgYSBzdHJpbmcgKi8KCWlmIChyZW1lbWJlck1lID09ICd0cnVlJyB8fCByZW1lbWJlck1lKSB7
CgkJUmhhcFguc2V0VXNlckRhdGEoInJlbWVtYmVyLW1lIiwgInRydWUiLCBmYWxzZSk7Cgl9IGVs
c2UgewoJCVJoYXBYLnNldFVzZXJEYXRhKCJyZW1lbWJlci1tZSIsICJmYWxzZSIsIGZhbHNlKTsK
CX0KCglyZXR2YWwgPSBSaGFwWC5hdXRoZW50aWNhdGUoKTsKCWlmIChyZXR2YWwgIT0gMCkgewoJ
IAlzaG93TG9naW4oKTsKCQlzaG93TG9naW5FcnJvcigpOwoJCWlzTG9nZ2VkSW5QbGF5ZXIgPSBm
YWxzZTsKCX1lbHNlewoJCWNsZWFyTG9naW5FcnJvcigpOwoJCWlzTG9nZ2VkSW5QbGF5ZXIgPSB0
cnVlOwoJfQoJcm9sbEJ1dHRvbignb2ZmJywnYnRuX3dodCcsJ2xvZ2luJyk7Cgp9CgpmdW5jdGlv
biBvblhtbE1lc3NhZ2VEb25lKHhtbCxlcnJvckNvZGUpCnsKCWRlYnVnICgieG1sIGlzOiAiICsg
eG1sICsgIiBlcnJvcjogIiArIGVycm9yQ29kZSk7CgkvKipzbyB0aGUgYXJncyBoZXJlIGFyZSBz
d2l0Y2hlZCBhcm91bmQuIFRoZSB4bWwgaXMgY29taW5nIGJhY2sKCQlpbiB0aGUgZXJyb3JDb2Rl
IGFuZCB2aWNlIHZlcnNhICoqLwoJaWYgKGVycm9yQ29kZSAhPSAwICkgewoJCS8vYWxlcnQgKCJF
cnJvciByZXRyaWV2aW5nIGRhdGEgZm9yIGNvbnRlbnQuIEVycm9yIENvZGU6ICIgKyBlcnJvckNv
ZGUpOwoJfSBlbHNlIHsKCQlwcm9jZXNzWE1MKHhtbCk7Cgl9Cn0KCgpmdW5jdGlvbiBvbkF1dGhl
bnRpY2F0ZURvbmUocmVzdWx0KQp7CmRlYnVnKCdBdXRoZW50aWNhdGlvbiBmaW5pc2hlZC4gcmVz
dWx0OiAnICsgcmVzdWx0KTsKdmFyIGNsb3NlU2VsZiA9IHRydWU7CiAgICBpZiAocmVzdWx0ID09
IDApIHsKCSAgICAJdmFyIGNvb2tpZUdyb3VwID0gbmV3IENvb2tpZUdyb3VwKCJSaGFwV2ViIik7
CgkgICAgCWNvb2tpZUdyb3VwLmRlbGV0ZUNvb2tpZSgiUmhhcEF1dGhMT0dPVVQiKTsKCQl2YXIg
Zm9jdXNPcGVuZXIgPSBmdW5jdGlvbihmb2N1c09wZW5lcil7CgkJCWlmKHdpbmRvdy5vcGVuZXIg
JiYgIXdpbmRvdy5vcGVuZXIuY2xvc2VkICYmIHdpbmRvdy5vcGVuZXIuZG9jdW1lbnQubG9jYXRp
b24pIHsKCQkJCWlmKGZvY3VzT3BlbmVyKSB3aW5kb3cub3BlbmVyLmZvY3VzKCk7CgkJCX0KCQl9
CgkJdmFyIGd1aWQgPSBSaGFwWC5nZXRBY2NvdW50UHJvcGVydHkoInVkc3VzZXJndWlkIik7CgkJ
c2V0R3VpZEluQ29va2llKGd1aWQsIFJoYXBYLmdldFVzZXJEYXRhKCJyZW1lbWJlci1tZSIpKTsK
CQl0cnkgewoJCQlpZiAoZ2V0QWNjb3VudFR5cGUoKSA9PSAnYW5vbicpIHsKCQkJCXNldEFub25H
dWlkSW5Db29raWUoZ3VpZCk7CgkJCQlSaGFwWC5zZXRVc2VyRGF0YSgiYXV0by1sb2dpbiIsImZh
bHNlIixmYWxzZSk7CgkJCX0gZWxzZSB7CgkJCQlSaGFwWC5zZXRVc2VyRGF0YSgiYXV0by1sb2dp
biIsInRydWUiLGZhbHNlKTsKCQkJfQoJCX0gY2F0Y2ggKGUpe30KCQkKCQljbGVhckxvZ2luRXJy
b3IoKTsKCQlSaGFwWC5zZXRVc2VyRGF0YSgic3RhdGUiLCJsb2dnZWRpbiIsZmFsc2UpOwoJCWlm
IChsb2NhdGlvbi5nZXRQYXJhbWV0ZXIoJ3R5cGUnKSkgewoKCQkJaWYgKGxvY2F0aW9uLnBhdGhu
YW1lLmluZGV4T2YoJ3BsYXllcicpID09IC0xKSB7ICAvKiBEaXJlY3QgdG8gdGhlIHBsYXllciBw
cm9wZXIgKi8KCQkJCXRyeSB7CgkJCQkJZm9jdXNPcGVuZXIoKTsKCQkJCX0gY2F0Y2ggKGUpe30K
CQkJCQlzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7CgkJCQkJCWRvY3VtZW50LmxvY2F0aW9uLnJlcGxh
Y2UocmhhcHNvZHlVUkwrJy9wbGF5ZXInK2xvY2F0aW9uLnNlYXJjaCkKCQkJCQl9LCAyMDAwKTsK
CQkJCQlyZXR1cm47CgkJCX0KCQkJZ2V0TWV0YURhdGEobG9jYXRpb24uZ2V0UGFyYW1ldGVyKCd0
eXBlJyksIGxvY2F0aW9uLmdldFBhcmFtZXRlcignaWQnKSwgbG9jYXRpb24uZ2V0UGFyYW1ldGVy
KCd0aXRsZScpLCBsb2NhdGlvbi5nZXRQYXJhbWV0ZXIoJ3JlbW90ZScpKTsKCQkJaWYgKGdTaWxl
bnRTaWduSW4gIT0gInRydWUiKXsKCQkJCXRyeSB7CgkJCQkJZm9jdXNPcGVuZXIoKTsKCQkJCSB9
IGNhdGNoIChlKXsgfQoJCQkgfQoJCSB9IGVsc2UgewoJCQkgLyphc3N1bWUgc2lnbiBpbiBvbmx5
ICovCgkJCSB0cnkgewoJCQkJICBmb2N1c09wZW5lcih0cnVlKTsKCQkJICAgfSBjYXRjaCAoZSl7
fQoJCQlzZXRUaW1lb3V0KCJzZWxmLmNsb3NlKCkiLCAzMDAwKTsKCQkJcmV0dXJuOyAKCQkgfQoJ
CQkgCiAgICAgfSBlbHNlIHsKCXNob3dMb2dpbigpOwogICAgCXNob3dMb2dpbkVycm9yKCk7Cgls
b2dvdXRSaGFwWCgpOwoJUmhhcFguc2V0VXNlckRhdGEoInVzZXJuYW1lIiwiIixmYWxzZSk7CglS
aGFwWC5zZXRVc2VyRGF0YSgicGFzc3dvcmQiLCIiLGZhbHNlKTsKCVJoYXBYLnNldFVzZXJEYXRh
KCJyZW1lbWJlci1tZSIsImZhbHNlIixmYWxzZSk7CglSaGFwWC5zZXRVc2VyRGF0YSgiYXV0by1s
b2dpbiIsImZhbHNlIixmYWxzZSk7Cgl2YXIgY29va2llR3JvdXAgPSBuZXcgQ29va2llR3JvdXAo
IlJoYXBXZWIiKTsKCWlmIChjb29raWVHcm91cC5oYXNDb29raWUoIlJoYXBVc2VyIikpewoJCQlj
b29raWVHcm91cC5kZWxldGVDb29raWUoIlJoYXBVc2VyIik7Cgl9CglyZXR1cm47CiAgICB9CiAg
ICBwcmVwVUkoKTsKCWFjY291bnRSZW5kZXIoUmhhcFguZ2V0QWNjb3VudFByb3BlcnR5KCJzdWJz
Y3JpcHRpb25UeXBlIikpOwp9CgpmdW5jdGlvbiBvblRyYWNrT3BlbmVkKHRyYWNrSWQpCnsKICAg
IGFsZXJ0KCJUcmFjayAiICsgdHJhY2tJZCArICJvcGVuZWQuIik7Cgp9CgpmdW5jdGlvbiBvblRy
YWNrQ2xvc2VkKHRyYWNrSWQpCnsKICAgIGFsZXJ0KCJUcmFjayAiICsgdHJhY2tJZCArICJjbG9z
ZWQuIik7Cn0KCmZ1bmN0aW9uIG9uQnVmZmVyaW5nUHJvZ3Jlc3MocGVyY2VudGFnZSkKewogICAg
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRyYWNrUGxheVN0YXRlIikuaW5uZXJUZXh0ID0gIkJ1
ZmZlcmluZyAiICsgcGVyY2VudGFnZSArICIlIjsKfQoKZnVuY3Rpb24gb25QbGF5U3RhdGVDaGFu
Z2VkKG9sZFN0YXRlLCBuZXdTdGF0ZSkKewogICAgc3dpdGNoIChuZXdTdGF0ZSkKICAgIHsKICAg
ICAgICBjYXNlIDA6CiAgICAgICAgewogICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgidHJhY2tQbGF5U3RhdGUiKS5pbm5lckhUTUwgPSAiU3RvcHBlZCI7CgkJCWNoYW5nZVN0YXRl
KCJidG5fcGxheSIsIm9mZiIpOwogICAgICAgICAgICBicmVhazsKICAgICAgICB9CiAgICAgICAg
Y2FzZSAxOgogICAgICAgIHsKICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRy
YWNrUGxheVN0YXRlIikuaW5uZXJIVE1MID0gIk9wZW5pbmciOwogICAgICAgICAgICBicmVhazsK
ICAgICAgICB9CgkJY2FzZSAyOgogICAgICAgIHsKICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInRyYWNrUGxheVN0YXRlIikuaW5uZXJIVE1MID0gIk9wZW5lZCI7CiAgICAgICAg
ICAgIGJyZWFrOwogICAgICAgIH0KCiAgICAgICAgY2FzZSAzOgogICAgICAgIHsKICAgICAgICAg
ICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRyYWNrUGxheVN0YXRlIikuaW5uZXJIVE1MID0g
IkJ1ZmZlcmluZyI7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgIH0KICAgICAgICBjYXNlIDQ6
CiAgICAgICAgewoJCQlpZiAocGxheWVyTW9kZSAhPSAncmFkaW8nICYmIHBsYXllck1vZGUgIT0g
J2FydGlzdHJhZGlvJyl7CgkJCQl2YXIgbmV3SW5kZXggPSB0cmFja1F1ZXVlLmdldFRyYWNrSW5k
ZXhCeVRyYWNrSWQoUmhhcFguZ2V0VHJhY2tJZCgpKTsKCQkJCWlmICh0cmFja1F1ZXVlLmdldEN1
cnJlbnRQb3NpdGlvbigpICE9IG5ld0luZGV4KSB7CgkJCQkgICAgcmVuZGVyTm93UGxheWluZyh0
cmFja1F1ZXVlLnNraXBUb1RyYWNrKG5ld0luZGV4KSk7CgkJCQl9CgkJCX0JCQkKCQkJCiAgICAg
ICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRyYWNrUGxheVN0YXRlIikuaW5uZXJIVE1M
ID0gIlBsYXlpbmciOwoJCSAgIGNoYW5nZVN0YXRlKCJidG5fcGxheSIsIm9uIik7CgkJICAgaWYg
KHBsYXllck1vZGUgPT0gInRyYWNrcyIpewoJCSAgIAljaGFuZ2VTdGF0ZSgiYnRuX3BhdXNlIiwi
b2ZmIik7CgkJCX1lbHNlewoJCQljaGFuZ2VTdGF0ZSgiYnRuX3N0b3AiLCJvZmYiKTsKCQkJfQoJ
CSAgIGJyZWFrOwogICAgICAgIH0KICAgICAgICBjYXNlIDU6CiAgICAgICAgewogICAgICAgICAg
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0cmFja1BsYXlTdGF0ZSIpLmlubmVySFRNTCA9ICJQ
YXVzZWQiOwoJCSAgIGNoYW5nZVN0YXRlKCJidG5fcGxheSIsIm9mZiIpOwkKCQkgICBpZiAocGxh
eWVyTW9kZSA9PSAidHJhY2tzIil7CgkJICAgCWNoYW5nZVN0YXRlKCJidG5fcGF1c2UiLCJvbiIp
OwoJCQl9ZWxzZXsKCQkJY2hhbmdlU3RhdGUoImJ0bl9zdG9wIiwib24iKTsKCQkJfQogICAgICAg
ICAgICBicmVhazsKICAgICAgICB9CiAgICAgICAgY2FzZSA2OgogICAgICAgIHsKICAgICAgICAg
ICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRyYWNrUGxheVN0YXRlIikuaW5uZXJIVE1MID0g
IlNlZWtpbmciOwogICAgICAgICAgICBicmVhazsKICAgICAgICB9CiAgICB9Cn0KCmZ1bmN0aW9u
IG9uUG9zaXRpb25DaGFuZ2VkKGN1cnJlbnRQb3NpdGlvbikKewogICAgZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImN1cnJlbnRQb3NpdGlvbiIpLmlubmVySFRNTCA9IGNvbnZlcnRUaW1lKGN1cnJl
bnRQb3NpdGlvbik7Cn0KCmZ1bmN0aW9uIG9uRHVyYXRpb25DaGFuZ2VkKGN1cnJlbnREdXJhdGlv
bikKewoKICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRyYWNrRHVyYXRpb24iKS5pbm5lckhU
TUwgPSAiLyIrY29udmVydFRpbWUoY3VycmVudER1cmF0aW9uKTsKfQoKCmZ1bmN0aW9uIG9uQ3Vy
cmVudFBvc2l0aW9uKGN1cnJlbnRQb3NpdGlvbikKewogICAgY3VyUG9zaXRpb24udmFsdWUgPSBj
dXJyZW50UG9zaXRpb247Cn0KCmZ1bmN0aW9uIG9uRG93bmxvYWRQcm9ncmVzcyhkb3dubG9hZFBy
b2dyZXNzKSB7CgkKfQoKZnVuY3Rpb24gbG9nb3V0UmhhcFgoKSB7Cgl2YXIgY29va2llR3JvdXAg
PSBuZXcgQ29va2llR3JvdXAoIlJoYXBXZWIiKTsKCVJoYXBYLnNldFVzZXJEYXRhKCJzdGF0ZSIs
ImxvZ2dlZG91dCIsZmFsc2UpOwoJaWYoY29va2llR3JvdXAuaGFzQ29va2llKCJSaGFwRnJlZVBs
YXlXYXJuIikpewoJCQljb29raWVHcm91cC5kZWxldGVDb29raWUoIlJoYXBGcmVlUGxheVdhcm4i
KTsKCX0KCWlmIChjb29raWVHcm91cC5oYXNDb29raWUoIlJoYXBIaXN0b3J5IikpewoJCQljb29r
aWVHcm91cC5kZWxldGVDb29raWUoIlJoYXBIaXN0b3J5Iik7Cgl9CgkKCQkKCXJldHZhbCA9IFJo
YXBYLmxvZ291dCgpOwoJY29va2llR3JvdXAuZGVsZXRlQ29va2llKCJSaGFwQXV0aCIpOwoJY29v
a2llR3JvdXAuZGVsZXRlQ29va2llKCJSaGFwQXV0aFdNUCIpOwoJaWYgKGlzSW5XbXAoKSl7CgkJ
Y29va2llR3JvdXAuc2V0Q29va2llKCJSaGFwQXV0aFdNUExPR09VVCIsImd1aWQ9dGVtcEd1aWQi
LDEwMDAwKTsKCX0KCWNvb2tpZUdyb3VwLnNldENvb2tpZSgiUmhhcEF1dGhMT0dPVVQiLCJndWlk
PXRlbXBHdWlkIiwxMDAwMCk7Cn0KCmZ1bmN0aW9uIHNpZ25PdXQoKSB7Cglsb2dvdXRSaGFwWCgp
OwoJdHJ5IHsKCQlpZiAod2luZG93Lm9wZW5lciAmJiAhd2luZG93Lm9wZW5lci5jbG9zZWQgKSB7
CgkJCXdpbmRvdy5vcGVuZXIuZm9jdXMoKTsKCQl9CgkgfSBjYXRjaCAoZSl7fQoJc2VsZi5jbG9z
ZSgpOwp9CgpmdW5jdGlvbiBvbkxvZ291dERvbmUoKQp7Cn0KCmZ1bmN0aW9uIG9uRXJyb3IoZXJy
b3JDb2RlKQp7CglpZiAoZXJyb3JDb2RlID09IDUpIHsKCQlhbGVydCAoIldlJ3JlIHNvcnJ5LCB0
aGlzIHRyYWNrIGlzIGN1cnJlbnRseSB1bmF2YWlsYWJsZSBmb3IgcGxheWJhY2suIik7CgkJcGxh
eU5leHRUcmFja0JlY2F1c2VPZlVuYXZhaWxhYmxlQ29udGVudCgpOwoJCXJldHVybjsKCX0KCWlm
IChlcnJvckNvZGUgPT0gMTEpIHsKCQlkaXNwbGF5U2VydmVyS2lja09mZigpOwoJCXJldHVybjsK
CX0KCWVycm9yU3RyaW5nID0gZXJyb3JDb2RlVG9TdHJpbmcoZXJyb3JDb2RlKTsKCWlmIChlcnJv
clN0cmluZyA9PSAiVW5kZWZpbmVkIEVycm9yIiB8fCBlcnJvclN0cmluZyA9PSAgIlVua25vd24i
KSAKCXsKCQlkaXNwbGF5RXJyb3IoKTsKCX0KfQoKZnVuY3Rpb24gZXJyb3JDb2RlVG9TdHJpbmco
ZXJyb3JDb2RlKQp7CnN3aXRjaCAoZXJyb3JDb2RlKQp7CmNhc2UgMDoKcmV0dXJuICJTdWNjZXNz
IjsKYnJlYWs7CmNhc2UgMToKcmV0dXJuICJGYWlsdXJlIjsKYnJlYWs7CmNhc2UgMjoKcmV0dXJu
ICJVbmtub3duIjsKYnJlYWs7CmNhc2UgMzoKcmV0dXJuICJTZXJ2ZXJSZXF1ZXN0RmFpbGVkIjsK
YnJlYWs7CmNhc2UgNDoKcmV0dXJuICJMb2dpbkZhaWxlZCI7CmJyZWFrOwpjYXNlIDU6CnJldHVy
biAiQmFkU2VydmVyUmVzcG9uc2UiOwpicmVhazsKY2FzZSA2OgpyZXR1cm4gIk5vdCBpbml0aWFs
aXplZCIKYnJlYWs7CmRlZmF1bHQ6CnJldHVybiAiVW5kZWZpbmVkIEVycm9yIjsKYnJlYWs7Cn0K
Ly8gIFJldHVybiBzb21ldGhpbmcgaGVyZSBpbiBjYXNlIGFib3ZlIGdldHMgY2hhbmdlZApyZXR1
cm4gIlVua25vd24gRXJyb3IiOwp9CgpmdW5jdGlvbiBvbk1ldGFkYXRhUmVjZWl2ZWQodHJhY2tJ
ZCkgewoJLyogcmVuZXcgdGhlIGxlYXNlIG9uIHlvdXIgY29va2llcyB3aGlsc3QgeW91IHN0aWxs
IHBsYXkgY29udGVudCAqLwoJdmFyIGd1aWQgPSBSaGFwWC5nZXRBY2NvdW50UHJvcGVydHkoInVk
c3VzZXJndWlkIik7CglzZXRHdWlkSW5Db29raWUoZ3VpZCwgUmhhcFguZ2V0VXNlckRhdGEoInJl
bWVtYmVyLW1lIikpOwoJaWYgKHBsYXllck1vZGUgIT0gJ3JhZGlvJyAmJiBwbGF5ZXJNb2RlICE9
ICdhcnRpc3RyYWRpbycpewoJCWZyZWVQbGF5c1JlbmRlcigpOwoJfQoJaWYgKHBsYXllck1vZGUg
PT0gJ3JhZGlvJyB8fCBwbGF5ZXJNb2RlID09ICdhcnRpc3RyYWRpbycpewoJCXRyYWNrUXVldWUg
PSAiIjsKCQlpZihyYWRpb1dhaXRYTUwgPT0gZmFsc2UpewoJCQlnZXRYTUwocmhhcERhdGFTZXJ2
aWNlSWQsICJ0cmFjayIsIFJoYXBYLmdldFRyYWNrSWQoKSwgdHJ1ZSk7IAoJCQlsb29wVW50aWxS
YWRpb1RyYWNrSW5mb0lzUmVhZHkoKTsKCQl9Cgl9Cn0KCmZ1bmN0aW9uIG9uTG9naW5TdGF0ZUNo
YW5nZWQob2xkU3RhdGUsIG5ld1N0YXRlLCBzdGF0dXMpIHsKCWlmIChzdGF0dXMgPT0gMykgeyAv
KiBuZXR3b3JrIGVycm9yICovCgkJZGlzcGxheUVycm9yKCk7CgkJcmV0dXJuOwoJfQoJaWYgKG9s
ZFN0YXRlID09IDIgJiYgbmV3U3RhdGUgPT0gMCkgewoJCS8qIEltcGxlbWVudCB0aGlzIHdoZW4g
VjEgb2YgdGhlIHBsdWdpbiBpcyBhdmFpbGFibGUKCQlpZiAoc3RhdHVzID0gMTMpIHsgKi8KCQkJ
ZGlzcGxheVNlcnZlcktpY2tPZmYoKTsKCQkvKn0gKi8KCQlyZXR1cm47Cgl9Cn0KCmZ1bmN0aW9u
IG9uSWRsZShpZGxlVGltZUluU2VjUmVtYWluaW5nVW50aWxMb2dvdXQpewogICAgZGlzcGxheUlk
bGVXYXJuaW5nKGlkbGVUaW1lSW5TZWNSZW1haW5pbmdVbnRpbExvZ291dCk7Cn1fEEBodHRwOi8v
c3RhdGljLnJlYWxvbmUuY29tL3JvdHcvanMvcGxheWVyQ29udHJvbC5qcz9iaWQ9OTk1OTM1OTUy
1AYHCAmam5woTxEExmJwbGlzdDAw1AECAwQFBgcKWSRhcmNoaXZlclgkdmVyc2lvblQkdG9wWCRv
YmplY3RzXxAPTlNLZXllZEFyY2hpdmVyEgABhqDRCAlfEBNXZWJSZXNvdXJjZVJlc3BvbnNlgAGv
EB0LDCkvMDc4PFRVVldYWVpbXF1eX2BhYmM3ZGVpbFUkbnVsbN8QEA0ODxAREhMUFRYXGBkaGxwd
Hh8eICEeIiMkJR0mJx4oUiQ2UyQxMFIkMlMkMTNSJDdSJDNTJDExUiQ4UiQ0UyQxNFIkOVIkMFYk
Y2xhc3NSJDVTJDEyUiQxEAcQAYAFgAaAACNBpQB/Qha2FxAjEAAjQaUAf0GbVvyAHCNBpQC1B4Sg
5YAC0yorGSEtLldOUy5iYXNlW05TLnJlbGF0aXZlgACAA4AEXxBiaHR0cDovL3d3dy5pZmFjdHou
Y29tL3RyYWNraW5nL3RyYWNrLmFzcD9PZmZlclNob3J0TmFtZT1SSEFQV0VCMSZwMT0zJTIwJTJE
JTIwUmhhcHNvZHkrUGxheWVyJnExPTHSMTIzNFgkY2xhc3Nlc1okY2xhc3NuYW1lozQ1NlVOU1VS
TFYlTlNVUkxYTlNPYmplY3RZaW1hZ2UvZ2lm0xgZHDk6O4AHgBsQyNM9Phk/SVNaTlMub2JqZWN0
c1dOUy5rZXlzqUBBQkNERUZHSIARgBKAE4AUgBWAFoAXgBiAGalKS0xNTk9QUVKACIAJgAqAC4AM
gA2ADoAPgBCAGlZTZXJ2ZXJdQ2FjaGUtQ29udHJvbFREYXRlXkNvbnRlbnQtTGVuZ3RoV0V4cGly
ZXNaU2V0LUNvb2tpZVxYLVBvd2VyZWQtQnlcQ29udGVudC1UeXBlU1AzcF8QEU1pY3Jvc29mdC1J
SVMvNi4wV3ByaXZhdGVfEB1XZWQsIDAyIEF1ZyAyMDA2IDAyOjAzOjUyIEdNVFIzNV8QHVdlZCwg
MDIgQXVnIDIwMDYgMDM6NTk6MDAgR01UXxA1QVNQU0VTU0lPTklEQUNEQ0NUU0E9SUlPS0xOTkRF
Q1BBRkZNSUdERFBORE5EOyBwYXRoPS9XQVNQLk5FVF8QGENQPSJOT04gU1RQIFNUQSBQU0EgT1RS
ItIxMmZno2doNl8QE05TTXV0YWJsZURpY3Rpb25hcnlcTlNEaWN0aW9uYXJ50jEyamuiazZfEBlO
U0hUVFBVUkxSZXNwb25zZUludGVybmFs0jEybW6jbm82XxARTlNIVFRQVVJMUmVzcG9uc2VdTlNV
UkxSZXNwb25zZQAIABEAGwAkACkAMgBEAEkATABiAGQAhACKAK0AsAC0ALcAuwC+AMEAxQDIAMsA
zwDSANUA3ADfAOMA5gDoAOoA7ADuAPAA+QD7AP0BBgEIAREBEwEaASIBLgEwATIBNAGZAZ4BpwGy
AbYBvAHDAcwB1gHdAd8B4QHjAeoB9QH9AgcCCQILAg0CDwIRAhMCFQIXAhkCIwIlAicCKQIrAi0C
LwIxAjMCNQI3Aj4CTAJRAmACaAJzAoACjQKRAqUCrQLNAtAC8AMoAzADSwNQA1QDagN3A3wDfwOb
A6ADpAO4AAAAAAAAAgEAAAAAAAAAcAAAAAAAAAAAAAAAAAAAA8ZPECNHSUY4OWEBAAEAgP8A////
AAAALAAAAAABAAEAAAICRAEAO18QYmh0dHA6Ly93d3cuaWZhY3R6LmNvbS90cmFja2luZy90cmFj
ay5hc3A/T2ZmZXJTaG9ydE5hbWU9UkhBUFdFQjEmcDE9MyUyMCUyRCUyMFJoYXBzb2R5K1BsYXll
ciZxMT0x1QkHnp8IoKGio6RfEBtXZWJSZXNvdXJjZVRleHRFbmNvZGluZ05hbWVfEBRXZWJSZXNv
dXJjZUZyYW1lTmFtZVl0ZXh0L2h0bWxPEf8QPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0Mv
L0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3ho
dG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPjxIVE1MPjxIRUFEPjxUSVRMRT5SaGFw
c29keSBQbGF5ZXI8L1RJVExFPjxMSU5LIGhyZWY9Imh0dHA6Ly9zdGF0aWMucmVhbG9uZS5jb20v
cm90dy9pbWFnZXMvZmF2aWNvbi5pY28/YmlkPTk5NTkzNTk1MiIgdHlwZT0iaW1hZ2UveC1pY29u
IiByZWw9Imljb24iPjxMSU5LIGhyZWY9Imh0dHA6Ly9zdGF0aWMucmVhbG9uZS5jb20vcm90dy9p
bWFnZXMvZmF2aWNvbi5pY28/YmlkPTk5NTkzNTk1MiIgdHlwZT0iaW1hZ2UveC1pY29uIiByZWw9
IlNIT1JUQ1VUIElDT04iPjxTQ1JJUFQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KdmFyIHdhaXRY
TUwgPSBmYWxzZTsKdmFyIHJhZGlvV2FpdFhNTCA9IGZhbHNlOwp2YXIgZ1Nlc3Npb25UaW1lZE91
dCA9IGZhbHNlOwp2YXIgc2lnblVwVVJMID0gImh0dHA6Ly9yaGFwc29keXRyYWNraW5nLnJlYWwu
Y29tL2FjY291bnQvc2lnbnVwIjsKdmFyIHJoYXBEYXRhU2VydmljZUlkID0gImh0dHA6Ly93d3cu
cmhhcHNvZHkuY29tL3dlYnNlcnZpY2UiOwp2YXIgcmhhcHNvZHlVUkwgPSAiaHR0cDovL3d3dy5y
aGFwc29keS5jb20iOwp2YXIgamlsbFNlcnZlciA9ICJodHRwOi8vcmhhcC1hcHAucmVhbC5jb20v
cmhhcHNlcnZlciI7CnZhciBkb3dubG9hZEhvbWUgPSJodHRwOi8vZm9ybXMucmVhbC5jb20vcmVh
bC9wbGF5ZXIvZG93bmxvYWQuaHRtbD9mPSI7CnZhciBzdGF0aWNQYXRoID0gImh0dHA6Ly9zdGF0
aWMucmVhbG9uZS5jb20vcm90dy8iOwp2YXIgTGlua1NlcnZlciA9ICJodHRwOi8vcmhhcC1hcHAu
cmVhbC5jb20vcmhhcGxpbmsiOwppZiAoc3RhdGljUGF0aCA9PSAnLycpeyAvKiBGaXJlZm94IGlu
c3RhbGwgZG9lc24ndCBsaWtlIHJlbGF0aXZlIHBhdGhuYW1lICovCnN0YXRpY1BhdGggPSByaGFw
c29keVVSTCsnLyc7Cn0KdmFyIGltYWdlUGF0aCA9IHN0YXRpY1BhdGgrInBsYXllcmltYWdlcy8i
Owp2YXIgdHJhY2tRdWV1ZTsKdmFyIHJhZGlvU3RhdGlvbjsKdmFyIGdlbnJlTGlzdDsKdmFyIHJo
YXBzb2R5OyAvKiBzdHViIGZvciBtYWluIHJoYXBzb2R5IHdlYnBhZ2VzICovCndpbmRvdy5uYW1l
PSJyaGFwUGxheWVyIjsKdmFyIHBsYXllck1vZGU7CnZhciBjdXJyZW50UGxheVN0YXRlID0gMDsK
dmFyIGdTaWxlbnRTaWduSW4gPSAiZmFsc2UiOyAvKiBTZXQgd2hlbiBhIHNpbGVudCBzaWduIGlu
IGhhcHBlbnMgc28gd2UgZG9uJ3QgcmVmcmVzaCB0aGUgb3BlbmVyKSAqLwovKiB0aGUgdmVyc2lv
biBvZiBSaGFwWCB0byB1c2UgaGFzIG1vdmVkIHRvIHBsYXllclV0aWxpdGllcyovCnZhciBSaGFw
WDsKdmFyIGdNZW1iZXI7IC8qIEdsb2JhbCB2YXIgdG8gaG9sZCB0aGUgbWVtYmVyIGRldGFpbHMu
IEEganMgdmVyc2lvbiBvZiB0aGUgbWVtYmVyIGJlYW4gKi8KLyogdmFycyBmb3IgdGhlIGFkIHNy
YyAqLwp2YXIgdGhlQXJ0aXN0SWQgPSAiIjsKdmFyIGFjY3RUeXBlID0gIiI7CnZhciBoYXNGcmVl
UGxheXMgPSAiIjsKdmFyIGlzUG10ID0gIiI7CnZhciBpc0xvZ2dlZEluUGxheWVyID0gIiI7CnZh
ciB0cmFja0hpc3RvcnkgPSAiIjsKdmFyIGxhc3RUcmFja1BsYXllZCA9ICIiOwp2YXIgZ0FjY291
bnRUeXBlID0gIiI7CnZhciBjYW5CdXlUcmFja3MgPSBmYWxzZTsKPC9TQ1JJUFQ+PFNDUklQVCB0
eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iaHR0cDovL3N0YXRpYy5yZWFsb25lLmNvbS9yb3R3
L2pzL29iamVjdHMuanM/YmlkPTk5NTkzNTk1MiI+PC9TQ1JJUFQ+PFNDUklQVCB0eXBlPSJ0ZXh0
L2phdmFzY3JpcHQiIHNyYz0iaHR0cDovL3N0YXRpYy5yZWFsb25lLmNvbS9yb3R3L2pzL2Nvb2tp
ZS5qcz9iaWQ9OTk1OTM1OTUyIj48L1NDUklQVD48U0NSSVBUIHR5cGU9InRleHQvamF2YXNjcmlw
dCIgc3JjPSJodHRwOi8vc3RhdGljLnJlYWxvbmUuY29tL3JvdHcvanMvYWpheC5qcz9iaWQ9OTk1
OTM1OTUyIj48L1NDUklQVD48U0NSSVBUIHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJodHRw
Oi8vd3d3LnJoYXBzb2R5LmNvbS9wbGF5ZXJVdGlsaXRpZXMuanM/YmlkPTk5NTkzNTk1MiI+PC9T
Q1JJUFQ+PFNDUklQVCBzcmM9Imh0dHA6Ly93d3cuZ29vZ2xlLWFuYWx5dGljcy5jb20vdXJjaGlu
LmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwvU0NSSVBUPjxTQ1JJUFQgdHlwZT0idGV4dC9q
YXZhc2NyaXB0Ij4KX3VhY2N0ID0gIlVBLTIyNTc3MC0xIjt1cmNoaW5UcmFja2VyKCk7CjwvU0NS
SVBUPjxTQ1JJUFQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KdmFyIGNvb2tpZUdyb3VwID0gbmV3
IENvb2tpZUdyb3VwKCJSaGFwV2ViIik7CmZ1bmN0aW9uIG9wZW5XaW4obmFtZSx1cmwsd2lkdGgs
aGVpZ2h0KXsKbmV3d2luZG93ID0gd2luZG93Lm9wZW4odXJsLG5hbWUsIndpZHRoPSIrd2lkdGgr
IixoZWlnaHQ9IitoZWlnaHQrIix0b29sYmFyPTAsbG9jYXRpb249MCxkaXJlY3Rvcmllcz0wLHN0
YXR1cz0wLG1lbnViYXI9MCxzY3JvbGxiYXJzPTAscmVzaXphYmxlPTAiKTsKbmV3d2luZG93LmZv
Y3VzKCk7Cn0KZnVuY3Rpb24gb3BlbldpbjIobmFtZSx1cmwsd2lkdGgsaGVpZ2h0KXsKbmV3d2lu
ZG93ID0gd2luZG93Lm9wZW4odXJsLG5hbWUsIndpZHRoPSIrd2lkdGgrIixoZWlnaHQ9IitoZWln
aHQrIix0b29sYmFyPTAsbG9jYXRpb249MCxkaXJlY3Rvcmllcz0wLHN0YXR1cz0wLG1lbnViYXI9
MCxzY3JvbGxiYXJzPTEscmVzaXphYmxlPTAiKTsKbmV3d2luZG93LmZvY3VzKCk7Cn0KZnVuY3Rp
b24gb3Blbldpbk5vRm9jdXMobmFtZSx1cmwsd2lkdGgsaGVpZ2h0KXsKbmV3d2luZG93ID0gd2lu
ZG93Lm9wZW4odXJsLG5hbWUsIndpZHRoPSIrd2lkdGgrIixoZWlnaHQ9IitoZWlnaHQrIix0b29s
YmFyPTAsbG9jYXRpb249MCxkaXJlY3Rvcmllcz0wLHN0YXR1cz0wLG1lbnViYXI9MCxzY3JvbGxi
YXJzPTAscmVzaXphYmxlPTAiKTsKd2luZG93LmZvY3VzKCk7CnJldHVybiBuZXd3aW5kb3c7Cn0K
ZnVuY3Rpb24gdGFyZ2V0UmhhcFdlYih0eXBlLCBhbGJ1bUlkLCBhcnRpc3RJZCkgewp2YXIgdGhl
VXJsOwppZih0eXBlID09ICJhcnRpc3QiKXsKdGhlVXJsID0gcmhhcHNvZHlVUkwrIi8iK2FydGlz
dElkOwp9ZWxzZXsKdGhlVXJsID0gcmhhcHNvZHlVUkwrIi9hbGJ1bT9hbGJ1bUlkPSIrYWxidW1J
ZCArICImYXJ0aXN0SWQ9IithcnRpc3RJZDsKfQppZiAod2luZG93Lm9wZW5lciAmJiAhd2luZG93
Lm9wZW5lci5jbG9zZWQpIHsKdHJ5IHsKd2luZG93Lm9wZW5lci5sb2NhdGlvbi5ocmVmID0gdGhl
VXJsOwp3aW5kb3cub3BlbmVyLmZvY3VzKCk7Cn0gY2F0Y2ggKGUpeyB9Cn0gZWxzZSB7CmlmICgh
cmhhcHNvZHkgfHwgcmhhcHNvZHkuY2xvc2VkKSB7CnJoYXBzb2R5ID0gd2luZG93Lm9wZW4odGhl
VXJsLCJyaGFwc29keSIsIiIpOwp9IGVsc2UgewpyaGFwc29keS5sb2NhdGlvbi5ocmVmID0gdGhl
VXJsOwp9CnJoYXBzb2R5LmZvY3VzKCk7Cn0KfQpmdW5jdGlvbiBnZXRNZXRhRGF0YSh0eXBlLCBp
ZCwgdGl0bGUsIHJlbW90ZSkgewppZiAoaXNJbldtcCgpKXsKY2FuQnV5VHJhY2tzID0gZmFsc2U7
Cn0KdHJhY2tRdWV1ZSA9ICcnOwpyYWRpb1N0YXRpb24gPSAnJzsKaWYgKHR5cGUgPT0gJ3JhZGlv
JyB8fCB0eXBlID09ICdhcnRpc3RyYWRpbycpIHsKcGxheWVyTW9kZSA9IHR5cGU7Cn0gZWxzZSB7
CnBsYXllck1vZGUgPSAidHJhY2tzIjsKfQpnVGl0bGUgPSB0aXRsZTsKaWYgKHBsYXllck1vZGUg
IT0gJ2FydGlzdHJhZGlvJykgewpnZXRYTUwocmhhcERhdGFTZXJ2aWNlSWQsIHR5cGUsIGlkLCBy
ZW1vdGUpOwp9IGVsc2UgewovKiBObyBuZWVkIHRvIGdvIHRoZSBkYiBmb3IgYXJ0aXN0IHJhZGlv
LiBKdXN0IGZha2UgdXAgYW4gb2JqZWN0ICovCnJhZGlvU3RhdGlvbiA9IG5ldyBSYWRpb1N0YXRp
b24oKTsKcmFkaW9TdGF0aW9uLnNldERpc3BsYXlOYW1lKHRpdGxlKTsKcmFkaW9TdGF0aW9uLnNl
dEFydGlzdElkKGlkKTsKfQpsb29wVW50aWxEYXRhSXNSZWFkeSgpOwpyZW5kZXJQbGF5ZXJCaXRz
KHBsYXllck1vZGUpOwp9CmZ1bmN0aW9uIGZyZWVQbGF5c1JlbmRlcigpewppZihSaGFwWC5nZXRB
Y2NvdW50UHJvcGVydHkoInN1YnNjcmlwdGlvblR5cGUiKSA9PSA0Mjk0OTY3Mjk1IHx8IFJoYXBY
LmdldEFjY291bnRQcm9wZXJ0eSgic3Vic2NyaXB0aW9uVHlwZSIpID09IDApewp2YXIgcGxheXNS
ZW1haW5pbmcgPSBSaGFwWC5nZXRBY2NvdW50UHJvcGVydHkoImZyZWVQbGF5c1JlbWFpbmluZyIp
Owp2YXIgaGFzU2VlbkZQTXNnOwppZihwbGF5c1JlbWFpbmluZyA9PSA0Mjk0OTY3Mjk1KXsKcGxh
eXNSZW1haW5pbmcgPSAwOwp9ClJoYXBYLnNldFVzZXJEYXRhKCJmcmVlUGxheXNSZW1haW5pbmci
LCBwbGF5c1JlbWFpbmluZywgZmFsc2UpOwppZihwbGF5c1JlbWFpbmluZyA+IDApewpoYXNGcmVl
UGxheXMgPSAieSI7CnNob3dUaGlzKCJ0cmFja0luZm8iKTsKfWVsc2V7CnZhciBjb29raWVHcm91
cCA9IG5ldyBDb29raWVHcm91cCgiUmhhcFdlYiIpOwppZihjb29raWVHcm91cC5oYXNDb29raWUo
IlJoYXBGcmVlUGxheVdhcm4iKSAmJiBjb29raWVHcm91cC5nZXRDb29raWUoIlJoYXBGcmVlUGxh
eVdhcm4iKSA9PSAndHJ1ZScpewpoYXNTZWVuRlBNc2cgPSB0cnVlOwp9CmlmKGhhc1NlZW5GUE1z
ZyAhPSB0cnVlKXsKaGlkZVRoaXMoInBsYXllckJvZHkiKTsKaGlkZVRoaXMoImFkIik7CnNob3dU
aGlzKCJub1BsYXlzTGVmdFRha2VvdmVyIik7CmlmIChnZXRBY2NvdW50VHlwZSgpID09ICdhbm9u
JyB8fCBnZXRBY2NvdW50VHlwZSgpID09ICcnKSB7CnNob3dUaGlzKCJub1BsYXlzTGVmdFRha2Vv
dmVyU2lnbkluIik7Cn0gZWxzZSB7CmhpZGVUaGlzKCJub1BsYXlzTGVmdFRha2VvdmVyU2lnbklu
Iik7Cn0KaGFzRnJlZVBsYXlzID0gIm4iOwpjb29raWVHcm91cC5zZXRDb29raWUoIlJoYXBGcmVl
UGxheVdhcm4iLCAndHJ1ZScsIG51bGwpOwp9Cn0KZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBs
YXlMaXN0SGVhZGVyVGV4dCIpLmlubmVySFRNTD0iRnJlZSBQbGF5cyBMZWZ0OiA8c3BhbiBjbGFz
cz1cInBsYXlzTGVmdFwiPiIrcGxheXNSZW1haW5pbmcrIjwvc3Bhbj4iOwp9Cn0KLyogVE9ETzog
bW92ZSB0aGUgZGlzcGxheSBiaXRzIHNvbWV3aGVyZSB1bml2ZXJzYWwgKi8KZnVuY3Rpb24gaW5q
ZWN0VGV4dCh0aGVJVElkLHRoZUlUVHh0KXsKZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGhlSVRJ
ZCkuaW5uZXJIVE1MPXRoZUlUVHh0Owp9CmZ1bmN0aW9uIGhpZGVUaGlzKHNvbWVJZHMpewpmb3Ig
KGk9MDsgaTxhcmd1bWVudHMubGVuZ3RoO2krKyl7CmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGFy
Z3VtZW50c1tpXSkuc3R5bGUuZGlzcGxheT0ibm9uZSI7CmRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KGFyZ3VtZW50c1tpXSkuc3R5bGUudmlzaWJpbGl0eT0iaGlkZGVuIjsKfQp9CmZ1bmN0aW9uIHNo
b3dUaGlzKHRoZUlkKXsKZm9yIChpPTA7IGk8YXJndW1lbnRzLmxlbmd0aDtpKyspewpkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZChhcmd1bWVudHNbaV0pLnN0eWxlLmRpc3BsYXk9ImJsb2NrIjsKZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoYXJndW1lbnRzW2ldKS5zdHlsZS52aXNpYmlsaXR5PSJ2aXNp
YmxlIjsKfQp9CmZ1bmN0aW9uIHNob3dMb2dpbigpewpkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzc3dvcmQiKS52YWx1ZSA9ICIiOwp0cmFja1F1ZXVlID0gJyc7CnNob3dUaGlzKCJsb2dpbiIp
OwpoaWRlVGhpcygicGxheWVyQm9keSIpOwpoaWRlVGhpcygiYWQiKTsKaGlkZVRoaXMoInNpZ25p
bmNvbmZsaWN0Iik7CmhpZGVUaGlzKCJ0aW1lZG91dCIpOwpoaWRlVGhpcygiZ2VuZXJhbFBsYXll
ckVycm9yIik7Cn0KZnVuY3Rpb24gc2hvd1BsYXllcigpewpkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgicGFzc3dvcmQiKS52YWx1ZSA9ICIiOwp0cmFja1F1ZXVlID0gJyc7CnNob3dUaGlzKCJwbGF5
ZXJCb2R5Iik7CmhpZGVUaGlzKCJsb2dpbiIpOwpzaG93VGhpcygiYWQiKTsKaGlkZVRoaXMoInNp
Z25pbmNvbmZsaWN0Iik7CmhpZGVUaGlzKCJ0aW1lZG91dCIpOwpoaWRlVGhpcygiZ2VuZXJhbFBs
YXllckVycm9yIik7CmhpZGVUaGlzKCJjcmVhdGVBbm9uQWNjb3VudCIpOwpoaWRlVGhpcygiY3Jl
YXRlQW5vbkFjY291bnRFcnJvciIpOwp9Ci8qIFRPRE86IHBsdWcgdGhpcyBpbiAqLwpmdW5jdGlv
biBzaG93TmVlZFBsdWdpbigpewpkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzc3dvcmQiKS52
YWx1ZSA9ICIiOwp0cmFja1F1ZXVlID0gJyc7CnNob3dUaGlzKCJuZWVkUGx1Z2luIik7CmhpZGVU
aGlzKCJsb2dpbiIpOwpoaWRlVGhpcygicGxheWVyQm9keSIpOwpoaWRlVGhpcygiYWQiKTsKaGlk
ZVRoaXMoInNpZ25pbmNvbmZsaWN0Iik7CmhpZGVUaGlzKCJ0aW1lZG91dCIpOwpoaWRlVGhpcygi
Z2VuZXJhbFBsYXllckVycm9yIik7Cn0KZnVuY3Rpb24gcHJlcFVJKCl7CmlmKGlzTG9nZ2VkSW5Q
bGF5ZXIpewppZiAoZ2V0QWNjb3VudFR5cGUoKSAhPSAnYW5vbicpIHsKZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInRoZVVzZXJOYW1lIikuaW5uZXJIVE1MID0gUmhhcFguZ2V0VXNlck5hbWUoKTsK
fQpkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2hhcmVCdXR0b24iKS5pbm5lckhUTUw9IiAiOwpz
aG93UGxheWVyKCk7Cn1lbHNlewpzaG93TG9naW4oKTsKfQovL3JlbmRlckFkKCIiKTsKfQovKiBw
bGF5ZXIgY29udHJvbHMgKi8KZnVuY3Rpb24gY29udHJvbFBsYXlUcmFja1F1ZXVlRnJvbVN0YXJ0
SGVyZSgpIHsKdmFyIHRyYWNrID0gdHJhY2tRdWV1ZS5za2lwVG9TdGFydFRyYWNrKCk7CmlmKFJo
YXBYLmdldFBsYXlTdGF0ZSgpICE9IDUpewpwbGF5VHJhY2soKTsKfQpyZW5kZXJOb3dQbGF5aW5n
KHRyYWNrKTsKfQpmdW5jdGlvbiBjb250cm9sU3RvcCgpewppZihSaGFwWC5nZXRQbGF5U3RhdGUo
KSAhPSAwKXsKUmhhcFguZG9TdG9wKCk7Cn0KfQpmdW5jdGlvbiBjb250cm9sUGF1c2UoKSB7Cmlm
KGJ0bl9wYXVzZS5zdGF0ZSA9PSAib24iKXsKUmhhcFguZG9QbGF5KCk7Cn1lbHNlewpSaGFwWC5k
b1BhdXNlKCk7Cn0KfQpmdW5jdGlvbiBjb250cm9sTmV4dFRyYWNrKCkgewppZiAocGxheWVyTW9k
ZSA9PSAidHJhY2tzIikgewppZih0cmFja1F1ZXVlLmhhc05leHQoKSl7CmNvbnRyb2xTdG9wKCk7
CnZhciB0cmFjayA9IHRyYWNrUXVldWUuZ2V0TmV4dFRyYWNrKCk7CnBsYXlUcmFja05vUGF1c2Uo
KTsKcmVuZGVyTm93UGxheWluZyh0cmFjayk7Cn1lbHNlewpjaGFuZ2VTdGF0ZSgiYnRuX25leHQi
LCJkaXNhYmxlIik7Cn0KfSBlbHNlIHsKdmFyIHNraXBzUmVtYWluaW5nID0gUmhhcFguZ2V0U2tp
cHNSZW1haW5pbmcoKTsKaWYgKHNraXBzUmVtYWluaW5nID4gMCkgewpSaGFwWC5kb1BsYXlOZXh0
VHJhY2soKTsKfSBlbHNlIHsKY2hhbmdlU3RhdGUoImJ0bl9uZXh0IiwiZGlzYWJsZSIpOwppZihS
aGFwWC5nZXRBY2NvdW50UHJvcGVydHkoInN1YnNjcmlwdGlvblR5cGUiKSA9PSA0Mjk0OTY3Mjk1
KXsKYWxlcnQoIlVwZ3JhZGUgeW91ciBzdWJzY3JpcHRpb24gdG8gc2tpcCB0cmFja3Mgd2hlbiBw
bGF5aW5nIFJoYXBzb2R5IFJhZGlvLiIpOwp9ZWxzZXsKYWxlcnQoIldlJ3JlIHNvcnJ5LCB5b3Ug
aGF2ZSBubyBtb3JlIHNraXBzIGxlZnQuIFlvdXIgc2tpcHMgd2lsbCByZWZyZXNoIGFmdGVyIGEg
c2hvcnQgcGVyaW9kIG9mIHRpbWUuIik7Cn0KfQp9Cn0KZnVuY3Rpb24gY29udHJvbFByZXZpb3Vz
VHJhY2soKSB7CmlmKHRyYWNrUXVldWUuaGFzUHJldmlvdXMoKSl7CnZhciB0cmFjayA9IHRyYWNr
UXVldWUuZ2V0UHJldlRyYWNrKCk7CnBsYXlUcmFja05vUGF1c2UoKTsKcmVuZGVyTm93UGxheWlu
Zyh0cmFjayk7Cn1lbHNlewpjaGFuZ2VTdGF0ZSgiYnRuX3ByZXZpb3VzIiwiZGlzYWJsZSIpOwp9
Cn0KZnVuY3Rpb24gY29udHJvbFNraXBUb1RyYWNrKGlkeCkgewpjb250cm9sU3RvcCgpOwp2YXIg
dHJhY2sgPSB0cmFja1F1ZXVlLnNraXBUb1RyYWNrKGlkeCk7CnBsYXlUcmFja05vUGF1c2UoKTsK
cmVuZGVyTm93UGxheWluZyh0cmFjayk7Cn0KZnVuY3Rpb24gY29udHJvbE11dGUoKXsKaWYoYnRu
X211dGUuc3RhdGUgPT0gIm9mZiIpewpzZXRWb2x1bWUoMCk7CmNoYW5nZVN0YXRlKCJidG5fbXV0
ZSIsIm9uIik7Cn1lbHNlewpzZXRWb2x1bWUocHJldlZvbCk7CmNoYW5nZVN0YXRlKCJidG5fbXV0
ZSIsIm9mZiIpOwp9Cn0KZnVuY3Rpb24gc2V0Vm9sdW1lKHRoZVZvbCl7CnZvbExldmVsID0gKHRo
ZVZvbCoxMCk7ClJoYXBYLnNldFZvbHVtZSh2b2xMZXZlbCk7CnByZXZWb2wgPSB2b2x1bWVTZXRB
dDsKdm9sdW1lU2V0QXQgPSB0aGVWb2w7CnZvbHVtZURpc3BsYXkoKTsKaWYodGhlVm9sID4gMCAm
JiBwcmV2Vm9sID09IDApewppZihidG5fbXV0ZS5zdGF0ZSA9PSAib24iKXsKY2hhbmdlU3RhdGUo
ImJ0bl9tdXRlIiwib2ZmIikKfQp9ClJoYXBYLnNldFVzZXJEYXRhKCJyaGFwd2ViLnZvbHVtZSIs
dGhlVm9sLGZhbHNlKTsKfQovKiBkZWZhdWx0IHZvbCAqLwp2YXIgdm9sdW1lU2V0QXQgPSA4Owp2
YXIgcHJldlZvbCA9IHZvbHVtZVNldEF0Owp2YXIgdm9sX292ZXJfY29sb3IgPSAiIzJjYTdlNCI7
CnZhciB2b2xfb2ZmX2NvbG9yID0gIiM3OTc5NzkiOwp2YXIgdm9sX29uX2NvbG9yID0gIiMwMDhj
ZDIiOwp2YXIgdm9sX2Rpc2FibGVfY29sb3IgPSAiI2Q3ZDdkNyI7CmZ1bmN0aW9uIHJlZHJhd3Zv
bHVtZSgpewp2b2x1bWVEaXNwbGF5KCk7Cn0KZnVuY3Rpb24gdG9nZ2xlVm9sKHRoZUlkLHN0YXRl
LHBvcyl7CmZvcihpPXBvcztpPj0xO2ktLSl7CnZhciB0aGVOZXdJZCA9ICJ2b2xfIitpOwp2YXIg
dGhlY29sb3IgPSBldmFsKCJ2b2xfIitzdGF0ZSsiX2NvbG9yIik7CmRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKHRoZU5ld0lkKS5zdHlsZS5iYWNrZ3JvdW5kQ29sb3I9dGhlY29sb3I7Cn0KfQp2YXIg
dm9sSURQcmVmaXhlcyA9IG5ldyBBcnJheSgidm9sXzEiLCJ2b2xfMiIsInZvbF8zIiwidm9sXzQi
LCJ2b2xfNSIsInZvbF82Iiwidm9sXzciLCJ2b2xfOCIsInZvbF85Iiwidm9sXzEwIik7CmZ1bmN0
aW9uIHZvbHVtZURpc3BsYXkoKSB7CmZvcihpPTA7aTx2b2xJRFByZWZpeGVzLmxlbmd0aDtpKysp
ewphY3R1YWxQb3MgPSBpKzE7CmlmKHZvbHVtZVNldEF0ID09IDApewpkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCh2b2xJRFByZWZpeGVzW2ldKS5zdHlsZS5iYWNrZ3JvdW5kQ29sb3I9dm9sX2Rpc2Fi
bGVfY29sb3I7Cn1lbHNlewppZihhY3R1YWxQb3M8PXZvbHVtZVNldEF0KXsKZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQodm9sSURQcmVmaXhlc1tpXSkuc3R5bGUuYmFja2dyb3VuZENvbG9yPXZvbF9v
bl9jb2xvcjsKfWVsc2V7CmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHZvbElEUHJlZml4ZXNbaV0p
LnN0eWxlLmJhY2tncm91bmRDb2xvcj12b2xfb2ZmX2NvbG9yOwp9Cn0KfQp9Ci8qIFRoaXMgd2ls
bCBnbyBhd2F5IHdoZW4gYWxsIHRoZSBjb250ZW50IGlzIGVuY29kZWQuIFJpZ2h0IG5vdyB0aGUg
cmhhcFgKY29udHJvbCBkb2VzIG5vdCBoYW5kbGUgcmVwZWF0ZWQgdHJhY2sgbGlzdCBjbGVhcmlu
ZyAqLwpmdW5jdGlvbiBwbGF5TmV4dFRyYWNrQmVjYXVzZU9mVW5hdmFpbGFibGVDb250ZW50KCkg
ewppZiAodHJhY2tRdWV1ZS5oYXNOZXh0KCkpIHsKdmFyIHRyYWNrID0gdHJhY2tRdWV1ZS5nZXRO
ZXh0VHJhY2soKTsKcmVuZGVyTm93UGxheWluZyh0cmFjayk7Cn0KfQpmdW5jdGlvbiBjb250cm9s
UGxheSgpewppZihidG5fcGxheS5zdGF0ZSAhPSAib24iKXsKaWYgKFJoYXBYLmdldFBsYXlTdGF0
ZSgpID09IDUpewpSaGFwWC5kb1BsYXkoKTsKcmV0dXJuOwp9CmlmIChwbGF5ZXJNb2RlID09ICd0
cmFja3MnKSB7CmlmICh0cmFja1F1ZXVlICE9ICIiICYmIHRyYWNrUXVldWUuc2l6ZSgpID4gMCkg
ewp0cnl7CnBsYXlUcmFjaygpOwp9Y2F0Y2ggKCBlICl7CnRyYWNrID0gbGFzdFRyYWNrUGxheWVk
OwpwbGF5VHJhY2soKTsKcmV0dXJuOwp9Cn0KfSBlbHNlIHsKcGxheVJhZGlvKHJhZGlvU3RhdGlv
bik7Cn0KfQp9CmZ1bmN0aW9uIHBsYXlUcmFjaygpewovKiBwYXVzZWQ/IHJlc3VtZSwgZG9uJ3Qg
Y2xlYXIgdHJhY2sgbGlzdCEgKi8KaWYgKFJoYXBYLmdldFBsYXlTdGF0ZSgpID09IDUpewpSaGFw
WC5kb1BsYXkoKTsKcmV0dXJuOwp9CmNoYW5nZVN0YXRlKCJidG5fcGxheSIsIm9uIik7CmlmKHBs
YXllck1vZGUgPT0gInRyYWNrcyIpewpSaGFwWC5zZXRUcmFja0lkTGlzdCh0cmFja1F1ZXVlLmdl
dFRyYWNrTGlzdElkcygpKTsKfQpzZXRUaW1lb3V0KCdSaGFwWC5kb1BsYXkoKScsIDE1MDApOwp9
CmZ1bmN0aW9uIHBsYXlUcmFja05vUGF1c2UoKXsKY2hhbmdlU3RhdGUoImJ0bl9wbGF5Iiwib24i
KTsKaWYocGxheWVyTW9kZSA9PSAidHJhY2tzIil7ClJoYXBYLnNldFRyYWNrSWRMaXN0KHRyYWNr
UXVldWUuZ2V0VHJhY2tMaXN0SWRzKCkpOwp9CnNldFRpbWVvdXQoJ1JoYXBYLmRvUGxheSgpJywg
MTUwMCk7Cn0KZnVuY3Rpb24gcGxheVJhZGlvKHJhZGlvU3RhdGlvbikgewppZiAocGxheWVyTW9k
ZSA9PSAnYXJ0aXN0cmFkaW8nKSB7ClJoYXBYLnNldFJhZGlvU3RhdGlvbklkKHJhZGlvU3RhdGlv
bi5nZXRBcnRpc3RJZCgpLCAiMSIpOwp9CmlmIChwbGF5ZXJNb2RlID09ICdyYWRpbycpIHsKUmhh
cFguc2V0UmFkaW9TdGF0aW9uSWQocmFkaW9TdGF0aW9uLmdldFJlbW90ZUlkKCksICIwIik7CmRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJwbGF5TGlzdEhlYWRlclRleHQiKS5pbm5lckhUTUw9cmFk
aW9TdGF0aW9uLmdldERpc3BsYXlOYW1lKCk7Cn0Kc2V0VGltZW91dCgnUmhhcFguZG9QbGF5KCkn
LCAyMDAwKTsKfQpmdW5jdGlvbiBjbGVhck5vd1BsYXlpbmdSYWRpbygpewpkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicGxheUxpc3QiKS5pbm5lckhUTUwgPSAiIjsKY2xlYXJOb3dQbGF5aW5nKCk7
Cn0KZnVuY3Rpb24gY2xlYXJOb3dQbGF5aW5nKCkgewppbmplY3RUZXh0KCJwbGF5TGlzdCIsIiZu
YnNwOzxici8+Iik7CmluamVjdFRleHQoImFydGlzdCIsIiZuYnNwOzxici8+Iik7CmluamVjdFRl
eHQoInRyYWNrIiwiJm5ic3A7PGJyLz4iKTsKaW5qZWN0VGV4dCgibGlzdFRpdGxlIiwiJm5ic3A7
PGJyLz4iKTsKaW5qZWN0VGV4dCgidHJhY2tCdXlMaW5rIiwiJm5ic3A7PGJyLz4iKTsKZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInRyYWNrQXJ0IikuaW5uZXJIVE1MPSI8aW1nIHNyYz1cIiIraW1h
Z2VQYXRoKyJkaXNwbGF5X2JnLmdpZlwiIHdpZHRoPVwiNjBcIiBoZWlnaHQ9XCI2MFwiIGFsdD1c
IlwiIGJvcmRlcj1cIjBcIiBjbGFzcz1cImFsYnVtQXJ0U3BhY2VcIi8+IjsKfQpmdW5jdGlvbiBy
ZW5kZXJOb3dQbGF5aW5nKHRoZVRyYWNrKSB7CmlmICh0aGVUcmFjaykgewpsYXN0VHJhY2tQbGF5
ZWQgPSB0aGVUcmFjazsKdmFyIGFsYnVtID0gdGhlVHJhY2suZ2V0QWxidW0oKTsKdmFyIGFydGlz
dCA9IHRoZVRyYWNrLmdldEFydGlzdCgpOwp2YXIgdGhlQXJ0aXN0SWQgPSBhcnRpc3QuZ2V0SWQo
KTsKaWYoYWxidW0uZ2V0QXJ0dXJsc21hbGwoKSAmJiBhbGJ1bS5nZXRBcnR1cmxzbWFsbCgpICE9
ICIiICYmIGFsYnVtLmdldEFydHVybHNtYWxsKCkgIT0gIiAiKXsKZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInRyYWNrQXJ0IikuaW5uZXJIVE1MPSI8YSBocmVmPVwiI1wiIG9uQ2xpY2s9XCJ0YXJn
ZXRSaGFwV2ViKCdhbGJ1bScsJyIrYWxidW0uZ2V0SWQoKSsiJywnIithcnRpc3QuZ2V0SWQoKSsi
Jyk7XCIgdGl0bGU9XCJJbmZvIGZvciAiK2FsYnVtLmdldE5hbWUoKSsiIGJ5ICIrYXJ0aXN0Lmdl
dERpc3BsYXlOYW1lKCkrIlwiPjxpbWcgc3JjPVwiIithbGJ1bS5nZXRBcnR1cmxzbWFsbCgpKyJc
IiB3aWR0aD1cIjYwXCIgaGVpZ2h0PVwiNjBcIiBhbHQ9XCJJbmZvIGZvciAiK2FsYnVtLmdldE5h
bWUoKSsiIGJ5ICIrYXJ0aXN0LmdldERpc3BsYXlOYW1lKCkrIlwiIGJvcmRlcj1cIjBcIiBjbGFz
cz1cImFsYnVtQXJ0U3BhY2VcIi8+PC9hPiI7Cn1lbHNlewpkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgidHJhY2tBcnQiKS5pbm5lckhUTUw9IjxpbWcgc3JjPVwiIitpbWFnZVBhdGgrImRpc3BsYXlf
YmcuZ2lmXCIgd2lkdGg9XCI2MFwiIGhlaWdodD1cIjYwXCIgYWx0PVwiXCIgYm9yZGVyPVwiMFwi
IGNsYXNzPVwiYWxidW1BcnRTcGFjZVwiLz4iOwp9CmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJh
cnRpc3QiKS5pbm5lckhUTUw9IjxhIGhyZWY9XCIjXCIgb25DbGljaz1cInRhcmdldFJoYXBXZWIo
J2FydGlzdCcsJyIrYWxidW0uZ2V0SWQoKSsiJywnIithcnRpc3QuZ2V0SWQoKSsiJyk7XCIgdGl0
bGU9XCJBcnRpc3Q6ICIrYXJ0aXN0LmdldERpc3BsYXlOYW1lKCkrIlwiPiIrYXJ0aXN0LmdldERp
c3BsYXlOYW1lKCkrIjwvYT4iOwpkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidHJhY2siKS5pbm5l
ckhUTUw9IjxhIGhyZWY9XCIjXCIgb25DbGljaz1cInRhcmdldFJoYXBXZWIoJ2FsYnVtJywnIith
bGJ1bS5nZXRJZCgpKyInLCciK2FydGlzdC5nZXRJZCgpKyInKTtcIiB0aXRsZT1cIlRyYWNrOiAi
K3RoZVRyYWNrLmdldE5hbWUoKSsiXCI+Iit0cnVuY2F0ZVRleHRTdHJpbmcodGhlVHJhY2suZ2V0
TmFtZSgpLCAxNikrIjwvYT4iOwppZih0aGVUcmFjay5pc011c2ljU3RvcmVBdmFpbGFibGUoKSA9
PSAidHJ1ZSIgJiYgY2FuQnV5VHJhY2tzID09IHRydWUpewpkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgidHJhY2tCdXlMaW5rIikuaW5uZXJIVE1MPSI8YSBocmVmPVwiIitMaW5rU2VydmVyKyI/dHlw
ZT1hbGJ1bSZpZD0iK2FsYnVtLmdldFJlbW90ZUlkKCkrIiZhY3Rpb249Jm5hdj1hbGJ1bSZuYXZp
ZD0iK2FsYnVtLmdldFJlbW90ZUlkKCkrIlwiIHRhcmdldD1cIm5ld1dpblwiIHRpdGxlPVwiQnV5
ICIrYWxidW0uZ2V0TmFtZSgpKyIgYnkgIithcnRpc3QuZ2V0RGlzcGxheU5hbWUoKSsiXCI+PGlt
ZyBzcmM9XCIiK2ltYWdlUGF0aCsib3JhbmdlX2J1eV9idXR0b24uZ2lmXCIgd2lkdGg9XCI0NVwi
IGhlaWdodD1cIjIzXCIgYWx0PVwiXCIgYm9yZGVyPVwiMFwiLz48L2E+IjsKfQp1cGRhdGVOZXh0
UHJldkJ1dHRvbnMoKTsKcmVuZGVyQWQodGhlQXJ0aXN0SWQpOwppZihwbGF5ZXJNb2RlID09ICJ0
cmFja3MiKXsKaWYodHJhY2tRdWV1ZS5nZXRUaXRsZSgpID09IG51bGwgfHwgdHJhY2tRdWV1ZS5n
ZXRUaXRsZSgpID09ICJ1bmRlZmluZWQiIHx8IHRyYWNrUXVldWUuZ2V0VGl0bGUoKSA9PSAiIil7
CmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJsaXN0VGl0bGUiKS5pbm5lckhUTUw9IiZuYnNwOzxi
ci8+IjsKfQppbmplY3RUZXh0KCJ1cE5leHQiLCImbmJzcDs8YnIvPiIpOwpyZW5kZXJTaGFyZUJ1
dHRvbih0cmFja1F1ZXVlLmdldFRyYWNrTGlzdElkc0ZvclNoYXJlKCkpOwpyZW5kZXJMaXN0KCk7
Cn1lbHNlewp1cGRhdGVQbGF5SGlzdG9yeSh0aGVUcmFjay5nZXRJZCgpLHRoZVRyYWNrLmdldFJl
bW90ZUlkKCksYXJ0aXN0LmdldElkKCksYXJ0aXN0LmdldERpc3BsYXlOYW1lKCksdGhlVHJhY2su
Z2V0TmFtZSgpLGFsYnVtLmdldElkKCksYWxidW0uZ2V0TmFtZSgpLHRoZVRyYWNrLmlzTXVzaWNT
dG9yZUF2YWlsYWJsZSgpLGFsYnVtLmdldFJlbW90ZUlkKCkpOwp2YXIgbmV4dFRyYWNrSWQgPSBS
aGFwWC5nZXROZXh0VHJhY2tJZCgpOwppbmplY3RUZXh0KCJ1cE5leHQiLCImbmJzcDs8YnIvPiIp
OwppZiAobmV4dFRyYWNrSWQgIT0gbnVsbCAmJiBuZXh0VHJhY2tJZCAhPSAwKSB7CmdldFVwTmV4
dCgpOwp9IGVsc2UgewpzZXRUaW1lb3V0KCJnZXRVcE5leHQoKTsiLDUwMDApOwp9Cn0KfQp9CmZ1
bmN0aW9uIGxvb3BVbnRpbE5leHRBcnRpc3RJc1JlYWR5KCl7CmlmICghdHJhY2tRdWV1ZSkgewpz
ZXRUaW1lb3V0KCdsb29wVW50aWxOZXh0QXJ0aXN0SXNSZWFkeSgpJywxMDApOwp9IGVsc2Ugewpy
ZW5kZXJOZXh0QXJ0aXN0KCk7Cn0KfQpmdW5jdGlvbiBnZXRVcE5leHQoKSB7CnZhciBuZXh0VHJh
Y2tJZCA9IFJoYXBYLmdldE5leHRUcmFja0lkKCk7CmlmIChuZXh0VHJhY2tJZCAhPSBudWxsICYm
IG5leHRUcmFja0lkICE9IDApIHsKaW5qZWN0VGV4dCgidXBOZXh0IiwiJm5ic3A7PGJyLz4iKTsK
dHJhY2tRdWV1ZSA9IG51bGw7CmdldFhNTChyaGFwRGF0YVNlcnZpY2VJZCwgJ3RyYWNrJywgUmhh
cFguZ2V0TmV4dFRyYWNrSWQoKSwgJ3RydWUnKTsKbG9vcFVudGlsTmV4dEFydGlzdElzUmVhZHko
KTsKfQp9CmZ1bmN0aW9uIHJlbmRlck5leHRBcnRpc3QoKXsKdmFyIG5leHRUcmFjayA9IHRyYWNr
UXVldWUuZ2V0KDApOwppZihuZXh0VHJhY2spewp2YXIgbmV4dEFydGlzdCA9IG5leHRUcmFjay5n
ZXRBcnRpc3QoKTsKdmFyIG5leHRBcnRpc3ROYW1lID0gbmV4dEFydGlzdC5nZXREaXNwbGF5TmFt
ZSgpOwppbmplY3RUZXh0KCJ1cE5leHQiLCI8Yj5VcCBOZXh0OjwvYj4gIit0cnVuY2F0ZVRleHRT
dHJpbmcobmV4dEFydGlzdE5hbWUsIDI0KSk7Cn0KfQpmdW5jdGlvbiBsb29wVW50aWxSYWRpb1Ry
YWNrSW5mb0lzUmVhZHkoKSB7CmlmICghdHJhY2tRdWV1ZSkgewpzZXRUaW1lb3V0KCdsb29wVW50
aWxSYWRpb1RyYWNrSW5mb0lzUmVhZHkoKScsMTAwKTsKfSBlbHNlIHsKY2xlYXJOb3dQbGF5aW5n
UmFkaW8oKTsKcmVuZGVyTm93UGxheWluZyh0cmFja1F1ZXVlLmdldCgwKSk7Cn0KfQpmdW5jdGlv
biBsb29wVW50aWxEYXRhSXNSZWFkeSgpIHsKLy8gTmVlZCB0aGlzIGxvb3AgJ2NvcyBtb3ppbGxh
IGhhcyBhIHRpbWluZyBpc3N1ZSB3aXRoIHRoZSBjYWxsYmFjayBtZWNoYW5pc20KaWYgKHBsYXll
ck1vZGUgPT0gInJhZGlvIiB8fCBwbGF5ZXJNb2RlID09ICJhcnRpc3RyYWRpbyIgKSB7CmlmICgh
cmFkaW9TdGF0aW9uKSB7CnNldFRpbWVvdXQoJ2xvb3BVbnRpbERhdGFJc1JlYWR5KCknLDEwMCk7
Cn0gZWxzZSB7CmNsZWFyTm93UGxheWluZ1JhZGlvKCk7CnBsYXlSYWRpbyhyYWRpb1N0YXRpb24p
Owp9Cn0gZWxzZSB7CmlmICghdHJhY2tRdWV1ZSkgewpzZXRUaW1lb3V0KCdsb29wVW50aWxEYXRh
SXNSZWFkeSgpJywxMDApOwp9IGVsc2UgewpjbGVhck5vd1BsYXlpbmcoKTsKZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImxpc3RUaXRsZSIpLmlubmVySFRNTD10cmFja1F1ZXVlLmdldFRpdGxlKCk7
CmNvbnRyb2xQbGF5VHJhY2tRdWV1ZUZyb21TdGFydEhlcmUoKTsKaWYgKCF0cmFja1F1ZXVlLmhh
c1ByZXZpb3VzKCkpewpjaGFuZ2VTdGF0ZSgiYnRuX3ByZXZpb3VzIiwiZGlzYWJsZSIpOwp9Cn0K
fQp9CmZ1bmN0aW9uIHNjcm9sbFRvVHJhY2sobnVtSW5MaXN0KXsKdmFyIHRyYWNrSGVpZ2h0PTM2
Owp2YXIgc2Nyb2xsUG9zID0gKG51bUluTGlzdCp0cmFja0hlaWdodCk7CnZhciBsaXN0RGl2ID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBsYXlMaXN0Iik7Cmxpc3REaXYuc2Nyb2xsVG9wID0g
c2Nyb2xsUG9zOwp9CnZhciB0cmFja1BsYXllZENvdW50ID0gMDsKdmFyIHRyYWNrSGlzdG9yeUxp
c3RpbmcgPSBuZXcgQXJyYXkoKTsKZnVuY3Rpb24gdXBkYXRlUGxheUhpc3RvcnkodHJhY2tJZCx0
aGVSZW1vdGVUcmFja0lkLGFydGlzdElkLGFydGlzdE5hbWUsdHJhY2tOYW1lLGFsYnVtSWQsYWxi
dW1OYW1lLGlzQXZhaWxhYmxlLGFsYnVtUmVtb3RlSWQpewp0cmFja1BsYXllZENvdW50Kys7Cm1h
eFNpemUgPSA1Owp2YXIgcHVzaE1lID0gIjx0YWJsZSBjZWxscGFkZGluZz1cIjBcIiBjZWxsc3Bh
Y2luZz1cIjBcIiBib3JkZXI9XCIwXCIgd2lkdGg9XCIxMDAlXCI+PHRyPjx0ZCByb3dzcGFuPVwi
MlwiIHZhbGlnbj1cInRvcFwiIGFsaWduPVwibGVmdFwiIGNsYXNzPVwicGxheUxpc3RQbGF5XCI+
Iit0cmFja1BsYXllZENvdW50KyI8L3RkPjx0ZD48ZGl2IGlkPVwicGxheUxpc3RUcmFja1wiIHRp
dGxlPVwiIit0cmFja05hbWUrIlwiPiIrdHJhY2tOYW1lKyI8L2Rpdj48L3RkPiIrCiI8dGQgcm93
c3Bhbj1cIjJcIiB2YWxpZ249XCJib3R0b21cIiBjbGFzcz1cInBsYXlMaXN0SW5mb1wiPiI7Cmlm
KGlzQXZhaWxhYmxlID09ICJ0cnVlIiAmJiBjYW5CdXlUcmFja3MgPT0gdHJ1ZSl7CnB1c2hNZSs9
IjxhIGhyZWY9XCIiK0xpbmtTZXJ2ZXIrIj90eXBlPXRyYWNrJmlkPSIrdGhlUmVtb3RlVHJhY2tJ
ZCsiJmFjdGlvbj0mbmF2PWFsYnVtJm5hdmlkPSIrYWxidW1SZW1vdGVJZCsiXCIgdGFyZ2V0PVwi
bmV3V2luXCIgdGl0bGU9XCJCdXkgIithbGJ1bU5hbWUrIiBieSAiK2FydGlzdE5hbWUrIlwiPjxz
cGFuIGNsYXNzPVwiTGlua1wiPkJ1eTwvc3Bhbj48L2E+IjsKfQpwdXNoTWUrPSI8L3RkPjwvdHI+
PHRyPjx0ZD48ZGl2IGlkPVwicGxheUxpc3RBcnRpc3RcIiB0aXRsZT1cIiIrYXJ0aXN0TmFtZSsi
XCI+PGEgaHJlZj1cIiNcIiBvbkNsaWNrPVwidGFyZ2V0UmhhcFdlYignYXJ0aXN0JywnIithbGJ1
bUlkKyInLCciK2FydGlzdElkKyInKTtcIiB0aXRsZT1cIkFydGlzdDogIithcnRpc3ROYW1lKyJc
Ij48c3BhbiBjbGFzcz1cImJsYWNrXCI+IiArIGFydGlzdE5hbWUgKyAiPC9zcGFuPjwvZGl2Pjwv
dGQ+PC90cj48L3RhYmxlPiI7Ci8qIHB1c2ggdGhlIHRyYWNrIG9uIHRvIHRoZSBjdXJyZW50IHRy
YWNrIHN0YWNrICovCmlmKHRyYWNrUGxheWVkQ291bnQ+bWF4U2l6ZSl7CnRyYWNrSGlzdG9yeUxp
c3RpbmcucG9wKHB1c2hNZSk7Cn0KdHJhY2tIaXN0b3J5TGlzdGluZy5yZXZlcnNlKCk7CnRyYWNr
SGlzdG9yeUxpc3RpbmcucHVzaChwdXNoTWUpOwp0cmFja0hpc3RvcnlMaXN0aW5nLnJldmVyc2Uo
KTsKdGhlSFRNTCA9ICI8dGFibGUgd2lkdGg9XCI5OS44JVwiIGNlbGxwYWRkaW5nPVwiMFwiIGNl
bGxzcGFjaW5nPVwiMFwiIGJvcmRlcj1cIjBcIj4iOwpmb3IoaT0wOyBpPHRyYWNrSGlzdG9yeUxp
c3RpbmcubGVuZ3RoO2krKyl7CmlmKGkgPT0gMCl7CnJvd0NvbG9yID0gIiNCMkRGRjQiOwp9ZWxz
ZSBpZihpICUgMil7CnJvd0NvbG9yID0gIiNlYmViZWIiOwp9ZWxzZXsKcm93Q29sb3IgPSAiI2Zm
ZmZmZiI7Cn0KdGhlSFRNTCs9Ijx0ciBiZ2NvbG9yPVwiIityb3dDb2xvcisiXCI+PHRkIHZhbGln
bj1cInRvcFwiIGNsYXNzPVwicGxheUxpc3RJbmZvXCI+Iit0cmFja0hpc3RvcnlMaXN0aW5nW2ld
KyI8L3RkPjwvdHI+IjsKfQp0aGVIVE1MKz0iPC90YWJsZT4iOwpkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicGxheUxpc3QiKS5pbm5lckhUTUw9dGhlSFRNTDsKfQpmdW5jdGlvbiByZW5kZXJMaXN0
KCkgewp2YXIgdGhlTGlzdCA9ICI8dGFibGUgd2lkdGg9XCI5OS44JVwiIGNlbGxwYWRkaW5nPVwi
MFwiIGNlbGxzcGFjaW5nPVwiMFwiIGJvcmRlcj1cIjBcIj4iOwp2YXIgY3VyVHJhY2sgPSB0cmFj
a1F1ZXVlLmdldFRyYWNrSW5kZXhCeVRyYWNrSWQoUmhhcFguZ2V0VHJhY2tJZCgpKTsKaWYoY3Vy
VHJhY2sgPT0gLTEpewpjdXJUcmFjaysrOwp9CmZvciAoaT0wO2k8dHJhY2tRdWV1ZS5zaXplKCk7
aSsrKSB7CnZhciB0cmFjayA9IHRyYWNrUXVldWUuZ2V0KGkpOwp2YXIgYXJ0aXN0ID0gdHJhY2su
Z2V0QXJ0aXN0KCk7CnZhciBhbGJ1bSA9IHRyYWNrLmdldEFsYnVtKCk7CmlmKGN1clRyYWNrID09
IGkpewpyb3dDb2xvciA9ICIjQjJERkY0IjsKfWVsc2UgaWYoaSAlIDIpewpyb3dDb2xvciA9ICIj
ZWJlYmViIjsKfWVsc2V7CnJvd0NvbG9yID0gIiNmZmZmZmYiOwp9CnRoZUxpc3QrPSI8dHIgYmdj
b2xvcj1cIiIrcm93Q29sb3IrIlwiPiIrCiI8dGQgcm93c3Bhbj1cIjJcIiBjbGFzcz1cInBsYXlM
aXN0UGxheVwiPjxhIGhyZWY9XCIjXCIgb25jbGljaz1cImNvbnRyb2xTa2lwVG9UcmFjaygiK2kr
Iik7XCI+PGltZyBzcmM9XCIiK2ltYWdlUGF0aCsiYnRuX3BsYXlsaXN0X29mZi5naWZcIiB3aWR0
aD1cIjE3XCIgaGVpZ2h0PVwiMTdcIiBhbHQ9XCJcIiBib3JkZXI9XCIwXCIgb25tb3VzZW92ZXI9
XCJ0aGlzLnNyYz0nIitpbWFnZVBhdGgrImJ0bl9wbGF5bGlzdF9vdmVyLmdpZic7XCIgb25tb3Vz
ZW91dD1cInRoaXMuc3JjPSciK2ltYWdlUGF0aCsiYnRuX3BsYXlsaXN0X29mZi5naWYnO1wiLz48
L2E+PC90ZD4iKwoiPHRkIHJvd3NwYW49XCIyXCIgY2xhc3M9XCJwbGF5TGlzdENvdW50XCI+Iiso
aSsxKSsiPC90ZD4iKwoiPHRkIHN0eWxlPVwid2lkdGg6MTU1cHg7XCI+PGRpdiBpZD1cInBsYXlM
aXN0VHJhY2tcIiB0aXRsZT1cIiIrdHJhY2suZ2V0TmFtZSgpKyJcIj48YSBocmVmPVwiI1wiIG9u
Y2xpY2s9XCJjb250cm9sU2tpcFRvVHJhY2soIitpKyIpO1wiPjxzcGFuIGNsYXNzPVwiYmxhY2tc
Ij4iK3RyYWNrLmdldE5hbWUoKSsiPC9zcGFuPjwvYT48L2Rpdj48L3RkPiIKdGhlTGlzdCs9Ijwv
dGQ+PC90cj48dHIgYmdjb2xvcj1cIiIrcm93Q29sb3IrIlwiPiIrCiI8dGQgc3R5bGU9XCJ3aWR0
aDoxNTVweDtcIj48ZGl2IGlkPVwicGxheUxpc3RBcnRpc3RcIiB0aXRsZT1cIiIrYXJ0aXN0Lmdl
dERpc3BsYXlOYW1lKCkrIlwiPjxhIGhyZWY9XCIjXCIgb25DbGljaz1cInRhcmdldFJoYXBXZWIo
J2FydGlzdCcsJyIrYWxidW0uZ2V0SWQoKSsiJywnIithcnRpc3QuZ2V0SWQoKSsiJyk7XCIgdGl0
bGU9XCJBcnRpc3Q6ICIrYXJ0aXN0LmdldERpc3BsYXlOYW1lKCkrIlwiPjxzcGFuIGNsYXNzPVwi
YmxhY2tcIj4iK2FydGlzdC5nZXREaXNwbGF5TmFtZSgpKyI8L3NwYW4+PC9hPjwvZGl2PjwvdGQ+
IisKIjwvdHI+IjsKfQp0aGVMaXN0Kz0iPC90YWJsZT4iOwpkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgicGxheUxpc3QiKS5pbm5lckhUTUwgPSB0aGVMaXN0OwpzY3JvbGxUb1RyYWNrKGN1clRyYWNr
KTsKfQpmdW5jdGlvbiB1cGRhdGVOZXh0UHJldkJ1dHRvbnMoKSB7CmlmICh0cmFja1F1ZXVlLmhh
c05leHQoKSkgewpjaGFuZ2VTdGF0ZSgiYnRuX25leHQiLCJvZmYiKTsKfSBlbHNlIHsKY2hhbmdl
U3RhdGUoImJ0bl9uZXh0IiwiZGlzYWJsZSIpOwp9CmlmKHBsYXllck1vZGUgPT0gInRyYWNrcyIp
ewppZiAodHJhY2tRdWV1ZS5oYXNQcmV2aW91cygpKSB7CmNoYW5nZVN0YXRlKCJidG5fcHJldmlv
dXMiLCJvZmYiKTsKfSBlbHNlIHsKY2hhbmdlU3RhdGUoImJ0bl9wcmV2aW91cyIsImRpc2FibGUi
KTsKfQp9Cn0KLyogZXJyb3IgbWVzc2FnZXMgZm9yIGxvZ2luICovCmZ1bmN0aW9uIHNob3dMb2dp
bkVycm9yKCl7CmluamVjdFRleHQoImVycm9yTG9naW4iLCI8c3BhbiBjbGFzcz1cIm1zZ0Vyclwi
PlRoZXJlIHdhcyBhIHByb2JsZW0gbG9nZ2luZyB5b3UgaW4uIFBsZWFzZSBjaGVjayB5b3VyIHVz
ZXJuYW1lIGFuZCBwYXNzd29yZCBhbmQgdHJ5IGFnYWluLjwvc3Bhbj4iKTsKfQpmdW5jdGlvbiBj
bGVhckxvZ2luRXJyb3IoKXsKaW5qZWN0VGV4dCgiZXJyb3JMb2dpbiIsIiIpOwp9CmZ1bmN0aW9u
IHJlbmRlclNoYXJlQnV0dG9uKHRyYWNrcyl7CnZhciB0aGVUaXRsZSA9ICJTaGFyZSBwbGF5bGlz
dHMiOwp2YXIgcmV0cmlldmVkVGl0bGUgPSB0cmFja1F1ZXVlLmdldFRpdGxlKCk7CmlmKCB0eXBl
b2YgcmV0cmlldmVkVGl0bGUgIT0gJ3VuZGVmaW5lZCcgJiYgcmV0cmlldmVkVGl0bGUgIT0gJycg
KSB0aGVUaXRsZSA9IGVzY2FwZShyZXRyaWV2ZWRUaXRsZSk7CnZhciBTSEFSRVVSTCA9ICJodHRw
Oi8vd3d3LnJoYXBzb2R5LmNvbS9wbGF5bGlzdC9wbGF5ZXJzaGFyZS5odG1sP3RpdGxlPSIrdGhl
VGl0bGUrIiZ0cmFja3M9Iit0cmFja3M7CnRoZVNoYXJlQnV0dG9uID0gIjx0YWJsZSBjZWxsc3Bh
Y2luZz1cIjBcIiBhbGlnbj1cImxlZnRcIj4iKwoiPHRyPiIrCiI8dGQgaWQ9XCJzaGFyZV9sdFwi
IGNsYXNzPVwid2h0QnRuTGVmdFwiIG9ubW91c2VvdmVyPVwicm9sbEJ1dHRvbignb3ZlcicsJ2J0
bl93aHQnLCdzaGFyZScpO1wiIG9ubW91c2VvdXQ9XCJyb2xsQnV0dG9uKCdvZmYnLCdidG5fd2h0
Jywnc2hhcmUnKTtcIiBvbmNsaWNrPVwicm9sbEJ1dHRvbignb24nLCdidG5fd2h0Jywnc2hhcmUn
KTtcIj48L3RkPiIrCiI8dGQgaWQ9XCJzaGFyZV9taWRcIiBjbGFzcz1cIndodEJ0bkNlbnRlclwi
IG5vd3JhcD1cIm5vd3JhcFwiIG9ubW91c2VvdmVyPVwicm9sbEJ1dHRvbignb3ZlcicsJ2J0bl93
aHQnLCdzaGFyZScpO1wiIG9ubW91c2VvdXQ9XCJyb2xsQnV0dG9uKCdvZmYnLCdidG5fd2h0Jywn
c2hhcmUnKTtcIiBvbmNsaWNrPVwicm9sbEJ1dHRvbignb24nLCdidG5fd2h0Jywnc2hhcmUnKTtc
Ij48YSBocmVmPVwiIitTSEFSRVVSTCsiXCIgY2xhc3M9XCJ3aHRCdG5DZW50ZXJBXCIgdGFyZ2V0
PVwicmhhcHNvZHlcIj5TaGFyZTwvYT48L3RkPiIrCiI8dGQgaWQ9XCJzaGFyZV9ydFwiIGNsYXNz
PVwid2h0QnRuUmlnaHRcIiBvbm1vdXNlb3Zlcj1cInJvbGxCdXR0b24oJ292ZXInLCdidG5fd2h0
Jywnc2hhcmUnKTtcIiBvbm1vdXNlb3V0PVwicm9sbEJ1dHRvbignb2ZmJywnYnRuX3dodCcsJ3No
YXJlJyk7XCIgb25jbGljaz1cInJvbGxCdXR0b24oJ29uJywnYnRuX3dodCcsJ3NoYXJlJyk7XCI+
PC90ZD4iKwoiPC90cj4iKwoiPC90YWJsZT4iOwpkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2hh
cmVCdXR0b24iKS5pbm5lckhUTUw9dGhlU2hhcmVCdXR0b247Cn0KZnVuY3Rpb24gY2xlYXJQbGF5
TGlzdCgpewpjb250cm9sU3RvcCgpOwppZiAodHJhY2tRdWV1ZSl7CnRyYWNrUXVldWUuY2xlYXIo
KTsKdHJhY2tRdWV1ZSA9ICIiOwp9CmNsZWFyTm93UGxheWluZygpOwpjaGFuZ2VTdGF0ZSgiYnRu
X3ByZXZpb3VzIiwiZGlzYWJsZSIpOwpjaGFuZ2VTdGF0ZSgiYnRuX25leHQiLCJkaXNhYmxlIik7
CmNoYW5nZVN0YXRlKCJidG5fcGxheSIsImRpc2FibGUiKTsKY2hhbmdlU3RhdGUoImJ0bl9wYXVz
ZSIsImRpc2FibGUiKTsKZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNoYXJlQnV0dG9uIikuaW5u
ZXJIVE1MPSIiOwpkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGxheUxpc3QiKS5pbm5lckhUTUw9
IiI7CmlmIChjb29raWVHcm91cC5oYXNDb29raWUoIlJoYXBIaXN0b3J5Iikpewpjb29raWVHcm91
cC5kZWxldGVDb29raWUoIlJoYXBIaXN0b3J5Iik7Cn0KfQp2YXIgc3RvcEJ0bkhUTUwgPSAiPGlt
ZyBpZD1cImJ0bl9zdG9wXCIgc3JjPVwiIitpbWFnZVBhdGgrImJ0bl9zdG9wX29mZi5naWZcIiB3
aWR0aD1cIjI3XCIgaGVpZ2h0PVwiMzhcIiBhbHQ9XCJTdG9wXCIgdGl0bGU9XCJTdG9wXCIgYm9y
ZGVyPVwiMFwiIG9ubW91c2VvdmVyPVwiamF2YXNjcmlwdDp0b2dnbGUoJ2J0bl9zdG9wJywnb3Zl
cicpO1wiIG9ubW91c2VvdXQ9XCJqYXZhc2NyaXB0OnRvZ2dsZSgnYnRuX3N0b3AnLCdvZmYnKTtc
IiBvbmNsaWNrPVwidGhpcy5zcmM9JyIraW1hZ2VQYXRoKyJidG5fc3RvcF9vbi5naWYnO2NvbnRy
b2xTdG9wKCk7XCIvPiI7CnZhciBwYXVzZUJ0bkhUTUwgPSAiPGltZyBpZD1cImJ0bl9wYXVzZVwi
IHNyYz1cIiIraW1hZ2VQYXRoKyJidG5fcGF1c2Vfb2ZmLmdpZlwiIHdpZHRoPVwiMjdcIiBoZWln
aHQ9XCIzOFwiIGFsdD1cIlBhdXNlXCIgdGl0bGU9XCJQYXVzZVwiIGJvcmRlcj1cIjBcIiBvbm1v
dXNlb3Zlcj1cImphdmFzY3JpcHQ6dG9nZ2xlKCdidG5fcGF1c2UnLCdvdmVyJyk7XCIgb25tb3Vz
ZW91dD1cImphdmFzY3JpcHQ6dG9nZ2xlKCdidG5fcGF1c2UnLCdvZmYnKTtcIiBvbmNsaWNrPVwi
Y29udHJvbFBhdXNlKCk7XCIvPiI7CnZhciBwbGF5QnRuSFRNTCA9ICI8aW1nIGlkPVwiYnRuX3Bs
YXlcIiBzcmM9XCIiK2ltYWdlUGF0aCsiYnRuX3BsYXlfb2ZmLmdpZlwiIHdpZHRoPVwiMzVcIiBo
ZWlnaHQ9XCIzOFwiIGFsdD1cIlBsYXlcIiB0aXRsZT1cIlBsYXlcIiBib3JkZXI9XCIwXCIgb25t
b3VzZW92ZXI9XCJqYXZhc2NyaXB0OnRvZ2dsZSgnYnRuX3BsYXknLCdvdmVyJyk7XCIgb25tb3Vz
ZW91dD1cImphdmFzY3JpcHQ6dG9nZ2xlKCdidG5fcGxheScsJ29mZicpO1wiIG9uY2xpY2s9XCJj
b250cm9sUGxheSgpO1wiLz4iOwp2YXIgcHJldkJ0bkhUTUwgPSAiPGltZyBpZD1cImJ0bl9wcmV2
aW91c1wiIHNyYz1cIiIraW1hZ2VQYXRoKyJidG5fcHJldmlvdXNfb2ZmLmdpZlwiIHdpZHRoPVwi
MjZcIiBoZWlnaHQ9XCIzOFwiIGFsdD1cIlByZXZpb3VzIFRyYWNrXCIgdGl0bGU9XCJQcmV2aW91
cyBUcmFja1wiIGJvcmRlcj1cIjBcIiBvbm1vdXNlb3Zlcj1cImphdmFzY3JpcHQ6dG9nZ2xlKCdi
dG5fcHJldmlvdXMnLCdvdmVyJyk7XCIgb25tb3VzZW91dD1cImphdmFzY3JpcHQ6dG9nZ2xlKCdi
dG5fcHJldmlvdXMnLCdvZmYnKTtcIiBvbmNsaWNrPVwidGhpcy5zcmM9JyIraW1hZ2VQYXRoKyJi
dG5fcHJldmlvdXNfb24uZ2lmJztjb250cm9sUHJldmlvdXNUcmFjaygpO1wiLz4iOwp2YXIgbmV4
dEJ0bkhUTUwgPSAiPGltZyBpZD1cImJ0bl9uZXh0XCIgc3JjPVwiIitpbWFnZVBhdGgrImJ0bl9u
ZXh0X29mZi5naWZcIiB3aWR0aD1cIjI4XCIgaGVpZ2h0PVwiMzhcIiBhbHQ9XCJOZXh0IFRyYWNr
XCIgdGl0bGU9XCJOZXh0IFRyYWNrXCIgYm9yZGVyPVwiMFwiIG9ubW91c2VvdmVyPVwiamF2YXNj
cmlwdDp0b2dnbGUoJ2J0bl9uZXh0Jywnb3ZlcicpO1wiIG9ubW91c2VvdXQ9XCJqYXZhc2NyaXB0
OnRvZ2dsZSgnYnRuX25leHQnLCdvZmYnKTtcIiBvbmNsaWNrPVwidGhpcy5zcmM9JyIraW1hZ2VQ
YXRoKyJidG5fbmV4dF9vbi5naWYnO2NvbnRyb2xOZXh0VHJhY2soKTtcIi8+IjsKdmFyIG11dGVC
dG5IVE1MID0gIjxpbWcgaWQ9XCJidG5fbXV0ZVwiIHNyYz1cIiIraW1hZ2VQYXRoKyJidG5fbXV0
ZV9vZmYuZ2lmXCIgd2lkdGg9XCIxOFwiIGhlaWdodD1cIjI5XCIgYWx0PVwiTXV0ZVwiIHRpdGxl
PVwiTXV0ZVwiIGJvcmRlcj1cIjBcIiBvbm1vdXNlb3Zlcj1cImphdmFzY3JpcHQ6dG9nZ2xlKCdi
dG5fbXV0ZScsJ292ZXInKTtcIiBvbm1vdXNlb3V0PVwiamF2YXNjcmlwdDp0b2dnbGUoJ2J0bl9t
dXRlJywnb2ZmJyk7XCIgb25jbGljaz1cImNvbnRyb2xNdXRlKCk7XCIvPiI7CnZhciByYWRpb1Bs
YXlMaXN0SGVhZGVyID0gIjx0YWJsZSBjZWxscGFkZGluZz1cIjBcIiBjZWxsc3BhY2luZz1cIjBc
IiBib3JkZXI9XCIwXCI+IisKIjx0cj48dGQgdmFsaWduPVwiYm90dG9tXCIgY2xhc3M9XCJwbGF5
TGlzdEJhckxlZnRcIj4jPC90ZD4iKwoiPHRkIHZhbGlnbj1cImJvdHRvbVwiIGNsYXNzPVwicGxh
eUxpc3RCYXJSaWdodFwiPlNvbmc8L3RkPjwvdHI+IisKIjwvdGFibGU+IjsKdmFyIHRyYWNrUGxh
eUxpc3RIZWFkZXIgPSAiPHRhYmxlIGNlbGxwYWRkaW5nPVwiMFwiIHdpZHRoPVwiMTAwJVwiIGNl
bGxzcGFjaW5nPVwiMFwiIGJvcmRlcj1cIjBcIj4iKwoiPHRyPjx0ZCB2YWxpZ249XCJib3R0b21c
IiBjbGFzcz1cInBsYXlMaXN0QmFyTGVmdFwiPlBsYXk8L3RkPiIrCiI8dGQgdmFsaWduPVwiYm90
dG9tXCIgY2xhc3M9XCJwbGF5TGlzdEJhclJpZ2h0XCI+VHJhY2svQXJ0aXN0PC90ZD4iKwoiPHRk
IHZhbGlnbj1cImJvdHRvbVwiIGNsYXNzPVwicGxheUxpc3RCYXJGYXJSaWdodFwiPjxhIGhyZWY9
XCJqYXZhc2NyaXB0OmNsZWFyUGxheUxpc3QoKTtcIj48c3BhbiBjbGFzcz1cImxpZ2h0Qmx1ZU5v
cm1cIj5DbGVhciBQbGF5bGlzdDwvc3Bhbj48L2E+PC90ZD4iKwoiPC90cj48L3RhYmxlPiI7CmZ1
bmN0aW9uIHJlbmRlclBsYXllckJpdHMobW9kZSl7CmlmIChtb2RlID09ICJ0cmFja3MiKXsKZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImhlYWRlckltYWdlIikuaW5uZXJIVE1MPSI8aW1nIHNyYz1c
IiIraW1hZ2VQYXRoKyJwbGF5bGlzdF9oZWFkZXIuZ2lmXCIgd2lkdGg9XCI2MVwiIGhlaWdodD1c
IjE5XCIgYWx0PVwiXCIgYm9yZGVyPVwiMFwiIC8+IjsKZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
Imxpc3RUaXRsZUltYWdlIikuaW5uZXJIVE1MPSI8aW1nIHNyYz1cIiIraW1hZ2VQYXRoKyJwbGF5
bGlzdF9zdWJoZWFkZXIuZ2lmXCIgd2lkdGg9XCI0N1wiIGhlaWdodD1cIjE5XCIgYWx0PVwiXCIg
Ym9yZGVyPVwiMFwiIC8+IjsKLyogY29udHJvbCBwYW5lbCAqLwpkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29udHJvbF8xIikuaW5uZXJIVE1MPXBhdXNlQnRuSFRNTDsKZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRyb2xfMiIpLmlubmVySFRNTD1wbGF5QnRuSFRNTDsKZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRyb2xfMyIpLmlubmVySFRNTD1wcmV2QnRuSFRNTDsKZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRyb2xfNCIpLmlubmVySFRNTD1uZXh0QnRuSFRNTDsKZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRyb2xfNSIpLmlubmVySFRNTD1tdXRlQnRuSFRNTDsKZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBsYXlsaXN0QmFyIikuaW5uZXJIVE1MPXRyYWNrUGxheUxp
c3RIZWFkZXI7Cn1lbHNlewpkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaGVhZGVySW1hZ2UiKS5p
bm5lckhUTUw9IjxpbWcgc3JjPVwiIitpbWFnZVBhdGgrInJhZGlvX2hlYWRlci5naWZcIiB3aWR0
aD1cIjM3XCIgaGVpZ2h0PVwiMTlcIiBhbHQ9XCJcIiBib3JkZXI9XCIwXCIgLz4iOwpkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgicGxheUxpc3RIZWFkZXJUZXh0Iikuc3R5bGUudGV4dEFsaWduPSJs
ZWZ0IjsKZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImxpc3RUaXRsZUltYWdlIikuaW5uZXJIVE1M
PSI8aW1nIHNyYz1cIiIraW1hZ2VQYXRoKyJyYWRpb19zdWJoZWFkZXIuZ2lmXCIgd2lkdGg9XCI4
N1wiIGhlaWdodD1cIjE5XCIgYWx0PVwiXCIgYm9yZGVyPVwiMFwiIC8+IjsKLyogY29udHJvbCBw
YW5lbCAqLwpkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udHJvbF8xIikuaW5uZXJIVE1MPXN0
b3BCdG5IVE1MOwpkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udHJvbF8yIikuaW5uZXJIVE1M
PXBsYXlCdG5IVE1MOwpkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udHJvbF8zIikuaW5uZXJI
VE1MPW5leHRCdG5IVE1MOwpkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udHJvbF80IikuaW5u
ZXJIVE1MPW11dGVCdG5IVE1MOwpkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udHJvbF81Iiku
aW5uZXJIVE1MPSI8aW1nIHNyYz1cIiIraW1hZ2VQYXRoKyJkb3RfY2xlYXIuZ2lmXCIgd2lkdGg9
XCIyOFwiIGhlaWdodD1cIjM4XCIgYWx0PVwiXCIgYm9yZGVyPVwiMFwiLz4iOwpkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgicGxheWxpc3RCYXIiKS5pbm5lckhUTUw9cmFkaW9QbGF5TGlzdEhlYWRl
cjsKfQp9CmZ1bmN0aW9uIGFjY291bnRSZW5kZXIoY29kZSl7CnZhciBpc0Fub24gPSAoIGdldEFj
Y291bnRUeXBlKCkgPT0gJ2Fub24nICk7CmFjY3RUeXBlID0gY29kZTsKcmVuZGVyQXMgPSAiQWNj
b3VudCZuYnNwOzombmJzcDsiOwp2YXIgdGhlU3ViVXBncmFkZU1zZyA9ICImbmJzcDs8YnIvPiI7
CnN3aXRjaCAoY29kZSl7CmNhc2UgIjQyOTQ5NjcyOTUiOnsKcmVuZGVyQXMgKz0gIlJoYXBzb2R5
IDI1IjsKaWYoIGlzQW5vbiApewp0aGVTdWJVcGdyYWRlTXNnID0gIjxhIGhyZWY9XCJodHRwOi8v
d3d3LnJlYWwuY29tL3JoYXBzb2R5L2luZm8uaHRtbD9zcmM9cmNvbV9wbGF5ZXImZ3VpZD0iK1Jo
YXBYLmdldEFjY291bnRQcm9wZXJ0eSgidWRzdXNlcmd1aWQiKSsiXCIgdGFyZ2V0PVwibmV3V2lu
XCI+PHNwYW4gY2xhc3M9XCJsaWdodEJsdWVcIj5VcGdyYWRlIHRvIFVOTElNSVRFRDwvc3Bhbj48
L2E+IjsKdGhlU3ViVXBncmFkZU1zZyA9IHRoZVN1YlVwZ3JhZGVNc2cgKyAiPGEgaHJlZj1cIiNc
IiBvbkNsaWNrPVwibG9jYXRpb24ucmVwbGFjZSgncGxheWVyP3NpZ25pbj10cnVlJnBhZ2VSZWdp
b249cGxheWVySGVhZGVyJyk7XCI+IDxzcGFuIHN0eWxlPVwidGV4dC1hbGlnbjogcmlnaHQ7IG1h
cmdpbi1sZWZ0OjkzcHhcIiBjbGFzcz1cImxpZ2h0Qmx1ZVwiPlNpZ24gSW4gPC9hPiA8L3NwYW4+
PGJyLz4iOwppZiggIVJoYXBYLmdldEFjY291bnRQcm9wZXJ0eSgiZnJlZVBsYXlzUmVtYWluaW5n
IikgPT0gIjQyOTQ5NjcyOTUiICl7CnRoZVN1YlVwZ3JhZGVNc2cgPSAiPGEgaHJlZj1cIiNcIiBv
bmNsaWNrPVwibG9jYXRpb24ucmVwbGFjZShzaWduVXBVUkwrbG9jYXRpb24uc2VhcmNoKTsgcmV0
dXJuIGZhbHNlO1wiPkNyZWF0ZSBDdXN0b21pemUgYSBGcmVlIEFjY291bnQgTm93PC9hPjxici8+
T3IsICIgKyB0aGVTdWJVcGdyYWRlTXNnOwp9IGVsc2UgdGhlU3ViVXBncmFkZU1zZyA9ICI8YnIv
PiIgKyB0aGVTdWJVcGdyYWRlTXNnOwp9IGVsc2Ugewp0aGVTdWJVcGdyYWRlTXNnID0gIjxhIGhy
ZWY9XCJodHRwOi8vd3d3LnJlYWwuY29tL3JoYXBzb2R5L2luZm8uaHRtbD9zcmM9cmNvbV9wbGF5
ZXImZ3VpZD0iK1JoYXBYLmdldEFjY291bnRQcm9wZXJ0eSgidWRzdXNlcmd1aWQiKSsiJnVzZXJu
YW1lPSIrUmhhcFguZ2V0VXNlck5hbWUoKSsiXCIgdGFyZ2V0PVwibmV3V2luXCI+PHNwYW4gY2xh
c3M9XCJsaWdodEJsdWVcIj5VcGdyYWRlIHRvIFVOTElNSVRFRDwvc3Bhbj48L2E+PGJyLz4iOwp9
CmlzUG10ID0gIm4iOwpicmVhazsKfWNhc2UgIjAiOnsKcmVuZGVyQXMgKz0gIlJhZGlvIjsKdGhl
U3ViVXBncmFkZU1zZyA9ICI8YSBocmVmPVwiaHR0cDovL3d3dy5yZWFsLmNvbS9yaGFwc29keS9p
bmZvLmh0bWw/c3JjPXJjb21fcGxheWVyJmd1aWQ9IitSaGFwWC5nZXRBY2NvdW50UHJvcGVydHko
InVkc3VzZXJndWlkIikrIiZ1c2VybmFtZT0iK1JoYXBYLmdldFVzZXJOYW1lKCkrIlwiIHRhcmdl
dD1cIm5ld1dpblwiPjxzcGFuIGNsYXNzPVwibGlnaHRCbHVlXCI+VXBncmFkZSB0byBVTkxJTUlU
RUQ8L3NwYW4+PC9hPjxici8+IjsKaXNQbXQgPSAieSI7CmJyZWFrOwp9Y2FzZSAiMSI6ewpyZW5k
ZXJBcyArPSAiVW5saW1pdGVkIjsKdGhlU3ViVXBncmFkZU1zZyA9ICJQbGF5IHVubGltaXRlZCBt
dXNpYy4iOwppc1BtdCA9ICJ5IjsKYnJlYWs7Cn1jYXNlICIyIjp7CnJlbmRlckFzICs9ICJSaGFw
c29keSBUbyBHbyI7CnRoZVN1YlVwZ3JhZGVNc2cgPSAiVGFrZSB5b3VyIG11c2ljIHdpdGggeW91
LiI7CmlzUG10ID0gIm4iOwpicmVhazsKfWRlZmF1bHQgOnsKcmVuZGVyQXMgPSAiIjsKaXNQbXQg
PSAidW5rbm93biI7Cn0KfQppZiggaXNBbm9uICl7CmhpZGVUaGlzKCJ1c2VySGVhZGVyIik7CnNo
b3dUaGlzKCJ1c2VySGVhZGVyQW5vbiIpOwppbmplY3RUZXh0KCJ1c2VySGVhZGVyQW5vblRleHQi
LCB0aGVTdWJVcGdyYWRlTXNnKTsKfSBlbHNlIHsKaW5qZWN0VGV4dCgiYWNjb3VudFR5cGUiLHJl
bmRlckFzKTsKaW5qZWN0VGV4dCgic3ViVXBncmFkZU1zZyIsdGhlU3ViVXBncmFkZU1zZyk7Cn0K
fQpmdW5jdGlvbiByZW5kZXJBZChhcnRpc3RpZCl7CmlmKGlzTG9nZ2VkSW5QbGF5ZXIgPT0gdHJ1
ZSl7CmxvZ2dlZGluID0gInkiOwp9ZWxzZXsKbG9nZ2VkaW4gPSAibiI7Cn0KdmFyIGFub24gPSBm
YWxzZTsKdmFyIG9yZCA9IE1hdGgucm91bmQoTWF0aC5yYW5kb20oKSoxMjMpOwp2YXIgaGFzRnJl
ZVBsYXlzID0gIm4iOwp2YXIgcmVtYWluaW5nUGxheXM7CnRyeXsKYW5vbiA9ICggZ2V0QWNjb3Vu
dFR5cGUoKSA9PSAnYW5vbicpOwp9IGNhdGNoKGUpe30KdHJ5ewpyZW1haW5pbmdQbGF5cyA9IFJo
YXBYLmdldEFjY291bnRQcm9wZXJ0eSgnZnJlZVBsYXlzUmVtYWluaW5nJyk7CmlmKCByZW1haW5p
bmdQbGF5cyA9PSA0Mjk0OTY3Mjk1ICkgcmVtYWluaW5nUGxheXMgPSAwOwppZiggcmVtYWluaW5n
UGxheXMgPiAwICl7Cmhhc0ZyZWVQbGF5cyA9ICJ5IjsKfQp9IGNhdGNoKGUpewpyZW1haW5pbmdQ
bGF5cyA9ICIiOwp9CmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhZElmcmFtZSIpLnNyYz0iaHR0
cDovL2FkLmRvdWJsZWNsaWNrLm5ldC9hZGkvcmVhbC5yaGFwL2hhbGZiYW5uZXIvc3VicGxhbjI1
LztlbnY9cHJvZHVjdGlvbjtwY29kZT07bG9jPXBsYXllcjtwcm9kPVJoYXBzb2R5O2FydGlzdD0i
K2FydGlzdGlkKyI7c3VicGxhbj0yNTtyZW1haW5pbmdQbGF5cz0iK3JlbWFpbmluZ1BsYXlzKyI7
YW5vbj0iK2Fub24rIjtwbXQ9Iitpc1BtdCsiO3VzZXJmcmVlcGxheT0iK2hhc0ZyZWVQbGF5cysi
O2xvZ2luPSIrbG9nZ2VkaW4rIjtzej0yMzR4NjA7b3JkPSIrb3JkKyI7cmhhcHdlYj15OyI7Cn0K
ZnVuY3Rpb24gZG9TZWFyY2goKXsKdGhlVGVybSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
ZWFyY2hib3giKS52YWx1ZTsKaWYodGhlVGVybSA9PSAiIiB8fCB0aGVUZXJtID09ICJmaW5kIG1v
cmUgbXVzaWMiKXsKYWxlcnQoIlBsZWFzZSBlbnRlciBhIHNlYXJjaCB0ZXJtIik7CnJldHVybiBm
YWxzZTsKfWVsc2V7CmlmICh3aW5kb3cub3BlbmVyICYmICF3aW5kb3cub3BlbmVyLmNsb3NlZCkg
ewp0cnkgewp3aW5kb3cub3BlbmVyLmxvY2F0aW9uLmhyZWYgPSByaGFwc29keVVSTCsiLy1zZWFy
Y2g/cXVlcnk9Iit0aGVUZXJtKyImc2VhcmNodHlwZT1SaGFwS2V5d29yZCZmcm9tPXBsYXllciI7
CndpbmRvdy5vcGVuZXIuZm9jdXMoKTsKfSBjYXRjaCAoZSl7IH0KfSBlbHNlIHsKdmFyIHNlYXJj
aFdpbiA9IHdpbmRvdy5vcGVuKHJoYXBzb2R5VVJMKyIvLXNlYXJjaD9xdWVyeT0iK3RoZVRlcm0r
IiZzZWFyY2h0eXBlPVJoYXBLZXl3b3JkJmZyb209cGxheWVyIik7CnNlYXJjaFdpbi5mb2N1cygp
Owp9CnJldHVybiBmYWxzZTsKfQp9CmZ1bmN0aW9uIGRpc3BsYXlTZXJ2ZXJLaWNrT2ZmKCl7Cmxv
Z291dFJoYXBYKCk7CmhpZGVUaGlzKCJwbGF5ZXJCb2R5IiwiYWQiLCJ0aW1lZG91dCIpOwpzaG93
VGhpcygic2lnbmluY29uZmxpY3QiKTsKfQpmdW5jdGlvbiBkaXNwbGF5SWRsZVdhcm5pbmcoaWRs
ZVRpbWVJblNlY1JlbWFpbmluZ1VudGlsTG9nb3V0KXsKaWYgKGlkbGVUaW1lSW5TZWNSZW1haW5p
bmdVbnRpbExvZ291dCA9PSAwKSB7CmxvZ291dFJoYXBYKCk7CmhpZGVUaGlzKCJwbGF5ZXJIZWFk
ZXIiLCJwbGF5ZXJCb2R5IiwgImFkIiwic2lnbmluY29uZmxpY3QiKTsKc2hvd1RoaXMoInRpbWVk
b3V0Iik7CmdTZXNzaW9uVGltZWRPdXQgPSB0cnVlOwp9Cn0KZnVuY3Rpb24gZGlzcGxheUFjY291
bnRDcmVhdGlvbkVycm9yKCl7CmhpZGVUaGlzKCJwbGF5ZXJIZWFkZXIiLCJwbGF5ZXJCb2R5Iiwg
ImFkIiwgImNyZWF0ZUFub25BY2NvdW50IiApOwpzaG93VGhpcygiY3JlYXRlQW5vbkFjY291bnRF
cnJvciIpOwp9CmZ1bmN0aW9uIGRpc3BsYXlFcnJvcigpIHsKbG9nb3V0UmhhcFgoKTsKaGlkZVRo
aXMoInBsYXllckhlYWRlciIsInBsYXllckJvZHkiLCAiYWQiKTsKc2hvd1RoaXMoImdlbmVyYWxQ
bGF5ZXJFcnJvciIpOwp9CmZ1bmN0aW9uIGNyZWF0ZUFub25BY2NvdW50KHVzZXJuYW1lLCBwYXNz
d29yZCwgcmVtZW1iZXIsIGF1dG9Mb2dpbil7Ci8vYWxlcnQodXNlcm5hbWUgKyAnICcgKyBwYXNz
d29yZCArICcgJyArIGdldEFjY291bnRUeXBlKCkgKyAnIHJlbTogJyArIHJlbWVtYmVyICsgJyBh
bDogJyArIGF1dG9Mb2dpbik7CmdTaWxlbnRTaWduSW4gPSAiZmFsc2UiOwppZiAodXNlcm5hbWUg
PT0gbnVsbCB8fCB1c2VybmFtZSA9PSAnJyB8fCBwYXNzd29yZCA9PSBudWxsIHx8IHBhc3N3b3Jk
ID09ICcnKSB7Ci8vIGp1c3QgZG91YmxlIGNoZWNrIGFuZCBtYWtlIHN1cmUgd2UgZG9uJ3QgYWxy
ZWFkeSBoYXZlIG9uZQp1c2VybmFtZSA9IGZpbmRBdHRyaWJ1dGVCeVR5cGUoInVzZXJuYW1lIiwi
YW5vbiIpOwpwYXNzd29yZCA9IGZpbmRBdHRyaWJ1dGVCeVR5cGUoInBhc3N3b3JkIiwiYW5vbiIp
OwpnQWNjb3VudFR5cGUgPSAiYW5vbiI7CmlmICh1c2VybmFtZSA9PSBudWxsIHx8IHVzZXJuYW1l
ID09ICcnIHx8IHBhc3N3b3JkID09IG51bGwgfHwgcGFzc3dvcmQgPT0gJycpIHsKZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNyZWF0ZUFub25BY2NvdW50Iikuc3R5bGUudmlzaWJpbGl0eT0idmlz
aWJsZSI7CmNyZWF0ZUFjY291bnQobnVsbCwgbnVsbCwgcmhhcERhdGFTZXJ2aWNlSWQpOwpyZXR1
cm47Cn0KfQppZiAocmVtZW1iZXIgPT0gJ3RydWUnICYmIGF1dG9Mb2dpbiA9PSAndHJ1ZScpIHsK
ZG9Mb2dpbih1c2VybmFtZSwgcGFzc3dvcmQpOwp9IGVsc2UgaWYgKGdldEFjY291bnRUeXBlKCkg
PT0gJ2Fub24nKSB7ClJoYXBYLnNldFVzZXJEYXRhKCJ1c2VybmFtZSIsIiIsZmFsc2UpOwpSaGFw
WC5zZXRVc2VyRGF0YSgicGFzc3dvcmQiLCIiLGZhbHNlKTsKZG9Mb2dpbih1c2VybmFtZSwgcGFz
c3dvcmQpOwp9IGVsc2UgewpwcmVwTG9naW4odXNlcm5hbWUsIHBhc3N3b3JkLCByZW1lbWJlcik7
Cn0KfQpmdW5jdGlvbiBmaW5kQXR0cmlidXRlQnlUeXBlKGF0dHJpYnV0ZSwgdHlwZSl7CmlmICh0
eXBlID09ICdjb29raWUnKSB7CnZhciB2YWx1ZSA9IGdldFVzZXJOYW1lRnJvbUNvb2tpZSgpOwpp
ZiAodmFsdWUgIT0gbnVsbCAmJiB2YWx1ZSAhPSAnJykgewpnQWNjb3VudFR5cGUgPSAidW5rbm93
biI7CnJldHVybiB2YWx1ZTsKfQp9CmlmICh0eXBlID09ICdyaGFwdGhpY2snKSB7CmlmIChhdHRy
aWJ1dGUgPT0gJ3VzZXJuYW1lJyl7CnZhciBrZXkgPSAiUmhhcHNvZHlfVXNlcm5hbWUiOwp9IGVs
c2Ugewp2YXIga2V5ID0gIlJoYXBzb2R5X1Bhc3N3b3JkIjsKfQp9CmlmICh0eXBlID09ICdyaGFw
dGhpbicpIHsKaWYgKGF0dHJpYnV0ZSA9PSAndXNlcm5hbWUnKXsKdmFyIGtleSA9ICJ1c2VybmFt
ZSI7Cn0gZWxzZSB7CnZhciBrZXkgPSAicGFzc3dvcmQiOwp9Cn0KaWYgKHR5cGUgPT0gJ2Fub24n
KSB7CmlmIChhdHRyaWJ1dGUgPT0gJ3VzZXJuYW1lJyl7CnZhciBrZXkgPSAiYW5vbnVzZXJuYW1l
IjsKfSBlbHNlIHsKdmFyIGtleSA9ICJhbm9ucGFzc3dvcmQiOwp9Cn0KdmFyIHZhbHVlID0gUmhh
cFguZ2V0VXNlckRhdGEoa2V5KTsKaWYgKHZhbHVlICE9IG51bGwgJiYgdmFsdWUgIT0gJycpIHsK
Z0FjY291bnRUeXBlID0gdHlwZTsKLy9hbGVydCh0eXBlICsgJyAnICsgdmFsdWUgKyAnICcgKyBr
ZXkpOwpyZXR1cm4gdmFsdWU7Cn0KcmV0dXJuIG51bGw7Cn0KZnVuY3Rpb24gZmluZFVzZXJuYW1l
KCkgewppZiAoZ0FjY291bnRUeXBlICE9IG51bGwgJiYgZ0FjY291bnRUeXBlICE9ICcnKXsKdmFy
IHZhbHVlID0gZmluZEF0dHJpYnV0ZUJ5VHlwZSgidXNlcm5hbWUiLCBnQWNjb3VudFR5cGUpOwpp
ZiAodmFsdWUgIT0gbnVsbCAmJiB2YWx1ZSAhPSAnJykgewpyZXR1cm4gdmFsdWU7Cn0KfQp2YXIg
dmFsdWUgPSBmaW5kQXR0cmlidXRlQnlUeXBlKCJ1bmtub3duIiwgImNvb2tpZSIpOwppZiAodmFs
dWUgIT0gbnVsbCAmJiB2YWx1ZSAhPSAnJykgewpyZXR1cm4gdmFsdWU7Cn0KLyogdmFyIHZhbHVl
ID0gZmluZEF0dHJpYnV0ZUJ5VHlwZSgidXNlcm5hbWUiLCAicmhhcHRoaWNrIik7CiogaWYgKHZh
bHVlICE9IG51bGwgJiYgdmFsdWUgIT0gJycpIHsKKiByZXR1cm4gdmFsdWU7CiogfQoqLwp2YXIg
dmFsdWUgPSBmaW5kQXR0cmlidXRlQnlUeXBlKCJ1c2VybmFtZSIsICJyaGFwdGhpbiIpOwppZiAo
dmFsdWUgIT0gbnVsbCAmJiB2YWx1ZSAhPSAnJykgewovLyBDaGVjayBmb3IgbGVnYWN5IHRva2Vu
aXplZCB1c2VybmFtZXMKdmFyIHJlID0gbmV3IFJlZ0V4cCgnLi4uLi4uLi4tLi4uLi0uLi4uLS4u
Li4tLi4uLi4uLi4uLi4uJCcpOwppZiAodmFsdWUubWF0Y2gocmUpKSB7CnJldHVybiBudWxsCn0K
cmV0dXJuIHZhbHVlOwp9CnZhciB2YWx1ZSA9IGZpbmRBdHRyaWJ1dGVCeVR5cGUoInVzZXJuYW1l
IiwgImFub24iKTsKaWYgKHZhbHVlICE9IG51bGwgJiYgdmFsdWUgIT0gJycpIHsKcmV0dXJuIHZh
bHVlOwp9CnJldHVybiBudWxsOwp9CmZ1bmN0aW9uIGdldEFjY291bnRUeXBlKCkgewpyZXR1cm4g
Z0FjY291bnRUeXBlOwp9CmZ1bmN0aW9uIHNldEFjY291bnRUeXBlKHR5cGUpIHsKZ0FjY291bnRU
eXBlID0gdHlwZTsKfQpmdW5jdGlvbiBmaW5kUGFzc3dvcmQoKSB7CmlmIChnQWNjb3VudFR5cGUg
IT0gbnVsbCAmJiBnQWNjb3VudFR5cGUgIT0gJycpewp2YXIgdmFsdWUgPSBmaW5kQXR0cmlidXRl
QnlUeXBlKCJwYXNzd29yZCIsIGdBY2NvdW50VHlwZSk7CmlmICh2YWx1ZSAhPSBudWxsICYmIHZh
bHVlICE9ICcnKSB7CnJldHVybiB2YWx1ZTsKfQp9Ci8qIHZhciB2YWx1ZSA9IGZpbmRBdHRyaWJ1
dGVCeVR5cGUoInBhc3N3b3JkIiwgInJoYXB0aGljayIpOwoqIGlmICh2YWx1ZSAhPSBudWxsICYm
IHZhbHVlICE9ICcnKSB7CiogcmV0dXJuIHZhbHVlOwoqIH0KKi8KdmFyIHZhbHVlID0gZmluZEF0
dHJpYnV0ZUJ5VHlwZSgicGFzc3dvcmQiLCAicmhhcHRoaW4iKTsKaWYgKHZhbHVlICE9IG51bGwg
JiYgdmFsdWUgIT0gJycpIHsKcmV0dXJuIHZhbHVlOwp9CnZhciB2YWx1ZSA9IGZpbmRBdHRyaWJ1
dGVCeVR5cGUoInBhc3N3b3JkIiwgImFub24iKTsKaWYgKHZhbHVlICE9IG51bGwgJiYgdmFsdWUg
IT0gJycpIHsKcmV0dXJuIHZhbHVlOwp9CnJldHVybiBudWxsOwp9CmZ1bmN0aW9uIHByZXBMb2dp
bih1c2VybmFtZSwgcGFzc3dvcmQsIHJlbWVtYmVyKSB7Ci8vYWxlcnQoJ2luIHByZXAgbG9naW4g
d2l0aCByZW1lbWJlcjogJyArIHJlbWVtYmVyICsgJyB1OiAnICsgdXNlcm5hbWUgKyAnIGFuZCBw
OiAnICsgcGFzc3dvcmQgKyAnIHJlbTogJyArIHJlbWVtYmVyKTsKZ1NpbGVudFNpZ25JbiA9ICJm
YWxzZSI7Ci8vIFRoaXMgY2xlYXJzIHRoZSB0cmFjayBoaXN0b3J5CmdldFRyYWNrSGlzdG9yeSgp
Owpkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibG9naW4iKS5zdHlsZS52aXNpYmlsaXR5PSJ2aXNp
YmxlIjsKaWYgKHJlbWVtYmVyID09ICdUcnVlJyB8fCByZW1lbWJlciA9PSAndHJ1ZScpIHsKaWYg
KGdldEFjY291bnRUeXBlKCkgIT0gJ2Fub24nKSB7CmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
YXZlcGFzc3dvcmQiKS5jaGVja2VkPXRydWU7CmlmICh1c2VybmFtZSAhPSBudWxsKSB7CmRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJ1c2VybmFtZSIpLnZhbHVlPXVzZXJuYW1lOwp9CmlmIChwYXNz
d29yZCAhPSBudWxsKSB7CmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXNzd29yZCIpLnZhbHVl
PXBhc3N3b3JkOwp9Cn0KfQp9CmZ1bmN0aW9uIGRvU2lsZW50TG9naW4odXNlcm5hbWUsIHBhc3N3
b3JkKSB7Ci8vYWxlcnQoJ2luIHNpbGVudCBsb2dpbiB3aXRoIHU6ICcgKyB1c2VybmFtZSArICcg
YW5kIHA6ICcgKyBwYXNzd29yZCk7CmdTaWxlbnRTaWduSW4gPSAidHJ1ZSI7CmRvTG9naW4odXNl
cm5hbWUsIHBhc3N3b3JkKTsKfQpmdW5jdGlvbiBkb0xvZ2luKHVzZXJuYW1lLCBwYXNzd29yZCkg
ewpSaGFwWC5zZXRVc2VyTmFtZSh1c2VybmFtZSk7ClJoYXBYLnNldFBhc3N3b3JkKHBhc3N3b3Jk
KTsKUmhhcFguYXV0aGVudGljYXRlKCk7CmlmIChSaGFwWC5hdXRoZW50aWNhdGUoKSAhPSAwKSB7
CmlzTG9nZ2VkSW5QbGF5ZXIgPSBmYWxzZTsKfWVsc2V7CmlzTG9nZ2VkSW5QbGF5ZXIgPSB0cnVl
Owp9CnByZXBVSSgpOwp9CmZ1bmN0aW9uIHNldFJlbWVtYmVyT25TaWduT3V0KHN0YXRlKSB7Cmlm
IChzdGF0ZSA9PSBmYWxzZSl7ClJoYXBYLnNldFVzZXJEYXRhKCJ1c2VybmFtZSIsIiIsZmFsc2Up
OwpSaGFwWC5zZXRVc2VyRGF0YSgicGFzc3dvcmQiLCIiLGZhbHNlKTsKUmhhcFguc2V0VXNlckRh
dGEoInJlbWVtYmVyLW1lIiwiZmFsc2UiLGZhbHNlKTsKUmhhcFguc2V0VXNlckRhdGEoImF1dG8t
bG9naW4iLCJmYWxzZSIsZmFsc2UpOwp9IGVsc2UgewpSaGFwWC5zZXRVc2VyRGF0YSgicmVtZW1i
ZXItbWUiLCJ0cnVlIixmYWxzZSk7ClJoYXBYLnNldFVzZXJEYXRhKCJhdXRvLWxvZ2luIiwiZmFs
c2UiLGZhbHNlKTsKfQovLyBUaGlzIGNsZWFycyB0aGUgdHJhY2sgaGlzdG9yeQpnZXRUcmFja0hp
c3RvcnkoKTsKfQovLyBHbG9iYWwgdmFyIHRvIGNhdGNoIGlmIHNvbWVvbmUgdG9nZ2xlIHRoZSBz
aWduIG91dCByZW1lbWJlciBtZSBib3ggYW5kIGNsb3NlZAovLyB0aGUgd2luZG93IGluc3RlYWQg
b2YgY2xpY2tpbmcgdGhlIGNsb3NlIGJ1dHRvbgp2YXIgc2lnbk91dFJlbWVtYmVyTWVCb3hDaGFu
Z2VkID0gZmFsc2U7CmZ1bmN0aW9uIGNsb3NlQ2xlYW51cCgpIHsKaWYgKGxvY2F0aW9uLmdldFBh
cmFtZXRlcigic2lnbm91dCIpKXsKdmFyIHJlbWVtYmVyID0gUmhhcFguZ2V0VXNlckRhdGEoInJl
bWVtYmVyLW1lIik7CmlmIChzaWduT3V0UmVtZW1iZXJNZUJveENoYW5nZWQpIHsKc2V0UmVtZW1i
ZXJPblNpZ25PdXQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNpZ25vdXRSZW1lbWJlck1lIiku
Y2hlY2tlZCk7Cn0gZWxzZSBpZiAocmVtZW1iZXIgPT0gInRydWUiIHx8IHJlbWVtYmVyID09ICJU
cnVlIil7CnNldFJlbWVtYmVyT25TaWduT3V0KHRydWUpOwp9IGVsc2UgewpzZXRSZW1lbWJlck9u
U2lnbk91dChmYWxzZSk7Cn0Kc2VsZi5jbG9zZSgpOwp9Cn0KcGx1Z2luU3RhdGUgPSAwOyAvLzA9
dW50ZXN0ZWQgMT10ZXN0ZWQtbm8tcGx1Z2luIDI9dGVzdGVkLWhhcy1wbHVnaW4KZnVuY3Rpb24g
aW5pdCgpewpSaGFwWCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJSaGFwWCIpOwppZiAoIHBs
dWdpblN0YXRlIDwgMiApewpuYXZpZ2F0b3IucGx1Z2lucy5yZWZyZXNoKCk7CmZvciAoIHZhciB4
ID0gMDsgeCA8IG5hdmlnYXRvci5wbHVnaW5zLmxlbmd0aDsgeCsrICl7CmlmICggbmF2aWdhdG9y
LnBsdWdpbnNbeF0gJiYgbmF2aWdhdG9yLnBsdWdpbnNbeF0ubmFtZSAmJiBuYXZpZ2F0b3IucGx1
Z2luc1t4XS5uYW1lLmluZGV4T2YoICJSaGFwc29keSIgKSAhPSAtMSApewpzd2l0Y2ggKCBwbHVn
aW5TdGF0ZSApewpjYXNlIDA6ewpwbHVnaW5TdGF0ZSA9IDI7CmJyZWFrOwp9CmNhc2UgMTp7Cmxv
Y2F0aW9uLnJlbG9hZCgpOwpicmVhazsKfQp9Cn0KfQppZiAoIHBsdWdpblN0YXRlID09IDAgKXsK
cGx1Z2luU3RhdGUgPSAxOwp9Cn0KdHJ5ewpSaGFwWC5nZXRVc2VyRGF0YSgidXNlcm5hbWUiKTsK
fWNhdGNoICggZSApewpzZXRUaW1lb3V0KCdpbml0KCk7JywgNTAwICk7CnJldHVybjsKfQppZiAo
UmhhcFguZ2V0VXNlckRhdGEoInJoYXB3ZWIudm9sdW1lIikpIHsKdmFyIHRoZURlZlZvbCA9IFJo
YXBYLmdldFVzZXJEYXRhKCJyaGFwd2ViLnZvbHVtZSIpOwp9IGVsc2Ugewp2YXIgdGhlRGVmVm9s
ID0gcHJldlZvbDsKfQpzZXRWb2x1bWUodGhlRGVmVm9sKTsKdmFyIHBsdWdpblZlcnNpb24gPSBS
aGFwWC5nZXRDb250cm9sVmVyc2lvbigpOwppZiAoZ1JlcXVpcmVkUmhhcFhWZXJzaW9uICE9ICdh
bnknICYmICFpc1ZlcnNpb25HcmVhdGVyVGhhbkVxdWFsVG8oZ1JlcXVpcmVkUmhhcFhWZXJzaW9u
LHBsdWdpblZlcnNpb24pKSB7CmRvY3VtZW50LmxvY2F0aW9uLnJlcGxhY2UoJy9pbnN0YWxsJyth
cHBlbmRUb0xvY2F0aW9uU2VhcmNoKCd1cGdyYWRlPXRydWUnKSk7CnJldHVybjsKfQp2YXIgcmVt
ZW1iZXIgPSBSaGFwWC5nZXRVc2VyRGF0YSgicmVtZW1iZXItbWUiKTsKdmFyIGF1dG9Mb2dpbiA9
IFJoYXBYLmdldFVzZXJEYXRhKCJhdXRvLWxvZ2luIik7CnZhciB1c2VybmFtZSA9IGZpbmRVc2Vy
bmFtZSgpOwp2YXIgcGFzc3dvcmQgPSBmaW5kUGFzc3dvcmQoKTsKaWYgKGxvY2F0aW9uLmdldFBh
cmFtZXRlcigic2lnbm91dCIpKXsKaGlkZVRoaXMoInBsYXllckJvZHkiLCJhZCIpOwpSaGFwWC5z
ZXRVc2VyRGF0YSgic3RhdGUiLCJsb2dnZWRvdXQiLGZhbHNlKTsKaWYoY29va2llR3JvdXAuaGFz
Q29va2llKCJSaGFwRnJlZVBsYXlXYXJuIikpewpjb29raWVHcm91cC5kZWxldGVDb29raWUoIlJo
YXBGcmVlUGxheVdhcm4iKTsKfQpyZXR2YWwgPSBSaGFwWC5sb2dvdXQoKTsKY29va2llR3JvdXAu
ZGVsZXRlQ29va2llKCJSaGFwQXV0aCIpOwpjb29raWVHcm91cC5kZWxldGVDb29raWUoIlJoYXBV
c2VyIik7CmlmIChjb29raWVHcm91cC5oYXNDb29raWUoIlJoYXBIaXN0b3J5Iikpewpjb29raWVH
cm91cC5kZWxldGVDb29raWUoIlJoYXBIaXN0b3J5Iik7Cn0KY29va2llR3JvdXAuc2V0Q29va2ll
KCJSaGFwQXV0aFdNUExPR09VVCIsImd1aWQ9dGVtcEd1aWQiLDEwMDAwKTsKZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInNpZ25vdXQiKS5zdHlsZS52aXNpYmlsaXR5PSJ2aXNpYmxlIjsKaWYgKHJl
bWVtYmVyID09ICJ0cnVlIiB8fCByZW1lbWJlciA9PSAiVHJ1ZSIpewpkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic2lnbm91dFJlbWVtYmVyTWUiKS5jaGVja2VkPXRydWU7Cn0gZWxzZSB7CmRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzaWdub3V0UmVtZW1iZXJNZSIpLmNoZWNrZWQ9ZmFsc2U7Cn0K
cmV0dXJuOwp9CnZhciBzdGF0ZSA9IFJoYXBYLmdldFVzZXJEYXRhKCJzdGF0ZSIpOwppZiAobG9j
YXRpb24uZ2V0UGFyYW1ldGVyKCJzaWduaW4iKSl7CnByZXBMb2dpbih1c2VybmFtZSwgcGFzc3dv
cmQsIHJlbWVtYmVyKTsKcmV0dXJuOwp9CmlmIChnU2Vzc2lvblRpbWVkT3V0ID09IHRydWUpIHsK
Z1Nlc3Npb25UaW1lZE91dCA9IGZhbHNlOwpkb1NpbGVudExvZ2luKHVzZXJuYW1lLCBwYXNzd29y
ZCk7Cn0KaWYgKGlzSW5XbXAoKSkgewppZihjb29raWVHcm91cC5nZXRDb29raWUoIlJoYXBBdXRo
V01QIikgPT0gJycpewppZighY29va2llR3JvdXAuaGFzQ29va2llKCJSaGFwQXV0aCIpKXsKLy9w
cmVwTG9naW4odXNlcm5hbWUsIHBhc3N3b3JkLCByZW1lbWJlcik7CmNyZWF0ZUFub25BY2NvdW50
KHVzZXJuYW1lLCBwYXNzd29yZCwgcmVtZW1iZXIsIGF1dG9Mb2dpbik7Cn0gZWxzZSB7CmRvU2ls
ZW50TG9naW4odXNlcm5hbWUsIHBhc3N3b3JkKQp9Cn0gZWxzZSB7CmRvU2lsZW50TG9naW4odXNl
cm5hbWUsIHBhc3N3b3JkKQp9Cn0gZWxzZSB7CmlmKCFjb29raWVHcm91cC5oYXNDb29raWUoIlJo
YXBBdXRoIikgfHwgbG9jYXRpb24uZ2V0UGFyYW1ldGVyKCJzaWduaW4iKSkgewovL3ByZXBMb2dp
bih1c2VybmFtZSwgcGFzc3dvcmQsIHJlbWVtYmVyKTsKY3JlYXRlQW5vbkFjY291bnQodXNlcm5h
bWUsIHBhc3N3b3JkLCByZW1lbWJlciwgYXV0b0xvZ2luKTsKfSBlbHNlIHsKZG9TaWxlbnRMb2dp
bih1c2VybmFtZSwgcGFzc3dvcmQpCn0KfQp9CjwvU0NSSVBUPjxMSU5LIGhyZWY9Imh0dHA6Ly9z
dGF0aWMucmVhbG9uZS5jb20vcm90dy9jc3MvcGxheWVyLmNzcz9iaWQ9OTk1OTM1OTUyIiB0eXBl
PSJ0ZXh0L2NzcyIgcmVsPSJzdHlsZXNoZWV0Ij48U1RZTEUgdHlwZT0idGV4dC9jc3MiPgojcGxh
eWVySGVhZGVye3Bvc2l0aW9uOmFic29sdXRlOyB0b3A6MHB4OyBsZWZ0OjBweDsgd2lkdGg6Mjcw
cHg7IGhlaWdodDozNnB4O2JhY2tncm91bmQtaW1hZ2U6IHVybChodHRwOi8vc3RhdGljLnJlYWxv
bmUuY29tL3JvdHcvcGxheWVyaW1hZ2VzL2hlYWRlcl9iZy5qcGcpOyBiYWNrZ3JvdW5kLXJlcGVh
dDogcmVwZWF0LXg7fQojcGxheWVyQm9keXtwb3NpdGlvbjphYnNvbHV0ZTsgdG9wOjM2cHg7IGxl
ZnQ6MHB4OyB3aWR0aDoyNzBweDsgaGVpZ2h0OjUzNHB4OyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwo
aHR0cDovL3N0YXRpYy5yZWFsb25lLmNvbS9yb3R3L3BsYXllcmltYWdlcy9wbGF5ZXJfYmcuZ2lm
KTsgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtkaXNwbGF5Om5vbmU7IHZpc2liaWxpdHk6
aGlkZGVuO30KLndodEJ0bkxlZnR7d2lkdGg6N3B4OyBoZWlnaHQ6MjNweDsgYmFja2dyb3VuZC1p
bWFnZTogdXJsKGh0dHA6Ly9zdGF0aWMucmVhbG9uZS5jb20vcm90dy9wbGF5ZXJpbWFnZXMvYnRu
X3dodF9sdF9vZmYuZ2lmKTsgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgcGFkZGluZzow
O30KLndodEJ0bkNlbnRlcnt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7IGhlaWdodDoyM3B4OyBiYWNr
Z3JvdW5kLWltYWdlOiB1cmwoaHR0cDovL3N0YXRpYy5yZWFsb25lLmNvbS9yb3R3L3BsYXllcmlt
YWdlcy9idG5fd2h0X21pZF9vZmYuZ2lmKTsgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14OyBw
YWRkaW5nOjA7IGZvbnQtc2l6ZToxMXB4OyBmb250LXdlaWdodDpib2xkOyBmb250LWZhbWlseToi
VHJlYnVjaGV0IE1TIixBcmlhbCwgc2Fucy1zZXJpZjt9Ci53aHRCdG5SaWdodHt3aWR0aDo3cHg7
IGhlaWdodDoyM3B4OyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoaHR0cDovL3N0YXRpYy5yZWFsb25l
LmNvbS9yb3R3L3BsYXllcmltYWdlcy9idG5fd2h0X3J0X29mZi5naWYpOyBiYWNrZ3JvdW5kLXJl
cGVhdDogbm8tcmVwZWF0OyBwYWRkaW5nOjA7IH0KLndodEJ0bkNlbnRlckF7Y29sb3I6IzAwMDsg
Zm9udC1zaXplOjExcHg7IGZvbnQtd2VpZ2h0OmJvbGQ7IGZvbnQtZmFtaWx5OiJUcmVidWNoZXQg
TVMiLEFyaWFsLCBzYW5zLXNlcmlmO30KLndodEJ0bkNlbnRlckE6aG92ZXJ7Y29sb3I6IzA5ZTt9
Ci5zcmNCdG5MZWZ0e3dpZHRoOjdweDsgaGVpZ2h0OjIzcHg7IGJhY2tncm91bmQtaW1hZ2U6IHVy
bChodHRwOi8vc3RhdGljLnJlYWxvbmUuY29tL3JvdHcvcGxheWVyaW1hZ2VzL2J0bl9zcmNfbHRf
b2ZmLmdpZik7IGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IHBhZGRpbmc6MDt9Ci5zcmNC
dG5DZW50ZXJ7dmVydGljYWwtYWxpZ246bWlkZGxlOyBoZWlnaHQ6MjNweDsgYmFja2dyb3VuZC1p
bWFnZTogdXJsKGh0dHA6Ly9zdGF0aWMucmVhbG9uZS5jb20vcm90dy9wbGF5ZXJpbWFnZXMvYnRu
X3NyY19taWRfb2ZmLmdpZik7IGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDsgcGFkZGluZzow
OyBmb250LXNpemU6MTFweDsgZm9udC13ZWlnaHQ6Ym9sZDsgZm9udC1mYW1pbHk6IlRyZWJ1Y2hl
dCBNUyIsQXJpYWwsIHNhbnMtc2VyaWY7fQouc3JjQnRuQ2VudGVyQXtjb2xvcjojZmZmOyBmb250
LXdlaWdodDpib2xkOyBmb250LWZhbWlseToiVHJlYnVjaGV0IE1TIixBcmlhbCwgc2Fucy1zZXJp
Zjt9Ci5zcmNCdG5DZW50ZXJBOmhvdmVye2NvbG9yOiMwMDA7fQouc3JjQnRuUmlnaHR7d2lkdGg6
N3B4OyBoZWlnaHQ6MjNweDsgYmFja2dyb3VuZC1pbWFnZTogdXJsKGh0dHA6Ly9zdGF0aWMucmVh
bG9uZS5jb20vcm90dy9wbGF5ZXJpbWFnZXMvYnRuX3NyY19ydF9vZmYuZ2lmKTsgYmFja2dyb3Vu
ZC1yZXBlYXQ6IG5vLXJlcGVhdDsgcGFkZGluZzowOyB9Ci5ibHVCdG5MZWZ0e3dpZHRoOjdweDsg
aGVpZ2h0OjIzcHg7IGJhY2tncm91bmQtaW1hZ2U6IHVybChodHRwOi8vc3RhdGljLnJlYWxvbmUu
Y29tL3JvdHcvcGxheWVyaW1hZ2VzL2J0bl9ibHVfbHRfb2ZmLmdpZik7IGJhY2tncm91bmQtcmVw
ZWF0OiBuby1yZXBlYXQ7IHBhZGRpbmc6MDt9Ci5ibHVCdG5DZW50ZXJ7Y29sb3I6I2ZmZjsgdmVy
dGljYWwtYWxpZ246bWlkZGxlOyBoZWlnaHQ6MjNweDsgYmFja2dyb3VuZC1pbWFnZTogdXJsKGh0
dHA6Ly9zdGF0aWMucmVhbG9uZS5jb20vcm90dy9wbGF5ZXJpbWFnZXMvYnRuX2JsdV9taWRfb2Zm
LmdpZik7IGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDsgcGFkZGluZzowOyBmb250LXNpemU6
MTFweDsgZm9udC13ZWlnaHQ6Ym9sZDsgZm9udC1mYW1pbHk6IlRyZWJ1Y2hldCBNUyIsQXJpYWws
IHNhbnMtc2VyaWY7fQouYmx1QnRuQ2VudGVyQXtjb2xvcjojZmZmOyBmb250LXdlaWdodDpib2xk
OyBmb250LWZhbWlseToiVHJlYnVjaGV0IE1TIixBcmlhbCwgc2Fucy1zZXJpZjt9Ci5ibHVCdG5D
ZW50ZXJBOmhvdmVye2NvbG9yOiMwMDA7fQouYmx1QnRuUmlnaHR7d2lkdGg6N3B4OyBoZWlnaHQ6
MjNweDsgYmFja2dyb3VuZC1pbWFnZTogdXJsKGh0dHA6Ly9zdGF0aWMucmVhbG9uZS5jb20vcm90
dy9wbGF5ZXJpbWFnZXMvYnRuX2JsdV9ydF9vZmYuZ2lmKTsgYmFja2dyb3VuZC1yZXBlYXQ6IG5v
LXJlcGVhdDsgcGFkZGluZzowOyB9Ci5zZWFyY2hNaWR7aGVpZ2h0OjI5cHg7IGJhY2tncm91bmQt
aW1hZ2U6IHVybChodHRwOi8vc3RhdGljLnJlYWxvbmUuY29tL3JvdHcvcGxheWVyaW1hZ2VzL2J0
bl9ib3hfbWlkLmdpZik7IGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDsgfQo8L1NUWUxFPjwv
SEVBRD48Qk9EWSBvbnVubG9hZD0iY2xvc2VDbGVhbnVwKCk7Ij4KCjxESVYgaWQ9InBsYXllckhl
YWRlciI+CjxUQUJMRSBjZWxsc3BhY2luZz0iMCIgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCI+CjxU
Qk9EWT48VFI+PFREIGNsYXNzPSJwbGF5ZXJIZWFkZXJMZWZ0Ij48SU1HIHNyYz0iaHR0cDovL3N0
YXRpYy5yZWFsb25lLmNvbS9yb3R3L3BsYXllcmltYWdlcy9oZWFkZXJfcmhhcHNvZHlfYmV0YS5n
aWYiIHdpZHRoPSIxMzAiIGhlaWdodD0iMzQiIGFsdD0iUmhhcHNvZHkiIGJvcmRlcj0iMCI+PC9U
RD48VEQgY2xhc3M9InBsYXllckhlYWRlckNlbnRlciIgbm93cmFwPSJub3dyYXAiIHZhbGlnbj0i
bWlkZGxlIj48QSBocmVmPSJodHRwOi8vd3d3LnJoYXBzb2R5LmNvbT9wYWdlaWQ9cm90dy5wbGF5
ZXItZGVmYXVsdCZwYWdlcmVnaW9uPXBsYXllckhlYWRlciIgdGl0bGU9IlJoYXBzb2R5IiB0YXJn
ZXQ9ImxhcmdlV2luIj5GaW5kIE11c2ljPC9BPjwvVEQ+PFREIGNsYXNzPSJwbGF5ZXJIZWFkZXJD
ZW50ZXIiIG5vd3JhcD0ibm93cmFwIiB2YWxpZ249Im1pZGRsZSI+PEEgaHJlZj0iaHR0cDovL3d3
dy5yaGFwc29keS5jb20/cGFnZWlkPXJvdHcucGxheWVyLWRlZmF1bHQmcGFnZXJlZ2lvbj1wbGF5
ZXJIZWFkZXIiIHRpdGxlPSJSaGFwc29keSIgdGFyZ2V0PSJsYXJnZVdpbiI+PElNRyBzcmM9Imh0
dHA6Ly9zdGF0aWMucmVhbG9uZS5jb20vcm90dy9wbGF5ZXJpbWFnZXMvZmluZG11c2ljLmdpZiIg
d2lkdGg9IjIzIiBoZWlnaHQ9IjE5IiBhbHQ9IiIgYm9yZGVyPSIwIj48L0E+PC9URD48VEQgY2xh
c3M9InBsYXllckhlYWRlclJpZ2h0Ij48QSBocmVmPSJodHRwOi8vaG9tZS5yZWFsLmNvbS9wcm9k
dWN0L2hlbHAvcmhhcHdlYi9lbi9yaGFwd2ViLmh0bT9wYWdlaWQ9cm90dy5wbGF5ZXItZGVmYXVs
dCZwYWdlcmVnaW9uPXBsYXllckhlYWRlciIgdGl0bGU9IkhlbHAiIHRhcmdldD0ibGFyZ2VXaW4i
PjxJTUcgc3JjPSJodHRwOi8vc3RhdGljLnJlYWxvbmUuY29tL3JvdHcvcGxheWVyaW1hZ2VzL2J0
bl9oZWxwX29mZi5naWYiIHdpZHRoPSIxNyIgaGVpZ2h0PSIxNyIgYWx0PSJIZWxwIiBib3JkZXI9
IjAiIG9ubW91c2VvdmVyPSJ0aGlzLnNyYz0naHR0cDovL3N0YXRpYy5yZWFsb25lLmNvbS9yb3R3
L3BsYXllcmltYWdlcy9idG5faGVscF9vdmVyLmdpZiciIG9ubW91c2VvdXQ9InRoaXMuc3JjPSdo
dHRwOi8vc3RhdGljLnJlYWxvbmUuY29tL3JvdHcvcGxheWVyaW1hZ2VzL2J0bl9oZWxwX29mZi5n
aWYnIiBvbmNsaWNrPSJ0aGlzLnNyYz0naHR0cDovL3N0YXRpYy5yZWFsb25lLmNvbS9yb3R3L3Bs
YXllcmltYWdlcy9idG5faGVscF9vbi5naWYnOyI+PC9BPjwvVEQ+PC9UUj48L1RCT0RZPjwvVEFC
TEU+CjwvRElWPgo8RElWIGlkPSJwbGF5ZXJCb2R5IiBzdHlsZT0iZGlzcGxheTogYmxvY2s7IHZp
c2liaWxpdHk6IHZpc2libGU7ICI+CjxESVYgaWQ9InVzZXJIZWFkZXIiIHN0eWxlPSJkaXNwbGF5
OiBub25lOyB2aXNpYmlsaXR5OiBoaWRkZW47ICI+CjxUQUJMRSBjZWxsc3BhY2luZz0iMCIgd2lk
dGg9IjEwMCUiIGJvcmRlcj0iMCI+CjxUQk9EWT48VFI+PFREIGNsYXNzPSJ1c2VySGVhZGVyTGVm
dCIgbm93cmFwPSJub3dyYXAiPgo8RElWIGlkPSJ0aGVVc2VyTmFtZSI+PC9ESVY+CjxESVYgaWQ9
ImFjY291bnRUeXBlIiBjbGFzcz0ic2dyYXkiPjwvRElWPgo8L1REPjxURCBjbGFzcz0idXNlckhl
YWRlclJpZ2h0IiB2YWxpZ249ImJvdHRvbSI+PERJViBpZD0ic3ViVXBncmFkZU1zZyI+PC9ESVY+
PC9URD48L1RSPjwvVEJPRFk+PC9UQUJMRT4KPC9ESVY+CjxESVYgaWQ9InVzZXJIZWFkZXJBbm9u
IiBzdHlsZT0iZGlzcGxheTogYmxvY2s7IHZpc2liaWxpdHk6IHZpc2libGU7ICI+CjxTUEFOIGlk
PSJ1c2VySGVhZGVyQW5vblRleHQiPjxCUj48QSBocmVmPSJodHRwOi8vd3d3LnJlYWwuY29tL3Jo
YXBzb2R5L2luZm8uaHRtbD9zcmM9cmNvbV9wbGF5ZXImZ3VpZD0xOTVENTgyOUYyMjhCMDk0RTA0
M0MwQTg3RkU0QjA5NCIgdGFyZ2V0PSJuZXdXaW4iPjxTUEFOIGNsYXNzPSJsaWdodEJsdWUiPlVw
Z3JhZGUgdG8gVU5MSU1JVEVEPC9TUEFOPjwvQT48QSBocmVmPSIjIiBvbmNsaWNrPSJsb2NhdGlv
bi5yZXBsYWNlKCdwbGF5ZXI/c2lnbmluPXRydWUmcGFnZVJlZ2lvbj1wbGF5ZXJIZWFkZXInKTsi
PiA8U1BBTiBzdHlsZT0idGV4dC1hbGlnbjogcmlnaHQ7IG1hcmdpbi1sZWZ0OjkzcHgiIGNsYXNz
PSJsaWdodEJsdWUiPlNpZ24gSW4gPC9TUEFOPjwvQT4gPEJSPjwvU1BBTj4KPC9ESVY+CjxESVYg
aWQ9InBsYXllcklubmVyVG9wIj4KPERJViBpZD0ibW9kZUhlYWRlciI+CjxUQUJMRSBjZWxsc3Bh
Y2luZz0iMCIgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCI+CjxUQk9EWT48VFI+PFREIGNsYXNzPSJt
b2RlSGVhZGVyTGVmdCI+PERJViBpZD0iaGVhZGVySW1hZ2UiPjxJTUcgc3JjPSJodHRwOi8vc3Rh
dGljLnJlYWxvbmUuY29tL3JvdHcvcGxheWVyaW1hZ2VzL3BsYXlsaXN0X2hlYWRlci5naWYiIHdp
ZHRoPSI2MSIgaGVpZ2h0PSIxOSIgYWx0PSIiIGJvcmRlcj0iMCI+PC9ESVY+PC9URD48VEQgY2xh
c3M9Im1vZGVIZWFkZXJSaWdodCIgdmFsaWduPSJib3R0b20iIHdpZHRoPSIxMDAlIj48RElWIGlk
PSJwbGF5TGlzdEhlYWRlclRleHQiPkZyZWUgUGxheXMgTGVmdDogPFNQQU4gY2xhc3M9InBsYXlz
TGVmdCI+MjQ8L1NQQU4+PC9ESVY+PC9URD48L1RSPjwvVEJPRFk+PC9UQUJMRT4KPC9ESVY+CjxE
SVYgaWQ9InRyYWNrSW5mbyIgc3R5bGU9ImRpc3BsYXk6IGJsb2NrOyB2aXNpYmlsaXR5OiB2aXNp
YmxlOyAiPgo8VEFCTEUgY2VsbHNwYWNpbmc9IjAiIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiPgo8
VEJPRFk+PFRSPjxURCBjbGFzcz0idHJhY2tJbmZvTGVmdCIgY29sc3Bhbj0iMiI+CjxESVYgaWQ9
InRyYWNrIiBjbGFzcz0idHJhY2tOYW1lIj48QSBocmVmPSIjIiBvbmNsaWNrPSJ0YXJnZXRSaGFw
V2ViKCdhbGJ1bScsJzEwNjQzMDk1JywnNzMyNCcpOyIgdGl0bGU9IlRyYWNrOiBHLiBMb3ZlIj5H
LiBMb3ZlPC9BPjwvRElWPgo8RElWIGlkPSJhcnRpc3QiIGNsYXNzPSJ0cmFja0FydGlzdCI+PEEg
aHJlZj0iIyIgb25jbGljaz0idGFyZ2V0UmhhcFdlYignYXJ0aXN0JywnMTA2NDMwOTUnLCc3MzI0
Jyk7IiB0aXRsZT0iQXJ0aXN0OiBHLiBMb3ZlIGFuZCBTcGVjaWFsIFNhdWNlIj5HLiBMb3ZlIGFu
ZCBTcGVjaWFsIFNhdWNlPC9BPjwvRElWPgo8L1REPjxURCBjbGFzcz0idHJhY2tJbmZvUmlnaHQi
IHJvd3NwYW49IjIiIHN0eWxlPSJwYWRkaW5nLXJpZ2h0OjNweDsiPgo8RElWIGlkPSJ0cmFja0Fy
dCI+PEEgaHJlZj0iIyIgb25jbGljaz0idGFyZ2V0UmhhcFdlYignYWxidW0nLCcxMDY0MzA5NScs
JzczMjQnKTsiIHRpdGxlPSJJbmZvIGZvciBCYWNrc3RhZ2UgQm9ubmFyb28gMjAwNiBieSBHLiBM
b3ZlIGFuZCBTcGVjaWFsIFNhdWNlIj48SU1HIHNyYz0iaHR0cDovL2ltYWdlLmxpc3Rlbi5jb20v
aW1nLzcweDcwLzcvOS8zLzMvODUzMzk3XzcweDcwLmpwZyIgd2lkdGg9IjYwIiBoZWlnaHQ9IjYw
IiBhbHQ9IkluZm8gZm9yIEJhY2tzdGFnZSBCb25uYXJvbyAyMDA2IGJ5IEcuIExvdmUgYW5kIFNw
ZWNpYWwgU2F1Y2UiIGJvcmRlcj0iMCIgY2xhc3M9ImFsYnVtQXJ0U3BhY2UiPjwvQT48L0RJVj4K
PC9URD48L1RSPjxUUj48VEQgc3R5bGU9InBhZGRpbmctbGVmdDo2cHg7Ij48RElWIGlkPSJ0cmFj
a1BsYXlTdGF0ZSI+U3RvcHBlZDwvRElWPjxCUj48RElWIGlkPSJjdXJyZW50UG9zaXRpb24iPjAw
OjAwPC9ESVY+PERJViBpZD0idHJhY2tEdXJhdGlvbiI+PC9ESVY+PC9URD48VEQgc3R5bGU9InBh
ZGRpbmctbGVmdDo2cHg7IiB2YWxpZ249ImJvdHRvbSIgYWxpZ249InJpZ2h0Ij48RElWIGlkPSJ0
cmFja0J1eUxpbmsiPsKgPEJSPjwvRElWPjwvVEQ+PC9UUj48L1RCT0RZPjwvVEFCTEU+CjwvRElW
Pgo8RElWIGlkPSJ1cE5leHQiIGFsaWduPSJyaWdodCI+wqA8QlI+PC9ESVY+CjwvRElWPgo8RElW
IGlkPSJwbGF5ZXJDb250cm9scyI+CjxUQUJMRSBjZWxsc3BhY2luZz0iMCIgd2lkdGg9IjEwMCUi
IGJvcmRlcj0iMCI+CjxUQk9EWT48VFI+PFREPjxESVYgaWQ9ImNvbnRyb2xfMSI+PElNRyBpZD0i
YnRuX3BhdXNlIiBzcmM9Imh0dHA6Ly9zdGF0aWMucmVhbG9uZS5jb20vcm90dy9wbGF5ZXJpbWFn
ZXMvYnRuX3BhdXNlX29mZi5naWYiIHdpZHRoPSIyNyIgaGVpZ2h0PSIzOCIgYWx0PSJQYXVzZSIg
dGl0bGU9IlBhdXNlIiBib3JkZXI9IjAiIG9ubW91c2VvdmVyPSJqYXZhc2NyaXB0OnRvZ2dsZSgn
YnRuX3BhdXNlJywnb3ZlcicpOyIgb25tb3VzZW91dD0iamF2YXNjcmlwdDp0b2dnbGUoJ2J0bl9w
YXVzZScsJ29mZicpOyIgb25jbGljaz0iY29udHJvbFBhdXNlKCk7Ij48L0RJVj48L1REPjxURD48
RElWIGlkPSJjb250cm9sXzIiPjxJTUcgaWQ9ImJ0bl9wbGF5IiBzcmM9Imh0dHA6Ly9zdGF0aWMu
cmVhbG9uZS5jb20vcm90dy9wbGF5ZXJpbWFnZXMvYnRuX3BsYXlfb2ZmLmdpZiIgd2lkdGg9IjM1
IiBoZWlnaHQ9IjM4IiBhbHQ9IlBsYXkiIHRpdGxlPSJQbGF5IiBib3JkZXI9IjAiIG9ubW91c2Vv
dmVyPSJqYXZhc2NyaXB0OnRvZ2dsZSgnYnRuX3BsYXknLCdvdmVyJyk7IiBvbm1vdXNlb3V0PSJq
YXZhc2NyaXB0OnRvZ2dsZSgnYnRuX3BsYXknLCdvZmYnKTsiIG9uY2xpY2s9ImNvbnRyb2xQbGF5
KCk7Ij48L0RJVj48L1REPjxURD48RElWIGlkPSJjb250cm9sXzMiPjxJTUcgaWQ9ImJ0bl9wcmV2
aW91cyIgc3JjPSJodHRwOi8vc3RhdGljLnJlYWxvbmUuY29tL3JvdHcvcGxheWVyaW1hZ2VzL2J0
bl9wcmV2aW91c19kaXNhYmxlLmdpZiIgd2lkdGg9IjI2IiBoZWlnaHQ9IjM4IiBhbHQ9IlByZXZp
b3VzIFRyYWNrIiB0aXRsZT0iUHJldmlvdXMgVHJhY2siIGJvcmRlcj0iMCIgb25tb3VzZW92ZXI9
ImphdmFzY3JpcHQ6dG9nZ2xlKCdidG5fcHJldmlvdXMnLCdvdmVyJyk7IiBvbm1vdXNlb3V0PSJq
YXZhc2NyaXB0OnRvZ2dsZSgnYnRuX3ByZXZpb3VzJywnb2ZmJyk7IiBvbmNsaWNrPSJ0aGlzLnNy
Yz0naHR0cDovL3N0YXRpYy5yZWFsb25lLmNvbS9yb3R3L3BsYXllcmltYWdlcy9idG5fcHJldmlv
dXNfb24uZ2lmJztjb250cm9sUHJldmlvdXNUcmFjaygpOyI+PC9ESVY+PC9URD48VEQ+PERJViBp
ZD0iY29udHJvbF80Ij48SU1HIGlkPSJidG5fbmV4dCIgc3JjPSJodHRwOi8vc3RhdGljLnJlYWxv
bmUuY29tL3JvdHcvcGxheWVyaW1hZ2VzL2J0bl9uZXh0X2Rpc2FibGUuZ2lmIiB3aWR0aD0iMjgi
IGhlaWdodD0iMzgiIGFsdD0iTmV4dCBUcmFjayIgdGl0bGU9Ik5leHQgVHJhY2siIGJvcmRlcj0i
MCIgb25tb3VzZW92ZXI9ImphdmFzY3JpcHQ6dG9nZ2xlKCdidG5fbmV4dCcsJ292ZXInKTsiIG9u
bW91c2VvdXQ9ImphdmFzY3JpcHQ6dG9nZ2xlKCdidG5fbmV4dCcsJ29mZicpOyIgb25jbGljaz0i
dGhpcy5zcmM9J2h0dHA6Ly9zdGF0aWMucmVhbG9uZS5jb20vcm90dy9wbGF5ZXJpbWFnZXMvYnRu
X25leHRfb24uZ2lmJztjb250cm9sTmV4dFRyYWNrKCk7Ij48L0RJVj48L1REPjxURD48RElWIGlk
PSJjb250cm9sXzUiPjxJTUcgaWQ9ImJ0bl9tdXRlIiBzcmM9Imh0dHA6Ly9zdGF0aWMucmVhbG9u
ZS5jb20vcm90dy9wbGF5ZXJpbWFnZXMvYnRuX211dGVfb2ZmLmdpZiIgd2lkdGg9IjE4IiBoZWln
aHQ9IjI5IiBhbHQ9Ik11dGUiIHRpdGxlPSJNdXRlIiBib3JkZXI9IjAiIG9ubW91c2VvdmVyPSJq
YXZhc2NyaXB0OnRvZ2dsZSgnYnRuX211dGUnLCdvdmVyJyk7IiBvbm1vdXNlb3V0PSJqYXZhc2Ny
aXB0OnRvZ2dsZSgnYnRuX211dGUnLCdvZmYnKTsiIG9uY2xpY2s9ImNvbnRyb2xNdXRlKCk7Ij48
L0RJVj48L1REPjxURD4KPFRBQkxFIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMCIgYm9y
ZGVyPSIwIj4KPFRCT0RZPjxUUj48VEQ+PElNRyB3aWR0aD0iNyIgaGVpZ2h0PSIyOSIgYm9yZGVy
PSIwIiBzcmM9Imh0dHA6Ly9zdGF0aWMucmVhbG9uZS5jb20vcm90dy9wbGF5ZXJpbWFnZXMvYnRu
X3ZvbHVtZV9sdC5naWYiIGFsdD0iIj48L1REPjxURCBpZD0idm9sXzEiIHN0eWxlPSJiYWNrZ3Jv
dW5kLWNvbG9yOiByZ2IoMCwgMTQwLCAyMTApOyAiPjxJTUcgd2lkdGg9IjgiIGhlaWdodD0iMjki
IG9uY2xpY2s9InNldFZvbHVtZSgnMScpOyIgYm9yZGVyPSIwIiBzcmM9Imh0dHA6Ly9zdGF0aWMu
cmVhbG9uZS5jb20vcm90dy9wbGF5ZXJpbWFnZXMvYnRuX3ZvbHVtZTEuZ2lmIiBvbm1vdXNlb3V0
PSJyZWRyYXd2b2x1bWUoKTsiIGFsdD0iIiBvbm1vdXNlb3Zlcj0idG9nZ2xlVm9sKCd2b2xfMScs
J292ZXInLCcxJyk7Ij48L1REPjxURCBpZD0idm9sXzIiIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9y
OiByZ2IoMCwgMTQwLCAyMTApOyAiPjxJTUcgd2lkdGg9IjgiIGhlaWdodD0iMjkiIG9uY2xpY2s9
InNldFZvbHVtZSgnMicpOyIgYm9yZGVyPSIwIiBzcmM9Imh0dHA6Ly9zdGF0aWMucmVhbG9uZS5j
b20vcm90dy9wbGF5ZXJpbWFnZXMvYnRuX3ZvbHVtZTIuZ2lmIiBvbm1vdXNlb3V0PSJyZWRyYXd2
b2x1bWUoKTsiIGFsdD0iIiBvbm1vdXNlb3Zlcj0idG9nZ2xlVm9sKCd2b2xfMicsJ292ZXInLCcy
Jyk7Ij48L1REPjxURCBpZD0idm9sXzMiIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMCwg
MTQwLCAyMTApOyAiPjxJTUcgd2lkdGg9IjgiIGhlaWdodD0iMjkiIG9uY2xpY2s9InNldFZvbHVt
ZSgnMycpOyIgYm9yZGVyPSIwIiBzcmM9Imh0dHA6Ly9zdGF0aWMucmVhbG9uZS5jb20vcm90dy9w
bGF5ZXJpbWFnZXMvYnRuX3ZvbHVtZTMuZ2lmIiBvbm1vdXNlb3V0PSJyZWRyYXd2b2x1bWUoKTsi
IGFsdD0iIiBvbm1vdXNlb3Zlcj0idG9nZ2xlVm9sKCd2b2xfMycsJ292ZXInLCczJyk7Ij48L1RE
PjxURCBpZD0idm9sXzQiIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMCwgMTQwLCAyMTAp
OyAiPjxJTUcgd2lkdGg9IjgiIGhlaWdodD0iMjkiIG9uY2xpY2s9InNldFZvbHVtZSgnNCcpOyIg
Ym9yZGVyPSIwIiBzcmM9Imh0dHA6Ly9zdGF0aWMucmVhbG9uZS5jb20vcm90dy9wbGF5ZXJpbWFn
ZXMvYnRuX3ZvbHVtZTQuZ2lmIiBvbm1vdXNlb3V0PSJyZWRyYXd2b2x1bWUoKTsiIGFsdD0iIiBv
bm1vdXNlb3Zlcj0idG9nZ2xlVm9sKCd2b2xfNCcsJ292ZXInLCc0Jyk7Ij48L1REPjxURCBpZD0i
dm9sXzUiIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMCwgMTQwLCAyMTApOyAiPjxJTUcg
d2lkdGg9IjgiIGhlaWdodD0iMjkiIG9uY2xpY2s9InNldFZvbHVtZSgnNScpOyIgYm9yZGVyPSIw
IiBzcmM9Imh0dHA6Ly9zdGF0aWMucmVhbG9uZS5jb20vcm90dy9wbGF5ZXJpbWFnZXMvYnRuX3Zv
bHVtZTUuZ2lmIiBvbm1vdXNlb3V0PSJyZWRyYXd2b2x1bWUoKTsiIGFsdD0iIiBvbm1vdXNlb3Zl
cj0idG9nZ2xlVm9sKCd2b2xfNScsJ292ZXInLCc1Jyk7Ij48L1REPjxURCBpZD0idm9sXzYiIHN0
eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMCwgMTQwLCAyMTApOyAiPjxJTUcgd2lkdGg9Ijgi
IGhlaWdodD0iMjkiIG9uY2xpY2s9InNldFZvbHVtZSgnNicpOyIgYm9yZGVyPSIwIiBzcmM9Imh0
dHA6Ly9zdGF0aWMucmVhbG9uZS5jb20vcm90dy9wbGF5ZXJpbWFnZXMvYnRuX3ZvbHVtZTYuZ2lm
IiBvbm1vdXNlb3V0PSJyZWRyYXd2b2x1bWUoKTsiIGFsdD0iIiBvbm1vdXNlb3Zlcj0idG9nZ2xl
Vm9sKCd2b2xfNicsJ292ZXInLCc2Jyk7Ij48L1REPjxURCBpZD0idm9sXzciIHN0eWxlPSJiYWNr
Z3JvdW5kLWNvbG9yOiByZ2IoMCwgMTQwLCAyMTApOyAiPjxJTUcgd2lkdGg9IjgiIGhlaWdodD0i
MjkiIG9uY2xpY2s9InNldFZvbHVtZSgnNycpOyIgYm9yZGVyPSIwIiBzcmM9Imh0dHA6Ly9zdGF0
aWMucmVhbG9uZS5jb20vcm90dy9wbGF5ZXJpbWFnZXMvYnRuX3ZvbHVtZTcuZ2lmIiBvbm1vdXNl
b3V0PSJyZWRyYXd2b2x1bWUoKTsiIGFsdD0iIiBvbm1vdXNlb3Zlcj0idG9nZ2xlVm9sKCd2b2xf
NycsJ292ZXInLCc3Jyk7Ij48L1REPjxURCBpZD0idm9sXzgiIHN0eWxlPSJiYWNrZ3JvdW5kLWNv
bG9yOiByZ2IoMCwgMTQwLCAyMTApOyAiPjxJTUcgd2lkdGg9IjgiIGhlaWdodD0iMjkiIG9uY2xp
Y2s9InNldFZvbHVtZSgnOCcpOyIgYm9yZGVyPSIwIiBzcmM9Imh0dHA6Ly9zdGF0aWMucmVhbG9u
ZS5jb20vcm90dy9wbGF5ZXJpbWFnZXMvYnRuX3ZvbHVtZTguZ2lmIiBvbm1vdXNlb3V0PSJyZWRy
YXd2b2x1bWUoKTsiIGFsdD0iIiBvbm1vdXNlb3Zlcj0idG9nZ2xlVm9sKCd2b2xfOCcsJ292ZXIn
LCc4Jyk7Ij48L1REPjxURCBpZD0idm9sXzkiIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiByZ2Io
MTIxLCAxMjEsIDEyMSk7ICI+PElNRyB3aWR0aD0iOCIgaGVpZ2h0PSIyOSIgb25jbGljaz0ic2V0
Vm9sdW1lKCc5Jyk7IiBib3JkZXI9IjAiIHNyYz0iaHR0cDovL3N0YXRpYy5yZWFsb25lLmNvbS9y
b3R3L3BsYXllcmltYWdlcy9idG5fdm9sdW1lOS5naWYiIG9ubW91c2VvdXQ9InJlZHJhd3ZvbHVt
ZSgpOyIgYWx0PSIiIG9ubW91c2VvdmVyPSJ0b2dnbGVWb2woJ3ZvbF85Jywnb3ZlcicsJzknKTsi
PjwvVEQ+PFREIGlkPSJ2b2xfMTAiIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMTIxLCAx
MjEsIDEyMSk7ICI+PElNRyB3aWR0aD0iOCIgaGVpZ2h0PSIyOSIgb25jbGljaz0ic2V0Vm9sdW1l
KCcxMCcpOyIgYm9yZGVyPSIwIiBzcmM9Imh0dHA6Ly9zdGF0aWMucmVhbG9uZS5jb20vcm90dy9w
bGF5ZXJpbWFnZXMvYnRuX3ZvbHVtZTEwLmdpZiIgb25tb3VzZW91dD0icmVkcmF3dm9sdW1lKCk7
IiBhbHQ9IiIgb25tb3VzZW92ZXI9InRvZ2dsZVZvbCgndm9sXzEwJywnb3ZlcicsJzEwJyk7Ij48
L1REPjxURD48SU1HIHdpZHRoPSI3IiBoZWlnaHQ9IjI5IiBib3JkZXI9IjAiIHNyYz0iaHR0cDov
L3N0YXRpYy5yZWFsb25lLmNvbS9yb3R3L3BsYXllcmltYWdlcy9idG5fdm9sdW1lX3J0LmdpZiIg
YWx0PSIiPjwvVEQ+PC9UUj48L1RCT0RZPjwvVEFCTEU+CjwvVEQ+PC9UUj48L1RCT0RZPjwvVEFC
TEU+CjwvRElWPgo8RElWIGlkPSJwbGF5ZXJJbm5lckJvdHRvbSI+CjxESVYgaWQ9InBsYXlsaXN0
U3ViIj4KPFRBQkxFIGNlbGxzcGFjaW5nPSIwIiB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIj4KPFRC
T0RZPjxUUj48VEQ+PERJViBpZD0ibGlzdFRpdGxlSW1hZ2UiPjxJTUcgc3JjPSJodHRwOi8vc3Rh
dGljLnJlYWxvbmUuY29tL3JvdHcvcGxheWVyaW1hZ2VzL3BsYXlsaXN0X3N1YmhlYWRlci5naWYi
IHdpZHRoPSI0NyIgaGVpZ2h0PSIxOSIgYWx0PSIiIGJvcmRlcj0iMCI+PC9ESVY+PC9URD48VEQg
d2lkdGg9IjEwMCUiIHZhbGlnbj0iYm90dG9tIj48RElWIGlkPSJsaXN0VGl0bGUiPkcuIExvdmU8
L0RJVj48L1REPjwvVFI+PC9UQk9EWT48L1RBQkxFPgo8L0RJVj4KPERJViBpZD0icGxheWxpc3RC
YXIiPjxUQUJMRSBjZWxscGFkZGluZz0iMCIgd2lkdGg9IjEwMCUiIGNlbGxzcGFjaW5nPSIwIiBi
b3JkZXI9IjAiPjxUQk9EWT48VFI+PFREIHZhbGlnbj0iYm90dG9tIiBjbGFzcz0icGxheUxpc3RC
YXJMZWZ0Ij5QbGF5PC9URD48VEQgdmFsaWduPSJib3R0b20iIGNsYXNzPSJwbGF5TGlzdEJhclJp
Z2h0Ij5UcmFjay9BcnRpc3Q8L1REPjxURCB2YWxpZ249ImJvdHRvbSIgY2xhc3M9InBsYXlMaXN0
QmFyRmFyUmlnaHQiPjxBIGhyZWY9ImphdmFzY3JpcHQ6Y2xlYXJQbGF5TGlzdCgpOyI+PFNQQU4g
Y2xhc3M9ImxpZ2h0Qmx1ZU5vcm0iPkNsZWFyIFBsYXlsaXN0PC9TUEFOPjwvQT48L1REPjwvVFI+
PC9UQk9EWT48L1RBQkxFPjwvRElWPgo8RElWIGlkPSJwbGF5TGlzdCI+PFRBQkxFIHdpZHRoPSI5
OS44JSIgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIwIiBib3JkZXI9IjAiPjxUQk9EWT48
VFIgYmdjb2xvcj0iI0IyREZGNCI+PFREIHJvd3NwYW49IjIiIGNsYXNzPSJwbGF5TGlzdFBsYXki
PjxBIGhyZWY9IiMiIG9uY2xpY2s9ImNvbnRyb2xTa2lwVG9UcmFjaygwKTsiPjxJTUcgc3JjPSJo
dHRwOi8vc3RhdGljLnJlYWxvbmUuY29tL3JvdHcvcGxheWVyaW1hZ2VzL2J0bl9wbGF5bGlzdF9v
ZmYuZ2lmIiB3aWR0aD0iMTciIGhlaWdodD0iMTciIGFsdD0iIiBib3JkZXI9IjAiIG9ubW91c2Vv
dmVyPSJ0aGlzLnNyYz0naHR0cDovL3N0YXRpYy5yZWFsb25lLmNvbS9yb3R3L3BsYXllcmltYWdl
cy9idG5fcGxheWxpc3Rfb3Zlci5naWYnOyIgb25tb3VzZW91dD0idGhpcy5zcmM9J2h0dHA6Ly9z
dGF0aWMucmVhbG9uZS5jb20vcm90dy9wbGF5ZXJpbWFnZXMvYnRuX3BsYXlsaXN0X29mZi5naWYn
OyI+PC9BPjwvVEQ+PFREIHJvd3NwYW49IjIiIGNsYXNzPSJwbGF5TGlzdENvdW50Ij4xPC9URD48
VEQgc3R5bGU9IndpZHRoOjE1NXB4OyI+PERJViBpZD0icGxheUxpc3RUcmFjayIgdGl0bGU9Ikcu
IExvdmUiPjxBIGhyZWY9IiMiIG9uY2xpY2s9ImNvbnRyb2xTa2lwVG9UcmFjaygwKTsiPjxTUEFO
IGNsYXNzPSJibGFjayI+Ry4gTG92ZTwvU1BBTj48L0E+PC9ESVY+PC9URD48L1RSPjxUUiBiZ2Nv
bG9yPSIjQjJERkY0Ij48VEQgc3R5bGU9IndpZHRoOjE1NXB4OyI+PERJViBpZD0icGxheUxpc3RB
cnRpc3QiIHRpdGxlPSJHLiBMb3ZlIGFuZCBTcGVjaWFsIFNhdWNlIj48QSBocmVmPSIjIiBvbmNs
aWNrPSJ0YXJnZXRSaGFwV2ViKCdhcnRpc3QnLCcxMDY0MzA5NScsJzczMjQnKTsiIHRpdGxlPSJB
cnRpc3Q6IEcuIExvdmUgYW5kIFNwZWNpYWwgU2F1Y2UiPjxTUEFOIGNsYXNzPSJibGFjayI+Ry4g
TG92ZSBhbmQgU3BlY2lhbCBTYXVjZTwvU1BBTj48L0E+PC9ESVY+PC9URD48L1RSPjwvVEJPRFk+
PC9UQUJMRT48L0RJVj4KPERJViBpZD0ic2VhcmNoQmFyIj4KPFRBQkxFIGNlbGxwYWRkaW5nPSIw
IiBjZWxsc3BhY2luZz0iMCIgYm9yZGVyPSIwIj4KPFRCT0RZPjxUUj48VEQgdmFsaWduPSJ0b3Ai
IHdpZHRoPSI1MCI+CjxESVYgaWQ9InNoYXJlQnV0dG9uIj48VEFCTEUgY2VsbHNwYWNpbmc9IjAi
IGFsaWduPSJsZWZ0Ij48VEJPRFk+PFRSPjxURCBpZD0ic2hhcmVfbHQiIGNsYXNzPSJ3aHRCdG5M
ZWZ0IiBvbm1vdXNlb3Zlcj0icm9sbEJ1dHRvbignb3ZlcicsJ2J0bl93aHQnLCdzaGFyZScpOyIg
b25tb3VzZW91dD0icm9sbEJ1dHRvbignb2ZmJywnYnRuX3dodCcsJ3NoYXJlJyk7IiBvbmNsaWNr
PSJyb2xsQnV0dG9uKCdvbicsJ2J0bl93aHQnLCdzaGFyZScpOyI+PC9URD48VEQgaWQ9InNoYXJl
X21pZCIgY2xhc3M9IndodEJ0bkNlbnRlciIgbm93cmFwPSJub3dyYXAiIG9ubW91c2VvdmVyPSJy
b2xsQnV0dG9uKCdvdmVyJywnYnRuX3dodCcsJ3NoYXJlJyk7IiBvbm1vdXNlb3V0PSJyb2xsQnV0
dG9uKCdvZmYnLCdidG5fd2h0Jywnc2hhcmUnKTsiIG9uY2xpY2s9InJvbGxCdXR0b24oJ29uJywn
YnRuX3dodCcsJ3NoYXJlJyk7Ij48QSBocmVmPSJodHRwOi8vd3d3LnJoYXBzb2R5LmNvbS9wbGF5
bGlzdC9wbGF5ZXJzaGFyZS5odG1sP3RpdGxlPUcuJTIwTG92ZSZ0cmFja3M9OTcwMzE5NSIgY2xh
c3M9IndodEJ0bkNlbnRlckEiIHRhcmdldD0icmhhcHNvZHkiPlNoYXJlPC9BPjwvVEQ+PFREIGlk
PSJzaGFyZV9ydCIgY2xhc3M9IndodEJ0blJpZ2h0IiBvbm1vdXNlb3Zlcj0icm9sbEJ1dHRvbign
b3ZlcicsJ2J0bl93aHQnLCdzaGFyZScpOyIgb25tb3VzZW91dD0icm9sbEJ1dHRvbignb2ZmJywn
YnRuX3dodCcsJ3NoYXJlJyk7IiBvbmNsaWNrPSJyb2xsQnV0dG9uKCdvbicsJ2J0bl93aHQnLCdz
aGFyZScpOyI+PC9URD48L1RSPjwvVEJPRFk+PC9UQUJMRT48L0RJVj4KPC9URD48VEQgY2xhc3M9
InNlYXJjaExlZnQiIHZhbGlnbj0idG9wIj48SU1HIHdpZHRoPSI2IiBoZWlnaHQ9IjIzIiBib3Jk
ZXI9IjAiIHNyYz0iaHR0cDovL3N0YXRpYy5yZWFsb25lLmNvbS9yb3R3L3BsYXllcmltYWdlcy9i
dG5fYm94X2x0LmdpZiIgYWx0PSIiPjwvVEQ+PFREIGNsYXNzPSJzZWFyY2hNaWQiIHZhbGlnbj0i
dG9wIj48Rk9STSBvbnN1Ym1pdD0icmV0dXJuIGRvU2VhcmNoKCk7Ij48SU5QVVQgaWQ9InNlYXJj
aGJveCIgY2xhc3M9InNlYXJjaGJveCIgdHlwZT0iaW5wdXQiIG9uZm9jdXM9InRoaXMudmFsdWU9
Jyc7IiB2YWx1ZT0iZmluZCBtb3JlIG11c2ljIj48L0ZPUk0+PC9URD48VEQgY2xhc3M9InNlYXJj
aFJpZ2h0IiB2YWxpZ249InRvcCIgd2lkdGg9IjU3Ij4KPERJViBpZD0ic2VhcmNoX2x0IiBjbGFz
cz0ic3JjQnRuTGVmdCIgc3R5bGU9ImZsb2F0OmxlZnQ7IiBvbm1vdXNlb3Zlcj0icm9sbEJ1dHRv
bignb3ZlcicsJ2J0bl9zcmMnLCdzZWFyY2gnKTsiIG9ubW91c2VvdXQ9InJvbGxCdXR0b24oJ29m
ZicsJ2J0bl9zcmMnLCdzZWFyY2gnKTsiIG9uY2xpY2s9InJvbGxCdXR0b24oJ29uJywnYnRuX3Ny
YycsJ3NlYXJjaCcpO2RvU2VhcmNoKCk7Ij48L0RJVj4KPERJViBpZD0ic2VhcmNoX21pZCIgY2xh
c3M9InNyY0J0bkNlbnRlciIgc3R5bGU9ImZsb2F0OmxlZnQ7IGxpbmUtaGVpZ2h0OiAyMXB4OyIg
bm93cmFwPSJub3dyYXAiIG9ubW91c2VvdmVyPSJyb2xsQnV0dG9uKCdvdmVyJywnYnRuX3NyYycs
J3NlYXJjaCcpOyIgb25tb3VzZW91dD0icm9sbEJ1dHRvbignb2ZmJywnYnRuX3NyYycsJ3NlYXJj
aCcpOyIgb25jbGljaz0icm9sbEJ1dHRvbignb24nLCdidG5fc3JjJywnc2VhcmNoJyk7Ij48QSBo
cmVmPSIjIiBvbmNsaWNrPSJkb1NlYXJjaCgpOyI+PFNQQU4gY2xhc3M9InNyY0J0bkNlbnRlckEi
PlNlYXJjaDwvU1BBTj48L0E+PC9ESVY+CjxESVYgaWQ9InNlYXJjaF9ydCIgY2xhc3M9InNyY0J0
blJpZ2h0IiBzdHlsZT0iZmxvYXQ6bGVmdDsiIG9ubW91c2VvdmVyPSJyb2xsQnV0dG9uKCdvdmVy
JywnYnRuX3NyYycsJ3NlYXJjaCcpOyIgb25tb3VzZW91dD0icm9sbEJ1dHRvbignb2ZmJywnYnRu
X3NyYycsJ3NlYXJjaCcpOyIgb25jbGljaz0icm9sbEJ1dHRvbignb24nLCdidG5fc3JjJywnc2Vh
cmNoJyk7ZG9TZWFyY2goKTsiPjwvRElWPgo8L1REPjwvVFI+PC9UQk9EWT48L1RBQkxFPgo8L0RJ
Vj4KPC9ESVY+CjwvRElWPgo8RElWIGlkPSJub1BsYXlzTGVmdFRha2VvdmVyIj4KPEJSIGNsYXNz
PSJ2MTAiPgo8U1BBTiBjbGFzcz0ibXNnSGVhZGVyIj5LZWVwIHRoZSBtdXNpYyBnb2luZyAoYW5k
IGdvaW5nKS48L1NQQU4+CjxQPgpZb3VyIHNldCBvZiAyNSBmdWxsLWxlbmd0aCBwbGF5cyBoYXMg
ZW5kZWQsIGJ1dCBpZiB5b3UgdXBncmFkZSBub3csIHJ1bm5pbmcgb3V0IG9mIG11c2ljIHdpbGwg
bmV2ZXIgYmUgYSBwcm9ibGVtIGFnYWluLgo8L1A+CjxESVYgY2xhc3M9ImNvbnRlbnRCb3giPgo8
U1RST05HPlVwZ3JhZGUgdG8gUmhhcHNvZHkgVW5saW1pdGVkIGFuZCBleHBlcmllbmNlOjwvU1RS
T05HPgo8VUw+CjxMST5VbnJlc3RyaWN0ZWQgYWNjZXNzIHRvIG92ZXIgMS41IE1pbGxpb24gc29u
Z3M8L0xJPgo8TEk+VW5saW1pdGVkIGN1c3RvbSByYWRpbzwvTEk+CjxMST5GdWxsLWxlbmd0aCB0
cmFja3Mgc3RyYWlnaHQgZnJvbSB5b3VyIGJyb3dzZXI8L0xJPgo8TEk+UGVyc29uYWxpemVkIHJl
Y29tbWVuZGF0aW9ucywgcGxheWxpc3Qgc2hhcmluZywgYW5kIG1vcmU8L0xJPgo8L1VMPgo8VEFC
TEUgY2VsbHNwYWNpbmc9IjAiIGFsaWduPSJjZW50ZXIiPgo8VEJPRFk+PFRSPjxURCBjbGFzcz0i
c3JjQnRuTGVmdCIgc3R5bGU9ImJhY2tncm91bmQ6dXJsKGh0dHA6Ly9zdGF0aWMucmVhbG9uZS5j
b20vcm90dy9wbGF5ZXJpbWFnZXMvYnRuX2JsdV9sdF9vZmYuZ2lmKTsiPjwvVEQ+PFREIGNsYXNz
PSJzcmNCdG5DZW50ZXIiIG5vd3JhcD0ibm93cmFwIj48QSBocmVmPSIjIiBvbmNsaWNrPSJ3aW5k
b3cub3BlbignaHR0cDovL3d3dy5yZWFsLmNvbS9yaGFwc29keS9pbmZvLmh0bWw/c3JjPXJjb21f
ZXhwaXJlJmd1aWQ9JnVzZXJuYW1lPScpOyBkb2N1bWVudC5sb2NhdGlvbi5yZXBsYWNlKHJoYXBz
b2R5VVJMKycvcGxheWVyP3NpZ25pbj10cnVlJyk7IHJldHVybiBmYWxzZTsiIHN0eWxlPSJjb2xv
cjojZmZmZmZmOyI+wqDCoFVwZ3JhZGUgTm93wqDCoDwvQT48L1REPjxURCBjbGFzcz0ic3JjQnRu
UmlnaHQiIHN0eWxlPSJiYWNrZ3JvdW5kOnVybChodHRwOi8vc3RhdGljLnJlYWxvbmUuY29tL3Jv
dHcvcGxheWVyaW1hZ2VzL2J0bl9ibHVfcnRfb2ZmLmdpZik7Ij48L1REPjwvVFI+PC9UQk9EWT48
L1RBQkxFPjxCUj4KTm8gdGhhbmtzLCBJIHdpbGwgPEEgaHJlZj0iIyIgb25jbGljaz0iaGlkZVRo
aXMoJ25vUGxheXNMZWZ0VGFrZW92ZXInKTsgc2hvd1RoaXMoJ3BsYXllckJvZHknKTsgc2hvd1Ro
aXMoJ2FkJyk7IHJldHVybiBmYWxzZTsiPmtlZXAgbGlzdGVuaW5nPC9BPiB0byA6MzAgc2FtcGxl
cy4KPEJSPgo8RElWIGlkPSJub1BsYXlzTGVmdFRha2VvdmVyU2lnbkluIj4KUmhhcHNvZHkgbWVt
YmVyPyA8QSBocmVmPSIjIiBvbmNsaWNrPSJsb2NhdGlvbi5yZXBsYWNlKCdwbGF5ZXI/c2lnbmlu
PXRydWUmcGFnZXJlZ2lvbj1ub1BsYXlzTGVmdFRha2VvdmVyJyk7Ij4gU2lnbiBpbjwvQT4gaGVy
ZS48QlI+CjwvRElWPgo8L0RJVj4KPERJViBpZD0ibXNnRnRyUGFkIj4KPEEgaHJlZj0iaHR0cDov
L3JoYXByZWcucmVhbC5jb20vcmhhcHNvZHlfcGFnZXMvcG9saWN5LmpzcD9wb2xpY3k9cHJpdmFj
eSIgdGFyZ2V0PSJuZXdXaW4iIGNsYXNzPSJibGFjayI+UHJpdmFjeSBQb2xpY3k8L0E+wqB8wqA8
QSBocmVmPSJodHRwOi8vcmhhcHJlZy5yZWFsLmNvbS9yaGFwc29keV9wYWdlcy9wb2xpY3kuanNw
P3BvbGljeT10ZXJtcyIgdGFyZ2V0PSJuZXdXaW4iIGNsYXNzPSJibGFjayI+VGVybXMgJmFtcDsg
Q29uZGl0aW9uczwvQT48QlI+CjxTUEFOIGNsYXNzPSJtc2dGdHIiPgrCqTE5OTktMjAwNSBMaXN0
ZW4uY29tLCBJbmMuPEJSPgpBIHN1YnNpZGlhcnkgb2YgUmVhbE5ldHdvcmtzLCBJbmMuPEJSPgo8
L1NQQU4+CjwvRElWPgo8L0RJVj4KPERJViBpZD0ibG9naW4iIHN0eWxlPSJkaXNwbGF5OiBub25l
OyB2aXNpYmlsaXR5OiBoaWRkZW47ICI+CjxCUiBjbGFzcz0idjEwIj4KPEZPUk0gbmFtZT0iZm9y
bW5hbWUiIGFjdGlvbj0iamF2YXNjcmlwdDpidXR0b25BdXRoZW50aWNhdGVfb25jbGljaygpOyI+
CjxUQUJMRSBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjAiIGJvcmRlcj0iMCI+CjxUQk9E
WT48VFI+PFREIHZhbGlnbj0idG9wIj4KPFNQQU4gY2xhc3M9Im1zZ0hlYWRlciI+U2lnbiBJbjwv
U1BBTj48QlI+ClBsZWFzZSBzaWduIGluIHVzaW5nIHlvdXIgUmhhcHNvZHkgYWNjb3VudC48QlI+
CjxCUiBjbGFzcz0idjEwIj4KPERJViBpZD0iZXJyb3JMb2dpbiI+PC9ESVY+CkUtbWFpbCBBZGRy
ZXNzPEJSPgo8SU5QVVQgdHlwZT0idGV4dCIgaWQ9InVzZXJuYW1lIj48QlI+CjxCUiBjbGFzcz0i
djEwIj4KUGFzc3dvcmQ8QlI+CjxJTlBVVCB0eXBlPSJwYXNzd29yZCIgaWQ9InBhc3N3b3JkIj48
QlI+CjxJTlBVVCB0eXBlPSJjaGVja2JveCIgaWQ9InNhdmVwYXNzd29yZCIgbmFtZT0ic2F2ZXBh
c3N3b3JkIj4gUmVtZW1iZXIgTWU/PEJSPgo8QlIgY2xhc3M9InYxMCI+CjxUQUJMRSBjZWxsc3Bh
Y2luZz0iMCI+CjxUQk9EWT48VFI+PFREIGlkPSJsb2dpbl9sdCIgY2xhc3M9IndodEJ0bkxlZnQi
IG9ubW91c2VvdmVyPSJyb2xsQnV0dG9uKCdvdmVyJywnYnRuX3dodCcsJ2xvZ2luJyk7IiBvbm1v
dXNlb3V0PSJyb2xsQnV0dG9uKCdvZmYnLCdidG5fd2h0JywnbG9naW4nKTsiIG9uY2xpY2s9InJv
bGxCdXR0b24oJ29uJywnYnRuX3dodCcsJ2xvZ2luJyk7YnV0dG9uQXV0aGVudGljYXRlX29uY2xp
Y2soKTsiPjwvVEQ+PFREIGlkPSJsb2dpbl9taWQiIGNsYXNzPSJ3aHRCdG5DZW50ZXIiIG5vd3Jh
cD0ibm93cmFwIiBvbm1vdXNlb3Zlcj0icm9sbEJ1dHRvbignb3ZlcicsJ2J0bl93aHQnLCdsb2dp
bicpOyIgb25tb3VzZW91dD0icm9sbEJ1dHRvbignb2ZmJywnYnRuX3dodCcsJ2xvZ2luJyk7IiBv
bmNsaWNrPSJyb2xsQnV0dG9uKCdvbicsJ2J0bl93aHQnLCdsb2dpbicpOyI+PElOUFVUIGlkPSJz
dWJtaXRidXR0b24iIHR5cGU9InN1Ym1pdCIgdmFsdWU9IkxvZ2luIiBzdHlsZT0iYmFja2dyb3Vu
ZC1jb2xvcjp0cmFuc3BhcmVudDsgYm9yZGVyOjA7IHBhZGRpbmc6MDsgbWFyZ2luOjAiPjwvVEQ+
PFREIGlkPSJsb2dpbl9ydCIgY2xhc3M9IndodEJ0blJpZ2h0IiBvbm1vdXNlb3Zlcj0icm9sbEJ1
dHRvbignb3ZlcicsJ2J0bl93aHQnLCdsb2dpbicpOyIgb25tb3VzZW91dD0icm9sbEJ1dHRvbign
b2ZmJywnYnRuX3dodCcsJ2xvZ2luJyk7IiBvbmNsaWNrPSJyb2xsQnV0dG9uKCdvbicsJ2J0bl93
aHQnLCdsb2dpbicpO2J1dHRvbkF1dGhlbnRpY2F0ZV9vbmNsaWNrKCk7Ij48L1REPjwvVFI+PC9U
Qk9EWT48L1RBQkxFPgo8QlI+CjxESVYgY2xhc3M9ImxpbmU5OTkiPjxCUiBjbGFzcz0idjEiPjwv
RElWPgo8QlIgY2xhc3M9InYxMCI+CjxTVFJPTkc+Rm9yZ2V0IHlvdXIgcGFzc3dvcmQ/PC9TVFJP
Tkc+PEJSPgo8QSBocmVmPSJodHRwczovL3N0b3JlLnJlYWwuY29tL2Z5cC9Qcm9jZXNzLnJuY2U/
dHlwZT1mb3JnZXRQd2QmbGFuZ3VhZ2Vjb2RlPUVOJmNvdW50cnljb2RlPVVTIiB0YXJnZXQ9Im5l
d1dpbiIgY2xhc3M9ImxpZ2h0Qmx1ZSI+Q2xpY2sgSGVyZTwvQT48QlI+CjxCUiBjbGFzcz0idjEw
Ij4KPFNUUk9ORz5Eb24ndCBoYXZlIGEgUmhhcHNvZHkgYWNjb3VudD88L1NUUk9ORz48QlI+CjxT
Q1JJUFQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KaWYgKGxvY2F0aW9uLmdldFBhcmFtZXRlcign
dHlwZScpKSB7CmRvY3VtZW50LndyaXRlKCc8c3Ryb25nPjxhIGhyZWY9Ij9wYWdlaWQ9cm90dy5w
bGF5ZXItZGVmYXVsdCZwYWdlcmVnaW9uPXBsYXllckJvZHkjIiBjbGFzcz0ibGlnaHRCbHVlIiBv
bmNsaWNrPSJjcmVhdGVBbm9uQWNjb3VudChudWxsLCBudWxsLCBudWxsLCBudWxsKTsgcmV0dXJu
IGZhbHNlOyI+UGxheSBOb3c8L3N0cm9uZz48L2E+PGJyIGNsYXNzPSJ2MTAiLz4nKTsKZG9jdW1l
bnQud3JpdGUoJ0RvblwndCB3YW50IHRvIGNyZWF0ZSBhbiBhY2NvdW50PyBKdXN0IHBsYXkhPGJy
Lz48YnIvPicpOwp9CjwvU0NSSVBUPjxTVFJPTkc+PEEgaHJlZj0iP3BhZ2VpZD1yb3R3LnBsYXll
ci1kZWZhdWx0JnBhZ2VyZWdpb249cGxheWVyQm9keSMiIGNsYXNzPSJsaWdodEJsdWUiIG9uY2xp
Y2s9ImNyZWF0ZUFub25BY2NvdW50KG51bGwsIG51bGwsIG51bGwsIG51bGwpOyByZXR1cm4gZmFs
c2U7Ij5QbGF5IE5vdzwvQT48L1NUUk9ORz48QSBocmVmPSI/cGFnZWlkPXJvdHcucGxheWVyLWRl
ZmF1bHQmcGFnZXJlZ2lvbj1wbGF5ZXJCb2R5IyIgY2xhc3M9ImxpZ2h0Qmx1ZSIgb25jbGljaz0i
Y3JlYXRlQW5vbkFjY291bnQobnVsbCwgbnVsbCwgbnVsbCwgbnVsbCk7IHJldHVybiBmYWxzZTsi
PjwvQT48QlIgY2xhc3M9InYxMCI+RG9uJ3Qgd2FudCB0byBjcmVhdGUgYW4gYWNjb3VudD8gSnVz
dCBwbGF5ITxCUj48QlI+CjxTVFJPTkc+PEEgaHJlZj0iP3BhZ2VpZD1yb3R3LnBsYXllci1kZWZh
dWx0JnBhZ2VyZWdpb249cGxheWVyQm9keSMiIGNsYXNzPSJsaWdodEJsdWUiIG9uY2xpY2s9Imxv
Y2F0aW9uLnJlcGxhY2Uoc2lnblVwVVJMK2xvY2F0aW9uLnNlYXJjaCk7IHJldHVybiBmYWxzZTsi
PkNyZWF0ZSBhbiBBY2NvdW50PC9BPjwvU1RST05HPjxCUiBjbGFzcz0idjEwIj4KSXQgdGFrZXMg
bWVyZSBtb21lbnRzIGFuZCBsZXRzIHlvdSBjaG9vc2UgaG93IG11Y2ggbXVzaWMgeW91IGNhbiBh
Y2Nlc3MuPC9URD48L1RSPjwvVEJPRFk+PC9UQUJMRT4KPC9GT1JNPgo8RElWIGlkPSJtc2dGdHJQ
YWQiPgo8QSBocmVmPSJodHRwOi8vcmhhcHJlZy5yZWFsLmNvbS9yaGFwc29keV9wYWdlcy9wb2xp
Y3kuanNwP3BvbGljeT1wcml2YWN5IiB0YXJnZXQ9Im5ld1dpbiIgY2xhc3M9ImJsYWNrIj5Qcml2
YWN5IFBvbGljeTwvQT7CoHzCoDxBIGhyZWY9Imh0dHA6Ly9yaGFwcmVnLnJlYWwuY29tL3JoYXBz
b2R5X3BhZ2VzL3BvbGljeS5qc3A/cG9saWN5PXRlcm1zIiB0YXJnZXQ9Im5ld1dpbiIgY2xhc3M9
ImJsYWNrIj5UZXJtcyAmYW1wOyBDb25kaXRpb25zPC9BPjxCUj4KPFNQQU4gY2xhc3M9Im1zZ0Z0
ciI+CsKpMTk5OS0yMDA1IExpc3Rlbi5jb20sIEluYy48QlI+CkEgc3Vic2lkaWFyeSBvZiBSZWFs
TmV0d29ya3MsIEluYy48QlI+CjwvU1BBTj4KPC9ESVY+CjwvRElWPgo8RElWIGlkPSJjcmVhdGVB
bm9uQWNjb3VudCIgc3R5bGU9ImRpc3BsYXk6IG5vbmU7IHZpc2liaWxpdHk6IGhpZGRlbjsgIj4K
PEJSIGNsYXNzPSJ2MTAiPgo8U1BBTiBjbGFzcz0ibXNnSGVhZGVyIj5BY3RpdmF0aW5nIFBsYXll
cjwvU1BBTj48QlI+CjxESVYgY2xhc3M9Im1zZ0JvZHkiPgo8U1BBTiBjbGFzcz0iYmR5Ij5QbGVh
c2Ugd2FpdCB3aGlsZSB3ZSBhY3RpdmF0ZSB5b3VyIHBsYXliYWNrIGV4cGVyaWVuY2UuPC9TUEFO
Pgo8L0RJVj48QlI+PEJSPgo8L0RJVj4KPERJViBpZD0iY3JlYXRlQW5vbkFjY291bnRFcnJvciIg
c3R5bGU9ImRpc3BsYXk6IG5vbmU7IHZpc2liaWxpdHk6IGhpZGRlbjsgIj4KPEJSIGNsYXNzPSJ2
MTAiPgo8U1BBTiBjbGFzcz0ibXNnSGVhZGVyIj5FcnJvciBBY3RpdmF0aW5nIFBsYXllcjwvU1BB
Tj48QlI+CjxESVYgY2xhc3M9Im1zZ0JvZHkiPjxTUEFOIGNsYXNzPSJiZHkiPgpXaG9vcHMuLi4g
dGhlcmUncyBiZWVuIGFuIGVycm9yIGFjdGl2YXRpbmcgeW91ciBwbGF5YmFjayBleHBlcmllbmNl
LjwvU1BBTj48L0RJVj4KPEJSPjxCUj4KPERJViBjbGFzcz0iYnRuQWZ0ZXIiPgo8QSBocmVmPSIj
IiBvbmNsaWNrPSJzaG93TG9naW4oKTsgcmV0dXJuIGZhbHNlOyI+UGxlYXNlIFRyeSBBZ2Fpbjwv
QT4KPC9ESVY+CjxCUj48QlI+Cgo8RElWIGNsYXNzPSJmdHJQYWQiPgo8VEFCTEUgYm9yZGVyPSIw
IiBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjAiPgo8VEJPRFk+PFRSPjxURCBjbGFzcz0i
Y2xvc2UiPjxBIGhyZWY9ImphdmFzY3JpcHQ6d2luZG93LmNsb3NlKCkiPjxJTUcgd2lkdGg9Ijki
IGhlaWdodD0iOSIgYm9yZGVyPSIwIiBzcmM9Imh0dHA6Ly9zdGF0aWMucmVhbG9uZS5jb20vcm90
dy9wbGF5ZXJpbWFnZXMvaWNuX2Nsb3NlLmdpZiIgYWx0PSJDbG9zZSBXaW5kb3ciPjwvQT48L1RE
PjxURCBjbGFzcz0iY2xvc2UiPsKgPEEgaHJlZj0iamF2YXNjcmlwdDp3aW5kb3cuY2xvc2UoKSIg
Y2xhc3M9ImxuayI+Q2xvc2UgV2luZG93PC9BPjwvVEQ+PC9UUj48L1RCT0RZPjwvVEFCTEU+Cjwv
RElWPgoKPC9ESVY+CjxESVYgaWQ9InNpZ25vdXQiPgo8QlIgY2xhc3M9InYxMCI+CjxGT1JNIG5h
bWU9InNpZ25vdXRmb3JtIj4KPFRBQkxFIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMCIg
Ym9yZGVyPSIwIj4KPFRCT0RZPjxUUj48VEQgdmFsaWduPSJ0b3AiPgo8U1BBTiBjbGFzcz0ibXNn
SGVhZGVyIj5TaWduIE91dDwvU1BBTj48QlI+CllvdSBoYXZlIGJlZW4gc3VjZXNzZnVsbHkgc2ln
bmVkIG91dC48QlI+CjxCUj4KPElOUFVUIHR5cGU9ImNoZWNrYm94IiBpZD0ic2lnbm91dFJlbWVt
YmVyTWUiIG9uY2xpY2s9InNpZ25PdXRSZW1lbWJlck1lQm94Q2hhbmdlZD10cnVlOyI+ClJlbWVt
YmVyIG1lIG9uIHRoaXMgY29tcHV0ZXIuCjxCUj48QlI+CjxUQUJMRSBjZWxsc3BhY2luZz0iMCI+
CjxUQk9EWT48VFI+PFREIGlkPSJsb2dpbl9sdCIgY2xhc3M9IndodEJ0bkxlZnQiIG9ubW91c2Vv
dmVyPSJyb2xsQnV0dG9uKCdvdmVyJywnYnRuX3dodCcsJ2xvZ2luJyk7IiBvbm1vdXNlb3V0PSJy
b2xsQnV0dG9uKCdvZmYnLCdidG5fd2h0JywnbG9naW4nKTsiIG9uY2xpY2s9InJvbGxCdXR0b24o
J29uJywnYnRuX3dodCcsJ2xvZ2luJyk7c2V0UmVtZW1iZXJPblNpZ25PdXQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoJ3NpZ25vdXRSZW1lbWJlck1lJykuY2hlY2tlZCk7IHNlbGYuY2xvc2UoKTsi
PjwvVEQ+PFREIGlkPSJsb2dpbl9taWQiIGNsYXNzPSJ3aHRCdG5DZW50ZXIiIG5vd3JhcD0ibm93
cmFwIiBvbm1vdXNlb3Zlcj0icm9sbEJ1dHRvbignb3ZlcicsJ2J0bl93aHQnLCdsb2dpbicpOyIg
b25tb3VzZW91dD0icm9sbEJ1dHRvbignb2ZmJywnYnRuX3dodCcsJ2xvZ2luJyk7IiBvbmNsaWNr
PSJyb2xsQnV0dG9uKCdvbicsJ2J0bl93aHQnLCdsb2dpbicpOyI+PEEgaHJlZj0iIyIgb25jbGlj
az0ic2V0UmVtZW1iZXJPblNpZ25PdXQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3NpZ25vdXRS
ZW1lbWJlck1lJykuY2hlY2tlZCk7IHNlbGYuY2xvc2UoKTsiIGNsYXNzPSJ3aHRCdG5DZW50ZXJB
Ij5DbG9zZTwvQT48L1REPjxURCBpZD0ibG9naW5fcnQiIGNsYXNzPSJ3aHRCdG5SaWdodCIgb25t
b3VzZW92ZXI9InJvbGxCdXR0b24oJ292ZXInLCdidG5fd2h0JywnbG9naW4nKTsiIG9ubW91c2Vv
dXQ9InJvbGxCdXR0b24oJ29mZicsJ2J0bl93aHQnLCdsb2dpbicpOyIgb25jbGljaz0icm9sbEJ1
dHRvbignb24nLCdidG5fd2h0JywnbG9naW4nKTtzZXRSZW1lbWJlck9uU2lnbk91dChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgnc2lnbm91dFJlbWVtYmVyTWUnKS5jaGVja2VkKTsgc2VsZi5jbG9z
ZSgpOyI+PC9URD48L1RSPjwvVEJPRFk+PC9UQUJMRT4KPC9URD48L1RSPjwvVEJPRFk+PC9UQUJM
RT4KPC9GT1JNPgo8L0RJVj4KPERJViBpZD0ic2lnbmluY29uZmxpY3QiIHN0eWxlPSJkaXNwbGF5
OiBub25lOyB2aXNpYmlsaXR5OiBoaWRkZW47ICI+CjxTUEFOIGNsYXNzPSJtc2dIZWFkZXIiPlNJ
R04gSU4gQ09ORkxJQ1QgPC9TUEFOPjxCUj4KPEJSPjxCUj4KPERJViBjbGFzcz0ibXNnQm9keSI+
PFNQQU4gY2xhc3M9ImJkeSI+ClRoaXMgc2VydmljZSBvbmx5IHN1cHBvcnRzIG9uZSBhY3RpdmUg
bG9naW4gdG8gZWl0aGVyIHRoZSBmdWxsIFJoYXBzb2R5IGFwcGxpY2F0aW9uIG9yIHRoZSBicm93
c2VyLWJhc2VkIFJoYXBzb2R5IHNlcnZpY2UuIEluIG9yZGVyIHRvIHBsYXkgbm93LCB5b3UgbmVl
ZCB0byBjbGljayBvbiAiUGxlYXNlIFRyeSBBZ2FpbiIgYmVsb3cgdG8gZGVhY3RpdmF0ZSBhbnkg
b3RoZXIgYWN0aXZlIHNlc3Npb25zLgo8L1NQQU4+PC9ESVY+CjxESVYgY2xhc3M9ImJ0bkFmdGVy
Ij4KCjxBIGhyZWY9IiMiIG9uY2xpY2s9InNob3dUaGlzKCdwbGF5ZXJIZWFkZXInKTsgc2hvd0xv
Z2luKCk7IHJldHVybiBmYWxzZTsiPlBsZWFzZSBUcnkgQWdhaW48L0E+Cgo8L0RJVj4KPEJSPjxC
Uj4KCjxESVYgY2xhc3M9ImZ0clBhZCI+CjxUQUJMRSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIw
IiBjZWxsc3BhY2luZz0iMCI+CjxUQk9EWT48VFI+PFREIGNsYXNzPSJjbG9zZSI+PEEgaHJlZj0i
amF2YXNjcmlwdDp3aW5kb3cuY2xvc2UoKSI+PElNRyB3aWR0aD0iOSIgaGVpZ2h0PSI5IiBib3Jk
ZXI9IjAiIHNyYz0iaHR0cDovL3N0YXRpYy5yZWFsb25lLmNvbS9yb3R3L3BsYXllcmltYWdlcy9p
Y25fY2xvc2UuZ2lmIiBhbHQ9IkNsb3NlIFdpbmRvdyI+PC9BPjwvVEQ+PFREIGNsYXNzPSJjbG9z
ZSI+wqA8QSBocmVmPSJqYXZhc2NyaXB0OndpbmRvdy5jbG9zZSgpIiBjbGFzcz0ibG5rIj5DbG9z
ZSBXaW5kb3c8L0E+PC9URD48L1RSPjwvVEJPRFk+PC9UQUJMRT4KPC9ESVY+Cgo8L0RJVj4KPERJ
ViBpZD0idGltZWRvdXQiIHN0eWxlPSJkaXNwbGF5OiBub25lOyB2aXNpYmlsaXR5OiBoaWRkZW47
ICI+CjxTUEFOIGNsYXNzPSJtc2dIZWFkZXIiPlNFU1NJT04gSEFTIFRJTUVEIE9VVDwvU1BBTj48
QlI+CjxESVYgY2xhc3M9Im1zZ0JvZHkiPjxTUEFOIGNsYXNzPSJiZHkiPgpZb3UgaGF2ZSBiZWVu
IGxvZ2dlZCBvdXQgb2YgUmhhcHNvZHkgZHVlIHRvIGEgbG9uZyBwZXJpb2Qgb2YgaW5hY3Rpdml0
eSB3aXRoIHRoZSBzZXJ2aWNlLiBJbiBvcmRlciB0byBjb250aW51ZSBwbGF5aW5nLCB5b3UgbmVl
ZCB0byBjbGljayBvbiAiUGxlYXNlIFRyeSBBZ2FpbiIgYmVsb3cuCjwvU1BBTj48L0RJVj4KPEJS
PjxCUj4KPERJViBjbGFzcz0iYnRuQWZ0ZXIiPgo8QSBocmVmPSIjIiBvbmNsaWNrPSJzaG93VGhp
cygncGxheWVySGVhZGVyJyk7IGluaXQoKTsgcmV0dXJuIGZhbHNlOyI+UGxlYXNlIFRyeSBBZ2Fp
bjwvQT4KPC9ESVY+CjxCUj48QlI+Cgo8RElWIGNsYXNzPSJmdHJQYWQiPgo8VEFCTEUgYm9yZGVy
PSIwIiBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjAiPgo8VEJPRFk+PFRSPjxURCBjbGFz
cz0iY2xvc2UiPjxBIGhyZWY9ImphdmFzY3JpcHQ6d2luZG93LmNsb3NlKCkiPjxJTUcgd2lkdGg9
IjkiIGhlaWdodD0iOSIgYm9yZGVyPSIwIiBzcmM9Imh0dHA6Ly9zdGF0aWMucmVhbG9uZS5jb20v
cm90dy9wbGF5ZXJpbWFnZXMvaWNuX2Nsb3NlLmdpZiIgYWx0PSJDbG9zZSBXaW5kb3ciPjwvQT48
L1REPjxURCBjbGFzcz0iY2xvc2UiPsKgPEEgaHJlZj0iamF2YXNjcmlwdDp3aW5kb3cuY2xvc2Uo
KSIgY2xhc3M9ImxuayI+Q2xvc2UgV2luZG93PC9BPjwvVEQ+PC9UUj48L1RCT0RZPjwvVEFCTEU+
CjwvRElWPgoKPC9ESVY+CjxESVYgaWQ9ImdlbmVyYWxQbGF5ZXJFcnJvciIgc3R5bGU9ImRpc3Bs
YXk6IG5vbmU7IHZpc2liaWxpdHk6IGhpZGRlbjsgIj4KPFNQQU4gY2xhc3M9Im1zZ0hlYWRlciI+
VEVDSE5JQ0FMIEVSUk9SPC9TUEFOPjxCUj4KPERJViBjbGFzcz0ibXNnQm9keSI+PFNQQU4gY2xh
c3M9ImJkeSI+CkEgdGVjaG5pY2FsIGVycm9yIGhhcyBvY2N1cnJlZCB3aXRoIFJoYXBzb2R5LiBQ
bGVhc2UgY2xpY2sgb24gdGhlIGJ1dHRvbiBiZWxvdyB0byByZWNvbm5lY3QgdG8gdGhlIHNlcnZp
Y2UuCjwvU1BBTj48L0RJVj4KPEJSPjxCUj4KPERJViBjbGFzcz0iYnRuQWZ0ZXIiPgoKPEEgaHJl
Zj0iIyIgb25jbGljaz0ic2hvd1RoaXMoJ3BsYXllckhlYWRlcicpOyBzaG93TG9naW4oKTsgcmV0
dXJuIGZhbHNlOyI+UGxlYXNlIFRyeSBBZ2FpbjwvQT4KCjwvRElWPgo8QlI+PEJSPgo8RElWIGNs
YXNzPSJmdHJQYWQiPgo8VEFCTEUgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNp
bmc9IjAiPgo8VEJPRFk+PFRSPjxURCBjbGFzcz0iY2xvc2UiPjxBIGhyZWY9ImphdmFzY3JpcHQ6
d2luZG93LmNsb3NlKCkiPjxJTUcgd2lkdGg9IjkiIGhlaWdodD0iOSIgYm9yZGVyPSIwIiBzcmM9
Imh0dHA6Ly9zdGF0aWMucmVhbG9uZS5jb20vcm90dy9wbGF5ZXJpbWFnZXMvaWNuX2Nsb3NlLmdp
ZiIgYWx0PSJDbG9zZSBXaW5kb3ciPjwvQT48L1REPjxURCBjbGFzcz0iY2xvc2UiPsKgPEEgaHJl
Zj0iamF2YXNjcmlwdDp3aW5kb3cuY2xvc2UoKSIgY2xhc3M9ImxuayI+Q2xvc2UgV2luZG93PC9B
PjwvVEQ+PC9UUj48L1RCT0RZPjwvVEFCTEU+CjwvRElWPgo8L0RJVj4KPERJViBpZD0iYWQiIHN0
eWxlPSJkaXNwbGF5OiBibG9jazsgdmlzaWJpbGl0eTogdmlzaWJsZTsgIj4KPERJViBzdHlsZT0i
ZmxvYXQ6bGVmdDsgd2lkdGg6MTJweCI+CjxJTUcgd2lkdGg9IjEyIiBoZWlnaHQ9IjYwIiBib3Jk
ZXI9IjAiIHNyYz0iaHR0cDovL3N0YXRpYy5yZWFsb25lLmNvbS9yb3R3L3BsYXllcmltYWdlcy90
YWdfc3BvbnNvcmVkYnkuZ2lmIiBhbHQ9IiI+CjwvRElWPgo8RElWIHN0eWxlPSJmbG9hdDpsZWZ0
OyB3aWR0aDoyMzVweCI+CjxJRlJBTUUgaWQ9ImFkSWZyYW1lIiBzcmM9Imh0dHA6Ly9hZC5kb3Vi
bGVjbGljay5uZXQvYWRpL3JlYWwucmhhcC9oYWxmYmFubmVyL3N1YnBsYW4yNS87ZW52PXByb2R1
Y3Rpb247cGNvZGU9O2xvYz1wbGF5ZXI7cHJvZD1SaGFwc29keTthcnRpc3Q9NzMyNDtzdWJwbGFu
PTI1O3JlbWFpbmluZ1BsYXlzPTI0O2Fub249dHJ1ZTtwbXQ9bjt1c2VyZnJlZXBsYXk9eTtsb2dp
bj15O3N6PTIzNHg2MDtvcmQ9MTA2O3JoYXB3ZWI9eTsiIG1hcmdpbndpZHRoPSIwIiBtYXJnaW5o
ZWlnaHQ9IjAiIHZzcGFjZT0iMCIgaHNwYWNlPSIwIiBmcmFtZWJvcmRlcj0iMCIgc2Nyb2xsaW5n
PSJubyIgY2xhc3M9ImJhY2tncm91bmRmZmYiPjwvSUZSQU1FPgo8L0RJVj4KPC9ESVY+CjxTQ1JJ
UFQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KRGV0ZWN0UGx1Z2luQW5kU3dpdGNoRGl2cygpOwo8
L1NDUklQVD48T0JKRUNUIGlkPSJSaGFwWCIgd2lkdGg9IjAiIGhlaWdodD0iMCIgdHlwZT0iYXBw
bGljYXRpb24vcmhhcHNvZHktcGx1Z2luIiBjb2RlYmFzZT0iaHR0cDovL2Zvcm1zLnJlYWwuY29t
L3JlYWwvcGxheWVyL2Rvd25sb2FkLmh0bWw/Zj1tYWMvcmhhcHgvUmhhcHNvZHlQbGF5ZXJFbmdp
bmVJbnN0YWxsZXIuZG1nIj4gPFBBUkFNIG5hbWU9InNlcnZlciIgdmFsdWU9Imh0dHA6Ly9yaGFw
LWFwcC5yZWFsLmNvbS9yaGFwc2VydmVyIj4gPFBBUkFNIG5hbWU9ImNvbnNvbGVsb2ciIHZhbHVl
PSIweEYwMDMzIj4gPFBBUkFNIG5hbWU9ImZpbGVsb2ciIHZhbHVlPSIweEZGRkZGRkZGIj4gPFBB
UkFNIG5hbWU9ImZpbGVsb2dwYXRoIiB2YWx1ZT0iYzpccmhhcHhsb2cudHh0Ij48L09CSkVDVD4K
PFNDUklQVCBldmVudD0ib25BdXRoZW50aWNhdGVEb25lKHJlc3VsdCkiIGZvcj0iUmhhcFgiPgpv
bkF1dGhlbnRpY2F0ZURvbmUocmVzdWx0KTsKPC9TQ1JJUFQ+CjxTQ1JJUFQgZXZlbnQ9Im9uVHJh
Y2tPcGVuZWQodHJhY2tJZCkiIGZvcj0iUmhhcFgiPgpvblRyYWNrT3BlbmVkKHRyYWNrSWQpOwo8
L1NDUklQVD4KPFNDUklQVCBldmVudD0ib25UcmFja0Nsb3NlZCh0cmFja0lkKSIgZm9yPSJSaGFw
WCI+Cm9uVHJhY2tDbG9zZWQodHJhY2tJZCk7CjwvU0NSSVBUPgo8U0NSSVBUIGV2ZW50PSJvbkJ1
ZmZlcmluZ1Byb2dyZXNzKHBlcmNlbnRhZ2UpIiBmb3I9IlJoYXBYIj4Kb25CdWZmZXJpbmdQcm9n
cmVzcyhwZXJjZW50YWdlKTsKPC9TQ1JJUFQ+CjxTQ1JJUFQgZXZlbnQ9Im9uRG93bmxvYWRQcm9n
cmVzcyhwZXJjZW50YWdlKSIgZm9yPSJSaGFwWCI+Cm9uRG93bmxvYWRQcm9ncmVzcyhwZXJjZW50
YWdlKTsKPC9TQ1JJUFQ+CjxTQ1JJUFQgZXZlbnQ9Im9uUGxheVN0YXRlQ2hhbmdlZChvbGRTdGF0
ZSwgbmV3U3RhdGUpIiBmb3I9IlJoYXBYIj4Kb25QbGF5U3RhdGVDaGFuZ2VkKG9sZFN0YXRlLCBu
ZXdTdGF0ZSk7CjwvU0NSSVBUPgo8U0NSSVBUIGV2ZW50PSJvblBvc2l0aW9uQ2hhbmdlZChjdXJy
ZW50UG9zaXRpb24pIiBmb3I9IlJoYXBYIj4Kb25Qb3NpdGlvbkNoYW5nZWQoY3VycmVudFBvc2l0
aW9uKTsKPC9TQ1JJUFQ+CjxTQ1JJUFQgZXZlbnQ9Im9uRHVyYXRpb25DaGFuZ2VkKGN1cnJlbnRE
dXJhdGlvbikiIGZvcj0iUmhhcFgiPgpvbkR1cmF0aW9uQ2hhbmdlZChjdXJyZW50RHVyYXRpb24p
Owo8L1NDUklQVD4KPFNDUklQVCBldmVudD0ib25YbWxNZXNzYWdlRG9uZSh4bWwsIGVycm9yQ29k
ZSkiIGZvcj0iUmhhcFgiPgpvblhtbE1lc3NhZ2VEb25lKHhtbCwgZXJyb3JDb2RlKTsKPC9TQ1JJ
UFQ+CjxTQ1JJUFQgZXZlbnQ9Im9uU2VydmVyRXJyb3IoZXJyb3JDb2RlKSIgZm9yPSJSaGFwWCI+
Cm9uU2VydmVyRXJyb3IoZXJyb3JDb2RlKTsKPC9TQ1JJUFQ+CjxTQ1JJUFQgZXZlbnQ9Im9uRXJy
b3IoZXJyb3JDb2RlKSIgZm9yPSJSaGFwWCI+Cm9uRXJyb3IoZXJyb3JDb2RlKTsKPC9TQ1JJUFQ+
CjxTQ1JJUFQgZXZlbnQ9Im9uSWRsZShpZGxlKSIgZm9yPSJSaGFwWCI+Cm9uSWRsZShpZGxlKTsK
PC9TQ1JJUFQ+CjxTQ1JJUFQgZXZlbnQ9Im9uTWV0YWRhdGFSZWNlaXZlZCh0cmFja0lkKSIgZm9y
PSJSaGFwWCI+Cm9uTWV0YWRhdGFSZWNlaXZlZCh0cmFja0lkKTsKPC9TQ1JJUFQ+CjxTQ1JJUFQg
dHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Imh0dHA6Ly9zdGF0aWMucmVhbG9uZS5jb20vcm90
dy9qcy9wbGF5ZXJDb250cm9sLmpzP2JpZD05OTU5MzU5NTIiPjwvU0NSSVBUPgo8RElWIHN0eWxl
PSJkaXNwbGF5Om5vbmU7Ij4KPElNRyBzcmM9Imh0dHA6Ly93d3cuaWZhY3R6LmNvbS90cmFja2lu
Zy90cmFjay5hc3A/T2ZmZXJTaG9ydE5hbWU9UkhBUFdFQjEmcDE9MyUyMCUyRCUyMFJoYXBzb2R5
K1BsYXllciZxMT0xIiBoZWlnaHQ9IjEiIHdpZHRoPSIxIj4KPC9ESVY+Cgo8L0JPRFk+PC9IVE1M
PlVVVEYtOFpyaGFwUGxheWVyXxCDaHR0cDovL3d3dy5yaGFwc29keS5jb20vcGxheWVyP3R5cGU9
dHJhY2smaWQ9MTA2NDg4NjcmdGl0bGU9Ry4rTG92ZSZyZW1vdGU9ZmFsc2UmcGFnZT1udWxsJnBh
Z2VyZWdpb249bnVsbCZndWlkPW51bGwmZnJvbT11bmRlZmluZWShptECp9UJB56fCKCooqmqTxA7
PEhUTUw+PEJPRFkgbWFyZ2lud2lkdGg9IjAiIG1hcmdpbmhlaWdodD0iMCI+PC9CT0RZPjwvSFRN
TD5YYWRJZnJhbWVbYWJvdXQ6YmxhbmsAAAgAAA8AACEAADMAAEkAAHIAAHsAAJEAAKMAALIAAMgA
BUYAP3UAP7IAP80AP9YARFEAXHsAXLcAXMAAYToAqHkAqLMAqLwArbIA1kQA1n8A1pEA1poA2pgB
IVoBIYYBIY8BJfoBRIEBRL8BRMgBRNEBSUYBU7gBU/8BVAkBVBIBWHsBY+ABZBwBZCUBaJEBae8B
ai4BajcBbqUBb+0BcC8BcDgBdMoBfiYBfmMBfm4BfncBguUBhzkBh3kBh4IBi+4Bj0wBj4sBj5QB
lAgBlm4BlrUBlr4Bmy4BnaUBnegBnfEBol0Bo+8BpC4BpDcBqKMBqagBqegBqfEBrlwBr8gBsAYB
sA8BtHcBtU0BtYsBtZQBuf0ButQBuxIBuxsBv4MBwFoBwJgBwKEBxQoBxeEBxh8BxigBypABy2cB
y6UBy64B0BcB0O8B0S0B0TYB1Z4B1nYB1rQB1r0B2yYB2/4B3DwB3EUB4LAB4g4B4k0B4lYB5sMB
58gB6AgB6BEB7IMB7ZUB7doB7eMB8lIB854B8+EB8+oB+FEB+R4B+VsB+WQB/coB/gkB/kUB/k4B
/lcB/mAB/mkCAtUCA2YCA6gCA7ECCDQCK0QCK4cCK5ACMFoCMIACMOUCMPACMQ4CMSUCMS8DMEMD
MEkDMFQDMNoDMNwDMN8DMOoDMSgDMTEAAAAAAAADAQAAAAAAAACrAAAAAAAAAAAAAAAAAAMxPQ==
</data>

          </attachment>
      

    </bug>

</bugzilla>